From a6837d441a3301cf37d7bf32cbf7a98b3eec43ef Mon Sep 17 00:00:00 2001 From: =?utf8?q?Aur=C3=A9lien=20COUDERC?= Date: Mon, 1 Dec 2025 23:54:23 +0100 Subject: [PATCH] Import okular_25.11.90.orig.tar.xz [dgit import orig okular_25.11.90.orig.tar.xz] --- .clang-tidy | 11 + .craft.ini | 5 + .flatpak-manifest.json | 542 ++ .flatpak-patches/okular-mimetypes.patch | 12 + .../vlc-ignore-time-for-cache.patch | 26 + .flatpak-patches/vlc-taglib-2.patch | 63 + .git-blame-ignore-revs | 11 + .gitignore | 18 + .gitlab-ci.yml | 82 + .kde-ci.yml | 44 + .krazy | 1 + CMakeLists.txt | 670 ++ LICENSES/BSD-2-Clause.txt | 22 + LICENSES/BSD-3-Clause.txt | 11 + LICENSES/GFDL-1.2-or-later.txt | 130 + LICENSES/GPL-2.0-only.txt | 311 + LICENSES/GPL-2.0-or-later.txt | 311 + LICENSES/GPL-3.0-only.txt | 604 ++ LICENSES/GPL-3.0-or-later.txt | 604 ++ LICENSES/LGPL-2.0-only.txt | 444 + LICENSES/LGPL-2.0-or-later.txt | 444 + LICENSES/LicenseRef-KDE-Accepted-GPL.txt | 12 + LICENSES/MIT.txt | 9 + LICENSES/X11.txt | 13 + Mainpage.dox | 902 ++ Messages.sh | 7 + Okular6Config.cmake.in | 14 + OkularConfigureChecks.cmake | 22 + README.clang-format | 14 + README.internals.png | Bin 0 -> 33807 bytes README.md | 85 + TODO | 274 + _clang-format | 70 + aboutdata.h | 43 + autotests/CMakeLists.txt | 167 + autotests/addremoveannotationtest.cpp | 188 + autotests/annotationstest.cpp | 160 + autotests/annotationtoolbartest.cpp | 418 + autotests/calculatetexttest.cpp | 116 + autotests/check_distinguished_name_parser.cpp | 169 + autotests/closedialoghelper.cpp | 51 + autotests/closedialoghelper.h | 39 + autotests/data/1500x300.png | Bin 0 -> 303461 bytes autotests/data/300x1500.png | Bin 0 -> 71065 bytes autotests/data/RequestFullScreen.pdf | Bin 0 -> 4903 bytes autotests/data/additionalFormActions.pdf | Bin 0 -> 45857 bytes autotests/data/checkbox_ro.pdf | Bin 0 -> 41601 bytes autotests/data/contents.epub | Bin 0 -> 3158 bytes autotests/data/fake_okular_certstore/cert9.db | Bin 0 -> 28672 bytes autotests/data/fake_okular_certstore/key4.db | Bin 0 -> 36864 bytes .../data/fake_okular_certstore/pkcs11.txt | 5 + autotests/data/fieldFormat.pdf | Bin 0 -> 15064 bytes autotests/data/file1-docdata.xml | 427 + autotests/data/file1.pdf | Bin 0 -> 15605 bytes autotests/data/file1.pdf.gz | Bin 0 -> 15351 bytes autotests/data/file2.pdf | Bin 0 -> 188546 bytes autotests/data/formSamples.pdf | Bin 0 -> 27196 bytes autotests/data/formattest.pdf | Bin 0 -> 37060 bytes autotests/data/hello_with_dummy_signature.pdf | Bin 0 -> 11379 bytes autotests/data/imageSizes.md | 77 + autotests/data/imageUrlsWithSpecialChars.md | 3 + "autotests/data/kart\303\266ffelchen.jpg" | Bin 0 -> 34999 bytes autotests/data/keystroketest.pdf | Bin 0 -> 13971 bytes autotests/data/kjsfunctionstest.pdf | Bin 0 -> 83477 bytes autotests/data/pdf_with_internal_links.pdf | Bin 0 -> 60899 bytes autotests/data/pdf_with_internal_links.tex | 9 + autotests/data/pdf_with_links.pdf | Bin 0 -> 13957 bytes autotests/data/pdf_with_signature.pdf | Bin 0 -> 74044 bytes autotests/data/potato.jpg | Bin 0 -> 34999 bytes autotests/data/protected.pdf | Bin 0 -> 16476 bytes autotests/data/simple-multipage.pdf | Bin 0 -> 18473 bytes autotests/data/simple-multipage.tex | 82 + autotests/data/simpleCalculate.pdf | Bin 0 -> 39797 bytes autotests/data/strikethrough.md | 9 + autotests/data/synctextest.pdf | Bin 0 -> 72032 bytes autotests/data/synctextest.synctex.gz | Bin 0 -> 8866 bytes autotests/data/synctextest.tex | 104 + autotests/data/tocreload.pdf | Bin 0 -> 17245 bytes autotests/data/visibilitytest.pdf | 718 ++ autotests/documenttest.cpp | 181 + autotests/editannotationcontentstest.cpp | 525 + autotests/editdrawingtooldialogtest.cpp | 45 + autotests/editdrawingtooldialogtest.h | 23 + autotests/editformstest.cpp | 418 + autotests/formattest.cpp | 304 + autotests/generatorstest.cpp | 69 + autotests/jsfunctionstest.cpp | 502 + autotests/keystroketest.cpp | 489 + autotests/mainshelltest.cpp | 724 ++ autotests/markdowntest.cpp | 214 + autotests/modifyannotationpropertiestest.cpp | 165 + autotests/parttest.cpp | 2486 +++++ autotests/searchtest.cpp | 430 + autotests/shelltest.cpp | 85 + autotests/signatureformtest.cpp | 58 + autotests/signunsignedfieldtest.cpp | 122 + autotests/suggestedfilenametest.cpp | 53 + autotests/testingutils.cpp | 53 + autotests/testingutils.h | 50 + autotests/toggleactionmenutest.cpp | 85 + autotests/translateannotationtest.cpp | 213 + autotests/urldetecttest.cpp | 55 + autotests/visibilitytest.cpp | 163 + cmake/modules/FindDiscount.cmake | 18 + cmake/modules/FindDjVuLibre.cmake | 39 + cmake/modules/FindEPub.cmake | 33 + cmake/modules/FindLibSpectre.cmake | 47 + conf/okular.kcfg | 439 + conf/okular_core.kcfg | 117 + conf/settings.kcfgc | 10 + conf/settings_core.kcfgc | 8 + conf/settings_mobile.kcfgc | 10 + config-okular.h.cmake | 26 + core/action.cpp | 608 ++ core/action.h | 618 ++ core/annotations.cpp | 3440 +++++++ core/annotations.h | 1873 ++++ core/annotations_p.h | 83 + core/area.cpp | 504 + core/area.h | 995 ++ core/audioplayer.cpp | 345 + core/audioplayer.h | 85 + core/bookmarkmanager.cpp | 739 ++ core/bookmarkmanager.h | 207 + core/chooseenginedialog.cpp | 55 + core/chooseenginedialog_p.h | 31 + core/chooseenginewidget.ui | 42 + core/debug.cpp | 9 + core/debug_p.h | 15 + core/document.cpp | 6236 ++++++++++++ core/document.h | 1719 ++++ core/document_p.h | 375 + core/documentcommands.cpp | 673 ++ core/documentcommands_p.h | 261 + core/fileprinter.cpp | 508 + core/fileprinter.h | 157 + core/fontinfo.cpp | 140 + core/fontinfo.h | 163 + core/form.cpp | 448 + core/form.h | 633 ++ core/form_p.h | 48 + core/generator.cpp | 836 ++ core/generator.h | 842 ++ core/generator_p.cpp | 167 + core/generator_p.h | 190 + core/global.h | 81 + core/misc.cpp | 45 + core/misc.h | 51 + core/movie.cpp | 178 + core/movie.h | 167 + core/observer.cpp | 52 + core/observer.h | 124 + core/page.cpp | 1086 +++ core/page.h | 429 + core/page_p.h | 175 + core/pagecontroller.cpp | 41 + core/pagecontroller_p.h | 43 + core/pagesize.cpp | 116 + core/pagesize.h | 80 + core/pagetransition.cpp | 131 + core/pagetransition.h | 136 + core/printoptionswidget.cpp | 33 + core/printoptionswidget.h | 53 + core/rotationjob.cpp | 130 + core/rotationjob_p.h | 82 + core/script/builtin.js | 647 ++ core/script/builtin.qrc | 5 + core/script/event.cpp | 328 + core/script/event_p.h | 135 + core/script/executor_js.cpp | 126 + core/script/executor_js_p.h | 36 + core/script/js_app.cpp | 408 + core/script/js_app_p.h | 74 + core/script/js_console.cpp | 82 + core/script/js_console_p.h | 27 + core/script/js_data.cpp | 58 + core/script/js_data_p.h | 46 + core/script/js_display.cpp | 36 + core/script/js_display_p.h | 35 + core/script/js_document.cpp | 242 + core/script/js_document_p.h | 79 + core/script/js_event.cpp | 145 + core/script/js_event_p.h | 59 + core/script/js_field.cpp | 419 + core/script/js_field_p.h | 68 + core/script/js_fullscreen.cpp | 42 + core/script/js_fullscreen_p.h | 33 + core/script/js_global.cpp | 16 + core/script/js_global_p.h | 25 + core/script/js_ocg.cpp | 39 + core/script/js_ocg_p.h | 36 + core/script/js_spell.cpp | 15 + core/script/js_spell_p.h | 25 + core/script/js_util.cpp | 150 + core/script/js_util_p.h | 29 + core/scripter.cpp | 72 + core/scripter.h | 43 + core/signatureutils.cpp | 507 + core/signatureutils.h | 596 ++ core/sound.cpp | 114 + core/sound.h | 124 + core/sourcereference.cpp | 104 + core/sourcereference.h | 60 + core/sourcereference_p.h | 23 + core/stamps.svg | 538 ++ .../patches/00-disable-SYNCTEX_INLINE.diff | 17 + .../patches/04-gcc-specify-printf-format.diff | 77 + .../patches/06-mingw-_synctex_error.diff | 36 + core/synctex/patches/08-fix_cpp_comments.diff | 37 + core/synctex/patches/10-fix-typo.diff | 17 + .../11-fix-unused-parameters-warnings.diff | 49 + .../patches/12-omit-no-file-warning.diff | 17 + .../patches/13-fix-Wundef-warnings.diff | 326 + .../14-fix-misc-compiler-warnings.diff | 62 + .../15-prevent-leaks-and-segfault.diff | 54 + .../16-use-windows-ansi-api-path-find.diff | 19 + .../patches/17-call-va_end-before-return.diff | 26 + ...lude-stdarg.h-for-va_start-and-va_end.diff | 37 + core/synctex/patches/series | 13 + core/synctex/synctex_parser.c | 8559 +++++++++++++++++ core/synctex/synctex_parser.h | 396 + core/synctex/synctex_parser_advanced.h | 457 + core/synctex/synctex_parser_local.h | 17 + core/synctex/synctex_parser_readme.md | 246 + core/synctex/synctex_parser_utils.c | 577 ++ core/synctex/synctex_parser_utils.h | 133 + core/synctex/synctex_parser_version.txt | 1 + core/textdocumentgenerator.cpp | 561 ++ core/textdocumentgenerator.h | 221 + core/textdocumentgenerator_p.h | 255 + core/textdocumentsettings.cpp | 70 + core/textdocumentsettings.h | 122 + core/textdocumentsettings.ui | 13 + core/textdocumentsettings_p.h | 50 + core/texteditors_p.h | 32 + core/textpage.cpp | 1748 ++++ core/textpage.h | 204 + core/textpage_p.h | 69 + core/tile.h | 53 + core/tilesmanager.cpp | 718 ++ core/tilesmanager_p.h | 214 + core/utils.cpp | 170 + core/utils.h | 55 + core/utils_p.h | 23 + core/view.cpp | 71 + core/view.h | 111 + core/view_p.h | 33 + cppcheck-suppressions.xml | 22 + doc/CMakeLists.txt | 5 + doc/annotation-properties.png | Bin 0 -> 15095 bytes doc/annotations.png | Bin 0 -> 42525 bytes doc/bookmark-management.png | Bin 0 -> 47171 bytes doc/bookmarks.png | Bin 0 -> 226 bytes doc/config-pdf-digital-signatures.png | Bin 0 -> 19223 bytes doc/configure-annotations.png | Bin 0 -> 26905 bytes doc/configure-backends.png | Bin 0 -> 15684 bytes doc/configure-editor.png | Bin 0 -> 16907 bytes doc/configure.png | Bin 0 -> 34064 bytes doc/embedded-files-bar.png | Bin 0 -> 3186 bytes doc/enhance-lowcontrast.png | Bin 0 -> 3753 bytes doc/enhance-shape.png | Bin 0 -> 4090 bytes doc/enhance-solid.png | Bin 0 -> 6491 bytes doc/enhance-thinline.png | Bin 0 -> 8225 bytes doc/forms-bar.png | Bin 0 -> 3694 bytes doc/index.docbook | 3044 ++++++ doc/mainwindow.png | Bin 0 -> 28233 bytes doc/man-okular.1.docbook | 143 + doc/presentation.png | Bin 0 -> 53804 bytes doc/signatures-bar.png | Bin 0 -> 2942 bytes doc/signatures-panel.png | Bin 0 -> 22494 bytes doc/tool-draw-arrow.png | Bin 0 -> 400 bytes doc/tool-draw-ellipse.png | Bin 0 -> 582 bytes doc/tool-draw-freehand.png | Bin 0 -> 621 bytes doc/tool-draw-highlight.png | Bin 0 -> 466 bytes doc/tool-draw-line.png | Bin 0 -> 376 bytes doc/tool-draw-polyline.png | Bin 0 -> 475 bytes doc/tool-draw-rectangle.png | Bin 0 -> 352 bytes doc/tool-edit-comment.png | Bin 0 -> 364 bytes doc/tool-edit-line-width.png | Bin 0 -> 350 bytes doc/tool-edit-opacity.png | Bin 0 -> 558 bytes doc/tool-favorite.png | Bin 0 -> 518 bytes doc/tool-fill-color.png | Bin 0 -> 621 bytes doc/tool-font-face.png | Bin 0 -> 578 bytes doc/tool-format-text-color.png | Bin 0 -> 407 bytes doc/tool-format-text-strikethrough.png | Bin 0 -> 581 bytes doc/tool-format-text-underline-squiggle.png | Bin 0 -> 538 bytes doc/tool-format-text-underline.png | Bin 0 -> 405 bytes doc/tool-note.png | Bin 0 -> 359 bytes doc/tool-pin.png | Bin 0 -> 431 bytes doc/tool-settings-configure.png | Bin 0 -> 416 bytes doc/tool-tag.png | Bin 0 -> 513 bytes doc/tool-tool-text.png | Bin 0 -> 351 bytes doc/tool-window-pin.png | Bin 0 -> 431 bytes generators/CMakeLists.txt | 54 + generators/comicbook/CMakeLists.txt | 43 + generators/comicbook/Messages.sh | 2 + .../comicbook/autotests/comicbooktest.cpp | 56 + .../comicbook/autotests/data/rotated_cb.cbz | Bin 0 -> 22493 bytes generators/comicbook/debug_comicbook.h | 14 + generators/comicbook/directory.cpp | 64 + generators/comicbook/directory.h | 53 + generators/comicbook/document.cpp | 264 + generators/comicbook/document.h | 55 + generators/comicbook/generator_comicbook.cpp | 89 + generators/comicbook/generator_comicbook.h | 37 + .../libokularGenerator_comicbook.json | 218 + .../okularApplication_comicbook.desktop | 247 + .../org.kde.mobile.okular_comicbook.desktop | 246 + .../org.kde.okular-comicbook.metainfo.xml | 139 + generators/comicbook/qnatsort.cpp | 157 + generators/comicbook/qnatsort.h | 41 + generators/comicbook/unrar.cpp | 282 + generators/comicbook/unrar.h | 74 + generators/comicbook/unrarflavours.cpp | 126 + generators/comicbook/unrarflavours.h | 82 + generators/djvu/CMakeLists.txt | 25 + generators/djvu/Messages.sh | 2 + generators/djvu/TODO | 10 + generators/djvu/generator_djvu.cpp | 403 + generators/djvu/generator_djvu.h | 56 + generators/djvu/kdjvu.cpp | 1090 +++ generators/djvu/kdjvu.h | 295 + generators/djvu/libokularGenerator_djvu.json | 216 + .../djvu/okularApplication_djvu.desktop | 259 + .../djvu/org.kde.mobile.okular_djvu.desktop | 253 + .../djvu/org.kde.okular-djvu.metainfo.xml | 136 + generators/dvi/CMakeLists.txt | 61 + generators/dvi/Messages.sh | 2 + generators/dvi/TeXFont.cpp | 8 + generators/dvi/TeXFont.h | 51 + generators/dvi/TeXFontDefinition.cpp | 252 + generators/dvi/TeXFontDefinition.h | 162 + generators/dvi/TeXFont_PFB.cpp | 296 + generators/dvi/TeXFont_PFB.h | 41 + generators/dvi/TeXFont_PK.cpp | 753 ++ generators/dvi/TeXFont_PK.h | 41 + generators/dvi/TeXFont_TFM.cpp | 146 + generators/dvi/TeXFont_TFM.h | 48 + generators/dvi/anchor.h | 69 + generators/dvi/bigEndianByteReader.cpp | 118 + generators/dvi/bigEndianByteReader.h | 59 + generators/dvi/config.h | 1 + generators/dvi/debug_dvi.h | 16 + generators/dvi/dvi.h | 68 + generators/dvi/dviFile.cpp | 449 + generators/dvi/dviFile.h | 168 + generators/dvi/dviPageInfo.cpp | 21 + generators/dvi/dviPageInfo.h | 47 + generators/dvi/dviRenderer.cpp | 715 ++ generators/dvi/dviRenderer.h | 341 + generators/dvi/dviRenderer_dr.cpp | 51 + generators/dvi/dviRenderer_draw.cpp | 645 ++ generators/dvi/dviRenderer_prescan.cpp | 820 ++ generators/dvi/dviexport.cpp | 305 + generators/dvi/dviexport.h | 137 + generators/dvi/dvisourcesplitter.cpp | 110 + generators/dvi/dvisourcesplitter.h | 43 + generators/dvi/fontEncoding.cpp | 103 + generators/dvi/fontEncoding.h | 89 + generators/dvi/fontEncodingPool.cpp | 41 + generators/dvi/fontEncodingPool.h | 33 + generators/dvi/fontMap.cpp | 174 + generators/dvi/fontMap.h | 119 + generators/dvi/fontpool.cpp | 486 + generators/dvi/fontpool.h | 219 + generators/dvi/generator_dvi.cpp | 520 + generators/dvi/generator_dvi.h | 66 + generators/dvi/glyph.cpp | 44 + generators/dvi/glyph.h | 47 + generators/dvi/hyperlink.h | 83 + generators/dvi/length.cpp | 75 + generators/dvi/length.h | 306 + generators/dvi/libokularGenerator_dvi.json | 215 + generators/dvi/okularApplication_dvi.desktop | 259 + .../dvi/org.kde.mobile.okular_dvi.desktop | 253 + .../dvi/org.kde.okular-dvi.metainfo.xml | 140 + generators/dvi/pageNumber.h | 83 + generators/dvi/pageSize.cpp | 356 + generators/dvi/pageSize.h | 279 + generators/dvi/prebookmark.h | 42 + generators/dvi/psgs.cpp | 365 + generators/dvi/psgs.h | 110 + generators/dvi/psheader.cpp | 129 + generators/dvi/simplePageSize.cpp | 48 + generators/dvi/simplePageSize.h | 202 + generators/dvi/special.cpp | 716 ++ generators/dvi/textBox.h | 69 + generators/dvi/util.cpp | 97 + generators/dvi/vf.cpp | 170 + generators/dvi/xdvi.h | 22 + generators/epub/CMakeLists.txt | 38 + generators/epub/Messages.sh | 2 + generators/epub/README | 10 + generators/epub/autotests/data/test.epub | Bin 0 -> 357713 bytes .../epub/autotests/epubgeneratortest.cpp | 77 + generators/epub/converter.cpp | 452 + generators/epub/converter.h | 40 + generators/epub/data/CMakeLists.txt | 5 + generators/epub/data/okular-epub-movie.png | Bin 0 -> 12616 bytes .../epub/data/okular-epub-sound-icon.png | Bin 0 -> 2194 bytes generators/epub/epubdocument.cpp | 164 + generators/epub/epubdocument.h | 50 + generators/epub/generator_epub.cpp | 33 + generators/epub/generator_epub.h | 23 + generators/epub/libokularGenerator_epub.json | 216 + .../epub/okularApplication_epub.desktop | 258 + .../epub/org.kde.mobile.okular_epub.desktop | 252 + .../epub/org.kde.okular-epub.metainfo.xml | 139 + generators/fax/CMakeLists.txt | 19 + generators/fax/Messages.sh | 2 + generators/fax/fax_debug.cpp | 7 + generators/fax/fax_debug.h | 12 + generators/fax/faxdocument.cpp | 304 + generators/fax/faxdocument.h | 59 + generators/fax/faxexpand.cpp | 738 ++ generators/fax/faxexpand.h | 114 + generators/fax/faxinit.cpp | 108 + generators/fax/generator_fax.cpp | 103 + generators/fax/generator_fax.h | 39 + generators/fax/libokularGenerator_fax.json | 217 + generators/fax/okularApplication_fax.desktop | 198 + .../fax/org.kde.mobile.okular_fax.desktop | 192 + .../fax/org.kde.okular-fax.metainfo.xml | 140 + generators/fictionbook/16-apps-okular-fb2.png | Bin 0 -> 969 bytes generators/fictionbook/32-apps-okular-fb2.png | Bin 0 -> 1045 bytes generators/fictionbook/48-apps-okular-fb2.png | Bin 0 -> 1395 bytes generators/fictionbook/CMakeLists.txt | 26 + generators/fictionbook/Messages.sh | 2 + generators/fictionbook/converter.cpp | 1137 +++ generators/fictionbook/converter.h | 82 + generators/fictionbook/document.cpp | 88 + generators/fictionbook/document.h | 38 + generators/fictionbook/generator_fb.cpp | 28 + generators/fictionbook/generator_fb.h | 24 + .../fictionbook/hi32-app-okular-fb2.svg | 200 + .../fictionbook/libokularGenerator_fb.json | 213 + .../fictionbook/okularApplication_fb.desktop | 258 + .../org.kde.mobile.okular_fb.desktop | 252 + .../org.kde.okular-fb.metainfo.xml | 139 + generators/kimgio/CMakeLists.txt | 29 + generators/kimgio/Messages.sh | 3 + generators/kimgio/generator_kimgio.cpp | 168 + generators/kimgio/generator_kimgio.h | 50 + .../kimgio/libokularGenerator_kimgio.json | 353 + .../kimgio/okularApplication_kimgio.desktop | 198 + .../org.kde.mobile.okular_kimgio.desktop | 192 + .../kimgio/org.kde.okular-kimgio.metainfo.xml | 162 + .../tests/data/testExifOrientation-0.jpg | Bin 0 -> 447 bytes .../data/testExifOrientation-0mirror.jpg | Bin 0 -> 457 bytes .../tests/data/testExifOrientation-180.jpg | Bin 0 -> 463 bytes .../data/testExifOrientation-180mirror.jpg | Bin 0 -> 456 bytes .../tests/data/testExifOrientation-270.jpg | Bin 0 -> 456 bytes .../data/testExifOrientation-270mirror.jpg | Bin 0 -> 447 bytes .../tests/data/testExifOrientation-90.jpg | Bin 0 -> 456 bytes .../data/testExifOrientation-90mirror.jpg | Bin 0 -> 462 bytes .../tests/data/testExifOrientation-noexif.jpg | Bin 0 -> 347 bytes .../data/testExifOrientation-unspecified.jpg | Bin 0 -> 367 bytes generators/kimgio/tests/kimgiotest.cpp | 114 + generators/markdown/CMakeLists.txt | 24 + generators/markdown/Messages.sh | 2 + generators/markdown/converter.cpp | 267 + generators/markdown/converter.h | 62 + generators/markdown/debug_md.h | 16 + generators/markdown/generator_md.cpp | 65 + generators/markdown/generator_md.h | 29 + .../markdown/libokularGenerator_md.json | 166 + .../markdown/okularApplication_md.desktop | 251 + .../markdown/org.kde.mobile.okular_md.desktop | 244 + .../markdown/org.kde.okular-md.metainfo.xml | 139 + generators/mobipocket/CMakeLists.txt | 23 + generators/mobipocket/Messages.sh | 2 + generators/mobipocket/converter.cpp | 119 + generators/mobipocket/converter.h | 31 + generators/mobipocket/generator_mobi.cpp | 28 + generators/mobipocket/generator_mobi.h | 25 + .../mobipocket/libokularGenerator_mobi.json | 216 + generators/mobipocket/mobidocument.cpp | 114 + generators/mobipocket/mobidocument.h | 54 + .../mobipocket/okularApplication_mobi.desktop | 256 + .../org.kde.mobile.okular_mobi.desktop | 192 + .../org.kde.okular-mobipocket.metainfo.xml | 160 + generators/poppler/CMakeLists.txt | 49 + generators/poppler/Messages.sh | 4 + generators/poppler/annots.cpp | 1271 +++ generators/poppler/annots.h | 44 + .../poppler/autotests/testimagescaling.cpp | 118 + generators/poppler/conf/CMakeLists.txt | 3 + generators/poppler/conf/pdfsettings.kcfg | 55 + generators/poppler/conf/pdfsettings.kcfgc | 4 + generators/poppler/conf/pdfsettingswidget.ui | 282 + generators/poppler/debug_pdf.h | 14 + generators/poppler/formfields.cpp | 549 ++ generators/poppler/formfields.h | 163 + generators/poppler/generator_pdf.cpp | 2285 +++++ generators/poppler/generator_pdf.h | 180 + generators/poppler/imagescaling.cpp | 26 + generators/poppler/imagescaling.h | 19 + .../poppler/libokularGenerator_poppler.json | 220 + .../poppler/okularApplication_pdf.desktop | 258 + .../poppler/org.kde.mobile.okular_pdf.desktop | 252 + .../org.kde.okular-poppler.metainfo.xml | 140 + generators/poppler/pdfsettingswidget.cpp | 225 + generators/poppler/pdfsettingswidget.h | 42 + generators/poppler/pdfsignatureutils.cpp | 254 + generators/poppler/pdfsignatureutils.h | 28 + generators/poppler/popplerembeddedfile.h | 57 + generators/spectre/16-apps-okular-gv.png | Bin 0 -> 160 bytes generators/spectre/32-apps-okular-gv.png | Bin 0 -> 259 bytes generators/spectre/CMakeLists.txt | 35 + generators/spectre/DESIGN | 12 + generators/spectre/Messages.sh | 4 + generators/spectre/conf/CMakeLists.txt | 3 + generators/spectre/conf/gssettings.kcfg | 16 + generators/spectre/conf/gssettings.kcfgc | 4 + generators/spectre/conf/gssettingswidget.ui | 61 + generators/spectre/generator_ghostview.cpp | 303 + generators/spectre/generator_ghostview.h | 73 + .../spectre/libokularGenerator_ghostview.json | 217 + .../okularApplication_ghostview.desktop | 256 + .../org.kde.mobile.okular_ghostview.desktop | 250 + .../org.kde.okular-spectre.metainfo.xml | 144 + generators/spectre/rendererthread.cpp | 127 + generators/spectre/rendererthread.h | 77 + generators/spectre/spectre_debug.cpp | 8 + generators/spectre/spectre_debug.h | 13 + generators/tiff/CMakeLists.txt | 20 + generators/tiff/Messages.sh | 2 + generators/tiff/generator_tiff.cpp | 410 + generators/tiff/generator_tiff.h | 47 + generators/tiff/libokularGenerator_tiff.json | 219 + .../tiff/okularApplication_tiff.desktop | 198 + .../tiff/org.kde.mobile.okular_tiff.desktop | 192 + .../tiff/org.kde.okular-tiff.metainfo.xml | 139 + generators/txt/CMakeLists.txt | 24 + generators/txt/Messages.sh | 2 + generators/txt/converter.cpp | 38 + generators/txt/converter.h | 27 + generators/txt/debug_txt.h | 15 + generators/txt/document.cpp | 46 + generators/txt/document.h | 27 + generators/txt/generator_txt.cpp | 28 + generators/txt/generator_txt.h | 26 + generators/txt/libokularGenerator_txt.json | 217 + generators/txt/okularApplication_txt.desktop | 257 + .../txt/org.kde.mobile.okular_txt.desktop | 251 + .../txt/org.kde.okular-txt.metainfo.xml | 136 + generators/xps/.emacs-dirvars | 12 + generators/xps/CMakeLists.txt | 21 + generators/xps/Messages.sh | 2 + generators/xps/generator_xps.cpp | 2133 ++++ generators/xps/generator_xps.h | 301 + generators/xps/libokularGenerator_xps.json | 326 + generators/xps/okularApplication_xps.desktop | 259 + .../xps/org.kde.mobile.okular_xps.desktop | 253 + .../xps/org.kde.okular-xps.metainfo.xml | 137 + gui/certificatemodel.cpp | 166 + gui/certificatemodel.h | 40 + gui/debug_ui.cpp | 9 + gui/debug_ui.h | 15 + gui/guiutils.cpp | 354 + gui/guiutils.h | 96 + gui/pagepainter.cpp | 1199 +++ gui/pagepainter.h | 181 + gui/priorities.h | 18 + gui/recentitemsmodel.cpp | 151 + gui/recentitemsmodel.h | 63 + gui/signatureguiutils.cpp | 222 + gui/signatureguiutils.h | 39 + gui/signaturemodel.cpp | 411 + gui/signaturemodel.h | 67 + gui/tocmodel.cpp | 496 + gui/tocmodel.h | 75 + hooks/pre-commit | 10 + icons/128-apps-okular.png | Bin 0 -> 11390 bytes icons/150-apps-okular.png | Bin 0 -> 16098 bytes icons/16-apps-okular.png | Bin 0 -> 662 bytes icons/22-apps-okular.png | Bin 0 -> 1118 bytes icons/310-apps-okular.png | Bin 0 -> 41485 bytes icons/32-apps-okular.png | Bin 0 -> 1910 bytes icons/44-apps-okular.png | Bin 0 -> 3004 bytes icons/48-apps-okular.png | Bin 0 -> 3324 bytes icons/512-apps-okular.png | Bin 0 -> 99155 bytes icons/64-apps-okular.png | Bin 0 -> 4617 bytes icons/CMakeLists.txt | 1 + icons/hisc-apps-okular.svgz | Bin 0 -> 14568 bytes icons/small/hi16-apps-okular.svgz | Bin 0 -> 4116 bytes icons/small/hi22-apps-okular.svgz | Bin 0 -> 10975 bytes interfaces/configinterface.h | 75 + interfaces/guiinterface.h | 66 + interfaces/printinterface.h | 70 + interfaces/saveinterface.h | 90 + interfaces/viewerinterface.h | 111 + kdocumentviewer.h | 57 + metainfo.yaml | 16 + mobile/CMakeLists.txt | 4 + mobile/android/AndroidManifest.xml | 47 + mobile/android/icon-playstore.png | 1 + mobile/android/res/drawable/icon.png | Bin 0 -> 11390 bytes mobile/android/src/OpenFileActivity.java | 74 + mobile/app/CMakeLists.txt | 76 + mobile/app/Messages.sh | 2 + mobile/app/android.cpp | 28 + mobile/app/android.h | 31 + mobile/app/main.cpp | 57 + .../app/org.kde.okular.kirigami.appdata.xml | 428 + mobile/app/package/metadata.desktop | 130 + mobile/app/ui/Bookmarks.qml | 28 + mobile/app/ui/CertificateViewerPage.qml | 169 + mobile/app/ui/Main.qml | 110 + mobile/app/ui/MainView.qml | 100 + mobile/app/ui/OkularDrawer.qml | 126 + mobile/app/ui/SignaturePropertiesPage.qml | 177 + mobile/app/ui/Signatures.qml | 60 + mobile/app/ui/TableOfContents.qml | 45 + mobile/app/ui/Thumbnails.qml | 36 + mobile/app/ui/ThumbnailsBase.qml | 82 + mobile/app/ui/TreeItem.qml | 77 + mobile/app/ui/TreeViewDecoration.qml | 113 + mobile/app/ui/WelcomeView.qml | 142 + mobile/components/CMakeLists.txt | 53 + mobile/components/DocumentView.qml | 292 + mobile/components/Messages.sh | 2 + mobile/components/documentitem.cpp | 299 + mobile/components/documentitem.h | 229 + mobile/components/okularsingleton.cpp | 37 + mobile/components/okularsingleton.h | 27 + mobile/components/pageitem.cpp | 404 + mobile/components/pageitem.h | 155 + mobile/components/private/PageView.qml | 93 + mobile/components/settings.h | 1 + mobile/components/test.qml | 37 + mobile/components/testDocumentView.qml | 21 + mobile/components/thumbnailitem.cpp | 17 + mobile/components/thumbnailitem.h | 22 + mobile/components/types.cpp | 4 + mobile/components/types.h | 25 + mobile/components/welcomeitem.cpp | 47 + mobile/components/welcomeitem.h | 31 + okular-cppcheck.xml | 9 + okular.categories | 16 + okular_part.json | 55 + part/CMakeLists.txt | 2 + part/DistinguishedNameParser.h | 327 + part/actionbar.cpp | 131 + part/actionbar.h | 38 + part/annotationactionhandler.cpp | 855 ++ part/annotationactionhandler.h | 52 + part/annotationmodel.cpp | 422 + part/annotationmodel.h | 48 + part/annotationpopup.cpp | 267 + part/annotationpopup.h | 89 + part/annotationpropertiesdialog.cpp | 181 + part/annotationpropertiesdialog.h | 46 + part/annotationproxymodels.cpp | 708 ++ part/annotationproxymodels.h | 150 + part/annotationtools.cpp | 242 + part/annotationtools.h | 122 + part/annotationwidgets.cpp | 858 ++ part/annotationwidgets.h | 283 + part/annotwindow.cpp | 489 + part/annotwindow.h | 82 + part/bookmarklist.cpp | 475 + part/bookmarklist.h | 66 + part/certificateviewer.cpp | 166 + part/certificateviewer.h | 40 + part/colormodemenu.cpp | 139 + part/colormodemenu.h | 71 + part/cursorwraphelper.cpp | 100 + part/cursorwraphelper.h | 96 + part/data/CMakeLists.txt | 45 + part/data/README.Icons | 13 + part/data/checkmark.png | Bin 0 -> 1303 bytes part/data/circle.png | Bin 0 -> 2036 bytes part/data/comment.png | Bin 0 -> 2205 bytes part/data/cross.png | Bin 0 -> 2200 bytes part/data/drawingtools.xml | 41 + part/data/help.png | Bin 0 -> 1717 bytes part/data/insert.png | Bin 0 -> 1711 bytes part/data/key.png | Bin 0 -> 1967 bytes part/data/newparagraph.png | Bin 0 -> 1927 bytes part/data/note.png | Bin 0 -> 1114 bytes part/data/paperclip.png | Bin 0 -> 1741 bytes part/data/paragraph.png | Bin 0 -> 2384 bytes part/data/pushpin.png | Bin 0 -> 5138 bytes part/data/rightarrow.png | Bin 0 -> 1553 bytes part/data/rightpointer.png | Bin 0 -> 1573 bytes part/data/sources/checkmark.svgz | Bin 0 -> 1509 bytes part/data/sources/circle.svgz | Bin 0 -> 2173 bytes part/data/sources/comment.svgz | Bin 0 -> 3922 bytes part/data/sources/cross.svgz | Bin 0 -> 1918 bytes part/data/sources/ghns.svg | 3106 ++++++ part/data/sources/help.svgz | Bin 0 -> 3098 bytes part/data/sources/insert.svgz | Bin 0 -> 3551 bytes part/data/sources/key.svgz | Bin 0 -> 4252 bytes part/data/sources/newparagraph.svgz | Bin 0 -> 3652 bytes part/data/sources/note.svgz | Bin 0 -> 2424 bytes part/data/sources/paragraph.svgz | Bin 0 -> 4731 bytes part/data/sources/rightarrow.svgz | Bin 0 -> 2989 bytes part/data/sources/rightpointer.svgz | Bin 0 -> 3299 bytes part/data/sources/star.svgz | Bin 0 -> 4110 bytes part/data/sources/tool-base-okular.svgz | Bin 0 -> 10758 bytes part/data/sources/tool-ellipse-okular.svgz | Bin 0 -> 18082 bytes .../tool-highlighter-okular-colorizable.svgz | Bin 0 -> 15084 bytes .../data/sources/tool-highlighter-okular.svgz | Bin 0 -> 22446 bytes .../sources/tool-ink-okular-colorizable.svgz | Bin 0 -> 5130 bytes part/data/sources/tool-ink-okular.svgz | Bin 0 -> 22334 bytes part/data/sources/tool-line-okular.svgz | Bin 0 -> 18071 bytes .../tool-note-inline-okular-colorizable.svgz | Bin 0 -> 5028 bytes .../data/sources/tool-note-inline-okular.svgz | Bin 0 -> 22703 bytes .../sources/tool-note-okular-colorizable.svgz | Bin 0 -> 13509 bytes part/data/sources/tool-note-okular.svgz | Bin 0 -> 30485 bytes part/data/sources/tool-polygon-okular.svgz | Bin 0 -> 18142 bytes part/data/sources/tool-stamp-okular.svgz | Bin 0 -> 25597 bytes .../tool-typewriter-okular-colorizable.svgz | Bin 0 -> 2611 bytes part/data/sources/tool-underline-okular.svgz | Bin 0 -> 18176 bytes part/data/sources/uparrow.svgz | Bin 0 -> 3070 bytes part/data/sources/upleftarrow.svgz | Bin 0 -> 3301 bytes part/data/star.png | Bin 0 -> 2725 bytes part/data/tool-base-okular.png | Bin 0 -> 870 bytes part/data/tool-base-okular@2x.png | Bin 0 -> 2342 bytes .../tool-highlighter-okular-colorizable.png | Bin 0 -> 2148 bytes ...tool-highlighter-okular-colorizable@2x.png | Bin 0 -> 5188 bytes part/data/tool-ink-okular-colorizable.png | Bin 0 -> 1770 bytes part/data/tool-ink-okular-colorizable@2x.png | Bin 0 -> 3744 bytes .../tool-note-inline-okular-colorizable.png | Bin 0 -> 515 bytes ...tool-note-inline-okular-colorizable@2x.png | Bin 0 -> 945 bytes part/data/tool-note-inline.png | Bin 0 -> 1478 bytes part/data/tool-note-okular-colorizable.png | Bin 0 -> 670 bytes part/data/tool-note-okular-colorizable@2x.png | Bin 0 -> 1524 bytes part/data/tool-note.png | Bin 0 -> 2393 bytes .../tool-typewriter-okular-colorizable.png | Bin 0 -> 397 bytes .../tool-typewriter-okular-colorizable@2x.png | Bin 0 -> 727 bytes part/data/tool_hl_orange.png | Bin 0 -> 1527 bytes part/data/tool_hl_pink.png | Bin 0 -> 1552 bytes part/data/tool_hl_yellow.png | Bin 0 -> 1552 bytes part/data/tool_ink_green.png | Bin 0 -> 1473 bytes part/data/tool_note.png | Bin 0 -> 1592 bytes part/data/tools.xml | 133 + part/data/toolsQuick.xml | 39 + part/data/uparrow.png | Bin 0 -> 1744 bytes part/data/upleftarrow.png | Bin 0 -> 1866 bytes part/dlgaccessibility.cpp | 197 + part/dlgaccessibility.h | 37 + part/dlgannotations.cpp | 55 + part/dlgannotations.h | 20 + part/dlgdebug.cpp | 30 + part/dlgdebug.h | 20 + part/dlgeditor.cpp | 100 + part/dlgeditor.h | 40 + part/dlggeneral.cpp | 247 + part/dlggeneral.h | 22 + part/dlgperformance.cpp | 90 + part/dlgperformance.h | 28 + part/dlgpresentation.cpp | 221 + part/dlgpresentation.h | 74 + part/drawingtoolactions.cpp | 247 + part/drawingtoolactions.h | 44 + part/editannottooldialog.cpp | 489 + part/editannottooldialog.h | 60 + part/editdrawingtooldialog.cpp | 143 + part/editdrawingtooldialog.h | 38 + part/embeddedfilesdialog.cpp | 198 + part/embeddedfilesdialog.h | 47 + part/extensions.cpp | 37 + part/extensions.h | 39 + part/fileprinterpreview.cpp | 158 + part/fileprinterpreview.h | 46 + part/findbar.cpp | 201 + part/findbar.h | 59 + part/formwidgets.cpp | 1478 +++ part/formwidgets.h | 359 + part/kleopatraintegration.cpp | 63 + part/kleopatraintegration.h | 36 + part/ktreeviewsearchline.cpp | 348 + part/ktreeviewsearchline.h | 169 + part/latexrenderer.cpp | 205 + part/latexrenderer.h | 43 + part/layers.cpp | 83 + part/layers.h | 52 + part/magnifierview.cpp | 175 + part/magnifierview.h | 45 + part/minibar.cpp | 590 ++ part/minibar.h | 181 + part/okmenutitle.cpp | 52 + part/okmenutitle.h | 20 + part/pageitemdelegate.cpp | 78 + part/pageitemdelegate.h | 30 + part/pagesizelabel.cpp | 33 + part/pagesizelabel.h | 37 + part/pageview.cpp | 5729 +++++++++++ part/pageview.h | 343 + part/pageviewannotator.cpp | 1801 ++++ part/pageviewannotator.h | 188 + part/pageviewmouseannotation.cpp | 665 ++ part/pageviewmouseannotation.h | 172 + part/pageviewutils.cpp | 385 + part/pageviewutils.h | 126 + part/part-viewermode.rc | 73 + part/part.cpp | 3916 ++++++++ part/part.h | 490 + part/part.qrc | 7 + part/part.rc | 150 + part/preferencesdialog.cpp | 80 + part/preferencesdialog.h | 59 + part/presentationsearchbar.cpp | 140 + part/presentationsearchbar.h | 44 + part/presentationwidget.cpp | 2345 +++++ part/presentationwidget.h | 179 + part/propertiesdialog.cpp | 515 + part/propertiesdialog.h | 93 + part/revisionviewer.cpp | 83 + part/revisionviewer.h | 30 + part/searchlineedit.cpp | 317 + part/searchlineedit.h | 94 + part/searchwidget.cpp | 101 + part/searchwidget.h | 46 + part/selectcertificatedialog.ui | 213 + part/side_reviews.cpp | 369 + part/side_reviews.h | 80 + part/sidebar.cpp | 194 + part/sidebar.h | 56 + part/signaturepanel.cpp | 144 + part/signaturepanel.h | 50 + part/signaturepartutils.cpp | 322 + part/signaturepartutils.h | 77 + part/signaturepartutilsimageitemdelegate.cpp | 69 + part/signaturepartutilsimageitemdelegate.h | 25 + part/signaturepartutilskconfig.h | 36 + part/signaturepartutilskeydelegate.cpp | 68 + part/signaturepartutilskeydelegate.h | 26 + part/signaturepartutilsmodel.h | 21 + part/signaturepartutilsrecentimagesmodel.cpp | 129 + part/signaturepartutilsrecentimagesmodel.h | 34 + part/signaturepropertiesdialog.cpp | 133 + part/signaturepropertiesdialog.h | 34 + part/signingcertificatelistmodel.cpp | 154 + part/signingcertificatelistmodel.h | 43 + part/snapshottaker.cpp | 45 + part/snapshottaker.h | 38 + part/thumbnaillist.cpp | 1024 ++ part/thumbnaillist.h | 100 + part/toc.cpp | 230 + part/toc.h | 73 + part/toggleactionmenu.cpp | 122 + part/toggleactionmenu.h | 117 + part/tts.cpp | 126 + part/tts.h | 38 + part/url_utils.h | 40 + part/videowidget.cpp | 517 + part/videowidget.h | 63 + part/widgetannottools.cpp | 173 + part/widgetannottools.h | 29 + part/widgetconfigurationtoolsbase.cpp | 98 + part/widgetconfigurationtoolsbase.h | 49 + part/widgetdrawingtools.cpp | 203 + part/widgetdrawingtools.h | 29 + po/ar/okular.po | 6600 +++++++++++++ po/ar/okular_comicbook.po | 58 + po/ar/okular_djvu.po | 138 + po/ar/okular_dvi.po | 733 ++ po/ar/okular_epub.po | 56 + po/ar/okular_fax.po | 45 + po/ar/okular_fictionbook.po | 84 + po/ar/okular_ghostview.po | 94 + po/ar/okular_kimgio.po | 71 + po/ar/okular_markdown.po | 53 + po/ar/okular_mobi.po | 61 + po/ar/okular_poppler.po | 426 + po/ar/okular_tiff.po | 28 + po/ar/okular_txt.po | 45 + po/ar/okular_xps.po | 59 + po/ar/org.kde.active.documentviewer.po | 212 + po/ast/okular.po | 5827 +++++++++++ po/ast/okular_comicbook.po | 44 + po/ast/okular_djvu.po | 95 + po/ast/okular_dvi.po | 461 + po/ast/okular_epub.po | 43 + po/ast/okular_fax.po | 33 + po/ast/okular_fictionbook.po | 68 + po/ast/okular_ghostview.po | 74 + po/ast/okular_kimgio.po | 40 + po/ast/okular_markdown.po | 53 + po/ast/okular_mobi.po | 49 + po/ast/okular_poppler.po | 366 + po/ast/okular_tiff.po | 28 + po/ast/okular_txt.po | 38 + po/ast/okular_xps.po | 33 + po/ast/org.kde.active.documentviewer.po | 205 + po/az/okular.po | 6402 ++++++++++++ po/az/okular_comicbook.po | 44 + po/az/okular_djvu.po | 95 + po/az/okular_dvi.po | 582 ++ po/az/okular_epub.po | 43 + po/az/okular_fax.po | 33 + po/az/okular_fictionbook.po | 68 + po/az/okular_ghostview.po | 77 + po/az/okular_kimgio.po | 42 + po/az/okular_markdown.po | 53 + po/az/okular_mobi.po | 49 + po/az/okular_poppler.po | 398 + po/az/okular_tiff.po | 28 + po/az/okular_txt.po | 38 + po/az/okular_xps.po | 33 + po/az/org.kde.active.documentviewer.po | 219 + po/be/okular.po | 6553 +++++++++++++ po/be/okular_comicbook.po | 49 + po/be/okular_djvu.po | 141 + po/be/okular_dvi.po | 601 ++ po/be/okular_epub.po | 47 + po/be/okular_fax.po | 37 + po/be/okular_fictionbook.po | 88 + po/be/okular_ghostview.po | 82 + po/be/okular_kimgio.po | 45 + po/be/okular_markdown.po | 58 + po/be/okular_mobi.po | 54 + po/be/okular_poppler.po | 489 + po/be/okular_tiff.po | 32 + po/be/okular_txt.po | 42 + po/be/okular_xps.po | 64 + po/be/org.kde.active.documentviewer.po | 221 + po/bg/okular.po | 6033 ++++++++++++ po/bg/okular_comicbook.po | 48 + po/bg/okular_djvu.po | 96 + po/bg/okular_dvi.po | 554 ++ po/bg/okular_epub.po | 43 + po/bg/okular_fax.po | 33 + po/bg/okular_fictionbook.po | 69 + po/bg/okular_ghostview.po | 77 + po/bg/okular_kimgio.po | 44 + po/bg/okular_markdown.po | 53 + po/bg/okular_mobi.po | 51 + po/bg/okular_poppler.po | 391 + po/bg/okular_tiff.po | 28 + po/bg/okular_txt.po | 38 + po/bg/okular_xps.po | 34 + po/bg/org.kde.active.documentviewer.po | 206 + po/br/okular.po | 6664 +++++++++++++ po/bs/okular.po | 7076 ++++++++++++++ po/bs/okular_comicbook.po | 60 + po/bs/okular_djvu.po | 110 + po/bs/okular_dvi.po | 595 ++ po/bs/okular_epub.po | 58 + po/bs/okular_fax.po | 48 + po/bs/okular_fictionbook.po | 83 + po/bs/okular_ghostview.po | 94 + po/bs/okular_kimgio.po | 70 + po/bs/okular_mobi.po | 66 + po/bs/okular_poppler.po | 389 + po/bs/okular_txt.po | 53 + po/bs/okular_xps.po | 60 + po/bs/org.kde.active.documentviewer.po | 225 + po/ca/docs/okular/bookmark-management.png | Bin 0 -> 80718 bytes po/ca/docs/okular/configure-annotations.png | Bin 0 -> 73604 bytes po/ca/docs/okular/configure-backends.png | Bin 0 -> 34318 bytes po/ca/docs/okular/configure-editor.png | Bin 0 -> 36048 bytes po/ca/docs/okular/configure.png | Bin 0 -> 96506 bytes po/ca/docs/okular/index.docbook | 4393 +++++++++ po/ca/docs/okular/mainwindow.png | Bin 0 -> 96410 bytes po/ca/docs/okular/man-okular.1.docbook | 250 + po/ca/docs/okular/presentation.png | Bin 0 -> 50015 bytes po/ca/okular.po | 6101 ++++++++++++ po/ca/okular_comicbook.po | 51 + po/ca/okular_djvu.po | 99 + po/ca/okular_dvi.po | 561 ++ po/ca/okular_epub.po | 47 + po/ca/okular_fax.po | 37 + po/ca/okular_fictionbook.po | 72 + po/ca/okular_ghostview.po | 80 + po/ca/okular_kimgio.po | 45 + po/ca/okular_markdown.po | 56 + po/ca/okular_mobi.po | 55 + po/ca/okular_poppler.po | 396 + po/ca/okular_tiff.po | 31 + po/ca/okular_txt.po | 42 + po/ca/okular_xps.po | 36 + po/ca/org.kde.active.documentviewer.po | 212 + po/ca@valencia/okular.po | 6062 ++++++++++++ po/ca@valencia/okular_comicbook.po | 50 + po/ca@valencia/okular_djvu.po | 99 + po/ca@valencia/okular_dvi.po | 561 ++ po/ca@valencia/okular_epub.po | 47 + po/ca@valencia/okular_fax.po | 37 + po/ca@valencia/okular_fictionbook.po | 72 + po/ca@valencia/okular_ghostview.po | 80 + po/ca@valencia/okular_kimgio.po | 45 + po/ca@valencia/okular_markdown.po | 56 + po/ca@valencia/okular_mobi.po | 55 + po/ca@valencia/okular_poppler.po | 395 + po/ca@valencia/okular_tiff.po | 31 + po/ca@valencia/okular_txt.po | 42 + po/ca@valencia/okular_xps.po | 36 + .../org.kde.active.documentviewer.po | 209 + po/cs/okular.po | 5969 ++++++++++++ po/cs/okular_comicbook.po | 47 + po/cs/okular_djvu.po | 94 + po/cs/okular_dvi.po | 540 ++ po/cs/okular_epub.po | 43 + po/cs/okular_fax.po | 32 + po/cs/okular_fictionbook.po | 68 + po/cs/okular_ghostview.po | 76 + po/cs/okular_kimgio.po | 40 + po/cs/okular_markdown.po | 53 + po/cs/okular_mobi.po | 50 + po/cs/okular_poppler.po | 386 + po/cs/okular_tiff.po | 28 + po/cs/okular_txt.po | 38 + po/cs/okular_xps.po | 33 + po/cs/org.kde.active.documentviewer.po | 205 + po/cy/okular.po | 6351 ++++++++++++ po/da/okular.po | 7203 ++++++++++++++ po/da/okular_comicbook.po | 58 + po/da/okular_djvu.po | 140 + po/da/okular_dvi.po | 860 ++ po/da/okular_epub.po | 55 + po/da/okular_fax.po | 45 + po/da/okular_fictionbook.po | 93 + po/da/okular_ghostview.po | 92 + po/da/okular_kimgio.po | 70 + po/da/okular_markdown.po | 53 + po/da/okular_mobi.po | 61 + po/da/okular_poppler.po | 408 + po/da/okular_txt.po | 50 + po/da/okular_xps.po | 58 + po/da/org.kde.active.documentviewer.po | 222 + po/de/docs/okular/annotation-properties.png | Bin 0 -> 15202 bytes po/de/docs/okular/configure-annotations.png | Bin 0 -> 59849 bytes po/de/docs/okular/configure-editor.png | Bin 0 -> 31947 bytes po/de/docs/okular/configure.png | Bin 0 -> 58853 bytes po/de/docs/okular/embedded-files-bar.png | Bin 0 -> 6138 bytes po/de/docs/okular/index.docbook | 4351 +++++++++ po/de/docs/okular/mainwindow.png | Bin 0 -> 61100 bytes po/de/docs/okular/man-okular.1.docbook | 237 + po/de/okular.po | 6987 ++++++++++++++ po/de/okular_comicbook.po | 57 + po/de/okular_djvu.po | 135 + po/de/okular_dvi.po | 861 ++ po/de/okular_epub.po | 52 + po/de/okular_fax.po | 41 + po/de/okular_fictionbook.po | 93 + po/de/okular_ghostview.po | 119 + po/de/okular_kimgio.po | 66 + po/de/okular_markdown.po | 51 + po/de/okular_mobi.po | 61 + po/de/okular_poppler.po | 495 + po/de/okular_tiff.po | 26 + po/de/okular_txt.po | 49 + po/de/okular_xps.po | 54 + po/de/org.kde.active.documentviewer.po | 241 + po/el/okular.po | 7195 ++++++++++++++ po/el/okular_comicbook.po | 62 + po/el/okular_djvu.po | 140 + po/el/okular_dvi.po | 812 ++ po/el/okular_epub.po | 58 + po/el/okular_fax.po | 45 + po/el/okular_fictionbook.po | 82 + po/el/okular_ghostview.po | 94 + po/el/okular_kimgio.po | 73 + po/el/okular_markdown.po | 53 + po/el/okular_mobi.po | 64 + po/el/okular_poppler.po | 432 + po/el/okular_tiff.po | 28 + po/el/okular_txt.po | 50 + po/el/okular_xps.po | 59 + po/el/org.kde.active.documentviewer.po | 240 + po/en_GB/okular.po | 7055 ++++++++++++++ po/en_GB/okular_comicbook.po | 60 + po/en_GB/okular_djvu.po | 139 + po/en_GB/okular_dvi.po | 788 ++ po/en_GB/okular_epub.po | 56 + po/en_GB/okular_fax.po | 44 + po/en_GB/okular_fictionbook.po | 81 + po/en_GB/okular_ghostview.po | 92 + po/en_GB/okular_kimgio.po | 71 + po/en_GB/okular_markdown.po | 53 + po/en_GB/okular_mobi.po | 62 + po/en_GB/okular_poppler.po | 435 + po/en_GB/okular_tiff.po | 28 + po/en_GB/okular_txt.po | 49 + po/en_GB/okular_xps.po | 58 + po/en_GB/org.kde.active.documentviewer.po | 241 + po/eo/okular.po | 6174 ++++++++++++ po/eo/okular_comicbook.po | 47 + po/eo/okular_djvu.po | 141 + po/eo/okular_dvi.po | 558 ++ po/eo/okular_epub.po | 45 + po/eo/okular_fax.po | 35 + po/eo/okular_fictionbook.po | 71 + po/eo/okular_ghostview.po | 79 + po/eo/okular_kimgio.po | 45 + po/eo/okular_markdown.po | 54 + po/eo/okular_mobi.po | 53 + po/eo/okular_poppler.po | 388 + po/eo/okular_tiff.po | 28 + po/eo/okular_txt.po | 38 + po/eo/okular_xps.po | 35 + po/eo/org.kde.active.documentviewer.po | 211 + po/es/docs/okular/configure.png | Bin 0 -> 57200 bytes po/es/docs/okular/embedded-files-bar.png | Bin 0 -> 4657 bytes po/es/docs/okular/index.docbook | 4457 +++++++++ po/es/docs/okular/man-okular.1.docbook | 252 + po/es/okular.po | 6042 ++++++++++++ po/es/okular_comicbook.po | 48 + po/es/okular_djvu.po | 96 + po/es/okular_dvi.po | 570 ++ po/es/okular_epub.po | 45 + po/es/okular_fax.po | 34 + po/es/okular_fictionbook.po | 69 + po/es/okular_ghostview.po | 78 + po/es/okular_kimgio.po | 43 + po/es/okular_markdown.po | 55 + po/es/okular_mobi.po | 54 + po/es/okular_poppler.po | 393 + po/es/okular_tiff.po | 30 + po/es/okular_txt.po | 40 + po/es/okular_xps.po | 34 + po/es/org.kde.active.documentviewer.po | 207 + po/et/docs/okular/man-okular.1.docbook | 289 + po/et/okular.po | 7132 ++++++++++++++ po/et/okular_comicbook.po | 57 + po/et/okular_djvu.po | 139 + po/et/okular_dvi.po | 796 ++ po/et/okular_epub.po | 56 + po/et/okular_fax.po | 45 + po/et/okular_fictionbook.po | 96 + po/et/okular_ghostview.po | 124 + po/et/okular_kimgio.po | 71 + po/et/okular_markdown.po | 53 + po/et/okular_mobi.po | 63 + po/et/okular_poppler.po | 432 + po/et/okular_txt.po | 50 + po/et/okular_xps.po | 58 + po/et/org.kde.active.documentviewer.po | 233 + po/eu/okular.po | 6637 +++++++++++++ po/eu/okular_comicbook.po | 62 + po/eu/okular_djvu.po | 141 + po/eu/okular_dvi.po | 770 ++ po/eu/okular_epub.po | 59 + po/eu/okular_fax.po | 47 + po/eu/okular_fictionbook.po | 85 + po/eu/okular_ghostview.po | 97 + po/eu/okular_kimgio.po | 75 + po/eu/okular_markdown.po | 57 + po/eu/okular_mobi.po | 67 + po/eu/okular_poppler.po | 432 + po/eu/okular_tiff.po | 31 + po/eu/okular_txt.po | 41 + po/eu/okular_xps.po | 59 + po/eu/org.kde.active.documentviewer.po | 215 + po/fa/okular.po | 6639 +++++++++++++ po/fi/okular.po | 6918 +++++++++++++ po/fi/okular_comicbook.po | 62 + po/fi/okular_djvu.po | 141 + po/fi/okular_dvi.po | 763 ++ po/fi/okular_epub.po | 58 + po/fi/okular_fax.po | 46 + po/fi/okular_fictionbook.po | 85 + po/fi/okular_ghostview.po | 97 + po/fi/okular_kimgio.po | 72 + po/fi/okular_markdown.po | 52 + po/fi/okular_mobi.po | 62 + po/fi/okular_poppler.po | 441 + po/fi/okular_tiff.po | 27 + po/fi/okular_txt.po | 50 + po/fi/okular_xps.po | 62 + po/fi/org.kde.active.documentviewer.po | 235 + po/fr/docs/okular/annotation-properties.png | Bin 0 -> 16089 bytes po/fr/docs/okular/annotations.png | Bin 0 -> 118911 bytes po/fr/docs/okular/bookmark-management.png | Bin 0 -> 100128 bytes po/fr/docs/okular/configure-annotations.png | Bin 0 -> 89166 bytes po/fr/docs/okular/configure-backends.png | Bin 0 -> 42506 bytes po/fr/docs/okular/configure-editor.png | Bin 0 -> 33400 bytes po/fr/docs/okular/configure.png | Bin 0 -> 105088 bytes po/fr/docs/okular/forms-bar.png | Bin 0 -> 4415 bytes po/fr/docs/okular/index.docbook | 3505 +++++++ po/fr/docs/okular/mainwindow.png | Bin 0 -> 77855 bytes po/fr/docs/okular/man-okular.1.docbook | 291 + po/fr/docs/okular/presentation.png | Bin 0 -> 46511 bytes po/fr/okular.po | 6894 +++++++++++++ po/fr/okular_comicbook.po | 67 + po/fr/okular_djvu.po | 141 + po/fr/okular_dvi.po | 829 ++ po/fr/okular_epub.po | 60 + po/fr/okular_fax.po | 50 + po/fr/okular_fictionbook.po | 104 + po/fr/okular_ghostview.po | 97 + po/fr/okular_kimgio.po | 78 + po/fr/okular_markdown.po | 57 + po/fr/okular_mobi.po | 68 + po/fr/okular_poppler.po | 449 + po/fr/okular_tiff.po | 25 + po/fr/okular_txt.po | 53 + po/fr/okular_xps.po | 67 + po/fr/org.kde.active.documentviewer.po | 240 + po/fy/okular.po | 6801 +++++++++++++ po/ga/okular.po | 6843 +++++++++++++ po/ga/okular_comicbook.po | 58 + po/ga/okular_djvu.po | 148 + po/ga/okular_dvi.po | 566 ++ po/ga/okular_epub.po | 56 + po/ga/okular_fax.po | 45 + po/ga/okular_fictionbook.po | 97 + po/ga/okular_ghostview.po | 119 + po/ga/okular_kimgio.po | 67 + po/ga/okular_mobi.po | 65 + po/ga/okular_poppler.po | 444 + po/ga/okular_xps.po | 83 + po/ga/org.kde.active.documentviewer.po | 219 + po/gl/docs/okular/index.docbook | 2107 ++++ po/gl/okular.po | 6900 +++++++++++++ po/gl/okular_comicbook.po | 60 + po/gl/okular_djvu.po | 138 + po/gl/okular_dvi.po | 755 ++ po/gl/okular_epub.po | 56 + po/gl/okular_fax.po | 48 + po/gl/okular_fictionbook.po | 81 + po/gl/okular_ghostview.po | 94 + po/gl/okular_kimgio.po | 71 + po/gl/okular_markdown.po | 53 + po/gl/okular_mobi.po | 64 + po/gl/okular_poppler.po | 440 + po/gl/okular_tiff.po | 28 + po/gl/okular_txt.po | 49 + po/gl/okular_xps.po | 58 + po/gl/org.kde.active.documentviewer.po | 240 + po/he/okular.po | 6393 ++++++++++++ po/he/okular_comicbook.po | 45 + po/he/okular_djvu.po | 96 + po/he/okular_dvi.po | 533 + po/he/okular_epub.po | 44 + po/he/okular_fax.po | 34 + po/he/okular_fictionbook.po | 69 + po/he/okular_ghostview.po | 77 + po/he/okular_kimgio.po | 42 + po/he/okular_markdown.po | 54 + po/he/okular_mobi.po | 52 + po/he/okular_poppler.po | 385 + po/he/okular_tiff.po | 29 + po/he/okular_txt.po | 39 + po/he/okular_xps.po | 34 + po/he/org.kde.active.documentviewer.po | 209 + po/hi/okular.po | 6770 +++++++++++++ po/hi/okular_comicbook.po | 44 + po/hi/okular_djvu.po | 153 + po/hi/okular_dvi.po | 659 ++ po/hi/okular_epub.po | 43 + po/hi/okular_fax.po | 33 + po/hi/okular_fictionbook.po | 85 + po/hi/okular_ghostview.po | 104 + po/hi/okular_kimgio.po | 76 + po/hi/okular_markdown.po | 53 + po/hi/okular_mobi.po | 51 + po/hi/okular_poppler.po | 400 + po/hi/okular_tiff.po | 28 + po/hi/okular_txt.po | 38 + po/hi/okular_xps.po | 59 + po/hi/org.kde.active.documentviewer.po | 215 + po/hne/okular.po | 6846 +++++++++++++ po/hne/okular_djvu.po | 157 + po/hne/okular_dvi.po | 638 ++ po/hne/okular_fictionbook.po | 91 + po/hne/okular_ghostview.po | 113 + po/hne/okular_kimgio.po | 73 + po/hne/okular_poppler.po | 413 + po/hne/okular_xps.po | 59 + po/hr/okular.po | 6900 +++++++++++++ po/hr/okular_comicbook.po | 62 + po/hr/okular_djvu.po | 139 + po/hr/okular_dvi.po | 601 ++ po/hr/okular_epub.po | 57 + po/hr/okular_fax.po | 49 + po/hr/okular_fictionbook.po | 83 + po/hr/okular_ghostview.po | 96 + po/hr/okular_kimgio.po | 71 + po/hr/okular_mobi.po | 66 + po/hr/okular_poppler.po | 407 + po/hr/okular_xps.po | 61 + po/hsb/okular.po | 6170 ++++++++++++ po/hu/okular.po | 6917 +++++++++++++ po/hu/okular_comicbook.po | 61 + po/hu/okular_djvu.po | 136 + po/hu/okular_dvi.po | 747 ++ po/hu/okular_epub.po | 57 + po/hu/okular_fax.po | 46 + po/hu/okular_fictionbook.po | 82 + po/hu/okular_ghostview.po | 92 + po/hu/okular_kimgio.po | 70 + po/hu/okular_markdown.po | 53 + po/hu/okular_mobi.po | 65 + po/hu/okular_poppler.po | 431 + po/hu/okular_tiff.po | 28 + po/hu/okular_txt.po | 51 + po/hu/okular_xps.po | 58 + po/hu/org.kde.active.documentviewer.po | 227 + po/ia/okular.po | 6853 +++++++++++++ po/ia/okular_comicbook.po | 57 + po/ia/okular_djvu.po | 135 + po/ia/okular_dvi.po | 756 ++ po/ia/okular_epub.po | 55 + po/ia/okular_fax.po | 45 + po/ia/okular_fictionbook.po | 80 + po/ia/okular_ghostview.po | 92 + po/ia/okular_kimgio.po | 69 + po/ia/okular_markdown.po | 52 + po/ia/okular_mobi.po | 63 + po/ia/okular_poppler.po | 428 + po/ia/okular_tiff.po | 28 + po/ia/okular_txt.po | 50 + po/ia/okular_xps.po | 57 + po/ia/org.kde.active.documentviewer.po | 233 + po/id/okular.po | 6598 +++++++++++++ po/ie/okular.po | 6018 ++++++++++++ po/ie/okular_comicbook.po | 46 + po/ie/okular_djvu.po | 96 + po/ie/okular_epub.po | 44 + po/ie/okular_fax.po | 34 + po/ie/okular_fictionbook.po | 69 + po/ie/okular_ghostview.po | 77 + po/ie/okular_kimgio.po | 43 + po/ie/okular_markdown.po | 54 + po/ie/okular_mobi.po | 52 + po/ie/okular_txt.po | 39 + po/ie/okular_xps.po | 34 + po/is/okular.po | 6778 +++++++++++++ po/is/okular_comicbook.po | 61 + po/is/okular_djvu.po | 139 + po/is/okular_dvi.po | 751 ++ po/is/okular_epub.po | 59 + po/is/okular_fax.po | 48 + po/is/okular_fictionbook.po | 84 + po/is/okular_ghostview.po | 95 + po/is/okular_kimgio.po | 73 + po/is/okular_markdown.po | 53 + po/is/okular_mobi.po | 67 + po/is/okular_poppler.po | 426 + po/is/okular_tiff.po | 28 + po/is/okular_txt.po | 38 + po/is/okular_xps.po | 61 + po/is/org.kde.active.documentviewer.po | 224 + po/it/docs/okular/annotation-properties.png | Bin 0 -> 12664 bytes po/it/docs/okular/annotations.png | Bin 0 -> 80353 bytes po/it/docs/okular/bookmark-management.png | Bin 0 -> 39693 bytes po/it/docs/okular/configure-annotations.png | Bin 0 -> 27450 bytes po/it/docs/okular/configure-backends.png | Bin 0 -> 16603 bytes po/it/docs/okular/configure-editor.png | Bin 0 -> 18671 bytes po/it/docs/okular/configure.png | Bin 0 -> 28676 bytes po/it/docs/okular/embedded-files-bar.png | Bin 0 -> 2900 bytes po/it/docs/okular/forms-bar.png | Bin 0 -> 3668 bytes po/it/docs/okular/index.docbook | 4469 +++++++++ po/it/docs/okular/mainwindow.png | Bin 0 -> 32021 bytes po/it/docs/okular/man-okular.1.docbook | 252 + po/it/docs/okular/presentation.png | Bin 0 -> 13420 bytes po/it/docs/okular/signatures-bar.png | Bin 0 -> 2922 bytes po/it/docs/okular/signatures-panel.png | Bin 0 -> 4824 bytes po/it/okular.po | 7058 ++++++++++++++ po/it/okular_comicbook.po | 61 + po/it/okular_djvu.po | 138 + po/it/okular_dvi.po | 858 ++ po/it/okular_epub.po | 55 + po/it/okular_fax.po | 45 + po/it/okular_fictionbook.po | 95 + po/it/okular_ghostview.po | 122 + po/it/okular_kimgio.po | 70 + po/it/okular_markdown.po | 53 + po/it/okular_mobi.po | 63 + po/it/okular_poppler.po | 443 + po/it/okular_tiff.po | 28 + po/it/okular_txt.po | 49 + po/it/okular_xps.po | 57 + po/it/org.kde.active.documentviewer.po | 233 + po/ja/docs/okular/configure.png | Bin 0 -> 65433 bytes po/ja/docs/okular/embedded-files-bar.png | Bin 0 -> 4678 bytes po/ja/docs/okular/index.docbook | 1908 ++++ po/ja/okular.po | 6166 ++++++++++++ po/ja/okular_comicbook.po | 48 + po/ja/okular_djvu.po | 96 + po/ja/okular_dvi.po | 603 ++ po/ja/okular_epub.po | 44 + po/ja/okular_fax.po | 34 + po/ja/okular_fictionbook.po | 69 + po/ja/okular_ghostview.po | 78 + po/ja/okular_kimgio.po | 41 + po/ja/okular_markdown.po | 50 + po/ja/okular_mobi.po | 51 + po/ja/okular_poppler.po | 371 + po/ja/okular_tiff.po | 25 + po/ja/okular_txt.po | 35 + po/ja/okular_xps.po | 34 + po/ja/org.kde.active.documentviewer.po | 202 + po/ka/okular.po | 6137 ++++++++++++ po/ka/okular_comicbook.po | 47 + po/ka/okular_djvu.po | 96 + po/ka/okular_dvi.po | 547 ++ po/ka/okular_epub.po | 44 + po/ka/okular_fax.po | 34 + po/ka/okular_fictionbook.po | 69 + po/ka/okular_ghostview.po | 77 + po/ka/okular_kimgio.po | 43 + po/ka/okular_markdown.po | 54 + po/ka/okular_mobi.po | 52 + po/ka/okular_poppler.po | 395 + po/ka/okular_tiff.po | 29 + po/ka/okular_txt.po | 39 + po/ka/okular_xps.po | 34 + po/ka/org.kde.active.documentviewer.po | 209 + po/kk/okular.po | 7131 ++++++++++++++ po/kk/okular_comicbook.po | 57 + po/kk/okular_djvu.po | 135 + po/kk/okular_dvi.po | 835 ++ po/kk/okular_epub.po | 55 + po/kk/okular_fax.po | 45 + po/kk/okular_fictionbook.po | 80 + po/kk/okular_ghostview.po | 91 + po/kk/okular_kimgio.po | 67 + po/kk/okular_mobi.po | 61 + po/kk/okular_poppler.po | 404 + po/kk/okular_txt.po | 52 + po/kk/okular_xps.po | 57 + po/kk/org.kde.active.documentviewer.po | 222 + po/km/okular.po | 6869 +++++++++++++ po/km/okular_comicbook.po | 59 + po/km/okular_djvu.po | 138 + po/km/okular_dvi.po | 793 ++ po/km/okular_epub.po | 58 + po/km/okular_fax.po | 47 + po/km/okular_fictionbook.po | 85 + po/km/okular_ghostview.po | 94 + po/km/okular_kimgio.po | 70 + po/km/okular_mobi.po | 65 + po/km/okular_poppler.po | 411 + po/km/okular_xps.po | 59 + po/ko/okular.po | 6790 +++++++++++++ po/ko/okular_comicbook.po | 57 + po/ko/okular_djvu.po | 135 + po/ko/okular_dvi.po | 715 ++ po/ko/okular_epub.po | 55 + po/ko/okular_fax.po | 44 + po/ko/okular_fictionbook.po | 80 + po/ko/okular_ghostview.po | 91 + po/ko/okular_kimgio.po | 69 + po/ko/okular_markdown.po | 53 + po/ko/okular_mobi.po | 60 + po/ko/okular_poppler.po | 422 + po/ko/okular_tiff.po | 28 + po/ko/okular_txt.po | 49 + po/ko/okular_xps.po | 57 + po/ko/org.kde.active.documentviewer.po | 233 + po/ku/okular.po | 6192 ++++++++++++ po/ku/okular_comicbook.po | 59 + po/ku/okular_djvu.po | 137 + po/ku/okular_epub.po | 58 + po/ku/okular_fax.po | 47 + po/ku/okular_fictionbook.po | 84 + po/ku/okular_ghostview.po | 92 + po/ku/okular_kimgio.po | 74 + po/ku/okular_xps.po | 59 + po/lt/okular.po | 6899 +++++++++++++ po/lt/okular_comicbook.po | 60 + po/lt/okular_djvu.po | 137 + po/lt/okular_dvi.po | 649 ++ po/lt/okular_epub.po | 57 + po/lt/okular_fax.po | 46 + po/lt/okular_fictionbook.po | 82 + po/lt/okular_ghostview.po | 92 + po/lt/okular_kimgio.po | 70 + po/lt/okular_markdown.po | 55 + po/lt/okular_mobi.po | 65 + po/lt/okular_poppler.po | 429 + po/lt/okular_tiff.po | 30 + po/lt/okular_txt.po | 53 + po/lt/okular_xps.po | 57 + po/lt/org.kde.active.documentviewer.po | 229 + po/lv/okular.po | 6618 +++++++++++++ po/lv/okular_comicbook.po | 61 + po/lv/okular_djvu.po | 143 + po/lv/okular_dvi.po | 745 ++ po/lv/okular_epub.po | 58 + po/lv/okular_fax.po | 46 + po/lv/okular_fictionbook.po | 84 + po/lv/okular_ghostview.po | 96 + po/lv/okular_kimgio.po | 73 + po/lv/okular_markdown.po | 54 + po/lv/okular_mobi.po | 65 + po/lv/okular_poppler.po | 431 + po/lv/okular_tiff.po | 29 + po/lv/okular_txt.po | 39 + po/lv/okular_xps.po | 60 + po/lv/org.kde.active.documentviewer.po | 209 + po/mk/okular.po | 6735 +++++++++++++ po/mk/okular_djvu.po | 154 + po/mk/okular_fictionbook.po | 85 + po/mk/okular_ghostview.po | 91 + po/mk/okular_kimgio.po | 74 + po/mk/okular_poppler.po | 394 + po/mk/okular_xps.po | 59 + po/ml/okular.po | 5917 ++++++++++++ po/ml/okular_comicbook.po | 45 + po/ml/okular_djvu.po | 96 + po/ml/okular_dvi.po | 462 + po/ml/okular_epub.po | 44 + po/ml/okular_fax.po | 34 + po/ml/okular_fictionbook.po | 69 + po/ml/okular_ghostview.po | 75 + po/ml/okular_kimgio.po | 41 + po/ml/okular_markdown.po | 54 + po/ml/okular_mobi.po | 50 + po/ml/okular_poppler.po | 370 + po/ml/okular_txt.po | 39 + po/ml/okular_xps.po | 34 + po/ml/org.kde.active.documentviewer.po | 209 + po/mr/okular.po | 7130 ++++++++++++++ po/mr/okular_comicbook.po | 57 + po/mr/okular_djvu.po | 135 + po/mr/okular_dvi.po | 485 + po/mr/okular_epub.po | 56 + po/mr/okular_fax.po | 45 + po/mr/okular_fictionbook.po | 82 + po/mr/okular_ghostview.po | 91 + po/mr/okular_kimgio.po | 67 + po/mr/okular_mobi.po | 63 + po/mr/okular_poppler.po | 404 + po/mr/okular_xps.po | 57 + po/mr/org.kde.active.documentviewer.po | 222 + po/ms/okular.po | 6504 +++++++++++++ po/nb/okular.po | 5924 ++++++++++++ po/nb/okular_comicbook.po | 47 + po/nb/okular_djvu.po | 97 + po/nb/okular_dvi.po | 549 ++ po/nb/okular_epub.po | 45 + po/nb/okular_fax.po | 35 + po/nb/okular_fictionbook.po | 70 + po/nb/okular_ghostview.po | 78 + po/nb/okular_kimgio.po | 42 + po/nb/okular_mobi.po | 53 + po/nb/okular_poppler.po | 373 + po/nb/okular_txt.po | 40 + po/nb/okular_xps.po | 35 + po/nb/org.kde.active.documentviewer.po | 207 + po/nds/okular.po | 7194 ++++++++++++++ po/nds/okular_comicbook.po | 60 + po/nds/okular_djvu.po | 141 + po/nds/okular_dvi.po | 820 ++ po/nds/okular_epub.po | 56 + po/nds/okular_fax.po | 47 + po/nds/okular_fictionbook.po | 97 + po/nds/okular_ghostview.po | 106 + po/nds/okular_kimgio.po | 70 + po/nds/okular_mobi.po | 63 + po/nds/okular_poppler.po | 408 + po/nds/okular_txt.po | 50 + po/nds/okular_xps.po | 60 + po/nds/org.kde.active.documentviewer.po | 222 + po/ne/okular.po | 6607 +++++++++++++ po/nl/docs/okular/index.docbook | 4411 +++++++++ po/nl/docs/okular/man-okular.1.docbook | 252 + po/nl/okular.po | 6850 +++++++++++++ po/nl/okular_comicbook.po | 61 + po/nl/okular_djvu.po | 143 + po/nl/okular_dvi.po | 793 ++ po/nl/okular_epub.po | 57 + po/nl/okular_fax.po | 47 + po/nl/okular_fictionbook.po | 82 + po/nl/okular_ghostview.po | 94 + po/nl/okular_kimgio.po | 71 + po/nl/okular_markdown.po | 53 + po/nl/okular_mobi.po | 65 + po/nl/okular_poppler.po | 439 + po/nl/okular_tiff.po | 28 + po/nl/okular_txt.po | 50 + po/nl/okular_xps.po | 60 + po/nl/org.kde.active.documentviewer.po | 233 + po/nn/okular.po | 6070 ++++++++++++ po/nn/okular_comicbook.po | 48 + po/nn/okular_djvu.po | 99 + po/nn/okular_dvi.po | 549 ++ po/nn/okular_epub.po | 46 + po/nn/okular_fax.po | 36 + po/nn/okular_fictionbook.po | 71 + po/nn/okular_ghostview.po | 80 + po/nn/okular_kimgio.po | 44 + po/nn/okular_markdown.po | 55 + po/nn/okular_mobi.po | 54 + po/nn/okular_poppler.po | 389 + po/nn/okular_tiff.po | 30 + po/nn/okular_txt.po | 40 + po/nn/okular_xps.po | 36 + po/nn/org.kde.active.documentviewer.po | 212 + po/oc/okular.po | 6194 ++++++++++++ po/oc/okular_djvu.po | 139 + po/oc/okular_dvi.po | 483 + po/oc/okular_fictionbook.po | 69 + po/oc/okular_ghostview.po | 78 + po/oc/okular_kimgio.po | 50 + po/oc/okular_poppler.po | 376 + po/oc/okular_xps.po | 34 + po/pa/okular.po | 6565 +++++++++++++ po/pa/okular_comicbook.po | 59 + po/pa/okular_djvu.po | 136 + po/pa/okular_dvi.po | 558 ++ po/pa/okular_epub.po | 56 + po/pa/okular_fax.po | 46 + po/pa/okular_fictionbook.po | 75 + po/pa/okular_ghostview.po | 87 + po/pa/okular_kimgio.po | 68 + po/pa/okular_mobi.po | 62 + po/pa/okular_poppler.po | 410 + po/pa/okular_txt.po | 50 + po/pa/okular_xps.po | 58 + po/pa/org.kde.active.documentviewer.po | 234 + po/pl/docs/okular/annotation-properties.png | Bin 0 -> 27598 bytes po/pl/docs/okular/annotations.png | Bin 0 -> 127162 bytes po/pl/docs/okular/bookmark-management.png | Bin 0 -> 91302 bytes po/pl/docs/okular/configure-annotations.png | Bin 0 -> 72660 bytes po/pl/docs/okular/configure-backends.png | Bin 0 -> 34788 bytes po/pl/docs/okular/configure-editor.png | Bin 0 -> 44792 bytes po/pl/docs/okular/configure.png | Bin 0 -> 78500 bytes po/pl/docs/okular/embedded-files-bar.png | Bin 0 -> 3765 bytes po/pl/docs/okular/forms-bar.png | Bin 0 -> 4893 bytes po/pl/docs/okular/index.docbook | 3533 +++++++ po/pl/docs/okular/mainwindow.png | Bin 0 -> 76632 bytes po/pl/docs/okular/presentation.png | Bin 0 -> 20802 bytes po/pl/docs/okular/rating.png | Bin 0 -> 587 bytes po/pl/docs/okular/tool-ellipse-okular.png | Bin 0 -> 1049 bytes po/pl/docs/okular/tool-highlighter-okular.png | Bin 0 -> 1533 bytes po/pl/docs/okular/tool-ink-okular.png | Bin 0 -> 1710 bytes po/pl/docs/okular/tool-line-okular.png | Bin 0 -> 798 bytes po/pl/docs/okular/tool-note-inline-okular.png | Bin 0 -> 771 bytes po/pl/docs/okular/tool-note-okular.png | Bin 0 -> 968 bytes po/pl/docs/okular/tool-polygon-okular.png | Bin 0 -> 664 bytes po/pl/docs/okular/tool-stamp-okular.png | Bin 0 -> 952 bytes po/pl/docs/okular/tool-underline-okular.png | Bin 0 -> 394 bytes po/pl/okular.po | 6847 +++++++++++++ po/pl/okular_comicbook.po | 65 + po/pl/okular_djvu.po | 140 + po/pl/okular_dvi.po | 789 ++ po/pl/okular_epub.po | 60 + po/pl/okular_fax.po | 46 + po/pl/okular_fictionbook.po | 84 + po/pl/okular_ghostview.po | 95 + po/pl/okular_kimgio.po | 74 + po/pl/okular_markdown.po | 54 + po/pl/okular_mobi.po | 64 + po/pl/okular_poppler.po | 433 + po/pl/okular_tiff.po | 28 + po/pl/okular_txt.po | 51 + po/pl/okular_xps.po | 59 + po/pl/org.kde.active.documentviewer.po | 234 + po/pt/docs/okular/index.docbook | 3385 +++++++ po/pt/docs/okular/man-okular.1.docbook | 208 + po/pt/okular.po | 6266 ++++++++++++ po/pt/okular_comicbook.po | 44 + po/pt/okular_djvu.po | 136 + po/pt/okular_dvi.po | 616 ++ po/pt/okular_epub.po | 51 + po/pt/okular_fax.po | 41 + po/pt/okular_fictionbook.po | 81 + po/pt/okular_ghostview.po | 93 + po/pt/okular_kimgio.po | 43 + po/pt/okular_markdown.po | 49 + po/pt/okular_mobi.po | 59 + po/pt/okular_poppler.po | 390 + po/pt/okular_tiff.po | 23 + po/pt/okular_txt.po | 46 + po/pt/okular_xps.po | 58 + po/pt/org.kde.active.documentviewer.po | 212 + .../docs/okular/annotation-properties.png | Bin 0 -> 26410 bytes po/pt_BR/docs/okular/annotations.png | Bin 0 -> 152552 bytes po/pt_BR/docs/okular/bookmark-management.png | Bin 0 -> 89224 bytes .../docs/okular/configure-annotations.png | Bin 0 -> 73938 bytes po/pt_BR/docs/okular/configure-backends.png | Bin 0 -> 37234 bytes po/pt_BR/docs/okular/configure-editor.png | Bin 0 -> 40312 bytes po/pt_BR/docs/okular/configure.png | Bin 0 -> 81904 bytes po/pt_BR/docs/okular/embedded-files-bar.png | Bin 0 -> 6714 bytes po/pt_BR/docs/okular/forms-bar.png | Bin 0 -> 6837 bytes po/pt_BR/docs/okular/index.docbook | 3878 ++++++++ po/pt_BR/docs/okular/mainwindow.png | Bin 0 -> 64036 bytes po/pt_BR/docs/okular/man-okular.1.docbook | 237 + po/pt_BR/docs/okular/presentation.png | Bin 0 -> 17528 bytes po/pt_BR/docs/okular/signatures-bar.png | Bin 0 -> 5415 bytes po/pt_BR/docs/okular/signatures-panel.png | Bin 0 -> 15831 bytes po/pt_BR/okular.po | 6441 +++++++++++++ po/pt_BR/okular_comicbook.po | 62 + po/pt_BR/okular_djvu.po | 138 + po/pt_BR/okular_dvi.po | 615 ++ po/pt_BR/okular_epub.po | 57 + po/pt_BR/okular_fax.po | 48 + po/pt_BR/okular_fictionbook.po | 82 + po/pt_BR/okular_ghostview.po | 93 + po/pt_BR/okular_kimgio.po | 71 + po/pt_BR/okular_markdown.po | 54 + po/pt_BR/okular_mobi.po | 65 + po/pt_BR/okular_poppler.po | 401 + po/pt_BR/okular_tiff.po | 28 + po/pt_BR/okular_txt.po | 51 + po/pt_BR/okular_xps.po | 59 + po/pt_BR/org.kde.active.documentviewer.po | 215 + po/ro/okular.po | 6576 +++++++++++++ po/ro/okular_comicbook.po | 54 + po/ro/okular_djvu.po | 134 + po/ro/okular_dvi.po | 577 ++ po/ro/okular_epub.po | 56 + po/ro/okular_fax.po | 45 + po/ro/okular_fictionbook.po | 81 + po/ro/okular_ghostview.po | 92 + po/ro/okular_kimgio.po | 77 + po/ro/okular_markdown.po | 54 + po/ro/okular_mobi.po | 64 + po/ro/okular_poppler.po | 407 + po/ro/okular_tiff.po | 29 + po/ro/okular_txt.po | 50 + po/ro/okular_xps.po | 59 + po/ro/org.kde.active.documentviewer.po | 228 + po/ru/docs/okular/annotation-properties.png | Bin 0 -> 7360 bytes po/ru/docs/okular/annotations.png | Bin 0 -> 74956 bytes po/ru/docs/okular/bookmark-management.png | Bin 0 -> 59001 bytes po/ru/docs/okular/configure-annotations.png | Bin 0 -> 29089 bytes po/ru/docs/okular/configure-backends.png | Bin 0 -> 14295 bytes po/ru/docs/okular/configure-editor.png | Bin 0 -> 16481 bytes po/ru/docs/okular/configure.png | Bin 0 -> 28396 bytes po/ru/docs/okular/embedded-files-bar.png | Bin 0 -> 3416 bytes po/ru/docs/okular/enhance-lowcontrast.png | Bin 0 -> 2915 bytes po/ru/docs/okular/enhance-shape.png | Bin 0 -> 3069 bytes po/ru/docs/okular/enhance-solid.png | Bin 0 -> 5267 bytes po/ru/docs/okular/enhance-thinline.png | Bin 0 -> 6903 bytes po/ru/docs/okular/forms-bar.png | Bin 0 -> 3658 bytes po/ru/docs/okular/index.docbook | 4458 +++++++++ po/ru/docs/okular/mainwindow.png | Bin 0 -> 31589 bytes po/ru/docs/okular/man-okular.1.docbook | 252 + po/ru/docs/okular/presentation.png | Bin 0 -> 9259 bytes po/ru/docs/okular/rating.png | Bin 0 -> 587 bytes po/ru/docs/okular/tool-ellipse-okular.png | Bin 0 -> 1049 bytes po/ru/docs/okular/tool-highlighter-okular.png | Bin 0 -> 1533 bytes po/ru/docs/okular/tool-ink-okular.png | Bin 0 -> 1710 bytes po/ru/docs/okular/tool-line-okular.png | Bin 0 -> 798 bytes po/ru/docs/okular/tool-note-inline-okular.png | Bin 0 -> 771 bytes po/ru/docs/okular/tool-note-okular.png | Bin 0 -> 968 bytes po/ru/docs/okular/tool-polygon-okular.png | Bin 0 -> 664 bytes po/ru/docs/okular/tool-stamp-okular.png | Bin 0 -> 952 bytes po/ru/docs/okular/tool-underline-okular.png | Bin 0 -> 394 bytes po/ru/okular.po | 6927 +++++++++++++ po/ru/okular_comicbook.po | 65 + po/ru/okular_djvu.po | 145 + po/ru/okular_dvi.po | 819 ++ po/ru/okular_epub.po | 61 + po/ru/okular_fax.po | 50 + po/ru/okular_fictionbook.po | 86 + po/ru/okular_ghostview.po | 97 + po/ru/okular_kimgio.po | 75 + po/ru/okular_markdown.po | 55 + po/ru/okular_mobi.po | 69 + po/ru/okular_poppler.po | 437 + po/ru/okular_tiff.po | 29 + po/ru/okular_txt.po | 54 + po/ru/okular_xps.po | 62 + po/ru/org.kde.active.documentviewer.po | 235 + po/sa/okular.po | 6164 ++++++++++++ po/sa/okular_comicbook.po | 46 + po/sa/okular_djvu.po | 97 + po/sa/okular_dvi.po | 543 ++ po/sa/okular_epub.po | 45 + po/sa/okular_fax.po | 35 + po/sa/okular_fictionbook.po | 70 + po/sa/okular_ghostview.po | 78 + po/sa/okular_kimgio.po | 42 + po/sa/okular_markdown.po | 55 + po/sa/okular_mobi.po | 51 + po/sa/okular_poppler.po | 384 + po/sa/okular_tiff.po | 30 + po/sa/okular_txt.po | 40 + po/sa/okular_xps.po | 35 + po/sa/org.kde.active.documentviewer.po | 212 + po/se/okular.po | 5832 +++++++++++ po/se/okular_djvu.po | 97 + po/se/okular_dvi.po | 463 + po/se/okular_fictionbook.po | 70 + po/se/okular_ghostview.po | 76 + po/se/okular_kimgio.po | 42 + po/se/okular_poppler.po | 368 + po/se/okular_xps.po | 35 + po/si/okular.po | 6852 +++++++++++++ po/si/okular_comicbook.po | 57 + po/si/okular_djvu.po | 135 + po/si/okular_dvi.po | 757 ++ po/si/okular_epub.po | 56 + po/si/okular_fax.po | 45 + po/si/okular_fictionbook.po | 82 + po/si/okular_ghostview.po | 91 + po/si/okular_kimgio.po | 67 + po/si/okular_mobi.po | 63 + po/si/okular_poppler.po | 405 + po/si/okular_xps.po | 57 + po/sk/okular.po | 6883 +++++++++++++ po/sk/okular_comicbook.po | 58 + po/sk/okular_djvu.po | 106 + po/sk/okular_dvi.po | 586 ++ po/sk/okular_epub.po | 54 + po/sk/okular_fax.po | 43 + po/sk/okular_fictionbook.po | 80 + po/sk/okular_ghostview.po | 90 + po/sk/okular_kimgio.po | 68 + po/sk/okular_markdown.po | 52 + po/sk/okular_mobi.po | 63 + po/sk/okular_poppler.po | 410 + po/sk/okular_tiff.po | 26 + po/sk/okular_txt.po | 48 + po/sk/okular_xps.po | 56 + po/sk/org.kde.active.documentviewer.po | 241 + po/sl/docs/okular/index.docbook | 4431 +++++++++ po/sl/docs/okular/man-okular.1.docbook | 252 + po/sl/okular.po | 6188 ++++++++++++ po/sl/okular_comicbook.po | 49 + po/sl/okular_djvu.po | 138 + po/sl/okular_dvi.po | 740 ++ po/sl/okular_epub.po | 56 + po/sl/okular_fax.po | 47 + po/sl/okular_fictionbook.po | 81 + po/sl/okular_ghostview.po | 93 + po/sl/okular_kimgio.po | 71 + po/sl/okular_markdown.po | 57 + po/sl/okular_mobi.po | 63 + po/sl/okular_poppler.po | 437 + po/sl/okular_tiff.po | 29 + po/sl/okular_txt.po | 51 + po/sl/okular_xps.po | 58 + po/sl/org.kde.active.documentviewer.po | 212 + po/sq/okular_comicbook.po | 61 + po/sq/okular_djvu.po | 137 + po/sq/okular_dvi.po | 487 + po/sq/okular_epub.po | 58 + po/sq/okular_fax.po | 47 + po/sq/okular_fictionbook.po | 84 + po/sq/okular_ghostview.po | 95 + po/sq/okular_kimgio.po | 69 + po/sq/okular_mobi.po | 67 + po/sq/okular_poppler.po | 408 + po/sq/okular_xps.po | 59 + po/sr/okular.po | 6652 +++++++++++++ po/sr/okular_comicbook.po | 48 + po/sr/okular_djvu.po | 103 + po/sr/okular_dvi.po | 584 ++ po/sr/okular_epub.po | 46 + po/sr/okular_fax.po | 36 + po/sr/okular_fictionbook.po | 75 + po/sr/okular_ghostview.po | 84 + po/sr/okular_kimgio.po | 48 + po/sr/okular_markdown.po | 55 + po/sr/okular_mobi.po | 51 + po/sr/okular_poppler.po | 379 + po/sr/okular_txt.po | 39 + po/sr/okular_xps.po | 40 + po/sr@ijekavian/okular.po | 6653 +++++++++++++ po/sr@ijekavian/okular_comicbook.po | 48 + po/sr@ijekavian/okular_djvu.po | 103 + po/sr@ijekavian/okular_dvi.po | 585 ++ po/sr@ijekavian/okular_epub.po | 46 + po/sr@ijekavian/okular_fax.po | 36 + po/sr@ijekavian/okular_fictionbook.po | 75 + po/sr@ijekavian/okular_ghostview.po | 84 + po/sr@ijekavian/okular_kimgio.po | 48 + po/sr@ijekavian/okular_markdown.po | 55 + po/sr@ijekavian/okular_mobi.po | 51 + po/sr@ijekavian/okular_poppler.po | 379 + po/sr@ijekavian/okular_txt.po | 39 + po/sr@ijekavian/okular_xps.po | 40 + po/sr@ijekavianlatin/okular.po | 6653 +++++++++++++ po/sr@ijekavianlatin/okular_comicbook.po | 48 + po/sr@ijekavianlatin/okular_djvu.po | 103 + po/sr@ijekavianlatin/okular_dvi.po | 588 ++ po/sr@ijekavianlatin/okular_epub.po | 46 + po/sr@ijekavianlatin/okular_fax.po | 36 + po/sr@ijekavianlatin/okular_fictionbook.po | 75 + po/sr@ijekavianlatin/okular_ghostview.po | 84 + po/sr@ijekavianlatin/okular_kimgio.po | 49 + po/sr@ijekavianlatin/okular_markdown.po | 55 + po/sr@ijekavianlatin/okular_mobi.po | 52 + po/sr@ijekavianlatin/okular_poppler.po | 379 + po/sr@ijekavianlatin/okular_txt.po | 39 + po/sr@ijekavianlatin/okular_xps.po | 40 + po/sr@latin/okular.po | 6652 +++++++++++++ po/sr@latin/okular_comicbook.po | 48 + po/sr@latin/okular_djvu.po | 103 + po/sr@latin/okular_dvi.po | 588 ++ po/sr@latin/okular_epub.po | 46 + po/sr@latin/okular_fax.po | 36 + po/sr@latin/okular_fictionbook.po | 75 + po/sr@latin/okular_ghostview.po | 84 + po/sr@latin/okular_kimgio.po | 49 + po/sr@latin/okular_markdown.po | 55 + po/sr@latin/okular_mobi.po | 52 + po/sr@latin/okular_poppler.po | 379 + po/sr@latin/okular_txt.po | 39 + po/sr@latin/okular_xps.po | 40 + po/sv/docs/okular/configure.png | Bin 0 -> 23244 bytes po/sv/docs/okular/index.docbook | 4485 +++++++++ po/sv/docs/okular/man-okular.1.docbook | 252 + po/sv/okular.po | 6805 +++++++++++++ po/sv/okular_comicbook.po | 58 + po/sv/okular_djvu.po | 136 + po/sv/okular_dvi.po | 777 ++ po/sv/okular_epub.po | 56 + po/sv/okular_fax.po | 46 + po/sv/okular_fictionbook.po | 81 + po/sv/okular_ghostview.po | 92 + po/sv/okular_kimgio.po | 70 + po/sv/okular_markdown.po | 53 + po/sv/okular_mobi.po | 64 + po/sv/okular_poppler.po | 417 + po/sv/okular_tiff.po | 28 + po/sv/okular_txt.po | 50 + po/sv/okular_xps.po | 58 + po/sv/org.kde.active.documentviewer.po | 236 + po/ta/okular.po | 6647 +++++++++++++ po/ta/okular_djvu.po | 95 + po/ta/okular_epub.po | 43 + po/ta/okular_fax.po | 33 + po/ta/okular_fictionbook.po | 68 + po/ta/okular_ghostview.po | 74 + po/ta/okular_kimgio.po | 42 + po/ta/okular_markdown.po | 53 + po/ta/okular_poppler.po | 390 + po/ta/okular_tiff.po | 28 + po/ta/okular_txt.po | 38 + po/ta/okular_xps.po | 33 + po/ta/org.kde.active.documentviewer.po | 211 + po/tg/okular.po | 6013 ++++++++++++ po/th/okular.po | 6876 +++++++++++++ po/th/okular_comicbook.po | 58 + po/th/okular_djvu.po | 139 + po/th/okular_dvi.po | 556 ++ po/th/okular_epub.po | 56 + po/th/okular_fax.po | 45 + po/th/okular_fictionbook.po | 83 + po/th/okular_ghostview.po | 92 + po/th/okular_kimgio.po | 68 + po/th/okular_mobi.po | 65 + po/th/okular_poppler.po | 406 + po/th/okular_xps.po | 58 + po/tr/docs/okular/index.docbook | 4433 +++++++++ po/tr/docs/okular/man-okular.1.docbook | 250 + po/tr/okular.po | 6033 ++++++++++++ po/tr/okular_comicbook.po | 60 + po/tr/okular_djvu.po | 138 + po/tr/okular_dvi.po | 549 ++ po/tr/okular_epub.po | 57 + po/tr/okular_fax.po | 47 + po/tr/okular_fictionbook.po | 82 + po/tr/okular_ghostview.po | 79 + po/tr/okular_kimgio.po | 72 + po/tr/okular_markdown.po | 54 + po/tr/okular_mobi.po | 64 + po/tr/okular_poppler.po | 396 + po/tr/okular_tiff.po | 28 + po/tr/okular_txt.po | 52 + po/tr/okular_xps.po | 59 + po/tr/org.kde.active.documentviewer.po | 210 + po/ug/okular.po | 6348 ++++++++++++ po/ug/okular_comicbook.po | 50 + po/ug/okular_djvu.po | 129 + po/ug/okular_dvi.po | 470 + po/ug/okular_epub.po | 43 + po/ug/okular_fax.po | 36 + po/ug/okular_fictionbook.po | 74 + po/ug/okular_ghostview.po | 77 + po/ug/okular_kimgio.po | 52 + po/ug/okular_mobi.po | 52 + po/ug/okular_poppler.po | 373 + po/ug/okular_txt.po | 38 + po/ug/okular_xps.po | 57 + po/ug/org.kde.active.documentviewer.po | 216 + po/uk/docs/okular/annotation-properties.png | Bin 0 -> 15525 bytes po/uk/docs/okular/annotations.png | Bin 0 -> 53343 bytes po/uk/docs/okular/bookmark-management.png | Bin 0 -> 47579 bytes po/uk/docs/okular/configure-annotations.png | Bin 0 -> 31081 bytes po/uk/docs/okular/configure-backends.png | Bin 0 -> 18994 bytes po/uk/docs/okular/configure-editor.png | Bin 0 -> 19942 bytes po/uk/docs/okular/configure.png | Bin 0 -> 39958 bytes po/uk/docs/okular/embedded-files-bar.png | Bin 0 -> 4839 bytes po/uk/docs/okular/forms-bar.png | Bin 0 -> 4491 bytes po/uk/docs/okular/index.docbook | 4453 +++++++++ po/uk/docs/okular/mainwindow.png | Bin 0 -> 30048 bytes po/uk/docs/okular/man-okular.1.docbook | 250 + po/uk/docs/okular/signatures-bar.png | Bin 0 -> 2583 bytes po/uk/docs/okular/signatures-panel.png | Bin 0 -> 9729 bytes po/uk/okular.po | 6886 +++++++++++++ po/uk/okular_comicbook.po | 61 + po/uk/okular_djvu.po | 139 + po/uk/okular_dvi.po | 775 ++ po/uk/okular_epub.po | 58 + po/uk/okular_fax.po | 48 + po/uk/okular_fictionbook.po | 84 + po/uk/okular_ghostview.po | 96 + po/uk/okular_kimgio.po | 73 + po/uk/okular_markdown.po | 56 + po/uk/okular_mobi.po | 65 + po/uk/okular_poppler.po | 443 + po/uk/okular_tiff.po | 31 + po/uk/okular_txt.po | 53 + po/uk/okular_xps.po | 61 + po/uk/org.kde.active.documentviewer.po | 239 + po/vi/okular.po | 5961 ++++++++++++ po/vi/okular_comicbook.po | 47 + po/vi/okular_djvu.po | 95 + po/vi/okular_dvi.po | 461 + po/vi/okular_epub.po | 43 + po/vi/okular_fax.po | 33 + po/vi/okular_fictionbook.po | 68 + po/vi/okular_ghostview.po | 77 + po/vi/okular_kimgio.po | 42 + po/vi/okular_markdown.po | 53 + po/vi/okular_mobi.po | 50 + po/vi/okular_poppler.po | 391 + po/vi/okular_tiff.po | 28 + po/vi/okular_txt.po | 38 + po/vi/okular_xps.po | 33 + po/vi/org.kde.active.documentviewer.po | 219 + po/wa/okular.po | 6906 +++++++++++++ po/wa/okular_comicbook.po | 59 + po/wa/okular_djvu.po | 135 + po/wa/okular_epub.po | 56 + po/wa/okular_fax.po | 45 + po/wa/okular_fictionbook.po | 82 + po/wa/okular_ghostview.po | 89 + po/wa/okular_kimgio.po | 72 + po/wa/okular_mobi.po | 65 + po/wa/okular_poppler.po | 405 + po/wa/okular_xps.po | 57 + po/xh/okular.po | 5886 ++++++++++++ po/zh_CN/okular.po | 5933 ++++++++++++ po/zh_CN/okular_comicbook.po | 44 + po/zh_CN/okular_djvu.po | 95 + po/zh_CN/okular_dvi.po | 519 + po/zh_CN/okular_epub.po | 43 + po/zh_CN/okular_fax.po | 33 + po/zh_CN/okular_fictionbook.po | 68 + po/zh_CN/okular_ghostview.po | 75 + po/zh_CN/okular_kimgio.po | 40 + po/zh_CN/okular_markdown.po | 53 + po/zh_CN/okular_mobi.po | 49 + po/zh_CN/okular_poppler.po | 378 + po/zh_CN/okular_tiff.po | 28 + po/zh_CN/okular_txt.po | 38 + po/zh_CN/okular_xps.po | 33 + po/zh_CN/org.kde.active.documentviewer.po | 206 + po/zh_HK/okular.po | 6464 +++++++++++++ po/zh_TW/okular.po | 6321 ++++++++++++ po/zh_TW/okular_comicbook.po | 47 + po/zh_TW/okular_djvu.po | 98 + po/zh_TW/okular_dvi.po | 546 ++ po/zh_TW/okular_epub.po | 45 + po/zh_TW/okular_fax.po | 34 + po/zh_TW/okular_fictionbook.po | 72 + po/zh_TW/okular_ghostview.po | 78 + po/zh_TW/okular_kimgio.po | 43 + po/zh_TW/okular_markdown.po | 53 + po/zh_TW/okular_mobi.po | 50 + po/zh_TW/okular_poppler.po | 388 + po/zh_TW/okular_tiff.po | 31 + po/zh_TW/okular_txt.po | 38 + po/zh_TW/okular_xps.po | 36 + po/zh_TW/org.kde.active.documentviewer.po | 214 + shell/CMakeLists.txt | 53 + shell/main.cpp | 112 + shell/okular_main.cpp | 245 + shell/okular_main.h | 25 + shell/org.kde.okular.appdata.xml | 445 + shell/org.kde.okular.desktop | 199 + shell/shell.cpp | 1187 +++ shell/shell.h | 220 + shell/shell.qrc | 6 + shell/shell.rc | 30 + shell/shellutils.cpp | 165 + shell/shellutils.h | 47 + shell/welcomescreen.cpp | 195 + shell/welcomescreen.h | 53 + shell/welcomescreen.ui | 524 + 2074 files changed, 898986 insertions(+) create mode 100644 .clang-tidy create mode 100644 .craft.ini create mode 100644 .flatpak-manifest.json create mode 100644 .flatpak-patches/okular-mimetypes.patch create mode 100644 .flatpak-patches/vlc-ignore-time-for-cache.patch create mode 100644 .flatpak-patches/vlc-taglib-2.patch create mode 100644 .git-blame-ignore-revs create mode 100644 .gitignore create mode 100644 .gitlab-ci.yml create mode 100644 .kde-ci.yml create mode 100644 .krazy create mode 100644 CMakeLists.txt create mode 100644 LICENSES/BSD-2-Clause.txt create mode 100644 LICENSES/BSD-3-Clause.txt create mode 100644 LICENSES/GFDL-1.2-or-later.txt create mode 100644 LICENSES/GPL-2.0-only.txt create mode 100644 LICENSES/GPL-2.0-or-later.txt create mode 100644 LICENSES/GPL-3.0-only.txt create mode 100644 LICENSES/GPL-3.0-or-later.txt create mode 100644 LICENSES/LGPL-2.0-only.txt create mode 100644 LICENSES/LGPL-2.0-or-later.txt create mode 100644 LICENSES/LicenseRef-KDE-Accepted-GPL.txt create mode 100644 LICENSES/MIT.txt create mode 100644 LICENSES/X11.txt create mode 100644 Mainpage.dox create mode 100644 Messages.sh create mode 100644 Okular6Config.cmake.in create mode 100644 OkularConfigureChecks.cmake create mode 100644 README.clang-format create mode 100644 README.internals.png create mode 100644 README.md create mode 100644 TODO create mode 100644 _clang-format create mode 100644 aboutdata.h create mode 100644 autotests/CMakeLists.txt create mode 100644 autotests/addremoveannotationtest.cpp create mode 100644 autotests/annotationstest.cpp create mode 100644 autotests/annotationtoolbartest.cpp create mode 100644 autotests/calculatetexttest.cpp create mode 100644 autotests/check_distinguished_name_parser.cpp create mode 100644 autotests/closedialoghelper.cpp create mode 100644 autotests/closedialoghelper.h create mode 100644 autotests/data/1500x300.png create mode 100644 autotests/data/300x1500.png create mode 100644 autotests/data/RequestFullScreen.pdf create mode 100644 autotests/data/additionalFormActions.pdf create mode 100644 autotests/data/checkbox_ro.pdf create mode 100644 autotests/data/contents.epub create mode 100644 autotests/data/fake_okular_certstore/cert9.db create mode 100644 autotests/data/fake_okular_certstore/key4.db create mode 100644 autotests/data/fake_okular_certstore/pkcs11.txt create mode 100644 autotests/data/fieldFormat.pdf create mode 100644 autotests/data/file1-docdata.xml create mode 100644 autotests/data/file1.pdf create mode 100644 autotests/data/file1.pdf.gz create mode 100644 autotests/data/file2.pdf create mode 100644 autotests/data/formSamples.pdf create mode 100644 autotests/data/formattest.pdf create mode 100644 autotests/data/hello_with_dummy_signature.pdf create mode 100644 autotests/data/imageSizes.md create mode 100644 autotests/data/imageUrlsWithSpecialChars.md create mode 100644 "autotests/data/kart\303\266ffelchen.jpg" create mode 100644 autotests/data/keystroketest.pdf create mode 100644 autotests/data/kjsfunctionstest.pdf create mode 100644 autotests/data/pdf_with_internal_links.pdf create mode 100644 autotests/data/pdf_with_internal_links.tex create mode 100644 autotests/data/pdf_with_links.pdf create mode 100644 autotests/data/pdf_with_signature.pdf create mode 100644 autotests/data/potato.jpg create mode 100644 autotests/data/protected.pdf create mode 100755 autotests/data/simple-multipage.pdf create mode 100755 autotests/data/simple-multipage.tex create mode 100644 autotests/data/simpleCalculate.pdf create mode 100644 autotests/data/strikethrough.md create mode 100644 autotests/data/synctextest.pdf create mode 100644 autotests/data/synctextest.synctex.gz create mode 100644 autotests/data/synctextest.tex create mode 100644 autotests/data/tocreload.pdf create mode 100644 autotests/data/visibilitytest.pdf create mode 100644 autotests/documenttest.cpp create mode 100644 autotests/editannotationcontentstest.cpp create mode 100644 autotests/editdrawingtooldialogtest.cpp create mode 100644 autotests/editdrawingtooldialogtest.h create mode 100644 autotests/editformstest.cpp create mode 100644 autotests/formattest.cpp create mode 100644 autotests/generatorstest.cpp create mode 100644 autotests/jsfunctionstest.cpp create mode 100644 autotests/keystroketest.cpp create mode 100644 autotests/mainshelltest.cpp create mode 100644 autotests/markdowntest.cpp create mode 100644 autotests/modifyannotationpropertiestest.cpp create mode 100644 autotests/parttest.cpp create mode 100644 autotests/searchtest.cpp create mode 100644 autotests/shelltest.cpp create mode 100644 autotests/signatureformtest.cpp create mode 100644 autotests/signunsignedfieldtest.cpp create mode 100644 autotests/suggestedfilenametest.cpp create mode 100644 autotests/testingutils.cpp create mode 100644 autotests/testingutils.h create mode 100644 autotests/toggleactionmenutest.cpp create mode 100644 autotests/translateannotationtest.cpp create mode 100644 autotests/urldetecttest.cpp create mode 100644 autotests/visibilitytest.cpp create mode 100644 cmake/modules/FindDiscount.cmake create mode 100644 cmake/modules/FindDjVuLibre.cmake create mode 100644 cmake/modules/FindEPub.cmake create mode 100644 cmake/modules/FindLibSpectre.cmake create mode 100644 conf/okular.kcfg create mode 100644 conf/okular_core.kcfg create mode 100644 conf/settings.kcfgc create mode 100644 conf/settings_core.kcfgc create mode 100644 conf/settings_mobile.kcfgc create mode 100644 config-okular.h.cmake create mode 100644 core/action.cpp create mode 100644 core/action.h create mode 100644 core/annotations.cpp create mode 100644 core/annotations.h create mode 100644 core/annotations_p.h create mode 100644 core/area.cpp create mode 100644 core/area.h create mode 100644 core/audioplayer.cpp create mode 100644 core/audioplayer.h create mode 100644 core/bookmarkmanager.cpp create mode 100644 core/bookmarkmanager.h create mode 100644 core/chooseenginedialog.cpp create mode 100644 core/chooseenginedialog_p.h create mode 100644 core/chooseenginewidget.ui create mode 100644 core/debug.cpp create mode 100644 core/debug_p.h create mode 100644 core/document.cpp create mode 100644 core/document.h create mode 100644 core/document_p.h create mode 100644 core/documentcommands.cpp create mode 100644 core/documentcommands_p.h create mode 100644 core/fileprinter.cpp create mode 100644 core/fileprinter.h create mode 100644 core/fontinfo.cpp create mode 100644 core/fontinfo.h create mode 100644 core/form.cpp create mode 100644 core/form.h create mode 100644 core/form_p.h create mode 100644 core/generator.cpp create mode 100644 core/generator.h create mode 100644 core/generator_p.cpp create mode 100644 core/generator_p.h create mode 100644 core/global.h create mode 100644 core/misc.cpp create mode 100644 core/misc.h create mode 100644 core/movie.cpp create mode 100644 core/movie.h create mode 100644 core/observer.cpp create mode 100644 core/observer.h create mode 100644 core/page.cpp create mode 100644 core/page.h create mode 100644 core/page_p.h create mode 100644 core/pagecontroller.cpp create mode 100644 core/pagecontroller_p.h create mode 100644 core/pagesize.cpp create mode 100644 core/pagesize.h create mode 100644 core/pagetransition.cpp create mode 100644 core/pagetransition.h create mode 100644 core/printoptionswidget.cpp create mode 100644 core/printoptionswidget.h create mode 100644 core/rotationjob.cpp create mode 100644 core/rotationjob_p.h create mode 100644 core/script/builtin.js create mode 100644 core/script/builtin.qrc create mode 100644 core/script/event.cpp create mode 100644 core/script/event_p.h create mode 100644 core/script/executor_js.cpp create mode 100644 core/script/executor_js_p.h create mode 100644 core/script/js_app.cpp create mode 100644 core/script/js_app_p.h create mode 100644 core/script/js_console.cpp create mode 100644 core/script/js_console_p.h create mode 100644 core/script/js_data.cpp create mode 100644 core/script/js_data_p.h create mode 100644 core/script/js_display.cpp create mode 100644 core/script/js_display_p.h create mode 100644 core/script/js_document.cpp create mode 100644 core/script/js_document_p.h create mode 100644 core/script/js_event.cpp create mode 100644 core/script/js_event_p.h create mode 100644 core/script/js_field.cpp create mode 100644 core/script/js_field_p.h create mode 100644 core/script/js_fullscreen.cpp create mode 100644 core/script/js_fullscreen_p.h create mode 100644 core/script/js_global.cpp create mode 100644 core/script/js_global_p.h create mode 100644 core/script/js_ocg.cpp create mode 100644 core/script/js_ocg_p.h create mode 100644 core/script/js_spell.cpp create mode 100644 core/script/js_spell_p.h create mode 100644 core/script/js_util.cpp create mode 100644 core/script/js_util_p.h create mode 100644 core/scripter.cpp create mode 100644 core/scripter.h create mode 100644 core/signatureutils.cpp create mode 100644 core/signatureutils.h create mode 100644 core/sound.cpp create mode 100644 core/sound.h create mode 100644 core/sourcereference.cpp create mode 100644 core/sourcereference.h create mode 100644 core/sourcereference_p.h create mode 100644 core/stamps.svg create mode 100644 core/synctex/patches/00-disable-SYNCTEX_INLINE.diff create mode 100644 core/synctex/patches/04-gcc-specify-printf-format.diff create mode 100644 core/synctex/patches/06-mingw-_synctex_error.diff create mode 100644 core/synctex/patches/08-fix_cpp_comments.diff create mode 100644 core/synctex/patches/10-fix-typo.diff create mode 100644 core/synctex/patches/11-fix-unused-parameters-warnings.diff create mode 100644 core/synctex/patches/12-omit-no-file-warning.diff create mode 100644 core/synctex/patches/13-fix-Wundef-warnings.diff create mode 100644 core/synctex/patches/14-fix-misc-compiler-warnings.diff create mode 100644 core/synctex/patches/15-prevent-leaks-and-segfault.diff create mode 100644 core/synctex/patches/16-use-windows-ansi-api-path-find.diff create mode 100644 core/synctex/patches/17-call-va_end-before-return.diff create mode 100644 core/synctex/patches/18-Include-stdarg.h-for-va_start-and-va_end.diff create mode 100644 core/synctex/patches/series create mode 100644 core/synctex/synctex_parser.c create mode 100644 core/synctex/synctex_parser.h create mode 100644 core/synctex/synctex_parser_advanced.h create mode 100644 core/synctex/synctex_parser_local.h create mode 100644 core/synctex/synctex_parser_readme.md create mode 100644 core/synctex/synctex_parser_utils.c create mode 100644 core/synctex/synctex_parser_utils.h create mode 100644 core/synctex/synctex_parser_version.txt create mode 100644 core/textdocumentgenerator.cpp create mode 100644 core/textdocumentgenerator.h create mode 100644 core/textdocumentgenerator_p.h create mode 100644 core/textdocumentsettings.cpp create mode 100644 core/textdocumentsettings.h create mode 100644 core/textdocumentsettings.ui create mode 100644 core/textdocumentsettings_p.h create mode 100644 core/texteditors_p.h create mode 100644 core/textpage.cpp create mode 100644 core/textpage.h create mode 100644 core/textpage_p.h create mode 100644 core/tile.h create mode 100644 core/tilesmanager.cpp create mode 100644 core/tilesmanager_p.h create mode 100644 core/utils.cpp create mode 100644 core/utils.h create mode 100644 core/utils_p.h create mode 100644 core/view.cpp create mode 100644 core/view.h create mode 100644 core/view_p.h create mode 100644 cppcheck-suppressions.xml create mode 100644 doc/CMakeLists.txt create mode 100644 doc/annotation-properties.png create mode 100644 doc/annotations.png create mode 100644 doc/bookmark-management.png create mode 100644 doc/bookmarks.png create mode 100644 doc/config-pdf-digital-signatures.png create mode 100644 doc/configure-annotations.png create mode 100644 doc/configure-backends.png create mode 100644 doc/configure-editor.png create mode 100644 doc/configure.png create mode 100644 doc/embedded-files-bar.png create mode 100644 doc/enhance-lowcontrast.png create mode 100644 doc/enhance-shape.png create mode 100644 doc/enhance-solid.png create mode 100644 doc/enhance-thinline.png create mode 100644 doc/forms-bar.png create mode 100644 doc/index.docbook create mode 100644 doc/mainwindow.png create mode 100644 doc/man-okular.1.docbook create mode 100644 doc/presentation.png create mode 100644 doc/signatures-bar.png create mode 100644 doc/signatures-panel.png create mode 100644 doc/tool-draw-arrow.png create mode 100644 doc/tool-draw-ellipse.png create mode 100644 doc/tool-draw-freehand.png create mode 100644 doc/tool-draw-highlight.png create mode 100644 doc/tool-draw-line.png create mode 100644 doc/tool-draw-polyline.png create mode 100644 doc/tool-draw-rectangle.png create mode 100644 doc/tool-edit-comment.png create mode 100644 doc/tool-edit-line-width.png create mode 100644 doc/tool-edit-opacity.png create mode 100644 doc/tool-favorite.png create mode 100644 doc/tool-fill-color.png create mode 100644 doc/tool-font-face.png create mode 100644 doc/tool-format-text-color.png create mode 100644 doc/tool-format-text-strikethrough.png create mode 100644 doc/tool-format-text-underline-squiggle.png create mode 100644 doc/tool-format-text-underline.png create mode 100644 doc/tool-note.png create mode 100644 doc/tool-pin.png create mode 100644 doc/tool-settings-configure.png create mode 100644 doc/tool-tag.png create mode 100644 doc/tool-tool-text.png create mode 100644 doc/tool-window-pin.png create mode 100644 generators/CMakeLists.txt create mode 100644 generators/comicbook/CMakeLists.txt create mode 100755 generators/comicbook/Messages.sh create mode 100644 generators/comicbook/autotests/comicbooktest.cpp create mode 100644 generators/comicbook/autotests/data/rotated_cb.cbz create mode 100644 generators/comicbook/debug_comicbook.h create mode 100644 generators/comicbook/directory.cpp create mode 100644 generators/comicbook/directory.h create mode 100644 generators/comicbook/document.cpp create mode 100644 generators/comicbook/document.h create mode 100644 generators/comicbook/generator_comicbook.cpp create mode 100644 generators/comicbook/generator_comicbook.h create mode 100644 generators/comicbook/libokularGenerator_comicbook.json create mode 100755 generators/comicbook/okularApplication_comicbook.desktop create mode 100644 generators/comicbook/org.kde.mobile.okular_comicbook.desktop create mode 100644 generators/comicbook/org.kde.okular-comicbook.metainfo.xml create mode 100644 generators/comicbook/qnatsort.cpp create mode 100644 generators/comicbook/qnatsort.h create mode 100644 generators/comicbook/unrar.cpp create mode 100644 generators/comicbook/unrar.h create mode 100644 generators/comicbook/unrarflavours.cpp create mode 100644 generators/comicbook/unrarflavours.h create mode 100644 generators/djvu/CMakeLists.txt create mode 100644 generators/djvu/Messages.sh create mode 100644 generators/djvu/TODO create mode 100644 generators/djvu/generator_djvu.cpp create mode 100644 generators/djvu/generator_djvu.h create mode 100644 generators/djvu/kdjvu.cpp create mode 100644 generators/djvu/kdjvu.h create mode 100644 generators/djvu/libokularGenerator_djvu.json create mode 100755 generators/djvu/okularApplication_djvu.desktop create mode 100644 generators/djvu/org.kde.mobile.okular_djvu.desktop create mode 100644 generators/djvu/org.kde.okular-djvu.metainfo.xml create mode 100644 generators/dvi/CMakeLists.txt create mode 100644 generators/dvi/Messages.sh create mode 100644 generators/dvi/TeXFont.cpp create mode 100644 generators/dvi/TeXFont.h create mode 100644 generators/dvi/TeXFontDefinition.cpp create mode 100644 generators/dvi/TeXFontDefinition.h create mode 100644 generators/dvi/TeXFont_PFB.cpp create mode 100644 generators/dvi/TeXFont_PFB.h create mode 100644 generators/dvi/TeXFont_PK.cpp create mode 100644 generators/dvi/TeXFont_PK.h create mode 100644 generators/dvi/TeXFont_TFM.cpp create mode 100644 generators/dvi/TeXFont_TFM.h create mode 100644 generators/dvi/anchor.h create mode 100644 generators/dvi/bigEndianByteReader.cpp create mode 100644 generators/dvi/bigEndianByteReader.h create mode 100644 generators/dvi/config.h create mode 100644 generators/dvi/debug_dvi.h create mode 100644 generators/dvi/dvi.h create mode 100644 generators/dvi/dviFile.cpp create mode 100644 generators/dvi/dviFile.h create mode 100644 generators/dvi/dviPageInfo.cpp create mode 100644 generators/dvi/dviPageInfo.h create mode 100644 generators/dvi/dviRenderer.cpp create mode 100644 generators/dvi/dviRenderer.h create mode 100644 generators/dvi/dviRenderer_dr.cpp create mode 100644 generators/dvi/dviRenderer_draw.cpp create mode 100644 generators/dvi/dviRenderer_prescan.cpp create mode 100644 generators/dvi/dviexport.cpp create mode 100644 generators/dvi/dviexport.h create mode 100644 generators/dvi/dvisourcesplitter.cpp create mode 100644 generators/dvi/dvisourcesplitter.h create mode 100644 generators/dvi/fontEncoding.cpp create mode 100644 generators/dvi/fontEncoding.h create mode 100644 generators/dvi/fontEncodingPool.cpp create mode 100644 generators/dvi/fontEncodingPool.h create mode 100644 generators/dvi/fontMap.cpp create mode 100644 generators/dvi/fontMap.h create mode 100644 generators/dvi/fontpool.cpp create mode 100644 generators/dvi/fontpool.h create mode 100644 generators/dvi/generator_dvi.cpp create mode 100644 generators/dvi/generator_dvi.h create mode 100644 generators/dvi/glyph.cpp create mode 100644 generators/dvi/glyph.h create mode 100644 generators/dvi/hyperlink.h create mode 100644 generators/dvi/length.cpp create mode 100644 generators/dvi/length.h create mode 100644 generators/dvi/libokularGenerator_dvi.json create mode 100755 generators/dvi/okularApplication_dvi.desktop create mode 100644 generators/dvi/org.kde.mobile.okular_dvi.desktop create mode 100644 generators/dvi/org.kde.okular-dvi.metainfo.xml create mode 100644 generators/dvi/pageNumber.h create mode 100644 generators/dvi/pageSize.cpp create mode 100644 generators/dvi/pageSize.h create mode 100644 generators/dvi/prebookmark.h create mode 100644 generators/dvi/psgs.cpp create mode 100644 generators/dvi/psgs.h create mode 100644 generators/dvi/psheader.cpp create mode 100644 generators/dvi/simplePageSize.cpp create mode 100644 generators/dvi/simplePageSize.h create mode 100644 generators/dvi/special.cpp create mode 100644 generators/dvi/textBox.h create mode 100644 generators/dvi/util.cpp create mode 100644 generators/dvi/vf.cpp create mode 100644 generators/dvi/xdvi.h create mode 100644 generators/epub/CMakeLists.txt create mode 100755 generators/epub/Messages.sh create mode 100644 generators/epub/README create mode 100644 generators/epub/autotests/data/test.epub create mode 100644 generators/epub/autotests/epubgeneratortest.cpp create mode 100644 generators/epub/converter.cpp create mode 100644 generators/epub/converter.h create mode 100644 generators/epub/data/CMakeLists.txt create mode 100644 generators/epub/data/okular-epub-movie.png create mode 100644 generators/epub/data/okular-epub-sound-icon.png create mode 100644 generators/epub/epubdocument.cpp create mode 100644 generators/epub/epubdocument.h create mode 100644 generators/epub/generator_epub.cpp create mode 100644 generators/epub/generator_epub.h create mode 100644 generators/epub/libokularGenerator_epub.json create mode 100755 generators/epub/okularApplication_epub.desktop create mode 100644 generators/epub/org.kde.mobile.okular_epub.desktop create mode 100644 generators/epub/org.kde.okular-epub.metainfo.xml create mode 100644 generators/fax/CMakeLists.txt create mode 100644 generators/fax/Messages.sh create mode 100644 generators/fax/fax_debug.cpp create mode 100644 generators/fax/fax_debug.h create mode 100644 generators/fax/faxdocument.cpp create mode 100644 generators/fax/faxdocument.h create mode 100644 generators/fax/faxexpand.cpp create mode 100644 generators/fax/faxexpand.h create mode 100644 generators/fax/faxinit.cpp create mode 100644 generators/fax/generator_fax.cpp create mode 100644 generators/fax/generator_fax.h create mode 100644 generators/fax/libokularGenerator_fax.json create mode 100755 generators/fax/okularApplication_fax.desktop create mode 100644 generators/fax/org.kde.mobile.okular_fax.desktop create mode 100644 generators/fax/org.kde.okular-fax.metainfo.xml create mode 100644 generators/fictionbook/16-apps-okular-fb2.png create mode 100644 generators/fictionbook/32-apps-okular-fb2.png create mode 100644 generators/fictionbook/48-apps-okular-fb2.png create mode 100644 generators/fictionbook/CMakeLists.txt create mode 100644 generators/fictionbook/Messages.sh create mode 100644 generators/fictionbook/converter.cpp create mode 100644 generators/fictionbook/converter.h create mode 100644 generators/fictionbook/document.cpp create mode 100644 generators/fictionbook/document.h create mode 100644 generators/fictionbook/generator_fb.cpp create mode 100644 generators/fictionbook/generator_fb.h create mode 100644 generators/fictionbook/hi32-app-okular-fb2.svg create mode 100644 generators/fictionbook/libokularGenerator_fb.json create mode 100755 generators/fictionbook/okularApplication_fb.desktop create mode 100644 generators/fictionbook/org.kde.mobile.okular_fb.desktop create mode 100644 generators/fictionbook/org.kde.okular-fb.metainfo.xml create mode 100644 generators/kimgio/CMakeLists.txt create mode 100644 generators/kimgio/Messages.sh create mode 100644 generators/kimgio/generator_kimgio.cpp create mode 100644 generators/kimgio/generator_kimgio.h create mode 100644 generators/kimgio/libokularGenerator_kimgio.json create mode 100755 generators/kimgio/okularApplication_kimgio.desktop create mode 100755 generators/kimgio/org.kde.mobile.okular_kimgio.desktop create mode 100644 generators/kimgio/org.kde.okular-kimgio.metainfo.xml create mode 100644 generators/kimgio/tests/data/testExifOrientation-0.jpg create mode 100644 generators/kimgio/tests/data/testExifOrientation-0mirror.jpg create mode 100644 generators/kimgio/tests/data/testExifOrientation-180.jpg create mode 100644 generators/kimgio/tests/data/testExifOrientation-180mirror.jpg create mode 100644 generators/kimgio/tests/data/testExifOrientation-270.jpg create mode 100644 generators/kimgio/tests/data/testExifOrientation-270mirror.jpg create mode 100644 generators/kimgio/tests/data/testExifOrientation-90.jpg create mode 100644 generators/kimgio/tests/data/testExifOrientation-90mirror.jpg create mode 100644 generators/kimgio/tests/data/testExifOrientation-noexif.jpg create mode 100644 generators/kimgio/tests/data/testExifOrientation-unspecified.jpg create mode 100644 generators/kimgio/tests/kimgiotest.cpp create mode 100644 generators/markdown/CMakeLists.txt create mode 100644 generators/markdown/Messages.sh create mode 100644 generators/markdown/converter.cpp create mode 100644 generators/markdown/converter.h create mode 100644 generators/markdown/debug_md.h create mode 100644 generators/markdown/generator_md.cpp create mode 100644 generators/markdown/generator_md.h create mode 100644 generators/markdown/libokularGenerator_md.json create mode 100644 generators/markdown/okularApplication_md.desktop create mode 100644 generators/markdown/org.kde.mobile.okular_md.desktop create mode 100644 generators/markdown/org.kde.okular-md.metainfo.xml create mode 100644 generators/mobipocket/CMakeLists.txt create mode 100755 generators/mobipocket/Messages.sh create mode 100644 generators/mobipocket/converter.cpp create mode 100644 generators/mobipocket/converter.h create mode 100644 generators/mobipocket/generator_mobi.cpp create mode 100644 generators/mobipocket/generator_mobi.h create mode 100644 generators/mobipocket/libokularGenerator_mobi.json create mode 100644 generators/mobipocket/mobidocument.cpp create mode 100644 generators/mobipocket/mobidocument.h create mode 100755 generators/mobipocket/okularApplication_mobi.desktop create mode 100755 generators/mobipocket/org.kde.mobile.okular_mobi.desktop create mode 100644 generators/mobipocket/org.kde.okular-mobipocket.metainfo.xml create mode 100644 generators/poppler/CMakeLists.txt create mode 100644 generators/poppler/Messages.sh create mode 100644 generators/poppler/annots.cpp create mode 100644 generators/poppler/annots.h create mode 100644 generators/poppler/autotests/testimagescaling.cpp create mode 100644 generators/poppler/conf/CMakeLists.txt create mode 100644 generators/poppler/conf/pdfsettings.kcfg create mode 100644 generators/poppler/conf/pdfsettings.kcfgc create mode 100644 generators/poppler/conf/pdfsettingswidget.ui create mode 100644 generators/poppler/debug_pdf.h create mode 100644 generators/poppler/formfields.cpp create mode 100644 generators/poppler/formfields.h create mode 100644 generators/poppler/generator_pdf.cpp create mode 100644 generators/poppler/generator_pdf.h create mode 100644 generators/poppler/imagescaling.cpp create mode 100644 generators/poppler/imagescaling.h create mode 100644 generators/poppler/libokularGenerator_poppler.json create mode 100755 generators/poppler/okularApplication_pdf.desktop create mode 100644 generators/poppler/org.kde.mobile.okular_pdf.desktop create mode 100644 generators/poppler/org.kde.okular-poppler.metainfo.xml create mode 100644 generators/poppler/pdfsettingswidget.cpp create mode 100644 generators/poppler/pdfsettingswidget.h create mode 100644 generators/poppler/pdfsignatureutils.cpp create mode 100644 generators/poppler/pdfsignatureutils.h create mode 100644 generators/poppler/popplerembeddedfile.h create mode 100644 generators/spectre/16-apps-okular-gv.png create mode 100644 generators/spectre/32-apps-okular-gv.png create mode 100644 generators/spectre/CMakeLists.txt create mode 100644 generators/spectre/DESIGN create mode 100644 generators/spectre/Messages.sh create mode 100644 generators/spectre/conf/CMakeLists.txt create mode 100644 generators/spectre/conf/gssettings.kcfg create mode 100644 generators/spectre/conf/gssettings.kcfgc create mode 100644 generators/spectre/conf/gssettingswidget.ui create mode 100644 generators/spectre/generator_ghostview.cpp create mode 100644 generators/spectre/generator_ghostview.h create mode 100644 generators/spectre/libokularGenerator_ghostview.json create mode 100755 generators/spectre/okularApplication_ghostview.desktop create mode 100644 generators/spectre/org.kde.mobile.okular_ghostview.desktop create mode 100644 generators/spectre/org.kde.okular-spectre.metainfo.xml create mode 100644 generators/spectre/rendererthread.cpp create mode 100644 generators/spectre/rendererthread.h create mode 100644 generators/spectre/spectre_debug.cpp create mode 100644 generators/spectre/spectre_debug.h create mode 100644 generators/tiff/CMakeLists.txt create mode 100644 generators/tiff/Messages.sh create mode 100644 generators/tiff/generator_tiff.cpp create mode 100644 generators/tiff/generator_tiff.h create mode 100644 generators/tiff/libokularGenerator_tiff.json create mode 100755 generators/tiff/okularApplication_tiff.desktop create mode 100644 generators/tiff/org.kde.mobile.okular_tiff.desktop create mode 100644 generators/tiff/org.kde.okular-tiff.metainfo.xml create mode 100644 generators/txt/CMakeLists.txt create mode 100644 generators/txt/Messages.sh create mode 100644 generators/txt/converter.cpp create mode 100644 generators/txt/converter.h create mode 100644 generators/txt/debug_txt.h create mode 100644 generators/txt/document.cpp create mode 100644 generators/txt/document.h create mode 100644 generators/txt/generator_txt.cpp create mode 100644 generators/txt/generator_txt.h create mode 100644 generators/txt/libokularGenerator_txt.json create mode 100644 generators/txt/okularApplication_txt.desktop create mode 100644 generators/txt/org.kde.mobile.okular_txt.desktop create mode 100644 generators/txt/org.kde.okular-txt.metainfo.xml create mode 100644 generators/xps/.emacs-dirvars create mode 100644 generators/xps/CMakeLists.txt create mode 100644 generators/xps/Messages.sh create mode 100644 generators/xps/generator_xps.cpp create mode 100644 generators/xps/generator_xps.h create mode 100644 generators/xps/libokularGenerator_xps.json create mode 100755 generators/xps/okularApplication_xps.desktop create mode 100644 generators/xps/org.kde.mobile.okular_xps.desktop create mode 100644 generators/xps/org.kde.okular-xps.metainfo.xml create mode 100644 gui/certificatemodel.cpp create mode 100644 gui/certificatemodel.h create mode 100644 gui/debug_ui.cpp create mode 100644 gui/debug_ui.h create mode 100644 gui/guiutils.cpp create mode 100644 gui/guiutils.h create mode 100644 gui/pagepainter.cpp create mode 100644 gui/pagepainter.h create mode 100644 gui/priorities.h create mode 100644 gui/recentitemsmodel.cpp create mode 100644 gui/recentitemsmodel.h create mode 100644 gui/signatureguiutils.cpp create mode 100644 gui/signatureguiutils.h create mode 100644 gui/signaturemodel.cpp create mode 100644 gui/signaturemodel.h create mode 100644 gui/tocmodel.cpp create mode 100644 gui/tocmodel.h create mode 100755 hooks/pre-commit create mode 100644 icons/128-apps-okular.png create mode 100644 icons/150-apps-okular.png create mode 100644 icons/16-apps-okular.png create mode 100644 icons/22-apps-okular.png create mode 100644 icons/310-apps-okular.png create mode 100644 icons/32-apps-okular.png create mode 100644 icons/44-apps-okular.png create mode 100644 icons/48-apps-okular.png create mode 100644 icons/512-apps-okular.png create mode 100644 icons/64-apps-okular.png create mode 100644 icons/CMakeLists.txt create mode 100644 icons/hisc-apps-okular.svgz create mode 100644 icons/small/hi16-apps-okular.svgz create mode 100644 icons/small/hi22-apps-okular.svgz create mode 100644 interfaces/configinterface.h create mode 100644 interfaces/guiinterface.h create mode 100644 interfaces/printinterface.h create mode 100644 interfaces/saveinterface.h create mode 100644 interfaces/viewerinterface.h create mode 100644 kdocumentviewer.h create mode 100644 metainfo.yaml create mode 100644 mobile/CMakeLists.txt create mode 100644 mobile/android/AndroidManifest.xml create mode 120000 mobile/android/icon-playstore.png create mode 100644 mobile/android/res/drawable/icon.png create mode 100644 mobile/android/src/OpenFileActivity.java create mode 100644 mobile/app/CMakeLists.txt create mode 100644 mobile/app/Messages.sh create mode 100644 mobile/app/android.cpp create mode 100644 mobile/app/android.h create mode 100644 mobile/app/main.cpp create mode 100644 mobile/app/org.kde.okular.kirigami.appdata.xml create mode 100644 mobile/app/package/metadata.desktop create mode 100644 mobile/app/ui/Bookmarks.qml create mode 100644 mobile/app/ui/CertificateViewerPage.qml create mode 100644 mobile/app/ui/Main.qml create mode 100644 mobile/app/ui/MainView.qml create mode 100644 mobile/app/ui/OkularDrawer.qml create mode 100644 mobile/app/ui/SignaturePropertiesPage.qml create mode 100644 mobile/app/ui/Signatures.qml create mode 100644 mobile/app/ui/TableOfContents.qml create mode 100644 mobile/app/ui/Thumbnails.qml create mode 100644 mobile/app/ui/ThumbnailsBase.qml create mode 100644 mobile/app/ui/TreeItem.qml create mode 100644 mobile/app/ui/TreeViewDecoration.qml create mode 100644 mobile/app/ui/WelcomeView.qml create mode 100644 mobile/components/CMakeLists.txt create mode 100644 mobile/components/DocumentView.qml create mode 100644 mobile/components/Messages.sh create mode 100644 mobile/components/documentitem.cpp create mode 100644 mobile/components/documentitem.h create mode 100644 mobile/components/okularsingleton.cpp create mode 100644 mobile/components/okularsingleton.h create mode 100644 mobile/components/pageitem.cpp create mode 100644 mobile/components/pageitem.h create mode 100644 mobile/components/private/PageView.qml create mode 100644 mobile/components/settings.h create mode 100644 mobile/components/test.qml create mode 100644 mobile/components/testDocumentView.qml create mode 100644 mobile/components/thumbnailitem.cpp create mode 100644 mobile/components/thumbnailitem.h create mode 100644 mobile/components/types.cpp create mode 100644 mobile/components/types.h create mode 100644 mobile/components/welcomeitem.cpp create mode 100644 mobile/components/welcomeitem.h create mode 100644 okular-cppcheck.xml create mode 100644 okular.categories create mode 100644 okular_part.json create mode 100644 part/CMakeLists.txt create mode 100644 part/DistinguishedNameParser.h create mode 100644 part/actionbar.cpp create mode 100644 part/actionbar.h create mode 100644 part/annotationactionhandler.cpp create mode 100644 part/annotationactionhandler.h create mode 100644 part/annotationmodel.cpp create mode 100644 part/annotationmodel.h create mode 100644 part/annotationpopup.cpp create mode 100644 part/annotationpopup.h create mode 100644 part/annotationpropertiesdialog.cpp create mode 100644 part/annotationpropertiesdialog.h create mode 100644 part/annotationproxymodels.cpp create mode 100644 part/annotationproxymodels.h create mode 100644 part/annotationtools.cpp create mode 100644 part/annotationtools.h create mode 100644 part/annotationwidgets.cpp create mode 100644 part/annotationwidgets.h create mode 100644 part/annotwindow.cpp create mode 100644 part/annotwindow.h create mode 100644 part/bookmarklist.cpp create mode 100644 part/bookmarklist.h create mode 100644 part/certificateviewer.cpp create mode 100644 part/certificateviewer.h create mode 100644 part/colormodemenu.cpp create mode 100644 part/colormodemenu.h create mode 100644 part/cursorwraphelper.cpp create mode 100644 part/cursorwraphelper.h create mode 100644 part/data/CMakeLists.txt create mode 100644 part/data/README.Icons create mode 100644 part/data/checkmark.png create mode 100644 part/data/circle.png create mode 100644 part/data/comment.png create mode 100644 part/data/cross.png create mode 100644 part/data/drawingtools.xml create mode 100644 part/data/help.png create mode 100644 part/data/insert.png create mode 100644 part/data/key.png create mode 100644 part/data/newparagraph.png create mode 100644 part/data/note.png create mode 100644 part/data/paperclip.png create mode 100644 part/data/paragraph.png create mode 100644 part/data/pushpin.png create mode 100644 part/data/rightarrow.png create mode 100644 part/data/rightpointer.png create mode 100644 part/data/sources/checkmark.svgz create mode 100644 part/data/sources/circle.svgz create mode 100644 part/data/sources/comment.svgz create mode 100644 part/data/sources/cross.svgz create mode 100644 part/data/sources/ghns.svg create mode 100644 part/data/sources/help.svgz create mode 100644 part/data/sources/insert.svgz create mode 100644 part/data/sources/key.svgz create mode 100644 part/data/sources/newparagraph.svgz create mode 100644 part/data/sources/note.svgz create mode 100644 part/data/sources/paragraph.svgz create mode 100644 part/data/sources/rightarrow.svgz create mode 100644 part/data/sources/rightpointer.svgz create mode 100644 part/data/sources/star.svgz create mode 100644 part/data/sources/tool-base-okular.svgz create mode 100644 part/data/sources/tool-ellipse-okular.svgz create mode 100644 part/data/sources/tool-highlighter-okular-colorizable.svgz create mode 100644 part/data/sources/tool-highlighter-okular.svgz create mode 100644 part/data/sources/tool-ink-okular-colorizable.svgz create mode 100644 part/data/sources/tool-ink-okular.svgz create mode 100644 part/data/sources/tool-line-okular.svgz create mode 100644 part/data/sources/tool-note-inline-okular-colorizable.svgz create mode 100644 part/data/sources/tool-note-inline-okular.svgz create mode 100644 part/data/sources/tool-note-okular-colorizable.svgz create mode 100644 part/data/sources/tool-note-okular.svgz create mode 100644 part/data/sources/tool-polygon-okular.svgz create mode 100644 part/data/sources/tool-stamp-okular.svgz create mode 100644 part/data/sources/tool-typewriter-okular-colorizable.svgz create mode 100644 part/data/sources/tool-underline-okular.svgz create mode 100644 part/data/sources/uparrow.svgz create mode 100644 part/data/sources/upleftarrow.svgz create mode 100644 part/data/star.png create mode 100644 part/data/tool-base-okular.png create mode 100644 part/data/tool-base-okular@2x.png create mode 100644 part/data/tool-highlighter-okular-colorizable.png create mode 100644 part/data/tool-highlighter-okular-colorizable@2x.png create mode 100644 part/data/tool-ink-okular-colorizable.png create mode 100644 part/data/tool-ink-okular-colorizable@2x.png create mode 100644 part/data/tool-note-inline-okular-colorizable.png create mode 100644 part/data/tool-note-inline-okular-colorizable@2x.png create mode 100644 part/data/tool-note-inline.png create mode 100644 part/data/tool-note-okular-colorizable.png create mode 100644 part/data/tool-note-okular-colorizable@2x.png create mode 100644 part/data/tool-note.png create mode 100644 part/data/tool-typewriter-okular-colorizable.png create mode 100644 part/data/tool-typewriter-okular-colorizable@2x.png create mode 100644 part/data/tool_hl_orange.png create mode 100644 part/data/tool_hl_pink.png create mode 100644 part/data/tool_hl_yellow.png create mode 100644 part/data/tool_ink_green.png create mode 100644 part/data/tool_note.png create mode 100644 part/data/tools.xml create mode 100644 part/data/toolsQuick.xml create mode 100644 part/data/uparrow.png create mode 100644 part/data/upleftarrow.png create mode 100644 part/dlgaccessibility.cpp create mode 100644 part/dlgaccessibility.h create mode 100644 part/dlgannotations.cpp create mode 100644 part/dlgannotations.h create mode 100644 part/dlgdebug.cpp create mode 100644 part/dlgdebug.h create mode 100644 part/dlgeditor.cpp create mode 100644 part/dlgeditor.h create mode 100644 part/dlggeneral.cpp create mode 100644 part/dlggeneral.h create mode 100644 part/dlgperformance.cpp create mode 100644 part/dlgperformance.h create mode 100644 part/dlgpresentation.cpp create mode 100644 part/dlgpresentation.h create mode 100644 part/drawingtoolactions.cpp create mode 100644 part/drawingtoolactions.h create mode 100644 part/editannottooldialog.cpp create mode 100644 part/editannottooldialog.h create mode 100644 part/editdrawingtooldialog.cpp create mode 100644 part/editdrawingtooldialog.h create mode 100644 part/embeddedfilesdialog.cpp create mode 100644 part/embeddedfilesdialog.h create mode 100644 part/extensions.cpp create mode 100644 part/extensions.h create mode 100644 part/fileprinterpreview.cpp create mode 100644 part/fileprinterpreview.h create mode 100644 part/findbar.cpp create mode 100644 part/findbar.h create mode 100644 part/formwidgets.cpp create mode 100644 part/formwidgets.h create mode 100644 part/kleopatraintegration.cpp create mode 100644 part/kleopatraintegration.h create mode 100644 part/ktreeviewsearchline.cpp create mode 100644 part/ktreeviewsearchline.h create mode 100644 part/latexrenderer.cpp create mode 100644 part/latexrenderer.h create mode 100644 part/layers.cpp create mode 100644 part/layers.h create mode 100644 part/magnifierview.cpp create mode 100644 part/magnifierview.h create mode 100644 part/minibar.cpp create mode 100644 part/minibar.h create mode 100644 part/okmenutitle.cpp create mode 100644 part/okmenutitle.h create mode 100644 part/pageitemdelegate.cpp create mode 100644 part/pageitemdelegate.h create mode 100644 part/pagesizelabel.cpp create mode 100644 part/pagesizelabel.h create mode 100644 part/pageview.cpp create mode 100644 part/pageview.h create mode 100644 part/pageviewannotator.cpp create mode 100644 part/pageviewannotator.h create mode 100644 part/pageviewmouseannotation.cpp create mode 100644 part/pageviewmouseannotation.h create mode 100644 part/pageviewutils.cpp create mode 100644 part/pageviewutils.h create mode 100644 part/part-viewermode.rc create mode 100644 part/part.cpp create mode 100644 part/part.h create mode 100644 part/part.qrc create mode 100644 part/part.rc create mode 100644 part/preferencesdialog.cpp create mode 100644 part/preferencesdialog.h create mode 100644 part/presentationsearchbar.cpp create mode 100644 part/presentationsearchbar.h create mode 100644 part/presentationwidget.cpp create mode 100644 part/presentationwidget.h create mode 100644 part/propertiesdialog.cpp create mode 100644 part/propertiesdialog.h create mode 100644 part/revisionviewer.cpp create mode 100644 part/revisionviewer.h create mode 100644 part/searchlineedit.cpp create mode 100644 part/searchlineedit.h create mode 100644 part/searchwidget.cpp create mode 100644 part/searchwidget.h create mode 100644 part/selectcertificatedialog.ui create mode 100644 part/side_reviews.cpp create mode 100644 part/side_reviews.h create mode 100644 part/sidebar.cpp create mode 100644 part/sidebar.h create mode 100644 part/signaturepanel.cpp create mode 100644 part/signaturepanel.h create mode 100644 part/signaturepartutils.cpp create mode 100644 part/signaturepartutils.h create mode 100644 part/signaturepartutilsimageitemdelegate.cpp create mode 100644 part/signaturepartutilsimageitemdelegate.h create mode 100644 part/signaturepartutilskconfig.h create mode 100644 part/signaturepartutilskeydelegate.cpp create mode 100644 part/signaturepartutilskeydelegate.h create mode 100644 part/signaturepartutilsmodel.h create mode 100644 part/signaturepartutilsrecentimagesmodel.cpp create mode 100644 part/signaturepartutilsrecentimagesmodel.h create mode 100644 part/signaturepropertiesdialog.cpp create mode 100644 part/signaturepropertiesdialog.h create mode 100644 part/signingcertificatelistmodel.cpp create mode 100644 part/signingcertificatelistmodel.h create mode 100644 part/snapshottaker.cpp create mode 100644 part/snapshottaker.h create mode 100644 part/thumbnaillist.cpp create mode 100644 part/thumbnaillist.h create mode 100644 part/toc.cpp create mode 100644 part/toc.h create mode 100644 part/toggleactionmenu.cpp create mode 100644 part/toggleactionmenu.h create mode 100644 part/tts.cpp create mode 100644 part/tts.h create mode 100644 part/url_utils.h create mode 100644 part/videowidget.cpp create mode 100644 part/videowidget.h create mode 100644 part/widgetannottools.cpp create mode 100644 part/widgetannottools.h create mode 100644 part/widgetconfigurationtoolsbase.cpp create mode 100644 part/widgetconfigurationtoolsbase.h create mode 100644 part/widgetdrawingtools.cpp create mode 100644 part/widgetdrawingtools.h create mode 100644 po/ar/okular.po create mode 100644 po/ar/okular_comicbook.po create mode 100644 po/ar/okular_djvu.po create mode 100644 po/ar/okular_dvi.po create mode 100644 po/ar/okular_epub.po create mode 100644 po/ar/okular_fax.po create mode 100644 po/ar/okular_fictionbook.po create mode 100644 po/ar/okular_ghostview.po create mode 100644 po/ar/okular_kimgio.po create mode 100644 po/ar/okular_markdown.po create mode 100644 po/ar/okular_mobi.po create mode 100644 po/ar/okular_poppler.po create mode 100644 po/ar/okular_tiff.po create mode 100644 po/ar/okular_txt.po create mode 100644 po/ar/okular_xps.po create mode 100644 po/ar/org.kde.active.documentviewer.po create mode 100644 po/ast/okular.po create mode 100644 po/ast/okular_comicbook.po create mode 100644 po/ast/okular_djvu.po create mode 100644 po/ast/okular_dvi.po create mode 100644 po/ast/okular_epub.po create mode 100644 po/ast/okular_fax.po create mode 100644 po/ast/okular_fictionbook.po create mode 100644 po/ast/okular_ghostview.po create mode 100644 po/ast/okular_kimgio.po create mode 100644 po/ast/okular_markdown.po create mode 100644 po/ast/okular_mobi.po create mode 100644 po/ast/okular_poppler.po create mode 100644 po/ast/okular_tiff.po create mode 100644 po/ast/okular_txt.po create mode 100644 po/ast/okular_xps.po create mode 100644 po/ast/org.kde.active.documentviewer.po create mode 100644 po/az/okular.po create mode 100644 po/az/okular_comicbook.po create mode 100644 po/az/okular_djvu.po create mode 100644 po/az/okular_dvi.po create mode 100644 po/az/okular_epub.po create mode 100644 po/az/okular_fax.po create mode 100644 po/az/okular_fictionbook.po create mode 100644 po/az/okular_ghostview.po create mode 100644 po/az/okular_kimgio.po create mode 100644 po/az/okular_markdown.po create mode 100644 po/az/okular_mobi.po create mode 100644 po/az/okular_poppler.po create mode 100644 po/az/okular_tiff.po create mode 100644 po/az/okular_txt.po create mode 100644 po/az/okular_xps.po create mode 100644 po/az/org.kde.active.documentviewer.po create mode 100644 po/be/okular.po create mode 100644 po/be/okular_comicbook.po create mode 100644 po/be/okular_djvu.po create mode 100644 po/be/okular_dvi.po create mode 100644 po/be/okular_epub.po create mode 100644 po/be/okular_fax.po create mode 100644 po/be/okular_fictionbook.po create mode 100644 po/be/okular_ghostview.po create mode 100644 po/be/okular_kimgio.po create mode 100644 po/be/okular_markdown.po create mode 100644 po/be/okular_mobi.po create mode 100644 po/be/okular_poppler.po create mode 100644 po/be/okular_tiff.po create mode 100644 po/be/okular_txt.po create mode 100644 po/be/okular_xps.po create mode 100644 po/be/org.kde.active.documentviewer.po create mode 100644 po/bg/okular.po create mode 100644 po/bg/okular_comicbook.po create mode 100644 po/bg/okular_djvu.po create mode 100644 po/bg/okular_dvi.po create mode 100644 po/bg/okular_epub.po create mode 100644 po/bg/okular_fax.po create mode 100644 po/bg/okular_fictionbook.po create mode 100644 po/bg/okular_ghostview.po create mode 100644 po/bg/okular_kimgio.po create mode 100644 po/bg/okular_markdown.po create mode 100644 po/bg/okular_mobi.po create mode 100644 po/bg/okular_poppler.po create mode 100644 po/bg/okular_tiff.po create mode 100644 po/bg/okular_txt.po create mode 100644 po/bg/okular_xps.po create mode 100644 po/bg/org.kde.active.documentviewer.po create mode 100644 po/br/okular.po create mode 100644 po/bs/okular.po create mode 100644 po/bs/okular_comicbook.po create mode 100644 po/bs/okular_djvu.po create mode 100644 po/bs/okular_dvi.po create mode 100644 po/bs/okular_epub.po create mode 100644 po/bs/okular_fax.po create mode 100644 po/bs/okular_fictionbook.po create mode 100644 po/bs/okular_ghostview.po create mode 100644 po/bs/okular_kimgio.po create mode 100644 po/bs/okular_mobi.po create mode 100644 po/bs/okular_poppler.po create mode 100644 po/bs/okular_txt.po create mode 100644 po/bs/okular_xps.po create mode 100644 po/bs/org.kde.active.documentviewer.po create mode 100644 po/ca/docs/okular/bookmark-management.png create mode 100644 po/ca/docs/okular/configure-annotations.png create mode 100644 po/ca/docs/okular/configure-backends.png create mode 100644 po/ca/docs/okular/configure-editor.png create mode 100644 po/ca/docs/okular/configure.png create mode 100644 po/ca/docs/okular/index.docbook create mode 100644 po/ca/docs/okular/mainwindow.png create mode 100644 po/ca/docs/okular/man-okular.1.docbook create mode 100644 po/ca/docs/okular/presentation.png create mode 100644 po/ca/okular.po create mode 100644 po/ca/okular_comicbook.po create mode 100644 po/ca/okular_djvu.po create mode 100644 po/ca/okular_dvi.po create mode 100644 po/ca/okular_epub.po create mode 100644 po/ca/okular_fax.po create mode 100644 po/ca/okular_fictionbook.po create mode 100644 po/ca/okular_ghostview.po create mode 100644 po/ca/okular_kimgio.po create mode 100644 po/ca/okular_markdown.po create mode 100644 po/ca/okular_mobi.po create mode 100644 po/ca/okular_poppler.po create mode 100644 po/ca/okular_tiff.po create mode 100644 po/ca/okular_txt.po create mode 100644 po/ca/okular_xps.po create mode 100644 po/ca/org.kde.active.documentviewer.po create mode 100644 po/ca@valencia/okular.po create mode 100644 po/ca@valencia/okular_comicbook.po create mode 100644 po/ca@valencia/okular_djvu.po create mode 100644 po/ca@valencia/okular_dvi.po create mode 100644 po/ca@valencia/okular_epub.po create mode 100644 po/ca@valencia/okular_fax.po create mode 100644 po/ca@valencia/okular_fictionbook.po create mode 100644 po/ca@valencia/okular_ghostview.po create mode 100644 po/ca@valencia/okular_kimgio.po create mode 100644 po/ca@valencia/okular_markdown.po create mode 100644 po/ca@valencia/okular_mobi.po create mode 100644 po/ca@valencia/okular_poppler.po create mode 100644 po/ca@valencia/okular_tiff.po create mode 100644 po/ca@valencia/okular_txt.po create mode 100644 po/ca@valencia/okular_xps.po create mode 100644 po/ca@valencia/org.kde.active.documentviewer.po create mode 100644 po/cs/okular.po create mode 100644 po/cs/okular_comicbook.po create mode 100644 po/cs/okular_djvu.po create mode 100644 po/cs/okular_dvi.po create mode 100644 po/cs/okular_epub.po create mode 100644 po/cs/okular_fax.po create mode 100644 po/cs/okular_fictionbook.po create mode 100644 po/cs/okular_ghostview.po create mode 100644 po/cs/okular_kimgio.po create mode 100644 po/cs/okular_markdown.po create mode 100644 po/cs/okular_mobi.po create mode 100644 po/cs/okular_poppler.po create mode 100644 po/cs/okular_tiff.po create mode 100644 po/cs/okular_txt.po create mode 100644 po/cs/okular_xps.po create mode 100644 po/cs/org.kde.active.documentviewer.po create mode 100644 po/cy/okular.po create mode 100644 po/da/okular.po create mode 100644 po/da/okular_comicbook.po create mode 100644 po/da/okular_djvu.po create mode 100644 po/da/okular_dvi.po create mode 100644 po/da/okular_epub.po create mode 100644 po/da/okular_fax.po create mode 100644 po/da/okular_fictionbook.po create mode 100644 po/da/okular_ghostview.po create mode 100644 po/da/okular_kimgio.po create mode 100644 po/da/okular_markdown.po create mode 100644 po/da/okular_mobi.po create mode 100644 po/da/okular_poppler.po create mode 100644 po/da/okular_txt.po create mode 100644 po/da/okular_xps.po create mode 100644 po/da/org.kde.active.documentviewer.po create mode 100644 po/de/docs/okular/annotation-properties.png create mode 100644 po/de/docs/okular/configure-annotations.png create mode 100644 po/de/docs/okular/configure-editor.png create mode 100644 po/de/docs/okular/configure.png create mode 100644 po/de/docs/okular/embedded-files-bar.png create mode 100644 po/de/docs/okular/index.docbook create mode 100644 po/de/docs/okular/mainwindow.png create mode 100644 po/de/docs/okular/man-okular.1.docbook create mode 100644 po/de/okular.po create mode 100644 po/de/okular_comicbook.po create mode 100644 po/de/okular_djvu.po create mode 100644 po/de/okular_dvi.po create mode 100644 po/de/okular_epub.po create mode 100644 po/de/okular_fax.po create mode 100644 po/de/okular_fictionbook.po create mode 100644 po/de/okular_ghostview.po create mode 100644 po/de/okular_kimgio.po create mode 100644 po/de/okular_markdown.po create mode 100644 po/de/okular_mobi.po create mode 100644 po/de/okular_poppler.po create mode 100644 po/de/okular_tiff.po create mode 100644 po/de/okular_txt.po create mode 100644 po/de/okular_xps.po create mode 100644 po/de/org.kde.active.documentviewer.po create mode 100644 po/el/okular.po create mode 100644 po/el/okular_comicbook.po create mode 100644 po/el/okular_djvu.po create mode 100644 po/el/okular_dvi.po create mode 100644 po/el/okular_epub.po create mode 100644 po/el/okular_fax.po create mode 100644 po/el/okular_fictionbook.po create mode 100644 po/el/okular_ghostview.po create mode 100644 po/el/okular_kimgio.po create mode 100644 po/el/okular_markdown.po create mode 100644 po/el/okular_mobi.po create mode 100644 po/el/okular_poppler.po create mode 100644 po/el/okular_tiff.po create mode 100644 po/el/okular_txt.po create mode 100644 po/el/okular_xps.po create mode 100644 po/el/org.kde.active.documentviewer.po create mode 100644 po/en_GB/okular.po create mode 100644 po/en_GB/okular_comicbook.po create mode 100644 po/en_GB/okular_djvu.po create mode 100644 po/en_GB/okular_dvi.po create mode 100644 po/en_GB/okular_epub.po create mode 100644 po/en_GB/okular_fax.po create mode 100644 po/en_GB/okular_fictionbook.po create mode 100644 po/en_GB/okular_ghostview.po create mode 100644 po/en_GB/okular_kimgio.po create mode 100644 po/en_GB/okular_markdown.po create mode 100644 po/en_GB/okular_mobi.po create mode 100644 po/en_GB/okular_poppler.po create mode 100644 po/en_GB/okular_tiff.po create mode 100644 po/en_GB/okular_txt.po create mode 100644 po/en_GB/okular_xps.po create mode 100644 po/en_GB/org.kde.active.documentviewer.po create mode 100644 po/eo/okular.po create mode 100644 po/eo/okular_comicbook.po create mode 100644 po/eo/okular_djvu.po create mode 100644 po/eo/okular_dvi.po create mode 100644 po/eo/okular_epub.po create mode 100644 po/eo/okular_fax.po create mode 100644 po/eo/okular_fictionbook.po create mode 100644 po/eo/okular_ghostview.po create mode 100644 po/eo/okular_kimgio.po create mode 100644 po/eo/okular_markdown.po create mode 100644 po/eo/okular_mobi.po create mode 100644 po/eo/okular_poppler.po create mode 100644 po/eo/okular_tiff.po create mode 100644 po/eo/okular_txt.po create mode 100644 po/eo/okular_xps.po create mode 100644 po/eo/org.kde.active.documentviewer.po create mode 100644 po/es/docs/okular/configure.png create mode 100644 po/es/docs/okular/embedded-files-bar.png create mode 100644 po/es/docs/okular/index.docbook create mode 100644 po/es/docs/okular/man-okular.1.docbook create mode 100644 po/es/okular.po create mode 100644 po/es/okular_comicbook.po create mode 100644 po/es/okular_djvu.po create mode 100644 po/es/okular_dvi.po create mode 100644 po/es/okular_epub.po create mode 100644 po/es/okular_fax.po create mode 100644 po/es/okular_fictionbook.po create mode 100644 po/es/okular_ghostview.po create mode 100644 po/es/okular_kimgio.po create mode 100644 po/es/okular_markdown.po create mode 100644 po/es/okular_mobi.po create mode 100644 po/es/okular_poppler.po create mode 100644 po/es/okular_tiff.po create mode 100644 po/es/okular_txt.po create mode 100644 po/es/okular_xps.po create mode 100644 po/es/org.kde.active.documentviewer.po create mode 100644 po/et/docs/okular/man-okular.1.docbook create mode 100644 po/et/okular.po create mode 100644 po/et/okular_comicbook.po create mode 100644 po/et/okular_djvu.po create mode 100644 po/et/okular_dvi.po create mode 100644 po/et/okular_epub.po create mode 100644 po/et/okular_fax.po create mode 100644 po/et/okular_fictionbook.po create mode 100644 po/et/okular_ghostview.po create mode 100644 po/et/okular_kimgio.po create mode 100644 po/et/okular_markdown.po create mode 100644 po/et/okular_mobi.po create mode 100644 po/et/okular_poppler.po create mode 100644 po/et/okular_txt.po create mode 100644 po/et/okular_xps.po create mode 100644 po/et/org.kde.active.documentviewer.po create mode 100644 po/eu/okular.po create mode 100644 po/eu/okular_comicbook.po create mode 100644 po/eu/okular_djvu.po create mode 100644 po/eu/okular_dvi.po create mode 100644 po/eu/okular_epub.po create mode 100644 po/eu/okular_fax.po create mode 100644 po/eu/okular_fictionbook.po create mode 100644 po/eu/okular_ghostview.po create mode 100644 po/eu/okular_kimgio.po create mode 100644 po/eu/okular_markdown.po create mode 100644 po/eu/okular_mobi.po create mode 100644 po/eu/okular_poppler.po create mode 100644 po/eu/okular_tiff.po create mode 100644 po/eu/okular_txt.po create mode 100644 po/eu/okular_xps.po create mode 100644 po/eu/org.kde.active.documentviewer.po create mode 100644 po/fa/okular.po create mode 100644 po/fi/okular.po create mode 100644 po/fi/okular_comicbook.po create mode 100644 po/fi/okular_djvu.po create mode 100644 po/fi/okular_dvi.po create mode 100644 po/fi/okular_epub.po create mode 100644 po/fi/okular_fax.po create mode 100644 po/fi/okular_fictionbook.po create mode 100644 po/fi/okular_ghostview.po create mode 100644 po/fi/okular_kimgio.po create mode 100644 po/fi/okular_markdown.po create mode 100644 po/fi/okular_mobi.po create mode 100644 po/fi/okular_poppler.po create mode 100644 po/fi/okular_tiff.po create mode 100644 po/fi/okular_txt.po create mode 100644 po/fi/okular_xps.po create mode 100644 po/fi/org.kde.active.documentviewer.po create mode 100644 po/fr/docs/okular/annotation-properties.png create mode 100644 po/fr/docs/okular/annotations.png create mode 100644 po/fr/docs/okular/bookmark-management.png create mode 100644 po/fr/docs/okular/configure-annotations.png create mode 100644 po/fr/docs/okular/configure-backends.png create mode 100644 po/fr/docs/okular/configure-editor.png create mode 100644 po/fr/docs/okular/configure.png create mode 100644 po/fr/docs/okular/forms-bar.png create mode 100644 po/fr/docs/okular/index.docbook create mode 100644 po/fr/docs/okular/mainwindow.png create mode 100644 po/fr/docs/okular/man-okular.1.docbook create mode 100644 po/fr/docs/okular/presentation.png create mode 100644 po/fr/okular.po create mode 100644 po/fr/okular_comicbook.po create mode 100644 po/fr/okular_djvu.po create mode 100644 po/fr/okular_dvi.po create mode 100644 po/fr/okular_epub.po create mode 100644 po/fr/okular_fax.po create mode 100644 po/fr/okular_fictionbook.po create mode 100644 po/fr/okular_ghostview.po create mode 100644 po/fr/okular_kimgio.po create mode 100644 po/fr/okular_markdown.po create mode 100644 po/fr/okular_mobi.po create mode 100644 po/fr/okular_poppler.po create mode 100644 po/fr/okular_tiff.po create mode 100644 po/fr/okular_txt.po create mode 100644 po/fr/okular_xps.po create mode 100644 po/fr/org.kde.active.documentviewer.po create mode 100644 po/fy/okular.po create mode 100644 po/ga/okular.po create mode 100644 po/ga/okular_comicbook.po create mode 100644 po/ga/okular_djvu.po create mode 100644 po/ga/okular_dvi.po create mode 100644 po/ga/okular_epub.po create mode 100644 po/ga/okular_fax.po create mode 100644 po/ga/okular_fictionbook.po create mode 100644 po/ga/okular_ghostview.po create mode 100644 po/ga/okular_kimgio.po create mode 100644 po/ga/okular_mobi.po create mode 100644 po/ga/okular_poppler.po create mode 100644 po/ga/okular_xps.po create mode 100644 po/ga/org.kde.active.documentviewer.po create mode 100644 po/gl/docs/okular/index.docbook create mode 100644 po/gl/okular.po create mode 100644 po/gl/okular_comicbook.po create mode 100644 po/gl/okular_djvu.po create mode 100644 po/gl/okular_dvi.po create mode 100644 po/gl/okular_epub.po create mode 100644 po/gl/okular_fax.po create mode 100644 po/gl/okular_fictionbook.po create mode 100644 po/gl/okular_ghostview.po create mode 100644 po/gl/okular_kimgio.po create mode 100644 po/gl/okular_markdown.po create mode 100644 po/gl/okular_mobi.po create mode 100644 po/gl/okular_poppler.po create mode 100644 po/gl/okular_tiff.po create mode 100644 po/gl/okular_txt.po create mode 100644 po/gl/okular_xps.po create mode 100644 po/gl/org.kde.active.documentviewer.po create mode 100644 po/he/okular.po create mode 100644 po/he/okular_comicbook.po create mode 100644 po/he/okular_djvu.po create mode 100644 po/he/okular_dvi.po create mode 100644 po/he/okular_epub.po create mode 100644 po/he/okular_fax.po create mode 100644 po/he/okular_fictionbook.po create mode 100644 po/he/okular_ghostview.po create mode 100644 po/he/okular_kimgio.po create mode 100644 po/he/okular_markdown.po create mode 100644 po/he/okular_mobi.po create mode 100644 po/he/okular_poppler.po create mode 100644 po/he/okular_tiff.po create mode 100644 po/he/okular_txt.po create mode 100644 po/he/okular_xps.po create mode 100644 po/he/org.kde.active.documentviewer.po create mode 100644 po/hi/okular.po create mode 100644 po/hi/okular_comicbook.po create mode 100644 po/hi/okular_djvu.po create mode 100644 po/hi/okular_dvi.po create mode 100644 po/hi/okular_epub.po create mode 100644 po/hi/okular_fax.po create mode 100644 po/hi/okular_fictionbook.po create mode 100644 po/hi/okular_ghostview.po create mode 100644 po/hi/okular_kimgio.po create mode 100644 po/hi/okular_markdown.po create mode 100644 po/hi/okular_mobi.po create mode 100644 po/hi/okular_poppler.po create mode 100644 po/hi/okular_tiff.po create mode 100644 po/hi/okular_txt.po create mode 100644 po/hi/okular_xps.po create mode 100644 po/hi/org.kde.active.documentviewer.po create mode 100644 po/hne/okular.po create mode 100644 po/hne/okular_djvu.po create mode 100644 po/hne/okular_dvi.po create mode 100644 po/hne/okular_fictionbook.po create mode 100644 po/hne/okular_ghostview.po create mode 100644 po/hne/okular_kimgio.po create mode 100644 po/hne/okular_poppler.po create mode 100644 po/hne/okular_xps.po create mode 100644 po/hr/okular.po create mode 100644 po/hr/okular_comicbook.po create mode 100644 po/hr/okular_djvu.po create mode 100644 po/hr/okular_dvi.po create mode 100644 po/hr/okular_epub.po create mode 100644 po/hr/okular_fax.po create mode 100644 po/hr/okular_fictionbook.po create mode 100644 po/hr/okular_ghostview.po create mode 100644 po/hr/okular_kimgio.po create mode 100644 po/hr/okular_mobi.po create mode 100644 po/hr/okular_poppler.po create mode 100644 po/hr/okular_xps.po create mode 100644 po/hsb/okular.po create mode 100644 po/hu/okular.po create mode 100644 po/hu/okular_comicbook.po create mode 100644 po/hu/okular_djvu.po create mode 100644 po/hu/okular_dvi.po create mode 100644 po/hu/okular_epub.po create mode 100644 po/hu/okular_fax.po create mode 100644 po/hu/okular_fictionbook.po create mode 100644 po/hu/okular_ghostview.po create mode 100644 po/hu/okular_kimgio.po create mode 100644 po/hu/okular_markdown.po create mode 100644 po/hu/okular_mobi.po create mode 100644 po/hu/okular_poppler.po create mode 100644 po/hu/okular_tiff.po create mode 100644 po/hu/okular_txt.po create mode 100644 po/hu/okular_xps.po create mode 100644 po/hu/org.kde.active.documentviewer.po create mode 100644 po/ia/okular.po create mode 100644 po/ia/okular_comicbook.po create mode 100644 po/ia/okular_djvu.po create mode 100644 po/ia/okular_dvi.po create mode 100644 po/ia/okular_epub.po create mode 100644 po/ia/okular_fax.po create mode 100644 po/ia/okular_fictionbook.po create mode 100644 po/ia/okular_ghostview.po create mode 100644 po/ia/okular_kimgio.po create mode 100644 po/ia/okular_markdown.po create mode 100644 po/ia/okular_mobi.po create mode 100644 po/ia/okular_poppler.po create mode 100644 po/ia/okular_tiff.po create mode 100644 po/ia/okular_txt.po create mode 100644 po/ia/okular_xps.po create mode 100644 po/ia/org.kde.active.documentviewer.po create mode 100644 po/id/okular.po create mode 100644 po/ie/okular.po create mode 100644 po/ie/okular_comicbook.po create mode 100644 po/ie/okular_djvu.po create mode 100644 po/ie/okular_epub.po create mode 100644 po/ie/okular_fax.po create mode 100644 po/ie/okular_fictionbook.po create mode 100644 po/ie/okular_ghostview.po create mode 100644 po/ie/okular_kimgio.po create mode 100644 po/ie/okular_markdown.po create mode 100644 po/ie/okular_mobi.po create mode 100644 po/ie/okular_txt.po create mode 100644 po/ie/okular_xps.po create mode 100644 po/is/okular.po create mode 100644 po/is/okular_comicbook.po create mode 100644 po/is/okular_djvu.po create mode 100644 po/is/okular_dvi.po create mode 100644 po/is/okular_epub.po create mode 100644 po/is/okular_fax.po create mode 100644 po/is/okular_fictionbook.po create mode 100644 po/is/okular_ghostview.po create mode 100644 po/is/okular_kimgio.po create mode 100644 po/is/okular_markdown.po create mode 100644 po/is/okular_mobi.po create mode 100644 po/is/okular_poppler.po create mode 100644 po/is/okular_tiff.po create mode 100644 po/is/okular_txt.po create mode 100644 po/is/okular_xps.po create mode 100644 po/is/org.kde.active.documentviewer.po create mode 100644 po/it/docs/okular/annotation-properties.png create mode 100644 po/it/docs/okular/annotations.png create mode 100644 po/it/docs/okular/bookmark-management.png create mode 100644 po/it/docs/okular/configure-annotations.png create mode 100644 po/it/docs/okular/configure-backends.png create mode 100644 po/it/docs/okular/configure-editor.png create mode 100644 po/it/docs/okular/configure.png create mode 100644 po/it/docs/okular/embedded-files-bar.png create mode 100644 po/it/docs/okular/forms-bar.png create mode 100644 po/it/docs/okular/index.docbook create mode 100644 po/it/docs/okular/mainwindow.png create mode 100644 po/it/docs/okular/man-okular.1.docbook create mode 100644 po/it/docs/okular/presentation.png create mode 100644 po/it/docs/okular/signatures-bar.png create mode 100644 po/it/docs/okular/signatures-panel.png create mode 100644 po/it/okular.po create mode 100644 po/it/okular_comicbook.po create mode 100644 po/it/okular_djvu.po create mode 100644 po/it/okular_dvi.po create mode 100644 po/it/okular_epub.po create mode 100644 po/it/okular_fax.po create mode 100644 po/it/okular_fictionbook.po create mode 100644 po/it/okular_ghostview.po create mode 100644 po/it/okular_kimgio.po create mode 100644 po/it/okular_markdown.po create mode 100644 po/it/okular_mobi.po create mode 100644 po/it/okular_poppler.po create mode 100644 po/it/okular_tiff.po create mode 100644 po/it/okular_txt.po create mode 100644 po/it/okular_xps.po create mode 100644 po/it/org.kde.active.documentviewer.po create mode 100644 po/ja/docs/okular/configure.png create mode 100644 po/ja/docs/okular/embedded-files-bar.png create mode 100644 po/ja/docs/okular/index.docbook create mode 100644 po/ja/okular.po create mode 100644 po/ja/okular_comicbook.po create mode 100644 po/ja/okular_djvu.po create mode 100644 po/ja/okular_dvi.po create mode 100644 po/ja/okular_epub.po create mode 100644 po/ja/okular_fax.po create mode 100644 po/ja/okular_fictionbook.po create mode 100644 po/ja/okular_ghostview.po create mode 100644 po/ja/okular_kimgio.po create mode 100644 po/ja/okular_markdown.po create mode 100644 po/ja/okular_mobi.po create mode 100644 po/ja/okular_poppler.po create mode 100644 po/ja/okular_tiff.po create mode 100644 po/ja/okular_txt.po create mode 100644 po/ja/okular_xps.po create mode 100644 po/ja/org.kde.active.documentviewer.po create mode 100644 po/ka/okular.po create mode 100644 po/ka/okular_comicbook.po create mode 100644 po/ka/okular_djvu.po create mode 100644 po/ka/okular_dvi.po create mode 100644 po/ka/okular_epub.po create mode 100644 po/ka/okular_fax.po create mode 100644 po/ka/okular_fictionbook.po create mode 100644 po/ka/okular_ghostview.po create mode 100644 po/ka/okular_kimgio.po create mode 100644 po/ka/okular_markdown.po create mode 100644 po/ka/okular_mobi.po create mode 100644 po/ka/okular_poppler.po create mode 100644 po/ka/okular_tiff.po create mode 100644 po/ka/okular_txt.po create mode 100644 po/ka/okular_xps.po create mode 100644 po/ka/org.kde.active.documentviewer.po create mode 100644 po/kk/okular.po create mode 100644 po/kk/okular_comicbook.po create mode 100644 po/kk/okular_djvu.po create mode 100644 po/kk/okular_dvi.po create mode 100644 po/kk/okular_epub.po create mode 100644 po/kk/okular_fax.po create mode 100644 po/kk/okular_fictionbook.po create mode 100644 po/kk/okular_ghostview.po create mode 100644 po/kk/okular_kimgio.po create mode 100644 po/kk/okular_mobi.po create mode 100644 po/kk/okular_poppler.po create mode 100644 po/kk/okular_txt.po create mode 100644 po/kk/okular_xps.po create mode 100644 po/kk/org.kde.active.documentviewer.po create mode 100644 po/km/okular.po create mode 100644 po/km/okular_comicbook.po create mode 100644 po/km/okular_djvu.po create mode 100644 po/km/okular_dvi.po create mode 100644 po/km/okular_epub.po create mode 100644 po/km/okular_fax.po create mode 100644 po/km/okular_fictionbook.po create mode 100644 po/km/okular_ghostview.po create mode 100644 po/km/okular_kimgio.po create mode 100644 po/km/okular_mobi.po create mode 100644 po/km/okular_poppler.po create mode 100644 po/km/okular_xps.po create mode 100644 po/ko/okular.po create mode 100644 po/ko/okular_comicbook.po create mode 100644 po/ko/okular_djvu.po create mode 100644 po/ko/okular_dvi.po create mode 100644 po/ko/okular_epub.po create mode 100644 po/ko/okular_fax.po create mode 100644 po/ko/okular_fictionbook.po create mode 100644 po/ko/okular_ghostview.po create mode 100644 po/ko/okular_kimgio.po create mode 100644 po/ko/okular_markdown.po create mode 100644 po/ko/okular_mobi.po create mode 100644 po/ko/okular_poppler.po create mode 100644 po/ko/okular_tiff.po create mode 100644 po/ko/okular_txt.po create mode 100644 po/ko/okular_xps.po create mode 100644 po/ko/org.kde.active.documentviewer.po create mode 100644 po/ku/okular.po create mode 100644 po/ku/okular_comicbook.po create mode 100644 po/ku/okular_djvu.po create mode 100644 po/ku/okular_epub.po create mode 100644 po/ku/okular_fax.po create mode 100644 po/ku/okular_fictionbook.po create mode 100644 po/ku/okular_ghostview.po create mode 100644 po/ku/okular_kimgio.po create mode 100644 po/ku/okular_xps.po create mode 100644 po/lt/okular.po create mode 100644 po/lt/okular_comicbook.po create mode 100644 po/lt/okular_djvu.po create mode 100644 po/lt/okular_dvi.po create mode 100644 po/lt/okular_epub.po create mode 100644 po/lt/okular_fax.po create mode 100644 po/lt/okular_fictionbook.po create mode 100644 po/lt/okular_ghostview.po create mode 100644 po/lt/okular_kimgio.po create mode 100644 po/lt/okular_markdown.po create mode 100644 po/lt/okular_mobi.po create mode 100644 po/lt/okular_poppler.po create mode 100644 po/lt/okular_tiff.po create mode 100644 po/lt/okular_txt.po create mode 100644 po/lt/okular_xps.po create mode 100644 po/lt/org.kde.active.documentviewer.po create mode 100644 po/lv/okular.po create mode 100644 po/lv/okular_comicbook.po create mode 100644 po/lv/okular_djvu.po create mode 100644 po/lv/okular_dvi.po create mode 100644 po/lv/okular_epub.po create mode 100644 po/lv/okular_fax.po create mode 100644 po/lv/okular_fictionbook.po create mode 100644 po/lv/okular_ghostview.po create mode 100644 po/lv/okular_kimgio.po create mode 100644 po/lv/okular_markdown.po create mode 100644 po/lv/okular_mobi.po create mode 100644 po/lv/okular_poppler.po create mode 100644 po/lv/okular_tiff.po create mode 100644 po/lv/okular_txt.po create mode 100644 po/lv/okular_xps.po create mode 100644 po/lv/org.kde.active.documentviewer.po create mode 100644 po/mk/okular.po create mode 100644 po/mk/okular_djvu.po create mode 100644 po/mk/okular_fictionbook.po create mode 100644 po/mk/okular_ghostview.po create mode 100644 po/mk/okular_kimgio.po create mode 100644 po/mk/okular_poppler.po create mode 100644 po/mk/okular_xps.po create mode 100644 po/ml/okular.po create mode 100644 po/ml/okular_comicbook.po create mode 100644 po/ml/okular_djvu.po create mode 100644 po/ml/okular_dvi.po create mode 100644 po/ml/okular_epub.po create mode 100644 po/ml/okular_fax.po create mode 100644 po/ml/okular_fictionbook.po create mode 100644 po/ml/okular_ghostview.po create mode 100644 po/ml/okular_kimgio.po create mode 100644 po/ml/okular_markdown.po create mode 100644 po/ml/okular_mobi.po create mode 100644 po/ml/okular_poppler.po create mode 100644 po/ml/okular_txt.po create mode 100644 po/ml/okular_xps.po create mode 100644 po/ml/org.kde.active.documentviewer.po create mode 100644 po/mr/okular.po create mode 100644 po/mr/okular_comicbook.po create mode 100644 po/mr/okular_djvu.po create mode 100644 po/mr/okular_dvi.po create mode 100644 po/mr/okular_epub.po create mode 100644 po/mr/okular_fax.po create mode 100644 po/mr/okular_fictionbook.po create mode 100644 po/mr/okular_ghostview.po create mode 100644 po/mr/okular_kimgio.po create mode 100644 po/mr/okular_mobi.po create mode 100644 po/mr/okular_poppler.po create mode 100644 po/mr/okular_xps.po create mode 100644 po/mr/org.kde.active.documentviewer.po create mode 100644 po/ms/okular.po create mode 100644 po/nb/okular.po create mode 100644 po/nb/okular_comicbook.po create mode 100644 po/nb/okular_djvu.po create mode 100644 po/nb/okular_dvi.po create mode 100644 po/nb/okular_epub.po create mode 100644 po/nb/okular_fax.po create mode 100644 po/nb/okular_fictionbook.po create mode 100644 po/nb/okular_ghostview.po create mode 100644 po/nb/okular_kimgio.po create mode 100644 po/nb/okular_mobi.po create mode 100644 po/nb/okular_poppler.po create mode 100644 po/nb/okular_txt.po create mode 100644 po/nb/okular_xps.po create mode 100644 po/nb/org.kde.active.documentviewer.po create mode 100644 po/nds/okular.po create mode 100644 po/nds/okular_comicbook.po create mode 100644 po/nds/okular_djvu.po create mode 100644 po/nds/okular_dvi.po create mode 100644 po/nds/okular_epub.po create mode 100644 po/nds/okular_fax.po create mode 100644 po/nds/okular_fictionbook.po create mode 100644 po/nds/okular_ghostview.po create mode 100644 po/nds/okular_kimgio.po create mode 100644 po/nds/okular_mobi.po create mode 100644 po/nds/okular_poppler.po create mode 100644 po/nds/okular_txt.po create mode 100644 po/nds/okular_xps.po create mode 100644 po/nds/org.kde.active.documentviewer.po create mode 100644 po/ne/okular.po create mode 100644 po/nl/docs/okular/index.docbook create mode 100644 po/nl/docs/okular/man-okular.1.docbook create mode 100644 po/nl/okular.po create mode 100644 po/nl/okular_comicbook.po create mode 100644 po/nl/okular_djvu.po create mode 100644 po/nl/okular_dvi.po create mode 100644 po/nl/okular_epub.po create mode 100644 po/nl/okular_fax.po create mode 100644 po/nl/okular_fictionbook.po create mode 100644 po/nl/okular_ghostview.po create mode 100644 po/nl/okular_kimgio.po create mode 100644 po/nl/okular_markdown.po create mode 100644 po/nl/okular_mobi.po create mode 100644 po/nl/okular_poppler.po create mode 100644 po/nl/okular_tiff.po create mode 100644 po/nl/okular_txt.po create mode 100644 po/nl/okular_xps.po create mode 100644 po/nl/org.kde.active.documentviewer.po create mode 100644 po/nn/okular.po create mode 100644 po/nn/okular_comicbook.po create mode 100644 po/nn/okular_djvu.po create mode 100644 po/nn/okular_dvi.po create mode 100644 po/nn/okular_epub.po create mode 100644 po/nn/okular_fax.po create mode 100644 po/nn/okular_fictionbook.po create mode 100644 po/nn/okular_ghostview.po create mode 100644 po/nn/okular_kimgio.po create mode 100644 po/nn/okular_markdown.po create mode 100644 po/nn/okular_mobi.po create mode 100644 po/nn/okular_poppler.po create mode 100644 po/nn/okular_tiff.po create mode 100644 po/nn/okular_txt.po create mode 100644 po/nn/okular_xps.po create mode 100644 po/nn/org.kde.active.documentviewer.po create mode 100644 po/oc/okular.po create mode 100644 po/oc/okular_djvu.po create mode 100644 po/oc/okular_dvi.po create mode 100644 po/oc/okular_fictionbook.po create mode 100644 po/oc/okular_ghostview.po create mode 100644 po/oc/okular_kimgio.po create mode 100644 po/oc/okular_poppler.po create mode 100644 po/oc/okular_xps.po create mode 100644 po/pa/okular.po create mode 100644 po/pa/okular_comicbook.po create mode 100644 po/pa/okular_djvu.po create mode 100644 po/pa/okular_dvi.po create mode 100644 po/pa/okular_epub.po create mode 100644 po/pa/okular_fax.po create mode 100644 po/pa/okular_fictionbook.po create mode 100644 po/pa/okular_ghostview.po create mode 100644 po/pa/okular_kimgio.po create mode 100644 po/pa/okular_mobi.po create mode 100644 po/pa/okular_poppler.po create mode 100644 po/pa/okular_txt.po create mode 100644 po/pa/okular_xps.po create mode 100644 po/pa/org.kde.active.documentviewer.po create mode 100644 po/pl/docs/okular/annotation-properties.png create mode 100644 po/pl/docs/okular/annotations.png create mode 100644 po/pl/docs/okular/bookmark-management.png create mode 100644 po/pl/docs/okular/configure-annotations.png create mode 100644 po/pl/docs/okular/configure-backends.png create mode 100644 po/pl/docs/okular/configure-editor.png create mode 100644 po/pl/docs/okular/configure.png create mode 100644 po/pl/docs/okular/embedded-files-bar.png create mode 100644 po/pl/docs/okular/forms-bar.png create mode 100644 po/pl/docs/okular/index.docbook create mode 100644 po/pl/docs/okular/mainwindow.png create mode 100644 po/pl/docs/okular/presentation.png create mode 100644 po/pl/docs/okular/rating.png create mode 100644 po/pl/docs/okular/tool-ellipse-okular.png create mode 100644 po/pl/docs/okular/tool-highlighter-okular.png create mode 100644 po/pl/docs/okular/tool-ink-okular.png create mode 100644 po/pl/docs/okular/tool-line-okular.png create mode 100644 po/pl/docs/okular/tool-note-inline-okular.png create mode 100644 po/pl/docs/okular/tool-note-okular.png create mode 100644 po/pl/docs/okular/tool-polygon-okular.png create mode 100644 po/pl/docs/okular/tool-stamp-okular.png create mode 100644 po/pl/docs/okular/tool-underline-okular.png create mode 100644 po/pl/okular.po create mode 100644 po/pl/okular_comicbook.po create mode 100644 po/pl/okular_djvu.po create mode 100644 po/pl/okular_dvi.po create mode 100644 po/pl/okular_epub.po create mode 100644 po/pl/okular_fax.po create mode 100644 po/pl/okular_fictionbook.po create mode 100644 po/pl/okular_ghostview.po create mode 100644 po/pl/okular_kimgio.po create mode 100644 po/pl/okular_markdown.po create mode 100644 po/pl/okular_mobi.po create mode 100644 po/pl/okular_poppler.po create mode 100644 po/pl/okular_tiff.po create mode 100644 po/pl/okular_txt.po create mode 100644 po/pl/okular_xps.po create mode 100644 po/pl/org.kde.active.documentviewer.po create mode 100644 po/pt/docs/okular/index.docbook create mode 100644 po/pt/docs/okular/man-okular.1.docbook create mode 100644 po/pt/okular.po create mode 100644 po/pt/okular_comicbook.po create mode 100644 po/pt/okular_djvu.po create mode 100644 po/pt/okular_dvi.po create mode 100644 po/pt/okular_epub.po create mode 100644 po/pt/okular_fax.po create mode 100644 po/pt/okular_fictionbook.po create mode 100644 po/pt/okular_ghostview.po create mode 100644 po/pt/okular_kimgio.po create mode 100644 po/pt/okular_markdown.po create mode 100644 po/pt/okular_mobi.po create mode 100644 po/pt/okular_poppler.po create mode 100644 po/pt/okular_tiff.po create mode 100644 po/pt/okular_txt.po create mode 100644 po/pt/okular_xps.po create mode 100644 po/pt/org.kde.active.documentviewer.po create mode 100644 po/pt_BR/docs/okular/annotation-properties.png create mode 100644 po/pt_BR/docs/okular/annotations.png create mode 100644 po/pt_BR/docs/okular/bookmark-management.png create mode 100644 po/pt_BR/docs/okular/configure-annotations.png create mode 100644 po/pt_BR/docs/okular/configure-backends.png create mode 100644 po/pt_BR/docs/okular/configure-editor.png create mode 100644 po/pt_BR/docs/okular/configure.png create mode 100644 po/pt_BR/docs/okular/embedded-files-bar.png create mode 100644 po/pt_BR/docs/okular/forms-bar.png create mode 100644 po/pt_BR/docs/okular/index.docbook create mode 100644 po/pt_BR/docs/okular/mainwindow.png create mode 100644 po/pt_BR/docs/okular/man-okular.1.docbook create mode 100644 po/pt_BR/docs/okular/presentation.png create mode 100644 po/pt_BR/docs/okular/signatures-bar.png create mode 100644 po/pt_BR/docs/okular/signatures-panel.png create mode 100644 po/pt_BR/okular.po create mode 100644 po/pt_BR/okular_comicbook.po create mode 100644 po/pt_BR/okular_djvu.po create mode 100644 po/pt_BR/okular_dvi.po create mode 100644 po/pt_BR/okular_epub.po create mode 100644 po/pt_BR/okular_fax.po create mode 100644 po/pt_BR/okular_fictionbook.po create mode 100644 po/pt_BR/okular_ghostview.po create mode 100644 po/pt_BR/okular_kimgio.po create mode 100644 po/pt_BR/okular_markdown.po create mode 100644 po/pt_BR/okular_mobi.po create mode 100644 po/pt_BR/okular_poppler.po create mode 100644 po/pt_BR/okular_tiff.po create mode 100644 po/pt_BR/okular_txt.po create mode 100644 po/pt_BR/okular_xps.po create mode 100644 po/pt_BR/org.kde.active.documentviewer.po create mode 100644 po/ro/okular.po create mode 100644 po/ro/okular_comicbook.po create mode 100644 po/ro/okular_djvu.po create mode 100644 po/ro/okular_dvi.po create mode 100644 po/ro/okular_epub.po create mode 100644 po/ro/okular_fax.po create mode 100644 po/ro/okular_fictionbook.po create mode 100644 po/ro/okular_ghostview.po create mode 100644 po/ro/okular_kimgio.po create mode 100644 po/ro/okular_markdown.po create mode 100644 po/ro/okular_mobi.po create mode 100644 po/ro/okular_poppler.po create mode 100644 po/ro/okular_tiff.po create mode 100644 po/ro/okular_txt.po create mode 100644 po/ro/okular_xps.po create mode 100644 po/ro/org.kde.active.documentviewer.po create mode 100644 po/ru/docs/okular/annotation-properties.png create mode 100644 po/ru/docs/okular/annotations.png create mode 100644 po/ru/docs/okular/bookmark-management.png create mode 100644 po/ru/docs/okular/configure-annotations.png create mode 100644 po/ru/docs/okular/configure-backends.png create mode 100644 po/ru/docs/okular/configure-editor.png create mode 100644 po/ru/docs/okular/configure.png create mode 100644 po/ru/docs/okular/embedded-files-bar.png create mode 100644 po/ru/docs/okular/enhance-lowcontrast.png create mode 100644 po/ru/docs/okular/enhance-shape.png create mode 100644 po/ru/docs/okular/enhance-solid.png create mode 100644 po/ru/docs/okular/enhance-thinline.png create mode 100644 po/ru/docs/okular/forms-bar.png create mode 100644 po/ru/docs/okular/index.docbook create mode 100644 po/ru/docs/okular/mainwindow.png create mode 100644 po/ru/docs/okular/man-okular.1.docbook create mode 100644 po/ru/docs/okular/presentation.png create mode 100644 po/ru/docs/okular/rating.png create mode 100644 po/ru/docs/okular/tool-ellipse-okular.png create mode 100644 po/ru/docs/okular/tool-highlighter-okular.png create mode 100644 po/ru/docs/okular/tool-ink-okular.png create mode 100644 po/ru/docs/okular/tool-line-okular.png create mode 100644 po/ru/docs/okular/tool-note-inline-okular.png create mode 100644 po/ru/docs/okular/tool-note-okular.png create mode 100644 po/ru/docs/okular/tool-polygon-okular.png create mode 100644 po/ru/docs/okular/tool-stamp-okular.png create mode 100644 po/ru/docs/okular/tool-underline-okular.png create mode 100644 po/ru/okular.po create mode 100644 po/ru/okular_comicbook.po create mode 100644 po/ru/okular_djvu.po create mode 100644 po/ru/okular_dvi.po create mode 100644 po/ru/okular_epub.po create mode 100644 po/ru/okular_fax.po create mode 100644 po/ru/okular_fictionbook.po create mode 100644 po/ru/okular_ghostview.po create mode 100644 po/ru/okular_kimgio.po create mode 100644 po/ru/okular_markdown.po create mode 100644 po/ru/okular_mobi.po create mode 100644 po/ru/okular_poppler.po create mode 100644 po/ru/okular_tiff.po create mode 100644 po/ru/okular_txt.po create mode 100644 po/ru/okular_xps.po create mode 100644 po/ru/org.kde.active.documentviewer.po create mode 100644 po/sa/okular.po create mode 100644 po/sa/okular_comicbook.po create mode 100644 po/sa/okular_djvu.po create mode 100644 po/sa/okular_dvi.po create mode 100644 po/sa/okular_epub.po create mode 100644 po/sa/okular_fax.po create mode 100644 po/sa/okular_fictionbook.po create mode 100644 po/sa/okular_ghostview.po create mode 100644 po/sa/okular_kimgio.po create mode 100644 po/sa/okular_markdown.po create mode 100644 po/sa/okular_mobi.po create mode 100644 po/sa/okular_poppler.po create mode 100644 po/sa/okular_tiff.po create mode 100644 po/sa/okular_txt.po create mode 100644 po/sa/okular_xps.po create mode 100644 po/sa/org.kde.active.documentviewer.po create mode 100644 po/se/okular.po create mode 100644 po/se/okular_djvu.po create mode 100644 po/se/okular_dvi.po create mode 100644 po/se/okular_fictionbook.po create mode 100644 po/se/okular_ghostview.po create mode 100644 po/se/okular_kimgio.po create mode 100644 po/se/okular_poppler.po create mode 100644 po/se/okular_xps.po create mode 100644 po/si/okular.po create mode 100644 po/si/okular_comicbook.po create mode 100644 po/si/okular_djvu.po create mode 100644 po/si/okular_dvi.po create mode 100644 po/si/okular_epub.po create mode 100644 po/si/okular_fax.po create mode 100644 po/si/okular_fictionbook.po create mode 100644 po/si/okular_ghostview.po create mode 100644 po/si/okular_kimgio.po create mode 100644 po/si/okular_mobi.po create mode 100644 po/si/okular_poppler.po create mode 100644 po/si/okular_xps.po create mode 100644 po/sk/okular.po create mode 100644 po/sk/okular_comicbook.po create mode 100644 po/sk/okular_djvu.po create mode 100644 po/sk/okular_dvi.po create mode 100644 po/sk/okular_epub.po create mode 100644 po/sk/okular_fax.po create mode 100644 po/sk/okular_fictionbook.po create mode 100644 po/sk/okular_ghostview.po create mode 100644 po/sk/okular_kimgio.po create mode 100644 po/sk/okular_markdown.po create mode 100644 po/sk/okular_mobi.po create mode 100644 po/sk/okular_poppler.po create mode 100644 po/sk/okular_tiff.po create mode 100644 po/sk/okular_txt.po create mode 100644 po/sk/okular_xps.po create mode 100644 po/sk/org.kde.active.documentviewer.po create mode 100644 po/sl/docs/okular/index.docbook create mode 100644 po/sl/docs/okular/man-okular.1.docbook create mode 100644 po/sl/okular.po create mode 100644 po/sl/okular_comicbook.po create mode 100644 po/sl/okular_djvu.po create mode 100644 po/sl/okular_dvi.po create mode 100644 po/sl/okular_epub.po create mode 100644 po/sl/okular_fax.po create mode 100644 po/sl/okular_fictionbook.po create mode 100644 po/sl/okular_ghostview.po create mode 100644 po/sl/okular_kimgio.po create mode 100644 po/sl/okular_markdown.po create mode 100644 po/sl/okular_mobi.po create mode 100644 po/sl/okular_poppler.po create mode 100644 po/sl/okular_tiff.po create mode 100644 po/sl/okular_txt.po create mode 100644 po/sl/okular_xps.po create mode 100644 po/sl/org.kde.active.documentviewer.po create mode 100644 po/sq/okular_comicbook.po create mode 100644 po/sq/okular_djvu.po create mode 100644 po/sq/okular_dvi.po create mode 100644 po/sq/okular_epub.po create mode 100644 po/sq/okular_fax.po create mode 100644 po/sq/okular_fictionbook.po create mode 100644 po/sq/okular_ghostview.po create mode 100644 po/sq/okular_kimgio.po create mode 100644 po/sq/okular_mobi.po create mode 100644 po/sq/okular_poppler.po create mode 100644 po/sq/okular_xps.po create mode 100644 po/sr/okular.po create mode 100644 po/sr/okular_comicbook.po create mode 100644 po/sr/okular_djvu.po create mode 100644 po/sr/okular_dvi.po create mode 100644 po/sr/okular_epub.po create mode 100644 po/sr/okular_fax.po create mode 100644 po/sr/okular_fictionbook.po create mode 100644 po/sr/okular_ghostview.po create mode 100644 po/sr/okular_kimgio.po create mode 100644 po/sr/okular_markdown.po create mode 100644 po/sr/okular_mobi.po create mode 100644 po/sr/okular_poppler.po create mode 100644 po/sr/okular_txt.po create mode 100644 po/sr/okular_xps.po create mode 100644 po/sr@ijekavian/okular.po create mode 100644 po/sr@ijekavian/okular_comicbook.po create mode 100644 po/sr@ijekavian/okular_djvu.po create mode 100644 po/sr@ijekavian/okular_dvi.po create mode 100644 po/sr@ijekavian/okular_epub.po create mode 100644 po/sr@ijekavian/okular_fax.po create mode 100644 po/sr@ijekavian/okular_fictionbook.po create mode 100644 po/sr@ijekavian/okular_ghostview.po create mode 100644 po/sr@ijekavian/okular_kimgio.po create mode 100644 po/sr@ijekavian/okular_markdown.po create mode 100644 po/sr@ijekavian/okular_mobi.po create mode 100644 po/sr@ijekavian/okular_poppler.po create mode 100644 po/sr@ijekavian/okular_txt.po create mode 100644 po/sr@ijekavian/okular_xps.po create mode 100644 po/sr@ijekavianlatin/okular.po create mode 100644 po/sr@ijekavianlatin/okular_comicbook.po create mode 100644 po/sr@ijekavianlatin/okular_djvu.po create mode 100644 po/sr@ijekavianlatin/okular_dvi.po create mode 100644 po/sr@ijekavianlatin/okular_epub.po create mode 100644 po/sr@ijekavianlatin/okular_fax.po create mode 100644 po/sr@ijekavianlatin/okular_fictionbook.po create mode 100644 po/sr@ijekavianlatin/okular_ghostview.po create mode 100644 po/sr@ijekavianlatin/okular_kimgio.po create mode 100644 po/sr@ijekavianlatin/okular_markdown.po create mode 100644 po/sr@ijekavianlatin/okular_mobi.po create mode 100644 po/sr@ijekavianlatin/okular_poppler.po create mode 100644 po/sr@ijekavianlatin/okular_txt.po create mode 100644 po/sr@ijekavianlatin/okular_xps.po create mode 100644 po/sr@latin/okular.po create mode 100644 po/sr@latin/okular_comicbook.po create mode 100644 po/sr@latin/okular_djvu.po create mode 100644 po/sr@latin/okular_dvi.po create mode 100644 po/sr@latin/okular_epub.po create mode 100644 po/sr@latin/okular_fax.po create mode 100644 po/sr@latin/okular_fictionbook.po create mode 100644 po/sr@latin/okular_ghostview.po create mode 100644 po/sr@latin/okular_kimgio.po create mode 100644 po/sr@latin/okular_markdown.po create mode 100644 po/sr@latin/okular_mobi.po create mode 100644 po/sr@latin/okular_poppler.po create mode 100644 po/sr@latin/okular_txt.po create mode 100644 po/sr@latin/okular_xps.po create mode 100644 po/sv/docs/okular/configure.png create mode 100644 po/sv/docs/okular/index.docbook create mode 100644 po/sv/docs/okular/man-okular.1.docbook create mode 100644 po/sv/okular.po create mode 100644 po/sv/okular_comicbook.po create mode 100644 po/sv/okular_djvu.po create mode 100644 po/sv/okular_dvi.po create mode 100644 po/sv/okular_epub.po create mode 100644 po/sv/okular_fax.po create mode 100644 po/sv/okular_fictionbook.po create mode 100644 po/sv/okular_ghostview.po create mode 100644 po/sv/okular_kimgio.po create mode 100644 po/sv/okular_markdown.po create mode 100644 po/sv/okular_mobi.po create mode 100644 po/sv/okular_poppler.po create mode 100644 po/sv/okular_tiff.po create mode 100644 po/sv/okular_txt.po create mode 100644 po/sv/okular_xps.po create mode 100644 po/sv/org.kde.active.documentviewer.po create mode 100644 po/ta/okular.po create mode 100644 po/ta/okular_djvu.po create mode 100644 po/ta/okular_epub.po create mode 100644 po/ta/okular_fax.po create mode 100644 po/ta/okular_fictionbook.po create mode 100644 po/ta/okular_ghostview.po create mode 100644 po/ta/okular_kimgio.po create mode 100644 po/ta/okular_markdown.po create mode 100644 po/ta/okular_poppler.po create mode 100644 po/ta/okular_tiff.po create mode 100644 po/ta/okular_txt.po create mode 100644 po/ta/okular_xps.po create mode 100644 po/ta/org.kde.active.documentviewer.po create mode 100644 po/tg/okular.po create mode 100644 po/th/okular.po create mode 100644 po/th/okular_comicbook.po create mode 100644 po/th/okular_djvu.po create mode 100644 po/th/okular_dvi.po create mode 100644 po/th/okular_epub.po create mode 100644 po/th/okular_fax.po create mode 100644 po/th/okular_fictionbook.po create mode 100644 po/th/okular_ghostview.po create mode 100644 po/th/okular_kimgio.po create mode 100644 po/th/okular_mobi.po create mode 100644 po/th/okular_poppler.po create mode 100644 po/th/okular_xps.po create mode 100644 po/tr/docs/okular/index.docbook create mode 100644 po/tr/docs/okular/man-okular.1.docbook create mode 100644 po/tr/okular.po create mode 100644 po/tr/okular_comicbook.po create mode 100644 po/tr/okular_djvu.po create mode 100644 po/tr/okular_dvi.po create mode 100644 po/tr/okular_epub.po create mode 100644 po/tr/okular_fax.po create mode 100644 po/tr/okular_fictionbook.po create mode 100644 po/tr/okular_ghostview.po create mode 100644 po/tr/okular_kimgio.po create mode 100644 po/tr/okular_markdown.po create mode 100644 po/tr/okular_mobi.po create mode 100644 po/tr/okular_poppler.po create mode 100644 po/tr/okular_tiff.po create mode 100644 po/tr/okular_txt.po create mode 100644 po/tr/okular_xps.po create mode 100644 po/tr/org.kde.active.documentviewer.po create mode 100644 po/ug/okular.po create mode 100644 po/ug/okular_comicbook.po create mode 100644 po/ug/okular_djvu.po create mode 100644 po/ug/okular_dvi.po create mode 100644 po/ug/okular_epub.po create mode 100644 po/ug/okular_fax.po create mode 100644 po/ug/okular_fictionbook.po create mode 100644 po/ug/okular_ghostview.po create mode 100644 po/ug/okular_kimgio.po create mode 100644 po/ug/okular_mobi.po create mode 100644 po/ug/okular_poppler.po create mode 100644 po/ug/okular_txt.po create mode 100644 po/ug/okular_xps.po create mode 100644 po/ug/org.kde.active.documentviewer.po create mode 100644 po/uk/docs/okular/annotation-properties.png create mode 100644 po/uk/docs/okular/annotations.png create mode 100644 po/uk/docs/okular/bookmark-management.png create mode 100644 po/uk/docs/okular/configure-annotations.png create mode 100644 po/uk/docs/okular/configure-backends.png create mode 100644 po/uk/docs/okular/configure-editor.png create mode 100644 po/uk/docs/okular/configure.png create mode 100644 po/uk/docs/okular/embedded-files-bar.png create mode 100644 po/uk/docs/okular/forms-bar.png create mode 100644 po/uk/docs/okular/index.docbook create mode 100644 po/uk/docs/okular/mainwindow.png create mode 100644 po/uk/docs/okular/man-okular.1.docbook create mode 100644 po/uk/docs/okular/signatures-bar.png create mode 100644 po/uk/docs/okular/signatures-panel.png create mode 100644 po/uk/okular.po create mode 100644 po/uk/okular_comicbook.po create mode 100644 po/uk/okular_djvu.po create mode 100644 po/uk/okular_dvi.po create mode 100644 po/uk/okular_epub.po create mode 100644 po/uk/okular_fax.po create mode 100644 po/uk/okular_fictionbook.po create mode 100644 po/uk/okular_ghostview.po create mode 100644 po/uk/okular_kimgio.po create mode 100644 po/uk/okular_markdown.po create mode 100644 po/uk/okular_mobi.po create mode 100644 po/uk/okular_poppler.po create mode 100644 po/uk/okular_tiff.po create mode 100644 po/uk/okular_txt.po create mode 100644 po/uk/okular_xps.po create mode 100644 po/uk/org.kde.active.documentviewer.po create mode 100644 po/vi/okular.po create mode 100644 po/vi/okular_comicbook.po create mode 100644 po/vi/okular_djvu.po create mode 100644 po/vi/okular_dvi.po create mode 100644 po/vi/okular_epub.po create mode 100644 po/vi/okular_fax.po create mode 100644 po/vi/okular_fictionbook.po create mode 100644 po/vi/okular_ghostview.po create mode 100644 po/vi/okular_kimgio.po create mode 100644 po/vi/okular_markdown.po create mode 100644 po/vi/okular_mobi.po create mode 100644 po/vi/okular_poppler.po create mode 100644 po/vi/okular_tiff.po create mode 100644 po/vi/okular_txt.po create mode 100644 po/vi/okular_xps.po create mode 100644 po/vi/org.kde.active.documentviewer.po create mode 100644 po/wa/okular.po create mode 100644 po/wa/okular_comicbook.po create mode 100644 po/wa/okular_djvu.po create mode 100644 po/wa/okular_epub.po create mode 100644 po/wa/okular_fax.po create mode 100644 po/wa/okular_fictionbook.po create mode 100644 po/wa/okular_ghostview.po create mode 100644 po/wa/okular_kimgio.po create mode 100644 po/wa/okular_mobi.po create mode 100644 po/wa/okular_poppler.po create mode 100644 po/wa/okular_xps.po create mode 100644 po/xh/okular.po create mode 100644 po/zh_CN/okular.po create mode 100644 po/zh_CN/okular_comicbook.po create mode 100644 po/zh_CN/okular_djvu.po create mode 100644 po/zh_CN/okular_dvi.po create mode 100644 po/zh_CN/okular_epub.po create mode 100644 po/zh_CN/okular_fax.po create mode 100644 po/zh_CN/okular_fictionbook.po create mode 100644 po/zh_CN/okular_ghostview.po create mode 100644 po/zh_CN/okular_kimgio.po create mode 100644 po/zh_CN/okular_markdown.po create mode 100644 po/zh_CN/okular_mobi.po create mode 100644 po/zh_CN/okular_poppler.po create mode 100644 po/zh_CN/okular_tiff.po create mode 100644 po/zh_CN/okular_txt.po create mode 100644 po/zh_CN/okular_xps.po create mode 100644 po/zh_CN/org.kde.active.documentviewer.po create mode 100644 po/zh_HK/okular.po create mode 100644 po/zh_TW/okular.po create mode 100644 po/zh_TW/okular_comicbook.po create mode 100644 po/zh_TW/okular_djvu.po create mode 100644 po/zh_TW/okular_dvi.po create mode 100644 po/zh_TW/okular_epub.po create mode 100644 po/zh_TW/okular_fax.po create mode 100644 po/zh_TW/okular_fictionbook.po create mode 100644 po/zh_TW/okular_ghostview.po create mode 100644 po/zh_TW/okular_kimgio.po create mode 100644 po/zh_TW/okular_markdown.po create mode 100644 po/zh_TW/okular_mobi.po create mode 100644 po/zh_TW/okular_poppler.po create mode 100644 po/zh_TW/okular_tiff.po create mode 100644 po/zh_TW/okular_txt.po create mode 100644 po/zh_TW/okular_xps.po create mode 100644 po/zh_TW/org.kde.active.documentviewer.po create mode 100644 shell/CMakeLists.txt create mode 100644 shell/main.cpp create mode 100644 shell/okular_main.cpp create mode 100644 shell/okular_main.h create mode 100644 shell/org.kde.okular.appdata.xml create mode 100755 shell/org.kde.okular.desktop create mode 100644 shell/shell.cpp create mode 100644 shell/shell.h create mode 100644 shell/shell.qrc create mode 100644 shell/shell.rc create mode 100644 shell/shellutils.cpp create mode 100644 shell/shellutils.h create mode 100644 shell/welcomescreen.cpp create mode 100644 shell/welcomescreen.h create mode 100644 shell/welcomescreen.ui diff --git a/.clang-tidy b/.clang-tidy new file mode 100644 index 0000000..b8bdd79 --- /dev/null +++ b/.clang-tidy @@ -0,0 +1,11 @@ +--- +Checks: 'clang-diagnostic-*,clang-analyzer-*,-*,performance-*,bugprone-*,readability-inconsistent-declaration-parameter-name,readability-string-compare,readability-braces-around-statements,modernize-redundant-void-arg,modernize-use-bool-literals,modernize-make-unique,modernize-make-shared,modernize-use-override,modernize-use-equals-delete,modernize-use-emplace,modernize-loop-convert,modernize-use-nullptr,google-explicit-constructor,-bugprone-assignment-in-if-condition,-bugprone-switch-missing-default-case,-bugprone-macro-parentheses,-bugprone-narrowing-conversions,-bugprone-branch-clone,-bugprone-incorrect-roundings,-bugprone-suspicious-include,-bugprone-reserved-identifier,-performance-no-automatic-move,-bugprone-suspicious-enum-usage,-bugprone-easily-swappable-parameters,-performance-no-int-to-ptr,-bugprone-implicit-widening-of-multiplication-result,-performance-unnecessary-copy-initialization,-performance-enum-size' +WarningsAsErrors: '*' +HeaderFilterRegex: '.*/okular/.*' +FormatStyle: none +User: user +CheckOptions: + - key: 'bugprone-unused-return-value.AllowCastToVoid' + value: 'true' +... + diff --git a/.craft.ini b/.craft.ini new file mode 100644 index 0000000..09b2fda --- /dev/null +++ b/.craft.ini @@ -0,0 +1,5 @@ +; SPDX-FileCopyrightText: None +; SPDX-License-Identifier: CC0-1.0 + +[BlueprintSettings] +kde/applications/okular.packageAppx = True diff --git a/.flatpak-manifest.json b/.flatpak-manifest.json new file mode 100644 index 0000000..cea06eb --- /dev/null +++ b/.flatpak-manifest.json @@ -0,0 +1,542 @@ +{ + "id": "org.kde.okular", + "branch": "master", + "runtime": "org.kde.Platform", + "runtime-version": "6.9", + "sdk": "org.kde.Sdk", + "command": "okular", + "rename-icon": "okular", + "tags": [ + "nightly" + ], + "desktop-file-name-suffix": " (Nightly)", + "finish-args": [ + "--share=ipc", + "--share=network", + "--socket=cups", + "--socket=pulseaudio", + "--socket=fallback-x11", + "--socket=wayland", + "--device=dri", + "--filesystem=host", + "--allow=bluetooth", + "--talk-name=org.freedesktop.ScreenSaver", + "--talk-name=org.freedesktop.login1" + ], + "cleanup": [ + "/include", + "/lib/pkgconfig", + "/lib/*.a", + "/lib/*.la", + "/lib/cmake", + "/share/man", + "/share/doc", + "/share/pkgconfig", + "/share/cmake" + ], + "modules": [ + { + "name": "gnustep-make", + "buildsystem": "simple", + "build-commands": [ + "./configure --prefix=/app", + "make -j $FLATPAK_BUILDER_N_JOBS install" + ], + "sources": [ + { + "type": "archive", + "url": "https://github.com/gnustep/tools-make/archive/make-2_9_3.tar.gz", + "sha256": "aad12caecb0398b099f3b8b0282cecc3f01a9f371200641b2e1e535ae6ee2543", + "x-checker-data": { + "type": "anitya", + "project-id": 1220, + "stable-only": true, + "url-template": "https://github.com/gnustep/tools-make/archive/make-$version.tar.gz" + } + } + ] + }, + { + "name": "gnustep", + "buildsystem": "simple", + "build-commands": [ + "./configure --prefix=/app", + "make -j $FLATPAK_BUILDER_N_JOBS install", + "ls /app/include" + ], + "sources": [ + { + "type": "archive", + "url": "https://github.com/gnustep/libs-base/archive/refs/tags/base-1_31_1.tar.gz", + "sha256": "612e4415efc486c9e7017b00b28b0e122dc739d29b8e5d57ce79bf1a86a9862b", + "x-checker-data": { + "type": "anitya", + "project-id": 9105, + "stable-only": true, + "url-template": "https://github.com/gnustep/libs-base/archive/refs/tags/base-$version.tar.gz" + } + } + ] + }, + { + "name": "unarchiver", + "buildsystem": "simple", + "build-options": { + "cflags": "-Wno-int-conversion" + }, + "build-commands": [ + "sed -s -i 's#/usr/include/GNUstep#/app/include#g' */Makefile.linux", + "make -C XADMaster -j $FLATPAK_BUILDER_N_JOBS -f Makefile.linux", + "install -m755 XADMaster/unar XADMaster/lsar /app/bin/" + ], + "sources": [ + { + "type": "archive", + "url": "https://github.com/MacPaw/XADMaster/archive/refs/tags/v1.10.8.tar.gz", + "sha256": "652953d7988b3c33f4f52b61c357afd1a7c2fc170e5e6e2219f4432b0c4cd39f", + "strip-components": 1, + "dest": "XADMaster", + "x-checker-data": { + "type": "anitya", + "project-id": 5041, + "stable-only": true, + "url-template": "https://github.com/MacPaw/XADMaster/archive/refs/tags/v$version.tar.gz" + } + }, + { + "type": "archive", + "url": "https://github.com/MacPaw/universal-detector/archive/refs/tags/1.1.tar.gz", + "sha256": "8e8532111d0163628eb828a60d67b53133afad3f710b1967e69d3b8eee28a811", + "strip-components": 1, + "dest": "UniversalDetector" + } + ] + }, + { + "name": "discount", + "buildsystem": "simple", + "build-commands": [ + "./configure.sh --prefix=/app --enable-all-features --with-fenced-code --shared", + "sed -e 's|/sbin/ldconfig|/sbin/ldconfig -n|' -i librarian.sh", + "make install" + ], + "sources": [ + { + "type": "archive", + "url": "https://github.com/Orc/discount/archive/v3.0.0d.tar.gz", + "sha256": "0ed8cc27ac5d46dc6a8beedd5e5673ac8b466a6474bdb7d35f37c815f670385f", + "x-checker-data": { + "type": "anitya", + "project-id": 12139, + "stable-only": true, + "url-template": "https://github.com/Orc/discount/archive/v$version.tar.gz" + } + } + ] + }, + { + "name": "boost", + "buildsystem": "simple", + "build-commands": [ + "./bootstrap.sh --prefix=/app --with-libraries=system", + "./b2 -j $FLATPAK_BUILDER_N_JOBS install" + ], + "sources": [ + { + "type": "archive", + "url": "https://archives.boost.io/release/1.89.0/source/boost_1_89_0.tar.bz2", + "sha256": "85a33fa22621b4f314f8e85e1a5e2a9363d22e4f4992925d4bb3bc631b5a0c7a", + "x-checker-data": { + "type": "anitya", + "project-id": 6845, + "stable-only": true, + "url-template": "https://archives.boost.io/release/$version/source/boost_${major}_${minor}_$patch.tar.bz2" + } + } + ] + }, + { + "name": "libzip", + "buildsystem": "cmake-ninja", + "builddir": true, + "config-opts": [ + "-DCMAKE_BUILD_TYPE=RelWithDebInfo" + ], + "sources": [ + { + "type": "archive", + "url": "https://libzip.org/download/libzip-1.11.4.tar.xz", + "sha256": "8a247f57d1e3e6f6d11413b12a6f28a9d388de110adc0ec608d893180ed7097b", + "x-checker-data": { + "type": "anitya", + "project-id": 10649, + "stable-only": true, + "url-template": "https://libzip.org/download/libzip-$version.tar.xz" + } + } + ] + }, + { + "name": "ebook-tools", + "buildsystem": "cmake-ninja", + "builddir": true, + "config-opts": [ + "-DCMAKE_BUILD_TYPE=RelWithDebInfo" + ], + "sources": [ + { + "type": "archive", + "url": "https://downloads.sourceforge.net/project/ebook-tools/ebook-tools/0.2.2/ebook-tools-0.2.2.tar.gz", + "sha256": "cbc35996e911144fa62925366ad6a6212d6af2588f1e39075954973bbee627ae", + "x-checker-data": { + "type": "anitya", + "project-id": 17771, + "stable-only": true, + "url-template": "https://downloads.sourceforge.net/project/ebook-tools/ebook-tools/$version/ebook-tools-$version.tar.gz" + } + } + ] + }, + { + "name": "djvulibre", + "sources": [ + { + "type": "archive", + "url": "http://downloads.sourceforge.net/djvu/djvulibre-3.5.29.tar.gz", + "sha256": "d3b4b03ae2bdca8516a36ef6eb27b777f0528c9eda26745d9962824a3fdfeccf", + "x-checker-data": { + "type": "anitya", + "project-id": 10159, + "stable-only": true, + "url-template": "http://downloads.sourceforge.net/djvu/djvulibre-$version.tar.gz" + } + } + ] + }, + { + "name": "ghostscript", + "config-opts": [ + "--disable-cups" + ], + "make-args": [ + "so" + ], + "make-install-args": [ + "soinstall" + ], + "post-install": [ + "mv -f ${FLATPAK_DEST}/bin/{gsc,gs} " + ], + "cleanup": [ + "/share/ghostscript/*/doc/", + "/share/ghostscript/*/examples" + ], + "sources": [ + { + "type": "archive", + "url": "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10051/ghostscript-10.05.1.tar.gz", + "sha256": "121861b6d29b2461dec6575c9f3cab665b810bd408d4ec02c86719fa708b0a49", + "x-checker-data": { + "type": "anitya", + "project-id": 1157, + "stable-only": true, + "url-template": "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs${major}0$minor$patch/ghostscript-$version.tar.gz" + } + } + ] + }, + { + "name": "libspectre", + "sources": [ + { + "type": "archive", + "url": "http://libspectre.freedesktop.org/releases/libspectre-0.2.12.tar.gz", + "sha256": "55a7517cd3572bd2565df0cf450944a04d5273b279ebb369a895391957f0f960", + "x-checker-data": { + "type": "anitya", + "project-id": 1724, + "stable-only": true, + "url-template": "http://libspectre.freedesktop.org/releases/libspectre-$version.tar.gz" + } + } + ] + }, + { + "name": "poppler-data", + "buildsystem": "cmake-ninja", + "builddir": true, + "config-opts": [ + "-DCMAKE_BUILD_TYPE=RelWithDebInfo" + ], + "sources": [ + { + "type": "archive", + "url": "https://poppler.freedesktop.org/poppler-data-0.4.12.tar.gz", + "sha256": "c835b640a40ce357e1b83666aabd95edffa24ddddd49b8daff63adb851cdab74", + "x-checker-data": { + "type": "anitya", + "project-id": 3687, + "stable-only": true, + "url-template": "https://poppler.freedesktop.org/poppler-data-$version.tar.gz" + } + } + ] + }, + { + "name": "poppler", + "buildsystem": "cmake-ninja", + "builddir": true, + "config-opts": [ + "-DCMAKE_BUILD_TYPE=RelWithDebInfo", + "-DBUILD_GTK_TESTS=OFF", + "-DBUILD_QT5_TESTS=OFF", + "-DBUILD_QT6_TESTS=OFF", + "-DBUILD_CPP_TESTS=OFF", + "-DENABLE_UTILS=OFF", + "-DENABLE_CPP=OFF", + "-DENABLE_GLIB=OFF", + "-DENABLE_QT5=OFF", + "-DENABLE_QT6=ON" + ], + "sources": [ + { + "type": "archive", + "url": "https://poppler.freedesktop.org/poppler-25.09.0.tar.xz", + "sha256": "758abfe0c77108c72d654b291dfbce54964b5315a53028e3875f07ef55ff20a3", + "x-checker-data": { + "type": "anitya", + "project-id": 3686, + "stable-only": true, + "url-template": "https://poppler.freedesktop.org/poppler-$version.tar.xz" + } + } + ] + }, + { + "name": "inih", + "buildsystem": "meson", + "config-opts": [ + "-Ddefault_library=shared", + "-Ddistro_install=true", + "-Dwith_INIReader=true" + ], + "sources": [ + { + "type": "archive", + "url": "https://github.com/benhoyt/inih/archive/refs/tags/r61.tar.gz", + "sha256": "7caf26a2202a4ca689df3fe4175dfa74e0faa18fcca07331bba934fd0ecb8f12", + "x-checker-data": { + "type": "anitya", + "project-id": 11600, + "stable-only": true, + "url-template": "https://github.com/benhoyt/inih/archive/refs/tags/r$version.tar.gz" + } + } + ] + }, + { + "name": "exiv2", + "buildsystem": "cmake-ninja", + "builddir": true, + "config-opts": [ + "-DCMAKE_BUILD_TYPE=RelWithDebInfo" + ], + "sources": [ + { + "type": "archive", + "url": "https://github.com/Exiv2/exiv2/archive/refs/tags/v0.28.7.tar.gz", + "sha256": "5e292b02614dbc0cee40fe1116db2f42f63ef6b2ba430c77b614e17b8d61a638", + "x-checker-data": { + "type": "anitya", + "project-id": 769, + "stable-only": true, + "url-template": "https://github.com/Exiv2/exiv2/archive/refs/tags/v$version.tar.gz" + } + } + ] + }, + { + "name": "pcre", + "config-opts": [ + "--enable-unicode-properties" + ], + "sources": [ + { + "type": "archive", + "url": "http://prdownloads.sourceforge.net/pcre/pcre-8.45.tar.bz2", + "sha256": "4dae6fdcd2bb0bb6c37b5f97c33c2be954da743985369cddac3546e3218bffb8" + } + ] + }, + { + "name": "libkexiv2", + "buildsystem": "cmake-ninja", + "builddir": true, + "config-opts": [ + "-DCMAKE_BUILD_TYPE=RelWithDebInfo", + "-DQT_MAJOR_VERSION=6" + ], + "sources": [ + { + "type": "archive", + "url": "https://download.kde.org/stable/release-service/25.08.0/src/libkexiv2-25.08.0.tar.xz", + "sha256": "9bb4e5858f35d0dba813ade3c0ff6e7fe750b0930d60a7f4609b48c9563d45eb", + "x-checker-data": { + "type": "anitya", + "project-id": 8763, + "stable-only": true, + "url-template": "https://download.kde.org/stable/release-service/$version/src/libkexiv2-$version.tar.xz" + } + } + ] + }, + { + "name": "kdegraphics-mobipocket", + "buildsystem": "cmake-ninja", + "builddir": true, + "config-opts": [ + "-DCMAKE_BUILD_TYPE=RelWithDebInfo", + "-DQT_MAJOR_VERSION=6" + ], + "sources": [ + { + "type": "archive", + "url": "https://download.kde.org/stable/release-service/25.08.0/src/kdegraphics-mobipocket-25.08.0.tar.xz", + "sha256": "d60c4eb4387d63036a8d734f77c5cbb75aea4c9dc8ecdfece46b227c007416fe", + "x-checker-data": { + "type": "anitya", + "project-id": 8763, + "stable-only": true, + "url-template": "https://download.kde.org/stable/release-service/$version/src/kdegraphics-mobipocket-$version.tar.xz" + } + } + ] + }, + { + "name": "ffmpeg", + "config-opts": [ + "--enable-pic", + "--enable-shared", + "--disable-doc", + "--disable-static", + "--enable-gpl", + "--enable-libvpx", + "--enable-libmp3lame", + "--enable-libvorbis", + "--enable-libopus" + ], + "sources": [ + { + "type": "archive", + "url": "https://ffmpeg.org/releases/ffmpeg-4.4.5.tar.xz", + "sha256": "f9514e0d3515aee5a271283df71636e1d1ff7274b15853bcd84e144be416ab07" + } + ] + }, + { + "name": "phonon", + "config-opts": [ + "-DBUILD_TESTING=OFF", + "-DPHONON_BUILD_QT5=OFF", + "-DPHONON_BUILD_QT6=ON", + "-DPHONON_BUILD_DESIGNER_PLUGIN=OFF" + ], + "buildsystem": "cmake-ninja", + "sources": [ + { + "type": "archive", + "url": "https://download.kde.org/stable/phonon/4.12.0/phonon-4.12.0.tar.xz", + "sha256": "3287ffe0fbcc2d4aa1363f9e15747302d0b080090fe76e5f211d809ecb43f39a", + "x-checker-data": { + "type": "anitya", + "project-id": 229047, + "stable-only": true, + "url-template": "https://download.kde.org/stable/phonon/$version/phonon-$version.tar.xz" + } + } + ] + }, + { + "name": "libvlc", + "config-opts": [ + "BUILDCC=gcc", + "--disable-lua", + "--disable-a52", + "--disable-qt", + "--disable-ncurses", + "--disable-udev" + ], + "sources": [ + { + "type": "archive", + "url": "https://get.videolan.org/vlc/3.0.21/vlc-3.0.21.tar.xz", + "sha256": "24dbbe1d7dfaeea0994d5def0bbde200177347136dbfe573f5b6a4cee25afbb0", + "x-checker-data": { + "type": "anitya", + "project-id": 6504, + "stable-only": true, + "url-template": "https://get.videolan.org/vlc/$version/vlc-$version.tar.xz" + } + }, + { + "type": "patch", + "path": ".flatpak-patches/vlc-ignore-time-for-cache.patch" + }, + { + "type": "patch", + "path": ".flatpak-patches/vlc-taglib-2.patch" + } + ] + }, + { + "name": "phonon-vlc", + "buildsystem": "cmake-ninja", + "config-opts": [ + "-DPHONON_BUILD_QT5=OFF" + ], + "sources": [ + { + "type": "archive", + "url": "https://download.kde.org/stable/phonon/phonon-backend-vlc/0.12.0/phonon-backend-vlc-0.12.0.tar.xz", + "sha256": "338479dc451e4b94b3ca5b578def741dcf82f5c626a2807d36235be2dce7c9a5", + "x-checker-data": { + "type": "anitya", + "project-id": 229046, + "stable-only": true, + "url-template": "https://download.kde.org/stable/phonon/phonon-backend-vlc/$version/phonon-backend-vlc-$version.tar.xz" + } + } + ] + }, + { + "name": "okular", + "buildsystem": "cmake-ninja", + "builddir": true, + "config-opts": [ + "-DCMAKE_BUILD_TYPE=RelWithDebInfo" + ], + "post-install": [ + "mv /app/bin/okular /app/bin/okular-bin", + "install -Dm755 ../okular-wrapper /app/bin/okular" + ], + "sources": [ + { + "type": "dir", + "path": "." + }, + { + "type": "patch", + "path": ".flatpak-patches/okular-mimetypes.patch" + }, + { + "type": "script", + "dest-filename": "okular-wrapper", + "commands": [ + "export TMPDIR=\"$XDG_RUNTIME_DIR/app/$FLATPAK_ID\"", + "exec /app/bin/okular-bin \"$@\"" + ] + } + ] + } + ] +} diff --git a/.flatpak-patches/okular-mimetypes.patch b/.flatpak-patches/okular-mimetypes.patch new file mode 100644 index 0000000..4251a33 --- /dev/null +++ b/.flatpak-patches/okular-mimetypes.patch @@ -0,0 +1,12 @@ +diff --git a/shell/org.kde.okular.desktop b/shell/org.kde.okular.desktop +index 8e0141735..370b82277 100755 +--- a/shell/org.kde.okular.desktop ++++ b/shell/org.kde.okular.desktop +@@ -164,6 +164,6 @@ Type=Application + X-DocPath=okular/index.html + InitialPreference=7 + Categories=Qt;KDE;Graphics;Office;Viewer; +-MimeType=application/vnd.kde.okular-archive; ++MimeType=application/epub+zip;application/oxps;application/pdf;application/postscript;application/prs.plucker;application/vnd.kde.okular-archive;application/vnd.ms-xpsdocument;application/x-bzdvi;application/x-bzpdf;application/x-bzpostscript;application/x-cbr;application/x-cbt;application/x-cbz;application/x-dvi;application/x-fictionbook+xml;application/x-gzdvi;application/x-gzpdf;application/x-gzpostscript;application/x-mobipocket-ebook;application/x-wwf;image/bmp;image/fax-g3;image/gif;image/g3fax;image/jpeg;image/jp2;image/png;image/tiff;image/vnd.djvu;image/x-bzeps;image/x-dds;image/x-eps;image/x-exr;image/x-gzeps;image/x-hdr;image/x-ico;image/x-pcx;image/x-portable-bitmap;image/x-portable-graymap;image/x-portable-pixmap;image/x-psd;image/x-rgb;image/x-tga;image/x-xbitmap;image/x-xcf;image/x-xpixmap;text/markdown;text/plain;video/x-mng; + X-DBUS-ServiceName=org.kde.okular + diff --git a/.flatpak-patches/vlc-ignore-time-for-cache.patch b/.flatpak-patches/vlc-ignore-time-for-cache.patch new file mode 100644 index 0000000..e89ea89 --- /dev/null +++ b/.flatpak-patches/vlc-ignore-time-for-cache.patch @@ -0,0 +1,26 @@ +From b380b05132521b0c1c18b872eba23d1ebc32e0c9 Mon Sep 17 00:00:00 2001 +From: Mathieu Velten +Date: Sun, 16 Jun 2019 02:46:56 +0200 +Subject: [PATCH] Ignore time for cache + +--- + src/modules/bank.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/src/modules/bank.c b/src/modules/bank.c +index 2e67a0d07e..ab2915fbb7 100644 +--- a/src/modules/bank.c ++++ b/src/modules/bank.c +@@ -275,8 +275,7 @@ static int AllocatePluginFile (module_bank_t *bank, const char *abspath, + plugin = vlc_cache_lookup(&bank->cache, relpath); + + if (plugin != NULL +- && (plugin->mtime != (int64_t)st->st_mtime +- || plugin->size != (uint64_t)st->st_size)) ++ && plugin->size != (uint64_t)st->st_size) + { + msg_Err(bank->obj, "stale plugins cache: modified %s", + plugin->abspath); +-- +2.21.0 + diff --git a/.flatpak-patches/vlc-taglib-2.patch b/.flatpak-patches/vlc-taglib-2.patch new file mode 100644 index 0000000..862ef58 --- /dev/null +++ b/.flatpak-patches/vlc-taglib-2.patch @@ -0,0 +1,63 @@ +diff --git a/modules/meta_engine/taglib.cpp b/modules/meta_engine/taglib.cpp +index 84b401c795..f371485008 100644 +--- a/modules/meta_engine/taglib.cpp ++++ b/modules/meta_engine/taglib.cpp +@@ -185,7 +185,7 @@ public: + ByteVector res(length, 0); + ssize_t i_read = vlc_stream_Read( m_stream, res.data(), length); + if (i_read < 0) +- return ByteVector::null; ++ return ByteVector(); + else if ((size_t)i_read != length) + res.resize(i_read); + return res; +@@ -465,7 +465,7 @@ static void ReadMetaFromASF( ASF::Tag* tag, demux_meta_t* p_demux_meta, vlc_meta + static void ReadMetaFromBasicTag(const Tag* tag, vlc_meta_t *dest) + { + #define SET( accessor, meta ) \ +- if( !tag->accessor().isNull() && !tag->accessor().isEmpty() ) \ ++ if( !tag->accessor().isEmpty() ) \ + vlc_meta_Set##meta( dest, tag->accessor().toCString(true) ) + #define SETINT( accessor, meta ) \ + if( tag->accessor() ) \ +@@ -806,15 +806,15 @@ static void ReadMetaFromMP4( MP4::Tag* tag, demux_meta_t *p_demux_meta, vlc_meta + { + MP4::Item list; + #define SET( keyName, metaName ) \ +- if( tag->itemListMap().contains(keyName) ) \ ++ if( tag->itemMap().contains(keyName) ) \ + { \ +- list = tag->itemListMap()[keyName]; \ ++ list = tag->itemMap()[keyName]; \ + vlc_meta_Set##metaName( p_meta, list.toStringList().front().toCString( true ) ); \ + } + #define SET_EXTRA( keyName, metaName ) \ +- if( tag->itemListMap().contains(keyName) ) \ ++ if( tag->itemMap().contains(keyName) ) \ + { \ +- list = tag->itemListMap()[keyName]; \ ++ list = tag->itemMap()[keyName]; \ + vlc_meta_AddExtra( p_meta, metaName, list.toStringList().front().toCString( true ) ); \ + } + +@@ -824,9 +824,9 @@ static void ReadMetaFromMP4( MP4::Tag* tag, demux_meta_t *p_demux_meta, vlc_meta + #undef SET + #undef SET_EXTRA + +- if( tag->itemListMap().contains("covr") ) ++ if( tag->itemMap().contains("covr") ) + { +- MP4::CoverArtList list = tag->itemListMap()["covr"].toCoverArtList(); ++ MP4::CoverArtList list = tag->itemMap()["covr"].toCoverArtList(); + const char *psz_format = list[0].format() == MP4::CoverArt::PNG ? "image/png" : "image/jpeg"; + + msg_Dbg( p_demux_meta, "Found embedded art (%s) is %i bytes", +@@ -1337,7 +1337,7 @@ static int WriteMeta( vlc_object_t *p_this ) + if( RIFF::AIFF::File* riff_aiff = dynamic_cast(f.file()) ) + WriteMetaToId3v2( riff_aiff->tag(), p_item ); + else if( RIFF::WAV::File* riff_wav = dynamic_cast(f.file()) ) +- WriteMetaToId3v2( riff_wav->tag(), p_item ); ++ WriteMetaToId3v2( riff_wav->ID3v2Tag(), p_item ); + } + else if( TrueAudio::File* trueaudio = dynamic_cast(f.file()) ) + { diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs new file mode 100644 index 0000000..dede600 --- /dev/null +++ b/.git-blame-ignore-revs @@ -0,0 +1,11 @@ +# _clang_format added +19d98d6a74079a42bcc5cb0e899d239a4bdb6e20 +b09e23f6ab7bf806448d87df1ceb1ea769d5a300 +# readability-braces-around-statements +50d0703ae0994d03dbf9e92868c93cc2cb8ea051 +# clang-format-16 +0842f5e5bb2ea449a48e8545d3767880b676a77d +# QVector to QList +7583be09601f046bd5152d05357ddd463821222f +# clang-format-19 +6b26d277f0308aa1b2fbe394c4cafc9522a2841b diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8877e5b --- /dev/null +++ b/.gitignore @@ -0,0 +1,18 @@ +CMakeLists.txt.user* +*.kdev4 +*.swp +/build*/ +.cmake/ + +# LSP & IDE +/.clang-format +/compile_commands.json +.clangd +.cache +.idea +.qtcreator +/cmake-build* + +# Flatpak +.flatpak-builder +build-dir diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..38efa23 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,82 @@ +# yamllint disable rule:line-length +variables: + DEBIAN_FRONTEND: "noninteractive" + +include: + - project: sysadmin/ci-utilities + file: + - /gitlab-templates/android-qt6.yml + - /gitlab-templates/flatpak.yml + - /gitlab-templates/linux-qt6.yml + - /gitlab-templates/linux-qt6-next.yml + - /gitlab-templates/freebsd-qt6.yml + - /gitlab-templates/windows-qt6.yml + - /gitlab-templates/cppcheck.yml + - /gitlab-templates/xml-lint.yml + - /gitlab-templates/yaml-lint.yml + - /gitlab-templates/craft-windows-x86-64-qt6.yml + - /gitlab-templates/craft-windows-appx-qt6.yml + - /gitlab-templates/craft-android-qt6-apks.yml + - /gitlab-templates/craft-macos-arm64-qt6.yml + - /gitlab-templates/craft-macos-x86-64-qt6.yml + +# Ideally should be LTS but there's no Ubuntu LTS that can build Okular yet +build_ubuntu_24_10: + stage: build + image: ubuntu:24.10 + tags: + - Linux + only: + - merge_requests + before_script: + - sed -i 's/ deb/ deb deb-src/' /etc/apt/sources.list.d/ubuntu.sources + - sed -i 's/archive.ubuntu.com/old-releases.ubuntu.com/' /etc/apt/sources.list.d/ubuntu.sources + - sed -i 's/security.ubuntu.com/old-releases.ubuntu.com/' /etc/apt/sources.list.d/ubuntu.sources + - apt-get update + - apt-get install --yes eatmydata + - eatmydata apt-get build-dep --yes --no-install-recommends okular + - eatmydata apt-get install --yes --no-install-recommends ninja-build + script: + - mkdir -p build && cd build + - cmake -DOKULAR_UI=both -G Ninja .. + - ninja + +build_clazy_clang_tidy: + extends: + - .ci_linux_base + - .suse_tumbleweed_qt6stable + rules: + # only run on merge requests + - if: $CI_PIPELINE_SOURCE == "merge_request_event" + variables: + CLAZY_CHECKS: level0,level1,level2,no-ctor-missing-parent-argument,isempty-vs-count,qhash-with-char-pointer-key,raw-environment-function,qproperty-type-mismatch + CXXFLAGS: -Werror -Wno-deprecated-declarations + CC: clang + CXX: clazy + script: + - git config --global --add safe.directory $CI_PROJECT_DIR + - python3 -u ci-utilities/run-ci-build.py --project $CI_PROJECT_NAME --branch $CI_COMMIT_REF_NAME --platform Linux/Qt6/Shared --only-setup-environment + - mkdir -p /tmp/okular_build + - cd /tmp/okular_build + - cmake -DOKULAR_UI=both -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -G Ninja -DCMAKE_INSTALL_PREFIX=$CI_PROJECT_DIR/_install -DFORCE_NOT_REQUIRED_DEPENDENCIES=KF6DocTools -DKF6DocTools_FOUND=false $CI_PROJECT_DIR + - cat compile_commands.json | jq '[.[] | select(.file | contains("'"$CI_PROJECT_DIR"'"))]' > compile_commands.aux.json + - cat compile_commands.aux.json | jq '[.[] | select(.file | contains("/synctex/")| not)]' > compile_commands.json + - cp "$CI_PROJECT_DIR/.clang-tidy" . + - CLAZY_IGNORE_DIRS="settings_core.[cpp|h]|settings.[cpp.h]|pdfsettings.h|gssettings.h|ui_selectcertificatedialog.h|okularplugin_qmltyperegistrations.cpp|okularkirigami_qmltyperegistrations.cpp|okularkirigami_qmlcache_loader.cpp|okularplugin_qmlcache_loader.cpp|mobile/components/.rcc/qmlcache/|mobile/app/.rcc/qmlcache" ninja -k 0 + - run-clang-tidy + artifacts: null + +clang_format: + stage: build + image: debian:stable + tags: + - Linux + only: + - merge_requests + - master + before_script: + - apt-get update + - apt-get install --yes --no-install-recommends git clang-format-19 + script: + - find . \( -name "*.cpp" -or -name "*.h" -or -name "*.c" -or -name "*.cc" \) -exec clang-format-19 -i {} \; + - git diff --exit-code diff --git a/.kde-ci.yml b/.kde-ci.yml new file mode 100644 index 0000000..7fe0a92 --- /dev/null +++ b/.kde-ci.yml @@ -0,0 +1,44 @@ +# SPDX-FileCopyrightText: None +# SPDX-License-Identifier: CC0-1.0 + +Dependencies: + - 'on': ['@all'] + 'require': + 'frameworks/kbookmarks': '@latest-kf6' + 'frameworks/threadweaver': '@latest-kf6' + 'frameworks/kcolorscheme': '@latest-kf6' + 'frameworks/ki18n': '@latest-kf6' + 'frameworks/kio': '@latest-kf6' + 'frameworks/karchive': '@latest-kf6' + 'frameworks/kparts': '@latest-kf6' + 'frameworks/ktextwidgets': '@latest-kf6' + 'frameworks/kwidgetsaddons': '@latest-kf6' + 'frameworks/kxmlgui': '@latest-kf6' + 'libraries/phonon': '@latest-kf6' + 'graphics/kdegraphics-mobipocket': '@same' + + - 'on': ['Linux', 'FreeBSD', 'Windows'] + 'require': + 'frameworks/purpose': '@latest-kf6' + 'frameworks/breeze-icons': '@latest-kf6' + 'graphics/libkexiv2': '@same' + + - 'on': ['Android'] + 'require': + 'frameworks/kirigami': '@latest-kf6' + +Options: + require-passing-tests-on: ['Linux', 'FreeBSD'] + per-test-timeout: 300 + cppcheck-arguments: + - '--enable=warning,style,performance' + - '--library=okular-cppcheck.xml' + - '--suppress-xml=cppcheck-suppressions.xml' + cppcheck-ignore-files: + - autotests + - core/synctex/synctex_parser.c + - core/synctex/synctex_parser_utils.c + xml-validate-include: + - shell/shell.rc + - part/part-viewermode.rc + - part/part.rc diff --git a/.krazy b/.krazy new file mode 100644 index 0000000..10e868b --- /dev/null +++ b/.krazy @@ -0,0 +1 @@ +SKIP /generators/chm/kio-msits\|/generators/chm/lib\|/generators/dvi/\|/generators/plucker/unpluck/|/generators/poppler/synctex/ diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..6080cd8 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,670 @@ +cmake_minimum_required(VERSION 3.22) + +# KDE Application Version, managed by release script +set (RELEASE_SERVICE_VERSION_MAJOR "25") +set (RELEASE_SERVICE_VERSION_MINOR "11") +set (RELEASE_SERVICE_VERSION_MICRO "90") +set (RELEASE_SERVICE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}") + +project(okular VERSION ${RELEASE_SERVICE_VERSION}) + +set(QT_REQUIRED_VERSION "6.6.0") # Remember to update the QT_DEPRECATED_WARNINGS_SINCE below +set(KF_REQUIRED_VERSION "5.240.0") # Remember to update the KF_DEPRECATED_WARNINGS_SINCE below + +set(OKULAR_UI "" CACHE STRING "Which Okular user interface to build. Possible values: desktop, mobile, both. Default: desktop (except on Android, where it is 'mobile')") + +set(FORCE_NOT_REQUIRED_DEPENDENCIES "" CACHE STRING "List (semicolon-separated) of dependencies that will be downgraded from REQUIRED to RECOMMENDED") + +find_package(ECM ${KF_REQUIRED_VERSION} CONFIG REQUIRED) +set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH}) + +include(ECMInstallIcons) +include(ECMSetupVersion) +include(ECMOptionalAddSubdirectory) +include(GenerateExportHeader) +include(FeatureSummary) +include(ECMAddAppIcon) +include(KDECompilerSettings NO_POLICY_SCOPE) +include(KDEInstallDirs) +include(KDECMakeSettings) +include(ECMAddTests) +include(ECMAddAppIcon) +include(CMakePackageConfigHelpers) +include(ECMSetupQtPluginMacroNames) +include(ECMAddAndroidApk) + +if (ANDROID AND (FORCE_NOT_REQUIRED_DEPENDENCIES STREQUAL "")) + set(FORCE_NOT_REQUIRED_DEPENDENCIES "KF6Wallet;KF6DocTools;Qt6Qml;TIFF;LibSpectre;KExiv2Qt6;DjVuLibre;EPub;Discount;") +endif() + +function(set_okular_optional_package_properties _name _props) + if(NOT "${_props}" STREQUAL "PROPERTIES") + message(FATAL_ERROR "PROPERTIES keyword is missing in set_okular_optional_package_properties() call.") + endif() + + set(options) # none + set(oneValueArgs DESCRIPTION URL PURPOSE) + set(multiValueArgs) # none + + CMAKE_PARSE_ARGUMENTS(_SPP "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) + + if(_SPP_UNPARSED_ARGUMENTS) + message(FATAL_ERROR "Unknown keywords given to set_okular_optional_package_properties(): \"${_SPP_UNPARSED_ARGUMENTS}\"") + endif() + + set(DEPENDENCY_TYPE "REQUIRED") + if (${_name} IN_LIST FORCE_NOT_REQUIRED_DEPENDENCIES) + set(DEPENDENCY_TYPE "RECOMMENDED") + endif() + set_package_properties(${_name} PROPERTIES + TYPE ${DEPENDENCY_TYPE} + DESCRIPTION ${_SPP_DESCRIPTION} + URL ${_SPP_URL} + PURPOSE "${_SPP_PURPOSE} You can make the dependency optional adding ${_name} to the FORCE_NOT_REQUIRED_DEPENDENCIES cmake option" + ) +endfunction() + +if(OKULAR_UI STREQUAL "") + if(ANDROID) + set(OKULAR_UI "mobile") + else() + set(OKULAR_UI "desktop") + endif() +endif() + +if(OKULAR_UI STREQUAL "desktop" OR OKULAR_UI STREQUAL "both") + set(BUILD_DESKTOP ON) +else() + set(BUILD_DESKTOP OFF) +endif() +if(OKULAR_UI STREQUAL "mobile" OR OKULAR_UI STREQUAL "both") + include(ECMQmlModule) + set(BUILD_MOBILE ON) +else() + set(BUILD_MOBILE OFF) +endif() + +# append the plugins from the install tree folder to the QT_PLUGIN_PATH +if(UNIX) + set(ENV{QT_PLUGIN_PATH} "$ENV{QT_PLUGIN_PATH}:${KDE_INSTALL_FULL_QTPLUGINDIR}") +elseif(WIN32) + set(ENV{QT_PLUGIN_PATH} "$ENV{QT_PLUGIN_PATH};${KDE_INSTALL_FULL_QTPLUGINDIR}") +endif() + +set(CMAKE_CXX_STANDARD 20) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_CXX_EXTENSIONS OFF) + +ecm_setup_version(${PROJECT_VERSION} + VARIABLE_PREFIX OKULAR + VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/core/version.h" + PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/Okular6ConfigVersion.cmake") + +find_package(Qt6 ${QT_REQUIRED_VERSION} CONFIG REQUIRED COMPONENTS Core Test Widgets PrintSupport Svg Xml) + +ecm_setup_qtplugin_macro_names( + JSON_ARG2 + "OKULAR_EXPORT_PLUGIN" + CONFIG_CODE_VARIABLE + PACKAGE_SETUP_AUTOMOC_VARIABLES +) + +find_package(KF6 ${KF_REQUIRED_VERSION} REQUIRED COMPONENTS + Archive + Bookmarks + Completion + Config + ConfigWidgets + CoreAddons + I18n + KIO + ThreadWeaver + WindowSystem + XmlGui +) + +if (NOT WIN32 AND NOT HAIKU) + find_package(KF6Wallet ${KF_REQUIRED_VERSION}) + set_okular_optional_package_properties(KF6Wallet PROPERTIES + PURPOSE "Required for document storing passwords in secure wallets.") +endif() +if(KF6Wallet_FOUND) + set(HAVE_KWALLET 1) +else() + set(HAVE_KWALLET 0) +endif() + +find_package(KF6DocTools ${KF_REQUIRED_VERSION}) +set_okular_optional_package_properties(KF6DocTools PROPERTIES + PURPOSE "Required for compiling and installing the user documentation.") + +find_package(Qt6Qml) +set_okular_optional_package_properties(Qt6Qml PROPERTIES + PURPOSE "Required for supporting JavaScript in PDF documents") +if(TARGET Qt6::Qml) + set(HAVE_JS 1) +else() + set(HAVE_JS 0) +endif() + +if (BUILD_DESKTOP) + # shall we use DBus? + # enabled per default on Linux & BSD systems + set(USE_DBUS_DEFAULT OFF) + if(UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAIKU) + set(USE_DBUS_DEFAULT ON) + endif() + option(USE_DBUS "Build components using DBus (used for interprocess communication, external open in same instance and various presentation related bits)" ${USE_DBUS_DEFAULT}) + if(USE_DBUS) + find_package(Qt6DBus REQUIRED) + set(HAVE_DBUS 1) + endif() + + find_package(KF6 ${KF_REQUIRED_VERSION} REQUIRED COMPONENTS Parts ColorScheme Crash IconThemes TextWidgets WidgetsAddons) + + find_package(KF6Purpose) + set_okular_optional_package_properties(KF6Purpose PROPERTIES + DESCRIPTION "A framework for services and actions integration" + PURPOSE "Required for enabling the share menu.") + if (KF6Purpose_FOUND) + set(HAVE_PURPOSE 1) + else() + set(HAVE_PURPOSE 0) + endif() + + find_package(Qt6TextToSpeech ${QT_REQUIRED_VERSION} CONFIG) + set_okular_optional_package_properties(Qt6TextToSpeech PROPERTIES + PURPOSE "Enables speech features.") + if (Qt6TextToSpeech_FOUND) + set(HAVE_SPEECH 1) + else() + set(HAVE_SPEECH 0) + endif() +endif() + +if (BUILD_MOBILE) + find_package(Qt6 ${QT_REQUIRED_VERSION} CONFIG REQUIRED COMPONENTS Qml Quick) + find_package(KF6Kirigami2) + set_package_properties(KF6Kirigami2 PROPERTIES + DESCRIPTION "A QtQuick based components set" + PURPOSE "Required at runtime by the mobile app" + TYPE RUNTIME + ) + find_package(KF6KirigamiAddons) + set_package_properties(KF6KirigamiAddons PROPERTIES + DESCRIPTION "A set of widgets for Kirigami along with code to support them" + PURPOSE "Required at runtime by the mobile app" + TYPE RUNTIME + ) + + qt_policy(SET QTP0001 NEW) +endif() + +if(NOT WIN32 AND NOT ANDROID AND NOT APPLE AND NOT HAIKU) + if (Qt6Gui_VERSION VERSION_GREATER_EQUAL "6.10.0") + find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) + else() + find_package(Qt6Gui REQUIRED COMPONENTS Private) + endif() + set(HAVE_X11 TRUE) +else() + set(HAVE_X11 FALSE) +endif() +find_package(Phonon4Qt6 CONFIG) +set_okular_optional_package_properties(Phonon4Qt6 PROPERTIES + PURPOSE "Required for documents with audio or video elements") +if (Phonon4Qt6_FOUND) + set(HAVE_PHONON 1) +else() + set(HAVE_PHONON 0) +endif() + +set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake/modules) + +find_package(ZLIB REQUIRED) + +find_package(Poppler "22.02.0" COMPONENTS Qt6) +set_okular_optional_package_properties(Poppler PROPERTIES + PURPOSE "Support for PDF files in okular.") + +find_package(Freetype) +set_okular_optional_package_properties(Freetype PROPERTIES + DESCRIPTION "A font rendering engine" + URL "https://www.freetype.org" + PURPOSE "Provides freetype font support in the okular DVI generator.") + +find_package(TIFF) +set_okular_optional_package_properties(TIFF PROPERTIES + DESCRIPTION "A library for reading and writing TIFF formatted files," + URL "http://www.libtiff.org" + PURPOSE "Support for TIFF files in okular.") + +set(LIBSPECTRE_MINIMUM_VERSION "0.2") +find_package(LibSpectre "${LIBSPECTRE_MINIMUM_VERSION}") +set_okular_optional_package_properties(LibSpectre PROPERTIES + DESCRIPTION "A PostScript rendering library" + URL "https://libspectre.freedesktop.org" + PURPOSE "Support for PS files in okular.") + +find_package(KExiv2Qt6 CONFIG) +set_okular_optional_package_properties(KExiv2Qt6 PROPERTIES + DESCRIPTION "Wrapper around Exiv2 library" + URL "https://commits.kde.org/libkexiv2" + PURPOSE "Support for exif rotation in image files.") + +find_package(DjVuLibre "3.5.28") +set_okular_optional_package_properties(DjVuLibre PROPERTIES + DESCRIPTION "A library for dealing with DjVu formatted files" + URL "https://djvulibre.djvuzone.org" + PURPOSE "Support for DjVu files in okular.") + +find_package(EPub) +set_okular_optional_package_properties(EPub PROPERTIES + DESCRIPTION "A library for reading EPub documents" + URL "http://sourceforge.net/projects/ebook-tools" + PURPOSE "Support for EPub documents in Okular.") + +find_package(QMobipocket6 "2" CONFIG) +set_okular_optional_package_properties(QMobiPocket6 PROPERTIES + DESCRIPTION "A library for reading Mobipocket documents" + URL "https://commits.kde.org/kdegraphics-mobipocket" + PURPOSE "Support for Mobipocket documents in Okular.") + +find_package(Discount) +set_okular_optional_package_properties(Discount PROPERTIES + DESCRIPTION "A library that gives you formatting functions suitable for marking down entire documents or lines of text" + URL "https://www.pell.portland.or.us/~orc/Code/discount/" + PURPOSE "Support for Markdown documents in Okular.") + +add_definitions(-DTRANSLATION_DOMAIN="okular") +add_definitions(-DQT_DEPRECATED_WARNINGS_SINCE=0x060600) +add_definitions(-DKF_DEPRECATED_WARNINGS_SINCE=0x05F000) + +if (Poppler_VERSION VERSION_LESS 24.10.0) + add_definitions(-DHAVE_NEW_SIGNATURE_API=0) +else() + add_definitions(-DHAVE_NEW_SIGNATURE_API=1) +endif() + +if (Poppler_VERSION VERSION_LESS 24.12.0) + add_definitions(-DHAVE_AUTOMATIC_SIGNATURE_FONT_SIZE=0) +else() + add_definitions(-DHAVE_AUTOMATIC_SIGNATURE_FONT_SIZE=1) +endif() + +include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${PHONON_INCLUDES} core/synctex ${CMAKE_BINARY_DIR}/core) + +option(BUILD_COVERAGE "Build the project with gcov support" OFF) + +if(BUILD_COVERAGE) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lgcov") +endif() + +add_subdirectory( icons ) # an own directory for multi-size icons retrieved by KIconThemeLoader +add_subdirectory( part ) +if(BUILD_DESKTOP) + add_subdirectory( shell ) +endif() +add_subdirectory( generators ) + +if(BUILD_MOBILE) + add_subdirectory( mobile ) +endif() + +if(BUILD_TESTING) + add_subdirectory( autotests ) +endif() + +if(KF6DocTools_FOUND) + add_subdirectory(doc) +endif() + +include(OkularConfigureChecks.cmake) + +if(NOT WIN32) + set(MATH_LIB m) +else(NOT WIN32) + set(MATH_LIB) +endif(NOT WIN32) + +# okularcore + +set(okularcore_SRCS + core/action.cpp + core/annotations.cpp + core/area.cpp + core/audioplayer.cpp + core/bookmarkmanager.cpp + core/chooseenginedialog.cpp + core/document.cpp + core/documentcommands.cpp + core/fontinfo.cpp + core/form.cpp + core/generator.cpp + core/generator_p.cpp + core/misc.cpp + core/movie.cpp + core/observer.cpp + core/debug.cpp + core/page.cpp + core/pagecontroller.cpp + core/pagesize.cpp + core/pagetransition.cpp + core/rotationjob.cpp + core/scripter.cpp + core/sound.cpp + core/sourcereference.cpp + core/textdocumentgenerator.cpp + core/textdocumentsettings.cpp + core/textpage.cpp + core/tilesmanager.cpp + core/utils.cpp + core/view.cpp + core/fileprinter.cpp + core/printoptionswidget.cpp + core/signatureutils.cpp + core/script/event.cpp + core/synctex/synctex_parser.c + core/synctex/synctex_parser_utils.c +) +qt_add_resources(okularcore_SRCS + core/script/builtin.qrc +) + +ki18n_wrap_ui(okularcore_SRCS + core/textdocumentsettings.ui +) + +install( FILES + core/action.h + core/annotations.h + core/area.h + core/document.h + core/fontinfo.h + core/form.h + core/generator.h + core/global.h + core/page.h + core/pagesize.h + core/pagetransition.h + core/signatureutils.h + core/sound.h + core/sourcereference.h + core/textdocumentgenerator.h + core/textdocumentsettings.h + core/textpage.h + core/tile.h + core/utils.h + core/fileprinter.h + core/printoptionswidget.h + core/observer.h + ${CMAKE_CURRENT_BINARY_DIR}/core/version.h + ${CMAKE_CURRENT_BINARY_DIR}/core/okularcore_export.h + ${CMAKE_CURRENT_BINARY_DIR}/settings_core.h + DESTINATION ${KDE_INSTALL_INCLUDEDIR}/okular/core COMPONENT Devel) + +install( FILES + interfaces/configinterface.h + interfaces/guiinterface.h + interfaces/printinterface.h + interfaces/saveinterface.h + interfaces/viewerinterface.h + DESTINATION ${KDE_INSTALL_INCLUDEDIR}/okular/interfaces COMPONENT Devel) + +ki18n_wrap_ui(okularcore_SRCS + core/chooseenginewidget.ui +) + +kconfig_add_kcfg_files(okularcore_SRCS GENERATE_MOC conf/settings_core.kcfgc) + +add_library(okularcore SHARED ${okularcore_SRCS}) +generate_export_header(okularcore BASE_NAME okularcore EXPORT_FILE_NAME "${CMAKE_CURRENT_BINARY_DIR}/core/okularcore_export.h") +target_include_directories(okularcore PUBLIC "$") + +if (ANDROID) + set(fileName ${CMAKE_BINARY_DIR}/Okular5Core-android-dependencies.xml) + file(WRITE "${fileName}" "\n" + "\n" + "\n") + install(FILES ${fileName} DESTINATION ${KDE_INSTALL_LIBDIR}) +endif() + + +# Special handling for linking okularcore on OSX/Apple +IF(APPLE) + SET(OKULAR_IOKIT "-framework IOKit" CACHE STRING "Apple IOKit framework") +ENDIF(APPLE) + +# Extra library needed by imported synctex code on Windows +if(WIN32) + set(SHLWAPI shlwapi) +endif(WIN32) + +target_link_libraries(okularcore +PRIVATE + ${OKULAR_IOKIT} + ${SHLWAPI} + KF6::Archive + KF6::KIOCore + KF6::KIOWidgets + KF6::I18n + KF6::ThreadWeaver + KF6::Bookmarks + Qt6::Svg + ${MATH_LIB} + ZLIB::ZLIB +PUBLIC # these are included from the installed headers + KF6::CoreAddons + KF6::XmlGui + KF6::ConfigGui + Qt6::PrintSupport + Qt6::Widgets +) +if (Phonon4Qt6_FOUND) + target_link_libraries(okularcore PRIVATE Phonon::phonon4qt6) +endif() + + +if (KF6Wallet_FOUND) + target_link_libraries(okularcore PRIVATE KF6::Wallet) +endif() +if (TARGET Qt6::Qml) + target_sources(okularcore PRIVATE + core/script/executor_js.cpp + core/script/js_app.cpp + core/script/js_console.cpp + core/script/js_data.cpp + core/script/js_display.cpp + core/script/js_document.cpp + core/script/js_field.cpp + core/script/js_fullscreen.cpp + core/script/js_field.cpp + core/script/js_spell.cpp + core/script/js_util.cpp + core/script/js_event.cpp + core/script/js_ocg.cpp + core/script/js_global.cpp + ) + target_link_libraries(okularcore PRIVATE Qt6::Qml) +endif() + +set_target_properties(okularcore PROPERTIES VERSION 4.0.0 SOVERSION 4 OUTPUT_NAME Okular6Core EXPORT_NAME Core) + +install(TARGETS okularcore EXPORT Okular6Targets ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}) + +install(FILES conf/okular.kcfg DESTINATION ${KDE_INSTALL_KCFGDIR}) +install(FILES conf/okular_core.kcfg DESTINATION ${KDE_INSTALL_KCFGDIR}) + +if(BUILD_DESKTOP) + # okularpart + set(okularpart_SRCS + gui/certificatemodel.cpp + gui/debug_ui.cpp + gui/guiutils.cpp + gui/pagepainter.cpp + gui/signatureguiutils.cpp + gui/signaturemodel.cpp + gui/tocmodel.cpp + part/preferencesdialog.cpp + part/dlgaccessibility.cpp + part/dlgdebug.cpp + part/dlgeditor.cpp + part/dlggeneral.cpp + part/dlgannotations.cpp + part/dlgperformance.cpp + part/dlgpresentation.cpp + part/editannottooldialog.cpp + part/editdrawingtooldialog.cpp + part/widgetannottools.cpp + part/widgetconfigurationtoolsbase.cpp + part/widgetdrawingtools.cpp + part/part.cpp + part/extensions.cpp + part/embeddedfilesdialog.cpp + part/actionbar.cpp + part/annotationactionhandler.cpp + part/annotwindow.cpp + part/annotationmodel.cpp + part/annotationpopup.cpp + part/annotationpropertiesdialog.cpp + part/annotationproxymodels.cpp + part/annotationtools.cpp + part/annotationwidgets.cpp + part/bookmarklist.cpp + part/certificateviewer.cpp + part/colormodemenu.cpp + part/cursorwraphelper.cpp + part/drawingtoolactions.cpp + part/fileprinterpreview.cpp + part/findbar.cpp + part/formwidgets.cpp + part/kleopatraintegration.h + part/kleopatraintegration.cpp + part/ktreeviewsearchline.cpp + part/latexrenderer.cpp + part/minibar.cpp + part/okmenutitle.cpp + part/pageitemdelegate.cpp + part/pagesizelabel.cpp + part/pageviewannotator.cpp + part/pageviewmouseannotation.cpp + part/pageview.cpp + part/magnifierview.cpp + part/pageviewutils.cpp + part/presentationsearchbar.cpp + part/presentationwidget.cpp + part/propertiesdialog.cpp + part/revisionviewer.cpp + part/searchlineedit.cpp + part/searchwidget.cpp + part/sidebar.cpp + part/side_reviews.cpp + part/snapshottaker.cpp + part/thumbnaillist.cpp + part/toc.cpp + part/toggleactionmenu.cpp + part/videowidget.cpp + part/layers.cpp + part/signaturepartutils.cpp + part/signaturepartutilskeydelegate.cpp + part/signaturepartutilsrecentimagesmodel.cpp + part/signaturepartutilsimageitemdelegate.cpp + part/signaturepropertiesdialog.cpp + part/signaturepanel.cpp + part/signingcertificatelistmodel.cpp + part/part.qrc + ) + ki18n_wrap_ui(okularpart_SRCS part/selectcertificatedialog.ui) + +if (Qt6TextToSpeech_FOUND) + set(okularpart_SRCS ${okularpart_SRCS} + part/tts.cpp) +endif() + +kconfig_add_kcfg_files(okularpart_SRCS GENERATE_MOC conf/settings.kcfgc) + +add_library(okularpart SHARED ${okularpart_SRCS}) +generate_export_header(okularpart BASE_NAME okularpart) + +target_link_libraries(okularpart okularcore + ${MATH_LIB} + Qt6::Svg + KF6::Archive + KF6::Bookmarks + KF6::I18n + KF6::IconThemes + KF6::KIOCore + KF6::KIOWidgets + KF6::Parts + KF6::WindowSystem + KF6::TextWidgets + KF6::ColorScheme +) +if (TARGET Qt6::DBus) + target_link_libraries(okularpart Qt6::DBus) +endif() +if (Phonon4Qt6_FOUND) + target_link_libraries(okularpart Phonon::phonon4qt6) +endif() + +if(KF6Wallet_FOUND) + target_link_libraries(okularpart KF6::Wallet) +endif() + +if (KF6Purpose_FOUND) + target_link_libraries(okularpart KF6::PurposeWidgets) +endif() + +set_target_properties(okularpart PROPERTIES PREFIX "") +set_target_properties(okularpart PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/kf6/parts) + +if (Qt6TextToSpeech_FOUND) + target_link_libraries(okularpart Qt6::TextToSpeech) +endif() + +#instead install the part to this path so it can be found +install(TARGETS okularpart DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf6/parts/ ) + +endif()# End of BUILD_DESKTOP if + + +########### install files ############### + +install(FILES okular.categories DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR}) + +ki18n_install(po) +if(KF6DocTools_FOUND) + kdoctools_install(po) +endif() + +########### cmake files ################# + +set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/Okular6") +configure_package_config_file( + "${CMAKE_CURRENT_SOURCE_DIR}/Okular6Config.cmake.in" + "${CMAKE_CURRENT_BINARY_DIR}/Okular6Config.cmake" + INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} + PATH_VARS KDE_INSTALL_INCLUDEDIR CMAKE_INSTALL_PREFIX +) + +install(FILES + "${CMAKE_CURRENT_BINARY_DIR}/Okular6Config.cmake" + "${CMAKE_CURRENT_BINARY_DIR}/Okular6ConfigVersion.cmake" + DESTINATION "${CMAKECONFIG_INSTALL_DIR}" + COMPONENT Devel +) + +install(EXPORT Okular6Targets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" FILE Okular6Targets.cmake NAMESPACE Okular::) + +install(FILES + core/stamps.svg + DESTINATION ${KDE_INSTALL_DATADIR}/okular/pics) + +########### summary ################# + +feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) + +message("-- Building Desktop User Interface: ${BUILD_DESKTOP}") +message("-- Building Mobile Interface: ${BUILD_MOBILE}") +message("") diff --git a/LICENSES/BSD-2-Clause.txt b/LICENSES/BSD-2-Clause.txt new file mode 100644 index 0000000..baa80b5 --- /dev/null +++ b/LICENSES/BSD-2-Clause.txt @@ -0,0 +1,22 @@ +Copyright (c) All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE +USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/LICENSES/BSD-3-Clause.txt b/LICENSES/BSD-3-Clause.txt new file mode 100644 index 0000000..6c9eef8 --- /dev/null +++ b/LICENSES/BSD-3-Clause.txt @@ -0,0 +1,11 @@ +Copyright (c) . All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/LICENSES/GFDL-1.2-or-later.txt b/LICENSES/GFDL-1.2-or-later.txt new file mode 100644 index 0000000..83c375a --- /dev/null +++ b/LICENSES/GFDL-1.2-or-later.txt @@ -0,0 +1,130 @@ +GNU Free Documentation License +Version 1.2, November 2002 + +Copyright (C) 2000,2001,2002 Free Software Foundation, Inc. 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. + +0. PREAMBLE + +The purpose of this License is to make a manual, textbook, or other functional and useful document "free" in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others. + +This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software. + +We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference. + +1. APPLICABILITY AND DEFINITIONS + +This License applies to any manual or other work, in any medium, that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. Such a notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under the conditions stated herein. The "Document", below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as "you". You accept the license if you copy, modify or distribute the work in a way requiring permission under copyright law. + +A "Modified Version" of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language. + +A "Secondary Section" is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them. + +The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. If a section does not fit the above definition of Secondary then it is not allowed to be designated as Invariant. The Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections then there are none. + +The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words. + +A "Transparent" copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, that is suitable for revising the document straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup, or absence of markup, has been arranged to thwart or discourage subsequent modification by readers is not Transparent. An image format is not Transparent if used for any substantial amount of text. A copy that is not "Transparent" is called "Opaque". + +Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML, PostScript or PDF designed for human modification. Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML, PostScript or PDF produced by some word processors for output purposes only. + +The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, "Title Page" means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text. + +A section "Entitled XYZ" means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a specific section name mentioned below, such as "Acknowledgements", "Dedications", "Endorsements", or "History".) To "Preserve the Title" of such a section when you modify the Document means that it remains a section "Entitled XYZ" according to this definition. + +The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document. These Warranty Disclaimers are considered to be included by reference in this License, but only as regards disclaiming warranties: any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License. + +2. VERBATIM COPYING + +You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3. + +You may also lend copies, under the same conditions stated above, and you may publicly display copies. + +3. COPYING IN QUANTITY + +If you publish printed copies (or copies in media that commonly have printed covers) of the Document, numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects. + +If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages. + +If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a computer-network location from which the general network-using public has access to download using public-standard network protocols a complete Transparent copy of the Document, free of added material. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public. + +It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document. + +4. MODIFICATIONS + +You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version: + + A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission. + B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has fewer than five), unless they release you from this requirement. + C. State on the Title page the name of the publisher of the Modified Version, as the publisher. + D. Preserve all the copyright notices of the Document. + E. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices. + F. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below. + G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice. + H. Include an unaltered copy of this License. + I. Preserve the section Entitled "History", Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section Entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence. + J. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission. + K. For any section Entitled "Acknowledgements" or "Dedications", Preserve the Title of the section, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein. + L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles. + M. Delete any section Entitled "Endorsements". Such a section may not be included in the Modified Version. + N. Do not retitle any existing section to be Entitled "Endorsements" or to conflict in title with any Invariant Section. + O. Preserve any Warranty Disclaimers. + +If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles. + +You may add a section Entitled "Endorsements", provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard. + +You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one. + +The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version. + +5. COMBINING DOCUMENTS + +You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice, and that you preserve all their Warranty Disclaimers. + +The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work. + +In the combination, you must combine any sections Entitled "History" in the various original documents, forming one section Entitled "History"; likewise combine any sections Entitled "Acknowledgements", and any sections Entitled "Dedications". You must delete all sections Entitled "Endorsements". + +6. COLLECTIONS OF DOCUMENTS + +You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects. + +You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document. + +7. AGGREGATION WITH INDEPENDENT WORKS + +A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, is called an "aggregate" if the copyright resulting from the compilation is not used to limit the legal rights of the compilation's users beyond what the individual works permit. When the Document is included in an aggregate, this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document. + +If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half of the entire aggregate, the Document's Cover Texts may be placed on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole aggregate. + +8. TRANSLATION + +Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License, and all the license notices in the Document, and any Warranty Disclaimers, provided that you also include the original English version of this License and the original versions of those notices and disclaimers. In case of a disagreement between the translation and the original version of this License or a notice or disclaimer, the original version will prevail. + +If a section in the Document is Entitled "Acknowledgements", "Dedications", or "History", the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title. + +9. TERMINATION + +You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. + +10. FUTURE REVISIONS OF THIS LICENSE + +The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/. + +Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation. + +ADDENDUM: How to use this License for your documents + +To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page: + + Copyright (c) YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". + +If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the "with...Texts." line with this: + + with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. + +If you have Invariant Sections without Cover Texts, or some other combination of the three, merge those two alternatives to suit the situation. + +If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software. diff --git a/LICENSES/GPL-2.0-only.txt b/LICENSES/GPL-2.0-only.txt new file mode 100644 index 0000000..3b6070f --- /dev/null +++ b/LICENSES/GPL-2.0-only.txt @@ -0,0 +1,311 @@ +GNU GENERAL PUBLIC LICENSE +Version 2, June 1991 + +Copyright (C) 1989, 1991 Free Software Foundation, Inc. +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + +Everyone is permitted to copy and distribute verbatim copies of this license +document, but changing it is not allowed. + +Preamble + +The licenses for most software are designed to take away your freedom to share +and change it. By contrast, the GNU General Public License is intended to +guarantee your freedom to share and change free software--to make sure the +software is free for all its users. This General Public License applies to +most of the Free Software Foundation's software and to any other program whose +authors commit to using it. (Some other Free Software Foundation software +is covered by the GNU Lesser General Public License instead.) You can apply +it to your programs, too. + +When we speak of free software, we are referring to freedom, not price. Our +General Public Licenses are designed to make sure that you have the freedom +to distribute copies of free software (and charge for this service if you +wish), that you receive source code or can get it if you want it, that you +can change the software or use pieces of it in new free programs; and that +you know you can do these things. + +To protect your rights, we need to make restrictions that forbid anyone to +deny you these rights or to ask you to surrender the rights. These restrictions +translate to certain responsibilities for you if you distribute copies of +the software, or if you modify it. + +For example, if you distribute copies of such a program, whether gratis or +for a fee, you must give the recipients all the rights that you have. You +must make sure that they, too, receive or can get the source code. And you +must show them these terms so they know their rights. + +We protect your rights with two steps: (1) copyright the software, and (2) +offer you this license which gives you legal permission to copy, distribute +and/or modify the software. + +Also, for each author's protection and ours, we want to make certain that +everyone understands that there is no warranty for this free software. If +the software is modified by someone else and passed on, we want its recipients +to know that what they have is not the original, so that any problems introduced +by others will not reflect on the original authors' reputations. + +Finally, any free program is threatened constantly by software patents. We +wish to avoid the danger that redistributors of a free program will individually +obtain patent licenses, in effect making the program proprietary. To prevent +this, we have made it clear that any patent must be licensed for everyone's +free use or not licensed at all. + +The precise terms and conditions for copying, distribution and modification +follow. + +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + +0. This License applies to any program or other work which contains a notice +placed by the copyright holder saying it may be distributed under the terms +of this General Public License. The "Program", below, refers to any such program +or work, and a "work based on the Program" means either the Program or any +derivative work under copyright law: that is to say, a work containing the +Program or a portion of it, either verbatim or with modifications and/or translated +into another language. (Hereinafter, translation is included without limitation +in the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not covered +by this License; they are outside its scope. The act of running the Program +is not restricted, and the output from the Program is covered only if its +contents constitute a work based on the Program (independent of having been +made by running the Program). Whether that is true depends on what the Program +does. + +1. You may copy and distribute verbatim copies of the Program's source code +as you receive it, in any medium, provided that you conspicuously and appropriately +publish on each copy an appropriate copyright notice and disclaimer of warranty; +keep intact all the notices that refer to this License and to the absence +of any warranty; and give any other recipients of the Program a copy of this +License along with the Program. + +You may charge a fee for the physical act of transferring a copy, and you +may at your option offer warranty protection in exchange for a fee. + +2. You may modify your copy or copies of the Program or any portion of it, +thus forming a work based on the Program, and copy and distribute such modifications +or work under the terms of Section 1 above, provided that you also meet all +of these conditions: + +a) You must cause the modified files to carry prominent notices stating that +you changed the files and the date of any change. + +b) You must cause any work that you distribute or publish, that in whole or +in part contains or is derived from the Program or any part thereof, to be +licensed as a whole at no charge to all third parties under the terms of this +License. + +c) If the modified program normally reads commands interactively when run, +you must cause it, when started running for such interactive use in the most +ordinary way, to print or display an announcement including an appropriate +copyright notice and a notice that there is no warranty (or else, saying that +you provide a warranty) and that users may redistribute the program under +these conditions, and telling the user how to view a copy of this License. +(Exception: if the Program itself is interactive but does not normally print +such an announcement, your work based on the Program is not required to print +an announcement.) + +These requirements apply to the modified work as a whole. If identifiable +sections of that work are not derived from the Program, and can be reasonably +considered independent and separate works in themselves, then this License, +and its terms, do not apply to those sections when you distribute them as +separate works. But when you distribute the same sections as part of a whole +which is a work based on the Program, the distribution of the whole must be +on the terms of this License, whose permissions for other licensees extend +to the entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest your +rights to work written entirely by you; rather, the intent is to exercise +the right to control the distribution of derivative or collective works based +on the Program. + +In addition, mere aggregation of another work not based on the Program with +the Program (or with a work based on the Program) on a volume of a storage +or distribution medium does not bring the other work under the scope of this +License. + +3. You may copy and distribute the Program (or a work based on it, under Section +2) in object code or executable form under the terms of Sections 1 and 2 above +provided that you also do one of the following: + +a) Accompany it with the complete corresponding machine-readable source code, +which must be distributed under the terms of Sections 1 and 2 above on a medium +customarily used for software interchange; or, + +b) Accompany it with a written offer, valid for at least three years, to give +any third party, for a charge no more than your cost of physically performing +source distribution, a complete machine-readable copy of the corresponding +source code, to be distributed under the terms of Sections 1 and 2 above on +a medium customarily used for software interchange; or, + +c) Accompany it with the information you received as to the offer to distribute +corresponding source code. (This alternative is allowed only for noncommercial +distribution and only if you received the program in object code or executable +form with such an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for making +modifications to it. For an executable work, complete source code means all +the source code for all modules it contains, plus any associated interface +definition files, plus the scripts used to control compilation and installation +of the executable. However, as a special exception, the source code distributed +need not include anything that is normally distributed (in either source or +binary form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component itself +accompanies the executable. + +If distribution of executable or object code is made by offering access to +copy from a designated place, then offering equivalent access to copy the +source code from the same place counts as distribution of the source code, +even though third parties are not compelled to copy the source along with +the object code. + +4. You may not copy, modify, sublicense, or distribute the Program except +as expressly provided under this License. Any attempt otherwise to copy, modify, +sublicense or distribute the Program is void, and will automatically terminate +your rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses terminated +so long as such parties remain in full compliance. + +5. You are not required to accept this License, since you have not signed +it. However, nothing else grants you permission to modify or distribute the +Program or its derivative works. These actions are prohibited by law if you +do not accept this License. Therefore, by modifying or distributing the Program +(or any work based on the Program), you indicate your acceptance of this License +to do so, and all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + +6. Each time you redistribute the Program (or any work based on the Program), +the recipient automatically receives a license from the original licensor +to copy, distribute or modify the Program subject to these terms and conditions. +You may not impose any further restrictions on the recipients' exercise of +the rights granted herein. You are not responsible for enforcing compliance +by third parties to this License. + +7. If, as a consequence of a court judgment or allegation of patent infringement +or for any other reason (not limited to patent issues), conditions are imposed +on you (whether by court order, agreement or otherwise) that contradict the +conditions of this License, they do not excuse you from the conditions of +this License. If you cannot distribute so as to satisfy simultaneously your +obligations under this License and any other pertinent obligations, then as +a consequence you may not distribute the Program at all. For example, if a +patent license would not permit royalty-free redistribution of the Program +by all those who receive copies directly or indirectly through you, then the +only way you could satisfy both it and this License would be to refrain entirely +from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply and +the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any patents +or other property right claims or to contest validity of any such claims; +this section has the sole purpose of protecting the integrity of the free +software distribution system, which is implemented by public license practices. +Many people have made generous contributions to the wide range of software +distributed through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing to +distribute software through any other system and a licensee cannot impose +that choice. + +This section is intended to make thoroughly clear what is believed to be a +consequence of the rest of this License. + +8. If the distribution and/or use of the Program is restricted in certain +countries either by patents or by copyrighted interfaces, the original copyright +holder who places the Program under this License may add an explicit geographical +distribution limitation excluding those countries, so that distribution is +permitted only in or among countries not thus excluded. In such case, this +License incorporates the limitation as if written in the body of this License. + +9. The Free Software Foundation may publish revised and/or new versions of +the General Public License from time to time. Such new versions will be similar +in spirit to the present version, but may differ in detail to address new +problems or concerns. + +Each version is given a distinguishing version number. If the Program specifies +a version number of this License which applies to it and "any later version", +you have the option of following the terms and conditions either of that version +or of any later version published by the Free Software Foundation. If the +Program does not specify a version number of this License, you may choose +any version ever published by the Free Software Foundation. + +10. If you wish to incorporate parts of the Program into other free programs +whose distribution conditions are different, write to the author to ask for +permission. For software which is copyrighted by the Free Software Foundation, +write to the Free Software Foundation; we sometimes make exceptions for this. +Our decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing and reuse +of software generally. + +NO WARRANTY + +11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR +THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE +STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM +"AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE +OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE +OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA +OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES +OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH +HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +END OF TERMS AND CONDITIONS + +How to Apply These Terms to Your New Programs + +If you develop a new program, and you want it to be of the greatest possible +use to the public, the best way to achieve this is to make it free software +which everyone can redistribute and change under these terms. + +To do so, attach the following notices to the program. It is safest to attach +them to the start of each source file to most effectively convey the exclusion +of warranty; and each file should have at least the "copyright" line and a +pointer to where the full notice is found. + +one line to give the program's name and an idea of what it does. Copyright +(C) yyyy name of author + +This program is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free Software +Foundation; either version 2 of the License, or (at your option) any later +version. + +This program is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along with +this program; if not, write to the Free Software Foundation, Inc., 51 Franklin +Street, Fifth Floor, Boston, MA 02110-1301, USA. Also add information on how +to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this when +it starts in an interactive mode: + +Gnomovision version 69, Copyright (C) year name of author Gnomovision comes +with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, +and you are welcome to redistribute it under certain conditions; type `show +c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may be +called something other than `show w' and `show c'; they could even be mouse-clicks +or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your school, +if any, to sign a "copyright disclaimer" for the program, if necessary. Here +is a sample; alter the names: + +Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' +(which makes passes at compilers) written by James Hacker. + +signature of Ty Coon, 1 April 1989 Ty Coon, President of Vice diff --git a/LICENSES/GPL-2.0-or-later.txt b/LICENSES/GPL-2.0-or-later.txt new file mode 100644 index 0000000..3b6070f --- /dev/null +++ b/LICENSES/GPL-2.0-or-later.txt @@ -0,0 +1,311 @@ +GNU GENERAL PUBLIC LICENSE +Version 2, June 1991 + +Copyright (C) 1989, 1991 Free Software Foundation, Inc. +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + +Everyone is permitted to copy and distribute verbatim copies of this license +document, but changing it is not allowed. + +Preamble + +The licenses for most software are designed to take away your freedom to share +and change it. By contrast, the GNU General Public License is intended to +guarantee your freedom to share and change free software--to make sure the +software is free for all its users. This General Public License applies to +most of the Free Software Foundation's software and to any other program whose +authors commit to using it. (Some other Free Software Foundation software +is covered by the GNU Lesser General Public License instead.) You can apply +it to your programs, too. + +When we speak of free software, we are referring to freedom, not price. Our +General Public Licenses are designed to make sure that you have the freedom +to distribute copies of free software (and charge for this service if you +wish), that you receive source code or can get it if you want it, that you +can change the software or use pieces of it in new free programs; and that +you know you can do these things. + +To protect your rights, we need to make restrictions that forbid anyone to +deny you these rights or to ask you to surrender the rights. These restrictions +translate to certain responsibilities for you if you distribute copies of +the software, or if you modify it. + +For example, if you distribute copies of such a program, whether gratis or +for a fee, you must give the recipients all the rights that you have. You +must make sure that they, too, receive or can get the source code. And you +must show them these terms so they know their rights. + +We protect your rights with two steps: (1) copyright the software, and (2) +offer you this license which gives you legal permission to copy, distribute +and/or modify the software. + +Also, for each author's protection and ours, we want to make certain that +everyone understands that there is no warranty for this free software. If +the software is modified by someone else and passed on, we want its recipients +to know that what they have is not the original, so that any problems introduced +by others will not reflect on the original authors' reputations. + +Finally, any free program is threatened constantly by software patents. We +wish to avoid the danger that redistributors of a free program will individually +obtain patent licenses, in effect making the program proprietary. To prevent +this, we have made it clear that any patent must be licensed for everyone's +free use or not licensed at all. + +The precise terms and conditions for copying, distribution and modification +follow. + +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + +0. This License applies to any program or other work which contains a notice +placed by the copyright holder saying it may be distributed under the terms +of this General Public License. The "Program", below, refers to any such program +or work, and a "work based on the Program" means either the Program or any +derivative work under copyright law: that is to say, a work containing the +Program or a portion of it, either verbatim or with modifications and/or translated +into another language. (Hereinafter, translation is included without limitation +in the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not covered +by this License; they are outside its scope. The act of running the Program +is not restricted, and the output from the Program is covered only if its +contents constitute a work based on the Program (independent of having been +made by running the Program). Whether that is true depends on what the Program +does. + +1. You may copy and distribute verbatim copies of the Program's source code +as you receive it, in any medium, provided that you conspicuously and appropriately +publish on each copy an appropriate copyright notice and disclaimer of warranty; +keep intact all the notices that refer to this License and to the absence +of any warranty; and give any other recipients of the Program a copy of this +License along with the Program. + +You may charge a fee for the physical act of transferring a copy, and you +may at your option offer warranty protection in exchange for a fee. + +2. You may modify your copy or copies of the Program or any portion of it, +thus forming a work based on the Program, and copy and distribute such modifications +or work under the terms of Section 1 above, provided that you also meet all +of these conditions: + +a) You must cause the modified files to carry prominent notices stating that +you changed the files and the date of any change. + +b) You must cause any work that you distribute or publish, that in whole or +in part contains or is derived from the Program or any part thereof, to be +licensed as a whole at no charge to all third parties under the terms of this +License. + +c) If the modified program normally reads commands interactively when run, +you must cause it, when started running for such interactive use in the most +ordinary way, to print or display an announcement including an appropriate +copyright notice and a notice that there is no warranty (or else, saying that +you provide a warranty) and that users may redistribute the program under +these conditions, and telling the user how to view a copy of this License. +(Exception: if the Program itself is interactive but does not normally print +such an announcement, your work based on the Program is not required to print +an announcement.) + +These requirements apply to the modified work as a whole. If identifiable +sections of that work are not derived from the Program, and can be reasonably +considered independent and separate works in themselves, then this License, +and its terms, do not apply to those sections when you distribute them as +separate works. But when you distribute the same sections as part of a whole +which is a work based on the Program, the distribution of the whole must be +on the terms of this License, whose permissions for other licensees extend +to the entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest your +rights to work written entirely by you; rather, the intent is to exercise +the right to control the distribution of derivative or collective works based +on the Program. + +In addition, mere aggregation of another work not based on the Program with +the Program (or with a work based on the Program) on a volume of a storage +or distribution medium does not bring the other work under the scope of this +License. + +3. You may copy and distribute the Program (or a work based on it, under Section +2) in object code or executable form under the terms of Sections 1 and 2 above +provided that you also do one of the following: + +a) Accompany it with the complete corresponding machine-readable source code, +which must be distributed under the terms of Sections 1 and 2 above on a medium +customarily used for software interchange; or, + +b) Accompany it with a written offer, valid for at least three years, to give +any third party, for a charge no more than your cost of physically performing +source distribution, a complete machine-readable copy of the corresponding +source code, to be distributed under the terms of Sections 1 and 2 above on +a medium customarily used for software interchange; or, + +c) Accompany it with the information you received as to the offer to distribute +corresponding source code. (This alternative is allowed only for noncommercial +distribution and only if you received the program in object code or executable +form with such an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for making +modifications to it. For an executable work, complete source code means all +the source code for all modules it contains, plus any associated interface +definition files, plus the scripts used to control compilation and installation +of the executable. However, as a special exception, the source code distributed +need not include anything that is normally distributed (in either source or +binary form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component itself +accompanies the executable. + +If distribution of executable or object code is made by offering access to +copy from a designated place, then offering equivalent access to copy the +source code from the same place counts as distribution of the source code, +even though third parties are not compelled to copy the source along with +the object code. + +4. You may not copy, modify, sublicense, or distribute the Program except +as expressly provided under this License. Any attempt otherwise to copy, modify, +sublicense or distribute the Program is void, and will automatically terminate +your rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses terminated +so long as such parties remain in full compliance. + +5. You are not required to accept this License, since you have not signed +it. However, nothing else grants you permission to modify or distribute the +Program or its derivative works. These actions are prohibited by law if you +do not accept this License. Therefore, by modifying or distributing the Program +(or any work based on the Program), you indicate your acceptance of this License +to do so, and all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + +6. Each time you redistribute the Program (or any work based on the Program), +the recipient automatically receives a license from the original licensor +to copy, distribute or modify the Program subject to these terms and conditions. +You may not impose any further restrictions on the recipients' exercise of +the rights granted herein. You are not responsible for enforcing compliance +by third parties to this License. + +7. If, as a consequence of a court judgment or allegation of patent infringement +or for any other reason (not limited to patent issues), conditions are imposed +on you (whether by court order, agreement or otherwise) that contradict the +conditions of this License, they do not excuse you from the conditions of +this License. If you cannot distribute so as to satisfy simultaneously your +obligations under this License and any other pertinent obligations, then as +a consequence you may not distribute the Program at all. For example, if a +patent license would not permit royalty-free redistribution of the Program +by all those who receive copies directly or indirectly through you, then the +only way you could satisfy both it and this License would be to refrain entirely +from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply and +the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any patents +or other property right claims or to contest validity of any such claims; +this section has the sole purpose of protecting the integrity of the free +software distribution system, which is implemented by public license practices. +Many people have made generous contributions to the wide range of software +distributed through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing to +distribute software through any other system and a licensee cannot impose +that choice. + +This section is intended to make thoroughly clear what is believed to be a +consequence of the rest of this License. + +8. If the distribution and/or use of the Program is restricted in certain +countries either by patents or by copyrighted interfaces, the original copyright +holder who places the Program under this License may add an explicit geographical +distribution limitation excluding those countries, so that distribution is +permitted only in or among countries not thus excluded. In such case, this +License incorporates the limitation as if written in the body of this License. + +9. The Free Software Foundation may publish revised and/or new versions of +the General Public License from time to time. Such new versions will be similar +in spirit to the present version, but may differ in detail to address new +problems or concerns. + +Each version is given a distinguishing version number. If the Program specifies +a version number of this License which applies to it and "any later version", +you have the option of following the terms and conditions either of that version +or of any later version published by the Free Software Foundation. If the +Program does not specify a version number of this License, you may choose +any version ever published by the Free Software Foundation. + +10. If you wish to incorporate parts of the Program into other free programs +whose distribution conditions are different, write to the author to ask for +permission. For software which is copyrighted by the Free Software Foundation, +write to the Free Software Foundation; we sometimes make exceptions for this. +Our decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing and reuse +of software generally. + +NO WARRANTY + +11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR +THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE +STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM +"AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE +OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE +OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA +OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES +OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH +HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +END OF TERMS AND CONDITIONS + +How to Apply These Terms to Your New Programs + +If you develop a new program, and you want it to be of the greatest possible +use to the public, the best way to achieve this is to make it free software +which everyone can redistribute and change under these terms. + +To do so, attach the following notices to the program. It is safest to attach +them to the start of each source file to most effectively convey the exclusion +of warranty; and each file should have at least the "copyright" line and a +pointer to where the full notice is found. + +one line to give the program's name and an idea of what it does. Copyright +(C) yyyy name of author + +This program is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free Software +Foundation; either version 2 of the License, or (at your option) any later +version. + +This program is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along with +this program; if not, write to the Free Software Foundation, Inc., 51 Franklin +Street, Fifth Floor, Boston, MA 02110-1301, USA. Also add information on how +to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this when +it starts in an interactive mode: + +Gnomovision version 69, Copyright (C) year name of author Gnomovision comes +with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, +and you are welcome to redistribute it under certain conditions; type `show +c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may be +called something other than `show w' and `show c'; they could even be mouse-clicks +or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your school, +if any, to sign a "copyright disclaimer" for the program, if necessary. Here +is a sample; alter the names: + +Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' +(which makes passes at compilers) written by James Hacker. + +signature of Ty Coon, 1 April 1989 Ty Coon, President of Vice diff --git a/LICENSES/GPL-3.0-only.txt b/LICENSES/GPL-3.0-only.txt new file mode 100644 index 0000000..5990771 --- /dev/null +++ b/LICENSES/GPL-3.0-only.txt @@ -0,0 +1,604 @@ +GNU GENERAL PUBLIC LICENSE +Version 3, 29 June 2007 + +Copyright © 2007 Free Software Foundation, Inc. + +Everyone is permitted to copy and distribute verbatim copies of this license +document, but changing it is not allowed. + +Preamble + +The GNU General Public License is a free, copyleft license for software and +other kinds of works. + +The licenses for most software and other practical works are designed to take +away your freedom to share and change the works. By contrast, the GNU General +Public License is intended to guarantee your freedom to share and change all +versions of a program--to make sure it remains free software for all its users. +We, the Free Software Foundation, use the GNU General Public License for most +of our software; it applies also to any other work released this way by its +authors. You can apply it to your programs, too. + +When we speak of free software, we are referring to freedom, not price. Our +General Public Licenses are designed to make sure that you have the freedom +to distribute copies of free software (and charge for them if you wish), that +you receive source code or can get it if you want it, that you can change +the software or use pieces of it in new free programs, and that you know you +can do these things. + +To protect your rights, we need to prevent others from denying you these rights +or asking you to surrender the rights. Therefore, you have certain responsibilities +if you distribute copies of the software, or if you modify it: responsibilities +to respect the freedom of others. + +For example, if you distribute copies of such a program, whether gratis or +for a fee, you must pass on to the recipients the same freedoms that you received. +You must make sure that they, too, receive or can get the source code. And +you must show them these terms so they know their rights. + +Developers that use the GNU GPL protect your rights with two steps: (1) assert +copyright on the software, and (2) offer you this License giving you legal +permission to copy, distribute and/or modify it. + +For the developers' and authors' protection, the GPL clearly explains that +there is no warranty for this free software. For both users' and authors' +sake, the GPL requires that modified versions be marked as changed, so that +their problems will not be attributed erroneously to authors of previous versions. + +Some devices are designed to deny users access to install or run modified +versions of the software inside them, although the manufacturer can do so. +This is fundamentally incompatible with the aim of protecting users' freedom +to change the software. The systematic pattern of such abuse occurs in the +area of products for individuals to use, which is precisely where it is most +unacceptable. Therefore, we have designed this version of the GPL to prohibit +the practice for those products. If such problems arise substantially in other +domains, we stand ready to extend this provision to those domains in future +versions of the GPL, as needed to protect the freedom of users. + +Finally, every program is threatened constantly by software patents. States +should not allow patents to restrict development and use of software on general-purpose +computers, but in those that do, we wish to avoid the special danger that +patents applied to a free program could make it effectively proprietary. To +prevent this, the GPL assures that patents cannot be used to render the program +non-free. + +The precise terms and conditions for copying, distribution and modification +follow. + +TERMS AND CONDITIONS + +0. Definitions. + +“This License” refers to version 3 of the GNU General Public License. + +“Copyright” also means copyright-like laws that apply to other kinds of works, +such as semiconductor masks. + +“The Program” refers to any copyrightable work licensed under this License. +Each licensee is addressed as “you”. “Licensees” and “recipients” may be individuals +or organizations. + +To “modify” a work means to copy from or adapt all or part of the work in +a fashion requiring copyright permission, other than the making of an exact +copy. The resulting work is called a “modified version” of the earlier work +or a work “based on” the earlier work. + +A “covered work” means either the unmodified Program or a work based on the +Program. + +To “propagate” a work means to do anything with it that, without permission, +would make you directly or secondarily liable for infringement under applicable +copyright law, except executing it on a computer or modifying a private copy. +Propagation includes copying, distribution (with or without modification), +making available to the public, and in some countries other activities as +well. + +To “convey” a work means any kind of propagation that enables other parties +to make or receive copies. Mere interaction with a user through a computer +network, with no transfer of a copy, is not conveying. + +An interactive user interface displays “Appropriate Legal Notices” to the +extent that it includes a convenient and prominently visible feature that +(1) displays an appropriate copyright notice, and (2) tells the user that +there is no warranty for the work (except to the extent that warranties are +provided), that licensees may convey the work under this License, and how +to view a copy of this License. If the interface presents a list of user commands +or options, such as a menu, a prominent item in the list meets this criterion. + +1. Source Code. +The “source code” for a work means the preferred form of the work for making +modifications to it. “Object code” means any non-source form of a work. + +A “Standard Interface” means an interface that either is an official standard +defined by a recognized standards body, or, in the case of interfaces specified +for a particular programming language, one that is widely used among developers +working in that language. + +The “System Libraries” of an executable work include anything, other than +the work as a whole, that (a) is included in the normal form of packaging +a Major Component, but which is not part of that Major Component, and (b) +serves only to enable use of the work with that Major Component, or to implement +a Standard Interface for which an implementation is available to the public +in source code form. A “Major Component”, in this context, means a major essential +component (kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to produce +the work, or an object code interpreter used to run it. + +The “Corresponding Source” for a work in object code form means all the source +code needed to generate, install, and (for an executable work) run the object +code and to modify the work, including scripts to control those activities. +However, it does not include the work's System Libraries, or general-purpose +tools or generally available free programs which are used unmodified in performing +those activities but which are not part of the work. For example, Corresponding +Source includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically linked +subprograms that the work is specifically designed to require, such as by +intimate data communication or control flow between those subprograms and +other parts of the work. + +The Corresponding Source need not include anything that users can regenerate +automatically from other parts of the Corresponding Source. + +The Corresponding Source for a work in source code form is that same work. + +2. Basic Permissions. +All rights granted under this License are granted for the term of copyright +on the Program, and are irrevocable provided the stated conditions are met. +This License explicitly affirms your unlimited permission to run the unmodified +Program. The output from running a covered work is covered by this License +only if the output, given its content, constitutes a covered work. This License +acknowledges your rights of fair use or other equivalent, as provided by copyright +law. + +You may make, run and propagate covered works that you do not convey, without +conditions so long as your license otherwise remains in force. You may convey +covered works to others for the sole purpose of having them make modifications +exclusively for you, or provide you with facilities for running those works, +provided that you comply with the terms of this License in conveying all material +for which you do not control copyright. Those thus making or running the covered +works for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of your copyrighted +material outside their relationship with you. + +Conveying under any other circumstances is permitted solely under the conditions +stated below. Sublicensing is not allowed; section 10 makes it unnecessary. + +3. Protecting Users' Legal Rights From Anti-Circumvention Law. +No covered work shall be deemed part of an effective technological measure +under any applicable law fulfilling obligations under article 11 of the WIPO +copyright treaty adopted on 20 December 1996, or similar laws prohibiting +or restricting circumvention of such measures. + +When you convey a covered work, you waive any legal power to forbid circumvention +of technological measures to the extent such circumvention is effected by +exercising rights under this License with respect to the covered work, and +you disclaim any intention to limit operation or modification of the work +as a means of enforcing, against the work's users, your or third parties' +legal rights to forbid circumvention of technological measures. + +4. Conveying Verbatim Copies. +You may convey verbatim copies of the Program's source code as you receive +it, in any medium, provided that you conspicuously and appropriately publish +on each copy an appropriate copyright notice; keep intact all notices stating +that this License and any non-permissive terms added in accord with section +7 apply to the code; keep intact all notices of the absence of any warranty; +and give all recipients a copy of this License along with the Program. + +You may charge any price or no price for each copy that you convey, and you +may offer support or warranty protection for a fee. + +5. Conveying Modified Source Versions. +You may convey a work based on the Program, or the modifications to produce +it from the Program, in the form of source code under the terms of section +4, provided that you also meet all of these conditions: + +a) The work must carry prominent notices stating that you modified it, and +giving a relevant date. + +b) The work must carry prominent notices stating that it is released under +this License and any conditions added under section 7. This requirement modifies +the requirement in section 4 to “keep intact all notices”. + +c) You must license the entire work, as a whole, under this License to anyone +who comes into possession of a copy. This License will therefore apply, along +with any applicable section 7 additional terms, to the whole of the work, +and all its parts, regardless of how they are packaged. This License gives +no permission to license the work in any other way, but it does not invalidate +such permission if you have separately received it. + +d) If the work has interactive user interfaces, each must display Appropriate +Legal Notices; however, if the Program has interactive interfaces that do +not display Appropriate Legal Notices, your work need not make them do so. + +A compilation of a covered work with other separate and independent works, +which are not by their nature extensions of the covered work, and which are +not combined with it such as to form a larger program, in or on a volume of +a storage or distribution medium, is called an “aggregate” if the compilation +and its resulting copyright are not used to limit the access or legal rights +of the compilation's users beyond what the individual works permit. Inclusion +of a covered work in an aggregate does not cause this License to apply to +the other parts of the aggregate. + +6. Conveying Non-Source Forms. +You may convey a covered work in object code form under the terms of sections +4 and 5, provided that you also convey the machine-readable Corresponding +Source under the terms of this License, in one of these ways: + +a) Convey the object code in, or embodied in, a physical product (including +a physical distribution medium), accompanied by the Corresponding Source fixed +on a durable physical medium customarily used for software interchange. + +b) Convey the object code in, or embodied in, a physical product (including +a physical distribution medium), accompanied by a written offer, valid for +at least three years and valid for as long as you offer spare parts or customer +support for that product model, to give anyone who possesses the object code +either (1) a copy of the Corresponding Source for all the software in the +product that is covered by this License, on a durable physical medium customarily +used for software interchange, for a price no more than your reasonable cost +of physically performing this conveying of source, or (2) access to copy the +Corresponding Source from a network server at no charge. + +c) Convey individual copies of the object code with a copy of the written +offer to provide the Corresponding Source. This alternative is allowed only +occasionally and noncommercially, and only if you received the object code +with such an offer, in accord with subsection 6b. + +d) Convey the object code by offering access from a designated place (gratis +or for a charge), and offer equivalent access to the Corresponding Source +in the same way through the same place at no further charge. You need not +require recipients to copy the Corresponding Source along with the object +code. If the place to copy the object code is a network server, the Corresponding +Source may be on a different server (operated by you or a third party) that +supports equivalent copying facilities, provided you maintain clear directions +next to the object code saying where to find the Corresponding Source. Regardless +of what server hosts the Corresponding Source, you remain obligated to ensure +that it is available for as long as needed to satisfy these requirements. + +e) Convey the object code using peer-to-peer transmission, provided you inform +other peers where the object code and Corresponding Source of the work are +being offered to the general public at no charge under subsection 6d. + +A separable portion of the object code, whose source code is excluded from +the Corresponding Source as a System Library, need not be included in conveying +the object code work. + +A “User Product” is either (1) a “consumer product”, which means any tangible +personal property which is normally used for personal, family, or household +purposes, or (2) anything designed or sold for incorporation into a dwelling. +In determining whether a product is a consumer product, doubtful cases shall +be resolved in favor of coverage. For a particular product received by a particular +user, “normally used” refers to a typical or common use of that class of product, +regardless of the status of the particular user or of the way in which the +particular user actually uses, or expects or is expected to use, the product. +A product is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent the +only significant mode of use of the product. + +“Installation Information” for a User Product means any methods, procedures, +authorization keys, or other information required to install and execute modified +versions of a covered work in that User Product from a modified version of +its Corresponding Source. The information must suffice to ensure that the +continued functioning of the modified object code is in no case prevented +or interfered with solely because modification has been made. + +If you convey an object code work under this section in, or with, or specifically +for use in, a User Product, and the conveying occurs as part of a transaction +in which the right of possession and use of the User Product is transferred +to the recipient in perpetuity or for a fixed term (regardless of how the +transaction is characterized), the Corresponding Source conveyed under this +section must be accompanied by the Installation Information. But this requirement +does not apply if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has been installed +in ROM). + +The requirement to provide Installation Information does not include a requirement +to continue to provide support service, warranty, or updates for a work that +has been modified or installed by the recipient, or for the User Product in +which it has been modified or installed. Access to a network may be denied +when the modification itself materially and adversely affects the operation +of the network or violates the rules and protocols for communication across +the network. + +Corresponding Source conveyed, and Installation Information provided, in accord +with this section must be in a format that is publicly documented (and with +an implementation available to the public in source code form), and must require +no special password or key for unpacking, reading or copying. + +7. Additional Terms. +“Additional permissions” are terms that supplement the terms of this License +by making exceptions from one or more of its conditions. Additional permissions +that are applicable to the entire Program shall be treated as though they +were included in this License, to the extent that they are valid under applicable +law. If additional permissions apply only to part of the Program, that part +may be used separately under those permissions, but the entire Program remains +governed by this License without regard to the additional permissions. + +When you convey a copy of a covered work, you may at your option remove any +additional permissions from that copy, or from any part of it. (Additional +permissions may be written to require their own removal in certain cases when +you modify the work.) You may place additional permissions on material, added +by you to a covered work, for which you have or can give appropriate copyright +permission. + +Notwithstanding any other provision of this License, for material you add +to a covered work, you may (if authorized by the copyright holders of that +material) supplement the terms of this License with terms: + +a) Disclaiming warranty or limiting liability differently from the terms of +sections 15 and 16 of this License; or + +b) Requiring preservation of specified reasonable legal notices or author +attributions in that material or in the Appropriate Legal Notices displayed +by works containing it; or + +c) Prohibiting misrepresentation of the origin of that material, or requiring +that modified versions of such material be marked in reasonable ways as different +from the original version; or + +d) Limiting the use for publicity purposes of names of licensors or authors +of the material; or + +e) Declining to grant rights under trademark law for use of some trade names, +trademarks, or service marks; or + +f) Requiring indemnification of licensors and authors of that material by +anyone who conveys the material (or modified versions of it) with contractual +assumptions of liability to the recipient, for any liability that these contractual +assumptions directly impose on those licensors and authors. + +All other non-permissive additional terms are considered “further restrictions” +within the meaning of section 10. If the Program as you received it, or any +part of it, contains a notice stating that it is governed by this License +along with a term that is a further restriction, you may remove that term. +If a license document contains a further restriction but permits relicensing +or conveying under this License, you may add to a covered work material governed +by the terms of that license document, provided that the further restriction +does not survive such relicensing or conveying. + +If you add terms to a covered work in accord with this section, you must place, +in the relevant source files, a statement of the additional terms that apply +to those files, or a notice indicating where to find the applicable terms. + +Additional terms, permissive or non-permissive, may be stated in the form +of a separately written license, or stated as exceptions; the above requirements +apply either way. + +8. Termination. +You may not propagate or modify a covered work except as expressly provided +under this License. Any attempt otherwise to propagate or modify it is void, +and will automatically terminate your rights under this License (including +any patent licenses granted under the third paragraph of section 11). + +However, if you cease all violation of this License, then your license from +a particular copyright holder is reinstated (a) provisionally, unless and +until the copyright holder explicitly and finally terminates your license, +and (b) permanently, if the copyright holder fails to notify you of the violation +by some reasonable means prior to 60 days after the cessation. + +Moreover, your license from a particular copyright holder is reinstated permanently +if the copyright holder notifies you of the violation by some reasonable means, +this is the first time you have received notice of violation of this License +(for any work) from that copyright holder, and you cure the violation prior +to 30 days after your receipt of the notice. + +Termination of your rights under this section does not terminate the licenses +of parties who have received copies or rights from you under this License. +If your rights have been terminated and not permanently reinstated, you do +not qualify to receive new licenses for the same material under section 10. + +9. Acceptance Not Required for Having Copies. +You are not required to accept this License in order to receive or run a copy +of the Program. Ancillary propagation of a covered work occurring solely as +a consequence of using peer-to-peer transmission to receive a copy likewise +does not require acceptance. However, nothing other than this License grants +you permission to propagate or modify any covered work. These actions infringe +copyright if you do not accept this License. Therefore, by modifying or propagating +a covered work, you indicate your acceptance of this License to do so. + +10. Automatic Licensing of Downstream Recipients. +Each time you convey a covered work, the recipient automatically receives +a license from the original licensors, to run, modify and propagate that work, +subject to this License. You are not responsible for enforcing compliance +by third parties with this License. + +An “entity transaction” is a transaction transferring control of an organization, +or substantially all assets of one, or subdividing an organization, or merging +organizations. If propagation of a covered work results from an entity transaction, +each party to that transaction who receives a copy of the work also receives +whatever licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the Corresponding +Source of the work from the predecessor in interest, if the predecessor has +it or can get it with reasonable efforts. + +You may not impose any further restrictions on the exercise of the rights +granted or affirmed under this License. For example, you may not impose a +license fee, royalty, or other charge for exercise of rights granted under +this License, and you may not initiate litigation (including a cross-claim +or counterclaim in a lawsuit) alleging that any patent claim is infringed +by making, using, selling, offering for sale, or importing the Program or +any portion of it. + +11. Patents. +A “contributor” is a copyright holder who authorizes use under this License +of the Program or a work on which the Program is based. The work thus licensed +is called the contributor's “contributor version”. + +A contributor's “essential patent claims” are all patent claims owned or controlled +by the contributor, whether already acquired or hereafter acquired, that would +be infringed by some manner, permitted by this License, of making, using, +or selling its contributor version, but do not include claims that would be +infringed only as a consequence of further modification of the contributor +version. For purposes of this definition, “control” includes the right to +grant patent sublicenses in a manner consistent with the requirements of this +License. + +Each contributor grants you a non-exclusive, worldwide, royalty-free patent +license under the contributor's essential patent claims, to make, use, sell, +offer for sale, import and otherwise run, modify and propagate the contents +of its contributor version. + +In the following three paragraphs, a “patent license” is any express agreement +or commitment, however denominated, not to enforce a patent (such as an express +permission to practice a patent or covenant not to sue for patent infringement). +To “grant” such a patent license to a party means to make such an agreement +or commitment not to enforce a patent against the party. + +If you convey a covered work, knowingly relying on a patent license, and the +Corresponding Source of the work is not available for anyone to copy, free +of charge and under the terms of this License, through a publicly available +network server or other readily accessible means, then you must either (1) +cause the Corresponding Source to be so available, or (2) arrange to deprive +yourself of the benefit of the patent license for this particular work, or +(3) arrange, in a manner consistent with the requirements of this License, +to extend the patent license to downstream recipients. “Knowingly relying” +means you have actual knowledge that, but for the patent license, your conveying +the covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that country +that you have reason to believe are valid. + +If, pursuant to or in connection with a single transaction or arrangement, +you convey, or propagate by procuring conveyance of, a covered work, and grant +a patent license to some of the parties receiving the covered work authorizing +them to use, propagate, modify or convey a specific copy of the covered work, +then the patent license you grant is automatically extended to all recipients +of the covered work and works based on it. + +A patent license is “discriminatory” if it does not include within the scope +of its coverage, prohibits the exercise of, or is conditioned on the non-exercise +of one or more of the rights that are specifically granted under this License. +You may not convey a covered work if you are a party to an arrangement with +a third party that is in the business of distributing software, under which +you make payment to the third party based on the extent of your activity of +conveying the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory patent +license (a) in connection with copies of the covered work conveyed by you +(or copies made from those copies), or (b) primarily for and in connection +with specific products or compilations that contain the covered work, unless +you entered into that arrangement, or that patent license was granted, prior +to 28 March 2007. + +Nothing in this License shall be construed as excluding or limiting any implied +license or other defenses to infringement that may otherwise be available +to you under applicable patent law. + +12. No Surrender of Others' Freedom. +If conditions are imposed on you (whether by court order, agreement or otherwise) +that contradict the conditions of this License, they do not excuse you from +the conditions of this License. If you cannot convey a covered work so as +to satisfy simultaneously your obligations under this License and any other +pertinent obligations, then as a consequence you may not convey it at all. +For example, if you agree to terms that obligate you to collect a royalty +for further conveying from those to whom you convey the Program, the only +way you could satisfy both those terms and this License would be to refrain +entirely from conveying the Program. + +13. Use with the GNU Affero General Public License. +Notwithstanding any other provision of this License, you have permission to +link or combine any covered work with a work licensed under version 3 of the +GNU Affero General Public License into a single combined work, and to convey +the resulting work. The terms of this License will continue to apply to the +part which is the covered work, but the special requirements of the GNU Affero +General Public License, section 13, concerning interaction through a network +will apply to the combination as such. + +14. Revised Versions of this License. +The Free Software Foundation may publish revised and/or new versions of the +GNU General Public License from time to time. Such new versions will be similar +in spirit to the present version, but may differ in detail to address new +problems or concerns. + +Each version is given a distinguishing version number. If the Program specifies +that a certain numbered version of the GNU General Public License “or any +later version” applies to it, you have the option of following the terms and +conditions either of that numbered version or of any later version published +by the Free Software Foundation. If the Program does not specify a version +number of the GNU General Public License, you may choose any version ever +published by the Free Software Foundation. + +If the Program specifies that a proxy can decide which future versions of +the GNU General Public License can be used, that proxy's public statement +of acceptance of a version permanently authorizes you to choose that version +for the Program. + +Later license versions may give you additional or different permissions. However, +no additional obligations are imposed on any author or copyright holder as +a result of your choosing to follow a later version. + +15. Disclaimer of Warranty. +THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE +LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER +EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM +PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR +CORRECTION. + +16. Limitation of Liability. +IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL +ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM +AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, +INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO +USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED +INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE +PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER +PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +17. Interpretation of Sections 15 and 16. +If the disclaimer of warranty and limitation of liability provided above cannot +be given local legal effect according to their terms, reviewing courts shall +apply local law that most closely approximates an absolute waiver of all civil +liability in connection with the Program, unless a warranty or assumption +of liability accompanies a copy of the Program in return for a fee. + +END OF TERMS AND CONDITIONS + +How to Apply These Terms to Your New Programs + +If you develop a new program, and you want it to be of the greatest possible +use to the public, the best way to achieve this is to make it free software +which everyone can redistribute and change under these terms. + +To do so, attach the following notices to the program. It is safest to attach +them to the start of each source file to most effectively state the exclusion +of warranty; and each file should have at least the “copyright” line and a +pointer to where the full notice is found. + + + Copyright (C) + +This program is free software: you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free Software +Foundation, either version 3 of the License, or (at your option) any later +version. + +This program is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along with +this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + +If the program does terminal interaction, make it output a short notice like +this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. +This is free software, and you are welcome to redistribute it under certain +conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands might +be different; for a GUI interface, you would use an “about box”. + +You should also get your employer (if you work as a programmer) or school, +if any, to sign a “copyright disclaimer” for the program, if necessary. For +more information on this, and how to apply and follow the GNU GPL, see . + +The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General Public +License instead of this License. But first, please read . diff --git a/LICENSES/GPL-3.0-or-later.txt b/LICENSES/GPL-3.0-or-later.txt new file mode 100644 index 0000000..5990771 --- /dev/null +++ b/LICENSES/GPL-3.0-or-later.txt @@ -0,0 +1,604 @@ +GNU GENERAL PUBLIC LICENSE +Version 3, 29 June 2007 + +Copyright © 2007 Free Software Foundation, Inc. + +Everyone is permitted to copy and distribute verbatim copies of this license +document, but changing it is not allowed. + +Preamble + +The GNU General Public License is a free, copyleft license for software and +other kinds of works. + +The licenses for most software and other practical works are designed to take +away your freedom to share and change the works. By contrast, the GNU General +Public License is intended to guarantee your freedom to share and change all +versions of a program--to make sure it remains free software for all its users. +We, the Free Software Foundation, use the GNU General Public License for most +of our software; it applies also to any other work released this way by its +authors. You can apply it to your programs, too. + +When we speak of free software, we are referring to freedom, not price. Our +General Public Licenses are designed to make sure that you have the freedom +to distribute copies of free software (and charge for them if you wish), that +you receive source code or can get it if you want it, that you can change +the software or use pieces of it in new free programs, and that you know you +can do these things. + +To protect your rights, we need to prevent others from denying you these rights +or asking you to surrender the rights. Therefore, you have certain responsibilities +if you distribute copies of the software, or if you modify it: responsibilities +to respect the freedom of others. + +For example, if you distribute copies of such a program, whether gratis or +for a fee, you must pass on to the recipients the same freedoms that you received. +You must make sure that they, too, receive or can get the source code. And +you must show them these terms so they know their rights. + +Developers that use the GNU GPL protect your rights with two steps: (1) assert +copyright on the software, and (2) offer you this License giving you legal +permission to copy, distribute and/or modify it. + +For the developers' and authors' protection, the GPL clearly explains that +there is no warranty for this free software. For both users' and authors' +sake, the GPL requires that modified versions be marked as changed, so that +their problems will not be attributed erroneously to authors of previous versions. + +Some devices are designed to deny users access to install or run modified +versions of the software inside them, although the manufacturer can do so. +This is fundamentally incompatible with the aim of protecting users' freedom +to change the software. The systematic pattern of such abuse occurs in the +area of products for individuals to use, which is precisely where it is most +unacceptable. Therefore, we have designed this version of the GPL to prohibit +the practice for those products. If such problems arise substantially in other +domains, we stand ready to extend this provision to those domains in future +versions of the GPL, as needed to protect the freedom of users. + +Finally, every program is threatened constantly by software patents. States +should not allow patents to restrict development and use of software on general-purpose +computers, but in those that do, we wish to avoid the special danger that +patents applied to a free program could make it effectively proprietary. To +prevent this, the GPL assures that patents cannot be used to render the program +non-free. + +The precise terms and conditions for copying, distribution and modification +follow. + +TERMS AND CONDITIONS + +0. Definitions. + +“This License” refers to version 3 of the GNU General Public License. + +“Copyright” also means copyright-like laws that apply to other kinds of works, +such as semiconductor masks. + +“The Program” refers to any copyrightable work licensed under this License. +Each licensee is addressed as “you”. “Licensees” and “recipients” may be individuals +or organizations. + +To “modify” a work means to copy from or adapt all or part of the work in +a fashion requiring copyright permission, other than the making of an exact +copy. The resulting work is called a “modified version” of the earlier work +or a work “based on” the earlier work. + +A “covered work” means either the unmodified Program or a work based on the +Program. + +To “propagate” a work means to do anything with it that, without permission, +would make you directly or secondarily liable for infringement under applicable +copyright law, except executing it on a computer or modifying a private copy. +Propagation includes copying, distribution (with or without modification), +making available to the public, and in some countries other activities as +well. + +To “convey” a work means any kind of propagation that enables other parties +to make or receive copies. Mere interaction with a user through a computer +network, with no transfer of a copy, is not conveying. + +An interactive user interface displays “Appropriate Legal Notices” to the +extent that it includes a convenient and prominently visible feature that +(1) displays an appropriate copyright notice, and (2) tells the user that +there is no warranty for the work (except to the extent that warranties are +provided), that licensees may convey the work under this License, and how +to view a copy of this License. If the interface presents a list of user commands +or options, such as a menu, a prominent item in the list meets this criterion. + +1. Source Code. +The “source code” for a work means the preferred form of the work for making +modifications to it. “Object code” means any non-source form of a work. + +A “Standard Interface” means an interface that either is an official standard +defined by a recognized standards body, or, in the case of interfaces specified +for a particular programming language, one that is widely used among developers +working in that language. + +The “System Libraries” of an executable work include anything, other than +the work as a whole, that (a) is included in the normal form of packaging +a Major Component, but which is not part of that Major Component, and (b) +serves only to enable use of the work with that Major Component, or to implement +a Standard Interface for which an implementation is available to the public +in source code form. A “Major Component”, in this context, means a major essential +component (kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to produce +the work, or an object code interpreter used to run it. + +The “Corresponding Source” for a work in object code form means all the source +code needed to generate, install, and (for an executable work) run the object +code and to modify the work, including scripts to control those activities. +However, it does not include the work's System Libraries, or general-purpose +tools or generally available free programs which are used unmodified in performing +those activities but which are not part of the work. For example, Corresponding +Source includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically linked +subprograms that the work is specifically designed to require, such as by +intimate data communication or control flow between those subprograms and +other parts of the work. + +The Corresponding Source need not include anything that users can regenerate +automatically from other parts of the Corresponding Source. + +The Corresponding Source for a work in source code form is that same work. + +2. Basic Permissions. +All rights granted under this License are granted for the term of copyright +on the Program, and are irrevocable provided the stated conditions are met. +This License explicitly affirms your unlimited permission to run the unmodified +Program. The output from running a covered work is covered by this License +only if the output, given its content, constitutes a covered work. This License +acknowledges your rights of fair use or other equivalent, as provided by copyright +law. + +You may make, run and propagate covered works that you do not convey, without +conditions so long as your license otherwise remains in force. You may convey +covered works to others for the sole purpose of having them make modifications +exclusively for you, or provide you with facilities for running those works, +provided that you comply with the terms of this License in conveying all material +for which you do not control copyright. Those thus making or running the covered +works for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of your copyrighted +material outside their relationship with you. + +Conveying under any other circumstances is permitted solely under the conditions +stated below. Sublicensing is not allowed; section 10 makes it unnecessary. + +3. Protecting Users' Legal Rights From Anti-Circumvention Law. +No covered work shall be deemed part of an effective technological measure +under any applicable law fulfilling obligations under article 11 of the WIPO +copyright treaty adopted on 20 December 1996, or similar laws prohibiting +or restricting circumvention of such measures. + +When you convey a covered work, you waive any legal power to forbid circumvention +of technological measures to the extent such circumvention is effected by +exercising rights under this License with respect to the covered work, and +you disclaim any intention to limit operation or modification of the work +as a means of enforcing, against the work's users, your or third parties' +legal rights to forbid circumvention of technological measures. + +4. Conveying Verbatim Copies. +You may convey verbatim copies of the Program's source code as you receive +it, in any medium, provided that you conspicuously and appropriately publish +on each copy an appropriate copyright notice; keep intact all notices stating +that this License and any non-permissive terms added in accord with section +7 apply to the code; keep intact all notices of the absence of any warranty; +and give all recipients a copy of this License along with the Program. + +You may charge any price or no price for each copy that you convey, and you +may offer support or warranty protection for a fee. + +5. Conveying Modified Source Versions. +You may convey a work based on the Program, or the modifications to produce +it from the Program, in the form of source code under the terms of section +4, provided that you also meet all of these conditions: + +a) The work must carry prominent notices stating that you modified it, and +giving a relevant date. + +b) The work must carry prominent notices stating that it is released under +this License and any conditions added under section 7. This requirement modifies +the requirement in section 4 to “keep intact all notices”. + +c) You must license the entire work, as a whole, under this License to anyone +who comes into possession of a copy. This License will therefore apply, along +with any applicable section 7 additional terms, to the whole of the work, +and all its parts, regardless of how they are packaged. This License gives +no permission to license the work in any other way, but it does not invalidate +such permission if you have separately received it. + +d) If the work has interactive user interfaces, each must display Appropriate +Legal Notices; however, if the Program has interactive interfaces that do +not display Appropriate Legal Notices, your work need not make them do so. + +A compilation of a covered work with other separate and independent works, +which are not by their nature extensions of the covered work, and which are +not combined with it such as to form a larger program, in or on a volume of +a storage or distribution medium, is called an “aggregate” if the compilation +and its resulting copyright are not used to limit the access or legal rights +of the compilation's users beyond what the individual works permit. Inclusion +of a covered work in an aggregate does not cause this License to apply to +the other parts of the aggregate. + +6. Conveying Non-Source Forms. +You may convey a covered work in object code form under the terms of sections +4 and 5, provided that you also convey the machine-readable Corresponding +Source under the terms of this License, in one of these ways: + +a) Convey the object code in, or embodied in, a physical product (including +a physical distribution medium), accompanied by the Corresponding Source fixed +on a durable physical medium customarily used for software interchange. + +b) Convey the object code in, or embodied in, a physical product (including +a physical distribution medium), accompanied by a written offer, valid for +at least three years and valid for as long as you offer spare parts or customer +support for that product model, to give anyone who possesses the object code +either (1) a copy of the Corresponding Source for all the software in the +product that is covered by this License, on a durable physical medium customarily +used for software interchange, for a price no more than your reasonable cost +of physically performing this conveying of source, or (2) access to copy the +Corresponding Source from a network server at no charge. + +c) Convey individual copies of the object code with a copy of the written +offer to provide the Corresponding Source. This alternative is allowed only +occasionally and noncommercially, and only if you received the object code +with such an offer, in accord with subsection 6b. + +d) Convey the object code by offering access from a designated place (gratis +or for a charge), and offer equivalent access to the Corresponding Source +in the same way through the same place at no further charge. You need not +require recipients to copy the Corresponding Source along with the object +code. If the place to copy the object code is a network server, the Corresponding +Source may be on a different server (operated by you or a third party) that +supports equivalent copying facilities, provided you maintain clear directions +next to the object code saying where to find the Corresponding Source. Regardless +of what server hosts the Corresponding Source, you remain obligated to ensure +that it is available for as long as needed to satisfy these requirements. + +e) Convey the object code using peer-to-peer transmission, provided you inform +other peers where the object code and Corresponding Source of the work are +being offered to the general public at no charge under subsection 6d. + +A separable portion of the object code, whose source code is excluded from +the Corresponding Source as a System Library, need not be included in conveying +the object code work. + +A “User Product” is either (1) a “consumer product”, which means any tangible +personal property which is normally used for personal, family, or household +purposes, or (2) anything designed or sold for incorporation into a dwelling. +In determining whether a product is a consumer product, doubtful cases shall +be resolved in favor of coverage. For a particular product received by a particular +user, “normally used” refers to a typical or common use of that class of product, +regardless of the status of the particular user or of the way in which the +particular user actually uses, or expects or is expected to use, the product. +A product is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent the +only significant mode of use of the product. + +“Installation Information” for a User Product means any methods, procedures, +authorization keys, or other information required to install and execute modified +versions of a covered work in that User Product from a modified version of +its Corresponding Source. The information must suffice to ensure that the +continued functioning of the modified object code is in no case prevented +or interfered with solely because modification has been made. + +If you convey an object code work under this section in, or with, or specifically +for use in, a User Product, and the conveying occurs as part of a transaction +in which the right of possession and use of the User Product is transferred +to the recipient in perpetuity or for a fixed term (regardless of how the +transaction is characterized), the Corresponding Source conveyed under this +section must be accompanied by the Installation Information. But this requirement +does not apply if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has been installed +in ROM). + +The requirement to provide Installation Information does not include a requirement +to continue to provide support service, warranty, or updates for a work that +has been modified or installed by the recipient, or for the User Product in +which it has been modified or installed. Access to a network may be denied +when the modification itself materially and adversely affects the operation +of the network or violates the rules and protocols for communication across +the network. + +Corresponding Source conveyed, and Installation Information provided, in accord +with this section must be in a format that is publicly documented (and with +an implementation available to the public in source code form), and must require +no special password or key for unpacking, reading or copying. + +7. Additional Terms. +“Additional permissions” are terms that supplement the terms of this License +by making exceptions from one or more of its conditions. Additional permissions +that are applicable to the entire Program shall be treated as though they +were included in this License, to the extent that they are valid under applicable +law. If additional permissions apply only to part of the Program, that part +may be used separately under those permissions, but the entire Program remains +governed by this License without regard to the additional permissions. + +When you convey a copy of a covered work, you may at your option remove any +additional permissions from that copy, or from any part of it. (Additional +permissions may be written to require their own removal in certain cases when +you modify the work.) You may place additional permissions on material, added +by you to a covered work, for which you have or can give appropriate copyright +permission. + +Notwithstanding any other provision of this License, for material you add +to a covered work, you may (if authorized by the copyright holders of that +material) supplement the terms of this License with terms: + +a) Disclaiming warranty or limiting liability differently from the terms of +sections 15 and 16 of this License; or + +b) Requiring preservation of specified reasonable legal notices or author +attributions in that material or in the Appropriate Legal Notices displayed +by works containing it; or + +c) Prohibiting misrepresentation of the origin of that material, or requiring +that modified versions of such material be marked in reasonable ways as different +from the original version; or + +d) Limiting the use for publicity purposes of names of licensors or authors +of the material; or + +e) Declining to grant rights under trademark law for use of some trade names, +trademarks, or service marks; or + +f) Requiring indemnification of licensors and authors of that material by +anyone who conveys the material (or modified versions of it) with contractual +assumptions of liability to the recipient, for any liability that these contractual +assumptions directly impose on those licensors and authors. + +All other non-permissive additional terms are considered “further restrictions” +within the meaning of section 10. If the Program as you received it, or any +part of it, contains a notice stating that it is governed by this License +along with a term that is a further restriction, you may remove that term. +If a license document contains a further restriction but permits relicensing +or conveying under this License, you may add to a covered work material governed +by the terms of that license document, provided that the further restriction +does not survive such relicensing or conveying. + +If you add terms to a covered work in accord with this section, you must place, +in the relevant source files, a statement of the additional terms that apply +to those files, or a notice indicating where to find the applicable terms. + +Additional terms, permissive or non-permissive, may be stated in the form +of a separately written license, or stated as exceptions; the above requirements +apply either way. + +8. Termination. +You may not propagate or modify a covered work except as expressly provided +under this License. Any attempt otherwise to propagate or modify it is void, +and will automatically terminate your rights under this License (including +any patent licenses granted under the third paragraph of section 11). + +However, if you cease all violation of this License, then your license from +a particular copyright holder is reinstated (a) provisionally, unless and +until the copyright holder explicitly and finally terminates your license, +and (b) permanently, if the copyright holder fails to notify you of the violation +by some reasonable means prior to 60 days after the cessation. + +Moreover, your license from a particular copyright holder is reinstated permanently +if the copyright holder notifies you of the violation by some reasonable means, +this is the first time you have received notice of violation of this License +(for any work) from that copyright holder, and you cure the violation prior +to 30 days after your receipt of the notice. + +Termination of your rights under this section does not terminate the licenses +of parties who have received copies or rights from you under this License. +If your rights have been terminated and not permanently reinstated, you do +not qualify to receive new licenses for the same material under section 10. + +9. Acceptance Not Required for Having Copies. +You are not required to accept this License in order to receive or run a copy +of the Program. Ancillary propagation of a covered work occurring solely as +a consequence of using peer-to-peer transmission to receive a copy likewise +does not require acceptance. However, nothing other than this License grants +you permission to propagate or modify any covered work. These actions infringe +copyright if you do not accept this License. Therefore, by modifying or propagating +a covered work, you indicate your acceptance of this License to do so. + +10. Automatic Licensing of Downstream Recipients. +Each time you convey a covered work, the recipient automatically receives +a license from the original licensors, to run, modify and propagate that work, +subject to this License. You are not responsible for enforcing compliance +by third parties with this License. + +An “entity transaction” is a transaction transferring control of an organization, +or substantially all assets of one, or subdividing an organization, or merging +organizations. If propagation of a covered work results from an entity transaction, +each party to that transaction who receives a copy of the work also receives +whatever licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the Corresponding +Source of the work from the predecessor in interest, if the predecessor has +it or can get it with reasonable efforts. + +You may not impose any further restrictions on the exercise of the rights +granted or affirmed under this License. For example, you may not impose a +license fee, royalty, or other charge for exercise of rights granted under +this License, and you may not initiate litigation (including a cross-claim +or counterclaim in a lawsuit) alleging that any patent claim is infringed +by making, using, selling, offering for sale, or importing the Program or +any portion of it. + +11. Patents. +A “contributor” is a copyright holder who authorizes use under this License +of the Program or a work on which the Program is based. The work thus licensed +is called the contributor's “contributor version”. + +A contributor's “essential patent claims” are all patent claims owned or controlled +by the contributor, whether already acquired or hereafter acquired, that would +be infringed by some manner, permitted by this License, of making, using, +or selling its contributor version, but do not include claims that would be +infringed only as a consequence of further modification of the contributor +version. For purposes of this definition, “control” includes the right to +grant patent sublicenses in a manner consistent with the requirements of this +License. + +Each contributor grants you a non-exclusive, worldwide, royalty-free patent +license under the contributor's essential patent claims, to make, use, sell, +offer for sale, import and otherwise run, modify and propagate the contents +of its contributor version. + +In the following three paragraphs, a “patent license” is any express agreement +or commitment, however denominated, not to enforce a patent (such as an express +permission to practice a patent or covenant not to sue for patent infringement). +To “grant” such a patent license to a party means to make such an agreement +or commitment not to enforce a patent against the party. + +If you convey a covered work, knowingly relying on a patent license, and the +Corresponding Source of the work is not available for anyone to copy, free +of charge and under the terms of this License, through a publicly available +network server or other readily accessible means, then you must either (1) +cause the Corresponding Source to be so available, or (2) arrange to deprive +yourself of the benefit of the patent license for this particular work, or +(3) arrange, in a manner consistent with the requirements of this License, +to extend the patent license to downstream recipients. “Knowingly relying” +means you have actual knowledge that, but for the patent license, your conveying +the covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that country +that you have reason to believe are valid. + +If, pursuant to or in connection with a single transaction or arrangement, +you convey, or propagate by procuring conveyance of, a covered work, and grant +a patent license to some of the parties receiving the covered work authorizing +them to use, propagate, modify or convey a specific copy of the covered work, +then the patent license you grant is automatically extended to all recipients +of the covered work and works based on it. + +A patent license is “discriminatory” if it does not include within the scope +of its coverage, prohibits the exercise of, or is conditioned on the non-exercise +of one or more of the rights that are specifically granted under this License. +You may not convey a covered work if you are a party to an arrangement with +a third party that is in the business of distributing software, under which +you make payment to the third party based on the extent of your activity of +conveying the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory patent +license (a) in connection with copies of the covered work conveyed by you +(or copies made from those copies), or (b) primarily for and in connection +with specific products or compilations that contain the covered work, unless +you entered into that arrangement, or that patent license was granted, prior +to 28 March 2007. + +Nothing in this License shall be construed as excluding or limiting any implied +license or other defenses to infringement that may otherwise be available +to you under applicable patent law. + +12. No Surrender of Others' Freedom. +If conditions are imposed on you (whether by court order, agreement or otherwise) +that contradict the conditions of this License, they do not excuse you from +the conditions of this License. If you cannot convey a covered work so as +to satisfy simultaneously your obligations under this License and any other +pertinent obligations, then as a consequence you may not convey it at all. +For example, if you agree to terms that obligate you to collect a royalty +for further conveying from those to whom you convey the Program, the only +way you could satisfy both those terms and this License would be to refrain +entirely from conveying the Program. + +13. Use with the GNU Affero General Public License. +Notwithstanding any other provision of this License, you have permission to +link or combine any covered work with a work licensed under version 3 of the +GNU Affero General Public License into a single combined work, and to convey +the resulting work. The terms of this License will continue to apply to the +part which is the covered work, but the special requirements of the GNU Affero +General Public License, section 13, concerning interaction through a network +will apply to the combination as such. + +14. Revised Versions of this License. +The Free Software Foundation may publish revised and/or new versions of the +GNU General Public License from time to time. Such new versions will be similar +in spirit to the present version, but may differ in detail to address new +problems or concerns. + +Each version is given a distinguishing version number. If the Program specifies +that a certain numbered version of the GNU General Public License “or any +later version” applies to it, you have the option of following the terms and +conditions either of that numbered version or of any later version published +by the Free Software Foundation. If the Program does not specify a version +number of the GNU General Public License, you may choose any version ever +published by the Free Software Foundation. + +If the Program specifies that a proxy can decide which future versions of +the GNU General Public License can be used, that proxy's public statement +of acceptance of a version permanently authorizes you to choose that version +for the Program. + +Later license versions may give you additional or different permissions. However, +no additional obligations are imposed on any author or copyright holder as +a result of your choosing to follow a later version. + +15. Disclaimer of Warranty. +THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE +LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER +EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM +PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR +CORRECTION. + +16. Limitation of Liability. +IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL +ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM +AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, +INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO +USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED +INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE +PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER +PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +17. Interpretation of Sections 15 and 16. +If the disclaimer of warranty and limitation of liability provided above cannot +be given local legal effect according to their terms, reviewing courts shall +apply local law that most closely approximates an absolute waiver of all civil +liability in connection with the Program, unless a warranty or assumption +of liability accompanies a copy of the Program in return for a fee. + +END OF TERMS AND CONDITIONS + +How to Apply These Terms to Your New Programs + +If you develop a new program, and you want it to be of the greatest possible +use to the public, the best way to achieve this is to make it free software +which everyone can redistribute and change under these terms. + +To do so, attach the following notices to the program. It is safest to attach +them to the start of each source file to most effectively state the exclusion +of warranty; and each file should have at least the “copyright” line and a +pointer to where the full notice is found. + + + Copyright (C) + +This program is free software: you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free Software +Foundation, either version 3 of the License, or (at your option) any later +version. + +This program is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along with +this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + +If the program does terminal interaction, make it output a short notice like +this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. +This is free software, and you are welcome to redistribute it under certain +conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands might +be different; for a GUI interface, you would use an “about box”. + +You should also get your employer (if you work as a programmer) or school, +if any, to sign a “copyright disclaimer” for the program, if necessary. For +more information on this, and how to apply and follow the GNU GPL, see . + +The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General Public +License instead of this License. But first, please read . diff --git a/LICENSES/LGPL-2.0-only.txt b/LICENSES/LGPL-2.0-only.txt new file mode 100644 index 0000000..ec9eedc --- /dev/null +++ b/LICENSES/LGPL-2.0-only.txt @@ -0,0 +1,444 @@ +GNU LIBRARY GENERAL PUBLIC LICENSE + +Version 2, June 1991 + +Copyright (C) 1991 Free Software Foundation, Inc. +51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + +Everyone is permitted to copy and distribute verbatim copies of this license +document, but changing it is not allowed. + +[This is the first released version of the library GPL. It is numbered 2 +because it goes with version 2 of the ordinary GPL.] + +Preamble + +The licenses for most software are designed to take away your freedom to share +and change it. By contrast, the GNU General Public Licenses are intended to +guarantee your freedom to share and change free software--to make sure the +software is free for all its users. + +This license, the Library General Public License, applies to some specially +designated Free Software Foundation software, and to any other libraries whose +authors decide to use it. You can use it for your libraries, too. + +When we speak of free software, we are referring to freedom, not price. Our +General Public Licenses are designed to make sure that you have the freedom +to distribute copies of free software (and charge for this service if you +wish), that you receive source code or can get it if you want it, that you +can change the software or use pieces of it in new free programs; and that +you know you can do these things. + +To protect your rights, we need to make restrictions that forbid anyone to +deny you these rights or to ask you to surrender the rights. These restrictions +translate to certain responsibilities for you if you distribute copies of +the library, or if you modify it. + +For example, if you distribute copies of the library, whether gratis or for +a fee, you must give the recipients all the rights that we gave you. You must +make sure that they, too, receive or can get the source code. If you link +a program with the library, you must provide complete object files to the +recipients so that they can relink them with the library, after making changes +to the library and recompiling it. And you must show them these terms so they +know their rights. + +Our method of protecting your rights has two steps: (1) copyright the library, +and (2) offer you this license which gives you legal permission to copy, distribute +and/or modify the library. + +Also, for each distributor's protection, we want to make certain that everyone +understands that there is no warranty for this free library. If the library +is modified by someone else and passed on, we want its recipients to know +that what they have is not the original version, so that any problems introduced +by others will not reflect on the original authors' reputations. + +Finally, any free program is threatened constantly by software patents. We +wish to avoid the danger that companies distributing free software will individually +obtain patent licenses, thus in effect transforming the program into proprietary +software. To prevent this, we have made it clear that any patent must be licensed +for everyone's free use or not licensed at all. + +Most GNU software, including some libraries, is covered by the ordinary GNU +General Public License, which was designed for utility programs. This license, +the GNU Library General Public License, applies to certain designated libraries. +This license is quite different from the ordinary one; be sure to read it +in full, and don't assume that anything in it is the same as in the ordinary +license. + +The reason we have a separate public license for some libraries is that they +blur the distinction we usually make between modifying or adding to a program +and simply using it. Linking a program with a library, without changing the +library, is in some sense simply using the library, and is analogous to running +a utility program or application program. However, in a textual and legal +sense, the linked executable is a combined work, a derivative of the original +library, and the ordinary General Public License treats it as such. + +Because of this blurred distinction, using the ordinary General Public License +for libraries did not effectively promote software sharing, because most developers +did not use the libraries. We concluded that weaker conditions might promote +sharing better. + +However, unrestricted linking of non-free programs would deprive the users +of those programs of all benefit from the free status of the libraries themselves. +This Library General Public License is intended to permit developers of non-free +programs to use free libraries, while preserving your freedom as a user of +such programs to change the free libraries that are incorporated in them. +(We have not seen how to achieve this as regards changes in header files, +but we have achieved it as regards changes in the actual functions of the +Library.) The hope is that this will lead to faster development of free libraries. + +The precise terms and conditions for copying, distribution and modification +follow. Pay close attention to the difference between a "work based on the +library" and a "work that uses the library". The former contains code derived +from the library, while the latter only works together with the library. + +Note that it is possible for a library to be covered by the ordinary General +Public License rather than by this special one. + +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + +0. This License Agreement applies to any software library which contains a +notice placed by the copyright holder or other authorized party saying it +may be distributed under the terms of this Library General Public License +(also called "this License"). Each licensee is addressed as "you". + +A "library" means a collection of software functions and/or data prepared +so as to be conveniently linked with application programs (which use some +of those functions and data) to form executables. + +The "Library", below, refers to any such software library or work which has +been distributed under these terms. A "work based on the Library" means either +the Library or any derivative work under copyright law: that is to say, a +work containing the Library or a portion of it, either verbatim or with modifications +and/or translated straightforwardly into another language. (Hereinafter, translation +is included without limitation in the term "modification".) + +"Source code" for a work means the preferred form of the work for making modifications +to it. For a library, complete source code means all the source code for all +modules it contains, plus any associated interface definition files, plus +the scripts used to control compilation and installation of the library. + +Activities other than copying, distribution and modification are not covered +by this License; they are outside its scope. The act of running a program +using the Library is not restricted, and output from such a program is covered +only if its contents constitute a work based on the Library (independent of +the use of the Library in a tool for writing it). Whether that is true depends +on what the Library does and what the program that uses the Library does. + +1. You may copy and distribute verbatim copies of the Library's complete source +code as you receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice and disclaimer +of warranty; keep intact all the notices that refer to this License and to +the absence of any warranty; and distribute a copy of this License along with +the Library. + +You may charge a fee for the physical act of transferring a copy, and you +may at your option offer warranty protection in exchange for a fee. + +2. You may modify your copy or copies of the Library or any portion of it, +thus forming a work based on the Library, and copy and distribute such modifications +or work under the terms of Section 1 above, provided that you also meet all +of these conditions: + + a) The modified work must itself be a software library. + +b) You must cause the files modified to carry prominent notices stating that +you changed the files and the date of any change. + +c) You must cause the whole of the work to be licensed at no charge to all +third parties under the terms of this License. + +d) If a facility in the modified Library refers to a function or a table of +data to be supplied by an application program that uses the facility, other +than as an argument passed when the facility is invoked, then you must make +a good faith effort to ensure that, in the event an application does not supply +such function or table, the facility still operates, and performs whatever +part of its purpose remains meaningful. + +(For example, a function in a library to compute square roots has a purpose +that is entirely well-defined independent of the application. Therefore, Subsection +2d requires that any application-supplied function or table used by this function +must be optional: if the application does not supply it, the square root function +must still compute square roots.) + +These requirements apply to the modified work as a whole. If identifiable +sections of that work are not derived from the Library, and can be reasonably +considered independent and separate works in themselves, then this License, +and its terms, do not apply to those sections when you distribute them as +separate works. But when you distribute the same sections as part of a whole +which is a work based on the Library, the distribution of the whole must be +on the terms of this License, whose permissions for other licensees extend +to the entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest your +rights to work written entirely by you; rather, the intent is to exercise +the right to control the distribution of derivative or collective works based +on the Library. + +In addition, mere aggregation of another work not based on the Library with +the Library (or with a work based on the Library) on a volume of a storage +or distribution medium does not bring the other work under the scope of this +License. + +3. You may opt to apply the terms of the ordinary GNU General Public License +instead of this License to a given copy of the Library. To do this, you must +alter all the notices that refer to this License, so that they refer to the +ordinary GNU General Public License, version 2, instead of to this License. +(If a newer version than version 2 of the ordinary GNU General Public License +has appeared, then you can specify that version instead if you wish.) Do not +make any other change in these notices. + +Once this change is made in a given copy, it is irreversible for that copy, +so the ordinary GNU General Public License applies to all subsequent copies +and derivative works made from that copy. + +This option is useful when you wish to copy part of the code of the Library +into a program that is not a library. + +4. You may copy and distribute the Library (or a portion or derivative of +it, under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you accompany it with the complete corresponding +machine-readable source code, which must be distributed under the terms of +Sections 1 and 2 above on a medium customarily used for software interchange. + +If distribution of object code is made by offering access to copy from a designated +place, then offering equivalent access to copy the source code from the same +place satisfies the requirement to distribute the source code, even though +third parties are not compelled to copy the source along with the object code. + +5. A program that contains no derivative of any portion of the Library, but +is designed to work with the Library by being compiled or linked with it, +is called a "work that uses the Library". Such a work, in isolation, is not +a derivative work of the Library, and therefore falls outside the scope of +this License. + +However, linking a "work that uses the Library" with the Library creates an +executable that is a derivative of the Library (because it contains portions +of the Library), rather than a "work that uses the library". The executable +is therefore covered by this License. Section 6 states terms for distribution +of such executables. + +When a "work that uses the Library" uses material from a header file that +is part of the Library, the object code for the work may be a derivative work +of the Library even though the source code is not. Whether this is true is +especially significant if the work can be linked without the Library, or if +the work is itself a library. The threshold for this to be true is not precisely +defined by law. + +If such an object file uses only numerical parameters, data structure layouts +and accessors, and small macros and small inline functions (ten lines or less +in length), then the use of the object file is unrestricted, regardless of +whether it is legally a derivative work. (Executables containing this object +code plus portions of the Library will still fall under Section 6.) + +Otherwise, if the work is a derivative of the Library, you may distribute +the object code for the work under the terms of Section 6. Any executables +containing that work also fall under Section 6, whether or not they are linked +directly with the Library itself. + +6. As an exception to the Sections above, you may also compile or link a "work +that uses the Library" with the Library to produce a work containing portions +of the Library, and distribute that work under terms of your choice, provided +that the terms permit modification of the work for the customer's own use +and reverse engineering for debugging such modifications. + +You must give prominent notice with each copy of the work that the Library +is used in it and that the Library and its use are covered by this License. +You must supply a copy of this License. If the work during execution displays +copyright notices, you must include the copyright notice for the Library among +them, as well as a reference directing the user to the copy of this License. +Also, you must do one of these things: + +a) Accompany the work with the complete corresponding machine-readable source +code for the Library including whatever changes were used in the work (which +must be distributed under Sections 1 and 2 above); and, if the work is an +executable linked with the Library, with the complete machine-readable "work +that uses the Library", as object code and/or source code, so that the user +can modify the Library and then relink to produce a modified executable containing +the modified Library. (It is understood that the user who changes the contents +of definitions files in the Library will not necessarily be able to recompile +the application to use the modified definitions.) + +b) Accompany the work with a written offer, valid for at least three years, +to give the same user the materials specified in Subsection 6a, above, for +a charge no more than the cost of performing this distribution. + +c) If distribution of the work is made by offering access to copy from a designated +place, offer equivalent access to copy the above specified materials from +the same place. + +d) Verify that the user has already received a copy of these materials or +that you have already sent this user a copy. + +For an executable, the required form of the "work that uses the Library" must +include any data and utility programs needed for reproducing the executable +from it. However, as a special exception, the source code distributed need +not include anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the operating +system on which the executable runs, unless that component itself accompanies +the executable. + +It may happen that this requirement contradicts the license restrictions of +other proprietary libraries that do not normally accompany the operating system. +Such a contradiction means you cannot use both them and the Library together +in an executable that you distribute. + +7. You may place library facilities that are a work based on the Library side-by-side +in a single library together with other library facilities not covered by +this License, and distribute such a combined library, provided that the separate +distribution of the work based on the Library and of the other library facilities +is otherwise permitted, and provided that you do these two things: + +a) Accompany the combined library with a copy of the same work based on the +Library, uncombined with any other library facilities. This must be distributed +under the terms of the Sections above. + +b) Give prominent notice with the combined library of the fact that part of +it is a work based on the Library, and explaining where to find the accompanying +uncombined form of the same work. + +8. You may not copy, modify, sublicense, link with, or distribute the Library +except as expressly provided under this License. Any attempt otherwise to +copy, modify, sublicense, link with, or distribute the Library is void, and +will automatically terminate your rights under this License. However, parties +who have received copies, or rights, from you under this License will not +have their licenses terminated so long as such parties remain in full compliance. + +9. You are not required to accept this License, since you have not signed +it. However, nothing else grants you permission to modify or distribute the +Library or its derivative works. These actions are prohibited by law if you +do not accept this License. Therefore, by modifying or distributing the Library +(or any work based on the Library), you indicate your acceptance of this License +to do so, and all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + +10. Each time you redistribute the Library (or any work based on the Library), +the recipient automatically receives a license from the original licensor +to copy, distribute, link with or modify the Library subject to these terms +and conditions. You may not impose any further restrictions on the recipients' +exercise of the rights granted herein. You are not responsible for enforcing +compliance by third parties to this License. + +11. If, as a consequence of a court judgment or allegation of patent infringement +or for any other reason (not limited to patent issues), conditions are imposed +on you (whether by court order, agreement or otherwise) that contradict the +conditions of this License, they do not excuse you from the conditions of +this License. If you cannot distribute so as to satisfy simultaneously your +obligations under this License and any other pertinent obligations, then as +a consequence you may not distribute the Library at all. For example, if a +patent license would not permit royalty-free redistribution of the Library +by all those who receive copies directly or indirectly through you, then the +only way you could satisfy both it and this License would be to refrain entirely +from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any patents +or other property right claims or to contest validity of any such claims; +this section has the sole purpose of protecting the integrity of the free +software distribution system which is implemented by public license practices. +Many people have made generous contributions to the wide range of software +distributed through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing to +distribute software through any other system and a licensee cannot impose +that choice. + +This section is intended to make thoroughly clear what is believed to be a +consequence of the rest of this License. + +12. If the distribution and/or use of the Library is restricted in certain +countries either by patents or by copyrighted interfaces, the original copyright +holder who places the Library under this License may add an explicit geographical +distribution limitation excluding those countries, so that distribution is +permitted only in or among countries not thus excluded. In such case, this +License incorporates the limitation as if written in the body of this License. + +13. The Free Software Foundation may publish revised and/or new versions of +the Library General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to address +new problems or concerns. + +Each version is given a distinguishing version number. If the Library specifies +a version number of this License which applies to it and "any later version", +you have the option of following the terms and conditions either of that version +or of any later version published by the Free Software Foundation. If the +Library does not specify a license version number, you may choose any version +ever published by the Free Software Foundation. + +14. If you wish to incorporate parts of the Library into other free programs +whose distribution conditions are incompatible with these, write to the author +to ask for permission. For software which is copyrighted by the Free Software +Foundation, write to the Free Software Foundation; we sometimes make exceptions +for this. Our decision will be guided by the two goals of preserving the free +status of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + +NO WARRANTY + +15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR +THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE +STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY +"AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE +OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE +THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE +OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA +OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES +OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH +HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +END OF TERMS AND CONDITIONS + +How to Apply These Terms to Your New Libraries + +If you develop a new library, and you want it to be of the greatest possible +use to the public, we recommend making it free software that everyone can +redistribute and change. You can do so by permitting redistribution under +these terms (or, alternatively, under the terms of the ordinary General Public +License). + +To apply these terms, attach the following notices to the library. It is safest +to attach them to the start of each source file to most effectively convey +the exclusion of warranty; and each file should have at least the "copyright" +line and a pointer to where the full notice is found. + + one line to give the library's name and an idea of what it does. + Copyright (C) year name of author + +This library is free software; you can redistribute it and/or modify it under +the terms of the GNU Library General Public License as published by the Free +Software Foundation; either version 2 of the License, or (at your option) +any later version. + +This library is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for +more details. + +You should have received a copy of the GNU Library General Public License +along with this library; if not, write to the Free Software Foundation, Inc., +51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your school, +if any, to sign a "copyright disclaimer" for the library, if necessary. Here +is a sample; alter the names: + +Yoyodyne, Inc., hereby disclaims all copyright interest in +the library `Frob' (a library for tweaking knobs) written +by James Random Hacker. + +signature of Ty Coon, 1 April 1990 +Ty Coon, President of Vice + +That's all there is to it! diff --git a/LICENSES/LGPL-2.0-or-later.txt b/LICENSES/LGPL-2.0-or-later.txt new file mode 100644 index 0000000..ec9eedc --- /dev/null +++ b/LICENSES/LGPL-2.0-or-later.txt @@ -0,0 +1,444 @@ +GNU LIBRARY GENERAL PUBLIC LICENSE + +Version 2, June 1991 + +Copyright (C) 1991 Free Software Foundation, Inc. +51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + +Everyone is permitted to copy and distribute verbatim copies of this license +document, but changing it is not allowed. + +[This is the first released version of the library GPL. It is numbered 2 +because it goes with version 2 of the ordinary GPL.] + +Preamble + +The licenses for most software are designed to take away your freedom to share +and change it. By contrast, the GNU General Public Licenses are intended to +guarantee your freedom to share and change free software--to make sure the +software is free for all its users. + +This license, the Library General Public License, applies to some specially +designated Free Software Foundation software, and to any other libraries whose +authors decide to use it. You can use it for your libraries, too. + +When we speak of free software, we are referring to freedom, not price. Our +General Public Licenses are designed to make sure that you have the freedom +to distribute copies of free software (and charge for this service if you +wish), that you receive source code or can get it if you want it, that you +can change the software or use pieces of it in new free programs; and that +you know you can do these things. + +To protect your rights, we need to make restrictions that forbid anyone to +deny you these rights or to ask you to surrender the rights. These restrictions +translate to certain responsibilities for you if you distribute copies of +the library, or if you modify it. + +For example, if you distribute copies of the library, whether gratis or for +a fee, you must give the recipients all the rights that we gave you. You must +make sure that they, too, receive or can get the source code. If you link +a program with the library, you must provide complete object files to the +recipients so that they can relink them with the library, after making changes +to the library and recompiling it. And you must show them these terms so they +know their rights. + +Our method of protecting your rights has two steps: (1) copyright the library, +and (2) offer you this license which gives you legal permission to copy, distribute +and/or modify the library. + +Also, for each distributor's protection, we want to make certain that everyone +understands that there is no warranty for this free library. If the library +is modified by someone else and passed on, we want its recipients to know +that what they have is not the original version, so that any problems introduced +by others will not reflect on the original authors' reputations. + +Finally, any free program is threatened constantly by software patents. We +wish to avoid the danger that companies distributing free software will individually +obtain patent licenses, thus in effect transforming the program into proprietary +software. To prevent this, we have made it clear that any patent must be licensed +for everyone's free use or not licensed at all. + +Most GNU software, including some libraries, is covered by the ordinary GNU +General Public License, which was designed for utility programs. This license, +the GNU Library General Public License, applies to certain designated libraries. +This license is quite different from the ordinary one; be sure to read it +in full, and don't assume that anything in it is the same as in the ordinary +license. + +The reason we have a separate public license for some libraries is that they +blur the distinction we usually make between modifying or adding to a program +and simply using it. Linking a program with a library, without changing the +library, is in some sense simply using the library, and is analogous to running +a utility program or application program. However, in a textual and legal +sense, the linked executable is a combined work, a derivative of the original +library, and the ordinary General Public License treats it as such. + +Because of this blurred distinction, using the ordinary General Public License +for libraries did not effectively promote software sharing, because most developers +did not use the libraries. We concluded that weaker conditions might promote +sharing better. + +However, unrestricted linking of non-free programs would deprive the users +of those programs of all benefit from the free status of the libraries themselves. +This Library General Public License is intended to permit developers of non-free +programs to use free libraries, while preserving your freedom as a user of +such programs to change the free libraries that are incorporated in them. +(We have not seen how to achieve this as regards changes in header files, +but we have achieved it as regards changes in the actual functions of the +Library.) The hope is that this will lead to faster development of free libraries. + +The precise terms and conditions for copying, distribution and modification +follow. Pay close attention to the difference between a "work based on the +library" and a "work that uses the library". The former contains code derived +from the library, while the latter only works together with the library. + +Note that it is possible for a library to be covered by the ordinary General +Public License rather than by this special one. + +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + +0. This License Agreement applies to any software library which contains a +notice placed by the copyright holder or other authorized party saying it +may be distributed under the terms of this Library General Public License +(also called "this License"). Each licensee is addressed as "you". + +A "library" means a collection of software functions and/or data prepared +so as to be conveniently linked with application programs (which use some +of those functions and data) to form executables. + +The "Library", below, refers to any such software library or work which has +been distributed under these terms. A "work based on the Library" means either +the Library or any derivative work under copyright law: that is to say, a +work containing the Library or a portion of it, either verbatim or with modifications +and/or translated straightforwardly into another language. (Hereinafter, translation +is included without limitation in the term "modification".) + +"Source code" for a work means the preferred form of the work for making modifications +to it. For a library, complete source code means all the source code for all +modules it contains, plus any associated interface definition files, plus +the scripts used to control compilation and installation of the library. + +Activities other than copying, distribution and modification are not covered +by this License; they are outside its scope. The act of running a program +using the Library is not restricted, and output from such a program is covered +only if its contents constitute a work based on the Library (independent of +the use of the Library in a tool for writing it). Whether that is true depends +on what the Library does and what the program that uses the Library does. + +1. You may copy and distribute verbatim copies of the Library's complete source +code as you receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice and disclaimer +of warranty; keep intact all the notices that refer to this License and to +the absence of any warranty; and distribute a copy of this License along with +the Library. + +You may charge a fee for the physical act of transferring a copy, and you +may at your option offer warranty protection in exchange for a fee. + +2. You may modify your copy or copies of the Library or any portion of it, +thus forming a work based on the Library, and copy and distribute such modifications +or work under the terms of Section 1 above, provided that you also meet all +of these conditions: + + a) The modified work must itself be a software library. + +b) You must cause the files modified to carry prominent notices stating that +you changed the files and the date of any change. + +c) You must cause the whole of the work to be licensed at no charge to all +third parties under the terms of this License. + +d) If a facility in the modified Library refers to a function or a table of +data to be supplied by an application program that uses the facility, other +than as an argument passed when the facility is invoked, then you must make +a good faith effort to ensure that, in the event an application does not supply +such function or table, the facility still operates, and performs whatever +part of its purpose remains meaningful. + +(For example, a function in a library to compute square roots has a purpose +that is entirely well-defined independent of the application. Therefore, Subsection +2d requires that any application-supplied function or table used by this function +must be optional: if the application does not supply it, the square root function +must still compute square roots.) + +These requirements apply to the modified work as a whole. If identifiable +sections of that work are not derived from the Library, and can be reasonably +considered independent and separate works in themselves, then this License, +and its terms, do not apply to those sections when you distribute them as +separate works. But when you distribute the same sections as part of a whole +which is a work based on the Library, the distribution of the whole must be +on the terms of this License, whose permissions for other licensees extend +to the entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest your +rights to work written entirely by you; rather, the intent is to exercise +the right to control the distribution of derivative or collective works based +on the Library. + +In addition, mere aggregation of another work not based on the Library with +the Library (or with a work based on the Library) on a volume of a storage +or distribution medium does not bring the other work under the scope of this +License. + +3. You may opt to apply the terms of the ordinary GNU General Public License +instead of this License to a given copy of the Library. To do this, you must +alter all the notices that refer to this License, so that they refer to the +ordinary GNU General Public License, version 2, instead of to this License. +(If a newer version than version 2 of the ordinary GNU General Public License +has appeared, then you can specify that version instead if you wish.) Do not +make any other change in these notices. + +Once this change is made in a given copy, it is irreversible for that copy, +so the ordinary GNU General Public License applies to all subsequent copies +and derivative works made from that copy. + +This option is useful when you wish to copy part of the code of the Library +into a program that is not a library. + +4. You may copy and distribute the Library (or a portion or derivative of +it, under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you accompany it with the complete corresponding +machine-readable source code, which must be distributed under the terms of +Sections 1 and 2 above on a medium customarily used for software interchange. + +If distribution of object code is made by offering access to copy from a designated +place, then offering equivalent access to copy the source code from the same +place satisfies the requirement to distribute the source code, even though +third parties are not compelled to copy the source along with the object code. + +5. A program that contains no derivative of any portion of the Library, but +is designed to work with the Library by being compiled or linked with it, +is called a "work that uses the Library". Such a work, in isolation, is not +a derivative work of the Library, and therefore falls outside the scope of +this License. + +However, linking a "work that uses the Library" with the Library creates an +executable that is a derivative of the Library (because it contains portions +of the Library), rather than a "work that uses the library". The executable +is therefore covered by this License. Section 6 states terms for distribution +of such executables. + +When a "work that uses the Library" uses material from a header file that +is part of the Library, the object code for the work may be a derivative work +of the Library even though the source code is not. Whether this is true is +especially significant if the work can be linked without the Library, or if +the work is itself a library. The threshold for this to be true is not precisely +defined by law. + +If such an object file uses only numerical parameters, data structure layouts +and accessors, and small macros and small inline functions (ten lines or less +in length), then the use of the object file is unrestricted, regardless of +whether it is legally a derivative work. (Executables containing this object +code plus portions of the Library will still fall under Section 6.) + +Otherwise, if the work is a derivative of the Library, you may distribute +the object code for the work under the terms of Section 6. Any executables +containing that work also fall under Section 6, whether or not they are linked +directly with the Library itself. + +6. As an exception to the Sections above, you may also compile or link a "work +that uses the Library" with the Library to produce a work containing portions +of the Library, and distribute that work under terms of your choice, provided +that the terms permit modification of the work for the customer's own use +and reverse engineering for debugging such modifications. + +You must give prominent notice with each copy of the work that the Library +is used in it and that the Library and its use are covered by this License. +You must supply a copy of this License. If the work during execution displays +copyright notices, you must include the copyright notice for the Library among +them, as well as a reference directing the user to the copy of this License. +Also, you must do one of these things: + +a) Accompany the work with the complete corresponding machine-readable source +code for the Library including whatever changes were used in the work (which +must be distributed under Sections 1 and 2 above); and, if the work is an +executable linked with the Library, with the complete machine-readable "work +that uses the Library", as object code and/or source code, so that the user +can modify the Library and then relink to produce a modified executable containing +the modified Library. (It is understood that the user who changes the contents +of definitions files in the Library will not necessarily be able to recompile +the application to use the modified definitions.) + +b) Accompany the work with a written offer, valid for at least three years, +to give the same user the materials specified in Subsection 6a, above, for +a charge no more than the cost of performing this distribution. + +c) If distribution of the work is made by offering access to copy from a designated +place, offer equivalent access to copy the above specified materials from +the same place. + +d) Verify that the user has already received a copy of these materials or +that you have already sent this user a copy. + +For an executable, the required form of the "work that uses the Library" must +include any data and utility programs needed for reproducing the executable +from it. However, as a special exception, the source code distributed need +not include anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the operating +system on which the executable runs, unless that component itself accompanies +the executable. + +It may happen that this requirement contradicts the license restrictions of +other proprietary libraries that do not normally accompany the operating system. +Such a contradiction means you cannot use both them and the Library together +in an executable that you distribute. + +7. You may place library facilities that are a work based on the Library side-by-side +in a single library together with other library facilities not covered by +this License, and distribute such a combined library, provided that the separate +distribution of the work based on the Library and of the other library facilities +is otherwise permitted, and provided that you do these two things: + +a) Accompany the combined library with a copy of the same work based on the +Library, uncombined with any other library facilities. This must be distributed +under the terms of the Sections above. + +b) Give prominent notice with the combined library of the fact that part of +it is a work based on the Library, and explaining where to find the accompanying +uncombined form of the same work. + +8. You may not copy, modify, sublicense, link with, or distribute the Library +except as expressly provided under this License. Any attempt otherwise to +copy, modify, sublicense, link with, or distribute the Library is void, and +will automatically terminate your rights under this License. However, parties +who have received copies, or rights, from you under this License will not +have their licenses terminated so long as such parties remain in full compliance. + +9. You are not required to accept this License, since you have not signed +it. However, nothing else grants you permission to modify or distribute the +Library or its derivative works. These actions are prohibited by law if you +do not accept this License. Therefore, by modifying or distributing the Library +(or any work based on the Library), you indicate your acceptance of this License +to do so, and all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + +10. Each time you redistribute the Library (or any work based on the Library), +the recipient automatically receives a license from the original licensor +to copy, distribute, link with or modify the Library subject to these terms +and conditions. You may not impose any further restrictions on the recipients' +exercise of the rights granted herein. You are not responsible for enforcing +compliance by third parties to this License. + +11. If, as a consequence of a court judgment or allegation of patent infringement +or for any other reason (not limited to patent issues), conditions are imposed +on you (whether by court order, agreement or otherwise) that contradict the +conditions of this License, they do not excuse you from the conditions of +this License. If you cannot distribute so as to satisfy simultaneously your +obligations under this License and any other pertinent obligations, then as +a consequence you may not distribute the Library at all. For example, if a +patent license would not permit royalty-free redistribution of the Library +by all those who receive copies directly or indirectly through you, then the +only way you could satisfy both it and this License would be to refrain entirely +from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any patents +or other property right claims or to contest validity of any such claims; +this section has the sole purpose of protecting the integrity of the free +software distribution system which is implemented by public license practices. +Many people have made generous contributions to the wide range of software +distributed through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing to +distribute software through any other system and a licensee cannot impose +that choice. + +This section is intended to make thoroughly clear what is believed to be a +consequence of the rest of this License. + +12. If the distribution and/or use of the Library is restricted in certain +countries either by patents or by copyrighted interfaces, the original copyright +holder who places the Library under this License may add an explicit geographical +distribution limitation excluding those countries, so that distribution is +permitted only in or among countries not thus excluded. In such case, this +License incorporates the limitation as if written in the body of this License. + +13. The Free Software Foundation may publish revised and/or new versions of +the Library General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to address +new problems or concerns. + +Each version is given a distinguishing version number. If the Library specifies +a version number of this License which applies to it and "any later version", +you have the option of following the terms and conditions either of that version +or of any later version published by the Free Software Foundation. If the +Library does not specify a license version number, you may choose any version +ever published by the Free Software Foundation. + +14. If you wish to incorporate parts of the Library into other free programs +whose distribution conditions are incompatible with these, write to the author +to ask for permission. For software which is copyrighted by the Free Software +Foundation, write to the Free Software Foundation; we sometimes make exceptions +for this. Our decision will be guided by the two goals of preserving the free +status of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + +NO WARRANTY + +15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR +THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE +STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY +"AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE +OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE +THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE +OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA +OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES +OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH +HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +END OF TERMS AND CONDITIONS + +How to Apply These Terms to Your New Libraries + +If you develop a new library, and you want it to be of the greatest possible +use to the public, we recommend making it free software that everyone can +redistribute and change. You can do so by permitting redistribution under +these terms (or, alternatively, under the terms of the ordinary General Public +License). + +To apply these terms, attach the following notices to the library. It is safest +to attach them to the start of each source file to most effectively convey +the exclusion of warranty; and each file should have at least the "copyright" +line and a pointer to where the full notice is found. + + one line to give the library's name and an idea of what it does. + Copyright (C) year name of author + +This library is free software; you can redistribute it and/or modify it under +the terms of the GNU Library General Public License as published by the Free +Software Foundation; either version 2 of the License, or (at your option) +any later version. + +This library is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for +more details. + +You should have received a copy of the GNU Library General Public License +along with this library; if not, write to the Free Software Foundation, Inc., +51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your school, +if any, to sign a "copyright disclaimer" for the library, if necessary. Here +is a sample; alter the names: + +Yoyodyne, Inc., hereby disclaims all copyright interest in +the library `Frob' (a library for tweaking knobs) written +by James Random Hacker. + +signature of Ty Coon, 1 April 1990 +Ty Coon, President of Vice + +That's all there is to it! diff --git a/LICENSES/LicenseRef-KDE-Accepted-GPL.txt b/LICENSES/LicenseRef-KDE-Accepted-GPL.txt new file mode 100644 index 0000000..60a2dff --- /dev/null +++ b/LICENSES/LicenseRef-KDE-Accepted-GPL.txt @@ -0,0 +1,12 @@ +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License as +published by the Free Software Foundation; either version 3 of +the license or (at your option) at any later version that is +accepted by the membership of KDE e.V. (or its successor +approved by the membership of KDE e.V.), which shall act as a +proxy as defined in Section 14 of version 3 of the license. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. diff --git a/LICENSES/MIT.txt b/LICENSES/MIT.txt new file mode 100644 index 0000000..2071b23 --- /dev/null +++ b/LICENSES/MIT.txt @@ -0,0 +1,9 @@ +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/LICENSES/X11.txt b/LICENSES/X11.txt new file mode 100644 index 0000000..6b41092 --- /dev/null +++ b/LICENSES/X11.txt @@ -0,0 +1,13 @@ +X11 License + +Copyright (C) 1996 X Consortium + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of the X Consortium shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from the X Consortium. + +X Window System is a trademark of X Consortium, Inc. diff --git a/Mainpage.dox b/Mainpage.dox new file mode 100644 index 0000000..e8810f3 --- /dev/null +++ b/Mainpage.dox @@ -0,0 +1,902 @@ +/** +\mainpage Okular, the unified document viewer + +\section okular_overview Overview + +- \ref okular_history +- \ref okular_design +- \ref okular_generators +- Website + +\authors Tobias König + +\licenses \lgpl + +\page okular_history Historical background + +Okular is the successor of kpdf, the PDF viewer in KDE 3. +kpdf was refactored and extended in a Google Summer of Code project to support not only +viewing PDF but also other types of document, e.g. PostScript files, images and many more. + +\page okular_design The Design of Okular + +To support a wide range of document formats, Okular was designed in a modular way, so you +have the following components: + + \li \ref Shell + \li \ref Okular::Part + \li \ref Okular::Document Class + \li \ref Okular::Generator + +The shell is the application which is started by the user as standalone application and +which embeds the part. The part contains all GUI elements of Okular, for example the +content list, the bookmark manager, menus and the graphical view of the document class. +The document class is an abstract presentation of the document content. It contains information +about every page of the document, its size, orientation etc. + +But somehow the document class must retrieve these information from the various types of documents. +This is the task of the Generators. Generators are plugins which are loaded at runtime and which +have the knowledge about the internal structure of the different document types. +They extract the needed information from the documents, convert the data into a common format and +pass them to the document class. + +Currently Generators for the following document types are available: + + \li Portable Document Format (PDF) + \li PostScript + \li Device Independent Format (DVI) + \li DeJaVu Format + \li Comic Books + \li Images (JPEG, PNG, GIF, and many more) + \li TIFF Image Format + \li FictionBook Format + \li Plucker Format + \li OpenDocument Text Format + \li Microsoft's XML Document Format + \li Markdown Format + +Now the questions is how can these various formats be represented in a unified way? +Okular provides features like rotation, text search and extraction, zooming and many more, so how +does it match with the different capabilities of the formats? + +\section okular_design_basics Basics of Generators + +Lets start with the smallest commonness of all document formats: + + \li they have pages (one ore more) of a given size + \li pages can be represented as pictures + +So the first thing every Generator must support is to return the number of pages of a document. +Furthermore it must be able to return the picture of a page at a requested size. + +For vector based document formats (e.g. PDF or PostScript) the Generators can render the page for +the requested size, for static documents formats (e.g. images), the Generator must scale the +content according to the requested size, so when you zoom a page in Okular, the Generators are +just asked to return the page for the zoomed size. + +When the document class has retrieved the page pictures from the Generators, it can do further +image manipulation on it, for example rotating them or applying fancy effects. + +\section okular_design_text_support Generators with Text support + +Some document formats however support more functionality than just representing a page as an image. +PDF, PostScript, DVI and DeJaVu for example contains a machine readable representation of the +included text. For those document formats Okular provides additional features like text search, +text extraction and text selection. + +How is that supported by the Generators? + +To access the text from the documents the generators must extract it somehow and make it available +to the document class. However for the text selection feature the document class must also know where +the extracted text is located on the page. For a zoom factor of 100% the absolute position of +the text in the document can be used, however for larger or smaller zoom factors the position +must be recalculated. To make this calculation as easy as possible, the Generators return an +abstract representation (\ref Okular::TextPage) of the text which includes every character together +with its normalized position. Normalized means that the width and height of the page is +in the range of 0 to 1, so a character in the middle of the page is at x=0.5 and y=0.5. + +So when you want to know where this character is located on the page which is zoomed at 300%, you just +multiply the position by 3 * page width (and page height) and get the absolute position for this zoom level. + +This abstract text representation also allows an easy rotation of the coordinates, so that text selection +is available on rotated pages as well. + +\section okular_design_meta_information Meta Information + +Most documents have additional meta information: + + \li Name of the author + \li Date of creation + \li Version number + \li Table of Content + \li Bookmarks + \li Annotations + +These information can be retrieved by the generator as well and will be shown by Okular. + +\page okular_generators How to implement a Generator + +The power of Okular is its extensibility by Generator plugins. This section will describe how to +implement your own plugin for a new document type. + + \li \ref okular_generators_basic + \li \ref okular_generators_with_text + \li \ref okular_generators_threaded + \li \ref okular_generators_extended + +\section okular_generators_basic A Basic Generator + +To provide a short overview and don't reimplementing an existing generator we'll work on a Generator +for the Magic document format, a non existing, pure virtual format :) + +Lets assume we have some helper class (MagicDocument) which provides the following functionality for this +document format: + + \li Loading a document + \li Retrieving number of pages + \li Returning a fixed size picture representation of a page + +The class API looks like this + +\code +class MagicDocument +{ + public: + MagicDocument(); + ~MagicDocument(); + + bool loadDocument( const QString &fileName ); + + int numberOfPages() const; + + QSize pageSize( int pageNumber ) const; + + QImage pictureOfPage( int pageNumber ) const; + + private: + ... +}; +\endcode + +The methods should be self explaining, loadDocument() loads a document file and returns false on error, +numberOfPages() returns the number of pages, pageSize() returns the size of the page and pictureOfPage() +returns the picture representation of the page. + +Our first version of our Generator is a basic one which just provides page pictures to the document class. + +The API of the Generator looks like the following: + +\code +#include "magicdocument.h" + +#include + +class MagicGenerator : public Okular::Generator +{ + public: + MagicGenerator( QObject *parent, const QVariantList &args ); + ~MagicGenerator(); + + bool loadDocument( const QString &fileName, QList &pages ); + + bool canGeneratePixmap() const; + void generatePixmap( Okular::PixmapRequest *request ); + + protected: + bool doCloseDocument(); + + private: + MagicDocument mMagicDocument; +}; +\endcode + +The implementation of the Generator looks like this: + +\code +#include + +#include "magicgenerator.h" + +OKULAR_EXPORT_PLUGIN(MagicGenerator, "libokularGenerator_magic.json") + +MagicGenerator::MagicGenerator( QObject *parent, const QVariantList &args ) + : Okular::Generator( parent, args ) +{ +} + +MagicGenerator::~MagicGenerator() +{ +} + +bool MagicGenerator::loadDocument( const QString &fileName, QList &pages ) +{ + if ( !mMagicDocument.loadDocument( fileName ) ) { + emit error( i18n( "Unable to load document" ), -1 ); + return false; + } + + pagesVector.resize( mMagicDocument.numberOfPages() ); + + for ( int i = 0; i < mMagicDocument.numberOfPages(); ++i ) { + const QSize size = mMagicDocument.pageSize( i ); + + Okular::Page * page = new Okular::Page( i, size.width(), size.height(), Okular::Rotation0 ); + pages[ i ] = page; + } + + return true; +} + +bool MagicGenerator::doCloseDocument() +{ + return true; +} + +bool MagicGenerator::canGeneratePixmap() const +{ + return true; +} + +void MagicGenerator::generatePixmap( Okular::PixmapRequest *request ) +{ + QImage image = mMagicDocument.pictureOfPage( request->pageNumber() ); + + image = image.scaled( request->width(), request->height(), Qt::IgnoreAspectRatio, Qt::SmoothTransformation ); + + request->page()->setPixmap( request->id(), new QPixmap( QPixmap::fromImage( image ) ) ); + + signalPixmapRequestDone( request ); +} + +\endcode + +As you can see implementing a basic Generator is quite easy. The loadDocument() method opens the document file +and extracts the number of pages. For every page in the document it adds an Okular::Page object to the pages vector +which is passed in as method argument. Each page is initialized with its page number, width, height and initial rotation. +These page objects will be stored in the document object and act as a container for the picture representation +of the pages. This code is the same for nearly every Generator. On an failure the error() signal can be emitted +to inform the user about the issue. This code is the same for nearly every Generator. + +In the doCloseDocument() method you should close the document and free all resources you have allocated in openDocument(). + +Now we come to the picture creation methods. The canGeneratorPixmap() method returns whether the Generator is currently +able to handle a new pixmap generation request. For a simple Generator like our one that's always the case as it works +linear, however a multithreaded Generator might return false here if it is still waiting for one of its working +threads to finish. In this case the document class will try to request the pixmap later again. + +The generatePixmap() method does the actual fetching of the picture for a page. The page number, requested width and +height of the page is encapsulated in the passed Okular::PixmapRequest object. +So the task of the Generator is to create a pixmap of the requested page in the requested size and then store this +pixmap in the Okular::Page object which is associated with the page request. +When this task is finished, the Generator has to call signalPixmapRequestDone() with the page request object +as argument. This extra call is needed to allow the Generator to use signals and slots internally and create the +pixmap asynchronously. + +So now you have the code of a working Okular Generator, the next step is to tell Okular about the new plugin. +Like in other places in KDE that is done by .desktop files, which are installed to the services directory. + +Every Generator needs 1 .json, 3 .desktop files, and 1 .xml file: + + \li libokularGenerator_<name>.json + \li okularApplication_<name>.desktop + \li okular<name>.desktop + \li org.kde.mobile.okular_<name>.desktop + \li org.kde.okular-<name>.metainfo.xml + +where <name> should be the name of the document format. So for our Magic Document Generator we +create the following 4 files: + + \li libokularGenerator_magic.json + \li okularApplication_magic.desktop + \li okularMagic.desktop + \li org.kde.mobile.okular_magic.desktop + \li org.kde.okular-magic.metainfo.xml + +where libokularGenerator_magic.json has the following content something like this + +\verbatim +{ + "KPlugin": { + "Authors": [ + { + "Email": "author@hosting.suffix", + "Name": "Proud Author", + } + ], + "Copyright": "© 2042 Proud Author", + "Id": "okular_magic", + "License": "GPL", + "MimeTypes": [ + "text/magic", + "text/x-magic" + ], + "Name": "Magic Backend", + "Version": "0.1.0" + }, + "X-KDE-Priority": 1, + "X-KDE-okularAPIVersion": 1, + "X-KDE-okularHasInternalSettings": true +} +\endverbatim + +The last five fields has the special meaning to Okular + + \li MimeType The mimetype or list of mimetypes of the supported document format(s) + \li X-KDE-Priority When multiple Generators for the same mimetype exists, the one with the highest priority is used + \li X-KDE-okularAPIVersion The version of the Generator Plugin API ('1' currently) + \li X-KDE-okularHasInternalSettings Is 'true' when the Generator provides configuration dialogs + +The first .desktop file has the following content: + +\verbatim +[Desktop Entry] +MimeType=application/x-magic; +Terminal=false +Name=okular +GenericName=Document Viewer +Exec=okular %U +Icon=okular +Type=Application +InitialPreference=7 +Categories=Qt;KDE;Graphics;Viewer; +NoDisplay=true +X-KDE-Keywords=Magic +\endverbatim + +You can use the file as it is, you just have to adapt the mimetype. This file is needed to allow Okular +to handle multiple mimetypes. + +The second .desktop file looks like this: + +\verbatim +[Desktop Entry] +Icon=okular +Name=okular +X-KDE-ServiceTypes=KParts/ReadOnlyPart +X-KDE-Library=okularpart +Type=Service +MimeType=application/x-magic; +\endverbatim + +where + + \li X-KDE-Library The name of the plugin library + +You can use the file as it is as well, you just have to adapt the mimetype. This file is needed to allow +the Okular part to handle multiple mimetypes. + +The third .desktop file contains data for the mobile version + +\verbatim +[Desktop Entry] +MimeType=application/x-magic; +Name=Reader +GenericName=Document viewer +Comment=Viewer for various types of documents +TryExec=kpackagelauncherqml -a org.kde.mobile.okular +Exec=kpackagelauncherqml -a org.kde.mobile.okular %u +Terminal=false +Icon=okular +Type=Application +Categories=Qt;KDE;Graphics;Office;Viewer; +InitialPreference=2 +NoDisplay=true +X-KDE-Keywords=Magic +\endverbatim + +And the last .xml file has the following content + +\verbatim + + + org.kde.okular-md + org.kde.okular.desktop + CC0-1.0 + GPL-2.0+ and GFDL-1.3 + Magic + Adds support for reading Magic documents + + application/magic + + https://okular.kde.org + +\endverbatim + +The last piece you need for a complete Generator is a CMakeLists.txt which compiles and installs the +Generator. Our CMakeLists.txt looks like the following: + +\verbatim +add_definitions(-DTRANSLATION_DOMAIN="okular_magic") + +macro_optional_find_package(Okular) + +include_directories( ${OKULAR_INCLUDE_DIR} ${KF6_INCLUDE_DIR} ${QT_INCLUDES} ) + +########### next target ############### + +set( okularGenerator_magic_PART_SRCS generator_magic.cpp ) + +target_link_libraries( okularGenerator_magic PRIVATE okularcore KF6::I18n KF6::KIOCore ) + +install( TARGETS okularGenerator_magic DESTINATION ${PLUGIN_INSTALL_DIR} ) + +########### install files ############### + +install( FILES okularMagic.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR} ) +install( PROGRAMS okularApplication_magic.desktop org.kde.mobile.okular_magic.desktop DESTINATION ${KDE_INSTALL_APPDIR} ) +install( FILES org.kde.okular-magic.metainfo.xml DESTINATION ${KDE_INSTALL_METAINFODIR} ) +\endverbatim + +The macro_optional_find_package(Okular) call is required to make the ${OKULAR_INCLUDE_DIR} and ${OKULAR_LIBRARIES} +variables available. + +Now you can compile the Generator plugin and install it. After a restart of Okular the new plugin is available +and you can open Magic documents. + +\section okular_generators_with_text A Generator with TextPage support + +In this section we want to extend our Generator to support text search, text extraction and selection +as well. As mentioned in \ref okular_design_text_support, the Generator must provide an Okular::TextPage +object for every page which contains readable text. + +Since we use the helper class MagicDocument to read the data from the document we have to extend it first, +so the new API looks as the following: + +\code +class MagicDocument +{ + public: + MagicDocument(); + ~MagicDocument(); + + bool loadDocument( const QString &fileName ); + + int numberOfPages() const; + + QSize pageSize( int pageNumber ) const; + + QImage pictureOfPage( int pageNumber ) const; + + class TextInfo + { + public: + typedef QList List; + + QChar character; + qreal xPos; + qreal yPos; + qreal width; + qreal height; + }; + + TextInfo::List textOfPage( int pageNumber ); + + private: + ... +}; +\endcode + +MagicDocument has the new internal class TextInfo now, which contains a character and +its absolute position on a page. Furthermore MagicDocument provides a method textOfPage() +which returns a list of all TextInfo objects for a page. + +That's really an optimistic API, in reality it is sometimes quite hard to find out +the position of single characters in a document format. + +With the extension of our helper class we can continue on extending our Generator now: + +\code +#include "magicdocument.h" + +#include + +class MagicGenerator : public Okular::Generator +{ + public: + MagicGenerator( QObject *parent, const QVariantList &args ); + ~MagicGenerator(); + + bool loadDocument( const QString &fileName, QList &pages ); + + bool canGeneratePixmap() const; + void generatePixmap( Okular::PixmapRequest *request ); + + virtual bool canGenerateTextPage() const; + virtual void generateTextPage( Okular::Page *page, enum Okular::GenerationType type = Okular::Synchronous ); + + protected: + bool doCloseDocument(); + + private: + MagicDocument mMagicDocument; +}; +\endcode + +We have extended the MagicGenerator class by two methods canGenerateTextPage() and generateTextPage(). +The first method is equal to canGeneratePixmap(), it returns whether the Generator is currently able to +handle a new text page generation request. For linear Generators that should be always the case, however +when the generation is done in a separated worker thread, this method might return false. +In this case the document class will try to request the text page later again. + +The second method will generate the Okular::TextPage object for the passed page. Depending on the capabilities +of the Generator and the passed type parameter that is done synchronously or asynchronously. + +Let us take a look at the implementation of these methods in our MagicGenerator: + +\code +#include + +... + +MagicGenerator::MagicGenerator( QObject *parent, const QVariantList &args ) + : Okular::Generator( parent, args ) +{ + setFeature( TextExtraction ); +} + +bool MagicGenerator::canGenerateTextPage() const +{ + return true; +} + +void MagicGenerator::generateTextPage( Okular::Page *page, enum Okular::GenerationType ) +{ + MagicDocument::TextInfo::List characters = mMagicDocument.textOfPage( page->number() ); + if ( characters.isEmpty() ) + return; + + Okular::TextPage *textPage = new Okular::TextPage; + for ( int i = 0; i < characters.count(); ++i ) { + qreal left = characters[ i ].xPos / page->width(); + qreal top = characters[ i ].yPos / page->height(); + qreal right = (characters[ i ].xPos + characters[ i ].width) / page->width(); + qreal bottom = (characters[ i ].yPos + characters[ i ].height) / page->height(); + + textPage->append( characters[ i ].character, + new Okular::NormalizedRect( left, top, right, bottom ) ); + } + + page->setTextPage( textPage ); +} +\endcode + +As you can see the generateTextPage method just iterates over the list of characters returned +by our MagicDocument helper class and adds the character and its normalized bounding rect to +the Okular::TextPage object. At the end the text page is assigned to the page. We don't pay +attention to the GenerationType parameter here, if your Generator want to use threads, it should +check here whether the request shall be done asynchronously or synchronously and start the generation +according to that. Additionally we have to tell the Okular::Generator base class that we support +text handling by setting this flag in the constructor. + +In this state we can now search, select and extract text from Magic documents. + +\section okular_generators_threaded A Generator with Thread support + +Sometimes it makes sense to do the generation of page pictures or text pages asynchronously to +improve performance and don't blocking the user interface. This can be done in two ways, either +by using signals and slots or by using threads. Both have there pros and cons: + +
    +
  • Signals and Slots
  • +
      +
    • Pro: Can be used with backend libraries which are not thread safe
    • +
    • Con: Sometime difficult to implement
    • +
    +
  • Threads
  • +
      +
    • Pro: Easy to implement as you can make synchronous calls to the backend libraries
    • +
    • Con: Backend libraries must be thread safe and you must prevent race conditions by using mutexes
    • +
    +
+ +The signal and slots approach can be achieved with a normal Generator by calling Okular::Generator::signalPixmapRequestDone() +from a slot after pixmap generation has been finished. + +When using threads you should use a slightly different API, which hides most of the thread usage, to make +implementing as easy as possible. + +Let's assume the pictureOfPage() and textOfPage methods in our MagicDocument helper class are thread safe, +so we can use them in a multithreaded environment. +So nothing prevents us from changing the MagicGenerator to use threads for better performance. + +The new MagicGenerator API looks like the following: + +\code +#include "magicdocument.h" + +#include + +class MagicGenerator : public Okular::Generator +{ + public: + MagicGenerator( QObject *parent, const QVariantList &args ); + ~MagicGenerator(); + + bool loadDocument( const QString &fileName, QList &pages ); + + protected: + bool doCloseDocument(); + + virtual QImage image( Okular::PixmapRequest *request ); + + virtual Okular::TextPage* textPage( Okular::Page *page ); + + private: + MagicDocument mMagicDocument; +}; +\endcode + +As you can see the canGeneratePixmap() generatePixmap(), canGenerateTextPage() and generateTextPage() methods have +been removed and replaced by the image() and textPage() methods. + +Before explaining why, we'll take a look at the implementation: + +\code + +MagicGenerator::MagicGenerator( QObject *parent, const QVariantList &args ) + : Okular::Generator( parent, args ) +{ + setFeature( TextExtraction ); + setFeature( Threaded ); +} + +QImage MagicGenerator::image( Okular::PixmapRequest *request ) +{ + QImage image = mMagicDocument.pictureOfPage( request->pageNumber() ); + + return image.scaled( request->width(), request->height(), Qt::IgnoreAspectRatio, Qt::SmoothTransformation ); +} + +Okular::TextPage* textPage( Okular::Page *page ) +{ + MagicDocument::TextInfo::List characters = mMagicDocument.textOfPage( page->number() ); + if ( characters.isEmpty() ) + return 0; + + Okular::TextPage *textPage = new Okular::TextPage; + for ( int i = 0; i < characters.count(); ++i ) { + qreal left = characters[ i ].xPos / page->width(); + qreal top = characters[ i ].yPos / page->height(); + qreal right = (characters[ i ].xPos + characters[ i ].width) / page->width(); + qreal bottom = (characters[ i ].yPos + characters[ i ].height) / page->height(); + + textPage->append( characters[ i ].character, + new Okular::NormalizedRect( left, top, right, bottom ) ); + } + + return textPage; +} +\endcode + +So the first obviously thing is that both methods return a value instead of modifying the page directly. +The reason for this is that both methods are executed in its own thread, so the code executed in them can +block as long as it wants, it won't block the GUI anyway. Additionally we have to tell the Okular::Generator +base class that we can handle threads by setting the flag in the constructor. + +With only a small change we made our MagicGenerator multithreaded now! + +\section okular_generators_extended An Extended Generator + +Now we want to create a new generator with some additional functionality: + + \li Support for document information (author, creation date etc.) + \li Support for a table of content + \li Support for printing the document + \li Support for exporting the document as text + +The new Generator shall be able to handle HTML documents. We choose this format as example, because +we can use QTextDocument to load, render and print a HTML page, so a lot of code can be reused. + +The API of our HTMLGenerator looks like the following: + +\code +#include + +#include + +class HTMLGenerator : public Okular::Generator +{ + public: + HTMLGenerator( QObject *parent, const QVariantList &args ); + ~HTMLGenerator(); + + bool loadDocument( const QString &fileName, QList &pages ); + + bool canGeneratePixmap() const; + void generatePixmap( Okular::PixmapRequest *request ); + + virtual Okular::DocumentInfo generateDocumentInfo( const QSet &keys ) const; + + virtual const Okular::DocumentSynopsis* generateDocumentSynopsis(); + + virtual bool print( KPrinter &printer ); + + virtual Okular::ExportFormat::List exportFormats() const; + + virtual bool exportTo( const QString &fileName, const Okular::ExportFormat &format ); + + protected: + bool doCloseDocument(); + + private: + QTextDocument *mTextDocument; + Okular::DocumentInfo mDocumentInfo; + Okular::DocumentSynopsis mDocumentSynopsis; +}; +\endcode + +The Generator doesn't support text search and selection, as the code would be quite complex, we'll show +how to do it in the next chapter (not yet written) anyway. + +As you can see we have 5 new methods in the class: + + \li generateDocumentInfo() Creates an Okular::DocumentInfo (which is in fact a QDomDocument) + which contains document information like author, creation time etc. + \li generateDocumentSynopsis() Creates an Okular::DocumentSynopsis (which is a QDomDocument as well) + which contains the table of content. + \li print() Prints the document to the passed printer. + \li exportFormats() Returns the supported export formats. + \li exportTo() Exports the document to the given file in the given format. + +Now that you know what the methods are supposed to do, let's take a look at the implementation: + +\code +#include +#include +#include + +#include +#include + +#include "htmlgenerator.h" + +#include + +OKULAR_EXPORT_PLUGIN(HTMLGenerator, "libokularGenerator_html.json") + +HTMLGenerator::HTMLGenerator( QObject *parent, const QVariantList &args ) + : Okular::Generator( parent, args ), + mTextDocument( 0 ) +{ +} + +HTMLGenerator::~HTMLGenerator() +{ + delete mTextDocument; +} + +bool HTMLGenerator::loadDocument( const QString &fileName, QList &pages ) +{ + QFile file( fileName ); + if ( !file.open( QIODevice::ReadOnly ) ) { + emit error( i18n( "Unable to open file" ), -1 ); + return false; + } + + const QString data = QString::fromUtf8( file.readAll() ); + + file.close(); + + mTextDocument = new QTextDocument; + mTextDocument->setHtml( data ); + mTextDocument->setPageSize( QSizeF( 600, 800 ) ); + + pages.resize( mTextDocument->pageCount() ); + + for ( int i = 0; i < mTextDocument->pageCount(); ++i ) { + Okular::Page * page = new Okular::Page( i, 600, 800, Okular::Rotation0 ); + pages[ i ] = page; + } + + mDocumentInfo.set( "author", "Tobias Koenig", i18n( "Author" ) ); + mDocumentInfo.set( "title", "The Art of Okular Plugin Development", i18n( "Title" ) ); + + Okular::DocumentViewport viewport = ... // get the viewport of the chapter + + QDomElement item = mDocumentSynopsis.createElement( "Chapter 1" ); + item.setAttribute( "Viewport", viewport.toString() ); + mDocumentSynopsis.appendChild( item ); + + viewport = ... // get the viewport of the subchapter + + QDomElement childItem = mDocumentSynopsis.createElement( "SubChapter 1.1" ); + childItem.setAttribute( "Viewport", viewport.toString() ); + item.appendChild( childItem ); + + return true; +} + +bool HTMLGenerator::doCloseDocument() +{ + delete mTextDocument; + mTextDocument = 0; + + return true; +} + +bool HTMLGenerator::canGeneratePixmap() const +{ + return true; +} + +void HTMLGenerator::generatePixmap( Okular::PixmapRequest *request ) +{ + QPixmap *pixmap = new QPixmap( request->width(), request->height() ); + pixmap->fill( Qt::white ); + + QPainter p; + p.begin( pixmap ); + + qreal width = request->width(); + qreal height = request->height(); + + p.scale( width / 600, height / 800 ); + + const QRect rect( 0, request->pageNumber() * 800, 600, 800 ); + p.translate( QPoint( 0, request->pageNumber() * -800 ) ); + d->mDocument->drawContents( &p, rect ); + p.end(); + + request->page()->setPixmap( request->id(), pixmap ); + + signalPixmapRequestDone( request ); +} + +Okular::DocumentInfo HTMLGenerator::generateDocumentInfo( const QSet &keys ) const +{ + return mDocumentInfo; +} + +const Okular::DocumentSynopsis* HTMLGenerator::generateDocumentSynopsis() +{ + if ( !mDocumentSynopsis.hasChildNodes() ) + return 0; + else + return &mDocumentSynopsis; +} + +bool HTMLGenerator::print( KPrinter &printer ) +{ + QPainter p( &printer ); + + for ( int i = 0; i < mTextDocument->pageCount(); ++i ) { + if ( i != 0 ) + printer.newPage(); + + QRect rect( 0, i * 800, 600, 800 ); + p.translate( QPoint( 0, i * -800 ) ); + mTextDocument->drawContents( &p, rect ); + } +} + +Okular::ExportFormat::List HTMLGenerator::exportFormats() const +{ + return Okular::ExportFormat::standardFormat( Okular::ExportFormat::PlainText ); +} + +bool HTMLGenerator::exportTo( const QString &fileName, const Okular::ExportFormat &format ) +{ + QFile file( fileName ); + if ( !fileName.open( QIODevice::WriteOnly ) ) { + emit error( i18n( "Unable to open file" ), -1 ); + return false; + } + + if ( format.mimeType()->name() == QLatin1String( "text/plain" ) ) + file.writeBlock( mTextDocument->toPlainText().toUtf8() ); + + file.close(); + + return true; +} +\endcode + +Let's take a closer look at the single methods. In the loadDocument() method we try to open the +passed file name and read all the content into the QTextDocument object. By calling +QTextDocument::setPageSize(), the whole document is divided into pages of the given size. +In the next step we create Okular::Page objects for every page in the QTextDocument and fill +the pages vector with them. + +Afterwards we fill our Okular::DocumentInfo object with data. Since extracting the HTML meta data +would need a lot of code we work with static data here. [to be continued] +*/ diff --git a/Messages.sh b/Messages.sh new file mode 100644 index 0000000..eca6880 --- /dev/null +++ b/Messages.sh @@ -0,0 +1,7 @@ +#!/bin/sh +$EXTRACTRC *.rc */*.rc >> rc.cpp || exit 11 +$EXTRACTRC $(find conf/ -name "*.ui") $(find core/ -name "*.ui") $(find shell/ -name "*.ui") $(find part/ -name "*.ui") $(ls . | grep -E '\.ui') >> rc.cpp || exit 12 +$EXTRACTATTR --attr=tool,name part/data/drawingtools.xml >> rc.cpp || exit 13 +$EXTRACTATTR --attr=tool,name part/data/tools.xml >> rc.cpp || exit 14 +$EXTRACTATTR --attr=tool,name part/data/toolsQuick.xml >> rc.cpp || exit 15 +$XGETTEXT $(find conf/ -name "*.cpp" -o -name "*.h") $(find core/ -name "*.cpp" -o -name "*.h") $(find gui/ -name "*.cpp" -o -name "*.h") $(find part/ -name "*.cpp" -o -name "*.h") $(find shell/ -name "*.cpp" -o -name "*.h") $(ls . | grep -E '\.cpp$') $(ls . | grep -E '\.h$') -o $podir/okular.pot diff --git a/Okular6Config.cmake.in b/Okular6Config.cmake.in new file mode 100644 index 0000000..df272ef --- /dev/null +++ b/Okular6Config.cmake.in @@ -0,0 +1,14 @@ +@PACKAGE_INIT@ + +include(CMakeFindDependencyMacro) + +find_dependency(Qt6Core @QT_REQUIRED_VERSION@) +find_dependency(Qt6PrintSupport @QT_REQUIRED_VERSION@) +find_dependency(Qt6Widgets @QT_REQUIRED_VERSION@) +find_dependency(KF6CoreAddons @KF6_REQUIRED_VERSION@) +find_dependency(KF6Config @KF6_REQUIRED_VERSION@) +find_dependency(KF6XmlGui @KF6_REQUIRED_VERSION@) + +@PACKAGE_SETUP_AUTOMOC_VARIABLES@ + +include("${CMAKE_CURRENT_LIST_DIR}/Okular6Targets.cmake") diff --git a/OkularConfigureChecks.cmake b/OkularConfigureChecks.cmake new file mode 100644 index 0000000..4b99fee --- /dev/null +++ b/OkularConfigureChecks.cmake @@ -0,0 +1,22 @@ + +option( + OKULAR_FORCE_DRM + "Forces okular to check for DRM to decide if you can copy/print protected pdf. (default=no)" + OFF +) +if (OKULAR_FORCE_DRM) + set(_OKULAR_FORCE_DRM 1) +else (OKULAR_FORCE_DRM) + set(_OKULAR_FORCE_DRM 0) +endif (OKULAR_FORCE_DRM) + +# Check whether malloc_trim(3) is supported. +include(CheckSymbolExists) +check_symbol_exists(malloc_trim "malloc.h" HAVE_MALLOC_TRIM) + +# at the end, output the configuration +configure_file( + ${CMAKE_CURRENT_SOURCE_DIR}/config-okular.h.cmake + ${CMAKE_CURRENT_BINARY_DIR}/config-okular.h +) + diff --git a/README.clang-format b/README.clang-format new file mode 100644 index 0000000..2121c2d --- /dev/null +++ b/README.clang-format @@ -0,0 +1,14 @@ +We introduced clang-format mandatory usage in July 2020. +If you want git blame to ignore the revision in which we did the mass change you can do + git config blame.ignoreRevsFile .git-blame-ignore-revs +on your clone + +To get the clang-format warnings locally instead at CI time we recommend you +to copy the hooks/pre-commit to your .git + cp hooks/pre-commit .git/hooks/ + +We are using clang-format 19 on CI. Unfortunately clang-format is not totally +compatible with other versions of itself. If CI gives you trouble but your local +clang-format disagrees, just apply the changes suggested by CI and then commit +with the --no-verify flag. If you get stuck, don't hesitate to ask the reviewer +to help and they will reformat your commits :) diff --git a/README.internals.png b/README.internals.png new file mode 100644 index 0000000000000000000000000000000000000000..8a9769f1b7205555bde44b158f648bdef972fe68 GIT binary patch literal 33807 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�dvn4L_%f1gDU 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 Oc`v0TSs`xx<^KR0K&v7E literal 0 HcmV?d00001 diff --git a/README.md b/README.md new file mode 100644 index 0000000..6907571 --- /dev/null +++ b/README.md @@ -0,0 +1,85 @@ +# Okular – Universal Document Viewer + +Okular can view and annotate documents of various formats, including PDF, Postscript, Comic Book, and various image formats. +It supports native PDF annotations. + +### Downloads + +For download and installation instructions, see https://okular.kde.org/download.php + +### User manual + +https://docs.kde.org/?application=okular&branch=stable5 + +### Bugs + +https://bugs.kde.org/buglist.cgi?product=okular + +Please report bugs on Bugzilla (https://bugs.kde.org/enter_bug.cgi?product=okular), and not on our GitLab instance (https://invent.kde.org). + +### Mailing list + +https://mail.kde.org/mailman/listinfo/okular-devel + +### Source code + +https://invent.kde.org/graphics/okular.git + +The Okular repository contains the source code for: + * the `okular` desktop application (the “shell”), + * the `okularpart` KParts plugin, + * the `okularkirigami` mobile application, + * several `okularGenerator_xyz` plugins, which provide backends for different document types. + +### Apidox + +https://api.kde.org/okular/html/index.html + +## Contributing + +Okular uses the merge request workflow. +Merge requests are required to run pre-commit CI jobs; please don’t push to the master branch directly. +See https://community.kde.org/Infrastructure/GitLab for an introduction. + +### Build instructions + +Okular can be built like many other applications developed by KDE. +See https://community.kde.org/Get_Involved/development for an introduction. + +If your build environment is set up correctly, you can also build Okular using CMake: + +```bash +git clone https://invent.kde.org/graphics/okular.git +cd okular +mkdir build +cd build +cmake -DCMAKE_INSTALL_PREFIX=/path/to/your/install/dir .. +make +make install +``` + +Okular also builds tests in the build tree. To run them, you have to run `make install` first. + +If you install Okular in a different path than your system install directory it is possible that you need to run + +```bash +source prefix.sh +``` + +so that the correct Okular instance and libraries are picked up. +Afterwards one can run `okular` inside the shell instance. +The source command is also required to run the tests manually. + +As stated above, Okular has various build targets. +Two of them are executables. +You can choose which executable to build by passing a flag to CMake: + +```bash +cmake -DCMAKE_INSTALL_PREFIX=/path/to/your/install/dir -DOKULAR_UI=desktop .. +``` +Available options are `desktop`, `mobile`, and `both`. + +### clang-format + +The Okular project uses clang-format to enforce source code formatting. +See [README.clang_format](https://invent.kde.org/graphics/okular/-/blob/master/README.clang-format) for more information. diff --git a/TODO b/TODO new file mode 100644 index 0000000..49925f1 --- /dev/null +++ b/TODO @@ -0,0 +1,274 @@ +TODO - okular +Legend: + ADD - ADDed (new feature) + CHG - CHanGed (existing behavior) + FIX - FIXed (bug or regression) + MRG - MeRGed (code from a branch or a patch) + +Bugs and wishes to close when moving okular to kdegraphics: +-> WISH 91146: Add capability to extract plain text from a pdf file. +-> WISH 91251: "Magic marker" tool for higlighting text +-> WISH 91809: kpdf cant fill in formulars +-> WISH 93416: support for pdf sticky notes +-> BUG 97869: kpdf fails to properly hide the context menu +-> WISH 99352: Cannot change orientation of pdf file +-> WISH 99787: kpdf needs to have a bookmark list +-> WISH 100341: first page at right, in two pages mode +-> WISH 102523: wish: if opening second file, file/open dir should be dirname($current_file) +-> WISH 102704: Handle gzipped and bzipped PDFs +-> WISH 102788: Current page number visible +-> WISH 103051: make notes on pdf files +-> BUG 106546: Search with "/" and ALT+TAB +-> WISH 107998: kpdf horizontal scroll bar +-> WISH 109346: ability to select everything on page(s) and use ctrl+a to select all (text) +-> BUG 110440: Almost all options in Find dialog are always disabled +-> WISH 111651: Usability: Make find-as-you-type widget more distinguishable +-> WISH 114648: An option to deny documents' fullscreen requests is desirable. +-> WISH 115557: Automatically detect and remove white page borders +-> WISH 117045: text search: continue backwards +-> WISH 117449: kpdf should read files from stdin with the - option +-> WISH 117805: Wish: Select pages like kghostview +-> WISH 118872: An option to read all the document with Kttsd +-> WISH 118938: No way to find out the page size(s) +-> WISH 119084: pdf attachment support: saving/opening attachments in pdf... +-> WISH 119455: use poppler library for kpdf +-> WISH 119919: make it possible to disable transition in presentation mode +-> WISH 122863: Show page numbers of chapters/bookmarks in contents tab +-> BUG 130123: kpdf text selection inconsistent with the rest of KDE +-> WISH 131045: Add context menu for URLs +-> WISH 132152: Usability: contents / pdfbookmarks panel is not accessible via keyboard only +-> WISH 134115: specifing to kpdf the first-opened page from command line +-> WISH 134646: remember (and restore) zoom per file not per app +-> WISH 136820: would like a reload button or menu item in KPDF +-> WISH 137905: command-line option for presentation mode +-> WISH 145345: goto page: update slider while editing page number + +In progress [working on]: +-> search: backward text search (BR117045) +-> various backends: fill about data information +-> gui: add config for gfx (yes/no) and text (yes/no/kde) antialias +-> core: provide a binary compatible okularcore library to extend the format capabilities +-> KPDF -> okular conversion of configuration & datafiles {configuration(done), document data(in progress), kwallet passwords(missing)} +-> inverse search (BR113191) + find with an usability expert the "best" way to activate such a link + provide a configuration widget to choose the editor and configure a custom one +-> toc: highlight the row of the current page (BR127358) + (check if there's a better way to do the highlighting - in case just edit TOCModel) +-> annotations: renderers in PagePainter (for the 6 annots) +-> annotations: handlers in PageView for WindowAnnots and others.. +-> annotations: creators in PageViewAnnotator (40% done) +-> annotations: framework (BR67300,BR62793) and tools (BR67300,BR91251) +-> annotations: add the annot pane (cool plz!) +-> rotate the whole document / individual pages (on screen/print?) (BR99352) +-> link: add a Okular::Anchor link class +-> pageview: update layout when toggling the 'ebook atyle alignment' + +More items (first items will enter 'In progress list' first): +-> annotations: "move" and "delete" tools +-> rethink which buttons show in the toolbar (BR139825) +-> annotations: configurabile tools in the toolbar (BR137903) +-> pageview: add vp damaging queue and flush function. add coolfx to smoothmove using damaging +-> annotations: toolbar: display tooltip only the first time +-> annotations: provide nice wizards. Make it easy to deliver/copy/move the xml files (by Uga) +-> GHNS: get hot new ebooks on the supported formats (pdf for now) (enrico) +-> pageview: add scrollbar marks for bookmarks (like kate) +-> pageview: change document viewport after mouse scrolling ended (not every scroll frame) + this will give better mvc consistancy +-> other info on pdfs properties: number of accessed times, time spent on pdf, ... +-> part: collapsing the left panel will hide it (activate hiding action) +-> preload: add a delay when forward loading pages +-> bookmarks: fastmarks (new bookmark concept with tab-like signs, shortcuts, etc) (BR +-> viewport restoring: sometimes it seems to restore the viewport a bit under where it was +-> core: Delay TOC (DocumentSynopsis) generation (and move it on thread) +-> core: add a way to handle "named xpdf links" in Okular::Action instead of resolving all + dests when displaying a page (speedups a lot generation of page with many links) +-> toolbar: move the toolbar to the top of pageview (left panel is really at the left of the toolbar) +-> thumbnailslist: clinking on highlighted rect should bring the viewport to that search result (BR98334) +-> Dom framework to cache document metadata. It should archive those types of data: + (NOTE: already Dom'ed object is marked with 'X') + - Synopsis will go there after 1st generation (so we can edit it too) + - Document info (after the 1st gen) + - Bookmarked pages + - Current Viewport and 10 history steps + - Edited pages (rotated/with_data for example) + - Overlay editing (highlighting/notations/etc..) + - Presentation related overrides (FS mode, individual / global transitions) + - ..more stuff.. but this isn't a problem, since a QDom is flexible by design + The Object will reside into the Document and must not be accessible by Observers in + a direct way. Dom format, relations to other classes and accessing must be specified + in a separated diagram or text file. + - Plus think at storing xml data to an external shared server.. something that + has to do with versioning data.. (shared annotations, bookmarks & co.) +-> add okular manual in PDF format loaded on the first startup or on menu->help->manual + this visually explains basic usage, mouse buttons functions & more.. +-> ADD: click over image allows "save image" [60% done (activerect of type image)] +-> bookview: 3d opengl widget for viewing the document as a real book (turning pages, etc..) +-> wallet: use asynchronous interface (to prevent ui-blocking) +-> restore a location from a given url (like http:/someurl?stringForViewport) (BR99240) +-> automatic online dictionaries / translators (BR80338) +-> sidebar: evaluate wether to make the left toolbox auto-hiding (kicker like) (BR94495) +-> add OCR for building TextPages out of pure graphical (aka scanned) pages +-> presentation: provide a pageX/totalPages indicator in addition to the circle one +-> presentation: implement missing transitions (6/11 done) (BR139284) +-> presentation: save a flag (to the xml) to open a pdf in presentation mode +-> presentation: wheel not visible on black. gradient appreciated on lighter backgrounds. +-> presentation: 2 pages per view, for users reading ebooks with wide screens. +-> goto 'logical' page (usually differs from pdf's page) (req. by Luca Burrelli) +-> move some document related features from part to the document (see find, goto dialog, ...) +-> tools: ruler (BR155737), measure: distance, perimeter, ?area?, color picker +-> export: export to other formats keeping formatting (PS is basically printing. PNG is easy too) +-> export: extract images (have a look at ImageOutputDev.cc and pdfimages.cc from xpdf (not in our xpdf sources)) +-> history as a toolbox child (collecting Doc's viewport changes notifications) +-> take care of TODOs in code +-> cleanup code and update README.png + +Icons needed: +- okular (ToolBAR): 1 continuous, 2 tied-pages, 3 Normal (not scroll only, it + performs other ops), 4 Zoom, 5 Select, 6 Annotation/Review +- okular (Edit Tools): text highlighter, line, polygon, ellipse, text underline +- COMMON (here in ToolBox): Toc, Annotations + +Done (newest features come first): +-> ADD: core: forms support (BR91809) +-> ADD: kspeech TTS interface. speech {document(BR118872) / page / selection} +-> CHG: thumbnails list: refactor to do internal rendering as pageview does +-> ADD: select more than one annotation in the annotation tree (BR155668) +-> ADD: text selection: select all (BR109346) +-> ADD: text selection in wordprocessor style (BR130123) +-> ADD: open gzipped and bzipped documents (BR102704) +-> ADD: thumbnailslist: show Viewport in a blended way, allowing to be dragged (BR135521) +-> CHG: async way to read the fonts, no more blocking properties dialog +-> CHG: use ThreadWeaver for the rotating jobs +-> ADD: save/restore the values of the form fields when closing/opening a documents +-> ADD: "dummy" mode for a very simple interface when the okular part is in eg printing preview +-> ADD: bookmarks: improved interface, with easy handling of the bookmarks of all the documents (BR99787,BR136113) +-> ADD: Reload action to force the reload of the current document (BR136820) +-> CHG: renamed Okular::Link to Okular::Action +-> ADD: presentation: add page counter and a widget to manually set pages on the top bar +-> ADD: basic support for Text and Line DjVu annotations +-> FIX: regression: popup context menu when using right button in selection mode (BR99315) +-> ADD: annotations: add config option for default name change +-> ADD: presentation: add a red pencil that creates ink annotations +-> CHG: support links with shapes different than a rectangle +-> ADD: export: give the generators the ability to export all the text to plain file (if supported), the PDF generator already use this (BR91146) +-> CHG: search: use shortcut for 'find next' action (not the default one) in find-ahead +-> CHG: use shortcuts for next and prev page even in presentation mode (by Tobias Koenig) +-> ADD: bookmarks: go to next/previous actions (showing in thumbnailslist rmb popup too) +-> CHG: open dialog: switch to directory where the already opened (local) file is +-> ADD: toc: add search bar (a 'prune on type' lineedit like in thumbnails widget) (BR99349) +-> FIX: kfile-plugins/pdf: provide internal support and rewrite that plugin (drops xpdf dependancy from kdegraphics) (by ktech) +-> CHG: core: abstract TextPage generation (the last xpdf dependant class!) +-> CHG: create a DocumentInfo structure for passing the font information from generators to the document +-> ADD: presentation: link following (BR98388) +-> ADD: add ebook-friendly alignment option, better layouting (BR100341) +-> FIX: random crash when closing kpdf with kapp->quit() (don't use Settings:: in destructors) +-> FIX: implement links for starting end exiting from presentation mode (pdf FullScreen, Close actions) +-> CHG: cursor wraps on screen for dragging the page/dynZooming +-> FIX: raised scaling performance by 10x times for typ usage, removed odd cases, speedups to viewScroll and dynZoom +-> ADD: annotations: complete xml storage/retrieval of internal annotations +-> CHG: page properties (bookmarks, annotations, ...) storage moved to Page class +-> ADD: sidebar: add shortcut for showing/hiding it (BR99316) +-> ADD: annotations: PDF1.6 reader (PDF's annotations -> our data structures) +-> ADD: Internal data structures for annotations handling. +-> FIX: rmb when no doc displayed to restore menu +-> ADD: Save zoom setting on exit +-> ADD: Put fonts used by the document on the properties dialog +-> ADD: partial implementation of XYZ links +-> ADD: google-like search on thumbnails +-> ADD: use kde wallet for storing passwords of protected files +*> The branch 'kpdf_annotations' was created at this point. [2005-Feb-12] +-> FIX: trigger redraw on 'filter text' on current page (need new highlight engine first) +-> ADD: Obey DRM is now a configuration option +-> FIX: fixed viewport saving/restoring (+performance fix) on presentation mode +-> FIX: leakfix when closing document while thread was running (no more leaks now) +-> FIX: direct hi-performance pixels manipulation for highlighting (instead of the obsoleted setRasterOp) +-> CHG: new search api. supports multiple searches at once, multiple highlights per page +-> ADD: pageView moves smoothly when searching / moving in history +-> ADD: better bookmark rendering in thumbnailslist (show 'clip overlay') +-> CHG: changes and cleanups in pageView's mouse handling functions +-> ADD: KTTSD simple support: speech selection using kspeech api via pure dcop (don't break compatibility) +-> CHG: right click and drag while in 'normal' mode changes to 'selection' mode and selects +-> FIX: complete valgrind check and leakfix (2 leaks were present) [27-Jan-04] +-> ADD: history, forward/back history actions, history links and xml storage (10 steps) +-> ADD: rmb popup on thumbnailslist (the popup shared with pageView: same behavior) +-> ADD: display 'current page' / 'total pages' with analog indicator, active labels, etc +-> CHG: Presentation mode is now Ctrl+Shift+p instead of F9 because it was colliding with Konqueror's toggle sidebar +-> FIX: various in memory unallocator, preload with single pages, pageview +-> FIX: optimized pageView (removed 1 waster req on start, lowered reqs) +-> FIX: memory unloading order and hard swap avoiding +-> CHG: open and open-recent buttons unified in Shell +-> CHG: lens icon for the find-ahead messages +-> ADD: page preloading +-> FIX: smarter memory management / prioritize queries +-> ADD: type ahead search in pageview (type '/' then the word to search..) (JakubS) +-> FIX: scroll page if the searched string is not visible +-> FIX: use a global Viewport over the document (linked views, real link following, location restoring, etc) +-> FIX: wrong zoom buttons order (BR74248) (check consistancy with kdvi/kviewshell/kghostview/.. (not konq)) +-> ADD: presentation: cursor modes: hidden, visible, hidden with delay (Tobias) +-> ADD: presentation: default transition which is used when no transition is defined in document (Tobias) +-> ADD: presentation: support for automatic advance and loop on last page (Tobias) +-> ADD: presentation: add additional presentation page to settings dialog (Tobias) +-> CHG: presentation: the round wheel indicator can be clicked to change page +-> FIX: layout margins on pageView +-> ADD: restore the last active page when a file is opened again +-> ADD: Save bookmarks into a file so you they get recovered when opening the same file again (Albert) +-> FIX: searchline back to work +-> CHG: DocumentInfo is now a DomTree and the properties dialog is dynamically generated (Tobias) +-> ADD: Presentation transitions are loaded from the pdf files as well as fullscreen state (Tobias) +*> Merged on HEAD on 2005-01-02 (The branch is frozen, development continues here) +-> FIX: Fix my update cursor FIX :-D +-> ADD: Make kpdf aware of Find and GoToPage actions +-> FIX: Update cursor correctly when a link moves to a page and the cursor is over a link on that page +-> ADD: Asynchronous PDF Generator implementation (for the user: faster UI, preloading, etc..) +-> FIX: Memory manager (free cache if needed, avoid disk swap and oom) +-> ADD: Presentation View (only the 'glitter' transition implemented for now) +-> FIX: FixPack1 [dyn_zoom repaints, initial panel width, zoom_lineedit focus proxy, searchwidget refactor{thumbs restoring on clear, buttons size, less code}, highlight bookmarked thumbnails] +-> FIX: Some fullScreen loving, if we are on fullscreen put an action on RMB menu ti get out of it, if we were on fullScreen mode on exit bring back correctly if we were also seeing toolbar or menubar +-> FIX: When in non continuous mode and scrolling up a page, set the viewport at the bottom of the page (Albert) +-> ADD: Show the window maximized when the user opens the program for the very first time (Albert) +-> ADD: Use 'Generators' as providers for contents generation +-> ADD: Add properties dialog (Albert) +-> ADD: Support for show/hide menubar in rmb menu, different from HEAD so that supports Konqueror too (Albert) +-> ADD: Watch File option (Albert) +-> ADD: import Marco Martin's "another kpdf icon" (kde-look: 16146) (Albert) +-> ADD: dynamic zoom with mid mouse button (click and drag up-down to zoom in-out) +-> FIX: merge select text & select gfx, two sections on the same pop-up menu +-> ADD: reading aids (inverted display, recolor, black/white, draw link border, draw image border) +-> FIX: zoom preserved when switching modes and flickerless drawing +-> ADD: Printing as PS instead of as image (Albert) +-> ADD: Remember page on session logout and put the document in it on session restore (Albert) +-> ADD: gfx capturing tool +-> ADD: composited renderer framework (in addition to a fast light one) +-> FIX: pageview repaint done internally (speed boost and reduced memory consumption) +-> ADD: KConfigXT settings framework and Accessibility config (acc. code mostly not done) +-> FIX: workaround for scrollview bug 1/2 (painting hidden widgets under certain circumstances) +-> ADD: zoom into a rect defined by mouse (aka zoom to window) +-> FIX: sheet rotation in landscape case +-> ADD: Some dcop functions (goToPage, openDocument and give # of pages) (Albert) +-> MRG: link following ('actionMovie' kind is missing) +-> ADD: text selection (rectangular blocks) in selection mode +-> ADD: autoscroll page with Shift+Up/Dn keys (exact konqueror's behavior) +-> CHG: remake single page mode +-> FIX: zoom buttons in sync with text +-> ADD: continuous mode +-> ADD: multiple pages per view (gui selects 1 or 2 ppv) +-> MRG: the option to open password protected files (from head) +-> MRG: the Table Of Contents (from head) +-> ADD: a 'search bar' with prune-as-you-type feature +-> MRG: Albert's search ported and implemented case sensitive +-> CHG: smart handling of pixmap using an Observer ID (thumbnails are gone, only pixmaps now) +-> FIX: some toolbar/menu changes +-> ADD: outline bottom and right edges (of pages) +-> FIX: centering pages in the view +-> FIX: kpdf output at 100% has exactly the same size as acroread now +-> CHG: qsplitter layouting +-> FIX: zooming works as expected (and added 'fit to page' too) +-> ADD: new go to page dialog +-> GHG: previews sorted by visible areas (prioritize items where the scrollbar is) +-> FIX: previews speedup: 50-100% +-> CHG: use local instead of X memory for thumbnails (..) +-> MRG: merge lots of kpdf_part and part (centralview) code (to simplify/cleanup) +*> The branch 'kpdf_experiments' was created at this point. Code refactoring started. +-> ADD: Completely use xpdf code for rendering that solves most font problems (Albert) +-> MRG: Replace xpdf version with lastest one (3.00) that supports PDF 1.5 (Albert) +-> newest added features are at the top of the list diff --git a/_clang-format b/_clang-format new file mode 100644 index 0000000..b60a6e6 --- /dev/null +++ b/_clang-format @@ -0,0 +1,70 @@ +--- +# SPDX-License-Identifier: MIT +# +# SPDX-FileCopyrightText: 2019 Christoph Cullmann +# SPDX-FileCopyrightText: 2019 Gernot Gebhard + + +# Style for C++ +Language: Cpp + +# base is WebKit coding style: https://webkit.org/code-style-guidelines/ +# below are only things set that diverge from this style! +BasedOnStyle: WebKit + +# enforce C++11 (e.g. for std::vector> +Standard: Cpp11 + +# 4 spaces indent +TabWidth: 4 + +# 3 * 80 wide lines +ColumnLimit: 240 + +# sort includes inside line separated groups +SortIncludes: true + +# break before braces on function, namespace and class definitions. +BreakBeforeBraces: Linux + +# CrlInstruction *a; +PointerAlignment: Right + +# horizontally aligns arguments after an open bracket. +AlignAfterOpenBracket: Align + +# align trailing comments +AlignTrailingComments: true + +# don't move all parameters to new line +AllowAllParametersOfDeclarationOnNextLine: false + +# no single line functions +AllowShortFunctionsOnASingleLine: None + +# always break before you encounter multi line strings +AlwaysBreakBeforeMultilineStrings: true + +# don't move arguments to own lines if they are not all on the same +BinPackArguments: false + +# don't move parameters to own lines if they are not all on the same +BinPackParameters: false + +# don't break binary ops +BreakBeforeBinaryOperators: None + +# format C++11 braced lists like function calls +Cpp11BracedListStyle: true + +# remove empty lines +KeepEmptyLinesAtTheStartOfBlocks: false + +# no namespace indentation to keep indent level low +NamespaceIndentation: None + +# we use template< without space. +SpaceAfterTemplateKeyword: false + +# macros for which the opening brace stays attached. +ForEachMacros: [ foreach, Q_FOREACH, BOOST_FOREACH, forever, Q_FOREVER, QBENCHMARK, QBENCHMARK_ONCE ] diff --git a/aboutdata.h b/aboutdata.h new file mode 100644 index 0000000..90cfa95 --- /dev/null +++ b/aboutdata.h @@ -0,0 +1,43 @@ +/* + SPDX-FileCopyrightText: 2007 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _ABOUTDATA_H_ +#define _ABOUTDATA_H_ + +#include + +#include "core/version.h" + +#include + +inline KAboutData okularAboutData() +{ + KAboutData about(QStringLiteral("okular"), + i18n("Okular"), + QStringLiteral(OKULAR_VERSION_STRING), + i18n("Okular, a universal document viewer"), + KAboutLicense::GPL, + i18n("(C) 2002 Wilco Greven, Christophe Devriese\n" + "(C) 2004-2005 Enrico Ros\n" + "(C) 2005 Piotr Szymanski\n" + "(C) 2004-2017 Albert Astals Cid\n" + "(C) 2006-2009 Pino Toscano"), + QString(), + QStringLiteral("https://okular.kde.org")); + + about.addAuthor(i18n("Pino Toscano"), i18n("Former maintainer"), QStringLiteral("pino@kde.org")); + about.addAuthor(i18n("Tobias Koenig"), i18n("Lots of framework work, FictionBook backend and former ODT backend"), QStringLiteral("tokoe@kde.org")); + about.addAuthor(i18n("Albert Astals Cid"), i18n("Developer"), QStringLiteral("aacid@kde.org")); + about.addAuthor(i18n("Piotr Szymanski"), i18n("Created Okular from KPDF codebase"), QStringLiteral("djurban@pld-dc.org")); + about.addAuthor(i18n("Enrico Ros"), i18n("KPDF developer"), QStringLiteral("eros.kde@email.it")); + about.addCredit(i18n("Eugene Trounev"), i18n("Annotations artwork"), QStringLiteral("eugene.trounev@gmail.com")); + about.addCredit(i18n("Jiri Baum - NICTA"), i18n("Table selection tool"), QStringLiteral("jiri@baum.com.au")); + about.addCredit(i18n("Fabio D'Urso"), i18n("Annotation improvements"), QStringLiteral("fabiodurso@hotmail.it")); + + return about; +} + +#endif diff --git a/autotests/CMakeLists.txt b/autotests/CMakeLists.txt new file mode 100644 index 0000000..9da8c38 --- /dev/null +++ b/autotests/CMakeLists.txt @@ -0,0 +1,167 @@ +add_definitions( -DKDESRCDIR="${CMAKE_CURRENT_SOURCE_DIR}/" ) + +include_directories(${CMAKE_CURRENT_BINARY_DIR}/..) + +macro(add_conf_unittest _source) + set(_test ${_source} ../part/editdrawingtooldialog.cpp) + get_filename_component(_name ${_source} NAME_WE) + add_executable( ${_name} ${_test} ) + add_test( NAME ${_name} COMMAND ${_name} ) + ecm_mark_as_test(${_name}) + target_link_libraries( ${_name} + Qt6::Test + Qt6::Widgets + Qt6::Xml + KF6::I18n + KF6::Completion + KF6::WidgetsAddons + ) +endmacro () + +add_conf_unittest(editdrawingtooldialogtest.cpp) + +ecm_add_test(shelltest.cpp ../shell/shellutils.cpp + TEST_NAME "shelltest" + LINK_LIBRARIES Qt6::Test okularcore +) + +if(Poppler_Qt6_FOUND) + if (BUILD_DESKTOP) + ecm_add_test(parttest.cpp closedialoghelper.cpp + TEST_NAME "parttest" + LINK_LIBRARIES Qt6::Widgets Qt6::Test Qt6::Xml okularcore okularpart + ) + endif() + + ecm_add_test(visibilitytest.cpp + TEST_NAME "visibilitytest" + LINK_LIBRARIES Qt6::Widgets Qt6::Test okularcore + ) + + ecm_add_test(jsfunctionstest.cpp + TEST_NAME "jsfunctionstest" + LINK_LIBRARIES Qt6::Widgets Qt6::Test okularcore + ) + + ecm_add_test(formattest.cpp + TEST_NAME "formattest" + LINK_LIBRARIES Qt6::Widgets Qt6::Test okularcore + ) + + ecm_add_test(keystroketest.cpp + TEST_NAME "keystroketest" + LINK_LIBRARIES Qt6::Widgets Qt6::Test okularcore + ) + + ecm_add_test(signunsignedfieldtest.cpp + TEST_NAME "signunsignedfieldtest" + LINK_LIBRARIES Qt6::Widgets Qt6::Test okularcore + ) +endif() + +ecm_add_test(suggestedfilenametest.cpp + TEST_NAME "suggestedfilenametest" + LINK_LIBRARIES Qt6::Test okularcore KF6::I18n +) + +ecm_add_test(documenttest.cpp + TEST_NAME "documenttest" + LINK_LIBRARIES Qt6::Widgets Qt6::Test Qt6::Xml okularcore KF6::ThreadWeaver +) + +ecm_add_test(searchtest.cpp + TEST_NAME "searchtest" + LINK_LIBRARIES Qt6::Widgets Qt6::Test Qt6::Xml okularcore +) + +ecm_add_test(annotationstest.cpp + TEST_NAME "annotationstest" + LINK_LIBRARIES Qt6::Widgets Qt6::Test Qt6::Xml okularcore +) + +ecm_add_test(urldetecttest.cpp + TEST_NAME "urldetecttest" + LINK_LIBRARIES Qt6::Widgets Qt6::Test Qt6::Xml KF6::CoreAddons +) + +ecm_add_test(editannotationcontentstest.cpp testingutils.cpp + TEST_NAME "editannotationcontentstest" + LINK_LIBRARIES Qt6::Widgets Qt6::Test Qt6::Xml okularcore +) + +ecm_add_test(addremoveannotationtest.cpp testingutils.cpp + TEST_NAME "addremoveannotationtest" + LINK_LIBRARIES Qt6::Widgets Qt6::Test Qt6::Xml okularcore +) + +ecm_add_test(translateannotationtest.cpp testingutils.cpp + TEST_NAME "translateannotationtest" + LINK_LIBRARIES Qt6::Widgets Qt6::Test Qt6::Xml okularcore +) + +ecm_add_test(modifyannotationpropertiestest.cpp testingutils.cpp + TEST_NAME "modifyannotationpropertiestest" + LINK_LIBRARIES Qt6::Widgets Qt6::Test okularcore +) + +ecm_add_test(editformstest.cpp + TEST_NAME "editformstest" + LINK_LIBRARIES Qt6::Widgets Qt6::Test okularcore +) + +ecm_add_test(calculatetexttest.cpp + TEST_NAME "calculatetexttest" + LINK_LIBRARIES Qt6::Widgets Qt6::Test okularcore +) + +ecm_add_test(check_distinguished_name_parser.cpp + TEST_NAME "distinguishednameparser" + LINK_LIBRARIES Qt6::Test) + +if(BUILD_DESKTOP) + ecm_add_test(mainshelltest.cpp ../shell/okular_main.cpp ../shell/shellutils.cpp ../shell/shell.cpp ../shell/welcomescreen.cpp ../gui/recentitemsmodel.cpp closedialoghelper.cpp + TEST_NAME "mainshelltest" + LINK_LIBRARIES Qt6::Test okularpart okularcore + ) + target_compile_definitions(mainshelltest PRIVATE OKULAR_BINARY="$") + + if (HAVE_X11) + target_link_libraries(mainshelltest Qt6::GuiPrivate) + endif() +endif() + +if(BUILD_DESKTOP) + ecm_add_test(annotationtoolbartest.cpp ../shell/okular_main.cpp ../shell/shellutils.cpp ../shell/shell.cpp ../shell/welcomescreen.cpp ../gui/recentitemsmodel.cpp closedialoghelper.cpp ../shell/welcomescreen.ui + TEST_NAME "annotationtoolbartest" + LINK_LIBRARIES Qt6::Test okularpart + ) + + if (HAVE_X11) + target_link_libraries(annotationtoolbartest Qt6::GuiPrivate) + endif() +endif() + +ecm_add_test(generatorstest.cpp + TEST_NAME "generatorstest" + LINK_LIBRARIES Qt6::Test KF6::CoreAddons okularcore +) +target_compile_definitions(generatorstest PRIVATE GENERATORS_BUILD_DIR="${CMAKE_BINARY_DIR}/generators") + +ecm_add_test(signatureformtest.cpp + TEST_NAME "signatureformtest" + LINK_LIBRARIES Qt6::Test okularcore +) + +find_package(Discount) + +if(Discount_FOUND) + ecm_add_test(markdowntest.cpp ../generators/markdown/converter.cpp + TEST_NAME "markdowntest" + LINK_LIBRARIES Qt6::Test okularcore KF6::I18n PkgConfig::Discount + ) +endif() + +ecm_add_test(toggleactionmenutest.cpp ../part/toggleactionmenu.cpp + TEST_NAME "toggleactionmenutest" + LINK_LIBRARIES Qt6::Test KF6::WidgetsAddons +) diff --git a/autotests/addremoveannotationtest.cpp b/autotests/addremoveannotationtest.cpp new file mode 100644 index 0000000..5d97da1 --- /dev/null +++ b/autotests/addremoveannotationtest.cpp @@ -0,0 +1,188 @@ +/* + SPDX-FileCopyrightText: 2013 Jon Mease + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include +#include + +#include "../core/annotations.h" +#include "../core/document.h" +#include "../core/page.h" +#include "../settings_core.h" +#include "testingutils.h" + +class AddRemoveAnnotationTest : public QObject +{ + Q_OBJECT + +private Q_SLOTS: + void initTestCase(); + void init(); + void cleanup(); + void testAddAnnotations(); + void testAddAnnotationUndoWithRotate_Bug318091(); + void testRemoveAnnotations(); + +private: + Okular::Document *m_document; +}; + +void AddRemoveAnnotationTest::initTestCase() +{ + Okular::SettingsCore::instance(QStringLiteral("addannotationtest")); + m_document = new Okular::Document(nullptr); +} + +void AddRemoveAnnotationTest::init() +{ + const QString testFile = QStringLiteral(KDESRCDIR "data/file1.pdf"); + QMimeDatabase db; + const QMimeType mime = db.mimeTypeForFile(testFile); + QCOMPARE(m_document->openDocument(testFile, QUrl(), mime), Okular::Document::OpenSuccess); +} + +void AddRemoveAnnotationTest::cleanup() +{ + m_document->closeDocument(); +} + +void AddRemoveAnnotationTest::testAddAnnotations() +{ + // Undo and Redo should be unavailable when docuemnt is first opened. + QVERIFY(!m_document->canUndo()); + QVERIFY(!m_document->canRedo()); + + // Create two distinct text annotations + Okular::Annotation *annot1 = new Okular::TextAnnotation(); + annot1->setBoundingRectangle(Okular::NormalizedRect(0.1, 0.1, 0.15, 0.15)); + annot1->setContents(QStringLiteral("annot contents")); + + Okular::Annotation *annot2 = new Okular::TextAnnotation(); + annot2->setBoundingRectangle(Okular::NormalizedRect(0.2, 0.2, 0.3, 0.4)); + annot2->setContents(QStringLiteral("annot contents")); + + // The two annotations shold have different properties XML strings + QVERIFY(TestingUtils::getAnnotationXml(annot1) != TestingUtils::getAnnotationXml(annot2)); + + // We start with no annotations in the docuemnt + QVERIFY(m_document->page(0)->annotations().size() == 0); + + // After adding annot1 we should have one annotation in the page and it should be annot1. + m_document->addPageAnnotation(0, annot1); + QVERIFY(m_document->page(0)->annotations().size() == 1); + QCOMPARE(annot1, m_document->page(0)->annotations().first()); + + // Record the properties and name of annot1 just after insertion for later comparisons + QString origLine1Xml = TestingUtils::getAnnotationXml(annot1); + QString annot1Name = annot1->uniqueName(); + QVERIFY(!annot1Name.isEmpty()); + + // Now undo the addition of annot1 and verify that annot1's properties haven't changed + m_document->undo(); + QVERIFY(m_document->page(0)->annotations().empty()); + QVERIFY(!m_document->canUndo()); + QVERIFY(m_document->canRedo()); + QCOMPARE(TestingUtils::getAnnotationXml(annot1), origLine1Xml); + + // redo addition of annot1 + m_document->redo(); + QVERIFY(m_document->page(0)->annotations().size() == 1); + QVERIFY(annot1 == m_document->page(0)->annotations().first()); + QCOMPARE(TestingUtils::getAnnotationXml(annot1), origLine1Xml); + + // undo once more + m_document->undo(); + QVERIFY(m_document->page(0)->annotations().empty()); + QVERIFY(!m_document->canUndo()); + QVERIFY(m_document->canRedo()); + QCOMPARE(TestingUtils::getAnnotationXml(annot1), origLine1Xml); + + // Set AnnotationDisposeWatcher dispose function on annot1 so we can detect + // when it is deleted + annot1->setDisposeDataFunction(TestingUtils::AnnotationDisposeWatcher::disposeAnnotation); + TestingUtils::AnnotationDisposeWatcher::resetDisposedAnnotationName(); + QCOMPARE(TestingUtils::AnnotationDisposeWatcher::disposedAnnotationName(), QString()); + + // now add annot2 + m_document->addPageAnnotation(0, annot2); + QString annot2Name = annot2->uniqueName(); + QVERIFY(!annot2Name.isEmpty()); + QVERIFY(annot1Name != annot2Name); + QVERIFY(m_document->page(0)->annotations().size() == 1); + QCOMPARE(annot2, m_document->page(0)->annotations().first()); + + // Check that adding annot2 while annot1 was in the unadded state triggered the deletion of annot1 + QVERIFY(TestingUtils::AnnotationDisposeWatcher::disposedAnnotationName() == annot1Name); +} + +void AddRemoveAnnotationTest::testAddAnnotationUndoWithRotate_Bug318091() +{ + Okular::Annotation *annot = new Okular::TextAnnotation(); + annot->setBoundingRectangle(Okular::NormalizedRect(0.1, 0.1, 0.15, 0.15)); + annot->setContents(QStringLiteral("annot contents")); + + m_document->addPageAnnotation(0, annot); + QString origAnnotXml = TestingUtils::getAnnotationXml(annot); + + // Now undo annotation addition, rotate the page, and redo to annotation addition + m_document->undo(); + m_document->setRotation(1); + m_document->redo(); + + // Verify that annotation's properties remain unchanged + // In Bug318091 the bounding rectangle was being rotated upon each redo + QString newAnnotXml = TestingUtils::getAnnotationXml(annot); + QCOMPARE(origAnnotXml, newAnnotXml); +} + +void AddRemoveAnnotationTest::testRemoveAnnotations() +{ + // Undo and Redo should be unavailable when docuemnt is first opened. + QVERIFY(!m_document->canUndo()); + QVERIFY(!m_document->canRedo()); + + // Create two distinct text annotations + Okular::Annotation *annot1 = new Okular::TextAnnotation(); + annot1->setBoundingRectangle(Okular::NormalizedRect(0.1, 0.1, 0.15, 0.15)); + annot1->setContents(QStringLiteral("annot contents")); + + Okular::Annotation *annot2 = new Okular::TextAnnotation(); + annot2->setBoundingRectangle(Okular::NormalizedRect(0.2, 0.2, 0.3, 0.4)); + annot2->setContents(QStringLiteral("annot contents")); + + // Add annot1 and annot2 to document + m_document->addPageAnnotation(0, annot1); + m_document->addPageAnnotation(0, annot2); + QVERIFY(m_document->page(0)->annotations().size() == 2); + QVERIFY(m_document->page(0)->annotations().contains(annot1)); + QVERIFY(m_document->page(0)->annotations().contains(annot2)); + + // Now remove annot1 + m_document->removePageAnnotation(0, annot1); + QVERIFY(m_document->page(0)->annotations().size() == 1); + QVERIFY(m_document->page(0)->annotations().contains(annot2)); + + // Undo removal of annot1 + m_document->undo(); + QVERIFY(m_document->page(0)->annotations().size() == 2); + QVERIFY(m_document->page(0)->annotations().contains(annot1)); + QVERIFY(m_document->page(0)->annotations().contains(annot2)); + + // Redo removal + m_document->redo(); + QVERIFY(m_document->page(0)->annotations().size() == 1); + QVERIFY(m_document->page(0)->annotations().contains(annot2)); + + // Verify that annot1 is disposed of if document is closed with annot1 in removed state + QString annot1Name = annot1->uniqueName(); + annot1->setDisposeDataFunction(TestingUtils::AnnotationDisposeWatcher::disposeAnnotation); + TestingUtils::AnnotationDisposeWatcher::resetDisposedAnnotationName(); + QVERIFY(TestingUtils::AnnotationDisposeWatcher::disposedAnnotationName().isEmpty()); + m_document->closeDocument(); + QVERIFY(TestingUtils::AnnotationDisposeWatcher::disposedAnnotationName() == annot1Name); +} + +QTEST_MAIN(AddRemoveAnnotationTest) +#include "addremoveannotationtest.moc" diff --git a/autotests/annotationstest.cpp b/autotests/annotationstest.cpp new file mode 100644 index 0000000..b32a7ba --- /dev/null +++ b/autotests/annotationstest.cpp @@ -0,0 +1,160 @@ +/* + SPDX-FileCopyrightText: 2013 Peter Grasch + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include +#include + +#include "../core/annotations.h" +#include "../core/document.h" +#include "../core/page.h" +#include "../settings_core.h" + +Q_DECLARE_METATYPE(Okular::Annotation *) +Q_DECLARE_METATYPE(Okular::LineAnnotation *) + +class AnnotationTest : public QObject +{ + Q_OBJECT + +private Q_SLOTS: + void initTestCase(); + void testDistance(); + void testDistance_data(); + // void testLine(); + // void testPoly(); + // void testInk(); + // void testHighlight(); + // void testGeom(); + void testTypewriter(); + void cleanupTestCase(); + +private: + Okular::Document *m_document; +}; + +void AnnotationTest::initTestCase() +{ + Okular::SettingsCore::instance(QStringLiteral("annotationtest")); + m_document = new Okular::Document(nullptr); + const QString testFile = QStringLiteral(KDESRCDIR "data/file1.pdf"); + QMimeDatabase db; + const QMimeType mime = db.mimeTypeForFile(testFile); + QCOMPARE(m_document->openDocument(testFile, QUrl(), mime), Okular::Document::OpenSuccess); +} + +void AnnotationTest::cleanupTestCase() +{ + if (m_document->isOpened()) { + const QList annotations = m_document->page(0)->annotations(); + for (Okular::Annotation *annotation : annotations) { + m_document->removePageAnnotation(0, annotation); + } + } +} + +void AnnotationTest::testDistance() +{ + QFETCH(Okular::Annotation *, annotation); + QFETCH(double, x); + QFETCH(double, y); + QFETCH(int, distance); + Okular::AnnotationObjectRect *rect = new Okular::AnnotationObjectRect(annotation); + QCOMPARE(qRound(rect->distanceSqr(x, y, m_document->page(0)->width(), m_document->page(0)->height())), distance); + delete rect; +} + +void AnnotationTest::testDistance_data() +{ + QTest::addColumn("annotation"); + QTest::addColumn("x"); + QTest::addColumn("y"); + QTest::addColumn("distance"); + + double documentX = m_document->page(0)->width(); + double documentY = m_document->page(0)->height(); + + // lines + Okular::LineAnnotation *line = new Okular::LineAnnotation; + line->setLinePoints({Okular::NormalizedPoint(0.1, 0.1), Okular::NormalizedPoint(0.9, 0.1)}); + m_document->addPageAnnotation(0, line); + QTest::newRow("Line: Base point 1") << (Okular::Annotation *)line << 0.1 << 0.1 << 0; + QTest::newRow("Line: Base point 2") << (Okular::Annotation *)line << 0.5 << 0.1 << 0; + QTest::newRow("Line: Off by a lot") << (Okular::Annotation *)line << 0.5 << 0.5 << qRound(pow(0.4 * documentY, 2)); + QTest::newRow("Line: Off by a little") << (Okular::Annotation *)line << 0.1 << 0.1 + (5.0 /* px */ / documentY) << 25; + + // squares (non-filled squares also act as tests for the ink annotation as they share the path-distance code) + for (int i = 0; i < 2; ++i) { + Okular::GeomAnnotation *square = new Okular::GeomAnnotation; + square->setGeometricalType(Okular::GeomAnnotation::InscribedSquare); + square->setBoundingRectangle(Okular::NormalizedRect(0.1, 0.1, 0.9, 0.9)); + if (i != 0) { + square->setGeometricalInnerColor(QColor(0, 0, 0)); + } + m_document->addPageAnnotation(0, square); + QTest::addRow("Square: Base point 1 %d", i) << (Okular::Annotation *)square << 0.1 << 0.1 << 0; + QTest::addRow("Square: On edge 1 %d", i) << (Okular::Annotation *)square << 0.1 << 0.2 << 0; + QTest::addRow("Square: On edge 2 %d", i) << (Okular::Annotation *)square << 0.2 << 0.1 << 0; + QTest::addRow("Square: Inside %d", i) << (Okular::Annotation *)square << 0.2 << 0.2 << ((i == 0) ? qRound(pow(0.1 * documentX, 2) - 1 /* stroke width */) : 0); + QTest::addRow("Square: Outside %d", i) << (Okular::Annotation *)square << 0.0 << 0.0 << qRound(pow(0.1 * documentX, 2) + pow(0.1 * documentY, 2)); + } + + // ellipsis + for (int i = 0; i < 2; ++i) { + Okular::GeomAnnotation *ellipse = new Okular::GeomAnnotation; + ellipse->setGeometricalType(Okular::GeomAnnotation::InscribedCircle); + ellipse->setBoundingRectangle(Okular::NormalizedRect(0.1, 0.1, 0.9, 0.5)); + if (i != 0) { + ellipse->setGeometricalInnerColor(QColor(0, 0, 0)); + } + m_document->addPageAnnotation(0, ellipse); + QTest::addRow("Ellipse: Base point 1 %d", i) << (Okular::Annotation *)ellipse << 0.1 << 0.3 << 0; + QTest::addRow("Ellipse: Inside %d", i) << (Okular::Annotation *)ellipse << 0.2 << 0.3 << qRound((i == 0) ? pow(documentX * 0.1, 2) - 1 /* pen */ : 0); + QTest::addRow("Ellipse: Outside %d", i) << (Okular::Annotation *)ellipse << 0.0 << 0.3 << qRound(pow(documentX * 0.1, 2)); + } + + // highlight + Okular::HighlightAnnotation *highlight = new Okular::HighlightAnnotation; + Okular::HighlightAnnotation::Quad q; + q.setPoint(Okular::NormalizedPoint(0.1, 0.1), 0); + q.setPoint(Okular::NormalizedPoint(0.2, 0.1), 1); + q.setPoint(Okular::NormalizedPoint(0.8, 0.9), 2); + q.setPoint(Okular::NormalizedPoint(0.9, 0.9), 3); + highlight->highlightQuads() << q; + m_document->addPageAnnotation(0, highlight); + QTest::newRow("Highlight: Point 1") << (Okular::Annotation *)highlight << 0.1 << 0.1 << 0; + QTest::newRow("Highlight: Point 2") << (Okular::Annotation *)highlight << 0.2 << 0.1 << 0; + QTest::newRow("Highlight: Point 3") << (Okular::Annotation *)highlight << 0.8 << 0.9 << 0; + QTest::newRow("Highlight: Point 4") << (Okular::Annotation *)highlight << 0.9 << 0.9 << 0; + QTest::newRow("Highlight: Inside") << (Okular::Annotation *)highlight << 0.5 << 0.5 << 0; + QTest::newRow("Highlight: Outside") << (Okular::Annotation *)highlight << 1.0 << 0.9 << qRound(pow(documentX * 0.1, 2)); +} + +void AnnotationTest::testTypewriter() +{ + Okular::Annotation *annot = nullptr; + Okular::TextAnnotation *ta = new Okular::TextAnnotation(); + annot = ta; + ta->setFlags(ta->flags() | Okular::Annotation::FixedRotation); + ta->setTextType(Okular::TextAnnotation::InPlace); + ta->setInplaceIntent(Okular::TextAnnotation::TypeWriter); + ta->style().setWidth(0.0); + ta->style().setColor(QColor(255, 255, 255, 0)); + + annot->setBoundingRectangle(Okular::NormalizedRect(0.8, 0.1, 0.85, 0.15)); + annot->setContents(QStringLiteral("annot contents")); + + m_document->addPageAnnotation(0, annot); + + QDomNode annotNode = annot->getAnnotationPropertiesDomNode(); + QDomNodeList annotNodeList = annotNode.toElement().elementsByTagName(QStringLiteral("base")); + QDomElement annotEl = annotNodeList.item(0).toElement(); + QCOMPARE(annotEl.attribute(QStringLiteral("color")), QStringLiteral("#00ffffff")); + QCOMPARE(annotEl.attribute(QStringLiteral("flags")), QStringLiteral("4")); + QCOMPARE(annotEl.attribute(QStringLiteral("contents")), QStringLiteral("annot contents")); +} + +QTEST_MAIN(AnnotationTest) +#include "annotationstest.moc" diff --git a/autotests/annotationtoolbartest.cpp b/autotests/annotationtoolbartest.cpp new file mode 100644 index 0000000..dbff610 --- /dev/null +++ b/autotests/annotationtoolbartest.cpp @@ -0,0 +1,418 @@ +/* + SPDX-FileCopyrightText: 2020 Simone Gaiarin + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +// clazy:excludeall=qstring-allocations + +#include + +#include +#include +#include +#include +#include + +#include +#include + +#include "../core/page.h" +#include "../part/pageview.h" +#include "../part/part.h" +#include "../part/toggleactionmenu.h" +#include "../settings.h" +#include "../shell/okular_main.h" +#include "../shell/shell.h" +#include "../shell/shellutils.h" +#include "closedialoghelper.h" + +namespace Okular +{ +class PartTest +{ +public: + Okular::Document *partDocument(Okular::Part *part) const + { + return part->m_document; + } + PageView *pageView(Okular::Part *part) const + { + return part->m_pageView; + } +}; +} + +class AnnotationToolBarTest : public QObject, public Okular::PartTest +{ + Q_OBJECT + +public: + static void initMain(); + static QTabWidget *tabWidget(Shell *s) + { + return s->m_tabWidget; + } + +private Q_SLOTS: + void initTestCase(); + void init(); + void cleanup(); + + void testAnnotationToolBar(); + void testAnnotationToolBar_data(); + void testAnnotationToolBarActionsEnabledState(); + void testAnnotationToolBarActionsEnabledState_data(); + void testAnnotationToolBarConfigActionsEnabledState(); + void testAnnotationToolBarConfigActionsEnabledState_data(); + +private: + bool simulateAddPopupAnnotation(Okular::Part *part, int mouseX, int mouseY); +}; + +Shell *findShell(Shell *ignore = nullptr) +{ + const QWidgetList wList = QApplication::topLevelWidgets(); + for (QWidget *widget : wList) { + Shell *s = qobject_cast(widget); + if (s && s != ignore) { + return s; + } + } + return nullptr; +} + +void AnnotationToolBarTest::initMain() +{ + // Ensure consistent configs/caches and Default UI + QTemporaryDir homeDir; + Q_ASSERT(homeDir.isValid()); + QByteArray homePath = QFile::encodeName(homeDir.path()); + qputenv("USERPROFILE", homePath); + qputenv("HOME", homePath); + qputenv("XDG_DATA_HOME", QByteArray(homePath + "/.local")); + qputenv("XDG_CONFIG_HOME", QByteArray(homePath + "/.kde-unit-test/xdg/config")); +} + +void AnnotationToolBarTest::initTestCase() +{ + QStandardPaths::setTestModeEnabled(true); + // Don't pollute people's okular settings + Okular::Settings::instance(QStringLiteral("annotationtoolbartest")); +} + +void AnnotationToolBarTest::init() +{ + // Default settings for every test + Okular::Settings::self()->setDefaults(); +} + +void AnnotationToolBarTest::cleanup() +{ + Shell *s; + while ((s = findShell())) { + delete s; + } +} + +bool AnnotationToolBarTest::simulateAddPopupAnnotation(Okular::Part *part, int mouseX, int mouseY) +{ + int annotationCount = partDocument(part)->page(0)->annotations().size(); + QTest::mouseMove(pageView(part)->viewport(), QPoint(mouseX, mouseY)); + QTest::mouseClick(pageView(part)->viewport(), Qt::LeftButton, Qt::NoModifier, QPoint(mouseX, mouseY)); + bool annotationAdded = partDocument(part)->page(0)->annotations().size() == annotationCount + 1; + return annotationAdded; +} + +void AnnotationToolBarTest::testAnnotationToolBar() +{ + // Using tabs we test that the annotation toolbar works on each Okular::Part + Okular::Settings::self()->setShellOpenFileInTabs(true); + + const QStringList paths = {QStringLiteral(KDESRCDIR "data/file1.pdf"), QStringLiteral(KDESRCDIR "data/file2.pdf")}; + QString serializedOptions = ShellUtils::serializeOptions(false, false, false, false, false, QString(), QString(), QString()); + + Okular::Status status = Okular::main(paths, serializedOptions); + QCOMPARE(status, Okular::Success); + Shell *s = findShell(); + QVERIFY(s); + if (qgetenv("KDECI_CANNOT_CREATE_WINDOWS") == "1") { + QSKIP("KDE CI can't create a window on this platform, skipping some gui tests"); + } + + QVERIFY(QTest::qWaitForWindowExposed(s)); + QFETCH(int, tabIndex); + s->m_tabWidget->tabBar()->setCurrentIndex(tabIndex); + Okular::Part *part = dynamic_cast(s->m_tabs[tabIndex].part); + QVERIFY(part); + + QToolBar *annToolBar = s->findChild(QStringLiteral("annotationToolBar")); + QVERIFY(annToolBar); + + // Check config action default enabled states + QAction *aQuickTools = part->actionCollection()->action(QStringLiteral("annotation_favorites")); + QAction *aAddToQuickTools = part->actionCollection()->action(QStringLiteral("annotation_bookmark")); + QAction *aAdvancedSettings = part->actionCollection()->action(QStringLiteral("annotation_settings_advanced")); + QAction *aContinuousMode = part->actionCollection()->action(QStringLiteral("annotation_settings_pin")); + QVERIFY(aQuickTools->isEnabled()); + QVERIFY(!aAddToQuickTools->isEnabled()); + QVERIFY(!aAdvancedSettings->isEnabled()); + QVERIFY(aContinuousMode->isEnabled()); + + // Ensure that the 'Quick Annotations' action is correctly populated + // (at least the 'Configure Annotations...' action must be present) + QVERIFY(!aQuickTools->menu()->actions().isEmpty()); + + // Test annotation toolbar visibility triggers + QAction *toggleAnnotationToolBar = part->actionCollection()->action(QStringLiteral("mouse_toggle_annotate")); + QAction *aHideToolBar = part->actionCollection()->action(QStringLiteral("hide_annotation_toolbar")); + QVERIFY(toggleAnnotationToolBar); + QVERIFY(aHideToolBar); + toggleAnnotationToolBar->setChecked(false); + QTRY_VERIFY(!annToolBar->isVisible()); + toggleAnnotationToolBar->trigger(); + QTRY_VERIFY2(annToolBar->isVisible(), "Annotation action failed to show."); + toggleAnnotationToolBar->trigger(); + QTRY_VERIFY2(!annToolBar->isVisible(), "Annotation action failed to hide."); + + toggleAnnotationToolBar->setChecked(true); + QTRY_VERIFY(annToolBar->isVisible()); + aHideToolBar->trigger(); + QTRY_VERIFY2(!annToolBar->isVisible(), "Hide toolbar action failed to hide."); + + toggleAnnotationToolBar->setChecked(false); + QTRY_VERIFY(!annToolBar->isVisible()); + QTest::keyClick(part->widget(), Qt::Key_1, Qt::AltModifier); + QTRY_VERIFY2(annToolBar->isVisible(), "ToolBar not shown when triggering annotation using shortcut."); + toggleAnnotationToolBar->setChecked(false); + QTRY_VERIFY(!annToolBar->isVisible()); + QTest::keyClick(part->widget(), Qt::Key_3); + QTRY_VERIFY2(!annToolBar->isVisible(), "ToolBar shown when triggering quick annotation using shortcut."); + + // set mouse mode to browse before starting the tests on the annotation actions + QAction *aMouseNormal = part->actionCollection()->action(QStringLiteral("mouse_drag")); + QVERIFY(aMouseNormal); + aMouseNormal->trigger(); + QTRY_COMPARE(Okular::Settings::mouseMode(), static_cast(Okular::Settings::EnumMouseMode::Browse)); + + // Click an annotation action to enable it + QAction *aPopupNote = part->actionCollection()->action(QStringLiteral("annotation_popup_note")); + QVERIFY(aPopupNote); + aPopupNote->trigger(); + int mouseX = 350; + int mouseY = 100; + QCOMPARE(simulateAddPopupAnnotation(part, mouseX, mouseY), true); + QTRY_COMPARE(aMouseNormal->isChecked(), false); + + // Click again the same annotation action to disable it + aPopupNote->trigger(); + mouseY = 150; + QCOMPARE(simulateAddPopupAnnotation(part, mouseX, mouseY), false); + QTRY_COMPARE(aMouseNormal->isChecked(), true); + + // Trigger the action using a shortcut + QTest::keyClick(part->widget(), Qt::Key_7, Qt::AltModifier); + mouseY = 200; + QCOMPARE(simulateAddPopupAnnotation(part, mouseX, mouseY), true); + QTRY_COMPARE(aMouseNormal->isChecked(), false); + + // Click Esc to disable all annotations + QTest::keyClick(pageView(part), Qt::Key_Escape); + mouseY = 250; + QCOMPARE(simulateAddPopupAnnotation(part, mouseX, mouseY), false); + QTRY_COMPARE(aMouseNormal->isChecked(), true); + + // Trigger the action using a quick annotation shortcut + QTest::keyClick(part->widget(), Qt::Key_6); + QCOMPARE(simulateAddPopupAnnotation(part, mouseX, mouseY), true); + QTRY_COMPARE(aMouseNormal->isChecked(), false); + + // Test pin/continuous mode action + QVERIFY(aContinuousMode->isEnabled()); + QCOMPARE(simulateAddPopupAnnotation(part, mouseX, mouseY), true); + QCOMPARE(simulateAddPopupAnnotation(part, mouseX, mouseY), true); + aContinuousMode->trigger(); + QCOMPARE(simulateAddPopupAnnotation(part, mouseX, mouseY), true); + QCOMPARE(simulateAddPopupAnnotation(part, mouseX, mouseY), false); + + // Test adding a tool to the quick tool list using the bookmark action + QScopedPointer closeDialogHelper; + closeDialogHelper.reset(new TestingUtils::CloseDialogHelper(QDialogButtonBox::Ok)); + aPopupNote->trigger(); + QVERIFY(aPopupNote->isChecked()); + int quickActionCount = aQuickTools->menu()->actions().size(); + aAddToQuickTools->trigger(); + QTRY_COMPARE(aQuickTools->menu()->actions().size(), quickActionCount + 1); + // Trigger the quick tool that was just added + aQuickTools->menu()->actions().at(6)->trigger(); + QCOMPARE(simulateAddPopupAnnotation(part, mouseX, mouseY), true); +} + +void AnnotationToolBarTest::testAnnotationToolBar_data() +{ + QTest::addColumn("tabIndex"); + QTest::addRow("first tab") << 0; + QTest::addRow("second tab") << 1; +} + +void AnnotationToolBarTest::testAnnotationToolBarActionsEnabledState() +{ + QFETCH(QString, document); + + const QStringList paths = {document}; + QString serializedOptions = ShellUtils::serializeOptions(false, false, false, false, false, QString(), QString(), QString()); + + Okular::Status status = Okular::main(paths, serializedOptions); + QCOMPARE(status, Okular::Success); + Shell *s = findShell(); + QVERIFY(s); + if (qgetenv("KDECI_CANNOT_CREATE_WINDOWS") == "1") { + QSKIP("KDE CI can't create a window on this platform, skipping some gui tests"); + } + + QVERIFY(QTest::qWaitForWindowExposed(s)); + + Okular::Part *part = s->findChild(); + QVERIFY(part); + + KActionCollection *ac = part->actionCollection(); + QAction *aQuickTools = ac->action(QStringLiteral("annotation_favorites")); + QAction *aHighlighter = ac->action(QStringLiteral("annotation_highlighter")); + QAction *aUnderline = ac->action(QStringLiteral("annotation_underline")); + QAction *aSquiggle = ac->action(QStringLiteral("annotation_squiggle")); + QAction *aStrikeout = ac->action(QStringLiteral("annotation_strike_out")); + QAction *aTypewriter = ac->action(QStringLiteral("annotation_typewriter")); + QAction *aInlineNote = ac->action(QStringLiteral("annotation_inline_note")); + QAction *aPopupNote = ac->action(QStringLiteral("annotation_popup_note")); + QAction *aFreehandLine = ac->action(QStringLiteral("annotation_freehand_line")); + QAction *aGeomShapes = ac->action(QStringLiteral("annotation_geometrical_shape")); + QAction *aStamp = ac->action(QStringLiteral("annotation_stamp")); + + QFETCH(bool, aQuickToolsEnabled); + QFETCH(bool, aHighlighterEnabled); + QFETCH(bool, aUnderlineEnabled); + QFETCH(bool, aSquiggleEnabled); + QFETCH(bool, aStrikeoutEnabled); + QFETCH(bool, aTypewriterEnabled); + QFETCH(bool, aInlineNoteEnabled); + QFETCH(bool, aPopupNoteEnabled); + QFETCH(bool, aFreehandLineEnabled); + QFETCH(bool, aGeomShapesEnabled); + QFETCH(bool, aStampEnabled); + + QCOMPARE(aQuickTools->isEnabled(), aQuickToolsEnabled); + QCOMPARE(aHighlighter->isEnabled(), aHighlighterEnabled); + QCOMPARE(aUnderline->isEnabled(), aUnderlineEnabled); + QCOMPARE(aSquiggle->isEnabled(), aSquiggleEnabled); + QCOMPARE(aStrikeout->isEnabled(), aStrikeoutEnabled); + QCOMPARE(aTypewriter->isEnabled(), aTypewriterEnabled); + QCOMPARE(aInlineNote->isEnabled(), aInlineNoteEnabled); + QCOMPARE(aPopupNote->isEnabled(), aPopupNoteEnabled); + QCOMPARE(aFreehandLine->isEnabled(), aFreehandLineEnabled); + QCOMPARE(aGeomShapes->isEnabled(), aGeomShapesEnabled); + QCOMPARE(aStamp->isEnabled(), aStampEnabled); + + // trigger a reparsing of the tools to ensure that the enabled/disabled state is not changed (bug: 424296) + QAction *aMouseSelect = ac->action(QStringLiteral("mouse_select")); + QAction *aMouseNormal = ac->action(QStringLiteral("mouse_drag")); + aMouseSelect->trigger(); + aMouseNormal->trigger(); + + QCOMPARE(aQuickTools->isEnabled(), aQuickToolsEnabled); + QCOMPARE(aHighlighter->isEnabled(), aHighlighterEnabled); + QCOMPARE(aUnderline->isEnabled(), aUnderlineEnabled); + QCOMPARE(aSquiggle->isEnabled(), aSquiggleEnabled); + QCOMPARE(aStrikeout->isEnabled(), aStrikeoutEnabled); + QCOMPARE(aTypewriter->isEnabled(), aTypewriterEnabled); + QCOMPARE(aInlineNote->isEnabled(), aInlineNoteEnabled); + QCOMPARE(aPopupNote->isEnabled(), aPopupNoteEnabled); + QCOMPARE(aFreehandLine->isEnabled(), aFreehandLineEnabled); + QCOMPARE(aGeomShapes->isEnabled(), aGeomShapesEnabled); + QCOMPARE(aStamp->isEnabled(), aStampEnabled); +} + +void AnnotationToolBarTest::testAnnotationToolBarActionsEnabledState_data() +{ + QTest::addColumn("document"); + QTest::addColumn("aQuickToolsEnabled"); + QTest::addColumn("aHighlighterEnabled"); + QTest::addColumn("aUnderlineEnabled"); + QTest::addColumn("aSquiggleEnabled"); + QTest::addColumn("aStrikeoutEnabled"); + QTest::addColumn("aTypewriterEnabled"); + QTest::addColumn("aInlineNoteEnabled"); + QTest::addColumn("aPopupNoteEnabled"); + QTest::addColumn("aFreehandLineEnabled"); + QTest::addColumn("aGeomShapesEnabled"); + QTest::addColumn("aStampEnabled"); + + QTest::addRow("pdf") << QStringLiteral(KDESRCDIR "data/file1.pdf") << true << true << true << true << true << true << true << true << true << true << true; + QTest::addRow("protected-pdf") << QStringLiteral(KDESRCDIR "data/protected.pdf") << false << false << false << false << false << false << false << false << false << false << false; + QTest::addRow("image") << QStringLiteral(KDESRCDIR "data/potato.jpg") << true << false << false << false << false << true << true << true << true << true << true; +} + +void AnnotationToolBarTest::testAnnotationToolBarConfigActionsEnabledState() +{ + const QStringList paths = {QStringLiteral(KDESRCDIR "data/file1.pdf")}; + QString serializedOptions = ShellUtils::serializeOptions(false, false, false, false, false, QString(), QString(), QString()); + + Okular::Status status = Okular::main(paths, serializedOptions); + QCOMPARE(status, Okular::Success); + Shell *s = findShell(); + QVERIFY(s); + if (qgetenv("KDECI_CANNOT_CREATE_WINDOWS") == "1") { + QSKIP("KDE CI can't create a window on this platform, skipping some gui tests"); + } + + QVERIFY(QTest::qWaitForWindowExposed(s)); + + Okular::Part *part = s->findChild(); + QVERIFY(part); + + KActionCollection *ac = part->actionCollection(); + QAction *aWidth = ac->action(QStringLiteral("annotation_settings_width")); + QAction *aColor = ac->action(QStringLiteral("annotation_settings_color")); + QAction *aInnerColor = ac->action(QStringLiteral("annotation_settings_inner_color")); + QAction *aOpacity = ac->action(QStringLiteral("annotation_settings_opacity")); + QAction *aFont = ac->action(QStringLiteral("annotation_settings_font")); + + QFETCH(QString, annotationActionName); + QFETCH(bool, widthEnabled); + QFETCH(bool, colorEnabled); + QFETCH(bool, innerColorEnabled); + QFETCH(bool, opacityEnabled); + QFETCH(bool, fontEnabled); + + QAction *annotationAction = ac->action(annotationActionName); + annotationAction->trigger(); + + QCOMPARE(aWidth->isEnabled(), widthEnabled); + QCOMPARE(aColor->isEnabled(), colorEnabled); + QCOMPARE(aInnerColor->isEnabled(), innerColorEnabled); + QCOMPARE(aOpacity->isEnabled(), opacityEnabled); + QCOMPARE(aFont->isEnabled(), fontEnabled); +} + +void AnnotationToolBarTest::testAnnotationToolBarConfigActionsEnabledState_data() +{ + QTest::addColumn("annotationActionName"); + QTest::addColumn("widthEnabled"); + QTest::addColumn("colorEnabled"); + QTest::addColumn("innerColorEnabled"); + QTest::addColumn("opacityEnabled"); + QTest::addColumn("fontEnabled"); + + QTest::addRow("annotation_highlighter") << QStringLiteral("annotation_highlighter") << false << true << false << true << false; + QTest::addRow("annotation_underline") << QStringLiteral("annotation_underline") << false << true << false << true << false; + QTest::addRow("annotation_squiggle") << QStringLiteral("annotation_squiggle") << false << true << false << true << false; + QTest::addRow("annotation_strike_out") << QStringLiteral("annotation_strike_out") << false << true << false << true << false; + QTest::addRow("annotation_typewriter") << QStringLiteral("annotation_typewriter") << false << true << false << true << true; + QTest::addRow("annotation_inline_note") << QStringLiteral("annotation_inline_note") << false << true << false << true << true; + QTest::addRow("annotation_popup_note") << QStringLiteral("annotation_popup_note") << false << true << false << true << false; + QTest::addRow("annotation_freehand_line") << QStringLiteral("annotation_freehand_line") << true << true << false << true << false; + QTest::addRow("annotation_line") << QStringLiteral("annotation_straight_line") << true << true << false << true << false; + QTest::addRow("annotation_rectangle") << QStringLiteral("annotation_rectangle") << true << true << true << true << false; +} + +QTEST_MAIN(AnnotationToolBarTest) +#include "annotationtoolbartest.moc" diff --git a/autotests/calculatetexttest.cpp b/autotests/calculatetexttest.cpp new file mode 100644 index 0000000..302b610 --- /dev/null +++ b/autotests/calculatetexttest.cpp @@ -0,0 +1,116 @@ +/* + SPDX-FileCopyrightText: 2018 Intevation GmbH + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include + +#include "../settings_core.h" +#include "core/document.h" +#include +#include +#include +#include +#include + +class CalculateTextTest : public QObject +{ + Q_OBJECT + +private Q_SLOTS: + void initTestCase(); + void cleanupTestCase(); + + void testSimpleCalculate(); + +private: + Okular::Document *m_document; +}; + +void CalculateTextTest::initTestCase() +{ + Okular::SettingsCore::instance(QStringLiteral("calculatetexttest")); + m_document = new Okular::Document(nullptr); +} + +void CalculateTextTest::cleanupTestCase() +{ + m_document->closeDocument(); + delete m_document; +} + +void CalculateTextTest::testSimpleCalculate() +{ + // Force consistent locale + QLocale locale(QStringLiteral("en_US.UTF-8")); + if (locale == QLocale::c()) { + locale = QLocale(QLocale::English, QLocale::UnitedStates); + } + + QLocale::setDefault(locale); + const QString testFile = QStringLiteral(KDESRCDIR "data/simpleCalculate.pdf"); + QMimeDatabase db; + const QMimeType mime = db.mimeTypeForFile(testFile); + QCOMPARE(m_document->openDocument(testFile, QUrl(), mime), Okular::Document::OpenSuccess); + + const Okular::Page *page = m_document->page(0); + + QMap fields; + + // Field names in test document are: + // field1, field2, field3, Sum, AVG, Prod, Min, Max + + const QList pageFormFields = page->formFields(); + for (Okular::FormField *ff : pageFormFields) { + fields.insert(ff->name(), static_cast(ff)); + } + + // Set some values and do calculation + Okular::FormFieldText *field1 = fields[QStringLiteral("field1")]; + QVERIFY(field1); + m_document->editFormText(0, field1, QStringLiteral("10"), 0, 0, 0, QString()); + m_document->recalculateForms(); + + Okular::FormFieldText *field2 = fields[QStringLiteral("field2")]; + QVERIFY(field2); + m_document->editFormText(0, field2, QStringLiteral("20"), 0, 0, 0, QString()); + m_document->recalculateForms(); + + Okular::FormFieldText *field3 = fields[QStringLiteral("field3")]; + QVERIFY(field3); + m_document->editFormText(0, field3, QStringLiteral("30"), 0, 0, 0, QString()); + m_document->recalculateForms(); + + // Verify the results + QCOMPARE(fields[QStringLiteral("Sum")]->text(), QStringLiteral("60")); + QCOMPARE(fields[QStringLiteral("AVG")]->text(), QStringLiteral("20")); + QCOMPARE(fields[QStringLiteral("Prod")]->text(), QStringLiteral("6000")); + QCOMPARE(fields[QStringLiteral("Min")]->text(), QStringLiteral("10")); + QCOMPARE(fields[QStringLiteral("Max")]->text(), QStringLiteral("30")); + + // Verify that Sum was not recalculated after set without edit + QCOMPARE(fields[QStringLiteral("Sum")]->text(), QStringLiteral("60")); + + // Test that multiplication with zero works + m_document->editFormText(0, field2, QStringLiteral("0"), 0, 0, 0, QStringLiteral("20")); + m_document->recalculateForms(); + QCOMPARE(fields[QStringLiteral("Prod")]->text(), QStringLiteral("0")); + + // Test that updating the field also worked with sum + QCOMPARE(fields[QStringLiteral("Sum")]->text(), QStringLiteral("40")); + + // Test that undo / redo works + QVERIFY(m_document->canUndo()); + m_document->undo(); + m_document->recalculateForms(); + QCOMPARE(fields[QStringLiteral("Sum")]->text(), QStringLiteral("60")); + + QVERIFY(m_document->canRedo()); + m_document->redo(); + m_document->recalculateForms(); + QCOMPARE(fields[QStringLiteral("Sum")]->text(), QStringLiteral("40")); +} + +QTEST_MAIN(CalculateTextTest) +#include "calculatetexttest.moc" diff --git a/autotests/check_distinguished_name_parser.cpp b/autotests/check_distinguished_name_parser.cpp new file mode 100644 index 0000000..b853959 --- /dev/null +++ b/autotests/check_distinguished_name_parser.cpp @@ -0,0 +1,169 @@ +/* + SPDX-FileCopyrightText: 2023 g10 Code GmbH + SPDX-FileContributor: Sune Stolborg Vuorela + + SPDX-License-Identifier: GPL-2.0-or-later + + Copied from poppler (pdf library) +*/ +#include "../part/DistinguishedNameParser.h" + +#include + +class TestDistinguishedNameParser : public QObject +{ + Q_OBJECT +public: + explicit TestDistinguishedNameParser(QObject *parent = nullptr) + : QObject(parent) + { + } +private Q_SLOTS: + // The big set of input/output. Several of the helper functions can be tested independently + void testParser(); + void testParser_data(); + + void testRemoveLeadingSpaces(); + void testRemoveLeadingSpaces_data(); + + void testRemoveTrailingSpaces(); + void testRemoveTrailingSpaces_data(); + + void testParseHexString(); + void testParseHexString_data(); +}; + +Q_DECLARE_METATYPE(DN::Result); +Q_DECLARE_METATYPE(std::string); +Q_DECLARE_METATYPE(std::optional); + +void TestDistinguishedNameParser::testParser() +{ + QFETCH(std::string, inputData); + QFETCH(DN::Result, expectedResult); + + auto result = DN::parseString(inputData); + QCOMPARE(result, expectedResult); +} + +void TestDistinguishedNameParser::testParser_data() +{ + QTest::addColumn("inputData"); + QTest::addColumn("expectedResult"); + + QTest::newRow("empty") << std::string {} << DN::Result {}; + QTest::newRow("CN=Simple") << std::string {"CN=Simple"} << DN::Result {{"CN", "Simple"}}; + QTest::newRow("CN=Name with spaces") << std::string {"CN=Name with spaces"} << DN::Result {{"CN", "Name with spaces"}}; + QTest::newRow("CN=Simple,O=Silly") << std::string {"CN=Simple,O=Silly"} << DN::Result {{"CN", "Simple"}, {"O", "Silly"}}; + QTest::newRow("CN=Steve Kille,O=Isode Limited,C=GB") << std::string {"CN=Steve Kille,O=Isode Limited,C=GB"} << DN::Result {{"CN", "Steve Kille"}, {"O", "Isode Limited"}, {"C", "GB"}}; + QTest::newRow("CN=some.user@example.com, O=MyCompany, L=San Diego,ST=California, C=US") + << std::string {"CN=some.user@example.com, O=MyCompany, L=San Diego,ST=California, C=US"} << DN::Result {{"CN", "some.user@example.com"}, {"O", "MyCompany"}, {"L", "San Diego"}, {"ST", "California"}, {"C", "US"}}; + QTest::newRow("Multi valued") << std::string {"OU=Sales+CN=J. Smith,O=Widget Inc.,C=US"} + << DN::Result {{"OU", "Sales"}, {"CN", "J. Smith"}, {"O", "Widget Inc."}, {"C", "US"}}; // This is technically wrong, but probably good enough for now + QTest::newRow("Escaping comma") << std::string {"CN=L. Eagle,O=Sue\\, Grabbit and Runn,C=GB"} << DN::Result {{"CN", "L. Eagle"}, {"O", "Sue, Grabbit and Runn"}, {"C", "GB"}}; + QTest::newRow("Escaped trailing space") << std::string {"CN=Trailing space\\ "} << DN::Result {{"CN", "Trailing space "}}; + QTest::newRow("Escaped quote") << std::string {"CN=Quotation \\\" Mark"} << DN::Result {{"CN", "Quotation \" Mark"}}; + + QTest::newRow("CN=Simple with escaping") << std::string {"CN=S\\69mpl\\65\\7A"} << DN::Result {{"CN", "Simplez"}}; + QTest::newRow("SN=Lu\\C4\\8Di\\C4\\87") << std::string {"SN=Lu\\C4\\8Di\\C4\\87"} << DN::Result {{"SN", "Lučić"}}; + QTest::newRow("CN=\"Quoted name\"") << std::string {"CN=\"Quoted name\""} << DN::Result {{"CN", "Quoted name"}}; + QTest::newRow("CN=\" Leading and trailing spacees \"") << std::string {"CN=\" Leading and trailing spaces \""} << DN::Result {{"CN", " Leading and trailing spaces "}}; + QTest::newRow("Comma in quotes") << std::string {"CN=\"Comma, inside\""} << DN::Result {{"CN", "Comma, inside"}}; + QTest::newRow("forbidden chars in quotes") << std::string {"CN=\"Forbidden !@#$%&*()<>[]{},.?/\\| chars\""} << DN::Result {{"CN", "Forbidden !@#$%&*()<>[]{},.?/\\| chars"}}; + QTest::newRow("Quoted quotation") << std::string {"CN=\"Quotation \\\" Mark\""} << DN::Result {{"CN", "Quotation \" Mark"}}; + QTest::newRow("Quoted quotation") << std::string {"CN=\"Quotation \\\" Mark\\\" Multiples\""} << DN::Result {{"CN", "Quotation \" Mark\" Multiples"}}; + + QTest::newRow("frompdf1") << std::string {"2.5.4.97=#5553742D49644E722E20444520313233343735323233,CN=TeleSec PKS eIDAS QES CA 5,O=Deutsche Telekom AG,C=DE"} + << DN::Result {{"2.5.4.97", "USt-IdNr. DE 123475223"}, {"CN", "TeleSec PKS eIDAS QES CA 5"}, {"O", "Deutsche Telekom AG"}, {"C", "DE"}}; + QTest::newRow("frompdf1") << std::string {"2.5.4.97=#5553742d49644e722e20444520313233343735323233,CN=TeleSec PKS eIDAS QES CA 5,O=Deutsche Telekom AG,C=DE"} + << DN::Result {{"2.5.4.97", "USt-IdNr. DE 123475223"}, {"CN", "TeleSec PKS eIDAS QES CA 5"}, {"O", "Deutsche Telekom AG"}, {"C", "DE"}}; + QTest::newRow("frompdf2") << std::string {"2.5.4.5=#34,CN=Koch\\, Werner,2.5.4.42=#5765726E6572,2.5.4.4=#4B6F6368,C=DE"} << DN::Result {{"SerialNumber", "4"}, {"CN", "Koch, Werner"}, {"GN", "Werner"}, {"SN", "Koch"}, {"C", "DE"}}; + QTest::newRow("frompdf2a") << std::string {"2.5.4.5=#34,CN=Koch\\, Werner,oid.2.5.4.42=#5765726E6572,OID.2.5.4.4=#4B6F6368,C=DE"} + << DN::Result {{"SerialNumber", "4"}, {"CN", "Koch, Werner"}, {"GN", "Werner"}, {"SN", "Koch"}, {"C", "DE"}}; + QTest::newRow("ends with hex string") << std::string {"2.5.4.5=#34"} << DN::Result {{"SerialNumber", "4"}}; + + // weird spacing + QTest::newRow("CN =Simple") << std::string {"CN =Simple"} << DN::Result {{"CN", "Simple"}}; + QTest::newRow("CN= Simple") << std::string {"CN= Simple"} << DN::Result {{"CN", "Simple"}}; + QTest::newRow("CN=Simple ") << std::string {"CN=Simple "} << DN::Result {{"CN", "Simple"}}; + QTest::newRow("CN=Simple,") << std::string {"CN=Simple,"} << DN::Result {{"CN", "Simple"}}; + QTest::newRow("CN=Simple, O=Silly") << std::string {"CN=Simple, O=Silly"} << DN::Result {{"CN", "Simple"}, {"O", "Silly"}}; + + // various malformed + QTest::newRow("CN=Simple\\") << std::string {"CN=Simple\\"} << DN::Result {}; + QTest::newRow("CN=") << std::string {"CN="} << DN::Result {}; + QTest::newRow("CN=Simple\\X") << std::string {"CN=Simple\\X"} << DN::Result {}; + QTest::newRow("CN=Simple, O") << std::string {"CN=Simple, O"} << DN::Result {}; + QTest::newRow("CN=Sim\"ple") << std::string {"CN=Sim\"ple, O"} << DN::Result {}; + QTest::newRow("CN=Simple\\a") << std::string {"CN=Simple\\a"} << DN::Result {}; + QTest::newRow("=Simple") << std::string {"=Simple"} << DN::Result {}; + QTest::newRow("CN=\"Simple") << std::string {"CN=\"Simple"} << DN::Result {}; + QTest::newRow("CN=\"Simple") << std::string {"CN=\"Simple\\"} << DN::Result {}; + QTest::newRow("unquoted quotation in quotation") << std::string {"CN=\"Quotation \" Mark\""} << DN::Result {}; +} + +void TestDistinguishedNameParser::testRemoveLeadingSpaces() +{ + QFETCH(std::string, input); + QFETCH(std::string, expectedOutput); + + auto result = DN::detail::removeLeadingSpaces(input); + QCOMPARE(result, expectedOutput); +} +void TestDistinguishedNameParser::testRemoveLeadingSpaces_data() +{ + QTest::addColumn("input"); + QTest::addColumn("expectedOutput"); + + QTest::newRow("Empty") << std::string {} << std::string {}; + QTest::newRow("No leading spaces") << std::string {"horse"} << std::string {"horse"}; + QTest::newRow("Some spaces") << std::string {" horse"} << std::string {"horse"}; + QTest::newRow("Some leading and trailing") << std::string {" horse "} << std::string {"horse "}; +} + +void TestDistinguishedNameParser::testRemoveTrailingSpaces() +{ + QFETCH(std::string, input); + QFETCH(std::string, expectedOutput); + + auto result = DN::detail::removeTrailingSpaces(input); + QCOMPARE(result, expectedOutput); +} +void TestDistinguishedNameParser::testRemoveTrailingSpaces_data() +{ + QTest::addColumn("input"); + QTest::addColumn("expectedOutput"); + + QTest::newRow("Empty") << std::string {} << std::string {}; + QTest::newRow("No leading spaces") << std::string {"horse"} << std::string {"horse"}; + QTest::newRow("Some spaces") << std::string {"horse "} << std::string {"horse"}; + QTest::newRow("Some leading and trailing") << std::string {" horse "} << std::string {" horse"}; +} + +void TestDistinguishedNameParser::testParseHexString() +{ + QFETCH(std::string, input); + QFETCH(std::optional, expectedOutput); + + auto result = DN::detail::parseHexString(input); + QCOMPARE(result, expectedOutput); +} + +void TestDistinguishedNameParser::testParseHexString_data() +{ + QTest::addColumn("input"); + QTest::addColumn>("expectedOutput"); + + QTest::newRow("4") << std::string {"34"} << std::optional("4"); + QTest::newRow("Koch") << std::string {"4B6F6368"} << std::optional("Koch"); + QTest::newRow("USt-IdNr. DE 123475223") << std::string {"5553742D49644E722E20444520313233343735323233"} << std::optional("USt-IdNr. DE 123475223"); + + // various baddies + QTest::newRow("empty") << std::string {} << std::optional {}; + QTest::newRow("FFF") << std::string {"FFF"} << std::optional {}; + QTest::newRow("F") << std::string {"F"} << std::optional {}; + QTest::newRow("XX") << std::string {"XX"} << std::optional {}; +} + +QTEST_GUILESS_MAIN(TestDistinguishedNameParser); +#include "check_distinguished_name_parser.moc" diff --git a/autotests/closedialoghelper.cpp b/autotests/closedialoghelper.cpp new file mode 100644 index 0000000..088584b --- /dev/null +++ b/autotests/closedialoghelper.cpp @@ -0,0 +1,51 @@ +#include "closedialoghelper.h" + +#include +#include +#include +#include +#include + +namespace TestingUtils +{ +CloseDialogHelper::CloseDialogHelper(Okular::Part *p, QDialogButtonBox::StandardButton b) + : m_widget(p->widget()) + , m_button(b) + , m_clicked(false) +{ + QTimer::singleShot(0, this, &CloseDialogHelper::closeDialog); +} + +CloseDialogHelper::CloseDialogHelper(QWidget *w, QDialogButtonBox::StandardButton b) + : m_widget(w) + , m_button(b) + , m_clicked(false) +{ + QTimer::singleShot(0, this, &CloseDialogHelper::closeDialog); +} + +CloseDialogHelper::CloseDialogHelper(QDialogButtonBox::StandardButton b) + : m_widget(nullptr) + , m_button(b) + , m_clicked(false) +{ + QTimer::singleShot(0, this, &CloseDialogHelper::closeDialog); +} + +CloseDialogHelper::~CloseDialogHelper() +{ + QVERIFY(m_clicked); +} + +void CloseDialogHelper::closeDialog() +{ + QWidget *dialog = (m_widget) ? m_widget->findChild() : qApp->activeModalWidget(); + if (!dialog || !QTest::qWaitForWindowExposed(dialog)) { + QTimer::singleShot(0, this, &CloseDialogHelper::closeDialog); + return; + } + QDialogButtonBox *buttonBox = dialog->findChild(); + buttonBox->button(m_button)->click(); + m_clicked = true; +} +} diff --git a/autotests/closedialoghelper.h b/autotests/closedialoghelper.h new file mode 100644 index 0000000..8fa5b6a --- /dev/null +++ b/autotests/closedialoghelper.h @@ -0,0 +1,39 @@ +#ifndef CLOSEDIALOGHELPER_H +#define CLOSEDIALOGHELPER_H + +#include +#include + +#include "../part/part.h" + +namespace TestingUtils +{ +/* + * The CloseDialogHelper class is a helper to auto close modals opened in tests. + */ +class CloseDialogHelper : public QObject +{ + Q_OBJECT + +public: + CloseDialogHelper(Okular::Part *p, QDialogButtonBox::StandardButton b); + + CloseDialogHelper(QWidget *w, QDialogButtonBox::StandardButton b); + + // Close a modal dialog, which may not be associated to any other widget + explicit CloseDialogHelper(QDialogButtonBox::StandardButton b); + + ~CloseDialogHelper() override; + +private Q_SLOTS: + void closeDialog(); + +private: + QWidget *m_widget; + QDialogButtonBox::StandardButton m_button; + bool m_clicked; +}; + +} + +#endif // CLOSEDIALOGHELPER_H diff --git a/autotests/data/1500x300.png b/autotests/data/1500x300.png new file mode 100644 index 0000000000000000000000000000000000000000..d6e26b995f154e93a89e91827d16708b8c5c2f89 GIT binary patch literal 303461 zcmV(_K-9m9P)EX>4Tx04R}tkv&MmKpe$iQ^is%3U&~2$WWau6cusQDionYs1;guFuC*#nlvOS zE{=k0!NHHks)LKOt`4q(Aou~|}?mh0_0YbgZG^;BHXu55t z5^*t;T@`y?5x@X~=tWFsmN6$uNpu`v_we!cF3PhypZjz4sX2=QK9P8q8KzCVK|H-_ z8=Uuv!>lN)#OK80CS8#Dk?V@bZ=4G*3p_Jyrc?98VPdh+#!4HrqNx#25l2)_r+gvf zvC4UivsSLM<~{ifLpgnAnd>x1kia6AAVGwJDoQBBMwC{a6bmWZk9Y77yMBpW3b{&P z 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

-LcfQ-bBJrmPtlbL?0-h(yvRaK!jK`= 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�(_Pnm zXq6D6vKoPi7Mf4H1NI#&69~OH-N!O6F`37@(})(ohdtN7^({ffcUh@j@esU;q5EG) z=NWuvegq5|G4KpN;*FdITH5qSnzFY@ zB;ox_^X4RmvZ}Sl9B@iiYXKSnSCw@R903|(h{wH<|0_4ps1o5vq5V*DxhIwTd?@8C~C2^vwZ5Tp*Pm-V|~esvoj;5u@J z7{CytBY+Q?47i`g17dDPgEb7G>PTv|4&*=tvGh)`iC8a|yeyf!qyUQ#AhM`l@-lSW zv*#SL=7%eA3M<2MYSDA*RTP4<7OuZ*PjTba+Ocdk4wjb{ zqORHsKaY%AqAqLndZ~js;qP{s2u|>r1dvlQmz|uvsrjC>?rF8Ne;Zx`oJ&=JAc7te z6O@P!YmVPK=yScP^?f}4#zG)czF#sj7mxD*yz=)#v;V&e#UgtFSs#T3DLs@9Tt6h` zIcy<2Ig^sB3H8bU+?Wfo_9vhPFT>%a?NNa*T1p7~M4#Rxgn)9eIkUeD2n&O_im?^< z5MUZUlFY0h{N)3GU!U+r6QTH`-gN@3Yxd_YBA1Aj_AX2Q!68$QOM(yBKy;nNZ|QgD z^KhHlHTU|Il1_oo|)XQBD_Q@QaG|5RLkY1!RufE&eu{5 zUC3q^#+^6Tv>vcrUtjXC3-+H%{d92DkHXz7$8q58k@0h|&Kih*mo(lIX|s1w?hw?e zN=u|-iX*elyh)e|VNr1*jpPD<{2gK$Kha;#8Y~-79#3TF5+C5Iv$Gaf zqcCqtYepq_kvr_!XODWoO9V9@U&QDwJLh|gS8{CeX3yvE<%ye}+v#z?`^2Ud2(En_vy&U-Q zVeFY_5x-8Ffp1O}87s-aX7-!0&gM2(BhP!juliN=z;Y46R4ld=LjXg@zI`}i5s$5C zV2-)UzWqVZErdJ@7qQr*8nK<#-(sq~$hZ|83Sh zPIY>1U9KuEs!w&P)>#hKj6Qh1?GN>v5H4U3*5IIXk^z#z{!Ca=QP0>b=SPAG#Aex} ztfzL#&W)v7gB@JILwNS}&5wmV3;XlsN74{G(raeRk;hdWosP_BGP6)AeLr|;2q3No zc~-1Ib1$uojP74_&W)@HRiB(s<;N;0K8uXZT{2TkZg-A+I(5-_do-1FOSugdIvHQ9 zHnj_Z3H}2?$-UB3Nt_ z81lIgPghTIzhia*18*WQSO;^*h`KA|Ip&euZe$-6G~rfx$sK_4QtJg^(_M6aU;HZh zoeTCe71y|y@SHgaBZ^dONm}aUakQb;2Qd^f5(}ZdH=c3J7@}sLL6+a=w^YSihIoPd zrBp*!n%xe7yEu*!CjRfj;*z*dYJ{_imW9SwwAx}qUo$_~`=?+H%1#Seht0u4TrDQT zl_w5($jrG%Vv5eZjr-^S;wLC~17{4R{gn4~Xr@Q5VXM1527_CP zmDUyfTUVha!}tAW6{cov6lM!8v|zMIaW*h+q1in1p1TuNmcUKA|EnX6aze7W_#Weh z=U}5=VaN5?oV?f<#y*?4s?>+Ni(+q?cw9(8oh3_<$sc(s&YmFWM+hFsPidXyYcA)S zRDQx9>5Ss+XSpCr>q%O7Whrq-2+YnNiEy!@?x7jWZoj9oIS~aIS^5717j2?9*DxYz zy@Ej?gEkykR<7*E@J|1;2qzCQb%zzk@XkSaMa{xX;RD1$>EN^DSwv>8!_jA$4(F(o zZ0<9CpZyKW-Xd0AejbFVJrpR!yNEaq5i1zBP%`mVnfoIW}2$8h9w zm6;&nzV)18HO`a(ZF$Bn1KZ}wzoOSQ*kHrNE8Y*wEMQFEUyeG}Ezt_o77okJ0;-%+ zRCG-lLj~;PdtZZq4i~tErbN*ZvVgJJ1GSS%^q+qp^;0`HpJy{#9CBnr!!xbzJ+2RF zfIV10hSkZy712A;v_PKJ{1(Iz!JRSA_z^K?p3d3g12Pz6Ck^boL)-1C$>GWYEF97e zmIrHicBuQ8DqmG-+^oJXN2y-ZOjoz%%2}t4S@N!-x`Vb8jXUs54kYf(8Fa;$b0=v` z*SHV}X#R*NN>>PByqgbtm#8=j=cSCiOA5&XPa7%EuS1X ztn{5d{|%Bi+HGSy+_l>rBb=hiya);Sq@U*XOd)TJDa6p84G%f3-_Lk|4;HcF3N+M^ z*-E!e*X2koA19(!^k>Bu>8iaII|PSxCeVw^HM&EcJM;pn_`eIbxI_r{Uw+y6=BDw< z^eq1RneOm?dylp34+VOIL7PE@V7oxSqH~YWfSvJg3|;TC?NjosPI@-0x(`wIq!3?FdxU%?|HYhifpzNX(l`+Sa$dx%fCuYPG z*gw@SCDH(tXgbCu3A}msJj2&6oua(bWxySE)JCW(T!q8Cml&P%yI_wUj(?z!IlFe8 zd#6~%>Zw?k{f!LJS=F+)!wTX6x58~WG)5^3KBd+AL_%Vu1i=QTCh}WHMEOcD>|Io- z(wXxKwN9C~0Hn;wx@o1~rrX%#S8_2DLqn8jO`U1eiOkjIVrmD^xQFgCI?F3C9q$1J zAOR-m6v%8BAS|@AfO*<_nf+uB&PYZ@qjW}Z%XN~tXoG5U(fB_8$O#2V`KY{N5uMo1Wb?T9~=xoRB8{=9;JYqx2 zIMJ0>>wjfiekZa#=%C(Wt+6^A!CBjLQ^kzrAET(WC~1JE-hz#e}!@azad^ zrE_{R(|lam+E0B_RQK(m^_v0M!!Ck&0~>aZ&Q6y(m-tD4Z6`ub9{S9sJ#y{aC}zc= zDB!A@rquB!`4Ou!XC5=(+lJ#dx>|_BAA*g*T(JOomQ^*1Y|zqmLp_W;aB!V~n1m4R z-)E!YT}3we{8wTJFK)M7ZmyTPjo)z%3owHmI)p6-UK90$@5uqMQ1g;*U07|8=t8I; z87lUb1fxWP@i>(Kd=HTC$fLHIuSwW6Jj;PTyGiv`jr|{JhGh!rzggoSWMz<79~m{TwE@MUhvL0uF_tfFBV1}=X=z^66HXbapuSpgdruO zgWY`uaCf0h49jSu=yz0&5B4+-0z)xFiBkdFE$jpnP6jjGc~BWW7W|&;XQVOujm>Oe z+$;-l@=q>Vf1Ax|<(M~PmJ4sgv2`0L3JTbR{h0FKqr2JkJ(I{I-)0lj*BSIPK-GIb zGV1A%06e7hiYmLxW3DI<9sDrW=L$a3$T&4e;Q<_FHZ;>_jq=-rzfQU3XUoNP7rMp( zkADCR`iaP8&K2inK`Js^+#KZ9pOIN#;=n)zcqqVvXMadM-xf9KZ^Uw0DUgGmeSejq zI>OWb^*d#tn?OJjNH}D9qe$jG)11!&2WZ%8D$L5$pyLR||b=!NAIb(M;luQR^}s}Tj{M-djNm-EVgE~j(uz< z$xE7VuSp1bqLTsZ-og4)DFQYXgDjz(7FlP%59l?Vcqk2E;kB#RXi9{ipDNmYHAOHH z!kawTTT1Hb=i1Kj`aM|IG9Fpja^8o4jq#@Kf-?VHl+2wndEifs0J#@#gfgQ9+e!S6 zJztpH1JruG5gDs61Q zu^ljg_jCVn3VyoFPe5C$CKN%X1+rX=4ChQdxU23m_f9x-0&hijR|o>2h>YxkXSs}dFs%lsD!@~0}H4gOH8U6E|A7!|Jgmx$_;Vhzh?zW>-?Ilxs^%dpXoMU z;H~I-yj!JYUh=2n&y}p$3G4_#eoz5+Bes@g{W5&3B?EB8oRuX+i$spbiCN4X2{u8ELFv1~}b>_=% z-fYefN!V6A=n4_VoLLg|!k99O!%Ws($4ZlA7=da_$Wt-Hb(p^T8(|4M^fSp`YgrmC zCJgdCj8SR|WF5x^a8!JlojT0O{wG7dq+bUTH$jZ#`kD*a#|=ViCgeAhShjsE+Nv14 z1}2Xy*tMa0KC~H5z@1dNT9c*lBJsO$*eHZw_$=K5^LnIc7%1Zhm=a)v#E*4-G zaDJQ}dcb6?j6}g<`Sejg=3BCdvtUv_FB%TL-Z*(z6_iN2APMkbuHlLw|BjQSmmV|e?@1!;Ox(EVV6(X|S2(z^ zdZK`EKONTWpf<9vMYD`sCe6LzQY%Do8JtjD&c3(NKjUd439c(+Cc$ggCR(NqLIL!( z(&RlVq8|h)4Uc|YaFzCT{Ya_gQUT~p_=|sU#hv@JM%@wQ^!pV4>*s^#4o`S6KJ_U5 z-6KMfksW-dzsgRpe2-mSYMSvj4}};*$?-$j=baR@5H)5GbkS>6sONY1z1u)zkr?8g z23XSL3grs8{6p`cIhf8@?u-YakCkLw5dsrvhqC_V)2juX?ay5|IAg!+L~H9FR68D{ zFq<(4pAJ66Kr5Nl&LhNp|5S&tewEFihPat(jF&}G(S>k`9OzxV}K;K9|<@#tsu9lyzl@F z!n+Q?yU${x&C?c>CYIH#;-RQeh@OF7`2{OW8j4p)@xEYWaxpQeVxt)eOZJ??rg&^<>628sPa;9`kq9>}*eu#^ePzs|bN> zQ4-pAm5xQZz4e?c+3LV09YnC$mG;9I!B8Zsuj3gn_!>S6BF<~f*4bd}?g1nssIB~D ztiF-a&If46c{ERccOM>n(jD{}n0)4XCQk<5$hLm2Lkex>U4xFIXqu3RVxd^&Y91!N z_#OLf_xQHrcKf^dQV`+gSqSh-$!CG)RiUkClOb`1QT&PGDmlb(4e^{)JE9FzV(jyL zf;beg=kO_EPiLA{(FxqRisBCBq9u`{A?nOQ%M&)(h*Hxh#d(x0aYR-;4p7a>0`>Lx z(*fCa=dv6{_(6iDlSp$@CzynRKf}|yBGp|ZompT14Sm7>Tzz}~%v}iX8eGYN|B%U_ zl4AMf8rW`8fGR`96^hKneZs9MKF8thEy9m7yiG8mG_OwS8yGLLw75lB)D+A)t5D=F zyFYO_0o?y9LLXqn4f-D7VyJeP#JOV{_6`PVS7ddC0+uGFG^td+cCvo^P|S^*`Fb?R}oE|CorO` z8^ML8n*=C*YHVtCSQm`$*DQr~nl{1A;2sfUbhy0A zI0RnhLlar&RL3h!DC5zV1eeD^dn3NNKBG;W>C0vuzJvxE*;W+0*i_dlS=L>v?s%v! zRJ%pLzB6Hoa>}BR8H?G+|E~;pALy|%#$^~6#X(voE`tOUup&O^v1QIPYm0H-Vj~Wi z^i=DOM~f`=yj-4zg1O5u9=z5qYPxtO>al=lVGcW%^#Q_wSnjyzgqF*R_7Gw+xZ+qW zmV&}dSu(N^i<7~MvuHIZb~1C4LiceO+|FT4iLUUle)F@)VXI<>Jy-r23;JOMF{cA~E*zV%~u?*H*5v}B0!9ms5>REawfhOaB`=J{8ILn_ z6VB~fr4N|vIc9&xwJr70le2`}dS5Zwcn2B`+*<{vF&uuQGv+C9cjvq2?1jFL6WPu_ zAaPCSwE9B-II!GaR*nXa`ms)V6Qcu#Ez|1(UZNZ%bJZ=0%0LK3PH7&2M8{y&Rn{43 zei3@W+h+fQA+n4Jv-)S0G}6y{mpH>C{(^h3rWppmV?U*5ye>6x3>pl_-U1!)RzaPz zY;@5S{y)mzbxo2S$qhB^`@b{vW70_g21d2^eA3R*bXR3YxRYkM%J2!vo!7!RBPfIf z)qYIUD-88_gJfRfsZHZUK=A^;=Bgm|?!bOtIgEMBO)hOIl(}(%qWTKL&wmpq zv1>2jcQn@wC+gBKZ&@;(UY*B`9aA$o?cJ`mt9;UY zXkW4$(=ElkNRUEHeEA15V9gi5`fqC#-bR7f4tU~T^lu6xlJW1M%_l)5y8c<`C?$6E z)AsV;8FgsBqAZFP=TrAtmk6x`i83Fob{ADq|ADf8)5-k+IOvzkc@|om@hIXSC8BKM zu6O{us3880(xvF%yj;>BSK5Ep@zCb-a131m!Y)FdoP()3|2qJUh%#1`x;t@Y-5FJc zJ`y{3cetC!k6koWD_LQcP?)DPnuWB(uP+yVZa(%vWOmAje+am4-4)*xi|bP0w5FDe zaUEwQ7=1M|KM;q^sB^1+mycd(-JR}yK##LRL;-*I246TSclyMMc!Gb1feDOuj>t-DJt$O`pqb=0Q9rhOGmrzSon@ZVwT1(-n4$_TM@bCJ@8lV}S5-BcaHJPB71DWSua~Et8EfL4qcp#1| zB>31m#{aTm=}|$+T8@>&6)<56s4nd4206!a_m$PVZVFl^6cm_%*u=8*9wXWK^gPE_ zwc)t}aZ|CQ{*vLER!Gaydx|=-Qen#dRU#y~VqJiFELHnwAkg<|Y>E_AP;O36*Qbg> z5LO&dj-?4UXb}hu)w2;2!Z6>G4r~yWs;m*U-AkQ)l zn40a3XK)N+`Du-FyBw!Kd#I3D8Zd8}&X*;pPzX1`2eovLb!{Nv9sJs|rbY2^X)ylz zKQeitVfozZx1CJP^ZP(!PpC>RE*BOlP4g7ieiA6bE^l00x|6Lw@N;KE#v8(tgN!wH z!|Z;GrdYruES|!^P0D-zGaqs~dGu3=B9k=z9GL|))5%%s<6sm_VLuoJ4Eu5oTXV%z z65SQj^?ZT&1h_jnBB6nORoe>Tc&Lw~N%GMJH7X$3OR!RP3s5$QbBijTeC4w6Ao>u|? zMXZtfMmvmpyF(CaKCXxqpJ6Yc0J7X1`Fr2*52EbTI2~kzb&!$SsgXbrYtza-#R0~1 z+;V97LxdpYn5pGf1(*ym|;g+={2mP5Id*@kib(1!Wy0Ev3t1#MzMN}y_}U8y50{O7`mCs-8AHm z8k_s*(NLLb4HG2sANz+d5a~uskPz4aWX2b{uNIv^hIZ3LMY9}YdgigA*RS!w#Ad~o zqA`OtH{7KLxrbcTvjnPyAO|Ki!6gyDT_}od*?D>=@@pp_vxvfo3J)KFbBu>bWCnbk zGXSdc*546|NnGXsEaIKz3`&ScOUc`CKq4s|sMxbaovXF=TVG zTuMQ1`KbF9hnIOW@DGT{jcC&~R$q~p%D2Re?=A)y>wcqe`Mhx+39r7p(07o9eL{pE z1COYlx`-TsX4oOR@M6-XUsN~@!3pH8rlMVYlFMN|>gqYGGAed1W`cjfwz=hS& zXzz%|SxR#L7r-4GcqS}{LF7FvH`nmO+4(|Hw#a;_u*+HjbUq6wX)37;%J5+uN6DDW zVH(D=-7f`}k;0Wd6>v-h&t_?$*|hZCqE<{L>h4h$KgipMYI0{oGGGrb0wsP1OvG4x zjFRUVT`Rc&lq|X5@;5{NJ!e2~iOHJ8O-dd4gY*lcr7k6$p}BmV%RWyiQ%)IAM4lw8 zmIX2V0sbs2Zqb}?1h#=9vVLGJ9%*;W_)^BObFyXxUQ!DzOlE=ISibKiPIxRb{vE*k zfRPse@xgm3%CFirt(zu5KP(>v_|mwiBz7Q5vhnw1HbJr*Znr`evlsSNLf<}m?)-Bb zchTDT=qY}fn(N)7Cu)pLi#E~j30rD>NKjktAZ%y`2A02yUL=e4*}+@`B&=k6l|5b- zMo7CWE5M@0Zc@S3fWtgxtm9u8T1G7j}`6-$0fXy+ft!yh5_f zF!H$VMXSURKK!@x;>N9Ul{~qs1}&zDc*Ny2aJ-081X#U$1nz8$_A3i*AVemxZU0P% zYrH%bVF)c8M~&iuoXI-h8IGczBpIy)u5>Tj`!#zREPDl0w7tYC(Ro6eGS*A9!wsuv z4oi!p&N>#9i# z*ZwI?H;fN+Ye7NI5Bx}+eQumWyP=jxWF0Yhv~b@&BI6m$7k9)OT;Mg#5p)0^#!r~> zRAO1PZ9V(So}!S#h}8Xq=6Ew8^~+`l1GsQ0L-I8n+TjB1ZdA?)fs`?V*jEEuaX9yR zn*y$tq$+?YLnpN&VIv)Yx3C(GcyKI!ys%nkIWk0Y_h(z-zbraYK0rSw*Iewh_*fLL8`vp*zV3*S7=j(eDhONTMRxF}$wd@F4dOaNV;co69<(}vGDpgHFKkZ?4o? z@F}EA*8)lp4?7v~FO2s8Hkad!#Zn@bQoENj`E{*fZ6EqD3!lkUTc8~KBRQg;KepK0 z=>o9VhXqcQ?s-`lV(ca&4I~uJ0NQS3!v-QL%NeZ~gTgmkxm4gdpv8$gQ8m^?bG76e za6Qa?wkc~^z^DRsiUSJVPSZs+WVm_>tFn@sIAo?}$I@-@h;rUg6zP|R*`QvEPb_16 z{W*Lp@*3-Xt)JYPhut@DhmhKTm@oor&6h?N!?FY>z1a721EZ9*7h<}wQ*Smb0C}q! z%EvYPGlnp{gbzQ;h(Z|7Lo^Z#Kxa{R@v&6C4skPmAOJdXN7(3ZRxmD070C3^n0*sX zn9c%m(PtcmOtenIVaLePou_d`P&uq|S>#iL>@~^pF2peT* zOd9KLic@bB6=bKgp&7ud8`a+p-*oBGE_jzC-ZTgq=D*S`_ z79IE%FD^HRj!G3ek9YzI(Xx6qSoE7sRfn0L0TwX^e7lMe3b8M<)rigwv&)>rDEIyP zQ(QH42@B6{xARHGJ1wWQs-C#jRT@ViWl$)9QbssBkj|>(7y$(=Qs#6L;4w{3b?vTE z%?fVYvd2w)QAw%Csu*oy_xrwYBYC@p)>{boAlcMx!k6ggGEu_Jdgwznx=A%0XI38g zUz`ki<0Y{K2v@2^Rq%b8(g)y^30LjwI;1l}h8R{?XT;v-fO1(e&rB>wA29tnpNKG$ z=cJL?5I3>8BZlQ|;;gO{{)>v=AOWx3dCgx80{b#0dBvj(I0f@7cEQVOkR`1bp_-UTuCLZ$xU?}I$oySP0 zhs0{pUB%^={-T0F#0;~4T8q>~l6C9@Yf(RM>MTg7@3W2%WosD9XDyBzbI~C6DO|7x zC5Bkl{`s~NRGsUr1uXaRDFTq?pcLUCD-P{A5cdYJSV48?t*I9qCO`Q~ze;>x0Ajg+ z<-TdLRckJb@8!5O;KHPj?4Yd|L zukjblM84t?=+EuQkf*RFLK&yIqeN>wxQCo7qIeY^Q;xZn=Y@#Qptrc z*|@(PS5T!ILo;cyJM@yscGf)cK2{Ye{h=4~k}mk$dxw1!*|9M8`k*Y?yqzZcIVXJI zZ1X_LTrPbGDFrUG(JjmtC9tUsX&z9s9%$^&KRMo{%+5f!g6gD`n0RK>pZUsVXCcgNrK)4(j?G3;ZVH9cnxjBs^e)}S zaTo0{KnR=LAHayp95vDg5eumbrf&4e#ZaAv2w>zA63PuzHap@$@Z|PPzWIZSI`0`L zGC6JgAyc!eP-+1;nkqqOn+Ip}6&*5+m41ErJ(R<6b7FZ}lxMG_Fu<7pu~23rJq9d_ z^2=LR(a&hH=LO}tfZIPI*edq?afh&c?g>U~*;<@r3*JU6{G&X>{G}V42+J)009NNf z&#|4yy@9wgiW^Ek9Bp6Gei$0w3@^eh!b!g3q#Bu+OlO|>rTF?qrkX1DI}6FRO(Whn z97QNC(m08N6HloTV2d0^aYV2P{Uq=WUDvb^B=|eZh*kvp?nVf|&jr4mNS*OWwnh5T z0dMaW*u6o^fkEu=SD#Kg+1C*;e}KV&3S!e|>zIN{hTwlUgRsg81~Brh>Wb{r{yp2Q z`B>Ow6j4b&!z|hNIcHf+9bp76UKE$cxS#=cDTW!33$8a77Jg_>8D^}rFU2)n67*ST z=D3oYsoP?L!zIF*wNSy7b;b72qDvf)borh`1kVCG8L^~Y0d_)X9(n(vfI8>h`9(b| zW_8!?*-1$S1ZWofA~*gE6|SM*1BvIfTTb_W&Md)np1B?eg5{X}C*W?^s9ZoOz!0}7 zxbT!*3s#mr?vg2AU`G^XVBz!`F+s17lWo{Vw+O`@WcGEYp@w$=kdDvKF6_!CI6#lr znTZ_}L9df5*F#Z5;m0tq;0v8WYuX(MSjL|74^`|?*ulsyBo>t10eOzunYXkro;>-? z?eM~n8ZJ>ZAJ9IRkz4}MTcRhK?>IBiL`%DM?;(e}kHMD>h7u9763D<tr8Gto{wp@5DX8%Hzpo5rSp^yGmuk(UdJS&4y6f5uU zFFw8pBw{+fU;|!^h6`|bue~ok$c_ydrYy=Z+XiEBa`ifI;k17C8QT|%=`zmQsq zP_RQS;=ZWa*&r7I3wX>0oWkvf>*w-gl})Yi${DRNo`6*RU)~`#&W2usXW8A;1wEtc zQ}Tds5K_BXP|h&_Xy%;AIommeV7&uuxjCdKRp=bbk~7y?IFB5>6BYP#>E(XSo0O%M23KU#OU5RnpitVCa1x&hP zktu(<{|G>7k$T?@RbE5y8(=lk*GABl_ecM;BSv-#frvm!);dR5zfUV%Cq2qGP+aOh zH?#U|?7(QVDDfr$=OG?GPRXq-H}LTEo_N&i$zIlPgWePFjDJ z{;r_S!C7W3c3$&O5UQ7YZXJb4FV4sM+ z14;j}w|YePg_7odw^P z5-7?Z&^{=}7Yqa&Ru9fs*h=QKWrPBzCK1_fkGHbH&P6;OK9tgqh0!HohYrM5+k$3h zvHh;I78GEX$F?c@jA#HYhc>fcsTN=OAz+G<7%~kEh%9dCm%o1XuB1Q^3e9|JIaw%q z<5=6sT1){hru!<5akI+WbMQe4uVUj?=7$mBPD=~9M*ailFJO!|7-Z))kkyT@?9liP zBJ6bxi!Ea~z^eY%VR~+4v ztnzx<^H1)qcBWD^e=k0FlZ8^H3Td8LeH4W4Zajk<=->ARvKKy25dZ)n07*naRM=jt z_4&t3D@CE}1l82%V_4?~IFBKe?fdOl;6ikF(X$`vhfx z40w(UC{|YJot;p|iiNpg_L&J#D#XwEByu!zS?NJ|Y)%VwW3BY^JMFbM}oqT;a1 zs9E;M8$;7w0=l$a@=*7Jh>-aMmMz+XkD53ouI=iD#3Z^?8387;@>Bb~ex=yE1ZIn0 z{GZ-#LPQR^!gU#MVlzwt`K;NwbbuwYe37y2)nz)?$8_#gzH4XB4w|u zK3ia-b+agH9l+Ny@9eC^?iBkIKv3P;Y~5ygZo&hcz>cXtg#vuz9h^59o2pr`BVzEe}@v6%NRM!=n^EYAaeCX!rNHzJe9T;d@ZvV@mN$pE&SiJ?Y8&|)nevNjb4 z0fgB*4u2rk3=(c}*L32)3Ra|VBA#Fspx@^AoNQZ zF+ep;#DGvdfaV9V?q4b*e{PEEL?6g-D3k~l78}-y3b6cEboTFKhl%|=zliGiPAVvn zS1sMHd=$@8N`@GSU7^OJh})$v47*z5Ipj970RO~VmV^Vw(qd}g8)>%82BKJD?6~4` zTOui73q|QRvvR@{@cEn+{K4#Ev@Trw0rnEW$hq(qamv@~w*pG>rgaH$3V3lzFU~E8 zqVA?ulY#t4{V6wmo>bAh>qmir;4M$y@E zzdI~zcouHypwB!b^4)}=t2>uJ$cA|w!C)Eh5darOyTHh%=8gg4&F%kOkiOIv(V1mV zZW3VkQ2!tla+#>*DPNdsb4g<@->C z9z|aU>y+s4C8Jh1-a)*aiQKmX+D<t}zeT=>{C}$OP-_D z_;ya+7@<351n{M?I%MM)=O>u=L*oXpEtMj5q$r;g+r;kK;ojvEvcozX;R!KQh@&6( z@DoOe*#kfNkr3~uU(tG}LIgnW%E&Z+&MU6`hjf3XYoLBVSS@?I0ZWf??3|}P9WrpX z^YJlKv+^Z$(t=Zdhkxf)z5#bu6l@lgLTg6n4<*t23!p4dnPTNxpe$ejAL>y2P@0;Y ztQ7l&Zi$}zb1b-}RFVNqb0+e)u#^ViR-x8@2$c+K-tn^FpyUg}7oCYhR0Tg+RD|+F zsP(XE9#lC4`44#929(8}j`Gh={+dpX)cA@q=bUFR`awpH*ySdyd#=Lx-*UYRalR-A zQ^MJEOCz6wtzxQ(Bg$nXr^8jY(k>U{w6P!kJfaCH>1(3vDLs+1@zYJ&V6pWm07?Rg3Fct}Rj64(E##%^}k2^f(s+5`|Y{_gUE}33L;w}O?V-&jw z#d5V$O~dwipPL0qwxKx?4JH7DvP2i+?$zW3$%aeb&^};w$2S%>-Zyro#+ab zw9sbur(|C5Omwzn#sJ2RQSs-Q;)B7?WY2r6(V82)y9L!K@9_iPjez*_V(2p_1i%+p z#kLo-;rve8G0sA$iz?pXqjh`$>HfL2C5<(f|6R=M3qs~w*4^M$sHm=)$oA(8P@hK^ z#-NkaNMeWYVtHhDTqy36^j=AJ@+8ASv+ZCJCzPpEBUAoN1@L)+tOA8C!f1gWuvijodNyXd<>p2d(Uhj@$h@Uui{LzB0qw;>97$L$_Y{>krI%=8o`c02 zaQ@NK`zwv?3EV?~+RZ7^W?NYI5Ioc+2}{xn!ZXu;MU9pF2oDF%6C?Zkt}np2)m{kt zDp#CqeP;nyBszwZZ-jkT|5I6V>z?p%BtGI~a&2ziU}!U;0zB)P=YQs0E=@^fyk zWIK8Oes@RBf+ehXh0cyNvCj8Wz7kGXxjGhgw>BEv?Reu$22gG0=KQ9lGL}M+oMD|OSp=5^Y8HJh0^i1qOf09p+Fer1>-6Yl(ItEg&19E zsb$TrP@Nt;%3Lo8#sf*Rv$`!wMa{J-w~^$Vf)bU3=X!g4Ctdh@v3H|=uT|ipi8T1VEjZLuJmAJ0% z^0%%&EKOs8Mj&ZtlHW!g^g?G*!SVfN`MJkF^WgcaULo2nZaW&H5LJiBVs2PhjdiSH zj$7V$G#F0A7a1EQg9&?9tOGsnx8&#>PQV)zqfy>Z@v!U(2`{N|bw&Mx3!$lJX8oQ1 z1K{3XV9egKPPQPF(cZ-}d|dFyPKUR<%Z@c(D~Hm3j4#O~RrL?^7H|bvv4D3LCbY!_ zz#lI8rCJRuq}kRARlz1y(nA@ zpB5Nd+^Eb}T~_Sk=zw~(X4HfCfHs=3%B}U`;{?1#IBS};g^uwoT~Iuk-CVQ^KnBmZ zdl8M618!gUwTXdOSwc>W%B=v=CHVC1!!kpEpX(lIXZFO{RZ-8q7446MDNcPJcEz3x z&9N4SrEqJD4O2ZcQKm5x^;GOw3IfJ^)Br4$G-y~ZDJ-GSF6v#=Jqd}X{V~4`c8+GHd?Y zF2ma;1ycTTUDD(GvpymaXyuGd_IvZo*yU`{?-f6am{d_D3m{k)>!q}jd2Yf}3C};q z0~Ubxt(<>$ZvVh~mvRy1k3$OLEaMxnje@DItKYybaBb6`uROcYL64Nkc~#}AmC=#` z;=%_DM$Y7N|J=_2=$Tb4OZ(@d{IYn>D!w75+i!zntN!9y7{z(qP}62x=P4%e=)G9R zBl;|t;Uk`4i_Bw?;8XVql=lKs+WgtonKAkr?XZd|*BcZrOu28EL6qDjlsZ4){!>Qk zAtGdfN0rBQ_pPK+*%h@Mw6y@Y2wqlF!a?)Ad$?G6ZU>_NUgRcvA%Y5&t|Oc3c3~>( z!o~Lzz-%A9pP7+xOxXwwM1hoKB9)gyDuM1+*=s-UbCJKg_M|jD46$b9{9+k}uiu}G zQXFdnJ3`Xy;m5(J3Wl6fb@PE;c}bpW`9LDmPjj*53E@pv8#@xfSBl+G%BI!WB=dg#6kOw_P88td+T7un@(S?gzc){Gm71CP3d?Vi z4ywdAF*Qt8;8#}uEtfSnD2Feywl&0>L}GoWUENvR02c^EB8G_&&ONYFUqCKAM9bBK z5d_mn2Q;Nto+x~z={($L!C2_a61m`u0S`WM1|$Dv)55F{K&O2YzjAgzpPRW z#OLefrxuV5x3F3|I#;Bsj31P2X3x_~*58*IY~cYD*oXoqZl-v}%49<}F*Ry>yfBOP zIfq9kLfGAPE`lqg5hrqqq=iqvZM_3 z1P@pS?AR<-Ph19{XD|d*>$}054|Jh)NsOIaG~yE#gm88vc?OReL99u%>;d3$Cj{{Y zM+yebrYMKr z3!wMEpQqUQ_~o9Xe88-&KDa`qj1G9no0(}0L_fAv4n!6#DvCuuU-i`vVh)En*KRg`6wiXoUOd^u9~Z@DsX1jcqUoQdO?H) zmH9ayILq%g09yWDmS+ubk(rWGSeU{eP6oZBqvUj^;2yJ^q2WKw?INN7b3}Ps@Bf!r zFzg%M{TXH#!{qguh@_I z@@le7rEX*4BP9$0bXqyxcnl!`BsIDso4sSC_S_V23vo|P+SvN ziN>Y0QN<#vVybpOjhB|x0goG5LYtbS?21ovESHzRpCT-R%TlVAQ~`ce&45H6*hs9G zstZ53TbfdWxMWX`rJ$c>q}wu;(EiE|5n1vqi$M~>sxHn)7fMd#0>^e|zUf;88UM<> z-?buiuy-yQiOA-qW@t`1Q_7cuvJj%GL>vU=Ov(FRp_~_JEnN%@Knc*vA=WQk1xLML zwE$=|2HKrnp3%>BAJ5R(AcneyxA^z)xe^PQv2EVo_O zh@uqB2&uB%Dp;b9N=Pr&iP=jf=nu!oKv@+AVI_S)W_WDO zV*kv*nw_EZ@H;`)`bIn_-^p9WR91%g?7V0rfat^#^3Saw^;QnkL@Bb9L!-R(tlF-j z`%7>$ruKZeH4SbI6lc?m0P{GmW}xP%qs3iqo7LSLF4hhiyH_ncW@v$rkmt$d;Cf`$k)e-6D+p~odz%B*eu-L8E(ae!RA2r=Uu5NplLI3gb=pF zaYycMFH4dZsH`!zDyxVL@ndKENVlIs)S+)wlDq75775vdY8X4qxhGKW<`#AJ?Hd1~ zJoW$D5#Q7${+ilN!bLK0>qWad7(mtZ~GyPifR4>Tdx2$3&1zmg2oHd0a@k)|M`%+Q#4a> zA{#x<(Y68-R$%S}b!07XFFa!dPPf&=*x!QgW_w~jBHa}@YT2jvHumNX4rP7 zaS$jQ{9JXJ6=NcvqlDb4s=7}h+q|xGO5!ZG1fpy-XiR_Cc%BL?zQJYINMd~!C%S~y zv7ls{Ddg~4SHAoA^P`T~pHCYeamR|K0(I*pz!i73 z%FY5%X&HZ2u4Tir4@Guzl^pg_eUH%dF z_VeaIbK}0qt(JS{oXefj`&!y}+JlrBn=T&qfLBZq&%fu|Oa=&Y{>G+SoO|c2#gJU1 zB=gln2X5U|beClXG46kkcrO{G`t)O529iX zeWGN{*OhP(l$g)A|Lmv-Epgzi|nSR%zq1Nk$#I%sU9$Bj9ga+Xs; zc|I@8JruvxQ}X^?!wS+=8B!Bkm%#laJhi~aY0f4wW_B%i#JU|kXxjnHcRQQZaWLWs zDhQipIBArRTac@6!{d>k`^Wz8_z*57LHs%!QG{+LG?2~(7-qxxds*XO0n9FV87~}g zSWbjs@IeyugC&by_s^lvHZNp9QAyOu+>{KOB=^j#N`L0kgD1PW=hSd)Re{U`+-2$p z<*i>tnwM5#Rm0&b5f~&06p&7!Y&S#OqVTVB8o=y#T@}P1FRtb$`cSQ9rmgS0SxunX_R`tbS^j69Rlvqdxp0LjS1;&@r7DZRC?AsImwV2q*s zUiof90#Gt_=_(M|yGSp=3D%hkApcp)^zg^1f|1AGZFBr9YdEXhMKOf}CIQYuqBXax zS%k{W<@gW&%B086bo6p37=3@8_F6R)m5CwM)vnRuBf!{xu!c{ zFbx?jyCYo%@Km~IAT@7s?=6~z+5gh*x-#16*=q=uPd>xY&I-vVPXgiQN#Xzrxpv&R zhF>6&0AelAI^(b=ZTc|@$bj_S6`7Bpq@!iDBbR>6vx(sYxlw%5i46Yy9|3?xV$VTj z0_MNLb9N<7V`?y97g@$Ij|KK^@#wzib5SX|S~}~%=*S0{#`=CE%H2{$NotPd&YfM? zwYVu7nP(9b3;2o&MHf3$MP_s!{AT$B;WTDqil+h$W(`$BMhLH+4Fw-I*#3-W1VYrjQje4(%ye_06Cry^FV)Ub zz2L=5hS|gm^m(-pN?TKtfM$F<$4XDEz7iWlB6lAP2xDK5!bvu%pj_7YnO9vW4yjH7 za7tauM=k}pDarDGWE~@6QPhp&cG zN2RW8w7&Aw^BpBcm zLf8VGGXrOQacua*hF~HWRY3;^0qrO$LMig0kbeD-yxG9YOGL?d_wWUffcbyZDot}Gm4rw-L8PB(wVin9`EX+JVtU8 z_RxhXS<6pY`gScXbwA&-lfRwCa_93({$uyc79D%n{?4pVMMhWMTif?c#b~}iixN>~ z1W&}}(U(U|aRc(I7Su&YArKYse7Vtlk<+9Wm$5U8Q9r(*jp(1U%w@Uyo^z7xfy@HAN+*|&nm1&E}@3w zh+>OA7VCI{*jT|Swp#c?N>MAIi|>>T%tq~_aes^M!XguB|9|B zvSv(fLstplMd=LS6bgrXp+q5^aYq&MF(B99eNcD-F#ThFoXY+`}YJ^ zj$bPdBE7_xQy6U~pwVDEQMJjLa0osw&boz07fewuhK33t%a-LrSS3)n5eV>M*YRAK z>SyBjZkhWVz?mI?q-~sw{D>@)V(&Mt8^7ORUw{z%4qDJI<;ds9>~U@Ybj z6#QX6SK~Q} zOYt*8tax8!#I^-!v2ecbjl&-QCWDX=HX;Q0h!2>gWwxxNMF)N*)BguL-FOx+#Y&5L zo|`{db^UwiMi)G1BPy97g?_+4KR1^682!efWol7Cj4YEMS#mHvgiG0r53mf&C`GQ1 zDN5`BSG`XeOWCF&Y_R{o7besXKo0xBwH}x(lJh+FRjxRu?hN z)qQ-e8G!biM4?%h!BVyjgrK5{bS4}W3rV5RiHj}a{v0OTyUUm^=KxbctiOBaOJ5fo z3_#cNY7~8xmTzML!$~#neaqt$@c6w@5OgO}4JeY|EsK0DR)hY3On@gd08Jnlb3Si; zl8Hy^KksuZ;|{ZX_9J9u1_W=}FGI>>VBK-2T$Q_;V2{IV5m-qUv4#=ss3}+ZFS|=| zidk_aeOI9Xd0wN%Y4&pkq%TZ!MIM|?>dV6$-qYJNv&R4cAOJ~3K~$hb-^$wdxwWPc ztnZm}rXos~#~Wc|ei3M60r2xSmF(b6gOT#3D31ij4T&Z=JaF*m1}oQ3WSv=U1M` zzyNqJA!7lo9%P=Wre0Y<@65|G?H~^Krj#0wbkj^I&aA@I$=ptPfKE7nxG(r4G0hr#pvV*TCF1bf0RGnStLSOB7e>Ar0)1>lq+Skwwx0_Q!#QmetJ^8K6_0&c7D)gx6r*Yw{C+7XLE z=D&u$jxj=#kz+|y3MAQ3fff0(%uz&7|E6R~w}$t5g7u27a>I~fb6rHN)Hp<(IX|6Zjk*ebqU%evTTDDuz@GcxHT8!QGi^%G(_V{DLxf!{83dz zw(v}-xL82jCodu@gghzr?uF#Ch8u^oyExzjyB7F9V2XWbG6+F)o-9OpUj*n^kSm?E zFd3Ceq5{i?fl_|H0BvA3u%4+H#KqH9)fSMgp5r7Bn zX3iJXS=bfeH~TtW!x{+W%Zl-6Q;xYERW~@!$w)E?wM|QrS0@|RT4&k2P(lt5)tk&- zxzCn&457-k?}D2I6&daMVUW4XYLgTP*!uf-((C%2{d&~GR>(r0Dm-`X@g;#Lz5iV;hC$g$>G#PbU{~Bg@Od8g@89Sh zek3F4_idByQOD37$7m6aY=y<)$WnmQ+zS^tMBKqhbuOo-B;TEmVIDw9Xlmu}ct%J4 zRtSlsuM}5X-(jKmM`Ee&+{Z;czZ@){vpn9dF!wAw1*KKw5^e-Mz}VuhfcjNaL8ISBckRK(Of^z4fqRt0-zOUD$<%#T1!n}zBXf1P zSzOO5fIAx)nx+oDmu_IH_x}*#?tr_NE8@$64yz&6vTS*Bv;$;H))j^AGou_@p_wo> z!R(=7cUo|TUpPA)X)Z4!%0RT1fVo8zU*BI zWAzG9;S8}{zy(FwzY6m5GK|8jd2z=NMSZIz_!v2gCEIPsfBzd^D8eWT%1<>jO^G*5 zr+Iv+B+!Eti@aeL!e%sMJ=7r!iVZLiG3b~HGYCODA^^`QElfKr@sq>u+T!dy&^Q^G zwHUqN4rTafVJan_g;C~+B#dSgPjw+r7gS~WaP4;wD>0rCRH&#uInO61*P6fjhpusT6?jBe6Idwd@Tj(T|?-c*wQV?<> zPH8S~=hSu9%)BrfEdrz6Gk^~`u={;R_23GM*}n_TCw_cYbkao08HP$6@$Mcu!2-%u z@-~y!(M3KltEI$w$-6--6NLi-(Wlb$zFCLO6u^V=vBW~D1*oa$QKE?P%w>-N9#4-h z>TK^iI_(0qi=K`mf5k=-yJGLUo>PJxBJVlHRWZ;| zVJJvMwpbdO)-Ezr1BwBiLHMiV!3l~ALWcTx9cmnJNajptZjTCJCR}!{j8dOcx`rto znw%(_=KUVl9x4NcMTFTn_u4qQg)|A`Wn>(G&qltt#JRYpIjl1J_Rn;M`fAPG_J<|( zVvyS5kcq5qi*8gW;>s+8!p*BLNay$X&E&^G?AUl2*~td&>@n1|yyJ53u5*foTr+WAILtDM=_8(0UX5KAZ)|WA0=;N#T5 zv`E+hieRANSSX4huHa(v+>^he+dJT%4i-M*JO84xJXZCvU->+sAtf#b>F82N^jVzw04U4h%B=`uW6badKXpOO1t<;VTw-+y zgJwsKC>nTU9+H%1umaBkp1X8ZfTC7T^Qn7}70}*i8Gp!vb(ehk*msrU=*BJB@UWpaZ*D^E9@y0&aKM*qGbM1XB zB~OOJFY|vyqLBMNoU81+BXO9v0R1)F>+hN~O%6&*weDl(grW6wIvIkLz!dhJrW ziM5Wq@~FU?q^`5DYpg1>@hh%!B0eMwi_mPa*lK7dm?}kQANfUB^K2aTKEIHqC+iy* zVSvhJxLSZk&9!nhc|aO6|Fp6!DWMK}Ts(;@Zth;2k^NfYW8x$`9B0H6jEL8;x%YTpTSHdp+MMy9r>LuT`*6(>F7+>rc z^S;1xW1$kxEh?wvyP`}a>S#3(h0{J|?IOvgc^w5}_xBv=SZ}5gBDp4wkU2eNfyEYS@e(&I~ki8-K9~@(zO!Vr{YwdlB|rWLj|o%9ee+8t9VFwl4`wmne6 zL%e>z5@};X9^GfT+;Sch<_qA86bS_tRlG*_6uwYaTih)X)9RdvJr-dtn3CDgF}MXZ zM@>wwijVEAE_hc`sCZ!jut#1O7X9y1$nk?f7q1WZ@}FdP1ap<*APuy?A{q`k#B!?Fv4>y7ngxvXhQg} zKE}8eJ6HoPHShQpKAC{ls0t2U%?2kUHk*sTgDQ>;>;`$xk4{(2k2jQwt-rs1-UE-K zq}kvV9V2hmj5&Ml7w#i%a2TV&E+KMgduTVsXtF=$QPeei7 z-27Fb9INVB8Y8Vs#xy$Pe4>k9a$*PXGqZ^Bv7AC+e1JEK_x$!Sa76=wcLjbva`#?Q)Vqb&db zbH-^`0oOo_komjFhYuLL$+b|MSdo@X=F&n}SFM2*XSnq@3YInczafXkZ{D3=XiN`yW#Iype&3^RvLH1bw-PuE($>_fy z*DZLvyTB~=vsSc-0=~mM{jEK@`!~Oq^$1GsGRMDvOA=+d9ms74z6H61w zl>iU^CeRTsnvGi!a{gKL=fRwmkHSiQwt%2SWNyp#fU}g-wKHLnLwIzd!yMGQPZGYf z;Un|Nhk!)l(-hl8rnbQ-ITQF$RXTWF(=Z|h0o*Pu@73fzW5v+@ANI&ey@wgQ0GW5g z7W6f$}2uvpYP_wlW(Hf}kS}k1Eyroxe+$JgvR7ZKT@Clgc-4?Z6oEEVL>->lr zmJbpZ-FZS8dYJK7rp#i`>w{xAE_QLU;dmX0)kR=rVd?#&h+jKqDBtwyB-*>x?l5TY zHzLY1?xZA2u+{r3aZxZXR6Lj`zHk*ID;@PRMH}VxdLG#cTj%i?WJX>G4Slzm`p9R>{@sJ=E}mNr6#3h>Ubj6Yu_D)U?_ zU6Ca!_Fv^;|JU$6!@g(#0Lkd7U4e);XZx4grUI0HJXC;xJy=8_Q&p z(k{L5M+CPqm)vIyvm~$Nw$X;jqo<4N` z{Dwcv@q`rz?UGqV)?eAc_=gRHa(f{jO1yzpyF?x}kMQN@v*aSOP!Z39?~>T(2(oJn z&WuHH=qfH{X_x;ATw@Io)cp4H=|C-+XuxsT6PQU1g~&Gr4>qC~Y zkRk8T%fP6Ze10k;k>dbb5QXK z#fRGI7C>Ty5XkJx{j3pVE};Fcc_}%bxGFtj4UtICbVFd-_;#^i3y$~8Zw=I|^JA8i zY&%0y&N_NGOmwtawsJjx@QN(2Kd;|4UrdH)map*utGgD56#r#L^kqF4jhV8j|t2x z(n5_m+oa7V4_GG?j{@onct+h-Zq>joF|_2})$>TPLvQfMoK5G52ok}H$RXs|t5Ozk z8~H;wa_0^ut#?kV0)85M0$nSm4A=$rusq=+GaC%2=nG zD`PV-LUBxDj0-puRGgKn`<;wI zQ=&$RIqf@gF_Py-V*#y4bT|nd!gq_Z%`l_m+I)kEY8rOZePwNKC-4Z+PS3ox&J+ZO zf}qPW8r6pG7JMj|C<`8yup}37P2jhhxQFDSElXrou8`vs1)Q8u=R8BzalAw%KbosjNQHUGMX)#+b8D}7XCdLqf^Yh+ z{Xgfbx)VHXE^a2T}p90@oLxIY2aPe45uchkRUw45Av+1rC(L61@D|BxIJ&`Gb zm--&%Zq19N#uV%!-(rEj_nR!r|0s-EMVV8hJa$%OGP8b4Xo-!2aCbP~&DL}5QYcxL zzHlt=iV~xO$JvNkF$gdvP;X}B0vx<(v}G6Xu2$S79E^5@d%m}FI}hPAmOVXk zSNUh=eQxY=Jx(cB zM49<~$;X;A17=WRkDecL2dQunu50%#(i}^C2wfU3^Fvtt2Ha7Wvw1TTqm8wq;)5@r znfC`%!RrCrOTF$ws(D>o4T+-KvID^)IuHYG7v364NK_jfgcSlD(bgQ^w4behY7|CZ z%Dzw+W;jLtD3*6wAT_4W_*Xv5LnJpBVPggD-zHq~g5ffVqf9Ya%2Roz8Ra3IcNMp= z37No@mm2?aZmmMxz*&0FF@HGJrv_XRhxh=31Kaz(c`NHbN^36Df5&mgFehGT}=oKoev^gUR)ij-n~mWS1o$h9d4B6{u00Qv-_%;NE!M#9BHm~cYSa^?i_K#n ze9S5js!pg&aa^ zDZ2eHT(P1r?^u zT-!BTi^KQ4?*)arEVB`_%>}X5U@a#&FAXw%Qz#^yuTnHQ#{J##2bNV{T(9;}Bz5G@ z!Nt9h%p0JF_ZA?OmIl&7>r}huoT6;kJpEKXeKWZghCQD3JEBth?b@(f*Z4B~a3z&s zblJWUlpd8ReL=jrqozm&MV0GBuYIoZ=YQGg=LEpR35G^KmuH)midgsH{r+{qhY>#? z0i7K;gO>CTPpY!d5|3h@Smsx>O95WwvbUNW0e{X}NiPO${#8OO|G4MTNBXlY>pnBV z#0r`Vja;@HX_znmgvxluc)jAu9?*FZX*kZ4-6>#V6rik1zV8iQ`~G8hYL-s6+1MQw zh{%!yd{Klk3Q!kf0rHNndY!cLgj@AZqdp;!&drCQsN%olE9(aXmAD$SGUV=@|NZKmX_Kgv1WH%tg6<(jyE_IBiu4m z=Nc~X`^=Oj!$>CD*@p&!!;zl_8!&N<$1RHNBt+Fg%&XjlQ zM7dPg@a82s*vT3XO*9{1^Pcnd2clfGe0)-#F?>}h`4gL}K>xH8c>-aZ3c#9!!UD}+ zix+0r#TknwxhlJ|P;3@}D*#4@Su=0MjKI7OjgbhCECX7L7g((Hc*%JLl-`A|h!Uca z#baR~VcKd}g_PdV=qP624qm2+1$_*kYn#SOsqym65w2o6p16O*BY7H-i~xp0>k zut}_9kmLq)cW~IeUc#RHiz$&o@)<*+{kS4<6?eG~F~EDXTrI6aQEvh9_~-k|0)9Tvt~$BzvK^0)c4JrzO7b3P7(&BTp~Y~SHVr3|iU znJF?YNA0e-XUEDd5y&4XeIM+GW6o)ViF5w{jr%3IqQ`YF19a4-cy9^oAe!&W%mSr8mqoN%1xj+ zcP@*Y;JX*NkGNU+e<`Spy3`!Dmq6@k%|1rw^kl(RHq`U8F8qFvs3jZrQN#``dV z*TE49qkbT>)Ds$rK@1ZGFE#VpxAaECmqJd<0c#gnHcgFWRU(tX*o6OfL__+9*#piof2gH1c7o~pou z4QivxF|tK#ioz)x?<`cZ5Ch-9yAxw^Z4}%S_+$k#xmE0H(lAqr7TcDp}%-81m%E7h8uack{el-c)tZIMdoo z_PD-hGl|3kl*`byrn59i$XN;O42iTcvdaw8>KBOgB2*y zhTD|Hqo03#DE*>~#&UkSao+4?2OK=BMqnU#c6c#qV0(Ayeb|aqrX>~-Q{7E~Vb*6N zi<V4okCQ!LpqQ68+2X&VJBhX`MEseZi<|i1at*PdQk+4U|(kKbZlZTNfpFNAvETrT+QpE=?{0cim)T;Ha*xxtRN z02t2hfq$%4*zTa^@O{J@oJ{HNiqAPU35O-5gMwG#&ZP?ME|JeCh3|m;R(G?)rg}CU z2V%_{-0oQYJCSf9XGN!=&iV2Na>sb+Cbp7`;-RfQ$miTI%c=e!a78Cv_iqo>TbzZ= z^Gl#I5iMl`IFxv_eox#LPaNk~rhGvz_=QY=ia`;gOm}ySl8Ur|mCEOcSlox0r;QM2cIaCE^R<5zA|5HP_F^ zyd&brV7$Y2Qbjh{b|=yGA$Cx3J8K6W)PD_q+8J4d#RDuZtu4WllI^jw8Vx?Z*9K8i z1ia!@6!d4Eg`an(In>*L+&UZ>q7Tk4M4Cc|z^9yiivZ#-8 zF&O}}_&QDTJHH&p5CO@&a+|#@6TR6Ijca@ioh)h@JcTr=Mp8eqs{j(Z!HP(W+RVGK zjus*O0MK!*mh-Ay%urYE-#>dYd`u~Zd_t^?I)t#rz?B7DIra78oq@;l%mik|n7wHT_7*E62tO> zY@}>aRLx$d%0+4|N5mF-EQ^~jqrWoTg+|TNvr>d)(Kh;?t1~BND@cGaq%6!8I1r_V zoVk)u&o&f}t6l2cLkD2;m@+FnUZ+~#Z{l)Vr9yBEY61out@UM#UK)I}l_%_puM7|_ z)R!{Q`6{q&>UM52c`K72IFK$`AdovH6J&2;DZ&AlNcAfaoljEKVie#YoRW@bQ4yjK zrKJ8F=6M`bSVvnWn;7?~kGbVe`3K$=0A&{Z-S375KwV`m>UYW&hlmBxx1$AX7JIZM z1|Tst_Y(p1j77j`7HyaaMJV93&S$3wyj$bCAg)W{ix@<59$cX(o|F4HSN0r)vcE;V z1vd1qgh0mlpM2Tz-l+tszW5cE{L(b-%fUcrUgpl;G@V&PY#3Aac8!LcI^CJ3F?GZ6D96-fF7 zAh>Qdok`j7Dmj}mQB+@*_|t=H=>z|X?R&))kQ>K8z$J=fin0>@&rz=_us6b)=j=MJ z+wqPa=17VwX#DUMEOm0hbt;I`3o4hCi2MDZoP{l-_hc!D<4nm>=UR(RFrc#U10cAE z7O)DJ(nb4xe_52{OKWq9K-~*rh@e*>yHH|B4C%AbXVfx1#m94!^SSXdi+-7nD`l^u z&GF0q33ClGaFx{PGtQbNTx}UIK;;-HU6K<&{fSyar=)K*AdUR?pB)}`2AcSTQ|8|B zdzUO1TE?r^T=TMv=?+Mkh@Ej?I>@b}H?A-Y#scRg_85@_#ZT6y^XUI1e)YpoD_27C z`68lly!T1TNEk`PBq5rIc#+}CQ^tD?ZX(;hL;Od;Jy-_RZ*<;}A(ETgIi;#fWgRuI z6bDpBFb}K}wL?{z~FzpIeRqb z(GN=+jdIyCqIW_VyeBFRCI~_w74agp(1MeLxYrQfR$}v!LwqMQ>RH0otWrw0(B|Vc?8|kmAm}2|u z3s8;54mBoA2CZ9WRapmPG_b&=U0l>(fgN{X7#Z40rRlWzN1}_DEt8_d7 zk1-d;&2&J-KP;6tBr;86gub$0orxfdz7?&G@`=GeKmMYC6kMTp!C-%5^nVX0y3wPS z?%aI~+g6{=;;1y5PfOmAkI{I$12=*{6NFLgf#K@`biiJs3U^EuA~HpPx3~q6)RPmz znKA!(W2Uz|x4E`Eao6*{@V-CM3fSoWMLOXJ2JX^|@7cH!9$CJ&L=*q@f3$GEIX3_H z5(7qw18ObM|04ueERn{0TnD2@D(1OcB~!@aVZ^&wHvXEkhT;-pL^Zmj$jCmqTULSX zTsH)$CFG?pLEbeMK!sh?wf;8>AqKJbXS^?@%MS3dhJQq+Mv`G+@{m~{ezr4Az}x~X z)+m*H-xW7%8Bn=@1mgrexO`qG;9%duxUrTgK5*(e2=|JhziOSm1(!>X= z%Sz*6<2|yDAMW^C+qY}KmroH$(68muH<4n-c}A4hn)U57!}`;qg}1baW@=BF-Vsm{ z$;OvmNaHj2ij!gM4a=X$pP}}r?fF+Cm9fc&wc~NDZWR>^a*!WrH(=a_m=e9l4FGdY zG(w5(@#D8h?7tFw;vtsZv1ay*f1@ODyPDP_=>b#qrRqS{og1GbFpQ@J@ceb&uZcTH z#QT8NBpE_!`n893;^21mn9~5xIQ{saUYZIn4EF+(Uca3g^dO^TK!(0E`y&okKbkDE zrs5pf90*%3b><#*@X-|o#i&``Mw%f<%am^2PE0l>7$cDNfFS$@MKpDy0Ccm8THfJq zFtrW$0BlQBmKk^=66m?K5KGlj93k93$R!4)yifi&dWd2EDX8`&^Ykb(2hK#?GGC;@Xpe`7O(=&G=idxdcyb5D=C1FWl% zh@$(WAgDP}ibQd%FItlMt^X{`@2zB6*e37uwIdKt4ACmzOr>*E-ln!95=O=T%60mG z&J0-g9yO15JR=nWz~|-OQfiA-$EMfs9ph0T(mO27ZQ~^N>g<@XmDAO62;vVF*SNs5 zs#I3dUQ;unC0B3I{br@h^F%EXl4r)eA3JT9IjmCvBxZ(pmIWmpC%Sw5gDqhLqPa-w zdmnI>ySHRdYU(=^(1;vCx;hoDb<_^2{rs@XEp)MnNpcM{H@bsJp#%cd%9yh2{Lyci zra;;`qBMY=7wmcttSG$~kCIrshtUSH@c=CtaD$mz(5l@$hgfIylq`~R%oE;t0R!Zl z?f`g{8O|d=GIdxTi?E_EVrNm;a?+{_r_9%@m3Oji}X+zdf3F-XxXiumSp znP=6hhAtA}>v+XaBsxejjTvkA8Yb4B*?c%_avHTeV!^k#LMi#Iz(OnFF`8GTtBmaJ zXfjMhX0|AnCSHCJ9H%K|a6cUdlB+`|g(=E=Z2glHLs;a`A)Ob9L2>3qPl7~!Vx>SA z5*&VhVL^6St3K6Jjt%0DVHxq?Yb$m>-%aF}9aTrIjO&uXp8W_P%~^ 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%0A|Zx`Ag#{sGjk%GPowgWTho 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 literal 0 HcmV?d00001 diff --git a/autotests/data/300x1500.png b/autotests/data/300x1500.png new file mode 100644 index 0000000000000000000000000000000000000000..e10cda14f9c00699caa0c7ffbeee4d6dd8418f8f GIT binary patch literal 71065 zcmV*uKtaEWP)EX>4Tx04R}tkv&MmKpe$iQ^is%3U&~2$WWau6cusQDionYs1;guFuC*#nlvOS zE{=k0!NHHks)LKOt`4q(Aou~|}?mh0_0YbgZG^;BHXu55t z5^*t;T@`y?5x@X~=tWFsmN6$uNpu`v_we!cF3PhypZjz4sX2=QK9P8q8KzCVK|H-_ z8=Uuv!>lN)#OK80CS8#Dk?V@bZ=4G*3p_Jyrc?98VPdh+#!4HrqNx#25l2)_r+gvf zvC4UivsSLM<~{ifLpgnAnd>x1kia6AAVGwJDoQBBMwC{a6bmWZk9Y77yMBpW3b{&P z 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 literal 0 HcmV?d00001 diff --git a/autotests/data/RequestFullScreen.pdf b/autotests/data/RequestFullScreen.pdf new file mode 100644 index 0000000000000000000000000000000000000000..fdbcf0dcd62f1a5cc56bdeec545b4a447d9abf06 GIT binary patch literal 4903 zcmeHL&yU+g6y|^svJ{CwVHC9LR#h@H{t?HPCq@DYZ{(SV?7k_>B84(nXKaea7;e8$+rMD3U(E#C|AEZ2n&w!=e z;cnz{WZP1b#+*&1#ltJ3S4X=eq7TSd0euo1HUglUJREQpSlC?z>O>l~XUgANoj z^`p=cN$onOOo&Ew(vYcY5aS9Zmk7CZ8Nv{HQH*v+e35oNKLuGo@`Rc66f=O(o4dfE z-9B^CjUl>;D5)!T1HCh6ae9gX*sMy6^s=;$(8wb^MApO`b8aXNk1;B{#GrE1<2qBQ z%8ZF?DE1jtq+3OK7crkm1Y(fL>V+Dbrf6t_3K?wx3&abBD;bf2Lt8T1gko&TR06SY z$>ipfGDQQLZ0V^DsLYm3qfp*0Swk=ROJn8-JkIX!&_Csn8^VJqN|E3Nkp6l&iI6C{ zSUX5SJ6PUfC_sjX-e^iYJKY;SDW{TUW%mo}%W-cW1VcCGJcR3$G7qRFjsPc_PR_1u zz0Xdfd5VXAcoc9!Uo7a4b2i#`Wy$qQ&ObP%%)b9+QNg`6^>9I}Gq9>)>4tkvmYW5) z*KuWO!6k&ihVyYMV!zqnFFK+k8~QS#0tee(_N|I!U0uwWdk1>Om>>CJtNO<`-&T?D zwW{xGebS$G_-+5q)0huW-yXTAcU;4(UbQ7_VJ@b#DWHlL(;!UDMXSo7-*FSxLX4{@ zQ%Uc%s!E;KbV94Pgb=b~Z(R+-34bOpW!>D5g$14^e6!*SXtw0f!hKdM@CNR%0k|uhxP#Cv zZixNNzH8wP{pTIJ=dKtto5w*$OwYwU;8XF_4AIlg=snk*MDdiRHk-`?-_3rWM2r?* zZ$0lQfq?z~D$osx3u;fNn{j3)rW3hyk;rw&p3i;HY3dilSz#b zN@Z17$0}Dd?)Lj-+fCxZ-t{m^S?KZ&zr0D#;o*P`HX$A(iR`nQW6*0Qy!%jZL ziOI2|Be{}Ir-Tx1H8fZ9L7Gx+HM~|Nn67A{tgNTxij+^V6)|>Y11v4guch%7rq@HO z=j?U6@HoI}x2fF89tSvGy$z28+D5Mfj{~fRqqkL~O}bsGQtB9ca<5nX``S~xs(lN_ bNB$v#sTaoJ3jEDlj=>cezvW6c2Uq?DTrVuW literal 0 HcmV?d00001 diff --git a/autotests/data/additionalFormActions.pdf b/autotests/data/additionalFormActions.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c26379dd715ae720ffbbad63e1cc13d17f4a865d GIT binary patch literal 45857 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 literal 0 HcmV?d00001 diff --git a/autotests/data/checkbox_ro.pdf b/autotests/data/checkbox_ro.pdf new file mode 100644 index 0000000000000000000000000000000000000000..e5d62b02d2191551432faf7dceb08858345da7ea GIT binary patch literal 41601 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 G;{6}Qe2Rhq literal 0 HcmV?d00001 diff --git a/autotests/data/contents.epub b/autotests/data/contents.epub new file mode 100644 index 0000000000000000000000000000000000000000..133a184949495b98147e2798fa4e9b862232ab61 GIT binary patch literal 3158 zcmai$2{@Gd7sp>SmSOD4zVErlE-9g@k)5$6i6)6*n8Bn`Zjr65;i`X|ZK|O}AuS?H zLKkC;Ye}+2wk|@J>%K!}Lihj9b7r1-=6OGJe&6?;?>W|HP)0TYfB`__i!LNUcQFB? z0Lt1PscLV>3P6?4*P*X~af$>77#N440I>RI4c^WN-VOua-S0xmo^f!hX8?d2@MrGt zw-YdK-WU&e6+GeOD(M-f4&4OC2GXr$i-Z<6?nr8vE9Pr7ufoWc2*p|#eokX!V`Tx~ z+`SeLYa?Fl+LBt|)-HzT&licxE5)3efSC{v=u`FQ^`{?% zb*}5g6yIa{!zuG-_8kX-hZ6e*GMre4(nf)VWl3dT`Fv z96M0o%_Tf0S#&`cuP@QDZ6^Nr&;7d{Vn4()PPKpbN8&`cwAojR6#2RdIpj{{mz7PrEyxHhQGcZl+1LWatdvl_#Bxaw-UA zAnPz^cys|bu0uJJ?_qlV%ol3>8_qNu$&+RblPejjWV!QfQwj>X&AE<@72Ez3{3S`U zgd#52Jj#P!j7)t!xl1*y4v+b}?SO49TBdPbgw9+8X^O+OGEiGaklO5E=ZQ@7Rtqwh+%OElRfBfX(IQkQ~n{(>bl9 zngbf-i1N5=n#73~$D!@gEo|sWlO3839}U8~pR&&cF`2yJ%kOzFvaSR5VHYyM#jIHg zY>x#{2fFs~$Eee(!0Ac8+Sln8mqhRs!SY{3ojtT3-@&Rg7te3h0RBm`GYtU(aBpB427C)O?MB-lCS77BWE=BM4 zQV_DhCRHQ|iKz1Lydpa$=4@P3Hl(%E!xZ2_;d=<5RH4G(PGtWcyh1w5Y(e(P|CFC@ z_rg(=qqnI|y3tGB^8l~mXzXLjrOZsOeIc`?ET#sttJOD0qaTz8c=_b#TrbaZs(Xi! zfF!hU7w^^*V)RxE*+XV&hUFgA9XvcsQA}U5@*k;8y6ydigV;TIcMbW%_R)LoihnG;$$07U!GmKV!Pl<1{HV2tJ$y*3 znyI1w?h3Sw_xO!#;u3<8x7|}Sp(AkGN!G?6nOyhN_+tf6Vu7;ThcK};S{s4SVz)fS zx)_*(8AAv8%ZLY{5Q|{&(<5kphr#-~`>T+?`CU&OtMwLx&?3HstwN12Voo1bleEu^ znA}(>`LuW*P%n88E6JV@IGY~?G55;OKK1$#vnqR!L#(zYTKHzvysb#R z{P3;p7KM-@dB({c6L%%n38}X7zbHbOL$I419gBUpqlT`Ijw`QxNUbOvL?()u%e3$J z`NFiW-;gL;50AO83~mDeEnwi`eXu_6#2|wEY7tx%IBP~ewyDW51Og80h9P3{zN)mM z`RxprurBE=xK*U$0x%jNQ3nihFn&B0Hw+GY+~3{xI3DlqgYowcP$80tW|noe=1Qh< zRw@W3)B4{osT!MG#aX?fQX4Fk-?ZIB=RC@5(gUxH?X{q_W5lkVp>~?HaNx_>Q@WV8VWQbpfJ?nJL;$P2&B^1qyM08o~QIw2XL~i zCb(g`{{L(@&nJ4W3%Jm&atRo^X$4Yg)9OF6-R!{h)MiFH>JL8#sjGhcvlr7VyV-Q; zsoKonsOuI4B54-1Wum|8{x#&@Z4 literal 0 HcmV?d00001 diff --git a/autotests/data/fake_okular_certstore/cert9.db b/autotests/data/fake_okular_certstore/cert9.db new file mode 100644 index 0000000000000000000000000000000000000000..1a6e7165421d128bee2e81ef05f44e0fd795f476 GIT binary patch literal 28672 zcmeI4dsI}_9>@2Y12ZthoCJ~*gA*wU7j>V<3{}D=z5PyYS zxgdKqQ;()NQKT@4^u~S^aZ>mwVpGK2h!j$R0|)>CAOHk_01yBIKmZ8*js&Lb^|7%D zT#2XFNQEV7BY`7>;HiL6hw=Zk@UagsyAa`MfgOre-5 zR68o%)qxTE5elsDYy~BGMuZ$OkN**jXw`h zeZALR7Z3>!*iTf-_PFST=q*n|Y`nVJSiMYTKN9x!y8PElr7o-LSz$0g1#$eop0 zP$J%LD-nzHbMGj&(HXMs`8j#H*+pVzmc5`TRdir-O5~KusZg6W&=!d{S!vZut5#N} zL#!$-%(Sr3B8?VSTBOs$L5m7fq%$e(E14pu8WQ%+LscY9Wh6{>Bus@QOqC=|r6f$X zBuvF5?4+d@o-aP8EcCmYK55lojTyFkglFD$G}5z82PNVZ9dC zYhk?>UoTU(Fy%Bhl2MWvCYj|cW9lojd}S81!rB$quCR8MwWzE`)mrE*DyFljjEu_2 zs7zmF`YO8*X69>VzGmiYW>kqL#OR*xXcdh zs=zo|(&=Mu2^{h*Ee}+a9eugO+c1yS%LDIqxfC#YvebsreE4BxnrZAH7dU_b z5C8%|00;m9AOHj|asrD>`2`^{CQ}s6BV*hJW@Ea*@d(9`gF2biRD?GRAO5{CyO2X~ zpi+F56phE|`Qi{h+L+_0a@(uC)s8w{DC*epXgEj46_E38?OK37pWr>PVqNX=efO50 zICgMBv)d7={yflhPkU?Udov^cJJw%gBM9V5s%!uqV)L#$%!m|t3B-wS5 zI{CP)l4LV^9!m!|>E6Ok+;gqGj?-zm;YfXWO3Q66KSgp}L?{{s1Quf>WwOU2J3TDR zW^?J)f{ZP}4Wl_Waf!iGaG{8A;siv(FzT8}cst)JUwB9k %wOJkZD-Atl&i+4J$3(!t!>>8|8WL>WpmMY(~4d1Zd`Nd z`VVI9{a@)fH!ZG7c-pXG=+)1?r`PmMHSBrtUaiMA8iB+4>jkC+V_GwWi&o}fQ3M)LCH>>z`MzL|>N7Lv0?Zf8w zvfCELU$eqI-Gh&~`;7~-&x952zaewV#FILnLtHQ+ zauWz44yAte=a1tjwxmCXyY4>LI6m&kl;s;I{iUbeJNBphvg;Jotv zdzQVqGQGdABkJVFGp)syr!3M3-zDY^rasxQa6o@U(mzb8A7^dtcyDgUqVWTD1M}?5 zzwC-$Us=1_Y#b^Z!+rl({_wx!c0IDAZLU3e*S*a-%B_FeKmY4bXIqwSYxYcykE>2{ zzSB3 z?3=vjU}IPO_*I*aJ@e0W!&mJ|O%t~a9O~Jn?Ed0@{#1X)nKfg+jM%Vii*rq$?O1R7 zw6Xh*d3}=y@7h`J(rud*ZCyg2=20Fh|D${Emv+(0b#-ms3q1QCUAsM|yKZZj<*7Pu ziNdj$k*zerFG@_5icI8-EDB^DihBGCboLMv>HN(vV<(wF$Ces8IazVe86`*VJLx0e zm-}l$UJ9~!83`+1IEsWp;RLzB0R(^m5C8%|00;m9AOHk_01yBIKmZ6_v;@NV5RU#d zme-6foq-PtCoP@6{eL$S{wo|7x-Z%UA#fl71b_e#00KY&2mk>f00e*l5C8&~Jb^eq zgB#`dIQaAQ>3AN6`}Y3_kZ?daBn(~hs31Wg00e*l5C8%|00;m9AOHk_01yBImlS~z z9&zX0{OkFsaPn6WzWx6ZBz!9j2}dp|1dt3600KY&2mk>f00e*l5C8%|00;nq%ZGr0 zkK)KapBMN W`^5ihUggg9e-CxByc&M4j{gG%_mgq} literal 0 HcmV?d00001 diff --git a/autotests/data/fake_okular_certstore/key4.db b/autotests/data/fake_okular_certstore/key4.db new file mode 100644 index 0000000000000000000000000000000000000000..4181a3f83d4bd3c265fee1c933f4c52206237745 GIT binary patch literal 36864 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/autotests/data/file1.pdf b/autotests/data/file1.pdf new file mode 100644 index 0000000000000000000000000000000000000000..7623feda88cb654d0094769cb2f1aafb1a58ab5a GIT binary patch literal 15605 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 E5A@N)3;+NC literal 0 HcmV?d00001 diff --git a/autotests/data/file1.pdf.gz b/autotests/data/file1.pdf.gz new file mode 100644 index 0000000000000000000000000000000000000000..8ca6d6addae81b2def37d5ab7c8cde1fd9c46041 GIT binary patch literal 15351 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 VD-0>AsJs}={{T5VGz9fL002<3BzOP- literal 0 HcmV?d00001 diff --git a/autotests/data/file2.pdf b/autotests/data/file2.pdf new file mode 100644 index 0000000000000000000000000000000000000000..9c1dd4d26f451d63efb6fcfcb730bab28cb9a2a0 GIT binary patch literal 188546 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 GReu90MwEd7 literal 0 HcmV?d00001 diff --git a/autotests/data/formSamples.pdf b/autotests/data/formSamples.pdf new file mode 100644 index 0000000000000000000000000000000000000000..84607206567567d51ce1c9e4ffbad1514e9f8bcc GIT binary patch literal 27196 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 D2}Z;8 literal 0 HcmV?d00001 diff --git a/autotests/data/formattest.pdf b/autotests/data/formattest.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c3138bebbf4b9d23b3060723a5daefa570623eb8 GIT binary patch literal 37060 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 literal 0 HcmV?d00001 diff --git a/autotests/data/hello_with_dummy_signature.pdf b/autotests/data/hello_with_dummy_signature.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c4d222e4d7ad087b2d3a9cf6f123469aec8984fa GIT binary patch literal 11379 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 literal 0 HcmV?d00001 diff --git a/autotests/data/imageSizes.md b/autotests/data/imageSizes.md new file mode 100644 index 0000000..abda7fa --- /dev/null +++ b/autotests/data/imageSizes.md @@ -0,0 +1,77 @@ +# Test for specifying image sizes in markdown + +(c) + +## small image + +* no explicit size: + +![potato](potato.jpg) + +* only width specified `=100x`: + +![potato](potato.jpg =100x) + +* only height specified `=x100`: + +![potato](potato.jpg =x100) + +* both specified `=100x100`: + +![potato](potato.jpg =100x100) + +* only width, using html `4200x`: + +potato + +* both specified, using html `4200x4200`: + +potato + +## wide image + +* no explicit size: + +![1500x300](1500x300.png) + +* only width specified `=100x`: + +![1500x300](1500x300.png =100x) + +* only height specified `=x100`: + +![1500x300](1500x300.png =x100) + +* both specified `=100x100`: + +![1500x300](1500x300.png =100x100) + +* only height specified, using html `x4200`: + +1500x300 + +* both specified, using html `4200x4200`: + +1500x300 + +## tall image + +* no explicit size: + +![300x1500](300x1500.png) + +* only width specified `=100x`: + +![300x1500](300x1500.png =100x) + +* only height specified `=x100`: + +![300x1500](300x1500.png =x100) + +* both specified `=100x100`: + +![300x1500](300x1500.png =100x100) + +* both specified, using html `4200x4200`: + +300x1500 diff --git a/autotests/data/imageUrlsWithSpecialChars.md b/autotests/data/imageUrlsWithSpecialChars.md new file mode 100644 index 0000000..0d0bd1f --- /dev/null +++ b/autotests/data/imageUrlsWithSpecialChars.md @@ -0,0 +1,3 @@ +# Test for having images with non-ASCII characters in their name + +![Kartöffelchen](kartöffelchen.jpg) diff --git "a/autotests/data/kart\303\266ffelchen.jpg" "b/autotests/data/kart\303\266ffelchen.jpg" new file mode 100644 index 0000000000000000000000000000000000000000..b7dd4d1887811af29ae05dfec555de042ba55813 GIT binary patch literal 34999 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 Row3mKQ_#vg^V0v{1ON?gNAdsw literal 0 HcmV?d00001 diff --git a/autotests/data/keystroketest.pdf b/autotests/data/keystroketest.pdf new file mode 100644 index 0000000000000000000000000000000000000000..ab65eb9afe7ee052568ef040e754c444ab1bf617 GIT binary patch literal 13971 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 literal 0 HcmV?d00001 diff --git a/autotests/data/kjsfunctionstest.pdf b/autotests/data/kjsfunctionstest.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c580283a6eba847a7c5dd9331a4e2ef2f5fb821d GIT binary patch literal 83477 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�iBl9hkMtYZ}` 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 E05nXp2><{9 literal 0 HcmV?d00001 diff --git a/autotests/data/pdf_with_internal_links.pdf b/autotests/data/pdf_with_internal_links.pdf new file mode 100644 index 0000000000000000000000000000000000000000..fdbe6263437fde706da12f12edc2a6dfa6317e03 GIT binary patch literal 60899 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 focCYfptFmylZ(e^a0=jNa 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 literal 0 HcmV?d00001 diff --git a/autotests/data/pdf_with_signature.pdf b/autotests/data/pdf_with_signature.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c8ecf2e1550d2a48f3f15388b3e4d88f3bd73232 GIT binary patch literal 74044 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 y$BbsVFr|3A>!2kn)83)0P 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 Row3mKQ_#vg^V0v{1ON?gNAdsw literal 0 HcmV?d00001 diff --git a/autotests/data/protected.pdf b/autotests/data/protected.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c331c56c31b1635e0e533c698a6d227e8759975e GIT binary patch literal 16476 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�TgOJ>V}^)h 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 aiWwIeg2T8m03Z-~27ri&j+rh4;Qs-9My56Z literal 0 HcmV?d00001 diff --git a/autotests/data/strikethrough.md b/autotests/data/strikethrough.md new file mode 100644 index 0000000..1e73d46 --- /dev/null +++ b/autotests/data/strikethrough.md @@ -0,0 +1,9 @@ +# Test for strikethrough tag workaround + +Line without strikethrough + +Line ~~with~~ strikethrough + +``` +~~Strikethrough~~ should be ignored in a code block +``` diff --git a/autotests/data/synctextest.pdf b/autotests/data/synctextest.pdf new file mode 100644 index 0000000000000000000000000000000000000000..a088c2cb162f15b4b752a270f83babcc219ab370 GIT binary patch literal 72032 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 BDmwrG literal 0 HcmV?d00001 diff --git a/autotests/data/synctextest.tex b/autotests/data/synctextest.tex new file mode 100644 index 0000000..5aa10e6 --- /dev/null +++ b/autotests/data/synctextest.tex @@ -0,0 +1,104 @@ +\documentclass[a4paper,10pt]{article} +\usepackage[utf8]{inputenc} + +%opening +\title{SyncTeX Test document} + +\begin{document} + +\maketitle + +\begin{abstract} +This is a sample document to demonstrate the use of SyncTex between Kile and Okular. +The document contains junk text to generate a two page PDF so that SyncTeX behavior +can be clearly seen. +\end{abstract} + +\section{Junk Text} +asdfoijwoefjamcv;nslvcmlakjsfdoijwa oejasdoiajs doj fdojasod ifjoiwjfeoaijsdf asdf +oiwejroacv asdf we werasdfo ij mklzmlkz xvc';laf3jfoaisdlj4uu asdf asdf +asdfoiwjef oi asdf. + +asdfoijwoefjamcv;nslvcmlakjsfdoijwa oejasdoiajs doj fdojasod ifjoiwjfeoaijsdf asdf +oiwejroacv asdf we werasdfo ij mklzmlkz xvc';laf3jfoaisdlj4uu asdf asdf +asdfoiwjef oi asdf. + +asdfoijwoefjamcv;nslvcmlakjsfdoijwa oejasdoiajs doj fdojasod ifjoiwjfeoaijsdf asdf +oiwejroacv asdf we werasdfo ij mklzmlkz xvc';laf3jfoaisdlj4uu asdf asdf +asdfoiwjef oi asdf. + +asdfoijwoefjamcv;nslvcmlakjsfdoijwa oejasdoiajs doj fdojasod ifjoiwjfeoaijsdf asdf +oiwejroacv asdf we werasdfo ij mklzmlkz xvc';laf3jfoaisdlj4uu asdf asdf +asdfoiwjef oi asdf. + +asdfoijwoefjamcv;nslvcmlakjsfdoijwa oejasdoiajs doj fdojasod ifjoiwjfeoaijsdf asdf +oiwejroacv asdf we werasdfo ij mklzmlkz xvc';laf3jfoaisdlj4uu asdf asdf +asdfoiwjef oi asdf. + +asdfoijwoefjamcv;nslvcmlakjsfdoijwa oejasdoiajs doj fdojasod ifjoiwjfeoaijsdf asdf +oiwejroacv asdf we werasdfo ij mklzmlkz xvc';laf3jfoaisdlj4uu asdf asdf +asdfoiwjef oi asdf. + +asdfoijwoefjamcv;nslvcmlakjsfdoijwa oejasdoiajs doj fdojasod ifjoiwjfeoaijsdf asdf +oiwejroacv asdf we werasdfo ij mklzmlkz xvc';laf3jfoaisdlj4uu asdf asdf +asdfoiwjef oi asdf. + +asdfoijwoefjamcv;nslvcmlakjsfdoijwa oejasdoiajs doj fdojasod ifjoiwjfeoaijsdf asdf +oiwejroacv asdf we werasdfo ij mklzmlkz xvc';laf3jfoaisdlj4uu asdf asdf +asdfoiwjef oi asdf. + +asdfoijwoefjamcv;nslvcmlakjsfdoijwa oejasdoiajs doj fdojasod ifjoiwjfeoaijsdf asdf +oiwejroacv asdf we werasdfo ij mklzmlkz xvc';laf3jfoaisdlj4uu asdf asdf +asdfoiwjef oi asdf. + +asdfoijwoefjamcv;nslvcmlakjsfdoijwa oejasdoiajs doj fdojasod ifjoiwjfeoaijsdf asdf +oiwejroacv asdf we werasdfo ij mklzmlkz xvc';laf3jfoaisdlj4uu asdf asdf +asdfoiwjef oi asdf. + +asdfoijwoefjamcv;nslvcmlakjsfdoijwa oejasdoiajs doj fdojasod ifjoiwjfeoaijsdf asdf +oiwejroacv asdf we werasdfo ij mklzmlkz xvc';laf3jfoaisdlj4uu asdf asdf +asdfoiwjef oi asdf. + +asdfoijwoefjamcv;nslvcmlakjsfdoijwa oejasdoiajs doj fdojasod ifjoiwjfeoaijsdf asdf +oiwejroacv asdf we werasdfo ij mklzmlkz xvc';laf3jfoaisdlj4uu asdf asdf +asdfoiwjef oi asdf. + +asdfoijwoefjamcv;nslvcmlakjsfdoijwa oejasdoiajs doj fdojasod ifjoiwjfeoaijsdf asdf +oiwejroacv asdf we werasdfo ij mklzmlkz xvc';laf3jfoaisdlj4uu asdf asdf +asdfoiwjef oi asdf. + +asdfoijwoefjamcv;nslvcmlakjsfdoijwa oejasdoiajs doj fdojasod ifjoiwjfeoaijsdf asdf +oiwejroacv asdf we werasdfo ij mklzmlkz xvc';laf3jfoaisdlj4uu asdf asdf +asdfoiwjef oi asdf. + +asdfoijwoefjamcv;nslvcmlakjsfdoijwa oejasdoiajs doj fdojasod ifjoiwjfeoaijsdf asdf +oiwejroacv asdf we werasdfo ij mklzmlkz xvc';laf3jfoaisdlj4uu asdf asdf +asdfoiwjef oi asdf. + +asdfoijwoefjamcv;nslvcmlakjsfdoijwa oejasdoiajs doj fdojasod ifjoiwjfeoaijsdf asdf +oiwejroacv asdf we werasdfo ij mklzmlkz xvc';laf3jfoaisdlj4uu asdf asdf +asdfoiwjef oi asdf. + +asdfoijwoefjamcv;nslvcmlakjsfdoijwa oejasdoiajs doj fdojasod ifjoiwjfeoaijsdf asdf +oiwejroacv asdf we werasdfo ij mklzmlkz xvc';laf3jfoaisdlj4uu asdf asdf +asdfoiwjef oi asdf. + +asdfoijwoefjamcv;nslvcmlakjsfdoijwa oejasdoiajs doj fdojasod ifjoiwjfeoaijsdf asdf +oiwejroacv asdf we werasdfo ij mklzmlkz xvc';laf3jfoaisdlj4uu asdf asdf +asdfoiwjef oi asdf. + +asdfoijwoefjamcv;nslvcmlakjsfdoijwa oejasdoiajs doj fdojasod ifjoiwjfeoaijsdf asdf +oiwejroacv asdf we werasdfo ij mklzmlkz xvc';laf3jfoaisdlj4uu asdf asdf +asdfoiwjef oi asdf. + +asdfoijwoefjamcv;nslvcmlakjsfdoijwa oejasdoiajs doj fdojasod ifjoiwjfeoaijsdf asdf +oiwejroacv asdf we werasdfo ij mklzmlkz xvc';laf3jfoaisdlj4uu asdf asdf +asdfoiwjef oi asdf. + +asdfoijwoefjamcv;nslvcmlakjsfdoijwa oejasdoiajs doj fdojasod ifjoiwjfeoaijsdf asdf +oiwejroacv asdf we werasdfo ij mklzmlkz xvc';laf3jfoaisdlj4uu asdf asdf +asdfoiwjef oi asdf. + + + +\end{document} diff --git a/autotests/data/tocreload.pdf b/autotests/data/tocreload.pdf new file mode 100644 index 0000000000000000000000000000000000000000..9525ad86ce1f2facf3669b976fcc92d84973322f GIT binary patch literal 17245 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 DfxbAn literal 0 HcmV?d00001 diff --git a/autotests/data/visibilitytest.pdf b/autotests/data/visibilitytest.pdf new file mode 100644 index 0000000..d919c4e --- /dev/null +++ b/autotests/data/visibilitytest.pdf @@ -0,0 +1,718 @@ +%PDF-1.6 +%¿÷¢þ +1 0 obj +<< /AcroForm 5 0 R /Metadata 43 0 R /Outlines 45 0 R /Pages 49 0 R /Type /Catalog >> +endobj +2 0 obj +<< /Type /ObjStm /Length 174 /N 1 /First 4 >> +stream +3 0 +<< /CreationDate (D:20180322154616+01'00') /Creator (Adobe Acrobat Pro DC 18.11.20038) /ModDate (D:20180409153511+02'00') /Producer (Adobe Acrobat Pro DC 18.11.20038) >> +endstream +endobj +4 0 obj +<< /Type /ObjStm /Length 6347 /N 38 /First 292 >> +stream +5 0 6 216 7 303 8 541 9 629 10 1940 11 2158 12 2246 13 2394 14 2637 15 2707 16 2903 17 3151 18 3403 19 3636 20 3724 21 3957 22 4045 23 4286 24 4374 25 4615 26 4703 27 4907 28 4953 29 4998 30 5046 31 5094 32 5139 33 5170 34 5225 35 5279 36 5336 37 5390 38 5430 39 5677 40 5929 41 5975 42 6020 +<< /DA (/Helv 0 Tf 0 g ) /DR << /Encoding << /PDFDocEncoding 55 0 R >> /Font << /HeBo 52 0 R /Helv 53 0 R /ZaDb 54 0 R >> >> /Fields [ 7 0 R 10 0 R 12 0 R 13 0 R 15 0 R 18 0 R 22 0 R 20 0 R 24 0 R 51 0 R 26 0 R ] >> +[ 7 0 R 10 0 R 12 0 R 13 0 R 15 0 R 16 0 R 17 0 R 18 0 R 20 0 R 22 0 R 24 0 R 26 0 R ] +<< /AP << /N 56 0 R >> /DA (/HeBo 12 Tf 0 g) /F 4 /FT /Btn /Ff 65536 /MK << /BG [ 0.75293 ] /CA (Are widgets nicely redrawn?) /IF << >> >> /P 57 0 R /Rect [ 18.4581 675.365 251.638 777.152 ] /Subtype /Widget /T (Underlay) /Type /Annot >> +<< /BaseFont /Helvetica-Bold /Encoding 9 0 R /Name /HeBo /Subtype /Type1 /Type /Font >> +<< /Differences [ 24 /breve /caron /circumflex /dotaccent /hungarumlaut /ogonek /ring /tilde 39 /quotesingle 96 /grave 128 /bullet /dagger /daggerdbl /ellipsis /emdash /endash /florin /fraction /guilsinglleft /guilsinglright /minus /perthousand /quotedblbase /quotedblleft /quotedblright /quoteleft /quoteright /quotesinglbase /trademark /fi /fl /Lslash /OE /Scaron /Ydieresis /Zcaron /dotlessi /lslash /oe /scaron /zcaron 160 /Euro 164 /currency 166 /brokenbar 168 /dieresis /copyright /ordfeminine 172 /logicalnot /.notdef /registered /macron /degree /plusminus /twosuperior /threesuperior /acute /mu 183 /periodcentered /cedilla /onesuperior /ordmasculine 188 /onequarter /onehalf /threequarters 192 /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis ] /Type /Encoding >> +<< /AP << /N 58 0 R >> /DA (/HeBo 12 Tf 0 g) /F 4 /FT /Btn /Ff 65536 /MK << /BG [ 0.75293 ] /CA (Button) /IF << >> >> /P 57 0 R /Rect [ 92.5797 742.96 164.58 762.96 ] /Subtype /Widget /T (TargetButton) /Type /Annot >> +<< /BaseFont /Helvetica-Bold /Encoding 9 0 R /Name /HeBo /Subtype /Type1 /Type /Font >> +<< /DA (/Helv 12 Tf 0 g) /F 4 /FT /Tx /MK << >> /P 57 0 R /Rect [ 48.779 715.655 198.779 737.655 ] /Subtype /Widget /T (TargetText) /Type /Annot >> +<< /AP << /D << /Ja 59 0 R /Off 60 0 R >> /N << /Ja 61 0 R /Off 62 0 R >> >> /AS /Off /F 4 /FT /Btn /MK << /BC [ 0.0 ] /BG [ 1.0 ] /CA (4) >> /P 57 0 R /Rect [ 48.3801 692.924 67.577 710.924 ] /Subtype /Widget /T (TargetCheck) /Type /Annot >> +<< /BaseFont /ZapfDingbats /Name /ZaDb /Subtype /Type1 /Type /Font >> +<< /AP << /N 63 0 R >> /DA (/Helv 12 Tf 0 g) /F 4 /FT /Ch /Ff 131072 /MK << /BG [ 1.0 ] >> /P 57 0 R /Rect [ 82.6907 691.722 154.691 711.722 ] /Subtype /Widget /T (TargetDropDown) /Type /Annot >> +<< /AP << /D << /1 64 0 R /Off 65 0 R >> /N << /1 66 0 R /Off 67 0 R >> >> /AS /1 /BS << /S /I /W 1 >> /F 4 /MK << /BC [ 0.0 ] /BG [ 1.0 ] /CA (l) >> /P 57 0 R /Parent 51 0 R /Rect [ 177.244 682.95 194.845 700.95 ] /Subtype /Widget /Type /Annot >> +<< /AP << /D << /0 68 0 R /Off 69 0 R >> /N << /0 70 0 R /Off 71 0 R >> >> /AS /Off /BS << /S /I /W 1 >> /F 4 /MK << /BC [ 0.0 ] /BG [ 1.0 ] /CA (l) >> /P 57 0 R /Parent 51 0 R /Rect [ 205.547 683.373 223.547 701.373 ] /Subtype /Widget /Type /Annot >> +<< /A 27 0 R /AP << /N 72 0 R >> /DA (/HeBo 12 Tf 0 g) /F 4 /FT /Btn /Ff 65536 /MK << /BG [ 0.75293 ] /CA (Hide) /IF << >> >> /P 57 0 R /Rect [ 46.2829 649.314 118.283 669.314 ] /Subtype /Widget /T (HideActionButton) /Type /Annot >> +<< /BaseFont /Helvetica-Bold /Encoding 9 0 R /Name /HeBo /Subtype /Type1 /Type /Font >> +<< /A 33 0 R /AP << /N 73 0 R >> /DA (/HeBo 12 Tf 0 g) /F 4 /FT /Btn /Ff 65536 /MK << /BG [ 0.75293 ] /CA (Show) /IF << >> >> /P 57 0 R /Rect [ 139.742 648.635 211.742 668.635 ] /Subtype /Widget /T (ShowActionButton) /Type /Annot >> +<< /BaseFont /Helvetica-Bold /Encoding 9 0 R /Name /HeBo /Subtype /Type1 /Type /Font >> +<< /A 38 0 R /AP << /N 74 0 R >> /DA (/HeBo 10 Tf 0 g) /F 4 /FT /Btn /Ff 65536 /MK << /BG [ 0.75293 ] /CA (Hide with JS) /IF << >> >> /P 57 0 R /Rect [ 45.6931 620.135 117.693 640.135 ] /Subtype /Widget /T (HideScriptButton) /Type /Annot >> +<< /BaseFont /Helvetica-Bold /Encoding 9 0 R /Name /HeBo /Subtype /Type1 /Type /Font >> +<< /A 39 0 R /AP << /N 75 0 R >> /DA (/HeBo 10 Tf 0 g) /F 4 /FT /Btn /Ff 65536 /MK << /BG [ 0.75293 ] /CA (Show with JS) /IF << >> >> /P 57 0 R /Rect [ 139.343 621.106 211.343 641.106 ] /Subtype /Widget /T (ShowScriptButton) /Type /Annot >> +<< /BaseFont /Helvetica-Bold /Encoding 9 0 R /Name /HeBo /Subtype /Type1 /Type /Font >> +<< /A 40 0 R /AP << /N 76 0 R >> /DA (/HeBo 12 Tf 0 g) /F 4 /FT /Btn /Ff 65536 /MK << /BG [ 0.75293 ] >> /P 57 0 R /Rect [ 91.7609 589.675 163.761 609.675 ] /Subtype /Widget /T (LoopNext) /Type /Annot >> +<< /Next 28 0 R /S /Hide /T (TargetButton) >> +<< /Next 29 0 R /S /Hide /T (TargetCheck) >> +<< /Next 30 0 R /S /Hide /T (TargetDropDown) >> +<< /Next 31 0 R /S /Hide /T (TargetDropDown) >> +<< /Next 32 0 R /S /Hide /T (TargetRadio) >> +<< /S /Hide /T (TargetText) >> +<< /H false /Next 34 0 R /S /Hide /T (TargetButton) >> +<< /H false /Next 35 0 R /S /Hide /T (TargetCheck) >> +<< /H false /Next 36 0 R /S /Hide /T (TargetDropDown) >> +<< /H false /Next 37 0 R /S /Hide /T (TargetRadio) >> +<< /H false /S /Hide /T (TargetText) >> +<< /JS (getField\("TargetButton"\).hidden = true;\r\ngetField\("TargetText"\).hidden = true;\r\ngetField\("TargetCheck"\).hidden = true;\r\ngetField\("TargetDropDown"\).hidden = true;\r\ngetField\("TargetRadio"\).hidden = true;) /S /JavaScript >> +<< /JS (getField\("TargetButton"\).hidden = false;\r\ngetField\("TargetText"\).hidden = false;\r\ngetField\("TargetCheck"\).hidden = false;\r\ngetField\("TargetDropDown"\).hidden = false;\r\ngetField\("TargetRadio"\).hidden = false;) /S /JavaScript >> +<< /Next 41 0 R /S /Hide /T (TargetButton) >> +<< /Next 41 0 R /S /Hide /T (TargetCheck) >> +<< /S /Hide /T (TargetDropDown) >> +endstream +endobj +43 0 obj +<< /Subtype /XML /Type /Metadata /Length 3189 >> +stream + + + + + 2018-04-09T15:35:11+02:00 + 2018-03-22T15:46:16+01:00 + 2018-04-09T15:35:11+02:00 + Adobe Acrobat Pro DC 18.11.20038 + application/pdf + uuid:d7a80371-6095-484e-b9d7-e859d2331a96 + uuid:486d99a8-964e-4807-b940-382f252a7e0f + Adobe Acrobat Pro DC 18.11.20038 + + + + + + + + + + + + + + + + + + + + + + + + +endstream +endobj +44 0 obj +<< /Type /ObjStm /Length 173 /N 3 /First 18 >> +stream +45 0 46 58 47 110 +<< /Count 1 /First 46 0 R /Last 46 0 R /Type /Outlines >> +<< /A 47 0 R /Parent 45 0 R /Title (Leere Seite) >> +<< /D [ 57 0 R /XYZ 0 792 null ] /S /GoTo >> +endstream +endobj +48 0 obj +<< /Type /ObjStm /Length 50 /N 1 /First 5 >> +stream +49 0 +<< /Count 1 /Kids [ 57 0 R ] /Type /Pages >> +endstream +endobj +50 0 obj +<< /Type /ObjStm /Length 1690 /N 5 /First 33 >> +stream +51 0 52 103 53 192 54 276 55 346 +<< /FT /Btn /Ff 49152 /Kids [ 17 0 R 16 0 R ] /Opt [ (Auswahl1) (Auswahl1) ] /T (TargetRadio) /V /1 >> +<< /BaseFont /Helvetica-Bold /Encoding 55 0 R /Name /HeBo /Subtype /Type1 /Type /Font >> +<< /BaseFont /Helvetica /Encoding 55 0 R /Name /Helv /Subtype /Type1 /Type /Font >> +<< /BaseFont /ZapfDingbats /Name /ZaDb /Subtype /Type1 /Type /Font >> +<< /Differences [ 24 /breve /caron /circumflex /dotaccent /hungarumlaut /ogonek /ring /tilde 39 /quotesingle 96 /grave 128 /bullet /dagger /daggerdbl /ellipsis /emdash /endash /florin /fraction /guilsinglleft /guilsinglright /minus /perthousand /quotedblbase /quotedblleft /quotedblright /quoteleft /quoteright /quotesinglbase /trademark /fi /fl /Lslash /OE /Scaron /Ydieresis /Zcaron /dotlessi /lslash /oe /scaron /zcaron 160 /Euro 164 /currency 166 /brokenbar 168 /dieresis /copyright /ordfeminine 172 /logicalnot /.notdef /registered /macron /degree /plusminus /twosuperior /threesuperior /acute /mu 183 /periodcentered /cedilla /onesuperior /ordmasculine 188 /onequarter /onehalf /threequarters 192 /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis ] /Type /Encoding >> +endstream +endobj +56 0 obj +<< /BBox [ 0.0 0.0 233.18 101.787 ] /FormType 1 /Matrix [ 1.0 0.0 0.0 1.0 0.0 0.0 ] /Resources << /Font << /HeBo 8 0 R >> /ProcSet [ /PDF /Text ] >> /Subtype /Form /Type /XObject /Length 198 >> +stream +0.75293 g +0 0 233.1799 101.7869 re +f +q +1 1 231.1799 99.7869 re +W +n +0 g +BT +/HeBo 12 Tf +0 g +35.314 46.75 Td +(Are ) Tj +23.328 0 Td +(widgets ) Tj +47.952 0 Td +(nicely ) Tj +37.308 0 Td +(redrawn?) Tj +ET +Q +endstream +endobj +57 0 obj +<< /Annots 6 0 R /Contents 77 0 R /CropBox [ 0.0 0.0 612.0 792.0 ] /MediaBox [ 0.0 0.0 612.0 792.0 ] /Parent 49 0 R /Resources << >> /Rotate 0 /Type /Page >> +endobj +58 0 obj +<< /BBox [ 0.0 0.0 71.9999 20.0 ] /FormType 1 /Matrix [ 1.0 0.0 0.0 1.0 0.0 0.0 ] /Resources << /Font << /HeBo 11 0 R >> /ProcSet [ /PDF /Text ] >> /Subtype /Form /Type /XObject /Length 110 >> +stream +0.75293 g +0 0 71.9999 20 re +f +q +1 1 69.9999 18 re +W +n +0 g +BT +/HeBo 12 Tf +0 g +16.692 5.857 Td +(Button) Tj +ET +Q +endstream +endobj +59 0 obj +<< /BBox [ 0.0 0.0 19.1969 18.0 ] /FormType 1 /Matrix [ 1.0 0.0 0.0 1.0 0.0 0.0 ] /Resources << /Font << /ZaDb 14 0 R >> /ProcSet [ /PDF /Text ] >> /Subtype /Form /Type /XObject /Length 147 >> +stream +0.75293 g +0 0 19.1969 18 re +f +0.5 0.5 18.1969 17 re +s +q +1 1 17.1969 16 re +W +n +0 g +BT +/ZaDb 14.532 Tf +3.4514 4.081 Td +13.9943 TL +0 0 Td +(4) Tj +ET +Q +endstream +endobj +60 0 obj +<< /BBox [ 0.0 0.0 19.1969 18.0 ] /FormType 1 /Matrix [ 1.0 0.0 0.0 1.0 0.0 0.0 ] /Resources << /ProcSet [ /PDF ] >> /Subtype /Form /Type /XObject /Length 54 >> +stream +0.75293 g +0 0 19.1969 18 re +f +0.5 0.5 18.1969 17 re +s +endstream +endobj +61 0 obj +<< /BBox [ 0.0 0.0 19.1969 18.0 ] /FormType 1 /Matrix [ 1.0 0.0 0.0 1.0 0.0 0.0 ] /Resources << /Font << /ZaDb 14 0 R >> /ProcSet [ /PDF /Text ] >> /Subtype /Form /Type /XObject /Length 141 >> +stream +1 g +0 0 19.1969 18 re +f +0.5 0.5 18.1969 17 re +s +q +1 1 17.1969 16 re +W +n +0 g +BT +/ZaDb 14.532 Tf +3.4514 4.081 Td +13.9943 TL +0 0 Td +(4) Tj +ET +Q +endstream +endobj +62 0 obj +<< /BBox [ 0.0 0.0 19.1969 18.0 ] /FormType 1 /Matrix [ 1.0 0.0 0.0 1.0 0.0 0.0 ] /Resources << /ProcSet [ /PDF ] >> /Subtype /Form /Type /XObject /Length 48 >> +stream +1 g +0 0 19.1969 18 re +f +0.5 0.5 18.1969 17 re +s +endstream +endobj +63 0 obj +<< /BBox [ 0.0 0.0 72.0 20.0 ] /FormType 1 /Matrix [ 1.0 0.0 0.0 1.0 0.0 0.0 ] /Resources << /ProcSet [ /PDF ] >> /Subtype /Form /Type /XObject /Length 19 >> +stream +1 g +0 0 72 20 re +f +endstream +endobj +64 0 obj +<< /BBox [ 0.0 0.0 17.601 18.0 ] /FormType 1 /Matrix [ 1.0 0.0 0.0 1.0 0.0 0.0 ] /Resources << /ProcSet [ /PDF ] >> /Subtype /Form /Type /XObject /Length 924 >> +stream +0.749023 -0.250977 -0.250977 rg +q +1 0 0 1 8.8005 9 cm +8.8005 0 m +8.8005 4.8606 4.8606 8.8005 0 8.8005 c +-4.8606 8.8005 -8.8005 4.8606 -8.8005 0 c +-8.8005 -4.8606 -4.8606 -8.8005 0 -8.8005 c +4.8606 -8.8005 8.8005 -4.8606 8.8005 0 c +f +Q +q +1 0 0 1 8.8005 9 cm +8.3005 0 m +8.3005 4.5844 4.5844 8.3005 0 8.3005 c +-4.5844 8.3005 -8.3005 4.5844 -8.3005 0 c +-8.3005 -4.5844 -4.5844 -8.3005 0 -8.3005 c +4.5844 -8.3005 8.3005 -4.5844 8.3005 0 c +s +Q +q +0.7071 0.7071 -0.7071 0.7071 8.8005 9 cm +7.3005 0 m +7.3005 4.0321 4.0321 7.3005 0 7.3005 c +-4.0321 7.3005 -7.3005 4.0321 -7.3005 0 c +S +Q +1 G +q +0.7071 0.7071 -0.7071 0.7071 8.8005 9 cm +-7.3005 0 m +-7.3005 -4.0321 -4.0321 -7.3005 0 -7.3005 c +4.0321 -7.3005 7.3005 -4.0321 7.3005 0 c +S +Q +0 g +q +1 0 0 1 8.8005 9 cm +3.4003 0 m +3.4003 1.878 1.878 3.4003 0 3.4003 c +-1.878 3.4003 -3.4003 1.878 -3.4003 0 c +-3.4003 -1.878 -1.878 -3.4003 0 -3.4003 c +1.878 -3.4003 3.4003 -1.878 3.4003 0 c +f +Q +endstream +endobj +65 0 obj +<< /BBox [ 0.0 0.0 17.601 18.0 ] /FormType 1 /Matrix [ 1.0 0.0 0.0 1.0 0.0 0.0 ] /Resources << /ProcSet [ /PDF ] >> /Subtype /Form /Type /XObject /Length 725 >> +stream +0.749023 -0.250977 -0.250977 rg +q +1 0 0 1 8.8005 9 cm +8.8005 0 m +8.8005 4.8606 4.8606 8.8005 0 8.8005 c +-4.8606 8.8005 -8.8005 4.8606 -8.8005 0 c +-8.8005 -4.8606 -4.8606 -8.8005 0 -8.8005 c +4.8606 -8.8005 8.8005 -4.8606 8.8005 0 c +f +Q +q +1 0 0 1 8.8005 9 cm +8.3005 0 m +8.3005 4.5844 4.5844 8.3005 0 8.3005 c +-4.5844 8.3005 -8.3005 4.5844 -8.3005 0 c +-8.3005 -4.5844 -4.5844 -8.3005 0 -8.3005 c +4.5844 -8.3005 8.3005 -4.5844 8.3005 0 c +s +Q +q +0.7071 0.7071 -0.7071 0.7071 8.8005 9 cm +7.3005 0 m +7.3005 4.0321 4.0321 7.3005 0 7.3005 c +-4.0321 7.3005 -7.3005 4.0321 -7.3005 0 c +S +Q +1 G +q +0.7071 0.7071 -0.7071 0.7071 8.8005 9 cm +-7.3005 0 m +-7.3005 -4.0321 -4.0321 -7.3005 0 -7.3005 c +4.0321 -7.3005 7.3005 -4.0321 7.3005 0 c +S +Q +endstream +endobj +66 0 obj +<< /BBox [ 0.0 0.0 17.601 18.0 ] /FormType 1 /Matrix [ 1.0 0.0 0.0 1.0 0.0 0.0 ] /Resources << /ProcSet [ /PDF ] >> /Subtype /Form /Type /XObject /Length 913 >> +stream +1 g +q +1 0 0 1 8.8005 9 cm +8.8005 0 m +8.8005 4.8606 4.8606 8.8005 0 8.8005 c +-4.8606 8.8005 -8.8005 4.8606 -8.8005 0 c +-8.8005 -4.8606 -4.8606 -8.8005 0 -8.8005 c +4.8606 -8.8005 8.8005 -4.8606 8.8005 0 c +f +Q +q +1 0 0 1 8.8005 9 cm +8.3005 0 m +8.3005 4.5844 4.5844 8.3005 0 8.3005 c +-4.5844 8.3005 -8.3005 4.5844 -8.3005 0 c +-8.3005 -4.5844 -4.5844 -8.3005 0 -8.3005 c +4.5844 -8.3005 8.3005 -4.5844 8.3005 0 c +s +Q +0.501953 G +q +0.7071 0.7071 -0.7071 0.7071 8.8005 9 cm +7.3005 0 m +7.3005 4.0321 4.0321 7.3005 0 7.3005 c +-4.0321 7.3005 -7.3005 4.0321 -7.3005 0 c +S +Q +0.75293 G +q +0.7071 0.7071 -0.7071 0.7071 8.8005 9 cm +-7.3005 0 m +-7.3005 -4.0321 -4.0321 -7.3005 0 -7.3005 c +4.0321 -7.3005 7.3005 -4.0321 7.3005 0 c +S +Q +0 g +q +1 0 0 1 8.8005 9 cm +3.4003 0 m +3.4003 1.878 1.878 3.4003 0 3.4003 c +-1.878 3.4003 -3.4003 1.878 -3.4003 0 c +-3.4003 -1.878 -1.878 -3.4003 0 -3.4003 c +1.878 -3.4003 3.4003 -1.878 3.4003 0 c +f +Q +endstream +endobj +67 0 obj +<< /BBox [ 0.0 0.0 17.601 18.0 ] /FormType 1 /Matrix [ 1.0 0.0 0.0 1.0 0.0 0.0 ] /Resources << /ProcSet [ /PDF ] >> /Subtype /Form /Type /XObject /Length 714 >> +stream +1 g +q +1 0 0 1 8.8005 9 cm +8.8005 0 m +8.8005 4.8606 4.8606 8.8005 0 8.8005 c +-4.8606 8.8005 -8.8005 4.8606 -8.8005 0 c +-8.8005 -4.8606 -4.8606 -8.8005 0 -8.8005 c +4.8606 -8.8005 8.8005 -4.8606 8.8005 0 c +f +Q +q +1 0 0 1 8.8005 9 cm +8.3005 0 m +8.3005 4.5844 4.5844 8.3005 0 8.3005 c +-4.5844 8.3005 -8.3005 4.5844 -8.3005 0 c +-8.3005 -4.5844 -4.5844 -8.3005 0 -8.3005 c +4.5844 -8.3005 8.3005 -4.5844 8.3005 0 c +s +Q +0.501953 G +q +0.7071 0.7071 -0.7071 0.7071 8.8005 9 cm +7.3005 0 m +7.3005 4.0321 4.0321 7.3005 0 7.3005 c +-4.0321 7.3005 -7.3005 4.0321 -7.3005 0 c +S +Q +0.75293 G +q +0.7071 0.7071 -0.7071 0.7071 8.8005 9 cm +-7.3005 0 m +-7.3005 -4.0321 -4.0321 -7.3005 0 -7.3005 c +4.0321 -7.3005 7.3005 -4.0321 7.3005 0 c +S +Q +endstream +endobj +68 0 obj +<< /BBox [ 0.0 0.0 18.0 18.0 ] /FormType 1 /Matrix [ 1.0 0.0 0.0 1.0 0.0 0.0 ] /Resources << /ProcSet [ /PDF ] >> /Subtype /Form /Type /XObject /Length 722 >> +stream +0.749023 -0.250977 -0.250977 rg +q +1 0 0 1 9 9 cm +9 0 m +9 4.9708 4.9708 9 0 9 c +-4.9708 9 -9 4.9708 -9 0 c +-9 -4.9708 -4.9708 -9 0 -9 c +4.9708 -9 9 -4.9708 9 0 c +f +Q +q +1 0 0 1 9 9 cm +8.5 0 m +8.5 4.6946 4.6946 8.5 0 8.5 c +-4.6946 8.5 -8.5 4.6946 -8.5 0 c +-8.5 -4.6946 -4.6946 -8.5 0 -8.5 c +4.6946 -8.5 8.5 -4.6946 8.5 0 c +s +Q +q +0.7071 0.7071 -0.7071 0.7071 9 9 cm +7.5 0 m +7.5 4.1423 4.1423 7.5 0 7.5 c +-4.1423 7.5 -7.5 4.1423 -7.5 0 c +S +Q +1 G +q +0.7071 0.7071 -0.7071 0.7071 9 9 cm +-7.5 0 m +-7.5 -4.1423 -4.1423 -7.5 0 -7.5 c +4.1423 -7.5 7.5 -4.1423 7.5 0 c +S +Q +0 g +q +1 0 0 1 9 9 cm +3.5 0 m +3.5 1.9331 1.9331 3.5 0 3.5 c +-1.9331 3.5 -3.5 1.9331 -3.5 0 c +-3.5 -1.9331 -1.9331 -3.5 0 -3.5 c +1.9331 -3.5 3.5 -1.9331 3.5 0 c +f +Q +endstream +endobj +69 0 obj +<< /BBox [ 0.0 0.0 18.0 18.0 ] /FormType 1 /Matrix [ 1.0 0.0 0.0 1.0 0.0 0.0 ] /Resources << /ProcSet [ /PDF ] >> /Subtype /Form /Type /XObject /Length 559 >> +stream +0.749023 -0.250977 -0.250977 rg +q +1 0 0 1 9 9 cm +9 0 m +9 4.9708 4.9708 9 0 9 c +-4.9708 9 -9 4.9708 -9 0 c +-9 -4.9708 -4.9708 -9 0 -9 c +4.9708 -9 9 -4.9708 9 0 c +f +Q +q +1 0 0 1 9 9 cm +8.5 0 m +8.5 4.6946 4.6946 8.5 0 8.5 c +-4.6946 8.5 -8.5 4.6946 -8.5 0 c +-8.5 -4.6946 -4.6946 -8.5 0 -8.5 c +4.6946 -8.5 8.5 -4.6946 8.5 0 c +s +Q +q +0.7071 0.7071 -0.7071 0.7071 9 9 cm +7.5 0 m +7.5 4.1423 4.1423 7.5 0 7.5 c +-4.1423 7.5 -7.5 4.1423 -7.5 0 c +S +Q +1 G +q +0.7071 0.7071 -0.7071 0.7071 9 9 cm +-7.5 0 m +-7.5 -4.1423 -4.1423 -7.5 0 -7.5 c +4.1423 -7.5 7.5 -4.1423 7.5 0 c +S +Q +endstream +endobj +70 0 obj +<< /BBox [ 0.0 0.0 18.0 18.0 ] /FormType 1 /Matrix [ 1.0 0.0 0.0 1.0 0.0 0.0 ] /Resources << /ProcSet [ /PDF ] >> /Subtype /Form /Type /XObject /Length 711 >> +stream +1 g +q +1 0 0 1 9 9 cm +9 0 m +9 4.9708 4.9708 9 0 9 c +-4.9708 9 -9 4.9708 -9 0 c +-9 -4.9708 -4.9708 -9 0 -9 c +4.9708 -9 9 -4.9708 9 0 c +f +Q +q +1 0 0 1 9 9 cm +8.5 0 m +8.5 4.6946 4.6946 8.5 0 8.5 c +-4.6946 8.5 -8.5 4.6946 -8.5 0 c +-8.5 -4.6946 -4.6946 -8.5 0 -8.5 c +4.6946 -8.5 8.5 -4.6946 8.5 0 c +s +Q +0.501953 G +q +0.7071 0.7071 -0.7071 0.7071 9 9 cm +7.5 0 m +7.5 4.1423 4.1423 7.5 0 7.5 c +-4.1423 7.5 -7.5 4.1423 -7.5 0 c +S +Q +0.75293 G +q +0.7071 0.7071 -0.7071 0.7071 9 9 cm +-7.5 0 m +-7.5 -4.1423 -4.1423 -7.5 0 -7.5 c +4.1423 -7.5 7.5 -4.1423 7.5 0 c +S +Q +0 g +q +1 0 0 1 9 9 cm +3.5 0 m +3.5 1.9331 1.9331 3.5 0 3.5 c +-1.9331 3.5 -3.5 1.9331 -3.5 0 c +-3.5 -1.9331 -1.9331 -3.5 0 -3.5 c +1.9331 -3.5 3.5 -1.9331 3.5 0 c +f +Q +endstream +endobj +71 0 obj +<< /BBox [ 0.0 0.0 18.0 18.0 ] /FormType 1 /Matrix [ 1.0 0.0 0.0 1.0 0.0 0.0 ] /Resources << /ProcSet [ /PDF ] >> /Subtype /Form /Type /XObject /Length 548 >> +stream +1 g +q +1 0 0 1 9 9 cm +9 0 m +9 4.9708 4.9708 9 0 9 c +-4.9708 9 -9 4.9708 -9 0 c +-9 -4.9708 -4.9708 -9 0 -9 c +4.9708 -9 9 -4.9708 9 0 c +f +Q +q +1 0 0 1 9 9 cm +8.5 0 m +8.5 4.6946 4.6946 8.5 0 8.5 c +-4.6946 8.5 -8.5 4.6946 -8.5 0 c +-8.5 -4.6946 -4.6946 -8.5 0 -8.5 c +4.6946 -8.5 8.5 -4.6946 8.5 0 c +s +Q +0.501953 G +q +0.7071 0.7071 -0.7071 0.7071 9 9 cm +7.5 0 m +7.5 4.1423 4.1423 7.5 0 7.5 c +-4.1423 7.5 -7.5 4.1423 -7.5 0 c +S +Q +0.75293 G +q +0.7071 0.7071 -0.7071 0.7071 9 9 cm +-7.5 0 m +-7.5 -4.1423 -4.1423 -7.5 0 -7.5 c +4.1423 -7.5 7.5 -4.1423 7.5 0 c +S +Q +endstream +endobj +72 0 obj +<< /BBox [ 0.0 0.0 72.0004 20.0 ] /FormType 1 /Matrix [ 1.0 0.0 0.0 1.0 0.0 0.0 ] /Resources << /Font << /HeBo 19 0 R >> /ProcSet [ /PDF /Text ] >> /Subtype /Form /Type /XObject /Length 107 >> +stream +0.75293 g +0 0 72.0004 20 re +f +q +1 1 70.0004 18 re +W +n +0 g +BT +/HeBo 12 Tf +0 g +23.01 5.857 Td +(Hide) Tj +ET +Q +endstream +endobj +73 0 obj +<< /BBox [ 0.0 0.0 72.0 20.0 ] /FormType 1 /Matrix [ 1.0 0.0 0.0 1.0 0.0 0.0 ] /Resources << /Font << /HeBo 21 0 R >> /ProcSet [ /PDF /Text ] >> /Subtype /Form /Type /XObject /Length 98 >> +stream +0.75293 g +0 0 72 20 re +f +q +1 1 70 18 re +W +n +0 g +BT +/HeBo 12 Tf +0 g +20.022 5.857 Td +(Show) Tj +ET +Q +endstream +endobj +74 0 obj +<< /BBox [ 0.0 0.0 72.0004 20.0 ] /FormType 1 /Matrix [ 1.0 0.0 0.0 1.0 0.0 0.0 ] /Resources << /Font << /HeBo 23 0 R >> /ProcSet [ /PDF /Text ] >> /Subtype /Form /Type /XObject /Length 151 >> +stream +0.75293 g +0 0 72.0004 20 re +f +q +1 1 70.0004 18 re +W +n +0 g +BT +/HeBo 10 Tf +0 g +6.303 6.548 Td +(Hide ) Tj +24.426 0 Td +(with ) Tj +22.746 0 Td +(JS) Tj +ET +Q +endstream +endobj +75 0 obj +<< /BBox [ 0.0 0.0 72.0 20.0 ] /FormType 1 /Matrix [ 1.0 0.0 0.0 1.0 0.0 0.0 ] /Resources << /Font << /HeBo 25 0 R >> /ProcSet [ /PDF /Text ] >> /Subtype /Form /Type /XObject /Length 141 >> +stream +0.75293 g +0 0 72 20 re +f +q +1 1 70 18 re +W +n +0 g +BT +/HeBo 10 Tf +0 g +3.813 6.548 Td +(Show ) Tj +29.406 0 Td +(with ) Tj +22.746 0 Td +(JS) Tj +ET +Q +endstream +endobj +76 0 obj +<< /BBox [ 0.0 0.0 72.0 20.0 ] /FormType 1 /Matrix [ 1.0 0.0 0.0 1.0 0.0 0.0 ] /Resources << /ProcSet [ /PDF ] >> /Subtype /Form /Type /XObject /Length 25 >> +stream +0.75293 g +0 0 72 20 re +f +endstream +endobj +77 0 obj +<< /Length 0 >> +stream +endstream +endobj +78 0 obj +<< /Type /XRef /Length 316 /W [ 1 2 1 ] /Info 3 0 R /Root 1 0 R /Size 79 /ID [<3684e699f7ea7b4bba2c439dc398ed0e><94a3aadfcfc2687808f994840852e4da>] >> +stream +so  +    !"#$%Œ'S,,,(P0(Ð22222/»1d23b4×5Ï7>809=`@÷EJHÖLhOWRÞUÂWXOYÈ[4\ \= +endstream +endobj +startxref +23613 +%%EOF diff --git a/autotests/documenttest.cpp b/autotests/documenttest.cpp new file mode 100644 index 0000000..79748f8 --- /dev/null +++ b/autotests/documenttest.cpp @@ -0,0 +1,181 @@ +/* + SPDX-FileCopyrightText: 2013 Fabio D 'Urso + + Work sponsored by the LiMux project of the city of Munich: + SPDX-FileCopyrightText: 2017 Klarälvdalens Datakonsult AB a KDAB Group company + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include +#include +#include + +#include + +#include "../core/annotations.h" +#include "../core/document.h" +#include "../core/document_p.h" +#include "../core/generator.h" +#include "../core/observer.h" +#include "../core/page.h" +#include "../core/rotationjob_p.h" +#include "../settings_core.h" + +class DocumentTest : public QObject +{ + Q_OBJECT + +private Q_SLOTS: + void testCloseDuringRotationJob(); + void testDocdataMigration(); + void testEvaluateKeystrokeEventChange_data(); + void testEvaluateKeystrokeEventChange(); +}; + +// Test that we don't crash if the document is closed while a RotationJob +// is enqueued/running +void DocumentTest::testCloseDuringRotationJob() +{ + Okular::SettingsCore::instance(QStringLiteral("documenttest")); + Okular::Document *m_document = new Okular::Document(nullptr); + const QString testFile = QStringLiteral(KDESRCDIR "data/file1.pdf"); + QMimeDatabase db; + const QMimeType mime = db.mimeTypeForFile(testFile); + + Okular::DocumentObserver *dummyDocumentObserver = new Okular::DocumentObserver(); + m_document->addObserver(dummyDocumentObserver); + + m_document->openDocument(testFile, QUrl(), mime); + m_document->setRotation(1); + + // Tell ThreadWeaver not to start any new job + ThreadWeaver::Queue::instance()->suspend(); + + // Request a pixmap. A RotationJob will be enqueued but not started + Okular::PixmapRequest *pixmapReq = new Okular::PixmapRequest(dummyDocumentObserver, 0, 100, 100, qApp->devicePixelRatio(), 1, Okular::PixmapRequest::NoFeature); + m_document->requestPixmaps({pixmapReq}); + + // Delete the document + delete m_document; + + // Resume job processing and wait for the RotationJob to finish + ThreadWeaver::Queue::instance()->resume(); + ThreadWeaver::Queue::instance()->finish(); + qApp->processEvents(); + + delete dummyDocumentObserver; +} + +// Test that, if there's a XML file in docdata referring to a document, we +// detect that it must be migrated, that it doesn't get wiped out if you close +// the document without migrating and that it does get wiped out after migrating +void DocumentTest::testDocdataMigration() +{ + Okular::SettingsCore::instance(QStringLiteral("documenttest")); + + const QUrl testFileUrl = QUrl::fromLocalFile(QStringLiteral(KDESRCDIR "data/file1.pdf")); + const QString testFilePath = testFileUrl.toLocalFile(); + const qint64 testFileSize = QFileInfo(testFilePath).size(); + + // Copy XML file to the docdata/ directory + const QString docDataPath = Okular::DocumentPrivate::docDataFileName(testFileUrl, testFileSize); + QFile::remove(docDataPath); + QVERIFY(QFile::copy(QStringLiteral(KDESRCDIR "data/file1-docdata.xml"), docDataPath)); + + // Open our document + Okular::Document *m_document = new Okular::Document(nullptr); + QMimeDatabase db; + const QMimeType mime = db.mimeTypeForFile(testFilePath); + QCOMPARE(m_document->openDocument(testFilePath, testFileUrl, mime), Okular::Document::OpenSuccess); + + // Check that the annotation from file1-docdata.xml was loaded + QCOMPARE(m_document->page(0)->annotations().size(), 1); + QCOMPARE(m_document->page(0)->annotations().first()->uniqueName(), QStringLiteral("testannot")); + + // Check that we detect that it must be migrated + QVERIFY(m_document->isDocdataMigrationNeeded()); + m_document->closeDocument(); + + // Reopen the document and check that the annotation is still present + // (because we have not migrated) + QCOMPARE(m_document->openDocument(testFilePath, testFileUrl, mime), Okular::Document::OpenSuccess); + QCOMPARE(m_document->page(0)->annotations().size(), 1); + QCOMPARE(m_document->page(0)->annotations().first()->uniqueName(), QStringLiteral("testannot")); + QVERIFY(m_document->isDocdataMigrationNeeded()); + + // Do the migration + QTemporaryFile migratedSaveFile(QStringLiteral("%1/okrXXXXXX.pdf").arg(QDir::tempPath())); + QVERIFY(migratedSaveFile.open()); + migratedSaveFile.close(); + QVERIFY(m_document->saveChanges(migratedSaveFile.fileName())); + m_document->docdataMigrationDone(); + QVERIFY(!m_document->isDocdataMigrationNeeded()); + m_document->closeDocument(); + + // Now the docdata file should have no annotations, let's check + QCOMPARE(m_document->openDocument(testFilePath, testFileUrl, mime), Okular::Document::OpenSuccess); + QCOMPARE(m_document->page(0)->annotations().size(), 0); + QVERIFY(!m_document->isDocdataMigrationNeeded()); + m_document->closeDocument(); + + // And the new file should have 1 annotation, let's check + QCOMPARE(m_document->openDocument(migratedSaveFile.fileName(), QUrl::fromLocalFile(migratedSaveFile.fileName()), mime), Okular::Document::OpenSuccess); + QCOMPARE(m_document->page(0)->annotations().size(), 1); + QVERIFY(!m_document->isDocdataMigrationNeeded()); + m_document->closeDocument(); + + delete m_document; +} + +void DocumentTest::testEvaluateKeystrokeEventChange_data() +{ + QTest::addColumn("oldVal"); + QTest::addColumn("newVal"); + QTest::addColumn("selStart"); + QTest::addColumn("selEnd"); + QTest::addColumn("expectedDiff"); + + QTest::addRow("empty") << "" + << "" << 0 << 0 << ""; + QTest::addRow("a") << "" + << "a" << 0 << 0 << "a"; + QTest::addRow("ab") << "a" + << "b" << 0 << 1 << "b"; + QTest::addRow("ab2") << "a" + << "ab" << 1 << 1 << "b"; + QTest::addRow("kaesekuchen") << "Käse" + << "Käsekuchen" << 4 << 4 << "kuchen"; + QTest::addRow("replace") << "kuchen" + << "wurst" << 0 << 6 << "wurst"; + QTest::addRow("okular") << "Oku" + << "Okular" << 3 << 3 << "lar"; + QTest::addRow("okular2") << "Oku" + << "Okular" << 0 << 3 << "Okular"; + QTest::addRow("removal1") << "a" + << "" << 0 << 1 << ""; + QTest::addRow("removal2") << "ab" + << "a" << 1 << 2 << ""; + QTest::addRow("overlapping chang") << "abcd" + << "abclmnopd" << 1 << 3 << "bclmnop"; + QTest::addRow("unicode") << "☮🤌" + << "☮🤌❤️" << 2 << 2 << "❤️"; + QTest::addRow("unicode2") << "☮" + << "☮🤌❤️" << 1 << 1 << "🤌❤️"; + QTest::addRow("unicode3") << "🤍" + << "🤌" << 0 << 1 << "🤌"; +} + +void DocumentTest::testEvaluateKeystrokeEventChange() +{ + QFETCH(QString, oldVal); + QFETCH(QString, newVal); + QFETCH(int, selStart); + QFETCH(int, selEnd); + QFETCH(QString, expectedDiff); + + QCOMPARE(Okular::DocumentPrivate::evaluateKeystrokeEventChange(oldVal, newVal, selStart, selEnd), expectedDiff); +} + +QTEST_MAIN(DocumentTest) +#include "documenttest.moc" diff --git a/autotests/editannotationcontentstest.cpp b/autotests/editannotationcontentstest.cpp new file mode 100644 index 0000000..9949273 --- /dev/null +++ b/autotests/editannotationcontentstest.cpp @@ -0,0 +1,525 @@ +/* + SPDX-FileCopyrightText: 2013 Jon Mease + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include + +#include "../settings_core.h" +#include "core/annotations.h" +#include "core/document.h" +#include +#include + +class MockEditor; + +class EditAnnotationContentsTest : public QObject +{ + Q_OBJECT + +private Q_SLOTS: + void initTestCase(); + void cleanupTestCase(); + void init(); + void cleanup(); + void testConsecutiveCharBackspacesMerged(); + void testConsecutiveNewlineBackspacesNotMerged(); + void testConsecutiveCharInsertionsMerged(); + void testConsecutiveNewlineInsertionsNotMerged(); + void testConsecutiveCharDeletesMerged(); + void testConsecutiveNewlineDeletesNotMerged(); + void testConsecutiveEditsNotMergedAcrossDifferentAnnotations(); + void testInsertWithSelection(); + void testCombinations(); + +private: + Okular::Document *m_document; + Okular::TextAnnotation *m_annot1; + Okular::TextAnnotation *m_annot2; + MockEditor *m_editor1; + MockEditor *m_editor2; +}; + +/* + * Simple class that receives the Document::annotationContentsChangedByUndoRedo + * signal that would normally be directed to an annotation's + * contents editor (For example AnnotWindow) + */ +class MockEditor : public QObject +{ + Q_OBJECT + +public: + MockEditor(Okular::Annotation *annot, Okular::Document *doc); + QString contents() + { + return m_contents; + } + int cursorPos() + { + return m_cursorPos; + } + int anchorPos() + { + return m_anchorPos; + } + +private Q_SLOTS: + void slotAnnotationContentsChangedByUndoRedo(Okular::Annotation *annotation, const QString &contents, int cursorPos, int anchorPos); + +private: + Okular::Document *m_document; + Okular::Annotation *m_annot; + + QString m_contents; + int m_cursorPos; + int m_anchorPos; +}; + +MockEditor::MockEditor(Okular::Annotation *annot, Okular::Document *doc) +{ + m_annot = annot; + m_document = doc; + connect(m_document, &Okular::Document::annotationContentsChangedByUndoRedo, this, &MockEditor::slotAnnotationContentsChangedByUndoRedo); + m_cursorPos = 0; + m_anchorPos = 0; + m_contents = annot->contents(); +} + +void MockEditor::slotAnnotationContentsChangedByUndoRedo(Okular::Annotation *annotation, const QString &contents, int cursorPos, int anchorPos) +{ + if (annotation == m_annot) { + m_contents = contents; + m_cursorPos = cursorPos; + m_anchorPos = anchorPos; + } +} + +void EditAnnotationContentsTest::initTestCase() +{ + Okular::SettingsCore::instance(QStringLiteral("editannotationcontentstest")); + m_document = new Okular::Document(nullptr); +} + +void EditAnnotationContentsTest::cleanupTestCase() +{ + delete m_document; +} + +void EditAnnotationContentsTest::init() +{ + const QString testFile = QStringLiteral(KDESRCDIR "data/file1.pdf"); + QMimeDatabase db; + const QMimeType mime = db.mimeTypeForFile(testFile); + QCOMPARE(m_document->openDocument(testFile, QUrl(), mime), Okular::Document::OpenSuccess); + + // Undo and Redo should be unavailable when docuemnt is first opened. + QVERIFY(!m_document->canUndo()); + QVERIFY(!m_document->canRedo()); + + // Create two distinct text annotations + m_annot1 = new Okular::TextAnnotation(); + m_annot1->setBoundingRectangle(Okular::NormalizedRect(0.1, 0.1, 0.15, 0.15)); + m_annot1->setContents(QStringLiteral("Hello, World")); + m_document->addPageAnnotation(0, m_annot1); + + m_annot2 = new Okular::TextAnnotation(); + m_annot2->setBoundingRectangle(Okular::NormalizedRect(0.1, 0.1, 0.15, 0.15)); + m_annot2->setContents(QStringLiteral("Hello, World")); + m_document->addPageAnnotation(0, m_annot2); + + // setup editors + m_editor1 = new MockEditor(m_annot1, m_document); + m_editor2 = new MockEditor(m_annot2, m_document); +} + +void EditAnnotationContentsTest::cleanup() +{ + m_document->closeDocument(); + delete m_editor1; + delete m_editor2; + // m_annot1 and m_annot2 are deleted when document is closed +} + +void EditAnnotationContentsTest::testConsecutiveCharBackspacesMerged() +{ + // Hello, World| -> Hello, Worl| + m_document->editPageAnnotationContents(0, m_annot1, QStringLiteral("Hello, Worl"), 11, 12, 12); + QCOMPARE(QStringLiteral("Hello, Worl"), m_annot1->contents()); + + // Hello, Worl| -> Hello, Wor| + m_document->editPageAnnotationContents(0, m_annot1, QStringLiteral("Hello, Wor"), 10, 11, 11); + QCOMPARE(QStringLiteral("Hello, Wor"), m_annot1->contents()); + + // undo and verify that consecutive backspace operations are merged together + m_document->undo(); + QCOMPARE(QStringLiteral("Hello, World"), m_annot1->contents()); + QCOMPARE(QStringLiteral("Hello, World"), m_editor1->contents()); + QCOMPARE(12, m_editor1->cursorPos()); + QCOMPARE(12, m_editor1->anchorPos()); + + m_document->redo(); + QCOMPARE(QStringLiteral("Hello, Wor"), m_annot1->contents()); + QCOMPARE(QStringLiteral("Hello, Wor"), m_editor1->contents()); + QCOMPARE(10, m_editor1->cursorPos()); + QCOMPARE(10, m_editor1->anchorPos()); + + // Hello, Wor| -> Hello, Wo| + m_document->editPageAnnotationContents(0, m_annot1, QStringLiteral("Hello, Wo"), 9, 10, 10); + QCOMPARE(QStringLiteral("Hello, Wo"), m_annot1->contents()); + + // Hello, Wo| -> Hello, W| + m_document->editPageAnnotationContents(0, m_annot1, QStringLiteral("Hello, W"), 8, 9, 9); + QCOMPARE(QStringLiteral("Hello, W"), m_annot1->contents()); + + // Hello, W| -> Hello, | + m_document->editPageAnnotationContents(0, m_annot1, QStringLiteral("Hello, "), 7, 8, 8); + QCOMPARE(QStringLiteral("Hello, "), m_annot1->contents()); + + // undo and verify that consecutive backspace operations are merged together + m_document->undo(); + QCOMPARE(QStringLiteral("Hello, World"), m_annot1->contents()); + QCOMPARE(QStringLiteral("Hello, World"), m_editor1->contents()); + QCOMPARE(12, m_editor1->cursorPos()); + QCOMPARE(12, m_editor1->anchorPos()); + + m_document->redo(); + QCOMPARE(QStringLiteral("Hello, "), m_annot1->contents()); + QCOMPARE(QStringLiteral("Hello, "), m_editor1->contents()); + QCOMPARE(7, m_editor1->cursorPos()); + QCOMPARE(7, m_editor1->anchorPos()); +} + +void EditAnnotationContentsTest::testConsecutiveNewlineBackspacesNotMerged() +{ + // Set contents to Hello, \n\n|World + m_document->editPageAnnotationContents(0, m_annot1, QStringLiteral("Hello, \n\nWorld"), 0, 0, 0); + QCOMPARE(QStringLiteral("Hello, \n\nWorld"), m_annot1->contents()); + + // Hello, \n\n|World -> Hello, \n|World + m_document->editPageAnnotationContents(0, m_annot1, QStringLiteral("Hello, \nWorld"), 8, 9, 9); + QCOMPARE(QStringLiteral("Hello, \nWorld"), m_annot1->contents()); + + // Hello, \n|World -> Hello, |World + m_document->editPageAnnotationContents(0, m_annot1, QStringLiteral("Hello, World"), 7, 8, 8); + QCOMPARE(QStringLiteral("Hello, World"), m_annot1->contents()); + + // Hello, |World -> Hello,|World + m_document->editPageAnnotationContents(0, m_annot1, QStringLiteral("Hello,World"), 6, 7, 7); + QCOMPARE(QStringLiteral("Hello,World"), m_annot1->contents()); + + // Hello,|World -> Hello|World + m_document->editPageAnnotationContents(0, m_annot1, QStringLiteral("HelloWorld"), 5, 6, 6); + QCOMPARE(QStringLiteral("HelloWorld"), m_annot1->contents()); + + // Backspace operations of non-newline characters should be merged + m_document->undo(); + QCOMPARE(QStringLiteral("Hello, World"), m_annot1->contents()); + QCOMPARE(QStringLiteral("Hello, World"), m_editor1->contents()); + QCOMPARE(7, m_editor1->cursorPos()); + QCOMPARE(7, m_editor1->anchorPos()); + + // Backspace operations on newline characters should not be merged + m_document->undo(); + QCOMPARE(QStringLiteral("Hello, \nWorld"), m_annot1->contents()); + QCOMPARE(QStringLiteral("Hello, \nWorld"), m_editor1->contents()); + QCOMPARE(8, m_editor1->cursorPos()); + QCOMPARE(8, m_editor1->anchorPos()); + + m_document->undo(); + QCOMPARE(QStringLiteral("Hello, \n\nWorld"), m_annot1->contents()); + QCOMPARE(QStringLiteral("Hello, \n\nWorld"), m_editor1->contents()); + QCOMPARE(9, m_editor1->cursorPos()); + QCOMPARE(9, m_editor1->anchorPos()); +} + +void EditAnnotationContentsTest::testConsecutiveCharInsertionsMerged() +{ + // Hello, |World -> Hello, B|World + m_document->editPageAnnotationContents(0, m_annot1, QStringLiteral("Hello, BWorld"), 8, 7, 7); + QCOMPARE(QStringLiteral("Hello, BWorld"), m_annot1->contents()); + + // Hello, l| -> Hello, li| + m_document->editPageAnnotationContents(0, m_annot1, QStringLiteral("Hello, BiWorld"), 9, 8, 8); + QCOMPARE(QStringLiteral("Hello, BiWorld"), m_annot1->contents()); + + // Hello, li| -> Hello, lin| + m_document->editPageAnnotationContents(0, m_annot1, QStringLiteral("Hello, BigWorld"), 10, 9, 9); + QCOMPARE(QStringLiteral("Hello, BigWorld"), m_annot1->contents()); + + // Hello, lin| -> Hello, line| + m_document->editPageAnnotationContents(0, m_annot1, QStringLiteral("Hello, Big World"), 11, 10, 10); + QCOMPARE(QStringLiteral("Hello, Big World"), m_annot1->contents()); + + // Verify undo/redo operations merged + m_document->undo(); + QCOMPARE(QStringLiteral("Hello, World"), m_annot1->contents()); + QCOMPARE(QStringLiteral("Hello, World"), m_editor1->contents()); + QCOMPARE(7, m_editor1->cursorPos()); + QCOMPARE(7, m_editor1->anchorPos()); + + m_document->redo(); + QCOMPARE(QStringLiteral("Hello, Big World"), m_annot1->contents()); + QCOMPARE(QStringLiteral("Hello, Big World"), m_editor1->contents()); + QCOMPARE(11, m_editor1->cursorPos()); + QCOMPARE(11, m_editor1->anchorPos()); +} + +void EditAnnotationContentsTest::testConsecutiveNewlineInsertionsNotMerged() +{ + // Hello, |World -> Hello, \n|World + m_document->editPageAnnotationContents(0, m_annot1, QStringLiteral("Hello, \nWorld"), 8, 7, 7); + QCOMPARE(QStringLiteral("Hello, \nWorld"), m_annot1->contents()); + + // Hello, |World -> Hello, \n|World + m_document->editPageAnnotationContents(0, m_annot1, QStringLiteral("Hello, \n\nWorld"), 9, 8, 8); + QCOMPARE(QStringLiteral("Hello, \n\nWorld"), m_annot1->contents()); + + m_document->undo(); + QCOMPARE(QStringLiteral("Hello, \nWorld"), m_annot1->contents()); + QCOMPARE(QStringLiteral("Hello, \nWorld"), m_editor1->contents()); + QCOMPARE(8, m_editor1->cursorPos()); + QCOMPARE(8, m_editor1->anchorPos()); + + m_document->undo(); + QCOMPARE(QStringLiteral("Hello, World"), m_annot1->contents()); + QCOMPARE(QStringLiteral("Hello, World"), m_editor1->contents()); + QCOMPARE(7, m_editor1->cursorPos()); + QCOMPARE(7, m_editor1->anchorPos()); + + m_document->redo(); + QCOMPARE(QStringLiteral("Hello, \nWorld"), m_annot1->contents()); + QCOMPARE(QStringLiteral("Hello, \nWorld"), m_editor1->contents()); + QCOMPARE(8, m_editor1->cursorPos()); + QCOMPARE(8, m_editor1->anchorPos()); + + m_document->redo(); + QCOMPARE(QStringLiteral("Hello, \n\nWorld"), m_annot1->contents()); + QCOMPARE(QStringLiteral("Hello, \n\nWorld"), m_editor1->contents()); + QCOMPARE(9, m_editor1->cursorPos()); + QCOMPARE(9, m_editor1->anchorPos()); +} + +void EditAnnotationContentsTest::testConsecutiveCharDeletesMerged() +{ + // Hello, |World -> Hello, |orld + m_document->editPageAnnotationContents(0, m_annot1, QStringLiteral("Hello, orld"), 7, 7, 7); + QCOMPARE(QStringLiteral("Hello, orld"), m_annot1->contents()); + + // Hello, |orld -> Hello, |rld + m_document->editPageAnnotationContents(0, m_annot1, QStringLiteral("Hello, rld"), 7, 7, 7); + QCOMPARE(QStringLiteral("Hello, rld"), m_annot1->contents()); + + // Hello, |rld -> Hello, |ld + m_document->editPageAnnotationContents(0, m_annot1, QStringLiteral("Hello, ld"), 7, 7, 7); + QCOMPARE(QStringLiteral("Hello, ld"), m_annot1->contents()); + + // Hello, |ld -> Hello, |d + m_document->editPageAnnotationContents(0, m_annot1, QStringLiteral("Hello, d"), 7, 7, 7); + QCOMPARE(QStringLiteral("Hello, d"), m_annot1->contents()); + + // Hello, | -> Hello, | + m_document->editPageAnnotationContents(0, m_annot1, QStringLiteral("Hello, "), 7, 7, 7); + QCOMPARE(QStringLiteral("Hello, "), m_annot1->contents()); + + // Verify undo/redo operations merged + m_document->undo(); + QCOMPARE(QStringLiteral("Hello, World"), m_annot1->contents()); + QCOMPARE(QStringLiteral("Hello, World"), m_editor1->contents()); + QCOMPARE(7, m_editor1->cursorPos()); + QCOMPARE(7, m_editor1->anchorPos()); + + m_document->redo(); + QCOMPARE(QStringLiteral("Hello, "), m_annot1->contents()); + QCOMPARE(QStringLiteral("Hello, "), m_editor1->contents()); + QCOMPARE(7, m_editor1->cursorPos()); + QCOMPARE(7, m_editor1->anchorPos()); +} + +void EditAnnotationContentsTest::testConsecutiveNewlineDeletesNotMerged() +{ + // Set contents to Hello, \n\n|World + m_document->editPageAnnotationContents(0, m_annot1, QStringLiteral("Hello, \n\nWorld"), 0, 0, 0); + QCOMPARE(QStringLiteral("Hello, \n\nWorld"), m_annot1->contents()); + + // He|llo, \n\nWorld -> He|lo, \n\nWorld + m_document->editPageAnnotationContents(0, m_annot1, QStringLiteral("Helo, \n\nWorld"), 2, 2, 2); + QCOMPARE(QStringLiteral("Helo, \n\nWorld"), m_annot1->contents()); + + // He|lo, \n\nWorld -> He|o, \n\nWorld + m_document->editPageAnnotationContents(0, m_annot1, QStringLiteral("Heo, \n\nWorld"), 2, 2, 2); + QCOMPARE(QStringLiteral("Heo, \n\nWorld"), m_annot1->contents()); + + // He|o, \n\nWorld -> He|, \n\nWorld + m_document->editPageAnnotationContents(0, m_annot1, QStringLiteral("He, \n\nWorld"), 2, 2, 2); + QCOMPARE(QStringLiteral("He, \n\nWorld"), m_annot1->contents()); + + // He|, \n\nWorld -> He| \n\nWorld + m_document->editPageAnnotationContents(0, m_annot1, QStringLiteral("He \n\nWorld"), 2, 2, 2); + QCOMPARE(QStringLiteral("He \n\nWorld"), m_annot1->contents()); + + // He| \n\nWorld -> He|\n\nWorld + m_document->editPageAnnotationContents(0, m_annot1, QStringLiteral("He\n\nWorld"), 2, 2, 2); + QCOMPARE(QStringLiteral("He\n\nWorld"), m_annot1->contents()); + + // He|\n\nWorld -> He|\nWorld + m_document->editPageAnnotationContents(0, m_annot1, QStringLiteral("He\nWorld"), 2, 2, 2); + QCOMPARE(QStringLiteral("He\nWorld"), m_annot1->contents()); + + // He|\nWorld -> He|World + m_document->editPageAnnotationContents(0, m_annot1, QStringLiteral("HeWorld"), 2, 2, 2); + QCOMPARE(QStringLiteral("HeWorld"), m_annot1->contents()); + + // Verify that deletions of newlines are not merged, but deletions of other characters are + m_document->undo(); + QCOMPARE(QStringLiteral("He\nWorld"), m_annot1->contents()); + QCOMPARE(QStringLiteral("He\nWorld"), m_editor1->contents()); + QCOMPARE(2, m_editor1->cursorPos()); + QCOMPARE(2, m_editor1->anchorPos()); + + m_document->undo(); + QCOMPARE(QStringLiteral("He\n\nWorld"), m_annot1->contents()); + QCOMPARE(QStringLiteral("He\n\nWorld"), m_editor1->contents()); + QCOMPARE(2, m_editor1->cursorPos()); + QCOMPARE(2, m_editor1->anchorPos()); + + m_document->undo(); + QCOMPARE(QStringLiteral("Hello, \n\nWorld"), m_annot1->contents()); + QCOMPARE(QStringLiteral("Hello, \n\nWorld"), m_editor1->contents()); + QCOMPARE(2, m_editor1->cursorPos()); + QCOMPARE(2, m_editor1->anchorPos()); +} + +void EditAnnotationContentsTest::testConsecutiveEditsNotMergedAcrossDifferentAnnotations() +{ + // Annot1: Hello, World| -> Hello, Worl| + m_document->editPageAnnotationContents(0, m_annot1, QStringLiteral("Hello, Worl"), 11, 12, 12); + QCOMPARE(QStringLiteral("Hello, Worl"), m_annot1->contents()); + // Annot1: Hello, Worl| -> Hello, Wor| + m_document->editPageAnnotationContents(0, m_annot1, QStringLiteral("Hello, Wor"), 10, 11, 11); + QCOMPARE(QStringLiteral("Hello, Wor"), m_annot1->contents()); + + // Annot2: Hello, World| -> Hello, Worl| + m_document->editPageAnnotationContents(0, m_annot2, QStringLiteral("Hello, Worl"), 11, 12, 12); + QCOMPARE(QStringLiteral("Hello, Worl"), m_annot2->contents()); + // Annot2: Hello, Worl| -> Hello, Wor| + m_document->editPageAnnotationContents(0, m_annot2, QStringLiteral("Hello, Wor"), 10, 11, 11); + QCOMPARE(QStringLiteral("Hello, Wor"), m_annot2->contents()); + + // Annot1: Hello, Wor| -> Hello, Wo| + m_document->editPageAnnotationContents(0, m_annot1, QStringLiteral("Hello, Wo"), 9, 10, 10); + QCOMPARE(QStringLiteral("Hello, Wo"), m_annot1->contents()); + // Annot1: Hello, Wo| -> Hello, W| + m_document->editPageAnnotationContents(0, m_annot1, QStringLiteral("Hello, W"), 8, 9, 9); + QCOMPARE(QStringLiteral("Hello, W"), m_annot1->contents()); + // Annot1: Hello, W| -> Hello, | + m_document->editPageAnnotationContents(0, m_annot1, QStringLiteral("Hello, "), 7, 8, 8); + QCOMPARE(QStringLiteral("Hello, "), m_annot1->contents()); + + // Annot2: Hello, Wor| -> Hello, Wo| + m_document->editPageAnnotationContents(0, m_annot2, QStringLiteral("Hello, Wo"), 9, 10, 10); + QCOMPARE(QStringLiteral("Hello, Wo"), m_annot2->contents()); + // Annot2: Hello, Wo| -> Hello, W| + m_document->editPageAnnotationContents(0, m_annot2, QStringLiteral("Hello, W"), 8, 9, 9); + QCOMPARE(QStringLiteral("Hello, W"), m_annot2->contents()); + // Annot2: Hello, W| -> Hello, | + m_document->editPageAnnotationContents(0, m_annot2, QStringLiteral("Hello, "), 7, 8, 8); + QCOMPARE(QStringLiteral("Hello, "), m_annot2->contents()); + + // undo and verify that consecutive backspace operations are merged together + // m_annot2 -> "Hello, Wor|" + m_document->undo(); + QCOMPARE(QStringLiteral("Hello, Wor"), m_annot2->contents()); + QCOMPARE(QStringLiteral("Hello, "), m_editor1->contents()); + QCOMPARE(QStringLiteral("Hello, Wor"), m_editor2->contents()); + QCOMPARE(10, m_editor2->cursorPos()); + QCOMPARE(10, m_editor2->anchorPos()); + + // m_annot1 -> "Hello, Wor|" + m_document->undo(); + QCOMPARE(QStringLiteral("Hello, Wor"), m_annot1->contents()); + QCOMPARE(QStringLiteral("Hello, Wor"), m_editor1->contents()); + QCOMPARE(QStringLiteral("Hello, Wor"), m_editor2->contents()); + QCOMPARE(10, m_editor1->cursorPos()); + QCOMPARE(10, m_editor1->anchorPos()); + + // m_annot2 -> "Hello, World|" + m_document->undo(); + QCOMPARE(QStringLiteral("Hello, World"), m_annot2->contents()); + QCOMPARE(QStringLiteral("Hello, Wor"), m_editor1->contents()); + QCOMPARE(QStringLiteral("Hello, World"), m_editor2->contents()); + QCOMPARE(12, m_editor2->cursorPos()); + QCOMPARE(12, m_editor2->anchorPos()); + + // m_annot1 -> "Hello, World|" + m_document->undo(); + QCOMPARE(QStringLiteral("Hello, World"), m_annot1->contents()); + QCOMPARE(QStringLiteral("Hello, World"), m_editor1->contents()); + QCOMPARE(QStringLiteral("Hello, World"), m_editor2->contents()); + QCOMPARE(12, m_editor1->cursorPos()); + QCOMPARE(12, m_editor1->anchorPos()); +} + +void EditAnnotationContentsTest::testInsertWithSelection() +{ + // Annot1: |Hello|, World -> H|, World + m_document->editPageAnnotationContents(0, m_annot1, QStringLiteral("H, World"), 1, 0, 5); + QCOMPARE(QStringLiteral("H, World"), m_annot1->contents()); + + // Annot1: H|, World -> Hi|, World + m_document->editPageAnnotationContents(0, m_annot1, QStringLiteral("Hi, World"), 2, 1, 1); + QCOMPARE(QStringLiteral("Hi, World"), m_annot1->contents()); + + m_document->undo(); + QCOMPARE(QStringLiteral("H, World"), m_annot1->contents()); + QCOMPARE(QStringLiteral("H, World"), m_editor1->contents()); + QCOMPARE(1, m_editor1->cursorPos()); + QCOMPARE(1, m_editor1->anchorPos()); + + m_document->undo(); + QCOMPARE(QStringLiteral("Hello, World"), m_annot1->contents()); + QCOMPARE(QStringLiteral("Hello, World"), m_editor1->contents()); + QCOMPARE(0, m_editor1->cursorPos()); + QCOMPARE(5, m_editor1->anchorPos()); +} + +void EditAnnotationContentsTest::testCombinations() +{ + // Annot1: Hello, World| -> Hello, Worl| + m_document->editPageAnnotationContents(0, m_annot1, QStringLiteral("Hello, Worl"), 11, 12, 12); + QCOMPARE(QStringLiteral("Hello, Worl"), m_annot1->contents()); + + // Annot1: Hello, Worl| -> Hello, Wor| + m_document->editPageAnnotationContents(0, m_annot1, QStringLiteral("Hello, Wor"), 10, 11, 11); + QCOMPARE(QStringLiteral("Hello, Wor"), m_annot1->contents()); + + // Annot1: |He|llo, Wor -> |llo, Wor + m_document->editPageAnnotationContents(0, m_annot1, QStringLiteral("llo, Wor"), 0, 2, 0); + QCOMPARE(QStringLiteral("llo, Wor"), m_annot1->contents()); + + // Annot1: |llo, Wor -> |lo, Wor + m_document->editPageAnnotationContents(0, m_annot1, QStringLiteral("lo, Wor"), 0, 0, 0); + QCOMPARE(QStringLiteral("lo, Wor"), m_annot1->contents()); + + m_document->undo(); + QCOMPARE(QStringLiteral("llo, Wor"), m_annot1->contents()); + QCOMPARE(QStringLiteral("llo, Wor"), m_editor1->contents()); + QCOMPARE(0, m_editor1->cursorPos()); + QCOMPARE(0, m_editor1->anchorPos()); + + m_document->undo(); + QCOMPARE(QStringLiteral("Hello, Wor"), m_annot1->contents()); + QCOMPARE(QStringLiteral("Hello, Wor"), m_editor1->contents()); + QCOMPARE(2, m_editor1->cursorPos()); + QCOMPARE(0, m_editor1->anchorPos()); + + m_document->undo(); + QCOMPARE(QStringLiteral("Hello, World"), m_annot1->contents()); + QCOMPARE(QStringLiteral("Hello, World"), m_editor1->contents()); + QCOMPARE(12, m_editor1->cursorPos()); + QCOMPARE(12, m_editor1->anchorPos()); +} + +QTEST_MAIN(EditAnnotationContentsTest) +#include "editannotationcontentstest.moc" diff --git a/autotests/editdrawingtooldialogtest.cpp b/autotests/editdrawingtooldialogtest.cpp new file mode 100644 index 0000000..bf9726d --- /dev/null +++ b/autotests/editdrawingtooldialogtest.cpp @@ -0,0 +1,45 @@ +/* + SPDX-FileCopyrightText: 2015 Laurent Montel + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "editdrawingtooldialogtest.h" +#include "../part/editdrawingtooldialog.h" + +#include +#include + +#include +#include +#include + +EditDrawingToolDialogTest::EditDrawingToolDialogTest(QObject *parent) + : QObject(parent) +{ +} + +EditDrawingToolDialogTest::~EditDrawingToolDialogTest() +{ +} + +void EditDrawingToolDialogTest::shouldHaveDefaultValues() +{ + EditDrawingToolDialog dlg; + + const QDialogButtonBox *buttonBox = dlg.findChild(QStringLiteral("buttonbox")); + QVERIFY(buttonBox); + + const KLineEdit *name = dlg.findChild(QStringLiteral("name")); + QVERIFY(name); + + const KColorButton *colorButton = dlg.findChild(QStringLiteral("colorbutton")); + QVERIFY(colorButton); + + const QSpinBox *opacity = dlg.findChild(QStringLiteral("opacity")); + QVERIFY(opacity); + + QVERIFY(name->text().isEmpty()); +} + +QTEST_MAIN(EditDrawingToolDialogTest) diff --git a/autotests/editdrawingtooldialogtest.h b/autotests/editdrawingtooldialogtest.h new file mode 100644 index 0000000..da08495 --- /dev/null +++ b/autotests/editdrawingtooldialogtest.h @@ -0,0 +1,23 @@ +/* + SPDX-FileCopyrightText: 2015 Laurent Montel + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef EDITDRAWINGTOOLDIALOGTEST_H +#define EDITDRAWINGTOOLDIALOGTEST_H + +#include + +class EditDrawingToolDialogTest : public QObject +{ + Q_OBJECT +public: + explicit EditDrawingToolDialogTest(QObject *parent = nullptr); + ~EditDrawingToolDialogTest() override; + +private Q_SLOTS: + void shouldHaveDefaultValues(); +}; + +#endif // EDITDRAWINGTOOLDIALOGTEST_H diff --git a/autotests/editformstest.cpp b/autotests/editformstest.cpp new file mode 100644 index 0000000..f89f83f --- /dev/null +++ b/autotests/editformstest.cpp @@ -0,0 +1,418 @@ +/* + SPDX-FileCopyrightText: 2013 Jon Mease + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include + +#include "../settings_core.h" +#include "core/document.h" +#include +#include +#include +#include + +class EditFormsTest : public QObject +{ + Q_OBJECT + +private Q_SLOTS: + void initTestCase(); + void cleanupTestCase(); + void init(); + void cleanup(); + + void testRadioButtonForm(); + void testCheckBoxForm(); + void testTextLineForm(); + void testTextAreaForm(); + void testFileEditForm(); + void testComboEditForm(); + void testListSingleEdit(); + void testListMultiEdit(); + + // helper methods + void verifyRadioButtonStates(bool state1, bool state2, bool state3); + void setRadioButtonStates(bool state1, bool state2, bool state3); + void verifyTextForm(Okular::FormFieldText *form); + +private: + Okular::Document *m_document; + QList m_radioButtonForms; + QList m_checkBoxForms; + Okular::FormFieldText *m_textLineForm; + Okular::FormFieldText *m_textAreaForm; + Okular::FormFieldText *m_fileEditForm; + Okular::FormFieldChoice *m_comboEdit; + Okular::FormFieldChoice *m_listSingleEdit; + Okular::FormFieldChoice *m_listMultiEdit; +}; + +void EditFormsTest::initTestCase() +{ + Okular::SettingsCore::instance(QStringLiteral("editformstest")); + m_document = new Okular::Document(nullptr); +} + +void EditFormsTest::cleanupTestCase() +{ + delete m_document; +} + +void EditFormsTest::init() +{ + const QString testFile = QStringLiteral(KDESRCDIR "data/formSamples.pdf"); + QMimeDatabase db; + const QMimeType mime = db.mimeTypeForFile(testFile); + QCOMPARE(m_document->openDocument(testFile, QUrl(), mime), Okular::Document::OpenSuccess); + + // Undo and Redo should be unavailable when docuemnt is first opened. + QVERIFY(!m_document->canUndo()); + QVERIFY(!m_document->canRedo()); + + const Okular::Page *page = m_document->page(0); + const QList pageFields = page->formFields(); + + // Clear lists + m_checkBoxForms.clear(); + m_radioButtonForms.clear(); + + // Collect forms of the various types + for (Okular::FormField *ff : pageFields) { + ff->type(); + + switch (ff->type()) { + case Okular::FormField::FormButton: { + Okular::FormFieldButton *ffb = static_cast(ff); + switch (ffb->buttonType()) { + case Okular::FormFieldButton::Push: + break; + case Okular::FormFieldButton::CheckBox: + m_checkBoxForms.append(ffb); + break; + case Okular::FormFieldButton::Radio: + m_radioButtonForms.append(ffb); + break; + default:; + } + break; + } + case Okular::FormField::FormText: { + Okular::FormFieldText *fft = static_cast(ff); + switch (fft->textType()) { + case Okular::FormFieldText::Multiline: + m_textAreaForm = fft; + break; + case Okular::FormFieldText::Normal: + m_textLineForm = fft; + break; + case Okular::FormFieldText::FileSelect: + m_fileEditForm = fft; + break; + } + break; + } + case Okular::FormField::FormChoice: { + Okular::FormFieldChoice *ffc = static_cast(ff); + switch (ffc->choiceType()) { + case Okular::FormFieldChoice::ListBox: + if (ffc->multiSelect()) { + m_listMultiEdit = ffc; + } else { + m_listSingleEdit = ffc; + } + break; + case Okular::FormFieldChoice::ComboBox: + m_comboEdit = ffc; + break; + } + break; + } + default:; + } + } +} + +void EditFormsTest::cleanup() +{ + m_document->closeDocument(); +} + +void EditFormsTest::testRadioButtonForm() +{ + // Initially the first radio button is checked + verifyRadioButtonStates(true, false, false); + + // Set the second radio to checked and make sure the first + // is now unchecked and that an undo action is available + setRadioButtonStates(false, true, false); + verifyRadioButtonStates(false, true, false); + QVERIFY(m_document->canUndo()); + + // Now undo the action + m_document->undo(); + verifyRadioButtonStates(true, false, false); + QVERIFY(!m_document->canUndo()); + QVERIFY(m_document->canRedo()); + + // Now redo the action + m_document->redo(); + verifyRadioButtonStates(false, true, false); + QVERIFY(m_document->canUndo()); + QVERIFY(!m_document->canRedo()); +} + +void EditFormsTest::testCheckBoxForm() +{ + // Examine the first and second checkboxes + // Initially both checkboxes are unchecked + QVERIFY(m_checkBoxForms[0]->state() == false); + QVERIFY(m_checkBoxForms[1]->state() == false); + + // Set checkbox 1 to true + m_document->editFormButtons(0, QList() << m_checkBoxForms[0], QList() << true); + QVERIFY(m_checkBoxForms[0]->state() == true); + QVERIFY(m_checkBoxForms[1]->state() == false); + QVERIFY(m_document->canUndo()); + + // Set checkbox 2 to true + m_document->editFormButtons(0, QList() << m_checkBoxForms[1], QList() << true); + QVERIFY(m_checkBoxForms[0]->state() == true); + QVERIFY(m_checkBoxForms[1]->state() == true); + QVERIFY(m_document->canUndo()); + + // Undo checking of second checkbox + m_document->undo(); + QVERIFY(m_checkBoxForms[0]->state() == true); + QVERIFY(m_checkBoxForms[1]->state() == false); + QVERIFY(m_document->canUndo()); + QVERIFY(m_document->canRedo()); + + // Undo checking of first checkbox + m_document->undo(); + QVERIFY(m_checkBoxForms[0]->state() == false); + QVERIFY(m_checkBoxForms[1]->state() == false); + QVERIFY(!m_document->canUndo()); + QVERIFY(m_document->canRedo()); + + // Redo checking of first checkbox + m_document->redo(); + QVERIFY(m_checkBoxForms[0]->state() == true); + QVERIFY(m_checkBoxForms[1]->state() == false); + QVERIFY(m_document->canUndo()); + QVERIFY(m_document->canRedo()); +} + +void EditFormsTest::testTextLineForm() +{ + verifyTextForm(m_textLineForm); +} + +void EditFormsTest::testTextAreaForm() +{ + verifyTextForm(m_textAreaForm); +} + +void EditFormsTest::testFileEditForm() +{ + verifyTextForm(m_fileEditForm); +} + +void EditFormsTest::testComboEditForm() +{ + // Editable combo with predefined choices: + // - combo1 + // - combo2 + // - combo3 + + // Initially no choice is selected + QCOMPARE(m_comboEdit->currentChoices().length(), 0); + QCOMPARE(m_comboEdit->editChoice(), QLatin1String("")); + + // Select first choice + m_document->editFormCombo(0, m_comboEdit, QStringLiteral("combo1"), 0, 0, 0); + QCOMPARE(m_comboEdit->currentChoices().length(), 1); + QCOMPARE(m_comboEdit->currentChoices().constFirst(), 0); + QCOMPARE(m_comboEdit->editChoice(), QLatin1String("")); + QVERIFY(m_document->canUndo()); + QVERIFY(!m_document->canRedo()); + + // Select third choice + m_document->editFormCombo(0, m_comboEdit, QStringLiteral("combo3"), 0, 0, 0); + QCOMPARE(m_comboEdit->currentChoices().length(), 1); + QCOMPARE(m_comboEdit->currentChoices().constFirst(), 2); + QCOMPARE(m_comboEdit->editChoice(), QLatin1String("")); + QVERIFY(m_document->canUndo()); + QVERIFY(!m_document->canRedo()); + + // Undo and verify that first choice is selected + m_document->undo(); + QCOMPARE(m_comboEdit->currentChoices().length(), 1); + QCOMPARE(m_comboEdit->currentChoices().constFirst(), 0); + QVERIFY(m_document->canUndo()); + QVERIFY(m_document->canRedo()); + + // Redo and verify that third choice is selected + m_document->redo(); + QCOMPARE(m_comboEdit->currentChoices().length(), 1); + QCOMPARE(m_comboEdit->currentChoices().constFirst(), 2); + QVERIFY(m_document->canUndo()); + QVERIFY(!m_document->canRedo()); + + // Select a custom choice and verify that no predefined choices are selected + m_document->editFormCombo(0, m_comboEdit, QStringLiteral("comboEdit"), 0, 0, 0); + QCOMPARE(m_comboEdit->currentChoices().length(), 0); + QCOMPARE(m_comboEdit->editChoice(), QStringLiteral("comboEdit")); + QVERIFY(m_document->canUndo()); + QVERIFY(!m_document->canRedo()); + + // Undo and verify that third choice is selected + m_document->undo(); + QCOMPARE(m_comboEdit->currentChoices().length(), 1); + QCOMPARE(m_comboEdit->currentChoices().constFirst(), 2); + QVERIFY(m_document->canUndo()); + QVERIFY(m_document->canRedo()); +} + +void EditFormsTest::testListSingleEdit() +{ + // A list with three items that allows only single selections + // Initially no choice is selected + QCOMPARE(m_listSingleEdit->currentChoices().length(), 0); + + // Select first item + m_document->editFormList(0, m_listSingleEdit, QList() << 0); + QCOMPARE(m_listSingleEdit->currentChoices().length(), 1); + QCOMPARE(m_listSingleEdit->currentChoices().constFirst(), 0); + QVERIFY(m_document->canUndo()); + QVERIFY(!m_document->canRedo()); + + // Select second item + m_document->editFormList(0, m_listSingleEdit, QList() << 1); + QCOMPARE(m_listSingleEdit->currentChoices().length(), 1); + QCOMPARE(m_listSingleEdit->currentChoices().constFirst(), 1); + QVERIFY(m_document->canUndo()); + QVERIFY(!m_document->canRedo()); + + // Undo and verify that first item is selected + m_document->undo(); + QCOMPARE(m_listSingleEdit->currentChoices().length(), 1); + QCOMPARE(m_listSingleEdit->currentChoices().constFirst(), 0); + QVERIFY(m_document->canUndo()); + QVERIFY(m_document->canRedo()); + + // Redo and verify that second item is selected + m_document->redo(); + QCOMPARE(m_listSingleEdit->currentChoices().length(), 1); + QCOMPARE(m_listSingleEdit->currentChoices().constFirst(), 1); + QVERIFY(m_document->canUndo()); + QVERIFY(!m_document->canRedo()); +} + +void EditFormsTest::testListMultiEdit() +{ + // A list with three items that allows for multiple selections + // Initially no choice is selected + QCOMPARE(m_listMultiEdit->currentChoices().length(), 0); + + // Select first item + m_document->editFormList(0, m_listMultiEdit, QList() << 0); + QCOMPARE(m_listMultiEdit->currentChoices(), QList() << 0); + QVERIFY(m_document->canUndo()); + QVERIFY(!m_document->canRedo()); + + // Select first and third items + m_document->editFormList(0, m_listMultiEdit, QList() << 0 << 2); + QCOMPARE(m_listMultiEdit->currentChoices(), QList() << 0 << 2); + QVERIFY(m_document->canUndo()); + QVERIFY(!m_document->canRedo()); + + // Select all three items + m_document->editFormList(0, m_listMultiEdit, QList() << 0 << 1 << 2); + QCOMPARE(m_listMultiEdit->currentChoices(), QList() << 0 << 1 << 2); + QVERIFY(m_document->canUndo()); + QVERIFY(!m_document->canRedo()); + + // Undo and verify that first and third items are selected + m_document->undo(); + QCOMPARE(m_listMultiEdit->currentChoices(), QList() << 0 << 2); + QVERIFY(m_document->canUndo()); + QVERIFY(m_document->canRedo()); + + // Undo and verify that first item is selected + m_document->undo(); + QCOMPARE(m_listMultiEdit->currentChoices(), QList() << 0); + QVERIFY(m_document->canUndo()); + QVERIFY(m_document->canRedo()); + + // Redo and verify that first and third items are selected + m_document->redo(); + QCOMPARE(m_listMultiEdit->currentChoices(), QList() << 0 << 2); + QVERIFY(m_document->canUndo()); + QVERIFY(m_document->canRedo()); +} + +// helper methods +void EditFormsTest::verifyRadioButtonStates(bool state1, bool state2, bool state3) +{ + QVERIFY(m_radioButtonForms[0]->state() == state1); + QVERIFY(m_radioButtonForms[1]->state() == state2); + QVERIFY(m_radioButtonForms[2]->state() == state3); +} + +void EditFormsTest::setRadioButtonStates(bool state1, bool state2, bool state3) +{ + QList newButtonStates; + newButtonStates.append(state1); + newButtonStates.append(state2); + newButtonStates.append(state3); + m_document->editFormButtons(0, m_radioButtonForms, newButtonStates); +} + +void EditFormsTest::verifyTextForm(Okular::FormFieldText *form) +{ + // Text in form is initially empty + QCOMPARE(form->text(), QLatin1String("")); + + // Insert the string "Hello" into the form + m_document->editFormText(0, form, QStringLiteral("Hello"), 5, 0, 0, QString()); + QCOMPARE(form->text(), QStringLiteral("Hello")); + QVERIFY(m_document->canUndo()); + QVERIFY(!m_document->canRedo()); + + // Undo the insertion and verify that form is empty again + m_document->undo(); + QCOMPARE(form->text(), QLatin1String("")); + QVERIFY(!m_document->canUndo()); + QVERIFY(m_document->canRedo()); + + // Redo the insertion of "Hello" + m_document->redo(); + QCOMPARE(form->text(), QStringLiteral("Hello")); + QVERIFY(m_document->canUndo()); + QVERIFY(!m_document->canRedo()); + + // Type "_World" after "Hello" + m_document->editFormText(0, form, QStringLiteral("Hello_"), 6, 5, 5, QStringLiteral("Hello")); + m_document->editFormText(0, form, QStringLiteral("Hello_W"), 7, 6, 6, QStringLiteral("Hello_")); + m_document->editFormText(0, form, QStringLiteral("Hello_Wo"), 8, 7, 7, QStringLiteral("Hello_W")); + m_document->editFormText(0, form, QStringLiteral("Hello_Wor"), 9, 8, 8, QStringLiteral("Hello_Wo")); + m_document->editFormText(0, form, QStringLiteral("Hello_Worl"), 10, 9, 9, QStringLiteral("Hello_Wor")); + m_document->editFormText(0, form, QStringLiteral("Hello_World"), 11, 10, 10, QStringLiteral("Hello_Worl")); + + // Verify that character insertion operations were merged together into a single undo command + m_document->undo(); + QCOMPARE(form->text(), QStringLiteral("Hello")); + QVERIFY(m_document->canUndo()); + QVERIFY(m_document->canRedo()); + + // Verify that one more undo gets us back to the original state (empty form) + m_document->undo(); + QCOMPARE(form->text(), QLatin1String("")); + QVERIFY(!m_document->canUndo()); + QVERIFY(m_document->canRedo()); +} + +QTEST_MAIN(EditFormsTest) +#include "editformstest.moc" diff --git a/autotests/formattest.cpp b/autotests/formattest.cpp new file mode 100644 index 0000000..f01ea14 --- /dev/null +++ b/autotests/formattest.cpp @@ -0,0 +1,304 @@ +/* + SPDX-FileCopyrightText: 2019 João Netto + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include + +#include "../settings_core.h" +#include +#include +#include +#include +#include +#include +#include + +class FormatTest : public QObject +{ + Q_OBJECT + +private Q_SLOTS: + void initTestCase(); + void cleanupTestCase(); + void testTimeFormat(); + void testTimeFormat_data(); + void testSpecialFormat(); + void testSpecialFormat_data(); + void testFocusInAction(); + void testFocusInAction_data(); + void testFocusOutAction(); + void testFocusOutAction_data(); + void testNumberFormat(); + void testNumberFormat_data(); + void testPercentFormat(); + void testPercentFormat_data(); + void testDateFormat(); + void testDateFormat_data(); + +private: + Okular::Document *m_document; + QMap m_fields; + QString m_formattedText; +}; + +void FormatTest::initTestCase() +{ + Okular::SettingsCore::instance(QStringLiteral("formattest")); + m_document = new Okular::Document(nullptr); + + // Force consistent locale + QLocale locale(QStringLiteral("en_US")); + QLocale::setDefault(locale); + + const QString testFile = QStringLiteral(KDESRCDIR "data/formattest.pdf"); + QMimeDatabase db; + const QMimeType mime = db.mimeTypeForFile(testFile); + QCOMPARE(m_document->openDocument(testFile, QUrl(), mime), Okular::Document::OpenSuccess); + + connect(m_document, &Okular::Document::refreshFormWidget, this, [this](Okular::FormField *form) { + Okular::FormFieldText *fft = reinterpret_cast(form); + if (fft) { + m_formattedText = fft->text(); + } + }); + + const Okular::Page *page = m_document->page(0); + const QList pageFormFields = page->formFields(); + for (Okular::FormField *ff : pageFormFields) { + m_fields.insert(ff->name(), ff); + } +} + +void FormatTest::testTimeFormat() +{ + QFETCH(QString, fieldName); + QFETCH(QString, text); + QFETCH(QString, result); + + Okular::FormField *ff = m_fields[fieldName]; + Okular::FormFieldText *fft = static_cast(ff); + fft->setText(text); + m_document->processFormatAction(ff->additionalAction(Okular::FormField::FormatField), ff); + + QCOMPARE(m_formattedText, result); +} + +void FormatTest::testTimeFormat_data() +{ + QTest::addColumn("fieldName"); + QTest::addColumn("text"); + QTest::addColumn("result"); + + QTest::newRow("field hh:mm") << QStringLiteral("time1") << QStringLiteral("1:20") << QStringLiteral("01:20"); + QTest::newRow("field hh:mm with pm") << QStringLiteral("time1") << QStringLiteral("1:20 pm") << QStringLiteral("13:20"); + QTest::newRow("field hh:mm invalid one number") << QStringLiteral("time1") << QStringLiteral("1") << QString(QLatin1String("")); + QTest::newRow("field hh:mm invalid time") << QStringLiteral("time1") << QStringLiteral("25:12") << QString(QLatin1String("")); + QTest::newRow("field hh:mm invalid only letters") << QStringLiteral("time1") << QStringLiteral("abcd") << QString(QLatin1String("")); + QTest::newRow("field hh:mm ap") << QStringLiteral("time2") << QStringLiteral("1:20") << QStringLiteral("1:20 am"); + QTest::newRow("field hh:mm ap remove zero") << QStringLiteral("time2") << QStringLiteral("01:20 pm") << QStringLiteral("1:20 pm"); + QTest::newRow("field hh:mm ap change to AM/PM") << QStringLiteral("time2") << QStringLiteral("13:20") << QStringLiteral("1:20 pm"); + QTest::newRow("field hh:mm:ss without seconds") << QStringLiteral("time3") << QStringLiteral("1:20") << QStringLiteral("01:20:00"); + QTest::newRow("field hh:mm:ss with pm") << QStringLiteral("time3") << QStringLiteral("1:20:00 pm") << QStringLiteral("13:20:00"); + QTest::newRow("field hh:mm:ss ap without am") << QStringLiteral("time4") << QStringLiteral("1:20:00") << QStringLiteral("1:20:00 am"); + QTest::newRow("field hh:mm:ss ap remove 0") << QStringLiteral("time4") << QStringLiteral("01:20:00 pm") << QStringLiteral("1:20:00 pm"); + QTest::newRow("field hh:mm:ss ap change to AM/PM") << QStringLiteral("time4") << QStringLiteral("13:20:00") << QStringLiteral("1:20:00 pm"); +} + +void FormatTest::testSpecialFormat() +{ + m_formattedText = QLatin1String(""); + QFETCH(QString, fieldName); + QFETCH(QString, text); + QFETCH(QString, result); + + Okular::FormField *ff = m_fields[fieldName]; + Okular::FormFieldText *fft = static_cast(ff); + fft->setText(text); + m_document->processFormatAction(ff->additionalAction(Okular::FormField::FormatField), ff); + + QCOMPARE(m_formattedText, result); +} + +void FormatTest::testSpecialFormat_data() +{ + QTest::addColumn("fieldName"); + QTest::addColumn("text"); + QTest::addColumn("result"); + + // The tests which have invalid edited, keep the same value as when it was formatted before. + QTest::newRow("field validated but not changed") << QStringLiteral("CEP") << QStringLiteral("12345") << QString(QLatin1String("")); + QTest::newRow("field invalid but not changed") << QStringLiteral("CEP") << QStringLiteral("123456") << QString(QLatin1String("")); + QTest::newRow("field formatted and changed") << QStringLiteral("8Digits") << QStringLiteral("123456789") << QStringLiteral("12345-6789"); + QTest::newRow("field invalid 10 digits") << QStringLiteral("8Digits") << QStringLiteral("1234567890") << QStringLiteral("12345-6789"); + QTest::newRow("field formatted telephone") << QStringLiteral("telefone") << QStringLiteral("1234567890") << QStringLiteral("(123) 456-7890"); + QTest::newRow("field invalid telephone") << QStringLiteral("telefone") << QStringLiteral("12345678900") << QStringLiteral("(123) 456-7890"); + QTest::newRow("field formatted SSN") << QStringLiteral("CPF") << QStringLiteral("123456789") << QStringLiteral("123-45-6789"); + QTest::newRow("field invalid SSN") << QStringLiteral("CPF") << QStringLiteral("1234567890") << QStringLiteral("123-45-6789"); +} + +void FormatTest::testFocusInAction() +{ + QFETCH(QString, result); + Okular::FormFieldText *fft = reinterpret_cast(m_fields[QStringLiteral("Validate/Focus")]); + + m_document->processFocusAction(fft->additionalAction(Okular::Annotation::FocusIn), fft); + QCOMPARE(fft->text(), result); +} + +void FormatTest::testFocusInAction_data() +{ + QTest::addColumn("result"); + + QTest::newRow("when focuses") << QStringLiteral("No"); +} + +void FormatTest::testFocusOutAction() +{ + QFETCH(QString, text); + QFETCH(QString, result); + Okular::FormFieldText *fft = reinterpret_cast(m_fields[QStringLiteral("Validate/Focus")]); + + fft->setText(text); + m_document->processFocusAction(fft->additionalAction(Okular::Annotation::FocusOut), fft); + QCOMPARE(fft->text(), result); +} + +void FormatTest::testFocusOutAction_data() +{ + QTest::addColumn("text"); + QTest::addColumn("result"); + + QTest::newRow("valid text was set") << QStringLiteral("123") << QStringLiteral("valid"); + QTest::newRow("invalid text was set") << QStringLiteral("abc") << QStringLiteral("invalid"); +} + +void FormatTest::testNumberFormat() +{ + m_formattedText = QString(); + QFETCH(QString, fieldName); + QFETCH(QString, text); + QFETCH(QString, result); + + Okular::FormField *ff = m_fields[fieldName]; + Okular::FormFieldText *fft = static_cast(ff); + fft->setText(text); + m_document->processFormatAction(ff->additionalAction(Okular::FormField::FormatField), ff); + + QCOMPARE(m_formattedText, result); +} + +void FormatTest::testNumberFormat_data() +{ + QTest::addColumn("fieldName"); + QTest::addColumn("text"); + QTest::addColumn("result"); + + QTest::newRow("EUR on left") << QStringLiteral("number1") << QStringLiteral("1.20") << QStringLiteral("€ 1.20"); + QTest::newRow("EUR on left with comma") << QStringLiteral("number1") << QStringLiteral("1234.20") << QStringLiteral("€ 1,234.20"); + QTest::newRow("EUR on right") << QStringLiteral("number2") << QStringLiteral("1.20") << QStringLiteral("1.20 €"); + QTest::newRow("EUR on right without comma") << QStringLiteral("number2") << QStringLiteral("1234.20") << QStringLiteral("1234.20 €"); + QTest::newRow("EUR on left using comma sep") << QStringLiteral("number3") << QStringLiteral("1,20") << QStringLiteral("€ 1,20"); + QTest::newRow("EUR on left using comma sep and thousands with dot") << QStringLiteral("number3") << QStringLiteral("1234,20") << QStringLiteral("€ 1.234,20"); + QTest::newRow("EUR on right with comma") << QStringLiteral("number4") << QStringLiteral("1,20") << /*true <<*/ QStringLiteral("1,20 €"); + QTest::newRow("EUR on right with dot sep without thousands sep") << QStringLiteral("number4") << QStringLiteral("1234,20") << QStringLiteral("1234,20 €"); +} + +void FormatTest::testPercentFormat() +{ + m_formattedText = QString(); + QFETCH(QString, fieldName); + QFETCH(QString, text); + QFETCH(QString, result); + + Okular::FormField *ff = m_fields[fieldName]; + Okular::FormFieldText *fft = static_cast(ff); + fft->setText(text); + m_document->processFormatAction(ff->additionalAction(Okular::FormField::FormatField), ff); + + QCOMPARE(m_formattedText, result); +} + +void FormatTest::testPercentFormat_data() +{ + QTest::addColumn("fieldName"); + QTest::addColumn("text"); + QTest::addColumn("result"); + + QTest::newRow(". as decimal; , as thousand with 6 digits") << QStringLiteral("pct1") << QStringLiteral("1") << QStringLiteral("100.00%"); + QTest::newRow(". as decimal; , as thousand with 4 digits") << QStringLiteral("pct1") << QStringLiteral("12.34") << QStringLiteral("1,234.00%"); + QTest::newRow(". as decimal; no thousand sep with 6 digits") << QStringLiteral("pct2") << QStringLiteral("1") << QStringLiteral("100.00%"); + QTest::newRow(". as decimal; no thousand sep with 4 digits") << QStringLiteral("pct2") << QStringLiteral("12.34") << QStringLiteral("1234.00%"); + QTest::newRow(", as decimal; . as thousand sep with 6 digits") << QStringLiteral("pct3") << QStringLiteral("1") << QStringLiteral("100,00%"); + QTest::newRow(", as decimal; . as thousand sep with 4 digits") << QStringLiteral("pct3") << QStringLiteral("12,34") << QStringLiteral("1.234,00%"); + QTest::newRow(", as decimal; no thousand sep with 6 digits") << QStringLiteral("pct4") << QStringLiteral("1") << QStringLiteral("100,00%"); + QTest::newRow(", as decimal; no thousand sep with 4 digits") << QStringLiteral("pct4") << QStringLiteral("12,34") << QStringLiteral("1234,00%"); + QTest::newRow(". as decimal; ’ as thousand sep with 6 digits") << QStringLiteral("pct5") << QStringLiteral("1") << QStringLiteral("100.00%"); + QTest::newRow(". as decimal; ’ as thousand sep with 4 digits") << QStringLiteral("pct5") << QStringLiteral("12,34") << QStringLiteral("1’234.00%"); // The thousand separator is an apostrophe symbol not single quote +} + +void FormatTest::testDateFormat() +{ + m_formattedText = QString(); + QFETCH(QString, fieldName); + QFETCH(QString, text); + QFETCH(QString, result); + + Okular::FormField *ff = m_fields[fieldName]; + ff->setValue(QVariant(text)); + m_document->processFormatAction(ff->additionalAction(Okular::FormField::FormatField), ff); + + QCOMPARE(m_formattedText, result); +} + +void FormatTest::testDateFormat_data() +{ + QTest::addColumn("fieldName"); + QTest::addColumn("text"); + QTest::addColumn("result"); + + QTest::newRow("d/m with full date") << QStringLiteral("data1") << QStringLiteral("25/06/2024") << QStringLiteral("25/6"); + QTest::newRow("d/m with month in words") << QStringLiteral("data1") << QStringLiteral("25th June 2024") << QStringLiteral("25/6"); + QTest::newRow("d/m with random characters at end") << QStringLiteral("data1") << QStringLiteral("25 - 06 - 24 bleh bleh") << QStringLiteral("25/6"); + QTest::newRow("dd-mmm-yy wtih time info") << QStringLiteral("data2") << QStringLiteral("25/06/2003 20:08 am") << QStringLiteral("25-Jun-03"); + QTest::newRow("dd-mmm-yy with spaces") << QStringLiteral("data2") << QStringLiteral("25 06 2003") << QStringLiteral("25-Jun-03"); + QTest::newRow("d/m/yyyy with padding in months") << QStringLiteral("data3") << QStringLiteral("25/06/2024") << QStringLiteral("25/6/2024"); + QTest::newRow("dd-mm-yy with leap date") << QStringLiteral("data4") << QStringLiteral("29/2/2024") << QStringLiteral("29-02-24"); + QTest::newRow("dd/mm/yyyy with random characters in between") << QStringLiteral("data5") << QStringLiteral("25 abc 06 def 2024") << QStringLiteral("25/06/2024"); + QTest::newRow("mm/yy with month name and year") << QStringLiteral("data6") << QStringLiteral("June 2024") << QStringLiteral("06/24"); + QTest::newRow("mm/yy with month and year in nums") << QStringLiteral("data6") << QStringLiteral("6/24") << QStringLiteral("06/24"); + QTest::newRow("mm/yyyy with short month name and year") << QStringLiteral("data7") << QStringLiteral("Aug 2024") << QStringLiteral("08/2024"); + QTest::newRow("mm/yyyy with date in words") << QStringLiteral("data7") << QStringLiteral("6/2024") << QStringLiteral("06/2024"); + QTest::newRow("d-mmm with date and month name") << QStringLiteral("data8") << QStringLiteral("13 June") << QStringLiteral("13-Jun"); + QTest::newRow("d-mmm with date, month and year") << QStringLiteral("data8") << QStringLiteral("25/06/2024") << QStringLiteral("25-Jun"); + QTest::newRow("d-mmm with half month name") << QStringLiteral("data8") << QStringLiteral("Dec 13") << QStringLiteral("13-Dec"); + QTest::newRow("d-mmm-yy with input in dd/mm/yy") << QStringLiteral("data9") << QStringLiteral("13/08/2010") << QStringLiteral("13-Aug-10"); + QTest::newRow("d-mmm-yy with month name") << QStringLiteral("data9") << QStringLiteral("25th of June 2024") << QStringLiteral("25-Jun-24"); + QTest::newRow("d mmm, yyyy with input in dd/mm/yy") << QStringLiteral("data19") << QStringLiteral("25/06/2024") << QStringLiteral("25 Jun, 2024"); + QTest::newRow("d/m/yy h:MM tt with complete date and time") << QStringLiteral("data21") << QStringLiteral("25/06/2024 20:08") << QStringLiteral("25/6/24 8:08 pm"); + QTest::newRow("d/m/yy h:MM tt with only date") << QStringLiteral("data21") << QStringLiteral("25/06/2024") << QStringLiteral("25/6/24 12:00 am"); + QTest::newRow("d-mmm-yyyy with padding in input date") << QStringLiteral("data10") << QStringLiteral("06/12/1921") << QStringLiteral("6-Dec-1921"); + QTest::newRow("d-mmm-yyyy with input in d/m/yyyy") << QStringLiteral("data10") << QStringLiteral("1/8/2010") << QStringLiteral("1-Aug-2010"); + QTest::newRow("d-mmm-yy with input in d/m/yyyy") << QStringLiteral("data11") << QStringLiteral("13/6/2024") << QStringLiteral("13-Jun-24"); + QTest::newRow("dd-mmm-yyyy with input in d/m/yyyy") << QStringLiteral("data12") << QStringLiteral("1/1/2011") << QStringLiteral("01-Jan-2011"); + // Skip data13, same input already done in data4 + QTest::newRow("dd-mm-yyyy with input in d/m/yyyy") << QStringLiteral("data14") << QStringLiteral("1/1/2011") << QStringLiteral("01-01-2011"); + QTest::newRow("mmm-yy full month name") << QStringLiteral("data15") << QStringLiteral("October 2018") << QStringLiteral("Oct-18"); + QTest::newRow("mmmm-yy partial month name") << QStringLiteral("data16") << QStringLiteral("Oct 2018") << QStringLiteral("October-18"); + QTest::newRow("mmmm-yy input format : mm/yy") << QStringLiteral("data16") << QStringLiteral("09/17") << QStringLiteral("September-17"); + QTest::newRow("d mmm, yyyy with input in dd/mm/yyyy") << QStringLiteral("data18") << QStringLiteral("13/08/2002") << QStringLiteral("13 Aug, 2002"); + QTest::newRow("d/m/yy h:MM tt with complete datetime as input") << QStringLiteral("data20") << QStringLiteral("7/2/1991 20:08") << QStringLiteral("7/2/91 8:08 pm"); + QTest::newRow("d/m/yy h:MM tt with complete datetime as input2") << QStringLiteral("data20") << QStringLiteral("15/3/2018 5:10 am") << QStringLiteral("15/3/18 5:10 am"); + QTest::newRow("d/m/yy HH:MM with datetime including seconds") << QStringLiteral("data22") << QStringLiteral("25/02/2020 13:13:13") << QStringLiteral("25/2/20 13:13"); + QTest::newRow("d/m/yyyy HH:MM with datetime including seconds") << QStringLiteral("data24") << QStringLiteral("13/10/1966 13:13:13") << QStringLiteral("13/10/1966 13:13"); +} + +void FormatTest::cleanupTestCase() +{ + m_document->closeDocument(); + delete m_document; +} + +QTEST_MAIN(FormatTest) +#include "formattest.moc" diff --git a/autotests/generatorstest.cpp b/autotests/generatorstest.cpp new file mode 100644 index 0000000..24bcd04 --- /dev/null +++ b/autotests/generatorstest.cpp @@ -0,0 +1,69 @@ +/* + SPDX-FileCopyrightText: 2015 Alex Richardson + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include +#include +#include +#include +#include +#include + +#include "../generator.h" + +class GeneratorsTest : public QObject +{ + Q_OBJECT +private Q_SLOTS: + void testLoadsCorrectly(); +}; + +void GeneratorsTest::testLoadsCorrectly() +{ + QCoreApplication::setLibraryPaths(QStringList()); + QVERIFY2(QDir(QStringLiteral(GENERATORS_BUILD_DIR)).exists(), GENERATORS_BUILD_DIR); + // find all possible generators in $CMAKE_BINARY_DIR/generators + // We can't simply hardcore the list of generators since some might not be built + // depending on which dependencies were found by CMake + QStringList generatorLibs; + QDirIterator it(QStringLiteral(GENERATORS_BUILD_DIR), QDir::Files | QDir::Executable, QDirIterator::Subdirectories); + while (it.hasNext()) { + it.next(); + if (QLibrary::isLibrary(it.fileName())) { + if (it.fileName().startsWith(QLatin1String("kio_"))) { + continue; // don't check kio_msits.so + } + generatorLibs << it.fileInfo().absoluteFilePath(); + } + } + int failures = 0; + int successful = 0; + for (const QString &lib : std::as_const(generatorLibs)) { + auto factory = KPluginFactory::loadFactory(KPluginMetaData(lib)).plugin; + if (!factory) { + qWarning() << "Could not get KPluginFactory for" << lib; + failures++; + continue; + } + Okular::Generator *generator = factory->create(); + if (!generator) { + qWarning() << "Failed to cast" << lib << "to Okular::Generator"; + // without the necessary Q_INTERFACES() qobject_cast fails! + auto obj = factory->create(); + qDebug() << "Object is of type " << obj->metaObject()->className(); + qDebug() << "dynamic_cast:" << dynamic_cast(obj); + qDebug() << "qobject_cast:" << qobject_cast(obj); + failures++; + continue; + } + successful++; + } + qDebug() << "Successfully loaded" << successful << "generators"; + QCOMPARE(failures, 0); +} + +QTEST_MAIN(GeneratorsTest) + +#include "generatorstest.moc" diff --git a/autotests/jsfunctionstest.cpp b/autotests/jsfunctionstest.cpp new file mode 100644 index 0000000..d1765e8 --- /dev/null +++ b/autotests/jsfunctionstest.cpp @@ -0,0 +1,502 @@ +/* + SPDX-FileCopyrightText: 2019 João Netto + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include +#include +#include +#include +#include +#include + +#include "../settings_core.h" +#include "core/action.h" +#include "core/document.h" +#include "core/scripter.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +class MessageBoxHelper : public QObject +{ + Q_OBJECT + +public: + MessageBoxHelper(QMessageBox::StandardButton b, QString message, QMessageBox::Icon icon, QString title, bool hasCheckBox) + : m_button(b) + , m_clicked(false) + , m_message(std::move(message)) + , m_icon(icon) + , m_title(std::move(title)) + , m_checkBox(hasCheckBox) + { + QTimer::singleShot(0, this, &MessageBoxHelper::closeMessageBox); + } + + ~MessageBoxHelper() override + { + QVERIFY(m_clicked); + } + +private Q_SLOTS: + void closeMessageBox() + { + const QWidgetList allToplevelWidgets = QApplication::topLevelWidgets(); + QMessageBox *mb = nullptr; + for (QWidget *w : allToplevelWidgets) { + if (w->inherits("QMessageBox")) { + mb = qobject_cast(w); + QCOMPARE(mb->text(), m_message); + QCOMPARE(mb->windowTitle(), m_title); + QCOMPARE(mb->icon(), m_icon); + QCheckBox *box = mb->checkBox(); + QCOMPARE(box != nullptr, m_checkBox); + mb->button(m_button)->click(); + } + } + if (!mb) { + QTimer::singleShot(0, this, &MessageBoxHelper::closeMessageBox); + return; + } + m_clicked = true; + } + +private: + QMessageBox::StandardButton m_button; + bool m_clicked; + QString m_message; + QMessageBox::Icon m_icon; + QString m_title; + bool m_checkBox; +}; + +class JSFunctionsTest : public QObject +{ + Q_OBJECT + +private Q_SLOTS: + void initTestCase(); + void testNthFieldName(); + void testDisplay(); + void testSetClearInterval(); + void testSetClearTimeOut(); + void testGetOCGs(); + void cleanupTestCase(); + void testAlert(); + void testPopUpMenu(); + void testPopUpMenuEx(); + void testPrintD(); + void testPrintD_data(); + +private: + Okular::Document *m_document; + QMap m_fields; +}; + +void JSFunctionsTest::initTestCase() +{ + Okular::SettingsCore::instance(QStringLiteral("jsfunctionstest")); + m_document = new Okular::Document(nullptr); + + const QString testFile = QStringLiteral(KDESRCDIR "data/kjsfunctionstest.pdf"); + QMimeDatabase db; + const QMimeType mime = db.mimeTypeForFile(testFile); + QCOMPARE(m_document->openDocument(testFile, QUrl(), mime), Okular::Document::OpenSuccess); + + const Okular::Page *page = m_document->page(0); + const QList pageFormFields = page->formFields(); + for (Okular::FormField *ff : pageFormFields) { + m_fields.insert(ff->name(), ff); + } +} + +void JSFunctionsTest::testNthFieldName() +{ + for (int i = 0; i < 21; ++i) { + Okular::ScriptAction *action = new Okular::ScriptAction(Okular::JavaScript, + QStringLiteral("var field = Doc.getField( Doc.getNthFieldName(%1) );\ + field.display = display.visible;") + .arg(i)); + m_document->processAction(action); + QVERIFY(m_fields[QStringLiteral("0.%1").arg(i)]->isVisible()); + m_fields[QStringLiteral("0.%1").arg(i)]->setVisible(false); + delete action; + } +} + +void JSFunctionsTest::testDisplay() +{ + Okular::ScriptAction *action = new Okular::ScriptAction(Okular::JavaScript, QStringLiteral("field = Doc.getField(\"0.0\");field.display=display.hidden;\ + field = Doc.getField(\"0.10\");field.display=display.visible;")); + m_document->processAction(action); + QVERIFY(!m_fields[QStringLiteral("0.0")]->isVisible()); + QVERIFY(!m_fields[QStringLiteral("0.0")]->isPrintable()); + QVERIFY(m_fields[QStringLiteral("0.10")]->isVisible()); + QVERIFY(m_fields[QStringLiteral("0.10")]->isPrintable()); + delete action; + + action = new Okular::ScriptAction(Okular::JavaScript, QStringLiteral("field = Doc.getField(\"0.10\");field.display=display.noView;\ + field = Doc.getField(\"0.15\");field.display=display.noPrint;")); + m_document->processAction(action); + QVERIFY(!m_fields[QStringLiteral("0.10")]->isVisible()); + QVERIFY(m_fields[QStringLiteral("0.10")]->isPrintable()); + QVERIFY(m_fields[QStringLiteral("0.15")]->isVisible()); + QVERIFY(!m_fields[QStringLiteral("0.15")]->isPrintable()); + delete action; + + action = new Okular::ScriptAction(Okular::JavaScript, QStringLiteral("field = Doc.getField(\"0.15\");field.display=display.hidden;\ + field = Doc.getField(\"0.20\");field.display=display.visible;")); + m_document->processAction(action); + QVERIFY(!m_fields[QStringLiteral("0.15")]->isVisible()); + QVERIFY(!m_fields[QStringLiteral("0.15")]->isPrintable()); + QVERIFY(m_fields[QStringLiteral("0.20")]->isVisible()); + QVERIFY(m_fields[QStringLiteral("0.20")]->isPrintable()); + delete action; + + action = new Okular::ScriptAction(Okular::JavaScript, QStringLiteral("field = Doc.getField(\"0.20\");field.display=display.hidden;\ + field = Doc.getField(\"0.0\");field.display=display.visible;")); + m_document->processAction(action); + QVERIFY(!m_fields[QStringLiteral("0.20")]->isVisible()); + QVERIFY(!m_fields[QStringLiteral("0.20")]->isPrintable()); + QVERIFY(m_fields[QStringLiteral("0.0")]->isVisible()); + QVERIFY(m_fields[QStringLiteral("0.0")]->isPrintable()); + delete action; +} + +void delay() +{ + QTime dieTime = QTime::currentTime().addSecs(2); + while (QTime::currentTime() < dieTime) { + QCoreApplication::processEvents(QEventLoop::AllEvents, 100); + } +} + +void JSFunctionsTest::testSetClearInterval() +{ + Okular::ScriptAction *action = new Okular::ScriptAction(Okular::JavaScript, QStringLiteral("obj = new Object();obj.idx=0;\ + obj.inc=function(){field = Doc.getField(Doc.getNthFieldName(obj.idx));\ + field.display = display.visible;\ + obj.idx = obj.idx + 1;};\ + intv = app.setInterval('obj.inc()', 450);obj.idx;")); + m_document->processAction(action); + QVERIFY(m_fields[QStringLiteral("0.0")]->isVisible()); + QVERIFY(!m_fields[QStringLiteral("0.3")]->isVisible()); + delete action; + delay(); + + action = new Okular::ScriptAction(Okular::JavaScript, QStringLiteral("app.clearInterval(intv);obj.idx;")); + m_document->processAction(action); + QVERIFY(m_fields[QStringLiteral("0.3")]->isVisible()); + delete action; +} + +void JSFunctionsTest::testSetClearTimeOut() +{ + Okular::ScriptAction *action = new Okular::ScriptAction(Okular::JavaScript, QStringLiteral("intv = app.setTimeOut('obj.inc()', 1);obj.idx;")); + m_document->processAction(action); + QVERIFY(m_fields[QStringLiteral("0.3")]->isVisible()); + QVERIFY(!m_fields[QStringLiteral("0.4")]->isVisible()); + delay(); + delete action; + + QVERIFY(m_fields[QStringLiteral("0.4")]->isVisible()); + + action = new Okular::ScriptAction(Okular::JavaScript, QStringLiteral("intv = app.setTimeOut('obj.inc()', 2000);obj.idx;")); + m_document->processAction(action); + QVERIFY(m_fields[QStringLiteral("0.4")]->isVisible()); + delete action; + + action = new Okular::ScriptAction(Okular::JavaScript, QStringLiteral("app.clearTimeOut(intv);obj.idx;")); + m_document->processAction(action); + QVERIFY(m_fields[QStringLiteral("0.4")]->isVisible()); + delay(); + QVERIFY(m_fields[QStringLiteral("0.4")]->isVisible()); + delete action; +} + +void JSFunctionsTest::testGetOCGs() +{ + QAbstractItemModel *model = m_document->layersModel(); + + Okular::ScriptAction *action = new Okular::ScriptAction(Okular::JavaScript, QStringLiteral("var ocg = this.getOCGs(this.pageNum);\ + ocg[0].state = false;")); + m_document->processAction(action); + QVERIFY(!model->data(model->index(0, 0), Qt::CheckStateRole).toBool()); + delete action; + + action = new Okular::ScriptAction(Okular::JavaScript, QStringLiteral("ocg[0].state = true;")); + m_document->processAction(action); + QVERIFY(model->data(model->index(0, 0), Qt::CheckStateRole).toBool()); + delete action; + + action = new Okular::ScriptAction(Okular::JavaScript, QStringLiteral("ocg[1].state = false;")); + m_document->processAction(action); + QVERIFY(!model->data(model->index(1, 0), Qt::CheckStateRole).toBool()); + delete action; + + action = new Okular::ScriptAction(Okular::JavaScript, QStringLiteral("ocg[1].state = true;")); + m_document->processAction(action); + QVERIFY(model->data(model->index(1, 0), Qt::CheckStateRole).toBool()); + delete action; + + action = new Okular::ScriptAction(Okular::JavaScript, QStringLiteral("ocg[2].state = false;")); + m_document->processAction(action); + QVERIFY(!model->data(model->index(2, 0), Qt::CheckStateRole).toBool()); + delete action; + + action = new Okular::ScriptAction(Okular::JavaScript, QStringLiteral("ocg[2].state = true;")); + m_document->processAction(action); + QVERIFY(model->data(model->index(2, 0), Qt::CheckStateRole).toBool()); + delete action; + + action = new Okular::ScriptAction(Okular::JavaScript, QStringLiteral("ocg[3].state = false;")); + m_document->processAction(action); + QVERIFY(!model->data(model->index(3, 0), Qt::CheckStateRole).toBool()); + delete action; + + action = new Okular::ScriptAction(Okular::JavaScript, QStringLiteral("ocg[3].state = true;")); + m_document->processAction(action); + QVERIFY(model->data(model->index(3, 0), Qt::CheckStateRole).toBool()); + delete action; +} + +void JSFunctionsTest::testAlert() +{ + Okular::ScriptAction *action = new Okular::ScriptAction(Okular::JavaScript, QStringLiteral("ret = app.alert( \"Random Message\" );")); + QScopedPointer messageBoxHelper; + messageBoxHelper.reset(new MessageBoxHelper(QMessageBox::Ok, QStringLiteral("Random Message"), QMessageBox::Critical, QStringLiteral("Okular"), false)); + m_document->processAction(action); + delete action; + + action = new Okular::ScriptAction(Okular::JavaScript, QStringLiteral("ret = app.alert( \"Empty Message\", 1 );")); + messageBoxHelper.reset(new MessageBoxHelper(QMessageBox::Ok, QStringLiteral("Empty Message"), QMessageBox::Warning, QStringLiteral("Okular"), false)); + m_document->processAction(action); + delete action; + + action = new Okular::ScriptAction(Okular::JavaScript, QStringLiteral("ret = app.alert( \"No Message\", 2, 2 );")); + messageBoxHelper.reset(new MessageBoxHelper(QMessageBox::Yes, QStringLiteral("No Message"), QMessageBox::Question, QStringLiteral("Okular"), false)); + m_document->processAction(action); + delete action; + + action = new Okular::ScriptAction(Okular::JavaScript, QStringLiteral("ret = app.alert( \"No\", 3, 2, \"Test Dialog\" );")); + messageBoxHelper.reset(new MessageBoxHelper(QMessageBox::No, QStringLiteral("No"), QMessageBox::Information, QStringLiteral("Test Dialog"), false)); + m_document->processAction(action); + delete action; + + action = new Okular::ScriptAction(Okular::JavaScript, QStringLiteral("var oCheckBox = new Object();\ + ret = app.alert( \"Cancel\", 3, 3, \"Test Dialog\", 0, oCheckBox );")); + messageBoxHelper.reset(new MessageBoxHelper(QMessageBox::Cancel, QStringLiteral("Cancel"), QMessageBox::Information, QStringLiteral("Test Dialog"), true)); + m_document->processAction(action); + delete action; +} + +class PopupMenuHelper : public QObject +{ + Q_OBJECT + +public: + PopupMenuHelper() + : m_menuFound(false) + { + QTimer::singleShot(0, this, &PopupMenuHelper::closeMenu); + } + + ~PopupMenuHelper() override + { + } + + bool menuFound() + { + return m_menuFound; + } + + const QJsonArray &menuTree() + { + return m_menuTree; + } + +private Q_SLOTS: + void closeMenu() + { + const QWidgetList allToplevelWidgets = QApplication::topLevelWidgets(); + QMenu *menu = nullptr; + for (QWidget *w : allToplevelWidgets) { + if (w->objectName() == QStringLiteral("popUpMenuEx") && w->inherits("QMenu")) { + menu = qobject_cast(w); + + // Generate an tree of string with all the menu trees + processQMenuToJS(menu, m_menuTree); + + menu->close(); + m_menuFound = true; + break; + } + } + if (!menu) { + QTimer::singleShot(0, this, &PopupMenuHelper::closeMenu); + } + } + +private: + static void processQMenuToJS(QMenu *menu, QJsonArray &array) + { + const QList actions = menu->actions(); + + for (QAction *action : actions) { + QMenu *itMenu = action->menu(); + + if (itMenu != nullptr) { + QJsonArray subMenus; + subMenus.append(action->text()); + processQMenuToJS(itMenu, subMenus); + array.append(subMenus); + } else { + array.append(action->text()); + } + } + } + +private: + bool m_menuFound; + QJsonArray m_menuTree; +}; + +void JSFunctionsTest::testPopUpMenu() +{ + Okular::ScriptAction *action = new Okular::ScriptAction(Okular::JavaScript, QStringLiteral("ret = app.popUpMenu( [\"Fruits\",\"Apples\",\"Oranges\"], \"-\",\"Beans\",\"Corn\" );")); + + QScopedPointer popupMenuHelper; + popupMenuHelper.reset(new PopupMenuHelper()); + m_document->processAction(action); + QJsonArray expected = { + QJsonArray { + QJsonValue {QStringLiteral("Fruits")}, + QJsonValue {QStringLiteral("Apples")}, + QJsonValue {QStringLiteral("Oranges")}, + }, + QJsonValue {QStringLiteral("-")}, + QJsonValue {QStringLiteral("Beans")}, + QJsonValue {QStringLiteral("Corn")}, + }; + + QString expectedString = QString::fromUtf8(QJsonDocument(expected).toJson()); + QString resultString = QString::fromUtf8(QJsonDocument(popupMenuHelper->menuTree()).toJson()); + QString description = QStringLiteral("Expected:\n") + expectedString + QStringLiteral("But got:\n") + resultString; + QVERIFY2(expected == popupMenuHelper->menuTree(), description.toUtf8().constData()); + + delete action; +} + +void JSFunctionsTest::testPopUpMenuEx() +{ + QScopedPointer popupMenuHelper; + + Okular::ScriptAction *action = new Okular::ScriptAction( + Okular::JavaScript, + QStringLiteral("ret = app.popUpMenuEx( {cName:\"Fruits\", oSubMenu:[{cName:\"Apples\", bMarked:false},{cName:\"Oranges\", bMarked:true}]}, {cName:\"-\"},{cName:\"Beans\", bEnabled:false},{cName:\"Corn\", bEnabled:true} )")); + + popupMenuHelper.reset(new PopupMenuHelper()); + m_document->processAction(action); + QVERIFY(popupMenuHelper->menuFound()); + + QJsonArray expected = { + QJsonArray { + QJsonValue {QStringLiteral("Fruits")}, + QJsonValue {QStringLiteral("Apples")}, + QJsonValue {QStringLiteral("Oranges")}, + }, + QJsonValue {QStringLiteral("-")}, + QJsonValue {QStringLiteral("Beans")}, + QJsonValue {QStringLiteral("Corn")}, + }; + + QString expectedString = QString::fromUtf8(QJsonDocument(expected).toJson()); + QString resultString = QString::fromUtf8(QJsonDocument(popupMenuHelper->menuTree()).toJson()); + QString description = QStringLiteral("Expected:\n") + expectedString + QStringLiteral("But got:\n") + resultString; + QVERIFY2(expected == popupMenuHelper->menuTree(), description.toUtf8().constData()); + + delete action; + + // Test infinite recursion + action = new Okular::ScriptAction(Okular::JavaScript, QStringLiteral("\ + var recursiveMenu = {\"cName\": \"Devil menu\"};\n\ + recursiveMenu.oSubMenu = [ recursiveMenu ];\n\ + ret = app.popUpMenuEx( recursiveMenu );")); + + popupMenuHelper.reset(new PopupMenuHelper()); + m_document->processAction(action); + QVERIFY(popupMenuHelper->menuFound()); + // Must not crash + delete action; +} + +/** @brief Checks a single JS action against an expected result + * + * Runs an action with the given @p script and checks that it + * does pop-up a messagebox with the given @p result text. + */ +class PrintDHelper +{ +public: + PrintDHelper(Okular::Document *document, const QString &script, const QString &result) + : action(new Okular::ScriptAction(Okular::JavaScript, script)) + , box(new MessageBoxHelper(QMessageBox::Ok, result, QMessageBox::Critical, QStringLiteral("Okular"), false)) + { + document->processAction(action.data()); + } + +private: + QScopedPointer action; + QScopedPointer box; +}; + +void JSFunctionsTest::testPrintD_data() +{ + // Force consistent locale + QLocale locale(QStringLiteral("en_US")); + QLocale::setDefault(locale); + + QTest::addColumn("script"); + QTest::addColumn("result"); + + QTest::newRow("mmyyy") << QStringLiteral( + "var date = new Date( 2010, 0, 5, 11, 10, 32, 1 );\ + ret = app.alert( util.printd( \"mm\\\\yyyy\", date ) );") + << QStringLiteral("01\\2010"); + QTest::newRow("myy") << QStringLiteral("ret = app.alert( util.printd( \"m\\\\yy\", date ) );") << QStringLiteral("1\\10"); + QTest::newRow("ddmmHHMM") << QStringLiteral("ret = app.alert( util.printd( \"dd\\\\mm HH:MM\", date ) );") << QStringLiteral("05\\01 11:10"); + QTest::newRow("ddmmHHMMss") << QStringLiteral("ret = app.alert( util.printd( \"dd\\\\mm HH:MM:ss\", date ) );") << QStringLiteral("05\\01 11:10:32"); + QTest::newRow("yyyymmHHMMss") << QStringLiteral("ret = app.alert( util.printd( \"yyyy\\\\mm HH:MM:ss\", date ) );") << QStringLiteral("2010\\01 11:10:32"); + QTest::newRow("0") << QStringLiteral("ret = app.alert( util.printd( 0, date ) );") << QStringLiteral("D:20100105111032"); + QTest::newRow("1") << QStringLiteral("ret = app.alert( util.printd( 1, date ) );") << QStringLiteral("2010.01.05 11:10:32"); + + QDate date(2010, 1, 5); + QTest::newRow("2") << QStringLiteral("ret = app.alert( util.printd( 2, date ) );") << QString(date.toString(locale.dateFormat(QLocale::ShortFormat)) + QStringLiteral(" 11:10:32\u202FAM")); +} + +void JSFunctionsTest::testPrintD() +{ + QFETCH(QString, script); + QFETCH(QString, result); + + QVERIFY(script.contains(QLatin1String("printd"))); + PrintDHelper test(m_document, script, result); +} + +void JSFunctionsTest::cleanupTestCase() +{ + m_document->closeDocument(); + delete m_document; +} + +QTEST_MAIN(JSFunctionsTest) +#include "jsfunctionstest.moc" diff --git a/autotests/keystroketest.cpp b/autotests/keystroketest.cpp new file mode 100644 index 0000000..21dfaf2 --- /dev/null +++ b/autotests/keystroketest.cpp @@ -0,0 +1,489 @@ +/* + SPDX-FileCopyrightText: 2019 João Netto + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include + +#include "../settings_core.h" +#include +#include +#include +#include +#include +#include +#include +#include + +class KeystrokeTest : public QObject +{ + Q_OBJECT + +private Q_SLOTS: + void initTestCase(); + void cleanupTestCase(); + + void testCommit(); + void testKeystroke(); + void testTimeKeystrokeNoCommit(); + void testTimeKeystrokeNoCommit_data(); + void testTimeKeystrokeCommit(); + void testTimeKeystrokeCommit_data(); + void testSpecialKeystrokeNoCommit(); + void testSpecialKeystrokeNoCommit_data(); + void testSpecialKeystrokeCommit(); + void testSpecialKeystrokeCommit_data(); + void testPercentKeystrokeNoCommit(); + void testPercentKeystrokeNoCommit_data(); + void testPercentKeystrokeCommit(); + void testPercentKeystrokeCommit_data(); + void testNumberKeystrokeNoCommit(); + void testNumberKeystrokeNoCommit_data(); + void testNumberKeystrokeCommit(); + void testNumberKeystrokeCommit_data(); + // No need to test for noCommit case of Date Keystroke. Everything is allowed. + void testDateKeystrokeCommit(); + void testDateKeystrokeCommit_data(); + +private: + Okular::Document *m_genericTestsDocument; + QMap m_genericTestsFields; + Okular::Document *m_AFMethodsTestsDocument; + QMap m_AFMethodsTestsFields; +}; + +void KeystrokeTest::initTestCase() +{ + Okular::SettingsCore::instance(QStringLiteral("keystroketest")); + m_genericTestsDocument = new Okular::Document(nullptr); + + // Force consistent locale + QLocale locale(QStringLiteral("en_US")); + QLocale::setDefault(locale); + + const QString genericTestFile = QStringLiteral(KDESRCDIR "data/keystroketest.pdf"); + QMimeDatabase db; + const QMimeType genericTestMime = db.mimeTypeForFile(genericTestFile); + QCOMPARE(m_genericTestsDocument->openDocument(genericTestFile, QUrl(), genericTestMime), Okular::Document::OpenSuccess); + + const Okular::Page *genericTestPage = m_genericTestsDocument->page(0); + const QList genericTestPageFormFields = genericTestPage->formFields(); + for (Okular::FormField *ff : genericTestPageFormFields) { + m_genericTestsFields.insert(ff->name(), ff); + } + + m_AFMethodsTestsDocument = new Okular::Document(nullptr); + const QString AFMethodsTestFile = QStringLiteral(KDESRCDIR "data/formattest.pdf"); + const QMimeType AFMethodsTestMime = db.mimeTypeForFile(AFMethodsTestFile); + QCOMPARE(m_AFMethodsTestsDocument->openDocument(AFMethodsTestFile, QUrl(), AFMethodsTestMime), Okular::Document::OpenSuccess); + + const Okular::Page *AFMethodsTestPage = m_AFMethodsTestsDocument->page(0); + const QList AFMethodsTestPageFormFields = AFMethodsTestPage->formFields(); + for (Okular::FormField *ff : AFMethodsTestPageFormFields) { + m_AFMethodsTestsFields.insert(ff->name(), ff); + } +} + +void KeystrokeTest::testCommit() +{ + Okular::FormField *ff = m_genericTestsFields[QStringLiteral("field2")]; + // Okular::FormFieldText *fft = reinterpret_cast(m_genericTestsFields[QStringLiteral("field2")]); + + // text that will be accepted + Okular::FormFieldText *fft = static_cast(ff); + fft->setText(QStringLiteral("Lorem ipsum")); + bool ok = false; + m_genericTestsDocument->processKeystrokeCommitAction(ff->additionalAction(Okular::FormField::FieldModified), ff, ok); + QCOMPARE(fft->text(), QStringLiteral("Lorem ipsum")); + fft->commitValue(QStringLiteral("Lorem ipsum")); + // text that will be rejected + fft->setText(QStringLiteral("foo")); + m_genericTestsDocument->processKeystrokeCommitAction(ff->additionalAction(Okular::FormField::FieldModified), ff, ok); + // compare it with a blank string since the committing action now takes place after validate event and so ff->committedValue() would return "". + QCOMPARE(fft->text(), QStringLiteral("Lorem ipsum")); +} + +void KeystrokeTest::testKeystroke() +{ + Okular::FormFieldText *fft = reinterpret_cast(m_genericTestsFields[QStringLiteral("field3")]); + + // accept + m_genericTestsDocument->processKeystrokeAction(fft->additionalAction(Okular::FormField::FieldModified), fft, QStringLiteral("hello"), 0, 0); + QCOMPARE(fft->text(), QStringLiteral("hello")); + + // accept + m_genericTestsDocument->processKeystrokeAction(fft->additionalAction(Okular::FormField::FieldModified), fft, QStringLiteral("e"), 0, 5); + QCOMPARE(fft->text(), QStringLiteral("e")); + + // accept + m_genericTestsDocument->processKeystrokeAction(fft->additionalAction(Okular::FormField::FieldModified), fft, QStringLiteral("ee"), 1, 1); + QCOMPARE(fft->text(), QStringLiteral("ee")); + + // accept + m_genericTestsDocument->processKeystrokeAction(fft->additionalAction(Okular::FormField::FieldModified), fft, QStringLiteral("eee"), 2, 2); + QCOMPARE(fft->text(), QStringLiteral("eee")); + + // reject + m_genericTestsDocument->processKeystrokeAction(fft->additionalAction(Okular::FormField::FieldModified), fft, QStringLiteral("eeef"), 3, 3); + QCOMPARE(fft->text(), QStringLiteral("eee")); +} + +void KeystrokeTest::testTimeKeystrokeNoCommit() +{ + QFETCH(QString, fieldName); + QFETCH(QString, text); + QFETCH(int, selStart); + QFETCH(int, selEnd); + QFETCH(QString, result); + + Okular::FormFieldText *fft = reinterpret_cast(m_AFMethodsTestsFields[fieldName]); + m_AFMethodsTestsDocument->processKeystrokeAction(fft->additionalAction(Okular::FormField::FieldModified), fft, text, selStart, selEnd); + + QCOMPARE(fft->text(), result); +} + +void KeystrokeTest::testTimeKeystrokeNoCommit_data() +{ + QTest::addColumn("fieldName"); + QTest::addColumn("text"); + QTest::addColumn("selStart"); + QTest::addColumn("selEnd"); + QTest::addColumn("result"); + + QTest::newRow("AM") << QStringLiteral("time1") << QStringLiteral("am") << 0 << 0 << QStringLiteral("am"); + QTest::newRow("PM") << QStringLiteral("time1") << QStringLiteral("pm") << 0 << 2 << QStringLiteral("pm"); + QTest::newRow("hh:mm") << QStringLiteral("time1") << QStringLiteral("20:08") << 0 << 2 << QStringLiteral("20:08"); + QTest::newRow("hh:mm:ss") << QStringLiteral("time1") << QStringLiteral("20:08:04") << 0 << 5 << QStringLiteral("20:08:04"); + QTest::newRow("hh:mm pm") << QStringLiteral("time1") << QStringLiteral("20:08 pm") << 5 << 8 << QStringLiteral("20:08 pm"); + QTest::newRow("other characters") << QStringLiteral("time1") << QStringLiteral("alien") << 0 << 9 << QStringLiteral("20:08 pm"); + + // TODO add more tests for rejecting strings +} + +void KeystrokeTest::testTimeKeystrokeCommit() +{ + QFETCH(QString, fieldName); + QFETCH(QString, text); + QFETCH(QString, result); + + Okular::FormField *ff = m_AFMethodsTestsFields[fieldName]; + Okular::FormFieldText *fft = static_cast(ff); + fft->setText(text); + bool ok = false; + m_AFMethodsTestsDocument->processKeystrokeCommitAction(ff->additionalAction(Okular::FormField::FieldModified), ff, ok); + + QCOMPARE(fft->text(), result); +} + +void KeystrokeTest::testTimeKeystrokeCommit_data() +{ + QTest::addColumn("fieldName"); + QTest::addColumn("text"); + QTest::addColumn("result"); + + QTest::newRow("hh:mm") << QStringLiteral("time1") << QStringLiteral("20:08") << QStringLiteral("20:08"); + QTest::newRow("hh:mm:ss") << QStringLiteral("time1") << QStringLiteral("20:08:12") << QStringLiteral("20:08:12"); + QTest::newRow("hh:m:s") << QStringLiteral("time1") << QStringLiteral("20:0:1") << QStringLiteral("20:0:1"); + QTest::newRow("hh:mm:ss am") << QStringLiteral("time1") << QStringLiteral("20:08:12 am") << QStringLiteral("20:08:12 am"); +} + +void KeystrokeTest::testSpecialKeystrokeNoCommit() +{ + QFETCH(QString, fieldName); + QFETCH(QString, text); + QFETCH(int, selStart); + QFETCH(int, selEnd); + QFETCH(QString, result); + + Okular::FormFieldText *fft = reinterpret_cast(m_AFMethodsTestsFields[fieldName]); + m_AFMethodsTestsDocument->processKeystrokeAction(fft->additionalAction(Okular::FormField::FieldModified), fft, text, selStart, selEnd); + + QCOMPARE(fft->text(), result); +} + +void KeystrokeTest::testSpecialKeystrokeNoCommit_data() +{ + QTest::addColumn("fieldName"); + QTest::addColumn("text"); + QTest::addColumn("selStart"); + QTest::addColumn("selEnd"); + QTest::addColumn("result"); + + // zip code + QTest::newRow("zip accept") << QStringLiteral("CEP") << QStringLiteral("12345") << 0 << 0 << QStringLiteral("12345"); + QTest::newRow("zip reject/extra length") << QStringLiteral("CEP") << QStringLiteral("123456") << 5 << 5 << QStringLiteral("12345"); + QTest::newRow("zip reject/invalid char") << QStringLiteral("CEP") << QStringLiteral("abcd") << 0 << 5 << QStringLiteral("12345"); + + // zip+4 code + QTest::newRow("zip+4 accept/all nums") << QStringLiteral("8Digits") << QStringLiteral("123456789") << 0 << 0 << QStringLiteral("123456789"); + QTest::newRow("zip+4 accept/. as sep") << QStringLiteral("8Digits") << QStringLiteral("12345.67") << 0 << 9 << QStringLiteral("12345.67"); + QTest::newRow("zip+4 accept/- as separator") << QStringLiteral("8Digits") << QStringLiteral("12345-67") << 0 << 8 << QStringLiteral("12345-67"); + QTest::newRow("zip+4 accept/' ' as separator partial") << QStringLiteral("8Digits") << QStringLiteral("123 6789") << 0 << 8 << QStringLiteral("123 6789"); + QTest::newRow("zip+4 reject/more chars after separator") << QStringLiteral("8Digits") << QStringLiteral("123 67890") << 8 << 8 << QStringLiteral("123 6789"); + QTest::newRow("zip+4 reject/invalid char") << QStringLiteral("8Digits") << QStringLiteral("123 6789abcd") << 8 << 8 << QStringLiteral("123 6789"); + + // phone + QTest::newRow("phone accept/all nums") << QStringLiteral("telefone") << QStringLiteral("1234567890") << 0 << 0 << QStringLiteral("1234567890"); + QTest::newRow("phone accept/parenthesis") << QStringLiteral("telefone") << QStringLiteral("(123 45") << 0 << 10 << QStringLiteral("(123 45"); + QTest::newRow("phone accept/' ' and hyphen both") << QStringLiteral("telefone") << QStringLiteral("123-456 7890") << 0 << 7 << QStringLiteral("123-456 7890"); + QTest::newRow("phone accept/. as sep") << QStringLiteral("telefone") << QStringLiteral("123.456.7890") << 0 << 12 << QStringLiteral("123.456.7890"); + QTest::newRow("phone reject/many sep") << QStringLiteral("telefone") << QStringLiteral("1-23-45-67") << 0 << 12 << QStringLiteral("123.456.7890"); + QTest::newRow("phone reject/incorrect parenthesis") << QStringLiteral("telefone") << QStringLiteral("(1234)") << 0 << 12 << QStringLiteral("123.456.7890"); + QTest::newRow("phone reject/incorrect spaces") << QStringLiteral("telefone") << QStringLiteral("123 56") << 0 << 12 << QStringLiteral("123.456.7890"); + QTest::newRow("phone reject/invalid chars") << QStringLiteral("telefone") << QStringLiteral("abcd") << 0 << 12 << QStringLiteral("123.456.7890"); + QTest::newRow("phone reject/exceeding length") << QStringLiteral("telefone") << QStringLiteral("123.456.78901") << 12 << 12 << QStringLiteral("123.456.7890"); + + // ssn + QTest::newRow("ssn accept/all nums") << QStringLiteral("CPF") << QStringLiteral("123456789") << 0 << 0 << QStringLiteral("123456789"); + QTest::newRow("ssn accept/' ' and - as sep") << QStringLiteral("CPF") << QStringLiteral("123 45-6789") << 0 << 9 << QStringLiteral("123 45-6789"); + QTest::newRow("ssn accept/. as sep") << QStringLiteral("CPF") << QStringLiteral("123.45.6789") << 0 << 11 << QStringLiteral("123.45.6789"); + QTest::newRow("ssn reject/too many seps") << QStringLiteral("CPF") << QStringLiteral("123.45..6789") << 0 << 11 << QStringLiteral("123.45.6789"); + QTest::newRow("ssn reject/exceeding length") << QStringLiteral("CPF") << QStringLiteral("123.45.67890") << 11 << 11 << QStringLiteral("123.45.6789"); + QTest::newRow("ssn reject/invalid chars") << QStringLiteral("CPF") << QStringLiteral("abcd") << 0 << 11 << QStringLiteral("123.45.6789"); +} + +void KeystrokeTest::testSpecialKeystrokeCommit() +{ + QFETCH(QString, fieldName); + QFETCH(QString, text); + QFETCH(QString, result); + + Okular::FormField *ff = m_AFMethodsTestsFields[fieldName]; + Okular::FormFieldText *fft = static_cast(ff); + fft->setText(text); + bool ok = false; + m_AFMethodsTestsDocument->processKeystrokeCommitAction(ff->additionalAction(Okular::FormField::FieldModified), ff, ok); + + QCOMPARE(fft->text(), result); +} + +void KeystrokeTest::testSpecialKeystrokeCommit_data() +{ + QTest::addColumn("fieldName"); + QTest::addColumn("text"); + QTest::addColumn("result"); + + // zip + QTest::newRow("zip accept") << QStringLiteral("CEP") << QStringLiteral("12345") << QStringLiteral("12345"); + + // zip+4 + QTest::newRow("zip+4 accept/all nums") << QStringLiteral("8Digits") << QStringLiteral("123456789") << QStringLiteral("123456789"); + QTest::newRow("zip+4 accept/hyphen as sep") << QStringLiteral("8Digits") << QStringLiteral("12345-6789") << QStringLiteral("12345-6789"); + QTest::newRow("zip+4 accept/. as sep") << QStringLiteral("8Digits") << QStringLiteral("12345.6789") << QStringLiteral("12345.6789"); + QTest::newRow("zip+4 accept/' ' as sep") << QStringLiteral("8Digits") << QStringLiteral("12345 6789") << QStringLiteral("12345 6789"); + + // phone + QTest::newRow("phone accept/all nums") << QStringLiteral("telefone") << QStringLiteral("1234567890") << QStringLiteral("1234567890"); + QTest::newRow("phone accept/with parenthesis") << QStringLiteral("telefone") << QStringLiteral("(123)4567890") << QStringLiteral("(123)4567890"); + QTest::newRow("phone accept/hyphen, spaces and parenthesis") << QStringLiteral("telefone") << QStringLiteral("(123) 456-7890") << QStringLiteral("(123) 456-7890"); + QTest::newRow("phone accept/only hyphens") << QStringLiteral("telefone") << QStringLiteral("123-456-7890") << QStringLiteral("123-456-7890"); + QTest::newRow("phone accept/only dots") << QStringLiteral("telefone") << QStringLiteral("123.456.7890") << QStringLiteral("123.456.7890"); + + // ssn + QTest::newRow("ssn accept/all nums") << QStringLiteral("CPF") << QStringLiteral("123456789") << QStringLiteral("123456789"); + QTest::newRow("ssn accept/hyphens") << QStringLiteral("CPF") << QStringLiteral("123-45-6789") << QStringLiteral("123-45-6789"); + QTest::newRow("ssn accept/hyphens and dots") << QStringLiteral("CPF") << QStringLiteral("123-45.6789") << QStringLiteral("123-45.6789"); + QTest::newRow("ssn accept/spaces") << QStringLiteral("CPF") << QStringLiteral("123 45 6789") << QStringLiteral("123 45 6789"); + + // TODO: Add more tests for rejecting strings when feature to restore committed values is implemented. +} + +void KeystrokeTest::testPercentKeystrokeNoCommit() +{ + QFETCH(QString, fieldName); + QFETCH(QString, text); + QFETCH(int, selStart); + QFETCH(int, selEnd); + QFETCH(QString, result); + + Okular::FormFieldText *fft = reinterpret_cast(m_AFMethodsTestsFields[fieldName]); + m_AFMethodsTestsDocument->processKeystrokeAction(fft->additionalAction(Okular::FormField::FieldModified), fft, text, selStart, selEnd); + + QCOMPARE(fft->text(), result); +} + +void KeystrokeTest::testPercentKeystrokeNoCommit_data() +{ + QTest::addColumn("fieldName"); + QTest::addColumn("text"); + QTest::addColumn("selStart"); + QTest::addColumn("selEnd"); + QTest::addColumn("result"); + + QTest::newRow("no decimal separator/accept") << QStringLiteral("pct1") << QStringLiteral("123") << 0 << 0 << QStringLiteral("123"); + QTest::newRow(". used as decimal separator/accept") << QStringLiteral("pct1") << QStringLiteral("1.21") << 1 << 3 << QStringLiteral("1.21"); + QTest::newRow(", used as decimal separator/accept") << QStringLiteral("pct3") << QStringLiteral("1,21") << 0 << 0 << QStringLiteral("1,21"); + QTest::newRow("+ sign used as prefix/accept") << QStringLiteral("pct1") << QStringLiteral("+1.21") << 0 << 4 << QStringLiteral("+1.21"); + QTest::newRow("- sign used as prefix/accept") << QStringLiteral("pct1") << QStringLiteral("-1.2") << 0 << 5 << QStringLiteral("-1.2"); + QTest::newRow("use multiple decimal separator/reject") << QStringLiteral("pct1") << QStringLiteral("-1.2.1") << 4 << 4 << QStringLiteral("-1.2"); + QTest::newRow("use alphabets/reject") << QStringLiteral("pct1") << QStringLiteral("-1.2abc") << 4 << 4 << QStringLiteral("-1.2"); + QTest::newRow("use multiple - sign/reject") << QStringLiteral("pct1") << QStringLiteral("-1.2-1") << 4 << 4 << QStringLiteral("-1.2"); + QTest::newRow("use , in pct1/reject") << QStringLiteral("pct1") << QStringLiteral("-1,2") << 0 << 4 << QStringLiteral("-1.2"); + QTest::newRow("use . in pct3/reject") << QStringLiteral("pct3") << QStringLiteral("1.2") << 0 << 4 << QStringLiteral("1,21"); +} + +void KeystrokeTest::testPercentKeystrokeCommit() +{ + QFETCH(QString, fieldName); + QFETCH(QString, text); + QFETCH(QString, result); + + Okular::FormField *ff = m_AFMethodsTestsFields[fieldName]; + Okular::FormFieldText *fft = static_cast(ff); + fft->setText(text); + bool ok = false; + m_AFMethodsTestsDocument->processKeystrokeCommitAction(ff->additionalAction(Okular::FormField::FieldModified), ff, ok); + + QCOMPARE(fft->text(), result); +} + +void KeystrokeTest::testPercentKeystrokeCommit_data() +{ + QTest::addColumn("fieldName"); + QTest::addColumn("text"); + QTest::addColumn("result"); + + QTest::newRow("no decimal separator/accept") << QStringLiteral("pct1") << QStringLiteral("123") << QStringLiteral("123"); + QTest::newRow(". used as decimal separator/accept") << QStringLiteral("pct1") << QStringLiteral("1.21") << QStringLiteral("1.21"); + QTest::newRow(", used as decimal separator/accept") << QStringLiteral("pct3") << QStringLiteral("1,21") << QStringLiteral("1,21"); + QTest::newRow("+ sign used as prefix/accept") << QStringLiteral("pct1") << QStringLiteral("+1.21") << QStringLiteral("+1.21"); + QTest::newRow("- sign used as prefix/accept") << QStringLiteral("pct1") << QStringLiteral("-1.2") << QStringLiteral("-1.2"); + + // TODO add more tests for rejecting strings +} + +void KeystrokeTest::testNumberKeystrokeNoCommit() +{ + QFETCH(QString, fieldName); + QFETCH(QString, text); + QFETCH(int, selStart); + QFETCH(int, selEnd); + QFETCH(QString, result); + + Okular::FormFieldText *fft = reinterpret_cast(m_AFMethodsTestsFields[fieldName]); + m_AFMethodsTestsDocument->processKeystrokeAction(fft->additionalAction(Okular::FormField::FieldModified), fft, text, selStart, selEnd); + + QCOMPARE(fft->text(), result); +} + +void KeystrokeTest::testNumberKeystrokeNoCommit_data() +{ + QTest::addColumn("fieldName"); + QTest::addColumn("text"); + QTest::addColumn("selStart"); + QTest::addColumn("selEnd"); + QTest::addColumn("result"); + + QTest::newRow("no decimal separator/accept") << QStringLiteral("number1") << QStringLiteral("123") << 0 << 0 << QStringLiteral("123"); + QTest::newRow(". used as decimal separator/accept") << QStringLiteral("number1") << QStringLiteral("1.21") << 1 << 3 << QStringLiteral("1.21"); + QTest::newRow(", used as decimal separator/accept") << QStringLiteral("number3") << QStringLiteral("1,21") << 0 << 0 << QStringLiteral("1,21"); + QTest::newRow("+ sign used as prefix/accept") << QStringLiteral("number1") << QStringLiteral("+1.21") << 0 << 4 << QStringLiteral("+1.21"); + QTest::newRow("- sign used as prefix/accept") << QStringLiteral("number1") << QStringLiteral("-1.2") << 0 << 5 << QStringLiteral("-1.2"); + QTest::newRow("use multiple decimal separator/reject") << QStringLiteral("number1") << QStringLiteral("-1.2.1") << 4 << 4 << QStringLiteral("-1.2"); + QTest::newRow("use alphabets/reject") << QStringLiteral("number1") << QStringLiteral("-1.2abc") << 4 << 4 << QStringLiteral("-1.2"); + QTest::newRow("use multiple - sign/reject") << QStringLiteral("number1") << QStringLiteral("-1.2-1") << 4 << 4 << QStringLiteral("-1.2"); + QTest::newRow("use , in pct1/reject") << QStringLiteral("number1") << QStringLiteral("-1,2") << 0 << 4 << QStringLiteral("-1.2"); + QTest::newRow("use . in pct3/reject") << QStringLiteral("number3") << QStringLiteral("1.2") << 0 << 4 << QStringLiteral("1,21"); +} + +void KeystrokeTest::testNumberKeystrokeCommit() +{ + QFETCH(QString, fieldName); + QFETCH(QString, text); + QFETCH(QString, result); + + Okular::FormField *ff = m_AFMethodsTestsFields[fieldName]; + Okular::FormFieldText *fft = static_cast(ff); + fft->setText(text); + bool ok = false; + m_AFMethodsTestsDocument->processKeystrokeCommitAction(ff->additionalAction(Okular::FormField::FieldModified), ff, ok); + + QCOMPARE(fft->text(), result); +} + +void KeystrokeTest::testNumberKeystrokeCommit_data() +{ + QTest::addColumn("fieldName"); + QTest::addColumn("text"); + QTest::addColumn("result"); + + QTest::newRow("no decimal separator/accept") << QStringLiteral("number1") << QStringLiteral("123") << QStringLiteral("123"); + QTest::newRow(". used as decimal separator/accept") << QStringLiteral("number1") << QStringLiteral("1.21") << QStringLiteral("1.21"); + QTest::newRow(", used as decimal separator/accept") << QStringLiteral("number3") << QStringLiteral("1,21") << QStringLiteral("1,21"); + QTest::newRow("+ sign used as prefix/accept") << QStringLiteral("number1") << QStringLiteral("+1.21") << QStringLiteral("+1.21"); + QTest::newRow("- sign used as prefix/accept") << QStringLiteral("number1") << QStringLiteral("-1.2") << QStringLiteral("-1.2"); + + // TODO add more tests for rejecting strings +} + +void KeystrokeTest::testDateKeystrokeCommit() +{ + QFETCH(QString, fieldName); + QFETCH(QString, text); + QFETCH(QString, result); + + Okular::FormField *ff = m_AFMethodsTestsFields[fieldName]; + ff->setValue(QVariant(text)); + bool returnCode = true; + m_AFMethodsTestsDocument->processKeystrokeCommitAction(ff->additionalAction(Okular::FormField::FieldModified), ff, returnCode); + + QCOMPARE(ff->value().toString(), result); +} + +void KeystrokeTest::testDateKeystrokeCommit_data() +{ + QTest::addColumn("fieldName"); + QTest::addColumn("text"); + QTest::addColumn("result"); + + QTest::newRow("d/m with full date") << QStringLiteral("data1") << QStringLiteral("25/06/2024") << QStringLiteral("25/06/2024"); + QTest::newRow("d/m with month in words") << QStringLiteral("data1") << QStringLiteral("25th June 2024") << QStringLiteral("25th June 2024"); + QTest::newRow("d/m with random characters at end") << QStringLiteral("data1") << QStringLiteral("25 - 06 - 24 bleh bleh") << QStringLiteral("25 - 06 - 24 bleh bleh"); + QTest::newRow("d/m with input in same format") << QStringLiteral("data1") << QStringLiteral("25/6") << QStringLiteral("25/6"); + QTest::newRow("dd-mmm-yy wtih time info") << QStringLiteral("data2") << QStringLiteral("25/06/2003 20:08 am") << QStringLiteral("25/06/2003 20:08 am"); + QTest::newRow("dd-mmm-yy with spaces") << QStringLiteral("data2") << QStringLiteral("25 06 2003") << QStringLiteral("25 06 2003"); + QTest::newRow("d/m/yyyy with padding in months") << QStringLiteral("data3") << QStringLiteral("25/06/2024") << QStringLiteral("25/06/2024"); + QTest::newRow("dd-mm-yy with leap date") << QStringLiteral("data4") << QStringLiteral("29/2/2024") << QStringLiteral("29/2/2024"); + QTest::newRow("dd/mm/yyyy with random characters in between") << QStringLiteral("data5") << QStringLiteral("25 abc 06 def 2024") << QStringLiteral("25 abc 06 def 2024"); + QTest::newRow("dd/mm/yyyy with input in same format") << QStringLiteral("data5") << QStringLiteral("25/06/2024") << QStringLiteral("25/06/2024"); + QTest::newRow("mm/yy with month name and year") << QStringLiteral("data6") << QStringLiteral("June 2024") << QStringLiteral("June 2024"); + QTest::newRow("mm/yy with month and year in nums") << QStringLiteral("data6") << QStringLiteral("6/24") << QStringLiteral("6/24"); + QTest::newRow("mm/yyyy with short month name and year") << QStringLiteral("data7") << QStringLiteral("Aug 2024") << QStringLiteral("Aug 2024"); + QTest::newRow("mm/yyyy with date in words") << QStringLiteral("data7") << QStringLiteral("6/2024") << QStringLiteral("6/2024"); + QTest::newRow("d-mmm with date and month name") << QStringLiteral("data8") << QStringLiteral("13 June") << QStringLiteral("13 June"); + QTest::newRow("d-mmm with date, month and year") << QStringLiteral("data8") << QStringLiteral("25/06/2024") << QStringLiteral("25/06/2024"); + QTest::newRow("d-mmm with half month name") << QStringLiteral("data8") << QStringLiteral("Dec 13") << QStringLiteral("Dec 13"); + QTest::newRow("d-mmm-yy with input in dd/mm/yy") << QStringLiteral("data9") << QStringLiteral("13/08/2010") << QStringLiteral("13/08/2010"); + QTest::newRow("d-mmm-yy with month name") << QStringLiteral("data9") << QStringLiteral("25th of June 2024") << QStringLiteral("25th of June 2024"); + QTest::newRow("d mmm, yyyy with input in dd/mm/yy") << QStringLiteral("data19") << QStringLiteral("25/06/2024") << QStringLiteral("25/06/2024"); + QTest::newRow("d/m/yy h:MM tt with complete date and time") << QStringLiteral("data21") << QStringLiteral("25/06/2024 20:08") << QStringLiteral("25/06/2024 20:08"); + QTest::newRow("d/m/yy h:MM tt with only date") << QStringLiteral("data21") << QStringLiteral("25/06/2024") << QStringLiteral("25/06/2024"); + QTest::newRow("d-mmm-yyyy with padding in input date") << QStringLiteral("data10") << QStringLiteral("06/12/1921") << QStringLiteral("06/12/1921"); + QTest::newRow("d-mmm-yyyy with input in d/m/yyyy") << QStringLiteral("data10") << QStringLiteral("1/8/2010") << QStringLiteral("1/8/2010"); + QTest::newRow("d-mmm-yy with input in d/m/yyyy") << QStringLiteral("data11") << QStringLiteral("13/6/2024") << QStringLiteral("13/6/2024"); + QTest::newRow("dd-mmm-yyyy with input in d/m/yyyy") << QStringLiteral("data12") << QStringLiteral("1/1/2011") << QStringLiteral("1/1/2011"); + // Skip data13, same input already done in data4 + QTest::newRow("dd-mm-yyyy with input in d/m/yyyy") << QStringLiteral("data14") << QStringLiteral("1/1/2011") << QStringLiteral("1/1/2011"); + QTest::newRow("mmm-yy full month name") << QStringLiteral("data15") << QStringLiteral("October 2018") << QStringLiteral("October 2018"); + QTest::newRow("mmmm-yy partial month name") << QStringLiteral("data16") << QStringLiteral("Oct 2018") << QStringLiteral("Oct 2018"); + QTest::newRow("mmmm-yy input format : mm/yy") << QStringLiteral("data16") << QStringLiteral("09/17") << QStringLiteral("09/17"); + QTest::newRow("d mmm, yyyy with input in dd/mm/yyyy") << QStringLiteral("data18") << QStringLiteral("13/08/2002") << QStringLiteral("13/08/2002"); + QTest::newRow("d/m/yy h:MM tt with complete datetime as input") << QStringLiteral("data20") << QStringLiteral("7/2/1991 20:08") << QStringLiteral("7/2/1991 20:08"); + QTest::newRow("d/m/yy h:MM tt with complete datetime as input2") << QStringLiteral("data20") << QStringLiteral("15/3/2018 5:10 am") << QStringLiteral("15/3/2018 5:10 am"); + QTest::newRow("d/m/yy HH:MM with datetime including seconds") << QStringLiteral("data22") << QStringLiteral("25/02/2020 13:13:13") << QStringLiteral("25/02/2020 13:13:13"); + QTest::newRow("d/m/yyyy HH:MM with datetime including seconds") << QStringLiteral("data24") << QStringLiteral("13/10/1966 13:13:13") << QStringLiteral("13/10/1966 13:13:13"); + + // TODO add more tests for rejecting strings. +} + +void KeystrokeTest::cleanupTestCase() +{ + m_genericTestsDocument->closeDocument(); + delete m_genericTestsDocument; + m_AFMethodsTestsDocument->closeDocument(); + delete m_AFMethodsTestsDocument; +} + +QTEST_MAIN(KeystrokeTest) +#include "keystroketest.moc" diff --git a/autotests/mainshelltest.cpp b/autotests/mainshelltest.cpp new file mode 100644 index 0000000..d56544f --- /dev/null +++ b/autotests/mainshelltest.cpp @@ -0,0 +1,724 @@ +/* + SPDX-FileCopyrightText: 2014 Albert Astals Cid + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +// clazy:excludeall=qstring-allocations + +#include +#include + +#include +#include +#include + +#if HAVE_DBUS +#include +#include +#endif // HAVE_DBUS +#include +#include +#include +#include +#include +#include +#include + +#include "../core/document_p.h" +#include "../part/findbar.h" +#include "../part/part.h" +#include "../part/presentationwidget.h" +#include "../settings.h" +#include "../shell/okular_main.h" +#include "../shell/shell.h" +#include "../shell/shellutils.h" +#include "closedialoghelper.h" + +#include +#ifndef Q_OS_WIN +#include +#else +#include +#endif + +namespace Okular +{ +class PartTest +{ +public: + Okular::Document *partDocument(Okular::Part *part) const + { + return part->m_document; + } + QWidget *presentationWidget(Okular::Part *part) const + { + return part->m_presentationWidget; + } + FindBar *findWidget(Okular::Part *part) const + { + return part->m_findBar; + } +}; +} + +class ClosePrintDialogHelper : public QObject +{ + Q_OBJECT + +public: + explicit ClosePrintDialogHelper(int expectedTab) + : foundDialog(false) + , m_expectedTab(expectedTab) + { + } + bool foundDialog; + +public Q_SLOTS: + void closePrintDialog(); + +private: + int m_expectedTab; +}; + +class MainShellTest : public QObject, public Okular::PartTest +{ + Q_OBJECT + +public: + static QTabWidget *tabWidget(Shell *s) + { + return s->m_tabWidget; + } + +private Q_SLOTS: + void initTestCase(); + void cleanupTestCase(); + void init(); + void cleanup(); + + void testShell_data(); + void testShell(); + void testFileRemembersPagePosition_data(); + void testFileRemembersPagePosition(); + void test2FilesError_data(); + void test2FilesError(); + void testMiddleButtonCloseUndo(); + void testSessionRestore_data(); + void testSessionRestore(); + void testOpenInvalidFiles_data(); + void testOpenInvalidFiles(); + void testOpenTheSameFileSeveralTimes(); + +private: +}; + +QList getShells() +{ + QList shells; + const QList mainWindows = KMainWindow::memberList(); + for (KMainWindow *kmw : mainWindows) { + Shell *shell = qobject_cast(kmw); + if (shell) { + shells.append(shell); + } + } + return shells; +} + +Shell *findShell(Shell *ignore = nullptr) +{ + const QWidgetList wList = QApplication::topLevelWidgets(); + for (QWidget *widget : wList) { + Shell *s = qobject_cast(widget); + if (s && s != ignore) { + return s; + } + } + return nullptr; +} + +void MainShellTest::initTestCase() +{ + QStandardPaths::setTestModeEnabled(true); + // Don't pollute people's okular settings + Okular::Settings::instance(QStringLiteral("mainshelltest")); + + // Register in bus as okular +#if HAVE_DBUS + QDBusConnectionInterface *bus = QDBusConnection::sessionBus().interface(); + QVERIFY(bus->registerService(ShellUtils::currentProcessDbusName()) == QDBusConnectionInterface::ServiceRegistered); +#endif + // Tell the presentationWidget and queryClose to not be annoying + KSharedConfigPtr c = KSharedConfig::openConfig(QStringLiteral("mainshelltest.kmessagebox")); + KConfigGroup cg = c->group(QStringLiteral("General")); + cg.writeEntry("presentationInfo", 4); + cg.writeEntry("ShowTabWarning", 4); +} + +void MainShellTest::cleanupTestCase() +{ +} + +void MainShellTest::init() +{ + // Default settings for every test + Okular::Settings::self()->setDefaults(); + + // Clean docdatas + const QList urls = {QUrl::fromUserInput(QStringLiteral("file://" KDESRCDIR "data/file1.pdf")), + QUrl::fromUserInput(QStringLiteral("file://" KDESRCDIR "data/tocreload.pdf")), + QUrl::fromUserInput(QStringLiteral("file://" KDESRCDIR "data/contents.epub"))}; + + for (const QUrl &url : urls) { + QFileInfo fileReadTest(url.toLocalFile()); + const QString docDataPath = Okular::DocumentPrivate::docDataFileName(url, fileReadTest.size()); + QFile::remove(docDataPath); + } +} + +void MainShellTest::cleanup() +{ + Shell *s; + while ((s = findShell())) { + delete s; + } +} + +void MainShellTest::testShell_data() +{ + QTest::addColumn("paths"); + QTest::addColumn("serializedOptions"); + QTest::addColumn("useTabs"); + QTest::addColumn("externalProcessPath"); + QTest::addColumn("expectedPage"); + QTest::addColumn("expectPresentation"); + QTest::addColumn("expectPrintDialog"); + QTest::addColumn("unique"); + QTest::addColumn("externalProcessExpectedPage"); + QTest::addColumn("externalProcessExpectPresentation"); + QTest::addColumn("externalProcessExpectPrintDialog"); + QTest::addColumn("externalProcessExpectFind"); + + const QStringList contentsEpub = QStringList(QStringLiteral(KDESRCDIR "data/contents.epub")); + const QStringList file1 = QStringList(QStringLiteral(KDESRCDIR "data/file1.pdf")); + QStringList file1AndToc; + file1AndToc << QStringLiteral(KDESRCDIR "data/file1.pdf"); + file1AndToc << QStringLiteral(KDESRCDIR "data/tocreload.pdf"); + const QString tocReload = QStringLiteral(KDESRCDIR "data/tocreload.pdf"); + + const QString optionsPage2 = ShellUtils::serializeOptions(false, false, false, false, false, QStringLiteral("2"), QString(), QString()); + const QString optionsPage2Presentation = ShellUtils::serializeOptions(true, false, false, false, false, QStringLiteral("2"), QString(), QString()); + const QString optionsPrint = ShellUtils::serializeOptions(false, true, false, false, false, QString(), QString(), QString()); + const QString optionsUnique = ShellUtils::serializeOptions(false, false, false, true, false, QString(), QString(), QString()); + const QString optionsFind = ShellUtils::serializeOptions(false, false, false, false, false, QString(), QStringLiteral("si:next-testing parameters!"), QString()); + + QTest::newRow("just show shell") << QStringList() << QString() << false << QString() << 0u << false << false << false << 0u << false << false << QString(); + QTest::newRow("open file") << file1 << QString() << false << QString() << 0u << false << false << false << 0u << false << false << QString(); + QTest::newRow("two files no tabs") << file1AndToc << QString() << false << QString() << 0u << false << false << false << 0u << false << false << QString(); + QTest::newRow("two files with tabs") << file1AndToc << QString() << true << QString() << 0u << false << false << false << 0u << false << false << QString(); + QTest::newRow("two files sequence no tabs") << file1 << QString() << false << tocReload << 0u << false << false << false << 0u << false << false << QString(); +#if HAVE_DBUS + QTest::newRow("two files sequence with tabs") << file1 << QString() << true << tocReload << 0u << false << false << false << 0u << false << false << QString(); +#endif // HAVE_DBUS + QTest::newRow("open file page number") << contentsEpub << optionsPage2 << false << QString() << 1u << false << false << false << 0u << false << false << QString(); + QTest::newRow("open file page number and presentation") << contentsEpub << optionsPage2Presentation << false << QString() << 1u << true << false << false << 0u << false << false << QString(); + QTest::newRow("open file find") << file1 << optionsFind << false << QString() << 0u << false << false << false << 0u << false << false << QStringLiteral("si:next-testing parameters!"); + QTest::newRow("open file print") << file1 << optionsPrint << false << QString() << 0u << false << true << false << 0u << false << false << QString(); +#if HAVE_DBUS + QTest::newRow("open two files unique") << file1 << optionsUnique << false << tocReload << 0u << false << false << true << 0u << false << false << QString(); + QTest::newRow("open two files unique tabs") << file1 << optionsUnique << true << tocReload << 0u << false << false << true << 0u << false << false << QString(); + QTest::newRow("page number attach tabs") << file1 << QString() << true << contentsEpub[0] << 0u << false << false << false << 2u << false << false << QString(); + QTest::newRow("presentation attach tabs") << file1 << QString() << true << contentsEpub[0] << 0u << false << false << false << 2u << true << false << QString(); + QTest::newRow("print attach tabs") << file1 << QString() << true << contentsEpub[0] << 0u << false << true << false << 2u << false << true << QString(); + QTest::newRow("page number attach unique") << file1 << optionsUnique << false << contentsEpub[0] << 0u << false << false << true << 3u << false << false << QString(); + QTest::newRow("presentation attach unique") << file1 << optionsUnique << false << contentsEpub[0] << 0u << false << false << true << 2u << true << false << QString(); + QTest::newRow("print attach unique") << file1 << optionsUnique << false << contentsEpub[0] << 0u << false << false << true << 2u << false << true << QString(); + QTest::newRow("page number attach unique tabs") << file1 << optionsUnique << true << contentsEpub[0] << 0u << false << false << true << 3u << false << false << QString(); + QTest::newRow("presentation attach unique tabs") << file1 << optionsUnique << true << contentsEpub[0] << 0u << false << false << true << 2u << true << false << QString(); + QTest::newRow("print attach unique tabs") << file1 << optionsUnique << true << contentsEpub[0] << 0u << false << false << true << 2u << false << true << QString(); +#endif // HAVE_DBUS +} + +void MainShellTest::testShell() +{ + QFETCH(QStringList, paths); + QFETCH(QString, serializedOptions); + QFETCH(bool, useTabs); + QFETCH(QString, externalProcessPath); + QFETCH(uint, expectedPage); + QFETCH(bool, expectPresentation); + QFETCH(bool, expectPrintDialog); + QFETCH(bool, unique); + QFETCH(uint, externalProcessExpectedPage); + QFETCH(bool, externalProcessExpectPresentation); + QFETCH(bool, externalProcessExpectPrintDialog); + QFETCH(QString, externalProcessExpectFind); + + QScopedPointer helper; + + Okular::Settings::self()->setShellOpenFileInTabs(useTabs); + + if (expectPrintDialog || externalProcessExpectPrintDialog) { + const int expectedTab = externalProcessExpectPrintDialog && !unique ? 1 : 0; + helper.reset(new ClosePrintDialogHelper(expectedTab)); + QTimer::singleShot(0, helper.data(), &ClosePrintDialogHelper::closePrintDialog); + } + + Okular::Status status = Okular::main(paths, serializedOptions); + QCOMPARE(status, Okular::Success); + Shell *s = findShell(); + QVERIFY(s); + + if (paths.count() == 1) { + QCOMPARE(s->m_tabs.count(), 1); + Okular::Part *part = s->findChild(); + QVERIFY(part); + QCOMPARE(part->url().url(), QStringLiteral("file://%1").arg(paths[0])); + QCOMPARE(partDocument(part)->currentPage(), expectedPage); + // Testing if the bar is shown or hidden as expected + QCOMPARE(findWidget(part)->isHidden(), externalProcessExpectFind.isEmpty()); + QCOMPARE(findWidget(part)->findChild()->text(), externalProcessExpectFind); + // Checking if the encryption/decryption worked + QCOMPARE(externalProcessExpectFind, ShellUtils::find(serializedOptions)); + + } else if (paths.count() == 2) { + if (useTabs) { + Shell *s = findShell(); + QVERIFY(s); + QCOMPARE(s->m_tabs.count(), 2); + Okular::Part *part = dynamic_cast(s->m_tabs[0].part); + Okular::Part *part2 = dynamic_cast(s->m_tabs[1].part); + QCOMPARE(part->url().url(), QStringLiteral("file://%1").arg(paths[0])); + QCOMPARE(part2->url().url(), QStringLiteral("file://%1").arg(paths[1])); + QCOMPARE(partDocument(part)->currentPage(), expectedPage); + QCOMPARE(partDocument(part2)->currentPage(), expectedPage); + } else { + QSet openUrls; + Shell *s = findShell(); + QVERIFY(s); + QCOMPARE(s->m_tabs.count(), 1); + Okular::Part *part = s->findChild(); + QVERIFY(part); + QCOMPARE(partDocument(part)->currentPage(), expectedPage); + openUrls << part->url().url(); + + Shell *s2 = findShell(s); + QVERIFY(s2); + QCOMPARE(s2->m_tabs.count(), 1); + Okular::Part *part2 = s2->findChild(); + QVERIFY(part2); + QCOMPARE(partDocument(part2)->currentPage(), expectedPage); + openUrls << part2->url().url(); + + for (const QString &path : std::as_const(paths)) { + QVERIFY(openUrls.contains(QStringLiteral("file://%1").arg(path))); + } + } + } + + if (!externalProcessPath.isEmpty()) { + Okular::Part *part = s->findChild(); + + QProcess p; + QStringList args; + args << externalProcessPath; + if (unique) { + args << QStringLiteral("-unique"); + } + if (externalProcessExpectedPage != 0) { + args << QStringLiteral("-page") << QString::number(externalProcessExpectedPage + 1); + } + if (externalProcessExpectPresentation) { + args << QStringLiteral("-presentation"); + } + if (externalProcessExpectPrintDialog) { + args << QStringLiteral("-print"); + } + p.start(QStringLiteral(OKULAR_BINARY), args); + p.waitForStarted(); + QCOMPARE(p.state(), QProcess::Running); + + if (useTabs || unique) { + // It is attaching to us, so will eventually stop + QTRY_COMPARE_WITH_TIMEOUT(p.state(), QProcess::NotRunning, 20000); + QCOMPARE(p.exitStatus(), QProcess::NormalExit); + QCOMPARE(p.exitCode(), 0); + + if (unique) { + // It is unique so part got "overwritten" + QCOMPARE(s->m_tabs.count(), 1); + QCOMPARE(part->url().url(), QStringLiteral("file://%1").arg(externalProcessPath)); + QCOMPARE(partDocument(part)->currentPage(), externalProcessExpectedPage); + } else { + // It is attaching to us so a second tab is there + QCOMPARE(s->m_tabs.count(), 2); + Okular::Part *part2 = dynamic_cast(s->m_tabs[1].part); + QCOMPARE(part2->url().url(), QStringLiteral("file://%1").arg(externalProcessPath)); + QCOMPARE(partDocument(part2)->currentPage(), externalProcessExpectedPage); + } + } else { + QTest::qWait(750); + + // It opened on a new process, so it is still running, we need to kill it + QCOMPARE(p.state(), QProcess::Running); + p.terminate(); + p.waitForFinished(); + QVERIFY(p.state() != QProcess::Running); + // It opened on a new process, so no change for us + QCOMPARE(s->m_tabs.count(), 1); + QCOMPARE(part->url().url(), QStringLiteral("file://%1").arg(paths[0])); + QCOMPARE(partDocument(part)->currentPage(), externalProcessExpectedPage); + } + } + + if (expectPresentation) { + QCOMPARE(paths.count(), 1); + Okular::Part *part = s->findChild(); + QTRY_VERIFY(presentationWidget(part) != nullptr); + } + + if (externalProcessExpectPresentation) { + Okular::Part *part; + if (unique) { + QCOMPARE(s->m_tabs.count(), 1); + part = dynamic_cast(s->m_tabs[0].part); + } else { + QCOMPARE(s->m_tabs.count(), 2); + part = dynamic_cast(s->m_tabs[1].part); + } + + QTRY_VERIFY(presentationWidget(part) != nullptr); + } + + if (helper) { + QVERIFY(helper->foundDialog); + } +} + +void ClosePrintDialogHelper::closePrintDialog() +{ + Shell *s = findShell(); + QPrintDialog *dialog = s->findChild(); + if (!dialog) { + QTimer::singleShot(0, this, &ClosePrintDialogHelper::closePrintDialog); + return; + } + QVERIFY(dialog); + QCOMPARE(MainShellTest::tabWidget(s)->currentIndex(), m_expectedTab); + dialog->close(); + foundDialog = true; +} + +void MainShellTest::testFileRemembersPagePosition_data() +{ + QTest::addColumn("mode"); + + QTest::newRow("normal") << 1; + QTest::newRow("unique") << 2; + QTest::newRow("tabs") << 3; +} + +void MainShellTest::testFileRemembersPagePosition() +{ + QFETCH(int, mode); + + const QStringList paths = QStringList(QStringLiteral(KDESRCDIR "data/contents.epub")); + QString serializedOptions; + if (mode == 1 || mode == 3) { + serializedOptions = ShellUtils::serializeOptions(false, false, false, false, false, QString(), QString(), QString()); + } else { + serializedOptions = ShellUtils::serializeOptions(false, false, false, true, false, QString(), QString(), QString()); + } + + Okular::Settings::self()->setShellOpenFileInTabs(mode == 3); + + Okular::Status status = Okular::main(paths, serializedOptions); + QCOMPARE(status, Okular::Success); + Shell *s = findShell(); + QVERIFY(s); + Okular::Part *part = s->findChild(); + QVERIFY(part); + QCOMPARE(part->url().url(), QStringLiteral("file://%1").arg(paths[0])); + QCOMPARE(partDocument(part)->currentPage(), 0u); + partDocument(part)->setViewportPage(3); + QCOMPARE(partDocument(part)->currentPage(), 3u); + s->closeUrl(); + QCOMPARE(part->url().url(), QString()); + + if (mode == 1) { + delete s; + status = Okular::main(paths, serializedOptions); + QCOMPARE(status, Okular::Success); + } else { + QProcess p; + QStringList args; + args << paths[0]; + if (mode == 2) { + args << QStringLiteral("-unique"); + } + p.start(QStringLiteral(OKULAR_BINARY), args); + p.waitForStarted(); + QCOMPARE(p.state(), QProcess::Running); + + // It is attaching to us, so will eventually stop + QTRY_COMPARE_WITH_TIMEOUT((int)p.state(), (int)QProcess::NotRunning, 20000); + QCOMPARE((int)p.exitStatus(), (int)QProcess::NormalExit); + QCOMPARE(p.exitCode(), 0); + } + s = findShell(); + QVERIFY(s); + part = s->findChild(); + QVERIFY(part); + QCOMPARE(part->url().url(), QStringLiteral("file://%1").arg(paths[0])); + QCOMPARE(partDocument(part)->currentPage(), 3u); +} + +void MainShellTest::test2FilesError_data() +{ + QTest::addColumn("serializedOptions"); + + QTest::newRow("startInPresentation") << ShellUtils::serializeOptions(true, false, false, false, false, QString(), QString(), QString()); + QTest::newRow("showPrintDialog") << ShellUtils::serializeOptions(false, true, false, false, false, QString(), QString(), QString()); +#if HAVE_DBUS + QTest::newRow("unique") << ShellUtils::serializeOptions(false, false, false, true, false, QString(), QString(), QString()); + QTest::newRow("pageNumber") << ShellUtils::serializeOptions(false, false, false, false, false, QStringLiteral("3"), QString(), QString()); +#endif // HAVE_DBUS + QTest::newRow("find") << ShellUtils::serializeOptions(false, false, false, false, false, QString(), QStringLiteral("silly"), QString()); +} + +void MainShellTest::test2FilesError() +{ + QFETCH(QString, serializedOptions); + + QStringList paths; + paths << QStringLiteral(KDESRCDIR "data/file1.pdf") << QStringLiteral(KDESRCDIR "data/tocreload.pdf"); + Okular::Status status = Okular::main(paths, serializedOptions); + QCOMPARE(status, Okular::Error); + + Shell *s = findShell(); + QVERIFY(!s); +} + +void MainShellTest::testSessionRestore_data() +{ + QTest::addColumn("paths"); + QTest::addColumn("options"); + QTest::addColumn("useTabsOpen"); + QTest::addColumn("useTabsRestore"); + + QStringList oneDocPaths(QStringLiteral(KDESRCDIR "data/file1.pdf")); + QStringList twoDocPaths(oneDocPaths); + twoDocPaths << QStringLiteral(KDESRCDIR "data/formSamples.pdf"); + + const QString options = ShellUtils::serializeOptions(false, false, false, false, false, QString(), QString(), QString()); + + QTest::newRow("1 doc, 1 window, tabs") << oneDocPaths << options << true << true; + QTest::newRow("2 docs, 1 window, tabs") << twoDocPaths << options << true << true; + QTest::newRow("2 docs, 2 windows, tabs") << twoDocPaths << options << false << true; + QTest::newRow("2 docs, 2 windows, no tabs") << twoDocPaths << options << false << false; + QTest::newRow("2 docs, 1 window, no tabs") << twoDocPaths << options << true << false; +} + +void MainShellTest::testSessionRestore() +{ + QFETCH(QStringList, paths); + QFETCH(QString, options); + QFETCH(bool, useTabsOpen); + QFETCH(bool, useTabsRestore); + + Okular::Settings::self()->setShellOpenFileInTabs(useTabsOpen); + + Okular::Status status = Okular::main(paths, options); + QCOMPARE(status, Okular::Success); + + // Gather some information about the state + // Verify that the correct number of windows/tabs were opened + QList shells = getShells(); + QVERIFY(!shells.isEmpty()); + int numDocs = 0; + for (Shell *shell : std::as_const(shells)) { + QVERIFY(QTest::qWaitForWindowExposed(shell)); + numDocs += shell->m_tabs.size(); + } + + QCOMPARE(numDocs, paths.size()); + QCOMPARE(shells.size(), useTabsOpen ? 1 : paths.size()); + QTest::qWait(100); + + // Simulate session shutdown. The actual shutdown path comes through + // QSessionManager XSMP handlers, then KApplication::commitData/saveState, + // then KMWSessionManager::commitData/saveState. Without simulating an X + // session manager, the best we can do here is to make a temporary Config + // and call KMainWindows save functions directly. + QTemporaryFile configFile; + QVERIFY(configFile.open()); + + int numWindows = 0; + { // Scope for config so that we can reconstruct from file + KConfig config(configFile.fileName(), KConfig::SimpleConfig); + for (Shell *shell : std::as_const(shells)) { + shell->savePropertiesInternal(&config, ++numWindows); + // Windows aren't necessarily closed on shutdown, but we'll use + // this as a way to trigger the destructor code, which is normally + // connected to the aboutToQuit signal + shell->close(); + } + } + + // Wait for shells to delete themselves. QTest::qWait doesn't do deferred + // deletions so we'll set up a full event loop to do that. + QEventLoop eventLoop; + QTimer::singleShot(100, &eventLoop, &QEventLoop::quit); + eventLoop.exec(QEventLoop::AllEvents); + // Sometimes the event loop is not enough, so try a bit more to get deferred delete happen + QCoreApplication::sendPostedEvents(nullptr, QEvent::DeferredDelete); + shells = getShells(); + QCOMPARE(shells.size(), 0); + + Okular::Settings::self()->setShellOpenFileInTabs(useTabsRestore); + + // Simulate session restore. We can't call KMainWindow::restore() directly + // because it asks for info from the session manager, which doesn't know + // about our temporary config. But the logic here mostly mirrors restore(). + KConfig config(configFile.fileName(), KConfig::SimpleConfig); + for (int i = 1; i <= numWindows; ++i) { + Shell *shell = new Shell; + shell->readPropertiesInternal(&config, i); + shell->show(); + } + + // Verify that the restore state is reasonable + shells = getShells(); + QVERIFY(!shells.isEmpty()); + numDocs = 0; + for (Shell *shell : std::as_const(shells)) { + QVERIFY(QTest::qWaitForWindowExposed(shell)); + numDocs += shell->m_tabs.size(); + } + + QCOMPARE(numDocs, paths.size()); + QCOMPARE(shells.size(), useTabsRestore ? numWindows : paths.size()); +} + +void MainShellTest::testOpenInvalidFiles_data() +{ + QTest::addColumn>("files"); + QTest::addColumn("options"); + + QString options = ShellUtils::serializeOptions(false, false, false, false, false, QString(), QString(), QString()); + QUrl validFile1 = ShellUtils::urlFromArg(QStringLiteral(KDESRCDIR "data/file1.pdf"), ShellUtils::qfileExistFunc(), QString()); + QUrl validFile2 = ShellUtils::urlFromArg(QStringLiteral(KDESRCDIR "data/file2.pdf"), ShellUtils::qfileExistFunc(), QString()); + QUrl invalidFile = ShellUtils::urlFromArg(QStringLiteral(KDESRCDIR "data/non-existing-doc.pdf"), ShellUtils::qfileExistFunc(), QString()); + + QList firstCase {invalidFile, validFile1, validFile2}; + QList secondCase {validFile1, validFile2, invalidFile}; + + QTest::newRow("opening the invalid file first") << firstCase << options; + QTest::newRow("opening the valids file first") << secondCase << options; +} + +void MainShellTest::testOpenInvalidFiles() +{ + QFETCH(QList, files); + QFETCH(QString, options); + + /* + * The purpose of this test is to verify that when we open an invalid file, no tab is created in the + * shell. + * + */ + + Okular::Settings::self()->setShellOpenFileInTabs(true); + Okular::Status status = Okular::main(QStringList(), options); + QCOMPARE(status, Okular::Success); + + Shell *shell = findShell(); + QVERIFY(shell); + + /* + * We need to make sure that the KrecentFilesAction is empty before starting, because we will also test that + * the file gets removed from the recent documents + * + */ + shell->m_recent->clear(); + + QScopedPointer closeDialogHelper {new TestingUtils::CloseDialogHelper(QDialogButtonBox::StandardButton::Ok)}; + + for (const QUrl &file : files) { + shell->openUrl(file); + } + + QList recentFiles = shell->m_recent->urls(); + + QVERIFY(shell->m_tabs.size() == 2); + QVERIFY(shell->m_tabWidget->tabBar()->isVisible()); + + QVERIFY(!shell->m_tabWidget->tabIcon(0).isNull()); + QVERIFY(!shell->m_tabWidget->tabIcon(1).isNull()); + + QVERIFY(recentFiles.size() == 2); +} + +void MainShellTest::testOpenTheSameFileSeveralTimes() +{ + QString options = ShellUtils::serializeOptions(false, false, false, false, false, QString(), QString(), QString()); + + Okular::Settings::self()->setShellOpenFileInTabs(true); + Okular::Status status = Okular::main(QStringList(), options); + QCOMPARE(status, Okular::Success); + + Shell *shell = findShell(); + QVERIFY(shell); + + QUrl file1 = ShellUtils::urlFromArg(QStringLiteral(KDESRCDIR "data/file1.pdf"), ShellUtils::qfileExistFunc(), QString()); + QUrl file2 = ShellUtils::urlFromArg(QStringLiteral(KDESRCDIR "data/file2.pdf"), ShellUtils::qfileExistFunc(), QString()); + QUrl file3 = ShellUtils::urlFromArg(QStringLiteral(KDESRCDIR "data/formattest.pdf"), ShellUtils::qfileExistFunc(), QString()); + + shell->openUrl(file1); + shell->openUrl(file2); + shell->openUrl(file2); + + QVERIFY(shell->m_tabs.size() == 2); + + QVERIFY(shell->m_tabWidget->currentIndex() == 1); + + Okular::Settings::self()->setSwitchToTabIfOpen(false); + + shell->openUrl(file2); + + QVERIFY(shell->m_tabs.size() == 3); + + shell->openUrl(file3); + QVERIFY(shell->m_tabWidget->currentIndex() == 3); + + QVERIFY(shell->m_tabs.size() == 4); + + Okular::Settings::self()->setSwitchToTabIfOpen(true); +} + +void MainShellTest::testMiddleButtonCloseUndo() +{ + const QStringList paths = {QStringLiteral(KDESRCDIR "data/file1.pdf"), QStringLiteral(KDESRCDIR "data/file2.pdf")}; + QString serializedOptions; + serializedOptions = ShellUtils::serializeOptions(false, false, false, false, false, QString(), QString(), QString()); + + Okular::Settings::self()->setShellOpenFileInTabs(true); + Okular::Status status = Okular::main(paths, serializedOptions); + QCOMPARE(status, Okular::Success); + Shell *s = findShell(); + QVERIFY(s); + + QCOMPARE(s->m_tabWidget->count(), paths.size()); + // Close a tab using middle key + QWidget *firstTab = s->m_tabWidget->tabBar()->tabButton(0, QTabBar::RightSide); + QVERIFY(firstTab); + QTest::mouseClick(firstTab, Qt::MiddleButton); + QCOMPARE(s->m_tabWidget->count(), paths.size() - 1); + // Undo tab close + s->undoCloseTab(); + QCOMPARE(s->m_tabWidget->count(), paths.size()); +} + +QTEST_MAIN(MainShellTest) +#include "mainshelltest.moc" diff --git a/autotests/markdowntest.cpp b/autotests/markdowntest.cpp new file mode 100644 index 0000000..b94a864 --- /dev/null +++ b/autotests/markdowntest.cpp @@ -0,0 +1,214 @@ +/* + SPDX-FileCopyrightText: 2020 Markus Brenneis + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include + +#include "../settings_core.h" +#include "core/document.h" +#include "generators/markdown/converter.h" +#include +#include +#include + +class MarkdownTest : public QObject +{ + Q_OBJECT + +private Q_SLOTS: + void initTestCase(); + + void testFancyPantsEnabled(); + void testFancyPantsDisabled(); + void testImageSizes(); + void testSpecialCharsInImageFileName(); + void testStrikeThrough(); + void testHtmlTagFixup(); + +private: + void findImages(QTextFrame *parent, QList &images); + void findImages(const QTextBlock &parent, QList &images); +}; + +void MarkdownTest::initTestCase() +{ + Okular::SettingsCore::instance(QStringLiteral("markdowntest")); +} + +void MarkdownTest::testFancyPantsEnabled() +{ + Markdown::Converter converter; + converter.setFancyPantsEnabled(true); + std::unique_ptr document(converter.convert(QStringLiteral(KDESRCDIR "data/imageSizes.md"))); + + QTextFrame::iterator secondFrame = ++(document->rootFrame()->begin()); + QVERIFY(secondFrame.currentBlock().text().startsWith(QStringLiteral("©"))); +} + +void MarkdownTest::testFancyPantsDisabled() +{ + Markdown::Converter converter; + converter.setFancyPantsEnabled(false); + std::unique_ptr document(converter.convert(QStringLiteral(KDESRCDIR "data/imageSizes.md"))); + + QTextFrame::iterator secondFrame = ++(document->rootFrame()->begin()); + QVERIFY(secondFrame.currentBlock().text().startsWith(QStringLiteral("(c)"))); +} + +void MarkdownTest::testImageSizes() +{ + Markdown::Converter converter; + std::unique_ptr document(converter.convert(QStringLiteral(KDESRCDIR "data/imageSizes.md"))); + + QTextFrame *parent = document->rootFrame(); + + QList images; + findImages(parent, images); + + QCOMPARE(images.size(), 17); + + qreal expectedSizes[][2] = {// width, height + // small image + {412, 349}, + {100, 84.70873786407767}, + {118.0515759312321, 100}, + {100, 100}, + {890, 753.9077669902913}, + {890, 890}, + // wide image + {890, 178}, + {100, 20}, + {500, 100}, + {100, 100}, + {890, 178}, + {890, 890}, + // tall image + {300, 1500}, + {100, 500}, + {20, 100}, + {100, 100}, + {890, 890}}; + + for (int i = 0; i < images.size(); i++) { + QCOMPARE(images[i].width(), expectedSizes[i][0]); + QCOMPARE(images[i].height(), expectedSizes[i][1]); + } +} + +void MarkdownTest::findImages(QTextFrame *parent, QList &images) +{ + for (QTextFrame::iterator it = parent->begin(); !it.atEnd(); ++it) { + QTextFrame *textFrame = it.currentFrame(); + const QTextBlock textBlock = it.currentBlock(); + + if (textFrame) { + findImages(textFrame, images); + } else if (textBlock.isValid()) { + findImages(textBlock, images); + } + } +} + +void MarkdownTest::findImages(const QTextBlock &parent, QList &images) +{ + for (QTextBlock::iterator it = parent.begin(); !it.atEnd(); ++it) { + const QTextFragment textFragment = it.fragment(); + if (textFragment.isValid()) { + const QTextCharFormat textCharFormat = textFragment.charFormat(); + if (textCharFormat.isImageFormat()) { + images.append(textCharFormat.toImageFormat()); + } + } + } +} + +void MarkdownTest::testSpecialCharsInImageFileName() +{ + Markdown::Converter converter; + std::unique_ptr document(converter.convert(QStringLiteral(KDESRCDIR "data/imageUrlsWithSpecialChars.md"))); + + QTextFrame *parent = document->rootFrame(); + + QList images; + findImages(parent, images); + + QCOMPARE(images.size(), 1); + QVERIFY(images[0].name().endsWith(QStringLiteral("kartöffelchen.jpg"))); + QVERIFY(!images[0].name().contains(QStringLiteral("kart%C3%B6ffelchen.jpg"))); +} + +void MarkdownTest::testStrikeThrough() +{ + Markdown::Converter converter; + converter.setFancyPantsEnabled(true); + std::unique_ptr document(converter.convert(QStringLiteral(KDESRCDIR "data/strikethrough.md"))); + + const QTextFrame *rootFrame = document->rootFrame(); + auto frameIter = rootFrame->begin(); + + // Header line. + QCOMPARE_NE(frameIter, rootFrame->end()); + QCOMPARE(frameIter.currentBlock().text(), QStringLiteral("Test for strikethrough tag workaround ")); + + // Ordinary line. + { + ++frameIter; + QCOMPARE_NE(frameIter, rootFrame->end()); + auto block = frameIter.currentBlock(); + QCOMPARE(block.text(), QStringLiteral("Line without strikethrough ")); + // Single format for the entire line. + auto formats = block.textFormats(); + QCOMPARE(formats.size(), 1); + QVERIFY(!formats[0].format.fontStrikeOut()); + } + + // Part of the line has a strikethrough. + { + ++frameIter; + QCOMPARE_NE(frameIter, rootFrame->end()); + auto block = frameIter.currentBlock(); + QCOMPARE(block.text(), QStringLiteral("Line with strikethrough ")); + // The "with" should be the only thing striked out. + auto formats = block.textFormats(); + QCOMPARE(formats.size(), 3); + QCOMPARE(block.text().sliced(formats[0].start, formats[0].length), QStringLiteral("Line ")); + QVERIFY(!formats[0].format.fontStrikeOut()); + QCOMPARE(block.text().sliced(formats[1].start, formats[1].length), QStringLiteral("with")); + QVERIFY(formats[1].format.fontStrikeOut()); + QCOMPARE(block.text().sliced(formats[2].start, formats[2].length), QStringLiteral(" strikethrough ")); + QVERIFY(!formats[2].format.fontStrikeOut()); + } + + // Code block shouldn't have leading spaces, or be modified by our fixup. + { + ++frameIter; + QCOMPARE_NE(frameIter, rootFrame->end()); + auto block = frameIter.currentBlock(); + QCOMPARE(block.text(), QStringLiteral("~~Strikethrough~~ should be ignored in a code block")); + } +} + +void MarkdownTest::testHtmlTagFixup() +{ + // These should passthrough unchanged. + const QString testCases[] = { + QStringLiteral("basic test"), + QStringLiteral("

test with tag

"), + QStringLiteral("line with combined tags"), + }; + for (const QString &inputHtml : testCases) { + const QString outputHtml = Markdown::detail::fixupHtmlTags(QString(inputHtml)); + QCOMPARE(outputHtml, inputHtml); + } + + // should become . + { + const QString outputHtml = Markdown::detail::fixupHtmlTags(QStringLiteral("test")); + QCOMPARE(outputHtml, QStringLiteral("test")); + } +} + +QTEST_MAIN(MarkdownTest) +#include "markdowntest.moc" diff --git a/autotests/modifyannotationpropertiestest.cpp b/autotests/modifyannotationpropertiestest.cpp new file mode 100644 index 0000000..dfd9487 --- /dev/null +++ b/autotests/modifyannotationpropertiestest.cpp @@ -0,0 +1,165 @@ +/* + SPDX-FileCopyrightText: 2013 Jon Mease + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include + +#include "../settings_core.h" +#include "core/document.h" +#include "testingutils.h" +#include +#include +#include +#include + +class ModifyAnnotationPropertiesTest : public QObject +{ + Q_OBJECT + +private Q_SLOTS: + void initTestCase(); + void cleanupTestCase(); + void init(); + void cleanup(); + void testModifyAnnotationProperties(); + void testModifyDefaultAnnotationProperties(); + void testModifyAnnotationPropertiesWithRotation_Bug318828(); + +private: + Okular::Document *m_document; + Okular::TextAnnotation *m_annot1; +}; + +void ModifyAnnotationPropertiesTest::initTestCase() +{ + Okular::SettingsCore::instance(QStringLiteral("editannotationcontentstest")); + m_document = new Okular::Document(nullptr); +} + +void ModifyAnnotationPropertiesTest::cleanupTestCase() +{ + delete m_document; +} + +void ModifyAnnotationPropertiesTest::init() +{ + const QString testFile = QStringLiteral(KDESRCDIR "data/file1.pdf"); + QMimeDatabase db; + const QMimeType mime = db.mimeTypeForFile(testFile); + QCOMPARE(m_document->openDocument(testFile, QUrl(), mime), Okular::Document::OpenSuccess); + + // Undo and Redo should be unavailable when docuemnt is first opened. + QVERIFY(!m_document->canUndo()); + QVERIFY(!m_document->canRedo()); + + // Create two distinct text annotations + m_annot1 = new Okular::TextAnnotation(); + m_annot1->setBoundingRectangle(Okular::NormalizedRect(0.1, 0.1, 0.15, 0.15)); + m_annot1->setContents(QStringLiteral("Hello, World")); + m_annot1->setAuthor(QStringLiteral("Jon Mease")); + m_annot1->style().setColor(Qt::red); + m_annot1->style().setWidth(4.0); + m_document->addPageAnnotation(0, m_annot1); +} + +void ModifyAnnotationPropertiesTest::cleanup() +{ + m_document->closeDocument(); + // m_annot1 and m_annot2 are deleted when document is closed +} + +void ModifyAnnotationPropertiesTest::testModifyAnnotationProperties() +{ + // Add m_annot1 to document and record its properties XML string + QString origLine1Xml = TestingUtils::getAnnotationXml(m_annot1); + + // Tell document we're going to modify m_annot1's properties + m_document->prepareToModifyAnnotationProperties(m_annot1); + + // Now modify m_annot1's properties and record properties XML string + m_annot1->style().setWidth(8.0); + m_annot1->style().setColor(Qt::green); + m_document->modifyPageAnnotationProperties(0, m_annot1); + QString m_annot1XmlA = TestingUtils::getAnnotationXml(m_annot1); + QCOMPARE(8.0, m_annot1->style().width()); + QCOMPARE(QColor(Qt::green), m_annot1->style().color()); + + // undo modification and check that original properties have been restored + m_document->undo(); + QCOMPARE(4.0, m_annot1->style().width()); + QCOMPARE(QColor(Qt::red), m_annot1->style().color()); + QCOMPARE(origLine1Xml, TestingUtils::getAnnotationXml(m_annot1)); + + // redo modification and verify that new properties have been restored + m_document->redo(); + QCOMPARE(8.0, m_annot1->style().width()); + QCOMPARE(QColor(Qt::green), m_annot1->style().color()); + QCOMPARE(m_annot1XmlA, TestingUtils::getAnnotationXml(m_annot1)); + + // Verify that default values are properly restored. (We haven't explicitly set opacity yet) + QCOMPARE(1.0, m_annot1->style().opacity()); + m_document->prepareToModifyAnnotationProperties(m_annot1); + m_annot1->style().setOpacity(0.5); + m_document->modifyPageAnnotationProperties(0, m_annot1); + QCOMPARE(0.5, m_annot1->style().opacity()); + + m_document->undo(); + QCOMPARE(1.0, m_annot1->style().opacity()); + QCOMPARE(m_annot1XmlA, TestingUtils::getAnnotationXml(m_annot1)); + + // And finally undo back to original properties + m_document->undo(); + QCOMPARE(4.0, m_annot1->style().width()); + QCOMPARE(QColor(Qt::red), m_annot1->style().color()); + QCOMPARE(origLine1Xml, TestingUtils::getAnnotationXml(m_annot1)); +} + +void ModifyAnnotationPropertiesTest::testModifyDefaultAnnotationProperties() +{ + QString origLine1Xml = TestingUtils::getAnnotationXml(m_annot1); + + // Verify that default values are properly restored. (We haven't explicitly set opacity yet) + QCOMPARE(1.0, m_annot1->style().opacity()); + m_document->prepareToModifyAnnotationProperties(m_annot1); + m_annot1->style().setOpacity(0.5); + m_document->modifyPageAnnotationProperties(0, m_annot1); + QCOMPARE(0.5, m_annot1->style().opacity()); + + m_document->undo(); + QCOMPARE(1.0, m_annot1->style().opacity()); + QCOMPARE(origLine1Xml, TestingUtils::getAnnotationXml(m_annot1)); +} + +void ModifyAnnotationPropertiesTest::testModifyAnnotationPropertiesWithRotation_Bug318828() +{ + Okular::NormalizedRect boundingRect = Okular::NormalizedRect(0.1, 0.1, 0.15, 0.15); + Okular::NormalizedRect transformedBoundingRect; + m_annot1->setBoundingRectangle(boundingRect); + m_document->addPageAnnotation(0, m_annot1); + + transformedBoundingRect = m_annot1->transformedBoundingRectangle(); + + // Before page rotation boundingRect and transformedBoundingRect should be equal + QCOMPARE(boundingRect, transformedBoundingRect); + m_document->setRotation(1); + + // After rotation boundingRect should remain unchanged but + // transformedBoundingRect should no longer equal boundingRect + QCOMPARE(boundingRect, m_annot1->boundingRectangle()); + transformedBoundingRect = m_annot1->transformedBoundingRectangle(); + QVERIFY(!(boundingRect == transformedBoundingRect)); + + // Modifying the properties of m_annot1 while page is rotated shouldn't + // alter either boundingRect or transformedBoundingRect + m_document->prepareToModifyAnnotationProperties(m_annot1); + m_annot1->style().setOpacity(0.5); + m_document->modifyPageAnnotationProperties(0, m_annot1); + + QCOMPARE(boundingRect, m_annot1->boundingRectangle()); + QCOMPARE(transformedBoundingRect, m_annot1->transformedBoundingRectangle()); +} + +QTEST_MAIN(ModifyAnnotationPropertiesTest) +#include "modifyannotationpropertiestest.moc" diff --git a/autotests/parttest.cpp b/autotests/parttest.cpp new file mode 100644 index 0000000..5095c36 --- /dev/null +++ b/autotests/parttest.cpp @@ -0,0 +1,2486 @@ +/* + SPDX-FileCopyrightText: 2013 Albert Astals Cid + + Work sponsored by the LiMux project of the city of Munich: + SPDX-FileCopyrightText: 2017 Klarälvdalens Datakonsult AB a KDAB Group company + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +// clazy:excludeall=qstring-allocations + +#include +#include + +#include "../core/annotations.h" +#include "../core/document_p.h" +#include "../core/form.h" +#include "../core/page.h" +#include "../part/pageview.h" +#include "../part/part.h" +#include "../part/presentationwidget.h" +#include "../part/sidebar.h" +#include "../part/toc.h" +#include "../settings.h" +#include "closedialoghelper.h" + +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Okular +{ +class PartTest : public QObject +{ + Q_OBJECT + + static bool openDocument(Okular::Part *part, const QString &filePath); + +Q_SIGNALS: + void urlHandler(const QUrl &url); // NOLINT(readability-inconsistent-declaration-parameter-name) + +private Q_SLOTS: + void init(); + + void testZoomWithCrop(); + void testReload(); + void testCanceledReload(); + void testTOCReload(); + void testForwardPDF(); + void testForwardPDF_data(); + void testGeneratorPreferences(); + void testSelectText(); + void testSelectTextMultiline(); + void testClickInternalLink(); + void testScrollBarAndMouseWheel(); + void testOpenUrlArguments(); + void test388288(); + void testSaveAs(); + void testSaveAs_data(); + void testSaveAsToNonExistingPath(); + void testSaveAsToSymlink(); + void testSaveIsSymlink(); + void testSidebarItemAfterSaving(); + void testViewModeSavingPerFile(); + void testSaveAsUndoStackAnnotations(); + void testSaveAsUndoStackAnnotations_data(); + void testSaveAsUndoStackForms(); + void testSaveAsUndoStackForms_data(); + void testMouseMoveOverLinkWhileInSelectionMode(); + void testClickUrlLinkWhileInSelectionMode(); + void testeTextSelectionOverAndAcrossLinks_data(); + void testeTextSelectionOverAndAcrossLinks(); + void testClickUrlLinkWhileLinkTextIsSelected(); + void testRClickWhileLinkTextIsSelected(); + void testRClickOverLinkWhileLinkTextIsSelected(); + void testRClickOnSelectionModeShoulShowFollowTheLinkMenu(); + void testClickAnywhereAfterSelectionShouldUnselect(); + void testeRectSelectionStartingOnLinks(); + void testCheckBoxReadOnly(); + void testCrashTextEditDestroy(); + void testAnnotWindow(); + void testAdditionalActionTriggers(); + void testTypewriterAnnotTool(); + void testJumpToPage(); + void testOpenAtPage(); + void testForwardBackwardNavigation(); + void testTabletProximityBehavior(); + void testOpenPrintPreview(); + void testMouseModeMenu(); + void testFullScreenRequest(); + void testZoomInFacingPages(); + void testLinkWithCrop(); + void testFieldFormatting(); + +private: + void simulateMouseSelection(double startX, double startY, double endX, double endY, QWidget *target); +}; + +class PartThatHijacksQueryClose : public Okular::Part +{ + Q_OBJECT +public: + PartThatHijacksQueryClose(QObject *parent, const QVariantList &args) + : Okular::Part(parent, args) + , behavior(PassThru) + { + } + + enum Behavior { PassThru, ReturnTrue, ReturnFalse }; + + void setQueryCloseBehavior(Behavior new_behavior) + { + behavior = new_behavior; + } + + bool queryClose() override + { + if (behavior == PassThru) { + return Okular::Part::queryClose(); + } else { // ReturnTrue or ReturnFalse + return (behavior == ReturnTrue); + } + } + +private: + Behavior behavior; +}; + +bool PartTest::openDocument(Okular::Part *part, const QString &filePath) +{ + part->openDocument(filePath); + return part->m_document->isOpened(); +} + +void PartTest::init() +{ + // Default settings for every test + Okular::Settings::self()->setDefaults(); + + // Clean docdatas + const QList urls = {QUrl::fromUserInput(QStringLiteral("file://" KDESRCDIR "data/file1.pdf")), + QUrl::fromUserInput(QStringLiteral("file://" KDESRCDIR "data/file2.pdf")), + QUrl::fromUserInput(QStringLiteral("file://" KDESRCDIR "data/simple-multipage.pdf")), + QUrl::fromUserInput(QStringLiteral("file://" KDESRCDIR "data/tocreload.pdf")), + QUrl::fromUserInput(QStringLiteral("file://" KDESRCDIR "data/pdf_with_links.pdf")), + QUrl::fromUserInput(QStringLiteral("file://" KDESRCDIR "data/RequestFullScreen.pdf"))}; + + for (const QUrl &url : urls) { + QFileInfo fileReadTest(url.toLocalFile()); + const QString docDataPath = Okular::DocumentPrivate::docDataFileName(url, fileReadTest.size()); + QFile::remove(docDataPath); + } +} + +// Test that Okular doesn't crash after a successful reload +void PartTest::testReload() +{ + QVariantList dummyArgs; + Okular::Part part(nullptr, dummyArgs); + QVERIFY(openDocument(&part, QStringLiteral(KDESRCDIR "data/file1.pdf"))); + part.reload(); + qApp->processEvents(); +} + +// Test that Okular doesn't crash after a canceled reload +void PartTest::testCanceledReload() +{ + QVariantList dummyArgs; + PartThatHijacksQueryClose part(nullptr, dummyArgs); + QVERIFY(openDocument(&part, QStringLiteral(KDESRCDIR "data/file1.pdf"))); + + // When queryClose() returns false, the reload operation is canceled (as if + // the user had chosen Cancel in the "Save changes?" message box) + part.setQueryCloseBehavior(PartThatHijacksQueryClose::ReturnFalse); + + part.reload(); + + qApp->processEvents(); +} + +void PartTest::testTOCReload() +{ + QVariantList dummyArgs; + Okular::Part part(nullptr, dummyArgs); + QVERIFY(openDocument(&part, QStringLiteral(KDESRCDIR "data/tocreload.pdf"))); + QCOMPARE(part.m_toc->expandedNodes().count(), 0); + part.m_toc->m_treeView->expandAll(); + QCOMPARE(part.m_toc->expandedNodes().count(), 3); + part.reload(); + qApp->processEvents(); + QCOMPARE(part.m_toc->expandedNodes().count(), 3); +} + +void PartTest::testForwardPDF() +{ + QFETCH(QString, dir); + + QVariantList dummyArgs; + Okular::Part part(nullptr, dummyArgs); + + // Create temp dir named like this: ${system temp dir}/${random string}/${dir} + const QTemporaryDir tempDir; + const QDir workDir(QDir(tempDir.path()).filePath(dir)); + workDir.mkpath(QStringLiteral(".")); + + const QString pdfResult = workDir.path() + QStringLiteral("/synctextest.pdf"); + QVERIFY(QFile::copy(QStringLiteral(KDESRCDIR "data/synctextest.pdf"), pdfResult)); + const QString gzDestination = workDir.path() + QStringLiteral("/synctextest.synctex.gz"); + QVERIFY(QFile::copy(QStringLiteral(KDESRCDIR "data/synctextest.synctex.gz"), gzDestination)); + + QVERIFY(openDocument(&part, pdfResult)); + part.m_document->setViewportPage(0); + QCOMPARE(part.m_document->currentPage(), 0u); + part.closeUrl(); + + QUrl u(QUrl::fromLocalFile(pdfResult)); + // Update this if you regenerate the synctextest.pdf somewhere else + u.setFragment(QStringLiteral("src:100/home/tsdgeos/devel/kde/okular/autotests/data/synctextest.tex")); + part.openUrl(u); + QCOMPARE(part.m_document->currentPage(), 1u); +} + +void PartTest::testForwardPDF_data() +{ + QTest::addColumn("dir"); + + QTest::newRow("non-utf8") << QStringLiteral("synctextest"); + // QStringliteral is broken on windows with non ascii chars so using QString::fromUtf8 + QTest::newRow("utf8") << QString::fromUtf8("ßðđđŋßðđŋ"); +} + +void PartTest::testGeneratorPreferences() +{ + KConfigDialog *dialog; + QVariantList dummyArgs; + Okular::Part part(nullptr, dummyArgs); + + // Test that we don't crash while opening the dialog + dialog = part.slotGeneratorPreferences(); + qApp->processEvents(); + delete dialog; // closes the dialog and recursively destroys all widgets + + // Test that we don't crash while opening a new instance of the dialog + // This catches attempts to reuse widgets that have been destroyed + dialog = part.slotGeneratorPreferences(); + qApp->processEvents(); + delete dialog; +} + +void PartTest::testSelectText() +{ + QVariantList dummyArgs; + Okular::Part part(nullptr, dummyArgs); + QVERIFY(openDocument(&part, QStringLiteral(KDESRCDIR "data/file2.pdf"))); + part.widget()->show(); + + if (qgetenv("KDECI_CANNOT_CREATE_WINDOWS") == "1") { + QSKIP("KDE CI can't create a window on this platform, skipping some gui tests"); + } + + QVERIFY(QTest::qWaitForWindowExposed(part.widget())); + + part.m_document->setViewportPage(0); + + // wait for pixmap + QTRY_VERIFY(part.m_document->page(0)->hasPixmap(part.m_pageView)); + + const int width = part.m_pageView->horizontalScrollBar()->maximum() + part.m_pageView->viewport()->width(); + const int height = part.m_pageView->verticalScrollBar()->maximum() + part.m_pageView->viewport()->height(); + + QVERIFY(QMetaObject::invokeMethod(part.m_pageView, "slotSetMouseTextSelect")); + + const int mouseY = height * 0.052; + const int mouseStartX = width * 0.12; + const int mouseEndX = width * 0.7; + + simulateMouseSelection(mouseStartX, mouseY, mouseEndX, mouseY, part.m_pageView->viewport()); + + QApplication::clipboard()->clear(); + QVERIFY(QMetaObject::invokeMethod(part.m_pageView, "copyTextSelection")); + + QCOMPARE(QApplication::clipboard()->text(), QStringLiteral("Hola que tal")); +} + +void PartTest::testSelectTextMultiline() +{ + // This test tests a specific variation of multiline selection + // Select from middle to end of line, then continue to select next line + // then move selection back on next line past the point of the first line + // https://bugs.kde.org/show_bug.cgi?id=482249 has a nice animation. + QVariantList dummyArgs; + Okular::Part part(nullptr, dummyArgs); + QVERIFY(openDocument(&part, QStringLiteral(KDESRCDIR "data/file2.pdf"))); + part.widget()->show(); + if (qgetenv("KDECI_CANNOT_CREATE_WINDOWS") == "1") { + QSKIP("KDE CI can't create a window on this platform, skipping some gui tests"); + } + + QVERIFY(QTest::qWaitForWindowExposed(part.widget())); + + part.m_document->setViewportPage(1); + + // wait for pixmap + QTRY_VERIFY(part.m_document->page(0)->hasPixmap(part.m_pageView)); + + const int width = part.m_pageView->horizontalScrollBar()->maximum() + part.m_pageView->viewport()->width(); + const int height = part.m_pageView->verticalScrollBar()->maximum() + part.m_pageView->viewport()->height(); + + QVERIFY(QMetaObject::invokeMethod(part.m_pageView, "slotSetMouseTextSelect")); + + const int startY = height * 0.052; + const int startX = width * 0.22; + const int endY = height * 0.072; + const int endX = width * 0.6; + + const int steps = 5; + const double diffX = endX - startX; + const double diffXStep = diffX / steps; + + QTestEventList events; + events.addMouseMove(QPoint(startX, startY)); + events.addMousePress(Qt::LeftButton, Qt::NoModifier, QPoint(startX, startY)); + for (int i = 0; i < steps - 1; ++i) { + events.addMouseMove(QPoint(startX + i * diffXStep, startY)); + events.addDelay(100); + } + events.addMouseMove(QPoint(endX, startY)); + events.addDelay(100); + events.addMouseMove(QPoint(endX, endY)); + events.addDelay(100); + for (int i = 0; i < (steps); i++) { + events.addMouseMove(QPoint(endX - (i * diffXStep), endY)); + events.addDelay(100); + } + events.addMouseMove(QPoint(endX - (diffXStep * (steps)), endY)); + events.addDelay(100); + events.addMouseMove(QPoint(endX - (diffXStep * (steps + 0.5)), endY)); + events.addDelay(100); + + events.addMouseRelease(Qt::LeftButton, Qt::NoModifier, QPoint(endX - (diffXStep * (steps + 0.5)), endY)); + + events.simulate(part.m_pageView->viewport()); + + QApplication::clipboard()->clear(); + QVERIFY(QMetaObject::invokeMethod(part.m_pageView, "copyTextSelection")); + + QCOMPARE(QApplication::clipboard()->text(), QStringLiteral("cks!\nOf c")); +} + +void PartTest::testClickInternalLink() +{ + QVariantList dummyArgs; + Okular::Part part(nullptr, dummyArgs); + QVERIFY(openDocument(&part, QStringLiteral(KDESRCDIR "data/file2.pdf"))); + part.widget()->show(); + if (qgetenv("KDECI_CANNOT_CREATE_WINDOWS") == "1") { + QSKIP("KDE CI can't create a window on this platform, skipping some gui tests"); + } + + QVERIFY(QTest::qWaitForWindowExposed(part.widget())); + + part.m_document->setViewportPage(0); + + // wait for pixmap + QTRY_VERIFY(part.m_document->page(0)->hasPixmap(part.m_pageView)); + + const int width = part.m_pageView->horizontalScrollBar()->maximum() + part.m_pageView->viewport()->width(); + const int height = part.m_pageView->verticalScrollBar()->maximum() + part.m_pageView->viewport()->height(); + + QVERIFY(QMetaObject::invokeMethod(part.m_pageView, "slotSetMouseNormal")); + + QCOMPARE(part.m_document->currentPage(), 0u); + QTest::mouseMove(part.m_pageView->viewport(), QPoint(width * 0.17, height * 0.05)); + QTest::mouseClick(part.m_pageView->viewport(), Qt::LeftButton, Qt::NoModifier, QPoint(width * 0.17, height * 0.05)); + QTRY_COMPARE(part.m_document->currentPage(), 1u); + + // make sure cursor goes back to being an open hand again. Bug 421437 + QTRY_COMPARE_WITH_TIMEOUT(part.m_pageView->cursor().shape(), Qt::OpenHandCursor, 1000); +} + +// Test for bug 421159, which is: When scrolling down with the scroll bar +// followed by scrolling down with the mouse wheel, the mouse wheel scrolling +// will make the viewport jump back to the first page. +void PartTest::testScrollBarAndMouseWheel() +{ + QVariantList dummyArgs; + Okular::Part part(nullptr, dummyArgs); + QVERIFY(openDocument(&part, QStringLiteral(KDESRCDIR "data/simple-multipage.pdf"))); + part.widget()->show(); + if (qgetenv("KDECI_CANNOT_CREATE_WINDOWS") == "1") { + QSKIP("KDE CI can't create a window on this platform, skipping some gui tests"); + } + + QVERIFY(QTest::qWaitForWindowExposed(part.widget())); + + part.m_document->setViewportPage(0); + + // wait for pixmap + QTRY_VERIFY(part.m_document->page(0)->hasPixmap(part.m_pageView)); + + // Make sure we are on the first page + QCOMPARE(part.m_document->currentPage(), 0u); + + // Two clicks on the vertical scrollbar + auto scrollBar = part.m_pageView->verticalScrollBar(); + + QTest::mouseClick(scrollBar, Qt::LeftButton); + QTest::qWait(QApplication::doubleClickInterval() * 2); // Wait a tiny bit + QTest::mouseClick(scrollBar, Qt::LeftButton); + + // We have scrolled enough to be on the second page now + QCOMPARE(part.m_document->currentPage(), 1u); + + // Scroll further down using the mouse wheel + auto wheelDown = new QWheelEvent({}, {}, {}, {0, -150}, Qt::NoButton, Qt::NoModifier, Qt::NoScrollPhase, false); + QCoreApplication::postEvent(part.m_pageView->viewport(), wheelDown); + + // Wait a little for the scrolling to actually happen. + // We should still be on the second page after that. + QTest::qWait(1000); + + QCOMPARE(part.m_document->currentPage(), 1u); +} + +// cursor switches to Hand when hovering over link in TextSelect mode. +void PartTest::testMouseMoveOverLinkWhileInSelectionMode() +{ + QVariantList dummyArgs; + Okular::Part part(nullptr, dummyArgs); + QVERIFY(openDocument(&part, QStringLiteral(KDESRCDIR "data/pdf_with_links.pdf"))); + // resize window to avoid problem with selection areas + part.widget()->resize(800, 600); + part.widget()->show(); + if (qgetenv("KDECI_CANNOT_CREATE_WINDOWS") == "1") { + QSKIP("KDE CI can't create a window on this platform, skipping some gui tests"); + } + + QVERIFY(QTest::qWaitForWindowExposed(part.widget())); + + part.m_document->setViewportPage(0); + + // wait for pixmap + QTRY_VERIFY(part.m_document->page(0)->hasPixmap(part.m_pageView)); + + const int width = part.m_pageView->horizontalScrollBar()->maximum() + part.m_pageView->viewport()->width(); + const int height = part.m_pageView->verticalScrollBar()->maximum() + part.m_pageView->viewport()->height(); + + // enter text-selection mode + QVERIFY(QMetaObject::invokeMethod(part.m_pageView, "slotSetMouseTextSelect")); + + // move mouse over link + QTest::mouseMove(part.m_pageView->viewport(), QPoint(width * 0.250, height * 0.127)); + + // check if mouse icon changed to proper icon + QTRY_COMPARE(part.m_pageView->cursor().shape(), Qt::PointingHandCursor); +} + +// clicking on hyperlink jumps to destination in TextSelect mode. +void PartTest::testClickUrlLinkWhileInSelectionMode() +{ + QVariantList dummyArgs; + Okular::Part part(nullptr, dummyArgs); + QVERIFY(openDocument(&part, QStringLiteral(KDESRCDIR "data/pdf_with_links.pdf"))); + // resize window to avoid problem with selection areas + part.widget()->resize(800, 600); + part.widget()->show(); + if (qgetenv("KDECI_CANNOT_CREATE_WINDOWS") == "1") { + QSKIP("KDE CI can't create a window on this platform, skipping some gui tests"); + } + + QVERIFY(QTest::qWaitForWindowExposed(part.widget())); + + part.m_document->setViewportPage(0); + + // wait for pixmap + QTRY_VERIFY(part.m_document->page(0)->hasPixmap(part.m_pageView)); + + const int width = part.m_pageView->horizontalScrollBar()->maximum() + part.m_pageView->viewport()->width(); + const int height = part.m_pageView->verticalScrollBar()->maximum() + part.m_pageView->viewport()->height(); + + // enter text-selection mode + QVERIFY(QMetaObject::invokeMethod(part.m_pageView, "slotSetMouseTextSelect")); + + // overwrite urlHandler for 'mailto' urls + QDesktopServices::setUrlHandler(QStringLiteral("mailto"), this, "urlHandler"); + QSignalSpy openUrlSignalSpy(this, &PartTest::urlHandler); + + // click on url + QTest::mouseMove(part.m_pageView->viewport(), QPoint(width * 0.250, height * 0.127)); + QTest::mouseClick(part.m_pageView->viewport(), Qt::LeftButton, Qt::NoModifier, QPoint(width * 0.250, height * 0.127)); + + // expect that the urlHandler signal was called + QTRY_COMPARE(openUrlSignalSpy.count(), 1); + QList arguments = openUrlSignalSpy.takeFirst(); + QCOMPARE(arguments.at(0).value(), QUrl(QStringLiteral("mailto:foo@foo.bar"))); +} + +void PartTest::testeTextSelectionOverAndAcrossLinks_data() +{ + QTest::addColumn("mouseStartX"); + QTest::addColumn("mouseEndX"); + QTest::addColumn("expectedResult"); + + // can text-select "over and across" hyperlink. + QTest::newRow("start selection before link") << 0.1564 << 0.2943 << QStringLiteral(" a link: foo@foo.b"); + // can text-select starting at text and ending selection in middle of hyperlink. + QTest::newRow("start selection in the middle of the link") << 0.28 << 0.382 << QStringLiteral("o.bar"); + // text selection works when selecting left to right or right to left + QTest::newRow("start selection after link") << 0.40 << 0.05 << QStringLiteral("This is a link: foo@foo.bar"); +} + +// can text-select "over and across" hyperlink. +void PartTest::testeTextSelectionOverAndAcrossLinks() +{ + QVariantList dummyArgs; + Okular::Part part(nullptr, dummyArgs); + QVERIFY(openDocument(&part, QStringLiteral(KDESRCDIR "data/pdf_with_links.pdf"))); + // resize window to avoid problem with selection areas + part.widget()->resize(800, 600); + part.widget()->show(); + if (qgetenv("KDECI_CANNOT_CREATE_WINDOWS") == "1") { + QSKIP("KDE CI can't create a window on this platform, skipping some gui tests"); + } + + QVERIFY(QTest::qWaitForWindowExposed(part.widget())); + + part.m_document->setViewportPage(0); + + // wait for pixmap + QTRY_VERIFY(part.m_document->page(0)->hasPixmap(part.m_pageView)); + + const int width = part.m_pageView->horizontalScrollBar()->maximum() + part.m_pageView->viewport()->width(); + const int height = part.m_pageView->verticalScrollBar()->maximum() + part.m_pageView->viewport()->height(); + + // enter text-selection mode + QVERIFY(QMetaObject::invokeMethod(part.m_pageView, "slotSetMouseTextSelect")); + + const double mouseY = height * 0.127; + QFETCH(double, mouseStartX); + QFETCH(double, mouseEndX); + + mouseStartX = width * mouseStartX; + mouseEndX = width * mouseEndX; + + simulateMouseSelection(mouseStartX, mouseY, mouseEndX, mouseY, part.m_pageView->viewport()); + + QApplication::clipboard()->clear(); + QVERIFY(QMetaObject::invokeMethod(part.m_pageView, "copyTextSelection")); + + QFETCH(QString, expectedResult); + QCOMPARE(QApplication::clipboard()->text(), expectedResult); +} + +// can jump to link while there's an active selection of text. +void PartTest::testClickUrlLinkWhileLinkTextIsSelected() +{ + QVariantList dummyArgs; + Okular::Part part(nullptr, dummyArgs); + QVERIFY(openDocument(&part, QStringLiteral(KDESRCDIR "data/pdf_with_links.pdf"))); + // resize window to avoid problem with selection areas + part.widget()->resize(800, 600); + part.widget()->show(); + if (qgetenv("KDECI_CANNOT_CREATE_WINDOWS") == "1") { + QSKIP("KDE CI can't create a window on this platform, skipping some gui tests"); + } + + QVERIFY(QTest::qWaitForWindowExposed(part.widget())); + + part.m_document->setViewportPage(0); + + // wait for pixmap + QTRY_VERIFY(part.m_document->page(0)->hasPixmap(part.m_pageView)); + + const int width = part.m_pageView->horizontalScrollBar()->maximum() + part.m_pageView->viewport()->width(); + const int height = part.m_pageView->verticalScrollBar()->maximum() + part.m_pageView->viewport()->height(); + + // enter text-selection mode + QVERIFY(QMetaObject::invokeMethod(part.m_pageView, "slotSetMouseTextSelect")); + + const double mouseY = height * 0.127; + const double mouseStartX = width * 0.13; + const double mouseEndX = width * 0.40; + + simulateMouseSelection(mouseStartX, mouseY, mouseEndX, mouseY, part.m_pageView->viewport()); + + // overwrite urlHandler for 'mailto' urls + QDesktopServices::setUrlHandler(QStringLiteral("mailto"), this, "urlHandler"); + QSignalSpy openUrlSignalSpy(this, &PartTest::urlHandler); + + // click on url + const double mouseClickX = width * 0.2997; + const double mouseClickY = height * 0.1293; + + QTest::mouseMove(part.m_pageView->viewport(), QPoint(mouseClickX, mouseClickY)); + QTest::mouseClick(part.m_pageView->viewport(), Qt::LeftButton, Qt::NoModifier, QPoint(mouseClickX, mouseClickY), 1000); + + // expect that the urlHandler signal was called + QTRY_COMPARE(openUrlSignalSpy.count(), 1); + QList arguments = openUrlSignalSpy.takeFirst(); + QCOMPARE(arguments.at(0).value(), QUrl(QStringLiteral("mailto:foo@foo.bar"))); +} + +// r-click on the selected text gives the "Go To:" content menu option +void PartTest::testRClickWhileLinkTextIsSelected() +{ + QVariantList dummyArgs; + Okular::Part part(nullptr, dummyArgs); + QVERIFY(openDocument(&part, QStringLiteral(KDESRCDIR "data/pdf_with_links.pdf"))); + // resize window to avoid problem with selection areas + part.widget()->resize(800, 600); + part.widget()->show(); + if (qgetenv("KDECI_CANNOT_CREATE_WINDOWS") == "1") { + QSKIP("KDE CI can't create a window on this platform, skipping some gui tests"); + } + + QVERIFY(QTest::qWaitForWindowExposed(part.widget())); + + part.m_document->setViewportPage(0); + + // wait for pixmap + QTRY_VERIFY(part.m_document->page(0)->hasPixmap(part.m_pageView)); + + const int width = part.m_pageView->horizontalScrollBar()->maximum() + part.m_pageView->viewport()->width(); + const int height = part.m_pageView->verticalScrollBar()->maximum() + part.m_pageView->viewport()->height(); + + // enter text-selection mode + QVERIFY(QMetaObject::invokeMethod(part.m_pageView, "slotSetMouseTextSelect")); + + const double mouseY = height * 0.162; + const double mouseStartX = width * 0.42; + const double mouseEndX = width * 0.60; + + simulateMouseSelection(mouseStartX, mouseY, mouseEndX, mouseY, part.m_pageView->viewport()); + + // Need to do this because the pop-menu will have his own mainloop and will block tests until + // the menu disappear + PageView *view = part.m_pageView; + bool menuClosed = false; + QTimer::singleShot(2000, view, [view, &menuClosed]() { + // check if popup menu is active and visible + QMenu *menu = qobject_cast(view->findChild(QStringLiteral("PopupMenu"))); + QVERIFY(menu); + QVERIFY(menu->isVisible()); + + // check if the menu contains go-to link action + QAction *goToAction = qobject_cast(menu->findChild(QStringLiteral("GoToAction"))); + QVERIFY(goToAction); + + // check if the "follow this link" action is not visible + QAction *processLinkAction = qobject_cast(menu->findChild(QStringLiteral("ProcessLinkAction"))); + QVERIFY(!processLinkAction); + + // check if the "copy link address" action is not visible + QAction *copyLinkLocation = qobject_cast(menu->findChild(QStringLiteral("CopyLinkLocationAction"))); + QVERIFY(!copyLinkLocation); + + // close menu to continue test + menu->close(); + menuClosed = true; + }); + + // click on url + const double mouseClickX = width * 0.425; + const double mouseClickY = height * 0.162; + + QTest::mouseMove(part.m_pageView->viewport(), QPoint(mouseClickX, mouseClickY)); + QTest::mouseClick(part.m_pageView->viewport(), Qt::RightButton, Qt::NoModifier, QPoint(mouseClickX, mouseClickY), 1000); + + // will continue after pop-menu get closed + QTRY_VERIFY(menuClosed); +} + +// r-click on the link gives the "follow this link" content menu option +void PartTest::testRClickOverLinkWhileLinkTextIsSelected() +{ + QVariantList dummyArgs; + Okular::Part part(nullptr, dummyArgs); + QVERIFY(openDocument(&part, QStringLiteral(KDESRCDIR "data/pdf_with_links.pdf"))); + // resize window to avoid problem with selection areas + part.widget()->resize(800, 600); + part.widget()->show(); + if (qgetenv("KDECI_CANNOT_CREATE_WINDOWS") == "1") { + QSKIP("KDE CI can't create a window on this platform, skipping some gui tests"); + } + + QVERIFY(QTest::qWaitForWindowExposed(part.widget())); + + part.m_document->setViewportPage(0); + + // wait for pixmap + QTRY_VERIFY(part.m_document->page(0)->hasPixmap(part.m_pageView)); + + const int width = part.m_pageView->horizontalScrollBar()->maximum() + part.m_pageView->viewport()->width(); + const int height = part.m_pageView->verticalScrollBar()->maximum() + part.m_pageView->viewport()->height(); + + // enter text-selection mode + QVERIFY(QMetaObject::invokeMethod(part.m_pageView, "slotSetMouseTextSelect")); + + const double mouseY = height * 0.162; + const double mouseStartX = width * 0.42; + const double mouseEndX = width * 0.60; + + simulateMouseSelection(mouseStartX, mouseY, mouseEndX, mouseY, part.m_pageView->viewport()); + + // Need to do this because the pop-menu will have his own mainloop and will block tests until + // the menu disappear + PageView *view = part.m_pageView; + bool menuClosed = false; + QTimer::singleShot(2000, view, [view, &menuClosed]() { + // check if popup menu is active and visible + QMenu *menu = qobject_cast(view->findChild(QStringLiteral("PopupMenu"))); + QVERIFY(menu); + QVERIFY(menu->isVisible()); + + // check if the menu contains "follow this link" action + QAction *processLinkAction = qobject_cast(menu->findChild(QStringLiteral("ProcessLinkAction"))); + QVERIFY(processLinkAction); + + // check if the menu contains "copy link address" action + QAction *copyLinkLocation = qobject_cast(menu->findChild(QStringLiteral("CopyLinkLocationAction"))); + QVERIFY(copyLinkLocation); + + // close menu to continue test + menu->close(); + menuClosed = true; + }); + + // click on url + const double mouseClickX = width * 0.593; + const double mouseClickY = height * 0.162; + + QTest::mouseMove(part.m_pageView->viewport(), QPoint(mouseClickX, mouseClickY)); + QTest::mouseClick(part.m_pageView->viewport(), Qt::RightButton, Qt::NoModifier, QPoint(mouseClickX, mouseClickY), 1000); + + // will continue after pop-menu get closed + QTRY_VERIFY(menuClosed); +} + +void PartTest::testRClickOnSelectionModeShoulShowFollowTheLinkMenu() +{ + QVariantList dummyArgs; + Okular::Part part(nullptr, dummyArgs); + QVERIFY(openDocument(&part, QStringLiteral(KDESRCDIR "data/pdf_with_links.pdf"))); + // resize window to avoid problem with selection areas + part.widget()->resize(800, 600); + part.widget()->show(); + if (qgetenv("KDECI_CANNOT_CREATE_WINDOWS") == "1") { + QSKIP("KDE CI can't create a window on this platform, skipping some gui tests"); + } + + QVERIFY(QTest::qWaitForWindowExposed(part.widget())); + + part.m_document->setViewportPage(0); + + // wait for pixmap + QTRY_VERIFY(part.m_document->page(0)->hasPixmap(part.m_pageView)); + + const int width = part.m_pageView->horizontalScrollBar()->maximum() + part.m_pageView->viewport()->width(); + const int height = part.m_pageView->verticalScrollBar()->maximum() + part.m_pageView->viewport()->height(); + + // enter text-selection mode + QVERIFY(QMetaObject::invokeMethod(part.m_pageView, "slotSetMouseTextSelect")); + + // Need to do this because the pop-menu will have his own mainloop and will block tests until + // the menu disappear + PageView *view = part.m_pageView; + bool menuClosed = false; + QTimer::singleShot(2000, view, [view, &menuClosed]() { + // check if popup menu is active and visible + QMenu *menu = qobject_cast(view->findChild(QStringLiteral("PopupMenu"))); + QVERIFY(menu); + QVERIFY(menu->isVisible()); + + // check if the menu contains "Follow this link" action + QAction *processLink = qobject_cast(menu->findChild(QStringLiteral("ProcessLinkAction"))); + QVERIFY(processLink); + + // chek if the menu contains "Copy Link Address" action + QAction *actCopyLinkLocation = qobject_cast(menu->findChild(QStringLiteral("CopyLinkLocationAction"))); + QVERIFY(actCopyLinkLocation); + + // close menu to continue test + menu->close(); + menuClosed = true; + }); + + // r-click on url + const double mouseClickX = width * 0.604; + const double mouseClickY = height * 0.162; + + QTest::mouseMove(part.m_pageView->viewport(), QPoint(mouseClickX, mouseClickY)); + QTest::mouseClick(part.m_pageView->viewport(), Qt::RightButton, Qt::NoModifier, QPoint(mouseClickX, mouseClickY), 1000); + + // will continue after pop-menu get closed + QTRY_VERIFY(menuClosed); +} + +void PartTest::testClickAnywhereAfterSelectionShouldUnselect() +{ + QVariantList dummyArgs; + Okular::Part part(nullptr, dummyArgs); + QVERIFY(openDocument(&part, QStringLiteral(KDESRCDIR "data/pdf_with_links.pdf"))); + // resize window to avoid problem with selection areas + part.widget()->resize(800, 600); + part.widget()->show(); + if (qgetenv("KDECI_CANNOT_CREATE_WINDOWS") == "1") { + QSKIP("KDE CI can't create a window on this platform, skipping some gui tests"); + } + + QVERIFY(QTest::qWaitForWindowExposed(part.widget())); + + part.m_document->setViewportPage(0); + + // wait for pixmap + QTRY_VERIFY(part.m_document->page(0)->hasPixmap(part.m_pageView)); + + const int width = part.m_pageView->horizontalScrollBar()->maximum() + part.m_pageView->viewport()->width(); + const int height = part.m_pageView->verticalScrollBar()->maximum() + part.m_pageView->viewport()->height(); + + // enter text-selection mode + QVERIFY(QMetaObject::invokeMethod(part.m_pageView, "slotSetMouseTextSelect")); + + const double mouseY = height * 0.162; + const double mouseStartX = width * 0.42; + const double mouseEndX = width * 0.60; + + simulateMouseSelection(mouseStartX, mouseY, mouseEndX, mouseY, part.m_pageView->viewport()); + + // click on url + const double mouseClickX = width * 0.10; + + QTest::mouseMove(part.m_pageView->viewport(), QPoint(mouseClickX, mouseY)); + QTest::mouseClick(part.m_pageView->viewport(), Qt::LeftButton, Qt::NoModifier, QPoint(mouseClickX, mouseY), 1000); + + QApplication::clipboard()->clear(); + QVERIFY(QMetaObject::invokeMethod(part.m_pageView, "copyTextSelection")); + + // check if copied text is empty what means no text selected + QVERIFY(QApplication::clipboard()->text().isEmpty()); +} + +void PartTest::testeRectSelectionStartingOnLinks() +{ + QVariantList dummyArgs; + Okular::Part part(nullptr, dummyArgs); + QVERIFY(openDocument(&part, QStringLiteral(KDESRCDIR "data/pdf_with_links.pdf"))); + // hide info messages as they interfere with selection area + Okular::Settings::self()->setShowEmbeddedContentMessages(false); + Okular::Settings::self()->setShowOSD(false); + + part.widget()->show(); + if (qgetenv("KDECI_CANNOT_CREATE_WINDOWS") == "1") { + QSKIP("KDE CI can't create a window on this platform, skipping some gui tests"); + } + + QVERIFY(QTest::qWaitForWindowExposed(part.widget())); + + part.m_document->setViewportPage(0); + + // wait for pixmap + QTRY_VERIFY(part.m_document->page(0)->hasPixmap(part.m_pageView)); + + const int width = part.m_pageView->horizontalScrollBar()->maximum() + part.m_pageView->viewport()->width(); + const int height = part.m_pageView->verticalScrollBar()->maximum() + part.m_pageView->viewport()->height(); + + // enter text-selection mode + QVERIFY(QMetaObject::invokeMethod(part.m_pageView, "slotSetMouseSelect")); + + const double mouseStartY = height * 0.127; + const double mouseEndY = height * 0.127; + const double mouseStartX = width * 0.28; + const double mouseEndX = width * 0.382; + + // Need to do this because the pop-menu will have his own mainloop and will block tests until + // the menu disappear + PageView *view = part.m_pageView; + bool menuClosed = false; + QTimer::singleShot(2000, view, [view, &menuClosed]() { + QApplication::clipboard()->clear(); + + // check if popup menu is active and visible + QMenu *menu = qobject_cast(view->findChild(QStringLiteral("PopupMenu"))); + QVERIFY(menu); + QVERIFY(menu->isVisible()); + + // check if the copy selected text to clipboard is present + QAction *copyAct = qobject_cast(menu->findChild(QStringLiteral("CopyTextToClipboard"))); + QVERIFY(copyAct); + + menu->close(); + menuClosed = true; + }); + + simulateMouseSelection(mouseStartX, mouseStartY, mouseEndX, mouseEndY, part.m_pageView->viewport()); + + // wait menu get closed + QTRY_VERIFY(menuClosed); +} + +void PartTest::simulateMouseSelection(double startX, double startY, double endX, double endY, QWidget *target) +{ + const int steps = 5; + const double diffX = endX - startX; + const double diffY = endY - startY; + const double diffXStep = diffX / steps; + const double diffYStep = diffY / steps; + + QTestEventList events; + events.addMouseMove(QPoint(startX, startY)); + events.addMousePress(Qt::LeftButton, Qt::NoModifier, QPoint(startX, startY)); + for (int i = 0; i < steps - 1; ++i) { + events.addMouseMove(QPoint(startX + i * diffXStep, startY + i * diffYStep)); + events.addDelay(100); + } + events.addMouseMove(QPoint(endX, endY)); + events.addDelay(100); + events.addMouseRelease(Qt::LeftButton, Qt::NoModifier, QPoint(endX, endY)); + + events.simulate(target); +} + +void PartTest::testSaveAsToNonExistingPath() +{ + Okular::Part part(nullptr, {}); + part.openDocument(QStringLiteral(KDESRCDIR "data/file1.pdf")); + + QString saveFilePath; + { + QTemporaryFile saveFile(QStringLiteral("%1/okrXXXXXX.pdf").arg(QDir::tempPath())); + bool success = saveFile.open(); + QVERIFY(success); + saveFilePath = saveFile.fileName(); + // QTemporaryFile is destroyed and the file it created is gone, this is a TOCTOU but who cares + } + + QVERIFY(!QFileInfo::exists(saveFilePath)); + + QVERIFY(part.saveAs(QUrl::fromLocalFile(saveFilePath), Part::NoSaveAsFlags)); + + QFile::remove(saveFilePath); +} + +void PartTest::testSaveAsToSymlink() +{ +#ifdef Q_OS_UNIX + Okular::Part part(nullptr, {}); + part.openDocument(QStringLiteral(KDESRCDIR "data/file1.pdf")); + + QTemporaryFile newFile(QStringLiteral("%1/okrXXXXXX.pdf").arg(QDir::tempPath())); + bool success = newFile.open(); + QVERIFY(success); + + QString linkFilePath; + { + QTemporaryFile linkFile(QStringLiteral("%1/okrXXXXXX.pdf").arg(QDir::tempPath())); + success = linkFile.open(); + QVERIFY(success); + linkFilePath = linkFile.fileName(); + // QTemporaryFile is destroyed and the file it created is gone, this is a TOCTOU but who cares + } + + QFile::link(newFile.fileName(), linkFilePath); + + QVERIFY(QFileInfo(linkFilePath).isSymLink()); + + QVERIFY(part.saveAs(QUrl::fromLocalFile(linkFilePath), Part::NoSaveAsFlags)); + + QVERIFY(QFileInfo(linkFilePath).isSymLink()); + + QFile::remove(linkFilePath); +#endif +} + +void PartTest::testSaveIsSymlink() +{ +#ifdef Q_OS_UNIX + Okular::Part part(nullptr, {}); + + QString newFilePath; + { + QTemporaryFile newFile(QStringLiteral("%1/okrXXXXXX.pdf").arg(QDir::tempPath())); + bool success = newFile.open(); + QVERIFY(success); + newFilePath = newFile.fileName(); + // QTemporaryFile is destroyed and the file it created is gone, this is a TOCTOU but who cares + } + + QFile::copy(QStringLiteral(KDESRCDIR "data/file1.pdf"), newFilePath); + + QString linkFilePath; + { + QTemporaryFile linkFile(QStringLiteral("%1/okrXXXXXX.pdf").arg(QDir::tempPath())); + bool success = linkFile.open(); + QVERIFY(success); + linkFilePath = linkFile.fileName(); + // QTemporaryFile is destroyed and the file it created is gone, this is a TOCTOU but who cares + } + + QFile::link(newFilePath, linkFilePath); + + QVERIFY(QFileInfo(linkFilePath).isSymLink()); + + part.openDocument(linkFilePath); + QVERIFY(part.saveAs(QUrl::fromLocalFile(linkFilePath), Part::NoSaveAsFlags)); + + QVERIFY(QFileInfo(linkFilePath).isSymLink()); + + QFile::remove(newFilePath); + QFile::remove(linkFilePath); +#endif +} + +void PartTest::testSaveAs() +{ + QFETCH(QString, file); + QFETCH(QString, extension); + QFETCH(bool, nativelySupportsAnnotations); + QFETCH(bool, canSwapBackingFile); + + QScopedPointer closeDialogHelper; + + QString annotName; + QTemporaryFile archiveSave(QStringLiteral("%1/okrXXXXXX.okular").arg(QDir::tempPath())); + QTemporaryFile nativeDirectSave(QStringLiteral("%1/okrXXXXXX.%2").arg(QDir::tempPath(), extension)); + QTemporaryFile nativeFromArchiveFile(QStringLiteral("%1/okrXXXXXX.%2").arg(QDir::tempPath(), extension)); + QVERIFY(archiveSave.open()); + archiveSave.close(); + QVERIFY(nativeDirectSave.open()); + nativeDirectSave.close(); + QVERIFY(nativeFromArchiveFile.open()); + nativeFromArchiveFile.close(); + + qDebug() << "Open file, add annotation and save both natively and to .okular"; + { + Okular::Part part(nullptr, {}); + new QAbstractItemModelTester(part.annotationsModel(), &part); + part.openDocument(file); + part.m_document->documentInfo(); + + QCOMPARE(part.m_document->canSwapBackingFile(), canSwapBackingFile); + + Okular::Annotation *annot = new Okular::TextAnnotation(); + annot->setBoundingRectangle(Okular::NormalizedRect(0.1, 0.1, 0.15, 0.15)); + annot->setContents(QStringLiteral("annot contents")); + part.m_document->addPageAnnotation(0, annot); + annotName = annot->uniqueName(); + + if (canSwapBackingFile) { + if (!nativelySupportsAnnotations) { + closeDialogHelper.reset(new TestingUtils::CloseDialogHelper(&part, QDialogButtonBox::No)); // this is the "you're going to lose the annotations" dialog + } + QVERIFY(part.saveAs(QUrl::fromLocalFile(nativeDirectSave.fileName()), Part::NoSaveAsFlags)); + // For backends that don't support annotations natively we mark the part as still modified + // after a save because we keep the annotation around but it will get lost if the user closes the app + // so we want to give her a last chance to save on close with the "you have changes dialog" + QCOMPARE(part.isModified(), !nativelySupportsAnnotations); + QVERIFY(part.saveAs(QUrl::fromLocalFile(archiveSave.fileName()), Part::SaveAsOkularArchive)); + } else { + // We need to save to archive first otherwise we lose the annotation + + closeDialogHelper.reset(new TestingUtils::CloseDialogHelper(&part, QDialogButtonBox::Yes)); // this is the "you're going to lose the undo/redo stack" dialog + QVERIFY(part.saveAs(QUrl::fromLocalFile(archiveSave.fileName()), Part::SaveAsOkularArchive)); + + if (!nativelySupportsAnnotations) { + closeDialogHelper.reset(new TestingUtils::CloseDialogHelper(&part, QDialogButtonBox::No)); // this is the "you're going to lose the annotations" dialog + } + QVERIFY(part.saveAs(QUrl::fromLocalFile(nativeDirectSave.fileName()), Part::NoSaveAsFlags)); + } + + QCOMPARE(part.m_document->documentInfo().get(Okular::DocumentInfo::FilePath), part.m_document->currentDocument().toDisplayString()); + part.closeUrl(); + } + + qDebug() << "Open the .okular, check that the annotation is present and save to native"; + { + Okular::Part part(nullptr, {}); + new QAbstractItemModelTester(part.annotationsModel(), &part); + part.openDocument(archiveSave.fileName()); + part.m_document->documentInfo(); + + QCOMPARE(part.m_document->page(0)->annotations().size(), 1); + QCOMPARE(part.m_document->page(0)->annotations().first()->uniqueName(), annotName); + + if (!nativelySupportsAnnotations) { + closeDialogHelper.reset(new TestingUtils::CloseDialogHelper(&part, QDialogButtonBox::No)); // this is the "you're going to lose the annotations" dialog + } + QVERIFY(part.saveAs(QUrl::fromLocalFile(nativeFromArchiveFile.fileName()), Part::NoSaveAsFlags)); + + if (canSwapBackingFile && !nativelySupportsAnnotations) { + // For backends that don't support annotations natively we mark the part as still modified + // after a save because we keep the annotation around but it will get lost if the user closes the app + // so we want to give her a last chance to save on close with the "you have changes dialog" + closeDialogHelper.reset(new TestingUtils::CloseDialogHelper(&part, QDialogButtonBox::No)); // this is the "do you want to save or discard" dialog + } + + QCOMPARE(part.m_document->documentInfo().get(Okular::DocumentInfo::FilePath), part.m_document->currentDocument().toDisplayString()); + part.closeUrl(); + } + + qDebug() << "Open the native file saved directly, and check that the annot" + << "is there iff we expect it"; + { + Okular::Part part(nullptr, {}); + new QAbstractItemModelTester(part.annotationsModel(), &part); + part.openDocument(nativeDirectSave.fileName()); + + QCOMPARE(part.m_document->page(0)->annotations().size(), nativelySupportsAnnotations ? 1 : 0); + if (nativelySupportsAnnotations) { + QCOMPARE(part.m_document->page(0)->annotations().first()->uniqueName(), annotName); + } + + part.closeUrl(); + } + + qDebug() << "Open the native file saved from the .okular, and check that the annot" + << "is there iff we expect it"; + { + Okular::Part part(nullptr, {}); + part.openDocument(nativeFromArchiveFile.fileName()); + + QCOMPARE(part.m_document->page(0)->annotations().size(), nativelySupportsAnnotations ? 1 : 0); + if (nativelySupportsAnnotations) { + QCOMPARE(part.m_document->page(0)->annotations().first()->uniqueName(), annotName); + } + + part.closeUrl(); + } +} + +void PartTest::testSaveAs_data() +{ + QTest::addColumn("file"); + QTest::addColumn("extension"); + QTest::addColumn("nativelySupportsAnnotations"); + QTest::addColumn("canSwapBackingFile"); + + QTest::newRow("pdf") << KDESRCDIR "data/file1.pdf" << "pdf" << true << true; + QTest::newRow("pdf.gz") << KDESRCDIR "data/file1.pdf.gz" << "pdf" << true << true; + QTest::newRow("epub") << KDESRCDIR "data/contents.epub" << "epub" << false << false; + QTest::newRow("jpg") << KDESRCDIR "data/potato.jpg" << "jpg" << false << true; +} + +void PartTest::testSidebarItemAfterSaving() +{ + Okular::Part part(nullptr, {}); + QWidget *currentSidebarItem = part.m_sidebar->currentItem(); // thumbnails + openDocument(&part, QStringLiteral(KDESRCDIR "data/tocreload.pdf")); + // since it has TOC it changes to TOC + QVERIFY(currentSidebarItem != part.m_sidebar->currentItem()); + // now change back to thumbnails + part.m_sidebar->setCurrentItem(currentSidebarItem); + + part.saveAs(QUrl::fromLocalFile(QStringLiteral(KDESRCDIR "data/tocreload.pdf"))); + + // Check it is still thumbnails after saving + QCOMPARE(currentSidebarItem, part.m_sidebar->currentItem()); +} + +void PartTest::testViewModeSavingPerFile() +{ + Okular::Part part(nullptr, {}); + + // Open some file + QVERIFY(openDocument(&part, QStringLiteral(KDESRCDIR "data/file1.pdf"))); + + // Switch to 'continuous' view mode + part.m_pageView->setCapability(Okular::View::ViewCapability::Continuous, QVariant(true)); + + // Close document + part.closeUrl(); + + // Open another file + QVERIFY(openDocument(&part, QStringLiteral(KDESRCDIR "data/file2.pdf"))); + + // Switch to 'non-continuous' mode + part.m_pageView->setCapability(Okular::View::ViewCapability::Continuous, QVariant(false)); + + // Close that document, too + part.closeUrl(); + + // Open first document again + QVERIFY(openDocument(&part, QStringLiteral(KDESRCDIR "data/file1.pdf"))); + + // If per-file view mode saving works, the view mode should be 'continuous' again. + QVERIFY(part.m_pageView->capability(Okular::View::ViewCapability::Continuous).toBool()); +} + +void PartTest::testSaveAsUndoStackAnnotations() +{ + QFETCH(QString, file); + QFETCH(QString, extension); + QFETCH(bool, nativelySupportsAnnotations); + QFETCH(bool, canSwapBackingFile); + QFETCH(bool, saveToArchive); + + const Part::SaveAsFlag saveFlags = saveToArchive ? Part::SaveAsOkularArchive : Part::NoSaveAsFlags; + + QScopedPointer closeDialogHelper; + + // closeDialogHelper relies on the availability of the "Continue" button to drop changes + // when saving to a file format not supporting those. However, this button is only sensible + // and available for "Save As", but not for "Save". By alternately saving to saveFile1 and + // saveFile2 we always force "Save As", so closeDialogHelper keeps working. + QTemporaryFile saveFile1(QStringLiteral("%1/okrXXXXXX_1.%2").arg(QDir::tempPath(), extension)); + QVERIFY(saveFile1.open()); + saveFile1.close(); + QTemporaryFile saveFile2(QStringLiteral("%1/okrXXXXXX_2.%2").arg(QDir::tempPath(), extension)); + QVERIFY(saveFile2.open()); + saveFile2.close(); + + Okular::Part part(nullptr, {}); + part.openDocument(file); + new QAbstractItemModelTester(part.annotationsModel(), &part); + + QCOMPARE(part.m_document->canSwapBackingFile(), canSwapBackingFile); + + Okular::Annotation *annot = new Okular::TextAnnotation(); + annot->setBoundingRectangle(Okular::NormalizedRect(0.1, 0.1, 0.15, 0.15)); + annot->setContents(QStringLiteral("annot contents")); + part.m_document->addPageAnnotation(0, annot); + QString annotName = annot->uniqueName(); + + if (!nativelySupportsAnnotations && !saveToArchive) { + closeDialogHelper.reset(new TestingUtils::CloseDialogHelper(&part, QDialogButtonBox::No)); // this is the "you're going to lose the annotations" dialog + } + + QVERIFY(part.saveAs(QUrl::fromLocalFile(saveFile1.fileName()), saveFlags)); + + if (!canSwapBackingFile) { + // The undo/redo stack gets lost if you can not swap the backing file + QVERIFY(!part.m_document->canUndo()); + QVERIFY(!part.m_document->canRedo()); + return; + } + + // Check we can still undo the annot add after save + QVERIFY(part.m_document->canUndo()); + part.m_document->undo(); + QVERIFY(!part.m_document->canUndo()); + + QVERIFY(part.saveAs(QUrl::fromLocalFile(saveFile1.fileName()), saveFlags)); + QVERIFY(part.m_document->page(0)->annotations().isEmpty()); + + // Check we can redo the annot add after save + QVERIFY(part.m_document->canRedo()); + part.m_document->redo(); + QVERIFY(!part.m_document->canRedo()); + + if (nativelySupportsAnnotations) { + // If the annots are provided by the backend we need to refetch the pointer after save + annot = part.m_document->page(0)->annotation(annotName); + QVERIFY(annot); + } + + // Remove the annotation, creates another undo command + QVERIFY(part.m_document->canRemovePageAnnotation(annot)); + part.m_document->removePageAnnotation(0, annot); + QVERIFY(part.m_document->page(0)->annotations().isEmpty()); + + // Check we can still undo the annot remove after save + QVERIFY(part.saveAs(QUrl::fromLocalFile(saveFile1.fileName()), saveFlags)); + QVERIFY(part.m_document->canUndo()); + part.m_document->undo(); + QVERIFY(part.m_document->canUndo()); + QCOMPARE(part.m_document->page(0)->annotations().count(), 1); + + // Check we can still undo the annot add after save + if (!nativelySupportsAnnotations && !saveToArchive) { + closeDialogHelper.reset(new TestingUtils::CloseDialogHelper(&part, QDialogButtonBox::No)); // this is the "you're going to lose the annotations" dialog + } + QVERIFY(part.saveAs(QUrl::fromLocalFile(saveFile2.fileName()), saveFlags)); + QVERIFY(part.m_document->canUndo()); + part.m_document->undo(); + QVERIFY(!part.m_document->canUndo()); + QVERIFY(part.m_document->page(0)->annotations().isEmpty()); + + // Redo the add annotation + QVERIFY(part.saveAs(QUrl::fromLocalFile(saveFile1.fileName()), saveFlags)); + QVERIFY(part.m_document->canRedo()); + part.m_document->redo(); + QVERIFY(part.m_document->canUndo()); + QVERIFY(part.m_document->canRedo()); + + if (nativelySupportsAnnotations) { + // If the annots are provided by the backend we need to refetch the pointer after save + annot = part.m_document->page(0)->annotation(annotName); + QVERIFY(annot); + } + + // Add translate, adjust and modify commands + part.m_document->translatePageAnnotation(0, annot, Okular::NormalizedPoint(0.1, 0.1)); + part.m_document->adjustPageAnnotation(0, annot, Okular::NormalizedPoint(0.1, 0.1), Okular::NormalizedPoint(0.1, 0.1)); + part.m_document->prepareToModifyAnnotationProperties(annot); + part.m_document->modifyPageAnnotationProperties(0, annot); + + // Now check we can still undo/redo/save at all the intermediate states and things still work + if (!nativelySupportsAnnotations && !saveToArchive) { + closeDialogHelper.reset(new TestingUtils::CloseDialogHelper(&part, QDialogButtonBox::No)); // this is the "you're going to lose the annotations" dialog + } + QVERIFY(part.saveAs(QUrl::fromLocalFile(saveFile2.fileName()), saveFlags)); + QVERIFY(part.m_document->canUndo()); + part.m_document->undo(); + QVERIFY(part.m_document->canUndo()); + + if (!nativelySupportsAnnotations && !saveToArchive) { + closeDialogHelper.reset(new TestingUtils::CloseDialogHelper(&part, QDialogButtonBox::No)); // this is the "you're going to lose the annotations" dialog + } + QVERIFY(part.saveAs(QUrl::fromLocalFile(saveFile1.fileName()), saveFlags)); + QVERIFY(part.m_document->canUndo()); + part.m_document->undo(); + QVERIFY(part.m_document->canUndo()); + + if (!nativelySupportsAnnotations && !saveToArchive) { + closeDialogHelper.reset(new TestingUtils::CloseDialogHelper(&part, QDialogButtonBox::No)); // this is the "you're going to lose the annotations" dialog + } + QVERIFY(part.saveAs(QUrl::fromLocalFile(saveFile2.fileName()), saveFlags)); + QVERIFY(part.m_document->canUndo()); + part.m_document->undo(); + QVERIFY(part.m_document->canUndo()); + + if (!nativelySupportsAnnotations && !saveToArchive) { + closeDialogHelper.reset(new TestingUtils::CloseDialogHelper(&part, QDialogButtonBox::No)); // this is the "you're going to lose the annotations" dialog + } + QVERIFY(part.saveAs(QUrl::fromLocalFile(saveFile1.fileName()), saveFlags)); + QVERIFY(part.m_document->canUndo()); + part.m_document->undo(); + QVERIFY(!part.m_document->canUndo()); + QVERIFY(part.m_document->canRedo()); + QVERIFY(part.m_document->page(0)->annotations().isEmpty()); + + QVERIFY(part.saveAs(QUrl::fromLocalFile(saveFile1.fileName()), saveFlags)); + QVERIFY(part.m_document->canRedo()); + part.m_document->redo(); + QVERIFY(part.m_document->canRedo()); + + if (!nativelySupportsAnnotations && !saveToArchive) { + closeDialogHelper.reset(new TestingUtils::CloseDialogHelper(&part, QDialogButtonBox::No)); // this is the "you're going to lose the annotations" dialog + } + QVERIFY(part.saveAs(QUrl::fromLocalFile(saveFile2.fileName()), saveFlags)); + QVERIFY(part.m_document->canRedo()); + part.m_document->redo(); + QVERIFY(part.m_document->canRedo()); + + if (!nativelySupportsAnnotations && !saveToArchive) { + closeDialogHelper.reset(new TestingUtils::CloseDialogHelper(&part, QDialogButtonBox::No)); // this is the "you're going to lose the annotations" dialog + } + QVERIFY(part.saveAs(QUrl::fromLocalFile(saveFile1.fileName()), saveFlags)); + QVERIFY(part.m_document->canRedo()); + part.m_document->redo(); + QVERIFY(part.m_document->canRedo()); + + if (!nativelySupportsAnnotations && !saveToArchive) { + closeDialogHelper.reset(new TestingUtils::CloseDialogHelper(&part, QDialogButtonBox::No)); // this is the "you're going to lose the annotations" dialog + } + QVERIFY(part.saveAs(QUrl::fromLocalFile(saveFile2.fileName()), saveFlags)); + QVERIFY(part.m_document->canRedo()); + part.m_document->redo(); + QVERIFY(!part.m_document->canRedo()); + + closeDialogHelper.reset(new TestingUtils::CloseDialogHelper(&part, QDialogButtonBox::No)); // this is the "do you want to save or discard" dialog + part.closeUrl(); +} + +void PartTest::testSaveAsUndoStackAnnotations_data() +{ + QTest::addColumn("file"); + QTest::addColumn("extension"); + QTest::addColumn("nativelySupportsAnnotations"); + QTest::addColumn("canSwapBackingFile"); + QTest::addColumn("saveToArchive"); + + QTest::newRow("pdf") << KDESRCDIR "data/file1.pdf" << "pdf" << true << true << false; + QTest::newRow("epub") << KDESRCDIR "data/contents.epub" << "epub" << false << false << false; + QTest::newRow("jpg") << KDESRCDIR "data/potato.jpg" << "jpg" << false << true << false; + QTest::newRow("pdfarchive") << KDESRCDIR "data/file1.pdf" << "okular" << true << true << true; + QTest::newRow("jpgarchive") << KDESRCDIR "data/potato.jpg" << "okular" << false << true << true; +} + +void PartTest::testSaveAsUndoStackForms() +{ + QFETCH(QString, file); + QFETCH(QString, extension); + QFETCH(bool, saveToArchive); + + const Part::SaveAsFlag saveFlags = saveToArchive ? Part::SaveAsOkularArchive : Part::NoSaveAsFlags; + + QTemporaryFile saveFile(QStringLiteral("%1/okrXXXXXX.%2").arg(QDir::tempPath(), extension)); + QVERIFY(saveFile.open()); + saveFile.close(); + + Okular::Part part(nullptr, {}); + part.openDocument(file); + + const QList pageFormFields = part.m_document->page(0)->formFields(); + for (FormField *ff : pageFormFields) { + if (ff->id() == 65537) { + QCOMPARE(ff->type(), FormField::FormText); + FormFieldText *fft = static_cast(ff); + part.m_document->editFormText(0, fft, QStringLiteral("BlaBla"), 6, 0, 0, QString()); + } else if (ff->id() == 65538) { + QCOMPARE(ff->type(), FormField::FormButton); + FormFieldButton *ffb = static_cast(ff); + QCOMPARE(ffb->buttonType(), FormFieldButton::Radio); + part.m_document->editFormButtons(0, QList() << ffb, QList() << true); + } else if (ff->id() == 65542) { + QCOMPARE(ff->type(), FormField::FormChoice); + FormFieldChoice *ffc = static_cast(ff); + QCOMPARE(ffc->choiceType(), FormFieldChoice::ListBox); + part.m_document->editFormList(0, ffc, QList() << 1); + } else if (ff->id() == 65543) { + QCOMPARE(ff->type(), FormField::FormChoice); + FormFieldChoice *ffc = static_cast(ff); + QCOMPARE(ffc->choiceType(), FormFieldChoice::ComboBox); + part.m_document->editFormCombo(0, ffc, QStringLiteral("combo2"), 3, 0, 0); + } + } + + QVERIFY(part.saveAs(QUrl::fromLocalFile(saveFile.fileName()), saveFlags)); + + QVERIFY(part.m_document->canUndo()); + part.m_document->undo(); + QVERIFY(part.saveAs(QUrl::fromLocalFile(saveFile.fileName()), saveFlags)); + + QVERIFY(part.m_document->canUndo()); + part.m_document->undo(); + QVERIFY(part.saveAs(QUrl::fromLocalFile(saveFile.fileName()), saveFlags)); + + QVERIFY(part.m_document->canUndo()); + part.m_document->undo(); + QVERIFY(part.saveAs(QUrl::fromLocalFile(saveFile.fileName()), saveFlags)); + + QVERIFY(part.m_document->canUndo()); + part.m_document->undo(); + QVERIFY(part.saveAs(QUrl::fromLocalFile(saveFile.fileName()), saveFlags)); + QVERIFY(!part.m_document->canUndo()); + + QVERIFY(part.m_document->canRedo()); + part.m_document->redo(); + QVERIFY(part.saveAs(QUrl::fromLocalFile(saveFile.fileName()), saveFlags)); + + QVERIFY(part.m_document->canRedo()); + part.m_document->redo(); + QVERIFY(part.saveAs(QUrl::fromLocalFile(saveFile.fileName()), saveFlags)); + + QVERIFY(part.m_document->canRedo()); + part.m_document->redo(); + QVERIFY(part.saveAs(QUrl::fromLocalFile(saveFile.fileName()), saveFlags)); + + QVERIFY(part.m_document->canRedo()); + part.m_document->redo(); + QVERIFY(part.saveAs(QUrl::fromLocalFile(saveFile.fileName()), saveFlags)); +} + +void PartTest::testSaveAsUndoStackForms_data() +{ + QTest::addColumn("file"); + QTest::addColumn("extension"); + QTest::addColumn("saveToArchive"); + + QTest::newRow("pdf") << KDESRCDIR "data/formSamples.pdf" << "pdf" << false; + QTest::newRow("pdfarchive") << KDESRCDIR "data/formSamples.pdf" << "okular" << true; +} + +void PartTest::testOpenUrlArguments() +{ + Okular::Part part(nullptr, {}); + + KParts::OpenUrlArguments args; + args.setMimeType(QStringLiteral("text/rtf")); + + part.setArguments(args); + + part.openUrl(QUrl::fromLocalFile(QStringLiteral(KDESRCDIR "data/file1.pdf"))); + + QCOMPARE(part.arguments().mimeType(), QStringLiteral("text/rtf")); +} + +void PartTest::test388288() +{ + Okular::Part part(nullptr, {}); + + part.openUrl(QUrl::fromLocalFile(QStringLiteral(KDESRCDIR "data/file1.pdf"))); + new QAbstractItemModelTester(part.annotationsModel(), &part); + + part.widget()->show(); + if (qgetenv("KDECI_CANNOT_CREATE_WINDOWS") == "1") { + QSKIP("KDE CI can't create a window on this platform, skipping some gui tests"); + } + + QVERIFY(QTest::qWaitForWindowExposed(part.widget())); + + QVERIFY(QMetaObject::invokeMethod(part.m_pageView, "slotSetMouseNormal")); + + auto annot = new Okular::HighlightAnnotation(); + annot->setHighlightType(Okular::HighlightAnnotation::Highlight); + const Okular::NormalizedRect r(0.36, 0.16, 0.51, 0.17); + annot->setBoundingRectangle(r); + Okular::HighlightAnnotation::Quad q; + q.setCapStart(false); + q.setCapEnd(false); + q.setFeather(1.0); + q.setPoint(Okular::NormalizedPoint(r.left, r.bottom), 0); + q.setPoint(Okular::NormalizedPoint(r.right, r.bottom), 1); + q.setPoint(Okular::NormalizedPoint(r.right, r.top), 2); + q.setPoint(Okular::NormalizedPoint(r.left, r.top), 3); + annot->highlightQuads().append(q); + + part.m_document->addPageAnnotation(0, annot); + + const int width = part.m_pageView->horizontalScrollBar()->maximum() + part.m_pageView->viewport()->width(); + const int height = part.m_pageView->verticalScrollBar()->maximum() + part.m_pageView->viewport()->height(); + + QTest::mouseMove(part.m_pageView->viewport(), QPoint(width * 0.5, height * 0.5)); + QTRY_COMPARE(part.m_pageView->cursor().shape(), Qt::OpenHandCursor); + + QTest::mouseMove(part.m_pageView->viewport(), QPoint(width * 0.4, height * 0.165)); + QTRY_COMPARE(part.m_pageView->cursor().shape(), Qt::ArrowCursor); + + QTest::mouseMove(part.m_pageView->viewport(), QPoint(width * 0.1, height * 0.165)); + + part.m_document->undo(); + + annot = new Okular::HighlightAnnotation(); + annot->setHighlightType(Okular::HighlightAnnotation::Highlight); + annot->setBoundingRectangle(r); + annot->highlightQuads().append(q); + + part.m_document->addPageAnnotation(0, annot); + + QTest::mouseMove(part.m_pageView->viewport(), QPoint(width * 0.5, height * 0.5)); + QTRY_COMPARE(part.m_pageView->cursor().shape(), Qt::OpenHandCursor); +} + +void PartTest::testCheckBoxReadOnly() +{ + const QString testFile = QStringLiteral(KDESRCDIR "data/checkbox_ro.pdf"); + Okular::Part part(nullptr, {}); + part.openDocument(testFile); + + // The test document uses the activation action of checkboxes + // to update the read only state. For this we need the part so that + // undo / redo activates the activation action. + + QVERIFY(part.m_document->isOpened()); + + const Okular::Page *page = part.m_document->page(0); + + QMap fields; + + // Field names in test document are: + // CBMakeRW, CBMakeRO, TargetDefaultRO, TargetDefaultRW + + const QList pageFormFields = page->formFields(); + for (Okular::FormField *ff : pageFormFields) { + fields.insert(ff->name(), static_cast(ff)); + } + + // First grab all fields and check that the setup is as expected. + auto cbMakeRW = dynamic_cast(fields[QStringLiteral("CBMakeRW")]); + auto cbMakeRO = dynamic_cast(fields[QStringLiteral("CBMakeRO")]); + + auto targetDefaultRW = dynamic_cast(fields[QStringLiteral("TargetDefaultRw")]); + auto targetDefaultRO = dynamic_cast(fields[QStringLiteral("TargetDefaultRo")]); + + QVERIFY(cbMakeRW); + QVERIFY(cbMakeRO); + QVERIFY(targetDefaultRW); + QVERIFY(targetDefaultRO); + + QVERIFY(!cbMakeRW->state()); + QVERIFY(!cbMakeRO->state()); + + QVERIFY(!targetDefaultRW->isReadOnly()); + QVERIFY(targetDefaultRO->isReadOnly()); + + QList btns; + btns << cbMakeRW << cbMakeRO; + + // Now check both boxes + QList btnStates; + btnStates << true << true; + + part.m_document->editFormButtons(0, btns, btnStates); + + // Read only should be inverted + QVERIFY(targetDefaultRW->isReadOnly()); + QVERIFY(!targetDefaultRO->isReadOnly()); + + // Test that undo / redo works + QVERIFY(part.m_document->canUndo()); + part.m_document->undo(); + QVERIFY(!targetDefaultRW->isReadOnly()); + QVERIFY(targetDefaultRO->isReadOnly()); + + part.m_document->redo(); + QVERIFY(targetDefaultRW->isReadOnly()); + QVERIFY(!targetDefaultRO->isReadOnly()); + + btnStates.clear(); + btnStates << false << true; + + part.m_document->editFormButtons(0, btns, btnStates); + QVERIFY(targetDefaultRW->isReadOnly()); + QVERIFY(targetDefaultRO->isReadOnly()); + + // Now set both to checked again and confirm that + // save / load works. + btnStates.clear(); + btnStates << true << true; + part.m_document->editFormButtons(0, btns, btnStates); + + QTemporaryFile saveFile(QStringLiteral("%1/okrXXXXXX.pdf").arg(QDir::tempPath())); + QVERIFY(saveFile.open()); + saveFile.close(); + + // Save + QVERIFY(part.saveAs(QUrl::fromLocalFile(saveFile.fileName()), Part::NoSaveAsFlags)); + part.closeUrl(); + + // Load + part.openDocument(saveFile.fileName()); + QVERIFY(part.m_document->isOpened()); + + page = part.m_document->page(0); + + fields.clear(); + + { + const QList pageFormFields = page->formFields(); + for (Okular::FormField *ff : pageFormFields) { + fields.insert(ff->name(), static_cast(ff)); + } + } + + cbMakeRW = dynamic_cast(fields[QStringLiteral("CBMakeRW")]); + cbMakeRO = dynamic_cast(fields[QStringLiteral("CBMakeRO")]); + + targetDefaultRW = dynamic_cast(fields[QStringLiteral("TargetDefaultRw")]); + targetDefaultRO = dynamic_cast(fields[QStringLiteral("TargetDefaultRo")]); + + QVERIFY(cbMakeRW->state()); + QVERIFY(cbMakeRO->state()); + QVERIFY(targetDefaultRW->isReadOnly()); + QVERIFY(!targetDefaultRO->isReadOnly()); +} + +void PartTest::testCrashTextEditDestroy() +{ + const QString testFile = QStringLiteral(KDESRCDIR "data/formSamples.pdf"); + Okular::Part part(nullptr, {}); + part.openDocument(testFile); + part.widget()->show(); + if (qgetenv("KDECI_CANNOT_CREATE_WINDOWS") == "1") { + QSKIP("KDE CI can't create a window on this platform, skipping some gui tests"); + } + + QVERIFY(QTest::qWaitForWindowExposed(part.widget())); + + part.widget()->findChild()->setText(QStringLiteral("HOLA")); + part.actionCollection()->action(QStringLiteral("view_toggle_forms"))->trigger(); +} + +void PartTest::testAnnotWindow() +{ + Okular::Part part(nullptr, {}); + QVERIFY(openDocument(&part, QStringLiteral(KDESRCDIR "data/file1.pdf"))); + part.widget()->show(); + part.widget()->resize(800, 600); + new QAbstractItemModelTester(part.annotationsModel(), &part); + if (qgetenv("KDECI_CANNOT_CREATE_WINDOWS") == "1") { + QSKIP("KDE CI can't create a window on this platform, skipping some gui tests"); + } + + QVERIFY(QTest::qWaitForWindowExposed(part.widget())); + + part.m_document->setViewportPage(0); + + QVERIFY(QMetaObject::invokeMethod(part.m_pageView, "slotSetMouseNormal")); + + QCOMPARE(part.m_document->currentPage(), 0u); + + // Create two distinct text annotations + Okular::Annotation *annot1 = new Okular::TextAnnotation(); + annot1->setBoundingRectangle(Okular::NormalizedRect(0.8, 0.1, 0.85, 0.15)); + annot1->setContents(QStringLiteral("Annot contents 111111")); + + Okular::Annotation *annot2 = new Okular::TextAnnotation(); + annot2->setBoundingRectangle(Okular::NormalizedRect(0.8, 0.3, 0.85, 0.35)); + annot2->setContents(QStringLiteral("Annot contents 222222")); + + // Add annot1 and annot2 to document + part.m_document->addPageAnnotation(0, annot1); + part.m_document->addPageAnnotation(0, annot2); + QVERIFY(part.m_document->page(0)->annotations().size() == 2); + + QTimer *delayResizeEventTimer = part.m_pageView->findChildren(QStringLiteral("delayResizeEventTimer")).at(0); + QVERIFY(delayResizeEventTimer->isActive()); + QTest::qWait(delayResizeEventTimer->interval() * 2); + + // wait for pixmap + QTRY_VERIFY(part.m_document->page(0)->hasPixmap(part.m_pageView)); + + const int width = part.m_pageView->horizontalScrollBar()->maximum() + part.m_pageView->viewport()->width(); + const int height = part.m_pageView->verticalScrollBar()->maximum() + part.m_pageView->viewport()->height(); + + // Double click the first annotation to open its window (move mouse for visual feedback) + const NormalizedPoint annot1pt = annot1->boundingRectangle().center(); + QTest::mouseMove(part.m_pageView->viewport(), QPoint(width * annot1pt.x, height * annot1pt.y)); + QTest::mouseDClick(part.m_pageView->viewport(), Qt::LeftButton, Qt::NoModifier, QPoint(width * annot1pt.x, height * annot1pt.y)); + QTRY_COMPARE(part.m_pageView->findChildren(QStringLiteral("AnnotWindow")).size(), 1); + // Verify that the window is visible + QFrame *win1 = part.m_pageView->findChild(QStringLiteral("AnnotWindow")); + QVERIFY(!win1->visibleRegion().isEmpty()); + + // Double click the second annotation to open its window (move mouse for visual feedback) + const NormalizedPoint annot2pt = annot2->boundingRectangle().center(); + QTest::mouseMove(part.m_pageView->viewport(), QPoint(width * annot2pt.x, height * annot2pt.y)); + QTest::mouseDClick(part.m_pageView->viewport(), Qt::LeftButton, Qt::NoModifier, QPoint(width * annot2pt.x, height * annot2pt.y)); + QTRY_COMPARE(part.m_pageView->findChildren(QStringLiteral("AnnotWindow")).size(), 2); + // Verify that the first window is hidden covered by the second, which is visible + QList lstWin = part.m_pageView->findChildren(QStringLiteral("AnnotWindow")); + QFrame *win2; + if (lstWin[0] == win1) { + win2 = lstWin[1]; + } else { + win2 = lstWin[0]; + } + QVERIFY(win1->visibleRegion().isEmpty()); + QVERIFY(!win2->visibleRegion().isEmpty()); + + // Double click the first annotation to raise its window (move mouse for visual feedback) + QTest::mouseMove(part.m_pageView->viewport(), QPoint(width * annot1pt.x, height * annot1pt.y)); + QTest::mouseDClick(part.m_pageView->viewport(), Qt::LeftButton, Qt::NoModifier, QPoint(width * annot1pt.x, height * annot1pt.y)); + // Verify that the second window is hidden covered by the first, which is visible + QVERIFY(!win1->visibleRegion().isEmpty()); + QVERIFY(win2->visibleRegion().isEmpty()); + + // Move annotation window 1 to partially show annotation window 2 + win1->move(QPoint(win2->pos().x(), win2->pos().y() + 50)); + // Verify that both windows are partially visible + QVERIFY(!win1->visibleRegion().isEmpty()); + QVERIFY(!win2->visibleRegion().isEmpty()); + + // Click the second annotation window to raise it (move mouse for visual feedback) + auto widget = win2->window()->childAt(win2->mapTo(win2->window(), QPoint(10, 10))); + QTest::mouseMove(win2->window(), win2->mapTo(win2->window(), QPoint(10, 10))); + QTest::mouseClick(widget, Qt::LeftButton, Qt::NoModifier, widget->mapFrom(win2, QPoint(10, 10))); + QVERIFY(win1->visibleRegion().rectCount() == 3); + QVERIFY(win2->visibleRegion().rectCount() == 4); +} + +// Helper for testAdditionalActionTriggers +static void verifyTargetStates(const QString &triggerName, const QMap &fields, bool focusVisible, bool cursorVisible, bool mouseVisible, int line) +{ + Okular::FormField *focusTarget = fields.value(triggerName + QStringLiteral("_focus_target")); + Okular::FormField *cursorTarget = fields.value(triggerName + QStringLiteral("_cursor_target")); + Okular::FormField *mouseTarget = fields.value(triggerName + QStringLiteral("_mouse_target")); + + QVERIFY(focusTarget); + QVERIFY(cursorTarget); + QVERIFY(mouseTarget); + + QTRY_VERIFY2(focusTarget->isVisible() == focusVisible, QStringLiteral("line: %1 focus for %2 not matched. Expected %3 Actual %4").arg(line).arg(triggerName).arg(focusTarget->isVisible()).arg(focusVisible).toUtf8().constData()); + QTRY_VERIFY2(cursorTarget->isVisible() == cursorVisible, QStringLiteral("line: %1 cursor for %2 not matched. Actual %3 Expected %4").arg(line).arg(triggerName).arg(cursorTarget->isVisible()).arg(cursorVisible).toUtf8().constData()); + QTRY_VERIFY2(mouseTarget->isVisible() == mouseVisible, QStringLiteral("line: %1 mouse for %2 not matched. Expected %3 Actual %4").arg(line).arg(triggerName).arg(mouseTarget->isVisible()).arg(mouseVisible).toUtf8().constData()); +} + +void PartTest::testAdditionalActionTriggers() +{ + const QString testFile = QStringLiteral(KDESRCDIR "data/additionalFormActions.pdf"); + Okular::Part part(nullptr, QVariantList()); + part.openDocument(testFile); + part.widget()->resize(800, 600); + + part.widget()->show(); + if (qgetenv("KDECI_CANNOT_CREATE_WINDOWS") == "1") { + QSKIP("KDE CI can't create a window on this platform, skipping some gui tests"); + } + + QVERIFY(QTest::qWaitForWindowExposed(part.widget())); + + QTimer *delayResizeEventTimer = part.m_pageView->findChildren(QStringLiteral("delayResizeEventTimer")).at(0); + QVERIFY(delayResizeEventTimer->isActive()); + QTest::qWait(delayResizeEventTimer->interval() * 2); + + part.m_document->setViewportPage(0); + + // wait for pixmap + QTRY_VERIFY(part.m_document->page(0)->hasPixmap(part.m_pageView)); + + QMap fields; + // Field names in test document are: + // For trigger fields: tf, cb, rb, dd, pb + // For target fields: _focus_target, _cursor_target, + // _mouse_target + const Okular::Page *page = part.m_document->page(0); + const QList pageFormFields = page->formFields(); + for (Okular::FormField *ff : pageFormFields) { + fields.insert(ff->name(), static_cast(ff)); + } + + // Verify that everything is set up. + verifyTargetStates(QStringLiteral("tf"), fields, true, true, true, __LINE__); + verifyTargetStates(QStringLiteral("cb"), fields, true, true, true, __LINE__); + verifyTargetStates(QStringLiteral("rb"), fields, true, true, true, __LINE__); + verifyTargetStates(QStringLiteral("dd"), fields, true, true, true, __LINE__); + verifyTargetStates(QStringLiteral("pb"), fields, true, true, true, __LINE__); + + const int width = part.m_pageView->horizontalScrollBar()->maximum() + part.m_pageView->viewport()->width(); + const int height = part.m_pageView->verticalScrollBar()->maximum() + part.m_pageView->viewport()->height(); + + part.actionCollection()->action(QStringLiteral("view_toggle_forms"))->trigger(); + + QPoint tfPos(width * 0.045, height * 0.05); + QPoint cbPos(width * 0.045, height * 0.08); + QPoint rbPos(width * 0.045, height * 0.12); + QPoint ddPos(width * 0.045, height * 0.16); + QPoint pbPos(width * 0.045, height * 0.26); + + // Test text field + auto widget = part.m_pageView->viewport()->childAt(tfPos); + QVERIFY(widget); + + QTest::mouseMove(part.m_pageView->viewport(), QPoint(tfPos)); + verifyTargetStates(QStringLiteral("tf"), fields, true, false, true, __LINE__); + QTest::mousePress(widget, Qt::LeftButton, Qt::NoModifier, QPoint(5, 5)); + verifyTargetStates(QStringLiteral("tf"), fields, false, false, false, __LINE__); + QTest::mouseRelease(widget, Qt::LeftButton, Qt::NoModifier, QPoint(5, 5)); + verifyTargetStates(QStringLiteral("tf"), fields, false, false, true, __LINE__); + + // Checkbox + widget = part.m_pageView->viewport()->childAt(cbPos); + QVERIFY(widget); + + QTest::mouseMove(part.m_pageView->viewport(), QPoint(cbPos)); + verifyTargetStates(QStringLiteral("cb"), fields, true, false, true, __LINE__); + QTest::mousePress(widget, Qt::LeftButton, Qt::NoModifier, QPoint(5, 5)); + verifyTargetStates(QStringLiteral("cb"), fields, false, false, false, __LINE__); + // Confirm that the textfield no longer has any invisible + verifyTargetStates(QStringLiteral("tf"), fields, true, true, true, __LINE__); + QTest::mouseRelease(widget, Qt::LeftButton, Qt::NoModifier, QPoint(5, 5)); + verifyTargetStates(QStringLiteral("cb"), fields, false, false, true, __LINE__); + + // Radio + widget = part.m_pageView->viewport()->childAt(rbPos); + QVERIFY(widget); + + QTest::mouseMove(part.m_pageView->viewport(), QPoint(rbPos)); + verifyTargetStates(QStringLiteral("rb"), fields, true, false, true, __LINE__); + QTest::mousePress(widget, Qt::LeftButton, Qt::NoModifier, QPoint(5, 5)); + verifyTargetStates(QStringLiteral("rb"), fields, false, false, false, __LINE__); + QTest::mouseRelease(widget, Qt::LeftButton, Qt::NoModifier, QPoint(5, 5)); + verifyTargetStates(QStringLiteral("rb"), fields, false, false, true, __LINE__); + + // Dropdown + widget = part.m_pageView->viewport()->childAt(ddPos); + QVERIFY(widget); + + QTest::mouseMove(part.m_pageView->viewport(), QPoint(ddPos)); + verifyTargetStates(QStringLiteral("dd"), fields, true, false, true, __LINE__); + QTest::mousePress(widget, Qt::LeftButton, Qt::NoModifier, QPoint(5, 5)); + verifyTargetStates(QStringLiteral("dd"), fields, false, false, false, __LINE__); + QTest::mouseRelease(widget, Qt::LeftButton, Qt::NoModifier, QPoint(5, 5)); + verifyTargetStates(QStringLiteral("dd"), fields, false, false, true, __LINE__); + + // Pushbutton + widget = part.m_pageView->viewport()->childAt(pbPos); + QVERIFY(widget); + + QTest::mouseMove(part.m_pageView->viewport(), QPoint(pbPos)); + verifyTargetStates(QStringLiteral("pb"), fields, true, false, true, __LINE__); + QTest::mousePress(widget, Qt::LeftButton, Qt::NoModifier, QPoint(5, 5)); + verifyTargetStates(QStringLiteral("pb"), fields, false, false, false, __LINE__); + QTest::mouseRelease(widget, Qt::LeftButton, Qt::NoModifier, QPoint(5, 5)); + verifyTargetStates(QStringLiteral("pb"), fields, false, false, true, __LINE__); + + // Confirm that a mouse release outside does not trigger the show action. + QTest::mousePress(widget, Qt::LeftButton, Qt::NoModifier, QPoint(5, 5)); + verifyTargetStates(QStringLiteral("pb"), fields, false, false, false, __LINE__); + QTest::mouseRelease(part.m_pageView->viewport(), Qt::LeftButton, Qt::NoModifier, tfPos); + verifyTargetStates(QStringLiteral("pb"), fields, false, false, false, __LINE__); +} + +void PartTest::testTypewriterAnnotTool() +{ + Okular::Part part(nullptr, QVariantList()); + + part.openUrl(QUrl::fromLocalFile(QStringLiteral(KDESRCDIR "data/file1.pdf"))); + + part.widget()->show(); + if (qgetenv("KDECI_CANNOT_CREATE_WINDOWS") == "1") { + QSKIP("KDE CI can't create a window on this platform, skipping some gui tests"); + } + + QVERIFY(QTest::qWaitForWindowExposed(part.widget())); + + const int width = part.m_pageView->horizontalScrollBar()->maximum() + part.m_pageView->viewport()->width(); + const int height = part.m_pageView->verticalScrollBar()->maximum() + part.m_pageView->viewport()->height(); + + part.m_document->setViewportPage(0); + + // Find the TypeWriter annotation + QAction *typeWriterAction = part.actionCollection()->action(QStringLiteral("annotation_typewriter")); + QVERIFY(typeWriterAction); + + typeWriterAction->trigger(); + + QTest::qWait(1000); // Wait for the "add new note" dialog to appear + TestingUtils::CloseDialogHelper closeDialogHelper(QDialogButtonBox::Ok); + + QTest::mouseClick(part.m_pageView->viewport(), Qt::LeftButton, Qt::NoModifier, QPoint(width * 0.5, height * 0.2)); + + Annotation *annot = part.m_document->page(0)->annotations().first(); + TextAnnotation *ta = static_cast(annot); + QVERIFY(annot); + QVERIFY(ta); + QCOMPARE(annot->subType(), Okular::Annotation::AText); + QCOMPARE(annot->style().color(), QColor(255, 255, 255, 0)); + QCOMPARE(ta->textType(), Okular::TextAnnotation::InPlace); + QCOMPARE(ta->inplaceIntent(), Okular::TextAnnotation::TypeWriter); +} + +void PartTest::testJumpToPage() +{ + const QString testFile = QStringLiteral(KDESRCDIR "data/simple-multipage.pdf"); + const int targetPage = 25; + Okular::Part part(nullptr, QVariantList()); + part.openDocument(testFile); + part.widget()->resize(800, 600); + part.widget()->show(); + if (qgetenv("KDECI_CANNOT_CREATE_WINDOWS") == "1") { + QSKIP("KDE CI can't create a window on this platform, skipping some gui tests"); + } + + QVERIFY(QTest::qWaitForWindowExposed(part.widget())); + + part.m_document->pages(); + part.m_document->setViewportPage(targetPage); + + /* Document::setViewportPage triggers pixmap rendering in another thread. + * We want to test how things look AFTER finished signal arrives back, + * because PageView::slotRelayoutPages may displace the viewport again. + */ + QTRY_VERIFY(part.m_document->page(targetPage)->hasPixmap(part.m_pageView)); + + const int contentAreaHeight = part.m_pageView->verticalScrollBar()->maximum() + part.m_pageView->viewport()->height(); + const int pageWithSpaceTop = contentAreaHeight / part.m_document->pages() * targetPage; + + /* + * This is a test for a "known by trial" displacement. + * We'd need access to part.m_pageView->d->items[targetPage]->croppedGeometry().top(), + * to determine the expected viewport position, but we don't have access. + */ + QCOMPARE(part.m_pageView->verticalScrollBar()->value(), pageWithSpaceTop - 4); +} + +void PartTest::testOpenAtPage() +{ + const QString testFile = QStringLiteral(KDESRCDIR "data/simple-multipage.pdf"); + QUrl url = QUrl::fromLocalFile(testFile); + Okular::Part part(nullptr, QVariantList()); + + const uint targetPageNumA = 25; + const uint expectedPageA = targetPageNumA - 1; + url.setFragment(QString::number(targetPageNumA)); + part.openUrl(url); + QCOMPARE(part.m_document->currentPage(), expectedPageA); + + // 'page=' param as specified in RFC 3778 + const uint targetPageNumB = 15; + const uint expectedPageB = targetPageNumB - 1; + url.setFragment(QStringLiteral("page=") + QString::number(targetPageNumB)); + part.openUrl(url); + QCOMPARE(part.m_document->currentPage(), expectedPageB); +} + +void PartTest::testForwardBackwardNavigation() +{ + const QString testFile = QStringLiteral(KDESRCDIR "data/simple-multipage.pdf"); + Okular::Part part(nullptr, QVariantList()); + part.openDocument(testFile); + part.widget()->resize(800, 600); + part.widget()->show(); + if (qgetenv("KDECI_CANNOT_CREATE_WINDOWS") == "1") { + QSKIP("KDE CI can't create a window on this platform, skipping some gui tests"); + } + + QVERIFY(QTest::qWaitForWindowExposed(part.widget())); + + // Go to some page + const int targetPageA = 15; + part.m_document->setViewportPage(targetPageA); + + QVERIFY(part.m_document->viewport() == DocumentViewport(targetPageA)); + + // Go to some other page + const int targetPageB = 25; + part.m_document->setViewportPage(targetPageB); + QVERIFY(part.m_document->viewport() == DocumentViewport(targetPageB)); + + // Go back to page A + QVERIFY(QMetaObject::invokeMethod(&part, "slotHistoryBack")); + QVERIFY(part.m_document->viewport().pageNumber == targetPageA); + + // Go back to page B + QVERIFY(QMetaObject::invokeMethod(&part, "slotHistoryNext")); + QVERIFY(part.m_document->viewport().pageNumber == targetPageB); +} + +void PartTest::testTabletProximityBehavior() +{ + QVariantList dummyArgs; + Okular::Part part {nullptr, dummyArgs}; + QVERIFY(openDocument(&part, QStringLiteral(KDESRCDIR "data/file1.pdf"))); + part.slotShowPresentation(); + PresentationWidget *w = part.m_presentationWidget; + QVERIFY(w); + part.widget()->show(); + + // close the KMessageBox "There are two ways of exiting[...]" + TestingUtils::CloseDialogHelper closeDialogHelper(w, QDialogButtonBox::Ok); // confirm the "To leave, press ESC" + + auto pointingDevice = new QPointingDevice(QStringLiteral("test"), 42, QInputDevice::DeviceType::Stylus, QPointingDevice::PointerType::Pen, QInputDevice::Capability::All, 3, 3); + QTabletEvent enterProximityEvent {QEvent::TabletEnterProximity, pointingDevice, QPointF(10, 10), QPointF(10, 10), 1., 0, 0, 1., 1., 0, Qt::NoModifier, Qt::NoButton, Qt::NoButton}; + QTabletEvent leaveProximityEvent {QEvent::TabletLeaveProximity, pointingDevice, QPointF(10, 10), QPointF(10, 10), 1., 0, 0, 1., 1., 0, Qt::NoModifier, Qt::NoButton, Qt::NoButton}; + + // Test with the Okular::Settings::EnumSlidesCursor::Visible setting + Okular::Settings::self()->setSlidesCursor(Okular::Settings::EnumSlidesCursor::Visible); + + // Send an enterProximity event + qApp->notify(qApp, &enterProximityEvent); + + // The cursor should be a cross-hair + QVERIFY(w->cursor().shape() == Qt::CursorShape(Qt::CrossCursor)); + + // Send a leaveProximity event + qApp->notify(qApp, &leaveProximityEvent); + + // After the leaveProximityEvent, the cursor should be an arrow again, because + // we have set the slidesCursor mode to 'Visible' + QVERIFY(w->cursor().shape() == Qt::CursorShape(Qt::ArrowCursor)); + + // Test with the Okular::Settings::EnumSlidesCursor::Hidden setting + Okular::Settings::self()->setSlidesCursor(Okular::Settings::EnumSlidesCursor::Hidden); + + qApp->notify(qApp, &enterProximityEvent); + QVERIFY(w->cursor().shape() == Qt::CursorShape(Qt::CrossCursor)); + qApp->notify(qApp, &leaveProximityEvent); + QVERIFY(w->cursor().shape() == Qt::CursorShape(Qt::BlankCursor)); + + // Moving the mouse should not bring the cursor back + QTest::mouseMove(w, QPoint(100, 100)); + QVERIFY(w->cursor().shape() == Qt::CursorShape(Qt::BlankCursor)); + + // First test with the Okular::Settings::EnumSlidesCursor::HiddenDelay setting + Okular::Settings::self()->setSlidesCursor(Okular::Settings::EnumSlidesCursor::HiddenDelay); + + qApp->notify(qApp, &enterProximityEvent); + QVERIFY(w->cursor().shape() == Qt::CursorShape(Qt::CrossCursor)); + qApp->notify(qApp, &leaveProximityEvent); + + // After the leaveProximityEvent, the cursor should be blank, because + // we have set the slidesCursor mode to 'HiddenDelay' + QVERIFY(w->cursor().shape() == Qt::CursorShape(Qt::BlankCursor)); + + // Moving the mouse should bring the cursor back + QTest::mouseMove(w, QPoint(150, 150)); + QVERIFY(w->cursor().shape() == Qt::CursorShape(Qt::ArrowCursor)); +} + +void PartTest::testOpenPrintPreview() +{ + QVariantList dummyArgs; + Okular::Part part(nullptr, dummyArgs); + QVERIFY(openDocument(&part, QStringLiteral(KDESRCDIR "data/file1.pdf"))); + part.widget()->show(); + if (qgetenv("KDECI_CANNOT_CREATE_WINDOWS") == "1") { + QSKIP("KDE CI can't create a window on this platform, skipping some gui tests"); + } + + QVERIFY(QTest::qWaitForWindowExposed(part.widget())); + TestingUtils::CloseDialogHelper closeDialogHelper(QDialogButtonBox::Close); + part.slotPrintPreview(); +} + +void PartTest::testMouseModeMenu() +{ + QVariantList dummyArgs; + Okular::Part part(nullptr, dummyArgs); + QVERIFY(openDocument(&part, QStringLiteral(KDESRCDIR "data/file1.pdf"))); + + QMetaObject::invokeMethod(part.m_pageView, "slotSetMouseNormal"); + + // Get mouse mode menu action + QAction *mouseModeAction = part.actionCollection()->action(QStringLiteral("mouse_selecttools")); + QVERIFY(mouseModeAction); + QMenu *mouseModeActionMenu = mouseModeAction->menu(); + + // Test that actions are usable (not disabled) + QVERIFY(mouseModeActionMenu->actions().at(0)->isEnabled()); + QVERIFY(mouseModeActionMenu->actions().at(1)->isEnabled()); + QVERIFY(mouseModeActionMenu->actions().at(2)->isEnabled()); + + // Test activating area selection mode + mouseModeActionMenu->actions().at(0)->trigger(); + QCOMPARE(Okular::Settings::mouseMode(), (int)Okular::Settings::EnumMouseMode::RectSelect); + + // Test activating text selection mode + mouseModeActionMenu->actions().at(1)->trigger(); + QCOMPARE(Okular::Settings::mouseMode(), (int)Okular::Settings::EnumMouseMode::TextSelect); + + // Test activating table selection mode + mouseModeActionMenu->actions().at(2)->trigger(); + QCOMPARE(Okular::Settings::mouseMode(), (int)Okular::Settings::EnumMouseMode::TableSelect); +} + +void PartTest::testFullScreenRequest() +{ + QVariantList dummyArgs; + Okular::Part part(nullptr, dummyArgs); + + // Open file. For this particular file, a dialog has to appear asking whether + // one wants to comply with the wish to go to presentation mode directly. + // Answer 'no' + auto dialogHelper = std::make_unique(&part, QDialogButtonBox::No); + QVERIFY(openDocument(&part, QStringLiteral(KDESRCDIR "data/RequestFullScreen.pdf"))); + + // Check that we are not in presentation mode + QEXPECT_FAIL("", "The presentation widget should not be shown because we clicked No in the dialog", Continue); + QTRY_VERIFY_WITH_TIMEOUT(part.m_presentationWidget, 1000); + + // Reload the file. The initial dialog should no appear again. + // (This is https://bugs.kde.org/show_bug.cgi?id=361740) + part.reload(); + + // Open the file again. Now we answer "yes, go to presentation mode" + dialogHelper = std::make_unique(&part, QDialogButtonBox::Yes); + QVERIFY(openDocument(&part, QStringLiteral(KDESRCDIR "data/RequestFullScreen.pdf"))); + + // Test whether we really are in presentation mode + QTRY_VERIFY(part.m_presentationWidget); +} + +void PartTest::testZoomInFacingPages() +{ + QVariantList dummyArgs; + Okular::Part part(nullptr, dummyArgs); + QVERIFY(openDocument(&part, QStringLiteral(KDESRCDIR "data/file2.pdf"))); + QAction *facingAction = part.m_pageView->findChild(QStringLiteral("view_render_mode_facing")); + KSelectAction *zoomSelectAction = part.m_pageView->findChild(QStringLiteral("zoom_to")); + part.widget()->resize(600, 400); + part.widget()->show(); + if (qgetenv("KDECI_CANNOT_CREATE_WINDOWS") == "1") { + QSKIP("KDE CI can't create a window on this platform, skipping some gui tests"); + } + + QVERIFY(QTest::qWaitForWindowExposed(part.widget())); + facingAction->trigger(); + while (zoomSelectAction->currentText() != QStringLiteral("12%")) { + QVERIFY(QMetaObject::invokeMethod(part.m_pageView, "slotZoomOut")); + } + QTRY_VERIFY(part.m_document->page(0)->hasPixmap(part.m_pageView)); + QVERIFY(QMetaObject::invokeMethod(part.m_pageView, "slotZoomIn")); + QVERIFY(QMetaObject::invokeMethod(part.m_pageView, "slotZoomIn")); + QVERIFY(QMetaObject::invokeMethod(part.m_pageView, "slotZoomIn")); + QVERIFY(QMetaObject::invokeMethod(part.m_pageView, "slotZoomIn")); + QVERIFY(QMetaObject::invokeMethod(part.m_pageView, "slotZoomIn")); + QTRY_COMPARE(zoomSelectAction->currentText(), QStringLiteral("66%")); + + // Back to single mode + part.m_pageView->findChild(QStringLiteral("view_render_mode_single"))->trigger(); +} + +void PartTest::testZoomWithCrop() +{ + // We test that all zoom levels can be achieved with cropped pages, bug 342003 + + QVariantList dummyArgs; + Okular::Part part(nullptr, dummyArgs); + QVERIFY(openDocument(&part, QStringLiteral(KDESRCDIR "data/file2.pdf"))); + + KActionMenu *cropMenu = part.m_pageView->findChild(QStringLiteral("view_trim_mode")); + KToggleAction *cropAction = cropMenu->menu()->findChild(QStringLiteral("view_trim_margins")); + KSelectAction *zoomSelectAction = part.m_pageView->findChild(QStringLiteral("zoom_to")); + + part.widget()->resize(600, 400); + part.widget()->show(); + if (qgetenv("KDECI_CANNOT_CREATE_WINDOWS") == "1") { + QSKIP("KDE CI can't create a window on this platform, skipping some gui tests"); + } + + QVERIFY(QTest::qWaitForWindowExposed(part.widget())); + + // Activate "Trim Margins" + QVERIFY(!Okular::Settings::trimMargins()); + cropAction->trigger(); + QVERIFY(Okular::Settings::trimMargins()); + + // Wait for the bounding boxes + QTRY_VERIFY(part.m_document->page(0)->isBoundingBoxKnown()); + QTRY_VERIFY(part.m_document->page(1)->isBoundingBoxKnown()); + + // Zoom out + for (int i = 0; i < 20; i++) { + QVERIFY(QMetaObject::invokeMethod(part.m_pageView, "slotZoomOut")); + } + QCOMPARE(zoomSelectAction->currentText(), QStringLiteral("12%")); + + // Zoom in and out and check that all zoom levels appear + QSet zooms_ref {QStringLiteral("12%"), + QStringLiteral("25%"), + QStringLiteral("33%"), + QStringLiteral("50%"), + QStringLiteral("66%"), + QStringLiteral("75%"), + QStringLiteral("100%"), + QStringLiteral("125%"), + QStringLiteral("150%"), + QStringLiteral("200%"), + QStringLiteral("400%"), + QStringLiteral("800%"), + QStringLiteral("1,600%"), + QStringLiteral("2,500%"), + QStringLiteral("5,000%"), + QStringLiteral("10,000%")}; + + for (int j = 0; j < 2; j++) { + QSet zooms; + for (int i = 0; i < 18; i++) { + zooms << zoomSelectAction->currentText(); + QVERIFY(QMetaObject::invokeMethod(part.m_pageView, j == 0 ? "slotZoomIn" : "slotZoomOut")); + } + + QVERIFY(zooms.contains(zooms_ref)); + } + + // Deactivate "Trim Margins" + QVERIFY(Okular::Settings::trimMargins()); + cropAction->trigger(); + QVERIFY(!Okular::Settings::trimMargins()); +} + +void PartTest::testLinkWithCrop() +{ + // We test that link targets are correct with cropping, related to bug 198427 + + QVariantList dummyArgs; + Okular::Part part(nullptr, dummyArgs); + QVERIFY(openDocument(&part, QStringLiteral(KDESRCDIR "data/pdf_with_internal_links.pdf"))); + + KActionMenu *cropMenu = part.m_pageView->findChild(QStringLiteral("view_trim_mode")); + KToggleAction *cropAction = cropMenu->menu()->findChild(QStringLiteral("view_trim_selection")); + + part.widget()->resize(600, 400); + part.widget()->show(); + if (qgetenv("KDECI_CANNOT_CREATE_WINDOWS") == "1") { + QSKIP("KDE CI can't create a window on this platform, skipping some gui tests"); + } + + QVERIFY(QTest::qWaitForWindowExposed(part.widget())); + + // wait for pixmap + QTRY_VERIFY(part.m_document->page(0)->hasPixmap(part.m_pageView)); + + const int width = part.m_pageView->viewport()->width(); + const int height = part.m_pageView->viewport()->height(); + + // Move to a location without a link + QTest::mouseMove(part.m_pageView->viewport(), QPoint(width * 0.1, width * 0.1)); + + // The cursor should be normal + QTRY_COMPARE(part.m_pageView->cursor().shape(), Qt::CursorShape(Qt::OpenHandCursor)); + + // Activate "Trim Margins" + cropAction->trigger(); + + // The cursor should be a cross-hair + QTRY_COMPARE(part.m_pageView->cursor().shape(), Qt::CursorShape(Qt::CrossCursor)); + + const int mouseStartY = height * 0.2; + const int mouseEndY = height * 0.8; + const int mouseStartX = width * 0.2; + const int mouseEndX = width * 0.8; + + // Trim the page + simulateMouseSelection(mouseStartX, mouseStartY, mouseEndX, mouseEndY, part.m_pageView->viewport()); + + // We seem to have a trimmed view where we just by sheer luck ends up with mouse over a link at least sometimes + // So move the mouse + QTest::mouseMove(part.m_pageView->viewport(), QPoint(width * 0.1, width * 0.1)); + + // The cursor should be normal again + QTRY_COMPARE(part.m_pageView->cursor().shape(), Qt::CursorShape(Qt::OpenHandCursor)); + + // Click a link + const QPoint click(width * 0.2, height * 0.2); + QTest::mouseMove(part.m_pageView->viewport(), click); + QTest::mouseClick(part.m_pageView->viewport(), Qt::LeftButton, Qt::NoModifier, click); + + QTRY_VERIFY2_WITH_TIMEOUT(qAbs(part.m_document->viewport().rePos.normalizedY - 0.167102333237) < 0.01, qPrintable(QStringLiteral("We are at %1").arg(part.m_document->viewport().rePos.normalizedY)), 500); + + // Deactivate "Trim Margins" + cropAction->trigger(); +} + +void PartTest::testFieldFormatting() +{ + // Test field formatting. This has to be a parttest so that we + // can properly test focus in / out which triggers formatting. + const QString testFile = QStringLiteral(KDESRCDIR "data/fieldFormat.pdf"); + Okular::Part part(nullptr, QVariantList()); + part.openDocument(testFile); + part.widget()->resize(800, 600); + + part.widget()->show(); + if (qgetenv("KDECI_CANNOT_CREATE_WINDOWS") == "1") { + QSKIP("KDE CI can't create a window on this platform, skipping some gui tests"); + } + + QVERIFY(QTest::qWaitForWindowExposed(part.widget())); + + // Field names in test document are: + // + // us_currency_fmt for formatting like "$ 1,234.56" + // de_currency_fmt for formatting like "1.234,56 €" + // de_simple_sum for calculation test and formatting like "1.234,56€" + // date_mm_dd_yyyy for dates like "18/06/2018" + // date_dd_mm_yyyy for dates like "06/18/2018" + // percent_fmt for percent format like "100,00%" if you enter 1 + // time_HH_MM_fmt for times like "23:12" + // time_HH_MM_ss_fmt for times like "23:12:34" + // special_phone_number for an example of a special format selectable in Acrobat. + QMap fields; + const Okular::Page *page = part.m_document->page(0); + const auto formFields = page->formFields(); + for (Okular::FormField *ff : formFields) { + fields.insert(ff->name(), static_cast(ff)); + } + + const int width = part.m_pageView->horizontalScrollBar()->maximum() + part.m_pageView->viewport()->width(); + const int height = part.m_pageView->verticalScrollBar()->maximum() + part.m_pageView->viewport()->height(); + + part.m_document->setViewportPage(0); + + // wait for pixmap + QTRY_VERIFY(part.m_document->page(0)->hasPixmap(part.m_pageView)); + + part.actionCollection()->action(QStringLiteral("view_toggle_forms"))->trigger(); + + // Note as of version 1.5: + // The test document is prepared for future extensions to formatting for dates etc. + // Currently we only have the number format to test. + const auto ff_us = dynamic_cast(fields.value(QStringLiteral("us_currency_fmt"))); + const auto ff_de = dynamic_cast(fields.value(QStringLiteral("de_currency_fmt"))); + const auto ff_sum = dynamic_cast(fields.value(QStringLiteral("de_simple_sum"))); + + const QPoint usPos(width * 0.25, height * 0.025); + const QPoint dePos(width * 0.25, height * 0.05); + const QPoint deSumPos(width * 0.25, height * 0.075); + + const auto viewport = part.m_pageView->viewport(); + + QVERIFY(viewport); + + auto usCurrencyWidget = dynamic_cast(viewport->childAt(usPos)); + auto deCurrencyWidget = dynamic_cast(viewport->childAt(dePos)); + auto sumCurrencyWidget = dynamic_cast(viewport->childAt(deSumPos)); + + // Check that the widgets were found at the right position + QVERIFY(usCurrencyWidget); + QVERIFY(deCurrencyWidget); + QVERIFY(sumCurrencyWidget); + + QTest::mousePress(usCurrencyWidget, Qt::LeftButton, Qt::NoModifier, QPoint(5, 5)); + QTRY_VERIFY(usCurrencyWidget->hasFocus()); + // locale is en_US for this test. Enter a value and check it. + usCurrencyWidget->setText(QStringLiteral("1234.56")); + // Check that the internal text matches + QCOMPARE(ff_us->text(), QStringLiteral("1234.56")); + + // Now move the focus to trigger formatting. + QTest::mousePress(deCurrencyWidget, Qt::LeftButton, Qt::NoModifier, QPoint(5, 5)); + QTRY_VERIFY(deCurrencyWidget->hasFocus()); + + QCOMPARE(usCurrencyWidget->text(), QStringLiteral("$ 1,234.56")); + QCOMPARE(ff_us->text(), QStringLiteral("1234.56")); + + // And again with an invalid number + QTest::mousePress(usCurrencyWidget, Qt::LeftButton, Qt::NoModifier, QPoint(5, 5)); + QTRY_VERIFY(usCurrencyWidget->hasFocus()); + + usCurrencyWidget->setText(QStringLiteral("131234.567")); + QTest::mousePress(deCurrencyWidget, Qt::LeftButton, Qt::NoModifier, QPoint(5, 5)); + QTRY_VERIFY(deCurrencyWidget->hasFocus()); + // Check that the internal text still contains it. + QCOMPARE(ff_us->text(), QStringLiteral("131234.567")); + + // Just check that the text does not match the internal text. + // We don't check for a concrete value to keep NaN handling flexible + QVERIFY(ff_us->text() != usCurrencyWidget->text()); + + // Move the focus back and modify it a bit more + QTest::mousePress(usCurrencyWidget, Qt::LeftButton, Qt::NoModifier, QPoint(5, 5)); + QTRY_VERIFY(usCurrencyWidget->hasFocus()); + + usCurrencyWidget->setText(QStringLiteral("1234.567")); + QTest::mousePress(deCurrencyWidget, Qt::LeftButton, Qt::NoModifier, QPoint(5, 5)); + QTRY_VERIFY(deCurrencyWidget->hasFocus()); + + QCOMPARE(usCurrencyWidget->text(), QStringLiteral("$ 1,234.57")); + + // Sum should already match + QCOMPARE(sumCurrencyWidget->text(), QStringLiteral("1.234,57€")); + + // Set a text in the de field + deCurrencyWidget->setText(QStringLiteral("1123234,567")); + QTest::mousePress(usCurrencyWidget, Qt::LeftButton, Qt::NoModifier, QPoint(5, 5)); + QTRY_VERIFY(usCurrencyWidget->hasFocus()); + + QCOMPARE(deCurrencyWidget->text(), QStringLiteral("1.123.234,57 €")); + QCOMPARE(ff_de->text(), QStringLiteral("1123234,567")); + QCOMPARE(sumCurrencyWidget->text(), QStringLiteral("1.124.469,13€")); + QCOMPARE(ff_sum->text(), QStringLiteral("1124469.1340000000782310962677002")); +} + +} // namespace Okular + +int main(int argc, char *argv[]) +{ + // Force consistent locale + QLocale locale(QStringLiteral("en_US.UTF-8")); + if (locale == QLocale::c()) { // This is the way to check if the above worked + locale = QLocale(QLocale::English, QLocale::UnitedStates); + } + + QLocale::setDefault(locale); + qputenv("LC_ALL", "en_US.UTF-8"); // For UNIX, third-party libraries + + // Ensure consistent configs/caches + QTemporaryDir homeDir; // QTemporaryDir automatically cleans up when it goes out of scope + Q_ASSERT(homeDir.isValid()); + QByteArray homePath = QFile::encodeName(homeDir.path()); + qDebug() << homePath; + qputenv("USERPROFILE", homePath); + qputenv("HOME", homePath); + qputenv("XDG_DATA_HOME", QByteArray(homePath + "/.local")); + qputenv("XDG_CONFIG_HOME", QByteArray(homePath + "/.kde-unit-test/xdg/config")); + + // Disable fancy debug output + qunsetenv("QT_MESSAGE_PATTERN"); + + Okular::Settings::instance(QStringLiteral("okularparttest")); + + QApplication app(argc, argv); + app.setApplicationName(QStringLiteral("okularparttest")); + app.setOrganizationDomain(QStringLiteral("kde.org")); + app.setQuitOnLastWindowClosed(false); + + qRegisterMetaType(); /*as done by kapplication*/ + qRegisterMetaType>(); + + Okular::PartTest test; + + return QTest::qExec(&test, argc, argv); +} + +#include "parttest.moc" diff --git a/autotests/searchtest.cpp b/autotests/searchtest.cpp new file mode 100644 index 0000000..ef74513 --- /dev/null +++ b/autotests/searchtest.cpp @@ -0,0 +1,430 @@ +/* + SPDX-FileCopyrightText: 2013 Albert Astals Cid + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +// clazy:excludeall=qstring-allocations + +#include +#include +#include + +#include "../core/document.h" +#include "../core/page.h" +#include "../core/textpage.h" +#include "../settings_core.h" + +Q_DECLARE_METATYPE(Okular::Document::SearchStatus) + +class SearchFinishedReceiver : public QObject +{ + Q_OBJECT + +public Q_SLOTS: + void searchFinished(int id, Okular::Document::SearchStatus status) + { + m_id = id; + m_status = status; + } + +public: + int m_id; + Okular::Document::SearchStatus m_status; +}; + +class SearchTest : public QObject +{ + Q_OBJECT + +private Q_SLOTS: + void initTestCase(); + void testNextAndPrevious(); + void test311232(); + void test323262(); + void test323263(); + void test430243(); + void testDottedI(); + void testHyphenAtEndOfLineWithoutYOverlap(); + void testHyphenWithYOverlap(); + void testHyphenAtEndOfPage(); + void testOneColumn(); + void testTwoColumns(); +}; + +void SearchTest::initTestCase() +{ + qRegisterMetaType(); + Okular::SettingsCore::instance(QStringLiteral("searchtest")); +} + +static void createTextPage(const QList &text, const QList &rect, Okular::TextPage *&tp, Okular::Page *&page) +{ + tp = new Okular::TextPage(); + for (int i = 0; i < text.size(); i++) { + tp->append(text[i], rect[i]); + } + + // The Page::setTextPage method invokes the layout analysis algorithms tested by some tests here + // and also sets the tp->d->m_page field (the latter was used in older versions of Okular by + // TextPage::stringLengthAdaptedWithHyphen). + // Note that calling "delete page;" will delete the TextPage as well. + page = new Okular::Page(1, 100, 100, Okular::Rotation0); + page->setTextPage(tp); +} + +#define CREATE_PAGE \ + QCOMPARE(text.size(), rect.size()); \ + Okular::Page *page; \ + Okular::TextPage *tp; \ + createTextPage(text, rect, tp, page); + +#define TEST_NEXT_PREV(searchType, expectedStatus) \ + { \ + Okular::RegularAreaRect *result = tp->findText(0, searchString, searchType, Qt::CaseSensitive, NULL); \ + QCOMPARE(!!result, expectedStatus); \ + delete result; \ + } + +// The test testNextAndPrevious checks that +// a) if one starts a new search, then the first or last match is found, depending on the search direction +// (2 cases: FromTop/FromBottom) +// b) if the last search has found a match, +// then clicking the "Next" button moves to the next occurrence an "Previous" to the previous one +// (if there is any). Altogether there are four combinations of the last search and new search +// direction: Next-Next, Previous-Previous, Next-Previous, Previous-Next; the first two combination +// have two subcases (the new search may give a match or not, so altogether 6 cases to test). +// This gives 8 cases altogether. By taking into account the cases where the last search has given no match, +// we would have 4 more cases (Next (no match)-Next, Next (no match)-Previous, Previous (no match)-Previous, +// Previous (no match)-Next), but those are more the business of Okular::Document::searchText rather than +// Okular::TextPage (at least in the multi-page case). + +// We have four test situations: four documents and four corresponding search strings. +// The first situation (document="ababa", search string="b") is a generic one where the +// two matches are not side-by-side and neither the first character nor the last character of +// the document match. The only special thing is that the search string has only length 1. +// The second situation (document="abab", search string="ab") is notable for that the two occurrences +// of the search string are side-by-side with no characters in between, so some off-by-one errors +// would be detected by this test. As the first match starts at the beginning at the document the +// last match ends at the end of the document, it also detects off-by-one errors for finding the first/last match. +// The third situation (document="abababa", search string="aba") is notable for it shows whether +// the next match is allowed to contain letters from the previous one: currently it is not +//(as in the majority of browsers, viewers and editors), and therefore "abababa" is considered to +// contain not three but two occurrences of "aba" (if one starts search from the beginning of the document). +// The fourth situation (document="a ba b", search string="a b") demonstrates the case when one TinyTextEntity +// contains multiple characters that are contained in different matches (namely, the middle "ba" is one TinyTextEntity); +// in particular, since these matches are side-by-side, this test would detect some off-by-one +// offset errors. + +void SearchTest::testNextAndPrevious() +{ +#define TEST_NEXT_PREV_SITUATION_COUNT 4 + + QList texts[TEST_NEXT_PREV_SITUATION_COUNT] = {QList() << QStringLiteral("a") << QStringLiteral("b") << QStringLiteral("a") << QStringLiteral("b") << QStringLiteral("a"), + QList() << QStringLiteral("a") << QStringLiteral("b") << QStringLiteral("a") << QStringLiteral("b"), + QList() << QStringLiteral("a") << QStringLiteral("b") << QStringLiteral("a") << QStringLiteral("b") << QStringLiteral("a") << QStringLiteral("b") << QStringLiteral("a"), + QList() << QStringLiteral("a") << QStringLiteral(" ") << QStringLiteral("ba") << QStringLiteral(" ") << QStringLiteral("b")}; + + QString searchStrings[TEST_NEXT_PREV_SITUATION_COUNT] = {QStringLiteral("b"), QStringLiteral("ab"), QStringLiteral("aba"), QStringLiteral("a b")}; + + for (int i = 0; i < TEST_NEXT_PREV_SITUATION_COUNT; i++) { + const QList &text = texts[i]; + const QString &searchString = searchStrings[i]; + + QList rect; + + for (int i = 0; i < text.size(); i++) { + rect << Okular::NormalizedRect(0.1 * i, 0.0, 0.1 * (i + 1), 0.1); + } + + CREATE_PAGE; + + // Test 3 of the 8 cases listed above: + // FromTop, Next-Next (match) and Next-Next (no match) + TEST_NEXT_PREV(Okular::FromTop, true); + TEST_NEXT_PREV(Okular::NextResult, true); + TEST_NEXT_PREV(Okular::NextResult, false); + + // Test 5 cases: FromBottom, Previous-Previous (match), Previous-Next, + // Next-Previous, Previous-Previous (no match) + TEST_NEXT_PREV(Okular::FromBottom, true); + TEST_NEXT_PREV(Okular::PreviousResult, true); + TEST_NEXT_PREV(Okular::NextResult, true); + TEST_NEXT_PREV(Okular::PreviousResult, true); + TEST_NEXT_PREV(Okular::PreviousResult, false); + + delete page; + } +} + +void SearchTest::test311232() +{ + Okular::Document d(nullptr); + SearchFinishedReceiver receiver; + QSignalSpy spy(&d, &Okular::Document::searchFinished); + + QObject::connect(&d, &Okular::Document::searchFinished, &receiver, &SearchFinishedReceiver::searchFinished); + + const QString testFile = QStringLiteral(KDESRCDIR "data/file1.pdf"); + QMimeDatabase db; + const QMimeType mime = db.mimeTypeForFile(testFile); + d.openDocument(testFile, QUrl(), mime); + + const int searchId = 0; + d.searchText(searchId, QStringLiteral(" i "), true, Qt::CaseSensitive, Okular::Document::NextMatch, false, QColor()); + QTRY_COMPARE(spy.count(), 1); + QCOMPARE(receiver.m_id, searchId); + QCOMPARE(receiver.m_status, Okular::Document::MatchFound); + + d.continueSearch(searchId, Okular::Document::PreviousMatch); + QTRY_COMPARE(spy.count(), 2); + QCOMPARE(receiver.m_id, searchId); + QCOMPARE(receiver.m_status, Okular::Document::NoMatchFound); +} + +void SearchTest::test323262() +{ + QList text; + text << QStringLiteral("a\n"); + + QList rect; + rect << Okular::NormalizedRect(1, 2, 3, 4); + + CREATE_PAGE; + + Okular::RegularAreaRect *result = tp->findText(0, QStringLiteral("a"), Okular::FromBottom, Qt::CaseSensitive, nullptr); + QVERIFY(result); + delete result; + + delete page; +} + +void SearchTest::test323263() +{ + QList text; + text << QStringLiteral("a") << QStringLiteral("a") << QStringLiteral("b"); + + QList rect; + rect << Okular::NormalizedRect(0, 0, 1, 1) << Okular::NormalizedRect(1, 0, 2, 1) << Okular::NormalizedRect(2, 0, 3, 1); + + CREATE_PAGE; + + Okular::RegularAreaRect *result = tp->findText(0, QStringLiteral("ab"), Okular::FromTop, Qt::CaseSensitive, nullptr); + QVERIFY(result); + Okular::RegularAreaRect expected; + expected.append(rect[1]); + expected.append(rect[2]); + expected.simplify(); + QCOMPARE(*result, expected); + delete result; + + delete page; +} + +void SearchTest::test430243() +{ + // 778 is COMBINING RING ABOVE + // 197 is LATIN CAPITAL LETTER A WITH RING ABOVE + QList text; + text << QStringLiteral("A") << QString(QChar(778)); + + QList rect; + rect << Okular::NormalizedRect(0, 0, 1, 1) << Okular::NormalizedRect(1, 0, 2, 1); + + CREATE_PAGE; + + Okular::RegularAreaRect *result = tp->findText(0, QString(QChar(197)), Okular::FromTop, Qt::CaseSensitive, nullptr); + QVERIFY(result); + Okular::RegularAreaRect expected; + expected.append(rect[0] | rect[1]); + QCOMPARE(*result, expected); + delete result; + + delete page; +} + +void SearchTest::testDottedI() +{ + // Earlier versions of okular had the bug that the letter "İ" (capital dotter i) did not match itself + // in case-insensitive mode (this was caused by an unnecessary call of toLower() and the fact that + // QString::fromUtf8("İ").compare(QString::fromUtf8("İ").toLower(), Qt::CaseInsensitive) == FALSE, + // at least in Qt 4.8). + + // In the future it would be nice to add support for matching "İ"<->"i" and "I"<->"ı" in case-insensitive + // mode as well (QString::compare does not match them, at least in non-Turkish locales, since it follows + // the Unicode case-folding rules https://www.unicode.org/Public/6.2.0/ucd/CaseFolding.txt). + + QList text; + text << QStringLiteral("İ"); + + QList rect; + rect << Okular::NormalizedRect(1, 2, 3, 4); + + CREATE_PAGE; + + Okular::RegularAreaRect *result = tp->findText(0, QStringLiteral("İ"), Okular::FromTop, Qt::CaseInsensitive, nullptr); + QVERIFY(result); + delete result; + + delete page; +} + +void SearchTest::testHyphenAtEndOfLineWithoutYOverlap() +{ + QList text; + text << QStringLiteral("super-") << QStringLiteral("cali-\n") << QStringLiteral("fragilistic") << QStringLiteral("-") << QStringLiteral("expiali") << QStringLiteral("-\n") << QStringLiteral("docious"); + + QList rect; + rect << Okular::NormalizedRect(0.4, 0.0, 0.9, 0.1) << Okular::NormalizedRect(0.0, 0.1, 0.6, 0.2) << Okular::NormalizedRect(0.0, 0.2, 0.8, 0.3) << Okular::NormalizedRect(0.8, 0.2, 0.9, 0.3) << Okular::NormalizedRect(0.0, 0.3, 0.8, 0.4) + << Okular::NormalizedRect(0.8, 0.3, 0.9, 0.4) << Okular::NormalizedRect(0.0, 0.4, 0.7, 0.5); + + CREATE_PAGE; + + Okular::RegularAreaRect *result = tp->findText(0, QStringLiteral("supercalifragilisticexpialidocious"), Okular::FromTop, Qt::CaseSensitive, nullptr); + QVERIFY(result); + Okular::RegularAreaRect expected; + for (int i = 0; i < text.size(); i++) { + expected.append(rect[i]); + } + expected.simplify(); + QCOMPARE(*result, expected); + delete result; + + result = tp->findText(0, QStringLiteral("supercalifragilisticexpialidocious"), Okular::FromBottom, Qt::CaseSensitive, nullptr); + QVERIFY(result); + QCOMPARE(*result, expected); + delete result; + + // If the user is looking for the text explicitly with the hyphen also find it + result = tp->findText(0, QStringLiteral("super-cali-fragilistic"), Okular::FromTop, Qt::CaseSensitive, nullptr); + QVERIFY(result); + delete result; + + // If the user is looking for the text explicitly with the hyphen also find it + result = tp->findText(0, QStringLiteral("super-cali-fragilistic"), Okular::FromBottom, Qt::CaseSensitive, nullptr); + QVERIFY(result); + delete result; + + delete page; +} + +#define CREATE_PAGE_AND_TEST_SEARCH(searchString, matchExpected) \ + { \ + CREATE_PAGE; \ + \ + Okular::RegularAreaRect *result = tp->findText(0, QStringLiteral(searchString), Okular::FromTop, Qt::CaseSensitive, NULL); \ + \ + QCOMPARE(!!result, matchExpected); \ + \ + delete result; \ + delete page; \ + } + +void SearchTest::testHyphenWithYOverlap() +{ + QList text; + text << QStringLiteral("a-") << QStringLiteral("b"); + + QList rect(2); + + // different lines (50% y-coordinate overlap), first rectangle has larger height + rect[0] = Okular::NormalizedRect(0.0, 0.0, 0.9, 0.35); + rect[1] = Okular::NormalizedRect(0.0, 0.3, 0.2, 0.4); + CREATE_PAGE_AND_TEST_SEARCH("ab", true); + + // different lines (50% y-coordinate overlap), second rectangle has larger height + rect[0] = Okular::NormalizedRect(0.0, 0.0, 0.9, 0.1); + rect[1] = Okular::NormalizedRect(0.0, 0.05, 0.2, 0.4); + CREATE_PAGE_AND_TEST_SEARCH("ab", true); + + // same line (90% y-coordinate overlap), first rectangle has larger height + rect[0] = Okular::NormalizedRect(0.0, 0.0, 0.4, 0.2); + rect[1] = Okular::NormalizedRect(0.4, 0.11, 0.6, 0.21); + CREATE_PAGE_AND_TEST_SEARCH("ab", false); + CREATE_PAGE_AND_TEST_SEARCH("a-b", true); + + // same line (90% y-coordinate overlap), second rectangle has larger height + rect[0] = Okular::NormalizedRect(0.0, 0.0, 0.4, 0.1); + rect[1] = Okular::NormalizedRect(0.4, 0.01, 0.6, 0.2); + CREATE_PAGE_AND_TEST_SEARCH("ab", false); + CREATE_PAGE_AND_TEST_SEARCH("a-b", true); +} + +void SearchTest::testHyphenAtEndOfPage() +{ + // Tests for segmentation fault that would occur if + // we tried look ahead (for determining whether the + // next character is at the same line) at the end of the page. + + QList text; + text << QStringLiteral("a-"); + + QList rect; + rect << Okular::NormalizedRect(0, 0, 1, 1); + + CREATE_PAGE; + + { + Okular::RegularAreaRect *result = tp->findText(0, QStringLiteral("a"), Okular::FromTop, Qt::CaseSensitive, nullptr); + QVERIFY(result); + delete result; + } + + { + Okular::RegularAreaRect *result = tp->findText(0, QStringLiteral("a"), Okular::FromBottom, Qt::CaseSensitive, nullptr); + QVERIFY(result); + delete result; + } + + delete page; +} + +void SearchTest::testOneColumn() +{ + // Tests that the layout analysis algorithm does not create too many columns. + // Bug 326207 was caused by the fact that if all the horizontal breaks in a line + // had the same length and were smaller than vertical breaks between lines then + // the horizontal breaks were treated as column separators. + //(Note that "same length" means "same length after rounding rectangles to integer pixels". + // The resolution used by the XY Cut algorithm with a square page is 1000 x 1000, + // and the horizontal spaces in the example are 0.1, so they are indeed both exactly 100 pixels.) + + QList text; + text << QStringLiteral("Only") << QStringLiteral("one") << QStringLiteral("column") << QStringLiteral("here"); + + // characters and line breaks have length 0.05, word breaks 0.1 + QList rect; + rect << Okular::NormalizedRect(0.0, 0.0, 0.2, 0.1) << Okular::NormalizedRect(0.3, 0.0, 0.5, 0.1) << Okular::NormalizedRect(0.6, 0.0, 0.9, 0.1) << Okular::NormalizedRect(0.0, 0.15, 0.2, 0.25); + + CREATE_PAGE; + + Okular::RegularAreaRect *result = tp->findText(0, QStringLiteral("Only one column"), Okular::FromTop, Qt::CaseSensitive, nullptr); + QVERIFY(result); + delete result; + + delete page; +} + +void SearchTest::testTwoColumns() +{ + // Tests that the layout analysis algorithm can detect two columns. + + QList text; + text << QStringLiteral("This") << QStringLiteral("text") << QStringLiteral("in") << QStringLiteral("two") << QStringLiteral("is") << QStringLiteral("set") << QStringLiteral("columns."); + + // characters, word breaks and line breaks have length 0.05 + QList rect; + rect << Okular::NormalizedRect(0.0, 0.0, 0.20, 0.1) << Okular::NormalizedRect(0.25, 0.0, 0.45, 0.1) << Okular::NormalizedRect(0.6, 0.0, 0.7, 0.1) << Okular::NormalizedRect(0.75, 0.0, 0.9, 0.1) + << Okular::NormalizedRect(0.0, 0.15, 0.1, 0.25) << Okular::NormalizedRect(0.15, 0.15, 0.3, 0.25) << Okular::NormalizedRect(0.6, 0.15, 1.0, 0.25); + + CREATE_PAGE; + + Okular::RegularAreaRect *result = tp->findText(0, QStringLiteral("This text in"), Okular::FromTop, Qt::CaseSensitive, nullptr); + QVERIFY(!result); + delete result; + + delete page; +} + +QTEST_MAIN(SearchTest) +#include "searchtest.moc" diff --git a/autotests/shelltest.cpp b/autotests/shelltest.cpp new file mode 100644 index 0000000..f26c0f3 --- /dev/null +++ b/autotests/shelltest.cpp @@ -0,0 +1,85 @@ +/* + SPDX-FileCopyrightText: 2009 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include + +#include +#include + +#include "../shell/shellutils.h" + +static const QUrl makeUrlFromCwd(const QString &u, const QString &ref = QString()) +{ + QUrl url = QUrl::fromLocalFile(QDir::currentPath() + QLatin1Char('/') + u); + if (!ref.isEmpty()) { + url.setFragment(ref); + } + url.setPath(QDir::cleanPath(url.path())); + return url; +} + +static bool fileExist_always_Func(const QString &) +{ + return true; +} + +static bool fileExist_never_Func(const QString &) +{ + return false; +} + +class ShellTest : public QObject +{ + Q_OBJECT + +private Q_SLOTS: + void initTestCase(); + void testUrlArgs_data(); + void testUrlArgs(); +}; + +void ShellTest::initTestCase() +{ + qRegisterMetaType(); +} + +void ShellTest::testUrlArgs_data() +{ + QTest::addColumn("arg"); + QTest::addColumn("exists"); + QTest::addColumn("resUrl"); + + // local files + QTest::newRow("foo.pdf, exist") << "foo.pdf" << true << makeUrlFromCwd(QStringLiteral("foo.pdf")); + QTest::newRow("foo.pdf, !exist") << "foo.pdf" << false << makeUrlFromCwd(QStringLiteral("foo.pdf")); + QTest::newRow("foo#bar.pdf, exist") << "foo#bar.pdf" << true << makeUrlFromCwd(QStringLiteral("foo#bar.pdf")); + QTest::newRow("foo#bar.pdf, !exist") << "foo#bar.pdf" << false << makeUrlFromCwd(QStringLiteral("foo"), QStringLiteral("bar.pdf")); + QTest::newRow("foo.pdf#anchor, !exist") << "foo.pdf#anchor" << false << makeUrlFromCwd(QStringLiteral("foo.pdf"), QStringLiteral("anchor")); + QTest::newRow("#207461") << "file:///tmp/file%20with%20spaces.pdf" << true << QUrl(QStringLiteral("file:///tmp/file%20with%20spaces.pdf")); + + // non-local files + QTest::newRow("http://kde.org/foo.pdf") << "http://kde.org/foo.pdf" << true << QUrl(QStringLiteral("http://kde.org/foo.pdf")); + QUrl withAnchor(QStringLiteral("http://kde.org/foo.pdf")); + withAnchor.setFragment(QStringLiteral("anchor")); + QTest::newRow("http://kde.org/foo.pdf#anchor") << "http://kde.org/foo.pdf#anchor" << true << withAnchor; + QTest::newRow("#207461") << "http://homepages.inf.ed.ac.uk/mef/file%20with%20spaces.pdf" << true << QUrl(QStringLiteral("http://homepages.inf.ed.ac.uk/mef/file%20with%20spaces.pdf")); + QUrl openOnPage3 = QUrl(QStringLiteral("http://itzsimpl.info/lectures/CG/L2-transformations.pdf")); + openOnPage3.setFragment(QStringLiteral("3")); + QTest::newRow("RR124738") << "http://itzsimpl.info/lectures/CG/L2-transformations.pdf#3" << true << openOnPage3; +} + +void ShellTest::testUrlArgs() +{ + QFETCH(QString, arg); + QFETCH(bool, exists); + QFETCH(QUrl, resUrl); + qDebug() << "Expected url:" << resUrl << "path =" << resUrl.path() << "fragment =" << resUrl.fragment(); + QUrl url = ShellUtils::urlFromArg(arg, exists ? fileExist_always_Func : fileExist_never_Func); + QCOMPARE(url, resUrl); +} + +QTEST_GUILESS_MAIN(ShellTest) +#include "shelltest.moc" diff --git a/autotests/signatureformtest.cpp b/autotests/signatureformtest.cpp new file mode 100644 index 0000000..9642fda --- /dev/null +++ b/autotests/signatureformtest.cpp @@ -0,0 +1,58 @@ +/* + SPDX-FileCopyrightText: 2018 Chinmoy Ranjan Pradhan + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include + +#include +#include + +#include "../settings_core.h" +#include +#include +#include + +class SignatureFormTest : public QObject +{ + Q_OBJECT + +private Q_SLOTS: + void initTestCase(); + void cleanupTestCase(); + void testSignatureForm(); + +private: + Okular::Document *m_document; +}; + +void SignatureFormTest::initTestCase() +{ + Okular::SettingsCore::instance(QStringLiteral("signatureformtest")); + m_document = new Okular::Document(nullptr); +} + +void SignatureFormTest::cleanupTestCase() +{ + delete m_document; +} + +void SignatureFormTest::testSignatureForm() +{ + const QString testFile = QStringLiteral(KDESRCDIR "data/pdf_with_signature.pdf"); + QMimeDatabase db; + const QMimeType mime = db.mimeTypeForFile(testFile); + QCOMPARE(m_document->openDocument(testFile, QUrl(), mime), Okular::Document::OpenSuccess); + + const Okular::Page *page = m_document->page(0); + const QList pageFields = page->formFields(); + QCOMPARE(pageFields.size(), 1); + QCOMPARE(pageFields.first()->type(), Okular::FormField::FormSignature); + + Okular::FormFieldSignature *sf = static_cast(pageFields.first()); + QCOMPARE(sf->signatureType(), Okular::FormFieldSignature::AdbePkcs7detached); +} + +QTEST_MAIN(SignatureFormTest) +#include "signatureformtest.moc" diff --git a/autotests/signunsignedfieldtest.cpp b/autotests/signunsignedfieldtest.cpp new file mode 100644 index 0000000..ccfced5 --- /dev/null +++ b/autotests/signunsignedfieldtest.cpp @@ -0,0 +1,122 @@ +/* + SPDX-FileCopyrightText: 2022 Albert Astals Cid + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include +#include +#include +#include +#include +#include +#include + +#include "../core/document.h" +#include "../core/form.h" +#include "../core/page.h" +#include "../settings_core.h" + +class EnterPasswordDialogHelper : public QObject +{ + Q_OBJECT + +public: + EnterPasswordDialogHelper() + { + QTimer::singleShot(0, this, &EnterPasswordDialogHelper::enterPassword); + } + + void enterPassword() + { + QWidget *dialog = qApp->activeModalWidget(); + if (!dialog) { + QTimer::singleShot(0, this, &EnterPasswordDialogHelper::enterPassword); + return; + } + QLineEdit *lineEdit = dialog->findChild(); + lineEdit->setText(QStringLiteral("fakeokular")); + + QDialogButtonBox *buttonBox = dialog->findChild(); + buttonBox->button(QDialogButtonBox::Ok)->click(); + } +}; + +class SignUnsignedFieldTest : public QObject +{ + Q_OBJECT + +private Q_SLOTS: + void initTestCase(); + void init(); + void cleanup(); + void testSignUnsignedField(); + +private: + Okular::Document *m_document; +}; + +void SignUnsignedFieldTest::initTestCase() +{ + QStandardPaths::setTestModeEnabled(true); + Okular::SettingsCore::instance(QStringLiteral("signunsignedfieldtest")); + + KConfig cfg(QStringLiteral("okular-generator-popplerrc")); + KConfigGroup g = cfg.group(QStringLiteral("Signatures")); + g.writeEntry(QStringLiteral("UseDefaultCertDB"), false); + g.writeEntry(QStringLiteral("DBCertificatePath"), "file:///" KDESRCDIR "data/fake_okular_certstore"); + + m_document = new Okular::Document(nullptr); +} + +void SignUnsignedFieldTest::init() +{ + const QString testFile = QStringLiteral(KDESRCDIR "data/hello_with_dummy_signature.pdf"); + QMimeDatabase db; + const QMimeType mime = db.mimeTypeForFile(testFile); + QCOMPARE(m_document->openDocument(testFile, QUrl(), mime), Okular::Document::OpenSuccess); +} + +void SignUnsignedFieldTest::cleanup() +{ + m_document->closeDocument(); +} + +void SignUnsignedFieldTest::testSignUnsignedField() +{ + const QList forms = m_document->page(0)->formFields(); + QCOMPARE(forms.count(), 1); + Okular::FormFieldSignature *ffs = dynamic_cast(forms.first()); + + QCOMPARE(ffs->signatureType(), Okular::FormFieldSignature::UnsignedSignature); + + const Okular::CertificateStore *certStore = m_document->certificateStore(); + bool userCancelled, nonDateValidCerts; + { + EnterPasswordDialogHelper helper; + const QList &certs = certStore->signingCertificatesForNow(&userCancelled, &nonDateValidCerts); + QCOMPARE(certs.count(), 1); + } + + Okular::NewSignatureData data; + data.setCertNickname(QStringLiteral("fake-okular")); + QTemporaryFile f; + bool success = f.open(); + QVERIFY(success); + auto signResult = ffs->sign(data, f.fileName()); + QCOMPARE(signResult.first, Okular::SigningResult::SigningSuccess); + + m_document->closeDocument(); + QMimeDatabase db; + const QMimeType mime = db.mimeTypeForFile(f.fileName()); + QCOMPARE(m_document->openDocument(f.fileName(), QUrl(), mime), Okular::Document::OpenSuccess); + + const QList newForms = m_document->page(0)->formFields(); + QCOMPARE(newForms.count(), 1); + ffs = dynamic_cast(newForms.first()); + QCOMPARE(ffs->signatureType(), Okular::FormFieldSignature::AdbePkcs7detached); + QCOMPARE(ffs->signatureInfo().signerName(), QStringLiteral("FakeOkular")); +} + +QTEST_MAIN(SignUnsignedFieldTest) +#include "signunsignedfieldtest.moc" diff --git a/autotests/suggestedfilenametest.cpp b/autotests/suggestedfilenametest.cpp new file mode 100644 index 0000000..522df3b --- /dev/null +++ b/autotests/suggestedfilenametest.cpp @@ -0,0 +1,53 @@ +/* + SPDX-FileCopyrightText: 2023 g10 Code GmbH + SPDX-FileContributor: Sune Stolborg Vuorela + + SPDX-License-Identifier: GPL-2.0-or-later +*/ +#include + +#include "../part/signaturepartutils.h" + +class SuggestedFileNameTest : public QObject +{ + Q_OBJECT +private Q_SLOTS: + void initTestCase(); + void testSuggestedSignedDocumentName(); + void testSuggestedSignedDocumentName_data(); +}; + +void SuggestedFileNameTest::initTestCase() +{ + qputenv("LC_ALL", "en_US.UTF-8"); +} + +void SuggestedFileNameTest::testSuggestedSignedDocumentName() +{ + QFETCH(QString, input); + QFETCH(QString, preferredSuffix); + QFETCH(QString, expected); + + auto output = SignaturePartUtils::getSuggestedFileNameForSignedFile(input, preferredSuffix); + QCOMPARE(output, expected); +} + +void SuggestedFileNameTest::testSuggestedSignedDocumentName_data() +{ + QTest::addColumn("input"); + QTest::addColumn("preferredSuffix"); // normally derived from mimetype of document + QTest::addColumn("expected"); + + QTest::newRow("simple") << QStringLiteral("foo.pdf") << QStringLiteral("pdf") << QStringLiteral("foo_signed.pdf"); + QTest::newRow("double extensions") << QStringLiteral("foo.pdf.gz") << QStringLiteral("pdf") << QStringLiteral("foo_signed.pdf"); // while we might read compressed files, we don't write them out + QTest::newRow("versioning") << QStringLiteral("foo-1.2.3.pdf") << QStringLiteral("pdf") << QStringLiteral("foo-1.2.3_signed.pdf"); + QTest::newRow("versioned and double extensions") << QStringLiteral("foo-1.2.3.pdf.gz") << QStringLiteral("pdf") << QStringLiteral("foo-1.2.3_signed.pdf"); + QTest::newRow("gif") << QStringLiteral("foo.gif") << QStringLiteral("pdf") << QStringLiteral("foo_signed.pdf"); + QTest::newRow("version gif") << QStringLiteral("foo-1.2.3.gif") << QStringLiteral("pdf") << QStringLiteral("foo-1.2.3_signed.pdf"); + QTest::newRow("no extension") << QStringLiteral("foo") << QStringLiteral("pdf") << QStringLiteral("foo_signed.pdf"); + QTest::newRow("no extension with versions") << QStringLiteral("foo-1.2.3") << QStringLiteral("pdf") << QStringLiteral("foo-1.2_signed.pdf"); // This is not as such expected behavior but more a documentation of implementation. +} + +QTEST_GUILESS_MAIN(SuggestedFileNameTest) + +#include "suggestedfilenametest.moc" diff --git a/autotests/testingutils.cpp b/autotests/testingutils.cpp new file mode 100644 index 0000000..a7acc3e --- /dev/null +++ b/autotests/testingutils.cpp @@ -0,0 +1,53 @@ +/* + SPDX-FileCopyrightText: 2013 Jon Mease + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "testingutils.h" +#include "core/annotations.h" + +#include + +namespace TestingUtils +{ +QString getAnnotationXml(const Okular::Annotation *annotation) +{ + QString annotXmlString; + QTextStream stream(&annotXmlString, QIODevice::Append); + annotation->getAnnotationPropertiesDomNode().save(stream, 0); + return annotXmlString; +} + +bool pointListsAlmostEqual(const QList &points1, const QList &points2) +{ + QListIterator it1(points1); + QListIterator it2(points2); + while (it1.hasNext() && it2.hasNext()) { + const Okular::NormalizedPoint &p1 = it1.next(); + const Okular::NormalizedPoint &p2 = it2.next(); + if (!qFuzzyCompare(p1.x, p2.x) || !qFuzzyCompare(p1.y, p2.y)) { + return false; + } + } + return !it1.hasNext() && !it2.hasNext(); +} + +QString AnnotationDisposeWatcher::m_disposedAnnotationName = QString(); // krazy:exclude=nullstrassign + +QString AnnotationDisposeWatcher::disposedAnnotationName() +{ + return m_disposedAnnotationName; +} + +void AnnotationDisposeWatcher::resetDisposedAnnotationName() +{ + m_disposedAnnotationName = QString(); +} + +void AnnotationDisposeWatcher::disposeAnnotation(const Okular::Annotation *ann) +{ + m_disposedAnnotationName = ann->uniqueName(); +} + +} diff --git a/autotests/testingutils.h b/autotests/testingutils.h new file mode 100644 index 0000000..f3fdaaa --- /dev/null +++ b/autotests/testingutils.h @@ -0,0 +1,50 @@ +/* + SPDX-FileCopyrightText: 2013 Jon Mease + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef OKULAR_TESTINGUTILS_H +#define OKULAR_TESTINGUTILS_H + +template class QList; +class QString; + +namespace Okular +{ +class NormalizedPoint; +class Annotation; +} + +namespace TestingUtils +{ +/** + * Return the XML string associated with an annotation's properties + */ +QString getAnnotationXml(const Okular::Annotation *annotation); + +/** + * Returns true if the pairwise comparison coordinates of points in @p points1 and @p points2 are almost + * equal (according to qFuzzyCompare) + */ +bool pointListsAlmostEqual(const QList &points1, const QList &points2); + +/* + * The AnnotationDisposeWatcher class provides a static disposeAnnotation function + * that may be assigned to an annotation with Annotation::setDisposeDataFunction in order to + * determine when an annotation has been disposed of. + */ +class AnnotationDisposeWatcher +{ +private: + static QString m_disposedAnnotationName; + +public: + static QString disposedAnnotationName(); + static void resetDisposedAnnotationName(); + static void disposeAnnotation(const Okular::Annotation *ann); +}; + +} + +#endif diff --git a/autotests/toggleactionmenutest.cpp b/autotests/toggleactionmenutest.cpp new file mode 100644 index 0000000..94714a7 --- /dev/null +++ b/autotests/toggleactionmenutest.cpp @@ -0,0 +1,85 @@ +/* + SPDX-FileCopyrightText: 2020 David Hurka + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include + +#include "../part/toggleactionmenu.h" +#include + +class ToggleActionMenuTest : public QObject +{ + Q_OBJECT + +private Q_SLOTS: + void testSetDefaultAction(); + void testDeleteToolBarButton(); +}; + +void ToggleActionMenuTest::testSetDefaultAction() +{ + QToolBar dummyToolBar; + ToggleActionMenu menu(QStringLiteral("Menu"), this); + QAction *actionA = new QAction(QStringLiteral("A"), this); + QAction *actionB = new QAction(QStringLiteral("B"), this); + + // Do not set a default action, the menu should behave as plain KActionMenu. + QCOMPARE(menu.defaultAction(), &menu); + QToolButton *menuButton = qobject_cast(menu.createWidget(&dummyToolBar)); + QVERIFY(menuButton); + QCOMPARE(menuButton->defaultAction(), &menu); + + // Should still behave as plain KActionMenu when actions are added. + menu.addAction(actionA); + QCOMPARE(menu.defaultAction(), &menu); + QCOMPARE(menuButton->defaultAction(), &menu); + + // Set an action from the menu as default action, should work. + menu.setDefaultAction(actionA); + QCOMPARE(menu.defaultAction(), actionA); + QCOMPARE(menuButton->defaultAction(), actionA); + + // Set a foreign action as default action, should reset the default action. + menu.setDefaultAction(actionB); + QCOMPARE(menu.defaultAction(), &menu); + QCOMPARE(menuButton->defaultAction(), &menu); + + // Set an action of the menu as default action, should work. + menu.setDefaultAction(actionA); + QCOMPARE(menu.defaultAction(), actionA); + QCOMPARE(menuButton->defaultAction(), actionA); + + // Remove default action from menu, should reset the default action. + menu.removeAction(actionA); + QCOMPARE(menu.defaultAction(), &menu); + QCOMPARE(menuButton->defaultAction(), &menu); +} + +void ToggleActionMenuTest::testDeleteToolBarButton() +{ + QToolBar dummyToolBar; + ToggleActionMenu menu(QStringLiteral("Menu"), this); + QAction *actionA = new QAction(QStringLiteral("A"), this); + QAction *actionB = new QAction(QStringLiteral("B"), this); + + // Setup: set a default action and create two toolbar buttons. + menu.addAction(actionA); + menu.addAction(actionB); + menu.setDefaultAction(actionA); + QToolButton *menuButtonA = qobject_cast(menu.createWidget(&dummyToolBar)); + QVERIFY(menuButtonA); + QCOMPARE(menuButtonA->defaultAction(), actionA); + QToolButton *menuButtonB = qobject_cast(menu.createWidget(&dummyToolBar)); + QVERIFY(menuButtonB); + + // Delete button B, and set a new default action. Button A shall be updated without segfaulting on the deleted button B. + delete menuButtonB; + menu.setDefaultAction(actionB); + QCOMPARE(menuButtonA->defaultAction(), actionB); +} + +QTEST_MAIN(ToggleActionMenuTest) + +#include "toggleactionmenutest.moc" diff --git a/autotests/translateannotationtest.cpp b/autotests/translateannotationtest.cpp new file mode 100644 index 0000000..f63839a --- /dev/null +++ b/autotests/translateannotationtest.cpp @@ -0,0 +1,213 @@ +/* + SPDX-FileCopyrightText: 2013 Jon Mease + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include + +#include "../settings_core.h" +#include "core/annotations.h" +#include "core/document.h" +#include "testingutils.h" +#include +#include + +Okular::LineAnnotation *getNewLineAnnotation(double startX, double startY, double endX, double endY) +{ + Okular::LineAnnotation *line = new Okular::LineAnnotation; + line->setLinePoints({Okular::NormalizedPoint(startX, startY), Okular::NormalizedPoint(endX, endY)}); + + double left = qMin(startX, endX); + double top = qMin(startY, endY); + double right = qMax(startX, endX); + double bottom = qMax(startY, endY); + + line->setBoundingRectangle(Okular::NormalizedRect(left, top, right, bottom)); + return line; +} + +class TranslateAnnotationTest : public QObject +{ + Q_OBJECT + +private Q_SLOTS: + void initTestCase(); + void cleanupTestCase(); + void init(); + void cleanup(); + void testTranslateAnnotation(); + void testSequentialTranslationsMergedIfBeingMovedIsSet(); + void testSequentialTranslationsNotMergedIfBeingMovedIsNotSet(); + void testAlternateTranslationsNotMerged(); + +private: + Okular::Document *m_document; + Okular::LineAnnotation *m_annot1; + Okular::LineAnnotation *m_annot2; + + Okular::NormalizedPoint m_deltaA; + Okular::NormalizedPoint m_deltaB; + + QList m_origPoints1; + QList m_origPoints2; + + QList m_points1DeltaA; + QList m_points1DeltaAB; + QList m_points2DeltaA; + QList m_points2DeltaAB; +}; + +void TranslateAnnotationTest::initTestCase() +{ + Okular::SettingsCore::instance(QStringLiteral("editannotationcontentstest")); + m_document = new Okular::Document(nullptr); + + // translate m_annot1 + m_deltaA = Okular::NormalizedPoint(0.05, 0.1); + m_deltaB = Okular::NormalizedPoint(0.1, 0.2); + + // Build lists of expected points for various states + m_origPoints1 = {Okular::NormalizedPoint(0.1, 0.1), Okular::NormalizedPoint(0.2, 0.3)}; + + m_points1DeltaA = {Okular::NormalizedPoint(0.15, 0.2), Okular::NormalizedPoint(0.25, 0.4)}; + + m_points1DeltaAB = {Okular::NormalizedPoint(0.25, 0.4), Okular::NormalizedPoint(0.35, 0.6)}; + + m_origPoints2 = {Okular::NormalizedPoint(0.1, 0.1), Okular::NormalizedPoint(0.3, 0.4)}; + + m_points2DeltaA = {Okular::NormalizedPoint(0.15, 0.2), Okular::NormalizedPoint(0.35, 0.5)}; + + m_points2DeltaAB = {Okular::NormalizedPoint(0.25, 0.4), Okular::NormalizedPoint(0.45, 0.7)}; +} + +void TranslateAnnotationTest::cleanupTestCase() +{ + delete m_document; +} + +void TranslateAnnotationTest::init() +{ + const QString testFile = QStringLiteral(KDESRCDIR "data/file1.pdf"); + QMimeDatabase db; + const QMimeType mime = db.mimeTypeForFile(testFile); + QCOMPARE(m_document->openDocument(testFile, QUrl(), mime), Okular::Document::OpenSuccess); + + // Undo and Redo should be unavailable when docuemnt is first opened. + QVERIFY(!m_document->canUndo()); + QVERIFY(!m_document->canRedo()); + + // Create two distinct line annotations and add them to the document + m_annot1 = getNewLineAnnotation(m_origPoints1.first().x, m_origPoints1.first().y, m_origPoints1.last().x, m_origPoints1.last().y); + m_document->addPageAnnotation(0, m_annot1); + + m_annot2 = getNewLineAnnotation(m_origPoints2.first().x, m_origPoints2.first().y, m_origPoints2.last().x, m_origPoints2.last().y); + m_document->addPageAnnotation(0, m_annot2); +} + +void TranslateAnnotationTest::cleanup() +{ + m_document->closeDocument(); + // m_annot1 and m_annot2 are deleted when document is closed +} + +void TranslateAnnotationTest::testTranslateAnnotation() +{ + QVERIFY(TestingUtils::pointListsAlmostEqual(m_annot1->linePoints(), m_origPoints1)); + m_document->translatePageAnnotation(0, m_annot1, m_deltaA); + QVERIFY(TestingUtils::pointListsAlmostEqual(m_annot1->linePoints(), m_points1DeltaA)); + + // undo and ensure m_annot1 is back to where it started + m_document->undo(); + QVERIFY(TestingUtils::pointListsAlmostEqual(m_annot1->linePoints(), m_origPoints1)); + + // redo then translate m_annot1 by m_deltaB + m_document->redo(); + QVERIFY(TestingUtils::pointListsAlmostEqual(m_annot1->linePoints(), m_points1DeltaA)); +} + +void TranslateAnnotationTest::testSequentialTranslationsMergedIfBeingMovedIsSet() +{ + // mark m_annot1 as BeingMoved but not m_annot2 + m_annot1->setFlags(m_annot1->flags() | Okular::Annotation::BeingMoved); + + // Verify initial positions + QVERIFY(TestingUtils::pointListsAlmostEqual(m_annot1->linePoints(), m_origPoints1)); + QVERIFY(TestingUtils::pointListsAlmostEqual(m_annot2->linePoints(), m_origPoints2)); + + // Translate m_annot1 by m_deltaA then m_deltaB + m_document->translatePageAnnotation(0, m_annot1, m_deltaA); + QVERIFY(TestingUtils::pointListsAlmostEqual(m_annot1->linePoints(), m_points1DeltaA)); + m_document->translatePageAnnotation(0, m_annot1, m_deltaB); + QVERIFY(TestingUtils::pointListsAlmostEqual(m_annot1->linePoints(), m_points1DeltaAB)); + + // Now undo and verify that these two translations were merged into one undo command + m_document->undo(); + QVERIFY(TestingUtils::pointListsAlmostEqual(m_annot1->linePoints(), m_origPoints1)); +} + +void TranslateAnnotationTest::testSequentialTranslationsNotMergedIfBeingMovedIsNotSet() +{ + // mark m_annot1 as not BeingMoved + m_annot1->setFlags(m_annot1->flags() & ~Okular::Annotation::BeingMoved); + + // Verify initial positions + QVERIFY(TestingUtils::pointListsAlmostEqual(m_annot1->linePoints(), m_origPoints1)); + QVERIFY(TestingUtils::pointListsAlmostEqual(m_annot2->linePoints(), m_origPoints2)); + + // Translate m_annot1 by m_deltaA then m_deltaB + m_document->translatePageAnnotation(0, m_annot1, m_deltaA); + QVERIFY(TestingUtils::pointListsAlmostEqual(m_annot1->linePoints(), m_points1DeltaA)); + m_document->translatePageAnnotation(0, m_annot1, m_deltaB); + QVERIFY(TestingUtils::pointListsAlmostEqual(m_annot1->linePoints(), m_points1DeltaAB)); + + // Now undo and verify that these two translations were NOT merged into one undo command + m_document->undo(); + QVERIFY(TestingUtils::pointListsAlmostEqual(m_annot1->linePoints(), m_points1DeltaA)); + + m_document->undo(); + QVERIFY(TestingUtils::pointListsAlmostEqual(m_annot1->linePoints(), m_origPoints1)); +} + +void TranslateAnnotationTest::testAlternateTranslationsNotMerged() +{ + // Set both m_annot1 and m_annot2 to BeingMoved + m_annot1->setFlags(m_annot1->flags() | Okular::Annotation::BeingMoved); + m_annot2->setFlags(m_annot2->flags() | Okular::Annotation::BeingMoved); + + m_document->translatePageAnnotation(0, m_annot1, m_deltaA); + QVERIFY(TestingUtils::pointListsAlmostEqual(m_annot1->linePoints(), m_points1DeltaA)); + QVERIFY(TestingUtils::pointListsAlmostEqual(m_annot2->linePoints(), m_origPoints2)); + m_document->translatePageAnnotation(0, m_annot2, m_deltaA); + QVERIFY(TestingUtils::pointListsAlmostEqual(m_annot1->linePoints(), m_points1DeltaA)); + QVERIFY(TestingUtils::pointListsAlmostEqual(m_annot2->linePoints(), m_points2DeltaA)); + m_document->translatePageAnnotation(0, m_annot1, m_deltaB); + QVERIFY(TestingUtils::pointListsAlmostEqual(m_annot1->linePoints(), m_points1DeltaAB)); + QVERIFY(TestingUtils::pointListsAlmostEqual(m_annot2->linePoints(), m_points2DeltaA)); + m_document->translatePageAnnotation(0, m_annot2, m_deltaB); + QVERIFY(TestingUtils::pointListsAlmostEqual(m_annot1->linePoints(), m_points1DeltaAB)); + QVERIFY(TestingUtils::pointListsAlmostEqual(m_annot2->linePoints(), m_points2DeltaAB)); + + // First undo should move only m_annot2 back by m_deltaB + m_document->undo(); + QVERIFY(TestingUtils::pointListsAlmostEqual(m_annot1->linePoints(), m_points1DeltaAB)); + QVERIFY(TestingUtils::pointListsAlmostEqual(m_annot2->linePoints(), m_points2DeltaA)); + + // Next undo should move only m_annot1 back by m_deltaB + m_document->undo(); + QVERIFY(TestingUtils::pointListsAlmostEqual(m_annot1->linePoints(), m_points1DeltaA)); + QVERIFY(TestingUtils::pointListsAlmostEqual(m_annot2->linePoints(), m_points2DeltaA)); + + // Next Undo should move only m_annot2 back to its original location + m_document->undo(); + QVERIFY(TestingUtils::pointListsAlmostEqual(m_annot1->linePoints(), m_points1DeltaA)); + QVERIFY(TestingUtils::pointListsAlmostEqual(m_annot2->linePoints(), m_origPoints2)); + + // Next undo should move m_annot1 back to its original location + m_document->undo(); + QVERIFY(TestingUtils::pointListsAlmostEqual(m_annot1->linePoints(), m_origPoints1)); + QVERIFY(TestingUtils::pointListsAlmostEqual(m_annot2->linePoints(), m_origPoints2)); +} + +QTEST_MAIN(TranslateAnnotationTest) +#include "translateannotationtest.moc" diff --git a/autotests/urldetecttest.cpp b/autotests/urldetecttest.cpp new file mode 100644 index 0000000..7cf26fe --- /dev/null +++ b/autotests/urldetecttest.cpp @@ -0,0 +1,55 @@ +/* + SPDX-FileCopyrightText: 2013 Jaydeep Solanki + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include + +#include "../part/url_utils.h" + +namespace Okular +{ +class UrlDetectTest : public QObject +{ + Q_OBJECT +private Q_SLOTS: + void testURL(); + void testURL_data(); +}; + +void UrlDetectTest::testURL() +{ + QFETCH(QString, selectedText); + QFETCH(QString, url); + QCOMPARE(UrlUtils::getUrl(selectedText), url); +} + +void UrlDetectTest::testURL_data() +{ + QTest::addColumn("selectedText"); + QTest::addColumn("url"); + QTest::newRow("1") << QStringLiteral("asdfhttp://okular.org") << QString(); + QTest::newRow("2") << QStringLiteral("google.com/index.php/") << QString(); + QTest::newRow("3") << QStringLiteral("http://google.com)") << QString(); + + QTest::newRow("4") << QStringLiteral("https://okular.org") << QStringLiteral("https://okular.org"); + QTest::newRow("5") << QStringLiteral("www.google.com") << QStringLiteral("http://www.google.com"); + QTest::newRow("6") << QStringLiteral("asdf http://okular.kde.org/") << QStringLiteral("http://okular.kde.org/"); + QTest::newRow("7") << QStringLiteral("http://www.example.com/wpstyle/?p=364") << QStringLiteral("http://www.example.com/wpstyle/?p=364"); + QTest::newRow("8") << QStringLiteral("asdf http://okular.org fdsa") << QStringLiteral("http://okular.org"); + QTest::newRow("9") << QStringLiteral("http://google.com/ø") << QStringLiteral("http://google.com/ø"); + QTest::newRow("10") << QStringLiteral("http://www.wolframalpha.com/input/?i=Plot[%281%2Be^%28-%282%29v%29%29^%28-2%29+%2B+%282%29+%281%2Be^v%29^%28-2%29%2C+{t%2C-0.5%2C+0.5}]") + << QStringLiteral("http://www.wolframalpha.com/input/?i=Plot[%281%2Be^%28-%282%29v%29%29^%28-2%29+%2B+%282%29+%281%2Be^v%29^%28-2%29%2C+{t%2C-0.5%2C+0.5}]"); + QTest::newRow("11") << QStringLiteral("http://uid:pass@example.com:8080") << QStringLiteral("http://uid:pass@example.com:8080"); + QTest::newRow("12") << QStringLiteral("www.cs.princeton.edu/~rs/talks/LLRB/LLRB.pdf") << QStringLiteral("http://www.cs.princeton.edu/~rs/talks/LLRB/LLRB.pdf"); + QTest::newRow("13") << QStringLiteral("http://IISServer/nwind?template=SELECTTOP2*FROM[OrderDetails]WHEREUnitPrice%26lt;10FORXMLAUTO") + << QStringLiteral("http://IISServer/nwind?template=SELECTTOP2*FROM[OrderDetails]WHEREUnitPrice%26lt;10FORXMLAUTO"); + QTest::newRow("14") << QStringLiteral("https://www.example.com/foo/?bar=baz&inga=42&quux") << QStringLiteral("https://www.example.com/foo/?bar=baz&inga=42&quux"); + QTest::newRow("15") << QStringLiteral("http://foo.bar/#tag") << QStringLiteral("http://foo.bar/#tag"); +} + +} + +QTEST_MAIN(Okular::UrlDetectTest) +#include "urldetecttest.moc" diff --git a/autotests/visibilitytest.cpp b/autotests/visibilitytest.cpp new file mode 100644 index 0000000..15b741e --- /dev/null +++ b/autotests/visibilitytest.cpp @@ -0,0 +1,163 @@ +/* + SPDX-FileCopyrightText: 2018 Intevation GmbH + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include + +#include "../settings_core.h" +#include "core/document.h" +#include +#include +#include +#include +#include +#include + +class VisibilityTest : public QObject +{ + Q_OBJECT + +private Q_SLOTS: + void initTestCase(); + void cleanupTestCase(); + + void testJavaScriptVisibility(); + void testSaveLoad(); + void testActionVisibility(); + +private: + void verifyTargetStates(bool visible); + + Okular::Document *m_document; + QMap m_fields; +}; + +void VisibilityTest::initTestCase() +{ + Okular::SettingsCore::instance(QStringLiteral("visibilitytest")); + m_document = new Okular::Document(nullptr); + + const QString testFile = QStringLiteral(KDESRCDIR "data/visibilitytest.pdf"); + QMimeDatabase db; + const QMimeType mime = db.mimeTypeForFile(testFile); + QCOMPARE(m_document->openDocument(testFile, QUrl(), mime), Okular::Document::OpenSuccess); + + // The test document has four buttons: + // HideScriptButton -> Hides targets with JavaScript + // ShowScriptButton -> Shows targets with JavaScript + // HideActionButton -> Hides targets with HideAction + // ShowActionButton -> Shows targets with HideAction + // + // The target fields are: + // TargetButton TargetText TargetCheck TargetDropDown TargetRadio + // + // With two radio buttons named TargetRadio. + + const Okular::Page *page = m_document->page(0); + const QList pageFormFields = page->formFields(); + for (Okular::FormField *ff : pageFormFields) { + m_fields.insert(ff->name(), ff); + } +} + +void VisibilityTest::cleanupTestCase() +{ + m_document->closeDocument(); + delete m_document; +} + +void VisibilityTest::verifyTargetStates(bool visible) +{ + QCOMPARE(m_fields[QStringLiteral("TargetButton")]->isVisible(), visible); + QCOMPARE(m_fields[QStringLiteral("TargetText")]->isVisible(), visible); + QCOMPARE(m_fields[QStringLiteral("TargetCheck")]->isVisible(), visible); + QCOMPARE(m_fields[QStringLiteral("TargetDropDown")]->isVisible(), visible); + + // Radios do not properly inherit a name from the parent group so + // this does not work yet (And would probably need some list handling). + // QCOMPARE( m_fields[QStringLiteral( "TargetRadio" )].isVisible(), visible ); +} + +void VisibilityTest::testJavaScriptVisibility() +{ + auto hideBtn = m_fields[QStringLiteral("HideScriptButton")]; + auto showBtn = m_fields[QStringLiteral("ShowScriptButton")]; + + // We start with all fields visible + verifyTargetStates(true); + + m_document->processAction(hideBtn->activationAction()); + + // Now all should be hidden + verifyTargetStates(false); + + // And show again + m_document->processAction(showBtn->activationAction()); + verifyTargetStates(true); +} + +void VisibilityTest::testSaveLoad() +{ + auto hideBtn = m_fields[QStringLiteral("HideScriptButton")]; + auto showBtn = m_fields[QStringLiteral("ShowScriptButton")]; + + // We start with all fields visible + verifyTargetStates(true); + + m_document->processAction(hideBtn->activationAction()); + + // Now all should be hidden + verifyTargetStates(false); + + // Save the changed states + QTemporaryFile saveFile(QStringLiteral("%1/okrXXXXXX.pdf").arg(QDir::tempPath())); + QVERIFY(saveFile.open()); + saveFile.close(); + + QVERIFY(m_document->saveChanges(saveFile.fileName())); + + auto newDoc = new Okular::Document(nullptr); + + QMimeDatabase db; + const QMimeType mime = db.mimeTypeForFile(saveFile.fileName()); + QCOMPARE(newDoc->openDocument(saveFile.fileName(), QUrl(), mime), Okular::Document::OpenSuccess); + + const Okular::Page *page = newDoc->page(0); + + bool anyChecked = false; // Saveguard against accidental test passing here ;-) + const QList pageFormFields = page->formFields(); + for (Okular::FormField *ff : pageFormFields) { + if (ff->name().startsWith(QStringLiteral("Target"))) { + QVERIFY(!ff->isVisible()); + anyChecked = true; + } + } + QVERIFY(anyChecked); + + newDoc->closeDocument(); + delete newDoc; + + // Restore the state of the member document + m_document->processAction(showBtn->activationAction()); +} + +void VisibilityTest::testActionVisibility() +{ + auto hideBtn = m_fields[QStringLiteral("HideActionButton")]; + auto showBtn = m_fields[QStringLiteral("ShowActionButton")]; + + verifyTargetStates(true); + + m_document->processAction(hideBtn->activationAction()); + + verifyTargetStates(false); + + m_document->processAction(showBtn->activationAction()); + + verifyTargetStates(true); +} + +QTEST_MAIN(VisibilityTest) +#include "visibilitytest.moc" diff --git a/cmake/modules/FindDiscount.cmake b/cmake/modules/FindDiscount.cmake new file mode 100644 index 0000000..8d0de04 --- /dev/null +++ b/cmake/modules/FindDiscount.cmake @@ -0,0 +1,18 @@ +# - Find Discount +# Find the discount markdown library. +# +# This module defines +# Discount_FOUND - whether the discount library was found +# PkgConfig::Discount - the discount target to link to + +# SPDX-FileCopyrightText: 2017 Julian Wolff +# SPDX-FileCopyrightText: 2018 Sune Vuorela +# SPDX-License-Identifier: BSD-3-Clause + +include(FindPackageHandleStandardArgs) + +find_package(PkgConfig REQUIRED) + +pkg_check_modules(Discount IMPORTED_TARGET "libmarkdown") + +find_package_handle_standard_args(Discount DEFAULT_MSG Discount_LIBRARIES) diff --git a/cmake/modules/FindDjVuLibre.cmake b/cmake/modules/FindDjVuLibre.cmake new file mode 100644 index 0000000..4403127 --- /dev/null +++ b/cmake/modules/FindDjVuLibre.cmake @@ -0,0 +1,39 @@ +# - Try to find the DjVuLibre library +# Once done this will define +# +# DJVULIBRE_FOUND - system has the DjVuLibre library +# DJVULIBRE_INCLUDE_DIR - the DjVuLibre include directory +# DJVULIBRE_LIBRARY - Link this to use the DjVuLibre library + +if (DJVULIBRE_INCLUDE_DIR AND DJVULIBRE_LIBRARY) + + # in cache already + set(DJVULIBRE_FOUND TRUE) + +else (DJVULIBRE_INCLUDE_DIR AND DJVULIBRE_LIBRARY) + IF (NOT WIN32) + find_package(PkgConfig) + + pkg_check_modules(PC_DJVULIBRE ddjvuapi) + endif(NOT WIN32) + + find_path(DJVULIBRE_INCLUDE_DIR libdjvu/ddjvuapi.h + PATHS + ${PC_DJVULIBRE_INCLUDEDIR} + ${PC_DJVULIBRE_INCLUDE_DIRS} + ${GNUWIN32_DIR}/include + ) + + find_library(DJVULIBRE_LIBRARY NAMES djvulibre + PATHS + ${PC_DJVULIBRE_LIBDIR} + ${PC_DJVULIBRE_LIBRARY_DIRS} + ${GNUWIN32_DIR}/lib + ) + + include(FindPackageHandleStandardArgs) + FIND_PACKAGE_HANDLE_STANDARD_ARGS(DjVuLibre DEFAULT_MSG DJVULIBRE_INCLUDE_DIR DJVULIBRE_LIBRARY ) + + mark_as_advanced(DJVULIBRE_INCLUDE_DIR DJVULIBRE_LIBRARY) + +endif (DJVULIBRE_INCLUDE_DIR AND DJVULIBRE_LIBRARY) diff --git a/cmake/modules/FindEPub.cmake b/cmake/modules/FindEPub.cmake new file mode 100644 index 0000000..a46443d --- /dev/null +++ b/cmake/modules/FindEPub.cmake @@ -0,0 +1,33 @@ +# - Find EPub +# Find the EPub library. +# +# This module defines +# EPUB_FOUND - whether the EPub library was found +# EPUB_LIBRARIES - the EPub library +# EPUB_INCLUDE_DIR - the include path of the EPub library + +# SPDX-FileCopyrightText: 2008 Pino Toscano +# SPDX-License-Identifier: BSD-3-Clause + + +if (EPUB_INCLUDE_DIR AND EPUB_LIBRARIES) + + # Already in cache + set (EPUB_FOUND TRUE) + +else (EPUB_INCLUDE_DIR AND EPUB_LIBRARIES) + + find_library (EPUB_LIBRARIES + NAMES epub libepub + ) + + find_path (EPUB_INCLUDE_DIR + NAMES epub.h + ) + + include (FindPackageHandleStandardArgs) + find_package_handle_standard_args (EPub DEFAULT_MSG EPUB_LIBRARIES EPUB_INCLUDE_DIR) + +endif (EPUB_INCLUDE_DIR AND EPUB_LIBRARIES) + +mark_as_advanced(EPUB_INCLUDE_DIR EPUB_LIBRARIES) diff --git a/cmake/modules/FindLibSpectre.cmake b/cmake/modules/FindLibSpectre.cmake new file mode 100644 index 0000000..95a511e --- /dev/null +++ b/cmake/modules/FindLibSpectre.cmake @@ -0,0 +1,47 @@ +# - Try to find the libspectre PS library +# Once done this will define +# +# LIBSPECTRE_FOUND - system has libspectre +# LIBSPECTRE_INCLUDE_DIR - the libspectre include directory +# LIBSPECTRE_LIBRARY - Link this to use libspectre +# + +# SPDX-FileCopyrightText: 2006-2007 Pino Toscano +# SPDX-FileCopyrightText: 2008 Albert Astals Cid +# SPDX-License-Identifier: BSD-3-Clause + +if(NOT WIN32) + # use pkg-config to get the directories and then use these values + # in the FIND_PATH() and FIND_LIBRARY() calls + include(FindPkgConfig) + + if(LIBSPECTRE_MINIMUM_VERSION}) + pkg_check_modules(_pc_LIBSPECTRE libspectre>=${LIBSPECTRE_MINIMUM_VERSION}) + else(LIBSPECTRE_MINIMUM_VERSION}) + pkg_check_modules(_pc_LIBSPECTRE libspectre) + endif(LIBSPECTRE_MINIMUM_VERSION}) +else(NOT WIN32) + # do not use pkg-config on windows + set(_pc_LIBSPECTRE_FOUND TRUE) +endif(NOT WIN32) + + +if(_pc_LIBSPECTRE_FOUND) + find_library(LIBSPECTRE_LIBRARY + NAMES libspectre spectre + HINTS ${_pc_LIBSPECTRE_LIBRARY_DIRS} ${CMAKE_LIBRARY_PATH} + ) + + find_path(LIBSPECTRE_INCLUDE_DIR libspectre/spectre.h + HINTS ${_pc_LIBSPECTRE_INCLUDE_DIRS} + ) + + set(LIBSPECTRE_INTERNAL_FOUND TRUE) +endif(_pc_LIBSPECTRE_FOUND) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(LibSpectre DEFAULT_MSG LIBSPECTRE_LIBRARY LIBSPECTRE_INTERNAL_FOUND) + +# ensure that they are cached +set(LIBSPECTRE_INCLUDE_DIR ${LIBSPECTRE_INCLUDE_DIR} CACHE INTERNAL "The libspectre include path") +set(LIBSPECTRE_LIBRARY ${LIBSPECTRE_LIBRARY} CACHE INTERNAL "The libspectre library") diff --git a/conf/okular.kcfg b/conf/okular.kcfg new file mode 100644 index 0000000..b2301c3 --- /dev/null +++ b/conf/okular.kcfg @@ -0,0 +1,439 @@ + + + kuser.h + + + + + + + + + + + true + + + + + false + + + false + + + + + false + + + false + + + + + false + + + false + + + + + false + + + false + + + + QStringList drawingTools; + // load the default tool list from the 'xml tools definition' file + QFile infoDrawingFile( QStandardPaths::locate(QStandardPaths::GenericDataLocation, QStringLiteral("okular/drawingtools.xml")) ); + if ( infoDrawingFile.exists() && infoDrawingFile.open( QIODevice::ReadOnly ) ) + { + QDomDocument doc; + if ( doc.setContent( &infoDrawingFile ) ) + { + const QDomElement toolsDefinition = doc.elementsByTagName(QStringLiteral("drawingTools")).item( 0 ).toElement(); + // create the annotationTools list from the XML dom tree + QDomNode toolDescription = toolsDefinition.firstChild(); + while ( toolDescription.isElement() ) + { + const QDomElement toolElement = toolDescription.toElement(); + if ( toolElement.tagName() == QStringLiteral("tool") ) + { + QDomDocument temp; + temp.appendChild( temp.importNode( toolElement, true) ); + // add each <tool>...</tool> as XML string + drawingTools << temp.toString(-1); + } + toolDescription = toolDescription.nextSibling(); + } + } + else + { + qWarning() << "DrawingTools XML file seems to be damaged"; + } + } + else + { + qWarning() << "Unable to open DrawingTools XML definition"; + } + + drawingTools + + + + QStringList builtinAnnotationTools; + // load the default tool list from the 'xml tools definition' file + QFile infoFile( QStandardPaths::locate(QStandardPaths::GenericDataLocation, QStringLiteral("okular/tools.xml")) ); + if ( infoFile.exists() && infoFile.open( QIODevice::ReadOnly ) ) + { + QDomDocument doc; + if ( doc.setContent( &infoFile ) ) + { + QDomElement toolsDefinition = doc.elementsByTagName(QStringLiteral("annotatingTools")).item( 0 ).toElement(); + // create the builtinAnnotationTools list from the XML dom tree + QDomNode toolDescription = toolsDefinition.firstChild(); + while ( toolDescription.isElement() ) + { + QDomElement toolElement = toolDescription.toElement(); + if ( toolElement.tagName() == QStringLiteral("tool") ) + { + QDomDocument temp; + temp.appendChild( temp.importNode( toolElement, true) ); + // add each <tool>...</tool> as XML string + builtinAnnotationTools << temp.toString(-1); + } + toolDescription = toolDescription.nextSibling(); + } + } + else + { + qWarning() << "AnnotatingTools XML file seems to be damaged"; + } + } + else + { + qWarning() << "Unable to open AnnotatingTools XML definition"; + } + + builtinAnnotationTools + + + + + QStringList quickAnnotationTools; + // load the default tool list from the 'xml tools definition' file + QFile quickAnnFile( QStandardPaths::locate(QStandardPaths::GenericDataLocation, QStringLiteral("okular/toolsQuick.xml")) ); + if ( quickAnnFile.exists() && quickAnnFile.open( QIODevice::ReadOnly ) ) + { + QDomDocument doc; + if ( doc.setContent( &quickAnnFile ) ) + { + QDomElement toolsDefinition = doc.elementsByTagName(QStringLiteral("quickAnnotatingTools")).item( 0 ).toElement(); + // create the quickAnnotationTools list from the XML dom tree + QDomNode toolDescription = toolsDefinition.firstChild(); + while ( toolDescription.isElement() ) + { + QDomElement toolElement = toolDescription.toElement(); + if ( toolElement.tagName() == QStringLiteral("tool") ) + { + QDomDocument temp; + temp.appendChild( temp.importNode( toolElement, true) ); + // add each <tool>...</tool> as XML string + quickAnnotationTools << temp.toString(-1); + } + toolDescription = toolDescription.nextSibling(); + } + } + else + { + qWarning() << "QuickAnnotatingTools XML file seems to be damaged"; + } + } + else + { + qWarning() << "Unable to open QuickAnnotatingTools XML definition"; + } + + quickAnnotationTools + + + + true + + + 0 + + + + + 1 + 4 + + + 100 + 10 + 500 + + + + + false + + + true + + + true + + + true + + + true + + + false + + + Name + + + + + + + + speechd + + + + + + true + + + 10 + 0 + 100 + + + + + Qt::black + + + Replace + + + + + + + + + + + + + + + + + + + + + + + + + HiddenDelay + + + + + + + + true + + + false + + + -2 + -2 + 20 + + + + + true + + + + false + + + + + false + + + true + + + true + + + false + + + true + + + true + + + true + + + 48 + + + + + 0 + + + true + + + true + + + 10 + 0 + 50 + + + 3 + 1 + 8 + + + false + + + true + + + + true + + + FullAnnotationToolBar + + + + + + + + Single + + + + + + + + + None + + + + + + + + Browse + + + + + + + + + + + + false + + + false + + + + + + + false + + + true + + + true + + + + + false + + + false + + + 0x600000 + + + + 0xF0F0F0 + + + + 127 + 2 + 253 + + + + 2 + 2 + 6 + + + + + + + KUser currentUser; + QString userString = currentUser.property( KUser::FullName ).toString(); + if ( userString.isEmpty() ) + { + userString = currentUser.loginName(); + } + + userString + + + diff --git a/conf/okular_core.kcfg b/conf/okular_core.kcfg new file mode 100644 index 0000000..ef3b0bc --- /dev/null +++ b/conf/okular_core.kcfg @@ -0,0 +1,117 @@ + + + kuser.h + + + + + Normal + + + + + + + + + true + + + Enabled + + + + + + + Enabled + + + + + + + Disabled + + + + + + + + + Qt::white + + + + false + + + + Inverted + + + + + + + + + + + + + + + + + true + + + false + + + Kate + + + + + + + + + + + + + kate --line %l --column %c + + + false + + + + + false + + + 5 + 1 + 3600 + + + false + + + Forward + + + + + + + + diff --git a/conf/settings.kcfgc b/conf/settings.kcfgc new file mode 100644 index 0000000..28be96f --- /dev/null +++ b/conf/settings.kcfgc @@ -0,0 +1,10 @@ +ClassName=Settings +NameSpace=Okular +File=okular.kcfg +Inherits=SettingsCore +Mutators=true +Singleton=true +Visibility=OKULARPART_EXPORT +IncludeFiles=settings_core.h,okularpart_export.h +SourceIncludeFiles=qdom.h,QStandardPaths +MemberVariables=dpointer diff --git a/conf/settings_core.kcfgc b/conf/settings_core.kcfgc new file mode 100644 index 0000000..59ca21c --- /dev/null +++ b/conf/settings_core.kcfgc @@ -0,0 +1,8 @@ +ClassName=SettingsCore +NameSpace=Okular +File=okular_core.kcfg +Mutators=true +Singleton=true +Visibility=OKULARCORE_EXPORT +IncludeFiles=okularcore_export.h +MemberVariables=dpointer diff --git a/conf/settings_mobile.kcfgc b/conf/settings_mobile.kcfgc new file mode 100644 index 0000000..737ff65 --- /dev/null +++ b/conf/settings_mobile.kcfgc @@ -0,0 +1,10 @@ +ClassName=Settings +NameSpace=Okular +File=okular.kcfg +Inherits=SettingsCore +Mutators=true +Singleton=true +Visibility= +IncludeFiles=settings_core.h +SourceIncludeFiles=qdom.h,QStandardPaths +MemberVariables=dpointer diff --git a/config-okular.h.cmake b/config-okular.h.cmake new file mode 100644 index 0000000..4f45556 --- /dev/null +++ b/config-okular.h.cmake @@ -0,0 +1,26 @@ +/* Defines if force the use DRM in okular */ +#define OKULAR_FORCE_DRM ${_OKULAR_FORCE_DRM} + +/* Defines if the purpose framework is available */ +#cmakedefine01 HAVE_PURPOSE + +/* Defines if qtspeech is available */ +#cmakedefine01 HAVE_SPEECH + +/* Defines if kwallet is available */ +#cmakedefine01 HAVE_KWALLET + +/* Defines if QJSEngine is available*/ +#cmakedefine01 HAVE_JS + +/* Defines whether the malloc_trim method from malloc.h is available */ +#cmakedefine01 HAVE_MALLOC_TRIM + +/* Defines whether we are building with X11 support */ +#cmakedefine01 HAVE_X11 + +/* Defines wheter we are building with Phonon support */ +#cmakedefine01 HAVE_PHONON + +/* Defines whether we are building with dbus enabled */ +#cmakedefine01 HAVE_DBUS diff --git a/core/action.cpp b/core/action.cpp new file mode 100644 index 0000000..354ed16 --- /dev/null +++ b/core/action.cpp @@ -0,0 +1,608 @@ +/* + SPDX-FileCopyrightText: 2004-2005 Enrico Ros + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "action.h" + +// kde includes +#include + +// local includes +#include "document.h" +#include "movie.h" +#include "sound.h" +#include "sourcereference_p.h" + +using namespace Okular; + +class Okular::ActionPrivate +{ +public: + ActionPrivate() + { + } + + virtual ~ActionPrivate() + { + qDeleteAll(m_nextActions); + } + + ActionPrivate(const ActionPrivate &) = delete; + ActionPrivate &operator=(const ActionPrivate &) = delete; + + QVariant m_nativeId; + std::shared_ptr m_nativeHandle; + QList m_nextActions; +}; + +Action::Action(ActionPrivate &dd) + : d_ptr(&dd) +{ +} + +Action::~Action() +{ + delete d_ptr; +} + +QString Action::actionTip() const +{ + return QLatin1String(""); +} + +void Action::setNativeId(const QVariant &id) +{ + Q_D(Action); + d->m_nativeId = id; +} + +QVariant Action::nativeId() const +{ + Q_D(const Action); + return d->m_nativeId; +} + +QList Action::nextActions() const +{ + Q_D(const Action); + return d->m_nextActions; +} + +void Action::setNativeHandle(std::shared_ptr handle) +{ + Q_D(Action); + d->m_nativeHandle = std::move(handle); +} +const void *Action::nativeHandle() const +{ + Q_D(const Action); + return d->m_nativeHandle.get(); +} + +void Action::setNextActions(const QList &actions) +{ + Q_D(Action); + qDeleteAll(d->m_nextActions); + d->m_nextActions = actions; +} + +// GotoAction + +class Okular::GotoActionPrivate : public Okular::ActionPrivate +{ +public: + GotoActionPrivate(const QString &fileName, const DocumentViewport &viewport) + : ActionPrivate() + , m_extFileName(fileName) + , m_vp(viewport) + { + } + + GotoActionPrivate(const QString &fileName, const QString &namedDestination) + : ActionPrivate() + , m_extFileName(fileName) + , m_dest(namedDestination) + { + } + + QString m_extFileName; + DocumentViewport m_vp; + QString m_dest; +}; + +GotoAction::GotoAction(const QString &fileName, const DocumentViewport &viewport) + : Action(*new GotoActionPrivate(fileName, viewport)) +{ +} + +GotoAction::GotoAction(const QString &fileName, const QString &namedDestination) + : Action(*new GotoActionPrivate(fileName, namedDestination)) +{ +} + +GotoAction::~GotoAction() +{ +} + +Action::ActionType GotoAction::actionType() const +{ + return Goto; +} + +QString GotoAction::actionTip() const +{ + Q_D(const GotoAction); + return d->m_extFileName.isEmpty() ? (d->m_vp.isValid() ? i18n("Go to page %1", d->m_vp.pageNumber + 1) : QLatin1String("")) : i18n("Open external file"); +} + +bool GotoAction::isExternal() const +{ + Q_D(const GotoAction); + return !d->m_extFileName.isEmpty(); +} + +QString GotoAction::fileName() const +{ + Q_D(const GotoAction); + return d->m_extFileName; +} + +DocumentViewport GotoAction::destViewport() const +{ + Q_D(const GotoAction); + return d->m_vp; +} + +QString GotoAction::destinationName() const +{ + Q_D(const GotoAction); + return d->m_dest; +} + +// ExecuteAction + +class Okular::ExecuteActionPrivate : public Okular::ActionPrivate +{ +public: + ExecuteActionPrivate(const QString &file, const QString ¶meters) + : ActionPrivate() + , m_fileName(file) + , m_parameters(parameters) + { + } + + QString m_fileName; + QString m_parameters; +}; + +ExecuteAction::ExecuteAction(const QString &file, const QString ¶meters) + : Action(*new ExecuteActionPrivate(file, parameters)) +{ +} + +ExecuteAction::~ExecuteAction() +{ +} + +Action::ActionType ExecuteAction::actionType() const +{ + return Execute; +} + +QString ExecuteAction::actionTip() const +{ + Q_D(const Okular::ExecuteAction); + return i18n("Execute '%1'…", d->m_fileName); +} + +QString ExecuteAction::fileName() const +{ + Q_D(const Okular::ExecuteAction); + return d->m_fileName; +} + +QString ExecuteAction::parameters() const +{ + Q_D(const Okular::ExecuteAction); + return d->m_parameters; +} + +// BrowseAction + +class Okular::BrowseActionPrivate : public Okular::ActionPrivate +{ +public: + explicit BrowseActionPrivate(const QUrl &url) + : ActionPrivate() + , m_url(url) + { + } + + QUrl m_url; +}; + +BrowseAction::BrowseAction(const QUrl &url) + : Action(*new BrowseActionPrivate(url)) +{ +} + +BrowseAction::~BrowseAction() +{ +} + +Action::ActionType BrowseAction::actionType() const +{ + return Browse; +} + +QString BrowseAction::actionTip() const +{ + Q_D(const Okular::BrowseAction); + if (auto ref = extractLilyPondSourceReference(d->m_url)) { + return sourceReferenceToolTip(*ref); + } + return d->m_url.toDisplayString(); +} + +QUrl BrowseAction::url() const +{ + Q_D(const Okular::BrowseAction); + return d->m_url; +} + +// DocumentAction + +class Okular::DocumentActionPrivate : public Okular::ActionPrivate +{ +public: + explicit DocumentActionPrivate(enum DocumentAction::DocumentActionType documentActionType) + : ActionPrivate() + , m_type(documentActionType) + { + } + + DocumentAction::DocumentActionType m_type; +}; + +DocumentAction::DocumentAction(enum DocumentActionType documentActionType) + : Action(*new DocumentActionPrivate(documentActionType)) +{ +} + +DocumentAction::~DocumentAction() +{ +} + +DocumentAction::DocumentActionType DocumentAction::documentActionType() const +{ + Q_D(const Okular::DocumentAction); + return d->m_type; +} + +Action::ActionType DocumentAction::actionType() const +{ + return DocAction; +} + +QString DocumentAction::actionTip() const +{ + Q_D(const Okular::DocumentAction); + switch (d->m_type) { + case PageFirst: + return i18n("First Page"); + case PagePrev: + return i18n("Previous Page"); + case PageNext: + return i18n("Next Page"); + case PageLast: + return i18n("Last Page"); + case HistoryBack: + return i18n("Back"); + case HistoryForward: + return i18n("Forward"); + case Quit: + return i18n("Quit"); + case Presentation: + return i18n("Start Presentation"); + case EndPresentation: + return i18n("End Presentation"); + case Find: + return i18n("Find…"); + case GoToPage: + return i18n("Go To Page…"); + case Close: + default:; + } + + return QString(); +} + +// SoundAction + +class Okular::SoundActionPrivate : public Okular::ActionPrivate +{ +public: + SoundActionPrivate(double volume, bool sync, bool repeat, bool mix, Okular::Sound *sound) + : ActionPrivate() + , m_volume(volume) + , m_sync(sync) + , m_repeat(repeat) + , m_mix(mix) + , m_sound(sound) + { + } + + ~SoundActionPrivate() override + { + delete m_sound; + } + + double m_volume; + bool m_sync : 1; + bool m_repeat : 1; + bool m_mix : 1; + Okular::Sound *m_sound; +}; + +SoundAction::SoundAction(double volume, bool sync, bool repeat, bool mix, Okular::Sound *sound) + : Action(*new SoundActionPrivate(volume, sync, repeat, mix, sound)) +{ +} + +SoundAction::~SoundAction() +{ +} + +Action::ActionType SoundAction::actionType() const +{ + return Sound; +} + +QString SoundAction::actionTip() const +{ + return i18n("Play sound…"); +} + +double SoundAction::volume() const +{ + Q_D(const Okular::SoundAction); + return d->m_volume; +} + +bool SoundAction::synchronous() const +{ + Q_D(const Okular::SoundAction); + return d->m_sync; +} + +bool SoundAction::repeat() const +{ + Q_D(const Okular::SoundAction); + return d->m_repeat; +} + +bool SoundAction::mix() const +{ + Q_D(const Okular::SoundAction); + return d->m_mix; +} + +Okular::Sound *SoundAction::sound() const +{ + Q_D(const Okular::SoundAction); + return d->m_sound; +} + +// ScriptAction + +class Okular::ScriptActionPrivate : public Okular::ActionPrivate +{ +public: + ScriptActionPrivate(enum ScriptType type, const QString &script) + : ActionPrivate() + , m_scriptType(type) + , m_script(script) + { + } + + ScriptType m_scriptType; + QString m_script; +}; + +ScriptAction::ScriptAction(enum ScriptType type, const QString &script) + : Action(*new ScriptActionPrivate(type, script)) +{ +} + +ScriptAction::~ScriptAction() +{ +} + +Action::ActionType ScriptAction::actionType() const +{ + return Script; +} + +QString ScriptAction::actionTip() const +{ + Q_D(const Okular::ScriptAction); + switch (d->m_scriptType) { + case JavaScript: + return i18n("JavaScript Script"); + } + + return QString(); +} + +ScriptType ScriptAction::scriptType() const +{ + Q_D(const Okular::ScriptAction); + return d->m_scriptType; +} + +QString ScriptAction::script() const +{ + Q_D(const Okular::ScriptAction); + return d->m_script; +} + +// MovieAction + +class Okular::MovieActionPrivate : public Okular::ActionPrivate +{ +public: + explicit MovieActionPrivate(MovieAction::OperationType operation) + : ActionPrivate() + , m_operation(operation) + , m_annotation(nullptr) + { + } + + MovieAction::OperationType m_operation; + MovieAnnotation *m_annotation; +}; + +MovieAction::MovieAction(OperationType operation) + : Action(*new MovieActionPrivate(operation)) +{ +} + +MovieAction::~MovieAction() +{ +} + +Action::ActionType MovieAction::actionType() const +{ + return Movie; +} + +QString MovieAction::actionTip() const +{ + return i18n("Play movie…"); +} + +MovieAction::OperationType MovieAction::operation() const +{ + Q_D(const Okular::MovieAction); + return d->m_operation; +} + +void MovieAction::setAnnotation(MovieAnnotation *annotation) +{ + Q_D(Okular::MovieAction); + d->m_annotation = annotation; +} + +MovieAnnotation *MovieAction::annotation() const +{ + Q_D(const Okular::MovieAction); + return d->m_annotation; +} + +// RenditionAction + +class Okular::RenditionActionPrivate : public Okular::ActionPrivate +{ +public: + RenditionActionPrivate(RenditionAction::OperationType operation, Okular::Movie *movie, enum ScriptType scriptType, const QString &script) + : ActionPrivate() + , m_operation(operation) + , m_movie(movie) + , m_scriptType(scriptType) + , m_script(script) + , m_annotation(nullptr) + { + } + + RenditionAction::OperationType m_operation; + Okular::Movie *m_movie; + ScriptType m_scriptType; + QString m_script; + ScreenAnnotation *m_annotation; +}; + +RenditionAction::RenditionAction(OperationType operation, Okular::Movie *movie, enum ScriptType scriptType, const QString &script) + : Action(*new RenditionActionPrivate(operation, movie, scriptType, script)) +{ +} + +RenditionAction::~RenditionAction() +{ +} + +Action::ActionType RenditionAction::actionType() const +{ + return Rendition; +} + +QString RenditionAction::actionTip() const +{ + Q_D(const Okular::RenditionAction); + + switch (d->m_operation) { + default: + case None: + switch (d->m_scriptType) { + case JavaScript: + return i18n("JavaScript Script"); + default: + return QString(); + } + case Play: + return i18n("Play movie"); + case Stop: + return i18n("Stop movie"); + case Pause: + return i18n("Pause movie"); + case Resume: + return i18n("Resume movie"); + } +} + +RenditionAction::OperationType RenditionAction::operation() const +{ + Q_D(const Okular::RenditionAction); + return d->m_operation; +} + +Okular::Movie *RenditionAction::movie() const +{ + Q_D(const Okular::RenditionAction); + return d->m_movie; +} + +ScriptType RenditionAction::scriptType() const +{ + Q_D(const Okular::RenditionAction); + return d->m_scriptType; +} + +QString RenditionAction::script() const +{ + Q_D(const Okular::RenditionAction); + return d->m_script; +} + +void RenditionAction::setAnnotation(ScreenAnnotation *annotation) +{ + Q_D(Okular::RenditionAction); + d->m_annotation = annotation; +} + +ScreenAnnotation *RenditionAction::annotation() const +{ + Q_D(const Okular::RenditionAction); + return d->m_annotation; +} + +BackendOpaqueAction::BackendOpaqueAction() + : Action(*new ActionPrivate()) +{ +} + +Action::ActionType BackendOpaqueAction::actionType() const +{ + return BackendOpaque; +} diff --git a/core/action.h b/core/action.h new file mode 100644 index 0000000..efdd6e4 --- /dev/null +++ b/core/action.h @@ -0,0 +1,618 @@ +/* + SPDX-FileCopyrightText: 2004 Enrico Ros + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_ACTION_H_ +#define _OKULAR_ACTION_H_ + +#include "global.h" +#include "okularcore_export.h" + +#include +#include + +namespace Okular +{ +class ActionPrivate; +class GotoActionPrivate; +class ExecuteActionPrivate; +class BrowseActionPrivate; +class DocumentActionPrivate; +class SoundActionPrivate; +class ScriptActionPrivate; +class MovieActionPrivate; +class RenditionActionPrivate; +class MovieAnnotation; +class ScreenAnnotation; +class Movie; +class Sound; +class DocumentViewport; + +/** + * @short Encapsulates data that describes an action. + * + * This is the base class for actions. It makes mandatory for inherited + * widgets to reimplement the 'actionType' method and return the type of + * the action described by the reimplemented class. + */ +class OKULARCORE_EXPORT Action +{ +public: + /** + * Describes the type of action. + */ + enum ActionType { + Goto, ///< Goto a given page or external document + Execute, ///< Execute a command or external application + Browse, ///< Browse a given website + DocAction, ///< Start a custom action + Sound, ///< Play a sound + Movie, ///< Play a movie + Script, ///< Executes a Script code + Rendition, ///< Play a movie and/or execute a Script code @since 0.16 (KDE 4.10) + BackendOpaque ///< Calls back to the backend with the action @since 1.1 + }; + + /** + * Destroys the action. + */ + virtual ~Action(); + + /** + * Returns the type of the action. Every inherited class must return + * an unique identifier. + * + * @see ActionType + */ + virtual ActionType actionType() const = 0; + + /** + * Returns a i18n'ed tip of the action that is presented to + * the user. + */ + virtual QString actionTip() const; + + /** + * Sets the "native" @p id of the action. + * + * This is for use of the Generator, that can optionally store an + * handle (a pointer, an identifier, etc) of the "native" action + * object, if any. + * + * @note Okular makes no use of this + * @deprecated use @ref setNativeHandle + * @since 0.15 (KDE 4.9) + */ + OKULARCORE_DEPRECATED void setNativeId(const QVariant &id); + + /** + * Returns the "native" id of the action. + * + * @since 0.15 (KDE 4.9) + * + */ + OKULARCORE_DEPRECATED QVariant nativeId() const; + + /** + * Sets "native" handle for the action + * + * This is a opaque datapointer used for the action by the + * Generator. The generator is responsible for setting it + * to something sensible and also for interpreting it. + * + * The handle is deleted according to rules of the + * shared pointer. + * + * @note Okular (core/part/shell/...) itself makes no use of this + * @since 24.05.2 + */ + void setNativeHandle(std::shared_ptr handle); + + /** + * @returns the native handle pointer + * + * @since 24.05.2 + */ + const void *nativeHandle() const; + + /** + * Returns the next actions to be executed after. + * + * @since 1.5 + */ + QList nextActions() const; + + /** + * Sets the next actions. + * + * Takes ownership of the objects in the actions vector. + * @since 1.5 + */ + void setNextActions(const QList &actions); + +protected: + /// @cond PRIVATE + explicit Action(ActionPrivate &dd); + Q_DECLARE_PRIVATE(Action) + ActionPrivate *d_ptr; + /// @endcond + +private: + Q_DISABLE_COPY(Action) +}; + +/** + * The Goto action changes the viewport to another page + * or loads an external document. + */ +class OKULARCORE_EXPORT GotoAction : public Action +{ +public: + /** + * Creates a new goto action. + * + * @p fileName The name of an external file that shall be loaded. + * @p viewport The target viewport information of the current document. + */ + GotoAction(const QString &fileName, const DocumentViewport &viewport); + + /** + * Creates a new goto action. + * + * @p fileName The name of an external file that shall be loaded. + * @p namedDestination The target named destination for the target document. + * + * @since 0.9 (KDE 4.3) + */ + GotoAction(const QString &fileName, const QString &namedDestination); + + /** + * Destroys the goto action. + */ + ~GotoAction() override; + + /** + * Returns the action type. + */ + ActionType actionType() const override; + + /** + * Returns the action tip. + */ + QString actionTip() const override; + + /** + * Returns whether the goto action points to an external document. + */ + bool isExternal() const; + + /** + * Returns the filename of the external document. + */ + QString fileName() const; + + /** + * Returns the document viewport the goto action points to. + */ + DocumentViewport destViewport() const; + + /** + * Returns the document named destination the goto action points to. + * + * @since 0.9 (KDE 4.3) + */ + QString destinationName() const; + +private: + Q_DECLARE_PRIVATE(GotoAction) + Q_DISABLE_COPY(GotoAction) +}; + +/** + * The Execute action executes an external application. + */ +class OKULARCORE_EXPORT ExecuteAction : public Action +{ +public: + /** + * Creates a new execute action. + * + * @param fileName The file name of the application to execute. + * @param parameters The parameters of the application to execute. + */ + ExecuteAction(const QString &fileName, const QString ¶meters); + + /** + * Destroys the execute action. + */ + ~ExecuteAction() override; + + /** + * Returns the action type. + */ + ActionType actionType() const override; + + /** + * Returns the action tip. + */ + QString actionTip() const override; + + /** + * Returns the file name of the application to execute. + */ + QString fileName() const; + + /** + * Returns the parameters of the application to execute. + */ + QString parameters() const; + +private: + Q_DECLARE_PRIVATE(ExecuteAction) + Q_DISABLE_COPY(ExecuteAction) +}; + +/** + * The Browse action browses an url by opening a web browser or + * email client, depending on the url protocol (e.g. http, mailto, etc.). + */ +class OKULARCORE_EXPORT BrowseAction : public Action +{ +public: + /** + * Creates a new browse action. + * + * @param url The url to browse. + */ + explicit BrowseAction(const QUrl &url); + + /** + * Destroys the browse action. + */ + ~BrowseAction() override; + + /** + * Returns the action type. + */ + ActionType actionType() const override; + + /** + * Returns the action tip. + */ + QString actionTip() const override; + + /** + * Returns the url to browse. + */ + QUrl url() const; + +private: + Q_DECLARE_PRIVATE(BrowseAction) + Q_DISABLE_COPY(BrowseAction) +}; + +/** + * The DocumentAction action contains an action that is performed on + * the current document. + */ +class OKULARCORE_EXPORT DocumentAction : public Action +{ +public: + /** + * Describes the possible action types. + */ + enum DocumentActionType { + PageFirst = 1, ///< Jump to first page + PagePrev = 2, ///< Jump to previous page + PageNext = 3, ///< Jump to next page + PageLast = 4, ///< Jump to last page + HistoryBack = 5, ///< Go back in page history + HistoryForward = 6, ///< Go forward in page history + Quit = 7, ///< Quit application + Presentation = 8, ///< Start presentation + EndPresentation = 9, ///< End presentation + Find = 10, ///< Open find dialog + GoToPage = 11, ///< Goto page + Close = 12, ///< Close document + Print = 13, ///< Print the document @since 22.04 + SaveAs = 14 ///< SaveAs the document @since 22.04 + }; + + /** + * Creates a new document action. + * + * @param documentActionType The type of document action. + */ + explicit DocumentAction(enum DocumentActionType documentActionType); + + /** + * Destroys the document action. + */ + ~DocumentAction() override; + + /** + * Returns the action type. + */ + ActionType actionType() const override; + + /** + * Returns the action tip. + */ + QString actionTip() const override; + + /** + * Returns the type of action. + */ + DocumentActionType documentActionType() const; + +private: + Q_DECLARE_PRIVATE(DocumentAction) + Q_DISABLE_COPY(DocumentAction) +}; + +/** + * The Sound action plays a sound on activation. + */ +class OKULARCORE_EXPORT SoundAction : public Action +{ +public: + /** + * Creates a new sound action. + * + * @param volume The volume of the sound. + * @param synchronous Whether the sound shall be played synchronous. + * @param repeat Whether the sound shall be repeated. + * @param mix Whether the sound shall be mixed. + * @param sound The sound object which contains the sound data. + */ + SoundAction(double volume, bool synchronous, bool repeat, bool mix, Okular::Sound *sound); + + /** + * Destroys the sound action. + */ + ~SoundAction() override; + + /** + * Returns the action type. + */ + ActionType actionType() const override; + + /** + * Returns the action tip. + */ + QString actionTip() const override; + + /** + * Returns the volume of the sound. + */ + double volume() const; + + /** + * Returns whether the sound shall be played synchronous. + */ + bool synchronous() const; + + /** + * Returns whether the sound shall be repeated. + */ + bool repeat() const; + + /** + * Returns whether the sound shall be mixed. + */ + bool mix() const; + + /** + * Returns the sound object which contains the sound data. + */ + Okular::Sound *sound() const; + +private: + Q_DECLARE_PRIVATE(SoundAction) + Q_DISABLE_COPY(SoundAction) +}; + +/** + * The Script action executes a Script code. + * + * @since 0.7 (KDE 4.1) + */ +class OKULARCORE_EXPORT ScriptAction : public Action +{ +public: + /** + * Creates a new Script action. + * + * @param type The type of the script (for now, only JavaScript = 0 is implemented). + * @param script The code to execute. + */ + ScriptAction(enum ScriptType type, const QString &script); + + /** + * Destroys the browse action. + */ + ~ScriptAction() override; + + /** + * Returns the action type. + */ + ActionType actionType() const override; + + /** + * Returns the action tip. + */ + QString actionTip() const override; + + /** + * Returns the type of action. + */ + ScriptType scriptType() const; + + /** + * Returns the code. + */ + QString script() const; + +private: + Q_DECLARE_PRIVATE(ScriptAction) + Q_DISABLE_COPY(ScriptAction) +}; + +/** + * The Movie action executes an operation on a video on activation. + * + * @since 0.15 (KDE 4.9) + */ +class OKULARCORE_EXPORT MovieAction : public Action +{ +public: + /** + * Describes the possible operation types. + */ + enum OperationType { Play, Stop, Pause, Resume }; + + /** + * Creates a new movie action. + */ + explicit MovieAction(OperationType operation); + + /** + * Destroys the movie action. + */ + ~MovieAction() override; + + /** + * Returns the action type. + */ + ActionType actionType() const override; + + /** + * Returns the action tip. + */ + QString actionTip() const override; + + /** + * Returns the operation type. + */ + OperationType operation() const; + + /** + * Sets the @p annotation that is associated with the movie action. + */ + void setAnnotation(MovieAnnotation *annotation); + + /** + * Returns the annotation or @c 0 if no annotation has been set. + */ + MovieAnnotation *annotation() const; + +private: + Q_DECLARE_PRIVATE(MovieAction) + Q_DISABLE_COPY(MovieAction) +}; + +/** + * The Rendition action executes an operation on a video or + * executes some JavaScript code on activation. + * + * @since 0.16 (KDE 4.10) + */ +class OKULARCORE_EXPORT RenditionAction : public Action +{ +public: + /** + * Describes the possible operation types. + */ + enum OperationType { + None, ///< Execute only the JavaScript + Play, ///< Start playing the video + Stop, ///< Stop playing the video + Pause, ///< Pause the video + Resume ///< Resume playing the video + }; + + /** + * Creates a new rendition action. + * + * @param operation The type of operation the action executes. + * @param movie The movie object the action references. + * @param scriptType The type of script the action executes. + * @param script The actual script the action executes. + */ + RenditionAction(OperationType operation, Okular::Movie *movie, enum ScriptType scriptType, const QString &script); + + /** + * Destroys the rendition action. + */ + ~RenditionAction() override; + + /** + * Returns the action type. + */ + ActionType actionType() const override; + + /** + * Returns the action tip. + */ + QString actionTip() const override; + + /** + * Returns the operation type. + */ + OperationType operation() const; + + /** + * Returns the movie object or @c 0 if no movie object was set on construction time. + */ + Okular::Movie *movie() const; + + /** + * Returns the type of script. + */ + ScriptType scriptType() const; + + /** + * Returns the script code. + */ + QString script() const; + + /** + * Sets the @p annotation that is associated with the rendition action. + */ + void setAnnotation(ScreenAnnotation *annotation); + + /** + * Returns the annotation or @c 0 if no annotation has been set. + */ + ScreenAnnotation *annotation() const; + +private: + Q_DECLARE_PRIVATE(RenditionAction) + Q_DISABLE_COPY(RenditionAction) +}; + +class OKULARCORE_EXPORT BackendOpaqueAction : public Action +{ +public: + enum OpaqueActionResult { + DoNothing = 0, ///< @since 24.12 No action needed + RefreshForms = 0x01 ///< @since 24.12 Forms need to be refreshed + }; + Q_DECLARE_FLAGS(OpaqueActionResults, OpaqueActionResult) + + BackendOpaqueAction(); + + /** + * Returns the action type. + */ + ActionType actionType() const override; + +private: + Q_DISABLE_COPY(BackendOpaqueAction) +}; + +} + +#endif diff --git a/core/annotations.cpp b/core/annotations.cpp new file mode 100644 index 0000000..21c01b2 --- /dev/null +++ b/core/annotations.cpp @@ -0,0 +1,3440 @@ +/* + SPDX-FileCopyrightText: 2005 Enrico Ros + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "annotations.h" +#include "annotations_p.h" + +// qt/kde includes +#include +#include +#include +#include +#include +#include +#include +#include + +// DBL_MAX +#include + +// local includes +#include "action.h" +#include "document.h" +#include "document_p.h" +#include "movie.h" +#include "page_p.h" +#include "sound.h" + +#include + +using namespace Okular; + +/** + * True, if point @p c lies to the left of the vector from @p a to @p b + * @internal + */ +static bool isLeftOfVector(const NormalizedPoint &a, const NormalizedPoint &b, const NormalizedPoint &c) +{ + // cross product + return ((b.x - a.x) * (c.y - a.y) - (b.y - a.y) * (c.x - a.x)) > 0; +} + +/** + * @brief Calculates distance of the given point @p x @p y @p xScale @p yScale to the @p path + * + * Does piecewise comparison and selects the distance to the closest segment + */ +static double distanceSqr(double x, double y, double xScale, double yScale, const QList &path) +{ + double distance = DBL_MAX; + if (path.isEmpty()) { + return distance; + } + + QList::const_iterator i = path.constBegin(); + NormalizedPoint lastPoint = *i; + + for (++i; i != path.constEnd(); ++i) { + double thisDistance = NormalizedPoint::distanceSqr(x, y, xScale, yScale, lastPoint, (*i)); + + if (thisDistance < distance) { + distance = thisDistance; + } + + lastPoint = *i; + } + return distance; +} + +/** + * Given the squared @p distance from the idealized 0-width line and a pen width @p penWidth, + * (not squared!), returns the final distance + * + * @warning The returned distance is not exact: + * We calculate an (exact) squared distance to the ideal (centered) line, and then subtract + * the squared width of the pen: + * a^2 - b^2 where a = "distance from idealized 0-width line" b = "pen width" + * For an exact result, we would want to calculate "(a - b)^2" but that would require + * a square root operation because we only know the squared distance a^2. + * + * However, the approximation is feasible, because: + * error = (a-b)^2 - (a^2 - b^2) = -2ab + 2b^2 = 2b(b - a) + * Therefore: + * lim_{a->b} a^2 - b^2 - a^2 + 2ab - b^2 --> 0 + * + * In other words, this approximation will estimate the distance to be slightly more than it actually is + * for as long as we are far "outside" the line, becoming more accurate the closer we get to the line + * boundary. Trivially, it also fulfils (a1 < a2) => ((a1^2 - b^2) < (a2^2 - b^2)) making it monotonic. + * "Inside" of the drawn line, the distance is 0 anyway. + */ +static double strokeDistance(double distance, double penWidth) +{ + return fmax(distance - pow(penWidth, 2), 0); +} + +// BEGIN AnnotationUtils implementation +Annotation *AnnotationUtils::createAnnotation(const QDomElement &annElement) +{ + // safety check on annotation element + if (!annElement.hasAttribute(QStringLiteral("type"))) { + return nullptr; + } + + // build annotation of given type + Annotation *annotation = nullptr; + int typeNumber = annElement.attribute(QStringLiteral("type")).toInt(); + switch (typeNumber) { + case Annotation::AText: + annotation = new TextAnnotation(annElement); + break; + case Annotation::ALine: + annotation = new LineAnnotation(annElement); + break; + case Annotation::AGeom: + annotation = new GeomAnnotation(annElement); + break; + case Annotation::AHighlight: + annotation = new HighlightAnnotation(annElement); + break; + case Annotation::AStamp: + annotation = new StampAnnotation(annElement); + break; + case Annotation::AInk: + annotation = new InkAnnotation(annElement); + break; + case Annotation::ACaret: + annotation = new CaretAnnotation(annElement); + break; + } + + // return created annotation + return annotation; +} + +void AnnotationUtils::storeAnnotation(const Annotation *ann, QDomElement &annElement, QDomDocument &document) +{ + // save annotation's type as element's attribute + annElement.setAttribute(QStringLiteral("type"), (uint)ann->subType()); + + // append all annotation data as children of this node + ann->store(annElement, document); +} + +QDomElement AnnotationUtils::findChildElement(const QDomNode &parentNode, const QString &name) +{ + // loop through the whole children and return a 'name' named element + QDomNode subNode = parentNode.firstChild(); + while (subNode.isElement()) { + QDomElement element = subNode.toElement(); + if (element.tagName() == name) { + return element; + } + subNode = subNode.nextSibling(); + } + // if the name can't be found, return a dummy null element + return QDomElement(); +} + +QRect AnnotationUtils::annotationGeometry(const Annotation *annotation, double scaleX, double scaleY) +{ + const QRect rect = annotation->transformedBoundingRectangle().geometry((int)scaleX, (int)scaleY); + if (annotation->subType() == Annotation::AText && (static_cast(annotation)->textType() == TextAnnotation::Linked)) { + // To be honest i have no clue of why the 24,24 is here, maybe to make sure it's not too small? + // But why only for linked text? + const QRect rect24 = QRect((int)(annotation->transformedBoundingRectangle().left * scaleX), (int)(annotation->transformedBoundingRectangle().top * scaleY), 24, 24); + return rect24.united(rect); + } + + return rect; +} + +QPixmap AnnotationUtils::loadStamp(const QString &nameOrPath, int size, bool keepAspectRatio) +{ + return loadStamp(nameOrPath, QSize(size, size), keepAspectRatio ? Qt::KeepAspectRatioByExpanding : Qt::IgnoreAspectRatio); +} + +QPixmap AnnotationUtils::loadStamp(const QString &nameOrPath, QSize size, Qt::AspectRatioMode keepAspectRatio) +{ + const QString name = nameOrPath.toLower(); + + static std::unique_ptr svgStampFile; + if (!svgStampFile.get()) { + const QString stampFile = QStandardPaths::locate(QStandardPaths::GenericDataLocation, QStringLiteral("okular/pics/stamps.svg")); + if (!stampFile.isEmpty()) { + svgStampFile = std::make_unique(stampFile); + if (!svgStampFile->isValid()) { + svgStampFile.reset(); + } + } + } + + QSvgRenderer *r = svgStampFile.get(); + if (r && r->isValid() && r->elementExists(name)) { + const QSize stampSize = r->boundsOnElement(name).size().toSize(); + const QSize pixmapSize = stampSize.scaled(size, keepAspectRatio); + QPixmap pixmap(pixmapSize); + pixmap.fill(Qt::transparent); + QPainter p(&pixmap); + r->render(&p, name); + p.end(); + return pixmap; + } + + // _name is a path (do this before loading as icon name to avoid some rare weirdness ) + // Check that it exists up front. While pixmap.load() fails, if it is + // actually an icon from theme, the loader will try all supported + // extensions in current workdir before failing + if (QFile::exists(nameOrPath)) { + QImageReader reader(nameOrPath); + + QSize imageSize = reader.size(); + if (!reader.size().isNull()) { + reader.setScaledSize(imageSize.scaled(size, keepAspectRatio)); + } + auto pix = QPixmap::fromImageReader(&reader); + if (!pix.isNull()) { + return pix; + } + } + + // _name is an icon name + return QIcon::fromTheme(name).pixmap(std::max(size.height(), size.width())); +} +// END AnnotationUtils implementation + +AnnotationProxy::AnnotationProxy() +{ +} + +AnnotationProxy::~AnnotationProxy() +{ +} + +// BEGIN Annotation implementation + +class Annotation::Style::Private +{ +public: + Private() + : m_opacity(1.0) + , m_width(1.0) + , m_style(Solid) + , m_xCorners(0.0) + , m_yCorners(0.0) + , m_marks(3) + , m_spaces(0) + , m_effect(NoEffect) + , m_effectIntensity(1.0) + { + } + + QColor m_color; + double m_opacity; + double m_width; + LineStyle m_style; + double m_xCorners; + double m_yCorners; + int m_marks; + int m_spaces; + LineEffect m_effect; + double m_effectIntensity; +}; + +Annotation::Style::Style() + : d(new Private) +{ +} + +Annotation::Style::~Style() +{ + delete d; +} + +Annotation::Style::Style(const Style &other) + : d(new Private) +{ + *d = *other.d; +} + +Annotation::Style &Annotation::Style::operator=(const Style &other) +{ + if (this != &other) { + *d = *other.d; + } + + return *this; +} + +void Annotation::Style::setColor(const QColor &color) +{ + d->m_color = color; +} + +QColor Annotation::Style::color() const +{ + return d->m_color; +} + +void Annotation::Style::setOpacity(double opacity) +{ + d->m_opacity = opacity; +} + +double Annotation::Style::opacity() const +{ + return d->m_opacity; +} + +void Annotation::Style::setWidth(double width) +{ + d->m_width = width; +} + +double Annotation::Style::width() const +{ + return d->m_width; +} + +void Annotation::Style::setLineStyle(LineStyle style) +{ + d->m_style = style; +} + +Annotation::LineStyle Annotation::Style::lineStyle() const +{ + return d->m_style; +} + +void Annotation::Style::setXCorners(double xCorners) +{ + d->m_xCorners = xCorners; +} + +double Annotation::Style::xCorners() const +{ + return d->m_xCorners; +} + +void Annotation::Style::setYCorners(double yCorners) +{ + d->m_yCorners = yCorners; +} + +double Annotation::Style::yCorners() const +{ + return d->m_yCorners; +} + +void Annotation::Style::setMarks(int marks) +{ + d->m_marks = marks; +} + +int Annotation::Style::marks() const +{ + return d->m_marks; +} + +void Annotation::Style::setSpaces(int spaces) +{ + d->m_spaces = spaces; +} + +int Annotation::Style::spaces() const +{ + return d->m_spaces; +} + +void Annotation::Style::setLineEffect(LineEffect effect) +{ + d->m_effect = effect; +} + +Annotation::LineEffect Annotation::Style::lineEffect() const +{ + return d->m_effect; +} + +void Annotation::Style::setEffectIntensity(double intensity) +{ + d->m_effectIntensity = intensity; +} + +double Annotation::Style::effectIntensity() const +{ + return d->m_effectIntensity; +} + +class Annotation::Window::Private +{ +public: + Private() + : m_flags(-1) + , m_width(0) + , m_height(0) + { + } + + int m_flags; + NormalizedPoint m_topLeft; + int m_width; + int m_height; + QString m_title; + QString m_summary; +}; + +Annotation::Window::Window() + : d(new Private) +{ +} + +Annotation::Window::~Window() +{ + delete d; +} + +Annotation::Window::Window(const Window &other) + : d(new Private) +{ + *d = *other.d; +} + +Annotation::Window &Annotation::Window::operator=(const Window &other) +{ + if (this != &other) { + *d = *other.d; + } + + return *this; +} + +void Annotation::Window::setFlags(int flags) +{ + d->m_flags = flags; +} + +int Annotation::Window::flags() const +{ + return d->m_flags; +} + +void Annotation::Window::setTopLeft(const NormalizedPoint &point) +{ + d->m_topLeft = point; +} + +NormalizedPoint Annotation::Window::topLeft() const +{ + return d->m_topLeft; +} + +void Annotation::Window::setWidth(int width) +{ + d->m_width = width; +} + +int Annotation::Window::width() const +{ + return d->m_width; +} + +void Annotation::Window::setHeight(int height) +{ + d->m_height = height; +} + +int Annotation::Window::height() const +{ + return d->m_height; +} + +void Annotation::Window::setTitle(const QString &title) +{ + d->m_title = title; +} + +QString Annotation::Window::title() const +{ + return d->m_title; +} + +void Annotation::Window::setSummary(const QString &summary) +{ + d->m_summary = summary; +} + +QString Annotation::Window::summary() const +{ + return d->m_summary; +} + +class Annotation::Revision::Private +{ +public: + Private() + : m_annotation(nullptr) + , m_scope(Reply) + , m_type(None) + { + } + + Annotation *m_annotation; + RevisionScope m_scope; + RevisionType m_type; +}; + +Annotation::Revision::Revision() + : d(new Private) +{ +} + +Annotation::Revision::~Revision() +{ + delete d; +} + +Annotation::Revision::Revision(const Revision &other) + : d(new Private) +{ + *d = *other.d; +} + +Annotation::Revision &Annotation::Revision::operator=(const Revision &other) +{ + if (this != &other) { + *d = *other.d; + } + + return *this; +} + +void Annotation::Revision::setAnnotation(Annotation *annotation) +{ + d->m_annotation = annotation; +} + +Annotation *Annotation::Revision::annotation() const +{ + return d->m_annotation; +} + +void Annotation::Revision::setScope(RevisionScope scope) +{ + d->m_scope = scope; +} + +Annotation::RevisionScope Annotation::Revision::scope() const +{ + return d->m_scope; +} + +void Annotation::Revision::setType(RevisionType type) +{ + d->m_type = type; +} + +Annotation::RevisionType Annotation::Revision::type() const +{ + return d->m_type; +} + +AnnotationPrivate::AnnotationPrivate() + : m_page(nullptr) + , m_flags(0) + , m_disposeFunc(nullptr) +{ +} + +AnnotationPrivate::~AnnotationPrivate() +{ + // delete all children revisions + if (m_revisions.isEmpty()) { + return; + } + + for (const Annotation::Revision &revision : std::as_const(m_revisions)) { + delete revision.annotation(); + } +} + +AnnotationPrivate *AnnotationPrivate::get(Annotation *a) +{ + return a ? a->d_ptr : nullptr; +} + +Annotation::Annotation(AnnotationPrivate &dd) + : d_ptr(&dd) +{ +} + +Annotation::Annotation(AnnotationPrivate &dd, const QDomNode &description) + : d_ptr(&dd) +{ + d_ptr->setAnnotationProperties(description); +} + +Annotation::~Annotation() +{ + if (d_ptr->m_disposeFunc) { + d_ptr->m_disposeFunc(this); + } + + delete d_ptr; +} + +void Annotation::setAuthor(const QString &author) +{ + Q_D(Annotation); + d->m_author = author; +} + +QString Annotation::author() const +{ + Q_D(const Annotation); + return d->m_author; +} + +void Annotation::setContents(const QString &contents) +{ + Q_D(Annotation); + d->m_contents = contents; +} + +QString Annotation::contents() const +{ + Q_D(const Annotation); + return d->m_contents; +} + +void Annotation::setUniqueName(const QString &name) +{ + Q_D(Annotation); + d->m_uniqueName = name; +} + +QString Annotation::uniqueName() const +{ + Q_D(const Annotation); + return d->m_uniqueName; +} + +void Annotation::setModificationDate(const QDateTime &date) +{ + Q_D(Annotation); + d->m_modifyDate = date; +} + +QDateTime Annotation::modificationDate() const +{ + Q_D(const Annotation); + return d->m_modifyDate; +} + +void Annotation::setCreationDate(const QDateTime &date) +{ + Q_D(Annotation); + d->m_creationDate = date; +} + +QDateTime Annotation::creationDate() const +{ + Q_D(const Annotation); + return d->m_creationDate; +} + +void Annotation::setFlags(int flags) +{ + Q_D(Annotation); + d->m_flags = flags; +} + +int Annotation::flags() const +{ + Q_D(const Annotation); + return d->m_flags; +} + +void Annotation::setBoundingRectangle(const NormalizedRect &rectangle) +{ + Q_D(Annotation); + d->m_boundary = rectangle; + d->resetTransformation(); + if (d->m_page) { + d->transform(d->m_page->rotationMatrix()); + } +} + +NormalizedRect Annotation::boundingRectangle() const +{ + Q_D(const Annotation); + return d->m_boundary; +} + +NormalizedRect Annotation::transformedBoundingRectangle() const +{ + Q_D(const Annotation); + return d->m_transformedBoundary; +} + +void Annotation::translate(const NormalizedPoint &coord) +{ + Q_D(Annotation); + d->translate(coord); + d->resetTransformation(); + if (d->m_page) { + d->transform(d->m_page->rotationMatrix()); + } +} + +void Annotation::adjust(const NormalizedPoint &deltaCoord1, const NormalizedPoint &deltaCoord2) +{ + Q_D(Annotation); + d->adjust(deltaCoord1, deltaCoord2); + d->resetTransformation(); + if (d->m_page) { + d->transform(d->m_page->rotationMatrix()); + } +} + +bool Annotation::openDialogAfterCreation() const +{ + Q_D(const Annotation); + return d->openDialogAfterCreation(); +} + +Annotation::Style &Annotation::style() +{ + Q_D(Annotation); + return d->m_style; +} + +const Annotation::Style &Annotation::style() const +{ + Q_D(const Annotation); + return d->m_style; +} + +Annotation::Window &Annotation::window() +{ + Q_D(Annotation); + return d->m_window; +} + +const Annotation::Window &Annotation::window() const +{ + Q_D(const Annotation); + return d->m_window; +} + +QList &Annotation::revisions() +{ + Q_D(Annotation); + return d->m_revisions; +} + +const QList &Annotation::revisions() const +{ + Q_D(const Annotation); + return d->m_revisions; +} + +void Annotation::setNativeId(const QVariant &id) +{ + Q_D(Annotation); + d->m_nativeId = id; +} + +QVariant Annotation::nativeId() const +{ + Q_D(const Annotation); + return d->m_nativeId; +} + +void Annotation::setDisposeDataFunction(DisposeDataFunction func) +{ + Q_D(Annotation); + d->m_disposeFunc = func; +} + +void Annotation::setNativeData(std::shared_ptr data) +{ + Q_D(Annotation); + d->m_nativeData = std::move(data); +} + +const void *Annotation::nativeData() const +{ + Q_D(const Annotation); + return d->m_nativeData.get(); +} + +bool Annotation::canBeMoved() const +{ + Q_D(const Annotation); + + // Don't move annotations if they cannot be modified + if (!d->m_page || !d->m_page->m_doc->m_parent->canModifyPageAnnotation(this)) { + return false; + } + + // highlight "requires" to be "bounded" to text, and that's tricky for now + if (subType() == AHighlight) { + return false; + } + + return true; +} + +bool Annotation::canBeResized() const +{ + Q_D(const Annotation); + + // Don't resize annotations if they cannot be modified + if (!d->m_page || !d->m_page->m_doc->m_parent->canModifyPageAnnotation(this)) { + return false; + } + + return d->canBeResized(); +} + +void Annotation::store(QDomNode &annNode, QDomDocument &document) const +{ + Q_D(const Annotation); + // create [base] element of the annotation node + QDomElement e = document.createElement(QStringLiteral("base")); + annNode.appendChild(e); + + // store -contents- attributes + if (!d->m_author.isEmpty()) { + e.setAttribute(QStringLiteral("author"), d->m_author); + } + if (!d->m_contents.isEmpty()) { + e.setAttribute(QStringLiteral("contents"), d->m_contents); + } + if (!d->m_uniqueName.isEmpty()) { + e.setAttribute(QStringLiteral("uniqueName"), d->m_uniqueName); + } + if (d->m_modifyDate.isValid()) { + e.setAttribute(QStringLiteral("modifyDate"), d->m_modifyDate.toString(Qt::ISODate)); + } + if (d->m_creationDate.isValid()) { + e.setAttribute(QStringLiteral("creationDate"), d->m_creationDate.toString(Qt::ISODate)); + } + + // store -other- attributes + if (d->m_flags) { // Strip internal flags + e.setAttribute(QStringLiteral("flags"), d->m_flags & ~(External | ExternallyDrawn | BeingMoved | BeingResized)); + } + if (d->m_style.color().isValid()) { + e.setAttribute(QStringLiteral("color"), d->m_style.color().name(QColor::HexArgb)); + } + if (d->m_style.opacity() != 1.0) { + e.setAttribute(QStringLiteral("opacity"), QString::number(d->m_style.opacity())); + } + + // Sub-Node-1 - boundary + QDomElement bE = document.createElement(QStringLiteral("boundary")); + e.appendChild(bE); + bE.setAttribute(QStringLiteral("l"), QString::number(d->m_boundary.left)); + bE.setAttribute(QStringLiteral("t"), QString::number(d->m_boundary.top)); + bE.setAttribute(QStringLiteral("r"), QString::number(d->m_boundary.right)); + bE.setAttribute(QStringLiteral("b"), QString::number(d->m_boundary.bottom)); + + // Sub-Node-2 - penStyle + if (d->m_style.width() != 1 || d->m_style.lineStyle() != Solid || d->m_style.xCorners() != 0 || d->m_style.yCorners() != 0.0 || d->m_style.marks() != 3 || d->m_style.spaces() != 0) { + QDomElement psE = document.createElement(QStringLiteral("penStyle")); + e.appendChild(psE); + psE.setAttribute(QStringLiteral("width"), QString::number(d->m_style.width())); + psE.setAttribute(QStringLiteral("style"), (int)d->m_style.lineStyle()); + psE.setAttribute(QStringLiteral("xcr"), QString::number(d->m_style.xCorners())); + psE.setAttribute(QStringLiteral("ycr"), QString::number(d->m_style.yCorners())); + psE.setAttribute(QStringLiteral("marks"), d->m_style.marks()); + psE.setAttribute(QStringLiteral("spaces"), d->m_style.spaces()); + } + + // Sub-Node-3 - penEffect + if (d->m_style.lineEffect() != NoEffect || d->m_style.effectIntensity() != 1.0) { + QDomElement peE = document.createElement(QStringLiteral("penEffect")); + e.appendChild(peE); + peE.setAttribute(QStringLiteral("effect"), (int)d->m_style.lineEffect()); + peE.setAttribute(QStringLiteral("intensity"), QString::number(d->m_style.effectIntensity())); + } + + // Sub-Node-4 - window + if (d->m_window.flags() != -1 || !d->m_window.title().isEmpty() || !d->m_window.summary().isEmpty()) { + QDomElement wE = document.createElement(QStringLiteral("window")); + e.appendChild(wE); + wE.setAttribute(QStringLiteral("flags"), d->m_window.flags()); + wE.setAttribute(QStringLiteral("top"), QString::number(d->m_window.topLeft().x)); + wE.setAttribute(QStringLiteral("left"), QString::number(d->m_window.topLeft().y)); + wE.setAttribute(QStringLiteral("width"), d->m_window.width()); + wE.setAttribute(QStringLiteral("height"), d->m_window.height()); + wE.setAttribute(QStringLiteral("title"), d->m_window.title()); + wE.setAttribute(QStringLiteral("summary"), d->m_window.summary()); + } + + // create [revision] element of the annotation node (if any) + if (d->m_revisions.isEmpty()) { + return; + } + + // add all revisions as children of revisions element + for (const Revision &revision : std::as_const(d->m_revisions)) { + // create revision element + QDomElement r = document.createElement(QStringLiteral("revision")); + annNode.appendChild(r); + // set element attributes + r.setAttribute(QStringLiteral("revScope"), (int)revision.scope()); + r.setAttribute(QStringLiteral("revType"), (int)revision.type()); + // use revision as the annotation element, so fill it up + AnnotationUtils::storeAnnotation(revision.annotation(), r, document); + } +} + +QDomNode Annotation::getAnnotationPropertiesDomNode() const +{ + QDomDocument doc(QStringLiteral("documentInfo")); + QDomElement node = doc.createElement(QStringLiteral("annotation")); + + store(node, doc); + return node; +} + +void Annotation::setAnnotationProperties(const QDomNode &node) +{ + // Save off internal properties that aren't contained in node + Okular::PagePrivate *p = d_ptr->m_page; + QVariant nativeID = d_ptr->m_nativeId; + const int internalFlags = d_ptr->m_flags & (External | ExternallyDrawn | BeingMoved | BeingResized); + Annotation::DisposeDataFunction disposeFunc = d_ptr->m_disposeFunc; + + // Replace AnnotationPrivate object with a fresh copy + AnnotationPrivate *new_d_ptr = d_ptr->getNewAnnotationPrivate(); + delete (d_ptr); + d_ptr = new_d_ptr; + + // Set the annotations properties from node + d_ptr->setAnnotationProperties(node); + + // Restore internal properties + d_ptr->m_page = p; + d_ptr->m_nativeId = nativeID; + d_ptr->m_flags = d_ptr->m_flags | internalFlags; + d_ptr->m_disposeFunc = disposeFunc; + + // Transform annotation to current page rotation + d_ptr->transform(d_ptr->m_page->rotationMatrix()); +} + +double AnnotationPrivate::distanceSqr(double x, double y, double xScale, double yScale) const +{ + return m_transformedBoundary.distanceSqr(x, y, xScale, yScale); +} + +void AnnotationPrivate::annotationTransform(const QTransform &matrix) +{ + resetTransformation(); + transform(matrix); +} + +void AnnotationPrivate::transform(const QTransform &matrix) +{ + m_transformedBoundary.transform(matrix); +} + +void AnnotationPrivate::baseTransform(const QTransform &matrix) +{ + m_boundary.transform(matrix); +} + +void AnnotationPrivate::resetTransformation() +{ + m_transformedBoundary = m_boundary; +} + +void AnnotationPrivate::translate(const NormalizedPoint &coord) +{ + m_boundary.left = m_boundary.left + coord.x; + m_boundary.right = m_boundary.right + coord.x; + m_boundary.top = m_boundary.top + coord.y; + m_boundary.bottom = m_boundary.bottom + coord.y; +} + +void AnnotationPrivate::adjust(const NormalizedPoint &deltaCoord1, const NormalizedPoint &deltaCoord2) +{ + m_boundary.left = m_boundary.left + qBound(-m_boundary.left, deltaCoord1.x, m_boundary.right - m_boundary.left); + m_boundary.top = m_boundary.top + qBound(-m_boundary.top, deltaCoord1.y, m_boundary.bottom - m_boundary.top); + ; + m_boundary.right = m_boundary.right + qBound(m_boundary.left - m_boundary.right, deltaCoord2.x, 1. - m_boundary.right); + m_boundary.bottom = m_boundary.bottom + qBound(m_boundary.top - m_boundary.bottom, deltaCoord2.y, 1. - m_boundary.bottom); +} + +bool AnnotationPrivate::openDialogAfterCreation() const +{ + return false; +} + +void AnnotationPrivate::setAnnotationProperties(const QDomNode &node) +{ + // get the [base] element of the annotation node + QDomElement e = AnnotationUtils::findChildElement(node, QStringLiteral("base")); + if (e.isNull()) { + return; + } + + // parse -contents- attributes + if (e.hasAttribute(QStringLiteral("author"))) { + m_author = e.attribute(QStringLiteral("author")); + } + if (e.hasAttribute(QStringLiteral("contents"))) { + m_contents = e.attribute(QStringLiteral("contents")); + } + if (e.hasAttribute(QStringLiteral("uniqueName"))) { + m_uniqueName = e.attribute(QStringLiteral("uniqueName")); + } + if (e.hasAttribute(QStringLiteral("modifyDate"))) { + m_modifyDate = QDateTime::fromString(e.attribute(QStringLiteral("modifyDate")), Qt::ISODate); + } + if (e.hasAttribute(QStringLiteral("creationDate"))) { + m_creationDate = QDateTime::fromString(e.attribute(QStringLiteral("creationDate")), Qt::ISODate); + } + + // parse -other- attributes + if (e.hasAttribute(QStringLiteral("flags"))) { + m_flags = e.attribute(QStringLiteral("flags")).toInt(); + } + if (e.hasAttribute(QStringLiteral("color"))) { + m_style.setColor(QColor(e.attribute(QStringLiteral("color")))); + } + if (e.hasAttribute(QStringLiteral("opacity"))) { + m_style.setOpacity(e.attribute(QStringLiteral("opacity")).toDouble()); + } + + // parse -the-subnodes- (describing Style, Window, Revision(s) structures) + // Note: all subnodes if present must be 'attributes complete' + QDomNode eSubNode = e.firstChild(); + while (eSubNode.isElement()) { + QDomElement ee = eSubNode.toElement(); + eSubNode = eSubNode.nextSibling(); + + // parse boundary + if (ee.tagName() == QLatin1String("boundary")) { + m_boundary = NormalizedRect(ee.attribute(QStringLiteral("l")).toDouble(), ee.attribute(QStringLiteral("t")).toDouble(), ee.attribute(QStringLiteral("r")).toDouble(), ee.attribute(QStringLiteral("b")).toDouble()); + } + // parse penStyle if not default + else if (ee.tagName() == QLatin1String("penStyle")) { + m_style.setWidth(ee.attribute(QStringLiteral("width")).toDouble()); + m_style.setLineStyle((Annotation::LineStyle)ee.attribute(QStringLiteral("style")).toInt()); + m_style.setXCorners(ee.attribute(QStringLiteral("xcr")).toDouble()); + m_style.setYCorners(ee.attribute(QStringLiteral("ycr")).toDouble()); + m_style.setMarks(ee.attribute(QStringLiteral("marks")).toInt()); + m_style.setSpaces(ee.attribute(QStringLiteral("spaces")).toInt()); + } + // parse effectStyle if not default + else if (ee.tagName() == QLatin1String("penEffect")) { + m_style.setLineEffect((Annotation::LineEffect)ee.attribute(QStringLiteral("effect")).toInt()); + m_style.setEffectIntensity(ee.attribute(QStringLiteral("intensity")).toDouble()); + } + // parse window if present + else if (ee.tagName() == QLatin1String("window")) { + m_window.setFlags(ee.attribute(QStringLiteral("flags")).toInt()); + m_window.setTopLeft(NormalizedPoint(ee.attribute(QStringLiteral("top")).toDouble(), ee.attribute(QStringLiteral("left")).toDouble())); + m_window.setWidth(ee.attribute(QStringLiteral("width")).toInt()); + m_window.setHeight(ee.attribute(QStringLiteral("height")).toInt()); + m_window.setTitle(ee.attribute(QStringLiteral("title"))); + m_window.setSummary(ee.attribute(QStringLiteral("summary"))); + } + } + + // get the [revisions] element of the annotation node + QDomNode revNode = node.firstChild(); + for (; revNode.isElement(); revNode = revNode.nextSibling()) { + QDomElement revElement = revNode.toElement(); + if (revElement.tagName() != QLatin1String("revision")) { + continue; + } + + // compile the Revision structure crating annotation + Annotation::Revision revision; + revision.setScope((Annotation::RevisionScope)revElement.attribute(QStringLiteral("revScope")).toInt()); + revision.setType((Annotation::RevisionType)revElement.attribute(QStringLiteral("revType")).toInt()); + revision.setAnnotation(AnnotationUtils::createAnnotation(revElement)); + + // if annotation is valid, add revision to internal list + if (revision.annotation()) { + m_revisions.append(revision); + } + } + + m_transformedBoundary = m_boundary; +} + +bool AnnotationPrivate::canBeResized() const +{ + return false; +} + +// END Annotation implementation + +/** TextAnnotation [Annotation] */ + +class Okular::TextAnnotationPrivate : public Okular::AnnotationPrivate +{ +public: + TextAnnotationPrivate() + : AnnotationPrivate() + , m_textType(TextAnnotation::Linked) + , m_textIcon(QStringLiteral("Comment")) + , m_inplaceAlign(0) + , m_inplaceIntent(TextAnnotation::Unknown) + { + } + + void transform(const QTransform &matrix) override; + void baseTransform(const QTransform &matrix) override; + void resetTransformation() override; + void translate(const NormalizedPoint &coord) override; + bool openDialogAfterCreation() const override; + void setAnnotationProperties(const QDomNode &node) override; + bool canBeResized() const override; + AnnotationPrivate *getNewAnnotationPrivate() override; + + TextAnnotation::TextType m_textType; + QString m_textIcon; + QFont m_textFont; + QColor m_textColor; + int m_inplaceAlign; + NormalizedPoint m_inplaceCallout[3]; + NormalizedPoint m_transformedInplaceCallout[3]; + TextAnnotation::InplaceIntent m_inplaceIntent; +}; + +/* + The default textIcon for text annotation is Note as the PDF Reference says +*/ +TextAnnotation::TextAnnotation() + : Annotation(*new TextAnnotationPrivate()) +{ +} + +TextAnnotation::TextAnnotation(const QDomNode &description) + : Annotation(*new TextAnnotationPrivate(), description) +{ +} + +TextAnnotation::~TextAnnotation() +{ +} + +void TextAnnotation::setTextType(TextType textType) +{ + Q_D(TextAnnotation); + d->m_textType = textType; +} + +TextAnnotation::TextType TextAnnotation::textType() const +{ + Q_D(const TextAnnotation); + return d->m_textType; +} + +void TextAnnotation::setTextIcon(const QString &icon) +{ + Q_D(TextAnnotation); + d->m_textIcon = icon; +} + +QString TextAnnotation::textIcon() const +{ + Q_D(const TextAnnotation); + return d->m_textIcon; +} + +void TextAnnotation::setTextFont(const QFont &font) +{ + Q_D(TextAnnotation); + d->m_textFont = font; +} + +QFont TextAnnotation::textFont() const +{ + Q_D(const TextAnnotation); + return d->m_textFont; +} + +void TextAnnotation::setTextColor(const QColor &color) +{ + Q_D(TextAnnotation); + d->m_textColor = color; +} + +QColor TextAnnotation::textColor() const +{ + Q_D(const TextAnnotation); + return d->m_textColor; +} + +void TextAnnotation::setInplaceAlignment(int alignment) +{ + Q_D(TextAnnotation); + d->m_inplaceAlign = alignment; +} + +int TextAnnotation::inplaceAlignment() const +{ + Q_D(const TextAnnotation); + return d->m_inplaceAlign; +} + +void TextAnnotation::setInplaceCallout(const NormalizedPoint &point, int index) +{ + if (index < 0 || index > 2) { + return; + } + + Q_D(TextAnnotation); + d->m_inplaceCallout[index] = point; +} + +NormalizedPoint TextAnnotation::inplaceCallout(int index) const +{ + if (index < 0 || index > 2) { + return NormalizedPoint(); + } + + Q_D(const TextAnnotation); + return d->m_inplaceCallout[index]; +} + +NormalizedPoint TextAnnotation::transformedInplaceCallout(int index) const +{ + if (index < 0 || index > 2) { + return NormalizedPoint(); + } + + Q_D(const TextAnnotation); + return d->m_transformedInplaceCallout[index]; +} + +void TextAnnotation::setInplaceIntent(InplaceIntent intent) +{ + Q_D(TextAnnotation); + d->m_inplaceIntent = intent; +} + +TextAnnotation::InplaceIntent TextAnnotation::inplaceIntent() const +{ + Q_D(const TextAnnotation); + return d->m_inplaceIntent; +} + +Annotation::SubType TextAnnotation::subType() const +{ + return AText; +} + +void TextAnnotation::store(QDomNode &node, QDomDocument &document) const +{ + Q_D(const TextAnnotation); + // recurse to parent objects storing properties + Annotation::store(node, document); + + // create [text] element + QDomElement textElement = document.createElement(QStringLiteral("text")); + node.appendChild(textElement); + + // store the optional attributes + if (d->m_textType != Linked) { + textElement.setAttribute(QStringLiteral("type"), (int)d->m_textType); + } + if (!d->m_textIcon.isEmpty()) { + textElement.setAttribute(QStringLiteral("icon"), d->m_textIcon); + } + if (d->m_textFont != QApplication::font()) { + textElement.setAttribute(QStringLiteral("font"), d->m_textFont.toString()); + } + if (d->m_textColor.isValid()) { + textElement.setAttribute(QStringLiteral("fontColor"), d->m_textColor.name()); + } + if (d->m_inplaceAlign) { + textElement.setAttribute(QStringLiteral("align"), d->m_inplaceAlign); + } + if (d->m_inplaceIntent != Unknown) { + textElement.setAttribute(QStringLiteral("intent"), (int)d->m_inplaceIntent); + } + + // Sub-Node - callout + if (d->m_inplaceCallout[0].x != 0.0) { + QDomElement calloutElement = document.createElement(QStringLiteral("callout")); + textElement.appendChild(calloutElement); + calloutElement.setAttribute(QStringLiteral("ax"), QString::number(d->m_inplaceCallout[0].x)); + calloutElement.setAttribute(QStringLiteral("ay"), QString::number(d->m_inplaceCallout[0].y)); + calloutElement.setAttribute(QStringLiteral("bx"), QString::number(d->m_inplaceCallout[1].x)); + calloutElement.setAttribute(QStringLiteral("by"), QString::number(d->m_inplaceCallout[1].y)); + calloutElement.setAttribute(QStringLiteral("cx"), QString::number(d->m_inplaceCallout[2].x)); + calloutElement.setAttribute(QStringLiteral("cy"), QString::number(d->m_inplaceCallout[2].y)); + } +} + +void TextAnnotationPrivate::transform(const QTransform &matrix) +{ + AnnotationPrivate::transform(matrix); + + for (NormalizedPoint &np : m_transformedInplaceCallout) { + np.transform(matrix); + } +} + +void TextAnnotationPrivate::baseTransform(const QTransform &matrix) +{ + AnnotationPrivate::baseTransform(matrix); + + for (NormalizedPoint &np : m_inplaceCallout) { + np.transform(matrix); + } +} + +void TextAnnotationPrivate::resetTransformation() +{ + AnnotationPrivate::resetTransformation(); + + for (int i = 0; i < 3; ++i) { + m_transformedInplaceCallout[i] = m_inplaceCallout[i]; + } +} + +void TextAnnotationPrivate::translate(const NormalizedPoint &coord) +{ + AnnotationPrivate::translate(coord); + +#define ADD_COORD(c1, c2) \ + { \ + c1.x = c1.x + c2.x; \ + c1.y = c1.y + c2.y; \ + } + ADD_COORD(m_inplaceCallout[0], coord) + ADD_COORD(m_inplaceCallout[1], coord) + ADD_COORD(m_inplaceCallout[2], coord) +#undef ADD_COORD +} + +bool TextAnnotationPrivate::openDialogAfterCreation() const +{ + return (m_textType == Okular::TextAnnotation::Linked) || (m_inplaceIntent == TextAnnotation::InplaceIntent::Unknown); +} + +void TextAnnotationPrivate::setAnnotationProperties(const QDomNode &node) +{ + Okular::AnnotationPrivate::setAnnotationProperties(node); + + // loop through the whole children looking for a 'text' element + QDomNode subNode = node.firstChild(); + while (subNode.isElement()) { + QDomElement e = subNode.toElement(); + subNode = subNode.nextSibling(); + if (e.tagName() != QLatin1String("text")) { + continue; + } + + // parse the attributes + if (e.hasAttribute(QStringLiteral("type"))) { + m_textType = (TextAnnotation::TextType)e.attribute(QStringLiteral("type")).toInt(); + } + if (e.hasAttribute(QStringLiteral("icon"))) { + m_textIcon = e.attribute(QStringLiteral("icon")); + } + if (e.hasAttribute(QStringLiteral("font"))) { + m_textFont.fromString(e.attribute(QStringLiteral("font"))); + } + if (e.hasAttribute(QStringLiteral("fontColor"))) { + m_textColor = QColor(e.attribute(QStringLiteral("fontColor"))); + } + if (e.hasAttribute(QStringLiteral("align"))) { + m_inplaceAlign = e.attribute(QStringLiteral("align")).toInt(); + } + if (e.hasAttribute(QStringLiteral("intent"))) { + m_inplaceIntent = (TextAnnotation::InplaceIntent)e.attribute(QStringLiteral("intent")).toInt(); + } + + // parse the subnodes + QDomNode eSubNode = e.firstChild(); + while (eSubNode.isElement()) { + QDomElement ee = eSubNode.toElement(); + eSubNode = eSubNode.nextSibling(); + + if (ee.tagName() == QLatin1String("escapedText")) { + m_contents = ee.firstChild().toCDATASection().data(); + } else if (ee.tagName() == QLatin1String("callout")) { + m_inplaceCallout[0].x = ee.attribute(QStringLiteral("ax")).toDouble(); + m_inplaceCallout[0].y = ee.attribute(QStringLiteral("ay")).toDouble(); + m_inplaceCallout[1].x = ee.attribute(QStringLiteral("bx")).toDouble(); + m_inplaceCallout[1].y = ee.attribute(QStringLiteral("by")).toDouble(); + m_inplaceCallout[2].x = ee.attribute(QStringLiteral("cx")).toDouble(); + m_inplaceCallout[2].y = ee.attribute(QStringLiteral("cy")).toDouble(); + } + } + + // loading complete + break; + } + + for (int i = 0; i < 3; ++i) { + m_transformedInplaceCallout[i] = m_inplaceCallout[i]; + } +} + +bool TextAnnotationPrivate::canBeResized() const +{ + if (m_textType != TextAnnotation::Linked) { + return true; + } + return false; +} + +AnnotationPrivate *TextAnnotationPrivate::getNewAnnotationPrivate() +{ + return new TextAnnotationPrivate(); +} + +/** LineAnnotation [Annotation] */ + +class Okular::LineAnnotationPrivate : public Okular::AnnotationPrivate +{ +public: + LineAnnotationPrivate() + : AnnotationPrivate() + , m_lineStartStyle(LineAnnotation::None) + , m_lineEndStyle(LineAnnotation::None) + , m_lineClosed(false) + , m_lineShowCaption(false) + , m_lineLeadingFwdPt(0) + , m_lineLeadingBackPt(0) + , m_lineIntent(LineAnnotation::Unknown) + { + } + + void transform(const QTransform &matrix) override; + void baseTransform(const QTransform &matrix) override; + void resetTransformation() override; + void translate(const NormalizedPoint &coord) override; + double distanceSqr(double x, double y, double xScale, double yScale) const override; + void setAnnotationProperties(const QDomNode &node) override; + AnnotationPrivate *getNewAnnotationPrivate() override; + + QList m_linePoints; + QList m_transformedLinePoints; + LineAnnotation::TermStyle m_lineStartStyle; + LineAnnotation::TermStyle m_lineEndStyle; + bool m_lineClosed : 1; + bool m_lineShowCaption : 1; + QColor m_lineInnerColor; + double m_lineLeadingFwdPt; + double m_lineLeadingBackPt; + LineAnnotation::LineIntent m_lineIntent; +}; + +LineAnnotation::LineAnnotation() + : Annotation(*new LineAnnotationPrivate()) +{ +} + +LineAnnotation::LineAnnotation(const QDomNode &description) + : Annotation(*new LineAnnotationPrivate(), description) +{ +} + +LineAnnotation::~LineAnnotation() +{ +} + +void LineAnnotation::setLinePoints(const QList &points) +{ + Q_D(LineAnnotation); + d->m_linePoints = points; +} + +QList LineAnnotation::linePoints() const +{ + Q_D(const LineAnnotation); + return d->m_linePoints; +} + +QList LineAnnotation::transformedLinePoints() const +{ + Q_D(const LineAnnotation); + return d->m_transformedLinePoints; +} + +void LineAnnotation::setLineStartStyle(TermStyle style) +{ + Q_D(LineAnnotation); + d->m_lineStartStyle = style; +} + +LineAnnotation::TermStyle LineAnnotation::lineStartStyle() const +{ + Q_D(const LineAnnotation); + return d->m_lineStartStyle; +} + +void LineAnnotation::setLineEndStyle(TermStyle style) +{ + Q_D(LineAnnotation); + d->m_lineEndStyle = style; +} + +LineAnnotation::TermStyle LineAnnotation::lineEndStyle() const +{ + Q_D(const LineAnnotation); + return d->m_lineEndStyle; +} + +void LineAnnotation::setLineClosed(bool closed) +{ + Q_D(LineAnnotation); + d->m_lineClosed = closed; +} + +bool LineAnnotation::lineClosed() const +{ + Q_D(const LineAnnotation); + return d->m_lineClosed; +} + +void LineAnnotation::setLineInnerColor(const QColor &color) +{ + Q_D(LineAnnotation); + d->m_lineInnerColor = color; +} + +QColor LineAnnotation::lineInnerColor() const +{ + Q_D(const LineAnnotation); + return d->m_lineInnerColor; +} + +void LineAnnotation::setLineLeadingForwardPoint(double point) +{ + Q_D(LineAnnotation); + d->m_lineLeadingFwdPt = point; +} + +double LineAnnotation::lineLeadingForwardPoint() const +{ + Q_D(const LineAnnotation); + return d->m_lineLeadingFwdPt; +} + +void LineAnnotation::setLineLeadingBackwardPoint(double point) +{ + Q_D(LineAnnotation); + d->m_lineLeadingBackPt = point; +} + +double LineAnnotation::lineLeadingBackwardPoint() const +{ + Q_D(const LineAnnotation); + return d->m_lineLeadingBackPt; +} + +void LineAnnotation::setShowCaption(bool show) +{ + Q_D(LineAnnotation); + d->m_lineShowCaption = show; +} + +bool LineAnnotation::showCaption() const +{ + Q_D(const LineAnnotation); + return d->m_lineShowCaption; +} + +void LineAnnotation::setLineIntent(LineIntent intent) +{ + Q_D(LineAnnotation); + d->m_lineIntent = intent; +} + +LineAnnotation::LineIntent LineAnnotation::lineIntent() const +{ + Q_D(const LineAnnotation); + return d->m_lineIntent; +} + +Annotation::SubType LineAnnotation::subType() const +{ + return ALine; +} + +void LineAnnotation::store(QDomNode &node, QDomDocument &document) const +{ + Q_D(const LineAnnotation); + // recurse to parent objects storing properties + Annotation::store(node, document); + + // create [line] element + QDomElement lineElement = document.createElement(QStringLiteral("line")); + node.appendChild(lineElement); + + // store the attributes + if (d->m_lineStartStyle != None) { + lineElement.setAttribute(QStringLiteral("startStyle"), (int)d->m_lineStartStyle); + } + if (d->m_lineEndStyle != None) { + lineElement.setAttribute(QStringLiteral("endStyle"), (int)d->m_lineEndStyle); + } + if (d->m_lineClosed) { + lineElement.setAttribute(QStringLiteral("closed"), d->m_lineClosed); + } + if (d->m_lineInnerColor.isValid()) { + lineElement.setAttribute(QStringLiteral("innerColor"), d->m_lineInnerColor.name()); + } + if (d->m_lineLeadingFwdPt != 0.0) { + lineElement.setAttribute(QStringLiteral("leadFwd"), QString::number(d->m_lineLeadingFwdPt)); + } + if (d->m_lineLeadingBackPt != 0.0) { + lineElement.setAttribute(QStringLiteral("leadBack"), QString::number(d->m_lineLeadingBackPt)); + } + if (d->m_lineShowCaption) { + lineElement.setAttribute(QStringLiteral("showCaption"), d->m_lineShowCaption); + } + if (d->m_lineIntent != Unknown) { + lineElement.setAttribute(QStringLiteral("intent"), d->m_lineIntent); + } + + // append the list of points + int points = d->m_linePoints.count(); + if (points > 1) { + QList::const_iterator it = d->m_linePoints.begin(), end = d->m_linePoints.end(); + while (it != end) { + const NormalizedPoint &p = *it; + QDomElement pElement = document.createElement(QStringLiteral("point")); + lineElement.appendChild(pElement); + pElement.setAttribute(QStringLiteral("x"), QString::number(p.x)); + pElement.setAttribute(QStringLiteral("y"), QString::number(p.y)); + ++it; // to avoid loop + } + } +} + +void LineAnnotationPrivate::transform(const QTransform &matrix) +{ + AnnotationPrivate::transform(matrix); + + QMutableListIterator it(m_transformedLinePoints); + while (it.hasNext()) { + it.next().transform(matrix); + } +} + +void LineAnnotationPrivate::baseTransform(const QTransform &matrix) +{ + AnnotationPrivate::baseTransform(matrix); + + QMutableListIterator it(m_linePoints); + while (it.hasNext()) { + it.next().transform(matrix); + } +} + +void LineAnnotationPrivate::resetTransformation() +{ + AnnotationPrivate::resetTransformation(); + + m_transformedLinePoints = m_linePoints; +} + +void LineAnnotationPrivate::translate(const NormalizedPoint &coord) +{ + AnnotationPrivate::translate(coord); + + QMutableListIterator it(m_linePoints); + while (it.hasNext()) { + NormalizedPoint &p = it.next(); + p.x = p.x + coord.x; + p.y = p.y + coord.y; + } +} + +void LineAnnotationPrivate::setAnnotationProperties(const QDomNode &node) +{ + Okular::AnnotationPrivate::setAnnotationProperties(node); + + // loop through the whole children looking for a 'line' element + QDomNode subNode = node.firstChild(); + while (subNode.isElement()) { + QDomElement e = subNode.toElement(); + subNode = subNode.nextSibling(); + if (e.tagName() != QLatin1String("line")) { + continue; + } + + // parse the attributes + if (e.hasAttribute(QStringLiteral("startStyle"))) { + m_lineStartStyle = (LineAnnotation::TermStyle)e.attribute(QStringLiteral("startStyle")).toInt(); + } + if (e.hasAttribute(QStringLiteral("endStyle"))) { + m_lineEndStyle = (LineAnnotation::TermStyle)e.attribute(QStringLiteral("endStyle")).toInt(); + } + if (e.hasAttribute(QStringLiteral("closed"))) { + m_lineClosed = e.attribute(QStringLiteral("closed")).toInt(); + } + if (e.hasAttribute(QStringLiteral("innerColor"))) { + m_lineInnerColor = QColor(e.attribute(QStringLiteral("innerColor"))); + } + if (e.hasAttribute(QStringLiteral("leadFwd"))) { + m_lineLeadingFwdPt = e.attribute(QStringLiteral("leadFwd")).toDouble(); + } + if (e.hasAttribute(QStringLiteral("leadBack"))) { + m_lineLeadingBackPt = e.attribute(QStringLiteral("leadBack")).toDouble(); + } + if (e.hasAttribute(QStringLiteral("showCaption"))) { + m_lineShowCaption = e.attribute(QStringLiteral("showCaption")).toInt(); + } + if (e.hasAttribute(QStringLiteral("intent"))) { + m_lineIntent = (LineAnnotation::LineIntent)e.attribute(QStringLiteral("intent")).toInt(); + } + + // parse all 'point' subnodes + QDomNode pointNode = e.firstChild(); + while (pointNode.isElement()) { + QDomElement pe = pointNode.toElement(); + pointNode = pointNode.nextSibling(); + + if (pe.tagName() != QLatin1String("point")) { + continue; + } + + NormalizedPoint p; + p.x = pe.attribute(QStringLiteral("x"), QStringLiteral("0.0")).toDouble(); + p.y = pe.attribute(QStringLiteral("y"), QStringLiteral("0.0")).toDouble(); + m_linePoints.append(p); + } + + // loading complete + break; + } + + m_transformedLinePoints = m_linePoints; +} + +AnnotationPrivate *LineAnnotationPrivate::getNewAnnotationPrivate() +{ + return new LineAnnotationPrivate(); +} + +double LineAnnotationPrivate::distanceSqr(double x, double y, double xScale, double yScale) const +{ + QList transformedLinePoints = m_transformedLinePoints; + + if (m_lineClosed) { // Close the path + transformedLinePoints.append(transformedLinePoints.first()); + } + + if (m_lineInnerColor.isValid()) { + QPolygonF polygon; + for (const NormalizedPoint &p : std::as_const(transformedLinePoints)) { + polygon.append(QPointF(p.x, p.y)); + } + + if (polygon.containsPoint(QPointF(x, y), Qt::WindingFill)) { + return 0; + } + } + + return strokeDistance(::distanceSqr(x, y, xScale, yScale, transformedLinePoints), m_style.width() * xScale / (m_page->m_width * 2)); +} + +/** GeomAnnotation [Annotation] */ + +class Okular::GeomAnnotationPrivate : public Okular::AnnotationPrivate +{ +public: + GeomAnnotationPrivate() + : AnnotationPrivate() + , m_geomType(GeomAnnotation::InscribedSquare) + { + } + void setAnnotationProperties(const QDomNode &node) override; + bool canBeResized() const override; + AnnotationPrivate *getNewAnnotationPrivate() override; + double distanceSqr(double x, double y, double xScale, double yScale) const override; + + GeomAnnotation::GeomType m_geomType; + QColor m_geomInnerColor; +}; + +GeomAnnotation::GeomAnnotation() + : Annotation(*new GeomAnnotationPrivate()) +{ +} + +GeomAnnotation::GeomAnnotation(const QDomNode &description) + : Annotation(*new GeomAnnotationPrivate(), description) +{ +} + +GeomAnnotation::~GeomAnnotation() +{ +} + +void GeomAnnotation::setGeometricalType(GeomType type) +{ + Q_D(GeomAnnotation); + d->m_geomType = type; +} + +GeomAnnotation::GeomType GeomAnnotation::geometricalType() const +{ + Q_D(const GeomAnnotation); + return d->m_geomType; +} + +void GeomAnnotation::setGeometricalInnerColor(const QColor &color) +{ + Q_D(GeomAnnotation); + d->m_geomInnerColor = color; +} + +QColor GeomAnnotation::geometricalInnerColor() const +{ + Q_D(const GeomAnnotation); + return d->m_geomInnerColor; +} + +Annotation::SubType GeomAnnotation::subType() const +{ + return AGeom; +} + +void GeomAnnotation::store(QDomNode &node, QDomDocument &document) const +{ + Q_D(const GeomAnnotation); + // recurse to parent objects storing properties + Annotation::store(node, document); + + // create [geom] element + QDomElement geomElement = document.createElement(QStringLiteral("geom")); + node.appendChild(geomElement); + + // append the optional attributes + if (d->m_geomType != InscribedSquare) { + geomElement.setAttribute(QStringLiteral("type"), (int)d->m_geomType); + } + if (d->m_geomInnerColor.isValid()) { + geomElement.setAttribute(QStringLiteral("color"), d->m_geomInnerColor.name()); + } +} + +void GeomAnnotationPrivate::setAnnotationProperties(const QDomNode &node) +{ + Okular::AnnotationPrivate::setAnnotationProperties(node); + // loop through the whole children looking for a 'geom' element + QDomNode subNode = node.firstChild(); + while (subNode.isElement()) { + QDomElement e = subNode.toElement(); + subNode = subNode.nextSibling(); + if (e.tagName() != QLatin1String("geom")) { + continue; + } + + // parse the attributes + if (e.hasAttribute(QStringLiteral("type"))) { + m_geomType = (GeomAnnotation::GeomType)e.attribute(QStringLiteral("type")).toInt(); + } + if (e.hasAttribute(QStringLiteral("color"))) { + m_geomInnerColor = QColor(e.attribute(QStringLiteral("color"))); + } + // compatibility + if (e.hasAttribute(QStringLiteral("width"))) { + m_style.setWidth(e.attribute(QStringLiteral("width")).toInt()); + } + + // loading complete + break; + } +} + +bool GeomAnnotationPrivate::canBeResized() const +{ + return true; +} + +AnnotationPrivate *GeomAnnotationPrivate::getNewAnnotationPrivate() +{ + return new GeomAnnotationPrivate(); +} + +double GeomAnnotationPrivate::distanceSqr(double x, double y, double xScale, double yScale) const +{ + double distance = 0; + // the line thickness is applied unevenly (only on the "inside") - account for this + bool withinShape = false; + switch (m_geomType) { + case GeomAnnotation::InscribedCircle: { + // calculate the center point and focus lengths of the ellipse + const double centerX = (m_transformedBoundary.left + m_transformedBoundary.right) / 2.0; + const double centerY = (m_transformedBoundary.top + m_transformedBoundary.bottom) / 2.0; + const double focusX = (m_transformedBoundary.right - centerX); + const double focusY = (m_transformedBoundary.bottom - centerY); + + const double focusXSqr = pow(focusX, 2); + const double focusYSqr = pow(focusY, 2); + + // to calculate the distance from the ellipse, we will first find the point "projection" + // that lies on the ellipse and is closest to the point (x,y) + // This point can obviously be written as "center + lambda(inputPoint - center)". + // Because the point lies on the ellipse, we know that: + // 1 = ((center.x - projection.x)/focusX)^2 + ((center.y - projection.y)/focusY)^2 + // After filling in projection.x = center.x + lambda * (inputPoint.x - center.x) + // and its y-equivalent, we can solve for lambda: + const double lambda = sqrt(focusXSqr * focusYSqr / (focusYSqr * pow(x - centerX, 2) + focusXSqr * pow(y - centerY, 2))); + + // if the ellipse is filled, we treat all points within as "on" it + if (lambda > 1) { + if (m_geomInnerColor.isValid()) { + return 0; + } else { + withinShape = true; + } + } + + // otherwise we calculate the squared distance from the projected point on the ellipse + NormalizedPoint projection(centerX, centerY); + projection.x += lambda * (x - centerX); + projection.y += lambda * (y - centerY); + + distance = projection.distanceSqr(x, y, xScale, yScale); + break; + } + + case GeomAnnotation::InscribedSquare: + // if the square is filled, only check the bounding box + if (m_geomInnerColor.isValid()) { + return AnnotationPrivate::distanceSqr(x, y, xScale, yScale); + } + + const QList edges = {NormalizedPoint(m_transformedBoundary.left, m_transformedBoundary.top), + NormalizedPoint(m_transformedBoundary.right, m_transformedBoundary.top), + NormalizedPoint(m_transformedBoundary.right, m_transformedBoundary.bottom), + NormalizedPoint(m_transformedBoundary.left, m_transformedBoundary.bottom), + NormalizedPoint(m_transformedBoundary.left, m_transformedBoundary.top)}; + distance = ::distanceSqr(x, y, xScale, yScale, edges); + + if (m_transformedBoundary.contains(x, y)) { + withinShape = true; + } + + break; + } + if (withinShape) { + distance = strokeDistance(distance, m_style.width() * xScale / m_page->m_width); + } + + return distance; +} + +/** HighlightAnnotation [Annotation] */ + +class HighlightAnnotation::Quad::Private +{ +public: + Private() + : m_capStart(false) + , m_capEnd(false) + , m_feather(0.0) + { + } + + NormalizedPoint m_points[4]; + NormalizedPoint m_transformedPoints[4]; + bool m_capStart : 1; + bool m_capEnd : 1; + double m_feather; +}; + +HighlightAnnotation::Quad::Quad() + : d(new Private) +{ +} + +HighlightAnnotation::Quad::~Quad() +{ + delete d; +} + +HighlightAnnotation::Quad::Quad(const Quad &other) + : d(new Private) +{ + *d = *other.d; +} + +HighlightAnnotation::Quad &HighlightAnnotation::Quad::operator=(const Quad &other) +{ + if (this != &other) { + *d = *other.d; + } + + return *this; +} + +void HighlightAnnotation::Quad::setPoint(const NormalizedPoint &point, int index) +{ + if (index < 0 || index > 3) { + return; + } + + d->m_points[index] = point; +} + +NormalizedPoint HighlightAnnotation::Quad::point(int index) const +{ + if (index < 0 || index > 3) { + return NormalizedPoint(); + } + + return d->m_points[index]; +} + +NormalizedPoint HighlightAnnotation::Quad::transformedPoint(int index) const +{ + if (index < 0 || index > 3) { + return NormalizedPoint(); + } + + return d->m_transformedPoints[index]; +} + +void HighlightAnnotation::Quad::setCapStart(bool value) +{ + d->m_capStart = value; +} + +bool HighlightAnnotation::Quad::capStart() const +{ + return d->m_capStart; +} + +void HighlightAnnotation::Quad::setCapEnd(bool value) +{ + d->m_capEnd = value; +} + +bool HighlightAnnotation::Quad::capEnd() const +{ + return d->m_capEnd; +} + +void HighlightAnnotation::Quad::setFeather(double width) +{ + d->m_feather = width; +} + +double HighlightAnnotation::Quad::feather() const +{ + return d->m_feather; +} + +void HighlightAnnotation::Quad::transform(const QTransform &matrix) +{ + for (int i = 0; i < 4; ++i) { + d->m_transformedPoints[i] = d->m_points[i]; + d->m_transformedPoints[i].transform(matrix); + } +} + +class Okular::HighlightAnnotationPrivate : public Okular::AnnotationPrivate +{ +public: + HighlightAnnotationPrivate() + : AnnotationPrivate() + , m_highlightType(HighlightAnnotation::Highlight) + { + } + + void transform(const QTransform &matrix) override; + void baseTransform(const QTransform &matrix) override; + double distanceSqr(double x, double y, double xScale, double yScale) const override; + void setAnnotationProperties(const QDomNode &node) override; + AnnotationPrivate *getNewAnnotationPrivate() override; + + HighlightAnnotation::HighlightType m_highlightType; + QList m_highlightQuads; +}; + +HighlightAnnotation::HighlightAnnotation() + : Annotation(*new HighlightAnnotationPrivate()) +{ +} + +HighlightAnnotation::HighlightAnnotation(const QDomNode &description) + : Annotation(*new HighlightAnnotationPrivate(), description) +{ +} + +HighlightAnnotation::~HighlightAnnotation() +{ +} + +void HighlightAnnotation::setHighlightType(HighlightType type) +{ + Q_D(HighlightAnnotation); + d->m_highlightType = type; +} + +HighlightAnnotation::HighlightType HighlightAnnotation::highlightType() const +{ + Q_D(const HighlightAnnotation); + return d->m_highlightType; +} + +QList &HighlightAnnotation::highlightQuads() +{ + Q_D(HighlightAnnotation); + return d->m_highlightQuads; +} + +const QList &HighlightAnnotation::highlightQuads() const +{ + Q_D(const HighlightAnnotation); + return d->m_highlightQuads; +} + +void HighlightAnnotation::store(QDomNode &node, QDomDocument &document) const +{ + Q_D(const HighlightAnnotation); + // recurse to parent objects storing properties + Annotation::store(node, document); + + // create [hl] element + QDomElement hlElement = document.createElement(QStringLiteral("hl")); + node.appendChild(hlElement); + + // append the optional attributes + if (d->m_highlightType != Highlight) { + hlElement.setAttribute(QStringLiteral("type"), (int)d->m_highlightType); + } + if (d->m_highlightQuads.count() < 1) { + return; + } + // append highlight quads, all children describe quads + QList::const_iterator it = d->m_highlightQuads.begin(), end = d->m_highlightQuads.end(); + for (; it != end; ++it) { + QDomElement quadElement = document.createElement(QStringLiteral("quad")); + hlElement.appendChild(quadElement); + const Quad &q = *it; + quadElement.setAttribute(QStringLiteral("ax"), QString::number(q.point(0).x)); + quadElement.setAttribute(QStringLiteral("ay"), QString::number(q.point(0).y)); + quadElement.setAttribute(QStringLiteral("bx"), QString::number(q.point(1).x)); + quadElement.setAttribute(QStringLiteral("by"), QString::number(q.point(1).y)); + quadElement.setAttribute(QStringLiteral("cx"), QString::number(q.point(2).x)); + quadElement.setAttribute(QStringLiteral("cy"), QString::number(q.point(2).y)); + quadElement.setAttribute(QStringLiteral("dx"), QString::number(q.point(3).x)); + quadElement.setAttribute(QStringLiteral("dy"), QString::number(q.point(3).y)); + if (q.capStart()) { + quadElement.setAttribute(QStringLiteral("start"), 1); + } + if (q.capEnd()) { + quadElement.setAttribute(QStringLiteral("end"), 1); + } + quadElement.setAttribute(QStringLiteral("feather"), QString::number(q.feather())); + } +} + +Annotation::SubType HighlightAnnotation::subType() const +{ + return AHighlight; +} + +void HighlightAnnotationPrivate::transform(const QTransform &matrix) +{ + AnnotationPrivate::transform(matrix); + + QMutableListIterator it(m_highlightQuads); + while (it.hasNext()) { + it.next().transform(matrix); + } +} + +void HighlightAnnotationPrivate::baseTransform(const QTransform &matrix) +{ + AnnotationPrivate::baseTransform(matrix); + + QMutableListIterator it(m_highlightQuads); + while (it.hasNext()) { + it.next().transform(matrix); + } +} + +void HighlightAnnotationPrivate::setAnnotationProperties(const QDomNode &node) +{ + Okular::AnnotationPrivate::setAnnotationProperties(node); + m_highlightQuads.clear(); + + // loop through the whole children looking for a 'hl' element + QDomNode subNode = node.firstChild(); + while (subNode.isElement()) { + QDomElement e = subNode.toElement(); + subNode = subNode.nextSibling(); + if (e.tagName() != QLatin1String("hl")) { + continue; + } + + // parse the attributes + if (e.hasAttribute(QStringLiteral("type"))) { + m_highlightType = (HighlightAnnotation::HighlightType)e.attribute(QStringLiteral("type")).toInt(); + } + + // parse all 'quad' subnodes + QDomNode quadNode = e.firstChild(); + for (; quadNode.isElement(); quadNode = quadNode.nextSibling()) { + QDomElement qe = quadNode.toElement(); + if (qe.tagName() != QLatin1String("quad")) { + continue; + } + + HighlightAnnotation::Quad q; + q.setPoint(NormalizedPoint(qe.attribute(QStringLiteral("ax"), QStringLiteral("0.0")).toDouble(), qe.attribute(QStringLiteral("ay"), QStringLiteral("0.0")).toDouble()), 0); + q.setPoint(NormalizedPoint(qe.attribute(QStringLiteral("bx"), QStringLiteral("0.0")).toDouble(), qe.attribute(QStringLiteral("by"), QStringLiteral("0.0")).toDouble()), 1); + q.setPoint(NormalizedPoint(qe.attribute(QStringLiteral("cx"), QStringLiteral("0.0")).toDouble(), qe.attribute(QStringLiteral("cy"), QStringLiteral("0.0")).toDouble()), 2); + q.setPoint(NormalizedPoint(qe.attribute(QStringLiteral("dx"), QStringLiteral("0.0")).toDouble(), qe.attribute(QStringLiteral("dy"), QStringLiteral("0.0")).toDouble()), 3); + q.setCapStart(qe.hasAttribute(QStringLiteral("start"))); + q.setCapEnd(qe.hasAttribute(QStringLiteral("end"))); + q.setFeather(qe.attribute(QStringLiteral("feather"), QStringLiteral("0.1")).toDouble()); + + q.transform(QTransform()); + + m_highlightQuads.append(q); + } + + // loading complete + break; + } +} + +AnnotationPrivate *HighlightAnnotationPrivate::getNewAnnotationPrivate() +{ + return new HighlightAnnotationPrivate(); +} + +double HighlightAnnotationPrivate::distanceSqr(double x, double y, double xScale, double yScale) const +{ + NormalizedPoint point(x, y); + double outsideDistance = DBL_MAX; + for (const HighlightAnnotation::Quad &quad : m_highlightQuads) { + QList pathPoints; + + // first, we check if the point is within the area described by the 4 quads + // this is the case, if the point is always on one side of each segments delimiting the polygon: + pathPoints << quad.transformedPoint(0); + int directionVote = 0; + for (int i = 1; i < 5; ++i) { + NormalizedPoint thisPoint = quad.transformedPoint(i % 4); + directionVote += (isLeftOfVector(pathPoints.back(), thisPoint, point)) ? 1 : -1; + pathPoints << thisPoint; + } + if (abs(directionVote) == 4) { + return 0; + } + + // if that's not the case, we treat the outline as path and simply determine + // the distance from the path to the point + const double thisOutsideDistance = ::distanceSqr(x, y, xScale, yScale, pathPoints); + if (thisOutsideDistance < outsideDistance) { + outsideDistance = thisOutsideDistance; + } + } + + return outsideDistance; +} + +/** StampAnnotation [Annotation] */ + +class Okular::StampAnnotationPrivate : public Okular::AnnotationPrivate +{ +public: + StampAnnotationPrivate() + : AnnotationPrivate() + , m_stampIconName(QStringLiteral("Draft")) + { + } + void setAnnotationProperties(const QDomNode &node) override; + bool canBeResized() const override; + AnnotationPrivate *getNewAnnotationPrivate() override; + + QString m_stampIconName; +}; + +StampAnnotation::StampAnnotation() + : Annotation(*new StampAnnotationPrivate()) +{ +} + +StampAnnotation::StampAnnotation(const QDomNode &description) + : Annotation(*new StampAnnotationPrivate(), description) +{ +} + +StampAnnotation::~StampAnnotation() +{ +} + +void StampAnnotation::setStampIconName(const QString &name) +{ + Q_D(StampAnnotation); + d->m_stampIconName = name; +} + +QString StampAnnotation::stampIconName() const +{ + Q_D(const StampAnnotation); + return d->m_stampIconName; +} + +Annotation::SubType StampAnnotation::subType() const +{ + return AStamp; +} + +void StampAnnotation::store(QDomNode &node, QDomDocument &document) const +{ + Q_D(const StampAnnotation); + // recurse to parent objects storing properties + Annotation::store(node, document); + + // create [stamp] element + QDomElement stampElement = document.createElement(QStringLiteral("stamp")); + node.appendChild(stampElement); + + // append the optional attributes + if (d->m_stampIconName != QLatin1String("Draft")) { + stampElement.setAttribute(QStringLiteral("icon"), d->m_stampIconName); + } +} + +void StampAnnotationPrivate::setAnnotationProperties(const QDomNode &node) +{ + Okular::AnnotationPrivate::setAnnotationProperties(node); + + // loop through the whole children looking for a 'stamp' element + QDomNode subNode = node.firstChild(); + while (subNode.isElement()) { + QDomElement e = subNode.toElement(); + subNode = subNode.nextSibling(); + if (e.tagName() != QLatin1String("stamp")) { + continue; + } + + // parse the attributes + if (e.hasAttribute(QStringLiteral("icon"))) { + m_stampIconName = e.attribute(QStringLiteral("icon")); + } + + // loading complete + break; + } +} + +bool StampAnnotationPrivate::canBeResized() const +{ + return true; +} + +AnnotationPrivate *StampAnnotationPrivate::getNewAnnotationPrivate() +{ + return new StampAnnotationPrivate(); +} + +#if HAVE_NEW_SIGNATURE_API +/** SignatureAnnotation [Annotation] */ + +class Okular::SignatureAnnotationPrivate : public Okular::AnnotationPrivate +{ +public: + SignatureAnnotationPrivate() + : AnnotationPrivate() + , m_pageNumber(-1) + { + } + + void setAnnotationProperties(const QDomNode &node) override; + bool canBeResized() const override; + AnnotationPrivate *getNewAnnotationPrivate() override; + + QString m_text; + QString m_leftText; + QString m_imagePath; + QString m_fieldPartialName = QUuid::createUuid().toString(); + double m_fontSize = 10; + double m_leftFontSize = 20; + int m_pageNumber; + std::function(const Okular::NewSignatureData &, const QString &)> m_signFunction; +}; + +SignatureAnnotation::SignatureAnnotation() + : Annotation(*new SignatureAnnotationPrivate()) +{ +} + +SignatureAnnotation::~SignatureAnnotation() +{ +} + +Annotation::SubType SignatureAnnotation::subType() const +{ + return AWidget; +} + +QString SignatureAnnotation::text() const +{ + Q_D(const SignatureAnnotation); + return d->m_text; +} + +void SignatureAnnotation::setText(const QString &text) +{ + Q_D(SignatureAnnotation); + d->m_text = text; +} + +QString SignatureAnnotation::leftText() const +{ + Q_D(const SignatureAnnotation); + return d->m_leftText; +} + +void SignatureAnnotation::setLeftText(const QString &text) +{ + Q_D(SignatureAnnotation); + d->m_leftText = text; +} + +QString SignatureAnnotation::imagePath() const +{ + Q_D(const SignatureAnnotation); + return d->m_imagePath; +} + +void SignatureAnnotation::setImagePath(const QString &imagePath) +{ + Q_D(SignatureAnnotation); + d->m_imagePath = imagePath; +} + +QString SignatureAnnotation::fieldPartialName() const +{ + Q_D(const SignatureAnnotation); + return d->m_fieldPartialName; +} +void SignatureAnnotation::setFieldPartialName(const QString &fieldPartialName) +{ + Q_D(SignatureAnnotation); + d->m_fieldPartialName = fieldPartialName; +} + +double SignatureAnnotation::fontSize() const +{ + Q_D(const SignatureAnnotation); + return d->m_fontSize; +} + +void SignatureAnnotation::setFontSize(double fontSize) +{ + Q_D(SignatureAnnotation); + d->m_fontSize = fontSize; +} + +double SignatureAnnotation::leftFontSize() const +{ + Q_D(const SignatureAnnotation); + return d->m_leftFontSize; +} + +void SignatureAnnotation::setLeftFontSize(double fontSize) +{ + Q_D(SignatureAnnotation); + d->m_leftFontSize = fontSize; +} + +void SignatureAnnotation::setSignFunction(std::function(const Okular::NewSignatureData &, const QString &)> func) +{ + Q_D(SignatureAnnotation); + d->m_signFunction = std::move(func); +} + +std::pair SignatureAnnotation::sign(const Okular::NewSignatureData &data, const QString &fileName) +{ + Q_D(SignatureAnnotation); + return d->m_signFunction(data, fileName); +} + +int SignatureAnnotation::page() const +{ + Q_D(const SignatureAnnotation); + return d->m_pageNumber; +} + +void SignatureAnnotation::setPage(int page) +{ + Q_D(SignatureAnnotation); + d->m_pageNumber = page; +} + +void SignatureAnnotation::store(QDomNode & /*node*/, QDomDocument & /*document*/) const +{ + // TODO is this relevant? +} + +void SignatureAnnotationPrivate::setAnnotationProperties(const QDomNode &node) +{ + Okular::AnnotationPrivate::setAnnotationProperties(node); + + // TODO is this relevant? +} + +bool SignatureAnnotationPrivate::canBeResized() const +{ + return true; +} + +AnnotationPrivate *SignatureAnnotationPrivate::getNewAnnotationPrivate() +{ + return new SignatureAnnotationPrivate(); +} +#endif + +/** InkAnnotation [Annotation] */ + +class Okular::InkAnnotationPrivate : public Okular::AnnotationPrivate +{ +public: + InkAnnotationPrivate() + : AnnotationPrivate() + { + } + + void transform(const QTransform &matrix) override; + void baseTransform(const QTransform &matrix) override; + void resetTransformation() override; + double distanceSqr(double x, double y, double xScale, double yScale) const override; + void translate(const NormalizedPoint &coord) override; + void setAnnotationProperties(const QDomNode &node) override; + AnnotationPrivate *getNewAnnotationPrivate() override; + + QList> m_inkPaths; + QList> m_transformedInkPaths; +}; + +InkAnnotation::InkAnnotation() + : Annotation(*new InkAnnotationPrivate()) +{ +} + +InkAnnotation::InkAnnotation(const QDomNode &description) + : Annotation(*new InkAnnotationPrivate(), description) +{ +} + +InkAnnotation::~InkAnnotation() +{ +} + +void InkAnnotation::setInkPaths(const QList> &paths) +{ + Q_D(InkAnnotation); + d->m_inkPaths = paths; +} + +QList> InkAnnotation::inkPaths() const +{ + Q_D(const InkAnnotation); + return d->m_inkPaths; +} + +QList> InkAnnotation::transformedInkPaths() const +{ + Q_D(const InkAnnotation); + return d->m_transformedInkPaths; +} + +Annotation::SubType InkAnnotation::subType() const +{ + return AInk; +} + +void InkAnnotation::store(QDomNode &node, QDomDocument &document) const +{ + Q_D(const InkAnnotation); + // recurse to parent objects storing properties + Annotation::store(node, document); + + // create [ink] element + QDomElement inkElement = document.createElement(QStringLiteral("ink")); + node.appendChild(inkElement); + + // append the optional attributes + if (d->m_inkPaths.count() < 1) { + return; + } + + QList>::const_iterator pIt = d->m_inkPaths.begin(), pEnd = d->m_inkPaths.end(); + for (; pIt != pEnd; ++pIt) { + QDomElement pathElement = document.createElement(QStringLiteral("path")); + inkElement.appendChild(pathElement); + const QList &path = *pIt; + for (const NormalizedPoint &point : path) { + QDomElement pointElement = document.createElement(QStringLiteral("point")); + pathElement.appendChild(pointElement); + pointElement.setAttribute(QStringLiteral("x"), QString::number(point.x)); + pointElement.setAttribute(QStringLiteral("y"), QString::number(point.y)); + } + } +} + +double InkAnnotationPrivate::distanceSqr(double x, double y, double xScale, double yScale) const +{ + double distance = DBL_MAX; + for (const QList &path : m_transformedInkPaths) { + const double thisDistance = ::distanceSqr(x, y, xScale, yScale, path); + if (thisDistance < distance) { + distance = thisDistance; + } + } + return strokeDistance(distance, m_style.width() * xScale / (m_page->m_width * 2)); +} + +void InkAnnotationPrivate::transform(const QTransform &matrix) +{ + AnnotationPrivate::transform(matrix); + + for (int i = 0; i < m_transformedInkPaths.count(); ++i) { + QMutableListIterator it(m_transformedInkPaths[i]); + while (it.hasNext()) { + it.next().transform(matrix); + } + } +} + +void InkAnnotationPrivate::baseTransform(const QTransform &matrix) +{ + AnnotationPrivate::baseTransform(matrix); + + for (int i = 0; i < m_inkPaths.count(); ++i) { + QMutableListIterator it(m_inkPaths[i]); + while (it.hasNext()) { + it.next().transform(matrix); + } + } +} + +void InkAnnotationPrivate::resetTransformation() +{ + AnnotationPrivate::resetTransformation(); + + m_transformedInkPaths = m_inkPaths; +} + +void InkAnnotationPrivate::translate(const NormalizedPoint &coord) +{ + AnnotationPrivate::translate(coord); + + for (int i = 0; i < m_inkPaths.count(); ++i) { + QMutableListIterator it(m_inkPaths[i]); + while (it.hasNext()) { + NormalizedPoint &p = it.next(); + p.x = p.x + coord.x; + p.y = p.y + coord.y; + } + } +} + +void InkAnnotationPrivate::setAnnotationProperties(const QDomNode &node) +{ + Okular::AnnotationPrivate::setAnnotationProperties(node); + m_inkPaths.clear(); + + // loop through the whole children looking for a 'ink' element + QDomNode subNode = node.firstChild(); + while (subNode.isElement()) { + QDomElement e = subNode.toElement(); + subNode = subNode.nextSibling(); + if (e.tagName() != QLatin1String("ink")) { + continue; + } + + // parse the 'path' subnodes + QDomNode pathNode = e.firstChild(); + while (pathNode.isElement()) { + QDomElement pathElement = pathNode.toElement(); + pathNode = pathNode.nextSibling(); + + if (pathElement.tagName() != QLatin1String("path")) { + continue; + } + + // build each path parsing 'point' subnodes + QList path; + QDomNode pointNode = pathElement.firstChild(); + while (pointNode.isElement()) { + QDomElement pointElement = pointNode.toElement(); + pointNode = pointNode.nextSibling(); + + if (pointElement.tagName() != QLatin1String("point")) { + continue; + } + + NormalizedPoint p; + p.x = pointElement.attribute(QStringLiteral("x"), QStringLiteral("0.0")).toDouble(); + p.y = pointElement.attribute(QStringLiteral("y"), QStringLiteral("0.0")).toDouble(); + path.append(p); + } + + // add the path to the path list if it contains at least 2 nodes + if (path.count() >= 2) { + m_inkPaths.append(path); + } + } + + // loading complete + break; + } + + m_transformedInkPaths = m_inkPaths; +} + +AnnotationPrivate *InkAnnotationPrivate::getNewAnnotationPrivate() +{ + return new InkAnnotationPrivate(); +} + +/** CaretAnnotation [Annotation] */ + +class Okular::CaretAnnotationPrivate : public Okular::AnnotationPrivate +{ +public: + CaretAnnotationPrivate() + : AnnotationPrivate() + , m_symbol(CaretAnnotation::None) + { + } + + void setAnnotationProperties(const QDomNode &node) override; + AnnotationPrivate *getNewAnnotationPrivate() override; + + CaretAnnotation::CaretSymbol m_symbol; +}; + +static QString caretSymbolToString(CaretAnnotation::CaretSymbol symbol) +{ + switch (symbol) { + case CaretAnnotation::None: + return QStringLiteral("None"); + case CaretAnnotation::P: + return QStringLiteral("P"); + } + return QString(); +} + +static CaretAnnotation::CaretSymbol caretSymbolFromString(const QString &symbol) +{ + if (symbol == QLatin1String("None")) { + return CaretAnnotation::None; + } else if (symbol == QLatin1String("P")) { + return CaretAnnotation::P; + } + return CaretAnnotation::None; +} + +void CaretAnnotationPrivate::setAnnotationProperties(const QDomNode &node) +{ + Okular::AnnotationPrivate::setAnnotationProperties(node); + + // loop through the whole children looking for a 'caret' element + QDomNode subNode = node.firstChild(); + while (subNode.isElement()) { + QDomElement e = subNode.toElement(); + subNode = subNode.nextSibling(); + if (e.tagName() != QLatin1String("caret")) { + continue; + } + + // parse the attributes + if (e.hasAttribute(QStringLiteral("symbol"))) { + m_symbol = caretSymbolFromString(e.attribute(QStringLiteral("symbol"))); + } + + // loading complete + break; + } +} + +AnnotationPrivate *CaretAnnotationPrivate::getNewAnnotationPrivate() +{ + return new CaretAnnotationPrivate(); +} + +CaretAnnotation::CaretAnnotation() + : Annotation(*new CaretAnnotationPrivate()) +{ +} + +CaretAnnotation::CaretAnnotation(const QDomNode &description) + : Annotation(*new CaretAnnotationPrivate(), description) +{ +} + +CaretAnnotation::~CaretAnnotation() +{ +} + +void CaretAnnotation::setCaretSymbol(CaretAnnotation::CaretSymbol symbol) +{ + Q_D(CaretAnnotation); + d->m_symbol = symbol; +} + +CaretAnnotation::CaretSymbol CaretAnnotation::caretSymbol() const +{ + Q_D(const CaretAnnotation); + return d->m_symbol; +} + +Annotation::SubType CaretAnnotation::subType() const +{ + return ACaret; +} + +void CaretAnnotation::store(QDomNode &node, QDomDocument &document) const +{ + Q_D(const CaretAnnotation); + // recurse to parent objects storing properties + Annotation::store(node, document); + + // create [caret] element + QDomElement caretElement = document.createElement(QStringLiteral("caret")); + node.appendChild(caretElement); + + // append the optional attributes + if (d->m_symbol != None) { + caretElement.setAttribute(QStringLiteral("symbol"), caretSymbolToString(d->m_symbol)); + } +} + +/** FileAttachmentAnnotation [Annotation] */ + +class Okular::FileAttachmentAnnotationPrivate : public Okular::AnnotationPrivate +{ +public: + FileAttachmentAnnotationPrivate() + : AnnotationPrivate() + , icon(QStringLiteral("PushPin")) + , embfile(nullptr) + { + } + ~FileAttachmentAnnotationPrivate() override + { + delete embfile; + } + + void setAnnotationProperties(const QDomNode &node) override; + AnnotationPrivate *getNewAnnotationPrivate() override; + + // data fields + QString icon; + EmbeddedFile *embfile; +}; + +void FileAttachmentAnnotationPrivate::setAnnotationProperties(const QDomNode &node) +{ + Okular::AnnotationPrivate::setAnnotationProperties(node); + + // loop through the whole children looking for a 'fileattachment' element + QDomNode subNode = node.firstChild(); + while (subNode.isElement()) { + QDomElement e = subNode.toElement(); + subNode = subNode.nextSibling(); + if (e.tagName() != QLatin1String("fileattachment")) { + continue; + } + + // loading complete + break; + } +} + +AnnotationPrivate *FileAttachmentAnnotationPrivate::getNewAnnotationPrivate() +{ + return new FileAttachmentAnnotationPrivate(); +} + +FileAttachmentAnnotation::FileAttachmentAnnotation() + : Annotation(*new FileAttachmentAnnotationPrivate()) +{ +} + +FileAttachmentAnnotation::FileAttachmentAnnotation(const QDomNode &description) + : Annotation(*new FileAttachmentAnnotationPrivate(), description) +{ +} + +FileAttachmentAnnotation::~FileAttachmentAnnotation() +{ +} + +void FileAttachmentAnnotation::store(QDomNode &node, QDomDocument &document) const +{ + // recurse to parent objects storing properties + Annotation::store(node, document); + + // create [fileattachment] element + QDomElement fileAttachmentElement = document.createElement(QStringLiteral("fileattachment")); + node.appendChild(fileAttachmentElement); +} + +Annotation::SubType FileAttachmentAnnotation::subType() const +{ + return AFileAttachment; +} + +QString FileAttachmentAnnotation::fileIconName() const +{ + Q_D(const FileAttachmentAnnotation); + return d->icon; +} + +void FileAttachmentAnnotation::setFileIconName(const QString &iconName) +{ + Q_D(FileAttachmentAnnotation); + d->icon = iconName; +} + +EmbeddedFile *FileAttachmentAnnotation::embeddedFile() const +{ + Q_D(const FileAttachmentAnnotation); + return d->embfile; +} + +void FileAttachmentAnnotation::setEmbeddedFile(EmbeddedFile *ef) +{ + Q_D(FileAttachmentAnnotation); + d->embfile = ef; +} + +/** SoundAnnotation [Annotation] */ + +class Okular::SoundAnnotationPrivate : public Okular::AnnotationPrivate +{ +public: + SoundAnnotationPrivate() + : AnnotationPrivate() + , icon(QStringLiteral("Speaker")) + , sound(nullptr) + { + } + ~SoundAnnotationPrivate() override + { + delete sound; + } + + void setAnnotationProperties(const QDomNode &node) override; + AnnotationPrivate *getNewAnnotationPrivate() override; + + // data fields + QString icon; + Sound *sound; +}; + +void SoundAnnotationPrivate::setAnnotationProperties(const QDomNode &node) +{ + Okular::AnnotationPrivate::setAnnotationProperties(node); + + // loop through the whole children looking for a 'sound' element + QDomNode subNode = node.firstChild(); + while (subNode.isElement()) { + QDomElement e = subNode.toElement(); + subNode = subNode.nextSibling(); + if (e.tagName() != QLatin1String("sound")) { + continue; + } + + // loading complete + break; + } +} + +AnnotationPrivate *SoundAnnotationPrivate::getNewAnnotationPrivate() +{ + return new SoundAnnotationPrivate(); +} + +SoundAnnotation::SoundAnnotation() + : Annotation(*new SoundAnnotationPrivate()) +{ +} + +SoundAnnotation::SoundAnnotation(const QDomNode &description) + : Annotation(*new SoundAnnotationPrivate(), description) +{ +} + +SoundAnnotation::~SoundAnnotation() +{ +} + +void SoundAnnotation::store(QDomNode &node, QDomDocument &document) const +{ + // recurse to parent objects storing properties + Annotation::store(node, document); + + // create [sound] element + QDomElement soundElement = document.createElement(QStringLiteral("sound")); + node.appendChild(soundElement); +} + +Annotation::SubType SoundAnnotation::subType() const +{ + return ASound; +} + +QString SoundAnnotation::soundIconName() const +{ + Q_D(const SoundAnnotation); + return d->icon; +} + +void SoundAnnotation::setSoundIconName(const QString &iconName) +{ + Q_D(SoundAnnotation); + d->icon = iconName; +} + +Sound *SoundAnnotation::sound() const +{ + Q_D(const SoundAnnotation); + return d->sound; +} + +void SoundAnnotation::setSound(Sound *s) +{ + Q_D(SoundAnnotation); + d->sound = s; +} + +/** MovieAnnotation [Annotation] */ + +class Okular::MovieAnnotationPrivate : public Okular::AnnotationPrivate +{ +public: + MovieAnnotationPrivate() + : AnnotationPrivate() + , movie(nullptr) + { + } + ~MovieAnnotationPrivate() override + { + delete movie; + } + + void setAnnotationProperties(const QDomNode &node) override; + AnnotationPrivate *getNewAnnotationPrivate() override; + + // data fields + Movie *movie; +}; + +void MovieAnnotationPrivate::setAnnotationProperties(const QDomNode &node) +{ + Okular::AnnotationPrivate::setAnnotationProperties(node); + + // loop through the whole children looking for a 'movie' element + QDomNode subNode = node.firstChild(); + while (subNode.isElement()) { + QDomElement e = subNode.toElement(); + subNode = subNode.nextSibling(); + if (e.tagName() != QLatin1String("movie")) { + continue; + } + + // loading complete + break; + } +} + +AnnotationPrivate *MovieAnnotationPrivate::getNewAnnotationPrivate() +{ + return new MovieAnnotationPrivate(); +} + +MovieAnnotation::MovieAnnotation() + : Annotation(*new MovieAnnotationPrivate()) +{ +} + +MovieAnnotation::MovieAnnotation(const QDomNode &description) + : Annotation(*new MovieAnnotationPrivate(), description) +{ +} + +MovieAnnotation::~MovieAnnotation() +{ +} + +void MovieAnnotation::store(QDomNode &node, QDomDocument &document) const +{ + // recurse to parent objects storing properties + Annotation::store(node, document); + + // create [movie] element + QDomElement movieElement = document.createElement(QStringLiteral("movie")); + node.appendChild(movieElement); +} + +Annotation::SubType MovieAnnotation::subType() const +{ + return AMovie; +} + +Movie *MovieAnnotation::movie() const +{ + Q_D(const MovieAnnotation); + return d->movie; +} + +void MovieAnnotation::setMovie(Movie *movie) +{ + Q_D(MovieAnnotation); + d->movie = movie; +} + +/** ScreenAnnotation [Annotation] */ + +class Okular::ScreenAnnotationPrivate : public Okular::AnnotationPrivate +{ +public: + ScreenAnnotationPrivate(); + ~ScreenAnnotationPrivate() override; + + void setAnnotationProperties(const QDomNode &node) override; + AnnotationPrivate *getNewAnnotationPrivate() override; + + Okular::Action *m_action; + QMap m_additionalActions; +}; + +ScreenAnnotationPrivate::ScreenAnnotationPrivate() + : m_action(nullptr) +{ +} + +ScreenAnnotationPrivate::~ScreenAnnotationPrivate() +{ + delete m_action; + qDeleteAll(m_additionalActions); +} + +void ScreenAnnotationPrivate::setAnnotationProperties(const QDomNode &node) +{ + Okular::AnnotationPrivate::setAnnotationProperties(node); + + // loop through the whole children looking for a 'screen' element + QDomNode subNode = node.firstChild(); + while (subNode.isElement()) { + QDomElement e = subNode.toElement(); + subNode = subNode.nextSibling(); + if (e.tagName() != QLatin1String("screen")) { + continue; + } + + // loading complete + break; + } +} + +AnnotationPrivate *ScreenAnnotationPrivate::getNewAnnotationPrivate() +{ + return new ScreenAnnotationPrivate(); +} + +ScreenAnnotation::ScreenAnnotation() + : Annotation(*new ScreenAnnotationPrivate()) +{ +} + +ScreenAnnotation::ScreenAnnotation(const QDomNode &description) + : Annotation(*new ScreenAnnotationPrivate(), description) +{ +} + +ScreenAnnotation::~ScreenAnnotation() +{ +} + +void ScreenAnnotation::store(QDomNode &node, QDomDocument &document) const +{ + // recurse to parent objects storing properties + Annotation::store(node, document); + + // create [screen] element + QDomElement movieElement = document.createElement(QStringLiteral("screen")); + node.appendChild(movieElement); +} + +Annotation::SubType ScreenAnnotation::subType() const +{ + return AScreen; +} + +void ScreenAnnotation::setAdditionalAction(AdditionalActionType type, Action *action) +{ + Q_D(ScreenAnnotation); + if (d->m_additionalActions.contains(type)) { + delete d->m_additionalActions.value(type); + } + + d->m_additionalActions.insert(type, action); +} + +Action *ScreenAnnotation::additionalAction(AdditionalActionType type) const +{ + Q_D(const ScreenAnnotation); + if (!d->m_additionalActions.contains(type)) { + return nullptr; + } else { + return d->m_additionalActions.value(type); + } +} + +void ScreenAnnotation::setAction(Action *action) +{ + Q_D(ScreenAnnotation); + + delete d->m_action; + d->m_action = action; +} + +Action *ScreenAnnotation::action() const +{ + Q_D(const ScreenAnnotation); + return d->m_action; +} + +/** WidgetAnnotation [Annotation] */ + +class Okular::WidgetAnnotationPrivate : public Okular::AnnotationPrivate +{ +public: + ~WidgetAnnotationPrivate() override; + void setAnnotationProperties(const QDomNode &node) override; + AnnotationPrivate *getNewAnnotationPrivate() override; + + QMap m_additionalActions; +}; + +WidgetAnnotationPrivate::~WidgetAnnotationPrivate() +{ + qDeleteAll(m_additionalActions); +} + +void WidgetAnnotationPrivate::setAnnotationProperties(const QDomNode &node) +{ + Okular::AnnotationPrivate::setAnnotationProperties(node); + + // loop through the whole children looking for a 'widget' element + QDomNode subNode = node.firstChild(); + while (subNode.isElement()) { + QDomElement e = subNode.toElement(); + subNode = subNode.nextSibling(); + if (e.tagName() != QLatin1String("widget")) { + continue; + } + + // loading complete + break; + } +} + +AnnotationPrivate *WidgetAnnotationPrivate::getNewAnnotationPrivate() +{ + return new WidgetAnnotationPrivate(); +} + +WidgetAnnotation::WidgetAnnotation() + : Annotation(*new WidgetAnnotationPrivate()) +{ +} + +WidgetAnnotation::WidgetAnnotation(const QDomNode &description) + : Annotation(*new WidgetAnnotationPrivate, description) +{ +} + +WidgetAnnotation::~WidgetAnnotation() +{ +} + +void WidgetAnnotation::store(QDomNode &node, QDomDocument &document) const +{ + // recurse to parent objects storing properties + Annotation::store(node, document); + + // create [widget] element + QDomElement movieElement = document.createElement(QStringLiteral("widget")); + node.appendChild(movieElement); +} + +Annotation::SubType WidgetAnnotation::subType() const +{ + return AWidget; +} + +void WidgetAnnotation::setAdditionalAction(AdditionalActionType type, Action *action) +{ + Q_D(WidgetAnnotation); + if (d->m_additionalActions.contains(type)) { + delete d->m_additionalActions.value(type); + } + + d->m_additionalActions.insert(type, action); +} + +Action *WidgetAnnotation::additionalAction(AdditionalActionType type) const +{ + Q_D(const WidgetAnnotation); + if (!d->m_additionalActions.contains(type)) { + return nullptr; + } else { + return d->m_additionalActions.value(type); + } +} + +/** RichMediaAnnotation [Annotation] */ + +class Okular::RichMediaAnnotationPrivate : public Okular::AnnotationPrivate +{ +public: + RichMediaAnnotationPrivate(); + ~RichMediaAnnotationPrivate() override; + void setAnnotationProperties(const QDomNode &node) override; + AnnotationPrivate *getNewAnnotationPrivate() override; + + // data fields + Movie *movie; + EmbeddedFile *embeddedFile; +}; + +RichMediaAnnotationPrivate::RichMediaAnnotationPrivate() + : movie(nullptr) + , embeddedFile(nullptr) +{ +} + +RichMediaAnnotationPrivate::~RichMediaAnnotationPrivate() +{ + delete movie; + delete embeddedFile; +} + +void RichMediaAnnotationPrivate::setAnnotationProperties(const QDomNode &node) +{ + Okular::AnnotationPrivate::setAnnotationProperties(node); + + // loop through the whole children looking for a 'richMedia' element + QDomNode subNode = node.firstChild(); + while (subNode.isElement()) { + QDomElement e = subNode.toElement(); + subNode = subNode.nextSibling(); + if (e.tagName() != QLatin1String("richMedia")) { + continue; + } + + // loading complete + break; + } +} + +AnnotationPrivate *RichMediaAnnotationPrivate::getNewAnnotationPrivate() +{ + return new RichMediaAnnotationPrivate(); +} + +RichMediaAnnotation::RichMediaAnnotation() + : Annotation(*new RichMediaAnnotationPrivate()) +{ +} + +RichMediaAnnotation::RichMediaAnnotation(const QDomNode &description) + : Annotation(*new RichMediaAnnotationPrivate, description) +{ +} + +RichMediaAnnotation::~RichMediaAnnotation() +{ +} + +void RichMediaAnnotation::store(QDomNode &node, QDomDocument &document) const +{ + // recurse to parent objects storing properties + Annotation::store(node, document); + + // create [richMedia] element + QDomElement movieElement = document.createElement(QStringLiteral("richMedia")); + node.appendChild(movieElement); +} + +Annotation::SubType RichMediaAnnotation::subType() const +{ + return ARichMedia; +} + +void RichMediaAnnotation::setMovie(Movie *movie) +{ + Q_D(RichMediaAnnotation); + + delete d->movie; + d->movie = movie; +} + +Movie *RichMediaAnnotation::movie() const +{ + Q_D(const RichMediaAnnotation); + + return d->movie; +} + +EmbeddedFile *RichMediaAnnotation::embeddedFile() const +{ + Q_D(const RichMediaAnnotation); + + return d->embeddedFile; +} + +void RichMediaAnnotation::setEmbeddedFile(EmbeddedFile *embeddedFile) +{ + Q_D(RichMediaAnnotation); + + delete d->embeddedFile; + d->embeddedFile = embeddedFile; +} diff --git a/core/annotations.h b/core/annotations.h new file mode 100644 index 0000000..15b0e75 --- /dev/null +++ b/core/annotations.h @@ -0,0 +1,1873 @@ +/* + SPDX-FileCopyrightText: 2005 Enrico Ros + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_ANNOTATIONS_H_ +#define _OKULAR_ANNOTATIONS_H_ + +#include +#include +#include +#include +#include +#include + +#include "area.h" +#include "okularcore_export.h" +#include "signatureutils.h" + +namespace Okular +{ +class Action; +class Annotation; +class AnnotationObjectRect; +class AnnotationPrivate; +class Document; +class EmbeddedFile; +class Page; +class PagePrivate; +class Sound; +class Movie; +class TextAnnotationPrivate; +class LineAnnotationPrivate; +class GeomAnnotationPrivate; +class HighlightAnnotationPrivate; +class StampAnnotationPrivate; +class SignatureAnnotationPrivate; +class InkAnnotationPrivate; +class CaretAnnotationPrivate; +class FileAttachmentAnnotationPrivate; +class SoundAnnotationPrivate; +class MovieAnnotationPrivate; +class ScreenAnnotationPrivate; +class WidgetAnnotationPrivate; +class RichMediaAnnotationPrivate; +class NewSignatureData; + +/** + * @short Helper class for (recursive) annotation retrieval/storage. + */ +class OKULARCORE_EXPORT AnnotationUtils +{ +public: + /** + * Restore an annotation (with revisions if needed) from the dom @p element. + * + * Returns a pointer to the complete annotation or 0 if element is invalid. + */ + static Annotation *createAnnotation(const QDomElement &element); + + /** + * Saves the @p annotation as a child of @p element taking + * care of saving all revisions if it has any. + */ + static void storeAnnotation(const Annotation *annotation, QDomElement &element, QDomDocument &document); + + /** + * Returns the child element with the given @p name from the direct + * children of @p parentNode or a null element if not found. + */ + static QDomElement findChildElement(const QDomNode &parentNode, const QString &name); + + /** + * Returns the geometry of the given @p annotation scaled by + * @p scaleX and @p scaleY. + */ + static QRect annotationGeometry(const Annotation *annotation, double scaleX, double scaleY); + + /** + * Returns a pixmap for a stamp symbol + * + * @p name Name of a Okular stamp symbol, icon or path to an image + * @p size Size of the pixmap side + * @p keepAspectRatio Whether to keep aspect ratio of the stamp or not + * + * @since 21.12 + */ + OKULARCORE_DEPRECATED static QPixmap loadStamp(const QString &nameOrPath, int size, bool keepAspectRatio = true); + static QPixmap loadStamp(const QString &nameOrPath, QSize size, Qt::AspectRatioMode aspectRatio = Qt::KeepAspectRatio); +}; + +/** + * @short Annotation struct holds properties shared by all annotations. + * + * An Annotation is an object (text note, highlight, sound, popup window, ..) + * contained by a Page in the document. + */ +class OKULARCORE_EXPORT Annotation +{ + /// @cond PRIVATE + friend class AnnotationObjectRect; + friend class Document; + friend class DocumentPrivate; + friend class ObjectRect; + friend class Page; + friend class PagePrivate; + /// @endcond + +public: + /** + * Describes the type of annotation as defined in PDF standard. + */ + enum SubType { + AText = 1, ///< A textual annotation + ALine = 2, ///< A line annotation + AGeom = 3, ///< A geometrical annotation + AHighlight = 4, ///< A highlight annotation + AStamp = 5, ///< A stamp annotation + AInk = 6, ///< An ink annotation + ACaret = 8, ///< A caret annotation + AFileAttachment = 9, ///< A file attachment annotation + ASound = 10, ///< A sound annotation + AMovie = 11, ///< A movie annotation + AScreen = 12, ///< A screen annotation + AWidget = 13, ///< A widget annotation + ARichMedia = 14, ///< A rich media annotation + A_BASE = 0 ///< The annotation base class + }; + + /** + * Describes additional properties of an annotation. + */ + enum Flag { + Hidden = 1, ///< Is not shown in the document + FixedSize = 2, ///< Has a fixed size + FixedRotation = 4, ///< Has a fixed rotation + DenyPrint = 8, ///< Cannot be printed + DenyWrite = 16, ///< Cannot be changed + DenyDelete = 32, ///< Cannot be deleted + ToggleHidingOnMouse = 64, ///< Can be hidden/shown by mouse click + External = 128, ///< Is stored external + ExternallyDrawn = 256, ///< Is drawn externally (by the generator which provided it) @since 0.10 (KDE 4.4) + BeingMoved = 512, ///< Is being moved (mouse drag and drop). If ExternallyDrawn, the generator must not draw it @since 0.15 (KDE 4.9) + BeingResized = 1024 ///< Is being resized (mouse drag and drop). If ExternallyDrawn, the generator must not draw it @since 1.1.0 + }; + + /** + * Describes possible line styles for @see ALine annotation. + */ + enum LineStyle { + Solid = 1, ///< A solid line + Dashed = 2, ///< A dashed line + Beveled = 4, ///< A beveled line + Inset = 8, ///< An inset line + Underline = 16 ///< An underline + }; + + /** + * Describes possible line effects for @see ALine annotation. + */ + enum LineEffect { + NoEffect = 1, ///< No effect + Cloudy = 2 ///< The cloudy effect + }; + + /** + * Describes the scope of revision information. + */ + enum RevisionScope { + Reply = 1, ///< Belongs to a reply + Group = 2, ///< Belongs to a group + Delete = 4 ///< Belongs to a deleted paragraph + }; + + /** + * Describes the type of revision information. + */ + enum RevisionType { + None = 1, ///< Not specified + Marked = 2, ///< Is marked + Unmarked = 4, ///< Is unmarked + Accepted = 8, ///< Has been accepted + Rejected = 16, ///< Was rejected + Cancelled = 32, ///< Has been cancelled + Completed = 64 ///< Has been completed + }; + + /** + * Describes the type of additional actions. + * + * @since 0.16 (KDE 4.10) + */ + enum AdditionalActionType { + PageOpening, ///< Performed when the page containing the annotation is opened. + PageClosing, ///< Performed when the page containing the annotation is closed. + CursorEntering, ///< Performed when the cursor enters the annotation's active area @since 1.5 + CursorLeaving, ///< Performed when the cursor exists the annotation's active area @since 1.5 + MousePressed, ///< Performed when the mouse button is pressed inside the annotation's active area @since 1.5 + MouseReleased, ///< Performed when the mouse button is released inside the annotation's active area @since 1.5 + FocusIn, ///< Performed when the annotation receives the input focus @since 1.5 + FocusOut, ///< Performed when the annotation loses the input focus @since 1.5 + }; + + /** + * A function to be called when the annotation is destroyed. + * + * @warning the function must *not* call any virtual function, + * nor subcast. + * + * @since 0.7 (KDE 4.1) + */ + typedef void (*DisposeDataFunction)(const Okular::Annotation *); + + /** + * Destroys the annotation. + */ + virtual ~Annotation(); + + /** + * Sets the @p author of the annotation. + */ + void setAuthor(const QString &author); + + /** + * Returns the author of the annotation. + */ + QString author() const; + + /** + * Sets the @p contents of the annotation. + */ + void setContents(const QString &contents); + + /** + * Returns the contents of the annotation. + */ + QString contents() const; + + /** + * Sets the unique @p name of the annotation. + */ + void setUniqueName(const QString &name); + + /** + * Returns the unique name of the annotation. + */ + QString uniqueName() const; + + /** + * Sets the last modification @p date of the annotation. + * + * The date must be before or equal to QDateTime::currentDateTime() + */ + void setModificationDate(const QDateTime &date); + + /** + * Returns the last modification date of the annotation. + */ + QDateTime modificationDate() const; + + /** + * Sets the creation @p date of the annotation. + * + * The date must be before or equal to @see modificationDate() + */ + void setCreationDate(const QDateTime &date); + + /** + * Returns the creation date of the annotation. + */ + QDateTime creationDate() const; + + /** + * Sets the @p flags of the annotation. + * @see @ref Flag + */ + void setFlags(int flags); + + /** + * Returns the flags of the annotation. + * @see @ref Flag + */ + int flags() const; + + /** + * Sets the bounding @p rectangle of the annotation. + */ + void setBoundingRectangle(const NormalizedRect &rectangle); + + /** + * Returns the bounding rectangle of the annotation. + */ + NormalizedRect boundingRectangle() const; + + /** + * Returns the transformed bounding rectangle of the annotation. + * + * This rectangle must be used when showing annotations on screen + * to have them rotated correctly. + */ + NormalizedRect transformedBoundingRectangle() const; + + /** + * Move the annotation by the specified coordinates. + * + * @see canBeMoved() + */ + void translate(const NormalizedPoint &coord); + + /** + * Adjust the annotation by the specified coordinates. + * Adds coordinates of @p deltaCoord1 to annotations top left corner, + * and @p deltaCoord2 to the bottom right. + * + * @see canBeResized() + */ + void adjust(const NormalizedPoint &deltaCoord1, const NormalizedPoint &deltaCoord2); + + /** + * The Style class contains all information about style of the + * annotation. + */ + class OKULARCORE_EXPORT Style + { + public: + /** + * Creates a new style. + */ + Style(); + + /** + * Destroys the style. + */ + ~Style(); + + Style(const Style &other); + Style &operator=(const Style &other); + + /** + * Sets the @p color of the style. + */ + void setColor(const QColor &color); + + /** + * Returns the color of the style. + */ + QColor color() const; + + /** + * Sets the @p opacity of the style. + */ + void setOpacity(double opacity); + + /** + * Returns the opacity of the style. + */ + double opacity() const; + + /** + * Sets the @p width of the style. + */ + void setWidth(double width); + + /** + * Returns the width of the style. + */ + double width() const; + + /** + * Sets the line @p style of the style. + */ + void setLineStyle(LineStyle style); + + /** + * Returns the line style of the style. + */ + LineStyle lineStyle() const; + + /** + * Sets the x-corners of the style. + */ + void setXCorners(double xCorners); + + /** + * Returns the x-corners of the style. + */ + double xCorners() const; + + /** + * Sets the y-corners of the style. + */ + void setYCorners(double yCorners); + + /** + * Returns the y-corners of the style. + */ + double yCorners() const; + + /** + * Sets the @p marks of the style. + */ + void setMarks(int marks); + + /** + * Returns the marks of the style. + */ + int marks() const; + + /** + * Sets the @p spaces of the style. + */ + void setSpaces(int spaces); + + /** + * Returns the spaces of the style. + */ + int spaces() const; + + /** + * Sets the line @p effect of the style. + */ + void setLineEffect(LineEffect effect); + + /** + * Returns the line effect of the style. + */ + LineEffect lineEffect() const; + + /** + * Sets the effect @p intensity of the style. + */ + void setEffectIntensity(double intensity); + + /** + * Returns the effect intensity of the style. + */ + double effectIntensity() const; + + private: + class Private; + Private *const d; + }; + + /** + * Returns a reference to the style object of the annotation. + */ + Style &style(); + + /** + * Returns a const reference to the style object of the annotation. + */ + const Style &style() const; + + /** + * The Window class contains all information about the popup window + * of the annotation that is used to edit the content and properties. + */ + class OKULARCORE_EXPORT Window + { + public: + /** + * Creates a new window. + */ + Window(); + + /** + * Destroys the window. + */ + ~Window(); + + Window(const Window &other); + Window &operator=(const Window &other); + + /** + * Sets the @p flags of the window. + */ + void setFlags(int flags); + + /** + * Returns the flags of the window. + */ + int flags() const; + + /** + * Sets the top-left @p point of the window. + */ + void setTopLeft(const NormalizedPoint &point); + + /** + * Returns the top-left point of the window. + */ + NormalizedPoint topLeft() const; + + /** + * Sets the @p width of the window. + */ + void setWidth(int width); + + /** + * Returns the width of the window. + */ + int width() const; + + /** + * Sets the @p height of the window. + */ + void setHeight(int height); + + /** + * Returns the height of the window. + */ + int height() const; + + /** + * Sets the @p title of the window. + */ + void setTitle(const QString &title); + + /** + * Returns the title of the window. + */ + QString title() const; + + /** + * Sets the @p summary of the window. + */ + void setSummary(const QString &summary); + + /** + * Returns the summary of the window. + */ + QString summary() const; + + private: + class Private; + Private *const d; + }; + + /** + * Returns a reference to the window object of the annotation. + */ + Window &window(); + + /** + * Returns a const reference to the window object of the annotation. + */ + const Window &window() const; + + /** + * The Revision class contains all information about the revision + * of the annotation. + */ + class OKULARCORE_EXPORT Revision + { + public: + /** + * Creates a new revision. + */ + Revision(); + + /** + * Destroys the revision. + */ + ~Revision(); + + Revision(const Revision &other); + Revision &operator=(const Revision &other); + + /** + * Sets the @p annotation the revision belongs to. + */ + void setAnnotation(Annotation *annotation); + + /** + * Returns the annotation the revision belongs to. + */ + Annotation *annotation() const; + + /** + * Sets the @p scope of the revision. + * @see RevisionScope + */ + void setScope(RevisionScope scope); + + /** + * Returns the scope of the revision. + */ + RevisionScope scope() const; + + /** + * Sets the @p type of the revision. + * @see RevisionType + */ + void setType(RevisionType type); + + /** + * Returns the type of the revision. + */ + RevisionType type() const; + + private: + class Private; + Private *const d; + }; + + /** + * Returns a reference to the revision list of the annotation. + */ + QList &revisions(); + + /** + * Returns a reference to the revision list of the annotation. + */ + const QList &revisions() const; + + /** + * Sets the "native" @p id of the annotation. + * + * This is for use of the Generator, that can optionally store an + * handle (a pointer, an identifier, etc) of the "native" annotation + * object, if any. + * + * @note Okular makes no use of this + * + * @since 0.7 (KDE 4.1) + */ + void setNativeId(const QVariant &id); + + /** + * Returns the "native" id of the annotation. + * + * @since 0.7 (KDE 4.1) + */ + QVariant nativeId() const; + + /** + * Sets a function to be called when the annotation is destroyed. + * + * @warning the function must *not* call any virtual function, + * nor subcast. + * + * @since 0.7 (KDE 4.1) + */ + void setDisposeDataFunction(DisposeDataFunction func); + + /** + * Returns whether the annotation can be moved. + * + * @since 0.7 (KDE 4.1) + */ + bool canBeMoved() const; + + /** + * Returns whether the annotation can be resized. + */ + bool canBeResized() const; + + /** + * Returns whether the annotation dialog should be open after creation of the annotation or not + * + * @since 0.13 (KDE 4.7) + */ + bool openDialogAfterCreation() const; + + /** + * Returns the sub type of the annotation. + */ + virtual SubType subType() const = 0; + + /** + * Stores the annotation as xml in @p document under the given parent @p node. + */ + virtual void store(QDomNode &node, QDomDocument &document) const; + + /** + * Retrieve the QDomNode representing this annotation's properties + + * @since 0.17 (KDE 4.11) + */ + QDomNode getAnnotationPropertiesDomNode() const; + + /** + * Sets annotations internal properties according to the contents of @p node + * + * @since 0.17 (KDE 4.11) + */ + + void setAnnotationProperties(const QDomNode &node); + + /** + * Sets some native internal data with shared ownership. + * + * data is kept alive according to shared_ptr refcount. + * + * Can be cleared in here with just setting a nullptr. + * + * @since 24.12 + */ + void setNativeData(std::shared_ptr data); + + /** + * @returns the native data content, or nullptr if nothing set. + * + * You set it, you know what's in it + * + * @since 24.12 + */ + const void *nativeData() const; + +protected: + /// @cond PRIVATE + explicit Annotation(AnnotationPrivate &dd); + Annotation(AnnotationPrivate &dd, const QDomNode &description); + Q_DECLARE_PRIVATE(Annotation) + AnnotationPrivate *d_ptr; + /// @endcond + +private: + Q_DISABLE_COPY(Annotation) +}; + +/** + * @short Native annotation interface + * + * Generators can subclass it to provide native annotation support. + * Generators can use Annotation::setNativeId to store per-annotation data. + * + * @since 0.15 (KDE 4.9) + */ +class OKULARCORE_EXPORT AnnotationProxy +{ +public: + enum Capability { + Addition, ///< Generator can create native annotations + Modification, ///< Generator can edit native annotations + Removal ///< Generator can remove native annotations + }; + + AnnotationProxy(); + + /** + * Destroys the annotation proxy. + */ + virtual ~AnnotationProxy(); + + AnnotationProxy(const AnnotationProxy &) = delete; + AnnotationProxy &operator=(const AnnotationProxy &) = delete; + + /** + * Query for the supported capabilities. + */ + virtual bool supports(Capability capability) const = 0; + + /** + * Called when a new @p annotation is added to a @p page. + * + * @note Only called if supports(Addition) == true + */ + virtual void notifyAddition(Annotation *annotation, int page) = 0; + + /** + * Called after an existing @p annotation at a given @p page is modified. + * + * Generator can call @p annotation getters to get the new values. + * @p appearanceChanged tells if a non-visible property was modified + * + * @note Only called if supports(Modification) == true + */ + virtual void notifyModification(const Annotation *annotation, int page, bool appearanceChanged) = 0; + + /** + * Called when an existing @p annotation at a given @p page is removed. + * + * @note Only called if supports(Removal) == true + */ + virtual void notifyRemoval(Annotation *annotation, int page) = 0; +}; + +class OKULARCORE_EXPORT TextAnnotation : public Annotation +{ +public: + /** + * Describes the type of the text. + */ + enum TextType { + Linked, ///< The annotation is linked to a text + InPlace ///< The annotation is located next to the text + }; + + /** + * Describes the style of the text. + */ + enum InplaceIntent { + Unknown, ///< Unknown style + Callout, ///< Callout style + TypeWriter ///< Type writer style + }; + + /** + * Creates a new text annotation. + */ + TextAnnotation(); + + /** + * Creates a new text annotation from the xml @p description + */ + explicit TextAnnotation(const QDomNode &description); + + /** + * Destroys the text annotation. + */ + ~TextAnnotation() override; + + /** + * Sets the text @p type of the text annotation. + * @see TextType + */ + void setTextType(TextType type); + + /** + * Returns the text type of the text annotation. + */ + TextType textType() const; + + /** + * Sets the @p icon of the text annotation. + */ + void setTextIcon(const QString &icon); + + /** + * Returns the icon of the text annotation. + */ + QString textIcon() const; + + /** + * Sets the @p font of the text annotation. + */ + void setTextFont(const QFont &font); + + /** + * Returns the font of the text annotation. + */ + QFont textFont() const; + + /** + * Sets the @p color of inplace text. + * + * @since 1.6 + */ + void setTextColor(const QColor &color); + + /** + * Returns the color of inplace text. + * + * @since 1.6 + */ + QColor textColor() const; + + /** + * Sets the inplace @p alignment of the text annotation. + * 0:left, 1:center, 2:right + */ + void setInplaceAlignment(int alignment); + + /** + * Returns the inplace alignment of the text annotation. + * 0:left, 1:center, 2:right + */ + int inplaceAlignment() const; + + /** + * Sets the inplace callout @p point at @p index. + * + * @p index must be between 0 and 2. + */ + void setInplaceCallout(const NormalizedPoint &point, int index); + + /** + * Returns the inplace callout point for @p index. + * + * @p index must be between 0 and 2. + */ + NormalizedPoint inplaceCallout(int index) const; + + /** + * Returns the transformed (e.g. rotated) inplace callout point for @p index. + * + * @p index must be between 0 and 2. + */ + NormalizedPoint transformedInplaceCallout(int index) const; + + /** + * Returns the inplace @p intent of the text annotation. + * @see InplaceIntent + */ + void setInplaceIntent(InplaceIntent intent); + + /** + * Returns the inplace intent of the text annotation. + */ + InplaceIntent inplaceIntent() const; + + /** + * Returns the sub type of the text annotation. + */ + SubType subType() const override; + + /** + * Stores the text annotation as xml in @p document under the given parent @p node. + */ + void store(QDomNode &node, QDomDocument &document) const override; + +private: + Q_DECLARE_PRIVATE(TextAnnotation) + Q_DISABLE_COPY(TextAnnotation) +}; + +class OKULARCORE_EXPORT LineAnnotation : public Annotation +{ +public: + /** + * Describes the line ending style. + */ + enum TermStyle { + Square, ///< Using a square + Circle, ///< Using a circle + Diamond, ///< Using a diamond + OpenArrow, ///< Using an open arrow + ClosedArrow, ///< Using a closed arrow + None, ///< No special ending style + Butt, ///< Using a butt ending + ROpenArrow, ///< Using an arrow opened at the right side + RClosedArrow, ///< Using an arrow closed at the right side + Slash ///< Using a slash + }; + + /** + * Describes the line intent. + */ + enum LineIntent { + Unknown, ///< Unknown intent + Arrow, ///< Arrow intent + Dimension, ///< Dimension intent + PolygonCloud ///< Polygon cloud intent + }; + + /** + * Creates a new line annotation. + */ + LineAnnotation(); + + /** + * Creates a new line annotation from the xml @p description + */ + explicit LineAnnotation(const QDomNode &description); + + /** + * Destroys the line annotation. + */ + ~LineAnnotation() override; + + /** + * Sets the normalized line @p points of the line annotation. + * + * @since 22.08 + */ + void setLinePoints(const QList &points); + + /** + * Returns the normalized line points of the line annotation. + * + * @since 22.08 + */ + QList linePoints() const; + + /** + * Returns the transformed (e.g. rotated) normalized line points + * of the line annotation. + * + * @since 22.08 + */ + QList transformedLinePoints() const; + + /** + * Sets the line starting @p style of the line annotation. + * @see TermStyle + */ + void setLineStartStyle(TermStyle style); + + /** + * Returns the line starting style of the line annotation. + */ + TermStyle lineStartStyle() const; + + /** + * Sets the line ending @p style of the line annotation. + * @see TermStyle + */ + void setLineEndStyle(TermStyle style); + + /** + * Returns the line ending style of the line annotation. + */ + TermStyle lineEndStyle() const; + + /** + * Sets whether the line shall be @p closed. + */ + void setLineClosed(bool closed); + + /** + * Returns whether the line shall be closed. + */ + bool lineClosed() const; + + /** + * Sets the inner line @p color of the line annotation. + */ + void setLineInnerColor(const QColor &color); + + /** + * Returns the inner line color of the line annotation. + */ + QColor lineInnerColor() const; + + /** + * Sets the leading forward @p point of the line annotation. + */ + void setLineLeadingForwardPoint(double point); + + /** + * Returns the leading forward point of the line annotation. + */ + double lineLeadingForwardPoint() const; + + /** + * Sets the leading backward @p point of the line annotation. + */ + void setLineLeadingBackwardPoint(double point); + + /** + * Returns the leading backward point of the line annotation. + */ + double lineLeadingBackwardPoint() const; + + /** + * Sets whether the caption shall be @p shown. + */ + void setShowCaption(bool shown); + + /** + * Returns whether the caption shall be shown. + */ + bool showCaption() const; + + /** + * Sets the line @p intent of the line annotation. + * @see LineIntent + */ + void setLineIntent(LineIntent intent); + + /** + * Returns the line intent of the line annotation. + */ + LineIntent lineIntent() const; + + /** + * Returns the sub type of the line annotation. + */ + SubType subType() const override; + + /** + * Stores the line annotation as xml in @p document under the given parent @p node. + */ + void store(QDomNode &node, QDomDocument &document) const override; + +private: + Q_DECLARE_PRIVATE(LineAnnotation) + Q_DISABLE_COPY(LineAnnotation) +}; + +class OKULARCORE_EXPORT GeomAnnotation : public Annotation +{ +public: + // common enums + enum GeomType { + InscribedSquare, ///< Draw a square + InscribedCircle ///< Draw a circle + }; + + /** + * Creates a new geometrical annotation. + */ + GeomAnnotation(); + + /** + * Creates a new geometrical annotation from the xml @p description + */ + explicit GeomAnnotation(const QDomNode &description); + + /** + * Destroys the geometrical annotation. + */ + ~GeomAnnotation() override; + + /** + * Sets the geometrical @p type of the geometrical annotation. + * @see GeomType + */ + void setGeometricalType(GeomType type); + + /** + * Returns the geometrical type of the geometrical annotation. + */ + GeomType geometricalType() const; + + /** + * Sets the inner @p color of the geometrical annotation. + */ + void setGeometricalInnerColor(const QColor &color); + + /** + * Returns the inner color of the geometrical annotation. + */ + QColor geometricalInnerColor() const; + + /** + * Returns the sub type of the geometrical annotation. + */ + SubType subType() const override; + + /** + * Stores the geometrical annotation as xml in @p document + * under the given parent @p node. + */ + void store(QDomNode &node, QDomDocument &document) const override; + +private: + Q_DECLARE_PRIVATE(GeomAnnotation) + Q_DISABLE_COPY(GeomAnnotation) +}; + +class OKULARCORE_EXPORT HighlightAnnotation : public Annotation +{ +public: + /** + * Describes the highlighting style of the annotation. + */ + enum HighlightType { + Highlight, ///< Highlights the text + Squiggly, ///< Squiggles the text + Underline, ///< Underlines the text + StrikeOut ///< Strikes out the text + }; + + /** + * Creates a new highlight annotation. + */ + HighlightAnnotation(); + + /** + * Creates a new highlight annotation from the xml @p description + */ + explicit HighlightAnnotation(const QDomNode &description); + + /** + * Destroys the highlight annotation. + */ + ~HighlightAnnotation() override; + + /** + * Sets the @p type of the highlight annotation. + * @see HighlightType + */ + void setHighlightType(HighlightType type); + + /** + * Returns the type of the highlight annotation. + */ + HighlightType highlightType() const; + + /** + * @short Describes a highlight quad of a text markup annotation. + * + * The Quad is a closed path of 4 NormalizedPoints. + * Another set of 4 NormalizedPoints can be generated with transform(), + * e. g. to get highlighting coordinates on a rotated PageViewItem. + * Additionally, Quad stores some geometry related style attributes. + * + * To enable correct rendering of the annotation, + * the points 0 and 1 must describe the bottom edge of the quad + * (relative to the text orientation). + * + * @see NormalizedPoint + */ + class OKULARCORE_EXPORT Quad + { + public: + /** + * Creates a new quad. + */ + Quad(); + + /** + * Destroys the quad. + */ + ~Quad(); + + Quad(const Quad &other); + Quad &operator=(const Quad &other); + + /** + * Sets the normalized @p point at @p index. + * + * @p index must be between 0 and 3. + */ + void setPoint(const NormalizedPoint &point, int index); + + /** + * Returns the normalized point at @p index. + * + * @p index must be between 0 and 3. + */ + NormalizedPoint point(int index) const; + + /** + * Returns the transformed (e.g. rotated) normalized point at @p index. + * + * @p index must be between 0 and 3. + */ + NormalizedPoint transformedPoint(int index) const; + + /** + * Sets whether a cap should be used at the start. + */ + void setCapStart(bool value); + + /** + * Returns whether a cap should be used at the start. + */ + bool capStart() const; + + /** + * Sets whether a cap should be used at the end. + */ + void setCapEnd(bool value); + + /** + * Returns whether a cap should be used at the end. + */ + bool capEnd() const; + + /** + * Sets the @p width of the drawing feather. + */ + void setFeather(double width); + + /** + * Returns the width of the drawing feather. + */ + double feather() const; + + /** + * Transforms the quad coordinates with the transformation defined + * by @p matrix. + * + * The transformed coordinates will be accessible with transformedPoint(). + * The coordinates returned by point() are not affected. + */ + void transform(const QTransform &matrix); + + private: + class Private; + Private *const d; + }; + + /** + * Returns a reference to the quad list of the highlight annotation. + */ + QList &highlightQuads(); + + /** + * Returns a const reference to the quad list of the highlight annotation. + * @since 20.12 + */ + const QList &highlightQuads() const; + + /** + * Returns the sub type of the highlight annotation. + */ + SubType subType() const override; + + /** + * Stores the highlight annotation as xml in @p document + * under the given parent @p node. + */ + void store(QDomNode &node, QDomDocument &document) const override; + +private: + Q_DECLARE_PRIVATE(HighlightAnnotation) + Q_DISABLE_COPY(HighlightAnnotation) +}; + +class OKULARCORE_EXPORT StampAnnotation : public Annotation +{ +public: + /** + * Creates a new stamp annotation. + */ + StampAnnotation(); + + /** + * Creates a new stamp annotation from the xml @p description + */ + explicit StampAnnotation(const QDomNode &description); + + /** + * Destroys the stamp annotation. + */ + ~StampAnnotation() override; + + /** + * Sets the @p name of the icon for the stamp annotation. + */ + void setStampIconName(const QString &name); + + /** + * Returns the name of the icon. + */ + QString stampIconName() const; + + /** + * Returns the sub type of the stamp annotation. + */ + SubType subType() const override; + + /** + * Stores the stamp annotation as xml in @p document + * under the given parent @p node. + */ + void store(QDomNode &node, QDomDocument &document) const override; + +private: + Q_DECLARE_PRIVATE(StampAnnotation) + Q_DISABLE_COPY(StampAnnotation) +}; + +#if HAVE_NEW_SIGNATURE_API +/** + * \since 24.12 + */ +class OKULARCORE_EXPORT SignatureAnnotation : public Annotation +{ +public: + /** + * Creates a new signature annotation. + */ + SignatureAnnotation(); + + /** + * Destroys the signature annotation. + */ + ~SignatureAnnotation() override; + + QString text() const; + void setText(const QString &text); + + QString leftText() const; + void setLeftText(const QString &text); + + QString imagePath() const; + void setImagePath(const QString &imagePath); + + QString fieldPartialName() const; + void setFieldPartialName(const QString &fieldPartialName); + + double fontSize() const; + void setFontSize(double fontSize); + + double leftFontSize() const; + void setLeftFontSize(double fontSize); + + int page() const; + void setPage(int page); + + /** + * Sets the function to actually implement the signing + * + * \since 25.08 + */ + void setSignFunction(std::function(const Okular::NewSignatureData &, const QString &)> func); + + /** + * \brief signs this signature annotation + * \return result and a detailed/advanced error message/code in case of failure + * + * \since 25.08 + */ + std::pair sign(const Okular::NewSignatureData &data, const QString &fileName); + + /** + * Returns the sub type of the stamp annotation. + */ + SubType subType() const override; + + /** + * Stores the stamp annotation as xml in @p document + * under the given parent @p node. + */ + void store(QDomNode &node, QDomDocument &document) const override; + +private: + Q_DECLARE_PRIVATE(SignatureAnnotation) + Q_DISABLE_COPY(SignatureAnnotation) +}; +#endif + +class OKULARCORE_EXPORT InkAnnotation : public Annotation +{ +public: + /** + * Creates a new ink annotation. + */ + InkAnnotation(); + + /** + * Creates a new ink annotation from the xml @p description + */ + explicit InkAnnotation(const QDomNode &description); + + /** + * Destroys the ink annotation. + */ + ~InkAnnotation() override; + + /** + * Sets the @p paths of points for the ink annotation. + * + * @since 22.08 + */ + void setInkPaths(const QList> &paths); + + /** + * Returns the paths of points of the ink annotation. + * + * @since 22.08 + */ + QList> inkPaths() const; + + /** + * Returns the paths of transformed (e.g. rotated) points of + * the ink annotation. + * + * @since 22.08 + */ + QList> transformedInkPaths() const; + + /** + * Returns the sub type of the ink annotation. + */ + SubType subType() const override; + + /** + * Stores the ink annotation as xml in @p document + * under the given parent @p node. + */ + void store(QDomNode &node, QDomDocument &document) const override; + +private: + Q_DECLARE_PRIVATE(InkAnnotation) + Q_DISABLE_COPY(InkAnnotation) +}; + +class OKULARCORE_EXPORT CaretAnnotation : public Annotation +{ +public: + /** + * Describes the highlighting style of the annotation. + */ + enum CaretSymbol { + None, ///< No symbol to be associated with the text + P ///< A 'paragraph' symbol + }; + + /** + * Creates a new caret annotation. + */ + CaretAnnotation(); + + /** + * Creates a new caret annotation from the xml @p description + */ + explicit CaretAnnotation(const QDomNode &description); + + /** + * Destroys the caret annotation. + */ + ~CaretAnnotation() override; + + /** + * Sets the @p symbol for the caret annotation. + */ + void setCaretSymbol(CaretAnnotation::CaretSymbol symbol); + + /** + * Returns the symbol of the annotation. + */ + CaretAnnotation::CaretSymbol caretSymbol() const; + + /** + * Returns the sub type of the caret annotation. + */ + SubType subType() const override; + + /** + * Stores the caret annotation as xml in @p document + * under the given parent @p node. + */ + void store(QDomNode &node, QDomDocument &document) const override; + +private: + Q_DECLARE_PRIVATE(CaretAnnotation) + Q_DISABLE_COPY(CaretAnnotation) +}; + +class OKULARCORE_EXPORT FileAttachmentAnnotation : public Annotation +{ +public: + /** + * Creates a new file attachment annotation. + */ + FileAttachmentAnnotation(); + /** + * Creates a new file attachment annotation from the xml @p description + */ + explicit FileAttachmentAnnotation(const QDomNode &description); + /** + * Destroys the file attachment annotation. + */ + ~FileAttachmentAnnotation() override; + + /** + * Gets the name of the icon. + */ + QString fileIconName() const; + + /** + * Sets the @p iconName of the icon for the file attachment annotation. + */ + void setFileIconName(const QString &iconName); + + /** + * Gets the embedded file object. + */ + EmbeddedFile *embeddedFile() const; + + /** + * Sets the @p ef representing the embedded file of the file + * attachment annotation. + */ + void setEmbeddedFile(EmbeddedFile *ef); + + /** + * Returns the sub type of the file attachment annotation. + */ + SubType subType() const override; + + /** + * Stores the file attachment annotation as xml in @p document + * under the given parent @p node. + */ + void store(QDomNode &node, QDomDocument &document) const override; + +private: + Q_DECLARE_PRIVATE(FileAttachmentAnnotation) + Q_DISABLE_COPY(FileAttachmentAnnotation) +}; + +/** + * \short Sound annotation. + * + * The sound annotation represents a sound to be played when activated. + * + * @since 0.7 (KDE 4.1) + */ +class OKULARCORE_EXPORT SoundAnnotation : public Annotation +{ +public: + /** + * Creates a new sound annotation. + */ + SoundAnnotation(); + /** + * Creates a new sound annotation from the xml @p description + */ + explicit SoundAnnotation(const QDomNode &description); + /** + * Destroys the sound annotation. + */ + ~SoundAnnotation() override; + + /** + * Gets the name of the icon. + */ + QString soundIconName() const; + + /** + * Sets the @p iconName of the icon for the sound annotation. + */ + void setSoundIconName(const QString &iconName); + + /** + * Gets the sound object. + */ + Sound *sound() const; + + /** + * Sets the @p s representing the sound of the file + * attachment annotation. + */ + void setSound(Sound *s); + + /** + * Returns the sub type of the sound annotation. + */ + SubType subType() const override; + + /** + * Stores the sound annotation as xml in @p document + * under the given parent @p node. + */ + void store(QDomNode &node, QDomDocument &document) const override; + +private: + Q_DECLARE_PRIVATE(SoundAnnotation) + Q_DISABLE_COPY(SoundAnnotation) +}; + +/** + * \short Movie annotation. + * + * The movie annotation represents a movie to be played when activated. + * + * @since 0.8 (KDE 4.2) + */ +class OKULARCORE_EXPORT MovieAnnotation : public Annotation +{ +public: + /** + * Creates a new movie annotation. + */ + MovieAnnotation(); + /** + * Creates a new movie annotation from the xml @p description + */ + explicit MovieAnnotation(const QDomNode &description); + /** + * Destroys the movie annotation. + */ + ~MovieAnnotation() override; + /** + * Gets the movie object. + */ + Movie *movie() const; + /** + * Sets the new @p movie object. + */ + void setMovie(Movie *movie); + /** + * Returns the sub type of the movie annotation. + */ + SubType subType() const override; + /** + * Stores the movie annotation as xml in @p document + * under the given @p parentNode. + */ + void store(QDomNode &parentNode, QDomDocument &document) const override; + +private: + Q_DECLARE_PRIVATE(MovieAnnotation) + Q_DISABLE_COPY(MovieAnnotation) +}; + +/** + * \short Screen annotation. + * + * The screen annotation specifies a region of a page upon which media clips + * may be played. It also serves as an object from which actions can be triggered. + * + * @since 0.16 (KDE 4.10) + */ +class OKULARCORE_EXPORT ScreenAnnotation : public Annotation +{ +public: + /** + * Creates a new screen annotation. + */ + ScreenAnnotation(); + + /** + * Creates a new screen annotation from the xml @p description + */ + explicit ScreenAnnotation(const QDomNode &description); + + /** + * Destroys the screen annotation. + */ + ~ScreenAnnotation() override; + + /** + * Returns the sub type of the screen annotation. + */ + SubType subType() const override; + + /** + * Stores the screen annotation as xml in @p document + * under the given @p parentNode. + */ + void store(QDomNode &parentNode, QDomDocument &document) const override; + + /** + * Sets the @p action that is executed when the annotation is triggered. + * + * @since 0.16 (KDE 4.10) + */ + void setAction(Action *action); + + /** + * Returns the action that is executed when the annotation is triggered or @c 0 if not action has been defined. + * + * @since 0.16 (KDE 4.10) + */ + Action *action() const; + + /** + * Sets the additional @p action of the given @p type. + * + * @since 0.16 (KDE 4.10) + */ + void setAdditionalAction(AdditionalActionType type, Action *action); + + /** + * Returns the additional action of the given @p type or @c 0 if no action has been defined. + * + * @since 0.16 (KDE 4.10) + */ + Action *additionalAction(AdditionalActionType type) const; + +private: + Q_DECLARE_PRIVATE(ScreenAnnotation) + Q_DISABLE_COPY(ScreenAnnotation) +}; + +/** + * \short Widget annotation. + * + * The widget annotation represents a widget on a page. + * + * @since 0.16 (KDE 4.10) + */ +class OKULARCORE_EXPORT WidgetAnnotation : public Annotation +{ +public: + /** + * Creates a new widget annotation. + */ + WidgetAnnotation(); + + /** + * Creates a new widget annotation from the xml @p description + */ + explicit WidgetAnnotation(const QDomNode &description); + + /** + * Destroys the widget annotation. + */ + ~WidgetAnnotation() override; + + /** + * Returns the sub type of the widget annotation. + */ + SubType subType() const override; + + /** + * Stores the widget annotation as xml in @p document + * under the given @p parentNode. + */ + void store(QDomNode &parentNode, QDomDocument &document) const override; + + /** + * Sets the additional @p action of the given @p type. + * + * @since 0.16 (KDE 4.10) + */ + void setAdditionalAction(AdditionalActionType type, Action *action); + + /** + * Returns the additional action of the given @p type or @c 0 if no action has been defined. + * + * @since 0.16 (KDE 4.10) + */ + Action *additionalAction(AdditionalActionType type) const; + +private: + Q_DECLARE_PRIVATE(WidgetAnnotation) + Q_DISABLE_COPY(WidgetAnnotation) +}; + +/** + * \short RichMedia annotation. + * + * The rich media annotation represents an video or sound on a page. + * + * @since 1.0 + */ +class OKULARCORE_EXPORT RichMediaAnnotation : public Annotation +{ +public: + /** + * Creates a new rich media annotation. + */ + RichMediaAnnotation(); + + /** + * Creates a new rich media annotation from the xml @p description + */ + explicit RichMediaAnnotation(const QDomNode &description); + + /** + * Destroys the rich media annotation. + */ + ~RichMediaAnnotation() override; + + /** + * Returns the sub type of the rich media annotation. + */ + SubType subType() const override; + + /** + * Stores the rich media annotation as xml in @p document + * under the given @p parentNode. + */ + void store(QDomNode &parentNode, QDomDocument &document) const override; + + /** + * Gets the movie object. + */ + Movie *movie() const; + + /** + * Sets the new @p movie object. + */ + void setMovie(Movie *movie); + + /** + * Sets the @p embeddedFile representing the embedded file. + */ + void setEmbeddedFile(EmbeddedFile *embeddedFile); + + /** + * Gets the embedded file object. + */ + EmbeddedFile *embeddedFile() const; + +private: + Q_DECLARE_PRIVATE(RichMediaAnnotation) + Q_DISABLE_COPY(RichMediaAnnotation) +}; + +} + +#endif diff --git a/core/annotations_p.h b/core/annotations_p.h new file mode 100644 index 0000000..f1d0e35 --- /dev/null +++ b/core/annotations_p.h @@ -0,0 +1,83 @@ +/* + SPDX-FileCopyrightText: 2007 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef OKULAR_ANNOTATIONS_P_H +#define OKULAR_ANNOTATIONS_P_H + +#include "annotations.h" +#include "area.h" + +// qt/kde includes +#include +#include +#include +#include + +class QTransform; + +namespace Okular +{ +class PagePrivate; + +class AnnotationPrivate +{ +public: + AnnotationPrivate(); + + OKULARCORE_EXPORT static AnnotationPrivate *get(Annotation *a); + + virtual ~AnnotationPrivate(); + + AnnotationPrivate(const AnnotationPrivate &) = delete; + AnnotationPrivate &operator=(const AnnotationPrivate &) = delete; + + /** + * Transforms the annotation coordinates with the transformation + * defined by @p matrix. + */ + void annotationTransform(const QTransform &matrix); + + virtual void transform(const QTransform &matrix); + virtual void baseTransform(const QTransform &matrix); + virtual void resetTransformation(); + virtual void translate(const NormalizedPoint &coord); + virtual void adjust(const NormalizedPoint &deltaCoord1, const NormalizedPoint &deltaCoord2); + virtual bool openDialogAfterCreation() const; + virtual void setAnnotationProperties(const QDomNode &node); + virtual bool canBeResized() const; + virtual AnnotationPrivate *getNewAnnotationPrivate() = 0; + + /** + * Determines the distance of the closest point of the annotation to the + * given point @p x @p y @p xScale @p yScale + * @since 0.17 + */ + virtual double distanceSqr(double x, double y, double xScale, double yScale) const; + + PagePrivate *m_page; + + QString m_author; + QString m_contents; + QString m_uniqueName; + QDateTime m_modifyDate; + QDateTime m_creationDate; + + int m_flags; + NormalizedRect m_boundary; + NormalizedRect m_transformedBoundary; + + Okular::Annotation::Style m_style; + Okular::Annotation::Window m_window; + QList m_revisions; + + Annotation::DisposeDataFunction m_disposeFunc; + QVariant m_nativeId; + std::shared_ptr m_nativeData; +}; + +} + +#endif diff --git a/core/area.cpp b/core/area.cpp new file mode 100644 index 0000000..6d138ad --- /dev/null +++ b/core/area.cpp @@ -0,0 +1,504 @@ +/* + SPDX-FileCopyrightText: 2004-05 Enrico Ros + SPDX-FileCopyrightText: 2005 Piotr Szymanski + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "area.h" + +#include +#include + +#include "action.h" +#include "annotations.h" +#include "annotations_p.h" +#include "debug_p.h" +#include "sourcereference.h" + +using namespace Okular; + +/** class NormalizedPoint **/ +NormalizedPoint::NormalizedPoint() + : x(0.0) + , y(0.0) +{ +} + +NormalizedPoint::NormalizedPoint(double dX, double dY) + : x(dX) + , y(dY) +{ +} + +NormalizedPoint::NormalizedPoint(int iX, int iY, int xScale, int yScale) + : x((double)iX / (double)xScale) + , y((double)iY / (double)yScale) +{ +} + +NormalizedPoint &NormalizedPoint::operator=(const NormalizedPoint &p) = default; +NormalizedPoint::NormalizedPoint(const NormalizedPoint &) = default; + +void NormalizedPoint::transform(const QTransform &matrix) +{ + qreal tmp_x = (qreal)x; + qreal tmp_y = (qreal)y; + matrix.map(tmp_x, tmp_y, &tmp_x, &tmp_y); + x = tmp_x; + y = tmp_y; +} + +double NormalizedPoint::distanceSqr(double x, double y, double xScale, double yScale) const +{ + return pow((this->x - x) * xScale, 2) + pow((this->y - y) * yScale, 2); +} + +/** + * Returns a vector from the given points @p a and @p b + * @internal + */ +NormalizedPoint operator-(const NormalizedPoint &a, const NormalizedPoint &b) +{ + return NormalizedPoint(a.x - b.x, a.y - b.y); +} + +/** + * @brief Calculates distance of the point @p x @p y @p xScale @p yScale to the line segment from @p start to @p end + */ +double NormalizedPoint::distanceSqr(double x, double y, double xScale, double yScale, const NormalizedPoint &start, const NormalizedPoint &end) +{ + NormalizedPoint point(x, y); + double thisDistance; + NormalizedPoint lineSegment(end - start); + const double lengthSqr = pow(lineSegment.x, 2) + pow(lineSegment.y, 2); + + // if the length of the current segment is null, we can just + // measure the distance to either end point + if (lengthSqr == 0.0) { + thisDistance = end.distanceSqr(x, y, xScale, yScale); + } else { + // vector from the start point of the current line segment to the measurement point + NormalizedPoint a = point - start; + // vector from the same start point to the end point of the current line segment + NormalizedPoint b = end - start; + + // we're using a * b (dot product) := |a| * |b| * cos(phi) and the knowledge + // that cos(phi) is adjacent side / hypotenuse (hypotenuse = |b|) + // therefore, t becomes the length of the vector that represents the projection of + // the point p onto the current line segment + //(hint: if this is still unclear, draw it!) + float t = (a.x * b.x + a.y * b.y) / lengthSqr; + + if (t < 0) { + // projection falls outside the line segment on the side of "start" + thisDistance = point.distanceSqr(start.x, start.y, xScale, yScale); + } else if (t > 1) { + // projection falls outside the line segment on the side of the current point + thisDistance = point.distanceSqr(end.x, end.y, xScale, yScale); + } else { + // projection is within [start, *i]; + // determine the length of the perpendicular distance from the projection to the actual point + NormalizedPoint direction = end - start; + NormalizedPoint projection = start - NormalizedPoint(-t * direction.x, -t * direction.y); + thisDistance = projection.distanceSqr(x, y, xScale, yScale); + } + } + return thisDistance; +} + +QDebug operator<<(QDebug debug, const Okular::NormalizedPoint &p) +{ + QDebugStateSaver saver(debug); + debug.nospace() << "NormPt(" << p.x << "," << p.y << ")"; + return debug; +} + +/** class NormalizedRect **/ + +NormalizedRect::NormalizedRect() + : left(0.0) + , top(0.0) + , right(0.0) + , bottom(0.0) +{ +} + +NormalizedRect::NormalizedRect(double l, double t, double r, double b) + // note: check for swapping coords? + : left(l) + , top(t) + , right(r) + , bottom(b) +{ +} + +NormalizedRect::NormalizedRect(const QRect r, double xScale, double yScale) + : left((double)r.left() / xScale) + , top((double)r.top() / yScale) + , right((double)r.right() / xScale) + , bottom((double)r.bottom() / yScale) +{ +} + +NormalizedRect::NormalizedRect(const NormalizedRect &rect) = default; + +NormalizedRect NormalizedRect::fromQRectF(const QRectF &rect) +{ + QRectF nrect = rect.normalized(); + NormalizedRect ret; + ret.left = nrect.left(); + ret.top = nrect.top(); + ret.right = nrect.right(); + ret.bottom = nrect.bottom(); + return ret; +} + +bool NormalizedRect::isNull() const +{ + return left == 0 && top == 0 && right == 0 && bottom == 0; +} + +bool NormalizedRect::contains(double x, double y) const +{ + return x >= left && x <= right && y >= top && y <= bottom; +} + +bool NormalizedRect::intersects(const NormalizedRect &r) const +{ + return (r.left <= right) && (r.right >= left) && (r.top <= bottom) && (r.bottom >= top); +} + +bool NormalizedRect::intersects(const NormalizedRect *r) const +{ + return (r->left <= right) && (r->right >= left) && (r->top <= bottom) && (r->bottom >= top); +} + +bool NormalizedRect::intersects(double l, double t, double r, double b) const +{ + return (l <= right) && (r >= left) && (t <= bottom) && (b >= top); +} + +NormalizedRect NormalizedRect::operator|(const NormalizedRect &r) const +{ + NormalizedRect ret; + ret.left = qMin(left, r.left); + ret.top = qMin(top, r.top); + ret.bottom = qMax(bottom, r.bottom); + ret.right = qMax(right, r.right); + return ret; +} + +NormalizedRect &NormalizedRect::operator|=(const NormalizedRect &r) +{ + left = qMin(left, r.left); + top = qMin(top, r.top); + bottom = qMax(bottom, r.bottom); + right = qMax(right, r.right); + return *this; +} + +NormalizedRect NormalizedRect::operator&(const NormalizedRect &r) const +{ + if (isNull() || r.isNull()) { + return NormalizedRect(); + } + + NormalizedRect ret; + ret.left = qMax(left, r.left); + ret.top = qMax(top, r.top); + ret.bottom = qMin(bottom, r.bottom); + ret.right = qMin(right, r.right); + return ret; +} + +NormalizedRect &NormalizedRect::operator=(const NormalizedRect &r) = default; + +bool NormalizedRect::operator==(const NormalizedRect &r) const +{ + return (isNull() && r.isNull()) || (fabs(left - r.left) < 1e-4 && fabs(right - r.right) < 1e-4 && fabs(top - r.top) < 1e-4 && fabs(bottom - r.bottom) < 1e-4); +} + +NormalizedPoint NormalizedRect::center() const +{ + return NormalizedPoint((left + right) / 2.0, (top + bottom) / 2.0); +} + +QRect NormalizedRect::geometry(int xScale, int yScale) const +{ + int l = (int)(left * xScale), t = (int)(top * yScale), r = (int)(right * xScale), b = (int)(bottom * yScale); + + return QRect(l, t, r - l + 1, b - t + 1); +} + +QRect NormalizedRect::roundedGeometry(int xScale, int yScale) const +{ + int l = (int)(left * xScale + 0.5), t = (int)(top * yScale + 0.5), r = (int)(right * xScale + 0.5), b = (int)(bottom * yScale + 0.5); + + return QRect(l, t, r - l + 1, b - t + 1); +} + +QRectF NormalizedRect::geometryF(float xScale, float yScale) const +{ + float l = (left * xScale), t = (top * yScale), r = (right * xScale), b = (bottom * yScale); + + return QRectF(l, t, r - l, b - t); +} + +void NormalizedRect::transform(const QTransform &matrix) +{ + QRectF rect(left, top, right - left, bottom - top); + rect = matrix.mapRect(rect); + + left = rect.left(); + top = rect.top(); + right = rect.right(); + bottom = rect.bottom(); +} + +size_t Okular::qHash(const NormalizedRect &r, size_t seed) +{ + return ::qHashMulti(seed, r.bottom, r.right, r.top, r.left); +} + +QDebug operator<<(QDebug debug, const Okular::NormalizedRect &r) +{ + QDebugStateSaver saver(debug); + debug.nospace() << "NormRect(" << r.left << "," << r.top << " x " << (r.right - r.left) << "+" << (r.bottom - r.top) << ")"; + return debug; +} + +RegularAreaRect::RegularAreaRect() + : RegularArea() + , d(nullptr) +{ +} + +RegularAreaRect::RegularAreaRect(const RegularAreaRect &rar) + : RegularArea(rar) + , d(nullptr) +{ +} + +RegularAreaRect::~RegularAreaRect() +{ +} + +RegularAreaRect &RegularAreaRect::operator=(const RegularAreaRect &rar) +{ + if (this != &rar) { + RegularArea::operator=(rar); + } + return *this; +} + +HighlightAreaRect::HighlightAreaRect(const RegularAreaRect &area, const QColor &color, int search_id) + : RegularAreaRect() + , s_id(search_id) + , color(color) +{ + reserve(area.size()); + for (const NormalizedRect &rect : area) { + append(rect); + } +} + +HighlightAreaRect::HighlightAreaRect(const RegularAreaRect *area) + : HighlightAreaRect(area ? *area : RegularAreaRect(), {}, INVALID_SEARCH_ID) +{ +} + +/** class ObjectRect **/ + +ObjectRect::ObjectRect(double l, double t, double r, double b, bool ellipse, ObjectType type, void *object) + : m_objectType(type) + , m_object(object) +{ + // assign coordinates swapping them if negative width or height + QRectF rect(r > l ? l : r, b > t ? t : b, fabs(r - l), fabs(b - t)); + if (ellipse) { + m_path.addEllipse(rect); + } else { + m_path.addRect(rect); + } + + m_transformedPath = m_path; +} + +ObjectRect::ObjectRect(const NormalizedRect &r, bool ellipse, ObjectType type, void *object) + : m_objectType(type) + , m_object(object) +{ + QRectF rect(r.left, r.top, fabs(r.right - r.left), fabs(r.bottom - r.top)); + if (ellipse) { + m_path.addEllipse(rect); + } else { + m_path.addRect(rect); + } + + m_transformedPath = m_path; +} + +ObjectRect::ObjectRect(const QPolygonF &poly, ObjectType type, void *object) + : m_objectType(type) + , m_object(object) +{ + m_path.addPolygon(poly); + + m_transformedPath = m_path; +} + +ObjectRect::ObjectType ObjectRect::objectType() const +{ + return m_objectType; +} + +const void *ObjectRect::object() const +{ + return m_object; +} + +const QPainterPath &ObjectRect::region() const +{ + return m_transformedPath; +} + +QRect ObjectRect::boundingRect(double xScale, double yScale) const +{ + const QRectF &br = m_transformedPath.boundingRect(); + + return QRect((int)(br.left() * xScale), (int)(br.top() * yScale), (int)(br.width() * xScale), (int)(br.height() * yScale)); +} + +bool ObjectRect::contains(double x, double y, double, double) const +{ + return m_transformedPath.contains(QPointF(x, y)); +} + +void ObjectRect::transform(const QTransform &matrix) +{ + m_transformedPath = matrix.map(m_path); +} + +double ObjectRect::distanceSqr(double x, double y, double xScale, double yScale) const +{ + switch (m_objectType) { + case Action: + case Image: { + const QRectF &rect(m_transformedPath.boundingRect()); + return NormalizedRect(rect.x(), rect.y(), rect.right(), rect.bottom()).distanceSqr(x, y, xScale, yScale); + } + case OAnnotation: { + return static_cast(m_object)->d_func()->distanceSqr(x, y, xScale, yScale); + } + case SourceRef: { + const SourceRefObjectRect *sr = static_cast(this); + const NormalizedPoint &point = sr->m_point; + if (point.x == -1.0) { + return pow((y - point.y) * yScale, 2); + } else if (point.y == -1.0) { + return pow((x - point.x) * xScale, 2); + } else { + return pow((x - point.x) * xScale, 2) + pow((y - point.y) * yScale, 2); + } + } + } + return 0.0; +} + +ObjectRect::~ObjectRect() +{ + if (!m_object) { + return; + } + + if (m_objectType == Action) { + delete static_cast(m_object); + } else if (m_objectType == SourceRef) { + delete static_cast(m_object); + } else { + qCDebug(OkularCoreDebug).nospace() << "Object deletion not implemented for type '" << m_objectType << "'."; + } +} + +/** class AnnotationObjectRect **/ + +AnnotationObjectRect::AnnotationObjectRect(Annotation *annotation) + : ObjectRect(QPolygonF(), OAnnotation, annotation) + , m_annotation(annotation) +{ +} + +Annotation *AnnotationObjectRect::annotation() const +{ + return m_annotation; +} + +QRect AnnotationObjectRect::boundingRect(double xScale, double yScale) const +{ + const QRect annotRect = AnnotationUtils::annotationGeometry(m_annotation, xScale, yScale); + const QPoint center = annotRect.center(); + + // Make sure that the rectangle has a minimum size, so that it's possible + // to click on it + const int minSize = 14; + const QRect minRect(center.x() - minSize / 2, center.y() - minSize / 2, minSize, minSize); + + return annotRect | minRect; +} + +bool AnnotationObjectRect::contains(double x, double y, double xScale, double yScale) const +{ + return boundingRect(xScale, yScale).contains((int)(x * xScale), (int)(y * yScale), false); +} + +AnnotationObjectRect::~AnnotationObjectRect() +{ + // the annotation pointer is kept elsewhere (in Page, most probably) + // so just release its pointer + m_object = nullptr; +} + +void AnnotationObjectRect::transform(const QTransform &matrix) +{ + m_annotation->d_func()->annotationTransform(matrix); +} + +/** class SourceRefObjectRect **/ + +SourceRefObjectRect::SourceRefObjectRect(const NormalizedPoint &point, void *srcRef) + : ObjectRect(point.x, point.y, .0, .0, false, SourceRef, srcRef) + , m_point(point) +{ + const double x = m_point.x < 0.0 ? 0.5 : m_point.x; + const double y = m_point.y < 0.0 ? 0.5 : m_point.y; + const QRectF rect(x - 2, y - 2, 5, 5); + m_path.addRect(rect); + + m_transformedPath = m_path; +} + +QRect SourceRefObjectRect::boundingRect(double xScale, double yScale) const +{ + const double x = m_point.x < 0.0 ? 0.5 : m_point.x; + const double y = m_point.y < 0.0 ? 0.5 : m_point.y; + + return QRect(x * xScale, y * yScale, 1, 1); +} + +bool SourceRefObjectRect::contains(double x, double y, double xScale, double yScale) const +{ + return distanceSqr(x, y, xScale, yScale) < (pow(7.0 / xScale, 2) + pow(7.0 / yScale, 2)); +} + +/** class NonOwningObjectRect **/ + +NonOwningObjectRect::NonOwningObjectRect(double left, double top, double right, double bottom, bool ellipse, ObjectType type, void *object) + : ObjectRect(left, top, right, bottom, ellipse, type, object) +{ +} + +NonOwningObjectRect::~NonOwningObjectRect() +{ + // Set m_object so that ~ObjectRect() doesn't delete it + m_object = nullptr; +} diff --git a/core/area.h b/core/area.h new file mode 100644 index 0000000..67aef52 --- /dev/null +++ b/core/area.h @@ -0,0 +1,995 @@ +/* + SPDX-FileCopyrightText: 2004-05 Enrico Ros + SPDX-FileCopyrightText: 2005 Piotr Szymanski + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_AREA_H_ +#define _OKULAR_AREA_H_ + +#include + +#include +#include +#include +#include +#include + +#include "global.h" +#include "okularcore_export.h" + +class QPolygonF; +class QRect; + +namespace Okular +{ +class Annotation; +class Action; +class NormalizedShape; + +/** + * NormalizedPoint is a helper class which stores the coordinates + * of a normalized point. + * + * @par Normalized Coordinate System + * @parblock + * Normalized means that the coordinates are always between 0 and 1, + * unless the point shall be outside of the reference area. + * + * The reference area is a rectangle, and all normalized points + * with coordinates of 0 or 1 describe its edges. + * + * This allows to locate things on a reference area without knowing its + * (current or future) actual size. When the reference area is resized, + * all things which are described in normalized coordinates keep their + * proportional position on the area. + * @endparblock + * + * @par Transformation to and from Normalized Coordinates + * @parblock + * To transform normalized coordinates to coordinates on the reference area, + * just multiply them with the size of the reference area. + * + * To get normalized coordinates from a point on the reference area, + * just divide its coordinates with the size of the reference area. + * + * Many methods have parameters @c xScale and @c yScale, + * these are equal to the size of the reference area. + * @endparblock + * + * @par Normalized Coordinate System Applied to Pages + * @parblock + * Okular uses a normalized coordinate system mainly to describe + * positions on pages. + * This is useful because pages can be shown in different sizes (zoom), + * but all objects shall keep their proportional position on the page. + * + * Okular maps from page to normalized coordinates as follows: + * * Left edge of the page: x = 0 + * * Right edge of the page: x = 1 + * * Top edge of the page: y = 0 + * * Bottom edge of the page: y = 1 + * @endparblock + * + * @par Example: Draw a Point on a Page + * @parblock + * The point is given in normalized coordinates (0.5, 0.3). + * + * If you want to draw it on a 800x600 page, + * just multiply the x coordinate (0.5) with the page width (800), + * and the y coordinate (0.3) with the page height (600). + * So, the point will be drawn on the page at (400, 180). + * + * That allows you to zoom the page by just multiplying the normalized points with the + * zoomed page size. + * @endparblock + * + * @par Example: Select Text on a Page using Mouse Events + * @parblock + * The position of all glyphs and words is stored in normalized coordinates. + * (This is what TextPage actually does.) + * Mouse press and release events are given in page coordinates (400, 180) and (600, 450), + * while the page has a size of 800x600. + * + * If you want to search all text between the mouse click and release event, + * you need their normalized coordinates. + * Just divide the x coordinates (400 and 600) by the page width (800), + * and the y coordinates (180 and 450) by the page height (600). + * So, you have to search for all glyphs between (0.5, 0.3) and (0.75, 0.75). + * + * That allows you to process all glyphs and words without + * having to keep any of their positions in sync with the page. + * @endparblock + * + * @par Geometric operations + * @parblock + * NormalizedPoint supports basic geometric operations. + * * You can transform it with a QTransform matrix. + * * With the size of the reference area, you can calculate the squared + * absolute distance to another NormalizedPoint or a line of two NormalizedPoints. + * + * NormalizedRect provides additional geometric operations for rectangles. + * @endparblock + * + * @see NormalizedRect + */ +class OKULARCORE_EXPORT NormalizedPoint +{ +public: + /** + * Creates a normalized point at (0, 0). + */ + NormalizedPoint(); + + /** + * Creates a new normalized point with the normalized coordinates (@p x, @p y ). + */ + NormalizedPoint(double x, double y); + + /** + * Creates a new normalized point from an absolute point (@p x, @p y) + * on a reference area of size @p xScale x @p yScale. + */ + NormalizedPoint(int x, int y, int xScale, int yScale); + + /** + * @internal + */ + NormalizedPoint &operator=(const NormalizedPoint &); + + NormalizedPoint(const NormalizedPoint &); + ~NormalizedPoint() = default; + + /** + * Transforms the normalized point with the operations defined by @p matrix. + */ + void transform(const QTransform &matrix); + + /** + * Returns squared distance to normalized point (@p x, @p y) + * on a reference area of size @p xScale x @p yScale. + * @since 0.17 (KDE 4.11) + */ + double distanceSqr(double x, double y, double xScale, double yScale) const; + + /** + * Returns squared distance of the normalized point (@p x, @p y) + * to the line segment from @p start to @p end + * on a reference area of size @p xScale x @p yScale. + * @since 0.17 (KDE 4.11) + */ + static double distanceSqr(double x, double y, double xScale, double yScale, const NormalizedPoint &start, const NormalizedPoint &end); + + /** + * The normalized x coordinate. + */ + double x; + + /** + * The normalized y coordinate. + */ + double y; +}; + +/** + * A NormalizedRect is a rectangle which can be defined by two NormalizedPoints. + * + * It describes a rectangular area on a reference area of undefined size. + * For more information about the normalized coordinate system, see NormalizedPoint. + * + * In Okular, NormalizedRect can be used e. g. to describe bounding boxes of TextEntity objects, + * and the highlight area of text selections. + * + * If you need to describe an area which consists of multiple rectangles, + * you can use RegularAreaRect instead. + * + * @see NormalizedPoint, RegularAreaRect, TextEntity + */ +class OKULARCORE_EXPORT NormalizedRect +{ +public: + /** + * Creates a null normalized rectangle. + * @see isNull() + */ + NormalizedRect(); + + /** + * Creates a normalized rectangle with the normalized coordinates + * @p left, @p top, @p right, @p bottom. + * + * If you need the x, y, width and height coordinates use the + * following formulas: + * + * @li x = left + * @li y = top + * @li width = right - left + * @li height = bottom - top + * + * @note + * The coordinates for @p left and @p top should be lower than + * @p right and @p bottom, respectively. + * At negative width or height the behaviour of some operations is undefined. + */ + NormalizedRect(double left, double top, double right, double bottom); + + /** + * Creates a normalized rectangle from the given @p rectangle + * on a reference area of size @p xScale x @p yScale. + * + * @note + * The rectangle should have positive width and height. + * You can use e. g. QRect::normalize() to ensure this. + * At negative width or height the behaviour of some operations is undefined. + */ + NormalizedRect(const QRect rectangle, double xScale, double yScale); + + /** + * @internal + */ + NormalizedRect(const NormalizedRect &); + + /** + * @internal + */ + NormalizedRect &operator=(const NormalizedRect &other); + + ~NormalizedRect() = default; + + /** + * Build a normalized rect from a QRectF, which already has normalized coordinates. + */ + static NormalizedRect fromQRectF(const QRectF &rect); + + /** + * Returns whether this normalized rectangle is a null normalized rect. + */ + bool isNull() const; + + /** + * Returns whether the normalized rectangle contains the normalized point + * (@p x, @p y). + */ + bool contains(double x, double y) const; + + /** + * Returns whether the normalized rectangle intersects the @p other normalized + * rectangle. + */ + bool intersects(const NormalizedRect &other) const; + + /** + * This is an overloaded member function, provided for convenience. It behaves essentially + * like the above function. + * + * @deprecated use intersects(const NormalizedRect &other) + */ + OKULARCORE_DEPRECATED bool intersects(const NormalizedRect *other) const; + + /** + * Returns whether the normalized rectangle intersects an other normalized + * rectangle, which is defined by @p left, @p top, @p right and @p bottom. + * + * @deprecated use intersects(const NormalizedRect &other) + */ + OKULARCORE_DEPRECATED bool intersects(double left, double top, double right, double bottom) const; + + /** + * Returns the rectangle mapped to a reference area of @p xScale x @p yScale. + */ + QRect geometry(int xScale, int yScale) const; + + /** + * Same functionality as geometry, but the output is now rounded before typecasting to int + * + * @since 0.14 (KDE 4.8) + */ + QRect roundedGeometry(int xScale, int yScale) const; + + /** + * Same functionality as geometry, but nothing is converted into int. + */ + QRectF geometryF(float xScale, float yScale) const; + + /** + * Returns the normalized bounding rectangle of the normalized rectangle + * combined with the @p other normalized rectangle. + */ + NormalizedRect operator|(const NormalizedRect &other) const; + + /** + * Sets the normalized rectangle to the normalized bounding rectangle + * of itself combined with the @p other normalized rectangle. + */ + NormalizedRect &operator|=(const NormalizedRect &other); + + /** + * Returns the intersection of this normalized rectangle with the specified + * @p other. If the rects do not intersect then the result is a null rectangle. + * + * @since 0.7 (KDE 4.1) + */ + NormalizedRect operator&(const NormalizedRect &other) const; + + /** + * Returns whether the normalized rectangle is equal to the @p other + * normalized rectangle. + */ + bool operator==(const NormalizedRect &other) const; + + /** + * Returns the center of the rectangle + * @since 0.10 (KDE 4.4) + */ + NormalizedPoint center() const; + + /** + * Transforms the normalized rectangle with the operations defined by @p matrix. + */ + void transform(const QTransform &matrix); + + /** + * Returns true if the point @p pt is located below the bottom of the rectangle + * @since 0.14 (KDE 4.8) + */ + bool isBottom(const NormalizedPoint &pt) const + { + return bottom < pt.y; + } + + /** + * Returns true if the point @p pt is located above the top of the rectangle + * @since 0.14 (KDE 4.8) + */ + bool isTop(const NormalizedPoint &pt) const + { + return top > pt.y; + } + + /** + * Returns true if the point @p pt is located below the top of the rectangle + * @since 0.14 (KDE 4.8) + */ + bool isBottomOrLevel(const NormalizedPoint &pt) const + { + return top < pt.y; + } + + /** + * Returns true if the point @p pt is located above the bottom of the rectangle + * @since 0.14 (KDE 4.8) + */ + bool isTopOrLevel(const NormalizedPoint &pt) const + { + return bottom > pt.y; + } + + /** + * Returns true if the point @p pt is located to the right of the left edge of the rectangle + * @since 0.14 (KDE 4.8) + */ + bool isLeft(const NormalizedPoint &pt) const + { + return left < pt.x; + } + + /** + * Returns true if the point @p pt is located to the left of the right edge of the rectangle + * @since 0.14 (KDE 4.8) + */ + bool isRight(const NormalizedPoint &pt) const + { + return right > pt.x; + } + + /** + * Returns the squared distance of the normalized point (@p x, @p y) + * to the closest edge, or 0 if the point is within the rectangle; + * using a reference area of size @p xScale x @p yScale + * @since 0.17 (KDE 4.11) + */ + double distanceSqr(double x, double y, double xScale, double yScale) const + { + double distX = 0; + if (x < left) { + distX = left - x; + } else if (x > right) { + distX = x - right; + } + + double distY = 0; + if (top > y) { + distY = top - y; + } else if (bottom < y) { + distY = y - bottom; + } + return pow(distX * xScale, 2) + pow(distY * yScale, 2); + } + + /// @since 1.4 + double width() const + { + return right - left; + } + + /// @since 1.4 + double height() const + { + return bottom - top; + } + + /** + * The normalized left coordinate. + */ + double left; + + /** + * The normalized top coordinate. + */ + double top; + + /** + * The normalized right coordinate. + */ + double right; + + /** + * The normalized bottom coordinate. + */ + double bottom; +}; +// KDE_DUMMY_QHASH_FUNCTION(NormalizedRect) + +/** + * @short An area with normalized coordinates that contains a reference to an object. + * + * These areas ("rects") contain a pointer to a document object + * (such as a hyperlink, an action, or something like that). + * The pointer is read and stored as 'void pointer' so cast is + * performed by accessors based on the value returned by objectType(). Objects + * are reparented to this class. + * + * Type / Class correspondence tab: + * - Action : class Action: description of an action + * - Image : class Image : description of an image (n/a) + * - Annotation: class Annotation: description of an annotation + * + * For more information about the normalized coordinate system, see NormalizedPoint. + * + * @see NormalizedPoint + */ +class OKULARCORE_EXPORT ObjectRect +{ +public: + /** + * Describes the type of storable object. + */ + enum ObjectType { + Action, ///< An action + Image, ///< An image + OAnnotation, ///< An annotation + SourceRef ///< A source reference + }; + + /** + * Creates a new object rectangle. + * + * @param left The left coordinate of the rectangle. + * @param top The top coordinate of the rectangle. + * @param right The right coordinate of the rectangle. + * @param bottom The bottom coordinate of the rectangle. + * @param ellipse If true the rectangle describes an ellipse. + * @param type The type of the storable object @see ObjectType. + * @param object The pointer to the storable object. + */ + ObjectRect(double left, double top, double right, double bottom, bool ellipse, ObjectType type, void *object); + + /** + * This is an overloaded member function, provided for convenience. + */ + ObjectRect(const NormalizedRect &r, bool ellipse, ObjectType type, void *object); + + /** + * This is an overloaded member function, provided for convenience. + */ + ObjectRect(const QPolygonF &poly, ObjectType type, void *object); + + /** + * Destroys the object rectangle. + */ + virtual ~ObjectRect(); + + ObjectRect(const ObjectRect &o) = delete; + ObjectRect &operator=(const ObjectRect &o) = delete; + + /** + * Returns the object type of the object rectangle. + * @see ObjectType + */ + ObjectType objectType() const; + + /** + * Returns the storable object of the object rectangle. + */ + const void *object() const; + + /** + * Returns the region that is covered by the object rectangle. + */ + const QPainterPath ®ion() const; + + /** + * Returns the bounding rect of the object rectangle for the + * scaling factor @p xScale and @p yScale. + */ + virtual QRect boundingRect(double xScale, double yScale) const; + + /** + * Returns whether the object rectangle contains the point with absolute coordinates + * (@p x, @p y) at a page size of @p xScale x @p yScale. + */ + virtual bool contains(double x, double y, double xScale, double yScale) const; + + /** + * Transforms the object rectangle with the operations defined by @p matrix. + */ + virtual void transform(const QTransform &matrix); + + /** + * Returns the squared distance between the object + * and the point with + * normalized coordinates (@p x, @p y) + * at a page size of @p xScale x @p yScale. + * + * @since 0.8.2 (KDE 4.2.2) + */ + // FIXME this should most probably be a virtual method + double distanceSqr(double x, double y, double xScale, double yScale) const; + +protected: + ObjectType m_objectType; + void *m_object; + QPainterPath m_path; + QPainterPath m_transformedPath; +}; + +/** + * This class describes the object rectangle for an annotation. + */ +class OKULARCORE_EXPORT AnnotationObjectRect : public ObjectRect +{ +public: + /** + * Creates a new annotation object rectangle with the + * given @p annotation. + */ + explicit AnnotationObjectRect(Annotation *annotation); + + /** + * Destroys the annotation object rectangle. + */ + ~AnnotationObjectRect() override; + + /** + * Returns the annotation object of the annotation object rectangle. + */ + Annotation *annotation() const; + + /** + * Returns the bounding rect of the annotation object rectangle for the + * scaling factor @p xScale and @p yScale. + */ + QRect boundingRect(double xScale, double yScale) const override; + + /** + * Returns whether the annotation object rectangle contains the point @p x, @p y for the + * scaling factor @p xScale and @p yScale. + */ + bool contains(double x, double y, double xScale, double yScale) const override; + + /** + * Transforms the annotation object rectangle with the operations defined by @p matrix. + */ + void transform(const QTransform &matrix) override; + +private: + Annotation *m_annotation; +}; + +/** + * This class describes the object rectangle for a source reference. + */ +class OKULARCORE_EXPORT SourceRefObjectRect : public ObjectRect +{ + friend class ObjectRect; + +public: + /** + * Creates a new source reference object rectangle. + * + * @param point The point of the source reference. + * @param srcRef The storable source reference object. + */ + SourceRefObjectRect(const NormalizedPoint &point, void *srcRef); + + /** + * Returns the bounding rect of the source reference object rectangle for the + * scaling factor @p xScale and @p yScale. + */ + QRect boundingRect(double xScale, double yScale) const override; + + /** + * Returns whether the source reference object rectangle contains the point @p x, @p y for the + * scaling factor @p xScale and @p yScale. + */ + bool contains(double x, double y, double xScale, double yScale) const override; + +private: + NormalizedPoint m_point; +}; + +/** + * This class is an object rect that doesn't own the given pointer, i.e. won't delete it on destruction + * @since 1.7 + */ +class OKULARCORE_EXPORT NonOwningObjectRect : public ObjectRect +{ +public: + NonOwningObjectRect(double left, double top, double right, double bottom, bool ellipse, ObjectType type, void *object); + ~NonOwningObjectRect() override; +}; + +/// @cond PRIVATE +/** @internal */ +/** @internal */ +template T *givePtr(T &t) +{ + return &t; +} +/// @endcond + +/** + * @short An area with normalized coordinates, consisting of NormalizedShape objects. + * + * This is a template class to describe an area which consists of + * multiple shapes of the same type, intersecting or non-intersecting. + * The coordinates are normalized, and can be mapped to a reference area of defined size. + * For more information about the normalized coordinate system, see NormalizedPoint. + * + * Class NormalizedShape \b must have the following functions/operators defined: + * - bool contains( double, double ), whether it contains the given NormalizedPoint + * - bool intersects( NormalizedShape ) + * - bool isNull() + * - Shape geometry( int, int ), which maps to the reference area + * - operator|=( NormalizedShape ), which unites two NormalizedShape's + * + * @see RegularAreaRect, NormalizedPoint + */ +template class RegularArea : public QList +{ +public: + /** + * Returns whether this area contains the normalized point (@p x, @p y). + */ + bool contains(double x, double y) const; + + /** + * Returns whether this area contains a NormalizedShape object that equals @p shape. + * + * @note + * The original NormalizedShape objects can be lost if simplify() was called. + */ + bool contains(const NormalizedShape &shape) const; + + /** + * Returns whether this area intersects with the given @p area. + */ + bool intersects(const RegularArea *area) const; + + /** + * Returns whether the regular area intersects with the given @p shape. + */ + bool intersects(const NormalizedShape &shape) const; + + /** + * Appends the given @p area to this area. + */ + void appendArea(const RegularArea *area); + + /** + * Appends the given @p shape to this area. + */ + void appendShape(const NormalizedShape &shape, MergeSide side = MergeAll); + + /** + * Simplifies this regular area by merging its intersecting subareas. + * This might change the effective geometry of this area. + */ + void simplify(); + + /** + * Returns whether the regular area is a null area. + */ + bool isNull() const; + + /** + * Returns the subareas of this regular area + * mapped to a reference area of size @p xScale x @p yScale, + * then translated by @p dx and @p dy. + */ + QList geometry(int xScale, int yScale, int dx = 0, int dy = 0) const; + + /** + * Transforms the regular area with the operations defined by @p matrix. + */ + void transform(const QTransform &matrix); +}; + +template void RegularArea::simplify() +{ +#ifdef DEBUG_REGULARAREA + int prev_end = this->count(); +#endif + int end = this->count() - 1, x = 0; + for (int i = 0; i < end; ++i) { + if (givePtr((*this)[x])->intersects((*this)[i + 1])) { + (*this)[x] |= (*this)[i + 1]; + this->removeAt(i + 1); + --end; + --i; + } else { + x = i + 1; + } + } +#ifdef DEBUG_REGULARAREA + qCDebug(OkularCoreDebug) << "from" << prev_end << "to" << this->count(); +#endif +} + +template bool RegularArea::isNull() const +{ + if (this->isEmpty()) { + return true; + } + + typename QList::const_iterator it = this->begin(), itEnd = this->end(); + for (; it != itEnd; ++it) { + if (!givePtr(*it)->isNull()) { + return false; + } + } + + return true; +} + +template bool RegularArea::intersects(const NormalizedShape &shape) const +{ + if (this->isEmpty()) { + return false; + } + + typename QList::const_iterator it = this->begin(), itEnd = this->end(); + for (; it != itEnd; ++it) { + if (!givePtr(*it)->isNull() && givePtr(*it)->intersects(shape)) { + return true; + } + } + + return false; +} + +template bool RegularArea::intersects(const RegularArea *area) const +{ + if (this->isEmpty()) { + return false; + } + + typename QList::const_iterator it = this->begin(), itEnd = this->end(); + for (; it != itEnd; ++it) { + typename QList::const_iterator areaIt = area->begin(), areaItEnd = area->end(); + for (; areaIt != areaItEnd; ++areaIt) { + if (!(*it).isNull() && (*it).intersects(*areaIt)) { + return true; + } + } + } + + return false; +} + +template void RegularArea::appendArea(const RegularArea *area) +{ + typename QList::const_iterator areaIt = area->begin(), areaItEnd = area->end(); + for (; areaIt != areaItEnd; ++areaIt) { + this->append(*areaIt); + } +} + +template void RegularArea::appendShape(const NormalizedShape &shape, MergeSide side) +{ + int size = this->count(); + // if the list is empty, adds the shape normally + if (size == 0) { + this->append(shape); + } else { + bool intersection = false; + NormalizedShape &last = (*this)[size - 1]; +#define O_LAST givePtr(last) +#define O_LAST_R O_LAST->right +#define O_LAST_L O_LAST->left +#define O_LAST_T O_LAST->top +#define O_LAST_B O_LAST->bottom +#define O_NEW givePtr(shape) +#define O_NEW_R O_NEW->right +#define O_NEW_L O_NEW->left +#define O_NEW_T O_NEW->top +#define O_NEW_B O_NEW->bottom + switch (side) { + case MergeRight: + intersection = (O_LAST_R >= O_NEW_L) && (O_LAST_L <= O_NEW_R) && ((O_LAST_T <= O_NEW_T && O_LAST_B >= O_NEW_B) || (O_LAST_T >= O_NEW_T && O_LAST_B <= O_NEW_B)); + break; + case MergeBottom: + intersection = (O_LAST_B >= O_NEW_T) && (O_LAST_T <= O_NEW_B) && ((O_LAST_R <= O_NEW_R && O_LAST_L >= O_NEW_L) || (O_LAST_R >= O_NEW_R && O_LAST_L <= O_NEW_L)); + break; + case MergeLeft: + intersection = (O_LAST_L <= O_NEW_R) && (O_LAST_R >= O_NEW_L) && ((O_LAST_T <= O_NEW_T && O_LAST_B >= O_NEW_B) || (O_LAST_T >= O_NEW_T && O_LAST_B <= O_NEW_B)); + break; + case MergeTop: + intersection = (O_LAST_T <= O_NEW_B) && (O_LAST_B >= O_NEW_T) && ((O_LAST_R <= O_NEW_R && O_LAST_L >= O_NEW_L) || (O_LAST_R >= O_NEW_R && O_LAST_L <= O_NEW_L)); + break; + case MergeAll: + intersection = O_LAST->intersects(shape); + break; + } +#undef O_LAST +#undef O_LAST_R +#undef O_LAST_L +#undef O_LAST_T +#undef O_LAST_B +#undef O_NEW +#undef O_NEW_R +#undef O_NEW_L +#undef O_NEW_T +#undef O_NEW_B + // if the new shape intersects with the last shape in the list, then + // merge it with that and delete the shape + if (intersection) { + (*this)[size - 1] |= shape; + } else { + this->append(shape); + } + } +} + +template bool RegularArea::contains(double x, double y) const +{ + if (this->isEmpty()) { + return false; + } + + typename QList::const_iterator it = this->begin(), itEnd = this->end(); + for (; it != itEnd; ++it) { + if ((*it).contains(x, y)) { + return true; + } + } + + return false; +} + +template bool RegularArea::contains(const NormalizedShape &shape) const +{ + if (this->isEmpty()) { + return false; + } + + return QList::contains(shape); +} + +template QList RegularArea::geometry(int xScale, int yScale, int dx, int dy) const +{ + if (this->isEmpty()) { + return QList(); + } + + QList ret; + Shape t; + typename QList::const_iterator it = this->begin(), itEnd = this->end(); + for (; it != itEnd; ++it) { + t = givePtr(*it)->geometry(xScale, yScale); + t.translate(dx, dy); + ret.append(t); + } + + return ret; +} + +template void RegularArea::transform(const QTransform &matrix) +{ + if (this->isEmpty()) { + return; + } + + for (int i = 0; i < this->count(); ++i) { + givePtr((*this)[i])->transform(matrix); + } +} + +/** + * This is a list of NormalizedRect, to describe an area consisting of + * multiple rectangles using normalized coordinates. + * + * This area can be mapped to a reference area, resulting in a list of QRects. + * For more information about the normalized coordinate system, see NormalizedPoint. + * + * Okular uses this area e. g. to describe a text highlight area, + * which consists of multiple, intersecting or non-intersecting rectangles. + * + * @see NormalizedRect, NormalizedPoint + */ +class OKULARCORE_EXPORT RegularAreaRect : public RegularArea +{ +public: + RegularAreaRect(); + RegularAreaRect(const RegularAreaRect &rar); + ~RegularAreaRect(); + + RegularAreaRect &operator=(const RegularAreaRect &rar); + +private: + class Private; + Private *const d; +}; + +/** + * This class stores the geometry of a highlighting area in normalized coordinates, + * together with highlighting specific information. + */ +class HighlightAreaRect : public RegularAreaRect +{ +public: + /** + * Creates a new highlight area rect with the coordinates of + * the given @p area, @p color and @p search_id. + * + * @since 25.12 + */ + explicit HighlightAreaRect(const RegularAreaRect &area, const QColor &color, int search_id = INVALID_SEARCH_ID); + + /** + * Creates a new highlight area rect with the coordinates of + * the given @p area. + * + * @deprecated use HighlightAreaRect(const RegularAreaRect &area, const QColor &color, int id) + */ + OKULARCORE_DEPRECATED explicit HighlightAreaRect(const RegularAreaRect *area = nullptr); + + static constexpr int INVALID_SEARCH_ID = -1; + + /** + * The search ID of the highlight owner. + */ + int s_id; + + /** + * The color of the highlight. + */ + QColor color; +}; + +size_t qHash(const Okular::NormalizedRect &r, size_t seed = 0); +} + +#ifndef QT_NO_DEBUG_STREAM +/** + * Debug operator for normalized @p point. + */ +OKULARCORE_EXPORT QDebug operator<<(QDebug debug, const Okular::NormalizedPoint &point); + +/** + * Debug operator for normalized @p rect. + */ +OKULARCORE_EXPORT QDebug operator<<(QDebug debug, const Okular::NormalizedRect &rect); +#endif + +#endif diff --git a/core/audioplayer.cpp b/core/audioplayer.cpp new file mode 100644 index 0000000..7bc61ed --- /dev/null +++ b/core/audioplayer.cpp @@ -0,0 +1,345 @@ +/* + SPDX-FileCopyrightText: 2007 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "audioplayer.h" + +// qt/kde includes +#include +#include +#include +#include +#include + +#include "config-okular.h" + +#if HAVE_PHONON +#include +#include +#include +#include +#endif + +// local includes +#include "action.h" +#include "debug_p.h" +#include "document.h" +#include "sound.h" +#include + +using namespace Okular; + +#if HAVE_PHONON + +class PlayData; +class SoundInfo; + +namespace Okular +{ +class AudioPlayerPrivate +{ +public: + explicit AudioPlayerPrivate(AudioPlayer *qq); + + ~AudioPlayerPrivate(); + + int newId() const; + bool play(const SoundInfo &si); + void stopPlayings(); + + void finished(int); + + AudioPlayer *q; + + QHash m_playing; + QUrl m_currentDocument; + AudioPlayer::State m_state; +}; +} + +// helper class used to store info about a sound to be played +class SoundInfo +{ +public: + explicit SoundInfo(const Sound *s = nullptr, const SoundAction *ls = nullptr) + : sound(s) + , volume(0.5) + , synchronous(false) + , repeat(false) + , mix(false) + { + if (ls) { + volume = ls->volume(); + synchronous = ls->synchronous(); + repeat = ls->repeat(); + mix = ls->mix(); + } + } + + const Sound *sound; + double volume; + bool synchronous; + bool repeat; + bool mix; +}; + +class PlayData +{ +public: + PlayData() + : m_mediaobject(nullptr) + , m_output(nullptr) + , m_buffer(nullptr) + { + } + + void play() + { + if (m_buffer) { + m_buffer->open(QIODevice::ReadOnly); + } + m_mediaobject->play(); + } + + ~PlayData() + { + m_mediaobject->stop(); + delete m_mediaobject; + delete m_output; + delete m_buffer; + } + + PlayData(const PlayData &) = delete; + PlayData &operator=(const PlayData &) = delete; + + Phonon::MediaObject *m_mediaobject; + Phonon::AudioOutput *m_output; + QBuffer *m_buffer; + SoundInfo m_info; +}; + +AudioPlayerPrivate::AudioPlayerPrivate(AudioPlayer *qq) + : q(qq) + , m_state(AudioPlayer::StoppedState) +{ +} + +AudioPlayerPrivate::~AudioPlayerPrivate() +{ + stopPlayings(); +} + +int AudioPlayerPrivate::newId() const +{ + auto random = QRandomGenerator::global(); + int newid = 0; + QHash::const_iterator it; + QHash::const_iterator itEnd = m_playing.constEnd(); + do { + newid = random->bounded(RAND_MAX); + it = m_playing.constFind(newid); + } while (it != itEnd); + return newid; +} + +bool AudioPlayerPrivate::play(const SoundInfo &si) +{ + qCDebug(OkularCoreDebug); + PlayData *data = new PlayData(); + data->m_output = new Phonon::AudioOutput(Phonon::NotificationCategory); + data->m_output->setVolume(si.volume); + data->m_mediaobject = new Phonon::MediaObject(); + Phonon::createPath(data->m_mediaobject, data->m_output); + data->m_info = si; + bool valid = false; + + switch (si.sound->soundType()) { + case Sound::External: { + QString url = si.sound->url(); + qCDebug(OkularCoreDebug) << "External," << url; + if (!url.isEmpty()) { + int newid = newId(); + QObject::connect(data->m_mediaobject, &Phonon::MediaObject::finished, q, [this, newid]() { finished(newid); }); + const QUrl newurl = QUrl::fromUserInput(url, m_currentDocument.adjusted(QUrl::RemoveFilename).toLocalFile()); + data->m_mediaobject->setCurrentSource(newurl); + m_playing.insert(newid, data); + valid = true; + } + break; + } + case Sound::Embedded: { + QByteArray filedata = si.sound->data(); + qCDebug(OkularCoreDebug) << "Embedded," << filedata.length(); + if (!filedata.isEmpty()) { + qCDebug(OkularCoreDebug) << "Mediaobject:" << data->m_mediaobject; + int newid = newId(); + QObject::connect(data->m_mediaobject, &Phonon::MediaObject::finished, q, [this, newid]() { finished(newid); }); + data->m_buffer = new QBuffer(); + data->m_buffer->setData(filedata); + data->m_mediaobject->setCurrentSource(Phonon::MediaSource(data->m_buffer)); + m_playing.insert(newid, data); + valid = true; + } + break; + } + } + if (!valid) { + delete data; + data = nullptr; + } + if (data) { + qCDebug(OkularCoreDebug) << "PLAY"; + data->play(); + m_state = AudioPlayer::PlayingState; + } + return valid; +} + +void AudioPlayerPrivate::stopPlayings() +{ + qDeleteAll(m_playing); + m_playing.clear(); + m_state = AudioPlayer::StoppedState; +} + +void AudioPlayerPrivate::finished(int id) +{ + QHash::iterator it = m_playing.find(id); + if (it == m_playing.end()) { + return; + } + + SoundInfo si = it.value()->m_info; + // if the sound must be repeated indefinitely, then start the playback + // again, otherwise destroy the PlayData as it's no more useful + if (si.repeat) { + it.value()->play(); + } else { + delete it.value(); + m_playing.erase(it); + m_state = AudioPlayer::StoppedState; + } + qCDebug(OkularCoreDebug) << "finished," << m_playing.count(); +} + +AudioPlayer::AudioPlayer() + : QObject() + , d(new AudioPlayerPrivate(this)) +{ +} + +AudioPlayer::~AudioPlayer() +{ + delete d; +} + +AudioPlayer *AudioPlayer::instance() +{ + static AudioPlayer ap; + return ≈ +} + +void AudioPlayer::playSound(const Sound *sound, const SoundAction *linksound) +{ + // we can't play null pointers ;) + if (!sound) { + return; + } + + // we don't play external sounds for remote documents + if (sound->soundType() == Sound::External && !d->m_currentDocument.isLocalFile()) { + return; + } + + qCDebug(OkularCoreDebug); + SoundInfo si(sound, linksound); + + // if the mix flag of the new sound is false, then the currently playing + // sounds must be stopped. + if (!si.mix) { + d->stopPlayings(); + } + + d->play(si); +} + +void AudioPlayer::stopPlaybacks() +{ + d->stopPlayings(); +} + +AudioPlayer::State AudioPlayer::state() const +{ + return d->m_state; +} + +void AudioPlayer::resetDocument() +{ + d->m_currentDocument = {}; +} + +void AudioPlayer::setDocument(const QUrl &url, Okular::Document *document) +{ + Q_UNUSED(document); + d->m_currentDocument = url; +} + +#else + +namespace Okular +{ +class AudioPlayerPrivate +{ +public: + Document *document; +}; +} + +AudioPlayer::AudioPlayer() + : d(new AudioPlayerPrivate()) +{ +} + +AudioPlayer *AudioPlayer::instance() +{ + static AudioPlayer ap; + return ≈ +} + +void AudioPlayer::playSound(const Sound *sound, const SoundAction *linksound) +{ + Q_UNUSED(sound); + Q_UNUSED(linksound); + Q_EMIT d->document->warning(i18n("This Okular is built without audio support"), 2000); +} + +AudioPlayer::State Okular::AudioPlayer::state() const +{ + return State::StoppedState; +} + +void AudioPlayer::stopPlaybacks() +{ +} + +AudioPlayer::~AudioPlayer() noexcept +{ + delete d; +} + +void AudioPlayer::resetDocument() +{ + d->document = nullptr; +} + +void AudioPlayer::setDocument(const QUrl &url, Okular::Document *document) +{ + Q_UNUSED(url); + d->document = document; +} + +#endif + +#include "moc_audioplayer.cpp" diff --git a/core/audioplayer.h b/core/audioplayer.h new file mode 100644 index 0000000..c3ad220 --- /dev/null +++ b/core/audioplayer.h @@ -0,0 +1,85 @@ +/* + SPDX-FileCopyrightText: 2007 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_AUDIOPLAYER_H_ +#define _OKULAR_AUDIOPLAYER_H_ + +#include "okularcore_export.h" + +#include + +namespace Okular +{ +class AudioPlayerPrivate; +class Document; +class Sound; +class SoundAction; + +/** + * @short An audio player. + * + * Singleton utility class to play sounds in documents using the KDE sound + * system. + */ +class OKULARCORE_EXPORT AudioPlayer : public QObject +{ + Q_OBJECT + +public: + /** + * The state of AudioPlayer + * @since 0.19 (KDE 4.13) + */ + enum State { + /** + * The AudioPlayer is playing a audio file. + */ + PlayingState, + /** + * The AudioPlayer isn't playing a audio file. + */ + StoppedState + }; + + ~AudioPlayer() override; + + /** + * Gets the instance of the audio player. + */ + static AudioPlayer *instance(); + + /** + * Enqueue the specified @p sound for playing, optionally taking more + * information about the playing from the @p soundlink . + */ + void playSound(const Sound *sound, const SoundAction *linksound = nullptr); + + /** + * Tell the AudioPlayer to stop all the playbacks. + */ + void stopPlaybacks(); + + /** + * Return state of sound (playing/stopped) + * @since 0.19 (KDE 4.13) + */ + State state() const; + +private: + AudioPlayer(); + void resetDocument(); + void setDocument(const QUrl &url, Document *document); + + friend class AudioPlayerPrivate; + AudioPlayerPrivate *const d; + friend class Document; + + Q_DISABLE_COPY(AudioPlayer) +}; + +} + +#endif diff --git a/core/bookmarkmanager.cpp b/core/bookmarkmanager.cpp new file mode 100644 index 0000000..341e90b --- /dev/null +++ b/core/bookmarkmanager.cpp @@ -0,0 +1,739 @@ +/* + SPDX-FileCopyrightText: 2006 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "bookmarkmanager.h" + +// qt/kde includes +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +// local includes +#include "document_p.h" +#include "observer.h" +#include "page.h" + +using namespace Okular; + +#define foreachObserver(cmd) \ + { \ + QSet::const_iterator it = d->document->m_observers.constBegin(), end = d->document->m_observers.constEnd(); \ + for (; it != end; ++it) { \ + (*it)->cmd; \ + } \ + } + +#define foreachObserverD(cmd) \ + { \ + QSet::const_iterator it = document->m_observers.constBegin(), end = document->m_observers.constEnd(); \ + for (; it != end; ++it) { \ + (*it)->cmd; \ + } \ + } + +class OkularBookmarkAction : public KBookmarkAction +{ + Q_OBJECT +public: + OkularBookmarkAction(const Okular::DocumentViewport &vp, const KBookmark &bk, KBookmarkOwner *owner, QObject *parent) + : KBookmarkAction(bk, owner, parent) + { + if (vp.isValid()) { + setText(QString::number(vp.pageNumber + 1) + QStringLiteral(" - ") + text()); + } + setProperty("pageNumber", vp.pageNumber + 1); + setProperty("htmlRef", bk.url().fragment(QUrl::FullyDecoded)); + } + + inline int pageNumber() const + { + return property("pageNumber").toInt(); + } + + inline QString htmlRef() const + { + return property("htmlRef").toString(); + } +}; + +static inline bool documentViewportFuzzyCompare(const DocumentViewport &vp1, const DocumentViewport &vp2) +{ + bool equal = vp1.isValid() && vp2.isValid() && (vp1.pageNumber == vp2.pageNumber) && (vp1.rePos.pos == vp2.rePos.pos); + + if (!equal) { + return false; + } + + if (qAbs(vp1.rePos.normalizedX - vp2.rePos.normalizedX) >= 0.000001) { + return false; + } + + if (qAbs(vp1.rePos.normalizedY - vp2.rePos.normalizedY) >= 0.000001) { + return false; + } + + return true; +} + +static inline bool bookmarkLessThan(const KBookmark &b1, const KBookmark &b2) +{ + DocumentViewport vp1(b1.url().fragment(QUrl::FullyDecoded)); + DocumentViewport vp2(b2.url().fragment(QUrl::FullyDecoded)); + + return vp1 < vp2; +} + +static inline bool okularBookmarkActionLessThan(QAction *a1, QAction *a2) +{ + DocumentViewport vp1(static_cast(a1)->htmlRef()); + DocumentViewport vp2(static_cast(a2)->htmlRef()); + + return vp1 < vp2; +} + +static QUrl mostCanonicalUrl(const QUrl &url) +{ + if (!url.isLocalFile()) { + return url; + } + + const QFileInfo fi(url.toLocalFile()); + return QUrl::fromLocalFile(fi.canonicalFilePath()); +} + +class BookmarkManager::Private : public KBookmarkOwner +{ +public: + explicit Private(BookmarkManager *qq) + : KBookmarkOwner() + , q(qq) + , document(nullptr) + , file(QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + QStringLiteral("/okular/bookmarks.xml")) + , manager(KBookmarkManager(file)) + { + } + + ~Private() override + { + knownFiles.clear(); + // no need to delete the manager, it's automatically done by KBookmarkManager + // delete manager; + } + + Private(const Private &) = delete; + Private &operator=(const Private &) = delete; + + QUrl currentUrl() const override; + QString currentTitle() const override; + bool enableOption(BookmarkOption option) const override; + void openBookmark(const KBookmark &bm, Qt::MouseButtons, Qt::KeyboardModifiers) override; + + QHash::iterator bookmarkFind(const QUrl &url, bool doCreate, KBookmarkGroup *result = nullptr); + + // slots + void _o_changed(const QString &groupAddress); + + BookmarkManager *q; + QUrl url; + QHash urlBookmarks; + DocumentPrivate *document; + QString file; + KBookmarkManager manager; + QHash knownFiles; +}; + +static inline QUrl urlForGroup(const KBookmark &group) +{ + if (group.url().isValid()) { + return group.url(); + } else { + return QUrl::fromUserInput(group.fullText()); + } +} + +BookmarkManager::BookmarkManager(DocumentPrivate *document) + : QObject(document->m_parent) + , d(new Private(this)) +{ + setObjectName(QStringLiteral("Okular::BookmarkManager")); + + d->document = document; + + connect(&d->manager, &KBookmarkManager::changed, this, [this](const QString &groupAddress) { d->_o_changed(groupAddress); }); +} + +BookmarkManager::~BookmarkManager() +{ + delete d; +} + +// BEGIN Reimplementations from KBookmarkOwner +QUrl BookmarkManager::Private::currentUrl() const +{ + return url; +} + +QString BookmarkManager::Private::currentTitle() const +{ + return url.toDisplayString(); +} + +bool BookmarkManager::Private::enableOption(BookmarkOption option) const +{ + Q_UNUSED(option) + return false; +} + +void BookmarkManager::Private::openBookmark(const KBookmark &bm, Qt::MouseButtons, Qt::KeyboardModifiers) +{ + Q_EMIT q->openUrl(bm.url()); +} +// END Reimplementations from KBookmarkOwner + +void BookmarkManager::Private::_o_changed(const QString &groupAddress) +{ + if (groupAddress.isEmpty()) { + return; + } + + QUrl referurl; + // first, try to find the bookmark group whom change notification was just received + QHash::iterator it = knownFiles.begin(), itEnd = knownFiles.end(); + for (; it != itEnd; ++it) { + if (it.value() == groupAddress) { + referurl = it.key(); + knownFiles.erase(it); + break; + } + } + if (!referurl.isValid()) { + const KBookmark bm = manager.findByAddress(groupAddress); + // better be safe than sorry + if (bm.isNull()) { + return; + } + Q_ASSERT(bm.isGroup()); + referurl = urlForGroup(bm); + } + Q_ASSERT(referurl.isValid()); + Q_EMIT q->bookmarksChanged(referurl); + // case for the url representing the current document + // (this might happen if the same document is open in another place; + // in such case, make really sure to be in sync) + if (referurl == url) { + // save the old bookmarks for the current url + const QHash oldUrlBookmarks = urlBookmarks; + // set the same url again, so we reload the information we have about it + q->setUrl(referurl); + // then notify the observers about the changes in the bookmarks + for (int i = 0; i < qMax(oldUrlBookmarks.size(), urlBookmarks.size()); i++) { + bool oldContains = oldUrlBookmarks.contains(i) && oldUrlBookmarks[i] > 0; + bool curContains = urlBookmarks.contains(i) && urlBookmarks[i] > 0; + + if (oldContains != curContains) { + foreachObserverD(notifyPageChanged(i, DocumentObserver::Bookmark)); + } else if (oldContains && oldUrlBookmarks[i] != urlBookmarks[i]) { + foreachObserverD(notifyPageChanged(i, DocumentObserver::Bookmark)); + } + } + } + Q_EMIT q->saved(); +} + +QList BookmarkManager::files() const +{ + QList ret; + KBookmarkGroup group = d->manager.root(); + for (KBookmark bm = group.first(); !bm.isNull(); bm = group.next(bm)) { + if (bm.isSeparator() || !bm.isGroup()) { + continue; + } + + ret.append(urlForGroup(bm)); + } + return ret; +} + +KBookmark::List BookmarkManager::bookmarks(const QUrl &documentUrl) const +{ + const QUrl url = mostCanonicalUrl(documentUrl); + KBookmark::List ret; + KBookmarkGroup group = d->manager.root(); + for (KBookmark bm = group.first(); !bm.isNull(); bm = group.next(bm)) { + if (!bm.isGroup() || urlForGroup(bm) != url) { + continue; + } + + KBookmarkGroup bmGroup = bm.toGroup(); + for (KBookmark b = bmGroup.first(); !b.isNull(); b = bmGroup.next(b)) { + if (b.isSeparator() || b.isGroup()) { + continue; + } + + ret.append(b); + } + break; + } + + return ret; +} + +KBookmark::List BookmarkManager::bookmarks() const +{ + return bookmarks(d->url); +} + +KBookmark::List BookmarkManager::bookmarks(int page) const +{ + const KBookmark::List bmarks = bookmarks(); + KBookmark::List ret; + for (const KBookmark &bm : bmarks) { + DocumentViewport vp(bm.url().fragment(QUrl::FullyDecoded)); + if (vp.isValid() && vp.pageNumber == page) { + ret.append(bm); + } + } + + return ret; +} + +KBookmark BookmarkManager::bookmark(int page) const +{ + const KBookmark::List bmarks = bookmarks(); + for (const KBookmark &bm : bmarks) { + DocumentViewport vp(bm.url().fragment(QUrl::FullyDecoded)); + if (vp.isValid() && vp.pageNumber == page) { + return bm; + } + } + return KBookmark(); +} + +KBookmark BookmarkManager::bookmark(const DocumentViewport &viewport) const +{ + if (!viewport.isValid() || !isBookmarked(viewport.pageNumber)) { + return KBookmark(); + } + + KBookmarkGroup thebg; + QHash::iterator it = d->bookmarkFind(d->url, false, &thebg); + if (it == d->knownFiles.end()) { + return KBookmark(); + } + + for (KBookmark bm = thebg.first(); !bm.isNull(); bm = thebg.next(bm)) { + if (bm.isSeparator() || bm.isGroup()) { + continue; + } + + DocumentViewport vp(bm.url().fragment(QUrl::FullyDecoded)); + if (documentViewportFuzzyCompare(vp, viewport)) { + return bm; + } + } + + return KBookmark(); +} + +void BookmarkManager::save() const +{ + d->manager.emitChanged(); + Q_EMIT const_cast(this)->saved(); +} + +QHash::iterator BookmarkManager::Private::bookmarkFind(const QUrl &url, bool doCreate, KBookmarkGroup *result) +{ + QHash::iterator it = knownFiles.find(url); + if (it == knownFiles.end()) { + // if the url we want to add a new entry for is not in the hash of the + // known files, then first try to find the file among the top-level + // "folder" names + bool found = false; + KBookmarkGroup root = manager.root(); + for (KBookmark bm = root.first(); !found && !bm.isNull(); bm = root.next(bm)) { + if (bm.isSeparator() || !bm.isGroup()) { + continue; + } + + QUrl tmpurl(urlForGroup(bm)); + if (tmpurl == url) { + // got it! place it the hash of known files + KBookmarkGroup bg = bm.toGroup(); + it = knownFiles.insert(url, bg.address()); + found = true; + if (result) { + *result = bg; + } + break; + } + } + if (!found && doCreate) { + // folder not found :( + // then, in a single step create a new folder and add it in our cache :) + QString purl = url.isLocalFile() ? url.toLocalFile() : url.toDisplayString(); + KBookmarkGroup newbg = root.createNewFolder(purl); + newbg.setUrl(url); + it = knownFiles.insert(url, newbg.address()); + if (result) { + *result = newbg; + } + } + } else if (result) { + const KBookmark bm = manager.findByAddress(it.value()); + Q_ASSERT(bm.isGroup()); + *result = bm.toGroup(); + } + return it; +} + +void BookmarkManager::addBookmark(int page) +{ + if (isBookmarked(page)) { + return; + } + + DocumentViewport vp; + vp.pageNumber = page; + addBookmark(vp); +} + +void BookmarkManager::addBookmark(const DocumentViewport &vp) +{ + addBookmark(d->url, vp); +} + +bool BookmarkManager::addBookmark(const QUrl &documentUrl, const Okular::DocumentViewport &vp, const QString &title) +{ + if (!documentUrl.isValid() || !vp.isValid()) { + return false; + } + + if (vp.pageNumber < 0 || vp.pageNumber >= d->document->m_pagesVector.count()) { + return false; + } + + const QUrl referurl = mostCanonicalUrl(documentUrl); + + KBookmarkGroup thebg; + QHash::iterator it = d->bookmarkFind(referurl, true, &thebg); + Q_ASSERT(it != d->knownFiles.end()); + + int count = 0; // Number of bookmarks in the current page + bool found = false; + // Check if the bookmark already exists + for (KBookmark bm = thebg.first(); !found && !bm.isNull(); bm = thebg.next(bm)) { + if (bm.isSeparator() || bm.isGroup()) { + continue; + } + + DocumentViewport bmViewport(bm.url().fragment(QUrl::FullyDecoded)); + if (bmViewport.isValid() && bmViewport.pageNumber == vp.pageNumber) { + ++count; + + if (documentViewportFuzzyCompare(bmViewport, vp)) { + found = true; + } + } + } + + if (found) { + return false; + } + + QString newtitle; + if (title.isEmpty()) { + // if we have no title specified for the new bookmark, then give it the + // name '#p' where p is the page number where the bookmark is located. + // if there's more than one bookmark per page, give the name '#p-n' + // where n is the index of this bookmark among the ones of its page. + const QString pageLabel = d->document->m_parent->page(vp.pageNumber)->label(); + newtitle = QStringLiteral("#"); + if (pageLabel.isNull()) { + newtitle += QString::number(vp.pageNumber + 1); + } else { + newtitle += pageLabel; + } + if (count > 0) { + newtitle += QStringLiteral("-") + QString::number(count); + } + } else { + newtitle = title; + } + + QUrl newurl = referurl; + newurl.setFragment(vp.toString(), QUrl::DecodedMode); + thebg.addBookmark(newtitle, newurl, QString()); + if (referurl == d->document->m_url) { + d->urlBookmarks[vp.pageNumber]++; + foreachObserver(notifyPageChanged(vp.pageNumber, DocumentObserver::Bookmark)); + } + d->manager.emitChanged(thebg); + return true; +} + +void BookmarkManager::removeBookmark(int page) +{ + if (page >= 0 && page < (int)d->document->m_pagesVector.count()) { + if (removePageBookmark(page)) + foreachObserver(notifyPageChanged(page, DocumentObserver::Bookmark)); + } +} + +void BookmarkManager::removeBookmark(const DocumentViewport &vp) +{ + int page = vp.pageNumber; + if (page >= 0 && page < d->document->m_pagesVector.count()) { + removeBookmark(d->url, bookmark(vp)); + } +} + +void BookmarkManager::renameBookmark(KBookmark *bm, const QString &newName) +{ + KBookmarkGroup thebg; + QHash::iterator it = d->bookmarkFind(d->url, false, &thebg); + Q_ASSERT(it != d->knownFiles.end()); + if (it == d->knownFiles.end()) { + return; + } + + bm->setFullText(newName); + d->manager.emitChanged(thebg); +} + +void BookmarkManager::renameBookmark(const QUrl &documentUrl, const QString &newName) +{ + if (!documentUrl.isValid()) { + return; + } + + const QUrl referurl = mostCanonicalUrl(documentUrl); + + KBookmarkGroup thebg; + QHash::iterator it = d->bookmarkFind(referurl, false, &thebg); + Q_ASSERT(it != d->knownFiles.end()); + if (it == d->knownFiles.end()) { + return; + } + + thebg.setFullText(newName); + d->manager.emitChanged(thebg); +} + +QString BookmarkManager::titleForUrl(const QUrl &documentUrl) const +{ + KBookmarkGroup thebg; + QHash::iterator it = d->bookmarkFind(mostCanonicalUrl(documentUrl), false, &thebg); + Q_ASSERT(it != d->knownFiles.end()); + + return thebg.fullText(); +} + +int BookmarkManager::removeBookmark(const QUrl &documentUrl, const KBookmark &bm) +{ + if (!documentUrl.isValid() || bm.isNull() || bm.isGroup() || bm.isSeparator()) { + return -1; + } + + DocumentViewport vp(bm.url().fragment(QUrl::FullyDecoded)); + if (!vp.isValid()) { + return -1; + } + + const QUrl referurl = mostCanonicalUrl(documentUrl); + + KBookmarkGroup thebg; + QHash::iterator it = d->bookmarkFind(referurl, false, &thebg); + if (it == d->knownFiles.end()) { + return -1; + } + + thebg.deleteBookmark(bm); + + if (referurl == d->document->m_url) { + d->urlBookmarks[vp.pageNumber]--; + foreachObserver(notifyPageChanged(vp.pageNumber, DocumentObserver::Bookmark)); + } + d->manager.emitChanged(thebg); + + return vp.pageNumber; +} + +void BookmarkManager::removeBookmarks(const QUrl &documentUrl, const KBookmark::List &list) +{ + if (!documentUrl.isValid() || list.isEmpty()) { + return; + } + + const QUrl referurl = mostCanonicalUrl(documentUrl); + + KBookmarkGroup thebg; + QHash::iterator it = d->bookmarkFind(referurl, false, &thebg); + if (it == d->knownFiles.end()) { + return; + } + + const QHash oldUrlBookmarks = d->urlBookmarks; + bool deletedAny = false; + for (const KBookmark &bm : list) { + if (bm.parentGroup() == thebg) { + thebg.deleteBookmark(bm); + deletedAny = true; + + DocumentViewport vp(bm.url().fragment(QUrl::FullyDecoded)); + if (referurl == d->document->m_url) { + d->urlBookmarks[vp.pageNumber]--; + } + } + } + + if (referurl == d->document->m_url) { + for (int i = 0; i < qMax(oldUrlBookmarks.size(), d->urlBookmarks.size()); i++) { + bool oldContains = oldUrlBookmarks.contains(i) && oldUrlBookmarks[i] > 0; + bool curContains = d->urlBookmarks.contains(i) && d->urlBookmarks[i] > 0; + + if (oldContains != curContains) { + foreachObserver(notifyPageChanged(i, DocumentObserver::Bookmark)); + } else if (oldContains && oldUrlBookmarks[i] != d->urlBookmarks[i]) { + foreachObserver(notifyPageChanged(i, DocumentObserver::Bookmark)); + } + } + } + if (deletedAny) { + d->manager.emitChanged(thebg); + } +} + +QList BookmarkManager::actionsForUrl(const QUrl &documentUrl) const +{ + const QUrl url = mostCanonicalUrl(documentUrl); + QList ret; + KBookmarkGroup group = d->manager.root(); + for (KBookmark bm = group.first(); !bm.isNull(); bm = group.next(bm)) { + if (!bm.isGroup() || urlForGroup(bm) != url) { + continue; + } + + KBookmarkGroup bmGroup = bm.toGroup(); + for (KBookmark b = bmGroup.first(); !b.isNull(); b = bmGroup.next(b)) { + if (b.isSeparator() || b.isGroup()) { + continue; + } + + ret.append(new OkularBookmarkAction(DocumentViewport(b.url().fragment(QUrl::FullyDecoded)), b, d, nullptr)); + } + break; + } + std::sort(ret.begin(), ret.end(), okularBookmarkActionLessThan); + return ret; +} + +void BookmarkManager::setUrl(const QUrl &url) +{ + d->url = mostCanonicalUrl(url); + d->urlBookmarks.clear(); + KBookmarkGroup thebg; + QHash::iterator it = d->bookmarkFind(d->url, false, &thebg); + if (it != d->knownFiles.end()) { + for (KBookmark bm = thebg.first(); !bm.isNull(); bm = thebg.next(bm)) { + if (bm.isSeparator() || bm.isGroup()) { + continue; + } + + DocumentViewport vp(bm.url().fragment(QUrl::FullyDecoded)); + if (!vp.isValid()) { + continue; + } + + d->urlBookmarks[vp.pageNumber]++; + } + } +} + +bool BookmarkManager::removePageBookmark(int page) +{ + KBookmarkGroup thebg; + QHash::iterator it = d->bookmarkFind(d->url, false, &thebg); + if (it == d->knownFiles.end()) { + return false; + } + + bool found = false; + for (KBookmark bm = thebg.first(); !found && !bm.isNull(); bm = thebg.next(bm)) { + if (bm.isSeparator() || bm.isGroup()) { + continue; + } + + DocumentViewport vp(bm.url().fragment(QUrl::FullyDecoded)); + if (vp.isValid() && vp.pageNumber == page) { + found = true; + thebg.deleteBookmark(bm); + d->urlBookmarks[page]--; + d->manager.emitChanged(thebg); + } + } + return found; +} + +bool BookmarkManager::isBookmarked(int page) const +{ + return d->urlBookmarks.contains(page) && d->urlBookmarks[page] > 0; +} + +bool BookmarkManager::isBookmarked(const DocumentViewport &viewport) const +{ + KBookmark bm = bookmark(viewport); + + return !bm.isNull(); +} + +KBookmark BookmarkManager::nextBookmark(const DocumentViewport &viewport) const +{ + KBookmark::List bmarks = bookmarks(); + std::sort(bmarks.begin(), bmarks.end(), bookmarkLessThan); + + KBookmark nextBm; + for (const KBookmark &bm : std::as_const(bmarks)) { + DocumentViewport vp(bm.url().fragment(QUrl::FullyDecoded)); + if (viewport < vp) { + nextBm = bm; + break; + } + } + + return nextBm; +} + +KBookmark BookmarkManager::previousBookmark(const DocumentViewport &viewport) const +{ + KBookmark::List bmarks = bookmarks(); + std::sort(bmarks.begin(), bmarks.end(), bookmarkLessThan); + + KBookmark prevBm; + for (KBookmark::List::const_iterator it = bmarks.constEnd(); it != bmarks.constBegin(); --it) { + KBookmark bm = *(it - 1); + DocumentViewport vp(bm.url().fragment(QUrl::FullyDecoded)); + if (vp < viewport) { + prevBm = bm; + break; + } + } + + return prevBm; +} + +#undef foreachObserver +#undef foreachObserverD + +#include "bookmarkmanager.moc" + +/* kate: replace-tabs on; indent-width 4; */ diff --git a/core/bookmarkmanager.h b/core/bookmarkmanager.h new file mode 100644 index 0000000..120ce5c --- /dev/null +++ b/core/bookmarkmanager.h @@ -0,0 +1,207 @@ +/* + SPDX-FileCopyrightText: 2006 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_BOOKMARK_MANAGER_H_ +#define _OKULAR_BOOKMARK_MANAGER_H_ + +#include + +#include "okularcore_export.h" +#include +#include + +class QAction; + +namespace Okular +{ +class Document; +class DocumentPrivate; +class DocumentViewport; + +/** + * @brief Bookmarks manager utility. + * + * This class is responsible for loading and saving the bookmarks using the + * proper format, and for working with them (eg querying, adding, removing). + */ +class OKULARCORE_EXPORT BookmarkManager : public QObject +{ + Q_OBJECT + +public: + ~BookmarkManager() override; + + /** + * Returns the list of documents with bookmarks. + */ + QList files() const; + + /** + * Returns the list of bookmarks for the specified @p documentUrl. + */ + KBookmark::List bookmarks(const QUrl &documentUrl) const; + + /** + * Returns the list of bookmarks for document + * @since 0.14 (KDE 4.8) + */ + KBookmark::List bookmarks() const; + + /** + * Returns the list of bookmarks for the given page of the document + * @since 0.15 (KDE 4.9) + */ + KBookmark::List bookmarks(int page) const; + + /** + * Returns the bookmark for the given page of the document + * @since 0.14 (KDE 4.8) + */ + KBookmark bookmark(int page) const; + + /** + * Returns the bookmark for the given @p viewport of the document + * @since 0.15 (KDE 4.9) + */ + KBookmark bookmark(const DocumentViewport &viewport) const; + + /** + * Forces to save the list of bookmarks. + */ + void save() const; + + /** + * Adds a bookmark for the given @p page. + */ + void addBookmark(int page); + + /** + * Adds a bookmark for the given viewport @p vp + * @since 0.15 (KDE 4.9) + */ + void addBookmark(const DocumentViewport &vp); + + /** + * Adds a new bookmark for the @p documentUrl at the specified viewport @p vp, + * with an optional @p title. + * + * If no @p title is specified, then \em \#n will be used. + */ + bool addBookmark(const QUrl &documentUrl, const Okular::DocumentViewport &vp, const QString &title = QString()); + + /** + * Remove a bookmark for the given @p page. + */ + void removeBookmark(int page); + + /** + * Remove a bookmark for the given viewport @p vp + * @since 0.15 (KDE 4.9) + */ + void removeBookmark(const DocumentViewport &vp); + + /** + * Removes the bookmark @p bm for the @p documentUrl specified. + */ + int removeBookmark(const QUrl &documentUrl, const KBookmark &bm); + + /** + * Removes the bookmarks in @p list for the @p documentUrl specified. + * + * @note it will remove only the bookmarks which belong to @p documentUrl + * + * @since 0.11 (KDE 4.5) + */ + void removeBookmarks(const QUrl &documentUrl, const KBookmark::List &list); + + /** + * Returns the bookmark given bookmark of the document + * @since 0.14 (KDE 4.8) + */ + void renameBookmark(KBookmark *bm, const QString &newName); + + /** + * Renames the top-level bookmark for the @p documentUrl specified with + * the @p newName specified. + * @since 0.15 (KDE 4.9) + */ + void renameBookmark(const QUrl &documentUrl, const QString &newName); + + /** + * Returns title for the @p documentUrl + * @since 0.15 (KDE 4.9) + */ + QString titleForUrl(const QUrl &documentUrl) const; + + /** + * Returns whether the given @p page is bookmarked. + */ + bool isBookmarked(int page) const; + + /** + * Return whether the given @p viewport is bookmarked. + * @since 0.15 (KDE 4.9) + */ + bool isBookmarked(const DocumentViewport &viewport) const; + + /** + * Given a @p viewport, returns the next bookmark + * @since 0.15 (KDE 4.9) + */ + KBookmark nextBookmark(const DocumentViewport &viewport) const; + + /** + * Given a @p viewport, returns the previous bookmark + * @since 0.15 (KDE 4.9) + */ + KBookmark previousBookmark(const DocumentViewport &viewport) const; + + /** + * Returns a list of actions for the bookmarks of the specified @p url. + * + * @note the actions will have no parents, so you have to delete them + * yourself + */ + QList actionsForUrl(const QUrl &documentUrl) const; + +Q_SIGNALS: + /** + * The bookmark manager is requesting to open the specified @p url. + */ + void openUrl(const QUrl &url); + + /** + * This signal is emitted whenever bookmarks have been saved. + */ + void saved(); + + /** + * The bookmarks for specified @p url were changed. + * + * @since 0.7 (KDE 4.1) + */ + void bookmarksChanged(const QUrl &url); + +private: + class Private; + Private *const d; + friend class Private; + + // private interface used by the Document + friend class Document; + friend class DocumentPrivate; + + explicit BookmarkManager(DocumentPrivate *document); + + void setUrl(const QUrl &url); + bool removePageBookmark(int page); + + Q_DISABLE_COPY(BookmarkManager) +}; + +} + +#endif diff --git a/core/chooseenginedialog.cpp b/core/chooseenginedialog.cpp new file mode 100644 index 0000000..145c3be --- /dev/null +++ b/core/chooseenginedialog.cpp @@ -0,0 +1,55 @@ +/* + SPDX-FileCopyrightText: 2006 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "chooseenginedialog_p.h" + +#include +#include + +#include +#include +#include +#include + +#include "ui_chooseenginewidget.h" + +ChooseEngineDialog::ChooseEngineDialog(const QStringList &generators, const QMimeType &mime, QWidget *parent) + : QDialog(parent) +{ + setWindowTitle(i18n("Backend Selection")); + QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel); + QVBoxLayout *mainLayout = new QVBoxLayout; + setLayout(mainLayout); + QPushButton *okButton = buttonBox->button(QDialogButtonBox::Ok); + okButton->setDefault(true); + okButton->setShortcut(Qt::CTRL | Qt::Key_Return); // NOLINT(bugprone-suspicious-enum-usage) + connect(buttonBox, &QDialogButtonBox::accepted, this, &ChooseEngineDialog::accept); + connect(buttonBox, &QDialogButtonBox::rejected, this, &ChooseEngineDialog::reject); + okButton->setDefault(true); + QWidget *main = new QWidget(this); + m_widget = new Ui_ChooseEngineWidget(); + m_widget->setupUi(main); + mainLayout->addWidget(main); + mainLayout->addWidget(buttonBox); + m_widget->engineList->addItems(generators); + + m_widget->description->setText( + i18n("More than one backend found for the MIME type:
" + "%1 (%2).

" + "Please select which one to use:
", + mime.comment(), + mime.name())); +} + +ChooseEngineDialog::~ChooseEngineDialog() +{ + delete m_widget; +} + +int ChooseEngineDialog::selectedGenerator() const +{ + return m_widget->engineList->currentIndex(); +} diff --git a/core/chooseenginedialog_p.h b/core/chooseenginedialog_p.h new file mode 100644 index 0000000..102565b --- /dev/null +++ b/core/chooseenginedialog_p.h @@ -0,0 +1,31 @@ +/* + SPDX-FileCopyrightText: 2006 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _CHOOSEENGINEDIALOG_H +#define _CHOOSEENGINEDIALOG_H + +#include + +#include +#include + +class Ui_ChooseEngineWidget; + +class ChooseEngineDialog : public QDialog +{ + Q_OBJECT + +public: + ChooseEngineDialog(const QStringList &generators, const QMimeType &mime, QWidget *parent = nullptr); + ~ChooseEngineDialog() override; + + int selectedGenerator() const; + +protected: + Ui_ChooseEngineWidget *m_widget; +}; + +#endif diff --git a/core/chooseenginewidget.ui b/core/chooseenginewidget.ui new file mode 100644 index 0000000..541d284 --- /dev/null +++ b/core/chooseenginewidget.ui @@ -0,0 +1,42 @@ + + ChooseEngineWidget + + + + 0 + 0 + 286 + 96 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + + + Qt::RichText + + + + + + + + + + + diff --git a/core/debug.cpp b/core/debug.cpp new file mode 100644 index 0000000..1c573bd --- /dev/null +++ b/core/debug.cpp @@ -0,0 +1,9 @@ +/* + SPDX-FileCopyrightText: 2014 Frederik Gladhorn + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "debug_p.h" + +Q_LOGGING_CATEGORY(OkularCoreDebug, "org.kde.okular.core", QtWarningMsg) diff --git a/core/debug_p.h b/core/debug_p.h new file mode 100644 index 0000000..a1794bf --- /dev/null +++ b/core/debug_p.h @@ -0,0 +1,15 @@ +/* + SPDX-FileCopyrightText: 2007 Pino Toscano + SPDX-FileCopyrightText: 2014 Frederik Gladhorn + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef OKULAR_DEBUG_P_H +#define OKULAR_DEBUG_P_H + +#include + +Q_DECLARE_LOGGING_CATEGORY(OkularCoreDebug) + +#endif diff --git a/core/document.cpp b/core/document.cpp new file mode 100644 index 0000000..bd25b6e --- /dev/null +++ b/core/document.cpp @@ -0,0 +1,6236 @@ +/* + SPDX-FileCopyrightText: 2004-2005 Enrico Ros + SPDX-FileCopyrightText: 2004-2008 Albert Astals Cid + + Work sponsored by the LiMux project of the city of Munich: + SPDX-FileCopyrightText: 2017, 2018 Klarälvdalens Datakonsult AB a KDAB Group company + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "document.h" +#include "document_p.h" +#include "documentcommands_p.h" + +#include +#include +#include +#ifdef Q_OS_WIN +#include +#elif defined(Q_OS_FREEBSD) +// clang-format off +// FreeBSD really wants this include order +#include +#include +// clang-format on +#include +#endif + +// qt/kde/system includes +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +// local includes +#include "action.h" +#include "annotations.h" +#include "annotations_p.h" +#include "audioplayer.h" +#include "bookmarkmanager.h" +#include "chooseenginedialog_p.h" +#include "debug_p.h" +#include "form.h" +#include "generator_p.h" +#include "interfaces/configinterface.h" +#include "interfaces/guiinterface.h" +#include "interfaces/printinterface.h" +#include "interfaces/saveinterface.h" +#include "misc.h" +#include "observer.h" +#include "page.h" +#include "page_p.h" +#include "pagecontroller_p.h" +#include "script/event_p.h" +#include "scripter.h" +#include "settings_core.h" +#include "sourcereference.h" +#include "sourcereference_p.h" +#include "texteditors_p.h" +#include "tile.h" +#include "tilesmanager_p.h" +#include "utils.h" +#include "utils_p.h" +#include "view.h" +#include "view_p.h" + +#include + +#if HAVE_MALLOC_TRIM +#include "malloc.h" +#endif + +using namespace Okular; + +struct AllocatedPixmap { + // owner of the page + DocumentObserver *observer; + int page; + qulonglong memory; + // public constructor: initialize data + AllocatedPixmap(DocumentObserver *o, int p, qulonglong m) + : observer(o) + , page(p) + , memory(m) + { + } +}; + +struct ArchiveData { + ArchiveData() + { + } + + QString originalFileName; + QTemporaryFile document; + QTemporaryFile metadataFile; +}; + +struct RunningSearch { + // store search properties + int continueOnPage; + RegularAreaRect continueOnMatch; + QSet highlightedPages; + + // fields related to previous searches (used for 'continueSearch') + QString cachedString; + Document::SearchType cachedType; + Qt::CaseSensitivity cachedCaseSensitivity; + bool cachedViewportMove : 1; + bool isCurrentlySearching : 1; + QColor cachedColor; + int pagesDone; +}; + +#define foreachObserver(cmd) \ + { \ + for (auto *it : std::as_const(d->m_observers)) { \ + it->cmd; \ + } \ + } + +#define foreachObserverD(cmd) \ + { \ + for (auto *it : std::as_const(m_observers)) { \ + it->cmd; \ + } \ + } + +#define OKULAR_HISTORY_MAXSTEPS 100 +#define OKULAR_HISTORY_SAVEDSTEPS 10 + +// how often to run slotTimedMemoryCheck +constexpr int kMemCheckTime = 2000; // in msec +// getFreeMemory is called every two seconds when checking to see if the system is low on memory. If this timeout was left at kMemCheckTime, half of these checks are useless (when okular is idle) since the cache is used when the cache is +// <=2 seconds old. This means that after the system is out of memory, up to 4 seconds (instead of 2) could go by before okular starts to free memory. +constexpr int kFreeMemCacheTimeout = kMemCheckTime - 100; + +/***** Document ******/ + +QString DocumentPrivate::pagesSizeString() const +{ + if (m_generator) { + if (m_generator->pagesSizeMetric() != Generator::None) { + QSizeF size = m_parent->allPagesSize(); + // Single page size + if (size.isValid()) { + return localizedSize(size); + } + + // Multiple page sizes + QHash pageSizeFrequencies; + + // Compute frequencies of each page size + for (const Page *page : std::as_const(m_pagesVector)) { + QString sizeString = localizedSize(QSizeF(page->width(), page->height())); + pageSizeFrequencies[sizeString] = pageSizeFrequencies.value(sizeString, 0) + 1; + } + + // Figure out which page size is most frequent + int largestFrequencySeen = 0; + QString mostCommonPageSize; + for (const auto &[key, value] : pageSizeFrequencies.asKeyValueRange()) { + if (value > largestFrequencySeen) { + largestFrequencySeen = value; + mostCommonPageSize = key; + } + } + QString finalText = i18nc("@info %1 is a page size", "Most pages are %1.", mostCommonPageSize); + + return finalText; + } else { + return QString(); + } + } else { + return QString(); + } +} + +QString DocumentPrivate::namePaperSize(double inchesWidth, double inchesHeight) const +{ + const QPageLayout::Orientation orientation = inchesWidth > inchesHeight ? QPageLayout::Landscape : QPageLayout::Portrait; + + const QSize pointsSize(inchesWidth * 72.0, inchesHeight * 72.0); + const QPageSize::PageSizeId paperSize = QPageSize::id(pointsSize, QPageSize::FuzzyOrientationMatch); + + const QString paperName = QPageSize::name(paperSize); + + if (orientation == QPageLayout::Portrait) { + return i18nc("paper type and orientation (eg: Portrait A4)", "Portrait %1", paperName); + } else { + return i18nc("paper type and orientation (eg: Portrait A4)", "Landscape %1", paperName); + } +} + +QString DocumentPrivate::localizedSize(const QSizeF size) const +{ + double inchesWidth = 0, inchesHeight = 0; + switch (m_generator->pagesSizeMetric()) { + case Generator::Points: + inchesWidth = size.width() / 72.0; + inchesHeight = size.height() / 72.0; + break; + + case Generator::Pixels: { + const QSizeF dpi = m_generator->dpi(); + inchesWidth = size.width() / dpi.width(); + inchesHeight = size.height() / dpi.height(); + } break; + + case Generator::None: + break; + } + if (QLocale::system().measurementSystem() == QLocale::ImperialSystem) { + return i18nc("%1 is width, %2 is height, %3 is paper size name", "%1 × %2 in (%3)", inchesWidth, inchesHeight, namePaperSize(inchesWidth, inchesHeight)); + } else { + return i18nc("%1 is width, %2 is height, %3 is paper size name", "%1 × %2 mm (%3)", QString::number(inchesWidth * 25.4, 'd', 0), QString::number(inchesHeight * 25.4, 'd', 0), namePaperSize(inchesWidth, inchesHeight)); + } +} + +qulonglong DocumentPrivate::calculateMemoryToFree() +{ + // [MEM] choose memory parameters based on configuration profile + qulonglong clipValue = 0; + qulonglong memoryToFree = 0; + + switch (SettingsCore::memoryLevel()) { + case SettingsCore::EnumMemoryLevel::Low: + memoryToFree = m_allocatedPixmapsTotalMemory; + break; + + case SettingsCore::EnumMemoryLevel::Normal: { + qulonglong thirdTotalMemory = getTotalMemory() / 3; + qulonglong freeMemory = getFreeMemory(); + if (m_allocatedPixmapsTotalMemory > thirdTotalMemory) { + memoryToFree = m_allocatedPixmapsTotalMemory - thirdTotalMemory; + } + if (m_allocatedPixmapsTotalMemory > freeMemory) { + clipValue = (m_allocatedPixmapsTotalMemory - freeMemory) / 2; + } + } break; + + case SettingsCore::EnumMemoryLevel::Aggressive: { + qulonglong freeMemory = getFreeMemory(); + if (m_allocatedPixmapsTotalMemory > freeMemory) { + clipValue = (m_allocatedPixmapsTotalMemory - freeMemory) / 2; + } + } break; + case SettingsCore::EnumMemoryLevel::Greedy: { + qulonglong freeSwap; + qulonglong freeMemory = getFreeMemory(&freeSwap); + const qulonglong memoryLimit = qMin(qMax(freeMemory, getTotalMemory() / 2), freeMemory + freeSwap); + if (m_allocatedPixmapsTotalMemory > memoryLimit) { + clipValue = (m_allocatedPixmapsTotalMemory - memoryLimit) / 2; + } + } break; + } + + if (clipValue > memoryToFree) { + memoryToFree = clipValue; + } + + return memoryToFree; +} + +void DocumentPrivate::cleanupPixmapMemory() +{ + cleanupPixmapMemory(calculateMemoryToFree()); +} + +void DocumentPrivate::cleanupPixmapMemory(qulonglong memoryToFree) +{ + if (memoryToFree < 1) { + return; + } + + const int currentViewportPage = (*m_viewportIterator).pageNumber; + + // Create a QMap of visible rects, indexed by page number + QMap visibleRects; + for (auto *it : std::as_const(m_pageRects)) { + visibleRects.insert(it->pageNumber, it); + } + + // Free memory starting from pages that are farthest from the current one + int pagesFreed = 0; + while (memoryToFree > 0) { + AllocatedPixmap *p = searchLowestPriorityPixmap(true, true); + if (!p) { // No pixmap to remove + break; + } + + qCDebug(OkularCoreDebug).nospace() << "Evicting cache pixmap observer=" << p->observer << " page=" << p->page; + + // m_allocatedPixmapsTotalMemory can't underflow because we always add or remove + // the memory used by the AllocatedPixmap so at most it can reach zero + m_allocatedPixmapsTotalMemory -= p->memory; + // Make sure memoryToFree does not underflow + if (p->memory > memoryToFree) { + memoryToFree = 0; + } else { + memoryToFree -= p->memory; + } + pagesFreed++; + // delete pixmap + m_pagesVector.at(p->page)->deletePixmap(p->observer); + // delete allocation descriptor + delete p; + } + + // If we're still on low memory, try to free individual tiles + + // Store pages that weren't completely removed + + std::list pixmapsToKeep; + while (memoryToFree > 0) { + int clean_hits = 0; + for (DocumentObserver *observer : std::as_const(m_observers)) { + AllocatedPixmap *p = searchLowestPriorityPixmap(false, true, observer); + if (!p) { // No pixmap to remove + continue; + } + + clean_hits++; + + TilesManager *tilesManager = m_pagesVector.at(p->page)->d->tilesManager(observer); + if (tilesManager && tilesManager->totalMemory() > 0) { + qulonglong memoryDiff = p->memory; + NormalizedRect visibleRect; + if (visibleRects.contains(p->page)) { + visibleRect = visibleRects[p->page]->rect; + } + + // Free non visible tiles + tilesManager->cleanupPixmapMemory(memoryToFree, visibleRect, currentViewportPage); + + p->memory = tilesManager->totalMemory(); + memoryDiff -= p->memory; + memoryToFree = (memoryDiff < memoryToFree) ? (memoryToFree - memoryDiff) : 0; + m_allocatedPixmapsTotalMemory -= memoryDiff; + + if (p->memory > 0) { + pixmapsToKeep.push_back(p); + } else { + delete p; + } + } else { + pixmapsToKeep.push_back(p); + } + } + + if (clean_hits == 0) { + break; + } + } + + m_allocatedPixmaps.splice(m_allocatedPixmaps.end(), pixmapsToKeep); + Q_UNUSED(pagesFreed); + // p--rintf("freeMemory A:[%d -%d = %d] \n", m_allocatedPixmaps.count() + pagesFreed, pagesFreed, m_allocatedPixmaps.count() ); +} + +/* Returns the next pixmap to evict from cache, or NULL if no suitable pixmap + * if found. If unloadableOnly is set, only unloadable pixmaps are returned. If + * thenRemoveIt is set, the pixmap is removed from m_allocatedPixmaps before + * returning it + */ +AllocatedPixmap *DocumentPrivate::searchLowestPriorityPixmap(bool unloadableOnly, bool thenRemoveIt, DocumentObserver *observer) +{ + auto pIt = m_allocatedPixmaps.begin(); + auto pEnd = m_allocatedPixmaps.end(); + auto farthestPixmap = pEnd; + const int currentViewportPage = m_viewportIterator->pageNumber; + + /* Find the pixmap that is farthest from the current viewport */ + int maxDistance = -1; + while (pIt != pEnd) { + const AllocatedPixmap *p = *pIt; + // Filter by observer + if (observer == nullptr || p->observer == observer) { + const int distance = qAbs(p->page - currentViewportPage); + if (maxDistance < distance && (!unloadableOnly || p->observer->canUnloadPixmap(p->page))) { + maxDistance = distance; + farthestPixmap = pIt; + } + } + ++pIt; + } + + /* No pixmap to remove */ + if (farthestPixmap == pEnd) { + return nullptr; + } + + AllocatedPixmap *selectedPixmap = *farthestPixmap; + if (thenRemoveIt) { + m_allocatedPixmaps.erase(farthestPixmap); + } + return selectedPixmap; +} + +qulonglong DocumentPrivate::getTotalMemory() +{ + static qulonglong cachedValue = 0; + if (cachedValue) { + return cachedValue; + } + +#if defined(Q_OS_LINUX) + // if /proc/meminfo doesn't exist, return 128MB + QFile memFile(QStringLiteral("/proc/meminfo")); + if (!memFile.open(QIODevice::ReadOnly)) { + return (cachedValue = 134217728); + } + + QTextStream readStream(&memFile); + while (true) { + QString entry = readStream.readLine(); + if (entry.isNull()) { + break; + } + if (entry.startsWith(QLatin1String("MemTotal:"))) { + return (cachedValue = (Q_UINT64_C(1024) * entry.section(QLatin1Char(' '), -2, -2).toULongLong())); + } + } +#elif defined(Q_OS_FREEBSD) + qulonglong physmem; + int mib[] = {CTL_HW, HW_PHYSMEM}; + size_t len = sizeof(physmem); + if (sysctl(mib, 2, &physmem, &len, NULL, 0) == 0) { + return (cachedValue = physmem); + } +#elif defined(Q_OS_WIN) + MEMORYSTATUSEX stat; + stat.dwLength = sizeof(stat); + GlobalMemoryStatusEx(&stat); + + return (cachedValue = stat.ullTotalPhys); +#endif + return (cachedValue = 134217728); +} + +qulonglong DocumentPrivate::getFreeMemory(qulonglong *freeSwap) +{ + static QDeadlineTimer cacheTimer(0); + static qulonglong cachedValue = 0; + static qulonglong cachedFreeSwap = 0; + + if (!cacheTimer.hasExpired()) { + if (freeSwap) { + *freeSwap = cachedFreeSwap; + } + return cachedValue; + } + + /* Initialize the returned free swap value to 0. It is overwritten if the + * actual value is available */ + if (freeSwap) { + *freeSwap = 0; + } + +#if defined(Q_OS_LINUX) + // if /proc/meminfo doesn't exist, return MEMORY FULL + QFile memFile(QStringLiteral("/proc/meminfo")); + if (!memFile.open(QIODevice::ReadOnly)) { + return 0; + } + + // read /proc/meminfo and sum up the contents of 'MemFree', 'Buffers' + // and 'Cached' fields. consider swapped memory as used memory. + qulonglong memoryFree = 0; + QString entry; + QTextStream readStream(&memFile); + static const int nElems = 5; + const QString names[nElems] = {QStringLiteral("MemFree:"), QStringLiteral("Buffers:"), QStringLiteral("Cached:"), QStringLiteral("SwapFree:"), QStringLiteral("SwapTotal:")}; + qulonglong values[nElems] = {0, 0, 0, 0, 0}; + bool foundValues[nElems] = {false, false, false, false, false}; + while (true) { + entry = readStream.readLine(); + if (entry.isNull()) { + break; + } + for (int i = 0; i < nElems; ++i) { + if (entry.startsWith(names[i])) { + values[i] = entry.section(QLatin1Char(' '), -2, -2).toULongLong(&foundValues[i]); + } + } + } + memFile.close(); + bool found = true; + for (int i = 0; found && i < nElems; ++i) { + found = found && foundValues[i]; + } + if (found) { + /* MemFree + Buffers + Cached - SwapUsed = + * = MemFree + Buffers + Cached - (SwapTotal - SwapFree) = + * = MemFree + Buffers + Cached + SwapFree - SwapTotal */ + memoryFree = values[0] + values[1] + values[2] + values[3]; + if (values[4] > memoryFree) { + memoryFree = 0; + } else { + memoryFree -= values[4]; + } + } else { + return 0; + } + + cacheTimer.setRemainingTime(kFreeMemCacheTimeout); + + if (freeSwap) { + *freeSwap = (cachedFreeSwap = (Q_UINT64_C(1024) * values[3])); + } + return (cachedValue = (Q_UINT64_C(1024) * memoryFree)); +#elif defined(Q_OS_FREEBSD) + qulonglong cache, inact, free, psize; + size_t cachelen, inactlen, freelen, psizelen; + cachelen = sizeof(cache); + inactlen = sizeof(inact); + freelen = sizeof(free); + psizelen = sizeof(psize); + // sum up inactive, cached and free memory + if (sysctlbyname("vm.stats.vm.v_cache_count", &cache, &cachelen, NULL, 0) == 0 && sysctlbyname("vm.stats.vm.v_inactive_count", &inact, &inactlen, NULL, 0) == 0 && + sysctlbyname("vm.stats.vm.v_free_count", &free, &freelen, NULL, 0) == 0 && sysctlbyname("vm.stats.vm.v_page_size", &psize, &psizelen, NULL, 0) == 0) { + cacheTimer.setRemainingTime(kFreeMemCacheTimeout); + return (cachedValue = (cache + inact + free) * psize); + } else { + return 0; + } +#elif defined(Q_OS_WIN) + MEMORYSTATUSEX stat; + stat.dwLength = sizeof(stat); + GlobalMemoryStatusEx(&stat); + + cacheTimer.setRemainingTime(kFreeMemCacheTimeout); + + if (freeSwap) + *freeSwap = (cachedFreeSwap = stat.ullAvailPageFile); + return (cachedValue = stat.ullAvailPhys); +#else + // tell the memory is full.. will act as in LOW profile + return 0; +#endif +} + +bool DocumentPrivate::loadDocumentInfo(LoadDocumentInfoFlags loadWhat) +// note: load data and stores it internally (document or pages). observers +// are still uninitialized at this point so don't access them +{ + // qCDebug(OkularCoreDebug).nospace() << "Using '" << d->m_xmlFileName << "' as document info file."; + if (m_xmlFileName.isEmpty()) { + return false; + } + + QFile infoFile(m_xmlFileName); + return loadDocumentInfo(infoFile, loadWhat); +} + +bool DocumentPrivate::loadDocumentInfo(QFile &infoFile, LoadDocumentInfoFlags loadWhat) +{ + if (!infoFile.exists() || !infoFile.open(QIODevice::ReadOnly)) { + // Use the default layout provided by the generator + if (loadWhat & LoadGeneralInfo) { + Generator::PageLayout defaultViewMode = m_generator->defaultPageLayout(); + if (defaultViewMode == Generator::NoLayout) { + return false; + } + + for (View *view : std::as_const(m_views)) { + setDefaultViewMode(view, defaultViewMode); + } + } + return false; + } + + // Load DOM from XML file + QDomDocument doc(QStringLiteral("documentInfo")); + if (!doc.setContent(&infoFile)) { + qCDebug(OkularCoreDebug) << "Can't load XML pair! Check for broken xml."; + infoFile.close(); + return false; + } + infoFile.close(); + + QDomElement root = doc.documentElement(); + + if (root.tagName() != QLatin1String("documentInfo")) { + return false; + } + + bool loadedAnything = false; // set if something gets actually loaded + + // Parse the DOM tree + QDomNode topLevelNode = root.firstChild(); + while (topLevelNode.isElement()) { + QString catName = topLevelNode.toElement().tagName(); + + // Restore page attributes (bookmark, annotations, ...) from the DOM + if (catName == QLatin1String("pageList") && (loadWhat & LoadPageInfo)) { + QDomNode pageNode = topLevelNode.firstChild(); + while (pageNode.isElement()) { + QDomElement pageElement = pageNode.toElement(); + if (pageElement.hasAttribute(QStringLiteral("number"))) { + // get page number (node's attribute) + bool ok; + int pageNumber = pageElement.attribute(QStringLiteral("number")).toInt(&ok); + + // pass the domElement to the right page, to read config data from + if (ok && pageNumber >= 0 && pageNumber < (int)m_pagesVector.count()) { + if (m_pagesVector[pageNumber]->d->restoreLocalContents(pageElement)) { + loadedAnything = true; + } + } + } + pageNode = pageNode.nextSibling(); + } + } + + // Restore 'general info' from the DOM + else if (catName == QLatin1String("generalInfo") && (loadWhat & LoadGeneralInfo)) { + QDomNode infoNode = topLevelNode.firstChild(); + while (infoNode.isElement()) { + QDomElement infoElement = infoNode.toElement(); + + // restore viewports history + if (infoElement.tagName() == QLatin1String("history")) { + // clear history + m_viewportHistory.clear(); + // append old viewports + QDomNode historyNode = infoNode.firstChild(); + while (historyNode.isElement()) { + QDomElement historyElement = historyNode.toElement(); + if (historyElement.hasAttribute(QStringLiteral("viewport"))) { + QString vpString = historyElement.attribute(QStringLiteral("viewport")); + m_viewportIterator = m_viewportHistory.insert(m_viewportHistory.end(), DocumentViewport(vpString)); + loadedAnything = true; + } + historyNode = historyNode.nextSibling(); + } + // consistency check + if (m_viewportHistory.empty()) { + m_viewportIterator = m_viewportHistory.insert(m_viewportHistory.end(), DocumentViewport()); + } + } else if (infoElement.tagName() == QLatin1String("rotation")) { + QString str = infoElement.text(); + bool ok = true; + int newrotation = !str.isEmpty() ? (str.toInt(&ok) % 4) : 0; + if (ok && newrotation != 0) { + setRotationInternal(newrotation, false); + loadedAnything = true; + } + } else if (infoElement.tagName() == QLatin1String("views")) { + QDomNode viewNode = infoNode.firstChild(); + while (viewNode.isElement()) { + QDomElement viewElement = viewNode.toElement(); + if (viewElement.tagName() == QLatin1String("view")) { + const QString viewName = viewElement.attribute(QStringLiteral("name")); + for (View *view : std::as_const(m_views)) { + if (view->name() == viewName) { + loadViewsInfo(view, viewElement); + loadedAnything = true; + break; + } + } + } + viewNode = viewNode.nextSibling(); + } + } + infoNode = infoNode.nextSibling(); + } + } + + topLevelNode = topLevelNode.nextSibling(); + } // + + return loadedAnything; +} + +void DocumentPrivate::loadViewsInfo(View *view, const QDomElement &e) +{ + QDomNode viewNode = e.firstChild(); + while (viewNode.isElement()) { + QDomElement viewElement = viewNode.toElement(); + + if (viewElement.tagName() == QLatin1String("zoom")) { + const QString valueString = viewElement.attribute(QStringLiteral("value")); + bool newzoom_ok = true; + const double newzoom = !valueString.isEmpty() ? valueString.toDouble(&newzoom_ok) : 1.0; + if (newzoom_ok && newzoom != 0 && view->supportsCapability(View::Zoom) && (view->capabilityFlags(View::Zoom) & (View::CapabilityRead | View::CapabilitySerializable))) { + view->setCapability(View::Zoom, newzoom); + } + const QString modeString = viewElement.attribute(QStringLiteral("mode")); + bool newmode_ok = true; + const int newmode = !modeString.isEmpty() ? modeString.toInt(&newmode_ok) : 2; + if (newmode_ok && view->supportsCapability(View::ZoomModality) && (view->capabilityFlags(View::ZoomModality) & (View::CapabilityRead | View::CapabilitySerializable))) { + view->setCapability(View::ZoomModality, newmode); + } + } else if (viewElement.tagName() == QLatin1String("viewMode")) { + const QString modeString = viewElement.attribute(QStringLiteral("mode")); + bool newmode_ok = true; + const int newmode = !modeString.isEmpty() ? modeString.toInt(&newmode_ok) : 2; + if (newmode_ok && view->supportsCapability(View::ViewModeModality) && (view->capabilityFlags(View::ViewModeModality) & (View::CapabilityRead | View::CapabilitySerializable))) { + view->setCapability(View::ViewModeModality, newmode); + } + } else if (viewElement.tagName() == QLatin1String("continuous")) { + const QString modeString = viewElement.attribute(QStringLiteral("mode")); + bool newmode_ok = true; + const int newmode = !modeString.isEmpty() ? modeString.toInt(&newmode_ok) : 2; + if (newmode_ok && view->supportsCapability(View::Continuous) && (view->capabilityFlags(View::Continuous) & (View::CapabilityRead | View::CapabilitySerializable))) { + view->setCapability(View::Continuous, newmode); + } + } else if (viewElement.tagName() == QLatin1String("trimMargins")) { + const QString valueString = viewElement.attribute(QStringLiteral("value")); + bool newmode_ok = true; + const int newmode = !valueString.isEmpty() ? valueString.toInt(&newmode_ok) : 2; + if (newmode_ok && view->supportsCapability(View::TrimMargins) && (view->capabilityFlags(View::TrimMargins) & (View::CapabilityRead | View::CapabilitySerializable))) { + view->setCapability(View::TrimMargins, newmode); + } + } + + viewNode = viewNode.nextSibling(); + } +} + +void DocumentPrivate::setDefaultViewMode(View *view, Generator::PageLayout defaultViewMode) +{ + if (view->supportsCapability(View::ViewModeModality) && (view->capabilityFlags(View::ViewModeModality) & (View::CapabilityRead | View::CapabilitySerializable))) { + view->setCapability(View::ViewModeModality, (int)defaultViewMode); + } + + if (SettingsCore::useFileInfoForViewContinuous()) { + if (view->supportsCapability(View::Continuous) && (view->capabilityFlags(View::Continuous) & (View::CapabilityRead | View::CapabilitySerializable))) { + view->setCapability(View::Continuous, (int)m_generator->defaultPageContinuous()); + } + } +} + +void DocumentPrivate::saveViewsInfo(View *view, QDomElement &e) const +{ + if (view->supportsCapability(View::Zoom) && (view->capabilityFlags(View::Zoom) & (View::CapabilityRead | View::CapabilitySerializable)) && view->supportsCapability(View::ZoomModality) && + (view->capabilityFlags(View::ZoomModality) & (View::CapabilityRead | View::CapabilitySerializable))) { + QDomElement zoomEl = e.ownerDocument().createElement(QStringLiteral("zoom")); + e.appendChild(zoomEl); + bool ok = true; + const double zoom = view->capability(View::Zoom).toDouble(&ok); + if (ok && zoom != 0) { + zoomEl.setAttribute(QStringLiteral("value"), QString::number(zoom)); + } + const int mode = view->capability(View::ZoomModality).toInt(&ok); + if (ok) { + zoomEl.setAttribute(QStringLiteral("mode"), mode); + } + } + if (view->supportsCapability(View::Continuous) && (view->capabilityFlags(View::Continuous) & (View::CapabilityRead | View::CapabilitySerializable))) { + QDomElement contEl = e.ownerDocument().createElement(QStringLiteral("continuous")); + e.appendChild(contEl); + const bool mode = view->capability(View::Continuous).toBool(); + contEl.setAttribute(QStringLiteral("mode"), mode); + } + if (view->supportsCapability(View::ViewModeModality) && (view->capabilityFlags(View::ViewModeModality) & (View::CapabilityRead | View::CapabilitySerializable))) { + QDomElement viewEl = e.ownerDocument().createElement(QStringLiteral("viewMode")); + e.appendChild(viewEl); + bool ok = true; + const int mode = view->capability(View::ViewModeModality).toInt(&ok); + if (ok) { + viewEl.setAttribute(QStringLiteral("mode"), mode); + } + } + if (view->supportsCapability(View::TrimMargins) && (view->capabilityFlags(View::TrimMargins) & (View::CapabilityRead | View::CapabilitySerializable))) { + QDomElement contEl = e.ownerDocument().createElement(QStringLiteral("trimMargins")); + e.appendChild(contEl); + const bool value = view->capability(View::TrimMargins).toBool(); + contEl.setAttribute(QStringLiteral("value"), value); + } +} + +QUrl DocumentPrivate::giveAbsoluteUrl(const QString &fileName) const +{ + if (!QDir::isRelativePath(fileName)) { + return QUrl::fromLocalFile(fileName); + } + + if (!m_url.isValid()) { + return QUrl(); + } + + return QUrl(KIO::upUrl(m_url).toString() + fileName); +} + +bool DocumentPrivate::openRelativeFile(const QString &fileName) +{ + const QUrl newUrl = giveAbsoluteUrl(fileName); + if (newUrl.isEmpty()) { + return false; + } + + qCDebug(OkularCoreDebug).nospace() << "openRelativeFile: '" << newUrl << "'"; + + Q_EMIT m_parent->openUrl(newUrl); + return m_url == newUrl; +} + +Generator *DocumentPrivate::loadGeneratorLibrary(const KPluginMetaData &service) +{ + const auto result = KPluginFactory::instantiatePlugin(service); + + if (!result) { + qCWarning(OkularCoreDebug).nospace() << "Failed to load plugin " << service.fileName() << ": " << result.errorText; + return nullptr; + } + + GeneratorInfo info(result.plugin, service); + m_loadedGenerators.insert(service.pluginId(), info); + return result.plugin; +} + +void DocumentPrivate::loadAllGeneratorLibraries() +{ + if (m_generatorsLoaded) { + return; + } + + loadServiceList(availableGenerators()); + + m_generatorsLoaded = true; +} + +void DocumentPrivate::loadServiceList(const QList &offers) +{ + int count = offers.count(); + if (count <= 0) { + return; + } + + for (const auto &offer : std::as_const(offers)) { + auto id = offer.pluginId(); + // don't load already loaded generators + if (m_loadedGenerators.contains(id)) { + continue; + } + + auto *g = loadGeneratorLibrary(offer); + (void)g; + } +} + +void DocumentPrivate::unloadGenerator(GeneratorInfo &info) +{ + delete info.generator; + info.generator = nullptr; +} + +void DocumentPrivate::cacheExportFormats() +{ + if (m_exportCached) { + return; + } + + const auto formats = m_generator->exportFormats(); + for (const auto &format : formats) { + if (format.mimeType().name() == QLatin1String("text/plain")) { + m_exportToText = format; + } else { + m_exportFormats.append(format); + } + } + + m_exportCached = true; +} + +ConfigInterface *DocumentPrivate::generatorConfig(GeneratorInfo &info) +{ + if (info.configChecked) { + return info.config; + } + + info.config = qobject_cast(info.generator); + info.configChecked = true; + return info.config; +} + +SaveInterface *DocumentPrivate::generatorSave(GeneratorInfo &info) +{ + if (info.saveChecked) { + return info.save; + } + + info.save = qobject_cast(info.generator); + info.saveChecked = true; + return info.save; +} + +Document::OpenResult DocumentPrivate::openDocumentInternal(const KPluginMetaData &offer, bool isstdin, const QString &docFile, const QByteArray &filedata, const QString &password) +{ + QString propName = offer.pluginId(); + QHash::const_iterator genIt = m_loadedGenerators.constFind(propName); + m_walletGenerator = nullptr; + if (genIt != m_loadedGenerators.constEnd()) { + m_generator = genIt.value().generator; + } else { + m_generator = loadGeneratorLibrary(offer); + if (!m_generator) { + return Document::OpenError; + } + genIt = m_loadedGenerators.constFind(propName); + Q_ASSERT(genIt != m_loadedGenerators.constEnd()); + } + Q_ASSERT_X(m_generator, "Document::load()", "null generator?!"); + + m_generator->d_func()->m_document = this; + + // connect error reporting signals + m_openError.clear(); + QMetaObject::Connection errorToOpenErrorConnection = QObject::connect(m_generator, &Generator::error, m_parent, [this](const QString &message) { m_openError = message; }); + QObject::connect(m_generator, &Generator::warning, m_parent, &Document::warning); + QObject::connect(m_generator, &Generator::notice, m_parent, &Document::notice); + + QApplication::setOverrideCursor(Qt::WaitCursor); + + const QWindow *window = m_widget && m_widget->window() ? m_widget->window()->windowHandle() : nullptr; + const QSizeF dpi = Utils::realDpi(window); + qCDebug(OkularCoreDebug) << "Output DPI:" << dpi; + m_generator->setDPI(dpi); + + Document::OpenResult openResult = Document::OpenError; + if (!isstdin) { + openResult = m_generator->loadDocumentWithPassword(docFile, m_pagesVector, password); + } else if (!filedata.isEmpty()) { + if (m_generator->hasFeature(Generator::ReadRawData)) { + openResult = m_generator->loadDocumentFromDataWithPassword(filedata, m_pagesVector, password); + } else { + m_tempFile = new QTemporaryFile(); + if (!m_tempFile->open()) { + delete m_tempFile; + m_tempFile = nullptr; + } else { + m_tempFile->write(filedata); + QString tmpFileName = m_tempFile->fileName(); + m_tempFile->close(); + openResult = m_generator->loadDocumentWithPassword(tmpFileName, m_pagesVector, password); + } + } + } + + QApplication::restoreOverrideCursor(); + if (openResult != Document::OpenSuccess || m_pagesVector.size() <= 0) { + m_generator->d_func()->m_document = nullptr; + QObject::disconnect(m_generator, nullptr, m_parent, nullptr); + + // TODO this is a bit of a hack, since basically means that + // you can only call walletDataForFile after calling openDocument + // but since in reality it's what happens I've decided not to refactor/break API + // One solution is just kill walletDataForFile and make OpenResult be an object + // where the wallet data is also returned when OpenNeedsPassword + m_walletGenerator = m_generator; + m_generator = nullptr; + + qDeleteAll(m_pagesVector); + m_pagesVector.clear(); + delete m_tempFile; + m_tempFile = nullptr; + + // TODO: Q_EMIT a message telling the document is empty + if (openResult == Document::OpenSuccess) { + openResult = Document::OpenError; + } + } else { + /* + * Now that the document is opened, the tab (if using tabs) is visible, which means that + * we can now connect the error reporting signal directly to the parent + */ + + QObject::disconnect(errorToOpenErrorConnection); + QObject::connect(m_generator, &Generator::error, m_parent, &Document::error); + } + + return openResult; +} + +bool DocumentPrivate::savePageDocumentInfo(QTemporaryFile *infoFile, int what) const +{ + if (infoFile->open()) { + // 1. Create DOM + QDomDocument doc(QStringLiteral("documentInfo")); + QDomProcessingInstruction xmlPi = doc.createProcessingInstruction(QStringLiteral("xml"), QStringLiteral("version=\"1.0\" encoding=\"utf-8\"")); + doc.appendChild(xmlPi); + QDomElement root = doc.createElement(QStringLiteral("documentInfo")); + doc.appendChild(root); + + // 2.1. Save page attributes (bookmark state, annotations, ... ) to DOM + QDomElement pageList = doc.createElement(QStringLiteral("pageList")); + root.appendChild(pageList); + // .... save pages that hold data + for (Page *const page : m_pagesVector) { + page->d->saveLocalContents(pageList, doc, PageItems(what)); + } + + // 3. Save DOM to XML file + QString xml = doc.toString(); + + QTextStream os(infoFile); + os.setEncoding(QStringConverter::Utf8); + os << xml; + return true; + } + return false; +} + +DocumentViewport DocumentPrivate::nextDocumentViewport() const +{ + DocumentViewport ret = m_nextDocumentViewport; + if (!m_nextDocumentDestination.isEmpty() && m_generator) { + DocumentViewport vp(m_parent->metaData(QStringLiteral("NamedViewport"), m_nextDocumentDestination).toString()); + if (vp.isValid()) { + ret = vp; + } + } + return ret; +} + +void DocumentPrivate::performAddPageAnnotation(int page, Annotation *annotation) +{ + Okular::SaveInterface *iface = qobject_cast(m_generator); + AnnotationProxy *proxy = iface ? iface->annotationProxy() : nullptr; + + // find out the page to attach annotation + Page *kp = m_pagesVector[page]; + if (!m_generator || !kp) { + return; + } + + // the annotation belongs already to a page + if (annotation->d_ptr->m_page) { + return; + } + + // add annotation to the page + kp->addAnnotation(annotation); + + // tell the annotation proxy + if (proxy && proxy->supports(AnnotationProxy::Addition)) { + proxy->notifyAddition(annotation, page); + } + + // notify observers about the change + notifyAnnotationChanges(page); + + if (annotation->flags() & Annotation::ExternallyDrawn) { + // Redraw everything, including ExternallyDrawn annotations + refreshPixmaps(page); + } +} + +void DocumentPrivate::performRemovePageAnnotation(int page, Annotation *annotation) +{ + Okular::SaveInterface *iface = qobject_cast(m_generator); + AnnotationProxy *proxy = iface ? iface->annotationProxy() : nullptr; + bool isExternallyDrawn; + + // find out the page + Page *kp = m_pagesVector[page]; + if (!m_generator || !kp) { + return; + } + + if (annotation->flags() & Annotation::ExternallyDrawn) { + isExternallyDrawn = true; + } else { + isExternallyDrawn = false; + } + + // try to remove the annotation + if (m_parent->canRemovePageAnnotation(annotation)) { + // tell the annotation proxy + if (proxy && proxy->supports(AnnotationProxy::Removal)) { + proxy->notifyRemoval(annotation, page); + } + + kp->removeAnnotation(annotation); // Also destroys the object + + // in case of success, notify observers about the change + notifyAnnotationChanges(page); + + if (isExternallyDrawn) { + // Redraw everything, including ExternallyDrawn annotations + refreshPixmaps(page); + } + } +} + +void DocumentPrivate::performModifyPageAnnotation(int page, Annotation *annotation, bool appearanceChanged) +{ + Okular::SaveInterface *iface = qobject_cast(m_generator); + AnnotationProxy *proxy = iface ? iface->annotationProxy() : nullptr; + + // find out the page + const Page *kp = m_pagesVector[page]; + if (!m_generator || !kp) { + return; + } + + // tell the annotation proxy + if (proxy && proxy->supports(AnnotationProxy::Modification)) { + proxy->notifyModification(annotation, page, appearanceChanged); + } + + // notify observers about the change + notifyAnnotationChanges(page); + if (appearanceChanged && (annotation->flags() & Annotation::ExternallyDrawn)) { + /* When an annotation is being moved, the generator will not render it. + * Therefore there's no need to refresh pixmaps after the first time */ + if (annotation->flags() & (Annotation::BeingMoved | Annotation::BeingResized)) { + if (m_annotationBeingModified) { + return; + } else { // First time: take note + m_annotationBeingModified = true; + } + } else { + m_annotationBeingModified = false; + } + + // Redraw everything, including ExternallyDrawn annotations + qCDebug(OkularCoreDebug) << "Refreshing Pixmaps"; + refreshPixmaps(page); + } +} + +void DocumentPrivate::performSetAnnotationContents(const QString &newContents, Annotation *annot, int pageNumber) +{ + bool appearanceChanged = false; + + // Check if appearanceChanged should be true + switch (annot->subType()) { + // If it's an in-place TextAnnotation, set the inplace text + case Okular::Annotation::AText: { + const Okular::TextAnnotation *txtann = static_cast(annot); + if (txtann->textType() == Okular::TextAnnotation::InPlace) { + appearanceChanged = true; + } + break; + } + // If it's a LineAnnotation, check if caption text is visible + case Okular::Annotation::ALine: { + const Okular::LineAnnotation *lineann = static_cast(annot); + if (lineann->showCaption()) { + appearanceChanged = true; + } + break; + } + default: + break; + } + + // Set contents + annot->setContents(newContents); + + // Tell the document the annotation has been modified + performModifyPageAnnotation(pageNumber, annot, appearanceChanged); +} + +void DocumentPrivate::recalculateForms() +{ + const QVariant fco = m_parent->metaData(QStringLiteral("FormCalculateOrder")); + const QList formCalculateOrder = fco.value>(); + for (int formId : formCalculateOrder) { + for (Page *const page : std::as_const(m_pagesVector)) { + if (page) { + bool pageNeedsRefresh = false; + const QList forms = page->formFields(); + for (FormField *form : forms) { + if (form->id() == formId) { + const Action *action = form->additionalAction(FormField::CalculateField); + if (action) { + std::shared_ptr event; + if (dynamic_cast(form) || dynamic_cast(form)) { + // Prepare text calculate event + event = Event::createFormCalculateEvent(form, page); + const ScriptAction *linkscript = static_cast(action); + executeScriptEvent(event, linkscript); + // The value maybe changed in javascript so save it first. + QString oldVal = form->value().toString(); + + if (event) { + // Update text field from calculate + const QString newVal = event->value().toString(); + if (newVal != oldVal) { + form->setValue(QVariant(newVal)); + form->setAppearanceValue(QVariant(newVal)); + bool returnCode = true; + if (form->additionalAction(Okular::FormField::FieldModified) && !form->isReadOnly()) { + m_parent->processKeystrokeCommitAction(form->additionalAction(Okular::FormField::FieldModified), form, returnCode); + } + if (const Okular::Action *validateAction = form->additionalAction(Okular::FormField::ValidateField)) { + if (returnCode) { + m_parent->processValidateAction(validateAction, form, returnCode); + } + } + if (!returnCode) { + continue; + } else { + form->commitValue(form->value().toString()); + } + if (const Okular::Action *formatAction = form->additionalAction(Okular::FormField::FormatField)) { + // The format action handles the refresh. + m_parent->processFormatAction(formatAction, form); + } else { + form->commitFormattedValue(form->value().toString()); + Q_EMIT m_parent->refreshFormWidget(form); + pageNeedsRefresh = true; + } + } + } + } + } else { + qWarning() << "Form that is part of calculate order doesn't have a calculate action"; + } + } + } + if (pageNeedsRefresh) { + refreshPixmaps(page->number()); + } + } + } + } +} + +void DocumentPrivate::saveDocumentInfo() const +{ + if (m_xmlFileName.isEmpty()) { + return; + } + + QFile infoFile(m_xmlFileName); + qCDebug(OkularCoreDebug) << "About to save document info to" << m_xmlFileName; + if (!infoFile.open(QIODevice::WriteOnly | QIODevice::Truncate)) { + qCWarning(OkularCoreDebug) << "Failed to open docdata file" << m_xmlFileName; + return; + } + // 1. Create DOM + QDomDocument doc(QStringLiteral("documentInfo")); + QDomProcessingInstruction xmlPi = doc.createProcessingInstruction(QStringLiteral("xml"), QStringLiteral("version=\"1.0\" encoding=\"utf-8\"")); + doc.appendChild(xmlPi); + QDomElement root = doc.createElement(QStringLiteral("documentInfo")); + root.setAttribute(QStringLiteral("url"), m_url.toDisplayString(QUrl::PreferLocalFile)); + doc.appendChild(root); + + // 2.1. Save page attributes (bookmark state, annotations, ... ) to DOM + // -> do this if there are not-yet-migrated annots or forms in docdata/ + if (m_docdataMigrationNeeded) { + QDomElement pageList = doc.createElement(QStringLiteral("pageList")); + root.appendChild(pageList); + // OriginalAnnotationPageItems and OriginalFormFieldPageItems tell to + // store the same unmodified annotation list and form contents that we + // read when we opened the file and ignore any change made by the user. + // Since we don't store annotations and forms in docdata/ any more, this is + // necessary to preserve annotations/forms that previous Okular version + // had stored there. + const PageItems saveWhat = AllPageItems | OriginalAnnotationPageItems | OriginalFormFieldPageItems; + // .... save pages that hold data + for (Page *const page : std::as_const(m_pagesVector)) { + page->d->saveLocalContents(pageList, doc, saveWhat); + } + } + + // 2.2. Save document info (current viewport, history, ... ) to DOM + QDomElement generalInfo = doc.createElement(QStringLiteral("generalInfo")); + root.appendChild(generalInfo); + // create rotation node + if (m_rotation != Rotation0) { + QDomElement rotationNode = doc.createElement(QStringLiteral("rotation")); + generalInfo.appendChild(rotationNode); + rotationNode.appendChild(doc.createTextNode(QString::number((int)m_rotation))); + } + // ... save history up to OKULAR_HISTORY_SAVEDSTEPS viewports + const auto currentViewportIterator = std::list::const_iterator(m_viewportIterator); + std::list::const_iterator backIterator = currentViewportIterator; + if (backIterator != m_viewportHistory.end()) { + // go back up to OKULAR_HISTORY_SAVEDSTEPS steps from the current viewportIterator + int backSteps = OKULAR_HISTORY_SAVEDSTEPS; + while (backSteps-- && backIterator != m_viewportHistory.begin()) { + --backIterator; + } + + // create history root node + QDomElement historyNode = doc.createElement(QStringLiteral("history")); + generalInfo.appendChild(historyNode); + + // add old[backIterator] and present[viewportIterator] items + auto endIt = currentViewportIterator; + ++endIt; + while (backIterator != endIt) { + QString name = (backIterator == currentViewportIterator) ? QStringLiteral("current") : QStringLiteral("oldPage"); + QDomElement historyEntry = doc.createElement(name); + historyEntry.setAttribute(QStringLiteral("viewport"), (*backIterator).toString()); + historyNode.appendChild(historyEntry); + ++backIterator; + } + } + // create views root node + QDomElement viewsNode = doc.createElement(QStringLiteral("views")); + generalInfo.appendChild(viewsNode); + for (View *view : std::as_const(m_views)) { + QDomElement viewEntry = doc.createElement(QStringLiteral("view")); + viewEntry.setAttribute(QStringLiteral("name"), view->name()); + viewsNode.appendChild(viewEntry); + saveViewsInfo(view, viewEntry); + } + + // 3. Save DOM to XML file + QString xml = doc.toString(); + QTextStream os(&infoFile); + os.setEncoding(QStringConverter::Utf8); + os << xml; + infoFile.close(); +} + +void DocumentPrivate::slotTimedMemoryCheck() +{ + // [MEM] clean memory (for 'free mem dependent' profiles only) + if (SettingsCore::memoryLevel() != SettingsCore::EnumMemoryLevel::Low && m_allocatedPixmapsTotalMemory > 1024 * 1024) { + cleanupPixmapMemory(); + } +} + +void DocumentPrivate::sendGeneratorPixmapRequest() +{ + /* If the pixmap cache will have to be cleaned in order to make room for the + * next request, get the distance from the current viewport of the page + * whose pixmap will be removed. We will ignore preload requests for pages + * that are at the same distance or farther */ + const qulonglong memoryToFree = calculateMemoryToFree(); + const int currentViewportPage = (*m_viewportIterator).pageNumber; + int maxDistance = INT_MAX; // Default: No maximum + if (memoryToFree) { + const AllocatedPixmap *pixmapToReplace = searchLowestPriorityPixmap(true); + if (pixmapToReplace) { + maxDistance = qAbs(pixmapToReplace->page - currentViewportPage); + } + } + + // find a request + PixmapRequest *request = nullptr; + m_pixmapRequestsMutex.lock(); + while (!m_pixmapRequestsStack.empty() && !request) { + PixmapRequest *r = m_pixmapRequestsStack.back(); + if (!r) { + m_pixmapRequestsStack.pop_back(); + continue; + } + + QRect requestRect = r->isTile() ? r->normalizedRect().geometry(r->width(), r->height()) : QRect(0, 0, r->width(), r->height()); + TilesManager *tilesManager = r->d->tilesManager(); + const double normalizedArea = r->normalizedRect().width() * r->normalizedRect().height(); + const QScreen *screen = nullptr; + if (m_widget) { + const QWindow *window = m_widget->window()->windowHandle(); + if (window) { + screen = window->screen(); + } + } + if (!screen) { + screen = QGuiApplication::primaryScreen(); + } + const long screenSize = screen->devicePixelRatio() * screen->size().width() * screen->devicePixelRatio() * screen->size().height(); + + // Make sure the page is the right size to receive the pixmap + r->page()->setPageSize(r->observer(), r->width(), r->height()); + + // If it's a preload but the generator is not threaded no point in trying to preload + if (r->preload() && !m_generator->hasFeature(Generator::Threaded)) { + m_pixmapRequestsStack.pop_back(); + delete r; + } + // request only if page isn't already present and request has valid id + else if ((!r->d->mForce && r->page()->hasPixmap(r->observer(), r->width(), r->height(), r->normalizedRect())) || !m_observers.contains(r->observer())) { + m_pixmapRequestsStack.pop_back(); + delete r; + } else if (!r->d->mForce && r->preload() && qAbs(r->pageNumber() - currentViewportPage) >= maxDistance) { + m_pixmapRequestsStack.pop_back(); + // qCDebug(OkularCoreDebug) << "Ignoring request that doesn't fit in cache"; + delete r; + } + // Ignore requests for pixmaps that are already being generated + else if (tilesManager && tilesManager->isRequesting(r->normalizedRect(), r->width(), r->height())) { + m_pixmapRequestsStack.pop_back(); + delete r; + } + // If the requested area is above 4*screenSize pixels, and we're not rendering most of the page, switch on the tile manager + else if (!tilesManager && m_generator->hasFeature(Generator::TiledRendering) && (long)r->width() * (long)r->height() > 4L * screenSize && normalizedArea < 0.75) { + // if the image is too big. start using tiles + qCDebug(OkularCoreDebug).nospace() << "Start using tiles on page " << r->pageNumber() << " (" << r->width() << "x" << r->height() << " px);"; + + // fill the tiles manager with the last rendered pixmap + const QPixmap *pixmap = r->page()->_o_nearestPixmap(r->observer(), r->width(), r->height()); + if (pixmap) { + tilesManager = new TilesManager(r->pageNumber(), pixmap->width(), pixmap->height(), r->page()->rotation()); + tilesManager->setPixmap(pixmap, NormalizedRect(0, 0, 1, 1), true /*isPartialPixmap*/); + tilesManager->setSize(r->width(), r->height()); + } else { + // create new tiles manager + tilesManager = new TilesManager(r->pageNumber(), r->width(), r->height(), r->page()->rotation()); + } + tilesManager->setRequest(r->normalizedRect(), r->width(), r->height()); + r->page()->deletePixmap(r->observer()); + r->page()->d->setTilesManager(r->observer(), tilesManager); + r->setTile(true); + + // Change normalizedRect to the smallest rect that contains all + // visible tiles. + if (!r->normalizedRect().isNull()) { + NormalizedRect tilesRect; + const auto tiles = tilesManager->tilesAt(r->normalizedRect(), TilesManager::TerminalTile); + for (const Tile &tile : tiles) { + if (tilesRect.isNull()) { + tilesRect = tile.rect(); + } else { + tilesRect |= tile.rect(); + } + } + + r->setNormalizedRect(tilesRect); + request = r; + } else { + // Discard request if normalizedRect is null. This happens in + // preload requests issued by PageView if the requested page is + // not visible and the user has just switched from a non-tiled + // zoom level to a tiled one + m_pixmapRequestsStack.pop_back(); + delete r; + } + } + // If the requested area is below 3*screenSize pixels, switch off the tile manager + else if (tilesManager && (long)r->width() * (long)r->height() < 3L * screenSize) { + qCDebug(OkularCoreDebug).nospace() << "Stop using tiles on page " << r->pageNumber() << " (" << r->width() << "x" << r->height() << " px);"; + + // page is too small. stop using tiles. + r->page()->deletePixmap(r->observer()); + r->setTile(false); + + request = r; + } else if ((long)requestRect.width() * (long)requestRect.height() > 100L * screenSize && (SettingsCore::memoryLevel() != SettingsCore::EnumMemoryLevel::Greedy)) { + m_pixmapRequestsStack.pop_back(); + if (!m_warnedOutOfMemory) { + qCWarning(OkularCoreDebug).nospace() << "Running out of memory on page " << r->pageNumber() << " (" << r->width() << "x" << r->height() << " px);"; + qCWarning(OkularCoreDebug) << "this message will be reported only once."; + m_warnedOutOfMemory = true; + } + delete r; + } else { + request = r; + } + } + + // if no request found (or already generated), return + if (!request) { + m_pixmapRequestsMutex.unlock(); + return; + } + + // [MEM] preventive memory freeing + qulonglong pixmapBytes = 0; + TilesManager *tm = request->d->tilesManager(); + if (tm) { + pixmapBytes = tm->totalMemory(); + } else { + pixmapBytes = 4 * qulonglong(request->width()) * request->height(); + } + + if (pixmapBytes > (1024 * 1024)) { + cleanupPixmapMemory(memoryToFree /* previously calculated value */); + } + + // submit the request to the generator + if (m_generator->canGeneratePixmap()) { + QRect requestRect = !request->isTile() ? QRect(0, 0, request->width(), request->height()) : request->normalizedRect().geometry(request->width(), request->height()); + qCDebug(OkularCoreDebug).nospace() << "sending request observer=" << request->observer() << " " << requestRect.width() << "x" << requestRect.height() << "@" << request->pageNumber() << " async == " << request->asynchronous() + << " isTile == " << request->isTile(); + m_pixmapRequestsStack.remove(request); + + if (tm) { + tm->setRequest(request->normalizedRect(), request->width(), request->height()); + } + + if ((int)m_rotation % 2) { + request->d->swap(); + } + + if (m_rotation != Rotation0 && !request->normalizedRect().isNull()) { + request->setNormalizedRect(TilesManager::fromRotatedRect(request->normalizedRect(), m_rotation)); + } + + // If set elsewhere we already know we want it to be partial + if (!request->partialUpdatesWanted()) { + request->setPartialUpdatesWanted(request->asynchronous() && !request->page()->hasPixmap(request->observer())); + } + + // we always have to unlock _before_ the generatePixmap() because + // a sync generation would end with requestDone() -> deadlock, and + // we can not really know if the generator can do async requests + m_executingPixmapRequests.push_back(request); + m_pixmapRequestsMutex.unlock(); + m_generator->generatePixmap(request); + } else { + m_pixmapRequestsMutex.unlock(); + // pino (7/4/2006): set the polling interval from 10 to 30 + QTimer::singleShot(30, m_parent, [this] { sendGeneratorPixmapRequest(); }); + } +} + +void DocumentPrivate::rotationFinished(int page, Okular::Page *okularPage) +{ + const Okular::Page *wantedPage = m_pagesVector.value(page, nullptr); + if (!wantedPage || wantedPage != okularPage) { + return; + } + + for (DocumentObserver *o : std::as_const(m_observers)) { + o->notifyPageChanged(page, DocumentObserver::Pixmap | DocumentObserver::Annotations); + } +} + +void DocumentPrivate::slotFontReadingProgress(int page) +{ + Q_EMIT m_parent->fontReadingProgress(page); + + if (page >= (int)m_parent->pages() - 1) { + Q_EMIT m_parent->fontReadingEnded(); + m_fontThread = nullptr; + m_fontsCached = true; + } +} + +void DocumentPrivate::fontReadingGotFont(const Okular::FontInfo &font) +{ + // Try to avoid duplicate fonts + if (m_fontsCache.indexOf(font) == -1) { + m_fontsCache.append(font); + + Q_EMIT m_parent->gotFont(font); + } +} + +void DocumentPrivate::slotGeneratorConfigChanged() +{ + if (!m_generator) { + return; + } + + // reparse generator config and if something changed clear Pages + bool configchanged = false; + for (const auto &[key, value] : m_loadedGenerators.asKeyValueRange()) { + Okular::ConfigInterface *iface = generatorConfig(value); + if (iface) { + bool it_changed = iface->reparseConfig(); + if (it_changed && (m_generator == value.generator)) { + configchanged = true; + } + } + } + if (configchanged) { + // invalidate pixmaps + for (Page *const page : std::as_const(m_pagesVector)) { + page->deletePixmaps(); + } + + // [MEM] remove allocation descriptors + qDeleteAll(m_allocatedPixmaps); + m_allocatedPixmaps.clear(); + m_allocatedPixmapsTotalMemory = 0; + + // send reload signals to observers + foreachObserverD(notifyContentsCleared(DocumentObserver::Pixmap)); + } + + // free memory if in 'low' profile + if (SettingsCore::memoryLevel() == SettingsCore::EnumMemoryLevel::Low && !m_allocatedPixmaps.empty() && !m_pagesVector.isEmpty()) { + cleanupPixmapMemory(); + } +} + +void DocumentPrivate::refreshPixmaps(int pageNumber) +{ + Page *page = m_pagesVector.value(pageNumber, nullptr); + if (!page) { + return; + } + + QList pixmapsToRequest; + for (const auto &[key, value] : page->d->m_pixmaps.asKeyValueRange()) { + const QSize size = value.m_pixmap->size(); + PixmapRequest *p = new PixmapRequest(key, pageNumber, size.width(), size.height(), 1 /* dpr */, 1, PixmapRequest::Asynchronous); + p->d->mForce = true; + pixmapsToRequest << p; + } + + // Need to do this ↑↓ in two steps since requestPixmaps can end up calling cancelRenderingBecauseOf + // which changes m_pixmaps and thus breaks the loop above + for (PixmapRequest *pr : std::as_const(pixmapsToRequest)) { + const QList requestedPixmaps {pr}; + // TODO: Can it be called directly with the list, without the loop? + m_parent->requestPixmaps(requestedPixmaps, Okular::Document::NoOption); + } + + for (DocumentObserver *observer : std::as_const(m_observers)) { + QList requestedPixmaps; + + TilesManager *tilesManager = page->d->tilesManager(observer); + if (tilesManager) { + tilesManager->markDirty(); + + PixmapRequest *p = new PixmapRequest(observer, pageNumber, tilesManager->width(), tilesManager->height(), 1 /* dpr */, 1, PixmapRequest::Asynchronous); + + // Get the visible page rect + NormalizedRect visibleRect; + for (const auto *it : std::as_const(m_pageRects)) { + if (it->pageNumber == pageNumber) { + visibleRect = it->rect; + break; + } + } + + if (!visibleRect.isNull()) { + p->setNormalizedRect(visibleRect); + p->setTile(true); + p->d->mForce = true; + requestedPixmaps.push_back(p); + } else { + delete p; + } + } + + m_parent->requestPixmaps(requestedPixmaps, Okular::Document::NoOption); + } +} + +void DocumentPrivate::_o_configChanged() +{ + // free text pages if needed + calculateMaxTextPages(); + while (m_allocatedTextPagesFifo.count() > m_maxAllocatedTextPages) { + int pageToKick = m_allocatedTextPagesFifo.takeFirst(); + m_pagesVector.at(pageToKick)->setTextPage(nullptr); // deletes the textpage + } +} + +void DocumentPrivate::doContinueDirectionMatchSearch(DoContinueDirectionMatchSearchStruct *searchStruct) +{ + RunningSearch *search = m_searches.value(searchStruct->searchID); + + if ((m_searchCancelled && !searchStruct->match) || !search) { + // if the user cancelled but he just got a match, give him the match! + QApplication::restoreOverrideCursor(); + + if (search) { + search->isCurrentlySearching = false; + } + + Q_EMIT m_parent->searchFinished(searchStruct->searchID, Document::SearchCancelled); + delete searchStruct->pagesToNotify; + delete searchStruct; + return; + } + + const bool forward = search->cachedType == Document::NextMatch; + bool doContinue = false; + // if no match found, loop through the whole doc, starting from currentPage + if (!searchStruct->match) { + const int pageCount = m_pagesVector.count(); + if (search->pagesDone < pageCount) { + doContinue = true; + if (searchStruct->currentPage >= pageCount) { + searchStruct->currentPage = 0; + Q_EMIT m_parent->notice(i18n("Continuing search from beginning"), 3000); + } else if (searchStruct->currentPage < 0) { + searchStruct->currentPage = pageCount - 1; + Q_EMIT m_parent->notice(i18n("Continuing search from bottom"), 3000); + } + } + } + + if (doContinue) { + // get page + const Page *page = m_pagesVector[searchStruct->currentPage]; + // request search page if needed + if (!page->hasTextPage()) { + m_parent->requestTextPage(page->number()); + } + + // if found a match on the current page, end the loop + searchStruct->match = page->findText(searchStruct->searchID, search->cachedString, forward ? FromTop : FromBottom, search->cachedCaseSensitivity); + if (!searchStruct->match) { + if (forward) { + searchStruct->currentPage++; + } else { + searchStruct->currentPage--; + } + search->pagesDone++; + } else { + search->pagesDone = 1; + } + + // Both of the previous if branches need to call doContinueDirectionMatchSearch + QTimer::singleShot(0, m_parent, [this, searchStruct] { doContinueDirectionMatchSearch(searchStruct); }); + } else { + doProcessSearchMatch(searchStruct->match, search, searchStruct->pagesToNotify, searchStruct->currentPage, searchStruct->searchID, search->cachedViewportMove, search->cachedColor); + delete searchStruct; + } +} + +void DocumentPrivate::doProcessSearchMatch(RegularAreaRect *match, RunningSearch *search, QSet *pagesToNotify, int currentPage, int searchID, bool moveViewport, const QColor &color) +{ + // reset cursor to previous shape + QApplication::restoreOverrideCursor(); + + bool foundAMatch = false; + + search->isCurrentlySearching = false; + + // if a match has been found.. + if (match) { + // update the RunningSearch structure adding this match.. + foundAMatch = true; + search->continueOnPage = currentPage; + search->continueOnMatch = *match; + search->highlightedPages.insert(currentPage); + // ..add highlight to the page.. + m_pagesVector[currentPage]->d->setHighlight(*match, color, searchID); + + // ..queue page for notifying changes.. + pagesToNotify->insert(currentPage); + + // Create a normalized rectangle around the search match that includes a 5% buffer on all sides. + const Okular::NormalizedRect matchRectWithBuffer = Okular::NormalizedRect(match->first().left - 0.05, match->first().top - 0.05, match->first().right + 0.05, match->first().bottom + 0.05); + + const bool matchRectFullyVisible = isNormalizedRectangleFullyVisible(matchRectWithBuffer, currentPage); + + // ..move the viewport to show the first of the searched word sequence centered + if (moveViewport && !matchRectFullyVisible) { + DocumentViewport searchViewport(currentPage); + searchViewport.rePos.enabled = true; + searchViewport.rePos.normalizedX = (match->first().left + match->first().right) / 2.0; + searchViewport.rePos.normalizedY = (match->first().top + match->first().bottom) / 2.0; + m_parent->setViewport(searchViewport, nullptr, true); + } + delete match; + } + + // notify observers about highlights changes + for (int pageNumber : std::as_const(*pagesToNotify)) { + for (DocumentObserver *observer : std::as_const(m_observers)) { + observer->notifyPageChanged(pageNumber, DocumentObserver::Highlights); + } + } + + if (foundAMatch) { + Q_EMIT m_parent->searchFinished(searchID, Document::MatchFound); + } else { + Q_EMIT m_parent->searchFinished(searchID, Document::NoMatchFound); + } + + delete pagesToNotify; +} + +void DocumentPrivate::doContinueAllDocumentSearch(QSet *pagesToNotify, QHash> *pageMatches, int currentPage, int searchID) +{ + RunningSearch *search = m_searches.value(searchID); + + if (m_searchCancelled || !search) { + typedef QList Matches; + + QApplication::restoreOverrideCursor(); + + if (search) { + search->isCurrentlySearching = false; + } + + Q_EMIT m_parent->searchFinished(searchID, Document::SearchCancelled); + for (const Matches &mv : std::as_const(*pageMatches)) { + qDeleteAll(mv); + } + delete pageMatches; + delete pagesToNotify; + return; + } + + if (currentPage < m_pagesVector.count()) { + // get page (from the first to the last) + Page *page = m_pagesVector.at(currentPage); + + // request search page if needed + if (!page->hasTextPage()) { + int pageNumber = page->number(); // redundant? is it == currentPage ? + m_parent->requestTextPage(pageNumber); + } + + // loop on a page adding highlights for all found items + RegularAreaRect *lastMatch = nullptr; + while (true) { + if (lastMatch) { + lastMatch = page->findText(searchID, search->cachedString, NextResult, search->cachedCaseSensitivity, lastMatch); + } else { + lastMatch = page->findText(searchID, search->cachedString, FromTop, search->cachedCaseSensitivity); + } + + if (!lastMatch) { + break; + } + + // add highlight rect to the matches map + (*pageMatches)[page].append(lastMatch); + } + delete lastMatch; + + QTimer::singleShot(0, m_parent, [this, pagesToNotify, pageMatches, currentPage, searchID] { doContinueAllDocumentSearch(pagesToNotify, pageMatches, currentPage + 1, searchID); }); + } else { + // reset cursor to previous shape + QApplication::restoreOverrideCursor(); + + search->isCurrentlySearching = false; + bool foundAMatch = pageMatches->count() != 0; + for (auto [key, value] : pageMatches->asKeyValueRange()) { + for (RegularAreaRect *&match : value) { + key->d->setHighlight(*match, search->cachedColor, searchID); + delete match; + match = nullptr; + } + search->highlightedPages.insert(key->number()); + pagesToNotify->insert(key->number()); + } + + for (DocumentObserver *observer : std::as_const(m_observers)) { + observer->notifySetup(m_pagesVector, 0); + } + + // notify observers about highlights changes + for (int pageNumber : std::as_const(*pagesToNotify)) { + for (DocumentObserver *observer : std::as_const(m_observers)) { + observer->notifyPageChanged(pageNumber, DocumentObserver::Highlights); + } + } + + if (foundAMatch) { + Q_EMIT m_parent->searchFinished(searchID, Document::MatchFound); + } else { + Q_EMIT m_parent->searchFinished(searchID, Document::NoMatchFound); + } + + delete pageMatches; + delete pagesToNotify; + } +} + +void DocumentPrivate::doContinueGooglesDocumentSearch(QSet *pagesToNotify, QHash> *pageMatches, int currentPage, int searchID, const QStringList &words) +{ + RunningSearch *search = m_searches.value(searchID); + + if (m_searchCancelled || !search) { + using Matches = QList; + + QApplication::restoreOverrideCursor(); + + if (search) { + search->isCurrentlySearching = false; + } + + Q_EMIT m_parent->searchFinished(searchID, Document::SearchCancelled); + + for (Matches &mv : *pageMatches) { + for (auto &[area, color] : mv) { + delete area; + area = nullptr; + } + } + delete pageMatches; + delete pagesToNotify; + return; + } + + const int wordCount = words.count(); + const int hueStep = (wordCount > 1) ? (60 / (wordCount - 1)) : 60; + int baseHue, baseSat, baseVal; + search->cachedColor.getHsv(&baseHue, &baseSat, &baseVal); + + if (currentPage < m_pagesVector.count()) { + // get page (from the first to the last) + Page *page = m_pagesVector.at(currentPage); + + // request search page if needed + if (!page->hasTextPage()) { + int pageNumber = page->number(); // redundant? is it == currentPage ? + m_parent->requestTextPage(pageNumber); + } + + // loop on a page adding highlights for all found items + bool allMatched = wordCount > 0, anyMatched = false; + for (int w = 0; w < wordCount; w++) { + const QString &word = words[w]; + int newHue = baseHue - w * hueStep; + if (newHue < 0) { + newHue += 360; + } + QColor wordColor = QColor::fromHsv(newHue, baseSat, baseVal); + RegularAreaRect *lastMatch = nullptr; + // add all highlights for current word + bool wordMatched = false; + while (true) { + if (lastMatch) { + lastMatch = page->findText(searchID, word, NextResult, search->cachedCaseSensitivity, lastMatch); + } else { + lastMatch = page->findText(searchID, word, FromTop, search->cachedCaseSensitivity); + } + + if (!lastMatch) { + break; + } + + // add highlight rect to the matches map + (*pageMatches)[page].append(MatchColor(lastMatch, wordColor)); + wordMatched = true; + } + allMatched = allMatched && wordMatched; + anyMatched = anyMatched || wordMatched; + } + + // if not all words are present in page, remove partial highlights + const bool matchAll = search->cachedType == Document::GoogleAll; + if (!allMatched && matchAll) { + auto &matches = (*pageMatches)[page]; + for (auto &[area, color] : matches) { + delete area; + area = nullptr; + } + pageMatches->remove(page); + } + + QTimer::singleShot(0, m_parent, [this, pagesToNotify, pageMatches, currentPage, searchID, words] { doContinueGooglesDocumentSearch(pagesToNotify, pageMatches, currentPage + 1, searchID, words); }); + } else { + // reset cursor to previous shape + QApplication::restoreOverrideCursor(); + + search->isCurrentlySearching = false; + bool foundAMatch = pageMatches->count() != 0; + for (auto [page, matches] : pageMatches->asKeyValueRange()) { + for (auto &[area, color] : matches) { + page->d->setHighlight(*area, color, searchID); + delete area; + } + search->highlightedPages.insert(page->number()); + pagesToNotify->insert(page->number()); + } + + // send page lists to update observers (since some filter on bookmarks) + for (DocumentObserver *observer : std::as_const(m_observers)) { + observer->notifySetup(m_pagesVector, 0); + } + + // notify observers about highlights changes + for (int pageNumber : std::as_const(*pagesToNotify)) { + for (DocumentObserver *observer : std::as_const(m_observers)) { + observer->notifyPageChanged(pageNumber, DocumentObserver::Highlights); + } + } + + if (foundAMatch) { + Q_EMIT m_parent->searchFinished(searchID, Document::MatchFound); + } else { + Q_EMIT m_parent->searchFinished(searchID, Document::NoMatchFound); + } + + delete pageMatches; + delete pagesToNotify; + } +} + +QVariant DocumentPrivate::documentMetaData(const Generator::DocumentMetaDataKey key, const QVariant &option) const +{ + switch (key) { + case Generator::PaperColorMetaData: { + bool giveDefault = option.toBool(); + QColor color; + if ((SettingsCore::renderMode() == SettingsCore::EnumRenderMode::Paper) && SettingsCore::changeColors()) { + color = SettingsCore::paperColor(); + } else if (giveDefault) { + color = Qt::white; + } + return color; + } + + case Generator::TextAntialiasMetaData: + switch (SettingsCore::textAntialias()) { + case SettingsCore::EnumTextAntialias::Enabled: + return true; + case SettingsCore::EnumTextAntialias::Disabled: + return false; + } + break; + + case Generator::GraphicsAntialiasMetaData: + switch (SettingsCore::graphicsAntialias()) { + case SettingsCore::EnumGraphicsAntialias::Enabled: + return true; + case SettingsCore::EnumGraphicsAntialias::Disabled: + return false; + } + break; + + case Generator::TextHintingMetaData: + switch (SettingsCore::textHinting()) { + case SettingsCore::EnumTextHinting::Enabled: + return true; + case SettingsCore::EnumTextHinting::Disabled: + return false; + } + break; + } + return QVariant(); +} + +bool DocumentPrivate::isNormalizedRectangleFullyVisible(const Okular::NormalizedRect &rectOfInterest, int rectPage) +{ + const auto &visibleRects = m_parent->visiblePageRects(); + return std::ranges::any_of(visibleRects, [&](VisiblePageRect *const it) { + return it->pageNumber == rectPage // + && it->rect.contains(rectOfInterest.left, rectOfInterest.top) // + && it->rect.contains(rectOfInterest.right, rectOfInterest.bottom); + }); +} + +struct pdfsyncpoint { + QString file; + qlonglong x; + qlonglong y; + int row; + int column; + int page; +}; + +void DocumentPrivate::loadSyncFile(const QString &filePath) +{ + QFile f(filePath + QLatin1String("sync")); + if (!f.open(QIODevice::ReadOnly)) { + return; + } + + QTextStream ts(&f); + // first row: core name of the pdf output + const QString coreName = ts.readLine(); + // second row: version string, in the form 'Version %u' + const QString versionstr = ts.readLine(); + // anchor the pattern with \A and \z to match the entire subject string + // TODO: with Qt 5.12 QRegularExpression::anchoredPattern() can be used instead + static QRegularExpression versionre(QStringLiteral("\\AVersion \\d+\\z"), QRegularExpression::CaseInsensitiveOption); + QRegularExpressionMatch match = versionre.match(versionstr); + if (!match.hasMatch()) { + return; + } + + QHash points; + QStack fileStack; + int currentpage = -1; + const QLatin1String texStr(".tex"); + const QChar spaceChar = QChar::fromLatin1(' '); + + fileStack.push(coreName + texStr); + + const QSizeF dpi = m_generator->dpi(); + + QString line; + while (!ts.atEnd()) { + line = ts.readLine(); + const QStringList tokens = line.split(spaceChar, Qt::SkipEmptyParts); + const int tokenSize = tokens.count(); + if (tokenSize < 1) { + continue; + } + if (tokens.first() == QLatin1String("l") && tokenSize >= 3) { + int id = tokens.at(1).toInt(); + QHash::const_iterator it = points.constFind(id); + if (it == points.constEnd()) { + pdfsyncpoint pt; + pt.x = 0; + pt.y = 0; + pt.row = tokens.at(2).toInt(); + pt.column = 0; // TODO + pt.page = -1; + pt.file = fileStack.top(); + points[id] = pt; + } + } else if (tokens.first() == QLatin1String("s") && tokenSize >= 2) { + currentpage = tokens.at(1).toInt() - 1; + } else if (tokens.first() == QLatin1String("p*") && tokenSize >= 4) { + // TODO + qCDebug(OkularCoreDebug) << "PdfSync: 'p*' line ignored"; + } else if (tokens.first() == QLatin1String("p") && tokenSize >= 4) { + int id = tokens.at(1).toInt(); + QHash::iterator it = points.find(id); + if (it != points.end()) { + it->x = tokens.at(2).toInt(); + it->y = tokens.at(3).toInt(); + it->page = currentpage; + } + } else if (line.startsWith(QLatin1Char('(')) && tokenSize == 1) { + QString newfile = line; + // chop the leading '(' + newfile.remove(0, 1); + if (!newfile.endsWith(texStr)) { + newfile += texStr; + } + fileStack.push(newfile); + } else if (line == QLatin1String(")")) { + if (!fileStack.isEmpty()) { + fileStack.pop(); + } else { + qCDebug(OkularCoreDebug) << "PdfSync: going one level down too much"; + } + } else { + qCDebug(OkularCoreDebug).nospace() << "PdfSync: unknown line format: '" << line << "'"; + } + } + + QList> refRects(m_pagesVector.size()); + for (const pdfsyncpoint &pt : std::as_const(points)) { + // drop pdfsync points not completely valid + if (pt.page < 0 || pt.page >= m_pagesVector.size()) { + continue; + } + + // magic numbers for TeX's RSU's (Ridiculously Small Units) conversion to pixels + Okular::NormalizedPoint p((pt.x * dpi.width()) / (72.27 * 65536.0 * m_pagesVector[pt.page]->width()), (pt.y * dpi.height()) / (72.27 * 65536.0 * m_pagesVector[pt.page]->height())); + QString file = pt.file; + Okular::SourceReference *sourceRef = new Okular::SourceReference(file, pt.row, pt.column); + refRects[pt.page].append(new Okular::SourceRefObjectRect(p, sourceRef)); + } + for (int i = 0; i < refRects.size(); ++i) { + if (!refRects.at(i).isEmpty()) { + m_pagesVector[i]->setSourceReferences(refRects.at(i)); + } + } +} + +void DocumentPrivate::clearAndWaitForRequests() +{ + m_pixmapRequestsMutex.lock(); + qDeleteAll(m_pixmapRequestsStack); + m_pixmapRequestsStack.clear(); + m_pixmapRequestsMutex.unlock(); + + QEventLoop loop; + bool startEventLoop = false; + do { + m_pixmapRequestsMutex.lock(); + startEventLoop = !m_executingPixmapRequests.empty(); + + if (m_generator->hasFeature(Generator::SupportsCancelling)) { + for (PixmapRequest *executingRequest : std::as_const(m_executingPixmapRequests)) { + executingRequest->d->mShouldAbortRender = 1; + } + + if (m_generator->d_ptr->mTextPageGenerationThread) { + m_generator->d_ptr->mTextPageGenerationThread->abortExtraction(); + } + } + + m_pixmapRequestsMutex.unlock(); + if (startEventLoop) { + m_closingLoop = &loop; + loop.exec(); + m_closingLoop = nullptr; + } + } while (startEventLoop); +} + +int DocumentPrivate::findFieldPageNumber(Okular::FormField *field) +{ + // Lookup the page of the FormField + int foundPage = -1; + for (uint pageIdx = 0, nPages = m_parent->pages(); pageIdx < nPages; pageIdx++) { + const Page *p = m_parent->page(pageIdx); + if (p && p->formFields().contains(field)) { + foundPage = static_cast(pageIdx); + break; + } + } + return foundPage; +} + +void DocumentPrivate::executeScriptEvent(const std::shared_ptr &event, const Okular::ScriptAction *linkscript) +{ + if (!m_scripter) { + m_scripter = new Scripter(this); + } + m_scripter->execute(event.get(), linkscript->scriptType(), linkscript->script()); +} + +Document::Document(QWidget *widget) + : QObject(nullptr) + , d(new DocumentPrivate(this)) +{ + d->m_widget = widget; + d->m_bookmarkManager = new BookmarkManager(d); + d->m_viewportIterator = d->m_viewportHistory.insert(d->m_viewportHistory.end(), DocumentViewport()); + d->m_undoStack = new QUndoStack(this); + + connect(SettingsCore::self(), &SettingsCore::configChanged, this, [this] { d->_o_configChanged(); }); + connect(d->m_undoStack, &QUndoStack::canUndoChanged, this, &Document::canUndoChanged); + connect(d->m_undoStack, &QUndoStack::canRedoChanged, this, &Document::canRedoChanged); + connect(d->m_undoStack, &QUndoStack::cleanChanged, this, &Document::undoHistoryCleanChanged); + + qRegisterMetaType(); +} + +Document::~Document() +{ + // delete generator, pages, and related stuff + closeDocument(); + + for (View *view : std::as_const(d->m_views)) { + view->d_func()->document = nullptr; + } + + // delete the bookmark manager + delete d->m_bookmarkManager; + + // delete the loaded generators + for (auto &generator : d->m_loadedGenerators) { + d->unloadGenerator(generator); + } + d->m_loadedGenerators.clear(); + + // delete the private structure + delete d; +} + +QString DocumentPrivate::docDataFileName(const QUrl &url, qint64 document_size) +{ + QString fn = url.fileName(); + fn = QString::number(document_size) + QLatin1Char('.') + fn + QStringLiteral(".xml"); + QString docdataDir = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + QStringLiteral("/okular/docdata"); + // make sure that the okular/docdata/ directory exists (probably this used to be handled by KStandardDirs) + if (!QFileInfo::exists(docdataDir)) { + qCDebug(OkularCoreDebug) << "creating docdata folder" << docdataDir; + QDir().mkpath(docdataDir); + } + QString newokularfile = docdataDir + QLatin1Char('/') + fn; + + return newokularfile; +} + +QList DocumentPrivate::availableGenerators() +{ + static QList result; + if (result.isEmpty()) { + result = KPluginMetaData::findPlugins(QStringLiteral("okular_generators")); + } + return result; +} + +KPluginMetaData DocumentPrivate::generatorForMimeType(const QMimeType &type, QWidget *widget, const QList &triedOffers) +{ + // First try to find an exact match, and then look for more general ones (e. g. the plain text one) + // Ideally we would rank these by "closeness", but that might be overdoing it + + const QList available = availableGenerators(); + QList offers; + QList exactMatches; + + QMimeDatabase mimeDatabase; + + for (const KPluginMetaData &md : available) { + if (triedOffers.contains(md)) { + continue; + } + + const QStringList mimetypes = md.mimeTypes(); + for (const QString &supported : mimetypes) { + QMimeType mimeType = mimeDatabase.mimeTypeForName(supported); + if (mimeType == type && !exactMatches.contains(md)) { + exactMatches << md; + } + + if (type.inherits(supported) && !offers.contains(md)) { + offers << md; + } + } + } + + if (!exactMatches.isEmpty()) { + offers = exactMatches; + } + + if (offers.isEmpty()) { + return KPluginMetaData(); + } + int hRank = 0; + // best ranked offer search + if (offers.size() > 1) { + // sort the offers: the offers with an higher priority come before + auto cmp = [](const KPluginMetaData &s1, const KPluginMetaData &s2) { + const QString property = QStringLiteral("X-KDE-Priority"); + return s1.rawData().value(property).toInt() > s2.rawData().value(property).toInt(); + }; + std::stable_sort(offers.begin(), offers.end(), cmp); + + if (SettingsCore::chooseGenerators()) { + QStringList list; + list.reserve(offers.size()); + for (const auto &offer : std::as_const(offers)) { + list << offer.pluginId(); + } + ChooseEngineDialog choose(list, type, widget); + + if (choose.exec() == QDialog::Rejected) { + return KPluginMetaData(); + } + + hRank = choose.selectedGenerator(); + } + } + Q_ASSERT(hRank < offers.size()); + return offers.at(hRank); +} + +Document::OpenResult Document::openDocument(const QString &docFile, const QUrl &url, const QMimeType &_mime, const QString &password) +{ + QMimeDatabase db; + QMimeType mime = _mime; + QByteArray filedata; + int fd = -1; + if (url.scheme() == QLatin1String("fd")) { + bool ok; + fd = QStringView {url.path()}.mid(1).toInt(&ok); + if (!ok) { + return OpenError; + } + } else if (url.fileName() == QLatin1String("-")) { + fd = 0; + } + bool triedMimeFromFileContent = false; + if (fd < 0) { + if (!mime.isValid()) { + return OpenError; + } + + d->m_url = url; + d->m_docFileName = docFile; + + if (!d->updateMetadataXmlNameAndDocSize()) { + return OpenError; + } + } else { + QFile qstdin; + const bool ret = qstdin.open(fd, QIODevice::ReadOnly, QFileDevice::AutoCloseHandle); + if (!ret) { + qWarning() << "failed to read" << url << filedata; + return OpenError; + } + + filedata = qstdin.readAll(); + mime = db.mimeTypeForData(filedata); + if (!mime.isValid() || mime.isDefault()) { + return OpenError; + } + d->m_docSize = filedata.size(); + triedMimeFromFileContent = true; + } + + const bool fromFileDescriptor = fd >= 0; + + // 0. load Generator + // request only valid non-disabled plugins suitable for the mimetype + KPluginMetaData offer = DocumentPrivate::generatorForMimeType(mime, d->m_widget); + if (!offer.isValid() && !triedMimeFromFileContent) { + QMimeType newmime = db.mimeTypeForFile(docFile, QMimeDatabase::MatchContent); + triedMimeFromFileContent = true; + if (newmime != mime) { + mime = newmime; + offer = DocumentPrivate::generatorForMimeType(mime, d->m_widget); + } + if (!offer.isValid()) { + // There's still no offers, do a final mime search based on the filename + // We need this because sometimes (e.g. when downloading from a webserver) the mimetype we + // use is the one fed by the server, that may be wrong + newmime = db.mimeTypeForUrl(url); + + if (!newmime.isDefault() && newmime != mime) { + mime = newmime; + offer = DocumentPrivate::generatorForMimeType(mime, d->m_widget); + } + } + } + if (!offer.isValid()) { + d->m_openError = i18n("Can not find a plugin which is able to handle the document being passed."); + Q_EMIT error(d->m_openError, -1); + qCWarning(OkularCoreDebug).nospace() << "No plugin for mimetype '" << mime.name() << "'."; + return OpenError; + } + + // 1. load Document + OpenResult openResult = d->openDocumentInternal(offer, fromFileDescriptor, docFile, filedata, password); + if (openResult == OpenError) { + QList triedOffers; + triedOffers << offer; + offer = DocumentPrivate::generatorForMimeType(mime, d->m_widget, triedOffers); + + while (offer.isValid()) { + openResult = d->openDocumentInternal(offer, fromFileDescriptor, docFile, filedata, password); + + if (openResult == OpenError) { + triedOffers << offer; + offer = DocumentPrivate::generatorForMimeType(mime, d->m_widget, triedOffers); + } else { + break; + } + } + + if (openResult == OpenError && !triedMimeFromFileContent) { + QMimeType newmime = db.mimeTypeForFile(docFile, QMimeDatabase::MatchContent); + triedMimeFromFileContent = true; + if (newmime != mime) { + mime = newmime; + offer = DocumentPrivate::generatorForMimeType(mime, d->m_widget, triedOffers); + while (offer.isValid()) { + openResult = d->openDocumentInternal(offer, fromFileDescriptor, docFile, filedata, password); + + if (openResult == OpenError) { + triedOffers << offer; + offer = DocumentPrivate::generatorForMimeType(mime, d->m_widget, triedOffers); + } else { + break; + } + } + } + } + + if (openResult == OpenSuccess) { + // Clear errors, since we're trying various generators, maybe one of them errored out + // but we finally succeeded + // TODO one can still see the error message animating out but since this is a very rare + // condition we can leave this for future work + Q_EMIT error(QString(), -1); + } + } + if (openResult != OpenSuccess) { + return openResult; + } + + // no need to check for the existence of a synctex file, no parser will be + // created if none exists + d->m_synctex_scanner = synctex_scanner_new_with_output_file(QFile::encodeName(docFile).constData(), nullptr, 1); + if (!d->m_synctex_scanner && QFile::exists(docFile + QLatin1String("sync"))) { + d->loadSyncFile(docFile); + } + + d->m_generatorName = offer.pluginId(); + d->m_pageController = new PageController(); + connect(d->m_pageController, &PageController::rotationFinished, this, [this](int p, Okular::Page *op) { d->rotationFinished(p, op); }); + + for (Page *p : std::as_const(d->m_pagesVector)) { + p->d->m_doc = d; + } + + d->m_docdataMigrationNeeded = false; + + // 2. load Additional Data (bookmarks, local annotations and metadata) about the document + if (d->m_archiveData) { + // QTemporaryFile is weird and will return false in exists if fileName wasn't called before + d->m_archiveData->metadataFile.fileName(); + d->loadDocumentInfo(d->m_archiveData->metadataFile, LoadPageInfo); + d->loadDocumentInfo(LoadGeneralInfo); + } else { + if (d->loadDocumentInfo(LoadPageInfo)) { + d->m_docdataMigrationNeeded = true; + } + d->loadDocumentInfo(LoadGeneralInfo); + } + + d->m_bookmarkManager->setUrl(d->m_url); + + // 3. setup observers internal lists and data + foreachObserver(notifySetup(d->m_pagesVector, DocumentObserver::DocumentChanged | DocumentObserver::UrlChanged)); + + // 4. set initial page (restoring the page saved in xml if loaded) + DocumentViewport loadedViewport = (*d->m_viewportIterator); + if (loadedViewport.isValid()) { + (*d->m_viewportIterator) = DocumentViewport(); + if (loadedViewport.pageNumber >= (int)d->m_pagesVector.size()) { + loadedViewport.pageNumber = d->m_pagesVector.size() - 1; + } + } else { + loadedViewport.pageNumber = 0; + } + setViewport(loadedViewport); + + // start bookmark saver timer + if (!d->m_saveBookmarksTimer) { + d->m_saveBookmarksTimer = new QTimer(this); + connect(d->m_saveBookmarksTimer, &QTimer::timeout, this, [this] { d->saveDocumentInfo(); }); + } + d->m_saveBookmarksTimer->start(5 * 60 * 1000); + + // start memory check timer + if (!d->m_memCheckTimer) { + d->m_memCheckTimer = new QTimer(this); + connect(d->m_memCheckTimer, &QTimer::timeout, this, [this] { d->slotTimedMemoryCheck(); }); + } + d->m_memCheckTimer->start(kMemCheckTime); + + const DocumentViewport nextViewport = d->nextDocumentViewport(); + if (nextViewport.isValid()) { + setViewport(nextViewport); + d->m_nextDocumentViewport = DocumentViewport(); + d->m_nextDocumentDestination = QString(); + } + + AudioPlayer::instance()->setDocument(fromFileDescriptor ? QUrl() : d->m_url, this); + + const QStringList docScripts = d->m_generator->metaData(QStringLiteral("DocumentScripts"), QStringLiteral("JavaScript")).toStringList(); + if (!docScripts.isEmpty()) { + d->m_scripter = new Scripter(d); + for (const QString &docscript : docScripts) { + const Okular::ScriptAction *linkScript = new Okular::ScriptAction(Okular::JavaScript, docscript); + std::shared_ptr event = Event::createDocEvent(Event::DocOpen); + d->executeScriptEvent(event, linkScript); + } + } + + return OpenSuccess; +} + +bool DocumentPrivate::updateMetadataXmlNameAndDocSize() +{ + // m_docFileName is always local so we can use QFileInfo on it + QFileInfo fileReadTest(m_docFileName); + if (!fileReadTest.isFile() && !fileReadTest.isReadable()) { + return false; + } + + m_docSize = fileReadTest.size(); + + // determine the related "xml document-info" filename + if (m_url.isLocalFile()) { + const QString filePath = docDataFileName(m_url, m_docSize); + qCDebug(OkularCoreDebug) << "Metadata file is now:" << filePath; + m_xmlFileName = filePath; + } else { + qCDebug(OkularCoreDebug) << "Metadata file: disabled"; + m_xmlFileName = QString(); + } + + return true; +} + +KXMLGUIClient *Document::guiClient() +{ + if (d->m_generator) { + Okular::GuiInterface *iface = qobject_cast(d->m_generator); + if (iface) { + return iface->guiClient(); + } + } + return nullptr; +} + +void Document::closeDocument() +{ + // check if there's anything to close... + if (!d->m_generator) { + return; + } + + if (const Okular::Action *action = d->m_generator->additionalDocumentAction(CloseDocument)) { + processDocumentAction(action, CloseDocument); + } + + Q_EMIT aboutToClose(); + + delete d->m_pageController; + d->m_pageController = nullptr; + + delete d->m_scripter; + d->m_scripter = nullptr; + + // remove requests left in queue + d->clearAndWaitForRequests(); + + if (d->m_fontThread) { + disconnect(d->m_fontThread, nullptr, this, nullptr); + d->m_fontThread->stopExtraction(); + d->m_fontThread->wait(); + d->m_fontThread = nullptr; + } + + // stop any audio playback + AudioPlayer::instance()->stopPlaybacks(); + + // close the current document and save document info if a document is still opened + if (d->m_generator && d->m_pagesVector.size() > 0) { + d->saveDocumentInfo(); + + // free the content of the opaque backend actions (if any) + // this is a bit awkward since backends can store "random stuff" in the + // BackendOpaqueAction nativeId qvariant so we need to tell them to free it + // ideally we would just do that in the BackendOpaqueAction destructor + // but that's too late in the cleanup process, i.e. the generator has already closed its document + // and the document generator is nullptr + for (const Page *p : std::as_const(d->m_pagesVector)) { + const QList &oRects = p->objectRects(); + for (const ObjectRect *oRect : oRects) { + if (oRect->objectType() == ObjectRect::Action) { + const Action *a = static_cast(oRect->object()); + const BackendOpaqueAction *backendAction = dynamic_cast(a); + if (backendAction) { + d->m_generator->freeOpaqueActionContents(*backendAction); + } + } + } + + const QList forms = p->formFields(); + for (const FormField *form : forms) { + const QList additionalActions = form->additionalActions(); + for (const Action *a : additionalActions) { + const BackendOpaqueAction *backendAction = dynamic_cast(a); + if (backendAction) { + d->m_generator->freeOpaqueActionContents(*backendAction); + } + } + } + } + + d->m_generator->closeDocument(); + } + + if (d->m_synctex_scanner) { + synctex_scanner_free(d->m_synctex_scanner); + d->m_synctex_scanner = nullptr; + } + + // stop timers + if (d->m_memCheckTimer) { + d->m_memCheckTimer->stop(); + } + if (d->m_saveBookmarksTimer) { + d->m_saveBookmarksTimer->stop(); + } + + if (d->m_generator) { + // disconnect the generator from this document ... + d->m_generator->d_func()->m_document = nullptr; + // .. and this document from the generator signals + disconnect(d->m_generator, nullptr, this, nullptr); + + Q_ASSERT(d->m_loadedGenerators.contains(d->m_generatorName)); + } + d->m_generator = nullptr; + d->m_generatorName = QString(); + d->m_url = QUrl(); + d->m_walletGenerator = nullptr; + d->m_docFileName = QString(); + d->m_xmlFileName = QString(); + delete d->m_tempFile; + d->m_tempFile = nullptr; + delete d->m_archiveData; + d->m_archiveData = nullptr; + d->m_docSize = -1; + d->m_exportCached = false; + d->m_exportFormats.clear(); + d->m_exportToText = ExportFormat(); + d->m_fontsCached = false; + d->m_fontsCache.clear(); + d->m_rotation = Rotation0; + + // send an empty list to observers (to free their data) + foreachObserver(notifySetup({}, DocumentObserver::DocumentChanged | DocumentObserver::UrlChanged)); + + // delete pages and clear 'd->m_pagesVector' container + qDeleteAll(d->m_pagesVector); + d->m_pagesVector.clear(); + + // clear 'memory allocation' descriptors + qDeleteAll(d->m_allocatedPixmaps); + d->m_allocatedPixmaps.clear(); + + // clear 'running searches' descriptors + qDeleteAll(d->m_searches); + d->m_searches.clear(); + + // clear the visible areas and notify the observers + qDeleteAll(d->m_pageRects); + d->m_pageRects.clear(); + foreachObserver(notifyVisibleRectsChanged()); + + // reset internal variables + + d->m_viewportHistory.clear(); + d->m_viewportHistory.emplace_back(); + d->m_viewportIterator = d->m_viewportHistory.begin(); + d->m_allocatedPixmapsTotalMemory = 0; + d->m_allocatedTextPagesFifo.clear(); + d->m_pageSize = PageSize(); + d->m_pageSizes.clear(); + + d->m_documentInfo = DocumentInfo(); + d->m_documentInfoAskedKeys.clear(); + + AudioPlayer::instance()->resetDocument(); + + d->m_undoStack->clear(); + d->m_docdataMigrationNeeded = false; + +#if HAVE_MALLOC_TRIM + // trim unused memory, glibc should do this but it seems it does not + // this can greatly decrease the [perceived] memory consumption of okular + // see: https://sourceware.org/bugzilla/show_bug.cgi?id=14827 + malloc_trim(0); +#endif +} + +void Document::addObserver(DocumentObserver *pObserver) +{ + Q_ASSERT(!d->m_observers.contains(pObserver)); + d->m_observers << pObserver; + + // if the observer is added while a document is already opened, tell it + if (!d->m_pagesVector.isEmpty()) { + pObserver->notifySetup(d->m_pagesVector, DocumentObserver::DocumentChanged | DocumentObserver::UrlChanged); + pObserver->notifyViewportChanged(false /*disables smoothMove*/); + } +} + +void Document::removeObserver(DocumentObserver *pObserver) +{ + // remove observer from the set. it won't receive notifications anymore + if (d->m_observers.contains(pObserver)) { + // free observer's pixmap data + for (Page *const page : std::as_const(d->m_pagesVector)) { + page->deletePixmap(pObserver); + } + + // [MEM] free observer's allocation descriptors + auto aIt = d->m_allocatedPixmaps.begin(); + auto aEnd = d->m_allocatedPixmaps.end(); + while (aIt != aEnd) { + AllocatedPixmap *p = *aIt; + if (p->observer == pObserver) { + aIt = d->m_allocatedPixmaps.erase(aIt); + delete p; + } else { + ++aIt; + } + } + + for (PixmapRequest *executingRequest : std::as_const(d->m_executingPixmapRequests)) { + if (executingRequest->observer() == pObserver) { + d->cancelRenderingBecauseOf(executingRequest, nullptr); + } + } + + // remove observer entry from the set + d->m_observers.remove(pObserver); + } +} + +void Document::reparseConfig() +{ + // reparse generator config and if something changed clear Pages + bool configchanged = false; + if (d->m_generator) { + Okular::ConfigInterface *iface = qobject_cast(d->m_generator); + if (iface) { + configchanged = iface->reparseConfig(); + } + } + if (configchanged) { + // invalidate pixmaps + for (Page *const page : std::as_const(d->m_pagesVector)) { + page->deletePixmaps(); + } + + // [MEM] remove allocation descriptors + qDeleteAll(d->m_allocatedPixmaps); + d->m_allocatedPixmaps.clear(); + d->m_allocatedPixmapsTotalMemory = 0; + + // send reload signals to observers + foreachObserver(notifyContentsCleared(DocumentObserver::Pixmap)); + } + + // free memory if in 'low' profile + if (SettingsCore::memoryLevel() == SettingsCore::EnumMemoryLevel::Low && !d->m_allocatedPixmaps.empty() && !d->m_pagesVector.isEmpty()) { + d->cleanupPixmapMemory(); + } +} + +bool Document::isOpened() const +{ + return d->m_generator; +} + +bool Document::canConfigurePrinter() const +{ + if (d->m_generator) { + const Okular::PrintInterface *iface = qobject_cast(d->m_generator); + return iface ? true : false; + } else { + return false; + } +} + +std::pair Document::sign(const NewSignatureData &data, const QString &newPath) +{ + if (d->m_generator->canSign()) { + return d->m_generator->sign(data, newPath); + } else { + return {GenericSigningError, i18nc("Unsupported action", "Signing not implemented for this document type")}; + } +} + +Okular::CertificateStore *Document::certificateStore() const +{ + return d->m_generator ? d->m_generator->certificateStore() : nullptr; +} + +void Document::setEditorCommandOverride(const QString &editCmd) +{ + d->editorCommandOverride = editCmd; +} + +QString Document::editorCommandOverride() const +{ + return d->editorCommandOverride; +} + +DocumentInfo Document::documentInfo() const +{ + QSet keys; + for (Okular::DocumentInfo::Key ks = Okular::DocumentInfo::Title; ks < Okular::DocumentInfo::Invalid; ks = Okular::DocumentInfo::Key(ks + 1)) { + keys << ks; + } + + return documentInfo(keys); +} + +DocumentInfo Document::documentInfo(const QSet &keys) const +{ + DocumentInfo result = d->m_documentInfo; + const QSet missingKeys = keys - d->m_documentInfoAskedKeys; + + if (d->m_generator && !missingKeys.isEmpty()) { + DocumentInfo info = d->m_generator->generateDocumentInfo(missingKeys); + + if (missingKeys.contains(DocumentInfo::FilePath)) { + info.set(DocumentInfo::FilePath, currentDocument().toDisplayString()); + } + + if (d->m_docSize != -1 && missingKeys.contains(DocumentInfo::DocumentSize)) { + const QString sizeString = KFormat().formatByteSize(d->m_docSize); + info.set(DocumentInfo::DocumentSize, sizeString); + } + if (missingKeys.contains(DocumentInfo::PagesSize)) { + const QString pagesSize = d->pagesSizeString(); + if (!pagesSize.isEmpty()) { + info.set(DocumentInfo::PagesSize, pagesSize); + } + } + + if (missingKeys.contains(DocumentInfo::Pages) && info.get(DocumentInfo::Pages).isEmpty()) { + info.set(DocumentInfo::Pages, QString::number(this->pages())); + } + + d->m_documentInfo.d->values.insert(info.d->values); + d->m_documentInfo.d->titles.insert(info.d->titles); + result.d->values.insert(info.d->values); + result.d->titles.insert(info.d->titles); + } + d->m_documentInfoAskedKeys += keys; + + return result; +} + +const DocumentSynopsis *Document::documentSynopsis() const +{ + return d->m_generator ? d->m_generator->generateDocumentSynopsis() : nullptr; +} + +void Document::startFontReading() +{ + if (!d->m_generator || !d->m_generator->hasFeature(Generator::FontInfo) || d->m_fontThread) { + return; + } + + if (d->m_fontsCached) { + // in case we have cached fonts, simulate a reading + // this way the API is the same, and users no need to care about the + // internal caching + for (int i = 0; i < d->m_fontsCache.count(); ++i) { + Q_EMIT gotFont(d->m_fontsCache.at(i)); + Q_EMIT fontReadingProgress(i / pages()); + } + Q_EMIT fontReadingEnded(); + return; + } + + d->m_fontThread = new FontExtractionThread(d->m_generator, pages()); + connect(d->m_fontThread, &FontExtractionThread::gotFont, this, [this](const Okular::FontInfo &f) { d->fontReadingGotFont(f); }); + connect(d->m_fontThread.data(), &FontExtractionThread::progress, this, [this](int p) { d->slotFontReadingProgress(p); }); + + d->m_fontThread->startExtraction(/*d->m_generator->hasFeature( Generator::Threaded )*/ true); +} + +void Document::stopFontReading() +{ + if (!d->m_fontThread) { + return; + } + + disconnect(d->m_fontThread, nullptr, this, nullptr); + d->m_fontThread->stopExtraction(); + d->m_fontThread = nullptr; + d->m_fontsCache.clear(); +} + +bool Document::canProvideFontInformation() const +{ + return d->m_generator ? d->m_generator->hasFeature(Generator::FontInfo) : false; +} + +bool Document::canSign() const +{ + return d->m_generator ? d->m_generator->canSign() : false; +} + +const QList *Document::embeddedFiles() const +{ + return d->m_generator ? d->m_generator->embeddedFiles() : nullptr; +} + +const Page *Document::page(int n) const +{ + return (n >= 0 && n < d->m_pagesVector.count()) ? d->m_pagesVector.at(n) : nullptr; +} + +const DocumentViewport &Document::viewport() const +{ + return (*d->m_viewportIterator); +} + +const QList &Document::visiblePageRects() const +{ + return d->m_pageRects; +} + +void Document::setVisiblePageRects(const QList &visiblePageRects, DocumentObserver *excludeObserver) +{ + qDeleteAll(d->m_pageRects); + d->m_pageRects = visiblePageRects; + // notify change to all other (different from id) observers + for (DocumentObserver *o : std::as_const(d->m_observers)) { + if (o != excludeObserver) { + o->notifyVisibleRectsChanged(); + } + } +} + +uint Document::currentPage() const +{ + return (*d->m_viewportIterator).pageNumber; +} + +uint Document::pages() const +{ + return d->m_pagesVector.size(); +} + +QUrl Document::currentDocument() const +{ + return d->m_url; +} + +bool Document::isAllowed(Permission action) const +{ + if (action == Okular::AllowNotes && (d->m_docdataMigrationNeeded || !d->m_annotationEditingEnabled)) { + return false; + } + if (action == Okular::AllowFillForms && d->m_docdataMigrationNeeded) { + return false; + } + +#if !OKULAR_FORCE_DRM + if (KAuthorized::authorize(QStringLiteral("skip_drm")) && !SettingsCore::obeyDRM()) { + return true; + } +#endif + + return d->m_generator ? d->m_generator->isAllowed(action) : false; +} + +bool Document::supportsSearching() const +{ + return d->m_generator ? d->m_generator->hasFeature(Generator::TextExtraction) : false; +} + +bool Document::supportsPageSizes() const +{ + return d->m_generator ? d->m_generator->hasFeature(Generator::PageSizes) : false; +} + +bool Document::supportsTiles() const +{ + return d->m_generator ? d->m_generator->hasFeature(Generator::TiledRendering) : false; +} + +PageSize::List Document::pageSizes() const +{ + if (d->m_generator) { + if (d->m_pageSizes.isEmpty()) { + d->m_pageSizes = d->m_generator->pageSizes(); + } + return d->m_pageSizes; + } + return PageSize::List(); +} + +bool Document::canExportToText() const +{ + if (!d->m_generator) { + return false; + } + + d->cacheExportFormats(); + return !d->m_exportToText.isNull(); +} + +bool Document::exportToText(const QString &fileName) const +{ + if (!d->m_generator) { + return false; + } + + d->cacheExportFormats(); + if (d->m_exportToText.isNull()) { + return false; + } + + return d->m_generator->exportTo(fileName, d->m_exportToText); +} + +ExportFormat::List Document::exportFormats() const +{ + if (!d->m_generator) { + return ExportFormat::List(); + } + + d->cacheExportFormats(); + return d->m_exportFormats; +} + +bool Document::exportTo(const QString &fileName, const ExportFormat &format) const +{ + return d->m_generator ? d->m_generator->exportTo(fileName, format) : false; +} + +bool Document::historyAtBegin() const +{ + return d->m_viewportIterator == d->m_viewportHistory.begin(); +} + +bool Document::historyAtEnd() const +{ + return d->m_viewportIterator == --(d->m_viewportHistory.end()); +} + +QVariant Document::metaData(const QString &key, const QVariant &option) const +{ + // if option starts with "src:" assume that we are handling a + // source reference + if (key == QLatin1String("NamedViewport") && option.toString().startsWith(QLatin1String("src:"), Qt::CaseInsensitive) && d->m_synctex_scanner) { + const QString reference = option.toString(); + + // The reference is of form "src:1111Filename", where "1111" + // points to line number 1111 in the file "Filename". + // Extract the file name and the numeral part from the reference string. + // This will fail if Filename starts with a digit. + QString name, lineString; + // Remove "src:". Presence of substring has been checked before this + // function is called. + name = reference.mid(4); + // split + int nameLength = name.length(); + int i = 0; + for (i = 0; i < nameLength; ++i) { + if (!name[i].isDigit()) { + break; + } + } + lineString = name.left(i); + name = name.mid(i); + // Remove spaces. + name = name.trimmed(); + lineString = lineString.trimmed(); + // Convert line to integer. + bool ok; + int line = lineString.toInt(&ok); + if (!ok) { + line = -1; + } + + // Use column == -1 for now. + if (synctex_display_query(d->m_synctex_scanner, QFile::encodeName(name).constData(), line, -1, 0) > 0) { + synctex_node_p node; + // For now use the first hit. Could possibly be made smarter + // in case there are multiple hits. + while ((node = synctex_scanner_next_result(d->m_synctex_scanner))) { + Okular::DocumentViewport view; + + // TeX pages start at 1. + view.pageNumber = synctex_node_page(node) - 1; + + if (view.pageNumber >= 0) { + const QSizeF dpi = d->m_generator->dpi(); + + // TeX small points ... + double px = (synctex_node_visible_h(node) * dpi.width()) / 72.27; + double py = (synctex_node_visible_v(node) * dpi.height()) / 72.27; + view.rePos.normalizedX = px / page(view.pageNumber)->width(); + view.rePos.normalizedY = (py + 0.5) / page(view.pageNumber)->height(); + view.rePos.enabled = true; + view.rePos.pos = Okular::DocumentViewport::Center; + + return view.toString(); + } + } + } + } + return d->m_generator ? d->m_generator->metaData(key, option) : QVariant(); +} + +Rotation Document::rotation() const +{ + return d->m_rotation; +} + +QSizeF Document::allPagesSize() const +{ + const auto getSize = [](const Page *page) { return QSizeF(page->width(), page->height()); }; + if (d->m_pagesVector.count() != 0) { + const auto sample = getSize(d->m_pagesVector[0]); + const auto isSameSize = [&](const Page *page) { return getSize(page) == sample; }; + if (std::ranges::all_of(d->m_pagesVector, isSameSize)) { + return sample; + } + } + return QSizeF(); +} + +QString Document::pageSizeString(int page) const +{ + if (d->m_generator) { + if (d->m_generator->pagesSizeMetric() != Generator::None) { + const Page *p = d->m_pagesVector.at(page); + return d->localizedSize(QSizeF(p->width(), p->height())); + } + } + return QString(); +} + +static bool shouldCancelRenderingBecauseOf(const PixmapRequest &executingRequest, const PixmapRequest &otherRequest) +{ + // New request has higher priority -> cancel + if (executingRequest.priority() > otherRequest.priority()) { + return true; + } + + // New request has lower priority -> don't cancel + if (executingRequest.priority() < otherRequest.priority()) { + return false; + } + + // New request has same priority and is from a different observer -> don't cancel + // AFAIK this never happens since all observers have different priorities + if (executingRequest.observer() != otherRequest.observer()) { + return false; + } + + // Same priority and observer, different page number -> don't cancel + // may still end up cancelled later in the parent caller if none of the requests + // is of the executingRequest page and RemoveAllPrevious is specified + if (executingRequest.pageNumber() != otherRequest.pageNumber()) { + return false; + } + + // Same priority, observer, page, different size -> cancel + if (executingRequest.width() != otherRequest.width()) { + return true; + } + + // Same priority, observer, page, different size -> cancel + if (executingRequest.height() != otherRequest.height()) { + return true; + } + + // Same priority, observer, page, different tiling -> cancel + if (executingRequest.isTile() != otherRequest.isTile()) { + return true; + } + + // Same priority, observer, page, different tiling -> cancel + if (executingRequest.isTile()) { + const NormalizedRect bothRequestsRect = executingRequest.normalizedRect() | otherRequest.normalizedRect(); + if (!(bothRequestsRect == executingRequest.normalizedRect())) { + return true; + } + } + + return false; +} + +bool DocumentPrivate::cancelRenderingBecauseOf(PixmapRequest *executingRequest, PixmapRequest *newRequest) +{ + // No point in aborting the rendering already finished, let it go through + if (!executingRequest->d->mResultImage.isNull()) { + return false; + } + + if (newRequest && newRequest->asynchronous() && executingRequest->partialUpdatesWanted()) { + newRequest->setPartialUpdatesWanted(true); + } + + TilesManager *tm = executingRequest->d->tilesManager(); + if (tm) { + tm->setPixmap(nullptr, executingRequest->normalizedRect(), true /*isPartialPixmap*/); + tm->setRequest(NormalizedRect(), 0, 0); + } + PagePrivate::PixmapObject object = executingRequest->page()->d->m_pixmaps.take(executingRequest->observer()); + delete object.m_pixmap; + object.m_pixmap = nullptr; + + if (executingRequest->d->mShouldAbortRender != 0) { + return false; + } + + executingRequest->d->mShouldAbortRender = 1; + + if (m_generator->d_ptr->mTextPageGenerationThread && m_generator->d_ptr->mTextPageGenerationThread->page() == executingRequest->page()) { + m_generator->d_ptr->mTextPageGenerationThread->abortExtraction(); + } + + return true; +} + +void Document::requestPixmaps(const QList &requests) +{ + requestPixmaps(requests, RemoveAllPrevious); +} + +void Document::requestPixmaps(const QList &requests, PixmapRequestFlags reqOptions) +{ + if (requests.isEmpty()) { + return; + } + + if (!d->m_pageController) { + // delete requests.. + qDeleteAll(requests); + // ..and return + return; + } + + QSet observersPixmapCleared; + + // 1. [CLEAN STACK] remove previous requests of requesterID + const DocumentObserver *requesterObserver = requests.first()->observer(); + QSet requestedPages; + { + for (const PixmapRequest *request : requests) { + Q_ASSERT(request->observer() == requesterObserver); + requestedPages.insert(request->pageNumber()); + } + } + const bool removeAllPrevious = reqOptions & RemoveAllPrevious; + d->m_pixmapRequestsMutex.lock(); + auto sIt = d->m_pixmapRequestsStack.begin(); + auto sEnd = d->m_pixmapRequestsStack.end(); + while (sIt != sEnd) { + if ((*sIt)->observer() == requesterObserver && (removeAllPrevious || requestedPages.contains((*sIt)->pageNumber()))) { + // delete request and remove it from stack + delete *sIt; + sIt = d->m_pixmapRequestsStack.erase(sIt); + } else { + ++sIt; + } + } + + // 1.B [PREPROCESS REQUESTS] tweak some values of the requests + for (PixmapRequest *request : requests) { + // set the 'page field' (see PixmapRequest) and check if it is valid + qCDebug(OkularCoreDebug).nospace() << "request observer=" << request->observer() << " " << request->width() << "x" << request->height() << "@" << request->pageNumber(); + if (d->m_pagesVector.value(request->pageNumber()) == nullptr) { + // skip requests referencing an invalid page (must not happen) + delete request; + request = nullptr; + continue; + } + + request->d->mPage = d->m_pagesVector.value(request->pageNumber()); + + if (request->isTile()) { + // Change the current request rect so that only invalid tiles are + // requested. Also make sure the rect is tile-aligned. + NormalizedRect tilesRect; + const QList tiles = request->d->tilesManager()->tilesAt(request->normalizedRect(), TilesManager::TerminalTile); + for (const Tile &tile : tiles) { + if (!tile.isValid()) { + if (tilesRect.isNull()) { + tilesRect = tile.rect(); + } else { + tilesRect |= tile.rect(); + } + } + } + + request->setNormalizedRect(tilesRect); + } + + if (!request->asynchronous()) { + request->d->mPriority = 0; + } + } + + // 1.C [CANCEL REQUESTS] cancel those requests that are running and should be cancelled because of the new requests coming in + if (d->m_generator->hasFeature(Generator::SupportsCancelling)) { + for (PixmapRequest *executingRequest : std::as_const(d->m_executingPixmapRequests)) { + bool newRequestsContainExecutingRequestPage = false; + bool requestCancelled = false; + for (PixmapRequest *newRequest : requests) { + if (newRequest->pageNumber() == executingRequest->pageNumber() && requesterObserver == executingRequest->observer()) { + newRequestsContainExecutingRequestPage = true; + } + + if (shouldCancelRenderingBecauseOf(*executingRequest, *newRequest)) { + requestCancelled = d->cancelRenderingBecauseOf(executingRequest, newRequest); + } + } + + // If we were told to remove all the previous requests and the executing request page is not part of the new requests, cancel it + if (!requestCancelled && removeAllPrevious && requesterObserver == executingRequest->observer() && !newRequestsContainExecutingRequestPage) { + requestCancelled = d->cancelRenderingBecauseOf(executingRequest, nullptr); + } + + if (requestCancelled) { + observersPixmapCleared << executingRequest->observer(); + } + } + } + + // 2. [ADD TO STACK] add requests to stack + for (PixmapRequest *request : requests) { + // add request to the 'stack' at the right place + if (request->priority() == 0) { + // add priority zero requests to the top of the stack + d->m_pixmapRequestsStack.push_back(request); + } else { + // insert in stack sorted by priority + auto it = std::ranges::find_if(d->m_pixmapRequestsStack, [&](const auto &it) { // + return it->priority() <= request->priority(); + }); + d->m_pixmapRequestsStack.insert(it, request); + } + } + d->m_pixmapRequestsMutex.unlock(); + + // 3. [START FIRST GENERATION] if generator is ready, start a new generation, + // or else (if gen is running) it will be started when the new contents will + // come from generator (in requestDone()) + // all handling of requests put into sendGeneratorPixmapRequest + // if ( generator->canRequestPixmap() ) + d->sendGeneratorPixmapRequest(); + + for (DocumentObserver *o : std::as_const(observersPixmapCleared)) { + o->notifyContentsCleared(Okular::DocumentObserver::Pixmap); + } +} + +void Document::requestTextPage(uint pageNumber) +{ + Page *kp = d->m_pagesVector[pageNumber]; + if (!d->m_generator || !kp) { + return; + } + + // Memory management for TextPages + + d->m_generator->generateTextPage(kp); +} + +void DocumentPrivate::notifyAnnotationChanges(int page) +{ + foreachObserverD(notifyPageChanged(page, DocumentObserver::Annotations)); +} + +void DocumentPrivate::notifyFormChanges(int /*page*/) +{ + recalculateForms(); +} + +void Document::recalculateForms() +{ + d->recalculateForms(); +} + +void Document::addPageAnnotation(int page, Annotation *annotation) +{ + // Transform annotation's base boundary rectangle into unrotated coordinates + Page *p = d->m_pagesVector[page]; + QTransform t = p->d->rotationMatrix(); + annotation->d_ptr->baseTransform(t.inverted()); + QUndoCommand *uc = new AddAnnotationCommand(this->d, annotation, page); + d->m_undoStack->push(uc); +} + +bool Document::canModifyPageAnnotation(const Annotation *annotation) const +{ + if (!annotation || (annotation->flags() & Annotation::DenyWrite)) { + return false; + } + + if (!isAllowed(Okular::AllowNotes)) { + return false; + } + + if ((annotation->flags() & Annotation::External) && !d->canModifyExternalAnnotations()) { + return false; + } + + switch (annotation->subType()) { + case Annotation::AText: + case Annotation::ALine: + case Annotation::AGeom: + case Annotation::AHighlight: + case Annotation::AStamp: + case Annotation::AInk: + return true; + case Annotation::AWidget: +#if HAVE_NEW_SIGNATURE_API + return dynamic_cast(annotation); +#endif + return false; + default: + return false; + } +} + +void Document::prepareToModifyAnnotationProperties(Annotation *annotation) +{ + Q_ASSERT(d->m_prevPropsOfAnnotBeingModified.isNull()); + if (!d->m_prevPropsOfAnnotBeingModified.isNull()) { + qCCritical(OkularCoreDebug) << "Error: Document::prepareToModifyAnnotationProperties has already been called since last call to Document::modifyPageAnnotationProperties"; + return; + } + d->m_prevPropsOfAnnotBeingModified = annotation->getAnnotationPropertiesDomNode(); +} + +void Document::modifyPageAnnotationProperties(int page, Annotation *annotation) +{ + Q_ASSERT(!d->m_prevPropsOfAnnotBeingModified.isNull()); + if (d->m_prevPropsOfAnnotBeingModified.isNull()) { + qCCritical(OkularCoreDebug) << "Error: Document::prepareToModifyAnnotationProperties must be called before Annotation is modified"; + return; + } + QDomNode prevProps = d->m_prevPropsOfAnnotBeingModified; + QUndoCommand *uc = new Okular::ModifyAnnotationPropertiesCommand(d, annotation, page, prevProps, annotation->getAnnotationPropertiesDomNode()); + d->m_undoStack->push(uc); + d->m_prevPropsOfAnnotBeingModified.clear(); +} + +void Document::translatePageAnnotation(int page, Annotation *annotation, const NormalizedPoint &delta) +{ + int complete = (annotation->flags() & Okular::Annotation::BeingMoved) == 0; + QUndoCommand *uc = new Okular::TranslateAnnotationCommand(d, annotation, page, delta, complete); + d->m_undoStack->push(uc); +} + +void Document::adjustPageAnnotation(int page, Annotation *annotation, const Okular::NormalizedPoint &delta1, const Okular::NormalizedPoint &delta2) +{ + const bool complete = (annotation->flags() & Okular::Annotation::BeingResized) == 0; + QUndoCommand *uc = new Okular::AdjustAnnotationCommand(d, annotation, page, delta1, delta2, complete); + d->m_undoStack->push(uc); +} + +void Document::editPageAnnotationContents(int page, Annotation *annotation, const QString &newContents, int newCursorPos, int prevCursorPos, int prevAnchorPos) +{ + QString prevContents = annotation->contents(); + QUndoCommand *uc = new EditAnnotationContentsCommand(d, annotation, page, newContents, newCursorPos, prevContents, prevCursorPos, prevAnchorPos); + d->m_undoStack->push(uc); +} + +bool Document::canRemovePageAnnotation(const Annotation *annotation) const +{ + if (!annotation || (annotation->flags() & Annotation::DenyDelete)) { + return false; + } + + if ((annotation->flags() & Annotation::External) && !d->canRemoveExternalAnnotations()) { + return false; + } + + switch (annotation->subType()) { + case Annotation::AText: + case Annotation::ALine: + case Annotation::AGeom: + case Annotation::AHighlight: + case Annotation::AStamp: + case Annotation::AInk: + case Annotation::ACaret: + return true; + default: + return false; + } +} + +void Document::removePageAnnotation(int page, Annotation *annotation) +{ + QUndoCommand *uc = new RemoveAnnotationCommand(this->d, annotation, page); + d->m_undoStack->push(uc); +} + +void Document::removePageAnnotations(int page, const QList &annotations) +{ + d->m_undoStack->beginMacro(i18nc("remove a collection of annotations from the page", "remove annotations")); + for (Annotation *annotation : annotations) { + QUndoCommand *uc = new RemoveAnnotationCommand(this->d, annotation, page); + d->m_undoStack->push(uc); + } + d->m_undoStack->endMacro(); +} + +bool DocumentPrivate::canAddAnnotationsNatively() const +{ + Okular::SaveInterface *iface = qobject_cast(m_generator); + + if (iface && iface->supportsOption(Okular::SaveInterface::SaveChanges) && iface->annotationProxy() && iface->annotationProxy()->supports(AnnotationProxy::Addition)) { + return true; + } + + return false; +} + +bool DocumentPrivate::canModifyExternalAnnotations() const +{ + Okular::SaveInterface *iface = qobject_cast(m_generator); + + if (iface && iface->supportsOption(Okular::SaveInterface::SaveChanges) && iface->annotationProxy() && iface->annotationProxy()->supports(AnnotationProxy::Modification)) { + return true; + } + + return false; +} + +bool DocumentPrivate::canRemoveExternalAnnotations() const +{ + Okular::SaveInterface *iface = qobject_cast(m_generator); + + if (iface && iface->supportsOption(Okular::SaveInterface::SaveChanges) && iface->annotationProxy() && iface->annotationProxy()->supports(AnnotationProxy::Removal)) { + return true; + } + + return false; +} + +void Document::setPageTextSelection(int page, std::unique_ptr &&rect, const QColor &color) +{ + Page *kp = d->m_pagesVector[page]; + if (!d->m_generator || !kp) { + return; + } + + // add or remove the selection basing whether rect is null or not + if (rect) { + kp->d->setTextSelections(*rect, color); + } else { + kp->d->deleteTextSelections(); + } + + // notify observers about the change + foreachObserver(notifyPageChanged(page, DocumentObserver::TextSelection)); +} + +bool Document::canUndo() const +{ + return d->m_undoStack->canUndo(); +} + +bool Document::canRedo() const +{ + return d->m_undoStack->canRedo(); +} + +/* REFERENCE IMPLEMENTATION: better calling setViewport from other code +void Document::setNextPage() +{ + // advance page and set viewport on observers + if ( (*d->m_viewportIterator).pageNumber < (int)d->m_pagesVector.count() - 1 ) + setViewport( DocumentViewport( (*d->m_viewportIterator).pageNumber + 1 ) ); +} + +void Document::setPrevPage() +{ + // go to previous page and set viewport on observers + if ( (*d->m_viewportIterator).pageNumber > 0 ) + setViewport( DocumentViewport( (*d->m_viewportIterator).pageNumber - 1 ) ); +} +*/ + +void Document::setViewport(const DocumentViewport &viewport, DocumentObserver *excludeObserver, bool smoothMove, bool updateHistory) +{ + if (!viewport.isValid()) { + qCDebug(OkularCoreDebug) << "invalid viewport:" << viewport.toString(); + return; + } + if (viewport.pageNumber >= int(d->m_pagesVector.count())) { + // qCDebug(OkularCoreDebug) << "viewport out of document:" << viewport.toString(); + return; + } + + // if already broadcasted, don't redo it + DocumentViewport &oldViewport = *d->m_viewportIterator; + // disabled by enrico on 2005-03-18 (less debug output) + // if ( viewport == oldViewport ) + // qCDebug(OkularCoreDebug) << "setViewport with the same viewport."; + + const int oldPageNumber = oldViewport.pageNumber; + + // set internal viewport taking care of history + if (oldViewport.pageNumber == viewport.pageNumber || !oldViewport.isValid() || !updateHistory) { + // if page is unchanged save the viewport at current position in queue + oldViewport = viewport; + } else { + // remove elements after viewportIterator in queue + d->m_viewportHistory.erase(++d->m_viewportIterator, d->m_viewportHistory.end()); + + // keep the list to a reasonable size by removing head when needed + if (d->m_viewportHistory.size() >= OKULAR_HISTORY_MAXSTEPS) { + d->m_viewportHistory.pop_front(); + } + + // add the item at the end of the queue + d->m_viewportIterator = d->m_viewportHistory.insert(d->m_viewportHistory.end(), viewport); + } + + const int currentViewportPage = (*d->m_viewportIterator).pageNumber; + + const bool currentPageChanged = (oldPageNumber != currentViewportPage); + + // notify change to all other (different from id) observers + for (DocumentObserver *o : std::as_const(d->m_observers)) { + if (o != excludeObserver) { + o->notifyViewportChanged(smoothMove); + } + + if (currentPageChanged) { + o->notifyCurrentPageChanged(oldPageNumber, currentViewportPage); + } + } +} + +void Document::setViewportPage(int page, DocumentObserver *excludeObserver, bool smoothMove) +{ + // clamp page in range [0 ... numPages-1] + if (page < 0) { + page = 0; + } else if (page > (int)d->m_pagesVector.count()) { + page = d->m_pagesVector.count() - 1; + } + + // make a viewport from the page and broadcast it + setViewport(DocumentViewport(page), excludeObserver, smoothMove); +} + +void Document::setZoom(int factor, DocumentObserver *excludeObserver) +{ + // notify change to all other (different from id) observers + for (DocumentObserver *o : std::as_const(d->m_observers)) { + if (o != excludeObserver) { + o->notifyZoom(factor); + } + } +} + +void Document::setPrevViewport() +// restore viewport from the history +{ + if (d->m_viewportIterator != d->m_viewportHistory.begin()) { + const int oldViewportPage = d->m_viewportIterator->pageNumber; + + // restore previous viewport and notify it to observers + --d->m_viewportIterator; + foreachObserver(notifyViewportChanged(true)); + + const int currentViewportPage = d->m_viewportIterator->pageNumber; + if (oldViewportPage != currentViewportPage) { + foreachObserver(notifyCurrentPageChanged(oldViewportPage, currentViewportPage)); + } + } +} + +void Document::setNextViewport() +// restore next viewport from the history +{ + std::list::const_iterator nextIterator = d->m_viewportIterator; + ++nextIterator; + if (nextIterator != d->m_viewportHistory.end()) { + const int oldViewportPage = d->m_viewportIterator->pageNumber; + + // restore next viewport and notify it to observers + ++d->m_viewportIterator; + foreachObserver(notifyViewportChanged(true)); + + const int currentViewportPage = d->m_viewportIterator->pageNumber; + if (oldViewportPage != currentViewportPage) { + foreachObserver(notifyCurrentPageChanged(oldViewportPage, currentViewportPage)); + } + } +} + +void Document::setNextDocumentViewport(const DocumentViewport &viewport) +{ + d->m_nextDocumentViewport = viewport; +} + +void Document::setNextDocumentDestination(const QString &namedDestination) +{ + d->m_nextDocumentDestination = namedDestination; +} + +void Document::searchText(int searchID, const QString &text, bool fromStart, Qt::CaseSensitivity caseSensitivity, SearchType type, bool moveViewport, const QColor &color) +{ + d->m_searchCancelled = false; + + // safety checks: don't perform searches on empty or unsearchable docs + if (!d->m_generator || !d->m_generator->hasFeature(Generator::TextExtraction) || d->m_pagesVector.isEmpty()) { + Q_EMIT searchFinished(searchID, NoMatchFound); + return; + } + + // if searchID search not recorded, create new descriptor and init params + auto searchIt = d->m_searches.find(searchID); + if (searchIt == d->m_searches.end()) { + RunningSearch *search = new RunningSearch(); + search->continueOnPage = -1; + searchIt = d->m_searches.insert(searchID, search); + } + RunningSearch *s = *searchIt; + + // update search structure + bool newText = text != s->cachedString; + s->cachedString = text; + s->cachedType = type; + s->cachedCaseSensitivity = caseSensitivity; + s->cachedViewportMove = moveViewport; + s->cachedColor = color; + s->isCurrentlySearching = true; + + // global data for search + QSet *pagesToNotify = new QSet; + + // remove highlights from pages and queue them for notifying changes + *pagesToNotify += s->highlightedPages; + for (const int pageNumber : std::as_const(s->highlightedPages)) { + d->m_pagesVector.at(pageNumber)->d->deleteHighlights(searchID); + } + s->highlightedPages.clear(); + + // set hourglass cursor + QApplication::setOverrideCursor(Qt::WaitCursor); + + // 1. ALLDOC - process all document marking pages + if (type == AllDocument) { + QHash> *pageMatches = new QHash>; + + // search and highlight 'text' (as a solid phrase) on all pages + QTimer::singleShot(0, this, [this, pagesToNotify, pageMatches, searchID] { d->doContinueAllDocumentSearch(pagesToNotify, pageMatches, 0, searchID); }); + } + // 2. NEXTMATCH - find next matching item (or start from top) + // 3. PREVMATCH - find previous matching item (or start from bottom) + else if (type == NextMatch || type == PreviousMatch) { + // find out from where to start/resume search from + const bool forward = type == NextMatch; + const int viewportPage = (*d->m_viewportIterator).pageNumber; + const int fromStartSearchPage = forward ? 0 : d->m_pagesVector.count() - 1; + int currentPageNumber = fromStart ? fromStartSearchPage : ((s->continueOnPage != -1) ? s->continueOnPage : viewportPage); + const Page *lastPage = fromStart ? nullptr : d->m_pagesVector[currentPageNumber]; + int pagesDone = 0; + + // continue checking last TextPage first (if it is the current page) + RegularAreaRect *match = nullptr; + if (lastPage && lastPage->number() == s->continueOnPage) { + if (newText) { + match = lastPage->findText(searchID, text, forward ? FromTop : FromBottom, caseSensitivity); + } else { + match = lastPage->findText(searchID, text, forward ? NextResult : PreviousResult, caseSensitivity, &s->continueOnMatch); + } + if (!match) { + if (forward) { + currentPageNumber++; + } else { + currentPageNumber--; + } + pagesDone++; + } + } + + s->pagesDone = pagesDone; + + DoContinueDirectionMatchSearchStruct *searchStruct = new DoContinueDirectionMatchSearchStruct(); + searchStruct->pagesToNotify = pagesToNotify; + searchStruct->match = match; + searchStruct->currentPage = currentPageNumber; + searchStruct->searchID = searchID; + + QTimer::singleShot(0, this, [this, searchStruct] { d->doContinueDirectionMatchSearch(searchStruct); }); + } + // 4. GOOGLE* - process all document marking pages + else if (type == GoogleAll || type == GoogleAny) { + QHash>> *pageMatches = new QHash>>; + const QStringList words = text.split(QLatin1Char(' '), Qt::SkipEmptyParts); + + // search and highlight every word in 'text' on all pages + QTimer::singleShot(0, this, [this, pagesToNotify, pageMatches, searchID, words] { d->doContinueGooglesDocumentSearch(pagesToNotify, pageMatches, 0, searchID, words); }); + } +} + +void Document::continueSearch(int searchID) +{ + // check if searchID is present in runningSearches + auto it = d->m_searches.constFind(searchID); + if (it == d->m_searches.constEnd()) { + Q_EMIT searchFinished(searchID, NoMatchFound); + return; + } + + // start search with cached parameters from last search by searchID + RunningSearch *p = *it; + if (!p->isCurrentlySearching) { + searchText(searchID, p->cachedString, false, p->cachedCaseSensitivity, p->cachedType, p->cachedViewportMove, p->cachedColor); + } +} + +void Document::continueSearch(int searchID, SearchType type) +{ + // check if searchID is present in runningSearches + auto it = d->m_searches.constFind(searchID); + if (it == d->m_searches.constEnd()) { + Q_EMIT searchFinished(searchID, NoMatchFound); + return; + } + + // start search with cached parameters from last search by searchID + RunningSearch *p = *it; + if (!p->isCurrentlySearching) { + searchText(searchID, p->cachedString, false, p->cachedCaseSensitivity, type, p->cachedViewportMove, p->cachedColor); + } +} + +void Document::resetSearch(int searchID) +{ + // if we are closing down, don't bother doing anything + if (!d->m_generator) { + return; + } + + // check if searchID is present in runningSearches + auto searchIt = d->m_searches.find(searchID); + if (searchIt == d->m_searches.end()) { + return; + } + + // get previous parameters for search + RunningSearch *s = *searchIt; + + // unhighlight pages and inform observers about that + for (const int pageNumber : std::as_const(s->highlightedPages)) { + d->m_pagesVector.at(pageNumber)->d->deleteHighlights(searchID); + foreachObserver(notifyPageChanged(pageNumber, DocumentObserver::Highlights)); + } + + // send the setup signal too (to update views that filter on matches) + foreachObserver(notifySetup(d->m_pagesVector, 0)); + + // remove search from the runningSearches list and delete it + d->m_searches.erase(searchIt); + delete s; +} + +void Document::cancelSearch() +{ + d->m_searchCancelled = true; +} + +void Document::undo() +{ + d->m_undoStack->undo(); +} + +void Document::redo() +{ + d->m_undoStack->redo(); +} + +void Document::editFormText(int pageNumber, Okular::FormFieldText *form, const QString &newContents, int newCursorPos, int prevCursorPos, int prevAnchorPos) +{ + QUndoCommand *uc = new EditFormTextCommand(this->d, form, pageNumber, newContents, newCursorPos, form->text(), prevCursorPos, prevAnchorPos); + d->m_undoStack->push(uc); +} + +void Document::editFormText(int pageNumber, Okular::FormFieldText *form, const QString &newContents, int newCursorPos, int prevCursorPos, int prevAnchorPos, const QString &oldContents) +{ + QUndoCommand *uc = new EditFormTextCommand(this->d, form, pageNumber, newContents, newCursorPos, oldContents, prevCursorPos, prevAnchorPos); + d->m_undoStack->push(uc); +} + +void Document::editFormList(int pageNumber, FormFieldChoice *form, const QList &newChoices) +{ + const QList prevChoices = form->currentChoices(); + QUndoCommand *uc = new EditFormListCommand(this->d, form, pageNumber, newChoices, prevChoices); + d->m_undoStack->push(uc); +} + +void Document::editFormCombo(int pageNumber, FormFieldChoice *form, const QString &newText, int newCursorPos, int prevCursorPos, int prevAnchorPos) +{ + QString prevText; + if (form->currentChoices().isEmpty()) { + prevText = form->editChoice(); + } else { + prevText = form->choices().at(form->currentChoices().constFirst()); + } + + QUndoCommand *uc = new EditFormComboCommand(this->d, form, pageNumber, newText, newCursorPos, prevText, prevCursorPos, prevAnchorPos); + d->m_undoStack->push(uc); +} + +void Document::editFormButtons(int pageNumber, const QList &formButtons, const QList &newButtonStates) +{ + QUndoCommand *uc = new EditFormButtonsCommand(this->d, pageNumber, formButtons, newButtonStates); + d->m_undoStack->push(uc); +} + +void Document::reloadDocument() const +{ + const int numOfPages = pages(); + for (int i = currentPage(); i >= 0; i--) { + d->refreshPixmaps(i); + } + for (int i = currentPage() + 1; i < numOfPages; i++) { + d->refreshPixmaps(i); + } +} + +BookmarkManager *Document::bookmarkManager() const +{ + return d->m_bookmarkManager; +} + +QList Document::bookmarkedPageList() const +{ + QList list; + uint docPages = pages(); + + // pages are 0-indexed internally, but 1-indexed externally + for (uint i = 0; i < docPages; i++) { + if (bookmarkManager()->isBookmarked(i)) { + list << i + 1; + } + } + return list; +} + +QString Document::bookmarkedPageRange() const +{ + // Code formerly in Part::slotPrint() + // range detecting + QString range; + uint docPages = pages(); + int startId = -1; + int endId = -1; + + for (uint i = 0; i < docPages; ++i) { + if (bookmarkManager()->isBookmarked(i)) { + if (startId < 0) { + startId = i; + } + if (endId < 0) { + endId = startId; + } else { + ++endId; + } + } else if (startId >= 0 && endId >= 0) { + if (!range.isEmpty()) { + range += QLatin1Char(','); + } + + if (endId - startId > 0) { + range += QStringLiteral("%1-%2").arg(startId + 1).arg(endId + 1); + } else { + range += QString::number(startId + 1); + } + startId = -1; + endId = -1; + } + } + if (startId >= 0 && endId >= 0) { + if (!range.isEmpty()) { + range += QLatin1Char(','); + } + + if (endId - startId > 0) { + range += QStringLiteral("%1-%2").arg(startId + 1).arg(endId + 1); + } else { + range += QString::number(startId + 1); + } + } + return range; +} + +struct ExecuteNextActionsHelper : public QObject, private DocumentObserver { + Q_OBJECT +public: + explicit ExecuteNextActionsHelper(Document *doc) + : m_doc(doc) + { + doc->addObserver(this); + connect(doc, &Document::aboutToClose, this, [this] { b = false; }); + } + + ~ExecuteNextActionsHelper() override + { + m_doc->removeObserver(this); + } + + void notifySetup(const QList & /*pages*/, int setupFlags) override + { + if (setupFlags == DocumentChanged || setupFlags == UrlChanged) { + b = false; + } + } + + bool shouldExecuteNextAction() const + { + return b; + } + +private: + Document *const m_doc; + bool b = true; +}; + +void Document::processAction(const Action *action) +{ + if (!action) { + return; + } + + // Don't execute next actions if the action itself caused the closing of the document + const ExecuteNextActionsHelper executeNextActionsHelper(this); + + switch (action->actionType()) { + case Action::Goto: { + const GotoAction *go = static_cast(action); + d->m_nextDocumentViewport = go->destViewport(); + d->m_nextDocumentDestination = go->destinationName(); + + // Explanation of why d->m_nextDocumentViewport is needed: + // all openRelativeFile does is launch a signal telling we + // want to open another URL, the problem is that when the file is + // non local, the loading is done asynchronously so you can't + // do a setViewport after the if as it was because you are doing the setViewport + // on the old file and when the new arrives there is no setViewport for it and + // it does not show anything + + // first open filename if link is pointing outside this document + const QString filename = go->fileName(); + if (go->isExternal() && !d->openRelativeFile(filename)) { + qCWarning(OkularCoreDebug).nospace() << "Action: Error opening '" << filename << "'."; + break; + } else { + const DocumentViewport nextViewport = d->nextDocumentViewport(); + // skip local links that point to nowhere (broken ones) + if (!nextViewport.isValid()) { + break; + } + + setViewport(nextViewport, nullptr, true); + d->m_nextDocumentViewport = DocumentViewport(); + d->m_nextDocumentDestination = QString(); + } + + } break; + + case Action::Execute: { + const ExecuteAction *exe = static_cast(action); + const QString fileName = exe->fileName(); + if (fileName.endsWith(QLatin1String(".pdf"), Qt::CaseInsensitive)) { + d->openRelativeFile(fileName); + break; + } + + // Albert: the only pdf i have that has that kind of link don't define + // an application and use the fileName as the file to open + QUrl url = d->giveAbsoluteUrl(fileName); + QMimeDatabase db; + QMimeType mime = db.mimeTypeForUrl(url); + // Check executables + if (KIO::OpenUrlJob::isExecutableFile(url, mime.name())) { + // Don't have any pdf that uses this code path, just a guess on how it should work + if (!exe->parameters().isEmpty()) { + url = d->giveAbsoluteUrl(exe->parameters()); + mime = db.mimeTypeForUrl(url); + + if (KIO::OpenUrlJob::isExecutableFile(url, mime.name())) { + // this case is a link pointing to an executable with a parameter + // that also is an executable, possibly a hand-crafted pdf + Q_EMIT error(i18n("The document is trying to execute an external application and, for your safety, Okular does not allow that."), -1); + break; + } + } else { + // this case is a link pointing to an executable with no parameters + // core developers find unacceptable executing it even after asking the user + Q_EMIT error(i18n("The document is trying to execute an external application and, for your safety, Okular does not allow that."), -1); + break; + } + } + + KIO::OpenUrlJob *job = new KIO::OpenUrlJob(url, mime.name()); + job->setUiDelegate(KIO::createDefaultJobUiDelegate(KJobUiDelegate::AutoHandlingEnabled, d->m_widget)); + job->start(); + connect(job, &KIO::OpenUrlJob::result, this, [this, mime](KJob *job) { + if (job->error()) { + Q_EMIT error(i18n("No application found for opening file of mimetype %1.", mime.name()), -1); + } + }); + } break; + + case Action::DocAction: { + const DocumentAction *docaction = static_cast(action); + switch (docaction->documentActionType()) { + case DocumentAction::PageFirst: + setViewportPage(0); + break; + case DocumentAction::PagePrev: + if ((*d->m_viewportIterator).pageNumber > 0) { + setViewportPage((*d->m_viewportIterator).pageNumber - 1); + } + break; + case DocumentAction::PageNext: + if ((*d->m_viewportIterator).pageNumber < (int)d->m_pagesVector.count() - 1) { + setViewportPage((*d->m_viewportIterator).pageNumber + 1); + } + break; + case DocumentAction::PageLast: + setViewportPage(d->m_pagesVector.count() - 1); + break; + case DocumentAction::HistoryBack: + setPrevViewport(); + break; + case DocumentAction::HistoryForward: + setNextViewport(); + break; + case DocumentAction::Quit: + Q_EMIT quit(); + break; + case DocumentAction::Presentation: + Q_EMIT linkPresentation(); + break; + case DocumentAction::EndPresentation: + Q_EMIT linkEndPresentation(); + break; + case DocumentAction::Find: + Q_EMIT linkFind(); + break; + case DocumentAction::GoToPage: + Q_EMIT linkGoToPage(); + break; + case DocumentAction::Close: + Q_EMIT close(); + break; + case DocumentAction::Print: + Q_EMIT requestPrint(); + break; + case DocumentAction::SaveAs: + Q_EMIT requestSaveAs(); + break; + } + } break; + + case Action::Browse: { + const BrowseAction *browse = static_cast(action); + // if the url is a mailto one, invoke mailer + if (browse->url().scheme() == QLatin1String("mailto")) { + QDesktopServices::openUrl(browse->url()); + } else if (auto ref = extractLilyPondSourceReference(browse->url())) { + processSourceReference(*ref); + } else { + const QUrl url = browse->url(); + + // fix for #100366, documents with relative links that are the form of http:foo.pdf + if ((url.scheme() == QLatin1String("http")) && url.host().isEmpty() && url.fileName().endsWith(QLatin1String("pdf"))) { + d->openRelativeFile(url.fileName()); + break; + } + + // handle documents with relative path + QUrl realUrl; + if (d->m_url.isValid()) { + realUrl = KIO::upUrl(d->m_url).resolved(url); + } else if (!url.isRelative()) { + realUrl = url; + } + if (realUrl.isValid()) { + auto *job = new KIO::OpenUrlJob(realUrl); + job->setUiDelegate(KIO::createDefaultJobUiDelegate(KJobUiDelegate::AutoHandlingEnabled, d->m_widget.data())); + job->start(); + } + } + } break; + + case Action::Sound: { + const SoundAction *linksound = static_cast(action); + AudioPlayer::instance()->playSound(linksound->sound(), linksound); + } break; + + case Action::Script: { + const ScriptAction *linkscript = static_cast(action); + if (!d->m_scripter) { + d->m_scripter = new Scripter(d); + } + d->m_scripter->execute(nullptr, linkscript->scriptType(), linkscript->script()); + } break; + + case Action::Movie: + Q_EMIT processMovieAction(static_cast(action)); + break; + case Action::Rendition: { + const RenditionAction *linkrendition = static_cast(action); + if (!linkrendition->script().isEmpty()) { + if (!d->m_scripter) { + d->m_scripter = new Scripter(d); + } + d->m_scripter->execute(nullptr, linkrendition->scriptType(), linkrendition->script()); + } + + Q_EMIT processRenditionAction(static_cast(action)); + } break; + case Action::BackendOpaque: { + const BackendOpaqueAction *backendOpaqueAction = static_cast(action); + Okular::BackendOpaqueAction::OpaqueActionResult res = d->m_generator->opaqueAction(backendOpaqueAction); + if (res & Okular::BackendOpaqueAction::RefreshForms) { + for (const Page *p : std::as_const(d->m_pagesVector)) { + const QList forms = p->formFields(); + for (FormField *form : forms) { + Q_EMIT refreshFormWidget(form); + } + d->refreshPixmaps(p->number()); + } + } + } break; + } + + if (executeNextActionsHelper.shouldExecuteNextAction()) { + const QList nextActions = action->nextActions(); + for (const Action *a : nextActions) { + processAction(a); + } + } +} + +void Document::processFormatAction(const Action *action, Okular::FormFieldText *fft) +{ + processFormatAction(action, static_cast(fft)); +} + +void Document::processFormatAction(const Action *action, Okular::FormField *ff) +{ + if (action->actionType() != Action::Script) { + qCDebug(OkularCoreDebug) << "Unsupported action type" << action->actionType() << "for formatting."; + return; + } + + // Lookup the page of the FormFieldText + int foundPage = d->findFieldPageNumber(ff); + + if (foundPage == -1) { + qCDebug(OkularCoreDebug) << "Could not find page for formfield!"; + return; + } + + const QString unformattedText = ff->value().toString(); + + std::shared_ptr event = Event::createFormatEvent(ff, d->m_pagesVector[foundPage]); + + const ScriptAction *linkscript = static_cast(action); + + d->executeScriptEvent(event, linkscript); + + const QString formattedText = event->value().toString(); + ff->commitFormattedValue(formattedText); + if (formattedText != unformattedText) { + // We set the formattedText, because when we call refreshFormWidget + // It will set the QLineEdit to this formattedText + ff->setValue(QVariant(formattedText)); + ff->setAppearanceValue(QVariant(formattedText)); + Q_EMIT refreshFormWidget(ff); + d->refreshPixmaps(foundPage); + // Then we make the form have the unformatted text, to use + // in calculations and other things + ff->setValue(QVariant(unformattedText)); + } else if (ff->additionalAction(FormField::CalculateField)) { + // When the field was calculated we need to refresh even + // if the format script changed nothing. e.g. on error. + // This is because the recalculateForms function delegated + // the responsibility for the refresh to us. + Q_EMIT refreshFormWidget(ff); + d->refreshPixmaps(foundPage); + } +} + +QString DocumentPrivate::evaluateKeystrokeEventChange(const QString &oldVal, const QString &newVal, int selStart, int selEnd) +{ + /* + The change needs to be evaluated here in accordance with code points. + selStart and selEnd parameters passed to this method should be been adjusted accordingly. + + Since QString methods work in terms of code units, we convert the strings to UTF-32. + */ + const std::u32string oldUcs4 = oldVal.toStdU32String(); + const std::u32string newUcs4 = newVal.toStdU32String(); + if (selStart < 0 || selEnd < 0 || (selEnd - selStart) + (static_cast(newUcs4.size()) - static_cast(oldUcs4.size())) < 0) { + // Prevent Okular from crashing if incorrect parameters are passed or some bug causes incorrect calculation + return {}; + } + const size_t changeLength = (selEnd - selStart) + (newUcs4.size() - oldUcs4.size()); + if (selStart + changeLength > newUcs4.size()) { + return {}; + } + auto subview = std::u32string_view {newUcs4}.substr(selStart, changeLength); + if (subview.empty()) { + // If subview is empty (in scenarios when selStart is at end and changeLength is non-zero) fromUcs4 returns \u0000. + // This should not happen, but just a guard. + return {}; + } + Q_ASSERT(subview.length() == changeLength); + return QString::fromUcs4(subview.data(), subview.length()); +} + +void Document::processKeystrokeAction(const Action *action, Okular::FormField *ff, const QVariant &newValue, int prevCursorPos, int prevAnchorPos) +{ + if (action->actionType() != Action::Script) { + qCDebug(OkularCoreDebug) << "Unsupported action type" << action->actionType() << "for keystroke."; + return; + } + // Lookup the page of the FormFieldText + int foundPage = d->findFieldPageNumber(ff); + + if (foundPage == -1) { + qCDebug(OkularCoreDebug) << "Could not find page for formfield!"; + return; + } + + std::shared_ptr event = Event::createKeystrokeEvent(ff, d->m_pagesVector[foundPage]); + + /* Set the selStart and selEnd event properties + + QString using UTF-16 counts a code point as made up of 1 or 2 16-bit code units. + + When encoded using 2 code units, the units are referred to as surrogate pairs. + selectionStart() and selectionEnd() methods evaluate prevCursorPos and prevAnchorPos based on code units during selection. + + While this unit-based evaluation is suitable for detecting changes, for providing consistency with Adobe Reader for values of selStart and selEnd, + it would be best to evaluate in terms of code points rather than the code units. + + To correct the values of selStart and selEnd accordingly, we iterate over the code units. If a surrogate pair is encountered, then selStart and + selEnd are accordingly decremented. + */ + int selStart = std::min(prevCursorPos, prevAnchorPos); + int selEnd = std::max(prevCursorPos, prevAnchorPos); + int codeUnit; + int initialSelStart = selStart; + int initialSelEnd = selEnd; + QString inputString = ff->value().toString(); + for (codeUnit = 0; codeUnit < initialSelStart && codeUnit < inputString.size(); codeUnit++) { + if (inputString.at(codeUnit).isHighSurrogate()) { + // skip the low surrogate and decrement selStart and selEnd + codeUnit++; + selStart--; + selEnd--; + } + } + for (; codeUnit < initialSelEnd && codeUnit < inputString.size(); codeUnit++) { + if (inputString.at(codeUnit).isHighSurrogate()) { + // skip the low surrogate and decrement selEnd + codeUnit++; + selEnd--; + } + } + std::u32string oldUcs4 = inputString.toStdU32String(); + std::u32string newUcs4 = newValue.toString().toStdU32String(); + // It is necessary to count size in terms of code points rather than code units for deletion. + if (oldUcs4.size() - newUcs4.size() == 1 && selStart == selEnd) { + // consider a one character removal as selection of that character and then its removal. + selStart--; + } + event->setSelStart(selStart); + event->setSelEnd(selEnd); + // Use the corrected selStart and selEnd for evaluating the change. + event->setChange(DocumentPrivate::evaluateKeystrokeEventChange(inputString, newValue.toString(), selStart, selEnd)); + const ScriptAction *linkscript = static_cast(action); + + d->executeScriptEvent(event, linkscript); + + if (event->returnCode()) { + ff->setValue(newValue); + } else { + Q_EMIT refreshFormWidget(ff); + } +} + +void Document::processKeystrokeAction(const Action *action, Okular::FormFieldText *fft, const QVariant &newValue) +{ + // use -1 as default + processKeystrokeAction(action, fft, newValue, -1, -1); +} + +void Document::processKeystrokeCommitAction(const Action *action, Okular::FormFieldText *fft) +{ + bool returnCode = false; + processKeystrokeCommitAction(action, fft, returnCode); +} + +void Document::processKeystrokeCommitAction(const Action *action, Okular::FormField *ff, bool &returnCode) +{ + if (action->actionType() != Action::Script) { + qCDebug(OkularCoreDebug) << "Unsupported action type" << action->actionType() << "for keystroke."; + return; + } + // Lookup the page of the FormFieldText + int foundPage = d->findFieldPageNumber(ff); + + if (foundPage == -1) { + qCDebug(OkularCoreDebug) << "Could not find page for formfield!"; + return; + } + + std::shared_ptr event = Event::createKeystrokeEvent(ff, d->m_pagesVector[foundPage]); + event->setWillCommit(true); + + const ScriptAction *linkscript = static_cast(action); + + d->executeScriptEvent(event, linkscript); + + if (!event->returnCode()) { + ff->setValue(QVariant(ff->committedFormattedValue())); + Q_EMIT refreshFormWidget(ff); + ff->setValue(QVariant(ff->committedValue())); + } else { + ff->setValue(QVariant(event->value().toString())); + Q_EMIT refreshFormWidget(ff); + } + returnCode = event->returnCode(); +} + +void Document::processFocusAction(const Action *action, Okular::FormField *field) +{ + if (!action || action->actionType() != Action::Script) { + return; + } + + // Lookup the page of the FormFieldText + int foundPage = d->findFieldPageNumber(field); + + if (foundPage == -1) { + qCDebug(OkularCoreDebug) << "Could not find page for formfield!"; + return; + } + + std::shared_ptr event = Event::createFormFocusEvent(field, d->m_pagesVector[foundPage]); + + const ScriptAction *linkscript = static_cast(action); + + d->executeScriptEvent(event, linkscript); +} + +void Document::processValidateAction(const Action *action, Okular::FormFieldText *fft, bool &returnCode) +{ + processValidateAction(action, static_cast(fft), returnCode); +} + +void Document::processValidateAction(const Action *action, Okular::FormField *ff, bool &returnCode) +{ + if (!action || action->actionType() != Action::Script) { + return; + } + + // Lookup the page of the FormFieldText + int foundPage = d->findFieldPageNumber(ff); + + if (foundPage == -1) { + qCDebug(OkularCoreDebug) << "Could not find page for formfield!"; + return; + } + + std::shared_ptr event = Event::createFormValidateEvent(ff, d->m_pagesVector[foundPage]); + + const ScriptAction *linkscript = static_cast(action); + + d->executeScriptEvent(event, linkscript); + if (!event->returnCode()) { + ff->setValue(QVariant(ff->committedFormattedValue())); + Q_EMIT refreshFormWidget(ff); + ff->setValue(QVariant(ff->committedValue())); + } else { + ff->setValue(QVariant(event->value().toString())); + Q_EMIT refreshFormWidget(ff); + } + returnCode = event->returnCode(); +} + +void Document::processKVCFActions(Okular::FormField *ff) +{ + if (ff->value().toString() == ff->committedValue()) { + ff->setValue(QVariant(ff->committedFormattedValue())); + Q_EMIT refreshFormWidget(ff); + ff->setValue(QVariant(ff->committedValue())); + return; + } + + bool returnCode = true; + if (ff->additionalAction(Okular::FormField::FieldModified) && !ff->isReadOnly()) { + processKeystrokeCommitAction(ff->additionalAction(Okular::FormField::FieldModified), ff, returnCode); + } + + if (const Okular::Action *action = ff->additionalAction(Okular::FormField::ValidateField)) { + if (returnCode) { + processValidateAction(action, ff, returnCode); + } + } + + if (!returnCode) { + return; + } else { + ff->commitValue(ff->value().toString()); + } + + recalculateForms(); + + if (const Okular::Action *action = ff->additionalAction(Okular::FormField::FormatField)) { + processFormatAction(action, ff); + } else { + ff->commitFormattedValue(ff->value().toString()); + } +} + +void Document::processDocumentAction(const Action *action, DocumentAdditionalActionType type) +{ + if (!action || action->actionType() != Action::Script) { + return; + } + + Event::EventType eventType = Okular::Event::UnknownEvent; + + switch (type) { + case Document::CloseDocument: + eventType = Okular::Event::DocWillClose; + break; + case Document::SaveDocumentStart: + eventType = Okular::Event::DocWillSave; + break; + case Document::SaveDocumentFinish: + eventType = Okular::Event::DocDidSave; + break; + case Document::PrintDocumentStart: + eventType = Okular::Event::DocWillPrint; + break; + case Document::PrintDocumentFinish: + eventType = Okular::Event::DocDidPrint; + break; + } + + std::shared_ptr event = Event::createDocEvent(eventType); + + const ScriptAction *linkScript = static_cast(action); + + d->executeScriptEvent(event, linkScript); +} + +void Document::processFormMouseScriptAction(const Action *action, Okular::FormField *ff, MouseEventType fieldMouseEventType) +{ + if (!action || action->actionType() != Action::Script) { + return; + } + + Okular::Event::EventType eventType = Okular::Event::UnknownEvent; + + switch (fieldMouseEventType) { + case Document::FieldMouseDown: + eventType = Okular::Event::FieldMouseDown; + break; + case Document::FieldMouseEnter: + eventType = Okular::Event::FieldMouseEnter; + break; + case Document::FieldMouseExit: + eventType = Okular::Event::FieldMouseExit; + break; + case Document::FieldMouseUp: + eventType = Okular::Event::FieldMouseUp; + break; + } + + // Lookup the page of the FormFieldText + int foundPage = d->findFieldPageNumber(ff); + + if (foundPage == -1) { + qCDebug(OkularCoreDebug) << "Could not find page for formfield!"; + return; + } + + std::shared_ptr event = Event::createFieldMouseEvent(ff, d->m_pagesVector[foundPage], eventType); + + const ScriptAction *linkscript = static_cast(action); + + d->executeScriptEvent(event, linkscript); +} + +void Document::processFormMouseUpScripAction(const Action *action, Okular::FormField *ff) +{ + processFormMouseScriptAction(action, ff, FieldMouseUp); +} + +void Document::processSourceReference(const SourceReference *ref) +{ + if (ref) { + processSourceReference(*ref); + } +} + +void Document::processSourceReference(const SourceReference &ref) +{ + const QUrl url = d->giveAbsoluteUrl(ref.fileName()); + if (!url.isLocalFile()) { + qCDebug(OkularCoreDebug) << url.url() << "is not a local file."; + return; + } + + const QString absFileName = url.toLocalFile(); + if (!QFile::exists(absFileName)) { + qCDebug(OkularCoreDebug) << "No such file:" << absFileName; + return; + } + + bool handled = false; + Q_EMIT sourceReferenceActivated(absFileName, ref.row(), ref.column(), &handled); + if (handled) { + return; + } + + static const QHash editors = buildEditorsMap(); + + // prefer the editor from the command line + QString p = d->editorCommandOverride; + if (p.isEmpty()) { + p = editors.value(SettingsCore::externalEditor()); + } + if (p.isEmpty()) { + p = SettingsCore::externalEditorCommand(); + } + // custom editor not yet configured + if (p.isEmpty()) { + return; + } + + // manually append the %f placeholder if not specified + if (!p.contains(QLatin1String("%f"))) { + p.append(QLatin1String(" %f")); + } + + // replacing the placeholders + QHash map; + map.insert(QLatin1Char('f'), absFileName); + map.insert(QLatin1Char('c'), QString::number(ref.column())); + map.insert(QLatin1Char('l'), QString::number(ref.row())); + const QString cmd = KMacroExpander::expandMacrosShellQuote(p, map); + if (cmd.isEmpty()) { + return; + } + QStringList args = KShell::splitArgs(cmd); + if (args.isEmpty()) { + return; + } + + const QString prog = args.takeFirst(); + // Make sure prog is in PATH and not just in the CWD + const QString progFullPath = QStandardPaths::findExecutable(prog); + if (progFullPath.isEmpty()) { + return; + } + + KProcess::startDetached(progFullPath, args); +} + +const SourceReference *Document::dynamicSourceReference(int pageNr, double absX, double absY) +{ + if (!d->m_synctex_scanner) { + return nullptr; + } + + const QSizeF dpi = d->m_generator->dpi(); + + if (synctex_edit_query(d->m_synctex_scanner, pageNr + 1, absX * 72. / dpi.width(), absY * 72. / dpi.height()) > 0) { + synctex_node_p node; + // TODO what should we do if there is really more than one node? + while ((node = synctex_scanner_next_result(d->m_synctex_scanner))) { + int line = synctex_node_line(node); + int col = synctex_node_column(node); + // column extraction does not seem to be implemented in synctex so far. set the SourceReference default value. + if (col == -1) { + col = 0; + } + const char *name = synctex_scanner_get_name(d->m_synctex_scanner, synctex_node_tag(node)); + + return new Okular::SourceReference(QFile::decodeName(name), line, col); + } + } + return nullptr; +} + +Document::PrintingType Document::printingSupport() const +{ + if (d->m_generator) { + if (d->m_generator->hasFeature(Generator::PrintNative)) { + return NativePrinting; + } + +#ifndef Q_OS_WIN + if (d->m_generator->hasFeature(Generator::PrintPostscript)) { + return PostscriptPrinting; + } +#endif + } + + return NoPrinting; +} + +bool Document::supportsPrintToFile() const +{ + return d->m_generator ? d->m_generator->hasFeature(Generator::PrintToFile) : false; +} + +Document::PrintError Document::print(QPrinter &printer) +{ + if (const Okular::Action *action = d->m_generator->additionalDocumentAction(PrintDocumentStart)) { + processDocumentAction(action, PrintDocumentStart); + } + const Document::PrintError printError = d->m_generator ? d->m_generator->print(printer) : Document::UnknownPrintError; + if (printError == Document::NoPrintError) { + if (const Okular::Action *action = d->m_generator->additionalDocumentAction(PrintDocumentFinish)) { + processDocumentAction(action, PrintDocumentFinish); + } + } + return printError; +} + +QString Document::printErrorString(PrintError error) +{ + switch (error) { + case TemporaryFileOpenPrintError: + return i18n("Could not open a temporary file"); + case FileConversionPrintError: + return i18n("Print conversion failed"); + case PrintingProcessCrashPrintError: + return i18n("Printing process crashed"); + case PrintingProcessStartPrintError: + return i18n("Printing process could not start"); + case PrintToFilePrintError: + return i18n("Printing to file failed"); + case InvalidPrinterStatePrintError: + return i18n("Printer was in invalid state"); + case UnableToFindFilePrintError: + return i18n("Unable to find file to print"); + case NoFileToPrintError: + return i18n("There was no file to print"); + case NoBinaryToPrintError: + return i18n("Could not find a suitable binary for printing. Make sure CUPS lpr binary is available"); + case InvalidPageSizePrintError: + return i18n("The page print size is invalid"); + case NoPrintError: + return QString(); + case UnknownPrintError: + return QString(); + } + + return QString(); +} + +QWidget *Document::printConfigurationWidget() const +{ + if (d->m_generator) { + PrintInterface *iface = qobject_cast(d->m_generator); + return iface ? iface->printConfigurationWidget() : nullptr; + } else { + return nullptr; + } +} + +void Document::fillConfigDialog(KConfigDialog *dialog) +{ + if (!dialog) { + return; + } + + // We know it's a BackendConfigDialog, but check anyway + BackendConfigDialog *bcd = dynamic_cast(dialog); + if (!bcd) { + return; + } + + // ensure that we have all the generators with settings loaded + QList offers = DocumentPrivate::configurableGenerators(); + d->loadServiceList(offers); + + // We want the generators to be sorted by name so let's fill in a QMap + // this sorts by internal id which is not awesome, but at least the sorting + // is stable between runs that before it wasn't + QMap sortedGenerators; + for (const auto &[key, value] : d->m_loadedGenerators.asKeyValueRange()) { + sortedGenerators.insert(key, value); + } + + bool pagesAdded = false; + for (const auto &[key, value] : sortedGenerators.asKeyValueRange()) { + Okular::ConfigInterface *iface = d->generatorConfig(value); + if (iface) { + iface->addPages(dialog); + pagesAdded = true; + + if (value.generator == d->m_generator) { + const int rowCount = bcd->thePageWidget()->model()->rowCount(); + KPageView *view = bcd->thePageWidget(); + view->setCurrentPage(view->model()->index(rowCount - 1, 0)); + } + } + } + if (pagesAdded) { + connect(dialog, &KConfigDialog::settingsChanged, this, [this] { d->slotGeneratorConfigChanged(); }); + } +} + +QList DocumentPrivate::configurableGenerators() +{ + const QList available = availableGenerators(); + QList result; + for (const KPluginMetaData &md : available) { + if (md.rawData().value(QStringLiteral("X-KDE-okularHasInternalSettings")).toBool()) { + result << md; + } + } + return result; +} + +KPluginMetaData Document::generatorInfo() const +{ + if (!d->m_generator) { + return KPluginMetaData(); + } + + auto genIt = d->m_loadedGenerators.constFind(d->m_generatorName); + Q_ASSERT(genIt != d->m_loadedGenerators.constEnd()); + return genIt.value().metadata; +} + +int Document::configurableGenerators() const +{ + return DocumentPrivate::configurableGenerators().size(); +} + +QStringList Document::supportedMimeTypes() const +{ + // TODO: make it a static member of DocumentPrivate? + QStringList result = d->m_supportedMimeTypes; + if (result.isEmpty()) { + const QList available = DocumentPrivate::availableGenerators(); + for (const KPluginMetaData &md : available) { + result << md.mimeTypes(); + } + + // Remove duplicate mimetypes represented by different names + QMimeDatabase mimeDatabase; + QSet uniqueMimetypes; + for (const QString &mimeName : std::as_const(result)) { + uniqueMimetypes.insert(mimeDatabase.mimeTypeForName(mimeName)); + } + result.clear(); + for (const QMimeType &mimeType : uniqueMimetypes) { + result.append(mimeType.name()); + } + + // Add the Okular archive mimetype + result << QStringLiteral("application/vnd.kde.okular-archive"); + + // Sorting by mimetype name doesn't make a ton of sense, + // but ensures that the list is ordered the same way every time + std::sort(result.begin(), result.end()); + + d->m_supportedMimeTypes = result; + } + return result; +} + +bool Document::canSwapBackingFile() const +{ + if (!d->m_generator) { + return false; + } + + return d->m_generator->hasFeature(Generator::SwapBackingFile); +} + +bool Document::swapBackingFile(const QString &newFileName, const QUrl &url) +{ + if (!d->m_generator) { + return false; + } + + if (!d->m_generator->hasFeature(Generator::SwapBackingFile)) { + return false; + } + + // Save metadata about the file we're about to close + d->saveDocumentInfo(); + + d->clearAndWaitForRequests(); + + qCDebug(OkularCoreDebug) << "Swapping backing file to" << newFileName; + QList newPagesVector; + Generator::SwapBackingFileResult result = d->m_generator->swapBackingFile(newFileName, newPagesVector); + if (result != Generator::SwapBackingFileError) { + QList rectsToDelete; + QList annotationsToDelete; + QSet pagePrivatesToDelete; + + if (result == Generator::SwapBackingFileReloadInternalData) { + // Here we need to replace everything that the old generator + // had created with what the new one has without making it look like + // we have actually closed and opened the file again + + // Simple sanity check + if (newPagesVector.count() != d->m_pagesVector.count()) { + return false; + } + + // Update the undo stack contents + for (int i = 0; i < d->m_undoStack->count(); ++i) { + // Trust me on the const_cast ^_^ + QUndoCommand *uc = const_cast(d->m_undoStack->command(i)); + if (OkularUndoCommand *ouc = dynamic_cast(uc)) { + const bool success = ouc->refreshInternalPageReferences(newPagesVector); + if (!success) { + qWarning() << "Document::swapBackingFile: refreshInternalPageReferences failed" << ouc; + return false; + } + } else { + qWarning() << "Document::swapBackingFile: Unhandled undo command" << uc; + return false; + } + } + + for (int i = 0; i < d->m_pagesVector.count(); ++i) { + // switch the PagePrivate* from newPage to oldPage + // this way everyone still holding Page* doesn't get + // disturbed by it + Page *oldPage = d->m_pagesVector[i]; + Page *newPage = newPagesVector[i]; + newPage->d->adoptGeneratedContents(oldPage->d); + + pagePrivatesToDelete << oldPage->d; + oldPage->d = newPage->d; + oldPage->d->m_page = oldPage; + oldPage->d->m_doc = d; + newPage->d = nullptr; + + annotationsToDelete << oldPage->m_annotations; + rectsToDelete << oldPage->m_rects; + oldPage->m_annotations = newPage->m_annotations; + oldPage->m_rects = newPage->m_rects; + } + qDeleteAll(newPagesVector); + newPagesVector.clear(); + } + + d->m_url = url; + d->m_docFileName = newFileName; + d->updateMetadataXmlNameAndDocSize(); + d->m_bookmarkManager->setUrl(d->m_url); + d->m_documentInfo = DocumentInfo(); + d->m_documentInfoAskedKeys.clear(); + + if (d->m_synctex_scanner) { + synctex_scanner_free(d->m_synctex_scanner); + d->m_synctex_scanner = synctex_scanner_new_with_output_file(QFile::encodeName(newFileName).constData(), nullptr, 1); + if (!d->m_synctex_scanner && QFile::exists(newFileName + QLatin1String("sync"))) { + d->loadSyncFile(newFileName); + } + } + + foreachObserver(notifySetup(d->m_pagesVector, DocumentObserver::UrlChanged)); + + qDeleteAll(annotationsToDelete); + qDeleteAll(rectsToDelete); + qDeleteAll(pagePrivatesToDelete); + + return true; + } else { + return false; + } +} + +bool Document::swapBackingFileArchive(const QString &newFileName, const QUrl &url) +{ + qCDebug(OkularCoreDebug) << "Swapping backing archive to" << newFileName; + + ArchiveData *newArchive = DocumentPrivate::unpackDocumentArchive(newFileName); + if (!newArchive) { + return false; + } + + const QString tempFileName = newArchive->document.fileName(); + + const bool success = swapBackingFile(tempFileName, url); + + if (success) { + delete d->m_archiveData; + d->m_archiveData = newArchive; + } + + return success; +} + +void Document::setHistoryClean(bool clean) +{ + if (clean) { + d->m_undoStack->setClean(); + } else { + d->m_undoStack->resetClean(); + } +} + +bool Document::isHistoryClean() const +{ + return d->m_undoStack->isClean(); +} + +void Document::clearHistory() +{ + d->m_undoStack->clear(); +} + +bool Document::canSaveChanges() const +{ + if (!d->m_generator) { + return false; + } + Q_ASSERT(!d->m_generatorName.isEmpty()); + + auto genIt = d->m_loadedGenerators.find(d->m_generatorName); + Q_ASSERT(genIt != d->m_loadedGenerators.end()); + SaveInterface *saveIface = d->generatorSave(genIt.value()); + if (!saveIface) { + return false; + } + + return saveIface->supportsOption(SaveInterface::SaveChanges); +} + +bool Document::canSaveChanges(SaveCapability cap) const +{ + switch (cap) { + case SaveFormsCapability: + /* Assume that if the generator supports saving, forms can be saved. + * We have no means to actually query the generator at the moment + * TODO: Add some method to query the generator in SaveInterface */ + return canSaveChanges(); + + case SaveAnnotationsCapability: + return d->canAddAnnotationsNatively(); + } + + return false; +} + +bool Document::saveChanges(const QString &fileName) +{ + QString errorText; + return saveChanges(fileName, &errorText); +} + +bool Document::saveChanges(const QString &fileName, QString *errorText) +{ + if (!d->m_generator || fileName.isEmpty()) { + return false; + } + Q_ASSERT(!d->m_generatorName.isEmpty()); + + auto genIt = d->m_loadedGenerators.find(d->m_generatorName); + Q_ASSERT(genIt != d->m_loadedGenerators.end()); + SaveInterface *saveIface = d->generatorSave(genIt.value()); + if (!saveIface || !saveIface->supportsOption(SaveInterface::SaveChanges)) { + return false; + } + + if (const Okular::Action *action = d->m_generator->additionalDocumentAction(SaveDocumentStart)) { + processDocumentAction(action, SaveDocumentStart); + } + + const bool success = saveIface->save(fileName, SaveInterface::SaveChanges, errorText); + if (success) { + if (const Okular::Action *action = d->m_generator->additionalDocumentAction(SaveDocumentFinish)) { + processDocumentAction(action, SaveDocumentFinish); + } + } + return success; +} + +void Document::registerView(View *view) +{ + if (!view) { + return; + } + + Document *viewDoc = view->viewDocument(); + if (viewDoc) { + // check if already registered for this document + if (viewDoc == this) { + return; + } + + viewDoc->unregisterView(view); + } + + d->m_views.insert(view); + view->d_func()->document = d; +} + +void Document::unregisterView(View *view) +{ + if (!view) { + return; + } + + const Document *viewDoc = view->viewDocument(); + if (!viewDoc || viewDoc != this) { + return; + } + + view->d_func()->document = nullptr; + d->m_views.remove(view); +} + +QByteArray Document::fontData(const FontInfo &font) const +{ + if (d->m_generator) { + return d->m_generator->requestFontData(font); + } + + return {}; +} + +ArchiveData *DocumentPrivate::unpackDocumentArchive(const QString &archivePath) +{ + QMimeDatabase db; + const QMimeType mime = db.mimeTypeForFile(archivePath, QMimeDatabase::MatchExtension); + if (!mime.inherits(QStringLiteral("application/vnd.kde.okular-archive"))) { + return nullptr; + } + + KZip okularArchive(archivePath); + if (!okularArchive.open(QIODevice::ReadOnly)) { + return nullptr; + } + + const KArchiveDirectory *mainDir = okularArchive.directory(); + + // Check the archive doesn't have folders, we don't create them when saving the archive + // and folders mean paths and paths mean path traversal issues + const QStringList mainDirEntries = mainDir->entries(); + for (const QString &entry : mainDirEntries) { + if (mainDir->entry(entry)->isDirectory()) { + qWarning() << "Warning: Found a directory inside" << archivePath << " - Okular does not create files like that so it is most probably forged."; + return nullptr; + } + } + + const KArchiveEntry *mainEntry = mainDir->entry(QStringLiteral("content.xml")); + if (!mainEntry || !mainEntry->isFile()) { + return nullptr; + } + + std::unique_ptr mainEntryDevice(static_cast(mainEntry)->createDevice()); + QDomDocument doc; + if (!doc.setContent(mainEntryDevice.get())) { + return nullptr; + } + mainEntryDevice.reset(); + + QDomElement root = doc.documentElement(); + if (root.tagName() != QLatin1String("OkularArchive")) { + return nullptr; + } + + QString documentFileName; + QString metadataFileName; + QDomElement el = root.firstChild().toElement(); + for (; !el.isNull(); el = el.nextSibling().toElement()) { + if (el.tagName() == QLatin1String("Files")) { + QDomElement fileEl = el.firstChild().toElement(); + for (; !fileEl.isNull(); fileEl = fileEl.nextSibling().toElement()) { + if (fileEl.tagName() == QLatin1String("DocumentFileName")) { + documentFileName = fileEl.text(); + } else if (fileEl.tagName() == QLatin1String("MetadataFileName")) { + metadataFileName = fileEl.text(); + } + } + } + } + if (documentFileName.isEmpty()) { + return nullptr; + } + + const KArchiveEntry *docEntry = mainDir->entry(documentFileName); + if (!docEntry || !docEntry->isFile()) { + return nullptr; + } + + std::unique_ptr archiveData(new ArchiveData()); + const int dotPos = documentFileName.indexOf(QLatin1Char('.')); + if (dotPos != -1) { + archiveData->document.setFileTemplate(QDir::tempPath() + QLatin1String("/okular_XXXXXX") + documentFileName.mid(dotPos)); + } + if (!archiveData->document.open()) { + return nullptr; + } + + archiveData->originalFileName = documentFileName; + + { + std::unique_ptr docEntryDevice(static_cast(docEntry)->createDevice()); + copyQIODevice(docEntryDevice.get(), &archiveData->document); + archiveData->document.close(); + } + + const KArchiveEntry *metadataEntry = mainDir->entry(metadataFileName); + if (metadataEntry && metadataEntry->isFile()) { + std::unique_ptr metadataEntryDevice(static_cast(metadataEntry)->createDevice()); + archiveData->metadataFile.setFileTemplate(QDir::tempPath() + QLatin1String("/okular_XXXXXX.xml")); + if (archiveData->metadataFile.open()) { + copyQIODevice(metadataEntryDevice.get(), &archiveData->metadataFile); + archiveData->metadataFile.close(); + } + } + + return archiveData.release(); +} + +Document::OpenResult Document::openDocumentArchive(const QString &docFile, const QUrl &url, const QString &password) +{ + d->m_archiveData = DocumentPrivate::unpackDocumentArchive(docFile); + if (!d->m_archiveData) { + return OpenError; + } + + const QString tempFileName = d->m_archiveData->document.fileName(); + QMimeDatabase db; + const QMimeType docMime = db.mimeTypeForFile(tempFileName, QMimeDatabase::MatchExtension); + const OpenResult ret = openDocument(tempFileName, url, docMime, password); + + if (ret != OpenSuccess) { + delete d->m_archiveData; + d->m_archiveData = nullptr; + } + + return ret; +} + +bool Document::saveDocumentArchive(const QString &fileName) +{ + if (!d->m_generator) { + return false; + } + + /* If we opened an archive, use the name of original file (eg foo.pdf) + * instead of the archive's one (eg foo.okular) */ + QString docFileName = d->m_archiveData ? d->m_archiveData->originalFileName : d->m_url.fileName(); + if (docFileName == QLatin1String("-")) { + return false; + } + + QString docPath = d->m_docFileName; + const QFileInfo fi(docPath); + if (fi.isSymLink()) { + docPath = fi.symLinkTarget(); + } + + KZip okularArchive(fileName); + if (!okularArchive.open(QIODevice::WriteOnly)) { + return false; + } + + const KUser user; +#ifndef Q_OS_WIN + const KUserGroup userGroup(user.groupId()); +#else + const KUserGroup userGroup(QStringLiteral("")); +#endif + + QDomDocument contentDoc(QStringLiteral("OkularArchive")); + QDomProcessingInstruction xmlPi = contentDoc.createProcessingInstruction(QStringLiteral("xml"), QStringLiteral("version=\"1.0\" encoding=\"utf-8\"")); + contentDoc.appendChild(xmlPi); + QDomElement root = contentDoc.createElement(QStringLiteral("OkularArchive")); + contentDoc.appendChild(root); + + QDomElement filesNode = contentDoc.createElement(QStringLiteral("Files")); + root.appendChild(filesNode); + + QDomElement fileNameNode = contentDoc.createElement(QStringLiteral("DocumentFileName")); + filesNode.appendChild(fileNameNode); + fileNameNode.appendChild(contentDoc.createTextNode(docFileName)); + + QDomElement metadataFileNameNode = contentDoc.createElement(QStringLiteral("MetadataFileName")); + filesNode.appendChild(metadataFileNameNode); + metadataFileNameNode.appendChild(contentDoc.createTextNode(QStringLiteral("metadata.xml"))); + + // If the generator can save annotations natively, do it + QTemporaryFile modifiedFile; + bool annotationsSavedNatively = false; + bool formsSavedNatively = false; + if (d->canAddAnnotationsNatively() || canSaveChanges(SaveFormsCapability)) { + if (!modifiedFile.open()) { + return false; + } + + const QString modifiedFileName = modifiedFile.fileName(); + + modifiedFile.close(); // We're only interested in the file name + + QString errorText; + if (saveChanges(modifiedFileName, &errorText)) { + docPath = modifiedFileName; // Save this instead of the original file + annotationsSavedNatively = d->canAddAnnotationsNatively(); + formsSavedNatively = canSaveChanges(SaveFormsCapability); + } else { + qCWarning(OkularCoreDebug) << "saveChanges failed: " << errorText; + qCDebug(OkularCoreDebug) << "Falling back to saving a copy of the original file"; + } + } + + PageItems saveWhat = None; + if (!annotationsSavedNatively) { + saveWhat |= AnnotationPageItems; + } + if (!formsSavedNatively) { + saveWhat |= FormFieldPageItems; + } + + QTemporaryFile metadataFile; + if (!d->savePageDocumentInfo(&metadataFile, saveWhat)) { + return false; + } + + const QByteArray contentDocXml = contentDoc.toByteArray(); + const mode_t perm = 0100644; + okularArchive.writeFile(QStringLiteral("content.xml"), contentDocXml, perm, user.loginName(), userGroup.name()); + + okularArchive.addLocalFile(docPath, docFileName); + okularArchive.addLocalFile(metadataFile.fileName(), QStringLiteral("metadata.xml")); + + if (!okularArchive.close()) { + return false; + } + + return true; +} + +bool Document::extractArchivedFile(const QString &destFileName) +{ + if (!d->m_archiveData) { + return false; + } + + // Remove existing file, if present (QFile::copy doesn't overwrite by itself) + QFile::remove(destFileName); + + return d->m_archiveData->document.copy(destFileName); +} + +QPageLayout::Orientation Document::orientation() const +{ + int landscape, portrait; + + // if some pages are landscape and others are not, the most common wins, as + // QPrinter does not accept a per-page setting + landscape = 0; + portrait = 0; + for (Page *const current : std::as_const(d->m_pagesVector)) { + double width = current->width(); + double height = current->height(); + if (current->orientation() == Okular::Rotation90 || current->orientation() == Okular::Rotation270) { + std::swap(width, height); + } + if (width > height) { + landscape++; + } else { + portrait++; + } + } + return (landscape > portrait) ? QPageLayout::Landscape : QPageLayout::Portrait; +} + +void Document::setAnnotationEditingEnabled(bool enable) +{ + d->m_annotationEditingEnabled = enable; + foreachObserver(notifySetup(d->m_pagesVector, 0)); +} + +void Document::walletDataForFile(const QString &fileName, QString *walletName, QString *walletFolder, QString *walletKey) const +{ + if (d->m_generator) { + d->m_generator->walletDataForFile(fileName, walletName, walletFolder, walletKey); + } else if (d->m_walletGenerator) { + d->m_walletGenerator->walletDataForFile(fileName, walletName, walletFolder, walletKey); + } +} + +bool Document::isDocdataMigrationNeeded() const +{ + return d->m_docdataMigrationNeeded; +} + +void Document::docdataMigrationDone() +{ + if (d->m_docdataMigrationNeeded) { + d->m_docdataMigrationNeeded = false; + foreachObserver(notifySetup(d->m_pagesVector, 0)); + } +} + +QAbstractItemModel *Document::layersModel() const +{ + return d->m_generator ? d->m_generator->layersModel() : nullptr; +} + +QString Document::openError() const +{ + return d->m_openError; +} + +QByteArray Document::requestSignedRevisionData(const Okular::SignatureInfo &info) +{ + QFile f(d->m_docFileName); + if (!f.open(QIODevice::ReadOnly)) { + Q_EMIT error(i18n("Could not open '%1'. File does not exist", d->m_docFileName), -1); + return {}; + } + + const QList byteRange = info.signedRangeBounds(); + f.seek(byteRange.first()); + QByteArray data = f.read(byteRange.last() - byteRange.first()); + f.close(); + + return data; +} + +void Document::refreshPixmaps(int pageNumber) +{ + d->refreshPixmaps(pageNumber); +} + +void DocumentPrivate::executeScript(const QString &function) +{ + if (!m_scripter) { + m_scripter = new Scripter(this); + } + m_scripter->execute(nullptr, JavaScript, function); +} + +void DocumentPrivate::requestDone(PixmapRequest *req) +{ + if (!req) { + return; + } + + if (!m_generator || m_closingLoop) { + m_pixmapRequestsMutex.lock(); + m_executingPixmapRequests.remove(req); + m_pixmapRequestsMutex.unlock(); + + delete req; + req = nullptr; + + if (m_closingLoop) { + m_closingLoop->exit(); + } + return; + } + +#ifndef NDEBUG + if (!m_generator->canGeneratePixmap()) { + qCDebug(OkularCoreDebug) << "requestDone with generator not in READY state."; + } +#endif + + if (!req->shouldAbortRender()) { + // [MEM] 1.1 find and remove a previous entry for the same page and id + auto it = std::ranges::find_if(m_allocatedPixmaps, [&](AllocatedPixmap *const p) { // + return p->page == req->pageNumber() && p->observer == req->observer(); + }); + if (it != m_allocatedPixmaps.end()) { + AllocatedPixmap *p = *it; + m_allocatedPixmaps.erase(it); + m_allocatedPixmapsTotalMemory -= p->memory; + delete p; + } + + DocumentObserver *observer = req->observer(); + if (m_observers.contains(observer)) { + // [MEM] 1.2 append memory allocation descriptor to the FIFO + qulonglong memoryBytes = 0; + const TilesManager *tm = req->d->tilesManager(); + if (tm) { + memoryBytes = tm->totalMemory(); + } else { + memoryBytes = 4 * qulonglong(req->width()) * req->height(); + } + + AllocatedPixmap *memoryPage = new AllocatedPixmap(req->observer(), req->pageNumber(), memoryBytes); + m_allocatedPixmaps.push_back(memoryPage); + m_allocatedPixmapsTotalMemory += memoryBytes; + + // 2. notify an observer that its pixmap changed + observer->notifyPageChanged(req->pageNumber(), DocumentObserver::Pixmap); + } +#ifndef NDEBUG + else { + qCWarning(OkularCoreDebug) << "Receiving a done request for the defunct observer" << observer; + } +#endif + } + + // 3. delete request + m_pixmapRequestsMutex.lock(); + m_executingPixmapRequests.remove(req); + m_pixmapRequestsMutex.unlock(); + + delete req; + req = nullptr; + + // 4. start a new generation if some is pending + m_pixmapRequestsMutex.lock(); + bool hasPixmaps = !m_pixmapRequestsStack.empty(); + m_pixmapRequestsMutex.unlock(); + if (hasPixmaps) { + sendGeneratorPixmapRequest(); + } +} + +void DocumentPrivate::setPageBoundingBox(int page, const NormalizedRect &boundingBox) +{ + Page *kp = m_pagesVector[page]; + if (!m_generator || !kp) { + return; + } + + if (kp->boundingBox() == boundingBox) { + return; + } + kp->setBoundingBox(boundingBox); + + // notify observers about the change + foreachObserverD(notifyPageChanged(page, DocumentObserver::BoundingBox)); + + // TODO: For generators that generate the bbox by pixmap scanning, if the first generated pixmap is very small, the bounding box will forever be inaccurate. + // TODO: Crop computation should also consider annotations, actions, etc. to make sure they're not cropped away. + // TODO: Help compute bounding box for generators that create a QPixmap without a QImage, like text and plucker. + // TODO: Don't compute the bounding box if no one needs it (e.g., Trim Borders is off). +} + +void DocumentPrivate::calculateMaxTextPages() +{ + int multipliers = qMax(1, qRound(getTotalMemory() / 536870912.0)); // 512 MB + switch (SettingsCore::memoryLevel()) { + case SettingsCore::EnumMemoryLevel::Low: + m_maxAllocatedTextPages = multipliers * 2; + break; + + case SettingsCore::EnumMemoryLevel::Normal: + m_maxAllocatedTextPages = multipliers * 50; + break; + + case SettingsCore::EnumMemoryLevel::Aggressive: + m_maxAllocatedTextPages = multipliers * 250; + break; + + case SettingsCore::EnumMemoryLevel::Greedy: + m_maxAllocatedTextPages = multipliers * 1250; + break; + } +} + +void DocumentPrivate::textGenerationDone(Page *page) +{ + if (!m_pageController) { + return; + } + + // 1. If we reached the cache limit, delete the first text page from the fifo + if (m_allocatedTextPagesFifo.size() == m_maxAllocatedTextPages) { + int pageToKick = m_allocatedTextPagesFifo.takeFirst(); + if (pageToKick != page->number()) // this should never happen but better be safe than sorry + { + m_pagesVector.at(pageToKick)->setTextPage(nullptr); // deletes the textpage + } + } + + // 2. Add the page to the fifo of generated text pages + m_allocatedTextPagesFifo.append(page->number()); +} + +void Document::setRotation(int r) +{ + d->setRotationInternal(r, true); +} + +void DocumentPrivate::setRotationInternal(int r, bool notify) +{ + Rotation rotation = (Rotation)r; + if (!m_generator || (m_rotation == rotation)) { + return; + } + + // tell the pages to rotate + for (Page *const page : std::as_const(m_pagesVector)) { + page->d->rotateAt(rotation); + } + if (notify) { + // notify the generator that the current rotation has changed + m_generator->rotationChanged(rotation, m_rotation); + } + // set the new rotation + m_rotation = rotation; + + if (notify) { + foreachObserverD(notifySetup(m_pagesVector, DocumentObserver::NewLayoutForPages)); + foreachObserverD(notifyContentsCleared(DocumentObserver::Pixmap | DocumentObserver::Highlights | DocumentObserver::Annotations)); + } + qCDebug(OkularCoreDebug) << "Rotated:" << r; +} + +void Document::setPageSize(const PageSize &size) +{ + if (!d->m_generator || !d->m_generator->hasFeature(Generator::PageSizes)) { + return; + } + + if (d->m_pageSizes.isEmpty()) { + d->m_pageSizes = d->m_generator->pageSizes(); + } + int sizeid = d->m_pageSizes.indexOf(size); + if (sizeid == -1) { + return; + } + + // tell the pages to change size + for (Page *const page : std::as_const(d->m_pagesVector)) { + page->d->changeSize(size); + } + // clear 'memory allocation' descriptors + qDeleteAll(d->m_allocatedPixmaps); + d->m_allocatedPixmaps.clear(); + d->m_allocatedPixmapsTotalMemory = 0; + // notify the generator that the current page size has changed + d->m_generator->pageSizeChanged(size, d->m_pageSize); + // set the new page size + d->m_pageSize = size; + + foreachObserver(notifySetup(d->m_pagesVector, DocumentObserver::NewLayoutForPages)); + foreachObserver(notifyContentsCleared(DocumentObserver::Pixmap | DocumentObserver::Highlights)); + qCDebug(OkularCoreDebug) << "New PageSize id:" << sizeid; +} + +/** DocumentViewport **/ + +DocumentViewport::DocumentViewport(int n) + : pageNumber(n) +{ + // default settings + rePos.enabled = false; + rePos.normalizedX = 0.5; + rePos.normalizedY = 0.0; + rePos.pos = Center; + autoFit.enabled = false; + autoFit.width = false; + autoFit.height = false; +} + +DocumentViewport::DocumentViewport(const QString &xmlDesc) + : pageNumber(-1) +{ + // default settings (maybe overridden below) + rePos.enabled = false; + rePos.normalizedX = 0.5; + rePos.normalizedY = 0.0; + rePos.pos = Center; + autoFit.enabled = false; + autoFit.width = false; + autoFit.height = false; + + // check for string presence + if (xmlDesc.isEmpty()) { + return; + } + + // decode the string + bool ok; + int field = 0; + QString token = xmlDesc.section(QLatin1Char(';'), field, field); + while (!token.isEmpty()) { + // decode the current token + if (field == 0) { + pageNumber = token.toInt(&ok); + if (!ok) { + return; + } + } else if (token.startsWith(QLatin1String("C1"))) { + rePos.enabled = true; + rePos.normalizedX = token.section(QLatin1Char(':'), 1, 1).toDouble(); + rePos.normalizedY = token.section(QLatin1Char(':'), 2, 2).toDouble(); + rePos.pos = Center; + } else if (token.startsWith(QLatin1String("C2"))) { + rePos.enabled = true; + rePos.normalizedX = token.section(QLatin1Char(':'), 1, 1).toDouble(); + rePos.normalizedY = token.section(QLatin1Char(':'), 2, 2).toDouble(); + if (token.section(QLatin1Char(':'), 3, 3).toInt() == 1) { + rePos.pos = Center; + } else { + rePos.pos = TopLeft; + } + } else if (token.startsWith(QLatin1String("AF1"))) { + autoFit.enabled = true; + autoFit.width = token.section(QLatin1Char(':'), 1, 1) == QLatin1String("T"); + autoFit.height = token.section(QLatin1Char(':'), 2, 2) == QLatin1String("T"); + } + // proceed tokenizing string + field++; + token = xmlDesc.section(QLatin1Char(';'), field, field); + } +} + +QString DocumentViewport::toString() const +{ + // start string with page number + QString s = QString::number(pageNumber); + // if has center coordinates, save them on string + if (rePos.enabled) { + s += QStringLiteral(";C2:") + QString::number(rePos.normalizedX) + QLatin1Char(':') + QString::number(rePos.normalizedY) + QLatin1Char(':') + QString::number(rePos.pos); + } + // if has autofit enabled, save its state on string + if (autoFit.enabled) { + s += QStringLiteral(";AF1:") + (autoFit.width ? QLatin1Char('T') : QLatin1Char('F')) + QLatin1Char(':') + (autoFit.height ? QLatin1Char('T') : QLatin1Char('F')); + } + return s; +} + +bool DocumentViewport::isValid() const +{ + return pageNumber >= 0; +} + +bool DocumentViewport::operator==(const DocumentViewport &other) const +{ + bool equal = (pageNumber == other.pageNumber) && (rePos.enabled == other.rePos.enabled) && (autoFit.enabled == other.autoFit.enabled); + if (!equal) { + return false; + } + if (rePos.enabled && ((rePos.normalizedX != other.rePos.normalizedX) || (rePos.normalizedY != other.rePos.normalizedY) || rePos.pos != other.rePos.pos)) { + return false; + } + if (autoFit.enabled && ((autoFit.width != other.autoFit.width) || (autoFit.height != other.autoFit.height))) { + return false; + } + return true; +} + +bool DocumentViewport::operator<(const DocumentViewport &other) const +{ + // TODO: Check autoFit and Position + + if (pageNumber != other.pageNumber) { + return pageNumber < other.pageNumber; + } + + if (!rePos.enabled && other.rePos.enabled) { + return true; + } + + if (!other.rePos.enabled) { + return false; + } + + if (rePos.normalizedY != other.rePos.normalizedY) { + return rePos.normalizedY < other.rePos.normalizedY; + } + + return rePos.normalizedX < other.rePos.normalizedX; +} + +/** DocumentInfo **/ + +DocumentInfo::DocumentInfo() + : d(new DocumentInfoPrivate()) +{ +} + +DocumentInfo::DocumentInfo(const DocumentInfo &info) + : d(new DocumentInfoPrivate()) +{ + *this = info; +} + +DocumentInfo &DocumentInfo::operator=(const DocumentInfo &info) +{ + if (this != &info) { + d->values = info.d->values; + d->titles = info.d->titles; + } + return *this; +} + +DocumentInfo::~DocumentInfo() +{ + delete d; +} + +void DocumentInfo::set(const QString &key, const QString &value, const QString &title) +{ + d->values[key] = value; + d->titles[key] = title; +} + +void DocumentInfo::set(Key key, const QString &value) +{ + d->values[getKeyString(key)] = value; +} + +QStringList DocumentInfo::keys() const +{ + return d->values.keys(); +} + +QString DocumentInfo::get(Key key) const +{ + return get(getKeyString(key)); +} + +QString DocumentInfo::get(const QString &key) const +{ + return d->values[key]; +} + +QString DocumentInfo::getKeyString(Key key) // const +{ + switch (key) { + case Title: + return QStringLiteral("title"); + break; + case Subject: + return QStringLiteral("subject"); + break; + case Description: + return QStringLiteral("description"); + break; + case Author: + return QStringLiteral("author"); + break; + case Creator: + return QStringLiteral("creator"); + break; + case Producer: + return QStringLiteral("producer"); + break; + case Copyright: + return QStringLiteral("copyright"); + break; + case Pages: + return QStringLiteral("pages"); + break; + case CreationDate: + return QStringLiteral("creationDate"); + break; + case ModificationDate: + return QStringLiteral("modificationDate"); + break; + case MimeType: + return QStringLiteral("mimeType"); + break; + case Category: + return QStringLiteral("category"); + break; + case Keywords: + return QStringLiteral("keywords"); + break; + case FilePath: + return QStringLiteral("filePath"); + break; + case DocumentSize: + return QStringLiteral("documentSize"); + break; + case PagesSize: + return QStringLiteral("pageSize"); + break; + default: + qCWarning(OkularCoreDebug) << "Unknown" << key; + return QString(); + break; + } +} + +DocumentInfo::Key DocumentInfo::getKeyFromString(const QString &key) // const +{ + if (key == QLatin1String("title")) { + return Title; + } else if (key == QLatin1String("subject")) { + return Subject; + } else if (key == QLatin1String("description")) { + return Description; + } else if (key == QLatin1String("author")) { + return Author; + } else if (key == QLatin1String("creator")) { + return Creator; + } else if (key == QLatin1String("producer")) { + return Producer; + } else if (key == QLatin1String("copyright")) { + return Copyright; + } else if (key == QLatin1String("pages")) { + return Pages; + } else if (key == QLatin1String("creationDate")) { + return CreationDate; + } else if (key == QLatin1String("modificationDate")) { + return ModificationDate; + } else if (key == QLatin1String("mimeType")) { + return MimeType; + } else if (key == QLatin1String("category")) { + return Category; + } else if (key == QLatin1String("keywords")) { + return Keywords; + } else if (key == QLatin1String("filePath")) { + return FilePath; + } else if (key == QLatin1String("documentSize")) { + return DocumentSize; + } else if (key == QLatin1String("pageSize")) { + return PagesSize; + } else { + return Invalid; + } +} + +QString DocumentInfo::getKeyTitle(Key key) // const +{ + switch (key) { + case Title: + return i18n("Title"); + break; + case Subject: + return i18n("Subject"); + break; + case Description: + return i18n("Description"); + break; + case Author: + return i18n("Author"); + break; + case Creator: + return i18n("Creator"); + break; + case Producer: + return i18n("Producer"); + break; + case Copyright: + return i18n("Copyright"); + break; + case Pages: + return i18n("Pages"); + break; + case CreationDate: + return i18n("Created"); + break; + case ModificationDate: + return i18n("Modified"); + break; + case MimeType: + return i18n("MIME Type"); + break; + case Category: + return i18n("Category"); + break; + case Keywords: + return i18n("Keywords"); + break; + case FilePath: + return i18n("File Path"); + break; + case DocumentSize: + return i18n("File Size"); + break; + case PagesSize: + return i18n("Page Size"); + break; + default: + return QString(); + break; + } +} + +QString DocumentInfo::getKeyTitle(const QString &key) const +{ + QString title = getKeyTitle(getKeyFromString(key)); + if (title.isEmpty()) { + title = d->titles[key]; + } + return title; +} + +/** DocumentSynopsis **/ + +DocumentSynopsis::DocumentSynopsis() + : QDomDocument(QStringLiteral("DocumentSynopsis")) +{ + // void implementation, only subclassed for naming +} + +DocumentSynopsis::DocumentSynopsis(const QDomDocument &document) + : QDomDocument(document) +{ +} + +/** EmbeddedFile **/ + +EmbeddedFile::EmbeddedFile() +{ +} + +EmbeddedFile::~EmbeddedFile() +{ +} + +VisiblePageRect::VisiblePageRect(int page, const NormalizedRect &rectangle) + : pageNumber(page) + , rect(rectangle) +{ +} + +/** NewSignatureData **/ + +struct Okular::NewSignatureDataPrivate { + NewSignatureDataPrivate() = default; + + QString certNickname; + QString certSubjectCommonName; + QString password; + QString documentPassword; + QString location; + QString reason; + QString backgroundImagePath; + double fontSize = 10; + double leftFontSize = 20; + int page = -1; + NormalizedRect boundingRectangle; +}; + +NewSignatureData::NewSignatureData() + : d(new NewSignatureDataPrivate()) +{ +} + +NewSignatureData::~NewSignatureData() +{ + delete d; +} + +QString NewSignatureData::certNickname() const +{ + return d->certNickname; +} + +void NewSignatureData::setCertNickname(const QString &certNickname) +{ + d->certNickname = certNickname; +} + +QString NewSignatureData::certSubjectCommonName() const +{ + return d->certSubjectCommonName; +} + +void NewSignatureData::setCertSubjectCommonName(const QString &certSubjectCommonName) +{ + d->certSubjectCommonName = certSubjectCommonName; +} + +QString NewSignatureData::password() const +{ + return d->password; +} + +void NewSignatureData::setPassword(const QString &password) +{ + d->password = password; +} + +int NewSignatureData::page() const +{ + return d->page; +} + +void NewSignatureData::setPage(int page) +{ + d->page = page; +} + +NormalizedRect NewSignatureData::boundingRectangle() const +{ + return d->boundingRectangle; +} + +void NewSignatureData::setBoundingRectangle(const NormalizedRect &rect) +{ + d->boundingRectangle = rect; +} + +QString NewSignatureData::documentPassword() const +{ + return d->documentPassword; +} + +void NewSignatureData::setDocumentPassword(const QString &password) +{ + d->documentPassword = password; +} + +QString NewSignatureData::location() const +{ + return d->location; +} + +void NewSignatureData::setLocation(const QString &location) +{ + d->location = location; +} + +QString NewSignatureData::reason() const +{ + return d->reason; +} + +void NewSignatureData::setReason(const QString &reason) +{ + d->reason = reason; +} + +QString Okular::NewSignatureData::backgroundImagePath() const +{ + return d->backgroundImagePath; +} + +void Okular::NewSignatureData::setBackgroundImagePath(const QString &path) +{ + d->backgroundImagePath = path; +} + +double Okular::NewSignatureData::fontSize() const +{ + return d->fontSize; +} + +void Okular::NewSignatureData::setFontSize(double fontSize) +{ + d->fontSize = fontSize; +} + +double Okular::NewSignatureData::leftFontSize() const +{ + return d->leftFontSize; +} + +void Okular::NewSignatureData::setLeftFontSize(double fontSize) +{ + d->leftFontSize = fontSize; +} + +#undef foreachObserver +#undef foreachObserverD + +#include "document.moc" + +/* kate: replace-tabs on; indent-width 4; */ diff --git a/core/document.h b/core/document.h new file mode 100644 index 0000000..7bcf9e0 --- /dev/null +++ b/core/document.h @@ -0,0 +1,1719 @@ +/* + SPDX-FileCopyrightText: 2004-2005 Enrico Ros + SPDX-FileCopyrightText: 2004-2008 Albert Astals Cid + + Work sponsored by the LiMux project of the city of Munich: + SPDX-FileCopyrightText: 2017 Klarälvdalens Datakonsult AB a KDAB Group company + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_DOCUMENT_H_ +#define _OKULAR_DOCUMENT_H_ + +#include "area.h" +#include "global.h" +#include "okularcore_export.h" +#include "pagesize.h" +#include "signatureutils.h" + +#include +#include +#include +#include +#include + +#include +#include +#include + +class KConfigDialog; +class KPluginMetaData; +class KXMLGUIClient; +class DocumentItem; +class QAbstractItemModel; + +namespace Okular +{ +class Annotation; +class BookmarkManager; +class CertificateStore; +class DocumentInfoPrivate; +class DocumentObserver; +class DocumentPrivate; +class DocumentSynopsis; +class DocumentViewport; +class EmbeddedFile; +class ExportFormat; +class FontInfo; +class FormField; +class FormFieldText; +class FormFieldButton; +class FormFieldChoice; +class Generator; +class Action; +class MovieAction; +class Page; +class PixmapRequest; +class RenditionAction; +class NewSignatureData; +struct NewSignatureDataPrivate; +class SourceReference; +class View; +class VisiblePageRect; +class SignatureInfo; + +/** IDs for searches. Globally defined here. **/ +#define PART_SEARCH_ID 1 +#define PAGEVIEW_SEARCH_ID 2 +#define SW_SEARCH_ID 3 +#define PRESENTATION_SEARCH_ID 4 + +/** + * The DocumentInfo structure can be filled in by generators to display + * metadata about the currently opened file. + */ +class OKULARCORE_EXPORT DocumentInfo +{ + friend class Document; + +public: + /** + * The list of predefined keys. + */ + enum Key { + Title, ///< The title of the document + Subject, ///< The subject of the document + Description, ///< The description of the document + Author, ///< The author of the document + Creator, ///< The creator of the document (this can be different from the author) + Producer, ///< The producer of the document (e.g. some software) + Copyright, ///< The copyright of the document + Pages, ///< The number of pages of the document + CreationDate, ///< The date of creation of the document + ModificationDate, ///< The date of last modification of the document + MimeType, ///< The mime type of the document + Category, ///< The category of the document + Keywords, ///< The keywords which describe the content of the document + FilePath, ///< The path of the file @since 0.10 (KDE 4.4) + DocumentSize, ///< The size of the document @since 0.10 (KDE 4.4) + PagesSize, ///< The size of the pages (if all pages have the same size) @since 0.10 (KDE 4.4) + CustomKeys, ///< All the custom keys the generator supports @since 0.21 + Invalid ///< An invalid key @since 0.21. It will always be the last element in the enum + }; + + /** + * Creates a new document info. + */ + DocumentInfo(); + DocumentInfo(const DocumentInfo &info); + DocumentInfo &operator=(const DocumentInfo &); + + ~DocumentInfo(); + + /** + * Returns all the keys present in this DocumentInfo + * + * @since 0.21 + */ + QStringList keys() const; + + /** + * Returns the value for a given key or an null string when the + * key doesn't exist. + */ + QString get(Key key) const; + + /** + * Returns the value for a given key or an null string when the + * key doesn't exist. + */ + QString get(const QString &key) const; + + /** + * Sets a value for a custom key. The title should be an i18n'ed + * string, since it's used in the document information dialog. + */ + void set(const QString &key, const QString &value, const QString &title = QString()); + + /** + * Sets a value for a special key. The title should be an i18n'ed + * string, since it's used in the document information dialog. + */ + void set(Key key, const QString &value); + + /** + * Returns the user visible string for the given key + * Takes into account keys added by the set() that takes a QString + * + * @since 0.21 + */ + QString getKeyTitle(const QString &key) const; + + /** + * Returns the internal string for the given key + * @since 0.10 (KDE 4.4) + */ + static QString getKeyString(Key key); + + /** + * Returns the user visible string for the given key + * @since 0.10 (KDE 4.4) + */ + static QString getKeyTitle(Key key); + + /** + * Returns the Key from a string key + * @since 0.21 + */ + static Key getKeyFromString(const QString &key); + +private: + DocumentInfoPrivate *d; +}; + +/** + * @short The Document. Heart of everything. Actions take place here. + * + * The Document is the main object in Okular. All views query the Document to + * get data/properties or even for accessing pages (in a 'const' way). + * + * It is designed to keep it detached from the document type (pdf, ps, you + * name it..) so whenever you want to get some data, it asks its internal + * generators to do the job and return results in a format-independent way. + * + * Apart from the generator (the currently running one) the document stores + * all the Pages ('Page' class) of the current document in a vector and + * notifies all the registered DocumentObservers when some content changes. + * + * For a better understanding of hierarchies @see README.internals.png + * @see DocumentObserver, Page + */ +class OKULARCORE_EXPORT Document : public QObject +{ + Q_OBJECT + +public: + /** + * Creates a new document with the given @p widget as widget to relay GUI things (messageboxes, ...). + */ + explicit Document(QWidget *widget); + + /** + * Destroys the document. + */ + ~Document() override; + + /** + * Describes the result of an open document operation. + * @since 0.20 (KDE 4.14) + */ + enum OpenResult { + OpenSuccess, //< The document was opened successfully + OpenError, //< The document failed to open + OpenNeedsPassword //< The document needs a password to be opened or the one provided is not the correct + }; + + /** + * Opens the document. + * @since 0.20 (KDE 4.14) + */ + OpenResult openDocument(const QString &docFile, const QUrl &url, const QMimeType &mime, const QString &password = QString()); + + /** + * Closes the document. + */ + void closeDocument(); + + /** + * Registers a new @p observer for the document. + */ + void addObserver(DocumentObserver *observer); + + /** + * Unregisters the given @p observer for the document. + */ + void removeObserver(DocumentObserver *observer); + + /** + * Reparses and applies the configuration. + */ + void reparseConfig(); + + /** + * Returns whether the document is currently opened. + */ + bool isOpened() const; + + /** + * Returns the meta data of the document. + */ + DocumentInfo documentInfo() const; + + /** + * Returns the asked set of meta data of the document. The result may contain more + * metadata than the one asked for. + */ + DocumentInfo documentInfo(const QSet &keys) const; + + /** + * Returns the table of content of the document or 0 if no + * table of content is available. + */ + const DocumentSynopsis *documentSynopsis() const; + + /** + * Starts the reading of the information about the fonts in the + * document, if available. + * + * The results as well the end of the reading is notified using the + * signals gotFont(), fontReadingProgress() and fontReadingEnded() + */ + void startFontReading(); + + /** + * Force the termination of the reading of the information about the + * fonts in the document, if running. + */ + void stopFontReading(); + + /** + * Whether the current document can provide information about the + * fonts used in it. + */ + bool canProvideFontInformation() const; + + /** + * Whether the current document can perform digital signing. + */ + bool canSign() const; + + /** + * Returns the list of embedded files or 0 if no embedded files + * are available. + */ + const QList *embeddedFiles() const; + + /** + * Returns the page object for the given page @p number or 0 + * if the number is out of range. + */ + const Page *page(int number) const; + + /** + * Returns the current viewport of the document. + */ + const DocumentViewport &viewport() const; + + /** + * Sets the list of visible page rectangles. + * @see VisiblePageRect + */ + void setVisiblePageRects(const QList &visiblePageRects, DocumentObserver *excludeObserver = nullptr); + + /** + * Returns the list of visible page rectangles. + */ + const QList &visiblePageRects() const; + + /** + * Returns the number of the current page. + */ + uint currentPage() const; + + /** + * Returns the number of pages of the document. + */ + uint pages() const; + + /** + * Returns the url of the currently opened document. + */ + QUrl currentDocument() const; + + /** + * Returns whether the given @p action is allowed in the document. + * @see @ref Permission + */ + bool isAllowed(Permission action) const; + + /** + * Returns whether the document supports searching. + */ + bool supportsSearching() const; + + /** + * Returns whether the document supports the listing of page sizes. + */ + bool supportsPageSizes() const; + + /** + * Returns whether the current document supports tiles + * + * @since 0.16 (KDE 4.10) + */ + bool supportsTiles() const; + + /** + * Returns the list of supported page sizes or an empty list if this + * feature is not available. + * @see supportsPageSizes() + */ + PageSize::List pageSizes() const; + + /** + * Returns whether the document supports the export to ASCII text. + */ + bool canExportToText() const; + + /** + * Exports the document as ASCII text and saves it under @p fileName. + */ + bool exportToText(const QString &fileName) const; + + /** + * Returns the list of supported export formats. + * @see ExportFormat + */ + QList exportFormats() const; + + /** + * Exports the document in the given @p format and saves it under @p fileName. + */ + bool exportTo(const QString &fileName, const ExportFormat &format) const; + + /** + * Returns whether the document history is at the begin. + */ + bool historyAtBegin() const; + + /** + * Returns whether the document history is at the end. + */ + bool historyAtEnd() const; + + /** + * Returns the meta data for the given @p key and @p option or an empty variant + * if the key doesn't exists. + */ + QVariant metaData(const QString &key, const QVariant &option = QVariant()) const; + + /** + * Returns the current rotation of the document. + */ + Rotation rotation() const; + + /** + * If all pages have the same size this method returns it, if the page sizes + * differ an empty size object is returned. + */ + QSizeF allPagesSize() const; + + /** + * Returns the size string for the given @p page or an empty string + * if the page is out of range. + */ + QString pageSizeString(int page) const; + + /** + * Returns the gui client of the generator, if it provides one. + */ + KXMLGUIClient *guiClient(); + + /** + * Sets the current document viewport to the given @p page. + * + * @param page The number of the page. + * @param excludeObserver The observer ids which shouldn't be effected by this change. + * @param smoothMove Whether the move shall be animated smoothly. + */ + void setViewportPage(int page, DocumentObserver *excludeObserver = nullptr, bool smoothMove = false); + + /** + * Sets the current document viewport to the given @p viewport. + * + * @param viewport The document viewport. + * @param excludeObserver The observer which shouldn't be effected by this change. + * @param smoothMove Whether the move shall be animated smoothly. + * @param updateHistory Whether to consider the change of viewport for the history navigation + */ + void setViewport(const DocumentViewport &viewport, DocumentObserver *excludeObserver = nullptr, bool smoothMove = false, bool updateHistory = true); + + /** + * Sets the current document viewport to the next viewport in the + * viewport history. + */ + void setPrevViewport(); + + /** + * Sets the current document viewport to the previous viewport in the + * viewport history. + */ + void setNextViewport(); + + /** + * Sets the next @p viewport in the viewport history. + */ + void setNextDocumentViewport(const DocumentViewport &viewport); + + /** + * Sets the next @p namedDestination in the viewport history. + * + * @since 0.9 (KDE 4.3) + */ + void setNextDocumentDestination(const QString &namedDestination); + + /** + * Sets the zoom for the current document. + */ + void setZoom(int factor, DocumentObserver *excludeObserver = nullptr); + + /** + * Describes the possible options for the pixmap requests. + */ + enum PixmapRequestFlag { + NoOption = 0, ///< No options + RemoveAllPrevious = 1 ///< Remove all the previous requests, even for non requested page pixmaps + }; + Q_DECLARE_FLAGS(PixmapRequestFlags, PixmapRequestFlag) + + /** + * Sends @p requests for pixmap generation. + * + * The same as requestPixmaps( requests, RemoveAllPrevious ); + * + * @since 22.08 + */ + void requestPixmaps(const QList &requests); + + /** + * Sends @p requests for pixmap generation. + * + * @param requests the linked list of requests + * @param reqOptions the options for the request + * + * @since 22.08 + */ + void requestPixmaps(const QList &requests, PixmapRequestFlags reqOptions); + + /** + * Sends a request for text page generation for the given page @p pageNumber. + */ + void requestTextPage(uint pageNumber); + + /** + * Adds a new @p annotation to the given @p page. + */ + void addPageAnnotation(int page, Annotation *annotation); + + /** + * Tests if the @p annotation can be modified + * + * @since 0.15 (KDE 4.9) + */ + bool canModifyPageAnnotation(const Annotation *annotation) const; + + /** + * Prepares to modify the properties of the given @p annotation. + * Must be called before the annotation's properties are modified + * + * @since 0.17 (KDE 4.11) + */ + void prepareToModifyAnnotationProperties(Annotation *annotation); + + /** + * Modifies the given @p annotation on the given @p page. + * Must be preceded by a call to prepareToModifyAnnotationProperties before + * the annotation's properties are modified + * + * @since 0.17 (KDE 4.11) + */ + void modifyPageAnnotationProperties(int page, Annotation *annotation); + + /** + * Translates the position of the given @p annotation on the given @p page by a distance @p delta in normalized coordinates. + * + * Consecutive translations applied to the same @p annotation are merged together on the undo stack if the + * BeingMoved flag is set on the @p annotation. + * + * @since 0.17 (KDE 4.11) + */ + void translatePageAnnotation(int page, Annotation *annotation, const Okular::NormalizedPoint &delta); + + /** + * Adjusts the position of the top-left and bottom-right corners of given @p annotation on the given @p page. + * + * Can be used to implement resize functionality. + * @p delta1 in normalized coordinates is added to top-left. + * @p delta2 in normalized coordinates is added to bottom-right. + * + * Consecutive adjustments applied to the same @p annotation are merged together on the undo stack if the + * BeingResized flag is set on the @p annotation. + * + * @since 1.1.0 + */ + void adjustPageAnnotation(int page, Annotation *annotation, const Okular::NormalizedPoint &delta1, const Okular::NormalizedPoint &delta2); + + /** + * Edits the plain text contents of the given @p annotation on the given @p page. + * + * The contents are set to @p newContents with cursor position @p newCursorPos. + * The previous cursor position @p prevCursorPos and previous anchor position @p prevAnchorPos + * must also be supplied so that they can be restored if the edit action is undone. + * + * The Annotation's internal contents should not be modified prior to calling this method. + * + * @since 0.17 (KDE 4.11) + */ + void editPageAnnotationContents(int page, Annotation *annotation, const QString &newContents, int newCursorPos, int prevCursorPos, int prevAnchorPos); + + /** + * Tests if the @p annotation can be removed + * + * @since 0.15 (KDE 4.9) + */ + bool canRemovePageAnnotation(const Annotation *annotation) const; + + /** + * Removes the given @p annotation from the given @p page. + */ + void removePageAnnotation(int page, Annotation *annotation); + + /** + * Removes the given @p annotations from the given @p page. + */ + void removePageAnnotations(int page, const QList &annotations); + + /** + * Clears the text selection highlights for the given @p page, + * creates new ones if @p rect is not nullptr, + * and deletes @p rect. + * + * @param page The number of the page. + * @param rect The rectangle of the selection. + * @param color The color of the selection. + */ + void setPageTextSelection(int page, std::unique_ptr &&rect, const QColor &color); + + /** + * Returns true if there is an undo command available; otherwise returns false. + * @since 0.17 (KDE 4.11) + */ + bool canUndo() const; + + /** + * Returns true if there is a redo command available; otherwise returns false. + * @since 0.17 (KDE 4.11) + */ + bool canRedo() const; + + /** + * Describes the possible search types. + */ + enum SearchType { + NextMatch, ///< Search next match + PreviousMatch, ///< Search previous match + AllDocument, ///< Search complete document + GoogleAll, ///< Search complete document (all words in google style) + GoogleAny ///< Search complete document (any words in google style) + }; + + /** + * Describes how search ended + */ + enum SearchStatus { + MatchFound, ///< Any match was found + NoMatchFound, ///< No match was found + SearchCancelled ///< The search was cancelled + }; + + /** + * Searches the given @p text in the document. + * + * @param searchID The unique id for this search request. + * @param text The text to be searched. + * @param fromStart Whether the search should be started at begin of the document. + * @param caseSensitivity Whether the search is case sensitive. + * @param type The type of the search. @ref SearchType + * @param moveViewport Whether the viewport shall be moved to the position of the matches. + * @param color The highlighting color of the matches. + */ + void searchText(int searchID, const QString &text, bool fromStart, Qt::CaseSensitivity caseSensitivity, SearchType type, bool moveViewport, const QColor &color); + + /** + * Continues the search for the given @p searchID. + */ + void continueSearch(int searchID); + + /** + * Continues the search for the given @p searchID, optionally specifying + * a new type for the search. + * + * @since 0.7 (KDE 4.1) + */ + void continueSearch(int searchID, SearchType type); + + /** + * Resets the search for the given @p searchID. + */ + void resetSearch(int searchID); + + /** + * Returns the bookmark manager of the document. + */ + BookmarkManager *bookmarkManager() const; + + /** + * Processes the given @p action. + */ + void processAction(const Action *action); + + /** + * Processes the given format @p action on @p fft. + * + * @since 1.9 + * @deprecated use processFormatAction(const Action *, Okular::FormField *). + */ + OKULARCORE_DEPRECATED void processFormatAction(const Action *action, Okular::FormFieldText *fft); + + /** + * Processes the given format @p action on a Form Field @p ff. + * + * @since 24.08 + */ + void processFormatAction(const Action *action, Okular::FormField *ff); + + /** + * Processes the given keystroke @p action on @p fft. + * + * @since 1.9 + * @deprecated use processKeystrokeAction(const Action *, Okular::FormField *, const QVariant &, int, int) + */ + OKULARCORE_DEPRECATED void processKeystrokeAction(const Action *action, Okular::FormFieldText *fft, const QVariant &newValue); + + /** + * Processes the given keystroke @p action on @p ff between the two positions @p prevCursorPos and @p prevAnchorPos + * @p prevCursorPos and @p prevAnchorPos are used to set the selStart and selEnd event properties. + * + * @since 24.08 + */ + void processKeystrokeAction(const Action *action, Okular::FormField *ff, const QVariant &newValue, int prevCursorPos, int prevAnchorPos); + + /** + * Processes the given keystroke @p action on @p fft. + * This will set event.willCommit=true + * + * @since 22.04 + * @deprecated use processKeystrokeCommitAction(const Action *, Okular::FormField *, bool &). + */ + OKULARCORE_DEPRECATED void processKeystrokeCommitAction(const Action *action, Okular::FormFieldText *fft); + + /** + * Processes the given keystroke @p action on FormField @p ff. + * This will set event.willCommit=true. + * The return code parameter is set if the value is to be committed. + * + * @since 24.08 + */ + void processKeystrokeCommitAction(const Action *action, Okular::FormField *ff, bool &returnCode); + + /** + * Processes the given focus action on the field. + * + * @since 1.9 + */ + void processFocusAction(const Action *action, Okular::FormField *field); + + /** + * Processes the given keystroke @p action on @p fft. + * + * @since 1.9 + * @deprecated use processValidateAction(const Action *, Okular::FormField *, bool &). + */ + OKULARCORE_DEPRECATED void processValidateAction(const Action *action, Okular::FormFieldText *fft, bool &returnCode); + + /** + * Validates the input value in the FormField @p ff and sets the @p returnCode for a given validate @p action. + * + * @since 24.08 + */ + void processValidateAction(const Action *action, Okular::FormField *ff, bool &returnCode); + + /** + * A method that executes the relevant keystroke, validate, calculate and format actions on a FormField @p ff. + * + * @since 24.08 + */ + void processKVCFActions(Okular::FormField *ff); + + /** + * Processes the mouse up @p action on @p ff. + * + * @deprecated use @ref processFormMouseScriptAction + * @since 23.12 + */ + OKULARCORE_DEPRECATED void processFormMouseUpScripAction(const Action *action, Okular::FormField *ff); + + enum MouseEventType { + FieldMouseDown, /// < This event is the result of a mouse down on a field. + FieldMouseEnter, /// < This event is the result of mouse exiting from a field. + FieldMouseExit, /// < This event is the result of mouse exiting from a field. + FieldMouseUp, /// < This event is the result of a mouse up on a field. + }; + + /** + * Processes the mouse @p action of type @p fieldMouseEventType on @p ff. + * + * @since 24.12 + */ + void processFormMouseScriptAction(const Action *action, Okular::FormField *ff, MouseEventType fieldMouseEventType); + + /** + * Describes the additional actions available in the Document. + * + * @since 24.08 + */ + enum DocumentAdditionalActionType { + CloseDocument, + SaveDocumentStart, + SaveDocumentFinish, + PrintDocumentStart, + PrintDocumentFinish, + }; + + /** + * Processes the given document additional @p action of specified @p type. + * + * @since 24.08 + */ + void processDocumentAction(const Action *action, DocumentAdditionalActionType type); + + /** + * Recalculates all the form fields in the document + * + * @since 24.12 + */ + void recalculateForms(); + + /** + * Returns a list of the bookmarked.pages + */ + QList bookmarkedPageList() const; + + /** + * Returns the range of the bookmarked.pages + */ + QString bookmarkedPageRange() const; + + /** + * Processes/Executes the given source @p reference. + * + * @deprecated since 25.12 use void processSourceReference(const SourceReference &reference) + */ + OKULARCORE_DEPRECATED void processSourceReference(const SourceReference *reference); + + /** + * Processes/Executes the given source @p reference. + * + * @since 25.12 + */ + void processSourceReference(const SourceReference &reference); + + /** + * Returns whether the document can configure the printer itself. + */ + bool canConfigurePrinter() const; + + /** + * What type of printing a document supports + */ + enum PrintingType { + NoPrinting, ///< Printing Not Supported + NativePrinting, ///< Native Cross-Platform Printing + PostscriptPrinting ///< Postscript file printing + }; + + /** + * Returns what sort of printing the document supports: + * Native, Postscript, None + */ + PrintingType printingSupport() const; + + /** + * Returns whether the document supports printing to both PDF and PS files. + */ + bool supportsPrintToFile() const; + + /// @since 22.04 + enum PrintError { + NoPrintError, ///< Printing succeeded + UnknownPrintError, + TemporaryFileOpenPrintError, + FileConversionPrintError, + PrintingProcessCrashPrintError, + PrintingProcessStartPrintError, + PrintToFilePrintError, + InvalidPrinterStatePrintError, + UnableToFindFilePrintError, + NoFileToPrintError, + NoBinaryToPrintError, + InvalidPageSizePrintError + }; + + /** + * Prints the document to the given @p printer. + */ + Document::PrintError print(QPrinter &printer); + + /// @since 22.04 + static QString printErrorString(PrintError error); + + /** + * Returns a custom printer configuration page or 0 if no + * custom printer configuration page is available. + * + * The returned object should be of a PrintOptionsWidget subclass + * (which is not officially enforced by the signature for binary + * compatibility reasons). + */ + QWidget *printConfigurationWidget() const; + + /** + * Fill the KConfigDialog @p dialog with the setting pages of the + * generators. + */ + void fillConfigDialog(KConfigDialog *dialog); + + /** + * Returns the number of generators that have a configuration widget. + */ + int configurableGenerators() const; + + /** + * Returns the list with the supported MIME types. + */ + QStringList supportedMimeTypes() const; + + /** + * Returns the metadata associated with the generator. May be invalid. + */ + KPluginMetaData generatorInfo() const; + + /** + * Returns whether the generator supports hot-swapping the current file + * with another identical file + * + * @since 1.3 + */ + bool canSwapBackingFile() const; + + /** + * Reload the document from a new location, without any visible effect + * to the user. + * + * The new file must be identical to the current one or, if the document + * has been modified (eg the user edited forms and annotations), the new + * document must have these changes too. For example, you can call + * saveChanges first to write changes to a file and then swapBackingFile + * to switch to the new location. + * + * @since 1.3 + */ + bool swapBackingFile(const QString &newFileName, const QUrl &url); + + /** + * Same as swapBackingFile, but newFileName must be a .okular file. + * + * The new file must be identical to the current one or, if the document + * has been modified (eg the user edited forms and annotations), the new + * document must have these changes too. For example, you can call + * saveDocumentArchive first to write changes to a file and then + * swapBackingFileArchive to switch to the new location. + * + * @since 1.3 + */ + bool swapBackingFileArchive(const QString &newFileName, const QUrl &url); + + /** + * Sets the history to be clean + * + * @since 1.3 + */ + void setHistoryClean(bool clean); + + bool isHistoryClean() const; + + /** + * \since 24.12 + */ + void clearHistory(); + + /** + * Saving capabilities. Their availability varies according to the + * underlying generator and/or the document type. + * + * @see canSaveChanges (SaveCapability) + * @since 0.15 (KDE 4.9) + */ + enum SaveCapability { + SaveFormsCapability = 1, ///< Can save form changes + SaveAnnotationsCapability = 2 ///< Can save annotation changes + }; + + /** + * Returns whether it's possible to save a given category of changes to + * another document. + * + * @since 0.15 (KDE 4.9) + */ + bool canSaveChanges(SaveCapability cap) const; + + /** + * Returns whether the changes to the document (modified annotations, + * values in form fields, etc) can be saved to another document. + * + * Equivalent to the logical OR of canSaveChanges(SaveCapability) for + * each capability. + * + * @since 0.7 (KDE 4.1) + */ + bool canSaveChanges() const; + + /** + * Save the document and the optional changes to it to the specified + * @p fileName. + * + * @since 0.7 (KDE 4.1) + */ + bool saveChanges(const QString &fileName); + + /** + * Save the document and the optional changes to it to the specified + * @p fileName and returns a @p errorText if fails. + * + * @since 0.10 (KDE 4.4) + */ + bool saveChanges(const QString &fileName, QString *errorText); + + /** + * Register the specified @p view for the current document. + * + * It is unregistered from the previous document, if any. + * + * @since 0.7 (KDE 4.1) + */ + void registerView(View *view); + + /** + * Unregister the specified @p view from the current document. + * + * @since 0.7 (KDE 4.1) + */ + void unregisterView(View *view); + + /** + * Gets the font data for the given font + * + * @since 0.8 (KDE 4.2) + */ + QByteArray fontData(const FontInfo &font) const; + + /** + * Opens a document archive. + * + * @since 0.20 (KDE 4.14) + */ + OpenResult openDocumentArchive(const QString &docFile, const QUrl &url, const QString &password = QString()); + + /** + * Saves a document archive. + * + * @since 0.8 (KDE 4.2) + */ + bool saveDocumentArchive(const QString &fileName); + + /** + * Extract the document file from the current archive. + * + * @warning This function only works if the current file is a document archive + * + * @since 1.3 + */ + bool extractArchivedFile(const QString &destFileName); + + /** + * Asks the generator to dynamically generate a SourceReference for a given + * page number and absolute X and Y position on this page. + * + * @attention Ownership of the returned SourceReference is transferred to the caller. + * @note This method does not call processSourceReference(const SourceReference &) + * + * @since 0.10 (KDE 4.4) + */ + const SourceReference *dynamicSourceReference(int pageNr, double absX, double absY); + + /** + * Returns the orientation of the document (for printing purposes). This + * is used in the KPart to initialize the print dialog and in the + * generators to check whether the document needs to be rotated or not. + * + * @since 0.14 (KDE 4.8) + */ + QPageLayout::Orientation orientation() const; + + /** + * Control annotation editing (creation, modification and removal), + * which is enabled by default. + * + * @since 0.15 (KDE 4.9) + */ + void setAnnotationEditingEnabled(bool enable); + + /** + * Returns which wallet data to use to read/write the password for the given fileName + * + * @since 0.20 (KDE 4.14) + */ + void walletDataForFile(const QString &fileName, QString *walletName, QString *walletFolder, QString *walletKey) const; + + /** + * Since version 0.21, okular does not allow editing annotations and + * form data if they are stored in the docdata directory (like older + * okular versions did by default). + * If this flag is set, then annotations and forms cannot be edited. + * + * @since 1.3 + */ + bool isDocdataMigrationNeeded() const; + + /** + * Delete annotations and form data from the docdata folder. Call it if + * isDocdataMigrationNeeded() was true and you've just saved them to an + * external file. + * + * @since 1.3 + */ + void docdataMigrationDone(); + + /** + * Returns the model for rendering layers (NULL if the document has no layers) + * + * @since 0.24 + */ + QAbstractItemModel *layersModel() const; + + /** + * Returns the reason why the file opening failed, if any. + * + * @since 1.10 + */ + QString openError() const; + + /** + * Digitally sign document + * + * @return pair of signing result and a detailed/advanced error message/code in case of errors + * @since 25.08 + */ + std::pair sign(const NewSignatureData &data, const QString &newPath); + + /** + * Returns the generator's certificate store (if any) + * + * @since 21.04 + */ + CertificateStore *certificateStore() const; + + /** sets the editor command to the command \p editCmd, as + * given at the commandline. + * + * @since 22.04 + */ + void setEditorCommandOverride(const QString &editCmd); + + /** returns the overriding editor command. + * + * If the editor command was not overridden, the string is empty. + * + * @since 22.04 + */ + QString editorCommandOverride() const; + +public Q_SLOTS: + /** + * This slot is called whenever the user changes the @p rotation of + * the document. + */ + void setRotation(int rotation); + + /** + * This slot is called whenever the user changes the page @p size + * of the document. + */ + void setPageSize(const Okular::PageSize &size); + + /** + * Cancels the current search + */ + void cancelSearch(); + + /** + * Undo last edit command + * @since 0.17 (KDE 4.11) + */ + void undo(); + + /** + * Redo last undone edit command + * @since 0.17 (KDE 4.11) + */ + void redo(); + + /** + * Edit the text contents of the specified @p form on page @p page to be @p newContents. + * The new text cursor position (@p newCursorPos), previous text cursor position (@p prevCursorPos), + * and previous cursor anchor position will be restored by the undo / redo commands. + * @since 0.17 (KDE 4.11) + * + * @deprecated use editFormText(int pageNumber, Okular::FormFieldText *form, const QString &newContents, + * int newCursorPos, int prevCursorPos, int prevAnchorPos, const QString &oldContents) + */ + OKULARCORE_DEPRECATED void editFormText(int pageNumber, Okular::FormFieldText *form, const QString &newContents, int newCursorPos, int prevCursorPos, int prevAnchorPos); + + /** + * Edit the text contents of the specified @p form on page @p page to be @p newContents where + * previous contents are @p oldContents for undo/redo commands. The new text cursor position (@p newCursorPos), + * previous text cursor position (@p prevCursorPos), and previous cursor anchor position will be restored by the undo / redo commands. + * @since 24.08 + */ + void editFormText(int pageNumber, Okular::FormFieldText *form, const QString &newContents, int newCursorPos, int prevCursorPos, int prevAnchorPos, const QString &oldContents); + + /** + * Edit the selected list entries in @p form on page @p page to be @p newChoices. + * @since 0.17 (KDE 4.11) + */ + void editFormList(int pageNumber, Okular::FormFieldChoice *form, const QList &newChoices); + + /** + * Set the active choice in the combo box @p form on page @p page to @p newText + * The new cursor position (@p newCursorPos), previous cursor position + * (@p prevCursorPos), and previous anchor position (@p prevAnchorPos) + * will be restored by the undo / redo commands. + * + * @since 0.17 (KDE 4.11) + */ + void editFormCombo(int pageNumber, Okular::FormFieldChoice *form, const QString &newText, int newCursorPos, int prevCursorPos, int prevAnchorPos); + + /** + * Set the states of the group of form buttons @p formButtons on page @p page to @p newButtonStates. + * The lists @p formButtons and @p newButtonStates should be the same length and true values + * in @p newButtonStates indicate that the corresponding entry in @p formButtons should be enabled. + */ + void editFormButtons(int pageNumber, const QList &formButtons, const QList &newButtonStates); + + /** + * Reloads the pixmaps for whole document + * + * @since 0.24 + */ + void reloadDocument() const; + + /** + * Returns the part of document covered by the given signature @p info. + * + * @since 1.7 + */ + QByteArray requestSignedRevisionData(const Okular::SignatureInfo &info); + + /** + * Refresh the pixmaps for the given @p pageNumber. + * + * @since 1.10 + */ + void refreshPixmaps(int pageNumber); + +Q_SIGNALS: + /** + * This signal is emitted whenever the document is about to close. + * @since 1.5.3 + */ + void aboutToClose(); + + /** + * This signal is emitted whenever an action requests a + * document close operation. + */ + void close(); + + /** + * This signal is emitted whenever an action requests a + * document print operation. + * @since 22.04 + */ + void requestPrint(); + + /** + * This signal is emitted whenever an action requests a + * document save as operation. + * @since 22.04 + */ + void requestSaveAs(); + + /** + * This signal is emitted whenever an action requests an + * application quit operation. + */ + void quit(); + + /** + * This signal is emitted whenever an action requests a + * find operation. + */ + void linkFind(); + + /** + * This signal is emitted whenever an action requests a + * goto operation. + */ + void linkGoToPage(); + + /** + * This signal is emitted whenever an action requests a + * start presentation operation. + */ + void linkPresentation(); + + /** + * This signal is emitted whenever an action requests an + * end presentation operation. + */ + void linkEndPresentation(); + + /** + * This signal is emitted whenever an action requests an + * open url operation for the given document @p url. + */ + void openUrl(const QUrl &url); + + /** + * This signal is emitted whenever an error occurred. + * + * @param text The description of the error. + * @param duration The time in milliseconds the message should be shown to the user. + */ + void error(const QString &text, int duration); + + /** + * This signal is emitted to signal a warning. + * + * @param text The description of the warning. + * @param duration The time in milliseconds the message should be shown to the user. + */ + void warning(const QString &text, int duration); + + /** + * This signal is emitted to signal a notice. + * + * @param text The description of the notice. + * @param duration The time in milliseconds the message should be shown to the user. + */ + void notice(const QString &text, int duration); + + /** + * Emitted when a new font is found during the reading of the fonts of + * the document. + */ + void gotFont(const Okular::FontInfo &font); + + /** + * Reports the progress when reading the fonts in the document. + * + * \param page is the page that was just finished to scan for fonts + */ + void fontReadingProgress(int page); + + /** + * Reports that the reading of the fonts in the document is finished. + */ + void fontReadingEnded(); + + /** + * Reports that the current search finished + */ + void searchFinished(int searchID, Okular::Document::SearchStatus endStatus); + + /** + * This signal is emitted whenever a source reference with the given parameters has been + * activated. + * + * \param absFileName absolute name of the file. + * \param line line number. + * \param col column number. + * \param handled should be set to 'true' if a slot handles this source reference; the + * default action to launch the configured editor will then not be performed + * by the document + * + * @since 0.14 (KDE 4.8) + */ + void sourceReferenceActivated(const QString &absFileName, int line, int col, bool *handled); + + /** + * This signal is emitted whenever an movie action is triggered and the UI should process it. + */ + void processMovieAction(const Okular::MovieAction *action); + + /** + * This signal is emitted whenever the availability of the undo function changes + * @since 0.17 (KDE 4.11) + */ + void canUndoChanged(bool undoAvailable); + + /** + * This signal is emitted whenever the availability of the redo function changes + * @since 0.17 (KDE 4.11) + */ + void canRedoChanged(bool redoAvailable); + + /** + * This signal is emitted whenever the undo history is clean (i.e. the same status the last time it was saved) + * @since 1.3 + */ + void undoHistoryCleanChanged(bool clean); + + /** + * This signal is emitted whenever an rendition action is triggered and the UI should process it. + * + * @since 0.16 (KDE 4.10) + */ + void processRenditionAction(const Okular::RenditionAction *action); + + /** + * This signal is emitted whenever the contents of the given @p annotation are changed by an undo + * or redo action. + * + * The new contents (@p contents), cursor position (@p cursorPos), and anchor position (@p anchorPos) are + * included + * @since 0.17 (KDE 4.11) + */ + void annotationContentsChangedByUndoRedo(Okular::Annotation *annotation, const QString &contents, int cursorPos, int anchorPos); + + /** + * This signal is emitted whenever the text contents of the given text @p form on the given @p page + * are changed by an undo or redo action. + * + * The new text contents (@p contents), cursor position (@p cursorPos), and anchor position (@p anchorPos) are + * included + * @since 0.17 (KDE 4.11) + */ + void formTextChangedByUndoRedo(int page, Okular::FormFieldText *form, const QString &contents, int cursorPos, int anchorPos); + + /** + * This signal is emitted whenever the selected @p choices for the given list @p form on the + * given @p page are changed by an undo or redo action. + * @since 0.17 (KDE 4.11) + */ + void formListChangedByUndoRedo(int page, Okular::FormFieldChoice *form, const QList &choices); + + /** + * This signal is emitted whenever the active @p text for the given combo @p form on the + * given @p page is changed by an undo or redo action. + * @since 0.17 (KDE 4.11) + */ + void formComboChangedByUndoRedo(int page, Okular::FormFieldChoice *form, const QString &text, int cursorPos, int anchorPos); + + /** + * This signal is emitted whenever the state of the specified group of form buttons (@p formButtons) on the + * given @p page is changed by an undo or redo action. + * @since 0.17 (KDE 4.11) + */ + void formButtonsChangedByUndoRedo(int page, const QList &formButtons); + + /** + * This signal is emitted whenever a FormField was changed programmatically and the + * according widget should be updated. + * @since 1.4 + */ + void refreshFormWidget(Okular::FormField *field); + +private: + /// @cond PRIVATE + friend class DocumentPrivate; + friend class ::DocumentItem; + friend class EditAnnotationContentsCommand; + friend class EditFormTextCommand; + friend class EditFormListCommand; + friend class EditFormComboCommand; + friend class EditFormButtonsCommand; + friend class KleopatraIntegration; + /// @endcond + DocumentPrivate *const d; + + Q_DISABLE_COPY(Document) +}; + +/** + * @short A view on the document. + * + * The Viewport structure is the 'current view' over the document. Contained + * data is broadcasted between observers to synchronize their viewports to get + * the 'I scroll one view and others scroll too' views. + */ +class OKULARCORE_EXPORT DocumentViewport +{ +public: + /** + * Creates a new viewport for the given page @p number. + */ + explicit DocumentViewport(int number = -1); + + /** + * Creates a new viewport from the given @p xmlDesc. + */ + explicit DocumentViewport(const QString &xmlDesc); + + /** + * Returns the viewport as xml description. + */ + QString toString() const; + + /** + * Returns whether the viewport is valid. + */ + bool isValid() const; + + /** + * @internal + */ + bool operator==(const DocumentViewport &other) const; + bool operator<(const DocumentViewport &other) const; + + /** + * The number of the page nearest the center of the viewport. + */ + int pageNumber; + + /** + * Describes the relative position of the viewport. + */ + enum Position { + Center = 1, ///< Relative to the center of the page. + TopLeft = 2 ///< Relative to the top left corner of the page. + }; + + /** + * If 'rePos.enabled == true' then this structure contains the + * viewport center or top left depending on the value of pos. + */ + struct { + bool enabled; + double normalizedX; + double normalizedY; + Position pos; + } rePos; + + /** + * If 'autoFit.enabled == true' then the page must be autofit in the viewport. + */ + struct { + bool enabled; + bool width; + bool height; + } autoFit; +}; + +/** + * @short A DOM tree that describes the Table of Contents. + * + * The Synopsis (TOC or Table Of Contents for friends) is represented via + * a dom tree where each node has an internal name (displayed in the TOC) + * and one or more attributes. + * + * In the tree the tag name is the 'screen' name of the entry. A tag can have + * attributes. Here follows the list of tag attributes with meaning: + * - Destination: A string description of the referred viewport + * - DestinationName: A 'named reference' to the viewport that must be converted + * using metaData( "NamedViewport", viewport_name ) + * - ExternalFileName: A document to be opened, whose destination is specified + * with Destination or DestinationName + * - Open: a boolean saying whether its TOC branch is open or not (default: false) + * - URL: a URL to be open as destination; if set, no other Destination* or + * ExternalFileName entry is used + */ +class OKULARCORE_EXPORT DocumentSynopsis : public QDomDocument +{ +public: + /** + * Creates a new document synopsis object. + */ + DocumentSynopsis(); + + /** + * Creates a new document synopsis object with the given + * @p document as parent node. + */ + explicit DocumentSynopsis(const QDomDocument &document); +}; + +/** + * @short An embedded file into the document. + * + * This class represents a sort of interface of an embedded file in a document. + * + * Generators \b must re-implement its members to give the all the information + * about an embedded file, like its name, its description, the date of creation + * and modification, and the real data of the file. + */ +class OKULARCORE_EXPORT EmbeddedFile +{ +public: + /** + * Creates a new embedded file. + */ + EmbeddedFile(); + + /** + * Destroys the embedded file. + */ + virtual ~EmbeddedFile(); + + EmbeddedFile(const EmbeddedFile &) = delete; + EmbeddedFile &operator=(const EmbeddedFile &) = delete; + + /** + * Returns the name of the file + */ + virtual QString name() const = 0; + + /** + * Returns the description of the file, or an empty string if not + * available + */ + virtual QString description() const = 0; + + /** + * Returns the real data representing the file contents + */ + virtual QByteArray data() const = 0; + + /** + * Returns the size (in bytes) of the file, if available, or -1 otherwise. + * + * @note this method should be a fast way to know the size of the file + * with no need to extract all the data from it + */ + virtual int size() const = 0; + + /** + * Returns the modification date of the file, or an invalid date + * if not available + */ + virtual QDateTime modificationDate() const = 0; + + /** + * Returns the creation date of the file, or an invalid date + * if not available + */ + virtual QDateTime creationDate() const = 0; +}; + +/** + * @short An area of a specified page + */ +class OKULARCORE_EXPORT VisiblePageRect +{ +public: + /** + * Creates a new visible page rectangle. + * + * @param pageNumber The page number where the rectangle is located. + * @param rectangle The rectangle in normalized coordinates. + */ + explicit VisiblePageRect(int pageNumber = -1, const NormalizedRect &rectangle = NormalizedRect()); + + /** + * The page number where the rectangle is located. + */ + int pageNumber; + + /** + * The rectangle in normalized coordinates. + */ + NormalizedRect rect; +}; + +/** + * @short Data needed to create a new signature + * + * @since 21.04 + */ +class OKULARCORE_EXPORT NewSignatureData +{ +public: + NewSignatureData(); + ~NewSignatureData(); + NewSignatureData(const NewSignatureData &) = delete; + NewSignatureData &operator=(const NewSignatureData &) = delete; + + QString certNickname() const; + void setCertNickname(const QString &certNickname); + + QString certSubjectCommonName() const; + void setCertSubjectCommonName(const QString &certSubjectCommonName); + + QString password() const; + void setPassword(const QString &password); + + int page() const; + void setPage(int page); + + NormalizedRect boundingRectangle() const; + void setBoundingRectangle(const NormalizedRect &rect); + + /// @since 22.04 + QString documentPassword() const; + + /// @since 22.04 + void setDocumentPassword(const QString &password); + + /// @since 23.08 + QString reason() const; + + /// @since 23.08 + void setReason(const QString &reason); + + /// @since 23.08 + QString location() const; + + /// @since 23.08 + void setLocation(const QString &location); + + /// @since 23.08 + QString backgroundImagePath() const; + + /// @since 23.08 + void setBackgroundImagePath(const QString &path); + + /// @since 25.04 + double fontSize() const; + + /// @since 25.04 + void setFontSize(double fontSize); + + /// @since 25.04 + double leftFontSize() const; + + /// @since 25.04 + void setLeftFontSize(double fontSize); + +private: + NewSignatureDataPrivate *const d; +}; + +} + +Q_DECLARE_METATYPE(Okular::DocumentInfo::Key) +Q_DECLARE_OPERATORS_FOR_FLAGS(Okular::Document::PixmapRequestFlags) + +#endif + +/* kate: replace-tabs on; indent-width 4; */ diff --git a/core/document_p.h b/core/document_p.h new file mode 100644 index 0000000..7a391fd --- /dev/null +++ b/core/document_p.h @@ -0,0 +1,375 @@ +/* + SPDX-FileCopyrightText: 2004-2005 Enrico Ros + SPDX-FileCopyrightText: 2004-2007 Albert Astals Cid + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_DOCUMENT_P_H_ +#define _OKULAR_DOCUMENT_P_H_ + +#include "document.h" +#include "script/event_p.h" + +#include "synctex/synctex_parser.h" +#include + +// qt/kde/system includes +#include +#include +#include +#include +#include +#include +#include + +// local includes +#include "fontinfo.h" +#include "generator.h" + +class QUndoStack; +class QEventLoop; +class QFile; +class QTimer; +class QTemporaryFile; +class KPluginMetaData; + +struct AllocatedPixmap; +struct ArchiveData; +struct RunningSearch; + +namespace Okular +{ +class ScriptAction; +class ConfigInterface; +class PageController; +class SaveInterface; +class Scripter; +class View; +} + +struct GeneratorInfo { + explicit GeneratorInfo(Okular::Generator *g, const KPluginMetaData &data) + : generator(g) + , metadata(data) + , config(nullptr) + , save(nullptr) + , configChecked(false) + , saveChecked(false) + { + } + + Okular::Generator *generator; + KPluginMetaData metadata; + Okular::ConfigInterface *config; + Okular::SaveInterface *save; + bool configChecked : 1; + bool saveChecked : 1; +}; + +namespace Okular +{ +class OKULARCORE_EXPORT BackendConfigDialog : public KConfigDialog +{ + Q_OBJECT +public: + BackendConfigDialog(QWidget *parent, const QString &name, KCoreConfigSkeleton *config) + : KConfigDialog(parent, name, config) + { + } + + KPageWidget *thePageWidget() + { + return pageWidget(); + } +}; + +class FontExtractionThread; + +struct DoContinueDirectionMatchSearchStruct { + QSet *pagesToNotify; + RegularAreaRect *match; + int currentPage; + int searchID; +}; + +enum LoadDocumentInfoFlag { + LoadNone = 0, + LoadPageInfo = 1, // Load annotations and forms + LoadGeneralInfo = 2, // History, rotation, ... + LoadAllInfo = 0xff +}; +Q_DECLARE_FLAGS(LoadDocumentInfoFlags, LoadDocumentInfoFlag) + +class DocumentPrivate +{ +public: + explicit DocumentPrivate(Document *parent) + : m_parent(parent) + , m_searchCancelled(false) + , m_tempFile(nullptr) + , m_docSize(-1) + , m_allocatedPixmapsTotalMemory(0) + , m_maxAllocatedTextPages(0) + , m_warnedOutOfMemory(false) + , m_rotation(Rotation0) + , m_exportCached(false) + , m_bookmarkManager(nullptr) + , m_memCheckTimer(nullptr) + , m_saveBookmarksTimer(nullptr) + , m_generator(nullptr) + , m_walletGenerator(nullptr) + , m_generatorsLoaded(false) + , m_pageController(nullptr) + , m_closingLoop(nullptr) + , m_scripter(nullptr) + , m_archiveData(nullptr) + , m_fontsCached(false) + , m_annotationEditingEnabled(true) + , m_annotationBeingModified(false) + , m_undoStack(nullptr) + , m_docdataMigrationNeeded(false) + , m_synctex_scanner(nullptr) + { + calculateMaxTextPages(); + } + + // private methods + bool updateMetadataXmlNameAndDocSize(); + QString pagesSizeString() const; + QString namePaperSize(double inchesWidth, double inchesHeight) const; + QString localizedSize(const QSizeF size) const; + qulonglong calculateMemoryToFree(); + void cleanupPixmapMemory(); + void cleanupPixmapMemory(qulonglong memoryToFree); + AllocatedPixmap *searchLowestPriorityPixmap(bool unloadableOnly = false, bool thenRemoveIt = false, DocumentObserver *observer = nullptr /* any */); + void calculateMaxTextPages(); + qulonglong getTotalMemory(); + qulonglong getFreeMemory(qulonglong *freeSwap = nullptr); + bool loadDocumentInfo(LoadDocumentInfoFlags loadWhat); + bool loadDocumentInfo(QFile &infoFile, LoadDocumentInfoFlags loadWhat); + void loadViewsInfo(View *view, const QDomElement &e); + + /** + * @since 24.12 + */ + void setDefaultViewMode(View *view, Generator::PageLayout defaultViewMode); + + void saveViewsInfo(View *view, QDomElement &e) const; + QUrl giveAbsoluteUrl(const QString &fileName) const; + bool openRelativeFile(const QString &fileName); + Generator *loadGeneratorLibrary(const KPluginMetaData &service); + void loadAllGeneratorLibraries(); + void loadServiceList(const QList &offers); + void unloadGenerator(GeneratorInfo &info); + void cacheExportFormats(); + void setRotationInternal(int r, bool notify); + ConfigInterface *generatorConfig(GeneratorInfo &info); + SaveInterface *generatorSave(GeneratorInfo &info); + Document::OpenResult openDocumentInternal(const KPluginMetaData &offer, bool isstdin, const QString &docFile, const QByteArray &filedata, const QString &password); + static ArchiveData *unpackDocumentArchive(const QString &archivePath); + bool savePageDocumentInfo(QTemporaryFile *infoFile, int what) const; + DocumentViewport nextDocumentViewport() const; + void notifyAnnotationChanges(int page); + void notifyFormChanges(int page); + bool canAddAnnotationsNatively() const; + bool canModifyExternalAnnotations() const; + bool canRemoveExternalAnnotations() const; + OKULARCORE_EXPORT static QString docDataFileName(const QUrl &url, qint64 document_size); + bool cancelRenderingBecauseOf(PixmapRequest *executingRequest, PixmapRequest *newRequest); + + // Methods that implement functionality needed by undo commands + void performAddPageAnnotation(int page, Annotation *annotation); + void performRemovePageAnnotation(int page, Annotation *annotation); + void performModifyPageAnnotation(int page, Annotation *annotation, bool appearanceChanged); + void performSetAnnotationContents(const QString &newContents, Annotation *annot, int pageNumber); + + void recalculateForms(); + + // private slots + void saveDocumentInfo() const; + void slotTimedMemoryCheck(); + void sendGeneratorPixmapRequest(); + void rotationFinished(int page, Okular::Page *okularPage); + void slotFontReadingProgress(int page); + void fontReadingGotFont(const Okular::FontInfo &font); + void slotGeneratorConfigChanged(); + void refreshPixmaps(int); + void _o_configChanged(); + + typedef std::pair MatchColor; + void doContinueDirectionMatchSearch(DoContinueDirectionMatchSearchStruct *searchStruct); + void doContinueAllDocumentSearch(QSet *pagesToNotify, QHash> *pageMatches, int currentPage, int searchID); + void doContinueGooglesDocumentSearch(QSet *pagesToNotify, QHash> *pageMatches, int currentPage, int searchID, const QStringList &words); + + void doProcessSearchMatch(RegularAreaRect *match, RunningSearch *search, QSet *pagesToNotify, int currentPage, int searchID, bool moveViewport, const QColor &color); + + /** + * Executes a JavaScript script from the setInterval function. + * + * @since 1.9 + */ + void executeScript(const QString &function); + + // generators stuff + /** + * This method is used by the generators to signal the finish of + * the pixmap generation @p request. + */ + void requestDone(PixmapRequest *request); + void textGenerationDone(Page *page); + /** + * Sets the bounding box of the given @p page (in terms of upright orientation, i.e., Rotation0). + */ + void setPageBoundingBox(int page, const NormalizedRect &boundingBox); + + /** + * Request a particular metadata of the Document itself (ie, not something + * depending on the document type/backend). + */ + QVariant documentMetaData(const Generator::DocumentMetaDataKey key, const QVariant &option) const; + + /** + * Return whether the normalized rectangle @p rectOfInterest on page number @p rectPage + * is fully visible. + */ + bool isNormalizedRectangleFullyVisible(const Okular::NormalizedRect &rectOfInterest, int rectPage); + + // For sync files + void loadSyncFile(const QString &filePath); + + void clearAndWaitForRequests(); + + OKULARCORE_EXPORT static QString evaluateKeystrokeEventChange(const QString &oldVal, const QString &newVal, int selStart, int selEnd); + + /* + * Executes a ScriptAction with the event passed as parameter. + */ + void executeScriptEvent(const std::shared_ptr &event, const Okular::ScriptAction *linkscript); + + /* + * Find the corresponding page number for the form field passed as parameter. + */ + int findFieldPageNumber(Okular::FormField *field); + + // member variables + Document *m_parent; + QPointer m_widget; + + // find descriptors, mapped by ID (we handle multiple searches) + QMap m_searches; + bool m_searchCancelled; + + // needed because for remote documents docFileName is a local file and + // we want the remote url when the document refers to relativeNames + QUrl m_url; + + // cached stuff + QString m_docFileName; + QString m_xmlFileName; + QTemporaryFile *m_tempFile; + qint64 m_docSize; + + // viewport stuff + std::list m_viewportHistory; + std::list::iterator m_viewportIterator; + DocumentViewport m_nextDocumentViewport; // see Link::Goto for an explanation + QString m_nextDocumentDestination; + + // observers / requests / allocator stuff + QSet m_observers; + // sorted by priority from lowest priority (highest number) at the head of the list to the highest priority (zero number) toward the end + std::list m_pixmapRequestsStack; + std::list m_executingPixmapRequests; + QMutex m_pixmapRequestsMutex; + std::list m_allocatedPixmaps; + qulonglong m_allocatedPixmapsTotalMemory; + QList m_allocatedTextPagesFifo; + int m_maxAllocatedTextPages; + bool m_warnedOutOfMemory; + + // the rotation applied to the document + Rotation m_rotation; + + // the current size of the pages (if available), and the cache of the + // available page sizes + PageSize m_pageSize; + PageSize::List m_pageSizes; + + // cache of the export formats + bool m_exportCached; + ExportFormat::List m_exportFormats; + ExportFormat m_exportToText; + + // our bookmark manager + BookmarkManager *m_bookmarkManager; + + // timers (memory checking / info saver) + QTimer *m_memCheckTimer; + QTimer *m_saveBookmarksTimer; + + QHash m_loadedGenerators; + Generator *m_generator; + QString m_generatorName; + Generator *m_walletGenerator; + bool m_generatorsLoaded; + QList m_pagesVector; + QList m_pageRects; + + // cache of the mimetype we support + QStringList m_supportedMimeTypes; + + PageController *m_pageController; + QEventLoop *m_closingLoop; + + Scripter *m_scripter; + + ArchiveData *m_archiveData; + QString m_archivedFileName; + + QPointer m_fontThread; + bool m_fontsCached; + QSet m_documentInfoAskedKeys; + DocumentInfo m_documentInfo; + FontInfo::List m_fontsCache; + + QSet m_views; + + bool m_annotationEditingEnabled; + bool m_annotationBeingModified; // is an annotation currently being moved or resized? + + QUndoStack *m_undoStack; + QDomNode m_prevPropsOfAnnotBeingModified; + + // Since 0.21, we no longer support saving annotations and form data in + // the docdata/ directory and we ask the user to migrate them to an + // external file as soon as possible, otherwise the document will be + // shown in read-only mode. This flag is set if the docdata/ XML file + // for the current document contains any annotation or form. + bool m_docdataMigrationNeeded; + + synctex_scanner_p m_synctex_scanner; + + QString m_openError; + + // generator selection + static QList availableGenerators(); + static QList configurableGenerators(); + static KPluginMetaData generatorForMimeType(const QMimeType &type, QWidget *widget, const QList &triedOffers = QList()); + + // overrides the editor command (for example with a command from the command line) + QString editorCommandOverride; +}; + +class DocumentInfoPrivate +{ +public: + QMap values; // key -> value + QMap titles; // key -> title For the custom keys +}; + +} + +#endif + +/* kate: replace-tabs on; indent-width 4; */ diff --git a/core/documentcommands.cpp b/core/documentcommands.cpp new file mode 100644 index 0000000..8d5cdad --- /dev/null +++ b/core/documentcommands.cpp @@ -0,0 +1,673 @@ +/* + SPDX-FileCopyrightText: 2013 Jon Mease + + Work sponsored by the LiMux project of the city of Munich: + SPDX-FileCopyrightText: 2017 Klarälvdalens Datakonsult AB a KDAB Group company + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "documentcommands_p.h" + +#include "annotations.h" +#include "debug_p.h" +#include "document_p.h" +#include "form.h" +#include "page.h" +#include "page_p.h" +#include "utils_p.h" + +#include + +namespace Okular +{ +void moveViewportIfBoundingRectNotFullyVisible(Okular::NormalizedRect boundingRect, DocumentPrivate *docPriv, int pageNumber) +{ + const Rotation pageRotation = docPriv->m_parent->page(pageNumber)->rotation(); + const QTransform rotationMatrix = Okular::buildRotationMatrix(pageRotation); + boundingRect.transform(rotationMatrix); + if (!docPriv->isNormalizedRectangleFullyVisible(boundingRect, pageNumber)) { + DocumentViewport searchViewport(pageNumber); + searchViewport.rePos.enabled = true; + searchViewport.rePos.normalizedX = (boundingRect.left + boundingRect.right) / 2.0; + searchViewport.rePos.normalizedY = (boundingRect.top + boundingRect.bottom) / 2.0; + docPriv->m_parent->setViewport(searchViewport, nullptr, true); + } +} + +Okular::NormalizedRect buildBoundingRectangleForButtons(const QList &formButtons) +{ + // Initialize coordinates of the bounding rect + double left = 1.0; + double top = 1.0; + double right = 0.0; + double bottom = 0.0; + + for (const FormFieldButton *formButton : formButtons) { + left = qMin(left, formButton->rect().left); + top = qMin(top, formButton->rect().top); + right = qMax(right, formButton->rect().right); + bottom = qMax(bottom, formButton->rect().bottom); + } + Okular::NormalizedRect boundingRect(left, top, right, bottom); + return boundingRect; +} + +AddAnnotationCommand::AddAnnotationCommand(Okular::DocumentPrivate *docPriv, Okular::Annotation *annotation, int pageNumber) + : m_docPriv(docPriv) + , m_annotation(annotation) + , m_pageNumber(pageNumber) + , m_done(false) +{ + setText(i18nc("Add an annotation to the page", "add annotation")); +} + +AddAnnotationCommand::~AddAnnotationCommand() +{ + if (!m_done) { + delete m_annotation; + } +} + +void AddAnnotationCommand::undo() +{ + moveViewportIfBoundingRectNotFullyVisible(m_annotation->boundingRectangle(), m_docPriv, m_pageNumber); + m_docPriv->performRemovePageAnnotation(m_pageNumber, m_annotation); + m_done = false; +} + +void AddAnnotationCommand::redo() +{ + moveViewportIfBoundingRectNotFullyVisible(m_annotation->boundingRectangle(), m_docPriv, m_pageNumber); + m_docPriv->performAddPageAnnotation(m_pageNumber, m_annotation); + m_done = true; +} + +bool AddAnnotationCommand::refreshInternalPageReferences(const QList &newPagesVector) +{ + if (m_done) { + // We don't always update m_annotation because even if the annotation has been added to the document + // it can have been removed later so the annotation pointer is stored inside a following RemoveAnnotationCommand + // and thus doesn't need updating because it didn't change + // because of the document reload + auto a = newPagesVector[m_pageNumber]->annotation(m_annotation->uniqueName()); + if (a) { + m_annotation = a; + } + } + + return true; +} + +RemoveAnnotationCommand::RemoveAnnotationCommand(Okular::DocumentPrivate *doc, Okular::Annotation *annotation, int pageNumber) + : m_docPriv(doc) + , m_annotation(annotation) + , m_pageNumber(pageNumber) + , m_done(false) +{ + setText(i18nc("Remove an annotation from the page", "remove annotation")); +} + +RemoveAnnotationCommand::~RemoveAnnotationCommand() +{ + if (m_done) { + delete m_annotation; + } +} + +void RemoveAnnotationCommand::undo() +{ + moveViewportIfBoundingRectNotFullyVisible(m_annotation->boundingRectangle(), m_docPriv, m_pageNumber); + m_docPriv->performAddPageAnnotation(m_pageNumber, m_annotation); + m_done = false; +} + +void RemoveAnnotationCommand::redo() +{ + moveViewportIfBoundingRectNotFullyVisible(m_annotation->boundingRectangle(), m_docPriv, m_pageNumber); + m_docPriv->performRemovePageAnnotation(m_pageNumber, m_annotation); + m_done = true; +} + +bool RemoveAnnotationCommand::refreshInternalPageReferences(const QList &newPagesVector) +{ + if (!m_done) { + // We don't always update m_annotation because it can happen that the annotation remove has been undo + // and that annotation addition has also been undone so the annotation pointer is stored inside + // a previous AddAnnotationCommand and thus doesn't need updating because it didn't change + // because of the document reload + auto a = newPagesVector[m_pageNumber]->annotation(m_annotation->uniqueName()); + if (a) { + m_annotation = a; + } + } + + return true; +} + +ModifyAnnotationPropertiesCommand::ModifyAnnotationPropertiesCommand(DocumentPrivate *docPriv, Annotation *annotation, int pageNumber, const QDomNode &oldProperties, const QDomNode &newProperties) + : m_docPriv(docPriv) + , m_annotation(annotation) + , m_pageNumber(pageNumber) + , m_prevProperties(oldProperties) + , m_newProperties(newProperties) +{ + setText(i18nc("Modify an annotation's internal properties (Color, line-width, etc.)", "modify annotation properties")); +} + +void ModifyAnnotationPropertiesCommand::undo() +{ + moveViewportIfBoundingRectNotFullyVisible(m_annotation->boundingRectangle(), m_docPriv, m_pageNumber); + m_annotation->setAnnotationProperties(m_prevProperties); + m_docPriv->performModifyPageAnnotation(m_pageNumber, m_annotation, true); +} + +void ModifyAnnotationPropertiesCommand::redo() +{ + moveViewportIfBoundingRectNotFullyVisible(m_annotation->boundingRectangle(), m_docPriv, m_pageNumber); + m_annotation->setAnnotationProperties(m_newProperties); + m_docPriv->performModifyPageAnnotation(m_pageNumber, m_annotation, true); +} + +bool ModifyAnnotationPropertiesCommand::refreshInternalPageReferences(const QList &newPagesVector) +{ + // Same reason for not unconditionally updating m_annotation, the annotation pointer can be stored in an add/Remove command + auto a = newPagesVector[m_pageNumber]->annotation(m_annotation->uniqueName()); + if (a) { + m_annotation = a; + } + + return true; +} + +TranslateAnnotationCommand::TranslateAnnotationCommand(DocumentPrivate *docPriv, Annotation *annotation, int pageNumber, const Okular::NormalizedPoint &delta, bool completeDrag) + : m_docPriv(docPriv) + , m_annotation(annotation) + , m_pageNumber(pageNumber) + , m_delta(delta) + , m_completeDrag(completeDrag) +{ + setText(i18nc("Translate an annotation's position on the page", "translate annotation")); +} + +void TranslateAnnotationCommand::undo() +{ + moveViewportIfBoundingRectNotFullyVisible(translateBoundingRectangle(minusDelta()), m_docPriv, m_pageNumber); + m_annotation->translate(minusDelta()); + m_docPriv->performModifyPageAnnotation(m_pageNumber, m_annotation, true); +} + +void TranslateAnnotationCommand::redo() +{ + moveViewportIfBoundingRectNotFullyVisible(translateBoundingRectangle(m_delta), m_docPriv, m_pageNumber); + m_annotation->translate(m_delta); + m_docPriv->performModifyPageAnnotation(m_pageNumber, m_annotation, true); +} + +int TranslateAnnotationCommand::id() const +{ + return 1; +} + +bool TranslateAnnotationCommand::mergeWith(const QUndoCommand *uc) +{ + TranslateAnnotationCommand *tuc = (TranslateAnnotationCommand *)uc; + + if (tuc->m_annotation != m_annotation) { + return false; + } + + if (m_completeDrag) { + return false; + } + m_delta = Okular::NormalizedPoint(tuc->m_delta.x + m_delta.x, tuc->m_delta.y + m_delta.y); + m_completeDrag = tuc->m_completeDrag; + return true; +} + +Okular::NormalizedPoint TranslateAnnotationCommand::minusDelta() +{ + return Okular::NormalizedPoint(-m_delta.x, -m_delta.y); +} + +Okular::NormalizedRect TranslateAnnotationCommand::translateBoundingRectangle(const Okular::NormalizedPoint &delta) +{ + Okular::NormalizedRect annotBoundingRect = m_annotation->boundingRectangle(); + annotBoundingRect.left = annotBoundingRect.left + delta.x; + annotBoundingRect.right = annotBoundingRect.right + delta.x; + annotBoundingRect.top = annotBoundingRect.top + delta.y; + annotBoundingRect.bottom = annotBoundingRect.bottom + delta.y; + + return annotBoundingRect; +} + +bool TranslateAnnotationCommand::refreshInternalPageReferences(const QList &newPagesVector) +{ + // Same reason for not unconditionally updating m_annotation, the annotation pointer can be stored in an add/Remove command + auto a = newPagesVector[m_pageNumber]->annotation(m_annotation->uniqueName()); + if (a) { + m_annotation = a; + } + + return true; +} + +AdjustAnnotationCommand::AdjustAnnotationCommand(Okular::DocumentPrivate *docPriv, Okular::Annotation *annotation, int pageNumber, const Okular::NormalizedPoint &delta1, const Okular::NormalizedPoint &delta2, bool completeDrag) + : m_docPriv(docPriv) + , m_annotation(annotation) + , m_pageNumber(pageNumber) + , m_delta1(delta1) + , m_delta2(delta2) + , m_completeDrag(completeDrag) +{ + setText(i18nc("Change an annotation's size", "adjust annotation")); +} + +void AdjustAnnotationCommand::undo() +{ + const NormalizedPoint minusDelta1 = Okular::NormalizedPoint(-m_delta1.x, -m_delta1.y); + const NormalizedPoint minusDelta2 = Okular::NormalizedPoint(-m_delta2.x, -m_delta2.y); + moveViewportIfBoundingRectNotFullyVisible(adjustBoundingRectangle(minusDelta1, minusDelta2), m_docPriv, m_pageNumber); + m_annotation->adjust(minusDelta1, minusDelta2); + m_docPriv->performModifyPageAnnotation(m_pageNumber, m_annotation, true); +} + +void AdjustAnnotationCommand::redo() +{ + moveViewportIfBoundingRectNotFullyVisible(adjustBoundingRectangle(m_delta1, m_delta2), m_docPriv, m_pageNumber); + m_annotation->adjust(m_delta1, m_delta2); + m_docPriv->performModifyPageAnnotation(m_pageNumber, m_annotation, true); +} + +int AdjustAnnotationCommand::id() const +{ + return 5; +} + +bool AdjustAnnotationCommand::mergeWith(const QUndoCommand *uc) +{ + AdjustAnnotationCommand *tuc = (AdjustAnnotationCommand *)uc; + + if (tuc->m_annotation != m_annotation) { + return false; + } + + if (m_completeDrag) { + return false; + } + m_delta1 = Okular::NormalizedPoint(tuc->m_delta1.x + m_delta1.x, tuc->m_delta1.y + m_delta1.y); + m_delta2 = Okular::NormalizedPoint(tuc->m_delta2.x + m_delta2.x, tuc->m_delta2.y + m_delta2.y); + m_completeDrag = tuc->m_completeDrag; + return true; +} + +Okular::NormalizedRect AdjustAnnotationCommand::adjustBoundingRectangle(const Okular::NormalizedPoint &delta1, const Okular::NormalizedPoint &delta2) +{ + Okular::NormalizedRect annotBoundingRect = m_annotation->boundingRectangle(); + annotBoundingRect.left = annotBoundingRect.left + delta1.x; + annotBoundingRect.right = annotBoundingRect.right + delta2.x; + annotBoundingRect.top = annotBoundingRect.top + delta1.y; + annotBoundingRect.bottom = annotBoundingRect.bottom + delta2.y; + + return annotBoundingRect; +} + +bool AdjustAnnotationCommand::refreshInternalPageReferences(const QList &newPagesVector) +{ + // Same reason for not unconditionally updating m_annotation, the annotation pointer can be stored in an add/Remove command + auto a = newPagesVector[m_pageNumber]->annotation(m_annotation->uniqueName()); + if (a) { + m_annotation = a; + } + + return true; +} + +EditTextCommand::EditTextCommand(const QString &newContents, int newCursorPos, const QString &prevContents, int prevCursorPos, int prevAnchorPos) + : m_newContents(newContents) + , m_newCursorPos(newCursorPos) + , m_prevContents(prevContents) + , m_prevCursorPos(prevCursorPos) + , m_prevAnchorPos(prevAnchorPos) +{ + setText(i18nc("Generic text edit command", "edit text")); + + //// Determine edit type + // If There was a selection then edit was not a simple single character backspace, delete, or insert + if (m_prevCursorPos != m_prevAnchorPos) { + qCDebug(OkularCoreDebug) << "OtherEdit, selection"; + m_editType = OtherEdit; + } else if (newContentsRightOfCursor() == oldContentsRightOfCursor() && newContentsLeftOfCursor() == oldContentsLeftOfCursor().left(oldContentsLeftOfCursor().length() - 1) && + QStringView {oldContentsLeftOfCursor()}.right(1) != QLatin1Char('\n')) { + qCDebug(OkularCoreDebug) << "CharBackspace"; + m_editType = CharBackspace; + } else if (newContentsLeftOfCursor() == oldContentsLeftOfCursor() && newContentsRightOfCursor() == oldContentsRightOfCursor().right(oldContentsRightOfCursor().length() - 1) && + QStringView {oldContentsRightOfCursor()}.left(1) != QLatin1Char('\n')) { + qCDebug(OkularCoreDebug) << "CharDelete"; + m_editType = CharDelete; + } else if (newContentsRightOfCursor() == oldContentsRightOfCursor() && newContentsLeftOfCursor().left(newContentsLeftOfCursor().length() - 1) == oldContentsLeftOfCursor() && + QStringView {newContentsLeftOfCursor()}.right(1) != QLatin1Char('\n')) { + qCDebug(OkularCoreDebug) << "CharInsert"; + m_editType = CharInsert; + } else { + qCDebug(OkularCoreDebug) << "OtherEdit"; + m_editType = OtherEdit; + } +} + +bool EditTextCommand::mergeWith(const QUndoCommand *uc) +{ + EditTextCommand *euc = (EditTextCommand *)uc; + + // Only attempt merge of euc into this if our new state matches euc's old state and + // the editTypes match and are not type OtherEdit + if (m_newContents == euc->m_prevContents && m_newCursorPos == euc->m_prevCursorPos && m_editType == euc->m_editType && m_editType != OtherEdit) { + m_newContents = euc->m_newContents; + m_newCursorPos = euc->m_newCursorPos; + return true; + } + return false; +} + +QString EditTextCommand::oldContentsLeftOfCursor() +{ + return m_prevContents.left(m_prevCursorPos); +} + +QString EditTextCommand::oldContentsRightOfCursor() +{ + return m_prevContents.right(m_prevContents.length() - m_prevCursorPos); +} + +QString EditTextCommand::newContentsLeftOfCursor() +{ + return m_newContents.left(m_newCursorPos); +} + +QString EditTextCommand::newContentsRightOfCursor() +{ + return m_newContents.right(m_newContents.length() - m_newCursorPos); +} + +EditAnnotationContentsCommand::EditAnnotationContentsCommand(DocumentPrivate *docPriv, Annotation *annotation, int pageNumber, const QString &newContents, int newCursorPos, const QString &prevContents, int prevCursorPos, int prevAnchorPos) + : EditTextCommand(newContents, newCursorPos, prevContents, prevCursorPos, prevAnchorPos) + , m_docPriv(docPriv) + , m_annotation(annotation) + , m_pageNumber(pageNumber) +{ + setText(i18nc("Edit an annotation's text contents", "edit annotation contents")); +} + +void EditAnnotationContentsCommand::undo() +{ + moveViewportIfBoundingRectNotFullyVisible(m_annotation->boundingRectangle(), m_docPriv, m_pageNumber); + m_docPriv->performSetAnnotationContents(m_prevContents, m_annotation, m_pageNumber); + Q_EMIT m_docPriv->m_parent->annotationContentsChangedByUndoRedo(m_annotation, m_prevContents, m_prevCursorPos, m_prevAnchorPos); +} + +void EditAnnotationContentsCommand::redo() +{ + moveViewportIfBoundingRectNotFullyVisible(m_annotation->boundingRectangle(), m_docPriv, m_pageNumber); + m_docPriv->performSetAnnotationContents(m_newContents, m_annotation, m_pageNumber); + Q_EMIT m_docPriv->m_parent->annotationContentsChangedByUndoRedo(m_annotation, m_newContents, m_newCursorPos, m_newCursorPos); +} + +int EditAnnotationContentsCommand::id() const +{ + return 2; +} + +bool EditAnnotationContentsCommand::mergeWith(const QUndoCommand *uc) +{ + EditAnnotationContentsCommand *euc = (EditAnnotationContentsCommand *)uc; + // Only attempt merge of euc into this if they modify the same annotation + if (m_annotation == euc->m_annotation) { + return EditTextCommand::mergeWith(uc); + } else { + return false; + } +} + +bool EditAnnotationContentsCommand::refreshInternalPageReferences(const QList &newPagesVector) +{ + auto a = newPagesVector[m_pageNumber]->annotation(m_annotation->uniqueName()); + if (a) { + m_annotation = a; + } + + return true; +} + +EditFormTextCommand::EditFormTextCommand(Okular::DocumentPrivate *docPriv, Okular::FormFieldText *form, int pageNumber, const QString &newContents, int newCursorPos, const QString &prevContents, int prevCursorPos, int prevAnchorPos) + : EditTextCommand(newContents, newCursorPos, prevContents, prevCursorPos, prevAnchorPos) + , m_docPriv(docPriv) + , m_form(form) + , m_pageNumber(pageNumber) +{ + setText(i18nc("Edit an form's text contents", "edit form contents")); +} + +void EditFormTextCommand::undo() +{ + moveViewportIfBoundingRectNotFullyVisible(m_form->rect(), m_docPriv, m_pageNumber); + m_form->setText(m_prevContents); + Q_EMIT m_docPriv->m_parent->formTextChangedByUndoRedo(m_pageNumber, m_form, m_prevContents, m_prevCursorPos, m_prevAnchorPos); +} + +void EditFormTextCommand::redo() +{ + moveViewportIfBoundingRectNotFullyVisible(m_form->rect(), m_docPriv, m_pageNumber); + m_form->setText(m_newContents); + Q_EMIT m_docPriv->m_parent->formTextChangedByUndoRedo(m_pageNumber, m_form, m_newContents, m_newCursorPos, m_newCursorPos); +} + +int EditFormTextCommand::id() const +{ + return 3; +} + +bool EditFormTextCommand::mergeWith(const QUndoCommand *uc) +{ + EditFormTextCommand *euc = (EditFormTextCommand *)uc; + // Only attempt merge of euc into this if they modify the same form + if (m_form == euc->m_form) { + return EditTextCommand::mergeWith(uc); + } else { + return false; + } +} + +bool EditFormTextCommand::refreshInternalPageReferences(const QList &newPagesVector) +{ + m_form = dynamic_cast(Okular::PagePrivate::findEquivalentForm(newPagesVector[m_pageNumber], m_form)); + + return m_form; +} + +EditFormListCommand::EditFormListCommand(Okular::DocumentPrivate *docPriv, FormFieldChoice *form, int pageNumber, const QList &newChoices, const QList &prevChoices) + : m_docPriv(docPriv) + , m_form(form) + , m_pageNumber(pageNumber) + , m_newChoices(newChoices) + , m_prevChoices(prevChoices) +{ + setText(i18nc("Edit a list form's choices", "edit list form choices")); +} + +void EditFormListCommand::undo() +{ + moveViewportIfBoundingRectNotFullyVisible(m_form->rect(), m_docPriv, m_pageNumber); + m_form->setCurrentChoices(m_prevChoices); + Q_EMIT m_docPriv->m_parent->formListChangedByUndoRedo(m_pageNumber, m_form, m_prevChoices); + m_docPriv->notifyFormChanges(m_pageNumber); +} + +void EditFormListCommand::redo() +{ + moveViewportIfBoundingRectNotFullyVisible(m_form->rect(), m_docPriv, m_pageNumber); + m_form->setCurrentChoices(m_newChoices); + Q_EMIT m_docPriv->m_parent->formListChangedByUndoRedo(m_pageNumber, m_form, m_newChoices); + m_docPriv->notifyFormChanges(m_pageNumber); +} + +bool EditFormListCommand::refreshInternalPageReferences(const QList &newPagesVector) +{ + m_form = dynamic_cast(Okular::PagePrivate::findEquivalentForm(newPagesVector[m_pageNumber], m_form)); + + return m_form; +} + +EditFormComboCommand::EditFormComboCommand(Okular::DocumentPrivate *docPriv, FormFieldChoice *form, int pageNumber, const QString &newContents, int newCursorPos, const QString &prevContents, int prevCursorPos, int prevAnchorPos) + : EditTextCommand(newContents, newCursorPos, prevContents, prevCursorPos, prevAnchorPos) + , m_docPriv(docPriv) + , m_form(form) + , m_pageNumber(pageNumber) + , m_newIndex(-1) + , m_prevIndex(-1) +{ + setText(i18nc("Edit a combo form's selection", "edit combo form selection")); + + // Determine new and previous choice indices (if any) + for (int i = 0; i < m_form->choices().size(); i++) { + if (m_form->choices().at(i) == m_prevContents) { + m_prevIndex = i; + } + + if (m_form->choices().at(i) == m_newContents) { + m_newIndex = i; + } + } +} + +void EditFormComboCommand::undo() +{ + if (m_prevIndex != -1) { + m_form->setCurrentChoices(QList() << m_prevIndex); + } else { + m_form->setEditChoice(m_prevContents); + } + moveViewportIfBoundingRectNotFullyVisible(m_form->rect(), m_docPriv, m_pageNumber); + Q_EMIT m_docPriv->m_parent->formComboChangedByUndoRedo(m_pageNumber, m_form, m_prevContents, m_prevCursorPos, m_prevAnchorPos); +} + +void EditFormComboCommand::redo() +{ + if (m_newIndex != -1) { + m_form->setCurrentChoices(QList() << m_newIndex); + } else { + m_form->setEditChoice(m_newContents); + } + moveViewportIfBoundingRectNotFullyVisible(m_form->rect(), m_docPriv, m_pageNumber); + Q_EMIT m_docPriv->m_parent->formComboChangedByUndoRedo(m_pageNumber, m_form, m_newContents, m_newCursorPos, m_newCursorPos); +} + +int EditFormComboCommand::id() const +{ + return 4; +} + +bool EditFormComboCommand::mergeWith(const QUndoCommand *uc) +{ + EditFormComboCommand *euc = (EditFormComboCommand *)uc; + // Only attempt merge of euc into this if they modify the same form + if (m_form == euc->m_form) { + bool shouldMerge = EditTextCommand::mergeWith(uc); + if (shouldMerge) { + m_newIndex = euc->m_newIndex; + } + return shouldMerge; + } else { + return false; + } +} + +bool EditFormComboCommand::refreshInternalPageReferences(const QList &newPagesVector) +{ + m_form = dynamic_cast(Okular::PagePrivate::findEquivalentForm(newPagesVector[m_pageNumber], m_form)); + + return m_form; +} + +EditFormButtonsCommand::EditFormButtonsCommand(Okular::DocumentPrivate *docPriv, int pageNumber, const QList &formButtons, const QList &newButtonStates) + : m_docPriv(docPriv) + , m_pageNumber(pageNumber) + , m_formButtons(formButtons) + , m_newButtonStates(newButtonStates) + , m_prevButtonStates(QList()) +{ + setText(i18nc("Edit the state of a group of form buttons", "edit form button states")); + for (const FormFieldButton *formButton : std::as_const(m_formButtons)) { + m_prevButtonStates.append(formButton->state()); + m_pageNumbers.append(formButton->page()->number()); + } +} + +void EditFormButtonsCommand::undo() +{ + clearFormButtonStates(); + QSet extraPages; + for (int i = 0; i < m_formButtons.size(); i++) { + bool checked = m_prevButtonStates.at(i); + if (checked) { + m_formButtons.at(i)->setState(checked); + } + if (m_pageNumbers.at(i) != m_pageNumber) { + extraPages << m_pageNumbers.at(i); + } + } + + Okular::NormalizedRect boundingRect = buildBoundingRectangleForButtons(m_formButtons); + moveViewportIfBoundingRectNotFullyVisible(boundingRect, m_docPriv, m_pageNumber); + Q_EMIT m_docPriv->m_parent->formButtonsChangedByUndoRedo(m_pageNumber, m_formButtons); + m_docPriv->notifyFormChanges(m_pageNumber); + for (auto page : std::as_const(extraPages)) { + m_docPriv->notifyFormChanges(page); + } +} + +void EditFormButtonsCommand::redo() +{ + clearFormButtonStates(); + QSet extraPages; + for (int i = 0; i < m_formButtons.size(); i++) { + bool checked = m_newButtonStates.at(i); + if (checked) { + m_formButtons.at(i)->setState(checked); + } + if (m_pageNumbers.at(i) != m_pageNumber) { + extraPages << m_pageNumbers.at(i); + } + } + + Okular::NormalizedRect boundingRect = buildBoundingRectangleForButtons(m_formButtons); + moveViewportIfBoundingRectNotFullyVisible(boundingRect, m_docPriv, m_pageNumber); + Q_EMIT m_docPriv->m_parent->formButtonsChangedByUndoRedo(m_pageNumber, m_formButtons); + m_docPriv->notifyFormChanges(m_pageNumber); + for (auto page : std::as_const(extraPages)) { + m_docPriv->notifyFormChanges(page); + } +} + +bool EditFormButtonsCommand::refreshInternalPageReferences(const QList &newPagesVector) +{ + const QList oldFormButtons = m_formButtons; + m_formButtons.clear(); + for (int i = 0; i < oldFormButtons.size(); i++) { + FormFieldButton *button = dynamic_cast(Okular::PagePrivate::findEquivalentForm(newPagesVector[m_pageNumbers[i]], oldFormButtons[i])); + if (!button) { + return false; + } + m_formButtons << button; + } + + return true; +} + +void EditFormButtonsCommand::clearFormButtonStates() +{ + for (FormFieldButton *formButton : std::as_const(m_formButtons)) { + formButton->setState(false); + } +} + +} diff --git a/core/documentcommands_p.h b/core/documentcommands_p.h new file mode 100644 index 0000000..2b05784 --- /dev/null +++ b/core/documentcommands_p.h @@ -0,0 +1,261 @@ +/* + SPDX-FileCopyrightText: 2013 Jon Mease + + Work sponsored by the LiMux project of the city of Munich: + SPDX-FileCopyrightText: 2017 Klarälvdalens Datakonsult AB a KDAB Group company + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_DOCUMENT_COMMANDS_P_H_ +#define _OKULAR_DOCUMENT_COMMANDS_P_H_ + +#include +#include + +#include "area.h" + +namespace Okular +{ +class Document; +class Annotation; +class DocumentPrivate; +class FormFieldText; +class FormFieldButton; +class FormFieldChoice; +class Page; + +class OkularUndoCommand : public QUndoCommand +{ +public: + virtual bool refreshInternalPageReferences(const QList &newPagesVector) = 0; +}; + +class AddAnnotationCommand : public OkularUndoCommand +{ +public: + AddAnnotationCommand(Okular::DocumentPrivate *docPriv, Okular::Annotation *annotation, int pageNumber); + + ~AddAnnotationCommand() override; + + void undo() override; + + void redo() override; + + bool refreshInternalPageReferences(const QList &newPagesVector) override; + +private: + Okular::DocumentPrivate *m_docPriv; + Okular::Annotation *m_annotation; + int m_pageNumber; + bool m_done; +}; + +class RemoveAnnotationCommand : public OkularUndoCommand +{ +public: + RemoveAnnotationCommand(Okular::DocumentPrivate *doc, Okular::Annotation *annotation, int pageNumber); + ~RemoveAnnotationCommand() override; + void undo() override; + void redo() override; + + bool refreshInternalPageReferences(const QList &newPagesVector) override; + +private: + Okular::DocumentPrivate *m_docPriv; + Okular::Annotation *m_annotation; + int m_pageNumber; + bool m_done; +}; + +class ModifyAnnotationPropertiesCommand : public OkularUndoCommand +{ +public: + ModifyAnnotationPropertiesCommand(Okular::DocumentPrivate *docPriv, Okular::Annotation *annotation, int pageNumber, const QDomNode &oldProperties, const QDomNode &newProperties); + + void undo() override; + void redo() override; + + bool refreshInternalPageReferences(const QList &newPagesVector) override; + +private: + Okular::DocumentPrivate *m_docPriv; + Okular::Annotation *m_annotation; + int m_pageNumber; + QDomNode m_prevProperties; + QDomNode m_newProperties; +}; + +class TranslateAnnotationCommand : public OkularUndoCommand +{ +public: + TranslateAnnotationCommand(Okular::DocumentPrivate *docPriv, Okular::Annotation *annotation, int pageNumber, const Okular::NormalizedPoint &delta, bool completeDrag); + void undo() override; + void redo() override; + int id() const override; + bool mergeWith(const QUndoCommand *uc) override; + Okular::NormalizedPoint minusDelta(); + Okular::NormalizedRect translateBoundingRectangle(const Okular::NormalizedPoint &delta); + + bool refreshInternalPageReferences(const QList &newPagesVector) override; + +private: + Okular::DocumentPrivate *m_docPriv; + Okular::Annotation *m_annotation; + int m_pageNumber; + Okular::NormalizedPoint m_delta; + bool m_completeDrag; +}; + +class AdjustAnnotationCommand : public OkularUndoCommand +{ +public: + AdjustAnnotationCommand(Okular::DocumentPrivate *docPriv, Okular::Annotation *annotation, int pageNumber, const Okular::NormalizedPoint &delta1, const Okular::NormalizedPoint &delta2, bool completeDrag); + void undo() override; + void redo() override; + int id() const override; + bool mergeWith(const QUndoCommand *uc) override; + Okular::NormalizedRect adjustBoundingRectangle(const Okular::NormalizedPoint &delta1, const Okular::NormalizedPoint &delta2); + + bool refreshInternalPageReferences(const QList &newPagesVector) override; + +private: + Okular::DocumentPrivate *m_docPriv; + Okular::Annotation *m_annotation; + int m_pageNumber; + Okular::NormalizedPoint m_delta1; + Okular::NormalizedPoint m_delta2; + bool m_completeDrag; +}; + +class EditTextCommand : public OkularUndoCommand +{ +public: + EditTextCommand(const QString &newContents, int newCursorPos, const QString &prevContents, int prevCursorPos, int prevAnchorPos); + + void undo() override = 0; + void redo() override = 0; + int id() const override = 0; + bool mergeWith(const QUndoCommand *uc) override; + +private: + enum EditType { + CharBackspace, ///< Edit made up of one or more single character backspace operations + CharDelete, ///< Edit made up of one or more single character delete operations + CharInsert, ///< Edit made up of one or more single character insertion operations + OtherEdit ///< All other edit operations (these will not be merged together) + }; + + QString oldContentsLeftOfCursor(); + QString newContentsLeftOfCursor(); + QString oldContentsRightOfCursor(); + QString newContentsRightOfCursor(); + +protected: + QString m_newContents; + int m_newCursorPos; + QString m_prevContents; + int m_prevCursorPos; + int m_prevAnchorPos; + EditType m_editType; +}; + +class EditAnnotationContentsCommand : public EditTextCommand +{ +public: + EditAnnotationContentsCommand(Okular::DocumentPrivate *docPriv, Okular::Annotation *annotation, int pageNumber, const QString &newContents, int newCursorPos, const QString &prevContents, int prevCursorPos, int prevAnchorPos); + + void undo() override; + void redo() override; + int id() const override; + bool mergeWith(const QUndoCommand *uc) override; + + bool refreshInternalPageReferences(const QList &newPagesVector) override; + +private: + Okular::DocumentPrivate *m_docPriv; + Okular::Annotation *m_annotation; + int m_pageNumber; +}; + +class EditFormTextCommand : public EditTextCommand +{ +public: + EditFormTextCommand(Okular::DocumentPrivate *docPriv, Okular::FormFieldText *form, int pageNumber, const QString &newContents, int newCursorPos, const QString &prevContents, int prevCursorPos, int prevAnchorPos); + void undo() override; + void redo() override; + int id() const override; + bool mergeWith(const QUndoCommand *uc) override; + + bool refreshInternalPageReferences(const QList &newPagesVector) override; + +private: + Okular::DocumentPrivate *m_docPriv; + Okular::FormFieldText *m_form; + int m_pageNumber; +}; + +class EditFormListCommand : public OkularUndoCommand +{ +public: + EditFormListCommand(Okular::DocumentPrivate *docPriv, FormFieldChoice *form, int pageNumber, const QList &newChoices, const QList &prevChoices); + + void undo() override; + void redo() override; + + bool refreshInternalPageReferences(const QList &newPagesVector) override; + +private: + Okular::DocumentPrivate *m_docPriv; + FormFieldChoice *m_form; + int m_pageNumber; + QList m_newChoices; + QList m_prevChoices; +}; + +class EditFormComboCommand : public EditTextCommand +{ +public: + EditFormComboCommand(Okular::DocumentPrivate *docPriv, FormFieldChoice *form, int pageNumber, const QString &newContents, int newCursorPos, const QString &prevContents, int prevCursorPos, int prevAnchorPos); + + void undo() override; + void redo() override; + int id() const override; + bool mergeWith(const QUndoCommand *uc) override; + + bool refreshInternalPageReferences(const QList &newPagesVector) override; + +private: + Okular::DocumentPrivate *m_docPriv; + FormFieldChoice *m_form; + int m_pageNumber; + int m_newIndex; + int m_prevIndex; +}; + +class EditFormButtonsCommand : public OkularUndoCommand +{ +public: + EditFormButtonsCommand(Okular::DocumentPrivate *docPriv, int pageNumber, const QList &formButtons, const QList &newButtonStates); + + void undo() override; + void redo() override; + + bool refreshInternalPageReferences(const QList &newPagesVector) override; + +private: + void clearFormButtonStates(); + +private: + Okular::DocumentPrivate *m_docPriv; + int m_pageNumber; + QList m_formButtons; + QList m_pageNumbers; + QList m_newButtonStates; + QList m_prevButtonStates; +}; + +} +#endif + +/* kate: replace-tabs on; indent-width 4; */ diff --git a/core/fileprinter.cpp b/core/fileprinter.cpp new file mode 100644 index 0000000..1bb36a3 --- /dev/null +++ b/core/fileprinter.cpp @@ -0,0 +1,508 @@ +/* + SPDX-FileCopyrightText: 2007, 2010 John Layt + + FilePrinterPreview based on KPrintPreview (originally LGPL) + SPDX-FileCopyrightText: 2007 Alex Merry + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "fileprinter.h" + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include "debug_p.h" + +using namespace Okular; + +Document::PrintError +FilePrinter::printFile(QPrinter &printer, const QString &file, QPageLayout::Orientation documentOrientation, FileDeletePolicy fileDeletePolicy, PageSelectPolicy pageSelectPolicy, const QString &pageRange, ScaleMode scaleMode) +{ + FilePrinter fp; + return fp.doPrintFiles(printer, QStringList(file), fileDeletePolicy, pageSelectPolicy, pageRange, documentOrientation, scaleMode); +} + +static Document::PrintError doKProcessExecute(const QString &exe, const QStringList &argList) +{ + const int ret = KProcess::execute(exe, argList); + if (ret == -1) { + return Document::PrintingProcessCrashPrintError; + } + if (ret == -2) { + return Document::PrintingProcessStartPrintError; + } + if (ret < 0) { + return Document::UnknownPrintError; + } + + return Document::NoPrintError; +} + +Document::PrintError +FilePrinter::doPrintFiles(QPrinter &printer, const QStringList &fileList, FileDeletePolicy fileDeletePolicy, PageSelectPolicy pageSelectPolicy, const QString &pageRange, QPageLayout::Orientation documentOrientation, ScaleMode scaleMode) +{ + if (fileList.size() < 1) { + return Document::NoFileToPrintError; + } + + for (QStringList::ConstIterator it = fileList.constBegin(); it != fileList.constEnd(); ++it) { + if (!QFile::exists(*it)) { + return Document::UnableToFindFilePrintError; + } + } + + if (printer.printerState() == QPrinter::Aborted || printer.printerState() == QPrinter::Error) { + return Document::InvalidPrinterStatePrintError; + } + + QString exe; + QStringList argList; + Document::PrintError ret; + + // Print to File if a filename set, assumes there must be only 1 file + if (!printer.outputFileName().isEmpty()) { + if (QFile::exists(printer.outputFileName())) { + QFile::remove(printer.outputFileName()); + } + + QFileInfo inputFileInfo = QFileInfo(fileList[0]); + QFileInfo outputFileInfo = QFileInfo(printer.outputFileName()); + + bool doDeleteFile = (fileDeletePolicy == FilePrinter::SystemDeletesFiles); + if (inputFileInfo.suffix() == outputFileInfo.suffix()) { + if (doDeleteFile) { + bool res = QFile::rename(fileList[0], printer.outputFileName()); + if (res) { + doDeleteFile = false; + ret = Document::NoPrintError; + } else { + ret = Document::PrintToFilePrintError; + } + } else { + bool res = QFile::copy(fileList[0], printer.outputFileName()); + if (res) { + ret = Document::NoPrintError; + } else { + ret = Document::PrintToFilePrintError; + } + } + } else if (inputFileInfo.suffix() == QLatin1String("ps") && printer.outputFormat() == QPrinter::PdfFormat && ps2pdfAvailable()) { + exe = QStringLiteral("ps2pdf"); + argList << fileList[0] << printer.outputFileName(); + qCDebug(OkularCoreDebug) << "Executing" << exe << "with arguments" << argList; + ret = doKProcessExecute(exe, argList); + } else if (inputFileInfo.suffix() == QLatin1String("pdf") && printer.outputFormat() == QPrinter::NativeFormat && pdf2psAvailable()) { + exe = QStringLiteral("pdf2ps"); + argList << fileList[0] << printer.outputFileName(); + qCDebug(OkularCoreDebug) << "Executing" << exe << "with arguments" << argList; + ret = doKProcessExecute(exe, argList); + } else { + ret = Document::PrintToFilePrintError; + } + + if (doDeleteFile) { + QFile::remove(fileList[0]); + } + + } else { // Print to a printer via lpr command + + // Decide what executable to use to print with, need the CUPS version of lpr if available + // Some distros name the CUPS version of lpr as lpr-cups or lpr.cups so try those first + // before default to lpr, or failing that to lp + + if (!QStandardPaths::findExecutable(QStringLiteral("lpr-cups")).isEmpty()) { + exe = QStringLiteral("lpr-cups"); + } else if (!QStandardPaths::findExecutable(QStringLiteral("lpr.cups")).isEmpty()) { + exe = QStringLiteral("lpr.cups"); + } else if (!QStandardPaths::findExecutable(QStringLiteral("lpr")).isEmpty()) { + exe = QStringLiteral("lpr"); + } else if (!QStandardPaths::findExecutable(QStringLiteral("lp")).isEmpty()) { + exe = QStringLiteral("lp"); + } else { + return Document::NoBinaryToPrintError; + } + + bool useCupsOptions = cupsAvailable(); + argList = printArguments(printer, fileDeletePolicy, pageSelectPolicy, useCupsOptions, pageRange, exe, documentOrientation, scaleMode) << fileList; + qCDebug(OkularCoreDebug) << "Executing" << exe << "with arguments" << argList; + + ret = doKProcessExecute(exe, argList); + } + + return ret; +} + +QList FilePrinter::pageList(QPrinter &printer, int lastPage, int currentPage, const QList &selectedPageList) +{ + if (printer.printRange() == QPrinter::Selection) { + return selectedPageList; + } + + int startPage, endPage; + QList list; + + if (printer.printRange() == QPrinter::PageRange) { + startPage = printer.fromPage(); + endPage = printer.toPage(); + } else if (printer.printRange() == QPrinter::CurrentPage) { + startPage = currentPage; + endPage = currentPage; + } else { // AllPages + startPage = 1; + endPage = lastPage; + } + + for (int i = startPage; i <= endPage; i++) { + list << i; + } + + return list; +} + +bool FilePrinter::ps2pdfAvailable() +{ + return (!QStandardPaths::findExecutable(QStringLiteral("ps2pdf")).isEmpty()); +} + +bool FilePrinter::pdf2psAvailable() +{ + return (!QStandardPaths::findExecutable(QStringLiteral("pdf2ps")).isEmpty()); +} + +bool FilePrinter::cupsAvailable() +{ +#if defined(Q_OS_UNIX) && !defined(Q_OS_OSX) + // Ideally we would have access to the private Qt method + // QCUPSSupport::cupsAvailable() to do this as it is very complex routine. + // However, if CUPS is available then QPrinter::supportsMultipleCopies() will always return true + // whereas if CUPS is not available it will return false. + // This behaviour is guaranteed never to change, so we can use it as a reliable substitute. + QPrinter testPrinter; + return testPrinter.supportsMultipleCopies(); +#else + return false; +#endif +} + +QStringList FilePrinter::printArguments(QPrinter &printer, + FileDeletePolicy fileDeletePolicy, + PageSelectPolicy pageSelectPolicy, + bool useCupsOptions, + const QString &pageRange, + const QString &version, + QPageLayout::Orientation documentOrientation, + ScaleMode scaleMode) +{ + QStringList argList; + + if (!destination(printer, version).isEmpty()) { + argList << destination(printer, version); + } + + if (!copies(printer, version).isEmpty()) { + argList << copies(printer, version); + } + + if (!jobname(printer, version).isEmpty()) { + argList << jobname(printer, version); + } + + if (!pages(printer, pageSelectPolicy, pageRange, useCupsOptions, version).isEmpty()) { + argList << pages(printer, pageSelectPolicy, pageRange, useCupsOptions, version); + } + + if (useCupsOptions && !cupsOptions(printer, documentOrientation, scaleMode).isEmpty()) { + argList << cupsOptions(printer, documentOrientation, scaleMode); + } + + if (!deleteFile(printer, fileDeletePolicy, version).isEmpty()) { + argList << deleteFile(printer, fileDeletePolicy, version); + } + + if (version == QLatin1String("lp")) { + argList << QStringLiteral("--"); + } + + return argList; +} + +QStringList FilePrinter::destination(QPrinter &printer, const QString &version) +{ + if (version == QLatin1String("lp")) { + return QStringList(QStringLiteral("-d")) << printer.printerName(); + } + + if (version.startsWith(QLatin1String("lpr"))) { + return QStringList(QStringLiteral("-P")) << printer.printerName(); + } + + return QStringList(); +} + +QStringList FilePrinter::copies(QPrinter &printer, const QString &version) +{ + int cp = printer.copyCount(); + + if (version == QLatin1String("lp")) { + return QStringList(QStringLiteral("-n")) << QStringLiteral("%1").arg(cp); + } + + if (version.startsWith(QLatin1String("lpr"))) { + return QStringList() << QStringLiteral("-#%1").arg(cp); + } + + return QStringList(); +} + +QStringList FilePrinter::jobname(QPrinter &printer, const QString &version) +{ + if (!printer.docName().isEmpty()) { + if (version == QLatin1String("lp")) { + return QStringList(QStringLiteral("-t")) << printer.docName(); + } + + if (version.startsWith(QLatin1String("lpr"))) { + const QString shortenedDocName = QString::fromUtf8(printer.docName().toUtf8().left(255)); + return QStringList(QStringLiteral("-J")) << shortenedDocName; + } + } + + return QStringList(); +} + +QStringList FilePrinter::deleteFile(QPrinter &, FileDeletePolicy fileDeletePolicy, const QString &version) +{ + if (fileDeletePolicy == FilePrinter::SystemDeletesFiles && version.startsWith(QLatin1String("lpr"))) { + return QStringList(QStringLiteral("-r")); + } + + return QStringList(); +} + +QStringList FilePrinter::pages(QPrinter &printer, PageSelectPolicy pageSelectPolicy, const QString &pageRange, bool useCupsOptions, const QString &version) +{ + if (pageSelectPolicy == FilePrinter::SystemSelectsPages) { + if (printer.printRange() == QPrinter::Selection && !pageRange.isEmpty()) { + if (version == QLatin1String("lp")) { + return QStringList(QStringLiteral("-P")) << pageRange; + } + + if (version.startsWith(QLatin1String("lpr")) && useCupsOptions) { + return QStringList(QStringLiteral("-o")) << QStringLiteral("page-ranges=%1").arg(pageRange); + } + } + + if (printer.printRange() == QPrinter::PageRange) { + if (version == QLatin1String("lp")) { + return QStringList(QStringLiteral("-P")) << QStringLiteral("%1-%2").arg(printer.fromPage()).arg(printer.toPage()); + } + + if (version.startsWith(QLatin1String("lpr")) && useCupsOptions) { + return QStringList(QStringLiteral("-o")) << QStringLiteral("page-ranges=%1-%2").arg(printer.fromPage()).arg(printer.toPage()); + } + } + } + + return QStringList(); // AllPages +} + +QStringList FilePrinter::cupsOptions(QPrinter &printer, QPageLayout::Orientation documentOrientation, ScaleMode scaleMode) +{ + QStringList optionList; + + if (!optionMedia(printer).isEmpty()) { + optionList << optionMedia(printer); + } + + if (!optionOrientation(printer, documentOrientation).isEmpty()) { + optionList << optionOrientation(printer, documentOrientation); + } + + if (!optionDoubleSidedPrinting(printer).isEmpty()) { + optionList << optionDoubleSidedPrinting(printer); + } + + if (!optionPageOrder(printer).isEmpty()) { + optionList << optionPageOrder(printer); + } + + if (!optionCollateCopies(printer).isEmpty()) { + optionList << optionCollateCopies(printer); + } + + if (!optionPageMargins(printer, scaleMode).isEmpty()) { + optionList << optionPageMargins(printer, scaleMode); + } + + optionList << optionCupsProperties(printer); + + return optionList; +} + +QStringList FilePrinter::optionMedia(QPrinter &printer) +{ + if (!mediaPageSize(printer).isEmpty() && !mediaPaperSource(printer).isEmpty()) { + return QStringList(QStringLiteral("-o")) << QStringLiteral("media=%1,%2").arg(mediaPageSize(printer), mediaPaperSource(printer)); + } + + if (!mediaPageSize(printer).isEmpty()) { + return QStringList(QStringLiteral("-o")) << QStringLiteral("media=%1").arg(mediaPageSize(printer)); + } + + if (!mediaPaperSource(printer).isEmpty()) { + return QStringList(QStringLiteral("-o")) << QStringLiteral("media=%1").arg(mediaPaperSource(printer)); + } + + return QStringList(); +} + +QString FilePrinter::mediaPageSize(QPrinter &printer) +{ + const QPageSize::PageSizeId pageSizeId = printer.pageLayout().pageSize().id(); + if (pageSizeId == QPageSize::Custom) { + return QStringLiteral("Custom.%1x%2mm").arg(printer.widthMM()).arg(printer.heightMM()); + } + + return QPageSize::key(pageSizeId); +} + +// What about Upper and MultiPurpose? And others in PPD??? +QString FilePrinter::mediaPaperSource(QPrinter &printer) +{ + switch (printer.paperSource()) { + case QPrinter::Auto: + return QString(); + case QPrinter::Cassette: + return QStringLiteral("Cassette"); + case QPrinter::Envelope: + return QStringLiteral("Envelope"); + case QPrinter::EnvelopeManual: + return QStringLiteral("EnvelopeManual"); + case QPrinter::FormSource: + return QStringLiteral("FormSource"); + case QPrinter::LargeCapacity: + return QStringLiteral("LargeCapacity"); + case QPrinter::LargeFormat: + return QStringLiteral("LargeFormat"); + case QPrinter::Lower: + return QStringLiteral("Lower"); + case QPrinter::MaxPageSource: + return QStringLiteral("MaxPageSource"); + case QPrinter::Middle: + return QStringLiteral("Middle"); + case QPrinter::Manual: + return QStringLiteral("Manual"); + case QPrinter::OnlyOne: + return QStringLiteral("OnlyOne"); + case QPrinter::Tractor: + return QStringLiteral("Tractor"); + case QPrinter::SmallFormat: + return QStringLiteral("SmallFormat"); + default: + return QString(); + } +} + +QStringList FilePrinter::optionOrientation(QPrinter &printer, QPageLayout::Orientation documentOrientation) +{ + // portrait and landscape options rotate the document according to the document orientation + // If we want to print a landscape document as one would expect it, we have to pass the + // portrait option so that the document is not rotated additionally + if (printer.pageLayout().orientation() == documentOrientation) { + // the user wants the document printed as is + return QStringList(QStringLiteral("-o")) << QStringLiteral("portrait"); + } else { + // the user expects the document being rotated by 90 degrees + return QStringList(QStringLiteral("-o")) << QStringLiteral("landscape"); + } +} + +QStringList FilePrinter::optionDoubleSidedPrinting(QPrinter &printer) +{ + switch (printer.duplex()) { + case QPrinter::DuplexNone: + return QStringList(QStringLiteral("-o")) << QStringLiteral("sides=one-sided"); + case QPrinter::DuplexAuto: + if (printer.pageLayout().orientation() == QPageLayout::Landscape) { + return QStringList(QStringLiteral("-o")) << QStringLiteral("sides=two-sided-short-edge"); + } else { + return QStringList(QStringLiteral("-o")) << QStringLiteral("sides=two-sided-long-edge"); + } + case QPrinter::DuplexLongSide: + return QStringList(QStringLiteral("-o")) << QStringLiteral("sides=two-sided-long-edge"); + case QPrinter::DuplexShortSide: + return QStringList(QStringLiteral("-o")) << QStringLiteral("sides=two-sided-short-edge"); + default: + return QStringList(); // Use printer default + } +} + +QStringList FilePrinter::optionPageOrder(QPrinter &printer) +{ + if (printer.pageOrder() == QPrinter::LastPageFirst) { + return QStringList(QStringLiteral("-o")) << QStringLiteral("outputorder=reverse"); + } + return QStringList(QStringLiteral("-o")) << QStringLiteral("outputorder=normal"); +} + +QStringList FilePrinter::optionCollateCopies(QPrinter &printer) +{ + if (printer.collateCopies()) { + return QStringList(QStringLiteral("-o")) << QStringLiteral("Collate=True"); + } + return QStringList(QStringLiteral("-o")) << QStringLiteral("Collate=False"); +} + +QStringList FilePrinter::optionPageMargins(QPrinter &printer, ScaleMode scaleMode) +{ + if (printer.printEngine()->property(QPrintEngine::PPK_PageMargins).isNull()) { + return QStringList(); + } else { + qreal l(0), t(0), r(0), b(0); + if (!printer.fullPage()) { + auto marginsf = printer.pageLayout().margins(QPageLayout::Point); + l = marginsf.left(); + t = marginsf.top(); + r = marginsf.right(); + b = marginsf.bottom(); + } + QStringList marginOptions; + marginOptions << (QStringLiteral("-o")) << QStringLiteral("page-left=%1").arg(l) << QStringLiteral("-o") << QStringLiteral("page-top=%1").arg(t) << QStringLiteral("-o") << QStringLiteral("page-right=%1").arg(r) + << QStringLiteral("-o") << QStringLiteral("page-bottom=%1").arg(b); + if (scaleMode == ScaleMode::FitToPrintArea) { + marginOptions << QStringLiteral("-o") << QStringLiteral("fit-to-page"); + } + + return marginOptions; + } +} + +QStringList FilePrinter::optionCupsProperties(QPrinter &printer) +{ + QStringList dialogOptions = printer.printEngine()->property(QPrintEngine::PrintEnginePropertyKey(0xfe00)).toStringList(); + QStringList cupsOpts; + + for (int i = 0; i < dialogOptions.count(); i = i + 2) { + if (dialogOptions[i + 1].isEmpty()) { + cupsOpts << QStringLiteral("-o") << dialogOptions[i]; + } else { + cupsOpts << QStringLiteral("-o") << dialogOptions[i] + QLatin1Char('=') + dialogOptions[i + 1]; + } + } + + return cupsOpts; +} + +/* kate: replace-tabs on; indent-width 4; */ diff --git a/core/fileprinter.h b/core/fileprinter.h new file mode 100644 index 0000000..4c45f91 --- /dev/null +++ b/core/fileprinter.h @@ -0,0 +1,157 @@ +/* + SPDX-FileCopyrightText: 2007, 2010 John Layt + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +// This Class is a temporary addition to Okular for the duration of KDE 4.0. +// In KDE 4.1 this class will either be moved to kdelibs if still required, +// or replaced with a Qt 4.4 based solution. + +#ifndef FILEPRINTER_H +#define FILEPRINTER_H + +#include +#include +#include + +#include "document.h" +#include "okularcore_export.h" + +class QSize; + +namespace Okular +{ +class OKULARCORE_EXPORT FilePrinter +{ +public: + /** Whether file(s) get deleted by the application or by the print system. + * + * You may need to chose system deletion if your temp file clean-up + * deletes the file before the print system is finished with it. + */ + enum FileDeletePolicy { ApplicationDeletesFiles, SystemDeletesFiles }; + + /** Whether pages to be printed are selected by the application or the print system. + * + * If application side, then the generated file will only contain those pages + * selected by the user, so FilePrinter will print all the pages in the file. + * + * If system side, then the file will contain all the pages in the document, and + * the print system will print the users selected print range from out of the file. + * + * Note system side only works in CUPS, not LPR. + */ + enum PageSelectPolicy { ApplicationSelectsPages, SystemSelectsPages }; + + /** Whether to apply scaling when printing. + * + * 'NoScaling' indicates that no scaling should be applied. + * 'FitToPrintArea' indicates that the document should be scaled to the + * area that is available for printing. Whether or not this includes the printer's + * hardware margins depends on the value of 'QPrinter::fullPage()' for the given printer. + * + * @since 1.8 + */ + enum ScaleMode { NoScaling = 0, FitToPrintArea = 1 }; + + /** Print a file using the settings in QPrinter + * + * Only supports CUPS and LPR on *NIX. Page Range only supported in CUPS. + * Most settings unsupported by LPR, some settings unsupported by CUPS. + * + * The documentOrientation parameter was added in version 0.14. + * + * @param printer the print settings to use + * @param file the file to print + * @param documentOrientation the orientation stored in the document itself + * @param scaleMode scale mode to use + * @param fileDeletePolicy if the application or system deletes the file + * @param pageSelectPolicy if the application or system selects the pages to print + * @param pageRange page range to print if SystemSelectsPages and user chooses Selection in Print Dialog + * + * @returns Returns exit code: + * -9 if lpr not found + * -8 if empty file name + * -7 if unable to find file + * -6 if invalid printer state + * -5 if print to file copy failed + * -2 if the KProcess could not be started + * -1 if the KProcess crashed + * otherwise the KProcess exit code + * + * @since 1.8 + */ + static Document::PrintError printFile(QPrinter &printer, + const QString &file, + QPageLayout::Orientation documentOrientation, + FileDeletePolicy fileDeletePolicy = FilePrinter::ApplicationDeletesFiles, + PageSelectPolicy pageSelectPolicy = FilePrinter::ApplicationSelectsPages, + const QString &pageRange = QString(), + ScaleMode scaleMode = ScaleMode::FitToPrintArea); + + /** Return the list of pages selected by the user in the Print Dialog + * + * @param printer the print settings to use + * @param lastPage the last page number, needed if AllPages option is selected + * @param currentPage the current page number, needed if CurrentPage option is selected + * @param selectedPageList list of pages to use if Selection option is selected + * @returns Returns list of pages to print + */ + static QList pageList(QPrinter &printer, int lastPage, int currentPage, const QList &selectedPageList); + + /** Return if Ghostscript ps2pdf is available on this system + * + * @returns Returns true if Ghostscript ps2pdf available + */ + static bool ps2pdfAvailable(); + + /** Return if Ghostscript pdf2ps is available on this system + * + * @returns Returns true if Ghostscript pdf2ps available + */ + static bool pdf2psAvailable(); + +private: + /** Return if CUPS Print System is available on this system + * + * @returns Returns true if CUPS available + */ + static bool cupsAvailable(); + + Document::PrintError + doPrintFiles(QPrinter &printer, const QStringList &fileList, FileDeletePolicy fileDeletePolicy, PageSelectPolicy pageSelectPolicy, const QString &pageRange, QPageLayout::Orientation documentOrientation, ScaleMode scaleMode); + + /// @since 1.8 + QStringList printArguments(QPrinter &printer, + FileDeletePolicy fileDeletePolicy, + PageSelectPolicy pageSelectPolicy, + bool useCupsOptions, + const QString &pageRange, + const QString &version, + QPageLayout::Orientation documentOrientation, + ScaleMode scaleMode); + + QStringList destination(QPrinter &printer, const QString &version); + QStringList copies(QPrinter &printer, const QString &version); + QStringList jobname(QPrinter &printer, const QString &version); + QStringList deleteFile(QPrinter &printer, FileDeletePolicy fileDeletePolicy, const QString &version); + QStringList pages(QPrinter &printer, PageSelectPolicy pageSelectPolicy, const QString &pageRange, bool useCupsOptions, const QString &version); + + /// @since 1.8 + QStringList cupsOptions(QPrinter &printer, QPageLayout::Orientation documentOrientation, ScaleMode scaleMode); + QStringList optionMedia(QPrinter &printer); + QString mediaPageSize(QPrinter &printer); + QString mediaPaperSource(QPrinter &printer); + QStringList optionOrientation(QPrinter &printer, QPageLayout::Orientation documentOrientation); + QStringList optionDoubleSidedPrinting(QPrinter &printer); + QStringList optionPageOrder(QPrinter &printer); + QStringList optionCollateCopies(QPrinter &printer); + /// @since 1.8 + QStringList optionPageMargins(QPrinter &printer, ScaleMode scaleMode); + QStringList optionCupsProperties(QPrinter &printer); +}; + +} + +#endif // FILEPRINTER_H diff --git a/core/fontinfo.cpp b/core/fontinfo.cpp new file mode 100644 index 0000000..6dd6e38 --- /dev/null +++ b/core/fontinfo.cpp @@ -0,0 +1,140 @@ +/* + SPDX-FileCopyrightText: 2007 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +// local includes +#include "fontinfo.h" + +#include + +using namespace Okular; + +class Okular::FontInfoPrivate : public QSharedData +{ +public: + FontInfoPrivate() + : type(FontInfo::Unknown) + , embedType(FontInfo::NotEmbedded) + , canBeExtracted(false) + { + } + + bool operator==(const FontInfoPrivate &rhs) const + { + return name == rhs.name && substituteName == rhs.substituteName && type == rhs.type && embedType == rhs.embedType && file == rhs.file && canBeExtracted == rhs.canBeExtracted; + } + + QString name; + QString substituteName; + FontInfo::FontType type; + FontInfo::EmbedType embedType; + bool canBeExtracted; + QString file; + QVariant nativeId; +}; + +FontInfo::FontInfo() + : d(new FontInfoPrivate) +{ +} + +FontInfo::FontInfo(const FontInfo &fi) + : d(fi.d) +{ +} + +FontInfo::~FontInfo() +{ +} + +QString FontInfo::name() const +{ + return d->name; +} + +void FontInfo::setName(const QString &name) +{ + d->name = name; +} + +QString FontInfo::substituteName() const +{ + return d->substituteName; +} + +void FontInfo::setSubstituteName(const QString &substituteName) +{ + d->substituteName = substituteName; +} + +FontInfo::FontType FontInfo::type() const +{ + return d->type; +} + +void FontInfo::setType(FontInfo::FontType type) +{ + d->type = type; +} + +FontInfo::EmbedType FontInfo::embedType() const +{ + return d->embedType; +} + +void FontInfo::setEmbedType(FontInfo::EmbedType type) +{ + d->embedType = type; +} + +QString FontInfo::file() const +{ + return d->file; +} + +void FontInfo::setFile(const QString &file) +{ + d->file = file; +} + +bool FontInfo::canBeExtracted() const +{ + return d->canBeExtracted; +} + +void FontInfo::setCanBeExtracted(bool extractable) +{ + d->canBeExtracted = extractable; +} + +void FontInfo::setNativeId(const QVariant &id) +{ + d->nativeId = id; +} + +QVariant FontInfo::nativeId() const +{ + return d->nativeId; +} + +bool FontInfo::operator==(const FontInfo &fi) const +{ + return *d == *fi.d; +} + +bool FontInfo::operator!=(const FontInfo &fi) const +{ + return !operator==(fi); +} + +FontInfo &FontInfo::operator=(const FontInfo &fi) +{ + if (this == &fi) { + return *this; + } + + d = fi.d; + return *this; +} diff --git a/core/fontinfo.h b/core/fontinfo.h new file mode 100644 index 0000000..cad9f4b --- /dev/null +++ b/core/fontinfo.h @@ -0,0 +1,163 @@ +/* + SPDX-FileCopyrightText: 2007 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_FONTINFO_H_ +#define _OKULAR_FONTINFO_H_ + +#include +#include +#include +#include + +#include "okularcore_export.h" + +namespace Okular +{ +class FontInfoPrivate; + +/** + * @short A small class that represents the information of a font. + */ +class OKULARCORE_EXPORT FontInfo +{ +public: + typedef QList List; + + /** + * The possible kinds of fonts. + */ + enum FontType { + Unknown, + Type1, + Type1C, + Type1COT, + Type3, + TrueType, + TrueTypeOT, + CIDType0, + CIDType0C, + CIDType0COT, + CIDTrueType, + CIDTrueTypeOT, + TeXPK, ///< @since 0.10 (KDE 4.4) + TeXVirtual, ///< @since 0.10 (KDE 4.4) + TeXFontMetric, ///< @since 0.10 (KDE 4.4) + TeXFreeTypeHandled ///< @since 0.10 (KDE 4.4) + }; + + /** + * The possible kinds of embed. + */ + enum EmbedType { NotEmbedded, EmbeddedSubset, FullyEmbedded }; + + /** + * Construct a new empty font info. + */ + FontInfo(); + /** + * Copy constructor. + */ + FontInfo(const FontInfo &fi); + /** + * Destructor. + */ + ~FontInfo(); + + /** + * Returns the name of the font. + */ + QString name() const; + /** + * Sets a new name for the font. + */ + void setName(const QString &name); + + /** + * Returns the substitute name for the font. + */ + QString substituteName() const; + + /** + * Sets a new substitute name for the font. + */ + void setSubstituteName(const QString &substituteName); + + /** + * Returns the type of the font. + */ + FontType type() const; + /** + * Change the type of the font. + */ + void setType(FontType type); + + /** + * Returns the type of font embedding. + */ + EmbedType embedType() const; + /** + * Sets the type of font embedding. + */ + void setEmbedType(EmbedType type); + + /** + * In case of not embedded font, returns the path of the font that + * represents this font. + */ + QString file() const; + void setFile(const QString &file); + + /** + * In case of embedded fonts, returns if the font can be extracted into a QByteArray + * + * @since 0.8 (KDE 4.2) + */ + bool canBeExtracted() const; + + /** + * Sets if a font can be extracted or not. False by default + */ + void setCanBeExtracted(bool extractable); + + /** + * Sets the "native" @p id of the font info. + * + * This is for use of the Generator, that can optionally store an + * handle (a pointer, an identifier, etc) of the "native" font + * object, if any. + * + * @since 0.8 (KDE 4.2) + */ + void setNativeId(const QVariant &id); + + /** + * Returns the "native" id of the font info. + * + * @since 0.8 (KDE 4.2) + */ + QVariant nativeId() const; + + FontInfo &operator=(const FontInfo &fi); + + /** + * Comparison operator. + */ + bool operator==(const FontInfo &fi) const; + + bool operator!=(const FontInfo &fi) const; + +private: + /// @cond PRIVATE + friend class FontInfoPrivate; + /// @endcond + QSharedDataPointer d; +}; + +} + +Q_DECLARE_METATYPE(Okular::FontInfo) + +#endif diff --git a/core/form.cpp b/core/form.cpp new file mode 100644 index 0000000..1a77893 --- /dev/null +++ b/core/form.cpp @@ -0,0 +1,448 @@ +/* + SPDX-FileCopyrightText: 2007 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "form.h" +#include "form_p.h" + +// qt includes +#include + +#include "action.h" + +using namespace Okular; + +FormFieldPrivate::FormFieldPrivate(FormField::FieldType type) + : m_type(type) + , m_activateAction(nullptr) + , q_ptr(nullptr) +{ +} + +FormFieldPrivate::~FormFieldPrivate() +{ + delete m_activateAction; + qDeleteAll(m_additionalActions); + qDeleteAll(m_additionalAnnotActions); +} + +void FormFieldPrivate::setDefault() +{ + m_default = value(); +} + +FormField::FormField(FormFieldPrivate &dd) + : d_ptr(&dd) +{ + d_ptr->q_ptr = this; +} + +FormField::~FormField() +{ + delete d_ptr; +} + +FormField::FieldType FormField::type() const +{ + Q_D(const FormField); + return d->m_type; +} + +bool FormField::isReadOnly() const +{ + return false; +} + +void FormField::setReadOnly(bool) +{ +} + +bool FormField::isVisible() const +{ + return true; +} + +void FormField::setVisible(bool) +{ +} + +bool FormField::isPrintable() const +{ + return true; +} + +void FormField::setPrintable(bool) +{ +} + +void FormField::setValue(const QVariant &) +{ +} + +void FormField::setAppearanceValue(const QVariant &) +{ +} + +QVariant FormField::value() const +{ + return QVariant(QString()); +} + +Action *FormField::activationAction() const +{ + Q_D(const FormField); + return d->m_activateAction; +} + +void FormField::setActivationAction(Action *action) +{ + Q_D(FormField); + delete d->m_activateAction; + d->m_activateAction = action; +} + +Action *FormField::additionalAction(AdditionalActionType type) const +{ + Q_D(const FormField); + return d->m_additionalActions.value(type); +} + +void FormField::setAdditionalAction(AdditionalActionType type, Action *action) +{ + Q_D(FormField); + delete d->m_additionalActions.value(type); + d->m_additionalActions[type] = action; +} + +Action *FormField::additionalAction(Annotation::AdditionalActionType type) const +{ + Q_D(const FormField); + return d->m_additionalAnnotActions.value(type); +} + +void FormField::setAdditionalAction(Annotation::AdditionalActionType type, Action *action) +{ + Q_D(FormField); + delete d->m_additionalAnnotActions.value(type); + d->m_additionalAnnotActions[type] = action; +} + +QList FormField::additionalActions() const +{ + Q_D(const FormField); + // yes, calling values() is not great but it's a list of ~10 elements, we can live with that + return d->m_additionalAnnotActions.values() + d->m_additionalActions.values(); // clazy:exclude=container-anti-pattern +} + +Page *FormField::page() const +{ + Q_D(const FormField); + return d->m_page; +} + +QString FormField::committedValue() const +{ + Q_D(const FormField); + return d->m_committedValue; +} + +void FormField::commitValue(const QString &value) +{ + Q_D(FormField); + d->m_committedValue = value; +} + +QString FormField::committedFormattedValue() const +{ + Q_D(const FormField); + return d->m_committedFormattedValue; +} + +void FormField::commitFormattedValue(const QString &value) +{ + Q_D(FormField); + d->m_committedFormattedValue = value; +} + +class Okular::FormFieldButtonPrivate : public Okular::FormFieldPrivate +{ +public: + FormFieldButtonPrivate() + : FormFieldPrivate(FormField::FormButton) + { + } + + Q_DECLARE_PUBLIC(FormFieldButton) + + void setValue(const QString &v) override + { + Q_Q(FormFieldButton); + q->setState(QVariant(v).toBool()); + } + + QString value() const override + { + Q_Q(const FormFieldButton); + return QVariant::fromValue(q->state()).toString(); + } +}; + +FormFieldButton::FormFieldButton() + : FormField(*new FormFieldButtonPrivate()) +{ +} + +FormFieldButton::~FormFieldButton() +{ +} + +void FormFieldButton::setState(bool) +{ +} + +void FormFieldButton::setIcon(Okular::FormField *) +{ +} + +class Okular::FormFieldTextPrivate : public Okular::FormFieldPrivate +{ +public: + FormFieldTextPrivate() + : FormFieldPrivate(FormField::FormText) + { + } + + Q_DECLARE_PUBLIC(FormFieldText) + + void setValue(const QString &v) override + { + Q_Q(FormFieldText); + q->setText(v); + } + + QString value() const override + { + Q_Q(const FormFieldText); + return q->text(); + } +}; + +FormFieldText::FormFieldText() + : FormField(*new FormFieldTextPrivate()) +{ +} + +FormFieldText::~FormFieldText() +{ +} + +void FormFieldText::setText(const QString &) +{ +} + +bool FormFieldText::isPassword() const +{ + return false; +} + +bool FormFieldText::isRichText() const +{ + return false; +} + +int FormFieldText::maximumLength() const +{ + return -1; +} + +Qt::Alignment FormFieldText::textAlignment() const +{ + return Qt::AlignVCenter | Qt::AlignLeft; +} + +bool FormFieldText::canBeSpellChecked() const +{ + return false; +} + +void FormFieldText::setValue(const QVariant &value) +{ + setText(value.toString()); +} + +void FormFieldText::setAppearanceValue(const QVariant &value) +{ + setAppearanceText(value.toString()); +} + +QVariant FormFieldText::value() const +{ + return QVariant(text()); +} + +class Okular::FormFieldChoicePrivate : public Okular::FormFieldPrivate +{ +public: + FormFieldChoicePrivate() + : FormFieldPrivate(FormField::FormChoice) + { + } + + Q_DECLARE_PUBLIC(FormFieldChoice) + + void setValue(const QString &v) override + { + Q_Q(FormFieldChoice); + const QStringList choices = v.split(QLatin1Char(';'), Qt::SkipEmptyParts); + QList newchoices; + for (const QString &str : choices) { + bool ok = true; + int val = str.toInt(&ok); + if (ok) { + newchoices.append(val); + } + } + if (!newchoices.isEmpty()) { + q->setCurrentChoices(newchoices); + } + } + + QString value() const override + { + Q_Q(const FormFieldChoice); + QList choices = q->currentChoices(); + std::sort(choices.begin(), choices.end()); + QStringList list; + for (const int c : std::as_const(choices)) { + list.append(QString::number(c)); + } + return list.join(QStringLiteral(";")); + } + + QMap exportValues; +}; + +FormFieldChoice::FormFieldChoice() + : FormField(*new FormFieldChoicePrivate()) +{ +} + +FormFieldChoice::~FormFieldChoice() +{ +} + +bool FormFieldChoice::isEditable() const +{ + return false; +} + +bool FormFieldChoice::multiSelect() const +{ + return false; +} + +void FormFieldChoice::setCurrentChoices(const QList &) +{ +} + +QString FormFieldChoice::editChoice() const +{ + return QString(); +} + +void FormFieldChoice::setEditChoice(const QString &) +{ +} + +Qt::Alignment FormFieldChoice::textAlignment() const +{ + return Qt::AlignVCenter | Qt::AlignLeft; +} + +bool FormFieldChoice::canBeSpellChecked() const +{ + return false; +} + +void FormFieldChoice::setExportValues(const QMap &values) +{ + Q_D(FormFieldChoice); + d->exportValues = values; +} + +QString FormFieldChoice::exportValueForChoice(const QString &choice) const +{ + Q_D(const FormFieldChoice); + return d->exportValues.value(choice, choice); +} + +void FormFieldChoice::setValue(const QVariant &value) +{ + if (choiceType() == ComboBox) { + const QStringList availableChoices = choices(); + const QString valueToSet = value.toString(); + for (int i = 0; i < availableChoices.size(); i++) { + if (valueToSet == availableChoices[i]) { + const QList oneChoiceList = {i}; + setCurrentChoices(oneChoiceList); + return; // We expect to set only one element for a combo box + } + } + // If the value to be set is not present in the available choices + setEditChoice(valueToSet); + } else { + // TODO what to set for ListBox. + } +} + +QVariant FormFieldChoice::value() const +{ + if (choiceType() == ComboBox) { + if (currentChoices().isEmpty()) { + return QVariant(editChoice()); + } + return QVariant(choices().at(currentChoices().constFirst())); + } else { + // TODO what to return for ListBox. Temporarily return empty string. + return QVariant(QString()); + } +} + +void FormFieldChoice::setAppearanceValue(const QVariant &value) +{ + if (choiceType() == ComboBox) { + setAppearanceChoiceText(value.toString()); + } +} + +class Okular::FormFieldSignaturePrivate : public Okular::FormFieldPrivate +{ +public: + FormFieldSignaturePrivate() + : FormFieldPrivate(FormField::FormSignature) + { + } + + Q_DECLARE_PUBLIC(FormFieldSignature) + + void setValue(const QString &v) override + { + Q_UNUSED(v) + } + + QString value() const override + { + return QString(); + } +}; + +FormFieldSignature::FormFieldSignature() + : FormField(*new FormFieldSignaturePrivate()) +{ +} + +FormFieldSignature::~FormFieldSignature() +{ +} diff --git a/core/form.h b/core/form.h new file mode 100644 index 0000000..c8ad93a --- /dev/null +++ b/core/form.h @@ -0,0 +1,633 @@ +/* + SPDX-FileCopyrightText: 2007 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_FORM_H_ +#define _OKULAR_FORM_H_ + +#include "annotations.h" +#include "area.h" +#include "document.h" +#include "okularcore_export.h" +#include "signatureutils.h" + +#include + +#include + +namespace Okular +{ +class Action; +class Page; +class PagePrivate; +class FormFieldPrivate; +class FormFieldButtonPrivate; +class FormFieldTextPrivate; +class FormFieldChoicePrivate; +class FormFieldSignaturePrivate; + +/** + * @short The base interface of a form field. + * + * This is the very basic interface to represent a field in a form. + * + * This is not meant to be used as a direct base for the form fields in a + * document, but its abstract subclasses are. + */ +class OKULARCORE_EXPORT FormField +{ + /// @cond PRIVATE + friend class Page; + friend class PagePrivate; + /// @endcond + +public: + /** + * The types of form field. + */ + enum FieldType { + FormButton, ///< A "button". See @ref FormFieldButton::ButtonType. + FormText, ///< A field of variable text. See @ref FormFieldText::TextType. + FormChoice, ///< A choice field. See @ref FormFieldChoice::ChoiceType. + FormSignature ///< A signature. + }; + + virtual ~FormField(); + + /** + * The type of the field. + */ + FieldType type() const; + + /** + * The bounding rect of the field, in normalized coordinates. + */ + virtual NormalizedRect rect() const = 0; + + /** + * The ID of the field. + */ + virtual int id() const = 0; + + /** + * The internal name of the field, to be used when referring to the + * field in eg scripts. + */ + virtual QString name() const = 0; + + /** + * The visible name of the field, to be used in the user interface + * (eg in error messages, etc). + */ + virtual QString uiName() const = 0; + + /** + * The fully qualified name of the field, is used in the JavaScript + * scripts. + * + * @since 1.9 + */ + virtual QString fullyQualifiedName() const = 0; + + /** + * Whether the field is read-only. + */ + virtual bool isReadOnly() const; + + /** + * Whether the field is read-only. + * + * @since 1.4 + */ + virtual void setReadOnly(bool value); + + /** + * Whether this form field is visible. + */ + virtual bool isVisible() const; + + /** + * Whether the field is visible. + * + * @since 1.5 + */ + virtual void setVisible(bool value); + + /** + Whether this field is printable. + + @since 1.9 + */ + virtual bool isPrintable() const; + + /** + Set this field printable + + @since 1.9 + */ + virtual void setPrintable(bool value); + + /** + Sets the @p value associated with the form field. + + @since 24.08 + */ + virtual void setValue(const QVariant &value); + + /** + Sets the appearance @p value associated with the form field. + + @since 24.08 + */ + virtual void setAppearanceValue(const QVariant &value); + + /** + Returns the value associated wit the form field. + + @since 24.08 + */ + virtual QVariant value() const; + + Action *activationAction() const; + + /** + * Describes the type of form additional action. + * + * @since 1.1 + */ + enum AdditionalActionType { + FieldModified, ///< An action to be performed when the user modifies the field + FormatField, ///< An action to be performed before the field is formatted to display its value + ValidateField, ///< An action to be performed when the field value changes + CalculateField, ///< An action to be performed when the field needs to be recalculated + }; + + /** + * Returns the additional action of the given @p type or @c nullptr if no action has been defined. + * + * @since 1.1 + */ + Action *additionalAction(AdditionalActionType type) const; + + /** + * Returns the additional action of the given @p type or @c nullptr if no action has been defined. + * This is for actions of annotation widgets associated with the FormField + * + * @since 1.5 + */ + Action *additionalAction(Annotation::AdditionalActionType type) const; + + /** + * Returns all the additional actions for this form + * @since 22.04 + */ + QList additionalActions() const; + + /** + * Returns the page of this form field + * + * @since 21.12.2 + */ + Page *page() const; + + /** + * Returns the value that was last committed in this form field. + * + * @since 24.08 + */ + QString committedValue() const; + + /** + * Updates the value that was last committed in this form field. + * + * @since 24.08 + */ + void commitValue(const QString &value); + + /** + * Returns the formatted value that was last committed in this form field. + * + * @since 24.08 + */ + QString committedFormattedValue() const; + + /** + * Updates the value that was last committed in this form field. + * + * @since 24.08 + */ + void commitFormattedValue(const QString &value); + +protected: + /// @cond PRIVATE + explicit FormField(FormFieldPrivate &dd); + Q_DECLARE_PRIVATE(FormField) + FormFieldPrivate *d_ptr; + /// @endcond + + void setActivationAction(Action *action); + void setAdditionalAction(AdditionalActionType type, Action *action); + void setAdditionalAction(Annotation::AdditionalActionType type, Action *action); + +private: + Q_DISABLE_COPY(FormField) +}; + +/** + * @short Interface of a button form field. + * + * This is the base interface to reimplement to represent a button field, like + * a push button, a check box or a radio button. + * + * @since 0.7 (KDE 4.1) + */ +class OKULARCORE_EXPORT FormFieldButton : public FormField +{ +public: + /** + * The types of button field. + */ + enum ButtonType { + Push, ///< A simple push button. + CheckBox, ///< A check box. + Radio ///< A radio button. + }; + + ~FormFieldButton() override; + + /** + The particular type of the button field. + */ + virtual ButtonType buttonType() const = 0; + + /** + * The caption to be used for the button. + */ + virtual QString caption() const = 0; + + /** + * The state of the button. + */ + virtual bool state() const = 0; + + /** + * Sets the state of the button to the new \p state . + */ + virtual void setState(bool state); + + /** + * The list with the IDs of siblings (ie, buttons belonging to the same + * group as the current one. + * + * Valid only for \ref Radio buttons, an empty list otherwise. + */ + virtual QList siblings() const = 0; + + /** + * Sets the icon of the Button to the Icon of the field parameter. + * + * @since 1.9 + */ + virtual void setIcon(Okular::FormField *field); + +protected: + FormFieldButton(); + +private: + Q_DECLARE_PRIVATE(FormFieldButton) + Q_DISABLE_COPY(FormFieldButton) +}; + +/** + * @short Interface of a text form field. + * + * This is the base interface to reimplement to represent a text field, ie a + * field where the user insert text. + */ +class OKULARCORE_EXPORT FormFieldText : public FormField +{ +public: + /** + * The types of text field. + */ + enum TextType { + Normal, ///< A simple singleline text field. + Multiline, ///< A multiline text field. + FileSelect ///< An input field to select the path of a file on disk. + }; + + ~FormFieldText() override; + + /** + * The particular type of the text field. + */ + virtual TextType textType() const = 0; + + /** + * The text of text field. + */ + virtual QString text() const = 0; + + /** + * Sets the new @p text in the text field. + * + * The default implementation does nothing. + * + * Reimplemented only if the setting of new text is supported. + */ + virtual void setText(const QString &text); + + /** + * Whether this text field is a password input, eg its text @b must be + * replaced with asterisks. + * + * Always false for @ref FileSelect text fields. + */ + virtual bool isPassword() const; + + /** + * Whether this text field should allow rich text. + */ + virtual bool isRichText() const; + + /** + * The maximum length allowed for the text of text field, or -1 if + * there is no limitation for the text. + */ + virtual int maximumLength() const; + + /** + * The alignment of the text within the field. + */ + virtual Qt::Alignment textAlignment() const; + + /** + * Whether the text inserted manually in the field (where possible) + * can be spell-checked. + * + * @note meaningful only if the field is editable. + */ + virtual bool canBeSpellChecked() const; + + /** + * Set the text which should be rendered by the PDF. + * + * @since 1.9 + */ + virtual void setAppearanceText(const QString &text) = 0; + + /** + * Sets the @p value associated with the text form field. + * The value is of type string and this function internally @ref setText(const QString &text) + * + * @since 24.08 + */ + void setValue(const QVariant &value) override; + + /** + * Returns the value associated with the text form field. + * Internally calls @ref text() method. + * + * @since 24.08 + */ + QVariant value() const override; + + /** + * Sets the appearance value associated with the text form field. + * Internally calls @ref setAppearanceText(const QString &text) method. + * + * @since 24.08 + */ + void setAppearanceValue(const QVariant &value) override; + +protected: + FormFieldText(); + +private: + Q_DECLARE_PRIVATE(FormFieldText) + Q_DISABLE_COPY(FormFieldText) +}; + +/** + * @short Interface of a choice form field. + * + * This is the base interface to reimplement to represent a choice field, ie a + * field where the user can select one (of more) element(s) among a set of + * choices. + */ +class OKULARCORE_EXPORT FormFieldChoice : public FormField +{ +public: + /** + * The types of choice field. + */ + enum ChoiceType { + ComboBox, ///< A combo box choice field. + ListBox ///< A list box choice field. + }; + + ~FormFieldChoice() override; + + /** + * The particular type of the choice field. + */ + virtual ChoiceType choiceType() const = 0; + + /** + * The possible choices of the choice field. + */ + virtual QStringList choices() const = 0; + + /** + * Whether this ComboBox is editable, ie the user can type in a custom + * value. + * + * Always false for the other types of choices. + */ + virtual bool isEditable() const; + + /** + * Whether more than one choice of this ListBox can be selected at the + * same time. + * + * Always false for the other types of choices. + */ + virtual bool multiSelect() const; + + /** + * The currently selected choices. + * + * Always one element in the list in case of single choice elements. + */ + virtual QList currentChoices() const = 0; + + /** + * Sets the selected choices to @p choices . + */ + virtual void setCurrentChoices(const QList &choices); + + /** + The text entered into an editable combo box choice field + + @since 0.16 (KDE 4.10) + */ + virtual QString editChoice() const; + + /** + Sets the text entered into an editable combo box choice field + + @since 0.16 (KDE 4.10) + */ + virtual void setEditChoice(const QString &text); + + /** + * The alignment of the text within the field. + */ + virtual Qt::Alignment textAlignment() const; + + /** + * Whether the text inserted manually in the field (where possible) + * can be spell-checked. + * + * @note meaningful only if the field is editable. + */ + virtual bool canBeSpellChecked() const; + + /** + * Returns the export value for a given choice + * + * @since 1.11 + */ + QString exportValueForChoice(const QString &choice) const; + + /** + * Sets the @p text which should be rendered by the PDF in the position of choice FormField. + * + * @since 24.12 + */ + virtual void setAppearanceChoiceText(const QString &text) = 0; + + /** + * Sets the @p value associated with the choice form field. + * It does not set anything for ListBox for now, only for the ComboBox. + * + * Expected type of @p value is QString. + * @since 24.12 + */ + void setValue(const QVariant &value) override; + + /** + * Returns the value associated with the choice form field. + * In case of ComboBox, if there is any selection, then the selected value is returned, else the value entered in editText of the comboBox. + * Returns empty string for ListBox for now. + * + * @since 24.12 + */ + QVariant value() const override; + + /** + * Sets the appearance @p value associated with the form field. + * + * @since 24.12 + */ + void setAppearanceValue(const QVariant &value) override; + +protected: + FormFieldChoice(); + + /** + * The possible choices of the choice field. + * The key is the display name of the choice, + * The value is the export value (i.e. for use in javascript, etc) of the choice + * + * @since 1.11 + */ + void setExportValues(const QMap &values); + +private: + Q_DECLARE_PRIVATE(FormFieldChoice) + Q_DISABLE_COPY(FormFieldChoice) +}; + +/** + * @short Interface of a signature form field. + * + * This is the base interface to reimplement to represent a signature field. + */ +class OKULARCORE_EXPORT FormFieldSignature : public FormField +{ +public: + /** + * The types of signature. + */ + enum SignatureType { + AdbePkcs7sha1, + AdbePkcs7detached, + EtsiCAdESdetached, + UnknownType, + UnsignedSignature, ///< The signature field has not been signed yet. @since 22.04 + G10cPgpSignatureDetached, ///< Poppler/okular extension of pgp signature \since 25.04 + }; + + ~FormFieldSignature() override; + + /** + * The signature type + */ + virtual SignatureType signatureType() const = 0; + + /** + * The signature info + * @since 23.08 + */ + virtual SignatureInfo signatureInfo() const = 0; + + /** + Signs a field of UnsignedSignature type. + + @return pair of signing result and a detailed/advanced error message/code in case of errors + @since 25.08 + */ + virtual std::pair sign(const NewSignatureData &data, const QString &newPath) const = 0; + + using SubscriptionHandle = uint64_t; + /** + * Subscribes to updates to signatureInfo + * + * Especially certificate validation can be a slow task and the + * underlying infrastructure might offload it to a background job. + * + * Whenever those background jobs finished, the callback(s) will be invoked + * + * @return handle to be able to be put back into \ref unsubscribeUpdates + * + * @since 24.08 + */ + virtual SubscriptionHandle subscribeUpdates(const std::function &callback) const = 0; + /** + * Unsubscribes a handle for updates. Handle must be acquired by + * the \ref subscribeUpdates function + * + * @return true if subscription succeeded and false if failed. + * The most likely reason for for failure is if the handle was + * already unsubscribed or for other reasons not existing + * + * @since 24.08 + */ + virtual bool unsubscribeUpdates(const SubscriptionHandle &) const = 0; + +protected: + FormFieldSignature(); + +private: + Q_DECLARE_PRIVATE(FormFieldSignature) + Q_DISABLE_COPY(FormFieldSignature) +}; + +} + +Q_DECLARE_METATYPE(const Okular::FormFieldSignature *); + +#endif diff --git a/core/form_p.h b/core/form_p.h new file mode 100644 index 0000000..ad36c9c --- /dev/null +++ b/core/form_p.h @@ -0,0 +1,48 @@ +/* + SPDX-FileCopyrightText: 2007 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef OKULAR_FORM_P_H +#define OKULAR_FORM_P_H + +#include "form.h" + +#include + +namespace Okular +{ +class Action; +class FormField; + +class FormFieldPrivate +{ +public: + explicit FormFieldPrivate(FormField::FieldType type); + virtual ~FormFieldPrivate(); + + FormFieldPrivate(const FormFieldPrivate &) = delete; + FormFieldPrivate &operator=(const FormFieldPrivate &) = delete; + + void setDefault(); + + virtual void setValue(const QString &) = 0; + virtual QString value() const = 0; + + FormField::FieldType m_type; + QString m_default; + Action *m_activateAction; + QHash m_additionalActions; + QHash m_additionalAnnotActions; + Page *m_page = nullptr; + QString m_committedValue; + QString m_committedFormattedValue; + + Q_DECLARE_PUBLIC(FormField) + FormField *q_ptr; +}; + +} + +#endif diff --git a/core/generator.cpp b/core/generator.cpp new file mode 100644 index 0000000..4304a9d --- /dev/null +++ b/core/generator.cpp @@ -0,0 +1,836 @@ +/* + SPDX-FileCopyrightText: 2005 Piotr Szymanski + SPDX-FileCopyrightText: 2008 Albert Astals Cid + + Work sponsored by the LiMux project of the city of Munich: + SPDX-FileCopyrightText: 2017 Klarälvdalens Datakonsult AB a KDAB Group company + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "config-okular.h" + +#include "generator.h" +#include "generator_p.h" +#include "observer.h" + +#include +#include +#include + +#include +#include +#include +#include +#include + +#if HAVE_KWALLET +#include +#endif + +#include "document_p.h" +#include "page.h" +#include "page_p.h" +#include "textpage.h" +#include "utils.h" + +using namespace Okular; + +GeneratorPrivate::GeneratorPrivate() + : q_ptr(nullptr) + , m_document(nullptr) + , mPixmapGenerationThread(nullptr) + , mTextPageGenerationThread(nullptr) + , mPixmapReady(true) + , mTextPageReady(true) + , m_closing(false) + , m_closingLoop(nullptr) + , m_dpi(72.0, 72.0) +{ + qRegisterMetaType(); +} + +GeneratorPrivate::~GeneratorPrivate() +{ + if (mPixmapGenerationThread) { + mPixmapGenerationThread->wait(); + } + + delete mPixmapGenerationThread; + + if (mTextPageGenerationThread) { + mTextPageGenerationThread->wait(); + } + + delete mTextPageGenerationThread; +} + +PixmapGenerationThread *GeneratorPrivate::pixmapGenerationThread() +{ + if (mPixmapGenerationThread) { + return mPixmapGenerationThread; + } + + Q_Q(Generator); + mPixmapGenerationThread = new PixmapGenerationThread(q); + QObject::connect(mPixmapGenerationThread, &PixmapGenerationThread::finished, q, [this] { pixmapGenerationFinished(); }, Qt::QueuedConnection); + + return mPixmapGenerationThread; +} + +TextPageGenerationThread *GeneratorPrivate::textPageGenerationThread() +{ + if (mTextPageGenerationThread) { + return mTextPageGenerationThread; + } + + Q_Q(Generator); + mTextPageGenerationThread = new TextPageGenerationThread(q); + QObject::connect(mTextPageGenerationThread, &TextPageGenerationThread::finished, q, [this] { textpageGenerationFinished(); }, Qt::QueuedConnection); + + return mTextPageGenerationThread; +} + +void GeneratorPrivate::pixmapGenerationFinished() +{ + Q_Q(Generator); + PixmapRequest *request = mPixmapGenerationThread->request(); + const QImage &img = mPixmapGenerationThread->image(); + mPixmapGenerationThread->endGeneration(); + + QMutexLocker locker(threadsLock()); + + if (m_closing) { + mPixmapReady = true; + delete request; + if (mTextPageReady) { + locker.unlock(); + m_closingLoop->quit(); + } + return; + } + + if (!request->shouldAbortRender()) { + request->page()->setPixmap(request->observer(), new QPixmap(QPixmap::fromImage(img)), request->normalizedRect()); + const int pageNumber = request->page()->number(); + + if (mPixmapGenerationThread->calcBoundingBox()) { + q->updatePageBoundingBox(pageNumber, mPixmapGenerationThread->boundingBox()); + } + } else { + // Cancel the text page generation too if it's still running + if (mTextPageGenerationThread && mTextPageGenerationThread->isRunning()) { + mTextPageGenerationThread->abortExtraction(); + mTextPageGenerationThread->wait(); + } + } + + mPixmapReady = true; + q->signalPixmapRequestDone(request); +} + +void GeneratorPrivate::textpageGenerationFinished() +{ + Q_Q(Generator); + Page *page = mTextPageGenerationThread->page(); + mTextPageGenerationThread->endGeneration(); + + QMutexLocker locker(threadsLock()); + mTextPageReady = true; + + if (m_closing) { + delete mTextPageGenerationThread->textPage(); + if (mPixmapReady) { + locker.unlock(); + m_closingLoop->quit(); + } + return; + } + + if (mTextPageGenerationThread->textPage()) { + TextPage *tp = mTextPageGenerationThread->textPage(); + page->setTextPage(tp); + q->signalTextGenerationDone(page, tp); + } +} + +QMutex *GeneratorPrivate::threadsLock() +{ + return &m_threadsMutex; +} + +QVariant GeneratorPrivate::metaData(const QString &, const QVariant &) const +{ + return QVariant(); +} + +QImage GeneratorPrivate::image(PixmapRequest *) +{ + return QImage(); +} + +Generator::Generator(QObject *parent, const QVariantList &args) + : Generator(*new GeneratorPrivate(), parent, args) +{ + // the delegated constructor does it all +} + +Generator::Generator(GeneratorPrivate &dd, QObject *parent, const QVariantList &args) + : QObject(parent) + , d_ptr(&dd) +{ + d_ptr->q_ptr = this; + Q_UNUSED(args) +} + +Generator::~Generator() +{ + delete d_ptr; +} + +bool Generator::loadDocument(const QString &fileName, QList &pagesVector) +{ + Q_UNUSED(fileName); + Q_UNUSED(pagesVector); + + return false; +} + +bool Generator::loadDocumentFromData(const QByteArray &, QList &) +{ + return false; +} + +Document::OpenResult Generator::loadDocumentWithPassword(const QString &fileName, QList &pagesVector, const QString &) +{ + return loadDocument(fileName, pagesVector) ? Document::OpenSuccess : Document::OpenError; +} + +Document::OpenResult Generator::loadDocumentFromDataWithPassword(const QByteArray &fileData, QList &pagesVector, const QString &) +{ + return loadDocumentFromData(fileData, pagesVector) ? Document::OpenSuccess : Document::OpenError; +} + +Generator::SwapBackingFileResult Generator::swapBackingFile(QString const & /*newFileName */, QList & /*newPagesVector*/) +{ + return SwapBackingFileError; +} + +bool Generator::closeDocument() +{ + Q_D(Generator); + + d->m_closing = true; + + d->threadsLock()->lock(); + if (!(d->mPixmapReady && d->mTextPageReady)) { + QEventLoop loop; + d->m_closingLoop = &loop; + + d->threadsLock()->unlock(); + + loop.exec(); + + d->m_closingLoop = nullptr; + } else { + d->threadsLock()->unlock(); + } + + bool ret = doCloseDocument(); + + d->m_closing = false; + + return ret; +} + +bool Generator::canGeneratePixmap() const +{ + Q_D(const Generator); + return d->mPixmapReady; +} + +bool Generator::canSign() const +{ + return false; +} + +std::pair Generator::sign(const NewSignatureData &, const QString &) +{ + return {}; +} + +CertificateStore *Generator::certificateStore() const +{ + return nullptr; +} + +Okular::CertificateInfo::Backend Generator::activeCertificateBackend() const +{ + Q_D(const Generator); + return d->m_signatureBackend; +} + +void Generator::setActiveCertificateBackend(Okular::CertificateInfo::Backend newBackend) +{ + Q_D(Generator); + d->m_signatureBackend = newBackend; +} + +void Generator::generatePixmap(PixmapRequest *request) +{ + Q_D(Generator); + d->mPixmapReady = false; + + const bool calcBoundingBox = !request->isTile() && !request->page()->isBoundingBoxKnown(); + + if (request->asynchronous() && hasFeature(Threaded)) { + if (d->textPageGenerationThread()->isFinished() && !canGenerateTextPage()) { + // It can happen that the text generation has already finished but + // mTextPageReady is still false because textpageGenerationFinished + // didn't have time to run, if so queue ourselves + QTimer::singleShot(0, this, [this, request] { generatePixmap(request); }); + return; + } + + /** + * We create the text page for every page that is visible to the + * user, so he can use the text extraction tools without a delay. + */ + if (hasFeature(TextExtraction) && !request->page()->hasTextPage() && canGenerateTextPage() && !d->m_closing) { + d->mTextPageReady = false; + d->textPageGenerationThread()->setPage(request->page()); + + // dummy is used as a way to make sure the lambda gets disconnected each time it is executed + // since not all the times the pixmap generation thread starts we want the text generation thread to also start + QObject *dummy = new QObject(); + connect(d_ptr->pixmapGenerationThread(), &QThread::started, dummy, [this, dummy] { + delete dummy; + d_ptr->textPageGenerationThread()->startGeneration(); + }); + } + // pixmap generation thread must be started *after* connect(), else we may miss the start signal and get lock-ups (see bug 396137) + d->pixmapGenerationThread()->startGeneration(request, calcBoundingBox); + + return; + } + + const QImage &img = image(request); + request->page()->setPixmap(request->observer(), new QPixmap(QPixmap::fromImage(img)), request->normalizedRect()); + const int pageNumber = request->page()->number(); + + d->mPixmapReady = true; + + signalPixmapRequestDone(request); + if (calcBoundingBox) { + updatePageBoundingBox(pageNumber, Utils::imageBoundingBox(&img)); + } +} + +bool Generator::canGenerateTextPage() const +{ + Q_D(const Generator); + return d->mTextPageReady; +} + +void Generator::generateTextPage(Page *page) +{ + TextRequest treq(page); + TextPage *tp = textPage(&treq); + page->setTextPage(tp); + signalTextGenerationDone(page, tp); +} + +QImage Generator::image(PixmapRequest *request) +{ + Q_D(Generator); + return d->image(request); +} + +TextPage *Generator::textPage(TextRequest *) +{ + return nullptr; +} + +DocumentInfo Generator::generateDocumentInfo(const QSet &keys) const +{ + Q_UNUSED(keys); + + return DocumentInfo(); +} + +const DocumentSynopsis *Generator::generateDocumentSynopsis() +{ + return nullptr; +} + +FontInfo::List Generator::fontsForPage(int) +{ + return FontInfo::List(); +} + +const QList *Generator::embeddedFiles() const +{ + return nullptr; +} + +Generator::PageLayout Generator::defaultPageLayout() const +{ + return NoLayout; +} + +bool Generator::defaultPageContinuous() const +{ + return false; +} + +Generator::PageSizeMetric Generator::pagesSizeMetric() const +{ + return None; +} + +bool Generator::isAllowed(Permission) const +{ + return true; +} + +void Generator::rotationChanged(Rotation, Rotation) +{ +} + +PageSize::List Generator::pageSizes() const +{ + return PageSize::List(); +} + +void Generator::pageSizeChanged(const PageSize &, const PageSize &) +{ +} + +Document::PrintError Generator::print(QPrinter &) +{ + return Document::UnknownPrintError; +} + +BackendOpaqueAction::OpaqueActionResult Generator::opaqueAction(const BackendOpaqueAction * /*action*/) +{ + return BackendOpaqueAction::DoNothing; +} + +void Generator::freeOpaqueActionContents(const BackendOpaqueAction & /*action*/) +{ +} + +QVariant Generator::metaData(const QString &key, const QVariant &option) const +{ + Q_D(const Generator); + return d->metaData(key, option); +} + +ExportFormat::List Generator::exportFormats() const +{ + return ExportFormat::List(); +} + +bool Generator::exportTo(const QString &, const ExportFormat &) +{ + return false; +} + +void Generator::walletDataForFile(const QString &fileName, QString *walletName, QString *walletFolder, QString *walletKey) const +{ +#if HAVE_KWALLET + *walletKey = fileName.section(QLatin1Char('/'), -1, -1); + *walletName = KWallet::Wallet::NetworkWallet(); + *walletFolder = QStringLiteral("KPdf"); +#else + Q_UNUSED(fileName); + Q_UNUSED(walletName); + Q_UNUSED(walletFolder); + Q_UNUSED(walletKey); +#endif +} + +bool Generator::hasFeature(GeneratorFeature feature) const +{ + Q_D(const Generator); + return d->m_features.contains(feature); +} + +void Generator::signalPixmapRequestDone(PixmapRequest *request) +{ + Q_D(Generator); + if (d->m_document) { + d->m_document->requestDone(request); + } else { + delete request; + } +} + +void Generator::signalTextGenerationDone(Page *page, TextPage *textPage) +{ + Q_D(Generator); + if (d->m_document) { + d->m_document->textGenerationDone(page); + } else { + delete textPage; + } +} + +void Generator::signalPartialPixmapRequest(PixmapRequest *request, const QImage &image) +{ + if (request->shouldAbortRender()) { + return; + } + + PagePrivate *pagePrivate = PagePrivate::get(request->page()); + pagePrivate->setPixmap(request->observer(), new QPixmap(QPixmap::fromImage(image)), request->normalizedRect(), true /* isPartialPixmap */); + + const int pageNumber = request->page()->number(); + request->observer()->notifyPageChanged(pageNumber, Okular::DocumentObserver::Pixmap); +} + +const Document *Generator::document() const +{ + Q_D(const Generator); + if (d->m_document) { + return d->m_document->m_parent; + } + return nullptr; +} + +Okular::Action *Generator::additionalDocumentAction(Okular::Document::DocumentAdditionalActionType) +{ + return nullptr; +} + +void Generator::setFeature(GeneratorFeature feature, bool on) +{ + Q_D(Generator); + if (on) { + d->m_features.insert(feature); + } else { + d->m_features.remove(feature); + } +} + +QVariant Generator::documentMetaData(const DocumentMetaDataKey key, const QVariant &option) const +{ + Q_D(const Generator); + if (!d->m_document) { + return QVariant(); + } + + return d->m_document->documentMetaData(key, option); +} + +QMutex *Generator::userMutex() const +{ + Q_D(const Generator); + return &d->m_mutex; +} + +void Generator::updatePageBoundingBox(int page, const NormalizedRect &boundingBox) +{ + Q_D(Generator); + if (d->m_document) { // still connected to document? + d->m_document->setPageBoundingBox(page, boundingBox); + } +} + +QByteArray Generator::requestFontData(const Okular::FontInfo & /*font*/) +{ + return {}; +} + +void Generator::setDPI(const QSizeF dpi) +{ + Q_D(Generator); + d->m_dpi = dpi; +} + +QSizeF Generator::dpi() const +{ + Q_D(const Generator); + return d->m_dpi; +} + +QAbstractItemModel *Generator::layersModel() const +{ + return nullptr; +} + +TextRequest::TextRequest() + : d(new TextRequestPrivate) +{ + d->mPage = nullptr; + d->mShouldAbortExtraction = 0; +} + +TextRequest::TextRequest(Page *page) + : d(new TextRequestPrivate) +{ + d->mPage = page; + d->mShouldAbortExtraction = 0; +} + +TextRequest::~TextRequest() +{ + delete d; +} + +Page *TextRequest::page() const +{ + return d->mPage; +} + +bool TextRequest::shouldAbortExtraction() const +{ + return d->mShouldAbortExtraction != 0; +} + +TextRequestPrivate *TextRequestPrivate::get(const TextRequest *req) +{ + return req->d; +} + +PixmapRequest::PixmapRequest(DocumentObserver *observer, int pageNumber, int width, int height, qreal dpr, int priority, PixmapRequestFeatures features) + : d(new PixmapRequestPrivate) +{ + d->mObserver = observer; + d->mPageNumber = pageNumber; + d->mWidth = ceil(width * dpr); + d->mHeight = ceil(height * dpr); + d->mPriority = priority; + d->mFeatures = features; + d->mForce = false; + d->mTile = false; + d->mNormalizedRect = NormalizedRect(); + d->mPartialUpdatesWanted = false; + d->mShouldAbortRender = 0; +} + +PixmapRequest::~PixmapRequest() +{ + delete d; +} + +DocumentObserver *PixmapRequest::observer() const +{ + return d->mObserver; +} + +int PixmapRequest::pageNumber() const +{ + return d->mPageNumber; +} + +int PixmapRequest::width() const +{ + return d->mWidth; +} + +int PixmapRequest::height() const +{ + return d->mHeight; +} + +int PixmapRequest::priority() const +{ + return d->mPriority; +} + +bool PixmapRequest::asynchronous() const +{ + return d->mFeatures & Asynchronous; +} + +bool PixmapRequest::preload() const +{ + return d->mFeatures & Preload; +} + +Page *PixmapRequest::page() const +{ + return d->mPage; +} + +void PixmapRequest::setTile(bool tile) +{ + d->mTile = tile; +} + +bool PixmapRequest::isTile() const +{ + return d->mTile; +} + +void PixmapRequest::setNormalizedRect(const NormalizedRect &rect) +{ + if (d->mNormalizedRect == rect) { + return; + } + + d->mNormalizedRect = rect; +} + +const NormalizedRect &PixmapRequest::normalizedRect() const +{ + return d->mNormalizedRect; +} + +void PixmapRequest::setPartialUpdatesWanted(bool partialUpdatesWanted) +{ + d->mPartialUpdatesWanted = partialUpdatesWanted; +} + +bool PixmapRequest::partialUpdatesWanted() const +{ + return d->mPartialUpdatesWanted; +} + +bool PixmapRequest::shouldAbortRender() const +{ + return d->mShouldAbortRender != 0; +} + +Okular::TilesManager *PixmapRequestPrivate::tilesManager() const +{ + return mPage->d->tilesManager(mObserver); +} + +PixmapRequestPrivate *PixmapRequestPrivate::get(const PixmapRequest *req) +{ + return req->d; +} + +void PixmapRequestPrivate::swap() +{ + std::swap(mWidth, mHeight); +} + +class Okular::ExportFormatPrivate : public QSharedData +{ +public: + ExportFormatPrivate(const QString &description, const QMimeType &mimeType, const QIcon &icon = QIcon()) + : QSharedData() + , mDescription(description) + , mMimeType(mimeType) + , mIcon(icon) + { + } + ~ExportFormatPrivate() + { + } + + QString mDescription; + QMimeType mMimeType; + QIcon mIcon; +}; + +ExportFormat::ExportFormat() + : d(new ExportFormatPrivate(QString(), QMimeType())) +{ +} + +ExportFormat::ExportFormat(const QString &description, const QMimeType &mimeType) + : d(new ExportFormatPrivate(description, mimeType)) +{ +} + +ExportFormat::ExportFormat(const QIcon &icon, const QString &description, const QMimeType &mimeType) + : d(new ExportFormatPrivate(description, mimeType, icon)) +{ +} + +ExportFormat::~ExportFormat() +{ +} + +ExportFormat::ExportFormat(const ExportFormat &other) + : d(other.d) +{ +} + +ExportFormat &ExportFormat::operator=(const ExportFormat &other) +{ + if (this == &other) { + return *this; + } + + d = other.d; + + return *this; +} + +QString ExportFormat::description() const +{ + return d->mDescription; +} + +QMimeType ExportFormat::mimeType() const +{ + return d->mMimeType; +} + +QIcon ExportFormat::icon() const +{ + return d->mIcon; +} + +bool ExportFormat::isNull() const +{ + return !d->mMimeType.isValid() || d->mDescription.isNull(); +} + +ExportFormat ExportFormat::standardFormat(StandardExportFormat type) +{ + QMimeDatabase db; + switch (type) { + case PlainText: + return ExportFormat(QIcon::fromTheme(QStringLiteral("text-x-generic")), i18n("Plain &Text…"), db.mimeTypeForName(QStringLiteral("text/plain"))); + break; + case PDF: + return ExportFormat(QIcon::fromTheme(QStringLiteral("application-pdf")), i18n("PDF"), db.mimeTypeForName(QStringLiteral("application/pdf"))); + break; + case OpenDocumentText: + return ExportFormat( + QIcon::fromTheme(QStringLiteral("application-vnd.oasis.opendocument.text")), i18nc("This is the document format", "OpenDocument Text"), db.mimeTypeForName(QStringLiteral("application/vnd.oasis.opendocument.text"))); + break; + case HTML: + return ExportFormat(QIcon::fromTheme(QStringLiteral("text-html")), i18nc("This is the document format", "HTML"), db.mimeTypeForName(QStringLiteral("text/html"))); + break; + } + return ExportFormat(); +} + +bool ExportFormat::operator==(const ExportFormat &other) const +{ + return d == other.d; +} + +bool ExportFormat::operator!=(const ExportFormat &other) const +{ + return d != other.d; +} + +QDebug operator<<(QDebug str, const Okular::PixmapRequest &req) +{ + PixmapRequestPrivate *reqPriv = PixmapRequestPrivate::get(&req); + + str << "PixmapRequest:" << &req; + str << "- observer:" << (qulonglong)req.observer(); + str << "- page:" << req.pageNumber(); + str << "- width:" << req.width(); + str << "- height:" << req.height(); + str << "- priority:" << req.priority(); + str << "- async:" << (req.asynchronous() ? "true" : "false"); + str << "- tile:" << (req.isTile() ? "true" : "false"); + str << "- rect:" << req.normalizedRect(); + str << "- preload:" << (req.preload() ? "true" : "false"); + str << "- partialUpdates:" << (req.partialUpdatesWanted() ? "true" : "false"); + str << "- shouldAbort:" << (req.shouldAbortRender() ? "true" : "false"); + str << "- force:" << (reqPriv->mForce ? "true" : "false"); + return str; +} + +/* kate: replace-tabs on; indent-width 4; */ diff --git a/core/generator.h b/core/generator.h new file mode 100644 index 0000000..1526c1c --- /dev/null +++ b/core/generator.h @@ -0,0 +1,842 @@ +/* + SPDX-FileCopyrightText: 2004-5 Enrico Ros + SPDX-FileCopyrightText: 2005 Piotr Szymanski + SPDX-FileCopyrightText: 2008 Albert Astals Cid + + Work sponsored by the LiMux project of the city of Munich: + SPDX-FileCopyrightText: 2017 Klarälvdalens Datakonsult AB a KDAB Group company + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_GENERATOR_H_ +#define _OKULAR_GENERATOR_H_ + +#include "action.h" +#include "document.h" +#include "fontinfo.h" +#include "global.h" +#include "okularcore_export.h" +#include "pagesize.h" +#include "signatureutils.h" + +#include +#include +#include +#include +#include +#include + +#include +#include + +#define OKULAR_EXPORT_PLUGIN(classname, json) \ + static_assert(json[0] != '\0', "arg2 must be a string literal"); \ + K_PLUGIN_CLASS_WITH_JSON(classname, json) + +class QByteArray; +class QMutex; +class QPrinter; +class QIcon; + +namespace Okular +{ +class BackendOpaqueAction; +class DocumentFonts; +class DocumentInfo; +class DocumentObserver; +class DocumentSynopsis; +class EmbeddedFile; +class ExportFormatPrivate; +class FontInfo; +class GeneratorPrivate; +class Page; +class PixmapRequest; +class PixmapRequestPrivate; +class TextPage; +class TextRequest; +class TextRequestPrivate; +class NormalizedRect; + +/* Note: on contents generation and asynchronous queries. + * Many observers may want to request data synchronously or asynchronously. + * - Sync requests. These should be done in-place. + * - Async request must be done in real background. That usually means a + * thread, such as QThread derived classes. + * Once contents are available, they must be immediately stored in the + * Page they refer to, and a signal is emitted as soon as storing + * (even for sync or async queries) has been done. + */ + +/** + * @short Defines an entry for the export menu + * + * This class encapsulates information about an export format. + * Every Generator can support 0 or more export formats which can be + * queried with @ref Generator::exportFormats(). + */ +class OKULARCORE_EXPORT ExportFormat +{ +public: + typedef QList List; + + /** + * Creates an empty export format. + * + * @see isNull() + */ + ExportFormat(); + + /** + * Creates a new export format. + * + * @param description The i18n'ed description of the format. + * @param mimeType The supported mime type of the format. + */ + ExportFormat(const QString &description, const QMimeType &mimeType); + + /** + * Creates a new export format. + * + * @param icon The icon used in the GUI for this format. + * @param description The i18n'ed description of the format. + * @param mimeType The supported mime type of the format. + */ + ExportFormat(const QIcon &icon, const QString &description, const QMimeType &mimeType); + + /** + * Destroys the export format. + */ + ~ExportFormat(); + + /** + * @internal + */ + ExportFormat(const ExportFormat &other); + + /** + * @internal + */ + ExportFormat &operator=(const ExportFormat &other); + + /** + * Returns the description of the format. + */ + QString description() const; + + /** + * Returns the mime type of the format. + */ + QMimeType mimeType() const; + + /** + * Returns the icon for GUI representations of the format. + */ + QIcon icon() const; + + /** + * Returns whether the export format is null/valid. + * + * An ExportFormat is null if the mimetype is not valid or the + * description is empty, or both. + */ + bool isNull() const; + + /** + * Type of standard export format. + */ + enum StandardExportFormat { + PlainText, ///< Plain text + PDF, ///< PDF, aka Portable Document Format + OpenDocumentText, ///< OpenDocument Text format @since 0.8 (KDE 4.2) + HTML ///< OpenDocument Text format @since 0.8 (KDE 4.2) + }; + + /** + * Builds a standard format for the specified @p type . + */ + static ExportFormat standardFormat(StandardExportFormat type); + + bool operator==(const ExportFormat &other) const; + + bool operator!=(const ExportFormat &other) const; + +private: + /// @cond PRIVATE + friend class ExportFormatPrivate; + /// @endcond + QSharedDataPointer d; +}; + +/** + * @short [Abstract Class] The information generator. + * + * Most of class members are virtuals and some of them pure virtual. The pure + * virtuals provide the minimal functionalities for a Generator, that is being + * able to generate QPixmap for the Page 's of the Document. + * + * Implementing the other functions will make the Generator able to provide + * more contents and/or functionalities (like text extraction). + * + * Generation/query is requested by the Document class only, and that + * class stores the resulting data into Page s. The data will then be + * displayed by the GUI components (PageView, ThumbnailList, etc..). + * + * @see PrintInterface, ConfigInterface, GuiInterface + */ +class OKULARCORE_EXPORT Generator : public QObject +{ + /// @cond PRIVATE + friend class PixmapGenerationThread; + friend class TextPageGenerationThread; + /// @endcond + + Q_OBJECT + +public: + /** + * Describe the possible optional features that a Generator can + * provide. + */ + enum GeneratorFeature { + Threaded, ///< Whether the Generator supports asynchronous generation of pictures or text pages + TextExtraction, ///< Whether the Generator can extract text from the document in the form of TextPage's + ReadRawData, ///< Whether the Generator can read a document directly from its raw data. + FontInfo, ///< Whether the Generator can provide information about the fonts used in the document + PageSizes, ///< Whether the Generator can change the size of the document pages. + PrintNative, ///< Whether the Generator supports native cross-platform printing (QPainter-based). + PrintPostscript, ///< Whether the Generator supports postscript-based file printing. + PrintToFile, ///< Whether the Generator supports export to PDF & PS through the Print Dialog + TiledRendering, ///< Whether the Generator can render tiles @since 0.16 (KDE 4.10) + SwapBackingFile, ///< Whether the Generator can hot-swap the file it's reading from @since 1.3 + SupportsCancelling ///< Whether the Generator can cancel requests @since 1.4 + }; + + /** + * Creates a new generator. + */ + explicit Generator(QObject *parent = nullptr, const QVariantList &args = QVariantList()); + + /** + * Destroys the generator. + */ + ~Generator() override; + + /** + * Loads the document with the given @p fileName and fills the + * @p pagesVector with the parsed pages. + * + * @note If you implement the WithPassword variants you don't need to implement this one + * + * @returns true on success, false otherwise. + */ + virtual bool loadDocument(const QString &fileName, QList &pagesVector); + + /** + * Loads the document from the raw data @p fileData and fills the + * @p pagesVector with the parsed pages. + * + * @note If you implement the WithPassword variants you don't need to implement this one + * + * @note the Generator has to have the feature @ref ReadRawData enabled + * + * @returns true on success, false otherwise. + */ + virtual bool loadDocumentFromData(const QByteArray &fileData, QList &pagesVector); + + /** + * Loads the document with the given @p fileName and @p password and fills the + * @p pagesVector with the parsed pages. + * + * @note Do not implement this if your format doesn't support passwords, it'll cleanly call loadDocument() + * + * @since 0.20 (KDE 4.14) + * + * @returns a LoadResult defining the result of the operation + */ + virtual Document::OpenResult loadDocumentWithPassword(const QString &fileName, QList &pagesVector, const QString &password); + + /** + * Loads the document from the raw data @p fileData and @p password and fills the + * @p pagesVector with the parsed pages. + * + * @note Do not implement this if your format doesn't support passwords, it'll cleanly call loadDocumentFromData() + * + * @note the Generator has to have the feature @ref ReadRawData enabled + * + * @since 0.20 (KDE 4.14) + * + * @returns a LoadResult defining the result of the operation + */ + virtual Document::OpenResult loadDocumentFromDataWithPassword(const QByteArray &fileData, QList &pagesVector, const QString &password); + + /** + * Describes the result of an swap file operation. + * + * @since 1.3 + */ + enum SwapBackingFileResult { + SwapBackingFileError, //< The document could not be swapped + SwapBackingFileNoOp, //< The document was swapped and nothing needs to be done + SwapBackingFileReloadInternalData //< The document was swapped and internal data (forms, annotations, etc) needs to be reloaded + }; + + /** + * Changes the path of the file we are reading from. The new path must + * point to a copy of the same document. + * + * @note the Generator has to have the feature @ref SwapBackingFile enabled + * + * @since 1.3 + */ + virtual SwapBackingFileResult swapBackingFile(const QString &newFileName, QList &newPagesVector); + + /** + * This method is called when the document is closed and not used + * any longer. + * + * @returns true on success, false otherwise. + */ + bool closeDocument(); + + /** + * This method returns whether the generator is ready to + * handle a new pixmap request. + */ + virtual bool canGeneratePixmap() const; + + virtual bool canSign() const; + + /** + * Signs the document + * \since 25.08 + * @return pair of signing result and a detailed/advanced error message/code in case of errors + */ + virtual std::pair sign(const NewSignatureData &data, const QString &rFilename); + + virtual CertificateStore *certificateStore() const; + + /** + * @brief sets the active certificate backend + * @param backend + * @since 25.08 + */ + void setActiveCertificateBackend(Okular::CertificateInfo::Backend backend); + /** + * @brief returns the active certificate backend, defaults to unknown + * @param backend + * @since 25.08 + */ + Okular::CertificateInfo::Backend activeCertificateBackend() const; + + /** + * This method can be called to trigger the generation of + * a new pixmap as described by @p request. + */ + virtual void generatePixmap(PixmapRequest *request); + + /** + * This method returns whether the generator is ready to + * handle a new text page request. + */ + virtual bool canGenerateTextPage() const; + + /** + * This method can be called to trigger the generation of + * a text page for the given @p page. + * + * The generation is done in the calling thread. + * + * @see TextPage + */ + void generateTextPage(Page *page); + + /** + * Returns the general information object of the document. + * + * Changed signature in okular version 0.21 + */ + virtual DocumentInfo generateDocumentInfo(const QSet &keys) const; + + /** + * Returns the 'table of content' object of the document or 0 if + * no table of content is available. + */ + virtual const DocumentSynopsis *generateDocumentSynopsis(); + + /** + * Returns the 'list of embedded fonts' object of the specified \p page + * of the document. + * + * \param page a page of the document, starting from 0 - -1 indicates all + * the other fonts + */ + virtual FontInfo::List fontsForPage(int page); + + /** + * Returns the 'list of embedded files' object of the document or 0 if + * no list of embedded files is available. + */ + virtual const QList *embeddedFiles() const; + + /** + * This enum identifies default page layouts. + * + * @since 24.12 + */ + enum PageLayout { + NoLayout = -1, ///< Layout not specified + SinglePage, ///< Display a single page + TwoPageLeft, ///< Display the pages in two columns, with odd-numbered pages on the left + TwoPageRight ///< Display the pages in two columns, with odd-numbered pages on the right + }; + + /** + * This method returns the default page layout. + * + * @since 24.12 + */ + virtual PageLayout defaultPageLayout() const; + + /** + * This method returns if the default page layout is continuous. + * + * @since 24.12 + */ + virtual bool defaultPageContinuous() const; + + /** + * This enum identifies the metric of the page size. + */ + enum PageSizeMetric { + None, ///< The page size is not defined in a physical metric. + Points, ///< The page size is given in 1/72 inches. + Pixels ///< The page size is given in screen pixels @since 0.19 (KDE 4.13) + }; + + /** + * This method returns the metric of the page size. Default is @ref None. + */ + virtual PageSizeMetric pagesSizeMetric() const; + + /** + * Returns whether the given @p action is allowed in the document. + * @see @ref Okular::Permission + */ + virtual bool isAllowed(Permission action) const; + + /** + * This method is called when the orientation has been changed by the user. + */ + virtual void rotationChanged(Rotation orientation, Rotation oldOrientation); + + /** + * Returns the list of supported page sizes. + */ + virtual PageSize::List pageSizes() const; + + /** + * This method is called when the page size has been changed by the user. + */ + virtual void pageSizeChanged(const PageSize &pageSize, const PageSize &oldPageSize); + + /** + * This method is called to print the document to the given @p printer. + */ + virtual Document::PrintError print(QPrinter &printer); + + /** + * This method returns the meta data of the given @p key with the given @p option + * of the document. + */ + virtual QVariant metaData(const QString &key, const QVariant &option) const; + + /** + * Returns the list of additional supported export formats. + */ + virtual ExportFormat::List exportFormats() const; + + /** + * This method is called to export the document in the given @p format and save it + * under the given @p fileName. The format must be one of the supported export formats. + */ + virtual bool exportTo(const QString &fileName, const ExportFormat &format); + + /** + * This method is called to know which wallet data should be used for the given file name. + * Unless you have very special requirements to where wallet data should be stored you + * don't need to reimplement this method. + */ + virtual void walletDataForFile(const QString &fileName, QString *walletName, QString *walletFolder, QString *walletKey) const; + + /** + * Query for the specified @p feature. + */ + bool hasFeature(GeneratorFeature feature) const; + + /** + * Update DPI of the generator + * + * @since 0.19 (old signature) + * @since 22.04 (new signature) + */ + void setDPI(const QSizeF dpi); + + /** + * Returns the 'layers model' object of the document or NULL if + * layers model is not available. + * + * @since 0.24 + */ + virtual QAbstractItemModel *layersModel() const; + + /** + * Calls the backend to execute a BackendOpaqueAction @p action and returns BackendOpaqueAction result + */ + virtual BackendOpaqueAction::OpaqueActionResult opaqueAction(const BackendOpaqueAction *action); + + /** + * Frees the contents of the opaque action (if any); + * + * @since 22.04 + */ + virtual void freeOpaqueActionContents(const BackendOpaqueAction &action); + + /** + * Retrieves the additional document action for the specified @p type . + * + * @since 24.08 + */ + virtual Okular::Action *additionalDocumentAction(Document::DocumentAdditionalActionType type); + +Q_SIGNALS: + /** + * This signal should be emitted whenever an error occurred in the generator. + * + * @param message The message which should be shown to the user. + * @param duration The time that the message should be shown to the user. + */ + void error(const QString &message, int duration); + + /** + * This signal should be emitted whenever the user should be warned. + * + * @param message The message which should be shown to the user. + * @param duration The time that the message should be shown to the user. + */ + void warning(const QString &message, int duration); + + /** + * This signal should be emitted whenever the user should be noticed. + * + * @param message The message which should be shown to the user. + * @param duration The time that the message should be shown to the user. + */ + void notice(const QString &message, int duration); + +protected: + /** + * This method must be called when the pixmap request triggered by generatePixmap() + * has been finished. + */ + void signalPixmapRequestDone(PixmapRequest *request); + + /** + * This method must be called when a text generation has been finished. + */ + void signalTextGenerationDone(Page *page, TextPage *textPage); + + /** + * This method is called when the document is closed and not used + * any longer. + * + * @returns true on success, false otherwise. + */ + virtual bool doCloseDocument() = 0; + + /** + * Returns the image of the page as specified in + * the passed pixmap @p request. + * + * Must return a null image if the request was cancelled and the generator supports cancelling + * + * @warning this method may be executed in its own separated thread if the + * @ref Threaded is enabled! + */ + virtual QImage image(PixmapRequest *request); + + /** + * Returns the text page for the given @p request. + * + * Must return a null pointer if the request was cancelled and the generator supports cancelling + * + * @warning this method may be executed in its own separated thread if the + * @ref Threaded is enabled! + * + * @since 1.4 + */ + virtual TextPage *textPage(TextRequest *request); + + /** + * Returns a pointer to the document. + */ + const Document *document() const; + + /** + * Toggle the @p feature . + */ + void setFeature(GeneratorFeature feature, bool on = true); + + /** + * Internal document setting + */ + enum DocumentMetaDataKey { + PaperColorMetaData, ///< Returns (QColor) the paper color if set in Settings or the default color (white) if option is true (otherwise returns a non initialized QColor) + TextAntialiasMetaData, ///< Returns (bool) text antialias from Settings (option is not used) + GraphicsAntialiasMetaData, ///< Returns (bool)graphic antialias from Settings (option is not used) + TextHintingMetaData ///< Returns (bool)text hinting from Settings (option is not used) + }; + + /** + * Request a meta data of the Document, if available, like an internal + * setting. + * + * @since 1.1 + */ + QVariant documentMetaData(const DocumentMetaDataKey key, const QVariant &option = QVariant()) const; + + /** + * Return the pointer to a mutex the generator can use freely. + */ + QMutex *userMutex() const; + + /** + * Set the bounding box of a page after the page has already been handed + * to the Document. Call this instead of Page::setBoundingBox() to ensure + * that all observers are notified. + * + * @since 0.7 (KDE 4.1) + */ + void updatePageBoundingBox(int page, const NormalizedRect &boundingBox); + + /** + * Returns DPI, previously set via setDPI() + * @since 0.19 (KDE 4.13) + */ + QSizeF dpi() const; + + /** + * Gets the font data for the given font + * + * @since 0.8 (old signature) + * @since 22.04 (new signature) + */ + virtual QByteArray requestFontData(const Okular::FontInfo &font); + +protected Q_SLOTS: + /** + * This method can be called to trigger a partial pixmap update for the given request + * Make sure you call it in a way it's executed in the main thread. + * @since 1.3 + */ + void signalPartialPixmapRequest(Okular::PixmapRequest *request, const QImage &image); + +protected: + /// @cond PRIVATE + Generator(GeneratorPrivate &dd, QObject *parent, const QVariantList &args); + Q_DECLARE_PRIVATE(Generator) + GeneratorPrivate *d_ptr; + + friend class Document; + friend class DocumentPrivate; + /// @endcond PRIVATE + +private: + Q_DISABLE_COPY(Generator) +}; + +/** + * @short Describes a pixmap type request. + */ +class OKULARCORE_EXPORT PixmapRequest +{ + friend class Document; + friend class DocumentPrivate; + +public: + enum PixmapRequestFeature { NoFeature = 0, Asynchronous = 1, Preload = 2 }; + Q_DECLARE_FLAGS(PixmapRequestFeatures, PixmapRequestFeature) + + /** + * Creates a new pixmap request. + * + * @param observer The observer. + * @param pageNumber The page number. + * @param width The width of the page in logical pixels. + * @param height The height of the page in logical pixels. + * @param dpr Device pixel ratio of the screen that the pixmap is intended for. + * @param priority The priority of the request. + * @param features The features of generation. + */ + PixmapRequest(DocumentObserver *observer, int pageNumber, int width, int height, qreal dpr, int priority, PixmapRequestFeatures features); + + /** + * Destroys the pixmap request. + */ + ~PixmapRequest(); + + /** + * Returns the observer of the request. + */ + DocumentObserver *observer() const; + + /** + * Returns the page number of the request. + */ + int pageNumber() const; + + /** + * Returns the page width of the requested pixmap. + */ + int width() const; + + /** + * Returns the page height of the requested pixmap. + */ + int height() const; + + /** + * Returns the priority (less it better, 0 is maximum) of the + * request. + */ + int priority() const; + + /** + * Returns whether the generation should be done synchronous or + * asynchronous. + * + * If asynchronous, the pixmap is created in a thread and the observer + * is notified when the job is done. + */ + bool asynchronous() const; + + /** + * Returns whether the generation request is for a page that is not important + * i.e. it's just for speeding up future rendering + */ + bool preload() const; + + /** + * Returns a pointer to the page where the pixmap shall be generated for. + */ + Page *page() const; + + /** + * Sets whether the generator should render only the given normalized + * rect or the entire page + * + * @since 0.16 (KDE 4.10) + */ + void setTile(bool tile); + + /** + * Returns whether the generator should render just the region given by + * normalizedRect() or the entire page. + * + * @since 0.16 (KDE 4.10) + */ + bool isTile() const; + + /** + * Sets the region of the page to request. + * + * @since 0.16 (KDE 4.10) + */ + void setNormalizedRect(const NormalizedRect &rect); + + /** + * Returns the normalized region of the page to request. + * + * @since 0.16 (KDE 4.10) + */ + const NormalizedRect &normalizedRect() const; + + /** + * Sets whether the request should report back updates if possible + * + * @since 1.3 + */ + void setPartialUpdatesWanted(bool partialUpdatesWanted); + + /** + * Should the request report back updates if possible? + * + * @since 1.3 + */ + bool partialUpdatesWanted() const; + + /** + * Should the request be aborted if possible? + * + * @since 1.4 + */ + bool shouldAbortRender() const; + +private: + Q_DISABLE_COPY(PixmapRequest) + + friend class PixmapRequestPrivate; + PixmapRequestPrivate *const d; +}; + +/** + * @short Describes a text request. + * + * @since 1.4 + */ +class OKULARCORE_EXPORT TextRequest +{ +public: + /** + * Creates a new text request. + */ + explicit TextRequest(Page *page); + + TextRequest(); + + /** + * Destroys the pixmap request. + */ + ~TextRequest(); + + /** + * Returns a pointer to the page where the pixmap shall be generated for. + */ + Page *page() const; + + /** + * Should the request be aborted if possible? + */ + bool shouldAbortExtraction() const; + +private: + Q_DISABLE_COPY(TextRequest) + + friend TextRequestPrivate; + TextRequestPrivate *const d; +}; + +} + +Q_DECLARE_METATYPE(Okular::PixmapRequest *) + +#define OkularGeneratorInterface_iid "org.kde.okular.Generator" +Q_DECLARE_INTERFACE(Okular::Generator, OkularGeneratorInterface_iid) + +#ifndef QT_NO_DEBUG_STREAM +OKULARCORE_EXPORT QDebug operator<<(QDebug str, const Okular::PixmapRequest &req); +#endif + +#endif + +/* kate: replace-tabs on; indent-width 4; */ diff --git a/core/generator_p.cpp b/core/generator_p.cpp new file mode 100644 index 0000000..799cade --- /dev/null +++ b/core/generator_p.cpp @@ -0,0 +1,167 @@ +/* + SPDX-FileCopyrightText: 2007 Tobias Koenig + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "generator_p.h" + +#include + +#include "fontinfo.h" +#include "utils.h" + +using namespace Okular; + +PixmapGenerationThread::PixmapGenerationThread(Generator *generator) + : mGenerator(generator) + , mRequest(nullptr) + , mCalcBoundingBox(false) +{ +} + +void PixmapGenerationThread::startGeneration(PixmapRequest *request, bool calcBoundingBox) +{ + mRequest = request; + mCalcBoundingBox = calcBoundingBox; + + start(QThread::InheritPriority); +} + +void PixmapGenerationThread::endGeneration() +{ + mRequest = nullptr; +} + +PixmapRequest *PixmapGenerationThread::request() const +{ + return mRequest; +} + +QImage PixmapGenerationThread::image() const +{ + return mRequest ? PixmapRequestPrivate::get(mRequest)->mResultImage : QImage(); +} + +bool PixmapGenerationThread::calcBoundingBox() const +{ + return mCalcBoundingBox; +} + +NormalizedRect PixmapGenerationThread::boundingBox() const +{ + return mBoundingBox; +} + +void PixmapGenerationThread::run() +{ + if (mRequest) { + PixmapRequestPrivate::get(mRequest)->mResultImage = mGenerator->image(mRequest); + + if (mCalcBoundingBox) { + mBoundingBox = Utils::imageBoundingBox(&PixmapRequestPrivate::get(mRequest)->mResultImage); + } + } +} + +TextPageGenerationThread::TextPageGenerationThread(Generator *generator) + : mGenerator(generator) + , mTextPage(nullptr) +{ + TextRequestPrivate *treqPriv = TextRequestPrivate::get(&mTextRequest); + treqPriv->mPage = nullptr; + treqPriv->mShouldAbortExtraction = 0; +} + +void TextPageGenerationThread::startGeneration() +{ + if (page()) { + start(QThread::InheritPriority); + } +} + +void TextPageGenerationThread::endGeneration() +{ + TextRequestPrivate *treqPriv = TextRequestPrivate::get(&mTextRequest); + treqPriv->mPage = nullptr; + treqPriv->mShouldAbortExtraction = 0; +} + +void TextPageGenerationThread::setPage(Page *page) +{ + TextRequestPrivate *treqPriv = TextRequestPrivate::get(&mTextRequest); + treqPriv->mPage = page; + treqPriv->mShouldAbortExtraction = 0; +} + +Page *TextPageGenerationThread::page() const +{ + return mTextRequest.page(); +} + +TextPage *TextPageGenerationThread::textPage() const +{ + return mTextPage; +} + +void TextPageGenerationThread::abortExtraction() +{ + // If extraction already finished no point in aborting + if (!mTextPage) { + TextRequestPrivate *treqPriv = TextRequestPrivate::get(&mTextRequest); + treqPriv->mShouldAbortExtraction = 1; + } +} + +bool TextPageGenerationThread::shouldAbortExtraction() const +{ + return mTextRequest.shouldAbortExtraction(); +} + +void TextPageGenerationThread::run() +{ + mTextPage = nullptr; + + Q_ASSERT(page()); + + mTextPage = mGenerator->textPage(&mTextRequest); + + if (mTextRequest.shouldAbortExtraction()) { + delete mTextPage; + mTextPage = nullptr; + } +} + +FontExtractionThread::FontExtractionThread(Generator *generator, int pages) + : mGenerator(generator) + , mNumOfPages(pages) + , mGoOn(true) +{ +} + +void FontExtractionThread::startExtraction(bool async) +{ + if (async) { + connect(this, &FontExtractionThread::finished, this, &FontExtractionThread::deleteLater); + start(QThread::InheritPriority); + } else { + run(); + deleteLater(); + } +} + +void FontExtractionThread::stopExtraction() +{ + mGoOn = false; +} + +void FontExtractionThread::run() +{ + for (int i = -1; i < mNumOfPages && mGoOn; ++i) { + const FontInfo::List list = mGenerator->fontsForPage(i); + for (const FontInfo &fi : list) { + Q_EMIT gotFont(fi); + } + Q_EMIT progress(i); + } +} diff --git a/core/generator_p.h b/core/generator_p.h new file mode 100644 index 0000000..4b6ddf5 --- /dev/null +++ b/core/generator_p.h @@ -0,0 +1,190 @@ +/* + SPDX-FileCopyrightText: 2007 Tobias Koenig + + Work sponsored by the LiMux project of the city of Munich: + SPDX-FileCopyrightText: 2017 Klarälvdalens Datakonsult AB a KDAB Group company + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef OKULAR_THREADEDGENERATOR_P_H +#define OKULAR_THREADEDGENERATOR_P_H + +#include "area.h" + +#include +#include +#include +#include + +class QEventLoop; + +#include "generator.h" +#include "page.h" + +namespace Okular +{ +class DocumentObserver; +class DocumentPrivate; +class FontInfo; +class Generator; +class Page; +class PixmapGenerationThread; +class PixmapRequest; +class TextPage; +class TextPageGenerationThread; +class TilesManager; + +class GeneratorPrivate +{ +public: + GeneratorPrivate(); + + virtual ~GeneratorPrivate(); + + Q_DECLARE_PUBLIC(Generator) + Generator *q_ptr; + + PixmapGenerationThread *pixmapGenerationThread(); + TextPageGenerationThread *textPageGenerationThread(); + + void pixmapGenerationFinished(); + void textpageGenerationFinished(); + + QMutex *threadsLock(); + + virtual QVariant metaData(const QString &key, const QVariant &option) const; + virtual QImage image(PixmapRequest *); + + DocumentPrivate *m_document; + // NOTE: the following should be a QSet< GeneratorFeature >, + // but it is not to avoid #include'ing generator.h + QSet m_features; + PixmapGenerationThread *mPixmapGenerationThread; + TextPageGenerationThread *mTextPageGenerationThread; + mutable QMutex m_mutex; + QMutex m_threadsMutex; + bool mPixmapReady : 1; + bool mTextPageReady : 1; + bool m_closing : 1; + QEventLoop *m_closingLoop; + QSizeF m_dpi; + Okular::CertificateInfo::Backend m_signatureBackend = Okular::CertificateInfo::Backend::Unknown; +}; + +class PixmapRequestPrivate +{ +public: + void swap(); + TilesManager *tilesManager() const; + + static PixmapRequestPrivate *get(const PixmapRequest *req); + + DocumentObserver *mObserver; + int mPageNumber; + int mWidth; + int mHeight; + int mPriority; + int mFeatures; + bool mForce : 1; + bool mTile : 1; + bool mPartialUpdatesWanted : 1; + Page *mPage; + NormalizedRect mNormalizedRect; + QAtomicInt mShouldAbortRender; + QImage mResultImage; +}; + +class TextRequestPrivate +{ +public: + static TextRequestPrivate *get(const TextRequest *req); + + Page *mPage; + QAtomicInt mShouldAbortExtraction; +}; + +class PixmapGenerationThread : public QThread +{ + Q_OBJECT + +public: + explicit PixmapGenerationThread(Generator *generator); + + void startGeneration(PixmapRequest *request, bool calcBoundingBox); + + void endGeneration(); + + PixmapRequest *request() const; + + QImage image() const; + bool calcBoundingBox() const; + NormalizedRect boundingBox() const; + +protected: + void run() override; + +private: + Generator *mGenerator; + PixmapRequest *mRequest; + NormalizedRect mBoundingBox; + bool mCalcBoundingBox : 1; +}; + +class TextPageGenerationThread : public QThread +{ + Q_OBJECT + +public: + explicit TextPageGenerationThread(Generator *generator); + + void endGeneration(); + + void setPage(Page *page); + Page *page() const; + + TextPage *textPage() const; + + void abortExtraction(); + bool shouldAbortExtraction() const; + +public Q_SLOTS: + void startGeneration(); + +protected: + void run() override; + +private: + Generator *mGenerator; + TextPage *mTextPage; + TextRequest mTextRequest; +}; + +class FontExtractionThread : public QThread +{ + Q_OBJECT + +public: + FontExtractionThread(Generator *generator, int pages); + + void startExtraction(bool async); + void stopExtraction(); + +Q_SIGNALS: + void gotFont(const Okular::FontInfo &); + void progress(int page); + +protected: + void run() override; + +private: + Generator *mGenerator; + int mNumOfPages; + bool mGoOn; +}; + +} + +Q_DECLARE_METATYPE(Okular::Page *) + +#endif diff --git a/core/global.h b/core/global.h new file mode 100644 index 0000000..677039c --- /dev/null +++ b/core/global.h @@ -0,0 +1,81 @@ +/* + SPDX-FileCopyrightText: 2007 Tobias Koenig + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef OKULAR_GLOBAL_H +#define OKULAR_GLOBAL_H + +#include +#include + +/** + * \namespace Okular global.h + * + * \brief The documentation to the global Okular namespace. + */ + +namespace Okular +{ +/** + * Describes the DRM capabilities. + */ +enum Permission { + AllowModify = 1, ///< Allows to modify the document + AllowCopy = 2, ///< Allows to copy the document + AllowPrint = 4, ///< Allows to print the document + AllowNotes = 8, ///< Allows to add annotations to the document + AllowFillForms = 16 ///< Allows to fill the forms in the document +}; +Q_DECLARE_FLAGS(Permissions, Permission) + +/** + * Describes the direction of searching. + */ +enum SearchDirection { + FromTop, ///< Searching from top of the page, next result is to be found, there was no earlier search result. + FromBottom, ///< Searching from bottom of the page, next result is to be found, there was no earlier search result. + NextResult, ///< Searching for the next result on the page, earlier result should be located so we search from the last result not from the beginning of the page. + PreviousResult ///< Searching for the previous result on the page, earlier result should be located so we search from the last result not from the beginning of the page. +}; + +/** + * A rotation. + */ +enum Rotation { + Rotation0 = 0, ///< Not rotated. + Rotation90 = 1, ///< Rotated 90 degrees clockwise. + Rotation180 = 2, ///< Rotated 180 degrees clockwise. + Rotation270 = 3 ///< Rotated 2700 degrees clockwise. +}; + +/** + * Describes the type of generation of objects + */ +enum GenerationType { + Synchronous, ///< Will create the object in a synchronous way + Asynchronous ///< Will create the object in an asynchronous way +}; + +/** + * The side(s) to be considered when merging areas. + */ +enum MergeSide { + MergeRight = 0, ///< Merge only if the right side of the first area intersect. + MergeBottom = 1, ///< Merge only if the bottom side of the first area intersect. + MergeLeft = 2, ///< Merge only if the left side of the first area intersect. + MergeTop = 3, ///< Merge only if the top side of the first area intersect. + MergeAll = 4 ///< Merge if the areas intersects, no matter which side(s). +}; + +/** + * Describes the possible script types. + */ +enum ScriptType { + JavaScript = 0 ///< JavaScript code +}; + +} + +#endif diff --git a/core/misc.cpp b/core/misc.cpp new file mode 100644 index 0000000..be72b9a --- /dev/null +++ b/core/misc.cpp @@ -0,0 +1,45 @@ +/* + SPDX-FileCopyrightText: 2005 Piotr Szymanski + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "core/misc.h" + +#include + +#include "debug_p.h" + +using namespace Okular; + +class TextSelection::Private +{ +public: + int direction; + NormalizedPoint cur[2]; +}; + +TextSelection::TextSelection(const NormalizedPoint &start, const NormalizedPoint &end) + : d(std::make_unique()) +{ + if (end.y - start.y < 0 || (end.y - start.y == 0 && end.x - start.x < 0)) { + d->direction = 1; + } else { + d->direction = 0; + } + + d->cur[0] = start; + d->cur[1] = end; +} + +TextSelection::~TextSelection() = default; + +NormalizedPoint TextSelection::start() const +{ + return d->cur[d->direction % 2]; +} + +NormalizedPoint TextSelection::end() const +{ + return d->cur[(d->direction + 1) % 2]; +} diff --git a/core/misc.h b/core/misc.h new file mode 100644 index 0000000..39cc1d4 --- /dev/null +++ b/core/misc.h @@ -0,0 +1,51 @@ +/* + SPDX-FileCopyrightText: 2005 Piotr Szymanski + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_MISC_H_ +#define _OKULAR_MISC_H_ + +#include "area.h" +#include "okularcore_export.h" + +namespace Okular +{ +/** + @short Wrapper around the information needed to generate the selection area +*/ +class OKULARCORE_EXPORT TextSelection +{ +public: + /** + * Creates a new text selection with the given @p start and @p end point. + */ + TextSelection(const NormalizedPoint &start, const NormalizedPoint &end); + + /** + * Destroys the text selection. + */ + ~TextSelection(); + + TextSelection(const TextSelection &) = delete; + TextSelection &operator=(const TextSelection &) = delete; + + /** + * Returns the start point of the selection. + */ + NormalizedPoint start() const; + + /** + * Returns the end point of the selection. + */ + NormalizedPoint end() const; + +private: + class Private; + std::unique_ptr d; +}; + +} + +#endif diff --git a/core/movie.cpp b/core/movie.cpp new file mode 100644 index 0000000..f26629f --- /dev/null +++ b/core/movie.cpp @@ -0,0 +1,178 @@ +/* + SPDX-FileCopyrightText: 2008 Pino Toscano + SPDX-FileCopyrightText: 2012 Guillermo A. Amaral B. + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "movie.h" + +// qt/kde includes +#include +#include +#include +#include + +#include + +#include "debug_p.h" + +using namespace Okular; + +class Movie::Private +{ +public: + explicit Private(const QString &url) + : m_url(url) + , m_rotation(Rotation0) + , m_playMode(PlayLimited) + , m_playRepetitions(1.0) + , m_tmp(nullptr) + , m_showControls(false) + , m_autoPlay(false) + , m_startPaused(false) + , m_showPosterImage(false) + { + } + + QString m_url; + QSize m_aspect; + Rotation m_rotation; + PlayMode m_playMode; + double m_playRepetitions; + QTemporaryFile *m_tmp; + QImage m_posterImage; + bool m_showControls : 1; + bool m_autoPlay : 1; + bool m_startPaused : 1; + bool m_showPosterImage : 1; +}; + +Movie::Movie(const QString &fileName) + : d(new Private(fileName)) +{ +} + +Movie::Movie(const QString &fileName, const QByteArray &data) + : d(new Private(fileName)) +{ + /* Store movie data as temporary file. + * + * Originally loaded movie data directly using a QBuffer, but sadly phonon + * fails to play on a few of my test systems (I think it's the Phonon + * GStreamer backend). Storing the data in a temporary file works fine + * though, not to mention, it releases much needed memory. (gamaral) + */ + d->m_tmp = new QTemporaryFile(QStringLiteral("%1/okrXXXXXX").arg(QDir::tempPath())); + if (d->m_tmp->open()) { + d->m_tmp->write(data); + d->m_tmp->flush(); + } else { + qCDebug(OkularCoreDebug) << "Failed to create temporary file for video data."; + } +} + +Movie::~Movie() +{ + delete d->m_tmp; + delete d; +} + +QString Movie::url() const +{ + if (d->m_tmp) { + return d->m_tmp->fileName(); + } else { + return d->m_url; + } +} + +void Movie::setSize(const QSize aspect) +{ + d->m_aspect = aspect; +} + +QSize Movie::size() const +{ + return d->m_aspect; +} + +void Movie::setRotation(Rotation rotation) +{ + d->m_rotation = rotation; +} + +Rotation Movie::rotation() const +{ + return d->m_rotation; +} + +void Movie::setShowControls(bool show) +{ + d->m_showControls = show; +} + +bool Movie::showControls() const +{ + return d->m_showControls; +} + +void Movie::setPlayMode(Movie::PlayMode mode) +{ + d->m_playMode = mode; +} + +Movie::PlayMode Movie::playMode() const +{ + return d->m_playMode; +} + +void Movie::setPlayRepetitions(double repetitions) +{ + d->m_playRepetitions = repetitions; +} + +double Movie::playRepetitions() const +{ + return d->m_playRepetitions; +} + +void Movie::setAutoPlay(bool autoPlay) +{ + d->m_autoPlay = autoPlay; +} + +bool Movie::autoPlay() const +{ + return d->m_autoPlay; +} + +void Movie::setStartPaused(bool startPaused) +{ + d->m_startPaused = startPaused; +} + +bool Movie::startPaused() const +{ + return d->m_startPaused; +} + +void Movie::setShowPosterImage(bool show) +{ + d->m_showPosterImage = show; +} + +bool Movie::showPosterImage() const +{ + return d->m_showPosterImage; +} + +void Movie::setPosterImage(const QImage &image) +{ + d->m_posterImage = image; +} + +QImage Movie::posterImage() const +{ + return d->m_posterImage; +} diff --git a/core/movie.h b/core/movie.h new file mode 100644 index 0000000..339a59e --- /dev/null +++ b/core/movie.h @@ -0,0 +1,167 @@ +/* + SPDX-FileCopyrightText: 2008 Pino Toscano + SPDX-FileCopyrightText: 2012 Guillermo A. Amaral B. + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_MOVIE_H_ +#define _OKULAR_MOVIE_H_ + +#include "global.h" +#include "okularcore_export.h" + +#include + +class QImage; + +namespace Okular +{ +/** + * @short Contains information about a movie object. + * + * @since 0.8 (KDE 4.2) + */ +class OKULARCORE_EXPORT Movie +{ +public: + /** + * The play mode for playing the movie + */ + enum PlayMode { + PlayLimited, ///< Play a fixed amount of times, closing the movie controls at the end @since 0.24 + PlayOpen, ///< Like PlayLimited, but leaving the controls open + PlayRepeat, ///< Play continuously until stopped + PlayPalindrome ///< Play forward, then backward, then again forward and so on until stopped + }; + + /** + * Creates a new movie object with the given external @p fileName. + */ + explicit Movie(const QString &fileName); + + /** + * Creates a new movie object with the given movie data. + */ + explicit Movie(const QString &fileName, const QByteArray &data); + + /** + * Destroys the movie object. + */ + ~Movie(); + + /** + * Returns the url of the movie. + */ + QString url() const; + + /** + * Sets the size for the movie. + */ + void setSize(const QSize aspect); + + /** + * Returns the size of the movie. + */ + QSize size() const; + + /** + * Sets the @p rotation of the movie. + */ + void setRotation(Rotation rotation); + + /** + * Returns the rotation of the movie. + */ + Rotation rotation() const; + + /** + * Sets whether show a bar with movie controls + */ + void setShowControls(bool show); + + /** + * Whether show a bar with movie controls + */ + bool showControls() const; + + /** + * Sets the way the movie should be played + */ + void setPlayMode(PlayMode mode); + + /** + * How to play the movie + */ + PlayMode playMode() const; + + /** + * Sets how many times the movie should be played + * @since 0.24 + */ + void setPlayRepetitions(double repetitions); + + /** + * How many times to play the movie + * @since 0.24 + */ + double playRepetitions() const; + + /** + * Sets whether to play the movie automatically + */ + void setAutoPlay(bool autoPlay); + + /** + * Whether to play the movie automatically + */ + bool autoPlay() const; + + /** + * Sets whether to start the movie in paused mode + */ + void setStartPaused(bool startPaused); + + /** + * Whether to start the movie in paused mode + */ + bool startPaused() const; + + /** + * Sets whether to show a poster image. + * + * @since 4.10 + */ + void setShowPosterImage(bool show); + + /** + * Whether to show a poster image. + * + * @since 4.10 + */ + bool showPosterImage() const; + + /** + * Sets the poster image. + * + * @since 4.10 + */ + void setPosterImage(const QImage &image); + + /** + * Returns the poster image. + * + * @since 4.10 + */ + QImage posterImage() const; + +private: + class Private; + Private *const d; + + Q_DISABLE_COPY(Movie) +}; + +} + +#endif diff --git a/core/observer.cpp b/core/observer.cpp new file mode 100644 index 0000000..23803ea --- /dev/null +++ b/core/observer.cpp @@ -0,0 +1,52 @@ +/* + SPDX-FileCopyrightText: 2005 Enrico Ros + SPDX-FileCopyrightText: 2005 Albert Astals Cid + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "observer.h" + +using namespace Okular; + +DocumentObserver::DocumentObserver() + : d(nullptr) +{ +} + +DocumentObserver::~DocumentObserver() +{ +} + +void DocumentObserver::notifySetup(const QList &, int) +{ +} + +void DocumentObserver::notifyViewportChanged(bool) +{ +} + +void DocumentObserver::notifyPageChanged(int, int) +{ +} + +void DocumentObserver::notifyContentsCleared(int) +{ +} + +void DocumentObserver::notifyVisibleRectsChanged() +{ +} + +void DocumentObserver::notifyZoom(int) +{ +} + +bool DocumentObserver::canUnloadPixmap(int) const +{ + return true; +} + +void DocumentObserver::notifyCurrentPageChanged(int, int) +{ +} diff --git a/core/observer.h b/core/observer.h new file mode 100644 index 0000000..ef6cb63 --- /dev/null +++ b/core/observer.h @@ -0,0 +1,124 @@ +/* + SPDX-FileCopyrightText: 2005 Enrico Ros + SPDX-FileCopyrightText: 2005 Albert Astals Cid + + Work sponsored by the LiMux project of the city of Munich: + SPDX-FileCopyrightText: 2017 Klarälvdalens Datakonsult AB a KDAB Group company + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_DOCUMENTOBSERVER_H_ +#define _OKULAR_DOCUMENTOBSERVER_H_ + +#include + +#include "okularcore_export.h" + +namespace Okular +{ +class Page; + +/** + * @short Base class for objects being notified when something changes. + * + * Inherit this class and call Document->addObserver( yourClass ) to get + * notified of asynchronous events (new pixmap generated, or changed, etc..). + */ +class OKULARCORE_EXPORT DocumentObserver +{ +public: + DocumentObserver(); + /** + * Destroys the document observer. + */ + virtual ~DocumentObserver(); + + DocumentObserver(const DocumentObserver &) = delete; + DocumentObserver &operator=(const DocumentObserver &) = delete; + + /** + * Flags that can be sent from the document to all observers to + * inform them about the type of object that has been changed. + */ + enum ChangedFlags { + Pixmap = 1, ///< Pixmaps has been changed + Bookmark = 2, ///< Bookmarks has been changed + Highlights = 4, ///< Highlighting information has been changed + TextSelection = 8, ///< Text selection has been changed + Annotations = 16, ///< Annotations have been changed + BoundingBox = 32, ///< Bounding boxes have been changed + }; + + /** + * ... + */ + enum SetupFlags { + DocumentChanged = 1, ///< The document is a new document. + NewLayoutForPages = 2, ///< All the pages have + UrlChanged = 4 ///< The URL has changed @since 1.3 + }; + + /** + * This method is called whenever the document is initialized or reconstructed. + * + * @param pages The vector of pages of the document. + * @param setupFlags the flags with the information about the setup + */ + virtual void notifySetup(const QList &pages, int setupFlags); + + /** + * This method is called whenever the viewport has been changed. + * + * @param smoothMove If true, the move shall be animated. + */ + virtual void notifyViewportChanged(bool smoothMove); + + /** + * This method is called whenever the content on @p page described by the + * passed @p flags has been changed. + */ + virtual void notifyPageChanged(int page, int flags); + + /** + * This method is called whenever the content described by the passed @p flags + * has been cleared. + */ + virtual void notifyContentsCleared(int flags); + + /** + * This method is called whenever the visible rects have been changed. + */ + virtual void notifyVisibleRectsChanged(); + + /** + * This method is called whenever the zoom of the document has been changed. + */ + virtual void notifyZoom(int factor); + + /** + * Returns whether the observer agrees that all pixmaps for the given + * @p page can be unloaded to improve memory usage. + * + * Returns true per default. + */ + virtual bool canUnloadPixmap(int page) const; + + /** + * This method is called after the current page of the document has been entered. + * + * @param previous The number of the previous page (is @c -1 for the initial page change). + * @param current The number of the current page. + * + * @since 0.16 (KDE 4.10) + */ + virtual void notifyCurrentPageChanged(int previous, int current); + +private: + class Private; + const Private *d; +}; + +} + +#endif diff --git a/core/page.cpp b/core/page.cpp new file mode 100644 index 0000000..003119a --- /dev/null +++ b/core/page.cpp @@ -0,0 +1,1086 @@ +/* + SPDX-FileCopyrightText: 2004 Enrico Ros + + Work sponsored by the LiMux project of the city of Munich: + SPDX-FileCopyrightText: 2017 Klarälvdalens Datakonsult AB a KDAB Group company + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "page.h" +#include "page_p.h" + +// qt/kde includes +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +// local includes +#include "action.h" +#include "annotations.h" +#include "annotations_p.h" +#include "area.h" +#include "debug_p.h" +#include "document.h" +#include "document_p.h" +#include "form.h" +#include "form_p.h" +#include "observer.h" +#include "pagecontroller_p.h" +#include "pagesize.h" +#include "pagetransition.h" +#include "rotationjob_p.h" +#include "textpage_p.h" +#include "tile.h" +#include "tilesmanager_p.h" +#include "utils_p.h" + +#include + +#ifdef PAGE_PROFILE +#include +#endif + +using namespace Okular; + +static const double distanceConsideredEqual = 25; // 5px + +static void deleteObjectRects(QList &rects, const QSet &which) +{ + QList::iterator it = rects.begin(); + for (; it != rects.end();) { + if (which.contains((*it)->objectType())) { + delete *it; + it = rects.erase(it); + } else { + ++it; + } + } +} + +PagePrivate::PagePrivate(Page *page, uint n, double w, double h, Rotation o) + : m_page(page) + , m_number(n) + , m_orientation(o) + , m_width(w) + , m_height(h) + , m_doc(nullptr) + , m_boundingBox(0, 0, 1, 1) + , m_rotation(Rotation0) + , m_text(nullptr) + , m_transition(nullptr) + , m_textSelections(nullptr) + , m_openingAction(nullptr) + , m_closingAction(nullptr) + , m_duration(-1) + , m_isBoundingBoxKnown(false) +{ + // avoid Division-By-Zero problems in the program + if (m_width <= 0) { + m_width = 1; + } + + if (m_height <= 0) { + m_height = 1; + } +} + +PagePrivate::~PagePrivate() +{ + qDeleteAll(formfields); + delete m_openingAction; + delete m_closingAction; + delete m_text; + delete m_transition; +} + +PagePrivate *PagePrivate::get(Page *page) +{ + return page ? page->d : nullptr; +} + +void PagePrivate::imageRotationDone(RotationJob *job) +{ + TilesManager *tm = tilesManager(job->observer()); + if (tm) { + QPixmap *pixmap = new QPixmap(QPixmap::fromImage(job->image())); + tm->setPixmap(pixmap, job->rect(), job->isPartialUpdate()); + delete pixmap; + return; + } + + QMap::iterator it = m_pixmaps.find(job->observer()); + if (it != m_pixmaps.end()) { + PixmapObject &object = it.value(); + (*object.m_pixmap) = QPixmap::fromImage(job->image()); + object.m_rotation = job->rotation(); + object.m_isPartialPixmap = job->isPartialUpdate(); + } else { + PixmapObject object; + object.m_pixmap = new QPixmap(QPixmap::fromImage(job->image())); + object.m_rotation = job->rotation(); + object.m_isPartialPixmap = job->isPartialUpdate(); + + m_pixmaps.insert(job->observer(), object); + } +} + +QTransform PagePrivate::rotationMatrix() const +{ + return Okular::buildRotationMatrix(m_rotation); +} + +/** class Page **/ + +Page::Page(uint pageNumber, double w, double h, Rotation o) + : d(new PagePrivate(this, pageNumber, w, h, o)) +{ +} + +Page::~Page() +{ + if (d) { + deletePixmaps(); + deleteRects(); + d->deleteHighlights(); + deleteAnnotations(); + d->deleteTextSelections(); + deleteSourceReferences(); + + delete d; + } +} + +int Page::number() const +{ + return d->m_number; +} + +Rotation Page::orientation() const +{ + return d->m_orientation; +} + +Rotation Page::rotation() const +{ + return d->m_rotation; +} + +Rotation Page::totalOrientation() const +{ + return (Rotation)(((int)d->m_orientation + (int)d->m_rotation) % 4); +} + +double Page::width() const +{ + return d->m_width; +} + +double Page::height() const +{ + return d->m_height; +} + +double Page::ratio() const +{ + return d->m_height / d->m_width; +} + +NormalizedRect Page::boundingBox() const +{ + return d->m_boundingBox; +} + +bool Page::isBoundingBoxKnown() const +{ + return d->m_isBoundingBoxKnown; +} + +void Page::setBoundingBox(const NormalizedRect &bbox) +{ + if (d->m_isBoundingBoxKnown && d->m_boundingBox == bbox) { + return; + } + + // Allow tiny rounding errors (happens during rotation) + static const double epsilon = 0.00001; + Q_ASSERT(bbox.left >= -epsilon && bbox.top >= -epsilon && bbox.right <= 1 + epsilon && bbox.bottom <= 1 + epsilon); + + d->m_boundingBox = bbox & NormalizedRect(0., 0., 1., 1.); + d->m_isBoundingBoxKnown = true; +} + +bool Page::hasPixmap(DocumentObserver *observer, int width, int height, const NormalizedRect &rect) const +{ + TilesManager *tm = d->tilesManager(observer); + if (tm) { + if (width != tm->width() || height != tm->height()) { + return false; + } + + return tm->hasPixmap(rect); + } + + QMap::const_iterator it = d->m_pixmaps.constFind(observer); + if (it == d->m_pixmaps.constEnd()) { + return false; + } + + if (width == -1 || height == -1) { + return true; + } + + if (it.value().m_isPartialPixmap) { + return false; + } + + const QPixmap *pixmap = it.value().m_pixmap; + + return (pixmap->width() == width && pixmap->height() == height); +} + +void Page::setPageSize(DocumentObserver *observer, int width, int height) +{ + TilesManager *tm = d->tilesManager(observer); + if (tm) { + tm->setSize(width, height); + } +} + +bool Page::hasTextPage() const +{ + return d->m_text != nullptr; +} + +std::unique_ptr Page::wordAt(const NormalizedPoint &p) const +{ + if (d->m_text) { + return d->m_text->wordAt(p); + } + + return nullptr; +} + +std::unique_ptr Page::textArea(const TextSelection &selection) const +{ + if (d->m_text) { + return d->m_text->textArea(selection); + } + + return nullptr; +} + +bool Page::hasObjectRect(double x, double y, double xScale, double yScale) const +{ + if (m_rects.isEmpty()) { + return false; + } + + for (const ObjectRect *rect : m_rects) { + if (rect->distanceSqr(x, y, xScale, yScale) < distanceConsideredEqual) { + return true; + } + } + + return false; +} + +bool Page::hasHighlights(int s_id) const +{ + // simple case: have no highlights + if (m_highlights.isEmpty()) { + return false; + } + // simple case: we have highlights and no id to match + if (s_id == -1) { + return true; + } + // iterate on the highlights list to find an entry by id + for (const HighlightAreaRect *highlight : m_highlights) { + if (highlight->s_id == s_id) { + return true; + } + } + return false; +} + +bool Page::hasTransition() const +{ + return d->m_transition != nullptr; +} + +bool Page::hasAnnotations() const +{ + return !m_annotations.isEmpty(); +} + +RegularAreaRect *Page::findText(int id, const QString &text, SearchDirection direction, Qt::CaseSensitivity caseSensitivity, const RegularAreaRect *lastRect) const +{ + RegularAreaRect *rect = nullptr; + if (text.isEmpty() || !d->m_text) { + return rect; + } + + rect = d->m_text->findText(id, text, direction, caseSensitivity, lastRect); + return rect; +} + +QString Page::text(const RegularAreaRect *area) const +{ + return text(area, TextPage::AnyPixelTextAreaInclusionBehaviour); +} + +QString Page::text(const RegularAreaRect *area, TextPage::TextAreaInclusionBehaviour b) const +{ + QString ret; + + if (!d->m_text) { + return ret; + } + + if (area) { + RegularAreaRect rotatedArea = *area; + rotatedArea.transform(d->rotationMatrix().inverted()); + + ret = d->m_text->text(&rotatedArea, b); + } else { + ret = d->m_text->text(nullptr, b); + } + + return ret; +} + +TextEntity::List Page::words(const RegularAreaRect *area, TextPage::TextAreaInclusionBehaviour b) const +{ + TextEntity::List ret; + + if (!d->m_text) { + return ret; + } + + if (area) { + RegularAreaRect rotatedArea = *area; + rotatedArea.transform(d->rotationMatrix().inverted()); + + ret = d->m_text->words(&rotatedArea, b); + } else { + ret = d->m_text->words(nullptr, b); + } + + for (auto &retI : ret) { + retI = TextEntity(retI.text(), Okular::NormalizedRect(retI.transformedArea(d->rotationMatrix()))); + } + + return ret; +} + +void PagePrivate::rotateAt(Rotation orientation) +{ + if (orientation == m_rotation) { + return; + } + + deleteTextSelections(); + + if (((int)m_orientation + (int)m_rotation) % 2 != ((int)m_orientation + (int)orientation) % 2) { + std::swap(m_width, m_height); + } + + Rotation oldRotation = m_rotation; + m_rotation = orientation; + + /** + * Rotate the images of the page. + */ + QMapIterator it(m_pixmaps); + while (it.hasNext()) { + it.next(); + + const PagePrivate::PixmapObject &object = it.value(); + + RotationJob *job = new RotationJob(object.m_pixmap->toImage(), object.m_rotation, m_rotation, it.key()); + job->setPage(this); + m_doc->m_pageController->addRotationJob(job); + } + + /** + * Rotate tiles manager + */ + QMapIterator i(m_tilesManagers); + while (i.hasNext()) { + i.next(); + + TilesManager *tm = i.value(); + if (tm) { + tm->setRotation(m_rotation); + } + } + + /** + * Rotate the object rects on the page. + */ + const QTransform matrix = rotationMatrix(); + for (ObjectRect *objRect : std::as_const(m_page->m_rects)) { + objRect->transform(matrix); + } + + const QTransform highlightRotationMatrix = Okular::buildRotationMatrix((Rotation)(((int)m_rotation - (int)oldRotation + 4) % 4)); + for (HighlightAreaRect *hlar : std::as_const(m_page->m_highlights)) { + hlar->transform(highlightRotationMatrix); + } +} + +void PagePrivate::changeSize(const PageSize &size) +{ + if (size.isNull() || (size.width() == m_width && size.height() == m_height)) { + return; + } + + m_page->deletePixmaps(); + // deleteHighlights(); + // deleteTextSelections(); + + m_width = size.width(); + m_height = size.height(); + if (m_rotation % 2) { + std::swap(m_width, m_height); + } +} + +const ObjectRect *Page::objectRect(ObjectRect::ObjectType type, double x, double y, double xScale, double yScale) const +{ + // Walk list in reverse order so that annotations in the foreground are preferred + QListIterator it(m_rects); + it.toBack(); + while (it.hasPrevious()) { + const ObjectRect *objrect = it.previous(); + if ((objrect->objectType() == type) && objrect->distanceSqr(x, y, xScale, yScale) < distanceConsideredEqual) { + return objrect; + } + } + + return nullptr; +} + +QList Page::objectRects(ObjectRect::ObjectType type, double x, double y, double xScale, double yScale) const +{ + QList result; + + QListIterator it(m_rects); + it.toBack(); + while (it.hasPrevious()) { + const ObjectRect *objrect = it.previous(); + if ((objrect->objectType() == type) && objrect->distanceSqr(x, y, xScale, yScale) < distanceConsideredEqual) { + result.append(objrect); + } + } + + return result; +} + +const ObjectRect *Page::nearestObjectRect(ObjectRect::ObjectType type, double x, double y, double xScale, double yScale, double *distance) const +{ + ObjectRect *res = nullptr; + double minDistance = std::numeric_limits::max(); + + for (ObjectRect *rect : m_rects) { + if (rect->objectType() == type) { + double dist = rect->distanceSqr(x, y, xScale, yScale); + if (dist < minDistance) { + res = rect; + minDistance = dist; + } + } + } + + if (distance) { + *distance = minDistance; + } + return res; +} + +const PageTransition *Page::transition() const +{ + return d->m_transition; +} + +QList Page::annotations() const +{ + return m_annotations; +} + +Annotation *Page::annotation(const QString &uniqueName) const +{ + for (Annotation *a : m_annotations) { + if (a->uniqueName() == uniqueName) { + return a; + } + } + return nullptr; +} + +const Action *Page::pageAction(PageAction action) const +{ + switch (action) { + case Page::Opening: + return d->m_openingAction; + break; + case Page::Closing: + return d->m_closingAction; + break; + } + + return nullptr; +} + +QList Page::formFields() const +{ + return d->formfields; +} + +void Page::setPixmap(DocumentObserver *observer, QPixmap *pixmap, const NormalizedRect &rect) +{ + d->setPixmap(observer, pixmap, rect, false /*isPartialPixmap*/); +} + +void PagePrivate::setPixmap(DocumentObserver *observer, QPixmap *pixmap, const NormalizedRect &rect, bool isPartialPixmap) +{ + if (m_rotation == Rotation0) { + TilesManager *tm = tilesManager(observer); + if (tm) { + tm->setPixmap(pixmap, rect, isPartialPixmap); + delete pixmap; + return; + } + + QMap::iterator it = m_pixmaps.find(observer); + if (it != m_pixmaps.end()) { + delete it.value().m_pixmap; + } else { + it = m_pixmaps.insert(observer, PagePrivate::PixmapObject()); + } + it.value().m_pixmap = pixmap; + it.value().m_rotation = m_rotation; + it.value().m_isPartialPixmap = isPartialPixmap; + } else { + // it can happen that we get a setPixmap while closing and thus the page controller is gone + if (m_doc->m_pageController) { + RotationJob *job = new RotationJob(pixmap->toImage(), Rotation0, m_rotation, observer); + job->setPage(this); + job->setRect(TilesManager::toRotatedRect(rect, m_rotation)); + job->setIsPartialUpdate(isPartialPixmap); + m_doc->m_pageController->addRotationJob(job); + } + + delete pixmap; + } +} + +void Page::setTextPage(TextPage *textPage) +{ + delete d->m_text; + + d->m_text = textPage; + if (d->m_text) { + d->m_text->d->m_page = this; + // Correct/optimize text order for search and text selection + d->m_text->d->correctTextOrder(); + } +} + +void Page::setObjectRects(const QList &rects) +{ + QSet which; + which << ObjectRect::Action << ObjectRect::Image; + deleteObjectRects(m_rects, which); + + /** + * Rotate the object rects of the page. + */ + const QTransform matrix = d->rotationMatrix(); + + for (ObjectRect *r : rects) { + r->transform(matrix); + } + + m_rects << rects; +} + +const QList &Page::objectRects() const +{ + return m_rects; +} + +void PagePrivate::setHighlight(const RegularAreaRect &rect, const QColor &color, int search_id) +{ + m_page->m_highlights.append(new HighlightAreaRect(rect, color, search_id)); +} + +void PagePrivate::setTextSelections(const RegularAreaRect &rect, const QColor &color) +{ + deleteTextSelections(); + m_textSelections = new HighlightAreaRect(rect, color); +} + +void Page::setSourceReferences(const QList &refRects) +{ + deleteSourceReferences(); + for (SourceRefObjectRect *rect : refRects) { + m_rects << rect; + } +} + +void Page::setDuration(double seconds) +{ + d->m_duration = seconds; +} + +double Page::duration() const +{ + return d->m_duration; +} + +void Page::setLabel(const QString &label) +{ + d->m_label = label; +} + +QString Page::label() const +{ + return d->m_label; +} + +const RegularAreaRect *Page::textSelection() const +{ + return d->m_textSelections; +} + +QColor Page::textSelectionColor() const +{ + return d->m_textSelections ? d->m_textSelections->color : QColor(); +} + +void Page::addAnnotation(Annotation *annotation) +{ + // Generate uniqueName: okular-{UUID} + if (annotation->uniqueName().isEmpty()) { + QString uniqueName = QStringLiteral("okular-") + QUuid::createUuid().toString(); + annotation->setUniqueName(uniqueName); + } + annotation->d_ptr->m_page = d; + m_annotations.append(annotation); + + AnnotationObjectRect *rect = new AnnotationObjectRect(annotation); + + // Rotate the annotation on the page. + const QTransform matrix = d->rotationMatrix(); + annotation->d_ptr->annotationTransform(matrix); + + m_rects.append(rect); +} + +bool Page::removeAnnotation(Annotation *annotation) +{ + if (!d->m_doc->m_parent->canRemovePageAnnotation(annotation)) { + return false; + } + + QList::iterator aIt = m_annotations.begin(); + for (; aIt != m_annotations.end(); ++aIt) { + if ((*aIt) && (*aIt)->uniqueName() == annotation->uniqueName()) { + int rectfound = false; + QList::iterator it = m_rects.begin(); + for (; it != m_rects.end() && !rectfound; ++it) { + if (((*it)->objectType() == ObjectRect::OAnnotation) && ((*it)->object() == (*aIt))) { + delete *it; + it = m_rects.erase(it); + rectfound = true; + } + } + qCDebug(OkularCoreDebug) << "removed annotation:" << annotation->uniqueName(); + annotation->d_ptr->m_page = nullptr; + m_annotations.erase(aIt); + break; + } + } + + return true; +} + +void Page::setTransition(PageTransition *transition) +{ + delete d->m_transition; + d->m_transition = transition; +} + +void Page::setPageAction(PageAction action, Action *link) +{ + switch (action) { + case Page::Opening: + delete d->m_openingAction; + d->m_openingAction = link; + break; + case Page::Closing: + delete d->m_closingAction; + d->m_closingAction = link; + break; + } +} + +void Page::setFormFields(const QList &fields) +{ + qDeleteAll(d->formfields); + d->formfields = fields; + for (FormField *ff : std::as_const(d->formfields)) { + ff->d_ptr->setDefault(); + ff->d_ptr->m_page = this; + } +} + +void Page::deletePixmap(DocumentObserver *observer) +{ + TilesManager *tm = d->tilesManager(observer); + if (tm) { + delete tm; + d->m_tilesManagers.remove(observer); + } else { + PagePrivate::PixmapObject object = d->m_pixmaps.take(observer); + delete object.m_pixmap; + } +} + +void Page::deletePixmaps() +{ + QMapIterator it(d->m_pixmaps); + while (it.hasNext()) { + it.next(); + delete it.value().m_pixmap; + } + + d->m_pixmaps.clear(); + + qDeleteAll(d->m_tilesManagers); + d->m_tilesManagers.clear(); +} + +void Page::deleteRects() +{ + // delete ObjectRects of type Link and Image + QSet which; + which << ObjectRect::Action << ObjectRect::Image; + deleteObjectRects(m_rects, which); +} + +void PagePrivate::deleteHighlights(int s_id) +{ + // delete highlights by ID + QList::iterator it = m_page->m_highlights.begin(); + while (it != m_page->m_highlights.end()) { + HighlightAreaRect *highlight = *it; + if (s_id == -1 || highlight->s_id == s_id) { + it = m_page->m_highlights.erase(it); + delete highlight; + } else { + ++it; + } + } +} + +void PagePrivate::deleteTextSelections() +{ + delete m_textSelections; + m_textSelections = nullptr; +} + +void Page::deleteSourceReferences() +{ + deleteObjectRects(m_rects, QSet() << ObjectRect::SourceRef); +} + +void Page::deleteAnnotations() +{ + // delete ObjectRects of type Annotation + deleteObjectRects(m_rects, QSet() << ObjectRect::OAnnotation); + // delete all stored annotations + qDeleteAll(m_annotations); + m_annotations.clear(); +} + +bool PagePrivate::restoreLocalContents(const QDomNode &pageNode) +{ + bool loadedAnything = false; // set if something actually gets loaded + + // iterate over all children (annotationList, ...) + QDomNode childNode = pageNode.firstChild(); + while (childNode.isElement()) { + QDomElement childElement = childNode.toElement(); + childNode = childNode.nextSibling(); + + // parse annotationList child element + if (childElement.tagName() == QLatin1String("annotationList")) { +#ifdef PAGE_PROFILE + QTime time; + time.start(); +#endif + // Clone annotationList as root node in restoredLocalAnnotationList + const QDomNode clonedNode = restoredLocalAnnotationList.importNode(childElement, true); + restoredLocalAnnotationList.appendChild(clonedNode); + + // iterate over all annotations + QDomNode annotationNode = childElement.firstChild(); + while (annotationNode.isElement()) { + // get annotation element and advance to next annot + QDomElement annotElement = annotationNode.toElement(); + annotationNode = annotationNode.nextSibling(); + + // get annotation from the dom element + Annotation *annotation = AnnotationUtils::createAnnotation(annotElement); + + // append annotation to the list or show warning + if (annotation) { + m_doc->performAddPageAnnotation(m_number, annotation); + qCDebug(OkularCoreDebug) << "restored annot:" << annotation->uniqueName(); + loadedAnything = true; + } else { + qCWarning(OkularCoreDebug).nospace() << "page (" << m_number << "): can't restore an annotation from XML."; + } + } +#ifdef PAGE_PROFILE + qCDebug(OkularCoreDebug).nospace() << "annots: XML Load time: " << time.elapsed() << "ms"; +#endif + } + // parse formList child element + else if (childElement.tagName() == QLatin1String("forms")) { + // Clone forms as root node in restoredFormFieldList + const QDomNode clonedNode = restoredFormFieldList.importNode(childElement, true); + restoredFormFieldList.appendChild(clonedNode); + + if (formfields.isEmpty()) { + continue; + } + + QHash hashedforms; + for (FormField *ff : std::as_const(formfields)) { + hashedforms[ff->id()] = ff; + } + + // iterate over all forms + QDomNode formsNode = childElement.firstChild(); + while (formsNode.isElement()) { + // get annotation element and advance to next annot + QDomElement formElement = formsNode.toElement(); + formsNode = formsNode.nextSibling(); + + if (formElement.tagName() != QLatin1String("form")) { + continue; + } + + bool ok = true; + int index = formElement.attribute(QStringLiteral("id")).toInt(&ok); + if (!ok) { + continue; + } + + QHash::const_iterator wantedIt = hashedforms.constFind(index); + if (wantedIt == hashedforms.constEnd()) { + continue; + } + + QString value = formElement.attribute(QStringLiteral("value")); + (*wantedIt)->d_ptr->setValue(value); + loadedAnything = true; + } + } + } + + return loadedAnything; +} + +void PagePrivate::saveLocalContents(QDomNode &parentNode, QDomDocument &document, PageItems what) const +{ + // create the page node and set the 'number' attribute + QDomElement pageElement = document.createElement(QStringLiteral("page")); + pageElement.setAttribute(QStringLiteral("number"), m_number); + + // add annotations info if has got any + if ((what & AnnotationPageItems) && (what & OriginalAnnotationPageItems)) { + const QDomElement savedDocRoot = restoredLocalAnnotationList.documentElement(); + if (!savedDocRoot.isNull()) { + // Import and append node in target document + const QDomNode importedNode = document.importNode(savedDocRoot, true); + pageElement.appendChild(importedNode); + } + } else if ((what & AnnotationPageItems) && !m_page->m_annotations.isEmpty()) { + // create the annotationList + QDomElement annotListElement = document.createElement(QStringLiteral("annotationList")); + + // add every annotation to the annotationList + for (const Annotation *a : std::as_const(m_page->m_annotations)) { + // only save okular annotations (not the embedded in file ones) + if (!(a->flags() & Annotation::External)) { + // append an filled-up element called 'annotation' to the list + QDomElement annElement = document.createElement(QStringLiteral("annotation")); + AnnotationUtils::storeAnnotation(a, annElement, document); + annotListElement.appendChild(annElement); + qCDebug(OkularCoreDebug) << "save annotation:" << a->uniqueName(); + } + } + + // append the annotationList element if annotations have been set + if (annotListElement.hasChildNodes()) { + pageElement.appendChild(annotListElement); + } + } + + // add forms info if has got any + if ((what & FormFieldPageItems) && (what & OriginalFormFieldPageItems)) { + const QDomElement savedDocRoot = restoredFormFieldList.documentElement(); + if (!savedDocRoot.isNull()) { + // Import and append node in target document + const QDomNode importedNode = document.importNode(savedDocRoot, true); + pageElement.appendChild(importedNode); + } + } else if ((what & FormFieldPageItems) && !formfields.isEmpty()) { + // create the formList + QDomElement formListElement = document.createElement(QStringLiteral("forms")); + + // add every form data to the formList + for (const FormField *f : formfields) { + QString newvalue = f->d_ptr->value(); + if (f->d_ptr->m_default == newvalue) { + continue; + } + + // append an filled-up element called 'annotation' to the list + QDomElement formElement = document.createElement(QStringLiteral("form")); + formElement.setAttribute(QStringLiteral("id"), f->id()); + formElement.setAttribute(QStringLiteral("value"), newvalue); + formListElement.appendChild(formElement); + } + + // append the annotationList element if annotations have been set + if (formListElement.hasChildNodes()) { + pageElement.appendChild(formListElement); + } + } + + // append the page element only if has children + if (pageElement.hasChildNodes()) { + parentNode.appendChild(pageElement); + } +} + +const QPixmap *Page::_o_nearestPixmap(DocumentObserver *observer, int w, int h) const +{ + Q_UNUSED(h) + + const QPixmap *pixmap = nullptr; + + // if a pixmap is present for given id, use it + QMap::const_iterator itPixmap = d->m_pixmaps.constFind(observer); + if (itPixmap != d->m_pixmaps.constEnd()) { + pixmap = itPixmap.value().m_pixmap; + } else if (!d->m_pixmaps.isEmpty()) { + // else find the closest match using pixmaps of other IDs (great optim!) + int minDistance = -1; + QMap::const_iterator it = d->m_pixmaps.constBegin(), end = d->m_pixmaps.constEnd(); + for (; it != end; ++it) { + int pixWidth = (*it).m_pixmap->width(), distance = pixWidth > w ? pixWidth - w : w - pixWidth; + if (minDistance == -1 || distance < minDistance) { + pixmap = (*it).m_pixmap; + minDistance = distance; + } + } + } + + return pixmap; +} + +bool Page::hasTilesManager(const DocumentObserver *observer) const +{ + return d->tilesManager(observer) != nullptr; +} + +QList Page::tilesAt(const DocumentObserver *observer, const NormalizedRect &rect) const +{ + TilesManager *tm = d->m_tilesManagers.value(observer); + if (tm) { + return tm->tilesAt(rect, TilesManager::PixmapTile); + } else { + return QList(); + } +} + +TilesManager *PagePrivate::tilesManager(const DocumentObserver *observer) const +{ + return m_tilesManagers.value(observer); +} + +void PagePrivate::setTilesManager(const DocumentObserver *observer, TilesManager *tm) +{ + TilesManager *old = m_tilesManagers.value(observer); + delete old; + + m_tilesManagers.insert(observer, tm); +} + +void PagePrivate::adoptGeneratedContents(PagePrivate *oldPage) +{ + rotateAt(oldPage->m_rotation); + + m_pixmaps = oldPage->m_pixmaps; + oldPage->m_pixmaps.clear(); + + m_tilesManagers = oldPage->m_tilesManagers; + oldPage->m_tilesManagers.clear(); + + m_boundingBox = oldPage->m_boundingBox; + m_isBoundingBoxKnown = oldPage->m_isBoundingBoxKnown; + m_text = oldPage->m_text; + oldPage->m_text = nullptr; + + m_textSelections = oldPage->m_textSelections; + oldPage->m_textSelections = nullptr; + + restoredLocalAnnotationList = oldPage->restoredLocalAnnotationList; + restoredFormFieldList = oldPage->restoredFormFieldList; +} + +FormField *PagePrivate::findEquivalentForm(const Page *p, FormField *oldField) +{ + // given how id is not very good of id (at least for pdf) we do a few passes + // same rect, type and id + for (FormField *f : std::as_const(p->d->formfields)) { + if (f->rect() == oldField->rect() && f->type() == oldField->type() && f->id() == oldField->id()) { + return f; + } + } + // same rect and type + for (FormField *f : std::as_const(p->d->formfields)) { + if (f->rect() == oldField->rect() && f->type() == oldField->type()) { + return f; + } + } + // fuzzy rect, same type and id + for (FormField *f : std::as_const(p->d->formfields)) { + if (f->type() == oldField->type() && f->id() == oldField->id() && qFuzzyCompare(f->rect().left, oldField->rect().left) && qFuzzyCompare(f->rect().top, oldField->rect().top) && + qFuzzyCompare(f->rect().right, oldField->rect().right) && qFuzzyCompare(f->rect().bottom, oldField->rect().bottom)) { + return f; + } + } + // fuzzy rect and same type + for (FormField *f : std::as_const(p->d->formfields)) { + if (f->type() == oldField->type() && qFuzzyCompare(f->rect().left, oldField->rect().left) && qFuzzyCompare(f->rect().top, oldField->rect().top) && qFuzzyCompare(f->rect().right, oldField->rect().right) && + qFuzzyCompare(f->rect().bottom, oldField->rect().bottom)) { + return f; + } + } + return nullptr; +} diff --git a/core/page.h b/core/page.h new file mode 100644 index 0000000..dcb860a --- /dev/null +++ b/core/page.h @@ -0,0 +1,429 @@ +/* + SPDX-FileCopyrightText: 2004 Enrico Ros + + Work sponsored by the LiMux project of the city of Munich: + SPDX-FileCopyrightText: 2017 Klarälvdalens Datakonsult AB a KDAB Group company + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_PAGE_H_ +#define _OKULAR_PAGE_H_ + +#include "area.h" +#include "global.h" +#include "okularcore_export.h" +#include "textpage.h" + +class QPixmap; + +class PagePainter; + +namespace Okular +{ +class Annotation; +class Document; +class DocumentObserver; +class DocumentPrivate; +class FormField; +class PagePrivate; +class PageTransition; +class SourceReference; +class TextSelection; +class Tile; + +/** + * @short Collector for all the data belonging to a page. + * + * The Page class contains pixmaps (referenced using observers id as key), + * a search page (a class used internally for retrieving text), rect classes + * (that describe links or other active areas in the current page) and more. + * + * All coordinates are normalized to the page, so {x,y} are valid in [0,1] + * range as long as NormalizedRect components. + * + * Note: The class takes ownership of all objects. + */ +class OKULARCORE_EXPORT Page +{ +public: + /** + * An action to be executed when particular events happen. + */ + enum PageAction { + Opening, ///< An action to be executed when the page is "opened". + Closing ///< An action to be executed when the page is "closed". + }; + + /** + * Creates a new page. + * + * @param pageNumber The number of the page in the document. + * @param width The width of the page. + * @param height The height of the page. + * @param orientation The orientation of the page + */ + Page(uint pageNumber, double width, double height, Rotation orientation); + + /** + * Destroys the page. + */ + ~Page(); + + /** + * Returns the number of the page in the document. + */ + int number() const; + + /** + * Returns the orientation of the page as defined by the document. + */ + Rotation orientation() const; + + /** + * Returns the rotation of the page as defined by the user. + */ + Rotation rotation() const; + + /** + * Returns the total orientation which is the original orientation plus + * the user defined rotation. + */ + Rotation totalOrientation() const; + + /** + * Returns the width of the page. + */ + double width() const; + + /** + * Returns the height of the page. + */ + double height() const; + + /** + * Returns the ration (height / width) of the page. + */ + double ratio() const; + + /** + * Returns the bounding box of the page content in normalized [0,1] coordinates, + * in terms of the upright orientation (Rotation0). + * If it has not been computed yet, returns the full page (i.e., (0, 0, 1, 1)). + * Note that the bounding box may be null if the page is blank. + * + * @since 0.7 (KDE 4.1) + */ + NormalizedRect boundingBox() const; + + /** + * Returns whether the bounding box of the page has been computed. + * Note that even if the bounding box is computed, it may be null if the page is blank. + * + * @since 0.7 (KDE 4.1) + */ + bool isBoundingBoxKnown() const; + + /** + * Sets the bounding box of the page content in normalized [0,1] coordinates, + * in terms of the upright orientation (Rotation0). + * (This does not inform the document's observers, call Document::SetPageBoundingBox + * instead if you want that.) + * + * @since 0.7 (KDE 4.1) + */ + void setBoundingBox(const NormalizedRect &bbox); + + /** + * Returns whether the page of size @p width x @p height has a @p pixmap + * in the region given by @p rect for the given @p observer + * If there is a partially rendered pixmap the answer is false. + */ + bool hasPixmap(DocumentObserver *observer, int width = -1, int height = -1, const NormalizedRect &rect = NormalizedRect()) const; + + /** + * Sets the size of the page (in screen pixels) if there is a TilesManager. + */ + void setPageSize(DocumentObserver *observer, int width, int height); + + /** + * Returns whether the page provides a text page (@ref TextPage). + */ + bool hasTextPage() const; + + /** + * Returns whether the page has an object rect which includes the point (@p x, @p y) + * at scale (@p xScale, @p yScale). + */ + bool hasObjectRect(double x, double y, double xScale, double yScale) const; + + /** + * Returns whether the page provides highlighting for the observer with the + * given @p id. + */ + bool hasHighlights(int id = -1) const; + + /** + * Returns whether the page provides a transition effect. + */ + bool hasTransition() const; + + /** + * Returns whether the page provides annotations. + */ + bool hasAnnotations() const; + + /** + * Returns the bounding rect of the text which matches the following criteria + * or 0 if the search is not successful. + * + * @param id An unique id for this search. + * @param text The search text. + * @param direction The direction of the search (@ref SearchDirection) + * @param caseSensitivity If Qt::CaseSensitive, the search is case sensitive; otherwise + * the search is case insensitive. + * @param lastRect If 0 (default) the search starts at the beginning of the page, otherwise + * right/below the coordinates of the given rect. + */ + RegularAreaRect *findText(int id, const QString &text, SearchDirection direction, Qt::CaseSensitivity caseSensitivity, const RegularAreaRect *lastRect = nullptr) const; + + /** + * Returns the page text (or part of it). + * @see TextPage::text() + */ + QString text(const RegularAreaRect *area = nullptr) const; + + /** + * Returns the page text (or part of it). + * @see TextPage::text() + * @since 0.10 (KDE 4.4) + */ + QString text(const RegularAreaRect *area, TextPage::TextAreaInclusionBehaviour b) const; + + /** + * Returns the page text (or part of it) including the bounding + * rectangles. Note that ownership of the contents of the returned + * list belongs to the caller. + * @see TextPage::words() + * @since 0.14 (KDE 4.8) + */ + TextEntity::List words(const RegularAreaRect *area, TextPage::TextAreaInclusionBehaviour b) const; + + /** + * Returns the area and text of the word at the given point + * Note that ownership of the returned area belongs to the caller. + * @see TextPage::wordAt() + * @since 0.15 (KDE 4.9) + */ + std::unique_ptr wordAt(const NormalizedPoint &p) const; + + /** + * Returns the rectangular area of the given @p selection. + */ + std::unique_ptr textArea(const TextSelection &selection) const; + + /** + * Returns the object rect of the given @p type which is at point (@p x, @p y) at scale (@p xScale, @p yScale). + */ + const ObjectRect *objectRect(ObjectRect::ObjectType type, double x, double y, double xScale, double yScale) const; + + /** + * Returns all object rects of the given @p type which are at point (@p x, @p y) at scale (@p xScale, @p yScale). + * @since 0.16 (KDE 4.10) + */ + QList objectRects(ObjectRect::ObjectType type, double x, double y, double xScale, double yScale) const; + + /** + * Returns the object rect of the given @p type which is nearest to the point (@p x, @p y) at scale (@p xScale, @p yScale). + * + * @since 0.8.2 (KDE 4.2.2) + */ + const ObjectRect *nearestObjectRect(ObjectRect::ObjectType type, double x, double y, double xScale, double yScale, double *distance) const; + + /** + * Returns the transition effect of the page or 0 if no transition + * effect is set (see hasTransition()). + */ + const PageTransition *transition() const; + + /** + * Returns the list of annotations of the page. + */ + QList annotations() const; + + /** + * Returns the annotation with the given unique name. + * @since 1.3 + */ + Annotation *annotation(const QString &uniqueName) const; + + /** + * Returns the @ref Action object which is associated with the given page @p action + * or 0 if no page action is set. + */ + const Action *pageAction(PageAction action) const; + + /** + * Returns the list of FormField of the page. + */ + QList formFields() const; + + /** + * Sets the region described by @p rect with @p pixmap for the + * given @p observer. + * If @p rect is not set (default) the @p pixmap is set to the entire + * page. + */ + void setPixmap(DocumentObserver *observer, QPixmap *pixmap, const NormalizedRect &rect = NormalizedRect()); + + /** + * Sets the @p text page. + */ + void setTextPage(TextPage *text); + + /** + * Sets the list of object @p rects of the page. + */ + void setObjectRects(const QList &rects); + + /** + * Gets the list of object rects of the page. + * + * @since 22.04 + */ + const QList &objectRects() const; + + /** + * Sets the list of source reference objects @p rects. + */ + void setSourceReferences(const QList &rects); + + /** + * Sets the duration of the page to @p seconds when displayed in presentation mode. + * + * Setting a negative number disables the duration. + */ + void setDuration(double seconds); + + /** + * Returns the duration in seconds of the page when displayed in presentation mode. + * + * A negative number means that no time is set. + */ + double duration() const; + + /** + * Sets the labels for the page to @p label . + */ + void setLabel(const QString &label); + + /** + * Returns the label of the page, or a null string if not set. + */ + QString label() const; + + /** + * Returns the current text selection. + */ + const RegularAreaRect *textSelection() const; + + /** + * Returns the color of the current text selection, or an invalid color + * if no text selection has been set. + */ + QColor textSelectionColor() const; + + /** + * Adds a new @p annotation to the page. + */ + void addAnnotation(Annotation *annotation); + + /** + * Removes the @p annotation from the page. + */ + bool removeAnnotation(Annotation *annotation); + + /** + * Sets the page @p transition effect. + */ + void setTransition(PageTransition *transition); + + /** + * Sets the @p link object for the given page @p action. + */ + void setPageAction(PageAction action, Action *link); + + /** + * Sets @p fields as list of FormField of the page. + */ + void setFormFields(const QList &fields); + + /** + * Deletes the pixmap for the given @p observer + */ + void deletePixmap(DocumentObserver *observer); + + /** + * Deletes all pixmaps of the page. + */ + void deletePixmaps(); + + /** + * Deletes all object rects of the page. + */ + void deleteRects(); + + /** + * Deletes all source reference objects of the page. + */ + void deleteSourceReferences(); + + /** + * Deletes all annotations of the page. + */ + void deleteAnnotations(); + + /** + * Returns whether pixmaps for the tiled observer are handled by a + * tile manager. + * + * @since 0.19 (KDE 4.13) + */ + bool hasTilesManager(const DocumentObserver *observer) const; + + /** + * Returns a list of all tiles intersecting with @p rect. + * + * The list contains only tiles with a pixmap + * + * @since 0.19 (KDE 4.13) + */ + QList tilesAt(const DocumentObserver *observer, const NormalizedRect &rect) const; + +private: + PagePrivate *d; + /// @cond PRIVATE + friend class PagePrivate; + friend class Document; + friend class DocumentPrivate; + friend class PixmapRequestPrivate; + + /** + * To improve performance PagePainter accesses the following + * member variables directly. + */ + friend class ::PagePainter; + /// @endcond + + const QPixmap *_o_nearestPixmap(DocumentObserver *, int, int) const; + + QList m_rects; + QList m_highlights; + QList m_annotations; + + Q_DISABLE_COPY(Page) +}; + +} + +#endif diff --git a/core/page_p.h b/core/page_p.h new file mode 100644 index 0000000..27055df --- /dev/null +++ b/core/page_p.h @@ -0,0 +1,175 @@ +/* + SPDX-FileCopyrightText: 2004 Enrico Ros + SPDX-FileCopyrightText: 2007 Pino Toscano + + Work sponsored by the LiMux project of the city of Munich: + SPDX-FileCopyrightText: 2017 Klarälvdalens Datakonsult AB a KDAB Group company + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_PAGE_PRIVATE_H_ +#define _OKULAR_PAGE_PRIVATE_H_ + +// qt/kde includes +#include +#include +#include +#include + +// local includes +#include "area.h" +#include "global.h" + +class QColor; + +namespace Okular +{ +class Action; +class Annotation; +class DocumentObserver; +class DocumentPrivate; +class FormField; +class HighlightAreaRect; +class Page; +class PageSize; +class PageTransition; +class RotationJob; +class TextPage; +class TilesManager; + +enum PageItem { + None = 0, + AnnotationPageItems = 0x01, + FormFieldPageItems = 0x02, + AllPageItems = 0xff, + + /* If set along with AnnotationPageItems, tells saveLocalContents to save + * the original annotations (if any) instead of the modified ones */ + OriginalAnnotationPageItems = 0x100, + + /* If set along with FormFieldPageItems, tells saveLocalContents to save + * the original form contents (if any) instead of the modified one */ + OriginalFormFieldPageItems = 0x200 +}; +Q_DECLARE_FLAGS(PageItems, PageItem) + +class PagePrivate +{ +public: + PagePrivate(Page *page, uint n, double w, double h, Rotation o); + ~PagePrivate(); + + static PagePrivate *get(Page *page); + + void imageRotationDone(RotationJob *job); + QTransform rotationMatrix() const; + + /** + * Loads the local contents (e.g. annotations) of the page. + */ + bool restoreLocalContents(const QDomNode &pageNode); + + /** + * Saves the local contents (e.g. annotations) of the page. + */ + void saveLocalContents(QDomNode &parentNode, QDomDocument &document, PageItems what = AllPageItems) const; + + /** + * Rotates the image and object rects of the page to the given @p orientation. + */ + void rotateAt(Rotation orientation); + + /** + * Changes the size of the page to the given @p size. + * + * The @p size is meant to be referred to the page not rotated. + */ + void changeSize(const PageSize &size); + + /** + * Clears current text selection highlight areas, + * creates new ones if @p r is not nullptr, + * and deletes @p r. + * + * @param r Areas of new text selections. + * @param color Color of new text selections. + */ + void setTextSelections(const RegularAreaRect &rect, const QColor &color); + + /** + * Sets the @p color and @p rect of the highlight for the observer with + * the given @p search_id. + */ + void setHighlight(const RegularAreaRect &rect, const QColor &color, int search_id); + + /** + * Deletes all highlight objects for the observer with the given @p id. + */ + void deleteHighlights(int id = -1); + + /** + * Deletes all text selection objects of the page. + */ + void deleteTextSelections(); + + /** + * Get the tiles manager for the tiled @p observer + */ + TilesManager *tilesManager(const DocumentObserver *observer) const; + + /** + * Set the tiles manager for the tiled @p observer + */ + void setTilesManager(const DocumentObserver *observer, TilesManager *tm); + + /** + * Moves contents that are generated from oldPage to this. And clears them from page + * so it can be deleted fine. + */ + void adoptGeneratedContents(PagePrivate *oldPage); + + /* + * Tries to find an equivalent form field to oldField by looking into the rect, type and name + */ + OKULARCORE_EXPORT static FormField *findEquivalentForm(const Page *p, FormField *oldField); + + void setPixmap(DocumentObserver *observer, QPixmap *pixmap, const NormalizedRect &rect, bool isPartialPixmap); + + class PixmapObject + { + public: + QPixmap *m_pixmap = nullptr; + Rotation m_rotation; + bool m_isPartialPixmap = false; + }; + QMap m_pixmaps; + QMap m_tilesManagers; + + Page *m_page; + int m_number; + Rotation m_orientation; + double m_width, m_height; + DocumentPrivate *m_doc; + NormalizedRect m_boundingBox; + Rotation m_rotation; + + TextPage *m_text; + PageTransition *m_transition; + HighlightAreaRect *m_textSelections; + QList formfields; + Action *m_openingAction; + Action *m_closingAction; + double m_duration; + QString m_label; + + bool m_isBoundingBoxKnown : 1; + QDomDocument restoredLocalAnnotationList; // ... + QDomDocument restoredFormFieldList; // ... +}; + +} + +Q_DECLARE_OPERATORS_FOR_FLAGS(Okular::PageItems) + +#endif diff --git a/core/pagecontroller.cpp b/core/pagecontroller.cpp new file mode 100644 index 0000000..75d9714 --- /dev/null +++ b/core/pagecontroller.cpp @@ -0,0 +1,41 @@ +/* + SPDX-FileCopyrightText: 2007 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "pagecontroller_p.h" + +// local includes +#include "page_p.h" +#include "rotationjob_p.h" + +#include + +using namespace Okular; + +PageController::PageController() + : QObject() +{ +} + +PageController::~PageController() +{ +} + +void PageController::addRotationJob(RotationJob *job) +{ + connect(job, &RotationJob::done, this, &PageController::imageRotationDone); + ThreadWeaver::enqueue(&m_weaver, job); +} + +void PageController::imageRotationDone(const ThreadWeaver::JobPointer &j) +{ + RotationJob *job = static_cast(j.data()); + + if (job->page()) { + job->page()->imageRotationDone(job); + + Q_EMIT rotationFinished(job->page()->m_number, job->page()->m_page); + } +} diff --git a/core/pagecontroller_p.h b/core/pagecontroller_p.h new file mode 100644 index 0000000..09db377 --- /dev/null +++ b/core/pagecontroller_p.h @@ -0,0 +1,43 @@ +/* + SPDX-FileCopyrightText: 2007 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_PAGECONTROLLER_P_H_ +#define _OKULAR_PAGECONTROLLER_P_H_ + +#include + +#include + +namespace Okular +{ +class Page; +class RotationJob; + +/* There is one PageController per document. It receives notifications of + * completed RotationJobs */ +class PageController : public QObject +{ + Q_OBJECT + +public: + PageController(); + ~PageController() override; + + void addRotationJob(RotationJob *job); + +Q_SIGNALS: + void rotationFinished(int page, Okular::Page *okularPage); + +private Q_SLOTS: + void imageRotationDone(const ThreadWeaver::JobPointer &job); + +private: + ThreadWeaver::Queue m_weaver; +}; + +} + +#endif diff --git a/core/pagesize.cpp b/core/pagesize.cpp new file mode 100644 index 0000000..ac6f23f --- /dev/null +++ b/core/pagesize.cpp @@ -0,0 +1,116 @@ +/* + SPDX-FileCopyrightText: 2007 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +// local includes +#include "pagesize.h" + +using namespace Okular; + +class Okular::PageSizePrivate : public QSharedData +{ +public: + PageSizePrivate() + : m_width(0) + , m_height(0) + { + } + + bool operator==(const PageSizePrivate &rhs) const + { + return m_width == rhs.m_width && m_height == rhs.m_height && m_name == rhs.m_name; + } + + double m_width; + double m_height; + QString m_name; +}; + +PageSize::PageSize() +{ +} + +PageSize::PageSize(double width, double height, const QString &name) + : d(new PageSizePrivate) +{ + d->m_width = width; + d->m_height = height; + d->m_name = name; +} + +PageSize::PageSize(const PageSize &pageSize) + : d(pageSize.d) +{ +} + +PageSize::~PageSize() +{ +} + +double PageSize::width() const +{ + if (!d) { + return 0; + } + + return d->m_width; +} + +double PageSize::height() const +{ + if (!d) { + return 0; + } + + return d->m_height; +} + +QString PageSize::name() const +{ + if (!d) { + return QString(); + } + + return d->m_name; +} + +bool PageSize::isNull() const +{ + if (!d) { + return true; + } + + return d->m_width == 0 && d->m_height == 0 && d->m_name.isEmpty(); +} + +bool PageSize::operator==(const PageSize &pageSize) const +{ + // 1st: we're null: check if the other is null too + if (!d) { + return !pageSize.d; + } + // 2nd: we're not null, return if the other is null + if (!pageSize.d) { + return false; + } + + // 3rd: normal == check + return *d == *pageSize.d; +} + +bool PageSize::operator!=(const PageSize &pageSize) const +{ + return !operator==(pageSize); +} + +PageSize &PageSize::operator=(const PageSize &pageSize) +{ + if (this == &pageSize) { + return *this; + } + + d = pageSize.d; + return *this; +} diff --git a/core/pagesize.h b/core/pagesize.h new file mode 100644 index 0000000..99f0f19 --- /dev/null +++ b/core/pagesize.h @@ -0,0 +1,80 @@ +/* + SPDX-FileCopyrightText: 2007 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_PAGESIZE_H_ +#define _OKULAR_PAGESIZE_H_ + +#include +#include +#include + +#include "okularcore_export.h" + +namespace Okular +{ +class PageSizePrivate; + +/** + * @short A small class that represents the size of a page. + */ +class OKULARCORE_EXPORT PageSize +{ +public: + typedef QList List; + + /** + * Construct a null page size. + * @see isNull() + */ + PageSize(); + /** + * Construct a page size with the specified @p width and @p height, + * having the ID @p name. + */ + PageSize(double width, double height, const QString &name); + /** + * Copy constructor. + */ + PageSize(const PageSize &pageSize); + ~PageSize(); + + /** + * Returns the width of the page size. + */ + double width() const; + /** + * Returns the height of the page size. + */ + double height() const; + /** + * Returns the ID of the page size. + */ + QString name() const; + + /** + * Whether the page size is null. + */ + bool isNull() const; + + PageSize &operator=(const PageSize &pageSize); + + /** + * Comparison operator. + */ + bool operator==(const PageSize &pageSize) const; + + bool operator!=(const PageSize &pageSize) const; + +private: + /// @cond PRIVATE + friend class PageSizePrivate; + /// @endcond + QSharedDataPointer d; +}; + +} + +#endif diff --git a/core/pagetransition.cpp b/core/pagetransition.cpp new file mode 100644 index 0000000..07ad173 --- /dev/null +++ b/core/pagetransition.cpp @@ -0,0 +1,131 @@ +/* + SPDX-FileCopyrightText: 2005 Tobias Koenig + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +// local includes +#include "pagetransition.h" + +using namespace Okular; + +/** class Okular::PageTransition **/ + +class PageTransition::Private +{ +public: + explicit Private(Type type) + : m_type(type) + , m_duration(1) + , m_alignment(Horizontal) + , m_direction(Inward) + , m_angle(0) + , m_scale(1.0) + , m_rectangular(false) + { + } + + Type m_type; + double m_duration; + Alignment m_alignment; + Direction m_direction; + int m_angle; + double m_scale; + bool m_rectangular; +}; + +PageTransition::PageTransition(Type type) + : d(new Private(type)) +{ +} + +PageTransition::PageTransition(const PageTransition &other) + : d(new Private(*other.d)) +{ +} + +PageTransition &PageTransition::operator=(const PageTransition &other) +{ + if (this == &other) { + return *this; + } + + *d = *other.d; + + return *this; +} + +PageTransition::~PageTransition() +{ + delete d; +} + +PageTransition::Type PageTransition::type() const +{ + return d->m_type; +} + +double PageTransition::duration() const +{ + return d->m_duration; +} + +PageTransition::Alignment PageTransition::alignment() const +{ + return d->m_alignment; +} + +PageTransition::Direction PageTransition::direction() const +{ + return d->m_direction; +} + +int PageTransition::angle() const +{ + return d->m_angle; +} + +double PageTransition::scale() const +{ + return d->m_scale; +} + +bool PageTransition::isRectangular() const +{ + return d->m_rectangular; +} + +void PageTransition::setType(Type type) +{ + d->m_type = type; +} + +void PageTransition::setDuration(double duration) +{ + d->m_duration = duration; +} + +void PageTransition::setAlignment(Alignment alignment) +{ + d->m_alignment = alignment; +} + +void PageTransition::setDirection(Direction direction) +{ + d->m_direction = direction; +} + +void PageTransition::setAngle(int angle) +{ + d->m_angle = angle; +} + +void PageTransition::setScale(double scale) +{ + d->m_scale = scale; +} + +void PageTransition::setIsRectangular(bool rectangular) +{ + d->m_rectangular = rectangular; +} diff --git a/core/pagetransition.h b/core/pagetransition.h new file mode 100644 index 0000000..8f76873 --- /dev/null +++ b/core/pagetransition.h @@ -0,0 +1,136 @@ +/* + SPDX-FileCopyrightText: 2005 Tobias Koenig + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_PAGETRANSITION_H_ +#define _OKULAR_PAGETRANSITION_H_ + +#include "okularcore_export.h" + +namespace Okular +{ +/** + * @short Information object for the transition effect of a page. + * + * This class encapsulates the information about the effect of + * a page transition. It supports mainly the transition effects as + * defined in PDF specification 1.6. + */ +class OKULARCORE_EXPORT PageTransition +{ +public: + /** + * Describes the type of transition effect. + */ + enum Type { Replace, Split, Blinds, Box, Wipe, Dissolve, Glitter, Fly, Push, Cover, Uncover, Fade }; + + /** + * Describes the alignment that is applied to the @ref Type + * of transition effect. + */ + enum Alignment { Horizontal, Vertical }; + + /** + * Describes the direction that is applied to the @ref Type + * of transition effect. + */ + enum Direction { Inward, Outward }; + + /** + * Creates a new page transition of the given @p type. + * + * If no type is given, the normal @ref Replace transition is used. + */ + explicit PageTransition(Type type = Replace); + + /** + * Creates a new page transition from an @p other. + */ + PageTransition(const PageTransition &other); + PageTransition &operator=(const PageTransition &other); + + /** + * Destroys the page transition. + */ + ~PageTransition(); + + /** + * Returns the type of the transition. + */ + Type type() const; + + /** + * Returns the duration of the transition in seconds. + */ + double duration() const; + + /** + * Returns the alignment of the transition. + */ + Alignment alignment() const; + + /** + * Returns the direction of motion of the transition. + */ + Direction direction() const; + + /** + * Returns the angle of rotation of the transition. + */ + int angle() const; + + /** + * Returns the starting or ending scale (Only if type == 'Fly'). + */ + double scale() const; + + /** + * Returns true if the area to be flown is rectangular and opaque (Only if type == 'Fly'). + */ + bool isRectangular() const; + + /** + * Sets the @p type of the transition (@ref Type). + */ + void setType(Type type); + + /** + * Sets the @p duration in seconds for the transition. + */ + void setDuration(double duration); + + /** + * Sets the @p alignment of the transition (@ref Alignment). + */ + void setAlignment(Alignment alignment); + + /** + * Sets the @p direction of the transition (@see Direction). + */ + void setDirection(Direction direction); + + /** + * Sets the moving @p angle of the transition. + */ + void setAngle(int angle); + + /** + * Sets the starting or ending scale of the transition (Only if type == 'Fly'). + */ + void setScale(double scale); + + /** + * Sets whether the area to be flown is rectangular and opaque (Only if type == 'Fly'). + */ + void setIsRectangular(bool rectangular); + +private: + class Private; + Private *const d; +}; + +} + +#endif diff --git a/core/printoptionswidget.cpp b/core/printoptionswidget.cpp new file mode 100644 index 0000000..e43e0a6 --- /dev/null +++ b/core/printoptionswidget.cpp @@ -0,0 +1,33 @@ +/* + SPDX-FileCopyrightText: 2019 Michael Weghorn + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "printoptionswidget.h" + +#include +#include + +#include + +namespace Okular +{ +DefaultPrintOptionsWidget::DefaultPrintOptionsWidget(QWidget *parent) + : PrintOptionsWidget(parent) +{ + setWindowTitle(i18n("Print Options")); + QFormLayout *layout = new QFormLayout(this); + m_ignorePrintMargins = new QComboBox; + // value indicates whether full page is enabled (i.e. print margins ignored) + m_ignorePrintMargins->insertItem(0, i18n("Fit to printable area"), false); + m_ignorePrintMargins->insertItem(1, i18n("Fit to full page"), true); + layout->addRow(i18n("Scale mode:"), m_ignorePrintMargins); +} + +bool DefaultPrintOptionsWidget::ignorePrintMargins() const +{ + return m_ignorePrintMargins->currentData().value(); +} + +} diff --git a/core/printoptionswidget.h b/core/printoptionswidget.h new file mode 100644 index 0000000..cd3ef4c --- /dev/null +++ b/core/printoptionswidget.h @@ -0,0 +1,53 @@ +/* + SPDX-FileCopyrightText: 2019 Michael Weghorn + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef PRINTOPTIONSWIDGET_H +#define PRINTOPTIONSWIDGET_H + +#include + +#include "okularcore_export.h" + +class QComboBox; + +namespace Okular +{ +/** + * @short Abstract base class for an extra print options widget in the print dialog. + */ +class OKULARCORE_EXPORT PrintOptionsWidget : public QWidget +{ + Q_OBJECT +public: + explicit PrintOptionsWidget(QWidget *parent = nullptr) + : QWidget(parent) + { + } + virtual bool ignorePrintMargins() const = 0; +}; + +/** + * @short The default okular extra print options widget. + * + * It just implements the required method 'ignorePrintMargins()' from + * the base class 'PrintOptionsWidget'. + */ +class OKULARCORE_EXPORT DefaultPrintOptionsWidget : public PrintOptionsWidget +{ + Q_OBJECT + +public: + explicit DefaultPrintOptionsWidget(QWidget *parent = nullptr); + + bool ignorePrintMargins() const override; + +private: + QComboBox *m_ignorePrintMargins; +}; + +} + +#endif diff --git a/core/rotationjob.cpp b/core/rotationjob.cpp new file mode 100644 index 0000000..c278fc0 --- /dev/null +++ b/core/rotationjob.cpp @@ -0,0 +1,130 @@ +/* + SPDX-FileCopyrightText: 2006 Tobias Koenig + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "rotationjob_p.h" + +#include + +using namespace Okular; + +RotationJob::RotationJob(const QImage &image, Rotation oldRotation, Rotation newRotation, DocumentObserver *observer) + : ThreadWeaver::QObjectDecorator(new RotationJobInternal(image, oldRotation, newRotation)) + , mObserver(observer) + , m_pd(nullptr) + , mRect(NormalizedRect()) + , mIsPartialUpdate(false) +{ +} + +void RotationJob::setPage(PagePrivate *pd) +{ + m_pd = pd; +} + +void RotationJob::setRect(const NormalizedRect &rect) +{ + mRect = rect; +} + +void RotationJob::setIsPartialUpdate(bool partialUpdate) +{ + mIsPartialUpdate = partialUpdate; +} + +DocumentObserver *RotationJob::observer() const +{ + return mObserver; +} + +PagePrivate *RotationJob::page() const +{ + return m_pd; +} + +NormalizedRect RotationJob::rect() const +{ + return mRect; +} + +bool RotationJob::isPartialUpdate() const +{ + return mIsPartialUpdate; +} + +QTransform RotationJob::rotationMatrix(Rotation from, Rotation to) +{ + QTransform matrix; + + if (from == Rotation0) { + if (to == Rotation90) { + matrix.rotate(90); + } else if (to == Rotation180) { + matrix.rotate(180); + } else if (to == Rotation270) { + matrix.rotate(270); + } + } else if (from == Rotation90) { + if (to == Rotation180) { + matrix.rotate(90); + } else if (to == Rotation270) { + matrix.rotate(180); + } else if (to == Rotation0) { + matrix.rotate(270); + } + } else if (from == Rotation180) { + if (to == Rotation270) { + matrix.rotate(90); + } else if (to == Rotation0) { + matrix.rotate(180); + } else if (to == Rotation90) { + matrix.rotate(270); + } + } else if (from == Rotation270) { + if (to == Rotation0) { + matrix.rotate(90); + } else if (to == Rotation90) { + matrix.rotate(180); + } else if (to == Rotation180) { + matrix.rotate(270); + } + } + + return matrix; +} + +RotationJobInternal::RotationJobInternal(const QImage &image, Rotation oldRotation, Rotation newRotation) + : mImage(image) + , mOldRotation(oldRotation) + , mNewRotation(newRotation) +{ +} + +QImage RotationJobInternal::image() const +{ + return mRotatedImage; +} + +Rotation RotationJobInternal::rotation() const +{ + return mNewRotation; +} + +void RotationJobInternal::run(ThreadWeaver::JobPointer self, ThreadWeaver::Thread *thread) +{ + Q_UNUSED(self); + Q_UNUSED(thread); + + if (mOldRotation == mNewRotation) { + mRotatedImage = mImage; + return; + } + + const QTransform matrix = RotationJob::rotationMatrix(mOldRotation, mNewRotation); + + mRotatedImage = mImage.transformed(matrix); +} + +#include "moc_rotationjob_p.cpp" diff --git a/core/rotationjob_p.h b/core/rotationjob_p.h new file mode 100644 index 0000000..e652f45 --- /dev/null +++ b/core/rotationjob_p.h @@ -0,0 +1,82 @@ +/* + SPDX-FileCopyrightText: 2006 Tobias Koenig + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_ROTATIONJOB_P_H_ +#define _OKULAR_ROTATIONJOB_P_H_ + +#include +#include + +#include +#include + +#include "core/area.h" +#include "core/global.h" + +namespace Okular +{ +class DocumentObserver; +class PagePrivate; + +class RotationJobInternal : public ThreadWeaver::Job +{ + friend class RotationJob; + +public: + QImage image() const; + Rotation rotation() const; + NormalizedRect rect() const; + + RotationJobInternal(const RotationJobInternal &) = delete; + RotationJobInternal &operator=(const RotationJobInternal &) = delete; + +protected: + void run(ThreadWeaver::JobPointer self, ThreadWeaver::Thread *thread) override; + +private: + RotationJobInternal(const QImage &image, Rotation oldRotation, Rotation newRotation); + + const QImage mImage; + Rotation mOldRotation; + Rotation mNewRotation; + QImage mRotatedImage; +}; + +class RotationJob : public ThreadWeaver::QObjectDecorator +{ + Q_OBJECT +public: + RotationJob(const QImage &image, Rotation oldRotation, Rotation newRotation, DocumentObserver *observer); + + void setPage(PagePrivate *pd); + void setRect(const NormalizedRect &rect); + void setIsPartialUpdate(bool partialUpdate); + + QImage image() const + { + return static_cast(job())->image(); + } + Rotation rotation() const + { + return static_cast(job())->rotation(); + } + DocumentObserver *observer() const; + PagePrivate *page() const; + NormalizedRect rect() const; + bool isPartialUpdate() const; + + static QTransform rotationMatrix(Rotation from, Rotation to); + +private: + DocumentObserver *mObserver; + PagePrivate *m_pd; + NormalizedRect mRect; + bool mIsPartialUpdate; +}; + +} + +#endif diff --git a/core/script/builtin.js b/core/script/builtin.js new file mode 100644 index 0000000..c5a17b5 --- /dev/null +++ b/core/script/builtin.js @@ -0,0 +1,647 @@ +/* + SPDX-FileCopyrightText: 2018 Intevation GmbH + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +/* QJSEngine limits what we can do with the global object in C++, so map Doc into this here. */ +{ + const props = Object.getOwnPropertyDescriptors(Doc); + for (prop in props) { + Object.defineProperty(this, prop, props[prop]); + } + for (const name of Object.getOwnPropertyNames(Doc)) { + if (typeof Doc[name] === 'function') { + this.__proto__[name] = Doc[name]; + } + } +} + +/* Builtin functions for Okular's PDF JavaScript interpretation. */ + +/** + * Merge the last change (of a text field) with the uncommitted change + */ +function AFMergeChange( event ) +{ + var start, end; + if ( event.willCommit ) return event.value; + start = (event.selStart >= 0) ? event.value.substring(0, event.selStart) : ""; + end = (event.selEnd >= 0 && event.selEnd <= event.value.length) ? event.value.substring(event.selEnd, event.value.length) : ""; + return start + event.change + end; +} + + +/** AFSimple_Calculate + * + * cFunction is a string that identifies the operation. + * It is one of AVG, SUM, PRD, MIN, MAX + * cFields is an array of the names of the fields used to calculate. + */ +function AFSimple_Calculate( cFunction, cFields ) +{ + var ret = 0; + + if ( cFunction === "PRD" ) + { + ret = 1; + } + + for (i = 0; i < cFields.length; i++) + { + var field = Doc.getField( cFields[i] ); + var val = AFMakeNumber( field.value ); + + if ( cFunction === "SUM" || cFunction === "AVG" ) + { + ret += val; + } + else if ( cFunction === "PRD" ) + { + ret *= val; + } + else if ( cFunction === "MIN" ) + { + if ( i === 0 || val < ret ) + { + ret = val; + } + } + else if ( cFunction === "MAX" ) + { + if ( i === 0 || val > ret ) + { + ret = val; + } + } + } + + if ( cFunction === "AVG" ) + { + ret /= cFields.length; + } + event.value = util.numberToString( ret, "g", 32, "en_US" ).replace(/,/g, ""); +} + + +/** AFNumber_Format + * + * Formats event.value based on parameters. + * + * Parameter description based on Acrobat Help: + * + * nDec is the number of places after the decimal point. + * + * sepStyle is an integer denoting separator style + * 0 => . as decimal separator , as thousand separators => 1,234.56 + * 1 => . as decimal separator no thousand separators => 1234.56 + * 2 => , as decimal separator . as thousand separators => 1.234,56 + * 3 => , as decimal separator no thousand separators => 1234,56 + * + * negStyle is the formatting used for negative numbers: - not implemented. + * 0 = MinusBlack + * 1 = Red + * 2 = ParensBlack + * 3 = ParensRed + * + * currStyle is the currency style - not used. + * + * strCurrency is the currency symbol. + * + * bCurrencyPrepend is true to prepend the currency symbol; + * false to display on the end of the number. + */ +function AFNumber_Format( nDec, sepStyle, negStyle, currStyle, strCurrency, bCurrencyPrepend ) +{ + if ( !event.value ) + { + return; + } + + var ret; + var localized = AFMakeNumber( event.value ); + + if ( sepStyle === 2 || sepStyle === 3 ) + { + // Use de_DE as the locale for the dot separator format + ret = util.numberToString( localized, "f", nDec, 'de_DE' ); + + if ( sepStyle === 3 ) + { + // No thousands separators. Remove all dots from the DE format. + ret = ret.replace( /\./g, '' ); + } + } + else + { + // Otherwise US + ret = util.numberToString( localized, "f", nDec, 'en_US' ); + + if ( sepStyle === 1 ) + { + // No thousands separators. Remove all commas from the US format. + ret = ret.replace( /,/g, '' ); + } + } + + if ( strCurrency ) + { + if ( bCurrencyPrepend ) + { + ret = strCurrency + ret; + } + else + { + ret = ret + strCurrency; + } + } + + event.value = ret; +} + +function AFNumber_Keystroke(nDec, sepStyle, negStyle, currStyle, strCurrency, bCurrencyPrepend) +{ + const completeValue = AFMergeChange(event); + + if (!completeValue) + { + return; + } + + var decSep = "\\."; + if (2 <= sepStyle && sepStyle <= 4) + { + decSep = ","; + } + if (event.willCommit) + { + const COMMIT_NUMBER_KEYSTROKE_RE_STR = "(\\+|\\-)?\\d*" + decSep + "?\\d+$"; + // Check if it is a valid number with a correct decimal separator + const COMMIT_NUMBER_KEYSTROKE_RE = new RegExp(COMMIT_NUMBER_KEYSTROKE_RE_STR); + + event.rc = COMMIT_NUMBER_KEYSTROKE_RE.test(completeValue); + } + else + { + const NOCOMMIT_NUMBER_KEYSTROKE_RE_STR = "^((\\+|\\-)?\\d*" + decSep + "?\\d*)$"; + // Allow some flexibility while typing to allow only the decimal separator + const NOCOMMIT_NUMBER_KEYSTROKE_RE = new RegExp(NOCOMMIT_NUMBER_KEYSTROKE_RE_STR); + event.rc = NOCOMMIT_NUMBER_KEYSTROKE_RE.test(completeValue); + } +} + +function AFMakeNumber(string) +{ + // Converts an input string into a numerical value not considering thousands separator + // Any other character is converted to a ".". This accounts for decimal separators such as ",", "·", "'", etc. + var type = typeof string; + if ( type == "number" ) + return string; + if ( type != "string" ) + return 0; + if (string === "" || !(/\d/.test(string))) + return null; + string = string.replace(/\D/g, '.'); + return Number(string); +} + +/** AFTime_Format + * + * Formats event.value based on parameters. + * + * Parameter description based on Acrobat Help: + * + * ptf is the number which should be used to format the time, is one of: + * 0 = 24HR_MM [ 14:30 ] + * 1 = 12HR_MM [ 2:30 PM ] + * 2 = 24HR_MM_SS [ 14:30:15 ] + * 3 = 12HR_MM_SS [ 2:30:15 PM ] + */ +function AFTime_Format( ptf ) +{ + if( !event.value ) + { + return; + } + var tokens = event.value.split( /\D/ ); + var invalidDate = false; + + // Remove empty elements of the array + tokens = tokens.filter(Boolean); + + if( tokens.length < 2 ) + invalidDate = true; + + // Check if every number is valid + for( i = 0 ; i < tokens.length ; ++i ) + { + if( isNaN( tokens[i] ) ) + { + invalidDate = true; + break; + } + switch( i ) + { + case 0: + { + if( tokens[i] > 23 || tokens[i] < 0 ) + invalidDate = true; + break; + } + case 1: + case 2: + { + if( tokens[i] > 59 || tokens[i] < 0 ) + invalidDate = true; + break; + } + } + } + if( invalidDate ) + { + event.value = ""; + return; + } + + // Make it of length 3, since we use hh, mm, ss + while( tokens.length < 3 ) + tokens.push( 0 ); + + // We get pm string in the user locale to search. + var dummyPm = util.printd( 'ap', new Date( 2018, 5, 11, 23, 11, 11) ).toLocaleLowerCase(); + // Add 12 to time if it's PM and less than 12 + if( event.value.toLocaleLowerCase().search( dummyPm ) !== -1 && Number( tokens[0] ) < 12 ) + tokens[0] = Number( tokens[0] ) + 12; + + // We use a random date, because we only care about time. + var date = new Date( 2019, 7, 12, tokens[0], tokens[1], tokens[2] ); + var ret; + switch( ptf ) + { + case 0: + ret = util.printd( "hh:MM", date ); + break; + case 1: + ret = util.printd( "h:MM ap", date ); + break; + case 2: + ret = util.printd( "hh:MM:ss", date ); + break; + case 3: + ret = util.printd( "h:MM:ss ap", date ); + break; + } + event.value = ret; +} + +/** AFTime_Keystroke + * + * Checks if the string in event.value is valid. + */ +function AFTime_Keystroke( ptf ) +{ + var completeValue = AFMergeChange(event); + if ( !completeValue ) + { + return; + } + if ( event.willCommit ) + { + const COMMIT_TIME_RE = /^(0?[0-9]|1[0-9]|2[0-3]):(0?[0-9]|[1-5][0-9])(:(0?[0-9]|[1-5][0-9]))?(\s*(pm|am))?$/i; + // HH:MM is required at minimum + // the seconds are optional to have HH:MM:SS + // the AM/PM are optional as well + // Any number of spaces are allowed between the time and AM/PM to allow for compatibility with other pdf viewers. + event.rc = COMMIT_TIME_RE.test(completeValue); + } + else + { + // during value entry, check if entry contains only allowed characters. + const ALLOWED_CHARS = "0-9:ampAMP\\s"; + const ALLOWED_CHARS_TIME_RE = new RegExp(`[^${ALLOWED_CHARS}]`); // match any character not in the character set + + event.rc = !ALLOWED_CHARS_TIME_RE.test(completeValue); + } +} + +/** AFSpecial_Format + * psf is the type of formatting to use: + * 0 = zip code + * 1 = zip + 4 + * 2 = phone + * 3 = SSN + * + * These are all in the US format. +*/ +function AFSpecial_Format( psf ) +{ + if( !event.value || psf == 0 ) + { + return; + } + + var ret = event.value; + ret = ret.replace(/\D/g, ''); + if( psf === 1 ) + ret = ret.substr( 0, 5 ) + '-' + ret.substr( 5, 4 ); + + else if( psf === 2 ) + ret = '(' + ret.substr( 0, 3 ) + ') ' + ret.substr( 3, 3 ) + '-' + ret.substr( 6, 4 ); + + else if( psf === 3 ) + ret = ret.substr( 0, 3 ) + '-' + ret.substr( 3, 2 ) + '-' + ret.substr( 5, 4 ); + + event.value = ret; +} + +/** AFSpecial_Keystroke + * + * Checks if the String in event.value is valid. + * + * Parameter description based on Acrobat Help: + * + * psf is the type of formatting to use: + * 0 = zip code + * 1 = zip + 4 + * 2 = phone + * 3 = SSN + * + * These are all in the US format. We check to see if only numbers are inserted and the length of the string. +*/ +function AFSpecial_Keystroke( psf ) +{ + var completeValue = AFMergeChange( event ); + if ( !completeValue ) + { + return; + } + + const ZIP_NOCOMMIT_RE = /^\d{0,5}$/; + const ZIP4_NOCOMMIT_RE = /^\d{0,5}?( |\.|-)?\d{0,4}$/; + const PHONE_NOCOMMIT_RE = /^\(?\d{0,3}\)?( |\.|-)?\d{0,3}( |\.|-)?\d{0,4}$/; // optional "()", ".", "-" and " " are allowed during keystroke for ease of data entry + const SSN_NOCOMMIT_RE = /^\d{0,3}( |\.|-)?\d{0,2}( |\.|-)?\d{0,4}$/; // optional separators allowed during keystroke + const ZIP_COMMIT_RE = /^\d{5}$/; // 12345 + const ZIP4_COMMIT_RE = /^\d{5}( |\.|-)?\d{4}$/; // 12345-6789, 12345 6789, 12345.6789 + const PHONE_COMMIT_RE = /^(\d{3}|\(\d{3}\))( |\.|-)?\d{3}( |\.|-)?\d{4}$/; // 123 456 7890, (123) 456-7890, 1234567890, 123-456-7890, 123.456-7890, etc + const SSN_COMMIT_RE = /^\d{3}( |\.|-)?\d{2}( |\.|-)?\d{4}$/; // 123-45.6789, 123 45 6789, 123456789, 123-45-6789, etc + + var verifyingRe; + switch( psf ) + { + // zip code + case 0: + { + verifyingRe = event.willCommit ? ZIP_COMMIT_RE : ZIP_NOCOMMIT_RE; + break; + } + // zip + 4 + case 1: + { + verifyingRe = event.willCommit ? ZIP4_COMMIT_RE : ZIP4_NOCOMMIT_RE; + break; + } + // phone + case 2: + { + verifyingRe = event.willCommit ? PHONE_COMMIT_RE : PHONE_NOCOMMIT_RE; + break; + } + // SSN + case 3: + { + verifyingRe = event.willCommit ? SSN_COMMIT_RE : SSN_NOCOMMIT_RE; + } + } + event.rc = verifyingRe.test(completeValue); +} + +/** AFPercent_Format + * + * Formats event.value in the correct percentage format as per the given parameters + * + * Parameter description based on Adobe's documentation and observed behavior in Adobe Reader + * + * nDec is the number of places after the decimal point. + * + * sepStyle is an integer denoting separator style + * 0 => . as decimal separator , as thousand separators => 1,234.56% + * 1 => . as decimal separator no thousand separators => 1234.56% + * 2 => , as decimal separator . as thousand separators => 1.234,56% + * 3 => , as decimal separator no thousand separators => 1234,56 + * 4 => . as decimal separator ’ as thousand separators => 1’234.56% + */ +function AFPercent_Format( nDec, sepStyle ) +{ + if ( !event.value ) + { + return; + } + + var ret; + var percentValue = AFMakeNumber( event.value ) * 100; + if ( sepStyle === 2 || sepStyle === 3 ) + { + // Use de_DE as the locale for the dot separator format + ret = util.numberToString( percentValue, "f", nDec, 'de_DE' ); + + if ( sepStyle === 3 ) + { + // No thousands separators. Remove all dots from the DE format. + ret = ret.replace( /\./g, '' ); + } + } + else if ( sepStyle === 0 || sepStyle === 1 ) + { + // Otherwise US + ret = util.numberToString( percentValue, "f", nDec, 'en_US' ); + + if ( sepStyle === 1 ) + { + // No thousands separators. Remove all commas from the US format. + ret = ret.replace( /,/g, '' ); + } + } + else if ( sepStyle === 4 ) + { + ret = util.numberToString( percentValue, "f", nDec, 'de_CH'); + } + ret += "%"; + event.value = ret; +} + +function AFPercent_Keystroke( nDec, sepStyle ) +{ + AFNumber_Keystroke(nDec, sepStyle); +} + +function parseDate( inputString, cFormat ) +{ + // Remove any time information. We can add this later on + const TIME_RE = /\b(\d{1,2}):(\d{1,2})(?::(\d{1,2}))?.*?\s*([ap]m)?\b/; + var timeMatches = inputString.match(TIME_RE) || []; + var [hh = "", mm = "", ss = "", ampm = ""] = timeMatches.slice(1); + var timeCleanedValue = inputString.replace(TIME_RE, ''); + + // Get the month if present in words in the input. Ex. : 13 August 2024 + const monthList = util.getMonths(); + const matchedMonth = monthList.find( + month => (timeCleanedValue.toUpperCase().includes(month)) + ) || ""; + + // Clean cFormat for generating Date Component Order (DCO). A user input should be in same order as required format. + // Remove days of week from format + var cleanedFormatForDCO = cFormat.replace(/d{3,}/g, ''); + // If month name (in words) is already matched, then remove it + if ( matchedMonth !== "" ) + { + cleanedFormatForDCO = cleanedFormatForDCO.replace(/m+/g, ''); + } + + // Generate Date Component Order + const formattingCharacters = "dmy"; // These are all possible characters that could be present + var dateComponentOrder = ""; + for ( var i = 0; i < cleanedFormatForDCO.length; i++ ) + { + if ( formattingCharacters.includes(cleanedFormatForDCO[i]) && (!dateComponentOrder.includes(cleanedFormatForDCO[i])) ) + { + dateComponentOrder += cleanedFormatForDCO[i]; + } + } + + // Get all the numerical tokens from the input + var tokens = timeCleanedValue.match(/(\d+)/g) || []; + if ( tokens.length < dateComponentOrder.length ) + { + return null; + } + + const y_count = ( cFormat.match(/y/g) || [] ).length; + var componentItemMapping = {}; + + for ( var i = 0; i < dateComponentOrder.length; i++ ) + { + // Date cannot be completely described if format requires yyyy and user inputs yy or y. + // If this is the case, automatically a bad input. + if ( dateComponentOrder[i] === 'y' && tokens[i].length < y_count ) + { + return null; + } + componentItemMapping[dateComponentOrder[i]] = tokens[i]; + } + + var today = new Date(); + var d = componentItemMapping["d"] ?? "01"; // Default date is the first of whatever month + var m = componentItemMapping["m"] ?? "01"; // Let's take January as default. If not required in cFormat, then we don't care. + var y = componentItemMapping["y"] ?? String(today.getFullYear()); + + if ( matchedMonth !== "" ) + { + m = String(parseInt(monthList.indexOf(matchedMonth)/2) + 1); // divide by 2 to get actual month cardinality from month list array => [JANUARY, JAN, FEBRUARY, FEB, ...] + } + + // Use current century if no details are provided for calculation of day of the week (dddd). + var dateString = y.padStart(4, '2000') + "/" + m.padStart(2, '0') + "/" + d.padStart(2, '0'); + + if ( hh && mm ) + { + if ( ampm.toUpperCase() === "PM" && parseInt(hh) < 12 ) + { + hh = String(parseInt(hh)+12); + } + if ( ampm.toUpperCase() === "AM" && parseInt(hh) === 12 ) + { + hh = "0"; + } + dateString += " " + hh.padStart(2, '0') + ":" + mm.padStart(2, '0'); + } + if ( ss ) + { + dateString += ":" + ss.padStart(2, '0'); + } + var date = new Date(dateString); + if ( isNaN(date.getTime()) ) + { + return null; + } + return date; +} + +function AFDate_FormatEx( cFormat ) +{ + if ( !event.value ) + { + return; + } + var date = parseDate(event.value, cFormat); + if ( date === null ) + { + return; + } + else + { + event.value = util.printd(cFormat, date); + } +} + +function AFDate_KeystrokeEx( cFormat ) +{ + var completeValue = AFMergeChange( event ); + if ( !completeValue ){ + return; + } + + if ( event.willCommit ) { + + var date = parseDate(completeValue, cFormat); + if ( date === null ) + { + event.rc = false; + } + } +} + +app.popUpMenuEx = function() { + return app.okular_popUpMenuEx(arguments); +} + +app.popUpMenu = function() { + // Convert arguments like this: + // app.popUpMenu(["Fruits","Apples","Oranges"], "-","Beans","Corn"); + // into this: + // app.popUpMenuEx( + // {cName:"Fruits", oSubMenu:[ + // {cName:"Apples"}, + // {cName:"Oranges"} + // ]}, + // {cName:"-"}, + // {cName:"Beans"}, + // {cName:"Corn"} + // ); + function convertArgument(arg) { + var exArguments = []; + + for (element of arg) { + var newElement = null; + + if (Array.isArray(element) && element.length > 0) { + newElement = { + cName: element[0], + oSubMenu: convertArgument(element.slice(1)) + }; + } else if (!Array.isArray(element)) { + newElement = { + cName: element + }; + } + + if (newElement !== null) + exArguments.push(newElement); + } + + return exArguments; + } + + var exArguments = convertArgument(arguments); + var result = app.okular_popUpMenuEx(exArguments); + return result; +} \ No newline at end of file diff --git a/core/script/builtin.qrc b/core/script/builtin.qrc new file mode 100644 index 0000000..9c83d4f --- /dev/null +++ b/core/script/builtin.qrc @@ -0,0 +1,5 @@ + + + builtin.js + + diff --git a/core/script/event.cpp b/core/script/event.cpp new file mode 100644 index 0000000..6458bea --- /dev/null +++ b/core/script/event.cpp @@ -0,0 +1,328 @@ +/* + SPDX-FileCopyrightText: 2018 Intevation GmbH + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "event_p.h" +#include + +#include "../form.h" + +using namespace Okular; + +class Event::Private +{ +public: + explicit Private(EventType eventType) + : m_target(nullptr) + , m_targetPage(nullptr) + , m_source(nullptr) + , m_sourcePage(nullptr) + , m_eventType(eventType) + , m_returnCode(false) + , m_shiftModifier(false) + , m_willCommit(false) + , m_selStart(-1) + , m_selEnd(-1) + { + } + + void *m_target; + Page *m_targetPage; + FormField *m_source; + Page *m_sourcePage; + EventType m_eventType; + QString m_targetName; + QVariant m_value; + bool m_returnCode; + bool m_shiftModifier; + bool m_willCommit; + QString m_change; + int m_selStart; + int m_selEnd; +}; + +Event::Event() + : d(new Private(UnknownEvent)) +{ +} + +Event::Event(EventType eventType) + : d(new Private(eventType)) +{ +} + +Event::EventType Event::eventType() const +{ + return d->m_eventType; +} + +QString Event::name() const +{ + switch (d->m_eventType) { + case FieldCalculate: + return QStringLiteral("Calculate"); + case FieldFormat: + return QStringLiteral("Format"); + case FieldKeystroke: + return QStringLiteral("Keystroke"); + case FieldFocus: + return QStringLiteral("Focus"); + case FieldValidate: + return QStringLiteral("Validate"); + case DocOpen: + return QStringLiteral("Open"); + case DocWillClose: + return QStringLiteral("WillClose"); + case DocWillSave: + return QStringLiteral("WillSave"); + case DocWillPrint: + return QStringLiteral("WillPrint"); + case DocDidSave: + return QStringLiteral("DidSave"); + case DocDidPrint: + return QStringLiteral("DidPrint"); + case FieldMouseUp: + return QStringLiteral("MouseUp"); + case FieldMouseDown: + return QStringLiteral("MouseDown"); + case FieldMouseEnter: + return QStringLiteral("MouseEnter"); + case FieldMouseExit: + return QStringLiteral("MouseExit"); + case UnknownEvent: + default: + return QStringLiteral("Unknown"); + } +} + +QString Event::type() const +{ + switch (d->m_eventType) { + case FieldCalculate: + case FieldFormat: + case FieldKeystroke: + case FieldFocus: + case FieldValidate: + case FieldMouseUp: + case FieldMouseDown: + case FieldMouseEnter: + case FieldMouseExit: + return QStringLiteral("Field"); + case DocOpen: + case DocWillClose: + case DocWillSave: + case DocWillPrint: + case DocDidSave: + case DocDidPrint: + return QStringLiteral("Doc"); + case UnknownEvent: + default: + return QStringLiteral("Unknown"); + } +} + +QString Event::targetName() const +{ + if (!d->m_targetName.isNull()) { + return d->m_targetName; + } + + return QStringLiteral("JavaScript for: ") + type() + name(); +} + +void Event::setTargetName(const QString &val) +{ + d->m_targetName = val; +} + +FormField *Event::source() const +{ + return d->m_source; +} + +void Event::setSource(FormField *val) +{ + d->m_source = val; +} + +Page *Event::sourcePage() const +{ + return d->m_sourcePage; +} + +void Event::setSourcePage(Page *val) +{ + d->m_sourcePage = val; +} + +void *Event::target() const +{ + return d->m_target; +} + +void Event::setTarget(void *target) +{ + d->m_target = target; +} + +Page *Event::targetPage() const +{ + return d->m_targetPage; +} + +void Event::setTargetPage(Page *val) +{ + d->m_targetPage = val; +} + +QVariant Event::value() const +{ + return d->m_value; +} + +void Event::setValue(const QVariant &val) +{ + d->m_value = val; +} + +bool Event::returnCode() const +{ + return d->m_returnCode; +} + +void Event::setReturnCode(bool returnCode) +{ + d->m_returnCode = returnCode; +} + +bool Event::shiftModifier() const +{ + return d->m_shiftModifier; +} + +void Event::setShiftModifier(bool shiftModifier) +{ + d->m_shiftModifier = shiftModifier; +} + +bool Event::willCommit() const +{ + return d->m_willCommit; +} + +void Event::setWillCommit(bool willCommit) +{ + d->m_willCommit = willCommit; +} + +QString Event::change() const +{ + return d->m_change; +} + +void Event::setChange(const QString &change) +{ + d->m_change = change; +} + +int Event::selStart() const +{ + return d->m_selStart; +} + +void Event::setSelStart(const int selStart) +{ + d->m_selStart = selStart; +} + +int Event::selEnd() const +{ + return d->m_selEnd; +} + +void Event::setSelEnd(const int selEnd) +{ + d->m_selEnd = selEnd; +} + +// static +std::shared_ptr Event::createFormCalculateEvent(FormField *target, Page *targetPage, FormField *source, Page *sourcePage, const QString &targetName) +{ + std::shared_ptr ret(new Event(Event::FieldCalculate)); + ret->setSource(source); + ret->setSourcePage(sourcePage); + ret->setTarget(target); + ret->setTargetPage(targetPage); + ret->setTargetName(targetName); + + ret->setValue(target->value()); + return ret; +} + +// static +std::shared_ptr Event::createFormatEvent(FormField *target, Page *targetPage, const QString &targetName) +{ + std::shared_ptr ret(new Event(Event::FieldFormat)); + ret->setTarget(target); + ret->setTargetPage(targetPage); + ret->setTargetName(targetName); + + ret->setValue(target->value()); + return ret; +} + +// static +std::shared_ptr Event::createKeystrokeEvent(FormField *target, Page *targetPage) +{ + std::shared_ptr ret(new Event(Event::FieldKeystroke)); + ret->setTarget(target); + ret->setTargetPage(targetPage); + + ret->setReturnCode(true); + ret->setValue(target->value()); + return ret; +} + +std::shared_ptr Event::createFormFocusEvent(FormField *target, Page *targetPage, const QString &targetName) +{ + std::shared_ptr ret(new Event(Event::FieldFocus)); + ret->setTarget(target); + ret->setTargetPage(targetPage); + ret->setTargetName(targetName); + ret->setShiftModifier(QApplication::keyboardModifiers() & Qt::ShiftModifier); + + ret->setValue(target->value()); + return ret; +} + +std::shared_ptr Event::createFormValidateEvent(FormField *target, Page *targetPage, const QString &targetName) +{ + std::shared_ptr ret(new Event(Event::FieldValidate)); + ret->setTarget(target); + ret->setTargetPage(targetPage); + ret->setTargetName(targetName); + ret->setShiftModifier(QApplication::keyboardModifiers() & Qt::ShiftModifier); + + ret->setValue(target->value()); + ret->setReturnCode(true); + return ret; +} + +std::shared_ptr Event::createFieldMouseEvent(FormField *target, Page *targetPage, Event::EventType fieldMouseEventType) +{ + Q_ASSERT(fieldMouseEventType >= Okular::Event::FieldMouseDown && fieldMouseEventType <= Okular::Event::FieldMouseUp); + std::shared_ptr ret = std::make_shared(fieldMouseEventType); + ret->setTarget(target); + ret->setTargetPage(targetPage); + ret->setShiftModifier(QApplication::keyboardModifiers() & Qt::ShiftModifier); + return ret; +} + +std::shared_ptr Event::createDocEvent(Event::EventType type) +{ + std::shared_ptr ret = std::make_shared(type); + // TODO set target name for DocOpen event only. + return ret; +} diff --git a/core/script/event_p.h b/core/script/event_p.h new file mode 100644 index 0000000..907496d --- /dev/null +++ b/core/script/event_p.h @@ -0,0 +1,135 @@ +/* + SPDX-FileCopyrightText: 2018 Intevation GmbH + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef OKULAR_SCRIPT_EVENT_P_H +#define OKULAR_SCRIPT_EVENT_P_H + +#include +#include + +#include + +namespace Okular +{ +class FormField; +class Page; + +/** + * @short A JavaScript Event Object data container. + * + * Object to represent a JavaScript Event Object as described in the + * Acrobat JavaScript Scripting Reference. + * + * The implementation is currently limited. To implement support + * for a new event create the according data fields / getters + * and setters and update the handling in js_event + * accordingly. + * + * See Acrobat JavaScript Scripting Reference for the meaning + * the fields and add getter / setter according for the + * event you wish to implement. + */ +class Event +{ +private: + Event(); + +public: + enum EventType { + UnknownEvent, /// < Unknown + AppInit, /// < Not implemented. + BatchExec, /// < Not implemented. + BookmarkMouseUp, /// < Not implemented. + ConsoleExec, /// < Not implemented. + DocDidPrint, /// < When a document is printed. + DocDidSave, /// < When a document is saved. + DocOpen, /// < This event is triggered when a document is opened. The document level script functions are scanned and any exposed scripts are executed + DocWillClose, /// < When a document is about to be closed. + DocWillPrint, /// < When a document is about to be printed. + DocWillSave, /// < When a document is about to be saved. + ExternalExec, /// < Not implemented. + FieldBlur, /// < Not implemented. + FieldCalculate, /// < This event is defined in a field re-calculation. + FieldFocus, /// < This event is defined when the field gains or loses focus. + FieldFormat, /// < When a format action is executed + FieldKeystroke, /// < Checks if the entered value is valid. + FieldMouseDown, /// < This event is the result of a mouse down on a field. + FieldMouseEnter, /// < This event is the result of mouse entering in a field. + FieldMouseExit, /// < This event is the result of mouse exiting from a field. + FieldMouseUp, /// < This event is the result of a mouse up on a field. + /* Validates the field after every change is committed + * (clicked outside or tabbed to another field). + * The enter event is not handled + */ + FieldValidate, + LinkMouseUp, /// < Not implemented. + MenuExec, /// < Not implemented. + PageOpen, /// < Not implemented. + PageClose, /// < Not implemented. + }; + + explicit Event(EventType type); + + /** One of the defined EventTypes */ + EventType eventType() const; + + QString name() const; + + QString type() const; + + QString targetName() const; + void setTargetName(const QString &val); + + Page *targetPage() const; + void setTargetPage(Page *val); + + FormField *source() const; + void setSource(FormField *val); + + Page *sourcePage() const; + void setSourcePage(Page *val); + + void *target() const; + void setTarget(void *target); + + QVariant value() const; + void setValue(const QVariant &val); + + bool returnCode() const; + void setReturnCode(bool returnCode); + + // Checks if the shift key was down when creating the event. + bool shiftModifier() const; + void setShiftModifier(bool shiftModifier); + + bool willCommit() const; + void setWillCommit(bool willCommit); + + QString change() const; + void setChange(const QString &change); + + int selStart() const; + void setSelStart(const int selStart); + + int selEnd() const; + void setSelEnd(const int selEnd); + + static std::shared_ptr createFormCalculateEvent(FormField *target, Page *targetPage, FormField *source = nullptr, Page *sourcePage = nullptr, const QString &targetName = QString()); + static std::shared_ptr createFormatEvent(FormField *target, Page *targetPage, const QString &targetName = QString()); + static std::shared_ptr createKeystrokeEvent(FormField *target, Page *targetPage); + static std::shared_ptr createFormFocusEvent(FormField *target, Page *targetPage, const QString &targetName = QString()); + static std::shared_ptr createFormValidateEvent(FormField *target, Page *targetPage, const QString &targetName = QString()); + static std::shared_ptr createFieldMouseEvent(FormField *target, Page *targetPage, Event::EventType fieldMouseEventType); + static std::shared_ptr createDocEvent(Event::EventType type); + +private: + class Private; + std::shared_ptr d; + Q_DISABLE_COPY(Event) +}; + +} // namespace Okular +#endif // OKULAR_SCRIPT_EVENT_P_H diff --git a/core/script/executor_js.cpp b/core/script/executor_js.cpp new file mode 100644 index 0000000..f4787eb --- /dev/null +++ b/core/script/executor_js.cpp @@ -0,0 +1,126 @@ +/* + SPDX-FileCopyrightText: 2008 Pino Toscano + SPDX-FileCopyrightText: 2008 Harri Porten + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "config-okular.h" +#include "executor_js_p.h" + +#include "../debug_p.h" +#include "../document_p.h" + +#include "event_p.h" +#include "js_app_p.h" +#include "js_console_p.h" +#include "js_data_p.h" +#include "js_display_p.h" +#include "js_document_p.h" +#include "js_event_p.h" +#include "js_field_p.h" +#include "js_fullscreen_p.h" +#include "js_global_p.h" +#include "js_ocg_p.h" +#include "js_spell_p.h" +#include "js_util_p.h" + +#include +#include +#include +#include +#include + +using namespace Okular; + +class Okular::ExecutorJSPrivate +{ +public: + explicit ExecutorJSPrivate(DocumentPrivate *doc) + : m_doc(doc) + { + initTypes(); + } + ~ExecutorJSPrivate() + { + m_watchdogTimer->deleteLater(); + m_watchdogThread.quit(); + m_watchdogThread.wait(); + } + + void initTypes(); + + void updateEvent(); + + DocumentPrivate *m_doc; + QJSEngine m_interpreter; + + QThread m_watchdogThread; + QTimer *m_watchdogTimer = nullptr; + + QStack m_events; +}; + +void ExecutorJSPrivate::initTypes() +{ + m_watchdogThread.start(); + m_watchdogTimer = new QTimer; + m_watchdogTimer->setInterval(std::chrono::seconds(2)); // max 2 secs allowed + m_watchdogTimer->setSingleShot(true); + m_watchdogTimer->moveToThread(&m_watchdogThread); + QObject::connect(m_watchdogTimer, &QTimer::timeout, &m_interpreter, [this]() { m_interpreter.setInterrupted(true); }, Qt::DirectConnection); + + m_interpreter.globalObject().setProperty(QStringLiteral("app"), m_interpreter.newQObject(new JSApp(m_doc, m_watchdogTimer))); + m_interpreter.globalObject().setProperty(QStringLiteral("console"), m_interpreter.newQObject(new JSConsole)); + m_interpreter.globalObject().setProperty(QStringLiteral("Doc"), m_interpreter.newQObject(new JSDocument(m_doc))); + m_interpreter.globalObject().setProperty(QStringLiteral("display"), m_interpreter.newQObject(new JSDisplay)); + m_interpreter.globalObject().setProperty(QStringLiteral("spell"), m_interpreter.newQObject(new JSSpell)); + m_interpreter.globalObject().setProperty(QStringLiteral("util"), m_interpreter.newQObject(new JSUtil)); + m_interpreter.globalObject().setProperty(QStringLiteral("global"), m_interpreter.newQObject(new JSGlobal)); +} + +void ExecutorJSPrivate::updateEvent() +{ + if (!m_events.isEmpty()) { + Event *event = m_events.top(); + const auto eventVal = event ? m_interpreter.newQObject(new JSEvent(event)) : QJSValue(QJSValue::UndefinedValue); + m_interpreter.globalObject().setProperty(QStringLiteral("event"), eventVal); + } else { + m_interpreter.globalObject().setProperty(QStringLiteral("event"), QJSValue(QJSValue::UndefinedValue)); + } +} + +ExecutorJS::ExecutorJS(DocumentPrivate *doc) + : d(new ExecutorJSPrivate(doc)) +{ +} + +ExecutorJS::~ExecutorJS() +{ + JSField::clearCachedFields(); + JSApp::clearCachedFields(); + delete d; +} + +void ExecutorJS::execute(const QString &script, Event *event) +{ + d->m_events.push(event); + d->updateEvent(); + + QMetaObject::invokeMethod(d->m_watchdogTimer, qOverload<>(&QTimer::start)); + d->m_interpreter.setInterrupted(false); + auto result = d->m_interpreter.evaluate(script, QStringLiteral("okular.js")); + QMetaObject::invokeMethod(d->m_watchdogTimer, qOverload<>(&QTimer::stop)); + + if (result.isError()) { + qCDebug(OkularCoreDebug) << "JS exception" << result.toString() << "(line " << result.property(QStringLiteral("lineNumber")).toInt() << ")"; + } else { + qCDebug(OkularCoreDebug) << "result:" << result.toString(); + + if (event) { + qCDebug(OkularCoreDebug) << "Event Result:" << event->name() << event->type() << "value:" << event->value(); + } + } + d->m_events.pop(); + d->updateEvent(); +} diff --git a/core/script/executor_js_p.h b/core/script/executor_js_p.h new file mode 100644 index 0000000..e4776bc --- /dev/null +++ b/core/script/executor_js_p.h @@ -0,0 +1,36 @@ +/* + SPDX-FileCopyrightText: 2008 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef OKULAR_SCRIPT_EXECUTOR_JS_P_H +#define OKULAR_SCRIPT_EXECUTOR_JS_P_H + +class QString; + +namespace Okular +{ +class DocumentPrivate; +class ExecutorJSPrivate; +class Event; + +class ExecutorJS +{ +public: + explicit ExecutorJS(DocumentPrivate *doc); + ~ExecutorJS(); + + ExecutorJS(const ExecutorJS &) = delete; + ExecutorJS &operator=(const ExecutorJS &) = delete; + + void execute(const QString &script, Event *event); + +private: + friend class ExecutorJSPrivate; + ExecutorJSPrivate *d; +}; + +} + +#endif diff --git a/core/script/js_app.cpp b/core/script/js_app.cpp new file mode 100644 index 0000000..001ba31 --- /dev/null +++ b/core/script/js_app.cpp @@ -0,0 +1,408 @@ +/* + SPDX-FileCopyrightText: 2008 Pino Toscano + SPDX-FileCopyrightText: 2008 Harri Porten + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "js_app_p.h" + +#include + +#include +#include + +#include +#include +#include +#include +#include + +#include "../document_p.h" +#include "../scripter.h" +#include "config-okular.h" +#include "js_fullscreen_p.h" + +using namespace Okular; + +#define OKULAR_TIMERID QStringLiteral("okular_timerID") + +typedef QHash TimerCache; +Q_GLOBAL_STATIC(TimerCache, g_timerCache) + +// the acrobat version we fake +static const double fake_acroversion = 8.00; + +// The property used to hold the value to return from app.popUpMenuEx +static const char *kResultProperty = "result"; + +static const struct FakePluginInfo { + const char *name; + bool certified; + bool loaded; + const char *path; +} s_fake_plugins[] = {{"Annots", true, true, ""}, {"EFS", true, true, ""}, {"EScript", true, true, ""}, {"Forms", true, true, ""}, {"ReadOutLoud", true, true, ""}, {"WebLink", true, true, ""}}; +static const int s_num_fake_plugins = sizeof(s_fake_plugins) / sizeof(s_fake_plugins[0]); + +int JSApp::formsVersion() const +{ + // faking a bit... + return fake_acroversion; +} + +QString JSApp::language() const +{ + QLocale locale; + QString lang = QLocale::languageToString(locale.language()); + QString country = QLocale::territoryToString(locale.territory()); + QString acroLang = QStringLiteral("ENU"); + if (lang == QLatin1String("da")) { + acroLang = QStringLiteral("DAN"); // Danish + } else if (lang == QLatin1String("de")) { + acroLang = QStringLiteral("DEU"); // German + } else if (lang == QLatin1String("en")) { + acroLang = QStringLiteral("ENU"); // English + } else if (lang == QLatin1String("es")) { + acroLang = QStringLiteral("ESP"); // Spanish + } else if (lang == QLatin1String("fr")) { + acroLang = QStringLiteral("FRA"); // French + } else if (lang == QLatin1String("it")) { + acroLang = QStringLiteral("ITA"); // Italian + } else if (lang == QLatin1String("ko")) { + acroLang = QStringLiteral("KOR"); // Korean + } else if (lang == QLatin1String("ja")) { + acroLang = QStringLiteral("JPN"); // Japanese + } else if (lang == QLatin1String("nl")) { + acroLang = QStringLiteral("NLD"); // Dutch + } else if (lang == QLatin1String("pt") && country == QLatin1String("BR")) { + acroLang = QStringLiteral("PTB"); // Brazilian Portuguese + } else if (lang == QLatin1String("fi")) { + acroLang = QStringLiteral("SUO"); // Finnish + } else if (lang == QLatin1String("sv")) { + acroLang = QStringLiteral("SVE"); // Swedish + } else if (lang == QLatin1String("zh") && country == QLatin1String("CN")) { + acroLang = QStringLiteral("CHS"); // Chinese Simplified + } else if (lang == QLatin1String("zh") && country == QLatin1String("TW")) { + acroLang = QStringLiteral("CHT"); // Chinese Traditional + } + return acroLang; +} + +int JSApp::numPlugIns() const +{ + return s_num_fake_plugins; +} + +QString JSApp::platform() const +{ +#if defined(Q_OS_WIN) + return QString::fromLatin1("WIN"); +#elif defined(Q_OS_MAC) + return QString::fromLatin1("MAC"); +#else + return QStringLiteral("UNIX"); +#endif +} + +QJSValue JSApp::plugIns() const +{ + QJSValue plugins = qjsEngine(this)->newArray(s_num_fake_plugins); + for (int i = 0; i < s_num_fake_plugins; ++i) { + const FakePluginInfo &info = s_fake_plugins[i]; + QJSValue plugin = qjsEngine(this)->newObject(); + plugin.setProperty(QStringLiteral("certified"), info.certified); + plugin.setProperty(QStringLiteral("loaded"), info.loaded); + plugin.setProperty(QStringLiteral("name"), info.name); + plugin.setProperty(QStringLiteral("path"), info.path); + plugin.setProperty(QStringLiteral("version"), fake_acroversion); + plugins.setProperty(i, plugin); + } + return plugins; +} + +QStringList JSApp::printColorProfiles() const +{ + return QStringList(); +} + +QStringList JSApp::printerNames() const +{ + return QStringList(); +} + +QString JSApp::viewerType() const +{ + // faking a bit... + return QStringLiteral("Reader"); +} + +QString JSApp::viewerVariation() const +{ + // faking a bit... + return QStringLiteral("Reader"); +} + +int JSApp::viewerVersion() const +{ + // faking a bit... + return fake_acroversion; +} + +/* + Alert function defined in the reference, it shows a Dialog Box with options. + app.alert() +*/ +int JSApp::alert(const QJSValue &arguments) +{ + const auto cMsg = arguments.property(QStringLiteral("cMsg")).toString(); + const auto nIcon = arguments.property(QStringLiteral("nIcon")).toInt(); + const auto nType = arguments.property(QStringLiteral("nType")).toInt(); + const auto cTitle = arguments.property(QStringLiteral("cTitle")).toString(); + const auto oCheckbox = arguments.property(QStringLiteral("oCheckbox")); + return alert(cMsg, nIcon, nType, cTitle, QJSValue(), oCheckbox); +} + +int JSApp::alert(const QString &cMsg, int nIcon, int nType, const QString &cTitle, [[maybe_unused]] const QJSValue &oDoc, const QJSValue &oCheckbox) +{ + QMessageBox::Icon icon = QMessageBox::Critical; + switch (nIcon) { + case 0: + icon = QMessageBox::Critical; + break; + case 1: + icon = QMessageBox::Warning; + break; + case 2: + icon = QMessageBox::Question; + break; + case 3: + icon = QMessageBox::Information; + break; + } + + const QString title = !cTitle.isEmpty() ? cTitle : QStringLiteral("Okular"); + QMessageBox box(icon, title, cMsg); + + QMessageBox::StandardButtons buttons = QMessageBox::Ok; + switch (nType) { + case 0: + buttons = QMessageBox::Ok; + break; + case 1: + buttons = QMessageBox::Ok | QMessageBox::Cancel; + break; + case 2: + buttons = QMessageBox::Yes | QMessageBox::No; + break; + case 3: + buttons = QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel; + break; + } + box.setStandardButtons(buttons); + + QCheckBox *checkBox = nullptr; + if (oCheckbox.isObject()) { + const auto oMsg = oCheckbox.property(QStringLiteral("cMsg")); + QString msg = i18n("Do not show this message again"); + + if (oMsg.isString()) { + msg = oMsg.toString(); + } + + bool bInitialValue = false; + const auto value = oCheckbox.property(QStringLiteral("bInitialValue")); + if (value.isBool()) { + bInitialValue = value.toBool(); + } + checkBox = new QCheckBox(msg); + checkBox->setChecked(bInitialValue); + box.setCheckBox(checkBox); + } + + // halt timeout until the user has responded + QMetaObject::invokeMethod(m_watchdogTimer, qOverload<>(&QTimer::stop)); + + int button = box.exec(); + + // restart max allowed time + QMetaObject::invokeMethod(m_watchdogTimer, qOverload<>(&QTimer::start)); + + int ret = 0; + + switch (button) { + case QMessageBox::Ok: + ret = 1; + break; + case QMessageBox::Cancel: + ret = 2; + break; + case QMessageBox::No: + ret = 3; + break; + case QMessageBox::Yes: + ret = 4; + break; + } + + if (checkBox) { + QJSValue(oCheckbox).setProperty(QStringLiteral("bAfterValue"), checkBox->isChecked()); + } + + delete checkBox; + + return ret; +} + +void JSApp::beep([[maybe_unused]] int nType) +{ + QApplication::beep(); +} + +QJSValue JSApp::getNthPlugInName(int nIndex) const +{ + if (nIndex < 0 || nIndex >= s_num_fake_plugins) { + return qjsEngine(this)->newErrorObject(QJSValue::TypeError, QStringLiteral("PlugIn index out of bounds")); + } + + const FakePluginInfo &info = s_fake_plugins[nIndex]; + return info.name; +} + +void JSApp::goBack() +{ + if (!m_doc->m_parent->historyAtBegin()) { + m_doc->m_parent->setPrevViewport(); + } +} + +void JSApp::goForward() +{ + if (!m_doc->m_parent->historyAtEnd()) { + m_doc->m_parent->setNextViewport(); + } +} + +// app.setInterval() +QJSValue JSApp::setInterval(const QString &cExpr, int nMilliseconds) +{ + QTimer *timer = new QTimer(); + + QObject::connect(timer, &QTimer::timeout, m_doc->m_parent, [=, this]() { m_doc->executeScript(cExpr); }); + + timer->start(nMilliseconds); + + return JSApp::wrapTimer(timer); +} + +// app.clearInterval() +void JSApp::clearInterval(const QJSValue &oInterval) +{ + const int timerId = oInterval.property(OKULAR_TIMERID).toInt(); + QTimer *timer = g_timerCache->value(timerId); + if (timer != nullptr) { + timer->stop(); + g_timerCache->remove(timerId); + delete timer; + } +} + +// app.setTimeOut() +QJSValue JSApp::setTimeOut(const QString &cExpr, int nMilliseconds) +{ + QTimer *timer = new QTimer(); + timer->setSingleShot(true); + + QObject::connect(timer, &QTimer::timeout, m_doc->m_parent, [=, this]() { m_doc->executeScript(cExpr); }); + + timer->start(nMilliseconds); + + return JSApp::wrapTimer(timer); +} + +// app.clearTimeOut() +void JSApp::clearTimeOut(const QJSValue &oTime) +{ + const int timerId = oTime.property(OKULAR_TIMERID).toInt(); + QTimer *timer = g_timerCache->value(timerId); + + if (timer != nullptr) { + timer->stop(); + g_timerCache->remove(timerId); + delete timer; + } +} + +// app.popUpMenuEx() + +bool JSApp::createPopUpMenuTree(int depth, QMenu *rootMenu, const QJSValue &arguments) +{ + const int nArgs = arguments.property(QStringLiteral("length")).toInt(); + + // If no menu to add or if we got too deep in recursion + if (nArgs == 0 || depth > 20) { + return false; + } + + for (int i = 0; i < nArgs; ++i) { + const QJSValue item = arguments.property(i); + const QString cName = item.property(QStringLiteral("cName")).toString(); + const QJSValue cResultProperty = item.property(QStringLiteral("cResult")); + const QJSValue oSubMenu = item.property(QStringLiteral("oSubMenu")); + + if (oSubMenu.isArray()) { + QMenu *subMenu = rootMenu->addMenu(cName); + createPopUpMenuTree(depth + 1, subMenu, oSubMenu); + } else { + QAction *a = rootMenu->addAction(cName); + if (cResultProperty.isUndefined()) { + a->setProperty(kResultProperty, cName); + } else { + a->setProperty(kResultProperty, cResultProperty.toString()); + } + } + } + + return true; +} + +QJSValue JSApp::okular_popUpMenuEx(const QJSValue &arguments) +{ + QMenu m; + + // Object name is used for tests. + m.setObjectName(QStringLiteral("popUpMenuEx")); + + if (!createPopUpMenuTree(0, &m, arguments)) { + return {}; + } + + const QAction *result = m.exec(QCursor::pos()); + return result ? result->property(kResultProperty).toString() : QString(); +} + +JSApp::JSApp(DocumentPrivate *doc, QTimer *watchdogTimer, QObject *parent) + : QObject(parent) + , m_doc(doc) + , m_watchdogTimer(watchdogTimer) +{ +} + +JSApp::~JSApp() = default; + +QJSValue JSApp::wrapTimer(QTimer *timer) const +{ + QJSValue timerObject = qjsEngine(this)->newObject(); + timerObject.setProperty(OKULAR_TIMERID, timer->timerId()); + + g_timerCache->insert(timer->timerId(), timer); + + return timerObject; +} + +void JSApp::clearCachedFields() +{ + if (g_timerCache) { + qDeleteAll(g_timerCache->begin(), g_timerCache->end()); + g_timerCache->clear(); + } +} diff --git a/core/script/js_app_p.h b/core/script/js_app_p.h new file mode 100644 index 0000000..b45333b --- /dev/null +++ b/core/script/js_app_p.h @@ -0,0 +1,74 @@ +/* + SPDX-FileCopyrightText: 2008 Pino Toscano + SPDX-FileCopyrightText: 2008 Harri Porten + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef OKULAR_SCRIPT_JS_APP_P_H +#define OKULAR_SCRIPT_JS_APP_P_H + +#include +#include +#include + +class QMenu; +class QTimer; + +namespace Okular +{ +class DocumentPrivate; + +class JSApp : public QObject +{ + Q_OBJECT + Q_PROPERTY(int formsVersion READ formsVersion CONSTANT) + Q_PROPERTY(QString language READ language CONSTANT) + Q_PROPERTY(int numPlugIns READ numPlugIns CONSTANT) + Q_PROPERTY(QString platform READ platform CONSTANT) + Q_PROPERTY(QJSValue plugIns READ plugIns CONSTANT) + Q_PROPERTY(QStringList printColorProfiles READ printColorProfiles CONSTANT) + Q_PROPERTY(QStringList printerNames READ printerNames CONSTANT) + Q_PROPERTY(QString viewerType READ viewerType CONSTANT) + Q_PROPERTY(QString viewerVariation READ viewerVariation CONSTANT) + Q_PROPERTY(int viewerVersion READ viewerVersion CONSTANT) + +public: + explicit JSApp(DocumentPrivate *doc, QTimer *watchdogTimer, QObject *parent = nullptr); + ~JSApp() override; + static void clearCachedFields(); + + int formsVersion() const; + QString language() const; + int numPlugIns() const; + QString platform() const; + QJSValue plugIns() const; + QStringList printColorProfiles() const; + QStringList printerNames() const; + QString viewerType() const; + QString viewerVariation() const; + int viewerVersion() const; + + Q_INVOKABLE int alert(const QJSValue &arguments); + Q_INVOKABLE int alert(const QString &cMsg, int nIcon = 0, int nType = 0, const QString &cTitle = {}, const QJSValue &oDoc = {}, const QJSValue &oCheckbox = {}); + Q_INVOKABLE void beep(int nType = 4); + Q_INVOKABLE QJSValue getNthPlugInName(int nIndex) const; + Q_INVOKABLE void goBack(); + Q_INVOKABLE void goForward(); + Q_INVOKABLE QJSValue setInterval(const QString &cExpr, int nMilliseconds); + Q_INVOKABLE void clearInterval(const QJSValue &oInterval); + Q_INVOKABLE QJSValue setTimeOut(const QString &cExpr, int nMilliseconds); + Q_INVOKABLE void clearTimeOut(const QJSValue &oTime); + Q_INVOKABLE QJSValue okular_popUpMenuEx(const QJSValue &arguments); + +private: + QJSValue wrapTimer(QTimer *timer) const; + static bool createPopUpMenuTree(int depth, QMenu *rootMenu, const QJSValue &arguments); + + DocumentPrivate *m_doc = nullptr; + QTimer *m_watchdogTimer = nullptr; +}; + +} + +#endif diff --git a/core/script/js_console.cpp b/core/script/js_console.cpp new file mode 100644 index 0000000..ebaf26b --- /dev/null +++ b/core/script/js_console.cpp @@ -0,0 +1,82 @@ +/* + SPDX-FileCopyrightText: 2008 Pino Toscano + SPDX-FileCopyrightText: 2008 Harri Porten + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "js_console_p.h" + +#include + +#include "../debug_p.h" + +using namespace Okular; + +#ifdef OKULAR_JS_CONSOLE + +#include +#include + +#include +#include + +K_GLOBAL_STATIC(KDialog, g_jsConsoleWindow) +static QPlainTextEdit *g_jsConsoleLog = 0; + +static void createConsoleWindow() +{ + if (g_jsConsoleWindow.exists()) + return; + + g_jsConsoleWindow->setButtons(KDialog::Close | KDialog::User1); + g_jsConsoleWindow->setButtonGuiItem(KDialog::User1, KStandardGuiItem::clear()); + + QVBoxLayout *mainLay = new QVBoxLayout(g_jsConsoleWindow->mainWidget()); + mainLay->setContentsMargins(0, 0, 0, 0); + g_jsConsoleLog = new QPlainTextEdit(g_jsConsoleWindow->mainWidget()); + g_jsConsoleLog->setReadOnly(true); + mainLay->addWidget(g_jsConsoleLog); + + QObject::connect(g_jsConsoleWindow, SIGNAL(closeClicked()), g_jsConsoleWindow, SLOT(close())); + QObject::connect(g_jsConsoleWindow, SIGNAL(user1Clicked()), g_jsConsoleLog, SLOT(clear())); +} +#endif + +void JSConsole::show() +{ +#ifdef OKULAR_JS_CONSOLE + createConsoleWindow(); + g_jsConsoleWindow->show(); +#endif +} + +void JSConsole::hide() +{ +#ifdef OKULAR_JS_CONSOLE + if (!g_jsConsoleWindow.exists()) + return; + + g_jsConsoleWindow->hide(); +#endif +} + +void JSConsole::clear() +{ +#ifdef OKULAR_JS_CONSOLE + if (!g_jsConsoleWindow.exists()) + return; + + g_jsConsoleLog->clear(); +#endif +} + +void JSConsole::println(const QString &cMessage) +{ +#ifdef OKULAR_JS_CONSOLE + showConsole(); + g_jsConsoleLog->appendPlainText(cMessage); +#else + Q_UNUSED(cMessage); +#endif +} diff --git a/core/script/js_console_p.h b/core/script/js_console_p.h new file mode 100644 index 0000000..2daae9f --- /dev/null +++ b/core/script/js_console_p.h @@ -0,0 +1,27 @@ +/* + SPDX-FileCopyrightText: 2008 Pino Toscano + SPDX-FileCopyrightText: 2008 Harri Porten + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef OKULAR_SCRIPT_JS_CONSOLE_P_H +#define OKULAR_SCRIPT_JS_CONSOLE_P_H + +#include + +namespace Okular +{ +class JSConsole : public QObject +{ + Q_OBJECT +public: + Q_INVOKABLE void clear(); + Q_INVOKABLE void hide(); + Q_INVOKABLE void println(const QString &cMessage); + Q_INVOKABLE void show(); +}; + +} + +#endif diff --git a/core/script/js_data.cpp b/core/script/js_data.cpp new file mode 100644 index 0000000..fcb63d0 --- /dev/null +++ b/core/script/js_data.cpp @@ -0,0 +1,58 @@ +/* + SPDX-FileCopyrightText: 2008 Pino Toscano + SPDX-FileCopyrightText: 2008 Harri Porten + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "js_data_p.h" + +#include + +#include "../document.h" +#include "js_display_p.h" + +using namespace Okular; + +QDateTime JSData::creationDate() const +{ + return m_file->creationDate(); +} + +QString JSData::description() const +{ + return m_file->description(); +} + +QString JSData::MIMEType() const +{ + return QLatin1String(""); +} + +QDateTime JSData::modDate() const +{ + return m_file->modificationDate(); +} + +QString JSData::name() const +{ + return m_file->name(); +} + +QString JSData::path() const +{ + return QLatin1String(""); +} + +int JSData::size() const +{ + return m_file->size(); +} + +JSData::JSData(EmbeddedFile *f, QObject *parent) + : QObject(parent) + , m_file(f) +{ +} + +JSData::~JSData() = default; diff --git a/core/script/js_data_p.h b/core/script/js_data_p.h new file mode 100644 index 0000000..2113273 --- /dev/null +++ b/core/script/js_data_p.h @@ -0,0 +1,46 @@ +/* + SPDX-FileCopyrightText: 2008 Pino Toscano + SPDX-FileCopyrightText: 2008 Harri Porten + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef OKULAR_SCRIPT_JS_DATA_P_H +#define OKULAR_SCRIPT_JS_DATA_P_H + +#include + +namespace Okular +{ +class EmbeddedFile; + +class JSData : public QObject +{ + Q_OBJECT + Q_PROPERTY(QDateTime creationDate READ creationDate CONSTANT) + Q_PROPERTY(QString description READ description CONSTANT) + Q_PROPERTY(QString MIMEType READ MIMEType CONSTANT) + Q_PROPERTY(QDateTime modDate READ modDate CONSTANT) + Q_PROPERTY(QString name READ name CONSTANT) + Q_PROPERTY(QString path READ path CONSTANT) + Q_PROPERTY(int size READ size CONSTANT) + +public: + explicit JSData(EmbeddedFile *f, QObject *parent = nullptr); + ~JSData() override; + + QDateTime creationDate() const; + QString description() const; + QString MIMEType() const; + QDateTime modDate() const; + QString name() const; + QString path() const; + int size() const; + +private: + EmbeddedFile *m_file = nullptr; +}; + +} + +#endif diff --git a/core/script/js_display.cpp b/core/script/js_display.cpp new file mode 100644 index 0000000..4b1baa7 --- /dev/null +++ b/core/script/js_display.cpp @@ -0,0 +1,36 @@ +/* + SPDX-FileCopyrightText: 2019 João Netto + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "../form.h" +#include "js_display_p.h" + +#include + +using namespace Okular; + +// display.hidden +int JSDisplay::hidden() const +{ + return FormDisplay::FormHidden; +} + +// display.visible +int JSDisplay::visible() const +{ + return FormDisplay::FormVisible; +} + +// display.noView +int JSDisplay::noView() const +{ + return FormDisplay::FormNoView; +} + +// display.noPrint +int JSDisplay::noPrint() const +{ + return FormDisplay::FormNoPrint; +} diff --git a/core/script/js_display_p.h b/core/script/js_display_p.h new file mode 100644 index 0000000..08c51e2 --- /dev/null +++ b/core/script/js_display_p.h @@ -0,0 +1,35 @@ +/* + SPDX-FileCopyrightText: 2019 João Netto + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef OKULAR_SCRIPT_JS_DISPLAY_P_H +#define OKULAR_SCRIPT_JS_DISPLAY_P_H + +#include + +namespace Okular +{ +/** + * The display types of the field. + */ +enum FormDisplay { FormVisible, FormHidden, FormNoPrint, FormNoView }; + +class JSDisplay : public QObject +{ + Q_OBJECT + Q_PROPERTY(int hidden READ hidden CONSTANT) + Q_PROPERTY(int visible READ visible CONSTANT) + Q_PROPERTY(int noView READ noView CONSTANT) + Q_PROPERTY(int noPrint READ noPrint CONSTANT) +public: + int hidden() const; + int visible() const; + int noView() const; + int noPrint() const; +}; + +} + +#endif diff --git a/core/script/js_document.cpp b/core/script/js_document.cpp new file mode 100644 index 0000000..a56ebd6 --- /dev/null +++ b/core/script/js_document.cpp @@ -0,0 +1,242 @@ +/* + SPDX-FileCopyrightText: 2008 Pino Toscano + SPDX-FileCopyrightText: 2008 Harri Porten + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "js_document_p.h" + +#include + +#include +#include +#include + +#include "../document_p.h" +#include "../form.h" +#include "../page.h" +#include "js_data_p.h" +#include "js_field_p.h" +#include "js_ocg_p.h" + +using namespace Okular; + +// Document.numPages +int JSDocument::numPages() const +{ + return m_doc->m_pagesVector.count(); +} + +// Document.pageNum (getter) +int JSDocument::pageNum() const +{ + return m_doc->m_parent->currentPage(); +} + +// Document.pageNum (setter) +void JSDocument::setPageNum(int page) +{ + if (page == (int)m_doc->m_parent->currentPage()) { + return; + } + + m_doc->m_parent->setViewportPage(page); +} + +// Document.documentFileName +QString JSDocument::documentFileName() const +{ + return m_doc->m_url.fileName(); +} + +// Document.filesize +int JSDocument::filesize() const +{ + return m_doc->m_docSize; +} + +// Document.path +QString JSDocument::path() const +{ + return m_doc->m_url.toDisplayString(QUrl::PreferLocalFile); +} + +// Document.URL +QString JSDocument::URL() const +{ + return m_doc->m_url.toDisplayString(); +} + +// Document.permStatusReady +bool JSDocument::permStatusReady() const +{ + return true; +} + +// Document.dataObjects +QJSValue JSDocument::dataObjects() const +{ + const QList *files = m_doc->m_generator->embeddedFiles(); + + QJSValue dataObjects = qjsEngine(this)->newArray(files ? files->count() : 0); + if (files) { + QList::ConstIterator it = files->begin(), itEnd = files->end(); + for (int i = 0; it != itEnd; ++it, ++i) { + QJSValue newdata = qjsEngine(this)->newQObject(new JSData(*it)); + dataObjects.setProperty(i, newdata); + } + } + return dataObjects; +} + +// Document.external +bool JSDocument::external() const +{ + QWidget *widget = m_doc->m_widget; + + const bool isShell = (widget && widget->parentWidget() && widget->parentWidget()->objectName().startsWith(QLatin1String("okular::Shell"))); + return !isShell; +} + +// Document.numFields +int JSDocument::numFields() const +{ + unsigned int numFields = 0; + + for (const Page *pIt : std::as_const(m_doc->m_pagesVector)) { + numFields += pIt->formFields().size(); + } + + return numFields; +} + +QJSValue JSDocument::info() const +{ + QJSValue obj = qjsEngine(this)->newObject(); + QSet keys; + keys << DocumentInfo::Title << DocumentInfo::Author << DocumentInfo::Subject << DocumentInfo::Keywords << DocumentInfo::Creator << DocumentInfo::Producer; + const DocumentInfo docinfo = m_doc->m_parent->documentInfo(keys); +#define KEY_GET(key, property) \ + do { \ + const QString data = docinfo.get(key); \ + if (!data.isEmpty()) { \ + obj.setProperty(QStringLiteral(property), data); \ + obj.setProperty(QStringLiteral(property).toLower(), data); \ + } \ + } while (0); + KEY_GET(DocumentInfo::Title, "Title"); + KEY_GET(DocumentInfo::Author, "Author"); + KEY_GET(DocumentInfo::Subject, "Subject"); + KEY_GET(DocumentInfo::Keywords, "Keywords"); + KEY_GET(DocumentInfo::Creator, "Creator"); + KEY_GET(DocumentInfo::Producer, "Producer"); +#undef KEY_GET + return obj; +} + +#define DOCINFO_GET_METHOD(key, name) \ + QString JSDocument::name() const \ + { \ + const DocumentInfo docinfo = m_doc->m_parent->documentInfo(QSet() << key); \ + return docinfo.get(key); \ + } + +DOCINFO_GET_METHOD(DocumentInfo::Author, author) +DOCINFO_GET_METHOD(DocumentInfo::Creator, creator) +DOCINFO_GET_METHOD(DocumentInfo::Keywords, keywords) +DOCINFO_GET_METHOD(DocumentInfo::Producer, producer) +DOCINFO_GET_METHOD(DocumentInfo::Title, title) +DOCINFO_GET_METHOD(DocumentInfo::Subject, subject) + +#undef DOCINFO_GET_METHOD + +// Document.getField() +QJSValue JSDocument::getField(const QString &cName) const +{ + QList::const_iterator pIt = m_doc->m_pagesVector.constBegin(), pEnd = m_doc->m_pagesVector.constEnd(); + for (; pIt != pEnd; ++pIt) { + const QList pageFields = (*pIt)->formFields(); + for (FormField *form : pageFields) { + if (form->fullyQualifiedName() == cName) { + return JSField::wrapField(qjsEngine(this), form, *pIt); + } + } + } + return QJSValue(QJSValue::UndefinedValue); +} + +// Document.getPageLabel() +QString JSDocument::getPageLabel(int nPage) const +{ + const Page *p = m_doc->m_pagesVector.value(nPage); + return p ? p->label() : QString(); +} + +// Document.getPageRotation() +int JSDocument::getPageRotation(int nPage) const +{ + const Page *p = m_doc->m_pagesVector.value(nPage); + return p ? p->orientation() * 90 : 0; +} + +// Document.gotoNamedDest() +void JSDocument::gotoNamedDest(const QString &cName) const +{ + DocumentViewport viewport(m_doc->m_generator->metaData(QStringLiteral("NamedViewport"), cName).toString()); + if (viewport.isValid()) { + m_doc->m_parent->setViewport(viewport); + } +} + +// Document.syncAnnotScan() +void JSDocument::syncAnnotScan() const +{ +} + +// Document.getNthFieldName +QJSValue JSDocument::getNthFieldName(int nIndex) const +{ + for (const Page *pIt : std::as_const(m_doc->m_pagesVector)) { + const QList pageFields = pIt->formFields(); + + if (nIndex < pageFields.size()) { + const Okular::FormField *form = pageFields[nIndex]; + + return form->fullyQualifiedName(); + } + + nIndex -= pageFields.size(); + } + + return QJSValue(QJSValue::UndefinedValue); +} + +QJSValue JSDocument::getOCGs([[maybe_unused]] int nPage) const +{ + QAbstractItemModel *model = m_doc->m_parent->layersModel(); + + QJSValue array = qjsEngine(this)->newArray(model->rowCount()); + + for (int i = 0; i < model->rowCount(); ++i) { + for (int j = 0; j < model->columnCount(); ++j) { + const QModelIndex index = model->index(i, j); + + QJSValue item = qjsEngine(this)->newQObject(new JSOCG(model, i, j)); + item.setProperty(QStringLiteral("name"), model->data(index, Qt::DisplayRole).toString()); + item.setProperty(QStringLiteral("initState"), model->data(index, Qt::CheckStateRole).toBool()); + + array.setProperty(i, item); + } + } + + return array; +} + +JSDocument::JSDocument(DocumentPrivate *doc, QObject *parent) + : QObject(parent) + , m_doc(doc) +{ +} + +JSDocument::~JSDocument() = default; diff --git a/core/script/js_document_p.h b/core/script/js_document_p.h new file mode 100644 index 0000000..ad6afbd --- /dev/null +++ b/core/script/js_document_p.h @@ -0,0 +1,79 @@ +/* + SPDX-FileCopyrightText: 2008 Pino Toscano + SPDX-FileCopyrightText: 2008 Harri Porten + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef OKULAR_SCRIPT_JS_DOCUMENT_P_H +#define OKULAR_SCRIPT_JS_DOCUMENT_P_H + +#include +#include + +namespace Okular +{ +class DocumentPrivate; + +class JSDocument : public QObject +{ + Q_OBJECT + Q_PROPERTY(int numPages READ numPages CONSTANT) + Q_PROPERTY(int pageNum READ pageNum WRITE setPageNum) // clazy:exclude=qproperty-without-notify + Q_PROPERTY(QString documentFileName READ documentFileName CONSTANT) + Q_PROPERTY(int filesize READ filesize CONSTANT) + Q_PROPERTY(QString path READ path CONSTANT) + Q_PROPERTY(QString URL READ URL CONSTANT) + Q_PROPERTY(bool permStatusReady READ permStatusReady CONSTANT) + Q_PROPERTY(QJSValue dataObjects READ dataObjects CONSTANT) + Q_PROPERTY(bool external READ external CONSTANT) + Q_PROPERTY(int numFields READ numFields CONSTANT) + + // info properties + Q_PROPERTY(QJSValue info READ info CONSTANT) + Q_PROPERTY(QString author READ author CONSTANT) + Q_PROPERTY(QString creator READ creator CONSTANT) + Q_PROPERTY(QString keywords READ keywords CONSTANT) + Q_PROPERTY(QString producer READ producer CONSTANT) + Q_PROPERTY(QString title READ title CONSTANT) + Q_PROPERTY(QString subject READ subject CONSTANT) + +public: + explicit JSDocument(DocumentPrivate *doc, QObject *parent = nullptr); + ~JSDocument() override; + + int numPages() const; + int pageNum() const; + void setPageNum(int pageNum); + QString documentFileName() const; + int filesize() const; + QString path() const; + QString URL() const; + bool permStatusReady() const; + QJSValue dataObjects() const; + bool external() const; + int numFields() const; + + QJSValue info() const; + QString author() const; + QString creator() const; + QString keywords() const; + QString producer() const; + QString title() const; + QString subject() const; + + Q_INVOKABLE QJSValue getField(const QString &cName) const; + Q_INVOKABLE QString getPageLabel(int nPage) const; + Q_INVOKABLE int getPageRotation(int nPage) const; + Q_INVOKABLE void gotoNamedDest(const QString &cName) const; + Q_INVOKABLE void syncAnnotScan() const; + Q_INVOKABLE QJSValue getNthFieldName(int nIndex) const; + Q_INVOKABLE QJSValue getOCGs(int nPage = -1) const; + +private: + DocumentPrivate *m_doc = nullptr; +}; + +} + +#endif diff --git a/core/script/js_event.cpp b/core/script/js_event.cpp new file mode 100644 index 0000000..bfb5091 --- /dev/null +++ b/core/script/js_event.cpp @@ -0,0 +1,145 @@ +/* + SPDX-FileCopyrightText: 2018 Intevation GmbH + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "js_event_p.h" + +#include "event_p.h" +#include "js_field_p.h" + +#include + +using namespace Okular; + +// Event.name +QString JSEvent::name() const +{ + return m_event->name(); +} + +// Event.type +QString JSEvent::type() const +{ + return m_event->type(); +} + +// Event.targetName (getter) +QString JSEvent::targetName() const +{ + return m_event->targetName(); +} + +// Event.targetName (setter) +void JSEvent::setTargetName(const QString &targetName) +{ + m_event->setTargetName(targetName); +} + +// Event.shift +bool JSEvent::shift() const +{ + return m_event->shiftModifier(); +} + +// Event.source +QJSValue JSEvent::source() const +{ + if (m_event->eventType() == Event::FieldCalculate) { + FormField *src = m_event->source(); + if (src) { + return JSField::wrapField(qjsEngine(this), src, m_event->sourcePage()); + } + } + return QJSValue(QJSValue::UndefinedValue); +} + +// Event.target +QJSValue JSEvent::target() const +{ + switch (m_event->eventType()) { + case Event::FieldCalculate: + case Event::FieldFormat: + case Event::FieldKeystroke: + case Event::FieldFocus: + case Event::FieldValidate: + case Event::FieldMouseUp: + case Event::FieldMouseDown: + case Event::FieldMouseEnter: + case Event::FieldMouseExit: { + FormField *targetField = static_cast(m_event->target()); + if (targetField) { + return JSField::wrapField(qjsEngine(this), targetField, m_event->targetPage()); + } + break; + } + case Event::DocOpen: + case Event::DocWillClose: + case Event::DocWillSave: + case Event::DocWillPrint: + case Event::DocDidSave: + case Event::DocDidPrint: { + return qjsEngine(this)->globalObject().property(QStringLiteral("Doc")); + } + default: { + } + } + return QJSValue(QJSValue::UndefinedValue); +} + +// Event.value (getter) +QJSValue JSEvent::value() const +{ + return m_event->value().toString(); +} + +// Event.value (setter) +void JSEvent::setValue(const QJSValue &value) +{ + m_event->setValue(QVariant(value.toString())); +} + +// Event.rc (getter) +bool JSEvent::returnCode() const +{ + return m_event->returnCode(); +} + +// Event.rc (setter) +void JSEvent::setReturnCode(bool rc) +{ + m_event->setReturnCode(rc); +} + +// Event.willCommit (getter) +bool JSEvent::willCommit() const +{ + return m_event->willCommit(); +} + +// Event.change (getter) +QString JSEvent::change() const +{ + return m_event->change(); +} + +// Event.selStart (getter) +int JSEvent::selStart() const +{ + return m_event->selStart(); +} + +// Event.selEnd (getter) +int JSEvent::selEnd() const +{ + return m_event->selEnd(); +} + +JSEvent::JSEvent(Event *event, QObject *parent) + : QObject(parent) + , m_event(event) +{ +} + +JSEvent::~JSEvent() = default; diff --git a/core/script/js_event_p.h b/core/script/js_event_p.h new file mode 100644 index 0000000..a0d1a6f --- /dev/null +++ b/core/script/js_event_p.h @@ -0,0 +1,59 @@ +/* + SPDX-FileCopyrightText: 2018 Intevation GmbH + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef OKULAR_SCRIPT_JS_EVENT_P_H +#define OKULAR_SCRIPT_JS_EVENT_P_H + +#include +#include + +namespace Okular +{ +class Event; + +class JSEvent : public QObject +{ + Q_OBJECT + Q_PROPERTY(QString name READ name CONSTANT) + Q_PROPERTY(QString type READ type CONSTANT) + Q_PROPERTY(QString targetName READ targetName WRITE setTargetName) // clazy:exclude=qproperty-without-notify + Q_PROPERTY(bool shift READ shift CONSTANT) + Q_PROPERTY(QJSValue source READ source CONSTANT) + Q_PROPERTY(QJSValue target READ target CONSTANT) + Q_PROPERTY(bool willCommit READ willCommit CONSTANT) + Q_PROPERTY(QJSValue value READ value WRITE setValue) // clazy:exclude=qproperty-without-notify + Q_PROPERTY(bool rc READ returnCode WRITE setReturnCode) // clazy:exclude=qproperty-without-notify + Q_PROPERTY(QString change READ change CONSTANT) + Q_PROPERTY(int selStart READ selStart CONSTANT) + Q_PROPERTY(int selEnd READ selEnd CONSTANT) + +public: + explicit JSEvent(Event *event, QObject *parent = nullptr); + ~JSEvent() override; + + QString name() const; + QString type() const; + QString targetName() const; + void setTargetName(const QString &targetName); + bool shift() const; + QJSValue source() const; + QJSValue target() const; + bool willCommit() const; + QJSValue value() const; + void setValue(const QJSValue &value); + bool returnCode() const; + void setReturnCode(bool rc); + QString change() const; + int selStart() const; + int selEnd() const; + +private: + Event *m_event = nullptr; +}; + +} + +#endif diff --git a/core/script/js_field.cpp b/core/script/js_field.cpp new file mode 100644 index 0000000..fd5c62d --- /dev/null +++ b/core/script/js_field.cpp @@ -0,0 +1,419 @@ +/* + SPDX-FileCopyrightText: 2008 Pino Toscano + SPDX-FileCopyrightText: 2008 Harri Porten + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "js_field_p.h" + +#include +#include +#include +#include + +#include "../debug_p.h" +#include "../document_p.h" +#include "../form.h" +#include "../page.h" +#include "../page_p.h" +#include "js_display_p.h" + +using namespace Okular; + +#define OKULAR_NAME QStringLiteral("okular_name") + +typedef QHash FormCache; +Q_GLOBAL_STATIC(FormCache, g_fieldCache) +typedef QHash ButtonCache; +Q_GLOBAL_STATIC(ButtonCache, g_buttonCache) + +// Helper for modified fields +static void updateField(FormField *field) +{ + Page *page = g_fieldCache->value(field); + if (page) { + Document *doc = PagePrivate::get(page)->m_doc->m_parent; + const int pageNumber = page->number(); + QTimer::singleShot(0, doc, [doc, pageNumber] { doc->refreshPixmaps(pageNumber); }); + Q_EMIT doc->refreshFormWidget(field); + } else { + qWarning() << "Could not get page of field" << field; + } +} + +// Field.doc +QJSValue JSField::doc() const +{ + return qjsEngine(this)->globalObject().property(QStringLiteral("Doc")); +} + +// Field.name +QString JSField::name() const +{ + return m_field->fullyQualifiedName(); +} + +// Field.readonly (getter) +bool JSField::readonly() const +{ + return m_field->isReadOnly(); +} + +// Field.readonly (setter) +void JSField::setReadonly(bool readonly) +{ + m_field->setReadOnly(readonly); + + updateField(m_field); +} + +static QString fieldGetTypeHelper(const FormField *field) +{ + switch (field->type()) { + case FormField::FormButton: { + const FormFieldButton *button = static_cast(field); + switch (button->buttonType()) { + case FormFieldButton::Push: + return QStringLiteral("button"); + case FormFieldButton::CheckBox: + return QStringLiteral("checkbox"); + case FormFieldButton::Radio: + return QStringLiteral("radiobutton"); + } + break; + } + case FormField::FormText: + return QStringLiteral("text"); + case FormField::FormChoice: { + const FormFieldChoice *choice = static_cast(field); + switch (choice->choiceType()) { + case FormFieldChoice::ComboBox: + return QStringLiteral("combobox"); + case FormFieldChoice::ListBox: + return QStringLiteral("listbox"); + } + break; + } + case FormField::FormSignature: + return QStringLiteral("signature"); + } + return QString(); +} + +// Field.type +QString JSField::type() const +{ + return fieldGetTypeHelper(m_field); +} + +QJSValue JSField::fieldGetValueCore(bool asString) const +{ + QJSValue result(QJSValue::UndefinedValue); + + switch (m_field->type()) { + case FormField::FormButton: { + const FormFieldButton *button = static_cast(m_field); + if (button->state()) { + result = QStringLiteral("Yes"); + } else { + result = QStringLiteral("Off"); + } + break; + } + case FormField::FormText: { + const FormFieldText *text = static_cast(m_field); + const QLocale locale(QStringLiteral("en_US")); + QString numericalText = text->text(); + numericalText.replace(QStringLiteral(","), QStringLiteral(".")); // As we do not need to account for thousand separator, commas are definitely decimal separators if they appear + bool ok; + const double textAsNumber = locale.toDouble(numericalText, &ok); + if (ok && !asString) { + result = textAsNumber; + } else { + result = text->text(); + } + break; + } + case FormField::FormChoice: { + const FormFieldChoice *choice = static_cast(m_field); + const QList currentChoices = choice->currentChoices(); + if (choice->choiceType() == FormFieldChoice::ComboBox) { + if (currentChoices.count() == 0 && choice->isEditable()) { + result = choice->editChoice(); + } + } else if (choice->choiceType() == FormFieldChoice::ListBox) { + // value returns array for a listbox with multiple selections + if (currentChoices.count() > 1) { + result = qjsEngine(this)->newArray(currentChoices.count()); + int arrayIndex = 0; + for (const int &selectionIndex : currentChoices) { + result.setProperty(arrayIndex++, choice->exportValueForChoice(choice->choices().at(selectionIndex))); + } + } + } + // for both combobox and listbox, return the selection if exactly one item is selected + if (currentChoices.count() == 1) { + result = choice->exportValueForChoice(choice->choices().at(currentChoices[0])); + } + break; + } + case FormField::FormSignature: { + break; + } + } + + qCDebug(OkularCoreDebug) << "fieldGetValueCore:" + << " Field: " << m_field->fullyQualifiedName() << " Type: " << fieldGetTypeHelper(m_field) << " Value: " << result.toString() << (result.isString() ? "(as string)" : ""); + return result; +} +// Field.value (getter) +QJSValue JSField::value() const +{ + return fieldGetValueCore(/*asString*/ false); +} + +// Field.value (setter) +void JSField::setValue(const QJSValue &value) +{ + qCDebug(OkularCoreDebug) << "fieldSetValue: Field: " << m_field->fullyQualifiedName() << " Type: " << fieldGetTypeHelper(m_field) << " Value: " << value.toString(); + switch (m_field->type()) { + case FormField::FormButton: { + FormFieldButton *button = static_cast(m_field); + const QString text = value.toString(); + if (text == QStringLiteral("Yes")) { + button->setState(true); + updateField(m_field); + } else if (text == QStringLiteral("Off")) { + button->setState(false); + updateField(m_field); + } + break; + } + case FormField::FormText: { + FormFieldText *textField = static_cast(m_field); + Page *page = g_fieldCache->value(m_field); + if (page) { + Document *document = PagePrivate::get(page)->m_doc->m_parent; + const QString text = value.toString(); + if (text != textField->text()) { + textField->setText(text); + } + document->processKVCFActions(textField); + } else { + qWarning() << "Could not get page of field" << m_field; + } + break; + } + case FormField::FormChoice: { + FormFieldChoice *choice = static_cast(m_field); + if (choice->choiceType() == FormFieldChoice::ComboBox) { + const QString text = value.toString(); + Page *page = g_fieldCache->value(m_field); + if (page) { + Document *document = PagePrivate::get(page)->m_doc->m_parent; + const int idx = choice->choices().indexOf(text); + if (idx == -1) { + if (choice->isEditable()) { + choice->setEditChoice(text); + document->processKVCFActions(choice); + } else { + qWarning() << "Set not possible, invalid or unknown"; + } + } else { + choice->setCurrentChoices({idx}); + document->processKVCFActions(choice); + } + } + } + break; + } + case FormField::FormSignature: { + break; + } + } +} + +// Field.valueAsString (getter) +QJSValue JSField::valueAsString() const +{ + return fieldGetValueCore(/*asString*/ true); +} + +// Field.hidden (getter) +bool JSField::hidden() const +{ + return !m_field->isVisible(); +} + +// Field.hidden (setter) +void JSField::setHidden(bool hidden) +{ + m_field->setVisible(!hidden); + + updateField(m_field); +} + +// Field.display (getter) +int JSField::display() const +{ + bool visible = m_field->isVisible(); + if (visible) { + return m_field->isPrintable() ? FormDisplay::FormVisible : FormDisplay::FormNoPrint; + } + return m_field->isPrintable() ? FormDisplay::FormNoView : FormDisplay::FormHidden; +} + +// Field.display (setter) +void JSField::setDisplay(int display) +{ + switch (display) { + case FormDisplay::FormVisible: + m_field->setVisible(true); + m_field->setPrintable(true); + break; + case FormDisplay::FormHidden: + m_field->setVisible(false); + m_field->setPrintable(false); + break; + case FormDisplay::FormNoPrint: + m_field->setVisible(true); + m_field->setPrintable(false); + break; + case FormDisplay::FormNoView: + m_field->setVisible(false); + m_field->setPrintable(true); + break; + } + updateField(m_field); +} + +QJSValue JSField::numItems() const +{ + QJSValue result(QJSValue::UndefinedValue); + if (m_field->type() == FormField::FormChoice) { + const FormFieldChoice *choice = static_cast(m_field); + result = static_cast(choice->choices().size()); + } + return result; +} + +QJSValue JSField::currentValueIndices() const +{ + QJSValue result(QJSValue::UndefinedValue); + if (m_field->type() == FormField::FormChoice) { + const FormFieldChoice *choice = static_cast(m_field); + const QList currentChoices = choice->currentChoices(); + if (choice->choiceType() == FormFieldChoice::ComboBox) { + if (currentChoices.count() == 0 && choice->isEditable()) { + result = -1; + } + } else if (choice->choiceType() == FormFieldChoice::ListBox && currentChoices.count() > 1) { + result = qjsEngine(this)->newArray(currentChoices.size()); + int arrayIndex = 0; + for (const int &selectionIndex : currentChoices) { + result.setProperty(arrayIndex++, selectionIndex); + } + } + if (currentChoices.count() == 1) { + result = currentChoices[0]; + } + } + return result; +} + +void JSField::setCurrentValueIndices(const QJSValue &value) +{ + if (m_field->type() == FormField::FormChoice) { + FormFieldChoice *choice = static_cast(m_field); + QList tempChoiceList; + if (value.isArray()) { + for (quint32 i = 0; i < value.property(QStringLiteral("length")).toUInt(); i++) { + tempChoiceList << value.property(i).toInt(); + } + } else if (value.isNumber()) { + tempChoiceList << value.toInt(); + } + const QList choiceList = tempChoiceList; + choice->setCurrentChoices(choiceList); + updateField(choice); + } +} + +// Instead of getting the Icon, we pick the field. +QJSValue JSField::buttonGetIcon([[maybe_unused]] int nFace) const +{ + QJSValue fieldObject = qjsEngine(this)->newObject(); + fieldObject.setProperty(OKULAR_NAME, m_field->fullyQualifiedName()); + g_buttonCache->insert(m_field->fullyQualifiedName(), m_field); + + return fieldObject; +} + +/* + * Now we send to the button what Icon should be drawn on it + */ +void JSField::buttonSetIcon(const QJSValue &oIcon, [[maybe_unused]] int nFace) +{ + const QString fieldName = oIcon.property(OKULAR_NAME).toString(); + + if (m_field->type() == Okular::FormField::FormButton) { + FormFieldButton *button = static_cast(m_field); + const auto formField = g_buttonCache->value(fieldName); + if (formField) { + button->setIcon(formField); + } + } + + updateField(m_field); +} + +JSField::JSField(FormField *field, QObject *parent) + : QObject(parent) + , m_field(field) +{ +} + +JSField::~JSField() = default; + +QJSValue JSField::wrapField(QJSEngine *engine, FormField *field, Page *page) +{ + // ### cache unique wrapper + QJSValue f = engine->newQObject(new JSField(field)); + f.setProperty(QStringLiteral("page"), page->number()); + g_fieldCache->insert(field, page); + return f; +} + +void JSField::clearCachedFields() +{ + if (g_fieldCache.exists()) { + g_fieldCache->clear(); + } + + if (g_buttonCache.exists()) { + g_buttonCache->clear(); + } +} + +QJSValue JSField::getItemAt(int nIdx, bool bExportValue) +{ + QJSValue result(QJSValue::UndefinedValue); + if (m_field->type() == FormField::FormChoice) { + const FormFieldChoice *choice = static_cast(m_field); + if (bExportValue) { + if (nIdx < 0 || nIdx >= choice->choices().size()) { + result = choice->exportValueForChoice(choice->choices().at(choice->choices().size() - 1)); + } else { + result = choice->exportValueForChoice(choice->choices().at(nIdx)); + } + } else { + if (nIdx < 0 || nIdx >= choice->choices().size()) { + result = choice->choices().at(choice->choices().size() - 1); + } else { + result = choice->choices().at(nIdx); + } + } + } + return result; +} diff --git a/core/script/js_field_p.h b/core/script/js_field_p.h new file mode 100644 index 0000000..27b1a61 --- /dev/null +++ b/core/script/js_field_p.h @@ -0,0 +1,68 @@ +/* + SPDX-FileCopyrightText: 2008 Pino Toscano + SPDX-FileCopyrightText: 2008 Harri Porten + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef OKULAR_SCRIPT_JS_FIELD_P_H +#define OKULAR_SCRIPT_JS_FIELD_P_H + +#include +#include + +namespace Okular +{ +class FormField; +class Page; + +class JSField : public QObject +{ + Q_OBJECT + Q_PROPERTY(QJSValue doc READ doc CONSTANT) + Q_PROPERTY(QString name READ name CONSTANT) + Q_PROPERTY(bool readonly READ readonly WRITE setReadonly) // clazy:exclude=qproperty-without-notify + Q_PROPERTY(QString type READ type CONSTANT) + Q_PROPERTY(QJSValue value READ value WRITE setValue) // clazy:exclude=qproperty-without-notify + Q_PROPERTY(QJSValue valueAsString READ valueAsString) // clazy:exclude=qproperty-without-notify + Q_PROPERTY(bool hidden READ hidden WRITE setHidden) // clazy:exclude=qproperty-without-notify + Q_PROPERTY(int display READ display WRITE setDisplay) // clazy:exclude=qproperty-without-notify + Q_PROPERTY(QJSValue numItems READ numItems CONSTANT) + Q_PROPERTY(QJSValue currentValueIndices READ currentValueIndices WRITE setCurrentValueIndices) // clazy:exclude=qproperty-without-notify + +public: + explicit JSField(FormField *field, QObject *parent = nullptr); + ~JSField() override; + + static QJSValue wrapField(QJSEngine *engine, FormField *field, Page *page); + static void clearCachedFields(); + + QJSValue doc() const; + QString name() const; + bool readonly() const; + void setReadonly(bool readonly); + int display() const; + void setDisplay(int display); + QString type() const; + QJSValue value() const; + void setValue(const QJSValue &value); + QJSValue valueAsString() const; + bool hidden() const; + void setHidden(bool hidden); + QJSValue numItems() const; + QJSValue currentValueIndices() const; + void setCurrentValueIndices(const QJSValue &value); + + Q_INVOKABLE QJSValue buttonGetIcon(int nFace = 0) const; + Q_INVOKABLE void buttonSetIcon(const QJSValue &oIcon, int nFace = 0); + Q_INVOKABLE QJSValue getItemAt(int nIdx, bool bExportValue = true); + +private: + QJSValue fieldGetValueCore(bool asString) const; + + FormField *m_field = nullptr; +}; + +} + +#endif diff --git a/core/script/js_fullscreen.cpp b/core/script/js_fullscreen.cpp new file mode 100644 index 0000000..76afb80 --- /dev/null +++ b/core/script/js_fullscreen.cpp @@ -0,0 +1,42 @@ +/* + SPDX-FileCopyrightText: 2008 Pino Toscano + SPDX-FileCopyrightText: 2008 Harri Porten + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "js_fullscreen_p.h" + +#include "settings_core.h" + +using namespace Okular; + +bool JSFullscreen::loop() const +{ + return SettingsCore::slidesLoop(); +} + +void JSFullscreen::setLoop(bool loop) +{ + SettingsCore::setSlidesLoop(loop); +} + +bool JSFullscreen::useTimer() const +{ + return SettingsCore::slidesAdvance(); +} + +void JSFullscreen::setUseTimer(bool use) +{ + SettingsCore::setSlidesAdvance(use); +} + +int JSFullscreen::timeDelay() const +{ + return SettingsCore::slidesAdvanceTime(); +} + +void JSFullscreen::setTimeDelay(int time) +{ + SettingsCore::setSlidesAdvanceTime(time); +} diff --git a/core/script/js_fullscreen_p.h b/core/script/js_fullscreen_p.h new file mode 100644 index 0000000..a284218 --- /dev/null +++ b/core/script/js_fullscreen_p.h @@ -0,0 +1,33 @@ +/* + SPDX-FileCopyrightText: 2008 Pino Toscano + SPDX-FileCopyrightText: 2008 Harri Porten + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef OKULAR_SCRIPT_JS_FULLSCREEN_P_H +#define OKULAR_SCRIPT_JS_FULLSCREEN_P_H + +#include + +namespace Okular +{ +class JSFullscreen : public QObject +{ + Q_OBJECT + Q_PROPERTY(bool loop READ loop WRITE setLoop) // clazy:exclude=qproperty-without-notify + Q_PROPERTY(bool useTimer READ useTimer WRITE setUseTimer) // clazy:exclude=qproperty-without-notify + Q_PROPERTY(int timeDelay READ timeDelay WRITE setTimeDelay) // clazy:exclude=qproperty-without-notify + +public: + bool loop() const; + void setLoop(bool loop); + bool useTimer() const; + void setUseTimer(bool use); + int timeDelay() const; + void setTimeDelay(int time); +}; + +} + +#endif diff --git a/core/script/js_global.cpp b/core/script/js_global.cpp new file mode 100644 index 0000000..5090b55 --- /dev/null +++ b/core/script/js_global.cpp @@ -0,0 +1,16 @@ +/* + SPDX-FileCopyrightText: 2024 Pratham Gandhi + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "js_global_p.h" + +using namespace Okular; + +JSGlobal::JSGlobal(QObject *parent) + : QObject(parent) +{ +} + +JSGlobal::~JSGlobal() = default; \ No newline at end of file diff --git a/core/script/js_global_p.h b/core/script/js_global_p.h new file mode 100644 index 0000000..78f6ac0 --- /dev/null +++ b/core/script/js_global_p.h @@ -0,0 +1,25 @@ +/* + SPDX-FileCopyrightText: 2024 Pratham Gandhi + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef OKULAR_SCRIPT_JS_GLOBAL_P_H +#define OKULAR_SCRIPT_JS_GLOBAL_P_H + +#include + +namespace Okular +{ + +class JSGlobal : public QObject +{ + Q_OBJECT + +public: + explicit JSGlobal(QObject *parent = nullptr); + ~JSGlobal() override; +}; + +} +#endif \ No newline at end of file diff --git a/core/script/js_ocg.cpp b/core/script/js_ocg.cpp new file mode 100644 index 0000000..6bc70a0 --- /dev/null +++ b/core/script/js_ocg.cpp @@ -0,0 +1,39 @@ +/* + SPDX-FileCopyrightText: 2019 João Netto + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "js_ocg_p.h" + +#include +#include +#include + +using namespace Okular; + +// OCG.state (getter) +bool JSOCG::state() const +{ + const QModelIndex index = m_model->index(m_i, m_j); + + return m_model->data(index, Qt::CheckStateRole).toBool(); +} + +// OCG.state (setter) +void JSOCG::setState(bool state) +{ + const QModelIndex index = m_model->index(m_i, m_j); + + m_model->setData(index, QVariant(state ? Qt::Checked : Qt::Unchecked), Qt::CheckStateRole); +} + +JSOCG::JSOCG(QAbstractItemModel *model, int i, int j, QObject *parent) + : QObject(parent) + , m_model(model) + , m_i(i) + , m_j(j) +{ +} + +JSOCG::~JSOCG() = default; diff --git a/core/script/js_ocg_p.h b/core/script/js_ocg_p.h new file mode 100644 index 0000000..6b899ab --- /dev/null +++ b/core/script/js_ocg_p.h @@ -0,0 +1,36 @@ +/* + SPDX-FileCopyrightText: 2019 João Netto + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef OKULAR_SCRIPT_JS_OCG_P_H +#define OKULAR_SCRIPT_JS_OCG_P_H + +#include + +class QAbstractItemModel; + +namespace Okular +{ +class JSOCG : public QObject +{ + Q_OBJECT + Q_PROPERTY(bool state READ state WRITE setState) // clazy:exclude=qproperty-without-notify + +public: + explicit JSOCG(QAbstractItemModel *model, int i, int j, QObject *parent = nullptr); + ~JSOCG() override; + + bool state() const; + void setState(bool state); + +private: + QAbstractItemModel *m_model = nullptr; + int m_i; + int m_j; +}; + +} + +#endif diff --git a/core/script/js_spell.cpp b/core/script/js_spell.cpp new file mode 100644 index 0000000..967e8f2 --- /dev/null +++ b/core/script/js_spell.cpp @@ -0,0 +1,15 @@ +/* + SPDX-FileCopyrightText: 2008 Pino Toscano + SPDX-FileCopyrightText: 2008 Harri Porten + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "js_spell_p.h" + +using namespace Okular; + +bool JSSpell::available() const +{ + return false; +} diff --git a/core/script/js_spell_p.h b/core/script/js_spell_p.h new file mode 100644 index 0000000..6e8af65 --- /dev/null +++ b/core/script/js_spell_p.h @@ -0,0 +1,25 @@ +/* + SPDX-FileCopyrightText: 2008 Pino Toscano + SPDX-FileCopyrightText: 2008 Harri Porten + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef OKULAR_SCRIPT_JS_SPELL_P_H +#define OKULAR_SCRIPT_JS_SPELL_P_H + +#include + +namespace Okular +{ +class JSSpell : public QObject +{ + Q_OBJECT + Q_PROPERTY(bool available READ available CONSTANT) +public: + bool available() const; +}; + +} + +#endif diff --git a/core/script/js_util.cpp b/core/script/js_util.cpp new file mode 100644 index 0000000..a116226 --- /dev/null +++ b/core/script/js_util.cpp @@ -0,0 +1,150 @@ +/* + SPDX-FileCopyrightText: 2008 Pino Toscano + SPDX-FileCopyrightText: 2008 Harri Porten + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "js_util_p.h" + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Okular; + +QJSValue JSUtil::crackURL(const QString &cURL) const +{ + QUrl url(QUrl::fromLocalFile(cURL)); + if (!url.isValid()) { + return qjsEngine(this)->newErrorObject(QJSValue::URIError, QStringLiteral("Invalid URL")); + } + if (url.scheme() != QLatin1String("file") || url.scheme() != QLatin1String("http") || url.scheme() != QLatin1String("https")) { + return qjsEngine(this)->newErrorObject(QJSValue::URIError, QStringLiteral("Protocol not valid: '") + url.scheme() + QLatin1Char('\'')); + } + + QJSValue obj; + obj.setProperty(QStringLiteral("cScheme"), url.scheme()); + if (!url.userName().isEmpty()) { + obj.setProperty(QStringLiteral("cUser"), url.userName()); + } + if (!url.password().isEmpty()) { + obj.setProperty(QStringLiteral("cPassword"), url.password()); + } + obj.setProperty(QStringLiteral("cHost"), url.host()); + obj.setProperty(QStringLiteral("nPort"), url.port(80)); + // TODO cPath (Optional) The path portion of the URL. + // TODO cParameters (Optional) The parameter string portion of the URL. + if (url.hasFragment()) { + obj.setProperty(QStringLiteral("cFragments"), url.fragment(QUrl::FullyDecoded)); + } + + return obj; +} + +QJSValue JSUtil::printd(const QJSValue &oFormat, const QDateTime &oDate) const +{ + QString format; + QLocale defaultLocale; + + if (oFormat.isNumber()) { + int formatType = oFormat.toInt(); + switch (formatType) { + case 0: + format = QStringLiteral("D:yyyyMMddHHmmss"); + break; + case 1: + format = QStringLiteral("yyyy.MM.dd HH:mm:ss"); + break; + case 2: + format = defaultLocale.dateTimeFormat(QLocale::ShortFormat); + if (!format.contains(QStringLiteral("ss"))) { + format.insert(format.indexOf(QStringLiteral("mm")) + 2, QStringLiteral(":ss")); + } + break; + } + } else { + format = oFormat.toString().replace(QLatin1String("tt"), QLatin1String("ap")); + format.replace(QLatin1Char('t'), QLatin1Char('a')); + for (QChar &formatChar : format) { + if (formatChar == QLatin1Char('M')) { + formatChar = QLatin1Char('m'); + } else if (formatChar == QLatin1Char('m')) { + formatChar = QLatin1Char('M'); + } + } + } + + return defaultLocale.toString(oDate, format); +} + +/** Converts a Number to a String using l10n + * + * String numberToString( Number number, String format = 'g', int precision = 6, + * String LocaleName = system ) + */ +QString JSUtil::numberToString(double number, const QString &fmt, int precision, const QString &localeName) const +{ + if (std::isnan(number)) { + return QStringLiteral("NaN"); + } + + QChar format = QLatin1Char('g'); + if (!fmt.isEmpty()) { + format = fmt[0]; + } + + QLocale locale; + if (!localeName.isEmpty()) { + locale = QLocale(localeName); + } + + return locale.toString(number, format.toLatin1(), precision); +} + +/** Converts a String to a Number trying with the current locale first and + * if that fails trying with the reverse locale for the decimal separator + * + * Number stringToNumber( String number ) */ +double JSUtil::stringToNumber(const QString &number) const +{ + if (number.isEmpty()) { + return 0; + } + + const QLocale locale; + bool ok; + double converted = locale.toDouble(number, &ok); + + if (!ok) { + const QLocale locale2(locale.decimalPoint() == QLatin1Char('.') ? QStringLiteral("de") : QStringLiteral("en")); + converted = locale2.toDouble(number, &ok); + if (!ok) { + return NAN; + } + } + + return converted; +} + +/* + * Get locale dependent month names + * + * A method not present in the Adobe Javascript APIs reference. We add it here for our convenience. Not to be used externally. + */ +QStringList JSUtil::getMonths() const +{ + QLocale defaultLocale; + QStringList monthNames; + // add both long and short format dates for processing in parseDate method. + for (int i = 1; i <= 12; i++) { + monthNames << defaultLocale.monthName(i, QLocale::LongFormat).toUpper(); + monthNames << defaultLocale.monthName(i, QLocale::ShortFormat).toUpper(); + } + return monthNames; +} \ No newline at end of file diff --git a/core/script/js_util_p.h b/core/script/js_util_p.h new file mode 100644 index 0000000..9c397c5 --- /dev/null +++ b/core/script/js_util_p.h @@ -0,0 +1,29 @@ +/* + SPDX-FileCopyrightText: 2008 Pino Toscano + SPDX-FileCopyrightText: 2008 Harri Porten + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef OKULAR_SCRIPT_JS_UTIL_P_H +#define OKULAR_SCRIPT_JS_UTIL_P_H + +#include +#include + +namespace Okular +{ +class JSUtil : public QObject +{ + Q_OBJECT +public: + Q_INVOKABLE QJSValue crackURL(const QString &cURL) const; + Q_INVOKABLE QJSValue printd(const QJSValue &oFormat, const QDateTime &oDate) const; + Q_INVOKABLE double stringToNumber(const QString &number) const; + Q_INVOKABLE QString numberToString(double number, const QString &fmt = QStringLiteral("g"), int precision = 6, const QString &localeName = {}) const; + Q_INVOKABLE QStringList getMonths() const; +}; + +} + +#endif diff --git a/core/scripter.cpp b/core/scripter.cpp new file mode 100644 index 0000000..bbb36b6 --- /dev/null +++ b/core/scripter.cpp @@ -0,0 +1,72 @@ +/* + SPDX-FileCopyrightText: 2008 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "scripter.h" + +#include "config-okular.h" + +#include +#include + +#include "debug_p.h" +#include "script/executor_js_p.h" + +using namespace Okular; + +class Okular::ScripterPrivate +{ +public: + explicit ScripterPrivate(DocumentPrivate *doc) + : m_doc(doc) +#if HAVE_JS + , m_js(nullptr) +#endif + { + } + + DocumentPrivate *m_doc; +#if HAVE_JS + QScopedPointer m_js; +#endif +}; + +Scripter::Scripter(DocumentPrivate *doc) + : d(new ScripterPrivate(doc)) +{ +} + +Scripter::~Scripter() +{ + delete d; +} + +void Scripter::execute(Event *event, ScriptType type, const QString &script) +{ + qCDebug(OkularCoreDebug) << "executing the script:" << script; +#if HAVE_JS + static QString builtInScript; + if (builtInScript.isNull()) { + QFile builtInResource(QStringLiteral(":/script/builtin.js")); + if (!builtInResource.open(QIODevice::ReadOnly)) { + qCDebug(OkularCoreDebug) << "failed to load builtin script"; + } else { + builtInScript = QString::fromUtf8(builtInResource.readAll()); + builtInResource.close(); + } + } + + switch (type) { + case JavaScript: + if (!d->m_js) { + d->m_js.reset(new ExecutorJS(d->m_doc)); + } + d->m_js->execute(builtInScript + script, event); + } +#else + Q_UNUSED(event); + Q_UNUSED(type); +#endif +} diff --git a/core/scripter.h b/core/scripter.h new file mode 100644 index 0000000..a756aa2 --- /dev/null +++ b/core/scripter.h @@ -0,0 +1,43 @@ +/* + SPDX-FileCopyrightText: 2008 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef OKULAR_SCRIPTER_H +#define OKULAR_SCRIPTER_H + +#include "global.h" + +class QString; + +namespace Okular +{ +class Document; +class DocumentPrivate; +class Event; +class ScripterPrivate; + +class Scripter +{ + friend class Document; + friend class DocumentPrivate; + +public: + ~Scripter(); + + Scripter(const Scripter &) = delete; + Scripter &operator=(const Scripter &) = delete; + + void execute(Event *event, ScriptType type, const QString &script); + +private: + friend class ScripterPrivate; + ScripterPrivate *d; + + explicit Scripter(DocumentPrivate *doc); +}; + +} + +#endif diff --git a/core/signatureutils.cpp b/core/signatureutils.cpp new file mode 100644 index 0000000..bc577c3 --- /dev/null +++ b/core/signatureutils.cpp @@ -0,0 +1,507 @@ +/* + SPDX-FileCopyrightText: 2018 Chinmoy Ranjan Pradhan + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "signatureutils.h" +#include + +using namespace Okular; + +static QString handleEmpty(const QString &string, CertificateInfo::EmptyString empty) +{ + if (string.isEmpty()) { + switch (empty) { + case CertificateInfo::EmptyString::Empty: + return {}; + case CertificateInfo::EmptyString::TranslatedNotAvailable: + return i18n("Not Available"); + } + return {}; + } + return string; +} + +class EntityInfo +{ +public: + QString commonName; + QString distinguishedName; + QString emailAddress; + QString organization; +}; +class Okular::CertificateInfoPrivate : public QSharedData +{ +public: + bool isNull = true; + int version = -1; + QByteArray serialNumber; + EntityInfo issuerInfo; + EntityInfo subjectInfo; + QString nickName; + QDateTime validityStart; + QDateTime validityEnd; + CertificateInfo::KeyUsageExtensions keyUsageExtensions = CertificateInfo::KuNone; + QByteArray publicKey; + CertificateInfo::PublicKeyType publicKeyType = CertificateInfo::OtherKey; + int publicKeyStrength = -1; + bool isSelfSigned = false; + QByteArray certificateData; + CertificateInfo::Backend backend = CertificateInfo::Backend::Unknown; + CertificateInfo::KeyLocation keyLocation = CertificateInfo::KeyLocation::Unknown; + CertificateInfo::CertificateType certificateType = CertificateInfo::CertificateType::X509; + bool isQualified = false; + std::function checkPasswordFunction; +}; + +CertificateInfo::CertificateInfo() + : d {new CertificateInfoPrivate()} +{ +} + +Okular::CertificateInfo::CertificateInfo(const Okular::CertificateInfo &other) = default; +Okular::CertificateInfo::CertificateInfo(Okular::CertificateInfo &&other) noexcept = default; +Okular::CertificateInfo &Okular::CertificateInfo::operator=(const Okular::CertificateInfo &other) = default; +CertificateInfo &Okular::CertificateInfo::operator=(Okular::CertificateInfo &&other) noexcept = default; + +CertificateInfo::~CertificateInfo() = default; + +Q_DECLARE_OPERATORS_FOR_FLAGS(CertificateInfo::KeyUsageExtensions) + +bool CertificateInfo::isNull() const +{ + return d->isNull; +} + +void CertificateInfo::setNull(bool isNull) +{ + d->isNull = isNull; +} + +int CertificateInfo::version() const +{ + return d->version; +} +void CertificateInfo::setVersion(int version) +{ + d->version = version; +} + +QByteArray CertificateInfo::serialNumber() const +{ + return d->serialNumber; +} +void CertificateInfo::setSerialNumber(const QByteArray &serialNumber) +{ + d->serialNumber = serialNumber; +} + +QString CertificateInfo::issuerInfo(EntityInfoKey key, EmptyString empty) const +{ + switch (key) { + case EntityInfoKey::CommonName: + return handleEmpty(d->issuerInfo.commonName, empty); + case EntityInfoKey::DistinguishedName: + return handleEmpty(d->issuerInfo.distinguishedName, empty); + case EntityInfoKey::EmailAddress: + return handleEmpty(d->issuerInfo.emailAddress, empty); + case EntityInfoKey::Organization: + return handleEmpty(d->issuerInfo.organization, empty); + } + return QString(); +} + +void CertificateInfo::setIssuerInfo(EntityInfoKey key, const QString &value) +{ + switch (key) { + case EntityInfoKey::CommonName: + d->issuerInfo.commonName = value; + return; + case EntityInfoKey::DistinguishedName: + d->issuerInfo.distinguishedName = value; + return; + case EntityInfoKey::EmailAddress: + d->issuerInfo.emailAddress = value; + return; + case EntityInfoKey::Organization: + d->issuerInfo.organization = value; + return; + } +} + +QString CertificateInfo::subjectInfo(EntityInfoKey key, EmptyString empty) const +{ + switch (key) { + case EntityInfoKey::CommonName: + return handleEmpty(d->subjectInfo.commonName, empty); + case EntityInfoKey::DistinguishedName: + return handleEmpty(d->subjectInfo.distinguishedName, empty); + case EntityInfoKey::EmailAddress: + return handleEmpty(d->subjectInfo.emailAddress, empty); + case EntityInfoKey::Organization: + return handleEmpty(d->subjectInfo.organization, empty); + } + return QString(); +} + +void CertificateInfo::setSubjectInfo(EntityInfoKey key, const QString &value) +{ + switch (key) { + case EntityInfoKey::CommonName: + d->subjectInfo.commonName = value; + return; + case EntityInfoKey::DistinguishedName: + d->subjectInfo.distinguishedName = value; + return; + case EntityInfoKey::EmailAddress: + d->subjectInfo.emailAddress = value; + return; + case EntityInfoKey::Organization: + d->subjectInfo.organization = value; + return; + } +} + +QString CertificateInfo::nickName() const +{ + return d->nickName; +} + +void CertificateInfo::setNickName(const QString &nickName) +{ + d->nickName = nickName; +} + +QDateTime CertificateInfo::validityStart() const +{ + return d->validityStart; +} + +void CertificateInfo::setValidityStart(const QDateTime &start) +{ + d->validityStart = start; +} + +QDateTime CertificateInfo::validityEnd() const +{ + return d->validityEnd; +} + +void Okular::CertificateInfo::setValidityEnd(const QDateTime &validityEnd) +{ + d->validityEnd = validityEnd; +} + +CertificateInfo::KeyUsageExtensions CertificateInfo::keyUsageExtensions() const +{ + return d->keyUsageExtensions; +} + +void Okular::CertificateInfo::setKeyUsageExtensions(Okular::CertificateInfo::KeyUsageExtensions ext) +{ + d->keyUsageExtensions = ext; +} + +QByteArray CertificateInfo::publicKey() const +{ + return d->publicKey; +} + +void Okular::CertificateInfo::setPublicKey(const QByteArray &publicKey) +{ + d->publicKey = publicKey; +} + +CertificateInfo::PublicKeyType CertificateInfo::publicKeyType() const +{ + return d->publicKeyType; +} + +void CertificateInfo::setPublicKeyType(PublicKeyType type) +{ + d->publicKeyType = type; +} + +int CertificateInfo::publicKeyStrength() const +{ + return d->publicKeyStrength; +} + +void CertificateInfo::setPublicKeyStrength(int strength) +{ + d->publicKeyStrength = strength; +} + +bool CertificateInfo::isSelfSigned() const +{ + return d->isSelfSigned; +} + +void CertificateInfo::setSelfSigned(bool selfSigned) +{ + d->isSelfSigned = selfSigned; +} + +QByteArray CertificateInfo::certificateData() const +{ + return d->certificateData; +} + +void CertificateInfo::setCertificateData(const QByteArray &certificateData) +{ + d->certificateData = certificateData; +} + +CertificateInfo::KeyLocation CertificateInfo::keyLocation() const +{ + return d->keyLocation; +} + +void CertificateInfo::setKeyLocation(KeyLocation location) +{ + d->keyLocation = location; +} + +CertificateInfo::Backend CertificateInfo::backend() const +{ + return d->backend; +} + +void CertificateInfo::setBackend(Backend backend) +{ + d->backend = backend; +} + +bool CertificateInfo::checkPassword(const QString &password) const +{ + if (d->checkPasswordFunction) { + return d->checkPasswordFunction(password); + } + return false; +} + +void CertificateInfo::setCheckPasswordFunction(const std::function &passwordFunction) +{ + d->checkPasswordFunction = passwordFunction; +} + +bool CertificateInfo::isQualified() const +{ + return d->isQualified; +} + +void CertificateInfo::setQualified(bool qualified) +{ + d->isQualified = qualified; +} + +CertificateInfo::CertificateType CertificateInfo::certificateType() const +{ + return d->certificateType; +} + +void CertificateInfo::setCertificateType(CertificateType type) +{ + d->certificateType = type; +} + +class Okular::SignatureInfoPrivate : public QSharedData +{ +public: + SignatureInfo::SignatureStatus signatureStatus = SignatureInfo::SignatureStatusUnknown; + SignatureInfo::CertificateStatus certificateStatus = SignatureInfo::CertificateStatusUnknown; + SignatureInfo::HashAlgorithm hashAlgorithm = SignatureInfo::HashAlgorithmUnknown; + QString signerName; + QString signerSubjectDN; + QString location; + QString reason; + QDateTime signingTime; + QByteArray signature; + QList signedRangeBounds; + bool signsTotalDocument = false; + CertificateInfo certificateInfo; +}; + +SignatureInfo::SignatureInfo() + : d {new SignatureInfoPrivate()} +{ +} + +SignatureInfo::SignatureInfo(SignatureInfo &&other) noexcept = default; +SignatureInfo::SignatureInfo(const SignatureInfo &other) = default; +SignatureInfo &SignatureInfo::operator=(SignatureInfo &&other) noexcept = default; +Okular::SignatureInfo &Okular::SignatureInfo::operator=(const Okular::SignatureInfo &other) = default; +SignatureInfo::~SignatureInfo() = default; + +SignatureInfo::SignatureStatus SignatureInfo::signatureStatus() const +{ + return d->signatureStatus; +} + +void SignatureInfo::setSignatureStatus(SignatureInfo::SignatureStatus status) +{ + d->signatureStatus = status; +} + +SignatureInfo::CertificateStatus SignatureInfo::certificateStatus() const +{ + return d->certificateStatus; +} + +void SignatureInfo::setCertificateStatus(SignatureInfo::CertificateStatus status) +{ + d->certificateStatus = status; +} + +SignatureInfo::HashAlgorithm SignatureInfo::hashAlgorithm() const +{ + return d->hashAlgorithm; +} + +void Okular::SignatureInfo::setHashAlgorithm(Okular::SignatureInfo::HashAlgorithm algorithm) +{ + d->hashAlgorithm = algorithm; +} + +QString SignatureInfo::signerName() const +{ + return d->signerName; +} + +void SignatureInfo::setSignerName(const QString &signerName) +{ + d->signerName = signerName; +} + +QString SignatureInfo::signerSubjectDN() const +{ + return d->signerSubjectDN; +} + +void Okular::SignatureInfo::setSignerSubjectDN(const QString &signerSubjectDN) +{ + d->signerSubjectDN = signerSubjectDN; +} + +QString SignatureInfo::location() const +{ + return d->location; +} + +void SignatureInfo::setLocation(const QString &location) +{ + d->location = location; +} + +QString SignatureInfo::reason() const +{ + return d->reason; +} + +void Okular::SignatureInfo::setReason(const QString &reason) +{ + d->reason = reason; +} + +QDateTime SignatureInfo::signingTime() const +{ + return d->signingTime; +} + +void Okular::SignatureInfo::setSigningTime(const QDateTime &time) +{ + d->signingTime = time; +} + +QByteArray SignatureInfo::signature() const +{ + return d->signature; +} + +void SignatureInfo::setSignature(const QByteArray &signature) +{ + d->signature = signature; +} + +QList SignatureInfo::signedRangeBounds() const +{ + return d->signedRangeBounds; +} + +void SignatureInfo::setSignedRangeBounds(const QList &range) +{ + d->signedRangeBounds = range; +} + +bool SignatureInfo::signsTotalDocument() const +{ + return d->signsTotalDocument; +} + +void SignatureInfo::setSignsTotalDocument(bool total) +{ + d->signsTotalDocument = total; +} + +CertificateInfo SignatureInfo::certificateInfo() const +{ + return d->certificateInfo; +} + +void SignatureInfo::setCertificateInfo(const Okular::CertificateInfo &info) +{ + d->certificateInfo = info; +} + +CertificateStore::CertificateStore() +{ +} + +CertificateStore::~CertificateStore() +{ +} + +QList CertificateStore::signingCertificates(bool *userCancelled) const +{ + *userCancelled = false; + return QList(); +} + +QList CertificateStore::signingCertificatesForNow(bool *userCancelled, bool *nonDateValidCerts) const +{ + const QDateTime now = QDateTime::currentDateTime(); + QList certs = signingCertificates(userCancelled); + auto it = certs.begin(); + *nonDateValidCerts = false; + while (it != certs.end()) { + if (it->validityStart() > now || (it->validityEnd().isValid() && now > it->validityEnd())) { + it = certs.erase(it); + *nonDateValidCerts = true; + } else { + ++it; + } + } + return certs; +} + +QString Okular::errorString(SigningResult result, const QVariant &additionalMessage) +{ + switch (result) { + case SigningSuccess: + return {}; + case FieldAlreadySigned: // We should not end up here, code should have caught it earlier and not allowed signature + case KeyMissing: // Given we provide a key id back to poppler, this should only be able to happen if the user removes the key underneath us + case InternalSigningError: + return i18nc("%1 is a error code", "Internal signing error. Please report a bug with the steps to reproduce it. Error code %1", additionalMessage.toInt()); + case GenericSigningError: + return xi18nc("%1 is a filename with path", "Could not sign the document: %1", additionalMessage.toString()); + case UserCancelled: // This is unlikely to actually happen in a way where we want to show a message + return i18n("Signing cancelled by user"); + case BadPassphrase: + return i18n("Could not sign. Wrong passphrase"); + case SignatureWriteFailed: + return xi18nc("%1 is a filename with path", "Could not write the signed document to %1, please ensure you have selected a folder with write permission", additionalMessage.toString()); + } + return i18n("Unknown signing error"); +} diff --git a/core/signatureutils.h b/core/signatureutils.h new file mode 100644 index 0000000..69aa707 --- /dev/null +++ b/core/signatureutils.h @@ -0,0 +1,596 @@ +/* + SPDX-FileCopyrightText: 2018 Chinmoy Ranjan Pradhan + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef OKULAR_SIGNATUREUTILS_H +#define OKULAR_SIGNATUREUTILS_H + +#include "okularcore_export.h" + +#include +#include +#include +#include +#include + +namespace Okular +{ + +/** + * @short A helper class to store information about x509 certificate + */ +class CertificateInfoPrivate; +class OKULARCORE_EXPORT CertificateInfo +{ +public: + /** The certificate backend is mostly + important if there is a wish to integrate + third party viewers, where some third party + viewers only interacts with some and not other + backend */ + enum class Backend { + /** The backend is either unknown + or known, but not something there is + currently supported need for*/ + Unknown, + /** The certificates in question originates + in gpg and thus can be queried using e.g. + KDE's certificate manager Kleopatra */ + Gpg + }; + /** + * The algorithm of public key. + */ + enum PublicKeyType { RsaKey, DsaKey, EcKey, OtherKey }; + + /** + * Certificate types + * @since 25.04 + */ + enum CertificateType { X509 /** X509 standardized certificates */, PGP /** PGP keys (Custom extension) */ }; + + /** + * Certificate key usage extensions. + */ + enum KeyUsageExtension { KuDigitalSignature = 0x80, KuNonRepudiation = 0x40, KuKeyEncipherment = 0x20, KuDataEncipherment = 0x10, KuKeyAgreement = 0x08, KuKeyCertSign = 0x04, KuClrSign = 0x02, KuEncipherOnly = 0x01, KuNone = 0x00 }; + Q_DECLARE_FLAGS(KeyUsageExtensions, KeyUsageExtension) + + /** + * Predefined keys for elements in an entity's distinguished name. + */ + enum EntityInfoKey { + CommonName, + DistinguishedName, + EmailAddress, + Organization, + }; + /** + * How should certain empty strings be treated + * @since 23.08 + */ + enum class EmptyString { /** Empty strings should just be empty*/ Empty, TranslatedNotAvailable /** Empty strings should be a localized version of "Not available" */ }; + + /** A signing key can be located in different places + * sometimes, for the user, it might be easier to pick + * the key located on a card if it have some visual + * indicator that it is somehow removable. + * + * \note a keylocation for a certificate without a private + *key (cannot be used for signing) will likely be "Unknown" + */ + enum class KeyLocation { + Unknown, /** We don't know the location */ + Other, /** We know the location, but it is somehow not covered by this enum */ + Computer, /** The key is on this computer */ + HardwareToken /** The key is on a dedicated hardware token, either a smartcard or a dedicated usb token (e.g. gnuk, nitrokey or yubikey) */ + }; + + /** + * Destructor + */ + ~CertificateInfo(); + + /** + * Returns true if the certificate has no contents; otherwise returns false + * @since 23.08 + */ + bool isNull() const; + + /** + * Sets the null value of the certificate. + * @since 23.08 + */ + void setNull(bool null); + + /** + * The certificate version string. + * @since 23.08 + */ + int version() const; + + /** + * Sets the certificate version string. + * @since 23.08 + */ + void setVersion(int version); + + /** + * The certificate serial number. + * @since 23.08 + */ + QByteArray serialNumber() const; + + /** + * Sets the certificate serial number. + * @since 23.08 + */ + void setSerialNumber(const QByteArray &serial); + + /** + * Information about the issuer. + * @since 23.08 + */ + QString issuerInfo(EntityInfoKey key, EmptyString empty) const; + + /** + * Sets information about the issuer. + * @since 23.08 + */ + void setIssuerInfo(EntityInfoKey key, const QString &value); + + /** + * Information about the subject + * @since 23.08 + */ + QString subjectInfo(EntityInfoKey key, EmptyString empty) const; + + /** + * Sets information about the subject + * @since 23.08 + */ + void setSubjectInfo(EntityInfoKey key, const QString &value); + + /** + * The certificate internal database nickname + * @since 23.08 + */ + QString nickName() const; + + /** + * Sets the certificate internal database nickname + * @since 23.08 + */ + void setNickName(const QString &nickName); + + /** + * The date-time when certificate becomes valid. + * @since 23.08 + */ + QDateTime validityStart() const; + + /** + * Sets the date-time when certificate becomes valid. + * @since 23.08 + */ + void setValidityStart(const QDateTime &start); + + /** + * The date-time when certificate expires. + * @since 23.08 + */ + QDateTime validityEnd() const; + + /** + * Sets the date-time when certificate expires. + * @since 23.08 + */ + void setValidityEnd(const QDateTime &validityEnd); + + /** + * The uses allowed for the certificate. + * @since 23.08 + */ + KeyUsageExtensions keyUsageExtensions() const; + + /** + * Sets the uses allowed for the certificate. + * @since 23.08 + */ + void setKeyUsageExtensions(KeyUsageExtensions ext); + + /** + * The public key value. + * @since 23.08 + */ + QByteArray publicKey() const; + /** + * Sets the public key value. + * @since 23.08 + */ + void setPublicKey(const QByteArray &publicKey); + + /** + * The public key type. + * @since 23.08 + */ + PublicKeyType publicKeyType() const; + + /** + * Sets the public key type. + * @since 23.08 + */ + void setPublicKeyType(PublicKeyType type); + + /** + * The strength of public key in bits. + * @since 23.08 + */ + int publicKeyStrength() const; + + /** + * Sets the strength of strength key in bits. + * @since 23.08 + */ + void setPublicKeyStrength(int strength); + + /** + * Returns true if certificate is self-signed otherwise returns false. + * @since 23.08 + */ + bool isSelfSigned() const; + + /** + * Sets if certificate is self-signed + * @since 23.08 + */ + void setSelfSigned(bool selfSigned); + + /** + * The DER encoded certificate. + * @since 23.08 + */ + QByteArray certificateData() const; + + /** + * Sets the DER encoded certificate. + * @since 23.08 + */ + void setCertificateData(const QByteArray &certificateData); + /* + * Sets the location of the certificate + * + * see \ref KeyLocation enum for details + * @since 24.02 + */ + void setKeyLocation(KeyLocation location); + + /** + * the location of the certificate + * + * see \ref KeyLocation enum for details + * @since 24.02 + */ + KeyLocation keyLocation() const; + + /** + * The backend where the certificate originates. + * see @ref Backend for details + * @since 23.08 + */ + Backend backend() const; + + /** + * Sets the backend for this certificate. + * see @ref Backend for details + * @since 23.08 + */ + void setBackend(Backend backend); + + /** + * Checks if the given password is the correct one for this certificate + * + * @since 23.08 + */ + bool checkPassword(const QString &password) const; + + /** + * Sets a function to check if the current password is correct. + * + * The default reject all passwords + * + * @since 23.08 + */ + void setCheckPasswordFunction(const std::function &passwordFunction); + + bool isQualified() const; + void setQualified(bool qualified); + + /** + * @since 25.04 + * \see also \ref CertificateType + * @return certificateType + */ + CertificateType certificateType() const; + + /** + * @since 25.04 + * sets the certificateType + * \see also \ref CertificateType + */ + void setCertificateType(CertificateType type); + + CertificateInfo(); + CertificateInfo(const CertificateInfo &other); + CertificateInfo(CertificateInfo &&other) noexcept; + CertificateInfo &operator=(const CertificateInfo &other); + CertificateInfo &operator=(CertificateInfo &&other) noexcept; + +private: + QSharedDataPointer d; +}; + +/** + * @short A helper class to store information about digital signature + */ +class SignatureInfoPrivate; +class OKULARCORE_EXPORT SignatureInfo +{ +public: + /** + * The verification result of the signature. + */ + enum SignatureStatus { + SignatureStatusUnknown, ///< The signature status is unknown for some reason. + SignatureValid, ///< The signature is cryptographically valid. + SignatureInvalid, ///< The signature is cryptographically invalid. + SignatureDigestMismatch, ///< The document content was changed after the signature was applied. + SignatureDecodingError, ///< The signature CMS/PKCS7 structure is malformed. + SignatureGenericError, ///< The signature could not be verified. + SignatureNotFound, ///< The requested signature is not present in the document. + SignatureNotVerified ///< The signature is not yet verified. + }; + + /** + * The verification result of the certificate. + */ + enum CertificateStatus { + CertificateStatusUnknown, ///< The certificate status is unknown for some reason. + CertificateTrusted, ///< The certificate is considered trusted. + CertificateUntrustedIssuer, ///< The issuer of this certificate has been marked as untrusted by the user. + CertificateUnknownIssuer, ///< The certificate trust chain has not finished in a trusted root certificate. + CertificateRevoked, ///< The certificate was revoked by the issuing certificate authority. + CertificateExpired, ///< The signing time is outside the validity bounds of this certificate. + CertificateGenericError, ///< The certificate could not be verified. + CertificateNotVerified, ///< The certificate is not yet verified. + CertificateVerificationInProgress, ///< The certification is not yet verified, but in progress \since 24.08 + }; + + /** + * The hash algorithm of the signature + */ + enum HashAlgorithm { HashAlgorithmUnknown, HashAlgorithmMd2, HashAlgorithmMd5, HashAlgorithmSha1, HashAlgorithmSha256, HashAlgorithmSha384, HashAlgorithmSha512, HashAlgorithmSha224 }; + + /** + * Destructor. + */ + ~SignatureInfo(); + + /** + * The signature status of the signature. + * @since 23.08 + */ + SignatureStatus signatureStatus() const; + + /** + * Sets the signature status of the signature. + * @since 23.08 + */ + void setSignatureStatus(SignatureStatus status); + + /** + * The certificate status of the signature. + * @since 23.08 + */ + CertificateStatus certificateStatus() const; + + /** + * Sets the certificate status of the signature. + * @since 23.08 + */ + void setCertificateStatus(CertificateStatus status); + + /** + * The signer subject common name associated with the signature. + * @since 23.08 + */ + QString signerName() const; + + /** + * Sets the signer subject common name associated with the signature. + * @since 23.08 + */ + void setSignerName(const QString &signerName); + + /** + * The signer subject distinguished name associated with the signature. + * @since 23.08 + */ + QString signerSubjectDN() const; + + /** + * Sets the signer subject distinguished name associated with the signature. + * @since 23.08 + */ + void setSignerSubjectDN(const QString &signerSubjectDN); + + /** + * Get signing location. + * @since 23.08 + */ + QString location() const; + + /** + * Sets the signing location. + * @since 23.08 + */ + void setLocation(const QString &location); + + /** + * Get signing reason. + * @since 23.08 + */ + QString reason() const; + + /** + * Sets the signing reason. + * @since 23.08 + */ + void setReason(const QString &reason); + + /** + * The hash algorithm used for the signature. + * @since 23.08 + */ + HashAlgorithm hashAlgorithm() const; + + /** + * Sets the hash algorithm used for the signature. + * @since 23.08 + */ + void setHashAlgorithm(HashAlgorithm algorithm); + + /** + * The signing time associated with the signature. + * @since 23.08 + */ + QDateTime signingTime() const; + + /** + * Sets the signing time associated with the signature. + * @since 23.08 + */ + void setSigningTime(const QDateTime &time); + + /** + * Get the signature binary data. + * @since 23.08 + */ + QByteArray signature() const; + + /** + * Sets the signature binary data. + * @since 23.08 + */ + void setSignature(const QByteArray &signature); + + /** + * Get the bounds of the ranges of the document which are signed. + * @since 23.08 + */ + QList signedRangeBounds() const; + + /** + * Sets the bounds of the ranges of the document which are signed. + * @since 23.08 + */ + void setSignedRangeBounds(const QList &range); + + /** + * Checks whether the signature authenticates the total document + * except for the signature itself. + * @since 23.08 + */ + bool signsTotalDocument() const; + + /** + * Checks whether the signature authenticates the total document + * except for the signature itself. + * @since 23.08 + */ + void setSignsTotalDocument(bool total); + + /** + * Get certificate details. + * @since 23.08 + */ + CertificateInfo certificateInfo() const; + + /** + * Sets certificate details. + * @since 23.08 + */ + void setCertificateInfo(const CertificateInfo &info); + + SignatureInfo(); + SignatureInfo(const SignatureInfo &other); + SignatureInfo(SignatureInfo &&other) noexcept; + SignatureInfo &operator=(const SignatureInfo &other); + SignatureInfo &operator=(SignatureInfo &&other) noexcept; + +private: + QSharedDataPointer d; +}; + +/** + * @short A helper class to store information about x509 certificate + */ +class OKULARCORE_EXPORT CertificateStore +{ +public: + /** + * Destructor + */ + virtual ~CertificateStore(); + + /** + * Returns list of valid, usable signing certificates. + * + * This can ask the user for a password, userCancelled will be true if the user decided not to enter it. + * @since 23.08 + */ + virtual QList signingCertificates(bool *userCancelled) const; + + /** + * Returns list of valid, usable signing certificates for current date and time. + * + * This can ask the user for a password, userCancelled will be true if the user decided not to enter it. + * + * nonDateValidCerts is true if the user has signing certificates but their validity start date is in the future or past their validity end date. + * @since 23.08 + */ + QList signingCertificatesForNow(bool *userCancelled, bool *nonDateValidCerts) const; + +protected: + CertificateStore(); + +private: + Q_DISABLE_COPY(CertificateStore) +}; + +/** + * \since 24.12 + */ +enum SigningResult { + SigningSuccess, ///< everything ok + FieldAlreadySigned, ///< couldn't sign because already signed + GenericSigningError, ///< generic (catch-all) error + InternalSigningError, ///< Internal signing error. This is likely a application or poppler bug \since 25.04 + KeyMissing, ///< requested key not found \since 25.04 + SignatureWriteFailed, ///< writing error \since 25.04 + UserCancelled, ///< user aborted \since 25.04 + BadPassphrase, ///< bad passphrase \since 25.04 +}; + +/** + * User strings for signing errors + * \param SigningResult + * \param possible argument for the signing result + * \since 25.04 + */ + +OKULARCORE_EXPORT QString errorString(SigningResult result, const QVariant &additionalMessage); +} + +#endif diff --git a/core/sound.cpp b/core/sound.cpp new file mode 100644 index 0000000..ee8dcaa --- /dev/null +++ b/core/sound.cpp @@ -0,0 +1,114 @@ +/* + SPDX-FileCopyrightText: 2006 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "sound.h" + +#include + +using namespace Okular; + +class Sound::Private +{ +public: + explicit Private(const QByteArray &data) + : m_data(QVariant(data)) + , m_type(Sound::Embedded) + { + init(); + } + + explicit Private(const QString &url) + : m_data(QVariant(url)) + , m_type(Sound::External) + { + init(); + } + + void init() + { + m_samplingRate = 44100.0; + m_channels = 1; + m_bitsPerSample = 8; + m_soundEncoding = Sound::Raw; + } + + QVariant m_data; + Sound::SoundType m_type; + double m_samplingRate; + int m_channels; + int m_bitsPerSample; + SoundEncoding m_soundEncoding; +}; + +Sound::Sound(const QByteArray &data) + : d(new Private(data)) +{ +} + +Sound::Sound(const QString &url) + : d(new Private(url)) +{ +} + +Sound::~Sound() +{ + delete d; +} + +Sound::SoundType Sound::soundType() const +{ + return d->m_type; +} + +QString Sound::url() const +{ + return d->m_type == Sound::External ? d->m_data.toString() : QString(); +} + +QByteArray Sound::data() const +{ + return d->m_type == Sound::Embedded ? d->m_data.toByteArray() : QByteArray(); +} + +double Sound::samplingRate() const +{ + return d->m_samplingRate; +} + +void Sound::setSamplingRate(double samplingRate) +{ + d->m_samplingRate = samplingRate; +} + +int Sound::channels() const +{ + return d->m_channels; +} + +void Sound::setChannels(int channels) +{ + d->m_channels = channels; +} + +int Sound::bitsPerSample() const +{ + return d->m_bitsPerSample; +} + +void Sound::setBitsPerSample(int bitsPerSample) +{ + d->m_bitsPerSample = bitsPerSample; +} + +Sound::SoundEncoding Sound::soundEncoding() const +{ + return d->m_soundEncoding; +} + +void Sound::setSoundEncoding(Sound::SoundEncoding soundEncoding) +{ + d->m_soundEncoding = soundEncoding; +} diff --git a/core/sound.h b/core/sound.h new file mode 100644 index 0000000..7ebf1f9 --- /dev/null +++ b/core/sound.h @@ -0,0 +1,124 @@ +/* + SPDX-FileCopyrightText: 2006 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_SOUND_H_ +#define _OKULAR_SOUND_H_ + +#include "okularcore_export.h" + +#include +#include + +namespace Okular +{ +/** + * @short Contains information about a sound object. + * + * This class encapsulates the information about a sound object + * which is used for links on enter/leave page event. + */ +class OKULARCORE_EXPORT Sound +{ +public: + /** + * Describes where the sound is stored. + */ + enum SoundType { + External, ///< Is stored at external resource (e.g. url) + Embedded ///< Is stored embedded in the document + }; + + /** + * Describes the encoding of the sound data. + */ + enum SoundEncoding { + Raw, ///< Is not encoded + Signed, ///< Is encoded with twos-complement values + muLaw, ///< Is µ-law encoded + ALaw ///< Is A-law encoded + }; + + /** + * Creates a new sound object with the given embedded + * sound @p data. + */ + explicit Sound(const QByteArray &data); + + /** + * Creates a new sound object with the given external @p url. + */ + explicit Sound(const QString &url); + + /** + * Destroys the sound object. + */ + ~Sound(); + + /** + * Returns the type of the sound object. + */ + SoundType soundType() const; + + /** + * Returns the external storage url of the sound data. + */ + QString url() const; + + /** + * Returns the embedded sound data. + */ + QByteArray data() const; + + /** + * Sets the sampling @p rate. + */ + void setSamplingRate(double rate); + + /** + * Returns the sampling rate. + */ + double samplingRate() const; + + /** + * Sets the number of @p channels. + */ + void setChannels(int channels); + + /** + * Returns the number of channels. + */ + int channels() const; + + /** + * Sets the bits per sample @p bitsPerSample. + */ + void setBitsPerSample(int bitsPerSample); + + /** + * Returns the bits per sample rate. + */ + int bitsPerSample() const; + + /** + * Sets the type of sound @p encoding. + */ + void setSoundEncoding(SoundEncoding encoding); + + /** + * Returns the sound encoding. + */ + SoundEncoding soundEncoding() const; + +private: + class Private; + Private *const d; + + Q_DISABLE_COPY(Sound) +}; + +} + +#endif diff --git a/core/sourcereference.cpp b/core/sourcereference.cpp new file mode 100644 index 0000000..dc01897 --- /dev/null +++ b/core/sourcereference.cpp @@ -0,0 +1,104 @@ +/* + SPDX-FileCopyrightText: 2007, 2008 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "sourcereference.h" +#include "sourcereference_p.h" + +#include +#include +#include + +using namespace Okular; + +class SourceReference::Private +{ +public: + Private() + : row(0) + , column(0) + { + } + + QString filename; + int row; + int column; +}; + +SourceReference::SourceReference(const QString &fileName, int row, int column) + : d(new Private) +{ + d->filename = fileName; + d->row = row; + d->column = column; +} + +SourceReference::~SourceReference() +{ + delete d; +} + +QString SourceReference::fileName() const +{ + return d->filename; +} + +int SourceReference::row() const +{ + return d->row; +} + +int SourceReference::column() const +{ + return d->column; +} + +std::optional Okular::extractLilyPondSourceReference(const QUrl &url) +{ + // Example URL is: textedit:///home/foo/bar.ly:42:42:42 + // The three numbers are apparently: line:beginning of column:end of column + + if (url.scheme() != QStringLiteral("textedit")) { + return std::nullopt; + } + + // There can be more, in case the filename contains : + if (url.fileName().count(QLatin1Char(':')) < 3) { + return std::nullopt; + } + + QStringList parts(url.path().split(QLatin1Char(':'))); + + bool ok; + // Take out the things we need + int columnEnd = parts.takeLast().toInt(&ok); // apparently we don't use this + Q_UNUSED(columnEnd); + if (!ok) { + return std::nullopt; + } + + auto column = parts.takeLast().toInt(&ok); + if (!ok) { + return std::nullopt; + } + + auto row = parts.takeLast().toInt(&ok); + if (!ok) { + return std::nullopt; + } + + // In case the path itself contains :, we need to reconstruct it after removing all the numbers + auto fileName = parts.join(QLatin1Char(':')); + if (fileName.isEmpty()) { + return std::nullopt; + } + + return std::make_optional(fileName, row, column); +} + +QString Okular::sourceReferenceToolTip(const SourceReference &sourceReference) +{ + return i18nc("'source' is a source file", "Source: %1", sourceReference.fileName()); +} diff --git a/core/sourcereference.h b/core/sourcereference.h new file mode 100644 index 0000000..242dc7b --- /dev/null +++ b/core/sourcereference.h @@ -0,0 +1,60 @@ +/* + SPDX-FileCopyrightText: 2007 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef OKULAR_SOURCEREFERENCE_H +#define OKULAR_SOURCEREFERENCE_H + +#include "okularcore_export.h" + +#include + +namespace Okular +{ +/** + * @short Defines a source reference + * + * A source reference is a reference to one of the source(s) of the loaded + * document. + */ +class OKULARCORE_EXPORT SourceReference +{ +public: + /** + * Creates a reference to the row @p row and column @p column of the + * source @p fileName + */ + SourceReference(const QString &fileName, int row, int column = 0); + + /** + * Destroys the source reference. + */ + ~SourceReference(); + + /** + * Returns the filename of the source. + */ + QString fileName() const; + + /** + * Returns the row of the position in the source file. + */ + int row() const; + + /** + * Returns the column of the position in the source file. + */ + int column() const; + +private: + class Private; + Private *const d; + + Q_DISABLE_COPY(SourceReference) +}; + +} + +#endif diff --git a/core/sourcereference_p.h b/core/sourcereference_p.h new file mode 100644 index 0000000..c633de2 --- /dev/null +++ b/core/sourcereference_p.h @@ -0,0 +1,23 @@ +/* + SPDX-FileCopyrightText: 2008 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef OKULAR_SOURCEREFERENCE_P_H +#define OKULAR_SOURCEREFERENCE_P_H + +#include "sourcereference.h" + +#include + +class QUrl; + +namespace Okular +{ +std::optional extractLilyPondSourceReference(const QUrl &url); +QString sourceReferenceToolTip(const SourceReference &sourceReference); + +} + +#endif diff --git a/core/stamps.svg b/core/stamps.svg new file mode 100644 index 0000000..16a430c --- /dev/null +++ b/core/stamps.svg @@ -0,0 +1,538 @@ + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Okular stamps + + + Eugene Trounev [it-s] + + + + + + + + + + + + + + + + + + + + + + + Confidential + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Sold + + + + + + + + + + + + + + + + + + + diff --git a/core/synctex/patches/00-disable-SYNCTEX_INLINE.diff b/core/synctex/patches/00-disable-SYNCTEX_INLINE.diff new file mode 100644 index 0000000..d822fad --- /dev/null +++ b/core/synctex/patches/00-disable-SYNCTEX_INLINE.diff @@ -0,0 +1,17 @@ +Disable SYNCTEX_INLINE on non-MSVC compilers. It is misplaced +in the code (before "static"), so it causes compiling errors. +Author: Pino Toscano + +Index: synctex/synctex_parser.c +=================================================================== +--- synctex.orig/synctex_parser.c ++++ synctex/synctex_parser.c +@@ -91,7 +91,7 @@ + # if defined(_MSC_VER) + # define SYNCTEX_INLINE __inline + # else +-# define SYNCTEX_INLINE inline ++# define SYNCTEX_INLINE + # endif + # endif + diff --git a/core/synctex/patches/04-gcc-specify-printf-format.diff b/core/synctex/patches/04-gcc-specify-printf-format.diff new file mode 100644 index 0000000..24cc67e --- /dev/null +++ b/core/synctex/patches/04-gcc-specify-printf-format.diff @@ -0,0 +1,77 @@ +_synctex_error has a printf-like format, so use the proper gcc extensions +to check its arguments (doing nothing for other compilers) +Author: Pino Toscano + +Index: synctex/synctex_parser_utils.h +=================================================================== +--- synctex.orig/synctex_parser_utils.h ++++ synctex/synctex_parser_utils.h +@@ -83,6 +83,12 @@ extern "C" { + # else + # define SYNCTEX_ARE_PATH_CHARACTERS_EQUAL(left,right) (toupper(left) != toupper(right)) + # endif ++ ++# ifdef __GNUC__ ++# define SYNCTEX_PRINTF_FORMAT(si, ftc) __attribute__ ((format (printf, si, ftc))) ++# else ++# define SYNCTEX_PRINTF_FORMAT(si, ftc) ++# endif + + /* This custom malloc functions initializes to 0 the newly allocated memory. + * There is no bzero function on windows. */ +@@ -95,8 +101,8 @@ void _synctex_free(void * ptr); + /* This is used to log some informational message to the standard error stream. + * On Windows, the stderr stream is not exposed and another method is used. + * The return value is the number of characters printed. */ +- int _synctex_error(const char * reason,...); +- int _synctex_debug(const char * reason,...); ++ int _synctex_error(const char * reason,...) SYNCTEX_PRINTF_FORMAT(1, 2); ++ int _synctex_debug(const char * reason,...) SYNCTEX_PRINTF_FORMAT(1, 2); + + /* strip the last extension of the given string, this string is modified! + * This function depends on the OS because the path separator may differ. +Index: synctex/synctex_parser.c +=================================================================== +--- synctex.orig/synctex_parser.c ++++ synctex/synctex_parser.c +@@ -8148,6 +8148,7 @@ struct synctex_updater_t { + int length; /* the number of chars appended */ + }; + ++static int _synctex_updater_print(synctex_updater_p updater, const char * format, ...) SYNCTEX_PRINTF_FORMAT(2, 3); + static int _synctex_updater_print(synctex_updater_p updater, const char * format, ...) { + int result = 0; + if (updater) { +@@ -8184,6 +8185,7 @@ static int vasprintf(char **ret, + /** + * gzvprintf is not available until OSX 10.10 + */ ++static int _synctex_updater_print_gz(synctex_updater_p updater, const char * format, ...) SYNCTEX_PRINTF_FORMAT(2, 3); + static int _synctex_updater_print_gz(synctex_updater_p updater, const char * format, ...) { + int result = 0; + if (updater) { +Index: synctex/synctex_parser_utils.c +=================================================================== +--- synctex.orig/synctex_parser_utils.c ++++ synctex/synctex_parser_utils.c +@@ -87,8 +87,11 @@ void _synctex_free(void * ptr) { + # include + #endif + +-int _synctex_log(int level, const char * prompt, const char * reason, va_list arg;) { ++int _synctex_log(int level, const char * prompt, const char * reason, ...) SYNCTEX_PRINTF_FORMAT(3, 4); ++int _synctex_log(int level, const char * prompt, const char * reason, ...) { ++ va_list arg; + int result; ++ va_start(arg, reason); + # ifdef SYNCTEX_RECENT_WINDOWS + {/* This code is contributed by William Blum. + As it does not work on some older computers, +@@ -130,6 +133,7 @@ int _synctex_log(int level, const char * + result += vfprintf(where, reason, arg); + result += fprintf(where,"\n"); + # endif ++ va_end(arg); + return result; + } + diff --git a/core/synctex/patches/06-mingw-_synctex_error.diff b/core/synctex/patches/06-mingw-_synctex_error.diff new file mode 100644 index 0000000..75f0aaf --- /dev/null +++ b/core/synctex/patches/06-mingw-_synctex_error.diff @@ -0,0 +1,36 @@ +_vscprintf() is specific for MSVC; thus in _synctex_error(), for any other +compiler on Windows, use _vsnprintf() and grow the buffer until necessary. + +Patch provided by Patrick Spendrin . + +Index: synctex/synctex_parser_utils.c +=================================================================== +--- synctex.orig/synctex_parser_utils.c ++++ synctex/synctex_parser_utils.c +@@ -104,8 +104,26 @@ int _synctex_log(int level, const char * + char *buff; + size_t len; + OutputDebugStringA(prompt); ++# ifdef _MSC_VER + len = _vscprintf(reason, arg) + 1; + buff = (char*)malloc( len * sizeof(char) ); ++# else /* MinGW */ ++ size_t buffersize = 1024; ++ size_t max_buffersize = 1024 * buffersize; ++ int result; ++ buff = (char*)malloc(buffersize * sizeof(char)); ++ result = _vsnprintf(buff, buffersize - 1, reason, arg); ++ while(-1 == result && buffersize <= max_buffersize) { ++ buffersize = buffersize * 2; ++ buff = (char*)realloc(buff, buffersize * sizeof(char)); ++ result = _vsnprintf(buff, buffersize - 1, reason, arg); ++ } ++ if(-1 == result) { ++ // could not make the buffer big enough or simply could not write to it ++ free(buff); ++ return -1; ++ } ++# endif + result = vsprintf(buff, reason, arg) +strlen(prompt); + OutputDebugStringA(buff); + OutputDebugStringA("\n"); diff --git a/core/synctex/patches/08-fix_cpp_comments.diff b/core/synctex/patches/08-fix_cpp_comments.diff new file mode 100644 index 0000000..05dd81c --- /dev/null +++ b/core/synctex/patches/08-fix_cpp_comments.diff @@ -0,0 +1,37 @@ +Fix cpp comments +Author: Albert Astals Cid + +Index: synctex/synctex_parser.c +=================================================================== +--- synctex.orig/synctex_parser.c ++++ synctex/synctex_parser.c +@@ -6048,7 +6048,7 @@ static int _synctex_scanner_get_tag(sync + } + } while((input = __synctex_tree_sibling(input))); + } +- // 2011 version ++ /* 2011 version */ + name = _synctex_base_name(name); + if ((input = scanner->input)) { + do { +@@ -6058,7 +6058,7 @@ static int _synctex_scanner_get_tag(sync + if (_synctex_is_equivalent_file_name(name,_synctex_base_name(_synctex_data_name(other_input))) + && (strlen(_synctex_data_name(input))!=strlen(_synctex_data_name(other_input)) + || strncmp(_synctex_data_name(other_input),_synctex_data_name(input),strlen(_synctex_data_name(input))))) { +- // There is a second possible candidate ++ /* There is a second possible candidate */ + return 0; + } + } +Index: synctex/synctex_parser_utils.c +=================================================================== +--- synctex.orig/synctex_parser_utils.c ++++ synctex/synctex_parser_utils.c +@@ -587,6 +587,6 @@ int _synctex_get_name(const char * outpu + + const char * _synctex_get_io_mode_name(synctex_io_mode_t io_mode) { + static const char * synctex_io_modes[4] = {"r","rb","a","ab"}; +- unsigned index = ((io_mode & synctex_io_gz_mask)?1:0) + ((io_mode & synctex_io_append_mask)?2:0);// bug pointed out by Jose Alliste ++ unsigned index = ((io_mode & synctex_io_gz_mask)?1:0) + ((io_mode & synctex_io_append_mask)?2:0);/* bug pointed out by Jose Alliste */ + return synctex_io_modes[index]; + } diff --git a/core/synctex/patches/10-fix-typo.diff b/core/synctex/patches/10-fix-typo.diff new file mode 100644 index 0000000..93387b4 --- /dev/null +++ b/core/synctex/patches/10-fix-typo.diff @@ -0,0 +1,17 @@ +Fix some typos found by Krazy2 +Author: Yuri Chornoivan +Original commit: 3b73357 + +Index: synctex/synctex_parser_utils.c +=================================================================== +--- synctex.orig/synctex_parser_utils.c ++++ synctex/synctex_parser_utils.c +@@ -410,7 +410,7 @@ char * _synctex_merge_strings(const char + + /* The purpose of _synctex_get_name is to find the name of the synctex file. + * There is a list of possible filenames from which we return the most recent one and try to remove all the others. +- * With two runs of pdftex or xetex we are sure the the synctex file is really the most appropriate. ++ * With two runs of pdftex or xetex we are sure the synctex file is really the most appropriate. + */ + int _synctex_get_name(const char * output, const char * build_directory, char ** synctex_name_ref, synctex_io_mode_t * io_mode_ref) + { diff --git a/core/synctex/patches/11-fix-unused-parameters-warnings.diff b/core/synctex/patches/11-fix-unused-parameters-warnings.diff new file mode 100644 index 0000000..db65649 --- /dev/null +++ b/core/synctex/patches/11-fix-unused-parameters-warnings.diff @@ -0,0 +1,49 @@ +Fix low hanging unused parameters warnings +Author: Martin T. H. Sandsmark +Original commit: d5bdca6 + +Index: synctex/synctex_parser.c +=================================================================== +--- synctex.orig/synctex_parser.c ++++ synctex/synctex_parser.c +@@ -198,9 +198,7 @@ typedef struct synctex_tlcpector_t { + } synctex_tlcpector_s; + typedef const synctex_tlcpector_s * synctex_tlcpector_p; + static int _synctex_int_none(synctex_node_p node) { +-# ifdef __DARWIN_UNIX03 +-# pragma unused(node) +-# endif ++ (void)node; /* unused */ + return 0; + } + static const synctex_tlcpector_s synctex_tlcpector_none = { +@@ -234,9 +232,7 @@ typedef struct synctex_vispector_t { + synctex_float_getter_f depth; + } synctex_vispector_s; + static float _synctex_float_none(synctex_node_p node) { +-# ifdef __DARWIN_UNIX03 +-# pragma unused(node) +-# endif ++ (void)node; /* unused */ + return 0; + } + static const synctex_vispector_s synctex_vispector_none = { +@@ -7206,9 +7202,7 @@ static synctex_node_p _synctex_display_q + return first_handle; + } + synctex_iterator_p synctex_iterator_new_display(synctex_scanner_p scanner,const char * name,int line,int column, int page_hint) { +-# ifdef __DARWIN_UNIX03 +-# pragma unused(column) +-# endif ++ (void)column; /* unused */ + if (scanner) { + int tag = synctex_scanner_get_tag(scanner,name);/* parse if necessary */ + int max_line = 0; +@@ -7977,6 +7971,7 @@ SYNCTEX_INLINE static synctex_nd_lr_s __ + } + #endif + SYNCTEX_INLINE static synctex_nd_lr_s __synctex_eq_get_closest_children_in_vbox_v2(synctex_point_p hitP, synctex_node_p nodeP) { ++ (void)nodeP; /* unused */ + synctex_nd_lr_s nds = {SYNCTEX_ND_0,SYNCTEX_ND_0}; + synctex_nd_s nd = SYNCTEX_ND_0; + if ((nd.node = synctex_node_child(nd.node))) { diff --git a/core/synctex/patches/12-omit-no-file-warning.diff b/core/synctex/patches/12-omit-no-file-warning.diff new file mode 100644 index 0000000..c4cfa5d --- /dev/null +++ b/core/synctex/patches/12-omit-no-file-warning.diff @@ -0,0 +1,17 @@ +Omit warning message when opening non-synctex pdf +Author: Henrik Fehlauer + +Index: synctex/synctex_parser.c +=================================================================== +--- synctex.orig/synctex_parser.c ++++ synctex/synctex_parser.c +@@ -5838,7 +5838,9 @@ synctex_scanner_p synctex_scanner_new_wi + if ((scanner->reader = synctex_reader_init_with_output_file(scanner->reader, output, build_directory))) { + return parse? synctex_scanner_parse(scanner):scanner; + } ++#if defined(SYNCTEX_DEBUG) + _synctex_error("No file?"); ++#endif + return NULL; + } + diff --git a/core/synctex/patches/13-fix-Wundef-warnings.diff b/core/synctex/patches/13-fix-Wundef-warnings.diff new file mode 100644 index 0000000..e5c1924 --- /dev/null +++ b/core/synctex/patches/13-fix-Wundef-warnings.diff @@ -0,0 +1,326 @@ +Fix compiler warnings for -Wundef +Author: Henrik Fehlauer + +Index: synctex/synctex_parser.c +=================================================================== +--- synctex.orig/synctex_parser.c ++++ synctex/synctex_parser.c +@@ -362,7 +362,7 @@ __synctex_scanner_register_handle_to(NOD + # pragma mark Tree SETGET + # endif + +-#if SYNCTEX_DEBUG > 1000 ++#if defined SYNCTEX_DEBUG && SYNCTEX_DEBUG > 1000 + #define SYNCTEX_PARAMETER_ASSERT(WHAT) \ + do { \ + if (!(WHAT)) { \ +@@ -459,11 +459,11 @@ DEFINE_SYNCTEX_TREE_GETSET(next_hbox) + DEFINE_SYNCTEX_TREE_GETSET(arg_sibling) + DEFINE_SYNCTEX_TREE_GETSET(target) + +-#if SYNCTEX_DEBUG>1000 ++#if defined SYNCTEX_DEBUG && SYNCTEX_DEBUG>1000 + # undef SYNCTEX_USE_NODE_COUNT + # define SYNCTEX_USE_NODE_COUNT 1 + #endif +-#if SYNCTEX_USE_NODE_COUNT>0 ++#if defined SYNCTEX_USE_NODE_COUNT && SYNCTEX_USE_NODE_COUNT>0 + # define SYNCTEX_DECLARE_NODE_COUNT int node_count; + # define SYNCTEX_INIT_NODE_COUNT \ + do { node_count = 0; } while(synctex_NO) +@@ -472,7 +472,7 @@ DEFINE_SYNCTEX_TREE_GETSET(target) + # define SYNCTEX_INIT_NODE_COUNT + #endif + +-#if SYNCTEX_USE_NODE_COUNT>10 ++#if defined SYNCTEX_USE_NODE_COUNT && SYNCTEX_USE_NODE_COUNT>10 + # define SYNCTEX_DID_NEW(N) _synctex_did_new(N) + # define SYNCTEX_WILL_FREE(N) _synctex_will_free(N) + #else +@@ -865,7 +865,7 @@ SYNCTEX_INLINE static void __synctex_sca + node->class->scanner->handle = NNN; + } + #endif +-#if SYNCTEX_USE_NODE_COUNT>10 ++#if defined SYNCTEX_USE_NODE_COUNT && SYNCTEX_USE_NODE_COUNT>10 + SYNCTEX_INLINE static void _synctex_did_new(synctex_node_p node) { + printf("NODE CREATED # %i, %s, %p\n", + (node->class->scanner->node_count)++, +@@ -2516,7 +2516,7 @@ SYNCTEX_INLINE static synctex_nns_s _syn + } + static char * _synctex_node_abstract(synctex_node_p node); + SYNCTEX_INLINE static synctex_node_p synctex_tree_set_friend(synctex_node_p node,synctex_node_p new_friend) { +-#if SYNCTEX_DEBUG ++#if defined SYNCTEX_DEBUG && SYNCTEX_DEBUG + synctex_node_p F = new_friend; + while (F) { + if (node == F) { +@@ -2545,7 +2545,7 @@ SYNCTEX_INLINE static synctex_node_p __s + i = i%(node->class->scanner->number_of_lists); + old = synctex_tree_set_friend(node,(node->class->scanner->lists_of_friends)[i]); + (node->class->scanner->lists_of_friends)[i] = node; +-#if SYNCTEX_DEBUG>500 ++#if defined SYNCTEX_DEBUG && SYNCTEX_DEBUG>500 + printf("tl(%i)=>",i); + synctex_node_log(node); + if (synctex_node_parent_form(node)) { +@@ -4186,7 +4186,7 @@ static synctex_ns_s __synctex_parse_new_ + /* Prepend this input node to the input linked list of the scanner */ + __synctex_tree_set_sibling(input,scanner->input);/* input has no parent */ + scanner->input = input; +-# if SYNCTEX_VERBOSE ++# ifdef SYNCTEX_VERBOSE + synctex_node_log(input); + # endif + return (synctex_ns_s){input,_synctex_next_line(scanner)};/* read the line termination character, if any */ +@@ -5083,10 +5083,10 @@ content_loop: + */ + /* forms are everywhere */ + ns = SYNCTEX_NS_NULL; +-#if SYNCTEX_VERBOSE ++#ifdef SYNCTEX_VERBOSE + synctex_scanner_set_display_switcher(scanner,-1); + printf("NEW CONTENT LOOP\n"); +-#if SYNCTEX_DEBUG>500 ++#if defined SYNCTEX_DEBUG && SYNCTEX_DEBUG>500 + synctex_node_display(sheet); + #endif + #endif +@@ -5106,7 +5106,7 @@ content_loop: + } + parent = ns.node; + child = _synctex_tree_last(parent); +-# if SYNCTEX_VERBOSE ++# ifdef SYNCTEX_VERBOSE + synctex_node_log(parent); + # endif + input.node = _synctex_input_register_line(input.node,parent); +@@ -5124,7 +5124,7 @@ content_loop: + } + child = parent; + parent = _synctex_tree_parent(child); +-# if SYNCTEX_VERBOSE ++# ifdef SYNCTEX_VERBOSE + synctex_node_log(child); + # endif + if (_synctex_next_line(scanner)500 ++#if defined SYNCTEX_DEBUG && SYNCTEX_DEBUG>500 + synctex_node_display(parent); + synctex_node_display(child); + #endif +@@ -5406,7 +5406,7 @@ _synctex_make_hbox_contain_box(parent,_s + } + scanner->ref_in_sheet = child; + } +-# if SYNCTEX_VERBOSE ++# ifdef SYNCTEX_VERBOSE + synctex_node_log(child); + # endif + goto content_loop; +@@ -5427,7 +5427,7 @@ _synctex_make_hbox_contain_box(parent,_s + __synctex_node_make_friend_tlc(child); + } + _synctex_make_hbox_contain_point(parent,_synctex_data_point(child)); +-# if SYNCTEX_VERBOSE ++# ifdef SYNCTEX_VERBOSE + synctex_node_log(child); + # endif + input.node = _synctex_input_register_line(input.node,child); +@@ -5536,7 +5536,7 @@ SYNCTEX_INLINE static synctex_ns_s __syn + sibling->line_index = arg_sibling->line_index; + } + #endif +-#if SYNCTEX_DEBUG>500 ++#if defined SYNCTEX_DEBUG && SYNCTEX_DEBUG>500 + printf("! Ref replacement:\n"); + synctex_node_log(ref); + synctex_node_display(synctex_node_sibling(ref)); +@@ -5600,7 +5600,7 @@ SYNCTEX_INLINE static synctex_status_t _ + } + } + do { +-#if SYNCTEX_DEBUG>500 ++#if defined SYNCTEX_DEBUG && SYNCTEX_DEBUG>500 + printf("POST PROCESSING %s\n",_synctex_node_abstract(proxy)); + { + int i,j = 0; +@@ -5619,7 +5619,7 @@ SYNCTEX_INLINE static synctex_status_t _ + } + #endif + f(proxy); +-#if SYNCTEX_DEBUG>500 ++#if defined SYNCTEX_DEBUG && SYNCTEX_DEBUG>500 + { + int i,j = 0; + for (i=0;iclass->scanner->number_of_lists;++i) { +@@ -5638,7 +5638,7 @@ SYNCTEX_INLINE static synctex_status_t _ + #endif + /* Side effect: create the hierarchy on the fly */ + proxy = synctex_node_next(proxy); /* Change is here */ +-#if SYNCTEX_DEBUG>500 ++#if defined SYNCTEX_DEBUG && SYNCTEX_DEBUG>500 + if (proxy) { + int i,j = 0; + for (i=0;iclass->scanner->number_of_lists;++i) { +@@ -5670,7 +5670,7 @@ SYNCTEX_INLINE static synctex_status_t _ + SYNCTEX_INLINE static synctex_status_t _synctex_post_process(synctex_scanner_p scanner) { + synctex_status_t status = SYNCTEX_STATUS_OK; + synctex_ns_s ns = {NULL,SYNCTEX_STATUS_NOT_OK}; +-#if SYNCTEX_DEBUG>500 ++#if defined SYNCTEX_DEBUG && SYNCTEX_DEBUG>500 + printf("! entering _synctex_post_process.\n"); + synctex_node_display(scanner->sheet); + synctex_node_display(scanner->form); +@@ -5681,7 +5681,7 @@ SYNCTEX_INLINE static synctex_status_t _ + if (ns.status500 ++#if defined SYNCTEX_DEBUG && SYNCTEX_DEBUG>500 + printf("! ref replaced in form _synctex_post_process.\n"); + synctex_node_display(scanner->form); + #endif +@@ -5703,7 +5703,7 @@ SYNCTEX_INLINE static synctex_status_t _ + status = ns.status; + } + scanner->ref_in_sheet = NULL; +-#if SYNCTEX_DEBUG>500 ++#if defined SYNCTEX_DEBUG && SYNCTEX_DEBUG>500 + printf("! ref replaced in sheet _synctex_post_process.\n"); + synctex_node_display(scanner->sheet); + #endif +@@ -5725,7 +5725,7 @@ SYNCTEX_INLINE static synctex_status_t _ + } + } + #endif +-#if SYNCTEX_DEBUG>10000 ++#if defined SYNCTEX_DEBUG && SYNCTEX_DEBUG>10000 + { + int i; + for (i=0;inumber_of_lists;++i) { +@@ -5746,7 +5746,7 @@ SYNCTEX_INLINE static synctex_status_t _ + if (ns.status500 ++#if defined SYNCTEX_DEBUG && SYNCTEX_DEBUG>500 + printf("! exiting _synctex_post_process.\n"); + synctex_node_display(scanner->sheet); + synctex_node_display(scanner->form); +@@ -5861,7 +5861,7 @@ int synctex_scanner_free(synctex_scanner + synctex_iterator_free(scanner->iterator); + free(scanner->output_fmt); + free(scanner->lists_of_friends); +-#if SYNCTEX_USE_NODE_COUNT>0 ++#if defined SYNCTEX_USE_NODE_COUNT && SYNCTEX_USE_NODE_COUNT>0 + node_count = scanner->node_count; + #endif + free(scanner); +@@ -5919,7 +5919,7 @@ synctex_scanner_p synctex_scanner_parse( + if (status500 ++#if defined SYNCTEX_DEBUG && SYNCTEX_DEBUG>500 + synctex_scanner_set_display_switcher(scanner, 100); + synctex_node_display(scanner->sheet); + synctex_node_display(scanner->form); +@@ -8048,7 +8048,7 @@ static synctex_nd_s __synctex_closest_de + SYNCTEX_LINEINDEX(node)); + #endif + do { +-#if SYNCTEX_DEBUG>500 ++#if defined SYNCTEX_DEBUG && SYNCTEX_DEBUG>500 + synctex_node_display(child); + #endif + synctex_nd_s nd = SYNCTEX_ND_0; +Index: synctex/synctex_parser_utils.c +=================================================================== +--- synctex.orig/synctex_parser_utils.c ++++ synctex/synctex_parser_utils.c +@@ -129,7 +129,7 @@ int _synctex_log(int level, const char * + OutputDebugStringA("\n"); + free(buff); + } +-# elif SYNCTEX_USE_SYSLOG ++# elif defined SYNCTEX_USE_SYSLOG + char * buffer1 = NULL; + char * buffer2 = NULL; + openlog ("SyncTeX", LOG_CONS | LOG_PID | LOG_PERROR | LOG_NDELAY, LOG_LOCAL0); diff --git a/core/synctex/patches/14-fix-misc-compiler-warnings.diff b/core/synctex/patches/14-fix-misc-compiler-warnings.diff new file mode 100644 index 0000000..9b4959d --- /dev/null +++ b/core/synctex/patches/14-fix-misc-compiler-warnings.diff @@ -0,0 +1,62 @@ +Fix even more compiler warnings +Author: Henrik Fehlauer + +Index: synctex/synctex_parser.c +=================================================================== +--- synctex.orig/synctex_parser.c ++++ synctex/synctex_parser.c +@@ -529,8 +529,8 @@ typedef struct synctex_reader_t { + char * current; /* current location in the buffer */ + char * start; /* start of the buffer */ + char * end; /* end of the buffer */ +- int min_size; +- int size; ++ size_t min_size; ++ size_t size; + int lastv; + int line_number; + SYNCTEX_DECLARE_CHAR_OFFSET +@@ -759,7 +759,6 @@ synctex_reader_p synctex_reader_init_wit + (char *)_synctex_malloc(reader->size+1); /* one more character for null termination */ + if (NULL == reader->start) { + _synctex_error("! malloc error in synctex_reader_init_with_output_file."); +- bailey: + #ifdef SYNCTEX_DEBUG + return reader; + #else +@@ -5293,7 +5292,7 @@ content_loop: + # pragma mark + SCAN KERN + # endif + ns = _synctex_parse_new_kern(scanner); +- continue_scan: ++ /* continue_scan: */ + if (ns.status == SYNCTEX_STATUS_OK) { + if (child) { + _synctex_node_set_sibling(child,ns.node); +@@ -6531,7 +6530,7 @@ SYNCTEX_INLINE static synctex_point_s _s + return old; + } + SYNCTEX_INLINE static synctex_box_s _synctex_data_box(synctex_node_p node) { +- synctex_box_s box = {0,0,0,0}; ++ synctex_box_s box = {{0,0},{0,0}}; + int n; + n = synctex_node_width(node); + if (n<0) { +@@ -6547,7 +6546,7 @@ SYNCTEX_INLINE static synctex_box_s _syn + return box; + } + SYNCTEX_INLINE static synctex_box_s _synctex_data_xob(synctex_node_p node) { +- synctex_box_s box = {0,0,0,0}; ++ synctex_box_s box = {{0,0},{0,0}}; + int n; + n = synctex_node_width(node); + if (n>0) { +@@ -6563,7 +6562,7 @@ SYNCTEX_INLINE static synctex_box_s _syn + return box; + } + SYNCTEX_INLINE static synctex_box_s _synctex_data_box_V(synctex_node_p node) { +- synctex_box_s box = {0,0,0,0}; ++ synctex_box_s box = {{0,0},{0,0}}; + int n; + n = _synctex_node_width_V(node); + if (n<0) { diff --git a/core/synctex/patches/15-prevent-leaks-and-segfault.diff b/core/synctex/patches/15-prevent-leaks-and-segfault.diff new file mode 100644 index 0000000..25441c4 --- /dev/null +++ b/core/synctex/patches/15-prevent-leaks-and-segfault.diff @@ -0,0 +1,54 @@ +Plug multiple leaks and prevent a segfault: +- When the returned value to be assigned to reader is NULL, reader should be freed beforehand. +- Do not leak memory when scanner creation succeeded, but no synctex file was found. +- A valid reader is the prerequisite for accessing SYNCTEX_FILE. +- Two calls to malloc() for reader->start also require two calls to free(). + +Author: Henrik Fehlauer + + +Index: synctex/synctex_parser.c +=================================================================== +--- synctex.orig/synctex_parser.c ++++ synctex/synctex_parser.c +@@ -739,6 +739,7 @@ synctex_reader_p synctex_reader_init_wit + if (open.statusreader && SYNCTEX_FILE) { + gzclose(SYNCTEX_FILE); + SYNCTEX_FILE = NULL; + } +@@ -5883,6 +5885,15 @@ synctex_scanner_p synctex_scanner_parse( + scanner->x_offset = scanner->y_offset = 6.027e23f; + scanner->reader->line_number = 1; + ++ /* TODO: cleanup ++ * In some (all?) cases SYNCTEX_START is already initialized ++ * in synctex_reader_init_with_output_file(). Much of the ++ * following code seems like a duplicate and is perhaps a ++ * candidate for deletion. To be on the safe side though, we ++ * keep it for now and just free() any prior malloc() if ++ * existing. */ ++ _synctex_free(SYNCTEX_START); ++ + SYNCTEX_START = (char *)malloc(SYNCTEX_BUFFER_SIZE+1); /* one more character for null termination */ + if (NULL == SYNCTEX_START) { + _synctex_error("! malloc error in synctex_scanner_parse."); diff --git a/core/synctex/patches/16-use-windows-ansi-api-path-find.diff b/core/synctex/patches/16-use-windows-ansi-api-path-find.diff new file mode 100644 index 0000000..de2e3c4 --- /dev/null +++ b/core/synctex/patches/16-use-windows-ansi-api-path-find.diff @@ -0,0 +1,19 @@ +Use Windows ANSI versions of the PathFind... methods + +Author: Michel Ludwig + + +Index: synctex/synctex_parser_utils.c +--- synctex.orig/synctex_parser_utils.c ++++ synctex/synctex_parser_utils.c +@@ -187,8 +187,8 @@ void _synctex_strip_last_path_extension(char * string) { + char * last_component = NULL; + char * last_extension = NULL; + # if defined(SYNCTEX_WINDOWS) +- last_component = PathFindFileName(string); +- last_extension = PathFindExtension(string); ++ last_component = PathFindFileNameA(string); ++ last_extension = PathFindExtensionA(string); + if(last_extension == NULL)return; + if(last_component == NULL)last_component = string; + if(last_extension>last_component){/* filter out paths like "my/dir/.hidden" */ diff --git a/core/synctex/patches/17-call-va_end-before-return.diff b/core/synctex/patches/17-call-va_end-before-return.diff new file mode 100644 index 0000000..9044203 --- /dev/null +++ b/core/synctex/patches/17-call-va_end-before-return.diff @@ -0,0 +1,26 @@ +Call va_end() before return + +Fixes va_list 'arg' was opened but not closed by va_end(). (CWE-664) + +Author: Willyanto Willyanto + +Index: core/synctex/synctex_parser_utils.c +=================================================================== +--- core/synctex/synctex_parser_utils.c ++++ core/synctex/synctex_parser_utils.c +@@ -94,6 +94,7 @@ int _synctex_log(int level, const char *prompt, const char *reason, ...) + result = _vsnprintf(buff, buffersize - 1, reason, arg); + } + if (-1 == result) { ++ va_end(arg); + // could not make the buffer big enough or simply could not write to it + free(buff); + return -1; +@@ -357,6 +358,7 @@ char *_synctex_merge_strings(const char *first, ...) + do { + size_t len = strlen(temp); + if (UINT_MAX - len < size) { ++ va_end(arg); + _synctex_error("! _synctex_merge_strings: Capacity exceeded."); + return NULL; + } diff --git a/core/synctex/patches/18-Include-stdarg.h-for-va_start-and-va_end.diff b/core/synctex/patches/18-Include-stdarg.h-for-va_start-and-va_end.diff new file mode 100644 index 0000000..036505c --- /dev/null +++ b/core/synctex/patches/18-Include-stdarg.h-for-va_start-and-va_end.diff @@ -0,0 +1,37 @@ +From 879adf6f6e3afc421028de4c3fbc912d0ef36542 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ingo=20Kl=C3=B6cker?= +Date: Mon, 3 Jul 2023 17:36:51 +0200 +Subject: [PATCH] Include stdarg.h for va_start and va_end + +Fixes "implicit declaration of function" error with devtoolset-10 +(gcc (GCC) 10.2.1 20210130 (Red Hat 10.2.1-11)) in centos7 Docker image +used for building an AppImage. + +See also `man 3 va_start`. +--- + core/synctex/synctex_parser.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/core/synctex/synctex_parser.c b/core/synctex/synctex_parser.c +index cc97ecc52..9eed566b3 100644 +--- a/core/synctex/synctex_parser.c ++++ b/core/synctex/synctex_parser.c +@@ -69,6 +69,7 @@ + + #include + #include ++#include + #include + #include + #include +@@ -8025,7 +8026,6 @@ static int _synctex_updater_print(synctex_updater_p updater, const char *format, + return result; + } + #if defined(_MSC_VER) || defined(__MINGW32__) +-#include + #include + #include + +-- +2.41.0 + diff --git a/core/synctex/patches/series b/core/synctex/patches/series new file mode 100644 index 0000000..80b44da --- /dev/null +++ b/core/synctex/patches/series @@ -0,0 +1,13 @@ +00-disable-SYNCTEX_INLINE.diff +04-gcc-specify-printf-format.diff +06-mingw-_synctex_error.diff +08-fix_cpp_comments.diff +10-fix-typo.diff +11-fix-unused-parameters-warnings.diff +12-omit-no-file-warning.diff +13-fix-Wundef-warnings.diff +14-fix-misc-compiler-warnings.diff +15-prevent-leaks-and-segfault.diff +16-use-windows-ansi-api-path-find.diff +17-call-va_end-before-return.diff +18-Include-stdarg.h-for-va_start-and-va_end.diff diff --git a/core/synctex/synctex_parser.c b/core/synctex/synctex_parser.c new file mode 100644 index 0000000..a364602 --- /dev/null +++ b/core/synctex/synctex_parser.c @@ -0,0 +1,8559 @@ +/* + SPDX-FileCopyrightText: 2008-2017 jerome DOT laurens AT u-bourgogne DOT fr + SPDX-License-Identifier: X11 + + This file is part of the __SyncTeX__ package. + + [//]: # (Latest Revision: Fri Jul 14 16:20:41 UTC 2017) + [//]: # (Version: 1.19) + + See `synctex_parser_readme.md` for more details + + Acknowledgments: + ---------------- + The author received useful remarks from the pdfTeX developers, especially Hahn The Thanh, + and significant help from XeTeX developer Jonathan Kew + + Nota Bene: + ---------- + If you include or use a significant part of the synctex package into a software, + I would appreciate to be listed as contributor and see "SyncTeX" highlighted. +*/ + +/* We assume that high level application like pdf viewers will want + * to embed this code as is. We assume that they also have locale.h and setlocale. + * For other tools such as TeXLive tools, you must define SYNCTEX_USE_LOCAL_HEADER, + * when building. You also have to create and customize synctex_parser_local.h to fit your system. + * In particular, the HAVE_LOCALE_H and HAVE_SETLOCALE macros should be properly defined. + * With this design, you should not need to edit this file. */ + +/** + * \file synctex_parser.c + * \brief SyncTeX file parser and controller. + * - author: Jérôme LAURENS + * \version 1.19 + * \date Mon Apr 24 07:08:56 UTC 2017 + * + * Reads and parse *.synctex[.gz] files, + * performs edit and display queries. + * + * See + * - synctex_scanner_new_with_output_file + * - synctex_scanner_parse + * - synctex_scanner_free + * - synctex_display_query + * - synctex_edit_query + * - synctex_scanner_next_result + * - synctex_scanner_reset_result + * + * The data is organized in a graph with multiple entries. + * The root object is a scanner, it is created with the contents on a synctex file. + * Each node of the tree is a synctex_node_t object. + * There are 3 subtrees, two of them sharing the same leaves. + * The first tree is the list of input records, where input file names are associated with tags. + * The second tree is the box tree as given by TeX when shipping pages out. + * First level objects are sheets and forms, containing boxes, glues, kerns... + * The third tree allows to browse leaves according to tag and line. + */ +#if defined(SYNCTEX_USE_LOCAL_HEADER) +#include "synctex_parser_local.h" +#else +#define HAVE_LOCALE_H 1 +#define HAVE_SETLOCALE 1 +#if defined(_MSC_VER) +#define SYNCTEX_INLINE __inline +#else +#define SYNCTEX_INLINE +#endif +#endif + +#include +#include +#include +#include +#include +#include + +#if defined(HAVE_LOCALE_H) +#include +#endif + +#include "synctex_parser_advanced.h" + +SYNCTEX_INLINE static int _synctex_abs(int x) +{ + return x > 0 ? x : -x; +} +/* These are the possible extensions of the synctex file */ +const char *synctex_suffix = ".synctex"; +const char *synctex_suffix_gz = ".gz"; + +typedef synctex_node_p (*synctex_node_new_f)(synctex_scanner_p); +typedef void (*synctex_node_fld_f)(synctex_node_p); +typedef char *(*synctex_node_str_f)(synctex_node_p); + +/** + * Pseudo class. + * - author: J. Laurens + * + * Each nodes has a class, it is therefore called an object. + * Each class has a unique scanner. + * Each class has a type which is a unique identifier. + * Each class has a node mask which identifies node's attributes. + * Each class has an info mask which info's attributes. + * The class points to various methods, + * each of them vary amongst objects. + * The navigator records the offsets of the tree members getters. + * The modelator records the offsets of the data members getters, relative to the last navigator getter. + */ + +/* 8 fields + size: spcflnat */ +typedef struct synctex_tree_model_t { + int sibling; + int parent; + int child; + int friend; + int last; + int next_hbox; + int arg_sibling; + int target; + int size; +} synctex_tree_model_s; +typedef const synctex_tree_model_s *synctex_tree_model_p; + +typedef struct synctex_data_model_t { + int tag; + int line; + int column; + int h; + int v; + int width; + int height; + int depth; + int mean_line; + int weight; + int h_V; + int v_V; + int width_V; + int height_V; + int depth_V; + int name; + int page; + int size; +} synctex_data_model_s; + +static const synctex_data_model_s synctex_data_model_none = {-1, /* tag */ + -1, /* line */ + -1, /* column */ + -1, /* h */ + -1, /* v */ + -1, /* width */ + -1, /* height */ + -1, /* depth */ + -1, /* mean_line */ + -1, /* weight */ + -1, /* h_V */ + -1, /* v_V */ + -1, /* width_V */ + -1, /* height_V */ + -1, /* depth_V */ + -1, /* name */ + -1, /* page */ + 0}; +typedef const synctex_data_model_s *synctex_data_model_p; + +typedef int (*synctex_int_getter_f)(synctex_node_p); +typedef struct synctex_tlcpector_t { + synctex_int_getter_f tag; + synctex_int_getter_f line; + synctex_int_getter_f column; +} synctex_tlcpector_s; +typedef const synctex_tlcpector_s *synctex_tlcpector_p; +static int _synctex_int_none(synctex_node_p node) +{ + (void)node; /* unused */ + return 0; +} +static const synctex_tlcpector_s synctex_tlcpector_none = { + &_synctex_int_none, /* tag */ + &_synctex_int_none, /* line */ + &_synctex_int_none, /* column */ +}; + +typedef struct synctex_inspector_t { + synctex_int_getter_f h; + synctex_int_getter_f v; + synctex_int_getter_f width; + synctex_int_getter_f height; + synctex_int_getter_f depth; +} synctex_inspector_s; +typedef const synctex_inspector_s *synctex_inspector_p; +static const synctex_inspector_s synctex_inspector_none = { + &_synctex_int_none, /* h */ + &_synctex_int_none, /* v */ + &_synctex_int_none, /* width */ + &_synctex_int_none, /* height */ + &_synctex_int_none, /* depth */ +}; + +typedef float (*synctex_float_getter_f)(synctex_node_p); +typedef struct synctex_vispector_t { + synctex_float_getter_f h; + synctex_float_getter_f v; + synctex_float_getter_f width; + synctex_float_getter_f height; + synctex_float_getter_f depth; +} synctex_vispector_s; +static float _synctex_float_none(synctex_node_p node) +{ + (void)node; /* unused */ + return 0; +} +static const synctex_vispector_s synctex_vispector_none = { + &_synctex_float_none, /* h */ + &_synctex_float_none, /* v */ + &_synctex_float_none, /* width */ + &_synctex_float_none, /* height */ + &_synctex_float_none, /* depth */ +}; +typedef const synctex_vispector_s *synctex_vispector_p; + +struct synctex_class_t { + synctex_scanner_p scanner; + synctex_node_type_t type; + synctex_node_new_f new; + synctex_node_fld_f free; + synctex_node_fld_f log; + synctex_node_fld_f display; + synctex_node_str_f abstract; + synctex_tree_model_p navigator; + synctex_data_model_p modelator; + synctex_tlcpector_p tlcpector; + synctex_inspector_p inspector; + synctex_vispector_p vispector; +}; + +/** + * Nota bene: naming convention. + * For static API, when the name contains proxy, it applies to proxies. + * When the name contains noxy, it applies to non proxies only. + * When the name contains node, weel it depends... + */ + +typedef synctex_node_p synctex_proxy_p; +typedef synctex_node_p synctex_noxy_p; + +#ifdef SYNCTEX_NOTHING +#pragma mark - +#pragma mark Abstract OBJECTS and METHODS +#endif + +/** + * \def SYNCTEX_MSG_SEND + * \brief Takes care of sending the given message if possible. + * - parameter NODE: of type synctex_node_p + * - parameter SELECTOR: one of the class pointer properties + */ +#define SYNCTEX_MSG_SEND(NODE, SELECTOR) \ + do { \ + synctex_node_p N__ = NODE; \ + if (N__ && N__->class->SELECTOR) { \ + (*(N__->class->SELECTOR))(N__); \ + } \ + } while (synctex_NO) + +/** + * Free the given node by sending the free message. + * - parameter NODE: of type synctex_node_p + */ +void synctex_node_free(synctex_node_p node) +{ + SYNCTEX_MSG_SEND(node, free); +} +#if defined(SYNCTEX_TESTING) +#if !defined(SYNCTEX_USE_HANDLE) +#define SYNCTEX_USE_HANDLE 1 +#endif +#if !defined(SYNCTEX_USE_CHARINDEX) +#define SYNCTEX_USE_CHARINDEX 1 +#endif +#endif +SYNCTEX_INLINE static synctex_node_p _synctex_new_handle_with_target(synctex_node_p target); +#if defined(SYNCTEX_USE_HANDLE) +#define SYNCTEX_SCANNER_FREE_HANDLE(SCANR) __synctex_scanner_free_handle(SCANR) +#define SYNCTEX_SCANNER_REMOVE_HANDLE_TO(WHAT) __synctex_scanner_remove_handle_to(WHAT) +#define SYNCTEX_REGISTER_HANDLE_TO(NODE) __synctex_scanner_register_handle_to(NODE) +#else +#define SYNCTEX_SCANNER_FREE_HANDLE(SCANR) +#define SYNCTEX_SCANNER_REMOVE_HANDLE_TO(WHAT) +#define SYNCTEX_REGISTER_HANDLE_TO(NODE) +#endif + +#if defined(SYNCTEX_USE_CHARINDEX) +#define SYNCTEX_CHARINDEX(NODE) (NODE->char_index) +#define SYNCTEX_LINEINDEX(NODE) (NODE->line_index) +#define SYNCTEX_PRINT_CHARINDEX_FMT "#%i" +#define SYNCTEX_PRINT_CHARINDEX_WHAT , SYNCTEX_CHARINDEX(node) +#define SYNCTEX_PRINT_CHARINDEX printf(SYNCTEX_PRINT_CHARINDEX_FMT SYNCTEX_PRINT_CHARINDEX_WHAT) +#define SYNCTEX_PRINT_LINEINDEX_FMT "L#%i" +#define SYNCTEX_PRINT_LINEINDEX_WHAT , SYNCTEX_LINEINDEX(node) +#define SYNCTEX_PRINT_LINEINDEX printf(SYNCTEX_PRINT_LINEINDEX_FMT SYNCTEX_PRINT_LINEINDEX_WHAT) +#define SYNCTEX_PRINT_CHARINDEX_NL printf(SYNCTEX_PRINT_CHARINDEX_FMT "\n" SYNCTEX_PRINT_CHARINDEX_WHAT) +#define SYNCTEX_PRINT_LINEINDEX_NL printf(SYNCTEX_PRINT_CHARINDEX_FMT "\n" SYNCTEX_PRINT_LINEINDEX_WHAT) +#define SYNCTEX_IMPLEMENT_CHARINDEX(NODE, CORRECTION) \ + NODE->char_index = (synctex_charindex_t)(scanner->reader->charindex_offset + SYNCTEX_CUR - SYNCTEX_START + (CORRECTION)); \ + NODE->line_index = scanner->reader->line_number; +#else +#define SYNCTEX_CHARINDEX(NODE) 0 +#define SYNCTEX_LINEINDEX(NODE) 0 +#define SYNCTEX_PRINT_CHARINDEX_FMT +#define SYNCTEX_PRINT_CHARINDEX_WHAT +#define SYNCTEX_PRINT_CHARINDEX +#define SYNCTEX_PRINT_CHARINDEX +#define SYNCTEX_PRINT_LINEINDEX_FMT +#define SYNCTEX_PRINT_LINEINDEX_WHAT +#define SYNCTEX_PRINT_LINEINDEX +#define SYNCTEX_PRINT_CHARINDEX_NL printf("\n") +#define SYNCTEX_PRINT_LINEINDEX_NL printf("\n") +#define SYNCTEX_IMPLEMENT_CHARINDEX(NODE, CORRECTION) +#endif + +/** + * The next macros are used to access the node tree info + * SYNCTEX_DATA(node) points to the first synctex integer or pointer data of node + * SYNCTEX_DATA(node)[index] is the information at index + * for example, the page of a sheet is stored in SYNCTEX_DATA(sheet)[_synctex_data_page_idx] + * - parameter NODE: of type synctex_node_p + * If the name starts with "__", the argument is nonullable + */ +#ifdef SYNCTEX_NOTHING +#pragma mark - +#pragma mark Tree SETGET +#endif + +#if defined SYNCTEX_DEBUG && SYNCTEX_DEBUG > 1000 +#define SYNCTEX_PARAMETER_ASSERT(WHAT) \ + do { \ + if (!(WHAT)) { \ + printf("! Parameter failure: %s\n", #WHAT); \ + } \ + } while (synctex_NO) +#define DEFINE_SYNCTEX_TREE_HAS(WHAT) \ + static synctex_bool_t _synctex_tree_has_##WHAT(synctex_node_p node) \ + { \ + if (node) { \ + if (node->class->navigator->WHAT >= 0) { \ + return synctex_YES; \ + } else { \ + printf("WARNING: NO tree %s for %s\n", #WHAT, synctex_node_isa(node)); \ + } \ + } \ + return synctex_NO; \ + } +#else +#define SYNCTEX_PARAMETER_ASSERT(WHAT) +#define DEFINE_SYNCTEX_TREE_HAS(WHAT) \ + static synctex_bool_t _synctex_tree_has_##WHAT(synctex_node_p node) \ + { \ + return (node && (node->class->navigator->WHAT >= 0)); \ + } +#endif + +#define DEFINE_SYNCTEX_TREE__GET(WHAT) \ + SYNCTEX_INLINE static synctex_node_p __synctex_tree_##WHAT(synctex_non_null_node_p node) \ + { \ + return node->data[node->class->navigator->WHAT].as_node; \ + } +#define DEFINE_SYNCTEX_TREE_GET(WHAT) \ + DEFINE_SYNCTEX_TREE__GET(WHAT) \ + static synctex_node_p _synctex_tree_##WHAT(synctex_node_p node) \ + { \ + if (_synctex_tree_has_##WHAT(node)) { \ + return __synctex_tree_##WHAT(node); \ + } \ + return 0; \ + } +#define DEFINE_SYNCTEX_TREE__RESET(WHAT) \ + SYNCTEX_INLINE static synctex_node_p __synctex_tree_reset_##WHAT(synctex_non_null_node_p node) \ + { \ + synctex_node_p old = node->data[node->class->navigator->WHAT].as_node; \ + node->data[node->class->navigator->WHAT].as_node = NULL; \ + return old; \ + } +#define DEFINE_SYNCTEX_TREE_RESET(WHAT) \ + DEFINE_SYNCTEX_TREE__RESET(WHAT) \ + SYNCTEX_INLINE static synctex_node_p _synctex_tree_reset_##WHAT(synctex_node_p node) \ + { \ + return _synctex_tree_has_##WHAT(node) ? __synctex_tree_reset_##WHAT(node) : NULL; \ + } +#define DEFINE_SYNCTEX_TREE__SET(WHAT) \ + SYNCTEX_INLINE static synctex_node_p __synctex_tree_set_##WHAT(synctex_non_null_node_p node, synctex_node_p new_value) \ + { \ + synctex_node_p old = __synctex_tree_##WHAT(node); \ + node->data[node->class->navigator->WHAT].as_node = new_value; \ + return old; \ + } +#define DEFINE_SYNCTEX_TREE_SET(WHAT) \ + DEFINE_SYNCTEX_TREE__SET(WHAT) \ + SYNCTEX_INLINE static synctex_node_p _synctex_tree_set_##WHAT(synctex_node_p node, synctex_node_p new_value) \ + { \ + return _synctex_tree_has_##WHAT(node) ? __synctex_tree_set_##WHAT(node, new_value) : NULL; \ + } +#define DEFINE_SYNCTEX_TREE__GETSETRESET(WHAT) \ + DEFINE_SYNCTEX_TREE__GET(WHAT) \ + DEFINE_SYNCTEX_TREE__SET(WHAT) \ + DEFINE_SYNCTEX_TREE__RESET(WHAT) + +#define DEFINE_SYNCTEX_TREE_GETSET(WHAT) \ + DEFINE_SYNCTEX_TREE_HAS(WHAT) \ + DEFINE_SYNCTEX_TREE_GET(WHAT) \ + DEFINE_SYNCTEX_TREE_SET(WHAT) + +#define DEFINE_SYNCTEX_TREE_GETRESET(WHAT) \ + DEFINE_SYNCTEX_TREE_HAS(WHAT) \ + DEFINE_SYNCTEX_TREE_GET(WHAT) \ + DEFINE_SYNCTEX_TREE_RESET(WHAT) + +#define DEFINE_SYNCTEX_TREE_GETSETRESET(WHAT) \ + DEFINE_SYNCTEX_TREE_HAS(WHAT) \ + DEFINE_SYNCTEX_TREE_GET(WHAT) \ + DEFINE_SYNCTEX_TREE_SET(WHAT) \ + DEFINE_SYNCTEX_TREE_RESET(WHAT) + +/* + * _synctex_tree_set_... methods return the old value. + * The return value of _synctex_tree_set_child and + * _synctex_tree_set_sibling must be released somehown. + */ +DEFINE_SYNCTEX_TREE__GETSETRESET(sibling) +DEFINE_SYNCTEX_TREE_GETSETRESET(parent) +DEFINE_SYNCTEX_TREE_GETSETRESET(child) +DEFINE_SYNCTEX_TREE_GETSETRESET(friend) +DEFINE_SYNCTEX_TREE_GETSET(last) +DEFINE_SYNCTEX_TREE_GETSET(next_hbox) +DEFINE_SYNCTEX_TREE_GETSET(arg_sibling) +DEFINE_SYNCTEX_TREE_GETSET(target) + +#if defined SYNCTEX_DEBUG && SYNCTEX_DEBUG > 1000 +#undef SYNCTEX_USE_NODE_COUNT +#define SYNCTEX_USE_NODE_COUNT 1 +#endif +#if defined SYNCTEX_USE_NODE_COUNT && SYNCTEX_USE_NODE_COUNT > 0 +#define SYNCTEX_DECLARE_NODE_COUNT int node_count; +#define SYNCTEX_INIT_NODE_COUNT \ + do { \ + node_count = 0; \ + } while (synctex_NO) +#else +#define SYNCTEX_DECLARE_NODE_COUNT +#define SYNCTEX_INIT_NODE_COUNT +#endif + +#if defined SYNCTEX_USE_NODE_COUNT && SYNCTEX_USE_NODE_COUNT > 10 +#define SYNCTEX_DID_NEW(N) _synctex_did_new(N) +#define SYNCTEX_WILL_FREE(N) _synctex_will_free(N) +#else +#define SYNCTEX_DID_NEW(N) +#define SYNCTEX_WILL_FREE(N) +#endif + +#define SYNCTEX_HAS_CHILDREN(NODE) (NODE && _synctex_tree_child(NODE)) +#ifdef __SYNCTEX_WORK__ +#include "/usr/include/zlib.h" +#else +#include +#endif + +#ifdef SYNCTEX_NOTHING +#pragma mark - +#pragma mark STATUS +#endif +/* When the end of the synctex file has been reached: */ +#define SYNCTEX_STATUS_EOF 0 +/* When the function could not return the value it was asked for: */ +#define SYNCTEX_STATUS_NOT_OK (SYNCTEX_STATUS_EOF + 1) +/* When the function returns the value it was asked for: + It must be the biggest one */ +#define SYNCTEX_STATUS_OK (SYNCTEX_STATUS_NOT_OK + 1) +/* Generic error: */ +#define SYNCTEX_STATUS_ERROR (SYNCTEX_STATUS_EOF - 1) +/* Parameter error: */ +#define SYNCTEX_STATUS_BAD_ARGUMENT (SYNCTEX_STATUS_ERROR - 1) + +#ifdef SYNCTEX_NOTHING +#pragma mark - +#pragma mark File reader +#endif + +/* We ensure that SYNCTEX_BUFFER_SIZE < UINT_MAX, I don't know if it makes sense... */ +/* Actually, the minimum buffer size is driven by integer and float parsing, including the unit. + * ±0.123456789e123?? + */ +#define SYNCTEX_BUFFER_MIN_SIZE 32 +#define SYNCTEX_BUFFER_SIZE 32768 + +#if SYNCTEX_BUFFER_SIZE >= UINT_MAX +#error BAD BUFFER SIZE(1) +#endif +#if SYNCTEX_BUFFER_SIZE < SYNCTEX_BUFFER_MIN_SIZE +#error BAD BUFFER SIZE(2) +#endif + +typedef struct synctex_reader_t { + gzFile file; /* The (possibly compressed) file */ + char *output; + char *synctex; + char *current; /* current location in the buffer */ + char *start; /* start of the buffer */ + char *end; /* end of the buffer */ + size_t min_size; + size_t size; + int lastv; + int line_number; + SYNCTEX_DECLARE_CHAR_OFFSET +} synctex_reader_s; + +typedef synctex_reader_s *synctex_reader_p; + +typedef struct { + synctex_status_t status; + char *synctex; + gzFile file; + synctex_io_mode_t io_mode; +} synctex_open_s; + +/* This functions opens the file at the "output" given location. + * It manages the problem of quoted filenames that appear with pdftex and filenames containing the space character. + * In TeXLive 2008, the synctex file created with pdftex did contain unexpected quotes. + * This function will remove them if possible. + * All the reference arguments will take a value on return. They must be non NULL. + * - returns: an open structure which status is + * SYNCTEX_STATUS_OK on success, + * SYNCTEX_STATUS_ERROR on failure. + * - note: on success, the caller is the owner + * of the fields of the returned open structure. + */ +static synctex_open_s __synctex_open_v2(const char *output, synctex_io_mode_t io_mode, synctex_bool_t add_quotes) +{ + synctex_open_s open = {SYNCTEX_STATUS_ERROR, NULL, NULL, io_mode}; + char *quoteless_synctex_name = NULL; + const char *mode = _synctex_get_io_mode_name(open.io_mode); + size_t size = strlen(output) + strlen(synctex_suffix) + strlen(synctex_suffix_gz) + 1; + if (NULL == (open.synctex = (char *)malloc(size))) { + _synctex_error("! __synctex_open_v2: Memory problem (1)\n"); + return open; + } + /* we have reserved for synctex enough memory to copy output (including its 2 eventual quotes), both suffices, + * including the terminating character. size is free now. */ + if (open.synctex != strcpy(open.synctex, output)) { + _synctex_error("! __synctex_open_v2: Copy problem\n"); + return_on_error: + free(open.synctex); + open.synctex = NULL; + free(quoteless_synctex_name); /* We MUST have quoteless_synctex_name<>synctex_name */ + return open; + } + /* remove the last path extension if any */ + _synctex_strip_last_path_extension(open.synctex); + if (!strlen(open.synctex)) { + goto return_on_error; + } + /* now insert quotes. */ + if (add_quotes) { + char *quoted = NULL; + if (_synctex_copy_with_quoting_last_path_component(open.synctex, "ed, size) || quoted == NULL) { + /* There was an error or quoting does not make sense: */ + goto return_on_error; + } + quoteless_synctex_name = open.synctex; + open.synctex = quoted; + } + /* Now add to open.synctex the first path extension. */ + if (open.synctex != strcat(open.synctex, synctex_suffix)) { + _synctex_error("! __synctex_open_v2: Concatenation problem (can't add suffix '%s')\n", synctex_suffix); + goto return_on_error; + } + /* Add to quoteless_synctex_name as well, if relevant. */ + if (quoteless_synctex_name && (quoteless_synctex_name != strcat(quoteless_synctex_name, synctex_suffix))) { + free(quoteless_synctex_name); + quoteless_synctex_name = NULL; + } + if (NULL == (open.file = gzopen(open.synctex, mode))) { + /* Could not open this file */ + if (errno != ENOENT) { + /* The file does exist, this is a lower level error, I can't do anything. */ + _synctex_error("could not open %s, error %i\n", open.synctex, errno); + goto return_on_error; + } + /* Apparently, there is no uncompressed synctex file. Try the compressed version */ + if (open.synctex != strcat(open.synctex, synctex_suffix_gz)) { + _synctex_error("! __synctex_open_v2: Concatenation problem (can't add suffix '%s')\n", synctex_suffix_gz); + goto return_on_error; + } + open.io_mode |= synctex_io_gz_mask; + mode = _synctex_get_io_mode_name(open.io_mode); /* the file is a compressed and is a binary file, this caused errors on Windows */ + /* Add the suffix to the quoteless_synctex_name as well. */ + if (quoteless_synctex_name && (quoteless_synctex_name != strcat(quoteless_synctex_name, synctex_suffix_gz))) { + free(quoteless_synctex_name); + quoteless_synctex_name = NULL; + } + if (NULL == (open.file = gzopen(open.synctex, mode))) { + /* Could not open this file */ + if (errno != ENOENT) { + /* The file does exist, this is a lower level error, I can't do anything. */ + _synctex_error("Could not open %s, error %i\n", open.synctex, errno); + } + goto return_on_error; + } + } + /* At this point, the file is properly open. + * If we are in the add_quotes mode, we change the file name by removing the quotes. */ + if (quoteless_synctex_name) { + gzclose(open.file); + if (rename(open.synctex, quoteless_synctex_name)) { + _synctex_error("Could not rename %s to %s, error %i\n", open.synctex, quoteless_synctex_name, errno); + /* We could not rename, reopen the file with the quoted name. */ + if (NULL == (open.file = gzopen(open.synctex, mode))) { + /* No luck, could not re open this file, something has happened meanwhile */ + if (errno != ENOENT) { + /* The file does not exist any more, it has certainly be removed somehow + * this is a lower level error, I can't do anything. */ + _synctex_error("Could not open again %s, error %i\n", open.synctex, errno); + } + goto return_on_error; + } + } else { + /* The file has been successfully renamed */ + if (NULL == (open.file = gzopen(quoteless_synctex_name, mode))) { + /* Could not open this file */ + if (errno != ENOENT) { + /* The file does exist, this is a lower level error, I can't do anything. */ + _synctex_error("Could not open renamed %s, error %i\n", quoteless_synctex_name, errno); + } + goto return_on_error; + } + /* The quote free file name should replace the old one:*/ + free(open.synctex); + open.synctex = quoteless_synctex_name; + quoteless_synctex_name = NULL; + } + } + /* The operation is successful, return the arguments by value. */ + open.status = SYNCTEX_STATUS_OK; + return open; +} + +/* Opens the output file, taking into account the eventual build_directory. + * - returns: an open structure which status is + * SYNCTEX_STATUS_OK on success, + * SYNCTEX_STATUS_ERROR on failure. + * - note: on success, the caller is the owner + * of the fields of the returned open structure. + */ +static synctex_open_s _synctex_open_v2(const char *output, const char *build_directory, synctex_io_mode_t io_mode, synctex_bool_t add_quotes) +{ + synctex_open_s open = __synctex_open_v2(output, io_mode, add_quotes); + if (open.status == SYNCTEX_STATUS_OK) { + return open; + } + if (build_directory && strlen(build_directory)) { + char *build_output; + const char *lpc; + size_t size; + synctex_bool_t is_absolute; + build_output = NULL; + lpc = _synctex_last_path_component(output); + size = strlen(build_directory) + strlen(lpc) + 2; /* One for the '/' and one for the '\0'. */ + is_absolute = _synctex_path_is_absolute(build_directory); + if (!is_absolute) { + size += strlen(output); + } + if ((build_output = (char *)_synctex_malloc(size))) { + if (is_absolute) { + build_output[0] = '\0'; + } else { + if (build_output != strcpy(build_output, output)) { + _synctex_free(build_output); + return open; + } + build_output[lpc - output] = '\0'; + } + if (build_output == strcat(build_output, build_directory)) { + /* Append a path separator if necessary. */ + if (!SYNCTEX_IS_PATH_SEPARATOR(build_output[strlen(build_directory) - 1])) { + if (build_output != strcat(build_output, "/")) { + _synctex_free(build_output); + return open; + } + } + /* Append the last path component of the output. */ + if (build_output != strcat(build_output, lpc)) { + _synctex_free(build_output); + return open; + } + open = __synctex_open_v2(build_output, io_mode, add_quotes); + } + _synctex_free(build_output); + } /* if ((build_output... */ + } /* if (build_directory...) */ + return open; +} +void synctex_reader_free(synctex_reader_p reader) +{ + if (reader) { + _synctex_free(reader->output); + _synctex_free(reader->synctex); + _synctex_free(reader->start); + gzclose(reader->file); + _synctex_free(reader); + } +} +/* + * Return reader on success. + * Deallocate reader and return NULL on failure. + */ +synctex_reader_p synctex_reader_init_with_output_file(synctex_reader_p reader, const char *output, const char *build_directory) +{ + if (reader) { + /* now open the synctex file */ + synctex_open_s open = _synctex_open_v2(output, build_directory, 0, synctex_ADD_QUOTES); + if (open.status < SYNCTEX_STATUS_OK) { + open = _synctex_open_v2(output, build_directory, 0, synctex_DONT_ADD_QUOTES); + if (open.status < SYNCTEX_STATUS_OK) { + synctex_reader_free(reader); + return NULL; + } + } + reader->synctex = open.synctex; + reader->file = open.file; + /* make a private copy of output */ + if (NULL == (reader->output = (char *)_synctex_malloc(strlen(output) + 1))) { + _synctex_error("! synctex_scanner_new_with_output_file: Memory problem (2), reader's output is not reliable."); + } else if (reader->output != strcpy(reader->output, output)) { + _synctex_free(reader->output); + reader->output = NULL; + _synctex_error("! synctex_scanner_new_with_output_file: Copy problem, reader's output is not reliable."); + } + reader->start = reader->end = reader->current = NULL; + reader->min_size = SYNCTEX_BUFFER_MIN_SIZE; + reader->size = SYNCTEX_BUFFER_SIZE; + reader->start = reader->current = (char *)_synctex_malloc(reader->size + 1); /* one more character for null termination */ + if (NULL == reader->start) { + _synctex_error("! malloc error in synctex_reader_init_with_output_file."); +#ifdef SYNCTEX_DEBUG + return reader; +#else + synctex_reader_free(reader); + return NULL; +#endif + } + reader->end = reader->start + reader->size; + /* reader->end always points to a null terminating character. + * Maybe there is another null terminating character between reader->current and reader->end-1. + * At least, we are sure that reader->current points to a string covering a valid part of the memory. */ +#if defined(SYNCTEX_USE_CHARINDEX) + reader->charindex_offset = -reader->size; +#endif + } + return reader; +} + +#if defined(SYNCTEX_USE_HANDLE) +#define SYNCTEX_DECLARE_HANDLE synctex_node_p handle; +#else +#define SYNCTEX_DECLARE_HANDLE +#endif + +#ifdef SYNCTEX_NOTHING +#pragma mark - +#pragma mark SCANNER +#endif +/** + * The synctex scanner is the root object. + * Is is initialized with the contents of a text file or a gzipped file. + * The buffer_.* are first used to parse the text. + */ +struct synctex_scanner_t { + synctex_reader_p reader; + SYNCTEX_DECLARE_NODE_COUNT + SYNCTEX_DECLARE_HANDLE + char *output_fmt; /* dvi or pdf, not yet used */ + synctex_iterator_p iterator; /* result iterator */ + int version; /* 1, not yet used */ + struct { + unsigned has_parsed : 1; /* Whether the scanner has parsed its underlying synctex file. */ + unsigned postamble : 1; /* Whether the scanner has parsed its underlying synctex file. */ + unsigned reserved : sizeof(unsigned) - 2; /* alignment */ + } flags; + int pre_magnification; /* magnification from the synctex preamble */ + int pre_unit; /* unit from the synctex preamble */ + int pre_x_offset; /* X offset from the synctex preamble */ + int pre_y_offset; /* Y offset from the synctex preamble */ + int count; /* Number of records, from the synctex postamble */ + float unit; /* real unit, from synctex preamble or post scriptum */ + float x_offset; /* X offset, from synctex preamble or post scriptum */ + float y_offset; /* Y Offset, from synctex preamble or post scriptum */ + synctex_node_p input; /* The first input node, its siblings are the other input nodes */ + synctex_node_p sheet; /* The first sheet node, its siblings are the other sheet nodes */ + synctex_node_p form; /* The first form, its siblings are the other forms */ + synctex_node_p ref_in_sheet; /* The first form ref node in sheet, its friends are the other form ref nodes */ + synctex_node_p ref_in_form; /* The first form ref node, its friends are the other form ref nodes in sheet */ + int number_of_lists; /* The number of friend lists */ + synctex_node_r lists_of_friends; /* The friend lists */ + synctex_class_s class[synctex_node_number_of_types]; /* The classes of the nodes of the scanner */ + int display_switcher; + char *display_prompt; +}; + +/** + * Create a new node of the given type. + * - parameter scanner: of type synctex_node_p + * - parameter type: a type, the client is responsible + * to ask for an acceptable type. + */ +synctex_node_p synctex_node_new(synctex_scanner_p scanner, synctex_node_type_t type) +{ + return scanner ? scanner->class[type].new(scanner) : NULL; +} +#if defined(SYNCTEX_USE_HANDLE) +SYNCTEX_INLINE static void __synctex_scanner_free_handle(synctex_scanner_p scanner) +{ + synctex_node_free(scanner->handle); +} +SYNCTEX_INLINE static void __synctex_scanner_remove_handle_to(synctex_node_p node) +{ + synctex_node_p arg_sibling = NULL; + synctex_node_p handle = node->class->scanner->handle; + while (handle) { + synctex_node_p sibling; + if (node == _synctex_tree_target(handle)) { + sibling = __synctex_tree_reset_sibling(handle); + if (arg_sibling) { + __synctex_tree_set_sibling(arg_sibling, sibling); + } else { + node->class->scanner->handle = sibling; + } + synctex_node_free(handle); + break; + } else { + sibling = __synctex_tree_sibling(handle); + } + arg_sibling = handle; + handle = sibling; + } +} +SYNCTEX_INLINE static void __synctex_scanner_register_handle_to(synctex_node_p node) +{ + synctex_node_p NNN = _synctex_new_handle_with_target(node); + __synctex_tree_set_sibling(NNN, node->class->scanner->handle); + node->class->scanner->handle = NNN; +} +#endif +#if defined SYNCTEX_USE_NODE_COUNT && SYNCTEX_USE_NODE_COUNT > 10 +SYNCTEX_INLINE static void _synctex_did_new(synctex_node_p node) +{ + printf("NODE CREATED # %i, %s, %p\n", (node->class->scanner->node_count)++, synctex_node_isa(node), node); +} +SYNCTEX_INLINE static void _synctex_will_free(synctex_node_p node) +{ + printf("NODE DELETED # %i, %s, %p\n", --(node->class->scanner->node_count), synctex_node_isa(node), node); +} +#endif + +/** + * Free the given node. + * - parameter node: of type synctex_node_p + * - note: a node is meant to own its child and sibling. + * It is not owned by its parent, unless it is its first child. + * This destructor is for all nodes with children. + */ +static void _synctex_free_node(synctex_node_p node) +{ + if (node) { + SYNCTEX_SCANNER_REMOVE_HANDLE_TO(node); + SYNCTEX_WILL_FREE(node); + synctex_node_free(__synctex_tree_sibling(node)); + synctex_node_free(_synctex_tree_child(node)); + _synctex_free(node); + } + return; +} + +/** + * Free the given leaf node. + * - parameter node: of type synctex_node_p, with no child nor sibling. + * - note: a node is meant to own its child and sibling. + * It is not owned by its parent, unless it is its first child. + * This destructor is for all nodes with no children. + */ +static void _synctex_free_leaf(synctex_node_p node) +{ + if (node) { + SYNCTEX_SCANNER_REMOVE_HANDLE_TO(node); + SYNCTEX_WILL_FREE(node); + synctex_node_free(__synctex_tree_sibling(node)); + _synctex_free(node); + } + return; +} + +/** + SYNCTEX_CUR, SYNCTEX_START and SYNCTEX_END are convenient shortcuts + */ +#define SYNCTEX_CUR (scanner->reader->current) +#define SYNCTEX_START (scanner->reader->start) +#define SYNCTEX_END (scanner->reader->end) + +/* Here are gathered all the possible status that the next scanning functions will return. + * All these functions return a status, and pass their result through pointers. + * Negative values correspond to errors. + * The management of the buffer is causing some significant overhead. + * Every function that may access the buffer returns a status related to the buffer and file state. + * status >= SYNCTEX_STATUS_OK means the function worked as expected + * status < SYNCTEX_STATUS_OK means the function did not work as expected + * status == SYNCTEX_STATUS_NOT_OK means the function did not work as expected but there is still some material to parse. + * status == SYNCTEX_STATUS_EOF means the function did not work as expected and there is no more material. + * statushandle : NULL; +} +#endif + +#ifdef SYNCTEX_NOTHING +#pragma mark - +#pragma mark Decoding prototypes +#endif + +typedef struct { + int integer; + synctex_status_t status; +} synctex_is_s; + +static synctex_is_s _synctex_decode_int(synctex_scanner_p scanner); +static synctex_is_s _synctex_decode_int_opt(synctex_scanner_p scanner, int default_value); +static synctex_is_s _synctex_decode_int_v(synctex_scanner_p scanner); + +typedef struct { + char *string; + synctex_status_t status; +} synctex_ss_s; + +static synctex_ss_s _synctex_decode_string(synctex_scanner_p scanner); + +#ifdef SYNCTEX_NOTHING +#pragma mark - +#pragma mark Data SETGET +#endif + +/** + * The next macros are used to access the node data info + * through the class modelator integer fields. + * - parameter NODE: of type synctex_node_p + */ +#define SYNCTEX_DATA(NODE) ((*((((NODE)->class))->info))(NODE)) +#if defined SYNCTEX_DEBUG > 1000 +#define DEFINE_SYNCTEX_DATA_HAS(WHAT) \ + SYNCTEX_INLINE static synctex_bool_t __synctex_data_has_##WHAT(synctex_node_p node) \ + { \ + return (node && (node->class->modelator->WHAT >= 0)); \ + } \ + SYNCTEX_INLINE static synctex_bool_t _synctex_data_has_##WHAT(synctex_node_p node) \ + { \ + if (node && (node->class->modelator->WHAT < 0)) { \ + printf("WARNING: NO %s for %s\n", #WHAT, synctex_node_isa(node)); \ + } \ + return __synctex_data_has_##WHAT(node); \ + } +#else +#define DEFINE_SYNCTEX_DATA_HAS(WHAT) \ + SYNCTEX_INLINE static synctex_bool_t __synctex_data_has_##WHAT(synctex_node_p node) \ + { \ + return (node && (node->class->modelator->WHAT >= 0)); \ + } \ + SYNCTEX_INLINE static synctex_bool_t _synctex_data_has_##WHAT(synctex_node_p node) \ + { \ + return __synctex_data_has_##WHAT(node); \ + } +#endif + +SYNCTEX_INLINE static synctex_data_p __synctex_data(synctex_node_p node) +{ + return node->data + node->class->navigator->size; +} +#define DEFINE_SYNCTEX_DATA_INT_GETSET(WHAT) \ + DEFINE_SYNCTEX_DATA_HAS(WHAT) \ + static int _synctex_data_##WHAT(synctex_node_p node) \ + { \ + if (_synctex_data_has_##WHAT(node)) { \ + return __synctex_data(node)[node->class->modelator->WHAT].as_integer; \ + } \ + return 0; \ + } \ + static int _synctex_data_set_##WHAT(synctex_node_p node, int new_value) \ + { \ + int old = 0; \ + if (_synctex_data_has_##WHAT(node)) { \ + old = __synctex_data(node)[node->class->modelator->WHAT].as_integer; \ + __synctex_data(node)[node->class->modelator->WHAT].as_integer = new_value; \ + } \ + return old; \ + } +#define DEFINE_SYNCTEX_DATA_INT_DECODE(WHAT) \ + static synctex_status_t _synctex_data_decode_##WHAT(synctex_node_p node) \ + { \ + if (_synctex_data_has_##WHAT(node)) { \ + synctex_is_s is = _synctex_decode_int(node->class->scanner); \ + if (is.status == SYNCTEX_STATUS_OK) { \ + _synctex_data_set_##WHAT(node, is.integer); \ + } \ + return is.status; \ + } \ + return SYNCTEX_STATUS_BAD_ARGUMENT; \ + } +#define DEFINE_SYNCTEX_DATA_INT_DECODE_v(WHAT) \ + static synctex_status_t _synctex_data_decode_##WHAT##_v(synctex_node_p node) \ + { \ + if (_synctex_data_has_##WHAT(node)) { \ + synctex_is_s is = _synctex_decode_int_v(node->class->scanner); \ + if (is.status == SYNCTEX_STATUS_OK) { \ + _synctex_data_set_##WHAT(node, is.integer); \ + } \ + return is.status; \ + } \ + return SYNCTEX_STATUS_BAD_ARGUMENT; \ + } +#define DEFINE_SYNCTEX_DATA_STR_GETSET(WHAT) \ + DEFINE_SYNCTEX_DATA_HAS(WHAT) \ + static char *_synctex_data_##WHAT(synctex_node_p node) \ + { \ + if (_synctex_data_has_##WHAT(node)) { \ + return node->data[node->class->navigator->size + node->class->modelator->WHAT].as_string; \ + } \ + return NULL; \ + } \ + static const char *_synctex_data_set_##WHAT(synctex_node_p node, char *new_value) \ + { \ + const char *old = ""; \ + if (_synctex_data_has_##WHAT(node)) { \ + old = node->data[node->class->navigator->size + node->class->modelator->WHAT].as_string; \ + node->data[node->class->navigator->size + node->class->modelator->WHAT].as_string = new_value; \ + } \ + return old; \ + } +#define DEFINE_SYNCTEX_DATA_STR_DECODE(WHAT) \ + static synctex_status_t _synctex_data_decode_##WHAT(synctex_node_p node) \ + { \ + if (_synctex_data_has_##WHAT(node)) { \ + synctex_ss_s ss = _synctex_decode_string(node->class->scanner); \ + if (ss.status == SYNCTEX_STATUS_OK) { \ + _synctex_data_set_##WHAT(node, ss.string); \ + } \ + return ss.status; \ + } \ + return SYNCTEX_STATUS_BAD_ARGUMENT; \ + } +#define DEFINE_SYNCTEX_DATA_INT_GETSET_DECODE(WHAT) \ + DEFINE_SYNCTEX_DATA_INT_GETSET(WHAT) \ + DEFINE_SYNCTEX_DATA_INT_DECODE(WHAT) +#define DEFINE_SYNCTEX_DATA_INT_GETSET_DECODE_v(WHAT) \ + DEFINE_SYNCTEX_DATA_INT_GETSET(WHAT) \ + DEFINE_SYNCTEX_DATA_INT_DECODE_v(WHAT) +#define DEFINE_SYNCTEX_DATA_STR_GETSET_DECODE(WHAT) \ + DEFINE_SYNCTEX_DATA_STR_GETSET(WHAT) \ + DEFINE_SYNCTEX_DATA_STR_DECODE(WHAT) + +#ifdef SYNCTEX_NOTHING +#pragma mark - +#pragma mark OBJECTS, their creators and destructors. +#endif + +#ifdef SYNCTEX_NOTHING +#pragma mark input. +#endif + +DEFINE_SYNCTEX_DATA_INT_GETSET_DECODE(tag) +DEFINE_SYNCTEX_DATA_INT_GETSET_DECODE(line) +DEFINE_SYNCTEX_DATA_STR_GETSET_DECODE(name) + +/* Input nodes only know about their sibling, which is another input node. + * The synctex information is the _synctex_data_tag and _synctex_data_name + * note: the input owns its name. */ + +#define SYNCTEX_INPUT_MARK "Input:" + +static const synctex_tree_model_s synctex_tree_model_input = {synctex_tree_sibling_idx, /* sibling */ + -1, /* parent */ + -1, /* child */ + -1, /* friend */ + -1, /* last */ + -1, /* next_hbox */ + -1, /* arg_sibling */ + -1, /* target */ + synctex_tree_s_input_max}; +static const synctex_data_model_s synctex_data_model_input = {synctex_data_input_tag_idx, /* tag */ + synctex_data_input_line_idx, /* line */ + -1, /* column */ + -1, /* h */ + -1, /* v */ + -1, /* width */ + -1, /* height */ + -1, /* depth */ + -1, /* mean_line */ + -1, /* weight */ + -1, /* h_V */ + -1, /* v_V */ + -1, /* width_V */ + -1, /* height_V */ + -1, /* depth_V */ + synctex_data_input_name_idx, /* name */ + -1, /* page */ + synctex_data_input_tln_max}; + +#define SYNCTEX_INSPECTOR_GETTER_F(WHAT) &_synctex_data_##WHAT, &_synctex_data_set_##WHAT + +static synctex_node_p _synctex_new_input(synctex_scanner_p scanner); +static void _synctex_free_input(synctex_node_p node); +static void _synctex_log_input(synctex_node_p node); +static char *_synctex_abstract_input(synctex_node_p node); +static void _synctex_display_input(synctex_node_p node); + +static const synctex_tlcpector_s synctex_tlcpector_input = { + &_synctex_data_tag, /* tag */ + &_synctex_int_none, /* line */ + &_synctex_int_none, /* column */ +}; + +static synctex_class_s synctex_class_input = { + NULL, /* No scanner yet */ + synctex_node_type_input, /* Node type */ + &_synctex_new_input, /* creator */ + &_synctex_free_input, /* destructor */ + &_synctex_log_input, /* log */ + &_synctex_display_input, /* display */ + &_synctex_abstract_input, /* abstract */ + &synctex_tree_model_input, /* tree model */ + &synctex_data_model_input, /* data model */ + &synctex_tlcpector_input, /* inspector */ + &synctex_inspector_none, /* inspector */ + &synctex_vispector_none, /* vispector */ +}; + +typedef struct { + SYNCTEX_DECLARE_CHARINDEX + synctex_class_p class; + synctex_data_u data[synctex_tree_s_input_max + synctex_data_input_tln_max]; +} synctex_input_s; + +static synctex_node_p _synctex_new_input(synctex_scanner_p scanner) +{ + if (scanner) { + synctex_node_p node = _synctex_malloc(sizeof(synctex_input_s)); + if (node) { + node->class = scanner->class + synctex_node_type_input; + SYNCTEX_DID_NEW(node); + SYNCTEX_IMPLEMENT_CHARINDEX(node, 0); + SYNCTEX_REGISTER_HANDLE_TO(node); + } + return node; + } + return NULL; +} + +static void _synctex_free_input(synctex_node_p node) +{ + if (node) { + SYNCTEX_SCANNER_REMOVE_HANDLE_TO(node); + SYNCTEX_WILL_FREE(node); + synctex_node_free(__synctex_tree_sibling(node)); + _synctex_free(_synctex_data_name(node)); + _synctex_free(node); + } +} + +/* The sheet is a first level node. + * It has no parent (the owner is the scanner itself) + * Its sibling points to another sheet. + * Its child points to its first child, in general a box. + * A sheet node contains only one synctex information: the page. + * This is the 1 based page index as given by TeX. + */ + +#ifdef SYNCTEX_NOTHING +#pragma mark sheet. +#endif +/** + * Every node has the same structure, but not the same size. + */ + +DEFINE_SYNCTEX_DATA_INT_GETSET_DECODE(page) + +typedef struct { + SYNCTEX_DECLARE_CHARINDEX + synctex_class_p class; + synctex_data_u data[synctex_tree_scn_sheet_max + synctex_data_p_sheet_max]; +} synctex_node_sheet_s; + +/* sheet node creator */ + +#define DEFINE_synctex_new_scanned_NODE(NAME) \ + static synctex_node_p _synctex_new_##NAME(synctex_scanner_p scanner) \ + { \ + if (scanner) { \ + ++SYNCTEX_CUR; \ + synctex_node_p node = _synctex_malloc(sizeof(synctex_node_##NAME##_s)); \ + if (node) { \ + node->class = scanner->class + synctex_node_type_##NAME; \ + SYNCTEX_DID_NEW(node); \ + SYNCTEX_IMPLEMENT_CHARINDEX(node, -1); \ + SYNCTEX_REGISTER_HANDLE_TO(node); \ + } \ + return node; \ + } \ + return NULL; \ + } +/* NB: -1 in SYNCTEX_IMPLEMENT_CHARINDEX above because + * the first char of the line has been scanned + */ +DEFINE_synctex_new_scanned_NODE(sheet) static void _synctex_log_sheet(synctex_node_p node); +static char *_synctex_abstract_sheet(synctex_node_p node); +static void _synctex_display_sheet(synctex_node_p node); + +static const synctex_tree_model_s synctex_tree_model_sheet = {synctex_tree_sibling_idx, /* sibling */ + -1, /* parent */ + synctex_tree_s_child_idx, /* child */ + -1, /* friend */ + -1, /* last */ + synctex_tree_sc_next_hbox_idx, /* next_hbox */ + -1, /* arg_sibling */ + -1, /* target */ + synctex_tree_scn_sheet_max}; +static const synctex_data_model_s synctex_data_model_sheet = {-1, /* tag */ + -1, /* line */ + -1, /* column */ + -1, /* h */ + -1, /* v */ + -1, /* width */ + -1, /* height */ + -1, /* depth */ + -1, /* mean_line */ + -1, /* weight */ + -1, /* h_V */ + -1, /* v_V */ + -1, /* width_V */ + -1, /* height_V */ + -1, /* depth_V */ + -1, /* name */ + synctex_data_sheet_page_idx, /* page */ + synctex_data_p_sheet_max}; +static synctex_class_s synctex_class_sheet = { + NULL, /* No scanner yet */ + synctex_node_type_sheet, /* Node type */ + &_synctex_new_sheet, /* creator */ + &_synctex_free_node, /* destructor */ + &_synctex_log_sheet, /* log */ + &_synctex_display_sheet, /* display */ + &_synctex_abstract_sheet, /* abstract */ + &synctex_tree_model_sheet, /* tree model */ + &synctex_data_model_sheet, /* data model */ + &synctex_tlcpector_none, /* tlcpector */ + &synctex_inspector_none, /* inspector */ + &synctex_vispector_none, /* vispector */ +}; + +#ifdef SYNCTEX_NOTHING +#pragma mark form. +#endif +/** + * Every node has the same structure, but not the same size. + */ +typedef struct { + SYNCTEX_DECLARE_CHARINDEX + synctex_class_p class; + synctex_data_u data[synctex_tree_sct_form_max + synctex_data_t_form_max]; +} synctex_node_form_s; + +DEFINE_synctex_new_scanned_NODE(form) + + static char *_synctex_abstract_form(synctex_node_p node); +static void _synctex_display_form(synctex_node_p node); +static void _synctex_log_form(synctex_node_p node); + +static const synctex_tree_model_s synctex_tree_model_form = {synctex_tree_sibling_idx, /* sibling */ + -1, /* parent */ + synctex_tree_s_child_idx, /* child */ + -1, /* friend */ + -1, /* last */ + -1, /* next_hbox */ + -1, /* arg_sibling */ + synctex_tree_sc_target_idx, /* target */ + synctex_tree_sct_form_max}; +static const synctex_data_model_s synctex_data_model_form = {synctex_data_form_tag_idx, /* tag */ + -1, /* line */ + -1, /* column */ + -1, /* h */ + -1, /* v */ + -1, /* width */ + -1, /* height */ + -1, /* depth */ + -1, /* mean_line */ + -1, /* weight */ + -1, /* h_V */ + -1, /* v_V */ + -1, /* width_V */ + -1, /* height_V */ + -1, /* depth_V */ + -1, /* name */ + -1, /* page */ + synctex_data_t_form_max}; +static synctex_class_s synctex_class_form = { + NULL, /* No scanner yet */ + synctex_node_type_form, /* Node type */ + &_synctex_new_form, /* creator */ + &_synctex_free_node, /* destructor */ + &_synctex_log_form, /* log */ + &_synctex_display_form, /* display */ + &_synctex_abstract_form, /* abstract */ + &synctex_tree_model_form, /* tree model */ + &synctex_data_model_form, /* data model */ + &synctex_tlcpector_none, /* tlcpector */ + &synctex_inspector_none, /* inspector */ + &synctex_vispector_none, /* vispector */ +}; + +#ifdef SYNCTEX_NOTHING +#pragma mark vbox. +#endif + +/* A box node contains navigation and synctex information + * There are different kinds of boxes. + * Only horizontal boxes are treated differently because of their visible size. + */ +typedef struct { + SYNCTEX_DECLARE_CHARINDEX + synctex_class_p class; + synctex_data_u data[synctex_tree_spcfl_vbox_max + synctex_data_box_max]; +} synctex_node_vbox_s; + +/* vertical box node creator */ +DEFINE_synctex_new_scanned_NODE(vbox) + + static char *_synctex_abstract_vbox(synctex_node_p node); +static void _synctex_display_vbox(synctex_node_p node); +static void _synctex_log_vbox(synctex_node_p node); + +static const synctex_tree_model_s synctex_tree_model_vbox = {synctex_tree_sibling_idx, /* sibling */ + synctex_tree_s_parent_idx, /* parent */ + synctex_tree_sp_child_idx, /* child */ + synctex_tree_spc_friend_idx, /* friend */ + synctex_tree_spcf_last_idx, /* last */ + -1, /* next_hbox */ + -1, /* arg_sibling */ + -1, /* target */ + synctex_tree_spcfl_vbox_max}; + +DEFINE_SYNCTEX_DATA_INT_GETSET(column) +static synctex_status_t _synctex_data_decode_column(synctex_node_p node) +{ + if (_synctex_data_has_column(node)) { + synctex_is_s is = _synctex_decode_int_opt(node->class->scanner, -1); + if (is.status == SYNCTEX_STATUS_OK) { + _synctex_data_set_column(node, is.integer); + } + return is.status; + } + return SYNCTEX_STATUS_BAD_ARGUMENT; +} +DEFINE_SYNCTEX_DATA_INT_GETSET_DECODE(h) +DEFINE_SYNCTEX_DATA_INT_GETSET_DECODE_v(v) DEFINE_SYNCTEX_DATA_INT_GETSET_DECODE(width) DEFINE_SYNCTEX_DATA_INT_GETSET_DECODE(height) DEFINE_SYNCTEX_DATA_INT_GETSET_DECODE(depth) + + static const synctex_data_model_s synctex_data_model_box = {synctex_data_tag_idx, /* tag */ + synctex_data_line_idx, /* line */ + synctex_data_column_idx, /* column */ + synctex_data_h_idx, /* h */ + synctex_data_v_idx, /* v */ + synctex_data_width_idx, /* width */ + synctex_data_height_idx, /* height */ + synctex_data_depth_idx, /* depth */ + -1, /* mean_line */ + -1, /* weight */ + -1, /* h_V */ + -1, /* v_V */ + -1, /* width_V */ + -1, /* height_V */ + -1, /* depth_V */ + -1, /* name */ + -1, /* page */ + synctex_data_box_max}; +static const synctex_tlcpector_s synctex_tlcpector_default = { + &_synctex_data_tag, /* tag */ + &_synctex_data_line, /* line */ + &_synctex_data_column, /* column */ +}; +static const synctex_inspector_s synctex_inspector_box = { + &_synctex_data_h, + &_synctex_data_v, + &_synctex_data_width, + &_synctex_data_height, + &_synctex_data_depth, +}; +static float __synctex_node_visible_h(synctex_node_p node); +static float __synctex_node_visible_v(synctex_node_p node); +static float __synctex_node_visible_width(synctex_node_p node); +static float __synctex_node_visible_height(synctex_node_p node); +static float __synctex_node_visible_depth(synctex_node_p node); +static synctex_vispector_s synctex_vispector_box = { + &__synctex_node_visible_h, + &__synctex_node_visible_v, + &__synctex_node_visible_width, + &__synctex_node_visible_height, + &__synctex_node_visible_depth, +}; +/* These are static class objects, each scanner will make a copy of them and setup the scanner field. + */ +static synctex_class_s synctex_class_vbox = { + NULL, /* No scanner yet */ + synctex_node_type_vbox, /* Node type */ + &_synctex_new_vbox, /* creator */ + &_synctex_free_node, /* destructor */ + &_synctex_log_vbox, /* log */ + &_synctex_display_vbox, /* display */ + &_synctex_abstract_vbox, /* abstract */ + &synctex_tree_model_vbox, /* tree model */ + &synctex_data_model_box, /* data model */ + &synctex_tlcpector_default, /* tlcpector */ + &synctex_inspector_box, /* inspector */ + &synctex_vispector_box, /* vispector */ +}; + +#ifdef SYNCTEX_NOTHING +#pragma mark hbox. +#endif + +/* Horizontal boxes must contain visible size, because 0 width does not mean emptiness. + * They also contain an average of the line numbers of the containing nodes. */ + +static const synctex_tree_model_s synctex_tree_model_hbox = {synctex_tree_sibling_idx, /* sibling */ + synctex_tree_s_parent_idx, /* parent */ + synctex_tree_sp_child_idx, /* child */ + synctex_tree_spc_friend_idx, /* friend */ + synctex_tree_spcf_last_idx, /* last */ + synctex_tree_spcfl_next_hbox_idx, /* next_hbox */ + -1, /* arg_sibling */ + -1, /* target */ + synctex_tree_spcfln_hbox_max}; + +DEFINE_SYNCTEX_DATA_INT_GETSET(mean_line) +DEFINE_SYNCTEX_DATA_INT_GETSET(weight) +DEFINE_SYNCTEX_DATA_INT_GETSET(h_V) +DEFINE_SYNCTEX_DATA_INT_GETSET(v_V) +DEFINE_SYNCTEX_DATA_INT_GETSET(width_V) +DEFINE_SYNCTEX_DATA_INT_GETSET(height_V) +DEFINE_SYNCTEX_DATA_INT_GETSET(depth_V) + +/** + * The hbox model. + * It contains V variants of geometrical information. + * It happens that hboxes contain material that is not used to compute + * the bounding box. Some letters may appear out of the box given by TeX. + * In such a situation, the visible bounding box is bigger than the V variant. + * Only hboxes have such variant. It does not make sense for void boxes + * and it is not used here for vboxes. + * - author: JL + */ + +static const synctex_data_model_s synctex_data_model_hbox = {synctex_data_tag_idx, /* tag */ + synctex_data_line_idx, /* line */ + synctex_data_column_idx, /* column */ + synctex_data_h_idx, /* h */ + synctex_data_v_idx, /* v */ + synctex_data_width_idx, /* width */ + synctex_data_height_idx, /* height */ + synctex_data_depth_idx, /* depth */ + synctex_data_mean_line_idx, /* mean_line */ + synctex_data_weight_idx, /* weight */ + synctex_data_h_V_idx, /* h_V */ + synctex_data_v_V_idx, /* v_V */ + synctex_data_width_V_idx, /* width_V */ + synctex_data_height_V_idx, /* height_V */ + synctex_data_depth_V_idx, /* depth_V */ + -1, /* name */ + -1, /* page */ + synctex_data_hbox_max}; + +typedef struct { + SYNCTEX_DECLARE_CHARINDEX + synctex_class_p class; + synctex_data_u data[synctex_tree_spcfln_hbox_max + synctex_data_hbox_max]; +} synctex_node_hbox_s; + +/* horizontal box node creator */ +DEFINE_synctex_new_scanned_NODE(hbox) + + static void _synctex_log_hbox(synctex_node_p node); +static char *_synctex_abstract_hbox(synctex_node_p node); +static void _synctex_display_hbox(synctex_node_p node); + +static synctex_class_s synctex_class_hbox = { + NULL, /* No scanner yet */ + synctex_node_type_hbox, /* Node type */ + &_synctex_new_hbox, /* creator */ + &_synctex_free_node, /* destructor */ + &_synctex_log_hbox, /* log */ + &_synctex_display_hbox, /* display */ + &_synctex_abstract_hbox, /* abstract */ + &synctex_tree_model_hbox, /* tree model */ + &synctex_data_model_hbox, /* data model */ + &synctex_tlcpector_default, /* tlcpector */ + &synctex_inspector_box, /* inspector */ + &synctex_vispector_box, /* vispector */ +}; + +#ifdef SYNCTEX_NOTHING +#pragma mark void vbox. +#endif + +/* This void box node implementation is either horizontal or vertical + * It does not contain a child field. + */ +static const synctex_tree_model_s synctex_tree_model_spf = {synctex_tree_sibling_idx, /* sibling */ + synctex_tree_s_parent_idx, /* parent */ + -1, /* child */ + synctex_tree_sp_friend_idx, /* friend */ + -1, /* last */ + -1, /* next_hbox */ + -1, /* arg_sibling */ + -1, /* target */ + synctex_tree_spf_max}; +typedef struct { + SYNCTEX_DECLARE_CHARINDEX + synctex_class_p class; + synctex_data_u data[synctex_tree_spf_max + synctex_data_box_max]; +} synctex_node_void_vbox_s; + +/* vertical void box node creator */ +DEFINE_synctex_new_scanned_NODE(void_vbox) + + static void _synctex_log_void_box(synctex_node_p node); +static char *_synctex_abstract_void_vbox(synctex_node_p node); +static void _synctex_display_void_vbox(synctex_node_p node); + +static synctex_class_s synctex_class_void_vbox = { + NULL, /* No scanner yet */ + synctex_node_type_void_vbox, /* Node type */ + &_synctex_new_void_vbox, /* creator */ + &_synctex_free_leaf, /* destructor */ + &_synctex_log_void_box, /* log */ + &_synctex_display_void_vbox, /* display */ + &_synctex_abstract_void_vbox, /* abstract */ + &synctex_tree_model_spf, /* tree model */ + &synctex_data_model_box, /* data model */ + &synctex_tlcpector_default, /* tlcpector */ + &synctex_inspector_box, /* inspector */ + &synctex_vispector_box, /* vispector */ +}; + +#ifdef SYNCTEX_NOTHING +#pragma mark void hbox. +#endif + +typedef synctex_node_void_vbox_s synctex_node_void_hbox_s; + +/* horizontal void box node creator */ +DEFINE_synctex_new_scanned_NODE(void_hbox) + + static char *_synctex_abstract_void_hbox(synctex_node_p node); +static void _synctex_display_void_hbox(synctex_node_p node); + +static synctex_class_s synctex_class_void_hbox = { + NULL, /* No scanner yet */ + synctex_node_type_void_hbox, /* Node type */ + &_synctex_new_void_hbox, /* creator */ + &_synctex_free_leaf, /* destructor */ + &_synctex_log_void_box, /* log */ + &_synctex_display_void_hbox, /* display */ + &_synctex_abstract_void_hbox, /* abstract */ + &synctex_tree_model_spf, /* tree model */ + &synctex_data_model_box, /* data model */ + &synctex_tlcpector_default, /* tlcpector */ + &synctex_inspector_box, /* inspector */ + &synctex_vispector_box, /* vispector */ +}; + +#ifdef SYNCTEX_NOTHING +#pragma mark form ref. +#endif + +/* The form ref node. */ +typedef struct { + SYNCTEX_DECLARE_CHARINDEX + synctex_class_p class; + synctex_data_u data[synctex_tree_spfa_max + synctex_data_ref_thv_max]; +} synctex_node_ref_s; + +/* form ref node creator */ +DEFINE_synctex_new_scanned_NODE(ref) + + static void _synctex_log_ref(synctex_node_p node); +static char *_synctex_abstract_ref(synctex_node_p node); +static void _synctex_display_ref(synctex_node_p node); + +static const synctex_tree_model_s synctex_tree_model_spfa = {synctex_tree_sibling_idx, /* sibling */ + synctex_tree_s_parent_idx, /* parent */ + -1, /* child */ + synctex_tree_sp_friend_idx, /* friend */ + -1, /* last */ + -1, /* next_hbox */ + synctex_tree_spf_arg_sibling_idx, /* arg_sibling */ + -1, /* target */ + synctex_tree_spfa_max}; +static const synctex_data_model_s synctex_data_model_ref = {synctex_data_tag_idx, /* tag */ + -1, /* line */ + -1, /* column */ + synctex_data_ref_h_idx, /* h */ + synctex_data_ref_v_idx, /* v */ + -1, /* width */ + -1, /* height */ + -1, /* depth */ + -1, /* mean_line */ + -1, /* weight */ + -1, /* h_V */ + -1, /* v_V */ + -1, /* width_V */ + -1, /* height_V */ + -1, /* depth_V */ + synctex_data_ref_thv_max}; +static synctex_class_s synctex_class_ref = { + NULL, /* No scanner yet */ + synctex_node_type_ref, /* Node type */ + &_synctex_new_ref, /* creator */ + &_synctex_free_leaf, /* destructor */ + &_synctex_log_ref, /* log */ + &_synctex_display_ref, /* display */ + &_synctex_abstract_ref, /* abstract */ + &synctex_tree_model_spfa, /* navigator */ + &synctex_data_model_ref, /* data model */ + &synctex_tlcpector_none, /* tlcpector */ + &synctex_inspector_none, /* inspector */ + &synctex_vispector_none, /* vispector */ +}; +#ifdef SYNCTEX_NOTHING +#pragma mark small node. +#endif + +/* The small nodes correspond to glue, penalty, math and boundary nodes. */ +static const synctex_data_model_s synctex_data_model_tlchv = {synctex_data_tag_idx, /* tag */ + synctex_data_line_idx, /* line */ + synctex_data_column_idx, /* column */ + synctex_data_h_idx, /* h */ + synctex_data_v_idx, /* v */ + -1, /* width */ + -1, /* height */ + -1, /* depth */ + -1, /* mean_line */ + -1, /* weight */ + -1, /* h_V */ + -1, /* v_V */ + -1, /* width_V */ + -1, /* height_V */ + -1, /* depth_V */ + -1, /* name */ + -1, /* page */ + synctex_data_tlchv_max}; + +typedef struct { + SYNCTEX_DECLARE_CHARINDEX + synctex_class_p class; + synctex_data_u data[synctex_tree_spf_max + synctex_data_tlchv_max]; +} synctex_node_tlchv_s; + +static void _synctex_log_tlchv_node(synctex_node_p node); + +#ifdef SYNCTEX_NOTHING +#pragma mark math. +#endif + +typedef synctex_node_tlchv_s synctex_node_math_s; + +/* math node creator */ +DEFINE_synctex_new_scanned_NODE(math) + + static char *_synctex_abstract_math(synctex_node_p node); +static void _synctex_display_math(synctex_node_p node); +static synctex_inspector_s synctex_inspector_hv = { + &_synctex_data_h, + &_synctex_data_v, + &_synctex_int_none, + &_synctex_int_none, + &_synctex_int_none, +}; +static synctex_vispector_s synctex_vispector_hv = { + &__synctex_node_visible_h, + &__synctex_node_visible_v, + &_synctex_float_none, + &_synctex_float_none, + &_synctex_float_none, +}; + +static synctex_class_s synctex_class_math = { + NULL, /* No scanner yet */ + synctex_node_type_math, /* Node type */ + &_synctex_new_math, /* creator */ + &_synctex_free_leaf, /* destructor */ + &_synctex_log_tlchv_node, /* log */ + &_synctex_display_math, /* display */ + &_synctex_abstract_math, /* abstract */ + &synctex_tree_model_spf, /* tree model */ + &synctex_data_model_tlchv, /* data model */ + &synctex_tlcpector_default, /* tlcpector */ + &synctex_inspector_hv, /* inspector */ + &synctex_vispector_hv, /* vispector */ +}; + +#ifdef SYNCTEX_NOTHING +#pragma mark kern node. +#endif + +static const synctex_data_model_s synctex_data_model_tlchvw = {synctex_data_tag_idx, /* tag */ + synctex_data_line_idx, /* line */ + synctex_data_column_idx, /* column */ + synctex_data_h_idx, /* h */ + synctex_data_v_idx, /* v */ + synctex_data_width_idx, /* width */ + -1, /* height */ + -1, /* depth */ + -1, /* mean_line */ + -1, /* weight */ + -1, /* h_V */ + -1, /* v_V */ + -1, /* width_V */ + -1, /* height_V */ + -1, /* depth_V */ + -1, /* name */ + -1, /* page */ + synctex_data_tlchvw_max}; +typedef struct { + SYNCTEX_DECLARE_CHARINDEX + synctex_class_p class; + synctex_data_u data[synctex_tree_spf_max + synctex_data_tlchvw_max]; +} synctex_node_kern_s; + +/* kern node creator */ +DEFINE_synctex_new_scanned_NODE(kern) + + static void _synctex_log_kern_node(synctex_node_p node); +static char *_synctex_abstract_kern(synctex_node_p node); +static void _synctex_display_kern(synctex_node_p node); + +static synctex_inspector_s synctex_inspector_kern = { + &_synctex_data_h, + &_synctex_data_v, + &_synctex_data_width, + &_synctex_int_none, + &_synctex_int_none, +}; +static float __synctex_kern_visible_h(synctex_node_p node); +static float __synctex_kern_visible_width(synctex_node_p node); +static synctex_vispector_s synctex_vispector_kern = { + &__synctex_kern_visible_h, + &__synctex_node_visible_v, + &__synctex_kern_visible_width, + &_synctex_float_none, + &_synctex_float_none, +}; + +static synctex_class_s synctex_class_kern = { + NULL, /* No scanner yet */ + synctex_node_type_kern, /* Node type */ + &_synctex_new_kern, /* creator */ + &_synctex_free_leaf, /* destructor */ + &_synctex_log_kern_node, /* log */ + &_synctex_display_kern, /* display */ + &_synctex_abstract_kern, /* abstract */ + &synctex_tree_model_spf, /* tree model */ + &synctex_data_model_tlchvw, /* data model */ + &synctex_tlcpector_default, /* tlcpector */ + &synctex_inspector_kern, /* inspector */ + &synctex_vispector_kern, /* vispector */ +}; + +#ifdef SYNCTEX_NOTHING +#pragma mark glue. +#endif + +/* glue node creator */ +typedef synctex_node_tlchv_s synctex_node_glue_s; +DEFINE_synctex_new_scanned_NODE(glue) + + static char *_synctex_abstract_glue(synctex_node_p node); +static void _synctex_display_glue(synctex_node_p node); + +static synctex_class_s synctex_class_glue = { + NULL, /* No scanner yet */ + synctex_node_type_glue, /* Node type */ + &_synctex_new_glue, /* creator */ + &_synctex_free_leaf, /* destructor */ + &_synctex_log_tlchv_node, /* log */ + &_synctex_display_glue, /* display */ + &_synctex_abstract_glue, /* abstract */ + &synctex_tree_model_spf, /* tree model */ + &synctex_data_model_tlchv, /* data model */ + &synctex_tlcpector_default, /* tlcpector */ + &synctex_inspector_hv, /* inspector */ + &synctex_vispector_hv, /* vispector */ +}; + +/* The small nodes correspond to glue and boundary nodes. */ + +#ifdef SYNCTEX_NOTHING +#pragma mark rule. +#endif + +typedef struct { + SYNCTEX_DECLARE_CHARINDEX + synctex_class_p class; + synctex_data_u data[synctex_tree_spf_max + synctex_data_box_max]; +} synctex_node_rule_s; + +DEFINE_synctex_new_scanned_NODE(rule) + + static void _synctex_log_rule(synctex_node_p node); +static char *_synctex_abstract_rule(synctex_node_p node); +static void _synctex_display_rule(synctex_node_p node); + +static float __synctex_rule_visible_h(synctex_node_p node); +static float __synctex_rule_visible_v(synctex_node_p node); +static float __synctex_rule_visible_width(synctex_node_p node); +static float __synctex_rule_visible_height(synctex_node_p node); +static float __synctex_rule_visible_depth(synctex_node_p node); +static synctex_vispector_s synctex_vispector_rule = { + &__synctex_rule_visible_h, + &__synctex_rule_visible_v, + &__synctex_rule_visible_width, + &__synctex_rule_visible_height, + &__synctex_rule_visible_depth, +}; + +static synctex_class_s synctex_class_rule = { + NULL, /* No scanner yet */ + synctex_node_type_rule, /* Node type */ + &_synctex_new_rule, /* creator */ + &_synctex_free_leaf, /* destructor */ + &_synctex_log_rule, /* log */ + &_synctex_display_rule, /* display */ + &_synctex_abstract_rule, /* abstract */ + &synctex_tree_model_spf, /* tree model */ + &synctex_data_model_box, /* data model */ + &synctex_tlcpector_default, /* tlcpector */ + &synctex_inspector_box, /* inspector */ + &synctex_vispector_rule, /* vispector */ +}; + +#ifdef SYNCTEX_NOTHING +#pragma mark boundary. +#endif + +/* boundary node creator */ +typedef synctex_node_tlchv_s synctex_node_boundary_s; +DEFINE_synctex_new_scanned_NODE(boundary) + + static char *_synctex_abstract_boundary(synctex_node_p node); +static void _synctex_display_boundary(synctex_node_p node); + +static synctex_class_s synctex_class_boundary = { + NULL, /* No scanner yet */ + synctex_node_type_boundary, /* Node type */ + &_synctex_new_boundary, /* creator */ + &_synctex_free_leaf, /* destructor */ + &_synctex_log_tlchv_node, /* log */ + &_synctex_display_boundary, /* display */ + &_synctex_abstract_boundary, /* abstract */ + &synctex_tree_model_spf, /* tree model */ + &synctex_data_model_tlchv, /* data model */ + &synctex_tlcpector_default, /* tlcpector */ + &synctex_inspector_hv, /* inspector */ + &synctex_vispector_hv, /* vispector */ +}; + +#ifdef SYNCTEX_NOTHING +#pragma mark box boundary. +#endif + +typedef struct { + SYNCTEX_DECLARE_CHARINDEX + synctex_class_p class; + synctex_data_u data[synctex_tree_spfa_max + synctex_data_tlchv_max]; +} synctex_node_box_bdry_s; + +#define DEFINE_synctex_new_unscanned_NODE(NAME) \ + SYNCTEX_INLINE static synctex_node_p _synctex_new_##NAME(synctex_scanner_p scanner) \ + { \ + if (scanner) { \ + synctex_node_p node = _synctex_malloc(sizeof(synctex_node_##NAME##_s)); \ + if (node) { \ + node->class = scanner->class + synctex_node_type_##NAME; \ + SYNCTEX_DID_NEW(node); \ + } \ + return node; \ + } \ + return NULL; \ + } +DEFINE_synctex_new_unscanned_NODE(box_bdry) + + static char *_synctex_abstract_box_bdry(synctex_node_p node); +static void _synctex_display_box_bdry(synctex_node_p node); + +static synctex_class_s synctex_class_box_bdry = { + NULL, /* No scanner yet */ + synctex_node_type_box_bdry, /* Node type */ + &_synctex_new_box_bdry, /* creator */ + &_synctex_free_leaf, /* destructor */ + &_synctex_log_tlchv_node, /* log */ + &_synctex_display_box_bdry, /* display */ + &_synctex_abstract_box_bdry, /* display */ + &synctex_tree_model_spfa, /* tree model */ + &synctex_data_model_tlchv, /* data model */ + &synctex_tlcpector_default, /* tlcpector */ + &synctex_inspector_hv, /* inspector */ + &synctex_vispector_hv, /* vispector */ +}; + +#ifdef SYNCTEX_NOTHING +#pragma mark hbox proxy. +#endif + +/** + * Standard nodes refer to TeX nodes: math, kern, boxes... + * Proxy nodes are used to support forms. + * A form is parsed as a tree of standard nodes starting + * at the top left position. + * When a reference is used, the form is duplicated + * to the location specified by the reference. + * As the same form can be duplicated at different locations, + * the geometrical information is relative to its own top left point. + * As we need absolute locations, we use proxy nodes. + * A proxy node records an offset and the target node. + * The target partly acts as a delegate. + * The h and v position of the proxy node is the h and v + * position of the target shifted by the proxy's offset. + * The width, height and depth are not sensitive to offsets. + * When are proxies created ? + * 1) when the synctex file has been parsed, all the form refs + * are replaced by proxies to the content of a form. + * This content is a node with siblings (actually none). + * Those root proxies have the parent of the ref they replace, + * so their parents exist and are no proxy. + * Moreover, if they have no sibling, it means that their target have no + * sibling as well. + * Such nodes are called root proxies. + * 2) On the fly, when a proxy is asked for its child + * (or sibling) and has none, a proxy to its target's child + * (or sibling) is created if any. There are only 2 possible situations: + * either the newly created proxy is the child of a proxy, + * or it is the sibling of a proxy created on the fly. + * In both cases, the parent is a proxy with children. + * Such nodes are called child proxies. + * How to compute the offset of a proxy ? + * The offset of root proxy objects is exactly + * the offset of the ref they replace. + * The offset of other proxies is their owner's, + * except when pointing to a root proxy. + * What happens for cascading forms ? + * Here is an example diagram + * + * At parse time, the arrow means "owns": + * sheet0 -> ref_to1 + * + * target1 -> ref_to2 + * + * target2 -> child22 + * + * After replacing the refs: + * sheet0 -> proxy00 -> proxy01 -> proxy02 + * | | | + * target1 -> proxy11 -> proxy12 + * | | + * target2 -> proxy22 + * + * proxy00, proxy11 and proxy22 are root proxies. + * Their offset is the one of the ref they replace + * proxy01, proxy02 and proxy12 are child proxies. + * Their proxy is the one of their parent. + * Optimization. + * After all the refs are replaced, there are only root nodes + * targeting standard node. We make sure that each child proxy + * also targets a standard node. + * It is possible for a proxy to have a standard sibling + * whereas its target has no sibling at all. Root proxies + * are such nodes, and are the only ones. + * The consequence is that proxies created on the fly + * must take into account this situation. + */ + +/* A proxy to a hbox. + * A proxy do have a target, which can be a proxy + */ + +static const synctex_tree_model_s synctex_tree_model_proxy_hbox = {synctex_tree_sibling_idx, /* sibling */ + synctex_tree_s_parent_idx, /* parent */ + synctex_tree_sp_child_idx, /* child */ + synctex_tree_spc_friend_idx, /* friend */ + synctex_tree_spcf_last_idx, /* last */ + synctex_tree_spcfl_next_hbox_idx, /* next_hbox */ + -1, /* arg_sibling */ + synctex_tree_spcfln_target_idx, /* target */ + synctex_tree_spcflnt_proxy_hbox_max}; +static const synctex_data_model_s synctex_data_model_proxy = {-1, /* tag */ + -1, /* line */ + -1, /* column */ + synctex_data_proxy_h_idx, /* h */ + synctex_data_proxy_v_idx, /* v */ + -1, /* width */ + -1, /* height */ + -1, /* depth */ + -1, /* mean_line */ + -1, /* weight */ + -1, /* h_V */ + -1, /* v_V */ + -1, /* width_V */ + -1, /* height_V */ + -1, /* depth_V */ + -1, /* name */ + -1, /* page */ + synctex_data_proxy_hv_max}; +typedef struct { + SYNCTEX_DECLARE_CHARINDEX + synctex_class_p class; + synctex_data_u data[synctex_tree_spcflnt_proxy_hbox_max + synctex_data_proxy_hv_max]; +} synctex_node_proxy_hbox_s; + +/* box proxy node creator */ +DEFINE_synctex_new_unscanned_NODE(proxy_hbox) + + static void _synctex_log_proxy(synctex_node_p node); +static char *_synctex_abstract_proxy_hbox(synctex_node_p node); +static void _synctex_display_proxy_hbox(synctex_node_p node); + +static int _synctex_proxy_tag(synctex_node_p); +static int _synctex_proxy_line(synctex_node_p); +static int _synctex_proxy_column(synctex_node_p); + +static synctex_tlcpector_s synctex_tlcpector_proxy = { + &_synctex_proxy_tag, + &_synctex_proxy_line, + &_synctex_proxy_column, +}; +static int _synctex_proxy_h(synctex_node_p); +static int _synctex_proxy_v(synctex_node_p); +static int _synctex_proxy_width(synctex_node_p); +static int _synctex_proxy_height(synctex_node_p); +static int _synctex_proxy_depth(synctex_node_p); +static synctex_inspector_s synctex_inspector_proxy_box = { + &_synctex_proxy_h, + &_synctex_proxy_v, + &_synctex_proxy_width, + &_synctex_proxy_height, + &_synctex_proxy_depth, +}; + +static float __synctex_proxy_visible_h(synctex_node_p); +static float __synctex_proxy_visible_v(synctex_node_p); +static float __synctex_proxy_visible_width(synctex_node_p); +static float __synctex_proxy_visible_height(synctex_node_p); +static float __synctex_proxy_visible_depth(synctex_node_p); + +static synctex_vispector_s synctex_vispector_proxy_box = { + &__synctex_proxy_visible_h, + &__synctex_proxy_visible_v, + &__synctex_proxy_visible_width, + &__synctex_proxy_visible_height, + &__synctex_proxy_visible_depth, +}; + +static synctex_class_s synctex_class_proxy_hbox = { + NULL, /* No scanner yet */ + synctex_node_type_proxy_hbox, /* Node type */ + &_synctex_new_proxy_hbox, /* creator */ + &_synctex_free_node, /* destructor */ + &_synctex_log_proxy, /* log */ + &_synctex_display_proxy_hbox, /* display */ + &_synctex_abstract_proxy_hbox, /* abstract */ + &synctex_tree_model_proxy_hbox, /* tree model */ + &synctex_data_model_proxy, /* data model */ + &synctex_tlcpector_proxy, /* tlcpector */ + &synctex_inspector_proxy_box, /* inspector */ + &synctex_vispector_proxy_box, /* vispector */ +}; + +#ifdef SYNCTEX_NOTHING +#pragma mark vbox proxy. +#endif + +/* A proxy to a vbox. */ + +static const synctex_tree_model_s synctex_tree_model_proxy_vbox = {synctex_tree_sibling_idx, /* sibling */ + synctex_tree_s_parent_idx, /* parent */ + synctex_tree_sp_child_idx, /* child */ + synctex_tree_spc_friend_idx, /* friend */ + synctex_tree_spcf_last_idx, /* last */ + -1, /* next_hbox */ + -1, /* arg_sibling */ + synctex_tree_spcfl_target_idx, /* target */ + synctex_tree_spcflt_proxy_vbox_max}; + +typedef struct { + SYNCTEX_DECLARE_CHARINDEX + synctex_class_p class; + synctex_data_u data[synctex_tree_spcflt_proxy_vbox_max + synctex_data_proxy_hv_max]; +} synctex_node_proxy_vbox_s; + +/* box proxy node creator */ +DEFINE_synctex_new_unscanned_NODE(proxy_vbox) + + static void _synctex_log_proxy(synctex_node_p node); +static char *_synctex_abstract_proxy_vbox(synctex_node_p node); +static void _synctex_display_proxy_vbox(synctex_node_p node); + +static synctex_class_s synctex_class_proxy_vbox = { + NULL, /* No scanner yet */ + synctex_node_type_proxy_vbox, /* Node type */ + &_synctex_new_proxy_vbox, /* creator */ + &_synctex_free_node, /* destructor */ + &_synctex_log_proxy, /* log */ + &_synctex_display_proxy_vbox, /* display */ + &_synctex_abstract_proxy_vbox, /* abstract */ + &synctex_tree_model_proxy_vbox, /* tree model */ + &synctex_data_model_proxy, /* data model */ + &synctex_tlcpector_proxy, /* tlcpector */ + &synctex_inspector_proxy_box, /* inspector */ + &synctex_vispector_proxy_box, /* vispector */ +}; + +#ifdef SYNCTEX_NOTHING +#pragma mark proxy. +#endif + +/** + * A proxy to a node but a box. + */ + +static const synctex_tree_model_s synctex_tree_model_proxy = {synctex_tree_sibling_idx, /* sibling */ + synctex_tree_s_parent_idx, /* parent */ + -1, /* child */ + synctex_tree_sp_friend_idx, /* friend */ + -1, /* last */ + -1, /* next_hbox */ + -1, /* arg_sibling */ + synctex_tree_spf_target_idx, /* target */ + synctex_tree_spft_proxy_max}; + +typedef struct { + SYNCTEX_DECLARE_CHARINDEX + synctex_class_p class; + synctex_data_u data[synctex_tree_spft_proxy_max + synctex_data_proxy_hv_max]; +} synctex_node_proxy_s; + +/* proxy node creator */ +DEFINE_synctex_new_unscanned_NODE(proxy) + + static void _synctex_log_proxy(synctex_node_p node); +static char *_synctex_abstract_proxy(synctex_node_p node); +static void _synctex_display_proxy(synctex_node_p node); + +static synctex_vispector_s synctex_vispector_proxy = { + &__synctex_proxy_visible_h, + &__synctex_proxy_visible_v, + &__synctex_proxy_visible_width, + &_synctex_float_none, + &_synctex_float_none, +}; + +static synctex_class_s synctex_class_proxy = { + NULL, /* No scanner yet */ + synctex_node_type_proxy, /* Node type */ + &_synctex_new_proxy, /* creator */ + &_synctex_free_leaf, /* destructor */ + &_synctex_log_proxy, /* log */ + &_synctex_display_proxy, /* display */ + &_synctex_abstract_proxy, /* abstract */ + &synctex_tree_model_proxy, /* tree model */ + &synctex_data_model_proxy, /* data model */ + &synctex_tlcpector_proxy, /* tlcpector */ + &synctex_inspector_proxy_box, /* inspector */ + &synctex_vispector_proxy, /* vispector */ +}; + +#ifdef SYNCTEX_NOTHING +#pragma mark last proxy. +#endif + +/** + * A proxy to the last proxy/box boundary. + */ + +static const synctex_tree_model_s synctex_tree_model_proxy_last = {synctex_tree_sibling_idx, /* sibling */ + synctex_tree_s_parent_idx, /* parent */ + -1, /* child */ + synctex_tree_sp_friend_idx, /* friend */ + -1, /* last */ + -1, /* next_hbox */ + synctex_tree_spf_arg_sibling_idx, /* arg_sibling */ + synctex_tree_spfa_target_idx, /* target */ + synctex_tree_spfat_proxy_last_max}; + +typedef struct { + SYNCTEX_DECLARE_CHARINDEX + synctex_class_p class; + synctex_data_u data[synctex_tree_spfat_proxy_last_max + synctex_data_proxy_hv_max]; +} synctex_node_proxy_last_s; + +/* proxy node creator */ +DEFINE_synctex_new_unscanned_NODE(proxy_last) + + static void _synctex_log_proxy(synctex_node_p node); +static char *_synctex_abstract_proxy(synctex_node_p node); +static void _synctex_display_proxy(synctex_node_p node); + +static synctex_class_s synctex_class_proxy_last = { + NULL, /* No scanner yet */ + synctex_node_type_proxy_last, /* Node type */ + &_synctex_new_proxy, /* creator */ + &_synctex_free_leaf, /* destructor */ + &_synctex_log_proxy, /* log */ + &_synctex_display_proxy, /* display */ + &_synctex_abstract_proxy, /* abstract */ + &synctex_tree_model_proxy_last, /* tree model */ + &synctex_data_model_proxy, /* data model */ + &synctex_tlcpector_proxy, /* tlcpector */ + &synctex_inspector_proxy_box, /* inspector */ + &synctex_vispector_proxy, /* vispector */ +}; + +#ifdef SYNCTEX_NOTHING +#pragma mark handle. +#endif + +/** + * A result node. + */ + +static const synctex_tree_model_s synctex_tree_model_handle = {synctex_tree_sibling_idx, /* sibling */ + synctex_tree_s_parent_idx, /* parent */ + synctex_tree_sp_child_idx, /* child */ + -1, /* friend */ + -1, /* last */ + -1, /* next_hbox */ + -1, /* arg_sibling */ + synctex_tree_spc_target_idx, /* target */ + synctex_tree_spct_handle_max}; + +typedef struct { + SYNCTEX_DECLARE_CHARINDEX + synctex_class_p class; + synctex_data_u data[synctex_tree_spct_handle_max + 0]; +} synctex_node_handle_s; + +/* result node creator */ +DEFINE_synctex_new_unscanned_NODE(handle) + + static void _synctex_log_handle(synctex_node_p node); +static char *_synctex_abstract_handle(synctex_node_p node); +static void _synctex_display_handle(synctex_node_p node); + +static synctex_class_s synctex_class_handle = { + NULL, /* No scanner yet */ + synctex_node_type_handle, /* Node type */ + &_synctex_new_handle, /* creator */ + &_synctex_free_node, /* destructor */ + &_synctex_log_handle, /* log */ + &_synctex_display_handle, /* display */ + &_synctex_abstract_handle, /* abstract */ + &synctex_tree_model_handle, /* tree model */ + &synctex_data_model_none, /* data model */ + &synctex_tlcpector_proxy, /* tlcpector */ + &synctex_inspector_proxy_box, /* inspector */ + &synctex_vispector_proxy_box, /* vispector */ +}; + +SYNCTEX_INLINE static synctex_node_p _synctex_new_handle_with_target(synctex_node_p target) +{ + if (target) { + synctex_node_p result = _synctex_new_handle(target->class->scanner); + if (result) { + _synctex_tree_set_target(result, target); + return result; + } + } + return NULL; +} + +#ifdef SYNCTEX_NOTHING +#pragma mark - +#pragma mark Navigation +#endif +synctex_node_p synctex_node_parent(synctex_node_p node) +{ + return _synctex_tree_parent(node); +} +synctex_node_p synctex_node_parent_sheet(synctex_node_p node) +{ + while (node && synctex_node_type(node) != synctex_node_type_sheet) { + node = _synctex_tree_parent(node); + } + /* exit the while loop either when node is NULL or node is a sheet */ + return node; +} +synctex_node_p synctex_node_parent_form(synctex_node_p node) +{ + while (node && synctex_node_type(node) != synctex_node_type_form) { + node = _synctex_tree_parent(node); + } + /* exit the while loop either when node is NULL or node is a form */ + return node; +} + +/** + * The returned proxy will be the child or a sibling of source. + * The returned proxy has no parent, child nor sibling. + * Used only by __synctex_replace_ref. + * argument to_node: a box, not a proxy nor anything else. + */ +SYNCTEX_INLINE static synctex_node_p __synctex_new_proxy_from_ref_to(synctex_node_p ref, synctex_node_p to_node) +{ + synctex_node_p proxy = NULL; + if (!ref || !to_node) { + return NULL; + } + switch (synctex_node_type(to_node)) { + case synctex_node_type_vbox: + proxy = _synctex_new_proxy_vbox(ref->class->scanner); + break; + case synctex_node_type_hbox: + proxy = _synctex_new_proxy_hbox(ref->class->scanner); + break; + default: + _synctex_error("! __synctex_new_proxy_from_ref_to. Unexpected form child (%s). Please report.", synctex_node_isa(to_node)); + return NULL; + } + if (!proxy) { + _synctex_error("! __synctex_new_proxy_from_ref_to. Internal error. Please report."); + return NULL; + } + _synctex_data_set_h(proxy, _synctex_data_h(ref)); + _synctex_data_set_v(proxy, _synctex_data_v(ref)); + _synctex_tree_set_target(proxy, to_node); +#if defined(SYNCTEX_USE_CHARINDEX) + proxy->line_index = to_node ? to_node->line_index : 0; + proxy->char_index = to_node ? to_node->char_index : 0; +#endif + return proxy; +} +/** + * The returned proxy will be the child or a sibling of owning_proxy. + * The returned proxy has no parent, nor child. + * Used only by synctex_node_child and synctex_node_sibling + * to create proxies on the fly. + * If the to_node has an already computed sibling, + * then the returned proxy has itself a sibling + * pointing to that already computed sibling. + */ +SYNCTEX_INLINE static synctex_node_p __synctex_new_child_proxy_to(synctex_node_p owner, synctex_node_p to_node) +{ + synctex_node_p proxy = NULL; + synctex_node_p target = to_node; + if (!owner) { + return NULL; + } + switch (synctex_node_type(target)) { + case synctex_node_type_vbox: + if ((proxy = _synctex_new_proxy_vbox(owner->class->scanner))) { + exit_standard: + _synctex_data_set_h(proxy, _synctex_data_h(owner)); + _synctex_data_set_v(proxy, _synctex_data_v(owner)); + exit0: + _synctex_tree_set_target(proxy, target); +#if defined(SYNCTEX_USE_CHARINDEX) + proxy->line_index = to_node ? to_node->line_index : 0; + proxy->char_index = to_node ? to_node->char_index : 0; +#endif + return proxy; + }; + break; + case synctex_node_type_proxy_vbox: + if ((proxy = _synctex_new_proxy_vbox(owner->class->scanner))) { + exit_proxy: + target = _synctex_tree_target(to_node); + _synctex_data_set_h(proxy, _synctex_data_h(owner) + _synctex_data_h(to_node)); + _synctex_data_set_v(proxy, _synctex_data_v(owner) + _synctex_data_v(to_node)); + goto exit0; + }; + break; + case synctex_node_type_hbox: + if ((proxy = _synctex_new_proxy_hbox(owner->class->scanner))) { + goto exit_standard; + }; + break; + case synctex_node_type_proxy_hbox: + if ((proxy = _synctex_new_proxy_hbox(owner->class->scanner))) { + goto exit_proxy; + }; + break; + case synctex_node_type_proxy: + case synctex_node_type_proxy_last: + if ((proxy = _synctex_new_proxy(owner->class->scanner))) { + goto exit_proxy; + }; + break; + default: + if ((proxy = _synctex_new_proxy(owner->class->scanner))) { + goto exit_standard; + }; + break; + } + _synctex_error( + "! __synctex_new_child_proxy_to. " + "Internal error. " + "Please report."); + return NULL; +} +SYNCTEX_INLINE static synctex_node_p _synctex_tree_set_sibling(synctex_node_p node, synctex_node_p new_sibling); +typedef struct synctex_nns_t { + synctex_node_p first; + synctex_node_p last; + synctex_status_t status; +} synctex_nns_s; +/** + * Given a target node, create a list of proxies. + * The first proxy points to the target node, + * its sibling points to the target's sibling and so on. + * Returns the first created proxy, the last one and + * an error status. + */ +SYNCTEX_INLINE static synctex_nns_s _synctex_new_child_proxies_to(synctex_node_p owner, synctex_node_p to_node) +{ + synctex_nns_s nns = {NULL, NULL, SYNCTEX_STATUS_OK}; + if ((nns.first = nns.last = __synctex_new_child_proxy_to(owner, to_node))) { + synctex_node_p to_next_sibling = __synctex_tree_sibling(to_node); + synctex_node_p to_sibling; + while ((to_sibling = to_next_sibling)) { + synctex_node_p sibling; + if ((to_next_sibling = __synctex_tree_sibling(to_sibling))) { + /* This is not the last sibling */ + if ((sibling = __synctex_new_child_proxy_to(owner, to_sibling))) { + _synctex_tree_set_sibling(nns.last, sibling); + nns.last = sibling; + continue; + } else { + _synctex_error( + "! _synctex_new_child_proxy_to. " + "Internal error (1). " + "Please report."); + nns.status = SYNCTEX_STATUS_ERROR; + } + } else if ((sibling = _synctex_new_proxy_last(owner->class->scanner))) { + _synctex_tree_set_sibling(nns.last, sibling); + nns.last = sibling; + _synctex_data_set_h(nns.last, _synctex_data_h(nns.first)); + _synctex_data_set_v(nns.last, _synctex_data_v(nns.first)); + _synctex_tree_set_target(nns.last, to_sibling); +#if defined(SYNCTEX_USE_CHARINDEX) + nns.last->line_index = to_sibling->line_index; + nns.last->char_index = to_sibling->char_index; +#endif + } else { + _synctex_error( + "! _synctex_new_child_proxy_to. " + "Internal error (2). " + "Please report."); + nns.status = SYNCTEX_STATUS_ERROR; + } + break; + } + } + return nns; +} +static const char *_synctex_node_abstract(synctex_node_p node); +SYNCTEX_INLINE static synctex_node_p synctex_tree_set_friend(synctex_node_p node, synctex_node_p new_friend) +{ +#if defined SYNCTEX_DEBUG && SYNCTEX_DEBUG + synctex_node_p F = new_friend; + while (F) { + if (node == F) { + printf("THIS IS AN ERROR\n"); + F = new_friend; + while (F) { + printf("%s\n", _synctex_node_abstract(F)); + if (node == F) { + return NULL; + } + F = _synctex_tree_friend(F); + } + return NULL; + } + F = _synctex_tree_friend(F); + } +#endif + return new_friend ? _synctex_tree_set_friend(node, new_friend) : _synctex_tree_reset_friend(node); +} +/** + * + */ +SYNCTEX_INLINE static synctex_node_p __synctex_node_make_friend(synctex_node_p node, int i) +{ + synctex_node_p old = NULL; + if (i >= 0) { + i = i % (node->class->scanner->number_of_lists); + old = synctex_tree_set_friend(node, (node->class->scanner->lists_of_friends)[i]); + (node->class->scanner->lists_of_friends)[i] = node; +#if defined SYNCTEX_DEBUG && SYNCTEX_DEBUG > 500 + printf("tl(%i)=>", i); + synctex_node_log(node); + if (synctex_node_parent_form(node)) { + printf("! ERROR. No registration expected!\n"); + } +#endif + } + return old; +} +/** + * All proxies have tlc attributes, on behalf of their target. + * The purpose is to register all af them. + * - argument node: is the proxy, must not be NULL + */ +SYNCTEX_INLINE static synctex_node_p __synctex_proxy_make_friend_and_next_hbox(synctex_node_p node) +{ + synctex_node_p old = NULL; + synctex_node_p target = _synctex_tree_target(node); + if (target) { + int i = _synctex_data_tag(target) + _synctex_data_line(target); + old = __synctex_node_make_friend(node, i); + } else { + old = __synctex_tree_reset_friend(node); + } + if (synctex_node_type(node) == synctex_node_type_proxy_hbox) { + synctex_node_p sheet = synctex_node_parent_sheet(node); + if (sheet) { + _synctex_tree_set_next_hbox(node, _synctex_tree_next_hbox(sheet)); + _synctex_tree_set_next_hbox(sheet, node); + } + } + return old; +} +/** + * Register a node which have tag, line and column. + * - argument node: the node + */ +SYNCTEX_INLINE static synctex_node_p __synctex_node_make_friend_tlc(synctex_node_p node) +{ + int i = synctex_node_tag(node) + synctex_node_line(node); + return __synctex_node_make_friend(node, i); +} +/** + * Register a node which have tag, line and column. + * Does nothing if the argument is NULL. + * Calls __synctex_node_make_friend_tlc. + * - argument node: the node + */ +SYNCTEX_INLINE static void _synctex_node_make_friend_tlc(synctex_node_p node) +{ + if (node) { + __synctex_node_make_friend_tlc(node); + } +} +static synctex_node_p _synctex_node_set_child(synctex_node_p node, synctex_node_p new_child); +/** + * The (first) child of the node, if any, NULL otherwise. + * At parse time, non void box nodes have children. + * All other nodes have no children. + * In order to support pdf forms, proxies are created + * to place form nodes at real locations. + * Ref nodes are replaced by root proxies targeting + * form contents. If root proxies have no children, + * they are created on the fly as proxies to the + * children of the targeted box. + * As such, proxies created here are targeting a + * node that belongs to a form. + * This is the only place where child proxies are created. + */ +synctex_node_p synctex_node_child(synctex_node_p node) +{ + synctex_node_p child = NULL; + synctex_node_p target = NULL; + if ((child = _synctex_tree_child(node))) { + return child; + } else if ((target = _synctex_tree_target(node))) { + if ((child = synctex_node_child(target))) { + /* This is a proxy with no child + * which target does have a child. */ + synctex_nns_s nns = _synctex_new_child_proxies_to(node, child); + if (nns.first) { + _synctex_node_set_child(node, nns.first); + return nns.first; + } else { + _synctex_error("! synctex_node_child. Internal inconsistency. Please report."); + } + } + } + return NULL; +} +/* + * Set the parent/child bound. + * Things get complicated when new_child has siblings. + * The caller is responsible for releasing the returned value. + */ +static synctex_node_p _synctex_node_set_child(synctex_node_p parent, synctex_node_p new_child) +{ + if (parent) { + synctex_node_p old = _synctex_tree_set_child(parent, new_child); + synctex_node_p last_child = NULL; + synctex_node_p child; + if ((child = old)) { + do { + _synctex_tree_reset_parent(child); + } while ((child = __synctex_tree_sibling(child))); + } + if ((child = new_child)) { + do { + _synctex_tree_set_parent(child, parent); + last_child = child; + } while ((child = __synctex_tree_sibling(child))); + } + _synctex_tree_set_last(parent, last_child); + return old; + } + return NULL; +} + +/* The last child of the given node, or NULL. + */ +synctex_node_p synctex_node_last_child(synctex_node_p node) +{ + return _synctex_tree_last(node); +} +/** + * All nodes siblings are properly set up at parse time + * except for non root proxies. + */ +synctex_node_p synctex_node_sibling(synctex_node_p node) +{ + return node ? __synctex_tree_sibling(node) : NULL; +} +/** + * All the _synctex_tree_... methods refer to the tree model. + * __synctex_tree_... methods are low level. + */ +/** + * Replace the sibling. + * Connect to the arg_sibling of the new_sibling if relevant. + * - returns the old sibling. + * The caller is responsible for releasing the old sibling. + * The bound to the parent is managed below. + */ +SYNCTEX_INLINE static synctex_node_p _synctex_tree_set_sibling(synctex_node_p node, synctex_node_p new_sibling) +{ + if (node == new_sibling) { + printf("BOF\n"); + } + synctex_node_p old = node ? __synctex_tree_set_sibling(node, new_sibling) : NULL; + _synctex_tree_set_arg_sibling(new_sibling, node); + return old; +} +/** + * Replace the sibling. + * Set the parent of the new sibling (and further siblings) + * to the parent of the receiver. + * Also set the last sibling of parent. + * - argument new_sibling: must not be NULL. + * - returns the old sibling. + * The caller is responsible for releasing the old sibling. + */ +static synctex_node_p _synctex_node_set_sibling(synctex_node_p node, synctex_node_p new_sibling) +{ + if (node && new_sibling) { + synctex_node_p old = _synctex_tree_set_sibling(node, new_sibling); + if (_synctex_tree_has_parent(node)) { + synctex_node_p parent = __synctex_tree_parent(node); + if (parent) { + synctex_node_p N = new_sibling; + while (synctex_YES) { + if (_synctex_tree_has_parent(N)) { + __synctex_tree_set_parent(N, parent); + _synctex_tree_set_last(parent, N); + N = __synctex_tree_sibling(N); + continue; + } else if (N) { + _synctex_error( + "! synctex_node_sibling. " + "Internal inconsistency. " + "Please report."); + } + break; + } + } + } + return old; + } + return NULL; +} +/** + * The last sibling of the given node, or NULL with node. + */ +synctex_node_p synctex_node_last_sibling(synctex_node_p node) +{ + synctex_node_p sibling; + do { + sibling = node; + } while ((node = synctex_node_sibling(node))); + return sibling; +} +/** + * The next nodes corresponds to a deep first tree traversal. + * Does not create child proxies as side effect contrary to + * the synctex_node_next method above. + * May loop infinitely many times if the tree + * is not properly built (contains loops). + */ +SYNCTEX_INLINE static synctex_node_p _synctex_node_sibling_or_parents(synctex_node_p node) +{ + while (node) { + synctex_node_p N; + if ((N = __synctex_tree_sibling(node))) { + return N; + } else if ((node = _synctex_tree_parent(node))) { + if (synctex_node_type(node) == synctex_node_type_sheet) { /* EXC_BAD_ACCESS? */ + return NULL; + } else if (synctex_node_type(node) == synctex_node_type_form) { + return NULL; + } + } else { + return NULL; + } + } + return NULL; +} +/** + * The next nodes corresponds to a deep first tree traversal. + * Creates child proxies as side effect. + * May loop infinitely many times if the tree + * is not properly built (contains loops). + */ +synctex_node_p synctex_node_next(synctex_node_p node) +{ + synctex_node_p N = synctex_node_child(node); + if (N) { + return N; + } + return _synctex_node_sibling_or_parents(node); +} +/** + * The next nodes corresponds to a deep first tree traversal. + * Does not create child proxies as side effect contrary to + * the synctex_node_next method above. + * May loop infinitely many times if the tree + * is not properly built (contains loops). + */ +synctex_node_p _synctex_node_next(synctex_node_p node) +{ + synctex_node_p N = _synctex_tree_child(node); + if (N) { + return N; + } + return _synctex_node_sibling_or_parents(node); +} +/** + * The node which argument is the sibling. + * - return: NULL if the argument has no parent or + * is the first child of its parent. + * - Input nodes have no arg siblings + */ +synctex_node_p synctex_node_arg_sibling(synctex_node_p node) +{ +#if 1 + return _synctex_tree_arg_sibling(node); +#else + synctex_node_p N = _synctex_tree_parent(node); + if ((N = _synctex_tree_child(N))) { + do { + synctex_node_p NN = __synctex_tree_sibling(N); + if (NN == node) { + return N; + } + N = NN; + } while (N); + } + return N; +#endif +} +#ifdef SYNCTEX_NOTHING +#pragma mark - +#pragma mark CLASS +#endif + +/* Public node accessor: the type */ +synctex_node_type_t synctex_node_type(synctex_node_p node) +{ + return node ? node->class->type : synctex_node_type_none; +} + +/* Public node accessor: the type */ +synctex_node_type_t synctex_node_target_type(synctex_node_p node) +{ + synctex_node_p target = _synctex_tree_target(node); + if (target) { + return (((target)->class))->type; + } else if (node) { + return (((node)->class))->type; + } + return synctex_node_type_none; +} + +/* Public node accessor: the human readable type */ +const char *synctex_node_isa(synctex_node_p node) +{ + static const char *isa[synctex_node_number_of_types] = {"Not a node", "input", "sheet", "form", "ref", "vbox", "void vbox", "hbox", "void hbox", "kern", + "glue", "rule", "math", "boundary", "box_bdry", "proxy", "last proxy", "vbox proxy", "hbox proxy", "handle"}; + return isa[synctex_node_type(node)]; +} + +#ifdef SYNCTEX_NOTHING +#pragma mark - +#pragma mark LOG +#endif + +/* Public node logger */ +void synctex_node_log(synctex_node_p node) +{ + SYNCTEX_MSG_SEND(node, log); +} + +static void _synctex_log_input(synctex_node_p node) +{ + if (node) { + printf("%s:%i,%s(%i)\n", synctex_node_isa(node), _synctex_data_tag(node), _synctex_data_name(node), _synctex_data_line(node)); + printf("SELF:%p\n", (void *)node); + printf(" SIBLING:%p\n", (void *)__synctex_tree_sibling(node)); + } +} + +static void _synctex_log_sheet(synctex_node_p node) +{ + if (node) { + printf("%s:%i", synctex_node_isa(node), _synctex_data_page(node)); + SYNCTEX_PRINT_CHARINDEX_NL; + printf("SELF:%p\n", (void *)node); + printf(" SIBLING:%p\n", (void *)__synctex_tree_sibling(node)); + printf(" PARENT:%p\n", (void *)_synctex_tree_parent(node)); + printf(" CHILD:%p\n", (void *)_synctex_tree_child(node)); + printf(" LEFT:%p\n", (void *)_synctex_tree_friend(node)); + printf(" NEXT_hbox:%p\n", (void *)_synctex_tree_next_hbox(node)); + } +} + +static void _synctex_log_form(synctex_node_p node) +{ + if (node) { + printf("%s:%i", synctex_node_isa(node), _synctex_data_tag(node)); + SYNCTEX_PRINT_CHARINDEX_NL; + printf("SELF:%p\n", (void *)node); + printf(" SIBLING:%p\n", (void *)__synctex_tree_sibling(node)); + printf(" PARENT:%p\n", (void *)_synctex_tree_parent(node)); + printf(" CHILD:%p\n", (void *)_synctex_tree_child(node)); + printf(" LEFT:%p\n", (void *)_synctex_tree_friend(node)); + } +} + +static void _synctex_log_ref(synctex_node_p node) +{ + if (node) { + printf("%s:%i:%i,%i", synctex_node_isa(node), _synctex_data_tag(node), _synctex_data_h(node), _synctex_data_v(node)); + SYNCTEX_PRINT_CHARINDEX_NL; + printf("SELF:%p\n", (void *)node); + printf(" SIBLING:%p\n", (void *)__synctex_tree_sibling(node)); + printf(" PARENT:%p\n", (void *)_synctex_tree_parent(node)); + } +} + +static void _synctex_log_tlchv_node(synctex_node_p node) +{ + if (node) { + printf("%s:%i,%i:%i,%i", synctex_node_isa(node), _synctex_data_tag(node), _synctex_data_line(node), _synctex_data_h(node), _synctex_data_v(node)); + SYNCTEX_PRINT_CHARINDEX_NL; + printf("SELF:%p\n", (void *)node); + printf(" SIBLING:%p\n", (void *)__synctex_tree_sibling(node)); + printf(" PARENT:%p\n", (void *)_synctex_tree_parent(node)); + printf(" CHILD:%p\n", (void *)_synctex_tree_child(node)); + printf(" LEFT:%p\n", (void *)_synctex_tree_friend(node)); + } +} + +static void _synctex_log_kern_node(synctex_node_p node) +{ + if (node) { + printf("%s:%i,%i:%i,%i:%i", synctex_node_isa(node), _synctex_data_tag(node), _synctex_data_line(node), _synctex_data_h(node), _synctex_data_v(node), _synctex_data_width(node)); + SYNCTEX_PRINT_CHARINDEX_NL; + printf("SELF:%p\n", (void *)node); + printf(" SIBLING:%p\n", (void *)__synctex_tree_sibling(node)); + printf(" PARENT:%p\n", (void *)_synctex_tree_parent(node)); + printf(" CHILD:%p\n", (void *)_synctex_tree_child(node)); + printf(" LEFT:%p\n", (void *)_synctex_tree_friend(node)); + } +} + +static void _synctex_log_rule(synctex_node_p node) +{ + if (node) { + printf("%s:%i,%i:%i,%i", synctex_node_isa(node), _synctex_data_tag(node), _synctex_data_line(node), _synctex_data_h(node), _synctex_data_v(node)); + printf(":%i", _synctex_data_width(node)); + printf(",%i", _synctex_data_height(node)); + printf(",%i", _synctex_data_depth(node)); + SYNCTEX_PRINT_CHARINDEX_NL; + printf("SELF:%p\n", (void *)node); + printf(" SIBLING:%p\n", (void *)__synctex_tree_sibling(node)); + printf(" PARENT:%p\n", (void *)_synctex_tree_parent(node)); + printf(" LEFT:%p\n", (void *)_synctex_tree_friend(node)); + } +} + +static void _synctex_log_void_box(synctex_node_p node) +{ + if (node) { + printf("%s", synctex_node_isa(node)); + printf(":%i", _synctex_data_tag(node)); + printf(",%i", _synctex_data_line(node)); + printf(",%i", 0); + printf(":%i", _synctex_data_h(node)); + printf(",%i", _synctex_data_v(node)); + printf(":%i", _synctex_data_width(node)); + printf(",%i", _synctex_data_height(node)); + printf(",%i", _synctex_data_depth(node)); + SYNCTEX_PRINT_CHARINDEX_NL; + printf("SELF:%p\n", (void *)node); + printf(" SIBLING:%p\n", (void *)__synctex_tree_sibling(node)); + printf(" PARENT:%p\n", (void *)_synctex_tree_parent(node)); + printf(" CHILD:%p\n", (void *)_synctex_tree_child(node)); + printf(" LEFT:%p\n", (void *)_synctex_tree_friend(node)); + } +} + +static void _synctex_log_vbox(synctex_node_p node) +{ + if (node) { + printf("%s", synctex_node_isa(node)); + printf(":%i", _synctex_data_tag(node)); + printf(",%i", _synctex_data_line(node)); + printf(",%i", 0); + printf(":%i", _synctex_data_h(node)); + printf(",%i", _synctex_data_v(node)); + printf(":%i", _synctex_data_width(node)); + printf(",%i", _synctex_data_height(node)); + printf(",%i", _synctex_data_depth(node)); + SYNCTEX_PRINT_CHARINDEX_NL; + printf("SELF:%p\n", (void *)node); + printf(" SIBLING:%p\n", (void *)__synctex_tree_sibling(node)); + printf(" PARENT:%p\n", (void *)_synctex_tree_parent(node)); + printf(" CHILD:%p\n", (void *)_synctex_tree_child(node)); + printf(" LEFT:%p\n", (void *)_synctex_tree_friend(node)); + printf(" NEXT_hbox:%p\n", (void *)_synctex_tree_next_hbox(node)); + } +} + +static void _synctex_log_hbox(synctex_node_p node) +{ + if (node) { + printf("%s", synctex_node_isa(node)); + printf(":%i", _synctex_data_tag(node)); + printf(",%i~%i*%i", _synctex_data_line(node), _synctex_data_mean_line(node), _synctex_data_weight(node)); + printf(",%i", 0); + printf(":%i", _synctex_data_h(node)); + printf(",%i", _synctex_data_v(node)); + printf(":%i", _synctex_data_width(node)); + printf(",%i", _synctex_data_height(node)); + printf(",%i", _synctex_data_depth(node)); + printf("/%i", _synctex_data_h_V(node)); + printf(",%i", _synctex_data_v_V(node)); + printf(":%i", _synctex_data_width_V(node)); + printf(",%i", _synctex_data_height_V(node)); + printf(",%i", _synctex_data_depth_V(node)); + SYNCTEX_PRINT_CHARINDEX_NL; + printf("SELF:%p\n", (void *)node); + printf(" SIBLING:%p\n", (void *)__synctex_tree_sibling(node)); + printf(" PARENT:%p\n", (void *)_synctex_tree_parent(node)); + printf(" CHILD:%p\n", (void *)_synctex_tree_child(node)); + printf(" LEFT:%p\n", (void *)_synctex_tree_friend(node)); + printf(" NEXT_hbox:%p\n", (void *)_synctex_tree_next_hbox(node)); + } +} +static void _synctex_log_proxy(synctex_node_p node) +{ + if (node) { + synctex_node_p N = _synctex_tree_target(node); + printf("%s", synctex_node_isa(node)); + printf(":%i", _synctex_data_h(node)); + printf(",%i", _synctex_data_v(node)); + SYNCTEX_PRINT_CHARINDEX_NL; + printf("SELF:%p\n", (void *)node); + printf(" SIBLING:%p\n", (void *)__synctex_tree_sibling(node)); + printf(" LEFT:%p\n", (void *)_synctex_tree_friend(node)); + printf(" ->%s\n", _synctex_node_abstract(N)); + } +} +static void _synctex_log_handle(synctex_node_p node) +{ + if (node) { + synctex_node_p N = _synctex_tree_target(node); + printf("%s", synctex_node_isa(node)); + SYNCTEX_PRINT_CHARINDEX_NL; + printf("SELF:%p\n", (void *)node); + printf(" SIBLING:%p\n", (void *)__synctex_tree_sibling(node)); + printf(" ->%s\n", _synctex_node_abstract(N)); + } +} + +#ifdef SYNCTEX_NOTHING +#pragma mark - +#pragma mark SYNCTEX_DISPLAY +#endif + +int synctex_scanner_display_switcher(synctex_scanner_p scanR) +{ + return scanR->display_switcher; +} +void synctex_scanner_set_display_switcher(synctex_scanner_p scanR, int switcher) +{ + scanR->display_switcher = switcher; +} +static const char *const _synctex_display_prompt = "................................"; + +static char *_synctex_scanner_display_prompt_down(synctex_scanner_p scanR) +{ + if (scanR->display_prompt > _synctex_display_prompt) { + --scanR->display_prompt; + } + return scanR->display_prompt; +} +static char *_synctex_scanner_display_prompt_up(synctex_scanner_p scanR) +{ + if (scanR->display_prompt + 1 < _synctex_display_prompt + strlen(_synctex_display_prompt)) { + ++scanR->display_prompt; + } + return scanR->display_prompt; +} + +void synctex_node_display(synctex_node_p node) +{ + if (node) { + synctex_scanner_p scanR = node->class->scanner; + if (scanR) { + if (scanR->display_switcher < 0) { + SYNCTEX_MSG_SEND(node, display); + } else if (scanR->display_switcher > 0 && --scanR->display_switcher > 0) { + SYNCTEX_MSG_SEND(node, display); + } else if (scanR->display_switcher-- >= 0) { + printf("%s Next display skipped. Reset display switcher.\n", node->class->scanner->display_prompt); + } + } else { + SYNCTEX_MSG_SEND(node, display); + } + } +} +static const char *_synctex_node_abstract(synctex_node_p node) +{ + SYNCTEX_PARAMETER_ASSERT(node || node->class); + return (node && node->class->abstract) ? node->class->abstract(node) : "none"; +} + +SYNCTEX_INLINE static void _synctex_display_child(synctex_node_p node) +{ + synctex_node_p N = _synctex_tree_child(node); + if (N) { + _synctex_scanner_display_prompt_down(N->class->scanner); + synctex_node_display(N); + _synctex_scanner_display_prompt_up(N->class->scanner); + } +} + +SYNCTEX_INLINE static void _synctex_display_sibling(synctex_node_p node) +{ + synctex_node_display(__synctex_tree_sibling(node)); +} +#define SYNCTEX_ABSTRACT_MAX 128 +static char *_synctex_abstract_input(synctex_node_p node) +{ + static char abstract[SYNCTEX_ABSTRACT_MAX] = "none"; + if (node) { + snprintf(abstract, SYNCTEX_ABSTRACT_MAX, "Input:%i:%s(%i)" SYNCTEX_PRINT_CHARINDEX_FMT, _synctex_data_tag(node), _synctex_data_name(node), _synctex_data_line(node) SYNCTEX_PRINT_CHARINDEX_WHAT); + } + return abstract; +} + +static void _synctex_display_input(synctex_node_p node) +{ + if (node) { + printf("Input:%i:%s(%i)" SYNCTEX_PRINT_CHARINDEX_FMT "\n", _synctex_data_tag(node), _synctex_data_name(node), _synctex_data_line(node) SYNCTEX_PRINT_CHARINDEX_WHAT); + synctex_node_display(__synctex_tree_sibling(node)); + } +} + +static char *_synctex_abstract_sheet(synctex_node_p node) +{ + static char abstract[SYNCTEX_ABSTRACT_MAX] = "none"; + if (node) { + snprintf(abstract, SYNCTEX_ABSTRACT_MAX, "{%i...}" SYNCTEX_PRINT_CHARINDEX_FMT, _synctex_data_page(node) SYNCTEX_PRINT_CHARINDEX_WHAT); + } + return abstract; +} + +static void _synctex_display_sheet(synctex_node_p node) +{ + if (node) { + printf("%s{%i" SYNCTEX_PRINT_CHARINDEX_FMT "\n", node->class->scanner->display_prompt, _synctex_data_page(node) SYNCTEX_PRINT_CHARINDEX_WHAT); + _synctex_display_child(node); + printf("%s}\n", node->class->scanner->display_prompt); + _synctex_display_sibling(node); + } +} + +static char *_synctex_abstract_form(synctex_node_p node) +{ + static char abstract[SYNCTEX_ABSTRACT_MAX] = "none"; + if (node) { + snprintf(abstract, SYNCTEX_ABSTRACT_MAX, "<%i...>" SYNCTEX_PRINT_CHARINDEX_FMT, _synctex_data_tag(node) SYNCTEX_PRINT_CHARINDEX_WHAT); + SYNCTEX_PRINT_CHARINDEX; + } + return abstract; +} + +static void _synctex_display_form(synctex_node_p node) +{ + if (node) { + printf("%s<%i" SYNCTEX_PRINT_CHARINDEX_FMT "\n", node->class->scanner->display_prompt, _synctex_data_tag(node) SYNCTEX_PRINT_CHARINDEX_WHAT); + _synctex_display_child(node); + printf("%s>\n", node->class->scanner->display_prompt); + _synctex_display_sibling(node); + } +} + +static char *_synctex_abstract_vbox(synctex_node_p node) +{ + static char abstract[SYNCTEX_ABSTRACT_MAX] = "none"; + if (node) { + snprintf(abstract, + SYNCTEX_ABSTRACT_MAX, + "[%i,%i:%i,%i:%i,%i,%i...]" SYNCTEX_PRINT_CHARINDEX_FMT, + _synctex_data_tag(node), + _synctex_data_line(node), + _synctex_data_h(node), + _synctex_data_v(node), + _synctex_data_width(node), + _synctex_data_height(node), + _synctex_data_depth(node) SYNCTEX_PRINT_CHARINDEX_WHAT); + } + return abstract; +} + +static void _synctex_display_vbox(synctex_node_p node) +{ + if (node) { + printf("%s[%i,%i:%i,%i:%i,%i,%i" SYNCTEX_PRINT_CHARINDEX_FMT "\n", + node->class->scanner->display_prompt, + _synctex_data_tag(node), + _synctex_data_line(node), + _synctex_data_h(node), + _synctex_data_v(node), + _synctex_data_width(node), + _synctex_data_height(node), + _synctex_data_depth(node) SYNCTEX_PRINT_CHARINDEX_WHAT); + _synctex_display_child(node); + printf("%s]\n%slast:%s\n", node->class->scanner->display_prompt, node->class->scanner->display_prompt, _synctex_node_abstract(_synctex_tree_last(node))); + _synctex_display_sibling(node); + } +} + +static char *_synctex_abstract_hbox(synctex_node_p node) +{ + static char abstract[SYNCTEX_ABSTRACT_MAX] = "none"; + if (node) { + snprintf(abstract, + SYNCTEX_ABSTRACT_MAX, + "(%i,%i~%i*%i:%i,%i:%i,%i,%i...)" SYNCTEX_PRINT_CHARINDEX_FMT, + _synctex_data_tag(node), + _synctex_data_line(node), + _synctex_data_mean_line(node), + _synctex_data_weight(node), + _synctex_data_h(node), + _synctex_data_v(node), + _synctex_data_width(node), + _synctex_data_height(node), + _synctex_data_depth(node) SYNCTEX_PRINT_CHARINDEX_WHAT); + } + return abstract; +} + +static void _synctex_display_hbox(synctex_node_p node) +{ + if (node) { + printf("%s(%i,%i~%i*%i:%i,%i:%i,%i,%i" SYNCTEX_PRINT_CHARINDEX_FMT "\n", + node->class->scanner->display_prompt, + _synctex_data_tag(node), + _synctex_data_line(node), + _synctex_data_mean_line(node), + _synctex_data_weight(node), + _synctex_data_h(node), + _synctex_data_v(node), + _synctex_data_width(node), + _synctex_data_height(node), + _synctex_data_depth(node) SYNCTEX_PRINT_CHARINDEX_WHAT); + _synctex_display_child(node); + printf("%s)\n%slast:%s\n", node->class->scanner->display_prompt, node->class->scanner->display_prompt, _synctex_node_abstract(_synctex_tree_last(node))); + _synctex_display_sibling(node); + } +} + +static char *_synctex_abstract_void_vbox(synctex_node_p node) +{ + static char abstract[SYNCTEX_ABSTRACT_MAX] = "none"; + if (node) { + snprintf(abstract, + SYNCTEX_ABSTRACT_MAX, + "v%i,%i;%i,%i:%i,%i,%i" SYNCTEX_PRINT_CHARINDEX_FMT "\n", + _synctex_data_tag(node), + _synctex_data_line(node), + _synctex_data_h(node), + _synctex_data_v(node), + _synctex_data_width(node), + _synctex_data_height(node), + _synctex_data_depth(node) SYNCTEX_PRINT_CHARINDEX_WHAT); + } + return abstract; +} + +static void _synctex_display_void_vbox(synctex_node_p node) +{ + if (node) { + printf("%sv%i,%i;%i,%i:%i,%i,%i" SYNCTEX_PRINT_CHARINDEX_FMT "\n", + node->class->scanner->display_prompt, + _synctex_data_tag(node), + _synctex_data_line(node), + _synctex_data_h(node), + _synctex_data_v(node), + _synctex_data_width(node), + _synctex_data_height(node), + _synctex_data_depth(node) SYNCTEX_PRINT_CHARINDEX_WHAT); + _synctex_display_sibling(node); + } +} + +static char *_synctex_abstract_void_hbox(synctex_node_p node) +{ + static char abstract[SYNCTEX_ABSTRACT_MAX] = "none"; + if (node) { + snprintf(abstract, + SYNCTEX_ABSTRACT_MAX, + "h%i,%i:%i,%i:%i,%i,%i" SYNCTEX_PRINT_CHARINDEX_FMT, + _synctex_data_tag(node), + _synctex_data_line(node), + _synctex_data_h(node), + _synctex_data_v(node), + _synctex_data_width(node), + _synctex_data_height(node), + _synctex_data_depth(node) SYNCTEX_PRINT_CHARINDEX_WHAT); + } + return abstract; +} + +static void _synctex_display_void_hbox(synctex_node_p node) +{ + if (node) { + printf("%sh%i,%i:%i,%i:%i,%i,%i" SYNCTEX_PRINT_CHARINDEX_FMT "\n", + node->class->scanner->display_prompt, + _synctex_data_tag(node), + _synctex_data_line(node), + _synctex_data_h(node), + _synctex_data_v(node), + _synctex_data_width(node), + _synctex_data_height(node), + _synctex_data_depth(node) SYNCTEX_PRINT_CHARINDEX_WHAT); + _synctex_display_sibling(node); + } +} + +static char *_synctex_abstract_glue(synctex_node_p node) +{ + static char abstract[SYNCTEX_ABSTRACT_MAX] = "none"; + if (node) { + snprintf(abstract, SYNCTEX_ABSTRACT_MAX, "glue:%i,%i:%i,%i" SYNCTEX_PRINT_CHARINDEX_FMT, _synctex_data_tag(node), _synctex_data_line(node), _synctex_data_h(node), _synctex_data_v(node) SYNCTEX_PRINT_CHARINDEX_WHAT); + } + return abstract; +} + +static void _synctex_display_glue(synctex_node_p node) +{ + if (node) { + printf("%sglue:%i,%i:%i,%i" SYNCTEX_PRINT_CHARINDEX_FMT "\n", node->class->scanner->display_prompt, _synctex_data_tag(node), _synctex_data_line(node), _synctex_data_h(node), _synctex_data_v(node) SYNCTEX_PRINT_CHARINDEX_WHAT); + _synctex_display_sibling(node); + } +} + +static char *_synctex_abstract_rule(synctex_node_p node) +{ + static char abstract[SYNCTEX_ABSTRACT_MAX] = "none"; + if (node) { + snprintf(abstract, + SYNCTEX_ABSTRACT_MAX, + "rule:%i,%i:%i,%i:%i,%i,%i" SYNCTEX_PRINT_CHARINDEX_FMT, + _synctex_data_tag(node), + _synctex_data_line(node), + _synctex_data_h(node), + _synctex_data_v(node), + _synctex_data_width(node), + _synctex_data_height(node), + _synctex_data_depth(node) SYNCTEX_PRINT_CHARINDEX_WHAT); + } + return abstract; +} + +static void _synctex_display_rule(synctex_node_p node) +{ + if (node) { + printf("%srule:%i,%i:%i,%i:%i,%i,%i" SYNCTEX_PRINT_CHARINDEX_FMT "\n", + node->class->scanner->display_prompt, + _synctex_data_tag(node), + _synctex_data_line(node), + _synctex_data_h(node), + _synctex_data_v(node), + _synctex_data_width(node), + _synctex_data_height(node), + _synctex_data_depth(node) SYNCTEX_PRINT_CHARINDEX_WHAT); + _synctex_display_sibling(node); + } +} + +static char *_synctex_abstract_math(synctex_node_p node) +{ + static char abstract[SYNCTEX_ABSTRACT_MAX] = "none"; + if (node) { + snprintf(abstract, SYNCTEX_ABSTRACT_MAX, "math:%i,%i:%i,%i" SYNCTEX_PRINT_CHARINDEX_FMT, _synctex_data_tag(node), _synctex_data_line(node), _synctex_data_h(node), _synctex_data_v(node) SYNCTEX_PRINT_CHARINDEX_WHAT); + } + return abstract; +} + +static void _synctex_display_math(synctex_node_p node) +{ + if (node) { + printf("%smath:%i,%i:%i,%i" SYNCTEX_PRINT_CHARINDEX_FMT "\n", node->class->scanner->display_prompt, _synctex_data_tag(node), _synctex_data_line(node), _synctex_data_h(node), _synctex_data_v(node) SYNCTEX_PRINT_CHARINDEX_WHAT); + _synctex_display_sibling(node); + } +} + +static char *_synctex_abstract_kern(synctex_node_p node) +{ + static char abstract[SYNCTEX_ABSTRACT_MAX] = "none"; + if (node) { + snprintf(abstract, + SYNCTEX_ABSTRACT_MAX, + "kern:%i,%i:%i,%i:%i" SYNCTEX_PRINT_CHARINDEX_FMT, + _synctex_data_tag(node), + _synctex_data_line(node), + _synctex_data_h(node), + _synctex_data_v(node), + _synctex_data_width(node) SYNCTEX_PRINT_CHARINDEX_WHAT); + } + return abstract; +} + +static void _synctex_display_kern(synctex_node_p node) +{ + if (node) { + printf("%skern:%i,%i:%i,%i:%i" SYNCTEX_PRINT_CHARINDEX_FMT "\n", + node->class->scanner->display_prompt, + _synctex_data_tag(node), + _synctex_data_line(node), + _synctex_data_h(node), + _synctex_data_v(node), + _synctex_data_width(node) SYNCTEX_PRINT_CHARINDEX_WHAT); + _synctex_display_sibling(node); + } +} + +static char *_synctex_abstract_boundary(synctex_node_p node) +{ + static char abstract[SYNCTEX_ABSTRACT_MAX] = "none"; + if (node) { + snprintf(abstract, SYNCTEX_ABSTRACT_MAX, "boundary:%i,%i:%i,%i" SYNCTEX_PRINT_CHARINDEX_FMT, _synctex_data_tag(node), _synctex_data_line(node), _synctex_data_h(node), _synctex_data_v(node) SYNCTEX_PRINT_CHARINDEX_WHAT); + } + return abstract; +} + +static void _synctex_display_boundary(synctex_node_p node) +{ + if (node) { + printf("%sboundary:%i,%i:%i,%i" SYNCTEX_PRINT_CHARINDEX_FMT "\n", node->class->scanner->display_prompt, _synctex_data_tag(node), _synctex_data_line(node), _synctex_data_h(node), _synctex_data_v(node) SYNCTEX_PRINT_CHARINDEX_WHAT); + _synctex_display_sibling(node); + } +} + +static char *_synctex_abstract_box_bdry(synctex_node_p node) +{ + static char abstract[SYNCTEX_ABSTRACT_MAX] = "none"; + if (node) { + snprintf(abstract, SYNCTEX_ABSTRACT_MAX, "box bdry:%i,%i:%i,%i" SYNCTEX_PRINT_CHARINDEX_FMT, _synctex_data_tag(node), _synctex_data_line(node), _synctex_data_h(node), _synctex_data_v(node) SYNCTEX_PRINT_CHARINDEX_WHAT); + } + return abstract; +} + +static void _synctex_display_box_bdry(synctex_node_p node) +{ + if (node) { + printf("%sbox bdry:%i,%i:%i,%i", node->class->scanner->display_prompt, _synctex_data_tag(node), _synctex_data_line(node), _synctex_data_h(node), _synctex_data_v(node)); + SYNCTEX_PRINT_CHARINDEX_NL; + _synctex_display_sibling(node); + } +} + +static char *_synctex_abstract_ref(synctex_node_p node) +{ + static char abstract[SYNCTEX_ABSTRACT_MAX] = "none"; + if (node) { + snprintf(abstract, SYNCTEX_ABSTRACT_MAX, "form ref:%i:%i,%i" SYNCTEX_PRINT_CHARINDEX_FMT, _synctex_data_tag(node), _synctex_data_h(node), _synctex_data_v(node) SYNCTEX_PRINT_CHARINDEX_WHAT); + } + return abstract; +} + +static void _synctex_display_ref(synctex_node_p node) +{ + if (node) { + printf("%sform ref:%i:%i,%i", node->class->scanner->display_prompt, _synctex_data_tag(node), _synctex_data_h(node), _synctex_data_v(node)); + SYNCTEX_PRINT_CHARINDEX_NL; + _synctex_display_sibling(node); + } +} +static char *_synctex_abstract_proxy(synctex_node_p node) +{ + static char abstract[SYNCTEX_ABSTRACT_MAX] = "none"; + if (node) { + synctex_node_p N = _synctex_tree_target(node); + snprintf(abstract, SYNCTEX_ABSTRACT_MAX, "%s:%i,%i:%i,%i/%p%s", synctex_node_isa(node), synctex_node_tag(node), synctex_node_line(node), _synctex_data_h(node), _synctex_data_v(node), node, _synctex_node_abstract(N)); + } + return abstract; +} +static void _synctex_display_proxy(synctex_node_p node) +{ + if (node) { + synctex_node_p N = _synctex_tree_target(node); + printf("%s%s:%i,%i:%i,%i", node->class->scanner->display_prompt, synctex_node_isa(node), synctex_node_tag(node), synctex_node_line(node), _synctex_data_h(node), _synctex_data_v(node)); + if (N) { + printf("=%i,%i:%i,%i,%i->%s", synctex_node_h(node), synctex_node_v(node), synctex_node_width(node), synctex_node_height(node), synctex_node_depth(node), _synctex_node_abstract(N)); + } + printf("\n"); + _synctex_display_child(node); + _synctex_display_sibling(node); + } +} +static char *_synctex_abstract_proxy_vbox(synctex_node_p node) +{ + static char abstract[SYNCTEX_ABSTRACT_MAX] = "none"; + if (node) { + snprintf(abstract, + SYNCTEX_ABSTRACT_MAX, + "[*%i,%i:%i,%i:%i,%i,%i...*]" SYNCTEX_PRINT_CHARINDEX_FMT, + synctex_node_tag(node), + synctex_node_line(node), + synctex_node_h(node), + synctex_node_v(node), + synctex_node_width(node), + synctex_node_height(node), + synctex_node_depth(node) SYNCTEX_PRINT_CHARINDEX_WHAT); + } + return abstract; +} + +static void _synctex_display_proxy_vbox(synctex_node_p node) +{ + if (node) { + printf("%s[*%i,%i:%i,%i:%i,%i,%i" SYNCTEX_PRINT_CHARINDEX_FMT "\n", + node->class->scanner->display_prompt, + synctex_node_tag(node), + synctex_node_line(node), + synctex_node_h(node), + synctex_node_v(node), + synctex_node_width(node), + synctex_node_height(node), + synctex_node_depth(node) SYNCTEX_PRINT_CHARINDEX_WHAT); + _synctex_display_child(node); + printf("%s*]\n%slast:%s\n", node->class->scanner->display_prompt, node->class->scanner->display_prompt, _synctex_node_abstract(_synctex_tree_last(node))); + _synctex_display_sibling(node); + } +} + +static char *_synctex_abstract_proxy_hbox(synctex_node_p node) +{ + static char abstract[SYNCTEX_ABSTRACT_MAX] = "none"; + if (node) { + snprintf(abstract, + SYNCTEX_ABSTRACT_MAX, + "(*%i,%i~%i*%i:%i,%i:%i,%i,%i...*)/%p" SYNCTEX_PRINT_CHARINDEX_FMT, + synctex_node_tag(node), + synctex_node_line(node), + synctex_node_mean_line(node), + synctex_node_weight(node), + synctex_node_h(node), + synctex_node_v(node), + synctex_node_width(node), + synctex_node_height(node), + synctex_node_depth(node), + node SYNCTEX_PRINT_CHARINDEX_WHAT); + } + return abstract; +} + +static void _synctex_display_proxy_hbox(synctex_node_p node) +{ + if (node) { + printf("%s(*%i,%i~%i*%i:%i,%i:%i,%i,%i" SYNCTEX_PRINT_CHARINDEX_FMT "\n", + node->class->scanner->display_prompt, + synctex_node_tag(node), + synctex_node_line(node), + synctex_node_mean_line(node), + synctex_node_weight(node), + synctex_node_h(node), + synctex_node_v(node), + synctex_node_width(node), + synctex_node_height(node), + synctex_node_depth(node) SYNCTEX_PRINT_CHARINDEX_WHAT); + _synctex_display_child(node); + printf("%s*)\n%slast:%s\n", node->class->scanner->display_prompt, node->class->scanner->display_prompt, _synctex_node_abstract(_synctex_tree_last(node))); + _synctex_display_sibling(node); + } +} + +static char *_synctex_abstract_handle(synctex_node_p node) +{ + static char abstract[SYNCTEX_ABSTRACT_MAX] = "none"; + if (node) { + synctex_node_p N = _synctex_tree_target(node); + if (N && !N->class) { + exit(1); + } + snprintf(abstract, SYNCTEX_ABSTRACT_MAX, "%s:%s", synctex_node_isa(node), (N ? _synctex_node_abstract(N) : "")); + } + return abstract; +} +static void _synctex_display_handle(synctex_node_p node) +{ + if (node) { + synctex_node_p N = _synctex_tree_target(node); + printf("%s%s:->%s\n", node->class->scanner->display_prompt, synctex_node_isa(node), _synctex_node_abstract(N)); + _synctex_display_child(node); + _synctex_display_sibling(node); + } +} +#ifdef SYNCTEX_NOTHING +#pragma mark - +#pragma mark STATUS +#endif + +#ifdef SYNCTEX_NOTHING +#pragma mark - +#pragma mark Prototypes +#endif +typedef struct { + size_t size; + synctex_status_t status; +} synctex_zs_s; +static synctex_zs_s _synctex_buffer_get_available_size(synctex_scanner_p scanner, size_t size); +static synctex_status_t _synctex_next_line(synctex_scanner_p scanner); +static synctex_status_t _synctex_match_string(synctex_scanner_p scanner, const char *the_string); + +typedef struct synctex_ns_t { + synctex_node_p node; + synctex_status_t status; +} synctex_ns_s; +static synctex_ns_s __synctex_parse_new_input(synctex_scanner_p scanner); +static synctex_status_t _synctex_scan_preamble(synctex_scanner_p scanner); +typedef struct { + float value; + synctex_status_t status; +} synctex_fs_s; +static synctex_fs_s _synctex_scan_float_and_dimension(synctex_scanner_p scanner); +static synctex_status_t _synctex_scan_post_scriptum(synctex_scanner_p scanner); +static synctex_status_t _synctex_scan_postamble(synctex_scanner_p scanner); +static synctex_status_t _synctex_setup_visible_hbox(synctex_node_p box); +static synctex_status_t _synctex_scan_content(synctex_scanner_p scanner); +int synctex_scanner_pre_x_offset(synctex_scanner_p scanner); +int synctex_scanner_pre_y_offset(synctex_scanner_p scanner); +const char *synctex_scanner_get_output_fmt(synctex_scanner_p scanner); + +#ifdef SYNCTEX_NOTHING +#pragma mark - +#pragma mark SCANNER UTILITIES +#endif + +#define SYNCTEX_FILE (scanner->reader->file) + +/** + * Try to ensure that the buffer contains at least size bytes. + * Passing a huge size argument means the whole buffer length. + * Passing a 0 size argument means return the available buffer length, without reading the file. + * In that case, the return status is always SYNCTEX_STATUS_OK unless the given scanner is NULL. + * The size_t value returned is the number of bytes now available in the buffer. This is a nonnegative integer, it may take the value 0. + * It is the responsibility of the caller to test whether this size is conforming to its needs. + * Negative values may return in case of error, actually + * when there was an error reading the synctex file. + * - parameter scanner: The owning scanner. When NULL, returns SYNCTEX_STATUS_BAD_ARGUMENT. + * - parameter expected: expected number of bytes. + * - returns: a size and a status. + */ +static synctex_zs_s _synctex_buffer_get_available_size(synctex_scanner_p scanner, size_t expected) +{ + size_t size = 0; + if (NULL == scanner) { + return (synctex_zs_s) {0, SYNCTEX_STATUS_BAD_ARGUMENT}; + } + if (expected > scanner->reader->size) { + expected = scanner->reader->size; + } + size = SYNCTEX_END - SYNCTEX_CUR; /* available is the number of unparsed chars in the buffer */ + if (expected <= size) { + /* There are already sufficiently many characters in the buffer */ + return (synctex_zs_s) {size, SYNCTEX_STATUS_OK}; + } + if (SYNCTEX_FILE) { + /* Copy the remaining part of the buffer to the beginning, + * then read the next part of the file */ + int already_read = 0; +#if defined(SYNCTEX_USE_CHARINDEX) + scanner->reader->charindex_offset += SYNCTEX_CUR - SYNCTEX_START; +#endif + if (size) { + memmove(SYNCTEX_START, SYNCTEX_CUR, size); + } + SYNCTEX_CUR = SYNCTEX_START + size; /* the next character after the move, will change. */ + /* Fill the buffer up to its end */ + already_read = gzread(SYNCTEX_FILE, (void *)SYNCTEX_CUR, (int)(SYNCTEX_BUFFER_SIZE - size)); + if (already_read > 0) { + /* We assume that 0 already_read) { + /* There is a possible error in reading the file */ + int errnum = 0; + const char *error_string = gzerror(SYNCTEX_FILE, &errnum); + if (Z_ERRNO == errnum) { + /* There is an error in zlib caused by the file system */ + _synctex_error("gzread error from the file system (%i)", errno); + return (synctex_zs_s) {0, SYNCTEX_STATUS_ERROR}; + } else if (errnum) { + _synctex_error("gzread error (%i:%i,%s)", already_read, errnum, error_string); + return (synctex_zs_s) {0, SYNCTEX_STATUS_ERROR}; + } + } + /* Nothing was read, we are at the end of the file. */ + gzclose(SYNCTEX_FILE); + SYNCTEX_FILE = NULL; + SYNCTEX_END = SYNCTEX_CUR; + SYNCTEX_CUR = SYNCTEX_START; + *SYNCTEX_END = '\0'; /* Terminate the string properly.*/ + /* there might be a bit of text left */ + return (synctex_zs_s) {SYNCTEX_END - SYNCTEX_CUR, SYNCTEX_STATUS_EOF}; + } + /* We cannot enlarge the buffer because the end of the file was reached. */ + return (synctex_zs_s) {size, SYNCTEX_STATUS_EOF}; +} + +/* Used when parsing the synctex file. + * Advance to the next character starting a line. + * Actually, only '\n' is recognized as end of line marker. + * On normal completion, the returned value is the number of unparsed characters available in the buffer. + * In general, it is a positive value, 0 meaning that the end of file was reached. + * -1 is returned in case of error, actually because there was an error while feeding the buffer. + * When the function returns with no error, SYNCTEX_CUR points to the first character of the next line, if any. + * J. Laurens: Sat May 10 07:52:31 UTC 2008 + */ +static synctex_status_t _synctex_next_line(synctex_scanner_p scanner) +{ + synctex_status_t status = SYNCTEX_STATUS_OK; + if (NULL == scanner) { + return SYNCTEX_STATUS_BAD_ARGUMENT; + } +infinite_loop: + while (SYNCTEX_CUR < SYNCTEX_END) { + if (*SYNCTEX_CUR == '\n') { + ++SYNCTEX_CUR; + ++scanner->reader->line_number; + return _synctex_buffer_get_available_size(scanner, 1).status; + } + ++SYNCTEX_CUR; + } + /* Here, we have SYNCTEX_CUR == SYNCTEX_END, such that the next call to _synctex_buffer_get_available_size + * will read another bunch of synctex file. Little by little, we advance to the end of the file. */ + status = _synctex_buffer_get_available_size(scanner, 1).status; + if (status <= SYNCTEX_STATUS_EOF) { + return status; + } + goto infinite_loop; +} + +/* Scan the given string. + * Both scanner and the_string must not be NULL, and the_string must not be 0 length. + * SYNCTEX_STATUS_OK is returned if the string is found, + * SYNCTEX_STATUS_EOF is returned when the EOF is reached, + * SYNCTEX_STATUS_NOT_OK is returned is the string is not found, + * an error status is returned otherwise. + * This is a critical method because buffering renders things more difficult. + * The given string might be as long as the maximum size_t value. + * As side effect, the buffer state may have changed if the given argument string can't fit into the buffer. + */ +static synctex_status_t _synctex_match_string(synctex_scanner_p scanner, const char *the_string) +{ + size_t tested_len = 0; /* the number of characters at the beginning of the_string that match */ + size_t remaining_len = 0; /* the number of remaining characters of the_string that should match */ + size_t available = 0; + synctex_zs_s zs = {0, 0}; + if (NULL == scanner || NULL == the_string) { + return SYNCTEX_STATUS_BAD_ARGUMENT; + } + remaining_len = strlen(the_string); /* All the_string should match */ + if (0 == remaining_len) { + return SYNCTEX_STATUS_BAD_ARGUMENT; + } + /* How many characters available in the buffer? */ + zs = _synctex_buffer_get_available_size(scanner, remaining_len); + if (zs.status < SYNCTEX_STATUS_EOF) { + return zs.status; + } + /* Maybe we have less characters than expected because the buffer is too small. */ + if (zs.size >= remaining_len) { + /* The buffer is sufficiently big to hold the expected number of characters. */ + if (strncmp((char *)SYNCTEX_CUR, the_string, remaining_len)) { + return SYNCTEX_STATUS_NOT_OK; + } + return_OK: + /* Advance SYNCTEX_CUR to the next character after the_string. */ + SYNCTEX_CUR += remaining_len; + return SYNCTEX_STATUS_OK; + } else if (strncmp((char *)SYNCTEX_CUR, the_string, zs.size)) { + /* No need to go further, this is not the expected string in the buffer. */ + return SYNCTEX_STATUS_NOT_OK; + } else if (SYNCTEX_FILE) { + /* The buffer was too small to contain remaining_len characters. + * We have to cut the string into pieces. */ + z_off_t offset = 0L; + /* the first part of the string is found, advance the_string to the next untested character. */ + the_string += zs.size; + /* update the remaining length and the parsed length. */ + remaining_len -= zs.size; + tested_len += zs.size; + SYNCTEX_CUR += zs.size; /* We validate the tested characters. */ + if (0 == remaining_len) { + /* Nothing left to test, we have found the given string. */ + return SYNCTEX_STATUS_OK; + } + /* We also have to record the current state of the file cursor because + * if the_string does not match, all this should be a totally blank operation, + * for which the file and buffer states should not be modified at all. + * In fact, the states of the buffer before and after this function are in general different + * but they are totally equivalent as long as the values of the buffer before SYNCTEX_CUR + * can be safely discarded. */ + offset = gztell(SYNCTEX_FILE); + /* offset now corresponds to the first character of the file that was not buffered. */ + /* SYNCTEX_CUR - SYNCTEX_START is the number of chars that where already buffered and + * that match the head of the_string. If in fine the_string does not match, all these chars must be recovered + * because the whole buffer contents is replaced in _synctex_buffer_get_available_size. + * They were buffered from offset-len location in the file. */ + offset -= SYNCTEX_CUR - SYNCTEX_START; + more_characters: + /* There is still some work to be done, so read another bunch of file. + * This is the second call to _synctex_buffer_get_available_size, + * which means that the actual contents of the buffer will be discarded. + * We will definitely have to recover the previous state in case we do not find the expected string. */ + zs = _synctex_buffer_get_available_size(scanner, remaining_len); + if (zs.status < SYNCTEX_STATUS_EOF) { + return zs.status; /* This is an error, no need to go further. */ + } + if (zs.size == 0) { + /* Missing characters: recover the initial state of the file and return. */ + return_NOT_OK: + if (offset != gzseek(SYNCTEX_FILE, offset, SEEK_SET)) { + /* This is a critical error, we could not recover the previous state. */ + _synctex_error("Can't seek file"); + return SYNCTEX_STATUS_ERROR; + } + /* Next time we are asked to fill the buffer, + * we will read a complete bunch of text from the file. */ + SYNCTEX_CUR = SYNCTEX_END; + return SYNCTEX_STATUS_NOT_OK; + } + if (zs.size < remaining_len) { + /* We'll have to loop one more time. */ + if (strncmp((char *)SYNCTEX_CUR, the_string, zs.size)) { + /* This is not the expected string, recover the previous state and return. */ + goto return_NOT_OK; + } + /* Advance the_string to the first untested character. */ + the_string += available; + /* update the remaining length and the parsed length. */ + remaining_len -= zs.size; + tested_len += zs.size; + SYNCTEX_CUR += zs.size; /* We validate the tested characters. */ + goto more_characters; + } + /* This is the last step. */ + if (strncmp((char *)SYNCTEX_CUR, the_string, remaining_len)) { + /* This is not the expected string, recover the previous state and return. */ + goto return_NOT_OK; + } + goto return_OK; + } else { + /* The buffer can't contain the given string argument, and the EOF was reached */ + return SYNCTEX_STATUS_EOF; + } +} + +/* Used when parsing the synctex file. + * Decode an integer. + * First, field separators, namely ':' and ',' characters are skipped + * The returned value is negative if there is an unrecoverable error. + * It is SYNCTEX_STATUS_NOT_OK if an integer could not be parsed, for example + * if the characters at the current cursor position are not digits or + * if the end of the file has been reached. + * It is SYNCTEX_STATUS_OK if an int has been successfully parsed. + * The given scanner argument must not be NULL, on the contrary, value_ref may be NULL. + */ +static synctex_is_s _synctex_decode_int(synctex_scanner_p scanner) +{ + char *ptr = NULL; + char *end = NULL; + synctex_zs_s zs = {0, 0}; + int result; + if (NULL == scanner) { + return (synctex_is_s) {0, SYNCTEX_STATUS_BAD_ARGUMENT}; + } + zs = _synctex_buffer_get_available_size(scanner, SYNCTEX_BUFFER_MIN_SIZE); + if (zs.status < SYNCTEX_STATUS_EOF) { + return (synctex_is_s) {0, zs.status}; + } + if (zs.size == 0) { + return (synctex_is_s) {0, SYNCTEX_STATUS_NOT_OK}; + } + ptr = SYNCTEX_CUR; + /* Optionally parse the separator */ + if (*ptr == ':' || *ptr == ',') { + ++ptr; + --zs.size; + if (zs.size == 0) { + return (synctex_is_s) {0, SYNCTEX_STATUS_NOT_OK}; + } + } + result = (int)strtol(ptr, &end, 10); + if (end > ptr) { + SYNCTEX_CUR = end; + return (synctex_is_s) {result, SYNCTEX_STATUS_OK}; + } + return (synctex_is_s) {result, SYNCTEX_STATUS_NOT_OK}; +} +static synctex_is_s _synctex_decode_int_opt(synctex_scanner_p scanner, int default_value) +{ + char *ptr = NULL; + char *end = NULL; + synctex_zs_s zs = {0, 0}; + if (NULL == scanner) { + return (synctex_is_s) {default_value, SYNCTEX_STATUS_BAD_ARGUMENT}; + } + zs = _synctex_buffer_get_available_size(scanner, SYNCTEX_BUFFER_MIN_SIZE); + if (zs.status < SYNCTEX_STATUS_EOF) { + return (synctex_is_s) {default_value, zs.status}; + } + if (zs.size == 0) { + return (synctex_is_s) {default_value, SYNCTEX_STATUS_OK}; + } + ptr = SYNCTEX_CUR; + /* Comma separator required */ + if (*ptr == ',') { + int result; + ++ptr; + --zs.size; + if (zs.size == 0) { + return (synctex_is_s) {default_value, SYNCTEX_STATUS_NOT_OK}; + } + result = (int)strtol(ptr, &end, 10); + if (end > ptr) { + SYNCTEX_CUR = end; + return (synctex_is_s) {result, SYNCTEX_STATUS_OK}; + } + return (synctex_is_s) {default_value, SYNCTEX_STATUS_NOT_OK}; + } + return (synctex_is_s) {default_value, SYNCTEX_STATUS_OK}; +} +/* Used when parsing the synctex file. + * Decode an integer for a v field. + * Try the _synctex_decode_int version and set the last v field scanned. + * If it does not succeed, tries to match an '=' sign, + * which is a shortcut for the last v field scanned. + */ +#define SYNCTEX_INPUT_COMEQUALS ",=" +static synctex_is_s _synctex_decode_int_v(synctex_scanner_p scanner) +{ + synctex_is_s is = _synctex_decode_int(scanner); + if (SYNCTEX_STATUS_OK == is.status) { + scanner->reader->lastv = is.integer; + return is; + } + is.status = _synctex_match_string(scanner, SYNCTEX_INPUT_COMEQUALS); + if (is.status < SYNCTEX_STATUS_OK) { + return is; + } + is.integer = scanner->reader->lastv; + return is; +} + +/* The purpose of this function is to read a string. + * A string is an array of characters from the current parser location + * and before the next '\n' character. + * If a string was properly decoded, it is returned in value_ref and + * the cursor points to the new line marker. + * The returned string was alloced on the heap, the caller is the owner and + * is responsible to free it in due time, + * unless it transfers the ownership to another object. + * If no string is parsed, * value_ref is undefined. + * The maximum length of a string that a scanner can decode is platform dependent, namely UINT_MAX. + * If you just want to blindly parse the file up to the end of the current line, + * use _synctex_next_line instead. + * On return, the scanner cursor is unchanged if a string could not be scanned or + * points to the terminating '\n' character otherwise. As a consequence, + * _synctex_next_line is necessary after. + * If either scanner or value_ref is NULL, it is considered as an error and + * SYNCTEX_STATUS_BAD_ARGUMENT is returned. + */ +static synctex_ss_s _synctex_decode_string(synctex_scanner_p scanner) +{ + char *end = NULL; + size_t len = 0; /* The number of bytes to copy */ + size_t already_len = 0; + synctex_zs_s zs = {0, 0}; + char *string = NULL; + char *new_string = NULL; + if (NULL == scanner) { + return (synctex_ss_s) {NULL, SYNCTEX_STATUS_BAD_ARGUMENT}; + } + /* The buffer must at least contain one character: the '\n' end of line marker */ + if (SYNCTEX_CUR >= SYNCTEX_END) { + more_characters: + zs = _synctex_buffer_get_available_size(scanner, 1); + if (zs.status < SYNCTEX_STATUS_EOF) { + free(string); + return (synctex_ss_s) {NULL, zs.status}; + } else if (0 == zs.size) { + free(string); + return (synctex_ss_s) {NULL, SYNCTEX_STATUS_EOF}; + } + } + /* Now we are sure that there is at least one available character, either because + * SYNCTEX_CUR was already < SYNCTEX_END, or because the buffer has been properly filled. */ + /* end will point to the next unparsed '\n' character in the file, when mapped to the buffer. */ + end = SYNCTEX_CUR; + /* We scan all the characters up to the next '\n' */ + while (end < SYNCTEX_END && *end != '\n') { + ++end; + } + /* OK, we found where to stop: + * either end == SYNCTEX_END + * or *end == '\n' */ + len = end - SYNCTEX_CUR; + if (len < UINT_MAX - already_len) { + if ((new_string = realloc(string, len + already_len + 1)) != NULL) { + string = new_string; + new_string = NULL; + if (memcpy(string + already_len, SYNCTEX_CUR, len)) { + already_len += len; + string[already_len] = '\0'; /* Terminate the string */ + SYNCTEX_CUR += len; /* Eventually advance to the terminating '\n' */ + if (SYNCTEX_CUR == SYNCTEX_END) { + /* No \n found*/ + goto more_characters; + } + /* trim the trailing whites */ + len = already_len; + while (len > 0) { + already_len = len--; + if (string[len] != ' ') { + break; + } + } + string[already_len] = '\0'; + return (synctex_ss_s) {string, SYNCTEX_STATUS_OK}; + } + free(string); + _synctex_error("could not copy memory (1)."); + return (synctex_ss_s) {NULL, SYNCTEX_STATUS_ERROR}; + } + } + free(string); + _synctex_error("could not (re)allocate memory (1)."); + return (synctex_ss_s) {NULL, SYNCTEX_STATUS_ERROR}; +} + +/* Used when parsing the synctex file. + * Read an Input record. + * - parameter scanner: non NULL scanner + * - returns SYNCTEX_STATUS_OK on successful completions, others values otherwise. + */ +static synctex_ns_s __synctex_parse_new_input(synctex_scanner_p scanner) +{ + synctex_node_p input = NULL; + synctex_status_t status = SYNCTEX_STATUS_BAD_ARGUMENT; + synctex_zs_s zs = {0, 0}; + if (NULL == scanner) { + return (synctex_ns_s) {NULL, status}; + } + if ((status = _synctex_match_string(scanner, SYNCTEX_INPUT_MARK)) < SYNCTEX_STATUS_OK) { + return (synctex_ns_s) {NULL, status}; + } + /* Create a node */ + if (NULL == (input = _synctex_new_input(scanner))) { + _synctex_error("Could not create an input node."); + return (synctex_ns_s) {NULL, SYNCTEX_STATUS_ERROR}; + } + /* Decode the tag */ + if ((status = _synctex_data_decode_tag(input)) < SYNCTEX_STATUS_OK) { + _synctex_error("Bad format of input node."); + synctex_node_free(input); + return (synctex_ns_s) {NULL, status}; + } + /* The next character is a field separator, we expect one character in the buffer. */ + zs = _synctex_buffer_get_available_size(scanner, 1); + if (zs.status <= SYNCTEX_STATUS_ERROR) { + return (synctex_ns_s) {NULL, status}; + } + if (0 == zs.size) { + return (synctex_ns_s) {NULL, SYNCTEX_STATUS_EOF}; + } + /* We can now safely advance to the next character, stepping over the field separator. */ + ++SYNCTEX_CUR; + --zs.size; + /* Then we scan the file name */ + if ((status = _synctex_data_decode_name(input)) < SYNCTEX_STATUS_OK) { + synctex_node_free(input); + _synctex_next_line(scanner); /* Ignore this whole line */ + return (synctex_ns_s) {NULL, status}; + } + /* Prepend this input node to the input linked list of the scanner */ + __synctex_tree_set_sibling(input, scanner->input); /* input has no parent */ + scanner->input = input; +#ifdef SYNCTEX_VERBOSE + synctex_node_log(input); +#endif + return (synctex_ns_s) {input, _synctex_next_line(scanner)}; /* read the line termination character, if any */ +} + +typedef synctex_is_s (*synctex_decoder_t)(synctex_scanner_p); + +/* Used when parsing the synctex file. + * Read one of the settings. + * On normal completion, returns SYNCTEX_STATUS_OK. + * On error, returns SYNCTEX_STATUS_ERROR. + * Both arguments must not be NULL. + * On return, the scanner points to the next character after the decoded object whatever it is. + * It is the responsibility of the caller to prepare the scanner for the next line. + */ +static synctex_status_t _synctex_scan_named(synctex_scanner_p scanner, const char *name) +{ + synctex_status_t status = 0; + if (NULL == scanner || NULL == name) { + return SYNCTEX_STATUS_BAD_ARGUMENT; + } +not_found: + status = _synctex_match_string(scanner, name); + if (status < SYNCTEX_STATUS_NOT_OK) { + return status; + } else if (status == SYNCTEX_STATUS_NOT_OK) { + status = _synctex_next_line(scanner); + if (status < SYNCTEX_STATUS_OK) { + return status; + } + goto not_found; + } + return SYNCTEX_STATUS_OK; +} + +/* Used when parsing the synctex file. + * Read the preamble. + */ +static synctex_status_t _synctex_scan_preamble(synctex_scanner_p scanner) +{ + synctex_status_t status = 0; + synctex_is_s is = {0, 0}; + synctex_ss_s ss = {NULL, 0}; + if (NULL == scanner) { + return SYNCTEX_STATUS_BAD_ARGUMENT; + } + status = _synctex_scan_named(scanner, "SyncTeX Version:"); + if (status < SYNCTEX_STATUS_OK) { + return status; + } + is = _synctex_decode_int(scanner); + if (is.status < SYNCTEX_STATUS_OK) { + return is.status; + } + status = _synctex_next_line(scanner); + if (status < SYNCTEX_STATUS_OK) { + return status; + } + scanner->version = is.integer; + /* Read all the input records */ + do { + status = __synctex_parse_new_input(scanner).status; + if (status < SYNCTEX_STATUS_NOT_OK) { + return status; + } + } while (status == SYNCTEX_STATUS_OK); + /* the loop exits when status == SYNCTEX_STATUS_NOT_OK */ + /* Now read all the required settings. */ + if ((status = _synctex_scan_named(scanner, "Output:")) < SYNCTEX_STATUS_OK) { + return status; + } + if ((ss = _synctex_decode_string(scanner)).status < SYNCTEX_STATUS_OK) { + return is.status; + } + if ((status = _synctex_next_line(scanner)) < SYNCTEX_STATUS_OK) { + return status; + } + scanner->output_fmt = ss.string; + if ((status = _synctex_scan_named(scanner, "Magnification:")) < SYNCTEX_STATUS_OK) { + return status; + } + if ((is = _synctex_decode_int(scanner)).status < SYNCTEX_STATUS_OK) { + return is.status; + } + if ((status = _synctex_next_line(scanner)) < SYNCTEX_STATUS_OK) { + return status; + } + scanner->pre_magnification = is.integer; + if ((status = _synctex_scan_named(scanner, "Unit:")) < SYNCTEX_STATUS_OK) { + return status; + } + if ((is = _synctex_decode_int(scanner)).status < SYNCTEX_STATUS_OK) { + return is.status; + } + if ((status = _synctex_next_line(scanner)) < SYNCTEX_STATUS_OK) { + return status; + } + scanner->pre_unit = is.integer; + if ((status = _synctex_scan_named(scanner, "X Offset:")) < SYNCTEX_STATUS_OK) { + return status; + } + if ((is = _synctex_decode_int(scanner)).status < SYNCTEX_STATUS_OK) { + return is.status; + } + if ((status = _synctex_next_line(scanner)) < SYNCTEX_STATUS_OK) { + return status; + } + scanner->pre_x_offset = is.integer; + if ((status = _synctex_scan_named(scanner, "Y Offset:")) < SYNCTEX_STATUS_OK) { + return status; + } + if ((is = _synctex_decode_int(scanner)).status < SYNCTEX_STATUS_OK) { + return is.status; + } + if ((status = _synctex_next_line(scanner)) < SYNCTEX_STATUS_OK) { + return status; + } + scanner->pre_y_offset = is.integer; + return SYNCTEX_STATUS_OK; +} + +/* parse a float with a dimension */ +static synctex_fs_s _synctex_scan_float_and_dimension(synctex_scanner_p scanner) +{ + synctex_fs_s fs = {0, 0}; + synctex_zs_s zs = {0, 0}; + char *endptr = NULL; +#ifdef HAVE_SETLOCALE + char *loc = setlocale(LC_NUMERIC, NULL); +#endif + if (NULL == scanner) { + return (synctex_fs_s) {0, SYNCTEX_STATUS_BAD_ARGUMENT}; + } + zs = _synctex_buffer_get_available_size(scanner, SYNCTEX_BUFFER_MIN_SIZE); + if (zs.status < SYNCTEX_STATUS_EOF) { + _synctex_error("Problem with float."); + return (synctex_fs_s) {0, zs.status}; + } +#ifdef HAVE_SETLOCALE + setlocale(LC_NUMERIC, "C"); +#endif + fs.value = strtod(SYNCTEX_CUR, &endptr); +#ifdef HAVE_SETLOCALE + setlocale(LC_NUMERIC, loc); +#endif + if (endptr == SYNCTEX_CUR) { + _synctex_error("A float was expected."); + return (synctex_fs_s) {0, SYNCTEX_STATUS_ERROR}; + } + SYNCTEX_CUR = endptr; + if ((fs.status = _synctex_match_string(scanner, "in")) >= SYNCTEX_STATUS_OK) { + fs.value *= 72.27f * 65536; + } else if (fs.status < SYNCTEX_STATUS_EOF) { + report_unit_error: + _synctex_error("problem with unit."); + return fs; + } else if ((fs.status = _synctex_match_string(scanner, "cm")) >= SYNCTEX_STATUS_OK) { + fs.value *= 72.27f * 65536 / 2.54f; + } else if (fs.status < SYNCTEX_STATUS_EOF) { + goto report_unit_error; + } else if ((fs.status = _synctex_match_string(scanner, "mm")) >= SYNCTEX_STATUS_OK) { + fs.value *= 72.27f * 65536 / 25.4f; + } else if (fs.status < SYNCTEX_STATUS_EOF) { + goto report_unit_error; + } else if ((fs.status = _synctex_match_string(scanner, "pt")) >= SYNCTEX_STATUS_OK) { + fs.value *= 65536.0f; + } else if (fs.status < SYNCTEX_STATUS_EOF) { + goto report_unit_error; + } else if ((fs.status = _synctex_match_string(scanner, "bp")) >= SYNCTEX_STATUS_OK) { + fs.value *= 72.27f / 72 * 65536.0f; + } else if (fs.status < SYNCTEX_STATUS_EOF) { + goto report_unit_error; + } else if ((fs.status = _synctex_match_string(scanner, "pc")) >= SYNCTEX_STATUS_OK) { + fs.value *= 12.0 * 65536.0f; + } else if (fs.status < SYNCTEX_STATUS_EOF) { + goto report_unit_error; + } else if ((fs.status = _synctex_match_string(scanner, "sp")) >= SYNCTEX_STATUS_OK) { + fs.value *= 1.0f; + } else if (fs.status < SYNCTEX_STATUS_EOF) { + goto report_unit_error; + } else if ((fs.status = _synctex_match_string(scanner, "dd")) >= SYNCTEX_STATUS_OK) { + fs.value *= 1238.0f / 1157 * 65536.0f; + } else if (fs.status < SYNCTEX_STATUS_EOF) { + goto report_unit_error; + } else if ((fs.status = _synctex_match_string(scanner, "cc")) >= SYNCTEX_STATUS_OK) { + fs.value *= 14856.0f / 1157 * 65536; + } else if (fs.status < SYNCTEX_STATUS_EOF) { + goto report_unit_error; + } else if ((fs.status = _synctex_match_string(scanner, "nd")) >= SYNCTEX_STATUS_OK) { + fs.value *= 685.0f / 642 * 65536; + } else if (fs.status < SYNCTEX_STATUS_EOF) { + goto report_unit_error; + } else if ((fs.status = _synctex_match_string(scanner, "nc")) >= SYNCTEX_STATUS_OK) { + fs.value *= 1370.0f / 107 * 65536; + } else if (fs.status < SYNCTEX_STATUS_EOF) { + goto report_unit_error; + } + return fs; +} + +/* parse the post scriptum + * SYNCTEX_STATUS_OK is returned on completion + * a negative error is returned otherwise */ +static synctex_status_t _synctex_scan_post_scriptum(synctex_scanner_p scanner) +{ + synctex_status_t status = 0; + synctex_fs_s fs = {0, 0}; + char *endptr = NULL; +#ifdef HAVE_SETLOCALE + char *loc = setlocale(LC_NUMERIC, NULL); +#endif + if (NULL == scanner) { + return SYNCTEX_STATUS_BAD_ARGUMENT; + } + /* Scan the file until a post scriptum line is found */ +post_scriptum_not_found: + status = _synctex_match_string(scanner, "Post scriptum:"); + if (status < SYNCTEX_STATUS_NOT_OK) { + return status; + } + if (status == SYNCTEX_STATUS_NOT_OK) { + status = _synctex_next_line(scanner); + if (status < SYNCTEX_STATUS_EOF) { + return status; + } else if (status < SYNCTEX_STATUS_OK) { + return SYNCTEX_STATUS_OK; /* The EOF is found, we have properly scanned the file */ + } + goto post_scriptum_not_found; + } + /* We found the name, advance to the next line. */ +next_line: + status = _synctex_next_line(scanner); + if (status < SYNCTEX_STATUS_EOF) { + return status; + } else if (status < SYNCTEX_STATUS_OK) { + return SYNCTEX_STATUS_OK; /* The EOF is found, we have properly scanned the file */ + } + /* Scanning the information */ + status = _synctex_match_string(scanner, "Magnification:"); + if (status == SYNCTEX_STATUS_OK) { +#ifdef HAVE_SETLOCALE + setlocale(LC_NUMERIC, "C"); +#endif + scanner->unit = strtod(SYNCTEX_CUR, &endptr); +#ifdef HAVE_SETLOCALE + setlocale(LC_NUMERIC, loc); +#endif + if (endptr == SYNCTEX_CUR) { + _synctex_error("bad magnification in the post scriptum, a float was expected."); + return SYNCTEX_STATUS_ERROR; + } + if (scanner->unit <= 0) { + _synctex_error("bad magnification in the post scriptum, a positive float was expected."); + return SYNCTEX_STATUS_ERROR; + } + SYNCTEX_CUR = endptr; + goto next_line; + } + if (status < SYNCTEX_STATUS_EOF) { + report_record_problem: + _synctex_error("Problem reading the Post Scriptum records"); + return status; /* echo the error. */ + } + status = _synctex_match_string(scanner, "X Offset:"); + if (status == SYNCTEX_STATUS_OK) { + fs = _synctex_scan_float_and_dimension(scanner); + if (fs.status < SYNCTEX_STATUS_OK) { + _synctex_error("Problem with X offset in the Post Scriptum."); + return fs.status; + } + scanner->x_offset = fs.value; + goto next_line; + } else if (status < SYNCTEX_STATUS_EOF) { + goto report_record_problem; + } + status = _synctex_match_string(scanner, "Y Offset:"); + if (status == SYNCTEX_STATUS_OK) { + fs = _synctex_scan_float_and_dimension(scanner); + if (fs.status < SYNCTEX_STATUS_OK) { + _synctex_error("Problem with Y offset in the Post Scriptum."); + return fs.status; + } + scanner->x_offset = fs.value; + goto next_line; + } else if (status < SYNCTEX_STATUS_EOF) { + goto report_record_problem; + } + goto next_line; +} + +/* SYNCTEX_STATUS_OK is returned if the postamble is read + * SYNCTEX_STATUS_NOT_OK is returned if the postamble is not at the current location + * a negative error otherwise + * The postamble comprises the post scriptum section. + */ +static synctex_status_t _synctex_scan_postamble(synctex_scanner_p scanner) +{ + synctex_status_t status = 0; + synctex_is_s is = {0, 0}; + if (NULL == scanner) { + return SYNCTEX_STATUS_BAD_ARGUMENT; + } + if (!scanner->flags.postamble && (status = _synctex_match_string(scanner, "Postamble:")) < SYNCTEX_STATUS_OK) { + return status; + } +count_again: + if ((status = _synctex_next_line(scanner)) < SYNCTEX_STATUS_OK) { + return status; + } + if ((status = _synctex_scan_named(scanner, "Count:")) < SYNCTEX_STATUS_EOF) { + return status; /* forward the error */ + } else if (status < SYNCTEX_STATUS_OK) { /* No Count record found */ + goto count_again; + } + if ((is = _synctex_decode_int(scanner)).status < SYNCTEX_STATUS_OK) { + return is.status; + } + if ((status = _synctex_next_line(scanner)) < SYNCTEX_STATUS_OK) { + return status; + } + scanner->count = is.integer; + /* Now we scan the last part of the SyncTeX file: the Post Scriptum section. */ + return _synctex_scan_post_scriptum(scanner); +} + +/* Horizontal boxes also have visible size. + * Visible size are bigger than real size. + * For example 0 width boxes may contain text. + * At creation time, the visible size is set to the values of the real size. + */ +static synctex_status_t _synctex_setup_visible_hbox(synctex_node_p box) +{ + if (box) { + switch (synctex_node_type(box)) { + case synctex_node_type_hbox: + _synctex_data_set_h_V(box, _synctex_data_h(box)); + _synctex_data_set_v_V(box, _synctex_data_v(box)); + _synctex_data_set_width_V(box, _synctex_data_width(box)); + _synctex_data_set_height_V(box, _synctex_data_height(box)); + _synctex_data_set_depth_V(box, _synctex_data_depth(box)); + return SYNCTEX_STATUS_OK; + default: + break; + } + } + return SYNCTEX_STATUS_BAD_ARGUMENT; +} + +/* This method is sent to an horizontal box to setup the visible size + * Some box have 0 width but do contain text material. + * With this method, one can enlarge the box to contain the given point (h,v). + */ +static synctex_status_t _synctex_make_hbox_contain_point(synctex_node_p node, synctex_point_s point) +{ + int min, max, n; + if (NULL == node || synctex_node_type(node) != synctex_node_type_hbox) { + return SYNCTEX_STATUS_BAD_ARGUMENT; + } + if ((n = _synctex_data_width_V(node)) < 0) { + max = _synctex_data_h_V(node); + min = max + n; + if (point.h < min) { + _synctex_data_set_width_V(node, point.h - max); + } else if (point.h > max) { + _synctex_data_set_h_V(node, point.h); + _synctex_data_set_width_V(node, min - point.h); + } + } else { + min = _synctex_data_h_V(node); + max = min + n; + if (point.h < min) { + _synctex_data_set_h_V(node, point.h); + _synctex_data_set_width_V(node, max - point.h); + } else if (point.h > max) { + _synctex_data_set_width_V(node, point.h - min); + } + } + n = _synctex_data_v_V(node); + min = n - _synctex_data_height_V(node); + max = n + _synctex_data_depth_V(node); + if (point.v < min) { + _synctex_data_set_height_V(node, n - point.v); + } else if (point.v > max) { + _synctex_data_set_depth_V(node, point.v - n); + } + return SYNCTEX_STATUS_OK; +} +static synctex_status_t _synctex_make_hbox_contain_box(synctex_node_p node, synctex_box_s box) +{ + int min, max, n; + if (NULL == node || synctex_node_type(node) != synctex_node_type_hbox) { + return SYNCTEX_STATUS_BAD_ARGUMENT; + } + if ((n = _synctex_data_width_V(node)) < 0) { + max = _synctex_data_h_V(node); + min = max + n; + if (box.min.h < min) { + _synctex_data_set_width_V(node, box.min.h - max); + } else if (box.max.h > max) { + _synctex_data_set_h_V(node, box.max.h); + _synctex_data_set_width_V(node, min - box.max.h); + } + } else { + min = _synctex_data_h_V(node); + max = min + n; + if (box.min.h < min) { + _synctex_data_set_h_V(node, box.min.h); + _synctex_data_set_width_V(node, max - box.min.h); + } else if (box.max.h > max) { + _synctex_data_set_width_V(node, box.max.h - min); + } + } + n = _synctex_data_v_V(node); + min = n - _synctex_data_height_V(node); + max = n + _synctex_data_depth_V(node); + if (box.min.v < min) { + _synctex_data_set_height_V(node, n - box.min.v); + } else if (box.max.v > max) { + _synctex_data_set_depth_V(node, box.max.v - n); + } + return SYNCTEX_STATUS_OK; +} +#ifdef SYNCTEX_NOTHING +#pragma mark - +#pragma mark SPECIAL CHARACTERS +#endif + +/* Here are the control characters that strat each line of the synctex output file. + * Their values define the meaning of the line. + */ +#define SYNCTEX_CHAR_BEGIN_SHEET '{' +#define SYNCTEX_CHAR_END_SHEET '}' +#define SYNCTEX_CHAR_BEGIN_FORM '<' +#define SYNCTEX_CHAR_END_FORM '>' +#define SYNCTEX_CHAR_BEGIN_VBOX '[' +#define SYNCTEX_CHAR_END_VBOX ']' +#define SYNCTEX_CHAR_BEGIN_HBOX '(' +#define SYNCTEX_CHAR_END_HBOX ')' +#define SYNCTEX_CHAR_ANCHOR '!' +#define SYNCTEX_CHAR_VOID_VBOX 'v' +#define SYNCTEX_CHAR_VOID_HBOX 'h' +#define SYNCTEX_CHAR_KERN 'k' +#define SYNCTEX_CHAR_GLUE 'g' +#define SYNCTEX_CHAR_RULE 'r' +#define SYNCTEX_CHAR_MATH '$' +#define SYNCTEX_CHAR_FORM_REF 'f' +#define SYNCTEX_CHAR_BOUNDARY 'x' +#define SYNCTEX_CHAR_CHARACTER 'c' +#define SYNCTEX_CHAR_COMMENT '%' + +#define SYNCTEX_RETURN(STATUS) return STATUS; + +#ifdef SYNCTEX_NOTHING +#pragma mark - +#pragma mark SCANNERS & PARSERS +#endif + +#define SYNCTEX_DECODE_FAILED(NODE, WHAT) (_synctex_data_decode_##WHAT(NODE) < SYNCTEX_STATUS_OK) +#define SYNCTEX_DECODE_FAILED_V(NODE, WHAT) (_synctex_data_decode_##WHAT##_v(NODE) < SYNCTEX_STATUS_OK) + +#define SYNCTEX_NS_NULL \ + (synctex_ns_s) \ + { \ + NULL, SYNCTEX_STATUS_NOT_OK \ + } +static synctex_ns_s _synctex_parse_new_sheet(synctex_scanner_p scanner) +{ + synctex_node_p node; + if ((node = _synctex_new_sheet(scanner))) { + if (SYNCTEX_DECODE_FAILED(node, page)) { + _synctex_error("Bad sheet record."); + } else if (_synctex_next_line(scanner) < SYNCTEX_STATUS_OK) { + _synctex_error("Missing end of sheet."); + } else { + /* Now set the owner */ + if (scanner->sheet) { + synctex_node_p last_sheet = scanner->sheet; + synctex_node_p next_sheet = NULL; + while ((next_sheet = __synctex_tree_sibling(last_sheet))) { + last_sheet = next_sheet; + } + __synctex_tree_set_sibling(last_sheet, node); /* sheets have no parent */ + } else { + scanner->sheet = node; + } + return (synctex_ns_s) {node, SYNCTEX_STATUS_OK}; + } + _synctex_free_node(node); + } + return (synctex_ns_s) {NULL, SYNCTEX_STATUS_ERROR}; +} +/** + * - requirement: scanner != NULL + */ +static synctex_ns_s _synctex_parse_new_form(synctex_scanner_p scanner) +{ + synctex_node_p node; + if ((node = _synctex_new_form(scanner))) { + if (SYNCTEX_DECODE_FAILED(node, tag)) { + _synctex_error("Bad sheet record."); + } else if (_synctex_next_line(scanner) < SYNCTEX_STATUS_OK) { + _synctex_error("Missing end of form."); + } else { + /* Now set the owner */ + if (scanner->form) { + synctex_node_p last_form = scanner->form; + synctex_node_p next_form = NULL; + while ((next_form = __synctex_tree_sibling(last_form))) { + last_form = next_form; + } + __synctex_tree_set_sibling(last_form, node); + } else { + scanner->form = node; + } + return (synctex_ns_s) {node, SYNCTEX_STATUS_OK}; + } + _synctex_free_node(node); + } + return (synctex_ns_s) {NULL, SYNCTEX_STATUS_ERROR}; +} +#define SYNCTEX_SHOULD_DECODE_FAILED(NODE, WHAT) (_synctex_data_has_##WHAT(NODE) && (_synctex_data_decode_##WHAT(NODE) < SYNCTEX_STATUS_OK)) +#define SYNCTEX_SHOULD_DECODE_FAILED_V(NODE, WHAT) (_synctex_data_has_##WHAT(NODE) && (_synctex_data_decode_##WHAT##_v(NODE) < SYNCTEX_STATUS_OK)) + +static synctex_status_t _synctex_data_decode_tlchvwhd(synctex_node_p node) +{ + return SYNCTEX_SHOULD_DECODE_FAILED(node, tag) || SYNCTEX_SHOULD_DECODE_FAILED(node, line) || SYNCTEX_SHOULD_DECODE_FAILED(node, column) || SYNCTEX_SHOULD_DECODE_FAILED(node, h) || SYNCTEX_SHOULD_DECODE_FAILED_V(node, v) || + SYNCTEX_SHOULD_DECODE_FAILED(node, width) || SYNCTEX_SHOULD_DECODE_FAILED(node, height) || SYNCTEX_SHOULD_DECODE_FAILED(node, depth); +} +static synctex_ns_s _synctex_parse_new_vbox(synctex_scanner_p scanner) +{ + synctex_node_p node; + if ((node = _synctex_new_vbox(scanner))) { + if (_synctex_data_decode_tlchvwhd(node)) { + _synctex_error("Bad vbox record."); + _synctex_next_line(scanner); + out: + _synctex_free_node(node); + return (synctex_ns_s) {NULL, SYNCTEX_STATUS_ERROR}; + } + if (_synctex_next_line(scanner) < SYNCTEX_STATUS_OK) { + _synctex_error("Missing end of vbox."); + goto out; + } + return (synctex_ns_s) {node, SYNCTEX_STATUS_OK}; + } + _synctex_next_line(scanner); + return (synctex_ns_s) {NULL, SYNCTEX_STATUS_ERROR}; +} +SYNCTEX_INLINE static synctex_node_p __synctex_node_make_friend_tlc(synctex_node_p node); +static synctex_ns_s _synctex_parse_new_hbox(synctex_scanner_p scanner) +{ + synctex_node_p node; + if ((node = _synctex_new_hbox(scanner))) { + if (_synctex_data_decode_tlchvwhd(node)) { + _synctex_error("Bad hbox record."); + _synctex_next_line(scanner); + out: + _synctex_free_node(node); + return (synctex_ns_s) {NULL, SYNCTEX_STATUS_ERROR}; + } + if (_synctex_next_line(scanner) < SYNCTEX_STATUS_OK) { + _synctex_error("Missing end of hbox."); + goto out; + } + if (_synctex_setup_visible_hbox(node) < SYNCTEX_STATUS_OK) { + _synctex_error("Unexpected error (_synctex_parse_new_hbox)."); + goto out; + } + return (synctex_ns_s) {node, SYNCTEX_STATUS_OK}; + } + _synctex_next_line(scanner); + return (synctex_ns_s) {NULL, SYNCTEX_STATUS_ERROR}; +} +static synctex_ns_s _synctex_parse_new_void_vbox(synctex_scanner_p scanner) +{ + synctex_node_p node; + if ((node = _synctex_new_void_vbox(scanner))) { + if (_synctex_data_decode_tlchvwhd(node)) { + _synctex_error("Bad void vbox record."); + _synctex_next_line(scanner); + out: + _synctex_free_node(node); + return (synctex_ns_s) {NULL, SYNCTEX_STATUS_ERROR}; + } + if (_synctex_next_line(scanner) < SYNCTEX_STATUS_OK) { + _synctex_error("Missing end of container."); + goto out; + } + return (synctex_ns_s) {node, SYNCTEX_STATUS_OK}; + } + _synctex_next_line(scanner); + return (synctex_ns_s) {NULL, SYNCTEX_STATUS_ERROR}; +} +static synctex_ns_s _synctex_parse_new_void_hbox(synctex_scanner_p scanner) +{ + synctex_node_p node; + if ((node = _synctex_new_void_hbox(scanner))) { + if (_synctex_data_decode_tlchvwhd(node)) { + _synctex_error("Bad void hbox record."); + _synctex_next_line(scanner); + out: + _synctex_free_node(node); + return (synctex_ns_s) {NULL, SYNCTEX_STATUS_ERROR}; + } + if (_synctex_next_line(scanner) < SYNCTEX_STATUS_OK) { + _synctex_error("Missing end of container."); + goto out; + } + return (synctex_ns_s) {node, SYNCTEX_STATUS_OK}; + } + _synctex_next_line(scanner); + return (synctex_ns_s) {NULL, SYNCTEX_STATUS_ERROR}; +} +static synctex_ns_s _synctex_parse_new_kern(synctex_scanner_p scanner) +{ + synctex_node_p node; + if ((node = _synctex_new_kern(scanner))) { + if (_synctex_data_decode_tlchvwhd(node)) { + _synctex_error("Bad kern record."); + _synctex_next_line(scanner); + out: + _synctex_free_node(node); + return (synctex_ns_s) {NULL, SYNCTEX_STATUS_ERROR}; + } + if (_synctex_next_line(scanner) < SYNCTEX_STATUS_OK) { + _synctex_error("Missing end of container."); + goto out; + } + return (synctex_ns_s) {node, SYNCTEX_STATUS_OK}; + } + _synctex_next_line(scanner); + return (synctex_ns_s) {NULL, SYNCTEX_STATUS_ERROR}; +} +static synctex_ns_s _synctex_parse_new_glue(synctex_scanner_p scanner) +{ + synctex_node_p node; + if ((node = _synctex_new_glue(scanner))) { + if (_synctex_data_decode_tlchvwhd(node)) { + _synctex_error("Bad glue record."); + _synctex_next_line(scanner); + out: + _synctex_free_node(node); + return (synctex_ns_s) {NULL, SYNCTEX_STATUS_ERROR}; + } + if (_synctex_next_line(scanner) < SYNCTEX_STATUS_OK) { + _synctex_error("Missing end of container."); + goto out; + } + return (synctex_ns_s) {node, SYNCTEX_STATUS_OK}; + } + _synctex_next_line(scanner); + return (synctex_ns_s) {NULL, SYNCTEX_STATUS_ERROR}; +} +static synctex_ns_s _synctex_parse_new_rule(synctex_scanner_p scanner) +{ + synctex_node_p node; + if ((node = _synctex_new_rule(scanner))) { + if (_synctex_data_decode_tlchvwhd(node)) { + _synctex_error("Bad rule record."); + _synctex_next_line(scanner); + out: + _synctex_free_node(node); + return (synctex_ns_s) {NULL, SYNCTEX_STATUS_ERROR}; + } + if (_synctex_next_line(scanner) < SYNCTEX_STATUS_OK) { + _synctex_error("Missing end of container."); + goto out; + } + return (synctex_ns_s) {node, SYNCTEX_STATUS_OK}; + } + _synctex_next_line(scanner); + return (synctex_ns_s) {NULL, SYNCTEX_STATUS_ERROR}; +} +static synctex_ns_s _synctex_parse_new_math(synctex_scanner_p scanner) +{ + synctex_node_p node; + if ((node = _synctex_new_math(scanner))) { + if (_synctex_data_decode_tlchvwhd(node)) { + _synctex_error("Bad math record."); + _synctex_next_line(scanner); + out: + _synctex_free_node(node); + return (synctex_ns_s) {NULL, SYNCTEX_STATUS_ERROR}; + } + if (_synctex_next_line(scanner) < SYNCTEX_STATUS_OK) { + _synctex_error("Missing end of container."); + goto out; + } + return (synctex_ns_s) {node, SYNCTEX_STATUS_OK}; + } + _synctex_next_line(scanner); + return (synctex_ns_s) {NULL, SYNCTEX_STATUS_ERROR}; +} +static synctex_ns_s _synctex_parse_new_boundary(synctex_scanner_p scanner) +{ + synctex_node_p node; + if ((node = _synctex_new_boundary(scanner))) { + if (_synctex_data_decode_tlchvwhd(node)) { + _synctex_error("Bad boundary record."); + _synctex_next_line(scanner); + out: + _synctex_free_node(node); + return (synctex_ns_s) {NULL, SYNCTEX_STATUS_ERROR}; + } + if (_synctex_next_line(scanner) < SYNCTEX_STATUS_OK) { + _synctex_error("Missing end of container."); + goto out; + } + return (synctex_ns_s) {node, SYNCTEX_STATUS_OK}; + } + _synctex_next_line(scanner); + return (synctex_ns_s) {NULL, SYNCTEX_STATUS_ERROR}; +} +SYNCTEX_INLINE static synctex_ns_s _synctex_parse_new_ref(synctex_scanner_p scanner) +{ + synctex_node_p node; + if ((node = _synctex_new_ref(scanner))) { + if (SYNCTEX_DECODE_FAILED(node, tag) || SYNCTEX_DECODE_FAILED(node, h) || SYNCTEX_DECODE_FAILED_V(node, v)) { + _synctex_error("Bad form ref record."); + _synctex_next_line(scanner); + out: + _synctex_free_node(node); + return (synctex_ns_s) {NULL, SYNCTEX_STATUS_ERROR}; + } + if (_synctex_next_line(scanner) < SYNCTEX_STATUS_OK) { + _synctex_error("Missing end of container."); + goto out; + } + return (synctex_ns_s) {node, SYNCTEX_STATUS_OK}; + } + _synctex_next_line(scanner); + return (synctex_ns_s) {NULL, SYNCTEX_STATUS_ERROR}; +} +#undef SYNCTEX_DECODE_FAILED +#undef SYNCTEX_DECODE_FAILED_V + +SYNCTEX_INLINE static synctex_point_s _synctex_data_point(synctex_node_p node); +SYNCTEX_INLINE static synctex_point_s _synctex_data_point_V(synctex_node_p node); +SYNCTEX_INLINE static synctex_point_s _synctex_data_set_point(synctex_node_p node, synctex_point_s point); +SYNCTEX_INLINE static synctex_box_s _synctex_data_box(synctex_node_p node); +SYNCTEX_INLINE static synctex_box_s _synctex_data_xob(synctex_node_p node); +SYNCTEX_INLINE static synctex_box_s _synctex_data_box_V(synctex_node_p node); + +SYNCTEX_INLINE static synctex_node_p _synctex_input_register_line(synctex_node_p input, synctex_node_p node) +{ + if (node && _synctex_data_tag(input) != _synctex_data_tag(node)) { + input = synctex_scanner_input_with_tag(node->class->scanner, _synctex_data_tag(node)); + } + if (_synctex_data_line(node) > _synctex_data_line(input)) { + _synctex_data_set_line(input, _synctex_data_line(node)); + } + return input; +} +/** + * Scan sheets, forms and input records. + * - parameter scanner: owning scanner + * - returns: status + */ +static synctex_status_t __synctex_parse_sfi(synctex_scanner_p scanner) +{ + synctex_status_t status = SYNCTEX_STATUS_OK; + synctex_zs_s zs = {0, 0}; + synctex_ns_s input = SYNCTEX_NS_NULL; + synctex_node_p sheet = NULL; + synctex_node_p form = NULL; + synctex_node_p parent = NULL; + synctex_node_p child = NULL; + synctex_ns_s ns = SYNCTEX_NS_NULL; + int form_depth = 0; + int ignored_form_depth = 0; + synctex_bool_t try_input = synctex_YES; +#ifdef SYNCTEX_NOTHING +#pragma mark MAIN LOOP +#endif +main_loop: + status = SYNCTEX_STATUS_OK; + sheet = form = parent = child = NULL; +#define SYNCTEX_START_SCAN(WHAT) (*SYNCTEX_CUR == SYNCTEX_CHAR_##WHAT) + if (SYNCTEX_CUR < SYNCTEX_END) { + if (SYNCTEX_START_SCAN(BEGIN_FORM)) { +#ifdef SYNCTEX_NOTHING +#pragma mark + SCAN FORM +#endif + scan_form: + ns = _synctex_parse_new_form(scanner); + if (ns.status == SYNCTEX_STATUS_OK) { + ++form_depth; + if (_synctex_tree_parent(form)) { + /* This form is already being parsed */ + ++ignored_form_depth; + goto ignore_loop; + } + _synctex_tree_set_parent(ns.node, form); + form = ns.node; + parent = form; + child = NULL; + goto content_loop; + } + if (form || sheet) { + goto content_loop; + } + try_input = synctex_YES; + goto main_loop; + } else if (SYNCTEX_START_SCAN(BEGIN_SHEET)) { +#ifdef SYNCTEX_NOTHING +#pragma mark + SCAN SHEET +#endif + try_input = synctex_YES; + ns = _synctex_parse_new_sheet(scanner); + if (ns.status == SYNCTEX_STATUS_OK) { + sheet = ns.node; + parent = sheet; + goto content_loop; + } + goto main_loop; + } else if (SYNCTEX_START_SCAN(ANCHOR)) { +#ifdef SYNCTEX_NOTHING +#pragma mark + SCAN ANCHOR +#endif + scan_anchor: + ++SYNCTEX_CUR; + if (_synctex_next_line(scanner) < SYNCTEX_STATUS_OK) { + _synctex_error("Missing anchor."); + SYNCTEX_RETURN(SYNCTEX_STATUS_ERROR); + } + if (form || sheet) { + goto content_loop; + } + try_input = synctex_YES; + goto main_loop; + } else if (SYNCTEX_START_SCAN(ANCHOR)) { +#ifdef SYNCTEX_NOTHING +#pragma mark + SCAN COMMENT +#endif + ++SYNCTEX_CUR; + _synctex_next_line(scanner); + try_input = synctex_YES; + goto main_loop; + } else if (try_input) { +#ifdef SYNCTEX_NOTHING +#pragma mark + SCAN INPUT +#endif + try_input = synctex_NO; + do { + input = __synctex_parse_new_input(scanner); + } while (input.status == SYNCTEX_STATUS_OK); + goto main_loop; + } + status = _synctex_match_string(scanner, "Postamble:"); + if (status == SYNCTEX_STATUS_OK) { + scanner->flags.postamble = 1; + return status; + } + status = _synctex_next_line(scanner); + if (status < SYNCTEX_STATUS_OK) { + return status; + } + } + /* At least 1 more character */ + zs = _synctex_buffer_get_available_size(scanner, 1); + if (zs.size == 0) { + _synctex_error("Uncomplete synctex file, postamble missing."); + SYNCTEX_RETURN(SYNCTEX_STATUS_ERROR); + } + goto main_loop; + /* Unreachable. */ +#ifdef SYNCTEX_NOTHING +#pragma mark IGNORE LOOP +#endif +ignore_loop: + ns = SYNCTEX_NS_NULL; + if (SYNCTEX_CUR < SYNCTEX_END) { + if (SYNCTEX_START_SCAN(BEGIN_FORM)) { + ++ignored_form_depth; + } else if (SYNCTEX_START_SCAN(END_FORM)) { + --ignored_form_depth; + } + if (_synctex_next_line(scanner) < SYNCTEX_STATUS_OK) { + _synctex_error("Uncomplete container."); + SYNCTEX_RETURN(SYNCTEX_STATUS_ERROR); + } + } else { + zs = _synctex_buffer_get_available_size(scanner, 1); + if (zs.size == 0) { + _synctex_error("Uncomplete synctex file, postamble missing."); + SYNCTEX_RETURN(SYNCTEX_STATUS_ERROR); + } + } + if (ignored_form_depth) { + goto ignore_loop; + } else { + goto content_loop; + } + +#ifdef SYNCTEX_NOTHING +#pragma mark CONTENT LOOP +#endif +content_loop: + /* Either in a form, a sheet or a box. + * - in a sheet, "{" is not possible, only boxes and "}" at top level. + * - in a form, "{" is not possible, only boxes, "<" and ">" at top level. + * - in a box, the unique possibility is '<', '[', '(' or ">". + * We still keep the '(' for a sheet, because that dos not cost too much. + * We must also consider void boxes as children. + */ + /* forms are everywhere */ + ns = SYNCTEX_NS_NULL; +#ifdef SYNCTEX_VERBOSE + synctex_scanner_set_display_switcher(scanner, -1); + printf("NEW CONTENT LOOP\n"); +#if defined SYNCTEX_DEBUG && SYNCTEX_DEBUG > 500 + synctex_node_display(sheet); +#endif +#endif + if (SYNCTEX_CUR < SYNCTEX_END) { + if (SYNCTEX_START_SCAN(BEGIN_FORM)) { + goto scan_form; + } else if (SYNCTEX_START_SCAN(BEGIN_VBOX)) { +#ifdef SYNCTEX_NOTHING +#pragma mark + SCAN VBOX +#endif + ns = _synctex_parse_new_vbox(scanner); + if (ns.status == SYNCTEX_STATUS_OK) { + if (child) { + _synctex_node_set_sibling(child, ns.node); + } else { + _synctex_node_set_child(parent, ns.node); + } + parent = ns.node; + child = _synctex_tree_last(parent); +#ifdef SYNCTEX_VERBOSE + synctex_node_log(parent); +#endif + input.node = _synctex_input_register_line(input.node, parent); + goto content_loop; + } + } else if (SYNCTEX_START_SCAN(END_VBOX)) { + if (synctex_node_type(parent) == synctex_node_type_vbox) { +#ifdef SYNCTEX_NOTHING +#pragma mark + SCAN XOBV +#endif + ++SYNCTEX_CUR; + if (NULL == _synctex_tree_child(parent) && !form) { + /* only void v boxes are friends */ + _synctex_node_make_friend_tlc(parent); + } + child = parent; + parent = _synctex_tree_parent(child); +#ifdef SYNCTEX_VERBOSE + synctex_node_log(child); +#endif + if (_synctex_next_line(scanner) < SYNCTEX_STATUS_OK) { + _synctex_error("Uncomplete container."); + SYNCTEX_RETURN(SYNCTEX_STATUS_ERROR); + } + goto content_loop; + } + } else if (SYNCTEX_START_SCAN(BEGIN_HBOX)) { +#ifdef SYNCTEX_NOTHING +#pragma mark + SCAN HBOX +#endif +#if defined(SYNCTEX_USE_CHARINDEX) + synctex_charindex_t char_index = (synctex_charindex_t)(scanner->reader->charindex_offset + SYNCTEX_CUR - SYNCTEX_START); + synctex_lineindex_t line_index = scanner->reader->line_number; +#endif + ns = _synctex_parse_new_hbox(scanner); + if (ns.status == SYNCTEX_STATUS_OK) { + if (child) { + _synctex_node_set_sibling(child, ns.node); + } else { + _synctex_node_set_child(parent, ns.node); + } + parent = ns.node; + /* add a box boundary node at the start */ + if ((child = _synctex_new_box_bdry(scanner))) { +#if defined(SYNCTEX_USE_CHARINDEX) + child->line_index = line_index; + child->char_index = char_index; +#endif + _synctex_node_set_child(parent, child); + _synctex_data_set_tag(child, _synctex_data_tag(parent)); + _synctex_data_set_line(child, _synctex_data_line(parent)); + _synctex_data_set_h(child, _synctex_data_h(parent)); + _synctex_data_set_v(child, _synctex_data_v(parent)); + if (!form) { + __synctex_node_make_friend_tlc(child); + } + } else { + _synctex_error("Can't create box bdry record."); + } +#ifdef SYNCTEX_VERBOSE + synctex_node_log(parent); +#endif + input.node = _synctex_input_register_line(input.node, parent); + goto content_loop; + } + } else if (SYNCTEX_START_SCAN(END_HBOX)) { + if (synctex_node_type(parent) == synctex_node_type_hbox) { +#ifdef SYNCTEX_NOTHING +#pragma mark + SCAN XOBH +#endif + ++SYNCTEX_CUR; + { + /* setting the next horizontal box at the end ensures + * that a child is recorded before any of its ancestors. + */ + if (form == NULL /* && sheet != NULL*/) { + _synctex_tree_set_next_hbox(parent, _synctex_tree_next_hbox(sheet)); + _synctex_tree_set_next_hbox(sheet, parent); + } + /* Update the mean line number */ + synctex_node_p node = _synctex_tree_child(parent); + synctex_node_p sibling = NULL; + /* Ignore the first node (a box_bdry) */ + if (node && (node = __synctex_tree_sibling(node))) { + unsigned int node_weight = 0; + unsigned int cumulated_line_numbers = 0; + do { + if (synctex_node_type(node) == synctex_node_type_hbox) { + if (_synctex_data_weight(node)) { + node_weight += _synctex_data_weight(node); + cumulated_line_numbers += _synctex_data_mean_line(node) * _synctex_data_weight(node); + } else { + ++node_weight; + cumulated_line_numbers += _synctex_data_mean_line(node); + } + } else { + ++node_weight; + cumulated_line_numbers += synctex_node_line(node); + } + } while ((node = __synctex_tree_sibling(node))); + _synctex_data_set_mean_line(parent, (cumulated_line_numbers + node_weight / 2) / node_weight); + _synctex_data_set_weight(parent, node_weight); + } else { + _synctex_data_set_mean_line(parent, _synctex_data_line(parent)); + _synctex_data_set_weight(parent, 1); + } + if ((sibling = _synctex_new_box_bdry(scanner))) { +#if defined(SYNCTEX_USE_CHARINDEX) + sibling->line_index = child->line_index; + sibling->char_index = child->char_index; +#endif + _synctex_node_set_sibling(child, sibling); + { + synctex_node_p N = child; + while (synctex_node_type(N) == synctex_node_type_ref) { + N = _synctex_tree_arg_sibling(N); + } + _synctex_data_set_tag(sibling, _synctex_data_tag(N)); + _synctex_data_set_line(sibling, _synctex_data_line(N)); + } + _synctex_data_set_h(sibling, _synctex_data_h_V(parent) + _synctex_data_width_V(parent)); + _synctex_data_set_v(sibling, _synctex_data_v_V(parent)); + child = sibling; + } else { + _synctex_error("Can't create box bdry record."); + } + sibling = _synctex_tree_child(parent); + _synctex_data_set_point(sibling, _synctex_data_point_V(parent)); + child = parent; + parent = _synctex_tree_parent(child); + _synctex_make_hbox_contain_box(parent, _synctex_data_box_V(child)); +#ifdef SYNCTEX_VERBOSE + synctex_node_log(child); +#endif + } + if (_synctex_next_line(scanner) < SYNCTEX_STATUS_OK) { + _synctex_error("Uncomplete container."); + SYNCTEX_RETURN(SYNCTEX_STATUS_ERROR); + } + goto content_loop; + } + } else if (SYNCTEX_START_SCAN(VOID_VBOX)) { +#ifdef SYNCTEX_NOTHING +#pragma mark + SCAN VOID VBOX +#endif + ns = _synctex_parse_new_void_vbox(scanner); + if (ns.status == SYNCTEX_STATUS_OK) { + if (child) { + _synctex_node_set_sibling(child, ns.node); + } else { + _synctex_node_set_child(parent, ns.node); + } + child = ns.node; +#ifdef SYNCTEX_VERBOSE + synctex_node_log(child); +#endif + input.node = _synctex_input_register_line(input.node, child); + goto content_loop; + } + } else if (SYNCTEX_START_SCAN(VOID_HBOX)) { +#ifdef SYNCTEX_NOTHING +#pragma mark + SCAN VOID HBOX +#endif + ns = _synctex_parse_new_void_hbox(scanner); + if (ns.status == SYNCTEX_STATUS_OK) { + if (_synctex_data_width(ns.node) < 0) { + printf("Negative width\n"); + } + if (child) { + _synctex_node_set_sibling(child, ns.node); + } else { + _synctex_node_set_child(parent, ns.node); + } + child = ns.node; + _synctex_make_hbox_contain_box(parent, _synctex_data_box(child)); +#ifdef SYNCTEX_VERBOSE + synctex_node_log(child); +#endif + input.node = _synctex_input_register_line(input.node, child); + goto content_loop; + } + } else if (SYNCTEX_START_SCAN(KERN)) { +#ifdef SYNCTEX_NOTHING +#pragma mark + SCAN KERN +#endif + ns = _synctex_parse_new_kern(scanner); + /* continue_scan: */ + if (ns.status == SYNCTEX_STATUS_OK) { + if (child) { + _synctex_node_set_sibling(child, ns.node); + } else { + _synctex_node_set_child(parent, ns.node); + } + child = ns.node; + if (!form) { + __synctex_node_make_friend_tlc(child); + } + _synctex_make_hbox_contain_box(parent, _synctex_data_xob(child)); +#ifdef SYNCTEX_VERBOSE + synctex_node_log(child); +#endif + input.node = _synctex_input_register_line(input.node, child); + goto content_loop; + } + } else if (SYNCTEX_START_SCAN(GLUE)) { +#ifdef SYNCTEX_NOTHING +#pragma mark + SCAN GLUE +#endif + ns = _synctex_parse_new_glue(scanner); + if (ns.status == SYNCTEX_STATUS_OK) { + if (child) { + _synctex_node_set_sibling(child, ns.node); + } else { + _synctex_node_set_child(parent, ns.node); + } + child = ns.node; + if (!form) { + __synctex_node_make_friend_tlc(child); + } + _synctex_make_hbox_contain_point(parent, _synctex_data_point(child)); +#ifdef SYNCTEX_VERBOSE + synctex_node_log(child); +#endif + input.node = _synctex_input_register_line(input.node, child); + goto content_loop; + } + } else if (SYNCTEX_START_SCAN(RULE)) { +#ifdef SYNCTEX_NOTHING +#pragma mark + SCAN RULE +#endif + ns = _synctex_parse_new_rule(scanner); + if (ns.status == SYNCTEX_STATUS_OK) { + if (child) { + _synctex_node_set_sibling(child, ns.node); + } else { + _synctex_node_set_child(parent, ns.node); + } + child = ns.node; + if (!form) { + __synctex_node_make_friend_tlc(child); + } + /* Rules are sometimes far too big +_synctex_make_hbox_contain_box(parent,_synctex_data_box(child)); + */ +#ifdef SYNCTEX_VERBOSE + synctex_node_log(child); +#endif + input.node = _synctex_input_register_line(input.node, child); + goto content_loop; + } + } else if (SYNCTEX_START_SCAN(MATH)) { +#ifdef SYNCTEX_NOTHING +#pragma mark + SCAN MATH +#endif + ns = _synctex_parse_new_math(scanner); + if (ns.status == SYNCTEX_STATUS_OK) { + if (child) { + _synctex_node_set_sibling(child, ns.node); + } else { + _synctex_node_set_child(parent, ns.node); + } + child = ns.node; + if (!form) { + __synctex_node_make_friend_tlc(child); + } + _synctex_make_hbox_contain_point(parent, _synctex_data_point(child)); +#ifdef SYNCTEX_VERBOSE + synctex_node_log(child); +#endif + input.node = _synctex_input_register_line(input.node, child); + goto content_loop; + } + } else if (SYNCTEX_START_SCAN(FORM_REF)) { +#ifdef SYNCTEX_NOTHING +#pragma mark + SCAN FORM REF +#endif +#if defined SYNCTEX_DEBUG && SYNCTEX_DEBUG > 500 + synctex_node_display(parent); + synctex_node_display(child); +#endif + ns = _synctex_parse_new_ref(scanner); + if (ns.status == SYNCTEX_STATUS_OK) { + if (child) { + _synctex_node_set_sibling(child, ns.node); + } else { + _synctex_node_set_child(parent, ns.node); + } + child = ns.node; + if (form) { + if (scanner->ref_in_form) { + synctex_tree_set_friend(child, scanner->ref_in_form); + } + scanner->ref_in_form = child; + } else { + if (scanner->ref_in_sheet) { + synctex_tree_set_friend(child, scanner->ref_in_sheet); + } + scanner->ref_in_sheet = child; + } +#ifdef SYNCTEX_VERBOSE + synctex_node_log(child); +#endif + goto content_loop; + } + } else if (SYNCTEX_START_SCAN(BOUNDARY)) { +#ifdef SYNCTEX_NOTHING +#pragma mark + SCAN BOUNDARY +#endif + ns = _synctex_parse_new_boundary(scanner); + if (ns.status == SYNCTEX_STATUS_OK) { + if (child) { + _synctex_node_set_sibling(child, ns.node); + } else { + _synctex_node_set_child(parent, ns.node); + } + child = ns.node; + if (!form) { + __synctex_node_make_friend_tlc(child); + } + _synctex_make_hbox_contain_point(parent, _synctex_data_point(child)); +#ifdef SYNCTEX_VERBOSE + synctex_node_log(child); +#endif + input.node = _synctex_input_register_line(input.node, child); + goto content_loop; + } + } else if (SYNCTEX_START_SCAN(CHARACTER)) { +#ifdef SYNCTEX_NOTHING +#pragma mark + SCAN CHARACTER +#endif + ++SYNCTEX_CUR; + if (_synctex_next_line(scanner) < SYNCTEX_STATUS_OK) { + _synctex_error("Missing end of container."); + SYNCTEX_RETURN(SYNCTEX_STATUS_ERROR); + } + goto content_loop; + } else if (SYNCTEX_START_SCAN(ANCHOR)) { +#ifdef SYNCTEX_NOTHING +#pragma mark + SCAN ANCHOR +#endif + goto scan_anchor; + } else if (SYNCTEX_START_SCAN(END_SHEET)) { + if (sheet && parent == sheet) { +#ifdef SYNCTEX_NOTHING +#pragma mark + SCAN TEEHS +#endif + ++SYNCTEX_CUR; + if (_synctex_next_line(scanner) < SYNCTEX_STATUS_OK) { + _synctex_error("Missing anchor."); + } + parent = sheet = NULL; + goto main_loop; + } + } else if (SYNCTEX_START_SCAN(END_FORM)) { + if (parent == form && form_depth > 0) { +#ifdef SYNCTEX_NOTHING +#pragma mark + SCAN MROF +#endif + ++SYNCTEX_CUR; + --form_depth; + if (_synctex_next_line(scanner) < SYNCTEX_STATUS_OK && (form_depth || sheet)) { + _synctex_error("Missing end of container."); + return SYNCTEX_STATUS_ERROR; + } + if ((parent = _synctex_tree_parent(form))) { + _synctex_tree_reset_parent(form); + child = form; + form = parent; + goto content_loop; + } else if (sheet) { + form = NULL; + parent = sheet; + child = synctex_node_last_sibling(child); + goto content_loop; + } + goto main_loop; + } + } + _synctex_error("Ignored record <%.20s...>(line %i)\n", SYNCTEX_CUR, scanner->reader->line_number + 1); + if (_synctex_next_line(scanner) < SYNCTEX_STATUS_OK) { + _synctex_error("Missing end of sheet/form."); + SYNCTEX_RETURN(SYNCTEX_STATUS_ERROR); + } + goto content_loop; + } + zs = _synctex_buffer_get_available_size(scanner, 1); + if (zs.size == 0) { + _synctex_error("Uncomplete synctex file, postamble missing."); + SYNCTEX_RETURN(SYNCTEX_STATUS_ERROR); + } + goto content_loop; +} +/** + * Replace ref in its tree hierarchy by a single box + * proxy to the contents of the associated form. + * - argument ref: a ref node with no friend + * - return the proxy created. + * - note: Does nothing if ref is not owned. + * - note: On return, ref will have no parent nor sibling. + * The caller is responsible for releasing ref. + * - note: this is where root proxies are created. + * - note: the target of the root proxy is the content + * of a form. + */ +SYNCTEX_INLINE static synctex_ns_s __synctex_replace_ref(synctex_node_p ref) +{ + synctex_ns_s ns = {NULL, SYNCTEX_STATUS_OK}; + synctex_node_p parent; + if ((parent = _synctex_tree_parent(ref))) { + synctex_node_p sibling = __synctex_tree_reset_sibling(ref); + synctex_node_p arg_sibling = synctex_node_arg_sibling(ref); + /* arg_sibling != NULL because the child of a box + * is always a box boundary, not a ref. */ + synctex_node_p target = synctex_form_content(ref->class->scanner, _synctex_data_tag(ref)); + /* The target is a single node (box) + * with children and no siblings. */ + if ((ns.node = __synctex_new_proxy_from_ref_to(ref, target))) { + /* Insert this proxy instead of ref. */ + _synctex_node_set_sibling(arg_sibling, ns.node); + /* Then append the original sibling of ref. */ + _synctex_node_set_sibling(ns.node, sibling); +#if defined(SYNCTEX_USE_CHARINDEX) + if (synctex_node_type(sibling) == synctex_node_type_box_bdry) { + /* The sibling is the last box boundary + * which may have a less accurate information */ + sibling->char_index = arg_sibling->char_index; + sibling->line_index = arg_sibling->line_index; + } +#endif +#if defined SYNCTEX_DEBUG && SYNCTEX_DEBUG > 500 + printf("! Ref replacement:\n"); + synctex_node_log(ref); + synctex_node_display(synctex_node_sibling(ref)); +#endif + } else /* simply remove ref */ { + _synctex_tree_set_sibling(arg_sibling, sibling); + } + __synctex_tree_reset_parent(ref); + } else { + _synctex_error( + "! Missing parent in __synctex_replace_ref. " + "Please report."); + ns.status = SYNCTEX_STATUS_BAD_ARGUMENT; + } + return ns; +} +/** + * - argument ref: is the starting point of a linked list + * of refs. The link is made through the friend field. + * - returns: the status and the list of all the proxies + * created. The link is made through the friend field. + * - note: All refs are freed + */ +SYNCTEX_INLINE static synctex_ns_s _synctex_post_process_ref(synctex_node_p ref) +{ + synctex_ns_s ns = {NULL, SYNCTEX_STATUS_OK}; + while (ref) { + synctex_node_p next_ref = _synctex_tree_reset_friend(ref); + synctex_ns_s sub_ns = __synctex_replace_ref(ref); + if (sub_ns.status < ns.status) { + ns.status = sub_ns.status; + } else { + /* Insert all the created proxies in the list + * sub_ns.node is the last friend, + */ + synctex_tree_set_friend(sub_ns.node, ns.node); + ns.node = sub_ns.node; + } + synctex_node_free(ref); + ref = next_ref; + } + return ns; +} +typedef synctex_node_p (*synctex_processor_f)(synctex_node_p node); +/** + * Apply the processor f to the tree hierarchy rooted at proxy. + * proxy has replaced a form ref, no children yet. + * As a side effect all the hierarchy of nodes will be created. + */ +SYNCTEX_INLINE static synctex_status_t _synctex_post_process_proxy(synctex_node_p proxy, synctex_processor_f f) +{ + while (proxy) { + synctex_node_p next_proxy = _synctex_tree_friend(proxy); + synctex_node_p halt = __synctex_tree_sibling(proxy); + /* if proxy is the last sibling, halt is NULL. + * Find what should be a next node, + * without creating new nodes. */ + if (!halt) { + synctex_node_p parent = _synctex_tree_parent(proxy); + halt = __synctex_tree_sibling(parent); + while (!halt && parent) { + parent = _synctex_tree_parent(parent); + halt = __synctex_tree_sibling(parent); + } + } + do { +#if defined SYNCTEX_DEBUG && SYNCTEX_DEBUG > 500 + printf("POST PROCESSING %s\n", _synctex_node_abstract(proxy)); + { + int i, j = 0; + for (i = 0; i < proxy->class->scanner->number_of_lists; ++i) { + synctex_node_p N = proxy->class->scanner->lists_of_friends[i]; + do { + if (N == proxy) { + ++j; + printf("%s", _synctex_node_abstract(N)); + } + } while ((N = _synctex_tree_friend(N))); + } + if (j) { + printf("\nBeforehand %i match\n", j); + } + } +#endif + f(proxy); +#if defined SYNCTEX_DEBUG && SYNCTEX_DEBUG > 500 + { + int i, j = 0; + for (i = 0; i < proxy->class->scanner->number_of_lists; ++i) { + synctex_node_p N = proxy->class->scanner->lists_of_friends[i]; + do { + if (N == proxy) { + ++j; + printf("%s", _synctex_node_abstract(N)); + } + } while ((N = _synctex_tree_friend(N))); + } + if (j) { + printf("\n%i match\n", j); + } + } +#endif + /* Side effect: create the hierarchy on the fly */ + proxy = synctex_node_next(proxy); /* Change is here */ +#if defined SYNCTEX_DEBUG && SYNCTEX_DEBUG > 500 + if (proxy) { + int i, j = 0; + for (i = 0; i < proxy->class->scanner->number_of_lists; ++i) { + synctex_node_p N = proxy->class->scanner->lists_of_friends[i]; + do { + if (N == proxy) { + ++j; + printf("%s", _synctex_node_abstract(N)); + } + } while ((N = _synctex_tree_friend(N))); + } + if (j) { + printf("\nnext %i match\n", j); + } + } +#endif + } while (proxy && proxy != halt); + proxy = next_proxy; + } + return SYNCTEX_STATUS_OK; +} +/** + * Replace all the form refs by root box proxies. + * Create the node hierarchy and update the friends. + * On entry, the refs are collected as a friend list + * in either a form or a sheet + * - parameter: the owning scanner + */ +SYNCTEX_INLINE static synctex_status_t _synctex_post_process(synctex_scanner_p scanner) +{ + synctex_status_t status = SYNCTEX_STATUS_OK; + synctex_ns_s ns = {NULL, SYNCTEX_STATUS_NOT_OK}; +#if defined SYNCTEX_DEBUG && SYNCTEX_DEBUG > 500 + printf("! entering _synctex_post_process.\n"); + synctex_node_display(scanner->sheet); + synctex_node_display(scanner->form); +#endif + /* replace form refs inside forms by box proxies */ + ns = _synctex_post_process_ref(scanner->ref_in_form); + scanner->ref_in_form = NULL; /* it was just released */ + if (ns.status < status) { + status = ns.status; + } +#if defined SYNCTEX_DEBUG && SYNCTEX_DEBUG > 500 + printf("! ref replaced in form _synctex_post_process.\n"); + synctex_node_display(scanner->form); +#endif + /* Create all the form proxy nodes on the fly. + * ns.node is the root of the list of + * newly created proxies. + * There might be a problem with cascading proxies. + * In order to be properly managed, the data must + * be organized in the right way. + * The inserted form must be defined before + * the inserting one. *TeX will take care of that. */ + ns.status = _synctex_post_process_proxy(ns.node, &_synctex_tree_reset_friend); + if (ns.status < status) { + status = ns.status; + } + /* replace form refs inside sheets by box proxies */ + ns = _synctex_post_process_ref(scanner->ref_in_sheet); + if (ns.status < status) { + status = ns.status; + } + scanner->ref_in_sheet = NULL; +#if defined SYNCTEX_DEBUG && SYNCTEX_DEBUG > 500 + printf("! ref replaced in sheet _synctex_post_process.\n"); + synctex_node_display(scanner->sheet); +#endif + +#if defined SYNCTEX_DEBUG && SYNCTEX_DEBUG > 10000 + { + int i; + for (i = 0; i < scanner->number_of_lists; ++i) { + synctex_node_p P = scanner->lists_of_friends[i]; + int j = 0; + while (P) { + ++j; + synctex_node_log(P); + P = _synctex_tree_friend(P); + } + if (j) { + printf("friends %i -> # %i\n", i, j); + } + } + } +#endif + ns.status = _synctex_post_process_proxy(ns.node, &__synctex_proxy_make_friend_and_next_hbox); + if (ns.status < status) { + status = ns.status; + } +#if defined SYNCTEX_DEBUG && SYNCTEX_DEBUG > 500 + printf("! exiting _synctex_post_process.\n"); + synctex_node_display(scanner->sheet); + synctex_node_display(scanner->form); + printf("! display all.\n"); + synctex_node_display(scanner->sheet); + synctex_node_display(scanner->form); +#endif + return status; +} +/* Used when parsing the synctex file + */ +static synctex_status_t _synctex_scan_content(synctex_scanner_p scanner) +{ + scanner->reader->lastv = -1; + synctex_status_t status = 0; + if (NULL == scanner) { + return SYNCTEX_STATUS_BAD_ARGUMENT; + } + /* Find where this section starts */ +content_not_found: + status = _synctex_match_string(scanner, "Content:"); + if (status < SYNCTEX_STATUS_EOF) { + return status; + } + if (_synctex_next_line(scanner) < SYNCTEX_STATUS_OK) { + _synctex_error("Uncomplete Content."); + return SYNCTEX_STATUS_ERROR; + } + if (status == SYNCTEX_STATUS_NOT_OK) { + goto content_not_found; + } + status = __synctex_parse_sfi(scanner); + if (status == SYNCTEX_STATUS_OK) { + status = _synctex_post_process(scanner); + } + return status; +} +synctex_scanner_p synctex_scanner_new() +{ + synctex_scanner_p scanner = (synctex_scanner_p)_synctex_malloc(sizeof(synctex_scanner_s)); + if (scanner) { + if (!(scanner->reader = _synctex_malloc(sizeof(synctex_reader_s)))) { + _synctex_free(scanner); + return NULL; + } +#ifdef SYNCTEX_NOTHING +#pragma mark - +#endif +#define DEFINE_synctex_scanner_class(NAME) \ + scanner->class[synctex_node_type_##NAME] = synctex_class_##NAME; \ + (scanner->class[synctex_node_type_##NAME]).scanner = scanner + DEFINE_synctex_scanner_class(input); + DEFINE_synctex_scanner_class(sheet); + DEFINE_synctex_scanner_class(form); + DEFINE_synctex_scanner_class(hbox); + DEFINE_synctex_scanner_class(void_hbox); + DEFINE_synctex_scanner_class(vbox); + DEFINE_synctex_scanner_class(void_vbox); + DEFINE_synctex_scanner_class(kern); + DEFINE_synctex_scanner_class(glue); + DEFINE_synctex_scanner_class(rule); + DEFINE_synctex_scanner_class(math); + DEFINE_synctex_scanner_class(boundary); + DEFINE_synctex_scanner_class(box_bdry); + DEFINE_synctex_scanner_class(ref); + DEFINE_synctex_scanner_class(proxy_hbox); + DEFINE_synctex_scanner_class(proxy_vbox); + DEFINE_synctex_scanner_class(proxy); + DEFINE_synctex_scanner_class(proxy_last); + DEFINE_synctex_scanner_class(handle); + /* set up the lists of friends */ + scanner->number_of_lists = 1024; + scanner->lists_of_friends = (synctex_node_r)_synctex_malloc(scanner->number_of_lists * sizeof(synctex_node_p)); + if (NULL == scanner->lists_of_friends) { + synctex_scanner_free(scanner); + _synctex_error("malloc:2"); + return NULL; + } + scanner->display_switcher = 100; + scanner->display_prompt = (char *)_synctex_display_prompt + strlen(_synctex_display_prompt) - 1; + } + return scanner; +} +/* Where the synctex scanner is created. */ +synctex_scanner_p synctex_scanner_new_with_output_file(const char *output, const char *build_directory, int parse) +{ + synctex_scanner_p scanner = synctex_scanner_new(); + if (NULL == scanner) { + _synctex_error("malloc problem"); + return NULL; + } + if ((scanner->reader = synctex_reader_init_with_output_file(scanner->reader, output, build_directory))) { + return parse ? synctex_scanner_parse(scanner) : scanner; + } +#if defined(SYNCTEX_DEBUG) + _synctex_error("No file?"); +#endif + synctex_scanner_free(scanner); + return NULL; +} + +/* The scanner destructor + */ +int synctex_scanner_free(synctex_scanner_p scanner) +{ + int node_count = 0; + if (scanner) { + if (scanner->reader && SYNCTEX_FILE) { + gzclose(SYNCTEX_FILE); + SYNCTEX_FILE = NULL; + } + synctex_node_free(scanner->sheet); + synctex_node_free(scanner->form); + synctex_node_free(scanner->input); + synctex_reader_free(scanner->reader); + SYNCTEX_SCANNER_FREE_HANDLE(scanner); + synctex_iterator_free(scanner->iterator); + free(scanner->output_fmt); + free(scanner->lists_of_friends); +#if defined SYNCTEX_USE_NODE_COUNT && SYNCTEX_USE_NODE_COUNT > 0 + node_count = scanner->node_count; +#endif + free(scanner); + } + return node_count; +} + +/* Where the synctex scanner parses the contents of the file. */ +synctex_scanner_p synctex_scanner_parse(synctex_scanner_p scanner) +{ + synctex_status_t status = 0; + if (!scanner || scanner->flags.has_parsed) { + return scanner; + } + scanner->flags.has_parsed = 1; + scanner->pre_magnification = 1000; + scanner->pre_unit = 8192; + scanner->pre_x_offset = scanner->pre_y_offset = 578; + /* initialize the offset with a fake unprobable value, + * If there is a post scriptum section, this value will be overridden by the real life value */ + scanner->x_offset = scanner->y_offset = 6.027e23f; + scanner->reader->line_number = 1; + + /* TODO: cleanup + * In some (all?) cases SYNCTEX_START is already initialized + * in synctex_reader_init_with_output_file(). Much of the + * following code seems like a duplicate and is perhaps a + * candidate for deletion. To be on the safe side though, we + * keep it for now and just free() any prior malloc() if + * existing. */ + _synctex_free(SYNCTEX_START); + + SYNCTEX_START = (char *)malloc(SYNCTEX_BUFFER_SIZE + 1); /* one more character for null termination */ + if (NULL == SYNCTEX_START) { + _synctex_error("! malloc error in synctex_scanner_parse."); + bailey: +#ifdef SYNCTEX_DEBUG + return scanner; +#else + synctex_scanner_free(scanner); + return NULL; +#endif + } + synctex_scanner_set_display_switcher(scanner, 1000); + SYNCTEX_END = SYNCTEX_START + SYNCTEX_BUFFER_SIZE; + /* SYNCTEX_END always points to a null terminating character. + * Maybe there is another null terminating character between SYNCTEX_CUR and SYNCTEX_END-1. + * At least, we are sure that SYNCTEX_CUR points to a string covering a valid part of the memory. */ + *SYNCTEX_END = '\0'; + SYNCTEX_CUR = SYNCTEX_END; +#if defined(SYNCTEX_USE_CHARINDEX) + scanner->reader->charindex_offset = -SYNCTEX_BUFFER_SIZE; +#endif + status = _synctex_scan_preamble(scanner); + if (status < SYNCTEX_STATUS_OK) { + _synctex_error("Bad preamble\n"); + goto bailey; + } + status = _synctex_scan_content(scanner); + if (status < SYNCTEX_STATUS_OK) { + _synctex_error("Bad content\n"); + goto bailey; + } + status = _synctex_scan_postamble(scanner); + if (status < SYNCTEX_STATUS_OK) { + _synctex_error("Bad postamble. Ignored\n"); + } +#if defined SYNCTEX_DEBUG && SYNCTEX_DEBUG > 500 + synctex_scanner_set_display_switcher(scanner, 100); + synctex_node_display(scanner->sheet); + synctex_node_display(scanner->form); +#endif + synctex_scanner_set_display_switcher(scanner, 1000); + /* Everything is finished, free the buffer, close the file */ + free((void *)SYNCTEX_START); + SYNCTEX_START = SYNCTEX_CUR = SYNCTEX_END = NULL; + gzclose(SYNCTEX_FILE); + SYNCTEX_FILE = NULL; + /* Final tuning: set the default values for various parameters */ + /* 1 pre_unit = (scanner->pre_unit)/65536 pt = (scanner->pre_unit)/65781.76 bp + * 1 pt = 65536 sp */ + if (scanner->pre_unit <= 0) { + scanner->pre_unit = 8192; + } + if (scanner->pre_magnification <= 0) { + scanner->pre_magnification = 1000; + } + if (scanner->unit <= 0) { + /* no post magnification */ + scanner->unit = scanner->pre_unit / 65781.76; /* 65781.76 or 65536.0*/ + } else { + /* post magnification */ + scanner->unit *= scanner->pre_unit / 65781.76; + } + scanner->unit *= scanner->pre_magnification / 1000.0; + if (scanner->x_offset > 6e23) { + /* no post offset */ + scanner->x_offset = scanner->pre_x_offset * (scanner->pre_unit / 65781.76); + scanner->y_offset = scanner->pre_y_offset * (scanner->pre_unit / 65781.76); + } else { + /* post offset */ + scanner->x_offset /= 65781.76f; + scanner->y_offset /= 65781.76f; + } + return scanner; +#undef SYNCTEX_FILE +} + +/* Scanner accessors. + */ +int synctex_scanner_pre_x_offset(synctex_scanner_p scanner) +{ + return scanner ? scanner->pre_x_offset : 0; +} +int synctex_scanner_pre_y_offset(synctex_scanner_p scanner) +{ + return scanner ? scanner->pre_y_offset : 0; +} +int synctex_scanner_x_offset(synctex_scanner_p scanner) +{ + return scanner ? scanner->x_offset : 0; +} +int synctex_scanner_y_offset(synctex_scanner_p scanner) +{ + return scanner ? scanner->y_offset : 0; +} +float synctex_scanner_magnification(synctex_scanner_p scanner) +{ + return scanner ? scanner->unit : 1; +} +void synctex_scanner_display(synctex_scanner_p scanner) +{ + if (NULL == scanner) { + return; + } + printf("The scanner:\noutput:%s\noutput_fmt:%s\nversion:%i\n", scanner->reader->output, scanner->output_fmt, scanner->version); + printf("pre_unit:%i\nx_offset:%i\ny_offset:%i\n", scanner->pre_unit, scanner->pre_x_offset, scanner->pre_y_offset); + printf("count:%i\npost_magnification:%f\npost_x_offset:%f\npost_y_offset:%f\n", scanner->count, scanner->unit, scanner->x_offset, scanner->y_offset); + printf("The input:\n"); + synctex_node_display(scanner->input); + if (scanner->count < 1000) { + printf("The sheets:\n"); + synctex_node_display(scanner->sheet); + printf("The friends:\n"); + if (scanner->lists_of_friends) { + int i = scanner->number_of_lists; + synctex_node_p node; + while (i--) { + printf("Friend index:%i\n", i); + node = (scanner->lists_of_friends)[i]; + while (node) { + printf("%s:%i,%i\n", synctex_node_isa(node), _synctex_data_tag(node), _synctex_data_line(node)); + node = _synctex_tree_friend(node); + } + } + } + } else { + printf("SyncTeX Warning: Too many objects\n"); + } +} +/* Public */ +const char *synctex_scanner_get_name(synctex_scanner_p scanner, int tag) +{ + synctex_node_p input = NULL; + if (NULL == scanner) { + return NULL; + } + if ((input = scanner->input)) { + ; + do { + if (tag == _synctex_data_tag(input)) { + return (_synctex_data_name(input)); + } + } while ((input = __synctex_tree_sibling(input))); + } + return NULL; +} +const char *synctex_node_get_name(synctex_node_p node) +{ + if (node) { + return synctex_scanner_get_name(node->class->scanner, _synctex_data_tag(node)); + } + return NULL; +} + +static int _synctex_scanner_get_tag(synctex_scanner_p scanner, const char *name); +static int _synctex_scanner_get_tag(synctex_scanner_p scanner, const char *name) +{ + synctex_node_p input = NULL; + if (NULL == scanner) { + return 0; + } + if ((input = scanner->input)) { + do { + if (_synctex_is_equivalent_file_name(name, (_synctex_data_name(input)))) { + return _synctex_data_tag(input); + } + } while ((input = __synctex_tree_sibling(input))); + } + /* 2011 version */ + name = _synctex_base_name(name); + if ((input = scanner->input)) { + do { + if (_synctex_is_equivalent_file_name(name, _synctex_base_name(_synctex_data_name(input)))) { + synctex_node_p other_input = input; + while ((other_input = __synctex_tree_sibling(other_input))) { + if (_synctex_is_equivalent_file_name(name, _synctex_base_name(_synctex_data_name(other_input))) && + (strlen(_synctex_data_name(input)) != strlen(_synctex_data_name(other_input)) || strncmp(_synctex_data_name(other_input), _synctex_data_name(input), strlen(_synctex_data_name(input))))) { + /* There is a second possible candidate */ + return 0; + } + } + return _synctex_data_tag(input); + } + } while ((input = __synctex_tree_sibling(input))); + } + return 0; +} + +int synctex_scanner_get_tag(synctex_scanner_p scanner, const char *name) +{ + size_t char_index = strlen(name); + if ((scanner = synctex_scanner_parse(scanner)) && (0 < char_index)) { + /* the name is not void */ + char_index -= 1; + if (!SYNCTEX_IS_PATH_SEPARATOR(name[char_index])) { + /* the last character of name is not a path separator */ + int result = _synctex_scanner_get_tag(scanner, name); + if (result) { + return result; + } else { + /* the given name was not the one known by TeX + * try a name relative to the enclosing directory of the scanner->output file */ + const char *relative = name; + const char *ptr = scanner->reader->output; + while ((strlen(relative) > 0) && (strlen(ptr) > 0) && (*relative == *ptr)) { + relative += 1; + ptr += 1; + } + /* Find the last path separator before relative */ + while (relative > name) { + if (SYNCTEX_IS_PATH_SEPARATOR(*(relative - 1))) { + break; + } + relative -= 1; + } + if ((relative > name) && (result = _synctex_scanner_get_tag(scanner, relative))) { + return result; + } + if (SYNCTEX_IS_PATH_SEPARATOR(name[0])) { + /* No tag found for the given absolute name, + * Try each relative path starting from the shortest one */ + while (0 < char_index) { + char_index -= 1; + if (SYNCTEX_IS_PATH_SEPARATOR(name[char_index]) && (result = _synctex_scanner_get_tag(scanner, name + char_index + 1))) { + return result; + } + } + } + } + return result; + } + } + return 0; +} +synctex_node_p synctex_scanner_input(synctex_scanner_p scanner) +{ + return scanner ? scanner->input : NULL; +} +synctex_node_p synctex_scanner_input_with_tag(synctex_scanner_p scanner, int tag) +{ + synctex_node_p input = scanner ? scanner->input : NULL; + while (_synctex_data_tag(input) != tag) { + if ((input = __synctex_tree_sibling(input))) { + continue; + } + break; + } + return input; +} +const char *synctex_scanner_get_output_fmt(synctex_scanner_p scanner) +{ + return NULL != scanner && scanner->output_fmt ? scanner->output_fmt : ""; +} +const char *synctex_scanner_get_output(synctex_scanner_p scanner) +{ + return NULL != scanner && scanner->reader->output ? scanner->reader->output : ""; +} +const char *synctex_scanner_get_synctex(synctex_scanner_p scanner) +{ + return NULL != scanner && scanner->reader->synctex ? scanner->reader->synctex : ""; +} +#ifdef SYNCTEX_NOTHING +#pragma mark - +#pragma mark Public node attributes +#endif + +#define SYNCTEX_DEFINE_NODE_HVWHD(WHAT) \ + int synctex_node_##WHAT(synctex_node_p node) \ + { \ + return (node && node->class->inspector->WHAT) ? node->class->inspector->WHAT(node) : 0; \ + } +#define SYNCTEX_DEFINE_PROXY_HV(WHAT) \ + static int _synctex_proxy_##WHAT(synctex_proxy_p proxy) \ + { \ + synctex_node_p target = _synctex_tree_target(proxy); \ + if (target) { \ + return _synctex_data_##WHAT(proxy) + synctex_node_##WHAT(target); \ + } else { \ + return proxy ? _synctex_data_##WHAT(proxy) : 0; \ + } \ + } +#define SYNCTEX_DEFINE_PROXY_TLCWVD(WHAT) \ + static int _synctex_proxy_##WHAT(synctex_proxy_p proxy) \ + { \ + synctex_node_p target = _synctex_tree_target(proxy); \ + return target ? synctex_node_##WHAT(target) : 0; \ + } + +/** + * The horizontal location of the node. + * Idem for v, width, height and depth. + * - parameter node: a node with geometrical information. + * - returns: an integer. + * - requires: every proxy node has a target. + * - note: recursive call if the parameter has a proxy. + * - author: JL + */ +SYNCTEX_DEFINE_NODE_HVWHD(h) +SYNCTEX_DEFINE_NODE_HVWHD(v) +SYNCTEX_DEFINE_NODE_HVWHD(width) +SYNCTEX_DEFINE_NODE_HVWHD(height) +SYNCTEX_DEFINE_NODE_HVWHD(depth) +SYNCTEX_DEFINE_PROXY_TLCWVD(tag) +SYNCTEX_DEFINE_PROXY_TLCWVD(line) +SYNCTEX_DEFINE_PROXY_TLCWVD(column) +SYNCTEX_DEFINE_PROXY_HV(h) +SYNCTEX_DEFINE_PROXY_HV(v) +SYNCTEX_DEFINE_PROXY_TLCWVD(width) +SYNCTEX_DEFINE_PROXY_TLCWVD(height) +SYNCTEX_DEFINE_PROXY_TLCWVD(depth) + +/** + * Whether the argument is a box, + * either vertical or horizontal, + * either void or not, + * or a proxy to such a box. + * - parameter NODE: of type synctex_node_p + * - returns: yorn + */ + +SYNCTEX_INLINE static synctex_bool_t _synctex_node_is_box(synctex_node_p node) +{ + return node && + (node->class->type == synctex_node_type_hbox || node->class->type == synctex_node_type_void_hbox || node->class->type == synctex_node_type_vbox || node->class->type == synctex_node_type_void_vbox || + _synctex_node_is_box(_synctex_tree_target(node))); +} + +/** + * Whether the argument is a handle. + * Handles are similar to proxies because they have a target. + * They are used for query results. + * - parameter NODE: of type synctex_node_p + * - returns: yorn + */ + +SYNCTEX_INLINE static synctex_bool_t _synctex_node_is_handle(synctex_node_p node) +{ + return node && (node->class->type == synctex_node_type_handle); +} + +/** + * Resolves handle indirection. + * - parameter node: of type synctex_node_p + * - returns: node if it is not a handle, + * its target otherwise. + */ + +SYNCTEX_INLINE static synctex_node_p _synctex_node_or_handle_target(synctex_node_p node) +{ + return _synctex_node_is_handle(node) ? _synctex_tree_target(node) : node; +} + +/** + * Whether the argument is an hbox. + * - parameter NODE: of type synctex_node_p + * - returns: yorn + */ + +SYNCTEX_INLINE static synctex_bool_t _synctex_node_is_hbox(synctex_node_p node) +{ + return node && (node->class->type == synctex_node_type_hbox || node->class->type == synctex_node_type_void_hbox || _synctex_node_is_hbox(_synctex_tree_target(node))); +} + +/** + * The horizontal location of the first box enclosing node. + * - parameter node: a node with geometrical information. + * - returns: an integer. + * - author: JL + */ +int synctex_node_box_h(synctex_node_p node) +{ + if (_synctex_node_is_box(node) || (node = _synctex_tree_parent(node))) { + return synctex_node_h(node); + } + return 0; +} +/** + * The vertical location of the first box enclosing node. + * - parameter node: a node with geometrical information. + * - returns: an integer. + * - author: JL + */ +int synctex_node_box_v(synctex_node_p node) +{ + if (_synctex_node_is_box(node) || (node = _synctex_tree_parent(node))) { + return synctex_node_v(node); + } + return 0; +} +/** + * The width of the first box enclosing node. + * - parameter node: a node with geometrical information. + * - returns: an integer. + * - author: JL + */ +int synctex_node_box_width(synctex_node_p node) +{ + if (_synctex_node_is_box(node) || (node = _synctex_tree_parent(node))) { + return synctex_node_width(node); + } + return 0; +} +/** + * The height of the first box enclosing node. + * - parameter node: a node with geometrical information. + * - returns: an integer. + * - author: JL + */ +int synctex_node_box_height(synctex_node_p node) +{ + if (_synctex_node_is_box(node) || (node = _synctex_tree_parent(node))) { + return synctex_node_height(node); + } + return 0; +} +/** + * The depth of the first box enclosing node. + * - parameter node: a node with geometrical information. + * - returns: an integer. + * - author: JL + */ +int synctex_node_box_depth(synctex_node_p node) +{ + if (_synctex_node_is_box(node) || (node = _synctex_tree_parent(node))) { + return synctex_node_depth(node); + } + return 0; +} +/** + * The horizontal location of an hbox, corrected with contents. + * - parameter node: an hbox node. + * - returns: an integer, 0 if node is not an hbox or an hbox proxy. + * - note: recursive call when node is an hbox proxy. + * - author: JL + */ +int synctex_node_hbox_h(synctex_node_p node) +{ + switch (synctex_node_type(node)) { + case synctex_node_type_hbox: + return _synctex_data_h_V(node); + case synctex_node_type_proxy_hbox: + return _synctex_data_h(node) + synctex_node_hbox_h(_synctex_tree_target(node)); + default: + return 0; + } +} +/** + * The vertical location of an hbox, corrected with contents. + * - parameter node: an hbox node. + * - returns: an integer, 0 if node is not an hbox or an hbox proxy. + * - note: recursive call when node is an hbox proxy. + * - author: JL + */ +int synctex_node_hbox_v(synctex_node_p node) +{ + switch (synctex_node_type(node)) { + case synctex_node_type_hbox: + return _synctex_data_v_V(node); + case synctex_node_type_proxy_hbox: + return _synctex_data_v(node) + synctex_node_hbox_v(_synctex_tree_target(node)); + default: + return 0; + } +} +/** + * The width of an hbox, corrected with contents. + * - parameter node: an hbox node, 0 if node is not an hbox or an hbox proxy. + * - returns: an integer. + * - author: JL + */ +int synctex_node_hbox_width(synctex_node_p node) +{ + synctex_node_p target = _synctex_tree_target(node); + if (target) { + node = target; + } + return synctex_node_type(node) == synctex_node_type_hbox ? _synctex_data_width_V(node) : 0; +} +/** + * The height of an hbox, corrected with contents. + * - parameter node: an hbox node. + * - returns: an integer, 0 if node is not an hbox or an hbox proxy. + * - author: JL + */ +int synctex_node_hbox_height(synctex_node_p node) +{ + synctex_node_p target = _synctex_tree_target(node); + if (target) { + node = target; + } + return synctex_node_type(node) == synctex_node_type_hbox ? _synctex_data_height_V(node) : 0; +} +/** + * The depth of an hbox, corrected with contents. + * - parameter node: an hbox node. + * - returns: an integer, 0 if node is not an hbox or an hbox proxy. + * - note: recursive call when node is an hbox proxy. + * - author: JL + */ +int synctex_node_hbox_depth(synctex_node_p node) +{ + synctex_node_p target = _synctex_tree_target(node); + if (target) { + node = target; + } + return synctex_node_type(node) == synctex_node_type_hbox ? _synctex_data_depth_V(node) : 0; +} +#ifdef SYNCTEX_NOTHING +#pragma mark - +#pragma mark Public node visible attributes +#endif + +#define SYNCTEX_VISIBLE_SIZE(node, s) (s) * node->class->scanner->unit +#define SYNCTEX_VISIBLE_DISTANCE_h(node, d) ((d) * node->class->scanner->unit + node->class->scanner->x_offset) +#define SYNCTEX_VISIBLE_DISTANCE_v(node, d) ((d) * node->class->scanner->unit + node->class->scanner->y_offset) +static float __synctex_node_visible_h(synctex_node_p node) +{ + return SYNCTEX_VISIBLE_DISTANCE_h(node, synctex_node_h(node)); +} +static float __synctex_node_visible_v(synctex_node_p node) +{ + return SYNCTEX_VISIBLE_DISTANCE_v(node, synctex_node_v(node)); +} +static float __synctex_node_visible_width(synctex_node_p node) +{ + return SYNCTEX_VISIBLE_SIZE(node, synctex_node_width(node)); +} +static float __synctex_node_visible_height(synctex_node_p node) +{ + return SYNCTEX_VISIBLE_SIZE(node, synctex_node_height(node)); +} +static float __synctex_node_visible_depth(synctex_node_p node) +{ + return SYNCTEX_VISIBLE_SIZE(node, synctex_node_depth(node)); +} +static float __synctex_proxy_visible_h(synctex_node_p node) +{ + return SYNCTEX_VISIBLE_DISTANCE_h(node, synctex_node_h(node)); +} +static float __synctex_proxy_visible_v(synctex_node_p node) +{ + return SYNCTEX_VISIBLE_DISTANCE_v(node, synctex_node_v(node)); +} +static float __synctex_proxy_visible_width(synctex_node_p node) +{ + synctex_node_p target = _synctex_tree_target(node); + return __synctex_node_visible_width(target); +} +static float __synctex_proxy_visible_height(synctex_node_p node) +{ + synctex_node_p target = _synctex_tree_target(node); + return __synctex_node_visible_height(target); +} +static float __synctex_proxy_visible_depth(synctex_node_p node) +{ + synctex_node_p target = _synctex_tree_target(node); + return __synctex_node_visible_depth(target); +} +static float __synctex_kern_visible_h(synctex_noxy_p noxy) +{ + int h = _synctex_data_h(noxy); + int width = _synctex_data_width(noxy); + return SYNCTEX_VISIBLE_DISTANCE_h(noxy, width > 0 ? h - width : h); +} +static float __synctex_kern_visible_width(synctex_noxy_p noxy) +{ + int width = _synctex_data_width(noxy); + return SYNCTEX_VISIBLE_SIZE(noxy, width > 0 ? width : -width); +} +static float __synctex_rule_visible_h(synctex_noxy_p noxy) +{ + int h = _synctex_data_h(noxy); + int width = _synctex_data_width(noxy); + return SYNCTEX_VISIBLE_DISTANCE_h(noxy, width > 0 ? h : h - width); +} +static float __synctex_rule_visible_width(synctex_noxy_p noxy) +{ + int width = _synctex_data_width(noxy); + return SYNCTEX_VISIBLE_SIZE(noxy, width > 0 ? width : -width); +} +static float __synctex_rule_visible_v(synctex_noxy_p noxy) +{ + return __synctex_node_visible_v(noxy); +} +static float __synctex_rule_visible_height(synctex_noxy_p noxy) +{ + return __synctex_node_visible_height(noxy); +} +static float __synctex_rule_visible_depth(synctex_noxy_p noxy) +{ + return __synctex_node_visible_depth(noxy); +} + +/** + * The horizontal location of node, in page coordinates. + * - parameter node: a node. + * - returns: a float. + * - author: JL + */ +float synctex_node_visible_h(synctex_node_p node) +{ + return node ? node->class->vispector->h(node) : 0; +} +/** + * The vertical location of node, in page coordinates. + * - parameter node: a node. + * - returns: a float. + * - author: JL + */ +float synctex_node_visible_v(synctex_node_p node) +{ + return node ? node->class->vispector->v(node) : 0; +} +/** + * The width of node, in page coordinates. + * - parameter node: a node. + * - returns: a float. + * - author: JL + */ +float synctex_node_visible_width(synctex_node_p node) +{ + return node ? node->class->vispector->width(node) : 0; +} +/** + * The height of node, in page coordinates. + * - parameter node: a node. + * - returns: a float. + * - author: JL + */ +float synctex_node_visible_height(synctex_node_p node) +{ + return node ? node->class->vispector->height(node) : 0; +} +/** + * The depth of node, in page coordinates. + * - parameter node: a node. + * - returns: a float. + * - author: JL + */ +float synctex_node_visible_depth(synctex_node_p node) +{ + return node ? node->class->vispector->depth(node) : 0; +} + +/** + * The V variant of geometrical information. + * - parameter node: a node. + * - returns: an integer. + * - author: JL + */ +#define SYNCTEX_DEFINE_V(WHAT) \ + SYNCTEX_INLINE static int _synctex_node_##WHAT##_V(synctex_node_p node) \ + { \ + synctex_node_p target = _synctex_tree_target(node); \ + if (target) { \ + return _synctex_data_##WHAT(node) + _synctex_node_##WHAT##_V(target); \ + } else if (_synctex_data_has_##WHAT##_V(node)) { \ + return _synctex_data_##WHAT##_V(node); \ + } else { \ + return _synctex_data_##WHAT(node); \ + } \ + } +SYNCTEX_DEFINE_V(h) +SYNCTEX_DEFINE_V(v) +SYNCTEX_DEFINE_V(width) +SYNCTEX_DEFINE_V(height) +SYNCTEX_DEFINE_V(depth) + +SYNCTEX_INLINE static synctex_point_s _synctex_data_point(synctex_node_p node) +{ + return (synctex_point_s) {synctex_node_h(node), synctex_node_v(node)}; +} +SYNCTEX_INLINE static synctex_point_s _synctex_data_point_V(synctex_node_p node) +{ + return (synctex_point_s) {_synctex_node_h_V(node), _synctex_node_v_V(node)}; +} +SYNCTEX_INLINE static synctex_point_s _synctex_data_set_point(synctex_node_p node, synctex_point_s point) +{ + synctex_point_s old = _synctex_data_point(node); + _synctex_data_set_h(node, point.h); + _synctex_data_set_v(node, point.v); + return old; +} +SYNCTEX_INLINE static synctex_box_s _synctex_data_box(synctex_node_p node) +{ + synctex_box_s box = {{0, 0}, {0, 0}}; + int n; + n = synctex_node_width(node); + if (n < 0) { + box.max.h = synctex_node_h(node); + box.min.h = box.max.h + n; + } else { + box.min.h = synctex_node_h(node); + box.max.h = box.min.h + n; + } + n = synctex_node_v(node); + box.min.v = n - synctex_node_height(node); + box.max.v = n + synctex_node_depth(node); + return box; +} +SYNCTEX_INLINE static synctex_box_s _synctex_data_xob(synctex_node_p node) +{ + synctex_box_s box = {{0, 0}, {0, 0}}; + int n; + n = synctex_node_width(node); + if (n > 0) { + box.max.h = synctex_node_h(node); + box.min.h = box.max.h - n; + } else { + box.min.h = synctex_node_h(node); + box.max.h = box.min.h - n; + } + n = synctex_node_v(node); + box.min.v = n - synctex_node_height(node); + box.max.v = n + synctex_node_depth(node); + return box; +} +SYNCTEX_INLINE static synctex_box_s _synctex_data_box_V(synctex_node_p node) +{ + synctex_box_s box = {{0, 0}, {0, 0}}; + int n; + n = _synctex_node_width_V(node); + if (n < 0) { + box.max.h = _synctex_node_h_V(node); + box.min.h = box.max.h + n; + } else { + box.min.h = _synctex_node_h_V(node); + box.max.h = box.min.h + n; + } + n = _synctex_node_v_V(node); + box.min.v = n - _synctex_node_height_V(node); + box.max.v = n + _synctex_node_depth_V(node); + return box; +} + +/** + * The higher box node in the parent hierarchy which + * mean line number is the one of node ±1. + * This enclosing box is computed as follows + * 1) get the first hbox in the parent linked list + * starting at node. + * If there is none, simply return the parent of node. + * 2) compute the mean line number + * 3) scans up the tree for the higher hbox with + * the same mean line number, ±1 eventually + * - parameter node: a node. + * - returns: a (proxy to a) box node. + * - author: JL + */ +static synctex_node_p _synctex_node_box_visible(synctex_node_p node) +{ + if ((node = _synctex_node_or_handle_target(node))) { + int mean = 0; + int bound = 1500000 / (node->class->scanner->pre_magnification / 1000); + synctex_node_p parent = NULL; + /* get the first enclosing parent + * then get the highest enclosing parent with the same mean line ±1 */ + node = _synctex_node_or_handle_target(node); + if (!_synctex_node_is_box(node)) { + if ((parent = _synctex_tree_parent(node))) { + node = parent; + } else if ((node = _synctex_tree_target(node))) { + if (!_synctex_node_is_box(node)) { + if ((parent = _synctex_tree_parent(node))) { + node = parent; + } else { + return NULL; + } + } + } + } + parent = node; + mean = synctex_node_mean_line(node); + while ((parent = _synctex_tree_parent(parent))) { + if (_synctex_node_is_hbox(parent)) { + if (_synctex_abs(mean - synctex_node_mean_line(parent)) > 1) { + return node; + } else if (synctex_node_width(parent) > bound) { + return parent; + } else if (synctex_node_height(parent) + synctex_node_depth(parent) > bound) { + return parent; + } + node = parent; + } + } + } + return node; +} +/** + * The horizontal location of the first box enclosing node, in page coordinates. + * - parameter node: a node. + * - returns: a float. + * - author: JL + */ +float synctex_node_box_visible_h(synctex_node_p node) +{ + return SYNCTEX_VISIBLE_DISTANCE_h(node, _synctex_node_h_V(_synctex_node_box_visible(node))); +} +/** + * The vertical location of the first box enclosing node, in page coordinates. + * - parameter node: a node. + * - returns: a float. + * - author: JL + */ +float synctex_node_box_visible_v(synctex_node_p node) +{ + return SYNCTEX_VISIBLE_DISTANCE_v(node, _synctex_node_v_V(_synctex_node_box_visible(node))); +} +/** + * The width of the first box enclosing node, in page coordinates. + * - parameter node: a node. + * - returns: a float. + * - author: JL + */ +float synctex_node_box_visible_width(synctex_node_p node) +{ + return SYNCTEX_VISIBLE_SIZE(node, _synctex_node_width_V(_synctex_node_box_visible(node))); +} +/** + * The height of the first box enclosing node, in page coordinates. + * - parameter node: a node. + * - returns: a float. + * - author: JL + */ +float synctex_node_box_visible_height(synctex_node_p node) +{ + return SYNCTEX_VISIBLE_SIZE(node, _synctex_node_height_V(_synctex_node_box_visible(node))); +} +/** + * The depth of the first box enclosing node, in page coordinates. + * - parameter node: a node. + * - returns: a float. + * - author: JL + */ +float synctex_node_box_visible_depth(synctex_node_p node) +{ + return SYNCTEX_VISIBLE_SIZE(node, _synctex_node_depth_V(_synctex_node_box_visible(node))); +} +#ifdef SYNCTEX_NOTHING +#pragma mark - +#pragma mark Other public node attributes +#endif + +/** + * The page number of the sheet enclosing node. + * - parameter node: a node. + * - returns: the page number or -1 if node does not belong to a sheet tree. + * - note: a proxy target does not belong to a sheet + * but a form, its page number is always -1. + * - note: a handles does not belong to a sheet not a form. + * its page number is -1. + * - author: JL + */ +int synctex_node_page(synctex_node_p node) +{ + synctex_node_p parent = NULL; + while ((parent = _synctex_tree_parent(node))) { + node = parent; + } + if (synctex_node_type(node) == synctex_node_type_sheet) { + return _synctex_data_page(node); + } + return -1; +} +/** + * The page number of the target. + * - author: JL + */ +SYNCTEX_INLINE static int _synctex_node_target_page(synctex_node_p node) +{ + return synctex_node_page(_synctex_tree_target(node)); +} + +#if defined(SYNCTEX_USE_CHARINDEX) +synctex_charindex_t synctex_node_charindex(synctex_node_p node) +{ + synctex_node_p target = _synctex_tree_target(node); + return target ? SYNCTEX_CHARINDEX(target) : (node ? SYNCTEX_CHARINDEX(node) : 0); +} +#endif + +/** + * The tag of the node. + * - parameter node: a node. + * - returns: the tag or -1 if node is NULL. + * - author: JL + */ +int synctex_node_tag(synctex_node_p node) +{ + return node ? node->class->tlcpector->tag(node) : -1; +} +/** + * The line of the node. + * - parameter node: a node. + * - returns: the line or -1 if node is NULL. + * - author: JL + */ +int synctex_node_line(synctex_node_p node) +{ + return node ? node->class->tlcpector->line(node) : -1; +} +/** + * The column of the node. + * - parameter node: a node. + * - returns: the column or -1 if node is NULL. + * - author: JL + */ +int synctex_node_column(synctex_node_p node) +{ + return node ? node->class->tlcpector->column(node) : -1; +} +/** + * The mean line number of the node. + * - parameter node: a node. + * - returns: the mean line or -1 if node is NULL. + * - author: JL + */ +int synctex_node_mean_line(synctex_node_p node) +{ + synctex_node_p target = _synctex_tree_target(node); + if (target) { + node = target; + } + return _synctex_data_has_mean_line(node) ? _synctex_data_mean_line(node) : _synctex_data_line(node); +} +/** + * The weight of the node. + * - parameter node: a node. + * - returns: the weight or -1 if node is NULL. + * - author: JL + */ +int synctex_node_weight(synctex_node_p node) +{ + synctex_node_p target = _synctex_tree_target(node); + if (target) { + node = target; + } + return node ? (synctex_node_type(node) == synctex_node_type_hbox ? _synctex_data_weight(node) : 0) : -1; +} +/** + * The number of children of the node. + * - parameter node: a node. + * - returns: the count or -1 if node is NULL. + * - author: JL + */ +int synctex_node_child_count(synctex_node_p node) +{ + synctex_node_p target = _synctex_tree_target(node); + if (target) { + node = target; + } + return node ? (synctex_node_type(node) == synctex_node_type_hbox ? _synctex_data_weight(node) : 0) : -1; +} +#ifdef SYNCTEX_NOTHING +#pragma mark - +#pragma mark Sheet & Form +#endif + +/** + * The sheet of the scanner with a given page number. + * - parameter scanner: a scanner. + * - parameter page: a 1 based page number. + * If page == 0, returns the first sheet. + * - returns: a sheet or NULL. + * - author: JL + */ +synctex_node_p synctex_sheet(synctex_scanner_p scanner, int page) +{ + if (scanner) { + synctex_node_p sheet = scanner->sheet; + while (sheet) { + if (page == _synctex_data_page(sheet)) { + return sheet; + } + sheet = __synctex_tree_sibling(sheet); + } + if (page == 0) { + return scanner->sheet; + } + } + return NULL; +} +/** + * The form of the scanner with a given tag. + * - parameter scanner: a scanner. + * - parameter tag: an integer identifier. + * If tag == 0, returns the first form. + * - returns: a form. + * - author: JL + */ +synctex_node_p synctex_form(synctex_scanner_p scanner, int tag) +{ + if (scanner) { + synctex_node_p form = scanner->form; + while (form) { + if (tag == _synctex_data_tag(form)) { + return form; + } + form = __synctex_tree_sibling(form); + } + if (tag == 0) { + return scanner->form; + } + } + return NULL; +} + +/** + * The content of the sheet with given page number. + * - parameter scanner: a scanner. + * - parameter page: a 1 based page number. + * - returns: a (vertical) box node. + * - author: JL + */ +synctex_node_p synctex_sheet_content(synctex_scanner_p scanner, int page) +{ + if (scanner) { + return _synctex_tree_child(synctex_sheet(scanner, page)); + } + return NULL; +} + +/** + * The content of the sheet with given page number. + * - parameter scanner: a scanner. + * - parameter tag: an integer identifier. + * - returns: a box node. + * - author: JL + */ +synctex_node_p synctex_form_content(synctex_scanner_p scanner, int tag) +{ + if (scanner) { + return _synctex_tree_child(synctex_form(scanner, tag)); + } + return NULL; +} + +SYNCTEX_INLINE static synctex_node_p _synctex_scanner_friend(synctex_scanner_p scanner, int i) +{ + if (i >= 0) { + i = _synctex_abs(i) % (scanner->number_of_lists); + return (scanner->lists_of_friends)[i]; + } + return NULL; +} +SYNCTEX_INLINE static synctex_bool_t _synctex_nodes_are_friend(synctex_node_p left, synctex_node_p right) +{ + return synctex_node_tag(left) == synctex_node_tag(right) && synctex_node_line(left) == synctex_node_line(right); +} +SYNCTEX_INLINE static synctex_node_p _synctex_vertically_sorted_v2(synctex_node_p sibling) +{ + synctex_node_p child = NULL; + synctex_node_p best_child = sibling; + synctex_node_p next_child = _synctex_tree_reset_child(best_child); + synctex_node_p target = _synctex_tree_target(best_child); + synctex_node_p parent = _synctex_tree_parent(target); + unsigned int best_count = 0; + unsigned int count = 0; + synctex_node_p N = _synctex_tree_child(parent); + do { + if (_synctex_nodes_are_friend(N, best_child)) { + ++best_count; + } + } while ((N = __synctex_tree_sibling(N))); + /* Navigate through the other children */ + while ((child = next_child)) { + next_child = _synctex_tree_reset_child(child); + target = _synctex_tree_target(child); + parent = _synctex_tree_parent(target); + count = 0; + N = _synctex_tree_child(parent); + do { + if (_synctex_nodes_are_friend(N, best_child)) { + ++count; + } + } while ((N = __synctex_tree_sibling(N))); + if (count > best_count) { + best_count = count; + synctex_node_free(best_child); + best_child = child; + } else { + synctex_node_free(child); + } + } + return best_child; +} + +SYNCTEX_INLINE static synctex_bool_t _synctex_point_in_box_v2(synctex_point_p hitP, synctex_node_p node); + +/* This struct records distances, the left one is non negative and the right one is non positive. + * When comparing the locations of 2 different graphical objects on the page, we will have to also record the + * horizontal distance as signed to keep track of the typesetting order.*/ + +typedef struct { + synctex_node_p node; + int distance; +} synctex_nd_s; + +#define SYNCTEX_ND_0 \ + (synctex_nd_s) \ + { \ + NULL, INT_MAX \ + } + +typedef synctex_nd_s *synctex_nd_p; + +typedef struct { + synctex_nd_s l; + synctex_nd_s r; +} synctex_nd_lr_s; + +/* The best container is the deeper box that contains the hit point (H,V). + * _synctex_eq_deepest_container_v2 starts with node whereas + * _synctex_box_child_deepest starts with node's children, if any + * if node is not a box, or a void box, NULL is returned. + * We traverse the node tree in a deep first manner and stop as soon as a result is found. */ +static synctex_node_p _synctex_eq_deepest_container_v2(synctex_point_p hitP, synctex_node_p node); + +SYNCTEX_INLINE static synctex_nd_lr_s _synctex_eq_get_closest_children_in_box_v2(synctex_point_p hitP, synctex_node_p node); + +/* Closest child, recursive. */ +static synctex_nd_s __synctex_closest_deep_child_v2(synctex_point_p hitP, synctex_node_p node); + +/* The smallest container between two has the smallest width or height. + * This comparison is used when there are 2 overlapping boxes that contain the hit point. + * For ConTeXt, the problem appears at each page. + * The chosen box is the one with the smallest height, then the smallest width. */ +SYNCTEX_INLINE static synctex_node_p _synctex_smallest_container_v2(synctex_node_p node, synctex_node_p other_node); + +/* Returns the distance between the hit point hit point=(H,V) and the given node. */ + +static int _synctex_point_node_distance_v2(synctex_point_p hitP, synctex_node_p node); + +/* The closest container is the box that is the one closest to the given point. + * The "visible" version takes into account the visible dimensions instead of the real ones given by TeX. */ +static synctex_nd_s _synctex_eq_closest_child_v2(synctex_point_p hitP, synctex_node_p node); + +#ifdef SYNCTEX_NOTHING +#pragma mark - +#pragma mark Queries +#endif + +struct synctex_iterator_t { + synctex_node_p seed; + synctex_node_p next; + int count0; + int count; +}; + +SYNCTEX_INLINE static synctex_iterator_p _synctex_iterator_new(synctex_node_p result, int count) +{ + synctex_iterator_p iterator; + if ((iterator = _synctex_malloc(sizeof(synctex_iterator_s)))) { + iterator->seed = iterator->next = result; + iterator->count0 = iterator->count = count; + } + return iterator; +}; + +void synctex_iterator_free(synctex_iterator_p iterator) +{ + if (iterator) { + synctex_node_free(iterator->seed); + _synctex_free(iterator); + } +} +synctex_bool_t synctex_iterator_has_next(synctex_iterator_p iterator) +{ + return iterator ? iterator->count > 0 : 0; +} +int synctex_iterator_count(synctex_iterator_p iterator) +{ + return iterator ? iterator->count : 0; +} + +/** + * The next result of the iterator. + * Internally, the iterator stores handles to nodes. + * Externally, it returns the targets, + * such that the caller only sees nodes. + */ +synctex_node_p synctex_iterator_next_result(synctex_iterator_p iterator) +{ + if (iterator && iterator->count > 0) { + synctex_node_p N = iterator->next; + iterator->next = __synctex_tree_sibling(N); + --iterator->count; + return _synctex_tree_target(N); + } + return NULL; +} +int synctex_iterator_reset(synctex_iterator_p iterator) +{ + if (iterator) { + iterator->next = iterator->seed; + return iterator->count = iterator->count0; + } + return 0; +} + +synctex_iterator_p synctex_iterator_new_edit(synctex_scanner_p scanner, int page, float h, float v) +{ + if (scanner) { + synctex_node_p sheet = NULL; + synctex_point_s hit; + synctex_node_p node = NULL; + synctex_nd_lr_s nds = {{NULL, 0}, {NULL, 0}}; + if (NULL == (scanner = synctex_scanner_parse(scanner)) || 0 >= scanner->unit) { /* scanner->unit must be >0 */ + return NULL; + } + /* Find the proper sheet */ + sheet = synctex_sheet(scanner, page); + if (NULL == sheet) { + return NULL; + } + /* Now sheet points to the sheet node with proper page number. */ + /* Now that scanner has been initialized, we can convert + * the given point to scanner integer coordinates */ + hit = (synctex_point_s) {(h - scanner->x_offset) / scanner->unit, (v - scanner->y_offset) / scanner->unit}; + /* At first, we browse all the horizontal boxes of the sheet + * until we find one containing the hit point. */ + if ((node = _synctex_tree_next_hbox(sheet))) { + do { + if (_synctex_point_in_box_v2(&hit, node)) { + /* Maybe the hit point belongs to a contained vertical box. + * This is the most likely situation. + */ + synctex_node_p next = node; +#if defined(SYNCTEX_DEBUG) + printf("--- We are lucky\n"); +#endif + /* This trick is for catching overlapping boxes */ + while ((next = _synctex_tree_next_hbox(next))) { + if (_synctex_point_in_box_v2(&hit, next)) { + node = _synctex_smallest_container_v2(next, node); + } + } + /* node is the smallest horizontal box that contains hit, + * unless there is no hbox at all. + */ + node = _synctex_eq_deepest_container_v2(&hit, node); + nds = _synctex_eq_get_closest_children_in_box_v2(&hit, node); + end: + if (nds.r.node && nds.l.node) { + if ((_synctex_data_tag(nds.r.node) != _synctex_data_tag(nds.l.node)) || (_synctex_data_line(nds.r.node) != _synctex_data_line(nds.l.node)) || (_synctex_data_column(nds.r.node) != _synctex_data_column(nds.l.node))) { + if (nds.l.distance > nds.r.distance) { + node = nds.r.node; + nds.r.node = nds.l.node; + nds.l.node = node; + } + if ((node = _synctex_new_handle_with_target(nds.l.node))) { + synctex_node_p other_handle; + if ((other_handle = _synctex_new_handle_with_target(nds.r.node))) { + _synctex_tree_set_sibling(node, other_handle); + return _synctex_iterator_new(node, 2); + } + return _synctex_iterator_new(node, 1); + } + return NULL; + } + /* both nodes have the same input coordinates + * We choose the one closest to the hit point */ + if (nds.l.distance > nds.r.distance) { + nds.l.node = nds.r.node; + } + nds.r.node = NULL; + } else if (nds.r.node) { + nds.l = nds.r; + } else if (!nds.l.node) { + nds.l.node = node; + } + if ((node = _synctex_new_handle_with_target(nds.l.node))) { + return _synctex_iterator_new(node, 1); + } + return 0; + } + } while ((node = _synctex_tree_next_hbox(node))); + /* All the horizontal boxes have been tested, + * None of them contains the hit point. + */ + } + /* We are not lucky, + * we test absolutely all the node + * to find the closest... */ + if ((node = _synctex_tree_child(sheet))) { +#if defined(SYNCTEX_DEBUG) + printf("--- We are not lucky\n"); +#endif + nds.l = __synctex_closest_deep_child_v2(&hit, node); +#if defined(SYNCTEX_DEBUG) + printf("Edit query best: %i\n", nds.l.distance); +#endif + goto end; + } + } + return NULL; +} + +/** + * Loop the candidate friendly list to find the ones with the proper + * tag and line. + * Returns a tree of results targeting the found candidates. + * At the top level each sibling has its own page number. + * All the results with the same page number are linked by child/parent entry. + * - parameter candidate: a friendly list of candidates + */ +static synctex_node_p _synctex_display_query_v2(synctex_node_p target, int tag, int line, synctex_bool_t exclude_box) +{ + synctex_node_p first_handle = NULL; + /* Search the first match */ + if (target == NULL) { + return first_handle; + } + do { + int page; + if ((exclude_box && _synctex_node_is_box(target)) || (tag != synctex_node_tag(target)) || (line != synctex_node_line(target))) { + continue; + } + /* We found a first match, create + * a result handle targeting that candidate. */ + first_handle = _synctex_new_handle_with_target(target); + if (first_handle == NULL) { + return first_handle; + } + /* target is either a node, + * or a proxy to some node, in which case, + * the target's target belongs to a form, + * not a sheet. */ + page = synctex_node_page(target); + /* Now create all the other results */ + while ((target = _synctex_tree_friend(target))) { + synctex_node_p result = NULL; + if ((exclude_box && _synctex_node_is_box(target)) || (tag != synctex_node_tag(target)) || (line != synctex_node_line(target))) { + continue; + } + /* Another match, same page number ? */ + result = _synctex_new_handle_with_target(target); + if (NULL == result) { + return first_handle; + } + /* is it the same page number ? */ + if (synctex_node_page(target) == page) { + __synctex_tree_set_child(result, first_handle); + first_handle = result; + } else { + /* We have 2 page numbers involved */ + __synctex_tree_set_sibling(first_handle, result); + while ((target = _synctex_tree_friend(target))) { + synctex_node_p same_page_node; + if ((exclude_box && _synctex_node_is_box(target)) || (tag != synctex_node_tag(target)) || (line != synctex_node_line(target))) { + continue; + } + /* New match found, which page? */ + result = _synctex_new_handle_with_target(target); + if (NULL == result) { + return first_handle; + } + same_page_node = first_handle; + page = synctex_node_page(target); + /* Find a result with the same page number */; + do { + if (_synctex_node_target_page(same_page_node) == page) { + _synctex_tree_set_child(result, _synctex_tree_set_child(same_page_node, result)); + } else if ((same_page_node = __synctex_tree_sibling(same_page_node))) { + continue; + } else { + /* This is a new page number */ + __synctex_tree_set_sibling(result, first_handle); + first_handle = result; + } + break; + } while (synctex_YES); + } + return first_handle; + } + } + } while ((target = _synctex_tree_friend(target))); + return first_handle; +} +synctex_iterator_p synctex_iterator_new_display(synctex_scanner_p scanner, const char *name, int line, int column, int page_hint) +{ + (void)column; /* unused */ + if (scanner) { + int tag = synctex_scanner_get_tag(scanner, name); /* parse if necessary */ + int max_line = 0; + int line_offset = 1; + int try_count = 100; + synctex_node_p node = NULL; + synctex_node_p result = NULL; + if (tag == 0) { + printf("SyncTeX Warning: No tag for %s\n", name); + return NULL; + } + node = synctex_scanner_input_with_tag(scanner, tag); + max_line = _synctex_data_line(node); + /* node = NULL; */ + if (line > max_line) { + line = max_line; + } + while (try_count--) { + if (line <= max_line) { + /* This loop will only be performed once for advanced viewers */ + synctex_node_p friend = _synctex_scanner_friend(scanner, tag + line); + if ((node = friend)) { + result = _synctex_display_query_v2(node, tag, line, synctex_YES); + if (!result) { + /* We did not find any matching boundary, retry including boxes */ + node = friend; /* no need to test it again, already done */ + result = _synctex_display_query_v2(node, tag, line, synctex_NO); + } + /* Now reverse the order to have nodes in display order, and then keep just a few nodes. + * Order first the best node. */ + /* The result is a tree. At the root level, all nodes + * correspond to different page numbers. + * Each node has a child which corresponds to the same + * page number if relevant. + * Then reorder the nodes to put first the one which fits best. + * The idea is to count the number of nodes + * with the same tag and line number in the parents + * and choose the one with the biggest count. + */ + if (result) { + /* navigate through siblings, + then children */ + int count = 1; + synctex_node_p next_sibling = __synctex_tree_reset_sibling(result); + int best_match = abs(page_hint - _synctex_node_target_page(result)); + synctex_node_p sibling; + int match; + result = _synctex_vertically_sorted_v2(result); + while ((sibling = next_sibling)) { + /* What is next? Do not miss that step! */ + next_sibling = __synctex_tree_reset_sibling(sibling); + sibling = _synctex_vertically_sorted_v2(sibling); + match = abs(page_hint - _synctex_node_target_page(sibling)); + if (match < best_match) { + /* Order this node first */ + __synctex_tree_set_sibling(sibling, result); + result = sibling; + best_match = match; + } else /*if (match>best_match)*/ { + __synctex_tree_set_sibling(sibling, __synctex_tree_sibling(result)); + __synctex_tree_set_sibling(result, sibling); + } + ++count; + } + /* Now order first the result closest to the page hint */ + return _synctex_iterator_new(result, count); + } + } +#if defined(__SYNCTEX_STRONG_DISPLAY_QUERY__) + break; +#else + line += line_offset; + line_offset = line_offset < 0 ? -(line_offset - 1) : -(line_offset + 1); + if (line <= 0) { + line += line_offset; + line_offset = line_offset < 0 ? -(line_offset - 1) : -(line_offset + 1); + } +#endif + } + } + } + return NULL; +} +synctex_status_t synctex_display_query(synctex_scanner_p scanner, const char *name, int line, int column, int page_hint) +{ + if (scanner) { + synctex_iterator_free(scanner->iterator); + scanner->iterator = synctex_iterator_new_display(scanner, name, line, column, page_hint); + return synctex_iterator_count(scanner->iterator); + } + return SYNCTEX_STATUS_ERROR; +} +synctex_status_t synctex_edit_query(synctex_scanner_p scanner, int page, float h, float v) +{ + if (scanner) { + synctex_iterator_free(scanner->iterator); + scanner->iterator = synctex_iterator_new_edit(scanner, page, h, v); + return synctex_iterator_count(scanner->iterator); + } + return SYNCTEX_STATUS_ERROR; +} +/** + * The next result of a query. + */ +synctex_node_p synctex_scanner_next_result(synctex_scanner_p scanner) +{ + return scanner ? synctex_iterator_next_result(scanner->iterator) : NULL; +} +synctex_status_t synctex_scanner_reset_result(synctex_scanner_p scanner) +{ + return scanner ? synctex_iterator_reset(scanner->iterator) : SYNCTEX_STATUS_ERROR; +} + +synctex_node_p synctex_node_target(synctex_node_p node) +{ + return _synctex_tree_target(node); +} + +#ifdef SYNCTEX_NOTHING +#pragma mark - +#pragma mark Geometric utilities +#endif + +/** Rougly speaking, this is: + * node's h coordinate - hit point's h coordinate. + * If node is to the right of the hit point, then this distance is positive, + * if node is to the left of the hit point, this distance is negative. + * If the argument is a pdf form reference, then the child is used and returned instead. + * Last Revision: Mon Apr 24 07:05:27 UTC 2017 + */ +static synctex_nd_s _synctex_point_h_ordered_distance_v2(synctex_point_p hit, synctex_node_p node) +{ + synctex_nd_s nd = {node, INT_MAX}; + if (node) { + int min, med, max, width; + switch (synctex_node_type(node)) { + /* The distance between a point and a box is special. + * It is not the euclidian distance, nor something similar. + * We have to take into account the particular layout, + * and the box hierarchy. + * Given a box, there are 9 regions delimited by the lines of the edges of the box. + * The origin being at the top left corner of the page, + * we also give names to the vertices of the box. + * + * 1 | 2 | 3 + * ---A---B---> + * 4 | 5 | 6 + * ---C---D---> + * 7 | 8 | 9 + * v v + */ + case synctex_node_type_vbox: + case synctex_node_type_void_vbox: + case synctex_node_type_void_hbox: + /* getting the box bounds, taking into account negative width, height and depth. */ + width = _synctex_data_width(node); + min = _synctex_data_h(node); + max = min + (width > 0 ? width : -width); + /* We always have min <= max */ + if (hit->h < min) { + nd.distance = min - hit->h; /* regions 1+4+7, result is > 0 */ + } else if (hit->h > max) { + nd.distance = max - hit->h; /* regions 3+6+9, result is < 0 */ + } else { + nd.distance = 0; /* regions 2+5+8, inside the box, except for vertical coordinates */ + } + break; + case synctex_node_type_proxy_vbox: + /* getting the box bounds, taking into account negative width, height and depth. */ + width = synctex_node_width(node); + min = synctex_node_h(node); + max = min + (width > 0 ? width : -width); + /* We always have min <= max */ + if (hit->h < min) { + nd.distance = min - hit->h; /* regions 1+4+7, result is > 0 */ + } else if (hit->h > max) { + nd.distance = max - hit->h; /* regions 3+6+9, result is < 0 */ + } else { + nd.distance = 0; /* regions 2+5+8, inside the box, except for vertical coordinates */ + } + break; + case synctex_node_type_hbox: + case synctex_node_type_proxy_hbox: + /* getting the box bounds, taking into account negative width, height and depth. */ + width = synctex_node_hbox_width(node); + min = synctex_node_hbox_h(node); + max = min + (width > 0 ? width : -width); + /* We always have min <= max */ + if (hit->h < min) { + nd.distance = min - hit->h; /* regions 1+4+7, result is > 0 */ + } else if (hit->h > max) { + nd.distance = max - hit->h; /* regions 3+6+9, result is < 0 */ + } else { + nd.distance = 0; /* regions 2+5+8, inside the box, except for vertical coordinates */ + } + break; + case synctex_node_type_kern: + /* IMPORTANT NOTICE: the location of the kern is recorded AFTER the move. + * The distance to the kern is very special, + * in general, there is no text material in the kern, + * this is why we compute the offset relative to the closest edge of the kern.*/ + max = _synctex_data_width(node); + if (max < 0) { + min = _synctex_data_h(node); + max = min - max; + } else { + min = -max; + max = _synctex_data_h(node); + min += max; + } + med = (min + max) / 2; + /* positive kern: '.' means text, '>' means kern offset + * ............. + * min>>>>med>>>>max + * ............... + * negative kern: '.' means text, '<' means kern offset + * ............................ + * min<<<h < min) { + nd.distance = min - hit->h + 1; /* penalty to ensure other nodes are chosen first in case of overlapping ones */ + } else if (hit->h > max) { + nd.distance = max - hit->h - 1; /* same kind of penalty */ + } else if (hit->h > med) { + /* do things like if the node had 0 width and was placed at the max edge + 1*/ + nd.distance = max - hit->h + 1; /* positive, the kern is to the right of the hit point */ + } else { + nd.distance = min - hit->h - 1; /* negative, the kern is to the left of the hit point */ + } + break; + case synctex_node_type_rule: /* to do: special management */ + case synctex_node_type_glue: + case synctex_node_type_math: + case synctex_node_type_boundary: + case synctex_node_type_box_bdry: + nd.distance = _synctex_data_h(node) - hit->h; + break; + case synctex_node_type_ref: + nd.node = synctex_node_child(node); + nd = _synctex_point_h_ordered_distance_v2(hit, nd.node); + break; + case synctex_node_type_proxy: + case synctex_node_type_proxy_last: { + /* shift the hit point to be relative to the proxy origin, + * then compute the distance to the target + */ + synctex_point_s otherHit = *hit; + otherHit.h -= _synctex_data_h(node); + otherHit.v -= _synctex_data_v(node); + nd.node = _synctex_tree_target(node); + nd = _synctex_point_h_ordered_distance_v2(&otherHit, nd.node); + nd.node = node; + } + default: + break; + } + } + return nd; +} +/** Rougly speaking, this is: + * node's v coordinate - hit point's v coordinate. + * If node is at the top of the hit point, then this distance is positive, + * if node is at the bottom of the hit point, this distance is negative. + */ +static synctex_nd_s _synctex_point_v_ordered_distance_v2(synctex_point_p hit, synctex_node_p node) +{ + synctex_nd_s nd = {node, INT_MAX}; + int min, max, depth, height; + switch (synctex_node_type(node)) { + /* The distance between a point and a box is special. + * It is not the euclidian distance, nor something similar. + * We have to take into account the particular layout, + * and the box hierarchy. + * Given a box, there are 9 regions delimited by the lines of the edges of the box. + * The origin being at the top left corner of the page, + * we also give names to the vertices of the box. + * + * 1 | 2 | 3 + * ---A---B---> + * 4 | 5 | 6 + * ---C---D---> + * 7 | 8 | 9 + * v v + */ + case synctex_node_type_vbox: + case synctex_node_type_void_vbox: + case synctex_node_type_void_hbox: + /* getting the box bounds, taking into account negative width, height and depth. */ + min = synctex_node_v(node); + max = min + _synctex_abs(_synctex_data_depth(node)); + min -= _synctex_abs(_synctex_data_height(node)); + /* We always have min <= max */ + if (hit->v < min) { + nd.distance = min - hit->v; /* regions 1+2+3, result is > 0 */ + } else if (hit->v > max) { + nd.distance = max - hit->v; /* regions 7+8+9, result is < 0 */ + } else { + nd.distance = 0; /* regions 4.5.6, inside the box, except for horizontal coordinates */ + } + break; + case synctex_node_type_proxy_vbox: + /* getting the box bounds, taking into account negative width, height and depth. */ + min = synctex_node_v(node); + max = min + _synctex_abs(synctex_node_depth(node)); + min -= _synctex_abs(synctex_node_height(node)); + /* We always have min <= max */ + if (hit->v < min) { + nd.distance = min - hit->v; /* regions 1+2+3, result is > 0 */ + } else if (hit->v > max) { + nd.distance = max - hit->v; /* regions 7+8+9, result is < 0 */ + } else { + nd.distance = 0; /* regions 4.5.6, inside the box, except for horizontal coordinates */ + } + break; + case synctex_node_type_hbox: + case synctex_node_type_proxy_hbox: + /* getting the box bounds, taking into account negative height and depth. */ + min = synctex_node_hbox_v(node); + depth = synctex_node_hbox_depth(node); + max = min + (depth > 0 ? depth : -depth); + height = synctex_node_hbox_height(node); + min -= (height > 0 ? height : -height); + /* We always have min <= max */ + if (hit->v < min) { + nd.distance = min - hit->v; /* regions 1+2+3, result is > 0 */ + } else if (hit->v > max) { + nd.distance = max - hit->v; /* regions 7+8+9, result is < 0 */ + } else { + nd.distance = 0; /* regions 4.5.6, inside the box, except for horizontal coordinates */ + } + break; + case synctex_node_type_rule: /* to do: special management */ + case synctex_node_type_kern: + case synctex_node_type_glue: + case synctex_node_type_math: + min = _synctex_data_v(node); + max = min + _synctex_abs(_synctex_data_depth(_synctex_tree_parent(node))); + min -= _synctex_abs(_synctex_data_height(_synctex_tree_parent(node))); + /* We always have min <= max */ + if (hit->v < min) { + nd.distance = min - hit->v; /* regions 1+2+3, result is > 0 */ + } else if (hit->v > max) { + nd.distance = max - hit->v; /* regions 7+8+9, result is < 0 */ + } else { + nd.distance = 0; /* regions 4.5.6, inside the box, except for horizontal coordinates */ + } + break; + case synctex_node_type_ref: + nd.node = synctex_node_child(node); + nd = _synctex_point_v_ordered_distance_v2(hit, nd.node); + break; + case synctex_node_type_proxy: + case synctex_node_type_proxy_last: { + synctex_point_s otherHit = *hit; + otherHit.h -= _synctex_data_h(node); + otherHit.v -= _synctex_data_v(node); + nd.node = _synctex_tree_target(node); + nd = _synctex_point_v_ordered_distance_v2(&otherHit, nd.node); + nd.node = node; + } + default: + break; + } + return nd; +} +/** + * The best is the one with the smallest area. + * The area is width*height where width and height may be big. + * So there is a real risk of overflow if we stick with ints. + */ +SYNCTEX_INLINE static synctex_node_p _synctex_smallest_container_v2(synctex_node_p node, synctex_node_p other_node) +{ + long total_height, other_total_height; + unsigned long area, other_area; + long width = synctex_node_hbox_width(node); + long other_width = synctex_node_hbox_width(other_node); + if (width < 0) { + width = -width; + } + if (other_width < 0) { + other_width = -other_width; + } + total_height = _synctex_abs(synctex_node_hbox_depth(node)) + _synctex_abs(synctex_node_hbox_height(node)); + other_total_height = _synctex_abs(synctex_node_hbox_depth(other_node)) + _synctex_abs(synctex_node_hbox_height(other_node)); + area = total_height * width; + other_area = other_total_height * other_width; + if (area < other_area) { + return node; + } + if (area > other_area) { + return other_node; + } + if (_synctex_abs(_synctex_data_width(node)) > _synctex_abs(_synctex_data_width(other_node))) { + return node; + } + if (_synctex_abs(_synctex_data_width(node)) < _synctex_abs(_synctex_data_width(other_node))) { + return other_node; + } + if (total_height < other_total_height) { + return node; + } + if (total_height > other_total_height) { + return other_node; + } + return node; +} + +SYNCTEX_INLINE static synctex_bool_t _synctex_point_in_box_v2(synctex_point_p hit, synctex_node_p node) +{ + if (node) { + if (0 == _synctex_point_h_ordered_distance_v2(hit, node).distance && 0 == _synctex_point_v_ordered_distance_v2(hit, node).distance) { + return synctex_YES; + } + } + return synctex_NO; +} + +static int _synctex_distance_to_box_v2(synctex_point_p hit, synctex_box_p box) +{ + /* The distance between a point and a box is special. + * It is not the euclidian distance, nor something similar. + * We have to take into account the particular layout, + * and the box hierarchy. + * Given a box, there are 9 regions delimited by the lines of the edges of the box. + * The origin being at the top left corner of the page, + * we also give names to the vertices of the box. + * + * 1 | 2 | 3 + * ---A---B---> + * 4 | 5 | 6 + * ---C---D---> + * 7 | 8 | 9 + * v v + * In each region, there is a different formula. + * In the end we have a continuous distance which may not be a mathematical distance but who cares. */ + if (hit->v < box->min.v) { + /* Regions 1, 2 or 3 */ + if (hit->h < box->min.h) { + /* This is region 1. The distance to the box is the L1 distance PA. */ + return box->min.v - hit->v + box->min.h - hit->h; /* Integer overflow? probability epsilon */ + } else if (hit->h <= box->max.h) { + /* This is region 2. The distance to the box is the geometrical distance to the top edge. */ + return box->min.v - hit->v; + } else { + /* This is region 3. The distance to the box is the L1 distance PB. */ + return box->min.v - hit->v + hit->h - box->max.h; + } + } else if (hit->v <= box->max.v) { + /* Regions 4, 5 or 6 */ + if (hit->h < box->min.h) { + /* This is region 4. The distance to the box is the geometrical distance to the left edge. */ + return box->min.h - hit->h; + } else if (hit->h <= box->max.h) { + /* This is region 5. We are inside the box. */ + return 0; + } else { + /* This is region 6. The distance to the box is the geometrical distance to the right edge. */ + return hit->h - box->max.h; + } + } else { + /* Regions 7, 8 or 9 */ + if (hit->h < box->min.h) { + /* This is region 7. The distance to the box is the L1 distance PC. */ + return hit->v - box->max.v + box->min.h - hit->h; + } else if (hit->h <= box->max.h) { + /* This is region 8. The distance to the box is the geometrical distance to the top edge. */ + return hit->v - box->max.v; + } else { + /* This is region 9. The distance to the box is the L1 distance PD. */ + return hit->v - box->max.v + hit->h - box->max.h; + } + } +} + +/** + * The distance from the hit point to the node. + */ +static int _synctex_point_node_distance_v2(synctex_point_p hit, synctex_node_p node) +{ + int d = INT_MAX; + if (node) { + synctex_box_s box = {{0, 0}, {0, 0}}; + int dd = INT_MAX; + switch (synctex_node_type(node)) { + case synctex_node_type_vbox: + box.min.h = _synctex_data_h(node); + box.max.h = box.min.h + _synctex_abs(_synctex_data_width(node)); + box.min.v = synctex_node_v(node); + box.max.v = box.min.v + _synctex_abs(_synctex_data_depth(node)); + box.min.v -= _synctex_abs(_synctex_data_height(node)); + return _synctex_distance_to_box_v2(hit, &box); + case synctex_node_type_proxy_vbox: + box.min.h = synctex_node_h(node); + box.max.h = box.min.h + _synctex_abs(synctex_node_width(node)); + box.min.v = synctex_node_v(node); + box.max.v = box.min.v + _synctex_abs(synctex_node_depth(node)); + box.min.v -= _synctex_abs(synctex_node_height(node)); + return _synctex_distance_to_box_v2(hit, &box); + case synctex_node_type_hbox: + case synctex_node_type_proxy_hbox: + box.min.h = synctex_node_hbox_h(node); + box.max.h = box.min.h + _synctex_abs(synctex_node_hbox_width(node)); + box.min.v = synctex_node_hbox_v(node); + box.max.v = box.min.v + _synctex_abs(synctex_node_hbox_depth(node)); + box.min.v -= _synctex_abs(synctex_node_hbox_height(node)); + return _synctex_distance_to_box_v2(hit, &box); + case synctex_node_type_void_vbox: + case synctex_node_type_void_hbox: + /* best of distances from the left edge and right edge*/ + box.min.h = _synctex_data_h(node); + box.max.h = box.min.h; + box.min.v = _synctex_data_v(node); + box.max.v = box.min.v + _synctex_abs(_synctex_data_depth(node)); + box.min.v -= _synctex_abs(_synctex_data_height(node)); + d = _synctex_distance_to_box_v2(hit, &box); + box.min.h = box.min.h + _synctex_abs(_synctex_data_width(node)); + box.max.h = box.min.h; + dd = _synctex_distance_to_box_v2(hit, &box); + return d < dd ? d : dd; + case synctex_node_type_kern: + box.min.h = _synctex_data_h(node); + box.max.h = box.min.h; + box.max.v = _synctex_data_v(node); + box.min.v = box.max.v - _synctex_abs(_synctex_data_height(_synctex_tree_parent(node))); + d = _synctex_distance_to_box_v2(hit, &box); + box.min.h -= _synctex_data_width(node); + box.max.h = box.min.h; + dd = _synctex_distance_to_box_v2(hit, &box); + return d < dd ? d : dd; + case synctex_node_type_glue: + case synctex_node_type_math: + case synctex_node_type_boundary: + case synctex_node_type_box_bdry: + box.min.h = _synctex_data_h(node); + box.max.h = box.min.h; + box.max.v = _synctex_data_v(node); + box.min.v = box.max.v - _synctex_abs(_synctex_data_height(_synctex_tree_parent(node))); + return _synctex_distance_to_box_v2(hit, &box); + case synctex_node_type_proxy: + case synctex_node_type_proxy_last: { + synctex_point_s otherHit = *hit; + otherHit.h -= _synctex_data_h(node); + otherHit.v -= _synctex_data_v(node); + return _synctex_point_node_distance_v2(&otherHit, _synctex_tree_target(node)); + } + default: + break; + } + } + return d; +} +static synctex_node_p _synctex_eq_deepest_container_v2(synctex_point_p hit, synctex_node_p node) +{ + if (node) { + /**/ + synctex_node_p child; + if ((child = synctex_node_child(node))) { + /* Non void hbox or vbox, form ref or proxy */ + /* We go deep first because some boxes have 0 dimensions + * despite they do contain some black material. + */ + do { + if ((_synctex_point_in_box_v2(hit, child))) { + synctex_node_p deep = _synctex_eq_deepest_container_v2(hit, child); + if (deep) { + /* One of the children contains the hit. */ + return deep; + } + } + } while ((child = synctex_node_sibling(child))); + /* is the hit point inside the box? */ + if (synctex_node_type(node) == synctex_node_type_vbox || synctex_node_type(node) == synctex_node_type_proxy_vbox) { + /* For vboxes we try to use some node inside. + * Walk through the list of siblings until we find the closest one. + * Only consider siblings with children inside. */ + if ((child = _synctex_tree_child(node))) { + synctex_nd_s best = SYNCTEX_ND_0; + do { + if (_synctex_tree_child(child)) { + int d = _synctex_point_node_distance_v2(hit, child); + if (d <= best.distance) { + best = (synctex_nd_s) {child, d}; + } + } + } while ((child = __synctex_tree_sibling(child))); + if (best.node) { + return best.node; + } + } + } + if (_synctex_point_in_box_v2(hit, node)) { + return node; + } + } + } + return NULL; +} +static synctex_nd_s _synctex_eq_deepest_container_v3(synctex_point_p hit, synctex_node_p node) +{ + if (node) { + synctex_node_p child = NULL; + if ((child = synctex_node_child(node))) { + /* Non void hbox, vbox, box proxy or form ref */ + /* We go deep first because some boxes have 0 dimensions + * despite they do contain some black material. + */ + do { + synctex_nd_s deep = _synctex_eq_deepest_container_v3(hit, child); + if (deep.node) { + /* One of the children contains the hit-> */ + return deep; + } + } while ((child = synctex_node_sibling(child))); + /* For vboxes we try to use some node inside. + * Walk through the list of siblings until we find the closest one. + * Only consider siblings with children inside. */ + if (synctex_node_type(node) == synctex_node_type_vbox || synctex_node_type(node) == synctex_node_type_proxy_vbox) { + if ((child = synctex_node_child(node))) { + synctex_nd_s best = SYNCTEX_ND_0; + do { + if (synctex_node_child(child)) { + int d = _synctex_point_node_distance_v2(hit, child); + if (d < best.distance) { + best = (synctex_nd_s) {child, d}; + } + } + } while ((child = synctex_node_sibling(child))); + if (best.node) { + return best; + } + } + } + /* is the hit point inside the box? */ + if (_synctex_point_in_box_v2(hit, node)) { + return (synctex_nd_s) {node, 0}; + } + } + } + return SYNCTEX_ND_0; +} + +/* Compares the locations of the hit point with the locations of + * the various nodes contained in the box. + * As it is an horizontal box, we only compare horizontal coordinates. + */ +SYNCTEX_INLINE static synctex_nd_lr_s __synctex_eq_get_closest_children_in_hbox_v2(synctex_point_p hitP, synctex_node_p node) +{ + synctex_nd_s childd = SYNCTEX_ND_0; + synctex_nd_lr_s nds = {SYNCTEX_ND_0, SYNCTEX_ND_0}; + if ((childd.node = synctex_node_child(node))) { + synctex_nd_s nd = SYNCTEX_ND_0; + do { + childd = _synctex_point_h_ordered_distance_v2(hitP, childd.node); + if (childd.distance > 0) { + /* node is to the right of the hit point. + * We compare node and the previously recorded one, through the recorded distance. + * If the nodes have the same tag, prefer the one with the smallest line number, + * if the nodes also have the same line number, prefer the one with the smallest column. */ + if (nds.r.distance > childd.distance) { + nds.r = childd; + } else if (nds.r.distance == childd.distance && nds.r.node) { + if (_synctex_data_tag(nds.r.node) == _synctex_data_tag(childd.node) && + (_synctex_data_line(nds.r.node) > _synctex_data_line(childd.node) || (_synctex_data_line(nds.r.node) == _synctex_data_line(childd.node) && _synctex_data_column(nds.r.node) > _synctex_data_column(childd.node)))) { + nds.r = childd; + } + } + } else if (childd.distance == 0) { + /* hit point is inside node. */ + return _synctex_eq_get_closest_children_in_box_v2(hitP, childd.node); + } else { /* here childd.distance < 0, the hit point is to the right of node */ + childd.distance = -childd.distance; + if (nds.l.distance > childd.distance) { + nds.l = childd; + } else if (nds.l.distance == childd.distance && nds.l.node) { + if (_synctex_data_tag(nds.l.node) == _synctex_data_tag(childd.node) && + (_synctex_data_line(nds.l.node) > _synctex_data_line(childd.node) || (_synctex_data_line(nds.l.node) == _synctex_data_line(childd.node) && _synctex_data_column(nds.l.node) > _synctex_data_column(childd.node)))) { + nds.l = childd; + } + } + } + } while ((childd.node = synctex_node_sibling(childd.node))); + if (nds.l.node) { + /* the left node is new, try to narrow the result */ + if ((nd = _synctex_eq_deepest_container_v3(hitP, nds.l.node)).node) { + nds.l = nd; + } + if ((nd = __synctex_closest_deep_child_v2(hitP, nds.l.node)).node) { + nds.l.node = nd.node; + } + } + if (nds.r.node) { + /* the right node is new, try to narrow the result */ + if ((nd = _synctex_eq_deepest_container_v3(hitP, nds.r.node)).node) { + nds.r = nd; + } + if ((nd = __synctex_closest_deep_child_v2(hitP, nds.r.node)).node) { + nds.r.node = nd.node; + } + } + } + return nds; +} + +SYNCTEX_INLINE static synctex_nd_lr_s __synctex_eq_get_closest_children_in_vbox_v2(synctex_point_p hitP, synctex_node_p nodeP) +{ + (void)nodeP; /* unused */ + synctex_nd_lr_s nds = {SYNCTEX_ND_0, SYNCTEX_ND_0}; + synctex_nd_s nd = SYNCTEX_ND_0; + if ((nd.node = synctex_node_child(nd.node))) { + do { + nd = _synctex_point_v_ordered_distance_v2(hitP, nd.node); + /* this is what makes the difference with the h version above */ + if (nd.distance > 0) { + /* node is to the top of the hit point (below because TeX is oriented from top to bottom. + * We compare node and the previously recorded one, through the recorded distance. + * If the nodes have the same tag, prefer the one with the smallest line number, + * if the nodes also have the same line number, prefer the one with the smallest column. */ + if (nds.r.distance > nd.distance) { + nds.r = nd; + } else if (nds.r.distance == nd.distance && nds.r.node) { + if (_synctex_data_tag(nds.r.node) == _synctex_data_tag(nd.node) && + (_synctex_data_line(nds.r.node) > _synctex_data_line(nd.node) || (_synctex_data_line(nds.r.node) == _synctex_data_line(nd.node) && _synctex_data_column(nds.r.node) > _synctex_data_column(nd.node)))) { + nds.r = nd; + } + } + } else if (nd.distance == 0) { + nds.l = nd; + } else { /* here nd < 0 */ + nd.distance = -nd.distance; + if (nds.l.distance > nd.distance) { + nds.l = nd; + } else if (nds.l.distance == nd.distance && nds.l.node) { + if (_synctex_data_tag(nds.l.node) == _synctex_data_tag(nd.node) && + (_synctex_data_line(nds.l.node) > _synctex_data_line(nd.node) || (_synctex_data_line(nds.l.node) == _synctex_data_line(nd.node) && _synctex_data_column(nds.l.node) > _synctex_data_column(nd.node)))) { + nds.l = nd; + } + } + } + } while ((nd.node = synctex_node_sibling(nd.node))); + if (nds.l.node) { + if ((nd.node = _synctex_eq_deepest_container_v2(hitP, nds.l.node))) { + nds.l.node = nd.node; + } + if ((nd = _synctex_eq_closest_child_v2(hitP, nds.l.node)).node) { + nds.l.node = nd.node; + } + } + if (nds.r.node) { + if ((nd.node = _synctex_eq_deepest_container_v2(hitP, nds.r.node))) { + nds.r.node = nd.node; + } + if ((nd = _synctex_eq_closest_child_v2(hitP, nds.r.node)).node) { + nds.r.node = nd.node; + } + } + } + return nds; +} + +/** + * Get the child closest to the hit point. + * - parameter: hit point + * - parameter: containing node + * - returns: the child and the distance to the hit point. + * SYNCTEX_ND_0 if the parameter node has no children. + * - note: recursive call. + */ +static synctex_nd_s __synctex_closest_deep_child_v2(synctex_point_p hitP, synctex_node_p node) +{ + synctex_nd_s best = SYNCTEX_ND_0; + synctex_node_p child = NULL; + if ((child = synctex_node_child(node))) { +#if defined(SYNCTEX_DEBUG) + printf("Closest deep child on box at line %i\n", SYNCTEX_LINEINDEX(node)); +#endif + do { +#if defined SYNCTEX_DEBUG && SYNCTEX_DEBUG > 500 + synctex_node_display(child); +#endif + synctex_nd_s nd = SYNCTEX_ND_0; + if (_synctex_node_is_box(child)) { + nd = __synctex_closest_deep_child_v2(hitP, child); + } else { + nd = (synctex_nd_s) {child, _synctex_point_node_distance_v2(hitP, child)}; + } + if (nd.distance < best.distance || (nd.distance == best.distance && synctex_node_type(nd.node) != synctex_node_type_kern)) { +#if defined(SYNCTEX_DEBUG) + if (nd.node) { + printf("New best %i<=%i line %i\n", nd.distance, best.distance, SYNCTEX_LINEINDEX(nd.node)); + } +#endif + best = nd; + } + } while ((child = synctex_node_sibling(child))); +#if defined(SYNCTEX_DEBUG) + if (best.node) { + printf("Found new best %i line %i\n", best.distance, SYNCTEX_LINEINDEX(best.node)); + } +#endif + } + return best; +} + +/** + * Return the closest child. + * - parameter: a pointer to the hit point, + * - parameter: the container + * - return: SYNCTEX_ND_0 if node has no child, + * the __synctex_closest_deep_child_v2 otherwise. + */ +static synctex_nd_s _synctex_eq_closest_child_v2(synctex_point_p hitP, synctex_node_p node) +{ + synctex_nd_s nd = SYNCTEX_ND_0; + if (_synctex_node_is_box(node)) { + nd = __synctex_closest_deep_child_v2(hitP, node); + if (_synctex_node_is_box(nd.node)) { + synctex_node_p child = NULL; + if ((child = synctex_node_child(nd.node))) { + synctex_nd_s best = {child, _synctex_point_node_distance_v2(hitP, child)}; + while ((child = synctex_node_sibling(child))) { + int d = _synctex_point_node_distance_v2(hitP, child); + if (d < best.distance) { + best = (synctex_nd_s) {child, d}; + } else if (d == best.distance && synctex_node_type(child) != synctex_node_type_kern) { + best.node = child; + } + } + return best; + } + } + return nd; + } + return SYNCTEX_ND_0; +} +SYNCTEX_INLINE static synctex_nd_lr_s _synctex_eq_get_closest_children_in_box_v2(synctex_point_p hitP, synctex_node_p node) +{ + synctex_nd_lr_s nds = {SYNCTEX_ND_0, SYNCTEX_ND_0}; + if (_synctex_tree_has_child(node)) { /* node != NULL */ + if (node->class->type == synctex_node_type_hbox || node->class->type == synctex_node_type_proxy_hbox) { + return __synctex_eq_get_closest_children_in_hbox_v2(hitP, node); + } else { + return __synctex_eq_get_closest_children_in_vbox_v2(hitP, node); + } + } + return nds; +} + +#ifndef SYNCTEX_NO_UPDATER + +#ifdef SYNCTEX_NOTHING +#pragma mark - +#pragma mark Updater +#endif + +typedef int (*synctex_print_f)(synctex_updater_p, const char *, ...); /* print formatted to either FILE * or gzFile */ +typedef void (*synctex_close_f)(synctex_updater_p); /* close FILE * or gzFile */ + +#define SYNCTEX_BITS_PER_BYTE 8 + +typedef union { + gzFile as_gzFile; + FILE *as_FILE_p; + void *as_ptr; +} syncex_file_u; + +struct synctex_updater_t { + syncex_file_u file; + synctex_print_f print; + synctex_close_f close; + int length; /* the number of chars appended */ +}; + +static int _synctex_updater_print(synctex_updater_p updater, const char *format, ...) SYNCTEX_PRINTF_FORMAT(2, 3); +static int _synctex_updater_print(synctex_updater_p updater, const char *format, ...) +{ + int result = 0; + if (updater) { + va_list va; + va_start(va, format); + result = vfprintf(updater->file.as_FILE_p, format, va); + va_end(va); + } + return result; +} +#if defined(_MSC_VER) || defined(__MINGW32__) +#include +#include + +static int vasprintf(char **ret, const char *format, va_list ap) +{ + int len; + len = _vsnprintf(NULL, 0, format, ap); + if (len < 0) + return -1; + *ret = malloc(len + 1); + if (!*ret) + return -1; + _vsnprintf(*ret, len + 1, format, ap); + (*ret)[len] = '\0'; + return len; +} + +#endif + +/** + * gzvprintf is not available until OSX 10.10 + */ +static int _synctex_updater_print_gz(synctex_updater_p updater, const char *format, ...) SYNCTEX_PRINTF_FORMAT(2, 3); +static int _synctex_updater_print_gz(synctex_updater_p updater, const char *format, ...) +{ + int result = 0; + if (updater) { + char *buffer; + va_list va; + va_start(va, format); + if (vasprintf(&buffer, format, va) < 0) { + _synctex_error("Out of memory..."); + } else if ((result = (int)strlen(buffer))) { + result = gzwrite(updater->file.as_gzFile, buffer, (unsigned)result); + } + va_end(va); + free(buffer); + } + return result; +} + +static void _synctex_updater_close(synctex_updater_p updater) +{ + if (updater) { + fclose(updater->file.as_FILE_p); + } +} + +static void _synctex_updater_close_gz(synctex_updater_p updater) +{ + if (updater) { + gzclose(updater->file.as_gzFile); + } +} + +synctex_updater_p synctex_updater_new_with_output_file(const char *output, const char *build_directory) +{ + synctex_updater_p updater = NULL; + const char *mode = NULL; + synctex_open_s open; + /* prepare the updater, the memory is the only one dynamically allocated */ + updater = (synctex_updater_p)_synctex_malloc(sizeof(synctex_updater_s)); + if (NULL == updater) { + _synctex_error("! synctex_updater_new_with_file: malloc problem"); + return NULL; + } + open = _synctex_open_v2(output, build_directory, 0, synctex_ADD_QUOTES); + if (open.status < SYNCTEX_STATUS_OK) { + open = _synctex_open_v2(output, build_directory, 0, synctex_DONT_ADD_QUOTES); + if (open.status < SYNCTEX_STATUS_OK) { + return_on_error: + _synctex_free(updater); + return updater = NULL; + } + } + /* OK, the file exists, we close it and reopen it with the correct mode. + * The receiver is now the owner of the "synctex" variable. */ + gzclose(open.file); + updater->file.as_ptr = NULL; + mode = _synctex_get_io_mode_name(open.io_mode | synctex_io_append_mask); /* either "a" or "ab", depending on the file extension */ + if (open.io_mode & synctex_io_gz_mask) { + if (NULL == (updater->file.as_FILE_p = fopen(open.synctex, mode))) { + no_write_error: + _synctex_error("! synctex_updater_new_with_file: Can't append to %s", open.synctex); + free(open.synctex); + goto return_on_error; + } + updater->print = &_synctex_updater_print; + updater->close = &_synctex_updater_close; + } else { + if (NULL == (updater->file.as_gzFile = gzopen(open.synctex, mode))) { + goto no_write_error; + } + updater->print = &_synctex_updater_print_gz; + updater->close = &_synctex_updater_close_gz; + } + printf("SyncTeX: updating %s...", open.synctex); + _synctex_free(open.synctex); + return updater; +} + +void synctex_updater_append_magnification(synctex_updater_p updater, char *magnification) +{ + if (NULL == updater) { + return; + } + if (magnification && strlen(magnification)) { + updater->length += updater->print(updater, "Magnification:%s\n", magnification); + } +} + +void synctex_updater_append_x_offset(synctex_updater_p updater, char *x_offset) +{ + if (NULL == updater) { + return; + } + if (x_offset && strlen(x_offset)) { + updater->length += updater->print(updater, "X Offset:%s\n", x_offset); + } +} + +void synctex_updater_append_y_offset(synctex_updater_p updater, char *y_offset) +{ + if (NULL == updater) { + return; + } + if (y_offset && strlen(y_offset)) { + updater->length += updater->print(updater, "Y Offset:%s\n", y_offset); + } +} + +void synctex_updater_free(synctex_updater_p updater) +{ + if (NULL == updater) { + return; + } + if (updater->length > 0) { + updater->print(updater, "!%i\n", updater->length); + } + updater->close(updater); + _synctex_free(updater); + printf("... done.\n"); + return; +} +#endif + +#if defined(SYNCTEX_TESTING) +#ifdef SYNCTEX_NOTHING +#pragma mark - +#pragma mark Testers +#endif +static int _synctex_input_copy_name(synctex_node_p input, char *name) +{ + char *copy = _synctex_malloc(strlen(name) + 1); + memcpy(copy, name, strlen(name) + 1); + _synctex_data_set_name(input, copy); + return 0; +} +int synctex_test_setup_scanner_sheets_421(synctex_scanner_p scanner) +{ + int TC = 0; + synctex_node_p sheet = synctex_node_new(scanner, synctex_node_type_sheet); + _synctex_data_set_page(sheet, 4); + SYNCTEX_TEST_BODY(TC, _synctex_data_page(sheet) == 4, ""); + synctex_node_free(scanner->sheet); + scanner->sheet = sheet; + sheet = synctex_node_new(scanner, synctex_node_type_sheet); + _synctex_data_set_page(sheet, 2); + SYNCTEX_TEST_BODY(TC, _synctex_data_page(sheet) == 2, ""); + __synctex_tree_set_sibling(sheet, scanner->sheet); + scanner->sheet = sheet; + sheet = synctex_node_new(scanner, synctex_node_type_sheet); + _synctex_data_set_page(sheet, 1); + SYNCTEX_TEST_BODY(TC, _synctex_data_page(sheet) == 1, ""); + __synctex_tree_set_sibling(sheet, scanner->sheet); + scanner->sheet = sheet; + return TC; +} +int synctex_test_input(synctex_scanner_p scanner) +{ + int TC = 0; + synctex_node_p input = synctex_node_new(scanner, synctex_node_type_input); + _synctex_data_set_tag(input, 421); + SYNCTEX_TEST_BODY(TC, _synctex_data_tag(input) == 421, ""); + _synctex_data_set_tag(input, 124); + SYNCTEX_TEST_BODY(TC, _synctex_data_tag(input) == 124, ""); + _synctex_data_set_line(input, 421); + SYNCTEX_TEST_BODY(TC, _synctex_data_line(input) == 421, ""); + _synctex_data_set_line(input, 214); + SYNCTEX_TEST_BODY(TC, _synctex_data_line(input) == 214, ""); + _synctex_data_set_line(input, 214); + SYNCTEX_TEST_BODY(TC, _synctex_data_line(input) == 214, ""); + _synctex_input_copy_name(input, "214"); + SYNCTEX_TEST_BODY(TC, 0 == memcmp(_synctex_data_name(input), "214", 4), ""); + _synctex_input_copy_name(input, "421421"); + + SYNCTEX_TEST_BODY(TC, 0 == memcmp(_synctex_data_name(input), "421421", 4), ""); + synctex_node_free(input); + return TC; +} +int synctex_test_proxy(synctex_scanner_p scanner) +{ + int TC = 0; + synctex_node_p proxy = synctex_node_new(scanner, synctex_node_type_proxy); + synctex_node_p target = synctex_node_new(scanner, synctex_node_type_rule); + _synctex_tree_set_target(proxy, target); + _synctex_data_set_tag(target, 421); + SYNCTEX_TEST_BODY(TC, _synctex_data_tag(target) == 421, ""); + SYNCTEX_TEST_BODY(TC, synctex_node_tag(target) == 421, ""); + SYNCTEX_TEST_BODY(TC, synctex_node_tag(proxy) == 421, ""); + synctex_node_free(proxy); + synctex_node_free(target); + return TC; +} +int synctex_test_handle(synctex_scanner_p scanner) +{ + int TC = 0; + synctex_node_p handle = synctex_node_new(scanner, synctex_node_type_handle); + synctex_node_p proxy = synctex_node_new(scanner, synctex_node_type_proxy); + synctex_node_p target = synctex_node_new(scanner, synctex_node_type_rule); + _synctex_tree_set_target(handle, target); + _synctex_data_set_tag(target, 421); + SYNCTEX_TEST_BODY(TC, _synctex_data_tag(target) == 421, ""); + SYNCTEX_TEST_BODY(TC, synctex_node_tag(target) == 421, ""); + SYNCTEX_TEST_BODY(TC, synctex_node_tag(handle) == 421, ""); + _synctex_data_set_line(target, 214); + SYNCTEX_TEST_BODY(TC, _synctex_data_line(target) == 214, ""); + SYNCTEX_TEST_BODY(TC, synctex_node_line(target) == 214, ""); + SYNCTEX_TEST_BODY(TC, synctex_node_line(handle) == 214, ""); + _synctex_data_set_column(target, 142); + SYNCTEX_TEST_BODY(TC, _synctex_data_column(target) == 142, ""); + SYNCTEX_TEST_BODY(TC, synctex_node_column(target) == 142, ""); + SYNCTEX_TEST_BODY(TC, synctex_node_column(handle) == 142, ""); + _synctex_tree_set_target(proxy, target); + _synctex_tree_set_target(handle, proxy); + _synctex_data_set_tag(target, 412); + SYNCTEX_TEST_BODY(TC, _synctex_data_tag(target) == 412, ""); + SYNCTEX_TEST_BODY(TC, synctex_node_tag(target) == 412, ""); + SYNCTEX_TEST_BODY(TC, synctex_node_tag(handle) == 412, ""); + _synctex_data_set_line(target, 124); + SYNCTEX_TEST_BODY(TC, _synctex_data_line(target) == 124, ""); + SYNCTEX_TEST_BODY(TC, synctex_node_line(target) == 124, ""); + SYNCTEX_TEST_BODY(TC, synctex_node_line(handle) == 124, ""); + _synctex_data_set_column(target, 241); + SYNCTEX_TEST_BODY(TC, _synctex_data_column(target) == 241, ""); + SYNCTEX_TEST_BODY(TC, synctex_node_column(target) == 241, ""); + SYNCTEX_TEST_BODY(TC, synctex_node_column(handle) == 241, ""); + synctex_node_free(handle); + synctex_node_free(proxy); + synctex_node_free(target); + return TC; +} +int synctex_test_setup_scanner_input(synctex_scanner_p scanner) +{ + int TC = 0; + synctex_node_p input = synctex_node_new(scanner, synctex_node_type_input); + _synctex_data_set_tag(input, 4); + _synctex_input_copy_name(input, "21"); + _synctex_data_set_line(input, 421); + synctex_node_free(scanner->input); + scanner->input = input; + SYNCTEX_TEST_BODY(TC, _synctex_data_tag(input) == 4, ""); + SYNCTEX_TEST_BODY(TC, strcmp(_synctex_data_name(input), "21") == 0, ""); + SYNCTEX_TEST_BODY(TC, _synctex_data_line(input) == 421, ""); + return TC; +} +int synctex_test_setup_nodes(synctex_scanner_p scanner, synctex_node_r nodes) +{ + int TC = 0; + int n; + for (n = 0; n < synctex_node_number_of_types; ++n) { + nodes[n] = synctex_node_new(scanner, n); + SYNCTEX_TEST_BODY(TC, nodes[n] != NULL, ""); + } + return TC; +} +int synctex_test_teardown_nodes(synctex_scanner_p scanner, synctex_node_r nodes) +{ + int n; + for (n = 0; n < synctex_node_number_of_types; ++n) { + synctex_node_free(nodes[n]); + nodes[n] = NULL; + } + return 1; +} +int synctex_test_tree(synctex_scanner_p scanner) +{ + int TC = 0; + synctex_node_p nodes1[synctex_node_number_of_types]; + synctex_node_p nodes2[synctex_node_number_of_types]; + synctex_node_p nodes3[synctex_node_number_of_types]; + int i, j; + TC += synctex_test_setup_nodes(scanner, nodes1); + TC += synctex_test_setup_nodes(scanner, nodes2); + TC += synctex_test_setup_nodes(scanner, nodes3); + /* Every node has a sibling */ + for (i = 0; i < synctex_node_number_of_types; ++i) { + for (j = 0; j < synctex_node_number_of_types; ++j) { + _synctex_tree_set_sibling(nodes1[i], nodes2[i]); + SYNCTEX_TEST_BODY(TC, nodes2[i] == synctex_node_sibling(nodes1[i]), ""); + } + } + synctex_test_teardown_nodes(scanner, nodes3); + synctex_test_teardown_nodes(scanner, nodes2); + synctex_test_teardown_nodes(scanner, nodes1); + return TC; +} +int synctex_test_page(synctex_scanner_p scanner) +{ + int TC = synctex_test_setup_scanner_sheets_421(scanner); + synctex_node_p sheet = scanner->sheet; + synctex_node_p node = synctex_node_new(scanner, synctex_node_type_rule); + _synctex_data_set_tag(node, 4); + _synctex_data_set_line(node, 21); + synctex_node_free(_synctex_node_set_child(sheet, node)); + SYNCTEX_TEST_BODY(TC, synctex_node_page(node) == synctex_node_page(sheet), ""); + return TC; +} +int synctex_test_display_query(synctex_scanner_p scanner) +{ + int TC = synctex_test_setup_scanner_sheets_421(scanner); + synctex_node_p sheet = scanner->sheet; + synctex_node_p node = synctex_node_new(scanner, synctex_node_type_rule); + _synctex_data_set_tag(node, 4); + _synctex_data_set_line(node, 21); + synctex_node_free(_synctex_node_set_child(sheet, node)); + SYNCTEX_TEST_BODY(TC, node == synctex_node_child(sheet), ""); + __synctex_node_make_friend_tlc(node); + SYNCTEX_TEST_BODY(TC, _synctex_scanner_friend(scanner, 25) == node, ""); + sheet = __synctex_tree_sibling(sheet); + node = synctex_node_new(scanner, synctex_node_type_rule); + _synctex_data_set_tag(node, 4); + _synctex_data_set_line(node, 21); + synctex_node_free(_synctex_node_set_child(sheet, node)); + SYNCTEX_TEST_BODY(TC, node == synctex_node_child(sheet), ""); + __synctex_node_make_friend_tlc(node); + SYNCTEX_TEST_BODY(TC, _synctex_scanner_friend(scanner, 25) == node, ""); + sheet = __synctex_tree_sibling(sheet); + node = synctex_node_new(scanner, synctex_node_type_rule); + _synctex_data_set_tag(node, 4); + _synctex_data_set_line(node, 21); + synctex_node_free(_synctex_node_set_child(sheet, node)); + SYNCTEX_TEST_BODY(TC, node == synctex_node_child(sheet), ""); + __synctex_node_make_friend_tlc(node); + SYNCTEX_TEST_BODY(TC, (_synctex_scanner_friend(scanner, 25) == node), ""); + synctex_test_setup_scanner_input(scanner); + scanner->flags.has_parsed = synctex_YES; +#if 1 + SYNCTEX_TEST_BODY(TC, (synctex_display_query(scanner, "21", 21, 4, -1) == 3), ""); +#endif + return TC; +} +typedef struct { + int s; /* status */ + char n[25]; /* name */ +} synctex_test_sn_s; + +synctex_test_sn_s synctex_test_tmp_sn(char *content) +{ + synctex_test_sn_s sn = {0, "/tmp/test.XXXXXX.synctex"}; + FILE *sfp; + int fd = mkstemps(sn.n, 8); + if (fd < 0) { + fprintf(stderr, "%s: %s\n", sn.n, strerror(errno)); + sn.s = -1; + return sn; + } + if ((sfp = fdopen(fd, "w+")) == NULL) { + unlink(sn.n); + close(fd); + fprintf(stderr, "%s: %s\n", sn.n, strerror(errno)); + sn.s = -2; + return sn; + } + sn.s = fputs(content, sfp); + printf("temp:%s\n%i\n", sn.n, sn.s); + fclose(sfp); + if (sn.s == 0) { + sn.s = -2; + unlink(sn.n); + } + return sn; +} +int synctex_test_sheet_1() +{ + int TC = 0; + char *content = + "SyncTeX Version:1 \n" /*00-19*/ + "Input:1:./1.tex \n" /*20-39*/ + "Output:pdf \n" /*40-59*/ + "Magnification:100000000 \n" /*60-89*/ + "Unit:1 \n" /*90-99*/ + "X Offset:0 \n" /*00-19*/ + "Y Offset:0 \n" /*20-39*/ + "Content: \n" /*40-49*/ + "{1 \n" /*50-59*/ + "[1,10:20,350:330,330,0 \n" /*60-89*/ + "] \n" /*90-99*/ + "} \n" /*00-09*/ + "Postamble:\n"; + synctex_test_sn_s sn = synctex_test_tmp_sn(content); + if (sn.s > 0) { + synctex_scanner_p scanner = synctex_scanner_new_with_output_file(sn.n, NULL, synctex_YES); + synctex_node_p node = synctex_scanner_handle(scanner); + printf("Created nodes:\n"); + while (node) { + printf("%s\n", _synctex_node_abstract(node)); + node = synctex_node_next(node); + } + synctex_scanner_free(scanner); + unlink(sn.n); + } else { + ++TC; + } + return TC; +} +int synctex_test_sheet_2() +{ + int TC = 0; + char *content = + "SyncTeX Version:1 \n" /*00-19*/ + "Input:1:./1.tex \n" /*20-39*/ + "Output:pdf \n" /*40-59*/ + "Magnification:100000000 \n" /*60-89*/ + "Unit:1 \n" /*90-99*/ + "X Offset:0 \n" /*00-19*/ + "Y Offset:0 \n" /*20-39*/ + "Content: \n" /*40-49*/ + "{1 \n" /*50-59*/ + "(1,10:20,350:330,330,0 \n" /*60-89*/ + ") \n" /*90-99*/ + "} \n" /*00-09*/ + "Postamble:\n"; + synctex_test_sn_s sn = synctex_test_tmp_sn(content); + if (sn.s > 0) { + synctex_scanner_p scanner = synctex_scanner_new_with_output_file(sn.n, NULL, synctex_YES); + synctex_node_p node = synctex_scanner_handle(scanner); + printf("Created nodes:\n"); + while (node) { + printf("%s\n", _synctex_node_abstract(node)); + node = _synctex_node_next(node); + } + TC += synctex_scanner_free(scanner); + unlink(sn.n); + } else { + ++TC; + } + return TC; +} +int synctex_test_charindex() +{ + int TC = 0; + char *content = + "SyncTeX Version:1 \n" /*00-19*/ + "Input:1:./1.tex \n" /*20-39*/ + "Output:pdf \n" /*40-59*/ + "Magnification:100000000 \n" /*60-89*/ + "Unit:1 \n" /*90-99*/ + "X Offset:0 \n" /*00-19*/ + "Y Offset:0 \n" /*20-39*/ + "Content: \n" /*40-49*/ + "{1 \n" /*50-59*/ + "[1,10:20,350:330,330,0 \n" /*60-89*/ + "(1,58:20,100:250,10,5 \n" /*90-119*/ + "f1000:50,100 \n" /*20-39*/ + ") \n" /*40-49*/ + "] \n" /*50-59*/ + "} \n" /*60-69*/ + "Postamble:\n"; + synctex_test_sn_s sn = synctex_test_tmp_sn(content); + if (sn.s > 0) { + synctex_scanner_p scanner = synctex_scanner_new_with_output_file(sn.n, NULL, synctex_YES); + synctex_node_p node = synctex_scanner_handle(scanner); + printf("Created nodes:\n"); + while (node) { + printf("%s\n", _synctex_node_abstract(node)); + node = synctex_node_next(node); + } + TC += synctex_scanner_free(scanner); + unlink(sn.n); + } else { + ++TC; + } + return TC; +} +int synctex_test_form() +{ + int TC = 0; + char *content = + "SyncTeX Version:1 \n" /*00-19*/ + "Input:1:./1.tex \n" /*20-39*/ + "Output:pdf \n" /*40-59*/ + "Magnification:100000000 \n" /*60-89*/ + "Unit:1 \n" /*90-99*/ + "X Offset:0 \n" /*00-19*/ + "Y Offset:0 \n" /*20-39*/ + "Content: \n" /*40-49*/ + "{1 \n" /*50-59*/ + "[1,10:20,350:330,330,0 \n" /*60-89*/ + "(1,58:20,100:250,10,5 \n" /*90-119*/ + "f1000:50,100 \n" /*20-39*/ + ") \n" /*40-49*/ + "] \n" /*50-59*/ + "} \n" /*60-69*/ + "<1000 \n" /*70-79*/ + "(1,63:0,0:100,8,3 \n" /*80-99*/ + ") \n" /*00-09*/ + "> \n" /*10-19*/ + "Postamble:\n"; + synctex_test_sn_s sn = synctex_test_tmp_sn(content); + if (sn.s > 0) { + synctex_scanner_p scanner = synctex_scanner_new_with_output_file(sn.n, NULL, synctex_YES); + synctex_node_p node = synctex_scanner_handle(scanner); + while (node) { + printf("%s\n", _synctex_node_abstract(node)); + node = _synctex_node_next(node); + } + TC += synctex_scanner_free(scanner); + unlink(sn.n); + } else { + ++TC; + } + return TC; +} +#endif diff --git a/core/synctex/synctex_parser.h b/core/synctex/synctex_parser.h new file mode 100644 index 0000000..ce57616 --- /dev/null +++ b/core/synctex/synctex_parser.h @@ -0,0 +1,396 @@ +/* + SPDX-FileCopyrightText: 2008-2017 jerome DOT laurens AT u-bourgogne DOT fr + SPDX-License-Identifier: X11 + + This file is part of the __SyncTeX__ package. + + [//]: # (Latest Revision: Fri Jul 14 16:20:41 UTC 2017) + [//]: # (Version: 1.19) + + See `synctex_parser_readme.md` for more details + + ## Acknowledgments: + + The author received useful remarks from the __pdfTeX__ developers, especially Hahn The Thanh, + and significant help from __XeTeX__ developer Jonathan Kew. + + ## Nota Bene: + + If you include or use a significant part of the __SyncTeX__ package into a software, + I would appreciate to be listed as contributor and see "__SyncTeX__" highlighted. +*/ + +#ifndef __SYNCTEX_PARSER__ +#define __SYNCTEX_PARSER__ + +#ifdef __cplusplus +extern "C" { +#endif + +#define SYNCTEX_VERSION_STRING "1.19" + +/* The main synctex object is a scanner. + * Its implementation is considered private. + * The basic workflow is + * - create a "synctex scanner" with the contents of a file + * - perform actions on that scanner like + synctex_display_query or synctex_edit_query below. + * - perform actions on nodes returned by the scanner + * - free the scanner when the work is done + */ +typedef struct synctex_scanner_t synctex_scanner_s; +typedef synctex_scanner_s *synctex_scanner_p; + +/** + * This is the designated method to create + * a new synctex scanner object. + * - argument output: the pdf/dvi/xdv file associated + * to the synctex file. + * If necessary, it can be the tex file that + * originated the synctex file but this might cause + * problems if the \\jobname has a custom value. + * Despite this method can accept a relative path + * in practice, you should only pass full paths. + * The path should be encoded by the underlying + * file system, assuming that it is based on + * 8 bits characters, including UTF8, + * not 16 bits nor 32 bits. + * The last file extension is removed and + * replaced by the proper extension, + * either synctex or synctex.gz. + * - argument build_directory: It is the directory where + * all the auxiliary stuff is created. + * If no synctex file is found in the same directory + * as the output file, then we try to find one in + * this build directory. + * It is the directory where all the auxiliary + * stuff is created. Sometimes, the synctex output + * file and the pdf, dvi or xdv files are not + * created in the same location. See MikTeX. + * This directory path can be NULL, + * it will be ignored then. + * It can be either absolute or relative to the + * directory of the output pdf (dvi or xdv) file. + * Please note that this new argument is provided + * as a convenience but should not be used. + * Available since version 1.5. + * - argument parse: In general, use 1. + * Use 0 only if you do not want to parse the + * content but just check for existence. + * Available since version 1.5 + * - resturn: a scanner. NULL is returned in case + * of an error or non existent file. + */ +synctex_scanner_p synctex_scanner_new_with_output_file(const char *output, const char *build_directory, int parse); + +/** + * Designated method to delete a synctex scanner object, + * including all its internal resources. + * Frees all the memory, you must call it when you are finished with the scanner. + * - argument scanner: a scanner. + * - returns: an integer used for testing purposes. + */ +int synctex_scanner_free(synctex_scanner_p scanner); + +/** + * Send this message to force the scanner to + * parse the contents of the synctex output file. + * Nothing is performed if the file was already parsed. + * In each query below, this message is sent, + * but if you need to access information more directly, + * you must ensure that the parsing did occur. + * Usage: + * if((my_scanner = synctex_scanner_parse(my_scanner))) { + * continue with my_scanner... + * } else { + * there was a problem + * } + * - returns: the argument on success. + * On failure, frees scanner and returns NULL. + */ +synctex_scanner_p synctex_scanner_parse(synctex_scanner_p scanner); + +/* synctex_node_p is the type for all synctex nodes. + * Its implementation is considered private. + * The synctex file is parsed into a tree of nodes, either sheet, form, boxes, math nodes... */ + +typedef struct synctex_node_t synctex_node_s; +typedef synctex_node_s *synctex_node_p; + +/* The main entry points. + * Given the file name, a line and a column number, synctex_display_query returns the number of nodes + * satisfying the contrain. Use code like + * + * if(synctex_display_query(scanner,name,line,column,page_hint)>0) { + * synctex_node_p node; + * while((node = synctex_scanner_next_result(scanner))) { + * // do something with node + * ... + * } + * } + * + * Please notice that since version 1.19, + * there is a new argument page_hint. + * The results in pages closer to page_hint are given first. + * For example, one can + * - highlight each resulting node in the output, using synctex_node_visible_h and synctex_node_visible_v + * - highlight all the rectangles enclosing those nodes, using synctex_node_box_visible_... functions + * - highlight just the character using that information + * + * Given the page and the position in the page, synctex_edit_query returns the number of nodes + * satisfying the contrain. Use code like + * + * if(synctex_edit_query(scanner,page,h,v)>0) { + * synctex_node_p node; + * while(node = synctex_scanner_next_result(scanner)) { + * // do something with node + * ... + * } + * } + * + * For example, one can + * - highlight each resulting line in the input, + * - highlight just the character using that information + * + * page is 1 based + * h and v are coordinates in 72 dpi unit, relative to the top left corner of the page. + * If you make a new query, the result of the previous one is discarded. If you need to make more than one query + * in parallel, use the iterator API exposed in + * the synctex_parser_private.h header. + * If one of this function returns a negative integer, + * it means that an error occurred. + * + * Both methods are conservative, in the sense that matching is weak. + * If the exact column number is not found, there will be an answer with the whole line. + * + * Sumatra-PDF, Skim, iTeXMac2, TeXShop and Texworks are examples of open source software that use this library. + * You can browse their code for a concrete implementation. + */ +typedef long synctex_status_t; +/* The page_hint argument is used to resolve ambiguities. + * Whenever, different matches occur, the ones closest + * to the page will be given first. Pass a negative number + * when in doubt. Using pdf forms may lead to ambiguities. + */ +synctex_status_t synctex_display_query(synctex_scanner_p scanner, const char *name, int line, int column, int page_hint); +synctex_status_t synctex_edit_query(synctex_scanner_p scanner, int page, float h, float v); +synctex_node_p synctex_scanner_next_result(synctex_scanner_p scanner); +synctex_status_t synctex_scanner_reset_result(synctex_scanner_p scanner); + +/** + * The horizontal and vertical location, + * the width, height and depth of a box enclosing node. + * All dimensions are given in page coordinates + * as opposite to TeX coordinates. + * The origin is at the top left corner of the page. + * Code example for Qt5: + * (from TeXworks source TWSynchronize.cpp) + * QRectF nodeRect(synctex_node_box_visible_h(node), + * synctex_node_box_visible_v(node) - + * synctex_node_box_visible_height(node), + * synctex_node_box_visible_width(node), + * synctex_node_box_visible_height(node) + + * synctex_node_box_visible_depth(node)); + * Code example for Cocoa: + * NSRect bounds = [pdfPage + * boundsForBox:kPDFDisplayBoxMediaBox]; + * NSRect nodeRect = NSMakeRect( + * synctex_node_box_visible_h(node), + * NSMaxY(bounds)-synctex_node_box_visible_v(node) + + * synctex_node_box_visible_height(node), + * synctex_node_box_visible_width(node), + * synctex_node_box_visible_height(node) + + * synctex_node_box_visible_depth(node) + * ); + * The visible dimensions are bigger than real ones + * to compensate 0 width boxes or nodes intentionally + * put outside the box (using \\kern for example). + * - parameter node: a node. + * - returns: a float. + * - author: JL + */ +float synctex_node_box_visible_h(synctex_node_p node); +float synctex_node_box_visible_v(synctex_node_p node); +float synctex_node_box_visible_width(synctex_node_p node); +float synctex_node_box_visible_height(synctex_node_p node); +float synctex_node_box_visible_depth(synctex_node_p node); + +/** + * For quite all nodes, horizontal and vertical coordinates, and width. + * All dimensions are given in page coordinates + * as opposite to TeX coordinates. + * The origin is at the top left corner of the page. + * The visible dimensions are bigger than real ones + * to compensate 0 width boxes or nodes intentionally + * put outside the box (using \\kern for example). + * All nodes have coordinates, but all nodes don't + * have non null size. For example, math nodes + * have no width according to TeX, and in that case + * synctex_node_visible_width simply returns 0. + * The same holds for kern nodes that do not have + * height nor depth, etc... + */ +float synctex_node_visible_h(synctex_node_p node); +float synctex_node_visible_v(synctex_node_p node); +float synctex_node_visible_width(synctex_node_p node); +float synctex_node_visible_height(synctex_node_p node); +float synctex_node_visible_depth(synctex_node_p node); + +/** + * Given a node, access to its tag, line and column. + * The line and column numbers are 1 based. + * The latter is not yet fully supported in TeX, + * the default implementation returns 0 + * which means the whole line. + * synctex_node_get_name returns the path of the + * TeX source file that was used to create the node. + * When the tag is known, the scanner of the node + * will also give that same file name, see + * synctex_scanner_get_name below. + */ +int synctex_node_tag(synctex_node_p node); +int synctex_node_line(synctex_node_p node); +int synctex_node_column(synctex_node_p node); +const char *synctex_node_get_name(synctex_node_p node); + +/** + This is the page where the node appears. + * This is a 1 based index as given by TeX. + */ +int synctex_node_page(synctex_node_p node); + +/** + * Display all the information contained in the scanner. + * If the records are too numerous, only the first ones are displayed. + * This is mainly for informational purpose to help developers. + */ +void synctex_scanner_display(synctex_scanner_p scanner); + +/* Managing the input file names. + * Given a tag, synctex_scanner_get_name will return the corresponding file name. + * Conversely, given a file name, synctex_scanner_get_tag will return, the corresponding tag. + * The file name must be the very same as understood by TeX. + * For example, if you \input myDir/foo.tex, the file name is myDir/foo.tex. + * No automatic path expansion is performed. + * Finally, synctex_scanner_input is the first input node of the scanner. + * To browse all the input node, use a loop like + * ... + * synctex_node_p = input_node; + * ... + * if((input_node = synctex_scanner_input(scanner))) { + * do { + * blah + * } while((input_node=synctex_node_sibling(input_node))); + * } + * + * The output is the name that was used to create the scanner. + * The synctex is the real name of the synctex file, + * it was obtained from output by setting the proper file extension. + */ +const char *synctex_scanner_get_name(synctex_scanner_p scanner, int tag); + +int synctex_scanner_get_tag(synctex_scanner_p scanner, const char *name); + +synctex_node_p synctex_scanner_input(synctex_scanner_p scanner); +synctex_node_p synctex_scanner_input_with_tag(synctex_scanner_p scanner, int tag); +const char *synctex_scanner_get_output(synctex_scanner_p scanner); +const char *synctex_scanner_get_synctex(synctex_scanner_p scanner); + +/* The x and y offset of the origin in TeX coordinates. The magnification + These are used by pdf viewers that want to display the real box size. + For example, getting the horizontal coordinates of a node would require + synctex_node_box_h(node)*synctex_scanner_magnification(scanner)+synctex_scanner_x_offset(scanner) + Getting its TeX width would simply require + synctex_node_box_width(node)*synctex_scanner_magnification(scanner) + but direct methods are available for that below. + */ +int synctex_scanner_x_offset(synctex_scanner_p scanner); +int synctex_scanner_y_offset(synctex_scanner_p scanner); +float synctex_scanner_magnification(synctex_scanner_p scanner); + +/** + * ## Browsing the nodes + * parent, child and sibling are standard names for tree nodes. + * The parent is one level higher, + * the child is one level deeper, + * and the sibling is at the same level. + * A node and its sibling have the same parent. + * A node is the parent of its children. + * A node is either the child of its parent, + * or belongs to the sibling chain of its parent's child. + * The sheet or form of a node is the topmost ancestor, + * it is of type sheet or form. + * The next node is either the child, the sibling or the parent's sibling, + * unless the parent is a sheet, a form or NULL. + * This allows to navigate through all the nodes of a given sheet node: + * + * synctex_node_p node = sheet; + * while((node = synctex_node_next(node))) { + * // do something with node + * } + * + * With synctex_sheet_content and synctex_form_content, + * you can retrieve the sheet node given the page + * or form tag. + * The page is 1 based, according to TeX standards. + * Conversely synctex_node_parent_sheet or + * synctex_node_parent_form allows to retrieve + * the sheet or the form containing a given node. + * Notice that a node is not contained in a sheet + * and a form at the same time. + * Some nodes are not contained in either (handles). + */ + +synctex_node_p synctex_node_parent(synctex_node_p node); +synctex_node_p synctex_node_parent_sheet(synctex_node_p node); +synctex_node_p synctex_node_parent_form(synctex_node_p node); +synctex_node_p synctex_node_child(synctex_node_p node); +synctex_node_p synctex_node_last_child(synctex_node_p node); +synctex_node_p synctex_node_sibling(synctex_node_p node); +synctex_node_p synctex_node_last_sibling(synctex_node_p node); +synctex_node_p synctex_node_arg_sibling(synctex_node_p node); +synctex_node_p synctex_node_next(synctex_node_p node); + +/** + * Top level entry points. + * The scanner owns a list of sheet siblings and + * a list of form siblings. + * Sheets or forms have one child which is a box: + * theie contents. + * - argument page: 1 based sheet page number. + * - argument tag: 1 based form tag number. + */ +synctex_node_p synctex_sheet(synctex_scanner_p scanner, int page); +synctex_node_p synctex_sheet_content(synctex_scanner_p scanner, int page); +synctex_node_p synctex_form(synctex_scanner_p scanner, int tag); +synctex_node_p synctex_form_content(synctex_scanner_p scanner, int tag); + +/* This is primarily used for debugging purpose. + * The second one logs information for the node and recursively displays information for its next node */ +void synctex_node_log(synctex_node_p node); +void synctex_node_display(synctex_node_p node); + +/* For quite all nodes, horizontal, vertical coordinates, and width. + * These are expressed in TeX small points coordinates, with origin at the top left corner. + */ +int synctex_node_h(synctex_node_p node); +int synctex_node_v(synctex_node_p node); +int synctex_node_width(synctex_node_p node); +int synctex_node_height(synctex_node_p node); +int synctex_node_depth(synctex_node_p node); + +/* For all nodes, dimensions of the enclosing box. + * These are expressed in TeX small points coordinates, with origin at the top left corner. + * A box is enclosing itself. + */ +int synctex_node_box_h(synctex_node_p node); +int synctex_node_box_v(synctex_node_p node); +int synctex_node_box_width(synctex_node_p node); +int synctex_node_box_height(synctex_node_p node); +int synctex_node_box_depth(synctex_node_p node); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/core/synctex/synctex_parser_advanced.h b/core/synctex/synctex_parser_advanced.h new file mode 100644 index 0000000..cb08185 --- /dev/null +++ b/core/synctex/synctex_parser_advanced.h @@ -0,0 +1,457 @@ +/* + SPDX-FileCopyrightText: 2008-2017 jerome DOT laurens AT u-bourgogne DOT fr + SPDX-License-Identifier: X11 + + This file is part of the __SyncTeX__ package. + + [//]: # (Latest Revision: Fri Jul 14 16:20:41 UTC 2017) + [//]: # (Version: 1.19) + + See `synctex_parser_readme.md` for more details +*/ + +#include "synctex_parser.h" +#include "synctex_parser_utils.h" + +#ifndef __SYNCTEX_PARSER_PRIVATE__ +#define __SYNCTEX_PARSER_PRIVATE__ + +#ifdef __cplusplus +extern "C" { +#endif +/* Reminder that the argument must not be NULL */ +typedef synctex_node_p synctex_non_null_node_p; + +/* Each node of the tree, except the scanner itself belongs to a class. + * The class object is just a struct declaring the owning scanner + * This is a pointer to the scanner as root of the tree. + * The type is used to identify the kind of node. + * The class declares pointers to a creator and a destructor method. + * The log and display fields are used to log and display the node. + * display will also display the child, sibling and parent sibling. + * parent, child and sibling are used to navigate the tree, + * from TeX box hierarchy point of view. + * The friend field points to a method which allows to navigate from friend to friend. + * A friend is a node with very close tag and line numbers. + * Finally, the info field point to a method giving the private node info offset. + */ + +/** + * These are the masks for the synctex node types. + * int's are 32 bits at least. + */ +enum { synctex_shift_root, synctex_shift_no_root, synctex_shift_void, synctex_shift_no_void, synctex_shift_box, synctex_shift_no_box, synctex_shift_proxy, synctex_shift_no_proxy, synctex_shift_h, synctex_shift_v }; +enum { + synctex_mask_root = 1, + synctex_mask_no_root = synctex_mask_root << 1, + synctex_mask_void = synctex_mask_no_root << 1, + synctex_mask_no_void = synctex_mask_void << 1, + synctex_mask_box = synctex_mask_no_void << 1, + synctex_mask_no_box = synctex_mask_box << 1, + synctex_mask_proxy = synctex_mask_no_box << 1, + synctex_mask_no_proxy = synctex_mask_proxy << 1, + synctex_mask_h = synctex_mask_no_proxy << 1, + synctex_mask_v = synctex_mask_h << 1, +}; +enum { synctex_mask_non_void_hbox = synctex_mask_no_void | synctex_mask_box | synctex_mask_h, synctex_mask_non_void_vbox = synctex_mask_no_void | synctex_mask_box | synctex_mask_v }; +typedef enum { + synctex_node_mask_sf = synctex_mask_root | synctex_mask_no_void | synctex_mask_no_box | synctex_mask_no_proxy, + synctex_node_mask_vbox = synctex_mask_no_root | synctex_mask_no_void | synctex_mask_box | synctex_mask_no_proxy | synctex_mask_v, + synctex_node_mask_hbox = synctex_mask_no_root | synctex_mask_no_void | synctex_mask_box | synctex_mask_no_proxy | synctex_mask_h, + synctex_node_mask_void_vbox = synctex_mask_no_root | synctex_mask_void | synctex_mask_box | synctex_mask_no_proxy | synctex_mask_v, + synctex_node_mask_void_hbox = synctex_mask_no_root | synctex_mask_void | synctex_mask_box | synctex_mask_no_proxy | synctex_mask_h, + synctex_node_mask_vbox_proxy = synctex_mask_no_root | synctex_mask_no_void | synctex_mask_box | synctex_mask_proxy | synctex_mask_v, + synctex_node_mask_hbox_proxy = synctex_mask_no_root | synctex_mask_no_void | synctex_mask_box | synctex_mask_proxy | synctex_mask_h, + synctex_node_mask_nvnn = synctex_mask_no_root | synctex_mask_void | synctex_mask_no_box | synctex_mask_no_proxy, + synctex_node_mask_input = synctex_mask_root | synctex_mask_void | synctex_mask_no_box | synctex_mask_no_proxy, + synctex_node_mask_proxy = synctex_mask_no_root | synctex_mask_void | synctex_mask_no_box | synctex_mask_proxy +} synctex_node_mask_t; + +enum { + /* input */ + synctex_tree_sibling_idx = 0, + synctex_tree_s_input_max = 1, + /* All */ + synctex_tree_s_parent_idx = 1, + synctex_tree_sp_child_idx = 2, + synctex_tree_spc_friend_idx = 3, + synctex_tree_spcf_last_idx = 4, + synctex_tree_spcfl_vbox_max = 5, + /* hbox supplement */ + synctex_tree_spcfl_next_hbox_idx = 5, + synctex_tree_spcfln_hbox_max = 6, + /* hbox proxy supplement */ + synctex_tree_spcfln_target_idx = 6, + synctex_tree_spcflnt_proxy_hbox_max = 7, + /* vbox proxy supplement */ + synctex_tree_spcfl_target_idx = 5, + synctex_tree_spcflt_proxy_vbox_max = 6, + /* spf supplement*/ + synctex_tree_sp_friend_idx = 2, + synctex_tree_spf_max = 3, + /* box boundary supplement */ + synctex_tree_spf_arg_sibling_idx = 3, + synctex_tree_spfa_max = 4, + /* proxy supplement */ + synctex_tree_spf_target_idx = 3, + synctex_tree_spft_proxy_max = 4, + /* last proxy supplement */ + synctex_tree_spfa_target_idx = 4, + synctex_tree_spfat_proxy_last_max = 5, + /* sheet supplement */ + synctex_tree_s_child_idx = 1, + synctex_tree_sc_next_hbox_idx = 2, + synctex_tree_scn_sheet_max = 3, + /* form supplement */ + synctex_tree_sc_target_idx = 2, + synctex_tree_sct_form_max = 3, + /* spct */ + synctex_tree_spc_target_idx = 3, + synctex_tree_spct_handle_max = 4, +}; + +enum { + /* input */ + synctex_data_input_tag_idx = 0, + synctex_data_input_line_idx = 1, + synctex_data_input_name_idx = 2, + synctex_data_input_tln_max = 3, + /* sheet */ + synctex_data_sheet_page_idx = 0, + synctex_data_p_sheet_max = 1, + /* form */ + synctex_data_form_tag_idx = 0, + synctex_data_t_form_max = 1, + /* tlchv */ + synctex_data_tag_idx = 0, + synctex_data_line_idx = 1, + synctex_data_column_idx = 2, + synctex_data_h_idx = 3, + synctex_data_v_idx = 4, + synctex_data_tlchv_max = 5, + /* tlchvw */ + synctex_data_width_idx = 5, + synctex_data_tlchvw_max = 6, + /* box */ + synctex_data_height_idx = 6, + synctex_data_depth_idx = 7, + synctex_data_box_max = 8, + /* hbox supplement */ + synctex_data_mean_line_idx = 8, + synctex_data_weight_idx = 9, + synctex_data_h_V_idx = 10, + synctex_data_v_V_idx = 11, + synctex_data_width_V_idx = 12, + synctex_data_height_V_idx = 13, + synctex_data_depth_V_idx = 14, + synctex_data_hbox_max = 15, + /* ref */ + synctex_data_ref_tag_idx = 0, + synctex_data_ref_h_idx = 1, + synctex_data_ref_v_idx = 2, + synctex_data_ref_thv_max = 3, + /* proxy */ + synctex_data_proxy_h_idx = 0, + synctex_data_proxy_v_idx = 1, + synctex_data_proxy_hv_max = 2, +}; + +/* each synctex node has a class */ +typedef struct synctex_class_t synctex_class_s; +typedef synctex_class_s *synctex_class_p; + +/* synctex_node_p is a pointer to a node + * synctex_node_s is the target of the synctex_node_p pointer + * It is a pseudo object oriented program. + * class is a pointer to the class object the node belongs to. + * implementation is meant to contain the private data of the node + * basically, there are 2 kinds of information: navigation information and + * synctex information. Both will depend on the type of the node, + * thus different nodes will have different private data. + * There is no inheritancy overhead. + */ +typedef union { + synctex_node_p as_node; + int as_integer; + char *as_string; + void *as_pointer; +} synctex_data_u; +typedef synctex_data_u *synctex_data_p; + +#if defined(SYNCTEX_USE_CHARINDEX) +typedef unsigned int synctex_charindex_t; +synctex_charindex_t synctex_node_charindex(synctex_node_p node); +typedef synctex_charindex_t synctex_lineindex_t; +synctex_lineindex_t synctex_node_lineindex(synctex_node_p node); +synctex_node_p synctex_scanner_handle(synctex_scanner_p scanner); +#define SYNCTEX_DECLARE_CHARINDEX \ + synctex_charindex_t char_index; \ + synctex_lineindex_t line_index; +#define SYNCTEX_DECLARE_CHAR_OFFSET synctex_charindex_t charindex_offset; +#else +#define SYNCTEX_DECLARE_CHARINDEX +#define SYNCTEX_DECLARE_CHAR_OFFSET +#endif +struct synctex_node_t { + SYNCTEX_DECLARE_CHARINDEX + synctex_class_p class; +#ifdef DEBUG + synctex_data_u data[22]; +#else + synctex_data_u data[1]; +#endif +}; + +typedef synctex_node_p *synctex_node_r; + +typedef struct { + int h; + int v; +} synctex_point_s; + +typedef synctex_point_s *synctex_point_p; + +typedef struct { + synctex_point_s min; /* top left */ + synctex_point_s max; /* bottom right */ +} synctex_box_s; + +typedef synctex_box_s *synctex_box_p; +/** + * These are the types of the synctex nodes. + * No need to use them but the compiler needs them here. + * There are 3 kinds of nodes. + * - primary nodes + * - proxies + * - handles + * Primary nodes are created at parse time + * of the synctex file. + * Proxies are used to support pdf forms. + * The ref primary nodes are replaced by a tree + * of proxy nodes which duplicate the tree of primary + * nodes available in the referred form. + * Roughly speaking, the primary nodes of the form + * know what to display, the proxy nodes know where. + * Handles are used in queries. They point to either + * primary nodes or proxies. + */ +typedef enum { + synctex_node_type_none = 0, + synctex_node_type_input, + synctex_node_type_sheet, + synctex_node_type_form, + synctex_node_type_ref, + synctex_node_type_vbox, + synctex_node_type_void_vbox, + synctex_node_type_hbox, + synctex_node_type_void_hbox, + synctex_node_type_kern, + synctex_node_type_glue, + synctex_node_type_rule, + synctex_node_type_math, + synctex_node_type_boundary, + synctex_node_type_box_bdry, + synctex_node_type_proxy, + synctex_node_type_proxy_last, + synctex_node_type_proxy_vbox, + synctex_node_type_proxy_hbox, + synctex_node_type_handle, + synctex_node_number_of_types +} synctex_node_type_t; +/* synctex_node_type gives the type of a given node, + * synctex_node_isa gives the same information as a human readable text. */ +synctex_node_type_t synctex_node_type(synctex_node_p node); +const char *synctex_node_isa(synctex_node_p node); + +synctex_node_type_t synctex_node_target_type(synctex_node_p node); + +synctex_node_type_t synctex_node_type(synctex_node_p node); +const char *synctex_node_isa(synctex_node_p node); + +void synctex_node_log(synctex_node_p node); +void synctex_node_display(synctex_node_p node); + +/* Given a node, access to the location in the synctex file where it is defined. + */ + +int synctex_node_form_tag(synctex_node_p node); + +int synctex_node_mean_line(synctex_node_p node); +int synctex_node_weight(synctex_node_p node); +int synctex_node_child_count(synctex_node_p node); + +int synctex_node_h(synctex_node_p node); +int synctex_node_v(synctex_node_p node); +int synctex_node_width(synctex_node_p node); + +int synctex_node_box_h(synctex_node_p node); +int synctex_node_box_v(synctex_node_p node); +int synctex_node_box_width(synctex_node_p node); +int synctex_node_box_height(synctex_node_p node); +int synctex_node_box_depth(synctex_node_p node); + +int synctex_node_hbox_h(synctex_node_p node); +int synctex_node_hbox_v(synctex_node_p node); +int synctex_node_hbox_width(synctex_node_p node); +int synctex_node_hbox_height(synctex_node_p node); +int synctex_node_hbox_depth(synctex_node_p node); + +synctex_scanner_p synctex_scanner_new(); +synctex_node_p synctex_node_new(synctex_scanner_p scanner, synctex_node_type_t type); + +/** + * Scanner display switcher getter. + * If the switcher is 0, synctex_node_display is disabled. + * If the switcher is <0, synctex_node_display has no limit. + * If the switcher is >0, only the first switcher (as number) nodes are displayed. + * - parameter: a scanner + * - returns: an integer + */ +int synctex_scanner_display_switcher(synctex_scanner_p scanR); +void synctex_scanner_set_display_switcher(synctex_scanner_p scanR, int switcher); + +/** + * Iterator is the structure used to traverse + * the answer to client queries. + * First answers are the best matches, according + * to criteria explained below. + * Next answers are not ordered. + * Objects are handles to nodes in the synctex node tree starting at scanner. + */ +typedef struct synctex_iterator_t synctex_iterator_s; +typedef synctex_iterator_s *synctex_iterator_p; + +/** + * Designated creator for a display query, id est, + * forward navigation from source to output. + * Returns NULL if the query has no answer. + * Code example: + * synctex_iterator_p iterator = NULL; + * if ((iterator = synctex_iterator_new_display(...)) { + * synctex_node_p node = NULL; + * while((node = synctex_iterator_next_result(iterator))) { + * do something with node... + * } + */ +synctex_iterator_p synctex_iterator_new_display(synctex_scanner_p scanner, const char *name, int line, int column, int page_hint); +/** + * Designated creator for an edit query, id est, + * backward navigation from output to source. + * Code example: + * synctex_iterator_p iterator = NULL; + * if ((iterator = synctex_iterator_new_edit(...)) { + * synctex_node_p node = NULL; + * while((node = synctex_iterator_next_result(iterator))) { + * do something with node... + * } + */ +synctex_iterator_p synctex_iterator_new_edit(synctex_scanner_p scanner, int page, float h, float v); +/** + * Free all the resources. + * - argument iterator: the object to free... + * You should free the iterator before the scanner + * owning the nodes it iterates with. + */ +void synctex_iterator_free(synctex_iterator_p iterator); +/** + * Whether the iterator actually points to an object. + * - argument iterator: the object to iterate on... + */ +synctex_bool_t synctex_iterator_has_next(synctex_iterator_p iterator); +/** + * Returns the pointed object and advance the cursor + * to the next object. Returns NULL and does nothing + * if the end has already been reached. + * - argument iterator: the object to iterate on... + */ +synctex_node_p synctex_iterator_next_result(synctex_iterator_p iterator); +/** + * Reset the cursor position to the first result. + * - argument iterator: the object to iterate on... + */ +int synctex_iterator_reset(synctex_iterator_p iterator); +/** + * The number of objects left for traversal. + * - argument iterator: the object to iterate on... + */ +int synctex_iterator_count(synctex_iterator_p iterator); + +/** + * The target of the node, either a handle or a proxy. + */ +synctex_node_p synctex_node_target(synctex_node_p node); + +#ifndef SYNCTEX_NO_UPDATER +/* The main synctex updater object. + * This object is used to append information to the synctex file. + * Its implementation is considered private. + * It is used by the synctex command line tool to take into account modifications + * that could occur while postprocessing files by dvipdf like filters. + */ +typedef struct synctex_updater_t synctex_updater_s; +typedef synctex_updater_s *synctex_updater_p; + +/* Designated initializer. + * Once you are done with your whole job, + * free the updater */ +synctex_updater_p synctex_updater_new_with_output_file(const char *output, const char *directory); + +/* Use the next functions to append records to the synctex file, + * no consistency tests made on the arguments */ +void synctex_updater_append_magnification(synctex_updater_p updater, char *magnification); +void synctex_updater_append_x_offset(synctex_updater_p updater, char *x_offset); +void synctex_updater_append_y_offset(synctex_updater_p updater, char *y_offset); + +/* You MUST free the updater, once everything is properly appended */ +void synctex_updater_free(synctex_updater_p updater); +#endif + +#if defined(SYNCTEX_DEBUG) +#include "assert.h" +#define SYNCTEX_ASSERT assert +#else +#define SYNCTEX_ASSERT(UNUSED) +#endif + +#if defined(SYNCTEX_TESTING) +#warning TESTING IS PROHIBITED +#if __clang__ +#define __PRAGMA_PUSH_NO_EXTRA_ARG_WARNINGS _Pragma("clang diagnostic push") _Pragma("clang diagnostic ignored \"-Wformat-extra-args\"") + +#define __PRAGMA_POP_NO_EXTRA_ARG_WARNINGS _Pragma("clang diagnostic pop") +#else +#define __PRAGMA_PUSH_NO_EXTRA_ARG_WARNINGS +#define __PRAGMA_POP_NO_EXTRA_ARG_WARNINGS +#endif + +#define SYNCTEX_TEST_BODY(counter, condition, desc, ...) \ + do { \ + __PRAGMA_PUSH_NO_EXTRA_ARG_WARNINGS \ + if (!(condition)) { \ + ++counter; \ + printf("**** Test failed: %s\nfile %s\nfunction %s\nline %i\n", #condition, __FILE__, __FUNCTION__, __LINE__); \ + printf((desc), ##__VA_ARGS__); \ + } \ + __PRAGMA_POP_NO_EXTRA_ARG_WARNINGS \ + } while (0) + +#define SYNCTEX_TEST_PARAMETER(counter, condition) SYNCTEX_TEST_BODY(counter, (condition), "Invalid parameter not satisfying: %s", #condition) + +int synctex_test_input(synctex_scanner_p scanner); +int synctex_test_proxy(synctex_scanner_p scanner); +int synctex_test_tree(synctex_scanner_p scanner); +int synctex_test_page(synctex_scanner_p scanner); +int synctex_test_handle(synctex_scanner_p scanner); +int synctex_test_display_query(synctex_scanner_p scanner); +int synctex_test_charindex(); +int synctex_test_sheet_1(); +int synctex_test_sheet_2(); +int synctex_test_sheet_3(); +int synctex_test_form(); +#endif + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/core/synctex/synctex_parser_local.h b/core/synctex/synctex_parser_local.h new file mode 100644 index 0000000..bb82365 --- /dev/null +++ b/core/synctex/synctex_parser_local.h @@ -0,0 +1,17 @@ +/* +SPDX-FileCopyrightText: 2008, 2009, 2010 , 2011 jerome DOT laurens AT u-bourgogne DOT fr +SPDX-License-Identifier: X11 + +This file is part of the SyncTeX package. + +Latest Revision: Tue Jun 14 08:23:30 UTC 2011 + +Version: 1.18 + +See synctex_parser_readme.txt for more details +*/ + +/* This local header file is for TEXLIVE, use your own header to fit your system */ +#include /* for inline && HAVE_xxx */ +/* No inlining for synctex tool in texlive. */ +#define SYNCTEX_INLINE diff --git a/core/synctex/synctex_parser_readme.md b/core/synctex/synctex_parser_readme.md new file mode 100644 index 0000000..7dae3a9 --- /dev/null +++ b/core/synctex/synctex_parser_readme.md @@ -0,0 +1,246 @@ +# __SyncTeX__ + +This file is part of the __SyncTeX__ package. + +[//]: # (Version: 1.19) +[//]: # (Date: Fri Jul 14 16:20:41 UTC 2017) + +## Important + +* Changes in version `1.19` + + A long standing bug affecting only pdftex has been fixed by adding support to pdf forms. As a side effect, the synchronization algorithm gains in accuracy for all the engines, especially from pdf to source. Of course, there is a small cost in both memory footprint and computational time, but none is noticeable. + + Some technical changes in the API. + * more consistent type naming convention + * `_s` suffix for struct's + * `_p` suffix for pointers + * `_t` suffix for standard types + * `_f` suffix for functions... + + thus `synctex_node_t` has become `synctex_node_p`. + + * supplemental argument in `synctex_display_query`. Set `page_hint` to the currently displayed pdf page number (0 based). If this info is not available, set `page_hint` to 0, it corresponds to the old behaviour. + * rename `synctex_next_result` to `synctex_scanner_next_result` + * additional `synctex_parser_private.h` header where + more API are exposed. For an advanced usage only (eg parallel synchronizations). + * `SYNCTEX_NO_UPDATER` preprocessor macro to deactivate some code useless to frontends. + +## What is it ? + +The *Synchronization TeXnology* named __SyncTeX__ is a new feature +of recent __TeX__ engines designed by Jérôme Laurens. +It allows to synchronize between input and output, which means to +navigate from the source document to the typeset material and vice versa. +Browse the source code for more information. + +## Contents +This package is mainly for developers, it contains the following files: + +* `synctex_parser_readme.md` (this file) +* `synctex_parser_version.txt` +* `synctex_parser_utils.c` +* `synctex_parser_utils.h` +* `synctex_parser_local.h` +* `synctex_parser.h` +* `synctex_parser_advanced.h` +* `synctex_parser.c` + +The file you are reading contains more informations about the __SyncTeX__ parser history. + +## Source + +All stable sources are available from [TeXLive repository](http://www.tug.org/svn/texlive/trunk/Build/source/texk/web2c/synctexdir/). + +Latest development sources are available from GitHub. + +Please notice that due to the complexity of the TeXLive TeX distribution, there might be some delay before synchronization occurs between various repositories. + +## Usage + +In order to support __SyncTeX__ in a viewer, it is sufficient to include +in the source the files `synctex_parser.c` and `synctex_parser_utils.c`. +The synctex parser usage is described in `synctex_parser.h` header file. + +More advanced usage is found in `synctex_parser_advanced.h` + +The other files are used by tex engines or by the synctex command line utility: + +``` +ChangeLog +README.txt +am +man1 +man5 +synctex-common.h +synctex-convert.sh +synctex-e-mem.ch0 +synctex-e-mem.ch1 +synctex-e-rec.ch0 +synctex-e-rec.ch1 +synctex-etex.h +synctex-mem.ch0 +synctex-mem.ch1 +synctex-mem.ch2 +synctex-pdf-rec.ch2 +synctex-pdftex.h +synctex-rec.ch0 +synctex-rec.ch1 +synctex-rec.ch2 +synctex-tex.h +synctex-xe-mem.ch2 +synctex-xe-rec.ch2 +synctex-xe-rec.ch3 +synctex-xetex.h +synctex.c +synctex.defines +synctex.h +synctex_main.c +tests +... +``` + +## Version: + +This is version 1, which refers to the synctex output file format. + +The files are identified by a build number. +In order to help developers to automatically manage the version and build numbers +and download the parser only when necessary, the `synctex_parser_version.txt` +is an ASCII text file just containing the current version and build numbers eg `1.19`. + +## History: + +* 1.1: Thu Jul 17 09:28:13 UTC 2008 + - First official version available in TeXLive 2008 DVD. + Unfortunately, the backwards synchronization is not working properly mainly for ConTeXt users, see below. +* 1.2: Tue Sep 2 10:28:32 UTC 2008 + - Correction for ConTeXt support in the edit query. + The previous method was assuming that TeX boxes do not overlap, + which is reasonable for LaTeX but not for ConTeXt. + This assumption is no longer considered. +* 1.3: Fri Sep 5 09:39:57 UTC 2008 + - Local variable "read" renamed to "already_read" to avoid conflicts. + - "inline" compiler directive renamed to "SYNCTEX_INLINE" for code support and maintenance + - _synctex_error cannot be inlined due to variable arguments (thanks Christiaan Hofman) + - Correction in the display query, extra boundary nodes are used for a more precise forwards synchronization +* 1.4: Fri Sep 12 08:12:34 UTC 2008 + - For an unknown reason, the previous version was not the real 1.3 (as used in iTeXMac2 build 747). + As a consequence, a crash was observed. + - Some typos are fixed. +* 1.6: Mon Nov 3 20:20:02 UTC 2008 + - The bug that prevented synchronization with compressed files on windows has been fixed. + - New interface to allow system specific customization. + - Note that some APIs have changed. +* 1.8: Mer 8 jul 2009 11:32:38 UTC +Note that version 1.7 was delivered privately. + - bug fix: synctex was causing a memory leak in pdftex and xetex, thus some processing speed degradation + - bug fix: the synctex command line tool was broken when updating a .synctex file + - enhancement: better accuracy of the synchronization process + - enhancement: the pdf output file and the associated .synctex file no longer need to live in the same directory. + The new -d option of the synctex command line tool manages this situation. + This is handy when using something like tex -output-directory=DIR ... +* 1.9: Wed Nov 4 11:52:35 UTC 2009 + - Various typo fixed + - OutputDebugString replaced by OutputDebugStringA to deliberately disable unicode preprocessing + - New conditional created because OutputDebugStringA is only available since Windows 2K professional +* 1.10: Sun Jan 10 10:12:32 UTC 2010 + - Bug fix in synctex_parser.c to solve a synchronization problem with amsmath's gather environment. + Concerns the synctex tool. +* 1.11: Sun Jan 17 09:12:31 UTC 2010 + - Bug fix in synctex_parser.c, function synctex_node_box_visible_v: 'x' replaced by 'y'. + Only 3rd party tools are concerned. +* 1.12: Mon Jul 19 21:52:10 UTC 2010 + - Bug fix in synctex_parser.c, function __synctex_open: the io_mode was modified even in case of a non zero return, +causing a void .synctex.gz file to be created even if it was not expected. Reported by Marek Kasik concerning a bug on evince. +* 1.13: Fri Mar 11 07:39:12 UTC 2011 + - Bug fix in synctex_parser.c, better synchronization as suggested by Jan Sundermeyer (near line 3388). + - Stronger code design in synctex_parser_utils.c, function _synctex_get_name (really neutral behavior). + Only 3rd party tools are concerned. +* 1.14: Fri Apr 15 19:10:57 UTC 2011 + - taking output_directory into account + - Replaced FOPEN_WBIN_MODE by FOPEN_W_MODE when opening the text version of the .synctex file. + - Merging with LuaTeX's version of synctex.c +* 1.15: Fri Jun 10 14:10:17 UTC 2011 +This concerns the synctex command line tool and 3rd party developers. +TeX and friends are not concerned by these changes. + - Bug fixed in _synctex_get_io_mode_name, sometimes the wrong mode was returned + - Support for LuaTeX convention of './' file prefixing +* 1.16: Tue Jun 14 08:23:30 UTC 2011 +This concerns the synctex command line tool and 3rd party developers. +TeX and friends are not concerned by these changes. + - Better forward search (thanks Jose Alliste) + - Support for LuaTeX convention of './' file prefixing now for everyone, not only for Windows +* 1.17: Fri Oct 14 08:15:16 UTC 2011 +This concerns the synctex command line tool and 3rd party developers. +TeX and friends are not concerned by these changes. + - synctex_parser.c: cosmetic changes to enhance code readability + - Better forward synchronization. + The problem occurs for example with LaTeX \item command. + The fact is that this command creates nodes at parse time but these nodes are used only + after the text material of the \item is displayed on the page. The consequence is that sometimes, + forward synchronization spots an irrelevant point from the point of view of the editing process. + This was due to some very basic filtering policy, where a somehow arbitrary choice was made when + many different possibilities where offered for synchronisation. + Now, forward synchronization prefers nodes inside an hbox with as many acceptable spots as possible. + This is achieved with the notion of mean line and node weight. + - Adding support for the new file naming convention with './' + - function `synctex_ignore_leading_dot_slash_in_path replaces` `synctex_ignore_leading_dot_slash` + - function `_synctex_is_equivalent_file_name` is more permissive + Previously, the function synctex_scanner_get_tag would give an answer only when + the given file name was EXACTLY one of the file names listed in the synctex file. + The we added some changes accepting for example 'foo.tex' instead of './foo.tex'. + Now we have an even looser policy for dealing with file names. + If the given file name does not match exactly one the file names of the synctex file, + then we try to match the base names. If there is only one match of the base names, + then it is taken as a match for the whole names. + The base name is defined as following: + + `./foo => foo + /my///.////foo => foo + /foo => /foo + /my//.foo => /my//.foo` + +* 1.17: Tue Mar 13 10:10:03 UTC 2012 + - minor changes, no version changes + - syntax man pages are fixed as suggested by M. Shimata + see mail to tex-live@tug.org titled "syntax.5 has many warnings from groff" and "syntax.1 use invalid macro for mdoc" + - 1.17: Tue Jan 14 09:55:00 UTC 2014, fixed a segfault, patch from Sebastian Ramacher + - 1.17: Mon Aug 04, fixed a memory leak +* 1.18: Thu Jun 25 11:36:05 UTC 2015 + - nested sheets now fully supported (does it make sense in TeX) + - cosmetic changes: uniform indentation + - suppression of warnings, mainly long/int ones. In short, zlib likes ints when size_t likes longs. + - CLI synctex tool can build out of TeXLive (modulo appropriate options passed to the compiler) +* 1.19: Mon Jul 3 20:03:56 UTC 2017 + - the nested sheets patch was not a good solution. + It has been moved from the parser to the engine. + See the `synctex.c` source file for detailed explanations. + - there is a new synctex format specification. + We can see that a `.synctex` file can contain many times + the same vertical position because many objects belong + to the same line. When the options read `-synctex=±2` or more, + a very basic compression algorithm is used: + if synctex is about to write the same number then it writes + an `=` sign instead. This saves approximately 10% of the + synctex output file, either compressed or not. + The new synctex parser has been updated accordingly. + Actual tex frontend won't see any difference with the + TeX engines that include this new feature. + Frontends with the new parser won't see any difference + with the older TeX engines. + Frontends with the new parser will only see a difference + with new TeX engines if `-synctex=±2` or more is used. + +## Acknowledgments: + +The author received useful remarks from the __pdfTeX__ developers, especially Hahn The Thanh, +and significant help from __XeTeX__ developer Jonathan Kew. + +## Nota Bene: + +If you include or use a significant part of the __SyncTeX__ package into a software, +I would appreciate to be listed as contributor and see __SyncTeX__" highlighted. + +Copyright (c) 2008-2017 jerome DOT laurens AT u-bourgogne DOT fr + diff --git a/core/synctex/synctex_parser_utils.c b/core/synctex/synctex_parser_utils.c new file mode 100644 index 0000000..a8b1cf6 --- /dev/null +++ b/core/synctex/synctex_parser_utils.c @@ -0,0 +1,577 @@ +/* + SPDX-FileCopyrightText: 2008-2017 jerome DOT laurens AT u-bourgogne DOT fr + SPDX-License-Identifier: X11 + + This file is part of the __SyncTeX__ package. + + [//]: # (Latest Revision: Fri Jul 14 16:20:41 UTC 2017) + [//]: # (Version: 1.19) + + See `synctex_parser_readme.md` for more details +*/ + +/* In this file, we find all the functions that may depend on the operating system. */ + +#include +#include +#include +#include +#include + +#include +#include +#include + +#include + +#if defined(_WIN32) || defined(__WIN32__) || defined(__TOS_WIN__) || defined(__WINDOWS__) +#define SYNCTEX_WINDOWS 1 +#endif + +#if defined(__OS2__) +#define SYNCTEX_OS2 1 +#endif + +#if defined(_WIN32) +#define SYNCTEX_RECENT_WINDOWS 1 +#endif + +#ifdef SYNCTEX_WINDOWS +#include /* Use shlwapi.lib */ +#include +#endif + +void *_synctex_malloc(size_t size) +{ + void *ptr = malloc(size); + if (ptr) { + memset(ptr, 0, size); /* ensures null termination of strings */ + } + return (void *)ptr; +} + +void _synctex_free(void *ptr) +{ + if (ptr) { + free(ptr); + } +} + +#if !defined(_WIN32) +#include +#endif + +int _synctex_log(int level, const char *prompt, const char *reason, ...) SYNCTEX_PRINTF_FORMAT(3, 4); +int _synctex_log(int level, const char *prompt, const char *reason, ...) +{ + va_list arg; + int result; + va_start(arg, reason); +#ifdef SYNCTEX_RECENT_WINDOWS + { /* This code is contributed by William Blum. + As it does not work on some older computers, + the _WIN32 conditional here is replaced with a SYNCTEX_RECENT_WINDOWS one. + According to http://msdn.microsoft.com/en-us/library/aa363362(VS.85).aspx + Minimum supported client Windows 2000 Professional + Minimum supported server Windows 2000 Server + People running Windows 2K standard edition will not have OutputDebugStringA. + JL.*/ + char *buff; + size_t len; + OutputDebugStringA(prompt); +#ifdef _MSC_VER + len = _vscprintf(reason, arg) + 1; + buff = (char *)malloc(len * sizeof(char)); +#else /* MinGW */ + size_t buffersize = 1024; + size_t max_buffersize = 1024 * buffersize; + int result; + buff = (char *)malloc(buffersize * sizeof(char)); + result = _vsnprintf(buff, buffersize - 1, reason, arg); + while (-1 == result && buffersize <= max_buffersize) { + buffersize = buffersize * 2; + buff = (char *)realloc(buff, buffersize * sizeof(char)); + result = _vsnprintf(buff, buffersize - 1, reason, arg); + } + if (-1 == result) { + va_end(arg); + // could not make the buffer big enough or simply could not write to it + free(buff); + return -1; + } +#endif + result = vsprintf(buff, reason, arg) + strlen(prompt); + OutputDebugStringA(buff); + OutputDebugStringA("\n"); + free(buff); + } +#elif defined SYNCTEX_USE_SYSLOG + char *buffer1 = NULL; + char *buffer2 = NULL; + openlog("SyncTeX", LOG_CONS | LOG_PID | LOG_PERROR | LOG_NDELAY, LOG_LOCAL0); + if (vasprintf(&buffer1, reason, arg) >= 0 && asprintf(&buffer2, "%s%s", prompt, buffer1) >= 0) { + syslog(level, "%s", buffer2); + result = (int)strlen(buffer2); + } else { + syslog(level, "%s", prompt); + vsyslog(level, reason, arg); + result = (int)strlen(prompt); + } + free(buffer1); + free(buffer2); + closelog(); +#else + FILE *where = level == LOG_ERR ? stderr : stdout; + result = fputs(prompt, where); + result += vfprintf(where, reason, arg); + result += fprintf(where, "\n"); +#endif + va_end(arg); + return result; +} + +int _synctex_error(const char *reason, ...) +{ + va_list arg; + int result; + va_start(arg, reason); +#if defined(SYNCTEX_RECENT_WINDOWS) /* LOG_ERR is not used */ + result = _synctex_log(0, "! SyncTeX Error : ", reason, arg); +#else + result = _synctex_log(LOG_ERR, "! SyncTeX Error : ", reason, arg); +#endif + va_end(arg); + return result; +} + +int _synctex_debug(const char *reason, ...) +{ + va_list arg; + int result; + va_start(arg, reason); +#if defined(SYNCTEX_RECENT_WINDOWS) /* LOG_DEBUG is not used */ + result = _synctex_log(0, "! SyncTeX Error : ", reason, arg); +#else + result = _synctex_log(LOG_DEBUG, "! SyncTeX Error : ", reason, arg); +#endif + va_end(arg); + return result; +} + +/* strip the last extension of the given string, this string is modified! */ +void _synctex_strip_last_path_extension(char *string) +{ + if (NULL != string) { + char *last_component = NULL; + char *last_extension = NULL; +#if defined(SYNCTEX_WINDOWS) + last_component = PathFindFileNameA(string); + last_extension = PathFindExtensionA(string); + if (last_extension == NULL) + return; + if (last_component == NULL) + last_component = string; + if (last_extension > last_component) { /* filter out paths like "my/dir/.hidden" */ + last_extension[0] = '\0'; + } +#else + char *next = NULL; + /* first we find the last path component */ + if (NULL == (last_component = strstr(string, "/"))) { + last_component = string; + } else { + ++last_component; + while ((next = strstr(last_component, "/"))) { + last_component = next + 1; + } + } +#if defined(SYNCTEX_OS2) + /* On OS2, the '\' is also a path separator. */ + while ((next = strstr(last_component, "\\"))) { + last_component = next + 1; + } +#endif /* SYNCTEX_OS2 */ + /* then we find the last path extension */ + if ((last_extension = strstr(last_component, "."))) { + ++last_extension; + while ((next = strstr(last_extension, "."))) { + last_extension = next + 1; + } + --last_extension; /* back to the "." */ + if (last_extension > last_component) { /* filter out paths like ....my/dir/.hidden"*/ + last_extension[0] = '\0'; + } + } +#endif /* SYNCTEX_WINDOWS */ + } +} + +synctex_bool_t synctex_ignore_leading_dot_slash_in_path(const char **name_ref) +{ + if (SYNCTEX_IS_DOT((*name_ref)[0]) && SYNCTEX_IS_PATH_SEPARATOR((*name_ref)[1])) { + do { + (*name_ref) += 2; + while (SYNCTEX_IS_PATH_SEPARATOR((*name_ref)[0])) { + ++(*name_ref); + } + } while (SYNCTEX_IS_DOT((*name_ref)[0]) && SYNCTEX_IS_PATH_SEPARATOR((*name_ref)[1])); + return synctex_YES; + } + return synctex_NO; +} + +/* The base name is necessary to deal with the 2011 file naming convention... + * path is a '\0' terminated string + * The return value is the trailing part of the argument, + * just following the first occurrence of the regexp pattern "[^|/|\].[\|/]+".*/ +const char *_synctex_base_name(const char *path) +{ + const char *ptr = path; + do { + if (synctex_ignore_leading_dot_slash_in_path(&ptr)) { + return ptr; + } + do { + if (!*(++ptr)) { + return path; + } + } while (!SYNCTEX_IS_PATH_SEPARATOR(*ptr)); + } while (*(++ptr)); + return path; +} + +/* Compare two file names, windows is sometimes case insensitive... */ +synctex_bool_t _synctex_is_equivalent_file_name(const char *lhs, const char *rhs) +{ + /* Remove the leading regex '(\./+)*' in both rhs and lhs */ + synctex_ignore_leading_dot_slash_in_path(&lhs); + synctex_ignore_leading_dot_slash_in_path(&rhs); +next_character: + if (SYNCTEX_IS_PATH_SEPARATOR(*lhs)) { /* lhs points to a path separator */ + if (!SYNCTEX_IS_PATH_SEPARATOR(*rhs)) { /* but not rhs */ + return synctex_NO; + } + ++lhs; + ++rhs; + synctex_ignore_leading_dot_slash_in_path(&lhs); + synctex_ignore_leading_dot_slash_in_path(&rhs); + goto next_character; + } else if (SYNCTEX_IS_PATH_SEPARATOR(*rhs)) { /* rhs points to a path separator but not lhs */ + return synctex_NO; + } else if (SYNCTEX_ARE_PATH_CHARACTERS_EQUAL(*lhs, *rhs)) { /* uppercase do not match */ + return synctex_NO; + } else if (!*lhs) { /* lhs is at the end of the string */ + return *rhs ? synctex_NO : synctex_YES; + } else if (!*rhs) { /* rhs is at the end of the string but not lhs */ + return synctex_NO; + } + ++lhs; + ++rhs; + goto next_character; +} + +synctex_bool_t _synctex_path_is_absolute(const char *name) +{ + if (!strlen(name)) { + return synctex_NO; + } +#if defined(SYNCTEX_WINDOWS) || defined(SYNCTEX_OS2) + if (strlen(name) > 2) { + return (name[1] == ':' && SYNCTEX_IS_PATH_SEPARATOR(name[2])) ? synctex_YES : synctex_NO; + } + return synctex_NO; +#else + return SYNCTEX_IS_PATH_SEPARATOR(name[0]) ? synctex_YES : synctex_NO; +#endif +} + +/* We do not take care of UTF-8 */ +const char *_synctex_last_path_component(const char *name) +{ + const char *c = name + strlen(name); + if (c > name) { + if (!SYNCTEX_IS_PATH_SEPARATOR(*c)) { + do { + --c; + if (SYNCTEX_IS_PATH_SEPARATOR(*c)) { + return c + 1; + } + } while (c > name); + } + return c; /* the last path component is the void string*/ + } + return c; +} + +int _synctex_copy_with_quoting_last_path_component(const char *src, char **dest_ref, size_t size) +{ + if (src && dest_ref) { + const char *lpc; +#define dest (*dest_ref) + dest = NULL; /* Default behavior: no change and success. */ + lpc = _synctex_last_path_component(src); + if (strlen(lpc)) { + if (strchr(lpc, ' ') && lpc[0] != '"' && lpc[strlen(lpc) - 1] != '"') { + /* We are in the situation where adding the quotes is allowed. */ + /* Time to add the quotes. */ + /* Consistency test: we must have dest+size>dest+strlen(dest)+2 + * or equivalently: strlen(dest)+2 0) { + char *result = NULL; + ++size; + /* Create the memory storage */ + if (NULL != (result = (char *)malloc(size))) { + char *dest = result; + va_start(arg, first); + temp = first; + do { + if ((size = strlen(temp)) > 0) { + /* There is something to merge */ + if (dest != strncpy(dest, temp, size)) { + _synctex_error("! _synctex_merge_strings: Copy problem"); + free(result); + result = NULL; + return NULL; + } + dest += size; + } + } while ((temp = va_arg(arg, const char *)) != NULL); + va_end(arg); + dest[0] = '\0'; /* Terminate the merged string */ + return result; + } + _synctex_error("! _synctex_merge_strings: Memory problem"); + return NULL; + } + return NULL; +} + +/* The purpose of _synctex_get_name is to find the name of the synctex file. + * There is a list of possible filenames from which we return the most recent one and try to remove all the others. + * With two runs of pdftex or xetex we are sure the synctex file is really the most appropriate. + */ +int _synctex_get_name(const char *output, const char *build_directory, char **synctex_name_ref, synctex_io_mode_t *io_mode_ref) +{ + if (output && synctex_name_ref && io_mode_ref) { + /* If output is already absolute, we just have to manage the quotes and the compress mode */ + size_t size = 0; + char *synctex_name = NULL; + synctex_io_mode_t io_mode = *io_mode_ref; + const char *base_name = _synctex_last_path_component(output); /* do not free, output is the owner. base name of output*/ + /* Do we have a real base name ? */ + if (strlen(base_name) > 0) { + /* Yes, we do. */ + const char *temp = NULL; + char *core_name = NULL; /* base name of output without path extension. */ + char *dir_name = NULL; /* dir name of output */ + char *quoted_core_name = NULL; + char *basic_name = NULL; + char *gz_name = NULL; + char *quoted_name = NULL; + char *quoted_gz_name = NULL; + char *build_name = NULL; + char *build_gz_name = NULL; + char *build_quoted_name = NULL; + char *build_quoted_gz_name = NULL; + struct stat buf; + time_t the_time = 0; + /* Create core_name: let temp point to the dot before the path extension of base_name; + * We start form the \0 terminating character and scan the string upward until we find a dot. + * The leading dot is not accepted. */ + if ((temp = strrchr(base_name, '.')) && (size = temp - base_name) > 0) { + /* There is a dot and it is not at the leading position */ + if (NULL == (core_name = (char *)malloc(size + 1))) { + _synctex_error("! _synctex_get_name: Memory problem 1"); + return -1; + } + if (core_name != strncpy(core_name, base_name, size)) { + _synctex_error("! _synctex_get_name: Copy problem 1"); + free(core_name); + dir_name = NULL; + return -2; + } + core_name[size] = '\0'; + } else { + /* There is no path extension, + * Just make a copy of base_name */ + core_name = _synctex_merge_strings(base_name); + } + /* core_name is properly set up, owned by "self". */ + /* creating dir_name. */ + size = strlen(output) - strlen(base_name); + if (size > 0) { + /* output contains more than one path component */ + if (NULL == (dir_name = (char *)malloc(size + 1))) { + _synctex_error("! _synctex_get_name: Memory problem"); + free(core_name); + return -1; + } + if (dir_name != strncpy(dir_name, output, size)) { + _synctex_error("! _synctex_get_name: Copy problem"); + free(dir_name); + dir_name = NULL; + free(core_name); + dir_name = NULL; + return -2; + } + dir_name[size] = '\0'; + } + /* dir_name is properly set up. It ends with a path separator, if non void. */ + /* creating quoted_core_name. */ + if (strchr(core_name, ' ')) { + quoted_core_name = _synctex_merge_strings("\"", core_name, "\""); + } + /* quoted_core_name is properly set up. */ + if (dir_name && strlen(dir_name) > 0) { + basic_name = _synctex_merge_strings(dir_name, core_name, synctex_suffix, NULL); + if (quoted_core_name && strlen(quoted_core_name) > 0) { + quoted_name = _synctex_merge_strings(dir_name, quoted_core_name, synctex_suffix, NULL); + } + } else { + basic_name = _synctex_merge_strings(core_name, synctex_suffix, NULL); + if (quoted_core_name && strlen(quoted_core_name) > 0) { + quoted_name = _synctex_merge_strings(quoted_core_name, synctex_suffix, NULL); + } + } + if (!_synctex_path_is_absolute(output) && build_directory && (size = strlen(build_directory))) { + temp = build_directory + size - 1; + if (_synctex_path_is_absolute(temp)) { + build_name = _synctex_merge_strings(build_directory, basic_name, NULL); + if (quoted_core_name && strlen(quoted_core_name) > 0) { + build_quoted_name = _synctex_merge_strings(build_directory, quoted_name, NULL); + } + } else { + build_name = _synctex_merge_strings(build_directory, "/", basic_name, NULL); + if (quoted_core_name && strlen(quoted_core_name) > 0) { + build_quoted_name = _synctex_merge_strings(build_directory, "/", quoted_name, NULL); + } + } + } + if (basic_name) { + gz_name = _synctex_merge_strings(basic_name, synctex_suffix_gz, NULL); + } + if (quoted_name) { + quoted_gz_name = _synctex_merge_strings(quoted_name, synctex_suffix_gz, NULL); + } + if (build_name) { + build_gz_name = _synctex_merge_strings(build_name, synctex_suffix_gz, NULL); + } + if (build_quoted_name) { + build_quoted_gz_name = _synctex_merge_strings(build_quoted_name, synctex_suffix_gz, NULL); + } + /* All the others names are properly set up... */ + /* retain the most recently modified file */ +#define TEST(FILENAME, COMPRESS_MODE) \ + if (FILENAME) { \ + if (stat(FILENAME, &buf)) { \ + free(FILENAME); \ + FILENAME = NULL; \ + } else if (buf.st_mtime > the_time) { \ + the_time = buf.st_mtime; \ + synctex_name = FILENAME; \ + if (COMPRESS_MODE) { \ + io_mode |= synctex_io_gz_mask; \ + } else { \ + io_mode &= ~synctex_io_gz_mask; \ + } \ + } \ + } + TEST(basic_name, synctex_DONT_COMPRESS); + TEST(gz_name, synctex_COMPRESS); + TEST(quoted_name, synctex_DONT_COMPRESS); + TEST(quoted_gz_name, synctex_COMPRESS); + TEST(build_name, synctex_DONT_COMPRESS); + TEST(build_gz_name, synctex_COMPRESS); + TEST(build_quoted_name, synctex_DONT_COMPRESS); + TEST(build_quoted_gz_name, synctex_COMPRESS); +#undef TEST + /* Free all the intermediate filenames, except the one that will be used as returned value. */ +#define CLEAN_AND_REMOVE(FILENAME) \ + if (FILENAME && (FILENAME != synctex_name)) { \ + remove(FILENAME); \ + printf("synctex tool info: %s removed\n", FILENAME); \ + free(FILENAME); \ + FILENAME = NULL; \ + } + CLEAN_AND_REMOVE(basic_name); + CLEAN_AND_REMOVE(gz_name); + CLEAN_AND_REMOVE(quoted_name); + CLEAN_AND_REMOVE(quoted_gz_name); + CLEAN_AND_REMOVE(build_name); + CLEAN_AND_REMOVE(build_gz_name); + CLEAN_AND_REMOVE(build_quoted_name); + CLEAN_AND_REMOVE(build_quoted_gz_name); +#undef CLEAN_AND_REMOVE + /* set up the returned values */ + *synctex_name_ref = synctex_name; + /* synctex_name won't always end in .gz, even when compressed. */ + FILE *F = fopen(synctex_name, "r"); + if (F != NULL) { + if (!feof(F) && 31 == fgetc(F) && !feof(F) && 139 == fgetc(F)) { + io_mode = synctex_compress_mode_gz; + } + fclose(F); + } + *io_mode_ref = io_mode; + return 0; + } + return -1; /* bad argument */ + } + return -2; +} + +const char *_synctex_get_io_mode_name(synctex_io_mode_t io_mode) +{ + static const char *synctex_io_modes[4] = {"r", "rb", "a", "ab"}; + unsigned index = ((io_mode & synctex_io_gz_mask) ? 1 : 0) + ((io_mode & synctex_io_append_mask) ? 2 : 0); /* bug pointed out by Jose Alliste */ + return synctex_io_modes[index]; +} diff --git a/core/synctex/synctex_parser_utils.h b/core/synctex/synctex_parser_utils.h new file mode 100644 index 0000000..5c28eb1 --- /dev/null +++ b/core/synctex/synctex_parser_utils.h @@ -0,0 +1,133 @@ +/* + SPDX-FileCopyrightText: 2008-2017 jerome DOT laurens AT u-bourgogne DOT fr + SPDX-License-Identifier: X11 + + This file is part of the __SyncTeX__ package. + + [//]: # (Latest Revision: Fri Jul 14 16:20:41 UTC 2017) + [//]: # (Version: 1.19) + + See `synctex_parser_readme.md` for more details +*/ + +#ifndef SYNCTEX_PARSER_UTILS_H +#define SYNCTEX_PARSER_UTILS_H + +/* The utilities declared here are subject to conditional implementation. + * All the operating system special stuff goes here. + * The problem mainly comes from file name management: path separator, encoding... + */ + +typedef int synctex_bool_t; +#define synctex_YES (0 == 0) +#define synctex_NO (0 == 1) + +#define synctex_ADD_QUOTES -1 +#define synctex_COMPRESS -1 +#define synctex_DONT_ADD_QUOTES 0 +#define synctex_DONT_COMPRESS 0 + +#ifndef __SYNCTEX_PARSER_UTILS__ +#define __SYNCTEX_PARSER_UTILS__ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#if defined(_WIN32) || defined(__OS2__) +#define SYNCTEX_CASE_SENSITIVE_PATH 0 +#define SYNCTEX_IS_PATH_SEPARATOR(c) ('/' == c || '\\' == c) +#else +#define SYNCTEX_CASE_SENSITIVE_PATH 1 +#define SYNCTEX_IS_PATH_SEPARATOR(c) ('/' == c) +#endif + +#if defined(_WIN32) || defined(__OS2__) +#define SYNCTEX_IS_DOT(c) ('.' == c) +#else +#define SYNCTEX_IS_DOT(c) ('.' == c) +#endif + +#if SYNCTEX_CASE_SENSITIVE_PATH +#define SYNCTEX_ARE_PATH_CHARACTERS_EQUAL(left, right) (left != right) +#else +#define SYNCTEX_ARE_PATH_CHARACTERS_EQUAL(left, right) (toupper(left) != toupper(right)) +#endif + +#ifdef __GNUC__ +#define SYNCTEX_PRINTF_FORMAT(si, ftc) __attribute__((format(printf, si, ftc))) +#else +#define SYNCTEX_PRINTF_FORMAT(si, ftc) +#endif + +/* This custom malloc functions initializes to 0 the newly allocated memory. + * There is no bzero function on windows. */ +void *_synctex_malloc(size_t size); + +/* To balance _synctex_malloc. + * ptr might be NULL. */ +void _synctex_free(void *ptr); + +/* This is used to log some informational message to the standard error stream. + * On Windows, the stderr stream is not exposed and another method is used. + * The return value is the number of characters printed. */ +int _synctex_error(const char *reason, ...) SYNCTEX_PRINTF_FORMAT(1, 2); +int _synctex_debug(const char *reason, ...) SYNCTEX_PRINTF_FORMAT(1, 2); + +/* strip the last extension of the given string, this string is modified! + * This function depends on the OS because the path separator may differ. + * This should be discussed more precisely. */ +void _synctex_strip_last_path_extension(char *string); + +/* Compare two file names, windows is sometimes case insensitive... + * The given strings may differ stricto sensu, but represent the same file name. + * It might not be the real way of doing things. + * The return value is an undefined non 0 value when the two file names are equivalent. + * It is 0 otherwise. */ +synctex_bool_t _synctex_is_equivalent_file_name(const char *lhs, const char *rhs); + +/* Description forthcoming.*/ +synctex_bool_t _synctex_path_is_absolute(const char *name); + +/* Description forthcoming...*/ +const char *_synctex_last_path_component(const char *name); + +/* Description forthcoming...*/ +const char *_synctex_base_name(const char *path); + +/* If the core of the last path component of src is not already enclosed with double quotes ('"') + * and contains a space character (' '), then a new buffer is created, the src is copied and quotes are added. + * In all other cases, no destination buffer is created and the src is not copied. + * 0 on success, which means no error, something non 0 means error, mainly due to memory allocation failure, or bad parameter. + * This is used to fix a bug in the first version of pdftex with synctex (1.40.9) for which names with spaces + * were not managed in a standard way. + * On success, the caller owns the buffer pointed to by dest_ref (is any) and + * is responsible of freeing the memory when done. + * The size argument is the size of the src buffer. On return the dest_ref points to a buffer sized size+2.*/ +int _synctex_copy_with_quoting_last_path_component(const char *src, char **dest_ref, size_t size); + +/* These are the possible extensions of the synctex file */ +extern const char *synctex_suffix; +extern const char *synctex_suffix_gz; + +typedef unsigned int synctex_io_mode_t; + +typedef enum { synctex_io_append_mask = 1, synctex_io_gz_mask = synctex_io_append_mask << 1 } synctex_io_mode_masks_t; + +typedef enum { synctex_compress_mode_none = 0, synctex_compress_mode_gz = 1 } synctex_compress_mode_t; + +int _synctex_get_name(const char *output, const char *build_directory, char **synctex_name_ref, synctex_io_mode_t *io_mode_ref); + +/* returns the correct mode required by fopen and gzopen from the given io_mode */ +const char *_synctex_get_io_mode_name(synctex_io_mode_t io_mode); + +synctex_bool_t synctex_ignore_leading_dot_slash_in_path(const char **name); + +#ifdef __cplusplus +} +#endif + +#endif +#endif /* SYNCTEX_PARSER_UTILS_H */ diff --git a/core/synctex/synctex_parser_version.txt b/core/synctex/synctex_parser_version.txt new file mode 100644 index 0000000..bc44934 --- /dev/null +++ b/core/synctex/synctex_parser_version.txt @@ -0,0 +1 @@ +1.19 diff --git a/core/textdocumentgenerator.cpp b/core/textdocumentgenerator.cpp new file mode 100644 index 0000000..33cf4da --- /dev/null +++ b/core/textdocumentgenerator.cpp @@ -0,0 +1,561 @@ +/* + SPDX-FileCopyrightText: 2007 Tobias Koenig + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "textdocumentgenerator.h" +#include "textdocumentgenerator_p.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "action.h" +#include "annotations.h" +#include "document_p.h" +#include "page.h" +#include "textpage.h" + +#include + +using namespace Okular; + +/** + * Generic Converter Implementation + */ +TextDocumentConverter::TextDocumentConverter() + : QObject(nullptr) + , d_ptr(new TextDocumentConverterPrivate) +{ +} + +TextDocumentConverter::~TextDocumentConverter() +{ + delete d_ptr; +} + +QTextDocument *TextDocumentConverter::convert(const QString &) +{ + return nullptr; +} + +Document::OpenResult TextDocumentConverter::convertWithPassword(const QString &fileName, const QString &) +{ + QTextDocument *doc = convert(fileName); + setDocument(doc); + return doc != nullptr ? Document::OpenSuccess : Document::OpenError; +} + +QTextDocument *TextDocumentConverter::document() +{ + return d_ptr->mDocument; +} + +void TextDocumentConverter::setDocument(QTextDocument *document) +{ + d_ptr->mDocument = document; +} + +DocumentViewport TextDocumentConverter::calculateViewport(QTextDocument *document, const QTextBlock &block) +{ + return TextDocumentUtils::calculateViewport(document, block); +} + +TextDocumentGenerator *TextDocumentConverter::generator() const +{ + return d_ptr->mParent ? d_ptr->mParent->q_func() : nullptr; +} + +/** + * Generic Generator Implementation + */ +Okular::TextPage *TextDocumentGeneratorPrivate::createTextPage(int pageNumber) const +{ +#ifdef OKULAR_TEXTDOCUMENT_THREADED_RENDERING + Q_Q(const TextDocumentGenerator); +#endif + + Okular::TextPage *textPage = new Okular::TextPage; + + int start, end; + +#ifdef OKULAR_TEXTDOCUMENT_THREADED_RENDERING + q->userMutex()->lock(); +#endif + TextDocumentUtils::calculatePositions(mDocument, pageNumber, start, end); + + { + QTextCursor cursor(mDocument); + for (int i = start; i < end - 1; ++i) { + cursor.setPosition(i); + cursor.setPosition(i + 1, QTextCursor::KeepAnchor); + + QString text = cursor.selectedText(); + if (text.length() == 1) { + QRectF rect; + TextDocumentUtils::calculateBoundingRect(mDocument, i, i + 1, rect, pageNumber); + if (pageNumber == -1) { + text = QStringLiteral("\n"); + } + + textPage->append(text, Okular::NormalizedRect(rect.left(), rect.top(), rect.right(), rect.bottom())); + } + } + } +#ifdef OKULAR_TEXTDOCUMENT_THREADED_RENDERING + q->userMutex()->unlock(); +#endif + + return textPage; +} + +void TextDocumentGeneratorPrivate::addAction(Action *action, int cursorBegin, int cursorEnd) +{ + if (!action) { + return; + } + + LinkPosition position; + position.link = action; + position.startPosition = cursorBegin; + position.endPosition = cursorEnd; + + mLinkPositions.append(position); +} + +void TextDocumentGeneratorPrivate::addAnnotation(Annotation *annotation, int cursorBegin, int cursorEnd) +{ + if (!annotation) { + return; + } + + annotation->setFlags(annotation->flags() | Okular::Annotation::External); + + AnnotationPosition position; + position.annotation = annotation; + position.startPosition = cursorBegin; + position.endPosition = cursorEnd; + + mAnnotationPositions.append(position); +} + +void TextDocumentGeneratorPrivate::addTitle(int level, const QString &title, const QTextBlock &block) +{ + TitlePosition position; + position.level = level; + position.title = title; + position.block = block; + + mTitlePositions.append(position); +} + +void TextDocumentGeneratorPrivate::addMetaData(DocumentInfo::Key key, const QString &value) +{ + mDocumentInfo.set(key, value); +} + +QList TextDocumentGeneratorPrivate::generateLinkInfos() const +{ + QList result; + + for (const LinkPosition &linkPosition : mLinkPositions) { + const QList rects = TextDocumentUtils::calculateBoundingRects(mDocument, linkPosition.startPosition, linkPosition.endPosition); + + for (int i = 0; i < rects.count(); ++i) { + const QRectF &rect = rects[i]; + + LinkInfo info; + info.link = linkPosition.link; + info.ownsLink = i == 0; + info.page = std::floor(rect.y()); + info.boundingRect = QRectF(rect.x(), rect.y() - info.page, rect.width(), rect.height()); + result.append(info); + } + } + + return result; +} + +QList TextDocumentGeneratorPrivate::generateAnnotationInfos() const +{ + QList result; + + for (int i = 0; i < mAnnotationPositions.count(); ++i) { + const AnnotationPosition &annotationPosition = mAnnotationPositions[i]; + + AnnotationInfo info; + info.annotation = annotationPosition.annotation; + + TextDocumentUtils::calculateBoundingRect(mDocument, annotationPosition.startPosition, annotationPosition.endPosition, info.boundingRect, info.page); + + if (info.page >= 0) { + result.append(info); + } + } + + return result; +} + +void TextDocumentGeneratorPrivate::generateTitleInfos() +{ + QStack> parentNodeStack; + + QDomNode parentNode = mDocumentSynopsis; + + parentNodeStack.push(qMakePair(0, parentNode)); + + for (int i = 0; i < mTitlePositions.count(); ++i) { + const TitlePosition &position = mTitlePositions[i]; + + Okular::DocumentViewport viewport = TextDocumentUtils::calculateViewport(mDocument, position.block); + + QDomElement item = mDocumentSynopsis.createElement(position.title); + item.setAttribute(QStringLiteral("Viewport"), viewport.toString()); + + int headingLevel = position.level; + + // we need a parent, which has to be at a higher heading level than this heading level + // so we just work through the stack + while (!parentNodeStack.isEmpty()) { + int parentLevel = parentNodeStack.top().first; + if (parentLevel < headingLevel) { + // this is OK as a parent + parentNode = parentNodeStack.top().second; + break; + } else { + // we'll need to be further into the stack + parentNodeStack.pop(); + } + } + parentNode.appendChild(item); + parentNodeStack.push(qMakePair(headingLevel, QDomNode(item))); + } +} + +void TextDocumentGeneratorPrivate::initializeGenerator() +{ + Q_Q(TextDocumentGenerator); + + mConverter->d_ptr->mParent = q->d_func(); + + if (mGeneralSettings) { + mFont = mGeneralSettings->font(); + } + + q->setFeature(Generator::TextExtraction); + q->setFeature(Generator::PrintNative); + q->setFeature(Generator::PrintToFile); +#ifdef OKULAR_TEXTDOCUMENT_THREADED_RENDERING + q->setFeature(Generator::Threaded); +#endif + + QObject::connect(mConverter, &TextDocumentConverter::addAction, q, [this](Action *a, int cb, int ce) { addAction(a, cb, ce); }); + QObject::connect(mConverter, &TextDocumentConverter::addAnnotation, q, [this](Annotation *a, int cb, int ce) { addAnnotation(a, cb, ce); }); + QObject::connect(mConverter, &TextDocumentConverter::addTitle, q, [this](int l, const QString &t, const QTextBlock &b) { addTitle(l, t, b); }); + QObject::connect(mConverter, &TextDocumentConverter::addMetaData, q, [this](DocumentInfo::Key k, const QString &v) { addMetaData(k, v); }); + + QObject::connect(mConverter, &TextDocumentConverter::error, q, &Generator::error); + QObject::connect(mConverter, &TextDocumentConverter::warning, q, &Generator::warning); + QObject::connect(mConverter, &TextDocumentConverter::notice, q, &Generator::notice); +} + +TextDocumentGenerator::TextDocumentGenerator(TextDocumentConverter *converter, const QString &configName, QObject *parent, const QVariantList &args) + : Okular::Generator(*new TextDocumentGeneratorPrivate(converter), parent, args) +{ + Q_D(TextDocumentGenerator); + d->mGeneralSettings = new TextDocumentSettings(configName, this); + + d->initializeGenerator(); +} + +TextDocumentGenerator::~TextDocumentGenerator() +{ +} + +Document::OpenResult TextDocumentGenerator::loadDocumentWithPassword(const QString &fileName, QList &pagesVector, const QString &password) +{ + Q_D(TextDocumentGenerator); + const Document::OpenResult openResult = d->mConverter->convertWithPassword(fileName, password); + + if (openResult != Document::OpenSuccess) { + d->mDocument = nullptr; + + // loading failed, cleanup all the stuff eventually gathered from the converter + d->mTitlePositions.clear(); + for (const TextDocumentGeneratorPrivate::LinkPosition &linkPos : std::as_const(d->mLinkPositions)) { + delete linkPos.link; + } + d->mLinkPositions.clear(); + for (const TextDocumentGeneratorPrivate::AnnotationPosition &annPos : std::as_const(d->mAnnotationPositions)) { + delete annPos.annotation; + } + d->mAnnotationPositions.clear(); + + return openResult; + } + d->mDocument = d->mConverter->document(); + + d->generateTitleInfos(); + const QList linkInfos = d->generateLinkInfos(); + const QList annotationInfos = d->generateAnnotationInfos(); + + pagesVector.resize(d->mDocument->pageCount()); + + const QSize size = d->mDocument->pageSize().toSize(); + + QList> objects(d->mDocument->pageCount()); + for (const TextDocumentGeneratorPrivate::LinkInfo &info : linkInfos) { + // in case that the converter report bogus link info data, do not assert here + if (info.page < 0 || info.page >= objects.count()) { + continue; + } + + const QRectF rect = info.boundingRect; + if (info.ownsLink) { + objects[info.page].append(new Okular::ObjectRect(rect.left(), rect.top(), rect.right(), rect.bottom(), false, Okular::ObjectRect::Action, info.link)); + } else { + objects[info.page].append(new Okular::NonOwningObjectRect(rect.left(), rect.top(), rect.right(), rect.bottom(), false, Okular::ObjectRect::Action, info.link)); + } + } + + QList> annots(d->mDocument->pageCount()); + for (const TextDocumentGeneratorPrivate::AnnotationInfo &info : annotationInfos) { + annots[info.page].append(info.annotation); + } + + for (int i = 0; i < d->mDocument->pageCount(); ++i) { + Okular::Page *page = new Okular::Page(i, size.width(), size.height(), Okular::Rotation0); + pagesVector[i] = page; + + if (!objects.at(i).isEmpty()) { + page->setObjectRects(objects.at(i)); + } + QList::ConstIterator annIt = annots.at(i).begin(), annEnd = annots.at(i).end(); + for (; annIt != annEnd; ++annIt) { + page->addAnnotation(*annIt); + } + } + + return openResult; +} + +bool TextDocumentGenerator::doCloseDocument() +{ + Q_D(TextDocumentGenerator); + delete d->mDocument; + d->mDocument = nullptr; + + d->mTitlePositions.clear(); + d->mLinkPositions.clear(); + d->mAnnotationPositions.clear(); + // do not use clear() for the following two, otherwise they change type + d->mDocumentInfo = Okular::DocumentInfo(); + d->mDocumentSynopsis = Okular::DocumentSynopsis(); + + return true; +} + +bool TextDocumentGenerator::canGeneratePixmap() const +{ + return Generator::canGeneratePixmap(); +} + +void TextDocumentGenerator::generatePixmap(Okular::PixmapRequest *request) +{ + Generator::generatePixmap(request); +} + +QImage TextDocumentGeneratorPrivate::image(PixmapRequest *request) +{ + if (!mDocument) { + return QImage(); + } + +#ifdef OKULAR_TEXTDOCUMENT_THREADED_RENDERING + Q_Q(const TextDocumentGenerator); +#endif + + QImage image(request->width(), request->height(), QImage::Format_ARGB32); + image.fill(Qt::white); + + QPainter p; + p.begin(&image); + + qreal width = request->width(); + qreal height = request->height(); + + const QSize size = mDocument->pageSize().toSize(); + + p.scale(width / (qreal)size.width(), height / (qreal)size.height()); + + const QRect rect = QRect(0, request->pageNumber() * size.height(), size.width(), size.height()); + p.translate(QPoint(0, request->pageNumber() * size.height() * -1)); + p.setClipRect(rect); +#ifdef OKULAR_TEXTDOCUMENT_THREADED_RENDERING + q->userMutex()->lock(); +#endif + QAbstractTextDocumentLayout::PaintContext context; + context.palette.setColor(QPalette::Text, Qt::black); + context.clip = rect; + mDocument->setDefaultFont(mFont); + mDocument->documentLayout()->draw(&p, context); +#ifdef OKULAR_TEXTDOCUMENT_THREADED_RENDERING + q->userMutex()->unlock(); +#endif + p.end(); + + return image; +} + +Okular::TextPage *TextDocumentGenerator::textPage(Okular::TextRequest *request) +{ + Q_D(TextDocumentGenerator); + return d->createTextPage(request->page()->number()); +} + +Document::PrintError TextDocumentGenerator::print(QPrinter &printer) +{ + Q_D(TextDocumentGenerator); + if (!d->mDocument) { + return Document::UnknownPrintError; + } + + d->mDocument->print(&printer); + + return Document::NoPrintError; +} + +Okular::DocumentInfo TextDocumentGenerator::generateDocumentInfo(const QSet & /*keys*/) const +{ + Q_D(const TextDocumentGenerator); + return d->mDocumentInfo; +} + +const Okular::DocumentSynopsis *TextDocumentGenerator::generateDocumentSynopsis() +{ + Q_D(TextDocumentGenerator); + if (!d->mDocumentSynopsis.hasChildNodes()) { + return nullptr; + } else { + return &d->mDocumentSynopsis; + } +} + +QVariant TextDocumentGeneratorPrivate::metaData(const QString &key, const QVariant &option) const +{ + Q_UNUSED(option) + if (key == QLatin1String("DocumentTitle")) { + return mDocumentInfo.get(DocumentInfo::Title); + } + return QVariant(); +} + +Okular::ExportFormat::List TextDocumentGenerator::exportFormats() const +{ + static Okular::ExportFormat::List formats; + if (formats.isEmpty()) { + formats.append(Okular::ExportFormat::standardFormat(Okular::ExportFormat::PlainText)); + formats.append(Okular::ExportFormat::standardFormat(Okular::ExportFormat::PDF)); + if (QTextDocumentWriter::supportedDocumentFormats().contains("ODF")) { + formats.append(Okular::ExportFormat::standardFormat(Okular::ExportFormat::OpenDocumentText)); + } + if (QTextDocumentWriter::supportedDocumentFormats().contains("HTML")) { + formats.append(Okular::ExportFormat::standardFormat(Okular::ExportFormat::HTML)); + } + } + + return formats; +} + +bool TextDocumentGenerator::exportTo(const QString &fileName, const Okular::ExportFormat &format) +{ + Q_D(TextDocumentGenerator); + if (!d->mDocument) { + return false; + } + + if (format.mimeType().name() == QLatin1String("application/pdf")) { + QFile file(fileName); + if (!file.open(QIODevice::WriteOnly)) { + return false; + } + + QPrinter printer(QPrinter::HighResolution); + printer.setOutputFormat(QPrinter::PdfFormat); + printer.setOutputFileName(fileName); + d->mDocument->print(&printer); + + return true; + } else if (format.mimeType().name() == QLatin1String("text/plain")) { + QFile file(fileName); + if (!file.open(QIODevice::WriteOnly)) { + return false; + } + + QTextStream out(&file); + out << d->mDocument->toPlainText(); + + return true; + } else if (format.mimeType().name() == QLatin1String("application/vnd.oasis.opendocument.text")) { + QTextDocumentWriter odfWriter(fileName, "odf"); + + return odfWriter.write(d->mDocument); + } else if (format.mimeType().name() == QLatin1String("text/html")) { + QTextDocumentWriter odfWriter(fileName, "html"); + + return odfWriter.write(d->mDocument); + } + return false; +} + +bool TextDocumentGenerator::reparseConfig() +{ + Q_D(TextDocumentGenerator); + const QFont newFont = d->mGeneralSettings->font(); + + if (newFont != d->mFont) { + d->mFont = newFont; + return true; + } + + return false; +} + +void TextDocumentGenerator::addPages(KConfigDialog * /*dlg*/) +{ + qCWarning(OkularCoreDebug) << "You forgot to reimplement addPages in your TextDocumentGenerator"; + return; +} + +TextDocumentSettings *TextDocumentGenerator::generalSettings() +{ + Q_D(TextDocumentGenerator); + + return d->mGeneralSettings; +} + +TextDocumentConverter *TextDocumentGenerator::converter() +{ + Q_D(TextDocumentGenerator); + + return d->mConverter; +} + +void TextDocumentGenerator::setTextDocument(QTextDocument *textDocument) +{ + Q_D(TextDocumentGenerator); + + d->mDocument = textDocument; + + for (Page *p : std::as_const(d->m_document->m_pagesVector)) { + p->setTextPage(nullptr); + } +} diff --git a/core/textdocumentgenerator.h b/core/textdocumentgenerator.h new file mode 100644 index 0000000..47958a4 --- /dev/null +++ b/core/textdocumentgenerator.h @@ -0,0 +1,221 @@ +/* + SPDX-FileCopyrightText: 2007 Tobias Koenig + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_TEXTDOCUMENTGENERATOR_H_ +#define _OKULAR_TEXTDOCUMENTGENERATOR_H_ + +#include "okularcore_export.h" + +#include "../interfaces/configinterface.h" +#include "document.h" +#include "generator.h" +#include "textdocumentsettings.h" + +class QTextBlock; +class QTextDocument; + +namespace Okular +{ +class TextDocumentConverterPrivate; +class TextDocumentGenerator; +class TextDocumentGeneratorPrivate; + +class OKULARCORE_EXPORT TextDocumentConverter : public QObject +{ + Q_OBJECT + + friend class TextDocumentGenerator; + friend class TextDocumentGeneratorPrivate; + +public: + /** + * Creates a new generic converter. + */ + TextDocumentConverter(); + + /** + * Destroys the generic converter. + */ + ~TextDocumentConverter() override; + + /** + * Returns the generated QTextDocument object. The caller takes ownership of the QTextDocument + * + * @note there is no need to implement this one if you implement convertWithPassword + */ + virtual QTextDocument *convert(const QString &fileName); + + /** + * Returns the generated QTextDocument object. + */ + virtual Document::OpenResult convertWithPassword(const QString &fileName, const QString &password); + + /** + * Returns the generated QTextDocument object. Will be null if convert didn't succeed + */ + QTextDocument *document(); + +Q_SIGNALS: + /** + * Adds a new link object which is located between cursorBegin and + * cursorEnd to the generator. + */ + void addAction(Okular::Action *link, int cursorBegin, int cursorEnd); + + /** + * Adds a new annotation object which is located between cursorBegin and + * cursorEnd to the generator. + */ + void addAnnotation(Okular::Annotation *annotation, int cursorBegin, int cursorEnd); + + /** + * Adds a new title at the given level which is located as position to the generator. + */ + void addTitle(int level, const QString &title, const QTextBlock &position); + + /** + * Adds a set of meta data to the generator. + * + * @since 0.7 (KDE 4.1) + */ + void addMetaData(Okular::DocumentInfo::Key key, const QString &value); + + /** + * This signal should be emitted whenever an error occurred in the converter. + * + * @param message The message which should be shown to the user. + * @param duration The time that the message should be shown to the user. + */ + void error(const QString &message, int duration); + + /** + * This signal should be emitted whenever the user should be warned. + * + * @param message The message which should be shown to the user. + * @param duration The time that the message should be shown to the user. + */ + void warning(const QString &message, int duration); + + /** + * This signal should be emitted whenever the user should be noticed. + * + * @param message The message which should be shown to the user. + * @param duration The time that the message should be shown to the user. + */ + void notice(const QString &message, int duration); + +protected: + /** + * Sets the converted QTextDocument object. + */ + void setDocument(QTextDocument *document); + + /** + * This method can be used to calculate the viewport for a given text block. + * + * @note This method should be called at the end of the conversion, because it + * triggers QTextDocument to do the layout calculation. + */ + DocumentViewport calculateViewport(QTextDocument *document, const QTextBlock &block); + + /** + * Returns the generator that owns this converter. + * + * @note May be null if the converter was not created for a generator. + * + * @since 0.7 (KDE 4.1) + */ + TextDocumentGenerator *generator() const; + +private: + TextDocumentConverterPrivate *d_ptr; + Q_DECLARE_PRIVATE(TextDocumentConverter) + Q_DISABLE_COPY(TextDocumentConverter) +}; + +/** + * @brief QTextDocument-based Generator + * + * This generator provides a document in the form of a QTextDocument object, + * parsed using a specialized TextDocumentConverter. + */ +class OKULARCORE_EXPORT TextDocumentGenerator : public Generator, public Okular::ConfigInterface +{ + /// @cond PRIVATE + friend class TextDocumentConverter; + /// @endcond + + Q_OBJECT + Q_INTERFACES(Okular::ConfigInterface) + +public: + /** + * Creates a new generator that uses the specified @p converter. + * + * @param converter The text document converter. + * @param configName - see Okular::TextDocumentSettings + * @param parent The parent object. + * @param args The arguments. + * + * @note the generator will take ownership of the converter, so you + * don't have to delete it yourself + * @since 0.17 (KDE 4.11) + */ + TextDocumentGenerator(TextDocumentConverter *converter, const QString &configName, QObject *parent, const QVariantList &args); + + ~TextDocumentGenerator() override; + + // [INHERITED] load a document and fill up the pagesVector + Document::OpenResult loadDocumentWithPassword(const QString &fileName, QList &pagesVector, const QString &password) override; + + // [INHERITED] perform actions on document / pages + bool canGeneratePixmap() const override; + void generatePixmap(Okular::PixmapRequest *request) override; + + // [INHERITED] print document using already configured QPrinter + Document::PrintError print(QPrinter &printer) override; + + // [INHERITED] text exporting + Okular::ExportFormat::List exportFormats() const override; + bool exportTo(const QString &fileName, const Okular::ExportFormat &format) override; + + // [INHERITED] config interface + /// By default checks if the default font has changed or not + bool reparseConfig() override; + /// Does nothing by default. You need to reimplement it in your generator + void addPages(KConfigDialog *dlg) override; + + /** + * Config skeleton for TextDocumentSettingsWidget + * + * You must use new constructor to initialize TextDocumentSettings, + * that contain @p configName . + * + * @since 0.17 (KDE 4.11) + */ + TextDocumentSettings *generalSettings(); + + Okular::DocumentInfo generateDocumentInfo(const QSet &keys) const override; + const Okular::DocumentSynopsis *generateDocumentSynopsis() override; + +protected: + bool doCloseDocument() override; + Okular::TextPage *textPage(Okular::TextRequest *request) override; + + /* @since 1.8 */ + TextDocumentConverter *converter(); + + /* @since 1.8 */ + void setTextDocument(QTextDocument *textDocument); + +private: + Q_DECLARE_PRIVATE(TextDocumentGenerator) + Q_DISABLE_COPY(TextDocumentGenerator) +}; + +} + +#endif diff --git a/core/textdocumentgenerator_p.h b/core/textdocumentgenerator_p.h new file mode 100644 index 0000000..1431134 --- /dev/null +++ b/core/textdocumentgenerator_p.h @@ -0,0 +1,255 @@ +/* + SPDX-FileCopyrightText: 2007 Tobias Koenig + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_TEXTDOCUMENTGENERATOR_P_H_ +#define _OKULAR_TEXTDOCUMENTGENERATOR_P_H_ + +#include +#include +#include + +#include "action.h" +#include "debug_p.h" +#include "document.h" +#include "generator_p.h" +#include "textdocumentgenerator.h" + +namespace Okular +{ +namespace TextDocumentUtils +{ +static void calculateBoundingRect(QTextDocument *document, int startPosition, int endPosition, QRectF &rect, int &page) +{ + const QSizeF pageSize = document->pageSize(); + + const QTextBlock startBlock = document->findBlock(startPosition); + const QRectF startBoundingRect = document->documentLayout()->blockBoundingRect(startBlock); + + const QTextBlock endBlock = document->findBlock(endPosition); + const QRectF endBoundingRect = document->documentLayout()->blockBoundingRect(endBlock); + + const QTextLayout *startLayout = startBlock.layout(); + const QTextLayout *endLayout = endBlock.layout(); + if (!startLayout || !endLayout) { + qCWarning(OkularCoreDebug) << "Start or end layout not found" << startLayout << endLayout; + page = -1; + return; + } + + const int startPos = startPosition - startBlock.position(); + const int endPos = endPosition - endBlock.position(); + const QTextLine startLine = startLayout->lineForTextPosition(startPos); + const QTextLine endLine = endLayout->lineForTextPosition(endPos); + + const double x = startBoundingRect.x() + startLine.cursorToX(startPos); + const double y = startBoundingRect.y() + startLine.y(); + const double r = endBoundingRect.x() + endLine.cursorToX(endPos); + const double b = endBoundingRect.y() + endLine.y() + endLine.height(); + + const int offset = qRound(y) % qRound(pageSize.height()); + + if (x > r) { // line break, so return a pseudo character on the start line + rect = QRectF(x / pageSize.width(), offset / pageSize.height(), 3 / pageSize.width(), startLine.height() / pageSize.height()); + page = -1; + return; + } + + page = qRound(y) / qRound(pageSize.height()); + rect = QRectF(x / pageSize.width(), offset / pageSize.height(), (r - x) / pageSize.width(), (b - y) / pageSize.height()); +} + +static QList calculateBoundingRects(QTextDocument *document, int startPosition, int endPosition) +{ + QList result; + + const QSizeF pageSize = document->pageSize(); + + const QTextBlock startBlock = document->findBlock(startPosition); + const QRectF startBoundingRect = document->documentLayout()->blockBoundingRect(startBlock); + + const QTextBlock endBlock = document->findBlock(endPosition); + const QRectF endBoundingRect = document->documentLayout()->blockBoundingRect(endBlock); + + const QTextLayout *startLayout = startBlock.layout(); + const QTextLayout *endLayout = endBlock.layout(); + if (!startLayout || !endLayout) { + qCWarning(OkularCoreDebug) << "Start or end layout not found" << startLayout << endLayout; + return {}; + } + + const int startPos = startPosition - startBlock.position(); + const int endPos = endPosition - endBlock.position(); + const QTextLine startLine = startLayout->lineForTextPosition(startPos); + const QTextLine endLine = endLayout->lineForTextPosition(endPos); + + // This only works if both start and end layout are the same + if (startLayout == endLayout) { + Q_ASSERT(startBoundingRect == endBoundingRect); + for (int i = startLine.lineNumber(); i < endLine.lineNumber(); ++i) { + const QTextLine line = startLayout->lineAt(i); + // using startPos and endPos is fine, if the pos is out of bounds for that line, it'll return beginning and end of line respectively + const double x = endBoundingRect.x() + line.cursorToX(startPos); + const double y = endBoundingRect.y() + line.y(); + const double r = endBoundingRect.x() + line.cursorToX(endPos); + const double b = endBoundingRect.y() + line.y() + endLine.height(); + + result.append(QRectF(x / pageSize.width(), y / pageSize.height(), (r - x) / pageSize.width(), (b - y) / pageSize.height())); + } + + // The last line + const double x = endBoundingRect.x() + endLine.cursorToX(startPos); + const double y = endBoundingRect.y() + endLine.y(); + const double r = endBoundingRect.x() + endLine.cursorToX(endPos); + const double b = endBoundingRect.y() + endLine.y() + endLine.height(); + + result.append(QRectF(x / pageSize.width(), y / pageSize.height(), (r - x) / pageSize.width(), (b - y) / pageSize.height())); + } else { + const double x = startBoundingRect.x() + startLine.cursorToX(startPos); + const double y = startBoundingRect.y() + startLine.y(); + const double r = endBoundingRect.x() + endLine.cursorToX(endPos); + const double b = endBoundingRect.y() + endLine.y() + endLine.height(); + + result.append(QRectF(x / pageSize.width(), y / pageSize.height(), (r - x) / pageSize.width(), (b - y) / pageSize.height())); + } + + return result; +} + +static void calculatePositions(QTextDocument *document, int page, int &start, int &end) +{ + const QAbstractTextDocumentLayout *layout = document->documentLayout(); + const QSizeF pageSize = document->pageSize(); + const double margin = document->rootFrame()->frameFormat().margin(); + + /** + * Take the upper left and lower left corner including the margin + */ + start = layout->hitTest(QPointF(margin, (page * pageSize.height()) + margin), Qt::FuzzyHit); + end = layout->hitTest(QPointF(margin, ((page + 1) * pageSize.height()) - margin), Qt::FuzzyHit); +} + +static Okular::DocumentViewport calculateViewport(QTextDocument *document, const QTextBlock &block) +{ + const QSizeF pageSize = document->pageSize(); + const QRectF rect = document->documentLayout()->blockBoundingRect(block); + + int page = qRound(rect.y()) / qRound(pageSize.height()); + int offset = qRound(rect.y()) % qRound(pageSize.height()); + if (rect.y() + rect.height() > pageSize.height()) { + page = page + 1; + offset = 0; + } + + Okular::DocumentViewport viewport(page); + viewport.rePos.normalizedX = (double)rect.x() / (double)pageSize.width(); + viewport.rePos.normalizedY = (double)offset / (double)pageSize.height(); + viewport.rePos.enabled = true; + viewport.rePos.pos = Okular::DocumentViewport::Center; + + return viewport; +} +} + +class TextDocumentConverterPrivate +{ +public: + TextDocumentConverterPrivate() + : mParent(nullptr) + , mDocument(nullptr) + { + } + + TextDocumentGeneratorPrivate *mParent; + QTextDocument *mDocument; +}; + +class TextDocumentGeneratorPrivate : public GeneratorPrivate +{ + friend class TextDocumentConverter; + +public: + explicit TextDocumentGeneratorPrivate(TextDocumentConverter *converter) + : mConverter(converter) + , mDocument(nullptr) + , mGeneralSettings(nullptr) + { + } + + ~TextDocumentGeneratorPrivate() override + { + delete mConverter; + delete mDocument; + } + + void initializeGenerator(); + + struct LinkInfo { + int page; + QRectF boundingRect; + Action *link; + bool ownsLink; + }; + + struct AnnotationInfo { + int page; + QRectF boundingRect; + Annotation *annotation; + }; + + Q_DECLARE_PUBLIC(TextDocumentGenerator) + + /* reimp */ QVariant metaData(const QString &key, const QVariant &option) const override; + /* reimp */ QImage image(PixmapRequest *) override; + + void calculateBoundingRect(int startPosition, int endPosition, QRectF &rect, int &page) const; + void calculatePositions(int page, int &start, int &end) const; + Okular::TextPage *createTextPage(int) const; + + void addAction(Action *action, int cursorBegin, int cursorEnd); + void addAnnotation(Annotation *annotation, int cursorBegin, int cursorEnd); + void addTitle(int level, const QString &title, const QTextBlock &block); + void addMetaData(const QString &key, const QString &value, const QString &title); + void addMetaData(DocumentInfo::Key, const QString &value); + + QList generateLinkInfos() const; + QList generateAnnotationInfos() const; + void generateTitleInfos(); + + TextDocumentConverter *mConverter; + + QTextDocument *mDocument; + Okular::DocumentInfo mDocumentInfo; + Okular::DocumentSynopsis mDocumentSynopsis; + + struct TitlePosition { + int level; + QString title; + QTextBlock block; + }; + QList mTitlePositions; + + struct LinkPosition { + int startPosition; + int endPosition; + Action *link; + }; + QList mLinkPositions; + + struct AnnotationPosition { + int startPosition; + int endPosition; + Annotation *annotation; + }; + QList mAnnotationPositions; + + TextDocumentSettings *mGeneralSettings; + + QFont mFont; +}; + +} + +#endif diff --git a/core/textdocumentsettings.cpp b/core/textdocumentsettings.cpp new file mode 100644 index 0000000..d10fcb9 --- /dev/null +++ b/core/textdocumentsettings.cpp @@ -0,0 +1,70 @@ +/* + SPDX-FileCopyrightText: 2013 Azat Khuzhin + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "textdocumentsettings.h" +#include "textdocumentsettings_p.h" +#include "ui_textdocumentsettings.h" + +#include +#include + +using namespace Okular; + +/** + * TextDocumentSettingsWidget + */ + +TextDocumentSettingsWidget::TextDocumentSettingsWidget(QWidget *parent) + : QWidget(parent) + , d_ptr(new TextDocumentSettingsWidgetPrivate(new Ui_TextDocumentSettings())) +{ + Q_D(TextDocumentSettingsWidget); + + d->mUi->setupUi(this); + + // @notice I think this will be useful in future. +#define ADD_WIDGET(property, widget, objectName, labelName) \ + d->property = new widget(this); \ + d->property->setObjectName(QString::fromUtf8(objectName)); \ + addRow(labelName, d->property); + + ADD_WIDGET(mFont, KFontRequester, "kcfg_Font", i18n("&Default Font:")); +#undef ADD_WIDGET +} + +TextDocumentSettingsWidget::~TextDocumentSettingsWidget() +{ + Q_D(TextDocumentSettingsWidget); + + delete d->mUi; + delete d; +} + +void TextDocumentSettingsWidget::addRow(const QString &labelText, QWidget *widget) +{ + Q_D(TextDocumentSettingsWidget); + + d->mUi->formLayout->addRow(labelText, widget); +} + +/** + * TextDocumentSettings + */ + +TextDocumentSettings::TextDocumentSettings(const QString &config, QObject *parent) + : KConfigSkeleton(config, parent) + , d_ptr(new TextDocumentSettingsPrivate(this)) +{ + Q_D(TextDocumentSettings); + + addItemFont(QStringLiteral("Font"), d->mFont); +} + +QFont TextDocumentSettings::font() const +{ + Q_D(const TextDocumentSettings); + return d->mFont; +} diff --git a/core/textdocumentsettings.h b/core/textdocumentsettings.h new file mode 100644 index 0000000..9d2791f --- /dev/null +++ b/core/textdocumentsettings.h @@ -0,0 +1,122 @@ +/* + SPDX-FileCopyrightText: 2013 Azat Khuzhin + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_TEXTDOCUMENTSETTINGS_H_ +#define _OKULAR_TEXTDOCUMENTSETTINGS_H_ + +#include "okularcore_export.h" + +#include +#include +#include +#include + +namespace Okular +{ +class TextDocumentSettingsWidgetPrivate; +class TextDocumentSettingsPrivate; + +/** + * Here is example of how you can add custom settings per-backend: + * + * In .h header: + * \code + * class KIntSpinBox; + * ... + * + * class YourGenerator + * { + * ... + * public: + * bool reparseConfig(); + * void addPages( KConfigDialog* dlg ); + * ... + * private: + * QString customArgument; + * KIntSpinBox *customArgumentWidget; + * ... + * } + * \endcode + * + * In .cpp module: + * \code + * #include + * ... + * bool YourGenerator::reparseConfig() + * { + * ... Do something with customArgumentWidget and customArgument ... + * } + * void YourGenerator::addPages( KConfigDialog* dlg ) + * { + * Okular::TextDocumentSettingsWidget *widget = new Okular::TextDocumentSettingsWidget(); + * + * KIntSpinBox *customArgumentWidget = new KIntSpinBox( dlg ); + * customArgumentWidget->setObjectName( QString::fromUtf8( "kcfg_CustomArgument" ) ); + * widget->addRow( "Custom argument", customArgumentWidget ); + * + * Okular::TextDocumentSettings *settings = generalSettings(); + * settings->addItemString( "CustomArgument", customArgument ); + * + * dlg->addPage( widget, settings, ... ); + * } + * \endcode + */ + +/** + * TextDocumentSettingsWidget + * + * Contain default settings for text based documents. + * (all generators that inherited from TextDocumentGenerator) + * Generator can add settings to this object individually. + * + * @since 0.17 (KDE 4.11) + */ +class OKULARCORE_EXPORT TextDocumentSettingsWidget : public QWidget +{ + Q_OBJECT + +public: + explicit TextDocumentSettingsWidget(QWidget *parent = nullptr); + ~TextDocumentSettingsWidget() override; + + void addRow(const QString &labelText, QWidget *widget); + +private: + friend class TextDocumentGenerator; + + TextDocumentSettingsWidgetPrivate *d_ptr; + Q_DECLARE_PRIVATE(TextDocumentSettingsWidget) + Q_DISABLE_COPY(TextDocumentSettingsWidget) +}; + +/** + * TextDocumentSettings + * + * Contain default settings/config skeleton + * To save/restore settings. + * + * @since 0.17 (KDE 4.11) + */ +class OKULARCORE_EXPORT TextDocumentSettings : public KConfigSkeleton +{ + Q_OBJECT + +public: + QFont font() const; + +private: + friend class TextDocumentGenerator; + + TextDocumentSettings(const QString &config, QObject *parent); + + TextDocumentSettingsPrivate *d_ptr; + Q_DECLARE_PRIVATE(TextDocumentSettings) + Q_DISABLE_COPY(TextDocumentSettings) +}; + +} + +#endif diff --git a/core/textdocumentsettings.ui b/core/textdocumentsettings.ui new file mode 100644 index 0000000..f72d014 --- /dev/null +++ b/core/textdocumentsettings.ui @@ -0,0 +1,13 @@ + + + TextDocumentSettings + + + + QFormLayout::ExpandingFieldsGrow + + + + + + diff --git a/core/textdocumentsettings_p.h b/core/textdocumentsettings_p.h new file mode 100644 index 0000000..2b68e5b --- /dev/null +++ b/core/textdocumentsettings_p.h @@ -0,0 +1,50 @@ +/* + SPDX-FileCopyrightText: 2013 Azat Khuzhin + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_TEXTDOCUMENTSETTINGS_P_H_ +#define _OKULAR_TEXTDOCUMENTSETTINGS_P_H_ + +#include +#include + +class KFontRequester; +class Ui_TextDocumentSettings; + +namespace Okular +{ +class TextDocumentSettingsWidgetPrivate +{ +public: + /** + * @note the private class won't take ownership of the ui, so you + * must delete it yourself + */ + explicit TextDocumentSettingsWidgetPrivate(Ui_TextDocumentSettings *ui) + : mFont(nullptr) + , mUi(ui) + { + } + + KFontRequester *mFont; + Ui_TextDocumentSettings *mUi; +}; + +class TextDocumentSettingsPrivate : public QObject +{ + Q_OBJECT + +public: + explicit TextDocumentSettingsPrivate(QObject *parent) + : QObject(parent) + { + } + + QFont mFont; +}; + +} + +#endif diff --git a/core/texteditors_p.h b/core/texteditors_p.h new file mode 100644 index 0000000..71f88a6 --- /dev/null +++ b/core/texteditors_p.h @@ -0,0 +1,32 @@ +/* + SPDX-FileCopyrightText: 2008 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef OKULAR_TEXTEDITORS_P_H +#define OKULAR_TEXTEDITORS_P_H + +#include "settings_core.h" + +#include +#include + +namespace Okular +{ +static inline QHash buildEditorsMap() +{ + QHash editors; + editors.insert(SettingsCore::EnumExternalEditor::Kate, QStringLiteral("kate --line %l --column %c")); + editors.insert(SettingsCore::EnumExternalEditor::Kile, QStringLiteral("kile --line %l")); + editors.insert(SettingsCore::EnumExternalEditor::Scite, QStringLiteral("scite %f \"-goto:%l,%c\"")); + editors.insert(SettingsCore::EnumExternalEditor::Emacsclient, QStringLiteral("emacsclient -a emacs --no-wait +%l %f")); + editors.insert(SettingsCore::EnumExternalEditor::Lyxclient, QStringLiteral("lyxclient -g %f %l")); + editors.insert(SettingsCore::EnumExternalEditor::Texstudio, QStringLiteral("texstudio --line %l")); + editors.insert(SettingsCore::EnumExternalEditor::Texifyidea, QStringLiteral("idea --line %l")); + return editors; +} + +} + +#endif diff --git a/core/textpage.cpp b/core/textpage.cpp new file mode 100644 index 0000000..47c1881 --- /dev/null +++ b/core/textpage.cpp @@ -0,0 +1,1748 @@ +/* + SPDX-FileCopyrightText: 2005 Piotr Szymanski + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "textpage.h" +#include "textpage_p.h" + +#include + +#include "area.h" +#include "debug_p.h" +#include "misc.h" +#include "page.h" +#include "page_p.h" +#include + +#include + +#include +#include + +using namespace Okular; +using namespace Qt::Literals::StringLiterals; + +// Many of the strings are being reused; especially +// those less than 2 letters are very common +// Use the implicit shared bits from QString to +// not keep multiple same strings around, but just up the +// refcount a bit +// The main reason for '2' is that most calls here happens +// in auxiliary threads that are following a document +// and keeping the pool thread_local gives quite a bit +// of advantage here. +// Some calls though comes from the main thread, so we +// shouldn't keep all the long strings allocated in the main +// thread around forever. +// '2' has been chosen by random testing, and guesswork. +static QString fromPool(const QString &str) +{ + if (str.length() > 2) { + return str; + } + + thread_local std::unordered_set pool; + auto [iterator, success] = pool.insert(str); + return *iterator; +} + +class SearchPoint +{ +public: + SearchPoint() + : offset_begin(-1) + , offset_end(-1) + { + } + + /** The TextEntity containing the first character of the match. */ + TextEntity::List::ConstIterator it_begin; + + /** The TextEntity containing the last character of the match. */ + TextEntity::List::ConstIterator it_end; + + /** The index of the first character of the match in (*it_begin)->text(). + * Satisfies 0 <= offset_begin < (*it_begin)->text().length(). + */ + int offset_begin; + + /** One plus the index of the last character of the match in (*it_end)->text(). + * Satisfies 0 < offset_end <= (*it_end)->text().length(). + */ + int offset_end; +}; + +/* text comparison functions */ + +static bool CaseInsensitiveCmpFn(QStringView from, QStringView to) +{ +#ifdef DEBUG_TEXTPAGE + qDebug(OkularCoreDebug) << from << ":" << to << "(case insensitive)"; +#endif + return from.compare(to, Qt::CaseInsensitive) == 0; +} + +static bool CaseSensitiveCmpFn(QStringView from, QStringView to) +{ +#ifdef DEBUG_TEXTPAGE + qDebug(OkularCoreDebug) << from << ":" << to << "(case sensitive)"; +#endif + return from.compare(to, Qt::CaseSensitive) == 0; +} + +/** + * Returns true iff segments [@p left1, @p right1] and [@p left2, @p right2] on the real line + * overlap within @p threshold percent, i. e. iff the ratio of the length of the + * intersection of the segments to the length of the shortest of the two input segments + * is not smaller than the threshold. + */ +static bool segmentsOverlap(double left1, double right1, double left2, double right2, int threshold) +{ + // check if one consumes another fully (speed optimization) + + if (left1 <= left2 && right1 >= right2) { + return true; + } + + if (left1 >= left2 && right1 <= right2) { + return true; + } + + // check if there is overlap above threshold + if (right2 >= left1 && right1 >= left2) { + double overlap = (right2 >= right1) ? right1 - left2 : right2 - left1; + + double length1 = right1 - left1, length2 = right2 - left2; + + return overlap * 100 >= threshold * qMin(length1, length2); + } + + return false; +} + +static bool doesConsumeY(const QRect first, const QRect second, int threshold) +{ + return segmentsOverlap(first.top(), first.bottom(), second.top(), second.bottom(), threshold); +} + +static bool doesConsumeY(const NormalizedRect &first, const NormalizedRect &second, int threshold) +{ + return segmentsOverlap(first.top, first.bottom, second.top, second.bottom, threshold); +} + +TextEntity::TextEntity(const QString &text, const NormalizedRect &area) + : m_text(fromPool(text)) + , m_area(area) +{ +} + +TextEntity::~TextEntity() = default; + +QString TextEntity::text() const +{ + return m_text; +} + +NormalizedRect TextEntity::area() const +{ + return m_area; +} + +NormalizedRect TextEntity::transformedArea(const QTransform &matrix) const +{ + NormalizedRect transformed_area = m_area; + transformed_area.transform(matrix); + return transformed_area; +} + +TextPagePrivate::TextPagePrivate() + : m_page(nullptr) +{ +} + +TextPagePrivate::~TextPagePrivate() +{ + qDeleteAll(m_searchPoints); +} + +TextPage::TextPage() + : d(new TextPagePrivate()) +{ +} + +TextPage::TextPage(const TextEntity::List &words) + : d(new TextPagePrivate()) +{ + d->m_words = words; +} + +TextPage::~TextPage() +{ + delete d; +} + +void TextPage::append(const QString &text, const NormalizedRect &area) +{ + if (!text.isEmpty()) { + if (!d->m_words.isEmpty()) { + const TextEntity &lastEntity = d->m_words.last(); + // Unicode Normalization Form KC (NFKC) may alter characters, for example ⑥ to 6, so we use NFC + const QString concatText = lastEntity.text() + text.normalized(QString::NormalizationForm_C); + if (concatText != concatText.normalized(QString::NormalizationForm_C)) { + // If this happens it means that the new text + old one have combined, for example A and ◌̊ form Å + NormalizedRect newArea = area | lastEntity.area(); + d->m_words.removeLast(); + d->m_words.append(TextEntity(concatText.normalized(QString::NormalizationForm_C), newArea)); + return; + } + } + + d->m_words.append(TextEntity(text.normalized(QString::NormalizationForm_C), area)); + } +} + +struct WordWithCharacters { + WordWithCharacters(const TextEntity &w, const TextEntity::List &c) + : word(w) + , characters(c) + { + } + + inline QString text() const + { + return word.text(); + } + + inline NormalizedRect area() const + { + return word.area(); + } + + TextEntity word; + TextEntity::List characters; +}; +typedef QList WordsWithCharacters; + +/** + * We will divide the whole page in some regions depending on the horizontal and + * vertical spacing among different regions. Each region will have an area and an + * associated WordsWithCharacters in sorted order. + */ +class RegionText +{ +public: + RegionText() { }; + + RegionText(const WordsWithCharacters &wordsWithCharacters, const QRect area) + : m_region_wordWithCharacters(wordsWithCharacters) + , m_area(area) + { + } + + inline QString string() const + { + QString res; + for (const WordWithCharacters &word : m_region_wordWithCharacters) { + res += word.text(); + } + return res; + } + + inline WordsWithCharacters text() const + { + return m_region_wordWithCharacters; + } + + inline QRect area() const + { + return m_area; + } + + inline void setArea(const QRect area) + { + m_area = area; + } + + inline void setText(const WordsWithCharacters &wordsWithCharacters) + { + m_region_wordWithCharacters = wordsWithCharacters; + } + +private: + WordsWithCharacters m_region_wordWithCharacters; + QRect m_area; +}; + +std::unique_ptr TextPage::textArea(const TextSelection &sel) const +{ + if (d->m_words.isEmpty()) { + return std::make_unique(); + } + + /** + It works like this: + There are two cursors, we need to select all the text between them. The coordinates are normalised, leftTop is (0,0) + rightBottom is (1,1), so for cursors start (sx,sy) and end (ex,ey) we start with finding text rectangles under those + points, if not we search for the first that is to the right to it in the same baseline, if none found, then we search + for the first rectangle with a baseline under the cursor, having two points that are the best rectangles to both + of the cursors: (rx,ry)x(tx,ty) for start and (ux,uy)x(vx,vy) for end, we do a + 1. (rx,ry)x(1,ty) + 2. (0,ty)x(1,uy) + 3. (0,uy)x(vx,vy) + + To find the closest rectangle to cursor (cx,cy) we search for a rectangle that either contains the cursor + or that has a left border >= cx and bottom border >= cy. + */ + auto ret = std::make_unique(); + + const PagePrivate *pagePrivate = PagePrivate::get(d->m_page); + const QTransform matrix = pagePrivate ? pagePrivate->rotationMatrix() : QTransform(); + const double scaleX = d->m_page->width(); + const double scaleY = d->m_page->height(); + + NormalizedPoint startC = sel.start(); + NormalizedPoint endC = sel.end(); + + // if startPoint is right to endPoint swap them + if (startC.x > endC.x) { + std::swap(startC, endC); + } + + // minX,maxX,minY,maxY gives the bounding rectangle coordinates of the document + const NormalizedRect boundingRect = d->m_page->boundingBox(); + const QRect content = boundingRect.geometry(scaleX, scaleY); + const double minX = content.left(); + const double maxX = content.right(); + const double minY = content.top(); + const double maxY = content.bottom(); + + /** + * We will now find out the TinyTextEntity for the startRectangle and TinyTextEntity for + * the endRectangle. We have four cases: + * + * Case 1(a): both startpoint and endpoint are out of the bounding Rectangle and at one side, so the rectangle made of start + * and endPoint are outof the bounding rect (do not intersect) + * + * Case 1(b): both startpoint and endpoint are out of bounding rect, but they are in different side, so is their rectangle + * + * Case 2(a): find the rectangle which contains start and endpoint and having some + * TextEntity + * + * Case 2(b): if 2(a) fails (if startPoint and endPoint both are unchanged), then we check whether there is any + * TextEntity within the rect made by startPoint and endPoint + * + * Case 3: Now, we may have two type of selection. + * 1. startpoint is left-top of start_end and endpoint is right-bottom + * 2. startpoint is left-bottom of start_end and endpoint is top-right + * + * Also, as 2(b) is passed, we might have it,itEnd or both unchanged, but the fact is that we have + * text within them. so, we need to search for the best suitable textposition for start and end. + * + * Case 3(a): We search the nearest rectangle consisting of some + * TinyTextEntity right to or bottom of the startPoint for selection 01. + * And, for selection 02, we have to search for right and top + * + * Case 3(b): For endpoint, we have to find the point top of or left to + * endpoint if we have selection 01. + * Otherwise, the search will be left and bottom + */ + + // we know that startC.x > endC.x, we need to decide which is top and which is bottom + const NormalizedRect start_end = (startC.y < endC.y) ? NormalizedRect(startC.x, startC.y, endC.x, endC.y) : NormalizedRect(startC.x, endC.y, endC.x, startC.y); + + // Case 1(a) + if (!boundingRect.intersects(start_end)) { + return ret; + } else { + // case 1(b) + /** + note that, after swapping of start and end, we know that, + start is always left to end. but, we cannot say start is + positioned upper than end. + **/ + // if start is left to content rect take it to content rect boundary + if (startC.x * scaleX < minX) { + startC.x = minX / scaleX; + } + if (endC.x * scaleX > maxX) { + endC.x = maxX / scaleX; + } + + // if start is top to end (selection type 01) + if (startC.y * scaleY < minY) { + startC.y = minY / scaleY; + } + if (endC.y * scaleY > maxY) { + endC.y = maxY / scaleY; + } + + // if start is bottom to end (selection type 02) + if (startC.y * scaleY > maxY) { + startC.y = maxY / scaleY; + } + if (endC.y * scaleY < minY) { + endC.y = minY / scaleY; + } + } + + TextEntity::List::ConstIterator it = d->m_words.constBegin(), itEnd = d->m_words.constEnd(); + TextEntity::List::ConstIterator start = it, end = itEnd, tmpIt = it; //, tmpItEnd = itEnd; + const MergeSide side = d->m_page ? (MergeSide)d->m_page->totalOrientation() : MergeRight; + + NormalizedRect tmp; + // case 2(a) + for (; it != itEnd; ++it) { + tmp = it->area(); + if (tmp.contains(startC.x, startC.y)) { + start = it; + } + if (tmp.contains(endC.x, endC.y)) { + end = it; + } + } + + // case 2(b) + it = tmpIt; + if (start == it && end == itEnd) { + for (; it != itEnd; ++it) { + // is there any text rectangle within the start_end rect + tmp = it->area(); + if (start_end.intersects(tmp)) { + break; + } + } + + // we have searched every text entities, but none is within the rectangle created by start and end + // so, no selection should be done + if (it == itEnd) { + return ret; + } + } + it = tmpIt; + bool selection_two_start = false; + + // case 3.a + if (start == it) { + NormalizedRect rect; + + // selection type 01 + if (startC.y <= endC.y) { + for (; it != itEnd; ++it) { + rect = it->area(); + bool flagV = !rect.isBottom(startC); + + if (flagV && rect.isRight(startC)) { + start = it; + break; + } + } + } + + // selection type 02 + else { + selection_two_start = true; + int distance = scaleX + scaleY + 100; + + for (; it != itEnd; ++it) { + rect = it->area(); + + if (rect.isBottomOrLevel(startC) && rect.isRight(startC)) { + QRect entRect = rect.geometry(scaleX, scaleY); + int xdist, ydist; + xdist = entRect.center().x() - startC.x * scaleX; + ydist = entRect.center().y() - startC.y * scaleY; + + // make them positive + if (xdist < 0) { + xdist = -xdist; + } + if (ydist < 0) { + ydist = -ydist; + } + + if ((xdist + ydist) < distance) { + distance = xdist + ydist; + start = it; + } + } + } + } + } + + // case 3.b + if (end == itEnd) { + it = tmpIt; + itEnd = itEnd - 1; + + NormalizedRect rect; + + if (startC.y <= endC.y) { + for (; itEnd >= it; itEnd--) { + rect = itEnd->area(); + bool flagV = !rect.isTop(endC); + + if (flagV && rect.isLeft(endC)) { + end = itEnd; + break; + } + } + } + + else { + int distance = scaleX + scaleY + 100; + for (; itEnd >= it; itEnd--) { + rect = itEnd->area(); + + if (rect.isTopOrLevel(endC) && rect.isLeft(endC)) { + QRect entRect = rect.geometry(scaleX, scaleY); + int xdist, ydist; + xdist = entRect.center().x() - endC.x * scaleX; + ydist = entRect.center().y() - endC.y * scaleY; + + // make them positive + if (xdist < 0) { + xdist = -xdist; + } + if (ydist < 0) { + ydist = -ydist; + } + + if ((xdist + ydist) < distance) { + distance = xdist + ydist; + end = itEnd; + } + } + } + } + } + + /* if start and end in selection 02 are in the same column, and we + start at an empty space we have to remove the selection of last + character + */ + if (selection_two_start) { + if (start > end) { + start = start - 1; + } + } + + // if start is less than end swap them + if (start > end) { + it = start; + start = end; + end = it; + } + + // removes the possibility of crash, in case none of 1 to 3 is true + if (end == d->m_words.constEnd()) { + end--; + } + + for (; start <= end; start++) { + ret->appendShape(start->transformedArea(matrix), side); + } + + return ret; +} + +RegularAreaRect *TextPage::findText(int searchID, const QString &query, SearchDirection direct, Qt::CaseSensitivity caseSensitivity, const RegularAreaRect *area) +{ + SearchDirection dir = direct; + // invalid search request + if (d->m_words.isEmpty() || query.isEmpty() || (area && area->isNull())) { + return nullptr; + } + TextEntity::List::ConstIterator start; + int start_offset = 0; + TextEntity::List::ConstIterator end; + const QMap::const_iterator sIt = d->m_searchPoints.constFind(searchID); + if (sIt == d->m_searchPoints.constEnd()) { + // if no previous run of this search is found, then set it to start + // from the beginning (respecting the search direction) + if (dir == NextResult) { + dir = FromTop; + } else if (dir == PreviousResult) { + dir = FromBottom; + } + } + bool forward = true; + switch (dir) { + case FromTop: + start = d->m_words.constBegin(); + start_offset = 0; + end = d->m_words.constEnd(); + break; + case FromBottom: + start = d->m_words.constEnd(); + start_offset = 0; + end = d->m_words.constBegin(); + forward = false; + break; + case NextResult: + start = (*sIt)->it_end; + start_offset = (*sIt)->offset_end; + end = d->m_words.constEnd(); + break; + case PreviousResult: + start = (*sIt)->it_begin; + start_offset = (*sIt)->offset_begin; + end = d->m_words.constBegin(); + forward = false; + break; + }; + RegularAreaRect *ret = nullptr; + const TextComparisonFunction cmpFn = caseSensitivity == Qt::CaseSensitive ? CaseSensitiveCmpFn : CaseInsensitiveCmpFn; + if (forward) { + ret = d->findTextInternalForward(searchID, query, cmpFn, start, start_offset, end); + } else { + ret = d->findTextInternalBackward(searchID, query, cmpFn, start, start_offset, end); + } + return ret; +} + +// hyphenated '-' must be at the end of a word, so hyphenation means +// we have a '-' just followed by a '\n' character +// check if the string contains a '-' character +// if the '-' is the last entry +static int stringLengthAdaptedWithHyphen(const QString &str, TextEntity::List::ConstIterator it, TextEntity::List::ConstIterator textListEnd) +{ + const int len = str.length(); + + // hyphenated '-' must be at the end of a word, so hyphenation means + // we have a '-' just followed by a '\n' character + // check if the string contains a '-' character + // if the '-' is the last entry + if (str.endsWith(QLatin1Char('-'))) { + // validity check of it + 1 + if ((it + 1) != textListEnd) { + // 1. if the next character is '\n' + const QString &lookahedStr = (it + 1)->text(); + if (lookahedStr.startsWith(QLatin1Char('\n'))) { + return len - 1; + } + + // 2. if the next word is in a different line or not + const NormalizedRect &hyphenArea = it->area(); + const NormalizedRect &lookaheadArea = (it + 1)->area(); + + // lookahead to check whether both the '-' rect and next character rect overlap + if (!doesConsumeY(hyphenArea, lookaheadArea, 70)) { + return len - 1; + } + } + } + // else if it is the second last entry - for example in pdf format + else if (str.endsWith(QLatin1String("-\n"))) { + return len - 2; + } + + return len; +} + +RegularAreaRect *TextPagePrivate::searchPointToArea(const SearchPoint *sp) +{ + const PagePrivate *pagePrivate = PagePrivate::get(m_page); + const QTransform matrix = pagePrivate ? pagePrivate->rotationMatrix() : QTransform(); + RegularAreaRect *ret = new RegularAreaRect; + + for (TextEntity::List::ConstIterator it = sp->it_begin;; it++) { + const TextEntity &curEntity = *it; + ret->append(curEntity.transformedArea(matrix)); + + if (it == sp->it_end) { + break; + } + } + + ret->simplify(); + return ret; +} + +RegularAreaRect *TextPagePrivate::findTextInternalForward(int searchID, const QString &_query, TextComparisonFunction comparer, TextEntity::List::ConstIterator start, int start_offset, TextEntity::List::ConstIterator end) +{ + // normalize query search all unicode (including glyphs) + // Use NFKC for search operations. Use NFC for copy, makeWord, and export operations. + const QString query = _query.normalized(QString::NormalizationForm_KC); + + // j is the current position in our query + // queryLeft is the length of the query we have left to match + int j = 0, queryLeft = query.length(); + + TextEntity::List::ConstIterator it = start; + int offset = start_offset; + + TextEntity::List::ConstIterator it_begin = TextEntity::List::ConstIterator(); + int offset_begin = 0; // dummy initial value to suppress compiler warnings + + while (it != end) { + const TextEntity &curEntity = *it; + const QString &str = curEntity.text().normalized(QString::NormalizationForm_KC); + const int strLen = str.length(); + const int adjustedLen = stringLengthAdaptedWithHyphen(str, it, m_words.constEnd()); + // adjustedLen <= strLen + + if (offset >= strLen) { + it++; + offset = 0; + continue; + } + + if (it_begin == TextEntity::List::ConstIterator()) { + it_begin = it; + offset_begin = offset; + } + + // Let the user write the hyphen or not when searching for text + int matchedLen = -1; + for (int matchingLen = strLen; matchingLen >= adjustedLen; matchingLen--) { + // we have equal (or less than) area of the query left as the length of the current + // entity + const int min = qMin(queryLeft, matchingLen - offset); + if (comparer(QStringView {str}.mid(offset, min), QStringView {query}.mid(j, min))) { + matchedLen = min; + break; + } + } + + if (matchedLen == -1) { + // we have not matched + // this means we do not have a complete match + // we need to get back to query start + // and continue the search from this place +#ifdef DEBUG_TEXTPAGE + qCDebug(OkularCoreDebug) << "\tnot matched"; +#endif + j = 0; + queryLeft = query.length(); + it = it_begin; + offset = offset_begin + 1; + it_begin = TextEntity::List::ConstIterator(); + } else { + // we have a match + // move the current position in the query + // to the position after the length of this string + // we matched + // subtract the length of the current entity from + // the left length of the query +#ifdef DEBUG_TEXTPAGE + qCDebug(OkularCoreDebug) << "\tmatched" << matchedLen; +#endif + j += matchedLen; + queryLeft -= matchedLen; + + if (queryLeft == 0) { + // save or update the search point for the current searchID + QMap::iterator sIt = m_searchPoints.find(searchID); + if (sIt == m_searchPoints.end()) { + sIt = m_searchPoints.insert(searchID, new SearchPoint); + } + SearchPoint *sp = *sIt; + sp->it_begin = it_begin; + sp->it_end = it; + sp->offset_begin = offset_begin; + sp->offset_end = offset + matchedLen; + return searchPointToArea(sp); + } + + it++; + offset = 0; + } + } + // end of loop - it means that we've ended the textentities + + const QMap::iterator sIt = m_searchPoints.find(searchID); + if (sIt != m_searchPoints.end()) { + SearchPoint *sp = *sIt; + m_searchPoints.erase(sIt); + delete sp; + } + return nullptr; +} + +RegularAreaRect *TextPagePrivate::findTextInternalBackward(int searchID, const QString &_query, TextComparisonFunction comparer, TextEntity::List::ConstIterator start, int start_offset, TextEntity::List::ConstIterator end) +{ + // normalize query to search all unicode (including glyphs) + // Use NFKC for search operations. Use NFC for copy, makeWord, and export operations. + const QString query = _query.normalized(QString::NormalizationForm_KC); + + // j is the current position in our query + // len is the length of the string in TextEntity + // queryLeft is the length of the query we have left + int j = query.length(), queryLeft = query.length(); + + TextEntity::List::ConstIterator it = start; + int offset = start_offset; + + TextEntity::List::ConstIterator it_begin = TextEntity::List::ConstIterator(); + int offset_begin = 0; // dummy initial value to suppress compiler warnings + + while (true) { + if (offset <= 0) { + if (it == end) { + break; + } + it--; + } + + const TextEntity &curEntity = *it; + const QString &str = curEntity.text().normalized(QString::NormalizationForm_KC); + const int strLen = str.length(); + const int adjustedLen = stringLengthAdaptedWithHyphen(str, it, m_words.constEnd()); + // adjustedLen <= strLen + + if (offset <= 0) { + offset = strLen; + } + + if (it_begin == TextEntity::List::ConstIterator()) { + it_begin = it; + offset_begin = offset; + } + + // Let the user write the hyphen or not when searching for text + int matchedLen = -1; + // we have equal (or less than) area of the query left as the length of the current + // entity + for (int matchingLen = strLen; matchingLen >= adjustedLen; matchingLen--) { + const int hyphenOffset = (strLen - matchingLen); + const int min = qMin(queryLeft + hyphenOffset, offset); + if (comparer(QStringView {str}.mid(offset - min, min - hyphenOffset), QStringView {query}.mid(j - min + hyphenOffset, min - hyphenOffset))) { + matchedLen = min - hyphenOffset; + break; + } + } + + if (matchedLen == -1) { + // we have not matched + // this means we do not have a complete match + // we need to get back to query start + // and continue the search from this place +#ifdef DEBUG_TEXTPAGE + qCDebug(OkularCoreDebug) << "\tnot matched"; +#endif + + j = query.length(); + queryLeft = query.length(); + it = it_begin; + offset = offset_begin - 1; + it_begin = TextEntity::List::ConstIterator(); + } else { + // we have a match + // move the current position in the query + // to the position after the length of this string + // we matched + // subtract the length of the current entity from + // the left length of the query +#ifdef DEBUG_TEXTPAGE + qCDebug(OkularCoreDebug) << "\tmatched"; +#endif + j -= matchedLen; + queryLeft -= matchedLen; + + if (queryLeft == 0) { + // save or update the search point for the current searchID + QMap::iterator sIt = m_searchPoints.find(searchID); + if (sIt == m_searchPoints.end()) { + sIt = m_searchPoints.insert(searchID, new SearchPoint); + } + SearchPoint *sp = *sIt; + sp->it_begin = it; + sp->it_end = it_begin; + sp->offset_begin = offset - matchedLen; + sp->offset_end = offset_begin; + return searchPointToArea(sp); + } + + offset = 0; + } + } + // end of loop - it means that we've ended the textentities + + const QMap::iterator sIt = m_searchPoints.find(searchID); + if (sIt != m_searchPoints.end()) { + SearchPoint *sp = *sIt; + m_searchPoints.erase(sIt); + delete sp; + } + return nullptr; +} + +QString TextPage::text(const RegularAreaRect *area) const +{ + return text(area, AnyPixelTextAreaInclusionBehaviour); +} + +QString TextPage::text(const RegularAreaRect *area, TextAreaInclusionBehaviour b) const +{ + if (area && area->isNull()) { + return QString(); + } + + TextEntity::List::ConstIterator it = d->m_words.constBegin(), itEnd = d->m_words.constEnd(); + QString ret; + if (area) { + for (; it != itEnd; ++it) { + if (b == AnyPixelTextAreaInclusionBehaviour) { + if (area->intersects(it->area())) { + ret += it->text(); + } + } else { + NormalizedPoint center = it->area().center(); + if (area->contains(center.x, center.y)) { + ret += it->text(); + } + } + } + } else { + for (; it != itEnd; ++it) { + ret += it->text(); + } + } + return ret; +} + +static bool compareTinyTextEntityX(const WordWithCharacters &first, const WordWithCharacters &second) +{ + QRect firstArea = first.area().roundedGeometry(1000, 1000); + QRect secondArea = second.area().roundedGeometry(1000, 1000); + + return firstArea.left() < secondArea.left(); +} + +static bool compareTinyTextEntityY(const WordWithCharacters &first, const WordWithCharacters &second) +{ + const QRect firstArea = first.area().roundedGeometry(1000, 1000); + const QRect secondArea = second.area().roundedGeometry(1000, 1000); + + return firstArea.top() < secondArea.top(); +} + +/** + * Sets a new world list. Deleting the contents of the old one + */ +void TextPagePrivate::setWordList(const TextEntity::List &list) +{ + m_words = list; +} + +/** + * Remove all the spaces in between texts. It will make all the generators + * same, whether they save spaces(like pdf) or not(like djvu). + */ +static void removeSpace(TextEntity::List &words) +{ + erase_if(words, [](const TextEntity &word) { return word.text() == " "_L1; }); +} + +/** + * We will read the TinyTextEntity from characters and try to create words from there. + * Note: characters might be already characters for some generators, but we will keep + * the nomenclature characters for the generator produced data. The resulting + * WordsWithCharacters memory has to be managed by the caller, both the + * WordWithCharacters::word and WordWithCharacters::characters contents + */ +static WordsWithCharacters makeWordFromCharacters(const TextEntity::List &characters, int pageWidth, int pageHeight) +{ + /** + * We will traverse characters and try to create words from the TinyTextEntities in it. + * We will search TinyTextEntity blocks and merge them until we get a + * space between two consecutive TinyTextEntities. When we get a space + * we can take it as a end of word. Then we store the word as a TinyTextEntity + * and keep it in newList. + + * We create a RegionText named regionWord that contains the word and the characters associated with it and + * a rectangle area of the element in newList. + + */ + WordsWithCharacters wordsWithCharacters; + + TextEntity::List::ConstIterator it = characters.begin(), itEnd = characters.end(), tmpIt; + int newLeft, newRight, newTop, newBottom; + + for (; it != itEnd; it++) { + QString textString = it->text(); + QString newString; + QRect lineArea = it->area().roundedGeometry(pageWidth, pageHeight); + QRect elementArea; + TextEntity::List wordCharacters; + tmpIt = it; + int space = 0; + + while (!space) { + if (!textString.isEmpty()) { + newString.append(textString); + + // when textString is the start of the word + if (tmpIt == it) { + NormalizedRect newRect(lineArea, pageWidth, pageHeight); + wordCharacters.append(TextEntity(textString.normalized(QString::NormalizationForm_C), newRect)); + } else { + NormalizedRect newRect(elementArea, pageWidth, pageHeight); + wordCharacters.append(TextEntity(textString.normalized(QString::NormalizationForm_C), newRect)); + } + } + + ++it; + + /* + we must have to put this line before the if condition of it==itEnd + otherwise the last character can be missed + */ + if (it == itEnd) { + break; + } + elementArea = it->area().roundedGeometry(pageWidth, pageHeight); + if (!doesConsumeY(elementArea, lineArea, 60)) { + --it; + break; + } + + const int text_y1 = elementArea.top(), text_x1 = elementArea.left(), text_y2 = elementArea.y() + elementArea.height(), text_x2 = elementArea.x() + elementArea.width(); + const int line_y1 = lineArea.top(), line_x1 = lineArea.left(), line_y2 = lineArea.y() + lineArea.height(), line_x2 = lineArea.x() + lineArea.width(); + + space = elementArea.left() - lineArea.right(); + + if (space != 0) { + it--; + break; + } + + newLeft = text_x1 < line_x1 ? text_x1 : line_x1; + newRight = line_x2 > text_x2 ? line_x2 : text_x2; + newTop = text_y1 > line_y1 ? line_y1 : text_y1; + newBottom = text_y2 > line_y2 ? text_y2 : line_y2; + + lineArea.setLeft(newLeft); + lineArea.setTop(newTop); + lineArea.setWidth(newRight - newLeft); + lineArea.setHeight(newBottom - newTop); + + textString = it->text(); + } + + // if newString is not empty, save it + if (!newString.isEmpty()) { + const NormalizedRect newRect(lineArea, pageWidth, pageHeight); + TextEntity word = TextEntity(newString.normalized(QString::NormalizationForm_C), newRect); + wordsWithCharacters.append(WordWithCharacters(word, wordCharacters)); + } + + if (it == itEnd) { + break; + } + } + + wordsWithCharacters.shrink_to_fit(); + return wordsWithCharacters; +} + +/** + * Create Lines from the words and sort them + */ +QList> makeAndSortLines(const WordsWithCharacters &wordsTmp, int pageWidth, int pageHeight) +{ + /** + * We cannot assume that the generator will give us texts in the right order. + * We can only assume that we will get texts in the page and their bounding + * rectangle. The texts can be character, word, half-word anything. + * So, we need to: + ** + * 1. Sort rectangles/boxes containing texts by y0(top) + * 2. Create textline where there is y overlap between TinyTextEntity 's + * 3. Within each line sort the TinyTextEntity 's by x0(left) + */ + + QList> lines; + + /* + Make a new copy of the TextList in the words, so that the wordsTmp and lines do + not contain same pointers for all the TinyTextEntity. + */ + QList words = wordsTmp; + + // Step 1 + std::sort(words.begin(), words.end(), compareTinyTextEntityY); + + // Step 2 + QList::Iterator it = words.begin(), itEnd = words.end(); + + // for every non-space texts(characters/words) in the textList + for (; it != itEnd; it++) { + const QRect elementArea = (*it).area().roundedGeometry(pageWidth, pageHeight); + bool found = false; + + for (QPair &linesI : lines) { + /* the line area which will be expanded + line_rects is only necessary to preserve the topmin and bottommax of all + the texts in the line, left and right is not necessary at all + */ + QRect &lineArea = linesI.second; + const int text_y1 = elementArea.top(), text_y2 = elementArea.top() + elementArea.height(), text_x1 = elementArea.left(), text_x2 = elementArea.left() + elementArea.width(); + const int line_y1 = lineArea.top(), line_y2 = lineArea.top() + lineArea.height(), line_x1 = lineArea.left(), line_x2 = lineArea.left() + lineArea.width(); + + /* + if the new text and the line has y overlapping parts of more than 70%, + the text will be added to this line + */ + if (doesConsumeY(elementArea, lineArea, 70)) { + WordsWithCharacters &line = linesI.first; + line.append(*it); + + const int newLeft = line_x1 < text_x1 ? line_x1 : text_x1; + const int newRight = line_x2 > text_x2 ? line_x2 : text_x2; + const int newTop = line_y1 < text_y1 ? line_y1 : text_y1; + const int newBottom = text_y2 > line_y2 ? text_y2 : line_y2; + + lineArea = QRect(newLeft, newTop, newRight - newLeft, newBottom - newTop); + found = true; + } + + if (found) { + break; + } + } + + /* when we have found a new line create a new TextList containing + only one element and append it to the lines + */ + if (!found) { + lines.append(QPair({*it}, elementArea)); + } + } + + // Step 3 + for (QPair &line : lines) { + WordsWithCharacters &list = line.first; + std::sort(list.begin(), list.end(), compareTinyTextEntityX); + } + lines.shrink_to_fit(); + + return lines; +} + +/** + * Calculate Statistical information from the lines we made previously + */ +static void calculateStatisticalInformation(const QList &words, int pageWidth, int pageHeight, int *word_spacing, int *line_spacing, int *col_spacing) +{ + /** + * For the region, defined by line_rects and lines + * 1. Make line statistical analysis to find the line spacing + * 2. Make character statistical analysis to differentiate between + * word spacing and column spacing. + */ + + /** + * Step 0 + */ + const QList> sortedLines = makeAndSortLines(words, pageWidth, pageHeight); + + /** + * Step 1 + */ + QMap line_space_stat; + for (int i = 0; i < sortedLines.length(); i++) { + const QRect rectUpper = sortedLines.at(i).second; + + if (i + 1 == sortedLines.length()) { + break; + } + const QRect rectLower = sortedLines.at(i + 1).second; + + int linespace = rectLower.top() - (rectUpper.top() + rectUpper.height()); + if (linespace < 0) { + linespace = -linespace; + } + + if (line_space_stat.contains(linespace)) { + line_space_stat[linespace]++; + } else { + line_space_stat[linespace] = 1; + } + } + + *line_spacing = 0; + int weighted_count = 0; + QMapIterator iterate_linespace(line_space_stat); + + while (iterate_linespace.hasNext()) { + iterate_linespace.next(); + *line_spacing += iterate_linespace.value() * iterate_linespace.key(); + weighted_count += iterate_linespace.value(); + } + if (*line_spacing != 0) { + *line_spacing = (int)((double)*line_spacing / (double)weighted_count + 0.5); + } + + /** + * Step 2 + */ + // We would like to use QMap instead of QHash as it will keep the keys sorted + QMap hor_space_stat; + QMap col_space_stat; + QList> space_rects; + QList max_hor_space_rects; + + // Space in every line + for (const QPair &sortedLine : sortedLines) { + const WordsWithCharacters list = sortedLine.first; + QList line_space_rects; + int maxSpace = 0, minSpace = pageWidth; + + // for every TinyTextEntity element in the line + WordsWithCharacters::ConstIterator it = list.begin(), itEnd = list.end(); + QRect max_area1, max_area2; + // for every line + for (; it != itEnd; it++) { + const QRect area1 = (*it).area().roundedGeometry(pageWidth, pageHeight); + if (it + 1 == itEnd) { + break; + } + + const QRect area2 = (*(it + 1)).area().roundedGeometry(pageWidth, pageHeight); + int space = area2.left() - area1.right(); + + if (space > maxSpace) { + max_area1 = area1; + max_area2 = area2; + maxSpace = space; + } + + if (space < minSpace && space != 0) { + minSpace = space; + } + + // if we found a real space, whose length is not zero and also less than the pageWidth + if (space != 0 && space != pageWidth) { + // increase the count of the space amount + if (hor_space_stat.contains(space)) { + hor_space_stat[space]++; + } else { + hor_space_stat[space] = 1; + } + + int left, right, top, bottom; + + left = area1.right(); + right = area2.left(); + + top = area2.top() < area1.top() ? area2.top() : area1.top(); + bottom = area2.bottom() > area1.bottom() ? area2.bottom() : area1.bottom(); + + QRect rect(left, top, right - left, bottom - top); + line_space_rects.append(rect); + } + } + + space_rects.append(line_space_rects); + + if (hor_space_stat.contains(maxSpace)) { + if (hor_space_stat[maxSpace] != 1) { + hor_space_stat[maxSpace]--; + } else { + hor_space_stat.remove(maxSpace); + } + } + + if (maxSpace != 0) { + if (col_space_stat.contains(maxSpace)) { + col_space_stat[maxSpace]++; + } else { + col_space_stat[maxSpace] = 1; + } + + // store the max rect of each line + const int left = max_area1.right(); + const int right = max_area2.left(); + const int top = (max_area1.top() > max_area2.top()) ? max_area2.top() : max_area1.top(); + const int bottom = (max_area1.bottom() < max_area2.bottom()) ? max_area2.bottom() : max_area1.bottom(); + + const QRect rect(left, top, right - left, bottom - top); + max_hor_space_rects.append(rect); + } else { + max_hor_space_rects.append(QRect(0, 0, 0, 0)); + } + } + + // All the between word space counts are in hor_space_stat + *word_spacing = 0; + weighted_count = 0; + QMapIterator iterate(hor_space_stat); + + while (iterate.hasNext()) { + iterate.next(); + + if (iterate.key() > 0) { + *word_spacing += iterate.value() * iterate.key(); + weighted_count += iterate.value(); + } + } + if (weighted_count) { + *word_spacing = (int)((double)*word_spacing / (double)weighted_count + 0.5); + } + + *col_spacing = 0; + QMapIterator iterate_col(col_space_stat); + + while (iterate_col.hasNext()) { + iterate_col.next(); + if (iterate_col.value() > *col_spacing) { + *col_spacing = iterate_col.value(); + } + } + *col_spacing = col_space_stat.key(*col_spacing); + + // if there is just one line in a region, there is no point in dividing it + if (sortedLines.length() == 1) { + *word_spacing = *col_spacing; + } +} + +/** + * Implements the XY Cut algorithm for textpage segmentation + * The resulting RegionTextList will contain RegionText whose WordsWithCharacters::word and + * WordsWithCharacters::characters are reused from wordsWithCharacters (i.e. no new nor delete happens in this function) + */ +static RegionTextList XYCutForBoundingBoxes(const QList &wordsWithCharacters, int pageWidth, int pageHeight) +{ + RegionTextList tree; + QRect contentRect(0, 0, pageWidth, pageHeight); + const RegionText root(wordsWithCharacters, contentRect); + + // start the tree with the root, it is our only region at the start + tree.push_back(root); + + int i = 0; + + // while traversing the tree has not been ended + while (i < tree.length()) { + const RegionText node = tree.at(i); + QRect regionRect = node.area(); + + /** + * 1. calculation of projection profiles + */ + // allocate the size of proj profiles and initialize with 0 + int size_proj_y = node.area().height(); + int size_proj_x = node.area().width(); + // dynamic memory allocation + QVarLengthArray proj_on_xaxis(size_proj_x); + QVarLengthArray proj_on_yaxis(size_proj_y); + + for (int j = 0; j < size_proj_y; ++j) { + proj_on_yaxis[j] = 0; + } + for (int j = 0; j < size_proj_x; ++j) { + proj_on_xaxis[j] = 0; + } + + const QList list = node.text(); + + // Calculate tcx and tcy locally for each new region + int word_spacing, line_spacing, column_spacing; + calculateStatisticalInformation(list, pageWidth, pageHeight, &word_spacing, &line_spacing, &column_spacing); + + const int tcx = word_spacing * 2; + const int tcy = line_spacing * 2; + + int maxX = 0, maxY = 0; + int avgX = 0; + int count; + + // for every text in the region + for (const WordWithCharacters &wwc : list) { + const QRect entRect = wwc.area().geometry(pageWidth, pageHeight); + + // calculate vertical projection profile proj_on_xaxis1 + for (int k = entRect.left(); k <= entRect.left() + entRect.width(); ++k) { + if ((k - regionRect.left()) < size_proj_x && (k - regionRect.left()) >= 0) { + proj_on_xaxis[k - regionRect.left()] += entRect.height(); + } + } + + // calculate horizontal projection profile in the same way + for (int k = entRect.top(); k <= entRect.top() + entRect.height(); ++k) { + if ((k - regionRect.top()) < size_proj_y && (k - regionRect.top()) >= 0) { + proj_on_yaxis[k - regionRect.top()] += entRect.width(); + } + } + } + + for (int j = 0; j < size_proj_y; ++j) { + if (proj_on_yaxis[j] > maxY) { + maxY = proj_on_yaxis[j]; + } + } + + avgX = count = 0; + for (int j = 0; j < size_proj_x; ++j) { + if (proj_on_xaxis[j] > maxX) { + maxX = proj_on_xaxis[j]; + } + if (proj_on_xaxis[j]) { + count++; + avgX += proj_on_xaxis[j]; + } + } + if (count) { + avgX /= count; + } + + /** + * 2. Cleanup Boundary White Spaces and removal of noise + */ + int xbegin = 0, xend = size_proj_x - 1; + int ybegin = 0, yend = size_proj_y - 1; + while (xbegin < size_proj_x && proj_on_xaxis[xbegin] <= 0) { + xbegin++; + } + while (xend >= 0 && proj_on_xaxis[xend] <= 0) { + xend--; + } + while (ybegin < size_proj_y && proj_on_yaxis[ybegin] <= 0) { + ybegin++; + } + while (yend >= 0 && proj_on_yaxis[yend] <= 0) { + yend--; + } + + // update the regionRect + int old_left = regionRect.left(), old_top = regionRect.top(); + regionRect.setLeft(old_left + xbegin); + regionRect.setRight(old_left + xend); + regionRect.setTop(old_top + ybegin); + regionRect.setBottom(old_top + yend); + + int tnx = (int)((double)avgX * 10.0 / 100.0 + 0.5), tny = 0; + for (int j = 0; j < size_proj_x; ++j) { + proj_on_xaxis[j] -= tnx; + } + for (int j = 0; j < size_proj_y; ++j) { + proj_on_yaxis[j] -= tny; + } + + /** + * 3. Find the Widest gap + */ + int gap_hor = -1, pos_hor = -1; + int begin = -1, end = -1; + + // find all hor_gaps and find the maximum between them + for (int j = 1; j < size_proj_y; ++j) { + // transition from white to black + if (begin >= 0 && proj_on_yaxis[j - 1] <= 0 && proj_on_yaxis[j] > 0) { + end = j; + } + + // transition from black to white + if (proj_on_yaxis[j - 1] > 0 && proj_on_yaxis[j] <= 0) { + begin = j; + } + + if (begin > 0 && end > 0 && end - begin > gap_hor) { + gap_hor = end - begin; + pos_hor = (end + begin) / 2; + begin = -1; + end = -1; + } + } + + begin = -1, end = -1; + int gap_ver = -1, pos_ver = -1; + + // find all the ver_gaps and find the maximum between them + for (int j = 1; j < size_proj_x; ++j) { + // transition from white to black + if (begin >= 0 && proj_on_xaxis[j - 1] <= 0 && proj_on_xaxis[j] > 0) { + end = j; + } + + // transition from black to white + if (proj_on_xaxis[j - 1] > 0 && proj_on_xaxis[j] <= 0) { + begin = j; + } + + if (begin > 0 && end > 0 && end - begin > gap_ver) { + gap_ver = end - begin; + pos_ver = (end + begin) / 2; + begin = -1; + end = -1; + } + } + + int cut_pos_x = pos_ver, cut_pos_y = pos_hor; + int gap_x = gap_ver, gap_y = gap_hor; + + /** + * 4. Cut the region and make nodes (left,right) or (up,down) + */ + bool cut_hor = false, cut_ver = false; + + // For horizontal cut + const int topHeight = cut_pos_y - (regionRect.top() - old_top); + const QRect topRect(regionRect.left(), regionRect.top(), regionRect.width(), topHeight); + const QRect bottomRect(regionRect.left(), regionRect.top() + topHeight, regionRect.width(), regionRect.height() - topHeight); + + // For vertical Cut + const int leftWidth = cut_pos_x - (regionRect.left() - old_left); + const QRect leftRect(regionRect.left(), regionRect.top(), leftWidth, regionRect.height()); + const QRect rightRect(regionRect.left() + leftWidth, regionRect.top(), regionRect.width() - leftWidth, regionRect.height()); + + if (gap_y >= gap_x && gap_y >= tcy) { + cut_hor = true; + } else if (gap_y >= gap_x && gap_y <= tcy && gap_x >= tcx) { + cut_ver = true; + } else if (gap_x >= gap_y && gap_x >= tcx) { + cut_ver = true; + } else if (gap_x >= gap_y && gap_x <= tcx && gap_y >= tcy) { + cut_hor = true; + } else { + // no cut possible + // we can now update the node rectangle with the shrunken rectangle + RegionText tmpNode = tree.at(i); + tmpNode.setArea(regionRect); + tree.replace(i, tmpNode); + i++; + continue; + } + + WordsWithCharacters list1, list2; + + // horizontal cut, topRect and bottomRect + if (cut_hor) { + for (const WordWithCharacters &word : list) { + const QRect wordRect = word.area().geometry(pageWidth, pageHeight); + + if (topRect.intersects(wordRect)) { + list1.append(word); + } else { + list2.append(word); + } + } + + RegionText node1(list1, topRect); + RegionText node2(list2, bottomRect); + + tree.replace(i, node1); + tree.insert(i + 1, node2); + } + + // vertical cut, leftRect and rightRect + else if (cut_ver) { + for (const WordWithCharacters &word : list) { + const QRect wordRect = word.area().geometry(pageWidth, pageHeight); + + if (leftRect.intersects(wordRect)) { + list1.append(word); + } else { + list2.append(word); + } + } + + RegionText node1(list1, leftRect); + RegionText node2(list2, rightRect); + + tree.replace(i, node1); + tree.insert(i + 1, node2); + } + } + + tree.shrink_to_fit(); + return tree; +} + +/** + * Add spaces in between words in a line. It reuses the pointers passed in tree and might add new ones. You will need to take care of deleting them if needed + */ +TextEntity::List addNecessarySpace(RegionTextList tree, int pageWidth, int pageHeight) +{ + /** + * 1. Call makeAndSortLines before adding spaces in between words in a line + * 2. Now add spaces between every two words in a line + * 3. Finally, extract all the space separated texts from each region and return it + */ + + TextEntity::List res; + // Only change the texts under RegionTexts, not the area + for (const RegionText &tmpRegion : std::as_const(tree)) { + // Step 01 + QList> sortedLines = makeAndSortLines(tmpRegion.text(), pageWidth, pageHeight); + int counter = 0; + + // Step 02 + for (QPair &sortedLine : sortedLines) { + WordsWithCharacters &list = sortedLine.first; + for (int k = 0; k < list.length(); k++) { + const QRect area1 = list.at(k).area().roundedGeometry(pageWidth, pageHeight); + if (k + 1 >= list.length()) { + break; + } + + const QRect area2 = list.at(k + 1).area().roundedGeometry(pageWidth, pageHeight); + const int space = area2.left() - area1.right(); + + if (space != 0) { + // Make a TinyTextEntity of string space and push it between it and it+1 + const int left = area1.right(); + const int right = area2.left(); + const int top = area2.top() < area1.top() ? area2.top() : area1.top(); + const int bottom = area2.bottom() > area1.bottom() ? area2.bottom() : area1.bottom(); + + const QString spaceStr(QStringLiteral(" ")); + const QRect rect(QPoint(left, top), QPoint(right, bottom)); + const NormalizedRect entRect(rect, pageWidth, pageHeight); + TextEntity ent1 = TextEntity(spaceStr, entRect); + WordWithCharacters word(ent1, QList() << ent1); + + list.insert(k + 1, word); + + // Skip the space + k++; + } + } + counter += list.length(); + } + res.reserve(res.length() + counter); + + for (const QPair &sortedLine : std::as_const(sortedLines)) { + for (const WordWithCharacters &word : sortedLine.first) { + res += word.characters; + } + } + } + + // Step 03 + res.shrink_to_fit(); + return res; +} + +/** + * Correct the textOrder, all layout recognition works here + */ +void TextPagePrivate::correctTextOrder() +{ + // m_page->width() and m_page->height() are in pixels at + // 100% zoom level, and thus depend on display DPI. + // To avoid Okular failing on lowDPI displays, + // we scale pageWidth and pageHeight so their sum equals 2000. + const double scalingFactor = 2000.0 / (m_page->width() + m_page->height()); + const int pageWidth = (int)(scalingFactor * m_page->width()); + const int pageHeight = (int)(scalingFactor * m_page->height()); + + TextEntity::List characters = m_words; + + /** + * Remove spaces from the text + */ + removeSpace(characters); + + /** + * Construct words from characters + */ + const QList wordsWithCharacters = makeWordFromCharacters(characters, pageWidth, pageHeight); + + /** + * Make a XY Cut tree for segmentation of the texts + */ + RegionTextList tree = XYCutForBoundingBoxes(wordsWithCharacters, pageWidth, pageHeight); + + /** + * Add spaces to the word + */ + const auto listOfCharacters = addNecessarySpace(std::move(tree), pageWidth, pageHeight); + + setWordList(listOfCharacters); +} + +TextEntity::List TextPage::words(const RegularAreaRect *area, TextAreaInclusionBehaviour b) const +{ + if (area && area->isNull()) { + return TextEntity::List(); + } + + TextEntity::List ret; + if (area) { + for (const TextEntity &te : std::as_const(d->m_words)) { + if (b == AnyPixelTextAreaInclusionBehaviour) { + if (area->intersects(te.area())) { + ret.append(te); + } + } else { + const NormalizedPoint center = te.area().center(); + if (area->contains(center.x, center.y)) { + ret.append(te); + } + } + } + } else { + for (const TextEntity &te : std::as_const(d->m_words)) { + ret.append(te); + } + } + return ret; +} + +std::unique_ptr TextPage::wordAt(const NormalizedPoint &p) const +{ + TextEntity::List::ConstIterator itBegin = d->m_words.constBegin(), itEnd = d->m_words.constEnd(); + TextEntity::List::ConstIterator it = itBegin; + TextEntity::List::ConstIterator posIt = itEnd; + for (; it != itEnd; ++it) { + if (it->area().contains(p.x, p.y)) { + posIt = it; + break; + } + } + if (posIt != itEnd) { + if (posIt->text().simplified().isEmpty()) { + return nullptr; + } + // Find the first TinyTextEntity of the word + while (posIt != itBegin) { + --posIt; + const QString itText = posIt->text(); + if (itText.right(1).at(0).isSpace()) { + if (itText.endsWith(QLatin1String("-\n"))) { + // Is an hyphenated word + // continue searching the start of the word back + continue; + } + + if (itText == QLatin1String("\n") && posIt != itBegin) { + --posIt; + if (posIt->text().endsWith(QLatin1String("-"))) { + // Is an hyphenated word + // continue searching the start of the word back + continue; + } + ++posIt; + } + + ++posIt; + break; + } + } + auto ret = std::make_unique(); + QString foundWord; + for (; posIt != itEnd; ++posIt) { + const QString itText = posIt->text(); + if (itText.simplified().isEmpty()) { + break; + } + + ret->appendShape(posIt->area()); + foundWord += posIt->text(); + if (itText.right(1).at(0).isSpace()) { + if (!foundWord.endsWith(QLatin1String("-\n"))) { + break; + } + } + } + + return ret; + } else { + return nullptr; + } +} diff --git a/core/textpage.h b/core/textpage.h new file mode 100644 index 0000000..06448ec --- /dev/null +++ b/core/textpage.h @@ -0,0 +1,204 @@ +/* + SPDX-FileCopyrightText: 2005 Piotr Szymanski + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_TEXTPAGE_H_ +#define _OKULAR_TEXTPAGE_H_ + +#include +#include + +#include "area.h" +#include "global.h" +#include "okularcore_export.h" + +class QTransform; + +namespace Okular +{ +class NormalizedPoint; +class NormalizedRect; +class Page; +class PagePrivate; +class TextPagePrivate; +class TextSelection; +class RegularAreaRect; + +/*! @class TextEntity + * @short Represents a piece of text on a TextPage, containing its textual representation and its bounding box. + * + * To enable searching and text selection, a generator can give information about the textual + * content of a Page using a TextPage. + * A TextPage is created using TextEntity objects. + * A TextEntity can represent a single character/glyph, a word, a line, or even the whole page. + * + * Ideally, every single glyph is represented by its own TextEntity. + * If the textual representation of a graphical glyph contains more than one character, + * the TextEntity must contain the whole string which represents the glyph. + * + * When the Generator has created the TextPage, and it is added to a Page, + * the text entities are reordered to words, lines, and paragraphs, to optimize search and text selection. + * This way, the Generator does not need to care about the logical order of lines or paragraphs. + * + * @par Text Selection/Highlighting + * A TextEntity is the smallest piece of text, which the user can select, or which can be highlighted. + * That is, if the TextEntity represents a word, only the whole word can be selected. + * It would not be possible to select a single glyph of the word, because its bounding box is not known. + * + * @see TextPage, Generator + */ +class OKULARCORE_EXPORT TextEntity +{ +public: + typedef QList List; + + /** + * Creates a new text entity with the given @p text and the + * given @p area. + */ + TextEntity(const QString &text, const NormalizedRect &area); + + /** + * Destroys the text entity. + */ + ~TextEntity(); + + /** + * Returns the text of the text entity. + */ + QString text() const; + + /** + * Returns the bounding area of the text entity. + */ + NormalizedRect area() const; + + /** + * Returns the transformed area of the text entity. + */ + NormalizedRect transformedArea(const QTransform &matrix) const; + +private: + QString m_text; + NormalizedRect m_area; +}; + +/** + * @short Represents the textual information of a Page. Makes search and text selection possible. + * + * A Generator with text support should add a TextPage to every Page. + * For every piece of text, a TextEntity is added, holding the string representation and the bounding box. + * + * Ideally, every TextEntity describes only one glyph. + * A "glyph" is one character in the graphical representation, but the textual representation may consist of multiple characters (like diacritic modifiers). + * + * When the TextPage is added to the Page, the TextEntitys are restructured to optimize text selection. + * + * @see TextEntity + */ +class OKULARCORE_EXPORT TextPage +{ + /// @cond PRIVATE + friend class Page; + friend class PagePrivate; + /// @endcond + +public: + /** + * Defines the behaviour of adding characters to text() result + * @since 0.10 (KDE 4.4) + */ + enum TextAreaInclusionBehaviour { + AnyPixelTextAreaInclusionBehaviour, ///< A character is included into text() result if any pixel of his bounding box is in the given area + CentralPixelTextAreaInclusionBehaviour ///< A character is included into text() result if the central pixel of his bounding box is in the given area + }; + + /** + * Creates a new text page. + */ + TextPage(); + + /** + * Creates a new text page with the given @p words. + */ + explicit TextPage(const TextEntity::List &words); + + /** + * Destroys the text page. + */ + ~TextPage(); + + /** + * Appends the given @p text with the given @p area as new + * @ref TextEntity to the page. + */ + void append(const QString &text, const NormalizedRect &area); + + /** + * Returns the bounding rect of the text which matches the following criteria + * or 0 if the search is not successful. + * + * @param searchID An unique id for this search. + * @param query The search text. + * @param direction The direction of the search (@ref SearchDirection) + * @param caseSensitivity If Qt::CaseSensitive, the search is case sensitive; otherwise + * the search is case insensitive. + * @param area If null the search starts at the beginning of the page, otherwise + * right/below the coordinates of the given rect. + */ + RegularAreaRect *findText(int searchID, const QString &query, SearchDirection direction, Qt::CaseSensitivity caseSensitivity, const RegularAreaRect *area); + + /** + * Text extraction function. Looks for text in the given @p area. + * + * @return + * - If @p area points to a valid null area, a null string. + * - If @p area is nullptr, the whole page text as a single string. + * - Otherwise, the text which is included by @p area, as a single string. + * Uses AnyPixelTextAreaInclusionBehaviour + */ + QString text(const RegularAreaRect *area = nullptr) const; + + /** + * Text extraction function. Looks for text in the given @p area. + * + * @return + * - If @p area points to a valid null area, a null string. + * - If @p area is nullptr, the whole page text as a single string. + * - Otherwise, the text which is included by @p area, as a single string. + * @since 0.10 (KDE 4.4) + */ + QString text(const RegularAreaRect *area, TextAreaInclusionBehaviour b) const; + + /** + * Text entity extraction function. Similar to text() but returns + * the words including their bounding rectangles. Note that + * ownership of the contents of the returned list belongs to the + * caller. + * @since 0.14 (KDE 4.8) + */ + TextEntity::List words(const RegularAreaRect *area, TextAreaInclusionBehaviour b) const; + + /** + * Returns the area and text of the word at the given point + * Note that ownership of the returned area belongs to the caller. + * @since 0.15 (KDE 4.9) + */ + std::unique_ptr wordAt(const NormalizedPoint &p) const; + + /** + * Returns the rectangular area of the given @p selection. + */ + std::unique_ptr textArea(const TextSelection &selection) const; + +private: + TextPagePrivate *const d; + + Q_DISABLE_COPY(TextPage) +}; + +} + +#endif diff --git a/core/textpage_p.h b/core/textpage_p.h new file mode 100644 index 0000000..3275939 --- /dev/null +++ b/core/textpage_p.h @@ -0,0 +1,69 @@ +/* + SPDX-FileCopyrightText: 2006 Tobias Koenig + SPDX-FileCopyrightText: 2007 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_TEXTPAGE_P_H_ +#define _OKULAR_TEXTPAGE_P_H_ + +#include "textpage.h" +#include +#include +#include +#include + +class SearchPoint; + +class RegionText; + +namespace Okular +{ +class PagePrivate; +class RegularAreaRect; +class Page; + +/** + * Returns whether the two strings match. + * Satisfies the condition that if two strings match then their lengths are equal. + */ +typedef bool (*TextComparisonFunction)(QStringView from, const QStringView to); + +/** + * A list of RegionText. It keeps a bunch of TextList with their bounding rectangles + */ +typedef QList RegionTextList; + +class TextPagePrivate +{ +public: + TextPagePrivate(); + ~TextPagePrivate(); + + RegularAreaRect *findTextInternalForward(int searchID, const QString &query, TextComparisonFunction comparer, const TextEntity::List::ConstIterator start, int start_offset, const TextEntity::List::ConstIterator end); + RegularAreaRect *findTextInternalBackward(int searchID, const QString &query, TextComparisonFunction comparer, const TextEntity::List::ConstIterator start, int start_offset, const TextEntity::List::ConstIterator end); + + /** + * Copy a TextList to m_words, the pointers of list are adopted + */ + void setWordList(const TextEntity::List &list); + + /** + * Make necessary modifications in the TextList to make the text order correct, so + * that textselection works fine + */ + void correctTextOrder(); + + // variables those can be accessed directly from TextPage + TextEntity::List m_words; + QMap m_searchPoints; + Page *m_page; + +private: + RegularAreaRect *searchPointToArea(const SearchPoint *sp); +}; + +} + +#endif diff --git a/core/tile.h b/core/tile.h new file mode 100644 index 0000000..e689103 --- /dev/null +++ b/core/tile.h @@ -0,0 +1,53 @@ +/* + SPDX-FileCopyrightText: 2012 Fabio D 'Urso + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_TILE_H_ +#define _OKULAR_TILE_H_ + +#include "area.h" + +class QPixmap; + +namespace Okular +{ +/** + * This class represents a rectangular portion of a page. + * + * It doesn't take ownership of pixmap + * + * @since 0.16 (KDE 4.10) + */ +class OKULARCORE_EXPORT Tile +{ +public: + Tile(const NormalizedRect &rect, QPixmap *pixmap, bool isValid); + Tile(const Tile &t); + ~Tile(); + + /** + * Location of the tile + */ + NormalizedRect rect() const; + + /** + * Pixmap (may also be NULL) + */ + QPixmap *pixmap() const; + + /** + * True if the pixmap is available and updated + */ + bool isValid() const; + + Tile &operator=(const Tile &other); + +private: + class Private; + Private *d; +}; + +} + +#endif // _OKULAR_TILE_H_ diff --git a/core/tilesmanager.cpp b/core/tilesmanager.cpp new file mode 100644 index 0000000..df79b5a --- /dev/null +++ b/core/tilesmanager.cpp @@ -0,0 +1,718 @@ +/* + SPDX-FileCopyrightText: 2012 Mailson Menezes + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "tilesmanager_p.h" + +#include +#include +#include +#include + +#include "tile.h" + +#define TILES_MAXSIZE 2000000 + +using namespace Okular; + +static bool rankedTilesLessThan(const TileNode *t1, const TileNode *t2) +{ + // Order tiles by its dirty state and then by distance from the viewport. + if (t1->dirty == t2->dirty) { + return t1->distance < t2->distance; + } + + return !t1->dirty; +} + +class TilesManager::Private +{ +public: + Private(); + + bool hasPixmap(const NormalizedRect &rect, const TileNode &tile) const; + void tilesAt(const NormalizedRect &rect, TileNode &tile, QList &result, TileLeaf tileLeaf); + void setPixmap(const QPixmap *pixmap, const NormalizedRect &rect, TileNode &tile, bool isPartialPixmap); + + /** + * Mark @p tile and all its children as dirty + */ + static void markDirty(TileNode &tile); + + /** + * Deletes all tiles, recursively + */ + void deleteTiles(const TileNode &tile); + + void markParentDirty(const TileNode &tile); + void rankTiles(TileNode &tile, QList &rankedTiles, const NormalizedRect &visibleRect, int visiblePageNumber); + /** + * Since the tile can be large enough to occupy a significant amount of + * space, they may be split in more tiles. This operation is performed + * when the tiles of a certain region is requested and they are bigger + * than an arbitrary value. Only tiles intersecting the desired region + * are split. There's no need to do this for the entire page. + */ + void split(TileNode &tile, const NormalizedRect &rect); + + /** + * Checks whether the tile's size is bigger than an arbitrary value and + * performs the split operation returning true. + * Otherwise it just returns false, without performing any operation. + */ + bool splitBigTiles(TileNode &tile, const NormalizedRect &rect); + + // The page is split in a 4x4 grid of tiles + TileNode tiles[16]; + int width; + int height; + int pageNumber; + qulonglong totalPixels; + Rotation rotation; + NormalizedRect visibleRect; + NormalizedRect requestRect; + int requestWidth; + int requestHeight; +}; + +TilesManager::Private::Private() + : width(0) + , height(0) + , pageNumber(0) + , totalPixels(0) + , rotation(Rotation0) + , requestRect(NormalizedRect()) + , requestWidth(0) + , requestHeight(0) +{ +} + +TilesManager::TilesManager(int pageNumber, int width, int height, Rotation rotation) + : d(new Private) +{ + d->pageNumber = pageNumber; + d->width = width; + d->height = height; + d->rotation = rotation; + + // The page is split in a 4x4 grid of tiles + const double dim = 0.25; + for (int i = 0; i < 16; ++i) { + int x = i % 4; + int y = i / 4; + d->tiles[i].rect = NormalizedRect(x * dim, y * dim, x * dim + dim, y * dim + dim); + } +} + +TilesManager::~TilesManager() +{ + for (const TileNode &tile : d->tiles) { + d->deleteTiles(tile); + } + + delete d; +} + +void TilesManager::Private::deleteTiles(const TileNode &tile) +{ + if (tile.pixmap) { + totalPixels -= tile.pixmap->width() * tile.pixmap->height(); + delete tile.pixmap; + } + + if (tile.nTiles > 0) { + for (int i = 0; i < tile.nTiles; ++i) { + deleteTiles(tile.tiles[i]); + } + + delete[] tile.tiles; + } +} + +void TilesManager::setSize(int width, int height) +{ + if (width == d->width && height == d->height) { + return; + } + + d->width = width; + d->height = height; + + markDirty(); +} + +int TilesManager::width() const +{ + return d->width; +} + +int TilesManager::height() const +{ + return d->height; +} + +void TilesManager::setRotation(Rotation rotation) +{ + if (rotation == d->rotation) { + return; + } + + d->rotation = rotation; +} + +Rotation TilesManager::rotation() const +{ + return d->rotation; +} + +void TilesManager::markDirty() +{ + for (TileNode &tile : d->tiles) { + TilesManager::Private::markDirty(tile); + } +} + +void TilesManager::Private::markDirty(TileNode &tile) +{ + tile.dirty = true; + + for (int i = 0; i < tile.nTiles; ++i) { + markDirty(tile.tiles[i]); + } +} + +void TilesManager::setPixmap(const QPixmap *pixmap, const NormalizedRect &rect, bool isPartialPixmap) +{ + const NormalizedRect rotatedRect = TilesManager::fromRotatedRect(rect, d->rotation); + if (!d->requestRect.isNull()) { + if (!(d->requestRect == rect)) { + return; + } + + if (pixmap) { + // Check whether the pixmap has the same absolute size of the expected + // request. + // If the document is rotated, rotate requestRect back to the original + // rotation before comparing to pixmap's size. This is to avoid + // conversion issues. The pixmap request was made using an unrotated + // rect. + QSize pixmapSize = pixmap->size(); + int w = width(); + int h = height(); + if (d->rotation % 2) { + std::swap(w, h); + pixmapSize.transpose(); + } + + if (rotatedRect.geometry(w, h).size() != pixmapSize) { + return; + } + } + + d->requestRect = NormalizedRect(); + } + + for (TileNode &tile : d->tiles) { + d->setPixmap(pixmap, rotatedRect, tile, isPartialPixmap); + } +} + +void TilesManager::Private::setPixmap(const QPixmap *pixmap, const NormalizedRect &rect, TileNode &tile, bool isPartialPixmap) +{ + QRect pixmapRect = TilesManager::toRotatedRect(rect, rotation).geometry(width, height); + + // Exclude tiles outside the viewport + if (!tile.rect.intersects(rect)) { + return; + } + // Avoid painting partial pixmaps over tiles that already have a fully rendered pixmap, even if dirty + if (isPartialPixmap && tile.pixmap != nullptr && !tile.partial) { + return; + } + + // if the tile is not entirely within the viewport (the tile intersects an + // edged of the viewport), attempt to set the pixmap in the children tiles + if (!((tile.rect & rect) == tile.rect)) { + // paint children tiles + if (tile.nTiles > 0) { + for (int i = 0; i < tile.nTiles; ++i) { + setPixmap(pixmap, rect, tile.tiles[i], isPartialPixmap); + } + + delete tile.pixmap; + tile.pixmap = nullptr; + } + // We could paint the pixmap over part of the tile here, but + // there is little reason to as it will usually be offscreen + // and it will be overwritten later if more tiles enter the screen, + // as we only track the dirty state of whole tiles, not rects. + return; + } + + // the tile lies entirely within the viewport + if (tile.nTiles == 0) { + tile.dirty = isPartialPixmap; + tile.partial = isPartialPixmap; + + // check whether the tile size is big and split it if necessary + if (!splitBigTiles(tile, rect)) { + if (tile.pixmap) { + totalPixels -= tile.pixmap->width() * tile.pixmap->height(); + delete tile.pixmap; + } + tile.rotation = rotation; + if (pixmap) { + const NormalizedRect rotatedRect = TilesManager::toRotatedRect(tile.rect, rotation); + tile.pixmap = new QPixmap(pixmap->copy(rotatedRect.geometry(width, height).translated(-pixmapRect.topLeft()))); + totalPixels += tile.pixmap->width() * tile.pixmap->height(); + } else { + tile.pixmap = nullptr; + } + } else { + if (tile.pixmap) { + totalPixels -= tile.pixmap->width() * tile.pixmap->height(); + delete tile.pixmap; + tile.pixmap = nullptr; + } + + for (int i = 0; i < tile.nTiles; ++i) { + setPixmap(pixmap, rect, tile.tiles[i], isPartialPixmap); + } + } + } else { + QRect tileRect = tile.rect.geometry(width, height); + // sets the pixmap of the children tiles. if the tile's size is too + // small, discards the children tiles and use the current one + // Never join small tiles during a partial update in order to + // not lose existing image data + if (tileRect.width() * tileRect.height() >= TILES_MAXSIZE || isPartialPixmap) { + tile.dirty = isPartialPixmap; + tile.partial = isPartialPixmap; + if (tile.pixmap) { + totalPixels -= tile.pixmap->width() * tile.pixmap->height(); + delete tile.pixmap; + tile.pixmap = nullptr; + } + + for (int i = 0; i < tile.nTiles; ++i) { + setPixmap(pixmap, rect, tile.tiles[i], isPartialPixmap); + } + } else { + // remove children tiles + for (int i = 0; i < tile.nTiles; ++i) { + deleteTiles(tile.tiles[i]); + tile.tiles[i].pixmap = nullptr; + } + + delete[] tile.tiles; + tile.tiles = nullptr; + tile.nTiles = 0; + + // paint tile + if (tile.pixmap) { + totalPixels -= tile.pixmap->width() * tile.pixmap->height(); + delete tile.pixmap; + } + tile.rotation = rotation; + if (pixmap) { + const NormalizedRect rotatedRect = TilesManager::toRotatedRect(tile.rect, rotation); + tile.pixmap = new QPixmap(pixmap->copy(rotatedRect.geometry(width, height).translated(-pixmapRect.topLeft()))); + totalPixels += tile.pixmap->width() * tile.pixmap->height(); + } else { + tile.pixmap = nullptr; + } + tile.dirty = isPartialPixmap; + tile.partial = isPartialPixmap; + } + } +} + +bool TilesManager::hasPixmap(const NormalizedRect &rect) +{ + NormalizedRect rotatedRect = fromRotatedRect(rect, d->rotation); + for (const TileNode &tile : std::as_const(d->tiles)) { + if (!d->hasPixmap(rotatedRect, tile)) { + return false; + } + } + + return true; +} + +bool TilesManager::Private::hasPixmap(const NormalizedRect &rect, const TileNode &tile) const +{ + const NormalizedRect rectIntersection = tile.rect & rect; + if (rectIntersection.width() <= 0 || rectIntersection.height() <= 0) { + return true; + } + + if (tile.nTiles == 0) { + return tile.isValid(); + } + + // all children tiles are clean. doesn't need to go deeper + if (!tile.dirty) { + return true; + } + + for (int i = 0; i < tile.nTiles; ++i) { + if (!hasPixmap(rect, tile.tiles[i])) { + return false; + } + } + + return true; +} + +QList TilesManager::tilesAt(const NormalizedRect &rect, TileLeaf tileLeaf) +{ + QList result; + + NormalizedRect rotatedRect = fromRotatedRect(rect, d->rotation); + for (TileNode &tile : d->tiles) { + d->tilesAt(rotatedRect, tile, result, tileLeaf); + } + + return result; +} + +void TilesManager::Private::tilesAt(const NormalizedRect &rect, TileNode &tile, QList &result, TileLeaf tileLeaf) +{ + if (!tile.rect.intersects(rect)) { + return; + } + + // split big tiles before the requests are made, otherwise we would end up + // requesting huge areas unnecessarily + splitBigTiles(tile, rect); + + if ((tileLeaf == TerminalTile && tile.nTiles == 0) || (tileLeaf == PixmapTile && tile.pixmap)) { + NormalizedRect rotatedRect; + if (rotation != Rotation0) { + rotatedRect = TilesManager::toRotatedRect(tile.rect, rotation); + } else { + rotatedRect = tile.rect; + } + + if (tile.pixmap && tileLeaf == PixmapTile && tile.rotation != rotation) { + // Lazy tiles rotation + int angleToRotate = (rotation - tile.rotation) * 90; + int xOffset = 0, yOffset = 0; + int w = 0, h = 0; + switch (angleToRotate) { + case 0: + xOffset = 0; + yOffset = 0; + w = tile.pixmap->width(); + h = tile.pixmap->height(); + break; + case 90: + case -270: + xOffset = 0; + yOffset = -tile.pixmap->height(); + w = tile.pixmap->height(); + h = tile.pixmap->width(); + break; + case 180: + case -180: + xOffset = -tile.pixmap->width(); + yOffset = -tile.pixmap->height(); + w = tile.pixmap->width(); + h = tile.pixmap->height(); + break; + case 270: + case -90: + xOffset = -tile.pixmap->width(); + yOffset = 0; + w = tile.pixmap->height(); + h = tile.pixmap->width(); + break; + } + QPixmap *rotatedPixmap = new QPixmap(w, h); + QPainter p(rotatedPixmap); + p.rotate(angleToRotate); + p.translate(xOffset, yOffset); + p.drawPixmap(0, 0, *tile.pixmap); + p.end(); + + delete tile.pixmap; + tile.pixmap = rotatedPixmap; + tile.rotation = rotation; + } + result.append(Tile(rotatedRect, tile.pixmap, tile.isValid())); + } else { + for (int i = 0; i < tile.nTiles; ++i) { + tilesAt(rect, tile.tiles[i], result, tileLeaf); + } + } +} + +qulonglong TilesManager::totalMemory() const +{ + return 4 * d->totalPixels; +} + +void TilesManager::cleanupPixmapMemory(qulonglong numberOfBytes, const NormalizedRect &visibleRect, int visiblePageNumber) +{ + QList rankedTiles; + for (TileNode &tile : d->tiles) { + d->rankTiles(tile, rankedTiles, visibleRect, visiblePageNumber); + } + std::sort(rankedTiles.begin(), rankedTiles.end(), rankedTilesLessThan); + + while (numberOfBytes > 0 && !rankedTiles.isEmpty()) { + TileNode *tile = rankedTiles.takeLast(); + if (!tile->pixmap) { + continue; + } + + // do not evict visible pixmaps + if (tile->rect.intersects(visibleRect)) { + continue; + } + + qulonglong pixels = tile->pixmap->width() * tile->pixmap->height(); + d->totalPixels -= pixels; + if (numberOfBytes < 4 * pixels) { + numberOfBytes = 0; + } else { + numberOfBytes -= 4 * pixels; + } + + delete tile->pixmap; + tile->pixmap = nullptr; + + tile->partial = true; + + d->markParentDirty(*tile); + } +} + +void TilesManager::Private::markParentDirty(const TileNode &tile) +{ + if (!tile.parent) { + return; + } + + if (!tile.parent->dirty) { + tile.parent->dirty = true; + markParentDirty(*tile.parent); + } +} + +void TilesManager::Private::rankTiles(TileNode &tile, QList &rankedTiles, const NormalizedRect &visibleRect, int visiblePageNumber) +{ + // If the page is visible, visibleRect is not null. + // Otherwise we use the number of one of the visible pages to calculate the + // distance. + // Note that the current page may be visible and yet its pageNumber is + // different from visiblePageNumber. Since we only use this value on hidden + // pages, any visible page number will fit. + if (visibleRect.isNull() && visiblePageNumber < 0) { + return; + } + + if (tile.pixmap) { + // Update distance + if (!visibleRect.isNull()) { + NormalizedPoint viewportCenter = visibleRect.center(); + NormalizedPoint tileCenter = tile.rect.center(); + // Manhattan distance. It's a good and fast approximation. + tile.distance = qAbs(viewportCenter.x - tileCenter.x) + qAbs(viewportCenter.y - tileCenter.y); + } else { + // For non visible pages only the vertical distance is used + if (pageNumber < visiblePageNumber) { + tile.distance = 1 - tile.rect.bottom; + } else { + tile.distance = tile.rect.top; + } + } + rankedTiles.append(&tile); + } else { + for (int i = 0; i < tile.nTiles; ++i) { + rankTiles(tile.tiles[i], rankedTiles, visibleRect, visiblePageNumber); + } + } +} + +bool TilesManager::isRequesting(const NormalizedRect &rect, int pageWidth, int pageHeight) const +{ + return rect == d->requestRect && pageWidth == d->requestWidth && pageHeight == d->requestHeight; +} + +void TilesManager::setRequest(const NormalizedRect &rect, int pageWidth, int pageHeight) +{ + d->requestRect = rect; + d->requestWidth = pageWidth; + d->requestHeight = pageHeight; +} + +bool TilesManager::Private::splitBigTiles(TileNode &tile, const NormalizedRect &rect) +{ + QRect tileRect = tile.rect.geometry(width, height); + if (tileRect.width() * tileRect.height() < TILES_MAXSIZE) { + return false; + } + + split(tile, rect); + return true; +} + +void TilesManager::Private::split(TileNode &tile, const NormalizedRect &rect) +{ + if (tile.nTiles != 0) { + return; + } + + if (rect.isNull() || !tile.rect.intersects(rect)) { + return; + } + + tile.nTiles = 4; + tile.tiles = new TileNode[4]; + double hCenter = (tile.rect.left + tile.rect.right) / 2; + double vCenter = (tile.rect.top + tile.rect.bottom) / 2; + + tile.tiles[0].rect = NormalizedRect(tile.rect.left, tile.rect.top, hCenter, vCenter); + tile.tiles[1].rect = NormalizedRect(hCenter, tile.rect.top, tile.rect.right, vCenter); + tile.tiles[2].rect = NormalizedRect(tile.rect.left, vCenter, hCenter, tile.rect.bottom); + tile.tiles[3].rect = NormalizedRect(hCenter, vCenter, tile.rect.right, tile.rect.bottom); + + for (int i = 0; i < tile.nTiles; ++i) { + tile.tiles[i].parent = &tile; + splitBigTiles(tile.tiles[i], rect); + } +} + +NormalizedRect TilesManager::fromRotatedRect(const NormalizedRect &rect, Rotation rotation) +{ + if (rotation == Rotation0) { + return rect; + } + + NormalizedRect newRect; + switch (rotation) { + case Rotation90: + newRect = NormalizedRect(rect.top, 1 - rect.right, rect.bottom, 1 - rect.left); + break; + case Rotation180: + newRect = NormalizedRect(1 - rect.right, 1 - rect.bottom, 1 - rect.left, 1 - rect.top); + break; + case Rotation270: + newRect = NormalizedRect(1 - rect.bottom, rect.left, 1 - rect.top, rect.right); + break; + default: + newRect = rect; + break; + } + + return newRect; +} + +NormalizedRect TilesManager::toRotatedRect(const NormalizedRect &rect, Rotation rotation) +{ + if (rotation == Rotation0) { + return rect; + } + + NormalizedRect newRect; + switch (rotation) { + case Rotation90: + newRect = NormalizedRect(1 - rect.bottom, rect.left, 1 - rect.top, rect.right); + break; + case Rotation180: + newRect = NormalizedRect(1 - rect.right, 1 - rect.bottom, 1 - rect.left, 1 - rect.top); + break; + case Rotation270: + newRect = NormalizedRect(rect.top, 1 - rect.right, rect.bottom, 1 - rect.left); + break; + default: + newRect = rect; + break; + } + + return newRect; +} + +TileNode::TileNode() + : pixmap(nullptr) + , rotation(Rotation0) + , dirty(true) + , partial(true) + , distance(-1) + , tiles(nullptr) + , nTiles(0) + , parent(nullptr) +{ +} + +bool TileNode::isValid() const +{ + return pixmap && !dirty; +} + +class Tile::Private +{ +public: + Private(); + + NormalizedRect rect; + QPixmap *pixmap; + bool isValid; +}; + +Tile::Private::Private() + : pixmap(nullptr) + , isValid(false) +{ +} + +Tile::Tile(const NormalizedRect &rect, QPixmap *pixmap, bool isValid) + : d(new Tile::Private) +{ + d->rect = rect; + d->pixmap = pixmap; + d->isValid = isValid; +} + +Tile::Tile(const Tile &t) + : d(new Tile::Private) +{ + d->rect = t.d->rect; + d->pixmap = t.d->pixmap; + d->isValid = t.d->isValid; +} + +Tile &Tile::operator=(const Tile &other) +{ + if (this == &other) { + return *this; + } + + d->rect = other.d->rect; + d->pixmap = other.d->pixmap; + d->isValid = other.d->isValid; + + return *this; +} + +Tile::~Tile() +{ + delete d; +} + +NormalizedRect Tile::rect() const +{ + return d->rect; +} + +QPixmap *Tile::pixmap() const +{ + return d->pixmap; +} + +bool Tile::isValid() const +{ + return d->isValid; +} diff --git a/core/tilesmanager_p.h b/core/tilesmanager_p.h new file mode 100644 index 0000000..fc08943 --- /dev/null +++ b/core/tilesmanager_p.h @@ -0,0 +1,214 @@ +/* + SPDX-FileCopyrightText: 2012 Mailson Menezes + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_TILES_MANAGER_P_H_ +#define _OKULAR_TILES_MANAGER_P_H_ + +#include "area.h" +#include "okularcore_export.h" + +class QPixmap; + +namespace Okular +{ +class Tile; + +/** + * Node in the quadtree structure used by the tiles manager to store tiles. + * + * Except for the first level, the tiles manager stores tiles in a quadtree + * structure. + * Each node stores the pixmap of a tile and its location on the page. + * There's a limit on the size of the pixmaps (TILES_MAXSIZE, defined in + * tilesmanager.cpp), and tiles that are bigger than that value are split into + * four children tiles, which are stored as children of the original tile. + * If children tiles are still too big, they are recursively split again. + * If the zoom level changes and a big tile goes below the limit, it is merged + * back into a leaf tile. + */ +class TileNode +{ +public: + TileNode(); + + bool isValid() const; + + /** + * Location on the page in normalized coords + */ + NormalizedRect rect; + + /** + * Associated pixmap or NULL if not present + * + * For each node, it is guaranteed that there's no more than one pixmap + * along the path from the root to the node itself. + * In fact, it is very frequent that a leaf node has no pixmap and one + * of its ancestors has. Such a situation shows, for example, when the + * parent tile still has a dirty tile from a previous lower zoom level. + */ + QPixmap *pixmap; + + /** + * Rotation of this individual tile. + * + * A rotation to the page does not immediately rotates the pixmaps in + * cache. This operation happens when pixmaps are going to be used. + */ + Rotation rotation; + + /** + * Whether the tile needs to be repainted (after a zoom or rotation) + * If a tile doesn't have a pixmap but all its children are updated + * (dirty = false), the parent tile is also considered updated. + */ + bool dirty; + + /** + Whether the tile contains a partially rendered pixmap. + Some backends, such as PDF, can send partial updates that contain + only some of the page's elements (e.g. only a background image) drawn. + */ + bool partial; + + /** + * Distance between the tile and the viewport. + * This is used by the evicting algorithm. + */ + double distance; + + /** + * Children tiles + * When a tile is split into multiple tiles, they're added as children. + * nTiles can be either 0 (in leaf tiles) or 4 (in split tiles). + */ + TileNode *tiles; + int nTiles; + TileNode *parent; +}; + +/** + * @short Tiles management + * + * This class has direct access to all tiles and handles how they should be + * stored, deleted and retrieved. Each tiles manager only handles one page. + * + * The tiles manager is a tree of tiles. At first the page is divided in a 4x4 + * grid of 16 tiles. Then each of these tiles can be recursively split in 4 + * subtiles so that we keep the size of each pixmap inside a safe interval. + */ +class TilesManager +{ +public: + enum TileLeaf { + TerminalTile, ///< Return tiles without children + PixmapTile ///< Return only tiles with pixmap + }; + + TilesManager(int pageNumber, int width, int height, Rotation rotation = Rotation0); + ~TilesManager(); + + TilesManager(const TilesManager &) = delete; + TilesManager &operator=(const TilesManager &) = delete; + + /** + * Sets the pixmap of the tiles covered by @p rect (which represents + * the location of @p pixmap on the page). + * @p pixmap may cover an area which contains multiple tiles. So each + * tile we get a cropped part of the @p pixmap. + * + * Also it checks the dimensions of the given parameters against the + * current request as to avoid setting pixmaps of late requests. + */ + void setPixmap(const QPixmap *pixmap, const NormalizedRect &rect, bool isPartialPixmap); + + /** + * Checks whether all tiles intersecting with @p rect are available. + * Returns false if at least one tile needs to be repainted (the tile + * is dirty). + */ + bool hasPixmap(const NormalizedRect &rect); + + /** + * Returns a list of all tiles intersecting with @p rect. + * + * As to avoid requests of big areas, each traversed tile is checked + * for its size and split if necessary. + * + * @param rect The normalized rectangular area + * @param tileLeaf Indicate the type of tile to return + */ + QList tilesAt(const NormalizedRect &rect, TileLeaf tileLeaf); + + /** + * The total memory consumed by the tiles manager + */ + qulonglong totalMemory() const; + + /** + * Removes at least @p numberOfBytes bytes worth of tiles (least ranked + * tiles are removed first). + * Set @p visibleRect to the visible region of the page. Set a + * @p visiblePageNumber if the current page is not visible. + * Visible tiles are not discarded. + */ + void cleanupPixmapMemory(qulonglong numberOfBytes, const NormalizedRect &visibleRect, int visiblePageNumber); + + /** + * Checks whether a given region has already been requested + */ + bool isRequesting(const NormalizedRect &rect, int pageWidth, int pageHeight) const; + + /** + * Sets a region to be requested so the tiles manager knows which + * pixmaps to expect and discard those not useful anymore (late pixmaps) + */ + void setRequest(const NormalizedRect &rect, int pageWidth, int pageHeight); + + /** + * Inform the new size of the page and mark all tiles to repaint + */ + void setSize(int width, int height); + + /** + * Gets the width of the page in tiles manager + */ + int width() const; + + /** + * Gets the height of the page in tiles manager + */ + int height() const; + + /** + * Inform the new rotation of the page + */ + void setRotation(Rotation rotation); + Rotation rotation() const; + + /** + * Mark all tiles as dirty + */ + void markDirty(); + + /** + * Returns a rotated NormalizedRect given a @p rotation + */ + static NormalizedRect toRotatedRect(const NormalizedRect &rect, Rotation rotation); + + /** + * Returns a non rotated version of @p rect, which is rotated by @p rotation + */ + static NormalizedRect fromRotatedRect(const NormalizedRect &rect, Rotation rotation); + +private: + class Private; + Private *const d; + friend class Private; +}; + +} + +#endif // _OKULAR_TILES_MANAGER_P_H_ diff --git a/core/utils.cpp b/core/utils.cpp new file mode 100644 index 0000000..3039302 --- /dev/null +++ b/core/utils.cpp @@ -0,0 +1,170 @@ +/* + SPDX-FileCopyrightText: 2006 Luigi Toscano + SPDX-FileCopyrightText: 2008 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "utils.h" +#include "utils_p.h" + +#include "debug_p.h" +#include "settings_core.h" + +#include +#include +#include +#include +#include +#include +#include + +using namespace Okular; + +QRect Utils::rotateRect(const QRect source, int width, int height, int orientation) +{ + QRect ret; + + // adapt the coordinates of the boxes to the rotation + switch (orientation) { + case 1: + ret = QRect(width - source.y() - source.height(), source.x(), source.height(), source.width()); + break; + case 2: + ret = QRect(width - source.x() - source.width(), height - source.y() - source.height(), source.width(), source.height()); + break; + case 3: + ret = QRect(source.y(), height - source.x() - source.width(), source.height(), source.width()); + break; + case 0: // no modifications + default: // other cases + ret = source; + } + + return ret; +} + +QSizeF Utils::realDpi(const QWindow *windowOnScreen) +{ + const QScreen *screen = windowOnScreen ? windowOnScreen->screen() : qGuiApp->primaryScreen(); + + if (screen) { + const QSizeF res(screen->physicalDotsPerInchX(), screen->physicalDotsPerInchY()); + if (res.width() > 0 && res.height() > 0) { + if (qAbs(res.width() - res.height()) / qMin(res.height(), res.width()) < 0.15) { + return res; + } else { + qCDebug(OkularCoreDebug) << "QScreen calculation returned a non square dpi." << res << ". Falling back"; + } + } + } + return QSizeF(72, 72); +} + +inline static bool isPaperColor(QRgb argb, QRgb paperColor) +{ + return (argb & 0xFFFFFF) == (paperColor & 0xFFFFFF); // ignore alpha +} + +NormalizedRect Utils::imageBoundingBox(const QImage *image) +{ + if (!image) { + return NormalizedRect(); + } + + const int width = image->width(); + const int height = image->height(); + const QRgb paperColor = SettingsCore::paperColor().rgb(); + int left, top, bottom, right, x, y; + +#ifdef BBOX_DEBUG + QTime time; + time.start(); +#endif + + // Scan pixels for top non-white + for (top = 0; top < height; ++top) { + for (x = 0; x < width; ++x) { + if (!isPaperColor(image->pixel(x, top), paperColor)) { + goto got_top; + } + } + } + return NormalizedRect(0, 0, 0, 0); // the image is blank +got_top: + left = right = x; + + // Scan pixels for bottom non-white + for (bottom = height - 1; bottom >= top; --bottom) { + for (x = width - 1; x >= 0; --x) { + if (!isPaperColor(image->pixel(x, bottom), paperColor)) { + goto got_bottom; + } + } + } + Q_ASSERT(0); // image changed?! +got_bottom: + if (x < left) { + left = x; + } + if (x > right) { + right = x; + } + + // Scan for leftmost and rightmost (we already found some bounds on these): + for (y = top; y <= bottom && (left > 0 || right < width - 1); ++y) { + for (x = 0; x < left; ++x) { + if (!isPaperColor(image->pixel(x, y), paperColor)) { + left = x; + } + } + for (x = width - 1; x > right + 1; --x) { + if (!isPaperColor(image->pixel(x, y), paperColor)) { + right = x; + } + } + } + + NormalizedRect bbox(QRect(left, top, (right - left + 1), (bottom - top + 1)), image->width(), image->height()); + +#ifdef BBOX_DEBUG + qCDebug(OkularCoreDebug) << "Computed bounding box" << bbox << "in" << time.elapsed() << "ms"; +#endif + + return bbox; +} + +void Okular::copyQIODevice(QIODevice *from, QIODevice *to) +{ + QByteArray buffer(65536, '\0'); + qint64 read = 0; + while ((read = from->read(buffer.data(), buffer.size())) > 0) { + qint64 written = to->write(buffer.constData(), read); + if (read != written) { + break; + } + } +} + +QTransform Okular::buildRotationMatrix(Rotation rotation) +{ + QTransform matrix; + matrix.rotate((int)rotation * 90); + + switch (rotation) { + case Rotation90: + matrix.translate(0, -1); + break; + case Rotation180: + matrix.translate(-1, -1); + break; + case Rotation270: + matrix.translate(-1, 0); + break; + default:; + } + + return matrix; +} + +/* kate: replace-tabs on; indent-width 4; */ diff --git a/core/utils.h b/core/utils.h new file mode 100644 index 0000000..b4e3e5a --- /dev/null +++ b/core/utils.h @@ -0,0 +1,55 @@ +/* + SPDX-FileCopyrightText: 2006 Luigi Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_UTILS_H_ +#define _OKULAR_UTILS_H_ + +#include "area.h" +#include "okularcore_export.h" + +class QRect; +class QImage; + +namespace Okular +{ +/** + * @short General utility functions. + * + * This class contains some static functions of general utility. + */ +class OKULARCORE_EXPORT Utils +{ +public: + /** + * Rotate the rect \p source in the area \p width x \p height with the + * specified \p orientation . + */ + static QRect rotateRect(const QRect source, int width, int height, int orientation); + + /** + * Return the real DPI of the display containing given window + * + * On X11, it can indicate the real horizontal DPI value without any Xrdb + * setting. Otherwise, returns the same as realDpiX/Y(), + * + * @since 22.04 + */ + static QSizeF realDpi(const QWindow *windowOnScreen); + + /** + * Compute the smallest rectangle that contains all non-white pixels in image), + * in normalized [0,1] coordinates. + * + * @since 0.7 (KDE 4.1) + */ + static NormalizedRect imageBoundingBox(const QImage *image); +}; + +} + +#endif + +/* kate: replace-tabs on; indent-width 4; */ diff --git a/core/utils_p.h b/core/utils_p.h new file mode 100644 index 0000000..0869c3b --- /dev/null +++ b/core/utils_p.h @@ -0,0 +1,23 @@ +/* + SPDX-FileCopyrightText: 2008 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_UTILS_P_H_ +#define _OKULAR_UTILS_P_H_ + +class QIODevice; + +namespace Okular +{ +void copyQIODevice(QIODevice *from, QIODevice *to); + +/** + * Return a rotation matrix corresponding to the @p rotation enumeration. + */ +QTransform buildRotationMatrix(Rotation rotation); + +} + +#endif diff --git a/core/view.cpp b/core/view.cpp new file mode 100644 index 0000000..986bef8 --- /dev/null +++ b/core/view.cpp @@ -0,0 +1,71 @@ +/* + SPDX-FileCopyrightText: 2008 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "view.h" +#include "view_p.h" + +// local includes +#include "document_p.h" + +using namespace Okular; + +ViewPrivate::ViewPrivate() + : document(nullptr) +{ +} + +ViewPrivate::~ViewPrivate() +{ +} + +View::View(const QString &name) + : d_ptr(new ViewPrivate()) +{ + d_ptr->name = name; +} + +View::~View() +{ + if (d_ptr->document) { + d_ptr->document->m_views.remove(this); + } + + delete d_ptr; +} + +Document *View::viewDocument() const +{ + return d_ptr->document ? d_ptr->document->m_parent : nullptr; +} + +QString View::name() const +{ + return d_ptr->name; +} + +bool View::supportsCapability(View::ViewCapability capability) const +{ + Q_UNUSED(capability) + return false; +} + +View::CapabilityFlags View::capabilityFlags(View::ViewCapability capability) const +{ + Q_UNUSED(capability) + return NoFlag; +} + +QVariant View::capability(View::ViewCapability capability) const +{ + Q_UNUSED(capability) + return QVariant(); +} + +void View::setCapability(View::ViewCapability capability, const QVariant &option) +{ + Q_UNUSED(capability) + Q_UNUSED(option) +} diff --git a/core/view.h b/core/view.h new file mode 100644 index 0000000..3f19a23 --- /dev/null +++ b/core/view.h @@ -0,0 +1,111 @@ +/* + SPDX-FileCopyrightText: 2008 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef OKULAR_VIEW_H +#define OKULAR_VIEW_H + +#include "okularcore_export.h" +#include +class QString; +class QVariant; + +namespace Okular +{ +class Document; +class DocumentPrivate; +class ViewPrivate; + +/** + * @short View on the document + * + * The View class represents a "view" on a document. + * A view can be registered with only a document at a time. + * + * @since 0.7 (KDE 4.1) + */ +class OKULARCORE_EXPORT View +{ + /// @cond PRIVATE + friend class Document; + friend class DocumentPrivate; + /// @endcond + +public: + /** + * The capabilities of a view + */ + enum ViewCapability { + Zoom, ///< Possibility to get/set the zoom of the view + ZoomModality, ///< Possibility to get/set the zoom mode of the view + Continuous, ///< Possibility to toggle continuous mode @since 1.9 + ViewModeModality, ///< Possibility to get/set the view mode @since 1.9 + TrimMargins ///< Possibility to toggle trim-margins mode @since 1.9 + }; + + /** + * The access type of a capability + */ + enum CapabilityFlag { + NoFlag = 0, + CapabilityRead = 0x01, ///< Possibility to read a capability + CapabilityWrite = 0x02, ///< Possibility to write a capability + CapabilitySerializable = 0x04 ///< The capability is suitable for being serialized/deserialized + }; + Q_DECLARE_FLAGS(CapabilityFlags, CapabilityFlag) + + virtual ~View(); + + /** + * Return the document which this view is associated to, + * or null if it is not associated with any document. + */ + Document *viewDocument() const; + + /** + * Return the name of this view. + */ + QString name() const; + + /** + * Query whether the view support the specified @p capability. + */ + virtual bool supportsCapability(ViewCapability capability) const; + + /** + * Query the flags for the specified @p capability. + */ + virtual CapabilityFlags capabilityFlags(ViewCapability capability) const; + + /** + * Query the value of the specified @p capability. + */ + virtual QVariant capability(ViewCapability capability) const; + + /** + * Sets a new value for the specified @p capability. + */ + virtual void setCapability(ViewCapability capability, const QVariant &option); + +protected: + /** + * Construct a new view with the specified @p name. + */ + explicit View(const QString &name); + + /// @cond PRIVATE + Q_DECLARE_PRIVATE(View) + ViewPrivate *d_ptr; + /// @endcond + +private: + Q_DISABLE_COPY(View) +}; + +} + +Q_DECLARE_OPERATORS_FOR_FLAGS(Okular::View::CapabilityFlags) + +#endif diff --git a/core/view_p.h b/core/view_p.h new file mode 100644 index 0000000..876f06a --- /dev/null +++ b/core/view_p.h @@ -0,0 +1,33 @@ +/* + SPDX-FileCopyrightText: 2008 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef OKULAR_VIEW_P_H +#define OKULAR_VIEW_P_H + +#include +#include + +namespace Okular +{ +class DocumentPrivate; +class View; + +class ViewPrivate +{ +public: + ViewPrivate(); + virtual ~ViewPrivate(); + + ViewPrivate(const ViewPrivate &) = delete; + ViewPrivate &operator=(const ViewPrivate &) = delete; + + QString name; + DocumentPrivate *document; +}; + +} + +#endif diff --git a/cppcheck-suppressions.xml b/cppcheck-suppressions.xml new file mode 100644 index 0000000..6b518cf --- /dev/null +++ b/cppcheck-suppressions.xml @@ -0,0 +1,22 @@ + + + +duplInheritedMember +d_func + + +unusedPrivateFunction +*::d_func + + +returnByReference + + +constParameterPointer + + + +useStlAlgorithm + + + diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt new file mode 100644 index 0000000..2e4fab6 --- /dev/null +++ b/doc/CMakeLists.txt @@ -0,0 +1,5 @@ +########### install files ############### +# +# +kdoctools_create_handbook(index.docbook INSTALL_DESTINATION ${KDE_INSTALL_DOCBUNDLEDIR}/en SUBDIR okular) +kdoctools_create_manpage(man-okular.1.docbook 1 INSTALL_DESTINATION ${KDE_INSTALL_MANDIR}) diff --git a/doc/annotation-properties.png b/doc/annotation-properties.png new file mode 100644 index 0000000000000000000000000000000000000000..873e631e6771b2c82db88c26151c5b4d827a326a GIT binary patch literal 15095 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 a&Z%9zm92TRQpVrEuc8ew`qg^Q5&sJ+827dS literal 0 HcmV?d00001 diff --git a/doc/annotations.png b/doc/annotations.png new file mode 100644 index 0000000000000000000000000000000000000000..ae4c5d9e37979946d6258b3a0e23e02104a89350 GIT binary patch literal 42525 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
(O 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 z zb)4uiFDLhULa>XK8K-%+{a2;iHdEh}>?NYU#(!SzR34Y~fvV!|`-d_xJjo1vjW_0r z@w{;|hh?79Gqx3EhHzNxirBfi=lVXKxTF`L{?FiN zL~|A$QRWP~4^MCB9Sn>aQTg-9=QM;}FQ9rA9cr|t3pR^uaGe_rfqxaKOdrPbp5 z0_E7(;soItGcDp9?fn-Q#@rmz-MJSljoM&uy`%IfBssiha1-{gF6J1R`p=?qtG0+j z%20>_68B3)6IW#?4lI%1KEu&Z|EAIqZ{poa0z$1Dw?c2gPp)9m^F+<(nHt2qiGu4B z2(VUrp4bTzLUWHgi0P{Je2H~iccsMY`Kk$pC+Bv?N+C5P9eGFx$NYM5N%^Ip1*V#}n3RDz|QODGrNGr$tkAbz3bL2>cHP-;9 z>Oq{b@NdnPAaT!)Yq8vy6!YJ_Q_kpT^$1pB=O!RbJGXp{D^^*3$S|f8h^C|T8T=Dg zqlT6Ui?1y&M2+tqUHI8s`<)mc6rl;n6#N_j-#i!w=d{(2mC7?>-5RzkdJW!}xR^lt zacEdIfGH<$X}_qTsKA$uqn(O1R*5Hzi;DtQ?}{h^+hr7so#elgaExrpA+tpXDj*~o z5N*BsPtW^P2v~=*`70B--NSQ+eY<_CMKw}%hJ9TdWEt`+)`Bx1q%NGb{8-*Moxb#Q z?&9qX2?}~q^+s(m#PCel*FBrRl4*eg#gCSDQ?XSlQ^Q(B57LaYxby3ULY#h|w^Z>0 zCvk+!W_9Q08TP3mYx3IDfxyF&R|=n$tqJnH#Y|Eh`BblQ)VyJ z#qhi)KlUtmB=@TNqXE`)sm`;+s+JG6HbokK)Pa;GeQ12#cdOc#2^Vit7&H9Artlw|f9Hraww$1U zJG1eP2CbX!{q6)C*O7On4K_b1n;Uve9|v{S6Wf!v*E1(JF-)UQ2Ew16+fr;uCR(E5 z>W-sTfezo)9)MEz6EgbsUAK@cW*!iOg4r(;qZvuQyiT>|rps}OcYL!1qgC76i?h_8 zyacKTD~XiT(vKq)KIYGTu>N*ncga+Wqo%=50vdR8CfgVBjKRgYnNZzyyJz32@{0BK z>^Htb+!114Y^Q3<)Wz89rLRcIytqh1WB@Fc>DGN;qQr_CIu?7os}@iB@9@3bQElo` zWYxCB%6?WrtV}fFmCMOHFY4jf?9`KU6K;WxL%HuUi@f(^d){e!ehkJr96BAeTng&W zt6d}Ruk-GSydIgXbvVIp5}!0|O+Tuj5;rmw5?H!E7So1??|~~hA9PZeq!GKoC%rBQ z$kK?zAQ9BN9oPHxO8vtru~v1a$~4n%H(fQY#h3qJdGx=qoXinTMXtb~wQyK6DPpp* zRlI-^{1-%*{?H70E9+_WEfM?MR}ev`AO6C5TJ) zxDwqkGWQ4G;oWNM`<1Uu;@Ogv>Wm=8TyoqyPXyXKSkEtn+hQ8A!Ypi!U%4Lukda~_ zO}bN~_S=XLmCQ#D=UilNDnntu&kc;-jo^-I@tK>^3H5jXZE`XlUH^uuTtc;G(|Rgh z)G(%Q%h1;x??t7r+b!~(1cL~gaK+p>tDqPll$HW7W^V*c2GtdZys5*!o+@U<1nc1n zfLN_AwpXpGCci&>SlrMdSXN5#z4Yw4{8GLwWmK!hGyXAGVQ*DRP`P8odoQ$`fNx$P zZU*-Hg+Kb5H0=I62ikz=pHsi_k7>0GdNtOUznP+mJ~MEkkIO|qn{FWTAHfTN$88)D z@E}Q+j%Q=xpDN4L=L#6LVzJQQasKF;*Jt)G+;X#`rd-@L-(w#D(~{XqE%$az?Y{3@ zn(e!2ZCceC?da>NvF2C5-uAZqb#*XEa-J9?=j1epl#3#0hBRV=`z1cwT_(eB&*cK4 zq2Yil`Dbrxs_tG??HnyPoppWhL*;S3&p{z&TBR0V)Zxisyi6hcWU}d{(n$P7+@S0K zJF|QGv}(u*$gmFK!~Bw>tk_(518!su(t116Y13K~0eaf_-EEle_$X zIyio2=k!p+>Gq$qz8Ab!h|qnZ&rWf`xJwgl&mW^7^=IC)sa}{d>#Nh;m&yThe;cqV&EA#t%T~=YeMX4)bUixR>3Z`;WjQ3|4gK2?o1&T@XxiCWPj(uokj-%k1r1c= zYqHPBI+UAbo&+9#*lpTnd~(vCak8F?+xx`$`<%5;e<`J?SM` zV2}FYZAEa0k!Ps_V!mjLjasREr(>6EW@kbvt=xV!6L;zPcLDMDElsz>dxsFSQa|n7 zN37jirVjRIj;>pwJmNZ$vZHQ!YPAd3B9kcj-Aiz_9>R zYjjrV(KBex+Qx{2JH?Afxb`Q>R@r(r^NLPsr_$Rv00dwiEKiQs$p3YL?6BK6iANGIO}vaLNr(c2Ls6Qkfvv{W zI>Hn(IOn`4`rxEig!T{dLZw2s-DBlXe~-`N`c!5)lMGY5w)nt6GHJi%G553hLAM&C zP)fw~y`4@YtWXTK!JNuj_}as})8_blCa&v#zR0@ubPo1uT!#8B=v`njMfLA>?hV*B z%=t4R$X9syH9-n5B>aUsA=Sx@3jLVTM?3JG1LAl?NbovZGv#Dd_jc_NDI*m%5un;! zgKY#8+6awj@XhlGF4Q*5g{@JQ<)LUsdmcf~hu?2f3%R?Hl+LD_Egv@mr{-^KX4Exo zrc=Il>lYEp5TS7eG?TSViqZT=Ds4m+yyN*EwoZjFg zh>r|t8>&gaL@{@rLjAND8#GW|#s^v?aLP+6iwFbBpM%^-_FKcztBOK$-J!BjhWI`e ze^i)J!zpC}@V*$RpT9K+lYE9g_XXNji+FIs+1PM^waxT8n*saPYe>LQx2 z!W~p$HIoObbg@l?4Xkv&@&q!hpD`*Mq20B}G46DPfV=iINj2fc@QNziP9i^xHRfGC@^P|v zlMMMzLv5!LN)nW}#gRl}<< z5Q!P7i%!T$bp{p_IbXdKMD#g9xvJl-v54^MX>5MV#L1#>(8K``fbn#*2_}M88tii% zK;GBc0JTl8?=>G)d!~Ew?a*Ky^p)kz$%H}HI7KDd@Z3tHhw3v!1WrZRc&g{=f1{H5fkvyn+r5VTrpVdEJ2dQl-F3pYDnV6*nD>pa#Q_XX6M0a0JfrPlbNBFWG}xoE9N6hI zBre+;sT=%mfOft{*%Wc1G#!P1kr#&_FnYWodbE%0tG{>dYq56TP;nIKeRB$f7Vg^N z_Bwut50E@DKS>K6^`wP=JWCC;#A{AvjjYScFmh@(VhEWg#E4p{+b+H<75ef8uFo{a z@TONEi@oXe(b8y2`^pHZgUAFt@AAhU3(`c4`8J!N zky6I;$d{$Z$e0vd!py8JcijI2i>wEe1V=)B0DULr-Ko z&xlM=_~u%lV>vtOY(tO8ctasHo zgEmCK-F+-NaPqet3U#_C*t)2!F@$X6R8?GI5#bj7thYhS@5aK;F|@UhB)$0mpswzf zgwv=MJ(1NsddmWu*=yAj_bm^2>Y)8orSGcP?0_ugYJGL{}K3&jg26JbDE zA{2!hHG0e=dVRrOA`2&LS-1N36A7cLY*s|O9S#-8*W+h7HL9pCv3)8iE?03{we@ig zcN2+GlOzLE;V;mzh?hP73b(!cINV%ZC1WE9vNUsQ6A)EAsI}A`5;G)0emkH~1$ty-X1g6WpCDTaAi@ZH11!<$pigY4!~-3Umm`GB}G|n znR3TOrIbYK;TKM(CC1N2eCyKjdLqBHXrUWzYQ+-!wOF}kGI|Z+?WcZlZe=MGm;9sh zl)QIV%Okf4@CxDu{%f8_BChXRlQjp_v3!V(fqIp%k>(U`je7Ri|E;!WPUZci#UByQ zYquzF8T7ZCcT`U?VeJ>)$>uq9OHACIQz;2fl-(OZ$;NRS>X*@To`iS-?go;)fyY?4 zhfHU}<2brf$MER5GCTft*YaBIoX>&+T2Ng44X=ray^mW_ATTF@`a$K16%*gqB#^#@ z9I$s=ctSrW+Kwm1=7@>k;7MZ5$SfT`aDyuURI^^VB(0;f?a12tXds46bQ5axJLC}; zFAJ{9GP(9|MKCm!kio-wc)4-wH8SgkM}*&8YgI;t-&&^X+y5fz$(N@NQ#HrW9jxC` zEIV~WAWXw_Jnj%Q$vDdVFWhFvFhjC&D{|r+q~C0Espe|<#3-cSs8O;~(ikN;o3KXG z`If(So8h=ZRjK4^tKpdP&$CJVo%|I3(n(cjl6`f7KfpK4SO5S3 literal 0 HcmV?d00001 diff --git a/doc/bookmark-management.png b/doc/bookmark-management.png new file mode 100644 index 0000000000000000000000000000000000000000..02fad69c9b251b6e77aa63b6b282aaa78910c37c GIT binary patch literal 47171 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 VIJhkGvp)d;lb2R`QwlZ?{y&-mX-NP8 literal 0 HcmV?d00001 diff --git a/doc/bookmarks.png b/doc/bookmarks.png new file mode 100644 index 0000000000000000000000000000000000000000..4919e970384c2cfbb852d28003b40b79e18f09b4 GIT binary patch literal 226 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H1|*Mc$*~4foCO|{#S9F5M?jcysy3fAP;iQ; zi(`mI@7q2_p+g1&uK&|#bUre8Dkm+@JS)ujPFs~vOc75T^8wQXSKcIP8Srjlo2*{` zf8Sq+)Rtgw!Hw}Omd`zpClzXLp7k}CEi~q6=pX)%zoHLR?+?6cd-AY_)#N=(rp#Nq zJ1JT4<=Homn*y(fg+?<(8}IJ+*uTQ?q;$jT;&&3sHMMJY2^`9lXp?PNrm~)a;okik WT`j>!FP(tyWAJqKb6Mw<&;$T+;#AQ9 literal 0 HcmV?d00001 diff --git a/doc/config-pdf-digital-signatures.png b/doc/config-pdf-digital-signatures.png new file mode 100644 index 0000000000000000000000000000000000000000..37a68e598a81a1b6d3350e2da93d9abf386bb042 GIT binary patch literal 19223 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 L>gTe~DWM4fBCAnt literal 0 HcmV?d00001 diff --git a/doc/configure-annotations.png b/doc/configure-annotations.png new file mode 100644 index 0000000000000000000000000000000000000000..bb1b9dad6065359e57c8a64688f939f77b629eef GIT binary patch literal 26905 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 literal 0 HcmV?d00001 diff --git a/doc/configure-backends.png b/doc/configure-backends.png new file mode 100644 index 0000000000000000000000000000000000000000..fae37793da11aa4c566252b7d424791c2c30761d GIT binary patch literal 15684 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�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 literal 0 HcmV?d00001 diff --git a/doc/embedded-files-bar.png b/doc/embedded-files-bar.png new file mode 100644 index 0000000000000000000000000000000000000000..32a98daf6d6fd359545ab97d61943c1ddd3d2682 GIT binary patch literal 3186 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 literal 0 HcmV?d00001 diff --git a/doc/enhance-lowcontrast.png b/doc/enhance-lowcontrast.png new file mode 100644 index 0000000000000000000000000000000000000000..da7d9e0c6f8bfd8d29c92cbdb4f268aba8a4d5c5 GIT binary patch literal 3753 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 literal 0 HcmV?d00001 diff --git a/doc/enhance-solid.png b/doc/enhance-solid.png new file mode 100644 index 0000000000000000000000000000000000000000..a5dcf8597d24fbfd26485cc29419d9f56c7872fe GIT binary patch literal 6491 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 +KPDF"> + + +]> + + + + The &okular; Handbook + + + Albert + Astals Cid + +
&Albert.Astals.Cid.mail;
+
+
+ + Pino + Toscano + +
pino@kde.org
+
+
+ +
+ &FDLNotice; + 2022-02-19 + 22.04 + + + &okular; is a &kde; universal document viewer based on &kpdf; code. + + + KDE + okular + pdf + ps + postscript + tiff + djvu + dvi + xps + comicbook + fictionbook + markdown + mobipocket + annotation + +
+ + Introduction + &okular; is a &kde; universal document viewer based on the code of the &kpdf; application. + Although being based on &kpdf; code, &okular; has some unique features such as overview mode, + improved presentation support and annotation support. + + + &okular; supports a lot of different formats like &PDF;, &PostScript;, Tiff, DjVU, Images (png, jpg, &etc;) + XPS, Fiction Books, Comic Book, Plucker, EPub, Fax and Markdown. + For all supported formats and their features see + &okular; Document Format Handlers. + + + &okular;s Main Window + + + + + + &okular;s Main Window + + + + + + Basic Usage + + Opening Files + + To open any supported file in &okular;, select FileOpen... + , choose a supported file in the dialog and click Open. + Your file should now be displayed in the main window. + + + + The new document will be opened in a new tab if the Open new files in tabs option on the General configuration page is checked. + + + You can close the tab by clicking with &MMB; on it. + + + The previously closed document in a tab can be reopened using the &Ctrl;&Shift;TFile Undo close tab menu item. + + + + If you have already opened files in &okular; before, you can quickly access them by selecting them in + the FileOpen Recent menu. + + &okular; is the default &kde; application for &PDF; and &PostScript; files, launched when you click with the + &LMB; on such a file type in the filemanager. If you want to open any file whose format is supported by &okular; + use Open with...&okular; from context + menu in the filemanager. + + + After having a file opened you probably want to read it and therefore navigate through it. Go to the + next section to learn more about this. + + + + Navigating + This section describes how you can navigate through a document in &okular;. + + There are multiple ways of scrolling the viewing area. One is to use the &Up; and &Down; arrow keys. You may also use the scrollbar, your mousewheel or the &PgUp; and &PgDn; keys. + + + You can also use vim-like navigation keys, namely H to move to the top of the previous page, L to move to the top of the next page, J to move one line down, and K to move one line up. + + + Another way is to hold the &LMB; down at any place on the document while dragging the mouse in the + opposite direction of where you want to move. This procedure only works if the Browse tool is + enabled, which you can select by choosing Tools + Browse. + + + + When viewing a document in the Presentation mode use &Up; and &Down; arrow keys to switch between pages or slides. The number and the position of the current slide will be shown in the overlay at the right upper corner of screen. + + + If you want to read a document with several pages use the automatic scrolling feature of &okular;. + Start automatic scrolling with &Shift;&Down; or + &Shift;&Up;. Then use these keys to increase and + decrease the scrolling speed. You can start or stop automatic scrolling temporarily by pressing the &Shift; key; + pressing any other key deactivates this feature. + + Another way to navigate through a document with several pages is to use the mouse pointer. Drag the page up or down, continue to drag even while reaching the bottom or top of the screen and behold. + Once you cross the border of a page, the mouse cursor appears on top or bottom of the screen again and you can just continue to drag. + + + The sidebar on the left side of the screen enables two more ways of navigating + through a document: + + + + + If you click on a page thumbnail the viewing area will be brought to + that page. + + + + + If the document has a table of contents, clicking on a table + of contents item will bring the document to the page linked to that + item. + + + + + If the document has layers, you can control the layers shown by checking or unchecking + the items in the Layers list. + + + + + If the document has bookmarks, enable the Bookmarks view + and click them to go to the associated page. + If bookmarks are not only shown for the current document, you can quickly + switch to bookmarks in all recently opened files. + + + + + If the document has annotations, enable the Annotations view + and click the annotations or select them with the &Up; and &Down; arrow keys and press &Enter; to go to the associated page. + + + + + Some documents have links. In this case you can click on them and the view will + change to the page it links to. If the link is to a web page or some + other document the default &kde; handler for that format will be invoked. + For example, clicking on a link pointing to https://www.kde.org + will open the web page in the default &kde;'s web browser. + + + + The document internal links work only when Browse Tool is used. + + + + Additionally, you may use the following functionality to quickly move to specific places + in the document: + + + + + You can go to the beginning of the document using + &Ctrl;Home or + using + + Go + Beginning of the document + . + + + + + You can go to the end of the document using + &Ctrl;End or + using + + Go + End of the document + . + + + + + You can go forward in the document using &Space; or &PgDn;. + To go to the next page of the document use the Next Page Toolbar + button or + + Go + Next Page + in the menubar. + + + + + You can go back in the document using &Backspace; or &PgUp;. + To go to the previous page of the document use Previous Page Toolbar + button or + + Go + Previous Page + in the menubar. + + + + + You can go back to the positions in the document where you came from in a chronological order. + Consider ⪚ reading the phrase As shown in [15], …, and you want + to know quickly lookup reference [15]. So you click on it, and &okular; will jump to the list + of references. Using &Alt;&Shift;&Left; or + + Go + Back + in the menubar will bring you back to exactly the position where you came from. + + + + + You can go forward in the document after the jumping back as described above using + &Alt;&Shift;&Right; or + + Go + Forward + in the menubar. + + + + + You can go to the next match when searching using + F3 or &Enter; (when the focus is on Find text field) keys or + + Edit + Find Next + + menu item or move back to the previous match using + &Shift;F3 or &Shift;&Enter; (when the focus is on Find text field) keys or + + Edit + Find Previous + + menu item. + + + + + + Presentation Mode + + The Presentation mode represents another way to view documents in &okular;. It can be + enabled in + ViewPresentation. + It shows the document on a page per page basis. The pages are shown with + zoom to page, that means all the page is visible. + + + + &PDF; documents can even specify that they are always opened in presentation mode. + + + + When in presentation mode, you have an helper bar located on the top of the screen. Just move + the mouse cursor to the top of the screen to make it appear. + + + &okular; in Presentation Mode + + + + + + &okular; in Presentation Mode + + + + + To navigate between + pages you may use the &LMB; (next page) and the &RMB; (previous page), the mouse + wheel, the arrow icons or the line edit in the top bar, + or the keys specified in the Navigating + section. + + + Use Play/Pause button in the top bar to start playing presentation or pause it, correspondingly. + + + You can exit presentation mode at any time by pressing the &Esc; key or clicking + the Quit icon in the top bar. + + + You can also draw on the current page with a pencil. Click on the + Toggle Drawing Mode icon in the top bar to enable or disable the possibility + to draw in the presentation mode. The drawings are cleared automatically when leaving the presentation + mode. You can also click on the Erase Drawings icon to remove the + drawings in the current page. + + + The presentation mode has support for more than one screen in a multi-monitor configuration. + With more than one screen a new button will appear in the top bar, with the icon of a screen: + this is a drop down box that allows you to move the presentation to any of the other available screens. + + + Presentation mode has some configuration options, you can find their + description in the chapter Configuring &okular;. + + + + + Inverse Search between &latex; Editors and &okular; + + Inverse search is a very useful feature when you are writing a &latex; document yourself. If everything is set up properly, you can + click into &okular;'s window with the left mouse button while pressing &Shift;. After that editor loads the &latex; source file and jumps to + the proper paragraph. + + Inverse search cannot work unless: + + + The source file has been compiled successfully. + &okular; knows which editor you would like to use. + The Browse tool has to be enabled, which you can select by choosing + ToolsBrowse + . + + + With this feature of &okular;, a left mouse click while pressing &Shift; in the &DVI; or &PDF; document will + result in editor opening the corresponding &latex; document and attempt to go to the + corresponding line. Remember to tell &okular; to use proper editor, in &okular;'s + menu item SettingsConfigure Okular... + (on the page Editor). + + For more details on editor configuration please refer to the corresponding section of this manual. + + + Configuring &okular; + + + + + + Configuring editor in &okular; + + Configuring editor in &okular; + + + + + + + &okular; Advanced Features + + Embedded Files + + If the current document has some files embedded in it, when you open it a bar + will appear above the page view to notify you about the embedded files. + + + The embedded files bar + + + + + + The embedded files bar + + + + + In this case, you can either click on the link in the text of the bar or choose + FileEmbedded Files + to open the embedded files dialog. The dialog allows you to view the embedded files and + to extract them. + + + + Forms + + If the current document has forms, when you open it a bar + will appear above the page view where you can enable the forms. + + + The forms bar + + + + + + The forms bar + + + + + In this case, you can either click on Show Forms in the bar or choose + ViewShow Forms + to enter data into the form fields. + + + + Signatures + + If the current document has signatures a bar + will appear above the page view after the document opening. It allows you to open the Signatures panel. + + + The signatures bar + + + + + + The signatures bar + + + + + Using the Signatures panel you can inspect the document signature and its certificate. + + + The signatures panel + + + + + + The signatures panel + + + + + + This feature is available for &PDF; documents only. You need to install at least version 0.51 of Poppler to get most signature information, version 0.68 to get signature location/reason information, and version 0.73 to get signature certificate information. + + + + Adding Digital Signatures + + You can add digital signatures to documents using the corresponding action in the Tools menu. + + + To be able to sign a document you need to have a proper PKCS signing certificate available on your system. &okular; does not have the ability to create such certificates since they need to be issued by certificate authorities to be useful for validation, &etc; + + + We use the Poppler library to handle signing of &PDF; documents and Poppler is using the NSS library to handle certificates. At the point of writing, Poppler will try to use one of the following NSS certificate stores in order (the first that exists): + + + The current Firefox user certificate store. + The system-wide /etc/pki/nssdb certificate store. + The current user $HOME/.pki/nssdb + + + If you want to use a custom certificate store you can do so by setting it in the &PDF; Backend Configuration section of the Configure Backends... dialog. + + + + This feature is available for &PDF; documents only. You need to install at least version 21.01 of Poppler to be able to add digital signatures to a document. + + + + + + Annotations + + &okular; allows you to review and annotate your documents. + + + &okular;'s Annotations + + + + + + &okular;'s Annotations + + + + &okular; has two different kind of annotations: + Text annotations like Yellow Highlighter and Black Underlining + can be used with files containing text (⪚ &PDF;). + Graphic annotations like Pop-up Note, Inline Note, Freehand Line, Highlighter, Straight Line, Polygon, Stamp, Underline, Ellipse, and Typewriter. + Graphic annotations are not limited to &PDF; files; they can be used for any format that &okular; supports. + Using the Annotations menu, you can add a Pop up Note or any other kind of annotation to add or edit comments. + + + &okular; has the "document archiving" feature. This is an &okular;-specific format for carrying the document plus various metadata related to it (currently only annotations). You can save a "document archive" from the open document by choosing FileSave As and selecting Okular document archive in the Filter selector. Documents saved this way will get .okular as their filename extension. To open an &okular; document archive, just open it with &okular; as it would be ⪚ a &PDF; document. + + + You can also save annotations directly into &PDF; files. You can use File Save to save it over the current file or File Save As... to save it to a new file. + + + + Note that adding, editing, or removing annotations may not be possible with DRM-enabled files. + + + + + It is possible to undo or redo any annotation action by using the corresponding item from the Edit menu. It is also possible to undo the action by pressing &Ctrl;Z and to redo a previously undone action by pressing &Ctrl;&Shift;Z. + + + + You can configure the default properties and appearance of each annotation tool. Please refer to the corresponding section in this documentation. + + + Adding annotations + + To add annotations to the document, you can use Quick Annotations button on the main &okular; toolbar, or activate the annotation toolbar. + This is done by either selecting + ToolsAnnotations or + pressing F6. Once the annotation toolbar is shown, just press one of + its buttons or use keyboard shortcuts (keys from 1 to 9) to use that annotation. + + + The annotation toolbar helps you to make annotations with drawings, shapes, and text messages. You can use the annotation toolbar to mark up a document (⪚ add lines, ellipses, polygons, stamps, highlights, underlines &etc;). The table below describes exactly what the default set of annotation toolbar buttons does. + + + + + + + Button + + + Tool Name + + + Description + + + + + + + + + + + + + + + + + Highlighter + + + + + Highlights text in the document with a given background color. + + + Click on the tool button, then click with the &LMB; and drag to highlight a text snippet. + + + It is possible to define the Type (Highlight, Squiggle, Underline or Strike out), Color, and Opacity for the highlighter. Just right-click on the highlighted text and select the Properties menu item. + + + + + + + + + + + + + + + + Underline + + + + + Underlines text with a straight line. + + + Click on the tool button, then click with the &LMB; and drag to underline a text snippet. + + + It is possible to define the Type (Highlight, Squiggle, Underline or Strike out), Color, and Opacity for the underline. Just right-click on the underlined text and select the Properties menu item. + + + + + + + + + + + + + + + + Squiggle + + + + + Underlines text with a squiggly line. + + + Click on the tool button, then click with the &LMB; and drag to squiggly underline a text snippet. + + + It is possible to define the Type (Highlight, Squiggle, Underline or Strike out), Color, and Opacity for the underline. Just right-click on the underlined text and select the Properties menu item. + + + + + + + + + + + + + + + + Strike Out + + + + + Strikes out some text. + + + Click on the tool button, then click with the &LMB; and drag to squiggly strike out a text snippet. + + + It is possible to define the Type (Highlight, Squiggle, Underline or Strike out), Color, and Opacity for the underline. Just right-click on the underlined text and select the Properties menu item. + + + + + + + + + + + + + + + + Typewriter + + + + + Adds text on a transparent background. This is useful for filling out forms lacking integrated editable text fields. + + + Click on the tool button, then click with the &LMB; where you wish to add the top-left corner of the text, then drag to place the bottom-right one. Type some text, then click on the OK to save it, Clear to clear the text and start over, or Cancel to cancel. + + + It is possible to define the Font and Text color for the text. Just right-click on the typewriter text created and select the Properties menu item. + + + + + + + + + + + + + + + + Inline Note + + + + + Draws an inline note. The note will be shown inline as is. + + + Click on the tool button, then click with the &LMB; where you wish to add the top-left corner of the note, then drag to place the bottom-right one. Enter the text of the note then click on the OK to save the note, Clear to clear the note's text, or Cancel to cancel note creation. + + + It is possible to define the Color, Opacity, Font, Align, and Border width for the note. Just right-click on the note icon created and select the Properties menu item. + + + + + + + + + + + + + + + + Pop-up Note + + + + + Draws a multiline note. The note can be viewed by double clicking on the icon created in the document. + + + Click on the tool button, then click on the place in the document where the pop-up note should be added. Enter the text of pop-up note then click on the Close this note button in the top right corner of the pop-up window. + + + It is possible to define the Color, Opacity, and Icon for the note. Just right-click on the note icon created and select the Properties menu item. + + + + + + + + + + + + + + + + Freehand Line + + + + + Draws free-form lines. + + + Click on the tool button, then click with the &LMB; and drag to draw the line. + + + It is possible to define the Color, Opacity, and Width for the line. Just right-click on the line created and select the Properties menu item. + + + + + + + + + + + + + + + + Arrow (drop-down list) + + + + + Draws an arrow between two points. + + + Click on the tool button, then click with the &LMB; to place the starting point of the arrow, then drag to place the ending point of the line and click once more. + + + It is possible to define the Color, Opacity, Width, Line start, Line end, Leader line length, and Leader line extension length for the line. Just right-click on the line created and select the Properties menu item. + + + + + + + + + + + + + + + + Straight line (drop-down list) + + + + + Draws a line between two points. + + + Click on the tool button, then click with the &LMB; to place the starting point of the line, then drag to place the ending point of the line and click once more. + + + It is possible to define the Color, Opacity, Width, Line start, Line end, Leader line length, and Leader line extension length for the line. Just right-click on the line created and select the Properties menu item. + + + + + + + + + + + + + + + + Rectangle (drop-down list) + + + + + Draws a rectangle around the chosen area. + + + Click on the tool button, then click with the &LMB; to place the top-left corner of the rectangle, then drag to place the bottom-right one. + + + It is possible to define the Type (Rectangle or Ellipse), Color, Opacity, Shape fill (and its color), and Width for the border. Just right-click on the border created and select the Properties menu item. + + + + + + + + + + + + + + + + Ellipse (drop-down list) + + + + + Draws an ellipse or rectangle around a chosen area. + + + Click on the tool button, then click with the &LMB; and hold to place the top-left corner of the circumscribed rectangle for the ellipse, then drag to place the bottom-right one. + + + It is possible to define the Type (Rectangle or Ellipse), Color, Opacity, Shape fill (and its color), and Width for the border. Just right-click on the border created and select the Properties menu item. + + + + + + + + + + + + + + + + Polygon (drop-down list) + + + + + Draws a closed shape from three or more line segments. The corresponding note can be viewed by double clicking inside the polygon. + + + Click on the tool button, then click with the &LMB; to place the first vertex of the polygon, then drag to place of the second vertex. Proceed until you have drawn the whole polygon and connected back up with the first vertex. Click twice to add a note to the polygon. Enter the text of the note then click on the OK to save the note, Clear to clear the note, or Cancel to cancel note entry. + + + It is possible to define the Color, Opacity, Shape fill (and its color), and Width for the polygon. Just right-click on the polygon created and select the Properties menu item. + + + + + + + + + + + + + + + + Stamp + + + + + Inserts a pre-defined shape into the document. + + + Click on the tool button to choose the stamp from the drop-down list then click with the &LMB; to place the stamp. + + + A single click just places a square stamp (useful for icons). + To add a rectangular stamp you can click with the &LMB; and hold to place the top-left point, then drag to place the bottom-right one. + + + It is possible to define the Opacity and Stamp symbol for the stamp. Just right-click on the stamp icon created and select the Properties menu item. + + + + This feature is experimental. Custom stamps inserted in &PDF; documents are not visible in &PDF; readers other than &okular;. + + + + + + + + These are the default annotations provided by &okular;. Using the Annotations page of the configuration dialog + you can add your own annotations like custom stamps, text markup or a geometrical shape with inner color to highlight regions &etc; + + + + It is possible to add &latex; code into the text of annotations. To do so, add $$code$$ into the text of annotation, where code is any valid &latex; equation. Follow the instructions that will appear on the screen to render it using a &latex; distribution installed in your system. + + + + It is possible to configure the selected tool using the annotation toolbar itself: + + + + + + + Button + + + Option Name + + + Description + + + + + + + + + + + + + + + + + Line width + + + + + Click on this button to choose the width from the drop-down list. + + + + + + + + + + + + / + + + + + + + + + + Annotation color + + + + + Click on this button to choose the color of the text or border of your annotation. You can chose one of the predefined colors or click on the Custom Color... item to open the color selection dialog. + + + + + + + + + + + + + + + + Annotation fill color + + + + + Click on this button to choose the fill color of your annotation. You can chose one of the predefined colors or click on the Custom Color... item to open the color selection dialog. + + + + + + + + + + + + + + + + Annotation opacity + + + + + Click on this button to choose the opacity of your annotation from the drop-down list (100% creates opaque annotations). + + + + + + + + + + + + + + + + Annotation font + + + + + Click on this button to open the font selection dialog. + + + + + + + + + + + + + + + + Advanced settings for the current annotation tool + + + + + Click on this button to open the general configuration dialog for your annotation. + + + + + + + + There are three additional utility buttons on the annotation toolbar: + + + + + + + Button + + + Description + + + + + + + + + + + + + + + + + Add the current annotation to the Quick Annotations menu on the main toolbar. + + + + You can use the default shortcuts from &Alt;9 to &Alt;0 to select the quick annotation actions any time you like, even with the annotation toolbar hidden. + + + + + + + + + + + + + + + + + When checked, keep the current annotation tool active after use. + + + + + + + + + + + + + + + + Hide the annotation toolbar. + + + + + + + + By pressing &Shift; you can constrain the angle of line and polygon annotations to 15° steps, and the ratio of shape annotations (⪚ Rectangle, Ellipse) to 1:1. You can also get a toolbar button from Configure Toolbars.... + + + The contents of the Quick Annotations menu can be configured using the Annotations page of &okular; configuration dialog. This page can be opened by clicking Quick Annotations button, then choosing Configure Annotations... from the pop-up menu. + + + + Activating the annotation toolbar will automatically switch to Browse Mode. + + + + You can stop annotating any time by pressing the button of the + annotation you are using again, or by pressing the &Esc; key. + + + The newly created annotation will have the author you set in the + Annotations page in &okular;s + configuration dialog as its author. The Annotations page can also be used to configure the content of the annotations toolbar. + + + + Removing annotations + + To remove an annotation, first select the Browse tool (ToolsBrowse) then just click on it with the &RMB;, and select + Delete or select an annotation using the &LMB; and press the ∇ key. + + + When removing the annotation, its window will be closed if it is open. + + + + Editing annotations + + To edit an annotation, first select the Browse tool (ToolsBrowse) then click on an annotation with the &RMB; and select + Properties. A dialog will appear with the general + annotation settings (like color and opacity, author, &etc;) and the settings specific + to that annotation type. + + + Annotation Property Dialog + + + + + + Annotation Property Dialog + + + + + To move an annotation, hold down the &Ctrl; key, move the mouse pointer on it and + then start dragging with the &LMB;. + + If you click with the &LMB; on an annotation, it gets selected. Resize handles appear on the + selection rectangle. When the cursor is moved over one of the 8 resize handles on + the corners or edges, the cursor shape changes to indicate the resize mode. Click anywhere + else on the annotation to move it. + Pressing &Esc; or clicking an area outside the annotation cancels a selection. + + Resizing is only available for the Inline Note, Typewriter, Stamp and Ellipse annotation types. + + + + Some options may be disabled depending on the document's permissions (this typically only affects some &PDF; documents). + + + + + + Bookmark Management + + &okular; has a very flexible bookmark system. &okular; saves the position on the page in bookmark and allows you to define more than one bookmark per page. + + + To manage bookmarks in &okular; you can use Bookmarks view from Sidebar, Bookmarks menu or context menu of document view (click with &RMB; to open it). + + + Bookmarks view + + To open Bookmarks view, click on the Bookmarks tab at the top of the Sidebar. If the Sidebar is not shown, click the Show Sidebar button on the toolbar or the menu item, or the F7 SettingsShow Sidebar menu item to make it visible. + + + Bookmark view context menu + + + + + + Bookmark view context menu + + + + + The Show for all documents checkbox can be unchecked to show only the bookmarks from the current document. + + + The filter bar at the top of Bookmarks view can be used to filter the content of bookmark list pane according to the text in the box. + + + The list pane permits to view the bookmark list in a tree-like fashion: each document in the list can be expanded or collapsed by clicking on the < or v icon next to it. + + + Right-click menu of document item can be used to open document, rename its item or remove it from the list. Remember that the removal of a document item leads to the removal of all bookmarks in the corresponding document. + + + Right-click menus of individual bookmark items allow you to go to the bookmark, rename or remove it. + + + The Right-click menu of items in the table of contents can be used to create bookmarks or go to the next or previous bookmark. + + + + + + Command Line Options + + Though &okular; may most often be started from the &kde; program menu, or a desktop icon, it can also be opened at the command line prompt of a terminal window. There are a few useful options that are available when doing this. + + + Specify a File + + By specifying the path and name of a particular file the user can have &okular; open that file immediately upon startup. This option might look something like the following: + + % okular + + + + For &PDF; documents, the name can be given as document_name#named_destination where named_destination is a particular named destination embedded in the document. + + + + + Other Command Line Options + + The following command line help options are available + + + + okular + + Open a page with a given number in the document. Also available through okular + + + okular + + Start the document in presentation mode. + + + okular + + Start with print dialog. + + + okular + + Start with print dialog and exit after printing. + + + okular + + Unique instance control. + + + okular + + Allows to prevent &okular; window raising after the start. + + + okular + + Tries to find and highlight a given string in the document. Only works if just one document is given as an argument of the okular command. + + + okular + + Sets the external editor command. You cannot set the editor command in an already running &okular; instance. Please note that is not supported when setting the editor command at the commandline. + + + + + + Fit window to page + + The Fit window to page feature resizes the window so that it is exactly the same size as the page at the current zoom factor. + If the page doesn't completely fit on the screen, the window is enlarged so that the largest possible part of the page is shown. + + + This feature can be accessed by using the keyboard shortcut &Ctrl;J. + + + + + + The Menubar + + + The File Menu + + + + + + &Ctrl;O + + File + Open... + + + + + Open a supported file or &okular; document archive. If there is already an opened file it will be closed. For more information, see the section about Opening Files. + + + + + + + + File + Open Recent + + + + + Open a file which was used previously from a + submenu. If a file is currently being displayed it + will be closed. For more information, see the section about + Opening Files. + + + + + + + + File + Import PostScript as &PDF;... + + + + + Open a &PostScript; file and convert it to &PDF;. + + + + + + + + + &Ctrl;&Shift;T + + File + Undo close tab + + + + + Reopen the last closed document. This action is active only if you have closed some document in tab during the current session. + + + + + + + + File + Open Containing Folder + + + + + Open folder that contains the current document in your favorite file manager. This action is especially useful for the case when you have downloaded a &PDF; file from the internet that opens itself in &okular;. The location of this file may not be clear or easy to find without this feature. + + + + + + + + + &Ctrl;S + + File + Save + + + + Saves the document including all the changes (annotations, form contents, &etc;), provided the document backend supports saving those changes. If the backend does not support saving the changes, the user will be given the option to either discard or to save them together with the document in an &okular; document archive. + + + + + + + + &Ctrl;&Shift;S + + File + Save As... + + + + Saves the document under a new name including all the changes (annotations, form contents, &etc;), provided the document backend supports saving changes. If the backend does not support saving the changes, the user will be given the option to either discard or to save them together with the document in an &okular; document archive. + + + Note that, due to the way this is implemented, even if there are no changes to the file, the new file need not to be an exact bit-for-bit copy of the original file (⪚ can have a different SHA-1 hash, &etc;). + + + + + + + + + F5 + File + Reload + + + + Reload the currently open file. + + + + + + + &Ctrl;P + File + Print... + + + + + Print the currently displayed document. Please take into account that &okular; has some specific options for printing &PDF; which are available via pressing the Options >> button then choosing the &PDF; Options. Use these options to print your annotations or configure rasterization mode if you have problems with printing some symbols or need to change the scale mode. + + + + The scale mode options are only available when you check the Force rasterization option. + + + + + + + + + File + Print Preview... + + + + + Show a preview of how the currently displayed + document would be printed with the default options. + + + + + + + + &Alt;Return + File + Properties + + + + Display some basic information about the document, such as + title, author, creation date, and details about the fonts used. The available information + depends on the type of document. + + Please pay attention on the information about substituting font in the Fonts tab of the Properties dialog. Many problems with font rendering can be solved by installing of the substituted fonts. + + + + + + + File + Embedded Files... + + + + Show the files embedded in the document, if the document has any. + For more information, see the section about the + Embedded Files. + + + + + + + File + Export As + + + + This item contains the export formats the current document can be exported to. + The first entry for all kind of documents is always Plain Text.... + The second entry is Document Archive, which allows you to save the document with your annotations into an &okular;-specific archive format. Thus it is easily possible to share the original document and your annotations with other &okular; users or work with them collaboratively. + + + + + + + File + Share + + + + This item contains the services which can be used to share the current document with other people or send it to your devices. + The entries in this sub-menu are controlled by the system. They depend on the current document format and the installed KPurpose plugins. + + + + + + + &Ctrl;Q + File + Quit + + + + Close &okular;. + + + + + + + The Edit Menu + + + + + + &Ctrl;Z + Edit + Undo + + + + Undo the last annotation editing command (creation and removal of annotations, editing arbitrary annotation properties, relocating annotations with &Ctrl;+drag, and editing the text contents of an annotation). + + + + + + + &Ctrl;&Shift;Z + Edit + Redo + + + + Redo the last undo step when editing annotations. + + + + + + + + + &Ctrl;C + Edit + Copy + + + + Copy the currently selected text in + Text Selection mode to the clipboard. + + + + + + + + + &Ctrl;A + Edit + Select All + + + + Selects all the text (if the document provides it). This works only in + Text Selection mode. + + + + + + + + + Edit + Select All Text on Current Page + + + + Selects all the text (if the document provides it) of the current page. + + + + + + + + + + &Ctrl;F + Edit + Find... + + + + + Show the find bar on the bottom of the viewing area that allows you to + search for a string in the document. + + + + + + + + F3 + Edit + Find Next + + + + Try to find the previous searched string again in the document. + + + + + + + &Shift;F3 + Edit + Find Previous + + + + Goes to the previous occurrence of the search string in the document. + + + + + + + The View Menu + + + + + &Ctrl;&Shift;P + View + Presentation + + + + Activates the Presentation Mode. For more information, see the + section about Presentation Mode. + + + + + + &Ctrl;&Shift;F + View + Full Screen Mode + + + + Enables the full screen mode. Note that + full screen mode is different from presentation mode insofar as the + only peculiarity of full screen mode is that it hides the window + decorations, the menubar and the toolbar. + + + + + + &Ctrl;+ + View + Zoom In + + + + Increase the magnification of the document view. + + + + + + + &Ctrl;- + View + Zoom Out + + + + Decrease the magnification of the document view. + + + + + + View + Zoom to 100% + + + + Zoom the document image to the actual size as prescribed by the document parameters. + + + + + + View + Fit Width + + + + Change the magnification of the document + view to a value that makes the pages' width equal to the document + view's width. + + + + + + View + Fit Page + + + + Change the magnification of the document view + to a value that makes at least one whole page visible. + + + + + + View + Auto Fit + + + + Change the magnification of the document view + to a value that, depending on the size relation between the page and the view area, automatically either makes the pages' width equal to the document view's width (like fit-width), the pages' height equal to the document view's height (like fit-height), or the whole page visible (like fit-page). + + + + + + View + View Mode + + + + This submenu makes you choose the view mode for the pages. The possible + options are: Single Page (only one page per row), + Facing Pages (two pages per row, in a book style), + Facing Pages (Center First Page) and + Overview (the number of columns is the one + specified in the &okular; settings). + Additionally, you can enable the Continuous mode. + In continuous mode, all pages of the document are shown, and you can smoothly + scroll through them. Otherwise, only one page (or one row of pages) is shown + at a time. + + + + + + View + Orientation + + + + + This submenu allows you to changes the orientation + of the pages of the document. + + + + The rotation is applied to the orientation of every page. + + + + You can select Original Orientation to restore + the orientation of the document, discarding all the rotations applied + manually. + + + + + + + View + Trim View + + + + + This submenu allows you to remove the white border of pages when viewing pages (Trim Margins item) or trim viewport to selection (Trim To Selection item). + + + The trim to selection mode allows you to draw a selection over the rendered page in order to define a visible bounding box to be applied to all pages in the document. Selecting a small trim bounding box enforces minimum dimensions size (20% as a percentage of total page size). + + + The trim margins mode is persistent across &okular; restarts. The trim to selection mode is forgotten across &okular; restarts. + + + When you switch &okular; from trim margins mode to trim to selection mode, the view jumps out of trim margins mode for the bounding box selection interaction. + + + The trim mode can be deactivated by selecting the same menu item that activates it once again. + + + + + + + View + Show/Hide Forms + + + + + Show or hides the display of the form fields of the + document. + + + + This menu item is active only if the current document has form + fields. + + + + + + + + + + The Go Menu + + + + + Go + Previous Page + + + + View the previous page of the document. + + + + + + Go + Next Page + + + + View the next page of the document. + + + + + + &Ctrl;&Home; + Go + Beginning of the document + + + + Go to the beginning of the document. + + + + + + &Ctrl;&End; + Go + End of the document + + + + Go to the end of the document. + + + + + + &Alt;&Shift;&Left; + Go + Back + + + + Go back to the previous view of the document. + + + + + + &Alt;&Shift;&Right; + Go + Forward + + + + Move forward to the next view of the document. This only works if you have already moved back before. + + + + + + &Ctrl;G + Go + Go to Page... + + + + Open a dialog which allows you to go to any page of the document. + + + + + + + The Bookmarks Menu + + + + + &Ctrl;B + Bookmarks + Add/Remove Bookmark + + + + + Add or remove a bookmark for the current position. + + + + + + + Bookmarks + Rename Bookmark + + + + + Rename a bookmark for the current position. + + + + + + + Bookmarks + Previous Bookmark + + + + Go to the previous bookmark, or do nothing if there + are no bookmarks prior to the current one. + + + + + + Bookmarks + Next Bookmark + + + + Go to the next bookmark, or do nothing if there + are no bookmarks after the current one. + + + + + + Bookmarks + No Bookmarks + + + + This is an always disabled action that appears in this menu only if the current document has + no bookmarks. Otherwise a list of all bookmarks is displayed here. Clicking on these bookmarks + allows you to go directly to the associated position. + + + + + + + The Tools Menu + + + + + &Ctrl;1 + Tools + Browse + + + + The mouse will have its normal behavior, &LMB; for dragging the document and following links and &RMB; for adding bookmarks and fit to width. + + + + + + &Ctrl;2 + Tools + Zoom + + + + The mouse will work as a zoom tool. Clicking &LMB; and dragging will zoom the view to the selected area, clicking &RMB; will bring the document back to the previous zoom. + + + + + + &Ctrl;3 + Tools + Area Selection + + + + The mouse will work as a rectangular region selection tool. In that mode clicking &LMB; and dragging will draw a selection box and provide the option of copying the selected content to the clipboard, speaking the selected text, or transforming the selection region into an image and saving it to a file. + + + + + + &Ctrl;4 + Tools + Text Selection + + + + The mouse will work as a text selection tool. In that mode clicking &LMB; and + dragging will give the option of selecting the text of the document. Then, just + click with the &RMB; to copy to the clipboard or speak the current selection. + + + + + + &Ctrl;5 + Tools + Table Selection + + + + + Draw a rectangle around the text for the table, + then click with the &LMB; to divide the text block into rows and columns. + A &LMB; click on an existing line removes it and merges the adjacent rows or columns. + Finally, just click with the &RMB; to copy the table to the clipboard. + + + + + + + &Ctrl;6 + Tools + Magnifier + + + + Activates the magnifier mode for the mouse pointer. Press and hold the &LMB; to activate magnifier widget, move the pointer for panning through the document. The magnifier scales each pixel in the document into 10 pixels in the magnifier widget. + + + + + + F6 + Tools + Annotations + + + + Open the annotation toolbar. The annotation toolbar allows you to add + annotations on the document you are reading. For more information, please see the + section about Annotations. + + + + + + Tools + Digitally Sign... + + + + Starts the digital signature creation workflow. Addition of digital signatures is only supported for PDF files at this point. For more information, please see the section about Adding Digital Signatures. + + + + + + Tools + Speak Whole Document + + + + + Tools + Speak Current Page + + + + + Tools + Stop Speaking + + + + + Tools + Pause/Resume Speaking + + + + These items allow you to speak the whole document or just the current page and stop speaking using the system speech service. + This service is provided by a &Qt; library which wraps speech-dispatcher on &Linux;, and native speech systems on other platforms. + It is possible to choose the current voice via &okular; Accessibility configuration page. + The Speak ... actions are enabled only if a speech service is available in the system. + + + + + + + The Settings and Help Menu + Apart from the common &kde; Settings and Help menus described + in the Menu chapter of the &kde; Fundamentals documentation + &okular; has these application specific menu entries: + + + + + F7 + Settings + Show Sidebar + + + + Shows or hides the Sidebar. + + + + + + Settings + Show Page Bar + + + + Toggle the page bar at the bottom of document area on and off to save vertical place in &okular; window. Note that the page numbers will be shown on the default toolbar anyway. + + + + + + Settings + Configure Backends... + + + + Opens the Backend Configuration + window. + + + + + + + + Configuring &okular; Backends + + You can configure &okular; backends by choosing + Settings + Configure Backends... + . + Currently, configuration options are provided for EPub, &PostScript;, FictionBook, Txt, OpenDocument Text, and &PDF; backends only. + + + The backends configuration dialog + + + + + + The backends configuration dialog + + + + + Using backend configuration pages for EPub, FictionBook, Mobipocket, Markdown, TXT, and OpenDocument Text you can define the font to render documents in the corresponding formats. The Choose... button in these pages opens standard &kde; font configuration window. Please refer to the &kde; Fundamentals documentation for the details. + + + The description of Markdown, &PostScript; and &PDF; backends configuration pages can be found below. + + + Markdown backend configuration + + You can configure &okular; Markdown rendering backend based on Discount by choosing Markdown from the list on the left part of the configuration dialog. An additional configurable option is as follows. + + + + + + Enable SmartyPants formatting + + + When checked this option allows &okular; to process SmartyPants formatting. Such formatting can be troublesome in the technical texts because of unwanted substitutions (⪚, it replaces (C) with a copyright symbol). This option is checked by default. + + + + + + + + &PostScript; backend configuration + + You can configure &okular; &PostScript; rendering backend based on Ghostscript by choosing Ghostscript from the list on the left part of the configuration dialog. The only configurable option is as follows. + + + + + + Use platform fonts + + + This option determines whether Ghostscript should be allowed to use platform fonts, if unchecked only usage of fonts embedded in the document will be allowed. This option is checked by default. + + + + + + + + &PDF; backend configuration + + You can configure &okular; &PDF; rendering backend based on Poppler by choosing &PDF; from the list on the left part of the configuration dialog. The only configurable option is as follows. + + + + + + Enhance thin lines + + + + Drawing lines in &okular; is implemented in two steps: generation of the clipping path and filling this clipping path. When the line in the original document is less than one pixel this two step implementation could cause problems. For those lines, the clipping path is filled with the filling color that depends on the thickness of the line part inside the clipping area. If the part of the line inside the clipping area gets very small the contrast between the shape and the background color can become too low for the line to be recognizable. The grids of such lines then looks very unpretty. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thin line (red), its clipping path (dashed line) and pixel boundaries (black solid lines) + Thin line shown at a low contrast + + + + + + To enhance the look of the thin lines &okular; implements two options. + + + The first option is Solid. With this option &okular; adjusts clipping path and line position so that clipping path and line are on the same pixel boundary, &ie; &okular; enlarges the thin lines to one pixel on the output device. This mode is similar to the Enhance thin lines in Adobe + Reader. If this option is chosen, the thin lines are always enlarged. + + + + + + + + + Thin line with Solid enhancement + + + Thin line with Solid enhancement + + + + + + The second option is Shape. With this option the clipping path and line are adjusted to pixel boundary as well, but the line intensity is corrected according to its width. + + + + + + + + + Thin line with Shape enhancement + + + Thin line with Shape enhancement + + + + + + The thin lines are not enhanced by default (option No). + + + + + + + &PDF; Digital Signature Certificates + + + This section allows you to set a custom Certificate Database to use when adding Digital Signatures to &PDF; files. + + + It also lists the certificates available in the current Certificate Database (if any). + + + + + + Configuring &okular; + + General configuration + + You can configure &okular; by choosing Settings + Configure &okular;.... + The configuration dialog is split into six sections. This chapter describes the available + options in detail. + + + + General + + + Accessibility + + + Performance + + + Presentation + + + Annotations + + + Editor + + + + The configuration dialog + + + + + + The configuration dialog + + + + + Depending on the currently installed backends, the Settings + Configure Backends... menu item could be enabled. + This particular configuration dialog holds the configurations of the backends that can + actually be configured. + + + + General + + + Use smooth scrolling + + Whether to display animated transitions when scrolling using the mouse wheel and keyboard. + + + + Show scrollbars + + Whether to show scrollbars for the document view. + + + + Link the thumbnails with the page + + Whether the thumbnails view should always display the current + page or not. + + + + Show hints and info messages + + Whether to show some informative messages on startup, file + load, &etc; + + + + Notify about embedded files, forms, or signatures + + Whether to show informative panels about embedded files, forms + or signatures &etc; + + + + Display document title in titlebar if available + + Whether to show the current document title in the titlebar of &okular; window. If no metadata for title + found in the document or this item is unchecked &okular; shows filename of the document. + + + + + When not displaying document title + + You can choose any of two options, Display file name only or Display full file path. + + + + + Use custom background color + + Enables choosing the document background color (the color around the displayed page). By default, the &Qt; toolkit color is used when this option is unchecked. + + + + + Open new files in tabs + + Whether to open new documents in tabs. The tabs are disabled by default. + + The default shortcuts to switch between tabs are &Ctrl;. (Next tab) and &Ctrl;, (Previous tab). + + + + + Switch to existing tab if file is already open + + Whether &okular; should switch to a tab if the file is already open instead of opening a new tab. This option is enabled by default. Can be toggled only if Open new files in tabs is enabled. + + + + Obey DRM limitations + + Whether &okular; should obey DRM + (Digital Rights Management) restrictions. DRM limitations are used + to make it impossible to perform certain actions with &PDF; documents, + such as copying content to the clipboard. Note that in some configurations + of &okular;, this option is not available. + + + + Reload document on file change + + Whether opened files should be automatically checked for + changes and updated, if necessary. + + + + Show backend selection dialog + + Whether &okular; should ask the user which backend to use in case of more + than one backend able to open the current file. If unchecked, &okular; will + use the backend with the highest priority. + + + + Right to left reading direction + + + Whether to use right to left reading direction by default for the opened files. Can be useful for some writing systems. + + + + + Open in continuous mode by default + + + Whether to use the continuous mode by default. In continuous mode, all pages of the document are shown, and you can smoothly scroll through them. Otherwise, only one page (or one row of pages) is shown at a time. + + + + + When using Browse Tool, wrap cursor at screen edges + + + Allows endless scrolling around the entire document with the Browse Tool. If enabled, the mouse cursor will wrap to the opposite end of the screen when it touches the borders while dragging the document. This feature is only supported on X11. + + + + + Overview columns + + + This option represents the number of columns to use in the overview mode. + + + + + Page Up/Down overlap + + + Here you can define the percentage of the current viewing area that should be visible after pressing &PgUp;/&PgDn; keys. + + + + + Default Zoom + + + This option specifies the default zoom mode for files which were never + opened before. For those files which were opened before, the previous zoom mode + is applied. + + + + + + + Accessibility + + + Draw border around links + + Whether to draw a border around links. + + + + Change colors + + Enables the color changing options. + + + + Color mode + + Defines the color changing mode. + + + Invert Colors + + Inverts colors on the view, &ie; black objects will be shown white. + + + + Change Paper Color + + Changes the paper's color, &ie; the document's background. + The color can be selected using the Paper color swatch below. + + + + + Change Dark & Light Colors + + Changes the dark and light color to your preference, that means + black will not be rendered as black but as the selected dark color and white + will not be rendered as white but as the selected light color. + + + + Convert to Black & White + + Converts the document to black and white. You can set the + threshold and the contrast. Setting the threshold to a higher value + by moving it to the right will result in lighter grays used. + + + + Invert Lightness + + Inverts lightness of all colors. + Light and dark colors will be swapped, but hue and saturation will not be affected. + The Contrast in images will usually be worse than in Invert Luma (sRGB Linear). + + + + Invert Luma (sRGB Linear) + + Inverts luma of all colors. + Light and dark will be swapped, but hue and saturation will not be affected. + The Contrast in images is preserved better than in Invert Lightness, + but graphics and colorful text markup usually look worse. + Uses sRGB luma coefficients, but no gamma correction. + + + + Invert Luma (Symmetric) + + Inverts luma of all colors, using symmetric luma coefficients. + Light and dark will be swapped, but hue and saturation will not be affected. + Very similar to Invert Lightness, + but the contrast is in some cases better. + + + + Shift Hue Positive + + Shifts hue of all colors by 120 degrees. + Can mitigate some contrast problems in colorful graphics. + + + + Shift Hue Negative + + Shifts hue of all colors by 240 degrees. + Can mitigate some contrast problems in colorful graphics. + + + + You can configure keyboard shortcuts and toolbar actions for the color modes using the corresponding menu items in the Settings menu of the &okular; main window. + + + + Text-to-speech engine + + Allows you to choose the text-to-speech (TTS) engine to be used by &okular;. + The default is speechd TTS. + + + + Text-to-speech voice + + Allows you to choose a voice for the text-to-speech engine to be used by &okular;. + You can use all languages and voices depending on the available synthesizers on your platform. On &Linux;, + speech-dispatcher is used by default to determine available voices. + + + + + + Performance + + + Enable transparency effects + + Draw selections and other special graphics using + transparency effects. Disable the option to draw them using + outline or opaque fill styles and increase speed on selections. + + + + Memory usage + + &okular; can achieve best performance by tuning the memory usage, based on your system and your tastes. + The more memory you let it to use, the faster the program will behave. The Default profile is good + for every system, but you can prevent &okular; from using more memory than necessary by selecting the Low + profile, or let it get the most out of your system using Aggressive. Use Greedy profile to preload all + pages without risk of system memory overfull (only 50% of total memory or free memory will be used). + + + + Rendering options + + Using this group of options you can improve text and image rendering in &okular;. The result depends on the device to display the document. + Enable Text Antialias and Enable Graphics Antialias items can be used to switch on and off spatial anti-aliasing of text and images in document, correspondingly. + Enable Text Hinting item is meant to be a switcher for font hinting. + Antialiasing and hinting change how the documents are displayed, you may want to tweak them to your preference. + + + + + + Presentation + + + Advance every + + Enables automatic advancing of pages given a time period. + + + + Loop after last page + + When navigating on presentation mode and going past the last page the first page will appear. + + + + Touch navigation + + Allows you to fine-tune touchscreen navigation with tapping in the presentation using the following three possible values: + + + Tap left/right side to go back/forward: Tapping on the left (right) half of the screen makes the presentation go to the previous (next) slide. + + + Tap anywhere to go forward (default): Tapping on the screen makes the presentation go to the next slide, no matter where the screen is being tapped. + + + Disabled: Screen tapping does not do anything. + + + + + + Background color + + The color that will fill the part of the screen not covered by the page when on presentation mode. + + + + Mouse cursor + + Whether the mouse should be always hidden, always shown or hidden after a small time of inactivity. + + + + Show progress indicator + + Whether to show a progress circle that shows the current page and the total number of pages on the upper + right corner of the presentation screen every time you change the page. + + + + Show summary page + + Whether to show a summary page at the beginning of the presentation with the title, author and number of pages of the document. + + + + Enable transitions + + Use this check box to enable or disable transition effects between pages. + + + + Default transition + + The transition effect between page and page if the document does not specify one. Set this to Random + Transition to make &okular; randomly choose one of the available effects. + + + + Placement + + In this section you can select the Screen used to display the presentation. + Current Screen is same screen of the &okular; window that starts the presentation mode. + Default Screen is the screen marked as default in the xinerama configuration. + Screen 0, Screen 1 &etc; are the available screens. + + + + Drawing Tool Configuration + + Manage the colors of the pencil used when drawing on the pages during the presentation mode. + + + + + + Annotations + + The Annotations page of the configuration dialog + + + + + + The Annotations page of the configuration dialog + + + + + + Annotation toolbar + + Allows switching between Full Annotation Toolbar (default toolbar in the top section of the &okular; window) and Quick Annotation Toolbar (sliding toolbar with your favorite tools at the right part of the document pane). + + + + Author + + The author of the contents added on a document. + Default is the name from the Password & User Account page of the &systemsettings; module Account Details. + + + + Annotation tools + + + This pane is used to configure your annotation toolbar. + + + There are five buttons (Add, Edit, Remove, Move Up, Move Down) and a list box (which lists the contents of the current annotation toolbar) which are used to configure the toolbar. + + + If you need to add some tool button on the toolbar click on the Add button. You can choose the Name, the Type and the Appearance of the created tool. + + + + Please remember that annotation tools in &okular; are highly configurable. For example, you can have two buttons of the same tool but with different color. Do not hesitate to experiment in choosing the button set that is exactly tailored to your workflow. + + + + Click on some item in the list box then click on the corresponding button at the right part of the page to edit, remove, move up or move down the item. The keyboard shortcut of the tool (keys from 1 to 9) depends on its position in the list of annotation toolbar. + + + + + Using Custom Stamps + + + Create the icon you want to use for your own stamp and save it in any graphics format supported by &okular; + Click the Add button, select type Stamp and enter a name for your stamp. + Enter the full path to your custom icon into the dropdown box in the Stamp Symbol group + + + + + + + Editor + + + Editor + + Choose the editor you want to launch when &okular; wants to open a source file. + This is the case when the document has references to the various points (usually row and column number) of sources it was generated from. The &DVI; format supports natively the addition of the information about the sources the &latex; document was generated from. A similar system exists for &PDF; documents, called pdfsync, which stores these extra information in an external file named after the &PDF; file itself (for example mydocument.pdfsync for mydocument.pdf). + + + &okular; ships with preconfigured settings for the following editors: &kate;, Kile, SciTE, &Emacs; client, LyX client, TeXstudio, and TeXiFy IDEA. + + + + To use inverse search in &kile;, you have to compile your &latex; file with the Modern configuration. + + + + + + Command + + This is the command and its parameters to invoke the selected editor with the source file of the actual document. + This field will be filled automatically if you use one of the preconfigured editors. Otherwise, please choose Custom Text Editor in Editor drop down box and refer to the documentation on your favorite editor to find the proper command. + + You can use the following placeholders: + + + %f - the file name + + + %l - the line of the file to be reached + + + %c - the column of the file to be reached + + + If %f is not specified, then the document name is appended to the specified command. + + + + + + + Credits and License + + + Program Copyright: + &Albert.Astals.Cid; &Albert.Astals.Cid.mail; Current maintainer + Pino Toscano pino@kde.org + Enrico Ros eros.kde@email.it &kpdf; developer + + + + Documentation Copyright: + &Albert.Astals.Cid; &Albert.Astals.Cid.mail; Author + Titus Laska titus.laska@gmx.de Some updates and additions + Pino Toscano pino@kde.org + + + &underFDL; + &underGPL; + + + &documentation.index; +
+ + + diff --git a/doc/mainwindow.png b/doc/mainwindow.png new file mode 100644 index 0000000000000000000000000000000000000000..f091bbdbff16725fcad196c825fb0d0d7c130202 GIT binary patch literal 28233 zcmZ_#2UHY6^Dhjes2~zm;t&*+q-0ofkg$LPl5>(J!xAMYksOvFNR+seL2^z4vgDi= zmb~PglZ1DDp6~v@_uhNnI(24xs;9fFtAAZHRdXgxSxJ@vj|vY93yVNrPFfWU>mh)J zg-wHtjgh?FQOUtvU@0r8%V1$?{3~KTz{vk^!v04h1O$XcM0`|K+_bc`bad?W^sFx# zm>3vX7#P?XF!YKU!!Q3a6a6cuSFc_%yk>dznw9=FGyQ88OqrgM^%Wy410xHD|5ISb z6fnXUj7*G-jIWqjUNNy^_yyBHVq|81#r%ejmG#a4A~rTQD(-(IE-wB-L%+4H?e71Z zZvQX3{@>~H^788H>f(RV`T04fcye-bc=V5skB|2c5BCm_F?{g93K+@%Fh=;_^6uWj z&hFm!&d$c>*5=ms>e~A9%F5!>^4$Ew?Cjk13~CZNJuxvgIzB!$JTfpa*xx_U*FS(c zVz{TbudAo$|ILW5u8u#QzuVfIT3i3ijV&z=O-;3R^_A5%!e6>#k5|JB{ghsq84+11_B^{b<+m*Zzor_U}9&MtKJb#@MpHc&eS+aN1z z8&eC*H>NQrre;Q;Of-xwH8E^tu4QCqXk@HvV5(|hreanG zy7~qxdJqgN>zZKrqs}J`D`^}5V=Y5ktvJj&DrgvBSW)vIt7~W~X&Sy)*Tb;9nl6Ur zRCQ!kw86?+|7FRK+8>mZW#rz!laUjXlo1wtCnzEY5)|PR5DF2H=HcV#AQ6V#D1u#POV!WkH;E&7D;z3EbAtD>38bxGdtrU1nm;USY`0t2Y)$&h0<0|3@Sn#^s(I6 z!C3tF>qvgXuKdYnXi=KJ@_l_i)-BJA3jxS$yD`8GtFS^h86Iv;BuvW!unjLu% zhcx%I-wtu%S@dVP_ucQNt9R=<0(iJ`#hS#h6 z*ABYU(jG4(j?3E+=2UEvIwT8ENhT6BMh}n#T>}NYYsLzVNF8Z<$)3pQWiB{`2=cnWLb*+5+9?P18(W1QfrJ1RW-^H;CVEy*7J6rqTkWy(IfM`;|6Y<|9W$9T zzFk3|__y zL3v0^zfm3xJrQAaQCOI$2Gxu)Q$B?2ixg`AJ`lw$L@zw%NCngHn4@j23a>6DouO$J zdwA!!fWs7q>~D$pN3Slj(E$@G09>qmNV+eB*l2D(R|(Xhv~x%L z+@0kj4ml}SO%CQrNJ_}Pj}AHMs%d3?nxf38QPBQjX39K0-GGsb4QX!+2KtKkLND?z z^HI7&<_M1@v$%D zrbQxTL|$cIaXZWk(j?kXUTrW_-?2_kBj{nWlp&vxG*ot7Vj5?T^NHILp=5aDqmII^ z>J}7HLS&A%l_R49)A<3qya<8xvBsORp+0Hpld4vrbdw?oKDgBbj=C7p?M;>yY3%^xdF(3lCu?NJlzy+~S|3*2V z^`UB8shwx{5g`&Uh3UdXYk*@U997kg@&+{++1e%m+@+ zZ-dbc3c8@DH#Z+UoLK(t8eDl{`9X8t^L<|nyQ=U@F0tLu>b%_Qea9$e;UwM%1I4`3 zHPcI907?~hStHGXR;<<*b((qDR1w#-8swGhZ;#Gd_eZWGqP|r=SLimcXk(+TEPr4D zRzugjdHra1qp!vBr{ptfy)0<22u0B0W}AOFIM~|57qG^87Mux}|5n4yMYib^5@HgY zP8~PZ=O|)#LSEoQ$(Mf^w}csiYX?!gh_E}yN6rWddwCq(GUQKfdo&x`!<^vX$0EV6 zn{Q>!XMjeaV}G$(>Pt+ky)x5s_JikKE(AoSecPS+1sHu?&0a<&}nM)DAiH;FJ` zK1LJJ`h?!%brWjWPF!f))oA9Kzl5HDE*qtF&3HMKAtPND1TWr^)a%(pdQR6Q9&5Ug zTm_}T)}W1rxf4`r=K_f|Zy|XKDE)5cH)Y=%T*Z%d0NP6tgZ#BjBLg{`;o9)?mG9W7 zU*x0CWs+?6D8Om%?3pjl*VGUzqz^t1h19n|Z|t0O(un3q%!kTvml7FV7##RtbRF0= z-D1-khSqNjgTPiakL0kp`s>}DeQz_g)_=pHmQjb&FNQTUtv;M9s{LAWJ##Edu=*6< z5bmG$yxo&Bah*-yAka4}ctixDQCS^p)!sBzY>(5o7#~Jroor2-J5(*y`4k~j5*AN= zLOQN{eIJeUgh1-ovQN%<;h=Aj&BMqFM#85UJ%NzecS-)-kIn+Pam$%yzh60-T0c;y z4L`iwPkJCoNJqVYr&L{{ z{tR915gAX2_|UhA7_r80#cqRPpLB7wNjL~FaD@jxe+>=}v19r|$=+qGxyzvu-3F6d z*gv^TX3LK?w117$g^=rC($~M4g>17xqtn79GD{>O@(F15@WE_p9drL_0#}v7s9)XC zx*~Q-wR}O#dB+#d!RwyK6e;sqs<~r^-(EjXSB^!GR}Pw!ePzbEp_=VpTNABIvdX(3 zF=8&I1PoeA?nyWtW8IXSk2}0L_yu?{lP%%M#yk^0+gQ1N+qZhFDzzgN&87f1{{EYOEFCx0~^ar;Weo+kF*2{3@?fpY}R{2k# zDFZzx)Ol}-dFN*qVZi}gjnQZWEsjQJHMf$_aq8wazqs~&Q-3vDYFZp$a7*-lenMKC zlmDxT>KCfJ!A^x~SD)~zm<-+EHP zu9uLC4(ZGFbtZI`y?1K(vIyqzns1mrnj|%I$y%d4PS;Y4$7%Sl2{-wUdL?B}MJ5iK zz+{@2`h!|d!=+@Sx~OAU+TZ*lzt;KwIg1OhzgTe7i%+hc_i$$yYZusw6cxLkVabJA zOtb|slp-R#V3~-Q{ETrT@V$Dj`_@0wul$`a|CUC^F?~!I^Qx)7>8K;deegBmjz6H} z-O3qnH`k~$!%$&d&nNz`)LpyayK*k797;Yd1{d_p^{w*-idL~3^3~}jB=-;qn;%B=S<5+4C@2!XH1DB4`@KS#`nj9^KdBn}6 zjLX^(Mf*M9?;+VRn^4h=qO6N;b!@toomiR^*g_^{rphVvBlf*dzK%6F>^P4!*ENaw zaDg$;t;ON-2?g-PfYic)-?T6`Ov~g2-rYxHxvW0B`+JNzWXwK4S}w(UcTLZfT%(;X zD}M?sNO=$TCwGgQI>J3S)f_~oVeY>x-!{@C*0T{5xz$X8#N5H!D@ixMqIAea(1IPX zMr6KS)i>SJ78~22K%*4yoOS@*@Qa>C31$m+k@1UVg_T3$`6LiXU1=ckXq?yYMP{ce z7(*4;5YOxe^&c<_v?hrgX7?)a#7yDk%2z1$O97#&9YjWlp7lCyG>#q637fXJRzSbU zed#k-*E3?_$Y4jkK<2!6kb9Lk01Iif2MRP`6R@f8#F8z4V63u0A<_B5u3exDyc5yK z4hjb#ax4Z$|HkIZd7fS8NKVZ`M*V5YJsc>>3C1Y@oR9E0f>_d%n}}Z4h2ep$O(AMd zyC_LW74j^u`CLea=rhC1pN#-cT4ARG5;2}N)0^~&pO&t3ajv#O1;SuqEh%TQ_Onf8 zF7$lifOk!uU()uuD0mK(8&)4nJeuh7zQHk)9*iHQX!nQi(e}fkuXZPQv-#z*|EBB) zf7CSqqn)eUASJ3(xyS&P+As>u=Br{z%(1&RDGckOW zwk2+vUTh{2cg2chJI*Rse06N!Zz4K-<-bt$in8t|W4b!;z}DbWylf`H_jSw{yu#0Fv+%760vwfa>MLsRy*LcX`+Nd(Sm|Quo zS6Sh>?>8-{uAzvnJp@)uV$I$rdgV=neqWy_x>dy6=XY`N*bl-oU1##{E46XE~Rzpf(7);l7Fxl!4`}# zv$btG9arI|En#&_d6e{g`J|8MBUJ5uX_*4}iNu8F^=|W*%@0In-@{erC4;6NJkPl zBM@Y3>M)x^8dU^DWmuq>cM&olnydTRPQ_PjUqxTSyYvJBo3rz#9wc)?^sg%{PoXD2 zD76Ur)`@R;VjKyo*%J!=uzy8mrAPnL%%Hc?A}P0bu9hd1jVqdse)q=$ZkLlO=(aUb z=cZCt^jlF3MJ=7Fcw*_@izxO9!mjegI|j9RmM$03g`K4QEjhY)$OP7l=Q%wN_N z_a&^_D%8m@4#%DXJY|IvRy06d+de?jI)KuZbASF^pit2#mHP!@Xb7B$@?B&J^1(Ovq#NIFn5Q!$lvLyS`CaCS=dCHr0;&i5y zB36sF0}QR`5B^u%9<9zk(^&%5+TUQBFV4kvvbP}^WzXocJoDZ)PylKYgAvAY&soQ7 zX<8jjZD(&g+{T?3_(_^nMRR8M&Eb~(NAmrNR?~HTeTX!B?vDlzq}^@znC%EdOU)pw zI$SB0zoQ8_SG(3lkxX&<{c7ZbK*X<==igN%ex(~j-1Hx2CSyIyOZrL?lvpY77K+ht zUgt4g)N5|W?P={F5V$v~gTgVrOCK_y8^mZ8+!gC(9m|eDU@uytkrb?^3>?&Mc|mA$ zF&GI!*FqP9h4LZL$qc?evo0}Lug=H4y~?F} zzLlCtTo0g+)NN zI$hCcUemav;^J>NW8Al1S)0>Orj?Vx-*X4AZZ#!|I3OmRt~OnvgN*xC|HNcZPh@{~3kx zaq|_iLniLjf`ANWDS z>62?dsl*xP*Hpu)|& zrS3Z(1RQn}IXTH391R4;^VE=ZhAO=x3YU=GkcR${XSw)2LWyW{U+X|P*EnuPnczVn z2{~n4;EWcZ>+7HPq;22_z}Que zcO&z=5kH{Ce?Q@uvUml+PGZPfx#}#QtHr_|Pj|by6H79$(a=_Ky#$IxJ1Bf@Vlu{# zj3J`PBugM@9F!XimB!5~dOHDnp9NKT1Z-o0l&AqfG?yK(tqaD=R=S4!^7#aUTf=)% zZkti=O&3C50(gT$Bvx#I=mU)*x#PjG?{2_=l&<-cXd4DP{&sNSFthCnw(JzRGOSA^ zZ?yy5GB4K!n*qn-7FY$sMx<~-*3>z252ocbC%oH6B4B3>0sOWM%`-#rBzp3vm|npa z@aG;}_z*cZ2pV=XzKF72VH0UWPS(VNxyndh^5Owj6cAMRHq_%;v^{X?$-rUX?*)+B zO5?)*fG1E%$9S?WiyJ)%Jrts#rkvJxMI}-hQtilhS1O5Xa0X&+>qu%t=%NIwp-rdu zkPZ-D7eWRl^UHt&AcrF9-r>SVz-=JVJLqRnyhbX>Jg2;TH+zZ-Kz$K+x@K#bc;~Xe zb{KI@0KUyKh9pC0v<3Bg+ozEfK+yASy3Y7SX9NDPk+7G3D;L}I;?(0IcD_z7eO`BL z5MO3wQu7RRP-OfW0g&NuOeG&OlpP5^KdNoErH_GCmve1G-<~5cnl!wDR^Pj$<05}MOlmjsD zVHCP@%)_b$>fq^)LqCs8H812TOGo6x7S;!)f{)r_0_PJxyuY<8JWI$)Z~zx-E%+tL1~@O_0oG z!hqELyN{vUF}=@l(;wO3S}m@l+Wz2=Qx9z|W%-A#PZ9NaR{Q!l+o_Ro{tV-IXVR zrB)As4+TNJLacaOU6#B`3U+8kgHem8ck$#XcM>BV4d&5q+ zX*v`FFWEJQL{1Vy%BbtvC%dSyD1AjK`4&150bl7Hy&s~SEaT!z!>7E1VV>-X!Uq<0 zuyzU3z@sGG_PhS5>rVdKSR;hqw7WUuk|m{V?3T=7?+sp`PPIyl>(fT$MVQT&xOUlL zw3hAlDu3-^9!CX<=b4`Bhc~lS1J}bJk==55 zno{ZqYM^|bAdcYH;qqk&A_?F3=VR#}!VS5wAkf~X8q-CWC{N~C5%qB#ktWmCxM0M) z@QK~c&O{n3_4xi{n=J$(C>Kdv{2}Bb^$6>TamN1r2MedlPK0IjYgP`0yWwxUvG*l* zX0!MoV|`%!T$U#Q#|s=m{B7$Iq5duXARjpliJU90F6ZG$i|hX=l%y5>b$D0dPD3E~ z?)l_6tfxxxr)5aWNYX67KyY?9iph2*TEVRe|GVwwydVr~^)&#yz1DG0zuLVtQ&+3C zwWbXLZ6T;dRhtuT5Z2G!l00oaN+X1JI+3q&75#jlPL9io=-rQr95kiJer0cvNbPM0 z_+8P0uEt1#JKG}IabsuMDkyyZauy6{`Pj&;bam=n8daN!^q|OIAsdO_;j4qCjM*l& zz|zX~8!Kd}1>dI;|KX|69riqUw~AgzhCU)2Qh7J-!$@xXw&uFStts8T$&)=z1wQlb zA}gaJb}j<2?NdM^7^s8{53j8CwNM+z*7IG(JdDISzJEUp`CrlGp`0seo7ha*gm+OL>D2QLK| zGv#>gp?%<9X>m;tYDb7Yj{h7ZMgyByxYgTR&j$pFtQ1lrcyqPg87HQfvSFiA3|a)x z@%~qV@*mNB%e4t<(dQfbs-CWto(FH=sltUs{Zr zC%|-FZsj9+hcY1WV{!-D??N3)BTOY>$Zhy?Xz0o#4Q#JO!gLb+v5e^(b5nQ;eT_FT zkeSe8zqmnFE>vU^qbGWmX)!Gqjs!neLHz24{_vhm)s3hhrCcJ6R(y_Q24%OYK#f4gKxPBTxD&5iVEI? zn(p@FwW=X{V>N(;Qk$Hu`t}-IA%ht*=4>HVUG%Ji{0@@)*niU0IQ6iCbm*(f(0@Mp zB?P@le-1)Vx&p}=E8k#udo(w59j!%dpN26e`t@Mx$tvi!vGqt@`!`ogF~$Qhd-a&* z2m0-&TAB9Z!5sQkmsGSrjew<+r^YQbpJp>pmEFZWDx1L~ji@~~tR4OYjYVl^{JCf6 z5|e9$75X4x10r4m6N}onKpQn(v^Y+K-?B90EXTQi%_mY}3T^wT6k!h0r_nc#FZ5jB z^oPlOlzjUaq)H~;mKlR6h*TUiatO;NFowcjF?z8?yXbjJ?U~#IOs6W7EoMe%R z!}_g0+XlXEI?SkpeZm*C$Nhf0AQ~?T;8e5@>U+<-zj+cN;6xQPn)_xgv25%=Mgy!q z|8ab#nt;~_Vq^f0BS5NL6^HXnMo}u*8!W`M^#ZHAO;ZEH#kL-i6ZNn({{`1Q3GQpx z;jd~!woKxsFuy~2=n5ZS^dG7v?MS6MS()0+@PI*WFf9xWn)LaoQ!NKjnA^cOteHAf zeR=aMC%}zS171<7{vU<_9H|}c(CxvTaT-rN@e>e0DPK~4_zPR*Xneo{ShuRr#D6Il zXpH~0xbje-><~+$KFCGDE;n|lDHe7u`)s-{Wz33s<6Ro!(~~Ha)ymK&@<^@Wcbp)r z%$KBfxavd82l)c@56UMxQyLod6xl5KD;ReKr*+;|lvD1M^?=`1y*=D4PXbyzyZV$L z-_7$&^TCd1wUfu{bk*nrLDpHYa#;Xpj8VF$GMNs$oq?Rr9XM^Mhb>E8VkuY!z@T3g zQWYu}%3n^rLvG@ccbc64^$Ikwg^@%RCYG=ClI{Enc{5iR@4G6H#w4Fvs_CK619gHA4bRK^l z&rWHu7M&cw%+H;_09f=U&8aST^k&?frola7GpKvN#{{n8=0Zwdrx5Agm>Wj+s&F+# z_AYBjZrWQt1ieSuzI6m_&P7`-YxsC(GOfNIaHz>Mm(;3suU^=0LOC#BI&EWKtu<_<@OQ&}ct`vp3Vg9wx_221$@!M&&D4 zPwr$ac3Vw_`7;?}lkV4pvbm+xXV};$#?>Qi^+gly@-+E5Fm^$8i+H%a4Yt0N%)>w0 zc(EjhrNlszqT2e4Mx#VHG}*1w8%_%AM1Hr`2uPaXSkZHkZe=uyfN-VyF@yqED^E~R zk#4tLZ&xqHv;}pwuG2y!#Wogf?AzW;5g7Uz?@{Y(op-O-t%F{ae}5NguPh(g-J^0r z7(E|h_7=!2Wg<$i;rdW{*!qN=Fe#Nd&_*j7w318t?(nB2jvcyk{^qRmui1_%L!%jm_kaHV^`S5e_ID;Q1^Q)&#)bXfNl2%g`-S~Vash``Qh|M~ zin%Yilp-SR6frJ_!j9P&HC(a(5r!B6=-4E zF?f5Jk@|VDu{#{*cO792N3XBjGk|uUf=6`sjnOA}(~a=&(zl>5X#QivZZB+uKhA3? z^P1fmZesj=d`<3PlNX2IC73>(SEzCf4xA|2yoK!KDG0H5n$8U)sV$ zFA4Z-WWzG}cGFNvm&`mgjFt>#@2d{`8f!=51u3dXv|rEUV>*k-hEZ)05|`ATsL6u+3ugT5yT5vNoyk_k{6Pd4ivSHCAq$Z zf$k@@!YtNwlEm$c3*W~e9-{IQ7!@Bvc@>>`P!wgwS~J?at3t2EVf<861@~;#0Jg63 z+?o-ml!;2E*K+7~XN-YCSkQiyd>dIhf{k_0;=Z_s_Pg!g2?pm<<`h7w z5#?GFmJDA?tRO9^Q*Wh!lzFgOG~sxdO{0AtMqXCym;_!Z1{Hpyid!9ofK-Z{)2Jkn zDD9ykFY(jMb3@T>@!YG@DlQ#s&o;9NhKnp#WisApnBt*XZU2qjH8^{_Yu2Or&_n)x zj%oNCj{iupLwweiz4HYBb@GVy*`aXVZUc;mgylSX%P#MgQ*N*-eUE4Box>~oGpXDq zpf1y;;H%TqM11O-!%L~wc;e+naN~FF{o;KkXVUC4vm+1O23*c3Pl>~ zn=Ult500OD4UT918%2HY{bCCZN$dyG#EKd6*i_A71jBdK@f^SOPVj{;<|^e`9!w$$ z)jf;Mj~G&CQg!Xr+I#@zod{(x5f3dr6t#q87o|+eR*~RBfy<`y%W=f*F^KG&)KwkK z?Hyny?uPLwIWURtnQoV@l_wTk7ElpQa&GPs#GU6+v?cr<;2%>RyU$^` z(KH*@#mYb*I~nbBNTX0wo}W!$!O_ylh=BxTV=tm0YA<5ireTVlfP-fmLF6OsM*FM- znuxc$c4`W!ZGjTMYwmJecxYi1dN^~jl0QRxLOUSd`j@6kr6MX%mHx_S$fa<`6v&x9 z6k(YWt<{Je2ETZ2$>8OV^?$&jisX02|0Vhl;>a*?!yx1zf)ECCNHWhr(0%7@nCE8; zJ!zL2-2N~Sl`yI!6ZU)g{|_fQz+X}JKMoD__&=TkoktCQP-X_b{OQ3E@o*SrAq;sDNM<8ch-Ew{MoP~ynT;r@O3ULPM(C@h?R9{hl?121SsDcF& zTcfX3h;99sKS6Pfo3%^VZ?L9qZ;f&2zjx?9t$EYqDSG+0DwbFhdP2+Crm2X-P%ZEv zE=&0(QH*G${QU1FUk7KPhUjSN&!@#&D~6YWGq_MTbcoz-ZXbwXu}1F)5L?5Eh4A(he%EL{ zmiHY&;A6$-!&Z@HcLCMnQu*(y0u&!58<;P9 zl>mOi^MIvY8DOd}WB0Bmd>kw(CXkXhs7|!q$@zP|z3rXHlj|H$zNIRX>@z_TB>-FY z-QQN}v>7?vESpD0QUA^$Rp9Z$$ z9xtuYi21~Y&iO~xu`w1ZfS)sFm}+bZ>58r}VRTpc@e(b|djI8j*(OPGoK$iMS9=x8F?NnQR!e|3w|zQL#H<}dbn zlQ&PQ_r0F&&GhbzzfiR-AYu-^YNex!EB^ARvHOAFIp~Z;TxWJSveQSB zy275>+YMkyYjqr?`u>BvTG?IYb)g%xw-HeC@eC-t_~xi*IpEj&x3^`1Z$=tu%{mBx zeqP|aWQO(!wv`jn=?NS+)|LlE3!3q*Uj0SY`P#i)7QbzlypJazLt&R4^a37ogMt|uO6JHsXtAv%e--+j$}?I zuVX>VpCVZ>P2(?;%yN@ou$V|}e;F`nZhDH|w}lhGd)Z4ZxboIme66n-CVAC`syo5h zN`;$$iAz?|8eLit>|$Pts=G!mo!4-=MuZmrS##YX`CyB1_jnyFJ`9$4XA&(Hzui8N%X)d7eQt-K*tgqlhMhsu{PM5x>__c{hF2 ztHo^QV@8Hyw?tL3b1&B&g<-R#f8UYR!j`nERq{Z$gV2+fOjv6Qa>ckP=Z-n3elk zJ(t_a!DX}V8{K5PcQOm|_z5#fz&b;6{7t<|)yQ-|Ek4PCkso3Z6H-H~!5w zOkK4h#P1i^6n!A89^*7*Qj0Zqh5lHvf(=9t{Yh)XutH^!^VIZ7x~N%NdB5Ya*9=8L zbt8_|+D!5O@d4jQJsEMm1P#xU<_&AWhg3`=uwJAmz_oM?dCIAknfcl4z2G0}qWvpu zI4J7%m*d$cSRCJ%;=P9gR$q1R%W+gYYCmkVf>$Q<{1(Pbf$JY#$Io1R1qCxP|G-It zdj_<-gv~ie=?Ba~_KU=drO7Q0BQ&B;^_oaC1S?@nq$V!aFo(~u_TA#ZrR?mv7vQ9J zI!_Pa*%s4tgd^h8?al6ok)4$0F&BTf9iwcA%27ncP0U0bQhycCqD2F#UuT~+KqcU! z?=waBsCuMYAa||L&TJlh2%jVsS879&O*o<~U+q`_*K|SsQeWyQvq85uz!<*(M(1JN z{XwDzlWju1GlF{h#&wGNRyuV_lAI60l&M_kNbO#zocyf9&J^w==Xsft+OG{#IdH- zzuzriq>SiXIK_DY0haOinDpb& zja)v1uJ1Y|yH|g{i~U#8i}Ovx*IS``{#Ijl@E4*ZU>k!btU0I#;lpb6#@mLgqkU&o zJ}3Jw?V{J)5!;bMwsO~=2m7SUd;+E0hCr!_H=9#Evy=4Bck}jzL43^15Cda;tg!pC zfuHv{B8lY5`!kM+`lPli-Nah1yxXPi{&ka4mRkpbG7<9QH&x}Fw-s~y?X5MjV*H+z z*WEbr7Z_}N3K>kSZ-35G!JoCR+ugK|B_Z-J!N zx_+XX5%^FD8T5z9U48kfEimS-;dYCx%~AAbRq zLD`O0nQf81?Sg^4w3Pl_!Hi6;`O_|G%+ytZ<8Fd!c+2d|gAhNuYB0J(kf{GG* z1H?{a8kKnTMu}T@%Ie=RxxW?`X_!*noiH}tq^Au}9qE&4FP@)1-JPRXmf_dyYiG9Q zmYpO_>#`CttdX58@gj|)DBZ2$Levej;ngNi&izi)?m=N!d*kEPBF`%+HEb!?-?RZO zPd_Q$UJb5~4XXV|QR~eRsQS}_hU9py8~bXmZtZAkvdYcZg68e2n{!~AZe%*U~dUm3f9t#6!7CGI^Hg_<&Fg_89{sA3hm)a0AI zl^1bQ!eJOh3uV?%TSIJG-ehiXs8A|;eB?7Rsr7ukqshlV!9N7$fWN{0{c0V%k!x{(k zN7(^Hmqg94?9-yUm`HTy0V)PFR|SKKT}cVL)zNy5SFq+n z%z_RQgIKyos^ogvw3>!Fa9hghzNg_6z7EX`Kx?CJlVhenBx-R-D)G2yc&uV4Sbkf; zk25mr6(sA!%GEsa46A~a?DAov_#MAC%^BB;zol6GqizZ{ZC zNK0~|dT4h^oZx={DpdI8ZpgI0XE=}6cZ>Pc5DDmK^hS*%gRo-v;d}0B(FC(o<2O2( zAAhJ5m+Nt$>J5kPf^W6BQ9<&mgfObZnV)R-`2*6rZ+iBNi|v&G^7b~DjFnjL?KaNT z#}97|Z-1}He54k9)I__#PF&gMi>^bx4VlKQCb)6RP7~e#I_SQMyWfkQPejs%yRK2P z+*Rxz-u^EF9Da+V)Svnl6@PXz8Fne{BG-rbzcBLWyX9U=P9(ZM=PNVv33WV#+wpXF z(46?YleY|8(789=X1b38N7xquzKn7nIjD<%iUX|4fJjy5WdUJ5*#-R**7vYlo z3p1qRi}p7!mUJ+0Dg@Oeqwqh?AVUR?{zBUb$_kNbmo<~%(+SAdSWefL(>pYmkbR$^ zMtlKNYo%etnhCB4jWxQ3^R9(Uhc<83_yfP9;h$VbRlI2^@0lhlDIk^oi$kF{y!(Fuk_lK!-vz?pZl} znN}^DfAySSBpWkC@CJ3d>2!YYz}Ro|g~;HPMmx%ER zclA~~JwXK(yyRmj#rUG5#_-g~m?+IYbnvESn2>)(?&DOiIj?&*VD0Kk_;Eliq^kx+ zx80>O4~7;_bVio>W;0j(n2e0lMkq1H9T#8!A`Icigln}jQ}`{CrAkxyPcea+m*U$u zIW^W}0+?_Q^AK~KUXr8!a`)>$ap0zyNFZ^;KL6Z#DkdoYZw&YGak8&AsK5RAjPHUF z2M^Pq5pCMS#`_b-xV^IvD2gOkqbabOT_!i0 zHh%L4{(E~yJG={h>j#CC8|JG+^Y^~Z$aQazoQ}6IQq+y5&mr;+?~Ah3RG=utC}Gh7 zSS6E(KkwK0>arZmp0V1{VOGtS}43|1CzzuH&*4FA;^O@z7Y6W zUDe}3P0vWqmT~{LhwttBSx9ioBRTv?mF-KR!v73cG~(kP7*mg}zh;tF%axt@sU8;V z^wxFsk)@*ZH@d(B4y7rV{Bn_g&9ytyinMMD{L&Vy z%9B$|!x%~(yeRWvQO;KVzWm2V!1dnbMQ8`BgP#Jn_sU~azQ@LkRk35_AE&EU0zl#7 zZsQNIa`2uVTKkz`g7(k$s8tX`GS?UP9JK-6BG0A#qWNqs*gMme^cw^#UF3@=xhkZz z@e?){BNykl->(()$|mo9SsOivm3OKsYv$!9`wW8**Bf$&0~yc)tzf9Pc;GNsb@nZn zJ;ZzxF~hk=aO7SSWo+Kpv=|&i9rnoT+P|Q6B=|3&w0sO=BzPP+!-ZA1z|SuJoqGTB z-2hv)V@w9jNjD(*PZkK1%GmcOPKnqIt4}&rT6mIqM8H}JaxKIX?t_YKAWSfSLs30n z;F;vbn&;d7Sl7DrYL8mYXy;3ehRk-t%!Zi8=KTvsLAfH6#(Q6QQ)&-4@TqSjkRRzw@Y=V74GgFoBUQ&fQ^k|1LJw&^((K;vC zV^SKpX@App6dCgziJ^f**3TrHM~rXlxf}|Mf^tBN9AAHb*C-zuzMZAu7sfj0|MACS z{ov9Rm<@KF&r%S%!D|4hehwk-TlKIX)}j4b4cC^Tg$`X8=tP&fCSbMLePqJc+u z_0X+WCxA#ps_1ytA2f0I?4Ps2Y(0D;dDib#tOe@VBcLs+JDsW4QrNr8Jk>XwTUBrS zzPB5y*ke*a9-jN~h*J%{LmlVpHP6ogJtWv^A z7OVbF*d2vQQ*9)9cKiJ}0!^BQSVC^}F~KB%q=)Rp4-^8!Cl?>IH6u*oGuX31X%p8M ziYQD1t)3zeHgMYvvP&hH7Q_4$z5wPjP;-ecD9Wp#=AO@iEq(Ip(BX)h&&H(HghDKG zU|jHIxd|R6V09pK4)IkbEbse(4DcNdgH9wz2*y-;n!;TUX`!WQ(?79tIVmknEfBBS`2ZH7V=AhP+eeo*y!*YX0>jyK5J1FfB54I56y zICaS>{L$0#f4NVwe^(ec-XbcAi-}e+n*a43^J)E`Pa@Fp>1fUmK~q@}YuKB+TrS5AVhQ!(KLFJ3>_Y>j5kdejpk^jtBY zW2P(l_e|}jr9@RAMjmRjCaBz6bjfvcsMuTn{jQQM$Hh%SjUw{fW3-J4gyEg1qc{@ZlJIG! z6C+Nj{@8sjH**$iFZtTW4Z$QE?M`6hIldIp@5HH_d*x%=@>OFWb z4vEu@uhBZ0SiS5jPMqH2{vp!MB;veVCLb%oq~IW>aJF8(9FX|qTz9)&s^Ng%sF?L8mB}c3F)d(*n>@!m zexm4CMciv>`0%)2m~UG!EG=M2x|F;#beDQk~Q0FT_(8 zyQgh`BnO*RCl|5or>inq++VLLmb5ya??Xk~rNwgS?yru@7aQMoCu%eU2q$Evx}k4< zM%6gch}~e+5I8ga@0(O&+5l4|^gdTxyxYxH_O{p+T3uj&y6A_(7RC zHc>N$3GpMSjPpaN73d2}7Iz0O*O`>0#zE>OOlu*=4<@M47mwD!21+GH@gBKox*78Z0eSxE)uVyzkI<&Hva!Wqx;MUi3#q?r`4W?5r zyB+BUJ0SNI6XOoL9$~#Sam^P8U5}uRf5(}p-&es{t4e)AHGy? zEe|3?euutR5xt$Z(8F{lka`Y_f(>2xQ-?H48<7lvMp0e7RhGOEB+ZN4qoZY ztUtd}j+GESouE~DcON##GU837_UY2Ka)(}vl~fgl7Cvw~_2=MK5s{ZJ09+`$?N3m{ zyEu;6HTbzUEP5X2o^BW0W*)&^;_j=W&ZVATy}8V3GmO&22Hp?Zn0x2FcEj4p!16fS zv|(WbVObwI%R-OHTc`In;i{f2EHjRz+LYbuQn`=e&zp z#tTHotf7G9ZMLJq3;BDEg8M+V66kS%V+$t^-MBH6b&t|^8x0L{IG{d4?-(`Qv2x6L z>@@5~<1IWG=>_KHJ9pT`&DcM%5QM#2XkfxO)H6lm2JXo6F&&84lY;hf2k%sWqdMAVE+VdHkbvJF_1KLiq+oM%;#=jw! zzgFCAC7$xGgie}+&zePq zcPi|teQUL1R0M*LKU)+vAZ*u+qw%9-5H{Hry>KyWR06tN%~M9)rMB;JslVtgN%8^LT}!s z`$zVjJV~%|ds3Pk=nMD`p=aDi#!oMOME!|Fu)%#QE%xabai~uS3mv^}@qm7r=iwB3 zb3G&4$GB}_Bs-yoEB8^U%gD4%F5#inVbE@qWxhxzC%CQj9Qq9X;P^HDiJgn@ zvT~)ao_DeeDx}n}2!1j;@X3fO|9qtCx5Sbgmi?1kh6(lbw1MO5;-HR1GtGi0dEwn% z?S;$M)j!u@Y=yVHLntzC1@V&y{r?;q1zXCrM1QR?=?_ZX7T5ooUKn`7#yie0Q25>T z1$x>>RBoo;cc%A^r8XyLB5IXGQZC572P+S)+}${;*>Bo1{POgjv?rDF@h+Dr4HbFU zzgCo$<{~pVPd}U_*m=(tIJn2_m?BjADA;No#@hty##l) z^q&eW2fD{mO*m34Ys$%jz(KvQo+;`+`7g?whhY8L3m$MqL+_e3>uiQyo+0@Tr z=#p%an31IhKYhXlK6}U4<*jOA4OArKZ4;%Co{w-vr)RoOD7n!Qb2o#cM3Z_`Um& zNT8r`{b)HC@$bRw-b)=zOKtsQoapKsGvuiRrT+fWyu7?>dQcv}-@zUfG@7xxzl6(e z`H%ry?jAOaHw9BxF8g|?rR<6=MTXCA)8pVy#G$f_lrrI0b>`Jo%_*6VE77i6oAL`W z8*WE?z+i5E{OaPu8aadqb7o-a_V8zg03WkiBEp}L8!66FGb&)voJ`1LmrQ z-spJl)OUJQ(ksM+Rw2jNM}Fx|8+&TET*O#L2^-BI22_+`j+a&#VoK#G1s)OSt)tjO&5qmx=5u11x=v$TBZP+O9_amFRQEmGvpufE zMBHBqe7f&9zPIyvac3>NDSWgBXr;H|(899K=DW!a)DU{2Yzg5_ZV@HgSM9X(GXpOA zr0R$G$8oLP?*Q)pRN?4KzG8}34R9g!t>l}|Y^KoZ5@Y558;cqKNo)6=Szh)sgo@Ubkki@HYcz7lJGrUy9q1>I7RgUh8p zUa2W;Q27uxDvX=i+{PJgP(%^xa2A)~EKYl_AmM9j1J>@{7|2?V!-*HucT0is;Zz%E z+F){!e)6T9e6Gme;}HgZ_3w}JobrX+DV74+G-Bx`Z1`RIBjSVc{O`g#F}r;m3lW?i zxAdYlzFpnr4bAE-cpgtx&hQ5B3^uLG*oEAjsZII>)OvUAb)l^<1lA4h!=6D(ogSJB zKLLvrGfVivVmuyML+?X(G-(aQ*w0%zcugfW?6Mvjy~L6Nxl_so-SsWKlx;d=1m*0T z7{PanOQi8-u&gT$FaOoZ%x=sqgs&Q+-k2;P2AWjuccz_fUmY%wU-dPF2LW1T_Bj_# z^|ZS^N?$Q5 zqz?@Drx22X6ICZ!@0wakohdeU0g7LBL!+(>2+glOFv)fZRh7^PY=Kh6F>)pQCtrGr zS}$kNIIq#e0ORnT#$7;DD_8DDlpbV-u^o5Hi#A zVS5chX3;I<=<(pa#_a%Z&+s=??at=t7nIU&oTvDIHr`B172NJ5_^$u6Av2dzfKd1d z>wh+if2;r3M)_Y-wq7gn^v@!SWZ`{|b`Oe_`2?Im7gS zLqhNSmtotGnE%@_*|C58@>kdam38mXL8L#3U)j`P3ajP1Rq=pNe^*1Ti(x05Q}oe8 z10Ju*N%n~|XEfvuucz7>*y**;X^pC>GqF;cLcWZ}=p)uQH&Wx?uZ69Bufo-#5Cz5) z_0?O|CacK*&eNqC?EouGw%kdkpRYC9KMd+K8AJz{@GbZRtNQ^Rx(cN zA%3I9;R8+JQ^w%{%yKs1j^MjZhmEYECP)Q6SEf z*o~cfWv3d=TI(pjR?t(U-${0|-;n;x<-rHu+$qa==AV{c@f~=9Ik$1dtaaSX^ zLaam7U-73D?t$jmZ5yD9s+<|Jh78mNvWMLTHPFNVfGEnlA>cSM?bjFG1Hq(>_!h}^ z`c|#+F$!0}Rkk?pR51(&v#xTG@nuh(_0Z(UJ0@Xrgl}9YIkj2}6kfyp6{sT+84G&y zChR!B%&j48$xDwG$eZ>z8UpU;+i$=lkql%_;Fv;2RUCjH+;$-mV0LQtH|jBE7(_zU zW7u<}uX;M&45>NEvJ;G53f|U;+pY{>Uv1q<=$T>c{u(;1w7r*(?hclLy&flH-ecd5X4uNSfxsvR~8wp=zAj zd-{^R7(=dEW6NzU6eg(BjtUL583Q0X9nqK6DXHZh5@E~8lyCE3=g-2OV3115{<(fg z_-O{zC=l%M+9+T5+1Nsyh-n)vX!}vsZ?GN4x8DcK1}-A|K(Cj0>m9KYh`by7!vNZL zf_dd&k{jRhOdy-4u=xm zL>OHH3IP><&Pc=)pWB`RO8YRgzp+NrM#>Za=o+$Bz;&maa%cU`Um-2@GtX=>h6lvq zK91KUM!Zk(Ef+9k#~({JK?Lt~N^y)cO<;Xu`VA0lWHeE7*-UI9U6x@}tMq$bOkfm4 zY+T&PDaOec{-s8U&nXwtcla}R6#CvlWi!Lw49`qj?fBFYEyF0P|4;8H^Vbs(XQ_Yt z!_$c0JI?)63qAm_3?NXO--+7Vn4jMnh6H;W{}QJ1JUPPAfsw8U_q~SJdSL`g?=Ko3 zo8=K8lf3Es}8J8aA4R+^8a4oV_aB?E5%b>|8@^E zrFMVO-(+;4wDk8O1@ujvrx5(&$C3RX-=AWL{48A^fD~3zjKt|PaIi~NU-$P(47wOYzbyw0Idlp8TE0Rud&-QyEUvvoV*ZB2^IuvIJ_GIl^Xb zWX>UKWTzEj_+(;7g@X|q0;C-gFw064%Nfff+3s>X*xt{LHG>b=mH4qhk;u!GLXM)*~lsXVka7H z|6)qpjNrikf>5aZH=$tgChD&LKaRulAHMZhrpAZ=2hzXE+wT9cwtqO>f3Y@(6#Vcv zFw>m|$%c3qgX!IEQxaCHprhle)?2VwAMQSz!Yh$GtXj)j*P_6}p=F0MAmwF5D|OAh zs`yb&42Zz$+emW>F0J#?c^bElV)WhI(4?!s5O(6+h*Q18U8ws2RmbxL;_ZzA^J~-y zz~`_n`kJjc;*b;x;4F+MZz2e6*X4cVQT0Kg5M zeCZbC7F)F0Is%ag%+?Ph-ev>J$_zD2y(q;hph_TD{!@+l-8h^=-A>=rM?|z7bJ0JWY2+r9>xseFd?;$WNxSncYq!@;#+2#P5rt_M` zRP#rGM}+nz$L(sQr{b!1=wpcAd8Vm`&!|YxT6|_vY#VIHu;;n3++N&@FU=Qzy$@W< z1P+EFGAyAb2mmeafq2(s&cT(R(1Ye+S>iAVLaUkaKq37IErT-MT1ZZyfCjfnBX1Ch z#5CpRU?>5kp;c01Wzp6!5{a~4*+VJdpJ;2FjFz?ggK)EAEG04 zlL7S{z@wJzpOYs;pJ{zaN|XJ7!rVmGfel}r)Zjk-*L|gLH`7tBw1Z?y6Lk6rnY^W& z@N};>ghEFQ^Lzr;8k$d5;Q&I^^JNnw5-Qqrf!8A$ zC5>p)$izA66v2mqEf6R5r~y1)-@uxsg` zs7{9T2w+qRb5pqvb?06q^-Y&12kxUj^o?1uv6|rQJrXq@4H*vQu{2_E0=0_q#12Ol z)0cXS@o*gYJayYQ0Z?Y&MA~IkQ{Q|9<%S;*R3NIW4V_3MQN-@i_A6~Z4A0RDRZQYg zlJ9xti-9A8(IclF#_pl-0#uk$gAW>MGBg3s-7lcs2aORa4XCYSDVe+A9E8>$$gd4P zq%?djcw&oJm`qow18^6U5Sf-XjGfl@W8J?eoye(w@OXH{kC( zz_AICf?!FK4ZFC++qgwlA&ry(CnMI_?94S!86UM!>D7(ZJT)5`_Gc@4X|C7sVX5AS zyID#dchBtcJ7mK-IX5HSc>Ao$;QTUn2v?fjYXg?L{q|dRtn>M~EEUc*t`a{@`v^Sk zEwIFv-WFIi&<&$RZDrxT(>brTHjcn-GM6R*6~X%7ZYHGsS(e7@dm8h8yb{#Ar(pJzcKg|E8Q!`{M3a@Si69J!>D615!}KhpTojglF|7^I zGK+GEF5oatPRZj)bZVA$Doij^P&7JA1!lGS6i}g^oKPRUA;3q4>q2f4Pw83%m zMuXH?LsLX&e6R0Ifek~5##Ou~v;b_wD;i2_oA#y~;uVyMrY}?s+s?5OYi>I<=qr0s-sNYAA zQw4RtD_WBkpLFdoDTzCcm_v-NhKG!Z{O{nKt5X`&t*fIU({eDC|Y+HffTj*uV_Z12%Zq0CY- z*XJ6p=_%cVmgnrji02ZwWI~i~gRR6Y$`QDu9nEjBAuy<(Gi5I>Cok#C6``ScO9IL< z73b0@`g;7*?Z!}5$#AOKS$RJ73=P(?He5#&G6zaRP@hI55!gkNZ5EM?UzodAK_t@&xTw>FCp15?#^NpIPecmQUvR-jV!x=Cl-BrkC@fj} zE#=vO|0__w2X-B<{sr}O?)N-QFhNkV(MzpVzR%lUmSzK`tMnC?23Gldfrjn|igJp5 zWcnoN=0a!2v9H(Qkt|;NQraX(U%@b8p(2AYCWNt;UcQ89_;U#UqDvpOKk{q*F4$CNf|eU!ONxWI;nzU;GXVm5G%XYqoP zvL~8XQ1;q;L872hd0y~s&%oK_7eVXoFsmnDPKI-pI_s1?+?5P_#}0Iqzw~CddV@MF zD+)Edv$Wkxn~9vg!?dQXweKEM*^=5?+JktXpp^Dfvgwn8uV*xyBK8cHP38!-MRe*Y zTA!Y7;W^N>c;cz}8cZY`4Yg5|=wIRj8I7g?{~B-$@NCqn;}?t6}rK+J?O|=*NOG*U!}vIudx6ki7P3M>HdD zR4RXfAEx!5J&PtA8H)$N412sVm2q&_b7sxlcN7ar_)q?xn-2Y)3PR1V&K{`I1f0*l z+_h)FQh4Q7q=7+BLQcUCTx0dFNt>7N@A3q0-g&zv_vA%!tch;S0bExtt8^@WIWrH` zr8S}IPz&zAax2bg3k#K->uLM$(GgO8{XDT@@0r~s`>)Dvrf4gm!dS#n{2B}nZ*lL* zwH$q0CAcbf=Ug|jMN!Q~^X;t!6J^H>9+eWSD3Hy@wo+gTuvD6^$Go8Glu$}tXm7rk zISTm*(~Z}SCtQ+EP6>;>T9>*UN>}G!h5=Iw!j3c^fhokAN!4TVZv4EZ-yR*dfjAT0 z8e4K*gkltUOrRykABSEIQLV!>H_m$v8{Lg&y8K5`KPATG5Rb{lSAnO+6>zWc?>dnM zWIz1ZW_p<*Ag(OuHD;`~_D1cFuH=%|A7_{-3%>ykued;^Rw6jDzuXTK4$_*c)?U&A zR6WWwHjn5?9($%E_SL`FUbU$yXiz~-pX5lJ!py|d)P(%Jo)c82env#U$P-I2(Ip%Z zC}WL!FZ+}j2L>sWWYaSde1c@-QFJ(sh0w<>d~Tnbt`4u9>4AILHz$okDRP>$;{r=U zEb!9+8h*t6muKMjl}Y+1e}yLj8}EoFx@TUWZYH*<=WDRb`77jgt%$uSdHr?Lu+zL4`Q8%`3qWgUfbukf!YGDNeUrH+ke?qyZ zn+mpgJ|{pXHl!hCLL_u0kF8!|<&JtvjskVj0cj~i)GsH61_+QMFI6G(?gWzqk>~ks z9uV73^1}r}a5OQ(HSKDPdQxDI-*r97V^?ydcZ-i^L`Fp_Yz~8u(FueudXu<@=GRlt zBwvR*9k!*jlI+ir$eqX{iqschWg$i3`4!eDtdEF6lCSM~jJf&n^t@(YWq|+zBK|fy znv@}~Tt@@_!?ibgMenCSPL#Z)aqQ4{o85PbA0wia?0cLr&M$_jV=D@TJ_?OnWFVSV zQry*MYYNJv7X}g%Vp%3o#A6<*oT?L(hFXMRC$f}0-bA7$5GE;Vk9D5x(S>q# zlIzg@S5^v9j&ch<=1zh`I_IIEk@QhiKWTGI9veCT`nmmXv9|?Md(lK=68Q$C-~(m9 z_IGo?9JQ_zOI^t^loz?qi9aY60f>}RkO<{OZA<@a!zQ}U-;XU^xJM>(3#dDZBfBIC zeZ=fysDTIs`(2iN4L_N9>6XMT$SjInBG@s=O3>H-!5Y1C@~G8TjPmQ}xVf~3ZO{(( z3YxTGu$*9o)uu;8?>;1!gp+*z>zn2w^P6d@^v(X-0yDuB&*JA%8j*U z4Id(cfA+}1p5Lt<59ikIZ1`cFaQSDz}vutOf5w7(zyfFUIeBBM~a`kz@~> zauzHl4`nU*HXnNW%gUnfzLh<{O(~H}dwSix;E|7nWYV>@vt2KvdciT}E;F-dhqazQ zFG>V#Ul@rG>Uh>}VqDD@M-7wX%{iHknGSoNJ~@?2^_UmLChcP$zj%#nspfKM&rU1F!Oudu n7U8>A{`}{kQ~&x6RjoQ}M9)4)qnwKEiLJ|*47Kt!Z{7PJ9N}98 literal 0 HcmV?d00001 diff --git a/doc/man-okular.1.docbook b/doc/man-okular.1.docbook new file mode 100644 index 0000000..e1adb99 --- /dev/null +++ b/doc/man-okular.1.docbook @@ -0,0 +1,143 @@ + + +]> + + + + +Okular User's Manual +YuriChornoivan +Okular man page. +yurchor@ukr.net +2022-02-19 +Okular 22.04 +KDE Gear + + + +okular +1 + + + +okular +a universal document viewer + + + + +okular +Okular options +URL + + + + +Description +okular +is aimed to show documents in different formats. + + + +Okular options + + + + + +Open a page with a given number in the document. + + + + + + +Start the document in presentation mode. + + + + + + +Start with print dialog. + + + + + + +Start with print dialog and exit after printing. + + + + + + +Unique instance control. + + + + + + +Allows to prevent Okular window raising after the start. + + + + + + +Tries to find and highlight a given string in the document. Only works if just one document is given as an argument of the okular command. + + + + + + +Sets the external editor command. You cannot set the editor command in an already running Okular instance. Please note that is not supported when setting the editor command at the commandline. + + + + + +Arguments + + + + +An address of the document to be opened. For PDF, can be given as document_name#named_destination where named_destination is a particular named destination embedded in the document. + + + + + +Feedback +On IRC, irc.libera.chat #okular or via email, okular-devel@kde.org or on the web, <https://okular.kde.org/>. + + + +See Also + +More detailed user documentation is available from help:/okular +(either enter this URL into &konqueror;, or run +khelpcenter +help:/okular). +kf6options(7) +qt6options(7) +There is also further information available at +https://okular.kde.org/ + + + +Copyright +Copyright © 2002 Wilco Greven, Christophe Devriese +Copyright © 2004-2005 Enrico Ros +Copyright © 2005 Piotr Szymanski +Copyright © 2004-2012 Albert Astals Cid +Copyright © 2006-2009 Pino Toscano +License: GNU General Public Version 2 <https://www.gnu.org/licenses/gpl-2.0.html> + + + diff --git a/doc/presentation.png b/doc/presentation.png new file mode 100644 index 0000000000000000000000000000000000000000..3cfc1026a890d249b93769bae345ffa8ddb931d8 GIT binary patch literal 53804 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 literal 0 HcmV?d00001 diff --git a/doc/signatures-panel.png b/doc/signatures-panel.png new file mode 100644 index 0000000000000000000000000000000000000000..7ac40bb5c9d1d065ee482209bbfd5c5afde612e0 GIT binary patch literal 22494 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 xMHRr+P@g~=Oj1D^CNQPWNps5n213k%j?6e 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 literal 0 HcmV?d00001 diff --git a/doc/tool-draw-ellipse.png b/doc/tool-draw-ellipse.png new file mode 100644 index 0000000000000000000000000000000000000000..d4aa579bae6e01ee8e09b410a23ea4df327b7fb7 GIT binary patch literal 582 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstU$g(vPY0F z14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>#FVt^+WMZp{_5JgxWpu5bIYq&ubG%z)-^Uwm^9hg%;MU$ z>&dCnOR9GX?lhxo!z}1-937S#=0POkFKF{a#}`4c1}uqriqzlbzOaBb*-U^ z`L*je_8&NCVqqB_mrzwxTUk>Z5glu6ZgJq?p;xb8_x4Y4_w?1$(|7msdHwp0@3jpp zflg&i@^*J&=wOxg0CG4BJR*x382Da-Fe9I_lMGOhy~NYkmHja{2cNux(5ahxK%p#8 z7sn8Z%gG4}{02sbn>QF3Z#?uP=Z(yqn3y{@dvXNqxgCp9 zOZmmkz!k~yWzxS5RX|%+OI#yLQW8s2t&)pUffR$0fuW_Yp`osUMTnt^m9e3fv5~fc zft7)QI@3yT6b-rgDVb@NxHW{u3w{S`kObKfoS#-wo>-L1P+nfHmzkGcoSayYs+V7s UKKq@G6i^X^r>mdKI;Vst0JL?#i~s-t literal 0 HcmV?d00001 diff --git a/doc/tool-draw-freehand.png b/doc/tool-draw-freehand.png new file mode 100644 index 0000000000000000000000000000000000000000..00b8c15139b967977d4261998c08b53434c6362d GIT binary patch literal 621 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstU$g(vPY0F z14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>rkR^xxPHS%3oF~D%U0;<8#%0+IumoNJ9qEixpQ~*nsurg+RK)&T(WGri<_sNgY&g(*I&JUos(A(8=rXQ z?Af@4r1u{_Oqe)%!NSFV|NadPkNWoQ`{T!tckkI-QCV$nWz*8u@%HW8&0DrcM8*93 z_fJdLz{cJ&IW>LB(q%gOMv*abw{PD$#A9a#bUb5{x4R2N2dk_Hki%Kv5n0T@!1oe_ z8TpKzWPpO~C7!;n?2oxQ_~aE+&%WFN6sq@haSV~ToSdK_Wng5u_)}!W%?YkIEG>3M z>=dk#i?d_%6RWd`cL?ZkjA)TPCoU>1GF`ysgtwRH=Z+4AA3Q;8VvLd;>~^o2V-wLZ zb*gB_yrxByc5LDbX=sfP^$mz^ZgdpZS+I2N;?>LZ8B!#q8h;#9TbA~0mBO^vrJ{!O zSQuXSaQH}U`F#lJ6x9;fh?11Vl2ohYqEsNoU}RuuscUGcYhV##Xkuk-Xk~1yZD3$! zV9;2)=s${v-29Zxv`X9>K4?fe12ss3YzWRzD=AMbN@XZ7FW1Y=%Pvk%EJ)SMFG`>N S&PEETh{4m<&t;ucLK6UW+2@l0 literal 0 HcmV?d00001 diff --git a/doc/tool-draw-highlight.png b/doc/tool-draw-highlight.png new file mode 100644 index 0000000000000000000000000000000000000000..7ee1b32212888e272658329ecd5d80365173031d GIT binary patch literal 466 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstU$g(vPY0F z14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>#0boTas0ZC%6i6)QEg^?v^RIb+sr3oF|fFJ7o?>7F`$X2QhD6DLnu zv2xYKNmDwzdQ{Z4{{8#sacLsZNCw6vZ+91l4pvzYAcwQSBeIx*f$t>>t*I;7bhncr0V4trO$q6BL!5%;OXk; Jvd$@?2>^>El+geH literal 0 HcmV?d00001 diff --git a/doc/tool-draw-line.png b/doc/tool-draw-line.png new file mode 100644 index 0000000000000000000000000000000000000000..1b9b8e8dadb006039deffe9fc7e838e4d8c35a24 GIT binary patch literal 376 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF3p^r=85sCpf-obWv6Bo?kiEpy*OmP- zHwT}*(w`$cn1Di>o-U3d9M_W*4)95^Ci1vxI16eWdc!4Zz^M@C5Wu0OpumvI!DW!Z z&T!d+nSWjRWp1D*)e_f;l9a@fRIB8oR3OD*WMF8iYiOuzU=d2D?NY%?PN}v7C RMhd8i!PC{xWt~$(695*UWibE% literal 0 HcmV?d00001 diff --git a/doc/tool-draw-polyline.png b/doc/tool-draw-polyline.png new file mode 100644 index 0000000000000000000000000000000000000000..1125eaca56dd1f341fce5900e922564bc2aa1072 GIT binary patch literal 475 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstU$g(vPY0F z14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>e~8$|NfbnTfKk(e&M1ew{G3` z@b+D{d}U2teNl1ghE1C{Hm|t?G?OvO+uensgH_f8$l)yTh%9Dc;Cl(ejC{sUGC)E0 z5>H=O_Q%{DeDccOhdZVKg~B{t977~7CnqRy85kKY;xsTwT9J_CCYF$xn*2P$UFgA+ zq=X005+6N%+WO(=57q{i*$T?mS2Pq8R|M_}U=$4GID3xI)ZIs>d-H_5$2cA-?&fu7 zWn^GDzmc(J)itBdKpRv`Tq8lpinR(g8$%zH2dih1^ Uv)|cB0TnTLy85}Sb4q9e0F%6*-~a#s literal 0 HcmV?d00001 diff --git a/doc/tool-draw-rectangle.png b/doc/tool-draw-rectangle.png new file mode 100644 index 0000000000000000000000000000000000000000..3d05f65b88069ce7d03ca163e2d215d874b026f7 GIT binary patch literal 352 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9Ea{HEjtmSN`?>!lvI6-E$sR$z z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD8U)v6XN>+|9@pQ%?Xnx z@7_@63>0Kc@^*J&=wOxg0I4YOh%9Dc;Cl(ejC{sUGC)E05>H=O_Q%{DeDW%y%Vo`h zLQ4|711kfA%f7u4C>nC}Q!>*kacfv4VEP28K@wy` saDG}zd16s2LwR|*US?i)adKios$PCk`s{Z$Qb0uvp00i_>zopr03%IZ3IG5A literal 0 HcmV?d00001 diff --git a/doc/tool-edit-comment.png b/doc/tool-edit-comment.png new file mode 100644 index 0000000000000000000000000000000000000000..d720a153c458f8412c3adb6240f580b7d7087547 GIT binary patch literal 364 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9Ea{HEjtmSN`?>!lvI6-E$sR$z z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD8Uop6XN>+|9@pQ%^9<1 zPnH=O_Q%{DeDbPE z3v?F(g_J#A978y+Cnq?tu35N{kw=GzhiM1r1|dK81xacG2MZV??HQW(Gar(EG8tro zYKdz^NlIc#s#S7PDv)9@GBC8%H8j*Uum~|Uu`)KaGB(#XFt9Q(D79*PgQ6ifKP5A* z61N7Hbh`kc21$?&!TD(=<%vb94CUqJdYO6I#mR{Use1WE>9gP2NC6cwc)I$ztaD0e F0sw*IUy%R+ literal 0 HcmV?d00001 diff --git a/doc/tool-edit-line-width.png b/doc/tool-edit-line-width.png new file mode 100644 index 0000000000000000000000000000000000000000..63e0ee59ff35f3eb40bddeae264939b08a78f04f GIT binary patch literal 350 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9Ea{HEjtmSN`?>!lvI6-E$sR$z z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD8U)v6XN>+|9=&AEoC*$ zr>Pqc0R?(8r2flh?11Vl2ohYqEsNo zU}RuuscUGcYhV##Xkuk-Xk~1nZD3$!V9;Fj4dfMshTQy=%(P0}8b0a!?F4F&1lbUr rpH@mmtT}V`<;yxP!WTttDnm{r-UW|v|(Gs literal 0 HcmV?d00001 diff --git a/doc/tool-edit-opacity.png b/doc/tool-edit-opacity.png new file mode 100644 index 0000000000000000000000000000000000000000..a91957a1e527b72b2944a09ebef90225aec6d1b9 GIT binary patch literal 558 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstU$g(vPY0F z14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>j`i+H^ZBcRQj9Ig%&zx0UT7LA{aVJ;zpFe*dJAT5&&2#VGea)@yfx)5M zckB!Z3TOJdxdVxYIo-U3d5|@(`6vPaS7IGSF zUhpaM=8cFzmK&B9J16|SW3y+EO$~>g{(c7LW(Irx7>5842@V&RhfGP26c{-@cQi~f z@o;bx(^F7i&%n~dJ(XGXO^`&3I@BT7;d zOH!?pi&B9UgOP!urLLi&u7O2}p^25Tp_Q?vwt<0_fq^RP-;F35a`RI%(<*Um2#Ijz y1!|B4*$|wcR#Ki=l*&+EUaps!mtCBkSdglhUz9%kosASw5re0zpUXO@geCyQBDOyO literal 0 HcmV?d00001 diff --git a/doc/tool-favorite.png b/doc/tool-favorite.png new file mode 100644 index 0000000000000000000000000000000000000000..b4c2b61f174ad1aa1f607aeabc06ef09c1d6c14f GIT binary patch literal 518 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstU$g(vPY0F z14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>GHgefsoSOKZEbnr2H|$AN=~>KmKm6O-*6oK@7dUcY|h=Hcz+>i*)z z3kPR6TL-7dPo8M%=zsqF`O~LQ7cN{}y=Gl%dgjB2kDfhyUR+wfX6?Fd+jj(HCK>^4 zWK8mQcVXyYmGuB}I14-?iy0XBUV<{XE)7O>#F*gUFyk@poVi!;-+0(@_ zMB;L9zo$@x0uM`}dD9Wuqf`Ia2f6r8oi`);yUI$g%tcxP!Q1S{EovzJQOIKAg>BoMXC2`=z3Xko1cP;#kG(%F{NxeK z14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>{&lz9_UL1=iCrjCAE zMpkBa?(g5f_w3!Lp{;lN%-QtJ?Cjk90|yUXxN!03&!5Su={b1?-@bkO`}c1`Qffw4 zj;V#Ue_)8JhIV6f%kmW~W8)J;!XrO_{ycB~0&P7*Wi`#Pi0EtAuHU?M>+q4I;gQi_ zzI=&@j{W-etDd2WzLDv%<0twjOqw`p%26xtuR!-RCV9KNFm$lWdH^|`1s;*b3=DiP zL70)x*hvN`$X?><>&pI^n^RCjfcw&^c|f5WPZ!4!iOb0e3PJ`(hMN~~Y}mB1xIl@! zpz!mDPl_LZva-xvScVvyTbUSG8JcMu7+4t? zxEOODN70a*pOTqYiCcqd-o|R621$?&!TD(=<%vb94CUqJdYO6I#mR{Use1WE>9gP2 RNC6cwc)I$ztaD0e0sunS literal 0 HcmV?d00001 diff --git a/doc/tool-font-face.png b/doc/tool-font-face.png new file mode 100644 index 0000000000000000000000000000000000000000..620c37e6f285cf1b898bc645014ecf354ba98035 GIT binary patch literal 578 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstU$g(vPY0F z14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>@IE?&B89NN;_?&afu z``2nSpgS3pyxm;OkH}&M2ELad%*bc#Bm)#=FY)wsWq-`g!6&cvN!|eH zS%yqc7sn8Z%gG4}oCZb*XP(hn<1nd{_gMP#2Tz;=PoF(}x_wP+yhDIT1dC_)iWwHo zEh>}vG&9-QBqIxVh*?&$vaz|UrtT0E4K)a8&U_Glogr{m)U5zUS+Q7wrOWdfL=8-u zF1Q^#QYpaDAjB5qc}rddXsK$6YeY#(Vo9o1a#1RfVlXl=wA3{;)HSdOF*LCDzbg+`DhThqteff1sJAwYineuHAdAY#ny**}G-mdtIPL#w2fd7lsa2 zSq~tGv%n*=n1O-sB?vR}89T`U1=&kHeO=ifb8`wx2~J$Pt`cOMr;B3<$Mxid1I#Rq z4h)Ax8afk`4I~{Tbr=KO7FkTWsKJ@4Go{Vw+`Yr;stjK)vOF>1aODSTR4s9hC`m~y zNwrEYN(E93Mh1qKx`u|j29_a)=2k{#R)*%<1_o9J2JG*5l%r_K%}>cptHiCLY!kz2 ypaw~h4Z-BuF?hQAxvX14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>aU+1bgh zFjG^JlO^bq!8!pUhagpDZFT%e z7;76CSQ!{}Z&>{dMMG|WN@iLmZVkWQ3P%AoNP=t#&QB{TPb^AhC@(M9%goCzPEIUH Y)ypqRpZ(583aE&|)78&qol`;+03jpEfB*mh literal 0 HcmV?d00001 diff --git a/doc/tool-format-text-underline-squiggle.png b/doc/tool-format-text-underline-squiggle.png new file mode 100644 index 0000000000000000000000000000000000000000..23061d0a464bafe88d3137e251cc51b463a73999 GIT binary patch literal 538 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstU$g(vPY0F z14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>t~qn({rvf}rLDuz z#B9}?wP_hy7cX6Y{`|Rzx9^Nuv;6{tFJHN0Ze_D~-~QbE!n}f_J$v_ASlRjp1WlhY z)7v-T#fujgE?&yW%2~I5gPEmucW=LL%~e03V;GaX-CYqzi*NBpo#FA92ErERK(!v>gTe~DWM4f@`AH( literal 0 HcmV?d00001 diff --git a/doc/tool-format-text-underline.png b/doc/tool-format-text-underline.png new file mode 100644 index 0000000000000000000000000000000000000000..26f9dc4063f23fa5b19d8b8ead45bf99c315d199 GIT binary patch literal 405 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFytOG-&gOirCMciz8$|5mJA<>lkAqi^W#8?bWK>MADtl|a3WN#5=* z3>~bp9zYIffk$L90|Vbn5N6~vc9H=KvX^-Jy0Sm!=HQdp&8c2G87QRT>Eal|aXmTV z027O(1dB$3hSUa@2FcE&a>56CuBPADci76vvmt_)A#fVoGUhX1bAWnOOI#yLQW8s2 zt&)pUffR$0fuW_Yp`osUMTnt^m9e3fiK(`Mft7*5i-dW1P&DM`r(~v8;?^+JRxJUj wK@wy`aDG}zd16s2LwR|*US?i)adKios$PCk`s{Z$Qb0uvp00i_>zopr02)SjJ^%m! literal 0 HcmV?d00001 diff --git a/doc/tool-note.png b/doc/tool-note.png new file mode 100644 index 0000000000000000000000000000000000000000..d7d5849b47712fb33a654a103e4940e12ba58a62 GIT binary patch literal 359 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrM;OS+@4BLl<6e(pbstU$g(vPY0F z14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>?NMQuI!JwIr!xDz7~Da1PZBm zx;Tb#Tu)A5U>4+M`)$v|rNi?p{(uVi3>zjTQ6C4D05Kkh{t0X>N{x4R0M)COxJHzu zB$lLFB^RXvDF!10LrYylLtO)l5JM9yV?!$wGi?I{D+7a@9W6k=A!*3XPsvQH#I0e) zRhz#+4U!-mg7ec#$`gxH8OqDc^)mCai<1)zQuXqS(r3T3kpe1W@O1TaS?83{1OS{) BTx0+M literal 0 HcmV?d00001 diff --git a/doc/tool-pin.png b/doc/tool-pin.png new file mode 100644 index 0000000000000000000000000000000000000000..8156e2161e67752f4c1833048ff5a13c6e092e61 GIT binary patch literal 431 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF5=_FA#YC?#}JO|$q5JeS{9fr-pJIV zn3Kb@NJgT!m$%Wxd&Y*18yP%QWR(saIAD0Qf^o*dZR|=1Cd>_E6TES3!YhWP9cl&} z8eAg^B2F_fWUb}&Q+o8;1!$~liEBhjN@7W>RdP`(kYX@0FtpS)G}JY)2r)FVGB&g_ zG1oRQure^H|KI-=MMG|WN@iLmZVh~k%sqh`BtbR==ckpFCl;kLl$V$5W#(lUCnpx9 Y>g5-u&wghk1ysb~>FVdQ&MBb@0Lxo~rvLx| literal 0 HcmV?d00001 diff --git a/doc/tool-settings-configure.png b/doc/tool-settings-configure.png new file mode 100644 index 0000000000000000000000000000000000000000..c19a5a591383699a487423cab4b33a3508045647 GIT binary patch literal 416 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFO>_%)r3+5`-D~jGbhFg6t)pzOL+#xjFdc4ftzMdI5#ZJY5_^IIbrr9N=o< zS;%wUKtPg}cf)!I-l*{(^oMIASJH3X5L%D=M#QOGLrWLdJ7~jldY%1s6HcQU+ z7|;aO64!{5l*E!$tK_0oAjM#0U}&jpXsByo5n^a!Wo&3=VxetdU}a#?x&1%L6$lNv z`6-!cmAEzhc;&tTs6i5BLvVgtNqJ&XDnogBxn5>oc5!lIL8@MUQTpt6Hc~)E44$rj JF6*2UngBZWe|`V} literal 0 HcmV?d00001 diff --git a/doc/tool-tag.png b/doc/tool-tag.png new file mode 100644 index 0000000000000000000000000000000000000000..61df27df1abc07f143f9b6112cc6acf079127edc GIT binary patch literal 513 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstU$g(vPY0F z14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>~bp9zYIffk$L90|Vbn5N6~vc9H=KvX^-Jy0Sm!=HQbztf=~V2Pl;2>Eak7 zak;nuxKM)v59@qKosPZb|Nm=?x=xXBuF?hQA KxvX14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>?NMQuI!JwIr!v_9u}`i0}9D_ zx;Tb#Tu)A5V76vso=IEp-hIbqy>+3{9+z4XsQKv<(cb3=GOXZG4KNAvZrIGp!Q02KM!wkw6WSARB`7 r(@M${i&7cN%ggmL^RkPR6AM!H@{7`Ezq647Dq`?-^>bP0l+XkKBjj6u literal 0 HcmV?d00001 diff --git a/doc/tool-window-pin.png b/doc/tool-window-pin.png new file mode 100644 index 0000000000000000000000000000000000000000..a26376e9b1bba4e8026e0fbdff539e09cc69bca4 GIT binary patch literal 431 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFYgu5jcq3Db zVonarA{mL^UfxC%?-?65Ze;LKkyScy;DF)H3dR`+x3Mc7m@qetP4LFC39lHEcBmO_ zXmE`vh&au_khPZ6PwCNX7of4KC9V-ADTyViR>?)FK#IZ0z|d0H&`{UFGQ`lr%FxKl z&_dh5z{nC}Q!>*kaceMdPR;>pkObKfoS#-wo>-L1P+nfHmzkGcoSayY Ys+V7sKKq@G6i^X^r>mdKI;Vst0RDf0^#A|> literal 0 HcmV?d00001 diff --git a/generators/CMakeLists.txt b/generators/CMakeLists.txt new file mode 100644 index 0000000..e4b8152 --- /dev/null +++ b/generators/CMakeLists.txt @@ -0,0 +1,54 @@ + +function(okular_add_generator _target) + kcoreaddons_add_plugin(${_target} + INSTALL_NAMESPACE "okular_generators" + SOURCES ${ARGN} + ) + get_property(aux_list GLOBAL PROPERTY okular_generator_list) + list(APPEND aux_list ${_target}) + set_property(GLOBAL PROPERTY okular_generator_list ${aux_list}) +endfunction() + +# let's enable the generators properly configured + +if(Poppler_Qt6_FOUND) + add_subdirectory(poppler) +endif(Poppler_Qt6_FOUND) + +if(LIBSPECTRE_FOUND) + add_subdirectory(spectre) +endif(LIBSPECTRE_FOUND) + +add_subdirectory( kimgio ) + +if(DJVULIBRE_FOUND) + add_subdirectory(djvu) +endif(DJVULIBRE_FOUND) + +add_subdirectory(dvi) + +if(TIFF_FOUND) + add_subdirectory(tiff) +endif(TIFF_FOUND) + +add_subdirectory(xps) + +add_subdirectory(fictionbook) + +add_subdirectory(comicbook) + +add_subdirectory(fax) + +if(EPUB_FOUND) + add_subdirectory(epub) +endif(EPUB_FOUND) + +add_subdirectory(txt) + +if(QMobipocket6_FOUND) + add_subdirectory(mobipocket) +endif() + +if(Discount_FOUND) + add_subdirectory(markdown) +endif() diff --git a/generators/comicbook/CMakeLists.txt b/generators/comicbook/CMakeLists.txt new file mode 100644 index 0000000..da74a55 --- /dev/null +++ b/generators/comicbook/CMakeLists.txt @@ -0,0 +1,43 @@ +remove_definitions(-DTRANSLATION_DOMAIN="okular") +add_definitions(-DTRANSLATION_DOMAIN="okular_comicbook") + +########### next target ############### + +set( okularGenerator_comicbook_PART_SRCS + document.cpp + directory.cpp + unrar.cpp qnatsort.cpp + unrarflavours.cpp + ) + +add_library(okular_comicbook STATIC ${okularGenerator_comicbook_PART_SRCS}) +target_link_libraries(okular_comicbook okularcore KF6::I18n KF6::Archive) +set_target_properties(okular_comicbook PROPERTIES POSITION_INDEPENDENT_CODE ON) + +okular_add_generator(okularGenerator_comicbook generator_comicbook.cpp) +target_link_libraries(okularGenerator_comicbook okular_comicbook) + +if (KArchive_HAVE_LZMA) + target_compile_definitions(okular_comicbook PRIVATE -DWITH_K7ZIP=1) +else() + target_compile_definitions(okular_comicbook PRIVATE -DWITH_K7ZIP=0) +endif() + +########### autotests ############### + +if(BUILD_TESTING) + add_definitions( -DKDESRCDIR="${CMAKE_CURRENT_SOURCE_DIR}/" ) + ecm_add_test(autotests/comicbooktest.cpp + TEST_NAME "comicbooktest" + LINK_LIBRARIES Qt6::Test KF6::CoreAddons okularcore okular_comicbook + ) +endif() + +########### install files ############### +if (BUILD_DESKTOP) + install( PROGRAMS okularApplication_comicbook.desktop DESTINATION ${KDE_INSTALL_APPDIR} ) +endif() +if (BUILD_MOBILE) + install( PROGRAMS org.kde.mobile.okular_comicbook.desktop DESTINATION ${KDE_INSTALL_APPDIR} ) +endif() +install( FILES org.kde.okular-comicbook.metainfo.xml DESTINATION ${KDE_INSTALL_METAINFODIR} ) diff --git a/generators/comicbook/Messages.sh b/generators/comicbook/Messages.sh new file mode 100755 index 0000000..f2418e7 --- /dev/null +++ b/generators/comicbook/Messages.sh @@ -0,0 +1,2 @@ +#!/bin/sh +$XGETTEXT $(find . -name "*.cpp") -o $podir/okular_comicbook.pot diff --git a/generators/comicbook/autotests/comicbooktest.cpp b/generators/comicbook/autotests/comicbooktest.cpp new file mode 100644 index 0000000..06e75bf --- /dev/null +++ b/generators/comicbook/autotests/comicbooktest.cpp @@ -0,0 +1,56 @@ +/* + SPDX-FileCopyrightText: 2020 Albert Astals Cid + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include + +#include "core/document.h" +#include "core/generator.h" +#include "core/observer.h" +#include "core/page.h" + +#include "../document.h" + +#include "settings_core.h" + +class ComicBookGeneratorTest : public QObject +{ + Q_OBJECT + +private Q_SLOTS: + void initTestCase(); + void testRotatedImage(); + void cleanupTestCase(); +}; + +void ComicBookGeneratorTest::initTestCase() +{ + Okular::SettingsCore::instance(QStringLiteral("ComicBookGeneratorTest")); +} + +void ComicBookGeneratorTest::cleanupTestCase() +{ +} + +void ComicBookGeneratorTest::testRotatedImage() +{ + ComicBook::Document document; + const QString testFile = QStringLiteral(KDESRCDIR "autotests/data/rotated_cb.cbz"); + QVERIFY(document.open(testFile)); + + QList pagesVector; + document.pages(&pagesVector); + + const Okular::Page *p = pagesVector[0]; + QVERIFY(p->height() > p->width()); + + const QImage image = document.pageImage(0); + QVERIFY(image.height() > image.width()); +} + +QTEST_MAIN(ComicBookGeneratorTest) +#include "comicbooktest.moc" + +/* kate: replace-tabs on; tab-width 4; */ diff --git a/generators/comicbook/autotests/data/rotated_cb.cbz b/generators/comicbook/autotests/data/rotated_cb.cbz new file mode 100644 index 0000000000000000000000000000000000000000..469f795c819b96210052d10288d903cf3beb112f GIT binary patch literal 22493 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 literal 0 HcmV?d00001 diff --git a/generators/comicbook/debug_comicbook.h b/generators/comicbook/debug_comicbook.h new file mode 100644 index 0000000..cae3e36 --- /dev/null +++ b/generators/comicbook/debug_comicbook.h @@ -0,0 +1,14 @@ +/* + SPDX-FileCopyrightText: 2014 Frederik Gladhorn + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef OKULAR_DEBUG_COMICBOOK_H +#define OKULAR_DEBUG_COMICBOOK_H + +#include + +Q_DECLARE_LOGGING_CATEGORY(OkularComicbookDebug) + +#endif diff --git a/generators/comicbook/directory.cpp b/generators/comicbook/directory.cpp new file mode 100644 index 0000000..b575b97 --- /dev/null +++ b/generators/comicbook/directory.cpp @@ -0,0 +1,64 @@ +/* + SPDX-FileCopyrightText: 2007 Tobias Koenig + SPDX-FileCopyrightText: 2011 David Palacio + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "directory.h" + +#include +#include +#include +#include + +#include + +Directory::Directory() +{ +} + +Directory::~Directory() +{ +} + +bool Directory::open(const QString &dirName) +{ + mDir = dirName; + QFileInfo dirTest(dirName); + return dirTest.isDir() && dirTest.isReadable(); +} + +QStringList Directory::recurseDir(const QString &dirPath, int curDepth) const +{ + QDir dir(dirPath); + dir.setFilter(QDir::Dirs | QDir::Files | QDir::NoDotAndDotDot); + QStringList fileList; + QDirIterator it(dir); + QFileInfo info; + while (it.hasNext()) { + it.next(); + info = it.fileInfo(); + if (info.isDir() && curDepth < staticMaxDepth) { + fileList.append(recurseDir(info.filePath(), curDepth + 1)); + } else if (info.isFile()) { + fileList.append(info.filePath()); + } + } + return fileList; +} + +QStringList Directory::list() const +{ + return recurseDir(mDir, 0); +} + +QIODevice *Directory::createDevice(const QString &path) const +{ + std::unique_ptr file(new QFile(path)); + if (!file->open(QIODevice::ReadOnly)) { + return nullptr; + } + + return file.release(); +} diff --git a/generators/comicbook/directory.h b/generators/comicbook/directory.h new file mode 100644 index 0000000..18bef17 --- /dev/null +++ b/generators/comicbook/directory.h @@ -0,0 +1,53 @@ +/* + SPDX-FileCopyrightText: 2007 Tobias Koenig + SPDX-FileCopyrightText: 2011 David Palacio + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef DIRECTORY_H +#define DIRECTORY_H + +#include + +class QIODevice; + +class Directory +{ +public: + /** + * Creates a new directory object. + */ + Directory(); + + /** + * Destroys the directory object. + */ + ~Directory(); + + /** + * Opens given directory. + */ + bool open(const QString &dirName); + + /** + * Returns the list of files from the directory. + */ + QStringList list() const; + + /** + * Returns a new device for reading the file with the given path. + */ + QIODevice *createDevice(const QString &path) const; + +private: + /** + * Iterates over a directory and returns a file list. + */ + QStringList recurseDir(const QString &dir, int curDepth) const; + + static const int staticMaxDepth = 1; + QString mDir; +}; + +#endif diff --git a/generators/comicbook/document.cpp b/generators/comicbook/document.cpp new file mode 100644 index 0000000..6862446 --- /dev/null +++ b/generators/comicbook/document.cpp @@ -0,0 +1,264 @@ +/* + SPDX-FileCopyrightText: 2007 Tobias Koenig + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "document.h" + +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#if WITH_K7ZIP +#include +#endif + +#include + +#include + +#include "debug_comicbook.h" +#include "directory.h" +#include "qnatsort.h" +#include "unrar.h" + +using namespace ComicBook; + +static void imagesInArchive(const QString &prefix, const KArchiveDirectory *dir, QStringList *entries) +{ + const QStringList entryList = dir->entries(); + for (const QString &file : entryList) { + const KArchiveEntry *e = dir->entry(file); + if (e->isDirectory()) { + imagesInArchive(prefix + file + QLatin1Char('/'), static_cast(e), entries); + } else if (e->isFile()) { + entries->append(prefix + file); + } + } +} + +Document::Document() + : mDirectory(nullptr) + , mUnrar(nullptr) + , mArchive(nullptr) + , mArchiveDir(nullptr) +{ +} + +Document::~Document() +{ +} + +bool Document::open(const QString &fileName) +{ + close(); + + QMimeDatabase db; + const QMimeType mime = db.mimeTypeForFile(fileName, QMimeDatabase::MatchContent); + + /** + * We have a zip archive + */ + if (mime.inherits(QStringLiteral("application/x-cbz")) || mime.inherits(QStringLiteral("application/zip"))) { + mArchive = new KZip(fileName); + + if (!processArchive()) { + return false; + } + /** + * We have a TAR archive + */ + } else if (mime.inherits(QStringLiteral("application/x-cbt")) || mime.inherits(QStringLiteral("application/x-gzip")) || mime.inherits(QStringLiteral("application/x-tar")) || mime.inherits(QStringLiteral("application/x-bzip"))) { + mArchive = new KTar(fileName); + + if (!processArchive()) { + return false; + } +#if WITH_K7ZIP + /** + * We have a 7z archive + */ + } else if (mime.inherits(QStringLiteral("application/x-cb7")) || mime.inherits(QStringLiteral("application/x-7z-compressed"))) { + mArchive = new K7Zip(fileName); + + if (!processArchive()) { + return false; + } +#endif + } else if (mime.inherits(QStringLiteral("application/x-cbr")) || mime.inherits(QStringLiteral("application/x-rar")) || mime.inherits(QStringLiteral("application/vnd.rar"))) { + if (!Unrar::isAvailable()) { + mLastErrorString = i18n("Cannot open document, neither unrar nor unarchiver were found."); + return false; + } + + if (!Unrar::isSuitableVersionAvailable()) { + mLastErrorString = i18n("The version of unrar on your system is not suitable for opening comicbooks."); + return false; + } + + /** + * We have a rar archive + */ + mUnrar = new Unrar(); + + if (!mUnrar->open(fileName)) { + delete mUnrar; + mUnrar = nullptr; + + return false; + } + + mEntries = mUnrar->list(); + } else if (mime.inherits(QStringLiteral("inode/directory"))) { + mDirectory = new Directory(); + + if (!mDirectory->open(fileName)) { + delete mDirectory; + mDirectory = nullptr; + + return false; + } + + mEntries = mDirectory->list(); + } else { + mLastErrorString = i18n("Unknown ComicBook format."); + return false; + } + + return true; +} + +void Document::close() +{ + mLastErrorString.clear(); + + if (!(mArchive || mUnrar || mDirectory)) { + return; + } + + delete mArchive; + mArchive = nullptr; + delete mDirectory; + mDirectory = nullptr; + delete mUnrar; + mUnrar = nullptr; + mPageMap.clear(); + mEntries.clear(); +} + +bool Document::processArchive() +{ + if (!mArchive->open(QIODevice::ReadOnly)) { + delete mArchive; + mArchive = nullptr; + + return false; + } + + const KArchiveDirectory *directory = mArchive->directory(); + if (!directory) { + delete mArchive; + mArchive = nullptr; + + return false; + } + + mArchiveDir = directory; + + imagesInArchive(QString(), mArchiveDir, &mEntries); + + return true; +} + +void Document::pages(QList *pagesVector) +{ + std::sort(mEntries.begin(), mEntries.end(), caseSensitiveNaturalOrderLessThen); + QScopedPointer dev; + + int count = 0; + pagesVector->clear(); + pagesVector->resize(mEntries.size()); + QImageReader reader; + reader.setAutoTransform(true); + for (const QString &file : std::as_const(mEntries)) { + if (mArchive) { + const KArchiveFile *entry = static_cast(mArchiveDir->entry(file)); + if (entry) { + dev.reset(entry->createDevice()); + } + } else if (mDirectory) { + dev.reset(mDirectory->createDevice(file)); + } else { + dev.reset(mUnrar->createDevice(file)); + } + + if (!dev.isNull()) { + reader.setDevice(dev.data()); + if (reader.canRead()) { + QSize pageSize = reader.size(); + if (reader.transformation() & QImageIOHandler::TransformationRotate90) { + pageSize.transpose(); + } + if (!pageSize.isValid()) { + const QImage i = reader.read(); + if (!i.isNull()) { + pageSize = i.size(); + } + } + if (pageSize.isValid()) { + pagesVector->replace(count, new Okular::Page(count, pageSize.width(), pageSize.height(), Okular::Rotation0)); + mPageMap.append(file); + count++; + } else { + qCDebug(OkularComicbookDebug) << "Ignoring" << file << "doesn't seem to be an image even if QImageReader::canRead returned true"; + } + } + } + } + pagesVector->resize(count); +} + +QStringList Document::pageTitles() const +{ + return QStringList(); +} + +QImage Document::pageImage(int page) const +{ + if (mArchive) { + const KArchiveFile *entry = static_cast(mArchiveDir->entry(mPageMap[page])); + if (entry) { + std::unique_ptr dev(entry->createDevice()); + // This could simply be + // QImageReader reader(dev.get()); + // but due to https://codereview.qt-project.org/c/qt/qtbase/+/349174 and https://invent.kde.org/frameworks/karchive/-/merge_requests/14 + // it can not, so it will have to be like this at least until Qt6 + // Test with https://bugs.kde.org/attachment.cgi?id=74039 (it's a cbz with a png inside) + QBuffer b; + b.setData(dev->readAll()); + QImageReader reader(&b); + reader.setAutoTransform(true); + return reader.read(); + } + } else if (mDirectory) { + return QImage(mPageMap[page]); + } else { + return QImage::fromData(mUnrar->contentOf(mPageMap[page])); + } + + return QImage(); +} + +QString Document::lastErrorString() const +{ + return mLastErrorString; +} + +Q_LOGGING_CATEGORY(OkularComicbookDebug, "org.kde.okular.generators.comicbook", QtWarningMsg) diff --git a/generators/comicbook/document.h b/generators/comicbook/document.h new file mode 100644 index 0000000..2de7a61 --- /dev/null +++ b/generators/comicbook/document.h @@ -0,0 +1,55 @@ +/* + SPDX-FileCopyrightText: 2007 Tobias Koenig + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef COMICBOOK_DOCUMENT_H +#define COMICBOOK_DOCUMENT_H + +#include + +class KArchiveDirectory; +class KArchive; +class QImage; +class Unrar; +class Directory; + +namespace Okular +{ +class Page; +} + +namespace ComicBook +{ +class Document +{ +public: + Document(); + ~Document(); + + bool open(const QString &fileName); + void close(); + + void pages(QList *pagesVector); + QStringList pageTitles() const; + + QImage pageImage(int page) const; + + QString lastErrorString() const; + +private: + bool processArchive(); + + QStringList mPageMap; + Directory *mDirectory; + Unrar *mUnrar; + KArchive *mArchive; + const KArchiveDirectory *mArchiveDir; + QString mLastErrorString; + QStringList mEntries; +}; + +} + +#endif diff --git a/generators/comicbook/generator_comicbook.cpp b/generators/comicbook/generator_comicbook.cpp new file mode 100644 index 0000000..15df4cc --- /dev/null +++ b/generators/comicbook/generator_comicbook.cpp @@ -0,0 +1,89 @@ +/* + SPDX-FileCopyrightText: 2007 Tobias Koenig + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "generator_comicbook.h" + +#include +#include + +#include +#include + +#include +#include +#include + +#include "debug_comicbook.h" + +OKULAR_EXPORT_PLUGIN(ComicBookGenerator, "libokularGenerator_comicbook.json") + +ComicBookGenerator::ComicBookGenerator(QObject *parent, const QVariantList &args) + : Generator(parent, args) +{ + setFeature(Threaded); + setFeature(PrintNative); + setFeature(PrintToFile); +} + +ComicBookGenerator::~ComicBookGenerator() +{ +} + +bool ComicBookGenerator::loadDocument(const QString &fileName, QList &pagesVector) +{ + if (!mDocument.open(fileName)) { + const QString errString = mDocument.lastErrorString(); + if (!errString.isEmpty()) { + Q_EMIT error(errString, -1); + } + return false; + } + + mDocument.pages(&pagesVector); + return true; +} + +bool ComicBookGenerator::doCloseDocument() +{ + mDocument.close(); + + return true; +} + +QImage ComicBookGenerator::image(Okular::PixmapRequest *request) +{ + int width = request->width(); + int height = request->height(); + + QImage pageImage = mDocument.pageImage(request->pageNumber()); + + return pageImage.scaled(width, height, Qt::IgnoreAspectRatio, Qt::SmoothTransformation); +} + +Okular::Document::PrintError ComicBookGenerator::print(QPrinter &printer) +{ + QPainter p(&printer); + + QList pageList = Okular::FilePrinter::pageList(printer, document()->pages(), document()->currentPage() + 1, document()->bookmarkedPageList()); + + for (int i = 0; i < pageList.count(); ++i) { + QImage pageImage = mDocument.pageImage(pageList[i] - 1); + + if ((pageImage.width() > printer.width()) || (pageImage.height() > printer.height())) { + pageImage = pageImage.scaled(printer.width(), printer.height(), Qt::KeepAspectRatio, Qt::SmoothTransformation); + } + + if (i != 0) { + printer.newPage(); + } + + p.drawImage(0, 0, pageImage); + } + + return Okular::Document::NoPrintError; +} + +#include "generator_comicbook.moc" diff --git a/generators/comicbook/generator_comicbook.h b/generators/comicbook/generator_comicbook.h new file mode 100644 index 0000000..e7702f7 --- /dev/null +++ b/generators/comicbook/generator_comicbook.h @@ -0,0 +1,37 @@ +/* + SPDX-FileCopyrightText: 2007 Tobias Koenig + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef GENERATOR_COMICBOOK_H +#define GENERATOR_COMICBOOK_H + +#include + +#include "document.h" + +class ComicBookGenerator : public Okular::Generator +{ + Q_OBJECT + Q_INTERFACES(Okular::Generator) + +public: + ComicBookGenerator(QObject *parent, const QVariantList &args); + ~ComicBookGenerator() override; + + // [INHERITED] load a document and fill up the pagesVector + bool loadDocument(const QString &fileName, QList &pagesVector) override; + + // [INHERITED] print document using already configured kprinter + Okular::Document::PrintError print(QPrinter &printer) override; + +protected: + bool doCloseDocument() override; + QImage image(Okular::PixmapRequest *request) override; + +private: + ComicBook::Document mDocument; +}; + +#endif diff --git a/generators/comicbook/libokularGenerator_comicbook.json b/generators/comicbook/libokularGenerator_comicbook.json new file mode 100644 index 0000000..85c97f1 --- /dev/null +++ b/generators/comicbook/libokularGenerator_comicbook.json @@ -0,0 +1,218 @@ +{ + "KPlugin": { + "Authors": [ + { + "Email": "tokoe@kde.org", + "Name": "Tobias Koenig", + "Name[ar]": "Tobias Koenig", + "Name[az]": "Tobias Koenig", + "Name[be]": "Tobias Koenig", + "Name[bg]": "Tobias Koenig", + "Name[ca@valencia]": "Tobias Koenig", + "Name[ca]": "Tobias Koenig", + "Name[cs]": "Tobias Koenig", + "Name[da]": "Tobias Koenig", + "Name[de]": "Tobias Koenig", + "Name[el]": "Tobias Koenig", + "Name[en_GB]": "Tobias Koenig", + "Name[eo]": "Tobias Koenig", + "Name[es]": "Tobias Koenig", + "Name[et]": "Tobias Koenig", + "Name[eu]": "Tobias Koenig", + "Name[fi]": "Tobias Koenig", + "Name[fr]": "Tobias Koenig", + "Name[gl]": "Tobias Koenig", + "Name[he]": "טוביאס קוניג", + "Name[hu]": "Tobias Koenig", + "Name[ia]": "Tobias Koenig", + "Name[ie]": "Tobias Koenig", + "Name[is]": "Tobias Koenig", + "Name[it]": "Tobias Koenig", + "Name[ka]": "Tobias Koenig", + "Name[ko]": "Tobias Koenig", + "Name[lt]": "Tobias Koenig", + "Name[lv]": "Tobias Koenig", + "Name[nl]": "Tobias Koenig", + "Name[nn]": "Tobias König", + "Name[pa]": "Tobias Koenig", + "Name[pl]": "Tobias Koenig", + "Name[pt]": "Tobias Koenig", + "Name[pt_BR]": "Tobias Koenig", + "Name[ro]": "Tobias Koenig", + "Name[ru]": "Tobias König", + "Name[sa]": "टोबियास कोएनिग्", + "Name[sk]": "Tobias Koenig", + "Name[sl]": "Tobias Koenig", + "Name[sr@ijekavian]": "Тобијас Кениг", + "Name[sr@ijekavianlatin]": "Tobijas Kenig", + "Name[sr@latin]": "Tobijas Kenig", + "Name[sr]": "Тобијас Кениг", + "Name[sv]": "Tobias Koenig", + "Name[ta]": "டொபையாசு கோனிகு", + "Name[tr]": "Tobias König", + "Name[uk]": "Tobias Koenig", + "Name[vi]": "Tobias Koenig", + "Name[zh_CN]": "Tobias Koenig", + "Name[zh_TW]": "Tobias Koenig" + } + ], + "Copyright": "© 2007-2008 Tobias Koenig", + "Copyright[ar]": "© 2007-2008 Tobias Koenig", + "Copyright[az]": "© 2007-2008 Tobias Koenig", + "Copyright[be]": "© 2007-2008 Tobias Koenig", + "Copyright[bg]": "© 2007-2008 Tobias Koenig", + "Copyright[ca@valencia]": "© 2007-2008 Tobias Koenig", + "Copyright[ca]": "© 2007-2008 Tobias Koenig", + "Copyright[cs]": "© 2007-2008 Tobias Koenig", + "Copyright[da]": "© 2007-2008 Tobias Koenig", + "Copyright[de]": "© 2007–2008 Tobias Koenig", + "Copyright[el]": "© 2007-2008 Tobias Koenig", + "Copyright[en_GB]": "© 2007-2008 Tobias Koenig", + "Copyright[eo]": "© 2007-2008 Tobias Koenig", + "Copyright[es]": "© 2007-2008 Tobias Koenig", + "Copyright[et]": "© 2007-2008: Tobias Koenig", + "Copyright[eu]": "© 2007-2008 Tobias Koenig", + "Copyright[fi]": "© 2007–2008 Tobias Koenig", + "Copyright[fr]": "© 2007-2008 Tobias Koenig", + "Copyright[gl]": "© 2007-2008 Tobias Koenig", + "Copyright[he]": "© 2007‏-2008 טוביאס קוניג", + "Copyright[hu]": "© Tobias Koenig, 2007-2008.", + "Copyright[ia]": "© 2007-2008 Tobias Koenig", + "Copyright[ie]": "© 2007-2008 Tobias Koenig", + "Copyright[is]": "© 2007-2008 Tobias Koenig", + "Copyright[it]": "© 2007-2008 Tobias Koenig", + "Copyright[ka]": "© 2007-2008 Tobias Koenig", + "Copyright[ko]": "© 2007-2008 Tobias Koenig", + "Copyright[lt]": "© 2007-2008 Tobias Koenig", + "Copyright[lv]": "© 2007-2008 Tobias Koenig", + "Copyright[nl]": "© 2007-2008 Tobias Koenig", + "Copyright[nn]": "© 2007–2008 Tobias König", + "Copyright[pa]": "© 2007-2008 Tobias Koenig", + "Copyright[pl]": "© 2007-2008 Tobias Koenig", + "Copyright[pt]": "© 2007-2008 Tobias Koenig", + "Copyright[pt_BR]": "© 2007-2008 Tobias Koenig", + "Copyright[ro]": "© 2007-2008 Tobias Koenig", + "Copyright[ru]": "© Tobias König, 2007-2008", + "Copyright[sa]": "© 2007-2008 टोबियास कोएनिग", + "Copyright[sk]": "© 2007-2008 Tobias Koenig", + "Copyright[sl]": "© 2007-2008 Tobias Koenig", + "Copyright[sr@ijekavian]": "© 2007–2008, Тобијас Кениг", + "Copyright[sr@ijekavianlatin]": "© 2007–2008, Tobijas Kenig", + "Copyright[sr@latin]": "© 2007–2008, Tobijas Kenig", + "Copyright[sr]": "© 2007–2008, Тобијас Кениг", + "Copyright[sv]": "© 2007-2008 Tobias Koenig", + "Copyright[tr]": "© 2007–2008 Tobias König", + "Copyright[uk]": "© Tobias Koenig, 2007–2008", + "Copyright[vi]": "© 2007-2008 Tobias Koenig", + "Copyright[zh_CN]": "© 2007-2008 Tobias Koenig", + "Copyright[zh_TW]": "© 2007-2008 Tobias Koenig", + "Description": "A renderer for various comic book formats", + "Description[ar]": "عارض العديد من تنسيقات كتب الهزل", + "Description[az]": "Dəyişkən komiks formatları tərtibatçısı", + "Description[be]": "Сродак візуалізацыі для розных фарматаў коміксаў", + "Description[bg]": "Визуализатор на различни формати за комиксни книги", + "Description[ca@valencia]": "Un renderitzador per a diversos formats de ComicBook", + "Description[ca]": "Un renderitzador per a diversos formats de ComicBook", + "Description[cs]": "Vykreslovač různých formátů knih komiksů", + "Description[da]": "En gengiver til diverse tegneserierformater", + "Description[de]": "Ein Renderer für verschiedene Comic-Book-Formate", + "Description[el]": "Πρόγραμμα αποτύπωσης για διάφορους τύπους comic book", + "Description[en_GB]": "A renderer for various comic book formats", + "Description[eo]": "Idilo por diversaj komiksaj formatoj", + "Description[es]": "Un visor para diversos formatos de libros de cómics", + "Description[et]": "Mitmesuguste koomiksivormingute renderdaja", + "Description[eu]": "Hainbat Komiki-liburu formatuentzako errendatzaile bat", + "Description[fi]": "Eri sarjakuvakirjamuotojen hahmonnin", + "Description[fr]": "Un système de rendu pour divers formats de livres de BD", + "Description[gl]": "Un visor de varios formatos de banda deseñada.", + "Description[he]": "מעבד למגוון תסדירים של ספרי קומיקס", + "Description[hu]": "Leképező különböző képregényformátumokhoz", + "Description[ia]": "Un rendition pro varie formatos de libros comic", + "Description[is]": "Myndunarviðbót fyrir ýmis myndasögusnið", + "Description[it]": "Un visualizzatore per vari formati di strisce a fumetti", + "Description[ka]": "რენდერერი სხვადასხვა კომიქსების წიგნის ფორმატებისთვის", + "Description[ko]": "다양한 만화책 형식 렌더러", + "Description[lt]": "Ä®vairių komiksų knygų formatų atvaizdavimas", + "Description[lv]": "Atveidotājs dažādiem komiksu formātiem", + "Description[nl]": "Een viewer voor diverse ComicBook-formaten", + "Description[nn]": "Ein gjengjevar for ulike teikneserieformat", + "Description[pl]": "Wyświetlanie różnych formatów komiksów", + "Description[pt]": "Um visualizador de diversos formatos de banda desenhada", + "Description[pt_BR]": "Um interpretador de vários formatos de histórias em quadrinhos", + "Description[ru]": "Модуль поддержки различных форматов комиксов", + "Description[sa]": "विविधहास्यपुस्तकस्वरूपेषु एकः प्रतिपादकः", + "Description[sk]": "Vykresľovanie rôznych formátov kníh komiksov", + "Description[sl]": "Izrisovalnik za različne vrste stripov", + "Description[sr@ijekavian]": "Рендерер различитих формата стрипова", + "Description[sr@ijekavianlatin]": "Renderer različitih formata stripova", + "Description[sr@latin]": "Renderer različitih formata stripova", + "Description[sr]": "Рендерер различитих формата стрипова", + "Description[sv]": "Ett Ã¥tergivningsprogram för diverse format för serieböcker", + "Description[tr]": "Çeşitli çizgi roman biçimleri için bir sunucu", + "Description[uk]": "Програма для відображення коміксів у різних форматах", + "Description[vi]": "Một trình kết xuất cho nhiều định dạng truyện tranh khác nhau", + "Description[zh_CN]": "支持多种漫画书格式的渲染程序", + "Description[zh_TW]": "多種漫畫書的成像器", + "License": "GPL", + "MimeTypes": [ + "application/x-cbz", + "application/x-cbr", + "application/x-cbt", + "application/x-cb7", + "inode/directory" + ], + "Name": "ComicBook Backend", + "Name[ar]": "خلفية ComicBook", + "Name[az]": "ComicBook modulu", + "Name[be]": "Рухавік ComicBook", + "Name[bg]": "Бекенд на ComicBook", + "Name[ca@valencia]": "Dorsal ComicBook", + "Name[ca]": "Dorsal ComicBook", + "Name[cs]": "Podpůrná vrstva ComicBook", + "Name[da]": "ComicBook-backend", + "Name[de]": "Anzeigemodul für Comic-Book", + "Name[el]": "Σύστημα υποστήριξης ComicBook", + "Name[en_GB]": "ComicBook Backend", + "Name[eo]": "ComicBook-Backend", + "Name[es]": "Motor para ComicBook", + "Name[et]": "ComicBooki taustaprogramm", + "Name[eu]": "ComicBook-en bizkarraldekoa", + "Name[fi]": "ComicBook-taustaosa", + "Name[fr]": "Moteur pour les livres de BD", + "Name[gl]": "Motor de banda deseñada", + "Name[he]": "מנגנון ComicBook", + "Name[hu]": "Képregény modul", + "Name[ia]": "Retro-Administration de libros de comic", + "Name[ie]": "Infrastructura ComicBook", + "Name[is]": "ComicBook-bakendi", + "Name[it]": "Backend ComicBook", + "Name[ka]": "ComicBook უკანაბოლო", + "Name[ko]": "만화책 백엔드", + "Name[lt]": "ComicBook programinė sąsaja", + "Name[lv]": "ComicBook aizmugursistēma", + "Name[nl]": "ComicBook-backend", + "Name[nn]": "ComicBook-motor", + "Name[pl]": "Obsługa ComicBook", + "Name[pt]": "Infra-Estrutura de ComicBook (BD)", + "Name[pt_BR]": "Infraestrutura ComicBook", + "Name[ro]": "Platformă ComicBook", + "Name[ru]": "Модуль поддержки формата ComicBook", + "Name[sa]": "हास्यपुस्तक पृष्ठभाग", + "Name[sk]": "Backend pre knihy komiksov", + "Name[sl]": "Zaledje za stripe", + "Name[sr@ijekavian]": "Позадина за комикбук", + "Name[sr@ijekavianlatin]": "Pozadina za ComicBook", + "Name[sr@latin]": "Pozadina za ComicBook", + "Name[sr]": "Позадина за комикбук", + "Name[sv]": "Comic Book-gränssnitt", + "Name[tr]": "ComicBook Arka Ucu", + "Name[uk]": "Модуль коміксів", + "Name[vi]": "Hậu phương ComicBook", + "Name[zh_CN]": "ComicBook 后端程序", + "Name[zh_TW]": "ComicBook 後端介面", + "Version": "0.4" + }, + "X-KDE-Priority": 1, + "X-KDE-okularAPIVersion": 1, + "X-KDE-okularHasInternalSettings": false +} diff --git a/generators/comicbook/okularApplication_comicbook.desktop b/generators/comicbook/okularApplication_comicbook.desktop new file mode 100755 index 0000000..4386fdd --- /dev/null +++ b/generators/comicbook/okularApplication_comicbook.desktop @@ -0,0 +1,247 @@ +[Desktop Entry] +MimeType=application/x-cbz;application/x-cbr;application/x-cbt;application/x-cb7; +Terminal=false +Name=Okular +Name[ar]=اوكلار +Name[az]=Okular +Name[be]=Okular +Name[bg]=Okular +Name[bs]=Okular +Name[ca]=Okular +Name[ca@valencia]=Okular +Name[cs]=Okular +Name[da]=Okular +Name[de]=Okular +Name[el]=Okular +Name[en_GB]=Okular +Name[eo]=Okular +Name[es]=Okular +Name[et]=Okular +Name[eu]=Okular +Name[fi]=Okular +Name[fr]=Okular +Name[ga]=Okular +Name[gl]=Okular +Name[he]=Okular +Name[hne]=ओकुलर +Name[hr]=Okular +Name[hu]=Okular +Name[ia]=Okular +Name[ie]=Okular +Name[is]=Okular +Name[it]=Okular +Name[ja]=Okular +Name[ka]=Okular +Name[kk]=Okular +Name[km]=Okular +Name[ko]=Okular +Name[ku]=Okular +Name[lt]=Okular +Name[lv]=Okular +Name[mr]=ओक्युलर +Name[nb]=Okular +Name[nds]=Okular +Name[nl]=Okular +Name[nn]=Okular +Name[pa]=ਓਕੁਲਾਰ +Name[pl]=Okular +Name[pt]=Okular +Name[pt_BR]=Okular +Name[ro]=Okular +Name[ru]=Okular +Name[sa]=नेत्रस्य +Name[si]=Okular +Name[sk]=Okular +Name[sl]=Okular +Name[sq]=Okular +Name[sr]=Окулар +Name[sr@ijekavian]=Окулар +Name[sr@ijekavianlatin]=Okular +Name[sr@latin]=Okular +Name[sv]=Okular +Name[ta]=ஆக்குலர் +Name[th]=โอกูลาร์ +Name[tr]=Okular +Name[ug]=Okular +Name[uk]=Okular +Name[vi]=Okular +Name[zh_CN]=Okular 文档查看器 +Name[zh_TW]=Okular +GenericName=Document Viewer +GenericName[ar]=عارض المستندات +GenericName[az]=Sənədə baxış vasitısi +GenericName[be]=Сродак для прагляду дакументаў +GenericName[bg]=Преглед на документи +GenericName[bs]=Prikazivač dokumenata +GenericName[ca]=Visualitzador de documents +GenericName[ca@valencia]=Visor de documents +GenericName[cs]=Prohlížeč dokumentů +GenericName[da]=Dokumentfremviser +GenericName[de]=Dokumentenbetrachter +GenericName[el]=Προβολέας εγγράφων +GenericName[en_GB]=Document Viewer +GenericName[eo]=Dokumenta rigardilo +GenericName[es]=Visor de documentos +GenericName[et]=Dokumendinäitaja +GenericName[eu]=Dokumentu erakuslea +GenericName[fa]=مشاهده‌گر سند +GenericName[fi]=Asiakirjakatselin +GenericName[fr]=Afficheur de documents +GenericName[ga]=Amharcán Cáipéisí +GenericName[gl]=Visor de documentos +GenericName[he]=מציג מסמכים +GenericName[hi]=दस्तावेज़ प्रदर्शक +GenericName[hne]=कागद प्रदर्सक +GenericName[hr]=Preglednik dokumenata +GenericName[hu]=Dokumentummegjelenítő +GenericName[ia]=Visor de documento +GenericName[ie]=Visor de documentes +GenericName[is]=Skjalaskoðari +GenericName[it]=Visore di documenti +GenericName[ja]=文書ビューア +GenericName[ka]=დოკუმენტების მნახველი +GenericName[kk]=Құжатты қарау құралы +GenericName[km]=កម្មវិធី​មើល​ឯកសារ +GenericName[ko]=문서 뷰어 +GenericName[ku]=Nîşanderê Belgeyan +GenericName[lt]=Dokumentų žiÅ«ryklė +GenericName[lv]=Dokumentu skatÄ«tājs +GenericName[mr]=दस्तऐवज प्रदर्शक +GenericName[nb]=Dokumentviser +GenericName[nds]=Dokmentkieker +GenericName[ne]=कागजात दर्शक +GenericName[nl]=Documentenviewer +GenericName[nn]=Dokumentvisar +GenericName[oc]=Visualizaire de documents +GenericName[pa]=ਡੌਕੂਮੈਂਟ ਦਰਸ਼ਕ +GenericName[pl]=Przeglądarka dokumentów +GenericName[pt]=Visualizador de Documentos +GenericName[pt_BR]=Visualizador de documentos +GenericName[ro]=Vizualizor de documente +GenericName[ru]=Просмотр документов +GenericName[sa]=दस्तावेज दर्शक +GenericName[sk]=Prehliadač dokumentov +GenericName[sl]=Pregledovalnik dokumentov +GenericName[sq]=Shikues dokumentesh +GenericName[sr]=Приказивач докумената +GenericName[sr@ijekavian]=Приказивач докумената +GenericName[sr@ijekavianlatin]=Prikazivač dokumenata +GenericName[sr@latin]=Prikazivač dokumenata +GenericName[sv]=Dokumentvisare +GenericName[ta]=ஆவணங் காட்டி +GenericName[th]=เครื่องมือแสดงเอกสาร +GenericName[tr]=Belge Görüntüleyicisi +GenericName[ug]=پۈتۈك كۆرگۈ +GenericName[uk]=Переглядач документів +GenericName[vi]=Trình xem tài liệu +GenericName[zh_CN]=文档查看器 +GenericName[zh_TW]=文件檢視器 +Comment=Universal document viewer +Comment[ar]=عارض المستندات عالمي +Comment[az]=Sənədə universal baxış vasitəsi +Comment[be]=Універсальны сродак для прагляду дакументаў +Comment[bg]=Универсална програма за преглед на документи +Comment[ca]=Visualitzador universal de documents +Comment[ca@valencia]=Visor universal de documents +Comment[cs]=Univerzální prohlížeč dokumentů +Comment[da]=Universel dokumentfremviser +Comment[de]=Universeller Dokumentenbetrachter +Comment[el]=Καθολικός προβολέας εγγράφων +Comment[en_GB]=Universal document viewer +Comment[eo]=Universala dokumenta spektilo +Comment[es]=Visor de documentos universal +Comment[et]=Universaalne dokumendinäitaja +Comment[eu]=Dokumentu erakusle unibertsala +Comment[fi]=Yleinen asiakirjakatselin +Comment[fr]=Afficheur de document universel +Comment[gl]=Visor de documentos universal. +Comment[he]=מציג מסמכים אוניברסלי +Comment[hu]=Univerzális dokumentummegjelenítő +Comment[ia]=Visor de documento universal +Comment[ie]=Universal visor de documentes +Comment[is]=Fjölhæfur skjalaskoðari +Comment[it]=Visore di documenti universale +Comment[ja]=多用途な文書ビューア +Comment[ka]=დოკუმენტების პოპულარული ფორმატების გამხსნელი +Comment[ko]=만능 문서 뷰어 +Comment[lt]=Universali dokumentų žiÅ«ryklė +Comment[lv]=Universāls dokumentu skatÄ«tājs +Comment[nl]=Universele documentviewer +Comment[nn]=Dokumentvisar for mange format +Comment[pa]=ਯੂਨੀਵਰਸਲ ਡੌਕੂਮੈਂਟ ਦਰਸ਼ਕ +Comment[pl]=Wszechstronna przeglądarka dokumentów +Comment[pt]=Visualizador de documentos universal +Comment[pt_BR]=Visualizador de documentos universal +Comment[ro]=Vizualizor de documente universal +Comment[ru]=Универсальная программа просмотра документов +Comment[sa]=सार्वभौमिक दस्तावेज दर्शक +Comment[sk]=Univerzálny prehliadač dokumentov +Comment[sl]=Vsestranski pregledovalnik dokumentov +Comment[sq]=Shikues univerzal dokumentesh +Comment[sr]=Универзални приказивач докумената +Comment[sr@ijekavian]=Универзални приказивач докумената +Comment[sr@ijekavianlatin]=Univerzalni prikazivač dokumenata +Comment[sr@latin]=Univerzalni prikazivač dokumenata +Comment[sv]=Generell dokumentvisare +Comment[ta]=அனைத்து ஆவணங்களுக்கான காட்டி +Comment[tr]=Çok amaçlı belge görüntüleyicisi +Comment[uk]=Універсальний переглядач документів +Comment[vi]=Trình xem tài liệu vạn năng +Comment[zh_CN]=通用文档查看器 +Comment[zh_TW]=通用文件檢視器 +Exec=okular %U +Icon=okular +Type=Application +InitialPreference=7 +Categories=Qt;KDE;Graphics;Viewer; +NoDisplay=true +X-KDE-Keywords=cbr, cbz, cbt, cb7, Comic Book +X-KDE-Keywords[ar]=cbr, cbz, cbt, cb7, Comic Book +X-KDE-Keywords[az]=cbr, cbz, cbt, cb7, Comic Book +X-KDE-Keywords[be]=cbr, cbz, cbt, cb7, Comic Book +X-KDE-Keywords[bg]=cbr, cbz, cbt, cb7, Comic Book +X-KDE-Keywords[ca]=cbr, cbz, cbt, cb7, Comic Book +X-KDE-Keywords[ca@valencia]=cbr, cbz, cbt, cb7, Comic Book +X-KDE-Keywords[cs]=cbr, cbz, cbt, cb7, Comic Book +X-KDE-Keywords[da]=cbr, cbz, cbt, cb7, Comic Book +X-KDE-Keywords[de]=Comic-Book +X-KDE-Keywords[el]=cbr, cbz, cbt, cb7, Comic Book +X-KDE-Keywords[en_GB]=cbr, cbz, cbt, cb7, Comic Book +X-KDE-Keywords[eo]=cbr, cbz, cbt, cb7, Comic Book +X-KDE-Keywords[es]=cbr, cbz, cbt, cb7, libro de cómic +X-KDE-Keywords[et]=cbr, cbz, cbt, cb7, Comic Book, koomiks +X-KDE-Keywords[eu]=cbr, cbz, cbt, cb7, komiki-liburua +X-KDE-Keywords[fi]=cbr, cbz, cbt, cb7, Comic Book +X-KDE-Keywords[fr]=cbr, cbz, cbt, cb7, ComicBook +X-KDE-Keywords[gl]=cbr, cbz, cbt, cb7, Comic Book +X-KDE-Keywords[he]=cbr, cbz, cbt, cb7, Comic Book +X-KDE-Keywords[hu]=cbr, cbz, cbt, cb7, Képregény +X-KDE-Keywords[ia]=cbr, cbz, cbt, cb7, Comic Book +X-KDE-Keywords[ie]=cbr, cbz, cbt, cb7, Comic Book, dessinat +X-KDE-Keywords[is]=cbr, cbz, cbt, cb7, Comic Book +X-KDE-Keywords[it]=cbr, cbz, cbt, cb7, Comic Book +X-KDE-Keywords[ja]=cbr, cbz, cbt, cb7, Comic Book, コミック, 漫画 +X-KDE-Keywords[ka]=cbr, cbz, cbt, cb7, კომიქსები +X-KDE-Keywords[ko]=cbr, cbz, cbt, cb7, Comic Book, 만화책, 만화 +X-KDE-Keywords[lt]=cbr, cbz, cbt, cb7, Comic Book, komiksų knygos, komiksu knygos +X-KDE-Keywords[lv]=cbr, cbz, cbt, cb7, Comic Book +X-KDE-Keywords[nl]=cbr, cbz, cbt, cbz, Stripverhaal +X-KDE-Keywords[nn]=cbr, cbz, cbt, cb7, Comic Book +X-KDE-Keywords[pa]=cbr, cbz, cbt,cb7, ਕਾਮਿਕ ਬੁੱਕ +X-KDE-Keywords[pl]=cbr, cbz, cbt, cb7, Komiks +X-KDE-Keywords[pt]=cbr, cbz, cbt, cb7, Comic Book +X-KDE-Keywords[pt_BR]=cbr, cbz, cbt, cb7, Comic Book +X-KDE-Keywords[ro]=cbr, cbz, cbt, cb7, benzi desenate, comic +X-KDE-Keywords[ru]=cbr, cbz, cbt, cb7, Comic Book, комикс +X-KDE-Keywords[sa]=cbr, cbz, cbt, cb7, हास्य पुस्तक +X-KDE-Keywords[sk]=cbr, cbz, cbt, cb7, Kniha komiksov +X-KDE-Keywords[sl]=cbr, cbz, cbt, cbt7, strip +X-KDE-Keywords[sq]=cbr, cbz, cbt, cb7, Comic Book +X-KDE-Keywords[sv]=cbr, cbz, cbt, cb7, Comic Book +X-KDE-Keywords[ta]=cbr, cbz, cbt, cb7, Comic Book, காமிக் புத்தகம் +X-KDE-Keywords[tr]=cbr, cbz, cbt, cb7, Comic Book +X-KDE-Keywords[uk]=cbr,cbz,cbt,cb7,комікс +X-KDE-Keywords[vi]=cbr, cbz, cbt, cb7, Truyện tranh +X-KDE-Keywords[zh_CN]=cbr, cbz, cbt, cb7, Comic Book, manhua, lianhuanhua, 漫画书, 漫画, 连环画 +X-KDE-Keywords[zh_TW]=cbr, cbz, cbt, cb7, Comic Book, 漫畫, 漫畫書 +X-KDE-AliasFor=org.kde.okular.desktop diff --git a/generators/comicbook/org.kde.mobile.okular_comicbook.desktop b/generators/comicbook/org.kde.mobile.okular_comicbook.desktop new file mode 100644 index 0000000..905c41e --- /dev/null +++ b/generators/comicbook/org.kde.mobile.okular_comicbook.desktop @@ -0,0 +1,246 @@ +[Desktop Entry] +MimeType=application/x-cbz;application/x-cbr;application/x-cbt;application/x-cb7; +Name=Reader +Name[ar]=التصيير +Name[az]=Oxuyucu +Name[be]=Сродак чытання +Name[bg]=Четец +Name[bs]=Čitač +Name[ca]=Lector +Name[ca@valencia]=Lector +Name[cs]=Čtečka +Name[da]=Læser +Name[de]=Lesegerät +Name[el]=Πρόγραμμα ανάγνωσης +Name[en_GB]=Reader +Name[eo]=Legilo +Name[es]=Lector +Name[et]=Lugeja +Name[eu]=Irakurlea +Name[fi]=Lukija +Name[fr]=Lecteur +Name[ga]=Léitheoir +Name[gl]=Lector +Name[he]=קורא +Name[hu]=Olvasó +Name[ia]=Lector +Name[ie]=Letor +Name[is]=Lesari +Name[it]=Lettore +Name[ja]=リーダ +Name[ka]=მკითხველი +Name[kk]=Оқу құралы +Name[ko]=리더 +Name[lt]=Skaitytuvas +Name[lv]=LasÄ«tājs +Name[mr]=वाचक +Name[nb]=Leser +Name[nds]=Leser +Name[nl]=Lezer +Name[nn]=Lesar +Name[pa]=ਰੀਡਰ +Name[pl]=Czytnik +Name[pt]=Leitor +Name[pt_BR]=Leitor +Name[ro]=Cititor +Name[ru]=Просмотрщик +Name[sa]=पाठकः +Name[sk]=Čítačka +Name[sl]=Bralnik +Name[sq]=Reader +Name[sr]=Читач +Name[sr@ijekavian]=Читач +Name[sr@ijekavianlatin]=Čitač +Name[sr@latin]=Čitač +Name[sv]=Läsprogram +Name[ta]=காட்டி +Name[tr]=Okuyucu +Name[ug]=ئوقۇغۇ +Name[uk]=Переглядач +Name[vi]=Trình đọc +Name[zh_CN]=阅读器 +Name[zh_TW]=閱讀器 +GenericName=Document viewer +GenericName[ar]=عارض المستندات +GenericName[az]=Sənədə baxış vasitısi +GenericName[be]=Сродак для прагляду дакументаў +GenericName[bg]=Преглед на документи +GenericName[bs]=Prikazivač dokumenata +GenericName[ca]=Visualitzador de documents +GenericName[ca@valencia]=Visor de documents +GenericName[cs]=Prohlížeč dokumentů +GenericName[da]=Dokumentfremviser +GenericName[de]=Dokumentenbetrachter +GenericName[el]=Προβολέας εγγράφων +GenericName[en_GB]=Document Viewer +GenericName[eo]=Dokumentrigardilo +GenericName[es]=Visor de documentos +GenericName[et]=Dokumendinäitaja +GenericName[eu]=Dokumentu erakuslea +GenericName[fi]=Asiakirjakatselin +GenericName[fr]=Afficheur de document +GenericName[ga]=Amharcán cáipéisí +GenericName[gl]=Visor de documentos +GenericName[he]=מציג מסמכים +GenericName[hi]=दस्तावेज़ प्रदर्शक +GenericName[hu]=Dokumentummegjelenítő +GenericName[ia]=Visor de documento +GenericName[ie]=Visor de documentes +GenericName[is]=Skjalaskoðari +GenericName[it]=Visore di documenti +GenericName[ja]=文書ビューア +GenericName[ka]=დოკუმენტების მნახველი +GenericName[kk]=Құжатты қарау құралы +GenericName[ko]=문서 뷰어 +GenericName[lt]=Dokumentų žiÅ«ryklė +GenericName[lv]=Dokumentu skatÄ«tājs +GenericName[mr]=दस्तऐवज प्रदर्शक +GenericName[nb]=Dokumentviser +GenericName[nds]=Dokmentkieker +GenericName[nl]=Documentenviewer +GenericName[nn]=Dokumentvisar +GenericName[pa]=ਡੌਕੂਮੈਂਟ ਦਰਸ਼ਕ +GenericName[pl]=Przeglądarka dokumentów +GenericName[pt]=Visualizador de documentos +GenericName[pt_BR]=Visualizador de documentos +GenericName[ro]=Vizualizor de documente +GenericName[ru]=Просмотр документов +GenericName[sa]=दस्तावेजदर्शकः +GenericName[sk]=Prehliadač dokumentov +GenericName[sl]=Pregledovalnik dokumentov +GenericName[sq]=Shikues dokumentesh +GenericName[sr]=Приказивач докумената +GenericName[sr@ijekavian]=Приказивач докумената +GenericName[sr@ijekavianlatin]=Prikazivač dokumenata +GenericName[sr@latin]=Prikazivač dokumenata +GenericName[sv]=Dokumentvisare +GenericName[ta]=ஆவணங் காட்டி +GenericName[tr]=Belge Görüntüleyicisi +GenericName[uk]=Переглядач документів +GenericName[vi]=Trình xem tài liệu +GenericName[zh_CN]=文档查看器 +GenericName[zh_TW]=文件檢視器 +Comment=Viewer for various types of documents +Comment[ar]=عارض للعديد من أنواع المستندات +Comment[az]=Müxtəlif növlü sənədlər üçün görüntüləyici +Comment[be]=Сродак для прагляду разнастайных тыпаў дакументаў +Comment[bg]=Преглед на различни видове документи +Comment[bs]=Pregledač raznih vrsta dokumenata +Comment[ca]=Visualitzador de diversos tipus de documents +Comment[ca@valencia]=Visor de diversos tipus de documents +Comment[cs]=Prohlížeč různých typů dokumentů +Comment[da]=Fremviser af diverse dokumenttyper +Comment[de]=Betrachter für verschiedene Arten von Dokumenten +Comment[el]=Πρόγραμμα προβολής για διάφορους τύπους εγγράφων +Comment[en_GB]=Viewer for various types of documents +Comment[eo]=Vidilo por diversaj specoj de dokumentoj +Comment[es]=Visor de diversos tipos de documentos +Comment[et]=Eri tüüpi dokumentide näitaja +Comment[eu]=Hainbat dokumentu moten erakuslea +Comment[fi]=Monenlaisten asiakirjojen katseluohjelma +Comment[fr]=Afficheur pour différents types de documents +Comment[ga]=Amharcán le haghaidh cáipéisí éagsúla +Comment[gl]=Visor de varios tipos de documentos. +Comment[he]=מציג למגוון סוגי מסמכים +Comment[hu]=Megjelenítő különféle típusú dokumentumokhoz +Comment[ia]=Visor pro varie typos de documento +Comment[ie]=Visor por varie tipes de documentes +Comment[is]=Skoðari fyrir ýmsar gerðir skjala +Comment[it]=Visore per vari tipi di documenti +Comment[ja]=様々なタイプの文書のためのビューア +Comment[ka]=სხვადასხვა ტიპების დოკუმენტების დათვალიერება +Comment[kk]=Түрлі құжаттар қарау құралы +Comment[ko]=여러 형식의 문서 뷰어 +Comment[lt]=ŽiÅ«ryklė įvairiems dokumentų tipams +Comment[lv]=Dažādu dokumentu tipu skatÄ«tājs +Comment[mr]=विविध प्रकारच्या दस्तऐवजांचा प्रदर्शक +Comment[nb]=Framviser for forskjellige dokumenttyper +Comment[nds]=Kieker för en Reeg Dokmenttypen +Comment[nl]=Viewer voor verschillende typen documenten +Comment[nn]=Framvisar for forskjellige dokumenttypar +Comment[pa]=ਕਈ ਕਿਸਮ ਦੇ ਡੌਕੂਮੈਂਟ ਵੇਖਾਉਣ ਲਈ ਦਰਸ਼ਕ +Comment[pl]=Przeglądarka dla różnych typów dokumentów +Comment[pt]=Visualizador de vários tipos de documentos +Comment[pt_BR]=Visualizador para vários tipos de documentos +Comment[ro]=Vizualizor pentru diferite tipuri de documente +Comment[ru]=Программа для просмотра различных типов документов +Comment[sa]=विभिन्नप्रकारस्य दस्तावेजानां कृते दर्शकः +Comment[sk]=Prehliadač pre rôzne typy dokumentov +Comment[sl]=Pregledovalnik raznih vrst dokumentov +Comment[sq]=Shikues për lloje të ndryshme të dokumentave +Comment[sr]=Приказивач различитих врста докумената +Comment[sr@ijekavian]=Приказивач различитих врста докумената +Comment[sr@ijekavianlatin]=Prikazivač različitih vrsta dokumenata +Comment[sr@latin]=Prikazivač različitih vrsta dokumenata +Comment[sv]=Visningsprogram för diverse typer av dokument +Comment[ta]=பலவகையான ஆவணங்களுக்கான காட்டி +Comment[tr]=Çeşitli belge türleri için görüntüleyici +Comment[ug]=ھەر خىل تىپتىكى پۈتۈكلەرنى كۆرىدىغان پروگرامما +Comment[uk]=Програма для перегляду документів різних типів +Comment[vi]=Trình xem các kiểu tài liệu khác nhau +Comment[zh_CN]=支持查看多种文档类型 +Comment[zh_TW]=多種型態文件的檢視器 + +TryExec=okularkirigami +Exec=okularkirigami %u +Terminal=false +Icon=okular +Type=Application +Categories=Qt;KDE;Graphics;Office;Viewer; +InitialPreference=2 +NoDisplay=true +X-KDE-Keywords=cbr, cbz, cbt, Comic Book +X-KDE-Keywords[ar]=cbr, cbz, cbt, Comic Book +X-KDE-Keywords[az]=cbr, cbz, cbt, Comic Book +X-KDE-Keywords[be]=cbr, cbz, cbt, Comic Book +X-KDE-Keywords[bg]=cbr, cbz, cbt, Comic Book +X-KDE-Keywords[ca]=cbr, cbz, cbt, Comic Book +X-KDE-Keywords[ca@valencia]=cbr, cbz, cbt, Comic Book +X-KDE-Keywords[cs]=cbr, cbz, cbt, Comic Book +X-KDE-Keywords[da]=cbr, cbz, cbt, Comic Book +X-KDE-Keywords[de]=Comic-Book +X-KDE-Keywords[el]=cbr, cbz, cbt, Comic Book +X-KDE-Keywords[en_GB]=cbr, cbz, cbt, Comic Book +X-KDE-Keywords[eo]=cbr, cbz, cbt, Comic Book +X-KDE-Keywords[es]=cbr, cbz, cbt, libro de cómic +X-KDE-Keywords[et]=cbr, cbz, cbt, Comic Book, koomiks +X-KDE-Keywords[eu]=cbr, cbz, cbt, komiki-liburua +X-KDE-Keywords[fi]=cbr, cbz, cbt, Comic Book +X-KDE-Keywords[fr]=cbr, cbz, cbt, ComicBook +X-KDE-Keywords[gl]=cbr, cbz, cbt, Comic Book +X-KDE-Keywords[he]=cbr, cbz, cbt, Comic Book +X-KDE-Keywords[hu]=cbr, cbz, cbt, Képregény +X-KDE-Keywords[ia]=cbr, cbz, cbt, Comic Book +X-KDE-Keywords[ie]=cbr, cbz, cbt, Comic Book, dessinat +X-KDE-Keywords[is]=cbr, cbz, cbt, Comic Book +X-KDE-Keywords[it]=cbr, cbz, cbt, Comic Book +X-KDE-Keywords[ja]=cbr, cbz, cbt, Comic Book +X-KDE-Keywords[ka]=cbr, cbz, cbt, კომიქსები +X-KDE-Keywords[ko]=cbr, cbz, cbt, Comic Book,만화책 +X-KDE-Keywords[lt]=cbr, cbz, cbt, Comic Book, komiksų knygos, komiksu knygos +X-KDE-Keywords[lv]=cbr, cbz, cbt, Comic Book +X-KDE-Keywords[nb]=cbr, cbz, cbt, tegneserie +X-KDE-Keywords[nl]=cbr, cbz, cbt, Stripverhaal +X-KDE-Keywords[nn]=cbr, cbz, cbt, Comic Book +X-KDE-Keywords[pa]=cbr, cbz, cbt, ਕਾਮਿਕ ਬੁੱਕ +X-KDE-Keywords[pl]=cbr, cbz, cbt, Komiks +X-KDE-Keywords[pt]=cbr, cbz, cbt, Comic Book +X-KDE-Keywords[pt_BR]=cbr, cbz, cbt, Comic Book +X-KDE-Keywords[ro]=cbr, cbz, cbt, benzi desenate, comic +X-KDE-Keywords[ru]=cbr, cbz, cbt, Comic Book, комикс +X-KDE-Keywords[sa]=cbr, cbz, cbt, हास्य पुस्तक +X-KDE-Keywords[sk]=cbr, cbz, cbt, Kniha komiksov +X-KDE-Keywords[sl]=cbr, cbz, cbt, strip +X-KDE-Keywords[sq]=cbr, cbz, cbt, Comic Book +X-KDE-Keywords[sr]=cbr, cbz, cbt, Comic Book,комикбук +X-KDE-Keywords[sr@ijekavian]=cbr, cbz, cbt, Comic Book,комикбук +X-KDE-Keywords[sr@ijekavianlatin]=cbr, cbz, cbt, Comic Book,ComicBook +X-KDE-Keywords[sr@latin]=cbr, cbz, cbt, Comic Book,ComicBook +X-KDE-Keywords[sv]=cbr, cbz, cbt, Comic Book +X-KDE-Keywords[ta]=cbr, cbz, cbt, Comic Book, காமிக் புத்தகம் +X-KDE-Keywords[tr]=cbr, cbz, cbt, Comic Book +X-KDE-Keywords[uk]=cbr,cbz,cbt,комікс +X-KDE-Keywords[vi]=cbr, cbz, cbt, Truyện tranh +X-KDE-Keywords[zh_CN]=cbr, cbz, cbt, Comic Book, manhua, lianhuanhua, 漫画书, 漫画, 连环画 +X-KDE-Keywords[zh_TW]=cbr, cbz, cbt, Comic Book, 漫畫, 漫畫書 +X-KDE-AliasFor=org.kde.okular.kirigami.desktop diff --git a/generators/comicbook/org.kde.okular-comicbook.metainfo.xml b/generators/comicbook/org.kde.okular-comicbook.metainfo.xml new file mode 100644 index 0000000..c01cbce --- /dev/null +++ b/generators/comicbook/org.kde.okular-comicbook.metainfo.xml @@ -0,0 +1,139 @@ + + + org.kde.okular-comicbook + org.kde.okular.desktop + CC0-1.0 + GPL-2.0+ and GFDL-1.3 + Comic Books + الكتب الهزليّة + Comic Books + Коміксы + Комикси + Llibres de còmic + Llibres de còmic + Komiksy + Comic-Buch + Comic Books + Comic Books + Komika Libro + Libros de cómics + Koomiksid + Komiki-liburuak + Sarjakuvakirjat + Bandes dessinées + Libros de banda deseñada + Comic Books + कॉमिक पुस्तक + Képregények + Libros de Comic + Comic Books + Fumetti + კომიქსები + 만화책 + Komiksų knygos + Komiksi + കോമിക് പുസ്തകങ്ങള്‍ + Stripboeken + Teikneseriar + Komiksy + Banda Desenhada + Comic Books + Benzi desenate + Комиксы + हास्य पुस्तकें + Knihy komiksov + Stripi + Стрипови + Stripovi + Стрипови + Stripovi + Comic Book + காமிக் புத்தகங்கள் + Çizgi Romanlar + Комікси + Truyện tranh + Comic Books + 漫畫書 + Adds support for reading comic books + يضيف دعم لقراءة الكتب الهزلية + Komiks sənədlərini oxumaq üçün dəstək əlavə edir + Падтрымка чытання коміксаў + Добавя поддръжка за четене на комикси + Afegeix la implementació per a llegir llibres de còmic + Afig la implementació per a llegir llibres de còmic + Přidává podporu pro čtení komiksů + Bietet Unterstützung zum Lesen von Comic-Büchern + Προσθέτει υποστήριξη για την ανάγνωση comic books + Adds support for reading comic books + Aldonas subtenon por legi komiklibrojn + Permite la lectura de libros de cómics + Koomiksite lugemise toetus + Komiki-liburuak irakurtzeko euskarria gehitzen du + Lisää sarjakuvakirjojen lukutuen + Permet la lecture des bandes dessinées + Engade a posibilidade de ler libros de banda deseñada + מוסיף תמיכה בספרי קומיקס (CB) + कॉमिक पुस्तक पढ़ने के लिए समर्थन जोड़ता है + Támogatás képregények olvasásához + Adde supporto per leger libros de comic + Bætir við stuðningi til að lesa myndasögur + Aggiunge il supporto per la lettura di fumetti + კომიქსების წიგნის კითხვის მხარდაჭერის დამატება + 만화책 읽기 지원 추가 + Prideda palaikymą komiksų knygų skaitymui + Pievieno atbalstu komiksu lasīšanai + കോമിക്ക് പുസ്തകങ്ങൾ വായിക്കാൻ പിന്തുണ ചേർക്കുന്നു + Voegt ondersteuning voor lezen van stripboeken toe + Legg til støtte for Ã¥ lesa teikneseriefiler + Dodaje obsługę komiksów + Adiciona o suporte para ler livros de banda desenhada + Adiciona o suporte para leitura de comic books + Adaugă suport pentru citirea cărților cu benzi desenate + Поддержка чтения комиксов + हास्यपुस्तकानां पठनस्य समर्थनं योजयति + Pridá podporu pre čítanie komiksov + Doda podporo za branje stripov + Подршка за читање стрипова + PodrÅ¡ka za čitanje stripova + Подршка за читање стрипова + PodrÅ¡ka za čitanje stripova + Lägger till stöd för att läsa Comic Book + காமிக் புத்தகங்களைப் படிப்பதற்கான ஆதரவை சேர்க்கும் + Çizgi roman okuma desteği ekler + Додає підтримку читання коміксів + Thêm hỗ trợ đọc truyện tranh + 增加对 Comic Books 格式的阅读支持 + 加入讀取漫畫書的支援 + + application/x-cbr + application/x-cbz + application/x-cbt + application/x-cb7 + + https://okular.kde.org + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/generators/comicbook/qnatsort.cpp b/generators/comicbook/qnatsort.cpp new file mode 100644 index 0000000..ded0339 --- /dev/null +++ b/generators/comicbook/qnatsort.cpp @@ -0,0 +1,157 @@ +/* + Natural order sorting of strings which contains numbers. + + SPDX-FileCopyrightText: 2007 Tobias Koenig + SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only + based on the natural order code by Martin Pool +*/ + +#include "qnatsort.h" + +static int compare_right(const QString &leftStr, int left, const QString &rightStr, int right) +{ + int bias = 0; + + /** + * The longest run of digits wins. That aside, the greatest + * value wins, but we can't know that it will until we've scanned + * both numbers to know that they have the same magnitude, so we + * remember it in BIAS. + */ + for (;; left++, right++) { + if (left >= leftStr.length() && right < rightStr.length()) { + return -1; + } else if (right >= rightStr.length() && left < leftStr.length()) { + return +1; + } else if (right >= rightStr.length() && left >= leftStr.length()) { + return bias; + } else if (!leftStr[left].isDigit() && !rightStr[right].isDigit()) { + return bias; + } else if (!leftStr[left].isDigit()) { + return -1; + } else if (!rightStr[right].isDigit()) { + return +1; + } else if (leftStr[left] < rightStr[right]) { + if (!bias) { + bias = -1; + } + } else if (leftStr[left] > rightStr[right]) { + if (!bias) { + bias = +1; + } + } else if (leftStr[left].isNull() && rightStr[right].isNull()) { + return bias; + } + } + + return 0; +} + +static int compare_left(const QString &leftStr, int left, const QString &rightStr, int right) +{ + /** + * Compare two left-aligned numbers: the first to have a + * different value wins. + */ + for (;; left++, right++) { + if (left >= leftStr.length() && right < rightStr.length()) { + return -1; + } else if (right >= rightStr.length() && left < leftStr.length()) { + return +1; + } else if (right >= rightStr.length() && left >= leftStr.length()) { + return 0; + } else if (!leftStr[left].isDigit() && !rightStr[right].isDigit()) { + return 0; + } else if (!leftStr[left].isDigit()) { + return -1; + } else if (!rightStr[right].isDigit()) { + return +1; + } else if (leftStr[left] < rightStr[right]) { + return -1; + } else if (leftStr[left] > rightStr[right]) { + return +1; + } + } + + return 0; +} + +static int natural_order_compare(const QString &leftStr, const QString &rightStr, bool fold_case) +{ + if (leftStr.isEmpty() && rightStr.isEmpty()) { + return 0; + } + + int ai, bi; + QChar ca, cb; + int fractional, result; + + ai = bi = 0; + const int aSize = leftStr.size(); + const int bSize = rightStr.size(); + + while (true) { + ca = leftStr[ai]; + cb = rightStr[bi]; + + /* skip over leading spaces or zeros */ + while (ca.isSpace() && ++ai < aSize) { + ca = leftStr[ai]; + } + + while (cb.isSpace() && ++bi < bSize) { + cb = rightStr[bi]; + } + + /* process run of digits */ + if (ca.isDigit() && cb.isDigit()) { + fractional = (ca == QLatin1Char('0') || cb == QLatin1Char('0')); + + if (fractional) { + if ((result = compare_left(leftStr, ai, rightStr, bi)) != 0) { + return result; + } + } else { + if ((result = compare_right(leftStr, ai, rightStr, bi)) != 0) { + return result; + } + } + } + + if (ca.isNull() && cb.isNull()) { + /* The strings compare the same. Perhaps the caller + will want to call strcmp to break the tie. */ + return 0; + } + + if (fold_case) { + ca = ca.toUpper(); + cb = cb.toUpper(); + } + + if (ca < cb) { + return -1; + } else if (ca > cb) { + return +1; + } + + ++ai; + ++bi; + if (aSize == ai) { + return aSize <= bSize ? -1 : 1; + } + if (bSize == bi) { + return bSize <= aSize ? 1 : -1; + } + } +} + +bool caseSensitiveNaturalOrderLessThen(const QString &left, const QString &right) +{ + return (natural_order_compare(left, right, false) < 0); +} + +bool caseInsensitiveNaturalOrderLessThen(const QString &left, const QString &right) +{ + return (natural_order_compare(left, right, true) < 0); +} diff --git a/generators/comicbook/qnatsort.h b/generators/comicbook/qnatsort.h new file mode 100644 index 0000000..3ba9912 --- /dev/null +++ b/generators/comicbook/qnatsort.h @@ -0,0 +1,41 @@ +/* + Natural order sorting of strings which contains numbers. + + SPDX-FileCopyrightText: 2007 Tobias Koenig + SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only + based on the natural order code by Martin Pool +*/ + +#ifndef QNATSORT_H +#define QNATSORT_H + +#include + +/** + * The two methods can be used in qSort to sort strings which contain + * numbers in natural order. + * + * Normally strings are ordered like this: fam10g fam1g fam2g fam3g + * natural ordered it would look like this: fam1g fam2g fam3g fam10g + * + * Code: + * + * QStringList list; + * list << "fam10g" << "fam1g" << "fam2g" << "fam5g"; + * + * qSort( list.begin(), list.end(), caseSensitiveNaturalOderLessThen ); + */ + +/** + * Returns whether the @p left string is lesser than the @p right string + * in natural order. + */ +bool caseSensitiveNaturalOrderLessThen(const QString &left, const QString &right); + +/** + * Returns whether the @p left string is lesser than the @p right string + * in natural order and case insensitive. + */ +bool caseInsensitiveNaturalOrderLessThen(const QString &left, const QString &right); + +#endif diff --git a/generators/comicbook/unrar.cpp b/generators/comicbook/unrar.cpp new file mode 100644 index 0000000..1f3ed4a --- /dev/null +++ b/generators/comicbook/unrar.cpp @@ -0,0 +1,282 @@ +/* + SPDX-FileCopyrightText: 2007 Tobias Koenig + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "unrar.h" + +#include +#include +#include +#include +#include +#include + +#include "debug_comicbook.h" + +#include +#include +#include + +struct UnrarHelper { + UnrarHelper(); + ~UnrarHelper(); + + UnrarHelper(const UnrarHelper &) = delete; + UnrarHelper &operator=(const UnrarHelper &) = delete; + + UnrarFlavour *kind; + QString unrarPath; + QString lsarPath; +}; + +Q_GLOBAL_STATIC(UnrarHelper, helper) + +static UnrarFlavour *detectUnrar(const QString &unrarPath, const QString &versionCommand) +{ + UnrarFlavour *kind = nullptr; + QProcess proc; + proc.start(unrarPath, QStringList() << versionCommand); + bool ok = proc.waitForFinished(-1); + Q_UNUSED(ok) + static const QRegularExpression regex(QStringLiteral("[\r\n]")); + const QString output = QString::fromLocal8Bit(proc.readAllStandardOutput()); + const QList lines = QStringView(output).split(regex, Qt::SkipEmptyParts); + if (!lines.isEmpty()) { + if (lines.first().startsWith(QLatin1String("UNRAR "))) { + kind = new NonFreeUnrarFlavour(); + } else if (lines.first().startsWith(QLatin1String("RAR "))) { + kind = new NonFreeUnrarFlavour(); + } else if (lines.first().startsWith(QLatin1String("unrar "))) { + kind = new FreeUnrarFlavour(); + } else if (lines.first().startsWith(QLatin1String("v"))) { + kind = new UnarFlavour(); + } + } + return kind; +} + +UnrarHelper::UnrarHelper() + : kind(nullptr) +{ + QString path = QStandardPaths::findExecutable(QStringLiteral("lsar")); + + if (!path.isEmpty()) { + lsarPath = path; + } + + path = QStandardPaths::findExecutable(QStringLiteral("unrar-nonfree")); + + if (path.isEmpty()) { + path = QStandardPaths::findExecutable(QStringLiteral("unrar")); + } + if (path.isEmpty()) { + path = QStandardPaths::findExecutable(QStringLiteral("rar")); + } + if (path.isEmpty()) { + path = QStandardPaths::findExecutable(QStringLiteral("unar")); + } + + if (!path.isEmpty()) { + kind = detectUnrar(path, QStringLiteral("--version")); + } + + if (!kind) { + kind = detectUnrar(path, QStringLiteral("-v")); + } + + if (!kind) { + // no luck, print that + qWarning() << "Neither unrar nor unarchiver were found."; + } else { + unrarPath = path; + qCDebug(OkularComicbookDebug) << "detected:" << path << "(" << kind->name() << ")"; + } +} + +UnrarHelper::~UnrarHelper() +{ + delete kind; +} + +Unrar::Unrar() + : QObject(nullptr) + , mProcess(nullptr) + , mLoop(nullptr) + , mTempDir(nullptr) +{ +} + +Unrar::~Unrar() +{ + delete mTempDir; +} + +bool Unrar::open(const QString &fileName) +{ + if (!isSuitableVersionAvailable()) { + return false; + } + + delete mTempDir; + mTempDir = new QTemporaryDir(); + + mFileName = fileName; + + /** + * Extract the archive to a temporary directory + */ + mStdOutData.clear(); + mStdErrData.clear(); + + const int ret = startSyncProcess(helper->kind->processOpenArchiveArgs(mFileName, mTempDir->path())); + bool ok = ret == 0; + + return ok; +} + +QStringList Unrar::list() +{ + mStdOutData.clear(); + mStdErrData.clear(); + + if (!isSuitableVersionAvailable()) { + return QStringList(); + } + + startSyncProcess(helper->kind->processListArgs(mFileName)); + + static const QRegularExpression regex(QStringLiteral("[\r\n]")); + QStringList listFiles = helper->kind->processListing(QString::fromLocal8Bit(mStdOutData).split(regex, Qt::SkipEmptyParts)); + + QString subDir; + + if (listFiles.last().endsWith(QLatin1Char('/')) && helper->kind->name() == QLatin1String("unar")) { + // Subfolder detected. The unarchiver is unable to extract all files into a single folder + subDir = listFiles.last(); + listFiles.removeLast(); + } + + QStringList newList; + for (const QString &f : std::as_const(listFiles)) { + // Extract all the files to mTempDir regardless of their path inside the archive + // This will break if ever an arvhice with two files with the same name in different subfolders + QFileInfo fi(f); + if (QFile::exists(mTempDir->path() + QLatin1Char('/') + subDir + fi.fileName())) { + newList.append(subDir + fi.fileName()); + } + } + return newList; +} + +QByteArray Unrar::contentOf(const QString &fileName) const +{ + if (!isSuitableVersionAvailable()) { + return QByteArray(); + } + + QFile file(mTempDir->path() + QLatin1Char('/') + fileName); + if (!file.open(QIODevice::ReadOnly)) { + return QByteArray(); + } + + return file.readAll(); +} + +QIODevice *Unrar::createDevice(const QString &fileName) const +{ + if (!isSuitableVersionAvailable()) { + return nullptr; + } + + std::unique_ptr file(new QFile(mTempDir->path() + QLatin1Char('/') + fileName)); + if (!file->open(QIODevice::ReadOnly)) { + return nullptr; + } + + return file.release(); +} + +bool Unrar::isAvailable() +{ + return helper->kind; +} + +bool Unrar::isSuitableVersionAvailable() +{ + if (!isAvailable()) { + return false; + } + + if (dynamic_cast(helper->kind) || dynamic_cast(helper->kind)) { + return true; + } else { + return false; + } +} + +void Unrar::readFromStdout() +{ + if (!mProcess) { + return; + } + + mStdOutData += mProcess->readAllStandardOutput(); +} + +void Unrar::readFromStderr() +{ + if (!mProcess) { + return; + } + + mStdErrData += mProcess->readAllStandardError(); + if (!mStdErrData.isEmpty()) { + mProcess->kill(); + return; + } +} + +void Unrar::finished(int exitCode, QProcess::ExitStatus exitStatus) +{ + Q_UNUSED(exitCode) + if (mLoop) { + mLoop->exit(exitStatus == QProcess::CrashExit ? 1 : 0); + } +} + +int Unrar::startSyncProcess(const ProcessArgs &args) +{ + int ret = 0; + + mProcess = new QProcess(this); + connect(mProcess, &QProcess::readyReadStandardOutput, this, &Unrar::readFromStdout); + connect(mProcess, &QProcess::readyReadStandardError, this, &Unrar::readFromStderr); + connect(mProcess, static_cast(&QProcess::finished), this, &Unrar::finished); + + if (helper->kind->name() == QLatin1String("unar") && args.useLsar) { + mProcess->start(helper->lsarPath, args.appArgs, QIODevice::ReadWrite | QIODevice::Unbuffered); + } else { + mProcess->start(helper->unrarPath, args.appArgs, QIODevice::ReadWrite | QIODevice::Unbuffered); + } + + QEventLoop loop; + mLoop = &loop; + ret = loop.exec(QEventLoop::WaitForMoreEvents | QEventLoop::ExcludeUserInputEvents); + mLoop = nullptr; + + delete mProcess; + mProcess = nullptr; + + return ret; +} + +void Unrar::writeToProcess(const QByteArray &data) +{ + if (!mProcess || data.isNull()) { + return; + } + + mProcess->write(data); +} diff --git a/generators/comicbook/unrar.h b/generators/comicbook/unrar.h new file mode 100644 index 0000000..f883f3b --- /dev/null +++ b/generators/comicbook/unrar.h @@ -0,0 +1,74 @@ +/* + SPDX-FileCopyrightText: 2007 Tobias Koenig + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef UNRAR_H +#define UNRAR_H + +#include +#include +#include + +#include + +class QEventLoop; +class QTemporaryDir; + +class Unrar : public QObject +{ + Q_OBJECT + +public: + /** + * Creates a new unrar object. + */ + Unrar(); + + /** + * Destroys the unrar object. + */ + ~Unrar() override; + + /** + * Opens given rar archive. + */ + bool open(const QString &fileName); + + /** + * Returns the list of files from the archive. + */ + QStringList list(); + + /** + * Returns the content of the file with the given name. + */ + QByteArray contentOf(const QString &fileName) const; + + /** + * Returns a new device for reading the file with the given name. + */ + QIODevice *createDevice(const QString &fileName) const; + + static bool isAvailable(); + static bool isSuitableVersionAvailable(); + +private Q_SLOTS: + void readFromStdout(); + void readFromStderr(); + void finished(int exitCode, QProcess::ExitStatus exitStatus); + +private: + int startSyncProcess(const ProcessArgs &args); + void writeToProcess(const QByteArray &data); + + QProcess *mProcess; + QEventLoop *mLoop; + QString mFileName; + QByteArray mStdOutData; + QByteArray mStdErrData; + QTemporaryDir *mTempDir; +}; + +#endif diff --git a/generators/comicbook/unrarflavours.cpp b/generators/comicbook/unrarflavours.cpp new file mode 100644 index 0000000..ad0aece --- /dev/null +++ b/generators/comicbook/unrarflavours.cpp @@ -0,0 +1,126 @@ +/* + SPDX-FileCopyrightText: 2007 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "unrarflavours.h" + +#include + +ProcessArgs::ProcessArgs() +{ +} + +ProcessArgs::ProcessArgs(const QStringList &args, bool lsar) + : appArgs {args} + , useLsar {lsar} +{ +} + +UnrarFlavour::UnrarFlavour() +{ +} + +UnrarFlavour::~UnrarFlavour() +{ +} + +void UnrarFlavour::setFileName(const QString &fileName) +{ + mFileName = fileName; +} + +QString UnrarFlavour::fileName() const +{ + return mFileName; +} + +NonFreeUnrarFlavour::NonFreeUnrarFlavour() + : UnrarFlavour() +{ +} + +QStringList NonFreeUnrarFlavour::processListing(const QStringList &data) +{ + // unrar-nonfree just lists the files + return data; +} + +QString NonFreeUnrarFlavour::name() const +{ + return QStringLiteral("unrar-nonfree"); +} + +ProcessArgs NonFreeUnrarFlavour::processListArgs(const QString &fileName) const +{ + return ProcessArgs(QStringList() << QStringLiteral("lb") << fileName, false); +} + +ProcessArgs NonFreeUnrarFlavour::processOpenArchiveArgs(const QString &fileName, const QString &path) const +{ + return ProcessArgs(QStringList() << QStringLiteral("e") << fileName << path + QLatin1Char('/'), false); +} + +FreeUnrarFlavour::FreeUnrarFlavour() + : UnrarFlavour() +{ +} + +QStringList FreeUnrarFlavour::processListing(const QStringList &data) +{ + static const QRegularExpression re(QStringLiteral("^ ([^/]+/([^\\s]+))$")); + + QStringList newdata; + for (const QString &line : data) { + QRegularExpressionMatch match = re.match(line); + if (match.hasMatch()) { + newdata.append(match.captured(1)); + } + } + return newdata; +} + +QString FreeUnrarFlavour::name() const +{ + return QStringLiteral("unrar-free"); +} + +ProcessArgs FreeUnrarFlavour::processListArgs(const QString &) const +{ + return ProcessArgs(); +} + +ProcessArgs FreeUnrarFlavour::processOpenArchiveArgs(const QString &, const QString &) const +{ + return ProcessArgs(); +} + +UnarFlavour::UnarFlavour() + : UnrarFlavour() +{ +} + +QStringList UnarFlavour::processListing(const QStringList &data) +{ + QStringList newdata = data; + + newdata.removeFirst(); + + return newdata; +} + +QString UnarFlavour::name() const +{ + return QStringLiteral("unar"); +} + +ProcessArgs UnarFlavour::processListArgs(const QString &fileName) const +{ + return ProcessArgs(QStringList() << fileName, true); +} + +ProcessArgs UnarFlavour::processOpenArchiveArgs(const QString &fileName, const QString &path) const +{ + return ProcessArgs(QStringList() << fileName << QStringLiteral("-o") << path + QLatin1Char('/'), false); +} diff --git a/generators/comicbook/unrarflavours.h b/generators/comicbook/unrarflavours.h new file mode 100644 index 0000000..4024205 --- /dev/null +++ b/generators/comicbook/unrarflavours.h @@ -0,0 +1,82 @@ +/* + SPDX-FileCopyrightText: 2007 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef UNRARFLAVOURS_H +#define UNRARFLAVOURS_H + +#include +#include + +struct ProcessArgs { + ProcessArgs(); + ProcessArgs(const QStringList &appArgs, bool useLsar); + + QStringList appArgs; + bool useLsar; +}; + +class UnrarFlavour +{ +public: + virtual ~UnrarFlavour(); + + UnrarFlavour(const UnrarFlavour &) = delete; + UnrarFlavour &operator=(const UnrarFlavour &) = delete; + + virtual QStringList processListing(const QStringList &data) = 0; + virtual QString name() const = 0; + + virtual ProcessArgs processListArgs(const QString &fileName) const = 0; + virtual ProcessArgs processOpenArchiveArgs(const QString &fileName, const QString &path) const = 0; + + void setFileName(const QString &fileName); + +protected: + UnrarFlavour(); + + QString fileName() const; + +private: + QString mFileName; +}; + +class NonFreeUnrarFlavour : public UnrarFlavour +{ +public: + NonFreeUnrarFlavour(); + + QStringList processListing(const QStringList &data) override; + QString name() const override; + + ProcessArgs processListArgs(const QString &fileName) const override; + ProcessArgs processOpenArchiveArgs(const QString &fileName, const QString &path) const override; +}; + +class FreeUnrarFlavour : public UnrarFlavour +{ +public: + FreeUnrarFlavour(); + + QStringList processListing(const QStringList &data) override; + QString name() const override; + + ProcessArgs processListArgs(const QString &fileName) const override; + ProcessArgs processOpenArchiveArgs(const QString &fileName, const QString &path) const override; +}; + +class UnarFlavour : public UnrarFlavour +{ +public: + UnarFlavour(); + + QStringList processListing(const QStringList &data) override; + QString name() const override; + + ProcessArgs processListArgs(const QString &fileName) const override; + ProcessArgs processOpenArchiveArgs(const QString &fileName, const QString &path) const override; +}; + +#endif diff --git a/generators/djvu/CMakeLists.txt b/generators/djvu/CMakeLists.txt new file mode 100644 index 0000000..ec6020c --- /dev/null +++ b/generators/djvu/CMakeLists.txt @@ -0,0 +1,25 @@ +remove_definitions(-DTRANSLATION_DOMAIN="okular") +add_definitions(-DTRANSLATION_DOMAIN="okular_djvu") + +########### next target ############### + +set(okularGenerator_djvu_SRCS + generator_djvu.cpp + kdjvu.cpp +) + + +okular_add_generator(okularGenerator_djvu ${okularGenerator_djvu_SRCS}) + +target_include_directories(okularGenerator_djvu PRIVATE ${DJVULIBRE_INCLUDE_DIR}) +target_link_libraries(okularGenerator_djvu okularcore ${DJVULIBRE_LIBRARY} KF6::I18n) + +########### install files ############### +if (BUILD_DESKTOP) + install( PROGRAMS okularApplication_djvu.desktop DESTINATION ${KDE_INSTALL_APPDIR} ) +endif() +if (BUILD_MOBILE) + install( PROGRAMS org.kde.mobile.okular_djvu.desktop DESTINATION ${KDE_INSTALL_APPDIR} ) +endif() +install( FILES org.kde.okular-djvu.metainfo.xml DESTINATION ${KDE_INSTALL_METAINFODIR} ) + diff --git a/generators/djvu/Messages.sh b/generators/djvu/Messages.sh new file mode 100644 index 0000000..195b109 --- /dev/null +++ b/generators/djvu/Messages.sh @@ -0,0 +1,2 @@ +#!/bin/sh +$XGETTEXT $(find . -name "*.cpp" -o -name "*.h") -o $podir/okular_djvu.pot diff --git a/generators/djvu/TODO b/generators/djvu/TODO new file mode 100644 index 0000000..e2d396b --- /dev/null +++ b/generators/djvu/TODO @@ -0,0 +1,10 @@ +KDjVu: +* Fix the cache handling to behave sanely in 90 and 170 degrees rotation +* Implement the threaded generation (the API is already ok) +* Annotations: + - Read the missing properties, if possible + - The default font size is quite small compared to the usual DjVu page sizes, + what to do for this? +* Read the metadata in the document (like year, booktitle, editor, author, etc) + stored as annotations + diff --git a/generators/djvu/generator_djvu.cpp b/generators/djvu/generator_djvu.cpp new file mode 100644 index 0000000..70351d6 --- /dev/null +++ b/generators/djvu/generator_djvu.cpp @@ -0,0 +1,403 @@ +/* + SPDX-FileCopyrightText: 2006 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "generator_djvu.h" + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +static void recurseCreateTOC(QDomDocument &maindoc, const QDomNode &parent, QDomNode &parentDestination, KDjVu *djvu) +{ + QDomNode n = parent.firstChild(); + while (!n.isNull()) { + QDomElement el = n.toElement(); + + QDomElement newel = maindoc.createElement(el.attribute(QStringLiteral("title"))); + parentDestination.appendChild(newel); + + QString dest; + if (!(dest = el.attribute(QStringLiteral("PageNumber"))).isEmpty()) { + Okular::DocumentViewport vp; + vp.pageNumber = dest.toInt() - 1; + newel.setAttribute(QStringLiteral("Viewport"), vp.toString()); + } else if (!(dest = el.attribute(QStringLiteral("PageName"))).isEmpty()) { + Okular::DocumentViewport vp; + vp.pageNumber = djvu->pageNumber(dest); + newel.setAttribute(QStringLiteral("Viewport"), vp.toString()); + } else if (!(dest = el.attribute(QStringLiteral("URL"))).isEmpty()) { + newel.setAttribute(QStringLiteral("URL"), dest); + } + + if (el.hasChildNodes()) { + recurseCreateTOC(maindoc, n, newel, djvu); + } + n = n.nextSibling(); + } +} + +OKULAR_EXPORT_PLUGIN(DjVuGenerator, "libokularGenerator_djvu.json") + +DjVuGenerator::DjVuGenerator(QObject *parent, const QVariantList &args) + : Okular::Generator(parent, args) + , m_docSyn(nullptr) +{ + setFeature(TextExtraction); + setFeature(Threaded); + setFeature(PrintPostscript); + if (Okular::FilePrinter::ps2pdfAvailable()) { + setFeature(PrintToFile); + } + + m_djvu = new KDjVu(); + m_djvu->setCacheEnabled(false); +} + +DjVuGenerator::~DjVuGenerator() +{ + delete m_djvu; +} + +bool DjVuGenerator::loadDocument(const QString &fileName, QList &pagesVector) +{ + QMutexLocker locker(userMutex()); + if (!m_djvu->openFile(fileName)) { + return false; + } + + locker.unlock(); + + loadPages(pagesVector, 0); + + return true; +} + +bool DjVuGenerator::doCloseDocument() +{ + userMutex()->lock(); + m_djvu->closeFile(); + userMutex()->unlock(); + + delete m_docSyn; + m_docSyn = nullptr; + + return true; +} + +QImage DjVuGenerator::image(Okular::PixmapRequest *request) +{ + userMutex()->lock(); + QImage img = m_djvu->image(request->pageNumber(), request->width(), request->height(), request->page()->rotation()); + userMutex()->unlock(); + return img; +} + +Okular::DocumentInfo DjVuGenerator::generateDocumentInfo(const QSet &keys) const +{ + Okular::DocumentInfo docInfo; + + if (keys.contains(Okular::DocumentInfo::MimeType)) { + docInfo.set(Okular::DocumentInfo::MimeType, QStringLiteral("image/vnd.djvu")); + } + + if (m_djvu) { + // compile internal structure reading properties from KDjVu + if (keys.contains(Okular::DocumentInfo::Author)) { + docInfo.set(Okular::DocumentInfo::Title, m_djvu->metaData(QStringLiteral("title")).toString()); + } + if (keys.contains(Okular::DocumentInfo::Author)) { + docInfo.set(Okular::DocumentInfo::Author, m_djvu->metaData(QStringLiteral("author")).toString()); + } + if (keys.contains(Okular::DocumentInfo::CreationDate)) { + docInfo.set(Okular::DocumentInfo::CreationDate, m_djvu->metaData(QStringLiteral("year")).toString()); + } + if (keys.contains(Okular::DocumentInfo::CustomKeys)) { + docInfo.set(QStringLiteral("editor"), m_djvu->metaData(QStringLiteral("editor")).toString(), i18n("Editor")); + docInfo.set(QStringLiteral("publisher"), m_djvu->metaData(QStringLiteral("publisher")).toString(), i18n("Publisher")); + docInfo.set(QStringLiteral("volume"), m_djvu->metaData(QStringLiteral("volume")).toString(), i18n("Volume")); + docInfo.set(QStringLiteral("documentType"), m_djvu->metaData(QStringLiteral("documentType")).toString(), i18n("Type of document")); + QVariant numcomponents = m_djvu->metaData(QStringLiteral("componentFile")); + docInfo.set(QStringLiteral("componentFile"), numcomponents.metaType().id() != QMetaType::Int ? i18nc("Unknown number of component files", "Unknown") : numcomponents.toString(), i18n("Component Files")); + } + } + + return docInfo; +} + +const Okular::DocumentSynopsis *DjVuGenerator::generateDocumentSynopsis() +{ + QMutexLocker locker(userMutex()); + if (m_docSyn) { + return m_docSyn; + } + + const QDomDocument *doc = m_djvu->documentBookmarks(); + if (doc) { + m_docSyn = new Okular::DocumentSynopsis(); + recurseCreateTOC(*m_docSyn, *doc, *m_docSyn, m_djvu); + } + locker.unlock(); + + return m_docSyn; +} + +Okular::Document::PrintError DjVuGenerator::print(QPrinter &printer) +{ + // Create tempfile to write to + QTemporaryFile tf(QDir::tempPath() + QLatin1String("/okular_XXXXXX.ps")); + if (!tf.open()) { + return Okular::Document::TemporaryFileOpenPrintError; + } + const QString fileName = tf.fileName(); + + QMutexLocker locker(userMutex()); + QList pageList = Okular::FilePrinter::pageList(printer, m_djvu->pages().count(), document()->currentPage() + 1, document()->bookmarkedPageList()); + + if (m_djvu->exportAsPostScript(&tf, pageList)) { + tf.setAutoRemove(false); + tf.close(); + return Okular::FilePrinter::printFile(printer, fileName, document()->orientation(), Okular::FilePrinter::SystemDeletesFiles, Okular::FilePrinter::ApplicationSelectsPages, document()->bookmarkedPageRange()); + } + + return Okular::Document::UnknownPrintError; +} + +QVariant DjVuGenerator::metaData(const QString &key, const QVariant &option) const +{ + Q_UNUSED(option) + if (key == QLatin1String("DocumentTitle")) { + return m_djvu->metaData(QStringLiteral("title")); + } + return QVariant(); +} + +Okular::TextPage *DjVuGenerator::textPage(Okular::TextRequest *request) +{ + userMutex()->lock(); + const Okular::Page *page = request->page(); + QList te = m_djvu->textEntities(page->number(), QStringLiteral("word")); + if (te.isEmpty()) { + te = m_djvu->textEntities(page->number(), QStringLiteral("line")); + } + userMutex()->unlock(); + QList::ConstIterator it = te.constBegin(); + QList::ConstIterator itEnd = te.constEnd(); + QList words; + const KDjVu::Page &djvupage = m_djvu->pages().at(page->number()); + for (; it != itEnd; ++it) { + const KDjVu::TextEntity &cur = *it; + words.append(Okular::TextEntity(cur.text(), Okular::NormalizedRect(cur.rect(), djvupage.width(), djvupage.height()))); + } + Okular::TextPage *textpage = new Okular::TextPage(words); + return textpage; +} + +void DjVuGenerator::loadPages(QList &pagesVector, int rotation) +{ + const QList &djvu_pages = m_djvu->pages(); + int numofpages = djvu_pages.count(); + pagesVector.resize(numofpages); + + for (int i = 0; i < numofpages; ++i) { + const KDjVu::Page &p = djvu_pages.at(i); + if (pagesVector[i]) { + delete pagesVector[i]; + } + int w = p.width(); + int h = p.height(); + if (rotation % 2 == 1) { + std::swap(w, h); + } + Okular::Page *page = new Okular::Page(i, w, h, (Okular::Rotation)(p.orientation() + rotation)); + pagesVector[i] = page; + + QList annots; + QList links; + userMutex()->lock(); + m_djvu->linksAndAnnotationsForPage(i, &links, &annots); + userMutex()->unlock(); + if (!links.isEmpty()) { + QList rects; + QList::ConstIterator it = links.constBegin(); + QList::ConstIterator itEnd = links.constEnd(); + for (; it != itEnd; ++it) { + KDjVu::Link *curlink = (*it); + Okular::ObjectRect *newrect = convertKDjVuLink(i, curlink); + if (newrect) { + rects.append(newrect); + } + // delete the links as soon as we process them + delete curlink; + } + if (rects.count() > 0) { + page->setObjectRects(rects); + } + } + if (!annots.isEmpty()) { + QList::ConstIterator it = annots.constBegin(); + QList::ConstIterator itEnd = annots.constEnd(); + for (; it != itEnd; ++it) { + KDjVu::Annotation *ann = (*it); + Okular::Annotation *newann = convertKDjVuAnnotation(w, h, ann); + if (newann) { + page->addAnnotation(newann); + } + // delete the annotations as soon as we process them + delete ann; + } + } + } +} + +Okular::ObjectRect *DjVuGenerator::convertKDjVuLink(int page, KDjVu::Link *link) const +{ + Okular::Action *newlink = nullptr; + Okular::ObjectRect *newrect = nullptr; + switch (link->type()) { + case KDjVu::Link::PageLink: { + const KDjVu::PageLink *l = static_cast(link); + bool ok = true; + QString target = l->page(); + if ((target.length() > 0) && target.at(0) == QLatin1Char('#')) { + target.remove(0, 1); + } + int tmppage = target.toInt(&ok); + if (ok || target.isEmpty()) { + Okular::DocumentViewport vp; + if (!target.isEmpty()) { + vp.pageNumber = (target.at(0) == QLatin1Char('+') || target.at(0) == QLatin1Char('-')) ? page + tmppage : tmppage - 1; + } + newlink = new Okular::GotoAction(QString(), vp); + } + break; + } + case KDjVu::Link::UrlLink: { + const KDjVu::UrlLink *l = static_cast(link); + QString url = l->url(); + newlink = new Okular::BrowseAction(QUrl(url)); + break; + } + } + if (newlink) { + const KDjVu::Page &p = m_djvu->pages().at(page); + int width = p.width(); + int height = p.height(); + bool scape_orientation = false; // hack by tokoe, should always create default page + if (scape_orientation) { /* cppcheck-suppress knownConditionTrueFalse*/ + std::swap(width, height); + } + switch (link->areaType()) { + case KDjVu::Link::RectArea: + case KDjVu::Link::EllipseArea: { + QRect r(QPoint(link->point().x(), p.height() - link->point().y() - link->size().height()), link->size()); + bool ellipse = (link->areaType() == KDjVu::Link::EllipseArea); + newrect = new Okular::ObjectRect(Okular::NormalizedRect(Okular::Utils::rotateRect(r, width, height, 0), width, height), ellipse, Okular::ObjectRect::Action, newlink); + break; + } + case KDjVu::Link::PolygonArea: { + QPolygon poly = link->polygon(); + QPolygonF newpoly; + for (int i = 0; i < poly.count(); ++i) { + int x = poly.at(i).x(); + int y = poly.at(i).y(); + if (scape_orientation) { + std::swap(x, y); + } else { + y = height - y; + } + newpoly << QPointF((double)(x) / width, (double)(y) / height); + } + if (!newpoly.isEmpty()) { + newpoly << newpoly.first(); + newrect = new Okular::ObjectRect(newpoly, Okular::ObjectRect::Action, newlink); + } + break; + } + default:; + } + if (!newrect) { + delete newlink; + } + } + return newrect; +} + +Okular::Annotation *DjVuGenerator::convertKDjVuAnnotation(int w, int h, KDjVu::Annotation *ann) const +{ + Okular::Annotation *newann = nullptr; + switch (ann->type()) { + case KDjVu::Annotation::TextAnnotation: { + KDjVu::TextAnnotation *txtann = static_cast(ann); + Okular::TextAnnotation *newtxtann = new Okular::TextAnnotation(); + // boundary + QRect rect(QPoint(txtann->point().x(), h - txtann->point().y() - txtann->size().height()), txtann->size()); + newtxtann->setBoundingRectangle(Okular::NormalizedRect(Okular::Utils::rotateRect(rect, w, h, 0), w, h)); + // type + newtxtann->setTextType(txtann->inlineText() ? Okular::TextAnnotation::InPlace : Okular::TextAnnotation::Linked); + newtxtann->style().setOpacity(txtann->color().alphaF()); + // FIXME remove once the annotation text handling is fixed + newtxtann->setContents(ann->comment()); + newann = newtxtann; + break; + } + case KDjVu::Annotation::LineAnnotation: { + const KDjVu::LineAnnotation *lineann = static_cast(ann); + Okular::LineAnnotation *newlineann = new Okular::LineAnnotation(); + // boundary + QPoint a(lineann->point().x(), h - lineann->point().y()); + QPoint b(lineann->point2().x(), h - lineann->point2().y()); + QRect rect = QRect(a, b).normalized(); + newlineann->setBoundingRectangle(Okular::NormalizedRect(Okular::Utils::rotateRect(rect, w, h, 0), w, h)); + // line points + QList points; + points.append(Okular::NormalizedPoint(a.x(), a.y(), w, h)); + points.append(Okular::NormalizedPoint(b.x(), b.y(), w, h)); + newlineann->setLinePoints(points); + // arrow? + if (lineann->isArrow()) { + newlineann->setLineEndStyle(Okular::LineAnnotation::OpenArrow); + } + // width + newlineann->style().setWidth(lineann->width()); + newann = newlineann; + break; + } + } + if (newann) { + // setting the common parameters + newann->style().setColor(ann->color()); + newann->setContents(ann->comment()); + // creating an id as name for the annotation + QString uid = QUuid::createUuid().toString(); + uid.remove(0, 1); + uid.chop(1); + uid.remove(QLatin1Char('-')); + newann->setUniqueName(uid); + // is external + newann->setFlags(newann->flags() | Okular::Annotation::External); + } + return newann; +} + +#include "generator_djvu.moc" diff --git a/generators/djvu/generator_djvu.h b/generators/djvu/generator_djvu.h new file mode 100644 index 0000000..9f82d9b --- /dev/null +++ b/generators/djvu/generator_djvu.h @@ -0,0 +1,56 @@ +/* + SPDX-FileCopyrightText: 2006 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _GENERATOR_DJVU_H_ +#define _GENERATOR_DJVU_H_ + +#include + +#include + +#include "kdjvu.h" + +namespace Okular +{ +class Annotation; +class ObjectRect; +} + +class DjVuGenerator : public Okular::Generator +{ + Q_OBJECT + Q_INTERFACES(Okular::Generator) +public: + DjVuGenerator(QObject *parent, const QVariantList &args); + ~DjVuGenerator() override; + bool loadDocument(const QString &fileName, QList &pagesVector) override; + + // document information + Okular::DocumentInfo generateDocumentInfo(const QSet &keys) const override; + const Okular::DocumentSynopsis *generateDocumentSynopsis() override; + + // printing + Okular::Document::PrintError print(QPrinter &printer) override; + + QVariant metaData(const QString &key, const QVariant &option) const override; + +protected: + bool doCloseDocument() override; + // pixmap generation + QImage image(Okular::PixmapRequest *request) override; + Okular::TextPage *textPage(Okular::TextRequest *request) override; + +private: + void loadPages(QList &pagesVector, int rotation); + Okular::ObjectRect *convertKDjVuLink(int page, KDjVu::Link *link) const; + Okular::Annotation *convertKDjVuAnnotation(int w, int h, KDjVu::Annotation *ann) const; + + KDjVu *m_djvu; + + Okular::DocumentSynopsis *m_docSyn; +}; + +#endif diff --git a/generators/djvu/kdjvu.cpp b/generators/djvu/kdjvu.cpp new file mode 100644 index 0000000..acc06e2 --- /dev/null +++ b/generators/djvu/kdjvu.cpp @@ -0,0 +1,1090 @@ +/* + SPDX-FileCopyrightText: 2006 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "kdjvu.h" + +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include +#include + +#include + +QDebug &operator<<(QDebug &s, const ddjvu_rect_t r) +{ + s.nospace() << "[" << r.x << "," << r.y << " - " << r.w << "x" << r.h << "]"; + return s.space(); +} + +static void which_ddjvu_message(const ddjvu_message_t *msg) +{ +#ifdef KDJVU_DEBUG + qDebug() << "which_djvu_message(...):" << msg->m_any.tag; + switch (msg->m_any.tag) { + case DDJVU_ERROR: + qDebug().nospace() << "ERROR: file " << msg->m_error.filename << ", line " << msg->m_error.lineno; + qDebug().nospace() << "ERROR: function '" << msg->m_error.function << "'"; + qDebug().nospace() << "ERROR: '" << msg->m_error.message << "'"; + break; + case DDJVU_INFO: + qDebug().nospace() << "INFO: '" << msg->m_info.message << "'"; + break; + case DDJVU_CHUNK: + qDebug().nospace() << "CHUNK: '" << QByteArray(msg->m_chunk.chunkid) << "'"; + break; + case DDJVU_PROGRESS: + qDebug().nospace() << "PROGRESS: '" << msg->m_progress.percent << "'"; + break; + default:; + } +#else + Q_UNUSED(msg); +#endif +} + +/** + * Explore the message queue until there are message left in it. + */ +static void handle_ddjvu_messages(ddjvu_context_t *ctx, int wait) +{ + const ddjvu_message_t *msg; + if (wait) { + ddjvu_message_wait(ctx); + } + while ((msg = ddjvu_message_peek(ctx))) { + which_ddjvu_message(msg); + ddjvu_message_pop(ctx); + } +} + +/** + * Explore the message queue until the message \p mid is found. + */ +static void wait_for_ddjvu_message(ddjvu_context_t *ctx, ddjvu_message_tag_t mid) +{ + ddjvu_message_wait(ctx); + const ddjvu_message_t *msg; + while ((msg = ddjvu_message_peek(ctx)) && msg && (msg->m_any.tag != mid)) { + which_ddjvu_message(msg); + ddjvu_message_pop(ctx); + } +} + +/** + * Convert a clockwise coefficient \p r for a rotation to a counter-clockwise + * and vice versa. + */ +static int flipRotation(int r) +{ + return (4 - r) % 4; +} + +static miniexp_t find_second_in_pair(miniexp_t theexp, const char *which) +{ + miniexp_t exp = theexp; + while (exp) { + miniexp_t cur = miniexp_car(exp); + if (!miniexp_consp(cur) || !miniexp_symbolp(miniexp_car(cur))) { + exp = miniexp_cdr(exp); + continue; + } + + const QString id = QString::fromUtf8(miniexp_to_name(miniexp_car(cur))); + if (id == QLatin1String(which)) { + return miniexp_cadr(cur); + } + exp = miniexp_cdr(exp); + } + return miniexp_nil; +} + +static bool find_replace_or_add_second_in_pair(miniexp_t theexp, const char *which, miniexp_t replacement) +{ + miniexp_t exp = miniexp_cdddr(theexp); + while (exp) { + miniexp_t cur = miniexp_car(exp); + if (!miniexp_consp(cur) || !miniexp_symbolp(miniexp_car(cur))) { + exp = miniexp_cdr(exp); + continue; + } + + const QString id = QString::fromUtf8(miniexp_to_name(miniexp_car(cur))); + if (id == QLatin1String(which)) { + miniexp_t reversed = miniexp_reverse(cur); + miniexp_rplaca(reversed, replacement); + miniexp_reverse(reversed); + return true; + } + exp = miniexp_cdr(exp); + } + // TODO add the new replacement ad the end of the list + return false; +} + +// ImageCacheItem + +class ImageCacheItem +{ +public: + ImageCacheItem(int p, int w, int h, const QImage &i) + : page(p) + , width(w) + , height(h) + , img(i) + { + } + + int page; + int width; + int height; + QImage img; +}; + +// KdjVu::Page + +int KDjVu::Page::width() const +{ + return m_width; +} + +int KDjVu::Page::height() const +{ + return m_height; +} + +int KDjVu::Page::dpi() const +{ + return m_dpi; +} + +int KDjVu::Page::orientation() const +{ + return m_orientation; +} + +// KDjVu::Link + +KDjVu::Link::~Link() +{ +} + +KDjVu::Link::LinkArea KDjVu::Link::areaType() const +{ + return m_area; +} + +QPoint KDjVu::Link::point() const +{ + return m_point; +} + +QSize KDjVu::Link::size() const +{ + return m_size; +} + +QPolygon KDjVu::Link::polygon() const +{ + return m_poly; +} + +// KDjVu::PageLink + +KDjVu::PageLink::PageLink() +{ +} + +int KDjVu::PageLink::type() const +{ + return KDjVu::Link::PageLink; +} + +QString KDjVu::PageLink::page() const +{ + return m_page; +} + +// KDjVu::UrlLink + +KDjVu::UrlLink::UrlLink() +{ +} + +int KDjVu::UrlLink::type() const +{ + return KDjVu::Link::UrlLink; +} + +QString KDjVu::UrlLink::url() const +{ + return m_url; +} + +// KDjVu::Annotation + +KDjVu::Annotation::Annotation(miniexp_t anno) + : m_anno(anno) +{ +} + +KDjVu::Annotation::~Annotation() +{ +} + +QPoint KDjVu::Annotation::point() const +{ + miniexp_t area = miniexp_nth(3, m_anno); + int a = miniexp_to_int(miniexp_nth(1, area)); + int b = miniexp_to_int(miniexp_nth(2, area)); + return QPoint(a, b); +} + +QString KDjVu::Annotation::comment() const +{ + return QString::fromUtf8(miniexp_to_str(miniexp_nth(2, m_anno))); +} + +void KDjVu::Annotation::setComment(const QString &comment) +{ + miniexp_t exp = m_anno; + exp = miniexp_cdr(exp); + exp = miniexp_cdr(exp); + miniexp_rplaca(exp, miniexp_string(comment.toUtf8().constData())); +} + +QColor KDjVu::Annotation::color() const +{ + return QColor(); +} + +void KDjVu::Annotation::setColor(const QColor &) +{ +} + +// KDjVu::TextAnnotation + +KDjVu::TextAnnotation::TextAnnotation(miniexp_t anno) + : Annotation(anno) + , m_inlineText(true) +{ + const int num = miniexp_length(m_anno); + for (int j = 4; j < num; ++j) { + miniexp_t curelem = miniexp_nth(j, m_anno); + if (!miniexp_listp(curelem)) { + continue; + } + + QString id = QString::fromUtf8(miniexp_to_name(miniexp_nth(0, curelem))); + if (id == QLatin1String("pushpin")) { + m_inlineText = false; + } + } +} + +QSize KDjVu::TextAnnotation::size() const +{ + miniexp_t area = miniexp_nth(3, m_anno); + int w = miniexp_to_int(miniexp_nth(3, area)); + int h = miniexp_to_int(miniexp_nth(4, area)); + return QSize(w, h); +} + +int KDjVu::TextAnnotation::type() const +{ + return KDjVu::Annotation::TextAnnotation; +} + +QColor KDjVu::TextAnnotation::color() const +{ + miniexp_t col = find_second_in_pair(m_anno, "backclr"); + if (!miniexp_symbolp(col)) { + return Qt::transparent; + } + + return QColor(QString::fromUtf8(miniexp_to_name(col))); +} + +void KDjVu::TextAnnotation::setColor(const QColor &color) +{ + const QByteArray col = color.name().toLatin1(); + find_replace_or_add_second_in_pair(m_anno, "backclr", miniexp_symbol(col.constData())); +} + +bool KDjVu::TextAnnotation::inlineText() const +{ + return m_inlineText; +} + +// KDjVu::LineAnnotation + +KDjVu::LineAnnotation::LineAnnotation(miniexp_t anno) + : Annotation(anno) + , m_isArrow(false) + , m_width(miniexp_nil) +{ + const int num = miniexp_length(m_anno); + for (int j = 4; j < num; ++j) { + miniexp_t curelem = miniexp_nth(j, m_anno); + if (!miniexp_listp(curelem)) { + continue; + } + + QString id = QString::fromUtf8(miniexp_to_name(miniexp_nth(0, curelem))); + if (id == QLatin1String("arrow")) { + m_isArrow = true; + } else if (id == QLatin1String("width")) { + m_width = curelem; + } + } +} + +int KDjVu::LineAnnotation::type() const +{ + return KDjVu::Annotation::LineAnnotation; +} + +QColor KDjVu::LineAnnotation::color() const +{ + miniexp_t col = find_second_in_pair(m_anno, "lineclr"); + if (!miniexp_symbolp(col)) { + return Qt::black; + } + + return QColor(QString::fromUtf8(miniexp_to_name(col))); +} + +void KDjVu::LineAnnotation::setColor(const QColor &color) +{ + const QByteArray col = color.name().toLatin1(); + find_replace_or_add_second_in_pair(m_anno, "lineclr", miniexp_symbol(col.constData())); +} + +QPoint KDjVu::LineAnnotation::point2() const +{ + miniexp_t area = miniexp_nth(3, m_anno); + int x = miniexp_to_int(miniexp_nth(3, area)); + int y = miniexp_to_int(miniexp_nth(4, area)); + return QPoint(x, y); +} + +bool KDjVu::LineAnnotation::isArrow() const +{ + return m_isArrow; +} + +int KDjVu::LineAnnotation::width() const +{ + if (m_width == miniexp_nil) { + return 1; + } + + return miniexp_to_int(miniexp_cadr(m_width)); +} + +void KDjVu::LineAnnotation::setWidth(int width) +{ + find_replace_or_add_second_in_pair(m_anno, "width", miniexp_number(width)); +} + +// KDjVu::TextEntity + +KDjVu::TextEntity::TextEntity() +{ +} + +KDjVu::TextEntity::~TextEntity() +{ +} + +QString KDjVu::TextEntity::text() const +{ + return m_text; +} + +QRect KDjVu::TextEntity::rect() const +{ + return m_rect; +} + +class KDjVu::Private +{ +public: + Private() + : m_djvu_cxt(nullptr) + , m_djvu_document(nullptr) + , m_format(nullptr) + , m_docBookmarks(nullptr) + , m_cacheEnabled(true) + { + } + + QImage generateImageTile(ddjvu_page_t *djvupage, int &res, int width, int row, int xdelta, int height, int col, int ydelta); + + void readBookmarks(); + void fillBookmarksRecurse(QDomDocument &maindoc, QDomNode &curnode, miniexp_t exp, int offset = -1); + + void readMetaData(int page); + + int pageWithName(const QString &name); + + ddjvu_context_t *m_djvu_cxt; + ddjvu_document_t *m_djvu_document; + ddjvu_format_t *m_format; + + QList m_pages; + QList m_pages_cache; + + QList mImgCache; + + QHash m_metaData; + QDomDocument *m_docBookmarks; + + QHash m_pageNamesCache; + + bool m_cacheEnabled; + + static unsigned int s_formatmask[4]; +}; + +unsigned int KDjVu::Private::s_formatmask[4] = {0x00ff0000, 0x0000ff00, 0x000000ff, 0xff000000}; + +QImage KDjVu::Private::generateImageTile(ddjvu_page_t *djvupage, int &res, int width, int row, int xdelta, int height, int col, int ydelta) +{ + ddjvu_rect_t renderrect; + renderrect.x = row * xdelta; + renderrect.y = col * ydelta; + int realwidth = qMin(width - renderrect.x, xdelta); + int realheight = qMin(height - renderrect.y, ydelta); + renderrect.w = realwidth; + renderrect.h = realheight; +#ifdef KDJVU_DEBUG + qDebug() << "renderrect:" << renderrect; +#endif + ddjvu_rect_t pagerect; + pagerect.x = 0; + pagerect.y = 0; + pagerect.w = width; + pagerect.h = height; +#ifdef KDJVU_DEBUG + qDebug() << "pagerect:" << pagerect; +#endif + handle_ddjvu_messages(m_djvu_cxt, false); + QImage res_img(realwidth, realheight, QImage::Format_RGB32); + // the following line workarounds a rare crash in djvulibre; + // it should be fixed with >= 3.5.21 + ddjvu_page_get_width(djvupage); + res = ddjvu_page_render(djvupage, DDJVU_RENDER_COLOR, &pagerect, &renderrect, m_format, res_img.bytesPerLine(), reinterpret_cast(res_img.bits())); + if (!res) { + res_img.fill(Qt::white); + } +#ifdef KDJVU_DEBUG + qDebug() << "rendering result:" << res; +#endif + handle_ddjvu_messages(m_djvu_cxt, false); + + return res_img; +} + +void KDjVu::Private::readBookmarks() +{ + if (!m_djvu_document) { + return; + } + + miniexp_t outline; + while ((outline = ddjvu_document_get_outline(m_djvu_document)) == miniexp_dummy) { + handle_ddjvu_messages(m_djvu_cxt, true); + } + + if (miniexp_listp(outline) && (miniexp_length(outline) > 0) && miniexp_symbolp(miniexp_nth(0, outline)) && (QString::fromUtf8(miniexp_to_name(miniexp_nth(0, outline))) == QLatin1String("bookmarks"))) { + m_docBookmarks = new QDomDocument(QStringLiteral("KDjVuBookmarks")); + fillBookmarksRecurse(*m_docBookmarks, *m_docBookmarks, outline, 1); + ddjvu_miniexp_release(m_djvu_document, outline); + } +} + +void KDjVu::Private::fillBookmarksRecurse(QDomDocument &maindoc, QDomNode &curnode, miniexp_t exp, int offset) +{ + if (!miniexp_listp(exp)) { + return; + } + + int l = miniexp_length(exp); + for (int i = qMax(offset, 0); i < l; ++i) { + miniexp_t cur = miniexp_nth(i, exp); + + if (miniexp_consp(cur) && (miniexp_length(cur) > 0) && miniexp_stringp(miniexp_nth(0, cur)) && miniexp_stringp(miniexp_nth(1, cur))) { + QString title = QString::fromUtf8(miniexp_to_str(miniexp_nth(0, cur))); + QString dest = QString::fromUtf8(miniexp_to_str(miniexp_nth(1, cur))); + QDomElement el = maindoc.createElement(QStringLiteral("item")); + el.setAttribute(QStringLiteral("title"), title); + if (!dest.isEmpty()) { + if (dest.at(0) == QLatin1Char('#')) { + dest.remove(0, 1); + bool isNumber = false; + (void)dest.toInt(&isNumber); + if (isNumber) { + // it might be an actual page number, but could also be a page label + // so resolve the number, and get the real page number + int pageNo = pageWithName(dest); + if (pageNo != -1) { + el.setAttribute(QStringLiteral("PageNumber"), QString::number(pageNo + 1)); + } else { + el.setAttribute(QStringLiteral("PageNumber"), dest); + } + } else { + el.setAttribute(QStringLiteral("PageName"), dest); + } + } else { + el.setAttribute(QStringLiteral("URL"), dest); + } + } + curnode.appendChild(el); + if (!el.isNull() && (miniexp_length(cur) > 2)) { + fillBookmarksRecurse(maindoc, el, cur, 2); + } + } + } +} + +void KDjVu::Private::readMetaData(int page) +{ + if (!m_djvu_document) { + return; + } + + miniexp_t annots; + while ((annots = ddjvu_document_get_pageanno(m_djvu_document, page)) == miniexp_dummy) { + handle_ddjvu_messages(m_djvu_cxt, true); + } + + if (!miniexp_listp(annots) || miniexp_length(annots) == 0) { + return; + } + + miniexp_t exp = miniexp_nth(0, annots); + int size = miniexp_length(exp); + if (size <= 1 || qstrncmp(miniexp_to_name(miniexp_nth(0, exp)), "metadata", 8)) { + return; + } + + for (int i = 1; i < size; ++i) { + miniexp_t cur = miniexp_nth(i, exp); + if (miniexp_length(cur) != 2) { + continue; + } + + QString id = QString::fromUtf8(miniexp_to_name(miniexp_nth(0, cur))); + QString value = QString::fromUtf8(miniexp_to_str(miniexp_nth(1, cur))); + m_metaData[id.toLower()] = value; + } +} + +int KDjVu::Private::pageWithName(const QString &name) +{ + const int pageNo = m_pageNamesCache.value(name, -1); + if (pageNo != -1) { + return pageNo; + } + + const QByteArray utfName = name.toUtf8(); + const int fileNum = ddjvu_document_get_filenum(m_djvu_document); + ddjvu_fileinfo_t info; + for (int i = 0; i < fileNum; ++i) { + if (DDJVU_JOB_OK != ddjvu_document_get_fileinfo(m_djvu_document, i, &info)) { + continue; + } + if (info.type != 'P') { + continue; + } + if ((utfName == info.id) || (utfName == info.name) || (utfName == info.title)) { + m_pageNamesCache.insert(name, info.pageno); + return info.pageno; + } + } + return -1; +} + +KDjVu::KDjVu() + : d(new Private) +{ + // creating the djvu context + d->m_djvu_cxt = ddjvu_context_create("KDjVu"); + // creating the rendering format + d->m_format = ddjvu_format_create(DDJVU_FORMAT_RGBMASK32, 4, Private::s_formatmask); + ddjvu_format_set_row_order(d->m_format, 1); + ddjvu_format_set_y_direction(d->m_format, 1); +} + +KDjVu::~KDjVu() +{ + closeFile(); + + ddjvu_format_release(d->m_format); + ddjvu_context_release(d->m_djvu_cxt); + + delete d; +} + +bool KDjVu::openFile(const QString &fileName) +{ + // first, close the old file + if (d->m_djvu_document) { + closeFile(); + } + + // load the document..., use UTF-8 variant to work on Windows, too, see bug 422500 + d->m_djvu_document = ddjvu_document_create_by_filename_utf8(d->m_djvu_cxt, fileName.toUtf8().constData(), true); + if (!d->m_djvu_document) { + return false; + } + // ...and wait for its loading + wait_for_ddjvu_message(d->m_djvu_cxt, DDJVU_DOCINFO); + if (ddjvu_document_decoding_error(d->m_djvu_document)) { + ddjvu_document_release(d->m_djvu_document); + d->m_djvu_document = nullptr; + return false; + } + + qDebug() << "# of pages:" << ddjvu_document_get_pagenum(d->m_djvu_document); + int numofpages = ddjvu_document_get_pagenum(d->m_djvu_document); + d->m_pages.clear(); + d->m_pages.resize(numofpages); + d->m_pages_cache.clear(); + d->m_pages_cache.resize(numofpages); + + // get the document type + QString doctype; + switch (ddjvu_document_get_type(d->m_djvu_document)) { + case DDJVU_DOCTYPE_UNKNOWN: + doctype = i18nc("Type of DjVu document", "Unknown"); + break; + case DDJVU_DOCTYPE_SINGLEPAGE: + doctype = i18nc("Type of DjVu document", "Single Page"); + break; + case DDJVU_DOCTYPE_BUNDLED: + doctype = i18nc("Type of DjVu document", "Bundled"); + break; + case DDJVU_DOCTYPE_INDIRECT: + doctype = i18nc("Type of DjVu document", "Indirect"); + break; + case DDJVU_DOCTYPE_OLD_BUNDLED: + doctype = i18nc("Type of DjVu document", "Bundled (old)"); + break; + case DDJVU_DOCTYPE_OLD_INDEXED: + doctype = i18nc("Type of DjVu document", "Indexed (old)"); + break; + } + if (!doctype.isEmpty()) { + d->m_metaData[QStringLiteral("documentType")] = doctype; + } + // get the number of components + d->m_metaData[QStringLiteral("componentFile")] = ddjvu_document_get_filenum(d->m_djvu_document); + + // read the pages + for (int i = 0; i < numofpages; ++i) { + ddjvu_status_t sts; + ddjvu_pageinfo_t info; + while ((sts = ddjvu_document_get_pageinfo(d->m_djvu_document, i, &info)) < DDJVU_JOB_OK) { + handle_ddjvu_messages(d->m_djvu_cxt, true); + } + if (sts >= DDJVU_JOB_FAILED) { + qDebug().nospace() << "\t>>> page " << i << " failed: " << sts; + return false; + } + + KDjVu::Page p; + p.m_width = info.width; + p.m_height = info.height; + p.m_dpi = info.dpi; + p.m_orientation = flipRotation(info.rotation); + d->m_pages[i] = p; + } + + // reading the metadata from the first page only should be enough + if (numofpages > 0) { + d->readMetaData(0); + } + + return true; +} + +void KDjVu::closeFile() +{ + // deleting the old TOC + delete d->m_docBookmarks; + d->m_docBookmarks = nullptr; + // deleting the pages + d->m_pages.clear(); + // releasing the djvu pages + QList::Iterator it = d->m_pages_cache.begin(), itEnd = d->m_pages_cache.end(); + for (; it != itEnd; ++it) { + ddjvu_page_release(*it); + } + d->m_pages_cache.clear(); + // clearing the image cache + qDeleteAll(d->mImgCache); + d->mImgCache.clear(); + // clearing the old metadata + d->m_metaData.clear(); + // cleaning the page names mapping + d->m_pageNamesCache.clear(); + // releasing the old document + if (d->m_djvu_document) { + ddjvu_document_release(d->m_djvu_document); + } + d->m_djvu_document = nullptr; +} + +QVariant KDjVu::metaData(const QString &key) const +{ + QHash::ConstIterator it = d->m_metaData.constFind(key); + return it != d->m_metaData.constEnd() ? it.value() : QVariant(); +} + +const QDomDocument *KDjVu::documentBookmarks() const +{ + if (!d->m_docBookmarks) { + d->readBookmarks(); + } + return d->m_docBookmarks; +} + +void KDjVu::linksAndAnnotationsForPage(int pageNum, QList *links, QList *annotations) const +{ + if ((pageNum < 0) || (pageNum >= d->m_pages.count()) || (!links && !annotations)) { + return; + } + + miniexp_t annots; + while ((annots = ddjvu_document_get_pageanno(d->m_djvu_document, pageNum)) == miniexp_dummy) { + handle_ddjvu_messages(d->m_djvu_cxt, true); + } + + if (!miniexp_listp(annots)) { + return; + } + + if (links) { + links->clear(); + } + if (annotations) { + annotations->clear(); + } + + int l = miniexp_length(annots); + for (int i = 0; i < l; ++i) { + miniexp_t cur = miniexp_nth(i, annots); + int num = miniexp_length(cur); + if ((num < 4) || !miniexp_symbolp(miniexp_nth(0, cur)) || (qstrncmp(miniexp_to_name(miniexp_nth(0, cur)), "maparea", 7) != 0)) { + continue; + } + + QString target; + QString type; + if (miniexp_symbolp(miniexp_nth(0, miniexp_nth(3, cur)))) { + type = QString::fromUtf8(miniexp_to_name(miniexp_nth(0, miniexp_nth(3, cur)))); + } + KDjVu::Link *link = nullptr; + KDjVu::Annotation *ann = nullptr; + miniexp_t urlexp = miniexp_nth(1, cur); + if (links && (type == QLatin1String("rect") || type == QLatin1String("oval") || type == QLatin1String("poly"))) { + if (miniexp_stringp(urlexp)) { + target = QString::fromUtf8(miniexp_to_str(miniexp_nth(1, cur))); + } else if (miniexp_listp(urlexp) && (miniexp_length(urlexp) == 3) && miniexp_symbolp(miniexp_nth(0, urlexp)) && (qstrncmp(miniexp_to_name(miniexp_nth(0, urlexp)), "url", 3) == 0)) { + target = QString::fromUtf8(miniexp_to_str(miniexp_nth(1, urlexp))); + } + if (target.isEmpty() || ((target.length() > 0) && target.at(0) == QLatin1Char('#'))) { + KDjVu::PageLink *plink = new KDjVu::PageLink(); + plink->m_page = target; + link = plink; + } else { + KDjVu::UrlLink *ulink = new KDjVu::UrlLink(); + ulink->m_url = target; + link = ulink; + } + } else if (annotations && (type == QLatin1String("text") || type == QLatin1String("line"))) { + if (type == QLatin1String("text")) { + KDjVu::TextAnnotation *textann = new KDjVu::TextAnnotation(cur); + ann = textann; + } else if (type == QLatin1String("line")) { + KDjVu::LineAnnotation *lineann = new KDjVu::LineAnnotation(cur); + ann = lineann; + } + } + if (link /* safety check */ && links) { + link->m_area = KDjVu::Link::UnknownArea; + miniexp_t area = miniexp_nth(3, cur); + int arealength = miniexp_length(area); + if ((arealength == 5) && (type == QLatin1String("rect") || type == QLatin1String("oval"))) { + link->m_point = QPoint(miniexp_to_int(miniexp_nth(1, area)), miniexp_to_int(miniexp_nth(2, area))); + link->m_size = QSize(miniexp_to_int(miniexp_nth(3, area)), miniexp_to_int(miniexp_nth(4, area))); + if (type == QLatin1String("rect")) { + link->m_area = KDjVu::Link::RectArea; + } else { + link->m_area = KDjVu::Link::EllipseArea; + } + } else if ((arealength > 0) && (arealength % 2 == 1) && type == QLatin1String("poly")) { + link->m_area = KDjVu::Link::PolygonArea; + QPolygon poly; + for (int j = 1; j < arealength; j += 2) { + poly << QPoint(miniexp_to_int(miniexp_nth(j, area)), miniexp_to_int(miniexp_nth(j + 1, area))); + } + link->m_poly = poly; + } + + if (link->m_area != KDjVu::Link::UnknownArea) { + links->append(link); + } + } else if (ann /* safety check */ && annotations) { + annotations->append(ann); + } + } +} + +const QList &KDjVu::pages() const +{ + return d->m_pages; +} + +QImage KDjVu::image(int page, int width, int height, int rotation) +{ + if (d->m_cacheEnabled) { + bool found = false; + QList::Iterator it = d->mImgCache.begin(), itEnd = d->mImgCache.end(); + for (; (it != itEnd) && !found; ++it) { + const ImageCacheItem *cur = *it; + if ((cur->page == page) && (rotation % 2 == 0 ? cur->width == width && cur->height == height : cur->width == height && cur->height == width)) { + found = true; + } + } + if (found) { + // taking the element and pushing to the top of the list + --it; + ImageCacheItem *cur2 = *it; + d->mImgCache.erase(it); + d->mImgCache.push_front(cur2); + + return cur2->img; + } + } + + if (!d->m_pages_cache.at(page)) { + ddjvu_page_t *newpage = ddjvu_page_create_by_pageno(d->m_djvu_document, page); + // wait for the new page to be loaded + ddjvu_status_t sts; + while ((sts = ddjvu_page_decoding_status(newpage)) < DDJVU_JOB_OK) { + handle_ddjvu_messages(d->m_djvu_cxt, true); + } + d->m_pages_cache[page] = newpage; + } + ddjvu_page_t *djvupage = d->m_pages_cache[page]; + + /* + if ( ddjvu_page_get_rotation( djvupage ) != flipRotation( rotation ) ) + { + // TODO: test documents with initial rotation != 0 + // ddjvu_page_set_rotation( djvupage, m_pages.at( page )->orientation() ); + ddjvu_page_set_rotation( djvupage, (ddjvu_page_rotation_t)flipRotation( rotation ) ); + } + */ + + static const int xdelta = 1500; + static const int ydelta = 1500; + + int xparts = width / xdelta + 1; + int yparts = height / ydelta + 1; + + QImage newimg; + + int res = 10000; + if ((xparts == 1) && (yparts == 1)) { + // only one part -- render at once with no need to auxiliary image + newimg = d->generateImageTile(djvupage, res, width, 0, xdelta, height, 0, ydelta); + } else { + // more than one part -- need to render piece-by-piece and to compose + // the results + newimg = QImage(width, height, QImage::Format_RGB32); + QPainter p; + p.begin(&newimg); + int parts = xparts * yparts; + for (int i = 0; i < parts; ++i) { + const int row = i % xparts; + const int col = i / xparts; + int tmpres = 0; + const QImage tempp = d->generateImageTile(djvupage, tmpres, width, row, xdelta, height, col, ydelta); + p.drawImage(row * xdelta, col * ydelta, tempp); + res = qMin(tmpres, res); + } + p.end(); + } + + if (res && d->m_cacheEnabled) { + // delete all the cached pixmaps for the current page with a size that + // differs no more than 35% of the new pixmap size + int imgsize = newimg.width() * newimg.height(); + if (imgsize > 0) { + for (int i = 0; i < d->mImgCache.count();) { + ImageCacheItem *cur = d->mImgCache.at(i); + if ((cur->page == page) && (abs(cur->img.width() * cur->img.height() - imgsize) < imgsize * 0.35)) { + d->mImgCache.removeAt(i); + delete cur; + } else { + ++i; + } + } + } + + // the image cache has too many elements, remove the last + if (d->mImgCache.size() >= 10) { + delete d->mImgCache.last(); + d->mImgCache.removeLast(); + } + ImageCacheItem *ich = new ImageCacheItem(page, width, height, newimg); + d->mImgCache.push_front(ich); + } + + return newimg; +} + +bool KDjVu::exportAsPostScript(const QString &fileName, const QList &pageList) const +{ + if (!d->m_djvu_document || fileName.trimmed().isEmpty() || pageList.isEmpty()) { + return false; + } + + QFile f(fileName); + if (!f.open(QIODevice::ReadWrite)) { + return false; + } + bool ret = exportAsPostScript(&f, pageList); + if (ret) { + f.close(); + } + return ret; +} + +bool KDjVu::exportAsPostScript(QFile *file, const QList &pageList) const +{ + if (!d->m_djvu_document || !file || pageList.isEmpty()) { + return false; + } + + FILE *f = fdopen(file->handle(), "w+"); + if (!f) { + qDebug() << "error while getting the FILE*"; + return false; + } + + QString pl; + for (const int p : pageList) { + if (!pl.isEmpty()) { + pl += QLatin1String(","); + } + pl += QString::number(p); + } + pl.prepend(QStringLiteral("-page=")); + + // setting the options + static const int optc = 1; + const char *optv[1] = {}; + QByteArray plb = pl.toLatin1(); + optv[0] = plb.constData(); + + ddjvu_job_t *printjob = ddjvu_document_print(d->m_djvu_document, f, optc, optv); + while (!ddjvu_job_done(printjob)) { + handle_ddjvu_messages(d->m_djvu_cxt, true); + } + + return fclose(f) == 0; +} + +QList KDjVu::textEntities(int page, const QString &granularity) const +{ + if ((page < 0) || (page >= d->m_pages.count())) { + return QList(); + } + + miniexp_t r; + while ((r = ddjvu_document_get_pagetext(d->m_djvu_document, page, nullptr)) == miniexp_dummy) { + handle_ddjvu_messages(d->m_djvu_cxt, true); + } + + if (r == miniexp_nil) { + return QList(); + } + + QList ret; + + int height = d->m_pages.at(page).height(); + + QQueue queue; + queue.enqueue(r); + + while (!queue.isEmpty()) { + miniexp_t cur = queue.dequeue(); + + if (miniexp_listp(cur) && (miniexp_length(cur) > 0) && miniexp_symbolp(miniexp_nth(0, cur))) { + int size = miniexp_length(cur); + QString sym = QString::fromUtf8(miniexp_to_name(miniexp_nth(0, cur))); + if (sym == granularity) { + if (size >= 6) { + int xmin = miniexp_to_int(miniexp_nth(1, cur)); + int ymin = miniexp_to_int(miniexp_nth(2, cur)); + int xmax = miniexp_to_int(miniexp_nth(3, cur)); + int ymax = miniexp_to_int(miniexp_nth(4, cur)); + QRect rect(xmin, height - ymax, xmax - xmin, ymax - ymin); + KDjVu::TextEntity entity; + entity.m_rect = rect; + entity.m_text = QString::fromUtf8(miniexp_to_str(miniexp_nth(5, cur))); + ret.append(entity); + } + } else { + for (int i = 5; i < size; ++i) { + queue.enqueue(miniexp_nth(i, cur)); + } + } + } + } + + return ret; +} + +void KDjVu::setCacheEnabled(bool enable) +{ + if (enable == d->m_cacheEnabled) { + return; + } + + d->m_cacheEnabled = enable; + if (!d->m_cacheEnabled) { + qDeleteAll(d->mImgCache); + d->mImgCache.clear(); + } +} + +bool KDjVu::isCacheEnabled() const +{ + return d->m_cacheEnabled; +} + +int KDjVu::pageNumber(const QString &name) const +{ + if (!d->m_djvu_document) { + return -1; + } + + return d->pageWithName(name); +} diff --git a/generators/djvu/kdjvu.h b/generators/djvu/kdjvu.h new file mode 100644 index 0000000..4ab308c --- /dev/null +++ b/generators/djvu/kdjvu.h @@ -0,0 +1,295 @@ +/* + SPDX-FileCopyrightText: 2006 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _KDJVU_ +#define _KDJVU_ + +#include +#include +#include +#include +#include +#include + +class QDomDocument; +class QFile; + +#ifndef MINIEXP_H +typedef struct miniexp_s *miniexp_t; +#endif + +/** + * @brief Qt (KDE) encapsulation of the DjVuLibre + */ +class KDjVu +{ +public: + KDjVu(); + ~KDjVu(); + + KDjVu(const KDjVu &) = delete; + KDjVu &operator=(const KDjVu &) = delete; + + /** + * A DjVu page. + */ + class Page + { + friend class KDjVu; + + public: + int width() const; + int height() const; + int dpi() const; + int orientation() const; + + private: + int m_width = 0; + int m_height = 0; + int m_dpi = 0; + int m_orientation = 0; + }; + + /** + * The base implementation for a DjVu link. + */ + class Link + { + friend class KDjVu; + + public: + Link() = default; + virtual ~Link(); + + Link(const Link &) = delete; + Link &operator=(const Link &) = delete; + + enum LinkType { PageLink, UrlLink }; + enum LinkArea { UnknownArea, RectArea, EllipseArea, PolygonArea }; + virtual int type() const = 0; + LinkArea areaType() const; + QPoint point() const; + QSize size() const; + QPolygon polygon() const; + + private: + LinkArea m_area = UnknownArea; + QPoint m_point; + QSize m_size; + QPolygon m_poly; + }; + + /** + * A link to reach a page of a DjVu document. + */ + class PageLink : public Link + { + friend class KDjVu; + + public: + int type() const override; + QString page() const; + + private: + PageLink(); + QString m_page; + }; + + /** + * A DjVu link to open an external Url. + */ + class UrlLink : public Link + { + friend class KDjVu; + + public: + int type() const override; + QString url() const; + + private: + UrlLink(); + QString m_url; + }; + + /** + * The base implementation for a DjVu annotation. + */ + class Annotation + { + friend class KDjVu; + + public: + virtual ~Annotation(); + + Annotation(const Annotation &) = delete; + Annotation &operator=(const Annotation &) = delete; + + enum AnnotationType { TextAnnotation, LineAnnotation }; + virtual int type() const = 0; + QPoint point() const; + QString comment() const; + void setComment(const QString &comment); + virtual QColor color() const; + virtual void setColor(const QColor &color); + + protected: + explicit Annotation(miniexp_t anno); + + miniexp_t m_anno; + QPoint m_point; + }; + + /** + * A DjVu text annotation. + */ + class TextAnnotation : public Annotation + { + friend class KDjVu; + + public: + int type() const override; + QColor color() const override; + void setColor(const QColor &color) override; + QSize size() const; + bool inlineText() const; + + private: + explicit TextAnnotation(miniexp_t anno); + QSize m_size; + bool m_inlineText; + }; + + /** + * A DjVu line annotation. + */ + class LineAnnotation : public Annotation + { + friend class KDjVu; + + public: + int type() const override; + QColor color() const override; + void setColor(const QColor &color) override; + QPoint point2() const; + bool isArrow() const; + int width() const; + void setWidth(int width); + + private: + explicit LineAnnotation(miniexp_t anno); + QPoint m_point2; + bool m_isArrow; + miniexp_t m_width; + }; + + /** + * A DjVu text entity. + */ + class TextEntity + { + friend class KDjVu; + + public: + ~TextEntity(); + + QString text() const; + QRect rect() const; + + private: + TextEntity(); + + QString m_text; + QRect m_rect; + }; + + /** + * Opens the file \p fileName, closing the old one if necessary. + */ + bool openFile(const QString &fileName); + /** + * Close the file currently opened, if any. + */ + void closeFile(); + + /** + * The pages of the current document, or an empty vector otherwise. + * \return a vector with the pages of the current document + */ + const QList &pages() const; + + /** + * Get the metadata for the specified \p key, or a null variant otherwise. + */ + QVariant metaData(const QString &key) const; + + /** + * Get an XML document with the bookmarks of the current document (if any). + * The XML will look like this: + * \verbatim + * + * + * + * ... + * + * + * \endverbatim + */ + const QDomDocument *documentBookmarks() const; + + /** + * Reads the links and the annotations for the page \p pageNum + * + * For both \p links and \p annotations , you can pass either a valid pointer + * (in case you want to extract that kind of information), or a null pointer + * (if you don't want that information). + */ + void linksAndAnnotationsForPage(int pageNum, QList *links, QList *annotations) const; + + /** + * Check if the image for the specified \p page with the specified + * \p width, \p height and \p rotation is already in cache, and returns + * it. If not, a null image is returned. + */ + QImage image(int page, int width, int height, int rotation); + + /** + * Export the currently open document as PostScript file \p fileName. + * \returns whether the exporting was successful + */ + bool exportAsPostScript(const QString &fileName, const QList &pageList) const; + + /** + * Export the currently open document as PostScript file. + * \returns whether the exporting was successful + */ + bool exportAsPostScript(QFile *file, const QList &pageList) const; + + /** + * Return the list of the text entities for the specified \p page, that matches the + * specified \p granularity. + */ + QList textEntities(int page, const QString &granularity) const; + + /** + * Enable or disable the internal rendered pages cache. + */ + void setCacheEnabled(bool enable); + /** + * \returns whether the internal rendered pages cache is enabled + */ + bool isCacheEnabled() const; + + /** + * Return the page number of the page whose title is \p name. + */ + int pageNumber(const QString &name) const; + +private: + class Private; + Private *const d; +}; + +#endif diff --git a/generators/djvu/libokularGenerator_djvu.json b/generators/djvu/libokularGenerator_djvu.json new file mode 100644 index 0000000..74f6d53 --- /dev/null +++ b/generators/djvu/libokularGenerator_djvu.json @@ -0,0 +1,216 @@ +{ + "KPlugin": { + "Authors": [ + { + "Email": "pino@kde.org", + "Name": "Pino Toscano", + "Name[ar]": "Pino Toscano", + "Name[az]": "Pino Toscano", + "Name[be]": "Pino Toscano", + "Name[bg]": "Pino Toscano", + "Name[ca@valencia]": "Pino Toscano", + "Name[ca]": "Pino Toscano", + "Name[cs]": "Pino Toscano", + "Name[da]": "Pino Toscano", + "Name[de]": "Pino Toscano", + "Name[el]": "Pino Toscano", + "Name[en_GB]": "Pino Toscano", + "Name[eo]": "Pino Toscano", + "Name[es]": "Pino Toscano", + "Name[et]": "Pino Toscano", + "Name[eu]": "Pino Toscano", + "Name[fi]": "Pino Toscano", + "Name[fr]": "Pino Toscano", + "Name[gl]": "Pino Toscano", + "Name[he]": "פינו טוסקנו", + "Name[hu]": "Pino Toscano", + "Name[ia]": "Pino Toscano", + "Name[ie]": "Pino Toscano", + "Name[is]": "Pino Toscano", + "Name[it]": "Pino Toscano", + "Name[ka]": "Pino Toscano", + "Name[ko]": "Pino Toscano", + "Name[lt]": "Pino Toscano", + "Name[lv]": "Pino Toscano", + "Name[nl]": "Pino Toscano", + "Name[nn]": "Pino Toscano", + "Name[pa]": "ਪਿਨੋ ਟਿਸਕਾਨੋ", + "Name[pl]": "Pino Toscano", + "Name[pt]": "Pino Toscano", + "Name[pt_BR]": "Pino Toscano", + "Name[ro]": "Pino Toscano", + "Name[ru]": "Pino Toscano", + "Name[sa]": "पिनो टोस्कानो", + "Name[sk]": "Pino Toscano", + "Name[sl]": "Pino Toscano", + "Name[sr@ijekavian]": "Пино Тоскано", + "Name[sr@ijekavianlatin]": "Pino Toskano", + "Name[sr@latin]": "Pino Toskano", + "Name[sr]": "Пино Тоскано", + "Name[sv]": "Pino Toscano", + "Name[ta]": "பீனோ டொஸ்கானோ", + "Name[tr]": "Pino Toscano", + "Name[uk]": "Pino Toscano", + "Name[vi]": "Pino Toscano", + "Name[zh_CN]": "Pino Toscano", + "Name[zh_TW]": "Pino Toscano" + } + ], + "Copyright": "© 2006-2008 Pino Toscano", + "Copyright[ar]": "© 2006-2008 Pino Toscano", + "Copyright[az]": "© 2006-2008 Pino Toscano", + "Copyright[be]": "© 2006-2008 Pino Toscano", + "Copyright[bg]": "© 2006-2008 Pino Toscano", + "Copyright[ca@valencia]": "© 2006-2008 Pino Toscano", + "Copyright[ca]": "© 2006-2008 Pino Toscano", + "Copyright[cs]": "© 2006-2008 Pino Toscano", + "Copyright[da]": "© 2006-2008 Pino Toscano", + "Copyright[de]": "© 2006–2008 Pino Toscano", + "Copyright[el]": "© 2006-2008 Pino Toscano", + "Copyright[en_GB]": "© 2006-2008 Pino Toscano", + "Copyright[eo]": "© 2006-2008 Pino Toscano", + "Copyright[es]": "© 2006-2008 Pino Toscano", + "Copyright[et]": "© 2006-2008: Pino Toscano", + "Copyright[eu]": "© 2006-2008 Pino Toscano", + "Copyright[fi]": "© 2006–2008 Pino Toscano", + "Copyright[fr]": "© 2006-2008 Pino Toscano", + "Copyright[gl]": "© 2006-2008 Pino Toscano", + "Copyright[he]": "© 2006‏-2008 פינו טוסקנו", + "Copyright[hu]": "© Pino Toscano, 2006-2008.", + "Copyright[ia]": "© 2006-2008 Pino Toscano", + "Copyright[ie]": "© 2006-2008 Pino Toscano", + "Copyright[is]": "© 2006-2008 Pino Toscano", + "Copyright[it]": "© 2006-2008 Pino Toscano", + "Copyright[ka]": "© 2006-2008 Pino Toscano", + "Copyright[ko]": "© 2006-2008 Pino Toscano", + "Copyright[lt]": "© 2006-2008 Pino Toscano", + "Copyright[lv]": "© 2006-2008 Pino Toscano", + "Copyright[nl]": "© 2006-2008 Pino Toscano", + "Copyright[nn]": "© 2006–2008 Pino Toscano", + "Copyright[pa]": "© 2006-2008 Pino Toscano", + "Copyright[pl]": "© 2006-2008 Pino Toscano", + "Copyright[pt]": "© 2006-2008 Pino Toscano", + "Copyright[pt_BR]": "© 2006-2008 Pino Toscano", + "Copyright[ro]": "© 2006-2008 Pino Toscano", + "Copyright[ru]": "© Pino Toscano, 2006-2008", + "Copyright[sa]": "© 2006-2008 पिनो टोस्कानो", + "Copyright[sk]": "© 2006-2008 Pino Toscano", + "Copyright[sl]": "© 2006-2008 Pino Toscano", + "Copyright[sr@ijekavian]": "© 2006–2008, Пино Тоскано", + "Copyright[sr@ijekavianlatin]": "© 2006–2008, Pino Toskano", + "Copyright[sr@latin]": "© 2006–2008, Pino Toskano", + "Copyright[sr]": "© 2006–2008, Пино Тоскано", + "Copyright[sv]": "© 2006-2008 Pino Toscano", + "Copyright[tr]": "© 2006–2008 Pino Toscano", + "Copyright[uk]": "© Pino Toscano, 2006–2008", + "Copyright[vi]": "© 2006-2008 Pino Toscano", + "Copyright[zh_CN]": "© 2006-2008 Pino Toscano", + "Copyright[zh_TW]": "© 2006-2008 Pino Toscano", + "Description": "DjVu backend based on DjVuLibre", + "Description[ar]": "خلفية DjVu بالمعتمدة على DjVuLibre", + "Description[az]": "DjVuLibre'yə əsaslanan DjVu modulu", + "Description[be]": "Рухавік DjVu на аснове DjVuLibre", + "Description[bg]": "Бекенд на DjVu, базиран на DjVuLibre", + "Description[ca@valencia]": "Dorsal DjVu basat en DjVuLibre", + "Description[ca]": "Dorsal DjVu basat en el DjVuLibre", + "Description[cs]": "Implementace DjVu založena na DjVuLibre", + "Description[da]": "DjVu-backend baseret pÃ¥ DjVuLibre", + "Description[de]": "Anzeigemodul für DjVu auf der Basis von DjVuLibre", + "Description[el]": "Σύστημα υποστήριξης DjVu με βάση το DjVuLibre", + "Description[en_GB]": "DjVu backend based on DjVuLibre", + "Description[eo]": "DjVu backend bazita sur DjVuLibre", + "Description[es]": "Motor DjVu basado en DjVuLibre", + "Description[et]": "DjVu taustaprogramm DjVuLibre alusel", + "Description[eu]": "DjVu-ren bizkarraldekoa DjVuLibre-n oinarritua", + "Description[fi]": "DjVuLibreen perustuva DjVu-taustaosa", + "Description[fr]": "Moteur pour DjVU utilisant DjVULibre", + "Description[gl]": "Motor de DjVu baseado en DjVuLibre.", + "Description[he]": "מעבד DjVu מבוסס DjVuLibre", + "Description[hu]": "DjVuLibre-alapú DjVu modul", + "Description[ia]": "Retro-Administration de DjVu basate sur DjVuLibre.", + "Description[ie]": "Infrastructura DjVu basat sur DjVuLibre", + "Description[is]": "DjVu-bakendi byggður á DjVuLibre", + "Description[it]": "Backend DjVu basato su DjVuLibre", + "Description[ka]": "DjVuLibre-ზე ბაზირებული DjVu -ის უკანაბოლო", + "Description[ko]": "DjVuLibre 기반 DjVu 백엔드", + "Description[lt]": "DjVu programinė sąsaja pagrįsta DjVuLibre", + "Description[lv]": "DjVu aizmugursistēma, kurai pamatā ir DjVuLibre", + "Description[nl]": "DjVu-backend gebaseerd op DjVuLibre", + "Description[nn]": "DjVu-motor basert pÃ¥ DjVuLibre", + "Description[pl]": "Obsługa formatu DjVu oparta na DjVuLibre", + "Description[pt]": "Infra-estrutura do DjVu com base no DjVuLibre", + "Description[pt_BR]": "Infraestrutura DjVu, baseado no DjVuLibre", + "Description[ru]": "Модуль поддержки формата DjVu на основе библиотеки DjVuLibre", + "Description[sa]": "DjVuLibre इत्यस्य आधारेण DjVu पृष्ठभागः", + "Description[sk]": "DjVu backend postavený na DjVuLibre", + "Description[sl]": "Zaledje za DjVu, ki temelji na DjVuLibre", + "Description[sr@ijekavian]": "Позадина за ДјВу заснована на ДјВу‑либреу", + "Description[sr@ijekavianlatin]": "Pozadina za DjVu zasnovana na DjVuLibreu", + "Description[sr@latin]": "Pozadina za DjVu zasnovana na DjVuLibreu", + "Description[sr]": "Позадина за ДјВу заснована на ДјВу‑либреу", + "Description[sv]": "DjVu-gränssnitt baserat pÃ¥ DjVuLibre", + "Description[tr]": "DjVuLibre tabanlı DjVu arka ucu", + "Description[uk]": "Засіб обробки DjVu, заснований на DjVuLibre", + "Description[vi]": "Hậu phương DjVu dá»±a trên DjVuLibre", + "Description[zh_CN]": "基于 DjVuLibre 的 DjVu 后端程序", + "Description[zh_TW]": "基於 DjVuLibre 的 DjVu 後端介面", + "License": "GPL", + "MimeTypes": [ + "image/vnd.djvu" + ], + "Name": "DjVu Backend", + "Name[ar]": "خلفية DjVu", + "Name[az]": "DjVu modulu", + "Name[be]": "Рухавік DjVu", + "Name[bg]": "Бекенд на DjVu", + "Name[ca@valencia]": "Dorsal DjVu", + "Name[ca]": "Dorsal DjVu", + "Name[cs]": "Podpůrná vrstva DjVu", + "Name[da]": "DjVu-backend", + "Name[de]": "Anzeigemodul für DjVu", + "Name[el]": "Σύστημα υποστήριξης djvu", + "Name[en_GB]": "DjVu Backend", + "Name[eo]": "DjVu-Backend", + "Name[es]": "Motor para DjVu", + "Name[et]": "DjVu taustaprogramm", + "Name[eu]": "DjVu-ren bizkarraldekoa", + "Name[fi]": "DjVu-taustaosa", + "Name[fr]": "Moteur pour DjVU", + "Name[gl]": "Motor de DjVu", + "Name[he]": "מנגנון DjVu", + "Name[hu]": "DjVu modul", + "Name[ia]": "Retro-Administration de DjVu", + "Name[ie]": "Infrastructura DjVu", + "Name[is]": "DjVu-bakendi", + "Name[it]": "Backend DjVu", + "Name[ka]": "DjVu უკანაბოლო", + "Name[ko]": "DjVu 백엔드", + "Name[lt]": "DjVu programinė sąsaja", + "Name[lv]": "DjVu aizmugursistēma", + "Name[nl]": "DjVu-backend", + "Name[nn]": "DjVu-motor", + "Name[pl]": "Obsługa DjVu", + "Name[pt]": "Infra-Estrutura do DjVu", + "Name[pt_BR]": "Infraestrutura DjVu", + "Name[ro]": "Platformă DjVu", + "Name[ru]": "Модуль поддержки формата DjVu", + "Name[sa]": "DjVu बैकएण्ड", + "Name[sk]": "DjVu Backend", + "Name[sl]": "Zaledje za DjVu", + "Name[sr@ijekavian]": "Позадина за ДјВу", + "Name[sr@ijekavianlatin]": "Pozadina za DjVu", + "Name[sr@latin]": "Pozadina za DjVu", + "Name[sr]": "Позадина за ДјВу", + "Name[sv]": "DjVu-gränssnitt", + "Name[ta]": "DjVu பின்நிலை", + "Name[tr]": "DjVu Arka Ucu", + "Name[uk]": "Модуль DjVu", + "Name[vi]": "Hậu phương DjVu", + "Name[zh_CN]": "DjVu 后端程序", + "Name[zh_TW]": "DjVu 後端介面", + "Version": "0.2.3" + }, + "X-KDE-Priority": 2, + "X-KDE-okularAPIVersion": 1, + "X-KDE-okularHasInternalSettings": false +} diff --git a/generators/djvu/okularApplication_djvu.desktop b/generators/djvu/okularApplication_djvu.desktop new file mode 100755 index 0000000..7fffa18 --- /dev/null +++ b/generators/djvu/okularApplication_djvu.desktop @@ -0,0 +1,259 @@ +[Desktop Entry] +MimeType=image/vnd.djvu; +Terminal=false +Name=Okular +Name[ar]=اوكلار +Name[az]=Okular +Name[be]=Okular +Name[bg]=Okular +Name[bs]=Okular +Name[ca]=Okular +Name[ca@valencia]=Okular +Name[cs]=Okular +Name[da]=Okular +Name[de]=Okular +Name[el]=Okular +Name[en_GB]=Okular +Name[eo]=Okular +Name[es]=Okular +Name[et]=Okular +Name[eu]=Okular +Name[fi]=Okular +Name[fr]=Okular +Name[ga]=Okular +Name[gl]=Okular +Name[he]=Okular +Name[hne]=ओकुलर +Name[hr]=Okular +Name[hu]=Okular +Name[ia]=Okular +Name[ie]=Okular +Name[is]=Okular +Name[it]=Okular +Name[ja]=Okular +Name[ka]=Okular +Name[kk]=Okular +Name[km]=Okular +Name[ko]=Okular +Name[ku]=Okular +Name[lt]=Okular +Name[lv]=Okular +Name[mr]=ओक्युलर +Name[nb]=Okular +Name[nds]=Okular +Name[nl]=Okular +Name[nn]=Okular +Name[pa]=ਓਕੁਲਾਰ +Name[pl]=Okular +Name[pt]=Okular +Name[pt_BR]=Okular +Name[ro]=Okular +Name[ru]=Okular +Name[sa]=नेत्रस्य +Name[si]=Okular +Name[sk]=Okular +Name[sl]=Okular +Name[sq]=Okular +Name[sr]=Окулар +Name[sr@ijekavian]=Окулар +Name[sr@ijekavianlatin]=Okular +Name[sr@latin]=Okular +Name[sv]=Okular +Name[ta]=ஆக்குலர் +Name[th]=โอกูลาร์ +Name[tr]=Okular +Name[ug]=Okular +Name[uk]=Okular +Name[vi]=Okular +Name[zh_CN]=Okular 文档查看器 +Name[zh_TW]=Okular +GenericName=Document Viewer +GenericName[ar]=عارض المستندات +GenericName[az]=Sənədə baxış vasitısi +GenericName[be]=Сродак для прагляду дакументаў +GenericName[bg]=Преглед на документи +GenericName[bs]=Prikazivač dokumenata +GenericName[ca]=Visualitzador de documents +GenericName[ca@valencia]=Visor de documents +GenericName[cs]=Prohlížeč dokumentů +GenericName[da]=Dokumentfremviser +GenericName[de]=Dokumentenbetrachter +GenericName[el]=Προβολέας εγγράφων +GenericName[en_GB]=Document Viewer +GenericName[eo]=Dokumenta rigardilo +GenericName[es]=Visor de documentos +GenericName[et]=Dokumendinäitaja +GenericName[eu]=Dokumentu erakuslea +GenericName[fa]=مشاهده‌گر سند +GenericName[fi]=Asiakirjakatselin +GenericName[fr]=Afficheur de documents +GenericName[ga]=Amharcán Cáipéisí +GenericName[gl]=Visor de documentos +GenericName[he]=מציג מסמכים +GenericName[hi]=दस्तावेज़ प्रदर्शक +GenericName[hne]=कागद प्रदर्सक +GenericName[hr]=Preglednik dokumenata +GenericName[hu]=Dokumentummegjelenítő +GenericName[ia]=Visor de documento +GenericName[ie]=Visor de documentes +GenericName[is]=Skjalaskoðari +GenericName[it]=Visore di documenti +GenericName[ja]=文書ビューア +GenericName[ka]=დოკუმენტების მნახველი +GenericName[kk]=Құжатты қарау құралы +GenericName[km]=កម្មវិធី​មើល​ឯកសារ +GenericName[ko]=문서 뷰어 +GenericName[ku]=Nîşanderê Belgeyan +GenericName[lt]=Dokumentų žiÅ«ryklė +GenericName[lv]=Dokumentu skatÄ«tājs +GenericName[mr]=दस्तऐवज प्रदर्शक +GenericName[nb]=Dokumentviser +GenericName[nds]=Dokmentkieker +GenericName[ne]=कागजात दर्शक +GenericName[nl]=Documentenviewer +GenericName[nn]=Dokumentvisar +GenericName[oc]=Visualizaire de documents +GenericName[pa]=ਡੌਕੂਮੈਂਟ ਦਰਸ਼ਕ +GenericName[pl]=Przeglądarka dokumentów +GenericName[pt]=Visualizador de Documentos +GenericName[pt_BR]=Visualizador de documentos +GenericName[ro]=Vizualizor de documente +GenericName[ru]=Просмотр документов +GenericName[sa]=दस्तावेज दर्शक +GenericName[sk]=Prehliadač dokumentov +GenericName[sl]=Pregledovalnik dokumentov +GenericName[sq]=Shikues dokumentesh +GenericName[sr]=Приказивач докумената +GenericName[sr@ijekavian]=Приказивач докумената +GenericName[sr@ijekavianlatin]=Prikazivač dokumenata +GenericName[sr@latin]=Prikazivač dokumenata +GenericName[sv]=Dokumentvisare +GenericName[ta]=ஆவணங் காட்டி +GenericName[th]=เครื่องมือแสดงเอกสาร +GenericName[tr]=Belge Görüntüleyicisi +GenericName[ug]=پۈتۈك كۆرگۈ +GenericName[uk]=Переглядач документів +GenericName[vi]=Trình xem tài liệu +GenericName[zh_CN]=文档查看器 +GenericName[zh_TW]=文件檢視器 +Comment=Universal document viewer +Comment[ar]=عارض المستندات عالمي +Comment[az]=Sənədə universal baxış vasitəsi +Comment[be]=Універсальны сродак для прагляду дакументаў +Comment[bg]=Универсална програма за преглед на документи +Comment[ca]=Visualitzador universal de documents +Comment[ca@valencia]=Visor universal de documents +Comment[cs]=Univerzální prohlížeč dokumentů +Comment[da]=Universel dokumentfremviser +Comment[de]=Universeller Dokumentenbetrachter +Comment[el]=Καθολικός προβολέας εγγράφων +Comment[en_GB]=Universal document viewer +Comment[eo]=Universala dokumenta spektilo +Comment[es]=Visor de documentos universal +Comment[et]=Universaalne dokumendinäitaja +Comment[eu]=Dokumentu erakusle unibertsala +Comment[fi]=Yleinen asiakirjakatselin +Comment[fr]=Afficheur de document universel +Comment[gl]=Visor de documentos universal. +Comment[he]=מציג מסמכים אוניברסלי +Comment[hu]=Univerzális dokumentummegjelenítő +Comment[ia]=Visor de documento universal +Comment[ie]=Universal visor de documentes +Comment[is]=Fjölhæfur skjalaskoðari +Comment[it]=Visore di documenti universale +Comment[ja]=多用途な文書ビューア +Comment[ka]=დოკუმენტების პოპულარული ფორმატების გამხსნელი +Comment[ko]=만능 문서 뷰어 +Comment[lt]=Universali dokumentų žiÅ«ryklė +Comment[lv]=Universāls dokumentu skatÄ«tājs +Comment[nl]=Universele documentviewer +Comment[nn]=Dokumentvisar for mange format +Comment[pa]=ਯੂਨੀਵਰਸਲ ਡੌਕੂਮੈਂਟ ਦਰਸ਼ਕ +Comment[pl]=Wszechstronna przeglądarka dokumentów +Comment[pt]=Visualizador de documentos universal +Comment[pt_BR]=Visualizador de documentos universal +Comment[ro]=Vizualizor de documente universal +Comment[ru]=Универсальная программа просмотра документов +Comment[sa]=सार्वभौमिक दस्तावेज दर्शक +Comment[sk]=Univerzálny prehliadač dokumentov +Comment[sl]=Vsestranski pregledovalnik dokumentov +Comment[sq]=Shikues univerzal dokumentesh +Comment[sr]=Универзални приказивач докумената +Comment[sr@ijekavian]=Универзални приказивач докумената +Comment[sr@ijekavianlatin]=Univerzalni prikazivač dokumenata +Comment[sr@latin]=Univerzalni prikazivač dokumenata +Comment[sv]=Generell dokumentvisare +Comment[ta]=அனைத்து ஆவணங்களுக்கான காட்டி +Comment[tr]=Çok amaçlı belge görüntüleyicisi +Comment[uk]=Універсальний переглядач документів +Comment[vi]=Trình xem tài liệu vạn năng +Comment[zh_CN]=通用文档查看器 +Comment[zh_TW]=通用文件檢視器 +Exec=okular %U +Icon=okular +Type=Application +InitialPreference=7 +Categories=Qt;KDE;Graphics;Viewer; +NoDisplay=true +X-KDE-Keywords=djvu +X-KDE-Keywords[ar]=djvu +X-KDE-Keywords[az]=djvu +X-KDE-Keywords[be]=djvu +X-KDE-Keywords[bg]=djvu +X-KDE-Keywords[bs]=djvu +X-KDE-Keywords[ca]=djvu +X-KDE-Keywords[ca@valencia]=djvu +X-KDE-Keywords[cs]=djvu +X-KDE-Keywords[da]=djvu +X-KDE-Keywords[de]=djvu +X-KDE-Keywords[el]=djvu +X-KDE-Keywords[en_GB]=djvu +X-KDE-Keywords[eo]=djvu +X-KDE-Keywords[es]=djvu +X-KDE-Keywords[et]=djvu +X-KDE-Keywords[eu]=djvu +X-KDE-Keywords[fi]=djvu +X-KDE-Keywords[fr]=djvu +X-KDE-Keywords[ga]=djvu +X-KDE-Keywords[gl]=djvu +X-KDE-Keywords[he]=djvu +X-KDE-Keywords[hu]=djvu +X-KDE-Keywords[ia]=djvu +X-KDE-Keywords[ie]=djvu +X-KDE-Keywords[is]=djvu +X-KDE-Keywords[it]=djvu +X-KDE-Keywords[ja]=djvu +X-KDE-Keywords[ka]=djvu +X-KDE-Keywords[kk]=djvu +X-KDE-Keywords[km]=djvu +X-KDE-Keywords[ko]=djvu +X-KDE-Keywords[lt]=djvu +X-KDE-Keywords[lv]=djvu +X-KDE-Keywords[mr]=djvu +X-KDE-Keywords[nb]=djvu +X-KDE-Keywords[nds]=DjVu +X-KDE-Keywords[nl]=djvu +X-KDE-Keywords[nn]=djvu +X-KDE-Keywords[pa]=djvu +X-KDE-Keywords[pl]=djvu +X-KDE-Keywords[pt]=djvu +X-KDE-Keywords[pt_BR]=djvu +X-KDE-Keywords[ro]=djvu +X-KDE-Keywords[ru]=djvu +X-KDE-Keywords[sa]=द्ज्वु +X-KDE-Keywords[sk]=djvu +X-KDE-Keywords[sl]=djvu +X-KDE-Keywords[sq]=djvu +X-KDE-Keywords[sr]=djvu,ДјВу +X-KDE-Keywords[sr@ijekavian]=djvu,ДјВу +X-KDE-Keywords[sr@ijekavianlatin]=djvu,DjVu +X-KDE-Keywords[sr@latin]=djvu,DjVu +X-KDE-Keywords[sv]=djvu +X-KDE-Keywords[ta]=djvu +X-KDE-Keywords[tr]=djvu +X-KDE-Keywords[ug]=djvu +X-KDE-Keywords[uk]=djvu +X-KDE-Keywords[vi]=djvu +X-KDE-Keywords[zh_CN]=djvu +X-KDE-Keywords[zh_TW]=djvu +X-KDE-AliasFor=org.kde.okular.desktop diff --git a/generators/djvu/org.kde.mobile.okular_djvu.desktop b/generators/djvu/org.kde.mobile.okular_djvu.desktop new file mode 100644 index 0000000..a70df02 --- /dev/null +++ b/generators/djvu/org.kde.mobile.okular_djvu.desktop @@ -0,0 +1,253 @@ +[Desktop Entry] +MimeType=image/vnd.djvu; +Name=Reader +Name[ar]=التصيير +Name[az]=Oxuyucu +Name[be]=Сродак чытання +Name[bg]=Четец +Name[bs]=Čitač +Name[ca]=Lector +Name[ca@valencia]=Lector +Name[cs]=Čtečka +Name[da]=Læser +Name[de]=Lesegerät +Name[el]=Πρόγραμμα ανάγνωσης +Name[en_GB]=Reader +Name[eo]=Legilo +Name[es]=Lector +Name[et]=Lugeja +Name[eu]=Irakurlea +Name[fi]=Lukija +Name[fr]=Lecteur +Name[ga]=Léitheoir +Name[gl]=Lector +Name[he]=קורא +Name[hu]=Olvasó +Name[ia]=Lector +Name[ie]=Letor +Name[is]=Lesari +Name[it]=Lettore +Name[ja]=リーダ +Name[ka]=მკითხველი +Name[kk]=Оқу құралы +Name[ko]=리더 +Name[lt]=Skaitytuvas +Name[lv]=LasÄ«tājs +Name[mr]=वाचक +Name[nb]=Leser +Name[nds]=Leser +Name[nl]=Lezer +Name[nn]=Lesar +Name[pa]=ਰੀਡਰ +Name[pl]=Czytnik +Name[pt]=Leitor +Name[pt_BR]=Leitor +Name[ro]=Cititor +Name[ru]=Просмотрщик +Name[sa]=पाठकः +Name[sk]=Čítačka +Name[sl]=Bralnik +Name[sq]=Reader +Name[sr]=Читач +Name[sr@ijekavian]=Читач +Name[sr@ijekavianlatin]=Čitač +Name[sr@latin]=Čitač +Name[sv]=Läsprogram +Name[ta]=காட்டி +Name[tr]=Okuyucu +Name[ug]=ئوقۇغۇ +Name[uk]=Переглядач +Name[vi]=Trình đọc +Name[zh_CN]=阅读器 +Name[zh_TW]=閱讀器 +GenericName=Document viewer +GenericName[ar]=عارض المستندات +GenericName[az]=Sənədə baxış vasitısi +GenericName[be]=Сродак для прагляду дакументаў +GenericName[bg]=Преглед на документи +GenericName[bs]=Prikazivač dokumenata +GenericName[ca]=Visualitzador de documents +GenericName[ca@valencia]=Visor de documents +GenericName[cs]=Prohlížeč dokumentů +GenericName[da]=Dokumentfremviser +GenericName[de]=Dokumentenbetrachter +GenericName[el]=Προβολέας εγγράφων +GenericName[en_GB]=Document Viewer +GenericName[eo]=Dokumentrigardilo +GenericName[es]=Visor de documentos +GenericName[et]=Dokumendinäitaja +GenericName[eu]=Dokumentu erakuslea +GenericName[fi]=Asiakirjakatselin +GenericName[fr]=Afficheur de document +GenericName[ga]=Amharcán cáipéisí +GenericName[gl]=Visor de documentos +GenericName[he]=מציג מסמכים +GenericName[hi]=दस्तावेज़ प्रदर्शक +GenericName[hu]=Dokumentummegjelenítő +GenericName[ia]=Visor de documento +GenericName[ie]=Visor de documentes +GenericName[is]=Skjalaskoðari +GenericName[it]=Visore di documenti +GenericName[ja]=文書ビューア +GenericName[ka]=დოკუმენტების მნახველი +GenericName[kk]=Құжатты қарау құралы +GenericName[ko]=문서 뷰어 +GenericName[lt]=Dokumentų žiÅ«ryklė +GenericName[lv]=Dokumentu skatÄ«tājs +GenericName[mr]=दस्तऐवज प्रदर्शक +GenericName[nb]=Dokumentviser +GenericName[nds]=Dokmentkieker +GenericName[nl]=Documentenviewer +GenericName[nn]=Dokumentvisar +GenericName[pa]=ਡੌਕੂਮੈਂਟ ਦਰਸ਼ਕ +GenericName[pl]=Przeglądarka dokumentów +GenericName[pt]=Visualizador de documentos +GenericName[pt_BR]=Visualizador de documentos +GenericName[ro]=Vizualizor de documente +GenericName[ru]=Просмотр документов +GenericName[sa]=दस्तावेजदर्शकः +GenericName[sk]=Prehliadač dokumentov +GenericName[sl]=Pregledovalnik dokumentov +GenericName[sq]=Shikues dokumentesh +GenericName[sr]=Приказивач докумената +GenericName[sr@ijekavian]=Приказивач докумената +GenericName[sr@ijekavianlatin]=Prikazivač dokumenata +GenericName[sr@latin]=Prikazivač dokumenata +GenericName[sv]=Dokumentvisare +GenericName[ta]=ஆவணங் காட்டி +GenericName[tr]=Belge Görüntüleyicisi +GenericName[uk]=Переглядач документів +GenericName[vi]=Trình xem tài liệu +GenericName[zh_CN]=文档查看器 +GenericName[zh_TW]=文件檢視器 +Comment=Viewer for various types of documents +Comment[ar]=عارض للعديد من أنواع المستندات +Comment[az]=Müxtəlif növlü sənədlər üçün görüntüləyici +Comment[be]=Сродак для прагляду разнастайных тыпаў дакументаў +Comment[bg]=Преглед на различни видове документи +Comment[bs]=Pregledač raznih vrsta dokumenata +Comment[ca]=Visualitzador de diversos tipus de documents +Comment[ca@valencia]=Visor de diversos tipus de documents +Comment[cs]=Prohlížeč různých typů dokumentů +Comment[da]=Fremviser af diverse dokumenttyper +Comment[de]=Betrachter für verschiedene Arten von Dokumenten +Comment[el]=Πρόγραμμα προβολής για διάφορους τύπους εγγράφων +Comment[en_GB]=Viewer for various types of documents +Comment[eo]=Vidilo por diversaj specoj de dokumentoj +Comment[es]=Visor de diversos tipos de documentos +Comment[et]=Eri tüüpi dokumentide näitaja +Comment[eu]=Hainbat dokumentu moten erakuslea +Comment[fi]=Monenlaisten asiakirjojen katseluohjelma +Comment[fr]=Afficheur pour différents types de documents +Comment[ga]=Amharcán le haghaidh cáipéisí éagsúla +Comment[gl]=Visor de varios tipos de documentos. +Comment[he]=מציג למגוון סוגי מסמכים +Comment[hu]=Megjelenítő különféle típusú dokumentumokhoz +Comment[ia]=Visor pro varie typos de documento +Comment[ie]=Visor por varie tipes de documentes +Comment[is]=Skoðari fyrir ýmsar gerðir skjala +Comment[it]=Visore per vari tipi di documenti +Comment[ja]=様々なタイプの文書のためのビューア +Comment[ka]=სხვადასხვა ტიპების დოკუმენტების დათვალიერება +Comment[kk]=Түрлі құжаттар қарау құралы +Comment[ko]=여러 형식의 문서 뷰어 +Comment[lt]=ŽiÅ«ryklė įvairiems dokumentų tipams +Comment[lv]=Dažādu dokumentu tipu skatÄ«tājs +Comment[mr]=विविध प्रकारच्या दस्तऐवजांचा प्रदर्शक +Comment[nb]=Framviser for forskjellige dokumenttyper +Comment[nds]=Kieker för en Reeg Dokmenttypen +Comment[nl]=Viewer voor verschillende typen documenten +Comment[nn]=Framvisar for forskjellige dokumenttypar +Comment[pa]=ਕਈ ਕਿਸਮ ਦੇ ਡੌਕੂਮੈਂਟ ਵੇਖਾਉਣ ਲਈ ਦਰਸ਼ਕ +Comment[pl]=Przeglądarka dla różnych typów dokumentów +Comment[pt]=Visualizador de vários tipos de documentos +Comment[pt_BR]=Visualizador para vários tipos de documentos +Comment[ro]=Vizualizor pentru diferite tipuri de documente +Comment[ru]=Программа для просмотра различных типов документов +Comment[sa]=विभिन्नप्रकारस्य दस्तावेजानां कृते दर्शकः +Comment[sk]=Prehliadač pre rôzne typy dokumentov +Comment[sl]=Pregledovalnik raznih vrst dokumentov +Comment[sq]=Shikues për lloje të ndryshme të dokumentave +Comment[sr]=Приказивач различитих врста докумената +Comment[sr@ijekavian]=Приказивач различитих врста докумената +Comment[sr@ijekavianlatin]=Prikazivač različitih vrsta dokumenata +Comment[sr@latin]=Prikazivač različitih vrsta dokumenata +Comment[sv]=Visningsprogram för diverse typer av dokument +Comment[ta]=பலவகையான ஆவணங்களுக்கான காட்டி +Comment[tr]=Çeşitli belge türleri için görüntüleyici +Comment[ug]=ھەر خىل تىپتىكى پۈتۈكلەرنى كۆرىدىغان پروگرامما +Comment[uk]=Програма для перегляду документів різних типів +Comment[vi]=Trình xem các kiểu tài liệu khác nhau +Comment[zh_CN]=支持查看多种文档类型 +Comment[zh_TW]=多種型態文件的檢視器 + +TryExec=okularkirigami +Exec=okularkirigami %u +Terminal=false +Icon=okular +Type=Application +Categories=Qt;KDE;Graphics;Office;Viewer; +InitialPreference=2 +NoDisplay=true +X-KDE-Keywords=djvu +X-KDE-Keywords[ar]=djvu +X-KDE-Keywords[az]=djvu +X-KDE-Keywords[be]=djvu +X-KDE-Keywords[bg]=djvu +X-KDE-Keywords[bs]=djvu +X-KDE-Keywords[ca]=djvu +X-KDE-Keywords[ca@valencia]=djvu +X-KDE-Keywords[cs]=djvu +X-KDE-Keywords[da]=djvu +X-KDE-Keywords[de]=djvu +X-KDE-Keywords[el]=djvu +X-KDE-Keywords[en_GB]=djvu +X-KDE-Keywords[eo]=djvu +X-KDE-Keywords[es]=djvu +X-KDE-Keywords[et]=djvu +X-KDE-Keywords[eu]=djvu +X-KDE-Keywords[fi]=djvu +X-KDE-Keywords[fr]=djvu +X-KDE-Keywords[ga]=djvu +X-KDE-Keywords[gl]=djvu +X-KDE-Keywords[he]=djvu +X-KDE-Keywords[hu]=djvu +X-KDE-Keywords[ia]=djvu +X-KDE-Keywords[ie]=djvu +X-KDE-Keywords[is]=djvu +X-KDE-Keywords[it]=djvu +X-KDE-Keywords[ja]=djvu +X-KDE-Keywords[ka]=djvu +X-KDE-Keywords[kk]=djvu +X-KDE-Keywords[km]=djvu +X-KDE-Keywords[ko]=djvu +X-KDE-Keywords[lt]=djvu +X-KDE-Keywords[lv]=djvu +X-KDE-Keywords[mr]=djvu +X-KDE-Keywords[nb]=djvu +X-KDE-Keywords[nds]=DjVu +X-KDE-Keywords[nl]=djvu +X-KDE-Keywords[nn]=djvu +X-KDE-Keywords[pa]=djvu +X-KDE-Keywords[pl]=djvu +X-KDE-Keywords[pt]=djvu +X-KDE-Keywords[pt_BR]=djvu +X-KDE-Keywords[ro]=djvu +X-KDE-Keywords[ru]=djvu +X-KDE-Keywords[sa]=द्ज्वु +X-KDE-Keywords[sk]=djvu +X-KDE-Keywords[sl]=djvu +X-KDE-Keywords[sq]=djvu +X-KDE-Keywords[sr]=djvu,ДјВу +X-KDE-Keywords[sr@ijekavian]=djvu,ДјВу +X-KDE-Keywords[sr@ijekavianlatin]=djvu,DjVu +X-KDE-Keywords[sr@latin]=djvu,DjVu +X-KDE-Keywords[sv]=djvu +X-KDE-Keywords[ta]=djvu +X-KDE-Keywords[tr]=djvu +X-KDE-Keywords[ug]=djvu +X-KDE-Keywords[uk]=djvu +X-KDE-Keywords[vi]=djvu +X-KDE-Keywords[zh_CN]=djvu +X-KDE-Keywords[zh_TW]=djvu +X-KDE-AliasFor=org.kde.okular.kirigami.desktop diff --git a/generators/djvu/org.kde.okular-djvu.metainfo.xml b/generators/djvu/org.kde.okular-djvu.metainfo.xml new file mode 100644 index 0000000..ffb7613 --- /dev/null +++ b/generators/djvu/org.kde.okular-djvu.metainfo.xml @@ -0,0 +1,136 @@ + + + org.kde.okular-djvu + org.kde.okular.desktop + CC0-1.0 + GPL-2.0+ and GFDL-1.3 + DjVu Documents + مستندات DjVu + DjVu sənədləri + Дакументы DjVu + DjVu документи + Documents DjVu + Documents DjVu + Dokumenty DjVu + DjVu-Dokumente + Έγγραφα DjVu + DjVu Documents + DjVu-Dokumentoj + Documentos DjVu + DjVu dokumendid + DjVu dokumentuak + DjVu-tiedostot + Documents au format « DjVU » + Documentos DjVu + מסמכי DjVu + डीजेवीयू दस्तावेज़ + DjVu-dokumentumok + Documentos DjVu + DjVu-skjöl + Documenti DjVu + Djvu დოკუმენტები + DjVu 문서 + DjVu dokumentai + DjVu dokumenti + ഡിജെവിയു പ്രമാണങ്ങൾ + DjVu-documenten + DjVu-dokument + Dokumenty DjVu + Documentos DjVu + Documentos DjVu + Documente DjVu + Документы DjVu + DjVu दस्तावेज + DjVu dokumenty + Dokumenti DjVu + ДјВу документи + DjVu dokumenti + ДјВу документи + DjVu dokumenti + DjVu-dokument + DjVu ஆவணங்கள் + DjVu Belgeleri + документи DjVu + Tài liệu DjVu + DjVu 文档 + DjVu 文件 + Adds support for reading DjVu documents + يضيف دعم لقراءة مستندات DjVu + DjVu sənədlərini oxumaq üçün dəstək əlavə edir + Падтрымка чытання дакументаў DjVu + Добавя поддръжка за DjVu документи + Afegeix la implementació per a llegir documents DjVu + Afig la implementació per a llegir documents DjVu + Přidává podporu pro čtení dokumentů DjVu + Bietet Unterstützung zum Lesen von DjVu-Dokumenten + Προσθέτει υποστήριξη για την ανάγνωση εγγράφων DjVu + Adds support for reading DjVu documents + Aldonas subtenon por legi DjVu-dokumentojn + Permite la lectura de documentos DjVu + DjVu dokumentide lugemise toetus + DjVu dokumentuak irakurtzeko euskarria gehitzen du + Lisää DjVu-tiedostojen lukutuen + Permet la lecture des documents au format « DjVU » + Engade a posibilidade de ler documentos de DjVu + מוסיף תמיכה בקריאת מסמכי DjVu + डीजेवीयू दस्तावेज़ पढ़ने के लिए समर्थन जोड़ता है + Támogatás DjVu-dokumentumok olvasásához + Adde supporto per leger documentos DjVu + Bætir við stuðningi til að lesa DjVu-skjöl + Aggiunge il supporto per la lettura di documenti DjVu + DjVu დოკუმენტების კითხვის მხარდაჭერის დამატება + DjVu 문서 읽기 지원 추가 + Prideda palaikymą DjVu dokumentų skaitymui + Pievieno atbalstu „DjVu“ dokumentu lasīšanai + ഡിജെവിയു പ്രമാണങ്ങൾ വായിക്കുവാൻ പിന്തുണ ചേർക്കുന്നു + Voegt ondersteuning voor lezen van DjVu-documenten toe + Legg til støtte for Ã¥ lesa DjVu-dokument + Dodaje obsługę dokumentów DjVu + Adiciona o suporte para a leitura de documentos DjVu + Adiciona o suporte para leitura de documentos DjVu + Adaugă suport pentru citirea documentelor DjVu + Поддержка чтения документов DjVu + DjVu दस्तावेजान् पठितुं समर्थनं योजयति + Pridá podporu pre čítanie DjVu dokumentov + Doda podporo za branje dokumentov DjVu + Подршка за читање ДјВу докумената + PodrÅ¡ka za čitanje DjVu dokumenata + Подршка за читање ДјВу докумената + PodrÅ¡ka za čitanje DjVu dokumenata + Lägger till stöd för att läsa DjVu-dokument + DjVu ஆவணங்களைப் படிப்பதற்கான ஆதரவை சேர்க்கும் + DjVu belgelerini okuma desteği ekler + Додає підтримку читання документів DjVu + Thêm hỗ trợ đọc tài liệu DjVu + 增加对 DjVu 文档的阅读支持 + 加入讀取 DjVu 文件的支援 + + image/vnd.djvu + + https://okular.kde.org + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/generators/dvi/CMakeLists.txt b/generators/dvi/CMakeLists.txt new file mode 100644 index 0000000..2341f2f --- /dev/null +++ b/generators/dvi/CMakeLists.txt @@ -0,0 +1,61 @@ +remove_definitions(-DTRANSLATION_DOMAIN="okular") +add_definitions(-DTRANSLATION_DOMAIN="okular_dvi") + +#add_definitions(-DDEBUG_DVIRENDERER -DDEBUG_RENDER -DDEBUG_PRESCAN -DDEBUG_PSGS -DDEBUG_FONTPOOL) + +if (FREETYPE_FOUND) + add_definitions(-DHAVE_FREETYPE) +else (FREETYPE_FOUND) + remove_definitions(-DHAVE_FREETYPE) +endif (FREETYPE_FOUND) + +########### next target ############### + +set(okularGenerator_dvi_SRCS + generator_dvi.cpp + bigEndianByteReader.cpp + dviRenderer.cpp + dviRenderer_draw.cpp + dviRenderer_prescan.cpp + dviRenderer_dr.cpp + special.cpp + dviFile.cpp + dviPageInfo.cpp + psgs.cpp +# psheader.cpp # already included in psgs.cpp + glyph.cpp + TeXFont.cpp + TeXFontDefinition.cpp + vf.cpp + TeXFont_PFB.cpp + TeXFont_PK.cpp + TeXFont_TFM.cpp + util.cpp + pageSize.cpp + simplePageSize.cpp + length.cpp + fontEncoding.cpp + fontEncodingPool.cpp + fontMap.cpp + fontpool.cpp + dvisourcesplitter.cpp + dviexport.cpp +) + + +okular_add_generator(okularGenerator_dvi ${okularGenerator_dvi_SRCS}) + +target_link_libraries(okularGenerator_dvi okularcore KF6::I18n) +if (FREETYPE_FOUND) + target_link_libraries(okularGenerator_dvi Freetype::Freetype) +endif (FREETYPE_FOUND) + + +########### install files ############### +if (BUILD_DESKTOP) + install( PROGRAMS okularApplication_dvi.desktop DESTINATION ${KDE_INSTALL_APPDIR} ) +endif() +if (BUILD_MOBILE) + install( PROGRAMS org.kde.mobile.okular_dvi.desktop DESTINATION ${KDE_INSTALL_APPDIR} ) +endif() +install( FILES org.kde.okular-dvi.metainfo.xml DESTINATION ${KDE_INSTALL_METAINFODIR} ) diff --git a/generators/dvi/Messages.sh b/generators/dvi/Messages.sh new file mode 100644 index 0000000..deeeb65 --- /dev/null +++ b/generators/dvi/Messages.sh @@ -0,0 +1,2 @@ +#!/bin/sh +$XGETTEXT $(find . -name "*.cpp" -o -name "*.h") -o $podir/okular_dvi.pot diff --git a/generators/dvi/TeXFont.cpp b/generators/dvi/TeXFont.cpp new file mode 100644 index 0000000..fa831bb --- /dev/null +++ b/generators/dvi/TeXFont.cpp @@ -0,0 +1,8 @@ +// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; c-brace-offset: 0; -*- +#include + +#include "TeXFont.h" + +TeXFont::~TeXFont() +{ +} diff --git a/generators/dvi/TeXFont.h b/generators/dvi/TeXFont.h new file mode 100644 index 0000000..4e581ed --- /dev/null +++ b/generators/dvi/TeXFont.h @@ -0,0 +1,51 @@ +// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; c-brace-offset: 0; -*- +// TeXFont.h +// +// Part of KDVI - A DVI previewer for the KDE desktop environment +// +// SPDX-FileCopyrightText: 2003 Stefan Kebekus +// SPDX-License-Identifier: GPL-2.0-or-later + +#ifndef _TEXFONT_H +#define _TEXFONT_H + +#include "TeXFontDefinition.h" +#include "glyph.h" + +class TeXFont +{ +public: + explicit TeXFont(TeXFontDefinition *_parent) + { + parent = _parent; + } + + virtual ~TeXFont(); + + TeXFont(const TeXFont &) = delete; + TeXFont &operator=(const TeXFont &) = delete; + + void setDisplayResolution() + { + for (glyph &g : glyphtable) { + g.shrunkenCharacter = QImage(); + } + } + + virtual glyph *getGlyph(quint16 character, bool generateCharacterPixmap = false, const QColor &color = Qt::black) = 0; + + // Checksum of the font. Used e.g. by PK fonts. This field is filled + // in by the constructor, or set to 0.0, if the font format does not + // contain checksums. + quint32 checksum = 0; + + // If the font or if some glyphs could not be loaded, error messages + // will be put here. + QString errorMessage; + +protected: + glyph glyphtable[TeXFontDefinition::max_num_of_chars_in_font]; + TeXFontDefinition *parent; +}; + +#endif diff --git a/generators/dvi/TeXFontDefinition.cpp b/generators/dvi/TeXFontDefinition.cpp new file mode 100644 index 0000000..811e3e5 --- /dev/null +++ b/generators/dvi/TeXFontDefinition.cpp @@ -0,0 +1,252 @@ +// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; c-brace-offset: 0; -*- +#include + +#include "TeXFontDefinition.h" +#include "debug_dvi.h" +#include "dviRenderer.h" +#ifdef HAVE_FREETYPE +#include "TeXFont_PFB.h" +#endif +#include "TeXFont_PK.h" +#include "TeXFont_TFM.h" +#include "debug_dvi.h" +#include "xdvi.h" + +#include + +#include +#include + +extern const int MFResolutions[]; + +#define PK_PRE 247 +#define PK_ID 89 +#define PK_MAGIC (PK_PRE << 8) + PK_ID +#define GF_PRE 247 +#define GF_ID 131 +#define GF_MAGIC (GF_PRE << 8) + GF_ID +#define VF_PRE 247 +#define VF_ID_BYTE 202 +#define VF_MAGIC (VF_PRE << 8) + VF_ID_BYTE + +// #define DEBUG_FONT + +TeXFontDefinition::TeXFontDefinition(const QString &nfontname, double _displayResolution_in_dpi, quint32 chk, qint32 _scaled_size_in_DVI_units, class fontPool *pool, double _enlargement) + : fontname {nfontname} + , enlargement {_enlargement} + , fontType {UNKNOWN} +{ +#ifdef DEBUG_FONT + qCDebug(OkularDviDebug) << "TeXFontDefinition::TeXFontDefinition(...); fontname=" << nfontname << ", enlargement=" << _enlargement; +#endif + + font_pool = pool; + font = nullptr; + displayResolution_in_dpi = _displayResolution_in_dpi; + checksum = chk; + flags = TeXFontDefinition::FONT_IN_USE; + file = nullptr; + filename.clear(); + scaled_size_in_DVI_units = _scaled_size_in_DVI_units; + + macrotable = nullptr; + + // By default, this font contains only empty characters. After the + // font has been loaded, this function pointer will be replaced by + // another one. + set_char_p = &dviRenderer::set_empty_char; +} + +TeXFontDefinition::~TeXFontDefinition() +{ +#ifdef DEBUG_FONT + qCDebug(OkularDviDebug) << "discarding font " << fontname << " at " << (int)(enlargement * MFResolutions[font_pool->getMetafontMode()] + 0.5) << " dpi"; +#endif + + if (font != nullptr) { + delete font; + font = nullptr; + } + if (macrotable != nullptr) { + delete[] macrotable; + macrotable = nullptr; + } + + if (flags & FONT_LOADED) { + if (file != nullptr) { + fclose(file); + file = nullptr; + } + if (flags & FONT_VIRTUAL) { + vf_table.clear(); + } + } +} + +void TeXFontDefinition::fontNameReceiver(const QString &fname) +{ +#ifdef DEBUG_FONT + qCDebug(OkularDviDebug) << "void TeXFontDefinition::fontNameReceiver( " << fname << " )"; +#endif + + flags |= TeXFontDefinition::FONT_LOADED; + filename = fname; +#ifdef HAVE_FREETYPE + fullFontName.clear(); + fullEncodingName.clear(); +#endif + + file = fopen(QFile::encodeName(filename).constData(), "r"); + // Check if the file could be opened. If not, try to find the file + // in the DVI file's directory. If that works, modify the filename + // accordingly and go on. + if (file == nullptr) { + QString filename_test(font_pool->getExtraSearchPath() + QLatin1Char('/') + filename); + file = fopen(QFile::encodeName(filename_test).constData(), "r"); + if (file == nullptr) { + qCCritical(OkularDviDebug) << i18n("Cannot find font %1, file %2.", fontname, filename); + return; + } else { + filename = filename_test; + } + } + + set_char_p = &dviRenderer::set_char; + int magic = two(file); + + if (fname.endsWith(QLatin1String("pk"))) { + if (magic == PK_MAGIC) { + fclose(file); + file = nullptr; + font = new TeXFont_PK(this); + set_char_p = &dviRenderer::set_char; + if ((checksum != 0) && (checksum != font->checksum)) { + qCWarning(OkularDviDebug) << i18n("Checksum mismatch for font file %1", filename); + } + fontType = TEX_PK; + return; + } + } + + if (fname.endsWith(QLatin1String(".vf"))) { + if (magic == VF_MAGIC) { + read_VF_index(); + set_char_p = &dviRenderer::set_vf_char; + fontType = TEX_VIRTUAL; + return; + } + } + + if (fname.endsWith(QLatin1String(".tfm"))) { + fclose(file); + file = nullptr; + font = new TeXFont_TFM(this); + set_char_p = &dviRenderer::set_char; + fontType = TEX_FONTMETRIC; + return; + } + + // None of these known types? Then it should be one of the font + // formats that are handled by the FreeType library + fclose(file); + file = nullptr; +#ifdef HAVE_FREETYPE + // Find the encoding for that font + const QString &enc = font_pool->fontsByTeXName.findEncoding(fontname); + + if (enc.isEmpty() == false) { +#ifdef DEBUG_FONT + qCDebug(OkularDviDebug) << "Font " << fontname << " uses encoding " << enc; +#endif + font = new TeXFont_PFB(this, font_pool->encodingPool.findByName(enc), font_pool->fontsByTeXName.findSlant(fontname)); + } else { +#ifdef DEBUG_FONT + qCDebug(OkularDviDebug) << "Font " << fontname << " does not have an encoding."; +#endif + font = new TeXFont_PFB(this); + } + + set_char_p = &dviRenderer::set_char; + fontType = FREETYPE; + return; +#else + // If we don't have the FreeType library, we should never have + // reached this point. Complain, and leave this font blank + qCCritical(OkularDviDebug) << i18n("Cannot recognize format for font file %1", filename); +#endif +} + +void TeXFontDefinition::reset() +{ + if (font != nullptr) { + delete font; + font = nullptr; + } + + if (macrotable != nullptr) { + delete[] macrotable; + macrotable = nullptr; + } + + if (flags & FONT_LOADED) { + if (file != nullptr) { + fclose(file); + file = nullptr; + } + if (flags & FONT_VIRTUAL) { + vf_table.clear(); + } + } + + filename.clear(); + flags = TeXFontDefinition::FONT_IN_USE; + set_char_p = &dviRenderer::set_empty_char; +} + +void TeXFontDefinition::setDisplayResolution(double _displayResolution_in_dpi) +{ + displayResolution_in_dpi = _displayResolution_in_dpi; + if (font != nullptr) { + font->setDisplayResolution(); + } +} + +/** mark_as_used marks the font, and all the fonts it refers to, as + used, i.e. their FONT_IN_USE-flag is set. */ + +void TeXFontDefinition::mark_as_used() +{ +#ifdef DEBUG_FONT + qCDebug(OkularDviDebug) << "TeXFontDefinition::mark_as_used()"; +#endif + + if (flags & TeXFontDefinition::FONT_IN_USE) { + return; + } + + flags |= TeXFontDefinition::FONT_IN_USE; + + // For virtual fonts, also go through the list of referred fonts + if (flags & TeXFontDefinition::FONT_VIRTUAL) { + QHashIterator it(vf_table); + while (it.hasNext()) { + it.next(); + it.value()->flags |= TeXFontDefinition::FONT_IN_USE; + } + } +} + +macro::macro() +{ + pos = nullptr; /* address of first byte of macro */ + end = nullptr; /* address of last+1 byte */ + dvi_advance_in_units_of_design_size_by_2e20 = 0; /* DVI units to move reference point */ + free_me = false; +} + +macro::~macro() +{ + if ((pos != nullptr) && (free_me == true)) { + delete[] pos; + } +} diff --git a/generators/dvi/TeXFontDefinition.h b/generators/dvi/TeXFontDefinition.h new file mode 100644 index 0000000..7128316 --- /dev/null +++ b/generators/dvi/TeXFontDefinition.h @@ -0,0 +1,162 @@ +// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; c-brace-offset: 0; -*- +/* + * The layout of a font information block. + * There is one of these for every loaded font or magnification thereof. + * Duplicates are eliminated: this is necessary because of possible recursion + * in virtual fonts. + * + * Also note the strange units. The design size is in 1/2^20 point + * units (also called micro-points), and the individual character widths + * are in the TFM file in 1/2^20 ems units, i.e., relative to the design size. + * + * We then change the sizes to SPELL units (unshrunk pixel / 2^16). + */ + +#ifndef _FONT_H +#define _FONT_H + +#include +#include + +class dviRenderer; +class TeXFont; + +typedef void (dviRenderer::*set_char_proc)(unsigned int, unsigned int); + +// Per character information for virtual fonts + +class macro +{ +public: + macro(); + ~macro(); + + macro(const macro &) = delete; + macro &operator=(const macro &) = delete; + + // address of first byte of macro + unsigned char *pos; + // address of last+1 byte + unsigned char *end; + // DVI units to move reference point + qint32 dvi_advance_in_units_of_design_size_by_2e20; + // if memory at pos should be returned on destruction + bool free_me; +}; + +class TeXFontDefinition +{ +public: + // Currently, kdvi supports fonts with at most 256 characters to + // comply with "The DVI Driver Standard, Level 0". If you change + // this value here, make sure to go through all the source and + // ensure that character numbers are stored in ints rather than + // unsigned chars. + static const unsigned int max_num_of_chars_in_font = 256; + enum font_flags { + // used for housekeeping + FONT_IN_USE = 1, + // if font file has been read + FONT_LOADED = 2, + // if font is virtual + FONT_VIRTUAL = 4, + // if kpathsea has already tried to find the font name + FONT_KPSE_NAME = 8 + }; + + enum font_type { UNKNOWN, TEX_PK, TEX_VIRTUAL, TEX_FONTMETRIC, FREETYPE }; + + TeXFontDefinition(const QString &nfontname, double _displayResolution_in_dpi, quint32 chk, qint32 _scaled_size_in_DVI_units, class fontPool *pool, double _enlargement); + ~TeXFontDefinition(); + + TeXFontDefinition(const TeXFontDefinition &) = delete; + TeXFontDefinition &operator=(const TeXFontDefinition &) = delete; + + void reset(); + void fontNameReceiver(const QString &); + + // Members for character fonts + void setDisplayResolution(double _displayResolution_in_dpi); + + bool isLocated() const + { + return ((flags & FONT_KPSE_NAME) != 0); + } + void markAsLocated() + { + flags |= FONT_KPSE_NAME; + } + + void mark_as_used(); + // Pointer to the pool that contains this font. + class fontPool *font_pool; + // name of font, such as "cmr10" + QString fontname; + // flags byte (see values below) + unsigned char flags; + double enlargement; + // Scaled size from the font definition command; in DVI units + qint32 scaled_size_in_DVI_units; + // proc used to set char + set_char_proc set_char_p; + + // Resolution of the display device (resolution will usually be + // scaled, according to the zoom) + double displayResolution_in_dpi; + + // open font file or NULL + FILE *file; + // name of font file + QString filename; + + TeXFont *font; + // used by (loaded) virtual fonts + macro *macrotable; + // used by (loaded) virtual fonts, list of fonts used by this vf, + QHash vf_table; + // accessible by number + // used by (loaded) virtual fonts, list of fonts used by this vf + TeXFontDefinition *first_font = nullptr; + +#ifdef HAVE_FREETYPE + const QString &getFullFontName() const + { + return fullFontName; + } + const QString &getFullEncodingName() const + { + return fullEncodingName; + } +#endif + + const font_type &getFontType() const + { + return fontType; + }; + +#ifdef HAVE_FREETYPE + /** For FREETYPE fonts, which use a map file, this field will + contain the full name of the font (e.g. 'Computer Modern'). If + the name does not exist, or cannot be found, this field will be + QString(). Only subclasses of TeXFont should write into this + field. */ + QString fullFontName; + + /** For FREETYPE fonts, which use a map file, this field will + contain the full name of the font encoding (e.g. 'TexBase1'). If + the encoding name does not exist, or cannot be found, this field + will be QString(). Only subclasses of TeXFont should write + into this field. */ + QString fullEncodingName; +#endif + +private: + quint32 checksum; + + font_type fontType; + + // Functions related to virtual fonts + void read_VF_index(); +}; + +#endif diff --git a/generators/dvi/TeXFont_PFB.cpp b/generators/dvi/TeXFont_PFB.cpp new file mode 100644 index 0000000..470104a --- /dev/null +++ b/generators/dvi/TeXFont_PFB.cpp @@ -0,0 +1,296 @@ +// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; c-brace-offset: 0; -*- +// TeXFont_PFB.cpp +// +// Part of KDVI - A DVI previewer for the KDE desktop environment +// +// SPDX-FileCopyrightText: 2003 Stefan Kebekus +// SPDX-License-Identifier: GPL-2.0-or-later + +// This file is compiled only if the FreeType library is present on +// the system + +#include + +#ifdef HAVE_FREETYPE + +#include "TeXFont_PFB.h" +#include "debug_dvi.h" +#include "fontpool.h" + +#include + +#include +#include + +// #define DEBUG_PFB 1 + +TeXFont_PFB::TeXFont_PFB(TeXFontDefinition *parent, fontEncoding *enc, double slant) + : TeXFont(parent) + , face(nullptr) +{ +#ifdef DEBUG_PFB + if (enc != 0) + qCDebug(OkularDviDebug) << "TeXFont_PFB::TeXFont_PFB( parent=" << parent << ", encoding=" << enc->encodingFullName << " )"; + else + qCDebug(OkularDviDebug) << "TeXFont_PFB::TeXFont_PFB( parent=" << parent << ", encoding=0 )"; +#endif + + fatalErrorInFontLoading = false; + + int error = FT_New_Face(parent->font_pool->FreeType_library, parent->filename.toLocal8Bit().constData(), 0, &face); + + if (error == FT_Err_Unknown_File_Format) { + errorMessage = i18n("The font file %1 could be opened and read, but its font format is unsupported.", parent->filename); + qCCritical(OkularDviDebug) << errorMessage; + fatalErrorInFontLoading = true; + return; + } else if (error) { + errorMessage = i18n("The font file %1 is broken, or it could not be opened or read.", parent->filename); + qCCritical(OkularDviDebug) << errorMessage; + fatalErrorInFontLoading = true; + return; + } + + // Take care of slanting, and transform all characters in the font, if necessary. + if (slant != 0.0) { + // Construct a transformation matrix for vertical shear which will + // be used to transform the characters. + transformationMatrix.xx = 0x10000; + transformationMatrix.xy = (FT_Fixed)(slant * 0x10000); + transformationMatrix.yx = 0; + transformationMatrix.yy = 0x10000; + + FT_Set_Transform(face, &transformationMatrix, nullptr); + } + + if (face->family_name != nullptr) { + parent->fullFontName = QString::fromLocal8Bit(face->family_name); + } + + // Finally, we need to set up the charMap array, which maps TeX + // character codes to glyph indices in the font. (Remark: the + // charMap, and the font encoding procedure is necessary, because + // TeX is only able to address character codes 0-255 while + // e.g. Type1 fonts may contain several thousands of characters) + if (enc != nullptr) { + parent->fullEncodingName = enc->encodingFullName.remove(QStringLiteral("Encoding")); + parent->fullEncodingName = enc->encodingFullName.remove(QStringLiteral("encoding")); + + // An encoding vector is given for this font, i.e. an array of + // character names (such as: 'parenleft' or 'dotlessj'). We use + // the FreeType library function 'FT_Get_Name_Index()' to + // associate glyph indices to those names. +#ifdef DEBUG_PFB + qCDebug(OkularDviDebug) << "Trying to associate glyph indices to names from the encoding vector."; +#endif + for (int i = 0; i < 256; i++) { + charMap[i] = FT_Get_Name_Index(face, static_cast(enc->glyphNameVector[i].toLatin1().data())); +#ifdef DEBUG_PFB + qCDebug(OkularDviDebug) << i << ": " << enc->glyphNameVector[i] << ", GlyphIndex=" << charMap[i]; +#endif + } + } else { + // If there is no encoding vector available, we check if the font + // itself contains a charmap that could be used. An admissible + // charMap will be stored under platform_id=7 and encoding_id=2. + FT_CharMap found = nullptr; + for (int n = 0; n < face->num_charmaps; n++) { + FT_CharMap charmap = face->charmaps[n]; + if (charmap->platform_id == 7 && charmap->encoding_id == 2) { + found = charmap; + break; + } + } + + if ((found != nullptr) && (FT_Set_Charmap(face, found) == 0)) { + // Feed the charMap array with the charmap data found in the + // previous step. +#ifdef DEBUG_PFB + qCDebug(OkularDviDebug) << "No encoding given: using charmap platform=7, encoding=2 that is contained in the font."; +#endif + for (int i = 0; i < 256; i++) { + charMap[i] = FT_Get_Char_Index(face, i); + } + } else { + if ((found == nullptr) && (face->charmap != nullptr)) { +#ifdef DEBUG_PFB + qCDebug(OkularDviDebug) << "No encoding given: using charmap platform=" << face->charmap->platform_id << ", encoding=" << face->charmap->encoding_id << " that is contained in the font."; +#endif + for (int i = 0; i < 256; i++) { + charMap[i] = FT_Get_Char_Index(face, i); + } + } else { + // As a last resort, we use the identity map. +#ifdef DEBUG_PFB + qCDebug(OkularDviDebug) << "No encoding given, no suitable charmaps found in the font: using identity charmap."; +#endif + for (int i = 0; i < 256; i++) { + charMap[i] = i; + } + } + } + } +} + +TeXFont_PFB::~TeXFont_PFB() +{ + FT_Done_Face(face); +} + +glyph *TeXFont_PFB::getGlyph(quint16 ch, bool generateCharacterPixmap, const QColor &color) +{ +#ifdef DEBUG_PFB + qCDebug(OkularDviDebug) << "TeXFont_PFB::getGlyph( ch=" << ch << ", '" << (char)(ch) << "', generateCharacterPixmap=" << generateCharacterPixmap << " )"; +#endif + + // Paranoia checks + if (ch >= TeXFontDefinition::max_num_of_chars_in_font) { + qCCritical(OkularDviDebug) << "TeXFont_PFB::getGlyph(): Argument is too big."; + return glyphtable; + } + + // This is the address of the glyph that will be returned. + glyph *g = glyphtable + ch; + + if (fatalErrorInFontLoading == true) { + return g; + } + + if ((generateCharacterPixmap == true) && ((g->shrunkenCharacter.isNull()) || (color != g->color))) { + int error; + unsigned int res = (unsigned int)(parent->displayResolution_in_dpi / parent->enlargement + 0.5); + g->color = color; + + // Character height in 1/64th of points (reminder: 1 pt = 1/72 inch) + // Only approximate, may vary from file to file!!!! @@@@@ + + long int characterSize_in_printers_points_by_64 = (long int)((64.0 * 72.0 * parent->scaled_size_in_DVI_units * parent->font_pool->getCMperDVIunit()) / 2.54 + 0.5); + error = FT_Set_Char_Size(face, 0, characterSize_in_printers_points_by_64, res, res); + if (error) { + QString msg = i18n("FreeType reported an error when setting the character size for font file %1.", parent->filename); + if (errorMessage.isEmpty()) { + errorMessage = msg; + } + qCCritical(OkularDviDebug) << msg; + g->shrunkenCharacter = QImage(1, 1, QImage::Format_RGB32); + g->shrunkenCharacter.fill(qRgb(255, 255, 255)); + return g; + } + + // load glyph image into the slot and erase the previous one + if (parent->font_pool->getUseFontHints() == true) { + error = FT_Load_Glyph(face, charMap[ch], FT_LOAD_DEFAULT); + } else { + error = FT_Load_Glyph(face, charMap[ch], FT_LOAD_NO_HINTING); + } + + if (error) { + QString msg = i18n("FreeType is unable to load glyph #%1 from font file %2.", ch, parent->filename); + if (errorMessage.isEmpty()) { + errorMessage = msg; + } + qCCritical(OkularDviDebug) << msg; + g->shrunkenCharacter = QImage(1, 1, QImage::Format_RGB32); + g->shrunkenCharacter.fill(qRgb(255, 255, 255)); + return g; + } + + // convert to an anti-aliased bitmap + error = FT_Render_Glyph(face->glyph, ft_render_mode_normal); + if (error) { + QString msg = i18n("FreeType is unable to render glyph #%1 from font file %2.", ch, parent->filename); + if (errorMessage.isEmpty()) { + errorMessage = msg; + } + qCCritical(OkularDviDebug) << msg; + g->shrunkenCharacter = QImage(1, 1, QImage::Format_RGB32); + g->shrunkenCharacter.fill(qRgb(255, 255, 255)); + return g; + } + + FT_GlyphSlot slot = face->glyph; + + if ((slot->bitmap.width == 0) || (slot->bitmap.rows == 0)) { + if (errorMessage.isEmpty()) { + errorMessage = i18n("Glyph #%1 is empty.", ch); + } + qCCritical(OkularDviDebug) << i18n("Glyph #%1 from font file %2 is empty.", ch, parent->filename); + g->shrunkenCharacter = QImage(15, 15, QImage::Format_RGB32); + g->shrunkenCharacter.fill(qRgb(255, 0, 0)); + g->x2 = 0; + g->y2 = 15; + } else { + QImage imgi(slot->bitmap.width, slot->bitmap.rows, QImage::Format_ARGB32); + + // Do QPixmaps fully support the alpha channel? If yes, we use + // that. Otherwise, use other routines as a fallback + if (parent->font_pool->QPixmapSupportsAlpha) { + // If the alpha channel is properly supported, we set the + // character glyph to a colored rectangle, and define the + // character outline only using the alpha channel. That + // ensures good quality rendering for overlapping characters. + uchar *srcScanLine = slot->bitmap.buffer; + for (unsigned int row = 0; row < slot->bitmap.rows; row++) { + uchar *destScanLine = imgi.scanLine(row); + for (unsigned int col = 0; col < slot->bitmap.width; col++) { + destScanLine[4 * col + 0] = color.blue(); + destScanLine[4 * col + 1] = color.green(); + destScanLine[4 * col + 2] = color.red(); + destScanLine[4 * col + 3] = srcScanLine[col]; + } + srcScanLine += slot->bitmap.pitch; + } + } else { + // If the alpha channel is not supported... QT seems to turn + // the alpha channel into a crude bitmap which is used to mask + // the resulting QPixmap. In this case, we define the + // character outline using the image data, and use the alpha + // channel only to store "maximally opaque" or "completely + // transparent" values. When characters are rendered, + // overlapping characters are no longer correctly drawn, but + // quality is still sufficient for most purposes. One notable + // exception is output from the gftodvi program, which will be + // partially unreadable. + quint16 rInv = 0xFF - color.red(); + quint16 gInv = 0xFF - color.green(); + quint16 bInv = 0xFF - color.blue(); + + for (unsigned int y = 0; y < slot->bitmap.rows; y++) { + quint8 *srcScanLine = slot->bitmap.buffer + y * slot->bitmap.pitch; + unsigned int *destScanLine = reinterpret_cast(imgi.scanLine(y)); + for (unsigned int col = 0; col < slot->bitmap.width; col++) { + quint16 data = *srcScanLine; + // The value stored in "data" now has the following meaning: + // data = 0 -> white; data = 0xff -> use "color" + *destScanLine = qRgba(0xFF - (rInv * data + 0x7F) / 0xFF, 0xFF - (gInv * data + 0x7F) / 0xFF, 0xFF - (bInv * data + 0x7F) / 0xFF, (data > 0x03) ? 0xff : 0x00); + destScanLine++; + srcScanLine++; + } + } + } + + g->shrunkenCharacter = imgi; + g->x2 = -slot->bitmap_left; + g->y2 = slot->bitmap_top; + } + } + + // Load glyph width, if that hasn't been done yet. + if (g->dvi_advance_in_units_of_design_size_by_2e20 == 0) { + int error = FT_Load_Glyph(face, charMap[ch], FT_LOAD_NO_SCALE); + if (error) { + QString msg = i18n("FreeType is unable to load metric for glyph #%1 from font file %2.", ch, parent->filename); + if (errorMessage.isEmpty()) { + errorMessage = msg; + } + qCCritical(OkularDviDebug) << msg; + g->dvi_advance_in_units_of_design_size_by_2e20 = 1; + } else { + g->dvi_advance_in_units_of_design_size_by_2e20 = (qint32)(((qint64)(1 << 20) * (qint64)face->glyph->metrics.horiAdvance) / (qint64)face->units_per_EM); + } + } + + return g; +} + +#endif // HAVE_FREETYPE diff --git a/generators/dvi/TeXFont_PFB.h b/generators/dvi/TeXFont_PFB.h new file mode 100644 index 0000000..6df1b74 --- /dev/null +++ b/generators/dvi/TeXFont_PFB.h @@ -0,0 +1,41 @@ +// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; c-brace-offset: 0; -*- +// TeXFont_PFB.h +// +// Part of KDVI - A DVI previewer for the KDE desktop environment +// +// SPDX-FileCopyrightText: 2003 Stefan Kebekus +// SPDX-License-Identifier: GPL-2.0-or-later + +// This file is compiled only if the FreeType library is present on +// the system + +#ifndef _TEXFONT_PFB_H +#define _TEXFONT_PFB_H + +#include "TeXFont.h" + +#include +#include FT_FREETYPE_H + +class fontEncoding; +class glyph; + +class TeXFont_PFB : public TeXFont +{ +public: + explicit TeXFont_PFB(TeXFontDefinition *parent, fontEncoding *enc = nullptr, double slant = 0.0); + ~TeXFont_PFB() override; + + glyph *getGlyph(quint16 character, bool generateCharacterPixmap = false, const QColor &color = Qt::black) override; + +private: + FT_Face face; + bool fatalErrorInFontLoading; + quint16 charMap[256]; + + // This matrix is used internally to describes the slant, if + // nonzero. Otherwise, this is undefined. + FT_Matrix transformationMatrix; +}; + +#endif diff --git a/generators/dvi/TeXFont_PK.cpp b/generators/dvi/TeXFont_PK.cpp new file mode 100644 index 0000000..886dd07 --- /dev/null +++ b/generators/dvi/TeXFont_PK.cpp @@ -0,0 +1,753 @@ +// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; c-brace-offset: 0; -*- +/* + * SPDX-FileCopyrightText: 1994 Paul Vojta. All rights reserved. + * + * SPDX-License-Identifier: BSD-2-Clause + * + * NOTE: + * xdvi is based on prior work as noted in the modification history, below. + */ + +/* + * DVI previewer for X. + * + * Eric Cooper, CMU, September 1985. + * + * Code derived from dvi-imagen.c. + * + * Modification history: + * 1/1986 Modified for X.10 --Bob Scheifler, MIT LCS. + * 7/1988 Modified for X.11 --Mark Eichin, MIT + * 12/1988 Added 'R' option, toolkit, magnifying glass + * --Paul Vojta, UC Berkeley. + * 2/1989 Added tpic support --Jeffrey Lee, U of Toronto + * 4/1989 Modified for System V --Donald Richardson, Clarkson Univ. + * 3/1990 Added VMS support --Scott Allendorf, U of Iowa + * 7/1990 Added reflection mode --Michael Pak, Hebrew U of Jerusalem + * 1/1992 Added greyscale code --Till Brychcy, Techn. Univ. Muenchen + * and Lee Hetherington, MIT + * 4/1994 Added DPS support, bounding box + * --Ricardo Telichevesky + * and Luis Miguel Silveira, MIT RLE. + */ + +#include + +#include "TeXFont_PK.h" +#include "debug_dvi.h" +#include "fontpool.h" +#include "xdvi.h" + +#include + +#include +#include + +#include +#include + +// #define DEBUG_PK + +#define PK_PRE 247 +#define PK_ID 89 +#define PK_MAGIC (PK_PRE << 8) + PK_ID + +extern void oops(const QString &message); + +TeXFont_PK::TeXFont_PK(TeXFontDefinition *parent) + : TeXFont(parent) +{ +#ifdef DEBUG_PK + qCDebug(OkularDviDebug) << "TeXFont_PK::TeXFont_PK( parent=" << parent << ")"; +#endif + + for (auto &characterBitmap : characterBitmaps) { + characterBitmap = nullptr; + } + file = fopen(QFile::encodeName(parent->filename).constData(), "r"); + if (file == nullptr) { + qCCritical(OkularDviDebug) << i18n("Cannot open font file %1.", parent->filename); + } +#ifdef DEBUG_PK + else + qCDebug(OkularDviDebug) << "TeXFont_PK::TeXFont_PK(): file opened successfully"; +#endif + + read_PK_index(); + +#ifdef DEBUG_PK + qCDebug(OkularDviDebug) << "TeXFont_PK::TeXFont_PK() ended"; +#endif +} + +TeXFont_PK::~TeXFont_PK() +{ + //@@@ Release bitmaps + for (bitmap *characterBitmap : characterBitmaps) { + delete characterBitmap; + } + + if (file != nullptr) { + fclose(file); + file = nullptr; + } +} + +glyph *TeXFont_PK::getGlyph(quint16 ch, bool generateCharacterPixmap, const QColor &color) +{ +#ifdef DEBUG_PK + qCDebug(OkularDviDebug) << "TeXFont_PK::getGlyph( ch=" << ch << ", generateCharacterPixmap=" << generateCharacterPixmap << " )"; +#endif + + // Paranoia checks + if (ch >= TeXFontDefinition::max_num_of_chars_in_font) { + qCCritical(OkularDviDebug) << "TeXFont_PK::getGlyph(): Argument is too big."; + return glyphtable; + } + + // This is the address of the glyph that will be returned. + class glyph *g = glyphtable + ch; + + // Check if the glyph is loaded. If not, load it now. + if (characterBitmaps[ch] == nullptr) { + // If the character is not defined in the PK file, mark the + // character as missing, and print an error message + if (g->addr == 0) { + qCCritical(OkularDviDebug) << i18n("TexFont_PK::operator[]: Character %1 not defined in font %2", ch, parent->filename); + g->addr = -1; + return g; + } + + // If the character has already been marked as missing, just + // return a pointer to the glyph (which will then be empty) + if (g->addr == -1) { + return g; + } + + // Otherwise, try to load the character + fseek(file, g->addr, 0); + read_PK_char(ch); + // Check if the character could be loaded. If not, mark the + // character as 'missing', and return a pointer. + if (characterBitmaps[ch]->bits == nullptr) { + g->addr = -1; + return g; + } + } + + // At this point, g points to a properly loaded character. Generate + // a smoothly scaled QPixmap if the user asks for it. + if ((generateCharacterPixmap == true) && ((g->shrunkenCharacter.isNull()) || (color != g->color)) && (characterBitmaps[ch]->w != 0)) { + g->color = color; + double shrinkFactor = 1200 / parent->displayResolution_in_dpi; + + // All is fine? Then we rescale the bitmap in order to produce the + // required pixmap. Rescaling a character, however, is an art + // that requires some explanation... + // + // If we would just divide the size of the character and the + // coordinates by the shrink factor, then the result would look + // quite ugly: due to the inevitable rounding errors in the + // integer arithmetic, the characters would be displaced by up to + // a pixel. That doesn't sound much, but on low-resolution + // devices, such as a notebook screen, the effect would be a + // "dancing line" of characters, which looks really bad. + + // Calculate the coordinates of the hot point in the shrunken + // bitmap. For simplicity, let us consider the x-coordinate + // first. In principle, the hot point should have an x-coordinate + // of (g->x/shrinkFactor). That, however, will generally NOT be an + // integral number. The cure is to translate the source image + // somewhat, so that the x-coordinate of the hot point falls onto + // the round-up of this number, i.e. + g->x2 = (int)ceil(g->x / shrinkFactor); + + // Translating and scaling then means that the pixel in the scaled + // image which covers the range [x,x+1) corresponds to the range + // [x*shrinkFactor+srcXTrans, (x+1)*shrinkFactor+srcXTrans), where + // srcXTrans is the following NEGATIVE number + double srcXTrans = shrinkFactor * (g->x / shrinkFactor - ceil(g->x / shrinkFactor)); + + // How big will the shrunken bitmap then become? If shrunk_width + // denotes that width of the scaled image, and + // characterBitmaps[ch]->w the width of the original image, we + // need to make sure that the following inequality holds: + // + // shrunk_width*shrinkFactor+srcXTrans >= characterBitmaps[ch]->w + // + // in other words, + int shrunk_width = (int)ceil((characterBitmaps[ch]->w - srcXTrans) / shrinkFactor); + + // Now do the same for the y-coordinate + g->y2 = (int)ceil(g->y / shrinkFactor); + double srcYTrans = shrinkFactor * (g->y / shrinkFactor - ceil(g->y / shrinkFactor)); + int shrunk_height = (int)ceil((characterBitmaps[ch]->h - srcYTrans) / shrinkFactor); + + // Turn the image into 8 bit + QByteArray translated(characterBitmaps[ch]->w * characterBitmaps[ch]->h, '\0'); + quint8 *data = reinterpret_cast(translated.data()); + for (int x = 0; x < characterBitmaps[ch]->w; x++) { + for (int y = 0; y < characterBitmaps[ch]->h; y++) { + quint8 bit = *(characterBitmaps[ch]->bits + characterBitmaps[ch]->bytes_wide * y + (x >> 3)); + bit = bit >> (x & 7); + bit = bit & 1; + data[characterBitmaps[ch]->w * y + x] = bit; + } + } + + // Now shrink the image. We shrink the X-direction first + QByteArray xshrunk(shrunk_width * characterBitmaps[ch]->h, '\0'); + quint8 *xdata = reinterpret_cast(xshrunk.data()); + + // Do the shrinking. The pixel (x,y) that we want to calculate + // corresponds to the line segment from + // + // [shrinkFactor*x+srcXTrans, shrinkFactor*(x+1)+srcXTrans) + // + // The trouble is, these numbers are in general no integers. + + for (int y = 0; y < characterBitmaps[ch]->h; y++) { + for (int x = 0; x < shrunk_width; x++) { + quint32 value = 0; + double destStartX = shrinkFactor * x + srcXTrans; + double destEndX = shrinkFactor * (x + 1) + srcXTrans; + for (int srcX = (int)ceil(destStartX); srcX < floor(destEndX); srcX++) { + if ((srcX >= 0) && (srcX < characterBitmaps[ch]->w)) { + value += data[characterBitmaps[ch]->w * y + srcX] * 255; + } + } + + if (destStartX >= 0.0) { + value += (quint32)(255.0 * (ceil(destStartX) - destStartX) * data[characterBitmaps[ch]->w * y + (int)floor(destStartX)]); + } + if (floor(destEndX) < characterBitmaps[ch]->w) { + value += (quint32)(255.0 * (destEndX - floor(destEndX)) * data[characterBitmaps[ch]->w * y + (int)floor(destEndX)]); + } + + xdata[shrunk_width * y + x] = (int)(value / shrinkFactor + 0.5); + } + } + + // Now shrink the Y-direction + QByteArray xyshrunk(shrunk_width * shrunk_height, '\0'); + quint8 *xydata = reinterpret_cast(xyshrunk.data()); + for (int x = 0; x < shrunk_width; x++) { + for (int y = 0; y < shrunk_height; y++) { + quint32 value = 0; + double destStartY = shrinkFactor * y + srcYTrans; + double destEndY = shrinkFactor * (y + 1) + srcYTrans; + for (int srcY = (int)ceil(destStartY); srcY < floor(destEndY); srcY++) { + if ((srcY >= 0) && (srcY < characterBitmaps[ch]->h)) { + value += xdata[shrunk_width * srcY + x]; + } + } + + if (destStartY >= 0.0) { + value += (quint32)((ceil(destStartY) - destStartY) * xdata[shrunk_width * (int)floor(destStartY) + x]); + } + if (floor(destEndY) < characterBitmaps[ch]->h) { + value += (quint32)((destEndY - floor(destEndY)) * xdata[shrunk_width * (int)floor(destEndY) + x]); + } + + xydata[shrunk_width * y + x] = (int)(value / shrinkFactor); + } + } + + QImage im32(shrunk_width, shrunk_height, QImage::Format_ARGB32); + // Do QPixmaps fully support the alpha channel? If yes, we use + // that. Otherwise, use other routines as a fallback + if (parent->font_pool->QPixmapSupportsAlpha) { + // If the alpha channel is properly supported, we set the + // character glyph to a colored rectangle, and define the + // character outline only using the alpha channel. That ensures + // good quality rendering for overlapping characters. + im32.fill(qRgb(color.red(), color.green(), color.blue())); + for (int y = 0; y < shrunk_height; y++) { + quint8 *destScanLine = reinterpret_cast(im32.scanLine(y)); + for (int col = 0; col < shrunk_width; col++) { + destScanLine[4 * col + 3] = xydata[shrunk_width * y + col]; + } + } + } else { + // If the alpha channel is not supported... QT seems to turn the + // alpha channel into a crude bitmap which is used to mask the + // resulting QPixmap. In this case, we define the character + // outline using the image data, and use the alpha channel only + // to store "maximally opaque" or "completely transparent" + // values. When characters are rendered, overlapping characters + // are no longer correctly drawn, but quality is still + // sufficient for most purposes. One notable exception is output + // from the gftodvi program, which will be partially unreadable. + quint16 rInv = 0xFF - color.red(); + quint16 gInv = 0xFF - color.green(); + quint16 bInv = 0xFF - color.blue(); + + quint8 *srcScanLine = xydata; + for (int y = 0; y < shrunk_height; y++) { + unsigned int *destScanLine = reinterpret_cast(im32.scanLine(y)); + for (int col = 0; col < shrunk_width; col++) { + quint16 lineData = *srcScanLine; + // The value stored in "data" now has the following meaning: + // data = 0 -> white; data = 0xff -> use "color" + *destScanLine = qRgba(0xFF - (rInv * lineData + 0x7F) / 0xFF, 0xFF - (gInv * lineData + 0x7F) / 0xFF, 0xFF - (bInv * lineData + 0x7F) / 0xFF, (lineData > 0x03) ? 0xff : 0x00); + destScanLine++; + srcScanLine++; + } + } + } + + g->shrunkenCharacter = im32; + } + return g; +} + +#define ADD(a, b) (reinterpret_cast((reinterpret_cast(a)) + b)) +#define SUB(a, b) (reinterpret_cast((reinterpret_cast(a)) - b)) + +// This table is used for changing the bit order in a byte. The +// expression bitflp[byte] takes a byte in big endian and gives the +// little endian equivalent of that. +static const uchar bitflip[256] = {0, 128, 64, 192, 32, 160, 96, 224, 16, 144, 80, 208, 48, 176, 112, 240, 8, 136, 72, 200, 40, 168, 104, 232, 24, 152, 88, 216, 56, 184, 120, 248, 4, 132, 68, 196, 36, + 164, 100, 228, 20, 148, 84, 212, 52, 180, 116, 244, 12, 140, 76, 204, 44, 172, 108, 236, 28, 156, 92, 220, 60, 188, 124, 252, 2, 130, 66, 194, 34, 162, 98, 226, 18, 146, + 82, 210, 50, 178, 114, 242, 10, 138, 74, 202, 42, 170, 106, 234, 26, 154, 90, 218, 58, 186, 122, 250, 6, 134, 70, 198, 38, 166, 102, 230, 22, 150, 86, 214, 54, 182, 118, + 246, 14, 142, 78, 206, 46, 174, 110, 238, 30, 158, 94, 222, 62, 190, 126, 254, 1, 129, 65, 193, 33, 161, 97, 225, 17, 145, 81, 209, 49, 177, 113, 241, 9, 137, 73, 201, + 41, 169, 105, 233, 25, 153, 89, 217, 57, 185, 121, 249, 5, 133, 69, 197, 37, 165, 101, 229, 21, 149, 85, 213, 53, 181, 117, 245, 13, 141, 77, 205, 45, 173, 109, 237, 29, + 157, 93, 221, 61, 189, 125, 253, 3, 131, 67, 195, 35, 163, 99, 227, 19, 147, 83, 211, 51, 179, 115, 243, 11, 139, 75, 203, 43, 171, 107, 235, 27, 155, 91, 219, 59, 187, + 123, 251, 7, 135, 71, 199, 39, 167, 103, 231, 23, 151, 87, 215, 55, 183, 119, 247, 15, 143, 79, 207, 47, 175, 111, 239, 31, 159, 95, 223, 63, 191, 127, 255}; + +static const quint32 bit_masks[33] = {0x0, 0x1, 0x3, 0x7, 0xf, 0x1f, 0x3f, 0x7f, 0xff, 0x1ff, 0x3ff, 0x7ff, 0xfff, 0x1fff, 0x3fff, 0x7fff, 0xffff, + 0x1ffff, 0x3ffff, 0x7ffff, 0xfffff, 0x1fffff, 0x3fffff, 0x7fffff, 0xffffff, 0x1ffffff, 0x3ffffff, 0x7ffffff, 0xfffffff, 0x1fffffff, 0x3fffffff, 0x7fffffff, 0xffffffff}; + +#define PK_ID 89 +#define PK_CMD_START 240 +#define PK_X1 240 +#define PK_X2 241 +#define PK_X3 242 +#define PK_X4 243 +#define PK_Y 244 +#define PK_POST 245 +#define PK_NOOP 246 +#define PK_PRE 247 + +int TeXFont_PK::PK_get_nyb(FILE *fp) +{ +#ifdef DEBUG_PK + qCDebug(OkularDviDebug) << "PK_get_nyb"; +#endif + + unsigned temp; + if (PK_bitpos < 0) { + PK_input_byte = one(fp); + PK_bitpos = 4; + } + temp = PK_input_byte >> PK_bitpos; + PK_bitpos -= 4; + return (temp & 0xf); +} + +int TeXFont_PK::PK_packed_num(FILE *fp) +{ +#ifdef DEBUG_PK + qCDebug(OkularDviDebug) << "PK_packed_num"; +#endif + + int i; + + if ((i = PK_get_nyb(fp)) == 0) { + int j; + do { + j = PK_get_nyb(fp); + ++i; + } while (j == 0); + while (i > 0) { + j = (j << 4) | PK_get_nyb(fp); + --i; + } + return (j - 15 + ((13 - PK_dyn_f) << 4) + PK_dyn_f); + } else { + if (i <= PK_dyn_f) { + return i; + } + if (i < 14) { + return (((i - PK_dyn_f - 1) << 4) + PK_get_nyb(fp) + PK_dyn_f + 1); + } + if (i == 14) { + PK_repeat_count = PK_packed_num(fp); + } else { + PK_repeat_count = 1; + } + return PK_packed_num(fp); + } +} + +void TeXFont_PK::PK_skip_specials() +{ +#ifdef DEBUG_PK + qCDebug(OkularDviDebug) << "TeXFont_PK::PK_skip_specials() called"; +#endif + + int i, j; + FILE *fp = file; + +#ifdef DEBUG_PK + if (fp == 0) + qCDebug(OkularDviDebug) << "TeXFont_PK::PK_skip_specials(): file == 0"; +#endif + + do { + PK_flag_byte = one(fp); + if (PK_flag_byte >= PK_CMD_START) { + switch (PK_flag_byte) { + case PK_X1: + case PK_X2: + case PK_X3: + case PK_X4: + i = 0; + for (j = PK_CMD_START; j <= PK_flag_byte; ++j) { + i = (i << 8) | one(fp); + } + while (i--) { + (void)one(fp); + } + break; + case PK_Y: + (void)four(fp); + case PK_POST: + case PK_NOOP: + break; + default: + oops(i18n("Unexpected %1 in PK file %2", PK_flag_byte, parent->filename)); + break; + } + } + } while (PK_flag_byte != PK_POST && PK_flag_byte >= PK_CMD_START); + +#ifdef DEBUG_PK + qCDebug(OkularDviDebug) << "TeXFont_PK::PK_skip_specials() ended"; +#endif +} + +void TeXFont_PK::read_PK_char(unsigned int ch) +{ +#ifdef DEBUG_PK + qCDebug(OkularDviDebug) << "read_PK_char"; +#endif + + int i, j; + int n; + int row_bit_pos; + bool paint_switch; + quint32 *cp; + class glyph *g; + FILE *fp = file; + long fpwidth; + quint32 word = 0; + int word_weight, bytes_wide; + int rows_left, h_bit, count; + + g = glyphtable + ch; + PK_flag_byte = g->x2; + PK_dyn_f = PK_flag_byte >> 4; + paint_switch = ((PK_flag_byte & 8) != 0); + PK_flag_byte &= 0x7; + if (PK_flag_byte == 7) { + n = 4; + } else if (PK_flag_byte > 3) { + n = 2; + } else { + n = 1; + } + +#ifdef DEBUG_PK + qCDebug(OkularDviDebug) << "loading pk char " << ch << ", char type " << n; +#endif + + if (characterBitmaps[ch] == nullptr) { + characterBitmaps[ch] = new bitmap(); + } + + /* + * now read rest of character preamble + */ + if (n != 4) { + fpwidth = num(fp, 3); + } else { + fpwidth = sfour(fp); + (void)four(fp); /* horizontal escapement */ + } + (void)num(fp, n); /* vertical escapement */ + { + unsigned long w, h; + + w = num(fp, n); + h = num(fp, n); + if (w > 0x7fff || h > 0x7fff) { + oops(i18n("The character %1 is too large in file %2", ch, parent->filename)); + } + characterBitmaps[ch]->w = w; + characterBitmaps[ch]->h = h; + } + g->x = snum(fp, n); + g->y = snum(fp, n); + + g->dvi_advance_in_units_of_design_size_by_2e20 = fpwidth; + + { + /* width must be multiple of 16 bits for raster_op */ + characterBitmaps[ch]->bytes_wide = ROUNDUP((int)characterBitmaps[ch]->w, 32) * 4; + unsigned int size = characterBitmaps[ch]->bytes_wide * characterBitmaps[ch]->h; + characterBitmaps[ch]->bits = new char[size != 0 ? size : 1]; + } + + cp = reinterpret_cast(characterBitmaps[ch]->bits); + + /* + * read character data into *cp + */ + bytes_wide = ROUNDUP((int)characterBitmaps[ch]->w, 32) * 4; + PK_bitpos = -1; + + // The routines which read the character depend on the bit + // ordering. In principle, the bit order should be detected at + // compile time and the proper routing chosen. For the moment, as + // autoconf is somewhat complicated for the author, we prefer a + // simpler -even if somewhat slower approach and detect the ordering + // at runtime. That should of course be changed in the future. + + if (QSysInfo::ByteOrder == QSysInfo::BigEndian) { + // Routine for big Endian machines. Applies e.g. to Motorola and + // (Ultra-)Sparc processors. + +#ifdef DEBUG_PK + qCDebug(OkularDviDebug) << "big Endian byte ordering"; +#endif + + if (PK_dyn_f == 14) { /* get raster by bits */ + memset(characterBitmaps[ch]->bits, 0, (int)characterBitmaps[ch]->h * bytes_wide); + for (i = 0; i < (int)characterBitmaps[ch]->h; i++) { /* get all rows */ + cp = ADD(characterBitmaps[ch]->bits, i * bytes_wide); + row_bit_pos = 32; + for (j = 0; j < (int)characterBitmaps[ch]->w; j++) { /* get one row */ + if (--PK_bitpos < 0) { + word = one(fp); + PK_bitpos = 7; + } + if (--row_bit_pos < 0) { + cp++; + row_bit_pos = 32 - 1; + } + if (word & (1 << PK_bitpos)) { + *cp |= 1 << row_bit_pos; + } + } + } + } else { /* get packed raster */ + rows_left = characterBitmaps[ch]->h; + h_bit = characterBitmaps[ch]->w; + PK_repeat_count = 0; + word_weight = 32; + word = 0; + while (rows_left > 0) { + count = PK_packed_num(fp); + while (count > 0) { + if (count < word_weight && count < h_bit) { + h_bit -= count; + word_weight -= count; + if (paint_switch) { + word |= bit_masks[count] << word_weight; + } + count = 0; + } else if (count >= h_bit && h_bit <= word_weight) { + if (paint_switch) { + word |= bit_masks[h_bit] << (word_weight - h_bit); + } + *cp++ = word; + /* "output" row(s) */ + for (i = PK_repeat_count * bytes_wide / 4; i > 0; --i) { + *cp = *SUB(cp, bytes_wide); + ++cp; + } + rows_left -= PK_repeat_count + 1; + PK_repeat_count = 0; + word = 0; + word_weight = 32; + count -= h_bit; + h_bit = characterBitmaps[ch]->w; + } else { + if (paint_switch) { + word |= bit_masks[word_weight]; + } + *cp++ = word; + word = 0; + count -= word_weight; + h_bit -= word_weight; + word_weight = 32; + } + } + paint_switch = 1 - paint_switch; + } + if (cp != (reinterpret_cast(characterBitmaps[ch]->bits + bytes_wide * characterBitmaps[ch]->h))) { + oops(i18n("Wrong number of bits stored: char. %1, font %2", ch, parent->filename)); + } + if (rows_left != 0 || h_bit != characterBitmaps[ch]->w) { + oops(i18n("Bad pk file (%1), too many bits", parent->filename)); + } + } + + // The data in the bitmap is now in the processor's bit order, + // that is, big endian. Since XWindows needs little endian, we + // need to change the bit order now. + unsigned char *bitmapData = reinterpret_cast(characterBitmaps[ch]->bits); + const unsigned char *endOfData = bitmapData + characterBitmaps[ch]->bytes_wide * characterBitmaps[ch]->h; + while (bitmapData < endOfData) { + *bitmapData = bitflip[*bitmapData]; + bitmapData++; + } + + } else { + // Routines for small Endian start here. This applies e.g. to + // Intel and Alpha processors. + +#ifdef DEBUG_PK + qCDebug(OkularDviDebug) << "small Endian byte ordering"; +#endif + + if (PK_dyn_f == 14) { /* get raster by bits */ + memset(characterBitmaps[ch]->bits, 0, (int)characterBitmaps[ch]->h * bytes_wide); + for (i = 0; i < (int)characterBitmaps[ch]->h; i++) { /* get all rows */ + cp = ADD(characterBitmaps[ch]->bits, i * bytes_wide); + row_bit_pos = -1; + for (j = 0; j < (int)characterBitmaps[ch]->w; j++) { /* get one row */ + if (--PK_bitpos < 0) { + word = one(fp); + PK_bitpos = 7; + } + if (++row_bit_pos >= 32) { + cp++; + row_bit_pos = 0; + } + if (word & (1 << PK_bitpos)) { + *cp |= 1 << row_bit_pos; + } + } + } + } else { /* get packed raster */ + rows_left = characterBitmaps[ch]->h; + h_bit = characterBitmaps[ch]->w; + PK_repeat_count = 0; + word_weight = 32; + word = 0; + while (rows_left > 0) { + count = PK_packed_num(fp); + while (count > 0) { + if (count < word_weight && count < h_bit) { + if (paint_switch) { + word |= bit_masks[count] << (32 - word_weight); + } + h_bit -= count; + word_weight -= count; + count = 0; + } else if (count >= h_bit && h_bit <= word_weight) { + if (paint_switch) { + word |= bit_masks[h_bit] << (32 - word_weight); + } + *cp++ = word; + /* "output" row(s) */ + for (i = PK_repeat_count * bytes_wide / 4; i > 0; --i) { + *cp = *SUB(cp, bytes_wide); + ++cp; + } + rows_left -= PK_repeat_count + 1; + PK_repeat_count = 0; + word = 0; + word_weight = 32; + count -= h_bit; + h_bit = characterBitmaps[ch]->w; + } else { + if (paint_switch) { + word |= bit_masks[word_weight] << (32 - word_weight); + } + *cp++ = word; + word = 0; + count -= word_weight; + h_bit -= word_weight; + word_weight = 32; + } + } + paint_switch = 1 - paint_switch; + } + if (cp != (reinterpret_cast(characterBitmaps[ch]->bits + bytes_wide * characterBitmaps[ch]->h))) { + oops(i18n("Wrong number of bits stored: char. %1, font %2", ch, parent->filename)); + } + if (rows_left != 0 || h_bit != characterBitmaps[ch]->w) { + oops(i18n("Bad pk file (%1), too many bits", parent->filename)); + } + } + } // endif: big or small Endian? +} + +void TeXFont_PK::read_PK_index() +{ +#ifdef DEBUG_PK + qCDebug(OkularDviDebug) << "TeXFont_PK::read_PK_index() called"; +#endif + + if (file == nullptr) { + qCCritical(OkularDviDebug) << "TeXFont_PK::read_PK_index(): file == 0"; + return; + } + + int magic = two(file); + if (magic != PK_MAGIC) { + qCCritical(OkularDviDebug) << "TeXFont_PK::read_PK_index(): file is not a PK file"; + return; + } + + fseek(file, (long)one(file), SEEK_CUR); /* skip comment */ + (void)four(file); /* skip design size */ + + checksum = four(file); + + int hppp = sfour(file); + int vppp = sfour(file); + if (hppp != vppp) { + qCWarning(OkularDviDebug) << i18n("Font has non-square aspect ratio ") << vppp << ":" << hppp; + } + + // Read glyph directory (really a whole pass over the file). + for (;;) { + int bytes_left, flag_low_bits; + unsigned int ch; + + PK_skip_specials(); + if (PK_flag_byte == PK_POST) { + break; + } + flag_low_bits = PK_flag_byte & 0x7; + if (flag_low_bits == 7) { + bytes_left = four(file); + ch = four(file); + } else if (flag_low_bits > 3) { + bytes_left = ((flag_low_bits - 4) << 16) + two(file); + ch = one(file); + } else { + bytes_left = (flag_low_bits << 8) + one(file); + ch = one(file); + } + + if (ch >= TeXFontDefinition::max_num_of_chars_in_font) { + qCCritical(OkularDviDebug) << "TeXFont_PK::read_PK_index(): ch is out of bounds" << ch; + return; + } + + glyphtable[ch].addr = ftell(file); + glyphtable[ch].x2 = PK_flag_byte; + fseek(file, (long)bytes_left, SEEK_CUR); +#ifdef DEBUG_PK + qCDebug(OkularDviDebug) << "Scanning pk char " << ch << "at " << glyphtable[ch].addr; +#endif + } +#ifdef DEBUG_PK + qCDebug(OkularDviDebug) << "TeXFont_PK::read_PK_index() called"; +#endif +} diff --git a/generators/dvi/TeXFont_PK.h b/generators/dvi/TeXFont_PK.h new file mode 100644 index 0000000..0ec874f --- /dev/null +++ b/generators/dvi/TeXFont_PK.h @@ -0,0 +1,41 @@ +// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; c-brace-offset: 0; -*- + +#ifndef _TEXFONT_PK_H +#define _TEXFONT_PK_H + +#include "TeXFont.h" + +class glyph; + +class TeXFont_PK : public TeXFont +{ +public: + explicit TeXFont_PK(TeXFontDefinition *parent); + ~TeXFont_PK() override; + + glyph *getGlyph(quint16 character, bool generateCharacterPixmap = false, const QColor &color = Qt::black) override; + +private: + // open font file or NULL + FILE *file; + + struct bitmap *characterBitmaps[TeXFontDefinition::max_num_of_chars_in_font] = {}; + + // For use by PK-decryption routines. I don't understand what these + // are good for -- Stefan Kebekus + int PK_flag_byte; + unsigned int PK_input_byte = 0; + int PK_bitpos = 0; + int PK_dyn_f = 0; + int PK_repeat_count = 0; + + // PK-internal routines which were taken from xdvi. Again, I do not + // really know what they are good for -- Stefan Kebekus + inline void read_PK_char(unsigned int ch); + inline int PK_get_nyb(FILE *fp); + inline int PK_packed_num(FILE *fp); + inline void read_PK_index(); + inline void PK_skip_specials(); +}; + +#endif diff --git a/generators/dvi/TeXFont_TFM.cpp b/generators/dvi/TeXFont_TFM.cpp new file mode 100644 index 0000000..7df5c5b --- /dev/null +++ b/generators/dvi/TeXFont_TFM.cpp @@ -0,0 +1,146 @@ +// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; c-brace-offset: 0; -*- +// TeXFont_TFM.cpp +// +// Part of KDVI - A DVI previewer for the KDE desktop environment +// +// SPDX-FileCopyrightText: 2003 Stefan Kebekus +// SPDX-License-Identifier: GPL-2.0-or-later + +#include + +#include "TeXFont_TFM.h" +#include "debug_dvi.h" + +#include +#include +#include +#include + +// #define DEBUG_TFM + +TeXFont_TFM::TeXFont_TFM(TeXFontDefinition *parent) + : TeXFont(parent) +{ +#ifdef DEBUG_TFM + qCDebug(OkularDviDebug) << "TeXFont_TFM::TeXFont_TFM( parent=" << parent << " )"; +#endif + + QFile file(parent->filename); + if (!file.open(QIODevice::ReadOnly)) { + qCCritical(OkularDviDebug) << "TeXFont_TFM::TeXFont_TFM(): Could not read TFM file"; + return; + } + QDataStream stream(&file); + + // Data from the very beginning of the TFM file, as specified in + // "The DVI Driver Standard, Level 0", section D.2.1 + quint16 lf, lh, bc, ec, nw, nh, nd; + stream >> lf >> lh >> bc >> ec >> nw >> nh >> nd; +#ifdef DEBUG_TFM + qCDebug(OkularDviDebug) << "lf= " << lf << "lh= " << lh << "\nbc= " << bc << "\nec= " << ec << "\nnw= " << nw << "\nnh= " << nh << "\nnd= " << nd; +#endif + if ((bc > ec) || (ec >= TeXFontDefinition::max_num_of_chars_in_font) || (nw >= TeXFontDefinition::max_num_of_chars_in_font) || (nh >= 16)) { + qCCritical(OkularDviDebug) << "TeXFont_TFM::TeXFont_TFM( filename=" << parent->filename << " ): The font has an invalid bc and ec entries."; + file.close(); + return; + } + + // Data from the HEADER section of the TFM data. + file.seek(24); + stream >> checksum >> design_size_in_TeX_points.value; +#ifdef DEBUG_TFM + qCDebug(OkularDviDebug) << "checksum = " << checksum << "design_size = " << design_size_in_TeX_points.toDouble() << " TeX Points\n" + << " = " << design_size_in_TeX_points.toDouble() * 254.0 / 7227.0 << " cm"; +#endif + + // Width table + std::array widthTable_in_units_of_design_size = {}; + + file.seek(24 + 4 * lh + 4 * (ec - bc)); + for (unsigned int i = 0; i < nw; i++) { + stream >> widthTable_in_units_of_design_size[i].value; + // Some characters, which are used as parts of glyphs, have width + // 0 --the real width is calculated in a lig_kern program and + // depends on the preceding character. We cannot calculate the + // real width here and take 0.4 times the design size as an + // approximation. + if (widthTable_in_units_of_design_size[i].value == 0) { + widthTable_in_units_of_design_size[i].fromDouble(0.4); + } + } + + // Height table + std::array heightTable_in_units_of_design_size = {}; + for (unsigned int i = 0; i < nh; i++) { + stream >> heightTable_in_units_of_design_size[i].value; + } + + // Char-Info table + file.seek(24 + 4 * lh); + for (unsigned int characterCode = bc; characterCode < ec; characterCode++) { + glyph *g = glyphtable + characterCode; + + quint8 byte; + stream >> byte; + if (byte >= nw) { + qCCritical(OkularDviDebug) << "TeXFont_TFM::TeXFont_TFM( filename=" << parent->filename << " ): The font has an invalid Char-Info table."; + } else { + characterWidth_in_units_of_design_size[characterCode] = widthTable_in_units_of_design_size[byte]; + g->dvi_advance_in_units_of_design_size_by_2e20 = widthTable_in_units_of_design_size[byte].value; + } + + stream >> byte; + byte = byte >> 4; + if (byte >= nh) { + qCCritical(OkularDviDebug) << "TeXFont_TFM::TeXFont_TFM( filename=" << parent->filename << " ): The font has an invalid Char-Info table."; + } else { + characterHeight_in_units_of_design_size[characterCode] = heightTable_in_units_of_design_size[byte]; + } + + stream >> byte; + stream >> byte; + } + file.close(); +} + +TeXFont_TFM::~TeXFont_TFM() +{ +} + +glyph *TeXFont_TFM::getGlyph(quint16 characterCode, bool generateCharacterPixmap, const QColor &color) +{ +#ifdef DEBUG_TFM + qCDebug(OkularDviDebug) << "TeXFont_TFM::getGlyph( ch=" << ch << ", generateCharacterPixmap=" << generateCharacterPixmap << " )"; +#endif + + // Paranoia checks + if (characterCode >= TeXFontDefinition::max_num_of_chars_in_font) { + qCCritical(OkularDviDebug) << "TeXFont_TFM::getGlyph(): Argument is too big."; + return glyphtable; + } + + // This is the address of the glyph that will be returned. + class glyph *g = glyphtable + characterCode; + + if ((generateCharacterPixmap == true) && ((g->shrunkenCharacter.isNull()) || (color != g->color))) { + g->color = color; + quint16 pixelWidth = (quint16)(parent->displayResolution_in_dpi * design_size_in_TeX_points.toDouble() * characterWidth_in_units_of_design_size[characterCode].toDouble() * 100.0 / 7227.0 + 0.5); + quint16 pixelHeight = (quint16)(parent->displayResolution_in_dpi * design_size_in_TeX_points.toDouble() * characterHeight_in_units_of_design_size[characterCode].toDouble() * 100.0 / 7227.0 + 0.5); + + // Just make sure that weird TFM files never lead to giant + // pixmaps that eat all system memory... + if (pixelWidth > 50) { + pixelWidth = 50; + } + if (pixelHeight > 50) { + pixelHeight = 50; + } + + g->shrunkenCharacter = QImage(pixelWidth, pixelHeight, QImage::Format_RGB32); + g->shrunkenCharacter.fill(color.rgba()); + g->x2 = 0; + g->y2 = pixelHeight; + } + + return g; +} diff --git a/generators/dvi/TeXFont_TFM.h b/generators/dvi/TeXFont_TFM.h new file mode 100644 index 0000000..5663ed3 --- /dev/null +++ b/generators/dvi/TeXFont_TFM.h @@ -0,0 +1,48 @@ +// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; c-brace-offset: 0; -*- +// TeXFont_TFM.h +// +// Part of KDVI - A DVI previewer for the KDE desktop environment +// +// SPDX-FileCopyrightText: 2003 Stefan Kebekus +// SPDX-License-Identifier: GPL-2.0-or-later + +#ifndef _TEXFONT_TFM_H +#define _TEXFONT_TFM_H + +#include "TeXFont.h" + +class fix_word +{ +public: + void fromINT32(qint32 val) + { + value = val; + } + void fromDouble(double val) + { + value = (qint32)(val * (1 << 20) + 0.5); + } + double toDouble() + { + return (double(value)) / (double(1 << 20)); + } + + qint32 value = 0; +}; + +class TeXFont_TFM : public TeXFont +{ +public: + explicit TeXFont_TFM(TeXFontDefinition *parent); + ~TeXFont_TFM() override; + + glyph *getGlyph(quint16 character, bool generateCharacterPixmap = false, const QColor &color = Qt::black) override; + +private: + fix_word characterWidth_in_units_of_design_size[256]; + fix_word characterHeight_in_units_of_design_size[256]; + + fix_word design_size_in_TeX_points; +}; + +#endif diff --git a/generators/dvi/anchor.h b/generators/dvi/anchor.h new file mode 100644 index 0000000..a1364c4 --- /dev/null +++ b/generators/dvi/anchor.h @@ -0,0 +1,69 @@ +// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; c-brace-offset: 0; -*- +// +// anchor.h +// +// Part of KVIEWSHELL - A framework for multipage text/gfx viewers +// +// SPDX-FileCopyrightText: 2004-2005 Stefan Kebekus +// SPDX-License-Identifier: GPL-2.0-or-later + +#ifndef ANCHOR_H +#define ANCHOR_H + +#include "length.h" +#include "pageNumber.h" + +/** \brief Page number and vertical position in physical coordinates + +This very simple class contains a page number and a vertical position +in physical coordinates. The vertical position is given by the +distance from the top of the page. Anchors are completely independent +of documents, there is no need for a document to exists that contains +the given page, nor does the page number need to be valid. + +@author Stefan Kebekus +@version 1.0 0 +*/ + +class Anchor +{ +public: + /** \brief Constructs an anchor that points to an invalid page */ + Anchor() + : page(0) + { + } + + /** \brief Constructs an anchor that points to a given position on a + given page + + The class contains no code to make sure in any way that the page + number pg exists, and that page pg, if it exists, is taller than + distance_from_top + + @param pg number of the page + @param _distance_from_top distance from the top of the page + */ + Anchor(quint16 pg, const Length _distance_from_top) + : page(pg) + , distance_from_top(_distance_from_top) + { + } + + /** \brief quick validity check for anchors + + @returns true if the page number is valid, and 0mm <= distance_from_top <= 2m + */ + bool isValid() const + { + return page.isValid() && (0.0 <= distance_from_top.getLength_in_mm()) && (distance_from_top.getLength_in_mm() <= 2000.0); + } + + /** \brief Page number that this anchor point to */ + PageNumber page; + + /** \brief Distance from the top of the page in inch */ + Length distance_from_top; +}; + +#endif diff --git a/generators/dvi/bigEndianByteReader.cpp b/generators/dvi/bigEndianByteReader.cpp new file mode 100644 index 0000000..ec5416e --- /dev/null +++ b/generators/dvi/bigEndianByteReader.cpp @@ -0,0 +1,118 @@ +// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; c-brace-offset: 0; -*- +// bigEndianByteReader.cpp +// +// Part of KDVI - A DVI previewer for the KDE desktop environment +// +// SPDX-FileCopyrightText: 2003 Stefan Kebekus +// SPDX-License-Identifier: GPL-2.0-or-later + +#include + +#include "bigEndianByteReader.h" +#include "debug_dvi.h" +#include "dvi.h" + +// #define DEBUG_ENDIANREADER + +quint8 bigEndianByteReader::readUINT8() +{ + // This check safeguards us against segmentation fault. It is also + // necessary for virtual fonts, which do not end with EOP. + if (command_pointer >= end_pointer) { +#ifdef DEBUG_ENDIANREADER + qCCritical(OkularDviDebug) << "bigEndianByteReader::readUINT8() tried to read past end of data chunk"; + qCCritical(OkularDviDebug) << "end_pointer = " << end_pointer; + qCCritical(OkularDviDebug) << "command_pointer = " << command_pointer; +#endif + return EOP; + } + + return *(command_pointer++); +} + +quint16 bigEndianByteReader::readUINT16() +{ + // This check safeguards us against segmentation fault. It is also + // necessary for virtual fonts, which do not end with EOP. + if (command_pointer >= end_pointer) { + return EOP; + } + + quint16 a; + a = *(command_pointer++); + a = (a << 8) | *(command_pointer++); + return a; +} + +quint32 bigEndianByteReader::readUINT32() +{ + // This check safeguards us against segmentation fault. It is also + // necessary for virtual fonts, which do not end with EOP. + if (command_pointer >= end_pointer) { + return EOP; + } + + quint32 a; + a = *(command_pointer++); + a = (a << 8) | *(command_pointer++); + a = (a << 8) | *(command_pointer++); + a = (a << 8) | *(command_pointer++); + return a; +} + +void bigEndianByteReader::writeUINT32(quint32 a) +{ + // This check safeguards us against segmentation fault. It is also + // necessary for virtual fonts, which do not end with EOP. + if (command_pointer >= end_pointer) { + return; + } + + command_pointer[3] = (quint8)(a & 0xFF); + a = a >> 8; + command_pointer[2] = (quint8)(a & 0xFF); + a = a >> 8; + command_pointer[1] = (quint8)(a & 0xFF); + a = a >> 8; + command_pointer[0] = (quint8)(a & 0xFF); + + command_pointer += 4; + return; +} + +quint32 bigEndianByteReader::readUINT(quint8 size) +{ + // This check safeguards us against segmentation fault. It is also + // necessary for virtual fonts, which do not end with EOP. + if (command_pointer >= end_pointer) { + return EOP; + } + + quint32 a = 0; + while (size > 0) { + a = (a << 8) + *(command_pointer++); + size--; + } + return a; +} + +qint32 bigEndianByteReader::readINT(quint8 length) +{ + // This check safeguards us against segmentation fault. It is also + // necessary for virtual fonts, which do not end with EOP. + if (command_pointer >= end_pointer) { + return EOP; + } + + qint32 a = *(command_pointer++); + + if (a & 0x80) { + a -= 0x100; + } + + while ((--length) > 0) { + a = (a << 8) | *(command_pointer++); + } + + return a; +} diff --git a/generators/dvi/bigEndianByteReader.h b/generators/dvi/bigEndianByteReader.h new file mode 100644 index 0000000..d289f69 --- /dev/null +++ b/generators/dvi/bigEndianByteReader.h @@ -0,0 +1,59 @@ +// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; c-brace-offset: 0; -*- +/* This file is part of KDVI + SPDX-FileCopyrightText: 2001 Stefan Kebekus (kebekus@kde.org) + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +/** + * Byte reading routines which read big endian numbers from memory and + * convert them to native integers. + * + * @author Stefan Kebekus (kebekus@kde.org) + * + **/ + +#ifndef _bigEndianByteReader_H +#define _bigEndianByteReader_H + +#include + +class bigEndianByteReader +{ +public: + /** Set this pointer to the location where the number resides which + you want to read. */ + quint8 *command_pointer; + + /** This pointer marks the end of the memory area where bytes can be + read. It should point to the first byte which CANNOT be + read. The idea is to have a safety net which protects us against + SEGFAULTs. This is also used in virtual fonts, where the macro + does not have an EOP command at the end of the macro. */ + quint8 *end_pointer; + + /** If command_pointer >= end_pointer, this method return EOP (=140) + and exists. Otherwise, the method returns the unsigned byte + and increases the command_pointer by one. */ + quint8 readUINT8(); + + /** Similar to the method above, only that the method reads a big + endian 2-byte word and increases the pointer by two. */ + quint16 readUINT16(); + + /** Similar to the method above, only that the method reads a big + endian 4-byte word and increases the pointer by four. */ + quint32 readUINT32(); + + void writeUINT32(quint32 a); + + /** Similar to the method above, only that the method reads a big + endian number of length size, where 1 <= size <= 4. Note that + the value 3 is allowed (and is actually used in DVI files)!!! */ + quint32 readUINT(quint8 size); + + /** Similar to the method above, only that the method reads a SIGNED + number */ + qint32 readINT(quint8); +}; + +#endif // ifndef _bigEndianByteReader_H diff --git a/generators/dvi/config.h b/generators/dvi/config.h new file mode 100644 index 0000000..06ed2b3 --- /dev/null +++ b/generators/dvi/config.h @@ -0,0 +1 @@ +/* empty, just to make dvi compile without changing the sources */ diff --git a/generators/dvi/debug_dvi.h b/generators/dvi/debug_dvi.h new file mode 100644 index 0000000..141b229 --- /dev/null +++ b/generators/dvi/debug_dvi.h @@ -0,0 +1,16 @@ +/* + SPDX-FileCopyrightText: 2006 Luigi Toscano + SPDX-FileCopyrightText: 2014 Frederik Gladhorn + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef OKULAR_DVI_DEBUG_P_H +#define OKULAR_DVI_DEBUG_P_H + +#include + +Q_DECLARE_LOGGING_CATEGORY(OkularDviDebug) +Q_DECLARE_LOGGING_CATEGORY(OkularDviShellDebug) + +#endif diff --git a/generators/dvi/dvi.h b/generators/dvi/dvi.h new file mode 100644 index 0000000..8b18ef8 --- /dev/null +++ b/generators/dvi/dvi.h @@ -0,0 +1,68 @@ +// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; c-brace-offset: 0; -*- +/* + * Mnemonics for bytes in dvi file. + */ + +#ifndef DVI_H +#define DVI_H + +#define SETCHAR0 0 +#define SET1 128 +#define SETRULE 132 +#define PUT1 133 +#define PUTRULE 137 +#define NOP 138 +#define BOP 139 +#define EOP 140 +#define PUSH 141 +#define POP 142 +#define RIGHT1 143 +#define RIGHT2 144 +#define RIGHT3 145 +#define RIGHT4 146 +#define W0 147 +#define W1 148 +#define W2 149 +#define W3 150 +#define W4 151 +#define X0 152 +#define X1 153 +#define X2 154 +#define X3 155 +#define X4 156 +#define DOWN1 157 +#define DOWN2 158 +#define DOWN3 159 +#define DOWN4 160 +#define Y0 161 +#define Y1 162 +#define Y2 163 +#define Y3 164 +#define Y4 165 +#define Z0 166 +#define Z1 167 +#define Z2 168 +#define Z3 169 +#define Z4 170 +#define FNTNUM0 171 +#define FNT1 235 +#define FNT2 236 +#define FNT3 237 +#define FNT4 238 +#define XXX1 239 +#define XXX2 240 +#define XXX3 241 +#define XXX4 242 +#define FNTDEF1 243 +#define FNTDEF2 244 +#define FNTDEF3 245 +#define FNTDEF4 246 +#define PRE 247 +#define POST 248 +#define POSTPOST 249 +#define SREFL 250 +#define EREFL 251 +// Trailing bytes at end of file +#define TRAILER 223 + +#endif diff --git a/generators/dvi/dviFile.cpp b/generators/dvi/dviFile.cpp new file mode 100644 index 0000000..86ee116 --- /dev/null +++ b/generators/dvi/dviFile.cpp @@ -0,0 +1,449 @@ +// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; c-brace-offset: 0; -*- +/* + * SPDX-FileCopyrightText: 1994 Paul Vojta. All rights reserved. + * + * SPDX-License-Identifier: BSD-2-Clause + * + * NOTE: + * xdvi is based on prior work as noted in the modification history, below. + */ + +/* + * DVI previewer for X. + * + * Eric Cooper, CMU, September 1985. + * + * Code derived from dvi-imagen.c. + * + * Modification history: + * 1/1986 Modified for X.10 --Bob Scheifler, MIT LCS. + * 7/1988 Modified for X.11 --Mark Eichin, MIT + * 12/1988 Added 'R' option, toolkit, magnifying glass + * --Paul Vojta, UC Berkeley. + * 2/1989 Added tpic support --Jeffrey Lee, U of Toronto + * 4/1989 Modified for System V --Donald Richardson, Clarkson Univ. + * 3/1990 Added VMS support --Scott Allendorf, U of Iowa + * 7/1990 Added reflection mode --Michael Pak, Hebrew U of Jerusalem + * 1/1992 Added greyscale code --Till Brychcy, Techn. Univ. Muenchen + * and Lee Hetherington, MIT + * 4/1994 Added DPS support, bounding box + * --Ricardo Telichevesky + * and Luis Miguel Silveira, MIT RLE. + */ + +#include + +#include "debug_dvi.h" +#include "dvi.h" +#include "dviFile.h" +#include "fontpool.h" +#include "pageSize.h" + +#include + +#include +#include +#include +#include +#include + +#include + +dvifile::dvifile(const dvifile *old, fontPool *fp) +{ + errorMsg.clear(); + errorCounter = 0; + page_offset.clear(); + suggestedPageSize = nullptr; + numberOfExternalPSFiles = 0; + numberOfExternalNONPSFiles = 0; + sourceSpecialMarker = old->sourceSpecialMarker; + have_complainedAboutMissingPDF2PS = false; + + dviData = old->dviData; + + filename = old->filename; + size_of_file = old->size_of_file; + end_pointer = dvi_Data() + size_of_file; + if (dvi_Data() == nullptr) { + qCCritical(OkularDviDebug) << "Not enough memory to copy the DVI-file."; + return; + } + + font_pool = fp; + filename = old->filename; + generatorString = old->generatorString; + total_pages = old->total_pages; + + tn_table.clear(); + process_preamble(); + find_postamble(); + read_postamble(); + prepare_pages(); +} + +void dvifile::process_preamble() +{ + command_pointer = dvi_Data(); + + quint8 magic_number = readUINT8(); + if (magic_number != PRE) { + errorMsg = i18n("The DVI file does not start with the preamble."); + return; + } + magic_number = readUINT8(); + if (magic_number != 2) { + errorMsg = i18n( + "The DVI file contains the wrong version of DVI output for this program. " + "Hint: If you use the typesetting system Omega, you have to use a special " + "program, such as oxdvi."); + return; + } + + /** numerator, denominator and the magnification value that describe + how many centimeters there are in one TeX unit, as explained in + section A.3 of the DVI driver standard, Level 0, published by + the TUG DVI driver standards committee. */ + quint32 numerator = readUINT32(); + quint32 denominator = readUINT32(); + _magnification = readUINT32(); + + cmPerDVIunit = (double(numerator) / double(denominator)) * (double(_magnification) / 1000.0) * (1.0 / 1e5); + + // Read the generatorString (such as "TeX output …" from the + // DVI-File). The variable "magic_number" holds the length of the + // string. + char job_id[300]; + magic_number = readUINT8(); + strncpy(job_id, reinterpret_cast(command_pointer), magic_number); + job_id[magic_number] = '\0'; + generatorString = QString::fromLocal8Bit(job_id); +} + +/** find_postamble locates the beginning of the postamble and leaves + the file ready to start reading at that location. */ + +void dvifile::find_postamble() +{ + // Move backwards through the TRAILER bytes + command_pointer = dvi_Data() + size_of_file - 1; + while ((*command_pointer == TRAILER) && (command_pointer > dvi_Data())) { + command_pointer--; + } + if (command_pointer == dvi_Data()) { + errorMsg = i18n("The DVI file is badly corrupted. Okular was not able to find the postamble."); + return; + } + + // And this is finally the pointer to the beginning of the postamble + command_pointer -= 4; + beginning_of_postamble = readUINT32(); + command_pointer = dvi_Data() + beginning_of_postamble; +} + +void dvifile::read_postamble() +{ + quint8 magic_byte = readUINT8(); + if (magic_byte != POST) { + errorMsg = i18n("The postamble does not begin with the POST command."); + return; + } + last_page_offset = readUINT32(); + + // Skip the numerator, denominator and magnification, the largest + // box height and width and the maximal depth of the stack. These + // are not used at the moment. + command_pointer += 4 + 4 + 4 + 4 + 4 + 2; + + // The number of pages is more interesting for us. + total_pages = readUINT16(); + + // As a next step, read the font definitions. + quint8 cmnd = readUINT8(); + while (cmnd >= FNTDEF1 && cmnd <= FNTDEF4) { + quint32 TeXnumber = readUINT(cmnd - FNTDEF1 + 1); + quint32 checksum = readUINT32(); // Checksum of the font, as found by TeX in the TFM file + + // Read scale and design factor, and the name of the font. All + // these are explained in section A.4 of the DVI driver standard, + // Level 0, published by the TUG DVI driver standards committee + quint32 scale = readUINT32(); + quint32 design = readUINT32(); + quint16 len = readUINT8() + readUINT8(); // Length of the font name, including the directory name + QByteArray fontname(reinterpret_cast(command_pointer), len); + command_pointer += len; + +#ifdef DEBUG_FONTS + qCDebug(OkularDviDebug) << "Postamble: define font \"" << fontname << "\" scale=" << scale << " design=" << design; +#endif + + // According to section A.4 of the DVI driver standard, this font + // shall be enlarged by the following factor before it is used. + double enlargement_factor = (double(scale) * double(_magnification)) / (double(design) * 1000.0); + + if (font_pool != nullptr) { + TeXFontDefinition *fontp = font_pool->appendx(QString::fromLocal8Bit(fontname), checksum, scale, enlargement_factor); + + // Insert font in dictionary and make sure the dictionary is big + // enough. + if (tn_table.capacity() - 2 <= tn_table.count()) { + // Not quite optimal. The size of the dictionary should be a + // prime for optimal performance. I don't care. + tn_table.reserve(tn_table.capacity() * 2); + } + tn_table.insert(TeXnumber, fontp); + } + + // Read the next command + cmnd = readUINT8(); + } + + if (cmnd != POSTPOST) { + errorMsg = i18n("The postamble contained a command other than FNTDEF."); + return; + } + + // Now we remove all those fonts from the memory which are no longer + // in use. + if (font_pool != nullptr) { + font_pool->release_fonts(); + } +} + +void dvifile::prepare_pages() +{ +#ifdef DEBUG_DVIFILE + qCDebug(OkularDviDebug) << "prepare_pages"; +#endif + if (total_pages == 0) { + return; + } + + page_offset.resize(total_pages + 1); + if (page_offset.size() < (total_pages + 1)) { + qCCritical(OkularDviDebug) << "No memory for page list!"; + return; + } + for (int i = 0; i <= total_pages; i++) { + page_offset[i] = 0; + } + + page_offset[int(total_pages)] = beginning_of_postamble; + int j = total_pages - 1; + page_offset[j] = last_page_offset; + + // Follow back pointers through pages in the DVI file, storing the + // offsets in the page_offset table. + while (j > 0) { + command_pointer = dvi_Data() + page_offset[j--]; + if (readUINT8() != BOP) { + errorMsg = i18n("The page %1 does not start with the BOP command.", j + 1); + return; + } + command_pointer += 10 * 4; + page_offset[j] = readUINT32(); + if ((dvi_Data() + page_offset[j] < dvi_Data()) || (dvi_Data() + page_offset[j] > dvi_Data() + size_of_file)) { + break; + } + } +} + +dvifile::dvifile(const QString &fname, fontPool *pool) +{ +#ifdef DEBUG_DVIFILE + qCDebug(OkularDviDebug) << "init_dvi_file: " << fname; +#endif + + errorMsg.clear(); + errorCounter = 0; + page_offset.clear(); + suggestedPageSize = nullptr; + numberOfExternalPSFiles = 0; + numberOfExternalNONPSFiles = 0; + font_pool = pool; + sourceSpecialMarker = true; + have_complainedAboutMissingPDF2PS = false; + + QFile file(fname); + filename = file.fileName(); + if (!file.open(QIODevice::ReadOnly)) { + qCCritical(OkularDviDebug) << "Failed opening file"; + return; + } + size_of_file = file.size(); + dviData.resize(size_of_file); + // Sets the end pointer for the bigEndianByteReader so that the + // whole memory buffer is readable + end_pointer = dvi_Data() + size_of_file; + if (dvi_Data() == nullptr) { + qCCritical(OkularDviDebug) << "Not enough memory to load the DVI-file."; + return; + } + file.read(reinterpret_cast(dvi_Data()), size_of_file); + file.close(); + if (file.error() != QFile::NoError) { + qCCritical(OkularDviDebug) << "Could not load the DVI-file."; + return; + } + + tn_table.clear(); + + total_pages = 0; + process_preamble(); + find_postamble(); + read_postamble(); + prepare_pages(); + + return; +} + +dvifile::~dvifile() +{ +#ifdef DEBUG_DVIFILE + qCDebug(OkularDviDebug) << "destroy dvi-file"; +#endif + + // Delete converted PDF files + QMapIterator i(convertedFiles); + while (i.hasNext()) { + i.next(); + QFile::remove(i.value()); + } + + if (suggestedPageSize != nullptr) { + delete suggestedPageSize; + } + if (font_pool != nullptr) { + font_pool->mark_fonts_as_unused(); + } +} + +void dvifile::renumber() +{ + dviData.detach(); + + // Write the page number to the file, taking good care of byte + // orderings. + bool bigEndian = (QSysInfo::ByteOrder == QSysInfo::BigEndian); + + for (int i = 1; i <= total_pages; i++) { + quint8 *ptr = dviData.data() + page_offset[i - 1] + 1; + const quint8 *num = reinterpret_cast(&i); + for (quint8 j = 0; j < 4; j++) { + if (bigEndian) { + *(ptr++) = num[0]; + *(ptr++) = num[1]; + *(ptr++) = num[2]; + *(ptr++) = num[3]; + } else { + *(ptr++) = num[3]; + *(ptr++) = num[2]; + *(ptr++) = num[1]; + *(ptr++) = num[0]; + } + } + } +} + +void dvifile::pdf2psNotFound(const QString &PDFFilename, QString *converrorms) +{ + // Indicates that conversion failed, won't try again. + convertedFiles[PDFFilename].clear(); + if (converrorms != nullptr && !have_complainedAboutMissingPDF2PS) { + *converrorms = i18n( + "

The external program pdf2ps could not be started. As a result, " + "the PDF-file %1 could not be converted to PostScript. Some graphic elements in your " + "document will therefore not be displayed.

" + "

Possible reason: The program pdf2ps may not be installed " + "on your system, or cannot be found in the current search path.

" + "

What you can do: The program pdf2ps is normally " + "contained in distributions of the ghostscript PostScript interpreter system. If " + "ghostscript is not installed on your system, you could install it now. " + "If you are sure that ghostscript is installed, try to use pdf2ps " + "from the command line to check if it really works.

PATH: %2

", + PDFFilename, + QString::fromLocal8Bit(qgetenv("PATH"))); + have_complainedAboutMissingPDF2PS = true; + } +} + +QString dvifile::convertPDFtoPS(const QString &PDFFilename, QString *converrorms) +{ + // Check if the PDFFile is known + QMap::Iterator it = convertedFiles.find(PDFFilename); + if (it != convertedFiles.end()) { + // PDF-File is known. Good. + return it.value(); + } + + // Make sure pdf2ps is in PATH and not just in the CWD + static const QString fullPath = QStandardPaths::findExecutable(QStringLiteral("pdf2ps")); + if (!fullPath.isEmpty()) { + pdf2psNotFound(PDFFilename, converrorms); + return QString(); + } + + // Get the name of a temporary file. + // Must open the QTemporaryFile to access the name. + QTemporaryFile tmpfile; + if (!tmpfile.open()) { + return {}; + } + const QString convertedFileName = tmpfile.fileName(); + tmpfile.close(); + + // Use pdf2ps to do the conversion + QProcess pdf2ps; + pdf2ps.setProcessChannelMode(QProcess::MergedChannels); + pdf2ps.start(fullPath, QStringList() << PDFFilename << convertedFileName, QIODevice::ReadOnly | QIODevice::Text); + + if (!pdf2ps.waitForStarted()) { + pdf2psNotFound(PDFFilename, converrorms); + return QString(); + } + + // We wait here while the external program runs concurrently. + pdf2ps.waitForFinished(-1); + + if (!QFile::exists(convertedFileName) || pdf2ps.exitCode() != 0) { + // Indicates that conversion failed, won't try again. + convertedFiles[PDFFilename].clear(); + if (converrorms != nullptr) { + const QString output = QString::fromLocal8Bit(pdf2ps.readAll()); + + *converrorms = i18n( + "

The PDF-file %1 could not be converted to PostScript. Some graphic elements in your " + "document will therefore not be displayed.

" + "

Possible reason: The file %1 might be broken, or might not be a PDF-file at all. " + "This is the output of the pdf2ps program that Okular used:

" + "

%2

", + PDFFilename, + output); + } + return QString(); + } + // Save name of converted file to buffer, so PDF file won't be + // converted again, and files can be deleted when *this is + // deconstructed. + convertedFiles[PDFFilename] = convertedFileName; + + tmpfile.setAutoRemove(false); + return convertedFileName; +} + +bool dvifile::saveAs(const QString &filename) +{ + if (dvi_Data() == nullptr) { + return false; + } + + QFile out(filename); + if (out.open(QIODevice::WriteOnly) == false) { + return false; + } + if (out.write(reinterpret_cast(dvi_Data()), size_of_file) == -1) { + return false; + } + out.close(); + return true; +} diff --git a/generators/dvi/dviFile.h b/generators/dvi/dviFile.h new file mode 100644 index 0000000..c4f64bf --- /dev/null +++ b/generators/dvi/dviFile.h @@ -0,0 +1,168 @@ +// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; c-brace-offset: 0; -*- +// +// Class: dviFile +// +// Class that represents a DVI file. Part of KDVI - A DVI previewing +// plugin for kviewshell. +// +// SPDX-FileCopyrightText: 2004-2005 Stefan Kebekus +// SPDX-License-Identifier: GPL-2.0-or-later + +#ifndef _DVIFILE_H +#define _DVIFILE_H + +#include "bigEndianByteReader.h" + +#include +#include +#include +#include + +class fontPool; +class pageSize; +class TeXFontDefinition; + +class dvifile : public bigEndianByteReader +{ +public: + /** Makes a deep copy of the old DVI file. */ + dvifile(const dvifile *old, fontPool *fp); + dvifile(const QString &fname, class fontPool *pool); + + ~dvifile(); + + dvifile(const dvifile &) = delete; + dvifile &operator=(const dvifile &) = delete; + + fontPool *font_pool; + QString filename; + QString generatorString; + quint16 total_pages; + QList page_offset; + + /** Saves the DVI file. Returns true on success. */ + bool saveAs(const QString &filename); + + // Returns a pointer to the DVI file's data, or 0 if no data has yet + // been allocated. + quint8 *dvi_Data() + { + return dviData.data(); + } + + qint64 size_of_file; + QString errorMsg; + + /** This field is set to zero when the DVI file is constructed, and + will be modified during the prescan phase (at this time the + prescan code still resides in the dviRenderer class) */ + quint16 numberOfExternalPSFiles; + + /** This field is set to zero when the DVI file is constructed, and + will be modified during the prescan phase (at this time the + prescan code still resides in the dviRenderer class) */ + quint16 numberOfExternalNONPSFiles; + + quint32 beginning_of_postamble; + + /** This flag is set to "true" during the construction of the + dvifile, and is never changed afterwards by the dvifile + class. It is used in kdvi in conjunction with source-specials: + the first time a page with source specials is rendered, KDVI + shows an info dialog, and the flag is set to false. That way + KDVI ensures that the user is only informed once. */ + bool sourceSpecialMarker; + + QHash tn_table; + + /** Returns the number of centimeters per DVI unit in this DVI + file. */ + double getCmPerDVIunit() const + { + return cmPerDVIunit; + } + + /** Returns the magnification of the DVI file, as described in the + DVI Standard. */ + quint32 getMagnification() const + { + return _magnification; + } + + /** This member is set to zero on construction and can be used by + other software to count error messages that were printed when + the DVI-file was processed. Suggested application: limit the + number of error messages to, say, 25. */ + quint8 errorCounter; + + /** Papersize information read from the dvi-File */ + pageSize *suggestedPageSize; + + /** Sets new DVI data; all old data is erased. EXPERIMENTAL, use + with care. */ + void setNewData(const QList &newData) + { + dviData = newData; + } + + /** Page numbers that appear in a DVI document need not be + ordered. Worse, page numbers need not be unique. This method + renumbers the pages. */ + void renumber(); + + /** PDF to PS file conversion + + This utility method takes the name of a PDF-file, and attempts to + convert it to a PS file. The dvifile internally keeps a list of + converted files, to do two things: + + - convert files only once. + + - delete all converted files on destruction + + @warning The internal buffer can lead to difficulties if filenames + of PDF-files are not unique: if the content of a PDF file is + changed and this method is called a second time with the same file + name, the method will then NOT convert the file, but simply return + the name from the buffer + + @returns The name of the PS file, or QString() on failure. + */ + QString convertPDFtoPS(const QString &PDFFilename, QString *converrorms = nullptr); + +private: + void pdf2psNotFound(const QString &PDFFilename, QString *converrorms); + + /** process_preamble reads the information in the preamble and + stores it into global variables for later use. */ + void process_preamble(); + void find_postamble(); + /** read_postamble reads the information in the postamble, storing + it into global variables. It also takes care of reading in all + of the pixel files for the fonts used in the job. */ + void read_postamble(); + void prepare_pages(); + + /** Offset in DVI file of last page, set in read_postamble(). */ + quint32 last_page_offset; + quint32 _magnification; + + double cmPerDVIunit; + + QList dviData; + + /** Map of filenames for converted PDF files + + This map contains names of PDF files that were converted to + PostScript. The key is the name of the PDF file, the data the name + of the associated PS file, or QString(), if the file could not + be converted. The PS files are deleted when the DVI-file is + destructed. */ + QMap convertedFiles; + + /** Flag, used so that KDVI complains only once about a missing + "PDF2PS" utility. Set to "false" in the constructor. */ + bool have_complainedAboutMissingPDF2PS; +}; + +#endif // ifndef _DVIFILE_H diff --git a/generators/dvi/dviPageInfo.cpp b/generators/dvi/dviPageInfo.cpp new file mode 100644 index 0000000..5a9774a --- /dev/null +++ b/generators/dvi/dviPageInfo.cpp @@ -0,0 +1,21 @@ +/* + SPDX-FileCopyrightText: 2006 Luigi Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "dviPageInfo.h" + +dviPageInfo::dviPageInfo() +{ + sourceHyperLinkList.reserve(200); +} + +dviPageInfo::~dviPageInfo() +{ +} + +void dviPageInfo::clear() +{ + sourceHyperLinkList.clear(); +} diff --git a/generators/dvi/dviPageInfo.h b/generators/dvi/dviPageInfo.h new file mode 100644 index 0000000..01ad920 --- /dev/null +++ b/generators/dvi/dviPageInfo.h @@ -0,0 +1,47 @@ +/* + SPDX-FileCopyrightText: 2006 Luigi Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _dvipageinfo_h_ +#define _dvipageinfo_h_ + +#include "hyperlink.h" +#include "pageNumber.h" +#include "textBox.h" +#include +#include + +class dviPageInfo +{ +public: + QImage img; + int width = 0; + int height = 0; + double resolution = 0; + PageNumber pageNumber; + + dviPageInfo(); + + virtual ~dviPageInfo(); + + dviPageInfo(const dviPageInfo &) = delete; + dviPageInfo &operator=(const dviPageInfo &) = delete; + + virtual void clear(); + + /** \brief List of source hyperlinks + */ + QList sourceHyperLinkList; + + /** \brief Hyperlinks on the document page + */ + QList hyperLinkList; + QList textBoxList; +}; + +/* quick&dirty hack to cheat the dviRenderer class... */ +#define RenderedDviPagePixmap dviPageInfo +#define RenderedDocumentPagePixmap dviPageInfo +#endif diff --git a/generators/dvi/dviRenderer.cpp b/generators/dvi/dviRenderer.cpp new file mode 100644 index 0000000..2c3a120 --- /dev/null +++ b/generators/dvi/dviRenderer.cpp @@ -0,0 +1,715 @@ +// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; c-brace-offset: 0; -*- +// +// Class: dviRenderer +// +// Class for rendering TeX DVI files. +// Part of KDVI- A previewer for TeX DVI files. +// +// SPDX-FileCopyrightText: 2001-2005 Stefan Kebekus +// SPDX-License-Identifier: GPL-2.0-or-later + +#include + +#include "debug_dvi.h" +#include "dviFile.h" +#include "dviRenderer.h" +#include "dvisourcesplitter.h" +#include "hyperlink.h" +#include "psgs.h" +// #include "renderedDviPagePixmap.h" + +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +//------ now comes the dviRenderer class implementation ---------- + +dviRenderer::dviRenderer(bool useFontHinting) + : dviFile(nullptr) + , font_pool(useFontHinting) + , resolutionInDPI(0) + , embedPS_progress(nullptr) + , embedPS_numOfProgressedFiles(0) + , shrinkfactor(3) + , source_href(nullptr) + , HTML_href(nullptr) + , editorCommand(QLatin1String("")) + , PostScriptOutPutString(nullptr) + , PS_interface(new ghostscript_interface) + , _postscript(true) + , line_boundary_encountered(false) + , word_boundary_encountered(false) + , current_page(0) + , penWidth_in_mInch(0) + , number_of_elements_in_path(0) + , currentlyDrawnPage(nullptr) + , m_eventLoop(nullptr) + , foreGroundPainter(nullptr) + , fontpoolLocateFontsDone(false) +{ +#ifdef DEBUG_DVIRENDERER + // qCDebug(OkularDviDebug) << "dviRenderer( parent=" << par << " )"; +#endif + + connect(&font_pool, &fontPool::error, this, &dviRenderer::error); + connect(&font_pool, &fontPool::warning, this, &dviRenderer::warning); + connect(PS_interface, &ghostscript_interface::error, this, &dviRenderer::error); +} + +dviRenderer::~dviRenderer() +{ +#ifdef DEBUG_DVIRENDERER + qCDebug(OkularDviDebug) << "~dviRenderer"; +#endif + + QMutexLocker locker(&mutex); + + delete PS_interface; + delete dviFile; +} + +//------ this function calls the dvi interpreter ---------- + +void dviRenderer::drawPage(RenderedDocumentPagePixmap *page) +{ +#ifdef DEBUG_DVIRENDERER + // qCDebug(OkularDviDebug) << "dviRenderer::drawPage(documentPage *) called, page number " << page->pageNumber; +#endif + + // Paranoid safety checks + if (page == nullptr) { + qCCritical(OkularDviDebug) << "dviRenderer::drawPage(documentPage *) called with argument == 0"; + return; + } + // Paranoid safety checks + if (!page->pageNumber.isValid()) { + qCCritical(OkularDviDebug) << "dviRenderer::drawPage(documentPage *) called for a documentPage with page number 0"; + return; + } + + QMutexLocker locker(&mutex); + + if (dviFile == nullptr) { + qCCritical(OkularDviDebug) << "dviRenderer::drawPage(documentPage *) called, but no dviFile class allocated."; + page->clear(); + return; + } + if (static_cast(page->pageNumber) > dviFile->total_pages) { + qCCritical(OkularDviDebug) << "dviRenderer::drawPage(documentPage *) called for a documentPage with page number " << static_cast(page->pageNumber) << " but the current dviFile has only " << dviFile->total_pages + << " pages."; + return; + } + if (dviFile->dvi_Data() == nullptr) { + qCCritical(OkularDviDebug) << "dviRenderer::drawPage(documentPage *) called, but no dviFile is loaded yet."; + page->clear(); + return; + } + + /* locateFonts() is here just once (if it has not been executed + not been executed yet), so that it is possible to easily intercept + the cancel signal (because for example the user tries to open + another document); it would not have been possible (or more + complicated) in case it was still in the document loading section. + */ + if (!fontpoolLocateFontsDone) { + font_pool.locateFonts(); + fontpoolLocateFontsDone = true; + } + + double resolution = page->resolution; + + if (resolution != resolutionInDPI) { + setResolution(resolution); + } + + currentlyDrawnPage = page; + shrinkfactor = 1200 / resolutionInDPI; + current_page = static_cast(page->pageNumber) - 1; + + // Reset colors + colorStack.clear(); + globalColor = Qt::black; + + int pageWidth = page->width; + int pageHeight = page->height; + + QImage img(pageWidth, pageHeight, QImage::Format_RGB32); + foreGroundPainter = new QPainter(&img); + if (foreGroundPainter != nullptr) { + errorMsg.clear(); + draw_page(); + delete foreGroundPainter; + foreGroundPainter = nullptr; + } else { + qCDebug(OkularDviDebug) << "painter creation failed."; + } + page->img = img; + // page->setImage(img); + + // Postprocess hyperlinks + // Without that, based on the way TeX draws certain characters like german "Umlaute", + // some hyperlinks would be broken into two overlapping parts, in the middle of a word. + QList::iterator i = page->hyperLinkList.begin(); + QList::iterator j; + while (i != page->hyperLinkList.end()) { + // Iterator j always points to the element after i. + j = i; + ++j; + + if (j == page->hyperLinkList.end()) { + break; + } + + Hyperlink &hi = *i; + Hyperlink &hj = *j; + + bool merged = false; + + // Merge all hyperlinks that point to the same target, and have the same baseline. + while (hi.linkText == hj.linkText && hi.baseline == hj.baseline) { + merged = true; + hi.box = hi.box.united(hj.box); + + ++j; + if (j == page->hyperLinkList.end()) { + break; + } + + hj = *j; + } + + if (merged) { + i = page->hyperLinkList.erase(++i, j); + } else { + ++i; + } + } + + if (errorMsg.isEmpty() != true) { + Q_EMIT error(i18n("File corruption. %1", errorMsg), -1); + errorMsg.clear(); + currentlyDrawnPage = nullptr; + return; + } + currentlyDrawnPage = nullptr; +} + +void dviRenderer::getText(RenderedDocumentPagePixmap *page) +{ + bool postscriptBackup = _postscript; + // Disable postscript-specials temporarily to speed up text extraction. + _postscript = false; + + drawPage(page); + + _postscript = postscriptBackup; +} + +/* +void dviRenderer::showThatSourceInformationIsPresent() +{ + // In principle, we should use a KMessagebox here, but we want to + // add a button "Explain in more detail…" which opens the + // Helpcenter. Thus, we practically re-implement the KMessagebox + // here. Most of the code is stolen from there. + + // Check if the 'Don't show again' feature was used + KConfig *config = KSharedConfig::openConfig(); + KConfigGroup saver(config, "Notification Messages"); + bool showMsg = config->readEntry( "KDVI-info_on_source_specials", true); + + if (showMsg) { + KDialogBase dialog(i18n("KDVI: Information"), KDialogBase::Yes, KDialogBase::Yes, KDialogBase::Yes, + parentWidget, "information", true, true, KStandardGuiItem::ok()); + + QWidget *topcontents = new QWidget (&dialog); + QVBoxLayout *topcontentsVBoxLayout = new QVBoxLayout(topcontents); + topcontentsVBoxLayout->setContentsMargins(0, 0, 0, 0); + topcontentsVBoxLayout->setSpacing(KDialog::spacingHint()*2); + topcontentsVBoxLayout->setContentsMargins(KDialog::marginHint()*2, KDialog::marginHint()*2, KDialog::marginHint()*2, KDialog::marginHint()*2); + + QWidget *contents = new QWidget(topcontents); + topcontentsVBoxLayout->addWidget(contents); + QHBoxLayout * lay = new QHBoxLayout(contents); + lay->setSpacing(KDialog::spacingHint()*2); + + lay->addStretch(1); + QLabel *label1 = new QLabel( contents); + label1->setPixmap(QMessageBox::standardIcon(QMessageBox::Information)); + lay->addWidget(label1); + QLabel *label2 = new QLabel( i18n("This DVI file contains source file information. You may click into the text with the " + "middle mouse button, and an editor will open the TeX-source file immediately."), + contents); + label2->setMinimumSize(label2->sizeHint()); + lay->addWidget(label2); + lay->addStretch(1); + QSize extraSize = QSize(50,30); + QCheckBox *checkbox = new QCheckBox(i18n("Do not show this message again"), topcontents); + topcontentsVBoxLayout->addWidget(checkbox); + extraSize = QSize(50,0); + dialog.setHelpLinkText(i18n("Explain in more detail…")); + dialog.setHelp("inverse-search", "kdvi"); + dialog.enableLinkedHelp(true); + dialog.setMainWidget(topcontents); + dialog.enableButtonSeparator(false); + dialog.incInitialSize( extraSize ); + dialog.exec(); + + showMsg = !checkbox->isChecked(); + if (!showMsg) { + KConfigGroup saver(config, "Notification Messages"); + config->writeEntry( "KDVI-info_on_source_specials", showMsg); + } + config->sync(); + } +} +*/ + +void dviRenderer::embedPostScript() +{ +#ifdef DEBUG_DVIRENDERER + qCDebug(OkularDviDebug) << "dviRenderer::embedPostScript()"; +#endif + + if (!dviFile) { + return; + } + + /* embedPS_progress = new QProgressDialog(parentWidget); + embedPS_progress->setWindowTitle(i18n("Embedding PostScript Files")); + embedPS_progress->setLabelText(QString()); + */ + if (!embedPS_progress) { + return; + } + embedPS_progress->setCancelButton(nullptr); + embedPS_progress->setCancelButton(nullptr); + embedPS_progress->setMinimumDuration(400); + embedPS_progress->setMaximum(dviFile->numberOfExternalPSFiles); + embedPS_progress->setValue(0); + embedPS_numOfProgressedFiles = 0; + + quint16 currPageSav = current_page; + errorMsg.clear(); + for (current_page = 0; current_page < dviFile->total_pages; current_page++) { + if (current_page < dviFile->total_pages) { + command_pointer = dviFile->dvi_Data() + dviFile->page_offset[int(current_page)]; + end_pointer = dviFile->dvi_Data() + dviFile->page_offset[int(current_page + 1)]; + } else { + command_pointer = end_pointer = nullptr; + } + + memset((char *)&currinf.data, 0, sizeof(currinf.data)); + currinf.fonttable = &(dviFile->tn_table); + currinf._virtual = nullptr; + prescan(&dviRenderer::prescan_embedPS); + } + + delete embedPS_progress; + embedPS_progress = nullptr; + + if (!errorMsg.isEmpty()) { + Q_EMIT warning(i18n("Not all PostScript files could be embedded into your document. %1", errorMsg), -1); + errorMsg.clear(); + } else { + Q_EMIT notice(i18n("All external PostScript files were embedded into your document."), -1); + } + + // Prescan phase starts here +#ifdef PERFORMANCE_MEASUREMENT + // qCDebug(OkularDviDebug) << "Time elapsed till prescan phase starts " << performanceTimer.elapsed() << "ms"; + // QTime preScanTimer; + // preScanTimer.start(); +#endif + dviFile->numberOfExternalPSFiles = 0; + prebookmarks.clear(); + for (current_page = 0; current_page < dviFile->total_pages; current_page++) { + PostScriptOutPutString = new QString(); + + if (current_page < dviFile->total_pages) { + command_pointer = dviFile->dvi_Data() + dviFile->page_offset[int(current_page)]; + end_pointer = dviFile->dvi_Data() + dviFile->page_offset[int(current_page + 1)]; + } else { + command_pointer = end_pointer = nullptr; + } + + memset((char *)&currinf.data, 0, sizeof(currinf.data)); + currinf.fonttable = &(dviFile->tn_table); + currinf._virtual = nullptr; + + prescan(&dviRenderer::prescan_parseSpecials); + + if (!PostScriptOutPutString->isEmpty()) { + PS_interface->setPostScript(current_page, *PostScriptOutPutString); + } + delete PostScriptOutPutString; + } + PostScriptOutPutString = nullptr; + +#ifdef PERFORMANCE_MEASUREMENT + // qCDebug(OkularDviDebug) << "Time required for prescan phase: " << preScanTimer.restart() << "ms"; +#endif + current_page = currPageSav; + _isModified = true; +} + +bool dviRenderer::isValidFile(const QString &filename) const +{ + QFile f(filename); + if (!f.open(QIODevice::ReadOnly)) { + return false; + } + + unsigned char test[4]; + if (f.read((char *)test, 2) < 2 || test[0] != 247 || test[1] != 2) { + return false; + } + + int n = f.size(); + if (n < 134) { // Too short for a dvi file + return false; + } + f.seek(n - 4); + + unsigned char trailer[4] = {0xdf, 0xdf, 0xdf, 0xdf}; + + if (f.read((char *)test, 4) < 4 || strncmp((char *)test, (char *)trailer, 4) != 0) { + return false; + } + // We suppose now that the dvi file is complete and OK + return true; +} + +bool dviRenderer::setFile(const QString &fname, const QUrl &base) +{ +#ifdef DEBUG_DVIRENDERER + qCDebug(OkularDviDebug) << "dviRenderer::setFile( fname='" << fname << "' )"; //, ref='" << ref << "', sourceMarker=" << sourceMarker << " )"; +#endif + + // QMutexLocker lock(&mutex); + + QFileInfo fi(fname); + QString filename = fi.absoluteFilePath(); + + // If fname is the empty string, then this means: "close". Delete + // the dvifile and the pixmap. + if (fname.isEmpty()) { + // Delete DVI file + delete dviFile; + dviFile = nullptr; + return true; + } + + // Make sure the file actually exists. + if (!fi.exists() || fi.isDir()) { + Q_EMIT error(i18n("The specified file '%1' does not exist.", filename), -1); + return false; + } + + QApplication::setOverrideCursor(Qt::WaitCursor); + dvifile *dviFile_new = new dvifile(filename, &font_pool); + + if ((dviFile == nullptr) || (dviFile->filename != filename)) { + dviFile_new->sourceSpecialMarker = true; + } else { + dviFile_new->sourceSpecialMarker = false; + } + + if ((dviFile_new->dvi_Data() == nullptr) || (dviFile_new->errorMsg.isEmpty() != true)) { + QApplication::restoreOverrideCursor(); + if (dviFile_new->errorMsg.isEmpty() != true) { + Q_EMIT error(i18n("File corruption. %1", dviFile_new->errorMsg), -1); + } + delete dviFile_new; + return false; + } + + delete dviFile; + dviFile = dviFile_new; + numPages = dviFile->total_pages; + _isModified = false; + baseURL = base; + + font_pool.setExtraSearchPath(fi.absolutePath()); + font_pool.setCMperDVIunit(dviFile->getCmPerDVIunit()); + + // Extract PostScript from the DVI file, and store the PostScript + // specials in PostScriptDirectory, and the headers in the + // PostScriptHeaderString. + PS_interface->clear(); + + // If the DVI file comes from a remote URL (e.g. downloaded from a + // web server), we limit the PostScript files that can be accessed + // by this file to the download directory, in order to limit the + // possibilities of a denial of service attack. + QString includePath; + if (!baseURL.isLocalFile()) { + includePath = filename; + includePath.truncate(includePath.lastIndexOf(QLatin1Char('/'))); + } + PS_interface->setIncludePath(includePath); + + // We will also generate a list of hyperlink-anchors and source-file + // anchors in the document. So declare the existing lists empty. + // anchorList.clear(); + sourceHyperLinkAnchors.clear(); + // bookmarks.clear(); + prebookmarks.clear(); + + if (dviFile->page_offset.isEmpty() == true) { + return false; + } + + // We should pre-scan the document now (to extract embedded, + // PostScript, Hyperlinks, ets). + + // PRESCAN STARTS HERE +#ifdef PERFORMANCE_MEASUREMENT + // qCDebug(OkularDviDebug) << "Time elapsed till prescan phase starts " << performanceTimer.elapsed() << "ms"; + // QTime preScanTimer; + // preScanTimer.start(); +#endif + dviFile->numberOfExternalPSFiles = 0; + quint16 currPageSav = current_page; + prebookmarks.clear(); + + for (current_page = 0; current_page < dviFile->total_pages; current_page++) { + PostScriptOutPutString = new QString(); + + if (current_page < dviFile->total_pages) { + command_pointer = dviFile->dvi_Data() + dviFile->page_offset[int(current_page)]; + end_pointer = dviFile->dvi_Data() + dviFile->page_offset[int(current_page + 1)]; + } else { + command_pointer = end_pointer = nullptr; + } + + memset((char *)&currinf.data, 0, sizeof(currinf.data)); + currinf.fonttable = &(dviFile->tn_table); + currinf._virtual = nullptr; + prescan(&dviRenderer::prescan_parseSpecials); + + if (!PostScriptOutPutString->isEmpty()) { + PS_interface->setPostScript(current_page, *PostScriptOutPutString); + } + delete PostScriptOutPutString; + } + PostScriptOutPutString = nullptr; + +#ifdef PERFORMANCE_MEASUREMENT + // qCDebug(OkularDviDebug) << "Time required for prescan phase: " << preScanTimer.restart() << "ms"; +#endif + current_page = currPageSav; + // PRESCAN ENDS HERE + + pageSizes.resize(0); + if (dviFile->suggestedPageSize != nullptr) { + // Fill the vector pageSizes with total_pages identical entries + pageSizes.fill(*(dviFile->suggestedPageSize), dviFile->total_pages); + } + QApplication::restoreOverrideCursor(); + return true; +} + +Anchor dviRenderer::parseReference(const QString &reference) +{ + QMutexLocker locker(&mutex); + +#ifdef DEBUG_DVIRENDERER + qCCritical(OkularDviDebug) << "dviRenderer::parseReference( " << reference << " ) called"; +#endif + + if (dviFile == nullptr) { + return Anchor(); + } + + // case 1: The reference is a number, which we'll interpret as a + // page number. + bool ok; + int page = reference.toInt(&ok); + if (ok == true) { + if (page < 0) { + page = 0; + } + if (page > dviFile->total_pages) { + page = dviFile->total_pages; + } + + return Anchor(page, Length()); + } + + // case 2: The reference is of form "src:1111Filename", where "1111" + // points to line number 1111 in the file "Filename". KDVI then + // looks for source specials of the form "src:xxxxFilename", and + // tries to find the special with the biggest xxxx + if (reference.indexOf(QStringLiteral("src:"), 0, Qt::CaseInsensitive) == 0) { + // Extract the file name and the numeral part from the reference string + DVI_SourceFileSplitter splitter(reference, dviFile->filename); + quint32 refLineNumber = splitter.line(); + QString refFileName = splitter.filePath(); + + if (sourceHyperLinkAnchors.isEmpty()) { + Q_EMIT warning(i18n("You have asked Okular to locate the place in the DVI file which corresponds to " + "line %1 in the TeX-file %2. It seems, however, that the DVI file " + "does not contain the necessary source file information. ", + refLineNumber, + refFileName), + -1); + return Anchor(); + } + + // Go through the list of source file anchors, and find the anchor + // whose line number is the biggest among those that are smaller + // than the refLineNumber. That way, the position in the DVI file + // which is highlighted is always a little further up than the + // position in the editor, e.g. if the DVI file contains + // positional information at the beginning of every paragraph, + // KDVI jumps to the beginning of the paragraph that the cursor is + // in, and never to the next paragraph. If source file anchors for + // the refFileName can be found, but none of their line numbers is + // smaller than the refLineNumber, the reason is most likely, that + // the cursor in the editor stands somewhere in the preamble of + // the LaTeX file. In that case, we jump to the beginning of the + // document. + bool anchorForRefFileFound = false; // Flag that is set if source file anchors for the refFileName could be found at all + + QList::iterator bestMatch = sourceHyperLinkAnchors.end(); + QList::iterator it; + for (it = sourceHyperLinkAnchors.begin(); it != sourceHyperLinkAnchors.end(); ++it) { + if (refFileName.trimmed() == it->fileName.trimmed() || refFileName.trimmed() == it->fileName.trimmed() + QStringLiteral(".tex")) { + anchorForRefFileFound = true; + + if ((it->line <= refLineNumber) && ((bestMatch == sourceHyperLinkAnchors.end()) || (it->line > bestMatch->line))) { + bestMatch = it; + } + } + } + + if (bestMatch != sourceHyperLinkAnchors.end()) { + return Anchor(bestMatch->page, bestMatch->distance_from_top); + } else if (anchorForRefFileFound == false) { + Q_EMIT warning(i18n("Okular was not able to locate the place in the DVI file which corresponds to " + "line %1 in the TeX-file %2.", + refLineNumber, + refFileName), + -1); + } else { + return Anchor(); + } + return Anchor(); + } + return Anchor(); +} + +void dviRenderer::setResolution(double resolution_in_DPI) +{ + // Ignore minute changes. The difference to the current value would + // hardly be visible anyway. That saves a lot of re-painting, + // e.g. when the user resizes the window, and a flickery mouse + // changes the window size by 1 pixel all the time. + if (fabs(resolutionInDPI - resolution_in_DPI) < 1) { + return; + } + + resolutionInDPI = resolution_in_DPI; + + // Pass the information on to the font pool. + font_pool.setDisplayResolution(resolutionInDPI); + shrinkfactor = 1200 / resolutionInDPI; + return; +} + +void dviRenderer::handleSRCLink(const QString &linkText, const QPoint point, DocumentWidget *widget) +{ + Q_UNUSED(linkText); + Q_UNUSED(point); + Q_UNUSED(widget); +} + +QString dviRenderer::PDFencodingToQString(const QString &_pdfstring) +{ + // This method locates special PDF characters in a string and + // replaces them by UTF8. See Section 3.2.3 of the PDF reference + // guide for information. + QString pdfstring = _pdfstring; + pdfstring = pdfstring.replace(QLatin1String("\\n"), QLatin1String("\n")); + pdfstring = pdfstring.replace(QLatin1String("\\r"), QLatin1String("\n")); + pdfstring = pdfstring.replace(QLatin1String("\\t"), QLatin1String("\t")); + pdfstring = pdfstring.replace(QLatin1String("\\f"), QLatin1String("\f")); + pdfstring = pdfstring.replace(QLatin1String("\\("), QLatin1String("(")); + pdfstring = pdfstring.replace(QLatin1String("\\)"), QLatin1String(")")); + pdfstring = pdfstring.replace(QLatin1String("\\\\"), QLatin1String("\\")); + + // Now replace octal character codes with the characters they encode + static const QRegularExpression xyzRegex(QStringLiteral("(\\\\)(\\d\\d\\d)")); // matches "\xyz" where x,y,z are numbers + QRegularExpressionMatch match; + while ((match = xyzRegex.match(pdfstring)).hasMatch()) { + pdfstring = pdfstring.replace(match.capturedStart(0), 4, QChar(match.captured(2).toInt(nullptr, 8))); + } + static const QRegularExpression xyRegex(QStringLiteral("(\\\\)(\\d\\d)")); // matches "\xy" where x,y are numbers + while ((match = xyRegex.match(pdfstring)).hasMatch()) { + pdfstring = pdfstring.replace(match.capturedStart(0), 3, QChar(match.captured(2).toInt(nullptr, 8))); + } + static const QRegularExpression xRegex(QStringLiteral("(\\\\)(\\d)")); // matches "\x" where x is a number + while ((match = xRegex.match(pdfstring)).hasMatch()) { + pdfstring = pdfstring.replace(match.capturedStart(0), 2, QChar(match.captured(2).toInt(nullptr, 8))); + } + + return pdfstring; +} + +void dviRenderer::exportPDF() +{ + /* + QExplicitlySharedDataPointer exporter(new DVIExportToPDF(*this, parentWidget)); + if (exporter->started()) + all_exports_[exporter.data()] = exporter; + */ +} + +void dviRenderer::exportPS(const QString &fname, const QStringList &options, QPrinter *printer, QPageLayout::Orientation orientation) +{ + QExplicitlySharedDataPointer exporter(new DVIExportToPS(*this, fname, options, printer, font_pool.getUseFontHints(), orientation)); + if (exporter->started()) { + all_exports_[exporter.data()] = exporter; + } +} + +/* +void dviRenderer::editor_finished(const DVISourceEditor*) +{ + editor_.attach(0); +} +*/ + +void dviRenderer::export_finished(const DVIExport *key) +{ + typedef QMap> ExportMap; + ExportMap::iterator it = all_exports_.find(key); + if (it != all_exports_.end()) { + all_exports_.remove(key); + } +} + +void dviRenderer::setEventLoop(QEventLoop *el) +{ + if (el == nullptr) { + delete m_eventLoop; + m_eventLoop = nullptr; + } else { + m_eventLoop = el; + } +} diff --git a/generators/dvi/dviRenderer.h b/generators/dvi/dviRenderer.h new file mode 100644 index 0000000..b8182b9 --- /dev/null +++ b/generators/dvi/dviRenderer.h @@ -0,0 +1,341 @@ +// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; c-brace-offset: 0; -*- +// +// Class: dviRenderer +// +// Class for rendering TeX DVI files. +// Part of KDVI- A previewer for TeX DVI files. +// +// SPDX-FileCopyrightText: 2001-2006 Stefan Kebekus +// SPDX-License-Identifier: GPL-2.0-or-later + +#ifndef _dvirenderer_h_ +#define _dvirenderer_h_ + +#include "bigEndianByteReader.h" +// #include "documentRenderer.h" +#include "dviexport.h" +// #include "dvisourceeditor.h" +#include "anchor.h" +#include "dviPageInfo.h" +#include "fontpool.h" +#include "pageSize.h" +#include "prebookmark.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +class Anchor; +class DocumentWidget; +class dvifile; +class dviRenderer; +class ghostscript_interface; +class QEventLoop; +class QProgressDialog; +class PreBookmark; +class TeXFontDefinition; + +extern const int MFResolutions[]; + +class DVI_SourceFileAnchor +{ +public: + DVI_SourceFileAnchor() + { + } + DVI_SourceFileAnchor(const QString &name, quint32 ln, quint32 pg, const Length _distance_from_top) + : fileName(name) + , line(ln) + , page(pg) + , distance_from_top(_distance_from_top) + { + } + + QString fileName; + quint32 line; + quint32 page; + Length distance_from_top; +}; + +/** Compound of registers, as defined in section 2.6.2 of the DVI + driver standard, Level 0, published by the TUG DVI driver + standards committee. */ + +struct framedata { + long dvi_h; + long dvi_v; + long w; + long x; + long y; + long z; + int pxl_v; +}; + +/* this information is saved when using virtual fonts */ + +typedef void (dviRenderer::*set_char_proc)(unsigned int, unsigned int); +typedef void (dviRenderer::*parseSpecials)(char *, quint8 *); + +struct drawinf { + struct framedata data; + TeXFontDefinition *fontp; + set_char_proc set_char_p; + + QHash *fonttable; + TeXFontDefinition *_virtual; +}; + +class dviRenderer : public QObject /*: public DocumentRenderer*/, bigEndianByteReader +{ + Q_OBJECT + +public: + explicit dviRenderer(bool useFontHinting); + ~dviRenderer() override; + + virtual bool setFile(const QString &fname, const QUrl &base); + + dvifile *dviFile; + + virtual bool supportsTextSearch() const + { + return true; + } + + bool showPS() + { + return _postscript; + } + int curr_page() + { + return current_page + 1; + } + virtual bool isValidFile(const QString &fileName) const; + + /** This method will try to parse the reference part of the DVI + file's URL, (either a number, which is supposed to be a page + number, or src:\\) and see if a corresponding + section of the DVI file can be found. If so, it returns an + anchor to that section. If not, it returns an invalid anchor. */ + virtual Anchor parseReference(const QString &reference); + + Anchor findAnchor(const QString &); + + virtual PageNumber totalPages() const; + + void setEventLoop(QEventLoop *el); + + // These should not be public... only for the moment + void read_postamble(); + void draw_part(double current_dimconv, bool is_vfmacro); + void set_vf_char(unsigned int cmd, unsigned int ch); + void set_char(unsigned int cmd, unsigned int ch); + void set_empty_char(unsigned int cmd, unsigned int ch); + void set_no_char(unsigned int cmd, unsigned int ch); + void applicationDoSpecial(char *cp); + + void special(long nbytes); + void printErrorMsgForSpecials(const QString &msg); + void color_special(const QString &msg); + void html_href_special(const QString &msg); + void html_anchor_end(); + void draw_page(); + void export_finished(const DVIExport *); + // void editor_finished(const DVISourceEditor*); + + QList getPrebookmarks() const + { + return prebookmarks; + } + + const QList &sourceAnchors() + { + return sourceHyperLinkAnchors; + } + +Q_SIGNALS: + /** + * The following three signals are modeleed on the corresponding signals + * of the Document class. + */ + void error(const QString &message, int duration); + void warning(const QString &message, int duration); + void notice(const QString &message, int duration); + +public Q_SLOTS: + void exportPS(const QString &fname = QString(), const QStringList &options = QStringList(), QPrinter *printer = nullptr, QPageLayout::Orientation orientation = QPageLayout::Portrait); + void exportPDF(); + + void handleSRCLink(const QString &linkText, const QPoint point, DocumentWidget *widget); + + void embedPostScript(); + + virtual void drawPage(RenderedDocumentPagePixmap *page); + virtual void getText(RenderedDocumentPagePixmap *page); + + SimplePageSize sizeOfPage(const PageNumber page); + +private Q_SLOTS: + /** This method shows a dialog that tells the user that source + information is present, and gives the opportunity to open the + manual and learn more about forward and inverse search */ + // void showThatSourceInformationIsPresent(); + +private: + friend class DVIExportToPS; + friend class DVIExport; + // friend class DVISourceEditor; + + /** URL to the DVI file + This field is initialized by the setFile() method. See the + explanation there. */ + QUrl baseURL; + + /** This method parses a color specification of type "gray 0.5", "rgb + 0.5 0.7 1.0", "hsb ...", "cmyk .." or "PineGreen". See the source + code for details. */ + QColor parseColorSpecification(const QString &colorSpec); + + /** This map contains the colors which are known by name. This field + is initialized in the method parseColorSpecification() as soon as + it is needed. */ + QMap namedColors; + + /** This method locates special PDF characters in a string and + replaces them by UTF8. See Section 3.2.3 of the PDF reference + guide for information */ + QString PDFencodingToQString(const QString &pdfstring); + + void setResolution(double resolution_in_DPI); + + fontPool font_pool; + + double resolutionInDPI; + + // @@@ explanation + void prescan(parseSpecials specialParser); + void prescan_embedPS(char *cp, quint8 *); + void prescan_removePageSizeInfo(char *cp, quint8 *); + void prescan_parseSpecials(char *cp, quint8 *); + void prescan_ParsePapersizeSpecial(const QString &cp); + void prescan_ParseBackgroundSpecial(const QString &cp); + void prescan_ParseHTMLAnchorSpecial(const QString &cp); + void prescan_ParsePSHeaderSpecial(const QString &cp); + void prescan_ParsePSBangSpecial(const QString &cp); + void prescan_ParsePSQuoteSpecial(const QString &cp); + void prescan_ParsePSSpecial(const QString &cp); + void prescan_ParsePSFileSpecial(const QString &cp); + void prescan_ParseSourceSpecial(QStringView cp); + void prescan_setChar(unsigned int ch); + + /* */ + QList prebookmarks; + + /** Utility fields used by the embedPostScript method*/ + QProgressDialog *embedPS_progress; + quint16 embedPS_numOfProgressedFiles; + + /** Shrink factor. Units are not quite clear */ + double shrinkfactor; + + QString errorMsg; + + /** Methods which handle certain special commands. */ + void epsf_special(const QString &cp); + void source_special(const QString &cp); + + /** TPIC specials */ + void TPIC_setPen_special(const QString &cp); + void TPIC_addPath_special(const QString &cp); + void TPIC_flushPath_special(); + + // List of source-hyperlinks on all pages. This vector is generated + // when the DVI-file is first loaded, i.e. when draw_part is called + // with PostScriptOutPutString != NULL + QList sourceHyperLinkAnchors; + + // If not NULL, the text currently drawn represents a source + // hyperlink to the (relative) URL given in the string; + QString *source_href; + + // If not NULL, the text currently drawn represents a hyperlink to + // the (relative) URL given in the string; + QString *HTML_href; + + QString editorCommand; + + /** Stack for register compounds, used for the DVI-commands PUSH/POP + as explained in section 2.5 and 2.6.2 of the DVI driver standard, + Level 0, published by the TUG DVI driver standards committee. */ + QStack stack; + + /** A stack where color are stored, according to the documentation of + DVIPS */ + QStack colorStack; + + /** The global color is to be used when the color stack is empty */ + QColor globalColor; + + /** If PostScriptOutPutFile is non-zero, then no rendering takes + place. Instead, the PostScript code which is generated by the + \special-commands is written to the PostScriptString */ + QString *PostScriptOutPutString; + + ghostscript_interface *PS_interface; + + /** true, if gs should be used, otherwise, only bounding boxes are + drawn. */ + bool _postscript; + + /** This flag is used when rendering a dvi-page. It is set to "true" + when any dvi-command other than "set" or "put" series of commands + is encountered. This is considered to mark the end of a word. */ + bool line_boundary_encountered; + bool word_boundary_encountered; + + unsigned int current_page; + + /** Data required for handling TPIC specials */ + float penWidth_in_mInch; + QPolygon TPIC_path; + quint16 number_of_elements_in_path; + + drawinf currinf; + RenderedDocumentPagePixmap *currentlyDrawnPage; + QMap> all_exports_; + // QExplicitlySharedDataPointer editor_; + + /** Flag if document is modified + + This flag indicates if the document was modified after it was + loaded. It is set to 'false' in the constructor, in the clear() and + setFile() method. It can be set to 'true' be methods that modify the + document (e.g. the deletePages() method of the djvu implementation + of this class). + */ + bool _isModified; + + QMutex mutex; + quint16 numPages; + + // TODO: merge into dviPageInfo + QList pageSizes; + + QMap anchorList; + + QEventLoop *m_eventLoop; + + QPainter *foreGroundPainter; + + // was the locateFonts method of font pool executed? + bool fontpoolLocateFontsDone; +}; + +#endif diff --git a/generators/dvi/dviRenderer_dr.cpp b/generators/dvi/dviRenderer_dr.cpp new file mode 100644 index 0000000..435c64f --- /dev/null +++ b/generators/dvi/dviRenderer_dr.cpp @@ -0,0 +1,51 @@ +// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; c-brace-offset: 0; -*- +// +// Extracted from: +// Class: documentRenderer +// +// Abstract Widget for displaying document types +// Needs to be implemented from the actual parts +// using kviewshell +// Part of KViewshell - A generic interface for document viewers. +// +// SPDX-FileCopyrightText: 2004-2005 Wilfried Huss +// SPDX-FileCopyrightText: 2004-2006 Stefan Kebekus. +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "dviRenderer.h" + +SimplePageSize dviRenderer::sizeOfPage(const PageNumber page) +{ +#if !defined(QT_NO_THREAD) + // Wait for all access to this DocumentRenderer to finish + // QMutexLocker locker(&mutex); +#endif + + if (!page.isValid()) { + return SimplePageSize(); + } + if (page > totalPages()) { + return SimplePageSize(); + } + const quint16 pageNumber = static_cast(page); + if (pageNumber > pageSizes.size()) { + return SimplePageSize(); + } + + return pageSizes[pageNumber - 1]; +} + +Anchor dviRenderer::findAnchor(const QString &locallink) +{ + QMap::Iterator it = anchorList.find(locallink); + if (it != anchorList.end()) { + return *it; + } else { + return Anchor(); + } +} + +PageNumber dviRenderer::totalPages() const +{ + return PageNumber(numPages); +} diff --git a/generators/dvi/dviRenderer_draw.cpp b/generators/dvi/dviRenderer_draw.cpp new file mode 100644 index 0000000..df9af4b --- /dev/null +++ b/generators/dvi/dviRenderer_draw.cpp @@ -0,0 +1,645 @@ +// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; c-brace-offset: 0; -*- +/* + * SPDX-FileCopyrightText: 1994 Paul Vojta. All rights reserved. + * + * SPDX-License-Identifier: BSD-2-Clause + * + * NOTE: + * xdvi is based on prior work as noted in the modification history, below. + */ + +/* + * DVI previewer for X. + * + * Eric Cooper, CMU, September 1985. + * + * Code derived from dvi-imagen.c. + * + * Modification history: + * 1/1986 Modified for X.10 --Bob Scheifler, MIT LCS. + * 7/1988 Modified for X.11 --Mark Eichin, MIT + * 12/1988 Added 'R' option, toolkit, magnifying glass + * --Paul Vojta, UC Berkeley. + * 2/1989 Added tpic support --Jeffrey Lee, U of Toronto + * 4/1989 Modified for System V --Donald Richardson, Clarkson Univ. + * 3/1990 Added VMS support --Scott Allendorf, U of Iowa + * 7/1990 Added reflection mode --Michael Pak, Hebrew U of Jerusalem + * 1/1992 Added greyscale code --Till Brychcy, Techn. Univ. Muenchen + * and Lee Hetherington, MIT + * 4/1994 Added DPS support, bounding box + * --Ricardo Telichevesky + * and Luis Miguel Silveira, MIT RLE. + */ + +// #define DEBUG_RENDER 0 + +#include + +#include "debug_dvi.h" +#include "dvi.h" +#include "dviFile.h" +#include "dviRenderer.h" +#include "hyperlink.h" +#include "psgs.h" +// #include "renderedDviPagePixmap.h" +#include "TeXFont.h" +#include "textBox.h" +#include "xdvi.h" + +#include + +#include +#include + +/** Routine to print characters. */ + +void dviRenderer::set_char(unsigned int cmd, unsigned int ch) +{ +#ifdef DEBUG_RENDER + qCDebug(OkularDviDebug) << "set_char #" << ch; +#endif + + glyph *g; + if (colorStack.isEmpty()) { + g = ((TeXFont *)(currinf.fontp->font))->getGlyph(ch, true, globalColor); + } else { + g = ((TeXFont *)(currinf.fontp->font))->getGlyph(ch, true, colorStack.top()); + } + if (g == nullptr) { + return; + } + + long dvi_h_sav = currinf.data.dvi_h; + + QImage pix = g->shrunkenCharacter; + int x = ((int)((currinf.data.dvi_h) / (shrinkfactor * 65536))) - g->x2; + int y = currinf.data.pxl_v - g->y2; + + // Draw the character. + foreGroundPainter->drawImage(x, y, pix); + + // Are we drawing text for a hyperlink? And are hyperlinks + // enabled? + if (HTML_href != nullptr) { + // Now set up a rectangle which is checked against every mouse + // event. + if (line_boundary_encountered == true) { + // Set up hyperlink + Hyperlink dhl; + dhl.baseline = currinf.data.pxl_v; + dhl.box.setRect(x, y, pix.width(), pix.height()); + dhl.linkText = *HTML_href; + currentlyDrawnPage->hyperLinkList.push_back(dhl); + } else { + QRect dshunion = currentlyDrawnPage->hyperLinkList[currentlyDrawnPage->hyperLinkList.size() - 1].box.united(QRect(x, y, pix.width(), pix.height())); + currentlyDrawnPage->hyperLinkList[currentlyDrawnPage->hyperLinkList.size() - 1].box = dshunion; + } + } + + // Are we drawing text for a source hyperlink? And are source + // hyperlinks enabled? + // If we are printing source hyperlinks are irrelevant, otherwise we + // actually got a pointer to a RenderedDviPagePixmap. + RenderedDviPagePixmap *currentDVIPage = dynamic_cast(currentlyDrawnPage); + if (source_href != nullptr && currentDVIPage) { + // Now set up a rectangle which is checked against every mouse + // event. + if (line_boundary_encountered == true) { + // Set up source hyperlinks + Hyperlink dhl; + dhl.baseline = currinf.data.pxl_v; + dhl.box.setRect(x, y, pix.width(), pix.height()); + dhl.linkText = *source_href; + currentDVIPage->sourceHyperLinkList.push_back(dhl); + } else { + QRect dshunion = currentDVIPage->sourceHyperLinkList[currentDVIPage->sourceHyperLinkList.size() - 1].box.united(QRect(x, y, pix.width(), pix.height())); + currentDVIPage->sourceHyperLinkList[currentDVIPage->sourceHyperLinkList.size() - 1].box = dshunion; + } + } + + // Code for DVI -> text functions (e.g. marking of text, full text + // search, etc.). Set up the currentlyDrawnPage->textBoxList. + TextBox link; + link.box.setRect(x, y, pix.width(), pix.height()); + link.text = QLatin1String(""); + currentlyDrawnPage->textBoxList.push_back(link); + + switch (ch) { + case 0x0b: + currentlyDrawnPage->textBoxList[currentlyDrawnPage->textBoxList.size() - 1].text += QLatin1String("ff"); + break; + case 0x0c: + currentlyDrawnPage->textBoxList[currentlyDrawnPage->textBoxList.size() - 1].text += QLatin1String("fi"); + break; + case 0x0d: + currentlyDrawnPage->textBoxList[currentlyDrawnPage->textBoxList.size() - 1].text += QLatin1String("fl"); + break; + case 0x0e: + currentlyDrawnPage->textBoxList[currentlyDrawnPage->textBoxList.size() - 1].text += QLatin1String("ffi"); + break; + case 0x0f: + currentlyDrawnPage->textBoxList[currentlyDrawnPage->textBoxList.size() - 1].text += QLatin1String("ffl"); + break; + + case 0x7b: + currentlyDrawnPage->textBoxList[currentlyDrawnPage->textBoxList.size() - 1].text += QLatin1Char('-'); + break; + case 0x7c: + currentlyDrawnPage->textBoxList[currentlyDrawnPage->textBoxList.size() - 1].text += QLatin1String("---"); + break; + case 0x7d: + currentlyDrawnPage->textBoxList[currentlyDrawnPage->textBoxList.size() - 1].text += QLatin1String("\""); + break; + case 0x7e: + currentlyDrawnPage->textBoxList[currentlyDrawnPage->textBoxList.size() - 1].text += QLatin1Char('~'); + break; + case 0x7f: + currentlyDrawnPage->textBoxList[currentlyDrawnPage->textBoxList.size() - 1].text += QLatin1String("@@"); // @@@ check! + break; + + default: + if ((ch >= 0x21) && (ch <= 0x7a)) { + currentlyDrawnPage->textBoxList[currentlyDrawnPage->textBoxList.size() - 1].text += QChar(ch); + } else { + currentlyDrawnPage->textBoxList[currentlyDrawnPage->textBoxList.size() - 1].text += QLatin1Char('?'); + } + break; + } + + if (cmd == PUT1) { + currinf.data.dvi_h = dvi_h_sav; + } else { + currinf.data.dvi_h += (int)(currinf.fontp->scaled_size_in_DVI_units * dviFile->getCmPerDVIunit() * (1200.0 / 2.54) / 16.0 * g->dvi_advance_in_units_of_design_size_by_2e20 + 0.5); + } + + word_boundary_encountered = false; + line_boundary_encountered = false; +} + +void dviRenderer::set_empty_char(unsigned int, unsigned int) +{ + return; +} + +void dviRenderer::set_vf_char(unsigned int cmd, unsigned int ch) +{ +#ifdef DEBUG_RENDER + qCDebug(OkularDviDebug) << "dviRenderer::set_vf_char( cmd=" << cmd << ", ch=" << ch << " )"; +#endif + + static unsigned char c; + macro *m = &currinf.fontp->macrotable[ch]; + if (m->pos == nullptr) { + qCCritical(OkularDviDebug) << "Character " << ch << " not defined in font " << currinf.fontp->fontname; + m->pos = m->end = &c; + return; + } + + long dvi_h_sav = currinf.data.dvi_h; + + struct drawinf oldinfo = currinf; + currinf.data.w = 0; + currinf.data.x = 0; + currinf.data.y = 0; + currinf.data.z = 0; + + currinf.fonttable = &(currinf.fontp->vf_table); + currinf._virtual = currinf.fontp; + quint8 *command_ptr_sav = command_pointer; + quint8 *end_ptr_sav = end_pointer; + command_pointer = m->pos; + end_pointer = m->end; + draw_part(currinf.fontp->scaled_size_in_DVI_units * (dviFile->getCmPerDVIunit() * 1200.0 / 2.54) / 16.0, true); + command_pointer = command_ptr_sav; + end_pointer = end_ptr_sav; + currinf = oldinfo; + + if (cmd == PUT1) { + currinf.data.dvi_h = dvi_h_sav; + } else { + currinf.data.dvi_h += (int)(currinf.fontp->scaled_size_in_DVI_units * dviFile->getCmPerDVIunit() * (1200.0 / 2.54) / 16.0 * m->dvi_advance_in_units_of_design_size_by_2e20 + 0.5); + } +} + +void dviRenderer::set_no_char(unsigned int cmd, unsigned int ch) +{ +#ifdef DEBUG_RENDER + qCDebug(OkularDviDebug) << "dviRenderer::set_no_char( cmd=" << cmd << ", ch =" << ch << " )"; +#endif + + if (currinf._virtual) { + currinf.fontp = currinf._virtual->first_font; + if (currinf.fontp != nullptr) { + currinf.set_char_p = currinf.fontp->set_char_p; + (this->*currinf.set_char_p)(cmd, ch); + return; + } + } + + errorMsg = i18n("The DVI code set a character of an unknown font."); + return; +} + +void dviRenderer::draw_part(double current_dimconv, bool is_vfmacro) +{ +#ifdef DEBUG_RENDER + qCDebug(OkularDviDebug) << "draw_part"; +#endif + + qint32 RRtmp = 0, WWtmp = 0, XXtmp = 0, YYtmp = 0, ZZtmp = 0; + quint8 ch; + + currinf.fontp = nullptr; + currinf.set_char_p = &dviRenderer::set_no_char; + + int last_space_index = 0; + bool space_encountered; + bool after_space = false; + for (;;) { + space_encountered = false; + ch = readUINT8(); + if (ch <= (unsigned char)(SETCHAR0 + 127)) { + (this->*currinf.set_char_p)(ch, ch); + } else if (FNTNUM0 <= ch && ch <= (unsigned char)(FNTNUM0 + 63)) { + currinf.fontp = currinf.fonttable->value(ch - FNTNUM0); + if (currinf.fontp == nullptr) { + errorMsg = i18n("The DVI code referred to font #%1, which was not previously defined.", ch - FNTNUM0); + return; + } + currinf.set_char_p = currinf.fontp->set_char_p; + } else { + qint32 a, b; + + switch (ch) { + case SET1: + case PUT1: + (this->*currinf.set_char_p)(ch, readUINT8()); + break; + + case SETRULE: + if (is_vfmacro == false) { + word_boundary_encountered = true; + line_boundary_encountered = true; + } + /* Be careful, dvicopy outputs rules with height = + 0x80000000. We don't want any SIGFPE here. */ + a = readUINT32(); + b = readUINT32(); + b = ((long)(b * current_dimconv)); + if (a > 0 && b > 0) { + int h = ((int)ROUNDUP(((long)(a * current_dimconv)), shrinkfactor * 65536)); + int w = ((int)ROUNDUP(b, shrinkfactor * 65536)); + + if (colorStack.isEmpty()) { + foreGroundPainter->fillRect(((int)((currinf.data.dvi_h) / (shrinkfactor * 65536))), currinf.data.pxl_v - h + 1, w ? w : 1, h ? h : 1, globalColor); + } else { + foreGroundPainter->fillRect(((int)((currinf.data.dvi_h) / (shrinkfactor * 65536))), currinf.data.pxl_v - h + 1, w ? w : 1, h ? h : 1, colorStack.top()); + } + } + currinf.data.dvi_h += b; + break; + + case PUTRULE: + if (is_vfmacro == false) { + word_boundary_encountered = true; + line_boundary_encountered = true; + } + a = readUINT32(); + b = readUINT32(); + a = ((long)(a * current_dimconv)); + b = ((long)(b * current_dimconv)); + if (a > 0 && b > 0) { + int h = ((int)ROUNDUP(a, shrinkfactor * 65536)); + int w = ((int)ROUNDUP(b, shrinkfactor * 65536)); + if (colorStack.isEmpty()) { + foreGroundPainter->fillRect(((int)((currinf.data.dvi_h) / (shrinkfactor * 65536))), currinf.data.pxl_v - h + 1, w ? w : 1, h ? h : 1, globalColor); + } else { + foreGroundPainter->fillRect(((int)((currinf.data.dvi_h) / (shrinkfactor * 65536))), currinf.data.pxl_v - h + 1, w ? w : 1, h ? h : 1, colorStack.top()); + } + } + break; + + case NOP: + break; + + case BOP: + if (is_vfmacro == false) { + word_boundary_encountered = true; + line_boundary_encountered = true; + } + command_pointer += 11 * 4; + currinf.data.dvi_h = 1200 << 16; // Reminder: DVI-coordinates start at (1",1") from top of page + currinf.data.dvi_v = 1200; + currinf.data.pxl_v = int(currinf.data.dvi_v / shrinkfactor); + currinf.data.w = currinf.data.x = currinf.data.y = currinf.data.z = 0; + break; + + case EOP: + // Check if we are just at the end of a virtual font macro. + if (is_vfmacro == false) { + // This is really the end of a page, and not just the end + // of a macro. Mark the end of the current word. + word_boundary_encountered = true; + line_boundary_encountered = true; + // Sanity check for the dvi-file: The DVI-standard asserts + // that at the end of a page, the stack should always be + // empty. + if (!stack.isEmpty()) { + qCDebug(OkularDviDebug) << "DRAW: The stack was not empty when the EOP command was encountered."; + errorMsg = i18n("The stack was not empty when the EOP command was encountered."); + return; + } + } + return; + + case PUSH: + stack.push(currinf.data); + break; + + case POP: + if (stack.isEmpty()) { + errorMsg = i18n("The stack was empty when a POP command was encountered."); + return; + } else { + currinf.data = stack.pop(); + } + word_boundary_encountered = true; + line_boundary_encountered = true; + break; + + case RIGHT1: + case RIGHT2: + case RIGHT3: + case RIGHT4: + RRtmp = readINT(ch - RIGHT1 + 1); + + // A horizontal motion in the range 4 * font space [f] < h < + // font space [f] will be treated as a kern that is not + // indicated in the printouts that DVItype produces between + // brackets. We allow a larger space in the negative + // direction than in the positive one, because TEX makes + // comparatively large backspaces when it positions + // accents. (comments stolen from the source of dvitype) + if ((is_vfmacro == false) && (currinf.fontp != nullptr) && ((RRtmp >= currinf.fontp->scaled_size_in_DVI_units / 6) || (RRtmp <= -4 * (currinf.fontp->scaled_size_in_DVI_units / 6))) && + (currentlyDrawnPage->textBoxList.size() > 0)) { + // currentlyDrawnPage->textBoxList[currentlyDrawnPage->textBoxList.size()-1].text += ' '; + space_encountered = true; + } + currinf.data.dvi_h += ((long)(RRtmp * current_dimconv)); + break; + + case W1: + case W2: + case W3: + case W4: + WWtmp = readINT(ch - W0); + currinf.data.w = ((long)(WWtmp * current_dimconv)); + // fallthrough + case W0: + if ((is_vfmacro == false) && (currinf.fontp != nullptr) && ((WWtmp >= currinf.fontp->scaled_size_in_DVI_units / 6) || (WWtmp <= -4 * (currinf.fontp->scaled_size_in_DVI_units / 6))) && + (currentlyDrawnPage->textBoxList.size() > 0)) { + // currentlyDrawnPage->textBoxList[currentlyDrawnPage->textBoxList.size()-1].text += ' '; + space_encountered = true; + } + currinf.data.dvi_h += currinf.data.w; + break; + + case X1: + case X2: + case X3: + case X4: + XXtmp = readINT(ch - X0); + currinf.data.x = ((long)(XXtmp * current_dimconv)); + // fallthrough + case X0: + if ((is_vfmacro == false) && (currinf.fontp != nullptr) && ((XXtmp >= currinf.fontp->scaled_size_in_DVI_units / 6) || (XXtmp <= -4 * (currinf.fontp->scaled_size_in_DVI_units / 6))) && + (currentlyDrawnPage->textBoxList.size() > 0)) { + // currentlyDrawnPage->textBoxList[currentlyDrawnPage->textBoxList.size()-1].text += ' '; + space_encountered = true; + } + currinf.data.dvi_h += currinf.data.x; + break; + + case DOWN1: + case DOWN2: + case DOWN3: + case DOWN4: { + qint32 DDtmp = readINT(ch - DOWN1 + 1); + if ((is_vfmacro == false) && (currinf.fontp != nullptr) && (abs(DDtmp) >= 5 * (currinf.fontp->scaled_size_in_DVI_units / 6)) && (currentlyDrawnPage->textBoxList.size() > 0)) { + word_boundary_encountered = true; + line_boundary_encountered = true; + space_encountered = true; + if (abs(DDtmp) >= 10 * (currinf.fontp->scaled_size_in_DVI_units / 6)) { + currentlyDrawnPage->textBoxList[currentlyDrawnPage->textBoxList.size() - 1].text += QLatin1Char('\n'); + } + } + currinf.data.dvi_v += ((long)(DDtmp * current_dimconv)) / 65536; + currinf.data.pxl_v = int(currinf.data.dvi_v / shrinkfactor); + } break; + + case Y1: + case Y2: + case Y3: + case Y4: + YYtmp = readINT(ch - Y0); + currinf.data.y = ((long)(YYtmp * current_dimconv)); + // fallthrough + case Y0: + if ((is_vfmacro == false) && (currinf.fontp != nullptr) && (abs(YYtmp) >= 5 * (currinf.fontp->scaled_size_in_DVI_units / 6)) && (currentlyDrawnPage->textBoxList.size() > 0)) { + word_boundary_encountered = true; + line_boundary_encountered = true; + space_encountered = true; + if (abs(YYtmp) >= 10 * (currinf.fontp->scaled_size_in_DVI_units / 6)) { + currentlyDrawnPage->textBoxList[currentlyDrawnPage->textBoxList.size() - 1].text += QLatin1Char('\n'); + } + } + currinf.data.dvi_v += currinf.data.y / 65536; + currinf.data.pxl_v = int(currinf.data.dvi_v / shrinkfactor); + break; + + case Z1: + case Z2: + case Z3: + case Z4: + ZZtmp = readINT(ch - Z0); + currinf.data.z = ((long)(ZZtmp * current_dimconv)); + // fallthrough + case Z0: + if ((is_vfmacro == false) && (currinf.fontp != nullptr) && (abs(ZZtmp) >= 5 * (currinf.fontp->scaled_size_in_DVI_units / 6)) && (currentlyDrawnPage->textBoxList.size() > 0)) { + word_boundary_encountered = true; + line_boundary_encountered = true; + space_encountered = true; + if (abs(ZZtmp) >= 10 * (currinf.fontp->scaled_size_in_DVI_units / 6)) { + currentlyDrawnPage->textBoxList[currentlyDrawnPage->textBoxList.size() - 1].text += QLatin1Char('\n'); + } + } + currinf.data.dvi_v += currinf.data.z / 65536; + currinf.data.pxl_v = int(currinf.data.dvi_v / shrinkfactor); + break; + + case FNT1: + case FNT2: + case FNT3: + currinf.fontp = currinf.fonttable->value(readUINT(ch - FNT1 + 1)); + if (currinf.fontp == nullptr) { + errorMsg = i18n("The DVI code referred to a font which was not previously defined."); + return; + } + currinf.set_char_p = currinf.fontp->set_char_p; + break; + + case FNT4: + currinf.fontp = currinf.fonttable->value(readINT(ch - FNT1 + 1)); + if (currinf.fontp == nullptr) { + errorMsg = i18n("The DVI code referred to a font which was not previously defined."); + return; + } + currinf.set_char_p = currinf.fontp->set_char_p; + break; + + case XXX1: + case XXX2: + case XXX3: + case XXX4: + if (is_vfmacro == false) { + word_boundary_encountered = true; + line_boundary_encountered = true; + space_encountered = true; + } + a = readUINT(ch - XXX1 + 1); + if (a > 0) { + char *cmd = new char[a + 1]; + strncpy(cmd, (char *)command_pointer, a); + command_pointer += a; + cmd[a] = '\0'; + applicationDoSpecial(cmd); + delete[] cmd; + } + break; + + case FNTDEF1: + case FNTDEF2: + case FNTDEF3: + case FNTDEF4: + command_pointer += 12 + ch - FNTDEF1 + 1; + { + quint8 tempa = readUINT8(); + quint8 tempb = readUINT8(); + command_pointer += tempa + tempb; + } + break; + + case PRE: + case POST: + case POSTPOST: + errorMsg = i18n("An illegal command was encountered."); + return; + break; + + default: + errorMsg = i18n("The unknown op-code %1 was encountered.", ch); + return; + } /* end switch*/ + } /* end else (ch not a SETCHAR or FNTNUM) */ + +#ifdef DEBUG_RENDER + if (currentlyDrawnPage->textBoxList.size() > 0) + qCDebug(OkularDviDebug) << "Element:" << currentlyDrawnPage->textBoxList.last().box << currentlyDrawnPage->textBoxList.last().text << " ? s:" << space_encountered << " / nl:" << line_boundary_encountered + << " / w:" << word_boundary_encountered << ", " << last_space_index << "/" << currentlyDrawnPage->textBoxList.size(); +#endif + + /* heuristic to properly detect newlines; a space is needed */ + if (after_space && line_boundary_encountered && word_boundary_encountered) { + if (currentlyDrawnPage->textBoxList.last().text.endsWith(QLatin1Char('\n'))) { + currentlyDrawnPage->textBoxList.last().text.chop(1); + } + currentlyDrawnPage->textBoxList.last().text += QLatin1String(" \n"); + after_space = false; + } + + /* a "space" has been found and there is some (new) character + in the array */ + if (space_encountered && (currentlyDrawnPage->textBoxList.size() > last_space_index)) { + for (int lidx = last_space_index + 1; lidx < currentlyDrawnPage->textBoxList.size(); ++lidx) { + // merge two adjacent boxes which are part of the same word + currentlyDrawnPage->textBoxList[lidx - 1].box.setRight(currentlyDrawnPage->textBoxList[lidx].box.x()); + } +#ifdef DEBUG_RENDER + QString lastword(currentlyDrawnPage->textBoxList[last_space_index].text); + for (int lidx = last_space_index + 1; lidx < currentlyDrawnPage->textBoxList.size(); ++lidx) + lastword += currentlyDrawnPage->textBoxList[lidx].text; + qCDebug(OkularDviDebug) << "space encountered: '" << lastword << "'"; +#endif + last_space_index = currentlyDrawnPage->textBoxList.size(); + after_space = true; + } + } /* end for */ +} + +void dviRenderer::draw_page() +{ + // Reset a couple of variables + HTML_href = nullptr; + source_href = nullptr; + penWidth_in_mInch = 0.0; + + // Calling resize() here rather than clear() means that the memory + // taken up by the vector is not freed. This is faster than + // constantly allocating/freeing memory. + currentlyDrawnPage->textBoxList.resize(0); + + RenderedDviPagePixmap *currentDVIPage = dynamic_cast(currentlyDrawnPage); + if (currentDVIPage) { + currentDVIPage->sourceHyperLinkList.resize(0); + } + +#ifdef PERFORMANCE_MEASUREMENT + // If this is the first time a page is drawn, take the time that is + // elapsed till the kdvi_multipage was constructed, and print + // it. Set the flag so that is message will not be printed again. + if (performanceFlag == 0) { + qCDebug(OkularDviDebug) << "Time elapsed till the first page is drawn: " << performanceTimer.restart() << "ms"; + performanceFlag = 1; + } +#endif + +#ifdef DEBUG_RENDER + qCDebug(OkularDviDebug) << "draw_page"; +#endif + + foreGroundPainter->fillRect(foreGroundPainter->viewport(), PS_interface->getBackgroundColor(current_page)); + + // Render the PostScript background, if there is one. + if (_postscript) { + PS_interface->restoreBackgroundColor(current_page); + + PS_interface->graphics(current_page, resolutionInDPI, dviFile->getMagnification(), foreGroundPainter); + } + + // Now really write the text + if (dviFile->page_offset.isEmpty() == true) { + return; + } + if (current_page < dviFile->total_pages) { + command_pointer = dviFile->dvi_Data() + dviFile->page_offset[int(current_page)]; + end_pointer = dviFile->dvi_Data() + dviFile->page_offset[int(current_page + 1)]; + } else { + command_pointer = end_pointer = nullptr; + } + + memset((char *)&currinf.data, 0, sizeof(currinf.data)); + currinf.fonttable = &(dviFile->tn_table); + currinf._virtual = nullptr; + + double fontPixelPerDVIunit = dviFile->getCmPerDVIunit() * 1200.0 / 2.54; + + draw_part(65536.0 * fontPixelPerDVIunit, false); + if (HTML_href != nullptr) { + delete HTML_href; + HTML_href = nullptr; + } + if (source_href != nullptr) { + delete source_href; + source_href = nullptr; + } +} diff --git a/generators/dvi/dviRenderer_prescan.cpp b/generators/dvi/dviRenderer_prescan.cpp new file mode 100644 index 0000000..912d58f --- /dev/null +++ b/generators/dvi/dviRenderer_prescan.cpp @@ -0,0 +1,820 @@ +// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; c-brace-offset: 0; -*- +// dviRenderer_prescan.cpp +// +// Part of KDVI - A DVI previewer for the KDE desktop environment +// +// SPDX-FileCopyrightText: 2003-2004 Stefan Kebekus +// SPDX-License-Identifier: GPL-2.0-or-later + +#include + +#include "TeXFont.h" +#include "debug_dvi.h" +#include "dvi.h" +#include "dviFile.h" +#include "dviRenderer.h" +#include "prebookmark.h" +#include "psgs.h" + +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +extern QPainter foreGroundPaint; +extern void parse_special_argument(const QString &strg, const char *argument_name, int *variable); + +// #define DEBUG_PRESCAN + +void dviRenderer::prescan_embedPS(char *cp, quint8 *beginningOfSpecialCommand) +{ +#ifdef DEBUG_PRESCAN + qCDebug(OkularDviDebug) << "dviRenderer::prescan_embedPS( cp = " << cp << " ) "; +#endif + + // Encapsulated Postscript File + if (qstrnicmp(cp, "PSfile=", 7) != 0) { + return; + } + + QString command = QString::fromLocal8Bit(cp + 7); + + QString include_command = command.simplified(); + + // The line is supposed to start with "..ile=", and then comes the + // filename. Figure out what the filename is and stow it away. Of + // course, this does not work if the filename contains spaces + // (already the simplified() above is wrong). If you have + // files like this, go away. + QString EPSfilename = include_command; + EPSfilename.truncate(EPSfilename.indexOf(QLatin1Char(' '))); + + // Strip enclosing quotation marks which are included by some LaTeX + // macro packages (but not by others). This probably means that + // graphic files are no longer found if the filename really does + // contain quotes, but we don't really care that much. + if ((EPSfilename.at(0) == QLatin1Char('"')) && (EPSfilename.at(EPSfilename.length() - 1) == QLatin1Char('"'))) { + EPSfilename = EPSfilename.mid(1, EPSfilename.length() - 2); + } + + // Now locate the Gfx file on the hard disk... + EPSfilename = ghostscript_interface::locateEPSfile(EPSfilename, baseURL); + + // If the file is neither a PostScript not a PDF file, we exit here. + // The graphic file is later read when the page is rendered. + QMimeDatabase db; + QMimeType const mime_type = db.mimeTypeForFile(EPSfilename, QMimeDatabase::MatchContent); + QString const &mime_type_name = mime_type.isValid() ? mime_type.name() : QString(); + + bool const is_ps_file = (mime_type_name == QLatin1String("application/postscript") || mime_type_name == QLatin1String("image/x-eps")); + bool const is_pdf_file = (!is_ps_file && mime_type_name == QLatin1String("application/pdf")); + if (!(is_ps_file || is_pdf_file)) { + return; + } + + QString originalFName = EPSfilename; + + embedPS_progress->setLabelText(i18n("Embedding %1", EPSfilename)); + qApp->processEvents(); + + // If the EPSfilename really points to a PDF file, convert that file now. + if (is_pdf_file) { + EPSfilename = dviFile->convertPDFtoPS(EPSfilename); + } + + if (!QFile::exists(EPSfilename)) { + // Find the number of the page + quint32 currentOffset = beginningOfSpecialCommand - dviFile->dvi_Data(); + int page = 0; + for (; page < dviFile->total_pages; page++) { + if ((dviFile->page_offset[page] <= currentOffset) && (currentOffset <= dviFile->page_offset[page + 1])) { + break; + } + } + if (is_pdf_file) { + errorMsg += i18n("Page %1: The PDF file %2 could not be converted to PostScript.
", page + 1, originalFName); + } else { + errorMsg += i18n("Page %1: The PostScript file %2 could not be found.
", page + 1, originalFName); + } + embedPS_progress->setValue(embedPS_progress->value() + 1); + qApp->processEvents(); + return; + } + + // Now parse the arguments. + int llx = 0; + int lly = 0; + int urx = 0; + int ury = 0; + int rwi = 0; + int rhi = 0; + int angle = 0; + + // just to avoid ambiguities; the filename could contain keywords + include_command = include_command.mid(include_command.indexOf(QLatin1Char(' '))); + + parse_special_argument(include_command, "llx=", &llx); + parse_special_argument(include_command, "lly=", &lly); + parse_special_argument(include_command, "urx=", &urx); + parse_special_argument(include_command, "ury=", &ury); + parse_special_argument(include_command, "rwi=", &rwi); + parse_special_argument(include_command, "rhi=", &rhi); + parse_special_argument(include_command, "angle=", &angle); + + int clip = include_command.indexOf(QStringLiteral(" clip")); // -1 if clip keyword is not present, >= 0 otherwise + + // Generate the PostScript commands to be included + QString PS = QStringLiteral("ps: @beginspecial %1 @llx %2 @lly %3 @urx %4 @ury").arg(llx).arg(lly).arg(urx).arg(ury); + if (rwi != 0) { + PS.append(QStringLiteral(" %1 @rwi").arg(rwi)); + } + if (rhi != 0) { + PS.append(QStringLiteral(" %1 @rhi").arg(rhi)); + } + if (angle != 0) { + PS.append(QStringLiteral(" %1 @angle").arg(angle)); + } + if (clip != -1) { + PS.append(QStringLiteral(" @clip")); + } + PS.append(QStringLiteral(" @setspecial\n")); + + QFile file(EPSfilename); + if (file.open(QIODevice::ReadOnly)) { + QTextStream stream(&file); + while (!stream.atEnd()) { + PS += stream.readLine().section(QLatin1Char('%'), 0, 0); + PS += QLatin1Char('\n'); + } + file.close(); + } + PS.append(QStringLiteral("@endspecial")); + PS = PS.simplified(); + + _isModified = true; + quint32 lengthOfOldSpecial = command_pointer - beginningOfSpecialCommand; + quint32 lengthOfNewSpecial = PS.length() + 5; + + QList newDVI(dviFile->size_of_file + lengthOfNewSpecial - lengthOfOldSpecial); + + quint8 *commandPtrSav = command_pointer; + quint8 *endPtrSav = end_pointer; + end_pointer = newDVI.data() + dviFile->size_of_file + lengthOfNewSpecial - lengthOfOldSpecial; + memcpy(newDVI.data(), dviFile->dvi_Data(), beginningOfSpecialCommand - dviFile->dvi_Data()); + command_pointer = newDVI.data() + (beginningOfSpecialCommand - dviFile->dvi_Data()); + command_pointer[0] = XXX4; + command_pointer++; + writeUINT32(PS.length()); + memcpy(newDVI.data() + (beginningOfSpecialCommand - dviFile->dvi_Data()) + 5, PS.toLatin1().constData(), PS.length()); + memcpy( + newDVI.data() + (beginningOfSpecialCommand - dviFile->dvi_Data()) + lengthOfNewSpecial, beginningOfSpecialCommand + lengthOfOldSpecial, dviFile->size_of_file - (beginningOfSpecialCommand - dviFile->dvi_Data()) - lengthOfOldSpecial); + + // Adjust page pointers in the DVI file + dviFile->size_of_file = dviFile->size_of_file + lengthOfNewSpecial - lengthOfOldSpecial; + end_pointer = newDVI.data() + dviFile->size_of_file; + quint32 currentOffset = beginningOfSpecialCommand - dviFile->dvi_Data(); + for (int i = 0; i < dviFile->total_pages; i++) { + if (dviFile->page_offset[i] > currentOffset) { + dviFile->page_offset[i] = dviFile->page_offset[i] + lengthOfNewSpecial - lengthOfOldSpecial; + command_pointer = dviFile->page_offset[i] + newDVI.data() + 4 * 10 + 1; + quint32 a = readUINT32(); + if (a > currentOffset) { + a = a + lengthOfNewSpecial - lengthOfOldSpecial; + command_pointer = dviFile->page_offset[i] + newDVI.data() + 4 * 10 + 1; + writeUINT32(a); + } + } + } + + dviFile->beginning_of_postamble = dviFile->beginning_of_postamble + lengthOfNewSpecial - lengthOfOldSpecial; + dviFile->page_offset[int(dviFile->total_pages)] = dviFile->beginning_of_postamble; + + command_pointer = newDVI.data() + dviFile->beginning_of_postamble + 1; + quint32 a = readUINT32(); + if (a > currentOffset) { + a = a + lengthOfNewSpecial - lengthOfOldSpecial; + command_pointer = newDVI.data() + dviFile->beginning_of_postamble + 1; + writeUINT32(a); + } + + command_pointer = newDVI.data() + dviFile->size_of_file - 1; + while ((*command_pointer == TRAILER) && (command_pointer > newDVI.data())) { + command_pointer--; + } + command_pointer -= 4; + writeUINT32(dviFile->beginning_of_postamble); + command_pointer -= 4; + + command_pointer = commandPtrSav; + end_pointer = endPtrSav; + + // Modify all pointers to point to the newly allocated memory + command_pointer = newDVI.data() + (command_pointer - dviFile->dvi_Data()) + lengthOfNewSpecial - lengthOfOldSpecial; + end_pointer = newDVI.data() + (end_pointer - dviFile->dvi_Data()) + lengthOfNewSpecial - lengthOfOldSpecial; + + dviFile->setNewData(newDVI); + + embedPS_progress->setValue(embedPS_progress->value() + 1); + qApp->processEvents(); + return; +} + +void dviRenderer::prescan_removePageSizeInfo(char *cp, quint8 *beginningOfSpecialCommand) +{ +#ifdef DEBUG_PRESCAN + qCDebug(OkularDviDebug) << "dviRenderer::prescan_embedPS( cp = " << cp << " ) "; +#endif + + // Encapsulated Postscript File + if (qstrnicmp(cp, "papersize=", 10) != 0) { + return; + } + + for (quint8 *ptr = beginningOfSpecialCommand; ptr < command_pointer; ptr++) { + *ptr = NOP; + } +} + +void dviRenderer::prescan_ParsePapersizeSpecial(const QString &_cp) +{ +#ifdef DEBUG_PRESCAN + qCDebug(OkularDviDebug) << "Papersize-Special : papersize" << _cp; +#endif + + QString cp = _cp.simplified(); + + if (cp[0] == QLatin1Char('=')) { + cp = cp.mid(1); + dviFile->suggestedPageSize = new pageSize; + dviFile->suggestedPageSize->setPageSize(cp); + } else { + printErrorMsgForSpecials(i18n("The papersize data '%1' could not be parsed.", cp)); + } + + return; +} + +void dviRenderer::prescan_ParseBackgroundSpecial(const QString &cp) +{ + QColor col = parseColorSpecification(cp.trimmed()); + if (col.isValid()) { + for (quint16 page = current_page; page < dviFile->total_pages; page++) { + PS_interface->setBackgroundColor(page, col); + } + } + return; +} + +void dviRenderer::prescan_ParseHTMLAnchorSpecial(const QString &_cp) +{ + QString cp = _cp; + cp.truncate(cp.indexOf(QLatin1Char('"'))); + Length l; + l.setLength_in_inch(currinf.data.dvi_v / (resolutionInDPI * shrinkfactor)); + anchorList[cp] = Anchor(current_page + 1, l); +} + +void dviRenderer::prescan_ParsePSHeaderSpecial(const QString &cp) +{ +#ifdef DEBUG_PRESCAN + qCDebug(OkularDviDebug) << "PostScript-special, header " << cp; +#endif + + QString _file = cp; + + // If the file is not found in the current directory, use kpsewhich + // to find it. + if (!QFile::exists(_file)) { + // Otherwise, use kpsewhich to find the eps file. + // Make sure kpsewhich is in PATH and not just in the CWD + static const QString fullPath = QStandardPaths::findExecutable(QStringLiteral("kpsewhich")); + if (!fullPath.isEmpty()) { + KProcess proc; + proc << fullPath << cp; + proc.setOutputChannelMode(KProcess::SeparateChannels); + proc.execute(); + _file = QString::fromLocal8Bit(proc.readLine().trimmed()); + } + } + + if (QFile::exists(_file)) { + PS_interface->PostScriptHeaderString->append(QStringLiteral(" (%1) run\n").arg(_file)); + } +} + +void dviRenderer::prescan_ParsePSBangSpecial(const QString &cp) +{ +#ifdef DEBUG_PRESCAN + qCDebug(OkularDviDebug) << "PostScript-special, literal header " << cp; +#endif + + PS_interface->PostScriptHeaderString->append(QStringLiteral(" @defspecial \n")); + PS_interface->PostScriptHeaderString->append(cp); + PS_interface->PostScriptHeaderString->append(QStringLiteral(" @fedspecial \n")); +} + +void dviRenderer::prescan_ParsePSQuoteSpecial(const QString &cp) +{ +#ifdef DEBUG_PRESCAN + qCCritical(OkularDviDebug) << "PostScript-special, literal PostScript " << cp; +#endif + + double PS_H = (currinf.data.dvi_h * 300.0) / (65536 * 1200) - 300; + double PS_V = (currinf.data.dvi_v * 300.0) / 1200 - 300; + PostScriptOutPutString->append(QStringLiteral(" %1 %2 moveto\n").arg(PS_H).arg(PS_V)); + PostScriptOutPutString->append(QStringLiteral(" @beginspecial @setspecial \n")); + PostScriptOutPutString->append(cp); + PostScriptOutPutString->append(QStringLiteral(" @endspecial \n")); +} + +void dviRenderer::prescan_ParsePSSpecial(const QString &cp) +{ +#ifdef DEBUG_PRESCAN + qCDebug(OkularDviDebug) << "PostScript-special, direct PostScript " << cp; +#endif + + // Unfortunately, in some TeX distribution the hyperref package uses + // the dvips driver by default, rather than the hypertex driver. As + // a result, the DVI files produced are full of PostScript that + // specifies links and anchors, and KDVI would call the ghostscript + // interpreter for every page which makes it really slow. This is a + // major nuisance, so that we try to filter and interpret the + // hypertex generated PostScript here. + if (cp.startsWith(QLatin1String("ps:SDict begin"))) { + // We suspect this may be hyperref generated nonsense. Let's check + // for some known code that hyperref generates. + if (cp == QLatin1String("ps:SDict begin H.S end")) { + return; // start of hyperref rectangle + } + if (cp == QLatin1String("ps:SDict begin H.R end")) { + return; // end of hyperref rectangle + } + if (cp.endsWith(QLatin1String("H.A end"))) { + return; // end of hyperref anchor + } + if (cp.endsWith(QLatin1String("H.L end"))) { + return; // end of hyperref link + } + if (cp.startsWith(QLatin1String("ps:SDict begin /product where{pop product(Distiller)"))) { + return; // hyperref tries to work around Distiller bug + } + if (cp.startsWith(QLatin1String("ps:SDict begin [")) && cp.endsWith(QLatin1String(" pdfmark end"))) { // hyperref definition of link/anchor/bookmark/etc + if (cp.contains(QStringLiteral("/DEST"))) { // The PostScript code defines an anchor + QString anchorName = cp.section(QLatin1Char('('), 1, 1).section(QLatin1Char(')'), 0, 0); + Length l; + l.setLength_in_inch(currinf.data.dvi_v / (resolutionInDPI * shrinkfactor)); + anchorList[anchorName] = Anchor(current_page + 1, l); + } + // The PostScript code defines a bookmark + if (cp.contains(QStringLiteral("/Dest")) && cp.contains(QStringLiteral("/Title"))) { + const QString childrenNumberAndMoreStuff = cp.section(QLatin1Char('-'), 1, 1); // Contains from the - symbol to the end of cp, effectively containing the number of children and some stuff after it + int indexOfFirstNonDigit = 0; + for (const QChar &c : childrenNumberAndMoreStuff) { + if (c.isDigit()) { + ++indexOfFirstNonDigit; + } else { + break; + } + } + prebookmarks.append(PreBookmark(PDFencodingToQString(cp.section(QLatin1Char('('), 2, 2).section(QLatin1Char(')'), 0, 0)), + cp.section(QLatin1Char('('), 1, 1).section(QLatin1Char(')'), 0, 0), + QStringView {childrenNumberAndMoreStuff}.left(indexOfFirstNonDigit).toUInt())); + } + return; + } + } + + double PS_H = (currinf.data.dvi_h * 300.0) / (65536 * 1200) - 300; + double PS_V = (currinf.data.dvi_v * 300.0) / 1200 - 300; + + if (cp.indexOf(QStringLiteral("ps::[begin]"), 0, Qt::CaseInsensitive) == 0) { + PostScriptOutPutString->append(QStringLiteral(" %1 %2 moveto\n").arg(PS_H).arg(PS_V)); + PostScriptOutPutString->append(QStringLiteral(" %1\n").arg(cp.mid(11))); + } else { + if (cp.indexOf(QStringLiteral("ps::[end]"), 0, Qt::CaseInsensitive) == 0) { + PostScriptOutPutString->append(QStringLiteral(" %1\n").arg(cp.mid(9))); + } else { + if (cp.indexOf(QStringLiteral("ps::"), 0, Qt::CaseInsensitive) == 0) { + PostScriptOutPutString->append(QStringLiteral(" %1\n").arg(cp.mid(4))); + } else { + PostScriptOutPutString->append(QStringLiteral(" %1 %2 moveto\n").arg(PS_H).arg(PS_V)); + PostScriptOutPutString->append(QStringLiteral(" %1\n").arg(cp.mid(3))); + } + } + } +} + +void dviRenderer::prescan_ParsePSFileSpecial(const QString &cp) +{ +#ifdef DEBUG_PRESCAN + qCDebug(OkularDviDebug) << "epsf-special: psfile=" << cp; +#endif + + QString include_command = cp.simplified(); + + // The line is supposed to start with "..ile=", and then comes the + // filename. Figure out what the filename is and stow it away. Of + // course, this does not work if the filename contains spaces + // (already the simplified() above is wrong). If you have + // files like this, go away. + QString EPSfilename = include_command; + EPSfilename.truncate(EPSfilename.indexOf(QLatin1Char(' '))); + + // Strip enclosing quotation marks which are included by some LaTeX + // macro packages (but not by others). This probably means that + // graphic files are no longer found if the filename really does + // contain quotes, but we don't really care that much. + if ((EPSfilename.at(0) == QLatin1Char('\"')) && (EPSfilename.at(EPSfilename.length() - 1) == QLatin1Char('\"'))) { + EPSfilename = EPSfilename.mid(1, EPSfilename.length() - 2); + } + + // If the file name ends in 'png', 'gif', 'jpg' or 'jpeg', we assume + // that this is NOT a PostScript file, and we exit here. + QString ending = EPSfilename.section(QLatin1Char('.'), -1).toLower(); + if ((ending == QLatin1String("png")) || (ending == QLatin1String("gif")) || (ending == QLatin1String("jpg")) || (ending == QLatin1String("jpeg"))) { + dviFile->numberOfExternalNONPSFiles++; + return; + } + + // Now assume that the graphics file *is* a PostScript file + dviFile->numberOfExternalPSFiles++; + + // Now locate the Gfx file on the hard disk... + EPSfilename = ghostscript_interface::locateEPSfile(EPSfilename, baseURL); + + // If the EPSfilename really points to a PDF file, convert that file now. + if (ending == QLatin1String("pdf")) { + QString convErrorMsg; + EPSfilename = dviFile->convertPDFtoPS(EPSfilename, &convErrorMsg); + if (convErrorMsg.isEmpty() != true) { + Q_EMIT error(convErrorMsg, -1); + return; + } + } + + // Now parse the arguments. + int llx = 0; + int lly = 0; + int urx = 0; + int ury = 0; + int rwi = 0; + int rhi = 0; + int angle = 0; + + // just to avoid ambiguities; the filename could contain keywords + include_command = include_command.mid(include_command.indexOf(QLatin1Char(' '))); + + parse_special_argument(include_command, "llx=", &llx); + parse_special_argument(include_command, "lly=", &lly); + parse_special_argument(include_command, "urx=", &urx); + parse_special_argument(include_command, "ury=", &ury); + parse_special_argument(include_command, "rwi=", &rwi); + parse_special_argument(include_command, "rhi=", &rhi); + parse_special_argument(include_command, "angle=", &angle); + + int clip = include_command.indexOf(QStringLiteral(" clip")); // -1 if clip keyword is not present, >= 0 otherwise + + if (QFile::exists(EPSfilename)) { + double PS_H = (currinf.data.dvi_h * 300.0) / (65536 * 1200) - 300; + double PS_V = (currinf.data.dvi_v * 300.0) / 1200 - 300; + PostScriptOutPutString->append(QStringLiteral(" %1 %2 moveto\n").arg(PS_H).arg(PS_V)); + PostScriptOutPutString->append(QStringLiteral("@beginspecial ")); + PostScriptOutPutString->append(QStringLiteral(" %1 @llx").arg(llx)); + PostScriptOutPutString->append(QStringLiteral(" %1 @lly").arg(lly)); + PostScriptOutPutString->append(QStringLiteral(" %1 @urx").arg(urx)); + PostScriptOutPutString->append(QStringLiteral(" %1 @ury").arg(ury)); + if (rwi != 0) { + PostScriptOutPutString->append(QStringLiteral(" %1 @rwi").arg(rwi)); + } + if (rhi != 0) { + PostScriptOutPutString->append(QStringLiteral(" %1 @rhi").arg(rhi)); + } + if (angle != 0) { + PostScriptOutPutString->append(QStringLiteral(" %1 @angle").arg(angle)); + } + if (clip != -1) { + PostScriptOutPutString->append(QStringLiteral(" @clip")); + } + PostScriptOutPutString->append(QStringLiteral(" @setspecial \n")); + PostScriptOutPutString->append(QStringLiteral(" (%1) run\n").arg(EPSfilename)); + PostScriptOutPutString->append(QStringLiteral("@endspecial \n")); + } + + return; +} + +void dviRenderer::prescan_ParseSourceSpecial(QStringView cp) +{ + // if no rendering takes place, i.e. when the DVI file is first + // loaded, generate a DVI_SourceFileAnchor. These anchors are used + // in forward search, i.e. to relate references line + // "src:123file.tex" to positions in the DVI file + + // extract the file name and the numeral part from the string + qint32 j; + for (j = 0; j < cp.length(); j++) { + if (!cp.at(j).isNumber()) { + break; + } + } + quint32 sourceLineNumber = cp.left(j).toUInt(); + QFileInfo fi1(dviFile->filename); + QString sourceFileName = QFileInfo(fi1.dir(), cp.mid(j).trimmed().toString()).absoluteFilePath(); + Length l; + l.setLength_in_inch(currinf.data.dvi_v / (resolutionInDPI * shrinkfactor)); + DVI_SourceFileAnchor sfa(sourceFileName, sourceLineNumber, current_page + 1, l); + sourceHyperLinkAnchors.push_back(sfa); +} + +void dviRenderer::prescan_parseSpecials(char *cp, quint8 *) +{ + QString special_command = QString::fromUtf8(cp); + + // Now to those specials which are only interpreted during the + // prescan phase, and NOT during rendering. + + // PaperSize special + if (qstrnicmp(cp, "papersize", 9) == 0) { + prescan_ParsePapersizeSpecial(special_command.mid(9)); + return; + } + + // color special for background color + if (qstrnicmp(cp, "background", 10) == 0) { + prescan_ParseBackgroundSpecial(special_command.mid(10)); + return; + } + + // HTML anchor special + if (qstrnicmp(cp, "html:
", 9) == 0) { + html_anchor_end(); + return; + } + + return; +} + +void dviRenderer::prescan_setChar(unsigned int ch) +{ + const TeXFontDefinition *fontp = currinf.fontp; + if (fontp == nullptr) { + return; + } + + if (currinf.set_char_p == &dviRenderer::set_char) { + const glyph *g = ((TeXFont *)(currinf.fontp->font))->getGlyph(ch, true, globalColor); + if (g == nullptr) { + return; + } + currinf.data.dvi_h += (int)(currinf.fontp->scaled_size_in_DVI_units * dviFile->getCmPerDVIunit() * (1200.0 / 2.54) / 16.0 * g->dvi_advance_in_units_of_design_size_by_2e20 + 0.5); + return; + } + + if (currinf.set_char_p == &dviRenderer::set_vf_char) { + const macro *m = &currinf.fontp->macrotable[ch]; + if (m->pos == nullptr) { + return; + } + currinf.data.dvi_h += (int)(currinf.fontp->scaled_size_in_DVI_units * dviFile->getCmPerDVIunit() * (1200.0 / 2.54) / 16.0 * m->dvi_advance_in_units_of_design_size_by_2e20 + 0.5); + return; + } +} + +void dviRenderer::prescan(parseSpecials specialParser) +{ +#ifdef DEBUG_PRESCAN + qCDebug(OkularDviDebug) << "dviRenderer::prescan( ... )"; +#endif + + if (resolutionInDPI == 0.0) { + setResolution(100); + } + + qint32 RRtmp = 0, WWtmp = 0, XXtmp = 0, YYtmp = 0, ZZtmp = 0; + double fontPixelPerDVIunit = dviFile->getCmPerDVIunit() * 1200.0 / 2.54; + + stack.clear(); + + currinf.fontp = nullptr; + currinf.set_char_p = &dviRenderer::set_no_char; + + for (;;) { + quint8 ch = readUINT8(); + + if (ch <= (unsigned char)(SETCHAR0 + 127)) { + prescan_setChar(ch); + continue; + } + + if (FNTNUM0 <= ch && ch <= (unsigned char)(FNTNUM0 + 63)) { + currinf.fontp = currinf.fonttable->value(ch - FNTNUM0); + if (currinf.fontp == nullptr) { + errorMsg = i18n("The DVI code referred to font #%1, which was not previously defined.", ch - FNTNUM0); + return; + } + currinf.set_char_p = currinf.fontp->set_char_p; + continue; + } + + switch (ch) { + case SET1: + prescan_setChar(readUINT8()); + break; + + case SETRULE: { + /* Be careful, dvicopy outputs rules with height = + 0x80000000. We don't want any SIGFPE here. */ + (void)readUINT32(); + quint32 b = readUINT32(); + b = ((long)(b * 65536.0 * fontPixelPerDVIunit)); + currinf.data.dvi_h += b; + break; + } + + case PUTRULE: + (void)readUINT32(); + (void)readUINT32(); + break; + + case PUT1: + case NOP: + break; + + case BOP: + command_pointer += 11 * 4; + currinf.data.dvi_h = 1200 << 16; // Reminder: DVI-coordinates start at (1",1") from top of page + currinf.data.dvi_v = 1200; + currinf.data.pxl_v = int(currinf.data.dvi_v / shrinkfactor); + currinf.data.w = currinf.data.x = currinf.data.y = currinf.data.z = 0; + break; + + case PUSH: + stack.push(currinf.data); + break; + + case POP: + if (stack.isEmpty()) { + return; + } else { + currinf.data = stack.pop(); + } + break; + + case RIGHT1: + case RIGHT2: + case RIGHT3: + case RIGHT4: + RRtmp = readINT(ch - RIGHT1 + 1); + currinf.data.dvi_h += ((long)(RRtmp * 65536.0 * fontPixelPerDVIunit)); + break; + + case W1: + case W2: + case W3: + case W4: + WWtmp = readINT(ch - W0); + currinf.data.w = ((long)(WWtmp * 65536.0 * fontPixelPerDVIunit)); + // fallthrough + case W0: + currinf.data.dvi_h += currinf.data.w; + break; + + case X1: + case X2: + case X3: + case X4: + XXtmp = readINT(ch - X0); + currinf.data.x = ((long)(XXtmp * 65536.0 * fontPixelPerDVIunit)); + // fallthrough + case X0: + currinf.data.dvi_h += currinf.data.x; + break; + + case DOWN1: + case DOWN2: + case DOWN3: + case DOWN4: { + qint32 DDtmp = readINT(ch - DOWN1 + 1); + currinf.data.dvi_v += ((long)(DDtmp * 65536.0 * fontPixelPerDVIunit)) / 65536; + currinf.data.pxl_v = int(currinf.data.dvi_v / shrinkfactor); + } break; + + case Y1: + case Y2: + case Y3: + case Y4: + YYtmp = readINT(ch - Y0); + currinf.data.y = ((long)(YYtmp * 65536.0 * fontPixelPerDVIunit)); + // fallthrough + case Y0: + currinf.data.dvi_v += currinf.data.y / 65536; + currinf.data.pxl_v = int(currinf.data.dvi_v / shrinkfactor); + break; + + case Z1: + case Z2: + case Z3: + case Z4: + ZZtmp = readINT(ch - Z0); + currinf.data.z = ((long)(ZZtmp * 65536.0 * fontPixelPerDVIunit)); + // fallthrough + case Z0: + currinf.data.dvi_v += currinf.data.z / 65536; + currinf.data.pxl_v = int(currinf.data.dvi_v / shrinkfactor); + break; + + case FNT1: + case FNT2: + case FNT3: + case FNT4: + currinf.fontp = currinf.fonttable->value(readUINT(ch - FNT1 + 1)); + if (currinf.fontp == nullptr) { + return; + } + currinf.set_char_p = currinf.fontp->set_char_p; + break; + + case XXX1: + case XXX2: + case XXX3: + case XXX4: { + quint8 *beginningOfSpecialCommand = command_pointer - 1; + quint32 a = readUINT(ch - XXX1 + 1); + if (a > 0) { + char *cmd = new char[a + 1]; + strncpy(cmd, reinterpret_cast(command_pointer), a); + command_pointer += a; + cmd[a] = '\0'; + (this->*specialParser)(cmd, beginningOfSpecialCommand); + delete[] cmd; + } + } break; + + case FNTDEF1: + case FNTDEF2: + case FNTDEF3: + case FNTDEF4: + command_pointer += 12 + ch - FNTDEF1 + 1; + command_pointer += readUINT8() + readUINT8(); + break; + + default: + return; + } /* end switch */ + } /* end for */ +} diff --git a/generators/dvi/dviexport.cpp b/generators/dvi/dviexport.cpp new file mode 100644 index 0000000..913dc8d --- /dev/null +++ b/generators/dvi/dviexport.cpp @@ -0,0 +1,305 @@ +// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; c-brace-offset: 0; -*- +/** + * \file dviexport.h + * Distributed under the GNU GPL version 2 or (at your option) + * any later version. See accompanying file COPYING or copy at + * http://www.gnu.org/copyleft/gpl.html + * + * \author Angus Leeming + * \author Stefan Kebekus + * + * Classes DVIExportToPDF and DVIExportToPS control the export + * of a DVI file to PDF or PostScript format, respectively. + * Common functionality is factored out into a common base class, + * DVIExport which itself derives from QSharedData allowing easy, + * polymorphic storage of multiple QExplicitlySharedDataPointer variables + * in a container of all exported processes. + */ + +#include +#include + +#include "dviexport.h" + +#include "debug_dvi.h" +#include "dviFile.h" +#include "dviRenderer.h" + +#include +#include +#include + +#include +#include +#include +#include + +#include +#include + +DVIExport::DVIExport(dviRenderer &parent) + : started_(false) + , process_(nullptr) + , parent_(&parent) +{ + connect(this, &DVIExport::error, &parent, &dviRenderer::error); +} + +DVIExport::~DVIExport() +{ + delete process_; +} + +void DVIExport::start(const QString &command, const QStringList &args, const QString &working_directory, const QString &error_message) +{ + assert(!process_); + + process_ = new KProcess; + process_->setOutputChannelMode(KProcess::MergedChannels); + process_->setNextOpenMode(QIODevice::Text); + connect(process_, &KProcess::readyReadStandardOutput, this, &DVIExport::output_receiver); + connect(process_, QOverload::of(&KProcess::finished), this, &DVIExport::finished); + + *process_ << command << args; + + if (!working_directory.isEmpty()) { + process_->setWorkingDirectory(working_directory); + } + + error_message_ = error_message; + + process_->start(); + if (!process_->waitForStarted(-1)) { + qCCritical(OkularDviDebug) << command << " failed to start"; + } else { + started_ = true; + } + + if (parent_->m_eventLoop) { + parent_->m_eventLoop->exec(); + } +} + +void DVIExport::abort_process_impl() +{ + // deleting process_ kills the external process itself + // if it's still running. + delete process_; + process_ = nullptr; +} + +void DVIExport::finished_impl(int exit_code) +{ + if (process_ && exit_code != 0) { + Q_EMIT error(error_message_, -1); + } + // Remove this from the store of all export processes. + parent_->m_eventLoop->exit(exit_code); + parent_->export_finished(this); +} + +void DVIExport::output_receiver() +{ + if (process_) { + process_->readAllStandardOutput(); + } +} + +DVIExportToPDF::DVIExportToPDF(dviRenderer &parent, const QString &output_name) + : DVIExport(parent) +{ + // Neither of these should happen. Paranoia checks. + if (!parent.dviFile) { + return; + } + const dvifile &dvi = *(parent.dviFile); + + const QFileInfo input(dvi.filename); + if (!input.exists() || !input.isReadable()) { + return; + } + + if (QStandardPaths::findExecutable(QStringLiteral("dvipdfm")).isEmpty()) { + Q_EMIT error(i18n("

Okular could not locate the program dvipdfm on your computer. This program is " + "essential for the export function to work. You can, however, convert " + "the DVI-file to PDF using the print function of Okular, but that will often " + "produce documents which print okay, but are of inferior quality if viewed in " + "Acrobat Reader. It may be wise to upgrade to a more recent version of your " + "TeX distribution which includes the dvipdfm program.

" + "

Hint to the perplexed system administrator: Okular uses the PATH environment variable " + "when looking for programs.

"), + -1); + return; + } + + if (output_name.isEmpty()) { + return; + } + + start(QStringLiteral("dvipdfm"), + QStringList() << QStringLiteral("-o") << output_name << dvi.filename, + QFileInfo(dvi.filename).absolutePath(), + i18n("The external program 'dvipdfm', which was used to export the file, reported an error. " + "You might wish to look at the document info dialog which you will " + "find in the File-Menu for a precise error report.")); +} + +DVIExportToPS::DVIExportToPS(dviRenderer &parent, const QString &output_name, const QStringList &options, QPrinter *printer, bool useFontHinting, QPageLayout::Orientation orientation) + : DVIExport(parent) + , printer_(printer) + , orientation_(orientation) +{ + // None of these should happen. Paranoia checks. + if (!parent.dviFile) { + return; + } + const dvifile &dvi = *(parent.dviFile); + + const QFileInfo input(dvi.filename); + if (!input.exists() || !input.isReadable()) { + return; + } + + if (dvi.page_offset.isEmpty()) { + return; + } + + if (dvi.numberOfExternalNONPSFiles != 0) { + Q_EMIT error(i18n("This DVI file refers to external graphic files which are not in PostScript format, and cannot be handled by the " + "dvips program that Okular uses internally to print or to export to PostScript. The functionality that " + "you require is therefore unavailable in this version of Okular."), + -1); + return; + } + + if (QStandardPaths::findExecutable(QStringLiteral("dvips")).isEmpty()) { + Q_EMIT error(i18n("

Okular could not locate the program dvips on your computer. " + "That program is essential for the export function to work.

" + "

Hint to the perplexed system administrator: Okular uses the PATH environment " + "variable when looking for programs.

"), + -1); + return; + } + + if (output_name.isEmpty()) { + return; + } + + output_name_ = output_name; + + // There is a major problem with dvips, at least 5.86 and lower: the + // arguments of the option "-pp" refer to TeX-pages, not to + // sequentially numbered pages. For instance "-pp 7" may refer to 3 + // or more pages: one page "VII" in the table of contents, a page + // "7" in the text body, and any number of pages "7" in various + // appendices, indices, bibliographies, and so forth. KDVI currently + // uses the following disgusting workaround: if the "options" + // variable is used, the DVI-file is copied to a temporary file, and + // all the page numbers are changed into a sequential ordering + // (using UNIX files, and taking manually care of CPU byte + // ordering). Finally, dvips is then called with the new file, and + // the file is afterwards deleted. Isn't that great? + + // A similar problem occurs with DVI files that contain page size + // information. On these files, dvips pointblank refuses to change + // the page orientation or set another page size. Thus, if the + // DVI-file does contain page size information, we remove that + // information first. + + // input_name is the name of the DVI which is used by dvips, either + // the original file, or a temporary file with a new numbering. + QString input_name = dvi.filename; + if (!options.isEmpty() || dvi.suggestedPageSize != nullptr) { + // Get a name for a temporary file. + // Must open the QTemporaryFile to access the name. + QTemporaryFile tmpfile; + tmpfile.setAutoRemove(false); + (void)tmpfile.open(); + tmpfile_name_ = tmpfile.fileName(); + tmpfile.close(); + + input_name = tmpfile_name_; + + fontPool fp(useFontHinting); + dvifile newFile(&dvi, &fp); + + // Renumber pages + newFile.renumber(); + + const quint16 saved_current_page = parent.current_page; + dvifile *saved_dvi = parent.dviFile; + parent.dviFile = &newFile; + parent.errorMsg = QString(); + + // Remove any page size information from the file + for (parent.current_page = 0; parent.current_page < newFile.total_pages; parent.current_page++) { + if (parent.current_page < newFile.total_pages) { + parent.command_pointer = newFile.dvi_Data() + parent.dviFile->page_offset[int(parent.current_page)]; + parent.end_pointer = newFile.dvi_Data() + parent.dviFile->page_offset[int(parent.current_page + 1)]; + } else { + parent.command_pointer = nullptr; + parent.end_pointer = nullptr; + } + + memset((char *)&parent.currinf.data, 0, sizeof(parent.currinf.data)); + parent.currinf.fonttable = &(parent.dviFile->tn_table); + parent.currinf._virtual = nullptr; + parent.prescan(&dviRenderer::prescan_removePageSizeInfo); + } + + parent.current_page = saved_current_page; + parent.dviFile = saved_dvi; + newFile.saveAs(input_name); + } + + QStringList args; + if (!printer) { + // Export hyperlinks + args << QStringLiteral("-z"); + } + + if (!options.isEmpty()) { + args += options; + } + + args << input_name << QStringLiteral("-o") << output_name_; + + start(QStringLiteral("dvips"), + args, + QFileInfo(dvi.filename).absolutePath(), + i18n("The external program 'dvips', which was used to export the file, reported an error. " + "You might wish to look at the document info dialog which you will " + "find in the File-Menu for a precise error report.")); +} + +void DVIExportToPS::finished_impl(int exit_code) +{ + if (printer_ && !output_name_.isEmpty()) { + const QFileInfo output(output_name_); + if (output.exists() && output.isReadable()) { + // I'm not 100% sure on this, think we still need to select pages in export to ps above + Okular::FilePrinter::printFile((*printer_), output_name_, orientation_, Okular::FilePrinter::ApplicationDeletesFiles, Okular::FilePrinter::ApplicationSelectsPages, QString()); + } + } + + if (!tmpfile_name_.isEmpty()) { + // Delete the file. + QFile(tmpfile_name_).remove(); + tmpfile_name_.clear(); + } + + DVIExport::finished_impl(exit_code); +} + +void DVIExportToPS::abort_process_impl() +{ + if (!tmpfile_name_.isEmpty()) { + // Delete the file. + QFile(tmpfile_name_).remove(); + tmpfile_name_.clear(); + } + + printer_ = nullptr; + + DVIExport::abort_process_impl(); +} diff --git a/generators/dvi/dviexport.h b/generators/dvi/dviexport.h new file mode 100644 index 0000000..56cfaa9 --- /dev/null +++ b/generators/dvi/dviexport.h @@ -0,0 +1,137 @@ +// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; c-brace-offset: 0; -*- +/** + * \file dviexport.h + * Distributed under the GNU GPL version 2 or (at your option) + * any later version. See accompanying file COPYING or copy at + * http://www.gnu.org/copyleft/gpl.html + * + * \author Angus Leeming + * \author Stefan Kebekus + * + * Classes DVIExportToPDF and DVIExportToPS control the export + * of a DVI file to PDF or PostScript format, respectively. + * Common functionality is factored out into a common base class, + * DVIExport which itself derives from QSharedData allowing easy, + * polymorphic storage of multiple QExplicitlySharedDataPointer variables + * in a container of all exported processes. + */ + +#ifndef DVIEXPORT_H +#define DVIEXPORT_H + +#include + +#include +#include + +class dviRenderer; +class KProcess; + +class DVIExport : public QObject, public QSharedData +{ + Q_OBJECT +public: + ~DVIExport() override; + + /** @c started() Flags whether or not the external process was + * spawned successfully. + * Can be used to decide whether to discard the DVIExport variable, + * or to store it and await notification that the external process + * has finished. + */ + bool started() const + { + return started_; + } + +Q_SIGNALS: + void error(const QString &message, int duration); + +protected: + /** @param parent is stored internally in order to inform the parent + * that the external process has finished and that this variable + * can be removed from any stores. + */ + explicit DVIExport(dviRenderer &parent); + + /** Spawns the external process having connected slots to the child + * process's stdin and stdout streams. + */ + void start(const QString &command, const QStringList &args, const QString &working_directory, const QString &error_message); + + /** The real implementation of the abort_process() slot that is + * called when the fontProcessDialog is closed by the user, + * indicating that the export should be halted. + */ + virtual void abort_process_impl(); + + /** The real implementation of the finished() slot that is called + * when the external process finishes. + * @param exit_code the exit code returned by the external process. + */ + virtual void finished_impl(int exit_code); + +private Q_SLOTS: + /// Calls an impl() inline so that derived classes don't need slots. + void abort_process() + { + abort_process_impl(); + } + void finished(int exit_code) + { + finished_impl(exit_code); + } + + /** This slot receives all output from the child process's stdin + * and stdout streams. + */ + void output_receiver(); + +private: + QString error_message_; + bool started_; + KProcess *process_; + dviRenderer *parent_; +}; + +class DVIExportToPDF : public DVIExport +{ + Q_OBJECT + +public: + /** @param parent is stored internally in order to inform the parent + * that the external process has finished. + * @param output_name is the name of the PDF file that is + * to contain the exported data. */ + DVIExportToPDF(dviRenderer &parent, const QString &output_name); +}; + +class DVIExportToPS : public DVIExport +{ + Q_OBJECT + +public: + /** @param parent is stored internally in order to inform the parent + * that the external process has finished. + * @param output_name is the name of the PostScript file that is + * to contain the exported data. + * @param options extra command line arguments that are to be + * passed to the external process's argv command line. + * @param printer having generated the PostScript file, it is passed + * to @c printer (if not null). + * @param useFontHinting boolean that defines whether to use font hinting. + * @param orientation the original orientation of the document + */ + DVIExportToPS(dviRenderer &parent, const QString &output_name, const QStringList &options, QPrinter *printer, bool useFontHinting, QPageLayout::Orientation orientation = QPageLayout::Portrait); + +private: + void abort_process_impl() override; + void finished_impl(int exit_code) override; + + QPrinter *printer_; + QString output_name_; + QString tmpfile_name_; + QPageLayout::Orientation orientation_; +}; + +#endif diff --git a/generators/dvi/dvisourcesplitter.cpp b/generators/dvi/dvisourcesplitter.cpp new file mode 100644 index 0000000..2b07d54 --- /dev/null +++ b/generators/dvi/dvisourcesplitter.cpp @@ -0,0 +1,110 @@ +// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; c-brace-offset: 0; -*- +// +// C++ Implementation: dvisourcesplitter +// +// Author: Jeroen Wijnhout , (C) 2004 +// +// Copyright: See COPYING file that comes with this distribution +// + +#include + +#include "debug_dvi.h" +#include "dvisourcesplitter.h" + +#include + +// #define DEBUG_SOURCESPLITTER + +DVI_SourceFileSplitter::DVI_SourceFileSplitter(const QString &srclink, const QString &dviFile) +{ + QString filepart = srclink, linepart; + // if sourcefilename starts with a number + // then there could be a mix up, i.e. src:123file.tex + // line 123 and file.tex or line 12 and 3file.tex? + bool possibleNumberMixUp = false; + +#ifdef DEBUG_SOURCESPLITTER + qCDebug(OkularDviDebug) << "DVI_SourceSplitter: srclink " << srclink; +#endif + + // remove src: if necessary + if (filepart.left(4) == QLatin1String("src:")) { + filepart = srclink.mid(4); + } + + // split first + quint32 max = filepart.length(), i = 0; + for (i = 0; i < max; ++i) { + if (!filepart[i].isDigit()) { + break; + } + } + linepart = filepart.left(i); + filepart = filepart.mid(i); + + // check for number mix up + if (filepart[0] != QLatin1Char(' ') && (linepart.length() != 1)) { + possibleNumberMixUp = true; + } + + // remove a spaces + filepart = filepart.trimmed(); + linepart = linepart.trimmed(); + +#ifdef DEBUG_SOURCESPLITTER + qCDebug(OkularDviDebug) << "DVI_SourceSplitter: filepart " << filepart << " linepart " << linepart; +#endif + + // test if the file exists + m_fileInfo.setFile(QFileInfo(dviFile).absoluteDir(), filepart); + bool fiExists = m_fileInfo.exists(); + + // if it doesn't exist, but adding ".tex" + if (!fiExists && QFileInfo::exists(m_fileInfo.absoluteFilePath() + QStringLiteral(".tex"))) { + m_fileInfo.setFile(m_fileInfo.absoluteFilePath() + QStringLiteral(".tex")); + } + + // if that doesn't help either, perhaps the file started with a + // number: move the numbers from the sourceline to the filename + // one by one (also try to add .tex repeatedly) + if (possibleNumberMixUp && !fiExists) { + QFileInfo tempInfo(m_fileInfo); + QString tempFileName = tempInfo.fileName(); + quint32 index, maxindex = linepart.length(); + bool found = false; + for (index = 1; index < maxindex; ++index) { + tempInfo.setFile(linepart.right(index) + tempFileName); +#ifdef DEBUG_SOURCESPLITTER + qCDebug(OkularDviDebug) << "DVI_SourceSplitter: trying " << tempInfo.fileName(); +#endif + if (tempInfo.exists()) { + found = true; + break; + } + tempInfo.setFile(linepart.right(index) + tempFileName + QStringLiteral(".tex")); +#ifdef DEBUG_SOURCESPLITTER + qCDebug(OkularDviDebug) << "DVI_SourceSplitter: trying " << tempInfo.fileName(); +#endif + if (tempInfo.exists()) { + found = true; + break; + } + } + + if (found) { + m_fileInfo = tempInfo; + linepart = linepart.left(maxindex - index); + } + } + + bool ok; + m_line = linepart.toInt(&ok); + if (!ok) { + m_line = 0; + } + +#ifdef DEBUG_SOURCESPLITTER + qCDebug(OkularDviDebug) << "DVI_SourceSplitter: result: file " << m_fileInfo.absoluteFilePath() << " line " << m_line; +#endif +} diff --git a/generators/dvi/dvisourcesplitter.h b/generators/dvi/dvisourcesplitter.h new file mode 100644 index 0000000..266dca5 --- /dev/null +++ b/generators/dvi/dvisourcesplitter.h @@ -0,0 +1,43 @@ +// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; c-brace-offset: 0; -*- +// +// C++ Interface: dvisourcesplitter +// +// Author: Jeroen Wijnhout , (C) 2004 +// +// Copyright: See COPYING file that comes with this distribution +// + +#ifndef DVI_SOURCEFILESPLITTER_H +#define DVI_SOURCEFILESPLITTER_H + +#include + +class QString; + +class DVI_SourceFileSplitter +{ +public: + DVI_SourceFileSplitter(const QString &srclink, const QString &dviFile); + + QString fileName() const + { + return m_fileInfo.fileName(); + } + QString filePath() const + { + return m_fileInfo.absoluteFilePath(); + } + bool fileExists() const + { + return m_fileInfo.exists(); + } + quint32 line() const + { + return m_line; + } + +private: + QFileInfo m_fileInfo; + quint32 m_line; +}; +#endif diff --git a/generators/dvi/fontEncoding.cpp b/generators/dvi/fontEncoding.cpp new file mode 100644 index 0000000..6d1e0c8 --- /dev/null +++ b/generators/dvi/fontEncoding.cpp @@ -0,0 +1,103 @@ +// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; c-brace-offset: 0; -*- +// fontEncoding.cpp +// +// Part of KDVI - A DVI previewer for the KDE desktop environment +// +// SPDX-FileCopyrightText: 2003 Stefan Kebekus +// SPDX-License-Identifier: GPL-2.0-or-later + +#include + +#ifdef HAVE_FREETYPE + +#include "debug_dvi.h" +#include "fontEncoding.h" + +#include +#include +#include +#include +#include + +// #define DEBUG_FONTENC + +fontEncoding::fontEncoding(const QString &encName) +{ +#ifdef DEBUG_FONTENC + qCDebug(OkularDviDebug) << "fontEncoding( " << encName << " )"; +#endif + + _isValid = false; + // Use kpsewhich to find the encoding file. + QProcess kpsewhich; + kpsewhich.setProcessChannelMode(QProcess::MergedChannels); + + // Make sure kpsewhich is in PATH and not just in the CWD + static const QString fullPath = QStandardPaths::findExecutable(QStringLiteral("kpsewhich")); + if (fullPath.isEmpty()) { + qCCritical(OkularDviDebug) << "fontEncoding::fontEncoding(...): kpsewhich is not in path."; + return; + } + + kpsewhich.start(fullPath, QStringList() << encName, QIODevice::ReadOnly | QIODevice::Text); + + if (!kpsewhich.waitForStarted()) { + qCCritical(OkularDviDebug) << "fontEncoding::fontEncoding(...): kpsewhich could not be started."; + return; + } + + // We wait here while the external program runs concurrently. + kpsewhich.waitForFinished(-1); + + const QString encFileName = QString::fromLocal8Bit(kpsewhich.readAll()).trimmed(); + if (encFileName.isEmpty()) { + qCCritical(OkularDviDebug) << QStringLiteral("fontEncoding::fontEncoding(...): The file '%1' could not be found by kpsewhich.").arg(encName); + return; + } + +#ifdef DEBUG_FONTENC + qCDebug(OkularDviDebug) << "FileName of the encoding: " << encFileName; +#endif + + QFile file(encFileName); + if (file.open(QIODevice::ReadOnly)) { + // Read the file (excluding comments) into the QString variable + // 'fileContent' + QTextStream stream(&file); + QString fileContent; + while (!stream.atEnd()) { + fileContent += stream.readLine().section(QLatin1Char('%'), 0, 0); // line of text excluding '\n' until first '%'-sign + } + file.close(); + + fileContent = fileContent.trimmed(); + + // Find the name of the encoding + encodingFullName = fileContent.section(QLatin1Char('['), 0, 0).simplified().mid(1); +#ifdef DEBUG_FONTENC + qCDebug(OkularDviDebug) << "encodingFullName: " << encodingFullName; +#endif + + fileContent = fileContent.section(QLatin1Char('['), 1, 1).section(QLatin1Char(']'), 0, 0).simplified(); + const QStringList glyphNameList = fileContent.split(QLatin1Char('/'), Qt::SkipEmptyParts); + + int i = 0; + for (QStringList::ConstIterator it = glyphNameList.constBegin(); (it != glyphNameList.constEnd()) && (i < 256); ++it) { + glyphNameVector[i] = (*it).simplified(); +#ifdef DEBUG_FONTENC + qCDebug(OkularDviDebug) << i << ": " << glyphNameVector[i]; +#endif + i++; + } + for (; i < 256; i++) { + glyphNameVector[i] = QStringLiteral(".notdef"); + } + } else { + qCCritical(OkularDviDebug) << QStringLiteral("fontEncoding::fontEncoding(...): The file '%1' could not be opened.").arg(encFileName); + return; + } + + _isValid = true; +} + +#endif // HAVE_FREETYPE diff --git a/generators/dvi/fontEncoding.h b/generators/dvi/fontEncoding.h new file mode 100644 index 0000000..6c801c7 --- /dev/null +++ b/generators/dvi/fontEncoding.h @@ -0,0 +1,89 @@ +// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; c-brace-offset: 0; -*- +// fontEncoding.h +// +// Part of KDVI - A DVI previewer for the KDE desktop environment +// +// SPDX-FileCopyrightText: 2003 Stefan Kebekus +// SPDX-License-Identifier: GPL-2.0-or-later + +#ifndef _FONTENCODING_H +#define _FONTENCODING_H + +#include + +/** + * This class represents the contents of a font encoding file, + * e.g. "8r.enc" + * + * Explanation of font encodings: TeX was designed to only use + * MetaFont fonts. A DVI file refers to a MetaFont font by giving an + * at-most-8-character name, such as 'cmr10'. The DVI previewer would + * then locate the associated PK font file (e.g. cmr10.600pk), load + * it, and retrieve the character shaped. + * + * Today TeX is also used to access Type1 and TrueType fonts, which it + * was never designed to do. As in the case of MetaFont font, the DVI + * file specifies the name of a font, e.g. 'rpbkd', and the DVI + * previewer finds the associated font file 'ubkd8a.pfb' by means of a + * map file (see fontMap.h). The font map file also specifies an + * encoding (e.g. '8r', to be found in a file '8r.enc'). Font + * encodings are necessary because TeX can only use the first 256 + * characters of a font, while modern PostScript fonts often contain + * more. + * + * In a PostScript font, glyphs can often be accessed in two ways: + * + * (a) by an integer, the 'glyph index', which need not be + * positive. Glyph indices can be found in every font. + * + * (b) by the name of the glyph, such as 'A', 'plusminus' or + * 'ogonek'. Note: Not all fonts contain glyph names, and if a font + * contains glyph names, they are not always reliable. + * + * An encoding file is essentially a list of 256 names of glyphs that + * TeX wishes to use from a certain font. If the font contains more + * than 256 glyphs, TeX is still limited to use at most 256 glyphs. If + * more glyphs are required, TeX can probably use the same font under + * a different name and with a different encoding ---the map file + * (fontMap.h) can probably see to that. + * + * Summing up: this class contains 256 glyph names read from an + * encoding file during the construction of this class. + * + * @author Stefan Kebekus + * + **/ + +class fontEncoding +{ +public: + // The constructor takes the name of an encoding file, such as + // '8r.enc', locate the file on the hard disk using the 'kpsewhich' + // command, reads it in and parses it. If the file cannot be + // located, opened or parsed, errors are printed using the kError() + // channel, and the array glyphNameVector will contain empty + // strings. + explicit fontEncoding(const QString &encName); + + // Full name of the encoding, as read from the encoding file + QString encodingFullName; + + // List of 256 glyph names. The name can be '.notdef' to indicate + // that a certain position is left open, or empty, if the encoding + // file did not contain 256 characters or could not be properly read + QString glyphNameVector[256]; + + // Returns 'true' if the encoding file was found and could + // successfully be loaded. + bool isValid() + { + return _isValid; + } + +private: + // Set by the constructor to 'true', if the encoding file was found + // and could be loaded successfully. + bool _isValid; +}; + +#endif diff --git a/generators/dvi/fontEncodingPool.cpp b/generators/dvi/fontEncodingPool.cpp new file mode 100644 index 0000000..d14149f --- /dev/null +++ b/generators/dvi/fontEncodingPool.cpp @@ -0,0 +1,41 @@ +// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; c-brace-offset: 0; -*- +// fontEncodingPool.cpp +// +// Part of KDVI - A DVI previewer for the KDE desktop environment +// +// SPDX-FileCopyrightText: 2003 Stefan Kebekus +// SPDX-License-Identifier: GPL-2.0-or-later + +#include + +#ifdef HAVE_FREETYPE + +#include "fontEncodingPool.h" + +fontEncodingPool::fontEncodingPool() +{ +} + +fontEncodingPool::~fontEncodingPool() +{ + qDeleteAll(dictionary); +} + +fontEncoding *fontEncodingPool::findByName(const QString &name) +{ + fontEncoding *ptr = dictionary.value(name); + + if (ptr == nullptr) { + ptr = new fontEncoding(name); + if (ptr->isValid()) { + dictionary.insert(name, ptr); + } else { + delete ptr; + ptr = nullptr; + } + } + + return ptr; +} + +#endif // HAVE_FREETYPE diff --git a/generators/dvi/fontEncodingPool.h b/generators/dvi/fontEncodingPool.h new file mode 100644 index 0000000..f6c8c2b --- /dev/null +++ b/generators/dvi/fontEncodingPool.h @@ -0,0 +1,33 @@ +// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; c-brace-offset: 0; -*- +// fontEncodingPool.h +// +// Part of KDVI - A DVI previewer for the KDE desktop environment +// +// SPDX-FileCopyrightText: 2003 Stefan Kebekus +// SPDX-License-Identifier: GPL-2.0-or-later + +#ifndef _FONTENCODINGPOOL_H +#define _FONTENCODINGPOOL_H + +#include "fontEncoding.h" + +#include + +class QString; + +class fontEncodingPool +{ +public: + fontEncodingPool(); + ~fontEncodingPool(); + + fontEncodingPool(const fontEncodingPool &) = delete; + fontEncodingPool &operator=(const fontEncodingPool &) = delete; + + fontEncoding *findByName(const QString &name); + +private: + QHash dictionary; +}; + +#endif diff --git a/generators/dvi/fontMap.cpp b/generators/dvi/fontMap.cpp new file mode 100644 index 0000000..25d839e --- /dev/null +++ b/generators/dvi/fontMap.cpp @@ -0,0 +1,174 @@ +// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; c-brace-offset: 0; -*- +// fontMap.cpp +// +// Part of KDVI - A DVI previewer for the KDE desktop environment +// +// SPDX-FileCopyrightText: 2003 Stefan Kebekus +// SPDX-License-Identifier: GPL-2.0-or-later + +#include + +#ifdef HAVE_FREETYPE + +#include "debug_dvi.h" +#include "fontMap.h" +#include +#include +#include +#include +#include + +// #define DEBUG_FONTMAP + +fontMap::fontMap() +{ + // Make sure kpsewhich is in PATH and not just in the CWD + static const QString kpsewhichFullPath = QStandardPaths::findExecutable(QStringLiteral("kpsewhich")); + + // Read the map file of ps2pk which will provide us with a + // dictionary "TeX Font names" <-> "Name of font files, Font Names + // and Encodings" (example: the font "Times-Roman" is called + // "ptmr8y" in the DVI file, but the Type1 font file name is + // "utmr8a.pfb". We use the map file of "ps2pk" because that program + // has, like kdvi (and unlike dvips), no built-in fonts. + + // Finding ps2pk.map is not easy. In teTeX < 3.0, the kpsewhich + // program REQUIRES the option "--format=dvips config". In teTeX = + // 3.0, the option "--format=map" MUST be used. Since there is no + // way to give both options at the same time, there is seemingly no + // other way than to try both options one after another. We use the + // teTeX 3.0 format first. + QProcess kpsewhich; + kpsewhich.start(kpsewhichFullPath, QStringList() << QStringLiteral("--format=map") << QStringLiteral("ps2pk.map"), QIODevice::ReadOnly | QIODevice::Text); + + if (!kpsewhich.waitForStarted()) { + qCCritical(OkularDviDebug) << "fontMap::fontMap(): kpsewhich could not be started."; + return; + } + + // We wait here while the external program runs concurrently. + kpsewhich.waitForFinished(-1); + + QString map_fileName = QString::fromLocal8Bit(kpsewhich.readAll()).trimmed(); + if (map_fileName.isEmpty()) { + // Map file not found? Then we try the teTeX < 3.0 way of finding + // the file. + kpsewhich.start(kpsewhichFullPath, QStringList() << QStringLiteral("--format=dvips config") << QStringLiteral("ps2pk.map"), QIODevice::ReadOnly | QIODevice::Text); + if (!kpsewhich.waitForStarted()) { + qCCritical(OkularDviDebug) << "fontMap::fontMap(): kpsewhich could not be started."; + return; + } + + kpsewhich.waitForFinished(-1); + + map_fileName = QString::fromLocal8Bit(kpsewhich.readAll()).trimmed(); + // If both versions fail, then there is nothing left to do. + if (map_fileName.isEmpty()) { + qCCritical(OkularDviDebug) << "fontMap::fontMap(): The file 'ps2pk.map' could not be found by kpsewhich."; + return; + } + } + + QFile file(map_fileName); + if (file.open(QIODevice::ReadOnly)) { + QTextStream stream(&file); + QString line; + while (!stream.atEnd()) { + line = stream.readLine().simplified(); + if (line.isEmpty() || (line.at(0) == QLatin1Char('%'))) { + continue; + } + + QString TeXName = line.section(QLatin1Char(' '), 0, 0); + QString FullName = line.section(QLatin1Char(' '), 1, 1); + QString fontFileName = line.section(QLatin1Char('<'), -1).trimmed().section(QLatin1Char(' '), 0, 0); + QString encodingName = line.section(QLatin1Char('<'), -2, -2).trimmed().section(QLatin1Char(' '), 0, 0); + // It seems that sometimes the encoding is prepended by the + // letter '[', which we ignore + if ((!encodingName.isEmpty()) && (encodingName[0] == QLatin1Char('['))) { + encodingName = encodingName.mid(1); + } + + double slant = 0.0; + int i = line.indexOf(QStringLiteral("SlantFont")); + if (i >= 0) { + bool ok; + slant = line.left(i).section(QLatin1Char(' '), -1, -1, QString::SectionSkipEmpty).toDouble(&ok); + if (ok == false) { + slant = 0.0; + } + } + + fontMapEntry &entry = fontMapEntries[TeXName]; + + entry.slant = slant; + entry.fontFileName = fontFileName; + entry.fullFontName = FullName; + if (encodingName.endsWith(QLatin1String(".enc"))) { + entry.fontEncoding = encodingName; + } else { + entry.fontEncoding.clear(); + } + } + file.close(); + } else { + qCCritical(OkularDviDebug) << QStringLiteral("fontMap::fontMap(): The file '%1' could not be opened.").arg(map_fileName); + } + +#ifdef DEBUG_FONTMAP + qCDebug(OkularDviDebug) << "FontMap file parsed. Results:"; + QMap::Iterator it; + for (it = fontMapEntries.begin(); it != fontMapEntries.end(); ++it) + qCDebug(OkularDviDebug) << "TeXName: " << it.key() << ", FontFileName=" << it.data().fontFileName << ", FullName=" << it.data().fullFontName << ", Encoding=" << it.data().fontEncoding << "."; + ; +#endif +} + +const QString &fontMap::findFileName(const QString &TeXName) +{ + QMap::Iterator it = fontMapEntries.find(TeXName); + + if (it != fontMapEntries.end()) { + return it.value().fontFileName; + } + + static const QString nullstring {}; + return nullstring; +} + +const QString &fontMap::findFontName(const QString &TeXName) +{ + QMap::Iterator it = fontMapEntries.find(TeXName); + + if (it != fontMapEntries.end()) { + return it.value().fullFontName; + } + + static const QString nullstring {}; + return nullstring; +} + +const QString &fontMap::findEncoding(const QString &TeXName) +{ + QMap::Iterator it = fontMapEntries.find(TeXName); + + if (it != fontMapEntries.end()) { + return it.value().fontEncoding; + } + + static const QString nullstring {}; + return nullstring; +} + +double fontMap::findSlant(const QString &TeXName) +{ + QMap::Iterator it = fontMapEntries.find(TeXName); + + if (it != fontMapEntries.end()) { + return it.value().slant; + } else { + return 0.0; + } +} + +#endif // HAVE_FREETYPE diff --git a/generators/dvi/fontMap.h b/generators/dvi/fontMap.h new file mode 100644 index 0000000..da988a4 --- /dev/null +++ b/generators/dvi/fontMap.h @@ -0,0 +1,119 @@ +// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; c-brace-offset: 0; -*- +// fontMap.h +// +// Part of KDVI - A DVI previewer for the KDE desktop environment +// +// SPDX-FileCopyrightText: 2003 Stefan Kebekus +// SPDX-License-Identifier: GPL-2.0-or-later + +#ifndef _FONTMAP_H +#define _FONTMAP_H + +#include +#include + +/** + * This class represents one line of a font map file, and contains + * three pieces of information about a font: its file name, the full + * name of the font, and the encoding. + * + * @author Stefan Kebekus + **/ + +class fontMapEntry +{ +public: + // File name of the font WITHOUT the path. The full path name must + // be looked by using the kpathsea library, e.g. by means of the + // kpsewhich command. A valid entry would be 'ubkd8a.pfb' + QString fontFileName; + + // This string contains the full name of the font, + // e.g. 'URWBookmanL-DemiBold' + QString fullFontName; + + // If the font requires an encoding (see fontEncoding.h for an + // explanation), this string is not empty and contains the name of + // the encoding, e.g. '8r'. The path of the associated encoding file + // (on the author's machine: /usr/share/texmf/dvips/psnfss/8r.enc) + // must be looked up using the kpsewhich command. + QString fontEncoding; + + // Some fonts need to be slanted, and the font map file defines by + // how much. This field is set to 0.0 if no slanting is specified in + // the map file. + double slant; +}; + +/** + * This class represents the contents of the font map file "ps2pk.map" + * + * A font map file is part of the machinery that make it possible to + * access PostScript (and possibly also TrueType and OpenType) fonts + * from a DVI file. + * + * Long time ago, when TeX was only used with MetaFont fonts, the DVI + * file would specify a font by giving an 8-character name, such as + * 'cmr10'. The DVI previewer would then locate the associated PK font + * file, load it, and retrieve the character shaped. Happy times, they + * were. + * + * Today TeX is also used to access Type1 and TrueType fonts, which do + * not fit well into the TeX naming scheme. Like in earlier times, the + * DVI file specifies the name of a font, e.g. 'rpbkd', but nowadays + * the DVI previewer cannot just go and find a file 'rpbkd.pk'. No, + * no. Instead, the DVI previewr needs to look up the meaning of + * 'rpbkd' in a map-file. There it finds that 'rpbkd' refers to a font + * called 'URWBookmanL-DemiBold', to be found under the file name + * 'ubkd8a.pfb' whose glyphs are to be encoded using the '8a' encoding + * file (see the header file 'fontEncoding.h' for more information + * about encodings) + * + * Such map files exists for all dvi output drivers that are part of + * the TeX distribution that is installed on your + * computer. Unfortunately, KDVI is not part of a TeX distribution, + * and therefore does not have its own map file. As a workaround, KDVI + * uses the map file of the program ps2pk which is similar to KDVI in + * that the ps2pk driver does not have built-in fonts, unlike the + * PostScript printers for which dvips is used. + * + * @author Stefan Kebekus + * + **/ + +class fontMap +{ +public: + /** The default constructor will try to locate the file 'ps2pk.map', + and read its contents. If the file 'ps2pk.map' cannot be found + using the kpsewhich command, or if it cannot be read, or is + (partially) in an improper format, an error message is printed + to stderr using the kDebug() stream. */ + fontMap(); + + /** find the name of a font file (e.g. 'ubkd8a.pfb') from a TeX font + name (e.g. 'rpbkd'). This method return a reference to + QString() if the font could not be found. */ + const QString &findFileName(const QString &TeXName); + + /** find the name of a font (e.g. 'URWBookmanL-DemiBold') from a TeX + font name (e.g. 'rpbkd'). This method return a reference to + QString() if the font could not be found. */ + const QString &findFontName(const QString &TeXName); + + /** find the name of an encoding file for a font (e.g. '8r') from a + TeX font name (e.g. 'rpbkd'). This method return a reference to + QString() if the font could not be found. */ + const QString &findEncoding(const QString &TeXName); + + /** This method finds the slant of a font. Returns 0.0 if no slant + was defined. */ + double findSlant(const QString &TeXName); + +private: + /** This member maps TeX font names mapEntry classes that contain + the font's filenames, full font names and encodings. */ + QMap fontMapEntries; +}; + +#endif // ifndef _FONTMAP_H diff --git a/generators/dvi/fontpool.cpp b/generators/dvi/fontpool.cpp new file mode 100644 index 0000000..25841f3 --- /dev/null +++ b/generators/dvi/fontpool.cpp @@ -0,0 +1,486 @@ +// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; c-brace-offset: 0; -*- +// +// fontpool.cpp +// +// SPDX-FileCopyrightText: 2001-2005 Stefan Kebekus +// SPDX-License-Identifier: GPL-2.0-or-later + +#include + +#include "TeXFont.h" +#include "debug_dvi.h" +#include "fontpool.h" + +#include + +#include +#include +#include + +#include +#include + +// #define DEBUG_FONTPOOL + +// List of permissible MetaFontModes which are supported by kdvi. + +// const char *MFModes[] = { "cx", "ljfour", "lexmarks" }; +// const char *MFModenames[] = { "Canon CX", "LaserJet 4", "Lexmark S" }; +// const int MFResolutions[] = { 300, 600, 1200 }; + +#ifdef PERFORMANCE_MEASUREMENT +QTime fontPoolTimer; +bool fontPoolTimerFlag; +#endif + +fontPool::fontPool(bool useFontHinting) +{ +#ifdef DEBUG_FONTPOOL + qCDebug(OkularDviDebug) << "fontPool::fontPool() called"; +#endif + + setObjectName(QStringLiteral("Font Pool")); + + displayResolution_in_dpi = 100.0; // A not-too-bad-default + useFontHints = useFontHinting; + CMperDVIunit = 0; + extraSearchPath.clear(); + +#ifdef HAVE_FREETYPE + // Initialize the Freetype Library + if (FT_Init_FreeType(&FreeType_library) != 0) { + qCCritical(OkularDviDebug) << "Cannot load the FreeType library. KDVI proceeds without FreeType support."; + FreeType_could_be_loaded = false; + } else { + FreeType_could_be_loaded = true; + } +#endif + + // Check if the QT library supports the alpha channel of + // QImages. Experiments show that --depending of the configuration + // of QT at compile and runtime or the availability of the XFt + // extension, alpha channels are either supported, or silently + // ignored. + QImage start(1, 1, QImage::Format_ARGB32); // Generate a 1x1 image, black with alpha=0x10 + quint32 *destScanLine = reinterpret_cast(start.scanLine(0)); + *destScanLine = 0x80000000; + QPixmap intermediate = QPixmap::fromImage(start); + QPixmap dest(1, 1); + dest.fill(Qt::white); + QPainter paint(&dest); + paint.drawPixmap(0, 0, intermediate); + paint.end(); + start = dest.toImage().convertToFormat(QImage::Format_ARGB32); + quint8 result = *(start.scanLine(0)) & 0xff; + + if ((result == 0xff) || (result == 0x00)) { +#ifdef DEBUG_FONTPOOL + qCDebug(OkularDviDebug) << "fontPool::fontPool(): QPixmap does not support the alpha channel"; +#endif + QPixmapSupportsAlpha = false; + } else { +#ifdef DEBUG_FONTPOOL + qCDebug(OkularDviDebug) << "fontPool::fontPool(): QPixmap supports the alpha channel"; +#endif + QPixmapSupportsAlpha = true; + } +} + +fontPool::~fontPool() +{ +#ifdef DEBUG_FONTPOOL + qCDebug(OkularDviDebug) << "fontPool::~fontPool() called"; +#endif + + // need to manually clear the fonts _before_ freetype gets unloaded + qDeleteAll(fontList); + fontList.clear(); + +#ifdef HAVE_FREETYPE + if (FreeType_could_be_loaded == true) { + FT_Done_FreeType(FreeType_library); + } +#endif +} + +void fontPool::setParameters(bool _useFontHints) +{ + // Check if glyphs need to be cleared + if (_useFontHints != useFontHints) { + double displayResolution = displayResolution_in_dpi; + QList::iterator it_fontp = fontList.begin(); + for (; it_fontp != fontList.end(); ++it_fontp) { + TeXFontDefinition *fontp = *it_fontp; + fontp->setDisplayResolution(displayResolution * fontp->enlargement); + } + } + + useFontHints = _useFontHints; +} + +TeXFontDefinition *fontPool::appendx(const QString &fontname, quint32 checksum, quint32 scale, double enlargement) +{ + // Reuse font if possible: check if a font with that name and + // natural resolution is already in the fontpool, and use that, if + // possible. + QList::iterator it_fontp = fontList.begin(); + for (; it_fontp != fontList.end(); ++it_fontp) { + TeXFontDefinition *fontp = *it_fontp; + if ((fontname == fontp->fontname) && ((int)(enlargement * 1000.0 + 0.5)) == (int)(fontp->enlargement * 1000.0 + 0.5)) { + // if font is already in the list + fontp->mark_as_used(); + return fontp; + } + } + + // If font doesn't exist yet, we have to generate a new font. + + double displayResolution = displayResolution_in_dpi; + + TeXFontDefinition *fontp = new TeXFontDefinition(fontname, displayResolution * enlargement, checksum, scale, this, enlargement); + if (fontp == nullptr) { + qCCritical(OkularDviDebug) << "Could not allocate memory for a font structure"; + exit(0); + } + fontList.append(fontp); + +#ifdef PERFORMANCE_MEASUREMENT + fontPoolTimer.start(); + fontPoolTimerFlag = false; +#endif + + // Now start kpsewhich/MetaFont, etc. if necessary + return fontp; +} + +bool fontPool::areFontsLocated() +{ +#ifdef DEBUG_FONTPOOL + qCDebug(OkularDviDebug) << "fontPool::areFontsLocated() called"; +#endif + + // Is there a font whose name we did not try to find out yet? + QList::const_iterator cit_fontp = fontList.constBegin(); + for (; cit_fontp != fontList.constEnd(); ++cit_fontp) { + const TeXFontDefinition *fontp = *cit_fontp; + if (!fontp->isLocated()) { + return false; + } + } + +#ifdef DEBUG_FONTPOOL + qCDebug(OkularDviDebug) << "... yes, all fonts are located (but not necessarily loaded)."; +#endif + return true; // That says that all fonts are located. +} + +void fontPool::locateFonts() +{ + kpsewhichOutput.clear(); + + // First, we try and find those fonts which exist on disk + // already. If virtual fonts are found, they will add new fonts to + // the list of fonts whose font files need to be located, so that we + // repeat the lookup. + bool vffound; + do { + vffound = false; + locateFonts(false, false, &vffound); + } while (vffound); + + // If still not all fonts are found, look again, this time with + // on-demand generation of PK fonts enabled. + if (!areFontsLocated()) { + locateFonts(true, false); + } + + // If still not all fonts are found, we look for TFM files as a last + // resort, so that we can at least draw filled rectangles for + // characters. + if (!areFontsLocated()) { + locateFonts(false, true); + } + + // If still not all fonts are found, we give up. We mark all fonts + // as 'located', so that we won't look for them any more, and + // present an error message to the user. + if (!areFontsLocated()) { + markFontsAsLocated(); + Q_EMIT error(i18n("

Okular was not able to locate all the font files " + "which are necessary to display the current DVI file. " + "Your document might be unreadable.

" + "

PATH: %1

" + "

%2

", + QString::fromLocal8Bit(qgetenv("PATH")), + kpsewhichOutput.replace(QLatin1String("\n"), QLatin1String("
"))), + -1); + } +} + +void fontPool::locateFonts(bool makePK, bool locateTFMonly, bool *virtualFontsFound) +{ + // Make sure kpsewhich is in PATH and not just in the CWD + static const QString kpsewhichFullPath = QStandardPaths::findExecutable(QStringLiteral("kpsewhich")); + if (kpsewhichFullPath.isEmpty()) { + return; + } + + // Set up the kpsewhich process. If pass == 0, look for vf-fonts and + // disable automatic font generation as vf-fonts can't be + // generated. If pass == 0, enable font generation, if it was + // enabled globally. + + // Now generate the command line for the kpsewhich + // program. Unfortunately, this can be rather long and involved... + QStringList kpsewhich_args; + kpsewhich_args << QStringLiteral("--dpi") << QStringLiteral("1200") << QStringLiteral("--mode") << QStringLiteral("lexmarks"); + + // Disable automatic pk-font generation. + kpsewhich_args << QString::fromLocal8Bit(makePK ? "--mktex" : "--no-mktex") << QStringLiteral("pk"); + + // Names of fonts that shall be located + quint16 numFontsInJob = 0; + QList::const_iterator cit_fontp = fontList.constBegin(); + for (; cit_fontp != fontList.constEnd(); ++cit_fontp) { + TeXFontDefinition *fontp = *cit_fontp; + if (!fontp->isLocated()) { + numFontsInJob++; + + if (locateTFMonly == true) { + kpsewhich_args << QStringLiteral("%1.tfm").arg(fontp->fontname); + } else { +#ifdef HAVE_FREETYPE + if (FreeType_could_be_loaded == true) { + const QString &filename = fontsByTeXName.findFileName(fontp->fontname); + if (!filename.isEmpty()) { + kpsewhich_args << QStringLiteral("%1").arg(filename); + } + } +#endif + kpsewhich_args << QStringLiteral("%1.vf").arg(fontp->fontname) << QStringLiteral("%1.1200pk").arg(fontp->fontname); + } + } + } + + if (numFontsInJob == 0) { + return; + } + + // If PK fonts are generated, the kpsewhich command will re-route + // the output of MetaFont into its stderr. Here we make sure this + // output is intercepted and parsed. + kpsewhich_ = std::make_unique(); + connect(kpsewhich_.get(), &QProcess::readyReadStandardError, this, &fontPool::mf_output_receiver); + + // Now run... kpsewhich. In case of error, kick up a fuss. + // This string is not going to be quoted, as it might be were it + // a real command line, but who cares? + const QString kpsewhich_exe = QStringLiteral("kpsewhich"); + kpsewhichOutput += QStringLiteral("") + kpsewhich_exe + QLatin1Char(' ') + kpsewhich_args.join(QStringLiteral(" ")) + QStringLiteral(""); + + kpsewhich_->start(kpsewhichFullPath, kpsewhich_args, QIODevice::ReadOnly | QIODevice::Text); + if (!kpsewhich_->waitForStarted()) { + QApplication::restoreOverrideCursor(); + Q_EMIT error(i18n("

There were problems running kpsewhich. As a result, " + "some font files could not be located, and your document might be unreadable.
" + "Possible reason: the kpsewhich program is perhaps not installed on your system, " + "or it cannot be found in the current search path.

" + "

PATH: %1

" + "

%2

", + QString::fromLocal8Bit(qgetenv("PATH")), + kpsewhichOutput.replace(QLatin1String("\n"), QLatin1String("
"))), + -1); + + // This makes sure the we don't try to run kpsewhich again + markFontsAsLocated(); + kpsewhich_.reset(); + return; + } + // We wait here while the external program runs concurrently. + kpsewhich_->waitForFinished(); + + // Handle fatal errors. + int const kpsewhich_exit_code = kpsewhich_->exitCode(); + if (kpsewhich_exit_code < 0) { + Q_EMIT warning(i18n("The font generation by kpsewhich was aborted (exit code %1, error %2). As a " + "result, some font files could not be located, and your document might be unreadable.", + kpsewhich_exit_code, + kpsewhich_->errorString()), + -1); + + // This makes sure the we don't try to run kpsewhich again + if (makePK == false) { + markFontsAsLocated(); + } + } + + // Create a list with all filenames found by the kpsewhich program. + const QStringList fileNameList = QString::fromLocal8Bit(kpsewhich_->readAll()).split(QLatin1Char('\n'), Qt::SkipEmptyParts); + + // Now associate the file names found with the fonts + QList::iterator it_fontp = fontList.begin(); + for (; it_fontp != fontList.end(); ++it_fontp) { + TeXFontDefinition *fontp = *it_fontp; + + if (fontp->filename.isEmpty() == true) { + QStringList matchingFiles; +#ifdef HAVE_FREETYPE + const QString &fn = fontsByTeXName.findFileName(fontp->fontname); + if (!fn.isEmpty()) { + matchingFiles = fileNameList.filter(fn); + } +#endif + if (matchingFiles.isEmpty() == true) { /* cppcheck-suppress knownConditionTrueFalse */ + matchingFiles += fileNameList.filter(QLatin1Char('/') + fontp->fontname + QLatin1Char('.')); + } + + if (matchingFiles.isEmpty() != true) { +#ifdef DEBUG_FONTPOOL + qCDebug(OkularDviDebug) << "Associated " << fontp->fontname << " to " << matchingFiles.first(); +#endif + QString fname = matchingFiles.first(); + fontp->fontNameReceiver(fname); + fontp->flags |= TeXFontDefinition::FONT_KPSE_NAME; + if (fname.endsWith(QLatin1String(".vf"))) { + if (virtualFontsFound != nullptr) { + *virtualFontsFound = true; + } + // Constructing a virtual font will most likely insert other + // fonts into the fontList. After that, fontList.next() will + // no longer work. It is therefore safer to start over. + it_fontp = fontList.begin(); + continue; + } + } + } // of if (fontp->filename.isEmpty() == true) + } + kpsewhich_.reset(); +} + +void fontPool::setCMperDVIunit(double _CMperDVI) +{ +#ifdef DEBUG_FONTPOOL + qCDebug(OkularDviDebug) << "fontPool::setCMperDVIunit( " << _CMperDVI << " )"; +#endif + + if (CMperDVIunit == _CMperDVI) { + return; + } + + CMperDVIunit = _CMperDVI; + + QList::iterator it_fontp = fontList.begin(); + for (; it_fontp != fontList.end(); ++it_fontp) { + TeXFontDefinition *fontp = *it_fontp; + fontp->setDisplayResolution(displayResolution_in_dpi * fontp->enlargement); + } +} + +void fontPool::setDisplayResolution(double _displayResolution_in_dpi) +{ +#ifdef DEBUG_FONTPOOL + qCDebug(OkularDviDebug) << "fontPool::setDisplayResolution( displayResolution_in_dpi=" << _displayResolution_in_dpi << " ) called"; +#endif + + // Ignore minute changes by less than 2 DPI. The difference would + // hardly be visible anyway. That saves a lot of re-painting, + // e.g. when the user resizes the window, and a flickery mouse + // changes the window size by 1 pixel all the time. + if (fabs(displayResolution_in_dpi - _displayResolution_in_dpi) <= 2.0) { +#ifdef DEBUG_FONTPOOL + qCDebug(OkularDviDebug) << "fontPool::setDisplayResolution(...): resolution wasn't changed. Aborting."; +#endif + return; + } + + displayResolution_in_dpi = _displayResolution_in_dpi; + double displayResolution = displayResolution_in_dpi; + + QList::iterator it_fontp = fontList.begin(); + for (; it_fontp != fontList.end(); ++it_fontp) { + TeXFontDefinition *fontp = *it_fontp; + fontp->setDisplayResolution(displayResolution * fontp->enlargement); + } + + // Do something that causes re-rendering of the dvi-window + /*@@@@ + Q_EMIT fonts_have_been_loaded(this); + */ +} + +void fontPool::markFontsAsLocated() +{ + QList::iterator it_fontp = fontList.begin(); + for (; it_fontp != fontList.end(); ++it_fontp) { + TeXFontDefinition *fontp = *it_fontp; + fontp->markAsLocated(); + } +} + +void fontPool::mark_fonts_as_unused() +{ +#ifdef DEBUG_FONTPOOL + qCDebug(OkularDviDebug) << "fontPool::mark_fonts_as_unused() called"; +#endif + + QList::iterator it_fontp = fontList.begin(); + for (; it_fontp != fontList.end(); ++it_fontp) { + TeXFontDefinition *fontp = *it_fontp; + fontp->flags &= ~TeXFontDefinition::FONT_IN_USE; + } +} + +void fontPool::release_fonts() +{ +#ifdef DEBUG_FONTPOOL + qCDebug(OkularDviDebug) << "Release_fonts"; +#endif + + QMutableListIterator it_fontp(fontList); + while (it_fontp.hasNext()) { + TeXFontDefinition *fontp = it_fontp.next(); + if ((fontp->flags & TeXFontDefinition::FONT_IN_USE) != TeXFontDefinition::FONT_IN_USE) { + delete fontp; + it_fontp.remove(); + } + } +} + +void fontPool::mf_output_receiver() +{ + if (kpsewhich_) { + const QString output_data = QString::fromLocal8Bit(kpsewhich_->readAllStandardError()); + kpsewhichOutput.append(output_data); + MetafontOutput.append(output_data); + } + + // We'd like to print only full lines of text. + int numleft; + while ((numleft = MetafontOutput.indexOf(QLatin1Char('\n'))) != -1) { + QString line = MetafontOutput.left(numleft + 1); +#ifdef DEBUG_FONTPOOL + qCDebug(OkularDviDebug) << "MF OUTPUT RECEIVED: " << line; +#endif + // If the Output of the kpsewhich program contains a line starting + // with "kpathsea:", this means that a new MetaFont-run has been + // started. We filter these lines out and update the display + // accordingly. + int startlineindex = line.indexOf(QStringLiteral("kpathsea:")); + if (startlineindex != -1) { + int endstartline = line.indexOf(QStringLiteral("\n"), startlineindex); + QString startLine = line.mid(startlineindex, endstartline - startlineindex); + + // The last word in the startline is the name of the font which we + // are generating. The second-to-last word is the resolution in + // dots per inch. Display this info in the text label below the + // progress bar. + int lastblank = startLine.lastIndexOf(QLatin1Char(' ')); + QString fontName = startLine.mid(lastblank + 1); + int secondblank = startLine.lastIndexOf(QLatin1Char(' '), lastblank - 1); + QString dpi = startLine.mid(secondblank + 1, lastblank - secondblank - 1); + + Q_EMIT warning(i18n("Currently generating %1 at %2 dpi…", fontName, dpi), -1); + } + MetafontOutput = MetafontOutput.remove(0, numleft + 1); + } +} diff --git a/generators/dvi/fontpool.h b/generators/dvi/fontpool.h new file mode 100644 index 0000000..0c0140b --- /dev/null +++ b/generators/dvi/fontpool.h @@ -0,0 +1,219 @@ +// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; c-brace-offset: 0; -*- +// fontpool.h +// +// SPDX-FileCopyrightText: 2001-2004 Stefan Kebekus +// SPDX-License-Identifier: GPL-2.0-or-later + +#ifndef _FONTPOOL_H +#define _FONTPOOL_H + +#include "TeXFontDefinition.h" +#include "fontEncodingPool.h" +#include "fontMap.h" + +#include +#include +#include + +#ifdef HAVE_FREETYPE +#include +#include FT_FREETYPE_H +#endif + +/** + * A list of fonts and a compilation of utility functions + * + * This class holds a list of fonts and is able to perform a number of + * functions on each of the fonts. The main use of this class is that + * it is able to control a concurrently running "kpsewhich" program + * which is used to locate and load the fonts. + * + * @author Stefan Kebekus + * + **/ + +class fontPool : public QObject +{ + Q_OBJECT + +public: + // Default constructor. + explicit fontPool(bool useFontHinting); + + // Default destructor. + ~fontPool() override; + + /** Method used to set the MetafontMode for the PK font files. This + data is used when loading fonts. Currently, a change here will be + applied only to those font which were not yet loaded ---expect + funny results when changing the data in the mid-work. */ + void setParameters(bool useFontHints); + + /** Sets the DVI file's path. This information is used to set the + current working directory for the kpsewhich command, so that + kpsewhich will find fonts that are stored in the DVI file's + directory. */ + void setExtraSearchPath(const QString &path) + { + extraSearchPath = path; + } + + /** Returns the path that is set as the current working directory + for the kpsewhich command, so that kpsewhich will find fonts + that are stored in the DVI file's directory. */ + QString getExtraSearchPath() const + { + return extraSearchPath; + } + + /** Sets the resolution of the output device. */ + void setDisplayResolution(double _displayResolution_in_dpi); + + /** Sets the number of centimeters per DVI unit. */ + void setCMperDVIunit(double CMperDVI); + double getCMperDVIunit() const + { + return CMperDVIunit; + } + + // If return value is true, font hinting should be used if possible + bool getUseFontHints() const + { + return useFontHints; + } + + // This method adds a font to the list. If the font is not currently + // loaded, it's file will be located and font::load_font will be + // called. Since this is done using a concurrently running process, + // there is no guarantee that the loading is already performed when + // the method returns. + TeXFontDefinition *appendx(const QString &fontname, quint32 checksum, quint32 scale, double enlargement); + + // This is the list which actually holds pointers to the fonts + QList fontList; + + // This method marks all fonts in the fontpool as "not in use". The + // fonts are, however, not removed from memory until the method + // release_fonts is called. The method is called when the dvi-file + // is closed. Because the next dvi-file which will be loaded is + // likely to use most of the fonts again, this method implements a + // convenient way of re-using fonts without loading them repeatedly. + void mark_fonts_as_unused(); + + /** This methods removes all fonts from the fontpool (and thus from + memory) which are labeled "not in use". For explanation, see the + mark_fonts_as_unused method. */ + void release_fonts(); + +#ifdef HAVE_FREETYPE + /** A handle to the FreeType library, which is used by TeXFont_PFM + font objects, if KDVI is compiled with FreeType support. */ + FT_Library FreeType_library; + + /** Simple marker. Set to 'true', if the FreeType library was loaded + successfully */ + bool FreeType_could_be_loaded; + + /** This maps TeX font names to font file names, full font names and + encodings. See the file 'fontMap.h' for a detailed + description. */ + fontMap fontsByTeXName; + + /** This is a list of known font encodings which can be conveniently + accessed by name. */ + fontEncodingPool encodingPool; +#endif + + /** This flag is set during the construction of the fontPool + object. It indicates if the QT library supports the alpha + channel of pixmaps. Experiments show that --depending of the + configuration of QT at compile and runtime or the availability + of the XFt extension, alpha channels are either supported, or + silently converted to 1-bit masks. The rendering routines in the + TeXFont implementation use this flag to choose the appropriated + drawing routines for the different setups. */ + bool QPixmapSupportsAlpha; + +Q_SIGNALS: + /** Passed through to the top-level kpart. */ + void error(const QString &message, int duration); + void warning(const QString &message, int duration); + void notice(const QString &message, int duration); + +public Q_SLOTS: + // Locates font files on the disk using the kpsewhich program. If + // 'locateTFMonly' is true, the method does not look for PFB- or + // PK-fonts. Instead, only TFM-files are searched. This option can be + // used as a 'last resort': if a found cannot be found, one can at + // least use the TFM file to draw filled rectangles for the + // characters. If not null, the bool pointed at by virtualFontsFound + // is set to true if one of the fonts found is a virtual font. If no + // virtual font is found, the variable remains untouched. + void locateFonts(); + +private: + // This method goes through the list of fonts, and marks each of them + // as 'located'. Used, e.g. after a fatal error in the font lookup + // process to ensure that the problematic kpsewhich is not used again + void markFontsAsLocated(); + + // Checks if all the fonts file names have been located, and returns + // true if that is so. + bool areFontsLocated(); + + // This flag is used by PFB fonts to determine if the FREETYPE engine + // should use hinted fonts or not + bool useFontHints; + + // Resolution of the output device. + double displayResolution_in_dpi; + + // Number of centimeters per DVI unit + double CMperDVIunit; + + /** Members used for font location */ + + // Locates font files on the disk using the kpsewhich program. If + // 'locateTFMonly' is true, the method does not look for PFB- or + // PK-fonts. Instead, only TFM-files are searched. This option can be + // used as a 'last resort': if a found cannot be found, one can at + // least use the TFM file to draw filled rectangles for the + // characters. If not null, the bool pointed at by virtualFontsFound + // is set to true if one of the fonts found is a virtual font. If no + // virtual font is found, the variable remains untouched. + void locateFonts(bool makePK, bool locateTFMonly, bool *virtualFontsFound = nullptr); + + // This QString is used internally by the mf_output_receiver() + // method. This string is set to QString() in locateFonts(bool, + // bool, bool *). Values are set and read by the + // mf_output_receiver(...) method + QString MetafontOutput; + + // This QString is used to collect the output of kpsewhich and + // MetaFont. The string is set to QString() in the + // locateFonts()-method, and content is gathered by the + // mf_output_receiver(). This string is used by locateFonts() and + // locateFonts(bool, bool, bool *) to display error messages. + QString kpsewhichOutput; + + // This string is set to the DVI file's path. It is used to set the + // current working directory for the kpsewhich command, so that + // kpsewhich will find fonts that are stored in the DVI file's + // directory. Used by the locateFonts() and the locateFonts(bool, + // bool, bool *) method. Values are set by the + // setExtraSearchPath(...) method + QString extraSearchPath; + + // The handle on the external process. + std::unique_ptr kpsewhich_; + +private Q_SLOTS: + // This slot is called when MetaFont is run via the kpsewhich program. + // The MetaFont output is transmitted to the fontpool via the @c kpsewhich_ + // member variable. This method passes on progress information to the + // fontProgress Dialog and collects the output of MetaFont in the + // @c MetafontOutput member variable. + void mf_output_receiver(); +}; + +#endif // ifndef _FONTPOOL_H diff --git a/generators/dvi/generator_dvi.cpp b/generators/dvi/generator_dvi.cpp new file mode 100644 index 0000000..dd8eb62 --- /dev/null +++ b/generators/dvi/generator_dvi.cpp @@ -0,0 +1,520 @@ +/* + SPDX-FileCopyrightText: 2006-2009 Luigi Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include +#include +#include +#include +#include +#include + +#include "TeXFont.h" +#include "debug_dvi.h" +#include "dviFile.h" +#include "dviPageInfo.h" +#include "dviRenderer.h" +#include "dviexport.h" +#include "generator_dvi.h" +#include "pageSize.h" + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#ifdef DVI_OPEN_BUSYLOOP +#include +#endif + +OKULAR_EXPORT_PLUGIN(DviGenerator, "libokularGenerator_dvi.json") + +DviGenerator::DviGenerator(QObject *parent, const QVariantList &args) + : Okular::Generator(parent, args) + , m_resolution {0} + , m_fontExtracted(false) + , m_docSynopsis(nullptr) + , m_dviRenderer(nullptr) +{ + setFeature(Threaded); + setFeature(TextExtraction); + setFeature(FontInfo); + setFeature(PrintPostscript); + if (Okular::FilePrinter::ps2pdfAvailable()) { + setFeature(PrintToFile); + } +} + +bool DviGenerator::loadDocument(const QString &fileName, QList &pagesVector) +{ + // qCDebug(OkularDviDebug) << "file:" << fileName; + QUrl base(QUrl::fromLocalFile(fileName)); + + (void)userMutex(); + + m_dviRenderer = new dviRenderer(documentMetaData(TextHintingMetaData, QVariant()).toBool()); + connect(m_dviRenderer, &dviRenderer::error, this, &DviGenerator::error); + connect(m_dviRenderer, &dviRenderer::warning, this, &DviGenerator::warning); + connect(m_dviRenderer, &dviRenderer::notice, this, &DviGenerator::notice); +#ifdef DVI_OPEN_BUSYLOOP + static const ushort s_waitTime = 800; // milliseconds + static const int s_maxIterations = 10; + int iter = 0; + for (; !m_dviRenderer->isValidFile(fileName) && iter < s_maxIterations; ++iter) { + qCDebug(OkularDviDebug).nospace() << "file not valid after iteration #" << iter << "/" << s_maxIterations << ", waiting for " << s_waitTime; + QThread::msleep(s_waitTime); + } + if (iter >= s_maxIterations && !m_dviRenderer->isValidFile(fileName)) { + qCDebug(OkularDviDebug) << "file still not valid after" << s_maxIterations; + delete m_dviRenderer; + m_dviRenderer = 0; + return false; + } +#else + if (!m_dviRenderer->isValidFile(fileName)) { + delete m_dviRenderer; + m_dviRenderer = nullptr; + return false; + } +#endif + if (!m_dviRenderer->setFile(fileName, base)) { + delete m_dviRenderer; + m_dviRenderer = nullptr; + return false; + } + + qCDebug(OkularDviDebug) << "# of pages:" << m_dviRenderer->dviFile->total_pages; + + m_resolution = dpi().height(); + loadPages(pagesVector); + + return true; +} + +bool DviGenerator::doCloseDocument() +{ + delete m_docSynopsis; + m_docSynopsis = nullptr; + delete m_dviRenderer; + m_dviRenderer = nullptr; + + m_linkGenerated.clear(); + m_fontExtracted = false; + + return true; +} + +void DviGenerator::fillViewportFromAnchor(Okular::DocumentViewport &vp, const Anchor anch, const Okular::Page *page) const +{ + fillViewportFromAnchor(vp, anch, page->width(), page->height()); +} + +void DviGenerator::fillViewportFromAnchor(Okular::DocumentViewport &vp, const Anchor anch, int pW, int pH) const +{ + vp.pageNumber = static_cast(anch.page) - 1; + + SimplePageSize ps = m_dviRenderer->sizeOfPage(PageNumber(vp.pageNumber)); + double resolution = 0; + if (ps.isValid()) { + resolution = (double)(pW) / ps.width().getLength_in_inch(); + } else { + resolution = m_resolution; + } + + double py = (double)anch.distance_from_top.getLength_in_inch() * resolution + 0.5; + + vp.rePos.normalizedX = 0.5; + vp.rePos.normalizedY = py / (double)pH; + vp.rePos.enabled = true; + vp.rePos.pos = Okular::DocumentViewport::Center; +} + +QList DviGenerator::generateDviLinks(const dviPageInfo *pageInfo) +{ + QList dviLinks; + + int pageWidth = pageInfo->width, pageHeight = pageInfo->height; + + for (const Hyperlink &dviLink : std::as_const(pageInfo->hyperLinkList)) { + QRect boxArea = dviLink.box; + double nl = (double)boxArea.left() / pageWidth, nt = (double)boxArea.top() / pageHeight, nr = (double)boxArea.right() / pageWidth, nb = (double)boxArea.bottom() / pageHeight; + + QString linkText = dviLink.linkText; + if (linkText.startsWith(QLatin1String("#"))) { + linkText = linkText.mid(1); + } + Anchor anch = m_dviRenderer->findAnchor(linkText); + + Okular::Action *okuLink = nullptr; + + /* distinguish between local (-> anchor) and remote links */ + if (anch.isValid()) { + /* internal link */ + Okular::DocumentViewport vp; + fillViewportFromAnchor(vp, anch, pageWidth, pageHeight); + + okuLink = new Okular::GotoAction(QLatin1String(""), vp); + } else { + okuLink = new Okular::BrowseAction(QUrl::fromUserInput(dviLink.linkText)); + } + if (okuLink) { + Okular::ObjectRect *orlink = new Okular::ObjectRect(nl, nt, nr, nb, false, Okular::ObjectRect::Action, okuLink); + dviLinks.push_front(orlink); + } + } + return dviLinks; +} + +QImage DviGenerator::image(Okular::PixmapRequest *request) +{ + dviPageInfo *pageInfo = new dviPageInfo(); + pageSize ps; + QImage ret; + + pageInfo->width = request->width(); + pageInfo->height = request->height(); + + pageInfo->pageNumber = request->pageNumber() + 1; + + // pageInfo->resolution = m_resolution; + + QMutexLocker lock(userMutex()); + + if (m_dviRenderer) { + SimplePageSize s = m_dviRenderer->sizeOfPage(pageInfo->pageNumber); + + /* if ( s.width() != pageInfo->width) */ + // if (!useDocumentSpecifiedSize) + // s = userPreferredSize; + + if (s.isValid()) { + pageInfo->resolution = (double)(pageInfo->width) / s.width().getLength_in_inch(); + } else { + pageInfo->resolution = (double)(pageInfo->width) / ps.width().getLength_in_inch(); + } + + m_dviRenderer->drawPage(pageInfo); + + if (!pageInfo->img.isNull()) { + qCDebug(OkularDviDebug) << "Image OK"; + + ret = pageInfo->img; + + if (!m_linkGenerated[request->pageNumber()]) { + request->page()->setObjectRects(generateDviLinks(pageInfo)); + m_linkGenerated[request->pageNumber()] = true; + } + } + } + + lock.unlock(); + + delete pageInfo; + + return ret; +} + +Okular::TextPage *DviGenerator::textPage(Okular::TextRequest *request) +{ + if (!m_dviRenderer) { + return nullptr; + } + + const Okular::Page *page = request->page(); + + qCDebug(OkularDviDebug); + dviPageInfo pageInfo; + + pageInfo.width = page->width(); + pageInfo.height = page->height(); + + pageInfo.pageNumber = page->number() + 1; + + QMutexLocker lock(userMutex()); + + // get page text from m_dviRenderer + Okular::TextPage *ktp = nullptr; + SimplePageSize s = m_dviRenderer->sizeOfPage(pageInfo.pageNumber); + pageInfo.resolution = (double)(pageInfo.width) / s.width().getLength_in_inch(); + + m_dviRenderer->getText(&pageInfo); + lock.unlock(); + + ktp = extractTextFromPage(pageInfo); + return ktp; +} + +Okular::TextPage *DviGenerator::extractTextFromPage(const dviPageInfo &pageInfo) +{ + QList textOfThePage; + + int pageWidth = pageInfo.width, pageHeight = pageInfo.height; + + for (const TextBox &curTB : std::as_const(pageInfo.textBoxList)) { + textOfThePage.push_back(Okular::TextEntity(curTB.text, Okular::NormalizedRect(curTB.box, pageWidth, pageHeight))); + } + + Okular::TextPage *ktp = new Okular::TextPage(textOfThePage); + + return ktp; +} + +Okular::DocumentInfo DviGenerator::generateDocumentInfo(const QSet &keys) const +{ + Okular::DocumentInfo docInfo; + + if (keys.contains(Okular::DocumentInfo::MimeType)) { + docInfo.set(Okular::DocumentInfo::MimeType, QStringLiteral("application/x-dvi")); + } + + QMutexLocker lock(userMutex()); + + if (m_dviRenderer && m_dviRenderer->dviFile) { + dvifile *dvif = m_dviRenderer->dviFile; + + // read properties from dvif + // docInfo.set( "filename", dvif->filename, i18n("Filename") ); + if (keys.contains(Okular::DocumentInfo::CustomKeys)) { + docInfo.set(QStringLiteral("generatorDate"), dvif->generatorString, i18n("Generator/Date")); + } + if (keys.contains(Okular::DocumentInfo::Pages)) { + docInfo.set(Okular::DocumentInfo::Pages, QString::number(dvif->total_pages)); + } + } + return docInfo; +} + +const Okular::DocumentSynopsis *DviGenerator::generateDocumentSynopsis() +{ + if (m_docSynopsis) { + return m_docSynopsis; + } + + m_docSynopsis = new Okular::DocumentSynopsis(); + + userMutex()->lock(); + + QList prebookmarks = m_dviRenderer->getPrebookmarks(); + + userMutex()->unlock(); + + if (prebookmarks.isEmpty()) { + return m_docSynopsis; + } + + QStack stack; + + QList::ConstIterator it = prebookmarks.constBegin(); + QList::ConstIterator itEnd = prebookmarks.constEnd(); + for (; it != itEnd; ++it) { + QDomElement domel = m_docSynopsis->createElement((*it).title); + Anchor a = m_dviRenderer->findAnchor((*it).anchorName); + if (a.isValid()) { + Okular::DocumentViewport vp; + + const Okular::Page *p = document()->page(static_cast(a.page) - 1); + + fillViewportFromAnchor(vp, a, (int)p->width(), (int)p->height()); + domel.setAttribute(QStringLiteral("Viewport"), vp.toString()); + } + if (stack.isEmpty()) { + m_docSynopsis->appendChild(domel); + } else { + stack.top().appendChild(domel); + stack.pop(); + } + for (int i = 0; i < (*it).noOfChildren; ++i) { + stack.push(domel); + } + } + + return m_docSynopsis; +} + +Okular::FontInfo::List DviGenerator::fontsForPage(int page) +{ + Q_UNUSED(page); + + Okular::FontInfo::List list; + + // the list of the fonts is extracted once + if (m_fontExtracted) { + return list; + } + + if (m_dviRenderer && m_dviRenderer->dviFile && m_dviRenderer->dviFile->font_pool) { + const QList fonts = m_dviRenderer->dviFile->font_pool->fontList; + for (const TeXFontDefinition *font : fonts) { + Okular::FontInfo of; + QString name; + int zoom = (int)(font->enlargement * 100 + 0.5); +#ifdef HAVE_FREETYPE + if (font->getFullFontName().isEmpty()) { + name = QStringLiteral("%1, %2%").arg(font->fontname).arg(zoom); + } else { + name = QStringLiteral("%1 (%2), %3%").arg(font->fontname, font->getFullFontName(), QString::number(zoom)); + } +#else + name = QString("%1, %2%").arg(font->fontname).arg(zoom); +#endif + of.setName(name); + + QString fontFileName; + if (!(font->flags & TeXFontDefinition::FONT_VIRTUAL)) { + if (font->font != nullptr) { + fontFileName = font->font->errorMessage; + } else { + fontFileName = i18n("Font file not found"); + } + + if (fontFileName.isEmpty()) { + fontFileName = font->filename; + } + } + + of.setFile(fontFileName); + + Okular::FontInfo::FontType ft = Okular::FontInfo::Unknown; + switch (font->getFontType()) { + case TeXFontDefinition::TEX_PK: + ft = Okular::FontInfo::TeXPK; + break; + case TeXFontDefinition::TEX_VIRTUAL: + ft = Okular::FontInfo::TeXVirtual; + break; + case TeXFontDefinition::TEX_FONTMETRIC: + ft = Okular::FontInfo::TeXFontMetric; + break; + case TeXFontDefinition::FREETYPE: + ft = Okular::FontInfo::TeXFreeTypeHandled; + break; + case TeXFontDefinition::UNKNOWN: + ft = Okular::FontInfo::Unknown; + break; + } + of.setType(ft); + + // DVI has not the concept of "font embedding" + of.setEmbedType(Okular::FontInfo::NotEmbedded); + of.setCanBeExtracted(false); + + list.append(of); + } + + m_fontExtracted = true; + } + + return list; +} + +void DviGenerator::loadPages(QList &pagesVector) +{ + QSize pageRequiredSize; + + int numofpages = m_dviRenderer->dviFile->total_pages; + pagesVector.resize(numofpages); + + m_linkGenerated.fill(false, numofpages); + + // qCDebug(OkularDviDebug) << "resolution:" << m_resolution << ", dviFile->preferred?"; + + /* get the suggested size */ + if (m_dviRenderer->dviFile->suggestedPageSize) { + pageRequiredSize = m_dviRenderer->dviFile->suggestedPageSize->sizeInPixel(m_resolution); + } else { + pageSize ps; + pageRequiredSize = ps.sizeInPixel(m_resolution); + } + + for (int i = 0; i < numofpages; ++i) { + // qCDebug(OkularDviDebug) << "getting status of page" << i << ":"; + + if (pagesVector[i]) { + delete pagesVector[i]; + } + + Okular::Page *page = new Okular::Page(i, pageRequiredSize.width(), pageRequiredSize.height(), Okular::Rotation0); + + pagesVector[i] = page; + } + qCDebug(OkularDviDebug) << "pagesVector successfully initialized!"; + + // filling the pages with the source references rects + const QList &sourceAnchors = m_dviRenderer->sourceAnchors(); + QList> refRects(numofpages); + for (const DVI_SourceFileAnchor &sfa : sourceAnchors) { + if (sfa.page < 1 || (int)sfa.page > numofpages) { + continue; + } + + Okular::NormalizedPoint p(-1.0, (double)sfa.distance_from_top.getLength_in_pixel(dpi().height()) / (double)pageRequiredSize.height()); + Okular::SourceReference *sourceRef = new Okular::SourceReference(sfa.fileName, sfa.line); + refRects[sfa.page - 1].append(new Okular::SourceRefObjectRect(p, sourceRef)); + } + for (int i = 0; i < refRects.size(); ++i) { + if (!refRects.at(i).isEmpty()) { + pagesVector[i]->setSourceReferences(refRects.at(i)); + } + } +} + +Okular::Document::PrintError DviGenerator::print(QPrinter &printer) +{ + // Create tempfile to write to + QTemporaryFile tf(QDir::tempPath() + QLatin1String("/okular_XXXXXX.ps")); + if (!tf.open()) { + return Okular::Document::TemporaryFileOpenPrintError; + } + + const QList pageList = Okular::FilePrinter::pageList(printer, static_cast(m_dviRenderer->totalPages()), document()->currentPage() + 1, document()->bookmarkedPageList()); + QString pages; + QStringList printOptions; + // List of pages to print. + for (const int p : pageList) { + pages += QStringLiteral(",%1").arg(p); + } + if (!pages.isEmpty()) { + printOptions << QStringLiteral("-pp") << pages.mid(1); + } + + QEventLoop el; + m_dviRenderer->setEventLoop(&el); + m_dviRenderer->exportPS(tf.fileName(), printOptions, &printer, document()->orientation()); + + tf.close(); + + // Error messages are handled by the generator - ugly, but it works. + return Okular::Document::NoPrintError; +} + +QVariant DviGenerator::metaData(const QString &key, const QVariant &option) const +{ + if (key == QLatin1String("NamedViewport") && !option.toString().isEmpty()) { + const Anchor anchor = m_dviRenderer->parseReference(option.toString()); + if (anchor.isValid()) { + const Okular::Page *page = document()->page(static_cast(anchor.page) - 1); + Q_ASSERT_X(page, "DviGenerator::metaData()", "NULL page as result of valid Anchor"); + Okular::DocumentViewport viewport; + fillViewportFromAnchor(viewport, anchor, page); + if (viewport.isValid()) { + return viewport.toString(); + } + } + } + return QVariant(); +} + +Q_LOGGING_CATEGORY(OkularDviDebug, "org.kde.okular.generators.dvi.core", QtWarningMsg) +Q_LOGGING_CATEGORY(OkularDviShellDebug, "org.kde.okular.generators.dvi.shell", QtWarningMsg) + +#include "generator_dvi.moc" diff --git a/generators/dvi/generator_dvi.h b/generators/dvi/generator_dvi.h new file mode 100644 index 0000000..a7f89b8 --- /dev/null +++ b/generators/dvi/generator_dvi.h @@ -0,0 +1,66 @@ +/* + SPDX-FileCopyrightText: 2006 Luigi Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _DVI_GENERATOR_H_ +#define _DVI_GENERATOR_H_ + +#include + +#include + +class dviRenderer; +class dviPageInfo; +class Anchor; + +namespace Okular +{ +class DocumentViewport; +class ObjectRect; +} + +class DviGenerator : public Okular::Generator +{ + Q_OBJECT + Q_INTERFACES(Okular::Generator) +public: + DviGenerator(QObject *parent, const QVariantList &args); + bool loadDocument(const QString &fileName, QList &pagesVector) override; + + // document information + Okular::DocumentInfo generateDocumentInfo(const QSet &keys) const override; + + // table of contents + const Okular::DocumentSynopsis *generateDocumentSynopsis() override; + + // list of fonts + Okular::FontInfo::List fontsForPage(int page) override; + + Okular::Document::PrintError print(QPrinter &printer) override; + + QVariant metaData(const QString &key, const QVariant &option) const override; + +protected: + bool doCloseDocument() override; + QImage image(Okular::PixmapRequest *request) override; + Okular::TextPage *textPage(Okular::TextRequest *request) override; + +private: + double m_resolution; + bool m_fontExtracted; + + Okular::DocumentSynopsis *m_docSynopsis; + + dviRenderer *m_dviRenderer; + QBitArray m_linkGenerated; + + void loadPages(QList &pagesVector); + Okular::TextPage *extractTextFromPage(const dviPageInfo &pageInfo); + void fillViewportFromAnchor(Okular::DocumentViewport &vp, const Anchor anch, int pW, int pH) const; + void fillViewportFromAnchor(Okular::DocumentViewport &vp, const Anchor anch, const Okular::Page *page) const; + QList generateDviLinks(const dviPageInfo *pageInfo); +}; + +#endif diff --git a/generators/dvi/glyph.cpp b/generators/dvi/glyph.cpp new file mode 100644 index 0000000..135df0f --- /dev/null +++ b/generators/dvi/glyph.cpp @@ -0,0 +1,44 @@ +// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; c-brace-offset: 0; -*- + +/* glyph.cpp + * + * part of kdvi, a dvi-previewer for the KDE desktop environment + * + * written by Stefan Kebekus, originally based on code by Paul Vojta + * and a large number of co-authors */ + +#include + +#include "debug_dvi.h" +#include "glyph.h" + +bitmap::bitmap() +{ + w = 0; + h = 0; + bytes_wide = 0; + bits = nullptr; +} + +bitmap::~bitmap() +{ + delete[] bits; +} + +glyph::glyph() +{ +#ifdef DEBUG_GLYPH + qCDebug(OkularDviDebug) << "glyph::glyph()"; +#endif + + addr = 0; + x = 0; + y = 0; + x2 = 0; + y2 = 0; + dvi_advance_in_units_of_design_size_by_2e20 = 0; +} + +glyph::~glyph() +{ +} diff --git a/generators/dvi/glyph.h b/generators/dvi/glyph.h new file mode 100644 index 0000000..bfed981 --- /dev/null +++ b/generators/dvi/glyph.h @@ -0,0 +1,47 @@ +// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; c-brace-offset: 0; -*- + +#ifndef _GLYPH_H +#define _GLYPH_H + +#include +#include + +struct bitmap { + bitmap(); + ~bitmap(); + + bitmap(const bitmap &) = delete; + bitmap &operator=(const bitmap &) = delete; + + // width and height in pixels + quint16 w, h; + // scan-line width in bytes + quint16 bytes_wide; + // pointer to the bits + char *bits; +}; + +class glyph +{ +public: + glyph(); + ~glyph(); + + // address of bitmap in font file + long addr; + + QColor color; + + // DVI units to move reference point + qint32 dvi_advance_in_units_of_design_size_by_2e20; + + // x and y offset in pixels + short x, y; + + QImage shrunkenCharacter; + + // x and y offset in pixels (shrunken bitmap) + short x2, y2; +}; + +#endif // ifndef _GLYPH_H diff --git a/generators/dvi/hyperlink.h b/generators/dvi/hyperlink.h new file mode 100644 index 0000000..2579030 --- /dev/null +++ b/generators/dvi/hyperlink.h @@ -0,0 +1,83 @@ +// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; c-brace-offset: 0; -*- +// +// Class: hyperlink +// +// Part of KDVI- A previewer for TeX DVI files. +// +// SPDX-FileCopyrightText: 2004-2005 Stefan Kebekus +// SPDX-License-Identifier: GPL-2.0-or-later + +#ifndef _hyperlink_h_ +#define _hyperlink_h_ + +#include +#include + +/** Represents a named, rectangular region in a rendered documentPage + + This trivial class is used in the documentPage class to represent + a hyperlink in a rendered documentPage. + + @author Stefan Kebekus + @version 1.0.0 +*/ + +class Hyperlink +{ +public: + /** \brief Default Constructor + + The default constructor leaves all fields uninitialized. + */ + Hyperlink() + { + } + + /** \brief Constructor + + Trivial constructor leaves that initialized all members. + + @param bl value for the baseline field + @param re value for the box + @param lT value for the text field + */ + Hyperlink(quint32 bl, const QRect re, const QString &lT) + : baseline(bl) + , box(re) + , linkText(lT) + { + } + + /** \brief Base line of a hyperlink + + This field specifies the Y-coordinate of the base line of the + bounding box in the same coordinates that were used when the + associated documentPage was rendered by the + documentRenderer.drawPage() method. It is used to underline + hyperlinks in blue. Note that this field does generally differ from + the Y-coordinate of the bottom of the bounding box, e.g. if the text + in the box contains characters with underlengths, such as 'y', 'j' + or 'g'. + */ + quint32 baseline; + + /** \brief Bounding box of the text or hyperlink + + This rectangle specifies where on the page the hyperlink is + found. It uses the same coordinates that were used when the + associated documentPage was rendered by the + documentRenderer.drawPage() method. The box is used to determine if + the mouse pointer hovers over the link. + */ + QRect box; + + /** \brief Name of the region + + This field contains the name of the target, + e.g. "http://www.kde.org". If the Hyperlink class is used to + represent text, then the text is stored here. + */ + QString linkText; +}; + +#endif diff --git a/generators/dvi/length.cpp b/generators/dvi/length.cpp new file mode 100644 index 0000000..e4ad343 --- /dev/null +++ b/generators/dvi/length.cpp @@ -0,0 +1,75 @@ +// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; c-brace-offset: 0; -*- +// units.cpp +// +// Part of KVIEWSHELL - A framework for multipage text/gfx viewers +// +// SPDX-FileCopyrightText: 2003 Stefan Kebekus +// SPDX-FileCopyrightText: 2006 Wilfried Huss +// SPDX-License-Identifier: GPL-2.0-or-later + +#include + +#include "debug_dvi.h" +#include "length.h" + +class unitOfDistance +{ +public: + float mmPerUnit; + const char *name; +}; + +static const unitOfDistance distanceUnitTable[] = { + // Metric units + {1.0f, "mm"}, + {1.0f, "millimeter"}, + {10.0f, "cm"}, + {10.0f, "centimeter"}, + {float(100.0 * 10.0), "m"}, + {float(100.0 * 10.0), "meter"}, + + // Imperial units + {25.4f, "in"}, + {25.4f, "inch"}, + + // Typographical units + {float(2540.0 / 7227.0), "pt"}, // TeX points. 7227points = 254cm + {float(25.4 / 72.0), "bp"}, // big points, 1/72 inch as used in Postscript + {float(25.4 / 6.0), "pc"}, // pica = 1/6 inch + {float(25.4 / 6.0), "pica"}, + {float(25.4 * 0.0148), "dd"}, // didot points = 0.0148 inches + {float(25.4 * 0.0148), "didot"}, + {float(25.4 * 0.178), "cc"}, // cicero points = 0.178 inches + {float(25.4 * 0.178), "cicero"}, + + {0.0f, nullptr}, +}; + +float Length::convertToMM(const QString &distance, bool *ok) +{ + float MMperUnit = 0.0; + int unitPos = 0; // position of the unit in the string + + // Check for various known units, and store the beginning position + // of the unit in 'unitPos', so that distance[0..unitPos] will hold + // the value. Store the number of mm per unit in 'MMperUnit'. + for (int i = 0; MMperUnit == 0.0 && distanceUnitTable[i].name != nullptr; i++) { + unitPos = distance.lastIndexOf(QString::fromLocal8Bit(distanceUnitTable[i].name)); + if (unitPos != -1) { + MMperUnit = distanceUnitTable[i].mmPerUnit; + } + } + + // If no unit has been found -> error message, set *ok to false and + // return 0.0. + if (MMperUnit == 0.0) { + qCCritical(OkularDviShellDebug) << "distance::convertToMM: no known unit found in the string '" << distance << "'."; + if (ok) { + *ok = false; + } + return 0.0; + } + + QString val = distance.left(unitPos).simplified(); + return MMperUnit * val.toFloat(ok); +} diff --git a/generators/dvi/length.h b/generators/dvi/length.h new file mode 100644 index 0000000..0498242 --- /dev/null +++ b/generators/dvi/length.h @@ -0,0 +1,306 @@ +// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; c-brace-offset: 0; -*- +// +// Class: length +// +// Part of KVIEWSHELL +// +// SPDX-FileCopyrightText: 2005 Stefan Kebekus +// SPDX-FileCopyrightText: 2006 Wilfried Huss +// +// SPDX-License-Identifier: GPL-2.0-or-later + +#ifndef _length_h_ +#define _length_h_ + +#include +#include + +class QString; + +#define mm_per_cm 10.0 +#define mm_per_m 1000.0 +#define mm_per_inch 25.4 +#define mm_per_TeXPoint (2540.0 / 7227.0) +#define mm_per_bigPoint (25.4 / 72.0) +#define mm_per_pica (25.4 / 6.0) +#define mm_per_didot (25.4 * 0.0148) +#define mm_per_cicero (25.4 * 0.178) +#define mm_per_scaledPoint (25.4 / (72.27 * 65536.0)) + +/** @short Represents a phyical length + + This class is used to represent a physical length. Its main purpose + it to help in the conversion of units, and to avoid confusion + about units. To avoid misunderstandings, there is no default + constructor so that this class needs to be explicitly initialized + with one of the functions below. + + @warning Lengths are stored internally in mm. If you convert to + or from any other unit, expect floating point round-off errors. + + @author Stefan Kebekus + @version 1.0.0 +*/ + +class Length +{ +public: + /** constructs a 'length = 0mm' object */ + Length() + { + length_in_mm = 0; + } + + /** sets the length in millimeters */ + void setLength_in_mm(double l) + { + length_in_mm = l; + } + + /** sets the length in centimeters */ + void setLength_in_cm(double l) + { + length_in_mm = l * mm_per_cm; + } + + /** sets the length in meters */ + void setLength_in_m(double l) + { + length_in_mm = l * mm_per_m; + } + + /** sets the length in inches */ + void setLength_in_inch(double l) + { + length_in_mm = l * mm_per_inch; + } + + /** sets the length in TeX points */ + void setLength_in_TeXPoints(double l) + { + length_in_mm = l * mm_per_TeXPoint; + } + + /** sets the length in big points (1/72 of an inch) */ + void setLength_in_bigPoints(double l) + { + length_in_mm = l * mm_per_bigPoint; + } + + /** sets the length in picas (1/6 of an inch) */ + void setLength_in_pica(double l) + { + length_in_mm = l * mm_per_pica; + } + + /** sets the length in didots (0.0148 inches) */ + void setLength_in_didot(double l) + { + length_in_mm = l * mm_per_didot; + } + + /** sets the length in ciceros (0.178 inches) */ + void setLength_in_cicero(double l) + { + length_in_mm = l * mm_per_cicero; + } + + /** sets the length in scaled points (1 scaled point = 65536 TeX points) */ + void setLength_in_scaledPoints(double l) + { + length_in_mm = l * mm_per_scaledPoint; + } + + /** sets the length (@param l ) in pixels. The parameter @param res is the resolution of the + used device in DPI. */ + void setLength_in_pixel(int l, double res) + { + setLength_in_inch(l / res); + } + + /** @returns the length in millimeters */ + double getLength_in_mm() const + { + return length_in_mm; + } + + /** @returns the length in centimeters */ + double getLength_in_cm() const + { + return length_in_mm / mm_per_cm; + } + + /** @returns the length in meters */ + double getLength_in_m() const + { + return length_in_mm / mm_per_m; + } + + /** @returns the length in inches */ + double getLength_in_inch() const + { + return length_in_mm / mm_per_inch; + } + + /** @returns the length in TeX points */ + double getLength_in_TeXPoints() const + { + return length_in_mm / mm_per_TeXPoint; + } + + /** @returns the length in big points (1/72 of an inch) */ + double getLength_in_bigPoints() const + { + return length_in_mm / mm_per_bigPoint; + } + + /** @returns the length in picas (1/6 of an inch) */ + double getLength_in_pica() const + { + return length_in_mm / mm_per_pica; + } + + /** @returns the length in didots (0.0148 inches) */ + double getLength_in_didot() const + { + return length_in_mm / mm_per_didot; + } + + /** @returns the length in ciceros (0.178 inches) */ + double getLength_in_cicero() const + { + return length_in_mm / mm_per_cicero; + } + + /** @returns the length in scaled points (1 scaled point = 65536 TeX points) */ + double getLength_in_scaledPoints() const + { + return length_in_mm / mm_per_scaledPoint; + } + + /** @returns the length in pixel. The parameter @param res is the resolution of the + used device in DPI. */ + int getLength_in_pixel(double res) const + { + return int(getLength_in_inch() * res); + } + + /** @returns true is lengths differ by no more than 2mm */ + bool isNearlyEqual(const Length o) const + { + return fabs(length_in_mm - o.getLength_in_mm()) <= 2.0; + } + + /** Comparison of two lengths */ + bool operator>(const Length o) const + { + return (length_in_mm > o.getLength_in_mm()); + } + bool operator<(const Length o) const + { + return (length_in_mm < o.getLength_in_mm()); + } + + /** Comparison of two lengths */ + bool operator>=(const Length o) const + { + return (length_in_mm >= o.getLength_in_mm()); + } + bool operator<=(const Length o) const + { + return (length_in_mm <= o.getLength_in_mm()); + } + + /** Ratio of two lengths + + @warning There is no safeguard to prevent you from division by + zero. If the length in the denominator is near 0.0, a floating point + exception may occur. + + @returns the ratio of the two lengths as a double + */ + double operator/(const Length o) const + { + return (length_in_mm / o.getLength_in_mm()); + } + + /** Sum of two lengths + + @returns the sum of the lengths as a Length + */ + Length operator+(const Length o) const + { + Length r; + r.length_in_mm = length_in_mm + o.length_in_mm; + return r; + } + + /** Difference of two lengths + + @returns the difference of the lengths as a Length + */ + Length operator-(const Length o) const + { + Length r; + r.length_in_mm = length_in_mm - o.length_in_mm; + return r; + } + + /** Division of a length + + @warning There is no safeguard to prevent you from division by + zero. If the number in the denominator is near 0.0, a floating point + exception may occur. + + @returns a fraction of the original length as a Length + */ + Length operator/(const double l) const + { + Length r; + r.length_in_mm = length_in_mm / l; + return r; + } + + /** Multiplication of a length + + @returns a multiplied length as a Length + */ + Length operator*(const double l) const + { + Length r; + r.length_in_mm = length_in_mm * l; + return r; + } + + /** This method converts a string that gives a distance in one of the + commonly used units, such as "12.3mm", "12 inch" or "15 didot" to + millimeters. For a complete list of supported units, see the + static lists that are hardcoded in "units.cpp". + + If the conversion is not possible *ok is set to "false" and an + undefined value is returned. If the unit could not be recognized, + an error message is printed via kdError(). Otherwise, *ok is set + to true. + + It is possible in rare circumstances that ok is set to true + although the string is malformed. + + It is fine to set ok to 0. */ + static float convertToMM(const QString &distance, bool *ok = nullptr); + +private: + /** Length in millimeters */ + double length_in_mm; +}; + +#undef mm_per_cm +#undef mm_per_m +#undef mm_per_inch +#undef mm_per_TeXPoint +#undef mm_per_bigPoint +#undef mm_per_pica +#undef mm_per_didot +#undef mm_per_cicero +#undef mm_per_scaledPoint + +#endif diff --git a/generators/dvi/libokularGenerator_dvi.json b/generators/dvi/libokularGenerator_dvi.json new file mode 100644 index 0000000..f05800a --- /dev/null +++ b/generators/dvi/libokularGenerator_dvi.json @@ -0,0 +1,215 @@ +{ + "KPlugin": { + "Authors": [ + { + "Email": "luigi.toscano@tiscali.it", + "Name": "Luigi Toscano", + "Name[ar]": "Luigi Toscano", + "Name[az]": "Luigi Toscano", + "Name[be]": "Luigi Toscano", + "Name[bg]": "Luigi Toscano", + "Name[ca@valencia]": "Luigi Toscano", + "Name[ca]": "Luigi Toscano", + "Name[cs]": "Luigi Toscano", + "Name[da]": "Luigi Toscano", + "Name[de]": "Luigi Toscano", + "Name[el]": "Luigi Toscano", + "Name[en_GB]": "Luigi Toscano", + "Name[eo]": "Luigi Toscano", + "Name[es]": "Luigi Toscano", + "Name[et]": "Luigi Toscano", + "Name[eu]": "Luigi Toscano", + "Name[fi]": "Luigi Toscano", + "Name[fr]": "Luigi Toscano", + "Name[gl]": "Luigi Toscano", + "Name[he]": "לואיג׳י טוסקנו", + "Name[hu]": "Luigi Toscano", + "Name[ia]": "Luigi Toscano", + "Name[ie]": "Luigi Toscano", + "Name[is]": "Luigi Toscano", + "Name[it]": "Luigi Toscano", + "Name[ka]": "Luigi Toscano", + "Name[ko]": "Luigi Toscano", + "Name[lt]": "Luigi Toscano", + "Name[lv]": "Luigi Toscano", + "Name[nl]": "Luigi Toscano", + "Name[nn]": "Luigi Toscano", + "Name[pl]": "Luigi Toscano", + "Name[pt]": "Luigi Toscano", + "Name[pt_BR]": "Luigi Toscano", + "Name[ro]": "Luigi Toscano", + "Name[ru]": "Luigi Toscano", + "Name[sa]": "लुइगी टोस्कानो", + "Name[sk]": "Luigi Toscano", + "Name[sl]": "Luigi Toscano", + "Name[sr@ijekavian]": "Луиђи Тоскано", + "Name[sr@ijekavianlatin]": "Luiđi Toskano", + "Name[sr@latin]": "Luiđi Toskano", + "Name[sr]": "Луиђи Тоскано", + "Name[sv]": "Luigi Toscano", + "Name[tr]": "Luigi Toscano", + "Name[uk]": "Luigi Toscano", + "Name[vi]": "Luigi Toscano", + "Name[zh_CN]": "Luigi Toscano", + "Name[zh_TW]": "Luigi Toscano" + } + ], + "Copyright": "© 2006 Luigi Toscano", + "Copyright[ar]": "© 2006 Luigi Toscano", + "Copyright[az]": "© 2006 Luigi Toscano", + "Copyright[be]": "© 2006 Luigi Toscano", + "Copyright[bg]": "© 2006 Luigi Toscano", + "Copyright[ca@valencia]": "© 2006 Luigi Toscano", + "Copyright[ca]": "© 2006 Luigi Toscano", + "Copyright[cs]": "© 2006 Luigi Toscano", + "Copyright[da]": "© 2006 Luigi Toscano", + "Copyright[de]": "© 2006 Luigi Toscano", + "Copyright[el]": "© 2006 Luigi Toscano", + "Copyright[en_GB]": "© 2006 Luigi Toscano", + "Copyright[eo]": "© 2006 Luigi Toscano", + "Copyright[es]": "© 2006 Luigi Toscano", + "Copyright[et]": "© 2006: Luigi Toscano", + "Copyright[eu]": "© 2006 Luigi Toscano", + "Copyright[fi]": "© 2006 Luigi Toscano", + "Copyright[fr]": "© 2006 Luigi Toscano", + "Copyright[gl]": "© 2006 Luigi Toscano", + "Copyright[he]": "© 2006 לואיג׳י טוסקנו", + "Copyright[hu]": "© Luigi Toscano, 2006.", + "Copyright[ia]": "© 2006 Pino Toscano", + "Copyright[ie]": "© 2006 Luigi Toscano", + "Copyright[is]": "© 2006 Luigi Toscano", + "Copyright[it]": "© 2006 Luigi Toscano", + "Copyright[ka]": "© 2006 Luigi Toscano", + "Copyright[ko]": "© 2006 Luigi Toscano", + "Copyright[lt]": "© 2006 Luigi Toscano", + "Copyright[lv]": "© 2006 Luigi Toscano", + "Copyright[nl]": "© 2006 Luigi Toscano", + "Copyright[nn]": "© 2006 Luigi Toscano", + "Copyright[pa]": "© 2006 Luigi Toscano", + "Copyright[pl]": "© 2006 Luigi Toscano", + "Copyright[pt]": "© 2006 Luigi Toscano", + "Copyright[pt_BR]": "© 2006 Luigi Toscano", + "Copyright[ro]": "© 2006 Luigi Toscano", + "Copyright[ru]": "© Luigi Toscano, 2006", + "Copyright[sa]": "© 2006 लुइगी टोस्कानो", + "Copyright[sk]": "© 2006 Luigi Toscano", + "Copyright[sl]": "© 2006 Luigi Toscano", + "Copyright[sr@ijekavian]": "© 2006, Луиђи Тоскано", + "Copyright[sr@ijekavianlatin]": "© 2006, Luiđi Toskano", + "Copyright[sr@latin]": "© 2006, Luiđi Toskano", + "Copyright[sr]": "© 2006, Луиђи Тоскано", + "Copyright[sv]": "© 2006 Luigi Toscano", + "Copyright[tr]": "© 2006 Luigi Toscano", + "Copyright[uk]": "© Luigi Toscano, 2006", + "Copyright[vi]": "© 2006 Luigi Toscano", + "Copyright[zh_CN]": "© 2006 Luigi Toscano", + "Copyright[zh_TW]": "© 2006 Luigi Toscano", + "Description": "A DVI file renderer", + "Description[ar]": "عارض ملف DVI", + "Description[az]": "DVİ faylı tərtibatçısı", + "Description[be]": "Сродак візуалізацыі файлаў DVI", + "Description[bg]": "Визуализатор на DVI файлове", + "Description[ca@valencia]": "Un renderitzador de fitxers DVI", + "Description[ca]": "Un renderitzador de fitxers DVI", + "Description[cs]": "Vykreslovač DVI souborů", + "Description[da]": "En gengiver til DVI-filer", + "Description[de]": "Ein Renderer für DVI-Dateien", + "Description[el]": "Πρόγραμμα αποτύπωσης για DVI αρχεία", + "Description[en_GB]": "A DVI file renderer", + "Description[eo]": "DVI-dosierprezentilo", + "Description[es]": "Un visor de archivos DVI", + "Description[et]": "DVI-faili renderdaja", + "Description[eu]": "DVI fitxategi errendatzaile bat", + "Description[fi]": "DVI-tiedostohahmonnin", + "Description[fr]": "Système de rendu pour fichiers « DVI »", + "Description[gl]": "Un visor de ficheiros DVI.", + "Description[he]": "מעבד קובצי DVI", + "Description[hu]": "DVI-fájl leképező", + "Description[ia]": "Un renditor de file de DVI", + "Description[is]": "Myndunarviðbót fyrir DVI-skrá", + "Description[it]": "Un visualizzatore di file DVI", + "Description[ka]": "DVI ფაილის რენდერერი", + "Description[ko]": "DVI 파일 렌더러", + "Description[lt]": "DVI failų atvaizdavimas", + "Description[lv]": "DVI datņu atveidotājs", + "Description[nl]": "Een DVI-bestandsweergever", + "Description[nn]": "Ein gjengjevar for DVI-filer", + "Description[pl]": "Wyświetlanie plików DVI", + "Description[pt]": "Um visualizador de ficheiros DVI", + "Description[pt_BR]": "Um renderizador de arquivo DVI", + "Description[ro]": "Randor pentru fișiere DVI", + "Description[ru]": "Модуль поддержки формата DVI", + "Description[sa]": "एकः DVI सञ्चिकाप्रतिपादकः", + "Description[sk]": "Vykresľovanie DVI súborov", + "Description[sl]": "Izrisovalnik datotek DVI", + "Description[sr@ijekavian]": "Рендерер ДВИ фајлова", + "Description[sr@ijekavianlatin]": "Renderer DVI fajlova", + "Description[sr@latin]": "Renderer DVI fajlova", + "Description[sr]": "Рендерер ДВИ фајлова", + "Description[sv]": "Ett återgivningsprogram för DVI-filer", + "Description[tr]": "Bir DVI dosyası sunucu", + "Description[uk]": "Інструмент для показу файлів DVI", + "Description[vi]": "Một trình kết xuất tệp DVI", + "Description[zh_CN]": "DVI 文件的渲染程序", + "Description[zh_TW]": "DVI 檔成像器", + "License": "GPL", + "MimeTypes": [ + "application/x-dvi" + ], + "Name": "DVI Backend", + "Name[ar]": "خلفية DVI", + "Name[az]": "DVİ modulu", + "Name[be]": "Рухавік DVI", + "Name[bg]": "Бекенд на DVI", + "Name[ca@valencia]": "Dorsal DVI", + "Name[ca]": "Dorsal DVI", + "Name[cs]": "Implementace DVI", + "Name[da]": "DVI-backend", + "Name[de]": "Anzeigemodul für DVI", + "Name[el]": "Σύστημα υποστήριξης DVI", + "Name[en_GB]": "DVI Backend", + "Name[eo]": "DVI-Backend", + "Name[es]": "Motor para DVI", + "Name[et]": "DVI taustaprogramm", + "Name[eu]": "DVIren bizkarraldekoa", + "Name[fi]": "DVI-taustaosa", + "Name[fr]": "Moteur DVI", + "Name[gl]": "Motor de DVI", + "Name[he]": "מנגנון DVI", + "Name[hu]": "DVI modul", + "Name[ia]": "Retro-administration de DVI", + "Name[ie]": "Infrastructura DVI", + "Name[is]": "DVI-bakendi", + "Name[it]": "Backend DVI", + "Name[ka]": "DVI უკანაბოლო", + "Name[ko]": "DVI 백엔드", + "Name[lt]": "DVI programinė sąsaja", + "Name[lv]": "DVI aizmugursistēma", + "Name[nl]": "DVI-backend", + "Name[nn]": "DVI-motor", + "Name[pa]": "DVI ਬੈਕਐਂਡ", + "Name[pl]": "Obsługa DVI", + "Name[pt]": "Infra-Estrutura de DVI", + "Name[pt_BR]": "Infraestrutura DVI", + "Name[ro]": "Platformă DVI", + "Name[ru]": "Модуль поддержки формата DVI", + "Name[sa]": "DVI Backend", + "Name[sk]": "DVI Backend", + "Name[sl]": "Zaledje za DVI", + "Name[sr@ijekavian]": "Позадина за ДВИ", + "Name[sr@ijekavianlatin]": "Pozadina za DVI", + "Name[sr@latin]": "Pozadina za DVI", + "Name[sr]": "Позадина за ДВИ", + "Name[sv]": "DVI-gränssnitt", + "Name[ta]": "DVI பின்நிலை", + "Name[tr]": "DVI Arka Ucu", + "Name[uk]": "Модуль DVI", + "Name[vi]": "Hậu phương DVI", + "Name[zh_CN]": "DVI 后端程序", + "Name[zh_TW]": "DVI 後端介面", + "Version": "0.3.7" + }, + "X-KDE-Priority": 2, + "X-KDE-okularAPIVersion": 1, + "X-KDE-okularHasInternalSettings": false +} diff --git a/generators/dvi/okularApplication_dvi.desktop b/generators/dvi/okularApplication_dvi.desktop new file mode 100755 index 0000000..ccbedfd --- /dev/null +++ b/generators/dvi/okularApplication_dvi.desktop @@ -0,0 +1,259 @@ +[Desktop Entry] +MimeType=application/x-dvi;application/x-gzdvi;application/x-bzdvi; +Terminal=false +Name=Okular +Name[ar]=اوكلار +Name[az]=Okular +Name[be]=Okular +Name[bg]=Okular +Name[bs]=Okular +Name[ca]=Okular +Name[ca@valencia]=Okular +Name[cs]=Okular +Name[da]=Okular +Name[de]=Okular +Name[el]=Okular +Name[en_GB]=Okular +Name[eo]=Okular +Name[es]=Okular +Name[et]=Okular +Name[eu]=Okular +Name[fi]=Okular +Name[fr]=Okular +Name[ga]=Okular +Name[gl]=Okular +Name[he]=Okular +Name[hne]=ओकुलर +Name[hr]=Okular +Name[hu]=Okular +Name[ia]=Okular +Name[ie]=Okular +Name[is]=Okular +Name[it]=Okular +Name[ja]=Okular +Name[ka]=Okular +Name[kk]=Okular +Name[km]=Okular +Name[ko]=Okular +Name[ku]=Okular +Name[lt]=Okular +Name[lv]=Okular +Name[mr]=ओक्युलर +Name[nb]=Okular +Name[nds]=Okular +Name[nl]=Okular +Name[nn]=Okular +Name[pa]=ਓਕੁਲਾਰ +Name[pl]=Okular +Name[pt]=Okular +Name[pt_BR]=Okular +Name[ro]=Okular +Name[ru]=Okular +Name[sa]=नेत्रस्य +Name[si]=Okular +Name[sk]=Okular +Name[sl]=Okular +Name[sq]=Okular +Name[sr]=Окулар +Name[sr@ijekavian]=Окулар +Name[sr@ijekavianlatin]=Okular +Name[sr@latin]=Okular +Name[sv]=Okular +Name[ta]=ஆக்குலர் +Name[th]=โอกูลาร์ +Name[tr]=Okular +Name[ug]=Okular +Name[uk]=Okular +Name[vi]=Okular +Name[zh_CN]=Okular 文档查看器 +Name[zh_TW]=Okular +GenericName=Document Viewer +GenericName[ar]=عارض المستندات +GenericName[az]=Sənədə baxış vasitısi +GenericName[be]=Сродак для прагляду дакументаў +GenericName[bg]=Преглед на документи +GenericName[bs]=Prikazivač dokumenata +GenericName[ca]=Visualitzador de documents +GenericName[ca@valencia]=Visor de documents +GenericName[cs]=Prohlížeč dokumentů +GenericName[da]=Dokumentfremviser +GenericName[de]=Dokumentenbetrachter +GenericName[el]=Προβολέας εγγράφων +GenericName[en_GB]=Document Viewer +GenericName[eo]=Dokumenta rigardilo +GenericName[es]=Visor de documentos +GenericName[et]=Dokumendinäitaja +GenericName[eu]=Dokumentu erakuslea +GenericName[fa]=مشاهده‌گر سند +GenericName[fi]=Asiakirjakatselin +GenericName[fr]=Afficheur de documents +GenericName[ga]=Amharcán Cáipéisí +GenericName[gl]=Visor de documentos +GenericName[he]=מציג מסמכים +GenericName[hi]=दस्तावेज़ प्रदर्शक +GenericName[hne]=कागद प्रदर्सक +GenericName[hr]=Preglednik dokumenata +GenericName[hu]=Dokumentummegjelenítő +GenericName[ia]=Visor de documento +GenericName[ie]=Visor de documentes +GenericName[is]=Skjalaskoðari +GenericName[it]=Visore di documenti +GenericName[ja]=文書ビューア +GenericName[ka]=დოკუმენტების მნახველი +GenericName[kk]=Құжатты қарау құралы +GenericName[km]=កម្មវិធី​មើល​ឯកសារ +GenericName[ko]=문서 뷰어 +GenericName[ku]=Nîşanderê Belgeyan +GenericName[lt]=Dokumentų žiūryklė +GenericName[lv]=Dokumentu skatītājs +GenericName[mr]=दस्तऐवज प्रदर्शक +GenericName[nb]=Dokumentviser +GenericName[nds]=Dokmentkieker +GenericName[ne]=कागजात दर्शक +GenericName[nl]=Documentenviewer +GenericName[nn]=Dokumentvisar +GenericName[oc]=Visualizaire de documents +GenericName[pa]=ਡੌਕੂਮੈਂਟ ਦਰਸ਼ਕ +GenericName[pl]=Przeglądarka dokumentów +GenericName[pt]=Visualizador de Documentos +GenericName[pt_BR]=Visualizador de documentos +GenericName[ro]=Vizualizor de documente +GenericName[ru]=Просмотр документов +GenericName[sa]=दस्तावेज दर्शक +GenericName[sk]=Prehliadač dokumentov +GenericName[sl]=Pregledovalnik dokumentov +GenericName[sq]=Shikues dokumentesh +GenericName[sr]=Приказивач докумената +GenericName[sr@ijekavian]=Приказивач докумената +GenericName[sr@ijekavianlatin]=Prikazivač dokumenata +GenericName[sr@latin]=Prikazivač dokumenata +GenericName[sv]=Dokumentvisare +GenericName[ta]=ஆவணங் காட்டி +GenericName[th]=เครื่องมือแสดงเอกสาร +GenericName[tr]=Belge Görüntüleyicisi +GenericName[ug]=پۈتۈك كۆرگۈ +GenericName[uk]=Переглядач документів +GenericName[vi]=Trình xem tài liệu +GenericName[zh_CN]=文档查看器 +GenericName[zh_TW]=文件檢視器 +Comment=Universal document viewer +Comment[ar]=عارض المستندات عالمي +Comment[az]=Sənədə universal baxış vasitəsi +Comment[be]=Універсальны сродак для прагляду дакументаў +Comment[bg]=Универсална програма за преглед на документи +Comment[ca]=Visualitzador universal de documents +Comment[ca@valencia]=Visor universal de documents +Comment[cs]=Univerzální prohlížeč dokumentů +Comment[da]=Universel dokumentfremviser +Comment[de]=Universeller Dokumentenbetrachter +Comment[el]=Καθολικός προβολέας εγγράφων +Comment[en_GB]=Universal document viewer +Comment[eo]=Universala dokumenta spektilo +Comment[es]=Visor de documentos universal +Comment[et]=Universaalne dokumendinäitaja +Comment[eu]=Dokumentu erakusle unibertsala +Comment[fi]=Yleinen asiakirjakatselin +Comment[fr]=Afficheur de document universel +Comment[gl]=Visor de documentos universal. +Comment[he]=מציג מסמכים אוניברסלי +Comment[hu]=Univerzális dokumentummegjelenítő +Comment[ia]=Visor de documento universal +Comment[ie]=Universal visor de documentes +Comment[is]=Fjölhæfur skjalaskoðari +Comment[it]=Visore di documenti universale +Comment[ja]=多用途な文書ビューア +Comment[ka]=დოკუმენტების პოპულარული ფორმატების გამხსნელი +Comment[ko]=만능 문서 뷰어 +Comment[lt]=Universali dokumentų žiūryklė +Comment[lv]=Universāls dokumentu skatītājs +Comment[nl]=Universele documentviewer +Comment[nn]=Dokumentvisar for mange format +Comment[pa]=ਯੂਨੀਵਰਸਲ ਡੌਕੂਮੈਂਟ ਦਰਸ਼ਕ +Comment[pl]=Wszechstronna przeglądarka dokumentów +Comment[pt]=Visualizador de documentos universal +Comment[pt_BR]=Visualizador de documentos universal +Comment[ro]=Vizualizor de documente universal +Comment[ru]=Универсальная программа просмотра документов +Comment[sa]=सार्वभौमिक दस्तावेज दर्शक +Comment[sk]=Univerzálny prehliadač dokumentov +Comment[sl]=Vsestranski pregledovalnik dokumentov +Comment[sq]=Shikues univerzal dokumentesh +Comment[sr]=Универзални приказивач докумената +Comment[sr@ijekavian]=Универзални приказивач докумената +Comment[sr@ijekavianlatin]=Univerzalni prikazivač dokumenata +Comment[sr@latin]=Univerzalni prikazivač dokumenata +Comment[sv]=Generell dokumentvisare +Comment[ta]=அனைத்து ஆவணங்களுக்கான காட்டி +Comment[tr]=Çok amaçlı belge görüntüleyicisi +Comment[uk]=Універсальний переглядач документів +Comment[vi]=Trình xem tài liệu vạn năng +Comment[zh_CN]=通用文档查看器 +Comment[zh_TW]=通用文件檢視器 +Exec=okular %U +Icon=okular +Type=Application +InitialPreference=7 +Categories=Qt;KDE;Graphics;Viewer; +NoDisplay=true +X-KDE-Keywords=dvi +X-KDE-Keywords[ar]=dvi +X-KDE-Keywords[az]=dvi +X-KDE-Keywords[be]=dvi +X-KDE-Keywords[bg]=dvi +X-KDE-Keywords[bs]=dvi +X-KDE-Keywords[ca]=dvi +X-KDE-Keywords[ca@valencia]=dvi +X-KDE-Keywords[cs]=dvi +X-KDE-Keywords[da]=dvi +X-KDE-Keywords[de]=dvi +X-KDE-Keywords[el]=dvi +X-KDE-Keywords[en_GB]=dvi +X-KDE-Keywords[eo]=dvi +X-KDE-Keywords[es]=dvi +X-KDE-Keywords[et]=dvi +X-KDE-Keywords[eu]=dvi +X-KDE-Keywords[fi]=dvi +X-KDE-Keywords[fr]=dvi +X-KDE-Keywords[ga]=dvi +X-KDE-Keywords[gl]=dvi +X-KDE-Keywords[he]=dvi +X-KDE-Keywords[hu]=dvi +X-KDE-Keywords[ia]=dvi +X-KDE-Keywords[ie]=dvi +X-KDE-Keywords[is]=dvi +X-KDE-Keywords[it]=dvi +X-KDE-Keywords[ja]=dvi +X-KDE-Keywords[ka]=dvi +X-KDE-Keywords[kk]=dvi +X-KDE-Keywords[km]=dvi +X-KDE-Keywords[ko]=dvi +X-KDE-Keywords[lt]=dvi +X-KDE-Keywords[lv]=dvi +X-KDE-Keywords[mr]=dvi +X-KDE-Keywords[nb]=dvi +X-KDE-Keywords[nds]=DVI +X-KDE-Keywords[nl]=dvi +X-KDE-Keywords[nn]=dvi +X-KDE-Keywords[pa]=dvi +X-KDE-Keywords[pl]=dvi +X-KDE-Keywords[pt]=dvi +X-KDE-Keywords[pt_BR]=dvi +X-KDE-Keywords[ro]=dvi +X-KDE-Keywords[ru]=dvi +X-KDE-Keywords[sa]=द्वि +X-KDE-Keywords[sk]=dvi +X-KDE-Keywords[sl]=dvi +X-KDE-Keywords[sq]=dvi +X-KDE-Keywords[sr]=dvi,ДВИ +X-KDE-Keywords[sr@ijekavian]=dvi,ДВИ +X-KDE-Keywords[sr@ijekavianlatin]=dvi,DVI +X-KDE-Keywords[sr@latin]=dvi,DVI +X-KDE-Keywords[sv]=dvi +X-KDE-Keywords[ta]=dvi +X-KDE-Keywords[tr]=dvi +X-KDE-Keywords[ug]=dvi +X-KDE-Keywords[uk]=dvi +X-KDE-Keywords[vi]=dvi +X-KDE-Keywords[zh_CN]=dvi +X-KDE-Keywords[zh_TW]=dvi +X-KDE-AliasFor=org.kde.okular.desktop diff --git a/generators/dvi/org.kde.mobile.okular_dvi.desktop b/generators/dvi/org.kde.mobile.okular_dvi.desktop new file mode 100644 index 0000000..f56ad8d --- /dev/null +++ b/generators/dvi/org.kde.mobile.okular_dvi.desktop @@ -0,0 +1,253 @@ +[Desktop Entry] +MimeType=application/x-dvi;application/x-gzdvi;application/x-bzdvi; +Name=Reader +Name[ar]=التصيير +Name[az]=Oxuyucu +Name[be]=Сродак чытання +Name[bg]=Четец +Name[bs]=Čitač +Name[ca]=Lector +Name[ca@valencia]=Lector +Name[cs]=Čtečka +Name[da]=Læser +Name[de]=Lesegerät +Name[el]=Πρόγραμμα ανάγνωσης +Name[en_GB]=Reader +Name[eo]=Legilo +Name[es]=Lector +Name[et]=Lugeja +Name[eu]=Irakurlea +Name[fi]=Lukija +Name[fr]=Lecteur +Name[ga]=Léitheoir +Name[gl]=Lector +Name[he]=קורא +Name[hu]=Olvasó +Name[ia]=Lector +Name[ie]=Letor +Name[is]=Lesari +Name[it]=Lettore +Name[ja]=リーダ +Name[ka]=მკითხველი +Name[kk]=Оқу құралы +Name[ko]=리더 +Name[lt]=Skaitytuvas +Name[lv]=Lasītājs +Name[mr]=वाचक +Name[nb]=Leser +Name[nds]=Leser +Name[nl]=Lezer +Name[nn]=Lesar +Name[pa]=ਰੀਡਰ +Name[pl]=Czytnik +Name[pt]=Leitor +Name[pt_BR]=Leitor +Name[ro]=Cititor +Name[ru]=Просмотрщик +Name[sa]=पाठकः +Name[sk]=Čítačka +Name[sl]=Bralnik +Name[sq]=Reader +Name[sr]=Читач +Name[sr@ijekavian]=Читач +Name[sr@ijekavianlatin]=Čitač +Name[sr@latin]=Čitač +Name[sv]=Läsprogram +Name[ta]=காட்டி +Name[tr]=Okuyucu +Name[ug]=ئوقۇغۇ +Name[uk]=Переглядач +Name[vi]=Trình đọc +Name[zh_CN]=阅读器 +Name[zh_TW]=閱讀器 +GenericName=Document viewer +GenericName[ar]=عارض المستندات +GenericName[az]=Sənədə baxış vasitısi +GenericName[be]=Сродак для прагляду дакументаў +GenericName[bg]=Преглед на документи +GenericName[bs]=Prikazivač dokumenata +GenericName[ca]=Visualitzador de documents +GenericName[ca@valencia]=Visor de documents +GenericName[cs]=Prohlížeč dokumentů +GenericName[da]=Dokumentfremviser +GenericName[de]=Dokumentenbetrachter +GenericName[el]=Προβολέας εγγράφων +GenericName[en_GB]=Document Viewer +GenericName[eo]=Dokumentrigardilo +GenericName[es]=Visor de documentos +GenericName[et]=Dokumendinäitaja +GenericName[eu]=Dokumentu erakuslea +GenericName[fi]=Asiakirjakatselin +GenericName[fr]=Afficheur de document +GenericName[ga]=Amharcán cáipéisí +GenericName[gl]=Visor de documentos +GenericName[he]=מציג מסמכים +GenericName[hi]=दस्तावेज़ प्रदर्शक +GenericName[hu]=Dokumentummegjelenítő +GenericName[ia]=Visor de documento +GenericName[ie]=Visor de documentes +GenericName[is]=Skjalaskoðari +GenericName[it]=Visore di documenti +GenericName[ja]=文書ビューア +GenericName[ka]=დოკუმენტების მნახველი +GenericName[kk]=Құжатты қарау құралы +GenericName[ko]=문서 뷰어 +GenericName[lt]=Dokumentų žiūryklė +GenericName[lv]=Dokumentu skatītājs +GenericName[mr]=दस्तऐवज प्रदर्शक +GenericName[nb]=Dokumentviser +GenericName[nds]=Dokmentkieker +GenericName[nl]=Documentenviewer +GenericName[nn]=Dokumentvisar +GenericName[pa]=ਡੌਕੂਮੈਂਟ ਦਰਸ਼ਕ +GenericName[pl]=Przeglądarka dokumentów +GenericName[pt]=Visualizador de documentos +GenericName[pt_BR]=Visualizador de documentos +GenericName[ro]=Vizualizor de documente +GenericName[ru]=Просмотр документов +GenericName[sa]=दस्तावेजदर्शकः +GenericName[sk]=Prehliadač dokumentov +GenericName[sl]=Pregledovalnik dokumentov +GenericName[sq]=Shikues dokumentesh +GenericName[sr]=Приказивач докумената +GenericName[sr@ijekavian]=Приказивач докумената +GenericName[sr@ijekavianlatin]=Prikazivač dokumenata +GenericName[sr@latin]=Prikazivač dokumenata +GenericName[sv]=Dokumentvisare +GenericName[ta]=ஆவணங் காட்டி +GenericName[tr]=Belge Görüntüleyicisi +GenericName[uk]=Переглядач документів +GenericName[vi]=Trình xem tài liệu +GenericName[zh_CN]=文档查看器 +GenericName[zh_TW]=文件檢視器 +Comment=Viewer for various types of documents +Comment[ar]=عارض للعديد من أنواع المستندات +Comment[az]=Müxtəlif növlü sənədlər üçün görüntüləyici +Comment[be]=Сродак для прагляду разнастайных тыпаў дакументаў +Comment[bg]=Преглед на различни видове документи +Comment[bs]=Pregledač raznih vrsta dokumenata +Comment[ca]=Visualitzador de diversos tipus de documents +Comment[ca@valencia]=Visor de diversos tipus de documents +Comment[cs]=Prohlížeč různých typů dokumentů +Comment[da]=Fremviser af diverse dokumenttyper +Comment[de]=Betrachter für verschiedene Arten von Dokumenten +Comment[el]=Πρόγραμμα προβολής για διάφορους τύπους εγγράφων +Comment[en_GB]=Viewer for various types of documents +Comment[eo]=Vidilo por diversaj specoj de dokumentoj +Comment[es]=Visor de diversos tipos de documentos +Comment[et]=Eri tüüpi dokumentide näitaja +Comment[eu]=Hainbat dokumentu moten erakuslea +Comment[fi]=Monenlaisten asiakirjojen katseluohjelma +Comment[fr]=Afficheur pour différents types de documents +Comment[ga]=Amharcán le haghaidh cáipéisí éagsúla +Comment[gl]=Visor de varios tipos de documentos. +Comment[he]=מציג למגוון סוגי מסמכים +Comment[hu]=Megjelenítő különféle típusú dokumentumokhoz +Comment[ia]=Visor pro varie typos de documento +Comment[ie]=Visor por varie tipes de documentes +Comment[is]=Skoðari fyrir ýmsar gerðir skjala +Comment[it]=Visore per vari tipi di documenti +Comment[ja]=様々なタイプの文書のためのビューア +Comment[ka]=სხვადასხვა ტიპების დოკუმენტების დათვალიერება +Comment[kk]=Түрлі құжаттар қарау құралы +Comment[ko]=여러 형식의 문서 뷰어 +Comment[lt]=Žiūryklė įvairiems dokumentų tipams +Comment[lv]=Dažādu dokumentu tipu skatītājs +Comment[mr]=विविध प्रकारच्या दस्तऐवजांचा प्रदर्शक +Comment[nb]=Framviser for forskjellige dokumenttyper +Comment[nds]=Kieker för en Reeg Dokmenttypen +Comment[nl]=Viewer voor verschillende typen documenten +Comment[nn]=Framvisar for forskjellige dokumenttypar +Comment[pa]=ਕਈ ਕਿਸਮ ਦੇ ਡੌਕੂਮੈਂਟ ਵੇਖਾਉਣ ਲਈ ਦਰਸ਼ਕ +Comment[pl]=Przeglądarka dla różnych typów dokumentów +Comment[pt]=Visualizador de vários tipos de documentos +Comment[pt_BR]=Visualizador para vários tipos de documentos +Comment[ro]=Vizualizor pentru diferite tipuri de documente +Comment[ru]=Программа для просмотра различных типов документов +Comment[sa]=विभिन्नप्रकारस्य दस्तावेजानां कृते दर्शकः +Comment[sk]=Prehliadač pre rôzne typy dokumentov +Comment[sl]=Pregledovalnik raznih vrst dokumentov +Comment[sq]=Shikues për lloje të ndryshme të dokumentave +Comment[sr]=Приказивач различитих врста докумената +Comment[sr@ijekavian]=Приказивач различитих врста докумената +Comment[sr@ijekavianlatin]=Prikazivač različitih vrsta dokumenata +Comment[sr@latin]=Prikazivač različitih vrsta dokumenata +Comment[sv]=Visningsprogram för diverse typer av dokument +Comment[ta]=பலவகையான ஆவணங்களுக்கான காட்டி +Comment[tr]=Çeşitli belge türleri için görüntüleyici +Comment[ug]=ھەر خىل تىپتىكى پۈتۈكلەرنى كۆرىدىغان پروگرامما +Comment[uk]=Програма для перегляду документів різних типів +Comment[vi]=Trình xem các kiểu tài liệu khác nhau +Comment[zh_CN]=支持查看多种文档类型 +Comment[zh_TW]=多種型態文件的檢視器 + +TryExec=okularkirigami +Exec=okularkirigami %u +Terminal=false +Icon=okular +Type=Application +Categories=Qt;KDE;Graphics;Office;Viewer; +InitialPreference=2 +NoDisplay=true +X-KDE-Keywords=dvi +X-KDE-Keywords[ar]=dvi +X-KDE-Keywords[az]=dvi +X-KDE-Keywords[be]=dvi +X-KDE-Keywords[bg]=dvi +X-KDE-Keywords[bs]=dvi +X-KDE-Keywords[ca]=dvi +X-KDE-Keywords[ca@valencia]=dvi +X-KDE-Keywords[cs]=dvi +X-KDE-Keywords[da]=dvi +X-KDE-Keywords[de]=dvi +X-KDE-Keywords[el]=dvi +X-KDE-Keywords[en_GB]=dvi +X-KDE-Keywords[eo]=dvi +X-KDE-Keywords[es]=dvi +X-KDE-Keywords[et]=dvi +X-KDE-Keywords[eu]=dvi +X-KDE-Keywords[fi]=dvi +X-KDE-Keywords[fr]=dvi +X-KDE-Keywords[ga]=dvi +X-KDE-Keywords[gl]=dvi +X-KDE-Keywords[he]=dvi +X-KDE-Keywords[hu]=dvi +X-KDE-Keywords[ia]=dvi +X-KDE-Keywords[ie]=dvi +X-KDE-Keywords[is]=dvi +X-KDE-Keywords[it]=dvi +X-KDE-Keywords[ja]=dvi +X-KDE-Keywords[ka]=dvi +X-KDE-Keywords[kk]=dvi +X-KDE-Keywords[km]=dvi +X-KDE-Keywords[ko]=dvi +X-KDE-Keywords[lt]=dvi +X-KDE-Keywords[lv]=dvi +X-KDE-Keywords[mr]=dvi +X-KDE-Keywords[nb]=dvi +X-KDE-Keywords[nds]=DVI +X-KDE-Keywords[nl]=dvi +X-KDE-Keywords[nn]=dvi +X-KDE-Keywords[pa]=dvi +X-KDE-Keywords[pl]=dvi +X-KDE-Keywords[pt]=dvi +X-KDE-Keywords[pt_BR]=dvi +X-KDE-Keywords[ro]=dvi +X-KDE-Keywords[ru]=dvi +X-KDE-Keywords[sa]=द्वि +X-KDE-Keywords[sk]=dvi +X-KDE-Keywords[sl]=dvi +X-KDE-Keywords[sq]=dvi +X-KDE-Keywords[sr]=dvi,ДВИ +X-KDE-Keywords[sr@ijekavian]=dvi,ДВИ +X-KDE-Keywords[sr@ijekavianlatin]=dvi,DVI +X-KDE-Keywords[sr@latin]=dvi,DVI +X-KDE-Keywords[sv]=dvi +X-KDE-Keywords[ta]=dvi +X-KDE-Keywords[tr]=dvi +X-KDE-Keywords[ug]=dvi +X-KDE-Keywords[uk]=dvi +X-KDE-Keywords[vi]=dvi +X-KDE-Keywords[zh_CN]=dvi +X-KDE-Keywords[zh_TW]=dvi +X-KDE-AliasFor=org.kde.okular.kirigami.desktop diff --git a/generators/dvi/org.kde.okular-dvi.metainfo.xml b/generators/dvi/org.kde.okular-dvi.metainfo.xml new file mode 100644 index 0000000..10a9f1b --- /dev/null +++ b/generators/dvi/org.kde.okular-dvi.metainfo.xml @@ -0,0 +1,140 @@ + + + org.kde.okular-dvi + org.kde.okular.desktop + CC0-1.0 + GPL-2.0+ and GFDL-1.3 + DVI Documents + مستندات DVI + DVI sənədləri + Дакументы DVI + DVI документи + Documents DVI + Documents DVI + Dokumenty DVI + DVI-Dokumente + Έγγραφα DVI + DVI Documents + DVI-Dokumentoj + Documentos DVI + DVI dokumendid + DVI dokumentuak + DVI-tiedostot + Documents « DVI » + Documentos DVI + מסמכי DVI + डीवीआइ दस्तावेज़ + DVI-dokumentumok + Documentos DVI + Documentes DVI + DVI skjöl + Documenti DVI + DVI დოკუმენტები + DVI 문서 + DVI dokumentai + DVI dokumeni + ഡിവിഐ പ്രമാണങ്ങൾ + DVI-documenten + DVI-dokument + Dokumenty DVI + Documentos DVI + Documentos DVI + Documente DVI + Документы DVI + डीवीआई दस्तावेज + DVI dokumenty + Dokumenti DVI + ДВИ документи + DVI dokumenti + ДВИ документи + DVI dokumenti + DVI-dokument + DVI ஆவணங்கள் + DVI Belgeleri + документи DVI + Tài liệu DVI + DVI 文档 + DVI 文件 + Adds support for reading DVI documents + يضيف دعم لقراءة مستندات DVI + DjVu sənədlərini oxumaq üçün dəstək əlavə edir + Падтрымка чытання дакументаў DVI + Добавя поддръжка за DVI документи + Afegeix la implementació per a llegir documents DVI + Afig la implementació per a llegir documents DVI + Přidává podporu pro čtení dokumentů DVI + Bietet Unterstützung zum Lesen von DVI-Dokumenten + Προσθέτει υποστήριξη για την ανάγνωση εγγράφων DVI + Adds support for reading DVI documents + Aldonas subtenon por legi DVI-dokumentojn + Permite la lectura de documentos DVI + DVI dokumentide lugemise toetus + DVI dokumentuak irakurtzeko euskarria gehitzen du + Lisää DVI-tiedostojen lukutuen + Permet la lecture des documents DVI + Engade a posibilidade de ler documentos DVI + מוסיף תמיכה בקריאת מסמכי DVI (ללא תלות במכשיר) + डीवीआइ दस्तावेज़ पढ़ने के लिए समर्थन जोड़ता है + Támogatás DVI-dokumentumok olvasásához + Adde supporto per leger documentos DVI + Adjunte li supporte de letion de documentes DVI + Bætir við stuðningi til að lesa DVI-skjöl + Aggiunge il supporto per la lettura di documenti DVI + DVI დოკუმენტების კითხვის მხარდაჭერის დამატება + DVI 문서 읽기 지원 추가 + Prideda palaikymą DVI dokumentų skaitymui + Pievieno atbalstu DVI dokumentu lasīšanai + ഡിവിഐ പ്രമാണങ്ങൾ വായിക്കാൻ പിന്തുണ ചേർക്കുന്നു + Voegt ondersteuning voor lezen van DVI-documenten toe + Legg til støtte for å lesa DVI-dokument + Dodaje obsługę dokumentów DVI + Adiciona o suporte para a leitura de documentos DVI + Adiciona o suporte para leitura de documentos DVI + Adaugă suport pentru citirea documentelor DVI + Поддержка чтения документов DVI + DVI दस्तावेजानां पठनार्थं समर्थनं योजयति + Pridá podporu pre čítanie DVI dokumentov + Doda podporo za branje dokumentov DVI + Подршка за читање ДВИ докумената + Podrška za čitanje DVI dokumenata + Подршка за читање ДВИ докумената + Podrška za čitanje DVI dokumenata + Lägger till stöd för att läsa DVI-dokument + DVI ஆவணங்களைப் படிப்பதற்கான ஆதரவை சேர்க்கும் + DVI belgelerini okuma desteği ekler + Додає підтримку читання документів DVI + Thêm hỗ trợ đọc tài liệu DVI + 增加对 DVI 文档的阅读支持 + 加入讀取 DVI 文件的支援 + + application/x-dvi + application/x-gzdvi + application/x-dzdvi + + https://okular.kde.org + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/generators/dvi/pageNumber.h b/generators/dvi/pageNumber.h new file mode 100644 index 0000000..1942fb8 --- /dev/null +++ b/generators/dvi/pageNumber.h @@ -0,0 +1,83 @@ +// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; c-brace-offset: 0; -*- +// +// pageNumber.h +// +// Part of KVIEWSHELL - A framework for multipage text/gfx viewers +// +// SPDX-FileCopyrightText: 2004 Stefan Kebekus +// SPDX-License-Identifier: GPL-2.0-or-later + +#ifndef PAGENUMBER_H +#define PAGENUMBER_H + +#include + +/** \brief Class to represent a page number + +The class PageNumber is really nothing but an alias for quint16, and +can be casted to and from quint16. It is used in kviewshell to remind +the programmer of the convention that page numbers start at '1' (for +'first page'), and that the value '0' means 'illegal page number' or +'no page number'. Accordingly, the value '0' is also named +PageNumber::invalidPage, and there is a trivial method isInvalid() +that checks if the page number is 0. + +@author Stefan Kebekus +@version 1.0 0 +*/ + +class PageNumber +{ +public: + enum pageNums { + invalidPage = 0 /*! Invalid page number */ + }; + + /** The default constructor sets the page number to 'invalidPage' */ + PageNumber() + { + pgNum = invalidPage; + } + + /** \brief Constructor that sets the page number + + @param num page number that is set initially + */ + explicit PageNumber(quint16 num) + { + pgNum = num; + } + + /** \brief this method implements typecasts from quint16 */ + PageNumber &operator=(const quint16 p) + { + pgNum = p; + return *this; + } + + /** \brief This method implements typecasts to quint16 */ + explicit operator quint16() const + { + return pgNum; + } + + bool operator>(const PageNumber other) const + { + return pgNum > other.pgNum; + } + + /** \brief Checks if the page number is invalid + + @returns true, if pgNum != invalidPage, i.e., does not equal 0 + */ + bool isValid() const + { + return (pgNum != invalidPage); + } + +private: + /** \brief Single number that represents the page number */ + quint16 pgNum; +}; + +#endif diff --git a/generators/dvi/pageSize.cpp b/generators/dvi/pageSize.cpp new file mode 100644 index 0000000..8e4f526 --- /dev/null +++ b/generators/dvi/pageSize.cpp @@ -0,0 +1,356 @@ +// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; c-brace-offset: 0; -*- +// pageSize.cpp +// +// Part of KVIEWSHELL - A framework for multipage text/gfx viewers +// +// SPDX-FileCopyrightText: 2002-2003 Stefan Kebekus +// SPDX-License-Identifier: GPL-2.0-or-later + +#include + +#include "debug_dvi.h" +#include "length.h" +#include "pageSize.h" + +#include + +#include +#include + +struct pageSizeItem { + const char *name; + float width; // in mm + float height; // in mm + const char *preferredUnit; +}; + +#define defaultMetricPaperSize 4 // Default paper size is "DIN A4" +#define defaultImperialPaperSize 8 // Default paper size is "US Letter" + +static const pageSizeItem staticList[] = { + {"DIN A0", 841.0f, 1189.0f, "mm"}, + {"DIN A1", 594.0f, 841.0f, "mm"}, + {"DIN A2", 420.0f, 594.0f, "mm"}, + {"DIN A3", 297.0f, 420.0f, "mm"}, + {"DIN A4", 210.0f, 297.0f, "mm"}, + {"DIN A5", 148.5f, 210.0f, "mm"}, + {"DIN B4", 250.0f, 353.0f, "mm"}, + {"DIN B5", 176.0f, 250.0f, "mm"}, + {"US Letter", 215.9f, 279.4f, "in"}, + {"US Legal", 215.9f, 355.6f, "in"}, + {nullptr, 0.0f, 0.0f, nullptr} // marks the end of the list. +}; + +pageSize::pageSize() +{ + currentSize = defaultPageSize(); + pageWidth.setLength_in_mm(staticList[currentSize].width); + pageHeight.setLength_in_mm(staticList[currentSize].height); +} + +pageSize::pageSize(const SimplePageSize &s) +{ + pageWidth = s.width(); + pageHeight = s.height(); + + rectifySizes(); + reconstructCurrentSize(); +} + +bool pageSize::setPageSize(const QString &name) +{ + // See if we can recognize the string + for (int i = 0; staticList[i].name != nullptr; i++) { + QString currentName = QString::fromLocal8Bit(staticList[i].name); + if (currentName == name) { + currentSize = i; + // Set page width/height accordingly + pageWidth.setLength_in_mm(staticList[currentSize].width); + pageHeight.setLength_in_mm(staticList[currentSize].height); + Q_EMIT sizeChanged(*this); + return true; + } + } + + // Check if the string contains 'x'. If yes, we assume it is of type + // "x". If yes, the first number is interpreted as + // the width in mm, the second as the height in mm + if (name.indexOf(QLatin1Char('x')) >= 0) { + bool wok, hok; + float pageWidth_tmp = name.section(QLatin1Char('x'), 0, 0).toFloat(&wok); + float pageHeight_tmp = name.section(QLatin1Char('x'), 1, 1).toFloat(&hok); + if (wok && hok) { + pageWidth.setLength_in_mm(pageWidth_tmp); + pageHeight.setLength_in_mm(pageHeight_tmp); + + rectifySizes(); + reconstructCurrentSize(); + Q_EMIT sizeChanged(*this); + return true; + } + } + + // Check if the string contains ','. If yes, we assume it is of type + // ",". The first number is supposed to + // be the width, the second the height. + if (name.indexOf(QLatin1Char(',')) >= 0) { + bool wok, hok; + float pageWidth_tmp = Length::convertToMM(name.section(QLatin1Char(','), 0, 0), &wok); + float pageHeight_tmp = Length::convertToMM(name.section(QLatin1Char(','), 1, 1), &hok); + if (wok && hok) { + pageWidth.setLength_in_mm(pageWidth_tmp); + pageHeight.setLength_in_mm(pageHeight_tmp); + + rectifySizes(); + reconstructCurrentSize(); + Q_EMIT sizeChanged(*this); + return true; + } + } + + // Last resource. Set the default, in case the string is + // unintelligible to us. + currentSize = defaultPageSize(); + pageWidth.setLength_in_mm(staticList[currentSize].width); + pageHeight.setLength_in_mm(staticList[currentSize].height); + qCCritical(OkularDviShellDebug) << "pageSize::setPageSize: could not parse '" << name << "'. Using " << staticList[currentSize].name << " as a default."; + Q_EMIT sizeChanged(*this); + return false; +} + +void pageSize::setPageSize(double width, double height) +{ + SimplePageSize oldPage = *this; + + pageWidth.setLength_in_mm(width); + pageHeight.setLength_in_mm(height); + + rectifySizes(); + reconstructCurrentSize(); + if (!isNearlyEqual(oldPage)) { + Q_EMIT sizeChanged(*this); + } +} + +void pageSize::setPageSize(const QString &width, const QString &_widthUnits, const QString &height, const QString &_heightUnits) +{ + SimplePageSize oldPage = *this; + + double w = width.toFloat(); + double h = height.toFloat(); + + QString widthUnits = _widthUnits; + if ((widthUnits != QLatin1String("cm")) && (widthUnits != QLatin1String("mm")) && (widthUnits != QLatin1String("in"))) { + qCCritical(OkularDviShellDebug) << "Unrecognized page width unit '" << widthUnits << "'. Assuming mm"; + widthUnits = QStringLiteral("mm"); + } + pageWidth.setLength_in_mm(w); + if (widthUnits == QLatin1String("cm")) { + pageWidth.setLength_in_cm(w); + } + if (widthUnits == QLatin1String("in")) { + pageWidth.setLength_in_inch(w); + } + + QString heightUnits = _heightUnits; + if ((heightUnits != QLatin1String("cm")) && (heightUnits != QLatin1String("mm")) && (heightUnits != QLatin1String("in"))) { + qCCritical(OkularDviShellDebug) << "Unrecognized page height unit '" << widthUnits << "'. Assuming mm"; + heightUnits = QStringLiteral("mm"); + } + pageHeight.setLength_in_mm(h); + if (heightUnits == QLatin1String("cm")) { + pageHeight.setLength_in_cm(h); + } + if (heightUnits == QLatin1String("in")) { + pageHeight.setLength_in_inch(h); + } + + rectifySizes(); + reconstructCurrentSize(); + if (!isNearlyEqual(oldPage)) { + Q_EMIT sizeChanged(*this); + } +} + +void pageSize::rectifySizes() +{ + // Now do some sanity checks to make sure that values are not + // outrageous. We allow values between 5cm and 50cm. + if (pageWidth.getLength_in_mm() < 50) { + pageWidth.setLength_in_mm(50.0); + } + if (pageWidth.getLength_in_mm() > 1200) { + pageWidth.setLength_in_mm(1200); + } + if (pageHeight.getLength_in_mm() < 50) { + pageHeight.setLength_in_mm(50); + } + if (pageHeight.getLength_in_mm() > 1200) { + pageHeight.setLength_in_mm(1200); + } + return; +} + +QString pageSize::preferredUnit() const +{ + if (currentSize >= 0) { + return QString::fromLocal8Bit(staticList[currentSize].preferredUnit); + } + + // User-defined size. Give a preferred unit depending on the locale. + if (QLocale::system().measurementSystem() == QLocale::MetricSystem) { + return QStringLiteral("mm"); + } else { + return QStringLiteral("in"); + } +} + +QString pageSize::widthString(const QString &unit) const +{ + QString answer = QStringLiteral("--"); + + if (unit == QLatin1String("cm")) { + answer.setNum(pageWidth.getLength_in_cm()); + } + if (unit == QLatin1String("mm")) { + answer.setNum(pageWidth.getLength_in_mm()); + } + if (unit == QLatin1String("in")) { + answer.setNum(pageWidth.getLength_in_inch()); + } + + return answer; +} + +QString pageSize::heightString(const QString &unit) const +{ + QString answer = QStringLiteral("--"); + + if (unit == QLatin1String("cm")) { + answer.setNum(pageHeight.getLength_in_cm()); + } + if (unit == QLatin1String("mm")) { + answer.setNum(pageHeight.getLength_in_mm()); + } + if (unit == QLatin1String("in")) { + answer.setNum(pageHeight.getLength_in_inch()); + } + + return answer; +} + +QStringList pageSize::pageSizeNames() +{ + QStringList names; + + for (int i = 0; staticList[i].name != nullptr; i++) { + names << QString::fromLocal8Bit(staticList[i].name); + } + + return names; +} + +QString pageSize::formatName() const +{ + if (currentSize >= 0) { + return QString::fromLocal8Bit(staticList[currentSize].name); + } else { + return QString(); + } +} + +int pageSize::getOrientation() const +{ + if (currentSize == -1) { + qCCritical(OkularDviShellDebug) << "pageSize::getOrientation: getOrientation called for page format that does not have a name."; + return 0; + } + + if (pageWidth.getLength_in_mm() == staticList[currentSize].width) { + return 0; + } else { + return 1; + } +} + +void pageSize::setOrientation(int orient) +{ + if (currentSize == -1) { + qCCritical(OkularDviShellDebug) << "pageSize::setOrientation: setOrientation called for page format that does not have a name."; + return; + } + + if (orient == 1) { + pageWidth.setLength_in_mm(staticList[currentSize].height); + pageHeight.setLength_in_mm(staticList[currentSize].width); + } else { + pageWidth.setLength_in_mm(staticList[currentSize].width); + pageHeight.setLength_in_mm(staticList[currentSize].height); + } + Q_EMIT sizeChanged(*this); +} + +QString pageSize::serialize() const +{ + if ((currentSize >= 0) && (fabs(staticList[currentSize].height - pageHeight.getLength_in_mm()) <= 0.5)) { + return QString::fromLocal8Bit(staticList[currentSize].name); + } else { + return i18n("%1 × %2", pageWidth.getLength_in_mm(), pageHeight.getLength_in_mm()); + } +} + +QString pageSize::description() const +{ + if (!isValid()) { + return QString(); + } + + QString size = QStringLiteral(" "); + if (formatNumber() == -1) { + if (QLocale::system().measurementSystem() == QLocale::MetricSystem) { + size += ki18n("%1 × %2 mm").subs(width().getLength_in_mm(), 0, 'f', 0).subs(height().getLength_in_mm(), 0, 'f', 0).toString(); + } else { + size += ki18n("%1 × %2 in").subs(width().getLength_in_inch(), 0, 'g', 2).subs(height().getLength_in_inch(), 0, 'g', 2).toString(); + } + } else { + size += formatName() + QLatin1Char('/'); + if (getOrientation() == 0) { + size += i18n("portrait"); + } else { + size += i18n("landscape"); + } + } + return size + QLatin1Char(' '); +} + +void pageSize::reconstructCurrentSize() +{ + for (int i = 0; staticList[i].name != nullptr; i++) { + if ((fabs(staticList[i].width - pageWidth.getLength_in_mm()) <= 2) && (fabs(staticList[i].height - pageHeight.getLength_in_mm()) <= 2)) { + currentSize = i; + pageWidth.setLength_in_mm(staticList[currentSize].width); + pageHeight.setLength_in_mm(staticList[currentSize].height); + return; + } + if ((fabs(staticList[i].height - pageWidth.getLength_in_mm()) <= 2) && (fabs(staticList[i].width - pageHeight.getLength_in_mm()) <= 2)) { + currentSize = i; + pageWidth.setLength_in_mm(staticList[currentSize].height); + pageHeight.setLength_in_mm(staticList[currentSize].width); + return; + } + } + currentSize = -1; + return; +} + +int pageSize::defaultPageSize() +{ + // FIXME: static_cast(KLocale::global()->pageSize()) + // is the proper solution here. Then you can determine the values + // without using your hardcoded table too! + if (QLocale::system().measurementSystem() == QLocale::MetricSystem) { + return defaultMetricPaperSize; + } else { + return defaultImperialPaperSize; + } +} diff --git a/generators/dvi/pageSize.h b/generators/dvi/pageSize.h new file mode 100644 index 0000000..234f32e --- /dev/null +++ b/generators/dvi/pageSize.h @@ -0,0 +1,279 @@ +// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; c-brace-offset: 0; -*- +// +// pageSize.h +// +// Part of KVIEWSHELL - A framework for multipage text/gfx viewers +// +// SPDX-FileCopyrightText: 2002-2005 Stefan Kebekus +// SPDX-License-Identifier: GPL-2.0-or-later + +#ifndef PAGESIZE_H +#define PAGESIZE_H + +#include "simplePageSize.h" + +#include + +class QString; + +/* \brief This class represents physical page sizes. + +The main difference to the SimplePageSize class are the following. + +- This class knows about standard page sizes and accepts page sizes in + various formats, e.g. as a string "DIN A4", or by specifying the + page width and height. Several units (inch, millimeters, + centimeters) are possible. + +- It is made sure that page width an height are always in a reasonable + range, which is currently set to 5cm .. 50cm + +- The default constructor provides a locale-depending default. + +@author Stefan Kebekus +@version 1.0.0 +*/ + +class pageSize : public QObject, public SimplePageSize +{ + Q_OBJECT + +public: + /** \brief Default constructor, initializes the pageSize with a + reasonable default + + The default chosen depends on the locale. At the moment, A4 size + is chosen for countries with metric measurement system, and US + letter otherwise. + */ + pageSize(); + + /** \brief Initializes the pageSize with a SimplePageSize. */ + explicit pageSize(const SimplePageSize &); + + pageSize(const pageSize &) = delete; + pageSize &operator=(const pageSize &) = delete; + + /** \brief List of standard pageSizes + + This method returns the names of standard pageSizes, + e.g. "A4". These can be used, e.g., by a QComboBox to let the user + choose known sizes. The returned list is also a list of all possible + return values of the formatName() method explained below. If you + call pageSizeNames() more than once, it is guaranteed that the + same list of strings will be returned. + + @returns QStringList that contains + */ + QStringList pageSizeNames(); + + /** \brief Set page size by name. + + Acceptable strings are + + (1) a name from the list returned by pageSizeNames(), such as "DIN + A4" + + (2) a string like "500x300", which describes a page of width 500mm + and height 300mm. + + (3) a string like "3in, 4 cm". A number of different units, + including "in", "mm" and "cm", and a few typographical units are + recognized + + If the name is not of these types, and error message is printed to + stderr using kError() and a default value, which depends on the + locale, is set. + + In any case, the values will be trimmed so as not to exceed the + minima/maxima of 5cm and 50cm, respectively. If the page size found + matches one of the standard sizes by an error of no more than 2mm, + the standard page size will be set. The signal sizeChanged() will + always be emitted. + + @param name string that represents the page size + + @returns 'True', if the parameter could be parsed, and 'false' + otherwise. + */ + bool setPageSize(const QString &name); + + /** \brief Set page size from width and height strings + + Sets the page size to "width" and "height", given in the associated + units. Currently, "mm", "cm" and "in" are supported. If a unit is + not recognized, "mm" is silently assumed, and error message is + printed to stderr using kError(). If the page size set matches one + of the standard sizes by an error of no more than 2mm, the standard + page size will be set. If width or height does not contain a + number, the result is an undefined value. However, it is guaranteed + in any case that both width and height are between the minimal and + maximal possible values, i.e. in the range 5..50 cm. If the newly + set value differs from the old value by more that 2mm for width or + height, the signal sizeChanged() will be emitted + + @param width string that represents the page width as a number, + e.g., " 300 " + + @param widthUnits units for the width string. Currently "mm", "cm" + and "in" are allowed. + + @param height string that represents the page height as a number, + e.g., " 300 " + + @param heightUnits units for the height string. Currently "mm", "cm" + and "in" are allowed. + */ + void setPageSize(const QString &width, const QString &widthUnits, const QString &height, const QString &heightUnits); + + /** \brief Set page size + + Sets the page size to "width" and "height", given in millimeter. If + the page size set matches one of the standard sizes by an error of + no more than 2mm, the standard page size will be set. Values are + trimmed so that both width and height are between the minimal and + maximal possible values, i.e. in the range 5..50 cm. If the newly + set value differs from the old value by more that 2mm for width or + height, the signal sizeChanged() will be emitted + + @param width_in_mm page width in mm + + @param height_in_mm page height in mm + */ + void setPageSize(double width_in_mm, double height_in_mm); + using SimplePageSize::setPageSize; + + /** \brief Preferred unit for the current page size + + @returns The name of the unit, one of "cm", "mm" or "in", which is + most commonly used with the current page format. For instance, + US Letter and US Legal are best given in inches, to avoid very + odd numbers. If the page format is unknown, returns a guess + based on the current locale. */ + QString preferredUnit() const; + + /** \brief Returns the page width as a string + + @param unit The unit in which the page width shall be returned. This + must be one of "cm", "mm" or "in". + + @returns a string containing a number, e.g. "3.1415", which gives the page + width in the given unit. If the unit is not recognized, the string "--" is returned. + */ + QString widthString(const QString &unit) const; + + /** \brief Returns the page height as a string + + @param unit The unit in height the page width shall be + returned. This must be one of "cm", "mm" or "in". + + @returns a string containing a number which gives the page height in + the given unit. If the unit is not recognized, the string "--" is + returned. + */ + QString heightString(const QString &unit) const; + + /** \brief Returns a name for the page size, if this is a standard + size + + @warning This method does not take care of orientation, e.g. it + will return "DIN A4" if the page size is either 210x297 or + 297x210. + + @returns A name for the current page size, if the format has a + name, or QString() otherwise. If the result is not + QString(), it is guaranteed to be one of the strings + returned by the pageSizeNames() method. + */ + QString formatName() const; + + /** \brief Returns an number for the page size, if this is a + standard size + + @warning This method does not take care of orientation, e.g. it + will return the same value if the page size is either 210x297 or + 297x210. + + @returns If the current format is one of the standard sizes, a + non-negative integer is returned, which is an index to the + QStringList returned by the pageSizeNames() method. If the + current format is none of the standard sizes, -1 is returned. + */ + int formatNumber() const + { + return currentSize; + } + + /** \brief Gets orientation for standard sizes + + If the pageSize is one of the standard sizes, i.e. formatNumber() != + -1, this method can be used to get the orientation. If the pageSize + is not a standard size, this method prints an error message stderr + using kError(). + + @returns 0 for 'portrait', or 1 for 'landscape'. If the size is none + of the standard sizes, an undefined value is returned. + */ + int getOrientation() const; + + /** \brief Returns a string that can be read by setPageSize(QString) + + @returns This method returns a string like "210x297". The numbers + are page width and height in millimeters. The setPageSize(QString) + method will understand this output. + */ + QString serialize() const; + + /** \brief Returns a textual description of the page size. */ + QString description() const; + +public Q_SLOTS: + /** \brief Sets orientation + + If the pageSize is one of the standard sizes, i.e. formatNumber() != + -1, this method can be used to set the orientation. If the pageSize + is not a standard size, this method prints an error message stderr + using kError() and does nothing. + + @param orient 0 sets 'portrait orientation', 1 sets 'landscape' + */ + void setOrientation(int orient); + +Q_SIGNALS: + /** \brief Signal emitted when the page sizes changes + + emitted to indicate that the size changed. Not emitted immediately + after construction, when the constructor sets the default + size. + + @param t a pointer to this + */ + void sizeChanged(const SimplePageSize &t); + +private: + /** Makes sure that pageWidth and pageHeight are in the permissible + range and not, e.g., negative. */ + void rectifySizes(); + + /** Tries to find one of the known sizes which matches pageWidth and + pageHeight, with an error margin of 2 millimeters. If found, the + value of 'currentsize' is set to point to the known size, and + pageWidth and pageHeight are set to the correct values for that + size. Otherwise, currentSize is set to -1 to indicate "custom + size". Note: this method does not take care of orientation, + e.g. the method will set 'currentsize' to point to "DIN A4" if + either the page size is 210x297 or 297x210. */ + void reconstructCurrentSize(); + + /** Gives a default value for currentSize, which depends on the + locale. In countries with metric system, this will be "DIN A4", + in countries with the imperial system, "US Letter". */ + int defaultPageSize(); + + /** Permissible range: 0--#Size_of_array staticList, or -1 to + indicate a "user defined setting". Other values may lead to a + segfault. */ + int currentSize; +}; + +#endif diff --git a/generators/dvi/prebookmark.h b/generators/dvi/prebookmark.h new file mode 100644 index 0000000..0a01f48 --- /dev/null +++ b/generators/dvi/prebookmark.h @@ -0,0 +1,42 @@ +// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; c-brace-offset: 0; -*- +/* + SPDX-FileCopyrightText: 2005 Stefan Kebekus + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _PREBOOKMARK_H_ +#define _PREBOOKMARK_H_ + +/*! \brief Bookmark representation + +This class presents a bookmark in a format that is used internally by +the DVI prescan routines. +*/ + +class PreBookmark +{ +public: + PreBookmark() + { + title.clear(); + anchorName.clear(); + noOfChildren = 0; + } + PreBookmark(const QString &t, const QString &a, quint16 n) + : title(t) + , anchorName(a) + , noOfChildren(n) + { + } + + // Title of the bookmark + QString title; + + // Name of the anchor + QString anchorName; + + // Number of subordinate bookmarks + quint16 noOfChildren; +}; + +#endif diff --git a/generators/dvi/psgs.cpp b/generators/dvi/psgs.cpp new file mode 100644 index 0000000..6c7411a --- /dev/null +++ b/generators/dvi/psgs.cpp @@ -0,0 +1,365 @@ +// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; c-brace-offset: 0; -*- +// +// ghostscript_interface +// +// Part of KDVI - A framework for multipage text/gfx viewers +// +// SPDX-FileCopyrightText: 2004 Stefan Kebekus +// SPDX-License-Identifier: GPL-2.0-or-later + +#include + +#include "debug_dvi.h" +#include "dviFile.h" +#include "pageNumber.h" +#include "psgs.h" +#include "psheader.cpp" + +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +// #define DEBUG_PSGS + +// extern char psheader[]; + +pageInfo::pageInfo(const QString &_PostScriptString) +{ + PostScriptString = new QString(_PostScriptString); + background = Qt::white; + permanentBackground = Qt::white; +} + +pageInfo::~pageInfo() +{ + if (PostScriptString != nullptr) { + delete PostScriptString; + } +} + +// ====================================================== + +ghostscript_interface::ghostscript_interface() +{ + PostScriptHeaderString = new QString(); + + knownDevices.append(QStringLiteral("png16m")); + knownDevices.append(QStringLiteral("jpeg")); + knownDevices.append(QStringLiteral("pnn")); + knownDevices.append(QStringLiteral("pnnraw")); + gsDevice = knownDevices.begin(); +} + +ghostscript_interface::~ghostscript_interface() +{ + if (PostScriptHeaderString != nullptr) { + delete PostScriptHeaderString; + } + qDeleteAll(pageList); +} + +void ghostscript_interface::setPostScript(const quint16 page, const QString &PostScript) +{ +#ifdef DEBUG_PSGS + qCDebug(OkularDviDebug) << "ghostscript_interface::setPostScript( " << page << ", ... )"; +#endif + + if (pageList.value(page) == nullptr) { + pageInfo *info = new pageInfo(PostScript); + // Check if dict is big enough + if (pageList.count() > pageList.capacity() - 2) { + pageList.reserve(pageList.capacity() * 2); + } + pageList.insert(page, info); + } else { + *(pageList.value(page)->PostScriptString) = PostScript; + } +} + +void ghostscript_interface::setIncludePath(const QString &_includePath) +{ + if (_includePath.isEmpty()) { + includePath = QLatin1Char('*'); // Allow all files + } else { + includePath = _includePath + QStringLiteral("/*"); + } +} + +void ghostscript_interface::setBackgroundColor(const quint16 page, const QColor &background_color, bool permanent) +{ +#ifdef DEBUG_PSGS + qCDebug(OkularDviDebug) << "ghostscript_interface::setBackgroundColor( " << page << ", " << background_color << " )"; +#endif + + if (pageList.value(page) == nullptr) { + pageInfo *info = new pageInfo(QString()); + info->background = background_color; + if (permanent) { + info->permanentBackground = background_color; + } + // Check if dict is big enough + if (pageList.count() > pageList.capacity() - 2) { + pageList.reserve(pageList.capacity() * 2); + } + pageList.insert(page, info); + } else { + pageList.value(page)->background = background_color; + if (permanent) { + pageList.value(page)->permanentBackground = background_color; + } + } +} + +void ghostscript_interface::restoreBackgroundColor(const quint16 page) +{ +#ifdef DEBUG_PSGS + qCDebug(OkularDviDebug) << "ghostscript_interface::restoreBackgroundColor( " << page << " )"; +#endif + if (pageList.value(page) == nullptr) { + return; + } + + pageInfo *info = pageList.value(page); + info->background = info->permanentBackground; +} + +// Returns the background color for a certain page. This color is +// always guaranteed to be valid + +QColor ghostscript_interface::getBackgroundColor(const quint16 page) const +{ +#ifdef DEBUG_PSGS + qCDebug(OkularDviDebug) << "ghostscript_interface::getBackgroundColor( " << page << " )"; +#endif + + if (pageList.value(page) == nullptr) { + return Qt::white; + } else { + return pageList.value(page)->background; + } +} + +void ghostscript_interface::clear() +{ + PostScriptHeaderString->truncate(0); + + // Deletes all items, removes temporary files, etc. + qDeleteAll(pageList); + pageList.clear(); +} + +void ghostscript_interface::gs_generate_graphics_file(const quint16 page, const QString &filename, long magnification) +{ +#ifdef DEBUG_PSGS + qCDebug(OkularDviDebug) << "ghostscript_interface::gs_generate_graphics_file( " << page << ", " << filename << " )"; +#endif + + if (knownDevices.isEmpty()) { + qCCritical(OkularDviDebug) << "No known devices found"; + return; + } + + // Make sure gs is in PATH and not just in the CWD + static const QString gsFullPath = QStandardPaths::findExecutable(QStringLiteral("gs")); + if (gsFullPath.isEmpty()) { + qCCritical(OkularDviDebug) << "gs is not in path"; + return; + } + + pageInfo *info = pageList.value(page); + + // Generate a PNG-file + // Step 1: Write the PostScriptString to a File + QTemporaryFile PSfile(QDir::tempPath() + QLatin1String("/okular_XXXXXX.ps")); + PSfile.setAutoRemove(false); + if (!PSfile.open()) { + qCCritical(OkularDviDebug) << "failed creating temp file"; + return; + } + const QString PSfileName = PSfile.fileName(); + + QTextStream os(&PSfile); + os << "%!PS-Adobe-2.0\n" + << "%%Creator: kdvi\n" + << "%%Title: KDVI temporary PostScript\n" + << "%%Pages: 1\n" + << "%%PageOrder: Ascend\n" + // HSize and VSize in 1/72 inch + << "%%BoundingBox: 0 0 " << (qint32)(72 * (pixel_page_w / resolution)) << ' ' << (qint32)(72 * (pixel_page_h / resolution)) << '\n' + << "%%EndComments\n" + << "%!\n" + << psheader + << "TeXDict begin " + // HSize in (1/(65781.76*72))inch + << (qint32)(72 * 65781 * (pixel_page_w / resolution)) + << ' ' + // VSize in (1/(65781.76*72))inch + << (qint32)(72 * 65781 * (pixel_page_h / resolution)) + << ' ' + // Magnification + << (qint32)(magnification) + // dpi and vdpi + << " 300 300" + // Name + << " (test.dvi)" + << " @start end\n" + << "TeXDict begin\n" + // Start page + << "1 0 bop 0 0 a \n"; + + if (!PostScriptHeaderString->toLatin1().isNull()) { + os << PostScriptHeaderString->toLatin1(); + } + + if (info->background != Qt::white) { + QString colorCommand = QStringLiteral("gsave %1 %2 %3 setrgbcolor clippath fill grestore\n").arg(info->background.red() / 255.0).arg(info->background.green() / 255.0).arg(info->background.blue() / 255.0); + os << colorCommand.toLatin1(); + } + + if (!info->PostScriptString->isNull()) { + os << *(info->PostScriptString); + } + + os << "end\n" + << "showpage \n"; + + PSfile.close(); + + // Step 2: Call GS with the File + QFile::remove(filename); + KProcess proc; + proc.setOutputChannelMode(KProcess::SeparateChannels); + QStringList argus; + argus << gsFullPath; + argus << QStringLiteral("-dSAFER") << QStringLiteral("-dPARANOIDSAFER") << QStringLiteral("-dDELAYSAFER") << QStringLiteral("-dNOPAUSE") << QStringLiteral("-dBATCH"); + argus << QStringLiteral("-sDEVICE=%1").arg(*gsDevice); + argus << QStringLiteral("-sOutputFile=%1").arg(filename); + argus << QStringLiteral("-sExtraIncludePath=%1").arg(includePath); + argus << QStringLiteral("-g%1x%2").arg(pixel_page_w).arg(pixel_page_h); // page size in pixels + argus << QStringLiteral("-r%1").arg(resolution); // resolution in dpi + argus << QStringLiteral("-dTextAlphaBits=4 -dGraphicsAlphaBits=2"); // Antialiasing + argus << QStringLiteral("-c") << QStringLiteral("<< /PermitFileReading [ ExtraIncludePath ] /PermitFileWriting [] /PermitFileControl [] >> setuserparams .locksafe"); + argus << QStringLiteral("-f") << PSfileName; + +#ifdef DEBUG_PSGS + qCDebug(OkularDviDebug) << argus.join(" "); +#endif + + proc << argus; + int res = proc.execute(); + + if (res) { + // Starting ghostscript did not work. + // TODO: Issue error message, switch PS support off. + qCCritical(OkularDviDebug) << "ghostview could not be started"; + } + + PSfile.remove(); + + // Check if gs has indeed produced a file. + if (QFile::exists(filename) == false) { + qCCritical(OkularDviDebug) << "GS did not produce output."; + + // No. Check is the reason is that the device is not compiled into + // ghostscript. If so, try again with another device. + proc.setReadChannel(QProcess::StandardOutput); + while (proc.canReadLine()) { + QString GSoutput = QString::fromLocal8Bit(proc.readLine()); + if (GSoutput.contains(QStringLiteral("Unknown device"))) { + qCDebug(OkularDviDebug) << QString::fromLatin1( + "The version of ghostview installed on this computer does not support " + "the '%1' ghostview device driver.") + .arg(*gsDevice); + knownDevices.erase(gsDevice); + gsDevice = knownDevices.begin(); + if (knownDevices.isEmpty()) { + // TODO: show a requestor of some sort. + Q_EMIT error(i18n("The version of Ghostview that is installed on this computer does not contain " + "any of the Ghostview device drivers that are known to Okular. PostScript " + "support has therefore been turned off in Okular."), + -1); + } else { + qCDebug(OkularDviDebug) << QStringLiteral("Okular will now try to use the '%1' device driver.").arg(*gsDevice); + gs_generate_graphics_file(page, filename, magnification); + } + return; + } + } + } +} + +void ghostscript_interface::graphics(const quint16 page, double dpi, long magnification, QPainter *paint) +{ +#ifdef DEBUG_PSGS + qCDebug(OkularDviDebug) << "ghostscript_interface::graphics( " << page << ", " << dpi << ", ... ) called."; +#endif + + if (paint == nullptr) { + qCCritical(OkularDviDebug) << "ghostscript_interface::graphics(PageNumber page, double dpi, long magnification, QPainter *paint) called with paint == 0"; + return; + } + + resolution = dpi; + + pixel_page_w = paint->viewport().width(); + pixel_page_h = paint->viewport().height(); + + pageInfo *info = pageList.value(page); + + // No PostScript? Then return immediately. + if ((info == nullptr) || (info->PostScriptString->isEmpty())) { +#ifdef DEBUG_PSGS + qCDebug(OkularDviDebug) << "No PostScript found. Not drawing anything."; +#endif + return; + } + + QTemporaryFile gfxFile; + if (!gfxFile.open()) { + return; + } + const QString gfxFileName = gfxFile.fileName(); + // We are want the filename, not the file. + gfxFile.close(); + + gs_generate_graphics_file(page, gfxFileName, magnification); + + QImage MemoryCopy(gfxFileName); + paint->drawImage(0, 0, MemoryCopy); + return; +} + +QString ghostscript_interface::locateEPSfile(const QString &filename, const QUrl &base) +{ + // If the base URL indicates that the DVI file is local, try to find + // the graphics file in the directory where the DVI file resides + if (base.isLocalFile()) { + QString path = base.path(); // -> "/bar/foo.dvi" + QFileInfo fi1(path); + QFileInfo fi2(fi1.dir(), filename); + if (fi2.exists()) { + return fi2.absoluteFilePath(); + } + } + + // Otherwise, use kpsewhich to find the eps file. + // Make sure kpsewhich is in PATH and not just in the CWD + static const QString fullPath = QStandardPaths::findExecutable(QStringLiteral("kpsewhich")); + if (fullPath.isEmpty()) { + return {}; + } + + KProcess proc; + proc << fullPath << filename; + proc.execute(); + return QString::fromLocal8Bit(proc.readLine().trimmed()); +} diff --git a/generators/dvi/psgs.h b/generators/dvi/psgs.h new file mode 100644 index 0000000..1635cf5 --- /dev/null +++ b/generators/dvi/psgs.h @@ -0,0 +1,110 @@ +// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; c-brace-offset: 0; -*- +// +// ghostscript_interface +// +// Part of KDVI - A framework for multipage text/gfx viewers +// +// SPDX-FileCopyrightText: 2004 Stefan Kebekus +// SPDX-License-Identifier: GPL-2.0-or-later + +#ifndef _PSGS_H_ +#define _PSGS_H_ + +#include +#include +#include +#include +#include + +class QUrl; +class PageNumber; +class QPainter; + +class pageInfo +{ +public: + explicit pageInfo(const QString &_PostScriptString); + ~pageInfo(); + + pageInfo(const pageInfo &) = delete; + pageInfo &operator=(const pageInfo &) = delete; + + QColor background; + QColor permanentBackground; + QString *PostScriptString; +}; + +class ghostscript_interface : public QObject +{ + Q_OBJECT + +public: + ghostscript_interface(); + ~ghostscript_interface() override; + + void clear(); + + // sets the PostScript which is used on a certain page + void setPostScript(const quint16 page, const QString &PostScript); + + // sets path from additional postscript files may be read + void setIncludePath(const QString &_includePath); + + // Sets the background color for a certain page. If permanent is false then the original + // background color can be restored by calling restoreBackground(page). + // The Option permanent = false is used when we want to display a different paper + // color as the one specified in the dvi file. + void setBackgroundColor(const quint16 page, const QColor &background_color, bool permanent = true); + + // Restore the background to the color which was specified by the last call to setBackgroundColor() + // With option permanent = true. + void restoreBackgroundColor(const quint16 page); + + // Draws the graphics of the page into the painter, if possible. If + // the page does not contain any graphics, nothing happens + void graphics(const quint16 page, double dpi, long magnification, QPainter *paint); + + // Returns the background color for a certain page. If no color was + // set, Qt::white is returned. + QColor getBackgroundColor(const quint16 page) const; + + QString *PostScriptHeaderString; + + /** This method tries to find the PostScript file 'filename' in the + DVI file's directory (if the base-URL indicates that the DVI file + is local), and, if that fails, uses kpsewhich to find the file. If + the file is found, the full path (including file name) is + returned. Otherwise, the method returns the first argument. TODO: + use the DVI file's baseURL, once this is implemented. + */ + static QString locateEPSfile(const QString &filename, const QUrl &base); + +private: + void gs_generate_graphics_file(const quint16 page, const QString &filename, long magnification); + QHash pageList; + + double resolution = 0; // in dots per inch + int pixel_page_w = 0; // in pixels + int pixel_page_h = 0; // in pixels + + QString includePath; + + // Output device that ghostscript is supposed tp use. Default is + // "png256". If that does not work, gs_generate_graphics_file will + // automatically try other known device drivers. If no known output + // device can be found, something is badly wrong. In that case, + // "gsDevice" is set to an empty string, and + // gs_generate_graphics_file will return immediately. + QList::iterator gsDevice; + + // A list of known devices, set by the constructor. This includes + // "png256", "pnm". If a device is found to not work, its name is + // removed from the list, and another device name is tried. + QStringList knownDevices; + +Q_SIGNALS: + /** Passed through to the top-level kpart. */ + void error(const QString &message, int duration); +}; + +#endif diff --git a/generators/dvi/psheader.cpp b/generators/dvi/psheader.cpp new file mode 100644 index 0000000..e91be89 --- /dev/null +++ b/generators/dvi/psheader.cpp @@ -0,0 +1,129 @@ +#ifndef _psheader_cpp_ +#define _psheader_cpp_ + +/* + * DO NOT EDIT THIS FILE! + * It was created by squeeze.c from another file (see the Makefile). + */ + +#ifndef _Xconst +#if __STDC__ +#define _Xconst const +#else +#define _Xconst +#endif +#endif + +_Xconst char psheader[] = + "\ +/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S\n\ +N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72\n\ +mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0\n\ +0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{\n\ +landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize\n\ +mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[\n\ +matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round\n\ +exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{\n\ +statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]\n\ +N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin\n\ +/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array\n\ +/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2\n\ +array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N\n\ +df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A\n\ +definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get\n\ +}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}\n\ +B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr\n\ +1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3\n\ +1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx\n\ +0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx\n\ +sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{\n\ +rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp\n\ +gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B\n\ +/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{\n\ +/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{\n\ +A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy\n\ +get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse}\n\ +ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp\n\ +fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17\n\ +{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add\n\ +chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{\n\ +1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop}\n\ +forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn\n\ +/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put\n\ +}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{\n\ +bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A\n\ +mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{\n\ +SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{\n\ +userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X\n\ +1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4\n\ +index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N\n\ +/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{\n\ +/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT)\n\ +(LaserWriter 16/600)]{A length product length le{A length product exch 0\n\ +exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse\n\ +end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask\n\ +grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot}\n\ +imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round\n\ +exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto\n\ +fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p\n\ +delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M}\n\ +B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{\n\ +p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S\n\ +rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end TeXDict\n\ +begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N /vs 792\n\ +N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N\n\ +/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N\n\ +/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{\n\ +/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho\n\ +X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B\n\ +/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{\n\ +/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known\n\ +{userdict/md get type/dicttype eq{userdict begin md length 10 add md\n\ +maxlength ge{/md md dup length 20 add dict copy def}if end md begin\n\ +/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S\n\ +atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{\n\ +itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll\n\ +transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll\n\ +curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf\n\ +pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}\n\ +if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1\n\ +-1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3\n\ +get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip\n\ +yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub\n\ +neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{\n\ +noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop\n\ +90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get\n\ +neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr\n\ +1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr\n\ +2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4\n\ +-1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S\n\ +TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{\n\ +Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale\n\ +}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState\n\ +save N userdict maxlength dict begin/magscale true def normalscale\n\ +currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts\n\ +/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x\n\ +psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx\n\ +psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub\n\ +TR/showpage{}N/erasepage{}N/copypage{}N/p 3 def @MacSetUp}N/doclip{\n\ +psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2\n\ +roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath\n\ +moveto}N/endTexFig{end psf$SavedState restore}N/@beginspecial{SDict\n\ +begin/SpecialSave save N gsave normalscale currentpoint TR\n\ +@SpecialDefaults count/ocount X/dcount countdictstack N}N/@setspecial{\n\ +CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto\n\ +closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx\n\ +sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR\n\ +}{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse\n\ +CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury\n\ +lineto closepath clip}if/showpage{}N/erasepage{}N/copypage{}N newpath}N\n\ +/@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{end}\n\ +repeat grestore SpecialSave restore end}N/@defspecial{SDict begin}N\n\ +/@fedspecial{end}B/li{lineto}B/rl{rlineto}B/rc{rcurveto}B/np{/SaveX\n\ +currentpoint/SaveY X N 1 setlinecap newpath}N/st{stroke SaveX SaveY\n\ +moveto}N/fil{fill SaveX SaveY moveto}N/ellipse{/endangle X/startangle X\n\ +/yrad X/xrad X/savematrix matrix currentmatrix N TR xrad yrad scale 0 0\n\ +1 startangle endangle arc savematrix setmatrix}N end\n"; + +// int psheaderlen = 7620; +#endif diff --git a/generators/dvi/simplePageSize.cpp b/generators/dvi/simplePageSize.cpp new file mode 100644 index 0000000..b4362e7 --- /dev/null +++ b/generators/dvi/simplePageSize.cpp @@ -0,0 +1,48 @@ +// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; c-brace-offset: 0; -*- +// SimplePageSize.cpp +// +// Part of KVIEWSHELL - A framework for multipage text/gfx viewers +// +// SPDX-FileCopyrightText: 2002-2005 Stefan Kebekus +// SPDX-License-Identifier: GPL-2.0-or-later + +#include + +#include "debug_dvi.h" +#include "simplePageSize.h" + +#include +#include + +double SimplePageSize::zoomForHeight(quint32 height, const QPaintDevice &pd) const +{ + if (!isValid()) { + qCCritical(OkularDviShellDebug) << "SimplePageSize::zoomForHeight() called when paper height was invalid"; + return 0.1; + } + + return double(height) / (pd.logicalDpiY() * pageHeight.getLength_in_inch()); +} + +double SimplePageSize::zoomForWidth(quint32 width, const QPaintDevice &pd) const +{ + if (!isValid()) { + qCCritical(OkularDviShellDebug) << "SimplePageSize::zoomForWidth() called when paper width was invalid"; + return 0.1; + } + + return double(width) / (pd.logicalDpiX() * pageWidth.getLength_in_inch()); +} + +double SimplePageSize::zoomToFitInto(const SimplePageSize &target) const +{ + if (!isValid() || isSmall() || !target.isValid()) { + qCWarning(OkularDviShellDebug) << "SimplePageSize::zoomToFitInto(...) with unsuitable source of target"; + return 1.0; + } + + double z1 = target.width() / pageWidth; + double z2 = target.height() / pageHeight; + + return qMin(z1, z2); +} diff --git a/generators/dvi/simplePageSize.h b/generators/dvi/simplePageSize.h new file mode 100644 index 0000000..803417a --- /dev/null +++ b/generators/dvi/simplePageSize.h @@ -0,0 +1,202 @@ +// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; c-brace-offset: 0; -*- +// +// simplePageSize.h +// +// Part of KVIEWSHELL - A framework for multipage text/gfx viewers +// +// SPDX-FileCopyrightText: 2002-2004 Stefan Kebekus +// SPDX-License-Identifier: GPL-2.0-or-later + +#ifndef SIMPLEPAGESIZE_H +#define SIMPLEPAGESIZE_H + +#include "length.h" + +#include + +class QPaintDevice; + +/** \brief This class represents physical page sizes. + +This class represents page sizes. It contains nothing but two numbers, +the page width, and page height, and a few utility functions that +convert page sizes to pixel sizes and to compute the aspect ratio. A +page with width<=1mm or height<=1mm is considered invalid. pageSize is +a more elaborate class that is derived from SimplePageSize and knows +about standard paper sizes. + +@author Stefan Kebekus +@version 1.0 0 +*/ + +class SimplePageSize +{ +public: + /** Constructs an invalid SimplePageSize, with size 0x0mm */ + SimplePageSize() + { + pageWidth.setLength_in_mm(0.0); + pageHeight.setLength_in_mm(0.0); + } + + /** Constructs a SimplePagesize with given page width and height in + mm. Recall that if width or height is less or equal than 1mm, + the page size is considered 'invalid' by the isValid() + method. + + @param width + @param height + */ + SimplePageSize(const Length width, const Length height) + : pageWidth(width) + , pageHeight(height) + { + } + + ~SimplePageSize() + { + } + + /** \brief Sets the page width and height + + If width or height is less or equal than 1mm, the page size is + considered 'invalid' by the isValid() method. + + @param width + @param height + */ + void setPageSize(const Length width, const Length height) + { + pageWidth = width; + pageHeight = height; + } + + /** \brief Returns the page width. */ + Length width() const + { + return pageWidth; + } + + /** \brief Returns the page height. */ + Length height() const + { + return pageHeight; + } + + /** \brief Aspect ratio + + @returns if the paper size is valid, this method returns the ratio + width/height. Returns 1.0 otherwise. */ + double aspectRatio() const + { + return isValid() ? (pageWidth / pageHeight) : 1.0; + } + + /** \brief Converts the physical page size to a pixel size + + @param resolution in dots per inch + + @returns the pixel size, represented by a QSize. If the page size is + invalid, the result is undefined. */ + QSize sizeInPixel(double resolution) const + { + return QSize((int)(resolution * pageWidth.getLength_in_inch() + 0.5), (int)(resolution * pageHeight.getLength_in_inch() + 0.5)); + } + + /** \brief Zoom value required to scale to a certain height + + If the pageSize is valid, this method returns the zoom value + required to scale the page size down to 'height' pixels on the + currently used display. If the pageSize is invalid, + an error message is printed, and an undefined value is returned. + + @param height target height in pixels + @param pd the widget to be printed on. + + @returns the zoom value required to scale the page size down to + 'height' pixels. If the pageSize is invalid, an undefined value is + returned. + */ + double zoomForHeight(quint32 height, const QPaintDevice &pd) const; + + /** \brief Zoom value required to scale to a certain height + + If the pageSize is valid, this method returns the zoom value + required to scale the page size down to 'width' pixels on the + currently used display. If the pageSize is invalid, + an error message is printed, and an undefined value is returned. + + @param width target width in pixels + @param pd the widget to be printed on. + + @returns the zoom value required to scale the page size down to + 'width' pixels. If the pageSize is invalid, an undefined value is + returned. + */ + double zoomForWidth(quint32 width, const QPaintDevice &pd) const; + + /** \brief Returns a zoom to fit into a certain page size + + This method computes the largest zoom value such that *this, zoomed + by the computed values fits into the page size 'target'. If *this or + if target are invalid, or is this->isSmall() is true, an undefined + value is returned. If height or width of this is nearly 0.0, a + floating point exception may occur. + */ + double zoomToFitInto(const SimplePageSize &target) const; + + /** \brief Validity check + + @returns 'True' if the page width and height are both larger than + 1mm */ + bool isValid() const + { + return ((pageWidth.getLength_in_mm() > 1.0) && (pageHeight.getLength_in_mm() > 1.0)); + } + + /** \brief Validity check: + + @returns 'True' if the page ares is less than 1.0 square mm + */ + bool isSmall() const + { + return (pageWidth.getLength_in_mm() * pageHeight.getLength_in_mm() < 1.0); + } + + /** \brief Approximate equality + + @param size pageSize object to compare this object with + + @returns 'True' if height and width of the two objects differ by at + most 2mm, 'false' otherwise + */ + bool isNearlyEqual(const SimplePageSize &size) const + { + return (pageWidth.isNearlyEqual(size.pageWidth) && pageHeight.isNearlyEqual(size.pageHeight)); + } + + /** Test if paper size is higher than wide + + @returns 'True' if the paper size is higher than wide + */ + bool isPortrait() const + { + return (pageHeight >= pageWidth); + } + + /** Rotates by 90 degrees + + @returns a SimplePageSize with height and width swapped. The + original instance is unchanged. + */ + SimplePageSize rotate90() const + { + return SimplePageSize(pageHeight, pageWidth); + } + +protected: + Length pageWidth; + Length pageHeight; +}; + +#endif diff --git a/generators/dvi/special.cpp b/generators/dvi/special.cpp new file mode 100644 index 0000000..483a058 --- /dev/null +++ b/generators/dvi/special.cpp @@ -0,0 +1,716 @@ +// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; c-brace-offset: 0; -*- + +// special.cpp + +// Methods for dviRenderer which deal with "\special" commands found in the +// DVI file + +// Copyright 2000--2004, Stefan Kebekus (kebekus@kde.org). + +#include + +#include "debug_dvi.h" +#include "dviFile.h" +#include "dviRenderer.h" +#include "hyperlink.h" +#include "psgs.h" +// #include "renderedDocumentPage.h" + +#include +#include +#include + +#include "debug_dvi.h" +#include +#include +#include +#include +#include + +void dviRenderer::printErrorMsgForSpecials(const QString &msg) +{ + if (dviFile->errorCounter < 25) { + qCCritical(OkularDviDebug) << msg; + dviFile->errorCounter++; + if (dviFile->errorCounter == 25) { + qCCritical(OkularDviDebug) << i18n("That makes 25 errors. Further error messages will not be printed."); + } + } +} + +// Parses a color specification, as explained in the manual to +// dvips. If the spec could not be parsed, an invalid color will be +// returned. + +QColor dviRenderer::parseColorSpecification(const QString &colorSpec) +{ + // Initialize the map of known colors, if that is not done yet. + if (namedColors.isEmpty()) { + namedColors[QStringLiteral("Red")] = QColor((int)(255.0 * 1), (int)(255.0 * 0), (int)(255.0 * 0)); + namedColors[QStringLiteral("Tan")] = QColor((int)(255.0 * 0.86), (int)(255.0 * 0.58), (int)(255.0 * 0.44)); + namedColors[QStringLiteral("Blue")] = QColor((int)(255.0 * 0), (int)(255.0 * 0), (int)(255.0 * 1)); + namedColors[QStringLiteral("Cyan")] = QColor((int)(255.0 * 0), (int)(255.0 * 1), (int)(255.0 * 1)); + namedColors[QStringLiteral("Gray")] = QColor((int)(255.0 * 0.5), (int)(255.0 * 0.5), (int)(255.0 * 0.5)); + namedColors[QStringLiteral("Plum")] = QColor((int)(255.0 * 0.5), (int)(255.0 * 0), (int)(255.0 * 1)); + namedColors[QStringLiteral("Black")] = QColor((int)(255.0 * 0), (int)(255.0 * 0), (int)(255.0 * 0)); + namedColors[QStringLiteral("Brown")] = QColor((int)(255.0 * 0.4), (int)(255.0 * 0), (int)(255.0 * 0)); + namedColors[QStringLiteral("Green")] = QColor((int)(255.0 * 0), (int)(255.0 * 1), (int)(255.0 * 0)); + namedColors[QStringLiteral("Melon")] = QColor((int)(255.0 * 1), (int)(255.0 * 0.54), (int)(255.0 * 0.5)); + namedColors[QStringLiteral("Peach")] = QColor((int)(255.0 * 1), (int)(255.0 * 0.5), (int)(255.0 * 0.3)); + namedColors[QStringLiteral("Sepia")] = QColor((int)(255.0 * 0.3), (int)(255.0 * 0), (int)(255.0 * 0)); + namedColors[QStringLiteral("White")] = QColor((int)(255.0 * 1), (int)(255.0 * 1), (int)(255.0 * 1)); + namedColors[QStringLiteral("Maroon")] = QColor((int)(255.0 * 0.68), (int)(255.0 * 0), (int)(255.0 * 0)); + namedColors[QStringLiteral("Orange")] = QColor((int)(255.0 * 1), (int)(255.0 * 0.39), (int)(255.0 * 0.13)); + namedColors[QStringLiteral("Orchid")] = QColor((int)(255.0 * 0.68), (int)(255.0 * 0.36), (int)(255.0 * 1)); + namedColors[QStringLiteral("Purple")] = QColor((int)(255.0 * 0.55), (int)(255.0 * 0.14), (int)(255.0 * 1)); + namedColors[QStringLiteral("Salmon")] = QColor((int)(255.0 * 1), (int)(255.0 * 0.47), (int)(255.0 * 0.62)); + namedColors[QStringLiteral("Violet")] = QColor((int)(255.0 * 0.21), (int)(255.0 * 0.12), (int)(255.0 * 1)); + namedColors[QStringLiteral("Yellow")] = QColor((int)(255.0 * 1), (int)(255.0 * 1), (int)(255.0 * 0)); + namedColors[QStringLiteral("Apricot")] = QColor((int)(255.0 * 1), (int)(255.0 * 0.68), (int)(255.0 * 0.48)); + namedColors[QStringLiteral("Emerald")] = QColor((int)(255.0 * 0), (int)(255.0 * 1), (int)(255.0 * 0.5)); + namedColors[QStringLiteral("Fuchsia")] = QColor((int)(255.0 * 0.45), (int)(255.0 * 0.01), (int)(255.0 * 0.92)); + namedColors[QStringLiteral("Magenta")] = QColor((int)(255.0 * 1), (int)(255.0 * 0), (int)(255.0 * 1)); + namedColors[QStringLiteral("SkyBlue")] = QColor((int)(255.0 * 0.38), (int)(255.0 * 1), (int)(255.0 * 0.88)); + namedColors[QStringLiteral("Thistle")] = QColor((int)(255.0 * 0.88), (int)(255.0 * 0.41), (int)(255.0 * 1)); + namedColors[QStringLiteral("BrickRed")] = QColor((int)(255.0 * 0.72), (int)(255.0 * 0), (int)(255.0 * 0)); + namedColors[QStringLiteral("Cerulean")] = QColor((int)(255.0 * 0.06), (int)(255.0 * 0.89), (int)(255.0 * 1)); + namedColors[QStringLiteral("Lavender")] = QColor((int)(255.0 * 1), (int)(255.0 * 0.52), (int)(255.0 * 1)); + namedColors[QStringLiteral("Mahogany")] = QColor((int)(255.0 * 0.65), (int)(255.0 * 0), (int)(255.0 * 0)); + namedColors[QStringLiteral("Mulberry")] = QColor((int)(255.0 * 0.64), (int)(255.0 * 0.08), (int)(255.0 * 0.98)); + namedColors[QStringLiteral("NavyBlue")] = QColor((int)(255.0 * 0.06), (int)(255.0 * 0.46), (int)(255.0 * 1)); + namedColors[QStringLiteral("SeaGreen")] = QColor((int)(255.0 * 0.31), (int)(255.0 * 1), (int)(255.0 * 0.5)); + namedColors[QStringLiteral("TealBlue")] = QColor((int)(255.0 * 0.12), (int)(255.0 * 0.98), (int)(255.0 * 0.64)); + namedColors[QStringLiteral("BlueGreen")] = QColor((int)(255.0 * 0.15), (int)(255.0 * 1), (int)(255.0 * 0.67)); + namedColors[QStringLiteral("CadetBlue")] = QColor((int)(255.0 * 0.38), (int)(255.0 * 0.43), (int)(255.0 * 0.77)); + namedColors[QStringLiteral("Dandelion")] = QColor((int)(255.0 * 1), (int)(255.0 * 0.71), (int)(255.0 * 0.16)); + namedColors[QStringLiteral("Goldenrod")] = QColor((int)(255.0 * 1), (int)(255.0 * 0.9), (int)(255.0 * 0.16)); + namedColors[QStringLiteral("LimeGreen")] = QColor((int)(255.0 * 0.5), (int)(255.0 * 1), (int)(255.0 * 0)); + namedColors[QStringLiteral("OrangeRed")] = QColor((int)(255.0 * 1), (int)(255.0 * 0), (int)(255.0 * 0.5)); + namedColors[QStringLiteral("PineGreen")] = QColor((int)(255.0 * 0), (int)(255.0 * 0.75), (int)(255.0 * 0.16)); + namedColors[QStringLiteral("RawSienna")] = QColor((int)(255.0 * 0.55), (int)(255.0 * 0), (int)(255.0 * 0)); + namedColors[QStringLiteral("RedOrange")] = QColor((int)(255.0 * 1), (int)(255.0 * 0.23), (int)(255.0 * 0.13)); + namedColors[QStringLiteral("RedViolet")] = QColor((int)(255.0 * 0.59), (int)(255.0 * 0), (int)(255.0 * 0.66)); + namedColors[QStringLiteral("Rhodamine")] = QColor((int)(255.0 * 1), (int)(255.0 * 0.18), (int)(255.0 * 1)); + namedColors[QStringLiteral("RoyalBlue")] = QColor((int)(255.0 * 0), (int)(255.0 * 0.5), (int)(255.0 * 1)); + namedColors[QStringLiteral("RubineRed")] = QColor((int)(255.0 * 1), (int)(255.0 * 0), (int)(255.0 * 0.87)); + namedColors[QStringLiteral("Turquoise")] = QColor((int)(255.0 * 0.15), (int)(255.0 * 1), (int)(255.0 * 0.8)); + namedColors[QStringLiteral("VioletRed")] = QColor((int)(255.0 * 1), (int)(255.0 * 0.19), (int)(255.0 * 1)); + namedColors[QStringLiteral("Aquamarine")] = QColor((int)(255.0 * 0.18), (int)(255.0 * 1), (int)(255.0 * 0.7)); + namedColors[QStringLiteral("BlueViolet")] = QColor((int)(255.0 * 0.1), (int)(255.0 * 0.05), (int)(255.0 * 0.96)); + namedColors[QStringLiteral("DarkOrchid")] = QColor((int)(255.0 * 0.6), (int)(255.0 * 0.2), (int)(255.0 * 0.8)); + namedColors[QStringLiteral("OliveGreen")] = QColor((int)(255.0 * 0), (int)(255.0 * 0.6), (int)(255.0 * 0)); + namedColors[QStringLiteral("Periwinkle")] = QColor((int)(255.0 * 0.43), (int)(255.0 * 0.45), (int)(255.0 * 1)); + namedColors[QStringLiteral("Bittersweet")] = QColor((int)(255.0 * 0.76), (int)(255.0 * 0.01), (int)(255.0 * 0)); + namedColors[QStringLiteral("BurntOrange")] = QColor((int)(255.0 * 1), (int)(255.0 * 0.49), (int)(255.0 * 0)); + namedColors[QStringLiteral("ForestGreen")] = QColor((int)(255.0 * 0), (int)(255.0 * 0.88), (int)(255.0 * 0)); + namedColors[QStringLiteral("GreenYellow")] = QColor((int)(255.0 * 0.85), (int)(255.0 * 1), (int)(255.0 * 0.31)); + namedColors[QStringLiteral("JungleGreen")] = QColor((int)(255.0 * 0.01), (int)(255.0 * 1), (int)(255.0 * 0.48)); + namedColors[QStringLiteral("ProcessBlue")] = QColor((int)(255.0 * 0.04), (int)(255.0 * 1), (int)(255.0 * 1)); + namedColors[QStringLiteral("RoyalPurple")] = QColor((int)(255.0 * 0.25), (int)(255.0 * 0.1), (int)(255.0 * 1)); + namedColors[QStringLiteral("SpringGreen")] = QColor((int)(255.0 * 0.74), (int)(255.0 * 1), (int)(255.0 * 0.24)); + namedColors[QStringLiteral("YellowGreen")] = QColor((int)(255.0 * 0.56), (int)(255.0 * 1), (int)(255.0 * 0.26)); + namedColors[QStringLiteral("MidnightBlue")] = QColor((int)(255.0 * 0), (int)(255.0 * 0.44), (int)(255.0 * 0.57)); + namedColors[QStringLiteral("YellowOrange")] = QColor((int)(255.0 * 1), (int)(255.0 * 0.58), (int)(255.0 * 0)); + namedColors[QStringLiteral("CarnationPink")] = QColor((int)(255.0 * 1), (int)(255.0 * 0.37), (int)(255.0 * 1)); + namedColors[QStringLiteral("CornflowerBlue")] = QColor((int)(255.0 * 0.35), (int)(255.0 * 0.87), (int)(255.0 * 1)); + namedColors[QStringLiteral("WildStrawberry")] = QColor((int)(255.0 * 1), (int)(255.0 * 0.04), (int)(255.0 * 0.61)); + } + + QString specType = colorSpec.section(QLatin1Char(' '), 0, 0); + + if (specType.indexOf(QStringLiteral("rgb"), 0, Qt::CaseInsensitive) == 0) { + bool ok; + + double r = colorSpec.section(QLatin1Char(' '), 1, 1).toDouble(&ok); + if ((ok == false) || (r < 0.0) || (r > 1.0)) { + return QColor(); + } + + double g = colorSpec.section(QLatin1Char(' '), 2, 2).toDouble(&ok); + if ((ok == false) || (g < 0.0) || (g > 1.0)) { + return QColor(); + } + + double b = colorSpec.section(QLatin1Char(' '), 3, 3).toDouble(&ok); + if ((ok == false) || (b < 0.0) || (b > 1.0)) { + return QColor(); + } + + return QColor((int)(r * 255.0 + 0.5), (int)(g * 255.0 + 0.5), (int)(b * 255.0 + 0.5)); + } + + if (specType.indexOf(QStringLiteral("hsb"), 0, Qt::CaseInsensitive) == 0) { + bool ok; + + double h = colorSpec.section(QLatin1Char(' '), 1, 1).toDouble(&ok); + if ((ok == false) || (h < 0.0) || (h > 1.0)) { + return QColor(); + } + + double s = colorSpec.section(QLatin1Char(' '), 2, 2).toDouble(&ok); + if ((ok == false) || (s < 0.0) || (s > 1.0)) { + return QColor(); + } + + double b = colorSpec.section(QLatin1Char(' '), 3, 3).toDouble(&ok); + if ((ok == false) || (b < 0.0) || (b > 1.0)) { + return QColor(); + } + + return QColor::fromHsv((int)(h * 359.0 + 0.5), (int)(s * 255.0 + 0.5), (int)(b * 255.0 + 0.5)); + } + + if (specType.indexOf(QStringLiteral("cmyk"), 0, Qt::CaseInsensitive) == 0) { + bool ok; + + double c = colorSpec.section(QLatin1Char(' '), 1, 1).toDouble(&ok); + if ((ok == false) || (c < 0.0) || (c > 1.0)) { + return QColor(); + } + + double m = colorSpec.section(QLatin1Char(' '), 2, 2).toDouble(&ok); + if ((ok == false) || (m < 0.0) || (m > 1.0)) { + return QColor(); + } + + double y = colorSpec.section(QLatin1Char(' '), 3, 3).toDouble(&ok); + if ((ok == false) || (y < 0.0) || (y > 1.0)) { + return QColor(); + } + + double k = colorSpec.section(QLatin1Char(' '), 3, 3).toDouble(&ok); + if ((ok == false) || (k < 0.0) || (k > 1.0)) { + return QColor(); + } + + // Convert cmyk coordinates to rgb. + double r = 1.0 - c - k; + if (r < 0.0) { + r = 0.0; + } + double g = 1.0 - m - k; + if (g < 0.0) { + g = 0.0; + } + double b = 1.0 - y - k; + if (b < 0.0) { + b = 0.0; + } + + return QColor((int)(r * 255.0 + 0.5), (int)(g * 255.0 + 0.5), (int)(b * 255.0 + 0.5)); + } + + if (specType.indexOf(QStringLiteral("gray"), 0, Qt::CaseInsensitive) == 0) { + bool ok; + + double g = colorSpec.section(QLatin1Char(' '), 1, 1).toDouble(&ok); + if ((ok == false) || (g < 0.0) || (g > 1.0)) { + return QColor(); + } + + return QColor((int)(g * 255.0 + 0.5), (int)(g * 255.0 + 0.5), (int)(g * 255.0 + 0.5)); + } + + // Check if the color is one of the known named colors. + QMap::Iterator f = namedColors.find(specType); + if (f != namedColors.end()) { + return *f; + } + + return QColor(specType); +} + +void dviRenderer::color_special(const QString &msg) +{ + QString const cp = msg.trimmed(); + + QString command = cp.section(QLatin1Char(' '), 0, 0); + + if (command == QLatin1String("pop")) { + // Take color off the stack + if (colorStack.isEmpty()) { + printErrorMsgForSpecials(i18n("Error in DVIfile '%1', page %2. Color pop command issued when the color stack is empty.", dviFile->filename, current_page)); + } else { + colorStack.pop(); + } + return; + } + + if (command == QLatin1String("push")) { + // Get color specification + const QColor col = parseColorSpecification(cp.section(QLatin1Char(' '), 1)); + // Set color + if (col.isValid()) { + colorStack.push(col); + } else { + colorStack.push(Qt::black); + } + return; + } + + // Get color specification and set the color for the rest of this + // page + QColor col = parseColorSpecification(cp); + // Set color + if (col.isValid()) { + globalColor = col; + } else { + globalColor = Qt::black; + } + return; +} + +void dviRenderer::html_href_special(const QString &msg) +{ + QString cp = msg; + cp.truncate(cp.indexOf(QLatin1Char('"'))); + +#ifdef DEBUG_SPECIAL + qCDebug(OkularDviDebug) << "HTML-special, href " << cp.toLatin1(); +#endif + HTML_href = new QString(cp); +} + +void dviRenderer::html_anchor_end() +{ +#ifdef DEBUG_SPECIAL + qCDebug(OkularDviDebug) << "HTML-special, anchor-end"; +#endif + + if (HTML_href != nullptr) { + delete HTML_href; + HTML_href = nullptr; + } +} + +void dviRenderer::source_special(const QString &cp) +{ + // only when rendering really takes place: set source_href to the + // current special string. When characters are rendered, the + // rendering routine will then generate a DVI_HyperLink and add it + // to the proper list. This DVI_HyperLink is used to match mouse + // positions with the hyperlinks for inverse search. + if (source_href) { + *source_href = cp; + } else { + source_href = new QString(cp); + } +} + +void parse_special_argument(const QString &strg, const char *argument_name, int *variable) +{ + int index = strg.indexOf(QString::fromLocal8Bit(argument_name)); + if (index >= 0) { + QString tmp = strg.mid(index + strlen(argument_name)); + index = tmp.indexOf(QLatin1Char(' ')); + if (index >= 0) { + tmp.truncate(index); + } + + bool OK; + float const tmp_float = tmp.toFloat(&OK); + + if (OK) { + *variable = int(tmp_float + 0.5); + } else { + // Maybe we should open a dialog here. + qCCritical(OkularDviDebug) << i18n( + "Malformed parameter in the epsf special command.\n" + "Expected a float to follow %1 in %2", + QString::fromLocal8Bit(argument_name), + strg); + } + } +} + +void dviRenderer::epsf_special(const QString &cp) +{ +#ifdef DEBUG_SPECIAL + qCDebug(OkularDviDebug) << "epsf-special: psfile=" << cp; +#endif + + QString include_command = cp.simplified(); + + // The line is supposed to start with "..ile=", and then comes the + // filename. Figure out what the filename is and stow it away. Of + // course, this does not work if the filename contains spaces + // (already the simplified() above is wrong). If you have + // files like this, go away. + QString EPSfilename_orig = include_command; + EPSfilename_orig.truncate(EPSfilename_orig.indexOf(QLatin1Char(' '))); + + // Strip enclosing quotation marks which are included by some LaTeX + // macro packages (but not by others). This probably means that + // graphic files are no longer found if the filename really does + // contain quotes, but we don't really care that much. + if ((EPSfilename_orig.at(0) == QLatin1Char('\"')) && (EPSfilename_orig.at(EPSfilename_orig.length() - 1) == QLatin1Char('\"'))) { + EPSfilename_orig = EPSfilename_orig.mid(1, EPSfilename_orig.length() - 2); + } + QString EPSfilename = ghostscript_interface::locateEPSfile(EPSfilename_orig, baseURL); + + // Now parse the arguments. + int llx = 0; + int lly = 0; + int urx = 0; + int ury = 0; + int rwi = 0; + int rhi = 0; + int angle = 0; + + // just to avoid ambiguities; the filename could contain keywords + include_command = include_command.mid(include_command.indexOf(QLatin1Char(' '))); + + parse_special_argument(include_command, "llx=", &llx); + parse_special_argument(include_command, "lly=", &lly); + parse_special_argument(include_command, "urx=", &urx); + parse_special_argument(include_command, "ury=", &ury); + parse_special_argument(include_command, "rwi=", &rwi); + parse_special_argument(include_command, "rhi=", &rhi); + parse_special_argument(include_command, "angle=", &angle); + + // If we have a png, gif, jpeg or mng file, we need to draw it here. + QMimeDatabase db; + QMimeType const mime_type = db.mimeTypeForFile(EPSfilename, QMimeDatabase::MatchContent); + QString const &mime_type_name = mime_type.isValid() ? mime_type.name() : QString(); + bool const isGFX = (mime_type_name == QLatin1String("image/png") || mime_type_name == QLatin1String("image/gif") || mime_type_name == QLatin1String("image/jpeg") || mime_type_name == QLatin1String("video/x-mng")); + + // So, if we do not have a PostScript file, but a graphics file, and + // if that file exists, we draw it here. + if (isGFX && QFile::exists(EPSfilename)) { + // Don't show PostScript, just draw the bounding box. For this, + // calculate the size of the bounding box in Pixels. + double bbox_width = urx - llx; + double bbox_height = ury - lly; + + if ((rwi != 0) && (bbox_width != 0)) { + bbox_height *= rwi / bbox_width; + bbox_width = rwi; + } + if ((rhi != 0) && (bbox_height != 0)) { + bbox_width *= rhi / bbox_height; + bbox_height = rhi; + } + + double fontPixelPerDVIunit = dviFile->getCmPerDVIunit() * 1200.0 / 2.54; + + bbox_width *= 0.1 * 65536.0 * fontPixelPerDVIunit / shrinkfactor; + bbox_height *= 0.1 * 65536.0 * fontPixelPerDVIunit / shrinkfactor; + + QImage image(EPSfilename); + image = image.scaled((int)(bbox_width), (int)(bbox_height), Qt::IgnoreAspectRatio, Qt::SmoothTransformation); + foreGroundPainter->drawImage(((int)((currinf.data.dvi_h) / (shrinkfactor * 65536))), currinf.data.pxl_v - (int)bbox_height, image); + return; + } + + if (!_postscript || !QFile::exists(EPSfilename)) { + // Don't show PostScript, just draw the bounding box. For this, + // calculate the size of the bounding box in Pixels. + double bbox_width = urx - llx; + double bbox_height = ury - lly; + + if ((rwi != 0) && (bbox_width != 0)) { + bbox_height *= rwi / bbox_width; + bbox_width = rwi; + } + if ((rhi != 0) && (bbox_height != 0)) { + bbox_width *= rhi / bbox_height; + bbox_height = rhi; + } + + double fontPixelPerDVIunit = dviFile->getCmPerDVIunit() * 1200.0 / 2.54; + + bbox_width *= 0.1 * 65536.0 * fontPixelPerDVIunit / shrinkfactor; + bbox_height *= 0.1 * 65536.0 * fontPixelPerDVIunit / shrinkfactor; + + QRect bbox(((int)((currinf.data.dvi_h) / (shrinkfactor * 65536))), currinf.data.pxl_v - (int)bbox_height, (int)bbox_width, (int)bbox_height); + + foreGroundPainter->save(); + + if (QFile::exists(EPSfilename)) { + foreGroundPainter->setBrush(Qt::lightGray); + } else { + foreGroundPainter->setBrush(Qt::red); + } + foreGroundPainter->setPen(Qt::black); + foreGroundPainter->drawRoundedRect(bbox, 2, 2); + QFont f = foreGroundPainter->font(); + f.setPointSize(8); + foreGroundPainter->setFont(f); + /* if the fonts are mapped for some reason to X bitmap fonts, + the call to drawText() in the non-GUI thread will produce a crash. + Ensure that the rendering of the text is performed only if + the threaded font rendering is available */ + if (QFile::exists(EPSfilename)) { + foreGroundPainter->drawText(bbox, (int)(Qt::AlignCenter), EPSfilename); + } else { + foreGroundPainter->drawText(bbox, (int)(Qt::AlignCenter), i18n("File not found: \n %1", EPSfilename_orig)); + } + foreGroundPainter->restore(); + } + + return; +} + +void dviRenderer::TPIC_flushPath_special() +{ +#ifdef DEBUG_SPECIAL + qCDebug(OkularDviDebug) << "TPIC special flushPath"; +#endif + + if (number_of_elements_in_path == 0) { + printErrorMsgForSpecials(QStringLiteral("TPIC special flushPath called when path was empty.")); + return; + } + + QPen pen(Qt::black, (int)(penWidth_in_mInch * resolutionInDPI / 1000.0 + 0.5)); // Sets the pen size in milli-inches + foreGroundPainter->setPen(pen); + foreGroundPainter->drawPolyline(TPIC_path.constData(), number_of_elements_in_path); + number_of_elements_in_path = 0; +} + +void dviRenderer::TPIC_addPath_special(const QString &cp) +{ +#ifdef DEBUG_SPECIAL + qCDebug(OkularDviDebug) << "TPIC special addPath: " << cp; +#endif + + // Adds a point to the path list + QString cp_noWhiteSpace = cp.trimmed(); + bool ok; + float xKoord = cp_noWhiteSpace.section(QLatin1Char(' '), 0, 0).toFloat(&ok); + if (ok == false) { + printErrorMsgForSpecials(QStringLiteral("TPIC special; cannot parse first argument in 'pn %1'.").arg(cp)); + return; + } + float yKoord = cp_noWhiteSpace.section(QLatin1Char(' '), 1, 1).toFloat(&ok); + if (ok == false) { + printErrorMsgForSpecials(QStringLiteral("TPIC special; cannot parse second argument in 'pn %1'.").arg(cp)); + return; + } + + float mag = dviFile->getMagnification() / 1000.0; + + int x = (int)(currinf.data.dvi_h / (shrinkfactor * 65536.0) + mag * xKoord * resolutionInDPI / 1000.0 + 0.5); + int y = (int)(currinf.data.pxl_v + mag * yKoord * resolutionInDPI / 1000.0 + 0.5); + + // Initialize the point array used to store the path + if (TPIC_path.size() == 0) { + number_of_elements_in_path = 0; + } + if (TPIC_path.size() == number_of_elements_in_path) { + TPIC_path.resize(number_of_elements_in_path + 100); + } + TPIC_path.setPoint(number_of_elements_in_path++, x, y); +} + +void dviRenderer::TPIC_setPen_special(const QString &cp) +{ +#ifdef DEBUG_SPECIAL + qCDebug(OkularDviDebug) << "TPIC special setPen: " << cp; +#endif + + // Sets the pen size in milli-inches + bool ok; + penWidth_in_mInch = cp.trimmed().toFloat(&ok); + if (ok == false) { + printErrorMsgForSpecials(QStringLiteral("TPIC special; cannot parse argument in 'pn %1'.").arg(cp)); + penWidth_in_mInch = 0.0; + return; + } +} + +void dviRenderer::applicationDoSpecial(char *cp) +{ + QString special_command = QString::fromLocal8Bit(cp); + + // First come specials which is only interpreted during rendering, + // and NOT during the prescan phase + + // font color specials + if (qstrnicmp(cp, "color", 5) == 0) { + color_special(special_command.mid(5)); + return; + } + + // HTML reference + if (qstrnicmp(cp, "html:
", 9) == 0) { + html_anchor_end(); + return; + } + + // TPIC specials + if (qstrnicmp(cp, "pn", 2) == 0) { + TPIC_setPen_special(special_command.mid(2)); + return; + } + if (qstrnicmp(cp, "pa ", 3) == 0) { + TPIC_addPath_special(special_command.mid(3)); + return; + } + if (qstrnicmp(cp, "fp", 2) == 0) { + TPIC_flushPath_special(); + return; + } + + // Encapsulated Postscript File + if (qstrnicmp(cp, "PSfile=", 7) == 0) { + epsf_special(special_command.mid(7)); + return; + } + + // source special + if (qstrnicmp(cp, "src:", 4) == 0) { + source_special(special_command.mid(4)); + return; + } + + // Unfortunately, in some TeX distribution the hyperref package uses + // the dvips driver by default, rather than the hypertex driver. As + // a result, the DVI files produced are full of PostScript that + // specifies links and anchors, and KDVI would call the ghostscript + // interpreter for every page which makes it really slow. This is a + // major nuisance, so that we try to filter and interpret the + // hypertex generated PostScript here. + if (special_command.startsWith(QLatin1String("ps:SDict begin"))) { + // Hyperref: start of hyperref rectangle. At this stage it is not + // yet clear if the rectangle will contain a hyperlink, an anchor, + // or another type of object. We suspect that this rectangle will + // define a hyperlink, allocate a QString and set HTML_href to + // point to this string. The string contains the name of the + // destination which ---due to the nature of the PostScript + // language--- will be defined only after characters are drawn and + // the hyperref rectangle has been closed. We use "glopglyph" as a + // temporary name. Since the pointer HTML_href is not NULL, the + // character drawing routines will now underline all characters in + // blue to point out that they correspond to a hyperlink. Also, as + // soon as characters are drawn, the drawing routines will + // allocate a Hyperlink and add it to the top of the vector + // currentlyDrawnPage->hyperLinkList. + if (special_command == QLatin1String("ps:SDict begin H.S end")) { + // At this stage, the vector 'hyperLinkList' should not contain + // links with unspecified destinations (i.e. destination set to + // 'glopglyph'). As a protection against bad DVI files, we make + // sure to remove all link rectangles which point to + // 'glopglyph'. + while (!currentlyDrawnPage->hyperLinkList.isEmpty()) { + if (currentlyDrawnPage->hyperLinkList.last().linkText == QLatin1String("glopglyph")) { + currentlyDrawnPage->hyperLinkList.pop_back(); + } else { + break; + } + } + + HTML_href = new QString(QStringLiteral("glopglyph")); + return; + } + + // Hyperref: end of hyperref rectangle of unknown type or hyperref + // link rectangle. In these cases we set HTML_href to NULL, which + // causes the character drawing routines to stop drawing + // characters underlined in blue. Note that the name of the + // destination is still set to "glopglyph". In a well-formed DVI + // file, this special command is immediately followed by another + // special, where the destination is specified. This special is + // treated below. + if ((special_command == QLatin1String("ps:SDict begin H.R end")) || special_command.endsWith(QLatin1String("H.L end"))) { + if (HTML_href != nullptr) { + delete HTML_href; + HTML_href = nullptr; + } + return; // end of hyperref rectangle + } + + // Hyperref: end of anchor rectangle. If this special is + // encountered, the rectangle, which was started with "ps:SDict + // begin H.S end" does not contain a link, but an anchor for a + // link. Anchors, however, have already been dealt with in the + // prescan phase and will not be considered here. Thus, we set + // HTML_href to NULL so that character drawing routines will no + // longer underline hyperlinks in blue, and remove the link from + // the hyperLinkList. NOTE: in a well-formed DVI file, the "H.A" + // special comes directly after the "H.S" special. A + // hyperlink-anchor rectangle therefore never contains characters, + // so no character will by accidentally underlined in blue. + if (special_command.endsWith(QLatin1String("H.A end"))) { + if (HTML_href != nullptr) { + delete HTML_href; + HTML_href = nullptr; + } + while (!currentlyDrawnPage->hyperLinkList.isEmpty()) { + if (currentlyDrawnPage->hyperLinkList.last().linkText == QLatin1String("glopglyph")) { + currentlyDrawnPage->hyperLinkList.pop_back(); + } else { + break; + } + } + return; // end of hyperref anchor + } + + // Hyperref: specification of a hyperref link rectangle's + // destination. As mentioned above, the destination of a hyperlink + // is specified only AFTER the rectangle has been specified. We + // will therefore go through the list of rectangles stored in + // currentlyDrawnPage->hyperLinkList, find those whose destination + // is open and fill in the value found here. NOTE: the character + // drawing routines sometimes split a single hyperlink rectangle + // into several rectangles (e.g. if the font changes, or when a + // line break is encountered) + if (special_command.startsWith(QLatin1String("ps:SDict begin [")) && special_command.endsWith(QLatin1String(" pdfmark end"))) { + if (!currentlyDrawnPage->hyperLinkList.isEmpty()) { + QString targetName = special_command.section(QLatin1Char('('), 1, 1).section(QLatin1Char(')'), 0, 0); + QList::iterator it; + for (it = currentlyDrawnPage->hyperLinkList.begin(); it != currentlyDrawnPage->hyperLinkList.end(); ++it) { + if (it->linkText == QLatin1String("glopglyph")) { + it->linkText = targetName; + } + } + } + return; // hyperref definition of link/anchor/bookmark/etc + } + } + + // Detect text rotation specials that are included by the graphicx + // package. If one of these specials is found, the state of the + // painter is saved, and the coordinate system is rotated + // accordingly + if (special_command.startsWith(QLatin1String("ps: gsave currentpoint currentpoint translate ")) && special_command.endsWith(QLatin1String(" neg rotate neg exch neg exch translate"))) { + bool ok; + double angle = special_command.section(QLatin1Char(' '), 5, 5).toDouble(&ok); + if (ok == true) { + int x = ((int)((currinf.data.dvi_h) / (shrinkfactor * 65536))); + int y = currinf.data.pxl_v; + + foreGroundPainter->save(); + // Rotate about the current point + foreGroundPainter->translate(x, y); + foreGroundPainter->rotate(-angle); + foreGroundPainter->translate(-x, -y); + } else { + printErrorMsgForSpecials(i18n("Error in DVIfile '%1', page %2. Could not interpret angle in text rotation special.", dviFile->filename, current_page)); + } + } + + // The graphicx package marks the end of rotated text with this + // special. The state of the painter is restored. + if (special_command == QLatin1String("ps: currentpoint grestore moveto")) { + foreGroundPainter->restore(); + } + + // The following special commands are not used here; they are of + // interest only during the prescan phase. We recognize them here + // anyway, to make sure that KDVI doesn't complain about + // unrecognized special commands. + if ((cp[0] == '!') || (cp[0] == '"') || (qstrnicmp(cp, "html: +#include + +/** Represents a rectangular region in a RenderedDocumentPage that contains text + + This trivial class is used in the RenderedDocumentPage class to + give a non-graphical representation of text in a rendered document + page. This is used, e.g. by text search and the text selection + functions that need to know the contents and the position of text + on a page + + @author Stefan Kebekus + @version 1.0.0 +*/ + +class TextBox +{ +public: + /** \brief Default Constructor + + The default constructor leaves all fields uninitialized. + */ + TextBox() + { + } + + /** \brief Constructor + + Trivial constructor leaves that initialized all members. + + @param re value for the box + @param lT value for the text field + */ + TextBox(const QRect re, const QString &lT) + : box(re) + , text(lT) + { + } + + /** \brief Bounding box of the text or hyperlink + + This rectangle specifies where on the page the text or hyperlink is + found. It uses the same coordinates that were used when the + associated documentPage was rendered by the + documentRenderer.drawPage() method. The contents of the box is + graphically inverted to indicate marked text. + */ + QRect box; + + /** \brief Name of the region + + The text associated with the box is stored here. + */ + QString text; +}; + +#endif diff --git a/generators/dvi/util.cpp b/generators/dvi/util.cpp new file mode 100644 index 0000000..9308000 --- /dev/null +++ b/generators/dvi/util.cpp @@ -0,0 +1,97 @@ +// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; c-brace-offset: 0; -*- +/* + * SPDX-FileCopyrightText: 1994 Paul Vojta. All rights reserved. + * + * SPDX-License-Identifier: BSD-2-Clause + * + * NOTE: + * xdvi is based on prior work as noted in the modification history, below. + */ + +/* + * DVI previewer for X. + * + * Eric Cooper, CMU, September 1985. + * + * Code derived from dvi-imagen.c. + * + * Modification history: + * 1/1986 Modified for X.10 --Bob Scheifler, MIT LCS. + * 7/1988 Modified for X.11 --Mark Eichin, MIT + * 12/1988 Added 'R' option, toolkit, magnifying glass + * --Paul Vojta, UC Berkeley. + * 2/1989 Added tpic support --Jeffrey Lee, U of Toronto + * 4/1989 Modified for System V --Donald Richardson, Clarkson Univ. + * 3/1990 Added VMS support --Scott Allendorf, U of Iowa + * 7/1990 Added reflection mode --Michael Pak, Hebrew U of Jerusalem + * 1/1992 Added greyscale code --Till Brychcy, Techn. Univ. Muenchen + * and Lee Hetherington, MIT + * 4/1994 Added DPS support, bounding box + * --Ricardo Telichevesky + * and Luis Miguel Silveira, MIT RLE. + */ + +#include + +#include "debug_dvi.h" +#include "xdvi.h" + +#include +#include + +#include + +#include + +/* + * General utility routines. + */ + +/* + * Print error message and quit. + */ + +void oops(const QString &message) +{ + qCCritical(OkularDviDebug) << "Fatal Error:" << message; + + KMessageBox::error(nullptr, i18n("Fatal error.\n\n") + message + i18n("\n\n\ +This probably means that either you found a bug in Okular,\n\ +or that the DVI file, or auxiliary files (such as font files, \n\ +or virtual font files) were really badly broken.\n\ +Okular will abort after this message. If you believe that you \n\ +found a bug, or that Okular should behave better in this situation\n\ +please report the problem.")); + exit(1); +} + +/* + * Read size bytes from the FILE fp, constructing them into a + * signed/unsigned integer. + */ +unsigned long num(FILE *fp, int size) +{ + long x = 0; + + while (size--) { + x = (x << 8) | one(fp); + } + return x; +} + +long snum(FILE *fp, int size) +{ + long x; + +#ifdef __STDC__ + x = (signed char)getc(fp); // NOLINT(bugprone-signed-char-misuse) This code is decades old, so prefer not to touch it +#else + x = (unsigned char)getc(fp); + if (x & 0x80) + x -= 0x100; +#endif + while (--size) { + x = (x << 8) | one(fp); + } + return x; +} diff --git a/generators/dvi/vf.cpp b/generators/dvi/vf.cpp new file mode 100644 index 0000000..e30d402 --- /dev/null +++ b/generators/dvi/vf.cpp @@ -0,0 +1,170 @@ +// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; c-brace-offset: 0; -*- +/* + * SPDX-FileCopyrightText: 1994 Paul Vojta. All rights reserved. + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#include + +#include "debug_dvi.h" +#include "dvi.h" +#include "dviRenderer.h" +#include "xdvi.h" + +#include + +#include +#include + +extern void oops(const QString &message); + +/*** + *** VF font reading routines. + *** Public routine is read_index---because virtual characters are presumed + *** to be short, we read the whole virtual font in at once, instead of + *** faulting in characters as needed. + ***/ + +#define LONG_CHAR 242 + +/* + * These are parameters which determine whether macros are combined for + * storage allocation purposes. Small macros ( <= VF_PARM_1 bytes) are + * combined into chunks of size VF_PARM_2. + */ + +#ifndef VF_PARM_1 +#define VF_PARM_1 20 +#endif +#ifndef VF_PARM_2 +#define VF_PARM_2 256 +#endif + +/* + * The main routine + */ + +void TeXFontDefinition::read_VF_index() +{ +#ifdef DEBUG_FONTS + qCDebug(OkularDviDebug) << "font::read_VF_index()"; +#endif + FILE *VF_file = file; + unsigned char cmnd; + // available space for macros + unsigned char *avail, *availend; + + flags |= FONT_VIRTUAL; + set_char_p = &dviRenderer::set_vf_char; +#ifdef DEBUG_FONTS + qCDebug(OkularDviDebug) << "TeXFontDefinition::read_VF_index: reading VF pixel file " << filename; +#endif + // Read preamble. + fseek(VF_file, (long)one(VF_file), 1); /* skip comment */ + quint32 const file_checksum = four(VF_file); + + if (file_checksum && checksum && file_checksum != checksum) { + qCCritical(OkularDviDebug) << "Checksum mismatch dvi = " << checksum << "u, vf = " << file_checksum << "u) in font file" << filename; + } + (void)four(VF_file); /* skip design size */ + + // Read the fonts. + first_font = nullptr; + while ((cmnd = one(VF_file)) >= FNTDEF1 && cmnd <= FNTDEF4) { + int TeXnumber = num(VF_file, (int)cmnd - FNTDEF1 + 1); + quint32 font_checksum = four(VF_file); + quint32 scale = four(VF_file); + quint32 design = four(VF_file); + Q_UNUSED(design); + quint16 len = one(VF_file) + one(VF_file); /* sequence point in the middle */ + char *newfontname = new char[len + 1]; + fread(newfontname, sizeof(char), len, VF_file); + newfontname[len] = '\0'; + +#ifdef DEBUG_FONTS + qCDebug(OkularDviDebug) << "Virtual font defines subfont \"" << fontname << "\" scale=" << scale << " design=" << design; +#endif + + // According to Knuth's documentation found in the web source code + // of the "vftovp" program (which seems to be the standard + // definition of virtual fonts), the "scale" is a fixed point + // number which describes extra enlargement that the virtual font + // imposes. One obtains the enlargement by dividing 2^20. + double enlargement_factor = double(scale) / (1 << 20) * enlargement; + + // TeXFontDefinition *newfontp = font_pool->appendx(newfontname, checksum, (quint32)(scaled_size_in_DVI_units*enlargement_factor), enlargement_factor); + TeXFontDefinition *newfontp = font_pool->appendx(QString::fromLocal8Bit(newfontname), font_checksum, (quint32)((double(scale) / (1 << 20)) * scaled_size_in_DVI_units), enlargement_factor); + + delete[] newfontname; + // Insert font in dictionary and make sure the dictionary is big + // enough. + if (vf_table.capacity() - 2 <= vf_table.count()) { + // Not quite optimal. The size of the dictionary should be a + // prime. I don't care. + vf_table.reserve(vf_table.capacity() * 2); + } + vf_table.insert(TeXnumber, newfontp); + + if (first_font == nullptr) { + first_font = newfontp; + } + } + + // Prepare macro array. + macrotable = new macro[max_num_of_chars_in_font]; + if (macrotable == nullptr) { + qCCritical(OkularDviDebug) << "Could not allocate memory for a macro table."; + exit(0); + } + + // Read macros. + avail = availend = nullptr; + for (; cmnd <= LONG_CHAR; cmnd = one(VF_file)) { + macro *m; + int len; + unsigned long cc; + long width; + + if (cmnd == LONG_CHAR) { /* long form packet */ + len = four(VF_file); + cc = four(VF_file); + width = four(VF_file); + if (cc >= 256) { + qCCritical(OkularDviDebug) << "Virtual character" << cc << "in font" << fontname << "ignored."; + fseek(VF_file, (long)len, 1); + continue; + } + } else { /* short form packet */ + len = cmnd; + cc = one(VF_file); + width = num(VF_file, 3); + } + m = ¯otable[cc]; + + m->dvi_advance_in_units_of_design_size_by_2e20 = width; + if (len > 0) { + if (len <= availend - avail) { + m->pos = avail; + avail += len; + } else { + m->free_me = true; + if (len <= VF_PARM_1) { + m->pos = avail = new unsigned char[VF_PARM_2]; + availend = avail + VF_PARM_2; + avail += len; + } else { + m->pos = new unsigned char[len]; + } + } + fread(reinterpret_cast(m->pos), 1, len, VF_file); + m->end = m->pos + len; + } + } + if (cmnd != POST) { + oops(i18n("Wrong command byte found in VF macro list: %1", cmnd)); + } + + fclose(VF_file); + file = nullptr; +} diff --git a/generators/dvi/xdvi.h b/generators/dvi/xdvi.h new file mode 100644 index 0000000..0d02663 --- /dev/null +++ b/generators/dvi/xdvi.h @@ -0,0 +1,22 @@ +// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; c-brace-offset: 0; -*- +#ifndef _xdvi_h +#define _xdvi_h + +/* + * Written by Eric C. Cooper, CMU + */ + +#define ROUNDUP(x, y) (((x) + (y) - 1) / (y)) + +extern unsigned long num(FILE *, int); +extern long snum(FILE *, int); +extern struct WindowRec mane, currwin; + +#define one(fp) ((unsigned char)getc(fp)) +#define sone(fp) ((long)one(fp)) +#define two(fp) num(fp, 2) +#define stwo(fp) snum(fp, 2) +#define four(fp) num(fp, 4) +#define sfour(fp) snum(fp, 4) + +#endif /* _xdvi_h */ diff --git a/generators/epub/CMakeLists.txt b/generators/epub/CMakeLists.txt new file mode 100644 index 0000000..14d5ef5 --- /dev/null +++ b/generators/epub/CMakeLists.txt @@ -0,0 +1,38 @@ +remove_definitions(-DTRANSLATION_DOMAIN="okular") +add_definitions(-DTRANSLATION_DOMAIN="okular_epub") + +add_subdirectory(data) + +########### next target ############### + +set(okularGenerator_epub_PART_SRCS + converter.cpp + epubdocument.cpp + generator_epub.cpp +) + +okular_add_generator(okularGenerator_epub ${okularGenerator_epub_PART_SRCS}) + +target_include_directories(okularGenerator_epub PRIVATE ${EPUB_INCLUDE_DIR}) +target_link_libraries(okularGenerator_epub okularcore ${EPUB_LIBRARIES} KF6::I18n Qt6::Widgets Qt6::Xml) + + +########### autotests ############### + +if(BUILD_TESTING) + add_definitions( -DKDESRCDIR="${CMAKE_CURRENT_SOURCE_DIR}/" ) + ecm_add_test(autotests/epubgeneratortest.cpp + TEST_NAME "epubgeneratortest" + LINK_LIBRARIES Qt6::Test KF6::CoreAddons okularcore + ) +endif() + +########### install files ############### +if (BUILD_DESKTOP) + install( PROGRAMS okularApplication_epub.desktop DESTINATION ${KDE_INSTALL_APPDIR} ) +endif() +if (BUILD_MOBILE) + install( PROGRAMS org.kde.mobile.okular_epub.desktop DESTINATION ${KDE_INSTALL_APPDIR} ) +endif() +install( FILES org.kde.okular-epub.metainfo.xml DESTINATION ${KDE_INSTALL_METAINFODIR} ) + diff --git a/generators/epub/Messages.sh b/generators/epub/Messages.sh new file mode 100755 index 0000000..900ba6b --- /dev/null +++ b/generators/epub/Messages.sh @@ -0,0 +1,2 @@ +#!/bin/sh +$XGETTEXT $(find . -name "*.cpp") -o $podir/okular_epub.pot diff --git a/generators/epub/README b/generators/epub/README new file mode 100644 index 0000000..eac3f64 --- /dev/null +++ b/generators/epub/README @@ -0,0 +1,10 @@ +This is a libepub based backend to watch epub books using okular +The epub library can be obtained using: + +svn co https://ebook-tools.svn.sourceforge.net/svnroot/ebook-tools/trunk ebook-tools + +The library uses standard cmake (ccmake .;make install) + +The epub standard specs can be found in: + +http://www.idpf.org/specs.htm diff --git a/generators/epub/autotests/data/test.epub b/generators/epub/autotests/data/test.epub new file mode 100644 index 0000000000000000000000000000000000000000..a56b4d0dd9188fac0767369b644d0d4c0329d57b GIT binary patch literal 357713 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
mnMl*q82LZf7=(OH`s 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

V771>puXQv@fZ+%{6BnJj#yMv}}7zD4l@udp8I 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 AQ2+n{ literal 0 HcmV?d00001 diff --git a/generators/epub/autotests/epubgeneratortest.cpp b/generators/epub/autotests/epubgeneratortest.cpp new file mode 100644 index 0000000..4c9ff8d --- /dev/null +++ b/generators/epub/autotests/epubgeneratortest.cpp @@ -0,0 +1,77 @@ +/* + SPDX-FileCopyrightText: 2017 Gilbert Assaf + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include +#include + +#include "core/document.h" +#include "core/page.h" +#include "core/textpage.h" +#include "settings_core.h" + +class EpubGeneratorTest : public QObject +{ + Q_OBJECT + +private Q_SLOTS: + void initTestCase(); + void testDocumentStructure(); + void testDocumentContent(); + void cleanupTestCase(); + +private: + Okular::Document *m_document = nullptr; +}; + +void EpubGeneratorTest::initTestCase() +{ + Okular::SettingsCore::instance(QStringLiteral("EpubGeneratorTest")); + m_document = new Okular::Document(nullptr); + const QString testFile = QStringLiteral(KDESRCDIR "autotests/data/test.epub"); + QMimeDatabase db; + const QMimeType mime = db.mimeTypeForFile(testFile); + QCOMPARE(m_document->openDocument(testFile, QUrl(), mime), Okular::Document::OpenSuccess); +} + +void EpubGeneratorTest::cleanupTestCase() +{ + m_document->closeDocument(); + delete m_document; +} + +void EpubGeneratorTest::testDocumentStructure() +{ + unsigned int expectedPageNr = 3; + QCOMPARE(m_document->pages(), expectedPageNr); + QCOMPARE(m_document->metaData(QStringLiteral("DocumentTitle")).toString(), QStringLiteral("Okular Test")); + + const Okular::DocumentSynopsis *docSyn = m_document->documentSynopsis(); + QDomElement heading1 = docSyn->documentElement(); + QCOMPARE(heading1.tagName(), QStringLiteral("Lorem ipsum Section 1")); + + QDomElement heading2 = heading1.nextSiblingElement(); + QCOMPARE(heading2.tagName(), QStringLiteral("Lorem ipsum Section 2")); +} + +void EpubGeneratorTest::testDocumentContent() +{ + const Okular::Page *page0 = m_document->page(0); + QCOMPARE(page0->number(), 0); + m_document->requestTextPage(page0->number()); + QVERIFY(page0->hasTextPage()); + QCOMPARE(page0->text().trimmed(), QStringLiteral("Lorem ipsum Section 1\n\u2029This is an example Text.\n\uFFFC")); + + const Okular::Page *page1 = m_document->page(1); + QCOMPARE(page1->number(), 1); + m_document->requestTextPage(page1->number()); + QVERIFY(page1->hasTextPage()); + QCOMPARE(page1->text().trimmed(), QStringLiteral("Lorem ipsum Section 2\n\u2029This is an example Text.")); +} + +QTEST_MAIN(EpubGeneratorTest) +#include "epubgeneratortest.moc" + +/* kate: replace-tabs on; tab-width 4; */ diff --git a/generators/epub/converter.cpp b/generators/epub/converter.cpp new file mode 100644 index 0000000..9383abe --- /dev/null +++ b/generators/epub/converter.cpp @@ -0,0 +1,452 @@ +/* + SPDX-FileCopyrightText: 2008 Ely Levy + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "converter.h" + +#include +#include +#include +#include +#include +#include + +#include +#include + +#include +#include +#include +#include +#include + +using namespace Epub; + +Converter::Converter() + : mTextDocument(nullptr) +{ +} + +Converter::~Converter() +{ +} + +// join the char * array into one QString +QString _strPack(char **str, int size) +{ + QString res; + + res = QString::fromUtf8(str[0]); + + for (int i = 1; i < size; i++) { + res += QLatin1String(", "); + res += QString::fromUtf8(str[i]); + } + + return res; +} + +// Q_EMIT data wrap function that map between epub metadata to okular's +void Converter::_emitData(Okular::DocumentInfo::Key key, enum epub_metadata type) +{ + int size; + unsigned char **data; + + data = epub_get_metadata(mTextDocument->getEpub(), type, &size); + + if (data) { + Q_EMIT addMetaData(key, _strPack(reinterpret_cast(data), size)); + for (int i = 0; i < size; i++) { + free(data[i]); + } + free(static_cast(data)); + } +} + +// Got over the blocks from start and add them to hashes use name as the +// prefix for local links +void Converter::_handle_anchors(const QTextBlock &start, const QString &name) +{ + const QString curDir = QFileInfo(name).path(); + + for (QTextBlock bit = start; bit != mTextDocument->end(); bit = bit.next()) { + for (QTextBlock::iterator fit = bit.begin(); !(fit.atEnd()); ++fit) { + QTextFragment frag = fit.fragment(); + + if (frag.isValid() && frag.charFormat().isAnchor()) { + QString hrefString = frag.charFormat().anchorHref(); + + // remove ./ or ../ + // making it easier to compare, with links + while (!hrefString.isNull() && (hrefString.at(0) == QLatin1Char('.') || hrefString.at(0) == QLatin1Char('/'))) { + hrefString.remove(0, 1); + } + + QUrl href(hrefString); + if (href.isValid() && !href.isEmpty()) { + if (href.isRelative()) { // Inside document link + if (!hrefString.indexOf(QLatin1Char('#'))) { + hrefString = name + hrefString; + } else if (QFileInfo(hrefString).path() == QLatin1String(".") && curDir != QLatin1String(".")) { + hrefString = curDir + QLatin1Char('/') + hrefString; + } + + // QTextCharFormat sometimes splits a link in two + // if there's no white space between words & the first one is an anchor + // consider whole word to be an anchor + ++fit; + int fragLen = frag.length(); + if (!fit.atEnd() && ((fit.fragment().position() - frag.position()) == 1)) { + fragLen += fit.fragment().length(); + } + --fit; + + _insert_local_links(hrefString, QPair(frag.position(), frag.position() + fragLen)); + } else { // Outside document link + Okular::BrowseAction *action = new Okular::BrowseAction(QUrl(href.toString())); + + Q_EMIT addAction(action, frag.position(), frag.position() + frag.length()); + } + } + + const QStringList &names = frag.charFormat().anchorNames(); + if (!names.empty()) { + for (QStringList::const_iterator lit = names.constBegin(); lit != names.constEnd(); ++lit) { + mSectionMap.insert(name + QLatin1Char('#') + *lit, bit); + } + } + + } // end anchor case + } + } +} + +void Converter::_insert_local_links(const QString &key, const QPair value) +{ + if (mLocalLinks.contains(key)) { + mLocalLinks[key].append(value); + } else { + QList> vec; + vec.append(value); + mLocalLinks.insert(key, vec); + } +} + +static QPoint calculateXYPosition(QTextDocument *document, int startPosition) +{ + const QTextBlock startBlock = document->findBlock(startPosition); + const QRectF startBoundingRect = document->documentLayout()->blockBoundingRect(startBlock); + + QTextLayout *startLayout = startBlock.layout(); + if (!startLayout) { + qWarning() << "Start layout not found" << startLayout; + return QPoint(); + } + + int startPos = startPosition - startBlock.position(); + const QTextLine startLine = startLayout->lineForTextPosition(startPos); + + double x = startBoundingRect.x(); + double y = startBoundingRect.y() + startLine.y(); + + y = (int)y % 800; + + return QPoint(x, y); +} + +QTextDocument *Converter::convert(const QString &fileName) +{ + EpubDocument *newDocument = new EpubDocument(fileName, generator()->generalSettings()->font()); + if (!newDocument->isValid()) { + Q_EMIT error(i18n("Error while opening the EPub document."), -1); + delete newDocument; + return nullptr; + } + mTextDocument = newDocument; + + QTextCursor *_cursor = new QTextCursor(mTextDocument); + + mLocalLinks.clear(); + mSectionMap.clear(); + + // Emit the document meta data + _emitData(Okular::DocumentInfo::Title, EPUB_TITLE); + _emitData(Okular::DocumentInfo::Author, EPUB_CREATOR); + _emitData(Okular::DocumentInfo::Subject, EPUB_SUBJECT); + _emitData(Okular::DocumentInfo::Creator, EPUB_PUBLISHER); + + _emitData(Okular::DocumentInfo::Description, EPUB_DESCRIPTION); + + _emitData(Okular::DocumentInfo::CreationDate, EPUB_DATE); + _emitData(Okular::DocumentInfo::Category, EPUB_TYPE); + _emitData(Okular::DocumentInfo::Copyright, EPUB_RIGHTS); + Q_EMIT addMetaData(Okular::DocumentInfo::MimeType, QStringLiteral("application/epub+zip")); + + struct eiterator *it; + + // iterate over the book + it = epub_get_iterator(mTextDocument->getEpub(), EITERATOR_SPINE, 0); + + // if the background color of the document is non-white it will be handled by QTextDocument::setHtml() + bool firstPage = true; + QList movieAnnots; + QList soundActions; + + const QSize videoSize(320, 240); + do { + if (!epub_it_get_curr(it)) { + continue; + } + + movieAnnots.clear(); + soundActions.clear(); + + const QString link = QString::fromUtf8(epub_it_get_curr_url(it)); + mTextDocument->setCurrentSubDocument(link); + QString htmlContent = QString::fromUtf8(epub_it_get_curr(it)); + + // as QTextCharFormat::anchorNames() ignores sections, replace it with

+ static const QRegularExpression sectionStart {QStringLiteral("< *section")}; + htmlContent.replace(sectionStart, QStringLiteral("maxContentHeight(); + const int maxWidth = mTextDocument->maxContentWidth(); + QDomDocument dom; + if (dom.setContent(htmlContent)) { + QDomNodeList svgs = dom.elementsByTagName(QStringLiteral("svg")); + if (!svgs.isEmpty()) { + QList imgNodes; + for (int i = 0; i < svgs.length(); ++i) { + QDomNodeList images = svgs.at(i).toElement().elementsByTagName(QStringLiteral("image")); + for (int j = 0; j < images.length(); ++j) { + QString lnk = images.at(i).toElement().attribute(QStringLiteral("xlink:href")); + int ht = images.at(i).toElement().attribute(QStringLiteral("height")).toInt(); + int wd = images.at(i).toElement().attribute(QStringLiteral("width")).toInt(); + QImage img = mTextDocument->loadResource(QTextDocument::ImageResource, QUrl(lnk)).value(); + if (ht == 0) { + ht = img.height(); + } + if (wd == 0) { + wd = img.width(); + } + if (ht > maxHeight) { + ht = maxHeight; + } + if (wd > maxWidth) { + wd = maxWidth; + } + mTextDocument->addResource(QTextDocument::ImageResource, QUrl(lnk), img); + QDomDocument newDoc; + newDoc.setContent(QStringLiteral("").arg(lnk).arg(ht).arg(wd)); + imgNodes.append(newDoc.documentElement()); + } + for (const QDomNode &nd : std::as_const(imgNodes)) { + svgs.at(i).parentNode().replaceChild(nd, svgs.at(i)); + } + } + } + + // handle embedded videos + QDomNodeList videoTags = dom.elementsByTagName(QStringLiteral("video")); + while (!videoTags.isEmpty()) { + QDomNodeList sourceTags = videoTags.at(0).toElement().elementsByTagName(QStringLiteral("source")); + if (!sourceTags.isEmpty()) { + QString lnk = sourceTags.at(0).toElement().attribute(QStringLiteral("src")); + + Okular::Movie *movie = new Okular::Movie(mTextDocument->loadResource(EpubDocument::MovieResource, QUrl(lnk)).toString()); + movie->setSize(videoSize); + movie->setShowControls(true); + + Okular::MovieAnnotation *annot = new Okular::MovieAnnotation; + annot->setMovie(movie); + + movieAnnots.push_back(annot); + QDomDocument tempDoc; + tempDoc.setContent(QStringLiteral("

<video></video>
")); + videoTags.at(0).parentNode().replaceChild(tempDoc.documentElement(), videoTags.at(0)); + } + } + + // handle embedded audio + QDomNodeList audioTags = dom.elementsByTagName(QStringLiteral("audio")); + while (!audioTags.isEmpty()) { + QDomElement element = audioTags.at(0).toElement(); + bool repeat = element.hasAttribute(QStringLiteral("loop")); + QString lnk = element.attribute(QStringLiteral("src")); + + Okular::Sound *sound = new Okular::Sound(mTextDocument->loadResource(EpubDocument::AudioResource, QUrl(lnk)).toByteArray()); + + Okular::SoundAction *soundAction = new Okular::SoundAction(1.0, true, repeat, false, sound); + soundActions.push_back(soundAction); + + QDomDocument tempDoc; + tempDoc.setContent(QStringLiteral("
<audio></audio>
")); + audioTags.at(0).parentNode().replaceChild(tempDoc.documentElement(), audioTags.at(0)); + } + htmlContent = dom.toString(); + } + + QTextBlock before; + if (firstPage) { + mTextDocument->setHtml(htmlContent); + firstPage = false; + before = mTextDocument->begin(); + } else { + before = _cursor->block(); + _cursor->insertHtml(htmlContent); + } + + QTextCursor csr(before); // a temporary cursor pointing at the begin of the last inserted block + int index = 0; + + while (!movieAnnots.isEmpty() && !(csr = mTextDocument->find(QStringLiteral(""), csr)).isNull()) { + const int posStart = csr.position(); + const QPoint startPoint = calculateXYPosition(mTextDocument, posStart); + QImage img(QStandardPaths::locate(QStandardPaths::GenericDataLocation, QStringLiteral("okular/pics/okular-epub-movie.png"))); + img = img.scaled(videoSize); + csr.insertImage(img); + const int posEnd = csr.position(); + const QRect videoRect(startPoint, videoSize); + movieAnnots[index]->setBoundingRectangle(Okular::NormalizedRect(videoRect, mTextDocument->pageSize().width(), mTextDocument->pageSize().height())); + Q_EMIT addAnnotation(movieAnnots[index++], posStart, posEnd); + csr.movePosition(QTextCursor::NextWord); + } + + csr = QTextCursor(before); + index = 0; + const QString keyToSearch(QStringLiteral("")); + while (!soundActions.isEmpty() && !(csr = mTextDocument->find(keyToSearch, csr)).isNull()) { + const int posStart = csr.position() - keyToSearch.size(); + const QImage img(QStandardPaths::locate(QStandardPaths::GenericDataLocation, QStringLiteral("okular/pics/okular-epub-sound-icon.png"))); + csr.insertImage(img); + const int posEnd = csr.position(); + qDebug() << posStart << posEnd; + ; + Q_EMIT addAction(soundActions[index++], posStart, posEnd); + csr.movePosition(QTextCursor::NextWord); + } + + mSectionMap.insert(link, before); + + _handle_anchors(before, link); + + const int page = mTextDocument->pageCount(); + + // it will clear the previous format + // useful when the last line had a bullet + _cursor->insertBlock(QTextBlockFormat()); + + while (mTextDocument->pageCount() == page) { + _cursor->insertText(QStringLiteral("\n")); + } + + } while (epub_it_get_next(it)); + + epub_free_iterator(it); + + // handle toc + struct titerator *tit; + + // FIXME: support other method beside NAVMAP and GUIDE + tit = epub_get_titerator(mTextDocument->getEpub(), TITERATOR_NAVMAP, 0); + if (!tit) { + tit = epub_get_titerator(mTextDocument->getEpub(), TITERATOR_GUIDE, 0); + } + + if (tit) { + do { + if (epub_tit_curr_valid(tit)) { + char *clink = epub_tit_get_curr_link(tit); + QString link = QString::fromUtf8(clink); + char *label = epub_tit_get_curr_label(tit); + QTextBlock block = mTextDocument->begin(); // must point somewhere + + if (mSectionMap.contains(link)) { + block = mSectionMap.value(link); + } else { + const QString percentDecodedLink = QUrl::fromPercentEncoding(link.toUtf8()); + if (mSectionMap.contains(percentDecodedLink)) { + block = mSectionMap.value(percentDecodedLink); + } else { // load missing resource + char *data = nullptr; + // epub_get_data can't handle whitespace url encodings + QByteArray ba = link.replace(QLatin1String("%20"), QLatin1String(" ")).toLatin1(); + const char *clinkClean = ba.data(); + int size = epub_get_data(mTextDocument->getEpub(), clinkClean, &data); + + if (data) { + _cursor->insertBlock(); + + // try to load as image and if not load as html + block = _cursor->block(); + QImage image; + mSectionMap.insert(link, block); + if (image.loadFromData(reinterpret_cast(data), size)) { + mTextDocument->addResource(QTextDocument::ImageResource, QUrl(link), image); + _cursor->insertImage(link); + } else { + _cursor->insertHtml(QString::fromUtf8(data)); + // Add anchors to hashes + _handle_anchors(block, link); + } + + // Start new file in a new page + int page = mTextDocument->pageCount(); + while (mTextDocument->pageCount() == page) { + _cursor->insertText(QStringLiteral("\n")); + } + } + + free(data); + } + } + + if (block.isValid()) { // be sure we actually got a block + Q_EMIT addTitle(epub_tit_get_curr_depth(tit), QString::fromUtf8(label), block); + } else { + qDebug() << "Error: no block found for" << link; + } + + if (clink) { + free(clink); + } + if (label) { + free(label); + } + } + } while (epub_tit_next(tit)); + + epub_free_titerator(tit); + } else { + qDebug() << "no toc found"; + } + + // adding link actions + QHashIterator>> hit(mLocalLinks); + while (hit.hasNext()) { + hit.next(); + + const QTextBlock block = mSectionMap.value(hit.key()); + + for (int i = 0; i < hit.value().size(); ++i) { + if (block.isValid()) { // be sure we actually got a block + Okular::DocumentViewport viewport = calculateViewport(mTextDocument, block); + + Okular::GotoAction *action = new Okular::GotoAction(QString(), viewport); + + Q_EMIT addAction(action, hit.value()[i].first, hit.value()[i].second); + } else { + qDebug() << "Error: no block found for " << hit.key(); + } + } + } + + delete _cursor; + + return mTextDocument; +} diff --git a/generators/epub/converter.h b/generators/epub/converter.h new file mode 100644 index 0000000..b2a6806 --- /dev/null +++ b/generators/epub/converter.h @@ -0,0 +1,40 @@ +/* + SPDX-FileCopyrightText: 2008 Ely Levy + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef EPUB_CONVERTER_H +#define EPUB_CONVERTER_H + +#include +#include +#include + +#include "epubdocument.h" + +namespace Epub +{ +class Converter : public Okular::TextDocumentConverter +{ + Q_OBJECT + +public: + Converter(); + ~Converter() override; + + QTextDocument *convert(const QString &fileName) override; + +private: + void _emitData(Okular::DocumentInfo::Key key, enum epub_metadata type); + void _handle_anchors(const QTextBlock &start, const QString &name); + void _insert_local_links(const QString &key, const QPair value); + EpubDocument *mTextDocument; + QFont mFont; + + QHash mSectionMap; + QHash>> mLocalLinks; +}; +} + +#endif diff --git a/generators/epub/data/CMakeLists.txt b/generators/epub/data/CMakeLists.txt new file mode 100644 index 0000000..b42c90a --- /dev/null +++ b/generators/epub/data/CMakeLists.txt @@ -0,0 +1,5 @@ + +install(FILES + okular-epub-sound-icon.png + okular-epub-movie.png + DESTINATION ${KDE_INSTALL_DATADIR}/okular/pics) diff --git a/generators/epub/data/okular-epub-movie.png b/generators/epub/data/okular-epub-movie.png new file mode 100644 index 0000000000000000000000000000000000000000..d028e44ba75463c5bac907e3b28a7666fe0eaffd GIT binary patch literal 12616 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
Rzu4#7uHtcyRsEC_nwZ7oIMSFASQqb z;j$Ruh!Wh?eRfUD^me)GKgB-~f9d=lR|EIi;I0nb{se(Ycf^pF literal 0 HcmV?d00001 diff --git a/generators/epub/data/okular-epub-sound-icon.png b/generators/epub/data/okular-epub-sound-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..6587a74b272ddaf35128818d55932535c62bc5f0 GIT binary patch literal 2194 zcmV;D2yOR?P)gUIaJvm@sJ$ecNIEauLg8<{t6UL-3kD>8rne2WDO7FaA?xUfX% zcRJ4?ck<-PE9=y$^XGCC(6(*czrK3)N}fM|E-zlZke4rC%Inv!<;|Nn^7idpdH?>s zl-GFo?wuSvc1(^RKVI0hY18iIA|N?AIraYi`*P>b9gBPS?#Y7(52UcLP#!*fD32dM zmM2f1$kV4!zaPhj@0rK^n>TOD;>C;Q(W6Il_@wrc9B`moMAYWR0s=uS!~4+G0Z`_JalBeFXT^$M5|h z@(=(;H4?c2A@h7B8J z_3G8Kbm>wtdxV(%Mk0}j3>h+HQ<(&45tk%@C@6Wp#hYu^tg-DeJ3CvJEn6mAwrsH- zM@3aAZCvDCH{yu&Bw46PA z))q5aVCHWuvw)KJ0ZpOJn>UL&63CJzOKe*3Uh9GPw8r)8*UQwYQ*BfzQfwlIcb6_* zvd=DDxM0EGfaiP{N-X zT8FR>>4XsK0x>EGu%0iMrq!HAC7_^mLkm0|(kJ13~Pwj*4)F zlvw}Kc18HR5}>bB$ZS3* zPMok_)*^SoGv0A*Chs}pOqeji{<<~b_rA8#Q2PJ^FrsZtMY#3Af*AIWz0$sYdl@`< zu#E)IgFxzV&N246v{>)^3)m&E`$FiA3;`IS$78@B2^B)<*}RgHlB7k87Sg3l7h4yQ zVo^WnM59KHk|s@>NaMzhWx#*|HZnn;SMqQm(&o+(P5?#-cS#~xoD*cDMvW|?1`Qh6 zBZU^F3j{E~bLY-haJ_o30EMLCd7Pp@~>nV9SFh8^a2)hTWAR#P_ zce-`!CUJ3b7Cn3REIJ;zAl))EGo@dbBPC$=dQrqPy$-EY?+E7CIeT5 zUkJd9dPdS>b)%#nCKZST-w_qphM%~S=Td_M%q1zD0E{silqAGWtuRp1O5E>tUHiSuU`H4p@|2K z7;{wUWLnwUf`WoqbOpTVrkB57ii7*DJ6{XioNWJ1^i39gT^_{0GfXI(nbYUoyu7?Z zLQGC8kuYHIKoB+%ke!{qi)foo?#qut+&|2bpsv}tzS+8U>qWdr=ppre;NCzAk&gNK z`Oh;lGS)O~*zhmLWXumj+&?N-tQgm|YuCT$IZ3u$IX5C?yzCQGHcbU z)#Q_qE@u2BIXO8cD=TZ8A^VP~kSY+@y~12zF7)cvYh;xwRce1~vLz04WKK>`PyeTB zfsaTRb8J3fE<3#|RjTy!ADT;4h5zQ}j}3lm0D-Co)eUMG{Kf!pCK~*~ppijigCv8d zCPn_%tXZ>f%-`+3cYpMdlyx;C*~Ih zah@Ou)bz;w)&nActsoWB>pF literal 0 HcmV?d00001 diff --git a/generators/epub/epubdocument.cpp b/generators/epub/epubdocument.cpp new file mode 100644 index 0000000..1230ff5 --- /dev/null +++ b/generators/epub/epubdocument.cpp @@ -0,0 +1,164 @@ +/* + SPDX-FileCopyrightText: 2008 Ely Levy + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "epubdocument.h" +#include +#include + +#include + +Q_LOGGING_CATEGORY(OkularEpuDebug, "org.kde.okular.generators.epu", QtWarningMsg) +using namespace Epub; + +EpubDocument::EpubDocument(const QString &fileName, const QFont &font) + : QTextDocument() + , padding(20) + , mFont(font) +{ +#ifdef Q_OS_WIN + mEpub = epub_open(qUtf8Printable(fileName), 2); +#else + mEpub = epub_open(qPrintable(fileName), 2); +#endif + + setPageSize(QSizeF(600, 800)); + setDefaultStyleSheet(QStringLiteral("a { color: %1 }").arg(QColor(Qt::blue).name())); +} + +bool EpubDocument::isValid() +{ + return (mEpub ? true : false); +} + +EpubDocument::~EpubDocument() +{ + if (mEpub) { + epub_close(mEpub); + } + + epub_cleanup(); +} + +struct epub *EpubDocument::getEpub() +{ + return mEpub; +} + +void EpubDocument::setCurrentSubDocument(const QString &doc) +{ + mCurrentSubDocument.clear(); + int index = doc.indexOf(QLatin1Char('/')); + if (index > 0) { + mCurrentSubDocument = QUrl::fromLocalFile(doc.left(index + 1)); + } +} + +int EpubDocument::maxContentHeight() const +{ + return pageSize().height() - (2 * padding); +} + +int EpubDocument::maxContentWidth() const +{ + return pageSize().width() - (2 * padding); +} + +QString EpubDocument::checkCSS(const QString &c) +{ + QString css = c; + // remove paragraph line-heights + static const QRegularExpression lineHeightRegex {QStringLiteral("line-height\\s*:\\s*[\\w\\.]*;")}; + css.remove(lineHeightRegex); + + // HACK transform em and rem notation to px, because QTextDocument doesn't support + // em and rem. + static const QRegularExpression cssSplitRegex {QStringLiteral("\\s+")}; + const QStringList cssArray = css.split(cssSplitRegex); + QStringList cssArrayReplaced; + std::size_t cssArrayCount = cssArray.count(); + std::size_t i = 0; + static const QRegularExpression re(QStringLiteral("(([0-9]+)(\\.[0-9]+)?)r?em(.*)")); + while (i < cssArrayCount) { + const auto &item = cssArray[i]; + QRegularExpressionMatch match = re.match(item); + if (match.hasMatch()) { + double em = match.captured(1).toDouble(); + double px = em * mFont.pointSize(); + cssArrayReplaced.append(QStringLiteral("%1px%2").arg(px).arg(match.captured(4))); + } else { + cssArrayReplaced.append(item); + } + i++; + } + return cssArrayReplaced.join(QStringLiteral(" ")); +} + +QVariant EpubDocument::loadResource(int type, const QUrl &name) +{ + int size; + char *data = nullptr; + + QString fileInPath = mCurrentSubDocument.resolved(name).path(); + + // Get the data from the epub file + size = epub_get_data(mEpub, fileInPath.toUtf8().constData(), &data); + + if (data == nullptr || size <= 0) { + qCWarning(OkularEpuDebug) << "EPUB : error loading resource" << fileInPath << "size" << size << "type" << type; + free(data); + return QVariant(); + } + + QVariant resource; + + switch (type) { + case QTextDocument::ImageResource: { + QImage img = QImage::fromData(reinterpret_cast(data), size); + const int maxHeight = maxContentHeight(); + const int maxWidth = maxContentWidth(); + if (img.height() > maxHeight) { + img = img.scaledToHeight(maxHeight, Qt::SmoothTransformation); + } + if (img.width() > maxWidth) { + img = img.scaledToWidth(maxWidth, Qt::SmoothTransformation); + } + resource.setValue(img); + break; + } + case QTextDocument::StyleSheetResource: { + QString css = QString::fromUtf8(data); + resource.setValue(checkCSS(css)); + break; + } + case EpubDocument::MovieResource: { + QTemporaryFile *tmp = new QTemporaryFile(QStringLiteral("%1/okrXXXXXX").arg(QDir::tempPath()), this); + if (!tmp->open()) { + qCWarning(OkularEpuDebug) << "EPUB : error creating temporary video file"; + } + if (tmp->write(data, size) == -1) { + qCWarning(OkularEpuDebug) << "EPUB : error writing data" << tmp->errorString(); + } + tmp->flush(); + resource.setValue(tmp->fileName()); + break; + } + case EpubDocument::AudioResource: { + QByteArray ba(data, size); + resource.setValue(ba); + break; + } + default: + resource.setValue(QString::fromUtf8(data)); + break; + } + + free(data); + + // add to cache + addResource(type, name, resource); + + return resource; +} diff --git a/generators/epub/epubdocument.h b/generators/epub/epubdocument.h new file mode 100644 index 0000000..1024bec --- /dev/null +++ b/generators/epub/epubdocument.h @@ -0,0 +1,50 @@ +/* + SPDX-FileCopyrightText: 2008 Ely Levy + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef EPUB_DOCUMENT_H +#define EPUB_DOCUMENT_H + +#include +#include +#include +#include +#include +#include + +namespace Epub +{ +class EpubDocument : public QTextDocument +{ + Q_OBJECT + +public: + explicit EpubDocument(const QString &fileName, const QFont &font); + ~EpubDocument() override; + bool isValid(); + struct epub *getEpub(); + void setCurrentSubDocument(const QString &doc); + int maxContentHeight() const; + int maxContentWidth() const; + enum Multimedia { MovieResource = QTextDocument::UserResource, AudioResource }; + +protected: + QVariant loadResource(int type, const QUrl &name) override; + +private: + QString checkCSS(const QString &css); + + struct epub *mEpub; + QUrl mCurrentSubDocument; + + int padding; + QFont mFont; + + friend class Converter; +}; + +} +Q_DECLARE_LOGGING_CATEGORY(OkularEpuDebug) +#endif diff --git a/generators/epub/generator_epub.cpp b/generators/epub/generator_epub.cpp new file mode 100644 index 0000000..6871211 --- /dev/null +++ b/generators/epub/generator_epub.cpp @@ -0,0 +1,33 @@ +/* + SPDX-FileCopyrightText: 2008 Ely Levy + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "generator_epub.h" + +#include "converter.h" + +#include +#include +#include + +OKULAR_EXPORT_PLUGIN(EPubGenerator, "libokularGenerator_epub.json") + +EPubGenerator::EPubGenerator(QObject *parent, const QVariantList &args) + : Okular::TextDocumentGenerator(new Epub::Converter, QStringLiteral("okular_epub_generator_settings"), parent, args) +{ +} + +EPubGenerator::~EPubGenerator() +{ +} + +void EPubGenerator::addPages(KConfigDialog *dlg) +{ + Okular::TextDocumentSettingsWidget *widget = new Okular::TextDocumentSettingsWidget(); + + dlg->addPage(widget, generalSettings(), i18n("EPub"), QStringLiteral("application-epub+zip"), i18n("EPub Backend Configuration")); +} + +#include "generator_epub.moc" diff --git a/generators/epub/generator_epub.h b/generators/epub/generator_epub.h new file mode 100644 index 0000000..f848f69 --- /dev/null +++ b/generators/epub/generator_epub.h @@ -0,0 +1,23 @@ +/* + SPDX-FileCopyrightText: 2008 Ely Levy + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_GENERATOR_EPUB_H_ +#define _OKULAR_GENERATOR_EPUB_H_ +#include + +class EPubGenerator : public Okular::TextDocumentGenerator +{ + Q_OBJECT + Q_INTERFACES(Okular::Generator) +public: + EPubGenerator(QObject *parent, const QVariantList &args); + ~EPubGenerator() override; + + // [INHERITED] reparse configuration + void addPages(KConfigDialog *dlg) override; +}; + +#endif diff --git a/generators/epub/libokularGenerator_epub.json b/generators/epub/libokularGenerator_epub.json new file mode 100644 index 0000000..b72b50c --- /dev/null +++ b/generators/epub/libokularGenerator_epub.json @@ -0,0 +1,216 @@ +{ + "KPlugin": { + "Authors": [ + { + "Email": "elylevy@cs.huji.ac.il", + "Name": "Ely Levy", + "Name[ar]": "Ely Levy", + "Name[az]": "Ely Levy", + "Name[be]": "Ely Levy", + "Name[bg]": "Ely Levy", + "Name[ca@valencia]": "Ely Levy", + "Name[ca]": "Ely Levy", + "Name[cs]": "Ely Levy", + "Name[da]": "Ely Levy", + "Name[de]": "Ely Levy", + "Name[el]": "Ely Levy", + "Name[en_GB]": "Ely Levy", + "Name[eo]": "Ely Levy", + "Name[es]": "Ely Levy", + "Name[et]": "Ely Levy", + "Name[eu]": "Ely Levy", + "Name[fi]": "Ely Levy", + "Name[fr]": "Ely Levy", + "Name[gl]": "Ely Levy", + "Name[he]": "אלי לוי", + "Name[hu]": "Ely Levy", + "Name[ia]": "Ely Levy", + "Name[ie]": "Ely Levy", + "Name[is]": "Ely Levy", + "Name[it]": "Ely Levy", + "Name[ka]": "Ely Levy", + "Name[ko]": "Ely Levy", + "Name[lt]": "Ely Levy", + "Name[lv]": "Ely Levy", + "Name[nl]": "Ely Levy", + "Name[nn]": "Ely Levy", + "Name[pl]": "Ely Levy", + "Name[pt]": "Ely Levy", + "Name[pt_BR]": "Ely Levy", + "Name[ro]": "Ely Levy", + "Name[ru]": "Ely Levy", + "Name[sa]": "एली लेवी", + "Name[sk]": "Ely Levy", + "Name[sl]": "Ely Levy", + "Name[sr@ijekavian]": "Ели Леви", + "Name[sr@ijekavianlatin]": "Eli Levi", + "Name[sr@latin]": "Eli Levi", + "Name[sr]": "Ели Леви", + "Name[sv]": "Ely Levy", + "Name[tr]": "Ely Levy", + "Name[uk]": "Ely Levy", + "Name[vi]": "Ely Levy", + "Name[zh_CN]": "Ely Levy", + "Name[zh_TW]": "Ely Levy" + } + ], + "Copyright": "© 2008 Ely Levy", + "Copyright[ar]": "© 2008 Ely Levy", + "Copyright[az]": "© 2008 Ely Levy", + "Copyright[be]": "© 2008 Ely Levy", + "Copyright[bg]": "© 2008 Ely Levy", + "Copyright[ca@valencia]": "© 2008 Ely Levy", + "Copyright[ca]": "© 2008 Ely Levy", + "Copyright[cs]": "© 2008 Ely Levy", + "Copyright[da]": "© 2008 Ely Levy", + "Copyright[de]": "© 2008 Ely Levy", + "Copyright[el]": "© 2008 Ely Levy", + "Copyright[en_GB]": "© 2008 Ely Levy", + "Copyright[eo]": "© 2008 Ely Levy", + "Copyright[es]": "© 2008 Ely Levy", + "Copyright[et]": "© 2008: Ely Levy", + "Copyright[eu]": "© 2008 Ely Levy", + "Copyright[fi]": "© 2008 Ely Levy", + "Copyright[fr]": "© 2008 Ely Levy", + "Copyright[gl]": "© 2008 Ely Levy", + "Copyright[he]": "© 2008 אלי לוי", + "Copyright[hu]": "© Ely Levy, 2008.", + "Copyright[ia]": "© 2008 Ely Levy", + "Copyright[ie]": "© 2008 Ely Levy", + "Copyright[is]": "© 2008 Ely Levy", + "Copyright[it]": "© 2008 Ely Levy", + "Copyright[ka]": "© 2008 Ely Levy", + "Copyright[ko]": "© 2008 Ely Levy", + "Copyright[lt]": "© 2008 Ely Levy", + "Copyright[lv]": "© 2008 Ely Levy", + "Copyright[nl]": "© 2008 Ely Levy", + "Copyright[nn]": "© 2008 Ely Levy", + "Copyright[pl]": "© 2008 Ely Levy", + "Copyright[pt]": "© 2008 Ely Levy", + "Copyright[pt_BR]": "© 2008 Ely Levy", + "Copyright[ro]": "© 2008 Ely Levy", + "Copyright[ru]": "© Ely Levy, 2008", + "Copyright[sa]": "© 2008 एली लेवी", + "Copyright[sk]": "© 2008 Ely Levy", + "Copyright[sl]": "© 2008 Ely Levy", + "Copyright[sr@ijekavian]": "© 2008, Ели Леви", + "Copyright[sr@ijekavianlatin]": "© 2008, Eli Levi", + "Copyright[sr@latin]": "© 2008, Eli Levi", + "Copyright[sr]": "© 2008, Ели Леви", + "Copyright[sv]": "© 2008 Ely Levy", + "Copyright[tr]": "© 2008 Ely Levy", + "Copyright[uk]": "© Ely Levy, 2008", + "Copyright[vi]": "© 2008 Ely Levy", + "Copyright[zh_CN]": "© 2008 Ely Levy", + "Copyright[zh_TW]": "© 2008 Ely Levy", + "Description": "An EPub backend", + "Description[ar]": "خلفية EPub", + "Description[az]": "EPub modulu", + "Description[be]": "Рухавік EPub", + "Description[bg]": "Бекенд на EPub", + "Description[ca@valencia]": "Un dorsal d'EPub", + "Description[ca]": "Un dorsal d'EPub", + "Description[cs]": "Podpůrná vrstva EPub", + "Description[da]": "En EPub-backend", + "Description[de]": "Ein Anzeigemodul für EPUB", + "Description[el]": "Σύστημα υποστήριξης EPub", + "Description[en_GB]": "An EPub backend", + "Description[eo]": "EPub-backend", + "Description[es]": "Un motor para EPub", + "Description[et]": "EPubi taustaprogramm", + "Description[eu]": "EPub-en bizkarraldeko bat", + "Description[fi]": "EPub-taustaosa", + "Description[fr]": "Un moteur pour ePub", + "Description[gl]": "Motor de EPub.", + "Description[he]": "מנגנון EPub", + "Description[hu]": "EPub modul", + "Description[ia]": "Un retro-administration de EPub", + "Description[ie]": "Infrastructura EPub", + "Description[is]": "EPub-bakendi", + "Description[it]": "Backend EPub", + "Description[ka]": "Epub ფაილის რენდერერი", + "Description[ko]": "EPub 백엔드", + "Description[lt]": "EPub programinė sąsaja", + "Description[lv]": "EPub aizmugursistēma", + "Description[nl]": "Een EPub-backend", + "Description[nn]": "Ein EPUB-motor", + "Description[pa]": "EPub ਬੈਕਐਂਡ", + "Description[pl]": "Obsługa formatu EPUB", + "Description[pt]": "Uma infra-estrutura de EPub", + "Description[pt_BR]": "Uma infraestrutura para EPub", + "Description[ro]": "O platformă EPub", + "Description[ru]": "Модуль поддержки формата EPub", + "Description[sa]": "एकः EPub पृष्ठभागः", + "Description[sk]": "EPub backend", + "Description[sl]": "Zaledje za EPub", + "Description[sr@ijekavian]": "Позадина за ЕПУБ", + "Description[sr@ijekavianlatin]": "Pozadina za EPUB", + "Description[sr@latin]": "Pozadina za EPUB", + "Description[sr]": "Позадина за ЕПУБ", + "Description[sv]": "Ett Epub-gränssnitt", + "Description[tr]": "Bir EPub arka ucu", + "Description[uk]": "Сервер EPub", + "Description[vi]": "Một hậu phương EPub", + "Description[zh_CN]": "EPub 的后端程序", + "Description[zh_TW]": "EPub 後端介面", + "License": "GPL", + "MimeTypes": [ + "application/epub+zip" + ], + "Name": "EPub Backend", + "Name[ar]": "خلفية EPub", + "Name[az]": "EPub modulu", + "Name[be]": "Рухавік EPub", + "Name[bg]": "Бекенд на EPub", + "Name[ca@valencia]": "Dorsal EPub", + "Name[ca]": "Dorsal EPub", + "Name[cs]": "Podpůrná vrstva EPub", + "Name[da]": "EPub-backend", + "Name[de]": "Anzeigemodul für EPUB", + "Name[el]": "Σύστημα υποστήριξης EPub", + "Name[en_GB]": "EPub Backend", + "Name[eo]": "EPub-Backend", + "Name[es]": "Motor para EPub", + "Name[et]": "EPubi taustaprogramm", + "Name[eu]": "EPub-en bizkarraldekoa", + "Name[fi]": "EPub-taustaosa", + "Name[fr]": "Moteur pour ePub", + "Name[gl]": "Motor de EPub", + "Name[he]": "מנגנון EPub", + "Name[hu]": "EPub modul", + "Name[ia]": "Retro-Administration de EPub", + "Name[ie]": "Infrastructura EPub", + "Name[is]": "EPub-bakendi", + "Name[it]": "Backend EPub", + "Name[ka]": "EPub უკანაბოლო", + "Name[ko]": "EPub 백엔드", + "Name[lt]": "EPub programinė sąsaja", + "Name[lv]": "EPub aizmugursistēma", + "Name[nl]": "EPub-backend", + "Name[nn]": "EPUB-motor", + "Name[pa]": "EPub ਬੈਕਐਂਡ", + "Name[pl]": "Obsługa EPUB", + "Name[pt]": "Infra-Estrutura de EPub", + "Name[pt_BR]": "Infraestrutura EPub", + "Name[ro]": "Platformă EPub", + "Name[ru]": "Модуль поддержки формата EPub", + "Name[sa]": "EPub Backend इति", + "Name[sk]": "EPub Backend", + "Name[sl]": "Zaledje za EPub", + "Name[sr@ijekavian]": "Позадина за ЕПУБ", + "Name[sr@ijekavianlatin]": "Pozadina za EPUB", + "Name[sr@latin]": "Pozadina za EPUB", + "Name[sr]": "Позадина за ЕПУБ", + "Name[sv]": "Epub-gränssnitt", + "Name[ta]": "EPub பின்நிலை", + "Name[tr]": "EPub Arka Ucu", + "Name[uk]": "Модуль EPub", + "Name[vi]": "Hậu phương EPub", + "Name[zh_CN]": "EPub 后端程序", + "Name[zh_TW]": "EPub 後端介面", + "Version": "0.2.3" + }, + "X-KDE-Priority": 1, + "X-KDE-okularAPIVersion": 1, + "X-KDE-okularHasInternalSettings": true +} diff --git a/generators/epub/okularApplication_epub.desktop b/generators/epub/okularApplication_epub.desktop new file mode 100755 index 0000000..b62934d --- /dev/null +++ b/generators/epub/okularApplication_epub.desktop @@ -0,0 +1,258 @@ +[Desktop Entry] +MimeType=application/epub+zip; +Terminal=false +Name=Okular +Name[ar]=اوكلار +Name[az]=Okular +Name[be]=Okular +Name[bg]=Okular +Name[bs]=Okular +Name[ca]=Okular +Name[ca@valencia]=Okular +Name[cs]=Okular +Name[da]=Okular +Name[de]=Okular +Name[el]=Okular +Name[en_GB]=Okular +Name[eo]=Okular +Name[es]=Okular +Name[et]=Okular +Name[eu]=Okular +Name[fi]=Okular +Name[fr]=Okular +Name[ga]=Okular +Name[gl]=Okular +Name[he]=Okular +Name[hne]=ओकुलर +Name[hr]=Okular +Name[hu]=Okular +Name[ia]=Okular +Name[ie]=Okular +Name[is]=Okular +Name[it]=Okular +Name[ja]=Okular +Name[ka]=Okular +Name[kk]=Okular +Name[km]=Okular +Name[ko]=Okular +Name[ku]=Okular +Name[lt]=Okular +Name[lv]=Okular +Name[mr]=ओक्युलर +Name[nb]=Okular +Name[nds]=Okular +Name[nl]=Okular +Name[nn]=Okular +Name[pa]=ਓਕੁਲਾਰ +Name[pl]=Okular +Name[pt]=Okular +Name[pt_BR]=Okular +Name[ro]=Okular +Name[ru]=Okular +Name[sa]=नेत्रस्य +Name[si]=Okular +Name[sk]=Okular +Name[sl]=Okular +Name[sq]=Okular +Name[sr]=Окулар +Name[sr@ijekavian]=Окулар +Name[sr@ijekavianlatin]=Okular +Name[sr@latin]=Okular +Name[sv]=Okular +Name[ta]=ஆக்குலர் +Name[th]=โอกูลาร์ +Name[tr]=Okular +Name[ug]=Okular +Name[uk]=Okular +Name[vi]=Okular +Name[zh_CN]=Okular 文档查看器 +Name[zh_TW]=Okular +GenericName=Document Viewer +GenericName[ar]=عارض المستندات +GenericName[az]=Sənədə baxış vasitısi +GenericName[be]=Сродак для прагляду дакументаў +GenericName[bg]=Преглед на документи +GenericName[bs]=Prikazivač dokumenata +GenericName[ca]=Visualitzador de documents +GenericName[ca@valencia]=Visor de documents +GenericName[cs]=Prohlížeč dokumentů +GenericName[da]=Dokumentfremviser +GenericName[de]=Dokumentenbetrachter +GenericName[el]=Προβολέας εγγράφων +GenericName[en_GB]=Document Viewer +GenericName[eo]=Dokumenta rigardilo +GenericName[es]=Visor de documentos +GenericName[et]=Dokumendinäitaja +GenericName[eu]=Dokumentu erakuslea +GenericName[fa]=مشاهده‌گر سند +GenericName[fi]=Asiakirjakatselin +GenericName[fr]=Afficheur de documents +GenericName[ga]=Amharcán Cáipéisí +GenericName[gl]=Visor de documentos +GenericName[he]=מציג מסמכים +GenericName[hi]=दस्तावेज़ प्रदर्शक +GenericName[hne]=कागद प्रदर्सक +GenericName[hr]=Preglednik dokumenata +GenericName[hu]=Dokumentummegjelenítő +GenericName[ia]=Visor de documento +GenericName[ie]=Visor de documentes +GenericName[is]=Skjalaskoðari +GenericName[it]=Visore di documenti +GenericName[ja]=文書ビューア +GenericName[ka]=დოკუმენტების მნახველი +GenericName[kk]=Құжатты қарау құралы +GenericName[km]=កម្មវិធី​មើល​ឯកសារ +GenericName[ko]=문서 뷰어 +GenericName[ku]=Nîşanderê Belgeyan +GenericName[lt]=Dokumentų žiÅ«ryklė +GenericName[lv]=Dokumentu skatÄ«tājs +GenericName[mr]=दस्तऐवज प्रदर्शक +GenericName[nb]=Dokumentviser +GenericName[nds]=Dokmentkieker +GenericName[ne]=कागजात दर्शक +GenericName[nl]=Documentenviewer +GenericName[nn]=Dokumentvisar +GenericName[oc]=Visualizaire de documents +GenericName[pa]=ਡੌਕੂਮੈਂਟ ਦਰਸ਼ਕ +GenericName[pl]=Przeglądarka dokumentów +GenericName[pt]=Visualizador de Documentos +GenericName[pt_BR]=Visualizador de documentos +GenericName[ro]=Vizualizor de documente +GenericName[ru]=Просмотр документов +GenericName[sa]=दस्तावेज दर्शक +GenericName[sk]=Prehliadač dokumentov +GenericName[sl]=Pregledovalnik dokumentov +GenericName[sq]=Shikues dokumentesh +GenericName[sr]=Приказивач докумената +GenericName[sr@ijekavian]=Приказивач докумената +GenericName[sr@ijekavianlatin]=Prikazivač dokumenata +GenericName[sr@latin]=Prikazivač dokumenata +GenericName[sv]=Dokumentvisare +GenericName[ta]=ஆவணங் காட்டி +GenericName[th]=เครื่องมือแสดงเอกสาร +GenericName[tr]=Belge Görüntüleyicisi +GenericName[ug]=پۈتۈك كۆرگۈ +GenericName[uk]=Переглядач документів +GenericName[vi]=Trình xem tài liệu +GenericName[zh_CN]=文档查看器 +GenericName[zh_TW]=文件檢視器 +Comment=Universal document viewer +Comment[ar]=عارض المستندات عالمي +Comment[az]=Sənədə universal baxış vasitəsi +Comment[be]=Універсальны сродак для прагляду дакументаў +Comment[bg]=Универсална програма за преглед на документи +Comment[ca]=Visualitzador universal de documents +Comment[ca@valencia]=Visor universal de documents +Comment[cs]=Univerzální prohlížeč dokumentů +Comment[da]=Universel dokumentfremviser +Comment[de]=Universeller Dokumentenbetrachter +Comment[el]=Καθολικός προβολέας εγγράφων +Comment[en_GB]=Universal document viewer +Comment[eo]=Universala dokumenta spektilo +Comment[es]=Visor de documentos universal +Comment[et]=Universaalne dokumendinäitaja +Comment[eu]=Dokumentu erakusle unibertsala +Comment[fi]=Yleinen asiakirjakatselin +Comment[fr]=Afficheur de document universel +Comment[gl]=Visor de documentos universal. +Comment[he]=מציג מסמכים אוניברסלי +Comment[hu]=Univerzális dokumentummegjelenítő +Comment[ia]=Visor de documento universal +Comment[ie]=Universal visor de documentes +Comment[is]=Fjölhæfur skjalaskoðari +Comment[it]=Visore di documenti universale +Comment[ja]=多用途な文書ビューア +Comment[ka]=დოკუმენტების პოპულარული ფორმატების გამხსნელი +Comment[ko]=만능 문서 뷰어 +Comment[lt]=Universali dokumentų žiÅ«ryklė +Comment[lv]=Universāls dokumentu skatÄ«tājs +Comment[nl]=Universele documentviewer +Comment[nn]=Dokumentvisar for mange format +Comment[pa]=ਯੂਨੀਵਰਸਲ ਡੌਕੂਮੈਂਟ ਦਰਸ਼ਕ +Comment[pl]=Wszechstronna przeglądarka dokumentów +Comment[pt]=Visualizador de documentos universal +Comment[pt_BR]=Visualizador de documentos universal +Comment[ro]=Vizualizor de documente universal +Comment[ru]=Универсальная программа просмотра документов +Comment[sa]=सार्वभौमिक दस्तावेज दर्शक +Comment[sk]=Univerzálny prehliadač dokumentov +Comment[sl]=Vsestranski pregledovalnik dokumentov +Comment[sq]=Shikues univerzal dokumentesh +Comment[sr]=Универзални приказивач докумената +Comment[sr@ijekavian]=Универзални приказивач докумената +Comment[sr@ijekavianlatin]=Univerzalni prikazivač dokumenata +Comment[sr@latin]=Univerzalni prikazivač dokumenata +Comment[sv]=Generell dokumentvisare +Comment[ta]=அனைத்து ஆவணங்களுக்கான காட்டி +Comment[tr]=Çok amaçlı belge görüntüleyicisi +Comment[uk]=Універсальний переглядач документів +Comment[vi]=Trình xem tài liệu vạn năng +Comment[zh_CN]=通用文档查看器 +Comment[zh_TW]=通用文件檢視器 +Exec=okular %U +Icon=okular +Type=Application +InitialPreference=1 +Categories=Qt;KDE;Graphics;Viewer; +NoDisplay=true +X-KDE-Keywords=epub, e-book +X-KDE-Keywords[ar]=epub, e-book +X-KDE-Keywords[az]=epub, e-book +X-KDE-Keywords[be]=epub, e-book +X-KDE-Keywords[bg]=epub, e-book +X-KDE-Keywords[bs]=epub, e-book +X-KDE-Keywords[ca]=epub, e-book +X-KDE-Keywords[ca@valencia]=epub, e-book +X-KDE-Keywords[cs]=epub, e-book +X-KDE-Keywords[da]=epub,e-book +X-KDE-Keywords[de]=epub, e-book +X-KDE-Keywords[el]=epub, e-book +X-KDE-Keywords[en_GB]=epub, e-book +X-KDE-Keywords[eo]=epub, e-libro +X-KDE-Keywords[es]=epub, e-book +X-KDE-Keywords[et]=epub, e-book, e-raamat +X-KDE-Keywords[eu]=epub, e-liburua +X-KDE-Keywords[fi]=epub, e-book, e-kirja, sähkökirja +X-KDE-Keywords[fr]=epub, e-book +X-KDE-Keywords[ga]=epub, ríomhleabhar, r-leabhar +X-KDE-Keywords[gl]=epub, e-book, libro dixital +X-KDE-Keywords[he]=epub, e-book +X-KDE-Keywords[hu]=epub, e-book +X-KDE-Keywords[ia]=epub, e-book +X-KDE-Keywords[ie]=epub, e-book +X-KDE-Keywords[is]=epub, e-book +X-KDE-Keywords[it]=epub, e-book +X-KDE-Keywords[ja]=epub, e-book +X-KDE-Keywords[ka]=epub, e-book +X-KDE-Keywords[kk]=epub, e-book +X-KDE-Keywords[km]=epub, e-book +X-KDE-Keywords[ko]=epub, e-book,전자책,이북 +X-KDE-Keywords[lt]=epub, e-book +X-KDE-Keywords[lv]=epub, e-book, e-grāmata +X-KDE-Keywords[mr]=epub, e-book +X-KDE-Keywords[nb]=epub, e-bok +X-KDE-Keywords[nds]=epub, e-book +X-KDE-Keywords[nl]=epub, e-book +X-KDE-Keywords[nn]=epub, e-book +X-KDE-Keywords[pa]=epub, e-book +X-KDE-Keywords[pl]=epub, e-book +X-KDE-Keywords[pt]=epub, e-book +X-KDE-Keywords[pt_BR]=epub, e-book +X-KDE-Keywords[ro]=epub, e-book +X-KDE-Keywords[ru]=epub, e-book, электронная книга +X-KDE-Keywords[sa]=epub, ई-पुस्तकम् +X-KDE-Keywords[sk]=epub, e-book +X-KDE-Keywords[sl]=epub, e-knjiga +X-KDE-Keywords[sq]=epub, e-book +X-KDE-Keywords[sr]=epub, e-book,ЕПУБ,е‑књига +X-KDE-Keywords[sr@ijekavian]=epub, e-book,ЕПУБ,е‑књига +X-KDE-Keywords[sr@ijekavianlatin]=epub, e-book,EPUB,e‑knjiga +X-KDE-Keywords[sr@latin]=epub, e-book,EPUB,e‑knjiga +X-KDE-Keywords[sv]=epub, e-bok +X-KDE-Keywords[ta]=epub, e-book, புத்தகம், மின்புத்தகம் +X-KDE-Keywords[tr]=epub, e-book +X-KDE-Keywords[uk]=epub,e-book,електронна,книга +X-KDE-Keywords[vi]=epub, sách điện tá»­ +X-KDE-Keywords[zh_CN]=epub, e-book, 电子书 +X-KDE-Keywords[zh_TW]=epub, e-book +X-KDE-AliasFor=org.kde.okular.desktop diff --git a/generators/epub/org.kde.mobile.okular_epub.desktop b/generators/epub/org.kde.mobile.okular_epub.desktop new file mode 100644 index 0000000..4d7bb2f --- /dev/null +++ b/generators/epub/org.kde.mobile.okular_epub.desktop @@ -0,0 +1,252 @@ +[Desktop Entry] +MimeType=application/epub+zip; +Name=Reader +Name[ar]=التصيير +Name[az]=Oxuyucu +Name[be]=Сродак чытання +Name[bg]=Четец +Name[bs]=Čitač +Name[ca]=Lector +Name[ca@valencia]=Lector +Name[cs]=Čtečka +Name[da]=Læser +Name[de]=Lesegerät +Name[el]=Πρόγραμμα ανάγνωσης +Name[en_GB]=Reader +Name[eo]=Legilo +Name[es]=Lector +Name[et]=Lugeja +Name[eu]=Irakurlea +Name[fi]=Lukija +Name[fr]=Lecteur +Name[ga]=Léitheoir +Name[gl]=Lector +Name[he]=קורא +Name[hu]=Olvasó +Name[ia]=Lector +Name[ie]=Letor +Name[is]=Lesari +Name[it]=Lettore +Name[ja]=リーダ +Name[ka]=მკითხველი +Name[kk]=Оқу құралы +Name[ko]=리더 +Name[lt]=Skaitytuvas +Name[lv]=LasÄ«tājs +Name[mr]=वाचक +Name[nb]=Leser +Name[nds]=Leser +Name[nl]=Lezer +Name[nn]=Lesar +Name[pa]=ਰੀਡਰ +Name[pl]=Czytnik +Name[pt]=Leitor +Name[pt_BR]=Leitor +Name[ro]=Cititor +Name[ru]=Просмотрщик +Name[sa]=पाठकः +Name[sk]=Čítačka +Name[sl]=Bralnik +Name[sq]=Reader +Name[sr]=Читач +Name[sr@ijekavian]=Читач +Name[sr@ijekavianlatin]=Čitač +Name[sr@latin]=Čitač +Name[sv]=Läsprogram +Name[ta]=காட்டி +Name[tr]=Okuyucu +Name[ug]=ئوقۇغۇ +Name[uk]=Переглядач +Name[vi]=Trình đọc +Name[zh_CN]=阅读器 +Name[zh_TW]=閱讀器 +GenericName=Document viewer +GenericName[ar]=عارض المستندات +GenericName[az]=Sənədə baxış vasitısi +GenericName[be]=Сродак для прагляду дакументаў +GenericName[bg]=Преглед на документи +GenericName[bs]=Prikazivač dokumenata +GenericName[ca]=Visualitzador de documents +GenericName[ca@valencia]=Visor de documents +GenericName[cs]=Prohlížeč dokumentů +GenericName[da]=Dokumentfremviser +GenericName[de]=Dokumentenbetrachter +GenericName[el]=Προβολέας εγγράφων +GenericName[en_GB]=Document Viewer +GenericName[eo]=Dokumentrigardilo +GenericName[es]=Visor de documentos +GenericName[et]=Dokumendinäitaja +GenericName[eu]=Dokumentu erakuslea +GenericName[fi]=Asiakirjakatselin +GenericName[fr]=Afficheur de document +GenericName[ga]=Amharcán cáipéisí +GenericName[gl]=Visor de documentos +GenericName[he]=מציג מסמכים +GenericName[hi]=दस्तावेज़ प्रदर्शक +GenericName[hu]=Dokumentummegjelenítő +GenericName[ia]=Visor de documento +GenericName[ie]=Visor de documentes +GenericName[is]=Skjalaskoðari +GenericName[it]=Visore di documenti +GenericName[ja]=文書ビューア +GenericName[ka]=დოკუმენტების მნახველი +GenericName[kk]=Құжатты қарау құралы +GenericName[ko]=문서 뷰어 +GenericName[lt]=Dokumentų žiÅ«ryklė +GenericName[lv]=Dokumentu skatÄ«tājs +GenericName[mr]=दस्तऐवज प्रदर्शक +GenericName[nb]=Dokumentviser +GenericName[nds]=Dokmentkieker +GenericName[nl]=Documentenviewer +GenericName[nn]=Dokumentvisar +GenericName[pa]=ਡੌਕੂਮੈਂਟ ਦਰਸ਼ਕ +GenericName[pl]=Przeglądarka dokumentów +GenericName[pt]=Visualizador de documentos +GenericName[pt_BR]=Visualizador de documentos +GenericName[ro]=Vizualizor de documente +GenericName[ru]=Просмотр документов +GenericName[sa]=दस्तावेजदर्शकः +GenericName[sk]=Prehliadač dokumentov +GenericName[sl]=Pregledovalnik dokumentov +GenericName[sq]=Shikues dokumentesh +GenericName[sr]=Приказивач докумената +GenericName[sr@ijekavian]=Приказивач докумената +GenericName[sr@ijekavianlatin]=Prikazivač dokumenata +GenericName[sr@latin]=Prikazivač dokumenata +GenericName[sv]=Dokumentvisare +GenericName[ta]=ஆவணங் காட்டி +GenericName[tr]=Belge Görüntüleyicisi +GenericName[uk]=Переглядач документів +GenericName[vi]=Trình xem tài liệu +GenericName[zh_CN]=文档查看器 +GenericName[zh_TW]=文件檢視器 +Comment=Viewer for various types of documents +Comment[ar]=عارض للعديد من أنواع المستندات +Comment[az]=Müxtəlif növlü sənədlər üçün görüntüləyici +Comment[be]=Сродак для прагляду разнастайных тыпаў дакументаў +Comment[bg]=Преглед на различни видове документи +Comment[bs]=Pregledač raznih vrsta dokumenata +Comment[ca]=Visualitzador de diversos tipus de documents +Comment[ca@valencia]=Visor de diversos tipus de documents +Comment[cs]=Prohlížeč různých typů dokumentů +Comment[da]=Fremviser af diverse dokumenttyper +Comment[de]=Betrachter für verschiedene Arten von Dokumenten +Comment[el]=Πρόγραμμα προβολής για διάφορους τύπους εγγράφων +Comment[en_GB]=Viewer for various types of documents +Comment[eo]=Vidilo por diversaj specoj de dokumentoj +Comment[es]=Visor de diversos tipos de documentos +Comment[et]=Eri tüüpi dokumentide näitaja +Comment[eu]=Hainbat dokumentu moten erakuslea +Comment[fi]=Monenlaisten asiakirjojen katseluohjelma +Comment[fr]=Afficheur pour différents types de documents +Comment[ga]=Amharcán le haghaidh cáipéisí éagsúla +Comment[gl]=Visor de varios tipos de documentos. +Comment[he]=מציג למגוון סוגי מסמכים +Comment[hu]=Megjelenítő különféle típusú dokumentumokhoz +Comment[ia]=Visor pro varie typos de documento +Comment[ie]=Visor por varie tipes de documentes +Comment[is]=Skoðari fyrir ýmsar gerðir skjala +Comment[it]=Visore per vari tipi di documenti +Comment[ja]=様々なタイプの文書のためのビューア +Comment[ka]=სხვადასხვა ტიპების დოკუმენტების დათვალიერება +Comment[kk]=Түрлі құжаттар қарау құралы +Comment[ko]=여러 형식의 문서 뷰어 +Comment[lt]=ŽiÅ«ryklė įvairiems dokumentų tipams +Comment[lv]=Dažādu dokumentu tipu skatÄ«tājs +Comment[mr]=विविध प्रकारच्या दस्तऐवजांचा प्रदर्शक +Comment[nb]=Framviser for forskjellige dokumenttyper +Comment[nds]=Kieker för en Reeg Dokmenttypen +Comment[nl]=Viewer voor verschillende typen documenten +Comment[nn]=Framvisar for forskjellige dokumenttypar +Comment[pa]=ਕਈ ਕਿਸਮ ਦੇ ਡੌਕੂਮੈਂਟ ਵੇਖਾਉਣ ਲਈ ਦਰਸ਼ਕ +Comment[pl]=Przeglądarka dla różnych typów dokumentów +Comment[pt]=Visualizador de vários tipos de documentos +Comment[pt_BR]=Visualizador para vários tipos de documentos +Comment[ro]=Vizualizor pentru diferite tipuri de documente +Comment[ru]=Программа для просмотра различных типов документов +Comment[sa]=विभिन्नप्रकारस्य दस्तावेजानां कृते दर्शकः +Comment[sk]=Prehliadač pre rôzne typy dokumentov +Comment[sl]=Pregledovalnik raznih vrst dokumentov +Comment[sq]=Shikues për lloje të ndryshme të dokumentave +Comment[sr]=Приказивач различитих врста докумената +Comment[sr@ijekavian]=Приказивач различитих врста докумената +Comment[sr@ijekavianlatin]=Prikazivač različitih vrsta dokumenata +Comment[sr@latin]=Prikazivač različitih vrsta dokumenata +Comment[sv]=Visningsprogram för diverse typer av dokument +Comment[ta]=பலவகையான ஆவணங்களுக்கான காட்டி +Comment[tr]=Çeşitli belge türleri için görüntüleyici +Comment[ug]=ھەر خىل تىپتىكى پۈتۈكلەرنى كۆرىدىغان پروگرامما +Comment[uk]=Програма для перегляду документів різних типів +Comment[vi]=Trình xem các kiểu tài liệu khác nhau +Comment[zh_CN]=支持查看多种文档类型 +Comment[zh_TW]=多種型態文件的檢視器 + +TryExec=okularkirigami +Exec=okularkirigami %u +Terminal=false +Icon=okular +Type=Application +Categories=Qt;KDE;Graphics;Office;Viewer; +InitialPreference=2 +NoDisplay=true +X-KDE-Keywords=epub, e-book +X-KDE-Keywords[ar]=epub, e-book +X-KDE-Keywords[az]=epub, e-book +X-KDE-Keywords[be]=epub, e-book +X-KDE-Keywords[bg]=epub, e-book +X-KDE-Keywords[bs]=epub, e-book +X-KDE-Keywords[ca]=epub, e-book +X-KDE-Keywords[ca@valencia]=epub, e-book +X-KDE-Keywords[cs]=epub, e-book +X-KDE-Keywords[da]=epub,e-book +X-KDE-Keywords[de]=epub, e-book +X-KDE-Keywords[el]=epub, e-book +X-KDE-Keywords[en_GB]=epub, e-book +X-KDE-Keywords[eo]=epub, e-libro +X-KDE-Keywords[es]=epub, e-book +X-KDE-Keywords[et]=epub, e-book, e-raamat +X-KDE-Keywords[eu]=epub, e-liburua +X-KDE-Keywords[fi]=epub, e-book, e-kirja, sähkökirja +X-KDE-Keywords[fr]=epub, e-book +X-KDE-Keywords[ga]=epub, ríomhleabhar, r-leabhar +X-KDE-Keywords[gl]=epub, e-book, libro dixital +X-KDE-Keywords[he]=epub, e-book +X-KDE-Keywords[hu]=epub, e-book +X-KDE-Keywords[ia]=epub, e-book +X-KDE-Keywords[ie]=epub, e-book +X-KDE-Keywords[is]=epub, e-book +X-KDE-Keywords[it]=epub, e-book +X-KDE-Keywords[ja]=epub, e-book +X-KDE-Keywords[ka]=epub, e-book +X-KDE-Keywords[kk]=epub, e-book +X-KDE-Keywords[km]=epub, e-book +X-KDE-Keywords[ko]=epub, e-book,전자책,이북 +X-KDE-Keywords[lt]=epub, e-book +X-KDE-Keywords[lv]=epub, e-book, e-grāmata +X-KDE-Keywords[mr]=epub, e-book +X-KDE-Keywords[nb]=epub, e-bok +X-KDE-Keywords[nds]=epub, e-book +X-KDE-Keywords[nl]=epub, e-book +X-KDE-Keywords[nn]=epub, e-book +X-KDE-Keywords[pa]=epub, e-book +X-KDE-Keywords[pl]=epub, e-book +X-KDE-Keywords[pt]=epub, e-book +X-KDE-Keywords[pt_BR]=epub, e-book +X-KDE-Keywords[ro]=epub, e-book +X-KDE-Keywords[ru]=epub, e-book, электронная книга +X-KDE-Keywords[sa]=epub, ई-पुस्तकम् +X-KDE-Keywords[sk]=epub, e-book +X-KDE-Keywords[sl]=epub, e-knjiga +X-KDE-Keywords[sq]=epub, e-book +X-KDE-Keywords[sr]=epub, e-book,ЕПУБ,е‑књига +X-KDE-Keywords[sr@ijekavian]=epub, e-book,ЕПУБ,е‑књига +X-KDE-Keywords[sr@ijekavianlatin]=epub, e-book,EPUB,e‑knjiga +X-KDE-Keywords[sr@latin]=epub, e-book,EPUB,e‑knjiga +X-KDE-Keywords[sv]=epub, e-bok +X-KDE-Keywords[ta]=epub, e-book, புத்தகம், மின்புத்தகம் +X-KDE-Keywords[tr]=epub, e-book +X-KDE-Keywords[uk]=epub,e-book,електронна,книга +X-KDE-Keywords[vi]=epub, sách điện tá»­ +X-KDE-Keywords[zh_CN]=epub, e-book, 电子书 +X-KDE-Keywords[zh_TW]=epub, e-book +X-KDE-AliasFor=org.kde.okular.kirigami.desktop diff --git a/generators/epub/org.kde.okular-epub.metainfo.xml b/generators/epub/org.kde.okular-epub.metainfo.xml new file mode 100644 index 0000000..aba8b15 --- /dev/null +++ b/generators/epub/org.kde.okular-epub.metainfo.xml @@ -0,0 +1,139 @@ + + + org.kde.okular-epub + org.kde.okular.desktop + CC0-1.0 + GPL-2.0+ and GFDL-1.3 + EPub + EPub + EPub + EPub + EPub + EPub + EPub + EPub + EPub + EPub + EPub + EPub + EPub + EPub + EPub + EPub + EPub + ePub + EPub + EPub + ईपब + EPub + EPub + EPub + EPub + EPub + EPub + EPub + EPub + EPub + ഈപബ്‌ + EPub + EPUB + EPUB + EPub + EPub + EPub + EPub + ईपुब + EPub + EPub + ЕПУБ + EPUB + ЕПУБ + EPUB + Epub + EPub + EPub + EPub + EPub + EPub + EPub + Adds support for reading E-Books + يضيف دعم لقراءة الكتب الإلكترونية + E-Books sənədlərini oxumaq üçün dəstək əlavə edir + Падтрымка чытання E-Books + Добавя поддръжка за четене на електронни книги във формат EPub + Afegeix la implementació per a llegir llibres electrònics + Afig la implementació per a llegir llibres electrònics + Přidává podporu pro čtení e-booků + Bietet Unterstützung zum Lesen von EPub-E-Books + Προσθέτει υποστήριξη για την ανάγνωση E-Books + Adds support for reading E-Books + Aldonas subtenon por legi E-librojn + Permite la lectura de libros electrónicos + E-raamatute lugemise toetus + E-Liburuak irakurtzeko euskarria gehitzen du + Lisää e-kirjojen lukutuen + Permet la lecture des livres électroniques (eBooks) + Engade a posibilidade de ler libros electrónicos + מוסיף תמיכה בקריאת ספרים אלקטרוניים (E-Books) + ई-पुस्तक पढ़ने के लिए समर्थन जोड़ता है + Támogatás e-könyvek olvasásához + Adde supporto per leger E-libros + Adjunte li supporte de letion de e-libres + Bætir við stuðningi til að lesa rafbækur + Aggiunge il supporto per la lettura di libri digitali in formato EPub + ელწიგნის კითხვის მხარდაჭერის დამატება + 전자책 읽기 지원 추가 + Prideda palaikymą elektroninių knygų skaitymui + Pievieno atbalstu elektronisko grāmatu lasīšanai + ഇ-ബുക്കുകൾ വായിക്കുന്നതിനുള്ള പിന്തുണ ചേർക്കുന്നു + Voegt ondersteuning voor lezen van e-boeken toe + Legg til støtte for Ã¥ lesa e-bøker i EPUB-formatet + Dodaje obsługę czytania ebooków + Adiciona o suporte para a leitura de E-Books + Adiciona o suporte para leitura de E-Books + Adaugă suport pentru citirea cărților electronice + Поддержка чтения электронных книг EPub + E-Books पठनस्य समर्थनं योजयति + Pridá podporu pre čítanie e-kníh + Doda podporo za branje e-knjig + Подршка за читање е‑књига + PodrÅ¡ka za čitanje e‑knjiga + Подршка за читање е‑књига + PodrÅ¡ka za čitanje e‑knjiga + Lägger till stöd för att läsa e-böcker + மின்புத்தகங்களைப் படிப்பதற்கான ஆதரவை சேர்க்கும் + E-kitapları okumak için destek ekler + Додає підтримку читання електронних книг + Thêm hỗ trợ đọc sách điện tá»­ + 增加对 EPub 电子书的阅读支持 + 加入讀取電子書的支援 + + application/epub+zip + + https://okular.kde.org + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/generators/fax/CMakeLists.txt b/generators/fax/CMakeLists.txt new file mode 100644 index 0000000..5d78b03 --- /dev/null +++ b/generators/fax/CMakeLists.txt @@ -0,0 +1,19 @@ +remove_definitions(-DTRANSLATION_DOMAIN="okular") +add_definitions(-DTRANSLATION_DOMAIN="okular_fax") + +########### next target ############### + +set(okularGenerator_fax_PART_SRCS generator_fax.cpp faxdocument.cpp faxexpand.cpp faxinit.cpp fax_debug.cpp) + +okular_add_generator(okularGenerator_fax ${okularGenerator_fax_PART_SRCS}) + +target_link_libraries(okularGenerator_fax okularcore KF6::I18n Qt6::Xml) + +########### install files ############### +if (BUILD_DESKTOP) + install( PROGRAMS okularApplication_fax.desktop DESTINATION ${KDE_INSTALL_APPDIR} ) +endif() +if (BUILD_MOBILE) + install( PROGRAMS org.kde.mobile.okular_fax.desktop DESTINATION ${KDE_INSTALL_APPDIR} ) +endif() +install( FILES org.kde.okular-fax.metainfo.xml DESTINATION ${KDE_INSTALL_METAINFODIR} ) diff --git a/generators/fax/Messages.sh b/generators/fax/Messages.sh new file mode 100644 index 0000000..18e1827 --- /dev/null +++ b/generators/fax/Messages.sh @@ -0,0 +1,2 @@ +#!/bin/sh +$XGETTEXT $(find . -name "*.cpp" -o -name "*.h") -o $podir/okular_fax.pot diff --git a/generators/fax/fax_debug.cpp b/generators/fax/fax_debug.cpp new file mode 100644 index 0000000..91b4c67 --- /dev/null +++ b/generators/fax/fax_debug.cpp @@ -0,0 +1,7 @@ +/* + SPDX-FileCopyrightText: 2014 Laurent Montel + SPDX-License-Identifier: LGPL-2.0-or-later +*/ + +#include "fax_debug.h" +Q_LOGGING_CATEGORY(FAX_LOG, "org.kde.okular.generators.fax", QtWarningMsg) diff --git a/generators/fax/fax_debug.h b/generators/fax/fax_debug.h new file mode 100644 index 0000000..d157e39 --- /dev/null +++ b/generators/fax/fax_debug.h @@ -0,0 +1,12 @@ +/* + SPDX-FileCopyrightText: 2014 Laurent Montel + SPDX-License-Identifier: LGPL-2.0-or-later +*/ + +#ifndef FAX_DEBUG_H +#define FAX_DEBUG_H + +#include +Q_DECLARE_LOGGING_CATEGORY(FAX_LOG) + +#endif diff --git a/generators/fax/faxdocument.cpp b/generators/fax/faxdocument.cpp new file mode 100644 index 0000000..1ddff4b --- /dev/null +++ b/generators/fax/faxdocument.cpp @@ -0,0 +1,304 @@ +/* + SPDX-FileCopyrightText: 2008 Tobias Koenig + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "faxdocument.h" + +#include + +#include + +#include "faxexpand.h" + +static const char FAXMAGIC[] = "\000PC Research, Inc\000\000\000\000\000\000"; + +#define FAX_DPI_FINE QPoint(203, 196) + +/* rearrange input bits into t16bits lsb-first chunks */ +static void normalize(pagenode *pn, int revbits, int swapbytes, size_t length) +{ + t32bits *p = reinterpret_cast(pn->data); + + switch ((revbits << 1) | swapbytes) { + case 0: + break; + case 1: + for (; length; length -= 4) { + t32bits t = *p; + *p++ = ((t & 0xff00ff00) >> 8) | ((t & 0x00ff00ff) << 8); + } + break; + case 2: + for (; length; length -= 4) { + t32bits t = *p; + t = ((t & 0xf0f0f0f0) >> 4) | ((t & 0x0f0f0f0f) << 4); + t = ((t & 0xcccccccc) >> 2) | ((t & 0x33333333) << 2); + *p++ = ((t & 0xaaaaaaaa) >> 1) | ((t & 0x55555555) << 1); + } + break; + case 3: + for (; length; length -= 4) { + t32bits t = *p; + t = ((t & 0xff00ff00) >> 8) | ((t & 0x00ff00ff) << 8); + t = ((t & 0xf0f0f0f0) >> 4) | ((t & 0x0f0f0f0f) << 4); + t = ((t & 0xcccccccc) >> 2) | ((t & 0x33333333) << 2); + *p++ = ((t & 0xaaaaaaaa) >> 1) | ((t & 0x55555555) << 1); + } + } +} + +static bool new_image(pagenode *pn, int width, int height) +{ + pn->image = QImage(width, height, QImage::Format_MonoLSB); + pn->image.setColor(0, qRgb(255, 255, 255)); + pn->image.setColor(1, qRgb(0, 0, 0)); + pn->bytes_per_line = pn->image.bytesPerLine(); + pn->dpi = FAX_DPI_FINE; + pn->imageData = new uchar[width * height]; + + return !pn->image.isNull(); +} + +/* get compressed data into memory */ +static unsigned char *getstrip(pagenode *pn, int strip) +{ + size_t offset, roundup; + unsigned char *data; + + union { + t16bits s; + unsigned char b[2]; + } so; +#define ShortOrder so.b[1] + so.s = 1; /* XXX */ + + QFile file(pn->filename); + if (!file.open(QIODevice::ReadOnly)) { + return nullptr; + } + + if (pn->strips == nullptr) { + offset = 0; + pn->length = file.size(); + } else if (strip < pn->nstrips) { + offset = pn->strips[strip].offset; + pn->length = pn->strips[strip].size; + } else { + return nullptr; + } + + /* round size to full boundary plus t32bits */ + roundup = (pn->length + 7) & ~3; + + data = new uchar[roundup]; + /* clear the last 2 t32bits, to force the expander to terminate + even if the file ends in the middle of a fax line */ + *(reinterpret_cast(data + roundup / 4 - 2)) = 0; + *(reinterpret_cast(data + roundup / 4 - 1)) = 0; + + /* we expect to get it in one gulp... */ + if (!file.seek(offset) || (size_t)file.read(reinterpret_cast(data), pn->length) != pn->length) { + delete[] data; + return nullptr; + } + file.close(); + + pn->data = reinterpret_cast(data); + + if (pn->strips == nullptr && memcmp(data, FAXMAGIC, sizeof(FAXMAGIC) - 1) == 0) { + /* handle ghostscript / PC Research fax file */ + pn->length -= 64; + pn->vres = data[29]; + pn->data += 32; + roundup -= 64; + } + + normalize(pn, !pn->lsbfirst, ShortOrder, roundup); + if (pn->size.height() == 0) { + pn->size.setHeight(G3count(pn, pn->expander == g32expand)); + } + + if (pn->size.height() == 0) { + delete[] data; + pn->data = nullptr; + return nullptr; + } + + if (pn->strips == nullptr) { + pn->rowsperstrip = pn->size.height(); + } + + pn->dataOrig = reinterpret_cast(data); + + return data; +} + +static void draw_line(pixnum *run, int lineNum, pagenode *pn) +{ + t32bits *p, *p1; /* p - current line, p1 - low-res duplicate */ + pixnum *r; /* pointer to run-lengths */ + t32bits pix; /* current pixel value */ + t32bits acc; /* pixel accumulator */ + int nacc; /* number of valid bits in acc */ + int tot; /* total pixels in line */ + + lineNum += pn->stripnum * pn->rowsperstrip; + if (lineNum >= pn->size.height()) { + return; + } + + p = reinterpret_cast(pn->imageData + lineNum * (2 - pn->vres) * pn->bytes_per_line); + p1 = reinterpret_cast(pn->vres ? nullptr : p + pn->bytes_per_line / sizeof(*p)); // NOLINT(bugprone-sizeof-expression) + + r = run; + acc = 0; + nacc = 0; + pix = pn->inverse ? ~0 : 0; + tot = 0; + while (tot < pn->size.width()) { + int n = *r++; + tot += n; + /* Watch out for buffer overruns, e.g. when n == 65535. */ + if (tot > pn->size.width()) { + break; + } + if (pix) { + acc |= (~(t32bits)0 >> nacc); + } else if (nacc) { + acc &= (~(t32bits)0 << (32 - nacc)); + } else { + acc = 0; + } + if (nacc + n < 32) { + nacc += n; + pix = ~pix; + continue; + } + *p++ = acc; + if (p1) { + *p1++ = acc; + } + n -= 32 - nacc; + while (n >= 32) { + n -= 32; + *p++ = pix; + if (p1) { + *p1++ = pix; + } + } + acc = pix; + nacc = n; + pix = ~pix; + } + if (nacc) { + *p++ = acc; + if (p1) { + *p1++ = acc; + } + } +} + +static bool get_image(pagenode *pn) +{ + const unsigned char *data = getstrip(pn, 0); + if (!data) { + return false; + } + + if (!new_image(pn, pn->size.width(), (pn->vres ? 1 : 2) * pn->size.height())) { + return false; + } + + (*pn->expander)(pn, draw_line); + + return true; +} + +class FaxDocument::Private +{ +public: + explicit Private(FaxDocument *parent, FaxDocument::DocumentType type) + : mParent(parent) + , mType(type) + { + mPageNode.size = QSize(1728, 0); + } + + FaxDocument *mParent; + pagenode mPageNode; + FaxDocument::DocumentType mType; +}; + +FaxDocument::FaxDocument(const QString &fileName, DocumentType type) + : d(new Private(this, type)) +{ + d->mPageNode.filename = fileName; + d->mPageNode.strips = nullptr; + d->mPageNode.stripnum = 0; + d->mPageNode.lsbfirst = 0; + d->mPageNode.vres = 1; + d->mPageNode.inverse = 0; + d->mPageNode.data = nullptr; + d->mPageNode.dataOrig = nullptr; + d->mPageNode.imageData = nullptr; + + if (d->mType == G3) { + d->mPageNode.expander = g31expand; // or g32expand?!? + } else if (d->mType == G4) { + d->mPageNode.expander = g4expand; + } +} + +FaxDocument::~FaxDocument() +{ + delete[] d->mPageNode.dataOrig; + delete[] d->mPageNode.imageData; + delete d; +} + +bool FaxDocument::load() +{ + fax_init_tables(); + + bool ok = get_image(&(d->mPageNode)); + if (!ok) { + return false; + } + + // byte-swapping the image + int height = d->mPageNode.size.height(); + int bytes_per_line = d->mPageNode.size.width() / 8; + + QByteArray bytes(height * bytes_per_line, 0); + for (int y = height - 1; y >= 0; --y) { + quint32 offset = y * bytes_per_line; + quint32 *source = reinterpret_cast(d->mPageNode.imageData + offset); + quint32 *dest = reinterpret_cast(bytes.data() + offset); + for (int x = (bytes_per_line / 4) - 1; x >= 0; --x) { + quint32 dv = 0, sv = *source; + for (int bit = 32; bit > 0; --bit) { + dv <<= 1; + dv |= sv & 1; + sv >>= 1; + } + *dest = dv; + ++dest; + ++source; + } + } + + // convert it into a QImage + QImage img(reinterpret_cast(bytes.data()), d->mPageNode.size.width(), d->mPageNode.size.height(), QImage::Format_MonoLSB); + img.setColor(0, qRgb(255, 255, 255)); + img.setColor(1, qRgb(0, 0, 0)); + + d->mPageNode.image = img.copy().scaled(img.width(), img.height() * 1.5); + + return true; +} + +QImage FaxDocument::image() const +{ + return d->mPageNode.image; +} diff --git a/generators/fax/faxdocument.h b/generators/fax/faxdocument.h new file mode 100644 index 0000000..5888c25 --- /dev/null +++ b/generators/fax/faxdocument.h @@ -0,0 +1,59 @@ +/* + SPDX-FileCopyrightText: 2008 Tobias Koenig + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef FAXDOCUMENT_H +#define FAXDOCUMENT_H + +#include + +/** + * Loads a G3/G4 fax document and provides methods + * to convert it into a QImage. + */ +class FaxDocument +{ +public: + /** + * Describes the type of the fax document. + */ + enum DocumentType { + G3, ///< G3 encoded fax document + G4 ///< G4 encoded fax document + }; + + /** + * Creates a new fax document from the given @p fileName. + * + * @param fileName The name of the fax file. + * @param type The type of the fax document. + */ + explicit FaxDocument(const QString &fileName, DocumentType type = G3); + + /** + * Destroys the fax document. + */ + ~FaxDocument(); + + FaxDocument(const FaxDocument &) = delete; + FaxDocument &operator=(const FaxDocument &) = delete; + + /** + * Loads the document. + * + * @return @c true if the document can be loaded successfully, @c false otherwise. + */ + bool load(); + + /** + * Returns the document as an image. + */ + QImage image() const; + +private: + class Private; + Private *const d; +}; + +#endif diff --git a/generators/fax/faxexpand.cpp b/generators/fax/faxexpand.cpp new file mode 100644 index 0000000..e1cd299 --- /dev/null +++ b/generators/fax/faxexpand.cpp @@ -0,0 +1,738 @@ +/* + Expand one page of fax data + This file is part of viewfax - g3/g4 fax processing software. + SPDX-FileCopyrightText: 1990, 1995 Frank D. Cringle. + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "faxexpand.h" + +#include +#include + +#include + +#include "fax_debug.h" +// Uncomment this for verbose debug output +// #define DEBUG_FAX +#define verbose false + +pagenode::pagenode() +{ +} + +/* Note that NeedBits() only works for n <= 16 */ +#define NeedBits(n) \ + do { \ + if (BitsAvail < (n)) { \ + BitAcc |= *sp++ << BitsAvail; \ + BitsAvail += 16; \ + } \ + } while (0) +#define GetBits(n) (BitAcc & ((1 << (n)) - 1)) +#define ClrBits(n) \ + do { \ + BitAcc >>= (n); \ + BitsAvail -= (n); \ + } while (0) + +#ifdef DEBUG_FAX +#define DEBUG_SHOW putchar(BitAcc & (1 << t) ? '1' : '0') +#define LOOKUP(wid, tab) \ + do { \ + int t; \ + NeedBits(wid); \ + TabEnt = tab + GetBits(wid); \ + printf("%08u4/%d: %s%5d\t", BitAcc, BitsAvail, StateNames[TabEnt->State], TabEnt->Param); \ + for (t = 0; t < TabEnt->Width; t++) \ + DEBUG_SHOW; \ + putchar('\n'); \ + fflush(stdout); \ + ClrBits(TabEnt->Width); \ + } while (0) + +#define SETVAL(x) \ + do { \ + *pa++ = RunLength + (x); \ + printf("SETVAL: %d\t%d\n", RunLength + (x), a0); \ + a0 += x; \ + RunLength = 0; \ + } while (0) + +const char *StateNames[] = { + "Null ", + "Pass ", + "Horiz ", + "V0 ", + "VR ", + "VL ", + "Ext ", + "TermW ", + "TermB ", + "MakeUpW", + "MakeUpB", + "MakeUp ", + "EOL ", +}; + +#else +#define LOOKUP(wid, tab) \ + do { \ + NeedBits(wid); \ + TabEnt = tab + GetBits(wid); \ + ClrBits(TabEnt->Width); \ + } while (0) + +#define SETVAL(x) \ + do { \ + *pa++ = RunLength + (x); \ + a0 += x; \ + RunLength = 0; \ + } while (0) +#endif + +#define dumpruns(runs) \ + do { \ + printf("-------------------- %d\n", LineNum); \ + for (pa = runs, a0 = 0; a0 < lastx; a0 += *pa++) \ + printf("%4d %d\n", a0, *pa); \ + } while (0) + +#define EndOfData(pn) (sp >= pn->data + pn->length / sizeof(*pn->data)) // NOLINT(bugprone-sizeof-expression) + +/* This macro handles coding errors in G3 data. + We redefine it below for the G4 case */ +#define SKIP_EOL \ + do { \ + while (!EndOfData(pn)) { \ + NeedBits(11); \ + if (GetBits(11) == 0) \ + break; \ + ClrBits(1); \ + } \ + ClrBits(11); \ + goto EOL; \ + } while (0) +#define eol2lab \ + EOL2: + +/* the line expanders are written as macros so that they can be reused + (twice each) but still have direct access to the local variables of + the "calling" function */ +#define expand1d() \ + do { \ + while (a0 < lastx) { \ + int done = 0; \ + while (!done) { /* white first */ \ + LOOKUP(12, WhiteTable); \ + switch (TabEnt->State) { \ + case S_EOL: \ + EOLcnt = 1; \ + goto EOL; \ + case S_TermW: \ + SETVAL(TabEnt->Param); \ + done = 1; \ + break; \ + case S_MakeUpW: \ + case S_MakeUp: \ + a0 += TabEnt->Param; \ + RunLength += TabEnt->Param; \ + break; \ + case S_Ext: \ + unexpected("Extension code", LineNum); \ + SKIP_EOL; \ + break; \ + default: \ + unexpected("WhiteTable", LineNum); \ + SKIP_EOL; \ + break; \ + } \ + } \ + done = a0 >= lastx; \ + while (!done) { /* then black */ \ + LOOKUP(13, BlackTable); \ + switch (TabEnt->State) { \ + case S_EOL: \ + EOLcnt = 1; \ + goto EOL; \ + case S_TermB: \ + SETVAL(TabEnt->Param); \ + done = 1; \ + break; \ + case S_MakeUpB: \ + case S_MakeUp: \ + a0 += TabEnt->Param; \ + RunLength += TabEnt->Param; \ + break; \ + case S_Ext: \ + unexpected("Extension code", LineNum); \ + SKIP_EOL; \ + break; \ + default: \ + unexpected("BlackTable", LineNum); \ + SKIP_EOL; \ + break; \ + } \ + } \ + } \ + EOL:; \ + } while (0) + +#define CHECK_b1 \ + do { \ + if (pa != thisrun) \ + while (b1 <= a0 && b1 < lastx) { \ + b1 += pb[0] + pb[1]; \ + pb += 2; \ + } \ + } while (0) + +#define expand2d(eolab) \ + do { \ + while (a0 < lastx) { \ + LOOKUP(7, MainTable); \ + switch (TabEnt->State) { \ + case S_Pass: \ + CHECK_b1; \ + b1 += *pb++; \ + RunLength += b1 - a0; \ + a0 = b1; \ + b1 += *pb++; \ + break; \ + case S_Horiz: \ + if ((pa - run0) & 1) { \ + int done = 0; \ + while (!done) { /* black first */ \ + LOOKUP(13, BlackTable); \ + switch (TabEnt->State) { \ + case S_TermB: \ + SETVAL(TabEnt->Param); \ + done = 1; \ + break; \ + case S_MakeUpB: \ + case S_MakeUp: \ + a0 += TabEnt->Param; \ + RunLength += TabEnt->Param; \ + break; \ + default: \ + unexpected("BlackTable", LineNum); \ + SKIP_EOL; \ + break; \ + } \ + } \ + done = 0; \ + while (!done) { /* then white */ \ + LOOKUP(12, WhiteTable); \ + switch (TabEnt->State) { \ + case S_TermW: \ + SETVAL(TabEnt->Param); \ + done = 1; \ + break; \ + case S_MakeUpW: \ + case S_MakeUp: \ + a0 += TabEnt->Param; \ + RunLength += TabEnt->Param; \ + break; \ + default: \ + unexpected("WhiteTable", LineNum); \ + SKIP_EOL; \ + break; \ + } \ + } \ + } else { \ + int done = 0; \ + while (!done) { /* white first */ \ + LOOKUP(12, WhiteTable); \ + switch (TabEnt->State) { \ + case S_TermW: \ + SETVAL(TabEnt->Param); \ + done = 1; \ + break; \ + case S_MakeUpW: \ + case S_MakeUp: \ + a0 += TabEnt->Param; \ + RunLength += TabEnt->Param; \ + break; \ + default: \ + unexpected("WhiteTable", LineNum); \ + SKIP_EOL; \ + break; \ + } \ + } \ + done = 0; \ + while (!done) { /* then black */ \ + LOOKUP(13, BlackTable); \ + switch (TabEnt->State) { \ + case S_TermB: \ + SETVAL(TabEnt->Param); \ + done = 1; \ + break; \ + case S_MakeUpB: \ + case S_MakeUp: \ + a0 += TabEnt->Param; \ + RunLength += TabEnt->Param; \ + break; \ + default: \ + unexpected("BlackTable", LineNum); \ + SKIP_EOL; \ + break; \ + } \ + } \ + } \ + CHECK_b1; \ + break; \ + case S_V0: \ + CHECK_b1; \ + SETVAL(b1 - a0); \ + b1 += *pb++; \ + break; \ + case S_VR: \ + CHECK_b1; \ + SETVAL(b1 - a0 + TabEnt->Param); \ + b1 += *pb++; \ + break; \ + case S_VL: \ + CHECK_b1; \ + SETVAL(b1 - a0 - TabEnt->Param); \ + b1 -= *--pb; \ + break; \ + case S_Ext: \ + *pa++ = lastx - a0; \ + if (verbose) \ + qCDebug(FAX_LOG) << "Line " << LineNum << ": extension code\n"; \ + SKIP_EOL; \ + break; \ + case S_EOL: \ + *pa++ = lastx - a0; \ + NeedBits(4); \ + if (GetBits(4) && verbose) /* already seen 7 zeros */ \ + qCDebug(FAX_LOG) << "Line " << LineNum << ": Bad EOL\n"; \ + ClrBits(4); \ + EOLcnt = 1; \ + goto eolab; \ + break; \ + default: \ + unexpected("MainTable", LineNum); \ + SKIP_EOL; \ + break; \ + } \ + } \ + if (RunLength) { \ + if (RunLength + a0 < lastx) { \ + /* expect a final V0 */ \ + NeedBits(1); \ + if (!GetBits(1)) { \ + unexpected("MainTable", LineNum); \ + SKIP_EOL; \ + } \ + ClrBits(1); \ + } \ + SETVAL(0); \ + } \ + eol2lab; \ + } while (0) + +static void unexpected(const char *what, int LineNum) +{ + if (verbose) { + qCCritical(FAX_LOG) << "Line " << LineNum << ": Unexpected state in " << what; + } +} + +/* Expand tiff modified huffman data (g3-1d without EOLs) */ +void MHexpand(pagenode *pn, drawfunc df) +{ + int a0; /* reference element */ + int lastx; /* copy line width to register */ + t32bits BitAcc; /* bit accumulator */ + int BitsAvail; /* # valid bits in BitAcc */ + int RunLength; /* Length of current run */ + t16bits *sp; /* pointer into compressed data */ + pixnum *pa; /* pointer into new line */ + int EOLcnt; /* number of consecutive EOLs */ + int LineNum; /* line number */ + pixnum *runs; /* list of run lengths */ + struct tabent *TabEnt; + + sp = pn->data; + BitAcc = 0; + BitsAvail = 0; + lastx = pn->size.width(); + runs = static_cast(malloc(lastx * sizeof(pixnum))); + for (LineNum = 0; LineNum < pn->rowsperstrip;) { +#ifdef DEBUG_FAX + printf("\nBitAcc=%08u, BitsAvail = %d\n", BitAcc, BitsAvail); + printf("-------------------- %d\n", LineNum); + fflush(stdout); +#endif + RunLength = 0; + pa = runs; + a0 = 0; + EOLcnt = 0; + if (BitsAvail & 7) { /* skip to byte boundary */ + ClrBits(BitsAvail & 7); + } + expand1d(); + if (RunLength) { + SETVAL(0); + } + if (a0 != lastx) { + if (verbose) { + qCWarning(FAX_LOG) << "Line " << LineNum << ": length is " << a0 << " (expected " << lastx << ")\n"; + } + while (a0 > lastx) { + a0 -= *--pa; + } + if (a0 < lastx) { + if ((pa - runs) & 1) { + SETVAL(0); + } + SETVAL(lastx - a0); + } + } + (*df)(runs, LineNum++, pn); + } + free(runs); + (void)EOLcnt; // make gcc happy +} + +/* Expand group-3 1-dimensional data */ +void g31expand(pagenode *pn, drawfunc df) +{ + int a0; /* reference element */ + int lastx; /* copy line width to register */ + t32bits BitAcc; /* bit accumulator */ + int BitsAvail; /* # valid bits in BitAcc */ + int RunLength; /* Length of current run */ + t16bits *sp; /* pointer into compressed data */ + pixnum *pa; /* pointer into new line */ + int EOLcnt; /* number of consecutive EOLs */ + int LineNum; /* line number */ + pixnum *runs; /* list of run lengths */ + struct tabent *TabEnt; + + sp = pn->data; + BitAcc = 0; + BitsAvail = 0; + lastx = pn->size.width(); + runs = static_cast(malloc(lastx * sizeof(pixnum))); + EOLcnt = 0; + for (LineNum = 0; LineNum < pn->rowsperstrip;) { +#ifdef DEBUG_FAX + fprintf(stderr, "\nBitAcc=%08u, BitsAvail = %d\n", BitAcc, BitsAvail); + fprintf(stderr, "-------------------- %d\n", LineNum); + fflush(stderr); +#endif + if (EOLcnt == 0) { + while (!EndOfData(pn)) { + /* skip over garbage after a coding error */ + NeedBits(11); + if (GetBits(11) == 0) { + break; + } + ClrBits(1); + } + } + for (EOLcnt = 1; !EndOfData(pn); EOLcnt++) { + /* we have seen 11 zeros, which implies EOL, + skip possible fill bits too */ + while (true) { + NeedBits(8); + if (GetBits(8)) { + break; + } + ClrBits(8); + } + while (GetBits(1) == 0) { + ClrBits(1); + } + ClrBits(1); /* the eol flag */ + NeedBits(11); + if (GetBits(11)) { + break; + } + ClrBits(11); + } + if (EOLcnt > 1 && EOLcnt != 6 && verbose) { + qCCritical(FAX_LOG) << "Line " << LineNum << ": bad RTC (" << EOLcnt << " EOLs)\n"; + } + if (EOLcnt >= 6 || EndOfData(pn)) { + free(runs); + return; + } + RunLength = 0; + pa = runs; + a0 = 0; + EOLcnt = 0; + expand1d(); + if (RunLength) { + SETVAL(0); + } + if (a0 != lastx) { + if (verbose) { + qCWarning(FAX_LOG) << "Line " << LineNum << ": length is " << a0 << " (expected " << lastx << ")\n"; + } + while (a0 > lastx) { + a0 -= *--pa; + } + if (a0 < lastx) { + if ((pa - runs) & 1) { + SETVAL(0); + } + SETVAL(lastx - a0); + } + } + (*df)(runs, LineNum++, pn); + } + free(runs); +} + +/* Expand group-3 2-dimensional data */ +void g32expand(pagenode *pn, drawfunc df) +{ + int RunLength; /* Length of current run */ + int a0; /* reference element */ + int b1; /* next change on previous line */ + int lastx = pn->size.width(); /* copy line width to register */ + pixnum *run0, *run1; /* run length arrays */ + pixnum *thisrun, *pa, *pb; /* pointers into runs */ + t16bits *sp; /* pointer into compressed data */ + t32bits BitAcc; /* bit accumulator */ + int BitsAvail; /* # valid bits in BitAcc */ + int EOLcnt; /* number of consecutive EOLs */ + int refline = 0; /* 1D encoded reference line */ + int LineNum; /* line number */ + struct tabent *TabEnt; + + sp = pn->data; + BitAcc = 0; + BitsAvail = 0; + /* allocate space for 2 runlength arrays */ + run0 = static_cast(malloc(2 * ((lastx + 5) & ~1) * sizeof(pixnum))); + run1 = run0 + ((lastx + 5) & ~1); + run1[0] = lastx; + run1[1] = 0; + EOLcnt = 0; + for (LineNum = 0; LineNum < pn->rowsperstrip;) { +#ifdef DEBUG_FAX + printf("\nBitAcc=%08u, BitsAvail = %d\n", BitAcc, BitsAvail); + printf("-------------------- %d\n", LineNum); + fflush(stdout); +#endif + if (EOLcnt == 0) { + while (!EndOfData(pn)) { + /* skip over garbage after a coding error */ + NeedBits(11); + if (GetBits(11) == 0) { + break; + } + ClrBits(1); + } + } + for (EOLcnt = 1; !EndOfData(pn); EOLcnt++) { + /* we have seen 11 zeros, which implies EOL, + skip possible fill bits too */ + while (true) { + NeedBits(8); + if (GetBits(8)) { + break; + } + ClrBits(8); + } + while (GetBits(1) == 0) { + ClrBits(1); + } + ClrBits(1); /* the eol flag */ + NeedBits(12); + refline = GetBits(1); /* 1D / 2D flag */ + ClrBits(1); + if (GetBits(11)) { + break; + } + ClrBits(11); + } + if (EOLcnt > 1 && EOLcnt != 6 && verbose) { + qCCritical(FAX_LOG) << "Line " << LineNum << ": bad RTC (" << EOLcnt << " EOLs)\n"; + } + if (EOLcnt >= 6 || EndOfData(pn)) { + free(run0); + return; + } + if (LineNum == 0 && refline == 0 && verbose) { + qCDebug(FAX_LOG) << "First line is 2-D encoded\n"; + } + RunLength = 0; + if (LineNum & 1) { + pa = run1; + pb = run0; + } else { + pa = run0; + pb = run1; + } + thisrun = pa; + EOLcnt = 0; + a0 = 0; + b1 = *pb++; + + if (refline) { + expand1d(); + } else { + expand2d(EOL2); + } + if (RunLength) { + SETVAL(0); + } + if (a0 != lastx) { + if (verbose) { + qCWarning(FAX_LOG) << "Line " << LineNum << ": length is " << a0 << " (expected " << lastx << ")\n"; + } + while (a0 > lastx) { + a0 -= *--pa; + } + if (a0 < lastx) { + if ((pa - run0) & 1) { + SETVAL(0); + } + SETVAL(lastx - a0); + } + } + SETVAL(0); /* imaginary change at end of line for reference */ + (*df)(thisrun, LineNum++, pn); + } + free(run0); +} + +/* Redefine the "skip to eol" macro. We cannot recover from coding + errors in G4 data */ +#undef SKIP_EOL +#undef eol2lab +#define SKIP_EOL \ + do { \ + if (verbose) \ + qCCritical(FAX_LOG) << "Line " << LineNum << ": G4 coding error\n"; \ + free(run0); \ + return; \ + } while (0) +#define eol2lab + +/* Expand group-4 data */ +void g4expand(pagenode *pn, drawfunc df) +{ + int RunLength; /* Length of current run */ + int a0; /* reference element */ + int b1; /* next change on previous line */ + int lastx = pn->size.width(); /* copy line width to register */ + pixnum *run0, *run1; /* run length arrays */ + pixnum *thisrun, *pa, *pb; /* pointers into runs */ + t16bits *sp; /* pointer into compressed data */ + t32bits BitAcc; /* bit accumulator */ + int BitsAvail; /* # valid bits in BitAcc */ + int LineNum; /* line number */ + int EOLcnt; + struct tabent *TabEnt; + + sp = pn->data; + BitAcc = 0; + BitsAvail = 0; + /* allocate space for 2 runlength arrays */ + run0 = static_cast(malloc(2 * ((lastx + 5) & ~1) * sizeof(pixnum))); + run1 = run0 + ((lastx + 5) & ~1); + run1[0] = lastx; /* initial reference line */ + run1[1] = 0; + + for (LineNum = 0; LineNum < pn->rowsperstrip;) { +#ifdef DEBUG_FAX + printf("\nBitAcc=%08u, BitsAvail = %d\n", BitAcc, BitsAvail); + printf("-------------------- %d\n", LineNum); + fflush(stdout); +#endif + RunLength = 0; + if (LineNum & 1) { + pa = run1; + pb = run0; + } else { + pa = run0; + pb = run1; + } + thisrun = pa; + a0 = 0; + b1 = *pb++; + expand2d(EOFB); + if (a0 < lastx) { + if ((pa - run0) & 1) { + SETVAL(0); + } + SETVAL(lastx - a0); + } + SETVAL(0); /* imaginary change at end of line for reference */ + (*df)(thisrun, LineNum++, pn); + continue; + EOFB: + NeedBits(13); + if (GetBits(13) != 0x1001 && verbose) { + qCCritical(FAX_LOG) << "Bad RTC\n"; + } + break; + } + free(run0); + (void)EOLcnt; // make gcc happy +} + +static const unsigned char zerotab[256] = {0x88, 0x07, 0x16, 0x06, 0x25, 0x05, 0x15, 0x05, 0x34, 0x04, 0x14, 0x04, 0x24, 0x04, 0x14, 0x04, 0x43, 0x03, 0x13, 0x03, 0x23, 0x03, 0x13, 0x03, 0x33, 0x03, 0x13, 0x03, 0x23, 0x03, 0x13, 0x03, + 0x52, 0x02, 0x12, 0x02, 0x22, 0x02, 0x12, 0x02, 0x32, 0x02, 0x12, 0x02, 0x22, 0x02, 0x12, 0x02, 0x42, 0x02, 0x12, 0x02, 0x22, 0x02, 0x12, 0x02, 0x32, 0x02, 0x12, 0x02, 0x22, 0x02, 0x12, 0x02, + 0x61, 0x01, 0x11, 0x01, 0x21, 0x01, 0x11, 0x01, 0x31, 0x01, 0x11, 0x01, 0x21, 0x01, 0x11, 0x01, 0x41, 0x01, 0x11, 0x01, 0x21, 0x01, 0x11, 0x01, 0x31, 0x01, 0x11, 0x01, 0x21, 0x01, 0x11, 0x01, + 0x51, 0x01, 0x11, 0x01, 0x21, 0x01, 0x11, 0x01, 0x31, 0x01, 0x11, 0x01, 0x21, 0x01, 0x11, 0x01, 0x41, 0x01, 0x11, 0x01, 0x21, 0x01, 0x11, 0x01, 0x31, 0x01, 0x11, 0x01, 0x21, 0x01, 0x11, 0x01, + 0x70, 0x00, 0x10, 0x00, 0x20, 0x00, 0x10, 0x00, 0x30, 0x00, 0x10, 0x00, 0x20, 0x00, 0x10, 0x00, 0x40, 0x00, 0x10, 0x00, 0x20, 0x00, 0x10, 0x00, 0x30, 0x00, 0x10, 0x00, 0x20, 0x00, 0x10, 0x00, + 0x50, 0x00, 0x10, 0x00, 0x20, 0x00, 0x10, 0x00, 0x30, 0x00, 0x10, 0x00, 0x20, 0x00, 0x10, 0x00, 0x40, 0x00, 0x10, 0x00, 0x20, 0x00, 0x10, 0x00, 0x30, 0x00, 0x10, 0x00, 0x20, 0x00, 0x10, 0x00, + 0x60, 0x00, 0x10, 0x00, 0x20, 0x00, 0x10, 0x00, 0x30, 0x00, 0x10, 0x00, 0x20, 0x00, 0x10, 0x00, 0x40, 0x00, 0x10, 0x00, 0x20, 0x00, 0x10, 0x00, 0x30, 0x00, 0x10, 0x00, 0x20, 0x00, 0x10, 0x00, + 0x50, 0x00, 0x10, 0x00, 0x20, 0x00, 0x10, 0x00, 0x30, 0x00, 0x10, 0x00, 0x20, 0x00, 0x10, 0x00, 0x40, 0x00, 0x10, 0x00, 0x20, 0x00, 0x10, 0x00, 0x30, 0x00, 0x10, 0x00, 0x20, 0x00, 0x10, 0x00}; + +#define check(v) \ + do { \ + prezeros = zerotab[v]; \ + postzeros = prezeros & 15; \ + prezeros >>= 4; \ + if (prezeros == 8) { \ + zeros += 8; \ + break; \ + } \ + if (zeros + prezeros < 11) { \ + empty = 0; \ + zeros = postzeros; \ + break; \ + } \ + zeros = postzeros; \ + if (empty) \ + EOLcnt++; \ + lines++; \ + empty = 1; \ + } while (false) + +/* count fax lines */ +int G3count(pagenode *pn, int twoD) +{ + t16bits *p = pn->data; + const t16bits *end = p + pn->length / sizeof(*p); // NOLINT(bugprone-sizeof-expression) + int lines = 0; /* lines seen so far */ + int zeros = 0; /* number of consecutive zero bits seen */ + int EOLcnt = 0; /* number of consecutive EOLs seen */ + int empty = 1; /* empty line */ + int prezeros, postzeros; + + while (p < end && EOLcnt < 6) { + t16bits bits = *p++; + check(bits & 255); + if (twoD && (prezeros + postzeros == 7)) { + if (postzeros || ((bits & 0x100) == 0)) { + zeros--; + } + } + check(bits >> 8); + if (twoD && (prezeros + postzeros == 7)) { + if (postzeros || ((p < end) && ((*p & 1) == 0))) { + zeros--; + } + } + } + return lines - EOLcnt; /* don't count trailing EOLs */ +} diff --git a/generators/fax/faxexpand.h b/generators/fax/faxexpand.h new file mode 100644 index 0000000..4e64093 --- /dev/null +++ b/generators/fax/faxexpand.h @@ -0,0 +1,114 @@ +/* + Include file for fax routines + This file is part of viewfax - g3/g4 fax processing software. + + SPDX-FileCopyrightText: 1990, 1995 Frank D. Cringle. + SPDX-FileCopyrightText: 2005 Helge Deller + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _faxexpand_h_ +#define _faxexpand_h_ + +#include + +#include +#ifndef Q_OS_WIN +#include +#endif + +#define t32bits quint32 +#define t16bits quint16 + +typedef t16bits pixnum; + +class pagenode; + +/* drawfunc() points to a function which processes a line of the + expanded image described as a list of run lengths. + run is the base of an array of lengths, starting with a + (possibly empty) white run for line number linenum. + pn points to the page descriptor */ +typedef void (*drawfunc)(pixnum *run, int linenum, class pagenode *pn); + +struct strip { /* tiff strip descriptor */ + off_t offset; /* offset in file */ + off_t size; /* size of this strip */ +}; + +/* defines for the pagenode member: type */ +#define FAX_TIFF 1 +#define FAX_RAW 2 + +class pagenode +{ /* compressed page descriptor */ +public: + pagenode(); + ~pagenode() + { + } + int nstrips = 0; /* number of strips */ + int rowsperstrip = 0; /* number of rows per strip */ + int stripnum = 0; /* current strip while expanding */ + struct strip *strips = nullptr; /* array of strips containing fax data in file */ + t16bits *data = nullptr; /* in-memory copy of strip */ + t16bits *dataOrig = nullptr; /* copy of `data', in case we shift it */ + size_t length = 0; /* length of data */ + QSize size; /* width & height of page in pixels */ + int inverse = 0; /* black <=> white */ + int lsbfirst = 0; /* bit order is lsb first */ + int orient = 0; /* orientation - upsidedown, landscape, mirrored */ + int vres = 0; /* vertical resolution: 1 = fine */ + QPoint dpi; /* DPI horz/vert */ + void (*expander)(class pagenode *, drawfunc) = {}; + unsigned int bytes_per_line = 0; + QString filename; /* The name of the file to be opened */ + QImage image; /* The final image */ + uchar *imageData = nullptr; /* The temporary raw image data */ +}; + +/* page orientation flags */ +#define TURN_NONE 0 +#define TURN_U 1 +#define TURN_L 2 +#define TURN_M 4 + +/* fsm state codes */ +#define S_Null 0 +#define S_Pass 1 +#define S_Horiz 2 +#define S_V0 3 +#define S_VR 4 +#define S_VL 5 +#define S_Ext 6 +#define S_TermW 7 +#define S_TermB 8 +#define S_MakeUpW 9 +#define S_MakeUpB 10 +#define S_MakeUp 11 +#define S_EOL 12 + +/* state table entry */ +struct tabent { + unsigned char State; + unsigned char Width; /* width of code in bits */ + pixnum Param; /* run length */ +}; + +extern struct tabent MainTable[]; /* 2-D state table */ +extern struct tabent WhiteTable[]; /* White run lengths */ +extern struct tabent BlackTable[]; /* Black run lengths */ + +void MHexpand(class pagenode *pn, drawfunc df); +void g31expand(class pagenode *pn, drawfunc df); +void g32expand(class pagenode *pn, drawfunc df); +void g4expand(class pagenode *pn, drawfunc df); + +/* initialise code tables */ +extern void fax_init_tables(); + +/* count lines in image */ +extern int G3count(class pagenode *pn, int twoD); + +#endif diff --git a/generators/fax/faxinit.cpp b/generators/fax/faxinit.cpp new file mode 100644 index 0000000..cb43143 --- /dev/null +++ b/generators/fax/faxinit.cpp @@ -0,0 +1,108 @@ +/* + Initialise fax decoder tables + This file is part of viewfax - g3/g4 fax processing software. + + SPDX-FileCopyrightText: 1990, 1995 Frank D. Cringle. + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "faxexpand.h" +#include + +struct tabent MainTable[128]; +struct tabent WhiteTable[4096]; +struct tabent BlackTable[8192]; + +struct proto { + t16bits code; /* right justified, lsb-first, zero filled */ + t16bits val; /* (pixel count)<<4 + code width */ +}; + +static const struct proto Pass[] = {{0x0008, 4}, {0, 0}}; + +static const struct proto Horiz[] = {{0x0004, 3}, {0, 0}}; + +static const struct proto V0[] = {{0x0001, 1}, {0, 0}}; + +static const struct proto VR[] = {{0x0006, (1 << 4) + 3}, {0x0030, (2 << 4) + 6}, {0x0060, (3 << 4) + 7}, {0, 0}}; + +static const struct proto VL[] = {{0x0002, (1 << 4) + 3}, {0x0010, (2 << 4) + 6}, {0x0020, (3 << 4) + 7}, {0, 0}}; + +static const struct proto ExtV[] = {{0x0040, 7}, {0, 0}}; + +static const struct proto EOLV[] = {{0x0000, 7}, {0, 0}}; + +static const struct proto MakeUpW[] = {{0x001b, 1029}, {0x0009, 2053}, {0x003a, 3078}, {0x0076, 4103}, {0x006c, 5128}, {0x00ec, 6152}, {0x0026, 7176}, {0x00a6, 8200}, {0x0016, 9224}, {0x00e6, 10248}, + {0x0066, 11273}, {0x0166, 12297}, {0x0096, 13321}, {0x0196, 14345}, {0x0056, 15369}, {0x0156, 16393}, {0x00d6, 17417}, {0x01d6, 18441}, {0x0036, 19465}, {0x0136, 20489}, + {0x00b6, 21513}, {0x01b6, 22537}, {0x0032, 23561}, {0x0132, 24585}, {0x00b2, 25609}, {0x0006, 26630}, {0x01b2, 27657}, {0, 0}}; + +static const struct proto MakeUpB[] = {{0x03c0, 1034}, {0x0130, 2060}, {0x0930, 3084}, {0x0da0, 4108}, {0x0cc0, 5132}, {0x02c0, 6156}, {0x0ac0, 7180}, {0x06c0, 8205}, {0x16c0, 9229}, {0x0a40, 10253}, + {0x1a40, 11277}, {0x0640, 12301}, {0x1640, 13325}, {0x09c0, 14349}, {0x19c0, 15373}, {0x05c0, 16397}, {0x15c0, 17421}, {0x0dc0, 18445}, {0x1dc0, 19469}, {0x0940, 20493}, + {0x1940, 21517}, {0x0540, 22541}, {0x1540, 23565}, {0x0b40, 24589}, {0x1b40, 25613}, {0x04c0, 26637}, {0x14c0, 27661}, {0, 0}}; + +static const struct proto MakeUp[] = + {{0x0080, 28683}, {0x0180, 29707}, {0x0580, 30731}, {0x0480, 31756}, {0x0c80, 32780}, {0x0280, 33804}, {0x0a80, 34828}, {0x0680, 35852}, {0x0e80, 36876}, {0x0380, 37900}, {0x0b80, 38924}, {0x0780, 39948}, {0x0f80, 40972}, {0, 0}}; + +static const struct proto TermW[] = {{0x00ac, 8}, {0x0038, 22}, {0x000e, 36}, {0x0001, 52}, {0x000d, 68}, {0x0003, 84}, {0x0007, 100}, {0x000f, 116}, {0x0019, 133}, {0x0005, 149}, {0x001c, 165}, {0x0002, 181}, {0x0004, 198}, + {0x0030, 214}, {0x000b, 230}, {0x002b, 246}, {0x0015, 262}, {0x0035, 278}, {0x0072, 295}, {0x0018, 311}, {0x0008, 327}, {0x0074, 343}, {0x0060, 359}, {0x0010, 375}, {0x000a, 391}, {0x006a, 407}, + {0x0064, 423}, {0x0012, 439}, {0x000c, 455}, {0x0040, 472}, {0x00c0, 488}, {0x0058, 504}, {0x00d8, 520}, {0x0048, 536}, {0x00c8, 552}, {0x0028, 568}, {0x00a8, 584}, {0x0068, 600}, {0x00e8, 616}, + {0x0014, 632}, {0x0094, 648}, {0x0054, 664}, {0x00d4, 680}, {0x0034, 696}, {0x00b4, 712}, {0x0020, 728}, {0x00a0, 744}, {0x0050, 760}, {0x00d0, 776}, {0x004a, 792}, {0x00ca, 808}, {0x002a, 824}, + {0x00aa, 840}, {0x0024, 856}, {0x00a4, 872}, {0x001a, 888}, {0x009a, 904}, {0x005a, 920}, {0x00da, 936}, {0x0052, 952}, {0x00d2, 968}, {0x004c, 984}, {0x00cc, 1000}, {0x002c, 1016}, {0, 0}}; + +static const struct proto TermB[] = {{0x03b0, 10}, {0x0002, 19}, {0x0003, 34}, {0x0001, 50}, {0x0006, 67}, {0x000c, 84}, {0x0004, 100}, {0x0018, 117}, {0x0028, 134}, {0x0008, 150}, {0x0010, 167}, {0x0050, 183}, {0x0070, 199}, + {0x0020, 216}, {0x00e0, 232}, {0x0030, 249}, {0x03a0, 266}, {0x0060, 282}, {0x0040, 298}, {0x0730, 315}, {0x00b0, 331}, {0x01b0, 347}, {0x0760, 363}, {0x00a0, 379}, {0x0740, 395}, {0x00c0, 411}, + {0x0530, 428}, {0x0d30, 444}, {0x0330, 460}, {0x0b30, 476}, {0x0160, 492}, {0x0960, 508}, {0x0560, 524}, {0x0d60, 540}, {0x04b0, 556}, {0x0cb0, 572}, {0x02b0, 588}, {0x0ab0, 604}, {0x06b0, 620}, + {0x0eb0, 636}, {0x0360, 652}, {0x0b60, 668}, {0x05b0, 684}, {0x0db0, 700}, {0x02a0, 716}, {0x0aa0, 732}, {0x06a0, 748}, {0x0ea0, 764}, {0x0260, 780}, {0x0a60, 796}, {0x04a0, 812}, {0x0ca0, 828}, + {0x0240, 844}, {0x0ec0, 860}, {0x01c0, 876}, {0x0e40, 892}, {0x0140, 908}, {0x01a0, 924}, {0x09a0, 940}, {0x0d40, 956}, {0x0340, 972}, {0x05a0, 988}, {0x0660, 1004}, {0x0e60, 1020}, {0, 0}}; + +static const struct proto ExtH[] = {{0x0100, 9}, {0, 0}}; + +static const struct proto EOLH[] = {{0x0000, 11}, {0, 0}}; + +static void FillTable(struct tabent *T, int Size, const struct proto *P, int State) +{ + int limit = 1 << Size; + + while (P->val) { + int width = P->val & 15; + int param = P->val >> 4; + int incr = 1 << width; + int code; + for (code = P->code; code < limit; code += incr) { + struct tabent *E = T + code; + E->State = State; + E->Width = width; + E->Param = param; + } + P++; + } +} + +/* initialise the huffman code tables */ +void fax_init_tables() +{ + static bool already_initialized = false; + if (already_initialized) { + return; + } + already_initialized = true; + + FillTable(MainTable, 7, Pass, S_Pass); + FillTable(MainTable, 7, Horiz, S_Horiz); + FillTable(MainTable, 7, V0, S_V0); + FillTable(MainTable, 7, VR, S_VR); + FillTable(MainTable, 7, VL, S_VL); + FillTable(MainTable, 7, ExtV, S_Ext); + FillTable(MainTable, 7, EOLV, S_EOL); + FillTable(WhiteTable, 12, MakeUpW, S_MakeUpW); + FillTable(WhiteTable, 12, MakeUp, S_MakeUp); + FillTable(WhiteTable, 12, TermW, S_TermW); + FillTable(WhiteTable, 12, ExtH, S_Ext); + FillTable(WhiteTable, 12, EOLH, S_EOL); + FillTable(BlackTable, 13, MakeUpB, S_MakeUpB); + FillTable(BlackTable, 13, MakeUp, S_MakeUp); + FillTable(BlackTable, 13, TermB, S_TermB); + FillTable(BlackTable, 13, ExtH, S_Ext); + FillTable(BlackTable, 13, EOLH, S_EOL); +} diff --git a/generators/fax/generator_fax.cpp b/generators/fax/generator_fax.cpp new file mode 100644 index 0000000..38e1a08 --- /dev/null +++ b/generators/fax/generator_fax.cpp @@ -0,0 +1,103 @@ +/* + SPDX-FileCopyrightText: 2008 Tobias Koenig + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "generator_fax.h" + +#include +#include + +#include +#include + +#include +#include + +OKULAR_EXPORT_PLUGIN(FaxGenerator, "libokularGenerator_fax.json") + +FaxGenerator::FaxGenerator(QObject *parent, const QVariantList &args) + : Generator(parent, args) +{ + setFeature(Threaded); + setFeature(PrintNative); + setFeature(PrintToFile); +} + +FaxGenerator::~FaxGenerator() +{ +} + +bool FaxGenerator::loadDocument(const QString &fileName, QList &pagesVector) +{ + if (fileName.endsWith(QLatin1String(".g3"), Qt::CaseInsensitive)) { + m_type = FaxDocument::G3; + } else { + m_type = FaxDocument::G4; + } + + FaxDocument faxDocument(fileName, m_type); + + if (!faxDocument.load()) { + Q_EMIT error(i18n("Unable to load document"), -1); + return false; + } + + m_img = faxDocument.image(); + + pagesVector.resize(1); + + Okular::Page *page = new Okular::Page(0, m_img.width(), m_img.height(), Okular::Rotation0); + pagesVector[0] = page; + + return true; +} + +bool FaxGenerator::doCloseDocument() +{ + m_img = QImage(); + + return true; +} + +QImage FaxGenerator::image(Okular::PixmapRequest *request) +{ + // perform a smooth scaled generation + int width = request->width(); + int height = request->height(); + if (request->page()->rotation() % 2 == 1) { + std::swap(width, height); + } + + return m_img.scaled(width, height, Qt::IgnoreAspectRatio, Qt::SmoothTransformation); +} + +Okular::DocumentInfo FaxGenerator::generateDocumentInfo(const QSet &keys) const +{ + Okular::DocumentInfo docInfo; + if (keys.contains(Okular::DocumentInfo::MimeType)) { + if (m_type == FaxDocument::G3) { + docInfo.set(Okular::DocumentInfo::MimeType, QStringLiteral("image/fax-g3")); + } else { + docInfo.set(Okular::DocumentInfo::MimeType, QStringLiteral("image/fax-g4")); + } + } + return docInfo; +} + +Okular::Document::PrintError FaxGenerator::print(QPrinter &printer) +{ + QPainter p(&printer); + + QImage printImage(m_img); + + if ((printImage.width() > printer.width()) || (printImage.height() > printer.height())) { + printImage = printImage.scaled(printer.width(), printer.height(), Qt::KeepAspectRatio, Qt::SmoothTransformation); + } + + p.drawImage(0, 0, printImage); + + return Okular::Document::NoPrintError; +} + +#include "generator_fax.moc" diff --git a/generators/fax/generator_fax.h b/generators/fax/generator_fax.h new file mode 100644 index 0000000..04ff03c --- /dev/null +++ b/generators/fax/generator_fax.h @@ -0,0 +1,39 @@ +/* + SPDX-FileCopyrightText: 2008 Tobias Koenig + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef OKULAR_GENERATOR_FAX_H +#define OKULAR_GENERATOR_FAX_H + +#include + +#include + +#include "faxdocument.h" + +class FaxGenerator : public Okular::Generator +{ + Q_OBJECT + Q_INTERFACES(Okular::Generator) + +public: + FaxGenerator(QObject *parent, const QVariantList &args); + ~FaxGenerator() override; + + bool loadDocument(const QString &fileName, QList &pagesVector) override; + + Okular::DocumentInfo generateDocumentInfo(const QSet &keys) const override; + + Okular::Document::PrintError print(QPrinter &printer) override; + +protected: + bool doCloseDocument() override; + QImage image(Okular::PixmapRequest *request) override; + +private: + QImage m_img; + FaxDocument::DocumentType m_type = FaxDocument::G3; +}; + +#endif diff --git a/generators/fax/libokularGenerator_fax.json b/generators/fax/libokularGenerator_fax.json new file mode 100644 index 0000000..ab62046 --- /dev/null +++ b/generators/fax/libokularGenerator_fax.json @@ -0,0 +1,217 @@ +{ + "KPlugin": { + "Authors": [ + { + "Email": "tokoe@kde.org", + "Name": "Tobias Koenig", + "Name[ar]": "Tobias Koenig", + "Name[az]": "Tobias Koenig", + "Name[be]": "Tobias Koenig", + "Name[bg]": "Tobias Koenig", + "Name[ca@valencia]": "Tobias Koenig", + "Name[ca]": "Tobias Koenig", + "Name[cs]": "Tobias Koenig", + "Name[da]": "Tobias Koenig", + "Name[de]": "Tobias Koenig", + "Name[el]": "Tobias Koenig", + "Name[en_GB]": "Tobias Koenig", + "Name[eo]": "Tobias Koenig", + "Name[es]": "Tobias Koenig", + "Name[et]": "Tobias Koenig", + "Name[eu]": "Tobias Koenig", + "Name[fi]": "Tobias Koenig", + "Name[fr]": "Tobias Koenig", + "Name[gl]": "Tobias Koenig", + "Name[he]": "טוביאס קוניג", + "Name[hu]": "Tobias Koenig", + "Name[ia]": "Tobias Koenig", + "Name[ie]": "Tobias Koenig", + "Name[is]": "Tobias Koenig", + "Name[it]": "Tobias Koenig", + "Name[ka]": "Tobias Koenig", + "Name[ko]": "Tobias Koenig", + "Name[lt]": "Tobias Koenig", + "Name[lv]": "Tobias Koenig", + "Name[nl]": "Tobias Koenig", + "Name[nn]": "Tobias König", + "Name[pa]": "Tobias Koenig", + "Name[pl]": "Tobias Koenig", + "Name[pt]": "Tobias Koenig", + "Name[pt_BR]": "Tobias Koenig", + "Name[ro]": "Tobias Koenig", + "Name[ru]": "Tobias König", + "Name[sa]": "टोबियास कोएनिग्", + "Name[sk]": "Tobias Koenig", + "Name[sl]": "Tobias Koenig", + "Name[sr@ijekavian]": "Тобијас Кениг", + "Name[sr@ijekavianlatin]": "Tobijas Kenig", + "Name[sr@latin]": "Tobijas Kenig", + "Name[sr]": "Тобијас Кениг", + "Name[sv]": "Tobias Koenig", + "Name[ta]": "டொபையாசு கோனிகு", + "Name[tr]": "Tobias König", + "Name[uk]": "Tobias Koenig", + "Name[vi]": "Tobias Koenig", + "Name[zh_CN]": "Tobias Koenig", + "Name[zh_TW]": "Tobias Koenig" + } + ], + "Copyright": "© 2008 Tobias Koenig", + "Copyright[ar]": "© 2008 Tobias Koenig", + "Copyright[az]": "© 2008 Tobias Koenig", + "Copyright[be]": "© 2008 Tobias Koenig", + "Copyright[bg]": "© 2008 Tobias Koenig", + "Copyright[ca@valencia]": "© 2008 Tobias Koenig", + "Copyright[ca]": "© 2008 Tobias Koenig", + "Copyright[cs]": "© 2008 Tobias Koenig", + "Copyright[da]": "© 2008 Tobias Koenig", + "Copyright[de]": "© 2008 Tobias Koenig", + "Copyright[el]": "© 2008 Tobias Koenig", + "Copyright[en_GB]": "© 2008 Tobias Koenig", + "Copyright[eo]": "© 2008 Tobias Koenig", + "Copyright[es]": "© 2008 Tobias Koenig", + "Copyright[et]": "© 2008: Tobias Koenig", + "Copyright[eu]": "© 2008 Tobias Koenig", + "Copyright[fi]": "© 2008 Tobias Koenig", + "Copyright[fr]": "© 2008 Tobias Koenig", + "Copyright[gl]": "© 2008 Tobias Koenig", + "Copyright[he]": "© 2008 טוביאס קוניג", + "Copyright[hu]": "© Tobias Koenig, 2008.", + "Copyright[ia]": "© 2008 Tobias Koenig", + "Copyright[ie]": "© 2008 Tobias Koenig", + "Copyright[is]": "© 2008 Tobias Koenig", + "Copyright[it]": "© 2008 Tobias Koenig", + "Copyright[ka]": "© 2008 Tobias Koenig", + "Copyright[ko]": "© 2008 Tobias Koenig", + "Copyright[lt]": "© 2008 Tobias Koenig", + "Copyright[lv]": "© 2008 Tobias Koenig", + "Copyright[nl]": "© 2008 Tobias Koenig", + "Copyright[nn]": "© 2008 Tobias König", + "Copyright[pa]": "© 2008 Tobias Koenig", + "Copyright[pl]": "© 2008 Tobias Koenig", + "Copyright[pt]": "© 2008 Tobias Koenig", + "Copyright[pt_BR]": "© 2008 Tobias Koenig", + "Copyright[ro]": "© 2008 Tobias Koenig", + "Copyright[ru]": "© Tobias König, 2008", + "Copyright[sa]": "© 2008 टोबियास कोएनिग", + "Copyright[sk]": "© 2008 Tobias Koenig", + "Copyright[sl]": "© 2008 Tobias Koenig", + "Copyright[sr@ijekavian]": "© 2008, Тобијас Кениг", + "Copyright[sr@ijekavianlatin]": "© 2008, Tobijas Kenig", + "Copyright[sr@latin]": "© 2008, Tobijas Kenig", + "Copyright[sr]": "© 2008, Тобијас Кениг", + "Copyright[sv]": "© 2008 Tobias Koenig", + "Copyright[tr]": "© 2008 Tobias König", + "Copyright[uk]": "© Tobias Koenig, 2008", + "Copyright[vi]": "© 2008 Tobias Koenig", + "Copyright[zh_CN]": "© 2008 Tobias Koenig", + "Copyright[zh_TW]": "© 2008 Tobias Koenig", + "Description": "A G3/G4 fax document backend", + "Description[ar]": "خلفية مستندات فاكس G3/G4", + "Description[az]": "A G3/G4 fax sənədi modulu", + "Description[be]": "Рухавік дакументаў факса G3/G4", + "Description[bg]": "Бекенд на G3/G4 документи за факс", + "Description[ca@valencia]": "Un dorsal de documents de fax G3/G4", + "Description[ca]": "Un dorsal de documents de fax G3/G4", + "Description[cs]": "Implementace dokumentu faxu A G3/G4", + "Description[da]": "En G3/G4 faxdokument-backend", + "Description[de]": "Ein Anzeigemodul für G3/G4-Faxe", + "Description[el]": "Σύστημα υποστήριξης για έγγραφα τηλεομοιοτυπίας G3/G4", + "Description[en_GB]": "A G3/G4 fax document backend", + "Description[eo]": "G3/G4 faksdokumenta malantaÅ­o", + "Description[es]": "Un motor para documentos de fax G3/G4", + "Description[et]": "G3/G4 faksidokumendi taustaprogramm", + "Description[eu]": "G3/G4 fax dokumentuen bizkarraldekoa", + "Description[fi]": "G3/G4-faksitiedostotaustaosa", + "Description[fr]": "Un moteur de document fax G3/G4", + "Description[gl]": "Motor de documentos de fax G3/G4.", + "Description[he]": "מנגנון מסמכי פקס G3/G4", + "Description[hu]": "G3/G4 faxdokumentum modul", + "Description[ia]": "UN retro-administration de documento fax G3/G4", + "Description[ie]": "Infrastructura de faxes G3/G4", + "Description[is]": "Bakendi fyrir G3/G4 faxskjöl", + "Description[it]": "Un backend per documenti fax G3/G4", + "Description[ka]": "G3/G4 ფაქსის დოკუმენტების უკანაბოლო", + "Description[ko]": "G3/G4 팩스 문서 백엔드", + "Description[lt]": "G3/G4 fakso dokumentų programinė sąsaja", + "Description[lv]": "G3/G4 faksa dokumentu aizmugursistēma", + "Description[nl]": "Een backend voor een G3/G4 faxdocument", + "Description[nn]": "Ein motor for G3/G4-faksdokument", + "Description[pl]": "Obsługa dokumentów wysłanych faksem G3/G4", + "Description[pt]": "Uma infra-estrutura de documentos de fax G3/G4", + "Description[pt_BR]": "Uma infraestrutura para documentos de fax G3/G4", + "Description[ru]": "Модуль поддержки формата факсов G3/G4", + "Description[sa]": "एकः G3/G4 फ्याक्स दस्तावेजस्य पृष्ठभागः", + "Description[sk]": "Backend dokumentu faxu G3/G4", + "Description[sl]": "Zaledje za dokumente faksov G3/G4", + "Description[sr@ijekavian]": "Позадина за Г3 факс и Г4 факс документе", + "Description[sr@ijekavianlatin]": "Pozadina za G4 Fax i G3 Fax dokumente", + "Description[sr@latin]": "Pozadina za G4 Fax i G3 Fax dokumente", + "Description[sr]": "Позадина за Г3 факс и Г4 факс документе", + "Description[sv]": "Ett G3/G4 telefax-dokumentgränssnitt", + "Description[tr]": "G3/G4 faks belgesi arka ucu", + "Description[uk]": "Сервер документів факсів G3/G4", + "Description[vi]": "Một hậu phương tài liệu fax G3/G4", + "Description[zh_CN]": "G3/G4 传真文档的后端程序", + "Description[zh_TW]": "G3/G4 fax 文件後端介面", + "License": "GPL", + "MimeTypes": [ + "image/fax-g3", + "image/g3fax" + ], + "Name": "Fax Backend", + "Name[ar]": "خلفية الفاكس", + "Name[az]": "Fax Backend", + "Name[be]": "Рухавік дакументаў факса", + "Name[bg]": "Бекенд на Fax", + "Name[ca@valencia]": "Dorsal de fax", + "Name[ca]": "Dorsal de fax", + "Name[cs]": "Implementace faxu", + "Name[da]": "Fax-backend", + "Name[de]": "Anzeigemodul für Faxe", + "Name[el]": "Σύστημα υποστήριξης fax", + "Name[en_GB]": "Fax Backend", + "Name[eo]": "Fax-Backend", + "Name[es]": "Motor para fax", + "Name[et]": "Faksi taustaprogramm", + "Name[eu]": "Fax-aren bizkarraldekoa", + "Name[fi]": "Faksitaustaosa", + "Name[fr]": "Moteur Fax", + "Name[gl]": "Motor de fax", + "Name[he]": "מנגנון פקס", + "Name[hu]": "Fax modul", + "Name[ia]": "Retro-Administration de fax", + "Name[ie]": "Infrastructura de fax", + "Name[is]": "Fax bakendi", + "Name[it]": "Backend fax", + "Name[ka]": "Fax უკანაბოლო", + "Name[ko]": "팩스 백엔드", + "Name[lt]": "Fakso programinė sąsaja", + "Name[lv]": "Fax aizmugursistēma", + "Name[nl]": "Faxbackend", + "Name[nn]": "Faksmotor", + "Name[pa]": "ਫੈਕਸ ਬੈਕਐਂਡ", + "Name[pl]": "Obsługa faksu", + "Name[pt]": "Fax Backend", + "Name[pt_BR]": "Infraestrutura de fax", + "Name[ro]": "Platformă fax", + "Name[ru]": "Модуль поддержки форматов факсов", + "Name[sa]": "फैक्स बैकएण्ड", + "Name[sk]": "Fax Backend", + "Name[sl]": "Zaledje za faks", + "Name[sr@ijekavian]": "Позадина за факсове", + "Name[sr@ijekavianlatin]": "Pozadina za faksove", + "Name[sr@latin]": "Pozadina za faksove", + "Name[sr]": "Позадина за факсове", + "Name[sv]": "Telefax-gränssnitt", + "Name[tr]": "Faks Arka Ucu", + "Name[uk]": "Модуль факсів", + "Name[vi]": "Hậu phương Fax", + "Name[zh_CN]": "传真后端程序", + "Name[zh_TW]": "Fax 後端介面", + "Version": "0.1.1" + }, + "X-KDE-Priority": 1, + "X-KDE-okularAPIVersion": 1, + "X-KDE-okularHasInternalSettings": false +} diff --git a/generators/fax/okularApplication_fax.desktop b/generators/fax/okularApplication_fax.desktop new file mode 100755 index 0000000..81b603c --- /dev/null +++ b/generators/fax/okularApplication_fax.desktop @@ -0,0 +1,198 @@ +[Desktop Entry] +MimeType=image/fax-g3;image/g3fax; +Terminal=false +Name=Okular +Name[ar]=اوكلار +Name[az]=Okular +Name[be]=Okular +Name[bg]=Okular +Name[bs]=Okular +Name[ca]=Okular +Name[ca@valencia]=Okular +Name[cs]=Okular +Name[da]=Okular +Name[de]=Okular +Name[el]=Okular +Name[en_GB]=Okular +Name[eo]=Okular +Name[es]=Okular +Name[et]=Okular +Name[eu]=Okular +Name[fi]=Okular +Name[fr]=Okular +Name[ga]=Okular +Name[gl]=Okular +Name[he]=Okular +Name[hne]=ओकुलर +Name[hr]=Okular +Name[hu]=Okular +Name[ia]=Okular +Name[ie]=Okular +Name[is]=Okular +Name[it]=Okular +Name[ja]=Okular +Name[ka]=Okular +Name[kk]=Okular +Name[km]=Okular +Name[ko]=Okular +Name[ku]=Okular +Name[lt]=Okular +Name[lv]=Okular +Name[mr]=ओक्युलर +Name[nb]=Okular +Name[nds]=Okular +Name[nl]=Okular +Name[nn]=Okular +Name[pa]=ਓਕੁਲਾਰ +Name[pl]=Okular +Name[pt]=Okular +Name[pt_BR]=Okular +Name[ro]=Okular +Name[ru]=Okular +Name[sa]=नेत्रस्य +Name[si]=Okular +Name[sk]=Okular +Name[sl]=Okular +Name[sq]=Okular +Name[sr]=Окулар +Name[sr@ijekavian]=Окулар +Name[sr@ijekavianlatin]=Okular +Name[sr@latin]=Okular +Name[sv]=Okular +Name[ta]=ஆக்குலர் +Name[th]=โอกูลาร์ +Name[tr]=Okular +Name[ug]=Okular +Name[uk]=Okular +Name[vi]=Okular +Name[zh_CN]=Okular 文档查看器 +Name[zh_TW]=Okular +GenericName=Document Viewer +GenericName[ar]=عارض المستندات +GenericName[az]=Sənədə baxış vasitısi +GenericName[be]=Сродак для прагляду дакументаў +GenericName[bg]=Преглед на документи +GenericName[bs]=Prikazivač dokumenata +GenericName[ca]=Visualitzador de documents +GenericName[ca@valencia]=Visor de documents +GenericName[cs]=Prohlížeč dokumentů +GenericName[da]=Dokumentfremviser +GenericName[de]=Dokumentenbetrachter +GenericName[el]=Προβολέας εγγράφων +GenericName[en_GB]=Document Viewer +GenericName[eo]=Dokumenta rigardilo +GenericName[es]=Visor de documentos +GenericName[et]=Dokumendinäitaja +GenericName[eu]=Dokumentu erakuslea +GenericName[fa]=مشاهده‌گر سند +GenericName[fi]=Asiakirjakatselin +GenericName[fr]=Afficheur de documents +GenericName[ga]=Amharcán Cáipéisí +GenericName[gl]=Visor de documentos +GenericName[he]=מציג מסמכים +GenericName[hi]=दस्तावेज़ प्रदर्शक +GenericName[hne]=कागद प्रदर्सक +GenericName[hr]=Preglednik dokumenata +GenericName[hu]=Dokumentummegjelenítő +GenericName[ia]=Visor de documento +GenericName[ie]=Visor de documentes +GenericName[is]=Skjalaskoðari +GenericName[it]=Visore di documenti +GenericName[ja]=文書ビューア +GenericName[ka]=დოკუმენტების მნახველი +GenericName[kk]=Құжатты қарау құралы +GenericName[km]=កម្មវិធី​មើល​ឯកសារ +GenericName[ko]=문서 뷰어 +GenericName[ku]=Nîşanderê Belgeyan +GenericName[lt]=Dokumentų žiÅ«ryklė +GenericName[lv]=Dokumentu skatÄ«tājs +GenericName[mr]=दस्तऐवज प्रदर्शक +GenericName[nb]=Dokumentviser +GenericName[nds]=Dokmentkieker +GenericName[ne]=कागजात दर्शक +GenericName[nl]=Documentenviewer +GenericName[nn]=Dokumentvisar +GenericName[oc]=Visualizaire de documents +GenericName[pa]=ਡੌਕੂਮੈਂਟ ਦਰਸ਼ਕ +GenericName[pl]=Przeglądarka dokumentów +GenericName[pt]=Visualizador de Documentos +GenericName[pt_BR]=Visualizador de documentos +GenericName[ro]=Vizualizor de documente +GenericName[ru]=Просмотр документов +GenericName[sa]=दस्तावेज दर्शक +GenericName[sk]=Prehliadač dokumentov +GenericName[sl]=Pregledovalnik dokumentov +GenericName[sq]=Shikues dokumentesh +GenericName[sr]=Приказивач докумената +GenericName[sr@ijekavian]=Приказивач докумената +GenericName[sr@ijekavianlatin]=Prikazivač dokumenata +GenericName[sr@latin]=Prikazivač dokumenata +GenericName[sv]=Dokumentvisare +GenericName[ta]=ஆவணங் காட்டி +GenericName[th]=เครื่องมือแสดงเอกสาร +GenericName[tr]=Belge Görüntüleyicisi +GenericName[ug]=پۈتۈك كۆرگۈ +GenericName[uk]=Переглядач документів +GenericName[vi]=Trình xem tài liệu +GenericName[zh_CN]=文档查看器 +GenericName[zh_TW]=文件檢視器 +Comment=Universal document viewer +Comment[ar]=عارض المستندات عالمي +Comment[az]=Sənədə universal baxış vasitəsi +Comment[be]=Універсальны сродак для прагляду дакументаў +Comment[bg]=Универсална програма за преглед на документи +Comment[ca]=Visualitzador universal de documents +Comment[ca@valencia]=Visor universal de documents +Comment[cs]=Univerzální prohlížeč dokumentů +Comment[da]=Universel dokumentfremviser +Comment[de]=Universeller Dokumentenbetrachter +Comment[el]=Καθολικός προβολέας εγγράφων +Comment[en_GB]=Universal document viewer +Comment[eo]=Universala dokumenta spektilo +Comment[es]=Visor de documentos universal +Comment[et]=Universaalne dokumendinäitaja +Comment[eu]=Dokumentu erakusle unibertsala +Comment[fi]=Yleinen asiakirjakatselin +Comment[fr]=Afficheur de document universel +Comment[gl]=Visor de documentos universal. +Comment[he]=מציג מסמכים אוניברסלי +Comment[hu]=Univerzális dokumentummegjelenítő +Comment[ia]=Visor de documento universal +Comment[ie]=Universal visor de documentes +Comment[is]=Fjölhæfur skjalaskoðari +Comment[it]=Visore di documenti universale +Comment[ja]=多用途な文書ビューア +Comment[ka]=დოკუმენტების პოპულარული ფორმატების გამხსნელი +Comment[ko]=만능 문서 뷰어 +Comment[lt]=Universali dokumentų žiÅ«ryklė +Comment[lv]=Universāls dokumentu skatÄ«tājs +Comment[nl]=Universele documentviewer +Comment[nn]=Dokumentvisar for mange format +Comment[pa]=ਯੂਨੀਵਰਸਲ ਡੌਕੂਮੈਂਟ ਦਰਸ਼ਕ +Comment[pl]=Wszechstronna przeglądarka dokumentów +Comment[pt]=Visualizador de documentos universal +Comment[pt_BR]=Visualizador de documentos universal +Comment[ro]=Vizualizor de documente universal +Comment[ru]=Универсальная программа просмотра документов +Comment[sa]=सार्वभौमिक दस्तावेज दर्शक +Comment[sk]=Univerzálny prehliadač dokumentov +Comment[sl]=Vsestranski pregledovalnik dokumentov +Comment[sq]=Shikues univerzal dokumentesh +Comment[sr]=Универзални приказивач докумената +Comment[sr@ijekavian]=Универзални приказивач докумената +Comment[sr@ijekavianlatin]=Univerzalni prikazivač dokumenata +Comment[sr@latin]=Univerzalni prikazivač dokumenata +Comment[sv]=Generell dokumentvisare +Comment[ta]=அனைத்து ஆவணங்களுக்கான காட்டி +Comment[tr]=Çok amaçlı belge görüntüleyicisi +Comment[uk]=Універсальний переглядач документів +Comment[vi]=Trình xem tài liệu vạn năng +Comment[zh_CN]=通用文档查看器 +Comment[zh_TW]=通用文件檢視器 +Exec=okular %U +Icon=okular +Type=Application +InitialPreference=1 +Categories=Qt;KDE;Graphics;Viewer; +NoDisplay=true +X-KDE-AliasFor=org.kde.okular.desktop diff --git a/generators/fax/org.kde.mobile.okular_fax.desktop b/generators/fax/org.kde.mobile.okular_fax.desktop new file mode 100644 index 0000000..d33b606 --- /dev/null +++ b/generators/fax/org.kde.mobile.okular_fax.desktop @@ -0,0 +1,192 @@ +[Desktop Entry] +MimeType=image/fax-g3;image/g3fax; +Name=Reader +Name[ar]=التصيير +Name[az]=Oxuyucu +Name[be]=Сродак чытання +Name[bg]=Четец +Name[bs]=Čitač +Name[ca]=Lector +Name[ca@valencia]=Lector +Name[cs]=Čtečka +Name[da]=Læser +Name[de]=Lesegerät +Name[el]=Πρόγραμμα ανάγνωσης +Name[en_GB]=Reader +Name[eo]=Legilo +Name[es]=Lector +Name[et]=Lugeja +Name[eu]=Irakurlea +Name[fi]=Lukija +Name[fr]=Lecteur +Name[ga]=Léitheoir +Name[gl]=Lector +Name[he]=קורא +Name[hu]=Olvasó +Name[ia]=Lector +Name[ie]=Letor +Name[is]=Lesari +Name[it]=Lettore +Name[ja]=リーダ +Name[ka]=მკითხველი +Name[kk]=Оқу құралы +Name[ko]=리더 +Name[lt]=Skaitytuvas +Name[lv]=LasÄ«tājs +Name[mr]=वाचक +Name[nb]=Leser +Name[nds]=Leser +Name[nl]=Lezer +Name[nn]=Lesar +Name[pa]=ਰੀਡਰ +Name[pl]=Czytnik +Name[pt]=Leitor +Name[pt_BR]=Leitor +Name[ro]=Cititor +Name[ru]=Просмотрщик +Name[sa]=पाठकः +Name[sk]=Čítačka +Name[sl]=Bralnik +Name[sq]=Reader +Name[sr]=Читач +Name[sr@ijekavian]=Читач +Name[sr@ijekavianlatin]=Čitač +Name[sr@latin]=Čitač +Name[sv]=Läsprogram +Name[ta]=காட்டி +Name[tr]=Okuyucu +Name[ug]=ئوقۇغۇ +Name[uk]=Переглядач +Name[vi]=Trình đọc +Name[zh_CN]=阅读器 +Name[zh_TW]=閱讀器 +GenericName=Document viewer +GenericName[ar]=عارض المستندات +GenericName[az]=Sənədə baxış vasitısi +GenericName[be]=Сродак для прагляду дакументаў +GenericName[bg]=Преглед на документи +GenericName[bs]=Prikazivač dokumenata +GenericName[ca]=Visualitzador de documents +GenericName[ca@valencia]=Visor de documents +GenericName[cs]=Prohlížeč dokumentů +GenericName[da]=Dokumentfremviser +GenericName[de]=Dokumentenbetrachter +GenericName[el]=Προβολέας εγγράφων +GenericName[en_GB]=Document Viewer +GenericName[eo]=Dokumentrigardilo +GenericName[es]=Visor de documentos +GenericName[et]=Dokumendinäitaja +GenericName[eu]=Dokumentu erakuslea +GenericName[fi]=Asiakirjakatselin +GenericName[fr]=Afficheur de document +GenericName[ga]=Amharcán cáipéisí +GenericName[gl]=Visor de documentos +GenericName[he]=מציג מסמכים +GenericName[hi]=दस्तावेज़ प्रदर्शक +GenericName[hu]=Dokumentummegjelenítő +GenericName[ia]=Visor de documento +GenericName[ie]=Visor de documentes +GenericName[is]=Skjalaskoðari +GenericName[it]=Visore di documenti +GenericName[ja]=文書ビューア +GenericName[ka]=დოკუმენტების მნახველი +GenericName[kk]=Құжатты қарау құралы +GenericName[ko]=문서 뷰어 +GenericName[lt]=Dokumentų žiÅ«ryklė +GenericName[lv]=Dokumentu skatÄ«tājs +GenericName[mr]=दस्तऐवज प्रदर्शक +GenericName[nb]=Dokumentviser +GenericName[nds]=Dokmentkieker +GenericName[nl]=Documentenviewer +GenericName[nn]=Dokumentvisar +GenericName[pa]=ਡੌਕੂਮੈਂਟ ਦਰਸ਼ਕ +GenericName[pl]=Przeglądarka dokumentów +GenericName[pt]=Visualizador de documentos +GenericName[pt_BR]=Visualizador de documentos +GenericName[ro]=Vizualizor de documente +GenericName[ru]=Просмотр документов +GenericName[sa]=दस्तावेजदर्शकः +GenericName[sk]=Prehliadač dokumentov +GenericName[sl]=Pregledovalnik dokumentov +GenericName[sq]=Shikues dokumentesh +GenericName[sr]=Приказивач докумената +GenericName[sr@ijekavian]=Приказивач докумената +GenericName[sr@ijekavianlatin]=Prikazivač dokumenata +GenericName[sr@latin]=Prikazivač dokumenata +GenericName[sv]=Dokumentvisare +GenericName[ta]=ஆவணங் காட்டி +GenericName[tr]=Belge Görüntüleyicisi +GenericName[uk]=Переглядач документів +GenericName[vi]=Trình xem tài liệu +GenericName[zh_CN]=文档查看器 +GenericName[zh_TW]=文件檢視器 +Comment=Viewer for various types of documents +Comment[ar]=عارض للعديد من أنواع المستندات +Comment[az]=Müxtəlif növlü sənədlər üçün görüntüləyici +Comment[be]=Сродак для прагляду разнастайных тыпаў дакументаў +Comment[bg]=Преглед на различни видове документи +Comment[bs]=Pregledač raznih vrsta dokumenata +Comment[ca]=Visualitzador de diversos tipus de documents +Comment[ca@valencia]=Visor de diversos tipus de documents +Comment[cs]=Prohlížeč různých typů dokumentů +Comment[da]=Fremviser af diverse dokumenttyper +Comment[de]=Betrachter für verschiedene Arten von Dokumenten +Comment[el]=Πρόγραμμα προβολής για διάφορους τύπους εγγράφων +Comment[en_GB]=Viewer for various types of documents +Comment[eo]=Vidilo por diversaj specoj de dokumentoj +Comment[es]=Visor de diversos tipos de documentos +Comment[et]=Eri tüüpi dokumentide näitaja +Comment[eu]=Hainbat dokumentu moten erakuslea +Comment[fi]=Monenlaisten asiakirjojen katseluohjelma +Comment[fr]=Afficheur pour différents types de documents +Comment[ga]=Amharcán le haghaidh cáipéisí éagsúla +Comment[gl]=Visor de varios tipos de documentos. +Comment[he]=מציג למגוון סוגי מסמכים +Comment[hu]=Megjelenítő különféle típusú dokumentumokhoz +Comment[ia]=Visor pro varie typos de documento +Comment[ie]=Visor por varie tipes de documentes +Comment[is]=Skoðari fyrir ýmsar gerðir skjala +Comment[it]=Visore per vari tipi di documenti +Comment[ja]=様々なタイプの文書のためのビューア +Comment[ka]=სხვადასხვა ტიპების დოკუმენტების დათვალიერება +Comment[kk]=Түрлі құжаттар қарау құралы +Comment[ko]=여러 형식의 문서 뷰어 +Comment[lt]=ŽiÅ«ryklė įvairiems dokumentų tipams +Comment[lv]=Dažādu dokumentu tipu skatÄ«tājs +Comment[mr]=विविध प्रकारच्या दस्तऐवजांचा प्रदर्शक +Comment[nb]=Framviser for forskjellige dokumenttyper +Comment[nds]=Kieker för en Reeg Dokmenttypen +Comment[nl]=Viewer voor verschillende typen documenten +Comment[nn]=Framvisar for forskjellige dokumenttypar +Comment[pa]=ਕਈ ਕਿਸਮ ਦੇ ਡੌਕੂਮੈਂਟ ਵੇਖਾਉਣ ਲਈ ਦਰਸ਼ਕ +Comment[pl]=Przeglądarka dla różnych typów dokumentów +Comment[pt]=Visualizador de vários tipos de documentos +Comment[pt_BR]=Visualizador para vários tipos de documentos +Comment[ro]=Vizualizor pentru diferite tipuri de documente +Comment[ru]=Программа для просмотра различных типов документов +Comment[sa]=विभिन्नप्रकारस्य दस्तावेजानां कृते दर्शकः +Comment[sk]=Prehliadač pre rôzne typy dokumentov +Comment[sl]=Pregledovalnik raznih vrst dokumentov +Comment[sq]=Shikues për lloje të ndryshme të dokumentave +Comment[sr]=Приказивач различитих врста докумената +Comment[sr@ijekavian]=Приказивач различитих врста докумената +Comment[sr@ijekavianlatin]=Prikazivač različitih vrsta dokumenata +Comment[sr@latin]=Prikazivač različitih vrsta dokumenata +Comment[sv]=Visningsprogram för diverse typer av dokument +Comment[ta]=பலவகையான ஆவணங்களுக்கான காட்டி +Comment[tr]=Çeşitli belge türleri için görüntüleyici +Comment[ug]=ھەر خىل تىپتىكى پۈتۈكلەرنى كۆرىدىغان پروگرامما +Comment[uk]=Програма для перегляду документів різних типів +Comment[vi]=Trình xem các kiểu tài liệu khác nhau +Comment[zh_CN]=支持查看多种文档类型 +Comment[zh_TW]=多種型態文件的檢視器 + +TryExec=okularkirigami +Exec=okularkirigami %u +Terminal=false +Icon=okular +Type=Application +Categories=Qt;KDE;Graphics;Office;Viewer; +InitialPreference=2 +NoDisplay=true +X-KDE-AliasFor=org.kde.okular.kirigami.desktop diff --git a/generators/fax/org.kde.okular-fax.metainfo.xml b/generators/fax/org.kde.okular-fax.metainfo.xml new file mode 100644 index 0000000..6b12ef8 --- /dev/null +++ b/generators/fax/org.kde.okular-fax.metainfo.xml @@ -0,0 +1,140 @@ + + + org.kde.okular-fax + org.kde.okular.desktop + CC0-1.0 + GPL-2.0+ and GFDL-1.3 + Fax + فاكس + Fax + Fax + Факс + Факс + Fax + Fax + Fax + Fax + Fax + Fax + Faks + Fax + Faks + Fax + Faksi + Fax + Fax + פקס + फ़ैक्स + Fax + Fax + Fax + Fax + Fax + ფაქსი + 팩스 + Faksas + Fakss + ഫാക്സ് + Fax + Faks + Faks + Fax + Fax + Fax + Факсы + फैक्स + Fax + Faks + Факс + Faks + Факс + Faks + Telefax + Fax + Faks + факс + Fax + 传真 + 傳真 + Adds support for reading Fax documents + يضيف دعم لقراءة مستندات الفاكس + Faks sənədlərini oxumaq üçün dəstək əlavə edir + Падтрымка чытання факсавых дакументаў + Добавя поддръжка за четене на факс документи + Afegeix la implementació per a llegir documents de Fax + Afig la implementació per a llegir documents de Fax + Přidává podporu pro čtení dokumentů faxu + Bietet Unterstützung zum Lesen von Fax-Dokumenten + Προσθέτει υποστήριξη για την ανάγνωση εγγράφων τηλεομοιοτυπίας + Adds support for reading Fax documents + Aldonas subtenon por legi Telefaksil-dokumentojn + Permite la lectura de documentos de fax + Faksidokumentide lugemise toetus + Fax dokumentuak irakurtzeko euskarria gehitzen du + Lisää faksitiedostojen lukutuen + Permet la lecture des documents Fax + Engade a posibilidade de ler documentos de fax + מוסיף תמיכה בקריאת מסמכי פקס + फ़ैक्स दस्तावेज़ पढ़ने के लिए समर्थन जोड़ता है + Támogatás faxdokumentumok olvasásához + Adde supporto per leger documentos Fax + Adjunter li supporte de letion de faxes + Bætir við stuðningi til að lesa faxskjöl + Aggiunge il supporto per la lettura di documenti Fax + ფაქსის დოკუმენტების კითხვის მხარდაჭერის დამატება + 팩스 문서 읽기 지원 추가 + Prideda palaikymą fakso dokumentų skaitymui + Pievieno atbalstu faksa dokumentu lasīšanai + ഫാക്സ് പ്രമാണങ്ങൾ വായിക്കുന്നതിനുള്ള പിന്തുണ ചേർക്കുന്നു + Voegt ondersteuning voor lezen van faxdocumenten toe + Legg til støtte for Ã¥ lesa faksdokument + Dodaje obsługę czytania faksów + Adiciona o suporte para a leitura de documentos de Fax + Adiciona o suporte para leitura de documentos de fax + Adaugă suport pentru citirea documentelor fax + Поддержка чтения документов факсов + Fax दस्तावेजान् पठितुं समर्थनं योजयति + Pridá podporu pre čítanie faxových dokumentov + Doda podporo za branje faksiranih dokumentov + Подршка за читање факс докумената + PodrÅ¡ka za čitanje faks dokumenata + Подршка за читање факс докумената + PodrÅ¡ka za čitanje faks dokumenata + Lägger till stöd för att läsa telefax-dokument + Fax ஆவணங்களைப் படிப்பதற்கான ஆதரவை சேர்க்கும் + Faks belgelerini okuma desteği ekler + Додає підтримку читання документів факсів + Thêm hỗ trợ đọc tài liệu Fax + 增加对传真文档的阅读支持 + 加入讀取傳真文件的支援 + + image/fax-g3 + image/g3fax + + https://okular.kde.org + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/generators/fictionbook/16-apps-okular-fb2.png b/generators/fictionbook/16-apps-okular-fb2.png new file mode 100644 index 0000000000000000000000000000000000000000..9a72207a179a5e3f23552ce4a134dc36a27eba13 GIT binary patch literal 969 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GXl4m>B|mLR^7dDgs7EMrLMaR#sLn zE-qePUNJE-85x=Xq=0{5@b~ZEKY#xG`t|GQ&!6AEef#p|%coDD-oJnU=FOWIVDR|y z<40id01WPd!JRvIZiB&1Ft~pG`ZX}P0tS~ZUAhPc=g*%%3kGMv;MA#8C&A!27#ux% z^avOnI&|nD80-gwy?giW0fSw;cJ1B1^uX51hc`8zT$_4fwcpj{Hn*1Q-e0Wzc%js* z`TTF^aeth{_H_=+_t{LpW-+0&Ns;bJ%%L@w&Gcqy~5)xu! zVj?0U!oVPuW*`I%f`fyDf`S490{s2`eSCbpyu94p++18-?CtGsZEdZrtSl@n%+1Zs z%*;$pO^uC>jljUr(9poZKwn>9S65dD479biwY0P}z(8GHT}@3*1q_sxl@-BY^0$6X zUT&ep({+eWAe5`8lq>?(XdD?BL*FZ*Om9Wo2PuVQOk>Y;0@<28M=)1_lQD`ue)Mx;kK>t*x!4rKJG| z>gwuhYHBKApscK{2nI_UHVXqYfMQ9IUoh^Bz{oCa7*lsOY)VW%P|;#f7srr_TU#gJ z=43YHVF^Asb(3hU=qi=JD>$}J+4^P!OXLsblMStj?Dpq&9WQ;LV`E*X#UQa*)FG*7 zl6QwlmY(8i_q=an1_{1XggG4&7S8ce+#Vk2SHd=RYV)1LD-NBy%jmai!?kjGA@$G= zPuPk%OIZ)7y_Mv7S+d>X(d}rT!;`c1UwE4}-CHF3Wmf2m--?03CQe7zWhytN7Ulf5 d=eYm>uKxaQ@#jmPyZicOA^12i@^HZ?UhH#gsHWoT<_yWh&t(b4g&ivftbySsaPd;9zQKTKel00uzD zT*rZN1V!SHVe!{6x)e`hfKpNWG0&0_dBo8iwKre6!#ek|htwp8fL3aQU))IP2^ zdb`=}%~t=j+xlPaOuoCb?#hnNXS;I#69oVM{{Q>)|IhdTzCQo=@$R43=YKxh_x=8^ zM-T2kxPSM}{nO9xUwQoC*8O{T@7}%h;ojkIceZ`Kv-QiJ9iQ&(zH|H5&6_u_UAuPW z%9V>3FP=Sn=Gd`gM~)mhbm-8*g9i^BIIw^J{(bxQ?b)+u=gytmwr$(IdGo$ab9Zi7 zxPJZmb?eryU%P74x)p2J0KsY?TDxZTx;3lN{ENl~2FvHkjF8}Z*3SYAy`G*PU`Sr> zRn^tiovvg! zTE+lL4?waQ3=R}C6crT}78Vv16y)dU14&@A$;-ZxPq>EyHEao^8L@N`W@`R?8kV< z)5S5Q;?~)#`~43&h_Dwd{~i2Ce1_x?_7%6KFKXqq$j>uWbQ8Z5V`b_poU+N9(|RHw zA1~YM11ijoEiTe(V)EC$mp`<*&J#-c!QT;Bi%O z_BMuM`MLKG1X4N_pgF96gsxQu2*=-da%k=LGkdF1m_JZ4KA}(nN%W#9F)!`9X!It$mye_F-J&2 zkl%pCL&Jg3pps=(`RmfD#o4c}XwNBrF7$ft&wyIHn%dw0Zfv|e^ZoC|^N%LkNv&vn zyJKDV`bG1)U+y~maKZ2A?$;EbZ^<;0Ijw#7;foThF9$a=&Cob-!kRNfp=;d+&NB(D mQg0eWRSb@XFS6ZW` + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "converter.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include +#include + +#include "document.h" + +using namespace FictionBook; + +class Converter::TitleInfo +{ +public: + QStringList mGenres; + QString mAuthor; + QString mTitle; + QString mAnnotation; + QString mKeywords; + QDate mDate; + QDomElement mCoverPage; + QString mLanguage; +}; + +class Converter::DocumentInfo +{ +public: + QString mAuthor; + QString mProducer; + QDate mDate; + QString mId; + QString mVersion; +}; + +Converter::Converter() + : mTextDocument(nullptr) + , mCursor(nullptr) + , mTitleInfo(nullptr) + , mDocumentInfo(nullptr) +{ +} + +Converter::~Converter() +{ + delete mTitleInfo; + delete mDocumentInfo; +} + +QTextDocument *Converter::convert(const QString &fileName) +{ + Document fbDocument(fileName); + if (!fbDocument.open()) { + Q_EMIT error(fbDocument.lastErrorString(), -1); + return nullptr; + } + + mTextDocument = new QTextDocument; + mCursor = new QTextCursor(mTextDocument); + mSectionCounter = 0; + mLocalLinks.clear(); + mSectionMap.clear(); + + const QDomDocument document = fbDocument.content(); + + /** + * Set the correct page size + */ + mTextDocument->setPageSize(QSizeF(600, 800)); + + { + QTextFrameFormat frameFormat; + frameFormat.setMargin(20); + + QTextFrame *rootFrame = mTextDocument->rootFrame(); + rootFrame->setFrameFormat(frameFormat); + } + + /** + * Parse the content of the document + */ + const QDomElement documentElement = document.documentElement(); + + if (documentElement.tagName() != QLatin1String("FictionBook")) { + Q_EMIT error(i18n("Document is not a valid FictionBook"), -1); + delete mCursor; + return nullptr; + } + + /** + * First we read all images, so we can calculate the size later. + */ + QDomElement element = documentElement.firstChildElement(); + while (!element.isNull()) { + if (element.tagName() == QLatin1String("binary")) { + if (!convertBinary(element)) { /* cppcheck-suppress knownConditionTrueFalse */ + delete mCursor; + return nullptr; + } + } + + element = element.nextSiblingElement(); + } + + /** + * Read the rest: description (could be only one) and bodies (one or more) + */ + element = documentElement.firstChildElement(); + while (!element.isNull()) { + if (element.tagName() == QLatin1String("description")) { + if (!convertDescription(element)) { + delete mCursor; + return nullptr; + } + + if (mTitleInfo && !mTitleInfo->mCoverPage.isNull()) { + convertCover(mTitleInfo->mCoverPage); + mCursor->insertBlock(); + } + + QTextFrame *topFrame = mCursor->currentFrame(); + + QTextFrameFormat frameFormat; + frameFormat.setBorder(2); + frameFormat.setPadding(8); + frameFormat.setBackground(Qt::lightGray); + + if (mTitleInfo && !mTitleInfo->mTitle.isEmpty()) { + mCursor->insertFrame(frameFormat); + + QTextCharFormat charFormat; + charFormat.setFontPointSize(22); + charFormat.setFontWeight(QFont::Bold); + mCursor->insertText(mTitleInfo->mTitle, charFormat); + + mCursor->setPosition(topFrame->lastPosition()); + } + + if (mTitleInfo && !mTitleInfo->mAuthor.isEmpty()) { + frameFormat.setBorder(1); + mCursor->insertFrame(frameFormat); + + QTextCharFormat charFormat; + charFormat.setFontPointSize(10); + mCursor->insertText(mTitleInfo->mAuthor, charFormat); + + mCursor->setPosition(topFrame->lastPosition()); + mCursor->insertBlock(); + } + + if (mTitleInfo && !mTitleInfo->mAnnotation.isEmpty()) { + frameFormat.setBorder(0); + mCursor->insertFrame(frameFormat); + + QTextCharFormat charFormat; + charFormat.setFontPointSize(10); + charFormat.setFontItalic(true); + mCursor->insertText(mTitleInfo->mAnnotation, charFormat); + + mCursor->setPosition(topFrame->lastPosition()); + mCursor->insertBlock(); + } + } else if (element.tagName() == QLatin1String("body")) { + mCursor->insertBlock(); + + if (!convertBody(element)) { + delete mCursor; + return nullptr; + } + } + + element = element.nextSiblingElement(); + } + + /** + * Add document info. + */ + if (mTitleInfo) { + if (!mTitleInfo->mTitle.isEmpty()) { + Q_EMIT addMetaData(Okular::DocumentInfo::Title, mTitleInfo->mTitle); + } + + if (!mTitleInfo->mAuthor.isEmpty()) { + Q_EMIT addMetaData(Okular::DocumentInfo::Author, mTitleInfo->mAuthor); + } + + if (!mTitleInfo->mKeywords.isEmpty()) { + Q_EMIT addMetaData(Okular::DocumentInfo::Keywords, mTitleInfo->mKeywords); + } + } + + if (mDocumentInfo) { + if (!mDocumentInfo->mProducer.isEmpty()) { + Q_EMIT addMetaData(Okular::DocumentInfo::Producer, mDocumentInfo->mProducer); + } + + if (mDocumentInfo->mDate.isValid()) { + Q_EMIT addMetaData(Okular::DocumentInfo::CreationDate, QLocale().toString(mDocumentInfo->mDate, QLocale::ShortFormat)); + } + } + + QMapIterator> it(mLocalLinks); + while (it.hasNext()) { + it.next(); + + const QTextBlock block = mSectionMap[it.key()]; + if (!block.isValid()) { // local link without existing target + continue; + } + + Okular::DocumentViewport viewport = calculateViewport(mTextDocument, block); + + Okular::GotoAction *action = new Okular::GotoAction(QString(), viewport); + + Q_EMIT addAction(action, it.value().first, it.value().second); + } + + delete mCursor; + + return mTextDocument; +} + +bool Converter::convertBody(const QDomElement &element) +{ + QDomElement child = element.firstChildElement(); + while (!child.isNull()) { + if (child.tagName() == QLatin1String("section")) { + mCursor->insertBlock(); + if (!convertSection(child)) { + return false; + } + } else if (child.tagName() == QLatin1String("image")) { + if (!convertImage(child)) { /* cppcheck-suppress knownConditionTrueFalse */ + return false; + } + } else if (child.tagName() == QLatin1String("title")) { + if (!convertTitle(child)) { + return false; + } + } else if (child.tagName() == QLatin1String("epigraph")) { + if (!convertEpigraph(child)) { + return false; + } + } + + child = child.nextSiblingElement(); + } + + return true; +} + +bool Converter::convertDescription(const QDomElement &element) +{ + QDomElement child = element.firstChildElement(); + while (!child.isNull()) { + if (child.tagName() == QLatin1String("title-info")) { + if (!convertTitleInfo(child)) { + return false; + } + } + if (child.tagName() == QLatin1String("document-info")) { + if (!convertDocumentInfo(child)) { + return false; + } + } + + child = child.nextSiblingElement(); + } + + return true; +} + +bool Converter::convertTitleInfo(const QDomElement &element) +{ + delete mTitleInfo; + mTitleInfo = new TitleInfo; + + QDomElement child = element.firstChildElement(); + while (!child.isNull()) { + if (child.tagName() == QLatin1String("genre")) { + QString genre; + if (!convertTextNode(child, genre)) { /*cppcheck-suppress knownConditionTrueFalse*/ + return false; + } + + if (!genre.isEmpty()) { + mTitleInfo->mGenres.append(genre); + } + } else if (child.tagName() == QLatin1String("author")) { + QString firstName, middleName, lastName, dummy; + + if (!convertAuthor(child, firstName, middleName, lastName, dummy, dummy)) { + return false; + } + + if (mTitleInfo->mAuthor.isEmpty()) { + mTitleInfo->mAuthor = QStringLiteral("%1 %2 %3").arg(firstName, middleName, lastName).simplified(); + } else { + mTitleInfo->mAuthor += QStringLiteral(", %1 %2 %3").arg(firstName, middleName, lastName).simplified(); + } + } else if (child.tagName() == QLatin1String("book-title")) { + if (!convertTextNode(child, mTitleInfo->mTitle)) { /* cppcheck-suppress knownConditionTrueFalse*/ + return false; + } + } else if (child.tagName() == QLatin1String("keywords")) { + QString keywords; + if (!convertTextNode(child, keywords)) { /* cppcheck-suppress knownConditionTrueFalse */ + return false; + } + + mTitleInfo->mKeywords = keywords; + } else if (child.tagName() == QLatin1String("annotation")) { + if (!convertAnnotation(child, mTitleInfo->mAnnotation)) { /* cppcheck-suppress knownConditionTrueFalse */ + return false; + } + } else if (child.tagName() == QLatin1String("date")) { + if (!convertDate(child, mTitleInfo->mDate)) { /* cppcheck-suppress knownConditionTrueFalse */ + return false; + } + } else if (child.tagName() == QLatin1String("coverpage")) { + mTitleInfo->mCoverPage = child; + } else if (child.tagName() == QLatin1String("lang")) { + if (!convertTextNode(child, mTitleInfo->mLanguage)) { /* cppcheck-suppress knownConditionTrueFalse */ + return false; + } + } + child = child.nextSiblingElement(); + } + + return true; +} + +bool Converter::convertDocumentInfo(const QDomElement &element) +{ + delete mDocumentInfo; + mDocumentInfo = new DocumentInfo; + + QDomElement child = element.firstChildElement(); + while (!child.isNull()) { + if (child.tagName() == QLatin1String("author")) { + QString firstName, middleName, lastName, email, nickname; + + if (!convertAuthor(child, firstName, middleName, lastName, email, nickname)) { + return false; + } + + mDocumentInfo->mAuthor = QStringLiteral("%1 %2 %3 <%4> (%5)").arg(firstName, middleName, lastName, email, nickname); + } else if (child.tagName() == QLatin1String("program-used")) { + if (!convertTextNode(child, mDocumentInfo->mProducer)) { /* cppcheck-suppress knownConditionTrueFalse */ + return false; + } + } else if (child.tagName() == QLatin1String("date")) { + if (!convertDate(child, mDocumentInfo->mDate)) { /* cppcheck-suppress knownConditionTrueFalse */ + return false; + } + } else if (child.tagName() == QLatin1String("id")) { + if (!convertTextNode(child, mDocumentInfo->mId)) { /* cppcheck-suppress knownConditionTrueFalse */ + return false; + } + } else if (child.tagName() == QLatin1String("version")) { + if (!convertTextNode(child, mDocumentInfo->mVersion)) { /* cppcheck-suppress knownConditionTrueFalse */ + return false; + } + } + + child = child.nextSiblingElement(); + } + + return true; +} +bool Converter::convertAuthor(const QDomElement &element, QString &firstName, QString &middleName, QString &lastName, QString &email, QString &nickname) +{ + QDomElement child = element.firstChildElement(); + while (!child.isNull()) { + if (child.tagName() == QLatin1String("first-name")) { + if (!convertTextNode(child, firstName)) { /* cppcheck-suppress knownConditionTrueFalse */ + return false; + } + } else if (child.tagName() == QLatin1String("middle-name")) { + if (!convertTextNode(child, middleName)) { /* cppcheck-suppress knownConditionTrueFalse */ + return false; + } + } else if (child.tagName() == QLatin1String("last-name")) { + if (!convertTextNode(child, lastName)) { /* cppcheck-suppress knownConditionTrueFalse */ + return false; + } + } else if (child.tagName() == QLatin1String("email")) { + if (!convertTextNode(child, email)) { /* cppcheck-suppress knownConditionTrueFalse */ + return false; + } + } else if (child.tagName() == QLatin1String("nickname")) { + if (!convertTextNode(child, nickname)) { /* cppcheck-suppress knownConditionTrueFalse */ + return false; + } + } + + child = child.nextSiblingElement(); + } + + return true; +} + +bool Converter::convertTextNode(const QDomElement &element, QString &data) +{ + QDomNode child = element.firstChild(); + while (!child.isNull()) { + QDomText text = child.toText(); + if (!text.isNull()) { + data = text.data(); + } + + child = child.nextSibling(); + } + + return true; +} + +bool Converter::convertDate(const QDomElement &element, QDate &date) +{ + if (element.hasAttribute(QStringLiteral("value"))) { + date = QDate::fromString(element.attribute(QStringLiteral("value")), Qt::ISODate); + } + + return true; +} + +bool Converter::convertAnnotation(const QDomElement &element, QString &data) +{ + QDomElement child = element.firstChildElement(); + while (!child.isNull()) { + QString text = child.text(); + if (!text.isNull()) { + data = child.text(); + } + + child = child.nextSiblingElement(); + } + + return true; +} + +bool Converter::convertSection(const QDomElement &element) +{ + if (element.hasAttribute(QStringLiteral("id"))) { + mSectionMap.insert(element.attribute(QStringLiteral("id")), mCursor->block()); + } + + mSectionCounter++; + + QDomElement child = element.firstChildElement(); + while (!child.isNull()) { + if (child.tagName() == QLatin1String("title")) { + if (!convertTitle(child)) { + return false; + } + } else if (child.tagName() == QLatin1String("epigraph")) { + if (!convertEpigraph(child)) { + return false; + } + } else if (child.tagName() == QLatin1String("image")) { + if (!convertImage(child)) { /* cppcheck-suppress knownConditionTrueFalse */ + return false; + } + } else if (child.tagName() == QLatin1String("section")) { + if (!convertSection(child)) { + return false; + } + } else if (child.tagName() == QLatin1String("p")) { + QTextBlockFormat format; + format.setTextIndent(10); + mCursor->insertBlock(format); + if (!convertParagraph(child)) { + return false; + } + } else if (child.tagName() == QLatin1String("poem")) { + if (!convertPoem(child)) { + return false; + } + } else if (child.tagName() == QLatin1String("subtitle")) { + if (!convertSubTitle(child)) { + return false; + } + } else if (child.tagName() == QLatin1String("cite")) { + if (!convertCite(child)) { + return false; + } + } else if (child.tagName() == QLatin1String("empty-line")) { + if (!convertEmptyLine(child)) { /* cppcheck-suppress knownConditionTrueFalse */ + return false; + } + } else if (child.tagName() == QLatin1String("code")) { + if (!convertCode(child)) { + return false; + } + } else if (child.tagName() == QLatin1String("table")) { + if (!convertTable(child)) { + return false; + } + } + + child = child.nextSiblingElement(); + } + + mSectionCounter--; + + return true; +} + +bool Converter::convertTitle(const QDomElement &element) +{ + QTextFrame *topFrame = mCursor->currentFrame(); + + QTextFrameFormat frameFormat; + frameFormat.setBorder(1); + frameFormat.setPadding(8); + frameFormat.setBackground(Qt::lightGray); + + mCursor->insertFrame(frameFormat); + + QDomElement child = element.firstChildElement(); + + bool firstParagraph = true; + while (!child.isNull()) { + if (child.tagName() == QLatin1String("p")) { + if (firstParagraph) { + firstParagraph = false; + } else { + mCursor->insertBlock(); + } + + QTextCharFormat origFormat = mCursor->charFormat(); + + QTextCharFormat titleFormat(origFormat); + titleFormat.setFontPointSize(22 - (mSectionCounter * 2)); + titleFormat.setFontWeight(QFont::Bold); + mCursor->setCharFormat(titleFormat); + + if (!convertParagraph(child)) { + return false; + } + + mCursor->setCharFormat(origFormat); + + Q_EMIT addTitle(mSectionCounter, child.text(), mCursor->block()); + + } else if (child.tagName() == QLatin1String("empty-line")) { + if (!convertEmptyLine(child)) { /* cppcheck-suppress knownConditionTrueFalse */ + return false; + } + } + + child = child.nextSiblingElement(); + } + + mCursor->setPosition(topFrame->lastPosition()); + + return true; +} + +bool Converter::convertParagraph(const QDomElement &element) +{ + QDomNode child = element.firstChild(); + while (!child.isNull()) { + if (child.isElement()) { + const QDomElement childElement = child.toElement(); + if (childElement.tagName() == QLatin1String("emphasis")) { + if (!convertEmphasis(childElement)) { + return false; + } + } else if (childElement.tagName() == QLatin1String("strong")) { + if (!convertStrong(childElement)) { + return false; + } + } else if (childElement.tagName() == QLatin1String("style")) { + if (!convertStyle(childElement)) { + return false; + } + } else if (childElement.tagName() == QLatin1String("a")) { + if (!convertLink(childElement)) { + return false; + } + } else if (childElement.tagName() == QLatin1String("image")) { + if (!convertImage(childElement)) { /* cppcheck-suppress knownConditionTrueFalse */ + return false; + } + } else if (childElement.tagName() == QLatin1String("strikethrough")) { + if (!convertStrikethrough(childElement)) { + return false; + } + } else if (childElement.tagName() == QLatin1String("code")) { + if (!convertCode(childElement)) { + return false; + } + } else if (childElement.tagName() == QLatin1String("sup")) { + if (!convertSuperScript(childElement)) { + return false; + } + } else if (childElement.tagName() == QLatin1String("sub")) { + if (!convertSubScript(childElement)) { + return false; + } + } + } else if (child.isText()) { + const QDomText childText = child.toText(); + mCursor->insertText(childText.data().simplified()); + } + + child = child.nextSibling(); + } + + return true; +} + +bool Converter::convertEmphasis(const QDomElement &element) +{ + QTextCharFormat origFormat = mCursor->charFormat(); + + QTextCharFormat italicFormat(origFormat); + italicFormat.setFontItalic(true); + mCursor->setCharFormat(italicFormat); + + if (!convertParagraph(element)) { + return false; + } + + mCursor->setCharFormat(origFormat); + + return true; +} + +bool Converter::convertStrikethrough(const QDomElement &element) +{ + QTextCharFormat origFormat = mCursor->charFormat(); + + QTextCharFormat strikeoutFormat(origFormat); + strikeoutFormat.setFontStrikeOut(true); + mCursor->setCharFormat(strikeoutFormat); + + if (!convertParagraph(element)) { + return false; + } + + mCursor->setCharFormat(origFormat); + + return true; +} + +bool Converter::convertStrong(const QDomElement &element) +{ + QTextCharFormat origFormat = mCursor->charFormat(); + + QTextCharFormat boldFormat(origFormat); + boldFormat.setFontWeight(QFont::Bold); + mCursor->setCharFormat(boldFormat); + + if (!convertParagraph(element)) { + return false; + } + + mCursor->setCharFormat(origFormat); + + return true; +} + +bool Converter::convertStyle(const QDomElement &element) +{ + if (!convertParagraph(element)) { + return false; + } + + return true; +} + +bool Converter::convertBinary(const QDomElement &element) +{ + const QString id = element.attribute(QStringLiteral("id")); + + const QDomText textNode = element.firstChild().toText(); + QByteArray data = textNode.data().toLatin1(); + data = QByteArray::fromBase64(data); + + mTextDocument->addResource(QTextDocument::ImageResource, QUrl(id), QImage::fromData(data)); + + return true; +} + +bool Converter::convertCover(const QDomElement &element) +{ + QDomElement child = element.firstChildElement(); + while (!child.isNull()) { + if (child.tagName() == QLatin1String("image")) { + if (!convertImage(child)) { /* cppcheck-suppress knownConditionTrueFalse */ + return false; + } + } + + child = child.nextSiblingElement(); + } + + return true; +} + +bool Converter::convertImage(const QDomElement &element) +{ + QString href = element.attributeNS(QStringLiteral("http://www.w3.org/1999/xlink"), QStringLiteral("href")); + + if (href.startsWith(QLatin1Char('#'))) { + href = href.mid(1); + } + + const QImage img = qvariant_cast(mTextDocument->resource(QTextDocument::ImageResource, QUrl(href))); + + QTextImageFormat format; + format.setName(href); + + if (img.width() > 560) { + format.setWidth(560); + } + + format.setHeight(img.height()); + + mCursor->insertImage(format); + + return true; +} + +bool Converter::convertEpigraph(const QDomElement &element) +{ + QDomElement child = element.firstChildElement(); + while (!child.isNull()) { + if (child.tagName() == QLatin1String("p")) { + QTextBlockFormat format; + format.setTextIndent(10); + mCursor->insertBlock(format); + if (!convertParagraph(child)) { + return false; + } + } else if (child.tagName() == QLatin1String("poem")) { + if (!convertPoem(child)) { + return false; + } + } else if (child.tagName() == QLatin1String("cite")) { + if (!convertCite(child)) { + return false; + } + } else if (child.tagName() == QLatin1String("empty-line")) { + if (!convertEmptyLine(child)) { /* cppcheck-suppress knownConditionTrueFalse */ + return false; + } + } else if (child.tagName() == QLatin1String("text-author")) { + QTextBlockFormat format; + format.setTextIndent(10); + mCursor->insertBlock(format); + if (!convertParagraph(child)) { + return false; + } + } + + child = child.nextSiblingElement(); + } + + return true; +} + +bool Converter::convertPoem(const QDomElement &element) +{ + QDomElement child = element.firstChildElement(); + while (!child.isNull()) { + if (child.tagName() == QLatin1String("title")) { + if (!convertTitle(child)) { + return false; + } + } else if (child.tagName() == QLatin1String("epigraph")) { + if (!convertEpigraph(child)) { + return false; + } + } else if (child.tagName() == QLatin1String("empty-line")) { + if (!convertEmptyLine(child)) { /* cppcheck-suppress knownConditionTrueFalse */ + return false; + } + } else if (child.tagName() == QLatin1String("stanza")) { + if (!convertStanza(child)) { + return false; + } + } else if (child.tagName() == QLatin1String("text-author")) { + QTextBlockFormat format; + format.setTextIndent(10); + mCursor->insertBlock(format); + if (!convertParagraph(child)) { + return false; + } + } + + child = child.nextSiblingElement(); + } + + return true; +} + +bool Converter::convertSubTitle(const QDomElement &element) +{ + QTextFrame *topFrame = mCursor->currentFrame(); + + QTextFrameFormat frameFormat; + frameFormat.setBorder(1); + frameFormat.setPadding(8); + frameFormat.setBackground(Qt::lightGray); + frameFormat.setTopMargin(16); + + mCursor->insertFrame(frameFormat); + + if (!convertParagraph(element)) { + return false; + } + + mCursor->setPosition(topFrame->lastPosition()); + + return true; +} + +bool Converter::convertCite(const QDomElement &element) +{ + QDomElement child = element.firstChildElement(); + while (!child.isNull()) { + if (child.tagName() == QLatin1String("p")) { + QTextBlockFormat format; + format.setTextIndent(10); + mCursor->insertBlock(format); + if (!convertParagraph(child)) { + return false; + } + } else if (child.tagName() == QLatin1String("poem")) { + if (!convertParagraph(child)) { + return false; + } + } else if (child.tagName() == QLatin1String("text-author")) { + QTextBlockFormat format; + format.setTextIndent(10); + mCursor->insertBlock(format); + if (!convertParagraph(child)) { + return false; + } + } else if (child.tagName() == QLatin1String("empty-line")) { + if (!convertEmptyLine(child)) { /* cppcheck-suppress knownConditionTrueFalse */ + return false; + } + } else if (child.tagName() == QLatin1String("subtitle")) { + if (!convertSubTitle(child)) { + return false; + } + } else if (child.tagName() == QLatin1String("table")) { + if (!convertTable(child)) { + return false; + } + } + + child = child.nextSiblingElement(); + } + + return true; +} + +bool Converter::convertEmptyLine(const QDomElement &) +{ + mCursor->insertText(QStringLiteral("\n\n")); + return true; +} + +bool Converter::convertLink(const QDomElement &element) +{ + QString href = element.attributeNS(QStringLiteral("http://www.w3.org/1999/xlink"), QStringLiteral("href")); + QString type = element.attributeNS(QStringLiteral("http://www.w3.org/1999/xlink"), QStringLiteral("type")); + + if (type == QLatin1String("note")) { + mCursor->insertText(QStringLiteral("[")); + } + + int startPosition = mCursor->position(); + + QTextCharFormat origFormat(mCursor->charFormat()); + + QTextCharFormat format(mCursor->charFormat()); + format.setForeground(Qt::blue); + format.setFontUnderline(true); + mCursor->setCharFormat(format); + + QDomNode child = element.firstChild(); + while (!child.isNull()) { + if (child.isElement()) { + const QDomElement childElement = child.toElement(); + if (childElement.tagName() == QLatin1String("emphasis")) { + if (!convertEmphasis(childElement)) { + return false; + } + } else if (childElement.tagName() == QLatin1String("strong")) { + if (!convertStrong(childElement)) { + return false; + } + } else if (childElement.tagName() == QLatin1String("style")) { + if (!convertStyle(childElement)) { + return false; + } + } + } else if (child.isText()) { + const QDomText text = child.toText(); + if (!text.isNull()) { + mCursor->insertText(text.data()); + } + } + + child = child.nextSibling(); + } + mCursor->setCharFormat(origFormat); + + int endPosition = mCursor->position(); + + if (type == QLatin1String("note")) { + mCursor->insertText(QStringLiteral("]")); + } + + if (href.startsWith(QLatin1Char('#'))) { // local link + mLocalLinks.insert(href.mid(1), QPair(startPosition, endPosition)); + } else { + // external link + Okular::BrowseAction *action = new Okular::BrowseAction(QUrl(href)); + Q_EMIT addAction(action, startPosition, endPosition); + } + + return true; +} + +bool Converter::convertStanza(const QDomElement &element) +{ + QDomElement child = element.firstChildElement(); + while (!child.isNull()) { + if (child.tagName() == QLatin1String("title")) { + if (!convertTitle(child)) { + return false; + } + } else if (child.tagName() == QLatin1String("subtitle")) { + if (!convertSubTitle(child)) { + return false; + } + } else if (child.tagName() == QLatin1String("v")) { + QTextBlockFormat format; + format.setTextIndent(50); + mCursor->insertBlock(format); + if (!convertParagraph(child)) { + return false; + } + } + + child = child.nextSiblingElement(); + } + + return true; +} + +bool Converter::convertCode(const QDomElement &element) +{ + QTextCharFormat origFormat = mCursor->charFormat(); + + QTextCharFormat codeFormat(origFormat); + codeFormat.setFontFamilies({QStringLiteral("monospace")}); + mCursor->setCharFormat(codeFormat); + + if (!convertParagraph(element)) { + return false; + } + + mCursor->setCharFormat(origFormat); + + return true; +} + +bool Converter::convertSuperScript(const QDomElement &element) +{ + QTextCharFormat origFormat = mCursor->charFormat(); + + QTextCharFormat superScriptFormat(origFormat); + superScriptFormat.setVerticalAlignment(QTextCharFormat::AlignSuperScript); + mCursor->setCharFormat(superScriptFormat); + + if (!convertParagraph(element)) { + return false; + } + + mCursor->setCharFormat(origFormat); + + return true; +} + +bool Converter::convertSubScript(const QDomElement &element) +{ + QTextCharFormat origFormat = mCursor->charFormat(); + + QTextCharFormat subScriptFormat(origFormat); + subScriptFormat.setVerticalAlignment(QTextCharFormat::AlignSubScript); + mCursor->setCharFormat(subScriptFormat); + + if (!convertParagraph(element)) { + return false; + } + + mCursor->setCharFormat(origFormat); + + return true; +} + +bool Converter::convertTable(const QDomElement &element) +{ + QTextFrame *topFrame = mCursor->currentFrame(); + + QTextTable *table = nullptr; + + QDomElement child = element.firstChildElement(); + while (!child.isNull()) { + if (child.tagName() == QLatin1String("tr")) { + if (table) { + table->appendRows(1); + } else { + QTextTableFormat tableFormat; + tableFormat.setBorderStyle(QTextFrameFormat::BorderStyle_None); + table = mCursor->insertTable(1, 1, tableFormat); + } + + if (!convertTableRow(child, *table)) { + return false; + } + } + + child = child.nextSiblingElement(); + } + + mCursor->setPosition(topFrame->lastPosition()); + + return true; +} + +bool Converter::convertTableRow(const QDomElement &element, QTextTable &table) +{ + QDomElement child = element.firstChildElement(); + int column = 0; + while (!child.isNull()) { + if (child.tagName() == QLatin1String("th")) { + if (!convertTableHeaderCell(child, table, column)) { + return false; + } + } else if (child.tagName() == QLatin1String("td")) { + if (!convertTableCell(child, table, column)) { + return false; + } + } + + child = child.nextSiblingElement(); + } + + return true; +} + +bool Converter::convertTableHeaderCell(const QDomElement &element, QTextTable &table, int &column) +{ + QTextCharFormat charFormat; + charFormat.setFontWeight(QFont::Bold); + return convertTableCellHelper(element, table, column, charFormat); +} + +bool Converter::convertTableCell(const QDomElement &element, QTextTable &table, int &column) +{ + QTextCharFormat charFormat; + return convertTableCellHelper(element, table, column, charFormat); +} + +bool Converter::convertTableCellHelper(const QDomElement &element, QTextTable &table, int &column, const QTextCharFormat &charFormat) +{ + int row = table.rows() - 1; + + int colspan = qMax(element.attribute(QStringLiteral("colspan")).toInt(), 1); + // TODO: rowspan + // int rowspan = qMax(element.attribute(QStringLiteral("rowspan")).toInt(), 1); + + int columnsToAppend = column + colspan - table.columns(); + if (columnsToAppend > 0) { + table.appendColumns(columnsToAppend); + } + + table.mergeCells(row, column, 1, colspan); + + int cellCursorPosition = table.cellAt(row, column).firstPosition(); + mCursor->setPosition(cellCursorPosition); + + Qt::Alignment alignment; + + QString halign = element.attribute(QStringLiteral("halign")); + if (halign == QStringLiteral("center")) { + alignment |= Qt::AlignHCenter; + } else if (halign == QStringLiteral("right")) { + alignment |= Qt::AlignRight; + } else { + alignment |= Qt::AlignLeft; + } + + QString valign = element.attribute(QStringLiteral("valign")); + if (valign == QStringLiteral("center")) { + alignment |= Qt::AlignVCenter; + } else if (valign == QStringLiteral("bottom")) { + alignment |= Qt::AlignBottom; + } else { + alignment |= Qt::AlignTop; + } + + QTextBlockFormat format; + format.setAlignment(alignment); + mCursor->insertBlock(format, charFormat); + + if (!convertParagraph(element)) { + return false; + } + + column += colspan; + return true; +} diff --git a/generators/fictionbook/converter.h b/generators/fictionbook/converter.h new file mode 100644 index 0000000..e3317df --- /dev/null +++ b/generators/fictionbook/converter.h @@ -0,0 +1,82 @@ +/* + SPDX-FileCopyrightText: 2007 Tobias Koenig + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef FICTIONBOOK_CONVERTER_H +#define FICTIONBOOK_CONVERTER_H + +#include + +class QDomElement; +class QTextCharFormat; +class QTextCursor; +class QTextTable; + +namespace FictionBook +{ +class Converter : public Okular::TextDocumentConverter +{ + Q_OBJECT + +public: + Converter(); + ~Converter() override; + + QTextDocument *convert(const QString &fileName) override; + +private: + bool convertBody(const QDomElement &element); + bool convertDescription(const QDomElement &element); + bool convertSection(const QDomElement &element); + bool convertTitle(const QDomElement &element); + bool convertParagraph(const QDomElement &element); + bool convertBinary(const QDomElement &element); + bool convertCover(const QDomElement &element); + bool convertImage(const QDomElement &element); + bool convertEpigraph(const QDomElement &element); + bool convertPoem(const QDomElement &element); + bool convertSubTitle(const QDomElement &element); + bool convertCite(const QDomElement &element); + bool convertEmptyLine(const QDomElement &element); + bool convertLink(const QDomElement &element); + bool convertEmphasis(const QDomElement &element); + bool convertStrong(const QDomElement &element); + bool convertStrikethrough(const QDomElement &element); + bool convertStyle(const QDomElement &element); + bool convertStanza(const QDomElement &element); + bool convertCode(const QDomElement &element); + bool convertSuperScript(const QDomElement &element); + bool convertSubScript(const QDomElement &element); + bool convertTable(const QDomElement &element); + bool convertTableRow(const QDomElement &element, QTextTable &table); + bool convertTableHeaderCell(const QDomElement &element, QTextTable &table, int &column); + bool convertTableCell(const QDomElement &element, QTextTable &table, int &column); + bool convertTableCellHelper(const QDomElement &element, QTextTable &table, int &column, const QTextCharFormat &charFormat); + + bool convertTitleInfo(const QDomElement &element); + bool convertDocumentInfo(const QDomElement &element); + bool convertAuthor(const QDomElement &element, QString &firstName, QString &middleName, QString &lastName, QString &email, QString &nickname); + bool convertDate(const QDomElement &element, QDate &date); + bool convertTextNode(const QDomElement &element, QString &data); + bool convertAnnotation(const QDomElement &element, QString &data); + + QTextDocument *mTextDocument; + QTextCursor *mCursor; + + class TitleInfo; + TitleInfo *mTitleInfo; + + class DocumentInfo; + DocumentInfo *mDocumentInfo; + + int mSectionCounter = 0; + + QMap mSectionMap; + QMap> mLocalLinks; +}; + +} + +#endif diff --git a/generators/fictionbook/document.cpp b/generators/fictionbook/document.cpp new file mode 100644 index 0000000..3bb85b6 --- /dev/null +++ b/generators/fictionbook/document.cpp @@ -0,0 +1,88 @@ +/* + SPDX-FileCopyrightText: 2007 Tobias Koenig + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "document.h" + +#include + +#include +#include + +using namespace FictionBook; + +Document::Document(const QString &fileName) + : mFileName(fileName) +{ +} + +bool Document::open() +{ + QIODevice *device; + + QFile file(mFileName); + KZip zip(mFileName); + if (mFileName.endsWith(QLatin1String(".fb")) || mFileName.endsWith(QLatin1String(".fb2"))) { + if (!file.open(QIODevice::ReadOnly)) { + setError(i18n("Unable to open document: %1", file.errorString())); + return false; + } + + device = &file; + } else { + if (!zip.open(QIODevice::ReadOnly)) { + setError(i18n("Document is not a valid ZIP archive")); + return false; + } + + const KArchiveDirectory *directory = zip.directory(); + if (!directory) { + setError(i18n("Invalid document structure (main directory is missing)")); + return false; + } + + const QStringList entries = directory->entries(); + + QString documentFile; + for (int i = 0; i < entries.count(); ++i) { + if (entries[i].endsWith(QLatin1String(".fb2"))) { + documentFile = entries[i]; + break; + } + } + + if (documentFile.isEmpty()) { + setError(i18n("No content found in the document")); + return false; + } + + const KArchiveFile *entry = static_cast(directory->entry(documentFile)); + // FIXME delete 'deviceì somewhen + device = entry->createDevice(); + } + + QString errorMsg; + if (!mDocument.setContent(device, true, &errorMsg)) { + setError(i18n("Invalid XML document: %1", errorMsg)); + return false; + } + + return true; +} + +QDomDocument Document::content() const +{ + return mDocument; +} + +QString Document::lastErrorString() const +{ + return mErrorString; +} + +void Document::setError(const QString &error) +{ + mErrorString = error; +} diff --git a/generators/fictionbook/document.h b/generators/fictionbook/document.h new file mode 100644 index 0000000..e5e6deb --- /dev/null +++ b/generators/fictionbook/document.h @@ -0,0 +1,38 @@ +/* + SPDX-FileCopyrightText: 2007 Tobias Koenig + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef FICTIONBOOK_DOCUMENT_H +#define FICTIONBOOK_DOCUMENT_H + +#include +#include +#include +#include + +namespace FictionBook +{ +class Document +{ +public: + explicit Document(const QString &fileName); + + bool open(); + + QDomDocument content() const; + + QString lastErrorString() const; + +private: + void setError(const QString &); + + QString mFileName; + QDomDocument mDocument; + QString mErrorString; +}; + +} + +#endif diff --git a/generators/fictionbook/generator_fb.cpp b/generators/fictionbook/generator_fb.cpp new file mode 100644 index 0000000..7115edc --- /dev/null +++ b/generators/fictionbook/generator_fb.cpp @@ -0,0 +1,28 @@ +/* + SPDX-FileCopyrightText: 2007 Tobias Koenig + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "generator_fb.h" + +#include "converter.h" + +#include +#include +#include + +OKULAR_EXPORT_PLUGIN(FictionBookGenerator, "libokularGenerator_fb.json") + +FictionBookGenerator::FictionBookGenerator(QObject *parent, const QVariantList &args) + : Okular::TextDocumentGenerator(new FictionBook::Converter, QStringLiteral("okular_fictionbook_generator_settings"), parent, args) +{ +} + +void FictionBookGenerator::addPages(KConfigDialog *dlg) +{ + Okular::TextDocumentSettingsWidget *widget = new Okular::TextDocumentSettingsWidget(); + + dlg->addPage(widget, generalSettings(), i18n("FictionBook"), QStringLiteral("okular-fb2"), i18n("FictionBook Backend Configuration")); +} +#include "generator_fb.moc" diff --git a/generators/fictionbook/generator_fb.h b/generators/fictionbook/generator_fb.h new file mode 100644 index 0000000..e5b325d --- /dev/null +++ b/generators/fictionbook/generator_fb.h @@ -0,0 +1,24 @@ +/* + SPDX-FileCopyrightText: 2007 Tobias Koenig + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_GENERATOR_FB_H_ +#define _OKULAR_GENERATOR_FB_H_ + +#include + +class FictionBookGenerator : public Okular::TextDocumentGenerator +{ + Q_OBJECT + Q_INTERFACES(Okular::Generator) + +public: + FictionBookGenerator(QObject *parent, const QVariantList &args); + + // [INHERITED] reparse configuration + void addPages(KConfigDialog *dlg) override; +}; + +#endif diff --git a/generators/fictionbook/hi32-app-okular-fb2.svg b/generators/fictionbook/hi32-app-okular-fb2.svg new file mode 100644 index 0000000..bbc333f --- /dev/null +++ b/generators/fictionbook/hi32-app-okular-fb2.svg @@ -0,0 +1,200 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + 2 + diff --git a/generators/fictionbook/libokularGenerator_fb.json b/generators/fictionbook/libokularGenerator_fb.json new file mode 100644 index 0000000..036269e --- /dev/null +++ b/generators/fictionbook/libokularGenerator_fb.json @@ -0,0 +1,213 @@ +{ + "KPlugin": { + "Authors": [ + { + "Email": "tokoe@kde.org", + "Name": "Tobias Koenig", + "Name[ar]": "Tobias Koenig", + "Name[az]": "Tobias Koenig", + "Name[be]": "Tobias Koenig", + "Name[bg]": "Tobias Koenig", + "Name[ca@valencia]": "Tobias Koenig", + "Name[ca]": "Tobias Koenig", + "Name[cs]": "Tobias Koenig", + "Name[da]": "Tobias Koenig", + "Name[de]": "Tobias Koenig", + "Name[el]": "Tobias Koenig", + "Name[en_GB]": "Tobias Koenig", + "Name[eo]": "Tobias Koenig", + "Name[es]": "Tobias Koenig", + "Name[et]": "Tobias Koenig", + "Name[eu]": "Tobias Koenig", + "Name[fi]": "Tobias Koenig", + "Name[fr]": "Tobias Koenig", + "Name[gl]": "Tobias Koenig", + "Name[he]": "טוביאס קוניג", + "Name[hu]": "Tobias Koenig", + "Name[ia]": "Tobias Koenig", + "Name[ie]": "Tobias Koenig", + "Name[is]": "Tobias Koenig", + "Name[it]": "Tobias Koenig", + "Name[ka]": "Tobias Koenig", + "Name[ko]": "Tobias Koenig", + "Name[lt]": "Tobias Koenig", + "Name[lv]": "Tobias Koenig", + "Name[nl]": "Tobias Koenig", + "Name[nn]": "Tobias König", + "Name[pa]": "Tobias Koenig", + "Name[pl]": "Tobias Koenig", + "Name[pt]": "Tobias Koenig", + "Name[pt_BR]": "Tobias Koenig", + "Name[ro]": "Tobias Koenig", + "Name[ru]": "Tobias König", + "Name[sa]": "टोबियास कोएनिग्", + "Name[sk]": "Tobias Koenig", + "Name[sl]": "Tobias Koenig", + "Name[sr@ijekavian]": "Тобијас Кениг", + "Name[sr@ijekavianlatin]": "Tobijas Kenig", + "Name[sr@latin]": "Tobijas Kenig", + "Name[sr]": "Тобијас Кениг", + "Name[sv]": "Tobias Koenig", + "Name[ta]": "டொபையாசு கோனிகு", + "Name[tr]": "Tobias König", + "Name[uk]": "Tobias Koenig", + "Name[vi]": "Tobias Koenig", + "Name[zh_CN]": "Tobias Koenig", + "Name[zh_TW]": "Tobias Koenig" + } + ], + "Copyright": "© 2007-2008 Tobias Koenig", + "Copyright[ar]": "© 2007-2008 Tobias Koenig", + "Copyright[az]": "© 2007-2008 Tobias Koenig", + "Copyright[be]": "© 2007-2008 Tobias Koenig", + "Copyright[bg]": "© 2007-2008 Tobias Koenig", + "Copyright[ca@valencia]": "© 2007-2008 Tobias Koenig", + "Copyright[ca]": "© 2007-2008 Tobias Koenig", + "Copyright[cs]": "© 2007-2008 Tobias Koenig", + "Copyright[da]": "© 2007-2008 Tobias Koenig", + "Copyright[de]": "© 2007–2008 Tobias Koenig", + "Copyright[el]": "© 2007-2008 Tobias Koenig", + "Copyright[en_GB]": "© 2007-2008 Tobias Koenig", + "Copyright[eo]": "© 2007-2008 Tobias Koenig", + "Copyright[es]": "© 2007-2008 Tobias Koenig", + "Copyright[et]": "© 2007-2008: Tobias Koenig", + "Copyright[eu]": "© 2007-2008 Tobias Koenig", + "Copyright[fi]": "© 2007–2008 Tobias Koenig", + "Copyright[fr]": "© 2007-2008 Tobias Koenig", + "Copyright[gl]": "© 2007-2008 Tobias Koenig", + "Copyright[he]": "© 2007‏-2008 טוביאס קוניג", + "Copyright[hu]": "© Tobias Koenig, 2007-2008.", + "Copyright[ia]": "© 2007-2008 Tobias Koenig", + "Copyright[ie]": "© 2007-2008 Tobias Koenig", + "Copyright[is]": "© 2007-2008 Tobias Koenig", + "Copyright[it]": "© 2007-2008 Tobias Koenig", + "Copyright[ka]": "© 2007-2008 Tobias Koenig", + "Copyright[ko]": "© 2007-2008 Tobias Koenig", + "Copyright[lt]": "© 2007-2008 Tobias Koenig", + "Copyright[lv]": "© 2007-2008 Tobias Koenig", + "Copyright[nl]": "© 2007-2008 Tobias Koenig", + "Copyright[nn]": "© 2007–2008 Tobias König", + "Copyright[pa]": "© 2007-2008 Tobias Koenig", + "Copyright[pl]": "© 2007-2008 Tobias Koenig", + "Copyright[pt]": "© 2007-2008 Tobias Koenig", + "Copyright[pt_BR]": "© 2007-2008 Tobias Koenig", + "Copyright[ro]": "© 2007-2008 Tobias Koenig", + "Copyright[ru]": "© Tobias König, 2007-2008", + "Copyright[sa]": "© 2007-2008 टोबियास कोएनिग", + "Copyright[sk]": "© 2007-2008 Tobias Koenig", + "Copyright[sl]": "© 2007-2008 Tobias Koenig", + "Copyright[sr@ijekavian]": "© 2007–2008, Тобијас Кениг", + "Copyright[sr@ijekavianlatin]": "© 2007–2008, Tobijas Kenig", + "Copyright[sr@latin]": "© 2007–2008, Tobijas Kenig", + "Copyright[sr]": "© 2007–2008, Тобијас Кениг", + "Copyright[sv]": "© 2007-2008 Tobias Koenig", + "Copyright[tr]": "© 2007–2008 Tobias König", + "Copyright[uk]": "© Tobias Koenig, 2007–2008", + "Copyright[vi]": "© 2007-2008 Tobias Koenig", + "Copyright[zh_CN]": "© 2007-2008 Tobias Koenig", + "Copyright[zh_TW]": "© 2007-2008 Tobias Koenig", + "Description": "A renderer for FictionBook eBooks", + "Description[ar]": "عارض الكتب الإلكترونية FictionBook", + "Description[az]": "FictionBook eBooks üçün tərtibatçı", + "Description[be]": "Сродак візуалізацыі электронных кніг FictionBook", + "Description[bg]": "Визуализатор на електронни книги на FictionBook", + "Description[ca@valencia]": "Un renderitzador per a llibres electrònics FictionBook", + "Description[ca]": "Un renderitzador per a llibres electrònics FictionBook", + "Description[cs]": "Vykreslovač elektronických knih Fiction Book", + "Description[da]": "En gengiver til FictionBook-e-bøger", + "Description[de]": "Ein Renderer für FictionBook-eBooks", + "Description[el]": "Πρόγραμμα αποτύπωσης για FictionBook eBooks", + "Description[en_GB]": "A renderer for FictionBook eBooks", + "Description[eo]": "Iganto por FictionBook eBooks", + "Description[es]": "Un visor para libros electrónicos FictionBook", + "Description[et]": "FictionBooki e-raamatute renderdaja", + "Description[eu]": "FictionBook eLiburuentzako errendatzaile bat", + "Description[fi]": "FictionBook-e-kirjojen hahmonnin", + "Description[fr]": "Système de rendu pour les livres électroniques FictionBook", + "Description[gl]": "Un visor de libros electrónicos FictionBook.", + "Description[he]": "מעבד קובצי ספרים אלקטרוניים מסוג FictionBook", + "Description[hu]": "Leképező FictionBook e-könyvekhez", + "Description[ia]": "Un rendition pro eBooks (Libros electronic) de FictionBook", + "Description[is]": "Myndunarviðbót fyrir FictionBook-rafbækur", + "Description[it]": "Un visualizzatore per ebook FictionBook", + "Description[ka]": "FictionBook ფაილის რენდერერი", + "Description[ko]": "FictionBook 전자책 렌더러", + "Description[lt]": "FictionBook elektroninių knygų atvaizdavimas", + "Description[lv]": "FictionBook e-grāmatu atveidotājs", + "Description[nl]": "Een viewer voor FictionBooks eBooks", + "Description[nn]": "Ein lesar for e-bøker av typen FictionBook", + "Description[pl]": "Wyświetlanie e-booków FictionBook", + "Description[pt]": "Um visualizador de eBooks em FictionBook", + "Description[pt_BR]": "Um interpretador de eBooks FictionBook", + "Description[ru]": "Модуль поддержки формата электронных книг FictionBook", + "Description[sa]": "FictionBook eBooks कृते एकः प्रतिपादकः", + "Description[sk]": "Vykresľovanie e-kníh FictionBook", + "Description[sl]": "Izrisovalnik za e-knjige FictionBook", + "Description[sr@ijekavian]": "Рендерер за фикшнбук електронске књиге", + "Description[sr@ijekavianlatin]": "Renderer za FictionBook elektronske knjige", + "Description[sr@latin]": "Renderer za FictionBook elektronske knjige", + "Description[sr]": "Рендерер за фикшнбук електронске књиге", + "Description[sv]": "Ett Ã¥tergivningsprogram för Fiction Book e-böcker", + "Description[tr]": "FictionBook e-kitapları için bir sunucu", + "Description[uk]": "Програма для відображення електронної белетристики", + "Description[vi]": "Một trình kết xuất cho các sách điện tá»­ FictionBook", + "Description[zh_CN]": "FictionBook 电子书的渲染程序", + "Description[zh_TW]": "FictionBook 電子書成像器", + "License": "GPL", + "MimeTypes": [ + "application/x-fictionbook+xml" + ], + "Name": "Fiction Book Backend", + "Name[ar]": "خلفية الكتب الخيالية", + "Name[az]": "Fiction Book modulu", + "Name[be]": "Рухавік Fiction Book", + "Name[bg]": "Бекенд на Fiction Book", + "Name[ca@valencia]": "Dorsal Fiction Book", + "Name[ca]": "Dorsal Fiction Book", + "Name[cs]": "Podpůrná vrstva Fiction Book", + "Name[da]": "Fiction Book-backend", + "Name[de]": "Anzeigemodul für FictionBook", + "Name[el]": "Σύστημα υποστήριξης Fiction Book", + "Name[en_GB]": "Fiction Book Backend", + "Name[eo]": "Fiction Book-Backend", + "Name[es]": "Motor para Fiction Book", + "Name[et]": "Fiction Booki taustaprogramm", + "Name[eu]": "Fiction Book-en bizkarraldekoa", + "Name[fi]": "FictionBook-taustaosa", + "Name[fr]": "Moteur pour « FictionBook »", + "Name[gl]": "Motor de libros FictionBook", + "Name[he]": "מנגנון Fiction Book", + "Name[hu]": "FictionBook modul", + "Name[ia]": "Retro adminisration de Fiction Book", + "Name[ie]": "Infrastructura FictionBook", + "Name[is]": "Fiction Book-bakendi", + "Name[it]": "Backend Fiction Book", + "Name[ka]": "Fiction Book უკანაბოლო", + "Name[ko]": "Fiction Book 백엔드", + "Name[lt]": "Fiction Book programinė sąsaja", + "Name[lv]": "Fiction Book aizmugursistēma", + "Name[nl]": "FictionBook-backend", + "Name[nn]": "FictionBook-motor", + "Name[pl]": "Obsługa Fiction Book", + "Name[pt]": "Infra-Estrutura de Livros de Ficção", + "Name[pt_BR]": "Infraestrutura Fiction Book", + "Name[ru]": "Модуль поддержки формата FictionBook", + "Name[sa]": "कथा पुस्तक Backend", + "Name[sk]": "Fiction Book Backend", + "Name[sl]": "Zaledje za FictionBook", + "Name[sr@ijekavian]": "Позадина за фикшнбук", + "Name[sr@ijekavianlatin]": "Pozadina za FictionBook", + "Name[sr@latin]": "Pozadina za FictionBook", + "Name[sr]": "Позадина за фикшнбук", + "Name[sv]": "Fiction Book-gränssnitt", + "Name[tr]": "Kurgu Kitabı Arka Ucu", + "Name[uk]": "Модуль FictionBook", + "Name[vi]": "Hậu phương FictionBook", + "Name[zh_CN]": "Fiction Book 后端程序", + "Name[zh_TW]": "Fiction Book 後端介面", + "Version": "0.1.5" + }, + "X-KDE-Priority": 1, + "X-KDE-okularAPIVersion": 1, + "X-KDE-okularHasInternalSettings": true +} diff --git a/generators/fictionbook/okularApplication_fb.desktop b/generators/fictionbook/okularApplication_fb.desktop new file mode 100755 index 0000000..90ecc40 --- /dev/null +++ b/generators/fictionbook/okularApplication_fb.desktop @@ -0,0 +1,258 @@ +[Desktop Entry] +MimeType=application/x-fictionbook+xml; +Terminal=false +Name=Okular +Name[ar]=اوكلار +Name[az]=Okular +Name[be]=Okular +Name[bg]=Okular +Name[bs]=Okular +Name[ca]=Okular +Name[ca@valencia]=Okular +Name[cs]=Okular +Name[da]=Okular +Name[de]=Okular +Name[el]=Okular +Name[en_GB]=Okular +Name[eo]=Okular +Name[es]=Okular +Name[et]=Okular +Name[eu]=Okular +Name[fi]=Okular +Name[fr]=Okular +Name[ga]=Okular +Name[gl]=Okular +Name[he]=Okular +Name[hne]=ओकुलर +Name[hr]=Okular +Name[hu]=Okular +Name[ia]=Okular +Name[ie]=Okular +Name[is]=Okular +Name[it]=Okular +Name[ja]=Okular +Name[ka]=Okular +Name[kk]=Okular +Name[km]=Okular +Name[ko]=Okular +Name[ku]=Okular +Name[lt]=Okular +Name[lv]=Okular +Name[mr]=ओक्युलर +Name[nb]=Okular +Name[nds]=Okular +Name[nl]=Okular +Name[nn]=Okular +Name[pa]=ਓਕੁਲਾਰ +Name[pl]=Okular +Name[pt]=Okular +Name[pt_BR]=Okular +Name[ro]=Okular +Name[ru]=Okular +Name[sa]=नेत्रस्य +Name[si]=Okular +Name[sk]=Okular +Name[sl]=Okular +Name[sq]=Okular +Name[sr]=Окулар +Name[sr@ijekavian]=Окулар +Name[sr@ijekavianlatin]=Okular +Name[sr@latin]=Okular +Name[sv]=Okular +Name[ta]=ஆக்குலர் +Name[th]=โอกูลาร์ +Name[tr]=Okular +Name[ug]=Okular +Name[uk]=Okular +Name[vi]=Okular +Name[zh_CN]=Okular 文档查看器 +Name[zh_TW]=Okular +GenericName=Document Viewer +GenericName[ar]=عارض المستندات +GenericName[az]=Sənədə baxış vasitısi +GenericName[be]=Сродак для прагляду дакументаў +GenericName[bg]=Преглед на документи +GenericName[bs]=Prikazivač dokumenata +GenericName[ca]=Visualitzador de documents +GenericName[ca@valencia]=Visor de documents +GenericName[cs]=Prohlížeč dokumentů +GenericName[da]=Dokumentfremviser +GenericName[de]=Dokumentenbetrachter +GenericName[el]=Προβολέας εγγράφων +GenericName[en_GB]=Document Viewer +GenericName[eo]=Dokumenta rigardilo +GenericName[es]=Visor de documentos +GenericName[et]=Dokumendinäitaja +GenericName[eu]=Dokumentu erakuslea +GenericName[fa]=مشاهده‌گر سند +GenericName[fi]=Asiakirjakatselin +GenericName[fr]=Afficheur de documents +GenericName[ga]=Amharcán Cáipéisí +GenericName[gl]=Visor de documentos +GenericName[he]=מציג מסמכים +GenericName[hi]=दस्तावेज़ प्रदर्शक +GenericName[hne]=कागद प्रदर्सक +GenericName[hr]=Preglednik dokumenata +GenericName[hu]=Dokumentummegjelenítő +GenericName[ia]=Visor de documento +GenericName[ie]=Visor de documentes +GenericName[is]=Skjalaskoðari +GenericName[it]=Visore di documenti +GenericName[ja]=文書ビューア +GenericName[ka]=დოკუმენტების მნახველი +GenericName[kk]=Құжатты қарау құралы +GenericName[km]=កម្មវិធី​មើល​ឯកសារ +GenericName[ko]=문서 뷰어 +GenericName[ku]=Nîşanderê Belgeyan +GenericName[lt]=Dokumentų žiÅ«ryklė +GenericName[lv]=Dokumentu skatÄ«tājs +GenericName[mr]=दस्तऐवज प्रदर्शक +GenericName[nb]=Dokumentviser +GenericName[nds]=Dokmentkieker +GenericName[ne]=कागजात दर्शक +GenericName[nl]=Documentenviewer +GenericName[nn]=Dokumentvisar +GenericName[oc]=Visualizaire de documents +GenericName[pa]=ਡੌਕੂਮੈਂਟ ਦਰਸ਼ਕ +GenericName[pl]=Przeglądarka dokumentów +GenericName[pt]=Visualizador de Documentos +GenericName[pt_BR]=Visualizador de documentos +GenericName[ro]=Vizualizor de documente +GenericName[ru]=Просмотр документов +GenericName[sa]=दस्तावेज दर्शक +GenericName[sk]=Prehliadač dokumentov +GenericName[sl]=Pregledovalnik dokumentov +GenericName[sq]=Shikues dokumentesh +GenericName[sr]=Приказивач докумената +GenericName[sr@ijekavian]=Приказивач докумената +GenericName[sr@ijekavianlatin]=Prikazivač dokumenata +GenericName[sr@latin]=Prikazivač dokumenata +GenericName[sv]=Dokumentvisare +GenericName[ta]=ஆவணங் காட்டி +GenericName[th]=เครื่องมือแสดงเอกสาร +GenericName[tr]=Belge Görüntüleyicisi +GenericName[ug]=پۈتۈك كۆرگۈ +GenericName[uk]=Переглядач документів +GenericName[vi]=Trình xem tài liệu +GenericName[zh_CN]=文档查看器 +GenericName[zh_TW]=文件檢視器 +Comment=Universal document viewer +Comment[ar]=عارض المستندات عالمي +Comment[az]=Sənədə universal baxış vasitəsi +Comment[be]=Універсальны сродак для прагляду дакументаў +Comment[bg]=Универсална програма за преглед на документи +Comment[ca]=Visualitzador universal de documents +Comment[ca@valencia]=Visor universal de documents +Comment[cs]=Univerzální prohlížeč dokumentů +Comment[da]=Universel dokumentfremviser +Comment[de]=Universeller Dokumentenbetrachter +Comment[el]=Καθολικός προβολέας εγγράφων +Comment[en_GB]=Universal document viewer +Comment[eo]=Universala dokumenta spektilo +Comment[es]=Visor de documentos universal +Comment[et]=Universaalne dokumendinäitaja +Comment[eu]=Dokumentu erakusle unibertsala +Comment[fi]=Yleinen asiakirjakatselin +Comment[fr]=Afficheur de document universel +Comment[gl]=Visor de documentos universal. +Comment[he]=מציג מסמכים אוניברסלי +Comment[hu]=Univerzális dokumentummegjelenítő +Comment[ia]=Visor de documento universal +Comment[ie]=Universal visor de documentes +Comment[is]=Fjölhæfur skjalaskoðari +Comment[it]=Visore di documenti universale +Comment[ja]=多用途な文書ビューア +Comment[ka]=დოკუმენტების პოპულარული ფორმატების გამხსნელი +Comment[ko]=만능 문서 뷰어 +Comment[lt]=Universali dokumentų žiÅ«ryklė +Comment[lv]=Universāls dokumentu skatÄ«tājs +Comment[nl]=Universele documentviewer +Comment[nn]=Dokumentvisar for mange format +Comment[pa]=ਯੂਨੀਵਰਸਲ ਡੌਕੂਮੈਂਟ ਦਰਸ਼ਕ +Comment[pl]=Wszechstronna przeglądarka dokumentów +Comment[pt]=Visualizador de documentos universal +Comment[pt_BR]=Visualizador de documentos universal +Comment[ro]=Vizualizor de documente universal +Comment[ru]=Универсальная программа просмотра документов +Comment[sa]=सार्वभौमिक दस्तावेज दर्शक +Comment[sk]=Univerzálny prehliadač dokumentov +Comment[sl]=Vsestranski pregledovalnik dokumentov +Comment[sq]=Shikues univerzal dokumentesh +Comment[sr]=Универзални приказивач докумената +Comment[sr@ijekavian]=Универзални приказивач докумената +Comment[sr@ijekavianlatin]=Univerzalni prikazivač dokumenata +Comment[sr@latin]=Univerzalni prikazivač dokumenata +Comment[sv]=Generell dokumentvisare +Comment[ta]=அனைத்து ஆவணங்களுக்கான காட்டி +Comment[tr]=Çok amaçlı belge görüntüleyicisi +Comment[uk]=Універсальний переглядач документів +Comment[vi]=Trình xem tài liệu vạn năng +Comment[zh_CN]=通用文档查看器 +Comment[zh_TW]=通用文件檢視器 +Exec=okular %U +Icon=okular +Type=Application +InitialPreference=7 +Categories=Qt;KDE;Graphics;Viewer; +NoDisplay=true +X-KDE-Keywords=FictionBook, e-book, fb2 +X-KDE-Keywords[ar]=FictionBook, e-book, fb2 +X-KDE-Keywords[az]=FictionBook, e-book, fb2 +X-KDE-Keywords[be]=FictionBook, e-book, fb2 +X-KDE-Keywords[bg]=FictionBook, e-book, fb2 +X-KDE-Keywords[bs]=FictionBook, e-book, fb2 +X-KDE-Keywords[ca]=FictionBook, e-book, fb2 +X-KDE-Keywords[ca@valencia]=FictionBook, e-book, fb2 +X-KDE-Keywords[cs]=FictionBook, e-book, fb2 +X-KDE-Keywords[da]=FictionBook,e-book,fb2 +X-KDE-Keywords[de]=FictionBook, e-book, fb2 +X-KDE-Keywords[el]=FictionBook, e-book, fb2 +X-KDE-Keywords[en_GB]=FictionBook, e-book, fb2 +X-KDE-Keywords[eo]=FictionBook, e-libro, fb2 +X-KDE-Keywords[es]=FictionBook, e-book, fb2 +X-KDE-Keywords[et]=FictionBook, e-book, e-raamat, fb2 +X-KDE-Keywords[eu]=FictionBook, e-liburua, fb2 +X-KDE-Keywords[fi]=FictionBook, e-book, e-kirja, sähkökirja, fb2 +X-KDE-Keywords[fr]=FictionBook, e-book, fb2 +X-KDE-Keywords[ga]=FictionBook, r-leabhar, ríomhleabhar, fb2 +X-KDE-Keywords[gl]=FictionBook, e-book, fb2, libro dixital +X-KDE-Keywords[he]=FictionBook, e-book, fb2 +X-KDE-Keywords[hu]=FictionBook, e-book, fb2 +X-KDE-Keywords[ia]=FictionBook, e-book, fb2 +X-KDE-Keywords[ie]=FictionBook, e-book, e-libre, fb2 +X-KDE-Keywords[is]=FictionBook, e-book, fb2 +X-KDE-Keywords[it]=FictionBook, e-book, fb2 +X-KDE-Keywords[ja]=FictionBook, e-book, fb2 +X-KDE-Keywords[ka]=FictionBook, e-book, fb2 +X-KDE-Keywords[kk]=FictionBook, e-book, fb2 +X-KDE-Keywords[km]=FictionBook, e-book, fb2 +X-KDE-Keywords[ko]=FictionBook, e-book, fb2 +X-KDE-Keywords[lt]=FictionBook, e-book, fb2 +X-KDE-Keywords[lv]=FictionBook, e-book, fb2, e-grāmata +X-KDE-Keywords[mr]=FictionBook, e-book, fb2 +X-KDE-Keywords[nb]=FictionBook, e-bok, fb2 +X-KDE-Keywords[nds]=FictionBook, e-book, fb2 +X-KDE-Keywords[nl]=Fictieboek, e-book, fb2 +X-KDE-Keywords[nn]=FictionBook, e-book, fb2 +X-KDE-Keywords[pa]=FictionBook, e-book, fb2 +X-KDE-Keywords[pl]=FictionBook, e-book, fb2 +X-KDE-Keywords[pt]=FictionBook, e-book, fb2 +X-KDE-Keywords[pt_BR]=FictionBook, e-book, fb2 +X-KDE-Keywords[ro]=FictionBook, e-book, fb2 +X-KDE-Keywords[ru]=FictionBook, e-book, fb2, электронная книга +X-KDE-Keywords[sa]=कथापुस्तक, ई-पुस्तक, fb2 +X-KDE-Keywords[sk]=FictionBook, e-book, fb2 +X-KDE-Keywords[sl]=FictionBook, e-knjiga, fb2 +X-KDE-Keywords[sq]=FictionBook, e-book, fb2 +X-KDE-Keywords[sr]=FictionBook, e-book, fb2,фикшнбук,е‑књига +X-KDE-Keywords[sr@ijekavian]=FictionBook, e-book, fb2,фикшнбук,е‑књига +X-KDE-Keywords[sr@ijekavianlatin]=FictionBook, e-book, fb2,FictionBook,e‑knjiga +X-KDE-Keywords[sr@latin]=FictionBook, e-book, fb2,FictionBook,e‑knjiga +X-KDE-Keywords[sv]=FictionBook, e-bok, fb2 +X-KDE-Keywords[ta]=FictionBook, e-book, fb2, புத்தகம் +X-KDE-Keywords[tr]=FictionBook, e-book, fb2 +X-KDE-Keywords[uk]=FictionBook,fb2,електронна,книга +X-KDE-Keywords[vi]=FictionBook, sách điện tá»­, fb2 +X-KDE-Keywords[zh_CN]=FictionBook, e-book, fb2, dianzishu, 电子书 +X-KDE-Keywords[zh_TW]=FictionBook, e-book, fb2 +X-KDE-AliasFor=org.kde.okular.desktop diff --git a/generators/fictionbook/org.kde.mobile.okular_fb.desktop b/generators/fictionbook/org.kde.mobile.okular_fb.desktop new file mode 100644 index 0000000..0d61652 --- /dev/null +++ b/generators/fictionbook/org.kde.mobile.okular_fb.desktop @@ -0,0 +1,252 @@ +[Desktop Entry] +MimeType=application/x-fictionbook+xml; +Name=Reader +Name[ar]=التصيير +Name[az]=Oxuyucu +Name[be]=Сродак чытання +Name[bg]=Четец +Name[bs]=Čitač +Name[ca]=Lector +Name[ca@valencia]=Lector +Name[cs]=Čtečka +Name[da]=Læser +Name[de]=Lesegerät +Name[el]=Πρόγραμμα ανάγνωσης +Name[en_GB]=Reader +Name[eo]=Legilo +Name[es]=Lector +Name[et]=Lugeja +Name[eu]=Irakurlea +Name[fi]=Lukija +Name[fr]=Lecteur +Name[ga]=Léitheoir +Name[gl]=Lector +Name[he]=קורא +Name[hu]=Olvasó +Name[ia]=Lector +Name[ie]=Letor +Name[is]=Lesari +Name[it]=Lettore +Name[ja]=リーダ +Name[ka]=მკითხველი +Name[kk]=Оқу құралы +Name[ko]=리더 +Name[lt]=Skaitytuvas +Name[lv]=LasÄ«tājs +Name[mr]=वाचक +Name[nb]=Leser +Name[nds]=Leser +Name[nl]=Lezer +Name[nn]=Lesar +Name[pa]=ਰੀਡਰ +Name[pl]=Czytnik +Name[pt]=Leitor +Name[pt_BR]=Leitor +Name[ro]=Cititor +Name[ru]=Просмотрщик +Name[sa]=पाठकः +Name[sk]=Čítačka +Name[sl]=Bralnik +Name[sq]=Reader +Name[sr]=Читач +Name[sr@ijekavian]=Читач +Name[sr@ijekavianlatin]=Čitač +Name[sr@latin]=Čitač +Name[sv]=Läsprogram +Name[ta]=காட்டி +Name[tr]=Okuyucu +Name[ug]=ئوقۇغۇ +Name[uk]=Переглядач +Name[vi]=Trình đọc +Name[zh_CN]=阅读器 +Name[zh_TW]=閱讀器 +GenericName=Document viewer +GenericName[ar]=عارض المستندات +GenericName[az]=Sənədə baxış vasitısi +GenericName[be]=Сродак для прагляду дакументаў +GenericName[bg]=Преглед на документи +GenericName[bs]=Prikazivač dokumenata +GenericName[ca]=Visualitzador de documents +GenericName[ca@valencia]=Visor de documents +GenericName[cs]=Prohlížeč dokumentů +GenericName[da]=Dokumentfremviser +GenericName[de]=Dokumentenbetrachter +GenericName[el]=Προβολέας εγγράφων +GenericName[en_GB]=Document Viewer +GenericName[eo]=Dokumentrigardilo +GenericName[es]=Visor de documentos +GenericName[et]=Dokumendinäitaja +GenericName[eu]=Dokumentu erakuslea +GenericName[fi]=Asiakirjakatselin +GenericName[fr]=Afficheur de document +GenericName[ga]=Amharcán cáipéisí +GenericName[gl]=Visor de documentos +GenericName[he]=מציג מסמכים +GenericName[hi]=दस्तावेज़ प्रदर्शक +GenericName[hu]=Dokumentummegjelenítő +GenericName[ia]=Visor de documento +GenericName[ie]=Visor de documentes +GenericName[is]=Skjalaskoðari +GenericName[it]=Visore di documenti +GenericName[ja]=文書ビューア +GenericName[ka]=დოკუმენტების მნახველი +GenericName[kk]=Құжатты қарау құралы +GenericName[ko]=문서 뷰어 +GenericName[lt]=Dokumentų žiÅ«ryklė +GenericName[lv]=Dokumentu skatÄ«tājs +GenericName[mr]=दस्तऐवज प्रदर्शक +GenericName[nb]=Dokumentviser +GenericName[nds]=Dokmentkieker +GenericName[nl]=Documentenviewer +GenericName[nn]=Dokumentvisar +GenericName[pa]=ਡੌਕੂਮੈਂਟ ਦਰਸ਼ਕ +GenericName[pl]=Przeglądarka dokumentów +GenericName[pt]=Visualizador de documentos +GenericName[pt_BR]=Visualizador de documentos +GenericName[ro]=Vizualizor de documente +GenericName[ru]=Просмотр документов +GenericName[sa]=दस्तावेजदर्शकः +GenericName[sk]=Prehliadač dokumentov +GenericName[sl]=Pregledovalnik dokumentov +GenericName[sq]=Shikues dokumentesh +GenericName[sr]=Приказивач докумената +GenericName[sr@ijekavian]=Приказивач докумената +GenericName[sr@ijekavianlatin]=Prikazivač dokumenata +GenericName[sr@latin]=Prikazivač dokumenata +GenericName[sv]=Dokumentvisare +GenericName[ta]=ஆவணங் காட்டி +GenericName[tr]=Belge Görüntüleyicisi +GenericName[uk]=Переглядач документів +GenericName[vi]=Trình xem tài liệu +GenericName[zh_CN]=文档查看器 +GenericName[zh_TW]=文件檢視器 +Comment=Viewer for various types of documents +Comment[ar]=عارض للعديد من أنواع المستندات +Comment[az]=Müxtəlif növlü sənədlər üçün görüntüləyici +Comment[be]=Сродак для прагляду разнастайных тыпаў дакументаў +Comment[bg]=Преглед на различни видове документи +Comment[bs]=Pregledač raznih vrsta dokumenata +Comment[ca]=Visualitzador de diversos tipus de documents +Comment[ca@valencia]=Visor de diversos tipus de documents +Comment[cs]=Prohlížeč různých typů dokumentů +Comment[da]=Fremviser af diverse dokumenttyper +Comment[de]=Betrachter für verschiedene Arten von Dokumenten +Comment[el]=Πρόγραμμα προβολής για διάφορους τύπους εγγράφων +Comment[en_GB]=Viewer for various types of documents +Comment[eo]=Vidilo por diversaj specoj de dokumentoj +Comment[es]=Visor de diversos tipos de documentos +Comment[et]=Eri tüüpi dokumentide näitaja +Comment[eu]=Hainbat dokumentu moten erakuslea +Comment[fi]=Monenlaisten asiakirjojen katseluohjelma +Comment[fr]=Afficheur pour différents types de documents +Comment[ga]=Amharcán le haghaidh cáipéisí éagsúla +Comment[gl]=Visor de varios tipos de documentos. +Comment[he]=מציג למגוון סוגי מסמכים +Comment[hu]=Megjelenítő különféle típusú dokumentumokhoz +Comment[ia]=Visor pro varie typos de documento +Comment[ie]=Visor por varie tipes de documentes +Comment[is]=Skoðari fyrir ýmsar gerðir skjala +Comment[it]=Visore per vari tipi di documenti +Comment[ja]=様々なタイプの文書のためのビューア +Comment[ka]=სხვადასხვა ტიპების დოკუმენტების დათვალიერება +Comment[kk]=Түрлі құжаттар қарау құралы +Comment[ko]=여러 형식의 문서 뷰어 +Comment[lt]=ŽiÅ«ryklė įvairiems dokumentų tipams +Comment[lv]=Dažādu dokumentu tipu skatÄ«tājs +Comment[mr]=विविध प्रकारच्या दस्तऐवजांचा प्रदर्शक +Comment[nb]=Framviser for forskjellige dokumenttyper +Comment[nds]=Kieker för en Reeg Dokmenttypen +Comment[nl]=Viewer voor verschillende typen documenten +Comment[nn]=Framvisar for forskjellige dokumenttypar +Comment[pa]=ਕਈ ਕਿਸਮ ਦੇ ਡੌਕੂਮੈਂਟ ਵੇਖਾਉਣ ਲਈ ਦਰਸ਼ਕ +Comment[pl]=Przeglądarka dla różnych typów dokumentów +Comment[pt]=Visualizador de vários tipos de documentos +Comment[pt_BR]=Visualizador para vários tipos de documentos +Comment[ro]=Vizualizor pentru diferite tipuri de documente +Comment[ru]=Программа для просмотра различных типов документов +Comment[sa]=विभिन्नप्रकारस्य दस्तावेजानां कृते दर्शकः +Comment[sk]=Prehliadač pre rôzne typy dokumentov +Comment[sl]=Pregledovalnik raznih vrst dokumentov +Comment[sq]=Shikues për lloje të ndryshme të dokumentave +Comment[sr]=Приказивач различитих врста докумената +Comment[sr@ijekavian]=Приказивач различитих врста докумената +Comment[sr@ijekavianlatin]=Prikazivač različitih vrsta dokumenata +Comment[sr@latin]=Prikazivač različitih vrsta dokumenata +Comment[sv]=Visningsprogram för diverse typer av dokument +Comment[ta]=பலவகையான ஆவணங்களுக்கான காட்டி +Comment[tr]=Çeşitli belge türleri için görüntüleyici +Comment[ug]=ھەر خىل تىپتىكى پۈتۈكلەرنى كۆرىدىغان پروگرامما +Comment[uk]=Програма для перегляду документів різних типів +Comment[vi]=Trình xem các kiểu tài liệu khác nhau +Comment[zh_CN]=支持查看多种文档类型 +Comment[zh_TW]=多種型態文件的檢視器 + +TryExec=okularkirigami +Exec=okularkirigami %u +Terminal=false +Icon=okular +Type=Application +Categories=Qt;KDE;Graphics;Office;Viewer; +InitialPreference=2 +NoDisplay=true +X-KDE-Keywords=FictionBook, e-book, fb2 +X-KDE-Keywords[ar]=FictionBook, e-book, fb2 +X-KDE-Keywords[az]=FictionBook, e-book, fb2 +X-KDE-Keywords[be]=FictionBook, e-book, fb2 +X-KDE-Keywords[bg]=FictionBook, e-book, fb2 +X-KDE-Keywords[bs]=FictionBook, e-book, fb2 +X-KDE-Keywords[ca]=FictionBook, e-book, fb2 +X-KDE-Keywords[ca@valencia]=FictionBook, e-book, fb2 +X-KDE-Keywords[cs]=FictionBook, e-book, fb2 +X-KDE-Keywords[da]=FictionBook,e-book,fb2 +X-KDE-Keywords[de]=FictionBook, e-book, fb2 +X-KDE-Keywords[el]=FictionBook, e-book, fb2 +X-KDE-Keywords[en_GB]=FictionBook, e-book, fb2 +X-KDE-Keywords[eo]=FictionBook, e-libro, fb2 +X-KDE-Keywords[es]=FictionBook, e-book, fb2 +X-KDE-Keywords[et]=FictionBook, e-book, e-raamat, fb2 +X-KDE-Keywords[eu]=FictionBook, e-liburua, fb2 +X-KDE-Keywords[fi]=FictionBook, e-book, e-kirja, sähkökirja, fb2 +X-KDE-Keywords[fr]=FictionBook, e-book, fb2 +X-KDE-Keywords[ga]=FictionBook, r-leabhar, ríomhleabhar, fb2 +X-KDE-Keywords[gl]=FictionBook, e-book, fb2, libro dixital +X-KDE-Keywords[he]=FictionBook, e-book, fb2 +X-KDE-Keywords[hu]=FictionBook, e-book, fb2 +X-KDE-Keywords[ia]=FictionBook, e-book, fb2 +X-KDE-Keywords[ie]=FictionBook, e-book, e-libre, fb2 +X-KDE-Keywords[is]=FictionBook, e-book, fb2 +X-KDE-Keywords[it]=FictionBook, e-book, fb2 +X-KDE-Keywords[ja]=FictionBook, e-book, fb2 +X-KDE-Keywords[ka]=FictionBook, e-book, fb2 +X-KDE-Keywords[kk]=FictionBook, e-book, fb2 +X-KDE-Keywords[km]=FictionBook, e-book, fb2 +X-KDE-Keywords[ko]=FictionBook, e-book, fb2 +X-KDE-Keywords[lt]=FictionBook, e-book, fb2 +X-KDE-Keywords[lv]=FictionBook, e-book, fb2, e-grāmata +X-KDE-Keywords[mr]=FictionBook, e-book, fb2 +X-KDE-Keywords[nb]=FictionBook, e-bok, fb2 +X-KDE-Keywords[nds]=FictionBook, e-book, fb2 +X-KDE-Keywords[nl]=Fictieboek, e-book, fb2 +X-KDE-Keywords[nn]=FictionBook, e-book, fb2 +X-KDE-Keywords[pa]=FictionBook, e-book, fb2 +X-KDE-Keywords[pl]=FictionBook, e-book, fb2 +X-KDE-Keywords[pt]=FictionBook, e-book, fb2 +X-KDE-Keywords[pt_BR]=FictionBook, e-book, fb2 +X-KDE-Keywords[ro]=FictionBook, e-book, fb2 +X-KDE-Keywords[ru]=FictionBook, e-book, fb2, электронная книга +X-KDE-Keywords[sa]=कथापुस्तक, ई-पुस्तक, fb2 +X-KDE-Keywords[sk]=FictionBook, e-book, fb2 +X-KDE-Keywords[sl]=FictionBook, e-knjiga, fb2 +X-KDE-Keywords[sq]=FictionBook, e-book, fb2 +X-KDE-Keywords[sr]=FictionBook, e-book, fb2,фикшнбук,е‑књига +X-KDE-Keywords[sr@ijekavian]=FictionBook, e-book, fb2,фикшнбук,е‑књига +X-KDE-Keywords[sr@ijekavianlatin]=FictionBook, e-book, fb2,FictionBook,e‑knjiga +X-KDE-Keywords[sr@latin]=FictionBook, e-book, fb2,FictionBook,e‑knjiga +X-KDE-Keywords[sv]=FictionBook, e-bok, fb2 +X-KDE-Keywords[ta]=FictionBook, e-book, fb2, புத்தகம் +X-KDE-Keywords[tr]=FictionBook, e-book, fb2 +X-KDE-Keywords[uk]=FictionBook,fb2,електронна,книга +X-KDE-Keywords[vi]=FictionBook, sách điện tá»­, fb2 +X-KDE-Keywords[zh_CN]=FictionBook, e-book, fb2, dianzishu, 电子书 +X-KDE-Keywords[zh_TW]=FictionBook, e-book, fb2 +X-KDE-AliasFor=org.kde.okular.kirigami.desktop diff --git a/generators/fictionbook/org.kde.okular-fb.metainfo.xml b/generators/fictionbook/org.kde.okular-fb.metainfo.xml new file mode 100644 index 0000000..3f7c199 --- /dev/null +++ b/generators/fictionbook/org.kde.okular-fb.metainfo.xml @@ -0,0 +1,139 @@ + + + org.kde.okular-fb + org.kde.okular.desktop + CC0-1.0 + GPL-2.0+ and GFDL-1.3 + FictionBook + كتب FictionBook + FictionBook + FictionBook + FictionBook + FictionBook + FictionBook + FictionBook + FictionBook + FictionBook + FictionBook + FictionBook + FictionBook + FictionBook + FictionBook + FictionBook + FictionBook + FictionBook + FictionBook + FictionBook + फिक्शनबुक + FictionBook + Fiction Book + FictionBook + FictionBook + FictionBook + FictionBook + FictionBook + FictionBook + FictionBook + ഫിക്ഷൻ ബുക്ക് + Fictie boek + FictionBook + FictionBook + FictionBook + FictionBook + FictionBook + FictionBook + कथापुस्तक + FictionBook + FictionBook + Фикшнбук + FictionBook + Фикшнбук + FictionBook + Fiction Book + FictionBook + FictionBook + FictionBook + FictionBook + FictionBook + FictionBook + Adds support for reading FictionBooks + يضيف دعم لقراءة كتب FictionBook + FictionBooks sənədlərini oxumaq üçün dəstək əlavə edir + Падтрымка чытання FictionBooks + Добавя поддръжка за четене на FictionBooks + Afegeix la implementació per a llegir FictionBooks + Afig la implementació per a llegir FictionBooks + Přidává podporu pro čtení formátu FictionBook + Bietet Unterstützung zum Lesen von FictionBooks + Προσθέτει υποστήριξη για την ανάγνωση FictionBooks + Adds support for reading FictionBooks + Aldonas subtenon por legi FictionBooks + Permite la lectura de libros en formato FictionBook + FictionBooki lugemise toetus + FictionBooks irakurtzeko euskarria gehitzen du + Lisää FictionBook-lukutuen + Permet la lecture des fichiers au format « FictionBooks » + Engade a posibilidade de ler libros FictionBook + הוספה תמיכה בקריאת FictionBooks (סיפורת) + फिक्शनबुक पढ़ने के लिए समर्थन जोड़ता है + Támogatás FictionBookok olvasásához + Adde supporto per leger FictionBooks + Adjunter li supporte de letion de libres FictionBook + Bætir við stuðningi til að lesa FictionBook-snið + Aggiunge il supporto per la lettura di documenti in formato FictionBooks + FictionBooks-ის კითხვის მხარდაჭერის დამატება + FictionBook 읽기 지원 추가 + Prideda palaikymą FictionBook skaitymui + Pievieno atbalstu „FictionBook“ lasīšanai + ഫിക്ഷൻ പുസ്തകങ്ങൾ വായിക്കുന്നതിനുള്ള പിന്തുണ ചേർക്കുന്നു + Voegt ondersteuning voor lezen van fictie boeken toe + Legg til støtte for Ã¥ lesa e-bøker i FictionBook-formatet + Dodaje obsługę formatu FictionBook + Adiciona o suporte para a leitura de livros no formato FictionBooks + Adiciona o suporte para leitura de FictionBooks + Adaugă suport pentru citirea cărților FictionBook + Поддержка чтения электронных книг FictionBook + FictionBooks पठनस्य समर्थनं योजयति + Pridá podporu pre čítanie FictionBook + Doda podporo za branje dokumentov FictionBook + Подршка за читање фикшнбук е‑књига + PodrÅ¡ka za čitanje FictionBook e‑knjiga + Подршка за читање фикшнбук е‑књига + PodrÅ¡ka za čitanje FictionBook e‑knjiga + Lägger till stöd för att läsa Fiction Book + FictionBook ஆவணங்களைப் படிப்பதற்கான ஆதரவை சேர்க்கும் + FictionBook’ları okumak için destek ekler + Додає підтримку читання документів FictionBook (FB2) + Thêm hỗ trợ đọc FictionBook + 增加对 FictionBook 文档的阅读支持 + 加入讀取 FictionBooks 的支援 + + application/x-fictionbook+xml + + https://okular.kde.org + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/generators/kimgio/CMakeLists.txt b/generators/kimgio/CMakeLists.txt new file mode 100644 index 0000000..c2517c7 --- /dev/null +++ b/generators/kimgio/CMakeLists.txt @@ -0,0 +1,29 @@ +remove_definitions(-DTRANSLATION_DOMAIN="okular") +add_definitions(-DTRANSLATION_DOMAIN="okular_kimgio") + +########### next target ############### + +okular_add_generator(okularGenerator_kimgio generator_kimgio.cpp) +target_link_libraries(okularGenerator_kimgio okularcore KF6::I18n) + +if(TARGET KExiv2Qt6) + target_compile_definitions(okularGenerator_kimgio PRIVATE -DWITH_KEXIV=1) + target_link_libraries(okularGenerator_kimgio KExiv2Qt6) +endif() + +if(BUILD_TESTING AND BUILD_DESKTOP AND KF6KExiv2_FOUND) + add_definitions( -DKDESRCDIR="${CMAKE_CURRENT_SOURCE_DIR}/" ) + set( kimgiotest_SRCS tests/kimgiotest.cpp ${CMAKE_SOURCE_DIR}/gui/pagepainter.cpp ${CMAKE_SOURCE_DIR}/gui/guiutils.cpp ${CMAKE_SOURCE_DIR}/gui/debug_ui.cpp ) + ecm_add_test(${kimgiotest_SRCS} TEST_NAME "kimgiotest" LINK_LIBRARIES okularcore okularpart Qt6::Svg Qt6::Test) + target_compile_definitions(kimgiotest PRIVATE -DGENERATOR_PATH="$") +endif() + + +########### install files ############### +if (BUILD_DESKTOP) + install( PROGRAMS okularApplication_kimgio.desktop DESTINATION ${KDE_INSTALL_APPDIR} ) +endif() +if (BUILD_MOBILE) + install( PROGRAMS org.kde.mobile.okular_kimgio.desktop DESTINATION ${KDE_INSTALL_APPDIR} ) +endif() +install( FILES org.kde.okular-kimgio.metainfo.xml DESTINATION ${KDE_INSTALL_METAINFODIR} ) diff --git a/generators/kimgio/Messages.sh b/generators/kimgio/Messages.sh new file mode 100644 index 0000000..eb54cc2 --- /dev/null +++ b/generators/kimgio/Messages.sh @@ -0,0 +1,3 @@ +#!/bin/sh +$EXTRACTRC *.rc >> rc.cpp +$XGETTEXT $(find . -name "*.cpp" -o -name "*.h") -o $podir/okular_kimgio.pot diff --git a/generators/kimgio/generator_kimgio.cpp b/generators/kimgio/generator_kimgio.cpp new file mode 100644 index 0000000..df7f52b --- /dev/null +++ b/generators/kimgio/generator_kimgio.cpp @@ -0,0 +1,168 @@ +/* + SPDX-FileCopyrightText: 2005 Albert Astals Cid + SPDX-FileCopyrightText: 2006-2007 Pino Toscano + SPDX-FileCopyrightText: 2006-2007 Tobias Koenig + + Work sponsored by the LiMux project of the city of Munich: + SPDX-FileCopyrightText: 2017 Klarälvdalens Datakonsult AB a KDAB Group company + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "generator_kimgio.h" + +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#ifdef WITH_KEXIV +#include +#endif + +#include + +OKULAR_EXPORT_PLUGIN(KIMGIOGenerator, "libokularGenerator_kimgio.json") + +KIMGIOGenerator::KIMGIOGenerator(QObject *parent, const QVariantList &args) + : Generator(parent, args) +{ + setFeature(ReadRawData); + setFeature(Threaded); + setFeature(TiledRendering); + setFeature(PrintNative); + setFeature(PrintToFile); + setFeature(SwapBackingFile); +} + +KIMGIOGenerator::~KIMGIOGenerator() +{ +} + +bool KIMGIOGenerator::loadDocument(const QString &fileName, QList &pagesVector) +{ + QFile f(fileName); + if (!f.open(QFile::ReadOnly)) { + Q_EMIT error(i18n("Unable to load document: %1", f.errorString()), -1); + return false; + } + auto size = f.size(); + if (size > (INT_MAX / 4)) { + return false; + } + return loadDocumentInternal(f.readAll(), fileName, pagesVector); +} + +bool KIMGIOGenerator::loadDocumentFromData(const QByteArray &fileData, QList &pagesVector) +{ + return loadDocumentInternal(fileData, QString(), pagesVector); +} + +bool KIMGIOGenerator::loadDocumentInternal(const QByteArray &fileData, const QString &fileName, QList &pagesVector) +{ + QBuffer buffer; + buffer.setData(fileData); + buffer.open(QIODevice::ReadOnly); + + QImageReader reader(&buffer, QImageReader::imageFormat(&buffer)); + reader.setAutoDetectImageFormat(true); + if (!reader.read(&m_img)) { + if (!m_img.isNull()) { + Q_EMIT warning(i18n("This document appears malformed. Here is a best approximation of the document's intended appearance."), -1); + } else { + Q_EMIT error(i18n("Unable to load document: %1", reader.errorString()), -1); + return false; + } + } + QMimeDatabase db; + auto mime = db.mimeTypeForFileNameAndData(fileName, fileData); + docInfo.set(Okular::DocumentInfo::MimeType, mime.name()); + +#ifdef WITH_KEXIV + // Apply transformations dictated by Exif metadata + KExiv2Iface::KExiv2 exifMetadata; + if (exifMetadata.loadFromData(fileData)) { + exifMetadata.rotateExifQImage(m_img, exifMetadata.getImageOrientation()); + } +#endif + + pagesVector.resize(1); + + Okular::Page *page = new Okular::Page(0, m_img.width(), m_img.height(), Okular::Rotation0); + pagesVector[0] = page; + + return true; +} + +KIMGIOGenerator::SwapBackingFileResult KIMGIOGenerator::swapBackingFile(QString const & /*newFileName*/, QList & /*newPagesVector*/) +{ + // NOP: We don't actually need to do anything because all data has already + // been loaded in RAM + return SwapBackingFileNoOp; +} + +bool KIMGIOGenerator::doCloseDocument() +{ + m_img = QImage(); + + return true; +} + +QImage KIMGIOGenerator::image(Okular::PixmapRequest *request) +{ + // perform a smooth scaled generation + if (request->isTile()) { + const QRect srcRect = request->normalizedRect().geometry(m_img.width(), m_img.height()); + const QRect destRect = request->normalizedRect().geometry(request->width(), request->height()); + + QImage destImg(destRect.size(), QImage::Format_RGB32); + destImg.fill(Qt::white); + + QPainter p(&destImg); + p.setRenderHint(QPainter::SmoothPixmapTransform); + p.drawImage(destImg.rect(), m_img, srcRect); + + return destImg; + } else { + int width = request->width(); + int height = request->height(); + if (request->page()->rotation() % 2 == 1) { + std::swap(width, height); + } + + return m_img.scaled(width, height, Qt::IgnoreAspectRatio, Qt::SmoothTransformation); + } +} + +Okular::Document::PrintError KIMGIOGenerator::print(QPrinter &printer) +{ + QPainter p(&printer); + + QImage printImage(m_img); + + if ((printImage.width() > printer.width()) || (printImage.height() > printer.height())) { + printImage = printImage.scaled(printer.width(), printer.height(), Qt::KeepAspectRatio, Qt::SmoothTransformation); + } + + p.drawImage(0, 0, printImage); + + return Okular::Document::NoPrintError; +} + +Okular::DocumentInfo KIMGIOGenerator::generateDocumentInfo(const QSet &keys) const +{ + Q_UNUSED(keys); + + return docInfo; +} + +#include "generator_kimgio.moc" diff --git a/generators/kimgio/generator_kimgio.h b/generators/kimgio/generator_kimgio.h new file mode 100644 index 0000000..9fb07c7 --- /dev/null +++ b/generators/kimgio/generator_kimgio.h @@ -0,0 +1,50 @@ +/* + SPDX-FileCopyrightText: 2005 Albert Astals Cid + + Work sponsored by the LiMux project of the city of Munich: + SPDX-FileCopyrightText: 2017 Klarälvdalens Datakonsult AB a KDAB Group company + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_GENERATOR_KIMGIO_H_ +#define _OKULAR_GENERATOR_KIMGIO_H_ + +#include +#include + +#include + +class KIMGIOGenerator : public Okular::Generator +{ + Q_OBJECT + Q_INTERFACES(Okular::Generator) + +public: + KIMGIOGenerator(QObject *parent, const QVariantList &args); + ~KIMGIOGenerator() override; + + // [INHERITED] load a document and fill up the pagesVector + bool loadDocument(const QString &fileName, QList &pagesVector) override; + bool loadDocumentFromData(const QByteArray &fileData, QList &pagesVector) override; + SwapBackingFileResult swapBackingFile(QString const &newFileName, QList &newPagesVector) override; + + // [INHERITED] print document using already configured kprinter + Okular::Document::PrintError print(QPrinter &printer) override; + + // [INHERITED] document information + Okular::DocumentInfo generateDocumentInfo(const QSet &keys) const override; + +protected: + bool doCloseDocument() override; + QImage image(Okular::PixmapRequest *request) override; + +private: + bool loadDocumentInternal(const QByteArray &fileData, const QString &fileName, QList &pagesVector); + +private: + QImage m_img; + Okular::DocumentInfo docInfo; +}; + +#endif diff --git a/generators/kimgio/libokularGenerator_kimgio.json b/generators/kimgio/libokularGenerator_kimgio.json new file mode 100644 index 0000000..92f4a5e --- /dev/null +++ b/generators/kimgio/libokularGenerator_kimgio.json @@ -0,0 +1,353 @@ +{ + "KPlugin": { + "Authors": [ + { + "Email": "aacid@kde.org", + "Name": "Albert Astals Cid", + "Name[ar]": "Albert Astals Cid", + "Name[az]": "Albert Astals Cid", + "Name[be]": "Albert Astals Cid", + "Name[bg]": "Albert Astals Cid", + "Name[ca@valencia]": "Albert Astals Cid", + "Name[ca]": "Albert Astals Cid", + "Name[cs]": "Albert Astals Cid", + "Name[da]": "Albert Astals Cid", + "Name[de]": "Albert Astals Cid", + "Name[el]": "Albert Astals Cid", + "Name[en_GB]": "Albert Astals Cid", + "Name[eo]": "Albert Astals Cid", + "Name[es]": "Albert Astals Cid", + "Name[et]": "Albert Astals Cid", + "Name[eu]": "Albert Astals Cid", + "Name[fi]": "Albert Astals Cid", + "Name[fr]": "Albert Astals Cid", + "Name[gl]": "Albert Astals Cid", + "Name[he]": "אלברט אסטלס סיד", + "Name[hu]": "Albert Astals Cid", + "Name[ia]": "Albert Astals Cid", + "Name[ie]": "Albert Astals Cid", + "Name[is]": "Albert Astals Cid", + "Name[it]": "Albert Astals Cid", + "Name[ka]": "Albert Astals Cid", + "Name[ko]": "Albert Astals Cid", + "Name[lt]": "Albert Astals Cid", + "Name[lv]": "Albert Astals Cid", + "Name[nl]": "Albert Astals Cid", + "Name[nn]": "Albert Astals Cid", + "Name[pa]": "ਅਲਬਰਟ ਅਸਟਾਲਸ ਸਿਡ", + "Name[pl]": "Albert Astals Cid", + "Name[pt]": "Albert Astals Cid", + "Name[pt_BR]": "Albert Astals Cid", + "Name[ro]": "Albert Astals Cid", + "Name[ru]": "Albert Astals Cid", + "Name[sa]": "अल्बर्ट एस्टल्स सिड", + "Name[sk]": "Albert Astals Cid", + "Name[sl]": "Albert Astals Cid", + "Name[sr@ijekavian]": "Алберт Асталс Сид", + "Name[sr@ijekavianlatin]": "Albert Astals Sid", + "Name[sr@latin]": "Albert Astals Sid", + "Name[sr]": "Алберт Асталс Сид", + "Name[sv]": "Albert Astals Cid", + "Name[ta]": "ஆல்பர்டு அஸ்டால்சு சிடு", + "Name[tr]": "Albert Astals Cid", + "Name[uk]": "Albert Astals Cid", + "Name[vi]": "Albert Astals Cid", + "Name[zh_CN]": "Albert Astals Cid", + "Name[zh_TW]": "Albert Astals Cid" + }, + { + "Email": "pino@kde.org", + "Name": "Pino Toscano", + "Name[ar]": "Pino Toscano", + "Name[az]": "Pino Toscano", + "Name[be]": "Pino Toscano", + "Name[bg]": "Pino Toscano", + "Name[ca@valencia]": "Pino Toscano", + "Name[ca]": "Pino Toscano", + "Name[cs]": "Pino Toscano", + "Name[da]": "Pino Toscano", + "Name[de]": "Pino Toscano", + "Name[el]": "Pino Toscano", + "Name[en_GB]": "Pino Toscano", + "Name[eo]": "Pino Toscano", + "Name[es]": "Pino Toscano", + "Name[et]": "Pino Toscano", + "Name[eu]": "Pino Toscano", + "Name[fi]": "Pino Toscano", + "Name[fr]": "Pino Toscano", + "Name[gl]": "Pino Toscano", + "Name[he]": "פינו טוסקנו", + "Name[hu]": "Pino Toscano", + "Name[ia]": "Pino Toscano", + "Name[ie]": "Pino Toscano", + "Name[is]": "Pino Toscano", + "Name[it]": "Pino Toscano", + "Name[ka]": "Pino Toscano", + "Name[ko]": "Pino Toscano", + "Name[lt]": "Pino Toscano", + "Name[lv]": "Pino Toscano", + "Name[nl]": "Pino Toscano", + "Name[nn]": "Pino Toscano", + "Name[pa]": "ਪਿਨੋ ਟਿਸਕਾਨੋ", + "Name[pl]": "Pino Toscano", + "Name[pt]": "Pino Toscano", + "Name[pt_BR]": "Pino Toscano", + "Name[ro]": "Pino Toscano", + "Name[ru]": "Pino Toscano", + "Name[sa]": "पिनो टोस्कानो", + "Name[sk]": "Pino Toscano", + "Name[sl]": "Pino Toscano", + "Name[sr@ijekavian]": "Пино Тоскано", + "Name[sr@ijekavianlatin]": "Pino Toskano", + "Name[sr@latin]": "Pino Toskano", + "Name[sr]": "Пино Тоскано", + "Name[sv]": "Pino Toscano", + "Name[ta]": "பீனோ டொஸ்கானோ", + "Name[tr]": "Pino Toscano", + "Name[uk]": "Pino Toscano", + "Name[vi]": "Pino Toscano", + "Name[zh_CN]": "Pino Toscano", + "Name[zh_TW]": "Pino Toscano" + }, + { + "Email": "tokoe@kde.org", + "Name": "Tobias Koenig", + "Name[ar]": "Tobias Koenig", + "Name[az]": "Tobias Koenig", + "Name[be]": "Tobias Koenig", + "Name[bg]": "Tobias Koenig", + "Name[ca@valencia]": "Tobias Koenig", + "Name[ca]": "Tobias Koenig", + "Name[cs]": "Tobias Koenig", + "Name[da]": "Tobias Koenig", + "Name[de]": "Tobias Koenig", + "Name[el]": "Tobias Koenig", + "Name[en_GB]": "Tobias Koenig", + "Name[eo]": "Tobias Koenig", + "Name[es]": "Tobias Koenig", + "Name[et]": "Tobias Koenig", + "Name[eu]": "Tobias Koenig", + "Name[fi]": "Tobias Koenig", + "Name[fr]": "Tobias Koenig", + "Name[gl]": "Tobias Koenig", + "Name[he]": "טוביאס קוניג", + "Name[hu]": "Tobias Koenig", + "Name[ia]": "Tobias Koenig", + "Name[ie]": "Tobias Koenig", + "Name[is]": "Tobias Koenig", + "Name[it]": "Tobias Koenig", + "Name[ka]": "Tobias Koenig", + "Name[ko]": "Tobias Koenig", + "Name[lt]": "Tobias Koenig", + "Name[lv]": "Tobias Koenig", + "Name[nl]": "Tobias Koenig", + "Name[nn]": "Tobias König", + "Name[pa]": "Tobias Koenig", + "Name[pl]": "Tobias Koenig", + "Name[pt]": "Tobias Koenig", + "Name[pt_BR]": "Tobias Koenig", + "Name[ro]": "Tobias Koenig", + "Name[ru]": "Tobias König", + "Name[sa]": "टोबियास कोएनिग्", + "Name[sk]": "Tobias Koenig", + "Name[sl]": "Tobias Koenig", + "Name[sr@ijekavian]": "Тобијас Кениг", + "Name[sr@ijekavianlatin]": "Tobijas Kenig", + "Name[sr@latin]": "Tobijas Kenig", + "Name[sr]": "Тобијас Кениг", + "Name[sv]": "Tobias Koenig", + "Name[ta]": "டொபையாசு கோனிகு", + "Name[tr]": "Tobias König", + "Name[uk]": "Tobias Koenig", + "Name[vi]": "Tobias Koenig", + "Name[zh_CN]": "Tobias Koenig", + "Name[zh_TW]": "Tobias Koenig" + } + ], + "Copyright": "© 2005, 2009 Albert Astals Cid\n© 2006-2007 Pino Toscano\n© 2006-2007 Tobias Koenig", + "Copyright[ar]": "© 2005, 2009 Albert Astals Cid\n© 2006-2007 Pino Toscano\n© 2006-2007 Tobias Koenig", + "Copyright[az]": "© 2005, 2009 Albert Astals Cid\n© 2006-2007 Pino Toscano\n© 2006-2007 Tobias Koenig", + "Copyright[be]": "© 2005, 2009 Albert Astals Cid\n© 2006-2007 Pino Toscano\n© 2006-2007 Tobias Koenig", + "Copyright[bg]": "© 2005, 2009 Albert Astals Cid\n© 2006-2007 Pino Toscano\n© 2006-2007 Tobias Koenig", + "Copyright[ca@valencia]": "© 2005, 2009 Albert Astals Cid\n© 2006-2007 Pino Toscano\n© 2006-2007 Tobias Koenig", + "Copyright[ca]": "© 2005, 2009 Albert Astals Cid\n© 2006-2007 Pino Toscano\n© 2006-2007 Tobias Koenig", + "Copyright[cs]": "© 2005, 2009 Albert Astals Cid\n© 2006-2007 Pino Toscano\n© 2006-2007 Tobias Koenig", + "Copyright[da]": "© 2005, 2009 Albert Astals Cid\n© 2006-2007 Pino Toscano\n© 2006-2007 Tobias Koenig", + "Copyright[de]": "© 2005, 2009 Albert Astals Cid\n© 2006-2007 Pino Toscano\n© 2006-2007 Tobias Koenig", + "Copyright[el]": "© 2005, 2009 Albert Astals Cid\n© 2006-2007 Pino Toscano\n© 2006-2007 Tobias Koenig", + "Copyright[en_GB]": "© 2005, 2009 Albert Astals Cid\n© 2006-2007 Pino Toscano\n© 2006-2007 Tobias Koenig", + "Copyright[eo]": "© 2005, 2009 Albert Astals Cid\n© 2006-2007 Pino Toscano\n© 2006-2007 Tobias Koenig", + "Copyright[es]": "© 2005, 2009 Albert Astals Cid\n© 2006-2007 Pino Toscano\n© 2006-2007 Tobias Koenig", + "Copyright[et]": "© 2005, 2009: Albert Astals Cid\n© 2006-2007: Pino Toscano\n© 2006-2007: Tobias Koenig", + "Copyright[eu]": "© 2005, 2009 Albert Astals Cid\n© 2006-2007 Pino Toscano\n© 2006-2007 Tobias Koenig", + "Copyright[fi]": "© 2005, 2009 Albert Astals Cid\n© 2006–2007 Pino Toscano\n© 2006–2007 Tobias Koenig", + "Copyright[fr]": "© 2005, 2009 Albert Astals Cid\n© 2006-2007 Pino Toscano\n© 2006-2007 Tobias Koenig", + "Copyright[gl]": "© 2005, 2009 Albert Astals Cid\n© 2006-2007 Pino Toscano\n© 2006-2007 Tobias Koenig", + "Copyright[he]": "© 2005, 2009 אלברט אסטלס סיד\n© 2006‏-2007 פינו טוסקנו\n© 2006‏-2007 טוביאס קוניג", + "Copyright[hu]": "© Albert Astals Cid, 2005., 2009.\n© Pino Toscano, 2006-2007.\n© Tobias Koenig, 2006-2007.", + "Copyright[ia]": "© 2005, 2009 Albert Astals Cid\n© 2006-2007 Pino Toscano\n© 2006-2007 Tobias Koenig", + "Copyright[ie]": "© 2005, 2009 Albert Astals Cid\n© 2006-2007 Pino Toscano\n© 2006-2007 Tobias Koenig", + "Copyright[is]": "© 2005, 2009 Albert Astals Cid\n© 2006-2007 Pino Toscano\n© 2006-2007 Tobias Koenig", + "Copyright[it]": "© 2005, 2009 Albert Astals Cid\n© 2006-2007 Pino Toscano\n© 2006-2007 Tobias Koenig", + "Copyright[ka]": "© 2005, 2009 Albert Astals Cid\n© 2006-2007 Pino Toscano\n© 2006-2007 Tobias Koenig", + "Copyright[ko]": "© 2005, 2009 Albert Astals Cid\n© 2006-2007 Pino Toscano\n© 2006-2007 Tobias Koenig", + "Copyright[lt]": "© 2005, 2009 Albert Astals Cid\n© 2006-2007 Pino Toscano\n© 2006-2007 Tobias Koenig", + "Copyright[lv]": "© 2005, 2009 Albert Astals Cid\n© 2006-2007 Pino Toscano\n© 2006-2007 Tobias Koenig", + "Copyright[nl]": "© 2005, 2009 Albert Astals Cid\n© 2006-2007 Pino Toscano\n© 2006-2007 Tobias Koenig", + "Copyright[nn]": "© 2005, 2009 Albert Astals Cid\n© 2006–2007 Pino Toscano\n© 2006–2007 Tobias Koenig", + "Copyright[pa]": "© 2005, 2009 Albert Astals Cid\n© 2006-2007 Pino Toscano\n© 2006-2007 Tobias Koenig", + "Copyright[pl]": "© 2005, 2009 Albert Astals Cid\n© 2006-2007 Pino Toscano\n© 2006-2007 Tobias Koenig", + "Copyright[pt]": "© 2005, 2009 Albert Astals Cid\n© 2006-2007 Pino Toscano\n© 2006-2007 Tobias Koenig", + "Copyright[pt_BR]": "© 2005, 2009 Albert Astals Cid\n© 2006-2007 Pino Toscano\n© 2006-2007 Tobias Koenig", + "Copyright[ro]": "© 2005, 2009 Albert Astals Cid\n© 2006-2007 Pino Toscano\n© 2006-2007 Tobias Koenig", + "Copyright[ru]": "© Albert Astals Cid, 2005, 2009\n© Pino Toscano, 2006-2007\n© Tobias König, 2006-2007", + "Copyright[sa]": "© 2005, 2009 अल्बर्ट एस्टल्स सिड\n© 2006-2007 पिनो टोस्कानो\n© 2006-2007 टोबियास कोएनिग", + "Copyright[sk]": "© 2005, 2009 Albert Astals Cid\n© 2006-2007 Pino Toscano\n© 2006-2007 Tobias Koenig", + "Copyright[sl]": "© 2005, 2009 Albert Astals Cid\n© 2006-2007 Pino Toscano\n© 2006-2007 Tobias Koenig", + "Copyright[sr@ijekavian]": "© 2005, 2009, Алберт Асталс Сид\n© 2006–2007, Пино Тоскано\n© 2006–2007, Тобијас Кениг", + "Copyright[sr@ijekavianlatin]": "© 2005, 2009, Albert Astals Sid\n© 2006–2007, Pino Toskano\n© 2006–2007, Tobijas Kenig", + "Copyright[sr@latin]": "© 2005, 2009, Albert Astals Sid\n© 2006–2007, Pino Toskano\n© 2006–2007, Tobijas Kenig", + "Copyright[sr]": "© 2005, 2009, Алберт Асталс Сид\n© 2006–2007, Пино Тоскано\n© 2006–2007, Тобијас Кениг", + "Copyright[sv]": "© 2005,2009 Albert Astals Cid\n© 2006-2007 Pino Toscano\n© 2006-2007 Tobias Koenig", + "Copyright[tr]": "© 2005, 2009 Albert Astals Cid\n© 2006–2007 Pino Toscano\n© 2006–2007 Tobias Koenig", + "Copyright[uk]": "© Albert Astals Cid, 2005, 2009 \n© Pino Toscano, 2006–2007\n© Tobias Koenig, 2006–2007", + "Copyright[vi]": "© 2005, 2009 Albert Astals Cid\n© 2006-2007 Pino Toscano\n© 2006-2007 Tobias Koenig", + "Copyright[zh_CN]": "© 2005, 2009 Albert Astals Cid\n© 2006-2007 Pino Toscano\n© 2006-2007 Tobias Koenig", + "Copyright[zh_TW]": "© 2005, 2009 Albert Astals Cid\n© 2006-2007 Pino Toscano\n© 2006-2007 Tobias Koenig", + "Description": "A simple image backend", + "Description[ar]": "خلفية صور بسيطة", + "Description[az]": "Sadə şəkil modulu", + "Description[be]": "Просты рухавік для апрацоўвання выяў", + "Description[bg]": "Бекенд на прости изображения", + "Description[ca@valencia]": "Un dorsal d'imatges senzill", + "Description[ca]": "Un dorsal d'imatges senzill", + "Description[cs]": "Jednoduchá podpůrná vrstva obrázků", + "Description[da]": "En simpel billed-backend", + "Description[de]": "Ein einfaches Anzeigemodul für Bilder", + "Description[el]": "Ένα απλό σύστημα υποστήριξης εικόνων", + "Description[en_GB]": "A simple image backend", + "Description[eo]": "Simpla bildo backend", + "Description[es]": "Un sencillo motor para imágenes", + "Description[et]": "Lihtne pildi taustaprogramm", + "Description[eu]": "Irudien bizkarraldeko xume bat", + "Description[fi]": "Yksinkertainen kuvataustaosa", + "Description[fr]": "Un moteur simple pour image", + "Description[gl]": "Motor simple de imaxes.", + "Description[he]": "מנגנון תמונות פשוט", + "Description[hu]": "Egyszerű képmodul", + "Description[ia]": "Un simplice retroadministration de image", + "Description[ie]": "Simplic infrastructura de images", + "Description[is]": "Einfaldur bakendi fyrir myndir", + "Description[it]": "Un semplice backend per le immagini", + "Description[ka]": "უბრალო გამოსახულებების უკანაბოლო", + "Description[ko]": "간단한 그림 백엔드", + "Description[lt]": "Paprasta paveikslų programinė sąsaja", + "Description[lv]": "VienkārÅ¡a attēlu aizmugursistēma", + "Description[nl]": "Een eenvoudige afbeeldingsbackend", + "Description[nn]": "Ein enkel biletmotor", + "Description[pl]": "Wyświetlanie obrazów", + "Description[pt]": "Uma infra-estrutura de imagens simples", + "Description[pt_BR]": "Uma infraestrutura simples de imagens", + "Description[ro]": "Platformă simplă pentru imagini", + "Description[ru]": "Модуль поддержки форматов изображений", + "Description[sa]": "एकः सरलः चित्रपृष्ठभागः", + "Description[sk]": "Backend jednoduchých obrázkov", + "Description[sl]": "Preprosto zaledje za slike", + "Description[sr@ijekavian]": "Једноставна позадина за слике", + "Description[sr@ijekavianlatin]": "Jednostavna pozadina za slike", + "Description[sr@latin]": "Jednostavna pozadina za slike", + "Description[sr]": "Једноставна позадина за слике", + "Description[sv]": "Ett enkelt bildgränssnitt", + "Description[tr]": "Basit bir görüntü arka ucu", + "Description[uk]": "Проста програма для зображень", + "Description[vi]": "Một hậu phương ảnh đơn giản", + "Description[zh_CN]": "简易图像后端程序", + "Description[zh_TW]": "簡易的圖片後端介面", + "License": "GPL", + "MimeTypes": [ + "image/bmp", + "image/x-dds", + "image/x-eps", + "image/x-exr", + "image/gif", + "image/x-hdr", + "image/x-ico", + "image/jp2", + "image/jpeg", + "video/x-mng", + "image/x-portable-bitmap", + "image/x-pcx", + "image/x-portable-graymap", + "image/png", + "image/x-portable-pixmap", + "image/x-psd", + "image/x-rgb", + "image/x-tga", + "image/tiff", + "image/x-xbitmap", + "image/x-xcf", + "image/x-xpixmap", + "image/x-gzeps", + "image/x-bzeps", + "image/avif", + "image/heif", + "image/webp", + "image/jxl" + ], + "Name": "Image Backend", + "Name[ar]": "خلفية الصور", + "Name[az]": "Image Backend", + "Name[be]": "Рухавік апрацоўвання выяў", + "Name[bg]": "Бекенд на Image", + "Name[ca@valencia]": "Dorsal d'imatges", + "Name[ca]": "Dorsal d'imatges", + "Name[cs]": "Podpůrná vrstva obrázků", + "Name[da]": "Billed-backend", + "Name[de]": "Anzeigemodul für Bilder", + "Name[el]": "Σύστημα υποστήριξης εικόνας", + "Name[en_GB]": "Image Backend", + "Name[eo]": "Bilda Backend", + "Name[es]": "Motor para imágenes", + "Name[et]": "Pildi taustaprogramm", + "Name[eu]": "Irudien bizkarraldekoa", + "Name[fi]": "Kuvataustaosa", + "Name[fr]": "Moteur image", + "Name[gl]": "Motor de imaxes", + "Name[he]": "מנגנון תמונות", + "Name[hu]": "Kép modul", + "Name[ia]": "Retro-Administration de Image", + "Name[ie]": "Infrastructura de images", + "Name[is]": "Image-bakendi", + "Name[it]": "Backend immagini", + "Name[ka]": "გამოსახულებების უკანაბოლო", + "Name[ko]": "그림 백엔드", + "Name[lt]": "Paveikslų programinė sąsaja", + "Name[lv]": "Attēlu aizmugursistēma", + "Name[nl]": "Afbeeldings-backend", + "Name[nn]": "Biletmotor", + "Name[pa]": "ਚਿੱਤਰ ਬੈਕਐਂਡ", + "Name[pl]": "Obsługa obrazów", + "Name[pt]": "Infra-Estrutura de Imagens", + "Name[pt_BR]": "Infraestrutura de imagens", + "Name[ro]": "Platformă imagini", + "Name[ru]": "Модуль поддержки форматов изображений", + "Name[sa]": "चित्र पृष्ठभाग", + "Name[sk]": "Backend obrázkov", + "Name[sl]": "Zaledje za slike", + "Name[sr@ijekavian]": "Позадина за слике", + "Name[sr@ijekavianlatin]": "Pozadina za slike", + "Name[sr@latin]": "Pozadina za slike", + "Name[sr]": "Позадина за слике", + "Name[sv]": "Bildgränssnitt", + "Name[ta]": "பட பின்நிலை", + "Name[tr]": "Resim Arka Ucu", + "Name[uk]": "Модуль зображень", + "Name[vi]": "Hậu phương ảnh", + "Name[zh_CN]": "图像后端程序", + "Name[zh_TW]": "圖片後端介面", + "Version": "0.1.2" + }, + "X-KDE-Priority": 1, + "X-KDE-okularAPIVersion": 1, + "X-KDE-okularHasInternalSettings": false +} diff --git a/generators/kimgio/okularApplication_kimgio.desktop b/generators/kimgio/okularApplication_kimgio.desktop new file mode 100755 index 0000000..ece61db --- /dev/null +++ b/generators/kimgio/okularApplication_kimgio.desktop @@ -0,0 +1,198 @@ +[Desktop Entry] +MimeType=image/bmp;image/x-dds;image/x-eps;image/x-exr;image/gif;image/x-hdr;image/x-ico;image/jp2;image/jpeg;video/x-mng;image/x-portable-bitmap;image/x-pcx;image/x-portable-graymap;image/png;image/x-portable-pixmap;image/x-psd;image/x-rgb;image/x-tga;image/tiff;image/x-xbitmap;image/x-xcf;image/x-xpixmap;image/x-gzeps;image/x-bzeps;image/avif;image/heif;image/webp;image/jxl; +Terminal=false +Name=Okular +Name[ar]=اوكلار +Name[az]=Okular +Name[be]=Okular +Name[bg]=Okular +Name[bs]=Okular +Name[ca]=Okular +Name[ca@valencia]=Okular +Name[cs]=Okular +Name[da]=Okular +Name[de]=Okular +Name[el]=Okular +Name[en_GB]=Okular +Name[eo]=Okular +Name[es]=Okular +Name[et]=Okular +Name[eu]=Okular +Name[fi]=Okular +Name[fr]=Okular +Name[ga]=Okular +Name[gl]=Okular +Name[he]=Okular +Name[hne]=ओकुलर +Name[hr]=Okular +Name[hu]=Okular +Name[ia]=Okular +Name[ie]=Okular +Name[is]=Okular +Name[it]=Okular +Name[ja]=Okular +Name[ka]=Okular +Name[kk]=Okular +Name[km]=Okular +Name[ko]=Okular +Name[ku]=Okular +Name[lt]=Okular +Name[lv]=Okular +Name[mr]=ओक्युलर +Name[nb]=Okular +Name[nds]=Okular +Name[nl]=Okular +Name[nn]=Okular +Name[pa]=ਓਕੁਲਾਰ +Name[pl]=Okular +Name[pt]=Okular +Name[pt_BR]=Okular +Name[ro]=Okular +Name[ru]=Okular +Name[sa]=नेत्रस्य +Name[si]=Okular +Name[sk]=Okular +Name[sl]=Okular +Name[sq]=Okular +Name[sr]=Окулар +Name[sr@ijekavian]=Окулар +Name[sr@ijekavianlatin]=Okular +Name[sr@latin]=Okular +Name[sv]=Okular +Name[ta]=ஆக்குலர் +Name[th]=โอกูลาร์ +Name[tr]=Okular +Name[ug]=Okular +Name[uk]=Okular +Name[vi]=Okular +Name[zh_CN]=Okular 文档查看器 +Name[zh_TW]=Okular +GenericName=Document Viewer +GenericName[ar]=عارض المستندات +GenericName[az]=Sənədə baxış vasitısi +GenericName[be]=Сродак для прагляду дакументаў +GenericName[bg]=Преглед на документи +GenericName[bs]=Prikazivač dokumenata +GenericName[ca]=Visualitzador de documents +GenericName[ca@valencia]=Visor de documents +GenericName[cs]=Prohlížeč dokumentů +GenericName[da]=Dokumentfremviser +GenericName[de]=Dokumentenbetrachter +GenericName[el]=Προβολέας εγγράφων +GenericName[en_GB]=Document Viewer +GenericName[eo]=Dokumenta rigardilo +GenericName[es]=Visor de documentos +GenericName[et]=Dokumendinäitaja +GenericName[eu]=Dokumentu erakuslea +GenericName[fa]=مشاهده‌گر سند +GenericName[fi]=Asiakirjakatselin +GenericName[fr]=Afficheur de documents +GenericName[ga]=Amharcán Cáipéisí +GenericName[gl]=Visor de documentos +GenericName[he]=מציג מסמכים +GenericName[hi]=दस्तावेज़ प्रदर्शक +GenericName[hne]=कागद प्रदर्सक +GenericName[hr]=Preglednik dokumenata +GenericName[hu]=Dokumentummegjelenítő +GenericName[ia]=Visor de documento +GenericName[ie]=Visor de documentes +GenericName[is]=Skjalaskoðari +GenericName[it]=Visore di documenti +GenericName[ja]=文書ビューア +GenericName[ka]=დოკუმენტების მნახველი +GenericName[kk]=Құжатты қарау құралы +GenericName[km]=កម្មវិធី​មើល​ឯកសារ +GenericName[ko]=문서 뷰어 +GenericName[ku]=Nîşanderê Belgeyan +GenericName[lt]=Dokumentų žiÅ«ryklė +GenericName[lv]=Dokumentu skatÄ«tājs +GenericName[mr]=दस्तऐवज प्रदर्शक +GenericName[nb]=Dokumentviser +GenericName[nds]=Dokmentkieker +GenericName[ne]=कागजात दर्शक +GenericName[nl]=Documentenviewer +GenericName[nn]=Dokumentvisar +GenericName[oc]=Visualizaire de documents +GenericName[pa]=ਡੌਕੂਮੈਂਟ ਦਰਸ਼ਕ +GenericName[pl]=Przeglądarka dokumentów +GenericName[pt]=Visualizador de Documentos +GenericName[pt_BR]=Visualizador de documentos +GenericName[ro]=Vizualizor de documente +GenericName[ru]=Просмотр документов +GenericName[sa]=दस्तावेज दर्शक +GenericName[sk]=Prehliadač dokumentov +GenericName[sl]=Pregledovalnik dokumentov +GenericName[sq]=Shikues dokumentesh +GenericName[sr]=Приказивач докумената +GenericName[sr@ijekavian]=Приказивач докумената +GenericName[sr@ijekavianlatin]=Prikazivač dokumenata +GenericName[sr@latin]=Prikazivač dokumenata +GenericName[sv]=Dokumentvisare +GenericName[ta]=ஆவணங் காட்டி +GenericName[th]=เครื่องมือแสดงเอกสาร +GenericName[tr]=Belge Görüntüleyicisi +GenericName[ug]=پۈتۈك كۆرگۈ +GenericName[uk]=Переглядач документів +GenericName[vi]=Trình xem tài liệu +GenericName[zh_CN]=文档查看器 +GenericName[zh_TW]=文件檢視器 +Comment=Universal document viewer +Comment[ar]=عارض المستندات عالمي +Comment[az]=Sənədə universal baxış vasitəsi +Comment[be]=Універсальны сродак для прагляду дакументаў +Comment[bg]=Универсална програма за преглед на документи +Comment[ca]=Visualitzador universal de documents +Comment[ca@valencia]=Visor universal de documents +Comment[cs]=Univerzální prohlížeč dokumentů +Comment[da]=Universel dokumentfremviser +Comment[de]=Universeller Dokumentenbetrachter +Comment[el]=Καθολικός προβολέας εγγράφων +Comment[en_GB]=Universal document viewer +Comment[eo]=Universala dokumenta spektilo +Comment[es]=Visor de documentos universal +Comment[et]=Universaalne dokumendinäitaja +Comment[eu]=Dokumentu erakusle unibertsala +Comment[fi]=Yleinen asiakirjakatselin +Comment[fr]=Afficheur de document universel +Comment[gl]=Visor de documentos universal. +Comment[he]=מציג מסמכים אוניברסלי +Comment[hu]=Univerzális dokumentummegjelenítő +Comment[ia]=Visor de documento universal +Comment[ie]=Universal visor de documentes +Comment[is]=Fjölhæfur skjalaskoðari +Comment[it]=Visore di documenti universale +Comment[ja]=多用途な文書ビューア +Comment[ka]=დოკუმენტების პოპულარული ფორმატების გამხსნელი +Comment[ko]=만능 문서 뷰어 +Comment[lt]=Universali dokumentų žiÅ«ryklė +Comment[lv]=Universāls dokumentu skatÄ«tājs +Comment[nl]=Universele documentviewer +Comment[nn]=Dokumentvisar for mange format +Comment[pa]=ਯੂਨੀਵਰਸਲ ਡੌਕੂਮੈਂਟ ਦਰਸ਼ਕ +Comment[pl]=Wszechstronna przeglądarka dokumentów +Comment[pt]=Visualizador de documentos universal +Comment[pt_BR]=Visualizador de documentos universal +Comment[ro]=Vizualizor de documente universal +Comment[ru]=Универсальная программа просмотра документов +Comment[sa]=सार्वभौमिक दस्तावेज दर्शक +Comment[sk]=Univerzálny prehliadač dokumentov +Comment[sl]=Vsestranski pregledovalnik dokumentov +Comment[sq]=Shikues univerzal dokumentesh +Comment[sr]=Универзални приказивач докумената +Comment[sr@ijekavian]=Универзални приказивач докумената +Comment[sr@ijekavianlatin]=Univerzalni prikazivač dokumenata +Comment[sr@latin]=Univerzalni prikazivač dokumenata +Comment[sv]=Generell dokumentvisare +Comment[ta]=அனைத்து ஆவணங்களுக்கான காட்டி +Comment[tr]=Çok amaçlı belge görüntüleyicisi +Comment[uk]=Універсальний переглядач документів +Comment[vi]=Trình xem tài liệu vạn năng +Comment[zh_CN]=通用文档查看器 +Comment[zh_TW]=通用文件檢視器 +Exec=okular %U +Icon=okular +Type=Application +InitialPreference=1 +Categories=Qt;KDE;Graphics;Viewer; +NoDisplay=true +X-KDE-AliasFor=org.kde.okular.desktop diff --git a/generators/kimgio/org.kde.mobile.okular_kimgio.desktop b/generators/kimgio/org.kde.mobile.okular_kimgio.desktop new file mode 100755 index 0000000..419902e --- /dev/null +++ b/generators/kimgio/org.kde.mobile.okular_kimgio.desktop @@ -0,0 +1,192 @@ +[Desktop Entry] +MimeType=image/bmp;image/x-dds;image/x-eps;image/x-exr;image/gif;image/x-hdr;image/x-ico;image/jp2;image/jpeg;video/x-mng;image/x-portable-bitmap;image/x-pcx;image/x-portable-graymap;image/png;image/x-portable-pixmap;image/x-psd;image/x-rgb;image/x-tga;image/tiff;image/x-xbitmap;image/x-xcf;image/x-xpixmap;image/x-gzeps;image/x-bzeps;image/avif;image/heif;image/webp;image/jxl; +Name=Reader +Name[ar]=التصيير +Name[az]=Oxuyucu +Name[be]=Сродак чытання +Name[bg]=Четец +Name[bs]=Čitač +Name[ca]=Lector +Name[ca@valencia]=Lector +Name[cs]=Čtečka +Name[da]=Læser +Name[de]=Lesegerät +Name[el]=Πρόγραμμα ανάγνωσης +Name[en_GB]=Reader +Name[eo]=Legilo +Name[es]=Lector +Name[et]=Lugeja +Name[eu]=Irakurlea +Name[fi]=Lukija +Name[fr]=Lecteur +Name[ga]=Léitheoir +Name[gl]=Lector +Name[he]=קורא +Name[hu]=Olvasó +Name[ia]=Lector +Name[ie]=Letor +Name[is]=Lesari +Name[it]=Lettore +Name[ja]=リーダ +Name[ka]=მკითხველი +Name[kk]=Оқу құралы +Name[ko]=리더 +Name[lt]=Skaitytuvas +Name[lv]=LasÄ«tājs +Name[mr]=वाचक +Name[nb]=Leser +Name[nds]=Leser +Name[nl]=Lezer +Name[nn]=Lesar +Name[pa]=ਰੀਡਰ +Name[pl]=Czytnik +Name[pt]=Leitor +Name[pt_BR]=Leitor +Name[ro]=Cititor +Name[ru]=Просмотрщик +Name[sa]=पाठकः +Name[sk]=Čítačka +Name[sl]=Bralnik +Name[sq]=Reader +Name[sr]=Читач +Name[sr@ijekavian]=Читач +Name[sr@ijekavianlatin]=Čitač +Name[sr@latin]=Čitač +Name[sv]=Läsprogram +Name[ta]=காட்டி +Name[tr]=Okuyucu +Name[ug]=ئوقۇغۇ +Name[uk]=Переглядач +Name[vi]=Trình đọc +Name[zh_CN]=阅读器 +Name[zh_TW]=閱讀器 +GenericName=Document viewer +GenericName[ar]=عارض المستندات +GenericName[az]=Sənədə baxış vasitısi +GenericName[be]=Сродак для прагляду дакументаў +GenericName[bg]=Преглед на документи +GenericName[bs]=Prikazivač dokumenata +GenericName[ca]=Visualitzador de documents +GenericName[ca@valencia]=Visor de documents +GenericName[cs]=Prohlížeč dokumentů +GenericName[da]=Dokumentfremviser +GenericName[de]=Dokumentenbetrachter +GenericName[el]=Προβολέας εγγράφων +GenericName[en_GB]=Document Viewer +GenericName[eo]=Dokumentrigardilo +GenericName[es]=Visor de documentos +GenericName[et]=Dokumendinäitaja +GenericName[eu]=Dokumentu erakuslea +GenericName[fi]=Asiakirjakatselin +GenericName[fr]=Afficheur de document +GenericName[ga]=Amharcán cáipéisí +GenericName[gl]=Visor de documentos +GenericName[he]=מציג מסמכים +GenericName[hi]=दस्तावेज़ प्रदर्शक +GenericName[hu]=Dokumentummegjelenítő +GenericName[ia]=Visor de documento +GenericName[ie]=Visor de documentes +GenericName[is]=Skjalaskoðari +GenericName[it]=Visore di documenti +GenericName[ja]=文書ビューア +GenericName[ka]=დოკუმენტების მნახველი +GenericName[kk]=Құжатты қарау құралы +GenericName[ko]=문서 뷰어 +GenericName[lt]=Dokumentų žiÅ«ryklė +GenericName[lv]=Dokumentu skatÄ«tājs +GenericName[mr]=दस्तऐवज प्रदर्शक +GenericName[nb]=Dokumentviser +GenericName[nds]=Dokmentkieker +GenericName[nl]=Documentenviewer +GenericName[nn]=Dokumentvisar +GenericName[pa]=ਡੌਕੂਮੈਂਟ ਦਰਸ਼ਕ +GenericName[pl]=Przeglądarka dokumentów +GenericName[pt]=Visualizador de documentos +GenericName[pt_BR]=Visualizador de documentos +GenericName[ro]=Vizualizor de documente +GenericName[ru]=Просмотр документов +GenericName[sa]=दस्तावेजदर्शकः +GenericName[sk]=Prehliadač dokumentov +GenericName[sl]=Pregledovalnik dokumentov +GenericName[sq]=Shikues dokumentesh +GenericName[sr]=Приказивач докумената +GenericName[sr@ijekavian]=Приказивач докумената +GenericName[sr@ijekavianlatin]=Prikazivač dokumenata +GenericName[sr@latin]=Prikazivač dokumenata +GenericName[sv]=Dokumentvisare +GenericName[ta]=ஆவணங் காட்டி +GenericName[tr]=Belge Görüntüleyicisi +GenericName[uk]=Переглядач документів +GenericName[vi]=Trình xem tài liệu +GenericName[zh_CN]=文档查看器 +GenericName[zh_TW]=文件檢視器 +Comment=Viewer for various types of documents +Comment[ar]=عارض للعديد من أنواع المستندات +Comment[az]=Müxtəlif növlü sənədlər üçün görüntüləyici +Comment[be]=Сродак для прагляду разнастайных тыпаў дакументаў +Comment[bg]=Преглед на различни видове документи +Comment[bs]=Pregledač raznih vrsta dokumenata +Comment[ca]=Visualitzador de diversos tipus de documents +Comment[ca@valencia]=Visor de diversos tipus de documents +Comment[cs]=Prohlížeč různých typů dokumentů +Comment[da]=Fremviser af diverse dokumenttyper +Comment[de]=Betrachter für verschiedene Arten von Dokumenten +Comment[el]=Πρόγραμμα προβολής για διάφορους τύπους εγγράφων +Comment[en_GB]=Viewer for various types of documents +Comment[eo]=Vidilo por diversaj specoj de dokumentoj +Comment[es]=Visor de diversos tipos de documentos +Comment[et]=Eri tüüpi dokumentide näitaja +Comment[eu]=Hainbat dokumentu moten erakuslea +Comment[fi]=Monenlaisten asiakirjojen katseluohjelma +Comment[fr]=Afficheur pour différents types de documents +Comment[ga]=Amharcán le haghaidh cáipéisí éagsúla +Comment[gl]=Visor de varios tipos de documentos. +Comment[he]=מציג למגוון סוגי מסמכים +Comment[hu]=Megjelenítő különféle típusú dokumentumokhoz +Comment[ia]=Visor pro varie typos de documento +Comment[ie]=Visor por varie tipes de documentes +Comment[is]=Skoðari fyrir ýmsar gerðir skjala +Comment[it]=Visore per vari tipi di documenti +Comment[ja]=様々なタイプの文書のためのビューア +Comment[ka]=სხვადასხვა ტიპების დოკუმენტების დათვალიერება +Comment[kk]=Түрлі құжаттар қарау құралы +Comment[ko]=여러 형식의 문서 뷰어 +Comment[lt]=ŽiÅ«ryklė įvairiems dokumentų tipams +Comment[lv]=Dažādu dokumentu tipu skatÄ«tājs +Comment[mr]=विविध प्रकारच्या दस्तऐवजांचा प्रदर्शक +Comment[nb]=Framviser for forskjellige dokumenttyper +Comment[nds]=Kieker för en Reeg Dokmenttypen +Comment[nl]=Viewer voor verschillende typen documenten +Comment[nn]=Framvisar for forskjellige dokumenttypar +Comment[pa]=ਕਈ ਕਿਸਮ ਦੇ ਡੌਕੂਮੈਂਟ ਵੇਖਾਉਣ ਲਈ ਦਰਸ਼ਕ +Comment[pl]=Przeglądarka dla różnych typów dokumentów +Comment[pt]=Visualizador de vários tipos de documentos +Comment[pt_BR]=Visualizador para vários tipos de documentos +Comment[ro]=Vizualizor pentru diferite tipuri de documente +Comment[ru]=Программа для просмотра различных типов документов +Comment[sa]=विभिन्नप्रकारस्य दस्तावेजानां कृते दर्शकः +Comment[sk]=Prehliadač pre rôzne typy dokumentov +Comment[sl]=Pregledovalnik raznih vrst dokumentov +Comment[sq]=Shikues për lloje të ndryshme të dokumentave +Comment[sr]=Приказивач различитих врста докумената +Comment[sr@ijekavian]=Приказивач различитих врста докумената +Comment[sr@ijekavianlatin]=Prikazivač različitih vrsta dokumenata +Comment[sr@latin]=Prikazivač različitih vrsta dokumenata +Comment[sv]=Visningsprogram för diverse typer av dokument +Comment[ta]=பலவகையான ஆவணங்களுக்கான காட்டி +Comment[tr]=Çeşitli belge türleri için görüntüleyici +Comment[ug]=ھەر خىل تىپتىكى پۈتۈكلەرنى كۆرىدىغان پروگرامما +Comment[uk]=Програма для перегляду документів різних типів +Comment[vi]=Trình xem các kiểu tài liệu khác nhau +Comment[zh_CN]=支持查看多种文档类型 +Comment[zh_TW]=多種型態文件的檢視器 + +TryExec=okularkirigami +Exec=okularkirigami %u +Terminal=false +Icon=okular +Type=Application +Categories=Qt;KDE;Graphics;Office;Viewer; +InitialPreference=2 +NoDisplay=true +X-KDE-AliasFor=org.kde.okular.kirigami.desktop diff --git a/generators/kimgio/org.kde.okular-kimgio.metainfo.xml b/generators/kimgio/org.kde.okular-kimgio.metainfo.xml new file mode 100644 index 0000000..076ed6b --- /dev/null +++ b/generators/kimgio/org.kde.okular-kimgio.metainfo.xml @@ -0,0 +1,162 @@ + + + org.kde.okular-kimgio + org.kde.okular.desktop + CC0-1.0 + GPL-2.0+ and GFDL-1.3 + Images + الصور + Imáxenes + Şəkillər + Выявы + Изображения + Imatges + Imatges + Obrázky + Bilder + Εικόνες + Images + Bildoj + Imágenes + Pildid + Irudiak + Kuvat + Images + Imaxes + תמונות + छवियाँ + Képek + Images + Images + Myndir + Immagini + გამოსახულებები + 그림 + Paveikslai + Attēli + ചിത്രങ്ങള്‍ + Afbeeldingen + Bilete + Obrazy + Imagens + Imagens + Imagini + Изображения + बिम्बाः + Obrázky + Slike + Слике + Slike + Слике + Slike + Bilder + படங்கள் + Görseller + Зображення + Ảnh + 图像 + 影像 + Adds support for reading many image formats + يضيف دعم لقراءة العديد من تنسيقات الصور + Şəkil formatlarının oxunması dəstəyini əlavə edir + Падтрымка чытання многіх фарматаў выяў + Добавя поддръжка за четене на множество формати за изображения + Afegeix la implementació per a llegir molts formats d'imatge + Afig la implementació per a llegir molts formats d'imatge + Přidává podporu pro čtení formátů obrázků + Bietet Unterstützung zum Lesen von vielen Bildformaten + Προσθέτει υποστήριξη για την ανάγνωση πολλών τύπων αποθήκευσης εικόνων + Adds support for reading many image formats + Aldonas subtenon por legi multajn bildformatojn + Permite la lectura de diversos formatos de imagen + Paljude pildivormingute lugemise toetus + Irudi formatu ugari irakurtzeko euskarria gehitzen du + Lisää monien kuvatiedostomuotojen lukutuen + Permet la lecture de nombreux formats d'images + Engade a posibilidade de ler moitos formatos de imaxe + מוסיף תמיכה בהצגה של מגוון תסדירי תמונות + कई छवियों के प्रारूपों को पढ़ने के लिए समर्थन जोड़ता है + Támogatás számos képformátum olvasásához + Adde supporto per leger formatos de image + Adjunte li supporte por letion de multiplic formates de images + Bætir við stuðningi til að lesa ýmis myndasnið + Aggiunge il supporto per la lettura di vari formati di immagini + ამატებს მრავალი გამოსახულების ფორმატის წაკითხვის მხარდაჭერას + 다양한 그림 형식 읽기 지원 추가 + Prideda palaikymą daugelio paveikslų formatų skaitymui + Pievieno atbalstu dažādu attēlu formātu lasīšanai + നിരവധി ചിത്ര ഫോർമാറ്റുകൾ വായിക്കുന്നതിനുള്ള പിന്തുണ ചേർക്കുന്നു + Ondersteuning toevoegen om vele afbeeldingsformaten te lezen + Legg til støtte for Ã¥ lesa mange ulike biletformat + Dodaje obsługę wielu formatów obrazów + Adiciona o suporte para ler muitos formatos de imagem + Adiciona o suporte para leitura de muitos formatos de imagem + Adaugă suport pentru citirea multor formate de imagine + Поддержка чтения многих форматов изображений + अनेकाः चित्रस्वरूपाः पठितुं समर्थनं योजयति + Pridá podporu pre čítanie mnohých obrazových formátov + Doda podporo za branje Å¡tevilnih slikovnih vrst + Подршка за читање разних формата слика + PodrÅ¡ka za čitanje raznih formata slika + Подршка за читање разних формата слика + PodrÅ¡ka za čitanje raznih formata slika + Lägger till stöd för att läsa mÃ¥nga bildformat + பல படப் படிவங்களுக்கான ஆதரவை சேர்க்கும் + Birçok görsel biçimini okuma desteği ekler + Додає підтримку читання зображень у багатьох форматах + Thêm hỗ trợ đọc nhiều định dạng ảnh + 增加对多种图像格式的阅读支持 + 加入讀取許多影像格式的支援 + + image/bmp + image/x-dds + image/x-eps + image/x-exr + image/gif + image/x-hdr + image/x-ico + image/jp2 + image/jpeg + video/x-mng + image/x-portable-bitmap + image/x-pcx + image/x-portable-graymap + image/png + image/x-portable-pixmap + image/x-psd + image/x-rgb + image/x-tga + image/tiff + image/x-xbitmap + image/x-xcf + image/x-xpixmap + image/x-gzeps + image/x-bzeps + + https://okular.kde.org + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/generators/kimgio/tests/data/testExifOrientation-0.jpg b/generators/kimgio/tests/data/testExifOrientation-0.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2ccc9a569bbcf89c96ccd21393528779fd2bdb36 GIT binary patch literal 447 zcmex=Bm<7<_#hv=|r|I2c$Ng&3HDEJh$? zV3cBD1+y6#ycnh7>>x%Bs2U~)1}0&IdZ1bmNC0A>ZjcQOjQ?*lID>4Y2!ITs$N-S$ z{|6WZIT)B2n3)-s7?=bZnFSgDA7Ky$Iu7VgWWWU!mK1>4hY)9DWnpGu0!oQsXkY+| z3Zfgs@c$MA4>KdsDrP|jdxpJDDW{sWGBkqSk9LaH85$n$JT|9brO|Trw7!aqi!Xjo kp2+b>Q{t0%uT-4R=B4LO&*qc4V_fj`^wa0_`2XJo0D|>B9RL6T literal 0 HcmV?d00001 diff --git a/generators/kimgio/tests/data/testExifOrientation-0mirror.jpg b/generators/kimgio/tests/data/testExifOrientation-0mirror.jpg new file mode 100644 index 0000000000000000000000000000000000000000..12a49f4bc64f769afb04a6f93eef70a47e5d0e8a GIT binary patch literal 457 zcmex=Bm<7<_#hv=|r|I2c$Ng&3HDEJg+< zAR)!T3T87fcri-D*+GmN2sKQ?P&Ok_B?Ke@DG(260|Vp#+YHVi8z}-HLntx;r1}2= z20;#>x0sn3l^B==8JPtc{~uux1v(DsPGrCZ6qXlYU}9up0tE#Wu(Gi;uyBYna|(-y z0TqZ~Xk!403Zfgv@c$MA4>K@01(^jI>=`!C^j@FCIw$Vjso*&NB$k6}Te9t@xlY-* wOnidejV+DG*R|c-Zl)@ppuZwsKttecBX_@p#lgqAHDO_4cVx1Hn*ZMf0Qadoi~s-t literal 0 HcmV?d00001 diff --git a/generators/kimgio/tests/data/testExifOrientation-180.jpg b/generators/kimgio/tests/data/testExifOrientation-180.jpg new file mode 100644 index 0000000000000000000000000000000000000000..41fd545bd85623b3834d506390e1a8d803609ad1 GIT binary patch literal 463 zcmex=Bm<7<_#hv=|r|I2c$Ng&3HDEJhH? zD8;}EW-~B&F-pVPL5vzuHB1Z)Ou|q$BTyv-BmgN84`>4eGI7|v{TMopcnGew&G8{%|RoUPrG;S+-d$!(~JNA FO#lNsLNx#Y literal 0 HcmV?d00001 diff --git a/generators/kimgio/tests/data/testExifOrientation-180mirror.jpg b/generators/kimgio/tests/data/testExifOrientation-180mirror.jpg new file mode 100644 index 0000000000000000000000000000000000000000..60f8e446d83ccd0e4b104446f6b512d6c46d9ef2 GIT binary patch literal 456 zcmex=Bm<7<_#hv=|r|I2c$Ng&3HDEJg+v zAR)!T3T87fcri-D*+GmNP&G^p3{1jMHX~3a1S9|{5D#br1LObO49*}MDFPrvC^7(~ z`Tqe1K@J8c24-ePB?cxzMrJ|A|3?@^fsO;Z6B%#;g=GYQ-eO`#l44Bm<7<_#hv=|r|I2c$Ng&3HDEJh%k zfl-Qq70hN}@M4sPvx68lplX;H7?^~iY(}6;2uJ`@ARf>L2FCxl8Js~jQUpMTP-Fl| z^Zx@3f*e4{GBGnMF)#@-G7B>PKf)jibR5u~$bbtdEF%C>i4bRDWn*Aw;^1Tl%8Fp< zVE~B=qMO9<{}uxeGb7M8WBm<7<_#hv=|r|I2c$Ng&3HDEJg-a zARz@Jfoui_FGguNJBU#Os)mVyfk_z32C0I81Rw?C0c~Jl{C}Il8Dt|x0AvV727omG zKfoZ!0dy=AGoum%lOQ9rAmjfd45C2C0o{oVxPZcv0ucKU;%uxeK)paI5ey9sAW=bd zV;KJ5V&GwB1X{%`$Y9T~w<+aRlU9aCu=~+Yu{uM;!=1;S*n*fO~Js|)9 literal 0 HcmV?d00001 diff --git a/generators/kimgio/tests/data/testExifOrientation-90.jpg b/generators/kimgio/tests/data/testExifOrientation-90.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b3a2182f9eddd1a8878591799a57f6894a75ddba GIT binary patch literal 456 zcmex=Bm<7<_#hv=|r|I2c$Ng&3HDEJg-4 zAR)!T3T87fcri-D*+GmNP&G^p3{1jMHX~3a1S9|{5D#br1LObO49*}MDFPrvC^7(~ z`Tqe1K@Ol}nV1=s7?=bZnFSgDA7Ky$Iu7VgWWWU!mJ?uLVq{@Pl450NV_@MBWfl?R z1j>tG=wbkg3LsONNcpQ#Rn=IzN xhEMpS-wn=+kWDe=zOr&kcFOq*dJb(H1Qs^Fv6c;NezRuB4&5DBma_l92>|VEJRbl6 literal 0 HcmV?d00001 diff --git a/generators/kimgio/tests/data/testExifOrientation-90mirror.jpg b/generators/kimgio/tests/data/testExifOrientation-90mirror.jpg new file mode 100644 index 0000000000000000000000000000000000000000..04e7301be08e1fafd27f057661172d2873753956 GIT binary patch literal 462 zcmex=Bm<7<_#hv=|r|I2c$Ng&3HDEJg-) zAR)!T3T87fcri-D*+GmNP&G^p3{1jMHX~3a1S9|{5D#br1LObO49*}MDFPrvC^7(~ z`Tqe1K@Ol}nV1=s7?=bZnFSgDA7Ky$Iu7VgWWWg&RuEudWM*bXl450J2kK_ws4o6 zdujUlOo;jOfZpF1wt6mcEZ0&q+10Q=V7`D&eOk#%W63{tfku)$x92~(6EsEs|4jhZ C9zrPq literal 0 HcmV?d00001 diff --git a/generators/kimgio/tests/data/testExifOrientation-noexif.jpg b/generators/kimgio/tests/data/testExifOrientation-noexif.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9d0a50bb6d6aa33e6d753644b80096ad959896d4 GIT binary patch literal 347 zcmex=>2hprJQQg%FqaQKiVl)XJ~l1^Vpn%l}5|e)A}kdF249Vc_POjO^Hw5y;5;Lo0pzD UJ)2MFj&Z@$(@&qz + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "../../settings_core.h" +#include "../generator_kimgio.h" + +#include +#include +#include + +#include + +#include +#include +#include +#include +#include +#include + +class KIMGIOTest : public QObject +{ + Q_OBJECT + +private Q_SLOTS: + void initTestCase(); + void testExifOrientation_data(); + void testExifOrientation(); +}; + +void KIMGIOTest::initTestCase() +{ + // Make sure we find the okularGenerator_kimgio that we build just now and not the system one + QFileInfo lib(QStringLiteral(GENERATOR_PATH)); + QVERIFY2(lib.exists(), GENERATOR_PATH); + QStringList libPaths = QCoreApplication::libraryPaths(); + libPaths.prepend(lib.absolutePath()); + QCoreApplication::setLibraryPaths(libPaths); + QVERIFY(KPluginMetaData(QStringLiteral("okularGenerator_kimgio")).isValid()); + // make sure we didn't break the search path for image formats: + auto availableFormats = QImageReader::supportedImageFormats(); + QVERIFY2(availableFormats.contains("jpeg"), availableFormats.join(", ").constData()); +} + +// The following images have different Exif orientation tags, but they all +// are a 3x2 rectangle whose top-left pixel is black, and whose other pixels are +// white. Note that, due to JPEG lossy compression, some pixels are not pure +// white. In testExifOrientation, we only check the top-left and bottom-right +// corners. +void KIMGIOTest::testExifOrientation_data() +{ + QTest::addColumn("imgPath"); + + // No Exif metadata at all + QTest::newRow("No Exif metadata") << KDESRCDIR "tests/data/testExifOrientation-noexif.jpg"; + + // No Exif orientation information + QTest::newRow("Unspecified") << KDESRCDIR "tests/data/testExifOrientation-unspecified.jpg"; + + // Valid Orientation values + QTest::newRow("Horizontal (normal)") << KDESRCDIR "tests/data/testExifOrientation-0.jpg"; + QTest::newRow("Mirror horizontal") << KDESRCDIR "tests/data/testExifOrientation-0mirror.jpg"; + QTest::newRow("Rotate 90 CW") << KDESRCDIR "tests/data/testExifOrientation-90.jpg"; + QTest::newRow("Mirror horizontal and rotate 90 CW") << KDESRCDIR "tests/data/testExifOrientation-90mirror.jpg"; + QTest::newRow("Rotate 180") << KDESRCDIR "tests/data/testExifOrientation-180.jpg"; + QTest::newRow("Mirror vertical") << KDESRCDIR "tests/data/testExifOrientation-180mirror.jpg"; + QTest::newRow("Rotate 270 CW") << KDESRCDIR "tests/data/testExifOrientation-270.jpg"; + QTest::newRow("Mirror horizontal and rotate 270 CW") << KDESRCDIR "tests/data/testExifOrientation-270mirror.jpg"; +} + +void KIMGIOTest::testExifOrientation() +{ + QFETCH(QString, imgPath); + QMimeDatabase db; + + Okular::SettingsCore::instance(QStringLiteral("kimgiotest")); + Okular::Document *m_document = new Okular::Document(nullptr); + const QMimeType mime = db.mimeTypeForFile(imgPath); + + Okular::DocumentObserver *dummyDocumentObserver = new Okular::DocumentObserver(); + m_document->addObserver(dummyDocumentObserver); + + // Load image + QCOMPARE((int)m_document->openDocument(imgPath, QUrl(), mime), (int)Okular::Document::OpenSuccess); + m_document->setRotation(0); // Test the default rotation + QCOMPARE(m_document->pages(), 1u); + + // Check size + QCOMPARE(m_document->page(0)->width(), double(3)); + QCOMPARE(m_document->page(0)->height(), double(2)); + + // Generate pixmap + Okular::PixmapRequest *req = new Okular::PixmapRequest(dummyDocumentObserver, 0, 3, 2, qApp->devicePixelRatio(), 1, Okular::PixmapRequest::NoFeature); + m_document->requestPixmaps({req}); + QVERIFY(m_document->page(0)->hasPixmap(dummyDocumentObserver, 3, 2)); + + // Obtain image + QImage img(3, 2, QImage::Format_ARGB32_Premultiplied); + QPainter p(&img); + PagePainter::paintPageOnPainter(&p, m_document->page(0), dummyDocumentObserver, 0, 3, 2, QRect(0, 0, 3, 2)); + + // Verify pixel data + QCOMPARE(img.pixel(0, 0), qRgb(0, 0, 0)); + QCOMPARE(img.pixel(2, 1), qRgb(255, 255, 255)); + + m_document->removeObserver(dummyDocumentObserver); + delete dummyDocumentObserver; + delete m_document; +} + +QTEST_MAIN(KIMGIOTest) +#include "kimgiotest.moc" diff --git a/generators/markdown/CMakeLists.txt b/generators/markdown/CMakeLists.txt new file mode 100644 index 0000000..366c9d6 --- /dev/null +++ b/generators/markdown/CMakeLists.txt @@ -0,0 +1,24 @@ +remove_definitions(-DTRANSLATION_DOMAIN="okular") +add_definitions(-DTRANSLATION_DOMAIN="okular_markdown") + +########### next target ############### + +set(okularGenerator_md_PART_SRCS + converter.cpp + generator_md.cpp +) + + +okular_add_generator(okularGenerator_md ${okularGenerator_md_PART_SRCS}) + +target_link_libraries(okularGenerator_md PRIVATE okularcore KF6::I18n PkgConfig::Discount) + +########### install files ############### +if (BUILD_DESKTOP) + install( PROGRAMS okularApplication_md.desktop DESTINATION ${KDE_INSTALL_APPDIR} ) +endif() +if (BUILD_MOBILE) + install( PROGRAMS org.kde.mobile.okular_md.desktop DESTINATION ${KDE_INSTALL_APPDIR} ) +endif() +install( FILES org.kde.okular-md.metainfo.xml DESTINATION ${KDE_INSTALL_METAINFODIR} ) + diff --git a/generators/markdown/Messages.sh b/generators/markdown/Messages.sh new file mode 100644 index 0000000..d6aa0a0 --- /dev/null +++ b/generators/markdown/Messages.sh @@ -0,0 +1,2 @@ +#!/bin/sh +$XGETTEXT $(find . -name "*.cpp" -o -name "*.h") -o $podir/okular_markdown.pot diff --git a/generators/markdown/converter.cpp b/generators/markdown/converter.cpp new file mode 100644 index 0000000..5314c5c --- /dev/null +++ b/generators/markdown/converter.cpp @@ -0,0 +1,267 @@ +/* + SPDX-FileCopyrightText: 2017 Julian Wolff + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "converter.h" + +#include + +#include +#include +#include +#include + +#include + +#include "debug_md.h" + +extern "C" { +#include +} + +#define PAGE_WIDTH 980 +#define PAGE_HEIGHT 1307 +#define PAGE_MARGIN 45 +#define CONTENT_WIDTH (PAGE_WIDTH - 2 * PAGE_MARGIN) + +using namespace Markdown; + +QString detail::fixupHtmlTags(QString &&html) +{ + // Discount emits tags for ~~ but Qt doesn't understand them and + // removes them. Instead replace them with tags which Qt does + // understand. + return html.replace(QStringLiteral(""), QStringLiteral("")).replace(QStringLiteral(""), QStringLiteral("")); +} + +Converter::Converter() + : m_markdownFile(nullptr) + , m_isFancyPantsEnabled(true) +{ +} + +Converter::~Converter() +{ + if (m_markdownFile) { + fclose(m_markdownFile); + } +} + +QTextDocument *Converter::convert(const QString &fileName) +{ + if (m_markdownFile) { + fclose(m_markdownFile); + } + m_markdownFile = fopen(fileName.toLocal8Bit().constData(), "rb"); + if (!m_markdownFile) { + Q_EMIT error(i18n("Failed to open the document"), -1); + return nullptr; + } + + m_fileDir = QDir(fileName.left(fileName.lastIndexOf(QLatin1Char('/')))); + + QTextDocument *doc = convertOpenFile(); + QHash internalLinks; + QHash documentAnchors; + extractLinks(doc->rootFrame(), internalLinks, documentAnchors); + + for (auto linkIt = internalLinks.constBegin(); linkIt != internalLinks.constEnd(); ++linkIt) { + auto anchorIt = documentAnchors.constFind(linkIt.key()); + if (anchorIt != documentAnchors.constEnd()) { + const Okular::DocumentViewport viewport = calculateViewport(doc, anchorIt.value()); + Okular::GotoAction *action = new Okular::GotoAction(QString(), viewport); + Q_EMIT addAction(action, linkIt.value().position(), linkIt.value().position() + linkIt.value().length()); + } else { + qDebug() << "Could not find destination for" << linkIt.key(); + } + } + + return doc; +} + +void Converter::convertAgain() +{ + setDocument(convertOpenFile()); +} + +QTextDocument *Converter::convertOpenFile() +{ + int result = fseek(m_markdownFile, 0, SEEK_SET); + if (result != 0) { + Q_EMIT error(i18n("Failed to open the document"), -1); + return nullptr; + } + +#if defined(MKD_NOLINKS) + // on discount 2 MKD_NOLINKS is a define + MMIOT *markdownHandle = mkd_in(m_markdownFile, 0); + + int flags = MKD_FENCEDCODE | MKD_GITHUBTAGS | MKD_AUTOLINK | MKD_TOC | MKD_IDANCHOR; + if (!m_isFancyPantsEnabled) { + flags |= MKD_NOPANTS; + } + if (!mkd_compile(markdownHandle, flags)) { + Q_EMIT error(i18n("Failed to compile the Markdown document."), -1); + return nullptr; + } +#else + // on discount 3 MKD_NOLINKS is an enum value + MMIOT *markdownHandle = mkd_in(m_markdownFile, nullptr); + + mkd_flag_t *flags = mkd_flags(); + // These flags aren't bitflags, so they can't be | together + mkd_set_flag_num(flags, MKD_FENCEDCODE); + mkd_set_flag_num(flags, MKD_GITHUBTAGS); + mkd_set_flag_num(flags, MKD_AUTOLINK); + mkd_set_flag_num(flags, MKD_TOC); + mkd_set_flag_num(flags, MKD_IDANCHOR); + if (!m_isFancyPantsEnabled) { + mkd_set_flag_num(flags, MKD_NOPANTS); + } + if (!mkd_compile(markdownHandle, flags)) { + Q_EMIT error(i18n("Failed to compile the Markdown document."), -1); + mkd_free_flags(flags); + return nullptr; + } + mkd_free_flags(flags); +#endif + + char *htmlDocument; + const int size = mkd_document(markdownHandle, &htmlDocument); + + const QString html = detail::fixupHtmlTags(QString::fromUtf8(htmlDocument, size)); + + QTextDocument *textDocument = new QTextDocument; + textDocument->setPageSize(QSizeF(PAGE_WIDTH, PAGE_HEIGHT)); + textDocument->setHtml(html); + if (generator()) { + textDocument->setDefaultFont(generator()->generalSettings()->font()); + } + + mkd_cleanup(markdownHandle); + + QTextFrameFormat frameFormat; + frameFormat.setMargin(PAGE_MARGIN); + + QTextFrame *rootFrame = textDocument->rootFrame(); + rootFrame->setFrameFormat(frameFormat); + + convertImages(rootFrame, m_fileDir, textDocument); + + return textDocument; +} + +void Converter::extractLinks(QTextFrame *parent, QHash &internalLinks, QHash &documentAnchors) +{ + for (QTextFrame::iterator it = parent->begin(); !it.atEnd(); ++it) { + QTextFrame *textFrame = it.currentFrame(); + const QTextBlock textBlock = it.currentBlock(); + + if (textFrame) { + extractLinks(textFrame, internalLinks, documentAnchors); + } else if (textBlock.isValid()) { + extractLinks(textBlock, internalLinks, documentAnchors); + } + } +} + +void Converter::extractLinks(const QTextBlock &parent, QHash &internalLinks, QHash &documentAnchors) +{ + for (QTextBlock::iterator it = parent.begin(); !it.atEnd(); ++it) { + const QTextFragment textFragment = it.fragment(); + if (textFragment.isValid()) { + const QTextCharFormat textCharFormat = textFragment.charFormat(); + if (textCharFormat.isAnchor()) { + const QString href = textCharFormat.anchorHref(); + if (href.startsWith(QLatin1Char('#'))) { // It's an internal link, store it and we'll resolve it at the end + internalLinks.insert(href.mid(1), textFragment); + } else { + Okular::BrowseAction *action = new Okular::BrowseAction(QUrl(textCharFormat.anchorHref())); + Q_EMIT addAction(action, textFragment.position(), textFragment.position() + textFragment.length()); + } + + const QStringList anchorNames = textCharFormat.anchorNames(); + for (const QString &anchorName : anchorNames) { + documentAnchors.insert(anchorName, parent); + } + } + } + } +} + +void Converter::convertImages(QTextFrame *parent, const QDir &dir, QTextDocument *textDocument) +{ + for (QTextFrame::iterator it = parent->begin(); !it.atEnd(); ++it) { + QTextFrame *textFrame = it.currentFrame(); + const QTextBlock textBlock = it.currentBlock(); + + if (textFrame) { + convertImages(textFrame, dir, textDocument); + } else if (textBlock.isValid()) { + convertImages(textBlock, dir, textDocument); + } + } +} + +void Converter::convertImages(const QTextBlock &parent, const QDir &dir, QTextDocument *textDocument) +{ + for (QTextBlock::iterator it = parent.begin(); !it.atEnd(); ++it) { + const QTextFragment textFragment = it.fragment(); + if (textFragment.isValid()) { + const QTextCharFormat textCharFormat = textFragment.charFormat(); + if (textCharFormat.isImageFormat()) { + QTextImageFormat format; + + const qreal specifiedHeight = textCharFormat.toImageFormat().height(); + const qreal specifiedWidth = textCharFormat.toImageFormat().width(); + + QTextCursor cursor(textDocument); + cursor.setPosition(textFragment.position(), QTextCursor::MoveAnchor); + cursor.setPosition(textFragment.position() + textFragment.length(), QTextCursor::KeepAnchor); + + const QString imageFilePath = QDir::cleanPath(dir.absoluteFilePath(QUrl::fromPercentEncoding(textCharFormat.toImageFormat().name().toUtf8()))); + + if (QFile::exists(imageFilePath)) { + cursor.removeSelectedText(); + format.setName(imageFilePath); + const QImage img = QImage(format.name()); + + setImageSize(format, specifiedWidth, specifiedHeight, img.width(), img.height()); + + cursor.insertImage(format); + } else if ((!textCharFormat.toImageFormat().property(QTextFormat::ImageAltText).toString().isEmpty())) { + cursor.insertText(textCharFormat.toImageFormat().property(QTextFormat::ImageAltText).toString()); + } + } + } + } +} + +void Converter::setImageSize(QTextImageFormat &format, const qreal specifiedWidth, const qreal specifiedHeight, const qreal originalWidth, const qreal originalHeight) +{ + qreal width = 0; + qreal height = 0; + + const bool hasSpecifiedSize = specifiedHeight > 0 || specifiedWidth > 0; + if (hasSpecifiedSize) { + width = specifiedWidth; + height = specifiedHeight; + if (width == 0 && originalHeight > 0) { + width = originalWidth * height / originalHeight; + } else if (height == 0 && originalWidth > 0) { + height = originalHeight * width / originalWidth; + } + } else { + width = originalWidth; + height = originalHeight; + } + + if (width > CONTENT_WIDTH) { + height = height * CONTENT_WIDTH / width; + width = CONTENT_WIDTH; + } + format.setWidth(width); + format.setHeight(height); +} diff --git a/generators/markdown/converter.h b/generators/markdown/converter.h new file mode 100644 index 0000000..02af480 --- /dev/null +++ b/generators/markdown/converter.h @@ -0,0 +1,62 @@ +/* + SPDX-FileCopyrightText: 2017 Julian Wolff + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef MARKDOWN_CONVERTER_H +#define MARKDOWN_CONVERTER_H + +#include + +#include +#include + +class QTextBlock; +class QTextFrame; + +namespace Markdown +{ +class Converter : public Okular::TextDocumentConverter +{ + Q_OBJECT + +public: + Converter(); + ~Converter() override; + + QTextDocument *convert(const QString &fileName) override; + + void convertAgain(); + + void setFancyPantsEnabled(bool b) + { + m_isFancyPantsEnabled = b; + } + bool isFancyPantsEnabled() const + { + return m_isFancyPantsEnabled; + } + + QTextDocument *convertOpenFile(); + +private: + void extractLinks(QTextFrame *parent, QHash &internalLinks, QHash &documentAnchors); + void extractLinks(const QTextBlock &parent, QHash &internalLinks, QHash &documentAnchors); + void convertImages(QTextFrame *parent, const QDir &dir, QTextDocument *textDocument); + void convertImages(const QTextBlock &parent, const QDir &dir, QTextDocument *textDocument); + void setImageSize(QTextImageFormat &format, const qreal specifiedWidth, const qreal specifiedHeight, const qreal originalWidth, const qreal originalHeight); + + FILE *m_markdownFile; + QDir m_fileDir; + bool m_isFancyPantsEnabled; +}; + +namespace detail +{ +QString fixupHtmlTags(QString &&html); +} + +} + +#endif diff --git a/generators/markdown/debug_md.h b/generators/markdown/debug_md.h new file mode 100644 index 0000000..e451e86 --- /dev/null +++ b/generators/markdown/debug_md.h @@ -0,0 +1,16 @@ + +/*************************************************************************** + * SPDX-FileCopyrightText: 2006 Luigi Toscano * + * SPDX-FileCopyrightText: 2014 Frederik Gladhorn * + * * + * SPDX-License-Identifier: GPL-2.0-or-later + ***************************************************************************/ + +#ifndef OKULAR_DEBUG_MD_H +#define OKULAR_DEBUG_MD_H + +#include + +Q_DECLARE_LOGGING_CATEGORY(OkularMdDebug) + +#endif diff --git a/generators/markdown/generator_md.cpp b/generators/markdown/generator_md.cpp new file mode 100644 index 0000000..caa4e59 --- /dev/null +++ b/generators/markdown/generator_md.cpp @@ -0,0 +1,65 @@ +/* + SPDX-FileCopyrightText: 2017 Julian Wolff + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "generator_md.h" + +#include "converter.h" +#include "debug_md.h" + +#include +#include +#include + +#include + +OKULAR_EXPORT_PLUGIN(MarkdownGenerator, "libokularGenerator_md.json") + +MarkdownGenerator::MarkdownGenerator(QObject *parent, const QVariantList &args) + : Okular::TextDocumentGenerator(new Markdown::Converter, QStringLiteral("okular_markdown_generator_settings"), parent, args) +{ + Okular::TextDocumentSettings *mdSettings = generalSettings(); + + mdSettings->addItemBool(QStringLiteral("SmartyPants"), m_isFancyPantsConfigEnabled, true); + mdSettings->load(); + m_wasFancyPantsConfigEnabled = m_isFancyPantsConfigEnabled; + Markdown::Converter *c = static_cast(converter()); + c->setFancyPantsEnabled(m_isFancyPantsConfigEnabled); +} + +bool MarkdownGenerator::reparseConfig() +{ + const bool textDocumentGeneratorChangedConfig = Okular::TextDocumentGenerator::reparseConfig(); + + if (m_wasFancyPantsConfigEnabled != m_isFancyPantsConfigEnabled) { + m_wasFancyPantsConfigEnabled = m_isFancyPantsConfigEnabled; + + Markdown::Converter *c = static_cast(converter()); + c->setFancyPantsEnabled(m_isFancyPantsConfigEnabled); + if (c->document()) { + c->convertAgain(); + setTextDocument(c->document()); + } + + return true; + } + + return textDocumentGeneratorChangedConfig; +} + +void MarkdownGenerator::addPages(KConfigDialog *dlg) +{ + Okular::TextDocumentSettingsWidget *widget = new Okular::TextDocumentSettingsWidget(); + + QCheckBox *enableSmartyPants = new QCheckBox(dlg); + enableSmartyPants->setObjectName(QStringLiteral("kcfg_SmartyPants")); + widget->addRow(i18n("Enable SmartyPants formatting"), enableSmartyPants); + + dlg->addPage(widget, generalSettings(), i18n("Markdown"), QStringLiteral("text-markdown"), i18n("Markdown Backend Configuration")); +} + +Q_LOGGING_CATEGORY(OkularMdDebug, "org.kde.okular.generators.md", QtWarningMsg) + +#include "generator_md.moc" diff --git a/generators/markdown/generator_md.h b/generators/markdown/generator_md.h new file mode 100644 index 0000000..81e9a9d --- /dev/null +++ b/generators/markdown/generator_md.h @@ -0,0 +1,29 @@ +/* + SPDX-FileCopyrightText: 2017 Julian Wolff + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_GENERATOR_MD_H_ +#define _OKULAR_GENERATOR_MD_H_ + +#include + +class MarkdownGenerator : public Okular::TextDocumentGenerator +{ + Q_OBJECT + Q_INTERFACES(Okular::Generator) + +public: + MarkdownGenerator(QObject *parent, const QVariantList &args); + + // [INHERITED] reparse configuration + bool reparseConfig() override; + void addPages(KConfigDialog *dlg) override; + +private: + bool m_isFancyPantsConfigEnabled = true; + bool m_wasFancyPantsConfigEnabled = true; +}; + +#endif diff --git a/generators/markdown/libokularGenerator_md.json b/generators/markdown/libokularGenerator_md.json new file mode 100644 index 0000000..6626560 --- /dev/null +++ b/generators/markdown/libokularGenerator_md.json @@ -0,0 +1,166 @@ +{ + "KPlugin": { + "Authors": [ + { + "Email": "wolff@julianwolff.de", + "Name": "Julian Wolff", + "Name[ar]": "Julian Wolff", + "Name[az]": "Julian Wolff", + "Name[be]": "Julian Wolff", + "Name[bg]": "Julian Wolff", + "Name[ca@valencia]": "Julian Wolff", + "Name[ca]": "Julian Wolff", + "Name[cs]": "Julian Wolff", + "Name[da]": "Julian Wolff", + "Name[de]": "Julian Wolff", + "Name[el]": "Julian Wolff", + "Name[en_GB]": "Julian Wolff", + "Name[eo]": "Julian Wolff", + "Name[es]": "Julian Wolff", + "Name[et]": "Julian Wolff", + "Name[eu]": "Julian Wolff", + "Name[fi]": "Julian Wolff", + "Name[fr]": "Julian Wolff", + "Name[gl]": "Julian Wolff", + "Name[he]": "יוליאן וולף", + "Name[hu]": "Julian Wolff", + "Name[ia]": "Julian Wolff", + "Name[ie]": "Julian Wolff", + "Name[is]": "Julian Wolff", + "Name[it]": "Julian Wolff", + "Name[ka]": "Julian Wolff", + "Name[ko]": "Julian Wolff", + "Name[lt]": "Julian Wolff", + "Name[lv]": "Julian Wolff", + "Name[nl]": "Julian Wolff", + "Name[nn]": "Julian Wolff", + "Name[pl]": "Julian Wolff", + "Name[pt]": "Julian Wolff", + "Name[pt_BR]": "Juliano", + "Name[ro]": "Julian Wolff", + "Name[ru]": "Julian Wolff", + "Name[sa]": "जूलियन वोल्फ", + "Name[sk]": "Julian Wolff", + "Name[sl]": "Julian Wolff", + "Name[sr@ijekavian]": "Јулијан Волф", + "Name[sr@ijekavianlatin]": "Julijan Volf", + "Name[sr@latin]": "Julijan Volf", + "Name[sr]": "Јулијан Волф", + "Name[sv]": "Julian Wolff", + "Name[tr]": "Julian Wolff", + "Name[uk]": "Julian Wolff", + "Name[vi]": "Julian Wolff", + "Name[zh_CN]": "Julian Wolff", + "Name[zh_TW]": "Julian Wolff" + } + ], + "Copyright": "© 2017 Julian Wolff", + "Copyright[ar]": "© 2017 Julian Wolff", + "Copyright[az]": "© 2017 Julian Wolff", + "Copyright[be]": "© 2017 Julian Wolff", + "Copyright[bg]": "© 2017 Julian Wolff", + "Copyright[ca@valencia]": "© 2017 Julian Wolff", + "Copyright[ca]": "© 2017 Julian Wolff", + "Copyright[cs]": "© 2017 Julian Wolff", + "Copyright[da]": "© 2017 Julian Wolff", + "Copyright[de]": "© 2017 Julian Wolff", + "Copyright[el]": "© 2017 Julian Wolff", + "Copyright[en_GB]": "© 2017 Julian Wolff", + "Copyright[eo]": "© 2017 Julian Wolff", + "Copyright[es]": "© 2017 Julian Wolff", + "Copyright[et]": "© 2017: Julian Wolff", + "Copyright[eu]": "© 2017 Julian Wolff", + "Copyright[fi]": "© 2017 Julian Wolff", + "Copyright[fr]": "© 2017 Julian Wolff", + "Copyright[gl]": "© 2017 Julian Wolff", + "Copyright[he]": "© 2017 יוליאן וולף", + "Copyright[hu]": "© Julian Wolff, 2017.", + "Copyright[ia]": "© 2017 Julian Wolff", + "Copyright[ie]": "© 2017 Julian Wolff", + "Copyright[is]": "© 2017 Julian Wolff", + "Copyright[it]": "© 2017 Julian Wolff", + "Copyright[ka]": "© 2017 Julian Wolff", + "Copyright[ko]": "© 2017 Julian Wolff", + "Copyright[lt]": "© 2017 Julian Wolff", + "Copyright[lv]": "© 2017 Julian Wolff", + "Copyright[nl]": "© 2017 Julian Wolff", + "Copyright[nn]": "© 2017 Julian Wolff", + "Copyright[pa]": "© 2017 Julian Wolff", + "Copyright[pl]": "© 2017 Julian Wolff", + "Copyright[pt]": "© 2017 Julian Wolff", + "Copyright[pt_BR]": "© 2017 Julian Wolff", + "Copyright[ro]": "© 2017 Julian Wolff", + "Copyright[ru]": "© Julian Wolff, 2017", + "Copyright[sa]": "© 2017 जूलियन वोल्फ", + "Copyright[sk]": "© 2017 Julian Wolff", + "Copyright[sl]": "© 2017 Julian Wolff", + "Copyright[sr@ijekavian]": "© 2017, Јулијан Волф", + "Copyright[sr@ijekavianlatin]": "© 2017, Julijan Volf", + "Copyright[sr@latin]": "© 2017, Julijan Volf", + "Copyright[sr]": "© 2017, Јулијан Волф", + "Copyright[sv]": "© 2017 Julian Wolff", + "Copyright[tr]": "© 2017 Julian Wolff", + "Copyright[uk]": "© Julian Wolff, 2017", + "Copyright[vi]": "© 2017 Julian Wolff", + "Copyright[zh_CN]": "© 2017 Julian Wolff", + "Copyright[zh_TW]": "© 2017 Julian Wolff", + "License": "GPL", + "MimeTypes": [ + "text/markdown", + "text/x-markdown" + ], + "Name": "Markdown Backend", + "Name[ar]": "خلفية مارك داون", + "Name[az]": "Markdown modulu", + "Name[be]": "Рухавік Markdown", + "Name[bg]": "Бекенд на Markdown", + "Name[ca@valencia]": "Dorsal Markdown", + "Name[ca]": "Dorsal Markdown", + "Name[cs]": "Podpůrná vrstva Markdown", + "Name[da]": "Markdown-backend", + "Name[de]": "Anzeigemodul für Markdown", + "Name[el]": "Σύστημα υποστήριξης markdown", + "Name[en_GB]": "Markdown Backend", + "Name[eo]": "Markdown-Backend", + "Name[es]": "Motor para Markdown", + "Name[et]": "Markdowni taustaprogramm", + "Name[eu]": "Markdown-en bizkarraldekoa", + "Name[fi]": "Markdown-taustaosa", + "Name[fr]": "Moteur de Markdown", + "Name[gl]": "Motor de Markdown", + "Name[he]": "מנגנון Markdown", + "Name[hu]": "Markdown modul", + "Name[ia]": "Retro-Administration Markdown", + "Name[ie]": "Infrastructura Markdown", + "Name[is]": "Markdown-bakendi", + "Name[it]": "Backend Markdown", + "Name[ka]": "Markdown უკანაბოლო", + "Name[ko]": "Markdown 백엔드", + "Name[lt]": "Markdown programinė sąsaja", + "Name[lv]": "Markdown aizmugursistēma", + "Name[nl]": "Markdown-backend", + "Name[nn]": "Markdown-motor", + "Name[pl]": "Obsługa Markdown", + "Name[pt]": "Infra-Estrutura de Markdown", + "Name[pt_BR]": "Infraestrutura Markdown", + "Name[ro]": "Platformă Markdown", + "Name[ru]": "Модуль поддержки формата Markdown", + "Name[sa]": "Markdown Backend इति", + "Name[sk]": "Markdown backend", + "Name[sl]": "Zaledje za Markdown", + "Name[sr@ijekavian]": "Позадина за маркдаун", + "Name[sr@ijekavianlatin]": "Pozadina za Markdown", + "Name[sr@latin]": "Pozadina za Markdown", + "Name[sr]": "Позадина за маркдаун", + "Name[sv]": "Markdown-gränssnitt", + "Name[tr]": "Markdown Arka Ucu", + "Name[uk]": "Модуль Markdown", + "Name[vi]": "Hậu phương Markdown", + "Name[zh_CN]": "Markdown 后端程序", + "Name[zh_TW]": "Markdown 後端介面", + "Version": "0.1.0" + }, + "X-KDE-Priority": 1, + "X-KDE-okularAPIVersion": 1, + "X-KDE-okularHasInternalSettings": true +} diff --git a/generators/markdown/okularApplication_md.desktop b/generators/markdown/okularApplication_md.desktop new file mode 100644 index 0000000..9d58a81 --- /dev/null +++ b/generators/markdown/okularApplication_md.desktop @@ -0,0 +1,251 @@ +[Desktop Entry] +MimeType=text/markdown; +Terminal=false +Name=Okular +Name[ar]=اوكلار +Name[az]=Okular +Name[be]=Okular +Name[bg]=Okular +Name[bs]=Okular +Name[ca]=Okular +Name[ca@valencia]=Okular +Name[cs]=Okular +Name[da]=Okular +Name[de]=Okular +Name[el]=Okular +Name[en_GB]=Okular +Name[eo]=Okular +Name[es]=Okular +Name[et]=Okular +Name[eu]=Okular +Name[fi]=Okular +Name[fr]=Okular +Name[ga]=Okular +Name[gl]=Okular +Name[he]=Okular +Name[hne]=ओकुलर +Name[hr]=Okular +Name[hu]=Okular +Name[ia]=Okular +Name[ie]=Okular +Name[is]=Okular +Name[it]=Okular +Name[ja]=Okular +Name[ka]=Okular +Name[kk]=Okular +Name[km]=Okular +Name[ko]=Okular +Name[ku]=Okular +Name[lt]=Okular +Name[lv]=Okular +Name[mr]=ओक्युलर +Name[nb]=Okular +Name[nds]=Okular +Name[nl]=Okular +Name[nn]=Okular +Name[pa]=ਓਕੁਲਾਰ +Name[pl]=Okular +Name[pt]=Okular +Name[pt_BR]=Okular +Name[ro]=Okular +Name[ru]=Okular +Name[sa]=नेत्रस्य +Name[si]=Okular +Name[sk]=Okular +Name[sl]=Okular +Name[sq]=Okular +Name[sr]=Окулар +Name[sr@ijekavian]=Окулар +Name[sr@ijekavianlatin]=Okular +Name[sr@latin]=Okular +Name[sv]=Okular +Name[ta]=ஆக்குலர் +Name[th]=โอกูลาร์ +Name[tr]=Okular +Name[ug]=Okular +Name[uk]=Okular +Name[vi]=Okular +Name[zh_CN]=Okular 文档查看器 +Name[zh_TW]=Okular +GenericName=Document Viewer +GenericName[ar]=عارض المستندات +GenericName[az]=Sənədə baxış vasitısi +GenericName[be]=Сродак для прагляду дакументаў +GenericName[bg]=Преглед на документи +GenericName[bs]=Prikazivač dokumenata +GenericName[ca]=Visualitzador de documents +GenericName[ca@valencia]=Visor de documents +GenericName[cs]=Prohlížeč dokumentů +GenericName[da]=Dokumentfremviser +GenericName[de]=Dokumentenbetrachter +GenericName[el]=Προβολέας εγγράφων +GenericName[en_GB]=Document Viewer +GenericName[eo]=Dokumenta rigardilo +GenericName[es]=Visor de documentos +GenericName[et]=Dokumendinäitaja +GenericName[eu]=Dokumentu erakuslea +GenericName[fa]=مشاهده‌گر سند +GenericName[fi]=Asiakirjakatselin +GenericName[fr]=Afficheur de documents +GenericName[ga]=Amharcán Cáipéisí +GenericName[gl]=Visor de documentos +GenericName[he]=מציג מסמכים +GenericName[hi]=दस्तावेज़ प्रदर्शक +GenericName[hne]=कागद प्रदर्सक +GenericName[hr]=Preglednik dokumenata +GenericName[hu]=Dokumentummegjelenítő +GenericName[ia]=Visor de documento +GenericName[ie]=Visor de documentes +GenericName[is]=Skjalaskoðari +GenericName[it]=Visore di documenti +GenericName[ja]=文書ビューア +GenericName[ka]=დოკუმენტების მნახველი +GenericName[kk]=Құжатты қарау құралы +GenericName[km]=កម្មវិធី​មើល​ឯកសារ +GenericName[ko]=문서 뷰어 +GenericName[ku]=Nîşanderê Belgeyan +GenericName[lt]=Dokumentų žiÅ«ryklė +GenericName[lv]=Dokumentu skatÄ«tājs +GenericName[mr]=दस्तऐवज प्रदर्शक +GenericName[nb]=Dokumentviser +GenericName[nds]=Dokmentkieker +GenericName[ne]=कागजात दर्शक +GenericName[nl]=Documentenviewer +GenericName[nn]=Dokumentvisar +GenericName[oc]=Visualizaire de documents +GenericName[pa]=ਡੌਕੂਮੈਂਟ ਦਰਸ਼ਕ +GenericName[pl]=Przeglądarka dokumentów +GenericName[pt]=Visualizador de Documentos +GenericName[pt_BR]=Visualizador de documentos +GenericName[ro]=Vizualizor de documente +GenericName[ru]=Просмотр документов +GenericName[sa]=दस्तावेज दर्शक +GenericName[sk]=Prehliadač dokumentov +GenericName[sl]=Pregledovalnik dokumentov +GenericName[sq]=Shikues dokumentesh +GenericName[sr]=Приказивач докумената +GenericName[sr@ijekavian]=Приказивач докумената +GenericName[sr@ijekavianlatin]=Prikazivač dokumenata +GenericName[sr@latin]=Prikazivač dokumenata +GenericName[sv]=Dokumentvisare +GenericName[ta]=ஆவணங் காட்டி +GenericName[th]=เครื่องมือแสดงเอกสาร +GenericName[tr]=Belge Görüntüleyicisi +GenericName[ug]=پۈتۈك كۆرگۈ +GenericName[uk]=Переглядач документів +GenericName[vi]=Trình xem tài liệu +GenericName[zh_CN]=文档查看器 +GenericName[zh_TW]=文件檢視器 +Comment=Universal document viewer +Comment[ar]=عارض المستندات عالمي +Comment[az]=Sənədə universal baxış vasitəsi +Comment[be]=Універсальны сродак для прагляду дакументаў +Comment[bg]=Универсална програма за преглед на документи +Comment[ca]=Visualitzador universal de documents +Comment[ca@valencia]=Visor universal de documents +Comment[cs]=Univerzální prohlížeč dokumentů +Comment[da]=Universel dokumentfremviser +Comment[de]=Universeller Dokumentenbetrachter +Comment[el]=Καθολικός προβολέας εγγράφων +Comment[en_GB]=Universal document viewer +Comment[eo]=Universala dokumenta spektilo +Comment[es]=Visor de documentos universal +Comment[et]=Universaalne dokumendinäitaja +Comment[eu]=Dokumentu erakusle unibertsala +Comment[fi]=Yleinen asiakirjakatselin +Comment[fr]=Afficheur de document universel +Comment[gl]=Visor de documentos universal. +Comment[he]=מציג מסמכים אוניברסלי +Comment[hu]=Univerzális dokumentummegjelenítő +Comment[ia]=Visor de documento universal +Comment[ie]=Universal visor de documentes +Comment[is]=Fjölhæfur skjalaskoðari +Comment[it]=Visore di documenti universale +Comment[ja]=多用途な文書ビューア +Comment[ka]=დოკუმენტების პოპულარული ფორმატების გამხსნელი +Comment[ko]=만능 문서 뷰어 +Comment[lt]=Universali dokumentų žiÅ«ryklė +Comment[lv]=Universāls dokumentu skatÄ«tājs +Comment[nl]=Universele documentviewer +Comment[nn]=Dokumentvisar for mange format +Comment[pa]=ਯੂਨੀਵਰਸਲ ਡੌਕੂਮੈਂਟ ਦਰਸ਼ਕ +Comment[pl]=Wszechstronna przeglądarka dokumentów +Comment[pt]=Visualizador de documentos universal +Comment[pt_BR]=Visualizador de documentos universal +Comment[ro]=Vizualizor de documente universal +Comment[ru]=Универсальная программа просмотра документов +Comment[sa]=सार्वभौमिक दस्तावेज दर्शक +Comment[sk]=Univerzálny prehliadač dokumentov +Comment[sl]=Vsestranski pregledovalnik dokumentov +Comment[sq]=Shikues univerzal dokumentesh +Comment[sr]=Универзални приказивач докумената +Comment[sr@ijekavian]=Универзални приказивач докумената +Comment[sr@ijekavianlatin]=Univerzalni prikazivač dokumenata +Comment[sr@latin]=Univerzalni prikazivač dokumenata +Comment[sv]=Generell dokumentvisare +Comment[ta]=அனைத்து ஆவணங்களுக்கான காட்டி +Comment[tr]=Çok amaçlı belge görüntüleyicisi +Comment[uk]=Універсальний переглядач документів +Comment[vi]=Trình xem tài liệu vạn năng +Comment[zh_CN]=通用文档查看器 +Comment[zh_TW]=通用文件檢視器 +Exec=okular %U +Icon=okular +Type=Application +InitialPreference=7 +Categories=Qt;KDE;Graphics;Viewer; +NoDisplay=true +X-KDE-Keywords=Markdown +X-KDE-Keywords[ar]=مارك‌داون +X-KDE-Keywords[az]=Markdown +X-KDE-Keywords[be]=Markdown +X-KDE-Keywords[bg]=Markdown +X-KDE-Keywords[ca]=Markdown +X-KDE-Keywords[ca@valencia]=Markdown +X-KDE-Keywords[cs]=Markdown +X-KDE-Keywords[da]=Markdown +X-KDE-Keywords[de]=Markdown +X-KDE-Keywords[el]=Markdown +X-KDE-Keywords[en_GB]=Markdown +X-KDE-Keywords[eo]=Markdown +X-KDE-Keywords[es]=Markdown +X-KDE-Keywords[et]=Markdown +X-KDE-Keywords[eu]=Markdown +X-KDE-Keywords[fi]=Markdown +X-KDE-Keywords[fr]=Markdown +X-KDE-Keywords[gl]=Markdown +X-KDE-Keywords[he]=Markdown +X-KDE-Keywords[hu]=Markdown +X-KDE-Keywords[ia]=Markdown +X-KDE-Keywords[ie]=Markdown +X-KDE-Keywords[is]=Markdown +X-KDE-Keywords[it]=Markdown +X-KDE-Keywords[ja]=Markdown +X-KDE-Keywords[ka]=Markdown +X-KDE-Keywords[ko]=Markdown +X-KDE-Keywords[lt]=Markdown +X-KDE-Keywords[lv]=Markdown +X-KDE-Keywords[nl]=Markdown +X-KDE-Keywords[nn]=Markdown +X-KDE-Keywords[pa]=ਮਾਰਕ-ਡਾਊਨ +X-KDE-Keywords[pl]=Markdown +X-KDE-Keywords[pt]=Markdown +X-KDE-Keywords[pt_BR]=Markdown +X-KDE-Keywords[ro]=Markdown +X-KDE-Keywords[ru]=Markdown +X-KDE-Keywords[sa]=मार्कडाउन +X-KDE-Keywords[sk]=Markdown +X-KDE-Keywords[sl]=Markdown +X-KDE-Keywords[sq]=Markdown +X-KDE-Keywords[sr]=Markdown,маркдаун +X-KDE-Keywords[sr@ijekavian]=Markdown,маркдаун +X-KDE-Keywords[sr@ijekavianlatin]=Markdown,Markdown +X-KDE-Keywords[sr@latin]=Markdown,Markdown +X-KDE-Keywords[sv]=Markdown +X-KDE-Keywords[ta]=Markdown, மார்க்டவுன் +X-KDE-Keywords[tr]=Markdown +X-KDE-Keywords[uk]=Markdown +X-KDE-Keywords[vi]=Markdown +X-KDE-Keywords[zh_CN]=Markdown +X-KDE-Keywords[zh_TW]=Markdown +X-KDE-AliasFor=org.kde.okular.desktop diff --git a/generators/markdown/org.kde.mobile.okular_md.desktop b/generators/markdown/org.kde.mobile.okular_md.desktop new file mode 100644 index 0000000..1e286ac --- /dev/null +++ b/generators/markdown/org.kde.mobile.okular_md.desktop @@ -0,0 +1,244 @@ +[Desktop Entry] +MimeType=text/markdown; +Name=Reader +Name[ar]=التصيير +Name[az]=Oxuyucu +Name[be]=Сродак чытання +Name[bg]=Четец +Name[bs]=Čitač +Name[ca]=Lector +Name[ca@valencia]=Lector +Name[cs]=Čtečka +Name[da]=Læser +Name[de]=Lesegerät +Name[el]=Πρόγραμμα ανάγνωσης +Name[en_GB]=Reader +Name[eo]=Legilo +Name[es]=Lector +Name[et]=Lugeja +Name[eu]=Irakurlea +Name[fi]=Lukija +Name[fr]=Lecteur +Name[ga]=Léitheoir +Name[gl]=Lector +Name[he]=קורא +Name[hu]=Olvasó +Name[ia]=Lector +Name[ie]=Letor +Name[is]=Lesari +Name[it]=Lettore +Name[ja]=リーダ +Name[ka]=მკითხველი +Name[kk]=Оқу құралы +Name[ko]=리더 +Name[lt]=Skaitytuvas +Name[lv]=LasÄ«tājs +Name[mr]=वाचक +Name[nb]=Leser +Name[nds]=Leser +Name[nl]=Lezer +Name[nn]=Lesar +Name[pa]=ਰੀਡਰ +Name[pl]=Czytnik +Name[pt]=Leitor +Name[pt_BR]=Leitor +Name[ro]=Cititor +Name[ru]=Просмотрщик +Name[sa]=पाठकः +Name[sk]=Čítačka +Name[sl]=Bralnik +Name[sq]=Reader +Name[sr]=Читач +Name[sr@ijekavian]=Читач +Name[sr@ijekavianlatin]=Čitač +Name[sr@latin]=Čitač +Name[sv]=Läsprogram +Name[ta]=காட்டி +Name[tr]=Okuyucu +Name[ug]=ئوقۇغۇ +Name[uk]=Переглядач +Name[vi]=Trình đọc +Name[zh_CN]=阅读器 +Name[zh_TW]=閱讀器 +GenericName=Document viewer +GenericName[ar]=عارض المستندات +GenericName[az]=Sənədə baxış vasitısi +GenericName[be]=Сродак для прагляду дакументаў +GenericName[bg]=Преглед на документи +GenericName[bs]=Prikazivač dokumenata +GenericName[ca]=Visualitzador de documents +GenericName[ca@valencia]=Visor de documents +GenericName[cs]=Prohlížeč dokumentů +GenericName[da]=Dokumentfremviser +GenericName[de]=Dokumentenbetrachter +GenericName[el]=Προβολέας εγγράφων +GenericName[en_GB]=Document Viewer +GenericName[eo]=Dokumentrigardilo +GenericName[es]=Visor de documentos +GenericName[et]=Dokumendinäitaja +GenericName[eu]=Dokumentu erakuslea +GenericName[fi]=Asiakirjakatselin +GenericName[fr]=Afficheur de document +GenericName[ga]=Amharcán cáipéisí +GenericName[gl]=Visor de documentos +GenericName[he]=מציג מסמכים +GenericName[hi]=दस्तावेज़ प्रदर्शक +GenericName[hu]=Dokumentummegjelenítő +GenericName[ia]=Visor de documento +GenericName[ie]=Visor de documentes +GenericName[is]=Skjalaskoðari +GenericName[it]=Visore di documenti +GenericName[ja]=文書ビューア +GenericName[ka]=დოკუმენტების მნახველი +GenericName[kk]=Құжатты қарау құралы +GenericName[ko]=문서 뷰어 +GenericName[lt]=Dokumentų žiÅ«ryklė +GenericName[lv]=Dokumentu skatÄ«tājs +GenericName[mr]=दस्तऐवज प्रदर्शक +GenericName[nb]=Dokumentviser +GenericName[nds]=Dokmentkieker +GenericName[nl]=Documentenviewer +GenericName[nn]=Dokumentvisar +GenericName[pa]=ਡੌਕੂਮੈਂਟ ਦਰਸ਼ਕ +GenericName[pl]=Przeglądarka dokumentów +GenericName[pt]=Visualizador de documentos +GenericName[pt_BR]=Visualizador de documentos +GenericName[ro]=Vizualizor de documente +GenericName[ru]=Просмотр документов +GenericName[sa]=दस्तावेजदर्शकः +GenericName[sk]=Prehliadač dokumentov +GenericName[sl]=Pregledovalnik dokumentov +GenericName[sq]=Shikues dokumentesh +GenericName[sr]=Приказивач докумената +GenericName[sr@ijekavian]=Приказивач докумената +GenericName[sr@ijekavianlatin]=Prikazivač dokumenata +GenericName[sr@latin]=Prikazivač dokumenata +GenericName[sv]=Dokumentvisare +GenericName[ta]=ஆவணங் காட்டி +GenericName[tr]=Belge Görüntüleyicisi +GenericName[uk]=Переглядач документів +GenericName[vi]=Trình xem tài liệu +GenericName[zh_CN]=文档查看器 +GenericName[zh_TW]=文件檢視器 +Comment=Viewer for various types of documents +Comment[ar]=عارض للعديد من أنواع المستندات +Comment[az]=Müxtəlif növlü sənədlər üçün görüntüləyici +Comment[be]=Сродак для прагляду разнастайных тыпаў дакументаў +Comment[bg]=Преглед на различни видове документи +Comment[bs]=Pregledač raznih vrsta dokumenata +Comment[ca]=Visualitzador de diversos tipus de documents +Comment[ca@valencia]=Visor de diversos tipus de documents +Comment[cs]=Prohlížeč různých typů dokumentů +Comment[da]=Fremviser af diverse dokumenttyper +Comment[de]=Betrachter für verschiedene Arten von Dokumenten +Comment[el]=Πρόγραμμα προβολής για διάφορους τύπους εγγράφων +Comment[en_GB]=Viewer for various types of documents +Comment[eo]=Vidilo por diversaj specoj de dokumentoj +Comment[es]=Visor de diversos tipos de documentos +Comment[et]=Eri tüüpi dokumentide näitaja +Comment[eu]=Hainbat dokumentu moten erakuslea +Comment[fi]=Monenlaisten asiakirjojen katseluohjelma +Comment[fr]=Afficheur pour différents types de documents +Comment[ga]=Amharcán le haghaidh cáipéisí éagsúla +Comment[gl]=Visor de varios tipos de documentos. +Comment[he]=מציג למגוון סוגי מסמכים +Comment[hu]=Megjelenítő különféle típusú dokumentumokhoz +Comment[ia]=Visor pro varie typos de documento +Comment[ie]=Visor por varie tipes de documentes +Comment[is]=Skoðari fyrir ýmsar gerðir skjala +Comment[it]=Visore per vari tipi di documenti +Comment[ja]=様々なタイプの文書のためのビューア +Comment[ka]=სხვადასხვა ტიპების დოკუმენტების დათვალიერება +Comment[kk]=Түрлі құжаттар қарау құралы +Comment[ko]=여러 형식의 문서 뷰어 +Comment[lt]=ŽiÅ«ryklė įvairiems dokumentų tipams +Comment[lv]=Dažādu dokumentu tipu skatÄ«tājs +Comment[mr]=विविध प्रकारच्या दस्तऐवजांचा प्रदर्शक +Comment[nb]=Framviser for forskjellige dokumenttyper +Comment[nds]=Kieker för en Reeg Dokmenttypen +Comment[nl]=Viewer voor verschillende typen documenten +Comment[nn]=Framvisar for forskjellige dokumenttypar +Comment[pa]=ਕਈ ਕਿਸਮ ਦੇ ਡੌਕੂਮੈਂਟ ਵੇਖਾਉਣ ਲਈ ਦਰਸ਼ਕ +Comment[pl]=Przeglądarka dla różnych typów dokumentów +Comment[pt]=Visualizador de vários tipos de documentos +Comment[pt_BR]=Visualizador para vários tipos de documentos +Comment[ro]=Vizualizor pentru diferite tipuri de documente +Comment[ru]=Программа для просмотра различных типов документов +Comment[sa]=विभिन्नप्रकारस्य दस्तावेजानां कृते दर्शकः +Comment[sk]=Prehliadač pre rôzne typy dokumentov +Comment[sl]=Pregledovalnik raznih vrst dokumentov +Comment[sq]=Shikues për lloje të ndryshme të dokumentave +Comment[sr]=Приказивач различитих врста докумената +Comment[sr@ijekavian]=Приказивач различитих врста докумената +Comment[sr@ijekavianlatin]=Prikazivač različitih vrsta dokumenata +Comment[sr@latin]=Prikazivač različitih vrsta dokumenata +Comment[sv]=Visningsprogram för diverse typer av dokument +Comment[ta]=பலவகையான ஆவணங்களுக்கான காட்டி +Comment[tr]=Çeşitli belge türleri için görüntüleyici +Comment[ug]=ھەر خىل تىپتىكى پۈتۈكلەرنى كۆرىدىغان پروگرامما +Comment[uk]=Програма для перегляду документів різних типів +Comment[vi]=Trình xem các kiểu tài liệu khác nhau +Comment[zh_CN]=支持查看多种文档类型 +Comment[zh_TW]=多種型態文件的檢視器 +TryExec=okularkirigami +Exec=okularkirigami %u +Terminal=false +Icon=okular +Type=Application +Categories=Qt;KDE;Graphics;Office;Viewer; +InitialPreference=2 +NoDisplay=true +X-KDE-Keywords=Markdown +X-KDE-Keywords[ar]=مارك‌داون +X-KDE-Keywords[az]=Markdown +X-KDE-Keywords[be]=Markdown +X-KDE-Keywords[bg]=Markdown +X-KDE-Keywords[ca]=Markdown +X-KDE-Keywords[ca@valencia]=Markdown +X-KDE-Keywords[cs]=Markdown +X-KDE-Keywords[da]=Markdown +X-KDE-Keywords[de]=Markdown +X-KDE-Keywords[el]=Markdown +X-KDE-Keywords[en_GB]=Markdown +X-KDE-Keywords[eo]=Markdown +X-KDE-Keywords[es]=Markdown +X-KDE-Keywords[et]=Markdown +X-KDE-Keywords[eu]=Markdown +X-KDE-Keywords[fi]=Markdown +X-KDE-Keywords[fr]=Markdown +X-KDE-Keywords[gl]=Markdown +X-KDE-Keywords[he]=Markdown +X-KDE-Keywords[hu]=Markdown +X-KDE-Keywords[ia]=Markdown +X-KDE-Keywords[ie]=Markdown +X-KDE-Keywords[is]=Markdown +X-KDE-Keywords[it]=Markdown +X-KDE-Keywords[ja]=Markdown +X-KDE-Keywords[ka]=Markdown +X-KDE-Keywords[ko]=Markdown +X-KDE-Keywords[lt]=Markdown +X-KDE-Keywords[lv]=Markdown +X-KDE-Keywords[nl]=Markdown +X-KDE-Keywords[nn]=Markdown +X-KDE-Keywords[pa]=ਮਾਰਕ-ਡਾਊਨ +X-KDE-Keywords[pl]=Markdown +X-KDE-Keywords[pt]=Markdown +X-KDE-Keywords[pt_BR]=Markdown +X-KDE-Keywords[ro]=Markdown +X-KDE-Keywords[ru]=Markdown +X-KDE-Keywords[sa]=मार्कडाउन +X-KDE-Keywords[sk]=Markdown +X-KDE-Keywords[sl]=Markdown +X-KDE-Keywords[sq]=Markdown +X-KDE-Keywords[sr]=Markdown,маркдаун +X-KDE-Keywords[sr@ijekavian]=Markdown,маркдаун +X-KDE-Keywords[sr@ijekavianlatin]=Markdown,Markdown +X-KDE-Keywords[sr@latin]=Markdown,Markdown +X-KDE-Keywords[sv]=Markdown +X-KDE-Keywords[ta]=Markdown, மார்க்டவுன் +X-KDE-Keywords[tr]=Markdown +X-KDE-Keywords[uk]=Markdown +X-KDE-Keywords[vi]=Markdown +X-KDE-Keywords[zh_CN]=Markdown +X-KDE-Keywords[zh_TW]=Markdown +X-KDE-AliasFor=org.kde.okular.kirigami.desktop diff --git a/generators/markdown/org.kde.okular-md.metainfo.xml b/generators/markdown/org.kde.okular-md.metainfo.xml new file mode 100644 index 0000000..1c6530c --- /dev/null +++ b/generators/markdown/org.kde.okular-md.metainfo.xml @@ -0,0 +1,139 @@ + + + org.kde.okular-md + org.kde.okular.desktop + CC0-1.0 + GPL-2.0+ and GFDL-1.3 + Markdown + مارك‌داون + Markdown + Markdown + Markdown + Markdown + Markdown + Markdown + Markdown + Markdown + Markdown + Markdown + Markdown + Markdown + Markdown + Markdown + Markdown + Markdown + Markdown + Markdown + मार्कडाउन + Markdown + Markdown + Markdown + Markdown + Markdown + Markdown + Markdown + Markdown + Markdown + മാർക്ഡൗൺ + Markdown + Markdown + Markdown + Markdown + Markdown + Markdown + Markdown + मार्कडाउन + Markdown + Markdown + Маркдаун + Markdown + Маркдаун + Markdown + Markdown + Markdown + Markdown + Markdown + Markdown + Markdown + Markdown + Adds support for reading Markdown documents + يضيف دعم لقراءة مستندات مارك‌داون + Markdown sənədlərini oxumaq üçün dəstək əlavə edir + Падтрымка чытання дакументаў Markdown + Добавя поддръжка за четене на Markdown документи + Afegeix la implementació per a llegir documents en Markdown + Afig la implementació per a llegir documents en Markdown + Přidává podporu pro čtení dokumentů Markdown + Bietet Unterstützung zum Lesen von Markdown-Dokumenten + Προσθέτει υποστήριξη για ανάγνωση Markdown εγγράφων + Adds support for reading Markdown documents + Aldonas subtenon por legi Markdown-dokumentojn + Permite la lectura de documentos Markdown + Markdowni dokumentide lugemise toetuse lisamine + Markdown dokumentuak irakurtzeko euskarria gehitzen du + Lisää Markdown-tiedostojen lukutuen + Permet la lecture des documents Markdown + Engade a posibilidade de ler documentos Markdown + מוסיף תמיכה בקריאת מסמכי Markdown + मार्कडाउन दस्तावेज़ पढ़ने के लिए समर्थन जोड़ता है + Támogatás Markdown dokumentumok olvasásához + Adde supporto per leger documentos Markdown + Adjunte li supporte de letion de documentes Markdown + Bætir við stuðningi til að lesa Markdown-skjöl + Aggiunge il supporto per la lettura di documenti Markdown + Markdown -ის დოკუმენტების კითხვის მხარდაჭერის დამატება + Markdown 문서 읽기 지원 추가 + Prideda palaikymą Markdown dokumentų skaitymui + Pievieno atbalstu „Markdown“ dokumentu lasīšanai + മാർക്ഡൗൺ പ്രമാണങ്ങൾ വായിക്കുന്നതിനുള്ള പിന്തുണ ചേർക്കുന്നു + Voegt ondersteuning voor lezen van Markdown-documenten toe + Legg til støtte for Ã¥ lesa Markdown-dokument + Dodaje obsługę dokumentów Markdown + Adiciona o suporte para a leitura de documentos em Markdown + Adiciona o suporte para leitura de documentos em Markdown + Adaugă suport pentru citirea documentelor Markdown + Поддержка чтения документов Markdown + Markdown दस्तावेजान् पठितुं समर्थनं योजयति + Pridá podporu pre čítanie Markdown dokumentov + Doda podporo za branje dokumentov Markdown + Подршка за читање маркдаун докумената + PodrÅ¡ka za čitanje Markdown dokumenata + Подршка за читање маркдаун докумената + PodrÅ¡ka za čitanje Markdown dokumenata + Lägger till stöd för att läsa Markdown-dokument + Markdown ஆவணங்களைப் படிப்பதற்கான ஆதரவை சேர்க்கும் + Markdown belgelerini okuma desteği ekler + Додає підтримку читання документів Markdown + Thêm hỗ trợ đọc tài liệu Markdown + 增加对 Markdown 文档的阅读支持 + 增加讀取 Markdown 文件的支援 + + text/markdown + + https://okular.kde.org + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/generators/mobipocket/CMakeLists.txt b/generators/mobipocket/CMakeLists.txt new file mode 100644 index 0000000..cdefc11 --- /dev/null +++ b/generators/mobipocket/CMakeLists.txt @@ -0,0 +1,23 @@ +remove_definitions(-DTRANSLATION_DOMAIN="okular") +add_definitions(-DTRANSLATION_DOMAIN="okular_mobi") + +########### next target ############### + +set(okularGenerator_mobi_PART_SRCS + mobidocument.cpp + generator_mobi.cpp + converter.cpp +) + +okular_add_generator(okularGenerator_mobi ${okularGenerator_mobi_PART_SRCS}) + +target_link_libraries(okularGenerator_mobi okularcore QMobipocket6 KF6::I18n Qt6::Gui) + +########### install files ############### +if (BUILD_DESKTOP) + install( PROGRAMS okularApplication_mobi.desktop DESTINATION ${KDE_INSTALL_APPDIR} ) +endif() +if (BUILD_MOBILE) + install( PROGRAMS org.kde.mobile.okular_mobi.desktop DESTINATION ${KDE_INSTALL_APPDIR} ) +endif() +install( FILES org.kde.okular-mobipocket.metainfo.xml DESTINATION ${KDE_INSTALL_METAINFODIR} ) diff --git a/generators/mobipocket/Messages.sh b/generators/mobipocket/Messages.sh new file mode 100755 index 0000000..6e6c94f --- /dev/null +++ b/generators/mobipocket/Messages.sh @@ -0,0 +1,2 @@ +#!/bin/sh +$XGETTEXT *.cpp -o $podir/okular_mobi.pot diff --git a/generators/mobipocket/converter.cpp b/generators/mobipocket/converter.cpp new file mode 100644 index 0000000..21d0478 --- /dev/null +++ b/generators/mobipocket/converter.cpp @@ -0,0 +1,119 @@ +/* + SPDX-FileCopyrightText: 2008 Jakub Stachowski + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "converter.h" + +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +using namespace Mobi; + +Converter::Converter() +{ +} + +Converter::~Converter() +{ +} + +void Converter::handleMetadata(const QMap &metadata) +{ + QMapIterator it(metadata); + while (it.hasNext()) { + it.next(); + switch (it.key()) { + case Mobipocket::Document::Title: + Q_EMIT addMetaData(Okular::DocumentInfo::Title, it.value()); + break; + case Mobipocket::Document::Author: + Q_EMIT addMetaData(Okular::DocumentInfo::Author, it.value()); + break; + case Mobipocket::Document::Description: + Q_EMIT addMetaData(Okular::DocumentInfo::Description, it.value()); + break; + case Mobipocket::Document::Subject: + Q_EMIT addMetaData(Okular::DocumentInfo::Subject, it.value()); + break; + case Mobipocket::Document::Copyright: + Q_EMIT addMetaData(Okular::DocumentInfo::Copyright, it.value()); + break; + } + } +} + +QTextDocument *Converter::convert(const QString &fileName) +{ + MobiDocument *newDocument = new MobiDocument(fileName); + if (!newDocument->mobi()->isValid()) { + Q_EMIT error(i18n("Error while opening the Mobipocket document."), -1); + delete newDocument; + return nullptr; + } + if (newDocument->mobi()->hasDRM()) { + Q_EMIT error(i18n("This book is protected by DRM and can be displayed only on designated device"), -1); + delete newDocument; + return nullptr; + } + + handleMetadata(newDocument->mobi()->metadata()); + newDocument->setPageSize(QSizeF(600, 800)); + + QTextFrameFormat frameFormat; + frameFormat.setMargin(20); + QTextFrame *rootFrame = newDocument->rootFrame(); + rootFrame->setFrameFormat(frameFormat); + QMap> links; + QMap targets; + + // go over whole document and add all tags to links or targets map + for (QTextBlock it = newDocument->begin(); it != newDocument->end(); it = it.next()) { + for (QTextBlock::iterator fit = it.begin(); !fit.atEnd(); ++fit) { + QTextFragment frag = fit.fragment(); + QTextCharFormat format = frag.charFormat(); + if (!format.isAnchor()) { + continue; + } + // link + if (!format.anchorHref().isEmpty()) { + links[format.anchorHref()] = QPair(frag.position(), frag.position() + frag.length()); + } + const QStringList anchors = format.anchorNames(); + if (!anchors.isEmpty()) { + // link targets + for (const QString &name : anchors) { + targets[QLatin1Char('#') + name] = it; + } + } + } + } + + // create link actions + QMapIterator> it(links); + while (it.hasNext()) { + it.next(); + QUrl u(it.key()); + // external or internal link + if (!u.isRelative()) { + Q_EMIT addAction(new Okular::BrowseAction(QUrl(it.key())), it.value().first, it.value().second); + } else { + // is there valid target? + if (!targets.contains(it.key()) || !targets[it.key()].isValid()) { + continue; + } + Q_EMIT addAction(new Okular::GotoAction(QString(), calculateViewport(newDocument, targets[it.key()])), it.value().first, it.value().second); + } + } + + return newDocument; +} diff --git a/generators/mobipocket/converter.h b/generators/mobipocket/converter.h new file mode 100644 index 0000000..4012b8a --- /dev/null +++ b/generators/mobipocket/converter.h @@ -0,0 +1,31 @@ +/* + SPDX-FileCopyrightText: 2008 Jakub Stachowski + + SPDX-License-Identifier: GPL-2.0-or-later +*/ +#ifndef MOBI_CONVERTER_H +#define MOBI_CONVERTER_H + +#include +#include + +#include "mobidocument.h" +#include + +namespace Mobi +{ +class Converter : public Okular::TextDocumentConverter +{ + Q_OBJECT +public: + Converter(); + ~Converter() override; + + QTextDocument *convert(const QString &fileName) override; + +private: + void handleMetadata(const QMap &metadata); +}; +} + +#endif diff --git a/generators/mobipocket/generator_mobi.cpp b/generators/mobipocket/generator_mobi.cpp new file mode 100644 index 0000000..d8b3f40 --- /dev/null +++ b/generators/mobipocket/generator_mobi.cpp @@ -0,0 +1,28 @@ +/* + SPDX-FileCopyrightText: 2008 Ely Levy + + SPDX-License-Identifier: GPL-2.0-or-later +*/ +#include "generator_mobi.h" + +#include "converter.h" + +#include +#include +#include + +OKULAR_EXPORT_PLUGIN(MobiGenerator, "libokularGenerator_mobi.json") + +MobiGenerator::MobiGenerator(QObject *parent, const QVariantList &args) + : Okular::TextDocumentGenerator(new Mobi::Converter, QStringLiteral("okular_mobi_generator_settings"), parent, args) +{ +} + +void MobiGenerator::addPages(KConfigDialog *dlg) +{ + Okular::TextDocumentSettingsWidget *widget = new Okular::TextDocumentSettingsWidget(); + + dlg->addPage(widget, generalSettings(), i18n("Mobipocket"), QStringLiteral("application-x-mobipocket-ebook"), i18n("Mobipocket Backend Configuration")); +} + +#include "generator_mobi.moc" diff --git a/generators/mobipocket/generator_mobi.h b/generators/mobipocket/generator_mobi.h new file mode 100644 index 0000000..5ce80e5 --- /dev/null +++ b/generators/mobipocket/generator_mobi.h @@ -0,0 +1,25 @@ +/* + SPDX-FileCopyrightText: 2008 Ely Levy + + SPDX-License-Identifier: GPL-2.0-or-later +*/ +#ifndef OKULAR_GENERATOR_MOBI_H +#define OKULAR_GENERATOR_MOBI_H +#include + +class MobiGenerator : public Okular::TextDocumentGenerator +{ + Q_OBJECT + Q_INTERFACES(Okular::Generator) + +public: + MobiGenerator(QObject *parent, const QVariantList &args); + ~MobiGenerator() override + { + } + + // [INHERITED] reparse configuration + void addPages(KConfigDialog *dlg) override; +}; + +#endif diff --git a/generators/mobipocket/libokularGenerator_mobi.json b/generators/mobipocket/libokularGenerator_mobi.json new file mode 100644 index 0000000..622945e --- /dev/null +++ b/generators/mobipocket/libokularGenerator_mobi.json @@ -0,0 +1,216 @@ +{ + "KPlugin": { + "Authors": [ + { + "Email": "qbast@go2.pl", + "Name": "Jakub Stachowski", + "Name[ar]": "Jakub Stachowski", + "Name[az]": "Jakub Stachowski", + "Name[be]": "Jakub Stachowski", + "Name[bg]": "Jakub Stachowski", + "Name[ca@valencia]": "Jakub Stachowski", + "Name[ca]": "Jakub Stachowski", + "Name[cs]": "Jakub Stachowski", + "Name[da]": "Jakub Stachowski", + "Name[de]": "Jakub Stachowski", + "Name[el]": "Jakub Stachowski", + "Name[en_GB]": "Jakub Stachowski", + "Name[eo]": "Jakub Stachowski", + "Name[es]": "Jakub Stachowski", + "Name[et]": "Jakub Stachowski", + "Name[eu]": "Jakub Stachowski", + "Name[fi]": "Jakub Stachowski", + "Name[fr]": "Jakub Stachowski", + "Name[gl]": "Jakub Stachowski", + "Name[he]": "יאקוב שטכובסקי", + "Name[hu]": "Jakub Stachowski", + "Name[ia]": " Jakub Stachowski", + "Name[ie]": "Jakub Stachowski", + "Name[is]": "Jakub Stachowski", + "Name[it]": "Jakub Stachowski", + "Name[ka]": "Jakub Stachowski", + "Name[ko]": "Jakub Stachowski", + "Name[lt]": "Jakub Stachowski", + "Name[lv]": "Jakub Stachowski", + "Name[nl]": "Jakub Stachowski", + "Name[nn]": "Jakub Stachowski", + "Name[pl]": "Jakub Stachowski", + "Name[pt]": "Jakub Stachowski", + "Name[pt_BR]": "Jakub Stachowski", + "Name[ro]": "Jakub Stachowski", + "Name[ru]": "Jakub Stachowski", + "Name[sa]": "जैकब स्ताचोव्स्की", + "Name[sk]": "Jakub Stachowski", + "Name[sl]": "Jakub Stachowski", + "Name[sr@ijekavian]": "Јакуб Стаховски", + "Name[sr@ijekavianlatin]": "Jakub Stahovski", + "Name[sr@latin]": "Jakub Stahovski", + "Name[sr]": "Јакуб Стаховски", + "Name[sv]": "Jakub Stachowski", + "Name[tr]": "Jakub Stachowski", + "Name[uk]": "Jakub Stachowski", + "Name[vi]": "Jakub Stachowski", + "Name[zh_CN]": "Jakub Stachowski", + "Name[zh_TW]": "Jakub Stachowski" + } + ], + "Copyright": "© 2008-2009 Jakub Stachowski", + "Copyright[ar]": "© 2008-2009 Jakub Stachowski", + "Copyright[az]": "© 2008-2009 Jakub Stachowski", + "Copyright[be]": "© 2008-2009 Jakub Stachowski", + "Copyright[bg]": "© 2008-2009 Jakub Stachowski", + "Copyright[ca@valencia]": "© 2008-2009 Jakub Stachowski", + "Copyright[ca]": "© 2008-2009 Jakub Stachowski", + "Copyright[cs]": "© 2008-2009 Jakub Stachowski", + "Copyright[da]": "© 2008-2009 Jakub Stachowski", + "Copyright[de]": "© 2008–2009 Jakub Stachowski", + "Copyright[el]": "© 2008-2009 Jakub Stachowski", + "Copyright[en_GB]": "© 2008-2009 Jakub Stachowski", + "Copyright[eo]": "© 2008-2009 Jakub Stachowski", + "Copyright[es]": "© 2008-2009 Jakub Stachowski", + "Copyright[et]": "© 2008-2009: Jakub Stachowski", + "Copyright[eu]": "© 2008-2009 Jakub Stachowski", + "Copyright[fi]": "© 2008–2009 Jakub Stachowski", + "Copyright[fr]": "© 2008-2009 Jakub Stachowski", + "Copyright[gl]": "© 2008-2009 Jakub Stachowski", + "Copyright[he]": "© 2008‏-2009 יאקוב שטכובסקי", + "Copyright[hu]": "© Jakub Stachowski, 2008-2009.", + "Copyright[ia]": "© 2008-2009 Jakub Stachowski", + "Copyright[ie]": "© 2008-2009 Jakub Stachowski", + "Copyright[is]": "© 2008-2009 Jakub Stachowski", + "Copyright[it]": "© 2008-2009 Jakub Stachowski", + "Copyright[ka]": "© 2008-2009 Jakub Stachowski", + "Copyright[ko]": "© 2008-2009 Jakub Stachowski", + "Copyright[lt]": "© 2008-2009 Jakub Stachowski", + "Copyright[lv]": "© 2008-2009 Jakub Stachowski", + "Copyright[nl]": "© 2008-2009 Jakub Stachowski", + "Copyright[nn]": "© 2008–2009 Jakub Stachowski", + "Copyright[pa]": "© 2008-2009 Jakub Stachowski", + "Copyright[pl]": "© 2008-2009 Jakub Stachowski", + "Copyright[pt]": "© 2008-2009 Jakub Stachowski", + "Copyright[pt_BR]": "© 2008-2009 Jakub Stachowski", + "Copyright[ro]": "© 2008-2009 Jakub Stachowski", + "Copyright[ru]": "© Jakub Stachowski, 2008-2009", + "Copyright[sa]": "© 2008-2009 Jakub Stachowski", + "Copyright[sk]": "© 2008-2009 Jakub Stachowski", + "Copyright[sl]": "© 2008-2009 Jakub Stachowski", + "Copyright[sr@ijekavian]": "© 2008—2009, Јакуб Стаховски", + "Copyright[sr@ijekavianlatin]": "© 2008—2009, Jakub Stahovski", + "Copyright[sr@latin]": "© 2008—2009, Jakub Stahovski", + "Copyright[sr]": "© 2008—2009, Јакуб Стаховски", + "Copyright[sv]": "© 2008-2009 Jakub Stachowski", + "Copyright[tr]": "© 2008–2009 Jakub Stachowski", + "Copyright[uk]": "© Jakub Stachowski, 2008–2009", + "Copyright[vi]": "© 2008-2009 Jakub Stachowski", + "Copyright[zh_CN]": "© 2008-2009 Jakub Stachowski", + "Copyright[zh_TW]": "© 2008-2009 Jakub Stachowski", + "Description": "A mobipocket backend", + "Description[ar]": "خلفية Mobipocket", + "Description[az]": "Mobipocket modulu", + "Description[be]": "Рухавік Mobipocket", + "Description[bg]": "Бекенд на mobipocket ", + "Description[ca@valencia]": "Un dorsal de Mobipocket", + "Description[ca]": "Un dorsal de Mobipocket", + "Description[cs]": " Implementace Mobipocket", + "Description[da]": "En mobipocket-backend", + "Description[de]": "Ein Anzeigemodul für Mobipocket-Dateien", + "Description[el]": "Σύστημα υποστήριξης mobipocket", + "Description[en_GB]": "A mobipocket backend", + "Description[eo]": "Mobipocket-backend", + "Description[es]": "Un motor para mobipocket", + "Description[et]": "Mobipocketi taustaprogramm", + "Description[eu]": "Mobipocket-en bizkarraldeko bat", + "Description[fi]": "MobiPocket-taustaosa", + "Description[fr]": "Un moteur Mobipocket", + "Description[gl]": "Motor de mobipocket.", + "Description[he]": "מנגנון Mobipocket", + "Description[hu]": "Mobipocket modul", + "Description[ia]": "Un retro-administration de Mobipocket", + "Description[ie]": "Infrastructura Mobipocket", + "Description[is]": "Mobipocket-bakendi", + "Description[it]": "Un backend per mobipocket", + "Description[ka]": "mobipocket -ის უკანაბოლო", + "Description[ko]": "Mobipocket 백엔드", + "Description[lt]": "Mobipocket programinė sąsaja", + "Description[lv]": "Mobipocket aizmugursistēma", + "Description[nl]": "Een mobipocket-backend", + "Description[nn]": "Ein Mobipocket-motor", + "Description[pa]": "ਮੋਬਾਪਾਕੇਟ ਬੈਕਐਂਡ", + "Description[pl]": "Obsługa formatu MOBI", + "Description[pt]": "Uma infra-estrutura de Mobipocket", + "Description[pt_BR]": "Uma infraestrutura do mobipocket", + "Description[ro]": "Platformă pentru Mobipocket", + "Description[ru]": "Модуль поддержки формата Mobipocket", + "Description[sa]": "एकः मोबिपॉकेट् पृष्ठभागः", + "Description[sk]": "Mobipocket backend", + "Description[sl]": "Zaledje za Mobipocket", + "Description[sr@ijekavian]": "Позадина за Мобипокет", + "Description[sr@ijekavianlatin]": "Pozadina za Mobipocket", + "Description[sr@latin]": "Pozadina za Mobipocket", + "Description[sr]": "Позадина за Мобипокет", + "Description[sv]": "Ett Mobipocket-gränssnitt", + "Description[tr]": "Bir mobipocket arka ucu", + "Description[uk]": "Сервер mobipocket", + "Description[vi]": "Một hậu phương Mobipocket", + "Description[zh_CN]": "Mobipocket 后端程序", + "Description[zh_TW]": "Mobipocket 後端介面", + "License": "GPL", + "MimeTypes": [ + "application/x-mobipocket-ebook" + ], + "Name": "Mobipocket Backend", + "Name[ar]": "خلفية Mobipocket", + "Name[az]": "Mobipocket modulu", + "Name[be]": "Рухавік Mobipocket", + "Name[bg]": "Бекенд на Mobipocket", + "Name[ca@valencia]": "Dorsal Mobipocket", + "Name[ca]": "Dorsal Mobipocket", + "Name[cs]": " Implementace Mobipocket", + "Name[da]": "Mobipocket-backend", + "Name[de]": "Anzeigemodul für Mobipocket-Dateien", + "Name[el]": "Σύστημα υποστήριξης Mobipocket", + "Name[en_GB]": "Mobipocket Backend", + "Name[eo]": "Mobipocket-Backend", + "Name[es]": "Motor para Mobipocket", + "Name[et]": "Mobipocketi taustaprogramm", + "Name[eu]": "Mobipocket-en bizkarraldekoa", + "Name[fi]": "Mobipocket-taustaosa", + "Name[fr]": "Moteur Mobipocket", + "Name[gl]": "Motor de Mobipocket", + "Name[he]": "מנגנון Mobipocket", + "Name[hu]": "Mobipocket modul", + "Name[ia]": "Retro-administration de Mobipocket", + "Name[ie]": "Infrastructura Mobipocket", + "Name[is]": "Mobipocket-bakendi", + "Name[it]": "Backend Mobipocket", + "Name[ka]": "Mobipocket უკანაბოლო", + "Name[ko]": "Mobipocket 백엔드", + "Name[lt]": "Mobipocket programinė sąsaja", + "Name[lv]": "Mobipocket aizmugursistēma", + "Name[nl]": "Mobipocket-backend", + "Name[nn]": "Mobipocket-motor", + "Name[pa]": "ਮੋਬਾਪਾਕੇਟ ਬੈਕਐਂਡ", + "Name[pl]": "Obsługa Mobipocket", + "Name[pt]": "Infra-Estrutura de Mobipocket", + "Name[pt_BR]": "Infraestrutura Mobipocket", + "Name[ro]": "Platformă Mobipocket", + "Name[ru]": "Модуль поддержки формата Mobipocket", + "Name[sa]": "मोबिपॉकेट बैकएण्ड", + "Name[sk]": "Mobipocket Backend", + "Name[sl]": "Zaledje za Mobipocket", + "Name[sr@ijekavian]": "Позадина за Мобипокет", + "Name[sr@ijekavianlatin]": "Pozadina za Mobipocket", + "Name[sr@latin]": "Pozadina za Mobipocket", + "Name[sr]": "Позадина за Мобипокет", + "Name[sv]": "Mobipocket-gränssnitt", + "Name[tr]": "Mobipocket Arka Ucu", + "Name[uk]": "Модуль Mobipocket", + "Name[vi]": "Hậu phương Mobipocket", + "Name[zh_CN]": "Mobipocket 后端程序", + "Name[zh_TW]": "Mobipocket 後端介面", + "Version": "0.1.1" + }, + "X-KDE-Priority": 1, + "X-KDE-okularAPIVersion": 1, + "X-KDE-okularHasInternalSettings": true +} diff --git a/generators/mobipocket/mobidocument.cpp b/generators/mobipocket/mobidocument.cpp new file mode 100644 index 0000000..e090b2b --- /dev/null +++ b/generators/mobipocket/mobidocument.cpp @@ -0,0 +1,114 @@ +/* + SPDX-FileCopyrightText: 2008 Jakub Stachowski + + SPDX-License-Identifier: GPL-2.0-or-later +*/ +#include "mobidocument.h" +#include +#include +#include +#include + +using namespace Mobi; + +MobiDocument::MobiDocument(const QString &fileName) + : QTextDocument() +#if QMOBIPOCKET_VERSION_MAJOR < 3 + , m_file(Mobipocket::QFileStream(fileName)) +{ +#else + , m_file(QFile(fileName)) +{ + if (!m_file.open(QIODeviceBase::ReadOnly)) { + return; + } +#endif + doc = std::make_unique(&m_file); + if (doc->isValid()) { + QString text = doc->text(); + QString header = text.left(1024); + if (header.contains(QStringLiteral("= doc->imageCount()) { + return QVariant(); + } + + QVariant resource; + resource.setValue(doc->getImage(recnum - 1)); + addResource(type, name, resource); + + return resource; +} + +// starting from 'pos', find position in the string that is not inside a tag +int outsideTag(const QString &data, int pos) +{ + for (int i = pos - 1; i >= 0; i--) { + if (data[i] == QLatin1Char('>')) { + return pos; + } + if (data[i] == QLatin1Char('<')) { + return i; + } + } + return pos; +} + +QString MobiDocument::fixMobiMarkup(const QString &data) +{ + QString ret = data; + QMap anchorPositions; + static QRegularExpression anchors(QStringLiteral(" it(anchorPositions); + while (it.hasNext()) { + it.next(); + // link pointing outside the document, ignore + if ((it.key() + offset) >= ret.size()) { + continue; + } + int fixedpos = outsideTag(ret, it.key() + offset); + ret.insert(fixedpos, QStringLiteral(" ")); + // inserting anchor shifts all offsets after the anchor + offset += 21 + it.value().size(); + } + + // replace links referencing filepos with normal internal links + ret.replace(anchors, QStringLiteral(" where recindex is number of + // record containing image + static QRegularExpression imgs(QStringLiteral(""), QRegularExpression::CaseInsensitiveOption); + + ret.replace(imgs, QStringLiteral("")); + ret.replace(QStringLiteral(""), QStringLiteral("

")); + + return ret; +} diff --git a/generators/mobipocket/mobidocument.h b/generators/mobipocket/mobidocument.h new file mode 100644 index 0000000..5b149a7 --- /dev/null +++ b/generators/mobipocket/mobidocument.h @@ -0,0 +1,54 @@ +/* + SPDX-FileCopyrightText: 2008 Jakub Stachowski + + SPDX-License-Identifier: GPL-2.0-or-later +*/ +#ifndef MOBI_DOCUMENT_H +#define MOBI_DOCUMENT_H + +#include +#include +#include +#include +#include + +#if QMOBIPOCKET_VERSION_MAJOR < 3 +#include +#endif + +class QFile; +namespace Mobipocket +{ +class Document; +} + +namespace Mobi +{ +class MobiDocument : public QTextDocument +{ + Q_OBJECT + +public: + explicit MobiDocument(const QString &fileName); + ~MobiDocument() override; + + Mobipocket::Document *mobi() const + { + return doc.get(); + } + +protected: + QVariant loadResource(int type, const QUrl &name) override; + +private: + QString fixMobiMarkup(const QString &data); + std::unique_ptr doc; +#if QMOBIPOCKET_VERSION_MAJOR < 3 + Mobipocket::QFileStream m_file; +#else + QFile m_file; +#endif +}; + +} +#endif diff --git a/generators/mobipocket/okularApplication_mobi.desktop b/generators/mobipocket/okularApplication_mobi.desktop new file mode 100755 index 0000000..133f88a --- /dev/null +++ b/generators/mobipocket/okularApplication_mobi.desktop @@ -0,0 +1,256 @@ +[Desktop Entry] +MimeType=application/x-mobipocket-ebook; +Terminal=false +Name=Okular +Name[ar]=اوكلار +Name[az]=Okular +Name[be]=Okular +Name[bg]=Okular +Name[bs]=Okular +Name[ca]=Okular +Name[ca@valencia]=Okular +Name[cs]=Okular +Name[da]=Okular +Name[de]=Okular +Name[el]=Okular +Name[en_GB]=Okular +Name[eo]=Okular +Name[es]=Okular +Name[et]=Okular +Name[eu]=Okular +Name[fi]=Okular +Name[fr]=Okular +Name[ga]=Okular +Name[gl]=Okular +Name[he]=Okular +Name[hne]=ओकुलर +Name[hr]=Okular +Name[hu]=Okular +Name[ia]=Okular +Name[ie]=Okular +Name[is]=Okular +Name[it]=Okular +Name[ja]=Okular +Name[ka]=Okular +Name[kk]=Okular +Name[km]=Okular +Name[ko]=Okular +Name[ku]=Okular +Name[lt]=Okular +Name[lv]=Okular +Name[mr]=ओक्युलर +Name[nb]=Okular +Name[nds]=Okular +Name[nl]=Okular +Name[nn]=Okular +Name[pa]=ਓਕੁਲਾਰ +Name[pl]=Okular +Name[pt]=Okular +Name[pt_BR]=Okular +Name[ro]=Okular +Name[ru]=Okular +Name[sa]=नेत्रस्य +Name[si]=Okular +Name[sk]=Okular +Name[sl]=Okular +Name[sq]=Okular +Name[sr]=Окулар +Name[sr@ijekavian]=Окулар +Name[sr@ijekavianlatin]=Okular +Name[sr@latin]=Okular +Name[sv]=Okular +Name[ta]=ஆக்குலர் +Name[th]=โอกูลาร์ +Name[tr]=Okular +Name[ug]=Okular +Name[uk]=Okular +Name[vi]=Okular +Name[zh_CN]=Okular 文档查看器 +Name[zh_TW]=Okular +GenericName=Document Viewer +GenericName[ar]=عارض المستندات +GenericName[az]=Sənədə baxış vasitısi +GenericName[be]=Сродак для прагляду дакументаў +GenericName[bg]=Преглед на документи +GenericName[bs]=Prikazivač dokumenata +GenericName[ca]=Visualitzador de documents +GenericName[ca@valencia]=Visor de documents +GenericName[cs]=Prohlížeč dokumentů +GenericName[da]=Dokumentfremviser +GenericName[de]=Dokumentenbetrachter +GenericName[el]=Προβολέας εγγράφων +GenericName[en_GB]=Document Viewer +GenericName[eo]=Dokumenta rigardilo +GenericName[es]=Visor de documentos +GenericName[et]=Dokumendinäitaja +GenericName[eu]=Dokumentu erakuslea +GenericName[fa]=مشاهده‌گر سند +GenericName[fi]=Asiakirjakatselin +GenericName[fr]=Afficheur de documents +GenericName[ga]=Amharcán Cáipéisí +GenericName[gl]=Visor de documentos +GenericName[he]=מציג מסמכים +GenericName[hi]=दस्तावेज़ प्रदर्शक +GenericName[hne]=कागद प्रदर्सक +GenericName[hr]=Preglednik dokumenata +GenericName[hu]=Dokumentummegjelenítő +GenericName[ia]=Visor de documento +GenericName[ie]=Visor de documentes +GenericName[is]=Skjalaskoðari +GenericName[it]=Visore di documenti +GenericName[ja]=文書ビューア +GenericName[ka]=დოკუმენტების მნახველი +GenericName[kk]=Құжатты қарау құралы +GenericName[km]=កម្មវិធី​មើល​ឯកសារ +GenericName[ko]=문서 뷰어 +GenericName[ku]=Nîşanderê Belgeyan +GenericName[lt]=Dokumentų žiūryklė +GenericName[lv]=Dokumentu skatītājs +GenericName[mr]=दस्तऐवज प्रदर्शक +GenericName[nb]=Dokumentviser +GenericName[nds]=Dokmentkieker +GenericName[ne]=कागजात दर्शक +GenericName[nl]=Documentenviewer +GenericName[nn]=Dokumentvisar +GenericName[oc]=Visualizaire de documents +GenericName[pa]=ਡੌਕੂਮੈਂਟ ਦਰਸ਼ਕ +GenericName[pl]=Przeglądarka dokumentów +GenericName[pt]=Visualizador de Documentos +GenericName[pt_BR]=Visualizador de documentos +GenericName[ro]=Vizualizor de documente +GenericName[ru]=Просмотр документов +GenericName[sa]=दस्तावेज दर्शक +GenericName[sk]=Prehliadač dokumentov +GenericName[sl]=Pregledovalnik dokumentov +GenericName[sq]=Shikues dokumentesh +GenericName[sr]=Приказивач докумената +GenericName[sr@ijekavian]=Приказивач докумената +GenericName[sr@ijekavianlatin]=Prikazivač dokumenata +GenericName[sr@latin]=Prikazivač dokumenata +GenericName[sv]=Dokumentvisare +GenericName[ta]=ஆவணங் காட்டி +GenericName[th]=เครื่องมือแสดงเอกสาร +GenericName[tr]=Belge Görüntüleyicisi +GenericName[ug]=پۈتۈك كۆرگۈ +GenericName[uk]=Переглядач документів +GenericName[vi]=Trình xem tài liệu +GenericName[zh_CN]=文档查看器 +GenericName[zh_TW]=文件檢視器 +Comment=Universal document viewer +Comment[ar]=عارض المستندات عالمي +Comment[az]=Sənədə universal baxış vasitəsi +Comment[be]=Універсальны сродак для прагляду дакументаў +Comment[bg]=Универсална програма за преглед на документи +Comment[ca]=Visualitzador universal de documents +Comment[ca@valencia]=Visor universal de documents +Comment[cs]=Univerzální prohlížeč dokumentů +Comment[da]=Universel dokumentfremviser +Comment[de]=Universeller Dokumentenbetrachter +Comment[el]=Καθολικός προβολέας εγγράφων +Comment[en_GB]=Universal document viewer +Comment[eo]=Universala dokumenta spektilo +Comment[es]=Visor de documentos universal +Comment[et]=Universaalne dokumendinäitaja +Comment[eu]=Dokumentu erakusle unibertsala +Comment[fi]=Yleinen asiakirjakatselin +Comment[fr]=Afficheur de document universel +Comment[gl]=Visor de documentos universal. +Comment[he]=מציג מסמכים אוניברסלי +Comment[hu]=Univerzális dokumentummegjelenítő +Comment[ia]=Visor de documento universal +Comment[ie]=Universal visor de documentes +Comment[is]=Fjölhæfur skjalaskoðari +Comment[it]=Visore di documenti universale +Comment[ja]=多用途な文書ビューア +Comment[ka]=დოკუმენტების პოპულარული ფორმატების გამხსნელი +Comment[ko]=만능 문서 뷰어 +Comment[lt]=Universali dokumentų žiūryklė +Comment[lv]=Universāls dokumentu skatītājs +Comment[nl]=Universele documentviewer +Comment[nn]=Dokumentvisar for mange format +Comment[pa]=ਯੂਨੀਵਰਸਲ ਡੌਕੂਮੈਂਟ ਦਰਸ਼ਕ +Comment[pl]=Wszechstronna przeglądarka dokumentów +Comment[pt]=Visualizador de documentos universal +Comment[pt_BR]=Visualizador de documentos universal +Comment[ro]=Vizualizor de documente universal +Comment[ru]=Универсальная программа просмотра документов +Comment[sa]=सार्वभौमिक दस्तावेज दर्शक +Comment[sk]=Univerzálny prehliadač dokumentov +Comment[sl]=Vsestranski pregledovalnik dokumentov +Comment[sq]=Shikues univerzal dokumentesh +Comment[sr]=Универзални приказивач докумената +Comment[sr@ijekavian]=Универзални приказивач докумената +Comment[sr@ijekavianlatin]=Univerzalni prikazivač dokumenata +Comment[sr@latin]=Univerzalni prikazivač dokumenata +Comment[sv]=Generell dokumentvisare +Comment[ta]=அனைத்து ஆவணங்களுக்கான காட்டி +Comment[tr]=Çok amaçlı belge görüntüleyicisi +Comment[uk]=Універсальний переглядач документів +Comment[vi]=Trình xem tài liệu vạn năng +Comment[zh_CN]=通用文档查看器 +Comment[zh_TW]=通用文件檢視器 +TryExec=okular +Exec=okular %U +Icon=okular +Type=Application +InitialPreference=1 +Categories=Qt;KDE;Graphics;Viewer; +NoDisplay=true +X-KDE-Keywords=mobipocket +X-KDE-Keywords[ar]=mobipocket +X-KDE-Keywords[az]=mobipocket +X-KDE-Keywords[be]=mobipocket +X-KDE-Keywords[bg]=mobipocket +X-KDE-Keywords[bs]=mobipocket +X-KDE-Keywords[ca]=mobipocket +X-KDE-Keywords[ca@valencia]=mobipocket +X-KDE-Keywords[cs]=mobipocket +X-KDE-Keywords[da]=mobipocket +X-KDE-Keywords[de]=Mobipocket +X-KDE-Keywords[el]=mobipocket +X-KDE-Keywords[en_GB]=mobipocket +X-KDE-Keywords[eo]=mobipocket +X-KDE-Keywords[es]=mobipocket +X-KDE-Keywords[et]=mobipocket +X-KDE-Keywords[eu]=Mobipocket +X-KDE-Keywords[fi]=mobipocket +X-KDE-Keywords[fr]=mobipocket +X-KDE-Keywords[gl]=mobipocket +X-KDE-Keywords[he]=mobipocket +X-KDE-Keywords[hu]=mobipocket +X-KDE-Keywords[ia]=mobipocket +X-KDE-Keywords[ie]=mobipocket +X-KDE-Keywords[is]=mobipocket +X-KDE-Keywords[it]=mobipocket +X-KDE-Keywords[ja]=mobipocket +X-KDE-Keywords[ka]=mobipocket +X-KDE-Keywords[kk]=mobipocket +X-KDE-Keywords[ko]=mobipocket +X-KDE-Keywords[lt]=mobipocket +X-KDE-Keywords[lv]=mobipocket +X-KDE-Keywords[nb]=mobipocket +X-KDE-Keywords[nds]=Mobipocket +X-KDE-Keywords[nl]=mobipocket +X-KDE-Keywords[nn]=mobipocket +X-KDE-Keywords[pa]=mobipocket +X-KDE-Keywords[pl]=mobipocket +X-KDE-Keywords[pt]=mobipocket +X-KDE-Keywords[pt_BR]=mobipocket +X-KDE-Keywords[ro]=mobipocket +X-KDE-Keywords[ru]=mobipocket +X-KDE-Keywords[sa]=mobipocket +X-KDE-Keywords[sk]=mobipocket +X-KDE-Keywords[sl]=mobipocket,mobi +X-KDE-Keywords[sq]=mobipocket +X-KDE-Keywords[sr]=mobipocket,Мобипокет +X-KDE-Keywords[sr@ijekavian]=mobipocket,Мобипокет +X-KDE-Keywords[sr@ijekavianlatin]=mobipocket,Mobipocket +X-KDE-Keywords[sr@latin]=mobipocket,Mobipocket +X-KDE-Keywords[sv]=mobipocket +X-KDE-Keywords[ta]=mobipocket +X-KDE-Keywords[tr]=mobipocket +X-KDE-Keywords[uk]=mobipocket +X-KDE-Keywords[vi]=mobipocket +X-KDE-Keywords[zh_CN]=mobipocket +X-KDE-Keywords[zh_TW]=mobipocket +X-KDE-AliasFor=org.kde.okular.desktop diff --git a/generators/mobipocket/org.kde.mobile.okular_mobi.desktop b/generators/mobipocket/org.kde.mobile.okular_mobi.desktop new file mode 100755 index 0000000..d00ee88 --- /dev/null +++ b/generators/mobipocket/org.kde.mobile.okular_mobi.desktop @@ -0,0 +1,192 @@ +[Desktop Entry] +MimeType=application/x-mobipocket-ebook; +Name=Reader +Name[ar]=التصيير +Name[az]=Oxuyucu +Name[be]=Сродак чытання +Name[bg]=Четец +Name[bs]=Čitač +Name[ca]=Lector +Name[ca@valencia]=Lector +Name[cs]=Čtečka +Name[da]=Læser +Name[de]=Lesegerät +Name[el]=Πρόγραμμα ανάγνωσης +Name[en_GB]=Reader +Name[eo]=Legilo +Name[es]=Lector +Name[et]=Lugeja +Name[eu]=Irakurlea +Name[fi]=Lukija +Name[fr]=Lecteur +Name[ga]=Léitheoir +Name[gl]=Lector +Name[he]=קורא +Name[hu]=Olvasó +Name[ia]=Lector +Name[ie]=Letor +Name[is]=Lesari +Name[it]=Lettore +Name[ja]=リーダ +Name[ka]=მკითხველი +Name[kk]=Оқу құралы +Name[ko]=리더 +Name[lt]=Skaitytuvas +Name[lv]=Lasītājs +Name[mr]=वाचक +Name[nb]=Leser +Name[nds]=Leser +Name[nl]=Lezer +Name[nn]=Lesar +Name[pa]=ਰੀਡਰ +Name[pl]=Czytnik +Name[pt]=Leitor +Name[pt_BR]=Leitor +Name[ro]=Cititor +Name[ru]=Просмотрщик +Name[sa]=पाठकः +Name[sk]=Čítačka +Name[sl]=Bralnik +Name[sq]=Reader +Name[sr]=Читач +Name[sr@ijekavian]=Читач +Name[sr@ijekavianlatin]=Čitač +Name[sr@latin]=Čitač +Name[sv]=Läsprogram +Name[ta]=காட்டி +Name[tr]=Okuyucu +Name[ug]=ئوقۇغۇ +Name[uk]=Переглядач +Name[vi]=Trình đọc +Name[zh_CN]=阅读器 +Name[zh_TW]=閱讀器 +GenericName=Document viewer +GenericName[ar]=عارض المستندات +GenericName[az]=Sənədə baxış vasitısi +GenericName[be]=Сродак для прагляду дакументаў +GenericName[bg]=Преглед на документи +GenericName[bs]=Prikazivač dokumenata +GenericName[ca]=Visualitzador de documents +GenericName[ca@valencia]=Visor de documents +GenericName[cs]=Prohlížeč dokumentů +GenericName[da]=Dokumentfremviser +GenericName[de]=Dokumentenbetrachter +GenericName[el]=Προβολέας εγγράφων +GenericName[en_GB]=Document Viewer +GenericName[eo]=Dokumentrigardilo +GenericName[es]=Visor de documentos +GenericName[et]=Dokumendinäitaja +GenericName[eu]=Dokumentu erakuslea +GenericName[fi]=Asiakirjakatselin +GenericName[fr]=Afficheur de document +GenericName[ga]=Amharcán cáipéisí +GenericName[gl]=Visor de documentos +GenericName[he]=מציג מסמכים +GenericName[hi]=दस्तावेज़ प्रदर्शक +GenericName[hu]=Dokumentummegjelenítő +GenericName[ia]=Visor de documento +GenericName[ie]=Visor de documentes +GenericName[is]=Skjalaskoðari +GenericName[it]=Visore di documenti +GenericName[ja]=文書ビューア +GenericName[ka]=დოკუმენტების მნახველი +GenericName[kk]=Құжатты қарау құралы +GenericName[ko]=문서 뷰어 +GenericName[lt]=Dokumentų žiūryklė +GenericName[lv]=Dokumentu skatītājs +GenericName[mr]=दस्तऐवज प्रदर्शक +GenericName[nb]=Dokumentviser +GenericName[nds]=Dokmentkieker +GenericName[nl]=Documentenviewer +GenericName[nn]=Dokumentvisar +GenericName[pa]=ਡੌਕੂਮੈਂਟ ਦਰਸ਼ਕ +GenericName[pl]=Przeglądarka dokumentów +GenericName[pt]=Visualizador de documentos +GenericName[pt_BR]=Visualizador de documentos +GenericName[ro]=Vizualizor de documente +GenericName[ru]=Просмотр документов +GenericName[sa]=दस्तावेजदर्शकः +GenericName[sk]=Prehliadač dokumentov +GenericName[sl]=Pregledovalnik dokumentov +GenericName[sq]=Shikues dokumentesh +GenericName[sr]=Приказивач докумената +GenericName[sr@ijekavian]=Приказивач докумената +GenericName[sr@ijekavianlatin]=Prikazivač dokumenata +GenericName[sr@latin]=Prikazivač dokumenata +GenericName[sv]=Dokumentvisare +GenericName[ta]=ஆவணங் காட்டி +GenericName[tr]=Belge Görüntüleyicisi +GenericName[uk]=Переглядач документів +GenericName[vi]=Trình xem tài liệu +GenericName[zh_CN]=文档查看器 +GenericName[zh_TW]=文件檢視器 +Comment=Viewer for various types of documents +Comment[ar]=عارض للعديد من أنواع المستندات +Comment[az]=Müxtəlif növlü sənədlər üçün görüntüləyici +Comment[be]=Сродак для прагляду разнастайных тыпаў дакументаў +Comment[bg]=Преглед на различни видове документи +Comment[bs]=Pregledač raznih vrsta dokumenata +Comment[ca]=Visualitzador de diversos tipus de documents +Comment[ca@valencia]=Visor de diversos tipus de documents +Comment[cs]=Prohlížeč různých typů dokumentů +Comment[da]=Fremviser af diverse dokumenttyper +Comment[de]=Betrachter für verschiedene Arten von Dokumenten +Comment[el]=Πρόγραμμα προβολής για διάφορους τύπους εγγράφων +Comment[en_GB]=Viewer for various types of documents +Comment[eo]=Vidilo por diversaj specoj de dokumentoj +Comment[es]=Visor de diversos tipos de documentos +Comment[et]=Eri tüüpi dokumentide näitaja +Comment[eu]=Hainbat dokumentu moten erakuslea +Comment[fi]=Monenlaisten asiakirjojen katseluohjelma +Comment[fr]=Afficheur pour différents types de documents +Comment[ga]=Amharcán le haghaidh cáipéisí éagsúla +Comment[gl]=Visor de varios tipos de documentos. +Comment[he]=מציג למגוון סוגי מסמכים +Comment[hu]=Megjelenítő különféle típusú dokumentumokhoz +Comment[ia]=Visor pro varie typos de documento +Comment[ie]=Visor por varie tipes de documentes +Comment[is]=Skoðari fyrir ýmsar gerðir skjala +Comment[it]=Visore per vari tipi di documenti +Comment[ja]=様々なタイプの文書のためのビューア +Comment[ka]=სხვადასხვა ტიპების დოკუმენტების დათვალიერება +Comment[kk]=Түрлі құжаттар қарау құралы +Comment[ko]=여러 형식의 문서 뷰어 +Comment[lt]=Žiūryklė įvairiems dokumentų tipams +Comment[lv]=Dažādu dokumentu tipu skatītājs +Comment[mr]=विविध प्रकारच्या दस्तऐवजांचा प्रदर्शक +Comment[nb]=Framviser for forskjellige dokumenttyper +Comment[nds]=Kieker för en Reeg Dokmenttypen +Comment[nl]=Viewer voor verschillende typen documenten +Comment[nn]=Framvisar for forskjellige dokumenttypar +Comment[pa]=ਕਈ ਕਿਸਮ ਦੇ ਡੌਕੂਮੈਂਟ ਵੇਖਾਉਣ ਲਈ ਦਰਸ਼ਕ +Comment[pl]=Przeglądarka dla różnych typów dokumentów +Comment[pt]=Visualizador de vários tipos de documentos +Comment[pt_BR]=Visualizador para vários tipos de documentos +Comment[ro]=Vizualizor pentru diferite tipuri de documente +Comment[ru]=Программа для просмотра различных типов документов +Comment[sa]=विभिन्नप्रकारस्य दस्तावेजानां कृते दर्शकः +Comment[sk]=Prehliadač pre rôzne typy dokumentov +Comment[sl]=Pregledovalnik raznih vrst dokumentov +Comment[sq]=Shikues për lloje të ndryshme të dokumentave +Comment[sr]=Приказивач различитих врста докумената +Comment[sr@ijekavian]=Приказивач различитих врста докумената +Comment[sr@ijekavianlatin]=Prikazivač različitih vrsta dokumenata +Comment[sr@latin]=Prikazivač različitih vrsta dokumenata +Comment[sv]=Visningsprogram för diverse typer av dokument +Comment[ta]=பலவகையான ஆவணங்களுக்கான காட்டி +Comment[tr]=Çeşitli belge türleri için görüntüleyici +Comment[ug]=ھەر خىل تىپتىكى پۈتۈكلەرنى كۆرىدىغان پروگرامما +Comment[uk]=Програма для перегляду документів різних типів +Comment[vi]=Trình xem các kiểu tài liệu khác nhau +Comment[zh_CN]=支持查看多种文档类型 +Comment[zh_TW]=多種型態文件的檢視器 + +TryExec=okularkirigami +Exec=okularkirigami %u +Terminal=false +Icon=okular +Type=Application +Categories=Qt;KDE;Graphics;Office;Viewer; +InitialPreference=2 +NoDisplay=true +X-KDE-AliasFor=org.kde.okular.kirigami.desktop diff --git a/generators/mobipocket/org.kde.okular-mobipocket.metainfo.xml b/generators/mobipocket/org.kde.okular-mobipocket.metainfo.xml new file mode 100644 index 0000000..3269490 --- /dev/null +++ b/generators/mobipocket/org.kde.okular-mobipocket.metainfo.xml @@ -0,0 +1,160 @@ + + + org.kde.okular-mobipocket + org.kde.okular.desktop + CC0-1.0 + GPL-2.0+ and GFDL-1.3 + Mobipocket + كتب Mobipocket + Mobipocket + Mobipocket + Mobipocket + Mobipocket + Mobipocket + Mobipocket + Mobipocket + Mobipocket + Mobipocket + Mobipocket + Mobipocket + Mobipocket + Mobipocket + Mobipocket + Mobipocket + Mobipocket + Mobipocket + Mobipocket + मोबिपोकेट + Mobipocket + Mobipocket + Mobipocket + Mobipocket + Mobipocket + Mobipocket + Mobipocket + Mobipocket + മൊബിപോക്കറ്റ്‌ + Mobipocket + Mobipocket + Mobipocket + Mobipocket + Mobipocket + Mobipocket + Mobipocket + मोबिपॉकेट + Mobipocket + Mobipocket + Мобипокет + Mobipocket + Мобипокет + Mobipocket + Mobipocket + Mobipocket + Mobipocket + Mobipocket + Mobipocket + Mobipocket + Mobipocket + Adds support for reading Mobipocket E-books + يضيف دعم لقراءة الكتب الإلكترونية Mobipocket + Mobipocket E-books sənədlərini oxumaq üçün dəstək əlavə edir + Падтрымка чытання Mobipocket + Добавя поддръжка за четене на електронни книги във формат Mobipocket + Afegeix la implementació per a llegir llibres electrònics Mobipocket + Afig la implementació per a llegir llibres electrònics Mobipocket + Přidává podporu pro čtení e-booků Mobipocket + Bietet Unterstützung zum Lesen von Mobipocket-E-Books + Προσθέτει υποστήριξη για την ανάγνωση Mobipocket E-Books + Adds support for reading Mobipocket E-books + Aldonas subtenon por legi Mobipocket E-librojn + Permite la lectura de libros electrónicos en formato Mobipocket + Mobipocketi e-raamatute lugemise toetus + Mobipocket e-liburuak irakurtzeko euskarria gehitzen du + Lisää MobiPocket-e-kirjojen lukutuen + Ajouter la gestion en lecture des livres électroniques Mobipocket + Engade a posibilidade de ler libros electrónicos Mobipocket + מוסיף תמיכה בקריאת ספרים אלקטרוניים מסוג Mobipocket + मोबिपोकेट ई-पुस्तक पढ़ने के लिए समर्थन जोड़ता है + Támogatás Mobipocket e-könyvek olvasásához + Adde supporto per leger E-libros in Mobipocket + Bætir við stuðningi til að lesa Mobipocket-rafbækur + Aggiunge il supporto per la lettura di libri digitali in formato Mobipocket + Mobipocket -ის ელწიგნის კითხვის მხარდაჭერის დამატება + Mobipocket 전자책 읽기 지원 추가 + Prideda palaikymą Mobipocket elektroninių knygų skaitymui + Pievieno atbalstu „Mobipocket“ elektronisko grāmatu lasīšanai + മൊബിപോക്കറ്റ്‌ ഈ-ബുക്കുകൾ വായിക്കുന്നതിനുള്ള പിന്തുണ ചേർക്കുന്നു + Voegt ondersteuning voor lezen van Mobipocket e-boeken toe + Legg til støtte for å lesa e-bøker i Mobipocket-formatet + Dodaje obsługę formatu Mobipocket + Adiciona o suporte para ler E-books da Mobipocket + Adiciona o suporte para leitura de E-books da Mobipocket + Adaugă suport pentru citirea cărților electronice Mobipocket + Поддержка чтения электронных книг Mobipocket + Mobipocket E-books पठितुं समर्थनं योजयति + Pridá podporu pre čítanie e-kníh Mobipocket + Doda podporo za branje e-knjig Mobipocket + Подршка за читање мобипокет е‑књига + Podrška za čitanje Mobipocket e‑knjiga + Подршка за читање мобипокет е‑књига + Podrška za čitanje Mobipocket e‑knjiga + Lägger till stöd för att läsa Mobipocket e-böcker + Mobipocket மின்புத்தகங்களைப் படிப்பதற்கான ஆதரவை சேர்க்கும் + Mobipocket e-kitaplarını okuma desteği ekler + Додає підтримку читання електронних книг у форматі Mobipocket + Thêm hỗ trợ đọc sách điện tử Mobipocket + 增加对 Mobipocket 电子书的阅读支持 + 加入讀取 Mobipocket 電子書的支援 + + image/bmp + image/x-dds + image/x-eps + image/x-exr + image/gif + image/x-hdr + image/x-ico + image/jp2 + image/jpeg + video/x-mng + image/x-portable-bitmap + image/x-pcx + image/x-portable-graymap + image/png + image/x-portable-pixmap + image/x-psd + image/x-rgb + image/x-tga + image/tiff + image/x-xbitmap + image/x-xcf + image/x-xpixmap + image/x-gzeps + image/x-bzeps + + https://okular.kde.org + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/generators/poppler/CMakeLists.txt b/generators/poppler/CMakeLists.txt new file mode 100644 index 0000000..fa74ab8 --- /dev/null +++ b/generators/poppler/CMakeLists.txt @@ -0,0 +1,49 @@ +remove_definitions(-DTRANSLATION_DOMAIN="okular") +add_definitions(-DTRANSLATION_DOMAIN="okular_poppler") + +add_subdirectory( conf ) + +set(CMAKE_REQUIRED_LIBRARIES Poppler::Qt6 Qt6::Core Qt6::Gui) + +include_directories( + ${CMAKE_CURRENT_SOURCE_DIR}/../.. +) + +########### next target ############### + +set(okularGenerator_poppler_PART_SRCS + generator_pdf.cpp + formfields.cpp + annots.cpp + pdfsignatureutils.cpp + pdfsettingswidget.cpp + imagescaling.cpp +) + +ki18n_wrap_ui(okularGenerator_poppler_PART_SRCS + conf/pdfsettingswidget.ui +) + +kconfig_add_kcfg_files(okularGenerator_poppler_PART_SRCS GENERATE_MOC conf/pdfsettings.kcfgc ) + +okular_add_generator(okularGenerator_poppler ${okularGenerator_poppler_PART_SRCS}) + +target_link_libraries(okularGenerator_poppler okularcore KF6::I18n KF6::Completion KF6::KIOWidgets Poppler::Qt6 Qt6::Xml) + +########### autotests ############### + +if(BUILD_TESTING) + ecm_add_test(autotests/testimagescaling.cpp + TEST_NAME "imageScalingTest" + LINK_LIBRARIES Qt6::Test Qt6::Gui + ) +endif() + +########### install files ############### +if (BUILD_DESKTOP) + install( PROGRAMS okularApplication_pdf.desktop DESTINATION ${KDE_INSTALL_APPDIR} ) +endif() +if (BUILD_MOBILE) + install( PROGRAMS org.kde.mobile.okular_pdf.desktop DESTINATION ${KDE_INSTALL_APPDIR} ) +endif() +install( FILES org.kde.okular-poppler.metainfo.xml DESTINATION ${KDE_INSTALL_METAINFODIR} ) diff --git a/generators/poppler/Messages.sh b/generators/poppler/Messages.sh new file mode 100644 index 0000000..a931f7d --- /dev/null +++ b/generators/poppler/Messages.sh @@ -0,0 +1,4 @@ +#!/bin/sh +$EXTRACTRC $(find conf/ -name "*.ui" -o -name "*.kcfg") >> rc.cpp || exit 11 +$XGETTEXT $(find . -name "*.cpp" -o -name "*.h") -o $podir/okular_poppler.pot +rm -f rc.cpp diff --git a/generators/poppler/annots.cpp b/generators/poppler/annots.cpp new file mode 100644 index 0000000..a2c20c7 --- /dev/null +++ b/generators/poppler/annots.cpp @@ -0,0 +1,1271 @@ +/* + SPDX-FileCopyrightText: 2008 Pino Toscano + SPDX-FileCopyrightText: 2012 Guillermo A. Amaral B. + + Work sponsored by the LiMux project of the city of Munich: + SPDX-FileCopyrightText: 2017 Klarälvdalens Datakonsult AB a KDAB Group company + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "annots.h" + +// qt/kde includes +#include +#include +#include +#include +#include +#include + +#include +#include + +#include "debug_pdf.h" +#include "generator_pdf.h" +#include "imagescaling.h" +#include "popplerembeddedfile.h" + +Q_DECLARE_METATYPE(Poppler::Annotation *) + +extern Okular::Sound *createSoundFromPopplerSound(const Poppler::SoundObject *popplerSound); +extern Okular::Movie *createMovieFromPopplerMovie(const Poppler::MovieObject *popplerMovie); +extern Okular::Movie *createMovieFromPopplerScreen(const Poppler::LinkRendition *popplerScreen); +extern QPair createMovieFromPopplerRichMedia(const Poppler::RichMediaAnnotation *popplerRichMedia); + +struct SignatureImageHelper { + SignatureImageHelper(std::unique_ptr &&tmpfile, const QString &imgpath) + : imageFile(std::move(tmpfile)) + , imagePath(imgpath) + { + } + std::unique_ptr imageFile; + QString imagePath; +}; + +static void disposeAnnotation(const Okular::Annotation *ann) +{ + Poppler::Annotation *popplerAnn = qvariant_cast(ann->nativeId()); + delete popplerAnn; +} + +static QPointF normPointToPointF(const Okular::NormalizedPoint &pt) +{ + return QPointF(pt.x, pt.y); +} + +static QRectF normRectToRectF(const Okular::NormalizedRect &rect) +{ + return QRectF(QPointF(rect.left, rect.top), QPointF(rect.right, rect.bottom)); +} + +// Poppler and Okular share the same flag values, but we don't want to export internal flags +static int maskExportedFlags(int flags) +{ + return flags & + (Okular::Annotation::Hidden | Okular::Annotation::FixedSize | Okular::Annotation::FixedRotation | Okular::Annotation::DenyPrint | Okular::Annotation::DenyWrite | Okular::Annotation::DenyDelete | + Okular::Annotation::ToggleHidingOnMouse); +} + +// BEGIN PopplerAnnotationProxy implementation +PopplerAnnotationProxy::PopplerAnnotationProxy(Poppler::Document *doc, QMutex *userMutex, QHash *annotsOnOpenHash) + : ppl_doc(doc) + , mutex(userMutex) + , annotationsOnOpenHash(annotsOnOpenHash) +{ +} + +PopplerAnnotationProxy::~PopplerAnnotationProxy() +{ +} + +bool PopplerAnnotationProxy::supports(Capability cap) const +{ + switch (cap) { + case Addition: + case Modification: + case Removal: + return true; + default: + return false; + } +} + +static Poppler::TextAnnotation::TextType okularToPoppler(Okular::TextAnnotation::TextType ott) +{ + switch (ott) { + case Okular::TextAnnotation::Linked: + return Poppler::TextAnnotation::Linked; + case Okular::TextAnnotation::InPlace: + return Poppler::TextAnnotation::InPlace; + default: + qWarning() << Q_FUNC_INFO << "unknown value" << ott; + } + + return Poppler::TextAnnotation::Linked; +} + +static Poppler::Annotation::LineEffect okularToPoppler(Okular::Annotation::LineEffect ole) +{ + switch (ole) { + case Okular::Annotation::NoEffect: + return Poppler::Annotation::NoEffect; + case Okular::Annotation::Cloudy: + return Poppler::Annotation::Cloudy; + default: + qWarning() << Q_FUNC_INFO << "unknown value" << ole; + } + + return Poppler::Annotation::NoEffect; +} + +static Poppler::Annotation::LineStyle okularToPoppler(Okular::Annotation::LineStyle ols) +{ + switch (ols) { + case Okular::Annotation::Solid: + return Poppler::Annotation::Solid; + case Okular::Annotation::Dashed: + return Poppler::Annotation::Dashed; + case Okular::Annotation::Beveled: + return Poppler::Annotation::Beveled; + case Okular::Annotation::Inset: + return Poppler::Annotation::Inset; + case Okular::Annotation::Underline: + return Poppler::Annotation::Underline; + default: + qWarning() << Q_FUNC_INFO << "unknown value" << ols; + } + + return Poppler::Annotation::Solid; +} + +static Poppler::TextAnnotation::InplaceIntent okularToPoppler(Okular::TextAnnotation::InplaceIntent oii) +{ + switch (oii) { + case Okular::TextAnnotation::Unknown: + return Poppler::TextAnnotation::Unknown; + case Okular::TextAnnotation::Callout: + return Poppler::TextAnnotation::Callout; + case Okular::TextAnnotation::TypeWriter: + return Poppler::TextAnnotation::TypeWriter; + default: + qWarning() << Q_FUNC_INFO << "unknown value" << oii; + } + + return Poppler::TextAnnotation::Unknown; +} + +static Poppler::LineAnnotation::TermStyle okularToPoppler(Okular::LineAnnotation::TermStyle ots) +{ + switch (ots) { + case Okular::LineAnnotation::Square: + return Poppler::LineAnnotation::Square; + case Okular::LineAnnotation::Circle: + return Poppler::LineAnnotation::Circle; + case Okular::LineAnnotation::Diamond: + return Poppler::LineAnnotation::Diamond; + case Okular::LineAnnotation::OpenArrow: + return Poppler::LineAnnotation::OpenArrow; + case Okular::LineAnnotation::ClosedArrow: + return Poppler::LineAnnotation::ClosedArrow; + case Okular::LineAnnotation::None: + return Poppler::LineAnnotation::None; + case Okular::LineAnnotation::Butt: + return Poppler::LineAnnotation::Butt; + case Okular::LineAnnotation::ROpenArrow: + return Poppler::LineAnnotation::ROpenArrow; + case Okular::LineAnnotation::RClosedArrow: + return Poppler::LineAnnotation::RClosedArrow; + case Okular::LineAnnotation::Slash: + return Poppler::LineAnnotation::Slash; + default: + qWarning() << Q_FUNC_INFO << "unknown value" << ots; + } + + return Poppler::LineAnnotation::None; +} + +static Poppler::LineAnnotation::LineIntent okularToPoppler(Okular::LineAnnotation::LineIntent oli) +{ + switch (oli) { + case Okular::LineAnnotation::Unknown: + return Poppler::LineAnnotation::Unknown; + case Okular::LineAnnotation::Arrow: + return Poppler::LineAnnotation::Arrow; + case Okular::LineAnnotation::Dimension: + return Poppler::LineAnnotation::Dimension; + case Okular::LineAnnotation::PolygonCloud: + return Poppler::LineAnnotation::PolygonCloud; + default: + qWarning() << Q_FUNC_INFO << "unknown value" << oli; + } + + return Poppler::LineAnnotation::Unknown; +} + +static Poppler::GeomAnnotation::GeomType okularToPoppler(Okular::GeomAnnotation::GeomType ogt) +{ + switch (ogt) { + case Okular::GeomAnnotation::InscribedSquare: + return Poppler::GeomAnnotation::InscribedSquare; + case Okular::GeomAnnotation::InscribedCircle: + return Poppler::GeomAnnotation::InscribedCircle; + default: + qWarning() << Q_FUNC_INFO << "unknown value" << ogt; + } + + return Poppler::GeomAnnotation::InscribedSquare; +} + +static Poppler::HighlightAnnotation::HighlightType okularToPoppler(Okular::HighlightAnnotation::HighlightType oht) +{ + switch (oht) { + case Okular::HighlightAnnotation::Highlight: + return Poppler::HighlightAnnotation::Highlight; + case Okular::HighlightAnnotation::Squiggly: + return Poppler::HighlightAnnotation::Squiggly; + case Okular::HighlightAnnotation::Underline: + return Poppler::HighlightAnnotation::Underline; + case Okular::HighlightAnnotation::StrikeOut: + return Poppler::HighlightAnnotation::StrikeOut; + default: + qWarning() << Q_FUNC_INFO << "unknown value" << oht; + } + + return Poppler::HighlightAnnotation::Highlight; +} + +static Poppler::CaretAnnotation::CaretSymbol okularToPoppler(Okular::CaretAnnotation::CaretSymbol ocs) +{ + switch (ocs) { + case Okular::CaretAnnotation::None: + return Poppler::CaretAnnotation::None; + case Okular::CaretAnnotation::P: + return Poppler::CaretAnnotation::P; + default: + qWarning() << Q_FUNC_INFO << "unknown value" << ocs; + } + + return Poppler::CaretAnnotation::None; +} + +static Poppler::Annotation::Style okularToPoppler(const Okular::Annotation::Style &oStyle) +{ + Poppler::Annotation::Style pStyle; + pStyle.setColor(oStyle.color()); + pStyle.setOpacity(oStyle.opacity()); + pStyle.setLineEffect(okularToPoppler(oStyle.lineEffect())); + pStyle.setEffectIntensity(oStyle.effectIntensity()); + pStyle.setWidth(oStyle.width()); + pStyle.setLineStyle(okularToPoppler(oStyle.lineStyle())); + pStyle.setXCorners(oStyle.xCorners()); + pStyle.setYCorners(oStyle.yCorners()); + + return pStyle; +} + +static Poppler::Annotation::Popup okularToPoppler(const Okular::Annotation::Window &oWindow) +{ + Poppler::Annotation::Popup pWindow; + pWindow.setGeometry(QRectF(oWindow.topLeft().x, oWindow.topLeft().y, oWindow.width(), oWindow.height())); + // flags being ints is super fragile, should be enums on both ends, but Poppler::Annotation::setPopup is a noop so it's not like it matters + pWindow.setFlags(oWindow.flags()); + pWindow.setTitle(oWindow.title()); + pWindow.setSummary(oWindow.summary()); + + return pWindow; +} + +static void setSharedAnnotationPropertiesToPopplerAnnotation(const Okular::Annotation *okularAnnotation, Poppler::Annotation *popplerAnnotation) +{ + popplerAnnotation->setAuthor(okularAnnotation->author()); + popplerAnnotation->setContents(okularAnnotation->contents()); + popplerAnnotation->setUniqueName(okularAnnotation->uniqueName()); + + // Note: flags and boundary must be set first in order to correctly handle + // FixedRotation annotations. + popplerAnnotation->setFlags(static_cast(maskExportedFlags(okularAnnotation->flags()))); + popplerAnnotation->setBoundary(normRectToRectF(okularAnnotation->boundingRectangle())); + + popplerAnnotation->setStyle(okularToPoppler(okularAnnotation->style())); + popplerAnnotation->setPopup(okularToPoppler(okularAnnotation->window())); + + popplerAnnotation->setCreationDate(okularAnnotation->creationDate()); + popplerAnnotation->setModificationDate(okularAnnotation->modificationDate()); +} + +static void setPopplerStampAnnotationCustomImage(const Poppler::Page *page, Poppler::StampAnnotation *pStampAnnotation, const Okular::StampAnnotation *oStampAnnotation) +{ + const QSize size = page->pageSize(); + const QRect rect = Okular::AnnotationUtils::annotationGeometry(oStampAnnotation, size.width(), size.height()); + + QImage image = Okular::AnnotationUtils::loadStamp(oStampAnnotation->stampIconName(), rect.size()).toImage(); + + if (!image.isNull()) { + pStampAnnotation->setStampCustomImage(image); + } +} + +static void updatePopplerAnnotationFromOkularAnnotation(const Okular::TextAnnotation *oTextAnnotation, Poppler::TextAnnotation *pTextAnnotation) +{ + pTextAnnotation->setTextIcon(oTextAnnotation->textIcon()); + pTextAnnotation->setTextFont(oTextAnnotation->textFont()); + pTextAnnotation->setTextColor(oTextAnnotation->textColor()); + pTextAnnotation->setInplaceAlign(static_cast(oTextAnnotation->inplaceAlignment())); + pTextAnnotation->setInplaceIntent(okularToPoppler(oTextAnnotation->inplaceIntent())); + pTextAnnotation->setCalloutPoints(QList()); +} + +static void updatePopplerAnnotationFromOkularAnnotation(const Okular::LineAnnotation *oLineAnnotation, Poppler::LineAnnotation *pLineAnnotation) +{ + QList points; + const QList annotPoints = oLineAnnotation->linePoints(); + for (const Okular::NormalizedPoint &p : annotPoints) { + points.append(normPointToPointF(p)); + } + pLineAnnotation->setLinePoints(points); + pLineAnnotation->setLineStartStyle(okularToPoppler(oLineAnnotation->lineStartStyle())); + pLineAnnotation->setLineEndStyle(okularToPoppler(oLineAnnotation->lineEndStyle())); + pLineAnnotation->setLineClosed(oLineAnnotation->lineClosed()); + pLineAnnotation->setLineInnerColor(oLineAnnotation->lineInnerColor()); + pLineAnnotation->setLineLeadingForwardPoint(oLineAnnotation->lineLeadingForwardPoint()); + pLineAnnotation->setLineLeadingBackPoint(oLineAnnotation->lineLeadingBackwardPoint()); + pLineAnnotation->setLineShowCaption(oLineAnnotation->showCaption()); + pLineAnnotation->setLineIntent(okularToPoppler(oLineAnnotation->lineIntent())); +} + +static void updatePopplerAnnotationFromOkularAnnotation(const Okular::GeomAnnotation *oGeomAnnotation, Poppler::GeomAnnotation *pGeomAnnotation) +{ + pGeomAnnotation->setGeomType(okularToPoppler(oGeomAnnotation->geometricalType())); + pGeomAnnotation->setGeomInnerColor(oGeomAnnotation->geometricalInnerColor()); +} + +static void updatePopplerAnnotationFromOkularAnnotation(const Okular::HighlightAnnotation *oHighlightAnnotation, Poppler::HighlightAnnotation *pHighlightAnnotation) +{ + pHighlightAnnotation->setHighlightType(okularToPoppler(oHighlightAnnotation->highlightType())); + + const QList &oQuads = oHighlightAnnotation->highlightQuads(); + QList pQuads; + for (const Okular::HighlightAnnotation::Quad &oQuad : oQuads) { + Poppler::HighlightAnnotation::Quad pQuad; + pQuad.points[0] = normPointToPointF(oQuad.point(3)); + pQuad.points[1] = normPointToPointF(oQuad.point(2)); + pQuad.points[2] = normPointToPointF(oQuad.point(1)); + pQuad.points[3] = normPointToPointF(oQuad.point(0)); + pQuad.capStart = oQuad.capStart(); + pQuad.capEnd = oQuad.capEnd(); + pQuad.feather = oQuad.feather(); + pQuads << pQuad; + } + pHighlightAnnotation->setHighlightQuads(pQuads); +} + +static void updatePopplerAnnotationFromOkularAnnotation(const Okular::StampAnnotation *oStampAnnotation, Poppler::StampAnnotation *pStampAnnotation, const Poppler::Page *page) +{ + setPopplerStampAnnotationCustomImage(page, pStampAnnotation, oStampAnnotation); +} + +static void updatePopplerAnnotationFromOkularAnnotation(const Okular::InkAnnotation *oInkAnnotation, Poppler::InkAnnotation *pInkAnnotation) +{ + QList> paths; + const QList> inkPathsList = oInkAnnotation->inkPaths(); + for (const QList &path : inkPathsList) { + QList points; + for (const Okular::NormalizedPoint &p : path) { + points.append(normPointToPointF(p)); + } + paths.append(points); + } + pInkAnnotation->setInkPaths(paths); +} + +static void updatePopplerAnnotationFromOkularAnnotation(const Okular::CaretAnnotation *oCaretAnnotation, Poppler::CaretAnnotation *pCaretAnnotation) +{ + pCaretAnnotation->setCaretSymbol(okularToPoppler(oCaretAnnotation->caretSymbol())); +} + +static Poppler::Annotation *createPopplerAnnotationFromOkularAnnotation(const Okular::TextAnnotation *oTextAnnotation) +{ + Poppler::TextAnnotation *pTextAnnotation = new Poppler::TextAnnotation(okularToPoppler(oTextAnnotation->textType())); + + setSharedAnnotationPropertiesToPopplerAnnotation(oTextAnnotation, pTextAnnotation); + updatePopplerAnnotationFromOkularAnnotation(oTextAnnotation, pTextAnnotation); + + return pTextAnnotation; +} + +static Poppler::Annotation *createPopplerAnnotationFromOkularAnnotation(const Okular::LineAnnotation *oLineAnnotation) +{ + const auto points = oLineAnnotation->linePoints(); + Poppler::LineAnnotation *pLineAnnotation = new Poppler::LineAnnotation(points.size() == 2 ? Poppler::LineAnnotation::StraightLine : Poppler::LineAnnotation::Polyline); + + setSharedAnnotationPropertiesToPopplerAnnotation(oLineAnnotation, pLineAnnotation); + updatePopplerAnnotationFromOkularAnnotation(oLineAnnotation, pLineAnnotation); + + return pLineAnnotation; +} + +static Poppler::Annotation *createPopplerAnnotationFromOkularAnnotation(const Okular::GeomAnnotation *oGeomAnnotation) +{ + Poppler::GeomAnnotation *pGeomAnnotation = new Poppler::GeomAnnotation(); + + setSharedAnnotationPropertiesToPopplerAnnotation(oGeomAnnotation, pGeomAnnotation); + updatePopplerAnnotationFromOkularAnnotation(oGeomAnnotation, pGeomAnnotation); + + return pGeomAnnotation; +} + +static Poppler::Annotation *createPopplerAnnotationFromOkularAnnotation(const Okular::HighlightAnnotation *oHighlightAnnotation) +{ + Poppler::HighlightAnnotation *pHighlightAnnotation = new Poppler::HighlightAnnotation(); + + setSharedAnnotationPropertiesToPopplerAnnotation(oHighlightAnnotation, pHighlightAnnotation); + updatePopplerAnnotationFromOkularAnnotation(oHighlightAnnotation, pHighlightAnnotation); + + return pHighlightAnnotation; +} + +static Poppler::Annotation *createPopplerAnnotationFromOkularAnnotation(const Okular::StampAnnotation *oStampAnnotation, const Poppler::Page *page) +{ + Poppler::StampAnnotation *pStampAnnotation = new Poppler::StampAnnotation(); + + setSharedAnnotationPropertiesToPopplerAnnotation(oStampAnnotation, pStampAnnotation); + updatePopplerAnnotationFromOkularAnnotation(oStampAnnotation, pStampAnnotation, page); + + return pStampAnnotation; +} + +#if HAVE_NEW_SIGNATURE_API +static Okular::SigningResult popplerToOkular(Poppler::SignatureAnnotation::SigningResult pResult) +{ + switch (pResult) { + case Poppler::SignatureAnnotation::SigningSuccess: + return Okular::SigningSuccess; + case Poppler::SignatureAnnotation::FieldAlreadySigned: + return Okular::FieldAlreadySigned; + case Poppler::SignatureAnnotation::GenericSigningError: + return Okular::GenericSigningError; +#if POPPLER_VERSION_MACRO >= QT_VERSION_CHECK(24, 12, 0) + case Poppler::SignatureAnnotation::InternalError: + return Okular::InternalSigningError; + case Poppler::SignatureAnnotation::KeyMissing: + return Okular::KeyMissing; + case Poppler::SignatureAnnotation::WriteFailed: + return Okular::SignatureWriteFailed; + case Poppler::SignatureAnnotation::UserCancelled: + return Okular::UserCancelled; +#endif +#if POPPLER_VERSION_MACRO >= QT_VERSION_CHECK(25, 02, 90) + case Poppler::SignatureAnnotation::BadPassphrase: + return Okular::UserCancelled; +#endif + } + return Okular::GenericSigningError; +} + +static QSize calculateImagePixelSize(int page, const Okular::NormalizedRect &bRect, Poppler::Document *pdfdoc) +{ + // 2 is an experimental decided upon fudge factor to compensate for the fact that pageSize is in points + // but most of this ends up working in pixels anyway + double width = pdfdoc->page(page)->pageSizeF().width() * bRect.width() * 2; + double height = pdfdoc->page(page)->pageSizeF().height() * bRect.height() * 2; + + return QSize(width, height); +} + +static bool isValidImageSize(QSize size) +{ + // if the image gets too small, embedding it fails horribly, so better detect up front and ignore it + return size.width() > 5 && size.height() > 5; +} + +static void resizeImage(const SignatureImageHelper *helper, QSize size) +{ + QImageReader reader(helper->imagePath); + + QSize imageSize = reader.size(); + if (!reader.size().isNull()) { + reader.setScaledSize(imageSize.scaled(size, Qt::KeepAspectRatio)); + } + auto input = reader.read(); + if (!input.isNull()) { + auto scaled = imagescaling::scaleAndFitCanvas(input, size); + scaled.save(helper->imageFile->fileName(), "png"); + } +} + +static std::unique_ptr createPopplerAnnotationFromOkularAnnotation(Okular::SignatureAnnotation *oSignatureAnnotation, Poppler::Document *pdfdoc) +{ + auto pSignatureAnnotation = std::make_unique(); + + auto helper = std::make_shared(std::make_unique(QDir::tempPath() + QStringLiteral("/okular_signature_XXXXXXX.png")), oSignatureAnnotation->imagePath()); + helper->imageFile->setAutoRemove(true); + if (!helper->imageFile->open()) { + return {}; + } + + pSignatureAnnotation->setBorderColor(QColor(0, 0, 0)); + pSignatureAnnotation->setFontColor(QColor(0, 0, 0)); + + setSharedAnnotationPropertiesToPopplerAnnotation(oSignatureAnnotation, pSignatureAnnotation.get()); + pSignatureAnnotation->setLeftText(oSignatureAnnotation->leftText()); + pSignatureAnnotation->setText(oSignatureAnnotation->text()); + pSignatureAnnotation->setFieldPartialName(oSignatureAnnotation->fieldPartialName()); + pSignatureAnnotation->setFontSize(oSignatureAnnotation->fontSize()); + pSignatureAnnotation->setLeftFontSize(oSignatureAnnotation->leftFontSize()); + + if (!oSignatureAnnotation->imagePath().isEmpty()) { + QSize imageSize = calculateImagePixelSize(oSignatureAnnotation->page(), oSignatureAnnotation->boundingRectangle(), pdfdoc); + if (isValidImageSize(imageSize)) { + resizeImage(helper.get(), imageSize); + pSignatureAnnotation->setImagePath(helper->imageFile->fileName()); + } + oSignatureAnnotation->setNativeData(helper); + } + + oSignatureAnnotation->setSignFunction([signatureAnnotation = pSignatureAnnotation.get()](const Okular::NewSignatureData &oData, const QString &fileName) -> std::pair { + Poppler::PDFConverter::NewSignatureData pData; + PDFGenerator::okularToPoppler(oData, &pData); +#if POPPLER_VERSION_MACRO > QT_VERSION_CHECK(25, 06, 0) + return std::pair(popplerToOkular(signatureAnnotation->sign(fileName, pData)), signatureAnnotation->lastSigningErrorDetails().data.toString()); +#else + return std::pair {popplerToOkular(signatureAnnotation->sign(fileName, pData)), QString {}}; +#endif + }); + + return pSignatureAnnotation; +} +#endif + +static Poppler::Annotation *createPopplerAnnotationFromOkularAnnotation(const Okular::InkAnnotation *oInkAnnotation) +{ + Poppler::InkAnnotation *pInkAnnotation = new Poppler::InkAnnotation(); + + setSharedAnnotationPropertiesToPopplerAnnotation(oInkAnnotation, pInkAnnotation); + updatePopplerAnnotationFromOkularAnnotation(oInkAnnotation, pInkAnnotation); + + return pInkAnnotation; +} + +static Poppler::Annotation *createPopplerAnnotationFromOkularAnnotation(const Okular::CaretAnnotation *oCaretAnnotation) +{ + Poppler::CaretAnnotation *pCaretAnnotation = new Poppler::CaretAnnotation(); + + setSharedAnnotationPropertiesToPopplerAnnotation(oCaretAnnotation, pCaretAnnotation); + updatePopplerAnnotationFromOkularAnnotation(oCaretAnnotation, pCaretAnnotation); + + return pCaretAnnotation; +} +void PopplerAnnotationProxy::notifyAddition(Okular::Annotation *okl_ann, int page) +{ + QMutexLocker ml(mutex); + + std::unique_ptr ppl_page = ppl_doc->page(page); + + // Create poppler annotation + Poppler::Annotation *ppl_ann = nullptr; + switch (okl_ann->subType()) { + case Okular::Annotation::AText: + ppl_ann = createPopplerAnnotationFromOkularAnnotation(static_cast(okl_ann)); + break; + case Okular::Annotation::ALine: + ppl_ann = createPopplerAnnotationFromOkularAnnotation(static_cast(okl_ann)); + break; + case Okular::Annotation::AGeom: + ppl_ann = createPopplerAnnotationFromOkularAnnotation(static_cast(okl_ann)); + break; + case Okular::Annotation::AHighlight: + ppl_ann = createPopplerAnnotationFromOkularAnnotation(static_cast(okl_ann)); + break; + case Okular::Annotation::AStamp: { + bool wasDenyWriteEnabled = okl_ann->flags() & Okular::Annotation::DenyWrite; + + if (wasDenyWriteEnabled) { + okl_ann->setFlags(okl_ann->flags() & ~Okular::Annotation::DenyWrite); + } + + ppl_ann = createPopplerAnnotationFromOkularAnnotation(static_cast(okl_ann), ppl_page.get()); + if (deletedStampsAnnotationAppearance.find(static_cast(okl_ann)) != deletedStampsAnnotationAppearance.end()) { + ppl_ann->setAnnotationAppearance(*deletedStampsAnnotationAppearance[static_cast(okl_ann)].get()); + deletedStampsAnnotationAppearance.erase(static_cast(okl_ann)); + + if (wasDenyWriteEnabled) { + okl_ann->setFlags(okl_ann->flags() | Okular::Annotation::DenyWrite); + } + } + } break; + case Okular::Annotation::AInk: + ppl_ann = createPopplerAnnotationFromOkularAnnotation(static_cast(okl_ann)); + break; + case Okular::Annotation::ACaret: + ppl_ann = createPopplerAnnotationFromOkularAnnotation(static_cast(okl_ann)); + break; +#if HAVE_NEW_SIGNATURE_API + case Okular::Annotation::AWidget: { + if (auto signatureAnnt = dynamic_cast(okl_ann)) { + signatureAnnt->setPage(page); + ppl_ann = createPopplerAnnotationFromOkularAnnotation(signatureAnnt, ppl_doc).release(); + } else { + qWarning() << "Unsupported annotation type" << okl_ann->subType(); + } + + break; + } +#endif + + default: + qWarning() << "Unsupported annotation type" << okl_ann->subType(); + return; + } + + okl_ann->setFlags(okl_ann->flags() | Okular::Annotation::ExternallyDrawn); + + // Bind poppler object to page + ppl_page->addAnnotation(ppl_ann); + + // Set pointer to poppler annotation as native Id + okl_ann->setNativeId(QVariant::fromValue(ppl_ann)); + okl_ann->setDisposeDataFunction(disposeAnnotation); + + qCDebug(OkularPdfDebug) << okl_ann->uniqueName(); +} + +void PopplerAnnotationProxy::notifyModification(const Okular::Annotation *okl_ann, int page, bool appearanceChanged) +{ + Q_UNUSED(page); + Q_UNUSED(appearanceChanged); + + Poppler::Annotation *ppl_ann = qvariant_cast(okl_ann->nativeId()); + + if (!ppl_ann) { // Ignore non-native annotations + return; + } + + QMutexLocker ml(mutex); + + if (okl_ann->flags() & (Okular::Annotation::BeingMoved | Okular::Annotation::BeingResized)) { + // Okular ui already renders the annotation on its own + ppl_ann->setFlags(Poppler::Annotation::Hidden); + return; + } + + // Set basic properties + // Note: flags and boundary must be set first in order to correctly handle + // FixedRotation annotations. + ppl_ann->setFlags(static_cast(maskExportedFlags(okl_ann->flags()))); + ppl_ann->setBoundary(normRectToRectF(okl_ann->boundingRectangle())); + + ppl_ann->setAuthor(okl_ann->author()); + ppl_ann->setContents(okl_ann->contents()); + + ppl_ann->setStyle(okularToPoppler(okl_ann->style())); + + // Set type-specific properties (if any) + switch (ppl_ann->subType()) { + case Poppler::Annotation::AText: { + const Okular::TextAnnotation *okl_txtann = static_cast(okl_ann); + Poppler::TextAnnotation *ppl_txtann = static_cast(ppl_ann); + updatePopplerAnnotationFromOkularAnnotation(okl_txtann, ppl_txtann); + break; + } + case Poppler::Annotation::ALine: { + const Okular::LineAnnotation *okl_lineann = static_cast(okl_ann); + Poppler::LineAnnotation *ppl_lineann = static_cast(ppl_ann); + updatePopplerAnnotationFromOkularAnnotation(okl_lineann, ppl_lineann); + break; + } + case Poppler::Annotation::AGeom: { + const Okular::GeomAnnotation *okl_geomann = static_cast(okl_ann); + Poppler::GeomAnnotation *ppl_geomann = static_cast(ppl_ann); + updatePopplerAnnotationFromOkularAnnotation(okl_geomann, ppl_geomann); + break; + } + case Poppler::Annotation::AHighlight: { + const Okular::HighlightAnnotation *okl_hlann = static_cast(okl_ann); + Poppler::HighlightAnnotation *ppl_hlann = static_cast(ppl_ann); + updatePopplerAnnotationFromOkularAnnotation(okl_hlann, ppl_hlann); + break; + } + case Poppler::Annotation::AStamp: { + const Okular::StampAnnotation *okl_stampann = static_cast(okl_ann); + Poppler::StampAnnotation *ppl_stampann = static_cast(ppl_ann); + std::unique_ptr ppl_page = ppl_doc->page(page); + updatePopplerAnnotationFromOkularAnnotation(okl_stampann, ppl_stampann, ppl_page.get()); + break; + } + case Poppler::Annotation::AInk: { + const Okular::InkAnnotation *okl_inkann = static_cast(okl_ann); + Poppler::InkAnnotation *ppl_inkann = static_cast(ppl_ann); + updatePopplerAnnotationFromOkularAnnotation(okl_inkann, ppl_inkann); + break; + } + case Poppler::Annotation::AWidget: +#if HAVE_NEW_SIGNATURE_API + { + if (auto signature = dynamic_cast(okl_ann)) { + auto helper = static_cast(signature->nativeData()); + + if (helper) { + auto popplerSigAnnot = static_cast(ppl_ann); + QSize imageSize = calculateImagePixelSize(signature->page(), signature->boundingRectangle(), ppl_doc); + if (isValidImageSize(imageSize)) { + resizeImage(helper, imageSize); + popplerSigAnnot->setImagePath(helper->imageFile->fileName()); + } else { + popplerSigAnnot->setImagePath({}); + } + } + + break; + } + } +#endif + [[fallthrough]]; + default: + qCDebug(OkularPdfDebug) << "Type-specific property modification is not implemented for this annotation type"; + break; + } + + qCDebug(OkularPdfDebug) << okl_ann->uniqueName(); +} + +void PopplerAnnotationProxy::notifyRemoval(Okular::Annotation *okl_ann, int page) +{ + Poppler::Annotation *ppl_ann = qvariant_cast(okl_ann->nativeId()); + + if (!ppl_ann) { // Ignore non-native annotations + return; + } + + QMutexLocker ml(mutex); + + std::unique_ptr ppl_page = ppl_doc->page(page); + annotationsOnOpenHash->remove(okl_ann); + if (okl_ann->subType() == Okular::Annotation::AStamp) { + deletedStampsAnnotationAppearance[static_cast(okl_ann)] = ppl_ann->annotationAppearance(); + } + ppl_page->removeAnnotation(ppl_ann); // Also destroys ppl_ann + + okl_ann->setNativeId(QVariant::fromValue(0)); // So that we don't double-free in disposeAnnotation + + qCDebug(OkularPdfDebug) << okl_ann->uniqueName(); +} +// END PopplerAnnotationProxy implementation + +static Okular::Annotation::LineStyle popplerToOkular(Poppler::Annotation::LineStyle s) +{ + switch (s) { + case Poppler::Annotation::Solid: + return Okular::Annotation::Solid; + case Poppler::Annotation::Dashed: + return Okular::Annotation::Dashed; + case Poppler::Annotation::Beveled: + return Okular::Annotation::Beveled; + case Poppler::Annotation::Inset: + return Okular::Annotation::Inset; + case Poppler::Annotation::Underline: + return Okular::Annotation::Underline; + default: + qWarning() << Q_FUNC_INFO << "unknown value" << s; + } + + return Okular::Annotation::Solid; +} + +static Okular::Annotation::LineEffect popplerToOkular(Poppler::Annotation::LineEffect e) +{ + switch (e) { + case Poppler::Annotation::NoEffect: + return Okular::Annotation::NoEffect; + case Poppler::Annotation::Cloudy: + return Okular::Annotation::Cloudy; + default: + qWarning() << Q_FUNC_INFO << "unknown value" << e; + } + + return Okular::Annotation::NoEffect; +} + +static Okular::Annotation::RevisionScope popplerToOkular(Poppler::Annotation::RevScope s) +{ + switch (s) { + case Poppler::Annotation::Root: + Q_UNREACHABLE(); + case Poppler::Annotation::Reply: + return Okular::Annotation::Reply; + case Poppler::Annotation::Group: + return Okular::Annotation::Group; + case Poppler::Annotation::Delete: + return Okular::Annotation::Delete; + default: + qWarning() << Q_FUNC_INFO << "unknown value" << s; + } + + return Okular::Annotation::Reply; +} + +static Okular::Annotation::RevisionType popplerToOkular(Poppler::Annotation::RevType t) +{ + switch (t) { + case Poppler::Annotation::None: + return Okular::Annotation::None; + case Poppler::Annotation::Marked: + return Okular::Annotation::Marked; + case Poppler::Annotation::Unmarked: + return Okular::Annotation::Unmarked; + case Poppler::Annotation::Accepted: + return Okular::Annotation::Accepted; + case Poppler::Annotation::Rejected: + return Okular::Annotation::Rejected; + case Poppler::Annotation::Cancelled: + return Okular::Annotation::Cancelled; + case Poppler::Annotation::Completed: + return Okular::Annotation::Completed; + default: + qWarning() << Q_FUNC_INFO << "unknown value" << t; + } + + return Okular::Annotation::None; +} + +static Okular::TextAnnotation::TextType popplerToOkular(Poppler::TextAnnotation::TextType ptt) +{ + switch (ptt) { + case Poppler::TextAnnotation::Linked: + return Okular::TextAnnotation::Linked; + case Poppler::TextAnnotation::InPlace: + return Okular::TextAnnotation::InPlace; + default: + qWarning() << Q_FUNC_INFO << "unknown value" << ptt; + } + + return Okular::TextAnnotation::Linked; +} + +static Okular::TextAnnotation::InplaceIntent popplerToOkular(Poppler::TextAnnotation::InplaceIntent pii) +{ + switch (pii) { + case Poppler::TextAnnotation::Unknown: + return Okular::TextAnnotation::Unknown; + case Poppler::TextAnnotation::Callout: + return Okular::TextAnnotation::Callout; + case Poppler::TextAnnotation::TypeWriter: + return Okular::TextAnnotation::TypeWriter; + default: + qWarning() << Q_FUNC_INFO << "unknown value" << pii; + } + + return Okular::TextAnnotation::Unknown; +} + +static Okular::LineAnnotation::TermStyle popplerToOkular(Poppler::LineAnnotation::TermStyle pts) +{ + switch (pts) { + case Poppler::LineAnnotation::Square: + return Okular::LineAnnotation::Square; + case Poppler::LineAnnotation::Circle: + return Okular::LineAnnotation::Circle; + case Poppler::LineAnnotation::Diamond: + return Okular::LineAnnotation::Diamond; + case Poppler::LineAnnotation::OpenArrow: + return Okular::LineAnnotation::OpenArrow; + case Poppler::LineAnnotation::ClosedArrow: + return Okular::LineAnnotation::ClosedArrow; + case Poppler::LineAnnotation::None: + return Okular::LineAnnotation::None; + case Poppler::LineAnnotation::Butt: + return Okular::LineAnnotation::Butt; + case Poppler::LineAnnotation::ROpenArrow: + return Okular::LineAnnotation::ROpenArrow; + case Poppler::LineAnnotation::RClosedArrow: + return Okular::LineAnnotation::RClosedArrow; + case Poppler::LineAnnotation::Slash: + return Okular::LineAnnotation::Slash; + default: + qWarning() << Q_FUNC_INFO << "unknown value" << pts; + } + + return Okular::LineAnnotation::None; +} + +static Okular::LineAnnotation::LineIntent popplerToOkular(Poppler::LineAnnotation::LineIntent pli) +{ + switch (pli) { + case Poppler::LineAnnotation::Unknown: + return Okular::LineAnnotation::Unknown; + case Poppler::LineAnnotation::Arrow: + return Okular::LineAnnotation::Arrow; + case Poppler::LineAnnotation::Dimension: + return Okular::LineAnnotation::Dimension; + case Poppler::LineAnnotation::PolygonCloud: + return Okular::LineAnnotation::PolygonCloud; + default: + qWarning() << Q_FUNC_INFO << "unknown value" << pli; + } + + return Okular::LineAnnotation::Unknown; +} + +static Okular::GeomAnnotation::GeomType popplerToOkular(Poppler::GeomAnnotation::GeomType pgt) +{ + switch (pgt) { + case Poppler::GeomAnnotation::InscribedSquare: + return Okular::GeomAnnotation::InscribedSquare; + case Poppler::GeomAnnotation::InscribedCircle: + return Okular::GeomAnnotation::InscribedCircle; + default: + qWarning() << Q_FUNC_INFO << "unknown value" << pgt; + } + + return Okular::GeomAnnotation::InscribedSquare; +} + +static Okular::HighlightAnnotation::HighlightType popplerToOkular(Poppler::HighlightAnnotation::HighlightType pht) +{ + switch (pht) { + case Poppler::HighlightAnnotation::Highlight: + return Okular::HighlightAnnotation::Highlight; + case Poppler::HighlightAnnotation::Squiggly: + return Okular::HighlightAnnotation::Squiggly; + case Poppler::HighlightAnnotation::Underline: + return Okular::HighlightAnnotation::Underline; + case Poppler::HighlightAnnotation::StrikeOut: + return Okular::HighlightAnnotation::StrikeOut; + default: + qWarning() << Q_FUNC_INFO << "unknown value" << pht; + } + + return Okular::HighlightAnnotation::Highlight; +} + +static Okular::CaretAnnotation::CaretSymbol popplerToOkular(Poppler::CaretAnnotation::CaretSymbol pcs) +{ + switch (pcs) { + case Poppler::CaretAnnotation::None: + return Okular::CaretAnnotation::None; + case Poppler::CaretAnnotation::P: + return Okular::CaretAnnotation::P; + default: + qWarning() << Q_FUNC_INFO << "unknown value" << pcs; + } + + return Okular::CaretAnnotation::None; +} + +static Okular::Annotation *createAnnotationFromPopplerAnnotation(Poppler::TextAnnotation *popplerAnnotation) +{ + Okular::TextAnnotation *oTextAnn = new Okular::TextAnnotation(); + + oTextAnn->setTextType(popplerToOkular(popplerAnnotation->textType())); + oTextAnn->setTextIcon(popplerAnnotation->textIcon()); + oTextAnn->setTextFont(popplerAnnotation->textFont()); + oTextAnn->setTextColor(popplerAnnotation->textColor()); + // this works because we use the same 0:left, 1:center, 2:right meaning both in poppler and okular + oTextAnn->setInplaceAlignment(popplerAnnotation->inplaceAlign()); + oTextAnn->setInplaceIntent(popplerToOkular(popplerAnnotation->inplaceIntent())); + for (int i = 0; i < 3; ++i) { + const QPointF p = popplerAnnotation->calloutPoint(i); + oTextAnn->setInplaceCallout({p.x(), p.y()}, i); + } + + return oTextAnn; +} + +static Okular::Annotation *createAnnotationFromPopplerAnnotation(const Poppler::LineAnnotation *popplerAnnotation) +{ + Okular::LineAnnotation *oLineAnn = new Okular::LineAnnotation(); + + oLineAnn->setLineStartStyle(popplerToOkular(popplerAnnotation->lineStartStyle())); + oLineAnn->setLineEndStyle(popplerToOkular(popplerAnnotation->lineEndStyle())); + oLineAnn->setLineClosed(popplerAnnotation->isLineClosed()); + oLineAnn->setLineInnerColor(popplerAnnotation->lineInnerColor()); + oLineAnn->setLineLeadingForwardPoint(popplerAnnotation->lineLeadingForwardPoint()); + oLineAnn->setLineLeadingBackwardPoint(popplerAnnotation->lineLeadingBackPoint()); + oLineAnn->setShowCaption(popplerAnnotation->lineShowCaption()); + oLineAnn->setLineIntent(popplerToOkular(popplerAnnotation->lineIntent())); + + QList points; + const QList popplerPoints = popplerAnnotation->linePoints(); + for (const QPointF &p : popplerPoints) { + points << Okular::NormalizedPoint(p.x(), p.y()); + } + oLineAnn->setLinePoints(points); + + return oLineAnn; +} + +static Okular::Annotation *createAnnotationFromPopplerAnnotation(const Poppler::GeomAnnotation *popplerAnnotation) +{ + Okular::GeomAnnotation *oGeomAnn = new Okular::GeomAnnotation(); + + oGeomAnn->setGeometricalType(popplerToOkular(popplerAnnotation->geomType())); + oGeomAnn->setGeometricalInnerColor(popplerAnnotation->geomInnerColor()); + + return oGeomAnn; +} + +static Okular::Annotation *createAnnotationFromPopplerAnnotation(const Poppler::HighlightAnnotation *popplerAnnotation) +{ + Okular::HighlightAnnotation *oHighlightAnn = new Okular::HighlightAnnotation(); + + oHighlightAnn->setHighlightType(popplerToOkular(popplerAnnotation->highlightType())); + + const QList popplerHq = popplerAnnotation->highlightQuads(); + QList &okularHq = oHighlightAnn->highlightQuads(); + + for (const Poppler::HighlightAnnotation::Quad &popplerQ : popplerHq) { + Okular::HighlightAnnotation::Quad q; + + // Poppler stores highlight points in swapped order + q.setPoint(Okular::NormalizedPoint(popplerQ.points[0].x(), popplerQ.points[0].y()), 3); + q.setPoint(Okular::NormalizedPoint(popplerQ.points[1].x(), popplerQ.points[1].y()), 2); + q.setPoint(Okular::NormalizedPoint(popplerQ.points[2].x(), popplerQ.points[2].y()), 1); + q.setPoint(Okular::NormalizedPoint(popplerQ.points[3].x(), popplerQ.points[3].y()), 0); + + q.setCapStart(popplerQ.capStart); + q.setCapEnd(popplerQ.capEnd); + q.setFeather(popplerQ.feather); + okularHq << q; + } + + return oHighlightAnn; +} + +static Okular::Annotation *createAnnotationFromPopplerAnnotation(const Poppler::InkAnnotation *popplerAnnotation) +{ + Okular::InkAnnotation *oInkAnn = new Okular::InkAnnotation(); + + const QList> popplerInkPaths = popplerAnnotation->inkPaths(); + QList> okularInkPaths; + for (const QList &popplerInkPath : popplerInkPaths) { + QList okularInkPath; + for (const QPointF &popplerPoint : popplerInkPath) { + okularInkPath << Okular::NormalizedPoint(popplerPoint.x(), popplerPoint.y()); + } + okularInkPaths << okularInkPath; + } + + oInkAnn->setInkPaths(okularInkPaths); + + return oInkAnn; +} + +static Okular::Annotation *createAnnotationFromPopplerAnnotation(const Poppler::CaretAnnotation *popplerAnnotation) +{ + Okular::CaretAnnotation *oCaretAnn = new Okular::CaretAnnotation(); + + oCaretAnn->setCaretSymbol(popplerToOkular(popplerAnnotation->caretSymbol())); + + return oCaretAnn; +} + +static Okular::Annotation *createAnnotationFromPopplerAnnotation(const Poppler::StampAnnotation *popplerAnnotation) +{ + Okular::StampAnnotation *oStampAnn = new Okular::StampAnnotation(); + + oStampAnn->setStampIconName(popplerAnnotation->stampIconName()); + + return oStampAnn; +} + +Okular::Annotation *createAnnotationFromPopplerAnnotation(Poppler::Annotation *popplerAnnotation, const Poppler::Page &popplerPage, bool *doDelete) +{ + Okular::Annotation *okularAnnotation = nullptr; + *doDelete = true; + bool tieToOkularAnn = false; + bool externallyDrawn = false; + switch (popplerAnnotation->subType()) { + case Poppler::Annotation::AFileAttachment: { + Poppler::FileAttachmentAnnotation *attachann = static_cast(popplerAnnotation); + Okular::FileAttachmentAnnotation *f = new Okular::FileAttachmentAnnotation(); + okularAnnotation = f; + tieToOkularAnn = true; + *doDelete = false; + + f->setFileIconName(attachann->fileIconName()); + f->setEmbeddedFile(new PDFEmbeddedFile(attachann->embeddedFile())); + + break; + } + case Poppler::Annotation::ASound: { + Poppler::SoundAnnotation *soundann = static_cast(popplerAnnotation); + Okular::SoundAnnotation *s = new Okular::SoundAnnotation(); + okularAnnotation = s; + + s->setSoundIconName(soundann->soundIconName()); + s->setSound(createSoundFromPopplerSound(soundann->sound())); + + break; + } + case Poppler::Annotation::AMovie: { + Poppler::MovieAnnotation *movieann = static_cast(popplerAnnotation); + Okular::MovieAnnotation *m = new Okular::MovieAnnotation(); + okularAnnotation = m; + tieToOkularAnn = true; + *doDelete = false; + + m->setMovie(createMovieFromPopplerMovie(movieann->movie())); + + break; + } + case Poppler::Annotation::AWidget: { + okularAnnotation = new Okular::WidgetAnnotation(); + break; + } + case Poppler::Annotation::AScreen: { + Okular::ScreenAnnotation *m = new Okular::ScreenAnnotation(); + okularAnnotation = m; + tieToOkularAnn = true; + *doDelete = false; + break; + } + case Poppler::Annotation::ARichMedia: { + const Poppler::RichMediaAnnotation *richmediaann = static_cast(popplerAnnotation); + const QPair result = createMovieFromPopplerRichMedia(richmediaann); + + if (result.first) { + Okular::RichMediaAnnotation *r = new Okular::RichMediaAnnotation(); + tieToOkularAnn = true; + *doDelete = false; + okularAnnotation = r; + + r->setMovie(result.first); + r->setEmbeddedFile(result.second); + } + + break; + } + case Poppler::Annotation::AText: { + externallyDrawn = true; + tieToOkularAnn = true; + *doDelete = false; + okularAnnotation = createAnnotationFromPopplerAnnotation(static_cast(popplerAnnotation)); + break; + } + case Poppler::Annotation::ALine: { + externallyDrawn = true; + tieToOkularAnn = true; + *doDelete = false; + okularAnnotation = createAnnotationFromPopplerAnnotation(static_cast(popplerAnnotation)); + break; + } + case Poppler::Annotation::AGeom: { + externallyDrawn = true; + tieToOkularAnn = true; + *doDelete = false; + okularAnnotation = createAnnotationFromPopplerAnnotation(static_cast(popplerAnnotation)); + break; + } + case Poppler::Annotation::AHighlight: { + externallyDrawn = true; + tieToOkularAnn = true; + *doDelete = false; + okularAnnotation = createAnnotationFromPopplerAnnotation(static_cast(popplerAnnotation)); + break; + } + case Poppler::Annotation::AInk: { + externallyDrawn = true; + tieToOkularAnn = true; + *doDelete = false; + okularAnnotation = createAnnotationFromPopplerAnnotation(static_cast(popplerAnnotation)); + break; + } + case Poppler::Annotation::ACaret: { + externallyDrawn = true; + tieToOkularAnn = true; + *doDelete = false; + okularAnnotation = createAnnotationFromPopplerAnnotation(static_cast(popplerAnnotation)); + break; + } + case Poppler::Annotation::AStamp: + externallyDrawn = true; + tieToOkularAnn = true; + *doDelete = false; + okularAnnotation = createAnnotationFromPopplerAnnotation(static_cast(popplerAnnotation)); + break; + default: { + break; + } + } + if (okularAnnotation) { + // the Contents field might have lines separated by \r + QString contents = popplerAnnotation->contents(); + contents.replace(QLatin1Char('\r'), QLatin1Char('\n')); + + okularAnnotation->setAuthor(popplerAnnotation->author()); + okularAnnotation->setContents(contents); + okularAnnotation->setUniqueName(popplerAnnotation->uniqueName()); + okularAnnotation->setModificationDate(popplerAnnotation->modificationDate()); + okularAnnotation->setCreationDate(popplerAnnotation->creationDate()); + okularAnnotation->setFlags(popplerAnnotation->flags() | Okular::Annotation::External); + okularAnnotation->setBoundingRectangle(Okular::NormalizedRect::fromQRectF(popplerAnnotation->boundary())); + + if (externallyDrawn) { + okularAnnotation->setFlags(okularAnnotation->flags() | Okular::Annotation::ExternallyDrawn); + } + if (okularAnnotation->subType() == Okular::Annotation::SubType::AStamp) { + Okular::StampAnnotation *oStampAnn = static_cast(okularAnnotation); + Poppler::StampAnnotation *pStampAnn = static_cast(popplerAnnotation); + QFileInfo stampIconFile {oStampAnn->stampIconName()}; + if (stampIconFile.exists() && stampIconFile.isFile()) { + setPopplerStampAnnotationCustomImage(&popplerPage, pStampAnn, oStampAnn); + } + + oStampAnn->setFlags(okularAnnotation->flags() | Okular::Annotation::Flag::DenyWrite); + } + + // Convert the poppler annotation style to Okular annotation style + Okular::Annotation::Style &okularStyle = okularAnnotation->style(); + const Poppler::Annotation::Style popplerStyle = popplerAnnotation->style(); + okularStyle.setColor(popplerStyle.color()); + okularStyle.setOpacity(popplerStyle.opacity()); + okularStyle.setWidth(popplerStyle.width()); + okularStyle.setLineStyle(popplerToOkular(popplerStyle.lineStyle())); + okularStyle.setXCorners(popplerStyle.xCorners()); + okularStyle.setYCorners(popplerStyle.yCorners()); + const QList &dashArray = popplerStyle.dashArray(); + if (dashArray.size() > 0) { + okularStyle.setMarks(dashArray[0]); + } + if (dashArray.size() > 1) { + okularStyle.setSpaces(dashArray[1]); + } + okularStyle.setLineEffect(popplerToOkular(popplerStyle.lineEffect())); + okularStyle.setEffectIntensity(popplerStyle.effectIntensity()); + + // Convert the poppler annotation popup to Okular annotation window + Okular::Annotation::Window &okularWindow = okularAnnotation->window(); + const Poppler::Annotation::Popup popplerPopup = popplerAnnotation->popup(); + // This assumes that both "flags" int mean the same, but since we don't use the flags in okular anywhere it's not really that important + okularWindow.setFlags(popplerPopup.flags()); + const QRectF popplerGeometry = popplerPopup.geometry(); + const QSize popplerPageSize = popplerPage.pageSize(); + okularWindow.setTopLeft(Okular::NormalizedPoint(popplerGeometry.top(), popplerGeometry.left(), popplerPageSize.width(), popplerPageSize.height())); + okularWindow.setWidth(popplerGeometry.width()); + okularWindow.setHeight(popplerGeometry.height()); + okularWindow.setTitle(popplerPopup.title()); + okularWindow.setSummary(popplerPopup.summary()); + + // Convert the poppler revisions to Okular revisions + QList &okularRevisions = okularAnnotation->revisions(); + std::vector> popplerRevisions = popplerAnnotation->revisions(); + for (auto &popplerRevision : popplerRevisions) { + bool deletePopplerRevision; + Okular::Annotation::Revision okularRevision; + okularRevision.setAnnotation(createAnnotationFromPopplerAnnotation(popplerRevision.get(), popplerPage, &deletePopplerRevision)); + okularRevision.setScope(popplerToOkular(popplerRevision->revisionScope())); + okularRevision.setType(popplerToOkular(popplerRevision->revisionType())); + okularRevisions << okularRevision; + + if (!deletePopplerRevision) { + (void)popplerRevision.release(); // + } + } + + if (tieToOkularAnn) { + okularAnnotation->setNativeId(QVariant::fromValue(popplerAnnotation)); + okularAnnotation->setDisposeDataFunction(disposeAnnotation); + } + } + return okularAnnotation; +} diff --git a/generators/poppler/annots.h b/generators/poppler/annots.h new file mode 100644 index 0000000..1f4148f --- /dev/null +++ b/generators/poppler/annots.h @@ -0,0 +1,44 @@ +/* + SPDX-FileCopyrightText: 2012 Fabio D 'Urso + + Work sponsored by the LiMux project of the city of Munich: + SPDX-FileCopyrightText: 2017 Klarälvdalens Datakonsult AB a KDAB Group company + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_GENERATOR_PDF_ANNOTS_H_ +#define _OKULAR_GENERATOR_PDF_ANNOTS_H_ + +#include +#include +#include +#define POPPLER_VERSION_MACRO ((POPPLER_VERSION_MAJOR << 16) | (POPPLER_VERSION_MINOR << 8) | (POPPLER_VERSION_MICRO)) + +#include + +#include + +#include "core/annotations.h" + +extern Okular::Annotation *createAnnotationFromPopplerAnnotation(Poppler::Annotation *popplerAnnotation, const Poppler::Page &popplerPage, bool *doDelete); + +class PopplerAnnotationProxy : public Okular::AnnotationProxy +{ +public: + PopplerAnnotationProxy(Poppler::Document *doc, QMutex *userMutex, QHash *annotsOnOpenHash); + ~PopplerAnnotationProxy() override; + + bool supports(Capability capability) const override; + void notifyAddition(Okular::Annotation *okl_ann, int page) override; + void notifyModification(const Okular::Annotation *okl_ann, int page, bool appearanceChanged) override; + void notifyRemoval(Okular::Annotation *okl_ann, int page) override; + +private: + Poppler::Document *ppl_doc; + QMutex *mutex; + QHash *annotationsOnOpenHash; + std::unordered_map> deletedStampsAnnotationAppearance; +}; + +#endif diff --git a/generators/poppler/autotests/testimagescaling.cpp b/generators/poppler/autotests/testimagescaling.cpp new file mode 100644 index 0000000..224f5a7 --- /dev/null +++ b/generators/poppler/autotests/testimagescaling.cpp @@ -0,0 +1,118 @@ +/* + SPDX-FileCopyrightText: 2023 g10 Code GmbH + SPDX-FileContributor: Sune Stolborg Vuorela + + SPDX-License-Identifier: GPL-2.0-or-later +*/ +#include "imagescaling.h" +#include +#include +#include + +// Tests the image scaling and fit to canvas that is +// used by the signature element in poppler. + +// For this test, we don't care about the quality of the +// scaling but purely rely on Qt for that. It is mostly a +// test that we place the input image correctly in returned +// image + +class ImageScalingTest : public QObject +{ + Q_OBJECT +private Q_SLOTS: + void testNoScaling(); + void testNoPaddingEnlarge(); + void testNoPaddingShrink(); + void testPadLeftRight(); + void testPadTopBottom(); +}; + +void ImageScalingTest::testNoScaling() +{ + QSize size(5, 5); + QImage input(size, QImage::Format_ARGB32); + input.fill(Qt::black); + QImage output = imagescaling::scaleAndFitCanvas(input, size); + QImage expected(size, QImage::Format_ARGB32); + expected.fill(Qt::black); + QCOMPARE(expected, output); +} + +void ImageScalingTest::testNoPaddingEnlarge() +{ + QImage input(QSize(10, 10), QImage::Format_ARGB32); + input.fill(Qt::black); + QSize size(20, 20); + QImage output = imagescaling::scaleAndFitCanvas(input, size); + QImage expected(size, QImage::Format_ARGB32); + expected.fill(Qt::black); + QCOMPARE(expected, output); +} + +void ImageScalingTest::testNoPaddingShrink() +{ + QImage input(QSize(20, 20), QImage::Format_ARGB32); + input.fill(Qt::black); + QSize size(10, 10); + QImage output = imagescaling::scaleAndFitCanvas(input, size); + QImage expected(size, QImage::Format_ARGB32); + expected.fill(Qt::black); + QCOMPARE(expected, output); +} + +void ImageScalingTest::testPadLeftRight() +{ + QImage input(QSize(5, 5), QImage::Format_ARGB32); + input.fill(Qt::black); + QSize size(9, 5); + QImage output = imagescaling::scaleAndFitCanvas(input, size); + // check top row + QCOMPARE(output.pixelColor(0, 0), Qt::transparent); + QCOMPARE(output.pixelColor(1, 0), Qt::transparent); + QCOMPARE(output.pixelColor(2, 0), Qt::black); + QCOMPARE(output.pixelColor(3, 0), Qt::black); + QCOMPARE(output.pixelColor(4, 0), Qt::black); + QCOMPARE(output.pixelColor(5, 0), Qt::black); + QCOMPARE(output.pixelColor(6, 0), Qt::black); + QCOMPARE(output.pixelColor(7, 0), Qt::transparent); + QCOMPARE(output.pixelColor(8, 0), Qt::transparent); + // check columns + for (int x = 0; x < output.size().width(); x++) { + QColor top = output.pixelColor(x, 0); + for (int y = 1; y < output.size().height(); y++) { + QCOMPARE(output.pixelColor(x, y), top); + } + } +} + +void ImageScalingTest::testPadTopBottom() +{ + QImage input(QSize(5, 5), QImage::Format_ARGB32); + input.fill(Qt::black); + QSize size(5, 9); + QImage output = imagescaling::scaleAndFitCanvas(input, size); + // check first column + QCOMPARE(output.pixelColor(0, 0), Qt::transparent); + QCOMPARE(output.pixelColor(0, 1), Qt::transparent); + QCOMPARE(output.pixelColor(0, 2), Qt::black); + QCOMPARE(output.pixelColor(0, 3), Qt::black); + QCOMPARE(output.pixelColor(0, 4), Qt::black); + QCOMPARE(output.pixelColor(0, 5), Qt::black); + QCOMPARE(output.pixelColor(0, 6), Qt::black); + QCOMPARE(output.pixelColor(0, 7), Qt::transparent); + QCOMPARE(output.pixelColor(0, 8), Qt::transparent); + // check rows + for (int y = 0; y < output.size().height(); y++) { + QColor first = output.pixelColor(0, y); + for (int x = 1; x < output.size().width(); x++) { + QCOMPARE(output.pixelColor(x, y), first); + } + } +} + +QTEST_MAIN(ImageScalingTest) +#include "testimagescaling.moc" + +// No need to export it, but we need to be able to call the functions +#include "imagescaling.cpp" diff --git a/generators/poppler/conf/CMakeLists.txt b/generators/poppler/conf/CMakeLists.txt new file mode 100644 index 0000000..72bb84a --- /dev/null +++ b/generators/poppler/conf/CMakeLists.txt @@ -0,0 +1,3 @@ + +install(FILES pdfsettings.kcfg DESTINATION ${KDE_INSTALL_KCFGDIR}) + diff --git a/generators/poppler/conf/pdfsettings.kcfg b/generators/poppler/conf/pdfsettings.kcfg new file mode 100644 index 0000000..594f96d --- /dev/null +++ b/generators/poppler/conf/pdfsettings.kcfg @@ -0,0 +1,55 @@ + + + + + + + + + + No + + + + + + + + Automatic + + + + + + + + + + 0 + 2 + + + + + + + + false + + + + true + + + + + + + true + + + + diff --git a/generators/poppler/conf/pdfsettings.kcfgc b/generators/poppler/conf/pdfsettings.kcfgc new file mode 100644 index 0000000..45f7635 --- /dev/null +++ b/generators/poppler/conf/pdfsettings.kcfgc @@ -0,0 +1,4 @@ +File=pdfsettings.kcfg +ClassName=PDFSettings +Mutators=true +Singleton=true diff --git a/generators/poppler/conf/pdfsettingswidget.ui b/generators/poppler/conf/pdfsettingswidget.ui new file mode 100644 index 0000000..224efc3 --- /dev/null +++ b/generators/poppler/conf/pdfsettingswidget.ui @@ -0,0 +1,282 @@ + + + PDFSettingsWidgetBase + + + + 0 + 0 + 721 + 451 + + + + + + + + + Enable overprint preview: + + + + + + + + Never + + + + + Always + + + + + Automatic + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + Enhance thin lines: + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + + No + + + + + Solid + + + + + Shape + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + Default scaling mode when printing: + + + + + + + + Fit to printable area + + + + + Fit to full page + + + + + None; print original size + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + Enabling this option will allow Okular to contact 3rd-party OCSP servers to check if the certificates used for digital signing have been revoked since their creation. + + + Check revocation of digital signatures' certificates using 3rd-party servers + + + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + Signature backend: + + + + + + + + + + Qt::Horizontal + + + + 480 + 0 + + + + + + + + + + + These signatures can only be validated by modern Okular users with GnuPG backend activated + + + Allow PGP keys for signatures (Okular extension) + + + + + + + Certificate Database + + + + QFormLayout::ExpandingFieldsGrow + + + + + Default: + + + + + + + Custom: + + + + + + + + + + + + + + + + + Available Certificates + + + + + + + + &Load Signatures + + + + + + + Qt::Vertical + + + QSizePolicy::Expanding + + + + 20 + 4 + + + + + + + + + KComboBox + QComboBox +
kcombobox.h
+
+
+ + +
diff --git a/generators/poppler/debug_pdf.h b/generators/poppler/debug_pdf.h new file mode 100644 index 0000000..5274106 --- /dev/null +++ b/generators/poppler/debug_pdf.h @@ -0,0 +1,14 @@ +/* + SPDX-FileCopyrightText: 2014 Frederik Gladhorn + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef OKULAR_DEBUG_PDF_H +#define OKULAR_DEBUG_PDF_H + +#include + +Q_DECLARE_LOGGING_CATEGORY(OkularPdfDebug) + +#endif diff --git a/generators/poppler/formfields.cpp b/generators/poppler/formfields.cpp new file mode 100644 index 0000000..a6dfb1b --- /dev/null +++ b/generators/poppler/formfields.cpp @@ -0,0 +1,549 @@ +/* + SPDX-FileCopyrightText: 2007 Pino Toscano + SPDX-FileCopyrightText: 2018 Intevation GmbH + SPDX-FileCopyrightText: 2019 Oliver Sander + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "formfields.h" + +#include "core/action.h" + +#include "generator_pdf.h" +#include "pdfsettings.h" +#include "pdfsignatureutils.h" + +#include + +extern Okular::Action *createLinkFromPopplerLink(std::variant> popplerLink); +#define SET_ANNOT_ACTIONS \ + setAdditionalAction(Okular::Annotation::CursorEntering, createLinkFromPopplerLink(m_field->additionalAction(Poppler::Annotation::CursorEnteringAction))); \ + setAdditionalAction(Okular::Annotation::CursorLeaving, createLinkFromPopplerLink(m_field->additionalAction(Poppler::Annotation::CursorLeavingAction))); \ + setAdditionalAction(Okular::Annotation::MousePressed, createLinkFromPopplerLink(m_field->additionalAction(Poppler::Annotation::MousePressedAction))); \ + setAdditionalAction(Okular::Annotation::MouseReleased, createLinkFromPopplerLink(m_field->additionalAction(Poppler::Annotation::MouseReleasedAction))); \ + setAdditionalAction(Okular::Annotation::FocusIn, createLinkFromPopplerLink(m_field->additionalAction(Poppler::Annotation::FocusInAction))); \ + setAdditionalAction(Okular::Annotation::FocusOut, createLinkFromPopplerLink(m_field->additionalAction(Poppler::Annotation::FocusOutAction))); + +#define SET_ACTIONS \ + setActivationAction(createLinkFromPopplerLink(m_field->activationAction())); \ + setAdditionalAction(Okular::FormField::FieldModified, createLinkFromPopplerLink(m_field->additionalAction(Poppler::FormField::FieldModified))); \ + setAdditionalAction(Okular::FormField::FormatField, createLinkFromPopplerLink(m_field->additionalAction(Poppler::FormField::FormatField))); \ + setAdditionalAction(Okular::FormField::ValidateField, createLinkFromPopplerLink(m_field->additionalAction(Poppler::FormField::ValidateField))); \ + setAdditionalAction(Okular::FormField::CalculateField, createLinkFromPopplerLink(m_field->additionalAction(Poppler::FormField::CalculateField))); \ + SET_ANNOT_ACTIONS + +PopplerFormFieldButton::PopplerFormFieldButton(std::unique_ptr field) + : Okular::FormFieldButton() + , m_field(std::move(field)) +{ + m_rect = Okular::NormalizedRect::fromQRectF(m_field->rect()); + m_id = m_field->id(); + SET_ACTIONS +} + +Okular::NormalizedRect PopplerFormFieldButton::rect() const +{ + return m_rect; +} + +int PopplerFormFieldButton::id() const +{ + return m_id; +} + +QString PopplerFormFieldButton::name() const +{ + return m_field->name(); +} + +QString PopplerFormFieldButton::uiName() const +{ + return m_field->uiName(); +} + +QString PopplerFormFieldButton::fullyQualifiedName() const +{ + return m_field->fullyQualifiedName(); +} + +bool PopplerFormFieldButton::isReadOnly() const +{ + return m_field->isReadOnly(); +} + +void PopplerFormFieldButton::setReadOnly(bool value) +{ + m_field->setReadOnly(value); +} + +bool PopplerFormFieldButton::isVisible() const +{ + return m_field->isVisible(); +} + +void PopplerFormFieldButton::setVisible(bool value) +{ + m_field->setVisible(value); +} + +bool PopplerFormFieldButton::isPrintable() const +{ + return m_field->isPrintable(); +} + +void PopplerFormFieldButton::setPrintable(bool value) +{ + m_field->setPrintable(value); +} + +Okular::FormFieldButton::ButtonType PopplerFormFieldButton::buttonType() const +{ + switch (m_field->buttonType()) { + case Poppler::FormFieldButton::Push: + return Okular::FormFieldButton::Push; + case Poppler::FormFieldButton::CheckBox: + return Okular::FormFieldButton::CheckBox; + case Poppler::FormFieldButton::Radio: + return Okular::FormFieldButton::Radio; + } + return Okular::FormFieldButton::Push; +} + +QString PopplerFormFieldButton::caption() const +{ + return m_field->caption(); +} + +bool PopplerFormFieldButton::state() const +{ + return m_field->state(); +} + +void PopplerFormFieldButton::setState(bool state) +{ + m_field->setState(state); +} + +QList PopplerFormFieldButton::siblings() const +{ + return m_field->siblings(); +} + +Poppler::FormFieldIcon PopplerFormFieldButton::icon() const +{ + return m_field->icon(); +} + +void PopplerFormFieldButton::setIcon(Okular::FormField *field) +{ + if (field->type() == Okular::FormField::FormButton) { + const PopplerFormFieldButton *button = static_cast(field); + m_field->setIcon(button->icon()); + } +} + +PopplerFormFieldText::PopplerFormFieldText(std::unique_ptr field) + : Okular::FormFieldText() + , m_field(std::move(field)) +{ + m_rect = Okular::NormalizedRect::fromQRectF(m_field->rect()); + m_id = m_field->id(); + SET_ACTIONS +} + +Okular::NormalizedRect PopplerFormFieldText::rect() const +{ + return m_rect; +} + +int PopplerFormFieldText::id() const +{ + return m_id; +} + +QString PopplerFormFieldText::name() const +{ + return m_field->name(); +} + +QString PopplerFormFieldText::uiName() const +{ + return m_field->uiName(); +} + +QString PopplerFormFieldText::fullyQualifiedName() const +{ + return m_field->fullyQualifiedName(); +} + +bool PopplerFormFieldText::isReadOnly() const +{ + return m_field->isReadOnly(); +} + +void PopplerFormFieldText::setReadOnly(bool value) +{ + m_field->setReadOnly(value); +} + +bool PopplerFormFieldText::isVisible() const +{ + return m_field->isVisible(); +} + +void PopplerFormFieldText::setVisible(bool value) +{ + m_field->setVisible(value); +} + +bool PopplerFormFieldText::isPrintable() const +{ + return m_field->isPrintable(); +} + +void PopplerFormFieldText::setPrintable(bool value) +{ + m_field->setPrintable(value); +} + +Okular::FormFieldText::TextType PopplerFormFieldText::textType() const +{ + switch (m_field->textType()) { + case Poppler::FormFieldText::Normal: + return Okular::FormFieldText::Normal; + case Poppler::FormFieldText::Multiline: + return Okular::FormFieldText::Multiline; + case Poppler::FormFieldText::FileSelect: + return Okular::FormFieldText::FileSelect; + } + return Okular::FormFieldText::Normal; +} + +QString PopplerFormFieldText::text() const +{ + return m_field->text(); +} + +void PopplerFormFieldText::setText(const QString &text) +{ + m_field->setText(text); +} + +void PopplerFormFieldText::setAppearanceText(const QString &text) +{ + m_field->setAppearanceText(text); +} + +bool PopplerFormFieldText::isPassword() const +{ + return m_field->isPassword(); +} + +bool PopplerFormFieldText::isRichText() const +{ + return m_field->isRichText(); +} + +int PopplerFormFieldText::maximumLength() const +{ + return m_field->maximumLength(); +} + +Qt::Alignment PopplerFormFieldText::textAlignment() const +{ + return Qt::AlignTop | m_field->textAlignment(); +} + +bool PopplerFormFieldText::canBeSpellChecked() const +{ + return m_field->canBeSpellChecked(); +} + +PopplerFormFieldChoice::PopplerFormFieldChoice(std::unique_ptr field) + : Okular::FormFieldChoice() + , m_field(std::move(field)) +{ + m_rect = Okular::NormalizedRect::fromQRectF(m_field->rect()); + m_id = m_field->id(); + SET_ACTIONS + + QMap values; + const auto fieldChoicesWithExportValues = m_field->choicesWithExportValues(); + for (const QPair &value : fieldChoicesWithExportValues) { + values.insert(value.first, value.second); + } + setExportValues(values); +} + +Okular::NormalizedRect PopplerFormFieldChoice::rect() const +{ + return m_rect; +} + +int PopplerFormFieldChoice::id() const +{ + return m_id; +} + +QString PopplerFormFieldChoice::name() const +{ + return m_field->name(); +} + +QString PopplerFormFieldChoice::uiName() const +{ + return m_field->uiName(); +} + +QString PopplerFormFieldChoice::fullyQualifiedName() const +{ + return m_field->fullyQualifiedName(); +} + +bool PopplerFormFieldChoice::isReadOnly() const +{ + return m_field->isReadOnly(); +} + +void PopplerFormFieldChoice::setReadOnly(bool value) +{ + m_field->setReadOnly(value); +} + +bool PopplerFormFieldChoice::isVisible() const +{ + return m_field->isVisible(); +} + +void PopplerFormFieldChoice::setVisible(bool value) +{ + m_field->setVisible(value); +} + +bool PopplerFormFieldChoice::isPrintable() const +{ + return m_field->isPrintable(); +} + +void PopplerFormFieldChoice::setPrintable(bool value) +{ + m_field->setPrintable(value); +} + +Okular::FormFieldChoice::ChoiceType PopplerFormFieldChoice::choiceType() const +{ + switch (m_field->choiceType()) { + case Poppler::FormFieldChoice::ComboBox: + return Okular::FormFieldChoice::ComboBox; + case Poppler::FormFieldChoice::ListBox: + return Okular::FormFieldChoice::ListBox; + } + return Okular::FormFieldChoice::ListBox; +} + +QStringList PopplerFormFieldChoice::choices() const +{ + if (!m_choices) { + m_choices = m_field->choices(); + } + return *m_choices; +} + +bool PopplerFormFieldChoice::isEditable() const +{ + return m_field->isEditable(); +} + +bool PopplerFormFieldChoice::multiSelect() const +{ + return m_field->multiSelect(); +} + +QList PopplerFormFieldChoice::currentChoices() const +{ + return m_field->currentChoices(); +} + +void PopplerFormFieldChoice::setCurrentChoices(const QList &choices) +{ + m_field->setCurrentChoices(choices); +} + +QString PopplerFormFieldChoice::editChoice() const +{ + return m_field->editChoice(); +} + +void PopplerFormFieldChoice::setEditChoice(const QString &text) +{ + m_field->setEditChoice(text); +} + +void PopplerFormFieldChoice::setAppearanceChoiceText(const QString &text) +{ +#if POPPLER_VERSION_MACRO >= QT_VERSION_CHECK(24, 8, 0) + m_field->setAppearanceChoiceText(text); +#else + Q_UNUSED(text); +#endif +} + +Qt::Alignment PopplerFormFieldChoice::textAlignment() const +{ + return Qt::AlignTop | m_field->textAlignment(); +} + +bool PopplerFormFieldChoice::canBeSpellChecked() const +{ + return m_field->canBeSpellChecked(); +} + +PopplerFormFieldSignature::PopplerFormFieldSignature(std::unique_ptr field) + : Okular::FormFieldSignature() + , m_field(std::move(field)) +{ + m_rect = Okular::NormalizedRect::fromQRectF(m_field->rect()); + m_id = m_field->id(); + int validateOptions = Poppler::FormFieldSignature::ValidateVerifyCertificate; + if (!PDFSettings::checkOCSPServers()) { + validateOptions = validateOptions | Poppler::FormFieldSignature::ValidateWithoutOCSPRevocationCheck; + } + +#if POPPLER_VERSION_MACRO > QT_VERSION_CHECK(24, 4, 0) + auto result = m_field->validateAsync(static_cast(validateOptions)); + m_info = fromPoppler(result.first); + m_asyncObject = result.second; + QObject::connect(m_asyncObject.get(), &Poppler::AsyncObject::done, m_asyncObject.get(), [this]() { + m_info.setCertificateStatus(fromPoppler(m_field->validateResult())); + for (const auto &[_, callback] : m_updateSubscriptions) { + callback(); + } + }); +#else + m_info = fromPoppler(m_field->validate(static_cast(validateOptions))); +#endif + SET_ACTIONS +} + +PopplerFormFieldSignature::~PopplerFormFieldSignature() = default; + +static Okular::FormFieldSignature::SubscriptionHandle globalHandle = 0; + +Okular::FormFieldSignature::SubscriptionHandle PopplerFormFieldSignature::subscribeUpdates(const std::function &callback) const +{ + auto handle = (globalHandle++); + m_updateSubscriptions.emplace(handle, callback); + return handle; +} + +bool PopplerFormFieldSignature::unsubscribeUpdates(const SubscriptionHandle &handle) const +{ + return m_updateSubscriptions.erase(handle) == 1; +} + +Okular::NormalizedRect PopplerFormFieldSignature::rect() const +{ + return m_rect; +} + +int PopplerFormFieldSignature::id() const +{ + return m_id; +} + +QString PopplerFormFieldSignature::name() const +{ + return m_field->name(); +} + +QString PopplerFormFieldSignature::uiName() const +{ + return m_field->uiName(); +} + +QString PopplerFormFieldSignature::fullyQualifiedName() const +{ + return m_field->fullyQualifiedName(); +} + +bool PopplerFormFieldSignature::isReadOnly() const +{ + return m_field->isReadOnly(); +} + +bool PopplerFormFieldSignature::isVisible() const +{ + return m_field->isVisible(); +} + +PopplerFormFieldSignature::SignatureType PopplerFormFieldSignature::signatureType() const +{ + switch (m_field->signatureType()) { + case Poppler::FormFieldSignature::AdbePkcs7sha1: + return Okular::FormFieldSignature::AdbePkcs7sha1; + case Poppler::FormFieldSignature::AdbePkcs7detached: + return Okular::FormFieldSignature::AdbePkcs7detached; + case Poppler::FormFieldSignature::EtsiCAdESdetached: + return Okular::FormFieldSignature::EtsiCAdESdetached; + case Poppler::FormFieldSignature::UnsignedSignature: + return Okular::FormFieldSignature::UnsignedSignature; + case Poppler::FormFieldSignature::UnknownSignatureType: + return Okular::FormFieldSignature::UnknownType; +#if POPPLER_VERSION_MACRO >= QT_VERSION_CHECK(25, 02, 90) + case Poppler::FormFieldSignature::G10cPgpSignatureDetached: + return Okular::FormFieldSignature::G10cPgpSignatureDetached; +#endif + } + return Okular::FormFieldSignature::UnknownType; +} + +Okular::SignatureInfo PopplerFormFieldSignature::signatureInfo() const +{ + return m_info; +} + +Okular::SigningResult fromPoppler(Poppler::FormFieldSignature::SigningResult r) +{ + switch (r) { + case Poppler::FormFieldSignature::SigningResult::FieldAlreadySigned: + return Okular::SigningResult::FieldAlreadySigned; + case Poppler::FormFieldSignature::SigningResult::GenericSigningError: + return Okular::SigningResult::GenericSigningError; + case Poppler::FormFieldSignature::SigningSuccess: + return Okular::SigningResult::SigningSuccess; +#if POPPLER_VERSION_MACRO >= QT_VERSION_CHECK(24, 12, 0) + case Poppler::FormFieldSignature::InternalError: + return Okular::SigningResult::InternalSigningError; + case Poppler::FormFieldSignature::KeyMissing: + return Okular::SigningResult::KeyMissing; + case Poppler::FormFieldSignature::UserCancelled: + return Okular::SigningResult::UserCancelled; + case Poppler::FormFieldSignature::WriteFailed: + return Okular::SigningResult::SignatureWriteFailed; +#endif +#if POPPLER_VERSION_MACRO >= QT_VERSION_CHECK(25, 03, 12) + case Poppler::FormFieldSignature::BadPassphrase: + return Okular::SigningResult::BadPassphrase; +#endif + } + return Okular::SigningResult::GenericSigningError; +} + +std::pair PopplerFormFieldSignature::sign(const Okular::NewSignatureData &oData, const QString &newPath) const +{ + Poppler::PDFConverter::NewSignatureData pData; + PDFGenerator::okularToPoppler(oData, &pData); +#if POPPLER_VERSION_MACRO >= QT_VERSION_CHECK(24, 03, 0) + // 0 means "Chose an appropriate size" + pData.setFontSize(0); + pData.setLeftFontSize(0); +#endif + auto result = fromPoppler(m_field->sign(newPath, pData)); +#if POPPLER_VERSION_MACRO > QT_VERSION_CHECK(25, 06, 0) + QString errorDetails = m_field->lastSigningErrorDetails().data.toString(); +#else + QString errorDetails; +#endif + return {result, errorDetails}; +} diff --git a/generators/poppler/formfields.h b/generators/poppler/formfields.h new file mode 100644 index 0000000..48fe423 --- /dev/null +++ b/generators/poppler/formfields.h @@ -0,0 +1,163 @@ +/* + SPDX-FileCopyrightText: 2007 Pino Toscano + SPDX-FileCopyrightText: 2019 Oliver Sander + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_GENERATOR_PDF_FORMFIELDS_H_ +#define _OKULAR_GENERATOR_PDF_FORMFIELDS_H_ + +#include "core/form.h" +#include +#include +#include +#define POPPLER_VERSION_MACRO ((POPPLER_VERSION_MAJOR << 16) | (POPPLER_VERSION_MINOR << 8) | (POPPLER_VERSION_MICRO)) + +class PopplerFormFieldButton : public Okular::FormFieldButton +{ +public: + explicit PopplerFormFieldButton(std::unique_ptr field); + + // inherited from Okular::FormField + Okular::NormalizedRect rect() const override; + int id() const override; + QString name() const override; + QString uiName() const override; + QString fullyQualifiedName() const override; + bool isReadOnly() const override; + void setReadOnly(bool value) override; + bool isVisible() const override; + void setVisible(bool value) override; + bool isPrintable() const override; + void setPrintable(bool value) override; + + // inherited from Okular::FormFieldButton + ButtonType buttonType() const override; + QString caption() const override; + bool state() const override; + void setState(bool state) override; + QList siblings() const override; + void setIcon(Okular::FormField *field) override; + /* + * Supported only in newer versions of Poppler library. + * + * @since 1.9 + */ + Poppler::FormFieldIcon icon() const; + +private: + std::unique_ptr m_field; + Okular::NormalizedRect m_rect; + int m_id; +}; + +class PopplerFormFieldText : public Okular::FormFieldText +{ +public: + explicit PopplerFormFieldText(std::unique_ptr field); + + // inherited from Okular::FormField + Okular::NormalizedRect rect() const override; + int id() const override; + QString name() const override; + QString uiName() const override; + QString fullyQualifiedName() const override; + bool isReadOnly() const override; + void setReadOnly(bool value) override; + bool isVisible() const override; + void setVisible(bool value) override; + bool isPrintable() const override; + void setPrintable(bool value) override; + + // inherited from Okular::FormFieldText + Okular::FormFieldText::TextType textType() const override; + QString text() const override; + void setText(const QString &text) override; + void setAppearanceText(const QString &text) override; + bool isPassword() const override; + bool isRichText() const override; + int maximumLength() const override; + Qt::Alignment textAlignment() const override; + bool canBeSpellChecked() const override; + +private: + std::unique_ptr m_field; + Okular::NormalizedRect m_rect; + int m_id; +}; + +class PopplerFormFieldChoice : public Okular::FormFieldChoice +{ +public: + explicit PopplerFormFieldChoice(std::unique_ptr field); + + // inherited from Okular::FormField + Okular::NormalizedRect rect() const override; + int id() const override; + QString name() const override; + QString uiName() const override; + QString fullyQualifiedName() const override; + bool isReadOnly() const override; + void setReadOnly(bool value) override; + bool isVisible() const override; + void setVisible(bool value) override; + bool isPrintable() const override; + void setPrintable(bool value) override; + + // inherited from Okular::FormFieldChoice + ChoiceType choiceType() const override; + QStringList choices() const override; + bool isEditable() const override; + bool multiSelect() const override; + QList currentChoices() const override; + void setCurrentChoices(const QList &choices) override; + QString editChoice() const override; + void setEditChoice(const QString &text) override; + void setAppearanceChoiceText(const QString &text) override; + Qt::Alignment textAlignment() const override; + bool canBeSpellChecked() const override; + +private: + std::unique_ptr m_field; + Okular::NormalizedRect m_rect; + int m_id; + + mutable std::optional m_choices; +}; + +class PopplerFormFieldSignature : public Okular::FormFieldSignature +{ +public: + explicit PopplerFormFieldSignature(std::unique_ptr field); + ~PopplerFormFieldSignature() override; + + // inherited from Okular::FormField + Okular::NormalizedRect rect() const override; + int id() const override; + QString name() const override; + QString uiName() const override; + QString fullyQualifiedName() const override; + bool isReadOnly() const override; + bool isVisible() const override; + + // inherited from Okular::FormFieldSignature + SignatureType signatureType() const override; + Okular::SignatureInfo signatureInfo() const override; + std::pair sign(const Okular::NewSignatureData &oData, const QString &newPath) const override; + + SubscriptionHandle subscribeUpdates(const std::function &callback) const final; + bool unsubscribeUpdates(const SubscriptionHandle &handle) const final; + +private: + std::unique_ptr m_field; + Okular::SignatureInfo m_info; + Okular::NormalizedRect m_rect; + int m_id; +#if POPPLER_VERSION_MACRO > QT_VERSION_CHECK(24, 4, 0) + std::shared_ptr m_asyncObject; +#endif + mutable std::unordered_map> m_updateSubscriptions; +}; + +#endif diff --git a/generators/poppler/generator_pdf.cpp b/generators/poppler/generator_pdf.cpp new file mode 100644 index 0000000..e20a34e --- /dev/null +++ b/generators/poppler/generator_pdf.cpp @@ -0,0 +1,2285 @@ +/* + SPDX-FileCopyrightText: 2004-2008 Albert Astals Cid + SPDX-FileCopyrightText: 2004 Enrico Ros + SPDX-FileCopyrightText: 2012 Guillermo A. Amaral B. + SPDX-FileCopyrightText: 2019 Oliver Sander + + Work sponsored by the LiMux project of the city of Munich: + SPDX-FileCopyrightText: 2017 Klarälvdalens Datakonsult AB a KDAB Group company + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include + +#include "generator_pdf.h" + +// qt/kde includes +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "pdfsettings.h" + +#include +#include + +#include "annots.h" +#include "debug_pdf.h" +#include "formfields.h" +#include "imagescaling.h" +#include "pdfsettingswidget.h" +#include "pdfsignatureutils.h" +#include "popplerembeddedfile.h" + +#include + +Q_DECLARE_METATYPE(Poppler::Annotation *) +Q_DECLARE_METATYPE(Poppler::FontInfo) + +#define POPPLER_VERSION_MACRO ((POPPLER_VERSION_MAJOR << 16) | (POPPLER_VERSION_MINOR << 8) | (POPPLER_VERSION_MICRO)) + +static const int defaultPageWidth = 595; +static const int defaultPageHeight = 842; + +class PDFOptionsPage : public Okular::PrintOptionsWidget +{ + Q_OBJECT + +public: + enum ScaleMode { FitToPrintableArea, FitToPage, None }; + Q_ENUM(ScaleMode) + + PDFOptionsPage() + { + setWindowTitle(i18n("PDF Options")); + QVBoxLayout *layout = new QVBoxLayout(this); + m_printAnnots = new QCheckBox(i18n("Print annotations"), this); + m_printAnnots->setToolTip(i18n("Include annotations in the printed document")); + m_printAnnots->setWhatsThis(i18n("Includes annotations in the printed document. You can disable this if you want to print the original unannotated document.")); + layout->addWidget(m_printAnnots); + m_forceRaster = new QCheckBox(i18n("Force rasterization"), this); + m_forceRaster->setToolTip(i18n("Rasterize into an image before printing")); + m_forceRaster->setWhatsThis(i18n("Forces the rasterization of each page into an image before printing it. This usually gives somewhat worse results, but is useful when printing documents that appear to print incorrectly.")); + layout->addWidget(m_forceRaster); + + QWidget *formWidget = new QWidget(this); + QFormLayout *printBackendLayout = new QFormLayout(formWidget); + + m_scaleMode = new QComboBox; + m_scaleMode->insertItem(FitToPrintableArea, i18n("Fit to printable area"), FitToPrintableArea); + m_scaleMode->insertItem(FitToPage, i18n("Fit to full page"), FitToPage); + m_scaleMode->insertItem(None, i18n("None; print original size"), None); + m_scaleMode->setToolTip(i18n("Scaling mode for the printed pages")); + printBackendLayout->addRow(i18n("Scale mode:"), m_scaleMode); + + // Set scale mode to users default + m_scaleMode->setCurrentIndex(PDFSettings::printScaleMode()); + + // Set rasterizing if scale mode is 1 or 2 + if (m_scaleMode->currentIndex() != 0) { + m_forceRaster->setCheckState(Qt::Checked); + } + + // If the user selects a scaling mode that requires the use of the + // "Force rasterization" feature, enable it automatically so they don't + // have to 1) know this and 2) do it manually + connect(m_scaleMode, QOverload::of(&QComboBox::currentIndexChanged), this, [=, this](int index) { m_forceRaster->setChecked(index != 0); }); + + layout->addWidget(formWidget); + + layout->addStretch(1); + + setPrintAnnots(true); // Default value + } + + bool ignorePrintMargins() const override + { + return scaleMode() == FitToPage; + } + + bool printAnnots() + { + return m_printAnnots->isChecked(); + } + + void setPrintAnnots(bool printAnnots) + { + m_printAnnots->setChecked(printAnnots); + } + + bool printForceRaster() + { + return m_forceRaster->isChecked(); + } + + void setPrintForceRaster(bool forceRaster) + { + m_forceRaster->setChecked(forceRaster); + } + + ScaleMode scaleMode() const + { + return m_scaleMode->currentData().value(); + } + +private: + QCheckBox *m_printAnnots; + QCheckBox *m_forceRaster; + QComboBox *m_scaleMode; +}; + +static void fillViewportFromLinkDestination(Okular::DocumentViewport &viewport, const Poppler::LinkDestination &destination) +{ + viewport.pageNumber = destination.pageNumber() - 1; + + if (!viewport.isValid()) { + return; + } + + // get destination position + // TODO add other attributes to the viewport (taken from link) + // switch ( destination->getKind() ) + // { + // case destXYZ: + if (destination.isChangeLeft() || destination.isChangeTop()) { + // TODO remember to change this if we implement DPI and/or rotation + double left, top; + left = destination.left(); + top = destination.top(); + + viewport.rePos.normalizedX = left; + viewport.rePos.normalizedY = top; + viewport.rePos.enabled = true; + viewport.rePos.pos = Okular::DocumentViewport::TopLeft; + } + /* TODO + if ( dest->getChangeZoom() ) + make zoom change*/ + /* break; + + default: + // implement the others cases + break;*/ + // } +} + +Okular::Sound *createSoundFromPopplerSound(const Poppler::SoundObject *popplerSound) +{ + Okular::Sound *sound = popplerSound->soundType() == Poppler::SoundObject::Embedded ? new Okular::Sound(popplerSound->data()) : new Okular::Sound(popplerSound->url()); + sound->setSamplingRate(popplerSound->samplingRate()); + sound->setChannels(popplerSound->channels()); + sound->setBitsPerSample(popplerSound->bitsPerSample()); + switch (popplerSound->soundEncoding()) { + case Poppler::SoundObject::Raw: + sound->setSoundEncoding(Okular::Sound::Raw); + break; + case Poppler::SoundObject::Signed: + sound->setSoundEncoding(Okular::Sound::Signed); + break; + case Poppler::SoundObject::muLaw: + sound->setSoundEncoding(Okular::Sound::muLaw); + break; + case Poppler::SoundObject::ALaw: + sound->setSoundEncoding(Okular::Sound::ALaw); + break; + } + return sound; +} + +Okular::Movie *createMovieFromPopplerMovie(const Poppler::MovieObject *popplerMovie) +{ + Okular::Movie *movie = new Okular::Movie(popplerMovie->url()); + movie->setSize(popplerMovie->size()); + movie->setRotation((Okular::Rotation)(popplerMovie->rotation() / 90)); + movie->setShowControls(popplerMovie->showControls()); + movie->setPlayMode((Okular::Movie::PlayMode)popplerMovie->playMode()); + movie->setAutoPlay(false); // will be triggered by external MovieAnnotation + movie->setStartPaused(false); + movie->setShowPosterImage(popplerMovie->showPosterImage()); + movie->setPosterImage(popplerMovie->posterImage()); + return movie; +} + +Okular::Movie *createMovieFromPopplerScreen(const Poppler::LinkRendition *popplerScreen) +{ + Poppler::MediaRendition *rendition = popplerScreen->rendition(); + Okular::Movie *movie = nullptr; + if (rendition->isEmbedded()) { + movie = new Okular::Movie(rendition->fileName(), rendition->data()); + } else { + movie = new Okular::Movie(rendition->fileName()); + } + movie->setSize(rendition->size()); + movie->setShowControls(rendition->showControls()); + if (rendition->repeatCount() == 0) { + movie->setPlayMode(Okular::Movie::PlayRepeat); + } else { + movie->setPlayMode(Okular::Movie::PlayLimited); + movie->setPlayRepetitions(rendition->repeatCount()); + } + /** + * Warning: Confusing flag name from PDF spec. Described as: + * > If true, the media should automatically play when activated. + * > If false, the media should be initially paused when activated + * To set autoplay, page actions are used. + */ + movie->setStartPaused(!rendition->autoPlay()); + return movie; +} + +QPair createMovieFromPopplerRichMedia(const Poppler::RichMediaAnnotation *popplerRichMedia) +{ + const QPair emptyResult(nullptr, nullptr); + + /** + * To convert a Flash/Video based RichMedia annotation to a movie, we search for the first + * Flash/Video richmedia instance and parse the flashVars parameter for the 'source' identifier. + * That identifier is then used to find the associated embedded file through the assets + * mapping. + */ + const Poppler::RichMediaAnnotation::Content *content = popplerRichMedia->content(); + if (!content) { + return emptyResult; + } + + const QList configurations = content->configurations(); + if (configurations.isEmpty()) { + return emptyResult; + } + + const Poppler::RichMediaAnnotation::Configuration *configuration = configurations[0]; + + const QList instances = configuration->instances(); + if (instances.isEmpty()) { + return emptyResult; + } + + const Poppler::RichMediaAnnotation::Instance *instance = instances[0]; + + if ((instance->type() != Poppler::RichMediaAnnotation::Instance::TypeFlash) && (instance->type() != Poppler::RichMediaAnnotation::Instance::TypeVideo)) { + return emptyResult; + } + + const Poppler::RichMediaAnnotation::Params *params = instance->params(); + if (!params) { + return emptyResult; + } + + QString sourceId; + bool playbackLoops = false; + + const QStringList flashVars = params->flashVars().split(QLatin1Char('&')); + for (const QString &flashVar : flashVars) { + const int pos = flashVar.indexOf(QLatin1Char('=')); + if (pos == -1) { + continue; + } + + const QString key = flashVar.left(pos); + const QString value = flashVar.mid(pos + 1); + + if (key == QLatin1String("source")) { + sourceId = value; + } else if (key == QLatin1String("loop")) { + playbackLoops = (value == QLatin1String("true") ? true : false); + } + } + + if (sourceId.isEmpty()) { + return emptyResult; + } + + const QList assets = content->assets(); + if (assets.isEmpty()) { + return emptyResult; + } + + Poppler::RichMediaAnnotation::Asset *matchingAsset = nullptr; + for (Poppler::RichMediaAnnotation::Asset *asset : assets) { + if (asset->name() == sourceId) { + matchingAsset = asset; + break; + } + } + + if (!matchingAsset) { + return emptyResult; + } + + Poppler::EmbeddedFile *embeddedFile = matchingAsset->embeddedFile(); + if (!embeddedFile) { + return emptyResult; + } + + Okular::EmbeddedFile *pdfEmbeddedFile = new PDFEmbeddedFile(embeddedFile); + + Okular::Movie *movie = new Okular::Movie(embeddedFile->name(), embeddedFile->data()); + movie->setPlayMode(playbackLoops ? Okular::Movie::PlayRepeat : Okular::Movie::PlayLimited); + + if (popplerRichMedia && popplerRichMedia->settings() && popplerRichMedia->settings()->activation()) { + if (popplerRichMedia->settings()->activation()->condition() == Poppler::RichMediaAnnotation::Activation::PageOpened || + popplerRichMedia->settings()->activation()->condition() == Poppler::RichMediaAnnotation::Activation::PageVisible) { + movie->setAutoPlay(true); + } else { + movie->setAutoPlay(false); + } + + } else { + movie->setAutoPlay(false); + } + + return qMakePair(movie, pdfEmbeddedFile); +} + +static std::optional popplerToOkular(Poppler::LinkAction::ActionType pat) +{ + switch (pat) { + case Poppler::LinkAction::PageFirst: + return Okular::DocumentAction::PageFirst; + case Poppler::LinkAction::PagePrev: + return Okular::DocumentAction::PagePrev; + case Poppler::LinkAction::PageNext: + return Okular::DocumentAction::PageNext; + case Poppler::LinkAction::PageLast: + return Okular::DocumentAction::PageLast; + case Poppler::LinkAction::HistoryBack: + return Okular::DocumentAction::HistoryBack; + case Poppler::LinkAction::HistoryForward: + return Okular::DocumentAction::HistoryForward; + case Poppler::LinkAction::Quit: + return Okular::DocumentAction::Quit; + case Poppler::LinkAction::Presentation: + return Okular::DocumentAction::Presentation; + case Poppler::LinkAction::EndPresentation: + return Okular::DocumentAction::EndPresentation; + case Poppler::LinkAction::Find: + return Okular::DocumentAction::Find; + case Poppler::LinkAction::GoToPage: + return Okular::DocumentAction::GoToPage; + case Poppler::LinkAction::Close: + return Okular::DocumentAction::Close; + case Poppler::LinkAction::Print: + return Okular::DocumentAction::Print; +#if POPPLER_VERSION_MACRO >= QT_VERSION_CHECK(22, 04, 0) + case Poppler::LinkAction::SaveAs: + return Okular::DocumentAction::SaveAs; +#endif + } + + qWarning() << "Unsupported Poppler::LinkAction::ActionType" << pat; + return {}; +} + +// helper for using std::visit to get a dependent false for static_asserts +// to help get compile errors if one ever extends variants +template inline constexpr bool always_false_v = false; + +const Poppler::Link *rawPtr(std::variant> &link) +{ + return std::visit( + [](auto &&item) { + using T = std::decay_t; + if constexpr (std::is_same_v) { + return item; + } else if constexpr (std::is_same_v>) { + return const_cast(item.get()); + } else { + static_assert(always_false_v, "non-exhaustive visitor"); + } + }, + link); +} + +template auto toSharedPointer(std::unique_ptr link) +{ + std::shared_ptr sharedLink = std::move(link); + return std::static_pointer_cast(sharedLink); +} + +/** + * Note: the function will take ownership of the popplerLink if the popplerlink object is in a unique ptr + */ +Okular::Action *createLinkFromPopplerLink(std::variant> popplerLink) +{ + auto rawPopplerLink = rawPtr(popplerLink); + if (!rawPopplerLink) { + return nullptr; + } + + Okular::Action *link = nullptr; + Okular::DocumentViewport viewport; + + switch (rawPopplerLink->linkType()) { + case Poppler::Link::None: + break; + + case Poppler::Link::Goto: { + auto popplerLinkGoto = static_cast(rawPopplerLink); + const Poppler::LinkDestination dest = popplerLinkGoto->destination(); + const QString destName = dest.destinationName(); + if (destName.isEmpty()) { + fillViewportFromLinkDestination(viewport, dest); + link = new Okular::GotoAction(popplerLinkGoto->fileName(), viewport); + } else { + link = new Okular::GotoAction(popplerLinkGoto->fileName(), destName); + } + } break; + + case Poppler::Link::Execute: { + auto popplerLinkExecute = static_cast(rawPopplerLink); + link = new Okular::ExecuteAction(popplerLinkExecute->fileName(), popplerLinkExecute->parameters()); + break; + } + + case Poppler::Link::Browse: { + auto popplerLinkBrowse = static_cast(rawPopplerLink); + link = new Okular::BrowseAction(QUrl(popplerLinkBrowse->url())); + break; + } + + case Poppler::Link::Action: { + auto popplerLinkAction = static_cast(rawPopplerLink); + const auto okularLinkActionType = popplerToOkular(popplerLinkAction->actionType()); + if (okularLinkActionType) { + link = new Okular::DocumentAction(okularLinkActionType.value()); + } + break; + } + + case Poppler::Link::Sound: { + auto popplerLinkSound = static_cast(rawPopplerLink); + const Poppler::SoundObject *popplerSound = popplerLinkSound->sound(); + Okular::Sound *sound = createSoundFromPopplerSound(popplerSound); + link = new Okular::SoundAction(popplerLinkSound->volume(), popplerLinkSound->synchronous(), popplerLinkSound->repeat(), popplerLinkSound->mix(), sound); + } break; + + case Poppler::Link::JavaScript: { + auto popplerLinkJS = static_cast(rawPopplerLink); + link = new Okular::ScriptAction(Okular::JavaScript, popplerLinkJS->script()); + } break; + + case Poppler::Link::Rendition: { + /* This gets weird. Depending on which parts of Poppler gives us a + * rendition link, it might be owned by us; it might be owned by poppler + * Luckily we can count on the return types being correct from poppler. + * If it is owned by poppler, we get a raw pointer + * if ownership is transferred, we get a unique ptr. + * + * So for that reason, put the owned one in a normal shared_ptr for later usage + * and cleanup + * + * and put the non-owned in a special shared_ptr with a nondeleter as deleter + */ + std::shared_ptr popplerLinkRendition; + if (std::holds_alternative>(popplerLink)) { + auto uniquePopplerLink = std::get>(std::move(popplerLink)); + popplerLinkRendition = toSharedPointer(std::move(uniquePopplerLink)); + } else { + popplerLinkRendition = std::shared_ptr(static_cast(rawPopplerLink), [](auto *) { /*don't delete this*/ }); + } + + Okular::RenditionAction::OperationType operation = Okular::RenditionAction::None; + switch (popplerLinkRendition->action()) { + case Poppler::LinkRendition::NoRendition: + operation = Okular::RenditionAction::None; + break; + case Poppler::LinkRendition::PlayRendition: + operation = Okular::RenditionAction::Play; + break; + case Poppler::LinkRendition::StopRendition: + operation = Okular::RenditionAction::Stop; + break; + case Poppler::LinkRendition::PauseRendition: + operation = Okular::RenditionAction::Pause; + break; + case Poppler::LinkRendition::ResumeRendition: + operation = Okular::RenditionAction::Resume; + break; + }; + + Okular::Movie *movie = nullptr; + if (popplerLinkRendition->rendition()) { + movie = createMovieFromPopplerScreen(popplerLinkRendition.get()); + } + + Okular::RenditionAction *renditionAction = new Okular::RenditionAction(operation, movie, Okular::JavaScript, popplerLinkRendition->script()); + renditionAction->setNativeHandle(popplerLinkRendition); + link = renditionAction; + } break; + + case Poppler::Link::Movie: { + if (!std::holds_alternative>(popplerLink)) { + // See comment above in Link::Rendition + qCDebug(OkularPdfDebug) << "parsing movie link without taking ownership is not supported. Action chain might be broken."; + break; + } + + auto uniquePopplerLink = std::get>(std::move(popplerLink)); + auto popplerLinkMovie = toSharedPointer(std::move(uniquePopplerLink)); + + Okular::MovieAction::OperationType operation = Okular::MovieAction::Play; + switch (popplerLinkMovie->operation()) { + case Poppler::LinkMovie::Play: + operation = Okular::MovieAction::Play; + break; + case Poppler::LinkMovie::Stop: + operation = Okular::MovieAction::Stop; + break; + case Poppler::LinkMovie::Pause: + operation = Okular::MovieAction::Pause; + break; + case Poppler::LinkMovie::Resume: + operation = Okular::MovieAction::Resume; + break; + }; + + Okular::MovieAction *movieAction = new Okular::MovieAction(operation); + movieAction->setNativeHandle(popplerLinkMovie); + link = movieAction; + } break; + + case Poppler::Link::Hide: { + const Poppler::LinkHide *l = static_cast(rawPopplerLink); + QStringList scripts; + const QList targets = l->targets(); + for (const QString &target : targets) { + scripts << QStringLiteral("getField(\"%1\").hidden = %2;").arg(target).arg(l->isShowAction() ? QLatin1String("false") : QLatin1String("true")); + } + link = new Okular::ScriptAction(Okular::JavaScript, scripts.join(QLatin1Char('\n'))); + } break; + + case Poppler::Link::OCGState: { + if (!std::holds_alternative>(popplerLink)) { + // See comment above in Link::Rendition + qCDebug(OkularPdfDebug) << "ocg link without taking ownership is not supported. Action chain might be broken."; + break; + } + link = new Okular::BackendOpaqueAction(); + auto uniquePopplerLink = std::get>(std::move(popplerLink)); + auto popplerLinkOCG = toSharedPointer(std::move(uniquePopplerLink)); + link->setNativeHandle(popplerLinkOCG); + break; + } +#if POPPLER_VERSION_MACRO >= QT_VERSION_CHECK(24, 07, 0) + case Poppler::Link::ResetForm: { + if (!std::holds_alternative>(popplerLink)) { + // See comment above in Link::Rendition + qCDebug(OkularPdfDebug) << "ResetForm link without taking ownership is not supported. Action chain might be broken."; + break; + } + link = new Okular::BackendOpaqueAction(); + auto uniquePopplerLink = std::get>(std::move(popplerLink)); + auto popplerLinkResetForm = toSharedPointer(std::move(uniquePopplerLink)); + link->setNativeHandle(popplerLinkResetForm); + } break; +#endif +#if POPPLER_VERSION_MACRO >= QT_VERSION_CHECK(24, 10, 0) + case Poppler::Link::SubmitForm: { + // TODO + } break; +#endif + } + + if (link) { + QList nextActions; + const QList nextLinks = rawPopplerLink->nextLinks(); + for (const Poppler::Link *nl : nextLinks) { + nextActions << createLinkFromPopplerLink(nl); + } + link->setNextActions(nextActions); + } + + return link; +} + +/** + * Note: the function will take ownership of the popplerLink objects. + */ +static QList generateLinks(std::vector> &&popplerLinks) +{ + QList links; + for (auto &popplerLink : popplerLinks) { + QRectF linkArea = popplerLink->linkArea(); + double nl = linkArea.left(), nt = linkArea.top(), nr = linkArea.right(), nb = linkArea.bottom(); + // create the rect using normalized coords and attach the Okular::Link to it + Okular::ObjectRect *rect = new Okular::ObjectRect(nl, nt, nr, nb, false, Okular::ObjectRect::Action, createLinkFromPopplerLink(std::move(popplerLink))); + // add the ObjectRect to the container + links.push_front(rect); + } + return links; +} + +/** NOTES on threading: + * internal: thread race prevention is done via the 'docLock' mutex. the + * mutex is needed only because we have the asynchronous thread; else + * the operations are all within the 'gui' thread, scheduled by the + * Qt scheduler and no mutex is needed. + * external: dangerous operations are all locked via mutex internally, and the + * only needed external thing is the 'canGeneratePixmap' method + * that tells if the generator is free (since we don't want an + * internal queue to store PixmapRequests). A generatedPixmap call + * without the 'ready' flag set, results in undefined behavior. + * So, as example, printing while generating a pixmap asynchronously is safe, + * it might only block the gui thread by 1) waiting for the mutex to unlock + * in async thread and 2) doing the 'heavy' print operation. + */ + +OKULAR_EXPORT_PLUGIN(PDFGenerator, "libokularGenerator_poppler.json") + +static void PDFGeneratorPopplerDebugFunction(const QString &message, const QVariant &closure) +{ + Q_UNUSED(closure); + qCDebug(OkularPdfDebug) << "[Poppler]" << message; +} + +PDFGenerator::PDFGenerator(QObject *parent, const QVariantList &args) + : Generator(parent, args) + , pdfdoc(nullptr) + , docSynopsisDirty(true) + , xrefReconstructed(false) + , hasVisibleOverprint(false) + , docEmbeddedFilesDirty(true) + , nextFontPage(0) + , annotProxy(nullptr) + , certStore(nullptr) +{ + setFeature(Threaded); + setFeature(TextExtraction); + setFeature(FontInfo); +#ifdef Q_OS_WIN32 + setFeature(PrintNative); +#else + setFeature(PrintPostscript); +#endif + if (Okular::FilePrinter::ps2pdfAvailable()) { + setFeature(PrintToFile); + } + setFeature(ReadRawData); + setFeature(TiledRendering); + setFeature(SwapBackingFile); + setFeature(SupportsCancelling); + + // You only need to do it once not for each of the documents but it is cheap enough + // so doing it all the time won't hurt either + Poppler::setDebugErrorFunction(PDFGeneratorPopplerDebugFunction, QVariant()); + if (!PDFSettings::useDefaultCertDB()) { + Poppler::setNSSDir(QUrl(PDFSettings::dBCertificatePath()).toLocalFile()); + } +#if POPPLER_VERSION_MACRO >= QT_VERSION_CHECK(23, 06, 0) + auto activeBackend = PDFSettingsWidget::settingStringToPopplerEnum(PDFSettings::signatureBackend()); + if (activeBackend) { + Poppler::setActiveCryptoSignBackend(activeBackend.value()); + if (activeBackend == Poppler::CryptoSignBackend::GPG) { + setActiveCertificateBackend(Okular::CertificateInfo::Backend::Gpg); + } + } +#endif +#if POPPLER_VERSION_MACRO >= QT_VERSION_CHECK(25, 02, 90) + Poppler::setPgpSignaturesAllowed(PDFSettings::enablePgp()); +#endif +} + +PDFGenerator::~PDFGenerator() +{ + delete pdfOptionsPage; + delete certStore; + for (auto it = m_additionalDocumentActions.begin(); it != m_additionalDocumentActions.end(); it++) { + delete it.value(); + } +} + +// BEGIN Generator inherited functions +Okular::Document::OpenResult PDFGenerator::loadDocumentWithPassword(const QString &filePath, QList &pagesVector, const QString &password) +{ +#ifndef NDEBUG + if (pdfdoc) { + qCDebug(OkularPdfDebug) << "PDFGenerator: multiple calls to loadDocument. Check it."; + return Okular::Document::OpenError; + } +#endif + // create PDFDoc for the given file + pdfdoc = Poppler::Document::load(filePath, nullptr, nullptr); + documentFilePath = filePath; + return init(pagesVector, password); +} + +Okular::Document::OpenResult PDFGenerator::loadDocumentFromDataWithPassword(const QByteArray &fileData, QList &pagesVector, const QString &password) +{ +#ifndef NDEBUG + if (pdfdoc) { + qCDebug(OkularPdfDebug) << "PDFGenerator: multiple calls to loadDocument. Check it."; + return Okular::Document::OpenError; + } +#endif + // create PDFDoc for the given file + pdfdoc = Poppler::Document::loadFromData(fileData, nullptr, nullptr); + documentFilePath = QString(); + return init(pagesVector, password); +} + +Okular::Document::OpenResult PDFGenerator::init(QList &pagesVector, const QString &password) +{ + if (!pdfdoc) { + return Okular::Document::OpenError; + } + + if (pdfdoc->isLocked()) { + pdfdoc->unlock(password.toLatin1(), password.toLatin1()); + documentHasPassword = !password.isEmpty(); + + if (pdfdoc->isLocked()) { + pdfdoc->unlock(password.toUtf8(), password.toUtf8()); + + if (pdfdoc->isLocked()) { + pdfdoc.reset(); + return Okular::Document::OpenNeedsPassword; + } + } + } else { + documentHasPassword = false; + } + + xrefReconstructed = false; + if (pdfdoc->xrefWasReconstructed()) { + xrefReconstructionHandler(); + } else { + std::function cb = std::bind(&PDFGenerator::xrefReconstructionHandler, this); + pdfdoc->setXRefReconstructedCallback(cb); + } + + hasVisibleOverprint = false; + QXmlStreamReader xml(pdfdoc->metadata()); + while (!xml.atEnd()) { + xml.readNext(); + if (xml.isStartElement() && xml.name() == QStringLiteral("HasVisibleOverprint")) { + xml.readNext(); + hasVisibleOverprint = xml.text().toString().toLower() == QStringLiteral("true"); + } + } + + // build Pages (currentPage was set -1 by deletePages) + int pageCount = pdfdoc->numPages(); + if (pageCount < 0) { + pdfdoc.reset(); + return Okular::Document::OpenError; + } + pagesVector.resize(pageCount); + rectsGenerated.fill(false, pageCount); + + annotationsOnOpenHash.clear(); + + loadPages(pagesVector, 0, false); + + // update the configuration + reparseConfig(); + + // create annotation proxy + annotProxy = new PopplerAnnotationProxy(pdfdoc.get(), userMutex(), &annotationsOnOpenHash); + +#if POPPLER_VERSION_MACRO >= QT_VERSION_CHECK(24, 07, 0) + setAdditionalDocumentAction(Okular::Document::CloseDocument, createLinkFromPopplerLink(pdfdoc->additionalAction(Poppler::Document::CloseDocument))); + setAdditionalDocumentAction(Okular::Document::SaveDocumentStart, createLinkFromPopplerLink(pdfdoc->additionalAction(Poppler::Document::SaveDocumentStart))); + setAdditionalDocumentAction(Okular::Document::SaveDocumentFinish, createLinkFromPopplerLink(pdfdoc->additionalAction(Poppler::Document::SaveDocumentFinish))); + setAdditionalDocumentAction(Okular::Document::PrintDocumentStart, createLinkFromPopplerLink(pdfdoc->additionalAction(Poppler::Document::PrintDocumentStart))); + setAdditionalDocumentAction(Okular::Document::PrintDocumentFinish, createLinkFromPopplerLink(pdfdoc->additionalAction(Poppler::Document::PrintDocumentFinish))); +#endif + // the file has been loaded correctly + return Okular::Document::OpenSuccess; +} + +void PDFGenerator::setAdditionalDocumentAction(Okular::Document::DocumentAdditionalActionType type, Okular::Action *action) +{ + if (m_additionalDocumentActions.contains(type)) { + delete m_additionalDocumentActions.value(type); + } + m_additionalDocumentActions.insert(type, action); +} + +Okular::Action *PDFGenerator::additionalDocumentAction(Okular::Document::DocumentAdditionalActionType type) +{ + if (m_additionalDocumentActions.contains(type)) { + return m_additionalDocumentActions.value(type); + } + return nullptr; +} + +PDFGenerator::SwapBackingFileResult PDFGenerator::swapBackingFile(QString const &newFileName, QList &newPagesVector) +{ + const QBitArray oldRectsGenerated = rectsGenerated; + + doCloseDocument(); + auto openResult = loadDocumentWithPassword(newFileName, newPagesVector, QString()); + if (openResult != Okular::Document::OpenSuccess) { + return SwapBackingFileError; + } + + // Recreate links if needed since they are done on image() and image() is not called when swapping the file + // since the page is already rendered + if (oldRectsGenerated.count() == rectsGenerated.count()) { + for (int i = 0; i < oldRectsGenerated.count(); ++i) { + if (oldRectsGenerated[i]) { + std::unique_ptr pp = pdfdoc->page(i); + if (pp) { + Okular::Page *page = newPagesVector[i]; + page->setObjectRects(generateLinks(pp->links())); + rectsGenerated[i] = true; + resolveMediaLinkReferences(page); + } + } + } + } + + return SwapBackingFileReloadInternalData; +} + +bool PDFGenerator::doCloseDocument() +{ + // remove internal objects + userMutex()->lock(); + delete annotProxy; + annotProxy = nullptr; + pdfdoc = nullptr; + userMutex()->unlock(); + docSynopsisDirty = true; + docSyn.clear(); + docEmbeddedFilesDirty = true; + qDeleteAll(docEmbeddedFiles); + docEmbeddedFiles.clear(); + nextFontPage = 0; + rectsGenerated.clear(); + + return true; +} + +void PDFGenerator::loadPages(QList &pagesVector, int rotation, bool clear) +{ + // TODO XPDF 3.01 check + const int count = pagesVector.count(); + double w = 0, h = 0; + for (int i = 0; i < count; i++) { + // get xpdf page + std::unique_ptr p = pdfdoc->page(i); + Okular::Page *page; + if (p) { + const QSizeF pSize = p->pageSizeF(); + w = pSize.width() / 72.0 * dpi().width(); + h = pSize.height() / 72.0 * dpi().height(); + Okular::Rotation orientation = Okular::Rotation0; + switch (p->orientation()) { + case Poppler::Page::Landscape: + orientation = Okular::Rotation90; + break; + case Poppler::Page::UpsideDown: + orientation = Okular::Rotation180; + break; + case Poppler::Page::Seascape: + orientation = Okular::Rotation270; + break; + case Poppler::Page::Portrait: + orientation = Okular::Rotation0; + break; + } + if (rotation % 2 == 1) { + std::swap(w, h); + } + // init a Okular::page, add transition and annotation information + page = new Okular::Page(i, w, h, orientation); + addTransition(p.get(), page); + if (true) { // TODO real check + addAnnotations(p.get(), page); + } + std::unique_ptr tmplink = p->action(Poppler::Page::Opening); + if (tmplink) { + page->setPageAction(Okular::Page::Opening, createLinkFromPopplerLink(std::move(tmplink))); + } + tmplink = p->action(Poppler::Page::Closing); + if (tmplink) { + page->setPageAction(Okular::Page::Closing, createLinkFromPopplerLink(tmplink.get())); + } + page->setDuration(p->duration()); + page->setLabel(p->label()); + + QList okularFormFields; + if (i > 0) { // for page 0 we handle the form fields at the end + okularFormFields = getFormFields(p.get()); + } + if (!okularFormFields.isEmpty()) { + page->setFormFields(okularFormFields); + } + // qWarning(PDFDebug).nospace() << page->width() << "x" << page->height(); + +#ifdef PDFGENERATOR_DEBUG + qCDebug(OkularPdfDebug) << "load page" << i << "with rotation" << rotation << "and orientation" << orientation; +#endif + if (clear && pagesVector[i]) { + delete pagesVector[i]; + } + } else { + page = new Okular::Page(i, defaultPageWidth, defaultPageHeight, Okular::Rotation0); + } + // set the Okular::page at the right position in document's pages vector + pagesVector[i] = page; + } + + // Once we've added the signatures to all pages except page 0, we add all the missing signatures there + // we do that because there's signatures that don't belong to any page, but okular needs a page<->signature mapping + if (count > 0) { + std::vector> allSignatures = pdfdoc->signatures(); + std::unique_ptr page0(pdfdoc->page(0)); + QList page0FormFields = getFormFields(page0.get()); + + for (auto &s : allSignatures) { + bool createSignature = true; + const QString fullyQualifiedName = s->fullyQualifiedName(); + auto compareSignatureByFullyQualifiedName = [&fullyQualifiedName](const Okular::FormField *off) { return off->fullyQualifiedName() == fullyQualifiedName; }; + + // See if the signature is in one of the already loaded page (i.e. 1 to end) + for (Okular::Page *p : std::as_const(pagesVector)) { + const QList pageFormFields = p->formFields(); + if (std::find_if(pageFormFields.begin(), pageFormFields.end(), compareSignatureByFullyQualifiedName) != pageFormFields.end()) { + createSignature = false; + break; + } + } + // See if the signature is in page 0 + if (createSignature && std::find_if(page0FormFields.constBegin(), page0FormFields.constEnd(), compareSignatureByFullyQualifiedName) != page0FormFields.constEnd()) { + createSignature = false; + } + // Otherwise it's a page-less signature, add it to page 0 + if (createSignature) { + Okular::FormField *of = new PopplerFormFieldSignature(std::move(s)); + page0FormFields.append(of); + } + } + + if (!page0FormFields.isEmpty()) { + pagesVector[0]->setFormFields(page0FormFields); + } + } +} + +Okular::DocumentInfo PDFGenerator::generateDocumentInfo(const QSet &keys) const +{ + Okular::DocumentInfo docInfo; + docInfo.set(Okular::DocumentInfo::MimeType, QStringLiteral("application/pdf")); + + userMutex()->lock(); + + if (pdfdoc) { + // compile internal structure reading properties from PDFDoc + if (keys.contains(Okular::DocumentInfo::Title)) { + docInfo.set(Okular::DocumentInfo::Title, pdfdoc->info(QStringLiteral("Title"))); + } + if (keys.contains(Okular::DocumentInfo::Subject)) { + docInfo.set(Okular::DocumentInfo::Subject, pdfdoc->info(QStringLiteral("Subject"))); + } + if (keys.contains(Okular::DocumentInfo::Author)) { + docInfo.set(Okular::DocumentInfo::Author, pdfdoc->info(QStringLiteral("Author"))); + } + if (keys.contains(Okular::DocumentInfo::Keywords)) { + docInfo.set(Okular::DocumentInfo::Keywords, pdfdoc->info(QStringLiteral("Keywords"))); + } + if (keys.contains(Okular::DocumentInfo::Creator)) { + docInfo.set(Okular::DocumentInfo::Creator, pdfdoc->info(QStringLiteral("Creator"))); + } + if (keys.contains(Okular::DocumentInfo::Producer)) { + docInfo.set(Okular::DocumentInfo::Producer, pdfdoc->info(QStringLiteral("Producer"))); + } + if (keys.contains(Okular::DocumentInfo::CreationDate)) { + docInfo.set(Okular::DocumentInfo::CreationDate, QLocale().toString(pdfdoc->date(QStringLiteral("CreationDate")), QLocale::LongFormat)); + } + if (keys.contains(Okular::DocumentInfo::ModificationDate)) { + docInfo.set(Okular::DocumentInfo::ModificationDate, QLocale().toString(pdfdoc->date(QStringLiteral("ModDate")), QLocale::LongFormat)); + } + if (keys.contains(Okular::DocumentInfo::CustomKeys)) { + int major, minor; + auto version = pdfdoc->getPdfVersion(); + major = version.major; + minor = version.minor; + docInfo.set(QStringLiteral("format"), i18nc("PDF v. ", "PDF v. %1.%2", major, minor), i18n("Format")); + docInfo.set(QStringLiteral("encryption"), pdfdoc->isEncrypted() ? i18n("Encrypted") : i18n("Unencrypted"), i18n("Security")); + docInfo.set(QStringLiteral("optimization"), pdfdoc->isLinearized() ? i18n("Yes") : i18n("No"), i18n("Optimized")); + } + + docInfo.set(Okular::DocumentInfo::Pages, QString::number(pdfdoc->numPages())); + } + userMutex()->unlock(); + + return docInfo; +} + +const Okular::DocumentSynopsis *PDFGenerator::generateDocumentSynopsis() +{ + if (!docSynopsisDirty) { + return &docSyn; + } + + if (!pdfdoc) { + return nullptr; + } + + userMutex()->lock(); + const QList outline = pdfdoc->outline(); + userMutex()->unlock(); + + if (outline.isEmpty()) { + return nullptr; + } + + addSynopsisChildren(outline, &docSyn); + + docSynopsisDirty = false; + return &docSyn; +} + +static Okular::FontInfo::FontType convertPopplerFontInfoTypeToOkularFontInfoType(Poppler::FontInfo::Type type) +{ + switch (type) { + case Poppler::FontInfo::Type1: + return Okular::FontInfo::Type1; + break; + case Poppler::FontInfo::Type1C: + return Okular::FontInfo::Type1C; + break; + case Poppler::FontInfo::Type3: + return Okular::FontInfo::Type3; + break; + case Poppler::FontInfo::TrueType: + return Okular::FontInfo::TrueType; + break; + case Poppler::FontInfo::CIDType0: + return Okular::FontInfo::CIDType0; + break; + case Poppler::FontInfo::CIDType0C: + return Okular::FontInfo::CIDType0C; + break; + case Poppler::FontInfo::CIDTrueType: + return Okular::FontInfo::CIDTrueType; + break; + case Poppler::FontInfo::Type1COT: + return Okular::FontInfo::Type1COT; + break; + case Poppler::FontInfo::TrueTypeOT: + return Okular::FontInfo::TrueTypeOT; + break; + case Poppler::FontInfo::CIDType0COT: + return Okular::FontInfo::CIDType0COT; + break; + case Poppler::FontInfo::CIDTrueTypeOT: + return Okular::FontInfo::CIDTrueTypeOT; + break; + case Poppler::FontInfo::unknown: + default:; + } + return Okular::FontInfo::Unknown; +} + +static Okular::FontInfo::EmbedType embedTypeForPopplerFontInfo(const Poppler::FontInfo &fi) +{ + Okular::FontInfo::EmbedType ret = Okular::FontInfo::NotEmbedded; + if (fi.isEmbedded()) { + if (fi.isSubset()) { + ret = Okular::FontInfo::EmbeddedSubset; + } else { + ret = Okular::FontInfo::FullyEmbedded; + } + } + return ret; +} + +Okular::FontInfo::List PDFGenerator::fontsForPage(int page) +{ + Okular::FontInfo::List list; + + if (page != nextFontPage) { + return list; + } + + QList fonts; + userMutex()->lock(); + + { + std::unique_ptr it = pdfdoc->newFontIterator(page); + if (it->hasNext()) { + fonts = it->next(); + } + } + userMutex()->unlock(); + + for (const Poppler::FontInfo &font : std::as_const(fonts)) { + Okular::FontInfo of; + of.setName(font.name()); + of.setSubstituteName(font.substituteName()); + of.setType(convertPopplerFontInfoTypeToOkularFontInfoType(font.type())); + of.setEmbedType(embedTypeForPopplerFontInfo(font)); + of.setFile(font.file()); + of.setCanBeExtracted(of.embedType() != Okular::FontInfo::NotEmbedded); + + QVariant nativeId; + nativeId.setValue(font); + of.setNativeId(nativeId); + + list.append(of); + } + + ++nextFontPage; + + return list; +} + +const QList *PDFGenerator::embeddedFiles() const +{ + if (docEmbeddedFilesDirty) { + userMutex()->lock(); + const QList &popplerFiles = pdfdoc->embeddedFiles(); + for (Poppler::EmbeddedFile *pef : popplerFiles) { + docEmbeddedFiles.append(new PDFEmbeddedFile(pef)); + } + userMutex()->unlock(); + + docEmbeddedFilesDirty = false; + } + + return &docEmbeddedFiles; +} + +PDFGenerator::PageLayout PDFGenerator::defaultPageLayout() const +{ + Poppler::Document::PageLayout defaultValue = pdfdoc->pageLayout(); + + switch (defaultValue) { + case Poppler::Document::OneColumn: + case Poppler::Document::SinglePage: + return PDFGenerator::SinglePage; + case Poppler::Document::TwoColumnLeft: + case Poppler::Document::TwoPageLeft: + return PDFGenerator::TwoPageLeft; + case Poppler::Document::TwoPageRight: + case Poppler::Document::TwoColumnRight: + return PDFGenerator::TwoPageRight; + case Poppler::Document::NoLayout: + return PDFGenerator::NoLayout; + } + return PDFGenerator::NoLayout; +} + +bool PDFGenerator::defaultPageContinuous() const +{ + Poppler::Document::PageLayout defaultValue = pdfdoc->pageLayout(); + + if ((defaultValue == Poppler::Document::OneColumn) || (defaultValue == Poppler::Document::TwoColumnLeft) || (defaultValue == Poppler::Document::TwoColumnRight)) { + return true; + } else { + return false; + } +} + +QAbstractItemModel *PDFGenerator::layersModel() const +{ + return pdfdoc->hasOptionalContent() ? pdfdoc->optionalContentModel() : nullptr; +} + +Okular::BackendOpaqueAction::OpaqueActionResult PDFGenerator::opaqueAction(const Okular::BackendOpaqueAction *action) +{ + const Poppler::Link *popplerLink = static_cast(action->nativeHandle()); + if (const Poppler::LinkOCGState *ocgLink = dynamic_cast(popplerLink)) { + pdfdoc->optionalContentModel()->applyLink(const_cast(ocgLink)); + return Okular::BackendOpaqueAction::DoNothing; + } +#if POPPLER_VERSION_MACRO >= QT_VERSION_CHECK(24, 07, 0) + else if (const Poppler::LinkResetForm *resetFormLink = dynamic_cast(popplerLink)) { + pdfdoc->applyResetFormsLink(*resetFormLink); + return Okular::BackendOpaqueAction::RefreshForms; + } +#endif + return Okular::BackendOpaqueAction::DoNothing; +} + +bool PDFGenerator::isAllowed(Okular::Permission permission) const +{ + bool b = true; + switch (permission) { + case Okular::AllowModify: + b = pdfdoc->okToChange(); + break; + case Okular::AllowCopy: + b = pdfdoc->okToCopy(); + break; + case Okular::AllowPrint: + b = pdfdoc->okToPrint(); + break; + case Okular::AllowNotes: + b = pdfdoc->okToAddNotes(); + break; + case Okular::AllowFillForms: + b = pdfdoc->okToFillForm(); + break; + default:; + } + return b; +} + +struct RenderImagePayload { + RenderImagePayload(PDFGenerator *g, Okular::PixmapRequest *r) + : generator(g) + , request(r) + { + // Don't report partial updates for the first 500 ms + timer.setInterval(500); + timer.setSingleShot(true); + timer.start(); + } + + PDFGenerator *generator; + Okular::PixmapRequest *request; + QTimer timer; +}; +Q_DECLARE_METATYPE(RenderImagePayload *) + +static bool shouldDoPartialUpdateCallback(const QVariant &vPayload) +{ + auto payload = vPayload.value(); + + // Since the timer lives in a thread without an event loop we need to stop it ourselves + // when the remaining time has reached 0 + if (payload->timer.isActive() && payload->timer.remainingTime() == 0) { + payload->timer.stop(); + } + + return !payload->timer.isActive(); +} + +static void partialUpdateCallback(const QImage &image, const QVariant &vPayload) +{ + auto payload = vPayload.value(); + // clang-format off + // Otherwise the Okular::PixmapRequest* gets turned into Okular::PixmapRequest * that is not normalized and is slightly slower + QMetaObject::invokeMethod(payload->generator, "signalPartialPixmapRequest", Qt::QueuedConnection, Q_ARG(Okular::PixmapRequest*, payload->request), Q_ARG(QImage, image)); + // clang-format on +} + +static bool shouldAbortRenderCallback(const QVariant &vPayload) +{ + auto payload = vPayload.value(); + return payload->request->shouldAbortRender(); +} + +QImage PDFGenerator::image(Okular::PixmapRequest *request) +{ + // debug requests to this (xpdf) generator + // qCDebug(OkularPdfDebug) << "id: " << request->id << " is requesting " << (request->async ? "ASYNC" : "sync") << " pixmap for page " << request->page->number() << " [" << request->width << " x " << request->height << "]."; + + // compute dpi used to get an image with desired width and height + Okular::Page *page = request->page(); + + double pageWidth = page->width(), pageHeight = page->height(); + + if (page->rotation() % 2) { + std::swap(pageWidth, pageHeight); + } + + qreal fakeDpiX = request->width() / pageWidth * dpi().width(); + qreal fakeDpiY = request->height() / pageHeight * dpi().height(); + + // generate links rects only the first time + bool genObjectRects = !rectsGenerated.at(page->number()); + + // 0. LOCK [waits for the thread end] + userMutex()->lock(); + + if (request->shouldAbortRender()) { + userMutex()->unlock(); + return QImage(); + } + + // 1. Set OutputDev parameters and Generate contents + // note: thread safety is set on 'false' for the GUI (this) thread + std::unique_ptr p = pdfdoc->page(page->number()); + + // 2. Take data from outputdev and attach it to the Page + QImage img; + if (p) { + if (request->isTile()) { + const QRect rect = request->normalizedRect().geometry(request->width(), request->height()); + if (request->partialUpdatesWanted()) { + RenderImagePayload payload(this, request); + img = p->renderToImage( + fakeDpiX, fakeDpiY, rect.x(), rect.y(), rect.width(), rect.height(), Poppler::Page::Rotate0, partialUpdateCallback, shouldDoPartialUpdateCallback, shouldAbortRenderCallback, QVariant::fromValue(&payload)); + } else { + RenderImagePayload payload(this, request); + img = p->renderToImage(fakeDpiX, fakeDpiY, rect.x(), rect.y(), rect.width(), rect.height(), Poppler::Page::Rotate0, nullptr, nullptr, shouldAbortRenderCallback, QVariant::fromValue(&payload)); + } + } else { + if (request->partialUpdatesWanted()) { + RenderImagePayload payload(this, request); + img = p->renderToImage(fakeDpiX, fakeDpiY, -1, -1, -1, -1, Poppler::Page::Rotate0, partialUpdateCallback, shouldDoPartialUpdateCallback, shouldAbortRenderCallback, QVariant::fromValue(&payload)); + } else { + RenderImagePayload payload(this, request); + img = p->renderToImage(fakeDpiX, fakeDpiY, -1, -1, -1, -1, Poppler::Page::Rotate0, nullptr, nullptr, shouldAbortRenderCallback, QVariant::fromValue(&payload)); + } + } + } else { + img = QImage(request->width(), request->height(), QImage::Format_Mono); + img.fill(Qt::white); + } + + if (p && genObjectRects) { + // TODO previously we extracted Image type rects too, but that needed porting to poppler + // and as we are not doing anything with Image type rects i did not port it, have a look at + // dead gp_outputdev.cpp on image extraction + page->setObjectRects(generateLinks(p->links())); + rectsGenerated[request->page()->number()] = true; + + resolveMediaLinkReferences(page); + } + + // 3. UNLOCK [re-enables shared access] + userMutex()->unlock(); + + return img; +} + +template +void resolveMediaLinks(Okular::Action *action, enum Okular::Annotation::SubType subType, QHash &annotationsHash) +{ + OkularLinkType *okularAction = static_cast(action); + + const PopplerLinkType *popplerLink = static_cast(action->nativeHandle()); + + QHashIterator it(annotationsHash); + while (it.hasNext()) { + it.next(); + + if (it.key()->subType() == subType) { + const PopplerAnnotationType *popplerAnnotation = static_cast(it.value()); + + if (popplerLink->isReferencedAnnotation(popplerAnnotation)) { + okularAction->setAnnotation(static_cast(it.key())); + okularAction->setNativeHandle({}); + break; + } + } + } +} + +void PDFGenerator::resolveMediaLinkReference(Okular::Action *action) +{ + if (!action) { + return; + } + + if ((action->actionType() != Okular::Action::Movie) && (action->actionType() != Okular::Action::Rendition)) { + return; + } + + resolveMediaLinks(action, Okular::Annotation::AMovie, annotationsOnOpenHash); + resolveMediaLinks(action, Okular::Annotation::AScreen, annotationsOnOpenHash); +} + +void PDFGenerator::resolveMediaLinkReferences(Okular::Page *page) +{ + resolveMediaLinkReference(const_cast(page->pageAction(Okular::Page::Opening))); + resolveMediaLinkReference(const_cast(page->pageAction(Okular::Page::Closing))); + + const QList annotations = page->annotations(); + for (Okular::Annotation *annotation : annotations) { + if (annotation->subType() == Okular::Annotation::AScreen) { + Okular::ScreenAnnotation *screenAnnotation = static_cast(annotation); + resolveMediaLinkReference(screenAnnotation->additionalAction(Okular::Annotation::PageOpening)); + resolveMediaLinkReference(screenAnnotation->additionalAction(Okular::Annotation::PageClosing)); + } + + if (annotation->subType() == Okular::Annotation::AWidget) { + Okular::WidgetAnnotation *widgetAnnotation = static_cast(annotation); + resolveMediaLinkReference(widgetAnnotation->additionalAction(Okular::Annotation::PageOpening)); + resolveMediaLinkReference(widgetAnnotation->additionalAction(Okular::Annotation::PageClosing)); + } + } + + const QList fields = page->formFields(); + for (Okular::FormField *field : fields) { + resolveMediaLinkReference(field->activationAction()); + } +} + +struct TextExtractionPayload { + explicit TextExtractionPayload(Okular::TextRequest *r) + : request(r) + { + } + + Okular::TextRequest *request; +}; +Q_DECLARE_METATYPE(TextExtractionPayload *) + +static bool shouldAbortTextExtractionCallback(const QVariant &vPayload) +{ + auto payload = vPayload.value(); + return payload->request->shouldAbortExtraction(); +} + +Okular::TextPage *PDFGenerator::textPage(Okular::TextRequest *request) +{ + const Okular::Page *page = request->page(); +#ifdef PDFGENERATOR_DEBUG + qCDebug(OkularPdfDebug) << "page" << page->number(); +#endif + // build a TextList... + std::vector> textList; + double pageWidth, pageHeight; + userMutex()->lock(); + if (request->shouldAbortExtraction()) { + userMutex()->unlock(); + return nullptr; + } + std::unique_ptr pp = pdfdoc->page(page->number()); + if (pp) { + TextExtractionPayload payload(request); + textList = pp->textList(Poppler::Page::Rotate0, shouldAbortTextExtractionCallback, QVariant::fromValue(&payload)); + const QSizeF s = pp->pageSizeF(); + pageWidth = s.width(); + pageHeight = s.height(); + } else { + pageWidth = defaultPageWidth; + pageHeight = defaultPageHeight; + } + userMutex()->unlock(); + + if (textList.empty() && request->shouldAbortExtraction()) { + return nullptr; + } + + Okular::TextPage *tp = abstractTextPage(textList, pageHeight, pageWidth, (Poppler::Page::Rotation)page->orientation()); + return tp; +} + +QByteArray PDFGenerator::requestFontData(const Okular::FontInfo &font) +{ + Poppler::FontInfo fi = font.nativeId().value(); + return pdfdoc->fontData(fi); +} + +void PDFGenerator::okularToPoppler(const Okular::NewSignatureData &oData, Poppler::PDFConverter::NewSignatureData *pData) +{ + pData->setCertNickname(oData.certNickname()); + pData->setPassword(oData.password()); + pData->setPage(oData.page()); + const QString datetime = QDateTime::currentDateTime().toString(QStringLiteral("yyyy-MM-dd hh:mm:ss t")); + pData->setSignatureText(i18n("Signed by: %1\n\nDate: %2", oData.certSubjectCommonName(), datetime)); + pData->setSignatureLeftText(oData.certSubjectCommonName()); + pData->setFontSize(oData.fontSize()); + pData->setLeftFontSize(oData.leftFontSize()); + const Okular::NormalizedRect bRect = oData.boundingRectangle(); + pData->setBoundingRectangle({bRect.left, bRect.top, bRect.width(), bRect.height()}); + pData->setFontColor(Qt::black); + pData->setBorderColor(Qt::black); + pData->setReason(oData.reason()); + pData->setLocation(oData.location()); + pData->setDocumentOwnerPassword(oData.documentPassword().toLatin1()); + pData->setDocumentUserPassword(oData.documentPassword().toLatin1()); +} + +#define DUMMY_QPRINTER_COPY +Okular::Document::PrintError PDFGenerator::print(QPrinter &printer) +{ + bool printAnnots = true; + bool forceRasterize = false; + PDFOptionsPage::ScaleMode scaleMode = PDFOptionsPage::FitToPrintableArea; + + if (pdfOptionsPage) { + printAnnots = pdfOptionsPage->printAnnots(); + forceRasterize = pdfOptionsPage->printForceRaster(); + scaleMode = pdfOptionsPage->scaleMode(); + } + + const auto overprintSetting = PDFSettings::overprintPreviewEnabled(); + const auto overprintPreviewEnabled = overprintSetting == PDFSettings::EnumOverprintPreviewEnabled::Always || (overprintSetting == PDFSettings::EnumOverprintPreviewEnabled::Automatic && hasVisibleOverprint); + +#ifdef Q_OS_WIN + // Windows can only print by rasterization, because that is + // currently the only way Okular implements printing without using UNIX-specific + // tools like 'lpr'. + forceRasterize = true; /* cppcheck-suppress redundantAssignment */ +#endif + + if (forceRasterize) { /* cppcheck-suppress knownConditionTrueFalse */ + pdfdoc->setRenderHint(Poppler::Document::HideAnnotations, !printAnnots); + pdfdoc->setRenderHint(Poppler::Document::OverprintPreview, overprintPreviewEnabled); + + if (pdfOptionsPage) { + // If requested, scale to full page instead of the printable area + printer.setFullPage(pdfOptionsPage->ignorePrintMargins()); + } + + QPainter painter; + painter.begin(&printer); + + QList pageList = Okular::FilePrinter::pageList(printer, pdfdoc->numPages(), document()->currentPage() + 1, document()->bookmarkedPageList()); + for (int i = 0; i < pageList.count(); ++i) { + if (i != 0) { + printer.newPage(); + } + + const int page = pageList.at(i) - 1; + userMutex()->lock(); + std::unique_ptr pp(pdfdoc->page(page)); + if (pp) { + QSizeF pageSize = pp->pageSizeF(); // Unit is 'points' (i.e., 1/72th of an inch) + QRect painterWindow = painter.window(); // Unit is 'QPrinter::DevicePixel' + + // Default: no scaling at all, but we need to go from DevicePixel units to 'points' + // Warning: We compute the horizontal scaling, and later assume that the vertical scaling will be the same. + double scaling = printer.paperRect(QPrinter::DevicePixel).width() / printer.paperRect(QPrinter::Point).width(); + + if (scaleMode != PDFOptionsPage::None) { + // Get the two scaling factors needed to fit the page onto paper horizontally or vertically + auto horizontalScaling = painterWindow.width() / pageSize.width(); + auto verticalScaling = painterWindow.height() / pageSize.height(); + + // We use the smaller of the two for both directions, to keep the aspect ratio + scaling = std::min(horizontalScaling, verticalScaling); + } + +#ifdef Q_OS_WIN + QImage img = pp->renderToImage(printer.physicalDpiX(), printer.physicalDpiY()); +#else + // UNIX: Same resolution as the postscript rasterizer; see discussion at https://git.reviewboard.kde.org/r/130218/ + QImage img = pp->renderToImage(300, 300); +#endif + painter.drawImage(QRectF(QPointF(0, 0), scaling * pp->pageSizeF()), img); + } + userMutex()->unlock(); + } + painter.end(); + return Okular::Document::NoPrintError; + } + + // Check if we can send the PDF directly to the printer or need to convert to PS first + // We need PS if: + // - we are printing with annotations + // - we are printing to a file (otherwise page ranges are not respected) + // - our document isn't backed by a file + if (!printAnnots && printer.outputFileName().isEmpty() && !documentFilePath.isEmpty()) { + const Okular::FilePrinter::ScaleMode filePrinterScaleMode = (scaleMode == PDFOptionsPage::None) ? Okular::FilePrinter::ScaleMode::NoScaling : Okular::FilePrinter::ScaleMode::FitToPrintArea; + + return Okular::FilePrinter::printFile( + printer, documentFilePath, document()->orientation(), Okular::FilePrinter::ApplicationDeletesFiles, Okular::FilePrinter::SystemSelectsPages, document()->bookmarkedPageRange(), filePrinterScaleMode); + } + +#ifdef DUMMY_QPRINTER_COPY + // Get the real page size to pass to the ps generator + QPrinter dummy(QPrinter::PrinterResolution); + dummy.setFullPage(true); + dummy.setPageOrientation(printer.pageLayout().orientation()); + dummy.setPageSize(printer.pageLayout().pageSize()); + int width = dummy.width(); + int height = dummy.height(); +#else + int width = printer.width(); + int height = printer.height(); +#endif + + if (width <= 0 || height <= 0) { + return Okular::Document::InvalidPageSizePrintError; + } + + // Create the tempfile to send to FilePrinter, which will manage the deletion + QTemporaryFile tf(QDir::tempPath() + QLatin1String("/okular_XXXXXX.ps")); + if (!tf.open()) { + return Okular::Document::TemporaryFileOpenPrintError; + } + QString tempfilename = tf.fileName(); + + // Generate the list of pages to be printed as selected in the print dialog + QList pageList = Okular::FilePrinter::pageList(printer, pdfdoc->numPages(), document()->currentPage() + 1, document()->bookmarkedPageList()); + + // TODO rotation + + tf.setAutoRemove(false); + + QString pstitle = metaData(QStringLiteral("Title"), QVariant()).toString(); + if (pstitle.trimmed().isEmpty()) { + pstitle = document()->currentDocument().fileName(); + } + + std::unique_ptr psConverter = pdfdoc->psConverter(); + + psConverter->setOutputDevice(&tf); + + psConverter->setPageList(pageList); + psConverter->setPaperWidth(width); + psConverter->setPaperHeight(height); + psConverter->setRightMargin(0); + psConverter->setBottomMargin(0); + psConverter->setLeftMargin(0); + psConverter->setTopMargin(0); + psConverter->setStrictMargins(false); + psConverter->setForceRasterize(forceRasterize); + psConverter->setTitle(pstitle); + +#if POPPLER_VERSION_MACRO >= QT_VERSION_CHECK(23, 9, 0) + psConverter->setForceOverprintPreview(overprintPreviewEnabled); +#endif + + if (!printAnnots) { + psConverter->setPSOptions(psConverter->psOptions() | Poppler::PSConverter::HideAnnotations); + } + + userMutex()->lock(); + if (psConverter->convert()) { + userMutex()->unlock(); + tf.close(); + + const Okular::FilePrinter::ScaleMode filePrinterScaleMode = (scaleMode == PDFOptionsPage::None) ? Okular::FilePrinter::ScaleMode::NoScaling : Okular::FilePrinter::ScaleMode::FitToPrintArea; + + return Okular::FilePrinter::printFile(printer, tempfilename, document()->orientation(), Okular::FilePrinter::SystemDeletesFiles, Okular::FilePrinter::ApplicationSelectsPages, document()->bookmarkedPageRange(), filePrinterScaleMode); + } else { + userMutex()->unlock(); + + tf.close(); + + return Okular::Document::FileConversionPrintError; + } +} + +QVariant PDFGenerator::metaData(const QString &key, const QVariant &option) const +{ + if (key == QLatin1String("StartFullScreen")) { + QMutexLocker ml(userMutex()); + // asking for the 'start in fullscreen mode' (pdf property) + if (pdfdoc->pageMode() == Poppler::Document::FullScreen) { + return true; + } + } else if (key == QLatin1String("NamedViewport") && !option.toString().isEmpty()) { + Okular::DocumentViewport viewport; + QString optionString = option.toString(); + + // asking for the page related to a 'named link destination'. the + // option is the link name. @see addSynopsisChildren. + userMutex()->lock(); + std::unique_ptr ld = pdfdoc->linkDestination(optionString); + userMutex()->unlock(); + if (ld) { + fillViewportFromLinkDestination(viewport, *ld); + } + if (viewport.pageNumber >= 0) { + return viewport.toString(); + } + } else if (key == QLatin1String("DocumentTitle")) { + userMutex()->lock(); + QString title = pdfdoc->info(QStringLiteral("Title")); + userMutex()->unlock(); + return title; + } else if (key == QLatin1String("OpenTOC")) { + QMutexLocker ml(userMutex()); + if (pdfdoc->pageMode() == Poppler::Document::UseOutlines) { + return true; + } + } else if (key == QLatin1String("DocumentScripts") && option.toString() == QLatin1String("JavaScript")) { + QMutexLocker ml(userMutex()); + return pdfdoc->scripts(); + } else if (key == QLatin1String("HasUnsupportedXfaForm")) { + QMutexLocker ml(userMutex()); + return pdfdoc->formType() == Poppler::Document::XfaForm; + } else if (key == QLatin1String("FormCalculateOrder")) { + QMutexLocker ml(userMutex()); + return QVariant::fromValue>(pdfdoc->formCalculateOrder()); + } else if (key == QLatin1String("GeneratorExtraDescription")) { + if (Poppler::Version::string() == QStringLiteral(POPPLER_VERSION)) { + return i18n("Using Poppler %1", Poppler::Version::string()); + } else { + return i18n("Using Poppler %1\n\nBuilt against Poppler %2", Poppler::Version::string(), QStringLiteral(POPPLER_VERSION)); + } + } else if (key == QLatin1String("DocumentHasPassword")) { + return documentHasPassword ? QStringLiteral("yes") : QStringLiteral("no"); + } + return QVariant(); +} + +bool PDFGenerator::reparseConfig() +{ + if (!pdfdoc) { + return false; + } + + bool somethingchanged = false; + // load paper color + QColor color = documentMetaData(PaperColorMetaData, true).value(); + // if paper color is changed we have to rebuild every visible pixmap in addition + // to the outputDevice. it's the 'heaviest' case, other effect are just recoloring + // over the page rendered on 'standard' white background. + if (color != pdfdoc->paperColor()) { + userMutex()->lock(); + pdfdoc->setPaperColor(color); + userMutex()->unlock(); + somethingchanged = true; + } + bool aaChanged = setDocumentRenderHints(); + somethingchanged = somethingchanged || aaChanged; + return somethingchanged; +} + +void PDFGenerator::addPages(KConfigDialog *dlg) +{ + PDFSettingsWidget *w = new PDFSettingsWidget(dlg); + + dlg->addPage(w, PDFSettings::self(), i18n("PDF"), QStringLiteral("application-pdf"), i18n("PDF Backend Configuration")); +} + +bool PDFGenerator::setDocumentRenderHints() +{ + bool changed = false; + const Poppler::Document::RenderHints oldhints = pdfdoc->renderHints(); +#define SET_HINT(hintname, hintdefvalue, hintflag) \ + { \ + bool newhint = documentMetaData(hintname, hintdefvalue).toBool(); \ + if (newhint != oldhints.testFlag(hintflag)) { \ + pdfdoc->setRenderHint(hintflag, newhint); \ + changed = true; \ + } \ + } + SET_HINT(GraphicsAntialiasMetaData, true, Poppler::Document::Antialiasing) + SET_HINT(TextAntialiasMetaData, true, Poppler::Document::TextAntialiasing) + SET_HINT(TextHintingMetaData, false, Poppler::Document::TextHinting) +#undef SET_HINT + // load thin line mode + const int thinLineMode = PDFSettings::enhanceThinLines(); +#if POPPLER_VERSION_MACRO >= QT_VERSION_CHECK(23, 07, 0) + const auto overprintSetting = PDFSettings::overprintPreviewEnabled(); + const auto enableOverprintPreview = overprintSetting == PDFSettings::EnumOverprintPreviewEnabled::Always || (overprintSetting == PDFSettings::EnumOverprintPreviewEnabled::Automatic && hasVisibleOverprint); +#endif + const bool enableThinLineSolid = thinLineMode == PDFSettings::EnumEnhanceThinLines::Solid; + const bool enableShapeLineSolid = thinLineMode == PDFSettings::EnumEnhanceThinLines::Shape; + +#if POPPLER_VERSION_MACRO >= QT_VERSION_CHECK(23, 07, 0) + const bool overprintPreviewWasEnabled = (oldhints & Poppler::Document::OverprintPreview) == Poppler::Document::OverprintPreview; +#endif + const bool thinLineSolidWasEnabled = (oldhints & Poppler::Document::ThinLineSolid) == Poppler::Document::ThinLineSolid; + const bool thinLineShapeWasEnabled = (oldhints & Poppler::Document::ThinLineShape) == Poppler::Document::ThinLineShape; + +#if POPPLER_VERSION_MACRO >= QT_VERSION_CHECK(23, 07, 0) + if (enableOverprintPreview != overprintPreviewWasEnabled) { + pdfdoc->setRenderHint(Poppler::Document::OverprintPreview, enableOverprintPreview); + changed = true; + } +#endif + if (enableThinLineSolid != thinLineSolidWasEnabled) { + pdfdoc->setRenderHint(Poppler::Document::ThinLineSolid, enableThinLineSolid); + changed = true; + } + if (enableShapeLineSolid != thinLineShapeWasEnabled) { + pdfdoc->setRenderHint(Poppler::Document::ThinLineShape, enableShapeLineSolid); + changed = true; + } + return changed; +} + +Okular::ExportFormat::List PDFGenerator::exportFormats() const +{ + static Okular::ExportFormat::List formats; + if (formats.isEmpty()) { + formats.append(Okular::ExportFormat::standardFormat(Okular::ExportFormat::PlainText)); + } + + return formats; +} + +bool PDFGenerator::exportTo(const QString &fileName, const Okular::ExportFormat &format) +{ + if (format.mimeType().inherits(QStringLiteral("text/plain"))) { + QFile f(fileName); + if (!f.open(QIODevice::WriteOnly)) { + return false; + } + + QTextStream ts(&f); + int num = document()->pages(); + for (int i = 0; i < num; ++i) { + QString text; + userMutex()->lock(); + std::unique_ptr pp = pdfdoc->page(i); + if (pp) { + text = pp->text(QRect()).normalized(QString::NormalizationForm_C); + } + userMutex()->unlock(); + ts << text; + } + f.close(); + + return true; + } + + return false; +} + +// END Generator inherited functions + +inline void append(Okular::TextPage *ktp, const QString &s, double l, double b, double r, double t) +{ + // qWarning(PDFDebug).nospace() << "text: " << s << " at (" << l << "," << t << ")x(" << r <<","<append(s, Okular::NormalizedRect(l, t, r, b)); +} + +Okular::TextPage *PDFGenerator::abstractTextPage(const std::vector> &text, double height, double width, int rot) +{ + Q_UNUSED(rot); + Okular::TextPage *ktp = new Okular::TextPage; + Poppler::TextBox *next; +#ifdef PDFGENERATOR_DEBUG + qCDebug(OkularPdfDebug) << "getting text page in generator pdf - rotation:" << rot; +#endif + QString s; + bool addChar; + for (const auto &word : text) { + const int qstringCharCount = word->text().length(); + next = word->nextWord(); + int textBoxChar = 0; + for (int j = 0; j < qstringCharCount; j++) { + const QChar c = word->text().at(j); + if (c.isHighSurrogate()) { + s = c; + addChar = false; + } else if (c.isLowSurrogate()) { + s += c; + addChar = true; + } else { + s = c; + addChar = true; + } + + if (addChar) { + QRectF charBBox = word->charBoundingBox(textBoxChar); + append(ktp, (j == qstringCharCount - 1 && !next) ? (s + QLatin1Char('\n')) : s, charBBox.left() / width, charBBox.bottom() / height, charBBox.right() / width, charBBox.top() / height); + textBoxChar++; + } + } + + if (word->hasSpaceAfter() && next) { + // TODO Check with a document with vertical text + // probably won't work and we will need to do comparisons + // between wordBBox and nextWordBBox to see if they are + // vertically or horizontally aligned + QRectF wordBBox = word->boundingBox(); + QRectF nextWordBBox = next->boundingBox(); + append(ktp, QStringLiteral(" "), wordBBox.right() / width, wordBBox.bottom() / height, nextWordBBox.left() / width, wordBBox.top() / height); + } + } + return ktp; +} + +void PDFGenerator::addSynopsisChildren(const QList &outlineItems, QDomNode *parentDestination) +{ + for (const Poppler::OutlineItem &outlineItem : outlineItems) { + QDomElement item = docSyn.createElement(outlineItem.name()); + parentDestination->appendChild(item); + + item.setAttribute(QStringLiteral("ExternalFileName"), outlineItem.externalFileName()); + const QSharedPointer outlineDestination = outlineItem.destination(); + if (outlineDestination) { + const QString destinationName = outlineDestination->destinationName(); + if (!destinationName.isEmpty()) { + item.setAttribute(QStringLiteral("ViewportName"), destinationName); + } else { + Okular::DocumentViewport vp; + fillViewportFromLinkDestination(vp, *outlineDestination); + item.setAttribute(QStringLiteral("Viewport"), vp.toString()); + } + } + item.setAttribute(QStringLiteral("Open"), outlineItem.isOpen()); + item.setAttribute(QStringLiteral("URL"), outlineItem.uri()); + + if (outlineItem.hasChildren()) { + addSynopsisChildren(outlineItem.children(), &item); + } + } +} + +void PDFGenerator::addAnnotations(Poppler::Page *popplerPage, Okular::Page *page) +{ + QSet subtypes; + subtypes << Poppler::Annotation::AFileAttachment << Poppler::Annotation::ASound << Poppler::Annotation::AMovie << Poppler::Annotation::AWidget << Poppler::Annotation::AScreen << Poppler::Annotation::AText << Poppler::Annotation::ALine + << Poppler::Annotation::AGeom << Poppler::Annotation::AHighlight << Poppler::Annotation::AInk << Poppler::Annotation::AStamp << Poppler::Annotation::ACaret; + + std::vector> popplerAnnotations = popplerPage->annotations(subtypes); + + for (auto &a : popplerAnnotations) { + bool doDelete = true; + Okular::Annotation *newann = createAnnotationFromPopplerAnnotation(a.get(), *popplerPage, &doDelete); + if (newann) { + page->addAnnotation(newann); + + if (a->subType() == Poppler::Annotation::AScreen) { + Poppler::ScreenAnnotation *annotScreen = static_cast(a.get()); + Okular::ScreenAnnotation *screenAnnotation = static_cast(newann); + + // The activation action + Poppler::Link *actionLink = annotScreen->action(); + if (actionLink) { + screenAnnotation->setAction(createLinkFromPopplerLink(actionLink)); + } + + // The additional actions + std::unique_ptr pageOpeningLink = annotScreen->additionalAction(Poppler::Annotation::PageOpeningAction); + if (pageOpeningLink) { + screenAnnotation->setAdditionalAction(Okular::Annotation::PageOpening, createLinkFromPopplerLink(std::move(pageOpeningLink))); + } + + std::unique_ptr pageClosingLink = annotScreen->additionalAction(Poppler::Annotation::PageClosingAction); + if (pageClosingLink) { + screenAnnotation->setAdditionalAction(Okular::Annotation::PageClosing, createLinkFromPopplerLink(std::move(pageClosingLink))); + } + } + + if (a->subType() == Poppler::Annotation::AWidget) { + Poppler::WidgetAnnotation *annotWidget = static_cast(a.get()); + Okular::WidgetAnnotation *widgetAnnotation = static_cast(newann); + + // The additional actions + std::unique_ptr pageOpeningLink = annotWidget->additionalAction(Poppler::Annotation::PageOpeningAction); + if (pageOpeningLink) { + widgetAnnotation->setAdditionalAction(Okular::Annotation::PageOpening, createLinkFromPopplerLink(std::move(pageOpeningLink))); + } + + std::unique_ptr pageClosingLink = annotWidget->additionalAction(Poppler::Annotation::PageClosingAction); + if (pageClosingLink) { + widgetAnnotation->setAdditionalAction(Okular::Annotation::PageClosing, createLinkFromPopplerLink(std::move(pageClosingLink))); + } + } + + if (!doDelete) { + annotationsOnOpenHash.insert(newann, a.release()); // investigate + } + } + } +} + +void PDFGenerator::addTransition(Poppler::Page *pdfPage, Okular::Page *page) +// called on opening when MUTEX is not used +{ + Poppler::PageTransition *pdfTransition = pdfPage->transition(); + if (!pdfTransition || pdfTransition->type() == Poppler::PageTransition::Replace) { + return; + } + + Okular::PageTransition *transition = new Okular::PageTransition(); + switch (pdfTransition->type()) { + case Poppler::PageTransition::Replace: + // won't get here, added to avoid warning + break; + case Poppler::PageTransition::Split: + transition->setType(Okular::PageTransition::Split); + break; + case Poppler::PageTransition::Blinds: + transition->setType(Okular::PageTransition::Blinds); + break; + case Poppler::PageTransition::Box: + transition->setType(Okular::PageTransition::Box); + break; + case Poppler::PageTransition::Wipe: + transition->setType(Okular::PageTransition::Wipe); + break; + case Poppler::PageTransition::Dissolve: + transition->setType(Okular::PageTransition::Dissolve); + break; + case Poppler::PageTransition::Glitter: + transition->setType(Okular::PageTransition::Glitter); + break; + case Poppler::PageTransition::Fly: + transition->setType(Okular::PageTransition::Fly); + break; + case Poppler::PageTransition::Push: + transition->setType(Okular::PageTransition::Push); + break; + case Poppler::PageTransition::Cover: + transition->setType(Okular::PageTransition::Cover); + break; + case Poppler::PageTransition::Uncover: + transition->setType(Okular::PageTransition::Uncover); + break; + case Poppler::PageTransition::Fade: + transition->setType(Okular::PageTransition::Fade); + break; + } + + transition->setDuration(pdfTransition->durationReal()); + + switch (pdfTransition->alignment()) { + case Poppler::PageTransition::Horizontal: + transition->setAlignment(Okular::PageTransition::Horizontal); + break; + case Poppler::PageTransition::Vertical: + transition->setAlignment(Okular::PageTransition::Vertical); + break; + } + + switch (pdfTransition->direction()) { + case Poppler::PageTransition::Inward: + transition->setDirection(Okular::PageTransition::Inward); + break; + case Poppler::PageTransition::Outward: + transition->setDirection(Okular::PageTransition::Outward); + break; + } + + transition->setAngle(pdfTransition->angle()); + transition->setScale(pdfTransition->scale()); + transition->setIsRectangular(pdfTransition->isRectangular()); + + page->setTransition(transition); +} + +QList PDFGenerator::getFormFields(Poppler::Page *popplerPage) +{ + if (!popplerPage) { + return {}; + } + + std::vector> popplerFormFields = popplerPage->formFields(); + QList okularFormFields; + for (auto &f : popplerFormFields) { + Okular::FormField *of = nullptr; + switch (f->type()) { + case Poppler::FormField::FormButton: + of = new PopplerFormFieldButton(std::unique_ptr(static_cast(f.release()))); + break; + case Poppler::FormField::FormText: + of = new PopplerFormFieldText(std::unique_ptr(static_cast(f.release()))); + break; + case Poppler::FormField::FormChoice: + of = new PopplerFormFieldChoice(std::unique_ptr(static_cast(f.release()))); + break; + case Poppler::FormField::FormSignature: { + of = new PopplerFormFieldSignature(std::unique_ptr(static_cast(f.release()))); + break; + } + default:; + } + if (of) { + // form field created, good - it will take care of the Poppler::FormField + okularFormFields.append(of); + } + } + + return okularFormFields; +} + +Okular::PrintOptionsWidget *PDFGenerator::printConfigurationWidget() const +{ + if (!pdfOptionsPage) { + const_cast(this)->pdfOptionsPage = new PDFOptionsPage(); + } + return pdfOptionsPage; +} + +bool PDFGenerator::supportsOption(SaveOption option) const +{ + switch (option) { + case SaveChanges: { + return true; + } + default:; + } + return false; +} + +bool PDFGenerator::save(const QString &fileName, SaveOptions options, QString *errorText) +{ + Q_UNUSED(errorText); + std::unique_ptr pdfConv = pdfdoc->pdfConverter(); + + pdfConv->setOutputFileName(fileName); + if (options & SaveChanges) { + pdfConv->setPDFOptions(pdfConv->pdfOptions() | Poppler::PDFConverter::WithChanges); + } + + QMutexLocker locker(userMutex()); + + QHashIterator it(annotationsOnOpenHash); + while (it.hasNext()) { + it.next(); + + if (it.value()->uniqueName().isEmpty()) { + it.value()->setUniqueName(it.key()->uniqueName()); + } + } + + bool success = pdfConv->convert(); + if (!success) { + switch (pdfConv->lastError()) { + case Poppler::BaseConverter::NotSupportedInputFileError: + // This can only happen with Poppler before 0.22 which did not have qt5 version + break; + + case Poppler::BaseConverter::NoError: + case Poppler::BaseConverter::FileLockedError: + // we can't get here + break; + + case Poppler::BaseConverter::OpenOutputError: + // the default text message is good for this case + break; + } + } + return success; +} + +Okular::AnnotationProxy *PDFGenerator::annotationProxy() const +{ + return annotProxy; +} + +bool PDFGenerator::canSign() const +{ +#if POPPLER_VERSION_MACRO >= QT_VERSION_CHECK(23, 06, 0) + return !Poppler::availableCryptoSignBackends().empty(); +#else + return Poppler::hasNSSSupport(); +#endif +} + +#if POPPLER_VERSION_MACRO > QT_VERSION_CHECK(25, 06, 0) +static Okular::SigningResult fromPoppler(Poppler::PDFConverter::SigningResult result) +{ + switch (result) { + case Poppler::PDFConverter::GenericSigningError: + return Okular::GenericSigningError; + case Poppler::PDFConverter::FieldAlreadySigned: + return Okular::FieldAlreadySigned; + case Poppler::PDFConverter::BadPassphrase: + return Okular::BadPassphrase; + case Poppler::PDFConverter::KeyMissing: + return Okular::KeyMissing; + case Poppler::PDFConverter::InternalError: + return Okular::InternalSigningError; + case Poppler::PDFConverter::UserCancelled: + return Okular::UserCancelled; + case Poppler::PDFConverter::WriteFailed: + return Okular::SignatureWriteFailed; + case Poppler::PDFConverter::SigningSuccess: + return Okular::SigningSuccess; + } + return Okular::GenericSigningError; +} +#endif + +std::pair PDFGenerator::sign(const Okular::NewSignatureData &oData, const QString &rFilename) +{ + // We need a temporary file to pass a prepared image to poppler + // and we need to keep it around until we have passed the content to poppler + std::unique_ptr timg; + + // save to tmp file - poppler doesn't like overwriting in-place + QTemporaryFile tf(QFileInfo(rFilename).absolutePath() + QLatin1String("/okular_XXXXXX.pdf")); + tf.setAutoRemove(false); + if (!tf.open()) { + return {Okular::SignatureWriteFailed, i18n("Failed writing temporary file")}; + } + std::unique_ptr converter(pdfdoc->pdfConverter()); + converter->setOutputFileName(tf.fileName()); + converter->setPDFOptions(converter->pdfOptions() | Poppler::PDFConverter::WithChanges); + + Poppler::PDFConverter::NewSignatureData pData; + okularToPoppler(oData, &pData); + if (!oData.backgroundImagePath().isEmpty() && QFile::exists(oData.backgroundImagePath())) { + // width and height for target image + const Okular::NormalizedRect bRect = oData.boundingRectangle(); + // 2 is an experimental decided upon fudge factor to compensate for the fact that pageSize is in points + // but most of this ends up working in pixels anyway + double width = pdfdoc->page(oData.page())->pageSizeF().width() * bRect.width() * 2; + double height = pdfdoc->page(oData.page())->pageSizeF().height() * bRect.height() * 2; + + QImageReader reader(oData.backgroundImagePath()); + QSize imageSize = reader.size(); + if (!reader.size().isNull()) { + reader.setScaledSize(imageSize.scaled(width, height, Qt::KeepAspectRatio)); + } + auto input = reader.read(); + if (!input.isNull()) { + auto scaled = imagescaling::scaleAndFitCanvas(input, QSize(width, height)); + timg = std::make_unique(QFileInfo(rFilename).absolutePath() + QLatin1String("/okular_XXXXXX.png")); + timg->setAutoRemove(true); + if (!timg->open()) { + tf.setAutoRemove(true); + return {Okular::SignatureWriteFailed, i18n("Failed writing temporary file")}; + } + bool success = scaled.save(timg->fileName(), "png"); + if (success) { + pData.setImagePath(timg->fileName()); + pData.setBackgroundColor(Qt::white); + } + } + } + bool result = converter->sign(pData); + if (!result) { + tf.remove(); +#if POPPLER_VERSION_MACRO > QT_VERSION_CHECK(25, 06, 0) + return {fromPoppler(converter->lastSigningResult()), converter->lastSigningErrorDetails().data.toString()}; +#else + return {Okular::GenericSigningError, QString {}}; +#endif + } + + // now copy over old file + QFile::remove(rFilename); + if (!tf.rename(rFilename)) { + return {Okular::SignatureWriteFailed, i18n("Failed renaming temporary file")}; + } + + return {Okular::SigningSuccess, {}}; +} + +Okular::CertificateStore *PDFGenerator::certificateStore() const +{ + if (!certStore) { + certStore = new PopplerCertificateStore(); + } + + return certStore; +} + +void PDFGenerator::xrefReconstructionHandler() +{ + if (!xrefReconstructed) { + qCDebug(OkularPdfDebug) << "XRef Table of the document has been reconstructed"; + xrefReconstructed = true; + Q_EMIT warning(i18n("Some errors were found in the document, Okular might not be able to show the content correctly"), 5000); + } +} + +#include "generator_pdf.moc" + +Q_LOGGING_CATEGORY(OkularPdfDebug, "org.kde.okular.generators.pdf", QtWarningMsg) + +/* kate: replace-tabs on; indent-width 4; */ diff --git a/generators/poppler/generator_pdf.h b/generators/poppler/generator_pdf.h new file mode 100644 index 0000000..2bd5f43 --- /dev/null +++ b/generators/poppler/generator_pdf.h @@ -0,0 +1,180 @@ +/* + SPDX-FileCopyrightText: 2004-2008 Albert Astals Cid + SPDX-FileCopyrightText: 2004 Enrico Ros + + Work sponsored by the LiMux project of the city of Munich: + SPDX-FileCopyrightText: 2017 Klarälvdalens Datakonsult AB a KDAB Group company + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_GENERATOR_PDF_H_ +#define _OKULAR_GENERATOR_PDF_H_ + +// #include "synctex/synctex_parser.h" + +#include +#include + +#define POPPLER_VERSION_MACRO ((POPPLER_VERSION_MAJOR << 16) | (POPPLER_VERSION_MINOR << 8) | (POPPLER_VERSION_MICRO)) + +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include + +class PDFOptionsPage; +class PopplerAnnotationProxy; + +/** + * @short A generator that builds contents from a PDF document. + * + * All Generator features are supported and implemented by this one. + * Internally this holds a reference to xpdf's core objects and provides + * contents generation using the PDFDoc object and a couple of OutputDevices + * called Okular::OutputDev and Okular::TextDev (both defined in gp_outputdev.h). + * + * For generating page contents we tell PDFDoc to render a page and grab + * contents from out OutputDevs when rendering finishes. + * + */ +class PDFGenerator : public Okular::Generator, public Okular::ConfigInterface, public Okular::PrintInterface, public Okular::SaveInterface +{ + Q_OBJECT + Q_INTERFACES(Okular::Generator) + Q_INTERFACES(Okular::ConfigInterface) + Q_INTERFACES(Okular::PrintInterface) + Q_INTERFACES(Okular::SaveInterface) + +public: + PDFGenerator(QObject *parent, const QVariantList &args); + ~PDFGenerator() override; + + // [INHERITED] load a document and fill up the pagesVector + Okular::Document::OpenResult loadDocumentWithPassword(const QString &filePath, QList &pagesVector, const QString &password) override; + Okular::Document::OpenResult loadDocumentFromDataWithPassword(const QByteArray &fileData, QList &pagesVector, const QString &password) override; + void loadPages(QList &pagesVector, int rotation = -1, bool clear = false); + // [INHERITED] document information + Okular::DocumentInfo generateDocumentInfo(const QSet &keys) const override; + const Okular::DocumentSynopsis *generateDocumentSynopsis() override; + Okular::FontInfo::List fontsForPage(int page) override; + const QList *embeddedFiles() const override; + PageLayout defaultPageLayout() const override; + bool defaultPageContinuous() const override; + PageSizeMetric pagesSizeMetric() const override + { + return Pixels; + } + QAbstractItemModel *layersModel() const override; + Okular::BackendOpaqueAction::OpaqueActionResult opaqueAction(const Okular::BackendOpaqueAction *action) override; + + // [INHERITED] document information + bool isAllowed(Okular::Permission permission) const override; + + // [INHERITED] perform actions on document / pages + QImage image(Okular::PixmapRequest *request) override; + + // [INHERITED] print page using an already configured kprinter + Okular::Document::PrintError print(QPrinter &printer) override; + + // [INHERITED] reply to some metadata requests + QVariant metaData(const QString &key, const QVariant &option) const override; + + // [INHERITED] reparse configuration + bool reparseConfig() override; + void addPages(KConfigDialog *) override; + + // [INHERITED] text exporting + Okular::ExportFormat::List exportFormats() const override; + bool exportTo(const QString &fileName, const Okular::ExportFormat &format) override; + + // [INHERITED] print interface + Okular::PrintOptionsWidget *printConfigurationWidget() const override; + + // [INHERITED] save interface + bool supportsOption(SaveOption) const override; + bool save(const QString &fileName, SaveOptions options, QString *errorText) override; + Okular::AnnotationProxy *annotationProxy() const override; + + bool canSign() const override; + std::pair sign(const Okular::NewSignatureData &oData, const QString &rFilename) override; + + Okular::CertificateStore *certificateStore() const override; + + QByteArray requestFontData(const Okular::FontInfo &font) override; + + static void okularToPoppler(const Okular::NewSignatureData &oData, Poppler::PDFConverter::NewSignatureData *pData); + + enum DocumentAdditionalActionType { + CloseDocument, + SaveDocumentStart, + SaveDocumentFinish, + PrintDocumentStart, + PrintDocumentFinish, + }; + Okular::Action *additionalDocumentAction(Okular::Document::DocumentAdditionalActionType type) override; + +protected: + SwapBackingFileResult swapBackingFile(QString const &newFileName, QList &newPagesVector) override; + bool doCloseDocument() override; + Okular::TextPage *textPage(Okular::TextRequest *request) override; + +private: + Okular::Document::OpenResult init(QList &pagesVector, const QString &password); + + // create the document synopsis hierarchy + void addSynopsisChildren(const QList &outlineItems, QDomNode *parentDestination); + // fetch annotations from the pdf file and add they to the page + void addAnnotations(Poppler::Page *popplerPage, Okular::Page *page); + // fetch the transition information and add it to the page + void addTransition(Poppler::Page *pdfPage, Okular::Page *page); + // fetch the poppler page form fields + QList getFormFields(Poppler::Page *popplerPage); + + Okular::TextPage *abstractTextPage(const std::vector> &text, double height, double width, int rot); + + void resolveMediaLinkReferences(Okular::Page *page); + void resolveMediaLinkReference(Okular::Action *action); + + bool setDocumentRenderHints(); + + // poppler dependent stuff + std::unique_ptr pdfdoc; + + void xrefReconstructionHandler(); + + // misc variables for document info and synopsis caching + QString documentFilePath; + bool docSynopsisDirty; + bool xrefReconstructed; + bool hasVisibleOverprint; + Okular::DocumentSynopsis docSyn; + mutable bool docEmbeddedFilesDirty; + mutable QList docEmbeddedFiles; + int nextFontPage; + PopplerAnnotationProxy *annotProxy; + mutable Okular::CertificateStore *certStore; + // the hash below only contains annotations that were present on the file at open time + // this is enough for what we use it for + QHash annotationsOnOpenHash; + + QBitArray rectsGenerated; + + QPointer pdfOptionsPage; + + bool documentHasPassword = false; + QHash m_additionalDocumentActions; + void setAdditionalDocumentAction(Okular::Document::DocumentAdditionalActionType type, Okular::Action *action); +}; + +#endif + +/* kate: replace-tabs on; indent-width 4; */ diff --git a/generators/poppler/imagescaling.cpp b/generators/poppler/imagescaling.cpp new file mode 100644 index 0000000..656407b --- /dev/null +++ b/generators/poppler/imagescaling.cpp @@ -0,0 +1,26 @@ +/* + SPDX-FileCopyrightText: 2023 g10 Code GmbH + SPDX-FileContributor: Sune Stolborg Vuorela + + SPDX-License-Identifier: GPL-2.0-or-later +*/ +#include "imagescaling.h" +#include + +QImage imagescaling::scaleAndFitCanvas(const QImage &input, QSize expectedSize) +{ + if (input.size() == expectedSize) { + return input; + } + auto scaled = input.scaled(expectedSize, Qt::KeepAspectRatio); + if (scaled.size() == expectedSize) { + return scaled; + } + QImage canvas(expectedSize, QImage::Format_ARGB32); + canvas.fill(Qt::transparent); + auto scaledSize = scaled.size(); + QPoint topLeft((expectedSize.width() - scaledSize.width()) / 2, (expectedSize.height() - scaledSize.height()) / 2); + QPainter painter(&canvas); + painter.drawImage(topLeft, scaled); + return canvas; +} diff --git a/generators/poppler/imagescaling.h b/generators/poppler/imagescaling.h new file mode 100644 index 0000000..0c3dd6b --- /dev/null +++ b/generators/poppler/imagescaling.h @@ -0,0 +1,19 @@ +/* + SPDX-FileCopyrightText: 2023 g10 Code GmbH + SPDX-FileContributor: Sune Stolborg Vuorela + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef OKULAR_IMAGESCALING_H +#define OKULAR_IMAGESCALING_H + +#include + +class imagescaling +{ +public: + static QImage scaleAndFitCanvas(const QImage &input, QSize expectedSize); +}; + +#endif // OKULAR_IMAGESCALING_H diff --git a/generators/poppler/libokularGenerator_poppler.json b/generators/poppler/libokularGenerator_poppler.json new file mode 100644 index 0000000..bdb80fc --- /dev/null +++ b/generators/poppler/libokularGenerator_poppler.json @@ -0,0 +1,220 @@ +{ + "KPlugin": { + "Authors": [ + { + "Email": "aacid@kde.org", + "Name": "Albert Astals Cid", + "Name[ar]": "Albert Astals Cid", + "Name[az]": "Albert Astals Cid", + "Name[be]": "Albert Astals Cid", + "Name[bg]": "Albert Astals Cid", + "Name[ca@valencia]": "Albert Astals Cid", + "Name[ca]": "Albert Astals Cid", + "Name[cs]": "Albert Astals Cid", + "Name[da]": "Albert Astals Cid", + "Name[de]": "Albert Astals Cid", + "Name[el]": "Albert Astals Cid", + "Name[en_GB]": "Albert Astals Cid", + "Name[eo]": "Albert Astals Cid", + "Name[es]": "Albert Astals Cid", + "Name[et]": "Albert Astals Cid", + "Name[eu]": "Albert Astals Cid", + "Name[fi]": "Albert Astals Cid", + "Name[fr]": "Albert Astals Cid", + "Name[gl]": "Albert Astals Cid", + "Name[he]": "אלברט אסטלס סיד", + "Name[hu]": "Albert Astals Cid", + "Name[ia]": "Albert Astals Cid", + "Name[ie]": "Albert Astals Cid", + "Name[is]": "Albert Astals Cid", + "Name[it]": "Albert Astals Cid", + "Name[ka]": "Albert Astals Cid", + "Name[ko]": "Albert Astals Cid", + "Name[lt]": "Albert Astals Cid", + "Name[lv]": "Albert Astals Cid", + "Name[nl]": "Albert Astals Cid", + "Name[nn]": "Albert Astals Cid", + "Name[pa]": "ਅਲਬਰਟ ਅਸਟਾਲਸ ਸਿਡ", + "Name[pl]": "Albert Astals Cid", + "Name[pt]": "Albert Astals Cid", + "Name[pt_BR]": "Albert Astals Cid", + "Name[ro]": "Albert Astals Cid", + "Name[ru]": "Albert Astals Cid", + "Name[sa]": "अल्बर्ट एस्टल्स सिड", + "Name[sk]": "Albert Astals Cid", + "Name[sl]": "Albert Astals Cid", + "Name[sr@ijekavian]": "Алберт Асталс Сид", + "Name[sr@ijekavianlatin]": "Albert Astals Sid", + "Name[sr@latin]": "Albert Astals Sid", + "Name[sr]": "Алберт Асталс Сид", + "Name[sv]": "Albert Astals Cid", + "Name[ta]": "ஆல்பர்டு அஸ்டால்சு சிடு", + "Name[tr]": "Albert Astals Cid", + "Name[uk]": "Albert Astals Cid", + "Name[vi]": "Albert Astals Cid", + "Name[zh_CN]": "Albert Astals Cid", + "Name[zh_TW]": "Albert Astals Cid" + } + ], + "Copyright": "© 2005-2008 Albert Astals Cid", + "Copyright[ar]": "© 2005-2008 Albert Astals Cid", + "Copyright[az]": "© 2005-2008 Albert Astals Cid", + "Copyright[be]": "© 2005-2008 Albert Astals Cid", + "Copyright[bg]": "© 2005-2008 Albert Astals Cid", + "Copyright[ca@valencia]": "© 2005-2008 Albert Astals Cid", + "Copyright[ca]": "© 2005-2008 Albert Astals Cid", + "Copyright[cs]": "© 2005-2008 Albert Astals Cid", + "Copyright[da]": "© 2005-2008 Albert Astals Cid", + "Copyright[de]": "© 2005–2008 Albert Astals Cid", + "Copyright[el]": "© 2005-2008 Albert Astals Cid", + "Copyright[en_GB]": "© 2005-2008 Albert Astals Cid", + "Copyright[eo]": "© 2005-2008 Albert Astals Cid", + "Copyright[es]": "© 2005-2008 Albert Astals Cid", + "Copyright[et]": "© 2005-2008: Albert Astals Cid", + "Copyright[eu]": "© 2005-2008 Albert Astals Cid", + "Copyright[fi]": "© 2005–2008 Albert Astals Cid", + "Copyright[fr]": "© 2005-2008 Albert Astals Cid", + "Copyright[gl]": "© 2005-2008 Albert Astals Cid", + "Copyright[he]": "© 2005‏-2008 אלברט אסטלס סיד", + "Copyright[hu]": "© Albert Astals Cid, 2005-2008.", + "Copyright[ia]": "Albert Astals Cid", + "Copyright[ie]": "© 2005-2008 Albert Astals Cid", + "Copyright[is]": "© 2005-2008 Albert Astals Cid", + "Copyright[it]": "© 2005-2008 Albert Astals Cid", + "Copyright[ka]": "© 2005-2008 Albert Astals Cid", + "Copyright[ko]": "© 2005-2008 Albert Astals Cid", + "Copyright[lt]": "© 2005-2008 Albert Astals Cid", + "Copyright[lv]": "© 2005-2008 Albert Astals Cid", + "Copyright[nl]": "© 2005-2008 Albert Astals Cid", + "Copyright[nn]": "© 2005–2008 Albert Astals Cid", + "Copyright[pa]": "© 2005-2008 Albert Astals Cid", + "Copyright[pl]": "© 2005-2008 Albert Astals Cid", + "Copyright[pt]": "© 2005-2008 Albert Astals Cid", + "Copyright[pt_BR]": "© 2005-2008 Albert Astals Cid", + "Copyright[ro]": "© 2005-2008 Albert Astals Cid", + "Copyright[ru]": "© Albert Astals Cid, 2005-2008", + "Copyright[sa]": "© 2005-2008 अल्बर्ट एस्टल्स सिड", + "Copyright[sk]": "© 2005-2008 Albert Astals Cid", + "Copyright[sl]": "© 2005-2008 Albert Astals Cid", + "Copyright[sr@ijekavian]": "© 2005–2008, Алберт Асталс Сид", + "Copyright[sr@ijekavianlatin]": "© 2005–2008, Albert Astals Sid", + "Copyright[sr@latin]": "© 2005–2008, Albert Astals Sid", + "Copyright[sr]": "© 2005–2008, Алберт Асталс Сид", + "Copyright[sv]": "© 2005-2008 Albert Astals Cid", + "Copyright[tr]": "© 2005–2008 Albert Astals Cid", + "Copyright[uk]": "© Albert Astals Cid, 2005–2008", + "Copyright[vi]": "© 2005-2008 Albert Astals Cid", + "Copyright[zh_CN]": "© 2005-2008 Albert Astals Cid", + "Copyright[zh_TW]": "© 2005-2008 Albert Astals Cid", + "Description": "A PDF file renderer", + "Description[ar]": "عارض ملفات بي دي اف", + "Description[az]": "PDF faylı tərtibatçısı", + "Description[be]": "Сродак візуалізацыі файлаў PDF", + "Description[bg]": "Визуализатор на PDF", + "Description[ca@valencia]": "Un renderitzador de fitxers PDF", + "Description[ca]": "Un renderitzador de fitxers PDF", + "Description[cs]": "Vykreslovač PDF souborů", + "Description[da]": "En gengiver til PDF-filer", + "Description[de]": "Ein Renderer für PDF-Dateien", + "Description[el]": "Πρόγραμμα αποτύπωσης για PDF αρχεία", + "Description[en_GB]": "A PDF file renderer", + "Description[eo]": "PDF-dosierigilo", + "Description[es]": "Un visor de archivos PDF", + "Description[et]": "PDF-faili renderdaja", + "Description[eu]": "PDF fitxategi errendatzaile bat", + "Description[fi]": "PDF-tiedostohahmonnin", + "Description[fr]": "Système de rendu pour les fichiers « PDF »", + "Description[gl]": "Un visor de ficheiros PDF.", + "Description[he]": "מעבד קובצי PDF", + "Description[hu]": "PDF-fájl leképező", + "Description[ia]": "Un renditor de file de PDF", + "Description[is]": "Myndunarviðbót fyrir PDF-skrár", + "Description[it]": "Un visualizzatore di file PDF", + "Description[ka]": "PDF ფაილის რენდერერი", + "Description[ko]": "PDF 파일 렌더러", + "Description[lt]": "PDF failų atvaizdavimas", + "Description[lv]": "PDF datņu atveidotājs", + "Description[nl]": "Een PDF-bestandsviewer", + "Description[nn]": "Ein gjengjevar for PDF-filer", + "Description[pa]": "PDF ਫਾਇਲ ਰੈਂਡਰਰ", + "Description[pl]": "Wyświetlanie plików PDF", + "Description[pt]": "Um visualizador de ficheiros PDF", + "Description[pt_BR]": "Um interpretador de arquivos PDF", + "Description[ro]": "Randor pentru fișiere PDF", + "Description[ru]": "Модуль поддержки формата PDF", + "Description[sa]": "एकः PDF सञ्चिकाप्रतिपादकः", + "Description[sk]": "Vykresľovanie PDF súborov", + "Description[sl]": "Izrisovalnik datotek PDF", + "Description[sr@ijekavian]": "Рендерер ПДФ фајлова", + "Description[sr@ijekavianlatin]": "Renderer PDF fajlova", + "Description[sr@latin]": "Renderer PDF fajlova", + "Description[sr]": "Рендерер ПДФ фајлова", + "Description[sv]": "Ett återgivningsprogram för PDF-filer", + "Description[tr]": "PDF dosyası sunucu", + "Description[uk]": "Програма для показу файлів PDF", + "Description[vi]": "Một trình kết xuất tệp PDF", + "Description[zh_CN]": "PDF 文件渲染程序", + "Description[zh_TW]": "PDF 檔成像器", + "License": "GPL", + "MimeTypes": [ + "application/x-pdf", + "application/pdf", + "application/x-wwf" + ], + "Name": "PDF Backend", + "Name[ar]": "خلفية بي دي اف", + "Name[az]": "PDF modulu", + "Name[be]": "Рухавік PDF", + "Name[bg]": "Бекенд на PDF ", + "Name[ca@valencia]": "Dorsal PDF", + "Name[ca]": "Dorsal PDF", + "Name[cs]": "Podpůrná vrstva PDF", + "Name[da]": "PDF-backend", + "Name[de]": "PDF-Anzeigemodul", + "Name[el]": "Σύστημα υποστήριξης PDF", + "Name[en_GB]": "PDF Backend", + "Name[eo]": "PDF-Backend", + "Name[es]": "Motor para PDF", + "Name[et]": "PDF-i taustaprogramm", + "Name[eu]": "PDFen bizkarraldekoa", + "Name[fi]": "PDF-taustaosa", + "Name[fr]": "Moteur PDF", + "Name[gl]": "Motor de PDF", + "Name[he]": "מנגנון PDF", + "Name[hu]": "PDF modul", + "Name[ia]": "Retro-administration de PDF", + "Name[ie]": "Infrastructura PDF", + "Name[is]": "PDF-bakendi", + "Name[it]": "Backend PDF", + "Name[ka]": "PDF უკანაბოლო", + "Name[ko]": "PDF 백엔드", + "Name[lt]": "PDF programinė sąsaja", + "Name[lv]": "PDF aizmugursistēma", + "Name[nl]": "PDF-backend", + "Name[nn]": "PDF-motor", + "Name[pa]": "PDF ਬੈਕਐਂਡ", + "Name[pl]": "Obsługa PDF", + "Name[pt]": "Infra-Estrutura de PDF", + "Name[pt_BR]": "Infraestrutura PDF", + "Name[ro]": "Platformă PDF", + "Name[ru]": "Модуль поддержки формата PDF", + "Name[sa]": "PDF पृष्ठभाग", + "Name[sk]": "PDF Backend", + "Name[sl]": "Zaledje za PDF", + "Name[sr@ijekavian]": "Позадина за ПДФ", + "Name[sr@ijekavianlatin]": "Pozadina za PDF", + "Name[sr@latin]": "Pozadina za PDF", + "Name[sr]": "Позадина за ПДФ", + "Name[sv]": "PDF-gränssnitt", + "Name[ta]": "PDF பின்நிலை", + "Name[tr]": "PDF Arka Ucu", + "Name[uk]": "Модуль PDF", + "Name[vi]": "Hậu phương PDF", + "Name[zh_CN]": "PDF 后端程序", + "Name[zh_TW]": "PDF 後端介面", + "Version": "0.6.5" + }, + "X-KDE-Priority": 1, + "X-KDE-okularAPIVersion": 1, + "X-KDE-okularHasInternalSettings": true +} diff --git a/generators/poppler/okularApplication_pdf.desktop b/generators/poppler/okularApplication_pdf.desktop new file mode 100755 index 0000000..12e2bfb --- /dev/null +++ b/generators/poppler/okularApplication_pdf.desktop @@ -0,0 +1,258 @@ +[Desktop Entry] +MimeType=application/pdf;application/x-gzpdf;application/x-bzpdf;application/x-wwf; +Terminal=false +Name=Okular +Name[ar]=اوكلار +Name[az]=Okular +Name[be]=Okular +Name[bg]=Okular +Name[bs]=Okular +Name[ca]=Okular +Name[ca@valencia]=Okular +Name[cs]=Okular +Name[da]=Okular +Name[de]=Okular +Name[el]=Okular +Name[en_GB]=Okular +Name[eo]=Okular +Name[es]=Okular +Name[et]=Okular +Name[eu]=Okular +Name[fi]=Okular +Name[fr]=Okular +Name[ga]=Okular +Name[gl]=Okular +Name[he]=Okular +Name[hne]=ओकुलर +Name[hr]=Okular +Name[hu]=Okular +Name[ia]=Okular +Name[ie]=Okular +Name[is]=Okular +Name[it]=Okular +Name[ja]=Okular +Name[ka]=Okular +Name[kk]=Okular +Name[km]=Okular +Name[ko]=Okular +Name[ku]=Okular +Name[lt]=Okular +Name[lv]=Okular +Name[mr]=ओक्युलर +Name[nb]=Okular +Name[nds]=Okular +Name[nl]=Okular +Name[nn]=Okular +Name[pa]=ਓਕੁਲਾਰ +Name[pl]=Okular +Name[pt]=Okular +Name[pt_BR]=Okular +Name[ro]=Okular +Name[ru]=Okular +Name[sa]=नेत्रस्य +Name[si]=Okular +Name[sk]=Okular +Name[sl]=Okular +Name[sq]=Okular +Name[sr]=Окулар +Name[sr@ijekavian]=Окулар +Name[sr@ijekavianlatin]=Okular +Name[sr@latin]=Okular +Name[sv]=Okular +Name[ta]=ஆக்குலர் +Name[th]=โอกูลาร์ +Name[tr]=Okular +Name[ug]=Okular +Name[uk]=Okular +Name[vi]=Okular +Name[zh_CN]=Okular 文档查看器 +Name[zh_TW]=Okular +GenericName=Document Viewer +GenericName[ar]=عارض المستندات +GenericName[az]=Sənədə baxış vasitısi +GenericName[be]=Сродак для прагляду дакументаў +GenericName[bg]=Преглед на документи +GenericName[bs]=Prikazivač dokumenata +GenericName[ca]=Visualitzador de documents +GenericName[ca@valencia]=Visor de documents +GenericName[cs]=Prohlížeč dokumentů +GenericName[da]=Dokumentfremviser +GenericName[de]=Dokumentenbetrachter +GenericName[el]=Προβολέας εγγράφων +GenericName[en_GB]=Document Viewer +GenericName[eo]=Dokumenta rigardilo +GenericName[es]=Visor de documentos +GenericName[et]=Dokumendinäitaja +GenericName[eu]=Dokumentu erakuslea +GenericName[fa]=مشاهده‌گر سند +GenericName[fi]=Asiakirjakatselin +GenericName[fr]=Afficheur de documents +GenericName[ga]=Amharcán Cáipéisí +GenericName[gl]=Visor de documentos +GenericName[he]=מציג מסמכים +GenericName[hi]=दस्तावेज़ प्रदर्शक +GenericName[hne]=कागद प्रदर्सक +GenericName[hr]=Preglednik dokumenata +GenericName[hu]=Dokumentummegjelenítő +GenericName[ia]=Visor de documento +GenericName[ie]=Visor de documentes +GenericName[is]=Skjalaskoðari +GenericName[it]=Visore di documenti +GenericName[ja]=文書ビューア +GenericName[ka]=დოკუმენტების მნახველი +GenericName[kk]=Құжатты қарау құралы +GenericName[km]=កម្មវិធី​មើល​ឯកសារ +GenericName[ko]=문서 뷰어 +GenericName[ku]=Nîşanderê Belgeyan +GenericName[lt]=Dokumentų žiūryklė +GenericName[lv]=Dokumentu skatītājs +GenericName[mr]=दस्तऐवज प्रदर्शक +GenericName[nb]=Dokumentviser +GenericName[nds]=Dokmentkieker +GenericName[ne]=कागजात दर्शक +GenericName[nl]=Documentenviewer +GenericName[nn]=Dokumentvisar +GenericName[oc]=Visualizaire de documents +GenericName[pa]=ਡੌਕੂਮੈਂਟ ਦਰਸ਼ਕ +GenericName[pl]=Przeglądarka dokumentów +GenericName[pt]=Visualizador de Documentos +GenericName[pt_BR]=Visualizador de documentos +GenericName[ro]=Vizualizor de documente +GenericName[ru]=Просмотр документов +GenericName[sa]=दस्तावेज दर्शक +GenericName[sk]=Prehliadač dokumentov +GenericName[sl]=Pregledovalnik dokumentov +GenericName[sq]=Shikues dokumentesh +GenericName[sr]=Приказивач докумената +GenericName[sr@ijekavian]=Приказивач докумената +GenericName[sr@ijekavianlatin]=Prikazivač dokumenata +GenericName[sr@latin]=Prikazivač dokumenata +GenericName[sv]=Dokumentvisare +GenericName[ta]=ஆவணங் காட்டி +GenericName[th]=เครื่องมือแสดงเอกสาร +GenericName[tr]=Belge Görüntüleyicisi +GenericName[ug]=پۈتۈك كۆرگۈ +GenericName[uk]=Переглядач документів +GenericName[vi]=Trình xem tài liệu +GenericName[zh_CN]=文档查看器 +GenericName[zh_TW]=文件檢視器 +Comment=Universal document viewer +Comment[ar]=عارض المستندات عالمي +Comment[az]=Sənədə universal baxış vasitəsi +Comment[be]=Універсальны сродак для прагляду дакументаў +Comment[bg]=Универсална програма за преглед на документи +Comment[ca]=Visualitzador universal de documents +Comment[ca@valencia]=Visor universal de documents +Comment[cs]=Univerzální prohlížeč dokumentů +Comment[da]=Universel dokumentfremviser +Comment[de]=Universeller Dokumentenbetrachter +Comment[el]=Καθολικός προβολέας εγγράφων +Comment[en_GB]=Universal document viewer +Comment[eo]=Universala dokumenta spektilo +Comment[es]=Visor de documentos universal +Comment[et]=Universaalne dokumendinäitaja +Comment[eu]=Dokumentu erakusle unibertsala +Comment[fi]=Yleinen asiakirjakatselin +Comment[fr]=Afficheur de document universel +Comment[gl]=Visor de documentos universal. +Comment[he]=מציג מסמכים אוניברסלי +Comment[hu]=Univerzális dokumentummegjelenítő +Comment[ia]=Visor de documento universal +Comment[ie]=Universal visor de documentes +Comment[is]=Fjölhæfur skjalaskoðari +Comment[it]=Visore di documenti universale +Comment[ja]=多用途な文書ビューア +Comment[ka]=დოკუმენტების პოპულარული ფორმატების გამხსნელი +Comment[ko]=만능 문서 뷰어 +Comment[lt]=Universali dokumentų žiūryklė +Comment[lv]=Universāls dokumentu skatītājs +Comment[nl]=Universele documentviewer +Comment[nn]=Dokumentvisar for mange format +Comment[pa]=ਯੂਨੀਵਰਸਲ ਡੌਕੂਮੈਂਟ ਦਰਸ਼ਕ +Comment[pl]=Wszechstronna przeglądarka dokumentów +Comment[pt]=Visualizador de documentos universal +Comment[pt_BR]=Visualizador de documentos universal +Comment[ro]=Vizualizor de documente universal +Comment[ru]=Универсальная программа просмотра документов +Comment[sa]=सार्वभौमिक दस्तावेज दर्शक +Comment[sk]=Univerzálny prehliadač dokumentov +Comment[sl]=Vsestranski pregledovalnik dokumentov +Comment[sq]=Shikues univerzal dokumentesh +Comment[sr]=Универзални приказивач докумената +Comment[sr@ijekavian]=Универзални приказивач докумената +Comment[sr@ijekavianlatin]=Univerzalni prikazivač dokumenata +Comment[sr@latin]=Univerzalni prikazivač dokumenata +Comment[sv]=Generell dokumentvisare +Comment[ta]=அனைத்து ஆவணங்களுக்கான காட்டி +Comment[tr]=Çok amaçlı belge görüntüleyicisi +Comment[uk]=Універсальний переглядач документів +Comment[vi]=Trình xem tài liệu vạn năng +Comment[zh_CN]=通用文档查看器 +Comment[zh_TW]=通用文件檢視器 +Exec=okular %U +Icon=okular +Type=Application +InitialPreference=8 +Categories=Qt;KDE;Graphics;Viewer; +X-KDE-Keywords=PDF, Portable Document Format +X-KDE-Keywords[ar]=PDF, Portable Document Format +X-KDE-Keywords[az]=PDF, Portable Document Format +X-KDE-Keywords[be]=PDF, Portable Document Format +X-KDE-Keywords[bg]=PDF, Portable Document Format +X-KDE-Keywords[bs]=PDF, Portable Document Format +X-KDE-Keywords[ca]=PDF, Format de document portable +X-KDE-Keywords[ca@valencia]=PDF, Format de document portable +X-KDE-Keywords[cs]=PDF, Portable Document Format +X-KDE-Keywords[da]=PDF,Portable Document Format +X-KDE-Keywords[de]=PDF, Portable Document Format +X-KDE-Keywords[el]=PDF, Portable Document Format +X-KDE-Keywords[en_GB]=PDF, Portable Document Format +X-KDE-Keywords[eo]=PDF, Portebla Dokumenta Formato +X-KDE-Keywords[es]=PDF, Formato de Documento Portable +X-KDE-Keywords[et]=PDF, Portable Document Format +X-KDE-Keywords[eu]=PDF, Portable Document Format (Dokumentu Formatu Eramangarria) +X-KDE-Keywords[fi]=PDF, Portable Document Format +X-KDE-Keywords[fr]=PDF, Portable Document Format +X-KDE-Keywords[ga]=PDF, Portable Document Format +X-KDE-Keywords[gl]=PDF, Formato portátil de documentos +X-KDE-Keywords[he]=PDF, Portable Document Format +X-KDE-Keywords[hu]=PDF, Portable Document Format +X-KDE-Keywords[ia]=PDF, Formato de Documento Portabile +X-KDE-Keywords[ie]=PDF, Portable Document Format +X-KDE-Keywords[is]=PDF, Portable Document Format +X-KDE-Keywords[it]=PDF, Portable Document Format, formato per documenti portabile +X-KDE-Keywords[ja]=PDF +X-KDE-Keywords[ka]=PDF +X-KDE-Keywords[kk]=PDF, Portable Document Format +X-KDE-Keywords[km]=PDF, Portable Document Format +X-KDE-Keywords[ko]=PDF, Portable Document Format +X-KDE-Keywords[lt]=PDF, Portable Document Format, Portable Document formatas, PDF formatas +X-KDE-Keywords[lv]=PDF, Portable Document formāts +X-KDE-Keywords[mr]=PDF, Portable Document Format +X-KDE-Keywords[nb]=PDF, Portabelt Dokument Format +X-KDE-Keywords[nds]=PDF, Porteerbor Dokmentformaat +X-KDE-Keywords[nl]=PDF, Portable Document Format +X-KDE-Keywords[nn]=PDF, Portabelt dokumentformat +X-KDE-Keywords[pa]=PDF, ਪੋਰਟੇਬਲ ਡੌਕੂਮੈਂਟ ਫਾਰਮੈਟ +X-KDE-Keywords[pl]=PDF, Przenośny Format Dokumentu +X-KDE-Keywords[pt]=PDF, Formato de Documento Portável +X-KDE-Keywords[pt_BR]=PDF, Formato de documento portável +X-KDE-Keywords[ro]=PDF, Portable Document Format +X-KDE-Keywords[ru]=PDF, Portable Document Format +X-KDE-Keywords[sa]=PDF, पोर्टेबल दस्तावेज प्रारूप +X-KDE-Keywords[sk]=PDF, Portable Document Format +X-KDE-Keywords[sl]=PDF, Portable Document Format +X-KDE-Keywords[sq]=PDF, Portable Document Format +X-KDE-Keywords[sr]=PDF, Portable Document Format,ПДФ +X-KDE-Keywords[sr@ijekavian]=PDF, Portable Document Format,ПДФ +X-KDE-Keywords[sr@ijekavianlatin]=PDF, Portable Document Format,PDF +X-KDE-Keywords[sr@latin]=PDF, Portable Document Format,PDF +X-KDE-Keywords[sv]=PDF, Portabelt dokumentformat +X-KDE-Keywords[ta]=PDF, Portable Document Format, பிடிஎஃப், பீடீஎஃப் +X-KDE-Keywords[tr]=PDF, Taşınabilir Belge Biçimi +X-KDE-Keywords[uk]=PDF,Portable Document Format,пдф +X-KDE-Keywords[vi]=PDF, Định dạng tài liệu linh động +X-KDE-Keywords[zh_CN]=PDF, Portable Document Format, keyizhiwangdanggeshi, 可移植文档格式 +X-KDE-Keywords[zh_TW]=PDF, Portable Document Format +X-KDE-AliasFor=org.kde.okular.desktop +NoDisplay=true diff --git a/generators/poppler/org.kde.mobile.okular_pdf.desktop b/generators/poppler/org.kde.mobile.okular_pdf.desktop new file mode 100644 index 0000000..d66896f --- /dev/null +++ b/generators/poppler/org.kde.mobile.okular_pdf.desktop @@ -0,0 +1,252 @@ +[Desktop Entry] +MimeType=application/pdf;application/x-gzpdf;application/x-bzpdf;application/x-wwf; +Name=Reader +Name[ar]=التصيير +Name[az]=Oxuyucu +Name[be]=Сродак чытання +Name[bg]=Четец +Name[bs]=Čitač +Name[ca]=Lector +Name[ca@valencia]=Lector +Name[cs]=Čtečka +Name[da]=Læser +Name[de]=Lesegerät +Name[el]=Πρόγραμμα ανάγνωσης +Name[en_GB]=Reader +Name[eo]=Legilo +Name[es]=Lector +Name[et]=Lugeja +Name[eu]=Irakurlea +Name[fi]=Lukija +Name[fr]=Lecteur +Name[ga]=Léitheoir +Name[gl]=Lector +Name[he]=קורא +Name[hu]=Olvasó +Name[ia]=Lector +Name[ie]=Letor +Name[is]=Lesari +Name[it]=Lettore +Name[ja]=リーダ +Name[ka]=მკითხველი +Name[kk]=Оқу құралы +Name[ko]=리더 +Name[lt]=Skaitytuvas +Name[lv]=Lasītājs +Name[mr]=वाचक +Name[nb]=Leser +Name[nds]=Leser +Name[nl]=Lezer +Name[nn]=Lesar +Name[pa]=ਰੀਡਰ +Name[pl]=Czytnik +Name[pt]=Leitor +Name[pt_BR]=Leitor +Name[ro]=Cititor +Name[ru]=Просмотрщик +Name[sa]=पाठकः +Name[sk]=Čítačka +Name[sl]=Bralnik +Name[sq]=Reader +Name[sr]=Читач +Name[sr@ijekavian]=Читач +Name[sr@ijekavianlatin]=Čitač +Name[sr@latin]=Čitač +Name[sv]=Läsprogram +Name[ta]=காட்டி +Name[tr]=Okuyucu +Name[ug]=ئوقۇغۇ +Name[uk]=Переглядач +Name[vi]=Trình đọc +Name[zh_CN]=阅读器 +Name[zh_TW]=閱讀器 +GenericName=Document viewer +GenericName[ar]=عارض المستندات +GenericName[az]=Sənədə baxış vasitısi +GenericName[be]=Сродак для прагляду дакументаў +GenericName[bg]=Преглед на документи +GenericName[bs]=Prikazivač dokumenata +GenericName[ca]=Visualitzador de documents +GenericName[ca@valencia]=Visor de documents +GenericName[cs]=Prohlížeč dokumentů +GenericName[da]=Dokumentfremviser +GenericName[de]=Dokumentenbetrachter +GenericName[el]=Προβολέας εγγράφων +GenericName[en_GB]=Document Viewer +GenericName[eo]=Dokumentrigardilo +GenericName[es]=Visor de documentos +GenericName[et]=Dokumendinäitaja +GenericName[eu]=Dokumentu erakuslea +GenericName[fi]=Asiakirjakatselin +GenericName[fr]=Afficheur de document +GenericName[ga]=Amharcán cáipéisí +GenericName[gl]=Visor de documentos +GenericName[he]=מציג מסמכים +GenericName[hi]=दस्तावेज़ प्रदर्शक +GenericName[hu]=Dokumentummegjelenítő +GenericName[ia]=Visor de documento +GenericName[ie]=Visor de documentes +GenericName[is]=Skjalaskoðari +GenericName[it]=Visore di documenti +GenericName[ja]=文書ビューア +GenericName[ka]=დოკუმენტების მნახველი +GenericName[kk]=Құжатты қарау құралы +GenericName[ko]=문서 뷰어 +GenericName[lt]=Dokumentų žiūryklė +GenericName[lv]=Dokumentu skatītājs +GenericName[mr]=दस्तऐवज प्रदर्शक +GenericName[nb]=Dokumentviser +GenericName[nds]=Dokmentkieker +GenericName[nl]=Documentenviewer +GenericName[nn]=Dokumentvisar +GenericName[pa]=ਡੌਕੂਮੈਂਟ ਦਰਸ਼ਕ +GenericName[pl]=Przeglądarka dokumentów +GenericName[pt]=Visualizador de documentos +GenericName[pt_BR]=Visualizador de documentos +GenericName[ro]=Vizualizor de documente +GenericName[ru]=Просмотр документов +GenericName[sa]=दस्तावेजदर्शकः +GenericName[sk]=Prehliadač dokumentov +GenericName[sl]=Pregledovalnik dokumentov +GenericName[sq]=Shikues dokumentesh +GenericName[sr]=Приказивач докумената +GenericName[sr@ijekavian]=Приказивач докумената +GenericName[sr@ijekavianlatin]=Prikazivač dokumenata +GenericName[sr@latin]=Prikazivač dokumenata +GenericName[sv]=Dokumentvisare +GenericName[ta]=ஆவணங் காட்டி +GenericName[tr]=Belge Görüntüleyicisi +GenericName[uk]=Переглядач документів +GenericName[vi]=Trình xem tài liệu +GenericName[zh_CN]=文档查看器 +GenericName[zh_TW]=文件檢視器 +Comment=Viewer for various types of documents +Comment[ar]=عارض للعديد من أنواع المستندات +Comment[az]=Müxtəlif növlü sənədlər üçün görüntüləyici +Comment[be]=Сродак для прагляду разнастайных тыпаў дакументаў +Comment[bg]=Преглед на различни видове документи +Comment[bs]=Pregledač raznih vrsta dokumenata +Comment[ca]=Visualitzador de diversos tipus de documents +Comment[ca@valencia]=Visor de diversos tipus de documents +Comment[cs]=Prohlížeč různých typů dokumentů +Comment[da]=Fremviser af diverse dokumenttyper +Comment[de]=Betrachter für verschiedene Arten von Dokumenten +Comment[el]=Πρόγραμμα προβολής για διάφορους τύπους εγγράφων +Comment[en_GB]=Viewer for various types of documents +Comment[eo]=Vidilo por diversaj specoj de dokumentoj +Comment[es]=Visor de diversos tipos de documentos +Comment[et]=Eri tüüpi dokumentide näitaja +Comment[eu]=Hainbat dokumentu moten erakuslea +Comment[fi]=Monenlaisten asiakirjojen katseluohjelma +Comment[fr]=Afficheur pour différents types de documents +Comment[ga]=Amharcán le haghaidh cáipéisí éagsúla +Comment[gl]=Visor de varios tipos de documentos. +Comment[he]=מציג למגוון סוגי מסמכים +Comment[hu]=Megjelenítő különféle típusú dokumentumokhoz +Comment[ia]=Visor pro varie typos de documento +Comment[ie]=Visor por varie tipes de documentes +Comment[is]=Skoðari fyrir ýmsar gerðir skjala +Comment[it]=Visore per vari tipi di documenti +Comment[ja]=様々なタイプの文書のためのビューア +Comment[ka]=სხვადასხვა ტიპების დოკუმენტების დათვალიერება +Comment[kk]=Түрлі құжаттар қарау құралы +Comment[ko]=여러 형식의 문서 뷰어 +Comment[lt]=Žiūryklė įvairiems dokumentų tipams +Comment[lv]=Dažādu dokumentu tipu skatītājs +Comment[mr]=विविध प्रकारच्या दस्तऐवजांचा प्रदर्शक +Comment[nb]=Framviser for forskjellige dokumenttyper +Comment[nds]=Kieker för en Reeg Dokmenttypen +Comment[nl]=Viewer voor verschillende typen documenten +Comment[nn]=Framvisar for forskjellige dokumenttypar +Comment[pa]=ਕਈ ਕਿਸਮ ਦੇ ਡੌਕੂਮੈਂਟ ਵੇਖਾਉਣ ਲਈ ਦਰਸ਼ਕ +Comment[pl]=Przeglądarka dla różnych typów dokumentów +Comment[pt]=Visualizador de vários tipos de documentos +Comment[pt_BR]=Visualizador para vários tipos de documentos +Comment[ro]=Vizualizor pentru diferite tipuri de documente +Comment[ru]=Программа для просмотра различных типов документов +Comment[sa]=विभिन्नप्रकारस्य दस्तावेजानां कृते दर्शकः +Comment[sk]=Prehliadač pre rôzne typy dokumentov +Comment[sl]=Pregledovalnik raznih vrst dokumentov +Comment[sq]=Shikues për lloje të ndryshme të dokumentave +Comment[sr]=Приказивач различитих врста докумената +Comment[sr@ijekavian]=Приказивач различитих врста докумената +Comment[sr@ijekavianlatin]=Prikazivač različitih vrsta dokumenata +Comment[sr@latin]=Prikazivač različitih vrsta dokumenata +Comment[sv]=Visningsprogram för diverse typer av dokument +Comment[ta]=பலவகையான ஆவணங்களுக்கான காட்டி +Comment[tr]=Çeşitli belge türleri için görüntüleyici +Comment[ug]=ھەر خىل تىپتىكى پۈتۈكلەرنى كۆرىدىغان پروگرامما +Comment[uk]=Програма для перегляду документів різних типів +Comment[vi]=Trình xem các kiểu tài liệu khác nhau +Comment[zh_CN]=支持查看多种文档类型 +Comment[zh_TW]=多種型態文件的檢視器 + +TryExec=okularkirigami +Exec=okularkirigami %u +Terminal=false +Icon=okular +Type=Application +Categories=Qt;KDE;Graphics;Office;Viewer; +InitialPreference=2 +NoDisplay=true +X-KDE-Keywords=PDF, Portable Document Format +X-KDE-Keywords[ar]=PDF, Portable Document Format +X-KDE-Keywords[az]=PDF, Portable Document Format +X-KDE-Keywords[be]=PDF, Portable Document Format +X-KDE-Keywords[bg]=PDF, Portable Document Format +X-KDE-Keywords[bs]=PDF, Portable Document Format +X-KDE-Keywords[ca]=PDF, Format de document portable +X-KDE-Keywords[ca@valencia]=PDF, Format de document portable +X-KDE-Keywords[cs]=PDF, Portable Document Format +X-KDE-Keywords[da]=PDF,Portable Document Format +X-KDE-Keywords[de]=PDF, Portable Document Format +X-KDE-Keywords[el]=PDF, Portable Document Format +X-KDE-Keywords[en_GB]=PDF, Portable Document Format +X-KDE-Keywords[eo]=PDF, Portebla Dokumenta Formato +X-KDE-Keywords[es]=PDF, Formato de Documento Portable +X-KDE-Keywords[et]=PDF, Portable Document Format +X-KDE-Keywords[eu]=PDF, Portable Document Format (Dokumentu Formatu Eramangarria) +X-KDE-Keywords[fi]=PDF, Portable Document Format +X-KDE-Keywords[fr]=PDF, Portable Document Format +X-KDE-Keywords[ga]=PDF, Portable Document Format +X-KDE-Keywords[gl]=PDF, Formato portátil de documentos +X-KDE-Keywords[he]=PDF, Portable Document Format +X-KDE-Keywords[hu]=PDF, Portable Document Format +X-KDE-Keywords[ia]=PDF, Formato de Documento Portabile +X-KDE-Keywords[ie]=PDF, Portable Document Format +X-KDE-Keywords[is]=PDF, Portable Document Format +X-KDE-Keywords[it]=PDF, Portable Document Format, formato per documenti portabile +X-KDE-Keywords[ja]=PDF +X-KDE-Keywords[ka]=PDF +X-KDE-Keywords[kk]=PDF, Portable Document Format +X-KDE-Keywords[km]=PDF, Portable Document Format +X-KDE-Keywords[ko]=PDF, Portable Document Format +X-KDE-Keywords[lt]=PDF, Portable Document Format, Portable Document formatas, PDF formatas +X-KDE-Keywords[lv]=PDF, Portable Document formāts +X-KDE-Keywords[mr]=PDF, Portable Document Format +X-KDE-Keywords[nb]=PDF, Portabelt Dokument Format +X-KDE-Keywords[nds]=PDF, Porteerbor Dokmentformaat +X-KDE-Keywords[nl]=PDF, Portable Document Format +X-KDE-Keywords[nn]=PDF, Portabelt dokumentformat +X-KDE-Keywords[pa]=PDF, ਪੋਰਟੇਬਲ ਡੌਕੂਮੈਂਟ ਫਾਰਮੈਟ +X-KDE-Keywords[pl]=PDF, Przenośny Format Dokumentu +X-KDE-Keywords[pt]=PDF, Formato de Documento Portável +X-KDE-Keywords[pt_BR]=PDF, Formato de documento portável +X-KDE-Keywords[ro]=PDF, Portable Document Format +X-KDE-Keywords[ru]=PDF, Portable Document Format +X-KDE-Keywords[sa]=PDF, पोर्टेबल दस्तावेज प्रारूप +X-KDE-Keywords[sk]=PDF, Portable Document Format +X-KDE-Keywords[sl]=PDF, Portable Document Format +X-KDE-Keywords[sq]=PDF, Portable Document Format +X-KDE-Keywords[sr]=PDF, Portable Document Format,ПДФ +X-KDE-Keywords[sr@ijekavian]=PDF, Portable Document Format,ПДФ +X-KDE-Keywords[sr@ijekavianlatin]=PDF, Portable Document Format,PDF +X-KDE-Keywords[sr@latin]=PDF, Portable Document Format,PDF +X-KDE-Keywords[sv]=PDF, Portabelt dokumentformat +X-KDE-Keywords[ta]=PDF, Portable Document Format, பிடிஎஃப், பீடீஎஃப் +X-KDE-Keywords[tr]=PDF, Taşınabilir Belge Biçimi +X-KDE-Keywords[uk]=PDF,Portable Document Format,пдф +X-KDE-Keywords[vi]=PDF, Định dạng tài liệu linh động +X-KDE-Keywords[zh_CN]=PDF, Portable Document Format, keyizhiwangdanggeshi, 可移植文档格式 +X-KDE-Keywords[zh_TW]=PDF, Portable Document Format +X-KDE-AliasFor=org.kde.okular.kirigami.desktop diff --git a/generators/poppler/org.kde.okular-poppler.metainfo.xml b/generators/poppler/org.kde.okular-poppler.metainfo.xml new file mode 100644 index 0000000..aa05bad --- /dev/null +++ b/generators/poppler/org.kde.okular-poppler.metainfo.xml @@ -0,0 +1,140 @@ + + + org.kde.okular-poppler + org.kde.okular.desktop + CC0-1.0 + GPL-2.0+ and GFDL-1.3 + PDF + بي دي اف + PDF + PDF + PDF + PDF + PDF + PDF + PDF + PDF + PDF + PDF + PDF + PDF + PDF + PDF + PDF + PDF + PDF + PDF + पीडीएफ + PDF + PDF + PDF + PDF + PDF + PDF + PDF + PDF + പി ടി എഫ് + PDF + PDF + PDF + PDF + PDF + PDF + PDF + PDF + PDF + PDF + ПДФ + PDF + ПДФ + PDF + PDF + PDF + PDF + PDF + PDF + PDF + PDF + Adds support for reading PDF documents + يضيف دعم لقراءة مستندات بي دي اف + PDF sənədlərini oxumaq üçün dəstək əlavə edir + Падтрымка чытання дакументаў PDF + Добавя поддръжка за четене на PDF документи + Afegeix la implementació per a llegir documents PDF + Afig la implementació per a llegir documents PDF + Přidává podporu pro čtení dokumentů PDF + Bietet Unterstützung zum Lesen von PDF-Dokumenten + Προσθέτει υποστήριξη για την ανάγνωση εγγράφων PDF + Adds support for reading PDF documents + Aldonas subtenon por legi PDF-dokumentojn + Permite la lectura de documentos PDF + PDF-dokumentide lugemise toetus + PDF dokumentuak irakurtzeko euskarria gehitzen du + Lisää PDF-tiedostojen lukutuen + Permet la lecture des documents PDF + Engade a posibilidade de ler documentos PDF + מוסיף תמיכה בקריאת מסמכי PDF + पीडीएफ दस्तावेज़ पढ़ने के लिए समर्थन जोड़ता है + Támogatás PDF-dokumentumok olvasásához + Adde supporto per leger documentos PDF + Bætir við stuðningi til að lesa PDF-skjöl + Aggiunge il supporto per la lettura di documenti PDF + PDF დოკუმენტების კითხვის მხარდაჭერის დამატება + PDF 문서 읽기 지원 추가 + Prideda palaikymą PDF dokumentų skaitymui + Pievieno atbalstu PDF dokumentu lasīšanai + പി ടി ഫ് പ്രമാണങ്ങൾ വായിക്കാൻ പിന്തുണ ചേർക്കുന്നു + Voegt ondersteuning voor lezen van PDF-documenten toe + Legg til støtte for å lesa PDF-dokument + Dodaje obsługę dokumentów PDF + Adiciona o suporte para ler documentos em PDF + Adiciona o suporte para leitura de documentos em PDF + Adaugă suport pentru citirea documentelor PDF + Поддержка чтения документов PDF + PDF दस्तावेजानां पठनार्थं समर्थनं योजयति + Pridá podporu pre čítanie PDF dokumentov + Doda podporo za branje dokumentov PDF + Подршка за читање ПДФ докумената + Podrška za čitanje PDF dokumenata + Подршка за читање ПДФ докумената + Podrška za čitanje PDF dokumenata + Lägger till stöd för att läsa PDF-dokument + PDF ஆவணங்களைப் படிப்பதற்கான ஆதரவை சேர்க்கும் + PDF belgelerini okuma desteği ekler + Додає підтримку читання документів PDF + Thêm hỗ trợ đọc tài liệu PDF + 增加对 PDF 文档的阅读支持 + 加入讀取 PDF 文件的支援 + + application/pdf + application/x-gzpdf + application/x-bzpdf + application/x-wwf + + https://okular.kde.org + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/generators/poppler/pdfsettingswidget.cpp b/generators/poppler/pdfsettingswidget.cpp new file mode 100644 index 0000000..92ae217 --- /dev/null +++ b/generators/poppler/pdfsettingswidget.cpp @@ -0,0 +1,225 @@ +/* + SPDX-FileCopyrightText: 2019 Bubli + SPDX-FileCopyrightText: 2020 Albert Astals Cid + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "pdfsettingswidget.h" + +#include "pdfsettings.h" +#include "pdfsignatureutils.h" + +#include +#include + +#include +#include +#include +#include +#include +#include + +#if POPPLER_VERSION_MACRO >= QT_VERSION_CHECK(23, 06, 0) +QString PDFSettingsWidget::popplerEnumToSettingString(Poppler::CryptoSignBackend backend) +{ + switch (backend) { + case Poppler::CryptoSignBackend::NSS: + return QStringLiteral("NSS"); + case Poppler::CryptoSignBackend::GPG: + return QStringLiteral("GPG"); + } + return {}; +} + +static QString popplerEnumToUserString(Poppler::CryptoSignBackend backend) +{ + switch (backend) { + // I'm not sure it makes sense to translate these + // Should the translators ask for it, it should be quite simple. + case Poppler::CryptoSignBackend::NSS: + return QStringLiteral("NSS"); + case Poppler::CryptoSignBackend::GPG: + return QStringLiteral("GnuPG (S/MIME)"); + } + return {}; +} + +std::optional PDFSettingsWidget::settingStringToPopplerEnum(QStringView backend) +{ + if (backend == QStringLiteral("NSS")) { + return Poppler::CryptoSignBackend::NSS; + } + if (backend == QStringLiteral("GPG")) { + return Poppler::CryptoSignBackend::GPG; + } + return std::nullopt; +} +#endif + +PDFSettingsWidget::PDFSettingsWidget(QWidget *parent) + : QWidget(parent) +{ + m_pdfsw.setupUi(this); + +#if POPPLER_VERSION_MACRO < QT_VERSION_CHECK(23, 07, 0) + m_pdfsw.kcfg_OverprintPreviewEnabled->hide(); +#endif +#if POPPLER_VERSION_MACRO < QT_VERSION_CHECK(25, 02, 90) + m_pdfsw.kcfg_EnablePgp->hide(); +#endif + +#if POPPLER_VERSION_MACRO >= QT_VERSION_CHECK(23, 06, 0) + auto backends = Poppler::availableCryptoSignBackends(); + if (!backends.empty()) { + // Let's try get the currently stored backend: + auto currentBackend = settingStringToPopplerEnum(PDFSettings::self()->signatureBackend()); + if (!currentBackend) { + currentBackend = Poppler::activeCryptoSignBackend(); + } + if (currentBackend != Poppler::activeCryptoSignBackend() && currentBackend) { + if (!Poppler::setActiveCryptoSignBackend(currentBackend.value())) { + // erm. This must be a case of having either modified + // the config file manually to something not available + // in the poppler installed here or have reconfigured + // their poppler to not have the previously selected one + // available any longer. + // Probably the safest bet is to take whatever is active + currentBackend = Poppler::activeCryptoSignBackend(); + } + } + int selected = -1; + for (auto backend : std::as_const(backends)) { + if (backend == currentBackend) { + selected = m_pdfsw.kcfg_SignatureBackend->count(); + } + m_pdfsw.kcfg_SignatureBackend->addItem(popplerEnumToUserString(backend), QVariant(popplerEnumToSettingString(backend))); + } + m_pdfsw.kcfg_SignatureBackend->setProperty("kcfg_property", QByteArray("currentData")); + + m_pdfsw.kcfg_SignatureBackend->setCurrentIndex(selected); + connect(m_pdfsw.kcfg_SignatureBackend, &QComboBox::currentIndexChanged, this, [this](int index) { + auto backendEnum = settingStringToPopplerEnum(m_pdfsw.kcfg_SignatureBackend->itemData(index).toString()); + if (!backendEnum) { + return; + } + Poppler::setActiveCryptoSignBackend(backendEnum.value()); + m_pdfsw.certDBGroupBox->setVisible(backendEnum == Poppler::CryptoSignBackend::NSS); +#if POPPLER_VERSION_MACRO >= QT_VERSION_CHECK(25, 02, 90) + m_pdfsw.kcfg_EnablePgp->setVisible(backendEnum == Poppler::CryptoSignBackend::GPG); +#endif + m_certificatesAsked = false; + update(); + }); +#if POPPLER_VERSION_MACRO >= QT_VERSION_CHECK(25, 02, 90) + connect(m_pdfsw.kcfg_EnablePgp, &QAbstractButton::toggled, this, [this](bool checked) { + bool wasAllowed = Poppler::arePgpSignaturesAllowed(); + if (!wasAllowed && checked) { + KMessageBox::information(this, + i18nc("@info Kind of a notice/warning", "These signatures only work between modern versions of Okular with the GnuPG based backend activated"), + i18nc("@title:dialog", "Enable PGP Signatures"), + QStringLiteral("enablePgpWarningShown")); + } + Poppler::setPgpSignaturesAllowed(checked); + m_certificatesAsked = false; + update(); + }); +#endif + +#if POPPLER_VERSION_MACRO >= QT_VERSION_CHECK(25, 02, 90) + m_pdfsw.kcfg_EnablePgp->setVisible(currentBackend == Poppler::CryptoSignBackend::GPG); +#endif + m_pdfsw.certDBGroupBox->setVisible(currentBackend == Poppler::CryptoSignBackend::NSS); +#else + if (Poppler::hasNSSSupport()) { + // Better hide the signature backend selection; we have not really any + // need for that. + m_pdfsw.signatureBackendContainer->hide(); +#endif + + m_pdfsw.loadSignaturesButton->hide(); + + KUrlRequester *pDlg = new KUrlRequester(); + pDlg->setObjectName(QStringLiteral("kcfg_DBCertificatePath")); + pDlg->setMode(KFile::Directory | KFile::ExistingOnly | KFile::LocalOnly); + pDlg->setEnabled(false); + m_pdfsw.formLayout->setWidget(1, QFormLayout::FieldRole, pDlg); + + connect(m_pdfsw.customRadioButton, &QRadioButton::toggled, pDlg, &KUrlRequester::setEnabled); + + if (!PDFSettings::useDefaultCertDB()) { + m_pdfsw.customRadioButton->setChecked(true); + m_pdfsw.defaultLabel->setVisible(false); + } + + m_tree = new QTreeWidget(this); + m_tree->setHeaderLabels({i18nc("Name of the person to whom the cerficate was issued", "Issued to"), i18n("E-mail"), i18nc("Certificate expiration date", "Expiration date")}); + m_tree->setRootIsDecorated(false); + + m_pdfsw.certificatesPlaceholder->addWidget(m_tree); + + connect(PDFSettings::self(), &PDFSettings::useDefaultDBChanged, this, &PDFSettingsWidget::warnRestartNeeded); + connect(PDFSettings::self(), &PDFSettings::dBCertificatePathChanged, this, [this] { + if (!PDFSettings::useDefaultCertDB()) { + warnRestartNeeded(); + } + }); + connect(m_pdfsw.loadSignaturesButton, &QPushButton::clicked, this, [this] { + m_certificatesAsked = false; + update(); + }); + } else { + QHBoxLayout *lay = new QHBoxLayout(this); + QLabel *l = new QLabel(i18n("You are using a Poppler library built without NSS support.\nAdding Digital Signatures isn't available for that reason")); + l->setWordWrap(true); + lay->addWidget(l); + } +} + +bool PDFSettingsWidget::event(QEvent *e) +{ + if (m_tree && e->type() == QEvent::Paint && !m_certificatesAsked) { + m_certificatesAsked = true; + m_tree->clear(); + + // Calling st.signingCertificates(&userCancelled) from the paint event handler results + // in "QWidget::repaint: Recursive repaint detected" warning and a crash when the + // certificate password dialog is closed. Delay the calling to avoid it. + auto loadCertificatesDelayed = [this]() { + PopplerCertificateStore st; + bool userCancelled; + const QList certs = st.signingCertificates(&userCancelled); + + m_pdfsw.loadSignaturesButton->setVisible(userCancelled); + + for (const auto &cert : certs) { + QDateTime end = cert.validityEnd(); + QString validityString = end.isValid() ? end.toString(QStringLiteral("yyyy-MM-dd")) : i18nc("certificate end validity", "forever"); + new QTreeWidgetItem(m_tree, + {cert.subjectInfo(Okular::CertificateInfo::EntityInfoKey::CommonName, Okular::CertificateInfo::EmptyString::TranslatedNotAvailable), + cert.subjectInfo(Okular::CertificateInfo::EntityInfoKey::EmailAddress, Okular::CertificateInfo::EmptyString::TranslatedNotAvailable), + validityString}); + } + + m_pdfsw.defaultLabel->setText(Poppler::getNSSDir()); + + m_tree->resizeColumnToContents(1); + m_tree->resizeColumnToContents(0); + }; + QMetaObject::invokeMethod(this, loadCertificatesDelayed, Qt::QueuedConnection); + } + return QWidget::event(e); +} + +void PDFSettingsWidget::warnRestartNeeded() +{ + if (!m_warnedAboutRestart) { +#if POPPLER_VERSION_MACRO >= QT_VERSION_CHECK(23, 06, 0) + if (PDFSettings::self()->signatureBackend() != QStringLiteral("NSS")) { + return; + } +#endif + m_warnedAboutRestart = true; + QMessageBox::information(this, i18n("Restart needed"), i18n("You need to restart Okular after changing the NSS directory settings")); + } +} diff --git a/generators/poppler/pdfsettingswidget.h b/generators/poppler/pdfsettingswidget.h new file mode 100644 index 0000000..40bbec1 --- /dev/null +++ b/generators/poppler/pdfsettingswidget.h @@ -0,0 +1,42 @@ +/* + SPDX-FileCopyrightText: 2019 Bubli + SPDX-FileCopyrightText: 2020 Albert Astals Cid + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef PDFSETTINGSWIDGET_H +#define PDFSETTINGSWIDGET_H + +#include + +#include "ui_pdfsettingswidget.h" +#include +#include + +#define POPPLER_VERSION_MACRO ((POPPLER_VERSION_MAJOR << 16) | (POPPLER_VERSION_MINOR << 8) | (POPPLER_VERSION_MICRO)) + +class QTreeWidget; + +class PDFSettingsWidget : public QWidget +{ + Q_OBJECT + +public: + explicit PDFSettingsWidget(QWidget *parent = nullptr); + bool event(QEvent *e) override; +#if POPPLER_VERSION_MACRO >= QT_VERSION_CHECK(23, 06, 0) + static std::optional settingStringToPopplerEnum(QStringView backend); + static QString popplerEnumToSettingString(Poppler::CryptoSignBackend backend); +#endif + +private: + void warnRestartNeeded(); + + QTreeWidget *m_tree = nullptr; + bool m_certificatesAsked = false; + bool m_warnedAboutRestart = false; + Ui_PDFSettingsWidgetBase m_pdfsw; +}; + +#endif diff --git a/generators/poppler/pdfsignatureutils.cpp b/generators/poppler/pdfsignatureutils.cpp new file mode 100644 index 0000000..daf1080 --- /dev/null +++ b/generators/poppler/pdfsignatureutils.cpp @@ -0,0 +1,254 @@ +/* + SPDX-FileCopyrightText: 2018 Chinmoy Ranjan Pradhan + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "pdfsignatureutils.h" + +#include +#include +#include + +static Okular::CertificateInfo::KeyUsageExtensions fromPoppler(Poppler::CertificateInfo::KeyUsageExtensions popplerKu) +{ + using namespace Okular; + CertificateInfo::KeyUsageExtensions ku = CertificateInfo::KuNone; + if (popplerKu.testFlag(Poppler::CertificateInfo::KuDigitalSignature)) { + ku |= CertificateInfo::KuDigitalSignature; + } + if (popplerKu.testFlag(Poppler::CertificateInfo::KuNonRepudiation)) { + ku |= CertificateInfo::KuNonRepudiation; + } + if (popplerKu.testFlag(Poppler::CertificateInfo::KuKeyEncipherment)) { + ku |= CertificateInfo::KuKeyEncipherment; + } + if (popplerKu.testFlag(Poppler::CertificateInfo::KuDataEncipherment)) { + ku |= CertificateInfo::KuDataEncipherment; + } + if (popplerKu.testFlag(Poppler::CertificateInfo::KuKeyAgreement)) { + ku |= CertificateInfo::KuKeyAgreement; + } + if (popplerKu.testFlag(Poppler::CertificateInfo::KuKeyCertSign)) { + ku |= CertificateInfo::KuKeyCertSign; + } + if (popplerKu.testFlag(Poppler::CertificateInfo::KuClrSign)) { + ku |= CertificateInfo::KuClrSign; + } + if (popplerKu.testFlag(Poppler::CertificateInfo::KuEncipherOnly)) { + ku |= CertificateInfo::KuEncipherOnly; + } + return ku; +} + +static Okular::CertificateInfo::PublicKeyType fromPoppler(Poppler::CertificateInfo::PublicKeyType type) +{ + switch (type) { + case Poppler::CertificateInfo::RsaKey: + return Okular::CertificateInfo::RsaKey; + case Poppler::CertificateInfo::DsaKey: + return Okular::CertificateInfo::DsaKey; + case Poppler::CertificateInfo::EcKey: + return Okular::CertificateInfo::EcKey; + case Poppler::CertificateInfo::OtherKey: + return Okular::CertificateInfo::OtherKey; + } + return Okular::CertificateInfo::OtherKey; +} + +#if POPPLER_VERSION_MACRO > QT_VERSION_CHECK(23, 8, 0) +static Okular::CertificateInfo::KeyLocation fromPoppler(Poppler::CertificateInfo::KeyLocation location) +{ + switch (location) { + case Poppler::CertificateInfo::KeyLocation::Computer: + return Okular::CertificateInfo::KeyLocation::Computer; + case Poppler::CertificateInfo::KeyLocation::Unknown: + return Okular::CertificateInfo::KeyLocation::Unknown; + case Poppler::CertificateInfo::KeyLocation::HardwareToken: + return Okular::CertificateInfo::KeyLocation::HardwareToken; + case Poppler::CertificateInfo::KeyLocation::Other: + return Okular::CertificateInfo::KeyLocation::Other; + } + return Okular::CertificateInfo::KeyLocation::Unknown; +} +#endif + +#if POPPLER_VERSION_MACRO >= QT_VERSION_CHECK(25, 2, 90) +static Okular::CertificateInfo::CertificateType fromPoppler(Poppler::CertificateInfo::CertificateType type) +{ + switch (type) { + case Poppler::CertificateInfo::CertificateType::PGP: + return Okular::CertificateInfo::CertificateType::PGP; + case Poppler::CertificateInfo::CertificateType::X509: + return Okular::CertificateInfo::CertificateType::X509; + } + // fallback, it's probably X.509 + return Okular::CertificateInfo::CertificateType::X509; +} +#endif + +Okular::CertificateInfo fromPoppler(const Poppler::CertificateInfo &pInfo) +{ + Okular::CertificateInfo oInfo; + if (pInfo.isNull()) { + return oInfo; + } + oInfo.setNull(false); + oInfo.setVersion(pInfo.version()); + oInfo.setSerialNumber(pInfo.serialNumber()); + for (auto key : + {Poppler::CertificateInfo::EntityInfoKey::CommonName, Poppler::CertificateInfo::EntityInfoKey::DistinguishedName, Poppler::CertificateInfo::EntityInfoKey::EmailAddress, Poppler::CertificateInfo::EntityInfoKey::Organization}) { + oInfo.setIssuerInfo(static_cast(key), pInfo.issuerInfo(key)); + oInfo.setSubjectInfo(static_cast(key), pInfo.subjectInfo(key)); + } + oInfo.setNickName(pInfo.nickName()); + oInfo.setValidityStart(pInfo.validityStart()); + oInfo.setValidityEnd(pInfo.validityEnd()); + oInfo.setKeyUsageExtensions(fromPoppler(pInfo.keyUsageExtensions())); + oInfo.setPublicKey(pInfo.publicKey()); + oInfo.setPublicKeyType(fromPoppler(pInfo.publicKeyType())); + oInfo.setPublicKeyStrength(pInfo.publicKeyStrength()); + oInfo.setSelfSigned(pInfo.isSelfSigned()); + oInfo.setCertificateData(pInfo.certificateData()); +#if POPPLER_VERSION_MACRO > QT_VERSION_CHECK(23, 8, 0) + oInfo.setKeyLocation(fromPoppler(pInfo.keyLocation())); +#endif + oInfo.setCheckPasswordFunction([pInfo](const QString &password) { +#if POPPLER_VERSION_MACRO >= QT_VERSION_CHECK(23, 06, 0) + auto backend = Poppler::activeCryptoSignBackend(); + if (!backend) { + return false; + } + if (Poppler::hasCryptoSignBackendFeature(backend.value(), Poppler::CryptoSignBackendFeature::BackendAsksPassphrase)) { + // we shouldn't ask anyone about passwords. The backend will do that themselves, so just assume everything is okay. + return true; + } +#endif + return pInfo.checkPassword(password); + }); +#if POPPLER_VERSION_MACRO >= QT_VERSION_CHECK(23, 06, 0) + if (Poppler::activeCryptoSignBackend() == Poppler::CryptoSignBackend::GPG) { + oInfo.setBackend(Okular::CertificateInfo::Backend::Gpg); + } +#endif +#if POPPLER_VERSION_MACRO >= QT_VERSION_CHECK(24, 12, 0) + oInfo.setQualified(pInfo.isQualified()); +#endif + +#if POPPLER_VERSION_MACRO >= QT_VERSION_CHECK(25, 02, 90) + oInfo.setCertificateType(fromPoppler(pInfo.certificateType())); +#endif + return oInfo; +} + +Okular::SignatureInfo::CertificateStatus fromPoppler(Poppler::SignatureValidationInfo::CertificateStatus status) +{ + switch (status) { + case Poppler::SignatureValidationInfo::CertificateTrusted: + return Okular::SignatureInfo::CertificateTrusted; + case Poppler::SignatureValidationInfo::CertificateUntrustedIssuer: + return Okular::SignatureInfo::CertificateUntrustedIssuer; + case Poppler::SignatureValidationInfo::CertificateUnknownIssuer: + return Okular::SignatureInfo::CertificateUnknownIssuer; + case Poppler::SignatureValidationInfo::CertificateRevoked: + return Okular::SignatureInfo::CertificateRevoked; + case Poppler::SignatureValidationInfo::CertificateExpired: + return Okular::SignatureInfo::CertificateExpired; + case Poppler::SignatureValidationInfo::CertificateGenericError: + return Okular::SignatureInfo::CertificateGenericError; + case Poppler::SignatureValidationInfo::CertificateNotVerified: + return Okular::SignatureInfo::CertificateNotVerified; +#if POPPLER_VERSION_MACRO > QT_VERSION_CHECK(24, 04, 0) + case Poppler::SignatureValidationInfo::CertificateVerificationInProgress: + return Okular::SignatureInfo::CertificateVerificationInProgress; +#endif + default: + return Okular::SignatureInfo::CertificateStatusUnknown; + } +} + +Okular::SignatureInfo::SignatureStatus fromPoppler(Poppler::SignatureValidationInfo::SignatureStatus status) +{ + switch (status) { + case Poppler::SignatureValidationInfo::SignatureValid: + return Okular::SignatureInfo::SignatureValid; + case Poppler::SignatureValidationInfo::SignatureInvalid: + return Okular::SignatureInfo::SignatureInvalid; + case Poppler::SignatureValidationInfo::SignatureDigestMismatch: + return Okular::SignatureInfo::SignatureDigestMismatch; + case Poppler::SignatureValidationInfo::SignatureDecodingError: + return Okular::SignatureInfo::SignatureDecodingError; + case Poppler::SignatureValidationInfo::SignatureGenericError: + return Okular::SignatureInfo::SignatureGenericError; + case Poppler::SignatureValidationInfo::SignatureNotFound: + return Okular::SignatureInfo::SignatureNotFound; + case Poppler::SignatureValidationInfo::SignatureNotVerified: + return Okular::SignatureInfo::SignatureNotVerified; + default: + return Okular::SignatureInfo::SignatureStatusUnknown; + } +} + +Okular::SignatureInfo::HashAlgorithm fromPoppler(Poppler::SignatureValidationInfo::HashAlgorithm hash) +{ + switch (hash) { + case Poppler::SignatureValidationInfo::HashAlgorithmMd2: + return Okular::SignatureInfo::HashAlgorithmMd2; + case Poppler::SignatureValidationInfo::HashAlgorithmMd5: + return Okular::SignatureInfo::HashAlgorithmMd5; + case Poppler::SignatureValidationInfo::HashAlgorithmSha1: + return Okular::SignatureInfo::HashAlgorithmSha1; + case Poppler::SignatureValidationInfo::HashAlgorithmSha256: + return Okular::SignatureInfo::HashAlgorithmSha256; + case Poppler::SignatureValidationInfo::HashAlgorithmSha384: + return Okular::SignatureInfo::HashAlgorithmSha384; + case Poppler::SignatureValidationInfo::HashAlgorithmSha512: + return Okular::SignatureInfo::HashAlgorithmSha512; + case Poppler::SignatureValidationInfo::HashAlgorithmSha224: + return Okular::SignatureInfo::HashAlgorithmSha224; + default: + return Okular::SignatureInfo::HashAlgorithmUnknown; + } +} + +Okular::SignatureInfo fromPoppler(const Poppler::SignatureValidationInfo &pInfo) +{ + Okular::SignatureInfo oInfo; + oInfo.setCertificateInfo(fromPoppler(pInfo.certificateInfo())); + oInfo.setSignatureStatus(fromPoppler(pInfo.signatureStatus())); + oInfo.setCertificateStatus(fromPoppler(pInfo.certificateStatus())); + oInfo.setHashAlgorithm(fromPoppler(pInfo.hashAlgorithm())); + oInfo.setSignerName(pInfo.signerName()); + oInfo.setSignerSubjectDN(pInfo.signerSubjectDN()); + oInfo.setLocation(pInfo.location()); + oInfo.setReason(pInfo.reason()); + oInfo.setSigningTime(QDateTime::fromSecsSinceEpoch(pInfo.signingTime())); + oInfo.setSignature(pInfo.signature()); + oInfo.setSignedRangeBounds(pInfo.signedRangeBounds()); + oInfo.setSignsTotalDocument(pInfo.signsTotalDocument()); + return oInfo; +} + +PopplerCertificateStore::~PopplerCertificateStore() = default; + +QList PopplerCertificateStore::signingCertificates(bool *userCancelled) const +{ + *userCancelled = false; + auto PDFGeneratorNSSPasswordCallback = [&userCancelled](const char *element) -> char * { + bool ok; + const QString pwd = QInputDialog::getText(nullptr, i18n("Enter Password"), i18n("Enter password to open %1:", QString::fromUtf8(element)), QLineEdit::Password, QString(), &ok); + *userCancelled = !ok; + return ok ? strdup(pwd.toUtf8().constData()) : nullptr; + }; + Poppler::setNSSPasswordCallback(PDFGeneratorNSSPasswordCallback); + + const QList certs = Poppler::getAvailableSigningCertificates(); + QList vReturnCerts; + for (const auto &cert : certs) { + vReturnCerts.append(fromPoppler(cert)); + } + + Poppler::setNSSPasswordCallback(nullptr); + + return vReturnCerts; +} diff --git a/generators/poppler/pdfsignatureutils.h b/generators/poppler/pdfsignatureutils.h new file mode 100644 index 0000000..af22b3d --- /dev/null +++ b/generators/poppler/pdfsignatureutils.h @@ -0,0 +1,28 @@ +/* + SPDX-FileCopyrightText: 2018 Chinmoy Ranjan Pradhan + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_GENERATOR_PDF_SIGNATUREUTILS_H_ +#define _OKULAR_GENERATOR_PDF_SIGNATUREUTILS_H_ + +#include +#include +#define POPPLER_VERSION_MACRO ((POPPLER_VERSION_MAJOR << 16) | (POPPLER_VERSION_MINOR << 8) | (POPPLER_VERSION_MICRO)) + +#include "core/signatureutils.h" + +Okular::SignatureInfo fromPoppler(const Poppler::SignatureValidationInfo &info); +Okular::CertificateInfo fromPoppler(const Poppler::CertificateInfo &info); +Okular::SignatureInfo::CertificateStatus fromPoppler(Poppler::SignatureValidationInfo::CertificateStatus status); + +class PopplerCertificateStore : public Okular::CertificateStore +{ +public: + ~PopplerCertificateStore() override; + + QList signingCertificates(bool *userCancelled) const override; +}; + +#endif diff --git a/generators/poppler/popplerembeddedfile.h b/generators/poppler/popplerembeddedfile.h new file mode 100644 index 0000000..00bca74 --- /dev/null +++ b/generators/poppler/popplerembeddedfile.h @@ -0,0 +1,57 @@ +/* + SPDX-FileCopyrightText: 2006-2008 Albert Astals Cid + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef POPPLEREMBEDDEDFILE_H +#define POPPLEREMBEDDEDFILE_H + +#include + +#include + +class PDFEmbeddedFile : public Okular::EmbeddedFile +{ +public: + explicit PDFEmbeddedFile(Poppler::EmbeddedFile *f) + : ef(f) + { + } + + QString name() const override + { + return ef->name(); + } + + QString description() const override + { + return ef->description(); + } + + QByteArray data() const override + { + return ef->data(); + } + + int size() const override + { + int s = ef->size(); + return s <= 0 ? -1 : s; + } + + QDateTime modificationDate() const override + { + return ef->modDate(); + } + + QDateTime creationDate() const override + { + return ef->createDate(); + } + +private: + Poppler::EmbeddedFile *ef; +}; + +#endif diff --git a/generators/spectre/16-apps-okular-gv.png b/generators/spectre/16-apps-okular-gv.png new file mode 100644 index 0000000000000000000000000000000000000000..bbba0e1f0f888bbc9b29545357760719c178aa4e GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJe}GSjYpQNKka_3Mo&W#;ulgSv zqB2Vn$Y(4G@(X5gcy=QV$g%fyaSW-r)!M_z#h}2$bouZ9^PH+?5+xfN*>|NWL@hfo z+xrF&lftSm4E$FFRe}UcwAmy}|8=H(^Zhi>H-cHZJ%CZ*R8gTY&?p8^S3j3^P6c}XzwtZ2UV36> z;S}<`z3H>zu7KO^5A%*0rd<^5kG*gVDwOC zuRisgQSKjuLv>}k^?@_|pVqTlnjhFFGw0XpyZzopr E0K5KWp8x;= literal 0 HcmV?d00001 diff --git a/generators/spectre/CMakeLists.txt b/generators/spectre/CMakeLists.txt new file mode 100644 index 0000000..efedd57 --- /dev/null +++ b/generators/spectre/CMakeLists.txt @@ -0,0 +1,35 @@ +remove_definitions(-DTRANSLATION_DOMAIN="okular") +add_definitions(-DTRANSLATION_DOMAIN="okular_ghostview") + +add_subdirectory( conf ) + +########### next target ############### + +set(okularGenerator_ghostview_SRCS + generator_ghostview.cpp + rendererthread.cpp + spectre_debug.cpp +) + +ki18n_wrap_ui(okularGenerator_ghostview_SRCS + conf/gssettingswidget.ui +) + +kconfig_add_kcfg_files(okularGenerator_ghostview_SRCS conf/gssettings.kcfgc ) + + +okular_add_generator(okularGenerator_ghostview ${okularGenerator_ghostview_SRCS}) + +target_include_directories(okularGenerator_ghostview PRIVATE ${LIBSPECTRE_INCLUDE_DIR}) +target_link_libraries(okularGenerator_ghostview okularcore ${LIBSPECTRE_LIBRARY} KF6::I18n Qt6::Xml) + +########### install files ############### + +if (BUILD_DESKTOP) + install( PROGRAMS okularApplication_ghostview.desktop DESTINATION ${KDE_INSTALL_APPDIR} ) +endif() +if (BUILD_MOBILE) + install( PROGRAMS org.kde.mobile.okular_ghostview.desktop DESTINATION ${KDE_INSTALL_APPDIR} ) +endif() +ecm_install_icons(ICONS 16-apps-okular-gv.png 32-apps-okular-gv.png DESTINATION ${KDE_INSTALL_DATADIR}/okular/icons) +install( FILES org.kde.okular-spectre.metainfo.xml DESTINATION ${KDE_INSTALL_METAINFODIR} ) diff --git a/generators/spectre/DESIGN b/generators/spectre/DESIGN new file mode 100644 index 0000000..31ddcfb --- /dev/null +++ b/generators/spectre/DESIGN @@ -0,0 +1,12 @@ +Quick Spectre Generator design explanation +-------------------------------------------- + +libgs has a limitation that there can only be a gs instance per process. + +To overcome that problem there is zero (when no ps document has been opened) +or one GSRendererThread thread running (when on or more ps documents are open +in the same okular process) + +As there is only one GSRendererThread for potentially N GSGenerator, the imageDone +signal from GSRendererThread also emits the request and the GSGenerator checks +if it is its request that was done or from another GSGenerator. diff --git a/generators/spectre/Messages.sh b/generators/spectre/Messages.sh new file mode 100644 index 0000000..ff2de97 --- /dev/null +++ b/generators/spectre/Messages.sh @@ -0,0 +1,4 @@ +#!/bin/sh +$EXTRACTRC $(find conf/ -name "*.ui" -o -name "*.kcfg") >> rc.cpp || exit 11 +$XGETTEXT $(find . -name "*.cpp" -o -name "*.h") -o $podir/okular_ghostview.pot +rm -f rc.cpp diff --git a/generators/spectre/conf/CMakeLists.txt b/generators/spectre/conf/CMakeLists.txt new file mode 100644 index 0000000..b51035d --- /dev/null +++ b/generators/spectre/conf/CMakeLists.txt @@ -0,0 +1,3 @@ + +install(FILES gssettings.kcfg DESTINATION ${KDE_INSTALL_KCFGDIR}) + diff --git a/generators/spectre/conf/gssettings.kcfg b/generators/spectre/conf/gssettings.kcfg new file mode 100644 index 0000000..423492e --- /dev/null +++ b/generators/spectre/conf/gssettings.kcfg @@ -0,0 +1,16 @@ + + + + + + + Determines whether Ghostscript should be allowed to use platform fonts, if false only usage of fonts embedded in the document will be allowed. + true + + + + + diff --git a/generators/spectre/conf/gssettings.kcfgc b/generators/spectre/conf/gssettings.kcfgc new file mode 100644 index 0000000..7cfd0f3 --- /dev/null +++ b/generators/spectre/conf/gssettings.kcfgc @@ -0,0 +1,4 @@ +File=gssettings.kcfg +ClassName=GSSettings +Mutators=true +Singleton=true diff --git a/generators/spectre/conf/gssettingswidget.ui b/generators/spectre/conf/gssettingswidget.ui new file mode 100644 index 0000000..d6085da --- /dev/null +++ b/generators/spectre/conf/gssettingswidget.ui @@ -0,0 +1,61 @@ + + GSSettingsWidget + + + + 0 + 0 + 328 + 73 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + General Settings + + + + + + true + + + &Use platform fonts + + + + + + + + + + Qt::Vertical + + + + 10 + 5 + + + + + + + + + diff --git a/generators/spectre/generator_ghostview.cpp b/generators/spectre/generator_ghostview.cpp new file mode 100644 index 0000000..8586a87 --- /dev/null +++ b/generators/spectre/generator_ghostview.cpp @@ -0,0 +1,303 @@ +/* + SPDX-FileCopyrightText: 2007-2008 Albert Astals Cid + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "generator_ghostview.h" + +#include + +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include "gssettings.h" +#include "ui_gssettingswidget.h" + +#include "rendererthread.h" +#include "spectre_debug.h" + +OKULAR_EXPORT_PLUGIN(GSGenerator, "libokularGenerator_ghostview.json") + +GSGenerator::GSGenerator(QObject *parent, const QVariantList &args) + : Okular::Generator(parent, args) + , m_internalDocument(nullptr) + , m_request(nullptr) +{ + setFeature(PrintPostscript); + setFeature(PrintToFile); + + GSRendererThread *renderer = GSRendererThread::getCreateRenderer(); + if (!renderer->isRunning()) { + renderer->start(); + } + connect(renderer, &GSRendererThread::imageDone, this, &GSGenerator::slotImageGenerated, Qt::QueuedConnection); +} + +GSGenerator::~GSGenerator() +{ +} + +bool GSGenerator::reparseConfig() +{ + bool changed = false; + if (m_internalDocument) { +#define SET_HINT(hintname, hintdefvalue, hintvar) \ + { \ + bool newhint = documentMetaData(hintname, hintdefvalue).toBool(); \ + if (newhint != cache_##hintvar) { \ + cache_##hintvar = newhint; \ + changed = true; \ + } \ + } + SET_HINT(GraphicsAntialiasMetaData, true, AAgfx) + SET_HINT(TextAntialiasMetaData, true, AAtext) +#undef SET_HINT + } + return changed; +} + +void GSGenerator::addPages(KConfigDialog *dlg) +{ + Ui_GSSettingsWidget gsw; + QWidget *w = new QWidget(dlg); + gsw.setupUi(w); + dlg->addPage(w, GSSettings::self(), i18n("Ghostscript"), QStringLiteral("okular-gv"), i18n("Ghostscript Backend Configuration")); +} + +Okular::Document::PrintError GSGenerator::print(QPrinter &printer) +{ + // Create tempfile to write to + QTemporaryFile tf(QDir::tempPath() + QLatin1String("/okular_XXXXXX.ps")); + + // Get list of pages to print + QList pageList = Okular::FilePrinter::pageList(printer, spectre_document_get_n_pages(m_internalDocument), document()->currentPage() + 1, document()->bookmarkedPageList()); + + // Default to Postscript export, but if printing to PDF use that instead + SpectreExporterFormat exportFormat = SPECTRE_EXPORTER_FORMAT_PS; + if (printer.outputFileName().right(3) == QLatin1String("pdf")) { + exportFormat = SPECTRE_EXPORTER_FORMAT_PDF; + tf.setFileTemplate(QDir::tempPath() + QLatin1String("/okular_XXXXXX.pdf")); + } + + if (!tf.open()) { + return Okular::Document::TemporaryFileOpenPrintError; + } + + SpectreExporter *exporter = spectre_exporter_new(m_internalDocument, exportFormat); + SpectreStatus exportStatus = spectre_exporter_begin(exporter, tf.fileName().toLatin1().constData()); + + int i = 0; + while (i < pageList.count() && exportStatus == SPECTRE_STATUS_SUCCESS) { + exportStatus = spectre_exporter_do_page(exporter, pageList.at(i) - 1); + i++; + } + + SpectreStatus endStatus = SPECTRE_STATUS_EXPORTER_ERROR; + if (exportStatus == SPECTRE_STATUS_SUCCESS) { + endStatus = spectre_exporter_end(exporter); + } + + spectre_exporter_free(exporter); + + const QString printFileName = tf.fileName(); + tf.close(); + + if (exportStatus == SPECTRE_STATUS_SUCCESS && endStatus == SPECTRE_STATUS_SUCCESS) { + tf.setAutoRemove(false); + return Okular::FilePrinter::printFile(printer, printFileName, document()->orientation(), Okular::FilePrinter::SystemDeletesFiles, Okular::FilePrinter::ApplicationSelectsPages, document()->bookmarkedPageRange()); + } + + return Okular::Document::UnknownPrintError; +} + +bool GSGenerator::loadDocument(const QString &fileName, QList &pagesVector) +{ + cache_AAtext = documentMetaData(TextAntialiasMetaData, true).toBool(); + cache_AAgfx = documentMetaData(GraphicsAntialiasMetaData, true).toBool(); + + m_internalDocument = spectre_document_new(); + spectre_document_load(m_internalDocument, QFile::encodeName(fileName).constData()); + const SpectreStatus loadStatus = spectre_document_status(m_internalDocument); + if (loadStatus != SPECTRE_STATUS_SUCCESS) { + qCDebug(OkularSpectreDebug) << "ERR:" << spectre_status_to_string(loadStatus); + spectre_document_free(m_internalDocument); + m_internalDocument = nullptr; + return false; + } + pagesVector.resize(spectre_document_get_n_pages(m_internalDocument)); + qCDebug(OkularSpectreDebug) << "Page count:" << pagesVector.count(); + return loadPages(pagesVector); +} + +bool GSGenerator::doCloseDocument() +{ + spectre_document_free(m_internalDocument); + m_internalDocument = nullptr; + + return true; +} + +void GSGenerator::slotImageGenerated(QImage *img, Okular::PixmapRequest *request) +{ + // This can happen as GSInterpreterCMD is a singleton and on creation signals all the slots + // of all the generators attached to it + if (request != m_request) { + return; + } + + if (!request->page()->isBoundingBoxKnown()) { + updatePageBoundingBox(request->page()->number(), Okular::Utils::imageBoundingBox(img)); + } + + m_request = nullptr; + QPixmap *pix = new QPixmap(QPixmap::fromImage(*img)); + delete img; + request->page()->setPixmap(request->observer(), pix); + signalPixmapRequestDone(request); +} + +bool GSGenerator::loadPages(QList &pagesVector) +{ + for (uint i = 0; i < spectre_document_get_n_pages(m_internalDocument); i++) { + SpectrePage *page; + int width = 0, height = 0; + SpectreOrientation pageOrientation = SPECTRE_ORIENTATION_PORTRAIT; + page = spectre_document_get_page(m_internalDocument, i); + if (spectre_document_status(m_internalDocument)) { + qCDebug(OkularSpectreDebug) << "Error getting page" << i << spectre_status_to_string(spectre_document_status(m_internalDocument)); + } else { + spectre_page_get_size(page, &width, &height); + pageOrientation = spectre_page_get_orientation(page); + } + spectre_page_free(page); + if (pageOrientation % 2 == 1) { + std::swap(width, height); + } + pagesVector[i] = new Okular::Page(i, width, height, orientation(pageOrientation)); + } + return pagesVector.count() > 0; +} + +void GSGenerator::generatePixmap(Okular::PixmapRequest *req) +{ + qCDebug(OkularSpectreDebug) << "receiving" << *req; + + SpectrePage *page = spectre_document_get_page(m_internalDocument, req->pageNumber()); + + GSRendererThread *renderer = GSRendererThread::getCreateRenderer(); + + GSRendererThreadRequest gsreq(this); + gsreq.spectrePage = page; + gsreq.platformFonts = GSSettings::platformFonts(); + int graphicsAA = 1; + int textAA = 1; + if (cache_AAgfx) { + graphicsAA = 4; + } + if (cache_AAtext) { + textAA = 4; + } + gsreq.textAAbits = textAA; + gsreq.graphicsAAbits = graphicsAA; + + gsreq.orientation = req->page()->orientation(); + if (req->page()->rotation() == Okular::Rotation90 || req->page()->rotation() == Okular::Rotation270) { + gsreq.magnify = qMax((double)req->height() / req->page()->width(), (double)req->width() / req->page()->height()); + } else { + gsreq.magnify = qMax((double)req->width() / req->page()->width(), (double)req->height() / req->page()->height()); + } + gsreq.request = req; + m_request = req; + renderer->addRequest(gsreq); +} + +bool GSGenerator::canGeneratePixmap() const +{ + return !m_request; +} + +Okular::DocumentInfo GSGenerator::generateDocumentInfo(const QSet &keys) const +{ + Okular::DocumentInfo docInfo; + if (keys.contains(Okular::DocumentInfo::Title)) { + docInfo.set(Okular::DocumentInfo::Title, QString::fromUtf8(spectre_document_get_title(m_internalDocument))); + } + if (keys.contains(Okular::DocumentInfo::Author)) { + docInfo.set(Okular::DocumentInfo::Author, QString::fromUtf8(spectre_document_get_for(m_internalDocument))); + } + if (keys.contains(Okular::DocumentInfo::Creator)) { + docInfo.set(Okular::DocumentInfo::Creator, QString::fromUtf8(spectre_document_get_creator(m_internalDocument))); + } + if (keys.contains(Okular::DocumentInfo::CreationDate)) { + docInfo.set(Okular::DocumentInfo::CreationDate, QString::fromUtf8(spectre_document_get_creation_date(m_internalDocument))); + } + if (keys.contains(Okular::DocumentInfo::CustomKeys)) { + docInfo.set(QStringLiteral("dscversion"), QString::fromUtf8(spectre_document_get_format(m_internalDocument)), i18n("Document version")); + } + + if (keys.contains(Okular::DocumentInfo::MimeType)) { + int languageLevel = spectre_document_get_language_level(m_internalDocument); + if (languageLevel > 0) { + docInfo.set(QStringLiteral("langlevel"), QString::number(languageLevel), i18n("Language Level")); + } + if (spectre_document_is_eps(m_internalDocument)) { + docInfo.set(Okular::DocumentInfo::MimeType, QStringLiteral("image/x-eps")); + } else { + docInfo.set(Okular::DocumentInfo::MimeType, QStringLiteral("application/postscript")); + } + } + + if (keys.contains(Okular::DocumentInfo::Pages)) { + docInfo.set(Okular::DocumentInfo::Pages, QString::number(spectre_document_get_n_pages(m_internalDocument))); + } + + return docInfo; +} + +Okular::Rotation GSGenerator::orientation(SpectreOrientation pageOrientation) const +{ + switch (pageOrientation) { + case SPECTRE_ORIENTATION_PORTRAIT: + return Okular::Rotation0; + case SPECTRE_ORIENTATION_LANDSCAPE: + return Okular::Rotation90; + case SPECTRE_ORIENTATION_REVERSE_PORTRAIT: + return Okular::Rotation180; + case SPECTRE_ORIENTATION_REVERSE_LANDSCAPE: + return Okular::Rotation270; + } + // get rid of warnings, should never happen + return Okular::Rotation0; +} + +QVariant GSGenerator::metaData(const QString &key, const QVariant &option) const +{ + Q_UNUSED(option) + if (key == QLatin1String("DocumentTitle")) { + const char *title = spectre_document_get_title(m_internalDocument); + if (title) { + return QString::fromLatin1(title); + } + } + return QVariant(); +} + +#include "generator_ghostview.moc" diff --git a/generators/spectre/generator_ghostview.h b/generators/spectre/generator_ghostview.h new file mode 100644 index 0000000..00a2327 --- /dev/null +++ b/generators/spectre/generator_ghostview.h @@ -0,0 +1,73 @@ +/* + SPDX-FileCopyrightText: 2007 Albert Astals Cid + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_GENERATOR_GHOSTVIEW_H_ +#define _OKULAR_GENERATOR_GHOSTVIEW_H_ + +#include +#include + +#include + +class GSGenerator : public Okular::Generator, public Okular::ConfigInterface +{ + Q_OBJECT + Q_INTERFACES(Okular::Generator) + Q_INTERFACES(Okular::ConfigInterface) + +public: + /** virtual methods to reimplement **/ + // load a document and fill up the pagesVector + bool loadDocument(const QString &fileName, QList &pagesVector) override; + + // Document description and Table of contents + Okular::DocumentInfo generateDocumentInfo(const QSet &keys) const override; + const Okular::DocumentSynopsis *generateDocumentSynopsis() override + { + return nullptr; + } + const Okular::DocumentFonts *generateDocumentFonts() + { + return nullptr; + } + + // page contents generation + bool canGeneratePixmap() const override; + void generatePixmap(Okular::PixmapRequest *request) override; + + QVariant metaData(const QString &key, const QVariant &option) const override; + + // print document using already configured kprinter + Okular::Document::PrintError print(QPrinter & /*printer*/) override; + QString fileName() const; + + bool reparseConfig() override; + void addPages(KConfigDialog *dlg) override; + + /** constructor **/ + GSGenerator(QObject *parent, const QVariantList &args); + ~GSGenerator() override; + +public Q_SLOTS: + void slotImageGenerated(QImage *img, Okular::PixmapRequest *request); + +protected: + bool doCloseDocument() override; + +private: + bool loadPages(QList &pagesVector); + Okular::Rotation orientation(SpectreOrientation orientation) const; + + // backendish stuff + SpectreDocument *m_internalDocument; + + Okular::PixmapRequest *m_request; + + bool cache_AAtext; + bool cache_AAgfx; +}; + +#endif diff --git a/generators/spectre/libokularGenerator_ghostview.json b/generators/spectre/libokularGenerator_ghostview.json new file mode 100644 index 0000000..522a46a --- /dev/null +++ b/generators/spectre/libokularGenerator_ghostview.json @@ -0,0 +1,217 @@ +{ + "KPlugin": { + "Authors": [ + { + "Email": "aacid@kde.org", + "Name": "Albert Astals Cid", + "Name[ar]": "Albert Astals Cid", + "Name[az]": "Albert Astals Cid", + "Name[be]": "Albert Astals Cid", + "Name[bg]": "Albert Astals Cid", + "Name[ca@valencia]": "Albert Astals Cid", + "Name[ca]": "Albert Astals Cid", + "Name[cs]": "Albert Astals Cid", + "Name[da]": "Albert Astals Cid", + "Name[de]": "Albert Astals Cid", + "Name[el]": "Albert Astals Cid", + "Name[en_GB]": "Albert Astals Cid", + "Name[eo]": "Albert Astals Cid", + "Name[es]": "Albert Astals Cid", + "Name[et]": "Albert Astals Cid", + "Name[eu]": "Albert Astals Cid", + "Name[fi]": "Albert Astals Cid", + "Name[fr]": "Albert Astals Cid", + "Name[gl]": "Albert Astals Cid", + "Name[he]": "אלברט אסטלס סיד", + "Name[hu]": "Albert Astals Cid", + "Name[ia]": "Albert Astals Cid", + "Name[ie]": "Albert Astals Cid", + "Name[is]": "Albert Astals Cid", + "Name[it]": "Albert Astals Cid", + "Name[ka]": "Albert Astals Cid", + "Name[ko]": "Albert Astals Cid", + "Name[lt]": "Albert Astals Cid", + "Name[lv]": "Albert Astals Cid", + "Name[nl]": "Albert Astals Cid", + "Name[nn]": "Albert Astals Cid", + "Name[pa]": "ਅਲਬਰਟ ਅਸਟਾਲਸ ਸਿਡ", + "Name[pl]": "Albert Astals Cid", + "Name[pt]": "Albert Astals Cid", + "Name[pt_BR]": "Albert Astals Cid", + "Name[ro]": "Albert Astals Cid", + "Name[ru]": "Albert Astals Cid", + "Name[sa]": "अल्बर्ट एस्टल्स सिड", + "Name[sk]": "Albert Astals Cid", + "Name[sl]": "Albert Astals Cid", + "Name[sr@ijekavian]": "Алберт Асталс Сид", + "Name[sr@ijekavianlatin]": "Albert Astals Sid", + "Name[sr@latin]": "Albert Astals Sid", + "Name[sr]": "Алберт Асталс Сид", + "Name[sv]": "Albert Astals Cid", + "Name[ta]": "ஆல்பர்டு அஸ்டால்சு சிடு", + "Name[tr]": "Albert Astals Cid", + "Name[uk]": "Albert Astals Cid", + "Name[vi]": "Albert Astals Cid", + "Name[zh_CN]": "Albert Astals Cid", + "Name[zh_TW]": "Albert Astals Cid" + } + ], + "Copyright": "© 2007-2008 Albert Astals Cid", + "Copyright[ar]": "© 2007-2008 Albert Astals Cid", + "Copyright[az]": "© 2007-2008 Albert Astals Cid", + "Copyright[be]": "© 2007-2008 Albert Astals Cid", + "Copyright[bg]": "© 2007-2008 Albert Astals Cid", + "Copyright[ca@valencia]": "© 2007-2008 Albert Astals Cid", + "Copyright[ca]": "© 2007-2008 Albert Astals Cid", + "Copyright[cs]": "© 2007-2008 Albert Astals Cid", + "Copyright[da]": "© 2007-2008 Albert Astals Cid", + "Copyright[de]": "© 2007–2008 Albert Astals Cid", + "Copyright[el]": "© 2007-2008 Albert Astals Cid", + "Copyright[en_GB]": "© 2007-2008 Albert Astals Cid", + "Copyright[eo]": "© 2007-2008 Albert Astals Cid", + "Copyright[es]": "© 2007-2008 Albert Astals Cid", + "Copyright[et]": "© 2007-2008: Albert Astals Cid", + "Copyright[eu]": "© 2007-2008 Albert Astals Cid", + "Copyright[fi]": "© 2007–2008 Albert Astals Cid", + "Copyright[fr]": "© 2007-2008 Albert Astals Cid", + "Copyright[gl]": "© 2007-2008 Albert Astals Cid", + "Copyright[he]": "© 2007‏-2008 אלברט אסטלס סיד", + "Copyright[hu]": "© Albert Astals Cid, 2007-2008.", + "Copyright[ia]": "Albert Astals Cid", + "Copyright[ie]": "© 2007-2008 Albert Astals Cid", + "Copyright[is]": "© 2007-2008 Albert Astals Cid", + "Copyright[it]": "© 2007-2008 Albert Astals Cid", + "Copyright[ka]": "© 2007-2008 Albert Astals Cid", + "Copyright[ko]": "© 2007-2008 Albert Astals Cid", + "Copyright[lt]": "© 2007-2008 Albert Astals Cid", + "Copyright[lv]": "© 2007-2008 Albert Astals Cid", + "Copyright[nl]": "© 2007-2008 Albert Astals Cid", + "Copyright[nn]": "© 2007–2008 Albert Astals Cid", + "Copyright[pa]": "© 2007-2008 Albert Astals Cid", + "Copyright[pl]": "© 2007-2008 Albert Astals Cid", + "Copyright[pt]": "© 2007-2008 Albert Astals Cid", + "Copyright[pt_BR]": "© 2007-2008 Albert Astals Cid", + "Copyright[ro]": "© 2007-2008 Albert Astals Cid", + "Copyright[ru]": "© Albert Astals Cid, 2007-2008", + "Copyright[sa]": "© 2007-2008 अल्बर्ट एस्टल्स सिड", + "Copyright[sk]": "© 2007-2008 Albert Astals Cid", + "Copyright[sl]": "© 2007-2008 Albert Astals Cid", + "Copyright[sr@ijekavian]": "© 2007–2008, Алберт Асталс Сид", + "Copyright[sr@ijekavianlatin]": "© 2007–2008, Albert Astals Sid", + "Copyright[sr@latin]": "© 2007–2008, Albert Astals Sid", + "Copyright[sr]": "© 2007–2008, Алберт Асталс Сид", + "Copyright[sv]": "© 2007-2008 Albert Astals Cid", + "Copyright[tr]": "© 2007–2008 Albert Astals Cid", + "Copyright[uk]": "© Albert Astals Cid, 2007–2008", + "Copyright[vi]": "© 2007-2008 Albert Astals Cid", + "Copyright[zh_CN]": "© 2007-2008 Albert Astals Cid", + "Copyright[zh_TW]": "© 2007-2008 Albert Astals Cid", + "Description": "A PostScript file renderer based on the Spectre library", + "Description[ar]": "عراض ملفات بوست سكربت بالإعماد على مكتبة Spectre", + "Description[az]": "Spectre library'ə əsasında PostScript fayl tərtibatçısı", + "Description[be]": "Сродак візуалізацыі файлаў PostScript на аснове бібліятэкі Spectre", + "Description[bg]": "Визуализатор на файлове на PostScript, базиран на библиотека Spectre", + "Description[ca@valencia]": "Un renderitzador de fitxers PostScript basat en la biblioteca Spectre", + "Description[ca]": "Un renderitzador de fitxers PostScript basat en la biblioteca Spectre", + "Description[cs]": "Vykreslovač souborů PostScript založený na knihovně Spectre.", + "Description[da]": "En gengiver til PostScript-filer baseret på Spectre-biblioteket", + "Description[de]": "Ein Renderer für PostScript-Dateien entwickelt aus der Spectre-Bibliothek", + "Description[el]": "Πρόγραμμα αποτύπωσης αρχείων PostScript με βάση τη βιβλιοθήκη Spectre", + "Description[en_GB]": "A PostScript file renderer based on the Spectre library", + "Description[eo]": "PostScript-dosierbildilo bazita sur la Spectre-biblioteko", + "Description[es]": "Un visor de archivos PostScript basado en la biblioteca Spectre", + "Description[et]": "PostScript-faili renderdaja Spectre teegi alusel", + "Description[eu]": "PostScript fitxategien errendatzaile bat Spectre liburutegian oinarritua", + "Description[fi]": "Spectre-kirjastoon pohjautuva PostScript-tiedostohahmonnin", + "Description[fr]": "Système de rendu pour les fichiers « PostScript » utilisant la bibliothèque Spectre", + "Description[gl]": "Un renderizador de ficheiros PostScript baseado na biblioteca Spectre.", + "Description[he]": "מעבד קובצי PostScript שמבוסס על ספריית Spectre", + "Description[hu]": "A Spectre függvénykönyvtárra épülő PostScript-fájl leképező", + "Description[ia]": "Un renditor de file Postscript basate sur bibliotheca Spectre", + "Description[is]": "Myndunarviðbót fyrir PostScript-skrár, byggð á Spectre-safninu", + "Description[it]": "Un visualizzatore di file PostScript basato sulla libreria Spectre", + "Description[ka]": "ბიბლიოთეკა Spectre -ზე ბაზირებული PostScript ფაილების რენდერერი", + "Description[ko]": "Spectre 라이브러리를 사용하는 포스트스크립트 파일 렌더러", + "Description[lt]": "PostScript failų atvaizdavimas pagrįstas Spectre biblioteka", + "Description[lv]": "„PostScript“ datņu atveidotājs, kuram pamatā ir „Spectre“ bibliotēka", + "Description[nl]": "Een renderer van PostScript bestanden gebaseerd op de bibliotheek Spectre", + "Description[nn]": "Ein gjengjevar for PostScript-filer, basert på Spectre-biblioteket", + "Description[pl]": "Wyświetlanie plików PostScript oparte o bibliotekę Spectre", + "Description[pt]": "Um visualzador de ficheiros PostScript com base na biblioteca Spectre", + "Description[pt_BR]": "Um interpretador de arquivos PostScript com base na biblioteca Spectre", + "Description[ru]": "Модуль поддержки формата PostScript на основе библиотеки Spectre", + "Description[sa]": "Spectre पुस्तकालयस्य आधारेण एकः PostScript सञ्चिकाप्रतिपादकः", + "Description[sk]": "Renderovač PostScript súborov založený na knižnici Spectre", + "Description[sl]": "Izrisovalnik datotek PostScript, ki temelji na knjižnici Spectre", + "Description[sr@ijekavian]": "Рендерер постскрипт фајлова на основу библиотеке Спектер", + "Description[sr@ijekavianlatin]": "Renderer PostScript fajlova na osnovu biblioteke Spectre", + "Description[sr@latin]": "Renderer PostScript fajlova na osnovu biblioteke Spectre", + "Description[sr]": "Рендерер постскрипт фајлова на основу библиотеке Спектер", + "Description[sv]": "Ett återgivningsprogram för Postscript-filer baserat på Spectre-biblioteket", + "Description[tr]": "Spectre kitaplığına dayalı bir PostScript dosyası sunucu", + "Description[uk]": "Обробник файлів PostScript на основі бібліотеки Spectre", + "Description[vi]": "Một trình kết xuất tệp PostScript dựa trên thư viện Spectre", + "Description[zh_CN]": "基于 Spectre 程序库的 PostScript 文件渲染程序", + "Description[zh_TW]": "基於 Spectre 函式庫的 PostScript 檔成像器", + "License": "GPL", + "MimeTypes": [ + "application/postscript", + "image/x-eps" + ], + "Name": "PS Backend", + "Name[ar]": "خلفية PS", + "Name[az]": "PS modulu", + "Name[be]": "Рухавік PS", + "Name[bg]": "Бекенд на PS ", + "Name[ca@valencia]": "Dorsal PS", + "Name[ca]": "Dorsal PS", + "Name[cs]": "Podpůrná vrstva PS", + "Name[da]": "PS-backend", + "Name[de]": "PS-Anzeigemodul", + "Name[el]": "Σύστημα υποστήριξης PS", + "Name[en_GB]": "PS Backend", + "Name[eo]": "PS-Backend", + "Name[es]": "Motor para PS", + "Name[et]": "PS-i taustaprogramm", + "Name[eu]": "PS-ren bizkarraldekoa", + "Name[fi]": "PS-taustaosa", + "Name[fr]": "Moteur PS", + "Name[gl]": "Motor de PS", + "Name[he]": "מנגנון PS", + "Name[hu]": "PS modul", + "Name[ia]": "Retro-Administration de PS", + "Name[ie]": "Infrastructura PS", + "Name[is]": "PS-bakendi", + "Name[it]": "Backend PS", + "Name[ka]": "PS უკანაბოლო", + "Name[ko]": "PS 백엔드", + "Name[lt]": "PS programinė sąsaja", + "Name[lv]": "PS aizmugursistēma", + "Name[nl]": "PS-backend", + "Name[nn]": "PS-motor", + "Name[pa]": "PS ਬੈਕਐਂਡ", + "Name[pl]": "Obsługa PS", + "Name[pt]": "Infra-Estrutura de PS", + "Name[pt_BR]": "Infraestrutura PS", + "Name[ro]": "Platformă PS", + "Name[ru]": "Модуль поддержки формата PS", + "Name[sa]": "पी एस बैकएण्ड", + "Name[sk]": "PS Backend", + "Name[sl]": "Zaledje za PS", + "Name[sr@ijekavian]": "Позадина за постскрипт", + "Name[sr@ijekavianlatin]": "Pozadina za PostScript", + "Name[sr@latin]": "Pozadina za PostScript", + "Name[sr]": "Позадина за постскрипт", + "Name[sv]": "PS-gränssnitt", + "Name[ta]": "PS பின்நிலை", + "Name[tr]": "PS Arka Ucu", + "Name[uk]": "Модуль PS", + "Name[vi]": "Hậu phương PS", + "Name[zh_CN]": "PS 后端程序", + "Name[zh_TW]": "PS 後端介面", + "Version": "0.1.7" + }, + "X-KDE-Priority": 2, + "X-KDE-okularAPIVersion": 1, + "X-KDE-okularHasInternalSettings": true +} diff --git a/generators/spectre/okularApplication_ghostview.desktop b/generators/spectre/okularApplication_ghostview.desktop new file mode 100755 index 0000000..0e55116 --- /dev/null +++ b/generators/spectre/okularApplication_ghostview.desktop @@ -0,0 +1,256 @@ +[Desktop Entry] +MimeType=application/postscript;image/x-eps;application/x-gzpostscript;application/x-bzpostscript;image/x-gzeps;image/x-bzeps; +Terminal=false +Name=Okular +Name[ar]=اوكلار +Name[az]=Okular +Name[be]=Okular +Name[bg]=Okular +Name[bs]=Okular +Name[ca]=Okular +Name[ca@valencia]=Okular +Name[cs]=Okular +Name[da]=Okular +Name[de]=Okular +Name[el]=Okular +Name[en_GB]=Okular +Name[eo]=Okular +Name[es]=Okular +Name[et]=Okular +Name[eu]=Okular +Name[fi]=Okular +Name[fr]=Okular +Name[ga]=Okular +Name[gl]=Okular +Name[he]=Okular +Name[hne]=ओकुलर +Name[hr]=Okular +Name[hu]=Okular +Name[ia]=Okular +Name[ie]=Okular +Name[is]=Okular +Name[it]=Okular +Name[ja]=Okular +Name[ka]=Okular +Name[kk]=Okular +Name[km]=Okular +Name[ko]=Okular +Name[ku]=Okular +Name[lt]=Okular +Name[lv]=Okular +Name[mr]=ओक्युलर +Name[nb]=Okular +Name[nds]=Okular +Name[nl]=Okular +Name[nn]=Okular +Name[pa]=ਓਕੁਲਾਰ +Name[pl]=Okular +Name[pt]=Okular +Name[pt_BR]=Okular +Name[ro]=Okular +Name[ru]=Okular +Name[sa]=नेत्रस्य +Name[si]=Okular +Name[sk]=Okular +Name[sl]=Okular +Name[sq]=Okular +Name[sr]=Окулар +Name[sr@ijekavian]=Окулар +Name[sr@ijekavianlatin]=Okular +Name[sr@latin]=Okular +Name[sv]=Okular +Name[ta]=ஆக்குலர் +Name[th]=โอกูลาร์ +Name[tr]=Okular +Name[ug]=Okular +Name[uk]=Okular +Name[vi]=Okular +Name[zh_CN]=Okular 文档查看器 +Name[zh_TW]=Okular +GenericName=Document Viewer +GenericName[ar]=عارض المستندات +GenericName[az]=Sənədə baxış vasitısi +GenericName[be]=Сродак для прагляду дакументаў +GenericName[bg]=Преглед на документи +GenericName[bs]=Prikazivač dokumenata +GenericName[ca]=Visualitzador de documents +GenericName[ca@valencia]=Visor de documents +GenericName[cs]=Prohlížeč dokumentů +GenericName[da]=Dokumentfremviser +GenericName[de]=Dokumentenbetrachter +GenericName[el]=Προβολέας εγγράφων +GenericName[en_GB]=Document Viewer +GenericName[eo]=Dokumenta rigardilo +GenericName[es]=Visor de documentos +GenericName[et]=Dokumendinäitaja +GenericName[eu]=Dokumentu erakuslea +GenericName[fa]=مشاهده‌گر سند +GenericName[fi]=Asiakirjakatselin +GenericName[fr]=Afficheur de documents +GenericName[ga]=Amharcán Cáipéisí +GenericName[gl]=Visor de documentos +GenericName[he]=מציג מסמכים +GenericName[hi]=दस्तावेज़ प्रदर्शक +GenericName[hne]=कागद प्रदर्सक +GenericName[hr]=Preglednik dokumenata +GenericName[hu]=Dokumentummegjelenítő +GenericName[ia]=Visor de documento +GenericName[ie]=Visor de documentes +GenericName[is]=Skjalaskoðari +GenericName[it]=Visore di documenti +GenericName[ja]=文書ビューア +GenericName[ka]=დოკუმენტების მნახველი +GenericName[kk]=Құжатты қарау құралы +GenericName[km]=កម្មវិធី​មើល​ឯកសារ +GenericName[ko]=문서 뷰어 +GenericName[ku]=Nîşanderê Belgeyan +GenericName[lt]=Dokumentų žiūryklė +GenericName[lv]=Dokumentu skatītājs +GenericName[mr]=दस्तऐवज प्रदर्शक +GenericName[nb]=Dokumentviser +GenericName[nds]=Dokmentkieker +GenericName[ne]=कागजात दर्शक +GenericName[nl]=Documentenviewer +GenericName[nn]=Dokumentvisar +GenericName[oc]=Visualizaire de documents +GenericName[pa]=ਡੌਕੂਮੈਂਟ ਦਰਸ਼ਕ +GenericName[pl]=Przeglądarka dokumentów +GenericName[pt]=Visualizador de Documentos +GenericName[pt_BR]=Visualizador de documentos +GenericName[ro]=Vizualizor de documente +GenericName[ru]=Просмотр документов +GenericName[sa]=दस्तावेज दर्शक +GenericName[sk]=Prehliadač dokumentov +GenericName[sl]=Pregledovalnik dokumentov +GenericName[sq]=Shikues dokumentesh +GenericName[sr]=Приказивач докумената +GenericName[sr@ijekavian]=Приказивач докумената +GenericName[sr@ijekavianlatin]=Prikazivač dokumenata +GenericName[sr@latin]=Prikazivač dokumenata +GenericName[sv]=Dokumentvisare +GenericName[ta]=ஆவணங் காட்டி +GenericName[th]=เครื่องมือแสดงเอกสาร +GenericName[tr]=Belge Görüntüleyicisi +GenericName[ug]=پۈتۈك كۆرگۈ +GenericName[uk]=Переглядач документів +GenericName[vi]=Trình xem tài liệu +GenericName[zh_CN]=文档查看器 +GenericName[zh_TW]=文件檢視器 +Comment=Universal document viewer +Comment[ar]=عارض المستندات عالمي +Comment[az]=Sənədə universal baxış vasitəsi +Comment[be]=Універсальны сродак для прагляду дакументаў +Comment[bg]=Универсална програма за преглед на документи +Comment[ca]=Visualitzador universal de documents +Comment[ca@valencia]=Visor universal de documents +Comment[cs]=Univerzální prohlížeč dokumentů +Comment[da]=Universel dokumentfremviser +Comment[de]=Universeller Dokumentenbetrachter +Comment[el]=Καθολικός προβολέας εγγράφων +Comment[en_GB]=Universal document viewer +Comment[eo]=Universala dokumenta spektilo +Comment[es]=Visor de documentos universal +Comment[et]=Universaalne dokumendinäitaja +Comment[eu]=Dokumentu erakusle unibertsala +Comment[fi]=Yleinen asiakirjakatselin +Comment[fr]=Afficheur de document universel +Comment[gl]=Visor de documentos universal. +Comment[he]=מציג מסמכים אוניברסלי +Comment[hu]=Univerzális dokumentummegjelenítő +Comment[ia]=Visor de documento universal +Comment[ie]=Universal visor de documentes +Comment[is]=Fjölhæfur skjalaskoðari +Comment[it]=Visore di documenti universale +Comment[ja]=多用途な文書ビューア +Comment[ka]=დოკუმენტების პოპულარული ფორმატების გამხსნელი +Comment[ko]=만능 문서 뷰어 +Comment[lt]=Universali dokumentų žiūryklė +Comment[lv]=Universāls dokumentu skatītājs +Comment[nl]=Universele documentviewer +Comment[nn]=Dokumentvisar for mange format +Comment[pa]=ਯੂਨੀਵਰਸਲ ਡੌਕੂਮੈਂਟ ਦਰਸ਼ਕ +Comment[pl]=Wszechstronna przeglądarka dokumentów +Comment[pt]=Visualizador de documentos universal +Comment[pt_BR]=Visualizador de documentos universal +Comment[ro]=Vizualizor de documente universal +Comment[ru]=Универсальная программа просмотра документов +Comment[sa]=सार्वभौमिक दस्तावेज दर्शक +Comment[sk]=Univerzálny prehliadač dokumentov +Comment[sl]=Vsestranski pregledovalnik dokumentov +Comment[sq]=Shikues univerzal dokumentesh +Comment[sr]=Универзални приказивач докумената +Comment[sr@ijekavian]=Универзални приказивач докумената +Comment[sr@ijekavianlatin]=Univerzalni prikazivač dokumenata +Comment[sr@latin]=Univerzalni prikazivač dokumenata +Comment[sv]=Generell dokumentvisare +Comment[ta]=அனைத்து ஆவணங்களுக்கான காட்டி +Comment[tr]=Çok amaçlı belge görüntüleyicisi +Comment[uk]=Універсальний переглядач документів +Comment[vi]=Trình xem tài liệu vạn năng +Comment[zh_CN]=通用文档查看器 +Comment[zh_TW]=通用文件檢視器 +Exec=okular %U +Icon=okular +Type=Application +InitialPreference=7 +Categories=Qt;KDE;Graphics;Viewer; +X-KDE-Keywords=PS, PostScript +X-KDE-Keywords[ar]=PS, PostScript +X-KDE-Keywords[az]=PS, PostScript +X-KDE-Keywords[be]=PS, PostScript +X-KDE-Keywords[bg]=PS, PostScript +X-KDE-Keywords[bs]=PS, Postscript +X-KDE-Keywords[ca]=PS, PostScript +X-KDE-Keywords[ca@valencia]=PS, PostScript +X-KDE-Keywords[cs]=PS, PostScript +X-KDE-Keywords[da]=PS, Postscript +X-KDE-Keywords[de]=PS, PostScript +X-KDE-Keywords[el]=PS, PostScript +X-KDE-Keywords[en_GB]=PS, PostScript +X-KDE-Keywords[eo]=PS, PostScript +X-KDE-Keywords[es]=PS, PostScript +X-KDE-Keywords[et]=PS, PostScript +X-KDE-Keywords[eu]=PS, PostScript +X-KDE-Keywords[fi]=PS, PostScript +X-KDE-Keywords[fr]=PS, PostScript +X-KDE-Keywords[gl]=PS, PostScript +X-KDE-Keywords[he]=PS, PostScript +X-KDE-Keywords[hu]=PS, PostScript +X-KDE-Keywords[ia]=PS, PostScript +X-KDE-Keywords[ie]=PS, PostScript +X-KDE-Keywords[is]=PS, PostScript +X-KDE-Keywords[it]=PS, PostScript +X-KDE-Keywords[ja]=PS, PostScript, ポストスクリプト +X-KDE-Keywords[ka]=PS, PostScript +X-KDE-Keywords[kk]=PS, PostScript +X-KDE-Keywords[ko]=PS, PostScript +X-KDE-Keywords[lt]=PS, PostScript +X-KDE-Keywords[lv]=PS, PostScript +X-KDE-Keywords[mr]=PS, पोस्ट स्क्रिप्ट +X-KDE-Keywords[nb]=PS, PostScript +X-KDE-Keywords[nds]=PS, PostScript +X-KDE-Keywords[nl]=PS, PostScript +X-KDE-Keywords[nn]=PS, PostScript +X-KDE-Keywords[pa]=PS, ਪੋਸਟਸਕ੍ਰਿਪਟ +X-KDE-Keywords[pl]=PS, PostScript +X-KDE-Keywords[pt]=PS, PostScript +X-KDE-Keywords[pt_BR]=PS, PostScript +X-KDE-Keywords[ro]=PS, PostScript +X-KDE-Keywords[ru]=PS, PostScript +X-KDE-Keywords[sa]=PS, पोस्टस्क्रिप्ट् +X-KDE-Keywords[sk]=PS, PostScript +X-KDE-Keywords[sl]=PS, PostScript +X-KDE-Keywords[sq]=PS, PostScript +X-KDE-Keywords[sr]=PS,PostScript,постскрипт,ПС +X-KDE-Keywords[sr@ijekavian]=PS,PostScript,постскрипт,ПС +X-KDE-Keywords[sr@ijekavianlatin]=PS,PostScript,PostScript,PS +X-KDE-Keywords[sr@latin]=PS,PostScript,PostScript,PS +X-KDE-Keywords[sv]=PS, Postscript +X-KDE-Keywords[ta]=PS, PostScript +X-KDE-Keywords[tr]=PS, PostScript +X-KDE-Keywords[uk]=PS, PostScript +X-KDE-Keywords[vi]=PS, PostScript +X-KDE-Keywords[zh_CN]=PS, PostScript +X-KDE-Keywords[zh_TW]=PS, PostScript +X-KDE-AliasFor=org.kde.okular.desktop +NoDisplay=true diff --git a/generators/spectre/org.kde.mobile.okular_ghostview.desktop b/generators/spectre/org.kde.mobile.okular_ghostview.desktop new file mode 100644 index 0000000..cb91933 --- /dev/null +++ b/generators/spectre/org.kde.mobile.okular_ghostview.desktop @@ -0,0 +1,250 @@ +[Desktop Entry] +MimeType=application/postscript;image/x-eps;application/x-gzpostscript;application/x-bzpostscript;image/x-gzeps;image/x-bzeps; +Name=Reader +Name[ar]=التصيير +Name[az]=Oxuyucu +Name[be]=Сродак чытання +Name[bg]=Четец +Name[bs]=Čitač +Name[ca]=Lector +Name[ca@valencia]=Lector +Name[cs]=Čtečka +Name[da]=Læser +Name[de]=Lesegerät +Name[el]=Πρόγραμμα ανάγνωσης +Name[en_GB]=Reader +Name[eo]=Legilo +Name[es]=Lector +Name[et]=Lugeja +Name[eu]=Irakurlea +Name[fi]=Lukija +Name[fr]=Lecteur +Name[ga]=Léitheoir +Name[gl]=Lector +Name[he]=קורא +Name[hu]=Olvasó +Name[ia]=Lector +Name[ie]=Letor +Name[is]=Lesari +Name[it]=Lettore +Name[ja]=リーダ +Name[ka]=მკითხველი +Name[kk]=Оқу құралы +Name[ko]=리더 +Name[lt]=Skaitytuvas +Name[lv]=Lasītājs +Name[mr]=वाचक +Name[nb]=Leser +Name[nds]=Leser +Name[nl]=Lezer +Name[nn]=Lesar +Name[pa]=ਰੀਡਰ +Name[pl]=Czytnik +Name[pt]=Leitor +Name[pt_BR]=Leitor +Name[ro]=Cititor +Name[ru]=Просмотрщик +Name[sa]=पाठकः +Name[sk]=Čítačka +Name[sl]=Bralnik +Name[sq]=Reader +Name[sr]=Читач +Name[sr@ijekavian]=Читач +Name[sr@ijekavianlatin]=Čitač +Name[sr@latin]=Čitač +Name[sv]=Läsprogram +Name[ta]=காட்டி +Name[tr]=Okuyucu +Name[ug]=ئوقۇغۇ +Name[uk]=Переглядач +Name[vi]=Trình đọc +Name[zh_CN]=阅读器 +Name[zh_TW]=閱讀器 +GenericName=Document viewer +GenericName[ar]=عارض المستندات +GenericName[az]=Sənədə baxış vasitısi +GenericName[be]=Сродак для прагляду дакументаў +GenericName[bg]=Преглед на документи +GenericName[bs]=Prikazivač dokumenata +GenericName[ca]=Visualitzador de documents +GenericName[ca@valencia]=Visor de documents +GenericName[cs]=Prohlížeč dokumentů +GenericName[da]=Dokumentfremviser +GenericName[de]=Dokumentenbetrachter +GenericName[el]=Προβολέας εγγράφων +GenericName[en_GB]=Document Viewer +GenericName[eo]=Dokumentrigardilo +GenericName[es]=Visor de documentos +GenericName[et]=Dokumendinäitaja +GenericName[eu]=Dokumentu erakuslea +GenericName[fi]=Asiakirjakatselin +GenericName[fr]=Afficheur de document +GenericName[ga]=Amharcán cáipéisí +GenericName[gl]=Visor de documentos +GenericName[he]=מציג מסמכים +GenericName[hi]=दस्तावेज़ प्रदर्शक +GenericName[hu]=Dokumentummegjelenítő +GenericName[ia]=Visor de documento +GenericName[ie]=Visor de documentes +GenericName[is]=Skjalaskoðari +GenericName[it]=Visore di documenti +GenericName[ja]=文書ビューア +GenericName[ka]=დოკუმენტების მნახველი +GenericName[kk]=Құжатты қарау құралы +GenericName[ko]=문서 뷰어 +GenericName[lt]=Dokumentų žiūryklė +GenericName[lv]=Dokumentu skatītājs +GenericName[mr]=दस्तऐवज प्रदर्शक +GenericName[nb]=Dokumentviser +GenericName[nds]=Dokmentkieker +GenericName[nl]=Documentenviewer +GenericName[nn]=Dokumentvisar +GenericName[pa]=ਡੌਕੂਮੈਂਟ ਦਰਸ਼ਕ +GenericName[pl]=Przeglądarka dokumentów +GenericName[pt]=Visualizador de documentos +GenericName[pt_BR]=Visualizador de documentos +GenericName[ro]=Vizualizor de documente +GenericName[ru]=Просмотр документов +GenericName[sa]=दस्तावेजदर्शकः +GenericName[sk]=Prehliadač dokumentov +GenericName[sl]=Pregledovalnik dokumentov +GenericName[sq]=Shikues dokumentesh +GenericName[sr]=Приказивач докумената +GenericName[sr@ijekavian]=Приказивач докумената +GenericName[sr@ijekavianlatin]=Prikazivač dokumenata +GenericName[sr@latin]=Prikazivač dokumenata +GenericName[sv]=Dokumentvisare +GenericName[ta]=ஆவணங் காட்டி +GenericName[tr]=Belge Görüntüleyicisi +GenericName[uk]=Переглядач документів +GenericName[vi]=Trình xem tài liệu +GenericName[zh_CN]=文档查看器 +GenericName[zh_TW]=文件檢視器 +Comment=Viewer for various types of documents +Comment[ar]=عارض للعديد من أنواع المستندات +Comment[az]=Müxtəlif növlü sənədlər üçün görüntüləyici +Comment[be]=Сродак для прагляду разнастайных тыпаў дакументаў +Comment[bg]=Преглед на различни видове документи +Comment[bs]=Pregledač raznih vrsta dokumenata +Comment[ca]=Visualitzador de diversos tipus de documents +Comment[ca@valencia]=Visor de diversos tipus de documents +Comment[cs]=Prohlížeč různých typů dokumentů +Comment[da]=Fremviser af diverse dokumenttyper +Comment[de]=Betrachter für verschiedene Arten von Dokumenten +Comment[el]=Πρόγραμμα προβολής για διάφορους τύπους εγγράφων +Comment[en_GB]=Viewer for various types of documents +Comment[eo]=Vidilo por diversaj specoj de dokumentoj +Comment[es]=Visor de diversos tipos de documentos +Comment[et]=Eri tüüpi dokumentide näitaja +Comment[eu]=Hainbat dokumentu moten erakuslea +Comment[fi]=Monenlaisten asiakirjojen katseluohjelma +Comment[fr]=Afficheur pour différents types de documents +Comment[ga]=Amharcán le haghaidh cáipéisí éagsúla +Comment[gl]=Visor de varios tipos de documentos. +Comment[he]=מציג למגוון סוגי מסמכים +Comment[hu]=Megjelenítő különféle típusú dokumentumokhoz +Comment[ia]=Visor pro varie typos de documento +Comment[ie]=Visor por varie tipes de documentes +Comment[is]=Skoðari fyrir ýmsar gerðir skjala +Comment[it]=Visore per vari tipi di documenti +Comment[ja]=様々なタイプの文書のためのビューア +Comment[ka]=სხვადასხვა ტიპების დოკუმენტების დათვალიერება +Comment[kk]=Түрлі құжаттар қарау құралы +Comment[ko]=여러 형식의 문서 뷰어 +Comment[lt]=Žiūryklė įvairiems dokumentų tipams +Comment[lv]=Dažādu dokumentu tipu skatītājs +Comment[mr]=विविध प्रकारच्या दस्तऐवजांचा प्रदर्शक +Comment[nb]=Framviser for forskjellige dokumenttyper +Comment[nds]=Kieker för en Reeg Dokmenttypen +Comment[nl]=Viewer voor verschillende typen documenten +Comment[nn]=Framvisar for forskjellige dokumenttypar +Comment[pa]=ਕਈ ਕਿਸਮ ਦੇ ਡੌਕੂਮੈਂਟ ਵੇਖਾਉਣ ਲਈ ਦਰਸ਼ਕ +Comment[pl]=Przeglądarka dla różnych typów dokumentów +Comment[pt]=Visualizador de vários tipos de documentos +Comment[pt_BR]=Visualizador para vários tipos de documentos +Comment[ro]=Vizualizor pentru diferite tipuri de documente +Comment[ru]=Программа для просмотра различных типов документов +Comment[sa]=विभिन्नप्रकारस्य दस्तावेजानां कृते दर्शकः +Comment[sk]=Prehliadač pre rôzne typy dokumentov +Comment[sl]=Pregledovalnik raznih vrst dokumentov +Comment[sq]=Shikues për lloje të ndryshme të dokumentave +Comment[sr]=Приказивач различитих врста докумената +Comment[sr@ijekavian]=Приказивач различитих врста докумената +Comment[sr@ijekavianlatin]=Prikazivač različitih vrsta dokumenata +Comment[sr@latin]=Prikazivač različitih vrsta dokumenata +Comment[sv]=Visningsprogram för diverse typer av dokument +Comment[ta]=பலவகையான ஆவணங்களுக்கான காட்டி +Comment[tr]=Çeşitli belge türleri için görüntüleyici +Comment[ug]=ھەر خىل تىپتىكى پۈتۈكلەرنى كۆرىدىغان پروگرامما +Comment[uk]=Програма для перегляду документів різних типів +Comment[vi]=Trình xem các kiểu tài liệu khác nhau +Comment[zh_CN]=支持查看多种文档类型 +Comment[zh_TW]=多種型態文件的檢視器 + +TryExec=okularkirigami +Exec=okularkirigami %u +Terminal=false +Icon=okular +Type=Application +Categories=Qt;KDE;Graphics;Office;Viewer; +InitialPreference=2 +NoDisplay=true +X-KDE-Keywords=PS, PostScript +X-KDE-Keywords[ar]=PS, PostScript +X-KDE-Keywords[az]=PS, PostScript +X-KDE-Keywords[be]=PS, PostScript +X-KDE-Keywords[bg]=PS, PostScript +X-KDE-Keywords[bs]=PS, Postscript +X-KDE-Keywords[ca]=PS, PostScript +X-KDE-Keywords[ca@valencia]=PS, PostScript +X-KDE-Keywords[cs]=PS, PostScript +X-KDE-Keywords[da]=PS, Postscript +X-KDE-Keywords[de]=PS, PostScript +X-KDE-Keywords[el]=PS, PostScript +X-KDE-Keywords[en_GB]=PS, PostScript +X-KDE-Keywords[eo]=PS, PostScript +X-KDE-Keywords[es]=PS, PostScript +X-KDE-Keywords[et]=PS, PostScript +X-KDE-Keywords[eu]=PS, PostScript +X-KDE-Keywords[fi]=PS, PostScript +X-KDE-Keywords[fr]=PS, PostScript +X-KDE-Keywords[gl]=PS, PostScript +X-KDE-Keywords[he]=PS, PostScript +X-KDE-Keywords[hu]=PS, PostScript +X-KDE-Keywords[ia]=PS, PostScript +X-KDE-Keywords[ie]=PS, PostScript +X-KDE-Keywords[is]=PS, PostScript +X-KDE-Keywords[it]=PS, PostScript +X-KDE-Keywords[ja]=PS, PostScript, ポストスクリプト +X-KDE-Keywords[ka]=PS, PostScript +X-KDE-Keywords[kk]=PS, PostScript +X-KDE-Keywords[ko]=PS, PostScript +X-KDE-Keywords[lt]=PS, PostScript +X-KDE-Keywords[lv]=PS, PostScript +X-KDE-Keywords[mr]=PS, पोस्ट स्क्रिप्ट +X-KDE-Keywords[nb]=PS, PostScript +X-KDE-Keywords[nds]=PS, PostScript +X-KDE-Keywords[nl]=PS, PostScript +X-KDE-Keywords[nn]=PS, PostScript +X-KDE-Keywords[pa]=PS, ਪੋਸਟਸਕ੍ਰਿਪਟ +X-KDE-Keywords[pl]=PS, PostScript +X-KDE-Keywords[pt]=PS, PostScript +X-KDE-Keywords[pt_BR]=PS, PostScript +X-KDE-Keywords[ro]=PS, PostScript +X-KDE-Keywords[ru]=PS, PostScript +X-KDE-Keywords[sa]=PS, पोस्टस्क्रिप्ट् +X-KDE-Keywords[sk]=PS, PostScript +X-KDE-Keywords[sl]=PS, PostScript +X-KDE-Keywords[sq]=PS, PostScript +X-KDE-Keywords[sr]=PS,PostScript,постскрипт,ПС +X-KDE-Keywords[sr@ijekavian]=PS,PostScript,постскрипт,ПС +X-KDE-Keywords[sr@ijekavianlatin]=PS,PostScript,PostScript,PS +X-KDE-Keywords[sr@latin]=PS,PostScript,PostScript,PS +X-KDE-Keywords[sv]=PS, Postscript +X-KDE-Keywords[ta]=PS, PostScript +X-KDE-Keywords[tr]=PS, PostScript +X-KDE-Keywords[uk]=PS, PostScript +X-KDE-Keywords[vi]=PS, PostScript +X-KDE-Keywords[zh_CN]=PS, PostScript +X-KDE-Keywords[zh_TW]=PS, PostScript +X-KDE-AliasFor=org.kde.okular.kirigami.desktop diff --git a/generators/spectre/org.kde.okular-spectre.metainfo.xml b/generators/spectre/org.kde.okular-spectre.metainfo.xml new file mode 100644 index 0000000..b8ff8c0 --- /dev/null +++ b/generators/spectre/org.kde.okular-spectre.metainfo.xml @@ -0,0 +1,144 @@ + + + org.kde.okular-spectre + org.kde.okular.desktop + CC0-1.0 + GPL-2.0+ and GFDL-1.3 + PostScript + PostScript + PostScript + PostScript + PostScript + PostScript + PostScript + PostScript + PostScript + PostScript + PostScript + PostScript + PostScript + PostScript + PostScript + PostScript + PostScript + PostScript + PostScript + PostScript + पोस्टस्क्रिप्ट + PostScript + PostScript + PostScript + PostScript + PostScript + PostScript + 포스트스크립트 + PostScript + PostScript + പോസ്റ്റ്സ്ക്രിപ്റ്റ് + PostScript + PostScript + PostScript + PostScript + PostScript + PostScript + PostScript + पोस्टस्क्रिप्ट् + PostScript + PostScript + Постскрипт + PostScript + Постскрипт + PostScript + Postscript + PostScript + PostScript + PostScript + PostScript + PostScript + PostScript + Adds support for reading PostScript documents + يضيف دعم لقراءة مستندات PostScript + PostScript sənədlərini oxumaq üçün dəstək əlavə edir + Падтрымка чытання дакументаў PostScript + Добавя поддръжка за четене на PostScript документи + Afegeix la implementació per a llegir documents PostScript + Afig la implementació per a llegir documents PostScript + Přidává podporu pro čtení dokumentů PostScript + Bietet Unterstützung zum Lesen von PostScript-Dokumenten + Προσθέτει υποστήριξη για την ανάγνωση εγγράφων PostScript + Adds support for reading PostScript documents + Aldonas subtenon por legi PostScript-dokumentojn + Permite la lectura de documentos PostScript + PostScript-dokumentide lugemise toetus + PostScript dokumentuak irakurtzeko euskarria gehitzen du + Lisää PostScript-tiedostojen lukutuen + Permet la lecture des documents PostScript + Engade a posibilidade de ler documentos PostScript + מוסיף תמיכה בקריאת מסמכי PostScript + पोस्टस्क्रिप्ट दस्तावेज़ पढ़ने के लिए समर्थन जोड़ता है + Támogatás PostScript-dokumentumok olvasásához + Adde supporto per leger documentos PostScript + Dukungan tambahan untuk pembacaan dokumen PostScript + Bætir við stuðningi til að lesa PostScript-skjöl + Aggiunge il supporto per la lettura di documenti PostScript + PostScript დოკუმენტების კითხვის მხარდაჭერის დამატება + 포스트스크립트 문서 읽기 지원 추가 + Prideda palaikymą PostScript dokumentų skaitymui + Pievieno atbalstu PostScript dokumentu lasīšanai + പോസ്റ്റ്സ്ക്രിപ്റ്റ് പ്രമാണങ്ങൾ വായിക്കാൻ പിന്തുണ ചേർക്കുന്നു + Voegt ondersteuning voor lezen van PostScript-documenten toe + Legg til støtte for å lesa PostScript-dokument + Dodaje obsługę dokumentów PostScript + Adiciona o suporte para ler documentos em PostScript + Adiciona o suporte para leitura de documentos em PostScript + Adaugă suport pentru citirea documentelor PostScript + Поддержка чтения документов PostScript + PostScript दस्तावेजान् पठितुं समर्थनं योजयति + Pridá podporu pre čítanie dokumentov PostScript + Doda podporo za branje dokumentov PostScript + Подршка за читање постскрипт докумената + Podrška za čitanje PostScript dokumenata + Подршка за читање постскрипт докумената + Podrška za čitanje PostScript dokumenata + Lägger till stöd för att läsa Postscript-dokument + PostScript ஆவணங்களைப் படிப்பதற்கான ஆதரவை சேர்க்கும் + PostScript belgelerini okuma desteği ekler + Додає підтримку читання документів PostScript + Thêm hỗ trợ đọc tài liệu PostScript + 增加对 PostScript 文档的阅读支持 + 加入讀取 PostScript 文件的支援 + + application/postscript + image/x-eps + application/x-gzpostscript + application/x-bzpostscript + image/x-gzeps + image/x-bzepsapplication/pdf + + https://okular.kde.org + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/generators/spectre/rendererthread.cpp b/generators/spectre/rendererthread.cpp new file mode 100644 index 0000000..0480892 --- /dev/null +++ b/generators/spectre/rendererthread.cpp @@ -0,0 +1,127 @@ +/* + SPDX-FileCopyrightText: 2007 Albert Astals Cid + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "rendererthread.h" + +#include + +#include "spectre_debug.h" + +#include "core/generator.h" +#include "core/page.h" +#include "core/utils.h" + +GSRendererThread *GSRendererThread::theRenderer = nullptr; + +GSRendererThread *GSRendererThread::getCreateRenderer() +{ + if (!theRenderer) { + theRenderer = new GSRendererThread(); + } + return theRenderer; +} + +GSRendererThread::GSRendererThread() +{ + m_renderContext = spectre_render_context_new(); +} + +GSRendererThread::~GSRendererThread() +{ + spectre_render_context_free(m_renderContext); +} + +void GSRendererThread::addRequest(const GSRendererThreadRequest &req) +{ + m_queueMutex.lock(); + m_queue.enqueue(req); + m_queueMutex.unlock(); + m_semaphore.release(); +} + +void GSRendererThread::run() +{ + while (true) { + m_semaphore.acquire(); + { + m_queueMutex.lock(); + GSRendererThreadRequest req = m_queue.dequeue(); + m_queueMutex.unlock(); + + spectre_render_context_set_scale(m_renderContext, req.magnify, req.magnify); + spectre_render_context_set_use_platform_fonts(m_renderContext, req.platformFonts); + spectre_render_context_set_antialias_bits(m_renderContext, req.graphicsAAbits, req.textAAbits); + // Do not use spectre_render_context_set_rotation makes some files not render correctly, e.g. bug210499.ps + // so we basically do the rendering without any rotation and then rotate to the orientation as needed + // spectre_render_context_set_rotation(m_renderContext, req.orientation); + + unsigned char *data = nullptr; + int row_length = 0; + int wantedWidth = req.request->width(); + int wantedHeight = req.request->height(); + + if (req.orientation % 2) { + std::swap(wantedWidth, wantedHeight); + } + + spectre_page_render(req.spectrePage, m_renderContext, &data, &row_length); + + // Qt needs the missing alpha of QImage::Format_RGB32 to be 0xff + if (data && data[3] != 0xff) { + for (int i = 3; i < row_length * wantedHeight; i += 4) { + data[i] = 0xff; + } + } + + QImage img; + if (row_length == wantedWidth * 4) { + img = QImage(data, wantedWidth, wantedHeight, QImage::Format_RGB32); + } else { + // In case this ends up beign very slow we can try with some memmove + QImage aux(data, row_length / 4, wantedHeight, QImage::Format_RGB32); + img = QImage(aux.copy(0, 0, wantedWidth, wantedHeight)); + } + + switch (req.orientation) { + case Okular::Rotation90: { + QTransform m; + m.rotate(90); + img = img.transformed(m); + break; + } + + case Okular::Rotation180: { + QTransform m; + m.rotate(180); + img = img.transformed(m); + break; + } + case Okular::Rotation270: { + QTransform m; + m.rotate(270); + img = img.transformed(m); + } + } + + QImage *image = new QImage(img.copy()); + free(data); + + if (image->width() != req.request->width() || image->height() != req.request->height()) { + qCWarning(OkularSpectreDebug).nospace() << "Generated image does not match wanted size: " + << "[" << image->width() << "x" << image->height() << "] vs requested " + << "[" << req.request->width() << "x" << req.request->height() << "]"; + QImage aux = image->scaled(wantedWidth, wantedHeight); + delete image; + image = new QImage(aux); + } + Q_EMIT imageDone(image, req.request); + + spectre_page_free(req.spectrePage); + } + } +} + +/* kate: replace-tabs on; indent-width 4; */ diff --git a/generators/spectre/rendererthread.h b/generators/spectre/rendererthread.h new file mode 100644 index 0000000..73fbb15 --- /dev/null +++ b/generators/spectre/rendererthread.h @@ -0,0 +1,77 @@ +/* + SPDX-FileCopyrightText: 2007 Albert Astals Cid + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_GSRENDERERTHREAD_H_ +#define _OKULAR_GSRENDERERTHREAD_H_ + +#include +#include +#include +#include +#include + +#include + +class QImage; +class GSGenerator; + +namespace Okular +{ +class PixmapRequest; +} + +struct GSRendererThreadRequest { + explicit GSRendererThreadRequest(GSGenerator *_owner) + : owner(_owner) + , request(nullptr) + , spectrePage(nullptr) + , textAAbits(1) + , graphicsAAbits(1) + , magnify(1.0) + , orientation(0) + , platformFonts(true) + { + } + + GSGenerator *owner; + Okular::PixmapRequest *request; + SpectrePage *spectrePage; + int textAAbits; + int graphicsAAbits; + double magnify; + int orientation; + bool platformFonts; +}; +Q_DECLARE_TYPEINFO(GSRendererThreadRequest, Q_MOVABLE_TYPE); + +class GSRendererThread : public QThread +{ + Q_OBJECT +public: + static GSRendererThread *getCreateRenderer(); + + ~GSRendererThread() override; + + void addRequest(const GSRendererThreadRequest &req); + +Q_SIGNALS: + void imageDone(QImage *image, Okular::PixmapRequest *request); + +private: + GSRendererThread(); + + QSemaphore m_semaphore; + + static GSRendererThread *theRenderer; + + void run() override; + + SpectreRenderContext *m_renderContext; + QQueue m_queue; + QMutex m_queueMutex; +}; + +#endif diff --git a/generators/spectre/spectre_debug.cpp b/generators/spectre/spectre_debug.cpp new file mode 100644 index 0000000..7e19864 --- /dev/null +++ b/generators/spectre/spectre_debug.cpp @@ -0,0 +1,8 @@ +/* This file is part of the KDE project + SPDX-FileCopyrightText: 2014 Laurent Montel + + SPDX-License-Identifier: LGPL-2.0-or-later +*/ + +#include "spectre_debug.h" +Q_LOGGING_CATEGORY(OkularSpectreDebug, "org.kde.okular.generators.spectre", QtWarningMsg) diff --git a/generators/spectre/spectre_debug.h b/generators/spectre/spectre_debug.h new file mode 100644 index 0000000..7e82477 --- /dev/null +++ b/generators/spectre/spectre_debug.h @@ -0,0 +1,13 @@ +/* This file is part of the KDE project + SPDX-FileCopyrightText: 2014 Laurent Montel + + SPDX-License-Identifier: LGPL-2.0-or-later +*/ + +#ifndef SPECTRE_DEBUG_H +#define SPECTRE_DEBUG_H + +#include +Q_DECLARE_LOGGING_CATEGORY(OkularSpectreDebug) + +#endif diff --git a/generators/tiff/CMakeLists.txt b/generators/tiff/CMakeLists.txt new file mode 100644 index 0000000..a22b17a --- /dev/null +++ b/generators/tiff/CMakeLists.txt @@ -0,0 +1,20 @@ +remove_definitions(-DTRANSLATION_DOMAIN="okular") +add_definitions(-DTRANSLATION_DOMAIN="okular_tiff") + +########### next target ############### + +set(okularGenerator_tiff_SRCS + generator_tiff.cpp +) + +okular_add_generator(okularGenerator_tiff ${okularGenerator_tiff_SRCS}) +target_link_libraries(okularGenerator_tiff okularcore TIFF::TIFF KF6::I18n) + +########### install files ############### +if (BUILD_DESKTOP) + install( PROGRAMS okularApplication_tiff.desktop DESTINATION ${KDE_INSTALL_APPDIR} ) +endif() +if (BUILD_MOBILE) + install( PROGRAMS org.kde.mobile.okular_tiff.desktop DESTINATION ${KDE_INSTALL_APPDIR} ) +endif() +install( FILES org.kde.okular-tiff.metainfo.xml DESTINATION ${KDE_INSTALL_METAINFODIR} ) diff --git a/generators/tiff/Messages.sh b/generators/tiff/Messages.sh new file mode 100644 index 0000000..b20a143 --- /dev/null +++ b/generators/tiff/Messages.sh @@ -0,0 +1,2 @@ +#!/bin/sh +$XGETTEXT $(find . -name "*.cpp" -o -name "*.h") -o $podir/okular_tiff.pot diff --git a/generators/tiff/generator_tiff.cpp b/generators/tiff/generator_tiff.cpp new file mode 100644 index 0000000..310ae3e --- /dev/null +++ b/generators/tiff/generator_tiff.cpp @@ -0,0 +1,410 @@ +/* + SPDX-FileCopyrightText: 2006 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "generator_tiff.h" + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include +#include +#include +#include + +#include +#include + +#define TiffDebug 4714 + +tsize_t okular_tiffReadProc(thandle_t handle, tdata_t buf, tsize_t size) +{ + QIODevice *device = static_cast(handle); + return device->isReadable() ? device->read(static_cast(buf), size) : -1; +} + +tsize_t okular_tiffWriteProc(thandle_t handle, tdata_t buf, tsize_t size) +{ + QIODevice *device = static_cast(handle); + return device->write(static_cast(buf), size); +} + +toff_t okular_tiffSeekProc(thandle_t handle, toff_t offset, int whence) +{ + QIODevice *device = static_cast(handle); + switch (whence) { + case SEEK_SET: + device->seek(offset); + break; + case SEEK_CUR: + device->seek(device->pos() + offset); + break; + case SEEK_END: + device->seek(device->size() + offset); + break; + } + + return device->pos(); +} + +int okular_tiffCloseProc(thandle_t handle) +{ + Q_UNUSED(handle) + return 0; +} + +toff_t okular_tiffSizeProc(thandle_t handle) +{ + const QIODevice *device = static_cast(handle); + return device->size(); +} + +int okular_tiffMapProc(thandle_t, tdata_t *, toff_t *) +{ + return 0; +} + +void okular_tiffUnmapProc(thandle_t, tdata_t, toff_t) +{ +} + +class TIFFGenerator::Private +{ +public: + Private() + : tiff(nullptr) + { + } + + TIFF *tiff; + QByteArray data; + std::unique_ptr dev; +}; + +static QDateTime convertTIFFDateTime(const char *tiffdate) +{ + if (!tiffdate) { + return QDateTime(); + } + + return QDateTime::fromString(QString::fromLatin1(tiffdate), QStringLiteral("yyyy:MM:dd HH:mm:ss")); +} + +static void adaptSizeToResolution(TIFF *tiff, ttag_t whichres, double dpi, uint32_t *size) +{ + float resvalue = 1.0; + uint16_t resunit = 0; + if (!TIFFGetField(tiff, whichres, &resvalue) || !TIFFGetFieldDefaulted(tiff, TIFFTAG_RESOLUTIONUNIT, &resunit)) { + return; + } + + float newsize = *size / resvalue; + switch (resunit) { + case RESUNIT_INCH: + *size = (uint32_t)(newsize * dpi); + break; + case RESUNIT_CENTIMETER: + *size = (uint32_t)(newsize * 10.0 / 25.4 * dpi); + break; + case RESUNIT_NONE: + break; + } +} + +static Okular::Rotation readTiffRotation(TIFF *tiff) +{ + uint32_t tiffOrientation = 0; + + if (!TIFFGetField(tiff, TIFFTAG_ORIENTATION, &tiffOrientation)) { + return Okular::Rotation0; + } + + Okular::Rotation ret = Okular::Rotation0; + switch (tiffOrientation) { + case ORIENTATION_TOPLEFT: + case ORIENTATION_TOPRIGHT: + ret = Okular::Rotation0; + break; + case ORIENTATION_BOTRIGHT: + case ORIENTATION_BOTLEFT: + ret = Okular::Rotation180; + break; + case ORIENTATION_LEFTTOP: + case ORIENTATION_LEFTBOT: + ret = Okular::Rotation270; + break; + case ORIENTATION_RIGHTTOP: + case ORIENTATION_RIGHTBOT: + ret = Okular::Rotation90; + break; + } + + return ret; +} + +OKULAR_EXPORT_PLUGIN(TIFFGenerator, "libokularGenerator_tiff.json") + +TIFFGenerator::TIFFGenerator(QObject *parent, const QVariantList &args) + : Okular::Generator(parent, args) + , d(new Private) +{ + setFeature(Threaded); + setFeature(PrintNative); + setFeature(PrintToFile); + setFeature(ReadRawData); +} + +TIFFGenerator::~TIFFGenerator() +{ + if (d->tiff) { + TIFFClose(d->tiff); + d->tiff = nullptr; + } + + delete d; +} + +bool TIFFGenerator::loadDocument(const QString &fileName, QList &pagesVector) +{ + auto qfile = std::make_unique(fileName); + if (!qfile->open(QIODevice::ReadOnly)) { + return false; + } + d->data = QFile::encodeName(QFileInfo(*qfile).fileName()); + d->dev = std::move(qfile); + return loadTiff(pagesVector, d->data.constData()); +} + +bool TIFFGenerator::loadDocumentFromData(const QByteArray &fileData, QList &pagesVector) +{ + d->data = fileData; + auto qbuffer = std::make_unique(&d->data); + qbuffer->open(QIODevice::ReadOnly); + d->dev = std::move(qbuffer); + return loadTiff(pagesVector, ""); +} + +bool TIFFGenerator::loadTiff(QList &pagesVector, const char *name) +{ + d->tiff = TIFFClientOpen(name, "r", d->dev.get(), okular_tiffReadProc, okular_tiffWriteProc, okular_tiffSeekProc, okular_tiffCloseProc, okular_tiffSizeProc, okular_tiffMapProc, okular_tiffUnmapProc); + if (!d->tiff) { + d->dev.reset(); + d->data.clear(); + return false; + } + + loadPages(pagesVector); + + return true; +} + +bool TIFFGenerator::doCloseDocument() +{ + // closing the old document + if (d->tiff) { + TIFFClose(d->tiff); + d->tiff = nullptr; + d->dev.reset(); + d->data.clear(); + m_pageMapping.clear(); + } + + return true; +} + +QImage TIFFGenerator::image(Okular::PixmapRequest *request) +{ + if (TIFFSetDirectory(d->tiff, mapPage(request->page()->number()))) { + int rotation = request->page()->rotation(); + uint32_t width = 1; + uint32_t height = 1; + uint32_t orientation = 0; + TIFFGetField(d->tiff, TIFFTAG_IMAGEWIDTH, &width); + TIFFGetField(d->tiff, TIFFTAG_IMAGELENGTH, &height); + + if (!TIFFGetField(d->tiff, TIFFTAG_ORIENTATION, &orientation)) { + orientation = ORIENTATION_TOPLEFT; + } + + QImage img(width, height, QImage::Format_RGB32); + uint32_t *data = reinterpret_cast(img.bits()); + + // read data + if (TIFFReadRGBAImageOriented(d->tiff, width, height, data, orientation) != 0) { + // an image read by ReadRGBAImage is ABGR, we need ARGB, so swap red and blue + uint32_t size = width * height; + for (uint32_t i = 0; i < size; ++i) { + uint32_t red = (data[i] & 0x00FF0000) >> 16; + uint32_t blue = (data[i] & 0x000000FF) << 16; + data[i] = (data[i] & 0xFF00FF00) + red + blue; + } + + int reqwidth = request->width(); + int reqheight = request->height(); + if (rotation % 2 == 1) { + std::swap(reqwidth, reqheight); + } + return img.scaled(reqwidth, reqheight, Qt::IgnoreAspectRatio, Qt::SmoothTransformation); + } + } + + QImage img(request->width(), request->height(), QImage::Format_RGB32); + img.fill(qRgb(255, 255, 255)); + return img; +} + +Okular::DocumentInfo TIFFGenerator::generateDocumentInfo(const QSet &keys) const +{ + Okular::DocumentInfo docInfo; + if (d->tiff) { + if (keys.contains(Okular::DocumentInfo::MimeType)) { + docInfo.set(Okular::DocumentInfo::MimeType, QStringLiteral("image/tiff")); + } + + if (keys.contains(Okular::DocumentInfo::Description)) { + char *buffer = nullptr; + TIFFGetField(d->tiff, TIFFTAG_IMAGEDESCRIPTION, &buffer); + docInfo.set(Okular::DocumentInfo::Description, buffer ? QString::fromLatin1(buffer) : QString()); + } + + if (keys.contains(Okular::DocumentInfo::Producer)) { + char *buffer = nullptr; + TIFFGetField(d->tiff, TIFFTAG_SOFTWARE, &buffer); + docInfo.set(Okular::DocumentInfo::Producer, buffer ? QString::fromLatin1(buffer) : QString()); + } + + if (keys.contains(Okular::DocumentInfo::Copyright)) { + char *buffer = nullptr; + TIFFGetField(d->tiff, TIFFTAG_COPYRIGHT, &buffer); + docInfo.set(Okular::DocumentInfo::Copyright, buffer ? QString::fromLatin1(buffer) : QString()); + } + + if (keys.contains(Okular::DocumentInfo::Author)) { + char *buffer = nullptr; + TIFFGetField(d->tiff, TIFFTAG_ARTIST, &buffer); + docInfo.set(Okular::DocumentInfo::Author, buffer ? QString::fromLatin1(buffer) : QString()); + } + + if (keys.contains(Okular::DocumentInfo::CreationDate)) { + char *buffer = nullptr; + TIFFGetField(d->tiff, TIFFTAG_DATETIME, &buffer); + QDateTime date = convertTIFFDateTime(buffer); + docInfo.set(Okular::DocumentInfo::CreationDate, date.isValid() ? QLocale().toString(date, QLocale::LongFormat) : QString()); + } + } + + return docInfo; +} + +void TIFFGenerator::loadPages(QList &pagesVector) +{ + if (!d->tiff) { + return; + } + + tdir_t dirs = TIFFNumberOfDirectories(d->tiff); + pagesVector.resize(dirs); + tdir_t realdirs = 0; + + uint32_t width = 0; + uint32_t height = 0; + + const QSizeF dpi = Okular::Utils::realDpi(nullptr); + for (tdir_t i = 0; i < dirs; ++i) { + if (!TIFFSetDirectory(d->tiff, i)) { + continue; + } + + if (TIFFGetField(d->tiff, TIFFTAG_IMAGEWIDTH, &width) != 1 || TIFFGetField(d->tiff, TIFFTAG_IMAGELENGTH, &height) != 1) { + continue; + } + + adaptSizeToResolution(d->tiff, TIFFTAG_XRESOLUTION, dpi.width(), &width); + adaptSizeToResolution(d->tiff, TIFFTAG_YRESOLUTION, dpi.height(), &height); + + Okular::Page *page = new Okular::Page(realdirs, width, height, readTiffRotation(d->tiff)); + pagesVector[realdirs] = page; + + m_pageMapping[realdirs] = i; + + ++realdirs; + } + + pagesVector.resize(realdirs); +} + +Okular::Document::PrintError TIFFGenerator::print(QPrinter &printer) +{ + uint32_t width = 0; + uint32_t height = 0; + + QPainter p(&printer); + + QList pageList = Okular::FilePrinter::pageList(printer, document()->pages(), document()->currentPage() + 1, document()->bookmarkedPageList()); + + for (int i = 0; i < pageList.count(); ++i) { + if (!TIFFSetDirectory(d->tiff, mapPage(pageList[i] - 1))) { + continue; + } + + if (TIFFGetField(d->tiff, TIFFTAG_IMAGEWIDTH, &width) != 1 || TIFFGetField(d->tiff, TIFFTAG_IMAGELENGTH, &height) != 1) { + continue; + } + + QImage printImage(width, height, QImage::Format_RGB32); + uint32_t *data = reinterpret_cast(printImage.bits()); + + // read data + if (TIFFReadRGBAImageOriented(d->tiff, width, height, data, ORIENTATION_TOPLEFT) != 0) { + // an image read by ReadRGBAImage is ABGR, we need ARGB, so swap red and blue + uint32_t size = width * height; + for (uint32_t j = 0; j < size; ++j) { + uint32_t red = (data[j] & 0x00FF0000) >> 16; + uint32_t blue = (data[j] & 0x000000FF) << 16; + data[j] = (data[j] & 0xFF00FF00) + red + blue; + } + } + + if (i != 0) { + printer.newPage(); + } + + QSize targetSize = printer.pageRect(QPrinter::Unit::DevicePixel).size().toSize(); + + if ((printImage.width() < targetSize.width()) && (printImage.height() < targetSize.height())) { + // draw small images at 100% (don't scale up) + p.drawImage(0, 0, printImage); + } else { + // fit to page + p.drawImage(0, 0, printImage.scaled(targetSize, Qt::IgnoreAspectRatio, Qt::SmoothTransformation)); + } + } + + return Okular::Document::NoPrintError; +} + +int TIFFGenerator::mapPage(int page) const +{ + QHash::const_iterator it = m_pageMapping.find(page); + if (it == m_pageMapping.end()) { + qCWarning(OkularTiffDebug) << "Requesting unmapped page" << page << ":" << m_pageMapping; + return -1; + } + return it.value(); +} + +Q_LOGGING_CATEGORY(OkularTiffDebug, "org.kde.okular.generators.tiff", QtWarningMsg) + +#include "generator_tiff.moc" diff --git a/generators/tiff/generator_tiff.h b/generators/tiff/generator_tiff.h new file mode 100644 index 0000000..998b272 --- /dev/null +++ b/generators/tiff/generator_tiff.h @@ -0,0 +1,47 @@ +/* + SPDX-FileCopyrightText: 2006 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_GENERATOR_TIFF_H_ +#define _OKULAR_GENERATOR_TIFF_H_ + +#include + +#include +#include + +class TIFFGenerator : public Okular::Generator +{ + Q_OBJECT + Q_INTERFACES(Okular::Generator) +public: + TIFFGenerator(QObject *parent, const QVariantList &args); + ~TIFFGenerator() override; + + bool loadDocument(const QString &fileName, QList &pagesVector) override; + bool loadDocumentFromData(const QByteArray &fileData, QList &pagesVector) override; + + Okular::DocumentInfo generateDocumentInfo(const QSet &keys) const override; + + Okular::Document::PrintError print(QPrinter &printer) override; + +protected: + bool doCloseDocument() override; + QImage image(Okular::PixmapRequest *request) override; + +private: + class Private; + Private *const d; + + bool loadTiff(QList &pagesVector, const char *name); + void loadPages(QList &pagesVector); + int mapPage(int page) const; + + QHash m_pageMapping; +}; + +Q_DECLARE_LOGGING_CATEGORY(OkularTiffDebug) + +#endif diff --git a/generators/tiff/libokularGenerator_tiff.json b/generators/tiff/libokularGenerator_tiff.json new file mode 100644 index 0000000..593540e --- /dev/null +++ b/generators/tiff/libokularGenerator_tiff.json @@ -0,0 +1,219 @@ +{ + "KPlugin": { + "Authors": [ + { + "Email": "pino@kde.org", + "Name": "Pino Toscano", + "Name[ar]": "Pino Toscano", + "Name[az]": "Pino Toscano", + "Name[be]": "Pino Toscano", + "Name[bg]": "Pino Toscano", + "Name[ca@valencia]": "Pino Toscano", + "Name[ca]": "Pino Toscano", + "Name[cs]": "Pino Toscano", + "Name[da]": "Pino Toscano", + "Name[de]": "Pino Toscano", + "Name[el]": "Pino Toscano", + "Name[en_GB]": "Pino Toscano", + "Name[eo]": "Pino Toscano", + "Name[es]": "Pino Toscano", + "Name[et]": "Pino Toscano", + "Name[eu]": "Pino Toscano", + "Name[fi]": "Pino Toscano", + "Name[fr]": "Pino Toscano", + "Name[gl]": "Pino Toscano", + "Name[he]": "פינו טוסקנו", + "Name[hu]": "Pino Toscano", + "Name[ia]": "Pino Toscano", + "Name[ie]": "Pino Toscano", + "Name[is]": "Pino Toscano", + "Name[it]": "Pino Toscano", + "Name[ka]": "Pino Toscano", + "Name[ko]": "Pino Toscano", + "Name[lt]": "Pino Toscano", + "Name[lv]": "Pino Toscano", + "Name[nl]": "Pino Toscano", + "Name[nn]": "Pino Toscano", + "Name[pa]": "ਪਿਨੋ ਟਿਸਕਾਨੋ", + "Name[pl]": "Pino Toscano", + "Name[pt]": "Pino Toscano", + "Name[pt_BR]": "Pino Toscano", + "Name[ro]": "Pino Toscano", + "Name[ru]": "Pino Toscano", + "Name[sa]": "पिनो टोस्कानो", + "Name[sk]": "Pino Toscano", + "Name[sl]": "Pino Toscano", + "Name[sr@ijekavian]": "Пино Тоскано", + "Name[sr@ijekavianlatin]": "Pino Toskano", + "Name[sr@latin]": "Pino Toskano", + "Name[sr]": "Пино Тоскано", + "Name[sv]": "Pino Toscano", + "Name[ta]": "பீனோ டொஸ்கானோ", + "Name[tr]": "Pino Toscano", + "Name[uk]": "Pino Toscano", + "Name[vi]": "Pino Toscano", + "Name[zh_CN]": "Pino Toscano", + "Name[zh_TW]": "Pino Toscano" + } + ], + "Copyright": "© 2006-2008 Pino Toscano", + "Copyright[ar]": "© 2006-2008 Pino Toscano", + "Copyright[az]": "© 2006-2008 Pino Toscano", + "Copyright[be]": "© 2006-2008 Pino Toscano", + "Copyright[bg]": "© 2006-2008 Pino Toscano", + "Copyright[ca@valencia]": "© 2006-2008 Pino Toscano", + "Copyright[ca]": "© 2006-2008 Pino Toscano", + "Copyright[cs]": "© 2006-2008 Pino Toscano", + "Copyright[da]": "© 2006-2008 Pino Toscano", + "Copyright[de]": "© 2006–2008 Pino Toscano", + "Copyright[el]": "© 2006-2008 Pino Toscano", + "Copyright[en_GB]": "© 2006-2008 Pino Toscano", + "Copyright[eo]": "© 2006-2008 Pino Toscano", + "Copyright[es]": "© 2006-2008 Pino Toscano", + "Copyright[et]": "© 2006-2008: Pino Toscano", + "Copyright[eu]": "© 2006-2008 Pino Toscano", + "Copyright[fi]": "© 2006–2008 Pino Toscano", + "Copyright[fr]": "© 2006-2008 Pino Toscano", + "Copyright[gl]": "© 2006-2008 Pino Toscano", + "Copyright[he]": "© 2006‏-2008 פינו טוסקנו", + "Copyright[hu]": "© Pino Toscano, 2006-2008.", + "Copyright[ia]": "© 2006-2008 Pino Toscano", + "Copyright[ie]": "© 2006-2008 Pino Toscano", + "Copyright[is]": "© 2006-2008 Pino Toscano", + "Copyright[it]": "© 2006-2008 Pino Toscano", + "Copyright[ka]": "© 2006-2008 Pino Toscano", + "Copyright[ko]": "© 2006-2008 Pino Toscano", + "Copyright[lt]": "© 2006-2008 Pino Toscano", + "Copyright[lv]": "© 2006-2008 Pino Toscano", + "Copyright[nl]": "© 2006-2008 Pino Toscano", + "Copyright[nn]": "© 2006–2008 Pino Toscano", + "Copyright[pa]": "© 2006-2008 Pino Toscano", + "Copyright[pl]": "© 2006-2008 Pino Toscano", + "Copyright[pt]": "© 2006-2008 Pino Toscano", + "Copyright[pt_BR]": "© 2006-2008 Pino Toscano", + "Copyright[ro]": "© 2006-2008 Pino Toscano", + "Copyright[ru]": "© Pino Toscano, 2006-2008", + "Copyright[sa]": "© 2006-2008 पिनो टोस्कानो", + "Copyright[sk]": "© 2006-2008 Pino Toscano", + "Copyright[sl]": "© 2006-2008 Pino Toscano", + "Copyright[sr@ijekavian]": "© 2006–2008, Пино Тоскано", + "Copyright[sr@ijekavianlatin]": "© 2006–2008, Pino Toskano", + "Copyright[sr@latin]": "© 2006–2008, Pino Toskano", + "Copyright[sr]": "© 2006–2008, Пино Тоскано", + "Copyright[sv]": "© 2006-2008 Pino Toscano", + "Copyright[tr]": "© 2006–2008 Pino Toscano", + "Copyright[uk]": "© Pino Toscano, 2006–2008", + "Copyright[vi]": "© 2006-2008 Pino Toscano", + "Copyright[zh_CN]": "© 2006-2008 Pino Toscano", + "Copyright[zh_TW]": "© 2006-2008 Pino Toscano", + "Description": "A TIFF backend", + "Description[ar]": "خلفية TIFF", + "Description[az]": "TİFF modulu", + "Description[be]": "Рухавік TIFF", + "Description[bg]": "Бекенд на TIFF ", + "Description[ca@valencia]": "Un dorsal de TIFF", + "Description[ca]": "Un dorsal de TIFF", + "Description[cs]": "Podpůrná vrstva pro TIFF", + "Description[da]": "En TIFF-backend", + "Description[de]": "Ein Anzeigemodul für TIFF", + "Description[el]": "Σύστημα υποστήριξης TIFF", + "Description[en_GB]": "A TIFF backend", + "Description[eo]": "TIFF-backend", + "Description[es]": "Un motor para TIFF", + "Description[et]": "TIFF-i taustaprogramm", + "Description[eu]": "TIFFen bizkarraldeko bat", + "Description[fi]": "TIFF-taustaosa", + "Description[fr]": "Un moteur TIFF", + "Description[gl]": "Motor de TIFF.", + "Description[he]": "מנגנון TIFF", + "Description[hu]": "TIFF modul", + "Description[ia]": "Un retro-administration de TIFF", + "Description[ie]": "Infrastructura TIFF", + "Description[is]": "TIFF-bakendi", + "Description[it]": "Un backend per TIFF", + "Description[ka]": "TIFF უკანაბოლო", + "Description[ko]": "TIFF 백엔드", + "Description[lt]": "TIFF programinė sąsaja", + "Description[lv]": "TIFF aizmugursistēma", + "Description[nl]": "Een TIFF-backend", + "Description[nn]": "Ein TIFF-motor", + "Description[pa]": "TIFF ਬੈਕਐਂਡ", + "Description[pl]": "Obsługa formatu TIFF", + "Description[pt]": "Uma infra-estrutura de TIFF", + "Description[pt_BR]": "Uma infraestrutura de imagens TIFF", + "Description[ro]": "O platformă TIFF", + "Description[ru]": "Модуль поддержки формата TIFF", + "Description[sa]": "एकः TIFF पृष्ठभागः", + "Description[sk]": "TIFF backend", + "Description[sl]": "Zaledje za TIFF", + "Description[sr@ijekavian]": "Позадина за ТИФФ", + "Description[sr@ijekavianlatin]": "Pozadina za TIFF", + "Description[sr@latin]": "Pozadina za TIFF", + "Description[sr]": "Позадина за ТИФФ", + "Description[sv]": "Ett TIFF-gränssnitt", + "Description[tr]": "Bir TIFF arka ucu", + "Description[uk]": "Програма для TIFF", + "Description[vi]": "Một hậu phương TIFF", + "Description[zh_CN]": "TIFF 后端程序", + "Description[zh_TW]": "TIFF 後端介面", + "License": "GPL", + "MimeTypes": [ + "image/tiff" + ], + "Name": "TIFF Backend", + "Name[ar]": "خلفية TIFF", + "Name[az]": "TİFF modulu", + "Name[be]": "Рухавік TIFF", + "Name[bg]": "Бекенд на TIFF ", + "Name[ca@valencia]": "Dorsal TIFF", + "Name[ca]": "Dorsal TIFF", + "Name[cs]": "Podpůrná vrstva pro TIFF", + "Name[da]": "TIFF-backend", + "Name[de]": "Anzeigemodul für TIFF", + "Name[el]": "Σύστημα υποστήριξης TIFF", + "Name[en_GB]": "TIFF Backend", + "Name[eo]": "TIFF-Backend", + "Name[es]": "Motor para TIFF", + "Name[et]": "TIFF-i taustaprogramm", + "Name[eu]": "TIFFen bizkarraldekoa", + "Name[fi]": "TIFF-taustaosa", + "Name[fr]": "Moteur TIFF", + "Name[gl]": "Motor de TIFF", + "Name[he]": "מנגנון TIFF", + "Name[hu]": "TIFF modul", + "Name[ia]": "Retro-Administration de TIFF", + "Name[ie]": "Infrastructura TIFF", + "Name[is]": "TIFF-bakendi", + "Name[it]": "Backend TIFF", + "Name[ka]": "TIFF უკანაბოლო", + "Name[ko]": "TIFF 백엔드", + "Name[lt]": "TIFF programinė sąsaja", + "Name[lv]": "TIFF aizmugursistēma", + "Name[nl]": "TIFF-backend", + "Name[nn]": "TIFF-motor", + "Name[pa]": "TIFF ਬੈਕਐਂਡ", + "Name[pl]": "Obsługa TIFF", + "Name[pt]": "Infra-Estrutura de TIFF", + "Name[pt_BR]": "Infraestrutura TIFF", + "Name[ro]": "Platformă TIFF", + "Name[ru]": "Модуль поддержки формата TIFF", + "Name[sa]": "TIFF पृष्ठभाग", + "Name[sk]": "TIFF Backend", + "Name[sl]": "Zaledje za TIFF", + "Name[sr@ijekavian]": "Позадина за ТИФФ", + "Name[sr@ijekavianlatin]": "Pozadina za TIFF", + "Name[sr@latin]": "Pozadina za TIFF", + "Name[sr]": "Позадина за ТИФФ", + "Name[sv]": "TIFF-gränssnitt", + "Name[ta]": "TIFF பின்நிலை", + "Name[tr]": "TIFF Arka Ucu", + "Name[uk]": "Модуль TIFF", + "Name[vi]": "Hậu phương TIFF", + "Name[zh_CN]": "TIFF 后端程序", + "Name[zh_TW]": "TIFF 後端介面", + "Version": "0.2.4" + }, + "X-KDE-Priority": 4, + "X-KDE-okularAPIVersion": 1, + "X-KDE-okularHasInternalSettings": false +} diff --git a/generators/tiff/okularApplication_tiff.desktop b/generators/tiff/okularApplication_tiff.desktop new file mode 100755 index 0000000..768e8b6 --- /dev/null +++ b/generators/tiff/okularApplication_tiff.desktop @@ -0,0 +1,198 @@ +[Desktop Entry] +MimeType=image/tiff; +Terminal=false +Name=Okular +Name[ar]=اوكلار +Name[az]=Okular +Name[be]=Okular +Name[bg]=Okular +Name[bs]=Okular +Name[ca]=Okular +Name[ca@valencia]=Okular +Name[cs]=Okular +Name[da]=Okular +Name[de]=Okular +Name[el]=Okular +Name[en_GB]=Okular +Name[eo]=Okular +Name[es]=Okular +Name[et]=Okular +Name[eu]=Okular +Name[fi]=Okular +Name[fr]=Okular +Name[ga]=Okular +Name[gl]=Okular +Name[he]=Okular +Name[hne]=ओकुलर +Name[hr]=Okular +Name[hu]=Okular +Name[ia]=Okular +Name[ie]=Okular +Name[is]=Okular +Name[it]=Okular +Name[ja]=Okular +Name[ka]=Okular +Name[kk]=Okular +Name[km]=Okular +Name[ko]=Okular +Name[ku]=Okular +Name[lt]=Okular +Name[lv]=Okular +Name[mr]=ओक्युलर +Name[nb]=Okular +Name[nds]=Okular +Name[nl]=Okular +Name[nn]=Okular +Name[pa]=ਓਕੁਲਾਰ +Name[pl]=Okular +Name[pt]=Okular +Name[pt_BR]=Okular +Name[ro]=Okular +Name[ru]=Okular +Name[sa]=नेत्रस्य +Name[si]=Okular +Name[sk]=Okular +Name[sl]=Okular +Name[sq]=Okular +Name[sr]=Окулар +Name[sr@ijekavian]=Окулар +Name[sr@ijekavianlatin]=Okular +Name[sr@latin]=Okular +Name[sv]=Okular +Name[ta]=ஆக்குலர் +Name[th]=โอกูลาร์ +Name[tr]=Okular +Name[ug]=Okular +Name[uk]=Okular +Name[vi]=Okular +Name[zh_CN]=Okular 文档查看器 +Name[zh_TW]=Okular +GenericName=Document Viewer +GenericName[ar]=عارض المستندات +GenericName[az]=Sənədə baxış vasitısi +GenericName[be]=Сродак для прагляду дакументаў +GenericName[bg]=Преглед на документи +GenericName[bs]=Prikazivač dokumenata +GenericName[ca]=Visualitzador de documents +GenericName[ca@valencia]=Visor de documents +GenericName[cs]=Prohlížeč dokumentů +GenericName[da]=Dokumentfremviser +GenericName[de]=Dokumentenbetrachter +GenericName[el]=Προβολέας εγγράφων +GenericName[en_GB]=Document Viewer +GenericName[eo]=Dokumenta rigardilo +GenericName[es]=Visor de documentos +GenericName[et]=Dokumendinäitaja +GenericName[eu]=Dokumentu erakuslea +GenericName[fa]=مشاهده‌گر سند +GenericName[fi]=Asiakirjakatselin +GenericName[fr]=Afficheur de documents +GenericName[ga]=Amharcán Cáipéisí +GenericName[gl]=Visor de documentos +GenericName[he]=מציג מסמכים +GenericName[hi]=दस्तावेज़ प्रदर्शक +GenericName[hne]=कागद प्रदर्सक +GenericName[hr]=Preglednik dokumenata +GenericName[hu]=Dokumentummegjelenítő +GenericName[ia]=Visor de documento +GenericName[ie]=Visor de documentes +GenericName[is]=Skjalaskoðari +GenericName[it]=Visore di documenti +GenericName[ja]=文書ビューア +GenericName[ka]=დოკუმენტების მნახველი +GenericName[kk]=Құжатты қарау құралы +GenericName[km]=កម្មវិធី​មើល​ឯកសារ +GenericName[ko]=문서 뷰어 +GenericName[ku]=Nîşanderê Belgeyan +GenericName[lt]=Dokumentų žiūryklė +GenericName[lv]=Dokumentu skatītājs +GenericName[mr]=दस्तऐवज प्रदर्शक +GenericName[nb]=Dokumentviser +GenericName[nds]=Dokmentkieker +GenericName[ne]=कागजात दर्शक +GenericName[nl]=Documentenviewer +GenericName[nn]=Dokumentvisar +GenericName[oc]=Visualizaire de documents +GenericName[pa]=ਡੌਕੂਮੈਂਟ ਦਰਸ਼ਕ +GenericName[pl]=Przeglądarka dokumentów +GenericName[pt]=Visualizador de Documentos +GenericName[pt_BR]=Visualizador de documentos +GenericName[ro]=Vizualizor de documente +GenericName[ru]=Просмотр документов +GenericName[sa]=दस्तावेज दर्शक +GenericName[sk]=Prehliadač dokumentov +GenericName[sl]=Pregledovalnik dokumentov +GenericName[sq]=Shikues dokumentesh +GenericName[sr]=Приказивач докумената +GenericName[sr@ijekavian]=Приказивач докумената +GenericName[sr@ijekavianlatin]=Prikazivač dokumenata +GenericName[sr@latin]=Prikazivač dokumenata +GenericName[sv]=Dokumentvisare +GenericName[ta]=ஆவணங் காட்டி +GenericName[th]=เครื่องมือแสดงเอกสาร +GenericName[tr]=Belge Görüntüleyicisi +GenericName[ug]=پۈتۈك كۆرگۈ +GenericName[uk]=Переглядач документів +GenericName[vi]=Trình xem tài liệu +GenericName[zh_CN]=文档查看器 +GenericName[zh_TW]=文件檢視器 +Comment=Universal document viewer +Comment[ar]=عارض المستندات عالمي +Comment[az]=Sənədə universal baxış vasitəsi +Comment[be]=Універсальны сродак для прагляду дакументаў +Comment[bg]=Универсална програма за преглед на документи +Comment[ca]=Visualitzador universal de documents +Comment[ca@valencia]=Visor universal de documents +Comment[cs]=Univerzální prohlížeč dokumentů +Comment[da]=Universel dokumentfremviser +Comment[de]=Universeller Dokumentenbetrachter +Comment[el]=Καθολικός προβολέας εγγράφων +Comment[en_GB]=Universal document viewer +Comment[eo]=Universala dokumenta spektilo +Comment[es]=Visor de documentos universal +Comment[et]=Universaalne dokumendinäitaja +Comment[eu]=Dokumentu erakusle unibertsala +Comment[fi]=Yleinen asiakirjakatselin +Comment[fr]=Afficheur de document universel +Comment[gl]=Visor de documentos universal. +Comment[he]=מציג מסמכים אוניברסלי +Comment[hu]=Univerzális dokumentummegjelenítő +Comment[ia]=Visor de documento universal +Comment[ie]=Universal visor de documentes +Comment[is]=Fjölhæfur skjalaskoðari +Comment[it]=Visore di documenti universale +Comment[ja]=多用途な文書ビューア +Comment[ka]=დოკუმენტების პოპულარული ფორმატების გამხსნელი +Comment[ko]=만능 문서 뷰어 +Comment[lt]=Universali dokumentų žiūryklė +Comment[lv]=Universāls dokumentu skatītājs +Comment[nl]=Universele documentviewer +Comment[nn]=Dokumentvisar for mange format +Comment[pa]=ਯੂਨੀਵਰਸਲ ਡੌਕੂਮੈਂਟ ਦਰਸ਼ਕ +Comment[pl]=Wszechstronna przeglądarka dokumentów +Comment[pt]=Visualizador de documentos universal +Comment[pt_BR]=Visualizador de documentos universal +Comment[ro]=Vizualizor de documente universal +Comment[ru]=Универсальная программа просмотра документов +Comment[sa]=सार्वभौमिक दस्तावेज दर्शक +Comment[sk]=Univerzálny prehliadač dokumentov +Comment[sl]=Vsestranski pregledovalnik dokumentov +Comment[sq]=Shikues univerzal dokumentesh +Comment[sr]=Универзални приказивач докумената +Comment[sr@ijekavian]=Универзални приказивач докумената +Comment[sr@ijekavianlatin]=Univerzalni prikazivač dokumenata +Comment[sr@latin]=Univerzalni prikazivač dokumenata +Comment[sv]=Generell dokumentvisare +Comment[ta]=அனைத்து ஆவணங்களுக்கான காட்டி +Comment[tr]=Çok amaçlı belge görüntüleyicisi +Comment[uk]=Універсальний переглядач документів +Comment[vi]=Trình xem tài liệu vạn năng +Comment[zh_CN]=通用文档查看器 +Comment[zh_TW]=通用文件檢視器 +Exec=okular %U +Icon=okular +Type=Application +InitialPreference=1 +Categories=Qt;KDE;Graphics;Viewer; +NoDisplay=true +X-KDE-AliasFor=org.kde.okular.desktop diff --git a/generators/tiff/org.kde.mobile.okular_tiff.desktop b/generators/tiff/org.kde.mobile.okular_tiff.desktop new file mode 100644 index 0000000..e50f367 --- /dev/null +++ b/generators/tiff/org.kde.mobile.okular_tiff.desktop @@ -0,0 +1,192 @@ +[Desktop Entry] +MimeType=image/tiff; +Name=Reader +Name[ar]=التصيير +Name[az]=Oxuyucu +Name[be]=Сродак чытання +Name[bg]=Четец +Name[bs]=Čitač +Name[ca]=Lector +Name[ca@valencia]=Lector +Name[cs]=Čtečka +Name[da]=Læser +Name[de]=Lesegerät +Name[el]=Πρόγραμμα ανάγνωσης +Name[en_GB]=Reader +Name[eo]=Legilo +Name[es]=Lector +Name[et]=Lugeja +Name[eu]=Irakurlea +Name[fi]=Lukija +Name[fr]=Lecteur +Name[ga]=Léitheoir +Name[gl]=Lector +Name[he]=קורא +Name[hu]=Olvasó +Name[ia]=Lector +Name[ie]=Letor +Name[is]=Lesari +Name[it]=Lettore +Name[ja]=リーダ +Name[ka]=მკითხველი +Name[kk]=Оқу құралы +Name[ko]=리더 +Name[lt]=Skaitytuvas +Name[lv]=Lasītājs +Name[mr]=वाचक +Name[nb]=Leser +Name[nds]=Leser +Name[nl]=Lezer +Name[nn]=Lesar +Name[pa]=ਰੀਡਰ +Name[pl]=Czytnik +Name[pt]=Leitor +Name[pt_BR]=Leitor +Name[ro]=Cititor +Name[ru]=Просмотрщик +Name[sa]=पाठकः +Name[sk]=Čítačka +Name[sl]=Bralnik +Name[sq]=Reader +Name[sr]=Читач +Name[sr@ijekavian]=Читач +Name[sr@ijekavianlatin]=Čitač +Name[sr@latin]=Čitač +Name[sv]=Läsprogram +Name[ta]=காட்டி +Name[tr]=Okuyucu +Name[ug]=ئوقۇغۇ +Name[uk]=Переглядач +Name[vi]=Trình đọc +Name[zh_CN]=阅读器 +Name[zh_TW]=閱讀器 +GenericName=Document viewer +GenericName[ar]=عارض المستندات +GenericName[az]=Sənədə baxış vasitısi +GenericName[be]=Сродак для прагляду дакументаў +GenericName[bg]=Преглед на документи +GenericName[bs]=Prikazivač dokumenata +GenericName[ca]=Visualitzador de documents +GenericName[ca@valencia]=Visor de documents +GenericName[cs]=Prohlížeč dokumentů +GenericName[da]=Dokumentfremviser +GenericName[de]=Dokumentenbetrachter +GenericName[el]=Προβολέας εγγράφων +GenericName[en_GB]=Document Viewer +GenericName[eo]=Dokumentrigardilo +GenericName[es]=Visor de documentos +GenericName[et]=Dokumendinäitaja +GenericName[eu]=Dokumentu erakuslea +GenericName[fi]=Asiakirjakatselin +GenericName[fr]=Afficheur de document +GenericName[ga]=Amharcán cáipéisí +GenericName[gl]=Visor de documentos +GenericName[he]=מציג מסמכים +GenericName[hi]=दस्तावेज़ प्रदर्शक +GenericName[hu]=Dokumentummegjelenítő +GenericName[ia]=Visor de documento +GenericName[ie]=Visor de documentes +GenericName[is]=Skjalaskoðari +GenericName[it]=Visore di documenti +GenericName[ja]=文書ビューア +GenericName[ka]=დოკუმენტების მნახველი +GenericName[kk]=Құжатты қарау құралы +GenericName[ko]=문서 뷰어 +GenericName[lt]=Dokumentų žiūryklė +GenericName[lv]=Dokumentu skatītājs +GenericName[mr]=दस्तऐवज प्रदर्शक +GenericName[nb]=Dokumentviser +GenericName[nds]=Dokmentkieker +GenericName[nl]=Documentenviewer +GenericName[nn]=Dokumentvisar +GenericName[pa]=ਡੌਕੂਮੈਂਟ ਦਰਸ਼ਕ +GenericName[pl]=Przeglądarka dokumentów +GenericName[pt]=Visualizador de documentos +GenericName[pt_BR]=Visualizador de documentos +GenericName[ro]=Vizualizor de documente +GenericName[ru]=Просмотр документов +GenericName[sa]=दस्तावेजदर्शकः +GenericName[sk]=Prehliadač dokumentov +GenericName[sl]=Pregledovalnik dokumentov +GenericName[sq]=Shikues dokumentesh +GenericName[sr]=Приказивач докумената +GenericName[sr@ijekavian]=Приказивач докумената +GenericName[sr@ijekavianlatin]=Prikazivač dokumenata +GenericName[sr@latin]=Prikazivač dokumenata +GenericName[sv]=Dokumentvisare +GenericName[ta]=ஆவணங் காட்டி +GenericName[tr]=Belge Görüntüleyicisi +GenericName[uk]=Переглядач документів +GenericName[vi]=Trình xem tài liệu +GenericName[zh_CN]=文档查看器 +GenericName[zh_TW]=文件檢視器 +Comment=Viewer for various types of documents +Comment[ar]=عارض للعديد من أنواع المستندات +Comment[az]=Müxtəlif növlü sənədlər üçün görüntüləyici +Comment[be]=Сродак для прагляду разнастайных тыпаў дакументаў +Comment[bg]=Преглед на различни видове документи +Comment[bs]=Pregledač raznih vrsta dokumenata +Comment[ca]=Visualitzador de diversos tipus de documents +Comment[ca@valencia]=Visor de diversos tipus de documents +Comment[cs]=Prohlížeč různých typů dokumentů +Comment[da]=Fremviser af diverse dokumenttyper +Comment[de]=Betrachter für verschiedene Arten von Dokumenten +Comment[el]=Πρόγραμμα προβολής για διάφορους τύπους εγγράφων +Comment[en_GB]=Viewer for various types of documents +Comment[eo]=Vidilo por diversaj specoj de dokumentoj +Comment[es]=Visor de diversos tipos de documentos +Comment[et]=Eri tüüpi dokumentide näitaja +Comment[eu]=Hainbat dokumentu moten erakuslea +Comment[fi]=Monenlaisten asiakirjojen katseluohjelma +Comment[fr]=Afficheur pour différents types de documents +Comment[ga]=Amharcán le haghaidh cáipéisí éagsúla +Comment[gl]=Visor de varios tipos de documentos. +Comment[he]=מציג למגוון סוגי מסמכים +Comment[hu]=Megjelenítő különféle típusú dokumentumokhoz +Comment[ia]=Visor pro varie typos de documento +Comment[ie]=Visor por varie tipes de documentes +Comment[is]=Skoðari fyrir ýmsar gerðir skjala +Comment[it]=Visore per vari tipi di documenti +Comment[ja]=様々なタイプの文書のためのビューア +Comment[ka]=სხვადასხვა ტიპების დოკუმენტების დათვალიერება +Comment[kk]=Түрлі құжаттар қарау құралы +Comment[ko]=여러 형식의 문서 뷰어 +Comment[lt]=Žiūryklė įvairiems dokumentų tipams +Comment[lv]=Dažādu dokumentu tipu skatītājs +Comment[mr]=विविध प्रकारच्या दस्तऐवजांचा प्रदर्शक +Comment[nb]=Framviser for forskjellige dokumenttyper +Comment[nds]=Kieker för en Reeg Dokmenttypen +Comment[nl]=Viewer voor verschillende typen documenten +Comment[nn]=Framvisar for forskjellige dokumenttypar +Comment[pa]=ਕਈ ਕਿਸਮ ਦੇ ਡੌਕੂਮੈਂਟ ਵੇਖਾਉਣ ਲਈ ਦਰਸ਼ਕ +Comment[pl]=Przeglądarka dla różnych typów dokumentów +Comment[pt]=Visualizador de vários tipos de documentos +Comment[pt_BR]=Visualizador para vários tipos de documentos +Comment[ro]=Vizualizor pentru diferite tipuri de documente +Comment[ru]=Программа для просмотра различных типов документов +Comment[sa]=विभिन्नप्रकारस्य दस्तावेजानां कृते दर्शकः +Comment[sk]=Prehliadač pre rôzne typy dokumentov +Comment[sl]=Pregledovalnik raznih vrst dokumentov +Comment[sq]=Shikues për lloje të ndryshme të dokumentave +Comment[sr]=Приказивач различитих врста докумената +Comment[sr@ijekavian]=Приказивач различитих врста докумената +Comment[sr@ijekavianlatin]=Prikazivač različitih vrsta dokumenata +Comment[sr@latin]=Prikazivač različitih vrsta dokumenata +Comment[sv]=Visningsprogram för diverse typer av dokument +Comment[ta]=பலவகையான ஆவணங்களுக்கான காட்டி +Comment[tr]=Çeşitli belge türleri için görüntüleyici +Comment[ug]=ھەر خىل تىپتىكى پۈتۈكلەرنى كۆرىدىغان پروگرامما +Comment[uk]=Програма для перегляду документів різних типів +Comment[vi]=Trình xem các kiểu tài liệu khác nhau +Comment[zh_CN]=支持查看多种文档类型 +Comment[zh_TW]=多種型態文件的檢視器 + +TryExec=okularkirigami +Exec=okularkirigami %u +Terminal=false +Icon=okular +Type=Application +Categories=Qt;KDE;Graphics;Office;Viewer; +InitialPreference=2 +NoDisplay=true +X-KDE-AliasFor=org.kde.okular.kirigami.desktop diff --git a/generators/tiff/org.kde.okular-tiff.metainfo.xml b/generators/tiff/org.kde.okular-tiff.metainfo.xml new file mode 100644 index 0000000..ef9bf96 --- /dev/null +++ b/generators/tiff/org.kde.okular-tiff.metainfo.xml @@ -0,0 +1,139 @@ + + + org.kde.okular-tiff + org.kde.okular.desktop + CC0-1.0 + GPL-2.0+ and GFDL-1.3 + Tiff + Tiff + TIFF + Tiff + Tiff + Tiff + TIFF + TIFF + Tiff + Tiff + Tiff + Tiff + Tiff + Tiff + TIFF + Tiff + TIFF + TIFF + Tiff + Tiff + टिफ़ + Tiff + TIFF + Tiff + Tiff + Tiff + Tiff + TIFF + Tiff + Tiff + ടിഫ് + Tiff + TIFF + TIFF + TIFF + TIFF + Tiff + TIFF + तिफ्फ + Tiff + Tiff + ТИФФ + TIFF + ТИФФ + TIFF + TIFF + Tiff + Tiff + Tiff + Tiff + TIFF + Tiff + Adds support for reading Tiff documents + يضيف دعم لقراءة مستندات Tiff + Tiff sənədlərini oxumaq üçün dəstək əlavə edir + Падтрымка чытання дакументаў Tiff + Добавя поддръжка за четене на Tiff документи + Afegeix la implementació per a llegir documents TIFF + Afig la implementació per a llegir documents TIFF + Přidává podporu pro čtení dokumentů Tiff + Bietet Unterstützung zum Lesen von TIFF-Dokumenten + Προσθέτει υποστήριξη για την ανάγνωση εγγράφων Tiff + Adds support for reading Tiff documents + Aldonas subtenon por legi Tiff-dokumentojn + Permite la lectura de documentos Tiff + TIFF-dokumentide lugemise toetus + Tiff dokumentuak irakurtzeko euskarria gehitzen du + Lisää TIFF-kuvatiedostojen lukutuen + Permet la lecture des documents au format « TIFF » + Engade a posibilidade de ler documentos Tiff + מוסיף תמיכה בקריאת מסמכי Tiff + टिफ़ दस्तावेज़ पढ़ने के लिए समर्थन जोड़ता है + Támogatás Tiff-dokumentumok olvasásához + Adde supporto per leger documentos Tiff + Adjunter li supporte de letion de documentes Tiff + Bætir við stuðningi til að lesa TIFF-skjöl + Aggiunge il supporto per la lettura di documenti Tiff + TIFF დოკუმენტების კითხვის მხარდაჭერის დამატება + TIFF 문서 읽기 지원 추가 + Prideda palaikymą Tiff dokumentų skaitymui + Pievieno atbalstu „Tiff“ dokumentu lasīšanai + ടിഫ് പ്രമാണങ്ങൾ വായിക്കാൻ പിന്തുണ ചേർക്കുന്നു + Voegt ondersteuning voor lezen van Tiff-documenten toe + Legg til støtte for å lesa TIFF-dokument + Dodaje obsługę formatu TIFF + Adiciona o suporte para ler documentos em TIFF + Adiciona o suporte para leitura de documentos em TIFF + Adaugă suport pentru citirea documentelor Tiff + Поддержка чтения документов TIFF + Tiff दस्तावेजान् पठितुं समर्थनं योजयति + Pridá podporu pre čítanie Tiff dokumentov + Doda podporo za branje dokumentov Tiff + Подршка за читање ТИФФ докумената + Podrška za čitanje TIFF dokumenata + Подршка за читање ТИФФ докумената + Podrška za čitanje TIFF dokumenata + Lägger till stöd för att läsa TIFF-dokument + Tiff ஆவணங்களைப் படிப்பதற்கான ஆதரவை சேர்க்கும் + Tiff belgelerini okuma desteği ekler + Додає підтримку читання документів TIFF + Thêm hỗ trợ đọc tài liệu Tiff + 增加对 TIFF 图像的阅读支持 + 加入讀取 Tiff 文件的支援 + + image/tiff + + https://okular.kde.org + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/generators/txt/CMakeLists.txt b/generators/txt/CMakeLists.txt new file mode 100644 index 0000000..102c6e1 --- /dev/null +++ b/generators/txt/CMakeLists.txt @@ -0,0 +1,24 @@ +remove_definitions(-DTRANSLATION_DOMAIN="okular") +add_definitions(-DTRANSLATION_DOMAIN="okular_txt") + +########### next target ############### + +set(okularGenerator_txt_SRCS + generator_txt.cpp + converter.cpp + document.cpp +) + + +okular_add_generator(okularGenerator_txt ${okularGenerator_txt_SRCS}) + +target_link_libraries(okularGenerator_txt okularcore Qt6::Core KF6::I18n) + +########### install files ############### +if (BUILD_DESKTOP) + install( PROGRAMS okularApplication_txt.desktop DESTINATION ${KDE_INSTALL_APPDIR} ) +endif() +if (BUILD_MOBILE) + install( PROGRAMS org.kde.mobile.okular_txt.desktop DESTINATION ${KDE_INSTALL_APPDIR} ) +endif() +install( FILES org.kde.okular-txt.metainfo.xml DESTINATION ${KDE_INSTALL_METAINFODIR} ) diff --git a/generators/txt/Messages.sh b/generators/txt/Messages.sh new file mode 100644 index 0000000..95c4e1c --- /dev/null +++ b/generators/txt/Messages.sh @@ -0,0 +1,2 @@ +#!/bin/sh +$XGETTEXT $(find . -name "*.cpp" -o -name "*.h") -o $podir/okular_txt.pot diff --git a/generators/txt/converter.cpp b/generators/txt/converter.cpp new file mode 100644 index 0000000..2b55980 --- /dev/null +++ b/generators/txt/converter.cpp @@ -0,0 +1,38 @@ +/* + SPDX-FileCopyrightText: 2013 Azat Khuzhin + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "converter.h" + +#include + +#include "document.h" + +using namespace Txt; + +Converter::Converter() +{ +} + +Converter::~Converter() +{ +} + +QTextDocument *Converter::convert(const QString &fileName) +{ + Document *textDocument = new Document(fileName); + + textDocument->setPageSize(QSizeF(600, 800)); + + QTextFrameFormat frameFormat; + frameFormat.setMargin(20); + + QTextFrame *rootFrame = textDocument->rootFrame(); + rootFrame->setFrameFormat(frameFormat); + + Q_EMIT addMetaData(Okular::DocumentInfo::MimeType, QStringLiteral("text/plain")); + + return textDocument; +} diff --git a/generators/txt/converter.h b/generators/txt/converter.h new file mode 100644 index 0000000..9ae0052 --- /dev/null +++ b/generators/txt/converter.h @@ -0,0 +1,27 @@ +/* + SPDX-FileCopyrightText: 2013 Azat Khuzhin + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef TXT_CONVERTER_H +#define TXT_CONVERTER_H + +#include +#include + +namespace Txt +{ +class Converter : public Okular::TextDocumentConverter +{ + Q_OBJECT + +public: + Converter(); + ~Converter() override; + + QTextDocument *convert(const QString &fileName) override; +}; +} + +#endif diff --git a/generators/txt/debug_txt.h b/generators/txt/debug_txt.h new file mode 100644 index 0000000..4fad69f --- /dev/null +++ b/generators/txt/debug_txt.h @@ -0,0 +1,15 @@ +/* + SPDX-FileCopyrightText: 2006 Luigi Toscano + SPDX-FileCopyrightText: 2014 Frederik Gladhorn + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef OKULAR_DEBUG_TXT_H +#define OKULAR_DEBUG_TXT_H + +#include + +Q_DECLARE_LOGGING_CATEGORY(OkularTxtDebug) + +#endif diff --git a/generators/txt/document.cpp b/generators/txt/document.cpp new file mode 100644 index 0000000..dc32127 --- /dev/null +++ b/generators/txt/document.cpp @@ -0,0 +1,46 @@ +/* + SPDX-FileCopyrightText: 2013 Azat Khuzhin + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "document.h" + +#include +#include + +#include +#include + +#include "debug_txt.h" + +using namespace Txt; + +Document::Document(const QString &fileName) +{ +#ifdef TXT_DEBUG + qCDebug(OkularTxtDebug) << "Opening file" << fileName; +#endif + + QFile plainFile(fileName); + if (!plainFile.open(QIODevice::ReadOnly | QIODevice::Text)) { + qCDebug(OkularTxtDebug) << "Can't open file" << plainFile.fileName(); + return; + } + + const QByteArray buffer = plainFile.readAll(); + setPlainText(toUnicode(buffer)); +} + +Document::~Document() +{ +} + +QString Document::toUnicode(const QByteArray &array) +{ + auto encoding = QStringConverter::encodingForHtml(array); + QStringDecoder decoder {encoding.value_or(QStringConverter::Encoding::Utf8)}; + return decoder.decode(array); +} + +Q_LOGGING_CATEGORY(OkularTxtDebug, "org.kde.okular.generators.txt", QtWarningMsg) diff --git a/generators/txt/document.h b/generators/txt/document.h new file mode 100644 index 0000000..564ae8a --- /dev/null +++ b/generators/txt/document.h @@ -0,0 +1,27 @@ +/* + SPDX-FileCopyrightText: 2013 Azat Khuzhin + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _TXT_DOCUMENT_H_ +#define _TXT_DOCUMENT_H_ + +#include + +namespace Txt +{ +class Document : public QTextDocument +{ + Q_OBJECT + +public: + explicit Document(const QString &fileName); + ~Document() override; + +private: + QString toUnicode(const QByteArray &array); +}; +} + +#endif diff --git a/generators/txt/generator_txt.cpp b/generators/txt/generator_txt.cpp new file mode 100644 index 0000000..455c4a8 --- /dev/null +++ b/generators/txt/generator_txt.cpp @@ -0,0 +1,28 @@ +/* + SPDX-FileCopyrightText: 2013 Azat Khuzhin + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "generator_txt.h" +#include "converter.h" + +#include +#include +#include + +OKULAR_EXPORT_PLUGIN(TxtGenerator, "libokularGenerator_txt.json") + +TxtGenerator::TxtGenerator(QObject *parent, const QVariantList &args) + : Okular::TextDocumentGenerator(new Txt::Converter, QStringLiteral("okular_txt_generator_settings"), parent, args) +{ +} + +void TxtGenerator::addPages(KConfigDialog *dlg) +{ + Okular::TextDocumentSettingsWidget *widget = new Okular::TextDocumentSettingsWidget(); + + dlg->addPage(widget, generalSettings(), i18n("Txt"), QStringLiteral("text-plain"), i18n("Txt Backend Configuration")); +} + +#include "generator_txt.moc" diff --git a/generators/txt/generator_txt.h b/generators/txt/generator_txt.h new file mode 100644 index 0000000..85576fd --- /dev/null +++ b/generators/txt/generator_txt.h @@ -0,0 +1,26 @@ +/* + SPDX-FileCopyrightText: 2013 Azat Khuzhin + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _GENERATOR_TXT_H_ +#define _GENERATOR_TXT_H_ + +#include + +class TxtGenerator : public Okular::TextDocumentGenerator +{ + Q_OBJECT + Q_INTERFACES(Okular::Generator) + +public: + TxtGenerator(QObject *parent, const QVariantList &args); + ~TxtGenerator() override + { + } + + void addPages(KConfigDialog *dlg) override; +}; + +#endif diff --git a/generators/txt/libokularGenerator_txt.json b/generators/txt/libokularGenerator_txt.json new file mode 100644 index 0000000..0e7e815 --- /dev/null +++ b/generators/txt/libokularGenerator_txt.json @@ -0,0 +1,217 @@ +{ + "KPlugin": { + "Authors": [ + { + "Email": "a3at.mail@gmail.com", + "Name": "Azat Khuzhin", + "Name[ar]": "Azat Khuzhin", + "Name[az]": "Azat Khuzhin", + "Name[be]": "Azat Khuzhin", + "Name[bg]": "Azat Khuzhin", + "Name[ca@valencia]": "Azat Khuzhin", + "Name[ca]": "Azat Khuzhin", + "Name[cs]": "Azat Khuzhin", + "Name[da]": "Azat Khuzhin", + "Name[de]": "Azat Khuzhin", + "Name[el]": "Azat Khuzhin", + "Name[en_GB]": "Azat Khuzhin", + "Name[eo]": "Azat Khuzhin", + "Name[es]": "Azat Khuzhin", + "Name[et]": "Azat Khuzhin", + "Name[eu]": "Azat Khuzhin", + "Name[fi]": "Azat Khuzhin", + "Name[fr]": "Azat Khuzhin", + "Name[gl]": "Azat Khuzhin", + "Name[he]": "אזאת חוזין", + "Name[hu]": "Azat Khuzhin", + "Name[ia]": "Azat Khuzhin", + "Name[ie]": "Azat Khuzhin", + "Name[is]": "Azat Khuzhin", + "Name[it]": "Azat Khuzhin", + "Name[ka]": "Azat Khuzhin", + "Name[ko]": "Azat Khuzhin", + "Name[lt]": "Azat Khuzhin", + "Name[lv]": "Azat Khuzhin", + "Name[nl]": "Azat Khuzhin", + "Name[nn]": "Azat Khuzhin", + "Name[pl]": "Azat Khuzhin", + "Name[pt]": "Azat Khuzhin", + "Name[pt_BR]": "Azat Khuzhin", + "Name[ro]": "Azat Khuzhin", + "Name[ru]": "Азат Хужин", + "Name[sa]": "आजत खुझिन", + "Name[sk]": "Azat Khuzhin", + "Name[sl]": "Azat Khuzhin", + "Name[sr@ijekavian]": "Азат Хужин", + "Name[sr@ijekavianlatin]": "Azat Hužin", + "Name[sr@latin]": "Azat Hužin", + "Name[sr]": "Азат Хужин", + "Name[sv]": "Azat Khuzhin", + "Name[tr]": "Azat Hujin", + "Name[uk]": "Azat Khuzhin", + "Name[vi]": "Azat Khuzhin", + "Name[zh_CN]": "Azat Khuzhin", + "Name[zh_TW]": "Azat Khuzhin" + } + ], + "Copyright": "© 2013 Azat Khuzhin", + "Copyright[ar]": "© 2013 Azat Khuzhin", + "Copyright[az]": "© 2013 Azat Khuzhin", + "Copyright[be]": "© 2013 Azat Khuzhin", + "Copyright[bg]": "© 2013 Azat Khuzhin", + "Copyright[ca@valencia]": "© 2013 Azat Khuzhin", + "Copyright[ca]": "© 2013 Azat Khuzhin", + "Copyright[cs]": "© 2013 Azat Khuzhin", + "Copyright[da]": "© 2013 Azat Khuzhin", + "Copyright[de]": "© 2013 Azat Khuzhin", + "Copyright[el]": "© 2013 Azat Khuzhin", + "Copyright[en_GB]": "© 2013 Azat Khuzhin", + "Copyright[eo]": "© 2013 Azat Khuzhin", + "Copyright[es]": "© 2013 Azat Khuzhin", + "Copyright[et]": "© 2013: Azat Khuzhin", + "Copyright[eu]": "© 2013 Azat Khuzhin", + "Copyright[fi]": "© 2013 Azat Khuzhin", + "Copyright[fr]": "© 2013 Azat Khuzhin", + "Copyright[gl]": "© 2013 Azat Khuzhin", + "Copyright[he]": "© 2013 אזאת חוזין", + "Copyright[hu]": "© Azat Khuzhin, 2013.", + "Copyright[ia]": "© 2013 Azat Khuzhin", + "Copyright[ie]": "© 2013 Azat Khuzhin", + "Copyright[is]": "© 2013 Azat Khuzhin", + "Copyright[it]": "© 2013 Azat Khuzhin", + "Copyright[ka]": "© 2013 Azat Khuzhin", + "Copyright[ko]": "© 2013 Azat Khuzhin", + "Copyright[lt]": "© 2013 Azat Khuzhin", + "Copyright[lv]": "© 2013 Azat Khuzhin", + "Copyright[nl]": "© 2013 Azat Khuzhin", + "Copyright[nn]": "© 2013 Azat Khuzhin", + "Copyright[pa]": "© 2013 Azat Khuzhin", + "Copyright[pl]": "© 2013 Azat Khuzhin", + "Copyright[pt]": "© 2013 Azat Khuzhin", + "Copyright[pt_BR]": "© 2013 Azat Khuzhin", + "Copyright[ro]": "© 2013 Azat Khuzhin", + "Copyright[ru]": "© Азат Хужин, 2013", + "Copyright[sa]": "© 2013 आजत खुझिन", + "Copyright[sk]": "© 2013 Azat Khuzhin", + "Copyright[sl]": "© 2013 Azat Khuzhin", + "Copyright[sr@ijekavian]": "© 2013, Азат Хужин", + "Copyright[sr@ijekavianlatin]": "© 2013, Azat Hužin", + "Copyright[sr@latin]": "© 2013, Azat Hužin", + "Copyright[sr]": "© 2013, Азат Хужин", + "Copyright[sv]": "© 2013 Azat Khuzhin", + "Copyright[tr]": "© 2013 Azat Hujin", + "Copyright[uk]": "© Azat Khuzhin, 2013", + "Copyright[vi]": "© 2013 Azat Khuzhin", + "Copyright[zh_CN]": "© 2013 Azat Khuzhin", + "Copyright[zh_TW]": "© 2013 Azat Khuzhin", + "Description": "Txt backend", + "Description[ar]": "خلفية النص", + "Description[az]": "Txt modulu", + "Description[be]": "Рухавік txt", + "Description[bg]": "Бекенд на Txt ", + "Description[ca@valencia]": "Dorsal de txt", + "Description[ca]": "Dorsal de txt", + "Description[cs]": "Podpůrná vrstva txt", + "Description[da]": "Txt-backend", + "Description[de]": "Anzeigemodul für Textformat", + "Description[el]": "Σύστημα υποστήριξης txt", + "Description[en_GB]": "Txt backend", + "Description[eo]": "Txt-backend", + "Description[es]": "Motor Txt", + "Description[et]": "Txt taustaprogramm", + "Description[eu]": "Txt-ren bizkarraldekoa", + "Description[fi]": "Txt-taustaosa", + "Description[fr]": "Moteur Txt", + "Description[gl]": "Motor de texto simple.", + "Description[he]": "מנגנון טקסט", + "Description[hu]": "TXT modul", + "Description[ia]": "Retro-administration per Txt ", + "Description[ie]": "Infrastructura Txt", + "Description[is]": "Txt-bakendi", + "Description[it]": "Backend di testo semplice", + "Description[ka]": "Txt უკანაბოლო", + "Description[ko]": "TXT 백엔드", + "Description[lt]": "Txt programinė sąsaja", + "Description[lv]": "Txt aizmugursistēma", + "Description[nl]": "Txt-backend", + "Description[nn]": "Txt-motor", + "Description[pa]": "Txt ਬੈਕਐਂਡ", + "Description[pl]": "Obsługa plików tekstowych", + "Description[pt]": "Infra-estrutura de TXT", + "Description[pt_BR]": "Infraestrutura Txt", + "Description[ro]": "Platformă Txt", + "Description[ru]": "Модуль поддержки формата Txt", + "Description[sa]": "Txt पृष्ठभाग", + "Description[sk]": "Txt backend", + "Description[sl]": "Zaledje za txt", + "Description[sr@ijekavian]": "Позадина за текст", + "Description[sr@ijekavianlatin]": "Pozadina za tekst", + "Description[sr@latin]": "Pozadina za tekst", + "Description[sr]": "Позадина за текст", + "Description[sv]": "Textgränssnitt", + "Description[tr]": "Txt arka ucu", + "Description[uk]": "Модуль тексту", + "Description[vi]": "Hậu phương Txt", + "Description[zh_CN]": "纯文本后端程序", + "Description[zh_TW]": "Txt 後端介面", + "License": "GPL", + "MimeTypes": [ + "text/plain" + ], + "Name": "Txt Backend", + "Name[ar]": "خلفية النص", + "Name[az]": "Txt modulu", + "Name[be]": "Рухавік Txt", + "Name[bg]": "Бекенд на Txt ", + "Name[ca@valencia]": "Dorsal txt", + "Name[ca]": "Dorsal txt", + "Name[cs]": "Podpůrná vrstva txt", + "Name[da]": "Txt-backend", + "Name[de]": "Anzeigemodul für Textformat", + "Name[el]": "Σύστημα υποστήριξης txt", + "Name[en_GB]": "Txt Backend", + "Name[eo]": "Txt-Backend", + "Name[es]": "Motor para Txt", + "Name[et]": "Txt taustaprogramm", + "Name[eu]": "Txt-ren bizkarraldekoa", + "Name[fi]": "Txt-taustaosa", + "Name[fr]": "Moteur Txt", + "Name[gl]": "Motor de texto simple", + "Name[he]": "מנגנון טקסט", + "Name[hu]": "TXT modul", + "Name[ia]": "Retro-administration per Txt ", + "Name[ie]": "Infrastructura de textu", + "Name[is]": "Txt-bakendi", + "Name[it]": "Backend di testo semplice", + "Name[ka]": "Txt უკანაბოლო", + "Name[ko]": "TXT 백엔드", + "Name[lt]": "Txt programinė sąsaja", + "Name[lv]": "Txt aizmugursistēma", + "Name[nl]": "Txt-backend", + "Name[nn]": "Txt-motor", + "Name[pa]": "Txt ਬੈਕਐਂਡ", + "Name[pl]": "Obsługa plików tekstowych", + "Name[pt]": "Infra-Estrutura de TXT", + "Name[pt_BR]": "Infraestrutura Txt", + "Name[ro]": "Platformă Txt", + "Name[ru]": "Модуль поддержки формата Txt", + "Name[sa]": "Txt Backend इति", + "Name[sk]": "Txt backend", + "Name[sl]": "Zaledje za txt", + "Name[sr@ijekavian]": "Позадина за текст", + "Name[sr@ijekavianlatin]": "Pozadina za tekst", + "Name[sr@latin]": "Pozadina za tekst", + "Name[sr]": "Позадина за текст", + "Name[sv]": "Textgränssnitt", + "Name[ta]": "உரைக்கோப்பு பின்நிலை", + "Name[tr]": "Txt Arka Ucu", + "Name[uk]": "Модуль тексту", + "Name[vi]": "Hậu phương Txt", + "Name[zh_CN]": "纯文本后端程序", + "Name[zh_TW]": "Txt 後端介面", + "Version": "0.1" + }, + "X-KDE-Priority": 2, + "X-KDE-okularAPIVersion": 1, + "X-KDE-okularHasInternalSettings": true +} diff --git a/generators/txt/okularApplication_txt.desktop b/generators/txt/okularApplication_txt.desktop new file mode 100644 index 0000000..c28cfcf --- /dev/null +++ b/generators/txt/okularApplication_txt.desktop @@ -0,0 +1,257 @@ +[Desktop Entry] +MimeType=text/plain; +Terminal=false +Name=Okular +Name[ar]=اوكلار +Name[az]=Okular +Name[be]=Okular +Name[bg]=Okular +Name[bs]=Okular +Name[ca]=Okular +Name[ca@valencia]=Okular +Name[cs]=Okular +Name[da]=Okular +Name[de]=Okular +Name[el]=Okular +Name[en_GB]=Okular +Name[eo]=Okular +Name[es]=Okular +Name[et]=Okular +Name[eu]=Okular +Name[fi]=Okular +Name[fr]=Okular +Name[ga]=Okular +Name[gl]=Okular +Name[he]=Okular +Name[hne]=ओकुलर +Name[hr]=Okular +Name[hu]=Okular +Name[ia]=Okular +Name[ie]=Okular +Name[is]=Okular +Name[it]=Okular +Name[ja]=Okular +Name[ka]=Okular +Name[kk]=Okular +Name[km]=Okular +Name[ko]=Okular +Name[ku]=Okular +Name[lt]=Okular +Name[lv]=Okular +Name[mr]=ओक्युलर +Name[nb]=Okular +Name[nds]=Okular +Name[nl]=Okular +Name[nn]=Okular +Name[pa]=ਓਕੁਲਾਰ +Name[pl]=Okular +Name[pt]=Okular +Name[pt_BR]=Okular +Name[ro]=Okular +Name[ru]=Okular +Name[sa]=नेत्रस्य +Name[si]=Okular +Name[sk]=Okular +Name[sl]=Okular +Name[sq]=Okular +Name[sr]=Окулар +Name[sr@ijekavian]=Окулар +Name[sr@ijekavianlatin]=Okular +Name[sr@latin]=Okular +Name[sv]=Okular +Name[ta]=ஆக்குலர் +Name[th]=โอกูลาร์ +Name[tr]=Okular +Name[ug]=Okular +Name[uk]=Okular +Name[vi]=Okular +Name[zh_CN]=Okular 文档查看器 +Name[zh_TW]=Okular +GenericName=Document Viewer +GenericName[ar]=عارض المستندات +GenericName[az]=Sənədə baxış vasitısi +GenericName[be]=Сродак для прагляду дакументаў +GenericName[bg]=Преглед на документи +GenericName[bs]=Prikazivač dokumenata +GenericName[ca]=Visualitzador de documents +GenericName[ca@valencia]=Visor de documents +GenericName[cs]=Prohlížeč dokumentů +GenericName[da]=Dokumentfremviser +GenericName[de]=Dokumentenbetrachter +GenericName[el]=Προβολέας εγγράφων +GenericName[en_GB]=Document Viewer +GenericName[eo]=Dokumenta rigardilo +GenericName[es]=Visor de documentos +GenericName[et]=Dokumendinäitaja +GenericName[eu]=Dokumentu erakuslea +GenericName[fa]=مشاهده‌گر سند +GenericName[fi]=Asiakirjakatselin +GenericName[fr]=Afficheur de documents +GenericName[ga]=Amharcán Cáipéisí +GenericName[gl]=Visor de documentos +GenericName[he]=מציג מסמכים +GenericName[hi]=दस्तावेज़ प्रदर्शक +GenericName[hne]=कागद प्रदर्सक +GenericName[hr]=Preglednik dokumenata +GenericName[hu]=Dokumentummegjelenítő +GenericName[ia]=Visor de documento +GenericName[ie]=Visor de documentes +GenericName[is]=Skjalaskoðari +GenericName[it]=Visore di documenti +GenericName[ja]=文書ビューア +GenericName[ka]=დოკუმენტების მნახველი +GenericName[kk]=Құжатты қарау құралы +GenericName[km]=កម្មវិធី​មើល​ឯកសារ +GenericName[ko]=문서 뷰어 +GenericName[ku]=Nîşanderê Belgeyan +GenericName[lt]=Dokumentų žiūryklė +GenericName[lv]=Dokumentu skatītājs +GenericName[mr]=दस्तऐवज प्रदर्शक +GenericName[nb]=Dokumentviser +GenericName[nds]=Dokmentkieker +GenericName[ne]=कागजात दर्शक +GenericName[nl]=Documentenviewer +GenericName[nn]=Dokumentvisar +GenericName[oc]=Visualizaire de documents +GenericName[pa]=ਡੌਕੂਮੈਂਟ ਦਰਸ਼ਕ +GenericName[pl]=Przeglądarka dokumentów +GenericName[pt]=Visualizador de Documentos +GenericName[pt_BR]=Visualizador de documentos +GenericName[ro]=Vizualizor de documente +GenericName[ru]=Просмотр документов +GenericName[sa]=दस्तावेज दर्शक +GenericName[sk]=Prehliadač dokumentov +GenericName[sl]=Pregledovalnik dokumentov +GenericName[sq]=Shikues dokumentesh +GenericName[sr]=Приказивач докумената +GenericName[sr@ijekavian]=Приказивач докумената +GenericName[sr@ijekavianlatin]=Prikazivač dokumenata +GenericName[sr@latin]=Prikazivač dokumenata +GenericName[sv]=Dokumentvisare +GenericName[ta]=ஆவணங் காட்டி +GenericName[th]=เครื่องมือแสดงเอกสาร +GenericName[tr]=Belge Görüntüleyicisi +GenericName[ug]=پۈتۈك كۆرگۈ +GenericName[uk]=Переглядач документів +GenericName[vi]=Trình xem tài liệu +GenericName[zh_CN]=文档查看器 +GenericName[zh_TW]=文件檢視器 +Comment=Universal document viewer +Comment[ar]=عارض المستندات عالمي +Comment[az]=Sənədə universal baxış vasitəsi +Comment[be]=Універсальны сродак для прагляду дакументаў +Comment[bg]=Универсална програма за преглед на документи +Comment[ca]=Visualitzador universal de documents +Comment[ca@valencia]=Visor universal de documents +Comment[cs]=Univerzální prohlížeč dokumentů +Comment[da]=Universel dokumentfremviser +Comment[de]=Universeller Dokumentenbetrachter +Comment[el]=Καθολικός προβολέας εγγράφων +Comment[en_GB]=Universal document viewer +Comment[eo]=Universala dokumenta spektilo +Comment[es]=Visor de documentos universal +Comment[et]=Universaalne dokumendinäitaja +Comment[eu]=Dokumentu erakusle unibertsala +Comment[fi]=Yleinen asiakirjakatselin +Comment[fr]=Afficheur de document universel +Comment[gl]=Visor de documentos universal. +Comment[he]=מציג מסמכים אוניברסלי +Comment[hu]=Univerzális dokumentummegjelenítő +Comment[ia]=Visor de documento universal +Comment[ie]=Universal visor de documentes +Comment[is]=Fjölhæfur skjalaskoðari +Comment[it]=Visore di documenti universale +Comment[ja]=多用途な文書ビューア +Comment[ka]=დოკუმენტების პოპულარული ფორმატების გამხსნელი +Comment[ko]=만능 문서 뷰어 +Comment[lt]=Universali dokumentų žiūryklė +Comment[lv]=Universāls dokumentu skatītājs +Comment[nl]=Universele documentviewer +Comment[nn]=Dokumentvisar for mange format +Comment[pa]=ਯੂਨੀਵਰਸਲ ਡੌਕੂਮੈਂਟ ਦਰਸ਼ਕ +Comment[pl]=Wszechstronna przeglądarka dokumentów +Comment[pt]=Visualizador de documentos universal +Comment[pt_BR]=Visualizador de documentos universal +Comment[ro]=Vizualizor de documente universal +Comment[ru]=Универсальная программа просмотра документов +Comment[sa]=सार्वभौमिक दस्तावेज दर्शक +Comment[sk]=Univerzálny prehliadač dokumentov +Comment[sl]=Vsestranski pregledovalnik dokumentov +Comment[sq]=Shikues univerzal dokumentesh +Comment[sr]=Универзални приказивач докумената +Comment[sr@ijekavian]=Универзални приказивач докумената +Comment[sr@ijekavianlatin]=Univerzalni prikazivač dokumenata +Comment[sr@latin]=Univerzalni prikazivač dokumenata +Comment[sv]=Generell dokumentvisare +Comment[ta]=அனைத்து ஆவணங்களுக்கான காட்டி +Comment[tr]=Çok amaçlı belge görüntüleyicisi +Comment[uk]=Універсальний переглядач документів +Comment[vi]=Trình xem tài liệu vạn năng +Comment[zh_CN]=通用文档查看器 +Comment[zh_TW]=通用文件檢視器 +Exec=okular %U +Icon=okular +Type=Application +InitialPreference=3 +Categories=Qt;KDE;Graphics;Viewer; +NoDisplay=true +X-KDE-Keywords=txt +X-KDE-Keywords[ar]=txt +X-KDE-Keywords[az]=txt +X-KDE-Keywords[be]=txt +X-KDE-Keywords[bg]=txt +X-KDE-Keywords[bs]=txt +X-KDE-Keywords[ca]=txt +X-KDE-Keywords[ca@valencia]=txt +X-KDE-Keywords[cs]=txt +X-KDE-Keywords[da]=txt +X-KDE-Keywords[de]=Text +X-KDE-Keywords[el]=txt +X-KDE-Keywords[en_GB]=txt +X-KDE-Keywords[eo]=txt +X-KDE-Keywords[es]=txt +X-KDE-Keywords[et]=txt +X-KDE-Keywords[eu]=txt +X-KDE-Keywords[fi]=txt +X-KDE-Keywords[fr]=txt +X-KDE-Keywords[gl]=txt +X-KDE-Keywords[he]=txt +X-KDE-Keywords[hu]=txt +X-KDE-Keywords[ia]=txt +X-KDE-Keywords[ie]=txt +X-KDE-Keywords[is]=txt +X-KDE-Keywords[it]=txt, testo +X-KDE-Keywords[ja]=txt +X-KDE-Keywords[ka]=txt +X-KDE-Keywords[kk]=txt +X-KDE-Keywords[ko]=txt +X-KDE-Keywords[lt]=txt +X-KDE-Keywords[lv]=txt +X-KDE-Keywords[mr]=txt +X-KDE-Keywords[nb]=txt +X-KDE-Keywords[nds]=txt +X-KDE-Keywords[nl]=txt +X-KDE-Keywords[nn]=txt +X-KDE-Keywords[pa]=txt +X-KDE-Keywords[pl]=txt +X-KDE-Keywords[pt]=txt +X-KDE-Keywords[pt_BR]=txt +X-KDE-Keywords[ro]=txt +X-KDE-Keywords[ru]=txt +X-KDE-Keywords[sa]=txt +X-KDE-Keywords[sk]=txt +X-KDE-Keywords[sl]=txt +X-KDE-Keywords[sq]=txt +X-KDE-Keywords[sr]=txt,обични,текст +X-KDE-Keywords[sr@ijekavian]=txt,обични,текст +X-KDE-Keywords[sr@ijekavianlatin]=txt,obični,tekst +X-KDE-Keywords[sr@latin]=txt,obični,tekst +X-KDE-Keywords[sv]=txt +X-KDE-Keywords[ta]=txt, உரை, உரைக்கோப்பு +X-KDE-Keywords[tr]=txt +X-KDE-Keywords[ug]=txt +X-KDE-Keywords[uk]=txt +X-KDE-Keywords[vi]=txt +X-KDE-Keywords[zh_CN]=txt, wenben, 文本 +X-KDE-Keywords[zh_TW]=txt +X-KDE-AliasFor=org.kde.okular.desktop diff --git a/generators/txt/org.kde.mobile.okular_txt.desktop b/generators/txt/org.kde.mobile.okular_txt.desktop new file mode 100644 index 0000000..ac7a2fe --- /dev/null +++ b/generators/txt/org.kde.mobile.okular_txt.desktop @@ -0,0 +1,251 @@ +[Desktop Entry] +MimeType=text/plain; +Name=Reader +Name[ar]=التصيير +Name[az]=Oxuyucu +Name[be]=Сродак чытання +Name[bg]=Четец +Name[bs]=Čitač +Name[ca]=Lector +Name[ca@valencia]=Lector +Name[cs]=Čtečka +Name[da]=Læser +Name[de]=Lesegerät +Name[el]=Πρόγραμμα ανάγνωσης +Name[en_GB]=Reader +Name[eo]=Legilo +Name[es]=Lector +Name[et]=Lugeja +Name[eu]=Irakurlea +Name[fi]=Lukija +Name[fr]=Lecteur +Name[ga]=Léitheoir +Name[gl]=Lector +Name[he]=קורא +Name[hu]=Olvasó +Name[ia]=Lector +Name[ie]=Letor +Name[is]=Lesari +Name[it]=Lettore +Name[ja]=リーダ +Name[ka]=მკითხველი +Name[kk]=Оқу құралы +Name[ko]=리더 +Name[lt]=Skaitytuvas +Name[lv]=Lasītājs +Name[mr]=वाचक +Name[nb]=Leser +Name[nds]=Leser +Name[nl]=Lezer +Name[nn]=Lesar +Name[pa]=ਰੀਡਰ +Name[pl]=Czytnik +Name[pt]=Leitor +Name[pt_BR]=Leitor +Name[ro]=Cititor +Name[ru]=Просмотрщик +Name[sa]=पाठकः +Name[sk]=Čítačka +Name[sl]=Bralnik +Name[sq]=Reader +Name[sr]=Читач +Name[sr@ijekavian]=Читач +Name[sr@ijekavianlatin]=Čitač +Name[sr@latin]=Čitač +Name[sv]=Läsprogram +Name[ta]=காட்டி +Name[tr]=Okuyucu +Name[ug]=ئوقۇغۇ +Name[uk]=Переглядач +Name[vi]=Trình đọc +Name[zh_CN]=阅读器 +Name[zh_TW]=閱讀器 +GenericName=Document viewer +GenericName[ar]=عارض المستندات +GenericName[az]=Sənədə baxış vasitısi +GenericName[be]=Сродак для прагляду дакументаў +GenericName[bg]=Преглед на документи +GenericName[bs]=Prikazivač dokumenata +GenericName[ca]=Visualitzador de documents +GenericName[ca@valencia]=Visor de documents +GenericName[cs]=Prohlížeč dokumentů +GenericName[da]=Dokumentfremviser +GenericName[de]=Dokumentenbetrachter +GenericName[el]=Προβολέας εγγράφων +GenericName[en_GB]=Document Viewer +GenericName[eo]=Dokumentrigardilo +GenericName[es]=Visor de documentos +GenericName[et]=Dokumendinäitaja +GenericName[eu]=Dokumentu erakuslea +GenericName[fi]=Asiakirjakatselin +GenericName[fr]=Afficheur de document +GenericName[ga]=Amharcán cáipéisí +GenericName[gl]=Visor de documentos +GenericName[he]=מציג מסמכים +GenericName[hi]=दस्तावेज़ प्रदर्शक +GenericName[hu]=Dokumentummegjelenítő +GenericName[ia]=Visor de documento +GenericName[ie]=Visor de documentes +GenericName[is]=Skjalaskoðari +GenericName[it]=Visore di documenti +GenericName[ja]=文書ビューア +GenericName[ka]=დოკუმენტების მნახველი +GenericName[kk]=Құжатты қарау құралы +GenericName[ko]=문서 뷰어 +GenericName[lt]=Dokumentų žiūryklė +GenericName[lv]=Dokumentu skatītājs +GenericName[mr]=दस्तऐवज प्रदर्शक +GenericName[nb]=Dokumentviser +GenericName[nds]=Dokmentkieker +GenericName[nl]=Documentenviewer +GenericName[nn]=Dokumentvisar +GenericName[pa]=ਡੌਕੂਮੈਂਟ ਦਰਸ਼ਕ +GenericName[pl]=Przeglądarka dokumentów +GenericName[pt]=Visualizador de documentos +GenericName[pt_BR]=Visualizador de documentos +GenericName[ro]=Vizualizor de documente +GenericName[ru]=Просмотр документов +GenericName[sa]=दस्तावेजदर्शकः +GenericName[sk]=Prehliadač dokumentov +GenericName[sl]=Pregledovalnik dokumentov +GenericName[sq]=Shikues dokumentesh +GenericName[sr]=Приказивач докумената +GenericName[sr@ijekavian]=Приказивач докумената +GenericName[sr@ijekavianlatin]=Prikazivač dokumenata +GenericName[sr@latin]=Prikazivač dokumenata +GenericName[sv]=Dokumentvisare +GenericName[ta]=ஆவணங் காட்டி +GenericName[tr]=Belge Görüntüleyicisi +GenericName[uk]=Переглядач документів +GenericName[vi]=Trình xem tài liệu +GenericName[zh_CN]=文档查看器 +GenericName[zh_TW]=文件檢視器 +Comment=Viewer for various types of documents +Comment[ar]=عارض للعديد من أنواع المستندات +Comment[az]=Müxtəlif növlü sənədlər üçün görüntüləyici +Comment[be]=Сродак для прагляду разнастайных тыпаў дакументаў +Comment[bg]=Преглед на различни видове документи +Comment[bs]=Pregledač raznih vrsta dokumenata +Comment[ca]=Visualitzador de diversos tipus de documents +Comment[ca@valencia]=Visor de diversos tipus de documents +Comment[cs]=Prohlížeč různých typů dokumentů +Comment[da]=Fremviser af diverse dokumenttyper +Comment[de]=Betrachter für verschiedene Arten von Dokumenten +Comment[el]=Πρόγραμμα προβολής για διάφορους τύπους εγγράφων +Comment[en_GB]=Viewer for various types of documents +Comment[eo]=Vidilo por diversaj specoj de dokumentoj +Comment[es]=Visor de diversos tipos de documentos +Comment[et]=Eri tüüpi dokumentide näitaja +Comment[eu]=Hainbat dokumentu moten erakuslea +Comment[fi]=Monenlaisten asiakirjojen katseluohjelma +Comment[fr]=Afficheur pour différents types de documents +Comment[ga]=Amharcán le haghaidh cáipéisí éagsúla +Comment[gl]=Visor de varios tipos de documentos. +Comment[he]=מציג למגוון סוגי מסמכים +Comment[hu]=Megjelenítő különféle típusú dokumentumokhoz +Comment[ia]=Visor pro varie typos de documento +Comment[ie]=Visor por varie tipes de documentes +Comment[is]=Skoðari fyrir ýmsar gerðir skjala +Comment[it]=Visore per vari tipi di documenti +Comment[ja]=様々なタイプの文書のためのビューア +Comment[ka]=სხვადასხვა ტიპების დოკუმენტების დათვალიერება +Comment[kk]=Түрлі құжаттар қарау құралы +Comment[ko]=여러 형식의 문서 뷰어 +Comment[lt]=Žiūryklė įvairiems dokumentų tipams +Comment[lv]=Dažādu dokumentu tipu skatītājs +Comment[mr]=विविध प्रकारच्या दस्तऐवजांचा प्रदर्शक +Comment[nb]=Framviser for forskjellige dokumenttyper +Comment[nds]=Kieker för en Reeg Dokmenttypen +Comment[nl]=Viewer voor verschillende typen documenten +Comment[nn]=Framvisar for forskjellige dokumenttypar +Comment[pa]=ਕਈ ਕਿਸਮ ਦੇ ਡੌਕੂਮੈਂਟ ਵੇਖਾਉਣ ਲਈ ਦਰਸ਼ਕ +Comment[pl]=Przeglądarka dla różnych typów dokumentów +Comment[pt]=Visualizador de vários tipos de documentos +Comment[pt_BR]=Visualizador para vários tipos de documentos +Comment[ro]=Vizualizor pentru diferite tipuri de documente +Comment[ru]=Программа для просмотра различных типов документов +Comment[sa]=विभिन्नप्रकारस्य दस्तावेजानां कृते दर्शकः +Comment[sk]=Prehliadač pre rôzne typy dokumentov +Comment[sl]=Pregledovalnik raznih vrst dokumentov +Comment[sq]=Shikues për lloje të ndryshme të dokumentave +Comment[sr]=Приказивач различитих врста докумената +Comment[sr@ijekavian]=Приказивач различитих врста докумената +Comment[sr@ijekavianlatin]=Prikazivač različitih vrsta dokumenata +Comment[sr@latin]=Prikazivač različitih vrsta dokumenata +Comment[sv]=Visningsprogram för diverse typer av dokument +Comment[ta]=பலவகையான ஆவணங்களுக்கான காட்டி +Comment[tr]=Çeşitli belge türleri için görüntüleyici +Comment[ug]=ھەر خىل تىپتىكى پۈتۈكلەرنى كۆرىدىغان پروگرامما +Comment[uk]=Програма для перегляду документів різних типів +Comment[vi]=Trình xem các kiểu tài liệu khác nhau +Comment[zh_CN]=支持查看多种文档类型 +Comment[zh_TW]=多種型態文件的檢視器 + +TryExec=okularkirigami +Exec=okularkirigami %u +Terminal=false +Icon=okular +Type=Application +Categories=Qt;KDE;Graphics;Office;Viewer; +InitialPreference=2 +NoDisplay=true +X-KDE-Keywords=txt +X-KDE-Keywords[ar]=txt +X-KDE-Keywords[az]=txt +X-KDE-Keywords[be]=txt +X-KDE-Keywords[bg]=txt +X-KDE-Keywords[bs]=txt +X-KDE-Keywords[ca]=txt +X-KDE-Keywords[ca@valencia]=txt +X-KDE-Keywords[cs]=txt +X-KDE-Keywords[da]=txt +X-KDE-Keywords[de]=Text +X-KDE-Keywords[el]=txt +X-KDE-Keywords[en_GB]=txt +X-KDE-Keywords[eo]=txt +X-KDE-Keywords[es]=txt +X-KDE-Keywords[et]=txt +X-KDE-Keywords[eu]=txt +X-KDE-Keywords[fi]=txt +X-KDE-Keywords[fr]=txt +X-KDE-Keywords[gl]=txt +X-KDE-Keywords[he]=txt +X-KDE-Keywords[hu]=txt +X-KDE-Keywords[ia]=txt +X-KDE-Keywords[ie]=txt +X-KDE-Keywords[is]=txt +X-KDE-Keywords[it]=txt, testo +X-KDE-Keywords[ja]=txt +X-KDE-Keywords[ka]=txt +X-KDE-Keywords[kk]=txt +X-KDE-Keywords[ko]=txt +X-KDE-Keywords[lt]=txt +X-KDE-Keywords[lv]=txt +X-KDE-Keywords[mr]=txt +X-KDE-Keywords[nb]=txt +X-KDE-Keywords[nds]=txt +X-KDE-Keywords[nl]=txt +X-KDE-Keywords[nn]=txt +X-KDE-Keywords[pa]=txt +X-KDE-Keywords[pl]=txt +X-KDE-Keywords[pt]=txt +X-KDE-Keywords[pt_BR]=txt +X-KDE-Keywords[ro]=txt +X-KDE-Keywords[ru]=txt +X-KDE-Keywords[sa]=txt +X-KDE-Keywords[sk]=txt +X-KDE-Keywords[sl]=txt +X-KDE-Keywords[sq]=txt +X-KDE-Keywords[sr]=txt,обични,текст +X-KDE-Keywords[sr@ijekavian]=txt,обични,текст +X-KDE-Keywords[sr@ijekavianlatin]=txt,obični,tekst +X-KDE-Keywords[sr@latin]=txt,obični,tekst +X-KDE-Keywords[sv]=txt +X-KDE-Keywords[ta]=txt, உரை, உரைக்கோப்பு +X-KDE-Keywords[tr]=txt +X-KDE-Keywords[ug]=txt +X-KDE-Keywords[uk]=txt +X-KDE-Keywords[vi]=txt +X-KDE-Keywords[zh_CN]=txt, wenben, 文本 +X-KDE-Keywords[zh_TW]=txt +X-KDE-AliasFor=org.kde.okular.kirigami.desktop diff --git a/generators/txt/org.kde.okular-txt.metainfo.xml b/generators/txt/org.kde.okular-txt.metainfo.xml new file mode 100644 index 0000000..c34f74a --- /dev/null +++ b/generators/txt/org.kde.okular-txt.metainfo.xml @@ -0,0 +1,136 @@ + + + org.kde.okular-txt + org.kde.okular.desktop + CC0-1.0 + GPL-2.0+ and GFDL-1.3 + Text + نص صرف + Testu + Text + Тэкст + Текст + Text + Text + Text + Text + Text + Text + Text + Texto + Tekst + Testua + Teksti + Texte + Texto + טקסט + पाठ + Szöveg + Texto + Texti + Testo + ტექსტი + 텍스트 + Tekstas + Teksts + വാചകം + Tekst + Tekst + Tekst + Texto + Texto + Text + Текст + पाठ + Text + Besedilo + Текст + Tekst + Текст + Tekst + Text + உரைக்கோப்பு + Metin + Текст + Văn bản + 文本 + 文字 + Adds support for reading plain text documents + يضيف دعم لقراءة مستندات النصية الصرفة + Adi mətn sənədlərini oxumaq üçün dəstək əlavə edir + Падтрымка чытання дакументаў txt + Добавя поддръжка за четене на текстови документи + Afegeix la implementació per a llegir documents de text net + Afig la implementació per a llegir documents de text net + Přidává podporu pro čtení dokumentů v čistém textu + Bietet Unterstützung zum Lesen von Text-Dokumenten + Προσθέτει υποστήριξη για την ανάγνωση εγγράφων απλού κειμένου + Adds support for reading plain text documents + Aldonas subtenon por legi platajn tekstdokumentojn + Permite la lectura de documentos de texto sin formato + Lihttekstidokumentide lugemise toetus + Testu arrunteko dokumentuak irakurtzeko euskarria gehitzen du + Lisää paljaiden tekstitiedostojen lukutuen + Permet la lecture des fichiers texte + Engade a posibilidade de ler documentos de texto simple + מוסיף תמיכה בקריאת מסמכי טקסט פשוט + सादा पाठ दस्तावेज़ पढ़ने के लिए समर्थन जोड़ता है + Támogatás egyszerű szöveges dokumentumok olvasásához + Adde supporto per leger documentos plan + Bætir við stuðningi til að lesa skjöl með hreinum texta + Aggiunge il supporto per la lettura di documenti in testo semplice + ამატებს უბრალო ტექსტური დოკუმენტების კითხვის მხარდაჭერას + 일반 텍스트 문서 읽기 지원 추가 + Prideda palaikymą grynų tekstinių dokumentų skaitymui + Pievieno atbalstu vienkārša teksta dokumentu lasīšanai + Voegt ondersteuning voor lezen van gewone tekstdocumenten toe + Legg til støtte for å lesa reintekstdokument + Dodaje obsługę zwykłych plików tekstowych + Adiciona o suporte para ler documentos em texto simples + Adiciona o suporte para leitura de documentos em texto simples + Adaugă suport pentru citirea documentelor cu text simplu + Поддержка чтения простых текстовых документов + साधारणपाठदस्तावेजानां पठनार्थं समर्थनं योजयति + Pridá podporu pre čítanie čistých textových dokumentov + Doda podporo za branje besedilnih dokumentov + Подршка за читање докумената у обичном тексту + Podrška za čitanje dokumenata u običnom tekstu + Подршка за читање докумената у обичном тексту + Podrška za čitanje dokumenata u običnom tekstu + Lägger till stöd för att läsa enkla textdokument + சாதாரண உரைக்கோப்புகளைப் படிப்பதற்கான ஆதரவை சேர்க்கும் + Düz metin belgelerini okuma desteği ekler + Додає підтримку читання звичайних текстових документів + Thêm hỗ trợ đọc tài liệu văn bản thuần + 增加对纯文本文档的阅读支持 + 加入讀取純文字文件的支援 + + text/plain + + https://okular.kde.org + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/generators/xps/.emacs-dirvars b/generators/xps/.emacs-dirvars new file mode 100644 index 0000000..5f00d7b --- /dev/null +++ b/generators/xps/.emacs-dirvars @@ -0,0 +1,12 @@ +;; -*- emacs-lisp -*- +;; +;; This file is processed by the dirvars emacs package. Each variable +;; setting below is performed when this dirvars file is loaded. +;; +indent-tabs-mode: nil +tab-width: 8 +c-basic-offset: 4 +evaluate: (c-set-offset 'innamespace '0) +kde-emacs-after-parent-string: "" +evaluate: (c-set-offset 'inline-open '0) +kdab-qt-version: 4 diff --git a/generators/xps/CMakeLists.txt b/generators/xps/CMakeLists.txt new file mode 100644 index 0000000..b6d7bdc --- /dev/null +++ b/generators/xps/CMakeLists.txt @@ -0,0 +1,21 @@ +remove_definitions(-DTRANSLATION_DOMAIN="okular") +add_definitions(-DTRANSLATION_DOMAIN="okular_xps") + +########### next target ############### + +set(okularGenerator_xps_SRCS + generator_xps.cpp +) + +okular_add_generator(okularGenerator_xps ${okularGenerator_xps_SRCS}) + +target_link_libraries(okularGenerator_xps okularcore KF6::Archive KF6::I18n Qt6::PrintSupport Qt6::Xml) + +########### install files ############### +if (BUILD_DESKTOP) + install( PROGRAMS okularApplication_xps.desktop DESTINATION ${KDE_INSTALL_APPDIR} ) +endif() +if (BUILD_MOBILE) + install( PROGRAMS org.kde.mobile.okular_xps.desktop DESTINATION ${KDE_INSTALL_APPDIR} ) +endif() +install( FILES org.kde.okular-xps.metainfo.xml DESTINATION ${KDE_INSTALL_METAINFODIR} ) diff --git a/generators/xps/Messages.sh b/generators/xps/Messages.sh new file mode 100644 index 0000000..e3d4fd0 --- /dev/null +++ b/generators/xps/Messages.sh @@ -0,0 +1,2 @@ +#!/bin/sh +$XGETTEXT $(find . -name "*.cpp" -o -name "*.h") -o $podir/okular_xps.pot diff --git a/generators/xps/generator_xps.cpp b/generators/xps/generator_xps.cpp new file mode 100644 index 0000000..067be8f --- /dev/null +++ b/generators/xps/generator_xps.cpp @@ -0,0 +1,2133 @@ +/* + SPDX-FileCopyrightText: 2006, 2009 Brad Hards + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "generator_xps.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +OKULAR_EXPORT_PLUGIN(XpsGenerator, "libokularGenerator_xps.json") + +Q_DECLARE_METATYPE(QGradient *) +Q_DECLARE_METATYPE(XpsPathFigure *) +Q_DECLARE_METATYPE(XpsPathGeometry *) + +// From Qt4 +static int hex2int(char hex) +{ + QChar hexchar = QLatin1Char(hex); + int v; + if (hexchar.isDigit()) { + v = hexchar.digitValue(); + } else if (hexchar >= QLatin1Char('A') && hexchar <= QLatin1Char('F')) { + v = hexchar.cell() - 'A' + 10; + } else if (hexchar >= QLatin1Char('a') && hexchar <= QLatin1Char('f')) { + v = hexchar.cell() - 'a' + 10; + } else { + v = -1; + } + return v; +} + +// Modified from Qt4 +static QColor hexToRgba(const QByteArray &name) +{ + const int len = name.length(); + if (len == 0 || name[0] != '#') { + return QColor(); + } + int r, g, b; + int a = 255; + if (len == 7) { + r = (hex2int(name[1]) << 4) + hex2int(name[2]); + g = (hex2int(name[3]) << 4) + hex2int(name[4]); + b = (hex2int(name[5]) << 4) + hex2int(name[6]); + } else if (len == 9) { + a = (hex2int(name[1]) << 4) + hex2int(name[2]); + r = (hex2int(name[3]) << 4) + hex2int(name[4]); + g = (hex2int(name[5]) << 4) + hex2int(name[6]); + b = (hex2int(name[7]) << 4) + hex2int(name[8]); + } else { + r = g = b = -1; + } + if ((uint)r > 255 || (uint)g > 255 || (uint)b > 255) { + return QColor(); + } + return QColor(r, g, b, a); +} + +static QRectF stringToRectF(QStringView data) +{ + const QList numbers = data.split(QLatin1Char(',')); + QPointF origin(numbers.at(0).toDouble(), numbers.at(1).toDouble()); + QSizeF size(numbers.at(2).toDouble(), numbers.at(3).toDouble()); + return QRectF(origin, size); +} + +static bool parseGUID(const QString &guidString, unsigned short guid[16]) +{ + if (guidString.length() <= 35) { + return false; + } + + // Maps bytes to positions in guidString + const static int indexes[] = {6, 4, 2, 0, 11, 9, 16, 14, 19, 21, 24, 26, 28, 30, 32, 34}; + + for (int i = 0; i < 16; i++) { + int hex1 = hex2int(guidString[indexes[i]].cell()); + int hex2 = hex2int(guidString[indexes[i] + 1].cell()); + + if ((hex1 < 0) || (hex2 < 0)) { + return false; + } + + guid[i] = hex1 * 16 + hex2; + } + + return true; +} + +// Read next token of abbreviated path data +static bool nextAbbPathToken(AbbPathToken *token) +{ + int *curPos = &token->curPos; + QString data = token->data; + + while ((*curPos < data.length()) && (data.at(*curPos).isSpace())) { + (*curPos)++; + } + + if (*curPos == data.length()) { + token->type = abtEOF; + return true; + } + + QChar ch = data.at(*curPos); + + if (ch.isNumber() || (ch == QLatin1Char('+')) || (ch == QLatin1Char('-'))) { + int start = *curPos; + while ((*curPos < data.length()) && (!data.at(*curPos).isSpace()) && (data.at(*curPos) != QLatin1Char(',') && (!data.at(*curPos).isLetter() || data.at(*curPos) == QLatin1Char('e')))) { + (*curPos)++; + } + token->number = QStringView {data}.mid(start, *curPos - start).toDouble(); + token->type = abtNumber; + + } else if (ch == QLatin1Char(',')) { + token->type = abtComma; + (*curPos)++; + } else if (ch.isLetter()) { + token->type = abtCommand; + token->command = data.at(*curPos).cell(); + (*curPos)++; + } else { + (*curPos)++; + return false; + } + + return true; +} + +/** + Read point (two reals delimited by comma) from abbreviated path data +*/ +static QPointF getPointFromString(AbbPathToken *token, bool relative, const QPointF currentPosition) +{ + // TODO Check grammar + + QPointF result; + result.rx() = token->number; + nextAbbPathToken(token); + nextAbbPathToken(token); // , + result.ry() = token->number; + nextAbbPathToken(token); + + if (relative) { + result += currentPosition; + } + + return result; +} + +/** + Read point (two reals delimited by comma) from string +*/ +static QPointF getPointFromString(QStringView string) +{ + const int commaPos = string.indexOf(QLatin1Char(QLatin1Char(','))); + if (commaPos == -1 || string.indexOf(QLatin1Char(QLatin1Char(',')), commaPos + 1) != -1) { + return QPointF(); + } + + QPointF result; + bool ok = false; + QStringView ref = string.mid(0, commaPos); + result.setX(ref.toDouble(&ok)); + if (!ok) { + return QPointF(); + } + + ref = string.mid(commaPos + 1); + result.setY(ref.toDouble(&ok)); + if (!ok) { + return QPointF(); + } + + return result; +} + +static Qt::FillRule fillRuleFromString(const QString &data, Qt::FillRule def = Qt::OddEvenFill) +{ + if (data == QLatin1String("EvenOdd")) { + return Qt::OddEvenFill; + } else if (data == QLatin1String("NonZero")) { + return Qt::WindingFill; + } + return def; +} + +/** + Parse an abbreviated path "Data" description + \param data the string containing the whitespace separated values + + \see XPS specification 4.2.3 and Appendix G +*/ +static QPainterPath parseAbbreviatedPathData(const QString &data) +{ + QPainterPath path; + + AbbPathToken token; + + token.data = data; + token.curPos = 0; + + nextAbbPathToken(&token); + + // Used by Smooth cubic curve (command s) + char lastCommand = ' '; + QPointF lastSecondControlPoint; + + while (true) { + if (token.type != abtCommand) { + if (token.type != abtEOF) { + qCWarning(OkularXpsDebug).nospace() << "Error in parsing abbreviated path data (" << token.type << "@" << token.curPos << "): " << data; + } + return path; + } + + char command = QChar::fromLatin1(token.command).toLower().cell(); + bool isRelative = QChar::fromLatin1(token.command).isLower(); + QPointF currPos = path.currentPosition(); + nextAbbPathToken(&token); + + switch (command) { + case 'f': + int rule; + rule = (int)token.number; + if (rule == 0) { + path.setFillRule(Qt::OddEvenFill); + } else if (rule == 1) { + // In xps specs rule 1 means NonZero fill. I think it's equivalent to WindingFill but I'm not sure + path.setFillRule(Qt::WindingFill); + } + nextAbbPathToken(&token); + break; + case 'm': // Move + while (token.type == abtNumber) { + QPointF point = getPointFromString(&token, isRelative, currPos); + path.moveTo(point); + } + break; + case 'l': // Line + while (token.type == abtNumber) { + QPointF point = getPointFromString(&token, isRelative, currPos); + path.lineTo(point); + } + break; + case 'h': // Horizontal line + while (token.type == abtNumber) { + double x = token.number; + if (isRelative) { + x += path.currentPosition().x(); + } + path.lineTo(x, path.currentPosition().y()); + nextAbbPathToken(&token); + } + break; + case 'v': // Vertical line + while (token.type == abtNumber) { + double y = token.number; + if (isRelative) { + y += path.currentPosition().y(); + } + path.lineTo(path.currentPosition().x(), y); + nextAbbPathToken(&token); + } + break; + case 'c': // Cubic bezier curve + while (token.type == abtNumber) { + QPointF firstControl = getPointFromString(&token, isRelative, currPos); + QPointF secondControl = getPointFromString(&token, isRelative, currPos); + QPointF endPoint = getPointFromString(&token, isRelative, currPos); + path.cubicTo(firstControl, secondControl, endPoint); + + lastSecondControlPoint = secondControl; + } + break; + case 'q': // Quadratic bezier curve + while (token.type == abtNumber) { + QPointF point1 = getPointFromString(&token, isRelative, currPos); + QPointF point2 = getPointFromString(&token, isRelative, currPos); + path.quadTo(point1, point2); + } + break; + case 's': // Smooth cubic bezier curve + while (token.type == abtNumber) { + QPointF firstControl; + if ((lastCommand == 's') || (lastCommand == 'c')) { + firstControl = lastSecondControlPoint + (lastSecondControlPoint + path.currentPosition()); + } else { + firstControl = path.currentPosition(); + } + QPointF secondControl = getPointFromString(&token, isRelative, currPos); + QPointF endPoint = getPointFromString(&token, isRelative, currPos); + path.cubicTo(firstControl, secondControl, endPoint); + } + break; + case 'a': // Arc + // TODO Implement Arc drawing + while (token.type == abtNumber) { + /*QPointF rp =*/getPointFromString(&token, isRelative, currPos); + /*double r = token.number;*/ + nextAbbPathToken(&token); + /*double fArc = token.number; */ + nextAbbPathToken(&token); + /*double fSweep = token.number; */ + nextAbbPathToken(&token); + /*QPointF point = */ getPointFromString(&token, isRelative, currPos); + } + break; + case 'z': // Close path + path.closeSubpath(); + break; + } + + lastCommand = command; + } + + return path; +} + +/** + Parse a "Matrix" attribute string + \param csv the comma separated list of values + \return the QTransform corresponding to the affine transform + given in the attribute + + \see XPS specification 7.4.1 +*/ +static QTransform attsToMatrix(const QString &csv) +{ + QStringList values = csv.split(QLatin1Char(',')); + if (values.count() != 6) { + return QTransform(); // that is an identity matrix - no effect + } + return QTransform(values.at(0).toDouble(), values.at(1).toDouble(), values.at(2).toDouble(), values.at(3).toDouble(), values.at(4).toDouble(), values.at(5).toDouble()); +} + +/** + \return Brush with given color or brush specified by reference to resource +*/ +static QBrush parseRscRefColorForBrush(const QString &data) +{ + if (data[0] == QLatin1Char('{')) { + // TODO + qCWarning(OkularXpsDebug) << "Reference" << data; + return QBrush(); + } else { + return QBrush(hexToRgba(data.toLatin1())); + } +} + +/** + \return Pen with given color or Pen specified by reference to resource +*/ +static QPen parseRscRefColorForPen(const QString &data) +{ + if (data[0] == QLatin1Char('{')) { + // TODO + qCWarning(OkularXpsDebug) << "Reference" << data; + return QPen(); + } else { + return QPen(hexToRgba(data.toLatin1())); + } +} + +/** + \return Matrix specified by given data or by referenced dictionary +*/ +static QTransform parseRscRefMatrix(const QString &data) +{ + if (data[0] == QLatin1Char('{')) { + // TODO + qCWarning(OkularXpsDebug) << "Reference" << data; + return QTransform(); + } else { + return attsToMatrix(data); + } +} + +/** + \return Path specified by given data or by referenced dictionary +*/ +static QPainterPath parseRscRefPath(const QString &data) +{ + if (data[0] == QLatin1Char('{')) { + // TODO + qCWarning(OkularXpsDebug) << "Reference" << data; + return QPainterPath(); + } else { + return parseAbbreviatedPathData(data); + } +} + +/** + \return The path of the entry +*/ +static QString entryPath(const QString &entry) +{ + const QChar slash = QChar::fromLatin1('/'); + const int index = entry.lastIndexOf(slash); + QString ret = entry.mid(0, index); + if (index > 0) { + ret.append(slash); + } + if (!ret.startsWith(slash)) { + ret.prepend(slash); + } + return ret; +} + +/** + \return The path of the entry +*/ +static QString entryPath(const KZipFileEntry *entry) +{ + return entryPath(entry->path()); +} + +/** + \return The absolute path of the \p location, according to \p path if it's non-absolute +*/ +static QString absolutePath(const QString &path, const QString &location) +{ + QString retPath; + if (location.startsWith(QLatin1Char('/'))) { + // already absolute + retPath = location; + } else { + QUrl u = QUrl::fromLocalFile(path); + QUrl u2 = QUrl(location); + retPath = u.resolved(u2).toDisplayString(QUrl::PreferLocalFile); + } + // it seems paths & file names can also be percent-encoded + // (XPS won't ever finish surprising me) + if (retPath.contains(QLatin1Char('%'))) { + retPath = QUrl::fromPercentEncoding(retPath.toUtf8()); + } + return retPath; +} + +/** + Read the content of an archive entry in both the cases: + a) single file + + foobar + b) directory + + foobar/ + + [0].piece + + [1].piece + + ... + + [x].last.piece + + \see XPS specification 10.1.2 +*/ +static QByteArray readFileOrDirectoryParts(const KArchiveEntry *entry, QString *pathOfFile = nullptr) +{ + QByteArray data; + if (entry->isDirectory()) { + const KArchiveDirectory *relDir = static_cast(entry); + QStringList entries = relDir->entries(); + std::sort(entries.begin(), entries.end()); + for (const QString &entryElem : std::as_const(entries)) { + const KArchiveEntry *relSubEntry = relDir->entry(entryElem); + if (!relSubEntry->isFile()) { + continue; + } + + const KZipFileEntry *relSubFile = static_cast(relSubEntry); + data.append(relSubFile->data()); + } + } else { + const KZipFileEntry *relFile = static_cast(entry); + data.append(relFile->data()); + if (pathOfFile) { + *pathOfFile = entryPath(relFile); + } + } + return data; +} + +/** + Load the resource \p fileName from the specified \p archive using the case sensitivity \p cs +*/ +static const KArchiveEntry *loadEntry(KZip *archive, const QString &fileName, Qt::CaseSensitivity cs) +{ + // first attempt: loading the entry straight as requested + const KArchiveEntry *entry = archive->directory()->entry(fileName); + // in case sensitive mode, or if we actually found something, return what we found + if (cs == Qt::CaseSensitive || entry) { + return entry; + } + + QString path; + QString entryName; + const int index = fileName.lastIndexOf(QChar::fromLatin1('/')); + if (index > 0) { + path = fileName.left(index); + entryName = fileName.mid(index + 1); + } else { + path = QLatin1Char('/'); + entryName = fileName; + } + const KArchiveEntry *newEntry = archive->directory()->entry(path); + if (newEntry->isDirectory()) { + const KArchiveDirectory *relDir = static_cast(newEntry); + QStringList relEntries = relDir->entries(); + std::sort(relEntries.begin(), relEntries.end()); + for (const QString &relEntry : std::as_const(relEntries)) { + if (relEntry.compare(entryName, Qt::CaseInsensitive) == 0) { + return relDir->entry(relEntry); + } + } + } + return nullptr; +} + +/** + \return The name of a resource from the \p fileName +*/ +static QString resourceName(const QString &fileName) +{ + QString resource = fileName; + const int slashPos = fileName.lastIndexOf(QLatin1Char('/')); + const int dotPos = fileName.lastIndexOf(QLatin1Char('.')); + if (slashPos > -1) { + if (dotPos > -1 && dotPos > slashPos) { + resource = fileName.mid(slashPos + 1, dotPos - slashPos - 1); + } else { + resource = fileName.mid(slashPos + 1); + } + } + return resource; +} + +static QColor interpolatedColor(const QColor &c1, const QColor &c2) +{ + QColor res; + res.setAlpha((c1.alpha() + c2.alpha()) / 2); + res.setRed((c1.red() + c2.red()) / 2); + res.setGreen((c1.green() + c2.green()) / 2); + res.setBlue((c1.blue() + c2.blue()) / 2); + return res; +} + +static bool xpsGradientLessThan(const XpsGradient &g1, const XpsGradient &g2) +{ + return qFuzzyCompare(g1.offset, g2.offset) ? g1.color.name() < g2.color.name() : g1.offset < g2.offset; +} + +static int xpsGradientWithOffset(const QList &gradients, double offset) +{ + int i = 0; + for (const XpsGradient &grad : gradients) { + if (grad.offset == offset) { + return i; + } + ++i; + } + return -1; +} + +/** + Preprocess a list of gradients. + + \see XPS specification 11.3.1.1 +*/ +static void preprocessXpsGradients(QList &gradients) +{ + if (gradients.isEmpty()) { + return; + } + + // sort the gradients (case 1.) + std::stable_sort(gradients.begin(), gradients.end(), xpsGradientLessThan); + + // no gradient with stop 0.0 (case 2.) + if (xpsGradientWithOffset(gradients, 0.0) == -1) { + int firstGreaterThanZero = 0; + while (firstGreaterThanZero < gradients.count() && gradients.at(firstGreaterThanZero).offset < 0.0) { + ++firstGreaterThanZero; + } + // case 2.a: no gradients with stop less than 0.0 + if (firstGreaterThanZero == 0) { + gradients.prepend(XpsGradient(0.0, gradients.first().color)); + } + // case 2.b: some gradients with stop more than 0.0 + else if (firstGreaterThanZero != gradients.count()) { + QColor col1 = gradients.at(firstGreaterThanZero - 1).color; + QColor col2 = gradients.at(firstGreaterThanZero).color; + for (int i = 0; i < firstGreaterThanZero; ++i) { + gradients.removeFirst(); + } + gradients.prepend(XpsGradient(0.0, interpolatedColor(col1, col2))); + } + // case 2.c: no gradients with stop more than 0.0 + else { + XpsGradient newGrad(0.0, gradients.last().color); + gradients.clear(); + gradients.append(newGrad); + } + } + + if (gradients.isEmpty()) { + return; + } + + // no gradient with stop 1.0 (case 3.) + if (xpsGradientWithOffset(gradients, 1.0) == -1) { + int firstLessThanOne = gradients.count() - 1; + while (firstLessThanOne >= 0 && gradients.at(firstLessThanOne).offset > 1.0) { + --firstLessThanOne; + } + // case 2.a: no gradients with stop greater than 1.0 + if (firstLessThanOne == gradients.count() - 1) { + gradients.append(XpsGradient(1.0, gradients.last().color)); + } + // case 2.b: some gradients with stop more than 1.0 + else if (firstLessThanOne != -1) { + QColor col1 = gradients.at(firstLessThanOne).color; + QColor col2 = gradients.at(firstLessThanOne + 1).color; + for (int i = firstLessThanOne + 1; i < gradients.count(); ++i) { + gradients.removeLast(); + } + gradients.append(XpsGradient(1.0, interpolatedColor(col1, col2))); + } + // case 2.c: no gradients with stop less than 1.0 + else { + XpsGradient newGrad(1.0, gradients.first().color); + gradients.clear(); + gradients.append(newGrad); + } + } +} + +static void addXpsGradientsToQGradient(const QList &gradients, QGradient *qgrad) +{ + for (const XpsGradient &grad : gradients) { + qgrad->setColorAt(grad.offset, grad.color); + } +} + +static void applySpreadStyleToQGradient(const QString &style, QGradient *qgrad) +{ + if (style.isEmpty()) { + return; + } + + if (style == QLatin1String("Pad")) { + qgrad->setSpread(QGradient::PadSpread); + } else if (style == QLatin1String("Reflect")) { + qgrad->setSpread(QGradient::ReflectSpread); + } else if (style == QLatin1String("Repeat")) { + qgrad->setSpread(QGradient::RepeatSpread); + } +} + +/** + Read an UnicodeString + \param raw the raw value of UnicodeString + + \see XPS specification 5.1.4 +*/ +static QString unicodeString(const QString &raw) +{ + QString ret; + if (raw.startsWith(QLatin1String("{}"))) { + ret = raw.mid(2); + } else { + ret = raw; + } + return ret; +} + +void XpsPage::processGlyph(QPainter *painter, const XpsRenderNode &node) +{ + // TODO Currently ignored attributes: CaretStops, DeviceFontName, IsSideways, OpacityMask, Name, FixedPage.NavigateURI, xml:lang, x:key + // TODO Indices is only partially implemented + // TODO Currently ignored child elements: Clip, OpacityMask + // Handled separately: RenderTransform + + QString att; + + painter->save(); + + // Get font (doesn't work well because qt doesn't allow to load font from file) + // This works despite the fact that font size isn't specified in points as required by qt. It's because I set point size to be equal to drawing unit. + float fontSize = node.attributes.value(QStringLiteral("FontRenderingEmSize")).toFloat(); + // qCWarning(OkularXpsDebug) << "Font Rendering EmSize:" << fontSize; + // a value of 0.0 means the text is not visible (see XPS specs, chapter 12, "Glyphs") + if (fontSize < 0.1) { + painter->restore(); + return; + } + const QString absoluteFileName = absolutePath(entryPath(fileName()), node.attributes.value(QStringLiteral("FontUri")).toString()); + QFont font = m_file->getFontByName(absoluteFileName, fontSize); + att = node.attributes.value(QStringLiteral("StyleSimulations")).toString(); + if (!att.isEmpty()) { + if (att == QLatin1String("ItalicSimulation")) { + font.setItalic(true); + } else if (att == QLatin1String("BoldSimulation")) { + font.setBold(true); + } else if (att == QLatin1String("BoldItalicSimulation")) { + font.setItalic(true); + font.setBold(true); + } + } + painter->setFont(font); + + // Origin + QPointF origin(node.attributes.value(QStringLiteral("OriginX")).toDouble(), node.attributes.value(QStringLiteral("OriginY")).toDouble()); + + // Fill + QBrush brush; + att = node.attributes.value(QStringLiteral("Fill")).toString(); + if (att.isEmpty()) { + QVariant data = node.getChildData(QStringLiteral("Glyphs.Fill")); + if (data.canConvert()) { + brush = data.value(); + } else { + // no "Fill" attribute and no "Glyphs.Fill" child, so show nothing + // (see XPS specs, 5.10) + painter->restore(); + return; + } + } else { + brush = parseRscRefColorForBrush(att); + if (brush.style() > Qt::NoBrush && brush.style() < Qt::LinearGradientPattern && brush.color().alpha() == 0) { + painter->restore(); + return; + } + } + painter->setBrush(brush); + painter->setPen(QPen(brush, 0)); + + // Opacity + att = node.attributes.value(QStringLiteral("Opacity")).toString(); + if (!att.isEmpty()) { + bool ok = true; + double value = att.toDouble(&ok); + if (ok && value >= 0.1) { + painter->setOpacity(value); + } else { + painter->restore(); + return; + } + } + + // RenderTransform + att = node.attributes.value(QStringLiteral("RenderTransform")).toString(); + if (!att.isEmpty()) { + painter->setWorldTransform(parseRscRefMatrix(att), true); + } + + // Clip + att = node.attributes.value(QStringLiteral("Clip")).toString(); + if (!att.isEmpty()) { + QPainterPath clipPath = parseRscRefPath(att); + if (!clipPath.isEmpty()) { + painter->setClipPath(clipPath); + } + } + + // BiDiLevel - default Left-to-Right + painter->setLayoutDirection(Qt::LeftToRight); + att = node.attributes.value(QStringLiteral("BiDiLevel")).toString(); + if (!att.isEmpty()) { + if ((att.toInt() % 2) == 1) { + // odd BiDiLevel, so Right-to-Left + painter->setLayoutDirection(Qt::RightToLeft); + } + } + + // Indices - partial handling only + att = node.attributes.value(QStringLiteral("Indices")).toString(); + QList advanceWidths; + if (!att.isEmpty()) { + const QStringList indicesElements = att.split(QLatin1Char(';')); + for (const QString &indicesElement : indicesElements) { + if (indicesElements.contains(QStringLiteral(","))) { + const QStringList parts = indicesElement.split(QLatin1Char(',')); + if (parts.size() == 2) { + // regular advance case, no offsets + advanceWidths.append(parts.at(1).toDouble() * fontSize / 100.0); + } else if (parts.size() == 3) { + // regular advance case, with uOffset + qreal AdvanceWidth = parts.at(1).toDouble() * fontSize / 100.0; + qreal uOffset = parts.at(2).toDouble() / 100.0; + advanceWidths.append(AdvanceWidth + uOffset); + } else { + // has vertical offset, but don't know how to handle that yet + qCWarning(OkularXpsDebug) << "Unhandled Indices element: " << indicesElement; + advanceWidths.append(-1.0); + } + } else { + // no special advance case + advanceWidths.append(-1.0); + } + } + } + + // UnicodeString + QString stringToDraw(unicodeString(node.attributes.value(QStringLiteral("UnicodeString")).toString())); + QPointF originAdvance(0, 0); + QFontMetrics metrics = painter->fontMetrics(); + for (int i = 0; i < stringToDraw.size(); ++i) { + QChar thisChar = stringToDraw.at(i); + painter->drawText(origin + originAdvance, QString(thisChar)); + const qreal advanceWidth = advanceWidths.value(i, qreal(-1.0)); + if (advanceWidth > 0.0) { + originAdvance.rx() += advanceWidth; + } else { + originAdvance.rx() += metrics.horizontalAdvance(thisChar); + } + } + // qCWarning(OkularXpsDebug) << "Glyphs: " << atts.value("Fill") << ", " << atts.value("FontUri"); + // qCWarning(OkularXpsDebug) << " Origin: " << atts.value("OriginX") << "," << atts.value("OriginY"); + // qCWarning(OkularXpsDebug) << " Unicode: " << atts.value("UnicodeString"); + + painter->restore(); +} + +void XpsPage::processFill(XpsRenderNode &node) +{ + // TODO Ignored child elements: VirtualBrush + + if (node.children.size() != 1) { + qCWarning(OkularXpsDebug) << "Fill element should have exactly one child"; + } else { + node.data = node.children[0].data; + } +} + +void XpsPage::processStroke(XpsRenderNode &node) +{ + // TODO Ignored child elements: VirtualBrush + + if (node.children.size() != 1) { + qCWarning(OkularXpsDebug) << "Stroke element should have exactly one child"; + } else { + node.data = node.children[0].data; + } +} + +void XpsPage::processImageBrush(XpsRenderNode &node) +{ + // TODO Ignored attributes: Opacity, x:key, TileMode, ViewBoxUnits, ViewPortUnits + // TODO Check whether transformation works for non standard situations (viewbox different that whole image, Transform different that simple move & scale, Viewport different than [0, 0, 1, 1] + + QString att; + QBrush brush; + + QRectF viewport = stringToRectF(node.attributes.value(QStringLiteral("Viewport"))); + QRectF viewbox = stringToRectF(node.attributes.value(QStringLiteral("Viewbox"))); + QImage image = loadImageFromFile(node.attributes.value(QStringLiteral("ImageSource")).toString()); + + // Matrix which can transform [0, 0, 1, 1] rectangle to given viewbox + QTransform viewboxMatrix = QTransform(viewbox.width() * image.physicalDpiX() / 96, 0, 0, viewbox.height() * image.physicalDpiY() / 96, viewbox.x(), viewbox.y()); + + // Matrix which can transform [0, 0, 1, 1] rectangle to given viewport + // TODO Take ViewPort into account + QTransform viewportMatrix; + att = node.attributes.value(QStringLiteral("Transform")).toString(); + if (att.isEmpty()) { + QVariant data = node.getChildData(QStringLiteral("ImageBrush.Transform")); + if (data.canConvert()) { + viewportMatrix = data.value(); + } else { + viewportMatrix = QTransform(); + } + } else { + viewportMatrix = parseRscRefMatrix(att); + } + viewportMatrix = viewportMatrix * QTransform(viewport.width(), 0, 0, viewport.height(), viewport.x(), viewport.y()); + + brush = QBrush(image); + brush.setTransform(viewboxMatrix.inverted() * viewportMatrix); + + node.data = QVariant::fromValue(brush); +} + +void XpsPage::processPath(QPainter *painter, const XpsRenderNode &node) +{ + // TODO Ignored attributes: Clip, OpacityMask, StrokeEndLineCap, StorkeStartLineCap, Name, FixedPage.NavigateURI, xml:lang, x:key, AutomationProperties.Name, AutomationProperties.HelpText, SnapsToDevicePixels + // TODO Ignored child elements: RenderTransform, Clip, OpacityMask + // Handled separately: RenderTransform + painter->save(); + + QString att; + QVariant data; + + // Get path + XpsPathGeometry *pathdata = node.getChildData(QStringLiteral("Path.Data")).value(); + att = node.attributes.value(QStringLiteral("Data")).toString(); + if (!att.isEmpty()) { + QPainterPath path = parseRscRefPath(att); + delete pathdata; + pathdata = new XpsPathGeometry(); + pathdata->paths.append(new XpsPathFigure(path, true)); + } + if (!pathdata) { + // nothing to draw + painter->restore(); + return; + } + + // Set Fill + att = node.attributes.value(QStringLiteral("Fill")).toString(); + QBrush brush; + if (!att.isEmpty()) { + brush = parseRscRefColorForBrush(att); + } else { + data = node.getChildData(QStringLiteral("Path.Fill")); + if (data.canConvert()) { + brush = data.value(); + } + } + painter->setBrush(brush); + + // Stroke (pen) + att = node.attributes.value(QStringLiteral("Stroke")).toString(); + QPen pen(Qt::transparent); + if (!att.isEmpty()) { + pen = parseRscRefColorForPen(att); + } else { + data = node.getChildData(QStringLiteral("Path.Stroke")); + if (data.canConvert()) { + pen.setBrush(data.value()); + } + } + att = node.attributes.value(QStringLiteral("StrokeThickness")).toString(); + if (!att.isEmpty()) { + bool ok = false; + int thickness = att.toInt(&ok); + if (ok) { + pen.setWidth(thickness); + } + } + att = node.attributes.value(QStringLiteral("StrokeDashArray")).toString(); + if (!att.isEmpty()) { + const QStringList pieces = att.split(QLatin1Char(' '), Qt::SkipEmptyParts); + QList dashPattern(pieces.count()); + bool ok = false; + for (int i = 0; i < pieces.count(); ++i) { + qreal value = pieces.at(i).toInt(&ok); + if (ok) { + dashPattern[i] = value; + } else { + break; + } + } + if (ok) { + pen.setDashPattern(dashPattern); + } + } + att = node.attributes.value(QStringLiteral("StrokeDashOffset")).toString(); + if (!att.isEmpty()) { + bool ok = false; + int offset = att.toInt(&ok); + if (ok) { + pen.setDashOffset(offset); + } + } + att = node.attributes.value(QStringLiteral("StrokeDashCap")).toString(); + if (!att.isEmpty()) { + Qt::PenCapStyle cap = Qt::FlatCap; + if (att == QLatin1String("Flat")) { + cap = Qt::FlatCap; + } else if (att == QLatin1String("Round")) { + cap = Qt::RoundCap; + } else if (att == QLatin1String("Square")) { + cap = Qt::SquareCap; + } + // ### missing "Triangle" + pen.setCapStyle(cap); + } + att = node.attributes.value(QStringLiteral("StrokeLineJoin")).toString(); + if (!att.isEmpty()) { + Qt::PenJoinStyle joinStyle = Qt::MiterJoin; + if (att == QLatin1String("Miter")) { + joinStyle = Qt::MiterJoin; + } else if (att == QLatin1String("Bevel")) { + joinStyle = Qt::BevelJoin; + } else if (att == QLatin1String("Round")) { + joinStyle = Qt::RoundJoin; + } + pen.setJoinStyle(joinStyle); + } + att = node.attributes.value(QStringLiteral("StrokeMiterLimit")).toString(); + if (!att.isEmpty()) { + bool ok = false; + double limit = att.toDouble(&ok); + if (ok) { + // we have to divide it by two, as XPS consider half of the stroke width, + // while Qt the whole of it + pen.setMiterLimit(limit / 2); + } + } + painter->setPen(pen); + + // Opacity + att = node.attributes.value(QStringLiteral("Opacity")).toString(); + if (!att.isEmpty()) { + painter->setOpacity(att.toDouble()); + } + + // RenderTransform + att = node.attributes.value(QStringLiteral("RenderTransform")).toString(); + if (!att.isEmpty()) { + painter->setWorldTransform(parseRscRefMatrix(att), true); + } + if (!pathdata->transform.isIdentity()) { + painter->setWorldTransform(pathdata->transform, true); + } + + for (const XpsPathFigure *figure : std::as_const(pathdata->paths)) { + painter->setBrush(figure->isFilled ? brush : QBrush()); + painter->drawPath(figure->path); + } + + delete pathdata; + + painter->restore(); +} + +void XpsPage::processPathData(XpsRenderNode &node) +{ + if (node.children.size() != 1) { + qCWarning(OkularXpsDebug) << "Path.Data element should have exactly one child"; + } else { + node.data = node.children[0].data; + } +} + +void XpsPage::processPathGeometry(XpsRenderNode &node) +{ + XpsPathGeometry *geom = new XpsPathGeometry(); + + for (const XpsRenderNode &child : std::as_const(node.children)) { + if (child.data.canConvert()) { + XpsPathFigure *figure = child.data.value(); + geom->paths.append(figure); + } + } + + QString att; + + att = node.attributes.value(QStringLiteral("Figures")).toString(); + if (!att.isEmpty()) { + QPainterPath path = parseRscRefPath(att); + qDeleteAll(geom->paths); + geom->paths.clear(); + geom->paths.append(new XpsPathFigure(path, true)); + } + + att = node.attributes.value(QStringLiteral("FillRule")).toString(); + if (!att.isEmpty()) { + geom->fillRule = fillRuleFromString(att); + } + + // Transform + att = node.attributes.value(QStringLiteral("Transform")).toString(); + if (!att.isEmpty()) { + geom->transform = parseRscRefMatrix(att); + } + + if (!geom->paths.isEmpty()) { + node.data = QVariant::fromValue(geom); + } else { + delete geom; + } +} + +void XpsPage::processPathFigure(XpsRenderNode &node) +{ + // TODO Ignored child elements: ArcSegment + + QString att; + QPainterPath path; + + att = node.attributes.value(QStringLiteral("StartPoint")).toString(); + if (!att.isEmpty()) { + QPointF point = getPointFromString(att); + path.moveTo(point); + } else { + return; + } + + for (const XpsRenderNode &child : std::as_const(node.children)) { + bool isStroked = true; + att = node.attributes.value(QStringLiteral("IsStroked")).toString(); + if (!att.isEmpty()) { + isStroked = att == QLatin1String("true"); + } + if (!isStroked) { + continue; + } + + // PolyLineSegment + if (child.name == QLatin1String("PolyLineSegment")) { + att = child.attributes.value(QStringLiteral("Points")).toString(); + if (!att.isEmpty()) { + const QStringList points = att.split(QLatin1Char(' '), Qt::SkipEmptyParts); + for (const QString &p : points) { + QPointF point = getPointFromString(p); + path.lineTo(point); + } + } + } + // PolyBezierSegment + else if (child.name == QLatin1String("PolyBezierSegment")) { + att = child.attributes.value(QStringLiteral("Points")).toString(); + if (!att.isEmpty()) { + const QStringList points = att.split(QLatin1Char(' '), Qt::SkipEmptyParts); + if (points.count() % 3 == 0) { + for (int i = 0; i < points.count();) { + QPointF firstControl = getPointFromString(points.at(i++)); + QPointF secondControl = getPointFromString(points.at(i++)); + QPointF endPoint = getPointFromString(points.at(i++)); + path.cubicTo(firstControl, secondControl, endPoint); + } + } + } + } + // PolyQuadraticBezierSegment + else if (child.name == QLatin1String("PolyQuadraticBezierSegment")) { + att = child.attributes.value(QStringLiteral("Points")).toString(); + if (!att.isEmpty()) { + const QStringList points = att.split(QLatin1Char(' '), Qt::SkipEmptyParts); + if (points.count() % 2 == 0) { + for (int i = 0; i < points.count();) { + QPointF point1 = getPointFromString(points.at(i++)); + QPointF point2 = getPointFromString(points.at(i++)); + path.quadTo(point1, point2); + } + } + } + } + } + + bool closePath = false; + att = node.attributes.value(QStringLiteral("IsClosed")).toString(); + if (!att.isEmpty()) { + closePath = att == QLatin1String("true"); + } + if (closePath) { + path.closeSubpath(); + } + + bool isFilled = true; + att = node.attributes.value(QStringLiteral("IsFilled")).toString(); + if (!att.isEmpty()) { + isFilled = att == QLatin1String("true"); + } + + if (!path.isEmpty()) { + node.data = QVariant::fromValue(new XpsPathFigure(path, isFilled)); + } +} + +void XpsPage::processStartElement(QPainter *painter, const XpsRenderNode &node) +{ + if (node.name == QLatin1String("Canvas")) { + painter->save(); + QString att = node.attributes.value(QStringLiteral("RenderTransform")).toString(); + if (!att.isEmpty()) { + painter->setWorldTransform(parseRscRefMatrix(att), true); + } + att = node.attributes.value(QStringLiteral("Opacity")).toString(); + if (!att.isEmpty()) { + double value = att.toDouble(); + if (value > 0.0 && value <= 1.0) { + painter->setOpacity(painter->opacity() * value); + } else { + // setting manually to 0 is necessary to "disable" + // all the stuff inside + painter->setOpacity(0.0); + } + } + } +} + +void XpsPage::processEndElement(QPainter *painter, XpsRenderNode &node) +{ + if (node.name == QLatin1String("Glyphs")) { + processGlyph(painter, node); + } else if (node.name == QLatin1String("Path")) { + processPath(painter, node); + } else if (node.name == QLatin1String("MatrixTransform")) { + // TODO Ignoring x:key + node.data = QVariant::fromValue(QTransform(attsToMatrix(node.attributes.value(QStringLiteral("Matrix")).toString()))); + } else if ((node.name == QLatin1String("Canvas.RenderTransform")) || (node.name == QLatin1String("Glyphs.RenderTransform")) || (node.name == QLatin1String("Path.RenderTransform"))) { + QVariant data = node.getRequiredChildData(QStringLiteral("MatrixTransform")); + if (data.canConvert()) { + painter->setWorldTransform(data.value(), true); + } + } else if (node.name == QLatin1String("Canvas")) { + painter->restore(); + } else if ((node.name == QLatin1String("Path.Fill")) || (node.name == QLatin1String("Glyphs.Fill"))) { + processFill(node); + } else if (node.name == QLatin1String("Path.Stroke")) { + processStroke(node); + } else if (node.name == QLatin1String("SolidColorBrush")) { + // TODO Ignoring opacity, x:key + node.data = QVariant::fromValue(QBrush(QColor(hexToRgba(node.attributes.value(QStringLiteral("Color")).toLatin1())))); + } else if (node.name == QLatin1String("ImageBrush")) { + processImageBrush(node); + } else if (node.name == QLatin1String("ImageBrush.Transform")) { + node.data = node.getRequiredChildData(QStringLiteral("MatrixTransform")); + } else if (node.name == QLatin1String("LinearGradientBrush")) { + const XpsRenderNode *gradients = node.findChild(QStringLiteral("LinearGradientBrush.GradientStops")); + if (gradients && gradients->data.canConvert()) { + QPointF start = getPointFromString(node.attributes.value(QStringLiteral("StartPoint")).toString()); + QPointF end = getPointFromString(node.attributes.value(QStringLiteral("EndPoint")).toString()); + QLinearGradient *qgrad = static_cast(gradients->data.value()); + qgrad->setStart(start); + qgrad->setFinalStop(end); + applySpreadStyleToQGradient(node.attributes.value(QStringLiteral("SpreadMethod")).toString(), qgrad); + node.data = QVariant::fromValue(QBrush(*qgrad)); + delete qgrad; + } + } else if (node.name == QLatin1String("RadialGradientBrush")) { + const XpsRenderNode *gradients = node.findChild(QStringLiteral("RadialGradientBrush.GradientStops")); + if (gradients && gradients->data.canConvert()) { + QPointF center = getPointFromString(node.attributes.value(QStringLiteral("Center")).toString()); + QPointF origin = getPointFromString(node.attributes.value(QStringLiteral("GradientOrigin")).toString()); + double radiusX = node.attributes.value(QStringLiteral("RadiusX")).toDouble(); + double radiusY = node.attributes.value(QStringLiteral("RadiusY")).toDouble(); + QRadialGradient *qgrad = static_cast(gradients->data.value()); + qgrad->setCenter(center); + qgrad->setFocalPoint(origin); + // TODO what in case of different radii? + qgrad->setRadius(qMin(radiusX, radiusY)); + applySpreadStyleToQGradient(node.attributes.value(QStringLiteral("SpreadMethod")).toString(), qgrad); + node.data = QVariant::fromValue(QBrush(*qgrad)); + delete qgrad; + } + } else if (node.name == QLatin1String("LinearGradientBrush.GradientStops")) { + QList gradients; + for (const XpsRenderNode &child : std::as_const(node.children)) { + double offset = child.attributes.value(QStringLiteral("Offset")).toDouble(); + QColor color = hexToRgba(child.attributes.value(QStringLiteral("Color")).toLatin1()); + gradients.append(XpsGradient(offset, color)); + } + preprocessXpsGradients(gradients); + if (!gradients.isEmpty()) { + QLinearGradient *qgrad = new QLinearGradient(); + addXpsGradientsToQGradient(gradients, qgrad); + node.data = QVariant::fromValue(qgrad); + } + } else if (node.name == QLatin1String("RadialGradientBrush.GradientStops")) { + QList gradients; + for (const XpsRenderNode &child : std::as_const(node.children)) { + double offset = child.attributes.value(QStringLiteral("Offset")).toDouble(); + QColor color = hexToRgba(child.attributes.value(QStringLiteral("Color")).toLatin1()); + gradients.append(XpsGradient(offset, color)); + } + preprocessXpsGradients(gradients); + if (!gradients.isEmpty()) { + QRadialGradient *qgrad = new QRadialGradient(); + addXpsGradientsToQGradient(gradients, qgrad); + node.data = QVariant::fromValue(qgrad); + } + } else if (node.name == QLatin1String("PathFigure")) { + processPathFigure(node); + } else if (node.name == QLatin1String("PathGeometry")) { + processPathGeometry(node); + } else if (node.name == QLatin1String("Path.Data")) { + processPathData(node); + } else { + // qCWarning(OkularXpsDebug) << "Unknown element: " << node->name; + } +} + +XpsPage::XpsPage(XpsFile *file, const QString &fileName) + : m_file(file) + , m_fileName(fileName) + , m_pageIsRendered(false) +{ + m_pageImage = nullptr; + + // qCWarning(OkularXpsDebug) << "page file name: " << fileName; + + const KZipFileEntry *pageFile = static_cast(m_file->xpsArchive()->directory()->entry(fileName)); + + QXmlStreamReader xml; + xml.addData(readFileOrDirectoryParts(pageFile)); + while (!xml.atEnd()) { + xml.readNext(); + if (xml.isStartElement() && (xml.name() == QStringLiteral("FixedPage"))) { + QXmlStreamAttributes attributes = xml.attributes(); + m_pageSize.setWidth(attributes.value(QStringLiteral("Width")).toString().toDouble()); + m_pageSize.setHeight(attributes.value(QStringLiteral("Height")).toString().toDouble()); + break; + } + } + if (xml.error()) { + qCWarning(OkularXpsDebug) << "Could not parse XPS page:" << xml.errorString(); + } +} + +XpsPage::~XpsPage() +{ + delete m_pageImage; +} + +bool XpsPage::renderToImage(QImage *p) +{ + if ((m_pageImage == nullptr) || (m_pageImage->size() != p->size())) { + delete m_pageImage; + m_pageImage = new QImage(p->size(), QImage::Format_ARGB32); + // Set one point = one drawing unit. Useful for fonts, because xps specifies font size using drawing units, not points as usual + m_pageImage->setDotsPerMeterX(2835); + m_pageImage->setDotsPerMeterY(2835); + + m_pageIsRendered = false; + } + if (!m_pageIsRendered) { + m_pageImage->fill(qRgba(255, 255, 255, 255)); + QPainter painter(m_pageImage); + renderToPainter(&painter); + m_pageIsRendered = true; + } + + *p = *m_pageImage; + + return true; +} + +bool XpsPage::renderToPainter(QPainter *painter) +{ + painter->setWorldTransform(QTransform().scale((qreal)painter->device()->width() / size().width(), (qreal)painter->device()->height() / size().height())); + const KZipFileEntry *pageFile = static_cast(m_file->xpsArchive()->directory()->entry(m_fileName)); + QByteArray data = readFileOrDirectoryParts(pageFile); + QXmlStreamReader reader(data); + + while (!reader.atEnd()) { + reader.readNext(); + // parse data and paint it to painter + if (reader.isStartDocument()) { + XpsRenderNode node; + node.name = QStringLiteral("document"); + m_nodes.push(node); + } else if (reader.isStartElement()) { + XpsRenderNode node; + node.name = reader.name().toString(); + node.attributes = reader.attributes(); + processStartElement(painter, node); + m_nodes.push(node); + } else if (reader.isEndElement()) { + XpsRenderNode node = m_nodes.pop(); + if (node.name != reader.name().toString()) { + qCWarning(OkularXpsDebug) << "Name doesn't match" << node.name << " and next from document: " << reader.name().toString(); + } + processEndElement(painter, node); + node.children.clear(); + m_nodes.top().children.append(node); + } + } + + bool ok = !reader.hasError(); + if (!ok) { + // Error handling + } + qCWarning(OkularXpsDebug) << "Parse result: " << ok; + + return true; +} + +QSizeF XpsPage::size() const +{ + return m_pageSize; +} + +QFont XpsFile::getFontByName(const QString &absoluteFileName, float size) +{ + // qCWarning(OkularXpsDebug) << "trying to get font: " << fileName << ", size: " << size; + + int index = m_fontCache.value(absoluteFileName, -1); + if (index == -1) { + index = loadFontByName(absoluteFileName); + m_fontCache[absoluteFileName] = index; + } + if (index == -1) { + qCWarning(OkularXpsDebug) << "Requesting unknown font:" << absoluteFileName; + return QFont(); + } + + const QStringList fontFamilies = QFontDatabase::applicationFontFamilies(index); + if (fontFamilies.isEmpty()) { + qCWarning(OkularXpsDebug) << "The unexpected has happened. No font family for a known font:" << absoluteFileName << index; + return QFont(); + } + const QString &fontFamily = fontFamilies[0]; + const QStringList fontStyles = QFontDatabase::styles(fontFamily); + if (fontStyles.isEmpty()) { + qCWarning(OkularXpsDebug) << "The unexpected has happened. No font style for a known font family:" << absoluteFileName << index << fontFamily; + return QFont(); + } + const QString &fontStyle = fontStyles[0]; + return QFontDatabase::font(fontFamily, fontStyle, qRound(size)); +} + +int XpsFile::loadFontByName(const QString &absoluteFileName) +{ + // qCWarning(OkularXpsDebug) << "font file name: " << absoluteFileName; + + const KArchiveEntry *fontFile = loadEntry(m_xpsArchive.get(), absoluteFileName, Qt::CaseInsensitive); + if (!fontFile) { + return -1; + } + + QByteArray fontData = readFileOrDirectoryParts(fontFile); // once per file, according to the docs + + int result = QFontDatabase::addApplicationFontFromData(fontData); + if (-1 == result) { + // Try to deobfuscate font + // TODO Use deobfuscation depending on font content type, don't do it always when standard loading fails + + const QString baseName = resourceName(absoluteFileName); + + unsigned short guid[16]; + if (!parseGUID(baseName, guid)) { + qCWarning(OkularXpsDebug) << "File to load font - file name isn't a GUID"; + } else { + if (fontData.length() < 32) { + qCWarning(OkularXpsDebug) << "Font file is too small"; + } else { + // Obfuscation - xor bytes in font binary with bytes from guid (font's filename) + const static int mapping[] = {15, 14, 13, 12, 11, 10, 9, 8, 6, 7, 4, 5, 0, 1, 2, 3}; + for (int i = 0; i < 16; i++) { + fontData[i] = fontData[i] ^ guid[mapping[i]]; + fontData[i + 16] = fontData[i + 16] ^ guid[mapping[i]]; + } + result = QFontDatabase::addApplicationFontFromData(fontData); + } + } + } + + // qCWarning(OkularXpsDebug) << "Loaded font: " << m_fontDatabase.applicationFontFamilies( result ); + + return result; // a font ID +} + +KZip *XpsFile::xpsArchive() +{ + return m_xpsArchive.get(); +} + +QImage XpsPage::loadImageFromFile(const QString &fileName) +{ + // qCWarning(OkularXpsDebug) << "image file name: " << fileName; + + if (fileName.at(0) == QLatin1Char('{')) { + // for example: '{ColorConvertedBitmap /Resources/bla.wdp /Resources/foobar.icc}' + // TODO: properly read a ColorConvertedBitmap + return QImage(); + } + + QString absoluteFileName = absolutePath(entryPath(m_fileName), fileName); + const KArchiveEntry *imageFile = loadEntry(m_file->xpsArchive(), absoluteFileName, Qt::CaseInsensitive); + if (!imageFile) { + // image not found + return QImage(); + } + + /* WORKAROUND: + XPS standard requires to use 96dpi for images which doesn't have dpi specified (in file). When Qt loads such an image, + it sets its dpi to qt_defaultDpi and doesn't allow to find out that it happened. + + To workaround this I used this procedure: load image, set its dpi to 96, load image again. When dpi isn't set in file, + dpi set by me stays unchanged. + + Trolltech task ID: 159527. + + */ + + QImage image; + QByteArray data = readFileOrDirectoryParts(imageFile); + + QBuffer buffer(&data); + buffer.open(QBuffer::ReadOnly); + + QImageReader reader(&buffer); + image = reader.read(); + + image.setDotsPerMeterX(qRound(96 / 0.0254)); + image.setDotsPerMeterY(qRound(96 / 0.0254)); + + buffer.seek(0); + reader.setDevice(&buffer); + reader.read(&image); + + return image; +} + +Okular::TextPage *XpsPage::textPage() +{ + // qCWarning(OkularXpsDebug) << "Parsing XpsPage, text extraction"; + + Okular::TextPage *textPage = new Okular::TextPage(); + + const KZipFileEntry *pageFile = static_cast(m_file->xpsArchive()->directory()->entry(m_fileName)); + QXmlStreamReader xml; + xml.addData(readFileOrDirectoryParts(pageFile)); + + QTransform matrix = QTransform(); + QStack matrices; + matrices.push(QTransform()); + bool useMatrix = false; + QXmlStreamAttributes glyphsAtts; + + while (!xml.atEnd()) { + xml.readNext(); + if (xml.isStartElement()) { + if (xml.name() == QStringLiteral("Canvas")) { + matrices.push(matrix); + + QString att = xml.attributes().value(QStringLiteral("RenderTransform")).toString(); + if (!att.isEmpty()) { + matrix = parseRscRefMatrix(att) * matrix; + } + } else if ((xml.name() == QStringLiteral("Canvas.RenderTransform")) || (xml.name() == QStringLiteral("Glyphs.RenderTransform"))) { + useMatrix = true; + } else if (xml.name() == QStringLiteral("MatrixTransform")) { + if (useMatrix) { + matrix = attsToMatrix(xml.attributes().value(QStringLiteral("Matrix")).toString()) * matrix; + } + } else if (xml.name() == QStringLiteral("Glyphs")) { + matrices.push(matrix); + glyphsAtts = xml.attributes(); + } else if ((xml.name() == QStringLiteral("Path")) || (xml.name() == QStringLiteral("Path.Fill")) || (xml.name() == QStringLiteral("SolidColorBrush")) || (xml.name() == QStringLiteral("ImageBrush")) || + (xml.name() == QStringLiteral("ImageBrush.Transform")) || (xml.name() == QStringLiteral("Path.OpacityMask")) || (xml.name() == QStringLiteral("Path.Data")) || (xml.name() == QStringLiteral("PathGeometry")) || + (xml.name() == QStringLiteral("PathFigure")) || (xml.name() == QStringLiteral("PolyLineSegment"))) { + // those are only graphical - no use in text handling + } else if ((xml.name() == QStringLiteral("FixedPage")) || (xml.name() == QStringLiteral("FixedPage.Resources"))) { + // not useful for text extraction + } else { + qCWarning(OkularXpsDebug) << "Unhandled element in Text Extraction start: " << xml.name().toString(); + } + } else if (xml.isEndElement()) { + if (xml.name() == QStringLiteral("Canvas")) { + matrix = matrices.pop(); + } else if ((xml.name() == QStringLiteral("Canvas.RenderTransform")) || (xml.name() == QStringLiteral("Glyphs.RenderTransform"))) { + useMatrix = false; + } else if (xml.name() == QStringLiteral("MatrixTransform")) { + // not clear if we need to do anything here yet. + } else if (xml.name() == QStringLiteral("Glyphs")) { + QString att = glyphsAtts.value(QStringLiteral("RenderTransform")).toString(); + if (!att.isEmpty()) { + matrix = parseRscRefMatrix(att) * matrix; + } + QString text = unicodeString(glyphsAtts.value(QStringLiteral("UnicodeString")).toString()); + + // Get font (doesn't work well because qt doesn't allow to load font from file) + const QString absoluteFileName = absolutePath(entryPath(m_fileName), glyphsAtts.value(QStringLiteral("FontUri")).toString()); + QFont font = m_file->getFontByName(absoluteFileName, glyphsAtts.value(QStringLiteral("FontRenderingEmSize")).toString().toFloat() * 72 / 96); + QFontMetrics metrics = QFontMetrics(font); + // Origin + QPointF origin(glyphsAtts.value(QStringLiteral("OriginX")).toString().toDouble(), glyphsAtts.value(QStringLiteral("OriginY")).toString().toDouble()); + + int lastWidth = 0; + for (int i = 0; i < text.length(); i++) { + const int width = metrics.horizontalAdvance(text, i + 1); + + Okular::NormalizedRect rect = + Okular::NormalizedRect((origin.x() + lastWidth) / m_pageSize.width(), (origin.y() - metrics.height()) / m_pageSize.height(), (origin.x() + width) / m_pageSize.width(), origin.y() / m_pageSize.height()); + rect.transform(matrix); + textPage->append(text.mid(i, 1), rect); + + lastWidth = width; + } + + matrix = matrices.pop(); + } else if ((xml.name() == QStringLiteral("Path")) || (xml.name() == QStringLiteral("Path.Fill")) || (xml.name() == QStringLiteral("SolidColorBrush")) || (xml.name() == QStringLiteral("ImageBrush")) || + (xml.name() == QStringLiteral("ImageBrush.Transform")) || (xml.name() == QStringLiteral("Path.OpacityMask")) || (xml.name() == QStringLiteral("Path.Data")) || (xml.name() == QStringLiteral("PathGeometry")) || + (xml.name() == QStringLiteral("PathFigure")) || (xml.name() == QStringLiteral("PolyLineSegment"))) { + // those are only graphical - no use in text handling + } else if ((xml.name() == QStringLiteral("FixedPage")) || (xml.name() == QStringLiteral("FixedPage.Resources"))) { + // not useful for text extraction + } else { + qCWarning(OkularXpsDebug) << "Unhandled element in Text Extraction end: " << xml.name().toString(); + } + } + } + if (xml.error()) { + qCWarning(OkularXpsDebug) << "Error parsing XpsPage text: " << xml.errorString(); + } + return textPage; +} + +void XpsDocument::parseDocumentStructure(const QString &documentStructureFileName) +{ + qCWarning(OkularXpsDebug) << "document structure file name: " << documentStructureFileName; + m_haveDocumentStructure = false; + + const KZipFileEntry *documentStructureFile = static_cast(m_file->xpsArchive()->directory()->entry(documentStructureFileName)); + + QXmlStreamReader xml; + xml.addData(documentStructureFile->data()); + + while (!xml.atEnd()) { + xml.readNext(); + + if (xml.isStartElement()) { + if (xml.name() == QStringLiteral("DocumentStructure")) { + // just a container for optional outline and story elements - nothing to do here + } else if (xml.name() == QStringLiteral("DocumentStructure.Outline")) { + qCWarning(OkularXpsDebug) << "found DocumentStructure.Outline"; + } else if (xml.name() == QStringLiteral("DocumentOutline")) { + qCWarning(OkularXpsDebug) << "found DocumentOutline"; + m_docStructure = std::make_unique(); + } else if (xml.name() == QStringLiteral("OutlineEntry")) { + m_haveDocumentStructure = true; + QXmlStreamAttributes attributes = xml.attributes(); + int outlineLevel = attributes.value(QStringLiteral("OutlineLevel")).toString().toInt(); + QString description = attributes.value(QStringLiteral("Description")).toString(); + QDomElement synopsisElement = m_docStructure->createElement(description); + synopsisElement.setAttribute(QStringLiteral("OutlineLevel"), outlineLevel); + QString target = attributes.value(QStringLiteral("OutlineTarget")).toString(); + int hashPosition = target.lastIndexOf(QLatin1Char('#')); + target = target.mid(hashPosition + 1); + // qCWarning(OkularXpsDebug) << "target: " << target; + Okular::DocumentViewport viewport; + viewport.pageNumber = m_docStructurePageMap.value(target); + synopsisElement.setAttribute(QStringLiteral("Viewport"), viewport.toString()); + if (outlineLevel == 1) { + // qCWarning(OkularXpsDebug) << "Description: " + // << outlineEntryElement.attribute( "Description" ); + m_docStructure->appendChild(synopsisElement); + } else { + // find the last next highest element (so it this is level 3, we need + // to find the most recent level 2 node) + QDomNode maybeParentNode = m_docStructure->lastChild(); + while (!maybeParentNode.isNull()) { + if (maybeParentNode.toElement().attribute(QStringLiteral("OutlineLevel")).toInt() == (outlineLevel - 1)) { + // we have the right parent + maybeParentNode.appendChild(synopsisElement); + break; + } + maybeParentNode = maybeParentNode.lastChild(); + } + } + } else if (xml.name() == QStringLiteral("Story")) { + // we need to handle Story here, but I have no idea what to do with it. + } else if (xml.name() == QStringLiteral("StoryFragment")) { + // we need to handle StoryFragment here, but I have no idea what to do with it. + } else if (xml.name() == QStringLiteral("StoryFragmentReference")) { + // we need to handle StoryFragmentReference here, but I have no idea what to do with it. + } else { + qCWarning(OkularXpsDebug) << "Unhandled entry in DocumentStructure: " << xml.name().toString(); + } + } + } +} + +const Okular::DocumentSynopsis *XpsDocument::documentStructure() +{ + return m_docStructure.get(); +} + +bool XpsDocument::hasDocumentStructure() +{ + return m_haveDocumentStructure; +} + +XpsDocument::XpsDocument(XpsFile *file, const QString &fileName) + : m_file(file) + , m_haveDocumentStructure(false) + , m_docStructure(nullptr) +{ + qCWarning(OkularXpsDebug) << "document file name: " << fileName; + + const KArchiveEntry *documentEntry = file->xpsArchive()->directory()->entry(fileName); + QString documentFilePath = fileName; + const QString documentEntryPath = entryPath(fileName); + + QXmlStreamReader docXml; + docXml.addData(readFileOrDirectoryParts(documentEntry, &documentFilePath)); + while (!docXml.atEnd()) { + docXml.readNext(); + if (docXml.isStartElement()) { + if (docXml.name() == QStringLiteral("PageContent")) { + QString pagePath = docXml.attributes().value(QStringLiteral("Source")).toString(); + qCWarning(OkularXpsDebug) << "Page Path: " << pagePath; + auto xpsPage = std::make_unique(file, absolutePath(documentFilePath, pagePath)); + m_pages.push_back(std::move(xpsPage)); + } else if (docXml.name() == QStringLiteral("PageContent.LinkTargets")) { + // do nothing - wait for the real LinkTarget elements + } else if (docXml.name() == QStringLiteral("LinkTarget")) { + QString targetName = docXml.attributes().value(QStringLiteral("Name")).toString(); + if (!targetName.isEmpty()) { + m_docStructurePageMap[targetName] = m_pages.size() - 1; + } + } else if (docXml.name() == QStringLiteral("FixedDocument")) { + // we just ignore this - it is just a container + } else { + qCWarning(OkularXpsDebug) << "Unhandled entry in FixedDocument: " << docXml.name().toString(); + } + } + } + if (docXml.error()) { + qCWarning(OkularXpsDebug) << "Could not parse main XPS document file: " << docXml.errorString(); + } + + // There might be a relationships entry for this document - typically used to tell us where to find the + // content structure description + + // We should be able to find this using a reference from some other part of the document, but I can't see it. + const int slashPosition = fileName.lastIndexOf(QLatin1Char('/')); + const QString documentRelationshipFile = absolutePath(documentEntryPath, QStringLiteral("_rels/") + fileName.mid(slashPosition + 1) + QStringLiteral(".rels")); + + const KZipFileEntry *relFile = static_cast(file->xpsArchive()->directory()->entry(documentRelationshipFile)); + + QString documentStructureFile; + if (relFile) { + QXmlStreamReader xml; + xml.addData(readFileOrDirectoryParts(relFile)); + while (!xml.atEnd()) { + xml.readNext(); + if (xml.isStartElement() && (xml.name() == QStringLiteral("Relationship"))) { + QXmlStreamAttributes attributes = xml.attributes(); + if (attributes.value(QStringLiteral("Type")).toString() == QLatin1String("http://schemas.microsoft.com/xps/2005/06/documentstructure")) { + documentStructureFile = attributes.value(QStringLiteral("Target")).toString(); + } else { + qCWarning(OkularXpsDebug) << "Unknown document relationships element: " << attributes.value(QStringLiteral("Type")).toString() << " : " << attributes.value(QStringLiteral("Target")).toString(); + } + } + } + if (xml.error()) { + qCWarning(OkularXpsDebug) << "Could not parse XPS page relationships file ( " << documentRelationshipFile << " ) - " << xml.errorString(); + } + } else { // the page relationship file didn't exist in the zipfile + // this isn't fatal + qCWarning(OkularXpsDebug) << "Could not open Document relationship file from " << documentRelationshipFile; + } + + if (!documentStructureFile.isEmpty()) { + // qCWarning(OkularXpsDebug) << "Document structure filename: " << documentStructureFile; + // make the document path absolute + documentStructureFile = absolutePath(documentEntryPath, documentStructureFile); + // qCWarning(OkularXpsDebug) << "Document structure absolute path: " << documentStructureFile; + parseDocumentStructure(documentStructureFile); + } +} + +XpsDocument::~XpsDocument() +{ + m_pages.clear(); +} + +int XpsDocument::numPages() const +{ + return m_pages.size(); +} + +XpsPage *XpsDocument::page(int pageNum) const +{ + return m_pages.at(pageNum).get(); +} + +XpsFile::XpsFile() +{ +} + +XpsFile::~XpsFile() +{ + for (int fontId : std::as_const(m_fontCache)) { + QFontDatabase::removeApplicationFont(fontId); + } +} + +bool XpsFile::loadDocument(const QString &filename) +{ + m_xpsArchive = std::make_unique(filename); + if (m_xpsArchive->open(QIODevice::ReadOnly) == true) { + qCWarning(OkularXpsDebug) << "Successful open of " << m_xpsArchive->fileName(); + } else { + qCWarning(OkularXpsDebug) << "Could not open XPS archive: " << m_xpsArchive->fileName(); + m_xpsArchive.reset(); + return false; + } + + // The only fixed entry in XPS is /_rels/.rels + const KArchiveEntry *relEntry = m_xpsArchive->directory()->entry(QStringLiteral("_rels/.rels")); + if (!relEntry) { + // this might occur if we can't read the zip directory, or it doesn't have the relationships entry + return false; + } + + QXmlStreamReader relXml; + relXml.addData(readFileOrDirectoryParts(relEntry)); + + QString fixedRepresentationFileName; + // We work through the relationships document and pull out each element. + while (!relXml.atEnd()) { + relXml.readNext(); + if (relXml.isStartElement()) { + if (relXml.name() == QStringLiteral("Relationship")) { + QXmlStreamAttributes attributes = relXml.attributes(); + QString type = attributes.value(QStringLiteral("Type")).toString(); + QString target = attributes.value(QStringLiteral("Target")).toString(); + if (type == QStringLiteral("http://schemas.openxmlformats.org/package/2006/relationships/metadata/thumbnail")) { + m_thumbnailFileName = target; + } else if (type == QStringLiteral("http://schemas.microsoft.com/xps/2005/06/fixedrepresentation")) { + fixedRepresentationFileName = target; + } else if (type == QStringLiteral("http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties")) { + m_corePropertiesFileName = target; + } else if (type == QStringLiteral("http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/origin")) { + m_signatureOrigin = target; + } else { + qCWarning(OkularXpsDebug) << "Unknown relationships element: " << type << " : " << target; + } + } else if (relXml.name() == QStringLiteral("Relationships")) { + // nothing to do here - this is just the container level + } else { + qCWarning(OkularXpsDebug) << "unexpected element in _rels/.rels: " << relXml.name().toString(); + } + } + } + if (relXml.error()) { + qCWarning(OkularXpsDebug) << "Could not parse _rels/.rels: " << relXml.errorString(); + return false; + } + + if (fixedRepresentationFileName.isEmpty()) { + // FixedRepresentation is a required part of the XPS document + return false; + } + + const KArchiveEntry *fixedRepEntry = m_xpsArchive->directory()->entry(fixedRepresentationFileName); + QString fixedRepresentationFilePath = fixedRepresentationFileName; + + QXmlStreamReader fixedRepXml; + fixedRepXml.addData(readFileOrDirectoryParts(fixedRepEntry, &fixedRepresentationFileName)); + + while (!fixedRepXml.atEnd()) { + fixedRepXml.readNext(); + if (fixedRepXml.isStartElement()) { + if (fixedRepXml.name() == QStringLiteral("DocumentReference")) { + const QString source = fixedRepXml.attributes().value(QStringLiteral("Source")).toString(); + auto doc = std::make_unique(this, absolutePath(fixedRepresentationFilePath, source)); + for (int lv = 0; lv < doc->numPages(); ++lv) { + // our own copy of the pages list + m_pages.append(doc->page(lv)); + } + m_documents.push_back(std::move(doc)); + } else if (fixedRepXml.name() == QStringLiteral("FixedDocumentSequence")) { + // we don't do anything here - this is just a container for one or more DocumentReference elements + } else { + qCWarning(OkularXpsDebug) << "Unhandled entry in FixedDocumentSequence: " << fixedRepXml.name().toString(); + } + } + } + if (fixedRepXml.error()) { + qCWarning(OkularXpsDebug) << "Could not parse FixedRepresentation file:" << fixedRepXml.errorString(); + return false; + } + + return true; +} + +Okular::DocumentInfo XpsFile::generateDocumentInfo() const +{ + Okular::DocumentInfo docInfo; + + docInfo.set(Okular::DocumentInfo::MimeType, QStringLiteral("application/oxps")); + + if (!m_corePropertiesFileName.isEmpty()) { + const KZipFileEntry *corepropsFile = static_cast(m_xpsArchive->directory()->entry(m_corePropertiesFileName)); + + QXmlStreamReader xml; + xml.addData(corepropsFile->data()); + while (!xml.atEnd()) { + xml.readNext(); + if (xml.isEndElement()) { + break; + } + if (xml.isStartElement()) { + if (xml.name() == QStringLiteral("title")) { + docInfo.set(Okular::DocumentInfo::Title, xml.readElementText()); + } else if (xml.name() == QStringLiteral("subject")) { + docInfo.set(Okular::DocumentInfo::Subject, xml.readElementText()); + } else if (xml.name() == QStringLiteral("description")) { + docInfo.set(Okular::DocumentInfo::Description, xml.readElementText()); + } else if (xml.name() == QStringLiteral("creator")) { + docInfo.set(Okular::DocumentInfo::Creator, xml.readElementText()); + } else if (xml.name() == QStringLiteral("category")) { + docInfo.set(Okular::DocumentInfo::Category, xml.readElementText()); + } else if (xml.name() == QStringLiteral("created")) { + QDateTime createdDate = QDateTime::fromString(xml.readElementText(), QStringLiteral("yyyy-MM-ddThh:mm:ssZ")); + docInfo.set(Okular::DocumentInfo::CreationDate, QLocale().toString(createdDate, QLocale::LongFormat)); + } else if (xml.name() == QStringLiteral("modified")) { + QDateTime modifiedDate = QDateTime::fromString(xml.readElementText(), QStringLiteral("yyyy-MM-ddThh:mm:ssZ")); + docInfo.set(Okular::DocumentInfo::ModificationDate, QLocale().toString(modifiedDate, QLocale::LongFormat)); + } else if (xml.name() == QStringLiteral("keywords")) { + docInfo.set(Okular::DocumentInfo::Keywords, xml.readElementText()); + } else if (xml.name() == QStringLiteral("revision")) { + docInfo.set(QStringLiteral("revision"), xml.readElementText(), i18n("Revision")); + } + } + } + if (xml.error()) { + qCWarning(OkularXpsDebug) << "Could not parse XPS core properties:" << xml.errorString(); + } + } else { + qCWarning(OkularXpsDebug) << "No core properties filename"; + } + + docInfo.set(Okular::DocumentInfo::Pages, QString::number(numPages())); + + return docInfo; +} + +bool XpsFile::closeDocument() +{ + m_documents.clear(); + + return true; +} + +int XpsFile::numPages() const +{ + return m_pages.size(); +} + +int XpsFile::numDocuments() const +{ + return m_documents.size(); +} + +XpsDocument *XpsFile::document(int documentNum) const +{ + return m_documents.at(documentNum).get(); +} + +XpsPage *XpsFile::page(int pageNum) const +{ + return m_pages.at(pageNum); +} + +XpsGenerator::XpsGenerator(QObject *parent, const QVariantList &args) + : Okular::Generator(parent, args) + , m_xpsFile(nullptr) +{ + setFeature(TextExtraction); + setFeature(PrintNative); + setFeature(PrintToFile); + setFeature(Threaded); + userMutex(); +} + +XpsGenerator::~XpsGenerator() +{ +} + +bool XpsGenerator::loadDocument(const QString &fileName, QList &pagesVector) +{ + m_xpsFile = std::make_unique(); + + bool result = m_xpsFile->loadDocument(fileName); + if (!result) { + return false; + } + + pagesVector.resize(m_xpsFile->numPages()); + + int pagesVectorOffset = 0; + + for (int docNum = 0; docNum < m_xpsFile->numDocuments(); ++docNum) { + const XpsDocument *doc = m_xpsFile->document(docNum); + for (int pageNum = 0; pageNum < doc->numPages(); ++pageNum) { + QSizeF pageSize = doc->page(pageNum)->size(); + pagesVector[pagesVectorOffset] = new Okular::Page(pagesVectorOffset, pageSize.width(), pageSize.height(), Okular::Rotation0); + ++pagesVectorOffset; + } + } + + return true; +} + +bool XpsGenerator::doCloseDocument() +{ + m_xpsFile->closeDocument(); + m_xpsFile.reset(); + + return true; +} + +QImage XpsGenerator::image(Okular::PixmapRequest *request) +{ + QMutexLocker lock(userMutex()); + QSize size((int)request->width(), (int)request->height()); + QImage image(size, QImage::Format_RGB32); + XpsPage *pageToRender = m_xpsFile->page(request->page()->number()); + pageToRender->renderToImage(&image); + return image; +} + +Okular::TextPage *XpsGenerator::textPage(Okular::TextRequest *request) +{ + QMutexLocker lock(userMutex()); + XpsPage *xpsPage = m_xpsFile->page(request->page()->number()); + return xpsPage->textPage(); +} + +Okular::DocumentInfo XpsGenerator::generateDocumentInfo(const QSet &keys) const +{ + Q_UNUSED(keys); + + qCWarning(OkularXpsDebug) << "generating document metadata"; + + return m_xpsFile->generateDocumentInfo(); +} + +const Okular::DocumentSynopsis *XpsGenerator::generateDocumentSynopsis() +{ + qCWarning(OkularXpsDebug) << "generating document synopsis"; + + // we only generate the synopsis for the first file. + if (!m_xpsFile || !m_xpsFile->document(0)) { + return nullptr; + } + + if (m_xpsFile->document(0)->hasDocumentStructure()) { + return m_xpsFile->document(0)->documentStructure(); + } + + return nullptr; +} + +Okular::ExportFormat::List XpsGenerator::exportFormats() const +{ + static Okular::ExportFormat::List formats; + if (formats.isEmpty()) { + formats.append(Okular::ExportFormat::standardFormat(Okular::ExportFormat::PlainText)); + } + return formats; +} + +bool XpsGenerator::exportTo(const QString &fileName, const Okular::ExportFormat &format) +{ + if (format.mimeType().inherits(QStringLiteral("text/plain"))) { + QFile f(fileName); + if (!f.open(QIODevice::WriteOnly)) { + return false; + } + + QTextStream ts(&f); + for (int i = 0; i < m_xpsFile->numPages(); ++i) { + Okular::TextPage *tp = m_xpsFile->page(i)->textPage(); + QString text = tp->text(); + ts << text; + ts << QLatin1Char('\n'); + delete tp; + } + f.close(); + + return true; + } + + return false; +} + +Okular::Document::PrintError XpsGenerator::print(QPrinter &printer) +{ + QList pageList = Okular::FilePrinter::pageList(printer, document()->pages(), document()->currentPage() + 1, document()->bookmarkedPageList()); + + QPainter painter(&printer); + + for (int i = 0; i < pageList.count(); ++i) { + if (i != 0) { + printer.newPage(); + } + + const int page = pageList.at(i) - 1; + XpsPage *pageToRender = m_xpsFile->page(page); + pageToRender->renderToPainter(&painter); + } + + return Okular::Document::NoPrintError; +} + +const XpsRenderNode *XpsRenderNode::findChild(const QString &name) const +{ + for (const XpsRenderNode &child : children) { + if (child.name == name) { + return &child; + } + } + + return nullptr; +} + +QVariant XpsRenderNode::getRequiredChildData(const QString &name) const +{ + const XpsRenderNode *child = findChild(name); + if (child == nullptr) { + qCWarning(OkularXpsDebug) << "Required element " << name << " is missing in " << this->name; + return QVariant(); + } + + return child->data; +} + +QVariant XpsRenderNode::getChildData(const QString &name) const +{ + const XpsRenderNode *child = findChild(name); + if (child == nullptr) { + return QVariant(); + } else { + return child->data; + } +} + +Q_LOGGING_CATEGORY(OkularXpsDebug, "org.kde.okular.generators.xps", QtWarningMsg) + +#include "generator_xps.moc" diff --git a/generators/xps/generator_xps.h b/generators/xps/generator_xps.h new file mode 100644 index 0000000..1077012 --- /dev/null +++ b/generators/xps/generator_xps.h @@ -0,0 +1,301 @@ +/* + SPDX-FileCopyrightText: 2006 Brad Hards + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_GENERATOR_XPS_H_ +#define _OKULAR_GENERATOR_XPS_H_ + +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include + +typedef enum { abtCommand, abtNumber, abtComma, abtEOF } AbbPathTokenType; + +class AbbPathToken +{ +public: + QString data; + int curPos; + + AbbPathTokenType type; + char command; + double number; +}; + +/** + Holds information about xml element during SAX parsing of page +*/ +class XpsRenderNode +{ +public: + QString name; + QList children; + QXmlStreamAttributes attributes; + QVariant data; + + const XpsRenderNode *findChild(const QString &name) const; + QVariant getRequiredChildData(const QString &name) const; + QVariant getChildData(const QString &name) const; +}; + +struct XpsGradient { + XpsGradient(double o, const QColor &c) + : offset(o) + , color(c) + { + } + + double offset; + QColor color; +}; + +/** + Types of data in XpsRenderNode::data. Name of each type consist of Xps and + name of xml element which data it holds +*/ +typedef QTransform XpsMatrixTransform; +typedef QTransform XpsRenderTransform; +typedef QBrush XpsFill; +struct XpsPathFigure { + XpsPathFigure(const QPainterPath &_path, bool filled) + : path(_path) + , isFilled(filled) + { + } + + QPainterPath path; + bool isFilled; +}; + +struct XpsPathGeometry { + XpsPathGeometry() + : fillRule(Qt::OddEvenFill) + { + } + ~XpsPathGeometry() + { + qDeleteAll(paths); + } + + XpsPathGeometry(const XpsPathGeometry &) = delete; + XpsPathGeometry &operator=(const XpsPathGeometry &) = delete; + + QList paths; + Qt::FillRule fillRule; + XpsMatrixTransform transform; +}; + +class XpsPage; +class XpsFile; + +class XpsPage +{ +public: + XpsPage(XpsFile *file, const QString &fileName); + ~XpsPage(); + + XpsPage(const XpsPage &) = delete; + XpsPage &operator=(const XpsPage &) = delete; + + QSizeF size() const; + bool renderToImage(QImage *p); + bool renderToPainter(QPainter *painter); + Okular::TextPage *textPage(); + + QImage loadImageFromFile(const QString &filename); + QString fileName() const + { + return m_fileName; + } + +private: + // Methods for processing of different xml elements + void processStartElement(QPainter *painter, const XpsRenderNode &node); + void processEndElement(QPainter *painter, XpsRenderNode &node); + void processGlyph(QPainter *painter, const XpsRenderNode &node); + void processPath(QPainter *painter, const XpsRenderNode &node); + void processPathData(XpsRenderNode &node); + void processFill(XpsRenderNode &node); + void processStroke(XpsRenderNode &node); + void processImageBrush(XpsRenderNode &node); + void processPathGeometry(XpsRenderNode &node); + void processPathFigure(XpsRenderNode &node); + + XpsFile *m_file; + const QString m_fileName; + QStack m_nodes; + + QSizeF m_pageSize; + + QString m_thumbnailFileName; + bool m_thumbnailMightBeAvailable; + QImage m_thumbnail; + + QImage *m_pageImage; + bool m_pageIsRendered; + + friend class XpsHandler; + friend class XpsTextExtractionHandler; +}; + +/** + Represents one of the (perhaps the only) documents in an XpsFile +*/ +class XpsDocument +{ +public: + XpsDocument(XpsFile *file, const QString &fileName); + ~XpsDocument(); + + XpsDocument(const XpsDocument &) = delete; + XpsDocument &operator=(const XpsDocument &) = delete; + + /** + the total number of pages in this document + */ + int numPages() const; + + /** + obtain a certain page from this document + + \param pageNum the number of the page to return + + \note page numbers are zero based - they run from 0 to + numPages() - 1 + */ + XpsPage *page(int pageNum) const; + + /** + whether this document has a Document Structure + */ + bool hasDocumentStructure(); + + /** + the document structure for this document, if available + */ + const Okular::DocumentSynopsis *documentStructure(); + +private: + void parseDocumentStructure(const QString &documentStructureFileName); + + std::vector> m_pages; + XpsFile *m_file; + bool m_haveDocumentStructure; + std::unique_ptr m_docStructure; + QMap m_docStructurePageMap; +}; + +/** + Represents the contents of a Microsoft XML Paper Specification + format document. +*/ +class XpsFile +{ +public: + XpsFile(); + ~XpsFile(); + + XpsFile(const XpsFile &) = delete; + XpsFile &operator=(const XpsFile &) = delete; + + bool loadDocument(const QString &fileName); + bool closeDocument(); + + Okular::DocumentInfo generateDocumentInfo() const; + + QImage thumbnail(); + + /** + the total number of XpsDocuments with this file + */ + int numDocuments() const; + + /** + the total number of pages in all the XpsDocuments within this + file + */ + int numPages() const; + + /** + a page from the file + + \param pageNum the page number of the page to return + + \note page numbers are zero based - they run from 0 to + numPages() - 1 + */ + XpsPage *page(int pageNum) const; + + /** + obtain a certain document from this file + + \param documentNum the number of the document to return + + \note document numbers are zero based - they run from 0 to + numDocuments() - 1 + */ + XpsDocument *document(int documentNum) const; + + QFont getFontByName(const QString &absoluteFileName, float size); + + KZip *xpsArchive(); + +private: + int loadFontByName(const QString &absoluteFileName); + + std::vector> m_documents; + QList m_pages; + + QString m_thumbnailFileName; + QImage m_thumbnail; + + QString m_corePropertiesFileName; + + QString m_signatureOrigin; + + std::unique_ptr m_xpsArchive; + + QMap m_fontCache; +}; + +class XpsGenerator : public Okular::Generator +{ + Q_OBJECT + Q_INTERFACES(Okular::Generator) +public: + XpsGenerator(QObject *parent, const QVariantList &args); + ~XpsGenerator() override; + + bool loadDocument(const QString &fileName, QList &pagesVector) override; + + Okular::DocumentInfo generateDocumentInfo(const QSet &keys) const override; + const Okular::DocumentSynopsis *generateDocumentSynopsis() override; + + Okular::ExportFormat::List exportFormats() const override; + bool exportTo(const QString &fileName, const Okular::ExportFormat &format) override; + + Okular::Document::PrintError print(QPrinter &printer) override; + +protected: + bool doCloseDocument() override; + QImage image(Okular::PixmapRequest *request) override; + Okular::TextPage *textPage(Okular::TextRequest *request) override; + +private: + std::unique_ptr m_xpsFile; +}; + +Q_DECLARE_LOGGING_CATEGORY(OkularXpsDebug) + +#endif diff --git a/generators/xps/libokularGenerator_xps.json b/generators/xps/libokularGenerator_xps.json new file mode 100644 index 0000000..89e5f9b --- /dev/null +++ b/generators/xps/libokularGenerator_xps.json @@ -0,0 +1,326 @@ +{ + "KPlugin": { + "Authors": [ + { + "Email": "bradh@frogmouth.net", + "Name": "Brad Hards", + "Name[ar]": "Brad Hards", + "Name[az]": "Brad Hards", + "Name[be]": "Brad Hards", + "Name[bg]": "Brad Hards", + "Name[ca@valencia]": "Brad Hards", + "Name[ca]": "Brad Hards", + "Name[cs]": "Brad Hards", + "Name[da]": "Brad Hards", + "Name[de]": "Brad Hards", + "Name[el]": "Brad Hards", + "Name[en_GB]": "Brad Hards", + "Name[eo]": "Brad Hards", + "Name[es]": "Brad Hards", + "Name[et]": "Brad Hards", + "Name[eu]": "Brad Hards", + "Name[fi]": "Brad Hards", + "Name[fr]": "Brad Hards", + "Name[gl]": "Brad Hards", + "Name[he]": "בראד הרדס", + "Name[hu]": "Brad Hards", + "Name[ia]": "Brad Hards", + "Name[ie]": "Brad Hards", + "Name[is]": "Brad Hards", + "Name[it]": "Brad Hards", + "Name[ka]": "Brad Hards", + "Name[ko]": "Brad Hards", + "Name[lt]": "Brad Hards", + "Name[lv]": "Brad Hards", + "Name[nl]": "Brad Hards", + "Name[nn]": "Brad Hards", + "Name[pa]": "ਬਰਾਂਡ ਹਾਰਡਸ", + "Name[pl]": "Brad Hards", + "Name[pt]": "Brad Hards", + "Name[pt_BR]": "Brad Hards", + "Name[ro]": "Brad Hards", + "Name[ru]": "Brad Hards", + "Name[sa]": "ब्रैड हार्ड्स्", + "Name[sk]": "Brad Hards", + "Name[sl]": "Brad Hards", + "Name[sr@ijekavian]": "Бред Хардс", + "Name[sr@ijekavianlatin]": "Bred Hards", + "Name[sr@latin]": "Bred Hards", + "Name[sr]": "Бред Хардс", + "Name[sv]": "Brad Hards", + "Name[ta]": "பிராட் ஹார்ட்ஸ்", + "Name[tr]": "Brad Hards", + "Name[uk]": "Brad Hards", + "Name[vi]": "Brad Hards", + "Name[zh_CN]": "Brad Hards", + "Name[zh_TW]": "Brad Hards" + }, + { + "Email": "jiri.klement@gmail.com", + "Name": "Jiri Klement", + "Name[ar]": "Jiri Klement", + "Name[az]": "Jiri Klement", + "Name[be]": "Jiri Klement", + "Name[bg]": "Jiri Klement", + "Name[ca@valencia]": "Jiri Klement", + "Name[ca]": "Jiri Klement", + "Name[cs]": "Jiří Klement", + "Name[da]": "Jiri Klement", + "Name[de]": "Jiri Klement", + "Name[el]": "Jiri Klement", + "Name[en_GB]": "Jiri Klement", + "Name[eo]": "Jiri Klement", + "Name[es]": "Jiri Klement", + "Name[et]": "Jiri Klement", + "Name[eu]": "Jiri Klement", + "Name[fi]": "Jiri Klement", + "Name[fr]": "Jiri Klement", + "Name[gl]": "Jiri Klement", + "Name[he]": "ג׳ירי קלמנט", + "Name[hu]": "Jiri Klement", + "Name[ia]": "Jiri Klement", + "Name[ie]": "Jiri Klement", + "Name[is]": "Jiri Klement", + "Name[it]": "Jiri Klement", + "Name[ka]": "Jiri Klement", + "Name[ko]": "Jiri Klement", + "Name[lt]": "Jiri Klement", + "Name[lv]": "Jiri Klement", + "Name[nl]": "Jiri Klement", + "Name[nn]": "Jiri Klement", + "Name[pl]": "Jiri Klement", + "Name[pt]": "Jiri Klement", + "Name[pt_BR]": "Jiri Klement", + "Name[ro]": "Jiri Klement", + "Name[ru]": "Jiri Klement", + "Name[sa]": "क्लेमेण्ट् इत्यस्य प्रयोगं कुर्वन्तु", + "Name[sk]": "Jiri Klement", + "Name[sl]": "Jiri Klement", + "Name[sr@ijekavian]": "Јиржи Клемент", + "Name[sr@ijekavianlatin]": "Jirži Klement", + "Name[sr@latin]": "Jirži Klement", + "Name[sr]": "Јиржи Клемент", + "Name[sv]": "Jiri Klement", + "Name[tr]": "Jiri Klement", + "Name[uk]": "Jiri Klement", + "Name[vi]": "Jiri Klement", + "Name[zh_CN]": "Jiri Klement", + "Name[zh_TW]": "Jiri Klement" + }, + { + "Email": "pino@kde.org", + "Name": "Pino Toscano", + "Name[ar]": "Pino Toscano", + "Name[az]": "Pino Toscano", + "Name[be]": "Pino Toscano", + "Name[bg]": "Pino Toscano", + "Name[ca@valencia]": "Pino Toscano", + "Name[ca]": "Pino Toscano", + "Name[cs]": "Pino Toscano", + "Name[da]": "Pino Toscano", + "Name[de]": "Pino Toscano", + "Name[el]": "Pino Toscano", + "Name[en_GB]": "Pino Toscano", + "Name[eo]": "Pino Toscano", + "Name[es]": "Pino Toscano", + "Name[et]": "Pino Toscano", + "Name[eu]": "Pino Toscano", + "Name[fi]": "Pino Toscano", + "Name[fr]": "Pino Toscano", + "Name[gl]": "Pino Toscano", + "Name[he]": "פינו טוסקנו", + "Name[hu]": "Pino Toscano", + "Name[ia]": "Pino Toscano", + "Name[ie]": "Pino Toscano", + "Name[is]": "Pino Toscano", + "Name[it]": "Pino Toscano", + "Name[ka]": "Pino Toscano", + "Name[ko]": "Pino Toscano", + "Name[lt]": "Pino Toscano", + "Name[lv]": "Pino Toscano", + "Name[nl]": "Pino Toscano", + "Name[nn]": "Pino Toscano", + "Name[pa]": "ਪਿਨੋ ਟਿਸਕਾਨੋ", + "Name[pl]": "Pino Toscano", + "Name[pt]": "Pino Toscano", + "Name[pt_BR]": "Pino Toscano", + "Name[ro]": "Pino Toscano", + "Name[ru]": "Pino Toscano", + "Name[sa]": "पिनो टोस्कानो", + "Name[sk]": "Pino Toscano", + "Name[sl]": "Pino Toscano", + "Name[sr@ijekavian]": "Пино Тоскано", + "Name[sr@ijekavianlatin]": "Pino Toskano", + "Name[sr@latin]": "Pino Toskano", + "Name[sr]": "Пино Тоскано", + "Name[sv]": "Pino Toscano", + "Name[ta]": "பீனோ டொஸ்கானோ", + "Name[tr]": "Pino Toscano", + "Name[uk]": "Pino Toscano", + "Name[vi]": "Pino Toscano", + "Name[zh_CN]": "Pino Toscano", + "Name[zh_TW]": "Pino Toscano" + } + ], + "Copyright": "© 2006-2007 Brad Hards\n© 2007 Jiri Klement\n© 2008 Pino Toscano", + "Copyright[ar]": "© 2006-2007 Brad Hards\n© 2007 Jiri Klement\n© 2008 Pino Toscano", + "Copyright[az]": "© 2006-2007 Brad Hards\n© 2007 Jiri Klement\n© 2008 Pino Toscano", + "Copyright[be]": "© 2006-2007 Brad Hards\n© 2007 Jiri Klement\n© 2008 Pino Toscano", + "Copyright[bg]": "© 2006-2007 Brad Hards\n© 2007 Jiri Klement\n© 2008 Pino Toscano", + "Copyright[ca@valencia]": "© 2006-2007 Brad Hards\n© 2007 Jiri Klement\n© 2008 Pino Toscano", + "Copyright[ca]": "© 2006-2007 Brad Hards\n© 2007 Jiri Klement\n© 2008 Pino Toscano", + "Copyright[cs]": "© 2006-2007 Brad Hards\n© 2007 Jiri Klement\n© 2008 Pino Toscano", + "Copyright[da]": "© 2006-2007 Brad Hards\n© 2007 Jiri Klement\n© 2008 Pino Toscano", + "Copyright[de]": "© 2006-2007 Brad Hards\n© 2007 Jiri Klement\n© 2008 Pino Toscano", + "Copyright[el]": "© 2006-2007 Brad Hards\n© 2007 Jiri Klement\n© 2008 Pino Toscano", + "Copyright[en_GB]": "© 2006-2007 Brad Hards\n© 2007 Jiri Klement\n© 2008 Pino Toscano", + "Copyright[eo]": "© 2006-2007 Brad Hards\n© 2007 Jiri Klement\n© 2008 Pino Toscano", + "Copyright[es]": "© 2006-2007 Brad Hards\n© 2007 Jiri Klement\n© 2008 Pino Toscano", + "Copyright[et]": "© 2006-2007: Brad Hards\n© 2007: Jiri Klement\n© 2008: Pino Toscano", + "Copyright[eu]": "© 2006-2007 Brad Hards\n© 2007 Jiri Klement\n© 2008 Pino Toscano", + "Copyright[fi]": "© 2006–2007 Brad Hards\n© 2007 Jiri Klement\n© 2008 Pino Toscano", + "Copyright[fr]": "© 2006-2007 Brad Hards\n© 2007 Jiri Klement\n© 2008 Pino Toscano", + "Copyright[gl]": "© 2006-2007 Brad Hards\n© 2007 Jiri Klement\n© 2008 Pino Toscano", + "Copyright[he]": "© 2006‏-2007 בראד הרדס\n© 2007 ייזי קלמנט\n© 2008 פינו טוסקנו", + "Copyright[hu]": "© Brad Hards, 2006-2007.\n© Jiri Klement, 2007.\n© Pino Toscano, 2008.", + "Copyright[ia]": "© 2006-2007 Brad Hards\n© 2007 Jiri Klement\n© 2008 Pino Toscano", + "Copyright[ie]": "© 2006-2007 Brad Hards\n© 2007 Jiri Klement\n© 2008 Pino Toscano", + "Copyright[is]": "© 2006-2007 Brad Hards\n© 2007 Jiri Klement\n© 2008 Pino Toscano", + "Copyright[it]": "© 2006-2007 Brad Hards\n© 2007 Jiri Klement\n© 2008 Pino Toscano", + "Copyright[ka]": "© 2006-2007 Brad Hards\n© 2007 Jiri Klement\n© 2008 Pino Toscano", + "Copyright[ko]": "© 2006-2007 Brad Hards\n© 2007 Jiri Klement\n© 2008 Pino Toscano", + "Copyright[lt]": "© 2006-2007 Brad Hards\n© 2007 Jiri Klement\n© 2008 Pino Toscano", + "Copyright[lv]": "© 2006-2007 Brad Hards\n© 2007 Jiri Klement\n© 2008 Pino Toscano", + "Copyright[nl]": "© 2006-2007 Brad Hards\n© 2007 Jiri Klement\n© 2008 Pino Toscano", + "Copyright[nn]": "© 2006–2007 Brad Hards\n© 2007 Jiri Klement\n© 2008 Pino Toscano", + "Copyright[pa]": "© 2006-2007 Brad Hards\n© 2007 Jiri Klement\n© 2008 Pino Toscano", + "Copyright[pl]": "© 2006-2007 Brad Hards\n© 2007 Jiri Klement\n© 2008 Pino Toscano", + "Copyright[pt]": "© 2006-2007 Brad Hards\n© 2007 Jiri Klement\n© 2008 Pino Toscano", + "Copyright[pt_BR]": "© 2006-2007 Brad Hards\n© 2007 Jiri Klement\n© 2008 Pino Toscano", + "Copyright[ro]": "© 2006-2007 Brad Hards\n© 2007 Jiri Klement\n© 2008 Pino Toscano", + "Copyright[ru]": "© Brad Hards, 2006-2007\n© Jiri Klement, 2007\n© Pino Toscano, 2008", + "Copyright[sa]": "© 2006-2007 ब्रैड हार्ड्स\n© 2007 जिरी क्लेमेंट\n© 2008 पिनो टोस्कानो", + "Copyright[sk]": "© 2006-2007 Brad Hards\n© 2007 Jiri Klement\n© 2008 Pino Toscano", + "Copyright[sl]": "© 2006-2007 Brad Hards\n© 2007 Jiri Klement\n© 2008 Pino Toscano", + "Copyright[sr@ijekavian]": "© 2006–2007, Бред Хардс\n© 2007, Јиржи Клемент\n© 2008, Пино Тоскано", + "Copyright[sr@ijekavianlatin]": "© 2006–2007, Bred Hards\n© 2007, Jirži Klement\n© 2008, Pino Toskano", + "Copyright[sr@latin]": "© 2006–2007, Bred Hards\n© 2007, Jirži Klement\n© 2008, Pino Toskano", + "Copyright[sr]": "© 2006–2007, Бред Хардс\n© 2007, Јиржи Клемент\n© 2008, Пино Тоскано", + "Copyright[sv]": "© 2006-2007 Brad Hards\n© 2007 Jiri Klement\n© 2008 Pino Toscano", + "Copyright[tr]": "© 2006–2007 Brad Hards\n© 2007 Jiri Klement\n© 2008 Pino Toscano", + "Copyright[uk]": "© Brad Hards, 2006–2007\n© Jiri Klement, 2007\n© Pino Toscano, 2008", + "Copyright[vi]": "© 2006-2007 Brad Hards\n© 2007 Jiri Klement\n© 2008 Pino Toscano", + "Copyright[zh_CN]": "© 2006-2007 Brad Hards\n© 2007 Jiri Klement\n© 2008 Pino Toscano", + "Copyright[zh_TW]": "© 2006-2007 Brad Hards\n© 2007 Jiri Klement\n© 2008 Pino Toscano", + "Description": "An XPS backend", + "Description[ar]": "خلفية XPS", + "Description[az]": "XPS modulu", + "Description[be]": "Рухавік XPS", + "Description[bg]": "Бекенд на XPS ", + "Description[ca@valencia]": "Un dorsal de XPS", + "Description[ca]": "Un dorsal de XPS", + "Description[cs]": "Podpůrná vrstva XPS", + "Description[da]": "En XPS-backend", + "Description[de]": "Ein Anzeigemodul für XPS", + "Description[el]": "Σύστημα υποστήριξης XPS", + "Description[en_GB]": "An XPS backend", + "Description[eo]": "XPS-backend", + "Description[es]": "Un motor para XPS", + "Description[et]": "XPS-i taustaprogramm", + "Description[eu]": "XPS-ren bizkarraldeko bat", + "Description[fi]": "XPS-taustaosa", + "Description[fr]": "Un moteur XPS", + "Description[gl]": "Motor de XPS.", + "Description[he]": "מנגנון XPS", + "Description[hu]": "XPS modul", + "Description[ia]": "Un retro-administration de XPS", + "Description[ie]": "Un infrastructura XPS", + "Description[is]": "XPS-bakendi", + "Description[it]": "Un backend per XPS", + "Description[ka]": "XPS უკანაბოლო", + "Description[ko]": "XPS 백엔드", + "Description[lt]": "XPS programinė sąsaja", + "Description[lv]": "XPS aizmugursistēma", + "Description[nl]": "Een XPS-backend", + "Description[nn]": "Ein XPS-motor", + "Description[pa]": "XPS ਬੈਕਐਂਡ", + "Description[pl]": "Obsługa formatu XPS", + "Description[pt]": "Uma infra-estrutura de XPS", + "Description[pt_BR]": "Uma infraestrutura XPS", + "Description[ro]": "O platformă XPS", + "Description[ru]": "Модуль поддержки формата XPS", + "Description[sa]": "एकः XPS पृष्ठभागः", + "Description[sk]": "XPS backend", + "Description[sl]": "Zaledje za XPS", + "Description[sr@ijekavian]": "Позадина за ИксПС", + "Description[sr@ijekavianlatin]": "Pozadina za XPS", + "Description[sr@latin]": "Pozadina za XPS", + "Description[sr]": "Позадина за ИксПС", + "Description[sv]": "Ett XPS-gränssnitt", + "Description[tr]": "Bir XPS arka ucu", + "Description[uk]": "Програма для XPS", + "Description[vi]": "Một hậu phương XPS", + "Description[zh_CN]": "XPS 后端程序", + "Description[zh_TW]": "XPS 後端介面", + "License": "GPL", + "MimeTypes": [ + "application/oxps", + "application/vnd.ms-xpsdocument" + ], + "Name": "XPS Backend", + "Name[ar]": "خلفية XPS", + "Name[az]": "XPS modulu", + "Name[be]": "Рухавік XPS", + "Name[bg]": "Бекенд на XPS ", + "Name[ca@valencia]": "Dorsal XPS", + "Name[ca]": "Dorsal XPS", + "Name[cs]": "Podpůrná vrstva XPS", + "Name[da]": "XPS-backend", + "Name[de]": "Anzeigemodul für XPS", + "Name[el]": "Σύστημα υποστήριξης XPS", + "Name[en_GB]": "XPS Backend", + "Name[eo]": "XPS-Backend", + "Name[es]": "Motor para XPS", + "Name[et]": "XPS-i taustaprogramm", + "Name[eu]": "XPS-ren bizkarraldekoa", + "Name[fi]": "XPS-taustaosa", + "Name[fr]": "Moteur XPS", + "Name[gl]": "Motor de XPS", + "Name[he]": "מנגנון XPS", + "Name[hu]": "XPS modul", + "Name[ia]": "Retro-Administration de XPS", + "Name[ie]": "Infrastructura XPS", + "Name[is]": "XPS-bakendi", + "Name[it]": "Backend XPS", + "Name[ka]": "XPS უკანაბოლო", + "Name[ko]": "XPS 백엔드", + "Name[lt]": "XPS programinė sąsaja", + "Name[lv]": "XPS aizmugursistēma", + "Name[nl]": "XPS-backend", + "Name[nn]": "XPS-motor", + "Name[pa]": "XPS ਬੈਕਐਂਡ", + "Name[pl]": "Obsługa XPS", + "Name[pt]": "Infra-Estrutura de XPS", + "Name[pt_BR]": "Infraestrutura XPS", + "Name[ro]": "Platformă XPS", + "Name[ru]": "Модуль поддержки формата XPS", + "Name[sa]": "XPS Backend इति", + "Name[sk]": "XPS Backend", + "Name[sl]": "Zaledje za XPS", + "Name[sr@ijekavian]": "Позадина за ИксПС", + "Name[sr@ijekavianlatin]": "Pozadina za XPS", + "Name[sr@latin]": "Pozadina za XPS", + "Name[sr]": "Позадина за ИксПС", + "Name[sv]": "XPS-gränssnitt", + "Name[ta]": "XPS பின்நிலை", + "Name[tr]": "XPS Arka Ucu", + "Name[uk]": "Модуль XPS", + "Name[vi]": "Hậu phương XPS", + "Name[zh_CN]": "XPS 后端程序", + "Name[zh_TW]": "XPS 後端介面", + "Version": "0.3.3" + }, + "X-KDE-Priority": 4, + "X-KDE-okularAPIVersion": 1, + "X-KDE-okularHasInternalSettings": false +} diff --git a/generators/xps/okularApplication_xps.desktop b/generators/xps/okularApplication_xps.desktop new file mode 100755 index 0000000..3ae131c --- /dev/null +++ b/generators/xps/okularApplication_xps.desktop @@ -0,0 +1,259 @@ +[Desktop Entry] +MimeType=application/oxps;application/vnd.ms-xpsdocument; +Terminal=false +Name=Okular +Name[ar]=اوكلار +Name[az]=Okular +Name[be]=Okular +Name[bg]=Okular +Name[bs]=Okular +Name[ca]=Okular +Name[ca@valencia]=Okular +Name[cs]=Okular +Name[da]=Okular +Name[de]=Okular +Name[el]=Okular +Name[en_GB]=Okular +Name[eo]=Okular +Name[es]=Okular +Name[et]=Okular +Name[eu]=Okular +Name[fi]=Okular +Name[fr]=Okular +Name[ga]=Okular +Name[gl]=Okular +Name[he]=Okular +Name[hne]=ओकुलर +Name[hr]=Okular +Name[hu]=Okular +Name[ia]=Okular +Name[ie]=Okular +Name[is]=Okular +Name[it]=Okular +Name[ja]=Okular +Name[ka]=Okular +Name[kk]=Okular +Name[km]=Okular +Name[ko]=Okular +Name[ku]=Okular +Name[lt]=Okular +Name[lv]=Okular +Name[mr]=ओक्युलर +Name[nb]=Okular +Name[nds]=Okular +Name[nl]=Okular +Name[nn]=Okular +Name[pa]=ਓਕੁਲਾਰ +Name[pl]=Okular +Name[pt]=Okular +Name[pt_BR]=Okular +Name[ro]=Okular +Name[ru]=Okular +Name[sa]=नेत्रस्य +Name[si]=Okular +Name[sk]=Okular +Name[sl]=Okular +Name[sq]=Okular +Name[sr]=Окулар +Name[sr@ijekavian]=Окулар +Name[sr@ijekavianlatin]=Okular +Name[sr@latin]=Okular +Name[sv]=Okular +Name[ta]=ஆக்குலர் +Name[th]=โอกูลาร์ +Name[tr]=Okular +Name[ug]=Okular +Name[uk]=Okular +Name[vi]=Okular +Name[zh_CN]=Okular 文档查看器 +Name[zh_TW]=Okular +GenericName=Document Viewer +GenericName[ar]=عارض المستندات +GenericName[az]=Sənədə baxış vasitısi +GenericName[be]=Сродак для прагляду дакументаў +GenericName[bg]=Преглед на документи +GenericName[bs]=Prikazivač dokumenata +GenericName[ca]=Visualitzador de documents +GenericName[ca@valencia]=Visor de documents +GenericName[cs]=Prohlížeč dokumentů +GenericName[da]=Dokumentfremviser +GenericName[de]=Dokumentenbetrachter +GenericName[el]=Προβολέας εγγράφων +GenericName[en_GB]=Document Viewer +GenericName[eo]=Dokumenta rigardilo +GenericName[es]=Visor de documentos +GenericName[et]=Dokumendinäitaja +GenericName[eu]=Dokumentu erakuslea +GenericName[fa]=مشاهده‌گر سند +GenericName[fi]=Asiakirjakatselin +GenericName[fr]=Afficheur de documents +GenericName[ga]=Amharcán Cáipéisí +GenericName[gl]=Visor de documentos +GenericName[he]=מציג מסמכים +GenericName[hi]=दस्तावेज़ प्रदर्शक +GenericName[hne]=कागद प्रदर्सक +GenericName[hr]=Preglednik dokumenata +GenericName[hu]=Dokumentummegjelenítő +GenericName[ia]=Visor de documento +GenericName[ie]=Visor de documentes +GenericName[is]=Skjalaskoðari +GenericName[it]=Visore di documenti +GenericName[ja]=文書ビューア +GenericName[ka]=დოკუმენტების მნახველი +GenericName[kk]=Құжатты қарау құралы +GenericName[km]=កម្មវិធី​មើល​ឯកសារ +GenericName[ko]=문서 뷰어 +GenericName[ku]=Nîşanderê Belgeyan +GenericName[lt]=Dokumentų žiūryklė +GenericName[lv]=Dokumentu skatītājs +GenericName[mr]=दस्तऐवज प्रदर्शक +GenericName[nb]=Dokumentviser +GenericName[nds]=Dokmentkieker +GenericName[ne]=कागजात दर्शक +GenericName[nl]=Documentenviewer +GenericName[nn]=Dokumentvisar +GenericName[oc]=Visualizaire de documents +GenericName[pa]=ਡੌਕੂਮੈਂਟ ਦਰਸ਼ਕ +GenericName[pl]=Przeglądarka dokumentów +GenericName[pt]=Visualizador de Documentos +GenericName[pt_BR]=Visualizador de documentos +GenericName[ro]=Vizualizor de documente +GenericName[ru]=Просмотр документов +GenericName[sa]=दस्तावेज दर्शक +GenericName[sk]=Prehliadač dokumentov +GenericName[sl]=Pregledovalnik dokumentov +GenericName[sq]=Shikues dokumentesh +GenericName[sr]=Приказивач докумената +GenericName[sr@ijekavian]=Приказивач докумената +GenericName[sr@ijekavianlatin]=Prikazivač dokumenata +GenericName[sr@latin]=Prikazivač dokumenata +GenericName[sv]=Dokumentvisare +GenericName[ta]=ஆவணங் காட்டி +GenericName[th]=เครื่องมือแสดงเอกสาร +GenericName[tr]=Belge Görüntüleyicisi +GenericName[ug]=پۈتۈك كۆرگۈ +GenericName[uk]=Переглядач документів +GenericName[vi]=Trình xem tài liệu +GenericName[zh_CN]=文档查看器 +GenericName[zh_TW]=文件檢視器 +Comment=Universal document viewer +Comment[ar]=عارض المستندات عالمي +Comment[az]=Sənədə universal baxış vasitəsi +Comment[be]=Універсальны сродак для прагляду дакументаў +Comment[bg]=Универсална програма за преглед на документи +Comment[ca]=Visualitzador universal de documents +Comment[ca@valencia]=Visor universal de documents +Comment[cs]=Univerzální prohlížeč dokumentů +Comment[da]=Universel dokumentfremviser +Comment[de]=Universeller Dokumentenbetrachter +Comment[el]=Καθολικός προβολέας εγγράφων +Comment[en_GB]=Universal document viewer +Comment[eo]=Universala dokumenta spektilo +Comment[es]=Visor de documentos universal +Comment[et]=Universaalne dokumendinäitaja +Comment[eu]=Dokumentu erakusle unibertsala +Comment[fi]=Yleinen asiakirjakatselin +Comment[fr]=Afficheur de document universel +Comment[gl]=Visor de documentos universal. +Comment[he]=מציג מסמכים אוניברסלי +Comment[hu]=Univerzális dokumentummegjelenítő +Comment[ia]=Visor de documento universal +Comment[ie]=Universal visor de documentes +Comment[is]=Fjölhæfur skjalaskoðari +Comment[it]=Visore di documenti universale +Comment[ja]=多用途な文書ビューア +Comment[ka]=დოკუმენტების პოპულარული ფორმატების გამხსნელი +Comment[ko]=만능 문서 뷰어 +Comment[lt]=Universali dokumentų žiūryklė +Comment[lv]=Universāls dokumentu skatītājs +Comment[nl]=Universele documentviewer +Comment[nn]=Dokumentvisar for mange format +Comment[pa]=ਯੂਨੀਵਰਸਲ ਡੌਕੂਮੈਂਟ ਦਰਸ਼ਕ +Comment[pl]=Wszechstronna przeglądarka dokumentów +Comment[pt]=Visualizador de documentos universal +Comment[pt_BR]=Visualizador de documentos universal +Comment[ro]=Vizualizor de documente universal +Comment[ru]=Универсальная программа просмотра документов +Comment[sa]=सार्वभौमिक दस्तावेज दर्शक +Comment[sk]=Univerzálny prehliadač dokumentov +Comment[sl]=Vsestranski pregledovalnik dokumentov +Comment[sq]=Shikues univerzal dokumentesh +Comment[sr]=Универзални приказивач докумената +Comment[sr@ijekavian]=Универзални приказивач докумената +Comment[sr@ijekavianlatin]=Univerzalni prikazivač dokumenata +Comment[sr@latin]=Univerzalni prikazivač dokumenata +Comment[sv]=Generell dokumentvisare +Comment[ta]=அனைத்து ஆவணங்களுக்கான காட்டி +Comment[tr]=Çok amaçlı belge görüntüleyicisi +Comment[uk]=Універсальний переглядач документів +Comment[vi]=Trình xem tài liệu vạn năng +Comment[zh_CN]=通用文档查看器 +Comment[zh_TW]=通用文件檢視器 +Exec=okular %U +Icon=okular +Type=Application +InitialPreference=7 +Categories=Qt;KDE;Graphics;Viewer; +X-KDE-Keywords=XPS +X-KDE-Keywords[ar]=XPS +X-KDE-Keywords[ast]=XPS +X-KDE-Keywords[az]=XPS +X-KDE-Keywords[be]=XPS +X-KDE-Keywords[bg]=XPS +X-KDE-Keywords[bs]=XPS +X-KDE-Keywords[ca]=XPS +X-KDE-Keywords[ca@valencia]=XPS +X-KDE-Keywords[cs]=XPS +X-KDE-Keywords[da]=XPS +X-KDE-Keywords[de]=XPS +X-KDE-Keywords[el]=XPS +X-KDE-Keywords[en_GB]=XPS +X-KDE-Keywords[eo]=XPS +X-KDE-Keywords[es]=XPS +X-KDE-Keywords[et]=XPS +X-KDE-Keywords[eu]=XPS +X-KDE-Keywords[fi]=XPS +X-KDE-Keywords[fr]=XPS +X-KDE-Keywords[ga]=XPS +X-KDE-Keywords[gl]=XPS +X-KDE-Keywords[he]=XPS +X-KDE-Keywords[hu]=XPS +X-KDE-Keywords[ia]=XPS +X-KDE-Keywords[ie]=XPS +X-KDE-Keywords[is]=XPS +X-KDE-Keywords[it]=XPS +X-KDE-Keywords[ja]=XPS +X-KDE-Keywords[ka]=XPS +X-KDE-Keywords[kk]=XPS +X-KDE-Keywords[km]=XPS +X-KDE-Keywords[ko]=XPS +X-KDE-Keywords[lt]=XPS +X-KDE-Keywords[lv]=XPS +X-KDE-Keywords[mr]=XPS +X-KDE-Keywords[nb]=XPS +X-KDE-Keywords[nds]=XPS +X-KDE-Keywords[nl]=XPS +X-KDE-Keywords[nn]=XPS +X-KDE-Keywords[pa]=XPS +X-KDE-Keywords[pl]=XPS +X-KDE-Keywords[pt]=XPS +X-KDE-Keywords[pt_BR]=XPS +X-KDE-Keywords[ro]=XPS +X-KDE-Keywords[ru]=XPS +X-KDE-Keywords[sa]=XPS +X-KDE-Keywords[sk]=XPS +X-KDE-Keywords[sl]=XPS +X-KDE-Keywords[sq]=XPS +X-KDE-Keywords[sr]=XPS,ИксПС +X-KDE-Keywords[sr@ijekavian]=XPS,ИксПС +X-KDE-Keywords[sr@ijekavianlatin]=XPS,XPS +X-KDE-Keywords[sr@latin]=XPS,XPS +X-KDE-Keywords[sv]=XPS +X-KDE-Keywords[ta]=XPS +X-KDE-Keywords[tr]=XPS +X-KDE-Keywords[uk]=XPS +X-KDE-Keywords[vi]=XPS +X-KDE-Keywords[zh_CN]=XPS +X-KDE-Keywords[zh_TW]=XPS +NoDisplay=true +X-KDE-AliasFor=org.kde.okular.desktop diff --git a/generators/xps/org.kde.mobile.okular_xps.desktop b/generators/xps/org.kde.mobile.okular_xps.desktop new file mode 100644 index 0000000..1ba68a3 --- /dev/null +++ b/generators/xps/org.kde.mobile.okular_xps.desktop @@ -0,0 +1,253 @@ +[Desktop Entry] +MimeType=application/oxps;application/vnd.ms-xpsdocument; +Name=Reader +Name[ar]=التصيير +Name[az]=Oxuyucu +Name[be]=Сродак чытання +Name[bg]=Четец +Name[bs]=Čitač +Name[ca]=Lector +Name[ca@valencia]=Lector +Name[cs]=Čtečka +Name[da]=Læser +Name[de]=Lesegerät +Name[el]=Πρόγραμμα ανάγνωσης +Name[en_GB]=Reader +Name[eo]=Legilo +Name[es]=Lector +Name[et]=Lugeja +Name[eu]=Irakurlea +Name[fi]=Lukija +Name[fr]=Lecteur +Name[ga]=Léitheoir +Name[gl]=Lector +Name[he]=קורא +Name[hu]=Olvasó +Name[ia]=Lector +Name[ie]=Letor +Name[is]=Lesari +Name[it]=Lettore +Name[ja]=リーダ +Name[ka]=მკითხველი +Name[kk]=Оқу құралы +Name[ko]=리더 +Name[lt]=Skaitytuvas +Name[lv]=Lasītājs +Name[mr]=वाचक +Name[nb]=Leser +Name[nds]=Leser +Name[nl]=Lezer +Name[nn]=Lesar +Name[pa]=ਰੀਡਰ +Name[pl]=Czytnik +Name[pt]=Leitor +Name[pt_BR]=Leitor +Name[ro]=Cititor +Name[ru]=Просмотрщик +Name[sa]=पाठकः +Name[sk]=Čítačka +Name[sl]=Bralnik +Name[sq]=Reader +Name[sr]=Читач +Name[sr@ijekavian]=Читач +Name[sr@ijekavianlatin]=Čitač +Name[sr@latin]=Čitač +Name[sv]=Läsprogram +Name[ta]=காட்டி +Name[tr]=Okuyucu +Name[ug]=ئوقۇغۇ +Name[uk]=Переглядач +Name[vi]=Trình đọc +Name[zh_CN]=阅读器 +Name[zh_TW]=閱讀器 +GenericName=Document viewer +GenericName[ar]=عارض المستندات +GenericName[az]=Sənədə baxış vasitısi +GenericName[be]=Сродак для прагляду дакументаў +GenericName[bg]=Преглед на документи +GenericName[bs]=Prikazivač dokumenata +GenericName[ca]=Visualitzador de documents +GenericName[ca@valencia]=Visor de documents +GenericName[cs]=Prohlížeč dokumentů +GenericName[da]=Dokumentfremviser +GenericName[de]=Dokumentenbetrachter +GenericName[el]=Προβολέας εγγράφων +GenericName[en_GB]=Document Viewer +GenericName[eo]=Dokumentrigardilo +GenericName[es]=Visor de documentos +GenericName[et]=Dokumendinäitaja +GenericName[eu]=Dokumentu erakuslea +GenericName[fi]=Asiakirjakatselin +GenericName[fr]=Afficheur de document +GenericName[ga]=Amharcán cáipéisí +GenericName[gl]=Visor de documentos +GenericName[he]=מציג מסמכים +GenericName[hi]=दस्तावेज़ प्रदर्शक +GenericName[hu]=Dokumentummegjelenítő +GenericName[ia]=Visor de documento +GenericName[ie]=Visor de documentes +GenericName[is]=Skjalaskoðari +GenericName[it]=Visore di documenti +GenericName[ja]=文書ビューア +GenericName[ka]=დოკუმენტების მნახველი +GenericName[kk]=Құжатты қарау құралы +GenericName[ko]=문서 뷰어 +GenericName[lt]=Dokumentų žiūryklė +GenericName[lv]=Dokumentu skatītājs +GenericName[mr]=दस्तऐवज प्रदर्शक +GenericName[nb]=Dokumentviser +GenericName[nds]=Dokmentkieker +GenericName[nl]=Documentenviewer +GenericName[nn]=Dokumentvisar +GenericName[pa]=ਡੌਕੂਮੈਂਟ ਦਰਸ਼ਕ +GenericName[pl]=Przeglądarka dokumentów +GenericName[pt]=Visualizador de documentos +GenericName[pt_BR]=Visualizador de documentos +GenericName[ro]=Vizualizor de documente +GenericName[ru]=Просмотр документов +GenericName[sa]=दस्तावेजदर्शकः +GenericName[sk]=Prehliadač dokumentov +GenericName[sl]=Pregledovalnik dokumentov +GenericName[sq]=Shikues dokumentesh +GenericName[sr]=Приказивач докумената +GenericName[sr@ijekavian]=Приказивач докумената +GenericName[sr@ijekavianlatin]=Prikazivač dokumenata +GenericName[sr@latin]=Prikazivač dokumenata +GenericName[sv]=Dokumentvisare +GenericName[ta]=ஆவணங் காட்டி +GenericName[tr]=Belge Görüntüleyicisi +GenericName[uk]=Переглядач документів +GenericName[vi]=Trình xem tài liệu +GenericName[zh_CN]=文档查看器 +GenericName[zh_TW]=文件檢視器 +Comment=Viewer for various types of documents +Comment[ar]=عارض للعديد من أنواع المستندات +Comment[az]=Müxtəlif növlü sənədlər üçün görüntüləyici +Comment[be]=Сродак для прагляду разнастайных тыпаў дакументаў +Comment[bg]=Преглед на различни видове документи +Comment[bs]=Pregledač raznih vrsta dokumenata +Comment[ca]=Visualitzador de diversos tipus de documents +Comment[ca@valencia]=Visor de diversos tipus de documents +Comment[cs]=Prohlížeč různých typů dokumentů +Comment[da]=Fremviser af diverse dokumenttyper +Comment[de]=Betrachter für verschiedene Arten von Dokumenten +Comment[el]=Πρόγραμμα προβολής για διάφορους τύπους εγγράφων +Comment[en_GB]=Viewer for various types of documents +Comment[eo]=Vidilo por diversaj specoj de dokumentoj +Comment[es]=Visor de diversos tipos de documentos +Comment[et]=Eri tüüpi dokumentide näitaja +Comment[eu]=Hainbat dokumentu moten erakuslea +Comment[fi]=Monenlaisten asiakirjojen katseluohjelma +Comment[fr]=Afficheur pour différents types de documents +Comment[ga]=Amharcán le haghaidh cáipéisí éagsúla +Comment[gl]=Visor de varios tipos de documentos. +Comment[he]=מציג למגוון סוגי מסמכים +Comment[hu]=Megjelenítő különféle típusú dokumentumokhoz +Comment[ia]=Visor pro varie typos de documento +Comment[ie]=Visor por varie tipes de documentes +Comment[is]=Skoðari fyrir ýmsar gerðir skjala +Comment[it]=Visore per vari tipi di documenti +Comment[ja]=様々なタイプの文書のためのビューア +Comment[ka]=სხვადასხვა ტიპების დოკუმენტების დათვალიერება +Comment[kk]=Түрлі құжаттар қарау құралы +Comment[ko]=여러 형식의 문서 뷰어 +Comment[lt]=Žiūryklė įvairiems dokumentų tipams +Comment[lv]=Dažādu dokumentu tipu skatītājs +Comment[mr]=विविध प्रकारच्या दस्तऐवजांचा प्रदर्शक +Comment[nb]=Framviser for forskjellige dokumenttyper +Comment[nds]=Kieker för en Reeg Dokmenttypen +Comment[nl]=Viewer voor verschillende typen documenten +Comment[nn]=Framvisar for forskjellige dokumenttypar +Comment[pa]=ਕਈ ਕਿਸਮ ਦੇ ਡੌਕੂਮੈਂਟ ਵੇਖਾਉਣ ਲਈ ਦਰਸ਼ਕ +Comment[pl]=Przeglądarka dla różnych typów dokumentów +Comment[pt]=Visualizador de vários tipos de documentos +Comment[pt_BR]=Visualizador para vários tipos de documentos +Comment[ro]=Vizualizor pentru diferite tipuri de documente +Comment[ru]=Программа для просмотра различных типов документов +Comment[sa]=विभिन्नप्रकारस्य दस्तावेजानां कृते दर्शकः +Comment[sk]=Prehliadač pre rôzne typy dokumentov +Comment[sl]=Pregledovalnik raznih vrst dokumentov +Comment[sq]=Shikues për lloje të ndryshme të dokumentave +Comment[sr]=Приказивач различитих врста докумената +Comment[sr@ijekavian]=Приказивач различитих врста докумената +Comment[sr@ijekavianlatin]=Prikazivač različitih vrsta dokumenata +Comment[sr@latin]=Prikazivač različitih vrsta dokumenata +Comment[sv]=Visningsprogram för diverse typer av dokument +Comment[ta]=பலவகையான ஆவணங்களுக்கான காட்டி +Comment[tr]=Çeşitli belge türleri için görüntüleyici +Comment[ug]=ھەر خىل تىپتىكى پۈتۈكلەرنى كۆرىدىغان پروگرامما +Comment[uk]=Програма для перегляду документів різних типів +Comment[vi]=Trình xem các kiểu tài liệu khác nhau +Comment[zh_CN]=支持查看多种文档类型 +Comment[zh_TW]=多種型態文件的檢視器 + +TryExec=okularkirigami +Exec=okularkirigami %u +Terminal=false +Icon=okular +Type=Application +Categories=Qt;KDE;Graphics;Office;Viewer; +InitialPreference=2 +NoDisplay=true +X-KDE-Keywords=XPS +X-KDE-Keywords[ar]=XPS +X-KDE-Keywords[ast]=XPS +X-KDE-Keywords[az]=XPS +X-KDE-Keywords[be]=XPS +X-KDE-Keywords[bg]=XPS +X-KDE-Keywords[bs]=XPS +X-KDE-Keywords[ca]=XPS +X-KDE-Keywords[ca@valencia]=XPS +X-KDE-Keywords[cs]=XPS +X-KDE-Keywords[da]=XPS +X-KDE-Keywords[de]=XPS +X-KDE-Keywords[el]=XPS +X-KDE-Keywords[en_GB]=XPS +X-KDE-Keywords[eo]=XPS +X-KDE-Keywords[es]=XPS +X-KDE-Keywords[et]=XPS +X-KDE-Keywords[eu]=XPS +X-KDE-Keywords[fi]=XPS +X-KDE-Keywords[fr]=XPS +X-KDE-Keywords[ga]=XPS +X-KDE-Keywords[gl]=XPS +X-KDE-Keywords[he]=XPS +X-KDE-Keywords[hu]=XPS +X-KDE-Keywords[ia]=XPS +X-KDE-Keywords[ie]=XPS +X-KDE-Keywords[is]=XPS +X-KDE-Keywords[it]=XPS +X-KDE-Keywords[ja]=XPS +X-KDE-Keywords[ka]=XPS +X-KDE-Keywords[kk]=XPS +X-KDE-Keywords[km]=XPS +X-KDE-Keywords[ko]=XPS +X-KDE-Keywords[lt]=XPS +X-KDE-Keywords[lv]=XPS +X-KDE-Keywords[mr]=XPS +X-KDE-Keywords[nb]=XPS +X-KDE-Keywords[nds]=XPS +X-KDE-Keywords[nl]=XPS +X-KDE-Keywords[nn]=XPS +X-KDE-Keywords[pa]=XPS +X-KDE-Keywords[pl]=XPS +X-KDE-Keywords[pt]=XPS +X-KDE-Keywords[pt_BR]=XPS +X-KDE-Keywords[ro]=XPS +X-KDE-Keywords[ru]=XPS +X-KDE-Keywords[sa]=XPS +X-KDE-Keywords[sk]=XPS +X-KDE-Keywords[sl]=XPS +X-KDE-Keywords[sq]=XPS +X-KDE-Keywords[sr]=XPS,ИксПС +X-KDE-Keywords[sr@ijekavian]=XPS,ИксПС +X-KDE-Keywords[sr@ijekavianlatin]=XPS,XPS +X-KDE-Keywords[sr@latin]=XPS,XPS +X-KDE-Keywords[sv]=XPS +X-KDE-Keywords[ta]=XPS +X-KDE-Keywords[tr]=XPS +X-KDE-Keywords[uk]=XPS +X-KDE-Keywords[vi]=XPS +X-KDE-Keywords[zh_CN]=XPS +X-KDE-Keywords[zh_TW]=XPS +X-KDE-AliasFor=org.kde.okular.kirigami.desktop diff --git a/generators/xps/org.kde.okular-xps.metainfo.xml b/generators/xps/org.kde.okular-xps.metainfo.xml new file mode 100644 index 0000000..e1e9129 --- /dev/null +++ b/generators/xps/org.kde.okular-xps.metainfo.xml @@ -0,0 +1,137 @@ + + + org.kde.okular-xps + org.kde.okular.desktop + CC0-1.0 + GPL-2.0+ and GFDL-1.3 + XPS + XPS + XPS + XPS + XPS + XPS + XPS + XPS + XPS + XPS + XPS + XPS + XPS + XPS + XPS + XPS + XPS + XPS + XPS + XPS + एक्सपीएस + XPS + XPS + XPS + XPS + XPS + XPS + XPS + XPS + എക്സ് പി എസ് + XPS + XPS + XPS + XPS + XPS + XPS + XPS + XPS + XPS + XPS + ИксПС + XPS + ИксПС + XPS + XPS + XPS + XPS + XPS + XPS + XPS + XPS + Adds support for reading XPS documents + يضيف دعم لقراءة مستندات XPS + XPS sənədlərini oxumaq üçün dəstək əlavə edir + Падтрымка чытання дакументаў XPS + Добавя поддръжка за четене на XPS документи + Afegeix la implementació per a llegir documents XPS + Afig la implementació per a llegir documents XPS + Přidává podporu pro čtení dokumentů XPS + Bietet Unterstützung zum Lesen von XPS-Dokumenten + Προσθέτει υποστήριξη για την ανάγνωση εγγράφων XPS + Adds support for reading XPS documents + Aldonas subtenon por legi XPS-dokumentojn + Permite la lectura de documentos XPS + XPS-dokumentide lugemise toetus + XPS dokumentuak irakurtzeko euskarria gehitzen du + Lisää XPS-tiedostojen lukutuen + Permet la lecture des documents XPS + Engade a posibilidade de ler documentos XPS + מוסיף תמיכה בקריאת מסמכי XPS + एक्सपीएस दस्तावेज़ पढ़ने के लिए समर्थन जोड़ता है + Támogatás XPS-dokumentumok olvasásához + Adde supporto per leger documentos XPS + Bætir við stuðningi til að lesa XPS-skjöl + Aggiunge il supporto per la lettura di documenti XPS + XPS დოკუმენტების კითხვის მხარდაჭერის დამატება + XPS 문서 읽기 지원 추가 + Prideda palaikymą XPS dokumentų skaitymui + Pievieno atbalstu XPS dokumentu lasīšanai + എക്‌സ് പി എസ് പ്രമാണങ്ങൾ വായിക്കാൻ പിന്തുണാ ചേർക്കുന്നു + Voegt ondersteuning voor lezen van XPS-documenten toe + Legg til støtte for å lesa XPS-dokument + Dodaje obsługę dokumentów XPS + Adiciona o suporte para ler documentos em XPS + Adiciona o suporte para leitura de documentos em XPS + Adaugă suport pentru citirea documentelor XPS + Поддержка чтения документов XPS + XPS दस्तावेजान् पठितुं समर्थनं योजयति + Pridá podporu pre čítanie XPS dokumentov + Doda podporo za branje dokumentov XPS + Подршка за читање ИксПС докумената + Podrška za čitanje XPS dokumenata + Подршка за читање ИксПС докумената + Podrška za čitanje XPS dokumenata + Lägger till stöd för att läsa XPS-dokument + XPS ஆவணங்களைப் படிப்பதற்கான ஆதரவை சேர்க்கும் + XPS belgelerini okuma desteği ekler + Додає підтримку читання документів XPS + Thêm hỗ trợ đọc tài liệu XPS + 增加对 XPS 文档的阅读支持 + 加入讀取 XPS 文件的支援 + + text/plain + + https://okular.kde.org + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gui/certificatemodel.cpp b/gui/certificatemodel.cpp new file mode 100644 index 0000000..0fe858d --- /dev/null +++ b/gui/certificatemodel.cpp @@ -0,0 +1,166 @@ +/* + SPDX-FileCopyrightText: 2018 Chinmoy Ranjan Pradhan + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "certificatemodel.h" + +#include "signatureguiutils.h" + +#include + +#include +#include +#include +#include + +CertificateModel::CertificateModel(const Okular::CertificateInfo &certInfo, QObject *parent) + : QAbstractTableModel(parent) + , m_certificateProperties({Version, SerialNumber, Issuer, IssuedOn, ExpiresOn, Subject, PublicKey, KeyUsage}) + , m_certificateInfo(certInfo) +{ +} + +int CertificateModel::columnCount(const QModelIndex &) const +{ + return 2; +} + +int CertificateModel::rowCount(const QModelIndex &) const +{ + return m_certificateProperties.size(); +} + +static QString propertyVisibleName(CertificateModel::Property p) +{ + switch (p) { + case CertificateModel::Version: + return i18n("Version"); + case CertificateModel::SerialNumber: + return i18n("Serial Number"); + case CertificateModel::Issuer: + return i18n("Issuer"); + case CertificateModel::IssuedOn: + return i18n("Issued On"); + case CertificateModel::ExpiresOn: + return i18n("Expires On"); + case CertificateModel::Subject: + return i18nc("The person/company that made the signature", "Subject"); + case CertificateModel::PublicKey: + return i18n("Public Key"); + case CertificateModel::KeyUsage: + return i18n("Key Usage"); + case CertificateModel::IssuerName: + case CertificateModel::IssuerEmail: + case CertificateModel::IssuerOrganization: + case CertificateModel::SubjectName: + case CertificateModel::SubjectEmail: + case CertificateModel::SubjectOrganization: + case CertificateModel::Sha1: + case CertificateModel::Sha256: + Q_ASSERT(false); + qWarning() << "Unimplemented"; + } + return QString(); +} + +QString CertificateModel::propertyVisibleValue(CertificateModel::Property p) const +{ + switch (p) { + case CertificateModel::Version: + return i18n("V%1", QString::number(m_certificateInfo.version())); + case CertificateModel::SerialNumber: + return QString::fromLatin1(m_certificateInfo.serialNumber().toHex(' ')); + case CertificateModel::Issuer: + return m_certificateInfo.issuerInfo(Okular::CertificateInfo::DistinguishedName, Okular::CertificateInfo::EmptyString::TranslatedNotAvailable); + case CertificateModel::IssuedOn: + return QLocale().toString(m_certificateInfo.validityStart(), QLocale::LongFormat); + case CertificateModel::ExpiresOn: + return QLocale().toString(m_certificateInfo.validityEnd(), QLocale::LongFormat); + case CertificateModel::Subject: + return m_certificateInfo.subjectInfo(Okular::CertificateInfo::DistinguishedName, Okular::CertificateInfo::EmptyString::TranslatedNotAvailable); + case CertificateModel::PublicKey: + return i18n("%1 (%2 bits)", SignatureGuiUtils::getReadablePublicKeyType(m_certificateInfo.publicKeyType()), m_certificateInfo.publicKeyStrength()); + case CertificateModel::KeyUsage: + return SignatureGuiUtils::getReadableKeyUsageCommaSeparated(m_certificateInfo.keyUsageExtensions()); + case CertificateModel::IssuerName: + return m_certificateInfo.issuerInfo(Okular::CertificateInfo::CommonName, Okular::CertificateInfo::EmptyString::TranslatedNotAvailable); + case CertificateModel::IssuerEmail: + return m_certificateInfo.issuerInfo(Okular::CertificateInfo::EmailAddress, Okular::CertificateInfo::EmptyString::TranslatedNotAvailable); + case CertificateModel::IssuerOrganization: + return m_certificateInfo.issuerInfo(Okular::CertificateInfo::Organization, Okular::CertificateInfo::EmptyString::TranslatedNotAvailable); + case CertificateModel::SubjectName: + return m_certificateInfo.subjectInfo(Okular::CertificateInfo::CommonName, Okular::CertificateInfo::EmptyString::TranslatedNotAvailable); + case CertificateModel::SubjectEmail: + return m_certificateInfo.subjectInfo(Okular::CertificateInfo::EmailAddress, Okular::CertificateInfo::EmptyString::TranslatedNotAvailable); + case CertificateModel::SubjectOrganization: + return m_certificateInfo.subjectInfo(Okular::CertificateInfo::Organization, Okular::CertificateInfo::EmptyString::TranslatedNotAvailable); + case CertificateModel::Sha1: + return QString::fromLatin1(QCryptographicHash::hash(m_certificateInfo.certificateData(), QCryptographicHash::Sha1).toHex(' ')); + case CertificateModel::Sha256: + return QString::fromLatin1(QCryptographicHash::hash(m_certificateInfo.certificateData(), QCryptographicHash::Sha256).toHex(' ')); + } + return QString(); +} + +QVariant CertificateModel::data(const QModelIndex &index, int role) const +{ + const int row = index.row(); + if (!index.isValid() || row < 0 || row >= m_certificateProperties.count()) { + return QVariant(); + } + + switch (role) { + case Qt::DisplayRole: + case Qt::ToolTipRole: + switch (index.column()) { + case 0: + return propertyVisibleName(m_certificateProperties[row]); + case 1: + return propertyVisibleValue(m_certificateProperties[row]); + default: + return QString(); + } + case PropertyKeyRole: + return m_certificateProperties[row]; + case PropertyVisibleValueRole: + return propertyVisibleValue(m_certificateProperties[row]); + } + + return QVariant(); +} + +QVariant CertificateModel::headerData(int section, Qt::Orientation orientation, int role) const +{ + if (role == Qt::TextAlignmentRole) { + return QVariant(Qt::AlignLeft); + } + + if (orientation != Qt::Horizontal || role != Qt::DisplayRole) { + return QVariant(); + } + + switch (section) { + case 0: + return i18n("Property"); + case 1: + return i18n("Value"); + default: + return QVariant(); + } +} + +bool CertificateModel::exportCertificateTo(const QString &path) +{ + const QUrl url = QUrl::fromUserInput(path); + if (!url.isLocalFile()) { + return false; + } + QFile targetFile(url.toLocalFile()); + if (!targetFile.open(QIODevice::WriteOnly)) { + return false; + } + const QByteArray certificateData = m_certificateInfo.certificateData(); + return targetFile.write(certificateData) == certificateData.size(); +} diff --git a/gui/certificatemodel.h b/gui/certificatemodel.h new file mode 100644 index 0000000..05daa01 --- /dev/null +++ b/gui/certificatemodel.h @@ -0,0 +1,40 @@ +/* + SPDX-FileCopyrightText: 2018 Chinmoy Ranjan Pradhan + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef OKULAR_CERTIFICATEMODEL_H +#define OKULAR_CERTIFICATEMODEL_H + +#include +#include + +#include "core/signatureutils.h" + +class CertificateModel : public QAbstractTableModel +{ + Q_OBJECT + +public: + explicit CertificateModel(const Okular::CertificateInfo &certInfo, QObject *parent = nullptr); + + enum { PropertyKeyRole = Qt::UserRole, PropertyVisibleValueRole }; + + enum Property { Version, SerialNumber, Issuer, IssuedOn, ExpiresOn, Subject, PublicKey, KeyUsage, IssuerName, IssuerEmail, IssuerOrganization, SubjectName, SubjectEmail, SubjectOrganization, Sha1, Sha256 }; + Q_ENUM(Property) + + int columnCount(const QModelIndex &parent = QModelIndex()) const override; + int rowCount(const QModelIndex &parent = QModelIndex()) const override; + QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override; + QVariant headerData(int section, Qt::Orientation orientation, int role) const override; + + Q_INVOKABLE QString propertyVisibleValue(CertificateModel::Property p) const; + Q_INVOKABLE bool exportCertificateTo(const QString &path); + +private: + QList m_certificateProperties; + const Okular::CertificateInfo m_certificateInfo; +}; + +#endif diff --git a/gui/debug_ui.cpp b/gui/debug_ui.cpp new file mode 100644 index 0000000..b831600 --- /dev/null +++ b/gui/debug_ui.cpp @@ -0,0 +1,9 @@ +/* + SPDX-FileCopyrightText: 2014 Frederik Gladhorn + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "debug_ui.h" + +Q_LOGGING_CATEGORY(OkularUiDebug, "org.kde.okular.ui", QtWarningMsg) diff --git a/gui/debug_ui.h b/gui/debug_ui.h new file mode 100644 index 0000000..4397c85 --- /dev/null +++ b/gui/debug_ui.h @@ -0,0 +1,15 @@ +/* + SPDX-FileCopyrightText: 2007 Pino Toscano + SPDX-FileCopyrightText: 2014 Frederik Gladhorn + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef OKULAR_DEBUG_UI_P_H +#define OKULAR_DEBUG_UI_P_H + +#include + +Q_DECLARE_LOGGING_CATEGORY(OkularUiDebug) + +#endif diff --git a/gui/guiutils.cpp b/gui/guiutils.cpp new file mode 100644 index 0000000..12b9244 --- /dev/null +++ b/gui/guiutils.cpp @@ -0,0 +1,354 @@ +/* + SPDX-FileCopyrightText: 2006-2007 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "guiutils.h" + +// qt/kde includes +#include +#include +#include +#include +#include +#include +#include + +// local includes +#include "core/action.h" +#include "core/annotations.h" +#include "core/document.h" + +#include + +namespace GuiUtils +{ +// TODO: iconName should match AnnotationActionHandler in part/annotationactionhandler.cpp +AnnotationInfo getAnnotationInfo(const Okular::Annotation *ann) +{ + Q_ASSERT(ann); + + const bool hasComment = !ann->contents().isEmpty(); + AnnotationInfo info; + + switch (ann->subType()) { + case Okular::Annotation::AText: { + const auto *textAnn = static_cast(ann); + if (textAnn->textType() == Okular::TextAnnotation::Linked) { + info.caption = i18n("Pop-up Note"); + info.iconName = QStringLiteral("edit-comment"); + } else { + if (textAnn->inplaceIntent() == Okular::TextAnnotation::TypeWriter) { + info.caption = i18n("Typewriter"); + info.iconName = QStringLiteral("tool-text"); + } else { + info.caption = i18n("Inline Note"); + info.iconName = QStringLiteral("note"); + } + } + break; + } + case Okular::Annotation::ALine: { + const auto *lineAnn = static_cast(ann); + if (lineAnn->linePoints().count() == 2) { + if (lineAnn->lineEndStyle() == Okular::LineAnnotation::OpenArrow) { + info.caption = hasComment ? i18n("Arrow with Comment") : i18n("Arrow"); + info.iconName = QStringLiteral("draw-arrow"); + } else { + info.caption = hasComment ? i18n("Straight Line with Comment") : i18n("Straight Line"); + info.iconName = QStringLiteral("draw-line"); + } + } else { + info.caption = hasComment ? i18n("Polygon with Comment") : i18n("Polygon"); + info.iconName = QStringLiteral("draw-polyline"); + } + break; + } + case Okular::Annotation::AGeom: { + const auto *geomAnn = static_cast(ann); + if (geomAnn->geometricalType() == Okular::GeomAnnotation::InscribedSquare) { + info.caption = hasComment ? i18n("Rectangle with Comment") : i18n("Rectangle"); + info.iconName = QStringLiteral("draw-rectangle"); + } else { + info.caption = hasComment ? i18n("Ellipse with Comment") : i18n("Ellipse"); + info.iconName = QStringLiteral("draw-ellipse"); + } + break; + } + case Okular::Annotation::AHighlight: { + const auto *highlightAnn = static_cast(ann); + switch (highlightAnn->highlightType()) { + case Okular::HighlightAnnotation::Highlight: + info.caption = hasComment ? i18n("Highlight with Comment") : i18n("Highlight"); + info.iconName = QStringLiteral("draw-highlight"); + break; + case Okular::HighlightAnnotation::Squiggly: + info.caption = hasComment ? i18n("Squiggle with Comment") : i18n("Squiggle"); + info.iconName = QStringLiteral("format-text-underline-squiggle"); + break; + case Okular::HighlightAnnotation::Underline: + info.caption = hasComment ? i18n("Underline with Comment") : i18n("Underline"); + info.iconName = QStringLiteral("format-text-underline"); + break; + case Okular::HighlightAnnotation::StrikeOut: + info.caption = hasComment ? i18n("Strike Out with Comment") : i18n("Strike Out"); + info.iconName = QStringLiteral("format-text-strikethrough"); + break; + } + break; + } + case Okular::Annotation::AStamp: + info.caption = hasComment ? i18n("Stamp with Comment") : i18n("Stamp"); + info.iconName = QStringLiteral("tag"); + break; + case Okular::Annotation::AInk: + info.caption = hasComment ? i18n("Freehand Line with Comment") : i18n("Freehand Line"); + info.iconName = QStringLiteral("draw-freehand"); + break; + case Okular::Annotation::ACaret: + info.caption = i18n("Caret"); + info.iconName = QStringLiteral("text-cursor"); + break; + case Okular::Annotation::AFileAttachment: + info.caption = i18n("File Attachment"); + info.iconName = QStringLiteral("mail-attachment"); + break; + case Okular::Annotation::ASound: + info.caption = i18n("Sound"); + info.iconName = QStringLiteral("audio-x-generic"); + break; + case Okular::Annotation::AMovie: + info.caption = i18n("Movie"); + info.iconName = QStringLiteral("video-x-generic"); + break; + case Okular::Annotation::AScreen: + info.caption = i18nc("Caption for a screen annotation", "Screen"); + info.iconName = QStringLiteral("video-display"); + break; + case Okular::Annotation::AWidget: + info.caption = i18nc("Caption for a widget annotation", "Widget"); + info.iconName = QStringLiteral("preferences-desktop"); + break; + case Okular::Annotation::ARichMedia: + info.caption = i18nc("Caption for a rich media annotation", "Rich Media"); + info.iconName = QStringLiteral("video-x-generic"); // same as movie + break; + case Okular::Annotation::A_BASE: + // Fall through to default + break; + } + + // If no specific info was set, use fallback + if (info.caption.isEmpty()) { + info.caption = i18n("Annotation"); + info.iconName = QStringLiteral("okular"); + } + + return info; +} + +QString captionForAnnotation(const Okular::Annotation *ann) +{ + Q_ASSERT(ann); + return getAnnotationInfo(ann).caption; +} + +QIcon iconForAnnotation(const Okular::Annotation *ann) +{ + Q_ASSERT(ann); + AnnotationInfo info = getAnnotationInfo(ann); + return QIcon::fromTheme(info.iconName); +} + +QString authorForAnnotation(const Okular::Annotation *ann) +{ + Q_ASSERT(ann); + + return !ann->author().isEmpty() ? ann->author() : i18nc("Unknown author", "Unknown"); +} + +QString contentsHtml(const Okular::Annotation *ann) +{ + QString text = ann->contents().toHtmlEscaped(); + text.replace(QLatin1Char('\n'), QLatin1String("
")); + return text; +} + +QString prettyToolTip(const Okular::Annotation *ann) +{ + Q_ASSERT(ann); + + QString author = authorForAnnotation(ann); + QString contents = contentsHtml(ann); + + QString tooltip = QStringLiteral("") + i18n("Author: %1", author) + QStringLiteral(""); + if (!contents.isEmpty()) { + tooltip += QStringLiteral("

") + contents; + } + + tooltip += QLatin1String("
"); + + return tooltip; +} + +void saveEmbeddedFile(Okular::EmbeddedFile *ef, QWidget *parent) +{ + const QString caption = i18n("Where do you want to save %1?", ef->name()); + const QString path = QFileDialog::getSaveFileName(parent, caption, ef->name()); + if (path.isEmpty()) { + return; + } + QFile targetFile(path); + writeEmbeddedFile(ef, parent, targetFile); +} + +void writeEmbeddedFile(Okular::EmbeddedFile *ef, QWidget *parent, QFile &target) +{ + if (!target.open(QIODevice::WriteOnly)) { + KMessageBox::error(parent, i18n("Could not open \"%1\" for writing. File was not saved.", target.fileName())); + return; + } + target.write(ef->data()); + target.close(); +} + +Okular::Movie *renditionMovieFromScreenAnnotation(const Okular::ScreenAnnotation *annotation) +{ + if (!annotation) { + return nullptr; + } + + if (annotation->action() && annotation->action()->actionType() == Okular::Action::Rendition) { + Okular::RenditionAction *renditionAction = static_cast(annotation->action()); + return renditionAction->movie(); + } + + return nullptr; +} + +// from Arthur - qt4 +static inline int qt_div_255(int x) +{ + return (x + (x >> 8) + 0x80) >> 8; +} + +void colorizeImage(QImage &grayImage, const QColor &color, unsigned int destAlpha) +{ + // Make sure that the image is Format_ARGB32_Premultiplied + if (grayImage.format() != QImage::Format_ARGB32_Premultiplied) { + grayImage = grayImage.convertToFormat(QImage::Format_ARGB32_Premultiplied); + } + + // iterate over all pixels changing the alpha component value + unsigned int *data = reinterpret_cast(grayImage.bits()); + unsigned int pixels = grayImage.width() * grayImage.height(); + int red = color.red(), green = color.green(), blue = color.blue(); + + for (unsigned int i = 0; i < pixels; ++i) { // optimize this loop keeping byte order into account + int source = data[i]; + int sourceSat = qRed(source); + int newR = qt_div_255(sourceSat * red), newG = qt_div_255(sourceSat * green), newB = qt_div_255(sourceSat * blue); + if (int sourceAlpha = qAlpha(source); sourceAlpha == 255) { + // use destAlpha + data[i] = qRgba(newR, newG, newB, destAlpha); + } else { + // use destAlpha * sourceAlpha product + if (destAlpha < 255) { + sourceAlpha = qt_div_255(destAlpha * sourceAlpha); + } + data[i] = qRgba(newR, newG, newB, sourceAlpha); + } + } +} + +QIcon createColorIcon(const QList &colors, const QIcon &background, ColorIconFlags flags) +{ + QIcon colorIcon; + + // Create a pixmap for each common icon size. + for (int size : {16, 22, 24, 32, 48}) { + QPixmap pixmap(QSize(size, size) * qApp->devicePixelRatio()); + pixmap.setDevicePixelRatio(qApp->devicePixelRatio()); + pixmap.fill(Qt::transparent); + QPainter painter(&pixmap); + // Configure hairlines for visualization of outline or transparency (visualizeTransparent): + painter.setPen(QPen(qApp->palette().color(QPalette::Active, QPalette::WindowText), 0)); + painter.setBrush(Qt::NoBrush); + + if (background.isNull()) { + // Full-size color rectangles. + // Draw rectangles left to right: + for (int i = 0; i < colors.count(); ++i) { + if (!colors.at(i).isValid()) { + continue; + } + QRect rect(QPoint(size * i / colors.count(), 0), QPoint(size * (i + 1) / colors.count(), size)); + if ((flags & VisualizeTransparent) && (colors.at(i) == Qt::transparent)) { + painter.drawLine(rect.topLeft(), rect.bottomRight()); + painter.drawLine(rect.bottomLeft(), rect.topRight()); + } else { + painter.fillRect(rect, colors.at(i)); + } + } + + // Draw hairline outline: + // To get the hairline on the outermost pixels, we shrink the rectangle by a half pixel on each edge. + const qreal halfPixelWidth = 0.5 / pixmap.devicePixelRatio(); + painter.drawRect(QRectF(QPointF(halfPixelWidth, halfPixelWidth), QPointF(qreal(size) - halfPixelWidth, qreal(size) - halfPixelWidth))); + } else { + // Lower 25% color rectangles. + // Draw background icon: + background.paint(&painter, QRect(QPoint(0, 0), QSize(size, size))); + + // Draw rectangles left to right: + for (int i = 0; i < colors.count(); ++i) { + if (!colors.at(i).isValid()) { + continue; + } + QRect rect(QPoint(size * i / colors.count(), size * 3 / 4), QPoint(size * (i + 1) / colors.count(), size)); + if ((flags & VisualizeTransparent) && (colors.at(i) == Qt::transparent)) { + painter.drawLine(rect.topLeft(), rect.bottomRight()); + painter.drawLine(rect.bottomLeft(), rect.topRight()); + } else { + painter.fillRect(rect, colors.at(i)); + } + } + } + + painter.end(); + colorIcon.addPixmap(pixmap); + } + + return colorIcon; +} + +QIcon createOpacityIcon(qreal opacity) +{ + QIcon opacityIcon; + + // Create a pixmap for each common icon size. + for (int size : {16, 22, 24, 32, 48}) { + QPixmap pixmap(QSize(size, size) * qApp->devicePixelRatio()); + pixmap.setDevicePixelRatio(qApp->devicePixelRatio()); + pixmap.fill(Qt::transparent); + QPainter painter(&pixmap); + painter.setPen(Qt::NoPen); + painter.setBrush(qApp->palette().color(QPalette::Active, QPalette::WindowText)); + + // Checkerboard pattern + painter.drawRect(QRectF(QPoint(0, 0), QPoint(size, size) / 2)); + painter.drawRect(QRectF(QPoint(size, size) / 2, QPoint(size, size))); + + // Opacity + painter.setOpacity(opacity); + painter.drawRect(QRect(QPoint(0, 0), QPoint(size, size))); + + painter.end(); + opacityIcon.addPixmap(pixmap); + } + + return opacityIcon; +} + +} diff --git a/gui/guiutils.h b/gui/guiutils.h new file mode 100644 index 0000000..b689975 --- /dev/null +++ b/gui/guiutils.h @@ -0,0 +1,96 @@ +/* + SPDX-FileCopyrightText: 2006-2007 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef OKULAR_GUIUTILS_H +#define OKULAR_GUIUTILS_H + +#include +#include +#include + +class QImage; +class QPixmap; +class QSize; +class QWidget; +class QFile; + +namespace Okular +{ +class Annotation; +class EmbeddedFile; +class Movie; +class ScreenAnnotation; +} + +namespace GuiUtils +{ +// Structure containing annotation metadata. +struct AnnotationInfo { + QString caption; + QString iconName; +}; + +// Returns annotation metadata including caption and icon name. +AnnotationInfo getAnnotationInfo(const Okular::Annotation *annotation); + +// Returns the translated string with the type of the given annotation. +QString captionForAnnotation(const Okular::Annotation *annotation); + +// Returns the icon of the given annotation. +QIcon iconForAnnotation(const Okular::Annotation *annotation); + +QString authorForAnnotation(const Okular::Annotation *annotation); + +QString contentsHtml(const Okular::Annotation *annotation); + +QString prettyToolTip(const Okular::Annotation *annotation); + +void saveEmbeddedFile(Okular::EmbeddedFile *ef, QWidget *parent); +void writeEmbeddedFile(Okular::EmbeddedFile *ef, QWidget *parent, QFile &targetFile); + +/** + * Returns the movie object that is referenced by a rendition action of the passed screen @p annotation + * or @c 0 if the screen annotation has no rendition action set or the rendition action does not contain + * a media rendition. + */ +Okular::Movie *renditionMovieFromScreenAnnotation(const Okular::ScreenAnnotation *annotation); + +// colorize a gray image to the given color +void colorizeImage(QImage &image, const QColor &color, unsigned int alpha = 255); + +enum ColorIconFlags { + NoFlags = 0x0, + VisualizeTransparent = 0x1 ///< Visualizes Qt::transparent with a cross. +}; + +/** + * Paints color rectangles on the lower 25% of an icon. + * + * If no icon is given, the whole icon square is filled, and a 1px border is added. + * + * Examples: + * * Different icons for different kinds of color selection, like fill and outline. + * * Selection of a color scheme preset, where each scheme has a different icon and ~1..3 specific colors. + * + * @param colors Which color rectangles to paint, from left to right (even on RTL). Colors may be transparent. Invalid colors are skipped. + * @param background Which icon to use as background. + * @param flags Special wishes. + * + * @returns A newly created QIcon. + */ +QIcon createColorIcon(const QList &colors, const QIcon &background = QIcon(), ColorIconFlags flags = NoFlags); + +/** + * Creates an opacity icon, using QPalette foreground color + * painted on top of a checkerboard pattern using @p opacity. + * + * @param opacity 0 = invisible, 1 = opaque. + */ +QIcon createOpacityIcon(qreal opacity); + +} + +#endif diff --git a/gui/pagepainter.cpp b/gui/pagepainter.cpp new file mode 100644 index 0000000..45fae43 --- /dev/null +++ b/gui/pagepainter.cpp @@ -0,0 +1,1199 @@ +/* + SPDX-FileCopyrightText: 2005 Enrico Ros + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "pagepainter.h" + +// qt / kde includes +#include +#include +#include +#include +#include +#include +#include +#include +#include + +// system includes +#include +#include + +// local includes +#include "core/annotations.h" +#include "core/observer.h" +#include "core/page.h" +#include "core/page_p.h" +#include "core/tile.h" +#include "core/utils.h" +#include "debug_ui.h" +#include "guiutils.h" +#include "settings.h" +#include "settings_core.h" + +Q_GLOBAL_STATIC_WITH_ARGS(QPixmap, busyPixmap, (QIcon::fromTheme(QLatin1String("okular")).pixmap(48))) + +#define TEXTANNOTATION_ICONSIZE 24 + +inline QPen buildPen(const Okular::Annotation *ann, double width, const QColor &color) +{ + QColor c = color; + c.setAlphaF(ann->style().opacity()); + QPen p(QBrush(c), width, ann->style().lineStyle() == Okular::Annotation::Dashed ? Qt::DashLine : Qt::SolidLine, Qt::SquareCap, Qt::MiterJoin); + return p; +} + +void PagePainter::paintPageOnPainter(QPainter *destPainter, const Okular::Page *page, Okular::DocumentObserver *observer, int flags, int scaledWidth, int scaledHeight, const QRect limits) +{ + paintCroppedPageOnPainter(destPainter, page, observer, flags, scaledWidth, scaledHeight, limits, Okular::NormalizedRect(0, 0, 1, 1), nullptr); +} + +void PagePainter::paintCroppedPageOnPainter(QPainter *destPainter, + const Okular::Page *page, + Okular::DocumentObserver *observer, + int flags, + int scaledWidth, + int scaledHeight, + const QRect limits, + const Okular::NormalizedRect &crop, + Okular::NormalizedPoint *viewPortPoint) +{ + const qreal dpr = destPainter->device()->devicePixelRatioF(); + + /* Calculate the cropped geometry of the page */ + const QRect scaledCrop = crop.geometry(scaledWidth, scaledHeight); + + /* variables prefixed with d are in the device pixels coordinate system, which translates to the rendered output - that means, + * multiplied with the device pixel ratio of the target PaintDevice */ + const QRect dScaledCrop(QRectF(scaledCrop.x() * dpr, scaledCrop.y() * dpr, scaledCrop.width() * dpr, scaledCrop.height() * dpr).toAlignedRect()); + + const int croppedWidth = scaledCrop.width(); + const int croppedHeight = scaledCrop.height(); + + const int dScaledWidth = ceil(scaledWidth * dpr); + const int dScaledHeight = ceil(scaledHeight * dpr); + const QRect dLimits(QRectF(limits.x() * dpr, limits.y() * dpr, limits.width() * dpr, limits.height() * dpr).toAlignedRect()); + + QColor paperColor = Qt::white; + QColor backgroundColor = paperColor; + if (Okular::SettingsCore::changeColors()) { + switch (Okular::SettingsCore::renderMode()) { + case Okular::SettingsCore::EnumRenderMode::Inverted: + case Okular::SettingsCore::EnumRenderMode::InvertLightness: + case Okular::SettingsCore::EnumRenderMode::InvertLuma: + case Okular::SettingsCore::EnumRenderMode::InvertLumaSymmetric: + backgroundColor = Qt::black; + break; + case Okular::SettingsCore::EnumRenderMode::Paper: + paperColor = Okular::SettingsCore::paperColor(); + backgroundColor = paperColor; + break; + case Okular::SettingsCore::EnumRenderMode::Recolor: + backgroundColor = Okular::Settings::recolorBackground(); + break; + default:; + } + } + destPainter->fillRect(limits, backgroundColor); + + const bool hasTilesManager = page->hasTilesManager(observer); + QPixmap pixmap; + + if (!hasTilesManager) { + /** 1 - RETRIEVE THE 'PAGE+ID' PIXMAP OR A SIMILAR 'PAGE' ONE **/ + if (const auto *p = page->_o_nearestPixmap(observer, dScaledWidth, dScaledHeight)) { + pixmap = *p; + } + + /** 1B - IF NO PIXMAP, DRAW EMPTY PAGE **/ + const double pixmapRescaleRatio = !pixmap.isNull() ? dScaledWidth / (double)pixmap.width() : -1; + const long pixmapPixels = !pixmap.isNull() ? (long)pixmap.width() * (long)pixmap.height() : 0; + if (pixmap.isNull() || pixmapRescaleRatio > 20.0 || pixmapRescaleRatio < 0.25 || (dScaledWidth > pixmap.width() && pixmapPixels > 60000000L)) { + // draw something on the blank page: the okular icon or a cross (as a fallback) + if (!busyPixmap()->isNull()) { + busyPixmap->setDevicePixelRatio(dpr); + destPainter->drawPixmap(QPoint(10, 10), *busyPixmap()); + } else { + destPainter->setPen(Qt::gray); + destPainter->drawLine(0, 0, croppedWidth - 1, croppedHeight - 1); + destPainter->drawLine(0, croppedHeight - 1, croppedWidth - 1, 0); + } + return; + } + } + + // tiles manages and this pixmap are mutually exclusive (!= is the same as XOR) + Q_ASSERT(hasTilesManager != !pixmap.isNull()); + + /** 2 - FIND OUT WHAT TO PAINT (Flags + Configuration + Presence) **/ + const bool canDrawHighlights = (flags & Highlights) && !page->m_highlights.isEmpty(); + const bool canDrawTextSelection = (flags & TextSelection) && page->textSelection(); + const bool canDrawAnnotations = (flags & Annotations) && !page->m_annotations.isEmpty(); + const bool enhanceLinks = (flags & EnhanceLinks) && Okular::Settings::highlightLinks(); + const bool enhanceImages = (flags & EnhanceImages) && Okular::Settings::highlightImages(); + + // vectors containing objects to draw + // make this a qcolor, rect map, since we don't need + // to know s_id here! we are only drawing this right? + QList> bufferedHighlights; + QList bufferedAnnotations; + QList unbufferedAnnotations; + Okular::Annotation *boundingRectOnlyAnn = nullptr; // Paint the bounding rect of this annotation + // fill up lists with visible annotation/highlight objects/text selections + if (canDrawHighlights || canDrawTextSelection || canDrawAnnotations) { + // precalc normalized 'limits rect' for intersection + const double nXMin = ((double)limits.left() / scaledWidth) + crop.left; + const double nXMax = ((double)limits.right() / scaledWidth) + crop.left; + const double nYMin = ((double)limits.top() / scaledHeight) + crop.top; + const double nYMax = ((double)limits.bottom() / scaledHeight) + crop.top; + const Okular::NormalizedRect limitRect(nXMin, nYMin, nXMax, nYMax); + // append all highlights inside limits to their list + if (canDrawHighlights) { + for (const Okular::HighlightAreaRect *highlight : std::as_const(page->m_highlights)) { + for (const auto &rect : std::as_const(*highlight)) { + if (rect.intersects(limitRect)) { + bufferedHighlights.append(qMakePair(highlight->color, rect)); + } + } + } + } + if (canDrawTextSelection) { + const Okular::RegularAreaRect *textSelection = page->textSelection(); + for (const auto &rect : std::as_const(*textSelection)) { + if (rect.intersects(limitRect)) { + bufferedHighlights.append(qMakePair(page->textSelectionColor(), rect)); + } + } + } + // append annotations inside limits to the un/buffered list + if (canDrawAnnotations) { + for (Okular::Annotation *ann : std::as_const(page->m_annotations)) { + const int annFlags = ann->flags(); + const Okular::NormalizedRect boundary = ann->transformedBoundingRectangle(); + + if (annFlags & Okular::Annotation::Hidden) { + continue; + } + + if (annFlags & Okular::Annotation::ExternallyDrawn) { + // ExternallyDrawn annots are never rendered by PagePainter. + // Just paint the boundingRect if the annot is moved or resized. + if (annFlags & (Okular::Annotation::BeingMoved | Okular::Annotation::BeingResized)) { + boundingRectOnlyAnn = ann; + } + continue; + } + + bool intersects = boundary.intersects(limitRect); + if (ann->subType() == Okular::Annotation::AText) { + Okular::TextAnnotation *ta = static_cast(ann); + if (ta->textType() == Okular::TextAnnotation::Linked) { + const Okular::NormalizedRect iconrect( // + boundary.left, + boundary.top, + boundary.left + TEXTANNOTATION_ICONSIZE / page->width(), + boundary.top + TEXTANNOTATION_ICONSIZE / page->height()); + intersects = iconrect.intersects(limitRect); + } + } + if (intersects) { + const Okular::Annotation::SubType type = ann->subType(); + if (type == Okular::Annotation::ALine || type == Okular::Annotation::AHighlight || type == Okular::Annotation::AInk /*|| (type == Annotation::AGeom && ann->style().opacity() < 0.99)*/) { + bufferedAnnotations.append(ann); + } else { + unbufferedAnnotations.append(ann); + } + } + } + } + // end of intersections checking + } + + /** 3 - ENABLE BACKBUFFERING IF DIRECT IMAGE MANIPULATION IS NEEDED **/ + const bool bufferAccessibility = (flags & Accessibility) && Okular::SettingsCore::changeColors() && (Okular::SettingsCore::renderMode() != Okular::SettingsCore::EnumRenderMode::Paper); + const bool useBackBuffer = bufferAccessibility || !bufferedHighlights.isEmpty() || !bufferedAnnotations.isEmpty() || viewPortPoint; + QPixmap backPixmap; // order of declarations is important: ownedPainter should be destroyed before its pixmap + std::unique_ptr ownedPainter; + QPainter *mixedPainter = nullptr; // Will point to either a provided destPainter or the ownedPainter + const QRect limitsInPixmap = limits.translated(scaledCrop.topLeft()); + const QRect dLimitsInPixmap = dLimits.translated(dScaledCrop.topLeft()); + + // limits within full (scaled but uncropped) pixmap + + /** 4A -- REGULAR FLOW. PAINT PIXMAP NORMAL OR RESCALED USING GIVEN QPAINTER **/ + if (!useBackBuffer) { + if (hasTilesManager) { + const Okular::NormalizedRect normalizedLimits(limitsInPixmap, scaledWidth, scaledHeight); + const QList tiles = page->tilesAt(observer, normalizedLimits); + for (const Okular::Tile &tile : tiles) { + const QRectF tileRect = tile.rect().geometryF(scaledWidth, scaledHeight).translated(-scaledCrop.topLeft()); + const QRect dTileRect = tile.rect().geometry(dScaledWidth, dScaledHeight).translated(-dScaledCrop.topLeft()); + const QRectF limitsInTile = QRectF(limits) & tileRect; + const QRect dLimitsInTile = dLimits & dTileRect; + + if (!limitsInTile.isEmpty()) { + QPixmap *tilePixmap = tile.pixmap(); + + if (tilePixmap->width() == dTileRect.width() && tilePixmap->height() == dTileRect.height()) { + destPainter->drawPixmap(limitsInTile, *tilePixmap, dLimitsInTile.translated(-dTileRect.topLeft())); + } else { + destPainter->drawPixmap(tileRect, *tilePixmap, tilePixmap->rect()); + } + } + } + } else { + destPainter->drawPixmap(limits, pixmap.scaled(dScaledWidth, dScaledHeight), dLimitsInPixmap); + } + + // 4A.2. active painter is the one passed to this method + mixedPainter = destPainter; + } + /** 4B -- BUFFERED FLOW. IMAGE PAINTING + OPERATIONS. QPAINTER OVER PIXMAP **/ + else { + // the image over which we are going to draw + QImage backImage = QImage(dLimits.width(), dLimits.height(), QImage::Format_ARGB32_Premultiplied); + backImage.setDevicePixelRatio(dpr); + backImage.fill(paperColor); + QPainter p(&backImage); + + if (hasTilesManager) { + const Okular::NormalizedRect normalizedLimits(limitsInPixmap, scaledWidth, scaledHeight); + const QList tiles = page->tilesAt(observer, normalizedLimits); + for (const Okular::Tile &tile : tiles) { + const QRectF tileRect = tile.rect().geometryF(scaledWidth, scaledHeight).translated(-scaledCrop.topLeft()); + const QRect dTileRect = tile.rect().geometry(dScaledWidth, dScaledHeight).translated(-dScaledCrop.topLeft()); + const QRectF limitsInTile = QRectF(limits) & tileRect; + const QRect dLimitsInTile = dLimits & dTileRect; + + if (!limitsInTile.isEmpty()) { + QPixmap *tilePixmap = tile.pixmap(); + + if (tilePixmap->width() == dTileRect.width() && tilePixmap->height() == dTileRect.height()) { + p.drawPixmap(limitsInTile.translated(-limits.topLeft()), *tilePixmap, dLimitsInTile.translated(-dTileRect.topLeft())); + } else { + const double xScale = tilePixmap->width() / (double)dTileRect.width(); + const double yScale = tilePixmap->height() / (double)dTileRect.height(); + const QTransform transform(xScale, 0, 0, yScale, 0, 0); + p.drawPixmap(limitsInTile.translated(-limits.topLeft()), *tilePixmap, transform.mapRect(dLimitsInTile).translated(-transform.mapRect(dTileRect).topLeft())); + } + } + } + } else { + // 4B.1. draw the page pixmap: normal or scaled + + p.drawPixmap(QRectF(0, 0, limits.width(), limits.height()), pixmap.scaled(dScaledWidth, dScaledHeight), dLimitsInPixmap); + } + + p.end(); + + // 4B.2. modify pixmap following accessibility settings + if (bufferAccessibility) { + switch (Okular::SettingsCore::renderMode()) { + case Okular::SettingsCore::EnumRenderMode::Inverted: + // Invert image pixels using QImage internal function + backImage.invertPixels(QImage::InvertRgb); + break; + case Okular::SettingsCore::EnumRenderMode::Recolor: + recolor(&backImage, Okular::Settings::recolorForeground(), Okular::Settings::recolorBackground()); + break; + case Okular::SettingsCore::EnumRenderMode::BlackWhite: + blackWhite(&backImage, Okular::Settings::bWContrast(), Okular::Settings::bWThreshold()); + break; + case Okular::SettingsCore::EnumRenderMode::InvertLightness: + invertLightness(&backImage); + break; + case Okular::SettingsCore::EnumRenderMode::InvertLuma: + invertLuma(&backImage, 0.2126, 0.7152, 0.0722); // sRGB / Rec. 709 luma coefficients + break; + case Okular::SettingsCore::EnumRenderMode::InvertLumaSymmetric: + invertLuma(&backImage, 0.3333, 0.3334, 0.3333); // Symmetric coefficients, to keep colors saturated. + break; + case Okular::SettingsCore::EnumRenderMode::HueShiftPositive: + hueShiftPositive(&backImage); + break; + case Okular::SettingsCore::EnumRenderMode::HueShiftNegative: + hueShiftNegative(&backImage); + break; + } + } + + // 4B.3. highlight rects in page + // draw highlights that are inside the 'limits' paint region + for (const auto &highlight : std::as_const(bufferedHighlights)) { + const Okular::NormalizedRect &r = highlight.second; + // find out the rect to highlight on pixmap + QRect highlightRect = r.geometry(scaledWidth, scaledHeight).translated(-scaledCrop.topLeft()).intersected(limits); + highlightRect.translate(-limits.left(), -limits.top()); + + const QColor highlightColor = highlight.first; + QPainter painter(&backImage); + painter.setCompositionMode(QPainter::CompositionMode_Multiply); + painter.fillRect(highlightRect, highlightColor); + + const QColor frameColor = highlightColor.darker(150); + const QRect frameRect = r.geometry(scaledWidth, scaledHeight).translated(-scaledCrop.topLeft()).translated(-limits.left(), -limits.top()); + painter.setPen(frameColor); + painter.drawRect(frameRect); + } + + // 4B.4. paint annotations [COMPOSITED ONES] + // Albert: This is quite "heavy" but all the backImage that reach here are QImage::Format_ARGB32_Premultiplied + // and have to be so that the QPainter::CompositionMode_Multiply works + // we could also put a + // backImage = backImage.convertToFormat(QImage::Format_ARGB32_Premultiplied) + // that would be almost a noop, but we'll leave the assert for now + Q_ASSERT(backImage.format() == QImage::Format_ARGB32_Premultiplied); + // precalc constants for normalizing [0,1] page coordinates into normalized [0,1] limit rect coordinates + const double pageScale = (double)croppedWidth / page->width(); + const double xOffset = (double)limits.left() / (double)scaledWidth + crop.left; + const double xScale = (double)scaledWidth / (double)limits.width(); + const double yOffset = (double)limits.top() / (double)scaledHeight + crop.top; + const double yScale = (double)scaledHeight / (double)limits.height(); + + // paint all buffered annotations in the page + for (Okular::Annotation *a : std::as_const(bufferedAnnotations)) { + const Okular::Annotation::SubType type = a->subType(); + QColor acolor = a->style().color(); + if (!acolor.isValid()) { + acolor = Qt::yellow; + } + acolor.setAlphaF(a->style().opacity()); + + // draw LineAnnotation MISSING: caption, dash pattern, endings for multipoint lines + if (type == Okular::Annotation::ALine) { + const LineAnnotPainter linepainter {static_cast(a), {page->width(), page->height()}, pageScale, {xScale, 0., 0., yScale, -xOffset * xScale, -yOffset * yScale}}; + linepainter.draw(backImage); + } + // draw HighlightAnnotation MISSING: under/strike width, feather, capping + else if (type == Okular::Annotation::AHighlight) { + // get the annotation + const Okular::HighlightAnnotation *ha = static_cast(a); + const Okular::HighlightAnnotation::HighlightType hlType = ha->highlightType(); + + // draw each quad of the annotation + const int quads = ha->highlightQuads().size(); + for (int q = 0; q < quads; q++) { + NormalizedPath path; + const Okular::HighlightAnnotation::Quad &quad = ha->highlightQuads()[q]; + // normalize page point to image + for (int i = 0; i < 4; i++) { + const Okular::NormalizedPoint point( // + (quad.transformedPoint(i).x - xOffset) * xScale, + (quad.transformedPoint(i).y - yOffset) * yScale); + path.append(point); + } + // draw the normalized path into image + switch (hlType) { + // highlight the whole rect + case Okular::HighlightAnnotation::Highlight: + drawShapeOnImage(backImage, path, true, Qt::NoPen, acolor, pageScale, Multiply); + break; + // highlight the bottom part of the rect + case Okular::HighlightAnnotation::Squiggly: + path[3].x = (path[0].x + path[3].x) / 2.0; + path[3].y = (path[0].y + path[3].y) / 2.0; + path[2].x = (path[1].x + path[2].x) / 2.0; + path[2].y = (path[1].y + path[2].y) / 2.0; + drawShapeOnImage(backImage, path, true, Qt::NoPen, acolor, pageScale, Multiply); + break; + // make a line at 3/4 of the height + case Okular::HighlightAnnotation::Underline: + path[0].x = (3 * path[0].x + path[3].x) / 4.0; + path[0].y = (3 * path[0].y + path[3].y) / 4.0; + path[1].x = (3 * path[1].x + path[2].x) / 4.0; + path[1].y = (3 * path[1].y + path[2].y) / 4.0; + path.pop_back(); + path.pop_back(); + drawShapeOnImage(backImage, path, false, QPen(acolor, 2), QBrush(), pageScale); + break; + // make a line at 1/2 of the height + case Okular::HighlightAnnotation::StrikeOut: + path[0].x = (path[0].x + path[3].x) / 2.0; + path[0].y = (path[0].y + path[3].y) / 2.0; + path[1].x = (path[1].x + path[2].x) / 2.0; + path[1].y = (path[1].y + path[2].y) / 2.0; + path.pop_back(); + path.pop_back(); + drawShapeOnImage(backImage, path, false, QPen(acolor, 2), QBrush(), pageScale); + break; + } + } + } + // draw InkAnnotation MISSING:invar width, PENTRACER + else if (type == Okular::Annotation::AInk) { + // get the annotation + Okular::InkAnnotation *ia = static_cast(a); + + // draw each ink path + const QList> transformedInkPaths = ia->transformedInkPaths(); + + const QPen inkPen = buildPen(a, a->style().width(), acolor); + + for (const QList &inkPath : transformedInkPaths) { + // normalize page point to image + NormalizedPath path; + for (const Okular::NormalizedPoint &inkPoint : inkPath) { + const Okular::NormalizedPoint point( // + (inkPoint.x - xOffset) * xScale, + (inkPoint.y - yOffset) * yScale); + path.append(point); + } + // draw the normalized path into image + drawShapeOnImage(backImage, path, false, inkPen, QBrush(), pageScale); + } + } + } // end current annotation drawing + if (viewPortPoint) { + QPainter painter(&backImage); + painter.translate(-limits.left(), -limits.top()); + painter.setPen(QApplication::palette().color(QPalette::Active, QPalette::Highlight)); + painter.drawLine(0, viewPortPoint->y * scaledHeight + 1, scaledWidth - 1, viewPortPoint->y * scaledHeight + 1); + // ROTATION CURRENTLY NOT IMPLEMENTED + /* + if( page->rotation() == Okular::Rotation0) + { + + } + else if(page->rotation() == Okular::Rotation270) + { + painter.drawLine( viewPortPoint->y * scaledHeight + 1, 0, viewPortPoint->y * scaledHeight + 1, scaledWidth - 1); + } + else if(page->rotation() == Okular::Rotation180) + { + painter.drawLine( 0, (1.0 - viewPortPoint->y) * scaledHeight - 1, scaledWidth - 1, (1.0 - viewPortPoint->y) * scaledHeight - 1 ); + } + else if(page->rotation() == Okular::Rotation90) // not right, rotation clock-wise + { + painter.drawLine( scaledWidth - (viewPortPoint->y * scaledHeight + 1), 0, scaledWidth - (viewPortPoint->y * scaledHeight + 1), scaledWidth - 1); + } + */ + } + + // 4B.5. create the back pixmap converting from the local image + backPixmap = QPixmap::fromImage(backImage); + backPixmap.setDevicePixelRatio(dpr); + + // 4B.6. create a painter over the pixmap and set it as the active one + ownedPainter = std::make_unique(&backPixmap); + mixedPainter = ownedPainter.get(); + mixedPainter->translate(-limits.left(), -limits.top()); + } + + /** 5 -- MIXED FLOW. Draw ANNOTATIONS [OPAQUE ONES] on ACTIVE PAINTER **/ + // iterate over annotations and paint AText, AGeom, AStamp + for (Okular::Annotation *a : std::as_const(unbufferedAnnotations)) { + // honor opacity settings on supported types + const float opacity = a->style().color().alphaF() * a->style().opacity(); + // skip the annotation drawing if all the annotation is fully + // transparent, but not with text annotations + if (opacity <= 0 && a->subType() != Okular::Annotation::AText) { + continue; + } + + QColor acolor = a->style().color(); + if (!acolor.isValid()) { + acolor = Qt::yellow; + } + acolor.setAlphaF(opacity); + + // Annotation boundary in destPainter coordinates: + const QRect annotBoundary = a->transformedBoundingRectangle().geometry(scaledWidth, scaledHeight).translated(-scaledCrop.topLeft()); + const QRect annotRect = annotBoundary.intersected(limits); + // Visible portion of the annotation at annotBoundary size: + const QRect innerRect = annotRect.translated(-annotBoundary.topLeft()); + const QRectF dInnerRect(innerRect.x() * dpr, innerRect.y() * dpr, innerRect.width() * dpr, innerRect.height() * dpr); + + const Okular::Annotation::SubType type = a->subType(); + + // draw TextAnnotation + if (type == Okular::Annotation::AText) { + Okular::TextAnnotation *text = static_cast(a); + if (text->textType() == Okular::TextAnnotation::InPlace) { + QImage image(annotBoundary.size(), QImage::Format_ARGB32); + image.fill(acolor.rgba()); + QPainter painter(&image); + painter.setFont(text->textFont()); + painter.setPen(text->textColor()); + const Qt::AlignmentFlag hAlign = (text->inplaceAlignment() == 1 ? Qt::AlignHCenter : (text->inplaceAlignment() == 2 ? Qt::AlignRight : Qt::AlignLeft)); + const double invXScale = (double)page->width() / scaledWidth; + const double invYScale = (double)page->height() / scaledHeight; + const double borderWidth = text->style().width(); + painter.scale(1 / invXScale, 1 / invYScale); + painter.drawText(borderWidth * invXScale, borderWidth * invYScale, (image.width() - 2 * borderWidth) * invXScale, (image.height() - 2 * borderWidth) * invYScale, Qt::AlignTop | hAlign | Qt::TextWordWrap, text->contents()); + painter.resetTransform(); + // Required as asking for a zero width pen results + // in a default width pen (1.0) being created + if (borderWidth != 0) { + QPen pen(Qt::black, borderWidth); + painter.setPen(pen); + painter.drawRect(0, 0, image.width() - 1, image.height() - 1); + } + painter.end(); + + mixedPainter->drawImage(annotBoundary.topLeft(), image); + } else if (text->textType() == Okular::TextAnnotation::Linked) { + // get pixmap, colorize and alpha-blend it + QPixmap iconPixmap = QIcon::fromTheme(text->textIcon().toLower()).pixmap(32); + + QPixmap scaledCroppedPixmap = iconPixmap.scaled(TEXTANNOTATION_ICONSIZE * dpr, TEXTANNOTATION_ICONSIZE * dpr).copy(dInnerRect.toAlignedRect()); + scaledCroppedPixmap.setDevicePixelRatio(dpr); + QImage scaledCroppedImage = scaledCroppedPixmap.toImage(); + + // if the annotation color is valid (ie it was set), then + // use it to colorize the icon, otherwise the icon will be + // "gray" + if (a->style().color().isValid()) { + GuiUtils::colorizeImage(scaledCroppedImage, a->style().color(), opacity); + } + iconPixmap = QPixmap::fromImage(scaledCroppedImage); + + // draw the mangled image to painter + mixedPainter->drawPixmap(annotRect.topLeft(), iconPixmap); + } + + } + // draw StampAnnotation + else if (type == Okular::Annotation::AStamp) { + Okular::StampAnnotation *stamp = static_cast(a); + + // get pixmap and alpha blend it if needed + const QPixmap stampPixmap = Okular::AnnotationUtils::loadStamp(stamp->stampIconName(), annotBoundary.size() * dpr); + if (!stampPixmap.isNull()) // should never happen but can happen on huge sizes + { + // Draw pixmap with opacity: + mixedPainter->save(); + mixedPainter->setOpacity(mixedPainter->opacity() * opacity / 255.0); + + mixedPainter->drawPixmap(annotRect.topLeft(), stampPixmap.scaled(annotBoundary.width() * dpr, annotBoundary.height() * dpr), dInnerRect.toAlignedRect()); + + mixedPainter->restore(); + } + } + // draw GeomAnnotation + else if (type == Okular::Annotation::AGeom) { + Okular::GeomAnnotation *geom = static_cast(a); + // check whether there's anything to draw + if (geom->style().width() || geom->geometricalInnerColor().isValid()) { + mixedPainter->save(); + const double width = geom->style().width() * Okular::Utils::realDpi(nullptr).width() / (72.0 * 2.0) * scaledWidth / page->width(); + QRectF r(.0, .0, annotBoundary.width(), annotBoundary.height()); + r.adjust(width, width, -width, -width); + r.translate(annotBoundary.topLeft()); + if (geom->geometricalInnerColor().isValid()) { + r.adjust(width, width, -width, -width); + const QColor color = geom->geometricalInnerColor(); + mixedPainter->setPen(Qt::NoPen); + mixedPainter->setBrush(QColor(color.red(), color.green(), color.blue(), opacity)); + if (geom->geometricalType() == Okular::GeomAnnotation::InscribedSquare) { + mixedPainter->drawRect(r); + } else { + mixedPainter->drawEllipse(r); + } + r.adjust(-width, -width, width, width); + } + if (geom->style().width()) // need to check the original size here.. + { + mixedPainter->setPen(buildPen(a, width * 2, acolor)); + mixedPainter->setBrush(Qt::NoBrush); + if (geom->geometricalType() == Okular::GeomAnnotation::InscribedSquare) { + mixedPainter->drawRect(r); + } else { + mixedPainter->drawEllipse(r); + } + } + mixedPainter->restore(); + } + } + + // draw extents rectangle + if (Okular::Settings::debugDrawAnnotationRect()) { + mixedPainter->setPen(a->style().color()); + mixedPainter->drawRect(annotBoundary); + } + } + + if (boundingRectOnlyAnn) { + const QRect annotBoundary = boundingRectOnlyAnn->transformedBoundingRectangle().geometry(scaledWidth, scaledHeight).translated(-scaledCrop.topLeft()); + mixedPainter->setPen(Qt::DashLine); + mixedPainter->drawRect(annotBoundary); + } + + /** 6 -- MIXED FLOW. Draw LINKS+IMAGES BORDER on ACTIVE PAINTER **/ + if (enhanceLinks || enhanceImages) { + mixedPainter->save(); + mixedPainter->scale(scaledWidth, scaledHeight); + mixedPainter->translate(-crop.left, -crop.top); + + const QColor normalColor = QApplication::palette().color(QPalette::Active, QPalette::Highlight); + // enlarging limits for intersection is like growing the 'rectGeometry' below + const QRect limitsEnlarged = limits.adjusted(-2, -2, 2, 2); + // draw rects that are inside the 'limits' paint region as opaque rects + for (Okular::ObjectRect *rect : std::as_const(page->m_rects)) { + if ((enhanceLinks && rect->objectType() == Okular::ObjectRect::Action) || (enhanceImages && rect->objectType() == Okular::ObjectRect::Image)) { + if (limitsEnlarged.intersects(rect->boundingRect(scaledWidth, scaledHeight).translated(-scaledCrop.topLeft()))) { + mixedPainter->strokePath(rect->region(), QPen(normalColor, 0)); + } + } + } + mixedPainter->restore(); + } + + /** 7 -- BUFFERED FLOW. Copy BACKPIXMAP on DESTINATION PAINTER **/ + if (useBackBuffer) { + destPainter->drawPixmap(limits.left(), limits.top(), backPixmap); + } +} + +void PagePainter::recolor(QImage *image, const QColor &foreground, const QColor &background) +{ + if (image->format() != QImage::Format_ARGB32_Premultiplied) { + qCWarning(OkularUiDebug) << "Wrong image format! Converting..."; + *image = image->convertToFormat(QImage::Format_ARGB32_Premultiplied); + } + + Q_ASSERT(image->format() == QImage::Format_ARGB32_Premultiplied); + + const float scaleRed = background.redF() - foreground.redF(); + const float scaleGreen = background.greenF() - foreground.greenF(); + const float scaleBlue = background.blueF() - foreground.blueF(); + + const int foreground_red = foreground.red(); + const int foreground_green = foreground.green(); + const int foreground_blue = foreground.blue(); + + QRgb *data = reinterpret_cast(image->bits()); + const int pixels = image->width() * image->height(); + + for (int i = 0; i < pixels; ++i) { + const int lightness = qGray(data[i]); + + const float r = scaleRed * lightness + foreground_red; + const float g = scaleGreen * lightness + foreground_green; + const float b = scaleBlue * lightness + foreground_blue; + + const unsigned a = qAlpha(data[i]); + data[i] = qRgba(r, g, b, a); + } +} + +void PagePainter::blackWhite(QImage *image, int contrast, int threshold) +{ + unsigned int *data = reinterpret_cast(image->bits()); + int con = contrast; + int thr = 255 - threshold; + + int pixels = image->width() * image->height(); + for (int i = 0; i < pixels; ++i) { + // Piecewise linear function of val, through (0, 0), (thr, 128), (255, 255) + int val = qGray(data[i]); + if (val > thr) { + val = 128 + (127 * (val - thr)) / (255 - thr); + } else if (val < thr) { + val = (128 * val) / thr; + } + + // Linear contrast stretching through (thr, thr) + if (con > 2) { + val = thr + (val - thr) * con / 2; + val = qBound(0, val, 255); + } + + const unsigned a = qAlpha(data[i]); + data[i] = qRgba(val, val, val, a); + } +} + +void PagePainter::invertLightness(QImage *image) +{ + if (image->format() != QImage::Format_ARGB32_Premultiplied) { + qCWarning(OkularUiDebug) << "Wrong image format! Converting..."; + *image = image->convertToFormat(QImage::Format_ARGB32_Premultiplied); + } + + Q_ASSERT(image->format() == QImage::Format_ARGB32_Premultiplied); + + QRgb *data = reinterpret_cast(image->bits()); + int pixels = image->width() * image->height(); + for (int i = 0; i < pixels; ++i) { + // Invert lightness of the pixel using the cylindric HSL color model. + // Algorithm is based on https://en.wikipedia.org/wiki/HSL_and_HSV#HSL_to_RGB (2019-03-17). + // Important simplifications are that inverting lightness does not change chroma and hue. + // This means the sector (of the chroma/hue plane) is not changed, + // so we can use a linear calculation after determining the sector using qMin() and qMax(). + uchar R = qRed(data[i]); + uchar G = qGreen(data[i]); + uchar B = qBlue(data[i]); + + // Get only the needed HSL components. These are chroma C and the common component m. + // Get common component m + uchar m = qMin(R, qMin(G, B)); + // Remove m from color components + R -= m; + G -= m; + B -= m; + // Get chroma C + uchar C = qMax(R, qMax(G, B)); + + // Get common component m' after inverting lightness L. + // Hint: Lightness L = m + C / 2; L' = 255 - L = 255 - (m + C / 2) => m' = 255 - C - m + uchar m_ = 255 - C - m; + + // Add m' to color components + R += m_; + G += m_; + B += m_; + + // Save new color + const unsigned A = qAlpha(data[i]); + data[i] = qRgba(R, G, B, A); + } +} + +void PagePainter::invertLuma(QImage *image, float Y_R, float Y_G, float Y_B) +{ + if (image->format() != QImage::Format_ARGB32_Premultiplied) { + qCWarning(OkularUiDebug) << "Wrong image format! Converting..."; + *image = image->convertToFormat(QImage::Format_ARGB32_Premultiplied); + } + + Q_ASSERT(image->format() == QImage::Format_ARGB32_Premultiplied); + + QRgb *data = reinterpret_cast(image->bits()); + int pixels = image->width() * image->height(); + for (int i = 0; i < pixels; ++i) { + uchar R = qRed(data[i]); + uchar G = qGreen(data[i]); + uchar B = qBlue(data[i]); + + invertLumaPixel(R, G, B, Y_R, Y_G, Y_B); + + // Save new color + const unsigned A = qAlpha(data[i]); + data[i] = qRgba(R, G, B, A); + } +} + +void PagePainter::invertLumaPixel(uchar &R, uchar &G, uchar &B, float Y_R, float Y_G, float Y_B) +{ + // Invert luma of the pixel using the bicone HCY color model, stretched to cylindric HSY. + // Algorithm is based on https://en.wikipedia.org/wiki/HSL_and_HSV#Luma,_chroma_and_hue_to_RGB (2019-03-19). + // For an illustration see https://experilous.com/1/product/make-it-colorful/ (2019-03-19). + + // Special case: The algorithm does not work when hue is undefined. + if (R == G && G == B) { + R = 255 - R; + G = 255 - G; + B = 255 - B; + return; + } + + // Get input and output luma Y, Y_inv in range 0..255 + float Y = R * Y_R + G * Y_G + B * Y_B; + float Y_inv = 255 - Y; + + // Get common component m and remove from color components. + // This moves us to the bottom faces of the HCY bicone, i. e. we get C and X in R, G, B. + uint_fast8_t m = qMin(R, qMin(G, B)); + R -= m; + G -= m; + B -= m; + + // We operate in a hue plane of the luma/chroma/hue bicone. + // The hue plane is a triangle. + // This bicone is distorted, so we can not simply mirror the triangle. + // We need to stretch it to a luma/saturation rectangle, so we need to stretch chroma C and the proportional X. + + // First, we need to calculate luma Y_full_C for the outer corner of the triangle. + // Then we can interpolate the max chroma C_max, C_inv_max for our luma Y, Y_inv. + // Then we calculate C_inv and X_inv by scaling them by the ratio of C_max and C_inv_max. + + // Calculate luma Y_full_C (in range equivalent to gray 0..255) for chroma = 1 at this hue. + // Piecewise linear, with the corners of the bicone at the sum of one or two luma coefficients. + float Y_full_C; + if (R >= B && B >= G) { + Y_full_C = 255 * Y_R + 255 * Y_B * B / R; + } else if (R >= G && G >= B) { + Y_full_C = 255 * Y_R + 255 * Y_G * G / R; + } else if (G >= R && R >= B) { + Y_full_C = 255 * Y_G + 255 * Y_R * R / G; + } else if (G >= B && B >= R) { + Y_full_C = 255 * Y_G + 255 * Y_B * B / G; + } else if (B >= G && G >= R) { + Y_full_C = 255 * Y_B + 255 * Y_G * G / B; + } else { + Y_full_C = 255 * Y_B + 255 * Y_R * R / B; + } + + // Calculate C_max, C_inv_max, to scale C and X. + float C_max, C_inv_max; + if (Y >= Y_full_C) { + C_max = Y_inv / (255 - Y_full_C); + } else { + C_max = Y / Y_full_C; + } + if (Y_inv >= Y_full_C) { + C_inv_max = Y / (255 - Y_full_C); + } else { + C_inv_max = Y_inv / Y_full_C; + } + + // Scale C and X. C and X already lie in R, G, B. + float C_scale = C_inv_max / C_max; + float R_ = R * C_scale; + float G_ = G * C_scale; + float B_ = B * C_scale; + + // Calculate missing luma (in range 0..255), to get common component m_inv + float m_inv = Y_inv - (Y_R * R_ + Y_G * G_ + Y_B * B_); + + // Add m_inv to color components + R_ += m_inv; + G_ += m_inv; + B_ += m_inv; + + // Return colors rounded + R = R_ + 0.5; + G = G_ + 0.5; + B = B_ + 0.5; +} + +void PagePainter::hueShiftPositive(QImage *image) +{ + if (image->format() != QImage::Format_ARGB32_Premultiplied) { + qCWarning(OkularUiDebug) << "Wrong image format! Converting..."; + *image = image->convertToFormat(QImage::Format_ARGB32_Premultiplied); + } + + Q_ASSERT(image->format() == QImage::Format_ARGB32_Premultiplied); + + QRgb *data = reinterpret_cast(image->bits()); + int pixels = image->width() * image->height(); + for (int i = 0; i < pixels; ++i) { + uchar R = qRed(data[i]); + uchar G = qGreen(data[i]); + uchar B = qBlue(data[i]); + + // Save new color + const unsigned A = qAlpha(data[i]); + data[i] = qRgba(B, R, G, A); + } +} + +void PagePainter::hueShiftNegative(QImage *image) +{ + if (image->format() != QImage::Format_ARGB32_Premultiplied) { + qCWarning(OkularUiDebug) << "Wrong image format! Converting..."; + *image = image->convertToFormat(QImage::Format_ARGB32_Premultiplied); + } + + Q_ASSERT(image->format() == QImage::Format_ARGB32_Premultiplied); + + QRgb *data = reinterpret_cast(image->bits()); + int pixels = image->width() * image->height(); + for (int i = 0; i < pixels; ++i) { + uchar R = qRed(data[i]); + uchar G = qGreen(data[i]); + uchar B = qBlue(data[i]); + + // Save new color + const unsigned A = qAlpha(data[i]); + data[i] = qRgba(G, B, R, A); + } +} + +void PagePainter::drawShapeOnImage(QImage &image, const NormalizedPath &normPath, bool closeShape, const QPen &pen, const QBrush &brush, double penWidthMultiplier, RasterOperation op + // float antiAliasRadius +) +{ + // safety checks + int pointsNumber = normPath.size(); + if (pointsNumber < 2) { + return; + } + + const double dpr = image.devicePixelRatio(); + const double fImageWidth = image.width() / dpr; + const double fImageHeight = image.height() / dpr; + + // stroke outline + double penWidth = (double)pen.width() * penWidthMultiplier; + QPainter painter(&image); + painter.setRenderHint(QPainter::Antialiasing); + QPen pen2 = pen; + pen2.setWidthF(penWidth); + painter.setPen(pen2); + painter.setBrush(brush); + + if (op == Multiply) { + painter.setCompositionMode(QPainter::CompositionMode_Multiply); + } + + if (brush.style() == Qt::NoBrush) { + // create a polygon + QPolygonF poly(closeShape ? pointsNumber + 1 : pointsNumber); + for (int i = 0; i < pointsNumber; ++i) { + poly[i] = QPointF(normPath[i].x * fImageWidth, normPath[i].y * fImageHeight); + } + if (closeShape) { + poly[pointsNumber] = poly[0]; + } + + painter.drawPolyline(poly); + } else { + // create a 'path' + QPainterPath path; + path.setFillRule(Qt::WindingFill); + + path.moveTo(normPath[0].x * fImageWidth, normPath[0].y * fImageHeight); + for (int i = 1; i < pointsNumber; i++) { + path.lineTo(normPath[i].x * fImageWidth, normPath[i].y * fImageHeight); + } + if (closeShape) { + path.closeSubpath(); + } + + painter.drawPath(path); + } +} + +void PagePainter::drawEllipseOnImage(QImage &image, const NormalizedPath &rect, const QPen &pen, const QBrush &brush, double penWidthMultiplier, RasterOperation op) +{ + const double dpr = image.devicePixelRatio(); + const double fImageWidth = image.width() / dpr; + const double fImageHeight = image.height() / dpr; + + // stroke outline + const double penWidth = (double)pen.width() * penWidthMultiplier; + QPainter painter(&image); + painter.setRenderHint(QPainter::Antialiasing); + QPen pen2 = pen; + pen2.setWidthF(penWidth); + painter.setPen(pen2); + painter.setBrush(brush); + + if (op == Multiply) { + painter.setCompositionMode(QPainter::CompositionMode_Multiply); + } + + const QPointF &topLeft {rect[0].x * fImageWidth, rect[0].y * fImageHeight}; + const QSizeF &size {(rect[1].x - rect[0].x) * fImageWidth, (rect[1].y - rect[0].y) * fImageHeight}; + const QRectF imgRect {topLeft, size}; + if (brush.style() == Qt::NoBrush) { + painter.drawArc(imgRect, 0, 16 * 360); + } else { + painter.drawEllipse(imgRect); + } +} + +LineAnnotPainter::LineAnnotPainter(const Okular::LineAnnotation *a, QSizeF pageSize, double pageScale, const QTransform &toNormalizedImage) + : la {a} + , pageSize {pageSize} + , pageScale {pageScale} + , toNormalizedImage {toNormalizedImage} + , aspectRatio {pageSize.height() / pageSize.width()} + , linePen {buildPen(a, a->style().width(), a->style().color())} +{ + if ((la->lineClosed() || la->transformedLinePoints().count() == 2) && la->lineInnerColor().isValid()) { + fillBrush = QBrush(la->lineInnerColor()); + } +} + +void LineAnnotPainter::draw(QImage &image) const +{ + const QList transformedLinePoints = la->transformedLinePoints(); + if (transformedLinePoints.count() == 2) { + const Okular::NormalizedPoint delta {transformedLinePoints.last().x - transformedLinePoints.first().x, transformedLinePoints.first().y - transformedLinePoints.last().y}; + const double angle {atan2(delta.y * aspectRatio, delta.x)}; + const double cosA {cos(-angle)}; + const double sinA {sin(-angle)}; + const QTransform tmpMatrix = QTransform {cosA, sinA / aspectRatio, -sinA, cosA / aspectRatio, transformedLinePoints.first().x, transformedLinePoints.first().y}; + const double deaspectedY {delta.y * aspectRatio}; + const double mainSegmentLength {sqrt(delta.x * delta.x + deaspectedY * deaspectedY)}; + const double lineendSize {std::min(6. * la->style().width() / pageSize.width(), mainSegmentLength / 2.)}; + + drawShortenedLine(mainSegmentLength, lineendSize, image, tmpMatrix); + drawLineEnds(mainSegmentLength, lineendSize, image, tmpMatrix); + drawLeaderLine(0., image, tmpMatrix); + drawLeaderLine(mainSegmentLength, image, tmpMatrix); + } else if (transformedLinePoints.count() > 2) { + drawMainLine(image); + } +} + +void LineAnnotPainter::drawMainLine(QImage &image) const +{ + // draw the line as normalized path into image + PagePainter::drawShapeOnImage(image, transformPath(la->transformedLinePoints(), toNormalizedImage), la->lineClosed(), linePen, fillBrush, pageScale); +} + +void LineAnnotPainter::drawShortenedLine(double mainSegmentLength, double size, QImage &image, const QTransform &toNormalizedPage) const +{ + const QTransform combinedTransform {toNormalizedPage * toNormalizedImage}; + const QList path {{shortenForArrow(size, la->lineStartStyle()), 0}, {mainSegmentLength - shortenForArrow(size, la->lineEndStyle()), 0}}; + PagePainter::drawShapeOnImage(image, transformPath(path, combinedTransform), la->lineClosed(), linePen, fillBrush, pageScale); +} + +void LineAnnotPainter::drawLineEnds(double mainSegmentLength, double size, QImage &image, const QTransform &transform) const +{ + switch (la->lineStartStyle()) { + case Okular::LineAnnotation::Square: + drawLineEndSquare(0, -size, transform, image); + break; + case Okular::LineAnnotation::Circle: + drawLineEndCircle(0, -size, transform, image); + break; + case Okular::LineAnnotation::Diamond: + drawLineEndDiamond(0, -size, transform, image); + break; + case Okular::LineAnnotation::OpenArrow: + drawLineEndArrow(0, -size, 1., false, transform, image); + break; + case Okular::LineAnnotation::ClosedArrow: + drawLineEndArrow(0, -size, 1., true, transform, image); + break; + case Okular::LineAnnotation::None: + break; + case Okular::LineAnnotation::Butt: + drawLineEndButt(0, size, transform, image); + break; + case Okular::LineAnnotation::ROpenArrow: + drawLineEndArrow(0, size, 1., false, transform, image); + break; + case Okular::LineAnnotation::RClosedArrow: + drawLineEndArrow(0, size, 1., true, transform, image); + break; + case Okular::LineAnnotation::Slash: + drawLineEndSlash(0, -size, transform, image); + break; + } + switch (la->lineEndStyle()) { + case Okular::LineAnnotation::Square: + drawLineEndSquare(mainSegmentLength, size, transform, image); + break; + case Okular::LineAnnotation::Circle: + drawLineEndCircle(mainSegmentLength, size, transform, image); + break; + case Okular::LineAnnotation::Diamond: + drawLineEndDiamond(mainSegmentLength, size, transform, image); + break; + case Okular::LineAnnotation::OpenArrow: + drawLineEndArrow(mainSegmentLength, size, 1., false, transform, image); + break; + case Okular::LineAnnotation::ClosedArrow: + drawLineEndArrow(mainSegmentLength, size, 1., true, transform, image); + break; + case Okular::LineAnnotation::None: + break; + case Okular::LineAnnotation::Butt: + drawLineEndButt(mainSegmentLength, size, transform, image); + break; + case Okular::LineAnnotation::ROpenArrow: + drawLineEndArrow(mainSegmentLength, size, -1., false, transform, image); + break; + case Okular::LineAnnotation::RClosedArrow: + drawLineEndArrow(mainSegmentLength, size, -1., true, transform, image); + break; + case Okular::LineAnnotation::Slash: + drawLineEndSlash(mainSegmentLength, size, transform, image); + break; + } +} + +void LineAnnotPainter::drawLineEndArrow(double xEndPos, double size, double flipX, bool close, const QTransform &toNormalizedPage, QImage &image) const +{ + const QTransform combinedTransform {toNormalizedPage * toNormalizedImage}; + const QList path { + {xEndPos - size * flipX, size / 2.}, + {xEndPos, 0}, + {xEndPos - size * flipX, -size / 2.}, + }; + PagePainter::drawShapeOnImage(image, transformPath(path, combinedTransform), close, linePen, fillBrush, pageScale); +} + +void LineAnnotPainter::drawLineEndButt(double xEndPos, double size, const QTransform &toNormalizedPage, QImage &image) const +{ + const QTransform combinedTransform {toNormalizedPage * toNormalizedImage}; + const double halfSize {size / 2.}; + const QList path { + {xEndPos, halfSize}, + {xEndPos, -halfSize}, + }; + PagePainter::drawShapeOnImage(image, transformPath(path, combinedTransform), true, linePen, fillBrush, pageScale); +} + +void LineAnnotPainter::drawLineEndCircle(double xEndPos, double size, const QTransform &toNormalizedPage, QImage &image) const +{ + /* transform the circle midpoint to intermediate normalized coordinates + * where it's easy to construct the bounding rect of the circle */ + Okular::NormalizedPoint center; + toNormalizedPage.map(xEndPos - size / 2., 0, ¢er.x, ¢er.y); + const double halfSize {size / 2.}; + const QList path { + {center.x - halfSize, center.y - halfSize / aspectRatio}, + {center.x + halfSize, center.y + halfSize / aspectRatio}, + }; + + /* then transform bounding rect with toNormalizedImage */ + PagePainter::drawEllipseOnImage(image, transformPath(path, toNormalizedImage), linePen, fillBrush, pageScale); +} + +void LineAnnotPainter::drawLineEndSquare(double xEndPos, double size, const QTransform &toNormalizedPage, QImage &image) const +{ + const QTransform combinedTransform {toNormalizedPage * toNormalizedImage}; + const QList path {{xEndPos, size / 2.}, {xEndPos - size, size / 2.}, {xEndPos - size, -size / 2.}, {xEndPos, -size / 2.}}; + PagePainter::drawShapeOnImage(image, transformPath(path, combinedTransform), true, linePen, fillBrush, pageScale); +} + +void LineAnnotPainter::drawLineEndDiamond(double xEndPos, double size, const QTransform &toNormalizedPage, QImage &image) const +{ + const QTransform combinedTransform {toNormalizedPage * toNormalizedImage}; + const QList path {{xEndPos, 0}, {xEndPos - size / 2., size / 2.}, {xEndPos - size, 0}, {xEndPos - size / 2., -size / 2.}}; + PagePainter::drawShapeOnImage(image, transformPath(path, combinedTransform), true, linePen, fillBrush, pageScale); +} + +void LineAnnotPainter::drawLineEndSlash(double xEndPos, double size, const QTransform &toNormalizedPage, QImage &image) const +{ + const QTransform combinedTransform {toNormalizedPage * toNormalizedImage}; + const double halfSize {size / 2.}; + const double xOffset {cos(M_PI / 3.) * halfSize}; + const QList path { + {xEndPos - xOffset, halfSize}, + {xEndPos + xOffset, -halfSize}, + }; + PagePainter::drawShapeOnImage(image, transformPath(path, combinedTransform), true, linePen, fillBrush, pageScale); +} + +void LineAnnotPainter::drawLeaderLine(double xEndPos, QImage &image, const QTransform &toNormalizedPage) const +{ + const QTransform combinedTransform = toNormalizedPage * toNormalizedImage; + const double ll = aspectRatio * la->lineLeadingForwardPoint() / pageSize.height(); + const double lle = aspectRatio * la->lineLeadingBackwardPoint() / pageSize.height(); + const int sign {ll > 0 ? -1 : 1}; + QList path; + + if (fabs(ll) > 0) { + path.append({xEndPos, ll}); + // do we have the extension on the "back"? + if (fabs(lle) > 0) { + path.append({xEndPos, sign * lle}); + } else { + path.append({xEndPos, 0}); + } + } + PagePainter::drawShapeOnImage(image, transformPath(path, combinedTransform), false, linePen, fillBrush, pageScale); +} + +double LineAnnotPainter::shortenForArrow(double size, Okular::LineAnnotation::TermStyle endStyle) +{ + double shortenBy {0}; + + if (endStyle == Okular::LineAnnotation::Square || endStyle == Okular::LineAnnotation::Circle || endStyle == Okular::LineAnnotation::Diamond || endStyle == Okular::LineAnnotation::ClosedArrow) { + shortenBy = size; + } + + return shortenBy; +} + +/* kate: replace-tabs on; indent-width 4; */ diff --git a/gui/pagepainter.h b/gui/pagepainter.h new file mode 100644 index 0000000..f9c7dd1 --- /dev/null +++ b/gui/pagepainter.h @@ -0,0 +1,181 @@ +/* + SPDX-FileCopyrightText: 2005 Enrico Ros + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_PAGEPAINTER_H_ +#define _OKULAR_PAGEPAINTER_H_ + +#include +#include +#include + +#include "core/annotations.h" +#include "core/area.h" // for NormalizedPoint + +class QPainter; +class QRect; +namespace Okular +{ +class DocumentObserver; +class Page; +} + +/** + * @short Paints a Okular::Page to an open painter using given flags. + */ +class Q_DECL_EXPORT PagePainter +{ +public: + // list of flags passed to the painting function. by OR-ing those flags + // you can decide whether or not to permit drawing of a certain feature. + enum PagePainterFlags { Accessibility = 1, EnhanceLinks = 2, EnhanceImages = 4, Highlights = 8, TextSelection = 16, Annotations = 32 }; + + /** + * Draw @p page on @p destPainter. + * + * @param destPainter Page will be drawn on this painter. + * @param page Which page do draw. + * @param observer Request pixmaps generated for this DocumentObserver. + * @param flags PagePainterFlags, which features to draw. + * @param scaledWidth The requested width of uncropped page in @p destPainter coordinates. + * @param scaledHeight The requested height of uncropped page in @p destPainter coordinates. + * @param pageLimits Where to paint in @p destPainter coordinates. (I. e. painter crop.) Should begin at (0, 0). + */ + static void paintPageOnPainter(QPainter *destPainter, const Okular::Page *page, Okular::DocumentObserver *observer, int flags, int scaledWidth, int scaledHeight, const QRect pageLimits); + + /** + * Draw @p page on @p destPainter. + * + * @param destPainter Page will be drawn on this painter. + * @param page Which page do draw. + * @param observer Request pixmaps generated for this DocumentObserver. + * @param flags PagePainterFlags, which features to draw. + * @param scaledWidth The requested width of uncropped page in @p destPainter coordinates. + * @param scaledHeight The requested height of uncropped page in @p destPainter coordinates. + * @param pageLimits Where to paint in @p destPainter coordinates. (I. e. painter crop.) Should begin at (0, 0). + * @param crop Which area of the page to paint in @p pageLimits. + * @param viewPortPoint Which point of the page to highlight, e. g. a source location. @c nullptr to disable. + */ + static void paintCroppedPageOnPainter(QPainter *destPainter, + const Okular::Page *page, + Okular::DocumentObserver *observer, + int flags, + int scaledWidth, + int scaledHeight, + const QRect pageLimits, + const Okular::NormalizedRect &crop, + Okular::NormalizedPoint *viewPortPoint); + +private: + // BEGIN Change Colors feature + /** + * Collapse color space (from white to black) to a line from @p foreground to @p background. + */ + static void recolor(QImage *image, const QColor &foreground, const QColor &background); + /** + * Collapse color space to a line from white to black, + * then move from @p threshold to 128 and stretch the line by @p contrast. + */ + static void blackWhite(QImage *image, int contrast, int threshold); + /** + * Invert the lightness axis of the HSL color cone. + */ + static void invertLightness(QImage *image); + /** + * Inverts luma of @p image using the luma coefficients @p Y_R, @p Y_G, @p Y_B (should sum up to 1), + * and assuming linear 8bit RGB color space. + */ + static void invertLuma(QImage *image, float Y_R, float Y_G, float Y_B); + /** + * Inverts luma of a pixel given in @p R, @p G, @p B, + * using the luma coefficients @p Y_R, @p Y_G, @p Y_B (should sum up to 1), + * and assuming linear 8bit RGB color space. + */ + static void invertLumaPixel(uchar &R, uchar &G, uchar &B, float Y_R, float Y_G, float Y_B); + /** + * Shifts hue of each pixel by 120 degrees, by simply swapping channels. + */ + static void hueShiftPositive(QImage *image); + /** + * Shifts hue of each pixel by 240 degrees, by simply swapping channels. + */ + static void hueShiftNegative(QImage *image); + // END Change Colors feature + + // my pretty dear raster function + typedef QList NormalizedPath; + enum RasterOperation { Normal, Multiply }; + + /** + * Draw @p normPath on @p image. + * + * @note @p normPath needs to be normalized in respect to @p image, not to the actual page. + */ + static void drawShapeOnImage(QImage &image, const NormalizedPath &normPath, bool closeShape, const QPen &pen, const QBrush &brush = QBrush(), double penWidthMultiplier = 1.0, RasterOperation op = Normal); + + /** + * Draw an ellipse described by @p rect on @p image. + * + * @param rect Two NormalizedPoints describing the bounding rect. Need to be normalized in respect to @p image, not to the actual page. + */ + static void drawEllipseOnImage(QImage &image, const NormalizedPath &rect, const QPen &pen, const QBrush &brush, double penWidthMultiplier, RasterOperation op = Normal); + + friend class LineAnnotPainter; +}; + +/** + * @short Painting helper for a single Okular::LineAnnotation. + */ +class LineAnnotPainter +{ +public: + /** + * @param a The annotation to paint. Accessed by draw(). + * @param pageSizeA The full size of the page on which to paint. + * @param pageScale The scale of the page when you call draw(). + * @param toNormalizedImage How to transform normalized coordinates of @p a to normalized coordinates of your paint device. (If your paint device represents the whole page, use the unit matrix QTransform().) + */ + LineAnnotPainter(const Okular::LineAnnotation *a, QSizeF pageSizeA, double pageScale, const QTransform &toNormalizedImage); + + /** + * Draw the annotation on @p image. + */ + void draw(QImage &image) const; + +private: + void drawMainLine(QImage &image) const; + void drawShortenedLine(double mainSegmentLength, double size, QImage &image, const QTransform &toNormalizedPage) const; + void drawLineEnds(double mainSegmentLength, double size, QImage &image, const QTransform &transform) const; + void drawLineEndArrow(double xEndPos, double size, double flipX, bool close, const QTransform &toNormalizedPage, QImage &image) const; + void drawLineEndButt(double xEndPos, double size, const QTransform &toNormalizedPage, QImage &image) const; + void drawLineEndCircle(double xEndPos, double size, const QTransform &toNormalizedPage, QImage &image) const; + void drawLineEndSquare(double xEndPos, double size, const QTransform &toNormalizedPage, QImage &image) const; + void drawLineEndDiamond(double xEndPos, double size, const QTransform &toNormalizedPage, QImage &image) const; + void drawLineEndSlash(double xEndPos, double size, const QTransform &toNormalizedPage, QImage &image) const; + void drawLeaderLine(double xEndPos, QImage &image, const QTransform &toNormalizedPage) const; + template QList transformPath(const T &path, const QTransform &transform) const + { + QList transformedPath; + for (const Okular::NormalizedPoint &item : path) { + Okular::NormalizedPoint p; + transform.map(item.x, item.y, &p.x, &p.y); + transformedPath.append(p); + } + return transformedPath; + } + + static double shortenForArrow(double size, Okular::LineAnnotation::TermStyle endStyle); + +private: + const Okular::LineAnnotation *la; + QSizeF pageSize; + double pageScale; + QTransform toNormalizedImage; + double aspectRatio; + const QPen linePen; + QBrush fillBrush; +}; + +#endif diff --git a/gui/priorities.h b/gui/priorities.h new file mode 100644 index 0000000..84d97f9 --- /dev/null +++ b/gui/priorities.h @@ -0,0 +1,18 @@ +/* + SPDX-FileCopyrightText: 2013 Albert Astals Cid + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef PRIORITIES_H +#define PRIORITIES_H + +/** PRIORITIES for requests. Globally defined here. **/ +#define PAGEVIEW_PRIO 1 +#define PAGEVIEW_PRELOAD_PRIO 4 +#define THUMBNAILS_PRIO 2 +#define THUMBNAILS_PRELOAD_PRIO 5 +#define PRESENTATION_PRIO 0 +#define PRESENTATION_PRELOAD_PRIO 3 + +#endif diff --git a/gui/recentitemsmodel.cpp b/gui/recentitemsmodel.cpp new file mode 100644 index 0000000..c5f8c58 --- /dev/null +++ b/gui/recentitemsmodel.cpp @@ -0,0 +1,151 @@ +/* + SPDX-FileCopyrightText: 2021 Jiří Wolker + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "recentitemsmodel.h" + +#include +#include +#include +#include + +#include + +RecentItemsModel::RecentItemsModel() +{ +} + +RecentItemsModel::~RecentItemsModel() +{ +} + +void RecentItemsModel::loadEntries(const KConfigGroup &cg) +{ + clearEntries(); + + // Based on implementation of KRecentFilesAction::loadEntries. + + // read file list + for (int i = 1; i <= maxItems(); i++) { + const QString key = QStringLiteral("File%1").arg(i); + const QString value = cg.readPathEntry(key, QString()); + if (value.isEmpty()) { + continue; + } + const QUrl url = QUrl::fromUserInput(value); + + // Don't restore if file doesn't exist anymore + if (url.isLocalFile() && !QFile::exists(url.toLocalFile())) { + continue; + } + + const QString nameKey = QStringLiteral("Name%1").arg(i); + const QString nameValue = cg.readPathEntry(nameKey, url.fileName()); + m_recentItems.append(RecentItem {nameValue, url}); + } + + Q_EMIT layoutChanged(); +} + +void RecentItemsModel::clearEntries() +{ + m_recentItems.clear(); + + Q_EMIT layoutChanged(); +} + +QHash RecentItemsModel::roleNames() const +{ + QHash roles = QAbstractItemModel::roleNames(); + + // Custom roles + roles[IconNameRole] = "iconName"; + roles[UrlRole] = "url"; + + return roles; +} + +int RecentItemsModel::rowCount(const QModelIndex &parent) const +{ + Q_UNUSED(parent); + + return m_recentItems.size(); +} + +QVariant RecentItemsModel::data(const QModelIndex &index, int role) const +{ + const RecentItemsModel::RecentItem *item = getItem(index); + + if (item != nullptr) { + switch (role) { + case Qt::ItemDataRole::DisplayRole: + if (item->name.isEmpty()) { + if (item->url.isLocalFile()) { + return item->url.toLocalFile(); + } else { + return item->url.toString(); + } + } else { + return item->name; + } + + case Qt::ItemDataRole::ToolTipRole: + if (item->url.isLocalFile()) { + return item->url.toLocalFile(); + } else { + return item->url.toString(); + } + + case Qt::ItemDataRole::DecorationRole: + if (item->url.isLocalFile()) { + return m_iconProvider.icon(QFileInfo(item->url.toLocalFile())); + } else { + // Fallback icon for remote files. + return QIcon::fromTheme(QStringLiteral("network-server")); + } + + case IconNameRole: + if (item->url.isLocalFile()) { + return m_iconProvider.icon(QFileInfo(item->url.toLocalFile())).name(); + } else { + // Fallback icon for remote files. + return QIcon::fromTheme(QStringLiteral("network-server")).name(); + } + + case UrlRole: + return item->url.toString(); + + default: + return QVariant(); + } + } else { + return QVariant(); + } +} + +RecentItemsModel::RecentItem const *RecentItemsModel::getItem(int index) const +{ + if (m_recentItems.size() > index && index >= 0) { + // We reverse the order of items. + return &m_recentItems[m_recentItems.size() - index - 1]; + } else { + return nullptr; + } +} + +RecentItemsModel::RecentItem const *RecentItemsModel::getItem(const QModelIndex &index) const +{ + return getItem(index.row()); +} + +int RecentItemsModel::maxItems() +{ + return m_maxItems; +} + +void RecentItemsModel::setMaxItems(const int maxItems) +{ + m_maxItems = maxItems; +} diff --git a/gui/recentitemsmodel.h b/gui/recentitemsmodel.h new file mode 100644 index 0000000..21d8287 --- /dev/null +++ b/gui/recentitemsmodel.h @@ -0,0 +1,63 @@ +/* + SPDX-FileCopyrightText: 2021 Jiří Wolker + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef RECENTITEMSMODEL_H +#define RECENTITEMSMODEL_H + +#include +#include +#include +#include +#include +#include + +class KConfigGroup; + +/** + * @todo write docs + */ +class RecentItemsModel : public QAbstractListModel +{ + Q_OBJECT + +public: + enum Roles { IconNameRole = Qt::UserRole + 1, UrlRole = Qt::UserRole + 2 }; + struct RecentItem { + QString name; + QUrl url; + }; + + /** + * Default constructor + */ + RecentItemsModel(); + + /** + * Destructor + */ + ~RecentItemsModel() override; + + void loadEntries(const KConfigGroup &cg); + void clearEntries(); + int maxItems(); + void setMaxItems(const int maxItems); + + RecentItemsModel::RecentItem const *getItem(const QModelIndex &) const; + RecentItemsModel::RecentItem const *getItem(int index) const; + + // Model implementation: + QHash roleNames() const override; + int rowCount(const QModelIndex &parent = QModelIndex()) const override; + QVariant data(const QModelIndex &index, int role = Qt::ItemDataRole::DisplayRole) const override; + +private: + QList m_recentItems; + // m_maxItems only affects the recentListsView on the welcome screen. The no. of recent files in the File menu are not affected. + int m_maxItems = 20; + QFileIconProvider m_iconProvider; +}; + +#endif // RECENTITEMSMODEL_H diff --git a/gui/signatureguiutils.cpp b/gui/signatureguiutils.cpp new file mode 100644 index 0000000..9be1db5 --- /dev/null +++ b/gui/signatureguiutils.cpp @@ -0,0 +1,222 @@ +/* + SPDX-FileCopyrightText: 2018 Chinmoy Ranjan Pradhan + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "signatureguiutils.h" + +#include + +#include "core/document.h" +#include "core/form.h" +#include "core/page.h" + +namespace SignatureGuiUtils +{ +QList getSignatureFormFields(const Okular::Document *doc) +{ + uint curPage = 0; + const uint numPages = doc->pages(); + QList signatureFormFields; + while (curPage < numPages) { + const QList formFields = doc->page(curPage++)->formFields(); + for (Okular::FormField *f : formFields) { + if (f->type() == Okular::FormField::FormSignature) { + signatureFormFields.append(static_cast(f)); + } + } + } + std::sort(signatureFormFields.begin(), signatureFormFields.end(), [](const Okular::FormFieldSignature *a, const Okular::FormFieldSignature *b) { + const Okular::SignatureInfo &infoA = a->signatureInfo(); + const Okular::SignatureInfo &infoB = b->signatureInfo(); + return infoA.signingTime() < infoB.signingTime(); + }); + return signatureFormFields; +} + +QString getReadableSignatureStatus(Okular::SignatureInfo::SignatureStatus sigStatus) +{ + switch (sigStatus) { + case Okular::SignatureInfo::SignatureValid: + return i18n("The signature is cryptographically valid."); + case Okular::SignatureInfo::SignatureInvalid: + return i18n("The signature is cryptographically invalid."); + case Okular::SignatureInfo::SignatureDigestMismatch: + return i18n("Digest Mismatch occurred."); + case Okular::SignatureInfo::SignatureDecodingError: + return i18n("The signature CMS/PKCS7 structure is malformed."); + case Okular::SignatureInfo::SignatureNotFound: + return i18n("The requested signature is not present in the document."); + default: + return i18n("The signature could not be verified."); + } +} + +QString getReadableCertStatus(Okular::SignatureInfo::CertificateStatus certStatus) +{ + switch (certStatus) { + case Okular::SignatureInfo::CertificateTrusted: + return i18n("Certificate is Trusted."); + case Okular::SignatureInfo::CertificateUntrustedIssuer: + return i18n("Certificate issuer isn't Trusted."); + case Okular::SignatureInfo::CertificateUnknownIssuer: + return i18n("Certificate issuer is unknown."); + case Okular::SignatureInfo::CertificateRevoked: + return i18n("Certificate has been Revoked."); + case Okular::SignatureInfo::CertificateExpired: + return i18n("Certificate has Expired."); + case Okular::SignatureInfo::CertificateNotVerified: + return i18n("Certificate has not yet been verified."); + case Okular::SignatureInfo::CertificateVerificationInProgress: + return i18n("Certificate validation in progress"); + default: + return i18n("Unknown issue with Certificate or corrupted data."); + } +} + +QString getReadableHashAlgorithm(Okular::SignatureInfo::HashAlgorithm hashAlg) +{ + switch (hashAlg) { + case Okular::SignatureInfo::HashAlgorithmMd2: + return i18n("MD2"); + case Okular::SignatureInfo::HashAlgorithmMd5: + return i18n("MD5"); + case Okular::SignatureInfo::HashAlgorithmSha1: + return i18n("SHA1"); + case Okular::SignatureInfo::HashAlgorithmSha256: + return i18n("SHA256"); + case Okular::SignatureInfo::HashAlgorithmSha384: + return i18n("SHA384"); + case Okular::SignatureInfo::HashAlgorithmSha512: + return i18n("SHA512"); + case Okular::SignatureInfo::HashAlgorithmSha224: + return i18n("SHA224"); + default: + return i18n("Unknown Algorithm"); + } +} + +QString getReadablePublicKeyType(Okular::CertificateInfo::PublicKeyType type) +{ + switch (type) { + case Okular::CertificateInfo::RsaKey: + return i18n("RSA"); + case Okular::CertificateInfo::DsaKey: + return i18n("DSA"); + case Okular::CertificateInfo::EcKey: + return i18n("EC"); + case Okular::CertificateInfo::OtherKey: + return i18n("Unknown Type"); + } + + return i18n("Unknown Type"); +} + +QString getReadableKeyUsage(Okular::CertificateInfo::KeyUsageExtensions kuExtensions, const QString &separator) +{ + QStringList ku; + if (kuExtensions.testFlag(Okular::CertificateInfo::KuDigitalSignature)) { + ku << i18n("Digital Signature"); + } + if (kuExtensions.testFlag(Okular::CertificateInfo::KuNonRepudiation)) { + ku << i18n("Non-Repudiation"); + } + if (kuExtensions.testFlag(Okular::CertificateInfo::KuKeyEncipherment)) { + ku << i18n("Encrypt Keys"); + } + if (kuExtensions.testFlag(Okular::CertificateInfo::KuDataEncipherment)) { + ku << i18n("Decrypt Keys"); + } + if (kuExtensions.testFlag(Okular::CertificateInfo::KuKeyAgreement)) { + ku << i18n("Key Agreement"); + } + if (kuExtensions.testFlag(Okular::CertificateInfo::KuKeyCertSign)) { + ku << i18n("Sign Certificate"); + } + if (kuExtensions.testFlag(Okular::CertificateInfo::KuClrSign)) { + ku << i18n("Sign CRL"); + } + if (kuExtensions.testFlag(Okular::CertificateInfo::KuEncipherOnly)) { + ku << i18n("Encrypt Only"); + } + if (ku.isEmpty()) { + ku << i18n("No Usage Specified"); + } + return ku.join(separator); +} + +QString getReadableKeyUsageCommaSeparated(Okular::CertificateInfo::KeyUsageExtensions kuExtensions) +{ + return getReadableKeyUsage(kuExtensions, i18nc("Joins the various ways a signature key can be used in a longer string", ", ")); +} + +QString getReadableKeyUsageNewLineSeparated(Okular::CertificateInfo::KeyUsageExtensions kuExtensions) +{ + return getReadableKeyUsage(kuExtensions, QStringLiteral("\n")); +} + +QString getReadableModificationSummary(const Okular::SignatureInfo &signatureInfo) +{ + const Okular::SignatureInfo::SignatureStatus signatureStatus = signatureInfo.signatureStatus(); + // signature validation status + if (signatureStatus == Okular::SignatureInfo::SignatureValid) { + if (signatureInfo.signsTotalDocument()) { + return i18n("The document has not been modified since it was signed."); + } else { + return i18n( + "The revision of the document that was covered by this signature has not been modified;\n" + "however there have been subsequent changes to the document."); + } + } else if (signatureStatus == Okular::SignatureInfo::SignatureDigestMismatch) { + return i18n("The document has been modified in a way not permitted by a previous signer."); + } else { + return i18n("The document integrity verification could not be completed."); + } +} + +std::pair documentSignatureMessageWidgetText(const Okular::Document *doc) +{ + uint curPage = 0; + const uint numPages = doc->pages(); + bool isDigitallySigned = false; + while (curPage < numPages && !isDigitallySigned) { + const QList formFields = doc->page(curPage++)->formFields(); + for (const Okular::FormField *f : formFields) { + if (f->type() == Okular::FormField::FormSignature) { + isDigitallySigned = true; + } + } + } + + if (isDigitallySigned) { + const QList signatureFormFields = SignatureGuiUtils::getSignatureFormFields(doc); + bool allSignaturesValid = true; + bool anySignatureUnsigned = false; + for (const Okular::FormFieldSignature *signature : signatureFormFields) { + if (signature->signatureType() == Okular::FormFieldSignature::UnsignedSignature) { + anySignatureUnsigned = true; + } else { + const Okular::SignatureInfo &info = signature->signatureInfo(); + if (info.signatureStatus() != Okular::SignatureInfo::SignatureValid) { + allSignaturesValid = false; + } + } + } + + if (anySignatureUnsigned) { + return {KMessageWidget::Information, i18nc("Digital signature", "This document has signature placeholder fields.")}; + } else if (allSignaturesValid) { + if (signatureFormFields.last()->signatureInfo().signsTotalDocument()) { + return {KMessageWidget::Information, i18n("This document is digitally signed.")}; + } else { + return {KMessageWidget::Warning, i18n("This document is digitally signed. There have been changes since last signed.")}; + } + } else { + return {KMessageWidget::Warning, i18n("This document is digitally signed. Some of the signatures could not be validated properly.")}; + } + } + + return {KMessageWidget::Information, QString()}; +} +} diff --git a/gui/signatureguiutils.h b/gui/signatureguiutils.h new file mode 100644 index 0000000..4d9e85f --- /dev/null +++ b/gui/signatureguiutils.h @@ -0,0 +1,39 @@ +/* + SPDX-FileCopyrightText: 2018 Chinmoy Ranjan Pradhan + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef OKULAR_SIGNATUREGUIUTILS_H +#define OKULAR_SIGNATUREGUIUTILS_H + +#include + +#include "core/signatureutils.h" + +#include + +namespace Okular +{ +class Document; +class FormFieldSignature; +} + +namespace SignatureGuiUtils +{ +/** + * Returns a vector containing signature form fields sorted by date (last is newer). + */ +QList getSignatureFormFields(const Okular::Document *doc); +QString getReadableSignatureStatus(Okular::SignatureInfo::SignatureStatus sigStatus); +QString getReadableCertStatus(Okular::SignatureInfo::CertificateStatus certStatus); +QString getReadableHashAlgorithm(Okular::SignatureInfo::HashAlgorithm hashAlg); +QString getReadablePublicKeyType(Okular::CertificateInfo::PublicKeyType type); +QString getReadableKeyUsageCommaSeparated(Okular::CertificateInfo::KeyUsageExtensions kuExtensions); +QString getReadableKeyUsageNewLineSeparated(Okular::CertificateInfo::KeyUsageExtensions kuExtensions); +QString getReadableModificationSummary(const Okular::SignatureInfo &signatureInfo); + +std::pair documentSignatureMessageWidgetText(const Okular::Document *doc); +} + +#endif diff --git a/gui/signaturemodel.cpp b/gui/signaturemodel.cpp new file mode 100644 index 0000000..c4ce832 --- /dev/null +++ b/gui/signaturemodel.cpp @@ -0,0 +1,411 @@ +/* + SPDX-FileCopyrightText: 2018 Chinmoy Ranjan Pradhan + +#include +#include +#include +#include + +#include "core/document.h" +#include "core/form.h" +#include "core/observer.h" +#include "core/page.h" +#include "core/signatureutils.h" + +struct SignatureItem { + enum DataType { Root, RevisionInfo, ValidityStatus, CertificateStatus, SigningTime, Reason, Location, FieldInfo, SignatureType }; + + SignatureItem(); + SignatureItem(SignatureItem *parent, const Okular::FormFieldSignature *form, DataType type, int page); + ~SignatureItem(); + + SignatureItem(const SignatureItem &) = delete; + SignatureItem &operator=(const SignatureItem &) = delete; + + QList children; + SignatureItem *parent; + const Okular::FormFieldSignature *form; + QString displayString; + DataType type; + int page; +}; + +SignatureItem::SignatureItem() + : parent(nullptr) + , form(nullptr) + , type(Root) + , page(-1) +{ +} + +SignatureItem::SignatureItem(SignatureItem *_parent, const Okular::FormFieldSignature *_form, DataType _type, int _page) + : parent(_parent) + , form(_form) + , type(_type) + , page(_page) +{ + Q_ASSERT(parent); + parent->children.append(this); +} + +SignatureItem::~SignatureItem() +{ + qDeleteAll(children); +} + +class SignatureModelPrivate : public Okular::DocumentObserver +{ +public: + explicit SignatureModelPrivate(SignatureModel *qq); + ~SignatureModelPrivate() override; + + void notifySetup(const QList &pages, int setupFlags) override; + + QModelIndex indexForItem(SignatureItem *item) const; + + SignatureModel *q; + SignatureItem *root; + QPointer document; + mutable QHash certificateForForm; +}; + +SignatureModelPrivate::SignatureModelPrivate(SignatureModel *qq) + : q(qq) + , root(new SignatureItem) +{ +} + +SignatureModelPrivate::~SignatureModelPrivate() +{ + qDeleteAll(certificateForForm); + delete root; +} + +static void updateFormFieldSignaturePointer(SignatureItem *item, const QList &pages) +{ + if (item->form) { + const QList formFields = pages[item->page]->formFields(); + for (Okular::FormField *f : formFields) { + if (item->form->id() == f->id()) { + item->form = static_cast(f); + break; + } + } + if (!item->form) { + qWarning() << "Lost signature form field, something went wrong"; + } + } + + for (SignatureItem *child : std::as_const(item->children)) { + updateFormFieldSignaturePointer(child, pages); + } +} + +void SignatureModelPrivate::notifySetup(const QList &pages, int setupFlags) +{ + if (!(setupFlags & Okular::DocumentObserver::DocumentChanged)) { + if (setupFlags & Okular::DocumentObserver::UrlChanged) { + updateFormFieldSignaturePointer(root, pages); + } + return; + } + + q->beginResetModel(); + qDeleteAll(root->children); + root->children.clear(); + + if (pages.isEmpty()) { + q->endResetModel(); + Q_EMIT q->countChanged(); + return; + } + + int revNumber = 1; + int unsignedSignatureNumber = 1; + const QList signatureFormFields = SignatureGuiUtils::getSignatureFormFields(document); + for (const Okular::FormFieldSignature *sf : signatureFormFields) { + const int pageNumber = sf->page()->number(); + + if (sf->signatureType() == Okular::FormFieldSignature::UnsignedSignature) { + auto *parentItem = new SignatureItem(root, sf, SignatureItem::RevisionInfo, pageNumber); + parentItem->displayString = i18nc("Digital signature", "Signature placeholder %1", unsignedSignatureNumber); + + auto childItem = new SignatureItem(parentItem, sf, SignatureItem::FieldInfo, pageNumber); + childItem->displayString = i18n("Field: %1 on page %2", sf->name(), pageNumber + 1); + + ++unsignedSignatureNumber; + } else { + const Okular::SignatureInfo &info = sf->signatureInfo(); + + // based on whether or not signature form is a nullptr it is decided if clicking on an item should change the viewport. + auto *parentItem = new SignatureItem(root, sf, SignatureItem::RevisionInfo, pageNumber); + parentItem->displayString = i18n("Rev. %1: Signed By %2", revNumber, info.signerName()); + + auto childItem1 = new SignatureItem(parentItem, nullptr, SignatureItem::ValidityStatus, pageNumber); + childItem1->displayString = SignatureGuiUtils::getReadableSignatureStatus(info.signatureStatus()); + + auto childItem1a = new SignatureItem(parentItem, nullptr, SignatureItem::CertificateStatus, pageNumber); + childItem1a->displayString = SignatureGuiUtils::getReadableCertStatus(info.certificateStatus()); + sf->subscribeUpdates([childItem1a, sf, this]() { + const Okular::SignatureInfo &info = sf->signatureInfo(); + childItem1a->displayString = SignatureGuiUtils::getReadableCertStatus(info.certificateStatus()); + auto index = indexForItem(childItem1a); + q->dataChanged(index, index); + }); + + auto childItem2 = new SignatureItem(parentItem, nullptr, SignatureItem::SigningTime, pageNumber); + childItem2->displayString = i18n("Signing Time: %1", QLocale().toString(info.signingTime(), QLocale::LongFormat)); + + const QString reason = info.reason(); + if (!reason.isEmpty()) { + auto childItem3 = new SignatureItem(parentItem, nullptr, SignatureItem::Reason, pageNumber); + childItem3->displayString = i18n("Reason: %1", reason); + } + const QString location = info.location(); + if (!location.isEmpty()) { + auto childItem3 = new SignatureItem(parentItem, nullptr, SignatureItem::Location, pageNumber); + childItem3->displayString = i18n("Location: %1", location); + } + + auto childItem4 = new SignatureItem(parentItem, sf, SignatureItem::FieldInfo, pageNumber); + childItem4->displayString = i18n("Field: %1 on page %2", sf->name(), pageNumber + 1); + auto signatureType = [sf] { + switch (sf->signatureType()) { + case Okular::FormFieldSignature::G10cPgpSignatureDetached: + return i18nc("Digital signature type", "PGP Signature"); + case Okular::FormFieldSignature::AdbePkcs7detached: + return i18nc("Digital signature type", "Adobe PKCS7"); + case Okular::FormFieldSignature::AdbePkcs7sha1: + return i18nc("Digital signature type", "Adobe PKCS7 Sha1"); + case Okular::FormFieldSignature::EtsiCAdESdetached: + return i18nc("Digital signature type", "ETSI CAdES"); + case Okular::FormFieldSignature::UnknownType: + return i18nc("Digital signature type", "Unknown"); + case Okular::FormFieldSignature::UnsignedSignature: + return i18nc("Digital signature type", "Signature placeholder"); + } + return QString {}; + }(); + + auto childItem5 = new SignatureItem(parentItem, nullptr, SignatureItem::SignatureType, pageNumber); + childItem5->displayString = i18n("Signature Type: %1", signatureType); + + ++revNumber; + } + } + q->endResetModel(); + Q_EMIT q->countChanged(); +} + +QModelIndex SignatureModelPrivate::indexForItem(SignatureItem *item) const +{ + if (item->parent) { + const int index = item->parent->children.indexOf(item); + if (index >= 0 && index < item->parent->children.count()) { + return q->createIndex(index, 0, item); + } + } + return QModelIndex(); +} + +SignatureModel::SignatureModel(Okular::Document *doc, QObject *parent) + : QAbstractItemModel(parent) + , d_ptr(new SignatureModelPrivate(this)) +{ + Q_D(SignatureModel); + d->document = doc; + d->document->addObserver(d); +} + +SignatureModel::~SignatureModel() +{ + Q_D(SignatureModel); + d->document->removeObserver(d); +} + +int SignatureModel::columnCount(const QModelIndex &) const +{ + return 1; +} + +QVariant SignatureModel::data(const QModelIndex &index, int role) const +{ + Q_D(const SignatureModel); + + if (!index.isValid()) { + return QVariant(); + } + + const SignatureItem *item = static_cast(index.internalPointer()); + if (item == d->root) { + return QVariant(); + } + + const Okular::FormFieldSignature *form = item->form ? item->form : item->parent->form; + + switch (role) { + case Qt::DisplayRole: + case Qt::ToolTipRole: + return item->displayString; + case Qt::DecorationRole: + if (item->type == SignatureItem::RevisionInfo) { + const Okular::SignatureInfo::SignatureStatus signatureStatus = form->signatureInfo().signatureStatus(); + switch (signatureStatus) { + case Okular::SignatureInfo::SignatureValid: + return QIcon::fromTheme(QStringLiteral("dialog-ok")); + case Okular::SignatureInfo::SignatureInvalid: + return QIcon::fromTheme(QStringLiteral("dialog-close")); + case Okular::SignatureInfo::SignatureDigestMismatch: + return QIcon::fromTheme(QStringLiteral("dialog-warning")); + default: + return QIcon::fromTheme(QStringLiteral("dialog-question")); + } + } + return QIcon(); + case FormRole: + return QVariant::fromValue(form); + case PageRole: + return item->page; + case ReadableStatusRole: + return SignatureGuiUtils::getReadableSignatureStatus(form->signatureInfo().signatureStatus()); + case ReadableModificationSummary: + return SignatureGuiUtils::getReadableModificationSummary(form->signatureInfo()); + case SignerNameRole: + return form->signatureInfo().signerName(); + case SigningTimeRole: + return QLocale().toString(form->signatureInfo().signingTime(), QLocale::LongFormat); + case SigningLocationRole: + return form->signatureInfo().location(); + case SigningReasonRole: + return form->signatureInfo().reason(); + case CertificateModelRole: { + auto it = d->certificateForForm.constFind(form); + if (it != d->certificateForForm.constEnd()) { + return QVariant::fromValue(it.value()); + } + CertificateModel *cm = new CertificateModel(form->signatureInfo().certificateInfo()); + d->certificateForForm.insert(form, cm); + return QVariant::fromValue(cm); + } + case SignatureRevisionIndexRole: { + const Okular::SignatureInfo &signatureInfo = form->signatureInfo(); + const Okular::SignatureInfo::SignatureStatus signatureStatus = signatureInfo.signatureStatus(); + if (signatureStatus != Okular::SignatureInfo::SignatureStatusUnknown && !signatureInfo.signsTotalDocument()) { + const QList signatureFormFields = SignatureGuiUtils::getSignatureFormFields(d->document); + return signatureFormFields.indexOf(form); + } + return -1; + } + case IsUnsignedSignatureRole: { + return form->signatureType() == Okular::FormFieldSignature::UnsignedSignature; + } + } + + return QVariant(); +} + +bool SignatureModel::hasChildren(const QModelIndex &parent) const +{ + if (!parent.isValid()) { + return true; + } + + const SignatureItem *item = static_cast(parent.internalPointer()); + return !item->children.isEmpty(); +} + +QModelIndex SignatureModel::index(int row, int column, const QModelIndex &parent) const +{ + Q_D(const SignatureModel); + + if (row < 0 || column != 0) { + return QModelIndex(); + } + + const SignatureItem *item = parent.isValid() ? static_cast(parent.internalPointer()) : d->root; + if (row < item->children.count()) { + return createIndex(row, column, item->children.at(row)); + } + + return QModelIndex(); +} + +QModelIndex SignatureModel::parent(const QModelIndex &index) const +{ + Q_D(const SignatureModel); + + if (!index.isValid()) { + return QModelIndex(); + } + + const SignatureItem *item = static_cast(index.internalPointer()); + return d->indexForItem(item->parent); +} + +int SignatureModel::rowCount(const QModelIndex &parent) const +{ + Q_D(const SignatureModel); + + const SignatureItem *item = parent.isValid() ? static_cast(parent.internalPointer()) : d->root; + return item->children.count(); +} + +QHash SignatureModel::roleNames() const +{ + static QHash res; + if (res.isEmpty()) { + res = QAbstractItemModel::roleNames(); + res.insert(FormRole, "signatureFormField"); + res.insert(PageRole, "page"); + res.insert(ReadableStatusRole, "readableStatus"); + res.insert(ReadableModificationSummary, "readableModificationSummary"); + res.insert(SignerNameRole, "signerName"); + res.insert(SigningTimeRole, "signingTime"); + res.insert(SigningLocationRole, "signingLocation"); + res.insert(SigningReasonRole, "signingReason"); + res.insert(CertificateModelRole, "certificateModel"); + res.insert(SignatureRevisionIndexRole, "signatureRevisionIndex"); + res.insert(IsUnsignedSignatureRole, "isUnsignedSignature"); + } + + return res; +} + +bool SignatureModel::saveSignedVersion(int signatureRevisionIndex, const QUrl &filePath) const +{ + Q_D(const SignatureModel); + const QList signatureFormFields = SignatureGuiUtils::getSignatureFormFields(d->document); + if (signatureRevisionIndex < 0 || signatureRevisionIndex >= signatureFormFields.count()) { + qWarning() << "Invalid signatureRevisionIndex given to saveSignedVersion"; + return false; + } + const Okular::FormFieldSignature *signature = signatureFormFields[signatureRevisionIndex]; + const QByteArray signedRevisionData = d->document->requestSignedRevisionData(signature->signatureInfo()); + + if (!filePath.isLocalFile()) { + qWarning() << "Unexpected non local path given to saveSignedVersion" << filePath; + return false; + } + QFile f(filePath.toLocalFile()); + if (!f.open(QIODevice::WriteOnly)) { + qWarning() << "Failed to open path for writing in saveSignedVersion" << filePath; + return false; + } + if (f.write(signedRevisionData) != signedRevisionData.size()) { + qWarning() << "Failed to write all data in saveSignedVersion" << filePath; + return false; + } + return true; +} + +#include "moc_signaturemodel.cpp" diff --git a/gui/signaturemodel.h b/gui/signaturemodel.h new file mode 100644 index 0000000..99d36fa --- /dev/null +++ b/gui/signaturemodel.h @@ -0,0 +1,67 @@ +/* + SPDX-FileCopyrightText: 2018 Chinmoy Ranjan Pradhan + +namespace Okular +{ +class Document; +} + +class SignatureModelPrivate; + +class SignatureModel : public QAbstractItemModel +{ + Q_OBJECT + + Q_PROPERTY(int count READ count NOTIFY countChanged) + +public: + enum { + FormRole = Qt::UserRole + 1000, + PageRole, + ReadableStatusRole, + ReadableModificationSummary, + SignerNameRole, + SigningTimeRole, + SigningLocationRole, + SigningReasonRole, + CertificateModelRole, + SignatureRevisionIndexRole, + IsUnsignedSignatureRole + }; + + explicit SignatureModel(Okular::Document *doc, QObject *parent = nullptr); + ~SignatureModel() override; + + int columnCount(const QModelIndex &parent = QModelIndex()) const override; + QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override; + bool hasChildren(const QModelIndex &parent = QModelIndex()) const override; + QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const override; + QModelIndex parent(const QModelIndex &index) const override; + int rowCount(const QModelIndex &parent = QModelIndex()) const override; + + int count() const + { + return rowCount(); + } + + QHash roleNames() const override; + + Q_INVOKABLE bool saveSignedVersion(int signatureRevisionIndex, const QUrl &filePath) const; + +Q_SIGNALS: + void countChanged(); + +private: + Q_DECLARE_PRIVATE(SignatureModel) + QScopedPointer d_ptr; +}; + +#endif diff --git a/gui/tocmodel.cpp b/gui/tocmodel.cpp new file mode 100644 index 0000000..4590f47 --- /dev/null +++ b/gui/tocmodel.cpp @@ -0,0 +1,496 @@ +/* + SPDX-FileCopyrightText: 2007 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "tocmodel.h" + +#include +#include +#include +#include + +#include + +#include "core/document.h" +#include "core/page.h" + +Q_DECLARE_METATYPE(QModelIndex) + +struct TOCItem { + TOCItem(); + TOCItem(TOCItem *parent, const QDomElement &e); + ~TOCItem(); + + TOCItem(const TOCItem &) = delete; + TOCItem &operator=(const TOCItem &) = delete; + + QString text; + Okular::DocumentViewport viewport; + QString extFileName; + QString url; + bool highlight : 1; + TOCItem *parent; + QList children; + TOCModelPrivate *model; +}; + +class TOCModelPrivate +{ +public: + explicit TOCModelPrivate(TOCModel *qq); + ~TOCModelPrivate(); + + void addChildren(const QDomNode &parentNode, TOCItem *parentItem); + QModelIndex indexForItem(TOCItem *item) const; + void findViewport(const Okular::DocumentViewport &viewport, TOCItem *item, QList &list) const; + + TOCModel *q; + TOCItem *root; + bool dirty : 1; + Okular::Document *document; + QList itemsToOpen; + QList currentPage; + TOCModel *m_oldModel; + QList m_oldTocExpandedIndexes; + Q_DISABLE_COPY(TOCModelPrivate) +}; + +TOCItem::TOCItem() + : highlight(false) + , parent(nullptr) + , model(nullptr) +{ +} + +TOCItem::TOCItem(TOCItem *_parent, const QDomElement &e) + : highlight(false) + , parent(_parent) +{ + parent->children.append(this); + model = parent->model; + text = e.tagName(); + + // viewport loading + if (e.hasAttribute(QStringLiteral("Viewport"))) { + // if the node has a viewport, set it + viewport = Okular::DocumentViewport(e.attribute(QStringLiteral("Viewport"))); + } else if (e.hasAttribute(QStringLiteral("ViewportName"))) { + // if the node references a viewport, get the reference and set it + const QString &page = e.attribute(QStringLiteral("ViewportName")); + QString viewport_string = model->document->metaData(QStringLiteral("NamedViewport"), page).toString(); + if (!viewport_string.isEmpty()) { + viewport = Okular::DocumentViewport(viewport_string); + } + } + + extFileName = e.attribute(QStringLiteral("ExternalFileName")); + url = e.attribute(QStringLiteral("URL")); +} + +TOCItem::~TOCItem() +{ + qDeleteAll(children); +} + +TOCModelPrivate::TOCModelPrivate(TOCModel *qq) + : q(qq) + , root(new TOCItem) + , dirty(false) + , document(nullptr) + , m_oldModel(nullptr) +{ + root->model = this; +} + +TOCModelPrivate::~TOCModelPrivate() +{ + delete root; + delete m_oldModel; +} + +void TOCModelPrivate::addChildren(const QDomNode &parentNode, TOCItem *parentItem) +{ + TOCItem *currentItem = nullptr; + QDomNode n = parentNode.firstChild(); + while (!n.isNull()) { + // convert the node to an element (sure it is) + QDomElement e = n.toElement(); + + // insert the entry as top level (listview parented) or 2nd+ level + currentItem = new TOCItem(parentItem, e); + + // descend recursively and advance to the next node + if (e.hasChildNodes()) { + addChildren(n, currentItem); + } + + // open/keep close the item + bool isOpen = false; + if (e.hasAttribute(QStringLiteral("Open"))) { + isOpen = QVariant(e.attribute(QStringLiteral("Open"))).toBool(); + } + if (isOpen) { + itemsToOpen.append(currentItem); + } + + n = n.nextSibling(); + Q_EMIT q->countChanged(); + } +} + +QModelIndex TOCModelPrivate::indexForItem(TOCItem *item) const +{ + if (item->parent) { + int id = item->parent->children.indexOf(item); + if (id >= 0 && id < item->parent->children.count()) { + return q->createIndex(id, 0, item); + } + } + return QModelIndex(); +} + +void TOCModelPrivate::findViewport(const Okular::DocumentViewport &viewport, TOCItem *item, QList &list) const +{ + TOCItem *todo = item; + + while (todo) { + const TOCItem *current = todo; + todo = nullptr; + TOCItem *pos = nullptr; + + for (TOCItem *child : current->children) { + if (child->viewport.isValid()) { + if (child->viewport.pageNumber <= viewport.pageNumber) { + pos = child; + if (child->viewport.pageNumber == viewport.pageNumber) { + break; + } + } else { + break; + } + } + } + if (pos) { + list.append(pos); + todo = pos; + } + } +} + +TOCModel::TOCModel(Okular::Document *document, QObject *parent) + : QAbstractItemModel(parent) + , d(new TOCModelPrivate(this)) +{ + d->document = document; + + qRegisterMetaType(); +} + +TOCModel::~TOCModel() +{ + delete d; +} + +QHash TOCModel::roleNames() const +{ + QHash roles = QAbstractItemModel::roleNames(); + roles[PageRole] = "page"; + roles[PageLabelRole] = "pageLabel"; + roles[HighlightRole] = "highlight"; + roles[HighlightedParentRole] = "highlightedParent"; + return roles; +} + +int TOCModel::columnCount(const QModelIndex &parent) const +{ + Q_UNUSED(parent) + return 1; +} + +QVariant TOCModel::data(const QModelIndex &index, int role) const +{ + if (!index.isValid()) { + return QVariant(); + } + + TOCItem *item = static_cast(index.internalPointer()); + switch (role) { + case Qt::DisplayRole: + case Qt::ToolTipRole: + return item->text; + break; + case Qt::FontRole: + if (item->highlight) { + QFont font; + font.setBold(true); + + const TOCItem *lastHighlighted = d->currentPage.last(); + + // in the mobile version our parent is not a QTreeView; embolden the last highlighted item + // TODO misusing parent() here, fix + QTreeView *view = dynamic_cast(QObject::parent()); + if (!view) { + if (item == lastHighlighted) { + return font; + } + return QVariant(); + } + + if (view->isExpanded(index)) { + // if this is the last highlighted node, its child is on a page below, thus it gets emboldened + if (item == lastHighlighted) { + return font; + } + } else { + return font; + } + } + break; + case HighlightRole: + return item->highlight; + case PageRole: + if (item->viewport.isValid()) { + return item->viewport.pageNumber + 1; + } + break; + case PageLabelRole: + if (item->viewport.isValid() && item->viewport.pageNumber < int(d->document->pages())) { + return d->document->page(item->viewport.pageNumber)->label(); + } + break; + } + return QVariant(); +} + +bool TOCModel::hasChildren(const QModelIndex &parent) const +{ + if (!parent.isValid()) { + return true; + } + + TOCItem *item = static_cast(parent.internalPointer()); + return !item->children.isEmpty(); +} + +QVariant TOCModel::headerData(int section, Qt::Orientation orientation, int role) const +{ + if (orientation != Qt::Horizontal) { + return QVariant(); + } + + if (section == 0 && role == Qt::DisplayRole) { + return QStringLiteral("Topics"); + } + + return QVariant(); +} + +QModelIndex TOCModel::index(int row, int column, const QModelIndex &parent) const +{ + if (row < 0 || column != 0) { + return QModelIndex(); + } + + TOCItem *item = parent.isValid() ? static_cast(parent.internalPointer()) : d->root; + if (row < item->children.count()) { + return createIndex(row, column, item->children.at(row)); + } + + return QModelIndex(); +} + +QModelIndex TOCModel::parent(const QModelIndex &index) const +{ + if (!index.isValid()) { + return QModelIndex(); + } + + TOCItem *item = static_cast(index.internalPointer()); + return d->indexForItem(item->parent); +} + +int TOCModel::rowCount(const QModelIndex &parent) const +{ + TOCItem *item = parent.isValid() ? static_cast(parent.internalPointer()) : d->root; + return item->children.count(); +} + +static QModelIndex indexForIndex(const QModelIndex &oldModelIndex, QAbstractItemModel *newModel) +{ + QModelIndex newModelIndex; + if (oldModelIndex.parent().isValid()) { + newModelIndex = newModel->index(oldModelIndex.row(), oldModelIndex.column(), indexForIndex(oldModelIndex.parent(), newModel)); + } else { + newModelIndex = newModel->index(oldModelIndex.row(), oldModelIndex.column()); + } + return newModelIndex; +} + +void TOCModel::fill(const Okular::DocumentSynopsis *toc) +{ + if (!toc) { + return; + } + + clear(); + Q_EMIT layoutAboutToBeChanged(); + d->addChildren(*toc, d->root); + d->dirty = true; + Q_EMIT layoutChanged(); + if (equals(d->m_oldModel)) { + for (const QModelIndex &oldIndex : std::as_const(d->m_oldTocExpandedIndexes)) { + const QModelIndex idx = indexForIndex(oldIndex, this); + if (!idx.isValid()) { + continue; + } + + // TODO misusing parent() here, fix + QMetaObject::invokeMethod(QObject::parent(), "expand", Qt::QueuedConnection, Q_ARG(QModelIndex, idx)); + } + } else { + for (TOCItem *item : std::as_const(d->itemsToOpen)) { + const QModelIndex idx = d->indexForItem(item); + if (!idx.isValid()) { + continue; + } + + // TODO misusing parent() here, fix + QMetaObject::invokeMethod(QObject::parent(), "expand", Qt::QueuedConnection, Q_ARG(QModelIndex, idx)); + } + } + d->itemsToOpen.clear(); + delete d->m_oldModel; + d->m_oldModel = nullptr; + d->m_oldTocExpandedIndexes.clear(); +} + +void TOCModel::clear() +{ + if (!d->dirty) { + return; + } + + beginResetModel(); + qDeleteAll(d->root->children); + d->root->children.clear(); + d->currentPage.clear(); + endResetModel(); + d->dirty = false; +} + +void TOCModel::setCurrentViewport(const Okular::DocumentViewport &viewport) +{ + for (TOCItem *item : std::as_const(d->currentPage)) { + QModelIndex idx = d->indexForItem(item); + if (!idx.isValid()) { + continue; + } + + item->highlight = false; + Q_EMIT dataChanged(idx, idx); + } + d->currentPage.clear(); + + QList newCurrentPage; + d->findViewport(viewport, d->root, newCurrentPage); + + d->currentPage = newCurrentPage; + + for (TOCItem *item : std::as_const(d->currentPage)) { + QModelIndex idx = d->indexForItem(item); + if (!idx.isValid()) { + continue; + } + + item->highlight = true; + Q_EMIT dataChanged(idx, idx); + } +} + +bool TOCModel::isEmpty() const +{ + return d->root->children.isEmpty(); +} + +bool TOCModel::equals(const TOCModel *model) const +{ + if (model) { + return checkequality(model); + } else { + return false; + } +} + +void TOCModel::setOldModelData(TOCModel *model, const QList &list) +{ + delete d->m_oldModel; + d->m_oldModel = model; + d->m_oldTocExpandedIndexes = list; +} + +bool TOCModel::hasOldModelData() const +{ + return (d->m_oldModel != nullptr); +} + +TOCModel *TOCModel::clearOldModelData() const +{ + TOCModel *oldModel = d->m_oldModel; + d->m_oldModel = nullptr; + d->m_oldTocExpandedIndexes.clear(); + return oldModel; +} + +QString TOCModel::externalFileNameForIndex(const QModelIndex &index) const +{ + if (!index.isValid()) { + return QString(); + } + + const TOCItem *item = static_cast(index.internalPointer()); + return item->extFileName; +} + +Okular::DocumentViewport TOCModel::viewportForIndex(const QModelIndex &index) const +{ + if (!index.isValid()) { + return Okular::DocumentViewport(); + } + + const TOCItem *item = static_cast(index.internalPointer()); + return item->viewport; +} + +QString TOCModel::urlForIndex(const QModelIndex &index) const +{ + if (!index.isValid()) { + return QString(); + } + + const TOCItem *item = static_cast(index.internalPointer()); + return item->url; +} + +bool TOCModel::checkequality(const TOCModel *model, const QModelIndex &parentA, const QModelIndex &parentB) const +{ + if (rowCount(parentA) != model->rowCount(parentB)) { + return false; + } + for (int i = 0; i < rowCount(parentA); i++) { + QModelIndex indxA = index(i, 0, parentA); + QModelIndex indxB = model->index(i, 0, parentB); + if (indxA.data() != indxB.data()) { + return false; + } + if (hasChildren(indxA) != model->hasChildren(indxB)) { + return false; + } + if (!checkequality(model, indxA, indxB)) { + return false; + } + } + return true; +} +#include "moc_tocmodel.cpp" diff --git a/gui/tocmodel.h b/gui/tocmodel.h new file mode 100644 index 0000000..d14f0ca --- /dev/null +++ b/gui/tocmodel.h @@ -0,0 +1,75 @@ +/* + SPDX-FileCopyrightText: 2007 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef TOCMODEL_H +#define TOCMODEL_H + +#include +#include + +namespace Okular +{ +class Document; +class DocumentSynopsis; +class DocumentViewport; +} + +class TOCModelPrivate; + +class TOCModel : public QAbstractItemModel +{ + Q_OBJECT + /** + * How many items are in this model, useful for QML + */ + Q_PROPERTY(int count READ count NOTIFY countChanged) + +public: + enum Roles { PageRole = 0x000f0001, PageLabelRole, HighlightRole, HighlightedParentRole }; + + explicit TOCModel(Okular::Document *document, QObject *parent = nullptr); + ~TOCModel() override; + + // reimplementations from QAbstractItemModel + QHash roleNames() const override; + int columnCount(const QModelIndex &parent = QModelIndex()) const override; + QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override; + bool hasChildren(const QModelIndex &parent = QModelIndex()) const override; + QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override; + QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const override; + QModelIndex parent(const QModelIndex &index) const override; + int rowCount(const QModelIndex &parent = QModelIndex()) const override; + + void fill(const Okular::DocumentSynopsis *toc); + void clear(); + void setCurrentViewport(const Okular::DocumentViewport &viewport); + + bool isEmpty() const; + bool equals(const TOCModel *model) const; + void setOldModelData(TOCModel *model, const QList &list); + bool hasOldModelData() const; + TOCModel *clearOldModelData() const; + + QString externalFileNameForIndex(const QModelIndex &index) const; + Okular::DocumentViewport viewportForIndex(const QModelIndex &index) const; + QString urlForIndex(const QModelIndex &index) const; + + int count() const + { + return rowCount(); + } + +Q_SIGNALS: + void countChanged(); + +private: + // storage + friend class TOCModelPrivate; + TOCModelPrivate *const d; + bool checkequality(const TOCModel *model, const QModelIndex &parentA = QModelIndex(), const QModelIndex &parentB = QModelIndex()) const; +}; + +#endif diff --git a/hooks/pre-commit b/hooks/pre-commit new file mode 100755 index 0000000..6337bbb --- /dev/null +++ b/hooks/pre-commit @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +readonly output=$(git clang-format -v --diff) + +if [[ "$output" == *"no modified files to format"* ]]; then exit 0; fi +if [[ "$output" == *"clang-format did not modify any files"* ]]; then exit 0; fi + +echo "ERROR: you need to run git clang-format on your commit" +echo " git clang-format -f is potentially what you want" +exit 1 diff --git a/icons/128-apps-okular.png b/icons/128-apps-okular.png new file mode 100644 index 0000000000000000000000000000000000000000..6bd2cda63de4b51d4721709e0bbf922a50ae8d2a GIT binary patch literal 11390 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 literal 0 HcmV?d00001 diff --git a/icons/310-apps-okular.png b/icons/310-apps-okular.png new file mode 100644 index 0000000000000000000000000000000000000000..ac4a8c83473e9cd703337583820a7afefddc7e3b GIT binary patch literal 41485 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

P@`z+ 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 literal 0 HcmV?d00001 diff --git a/icons/44-apps-okular.png b/icons/44-apps-okular.png new file mode 100644 index 0000000000000000000000000000000000000000..08b25cb1cb12353b66fce7f1ef6280c49999f4de GIT binary patch literal 3004 zcmV;t3q$mYP)6A?A6c+-CCkc_0kPb9T(->^W zv9V?2*pcP+>aNw^P9JP3vMgVcp>+Cr&YZJ5M|*zfzu))iJ2LQpX4E&m;0GUk5ac-S zTY*5}QLEK@o5^HyUcP+!Gn>t~==FNXAHPV`M=xfPlCl6HxUZgt-DoMomP42JCX>nbwE>?!dv=xCY<`I2 zxHgl?bc?}YaHy(EYnld%qCg12rDzWC_N74x0SJLf5A5Gyhfb$k5V#ClcjU;C+uGXN zF5NKji4!Mw`ThPES(d%sU@*7<(2Ak}08~{)!T+wq=d5(yT1)!Nnl<14VTOH1D0j)2jG!qnU-a__}~JhPNyrjlOrO&6y#ZTHP{#mkFBxK znX{a>V#SJwmV&JaJUu=AUirOBu!Zq^S29IcAcUZ`-U3EXFAI{Uug`Nh9Loy4c`hLc z!pAgCLsiw89hCu=j=zkn7){Koiy7ei8f_JQx7;NPLKKW;*<}UZJcak}-J1X)6<`aC zR02OWk^vzaKr|4dq1r-YeYJT(MHkxyMNzsVM~>Wf!@vL_%ko4e(9&xH3ZY1*=n5bN zyBckvZydDPW&`iWfs@JPC*=#31N2Wzn9eG5{kOqB=PfJ+2w=|j%9Sf0zA0dy=l@m- zvJ}35N}2;}&;hGG<|S1vhb(PQr*p}`tN6tckH=5ZG(G3xLyUNZ11 z0t0{~NfV2`-h`-JSC|m^tjvPymV%Z-miC3_@p!&-Q^3h&^2|a3M^O~=idtL*gurWI z7WC0lpwdTL;QZ%3>=*-OZlCc!L5?o;nU=DC+&jkKGsoZi? z!0~we)MC-@;|xW0K?riPwjk_ctpF`4DqcHz1p`xA(@g;{7I+jzA?P##AjQ9AUMYTd zDcEvl0pJhkhA}2&(K8;W-hco7+iw^c07Ow7UkLctYU><@KOavn>azvN@}3ZabAwZO zvugl^Xt)wh!QuAqzA0dy=g%$#{NOqd7@C@e2L3q`hgLzorQk=WGkEc@7oaL4ph|F? zXt>8{Pv?y!KxVqj2hP16zspvhFnr`HZ(N+*tq zzM4euwIl%Gwa@@I*4R+vxE?p9;IUW?gM)*hC<-xR#oL#XP)z~QRvqqY@?rn>dgyh4 zBuU0lD0I)kg9i`P)zvY%T<*}zFTZ>g<@A*-9*>JOO&d##?o#l{w1gkO`#JifDG;K; zZDH_>-K%j|W7Uj*1IXoa=;`T!EGy7CYw+oK79)HHvZBJlGI(%902^u?kR%D&Y!(v} z6F7J7+(m|ATAWU2qPx5MsaIcp_2Xp$PfSbB{4q{W$nex<{R zTYMZ=ax~1TF?^-jK$$owss>rr5U{hjtHFgTDh)-Jkw_$9u~?w0D$?mRy1TnSk|b&J zg%@6U9zX&BS<)qdnZV;XuD;wIN=>h$@RNHQ@WXAjIQJ!wvx6~QONbboO299s(4+Ta zdy@|qMvodh1ARJ%{=P5J`R86FlS%B^vj-N71y-vS27>|B)zy$B$@9r4pNs*p17H9M z0OTcs$H&Jzg2CWEQ4}Fb5>lyD(I<^YBPs=K54LVFsW$~pnf;+d| ziC{2@k&zMf^Ro zrq0gJXyJh-lL~=eNo<}ekL@*dcZEY=Lu^2i!I^b|PAP53z zng+u#Sg~RSa=9GB;V`qYbQC<#0{~X7T7|m0I;7L-vBt*6^Bl(=J%0T7pN<_n zmY)aw%rnn4Zr!@|sqNdh|7-2qwKPrBOfs2#on={X0anvAOiWB*XlMxi{rxy~>J&U4 z54yU#psFfpnnqn+9ky=Wist5K7z_q9Ha5cPbQaf9RTYvXL6RioaybZsfbQ;Y#9}c_ zPEH~m4nq`0=yW>xd_JsQyEfg>&`>i6_>DK-*sa&=*X-N3ug7dQdjQC)s>%Zc1MP`K zVtXVK!SL`fhKGkC2m(Y=oH>2;_v7xn?*;%o{q)n=ym@mGB%jZtr>6%1K+`nzdOc{G z1|bBQOs1I1^7%Zfs;c1idf|4vp=lZp960csD_5>0bvoS^LWp&2Z0ymZ4?p+Zb9LEl zc1L@A`zb|Hf{{qXIx#V^OOmAZ;c%Gi>+6Ht?S{wWK_C!7I-N!;m4esnMSFWYR<2x$ zmX;P6jYdSH(IS}DYQ=^P8!$LHh+Hm*R4N5g6d}tp7>0qtV1Uo(gWvCm&1M6~aYdJV z;DHB7C=~knETRE`st154o_OL`yWRe4nx=a$UcC5AmSvk5hB0WGc1=-~&K)~;gdczW z@k3|MoWaSHC&BYPnwpw$;J^X+{eCElf}x=y0D#$ShRI}_`6*yFo3Jd4b?ep@K@~*- zP1B%h8U}*_CR62#vbMH%UCE^k%w!4kwr$&v1Ofq1KA&HsD9U+F(>gRwOZff%jG`#Y zg$ox}A3Ju8^!N8uE|&`j4<1A?7(_0YgD8sl>Z`9%UtbTFWnr~i=hYFwObTQe2EhE% zvV3mAYHDf%PN&l@2tuN8PY)p5+1YvL@bECz-roMR)2B~&?b)-3qiI^pX0uc%6x!X} z+xw&-2-KD>Td;fgZm6n?WHO0-K96WLirU&*uq-<#sFq`eQnb>20Ls;?R|SfqR$%6v zt_X~yM~_|uUNbiVV>J7@Fx{HW1r9GSD3k}(57 zd+DW@9-t`dyF)`mt&vEiNtWfb*=&COjyvwC*|KHJKANUsv)K>`1W;XFjjF0D==J)F zhsweR78>hxI+92vqJ4dRT^$`Ae>r^k@Ohr+uK`dOd@JQQR*deO-)9(+x<~I9=}(Tq%of7pG_nZVE{=0N;aDn4F-b|n17U?cVyQzC6mca z#pCgCBocWqo6R0?YiqlDBXE_hn1@?iTlML5`tO1u+$%}az|_>#v#C_-0)T8`PCA{Q za5x^7UN>3_2LGVMQHUw-tcK|)eUC}RvkJ5mH~#d{K!s;;FH8|pe3NE53j zwfloV_S7mg38_V$s)AM!+E!=>RM62u2!SLdgd~KJ2YEnDg6;VIv-h2=T;#=%*qzD_ zT-}@B>we$4-#PbT75yJAAt6Df)9K>kVJej>fiGoeXS=$)yPatJDGGa<1XRh%$#F0N z7Dcyi-MWk|Teegb6&2N|q@>gsjmD~xk&)l6UAy+E)oS%p6sG>Rz$PUnsRBH!TfBI2 z>RWHURa0DCyaYsQ4F*FsykF?|`xAXWAF<(C!h0+5+Q&rnGzbLCK&@8mHf-2ndgqb4g+9kQkm4z9`VgOA*5kT1_aEwYIfyJmbMCAAu2n5Su>(;HA8#ivO%FoZQ z(;JL6pWjzik2&KDj!n6>!yPWlHLB>jMOyNDy$q1SN&+Ekj7&Ksl{7UqWr-#Z)Un85 z`SRsyyLa!dEhs3cLr1lViHVCf8cjYtsZ|t(&JMchqgylR*8imMpEhKWPAx#o5|IE1 zro8dS8zpbQ{r0Ha?T(!Q0!gjaYLgIPnVU9ks)RS{K%@>}s{yviE#HrtfC^RzgDk(sw|%h^P`&rwd&S$fZ99o}2>|KaL zLEuq~G6nCSx$9u?v&BaZ3w2bSrsexF7o=1UWG%sBCE)Mr>9IMT&OWr~1uyH*2OQ+~ z`UH5IEgQ>|14#yrSfm0OmsM9+C-I=fN`OJQ91cfkwBQxLip~z$C3sPr^zpPj&mfE&d$zu z1d%@+fihE~(7#+pI6MkjT}srlfrV^;(lUqT1U@W@35$dF9BU=J+sn%m5l@9#>AbW~4j0Jr6v42qQ@#4?s|{G6*M(eF z0%(RoLtosUd=kv}%y!!TOfK((=LIioIEhBbC+PQozeb()@|o z!uG%^?f358^TkAfSEM*~_zt#sP2pCQh3SbjH07W^NQW`Gy$Vg*T(qXlM6j@+d3$>2 z&K;VVn4lYjX8O%nBQ)YlAZHvVLYf)8DG2AE!vWlPncyWL}ZW+cXc!iwu(-LWOZ8p{C1DsJqYLA`%-Puq2^emck zV>2{vAqVuX0C=&a)?b zw6xS)w{D%q(aN$A;DdYr}Nz_5_VRc5pTkKuU}XWoU`4>SU_QNhY=hNm?p3 z=_$=;rH4cPG(0>+D^{%FK6n{HNS}n`96}7(R6(fG8DQWOg%=9ExLW)c|^KxA^9?)3K1%`;u} z;K2h1Nu{NwynrLUUN2Xqf;{AA#GzX8=;&x1t7;bf{4pSx)@HN0BR4l!3@zFWUL0s) zhUCtKr$CSk#|;e*4${ob40{r~c96$5N;o#hLeE2eH=79)Bt3liP&^A+P*qhGm6et8 zX$0X&k>$e~kiW}q@mzg<{Y!|Q&p3=`3HYNTfK5dOj#_d6j<xgEsHRe&8D8e;E@OoOul{#!`l*=L_6 z{BR*Oj+DsWmR{!j;(csog`D6p>g(%c=?FX2$@j9wKzV`2Novv5dD?> z7Xh4$7GTJJ)YR1UPn{S4}8};`G1_p$85m4-D_LArnD_2oAZ{AFJm+%et z7=z}if0CLpc_{+m;fX^tOd1B7J3^5R&LMCJRb=<_b#I|+yUb~b)pg1~F9y{5s?ZUIo<12o~G zReZ{gTZyP|qcqpl)Lh-UbLU>@Ty^^NX$B_%tY5#LR;^maoeD4@&9kil46=d2&ZIf( za5CUgWAbu_=IiWf1}xfgzL5qpDJGLCeRf3MoI7L|V$b~zT5W=ktsu}1FY-?8&j2wA z03Li$fn17_1r($}HD`{MD_0VJnc>bDumFNsVXX@g&}q<;ngK~-GRMpN^BD+fuqw?( z`qgq84P4Ce(2iWWa^)OS9eeX|5v2JB(s`LGt8#iAkLN1DFY4ub>jq0(sln{U2ZgbC$m0DJWL=bz63AT8Qk z5V+egGI7WzQ&?W71$GRN2oFMn>~)S0mO`YBOW1p|mfuF(JvKJh-_g<0cIwor*0X2N zwnIX#Q?Nh+veuy_?BBnCBlPynkt0X`l97>d5Z>K}*ihi@KkeDG#{TO*efDa zU{u)a?0s=f1~@Dd;EWaR{iPnkY`};AijS^`*DWBhXMBA863+(+ZWAVye;HwNx}SRvijG1N zkoN>w0P2DyJNoF(%`XyM*nhdu4%P+q)1EY)e%^N0`1AvDF8!G|s^e{g7 zB0N8hj$cQBUc_Y{PDQT4as4I&b*Yqq^ejed5bKjJUb$kfXnX(t_d79K)41nE@t`Pp zH`CQulwiaXD;YWujo|sdQqc!(G4Mzw0g+cD{$48QNnwZm>GruDnpA3%I z_c^Jid3q}&d-;yX@DO4Qi`NVznGJn4sKXWCrFwJv_h`hqd$Z5QK;Nsk)xQ>pge$TO zTS-&Nm}#t+-XIpEyx$!#sAMLcJpWvg{q=p(d$1mp0LLNa#jBg%4|pV*dAcI^$>p*C zq8QPW5uJcynae`2RG4bxG97_LC#q3#L`>_Ifm|&TK9O5>M zyw3vVqzVt_VOBfzkT#FqX@U3+@|+a9rBz_4E#)U5*nbS6R5^UI;7iWss)F3dT)gNf zb`meJfy$((9wcA|`}2*ot4w+{LLjgHr)VHvZakYOXCX4Wim!LD8h)S#=)*4k_$G_K`P zK;FVbnGpf3@-Wh;GQa!D;0hzeIWt>LRz@Zrvnz<%4Y~wBZto_)BJJHiH8s^^*&U4% zugZ^7h-T;h$S8jca-RhjDP#|ez0awXD3-W6((MmxV@Wza?%rIh!3;2pT_ z{E+-qXtH~qlSK&@Y|nFZ~wT& zg<1qAOVF&oxO;cf$;J3n_F97V3cs)?ETZYQJM;s zj=H^@xyh`f(|?WYOqdl12Z#4oWj$&o`{IGqR;|s=k-53KfrF;T#up$~h7TtoM(*Fl zB;I`?euL!k>lPKLArgAA#2nON7mJ1GJIV)@qgHvezn%Qs(l$?qvSdw+jXOIOT_tN> zW&>daj0hT1v}kPRvzKp>-OsC`fB-ehJtpyQALaDS>{I%W47r``S{IwPUV)VR>@9DU z*3Z9+a`|{b%Z2Wl!60vG4@s#-{)6*Z^L^a^v+N1<^sK>%2O1|PCY~}P!o$PY`u&$h zLg7pLflJDyaqzV?U*~B&2uYG7g_Ak%U*;}-)x zzCs`dLHb(59IUitFMg@qPlDtqVPQ%P0rMrjo%q7-M=fn?`fS>>J1bMfn0n>`b6Z$E z*n7uiPA)%nnm2hR*i&WR~{*OZQS98j)UlU zYT=G0^<`6j{Iv9RnQHLOgM5wjN6*nrS})wDz6)^wAi{m0^8EYKmH7shk@&=-dttlr#o3>xEnkS{ zZTOYdN7U~%Ll7J)*nM%xs~o2E4L?#ngv44K?k_S)na~&}+OK#XZ~xlRE``nYbBM9u zIlXGeiACl+%k#lUtS+(oxU$vf4!h(ZRJd<5KC0wFW^lhXa8>Jw{@C2? z$crx>z3XoCB%G2Pi%bHX$0r8jWe|2fq7RugbX@h0CGZX}LR$&<+zZIVmhbT5Gu_6{ zU!aWJ)vec?#I5;i+z*-9y_$IoB}Th?piN6x*N-%|~H z6K~(XbpT_Fvm*+vG{IQbFPDm_u9N3~sOPJzXlFCGhyy3%S!AIp4k49QUGY6E^jb8F|p`KzSKcb|q2`YT=?UH#V>%q)&vA zuH_(Jvjh8Ef+zu2S!$xGk+ z`k08+54XMv{yG_=+v!{Lk#@I%W;O?M9J*w9sPOT&9LgtO((a}!*eatENmNXiefaPp z5CC1Gn`i*4cYE03Rh*tYd9wRmYHJEP_u|qOf6Un|d?@=)C^-;x)IeWfUqW^ddVb!z z8F|Ph?e0rHDJv)7BFL9aMZL|(5u=4T1iw7ea5iQ><_;R7Cv&evhgrYKe1 zM90&g!WG-kXKH^*rc*cLyV3XJlC1akjNjJBleteX?$tU?dVK>kp?i9I)QRTiKZD6M z1jjSqcI)JS?a6Q-D)l_>mgsw0LD`yL#o9qgbi}cKN?kGkH04zhyFZ5+FqaP2T%uU~ z<<`2deD?(6GrDm=OuANX~KD2D2trKFV&dcrpJ4lG-U9_OqtSOfbA7eJE z+y!4vj!e1>>uuWe9SqA?%E`3`C(X75ugqo$eymIy(6?&sxCChu*O-4jS^Ko&S=>$y z;b(uuQ@MAga+KGj6*rHCNuX7HBT$dGfVMZW>viBCmpeL?&XBD_EacM`_n6!@^+Zw2 zX{Bw#JxBR!i?0h*&5CZ<{ns!!;=OdimnJyVgbih_-qc5HdL)DK=&{i)VIo^R4z+f- z*(-zA@~B3)j#L%daj$ebtm&xaNJAC}WQsq8!+Ts79YQ~JjaZ_YB;EcwMP-X$#SFPd zF(lbVfS~}&dLJntmbHk4t^k+p43Vf*5Q{GRjddP11LBNXn( zK76TQMYSU=n@TE!?6E15`E0uBS-wJ>FqaeLCp}hh9V%OwQyj=$W||uwR?7L=6APv_ zgsse&v<=xV?;L-)&@3WowR|<4r637O(oNb1N3}SO-AqUr!3)&soxMV|$F_cqcYuOXJR!M4ts|19ibCjzF&I(}EBiHxn}Vh-Q!X7C z^y*#zjVP|p357TMs2wUfh@+`oP^feI(ma){&iC#_q8;dGR9GWgvG^u;N+ekaKYkxJ ziW`G%E5!n>H*8f0zh>Ne`BPn*e%F@B9lwzCKH#sLa$5+35tdFj`|P3VdorkG1FQ?z zJ{TwH1f<(JOZS_i}LnQlS>~*h8_O{^ONla z8O=l9!6CQx!Ha=sA0!2St_emtJG^%uQJW`39Q~d|urwAT85IUkR79Q5S#(ayH&1_G zr@@Qnv4;(?Vfp^kiY4c=srsR+s_Mk!Oz!vj_F{zSr3LroCdd2biptg%Is+vN@vWc2 z!^Jghj|I18Cg6POMT$e`(wG!R`67&=SLwbS2m(kDzu8^`bYHLG4kQZY@k4)YS-qi4}T$0fUHg)|Iu*>H14)X=9iEe}gQ)~T3+4V=^#W2IIl z1Q8>>`^B^Mw5auz^XpOR2QH=HYN%Zh&IV4CwN9s~EjZ@qSWlq2`KMEH*}GQ_^&F9@lnA*dg`4UKizjtnzk^^!y!zmVbw90baJM^cnD~cXAy!nS-Qk>j1JU z2tEE-OwPSglZNiE)Fm3b3sma{j`AYN4AhUAt?_%Rhq_T)ySg3aJy2xCmdWR(U6-wY zNcm3~(@5FPSkd{!e(}AKPL=g z-IG|Hoj!c{&?B|g>|PbO8M7aULXY)i=o}2|u0fxr!p}ZSn|LREY!^}pXMqGRrl{9@ zYEHGD993LEVmFbMQKnLSQ*qNgwR$Bta>DT|IF<->iw3`#gfBbEa}Rx~QbMl2{)aj|eYn0P{2g*?_Zc^z!WJIrpf9 zEeblKd45gy1E%HWy%K$WK93M~@k0|J%84V9{TO66R(tE1KwMqL##N`8X2~a&E4niL z*vax#E|EGubf3cCL;)W&A{Ya`C_CkX*VzHPJ1nx-ag?pp#? z#fA9>(aw}u=eKbRaGr^4{#qDyF~3#ka2wRX-zJNOcP^}-f%unfcSF1kb{{aSGi3r| z75MB`Ph#(J@JhD_^;3pXb)mNQ_^pYg=y*`XUB$-p@#xow?LdcZoo8R!rvwc24=L%?D*jKD*S2TRBWr=; z7BJ=v!LsquWTWTCu&vzL_#NSR6cX8d;N+iBm|swOrJ(l1Aj~Eev)7|qU#+M?VqrL%@8TR6g>Ukx}L{l62qNZH{SC^iMY;=7vdaOZDO4u3rbu{t#T=2_eA zQH*wpbDhSIA5Zapv7OrarVn^tq-L`!6Sb+wf;sNq3VXY`cHKQGDXFF(>XbB_2U9Y| zxMXB@uQjaCk_^PT4#ah*1=BYgBo!2Ae%X$wBX8L1b(Ro_?LlgRO4_JxS$7rPAqdkI-$l z?&q6+j9r{no98)r(OqkH#J!h^f{u*d?(C-hH`_SZm9)J1lsN|lpjJEP@5Lc+eSYqR zcVUhsGt6#0*5Q$DC06S(s#yRvru2B-0d}I7WrT%Jm3-|k%ycb(>hAf3M8qCnpls`W zPMKXGQI^^U_gBMI$z`2h#+u^WB=vun0_6v9fv|+W9*0<+M(VPpa$m_zHj>ab&lmT6 zx2No)vV6YjD!H>NeQYA%jOt=^X?8vOGaXvzJngF<-;dEA8W-L&Jhk8wdbw0T~BcGF2k!c`Fu_kN4xj zD&k*{fmNvK@zA5nG^Ax2L~h$WDP%qp=5im2?p0G)Jp^g+sG7PuNEakemzd3lpk5!< z2_vJ?yS&?vy9I@vf(})t{62`>yczDHO#H&PyGvR6sfRnpb>yT-)LONA=?+eQiaH{# z*_Du>l*sS^)L5%Zx>AJE(cxjwOqMom`l82N2aMZ$1$1|&FG+8=RWyNaN*<`~rY>`g z59u$zR%6>kWaQuG6rckf0~H+h5*AWll>+km+># z=%vg3dO~6RBz1l`F{WgvSJFJm*F^oY2xPo2>r4tVwCPJ&7hNNg-N3F3h8^lwV}j6 z?(Uc*u1h#}AkI9Xj!MdG30D31RW9J*$@LQwrQm`qR|C2C;GyTT78@Vhd2>6T+wDNABv*X5Cxc^pSiYXTe8cHh zR_f`fVDX%wi7~#}mx>t{b8?;?SR0yus2-Dra$r+i5&UIIay$w9eL~@ht#ZPWD+-_f z?#-c~*u;?fKj6Og>8cY1@yY6I7LS|Qn&!0|2g#F#Xa+=ha!;VWJ#mtN@jCp4NybVE zk6%I|<8>}RK4F5M zASFw^K;or1`8S2-TtCDGwI?7H>-ahn(Eatm)1<()q*CPS zJvraW3d?Ti3DD7u0!d<%tFN!`8Eddq4xp@F#EbvT-GWZ#N!p%oSeoIOT{KNUh6>O| z5^3{;+5K$tw#}DD;3GbOvm~N_%h2-#+T+vkR)&lp=%R#)JYj^SsEJk#*QIf@1nmFF zY*~nwLa%@_TB5KuvBlxg#gn0UG*SR(K2qKlB0aAA}J$E3L0TzA>D zkOAN7M+ zV}S}oO}CcGP%MKM0i`D@9Q5EsDN`{tI$%RiO4cy>Z3g3%r=}-g^}h@9@ijM?x4#UK z-|-r8DEs)(jsBUV1kQ|q5$kmTKOJP6dAoNaqW(X-tInSmP5+f2odVy{%w3c73U$~%e~a~B%?FE`%F~OmzB-=-(j?nkS#Y{E z!URVm(=5z6w#4@Ce3k^l`do{noAm@H8Mym}*3pD#b^X`W3_N!+!2t0Xb97J zo#dvBKKc`j2;VhEHxJ3oi1CkY1%=z%UsUrX^SEyy_bUuLE#ybs-wj@P{4P4C>^#l8 zb2p0adLI5(#8FWoX}NW8;+?ajEz=nGB(+0y{x`@N<{P>6uWvUUArR|0nVk;m{-TS8 z2F$jOB+s$iRbPcPwLA%`T0;n-zCMXAleR@S%-(SBG4<6|=-W}sR?0YvgYOiKA}+C{ zeEP!>@ICeWq~gedzWvukyIw;2&WevF<(2Jw~I{IZ0EPfBlFC@BtOpau3; z0?gc(Esew>@-A@!=)Fuh?N{DL*M+X2PI`+bxFb*?09l;Gr=d5>1m{asYxOaFj~V0Y z1S&b*a#Ui>*h3|EK&E5vuvW40?#~lKQCkwy&D6v5A{^V@93B%sox3o6H2rK=_>Jkw zP(>pH;@3@Kt1i&ohP92hq7U}KuYBd3B9`dO!>;-3+;wZI1AmFB7m=dgnvyd=(#kd@ zvftq%gvZC5qxGV7y1&71R>`O-fEjWoSp?ksZTvi+1bq}z|2rsRF^y>hUTNpPG5lEw zldS*E_n?~q1whXFe$$oVt|t0$(&b2wz@X0Am_y<=UF>(&IBM|#okre|WT_xuDm<9I z)etuNeW(uY`o^BSud(urnLNFof|e4wf$0I*ZiV-Ospt3L7-MQ|cCFRlJ&NtN6bP?( zX#Wzn>^!i>w!|UACq?`}gt2-M-|DO8r1xWqMmx1M%vQfS?>RgMw#9CdPMrH@D`HCAWm#?vN9y?jdg-{f%ZXR=FM{Ji(8YeA5PP>1B{9FrP}&wiRzAapvW^e zg)^OS%KzX?LY0jbe#Wwiu_4UZepkf^X_rvk>6Z8L$z4Dm?=19_sdbf640!FuyuxV$ zYczV2hi+%r4>=;2YV*=ipO%4?D5vnvkGpPdYkG1!A`(uaOLTDPKPyI_#zbJ=*;-{k zv$=&0!r+7a2l+11m#-^HQ#W54Z5flm(~v=Kw~yY|MCawbZtzI93kG3_Z=d>Ob_w2> z*5gjWXeYL;-zE$+xU>XeY+8f(a4I)of~w+l_|jng`V&H^Fj9eRR3Fum2)dRP4ifIJ z#FJv$9~uLB)&IIyXqyCA8$L;EtWeuN_B_?XP(fDV99bzy^;9T*H1!>;VR1;_NURIq zu1nxvs-+>3U6c7eW&PYbbFAnZVlKJx&xbq{y#C1gNdi^5vXv04VuH2-J7KfQ0X62w zYeUE68<~D12i!)#5zCH2PyJZVn;w_mSPq9#cNMOATJVL%O2$~JdpA` z+$32PA`d~-?!>$Rb}gb6P9+~Wz$_aUB5lKe#=7^izkr(SHgLJkg3T!s`1ftswCasU zJgtGHR9#4^<555%f?NuK1`^zhVvwr64th1B44q_%i~Oli9$$!UJzX!d)B!um?!Jv< z;#?VgXS(-hpbhb(cVdgi`HO%lGSTk$L2bElu^F!xt_!<|6Z3Q7i$d$hF)cFq7JunHW7##i({|fr?i=(JN>~!C=*h*xe4=GUbdKACEKF2aiXM1=)brmo0{Q%A zzyQ5M=ewxhka!jKnM!ha$|+nhyLp`_ zaITPHbIh*Hp~CnQ4NH^xB(~CkwNhXYd~mp6d#}*;!{&`RWc{mhcXN~npsUiAXMgFc z*;pp~Ok4H+QfOj_qb@@Tmqp9E{z*7TmC_M7d@nRbwhsws+Q_I7Pw@^H92BxNtXBFB z{qtwSC8M|2;kK@^$mbDqyYGKf%plV+(EZQUS{RNR;q>>>2tnlBU6Fv$4!^y3ov-Hg zb^JHZZp!45t>+m}F=k<%nobaV70IrcKG$yrG9Jc8xYKDvx%I+T?~z~y+e0}4CBesHcI zd&h&GQch=qGvwy_%dBdKRbOCgn>dd+Ci+X~<}Ss+P14$z64G-0RP)3NBR^Bs%dGudV#vLDoMcvAa-2ok?AJ#w%*S~(HmKCd^czUqY z&9b$r37d4jq0G}0wDUu6jZ3YiGZSrW(V+LGx~tjgpTsXgr!FV@@;S%h?T;f@>;c@j zs~BtlR&7|MWNors=HT|17VdfjV4eg@@!@OuNYpF_rGXYLcgmRbpc2n?#YXP;XQ2{w zu3qNb7w@VKC{+N7-NNYHdfL9DC-=6mxOe;0i^ELRg;x%2#+MStyyV^gjiI2y%tGSH zw{V`EXZH}x)BB#+kqR4x{*iaw^R*)rdE0cRl55?g(%ZEY^r{h1zy7h5!uD~{A~T1=kL0FF4ZVXx%Hgv(?= z6INd0fxHwHiE17X4=c3MfJUD4^sNJPhx-zxoP?kM1yTGTK@(ogZ#au5K|-+CXH19S zmgMBMOR5$9L2!?00RC%D+%P)EECwn4$5}EU&an>*{^MEfbjYXzY@@DZ1EZ*-c#1kb z@EE(y=035^vBoJWbOmICJk##BN!z=AOD<>_>!K5gJ12VZ8Wdux$KUMp{1N$gH7<$*YjIG9&@ z@Hbmsz^}4(bh9pUv^_Zt_*T7T$yDR0ul{Iz_4`4+mtTdwr#eNcxbSa;^B9$+DHREBCLmeozqE39U0iGB!_KTPe2FpUtd|LaR?G5x=_QJ-afFqwlvFiB*5E1q96^!W9i&LoWPuO}j;QdyFZ&CF)2HHn-KMARzz z7D5n&2@3Kp#E>(%zo1$-!w4DT^s=)0=@W29Bzv+LUqXkcBGJrAXa$I|d5bu;zhD(o zh3+?fXo7NRFi5{;vrcp7YWUV|>s5tN@#C_wu#c$`W$1*b>H;_mE@O`gS^K)_)^pYZ zClqCPW^NW!#KI5zA6wjy940UWELWGfz}gEn1d<^H=1{svn0#Qn{BZmDL+3m+lfO}( zqkgP^XAk}9wT0u(+3P#IvuN0|LtD>{J@#*|6;LEL13_ZXj##b+#s`Q-`I0y5eM(xn z6@qxH8X7(UCTV+qYtPOzH;)!CgFT0v1bS!L*^vb+Q9ph_E75|cZ`;=kuQ52_MV0rT zxsPaDnSFBPFQqnod5Kxn1!6>Jt)H6gg?QYGFjZrnn(6Ki&0CNNzja8z(uUGuGdp4k z#R~YkWt=vf*%~7>6)}s?i^W>yU%cfz+)4#y4SgZT$&mJAI8_?5L9II(Y47!@-f~uH zbL{!#CZofLL!yNLZ9$~IA-_%M+_DW`O!LNtpul>dp zIzZ|t>n9rKE?>gMx})r#G2v|2!V-SI5JWtpmN+ZuLw7hW!x9;yv1L%$rGysvJ%zK5 za`N6F4%G75m@WroDrWPoI96y2^0NESNG`tU2`7~+ZbofY#x{*XMng1#+W*A~()ftz>a=$pQ>^Ftr+kCcQPy}63PVYlr0T!-PkBRJ zx<8ti`MvG=_`^nWQs-6+>RRWkfmQF;ke*q+y!)XveEiNiEw>*LXk z<<;HDMq(`%>bJW$VTfV}9*LKcQ^57rl&dayDZKb^mOq?>7z<>qhOK5q@AG^YTu5-= zKWvp5dZ~B1lF-x2q+U_7sU&fn{i1UgJ^7vGsws@IRJ^?$hQtDy?yAjZy{C5fNKJ+7 z@i90-f1pQnKWg=mIGSOh5;})V$CNHYPlBIilgNr=#b&IrtX0JY^H{{mvNO=SX1CyT zzf~+0+lA$(^gqRof~@gvL{2;L;v8}ys&H%zZr0%NmD9b z>Lqa8;auymfGVYf1RQj+ z@HGb$c-+wsJeyV1+C36D)FHo)RD8j7{OeBVGYq&RxQE0MkIE1|!j3jLIRgw7(eW{DGppDRS{&Pg?wg_p(p9=iWKL{#|5s+1bW} z0}P@Wqq&xq@@mmk<5x@1EP`r#?(m@AHx*s_<~K4(fu)_G;7`PMg~R8cA!9oVS;C}# zOv2jz;S%UmJ{ml)B-aVZwpE!dw;@LeBG}`_*;lM6{YRK4M$?4>NLX0-U`-Q#Duk3JSdAAGZo@}V&OoY-iRf<-a2Du@im)Yg`R^Io93qGaM6V}=dhDZNslqan<}%OP0-eH=L8OJ$1sZR!iHNsv zP7+?upO`=#x%bN);bTOfzLQk)f|=bm_OWlsr7fX|ouf|QPMBPMt{DaZ>go~GB0LMP z+(XOdzPPxnq9b-YmHZnK0iWW|)2AMn&XBXgzb7CevM!Mk#D8loNbP7ph>Z=ix(+`{vw0qPf5_WxUQehrO|dUq_*ANSdRCcUy2YJ(5646FR@ zDJ5Zc6nQdVph|}!bAiZA)epz zEN7ZQ+;bM{>DG77A(3SR#6I4L&NS)hBWKUVEUVHt)ivjqWnP@vO1ZrI%H3NS9~yy$#N3r4 z;3T80mWlO#rKBz@l5-`9ah(E6&>wT11e%+w6&K3d34GKzNBs^&T;pdp&KJsB^5JKh z_w9D;*y-u-5Y@`aJ~b1`<9@YQlP;mPYV26}w8pijD8j*1*se;DQ8Zd0GMDTD$Q9_j z$spa;Y!p~uC}Dl^zbsX+@p(DkngM;Nc+v|m_K-e-y;z4&`oKoO9SZK=DXM4?Dbl0p zg^ld11c@)Vmv>WAAEbHffQv!XmOxnEERI;tfEzQK(mNehGJcR{1^MTiHtdNY*0#9G z|5V0(SX%&XVAFGZn2SoRC$^GLw?-ZpuaJ$Ek({qP99G|1`D;RxbYim?|3I$qT)d2M zb1a^_dp}oDW;7l;umK^mpHbeWcyE9ccm-@-u$uVLO?oG>oj^X7);dyo;tyU9^qas^ zHn->x5y@tEm=`e|P594>Qmor9iry!8l4J=Wv;G^MEF+>$^w(yA>AyXGejaR6ZaU7nzMDkDcr z0yTDl^a%W4i$(WdpGC)HAPGNw4E`}~)~y{U2WiI0gTaXcXVUnJOp1&45lz51;9i;j z#Cqr*6nTyd%djiCLo*0ok0Un#--~X};@g2lD?T1&xkeDqRmXO6-;L3Dn|Q?air-Kr z)Q+Di8hSM4Kb8!#bPNGh;qARX1r~#*2 zO#O9waR_2)sB@)akc^|}POOFU|2EV7+IRlqxdivmnV2YpT|&gmVOqInVtAO3B=VAal?n{ zoJNiSGG*`9j+xfWzR4D?&L{h0(P^G00g)cxv#g=m_HhFzF6uYr6VHju$?{+6(nd=! z2I;~XC#T+YLu7;dsbgL9IH%FRfVf`$*!}v*Y;yJPmFnqCvdgMTUAjrQh5EqSvJ;YB z@TwKs!oyFK?lu}){$JTyq1E3x^-Cgr{#qGr^Jl7+A)aQh&r1gJL`KUg-ui$_mD!Xo zCA#dv(W8#%T|Yu9L_ckAZhk5%ZF~YVo5Dw+?p`@Xu?z_ zEQWBdtov~xlXrT-<@d+7@!@>ggAW^K7n!A{8Y7-1Th?h5f_IQ??)s(M zua^EN(qN;F$8ZQYVS=0$Z8rZw=->PWNU1W`|803cEh1)xSs(teg(AFcqS&8DsSQips|3B$Z!+ zm<;5^f^wQ(U8Y|156?RgUq7C(<1JNT40u}Ucr$#M=CWy0m(Og#5$FN3i9E#WG;ey9 z4Ih5mTZU#8*y3HTL}~nMi8#radikw8Po$zbWg(>MR0`5%<@Bxdc_oi{mx%TQ{jukK zyDe+#e&XiS!@&o)bomGMeA_U$s0AwSoX=OF1$R1Jdv&W;Ao>!7oJAIN-9!5xjp3qm zR0u*xN2g@w<^$6TYzp;nL1f}>OR0K&Nzp;==T9TPt9}-i($rj@A^g6yJ|;IldYbxx z*LS5b?OehsN44NnJ#ZJAy>~+0&FN?bFX{t;;#iG?K4?(gZ~#YY*<=td3>wpn^^sO% zb|d$>Zeyd+XHVoF+_JKE+2S@s8q$9K%RYa#=KD=X$fPG^YF|&BDmzeoJ+eC_Z^3=y zPd`CauBzoO7Y!bHrt1u(;JO&|-a|u>tsANL0>wVTl^RZC{)Ha>yo`w3xAdrrGAwEE ztu-AZZQqrZmcMvXIB5fM*1ibQa~y>hlqG$sw4u6BEgYWL<@o&cNs%0*@nuy~aBKCZ zN0&2fz=O@~@qKrx{{oc6^pNc+keQ!<^%U6(BXk=*m zFN;ihtk6E(UcRtIh|ukmtPRZ??nuc}>sY)5sVi^A5N_fYPIOT9Ls9Kr&lsrPusIU&2Upr`+@*Tgjr5l#GOyk z|L&mfqif6=9Yl`{!TV9MATx^Fg6h9yqx=(fvu0e~FKwc+ZzLk~#R;I9wtEp5jt3?1 zYNM)!I^rf{{m<){tc?t~?WZ(kXU#n=yVB>(KjcBgWb|c36o%lAY_VQV2_x1u%`vDR zi6O=oNvU(nvNn|xVEivJ)Rgo`05U!Y$#q|`_R+p~7bkb(7AK@=w5cJ&f0X@O4ZFOl zu{q&L^@JB{7{7G7;*)mK)*x`mM{K~h8x??cUGwiSv`fmc;GHJRzP~Akyq@7P)Y3t zL{5{qneSj=lb&%V&QRd$uwtTECjI1Udq?@{5~~_$l`hV~W$-ZL3FOTWJ z-?@|SBk9nk(59Zc|G7kfm7n`B-Htbw1VXZo$SHz(#SevEpA-Im*WU z>3o*NX|jWXP}!l0KnPp zl_~+Lb)ZPOui)?45ltAJnR;ElTS7QeHpp#oi^^YwJxT=d_L59h6bmlLP9uRfy{g^@ zs0sTWZ*2%p5K3(ca@j94UEU0f`)WaWccb|W`KC=CkL!UrN;S8z^fnQ2ZN&og8(8nH zmWx~{@v~~KA@jEGg&U6P(ForfeXNH0R)9H?zuZLkPd*J6qg(UoZeuQce5ZP#|mwK zG>H@EPKCBw=Tn3G3sGEvyA^9;5(0eYf#cP4$yTcogpWQ&uNM9Gf{8RuLpn7io1JZU z4&fsW`fKXJ$76QvCY#BM@fDIz2P3+lYd%p2qy|ufqq3XDHGsJweqJj5=Y3@o}%vNgo{uXIC96!*S z(ym9r@ngY(v}s@q4=jrgFZ%MJ1+6Nsi8()|EaAx&h~u5Gy!k>aL#goA zYmI5!CodH*JMiK=X4ZgH;GPVYh!BLp{fPUcSdIBBk}WVZgT6?~QL}sddbEr*D;I`u z#!^Wxk|BO0xfJ}>IyAg07AVy__3SGzUHj1qa&_75jz2fVOE+lnG~~;mLN$u`Kj#S$ z@z=jSA}TBsoE zgZ?jVbPf0UDMn-bN>Vv*36IQ)JU@eiwxOf%A|&NLu#26a56n#J8FkB{xJ4J zvU&$sN~Ea-gG$H!YPN08Sq}_2*mF#;n1w8!7VELBs4TERL0z};vn1z^?fXs}-9>SW zGb_WNXCx5xo41N7tUE9brGM`N5Q!P;=Zp~xJZTQ+YY!@UF|R$@kh)z{M=ABN&sz}} z%}KLfFOEGNFJsEBZDq_0_cEJ4g1s4xzY@#ONt-MCN5! z1cHhEPldK;Gd}s16tS8X7JyOfr_HWG0fh3NGyFpmm5-0&Yo?3u9k8D6{8Kvf=a3A+ zWa<~r7mIc3J)GvRMXI>k`0aNTwsJ!QyLU8LNrQ6O^C*3A&@17Hj4Lm z?REba7Yn;0bO~e#;jKrsWi4MVV766Px^BO@+R?b1;>1|JSM+(*1l&q~7w%nQNu}Nq zoqlujewWieCF~AcR<8t}%~x0U*qU1C7e95GH6*2i@?&3>jg3{OJ#OONNm=QXnx zOsy+|p4ik~*K)+)Q*hKeRFq|e4Al^^J!E2a=F1ABlj5e763|rh6yj<$5M`L8%NV}X z4fKA}Qr!`Ic|^okogd#nB665aKC*$kb2Vj3i7yk}INajrV{|LzChB$I^};W`V=`yEwm4`{b)@4A*Oxra(6tY%t(a4rMs=k>h7(@19Lg(9CDWzfbxZD!*YeDXjZ2;P4y z>hm3oDt?sLZ1Ge29?{yZQbn^9HNbHXO$vz1LYR90L3lP*cUL0y+RU>g#OglQ@@nU97X(M^52R}Kb z)D;Q|n@B442tMdj`p<20Vs!*(Uf zPg4oi`GMt=eYTDxzPqat0VQOUQWjHZOvutmOL*0yGm@|)ih*ON6Z@p{%02aC^+O#x zS@CWKc~6Uux10`SD=;S^%Q!u_Ec+ET2l#3Lm zlpEE;O@Iwguk2L>TCne!BkwAxymxAkZ|tup4MD8s2QhYKbao{*j}BYTfLhLyPxnEj z_Up;*orZcVAHuBGz%jZw1&2C@fhy|0P6Gl;y235Uu@Q{XI0DuYb)h3-CB?(BBMjOR z(Y~WxTJft#rt79IrmvNvT-3GFfZD##PzReIXRj|9*@K%qgG_q~XRMuekIq{ThRo34Z zK7+TPi^0Feui=%d;7~3cruNy1G5<^s#spjQJ)z(rpcJ9i>WHAMa&{}+(Cm11M>O4A z(uvcLy18tlwCQ^;g^)J*sQ?4FfuF+R zf%P&d;_QWSMhg4ek~B>GHE4ZEE)VCg6jTZM>8z7AX7G(nMg2YT>E@Uyvj^EtJmFGtc$x?qnIf9%Ur z=Ict$w|a`4cZ)Xq!E$VT9`dn%uV3e^yww7_y6<}47k4?c2kLBB+zRAi6)Rs*yx`!BYhX$` z6hR(hum10W6pYxO^39@ftcB`%+wQh(Z_(GKEtXq+Mj8>R(|H4z9ZA`*`~0eO*8!)y zY@@N%90U}C&=|xZAt%4&^tC9B*_rQUr4c?`Nv&_WWj1#b5XD!zMe{txZq3j--U3CN)5E}If5s|iz9n4W}5 zddEZTk1zlb%eg_WJp0m?&FrIcErBv4M5G~Gk_L}z@HtOUK&*u*Kd#*Pu3`_Z60~_^ zSETJ|)K_AFx3AavsTL6fF)E7(#}8nIh?^A(@sFoF3`R4Ii`<-(ptuq0eDnu%0Rn$QYNweQo)KmC zC=7>YQSV~)p?K5+uiEJ6r1MRkR(M-H4N@W{B}g|SAzji9(y{bC`+fiKx%cv{JV@;OzUR#R zX683@W~xGCuHEi79(Zp~R5KxbzZkv-ghMu&QTrTH8Y^}_jarL80{m-hsZVR-iacfr zlC9-9@p3)Ef)zA;d@dE$r!r+borerkUqM_ zgb)?V+R6hEh;#z7)j(-G*0?kGXpP(nT%z#-3**OeB}s5l37l2`WkF7qwUti3c;Iu* z_lu)!X{Mg@)EJ)_xPlwS#wC-S4Wr{~{<<(hA#1;G7LF){Wsx64wiayINTy(JI8ztm&~9*SD$!$g_F2XAjEfDfRlJsWNPPhf z1rM5B-W+na0n&Q{9glk6pT6P54apQPvHZcOK%Zi*xsduq_Yum?zFVuoBb2XK?<9%h z%PQuBEgt_HoMt-dfAHiFwEjcXT}Qz5hL>HUF~Pz2&0Eizyv=^w_qDgmyE7 zmAp1cefW?__v^+3EA@d1uw4Z|r!=;oRo%<#lxsx<0P7TvnJy_4HDR8=&IS1lE@|XP ztB#$g{&i%H=$}p-%jWA{5k!G$hhcnZ;an0|$N4jq4zB36X!CJUhIp%crFNIhTi~*;PXHm=PMnTn^63 z$8c%6VduK=EteYV8}=kq`(#Ffq9>KlIQ~?#kYbKv{J1z0btMPsZ&ZNtrH*ujI71xz zTP+zOc9?n-hBr0H!)8p*S`_1XksvN$=Z9?YbTOD0Pv+ZL$y4$M+Hu{Zm{9Urd$D_5TvWtmW z7^N;}iQeBx`+#Fv;!&QXEDNHo{u17MD5RvPy0b-#ApNHXI`{}TZ%={RGafD!K&}Ex zBY2qp(TwtO;m50JCUpPp{_w1Y*RQJQi1mM{1#~lCe8^|-A(AG@;i|KpV1D025dT@) zXZ94dg1H`fV`6_uvFJ{qlB^fu6;{6xf4yh033j^kGma!*&_f|BGrFANz-{x#blqf0 zqQUF~anKYaiI;{(df0U#iaOIM$j&O1(ccCwbnjxtk1LMoubwn?i5JxIMJw#cf zO@iJ+LvV%oWoTXTv8%Q9L#{0G#f$XJ%;t?8;NKwVMoiF(12QNAY=<%I#VkZsL!%V$ z8qWSXzKrpJd{oeAZBC%^hDq*#Ezj~N>Yy%AN8pP-`t@~RpTmfSCX}jE;8h4?1O7iJ zDpq%u|M0kGn%vJ~73iJw$0TDxSvU}7bf@lzIYXbRpH1GN(M}!ko;j7*04mHH*_6J= z@RM0oL`JoJ(5*Q!$J`UlvOhhjo3Pn&Xc8qUKT-Kqe@~_PR(%4M2`Fg&&EqM}wG-LEn z>Mfu(9oSRY9Y9z$!d^wQ%jR`3lf@aVybTVyIzE0xD%4&f2kVSkPHzHzY2IezBRW1j zwm<#NDB3?av^jOR!mtGYB(Np<~5oL4W~lfL*)eWz2M8cP=D`HTt*y+O|rfaAM?99pgq zlVu%OhO>o26ij@QBg;g+cFeX{1OILC@&R0kq9OMo7IZ>x+*0bSDlyIsTV;R1)d|_u z!~&C}y6VTL?YTz58T%yNn?-1`*X_;~@|hW&5lZ`OVG8~5APn|*II(cGH<;ym#EA>g z$WwP;?)Cdqg>+%x!Ra*}7}>`fD634rk=O2*X*nDBHYf5oA#LPqa~>=3mVV>2_jiO>~dBmOpyt2dE+JaoK`Y&+qqgHjwIe4 z_LbD%nLPmq(hNUjs+#9B-!S)hTy@a=i%#G;FvjE!kmNbyh`%4$8M%IBsS! zu!3=Dl3U7x5;{9l7q+;H@!B){tn?=wEH6^|y{q&@ zbIHVnrgw@xV;W~uE&GN)!klne6&*5ORMCVh!ms}74b?51=|SklOKx5RHEvp#vhL7g zZnlzlOWxgRrqjXVZY|;Y*8i$d^>0___piv5visgG`Q27qYSr%oc&4;Q&PljP^F(Av zD|g(Wulj`>yW^V{^8qN)Ooal7e?9HA^Xe(X8y`c|WrNUE16osJ!tZ zQUu*;zH59id7##X{W?X-WL+c68@YFe^fDNvkJG`rd#+vm$phfO0gwm&OMu3}H)-=g_+gYL;&X^$H2(V;SV|IM) z{uwnS6bj?Rw-cQwSjp&ko+(2UVXrQ)nLm}!ActstK%}rjC0DmPUg+G_OZbr-3~gTo zs5;m$dgb4sN|)es;{v!+$P5`mZ0zY+oiA2JY*{d|xy~ATU4MF!S-3e?=5S*&7LTe9 zdodHo)5HZROs-M4JoxIGIT2jqmH2aBg0W;yu&Xr2KBV^-M|Zn)A@ieXZ`E*@9ya42 z!Xj<}DQ*k;E&3jMq;}@x$5n0%0u-isUq0KIRe=ss1j?r~qq80GWzA%ynkOYIldJW( zMg`FudMps6mh@4C^kXC;D~DYGd;Ya;I;Stcup4R z?a~AG<5%&!kHZ=^i6Q>tk@f#P%cr%egN3f{C$l!W7-(y{Wuyi5cQ_f1mE#ggL$w^z zR~KsB;^*RZ!4(=rN>5xxX|}vWh0yfCkvy*DiRyQdpOFQ#kCt(p&&T`Q(P#m$r=>^% z2{CN#9Piz6IpqXKc_S0}mp^2;$m$(Zx)ui4ZS@Rw?#A8Yyt+mTB~#;dxqVJ;FLChv@jl2{p z%yH?011@65K8^@HnHasE``Qhw-hcmo82Vg_$QsG-5y{->3-&_CER!{Q$IrWK%Ehf3 z9seD42WhCypT$hRIp5#=t}jYNGo2Z5zsp5E7CUDN`S%i<(ZcV8K)`u79SWWzU3RCM z?eez~g-R@6jhrkIcAt`M6;!hf-Ozr>&`>(l1a)JoGg;Fw`}5eRe-GOzVn2rBl`aa8 zq}-q7SF9YEh#Sn)kJFpO<=b>%FA{2?hYFc1<3NZxO)w}MUz8#Oo4JkYtUTPD?-RCP z85do*9~8`{m1rodLY71YtqLM^FvqB9Sw%wq-njg$ znU`k_@)SYGFbC*9%U?{+h?rgyNg^_ZzQ8ouscC7Y(hJ z52f4iyqA#MC2%ruRzr8mfDpt8zq^d$CqXJVF}Z2X92QNmWAeZTDD!F2yE_MeB>nE` zdgZhZyK{pIcF? z_xj8kHonr?N+|dMX_CPnGOua*zD&9;MX}0f-DqvUwC)q?tY;pE@^r1(Ba$ESlMedK z=q-L5gvk-(KE~2FJ|tKFyg8G1f{_uZOb8J+*Vi}hzK8o!^{yvAfd8R9b3Y#s`PTx& z7zAoSm|Koe%evSyF73Tn0|(-5{E+gs8p`e$pAZX`^6lcV!0ko?2`1GT!|zRUTWANB zxEAh@AbK2w#nVfLOs?^V=eE?*n`St(v90^4Z_wVs=^j@Kt5)6w;=#cf$;I7$eX@$wds};J(=9H=V|_+Y(ujOGFuyL_kO2?o|99T zR9Wu-oG0M{l5Ei&=7lfC(fW2xu&RIHTUn#he9+| zBA-^E1>w88A>y@z;8eJ8oqu+7Y*};)Mr8#5^|#+$f}nlDYWD5X(dgWvu5+$XduGJ> zr*HolWU5iLHoW&c$EnsFC|~J&L_e7+9+QE~^&N;;cKcLq%{2&5Z*?DHblbgyaJi2| z;bx7-&%ZMxgJXEZB!|@(RkZ|<)gP!a8k$&Pt3@#k2bkRLB)G4NEw7f%k9>V=zVOTY zVDL2BzY0jZ+j#2B=dkGtJ-Wz^RASKPd zORU;e;n^#EonpU0BzhUzpr|ZtLMrX;Ll_iWh9~aiV`twLVV)n|Wt(4imo4aod%t4K zMf@%^jbI|juCJgmgd$4<2m8GB9*4JQ`sp(y)?qDi#}Z)R+;5J0K}irWAOAh++>!#W z;{nxk4x;Ctf+;%WlGVSdaZxIoo`$(?ay_0suPD%PCgU>*uZuUM@JY!zu`Rtn!5V-c z+-)hbSA2DT5J4en|HgXnqqxV)pF5{FTqrsezxUOqLGxKj5IArGB&h%y7RtAe0nRg` zu!S z_nPc>L+DWAw%;j3R3ZC%^Xts#!FIog+&TF8E*X3t=I=B9LE=U4g(*Oc0D(zF?4a!5 zle$}jN?ZA9$+PTmG8J{MPz}~Mr7c%1S%N~v$i?qCWW0?MLQ1Jda121pk}p>IcthNT z5=Y&wUZ^Hs`^0D}hETCbDsv3dbU8|OfM9}1j0+t+hiz5+Un6dfj;=d~NiVg}AJ3>h zI`UeOL;OKx5u4L4H^p_Q_@bDW9mH_xIepg@-zy;ge<~9{5Onrb#vgKDG2U$y)B}g; zrFWVV7FBJ}GS!AhiP-hVB|sB|XB5V-2Fhf%sw-9M5bV-FD>lb?uQk>Sx%FyYaMn2{ zkqO5{tsY!u88UaU4vC~F2>-lHRLzEX3_D(`#jZ+z%C7!*CveC6Ee!UGM*G<2+=(aX z?#>Fv+UNSI;4(LO z1P1(+t5J6JZtDnT@VXr-Zwt9GIR_z73h}msDn^d*?--Q`x)w}F3SgO)C;Rp9{rKY#S zmF|2+NqG7uWS}th1!w>algS+1!5;qYg}zkPOa0^R_9#<@bQ{?_%?P@GbzR1Nsql}X zj@o+K*wf;gYC6HkD~`>)?ggWajh>XOJ3;w z)en4Wjc1g%=Dxm1Y3!#5ztRc#vfJ*YMh_0P|0qNBoOw*Z5c*Gj$N6))tWEey(P9TU zJI_@9DB;;aQ>9q^*IY`y9@UM5NYpm^k(7kW;c*uIO;T z8y`pusl%&A+Fmdutj`IfjQ{*NXkt!2di`Hr<) zL{<3J>A|y-QHl{m-hf02FWpPrv%c@l3Dd6N7auZ&hSw1~8{F!&_a0sScn2@?gOhD= zJ@zY$&;K5KrPOLmyn3uQ!?*okEdVPDib!E^5PCV*Z?fgev~qjr+nDDxV}CxHA3FI1 zM%gmva#~rD2a&nJRx(cJ*eyCVS8#n>MOwg;AW`j;(s5U*YVxw~YJc}&x$Gno^fz6! zEz;0I){v& zGp{;HrW|mb0&^0yJjajm3_G0J21xK@E8XfzDC30`5G5gti?RB>SLE`*85z?{eMyjU zZDy2>3?H*pcXGm*vR%e9IW-@VRShq^0<~)qY}<9=W%nwP1MmVaKXjHMFCG|UC1{fyU%ph(Q|!u6ET`Ry;)H#E`mX}?=uev7hW=%<_Zuaa_o`_>Hh z7P*Ppu{_{nu$eBoiH^>@@BNETCT2;PYa87+^C)b7_XkO@?Q(s1pT^6NM)6*Iz8Pw9 zZT54~%NF+eGA#bhZsR&NZQpmNWT!c+Xh%nHdp(zh3$QWDy@>J{6|f* zU;Z6amsyDMpM?e}=jt%Do3ovaB`NKj|wvKh9$Y1%XQ>O z6*RNqID-yn-WYUoj7k#($8IR&!qAbgGOTB>y%VbUAjHsqpXzD*bDSkt6pJy^Rfx{& z!=_1aFSg6u;er0KhKp$&;|sZz#HdDMe_)UhGqy`mcHzF)MYd9+8gQn|c=4Vs`hWM5 zBM9B81jDJCb&PwV^tg-60HtRN78)E(}9Jv$e8k zha#QdkToCfRS&g1L{Y|)Y$*xw=qb}t?w8Tf(=f)I=*uVGpC9pmBhZ|58JTfYCA`M? zlc2BIEYlt5PLXi<)KVX+-0aXzaz53VMV(lLH@x+O)Cd*cv^z5V8?scG6d5 zNsM~)`@Pz+d^;iQv$sdTW!LO>nAyqe;;xRg8ZP-3FONn@Ts#eTJw0{OvU;`G`oE1| z+OqW?BDb}+ibwf*pMTZOK<_~DaH_=?|KV8F?SJs69ywkAvWKRx8U5_+?3Be{y7qq2 zBP>VMwgwyTJUTbGIL4p7fGkAYUK7-nUTg`H87ZZY#HReJ~hqO{+plzihTVG$a=vg-K*ENqOt}p+Ik(W#v=Gw>mNNU zw;K81QyaJ6<}b$B$ayTUJ8@|BA3cxPjV}Dsh670qev)WO z%jZg4-P!eNdQw44 zkLDBO!?Mb=G7z7dX6LI52#ntImytofm^HoEsvc^Mo$r<3NJbtb%fPVhevn(w#R1eI zR(W)%ir7Ot>4_spqA>aW(cEMBb6pE&{shQ;a-67?I!p1~gXmxIUZn8TQ`T zua@U1sU-fIjD)Fg1t~fF=Lxu}xkTCR#Fcp}3$}Kg_)b`L@gUfF{t|v(=;9|9x(q7( zjqB0O^p?+9avx2Gb0LM}-wZtNg#T>8nJuP_;6du%f;eXUzxSVHv$tu22Pk3_%^%b} z+#W=i*$KhR^4N927fF%zb|O~~Lzc(ylE%XS%q!}^qMG-?LKHLdHzceRH=+OYT?QLW zdeZAL3<(`b1M=KU$n1wT%Rgp#MQlR|yf6ItQ51Vdjp%@nP zAW$zNvbVRlvbUG>@e!lM^$C;o8cY&FBI!lwW-tb-2$D8BtqBc;qkyav$jNuzW7d%7 zQk$yk&L9T8C;4gH z6;LU-rbB`6oNOL;E@GEFiHwuH9J-4t7LBE(rb^L&)MVjRVNOtFPI&v{4|qb_;5IAXKzt-A{5bWZkIDs0 z&JA&@%+D=zb9142tn``cGQ@HzgKtofpk1p@d_J`JlDy<{f|NZ4D#`fRXawQ1_~Ej& z5%h+fq?EYm8R{&cm0=~AF;P=r-}z>s28HA|fo8BF|JdK3oHyyjxufX&ZWwgtGc|be zQW)|OX2=@|2}GA^8ce5wvw*e|m)|oe!H|q!o-=1r%o;-p(1L!CC;nWU{r)@sFC%_0 z^9WLOqtghXDm4^-LC(2$x21RH2gmFHriFGKkhI(Hdc&`b(rXAFg`BXeqr0!3y6eOz zDb${rzx>(6HZiThPTiYK<3ru+dreMwVqWYv^XkD^CAloz8|Q6X|4PVH|0gtXA;UZphr<(1CUBdg~@y*cU0w^yM*Yk2g|U!~~Ju z_|fuU0r6od+!7M8pdMHlC!Vq73M~k_?Lv-&gL8Q4jW0*A{Fbch1$I26R6HX)J3B3P zY^TMOS58g@pld65a9MVepw4AUAWCUzX?-Wd68B}Gd*Y3mm6a8yB(bC+h7!|fS`n!A zYo$*R?P!W)X44rcE3^j+dD3G7S%h*2IYC;Eq8;bqZOC}ua!QeJ1*0sUC5`}muhwz@f-T3qBlRjM)XT2&4BiX8k;4}kvnB`bF<+49pbC2D{ekM)Z_uw z?BTHUb60m!YQ_X5vS|5WX*zsqQ*JUH1`U{$ni|gR+?>|4XULNLv*3@zWs$(E-$MHj zZf^pt_Zh4=;X_wK9Ie2m3L%t^P!dIvG1}z`s`Q$GCb1kD3R0w2@Ss`XOGfU8vM&s&4Dwc?T>^gsvj?%!j|}K+J_9a%;40#fJA4u8)LR3lhs&L0l$2dtTdW<+l{T>5-QC}#qk)%~9;)i< z9X7Qce_g?CNE6H1{b_svr0#<({fFLFSco)Cjy?sahleKITs%XTmWe)vpN=v7!)H|4 zF(i66XfC4^W5K%&;T7o*NTvdqmEqRjH-!(TCpILx$+~WCM8Oz?j{p`rvlSUlt7n#6 zgqNKgOzY=(#KfYjs(3z+Sx;a9`QF;wLy5cepifk$BgQP@zy$}O$f&4rSQ7dd(*`&E z=3D*l2f*stff7dGJFq8U@h!zgxBCA&P^m%n7lw{QE2W)~q;p5|YiRr#m0&1qj_qgI zGzc8<7Scfb#0+p?6s&Em+1ZO4Yv11zL9L$p+c%%Dt!(L2)I6U5V=MGnZ`9e2qGpr# zU&Q(tq)q(o@E|Ti*3qjVqY`_hG>|`gsg?A|BuV-jz+rnNSIdWh04T`h0+_3*scHM` znqOFm79AZ;MnNINOCHj15!h`erJ{lbL>8gqm?7Lh@H^mU#0l+!H%iEXm8Rm>U3SDN zv6dHU$^Cw+kO=MHED6&N{7Zg|wGZmQT3f7K0^o$-`hu3sue`k}BO@biutI)Y1<(DJ zXC!R@^$QzC3POj%pN<2Hw1dF49wkcCf0PuZ?ggt}SX9Kr%PZT{+sozNyl{WEl^=VD zJ%HQxq`S=tf?{!joWlXJlYoFjU5StN?#i2+eYl88NJt=SBT|dz$3TdN1^}I_M(D$ zmrM8Rwf?;1Rz@ZF%k|`=^u-%AbMs@xk7Z?Lhn~#&d^=+F(Ob^i|Gr2pIOHj^(24-_;Yrx}M|* zy&e%g_*K~SfMq}!$!Pg1GL2P%RVVD; zuiq)rR+<#VxKM{`C3&-N!eRatdK0Uqew8>5rAib=_)77ZzEZFG(_itD^YHVBuJ(c! zxhCFD#QqJmH*cmf0O&GDL0?1vFy7q@g&P{1#Mv}Bw0?Y{g9Rn7GyXArqqCzT{$P2 zxwx;XT#Su9gLhQa5M^6sodKM3llsRdTyU}pQ$7!(T?(U_4c(nR!Sm6d_x)0;7ZpRD z_<3FH?~Q*!e?rKH1TSxJQI;nrGBWaqZnGD)HV>MNxqv+b5FFdyE(J^i0PU|Ys*uov zr2hU{SXhWDEPQj*8;;?9(tYBLE;{Io`HWUBV9OAW;XWF>x6@(i=ZAxxcjuLkrxXvc zoeqYi%G`qdikr-|R)69zm(R9}-yM84Hg*rRnm4hx|N8?tA>=;dG{9p+Lr0$&CJ>{> z<1}vi@bTlvpmctF&rQ;n!w_Eo`X(ZPLZ6_kC@^K#9}K3z_L7Ko_WZwQ@_%Y`T)+Sk zKYKxAOqJyKreEl|B{9a_7R5L2^qcjCoKbNR@NtssB^0 z2sj_eNz59UbSU}x`EbyqBx1_g3kP_OnVFfus<%ZvcnluN32htpR(^KMh zzNyXyO_QjosCKaPKFVVH`Q(tc?qthuhh?xxWfdEqCZ3u7k|(%d{7X^gXq)@$N8}IE z{?DStaqXs>t;{*FK**0j$E+HqAK;v zfN>D?y%D^%fdoh{8G3nLCjqj{ARM7bl*Q06yBk!U5dv;9Y-z0jPn!@v8N{a{2_SKV z($fb~t9Ufxz_f*Dtgu-=+Z5C67CyoZS!7@mk0loiy|8!aNj`W{5uV7_MDwo~5ivEU z?I0`$yogF(4a}kM+viES|KlJLlHbkw7%{ z^un^TsL!fJlT@ndyf>w3RV&^sIgF)}iGQDue-oNgE$ z*~5nc?WX>n%l^PQ{o|luX~}|E!0MT={T!X`Cu8sd7InH8qjAMN-IKjnB@0@}nRe2s#S%0!H#gxb~^B6{O1 z?LX>s+h3Pl)fUR;YXL?6kXMXrW>G))+>#a_hV3Dm6&vUT`4k5SliKPQwq5S7K||?z zeFKA1T>rI;>!WG&SSkGA>>GHmM2kRmeLXess~!?BL)La-@MSTtb8l&NT$G^puLL!x z*cAVn{lj(9hni^_EUQ{ysZ~m>TTXT!h`PX)<#RmNYJ2qL{`FSFKEXw8X3gIksJh>1 zR4AkiJZ-XGzC{>*6AhJyZFilgT*`bWqCnDdDFyv=bLjv~=arS=)YjG(mz8z*^}zz$ zX~C`om;(L{B7$*oaUtFtNlJpXT&{TBEKR7e-o1S-2O`EFGmz4L@EKOBWL%$$%}p*l zBJjbdt9F={?qRsuLG}CMsKUg1T1=$<`T0PRx|%oV`5BUY6(S+Hx+s0GgT}UX44^PN zZ4HfKFHXbnm5`Z3%V?PUZdv`Tm#3$3<9d>Tu1B+RiYha(h&RW{tsoRpp8b2?Y;wD! zXY$S$M;Vb$5t0EwmI`QTC^ba?#+1Xic5s}EFBPVPeoZRMSD)DT*-Kh#ak+TP# z)6&F#mtAa>H2pqrUaF!IaF$|lmJ&FmW2i?GxKGZ1Y2xzNH<8r|Z2kw>{@=+51uc9_>*xP0ghQNn`+i;M*5jugBh0OA*T*G0sf092(9S#UUk6v`MF!u@z2L$4h`!`uCcwyk==oV=>q0&-;VGK3c|Vl z9o}0)#4r0bCKc#EQoX5eU`SOhS1r)C&($pcv+Xjwa`b)5l$(|?T+oi+KsZ%ZA5}{7 zQ6ix#^RqO3LR4BI%9v#^wbb|cB>VnGj{l%^&>2fI6_(19Ca(Gbkb+M?6!iV8=>OT$ zD1|Cd_Vv$D{}3xo8h1EKA@WQ$_Xe3s1Yk0NcY0S`P=uSoV2UD8@ugFSW6LL|{VRz9rfs%#5WqLHd&EA{u_HVv_W&U0!|3X!HA);MZH<78I%!<6IZ(Epn zVDO7pX2#95WvbD0;z{0yqyGAe(5az=+={SC0@e#^riA0Yz(Cq!BIK9sBw%Qg;$PT@ zUm6f62nMSRlHbPD?3s;|%dEu~pC2>ZE`T9e-7d-wT|DSLJUk5F-nOo1RN~9k?0fwr zRTapGLp=rXZNcq=*dX|iL)e53!ubUt#ZK~UlOH@xyD5H&4kn0_!56?|7#kcMv~9gv z=i0nDPKw*n(o;~Qf&Ix+^*=JYspNGw#L(cJexWE{OT zFf3;llFO7o{Mr4|d;L=CCU$Z7OYkSPhLBwfsoL1u`5VB$?vxZAo{nkA;G+O<0a>>c z5hH=XyK8BQcI8M=SVZLa{CpHR--64jw?B^?@*;})C?q?(z4|r*vi8Qi;txv2pD53w z2b>#omwU7BZ!%d6aC*zeiPeAVo=Y1~Z4`a99{WK5ws%8!zN+DY8R}~!FjY(2)zo=d z22Z$GN|aONGLROJXntg*lKNZOz?a*nP=sq1y8s4BO6>3KTorel1fg8A!+vG{xN3Hv0mjwbD1@nI!%!<%ByZbm3_q8>L?go@Pzm*LJaV;za zwTiygZ4eR;iTp=O4F#>0e^T-i2z%nS`l3?t@q54hac8L$5?cT~8+S2|^}F}4|1@ek1g0w`#1F<1LcPL42>eGKz z7XB{#T}&wz$3pq2n}9ogkTzH{p0RelpuF6HZ;fOcWi73Bk^mp7*xA{cE$+0^l?mqA zsbuzBbo@+w?6jHbW(EKqv@Dc=_Kb)UH%x!5{sp^D&YX)kQc!zN-F})X^LuHAS#r~= z7b6oBAq@=;7oz9W=AnqPnPZm^da1x8+Riy3po88Ru2Wr*Ey= zE){6As~#7PXsW0y@Y(iU_Dc$>Ws$7k@N1JSWE3b(Q+Z-|g?NEz82kU0ZuEqLnz}~@ zPb_$5<|V=#c3boj00dgzZ&psD#^6X&uDp^GjC29Vp0g>F3g03V+;(^J*e3qqRR*l- zQ93`|Vy5e@_d_AH152Cn;W|_(&-0|hmo|D~Zto{nTPSopY<`-A_bc#RgbE`;Fwc{b z*53HJ`t#M#Av|ses)rB5WwM}}yC@Jymd8e_tee|KzHjUOaGCDoI=dM#Ogo@63=be> zheJKk6~%Z_4j!EG<(yvT2(tyrO>PkINf{YsT3T4F{ek$Z$FACZ1IYkfpFq^tnWUJm zD4$PW=~0wHfAwl_+mtZc^TGRY>{BqikMi@)XITq%ewlDT;QVgImc}ud6FxGLKnJ=GE3d z09A}_NgM{4z}=9-neG3LN-4+}swo=c8MY@|sW3n-Vl*sF@yI;5q4s`$@p$I!>n)qn zZM8)P`q*o}WewM|uF3QHBg`an&q0j-#Yb(Eji^%ih=!fd@x0@t+?OaeC6Nyl4Ihc<;(~3=Mwk9)y;>xIoQO%_P}h{W)r9Y2PBK%7UZ+%%OGI0E>Fm%De?W zO0Z*8HMaP*1O*=l5nF|&t>yX0kEOPD`i*OAQ0Yn^ISz3b8J3LKQR@{28M}(P>rySE zUv*1`*ROzBF5)clu02T;hAO=_z*)TAcgsiAEmNBq8r}&0RYdqSD<2i8K{qLOFuz1n zv9PBCCm5d$JCt&DSQrvW3)<6Rqm55ac3AOl;KH2}U${cP;9biSs+o!)#fVVG=t`dJ zTK6VOe=>uq0Dnf$%P*wQO*D^oX~6Ak_l@8A3cUCU8BvAoT3p4*N3E6j6E&!|=gbPU zG7t=uY>5#(@RSk_xiY2g1&2o@MVBT=&|5*NR>AEUTehGmHJ}Z*+eP{f=C$G576xUNa?qnz-flM*~lArCm`H zbYH&Sxw4_0GtC+kZd*$i;%bpu;ih=Ih?Duf<=NdzuC{VRjOU203aph6(Cl9rZr+0r z8He*Cwfj>njvbU@!OS79(~Aqg;<~!YM$pFkJ&C+ z%oK#Q{T75k(kkcv0y+=Gj(ugfMob8dmrlu zkntZrq#CLHR|^0}SYBH>I`)EYE?OXjPfH^|JwG?|^`)kcMR)X?o2vw4yT69NK3?ya zw)J2yk|#YpO~qiBC5j^}{WTEJ*YkzlvOrVcm;8BG!Vxia?}b(n-u@Q*U$K% zjSfQksZkCRtkG>=Z}G)P7B*Mo1UW=?1)uCO{13s%;vvM4<<@Xn`ug#yDRWa(2uUO= z(6UUpduaCgDNr653KGcEkdc#j019ejb94FP`c2FbE+I3XORv ztiNB0Qp6P-1Q_3!Ln)lGC33P^Ldfa@Rsa7Wbz^atgyAtqApE-!NdX?9#G`JyCkwf&Y&64Q^}{{`#^S4fu?}Hw%!2 zfN3%Q?WS#@7Q*RdP~ctf+UB~_^29mRl%Kfw#InfA#)Udq5;rdS^v$T<%=~uCw<|P@ zzs3nk7Fn=xEuASr&l~eTyU0BMxk-WLbG5QcGEh~Vdf=&xEN#K!ua3j6bX*TNxmh8- zUqq+zK16vE1ns7ELsNyo9u3qG+WDPZ`nhhG|JeV+5WLhDfDDp>(+%%fP^5r806d(w zCH^Ny44?*LVq(+Zofw3Lg+Z31va-@2@LWKx&0Tf(9T}Af0TBf_TpmF|!K0s#E56bn z!vgfEd~08&=Fxrz+1rYcY-mJ)-ZTf3o~@s5{s%`tQ{=mBmg^(487kz7Q5|$O*%;#( zNqGg;25zDrF$p+__`3m{`TAq)&kfc!zxqv2AavUmYwoBTO`4 zk{=~@EO&+xz);>^|E*vB>*)7m|K@mB6ndHZS!%$WF+6Cq=&j3iHXrl>lsD9nnZeA@ z%kpy*FN*0|fZb|^^ojY3`(`Kk{RED>_m+L8)zO>6@iOM7+s%9(AClQBed6`-KvyuM zioA`@!WYRjsC)O!m0v)>ug{@=aqY}=>a#YR21uv9d-t?snH%^vG1OuaAV>gY7Z?i< zrc2@;cno_1k1O%%in%DY0>~@^YjNZ2Q7It}0~CyOEf?^8ek!kFwaYv z(rBTVB1p%WBw`D8je0@OF$(x7DcDFYS9fRdY;?54y_tt)%5otDakrYEkSoqL!iyMh zI;%I|TDVjDT`asmoQ0#6k?VL;u}=I{7ytxn%SH2n6bK3a{2>=RFff!)IOymPpYaA6_g5B;hnkp>JKB%sSTj7&p{Bv z!I?Z@S3NT_J|28^<%x}pn+Gzm#ucOhKmgYJ)573;mJ(RiGuZzmB|nQ3fvh6Pp2_DE zn46n#9USzo40Wg=Ty;Vo5D z^7u~{9c>>Pd{{Z`ewjgSAerW?FwAqeSD^cP&+obXxL5xVF`I>lwe#00wH3cYb#da- zuPQTxz z9Jl6a@zn0~%pL>*4bqBk^G@jHh7Ex|J@UfOXxT|3uL=Twvzq(>Nd$n3E63{th^#mx zA$VzRvT54ff!vz+E%>$@eqLtL&Ca(PH}8j%zErjUl$SUL^LRhij^1U&M7q1qN(6~| zFp0>Cr0Ua+kE8E#?`ABA>hkHs=u}P0`_+E&Jqhv9)<%0APwyEYWdCEVIp;C!5?yis zoAjLo4e{`Nh1eCKjv^p+4vG$7bl=}DgV{D>5n#0J3dpb&Iy{rW65|&G9j`LdF;^xc ztG{y-{cIHadNkZOUK^!a&EZJE>PPux^w)S(LuE4GJNAaOV2Ew{A9yDfmDQ0&VTLj0 z7mtcarc8B&(FCFO&J5{U4@^12Rhhwa$GGs&szXN?qv79Z)VbFND3RN4>ud7ylI! zK~a>;>g?bIkPeV~&s_3ijbFB*-<`qs|15-R{58gK3kjyR&Bt^0@A26MBejD1dU!OsaDHar{GUKgN$ej$Fg5XSqV`@(C}K#dh7i8rL!k z*#}}Y&&Zry^*w^(44)0PCN(_KEz6&b!LvJ%tgkr5h>QsFGraorrQ)@X4JNQcZ6H<0 z%)$bIbW8Kcbd7bwtd3*-97v^%yX3KU09S2szdBPGRjO^a)|ThVlRR9AMb(Q+vu;c< z$Q}i78zAfd+lm;h9bg+!=$xPW0Sf{E54>pcX`eoQ%24%U@9@{JU!=Xgz3Ah}?m;i_ zFmo_L(wUxBN;dTwG7BNb;nG94EbOI$$i#p0p<4r>B;vQWI(bf$OUNi9?rfzwkh{0g zq$tQ~k`b=ZRfBm`)KO<%o&f}`-kv@kH>6&)mQD%8?QrTXrov+(PEE;AuHp*ol=s{9|Z}nFn+kGntET}2Sf7R-L1O+LIjI^-h`kU<< z(P!DL8!_VwnG(YAVbFa&%)qhvK|JFtJ3DLulCctZf`GP%(SeGVFYVds=_;s5PznDM z7hy5#$nK%Rp`kl(kSz2#MiaO=L4+CpaUSU?Od~POr_UsJP&CooFuO4To=FtmLKu~# z1t~*Gnv)Y*K#t?T{MblxHF19ay1ojLTHz7iuu7r=S2?K?2+`r^6+w zsMy$5qHH({zy0iIwIs02{5PvuJQ-wXtEbaQ9Y?Av_DN9PsrAIK!-rOs`Ne$4-=a95 zx}~bgOpVttRv&!TMIU^hcxI8>Y1dV@n_lG>jrT^zVL+bA>cRl`@;D_kvm1=yU8;*P6aLzH7-v&&qp;b7}=f%#L~iS6f_@^$`JtB zefRDiB3mAUMfw)>z0YZBp$5Xy1+trOm)f8p{QRh-6n_&gYxX2j*$6X48W~8r1Rh#Y z5aXhfkqm%<=aPM&D954raZV8Iz8XkMt`me4ku$qV&}C~zsz=D#T=(qMz%Jrc4SXO|~9croVxqrT2` zGeV!Z5qshh%cFivK=v%cdjvpiVq8;O+iu6tkf^*ok}HD<6GRq{aOXXD%jP${#HGhEDu;eA|fKN>TC(TtD_nYZ@Mwqpq-ZAErU{z7|YB7nV z$?qMOclo?-fQ?ve;@Uf~yN2K2Lc!ch8W6za1982(@t_p*BnGzvFKxYgJU&h=A(BZ8 zQ&ehO(t&LjA_)pSkY&yK$-}4({e=A`+TiSg<|^ z;53FtA_k<<**Q7Q0Nwzqn}dS`RHY%7u8 z9~LI>heb2U?$1e~8>oQ7w)FHMz(238F%}jUf{Fodetwb+(9}6XK0lc#T-JmZ-~Dfv z*Z$GauU|Lsz&nFlf=G~8%mMrwa8x`<5mf^ZA6$jPehPCD@4-@(U#C&3@YsQZJKcf| zTTp+HHm`egC^NOJpdf#kNXkWgqCwNXIE4 zV?z}U$|jROek5>lbIWgNck63kM*9Sjs%zK?@RP zy5e1lA^mMRCt?e-Boi?<5*)v?nFSRX=KfSK6M%{X z!9NSMGebL0qgP)eJ8&Pyxi$W2S=Q0 z^Ext!yp87I*i%@UKX#v-1J_k_bo7VJevLSB*2$?$HWum+No4&M za6`I3WIfz1nuDT+EpY-A*G_=V*H^`Cd?@+j^>1|Yr+oM@;?zLH%8|3+UO{gzfX9eMEhq|#UxaLetZBCCfFv7s&g z?b*7%zw~_DmmW$vHshx$M%ELyi%}fc@fbF{#{*tAzuSBs?#>_WQ}wT*{%PFeF5Pyt!9_k^?OXcY7Mt zhyI!6jDyYuWPi{LENV1LzNQjqSWoWzpXWinStzURnARi10psZSdahbJwOJeIUv?s< z%Uly6ssUNQo{JsK!J*hs0;7A|J%_wuOp?Ib6})MRt2+QpAxGZE@89iPWsR>ufl@aq z{=!0|DDLLX!at!;7lo8Od!WXA${tfx?hz8lFS~xHyDR*yn!L2W3h9TO;`;r+MRe>V zZF1N_t&UBl`uLM0%iO*hSI0dEg;cm7Sgk^n6-G$k(H=!Xj2m(nw6S5WK~6JYpeHY^ zKa{46HSyF5<`+=Oz~^~sJMnjO`|pA2xvdb6Lin_mD`;3jTLdGStK>TnVIJ><$)*d( z2=@smtADh>t-fD64h$Tk5G3gu-P@!vt+ZB2vP8-0ejLS<=KtAbRASKi?`UD$A5JOs zE|ptq_vLXnN4(@elp^vdJ$j#~n84{&n4oYyFl{+^(rtAjovSz>EVv|#%uGvp{c8N( z*4#|xw>6=7v*=bJQKtIBAN3K#J6}@qJ9M!NM@le$5_4V4m2W$3yW+T~<~2a?j{*W) zTjqoXI(Cy8$(_vSXz7}z{Ve=}bB=8@-)Qb`2^8_uZs!mwTz-ryW*+DgvJG8Y-4I-L z>!>bd5>@_^QCo=prZP_T_sp1n?AEQvy{DlT0|rD);^phXL@y>R0&YM}Qi1sjmMuVX zi@RQl*JxC#a1#@0hhN0~)WUZZq4u~DsLt6Q zmz?uWQw%-Ow3g=60}ttp8*e(q3CvrPPr?m&gHI(XyvnXM9I4lpzGY)ljWtwN!Rag@ zU+HutD;FJ(lAiPMI{G#r;wAO!-`SB3=(=tW-3okgZhl|Ar|Q`8_|_v=lbyfLnZs0k zXZPLuqc>J_lnuU@rOAo~7r%bW6X^4J4w8c`bfRbs#j_g1Wv=r`eFGgk5LZ;`(!SRL zfCc#h0(m}q{P^?12gZzyjE;C_RbU#fg3O|{w3H`!fZ9jCYxK`%0v(2Ft~e#0aVT9} zFNORQ)a3gMIfkt9z0Qsf_>oAFotlc6asH;|!SitbSHheuw|2fR5V?;Qf^OXMEJh!^ zcA}pzi!sO`E9EAD2A%N8;_NIfg5XDjB<||Jw^q`D6U||Ufx4+;uOxAOG_H>s=>5co z2dY8n8@!>Y9E_PXK^(XGi27$yP1#p;Ad1YkXm-yYKleIsqipc?qD&0>Zb)as<&&o4 zecH2>Dt4VUrK{uebmvK(uPWi+UsJ)*)qvmu8yV6354Q|=H7hZM)y$uY2M`whd^b5{ zd^MPZ22DRImyfWAOLdSb$+W0Il9o!3s(Y_jNF^ek^YZhd(AJ*zb?4bn6$D#vrInxk z9O1tF=P&Ey>-*&Nz#%#&=40+MYoZzmXqG}K%$vew&#fG1tBC_0i+z240U^d#z=lt} zxPLNw$MMuIjqYH8_EWbL?akY_IX8Ym#R!Hc zi%$^7-0RJtll2Tp(q zAO*m}f_`mn4OHq@VrfgeUV5#M0a*}AC5meQ6maPe?c(yrP;MLx4uD}rhGn53%);jr zeN((kj@jO=+|<-^Z~QNK+=r}&jRbuHj0=3plJLxxCA5W+^q-&S(^2uC1b6kxw`RFxa|di82RoPgv@V3>Z2DA)XV6t$J4^B5f)EP0`w<;ZknwSY^Isu`JMK9&OO;uP z#$N^>5|w|O0muy>lZu%;4KI~8S4)T_W6sjf-OPgj){6(>m1h>l+ifWZ{9imqo18?S zjF1JhsKL;z5D*{>k`55SBM(%7(oID!pLu5k!sn-TtHi>(Pgx?==r& z1f6~sgr-tI7aQCQ9)H6ekNrRVAA!*Du&jhq2PY@PXIvVkU3$^ue9bmxygIvriKaNS zCz_XcfvK)E0>)&yOYBqxTU`J}6x_V108kl>Dyl4c{)LAek_Yk3>RCIux?CfkKP^2R z=zb+I%uu0F*a{~lD3Hhx%ei3H8`s5+p}U?R?|z1-twW~oQf0zJbC{q1=2_g>)ZniU z+1VPj%o;mUe>ZosOOHpipM6FMD88Er3fKC)4X2eZN!7g@GCPT z@bPZxv-)fNbvx()+=5=ie|OkQD$#_QCV+41On^ptw&FeUAp!T(gJ^>FIIsQk-Tw5z zmArwm-kY>N@9VmBnTf8Tac|w2oHYpMEitbyUZwa3IQ9BKrYfx0{tW3Tz+u4465Nc6 zWgkIT$P_lQvBS^mvu_1He`sU`1Kc%4s##T4`eOw<^Yrr-07(rKmFvGHC_;<+|?zFwkHaj55Z}7TQiR2G&R4fLW8Y~SQc`mheF%cZxS=?;k zd`X&~u|FYj5*sH+6nNNeHCs0vljdBD1IQ9BGVOnz+1+0!{4r%qs4#lGK7e;UH{5hw zEW6)I$HO7J*z}BjiX@}Y((dF?L?NM`|66;wb0+B={vF4ML*l0rC$50vQBqPiH8r6? zU5U~m10d1r^HjwFb~ojd+B}s^YF-6wP-npZY4OmnBATE84pD$I@e)XGO@AYZo zxQjp97*1DEWXt}i2b;%Q;&VxCFF$CJzhGd9zgfRqTagino!DJq&yTud=&AARMiX?#YzSSR}5KlL=7vGj&9mqn_te&mmG z@#O7G@25VW)Wn*t_<|$qDJ)kJYc6_`u4r8*YX3>$vFmr`PWtM)lxv5RN+ z=lPGOg%quT@LcUqU;MvXfc|ue;EM~y%<|D@<=dRI{pDVQ=<(>}=f1h=!@C@q@^Jx~ z>?|`~k4;fV!QCBd2~yw8|05w^06+tf4@m?jzz~3aAS|!SSb^;VM!%MBR%fni`N>`E z_;+N}**Zj+fGm_LbsS%ND~Dgo1&h%^EdlRW6;p+xoQH_^OTJ=^tgG^D+AqGB2gZLs z@ZgJ1K1U#iOX ze);AEY*yd4-MXG(zL2~77)y*VqrJg*yY=8e1f&SCvrkX2?i4S?d}P_LG0pf6;Q4$_ zDHZ5i8Bn6%jVCOO`-G+=e_MZEtC1c(rWht=$m+I{fACI<#qI0Bm2VQ67>O}|z2jMM z{zuQLy14KI&<+ZL@AkrV=4Ed~sjccwWEcYWRNkS94L~(`06TL^H+*)O-5+{HkaLI4~D|!0n$$RMV>kK2QwKZbb(H_HPvtN0oUQ;c4&{=G;BhXxn-OELUw(o|xy|44Zfk)>zp!Z3tm z%!^1BZhi&4nKgA5H}1~X5ypp6IsLch8ddwg-0@|uTvvh_ET1P{+e*8CJo<+ZFsj|@ zPxPH-$4}hci6Jk+cDqpWtWUK;8XNr+-xK1-%P&q3ot-;KwWWd})zSv^HUkZw)T&xD zak5t>?vP>5)=h^=7U;IJpiIvUpWZd7*7{q>a!baLEvwl<{&Q#K^;q&7Ri2e&lVcM2 zJ@v0&cHJ0yIPecP@7Tu7@6;#%J}zMii9Ubi^gYAIeCM|&||7q#^x9fE`Golmt2{>rWlzsaTY6YJB@Lf2YPX?F7 zvyDJG5!BSHK$ILLCy>4TWfjdjg<&~DjxomCQ!D1wK)Tuyugm|c1su|L*qq;(v-CiZ zlVZp0cgVRv*PHW3%1e@$j^@v_b*q`F2@2J0L{h(umQHD=bg6{uR5{1)NXo=>OWaqA zj-yEndMY(VBr+2e6M-5por?j!o&aVbMUWBf-Ya<0Qj4a`HQ}{C*^qPHNwg+$;lmY4 zZkw-3`dmYF74l>{kHvGx9xF#pgc`)+_tDXOS1~y$N(YJrZteT=Jyp2cYd6Ov>WdMN zaj4$oY6q>v@t&#o&%cCf_hLKw98L?&Ky4?(U7D?VS{NUzk_+x$)346$po=5?Hb($# z*?4AOnci|)K><7e)xY<>@2*GuKEOtqesSDHcg3O#*2WP1rDTko!-4zK_E`msn|)<> z<7kUv(SWR%@tt7Q9h=t-JeQcRyoxRvo@rP(sG%)vFVUFOu~|cjq^Ev{+e@X!BfkL&wjh6N)0lop%H~>xK6S@t5P~tNgXf?c;x!Adr zr@L2KV*iT{pP{+OC0Y2m4*8@ABHEJ{A zX~Izby|3@%Lgn_<=d18`deszTWb+44)}sa}I&=rE0-;D*=2mSIfSoFXwPEz0JV0$ho z31YW>`@HYZgrnT{1;Wt{#BYA8Z4NS>IMMSK;F}*)m&yeD)GmcUsCQB`!yw#)BVxL18h3O zG|I$xqR`+hfXB}l1vUp_$cgaqy!PmZ{Tn=u%i?xxL6H9}BWuWQ6&F)J5M=Koo8JpX zNfS=YGRFUWj7Jv=Uf)620%V`h!CxeR*Th(o_nB=}=js!75QMn72WmF>>iqD z#rl}tOFm@hPVH?3qYPu1xHUSj>C+nZ2ixf5Zn4NeAtCZQUoHp<(bL4z@xb$Xxy-4F zY5fMTO^`H_ky67-@NJtl&&SfM8$xfD-V(JXIJDh!li&IhX(S;V?Xe{j4j^jvoHJNk z({DYaV~;Lk%%75!vJ|DV6vGw>e_`E)|KX|8rw1{FbZJ!AgTX43p*v|!W~b;P+F~c# z{C&8eO?!kFk?PWy- z;wSw8UoEyoq^G98+@)`|>GkUO04xHu^q5+;CRU3}|o+K%(Hz)8n z4DPm?#OR}glPf*J=t(9qmmjHN(0s9inorYQ`*HIUHT@&O;Whe!i( zmWMRYJw;^X#5i8Ai0yt3D%t$pkx`1V_vA4~@_H~uSuzzK7OYiE7_<~PiZU2x^QsPt-8bF;PN2Y;;0#cg38u{sX|cHiRQPy;4wf; z4{J2Sl*Q8w0w;zefx;+Lt&()K(#A)fI^b+f}Z$yNbE&<$ntkC?E7aB7~Hle z3)jGEYDcr+@OrzUhcYHbQ^r^%BwoKKc*(cq7jOg%1BngL)MSVs>{n$EN!Db8D3pV_ zInXPD$jl$}krds;KTxo;CE_IH^|?Q*L1ybV4gUIKGWLGz%xJm($W4nX}PbtVH<7+qbP-wHfOFPDj@r&%wLoMazPd z1>M1pU$H2xn-G=IZq2DrcBO*H#=!vxdV%b_9C1JP<4|S}q?E(>Qne3erMt=8LRdpihJXi7xd!OyzGZ#pis?vV4YnX9|=pT2!w-lYbhevi% z5%)Tzsn#n|4h7D-x2T`wWM0kGR_Rh^7w7=EFYb2ux?Nstf}jdKa9%}|lSFj(M&PS| z@$vEfo&N2K5Scfhpo28uYdJ>z{Y`IX0gMN>m~qST$~L|A=UlGcsA@UOU*}qwdSt9c zgV$d?Ez!J&V-fy+8+YDeyCUJzOkcn5aNHEKF2=}*5LwKW-RmGh8&mAm@-A+U^+Qc`{nbYGFV7_+Q7k8HO-edPzQ9}WttxwF9Q zS0!|s_ti80cqkj!QOG)uEgs6{an5dfi`hWj`(!zbmLJ5!_0Hp4c zM|rjm!wmF-b5W9kjGz10H>HHmH8l^sTUap`e<<>>)ZGi(mnGhTZIE-j|0>_$<=Y@w zu!iQ|S3ne4Scpi>w|yqQq4F}daU%*2P49MYp9^)Bo18ugc08Z+ z2MR*Yd!J+M%Dheoj~t9~2mlKtM0B^Glv{{+?Z6csl><_@p`c&qL{@F4e1vZD`udPZ zQ70rPsb$LmW(%ROGbMn0Q^}ERW}v77X=6LfN{WkLf=dkIHXNnPf0okgy?PnVgpM7_prIP(aHSB?+q7T#DetMWecHg{nZa#1V;VR{uqlKn zFdqBK@bL03m3*CVfeZca-oGDB_aDu|3W%QCr}3eC$?F7^`3#=vdR!qwY9WaRr98KFaqD;d@eE z<}wm+-@r-Jdas+&9s8Q<=#5IjSZrovIpOe!oLN(jo?;>*WbbZ1u_k_tKH-Z3-Ojjy zsi`Rdi%r_-pb+?%DrjGI+)cE2?aLcV6%jSb0Mavq7jT4J!L&J*LY3d8tcj)z9MiBy`UYbO2;)wiSXZ3A(Z6 zNbb_6;o$@s74WvkWs zhN`RrETwtyW-*gQkV%~dwc$HcxzaN@(NwYPG!h*`k`_bNE|2?S#qKnLd0`9k+6FK2bdNPPEL6b4^a?4K`NTMdUdPKe2~!}i_G-& zwhZa%^Bj;vL)eBLhfl*8KbX31NWO$M-fCUm1h#jmu9FpZ*M96mx>$iL{9tIHfG+}* z7<}dD=X3D!sX$l-h&cgd4$-rFf9rY_B7ER)IA*$&Ar--_`l@MtA8nBADGXw&R%YM|~7XGno8J%5R ztVusoR$NS`jN+jujN|>Bo~bI6ft~wI9M?q&!)*ko=2+zb*k9M1JP97*Rv*%LH&a+} z0K5_*j@!O?O|Cp;e*ZomBxAyYNFJvF`onNlOE-T)l@_u8XMal(|_Ao zj)wz^{54_XPlM`TAgvDv@d&xP62ayIZULdb01gJl6@a5afI55a_f(kIjAd<%`&?_xd|3(j^1jqOnLYOMzMleNb%hWcYQ%OVE*J zgM1A#dE0%e>+99uwWBdEZ*U;~P8mxdEIAZ$&ff0ME5nVIgzkfC8UEG< zjLls)85uh0G6t4MSX-8Nv*7Hb5qDOC6^^p0@#|uDNpdFc-SrNy$O({GNgU`DM(+jz z_e+IrybP9A=YRWBLKi5fZ-)>!0Vfh~0UNqHYUOcR{ol|S8u1hfS^{v`<$&fMn)W5v zW0>ug)d>Q#D_-mJ(MPwK=^^Kk4CVTVcI_jo{)bG9?Jo-pq4{V}b7_cxLk3Y(78dqZ z;$sEF0RW0hIB+@m`NIkyk+#BC*3r|;d&cVfU&aK~2(Xe({`MS9pq4umtT!*a@P~!2 ztgKx7!o~-)8jeGW1>gCo8RB%tO>`@CG4zhPQPx_Zciwh&1wo>nefpK|J@MK!1KJ zFCsF;o2qGTX(_i*1_2^JLTQ}4rYd;Idh1_<#w_!^J2NXk{|cCXQCZ2x@X8{TFgIHS z!0iH~Oin?;)g@OWiz02|g&4A%WsB`84LVWuw;R(w9D8SYHR@8M0J12yXrzPffz*YY zv`7RO$QdBR@Ka?aW=EyRuOu1CQt|ldi3~$)`_IOgv6MEaafCJ|WiSs1ftnY-;CzOp zm9a--G3=iuo`bIK{x-^XO`DH$l|J^qJ2T~Tj7LV{e$14+o2K^^^T2ca>PpH6*vn;y zr>1bg4)1ys4+dcIc`xRVg+E(4B~X?v(u`->Q*n3S%wB1QUhDT&Vb?3#m{Nwh@PuLW z)SaxQ-Sj&afS9SpqcezHD|uE%K|zsQSctp2x@u%%GW;!?RV~fR`Rk0ZeU3)LxOAW4 zAl%erD`Z#MvXLPOJMq#P1`${iCI!dv7FpCF)C?f>o()`fI!@f_KCKkHq}Q)=tE(v? zgsheK>+B22*#a#nH0ew97fbZeLk~hs6OBt9F$`5c)O;c^K<u6+lWxHU}zt=$i+FuVTCN#KIKyt46TVexD6K zA^=>rU<3z#{W=qqlfy(tLD9OryHT%EW7#IGuEE&FssXjMw9I@--rI^SV}PCE-}A0O zE>2EP3~@|Q@V?T5`2j>0in0S>U4}pb_lHM+=31%Zsg|7#|AZ_iptj?uOsS(OIe;rdjRZ9eU;;k}a@^s_%dV^>gWf42PYZ83 z`8@<{z*z%Rm+P3mA(CzglLXjg{DX#ubP$~hOzVd7i4z969U}P$kb?p8JgbrSTA{q< z@C{NYD~Wf>t~{P74e4A4q6E$6?Ovo36CB-u%qcy2BIw+3vX(AQwQgdMi_~{G02+$> z9mRqLLt(M#h#=((d`8F!2-u`^9n`V<@4_i_b}lPkbXlCwY70KGFu&OA=4gz5n2=jX^Q&+b=OgB z=D}B|8Mf|<@nF_oAy7xO6dP=PjhCK}P0GBa!3 zY|AXWu&`yx6{&Gx2}A{g(iLgpUhwo*LnaAGCa^*Bz(#K#@Xv!58fysOQ3d(6LGMr4 z4Z~p=fXR3)hj2B*P+5JS5BwcJK=$6ffm3~#H zqwI{g;Ieb;)yrGNbwcmmF{TA@vO*ZCWbgv`)uvB9=F18|XP+%j$%Rcyw8{BQpy2aV?S_@RU?`=}5H=T+#jGr;*V>TE-IOE~T`d*}kt9 z`mkL`eMVLC?N(F>fxKuV^1`omgT3x;NET zZEcMX$JB?ivI%w-QVYWZ_57LYQ7JH9Awq^S{P`Qz6rWG5I{e zr#p~Ehy?h7m0fXHTT>HYH)_P?{OQSZN3?5*b^hLZBpg1{m);?#V`cv201{)Mo=?8$ z!L*qoJ?J8iO~NZX_HI|)9X#9H?%PMx+T6v>7~S|ayVrB2P;z>6TMr4O7vtfe8xCa(`sG#*zu~>^?(SPIb-Nu*aAbm0 z!3ItXWPF_Z{NM=QRT=%;;k9HLjiG4Ltf2f^x5}tjF!kQT(4+J!K<|2s4dBwwum=AU zz#fpO8Vtu1WE(>u9ITFrpFbaQsIRrru*OEC9(s`}za| zU~;OfjlvIqFd4SLy#{4A47Rvb=?%tWj%gJo0PFjw`(7m}vXFFdjI*mo1{?B3+uiwv zG3>CCOlWqp>jjbG0m9~jJKJ5I&1amvN~Ct)8Mm2hyC}+-yd;yIn5oS+&CdzFB#iH9 zr?VR8`p%<>yvgXPh%hfC0>^vS7AOXX%L=DIrA=&&;nyNw<$-}^DDf~?jfLTZdI?Z7 zFlA~tj;jAC2!IJuMb^!Aqh^{IacDIrK6GaLtk5JheF&GQ6~urYq-d%IEU znIw$EF{BCTy~%@7FV96MS<_txJKrlU@wz0`n0HSwWC^djCl~xpB|@Mkgm`5&knl#@=Z@PmzEilfOBPaO-DD2{On* zgz!CW=@6(C5DE>m#&ZQ~{IFT~5iMj@PBi=#o%KKaJqdYYls8b8Fr40mGZ%E*480~r z5daZMhe3gX@$skG2MvvBzUQyaJgLBc^2#nI>KPLvto=F432ic*qR=nHx%d3KM4Uln zT@KV14sPy|7?dtal7$~7`oKE*^@YNMNb>}tZ>1+L<+|)0%v}ESyKYjv6UoE9VXQL$ zo-)NYHF9f{CJW8&d!Vh}7|4}c{kP&qg;ggnClZ+$ATy>fS4$DJwhW&FpeaToY!G)L zW?5!t=KplGpmTPY)X~ui0^SIsJaZtlGBO9>W(C7$T1ZXi#`)KS6F*9N`o^_!QMH&)bhtSJ#jf z^|Z$r&1hjiaD&j^PX1RF$eoA}dA)zc;|HYZM` zg$KYMX<^&jmHi+;c3is-BEOC&0{$7+uQK&+3a$bM9B_FQ0O5LrF%Z#<3B4_(V*l59 z2n~A`uUVLBQPTB>WP)-WWRrn#53%^or)zkCAs}sPFYnhZ7-V24mo=Pn-N}@RSz59( z+uY~9fbt0_o$^tlo4D?myoVeX-4R*tQMhjlhMsoq`p0VzTwh+kF?7P+4(S%Flp|zc ziM5i*oA>jQa#maSgyc-9_Wjh2z_&1Edi?G zL4bZj<@x*byJPM(YDnIHRY}3SJM75*GBb;T)Bspjwo*~UeS|pZ)B6Ar6UBD!LW(Oj zLKfT>RX`3=ZT?pd9d9OgRcFE*gh~p z&`RNi>8f_e6D(XV~w^?td4Cyvdg`5xOZ=8OR)k7_nh0gc3Yi?<)@D<=;PZ*BTef z3|FEZ=04pi_+lJCS;f!gtt*qacw3ODYhXl~TEfSl@s;6X%@48@%y@ei{yk+nMnhWn zf!B5!{3%a#UY)~aBWl)-o#lJcLxZJ9NSsMK6OLIwxc{fg?zLGcyiA~Evmo9ZjFF8Ohh=9+ zzozzaP=b^+sJt$<@0?}g0YaWa5WF&qi_QKI&VCyCR6tIa&Xuj zuc)Y~g(jn>q(m!|W7S>Ks@w=x5|Vtcudf5E2C8DK$HHdkN&#AjJM-Ic1zWFTJ-TWE zE6S0MGzU^L;}nlvE_wobndtS*0J`75f5S$Ga|^^$E+GK8Eu}ulXohH@QvTn}?PVOe z{(nDbTDiOH1*GI~AXry{%poW8LI;fhSloZb5A6ig@s5Uu#!c5nl;`j15J1Khb;u@v zPe;7WsT#8>E-Zuobfalm9GelTE8+bGSGvB7>-VKA<`llwk?Va80|*xv*C6CGK%Qoc zb@?Kg9~c2Vg_OfkIOCuPfUHsEs<5=@K*PzPT31V#8y!LkcL>|-JMzA?RrEVT#->uiyOaGuIo(<@G~SC zw*qCc^COC%39fk9)O6|AwA8#8w*teLlT$n7i$y~l3Sb8k2!MR^P_8Pt6g*TD>;D%) znVw(W#m{BuLlD5f=XLerwhdWIBl@P_@@kt1u|-03vQWT)g||#LQBCsT@iWG^#K-GH zzLY`h`-WUsrDDXI zVhfy>w$D^mJC8W&a$hv)4ia*nDxaRnF+R!IIxEHmbUpj-?J|y!tlH|+*g&Hp26X80 zccLuL(E%KW!5*fF$yyI?WN-oyXDita;!0uz&TSwY(1_q(DTn0}aK}*T#RmplzJLrtGcwB#Qj;|DrgAQrkc`@6QlFv8BvGrU0D}n8Ju7 zY%}qZ@C2yG(wBjiFG$HHw<*Z03m>Uq(`Rg`_`eu>x|#8s^W{M6?SAZ&m6Tj^lJVOa zf7)GpPjIB(T|DU!3M2DU717s6TCuwvN%@oBAp`rjm-bcAv`Kw&$&|O`nIstg_37)k zgMl63Sp+Gh(ON(FrWy^{#yBi%;#cw zO$1HjfZq80Xp6AW_}Iun7rQk#$rPQ$d$~{SR^|CRSm(UgO4Q0AGFc{AFhy`GT&^BX zO6yz|K>z`=C4>ofnB7(eqQ;SgSDs!3QGj>+0(NwLzAt!-mI0g(GN+0l%4D?u?;y#P z_BC+XJUTjp?QTn{s8`OOIDNgm@=;JyNe;&+qe^m8;L6+E+p8he_i%hHL)v!`@L?qW z7#h-%^q+ZhbQ4}v}d(X@TE z4ECAN5WhYJMtkl5G98*rFj1Dl_L!4^^IisvVZtHDR!jULZr_l3^`R0sW)aTUw*uVl z>Y0pcZ_#nWs_F;4yDGlCjEiQ8Cwv$-eh%`kCaC)`5hH=k;8#VkpzVu4+gXKNKphJG zJ>4qnL~?WLR9+7Wd+~Hq=!Bm`qX)9+7z%SQG}TwMfd2)}IZvF7nyKT`5AKDs2@LyT znd9uNzPiH$t#3OFfS~z8QbKKPZCMmQCNe$wHdhUg3*S3OmwlBmZz0)Grj93IbyF&~ zQ5=_h&rpFhQ;kEZpM$rzn_Qi=Oe!T&xK=ze42esFyo>rJg+mexSvB3ivuL#x_~^#{ zfAER6`|O?a$xa|05aH7h(b#fF4AeAax-l^^*=Zxyw&mH>*LTX{s=3VqdIE}fnVGVp zva*c_q8zvaYtXghLPyS#rEa=*u=!qZ@4Vx z+sw?2Mp@mSI-moVFoWJDbK<`QzEMm_$ZgWP{5%sZ_bZL?gm~pm@h!0q{^a6`-?}xU zjTIQrluaMyCx=)AP+#oJfNSe z4JrrYh~MSe!oZmppS>A!4Zy}Aqtw5H5hQGzMQ!-OE<4Gz1TJ9M@&mTRp0Slvj>c)n zs8kg;PCRoRWE(9sR6#!jL<(}M05=B(OL#?JUm0i(Fu*`7d2lnDHt1+1`Ny&q3wsZd z+mKrTp`Xre(|VYl%BFCDbF zyl}1#O-x*cg^M&1a7MR6=;}e`y>zz3FTY+3{;nhYI^%Rt-@`^Ib+)>)^56-)3Ns_4 zo7C8te?h!2BQ7mHcTIlisiE682Xt2bqzw@93|9<#{Ja!R>)ZabvGED%L=ct=KqLTG z3kv~8js*|uUvVe}3$>8YAB%qKCiiylI|Z2=7eq#ncXv;@y4l27uDT%k}Md)&9ZBje%<&#La4K;w&?P52?=B19Y zhTjxOu7U|3R;bwFc8L+(-lREU<#eLFOBj@sXSfi@^wp#Uj0?w2S7lH@8v&V|RaA5h zNx9nVW*>rqJR~FpFE{8%)&r6ogTveZUCHAZT@H!IZtL)J8o)!k2IXS`Y!Cd%D}dc9 zh-*8#?0)&GIiE4`XKU<+On>x~GRS#oz|?D# zzhuDGNL{=}Wlia?%MiCF+yOk_=OiY^_}hz+ZpQY-c@6==(j}f^AzK6>QBZ#e!Liiw zDQEdfsULB)L(dT;F2d!q7cNK$xrIGzuL(uNSm6zSOxyJkmVDEL9Hzz18axzGUM~R| zUV@QYSxpTG9EK2~qe@e}vFCS=0+SbF*wb*ivbTvER?jSm*c8c$*d@Y^H^tYg+sl$d z-|OY2Sa|eM#jnN9t#?QvJI)_{y(W-9G4I#Y-4B9oM9Rv5vxNGa^ z49U&|lYNQjM2kI0Ci9R@6JfVOj!pT=$;mogr9^+lRa5(5CR{@r#ohL` z;jrZA#l?lHt#QK=gk4moBqe2)mJ&dUNMz0;2=^Vmyu4hDji(mop)UEh@95SZsB^Lx zq`N_?vE-k|%ZmybybYc9D?k`RRT#oumon{oR399BpY`m{E2>;pRd`yZ_N z_3pGiYAIp+u3kR;U?rhI>xI%4H31>?@XN!pfE!3d`)v+%C6KZO5qizF9$P!`X84)$ zVihiA6Cyya1G>WG^PL?5=wD&d6yjoMIJy-{UKGDv+rbwb6(ZBQ(Ms`(vxBZnb&Ol+_!qgzonId!JjYI*wX|JeXc z02n`|h54o;bdV3LP3VrlaS9NYp>QwChQ?EIr)fk-A_dJJKzA<()`NK-IO{4I3ZWmH zqvk0E(yEq(8rWmRX}y922YSK!0RRIWcyPL3wzRZx0}dUV374rD7TkF^ET&Z51*98U zIC9_2*xAwcWoqkEwKc%YDIQzn*}#B77YG4wetzlrczCoh&K(a!q~t{;Wd;K^>e;+^ z!5%!l`uFfJx~eGh+vg`M)av}Ub8At3>u?Dg?Tgsc)D z85g^?=#l}ceZJAAuv_=N2{S$nIi1S6Z7-tBu6XAEbJ4{Ch8AMRg}k3-(}hz56-qjl zOL`kTP&#aEZH<`zRa8{G>HC+5jJ1CDj))3&bbhCiw`$$}JC5y9{TxzpV%QuDUUVqO z=}Me{^Ui=``s00AWC(DIfX8oWJHi-YLfPuA3j9@lEjz-HuD5$N2N?0^rVobT)`jO( z`792d16+~g*OW9g?Tl$6yRS5eM+%0*GX?6Q%~}vN^2ik|BslQb&(+v|=W0*5K5FHT z3@)wNldq#5LiG{hW1^o1NpG{jFadMj()8mp1c?Q)FhnsR067wo32P4cxVSv`$M3{3 zm4XA4WEZZ%XlwdnM0)#SnoE?jDWhU2>R*vabBX~4a*>%|L-oS8tdy+m| z>4C~@yvFDLzW7MlZJbuK@Hl6LqCBsgC6=18XtN&#!@7x)AOfB1QM|E0zH zALL4qHv$}$+5`ID>m5e*g@tQgQhc4uPt;QE$W3BVw#N1-2yaegi8%3VP@6|(smoAM z3eWTIkVMPN`U!oE84veP(|nXRXH+tdCy4?AhbmU)lmqE{g8kF)6!=#dm)bm6%qD{C zu|mN2hA@60W&#amcxTnJyPEgyggpA2wzgT} zP=WFd$bT46xC7w}Uz})Q2o<<_^9`#u6e0Lg5LpI(rjg_i9Lx%uX}6if-3*HKWz*)D zTtPktS2Q#`f8B~~2WofIT_L6F1V@DCIoQl#~?M&G7Z9y7~kCHyUir z1JM(R&V&B;RQPzWrIP|T1Oy)-si^*Oa32qN$1LFbAgwxfN}y)XhB_bSLTSsb1cP}5y=< zrRxN=$ji{i%z1!I{@QrG+sCU6gfbVqu>tmee&^iK6|f?@CXm{Kd`?dv=`rDei1m@m z7+8R=fIr;oX;VdIjX)q~4R~tu1O_!ml5+B{aNn(OA(RTgm?{PC4AMo5OA9>D)5!f_x@=3~z z?gYoLHX3g9aqSbGSbU%6{9!Sz5x`hjC-B39M15V^r3@?AQgrBt#Vp zf))vS1W+)cAcLa+=M%qzCP%ScIAswQY0kNGtuGA}kcWyzz+AvLC+^R+2fT_#&Bqh- zQDcnK$Qk}bTl5VMzf+Gsnk(0Vl71b1Xe$JT400QTrlzJqD|1fQxNvD?VX=_A?)w3V zZp*;Ni><~6e{1U>nXvdxkdFcwWptk}7*d~r0_i{)VsJZqttV+Yt_%{uEqUpnK%ACN z9sOHqZeo(Kyjx8c+X*;+4%8CRY^2$gzu_dqHD-zrPZcz9M-DWcK{j+)K0Iue#RAbA zH4j59|6hOC8-f#}K&7q(cjks(73>3|3W4>$xGaFuCIad|s5H<2er@cVDinWVw40du zhpN}$r{A^tF0>AtBg~78bCt?5(cK=iEWC2Onc;r)$0GNv6Fa5mZqEfD@cz1y6{r0}H#875b2Q$S& zxU*6&-y>ahNMJ>h8Q;D|a^jIZZa{Tl?n_U6z>lS_p#fsvPhc@a7)Ve-o$kyaJTI^w z-}{GKiX3;g`!8ebtp7int}-mDwQCO@lG2ETK`J1Egh)wucZh<7(x9NkP!fXDC>;)6 zVo?HuAfa>!C?SlL)F8r;-`eNBz90TN*HM@~`+3&7v*@u#&ySMmIFwg3+VZG?K;a2N z_hxNulC3?;dHLKO^b<-jYTtHuU*A#S-uw)WI3X|q{fWz&HTg9}hl&ybH2QKB&Dnhu zK&Tf@%xp0F`ALp!PzospF`9K3H0&Nj-s-Um)jbqjMw{KKZ>YSa&J#B(0mr_dR{=LB zLqVl%(uLP0q`BYj3h4|QDPC2KlwmnJjYHI4IyDQQUW~nSeQl03&`wX=BJpf6n1KjE z1ysCX$6!=Jb|YBps~K~iYgO#Ur1fr92I7c1DQ)92Z+$KlvZKfr0Spb|X_hP30T2WQ z7|0Z)+EHD*+Mq3f9ouB|2_3Kxz8Cw|`=+`7Ukgy}-Nm8?6{w?KG4{$W^It%LFczu9M1rD`r_tFdDlHwLNKNFrGd?y}0DLSU zwn$$P@a-VjKsfnxbmR^@mJ2;(+y_=kiQQ*VWo4J~0BKs?w@7>a_U$VnPs861j0s_U zjvnt^lSw=534`m<&(#dx=BPq3Y*f3w;N{C7A)m=^dT?-Sm+RpB7u_dH`Ne9gs=*Ba zSmqcvu%Xlq?H8$FKSc!s=>F~?usJ04!t%4mjpnIIP>H}u3U?{ox$s)u_6iO@PJ~7* zkr^N|J0EWr@enx^)o?1%C%ncJohbTeyyB-cGD$5hqm-7Q1$%Q5e=M{{oIlUaL8Euc z31zM1&Y0wM7XrUgdDsW=kPt`%rsuhByjU;}sQJ%EnFKHYlV*Z!_pWhtAXZR@`^{=j zx`g51+p@Aj^^d3f&$Ap^!{-)*NLk?(0>2S3zew#y4LGwv2yTxMwUAq30JV7_dPi=M zh6c-rfx9iBO9F|P6jwX{nyPpheSfrS*B2t(_V!jBcaO;8V&ZePTbF+Jh-ZBL^5U9B zJTLceCD^Qh2u3svRQnLi#LLTzprU|}#65eq@4n;!#OI+TeZ8$H{v>daJGeki8fsmB*xzo3^+!*2a`80 z0vqGS=U?6kb3U&wFE2m14ef+WaQs!D{OLdbGnae(xA-dhF7d0Ouik9LA)BPFh*D+) zww7I(Q;low+es0f2SX}M%}H<;2NyLrAAcg_^yhw)D|Uw0IW~mo?a=`NW78_b&9a@` zhOkwFt|fYP9paG_aREonX{u%~Qc44K$P(Q3phwM(3;~`QNyh||X0%)Hcg;zaTW^zZq=sq$h^;_iZ>6Xh4exCl#=H- za-n^Ce-=Pz3w2e$w*K1dl_P>1IKN(l&x#5o4cfBdVm-j*lv|ieVU0cbdN#wcZKz#U#9YrgD=-E9xJ1b%hD{RPLwU7(Q zOANyby!9~jgMd)l6gpvITA-%pt7Wf9D`DlkmTP{ruf%NYBwq={5}KG?R52KF5EJOF zt>~$}BoN!SU`z`Yz^-L{+|rVgl7o|zWopVKwEPu>=9f$IPMSdwc^k4$0r`T1lN?48 zBwg#m=@=?Uy)mg=+Bl;UU%+W0y$}h_U>*K9yz4J}OZ&_f{*FS`+wR&pV6*{W znJX)=8d?Sp5^OO@8Zolh!PYDmgTo zf_-qkweJ_6<1EwOxqWby_NhagEd*|$*a&!y9&v_tBz>$^(2!8#7X|?UAfLPzX}zdR zD2s-u#4D|aF-PIzsC6heI^kn}db9%|(GSpisz4f}Hm}={T@a`qt6#v4B1IS>Pv?lc zP%;F*ir4FD2gEGD`fhQ?7KpC%-Kov0FV8LDr$RZn@hd=^f#97ujik?T9CYS)sNEou z4q4IaB96aFOGUNB^bHbUz~WTCwvC5mi5*VvPO)?YoV+xA*BHPv2aKN+6%phQe!u^| zf|;p~*OZv=q^{bT00v>ilmj);Dy))2h;^}TW7 zL+D0mhc2y@Et=X2oj*`t$o8}I*W=Fl$(Trx^5x!Bd~(KvYLjlB?uht&gSu6>WLHOV zQ+E`0kJ#`p-V*;;)^M*N(PZfjFgO83ro``}@7=p+0BB)&PU2Q`5sOunfXDkW!Wdr*5lX3azXK*XH5ySPj=!2u>N zApyb{r8GyR`Fo)|xf-CGz@_Gc^-RWgN@v0v>Pc4lP?0&dmzTL&;^mTvk@2AR(r`0M zvy2Q4c4y$iGT&HMItoZ%4&#vjzH#+)ZlanL$JqEwT54*t_xZ1U{ZEEpu%w1Xmh|XkPriVd>phU3(iBgB!7js^Wto`Jf|1*jz{% zd;8%-A<*F-gWFvu%gBYew_?_UNSr^8+CuR<3Q-2Y9?ou)cE#;M%lPWIDFy|mOMX^S zN<2VRQ$&rNSEv*&^u4^e$b-WLeX$nj{4AMtwSa!lv#G6roR!Ly)SrtL)S4a*-5 zpPbhiI@$={ZFGZO2oX6J@B=Ulsde8|E@lbznrqzAfKQPz?1G^A2ImyeV(7}PC^u#(>qlU=O8;% z4&^2}0@f!4lA6)K=kBf>y>l3jYcGi-n!sP&7s$HcnB&OZ`x34l;;z~;tyWrw1bT&? zGbsMp0vZ~cvMzCy@p|mY4YWL(2Q3o3^)#DLFDLLljFzR1jb}hSic9H`dutC^vG2vAk-+1b`Thj$;BD2tslZ z2LmEOngFC~vc?gR&sQgmagGo3w^Ic~?m*+iHvVtg>09?vo4$lw&~u0+Vu9F8J?R=1 z_<1ox*9tuxm9Hx0dkZ0=d03p`FdqPg15gpjI8wQ9ooX#CLtFTF8boh<(C-=tbuS;u z)`3eEL4m zCC%;7$PzT*YyhRCk~D2;#^$n1zanz5(1o2tj8x~tRcB2*&7a}hTBwnkdqlI4GVtB0 zaByk7y5;zh6PV^;od&58@Ks)amj>z6dv~__1AkxbkC~I|8sOb?QB!>jMLH zz>5Ybno`oGY1zq%rUC58+5E?#ej%QqnM@%Kiw_MAC4PGcYvNoypjj$(LT`*}$-Rj} zs`_rgYl(Xb(yz>i>pukEy?xs{zXf8(S>U2qV3g}$dvK5&0s^pZ+dC<$Y-k}Pv*V}i zK{f@K`PA~(gR}FT8Hg@A&t0%cW4jXvdy0uBErBS^a7w&{%!URw_ZJSXDCO&`_6EZs zD*yUvwSxM@_N`J)M)eOv@rSqXX_{PZG>CD3Z7z2A=9wFM5ie$7P6WH=E$yrPu%z~4 zdlCeQRr@WG!PW~#p}Fq(D-p-mp1hv+E6B$S8@7&oM_uAri#A}_Fy1SkvmvIOPA6%YeQ-qGG4*bm@#qRbcO1X}6HP!qqs zJ5rbM>a76^ReR|G6k$}(48x--T7>E-b3)&bJOq13nZ$c6AzLhxaI_u$1=e1~4aT8> z0BJ}cg;p_O9>tQ?FC61e+3mFz-jQ-5zxI?YsLX6|=`SH=`RJISyXx+hBw^q0j?RYJd3YQ-tZ1-V8W<1^ZuXLGu?Z=H1!DSOdiPhuYE^rY zPNuJnUE)A$$g>jSJ`%=igX!|JSiN9e@?PJ==Kr#4VVBqsM411;-Nu;?$rikh`K8Go z%PS&`DvDlSujR({W&~M2Z=N$YnOaYay5Q0-Inq{O%5vmUdq0pnf&Mbro-BQ@2wURq ztiRcxcl&maK1-3uu?cyD?^2+}*`K6~<|@nw2t$bm@irVeRdDnG5FUD^a`6wC*&*Mt z6K3J3@aDHmrG@VaFBF$|I}AlNg3IYHXv_h)Lhuuhk2}mz%e4QVo%r0+!S)7^#&SK; zf}VZP;&%7IBUI7=6-pXw-cvol+l@*<5-d)NM_oUzf^ktFq+B~!zCuzGQ~)g~fZT~} zqiMVE@1=_SDMbFXZ^Iw$8LI87Ui89caW+i^9U)$mFokHVeRux0`W0vXB{ zx*>6{hw6A>AJ{KD&v<+WeNafA#J!5bseE$)=z7 zpQn~R-a~>zkcLU%cMwG>;M#CsAp$5k2LTssX%=+2NVhGNI}>dNz5%!|e*h;3=I9R} zBoE<*Td$qCe-D<$R7dH9&F75X*nT|PoO4;QnF!eCteo6jGnD#3irfy08=LOG``8{8 zi0`$V-u#{EA=e0s$$bQ`Xl}NZkHf%U_-h;Ayq#Jdh+T!(=`>mg_5RiR^3&f3weTSa z%4M*Ut&J$#Nv>L>Q+V?BkB+y1JZI7&{%YcE8ivh*b|_JC@d$WOtMmU}n`@i>gE8{* zeYtOksju%})S1!0%dnvFQ_Vi-hS=yN4K+=8SKi@F)hj~GzMBUMPSF74ly zlbi{>3dS$#z{Tq`pVFKEVzMgT6pR$Ww+jeSzCQU@-Fvc|a+@yJm-lK$&Wg10&nPd< zFV4r9e|y7fHQjYJ>{9WUTpxjBpzaWk2q}V^TI&Q}vL;~rF6bn4gkS+f`ZwSNLe|MR zCf*e0D{hf#^ML{O##Q+83mU)$XWJybDhyS)m3u+M3px|>`8A(T++PQq#@VC`6X;az zgzGKF7WMh<3mi1Lpye@4aNjZd6i1ZtOhX#gLUseib+Y$`3+C(-l0Uw+6jmm=Kc8X^HHDuQ?wcvk-{S%Zr39|qh!Juk>1*} zR}V;1F2uk#y6}U3Q>m4I9ey*2`VP|S2iN0~zm<2=1xNlH5PpEdt7LRB9I5IW|GAwd z8?B00r5R{r%E%3LY(t!qj~>YsHqHRA<1o}mAa7P-)5wf`)(~9XS@GIiPRBTZi|z=| zU1aigDiGg)fIqw_6BI6gvMv7wv=(t7cYr7S3DowoA+tnWt%xTgit`aUqHMd`kQVy2 zme~2GBtRwrR0BnKQy`h+#HQn+l}7VIIBRt@c2B{bO)mb|!I?ShJym=@|D9=wjLC0ybxKBFy_#G7<-! zjcL3i5`hvlYl0Hjns0ZF&L?(t{rYvA3(bf6472<_XevzacCakw*Mweo-7Sm7Q@tHp zft}xBvHHp_{!!OP>n#H_HJQWg!%5U0$jul^8JYB6^m57sGVn)%^WyZjH%3YoI@o42`Q+8arVX%y6aFfy-sEk_T)Q%3gRfBgV< zBNzq-PbZO$%quk#{l4DC%L3O@x<|pK&^FdByx4i%sh~7gVV3wPR=Jrs(DTn2bRO z67=r8fz{Gx0^p!qfMbo^1cOk7Wcg^B*}1^1+oxy;a=L|1oqy>d7DOd57$8l^#kb)v zEq9}-iTr&1N$y9<=ShWiIMt9ulhJp+CT3$x^pqB7r~=_yC1!Vh#njJl zJZI}DG2o56ii*hxI@PwNhq_tOb-SIMY?9~1#Bj!WlnDW zgmk4x>Wr86#dm_Tb2}9zIP{`^2*!_}kA#i(kvTb!TLT+q1SzWt};K)dlV)DCP8bKl-sKw|iZJBb;n3?Zh`V zG!W~VQs|YV`z$Y+uf&VIeR5sWyFQD!LIZv40|DiMPb*~K-FO*}X7H=B7GBKi8Mnz4 zitsZFE?v84qA^U=!6X-XJ~CgIrmN_(Pl1=TN!s4RI5s}-iIB=;KE;zNmNvs<&gWmG zx2P7#_~g_ncwj8|gkne}Q;{xB*k34o^kTh_ZzMoVVYm4S z&8&-_@k8qeV!@ob&x(hndbZGQ`z8jlRYd(!z0(~&joZ2F1p9l4lj;Oir>gL{5R)vV zjgp*V&I8y+INh&t1uU9K^A0yF)i2mOm5hv%8PbJynOwORgL!bd&51nnTLDrMH`dLz zm6N#yF2c20M%|9KXT5tZlj+Gv)|<93y{EjKK*$dH=Rzo30&wTf(nhuS%5wH&gwt0~ z^C&l_7?$8OsCptHGXA=~K#0rKTU_z($q$tO^EDK*(b)Akh}ktA;(9+`b?Q^r(TTs> zdkDIYy(lO;FyX>?srCFMVuMs#)FYR&a-Cvt$`WQNH!*L9Zljyazfh>UiVzfes|;By zAL5C#fphhg`h$W#UC39fQ7__y1y6<9@qVHP0FUc_u5qMEl z|IpumkNgs*nzUf!#AG{18ZL##wfDs!6EMAOU8g^g79x|~2~WfaWF<2vfIs6|)#B)RgX;pU~GZese|8f&f8>BEC28IyO* z?A}q7*+s$F45Dn}nd5&SK%E?g-(EyQQDDM_y#WgTJ`Z8Ekc_c8WIP%i8Cl3WJIkM* zMmMJW6r^h|mg926eW;C=2yZWf$U|>8qpA&fl$#GwJ;iEyPT7p|`Nr1?T9H?B)$W8H zGLS$ig(Pw}1#Axt4$d9^6k~om2UecXAi|6ULl}}Zq_U<@(;)ZFZ8XJjKTFr0=3Ss` zeW@;<7&+dat4T?oABohfh?^8T)8?Fq~Yn% z?yg1EUPp}fx$}Y!%NHDBEVv_%bNTduD3S%0=;b-4hXPq7m;c(k@nCsi(MceZ;O3n> z=dFcT&#Zy8#Z5f9TlO!sfgkEq7w56HM(O)!i&RH@i=XwyMHm&-SKLFFzIHy%eLv@` z`L2RidowNQm9VHf_^Jg!@ZutOUP@YR57rxjR}gO_WV0ZOXFyvcrm|b|!uxx)ZjdY3 z&aLvItV_2)MN+v}{=XK$uIJDJJ?!gJDkftq&}0)pGyIi{nHYx`)miO)XP8iX7@PSE zS{p&t=r`n5kFy#?1m>pIw(%FW(ps^#4{S#K@d{?bHx%sTQj5meQq!r52_iLZQh7Gz z6lF*IuUO>Rv+gbM$;YJIKB8y=3q8`ZiX_7wf`StUdt;VK|~Af+GSdWIEy0s8W^W;op$4k}&36A0Mor z^IBO+-!-YFZf_V?(2M~p+7(q)(@#)W@pR$>C6oMMv~DBnblT~np5MXEnk>)(?0<>* zI?XHvY8`Ik2}qD&c`Tdbs1&WDM1JpS?~_TE2)a@z4P<#ip71<`DiVJ&hqw=ChRQwq z<8%hxP&@L%fcEzs;UXs)tMJ|=(qfI%2N!_ou=h=BGtcKvU z2CzXGS|2*|jXo~r{no>*lGb@Unz_9T>iWI&`DgJtwOR3Zy7hKu%|Ny=-ESG#Lq#7rumP}^L2PE^Jf85b{X!r(O+6hg?CRkUI-TM_-IYeiD;I9n<{c)v zv5wj8zDj|yJ>OI64<}F%4c5W}n6IN_W540StAAR&pKSj`$TI8`RW&z-!uQSqJ9#Oo zJyP^X)N${|E*W8H>+P1Aman35Pb2Bv-piuOt7<3yoC4_G>$;qKEvnN%%7Vv=&}oaN zb$@5IoR&kXX1lgmI8*HLzx#;!ojeqFT6ow&{V=V_*SP;|kdw#?TSl3lt3LG8Ybzb{ zl?|J$6O0$-`Q{jO+WCF;te~6ZwQJ zUdOE-o1ViJo1a6ATP1VG>>nt~IHH8(*mH(`WzYK8OHsA2(8$V(i4T;Iw>6)A1@X#<{xSfsP?!os?Ec^~W>u)jQT^h`7ryDyC zHG!~OK)^xAZp%r~i=vob;YKR(zabAEp1OR99P?$%h!4|`PQi2Py8Gt)>pNt@;72b2 z?YWR?1^){weHm;k{)zq3h(@G~WwJvCmFLa=_>5;O%FHNQ~v2L`PzA~UJn3#?~gm4p^!=@P{cuF@})%e`$U`9QL3Qcc5`&Z)`G>{@rnH<393S9L_7(3 zFKf1bx|N)=pPz2#lZ7;a|KCBiBj6q;`=BaN4>C1{A*4Qn4z@+ePdKQ88BGYbdC9?z ztVvV_I(Q5d=8W~{kimBkk!KbEGmh#s9q*Gy!+Q4~a^kAWOG+T8h?Cr&It@d5<|q0U zyGiNxDD`tQC!azkwez0S4p`%io_TzpqS6V=VAg(G4!3$T!1Gbku%40RBD*-|T>yDmlf;Uu6ryDcY`0gbFqtI#AdwZzh_ zL=J4$Z6Ii`gIM$-77#Y8<8a$N5@2J;?@7b3EfYYKofTUkW&MW({Sn7|YdueMN=Nx=T_ZDQR}SJF=7};YvUDM}^C^WetH+Wt|0<_^ z=KMp?y>@23T4@!6`yTDMRzL?QKqDw56zOJ9+vQ_$o+=2L@aoRbjUJZIY2p3e3-+!V z`i}nAC$q`6>uJ-7o4lJa6w|`ne21p0*_Kn1?6~fE?a@ChYHPA-FoiqR#TIc=g>Qp7ZOhXq?ko32NNpv znC>KVRC5@#>4}f_^AU04_>#Nh){0~`%w5#ntg_=0LQ`;mt`m8JK{*7$_N`=``ZyM2 zyFm8}!^v_bypPyq{bTx+;Kk}|S(-*yEb!iMyE_T;ZgtR_d$-lRKZ1En>mO7O6%8*7 z{1r$(?<`-Ee5FAHRqxl6o#*3|L7Ck|lZ-Wxi>!ISymwP?$JD*x=3hhZm)b#Y;{{L+H~GTb5MrVkGG~o0p@Clr=cx*s3(Oc(X+jCk9?zxnFBOuB(4JFj7TU zLIl%Oe0zBaV-C;3u#_<;!@+?Z>rl!G9y%nJ1=_>GxYZ?Xcbj$W(>q8M zRKM`+&@V~oSerK-#LU2oA%i=j-+Gnu;+h*fq8UJD=*b8A24z7e@*lL=Oz`EJwwOeY zj$S@O*~>}-l2Mw)!D?Q>R!ZfHs|)xgs!!3WFDDUDI!3G&)zww{B+K_Y%gE`_QK2-Z zN*L(*xQ5(k-?$PYm*Hxl+>BlS%d2GYdx}ya;zKy&H!{Q=dvHiJR{_QX)hcM-@|T42 zOc96rv))zb2yby44jIOZzcF_km+zs7(4tiBt6TooC?(J=vft8SEZH_J#u622o|jxq z%$yRmi+pDL?B9ccg(9--J}Ed=4G*)+U4GBB<7$lEapn2}MJ~E42f`PSUSAH>RZ5e!_kPBmwfk zmVGDdFF8Z|0#Z#d><)#(@NR-|6b|5LwUt#>(0bOQM0`{)@7f?f zGb6(lr8Y;20`Ddrtj^E4@Et`CPZ)(KKC^u7pXZkU(ESZ-ocZI>NIvJ9*`W$`;Fvaw z^U)HI2gu`Tt3h#O21o(y;qaqCzh^SeU-m-~1@7-=dvQ1zNn{n;XHl( zws8ift`J{wxNem(hi_gYqueb4X~T8jyk~l@bz%BU=hURxC*GC~eG;X*WL-yhZ>-`I zlbQ8g(=H~J92<2${mr@`-MJ9MOozxWk0>J3>F#fQ{(}BF0TTg}uJt2<^u7V6`M(QO z?3~h*QfoH{&JUL8c4hZsvosV+1Izw`vez1Z+P-R=T{s@WB#j6*;6!Dy_9Q^Q03h!{ zfL!1&;FjI=ugLwOp8*d8d@u+|0WWJr4dX-M^qbc*J3vqXTxTpCU$8f*P$aRCQGk_;hmHFiJD(u4TjHz{8??Q4?C!vfyASL1GD^xg~GN(9r4 z%3ExDDly6>1ArufqG}h7=*6C%xIcCgBaS9ix%862r@Y5(5?ACFKJlZHSy?p0)kl9{ z_Gg%^I%cpxgF?Z~Y@GIYU-lHFPLP94@BX!?|1$s`9Y7l2ev)AICnnU2{&(_-Fr}%1 zZe#-*B3BWAjLM@q50*t{5a@1Sgz?N&Cfgl~ED~>tvX+&XZ%ax@#K5Nwk&W<~I_1Gt z*OMY3<-eIXYysci=SyhYD=VaEI5oa^_b^1O(#n|aeJ-vY$kQX@*xeTI+T8OC!0NjI zko8jAl@_IXjvmltO4wv>Knjsh+(2~;PzXc-5yMWC_4W)qJAfgfFe;A*_-X2|8bwah z2#)+Sa&cHqxgl8=X6BYnfMd9iEB|+$`cV-I^yeAJa*pZ(k-gZkuPu~$Z1?Nq)ENcs zKm8zn&Fg!{ch?MV>uunMwRn?DOX2a2jgNz#79gS?gIK12 zA_kbZ?!~`ol|fvJ&@aPpP29?{lvq1K=_jte@eIxg`fcM#%)&*_tfK~HjGOSwRwr){n-?l zISfGwMhh!1Yee>$<_}>m{rJ70PiAbQyC|Yk=xfY2+P|z|AK=fGry-Is!!swYsdrgK z5p(8AsKuMR_AtBBJg@2u-u@=J1sKNd`}eqvxj4qoorPH0(2nhIS z3tvzNF}B4o%1`XMGryg?HzShp?Jj^I5cnPk;}aJpP8%51`2xZITRi-SK0*7@SFcJXj$XZ)E(E*W3v3BWf=P?qrC-2h4Bvo=1G zPpPtgkJvZ&V%tTj7LT~PQRtKopzo#6>xuuAqd9)VfWjh$GaS11=S$y=gJ z6^E!*GDYzAQna@lv1ypHh@_je;|L6?%V}~L)ApIR{JgU|v85qtNdk+Dc)l}T>EXK` zRm9Pq^G3az1B0c{q~Yd)5I!*L+bWQufon$8bYS9#JVjFE?O8kaoou-FeRW5s+_$ws zIr;$#h>&?cmHys)tfX**!vg}l8~km1>whS)`M~6WME`qdmR%oj;l4?G z>h;}nO*@w7n)3nNCCBn4d#vXp=$^8ORDs~LS8A63&`|aJlW@t5`Lv2Fk#tI$0$M5Y z3(?*4MnrVgd4-#AjkBm3Q1%(WB|tyWw<4eU?H6dl8=H^TJUk2|naIsU{%v2e>~2$< zVU-Cu>tW~(wz<+r|0bNO*|@lJvo$eAKsl~}y8Q~6)#0jv5ZfM$xoy&Pv5=a0nY?|v z0d7bu+^FE)Yt6gobXHGIh%CD)~KR&b`VO`>T>M0wPi=^0uk~ssRck&B2AN?ko=~w!X z{ys|gJUQB}2G+q66cE=>);ZbP!}=Ew?8+)geNY2m8ktZ*(Q94|o)D z!YyAhWuJO$B-si6N7%ArOO1+=>x+b?R9yhh1|&;m7Gkd88aO&mOHc37cw)Nmz>vLy zj*}T6!fs!ukLQkPg$?y}Am00uMeXNOADYpA#YJZF6gwp+CqB4kIIy|8#aG0|jW_QZ z)1>k`;!T32^`-n!ql1wHw4ci=drI)bk#pA+qXTdFu-S&Jl;tY8P}<*MX=o;3{2gEH zC+H`Y_(wUg&0&G}yb(=9t@qNQ>j9n4qS>+x*0!&|eR=4D=kCi07t2L4)Ge4Y-_@ix z_R5f#RPAdC9Dg9`mLYn`5W)X~TS~00O4jCuq0~GBdTws+I+QB|SxUxJaq|j%b7MrT z-v2o`T7q5mirb|4|I#I; z$aeRbInDkm6H#&z^5CX&mFK-DDt5w?0MdZbI`yoSuWW%A=R;`D1b;vwOxmzUBZm=) z;eMywj6&MBkZd;?Fp#KPcw`CBQX(0$D}ovwJ;hW>k}S~xV3Ql8wT`kZ1sM(cGXpF!X&>q z!}ac8ae63FcHjY*gW=M{+ozu6_UrG>R_^tfSyc{d=9?`$)#b!zJ!-varUSRX?L(A6 z1;?2)nOx+=88`D2ih;3#^Btfc@8BZEH3cC?fy<7nXMsdmVeX# zz35p{SQ}9!QBek$U!DndM|-@WRxl^uge+HDqo4Y0m}?wW(W0s(!)9p8@1GV}KPNjJR^ET6e1 zrSUg+Uc;HZt4^2umj0W0n1Wkc1X!tL$Q)m#z%TXK#DatX<>U5YokB=W=*xTp3TZW; z1$d|$toElcDOUl;6oOn`XaYtm{sNw^(Wjqv)&dT3I=zF85HB6Dr_8U zZGGwN%-TIc?_`|M*1gX6K`T;->|LcMb3GkLE(*BFTEMihF*zQ zPCiS{PDK7(rInQ?B1DEvE$*lDlu!XT&MOC>Inn+Vr;8GMsa-g;@zBiJSStHcdM~ui zQan z_XC*Uj!!_X^OGrFwHhAnJG38V3!D}34j{7}7zSV&IAyAV(SN3flxpMz@4JAle$mP$ zPk-4+dTHd1Yl-m4zW!Pa$R|DkAOlg6&uD`;!{MaK7^bPW?yJA7qj`kZ_DcD+6_Z0* z0OiZn2%7@Tpy3N3w7}JC?Kf&-iT56$&J!QNiP7me8OtS@)yQy85ci!Ak=Fh!Lc$aK zka>>=E!^_9UCAC468b;%_=RoGEIGSQj|3)tT~^Xji|i?W#Qi~Y-nZ}i*}~5DVeU-P z#FP8PxhUB4lrLCqO}YP6Z1q;1ymo)rBJ`>ZfhbjB=f>`JqQsOjMS1`Lg`> zY?k^3#DEH`YEDj$@43XKQ^bTG)(<8e^+*Uq6X8YH=DqX1{93v_tD&aAM_Z2vu>4w` zj`_TC`?b0AXqky5WB~ZdVRE35ALl3*r=EjGf*N61Z5{nV&rWqU*#K#gz+Ib16p3deGRg z^FOB3mt>PF_fq9U!B;>k5u<71^(u+I3zKpPc{SALk zjJ9nTr2*(Z^5n*y&NxK`GZBMVNtB8}Xr}F1HMb&9L`6x7I;haQ3j}%7Sg4ciVw6BKCTNB%wVf8hI0jlqaW!f8vlKXrzX@d5Z zu@Pmku6xOWziEZf zv-w$7!;Fr8aOt-ZTq3UcSS1<7eL{tkQ@5AS{XzUL#CuwKts}q3(AH0Xxy(*&eyylM zI$n>lmrbJ2@LD>bXG_mxk+59?o(S`|&IS&U^P$mh8KmP&SCb-e!#Rs5>or9yL~>h# zmStmoc^L`LeS#R0=#*Mlch041j+Wx67R!kjgwo7vo;?8!9qCKC3^ma#0kSzRkQ5}3 z&~~GvJdj<>O4SB$#?*nh^QlBGhrQMUK`BG@VJj@&9o@-%*>;`}{QMl@orogHLUM5C zp;dh4wTLmN)1Xx<1vdn0LefvsM<oRE#c6(QQvbge z0Iy)xqkZ?5+5EW{8bO<#mdw1j0YB3Vv@G_l4L_#f%Dw2ae_ZHyByU)Z>D{awm0evi z!g#d^XK6AN)MeLOQI`+tjq}1vL-ykCG1^5GTg4IhPSoF!ghAQU~QXm6Aws9SqK zCCtUnzV8a4AEwCV5$0`GEJjxVqb!^*G~M`)4mCjKocegHi*i+P8rI(p2y+Y>1!O2v zIQ?Gi%tmz<&}e{Y!L|kHl@EDhikyUOi219p)x7HXWS)!av72DM?9)>MQ2Xj@^ZU@q z_m}m_>yWv&$QCy@x3g(uUG|e+TJ4q}$*nXf1TG#i(V;Pa?bD6Od181mDN5u45XtF2 zERLzUDm!?yn@so_QUn;omjfjn&YvznX!^0D%$NC2Zp~;lTES&Yym!!d76*T^Ib?b> zi`f2o%S85E%?7V!@hDPnU`sQIvfJ^^#3jJ(fcMrOR_09x2TD7ze+Ub4Z=M7fK!^)^ z7Waua|3_uA2zGozP;;>VLInR0?Cg&6n(mQ~pVmvW{U6mmCGR!o-EFJ0K%!ROr#CA; z`fVyM$}B)8Bg0I>P1s0NSLY_?M7mvkn*j|JzzPjvQYCv5!JFy{$(dLt*WPDhNPkpvO&-{GN*16M6E#HC`80d!B3aCVMezf%Wl!39TL; z9=z=FIpS1zK&*1sw$`EB18xYha~N@g7xmUvd2?$f&CLHOt<(iDE*XTLyo7X0FWz4! z;C`uH1cKKDc+_vOv8GMfeK1kBLm(q!0g!3AMp7Yae7AYh%!nqsEiN!UivSIDG=%N(NJzkpxD z6P&_C{MuUSG>XwpwZ#+yJ9^$e7Pw(_hfA5xi~F{Hq~r#N4dIh*Sa0bdfDKLL+{s5+ z>V7!f_x1@9@MJ5q64(jSa?@J>z1Fpi`D0l7<3?g-gWvHk(cbqNxDSaG)Uom?fb5|~ z1*_STg{+xDom+glC?v8Q{{{HnC>RJ=MLzyDwD#`4_{{qX6%pXQh@0Tm+xOFe-S%Py zcPR5n_G6P#p5VY+ftZrR4tOV;%r9NTyna161(MbOQ8xUK*uO^db7Ml*&w&bEAj?r7uO73Q~-{HII;|a6G}2l};C*LrtV;6)!K-ezGksol$^v0nj0t#AQdzHBL=AT)LsNs!ez_0UhEXMFOW;V*;HmPZDYo(U^n)LzUjUpv!Fr2 z;AgU$mDCTZD@CH#wtU4(@ej|H1eoNfsa;NA5xJ-pY+{?rlk&7M>*R=34l#kNy-Imf zBdEgq#2)bN_O%D;lN5CCrOUVYUZS99toa;!d@vR=#a6Y4E9xPe4OzQghKrEefK*MM zm)c62%ZK~priVaGLoftBq>4E#IOHM$cXD?$d=l2*M@QfBC#q{-r7C<~TG|~15r7bL zF13LJslgBT4_Eygtns^be?=F)@h8>EIznmyVICmyRvov2r|D8I90Z~I&$HyjG?#1| z{(ks$OVnK`z(uG#%;4OYV@m#0Y6*nWkG;7GTHllC*J<4n3LN%kKaCcMNKhj8@${@| zY;F!#ELGIR?Ed@rYf=708X&7#d$Zjk!I%_zyPa(cf(|vDgE4T){=}AB=?!J+c|)-L zosNk}t~Lr4te#HK!%-kUJmATZXulD7oSwP{}(;}{FC8zR3fbKkzj?ackuM|G(DI2!W0ONs>({Hx9{|FR{~_mM4a$> z8nkp0mj+AclW(677H7wpWKWEbvycrybQg_?<=dr5P!td}TJzo#2#UQ)QrvyWuRlVs z-sd0`Vr2{8k>B3ZmcOOQP&UFWX9?k6fd6^?hLi4bm;%pVG6MMM5GJd&2aBUJ7 z5KPr8a050M;6H@Odw+bezwZf(J|w7I1xFm4xvSz{a#9xbGLAB}X#a$xwO85iOFqsd zGfuE@-%qUU&-GAmyjibOunj9L0Tf-;y&u@WNHc~#&xG@ap1XQPZ;qRLuA<`4!~2Ar z-Qeh}hF`k*_s%1$jm8Z*fa%EqL_{<+vGVD?Oci%g2r~%s3dp_d1bB%uy*Cn?IUj+J z<(}M5sh&zCoe5xoEtq%j{P3WkYlb$(k@1lc|D}DKeeLJGrvnp+akSJrO0V9gq}iKq zeCbvf$ll!>bRPM$y885G(F7M2DFX1ctbr72HEHa6Acey3KTP$NZvTspiyeL8-` zhKCp`9UApCQsz-PCU!;57&v$l#}8o2m}?st1=$P--2VKbVR$~sP#*RMeu&fYLACz%TiiB=Km zxNcK|9l)5y+%Yu?QpSe_qfx0*>NB zs3w8ps6Qf{A%|Nl*xvLHAKtx-1oTq$PA3(TFaWM_x!is>s%1gj)<^1*{J~%NBK&%} z1*G7&eG8+!@+IbE$cMWFG?^$XRZbn~rfv71w(LDUf(69l=Nr|edTZSmV}dq>`r}P`Zd{5n4`;HnLB} z|EW{(N}jVi3LLFAIwl^Kr&qVtL>M@PHv@rh*2sr{3RmQlyPaq7T8&41VJUcmX;G@R zNcjfwmhJ3~*-vC#%G`7cGTCrZb^u!9)lMzRcz7kTb-Vqi(gI)A!tb8k?XKVWm)dM6 zKNS7i+?b5hn{-ASE&u^-7fZUdUC^_FBU@Sy#Fv;8NSM3+CU;q1_oyNnN22E zWh5mMAuS zOTj(%DKBeENUPyrcqpv@#^g~qHSdk;b=KIby;xCHXl>};fPqxuT%xDxkF9Rp=d!92}Vh$g!r)Q}FO+ zMbI5VS|&51^n^4DncTy*pN%X)Pnp+w+J|0xsI^RWNhMsoc$KQ#6Tb^st?4Tc*RuvT zew@p5E`0ZPeE4d>e|}biqg{M((39N zANcYd_N_hObBVk!Bu%iu^rljqIKga|isa=j2I4QYsB4wnwjI>mE$0=yO1vhvG={~g zQFQlDD|kl$CbSO6BnjFCDR}(_kj;atO-w_Q*#D9B-r-#K@BjGqLT1?|vdIofvIz}a zC?&H`~ceBr}_26|(o1?7i3Tyt?0?$;xfJRj#{ zRA;vj8j5zXd(VG2;q@f`s93V3vxzQA8#=P}T%v@3XsA zLsSFqCUXRxbDJgB-{v?_!3v1fZe5P3V@@-U>n(TgL3#rnOiaF)QT7R|qDmxNubz2; zxApbUu&f8_d!BbR=Kz<|DLa&A_vsUw3x}TBWCHi|japT&jX2i*7T=iaeZMFm;Q11%z}P({s_nCB@O~;a}NZKpoaWfQd069 zE^RPnt%tja3Uq;@1bmoJqp5`kL@^g5WqQO?49lpr=^Ap@OCjH8pmd{60_B)}XZ!mU zk2~kONc2~=eJ!uMwsC_lh$o%4x;SGa9FiDBIhr44)N;^!KzeDC>mnzs+A?w&-wIS(&(4&wicIZ&YEy65SRJgRx~?6LU(|q!1(SR5e~ayMfw%_DPrD;X7rAMiVwd26{>*mx4EdrbwL|Dj|v`a z$nbC;XijrHOpA9rwc`Cd(AE36Qo7lJ&ZiS6ur8ayhl8BbJ4_QuXonj(_w?$7RRQG( zH~~mb5bDet(cEEyA!PXpR$Oy*#q zeYHcL42UUF!Sc5<)+5$CX!&>4jD<`+WnT1s)t&XQ&sJSlHyBbv%s4=Mu@upA6_am4!6W(%jq-uR*QOF#B|g{)2;qFD@$vD6R)yK|{*XXwo1e+87be@a1Hc``hkj|H`R2_ge zG5nXV&WUw@J_hyq2IyJo$NLwZ?}V`7XMX!~X&=wplFsa}i5;5PG{&H68yw~n6;hm} zbv#%=d_b;T;(B~{%}j`v(AcUS=!hx6$wakU;J5leFR}@6a5)bHppX5tzvBHllRYQ_ zp-36Sy~Rp#2x&QFFsDZQE?6xeU_J}%BUr%Z^@8p&8L9=suHyo5F~1q>q$ZMK?kjaW zOAyB%A|@OWUvBD?bXqUI(1+pZ7)5c@_XycF3ru|DUcQ^#O=&NyxYLw-6=xeJ?8|)Q9V5Ga6og)>?;e$3v0M6#Cn0N6b!D- zbqV^R9Rc)TmgrWZ^()uLCSB-mOoYFAYE((caaodHku7KOlj~y7|f1)+4X#aixYr4uz1qYpND+Z!X;w z$&&yQ?Af#gJ)qE{I_95=5`7bMDM8USZomf&Q221$VC&O(pjOmbIciVRtQKl#WBYr&}oWin9M(O6i1Glt%WfFXg5z2(JDyZ6?z2xBOC zM6yME8u>UX-o}*HsXGfc#HX3vvJ9afk;N zi~Y4cQZ8eC{)dW}yZ&GcUo`JwVJHViA-dr3=qQfwoNN?K($P`~D4ZlE<)zP6MWp5U z%|>REn@s@h*F48G-g%u+dGA6*|8{7@quu?!>JadqL;xKDIDBj$SXjfZQ*S~%vPvB_ zqQq5ky7e)n22~EO&qX5wS5?wINo~l|=jfkYLyOEx$c~ooS30WnVl!GJl)|7*)6pLQ zU)R@6gv72w?E(u7C6uHV@;iigejAekAPq97fK*a~+=HxIfbF47M~R#2>SSn)iir>r z0$Dw1SUo_VC`APvs=z3#_e#6uhIf9ko-PXQR{@~yOgE%DPCUAIbIiHkxxP?3IYRT? zp^1O{YO0mCsVbNIv)1M{N0U9yDw8}XRp??5^T>rq$w8QxH0C4ad2j&PkBLE5mDpgc+ z-_-PaW1t%nRM5u-i17fV4126iHvEF$va@^SHG5T-ow95iJm->bDaBIAr7}KW{PGcq z(6i7(J^1QZfpa#!NGg}dEBmSW>>I;rHjKB9q}KNvZ&=bkc3+Id$0O#)>0BdHiwpF) zE^X9kHtX*~ACqnl?3c9=SIMfDg)QP->eQdf>jGQ3$-&yxjAbNW@6fS>QuPZMQhvVw zrS6W#%w){#=++0xJEmVBMCprsCe5xeK2Mc zyq$2g7jJwc`Q-5A2t4wbifBMHQ+tq z$kzZOT^HcNAFuDOO`TZ46iz)fB*ZHp#{OVP0_9B1H5&t0P%XLO?g}6Qvq{gbEkQsq z0t4_eu+BL(eO5{p$NSJ(X0hehz{7o&y_a<#@~;!q)!*y9@y4{vm2QxhJ|l|?uPvg$ z*6hX0Gy#yX&qLVvwu_%}Lc7gogi!TNUhei@u}pI~_o>M_6VaTHA8{c+fD=jqfsEOu5u86dNJ*Un>KXJn;Jqu{caENyWPB#eE~_xnS(@y8~kRK8`$H$ zSyTo)NHYDDFQlA@9X~ zFwe|f(wyMr`j84iKqzK`I&^134f`IVCx8!Crtk_s7s#rP;!7UIriL96OA8A_@I(#3 zLUnH*vO|!DGOwfklm2S#2?0#*6Z;To7}3sFhTnIW#oG?)8QbqI*#@UMl`Z$mG9$sK zID1Rjhrem_BR}sCFx~pC#ccYUm`UiQ@OH|$rEC_y)3nuq^5IYGgzYn^;Rq~7rgAo0GnpI6$!&YBT6%XJY8&-on)oPUg>>R+F{5lINSsc}|}+clAe zk<5Ygm1ss&+r$V?G6K8)?n`c$dO>(hz@aLmOwn|R3x3vVWKswKDr^#CRQkH*_nl>yI!0{ryQ5hOe< z2kGRzDRebP|5Y%3sHdU?46>~6MUwQbNe?@%D4vejZ0Rv7^IU&^rS7>gqY_$ zsQ`vEcxu*qazN=Gr;ZT+xngD;YG^6Xqd1BxaI>ztNirI5iODJ{$40!+(K+_Ok+qkk zC&F%diiy$2&wzJ9%hmj2MX1uCV%Q7T6HT-CsFyBB1n{EJQs3K{i1M z+SRWPO+}Co2vg~rw-=Rd!3ItBKF5bo#K{*lxA~*D8m|k@vwIJI8&*ismgacbMMRQd zu>1f199YeuIwyLxx^fNFL9-bK{$xzj1t42m!Q3Wc(Uf}~Ikp1d^fosYgqTkul*rrS z!~)eHA`cL;`&1aJrUiO8e7c)5JZhAhEyCVTz?wPf9~(OXOD635#wl|!6}c&%*fwKd zR%1_Sl^h;08P8rt!Y>u1uKD zq2ssegcr}t1%vB$j;M0zn4T|Q2JjwI8<(MLI7JzNhuSirHZG-*EdRxJqOM@3*C$%} z8m5DG@`QVSntt>kCX-3sx9iM_7w#A)e+7q`5CImh3V;hNBzbroCHZgI+7Hd>Gp=Ho z0hHLm*-cf#N{B*EicASu>^=l(74P5ZIzU1I&12dvuRbWxMxDuC8jr(*O zg({B`-iA}5c&d@+ADOjQ6CvmjPsw;kk#TPXCfC` zbnf)ZMyx^I*io`(GJ2BYFP2i)j!`tV(2Jwc>&P9Hy7<6sY-8yGV0;2iy=3&-HHOD# zF*V`#dnV{GwPWt<{raZ71XwhaS`nSJw-}a`N)WuJ>J9o zgv$9*SFe_y(-hY^8w7}p0nDaz^FUKCu1SvP-k$vHoWZQJl3~%+0lONv=|93?r2?81 zTX0PhO98zZP898U(KEndn4QO@b2-vQgX03(XJNH;a8%SX#1o$qB=Vn_;d$n z>fy(WXH$z@2dGT5!M;3l!rlzeYy=NM0Oa4^1D1sRk10DCES>lBfu0RSD8o*WOnz_h z(Pd;3N)}K=ZhsXZgMUDKiDDa6D(sZ}HEw5XcuQ|TxRREuHQq4z13v;|DW>bm%N6*t zv7LicP*n>gx_wijGRMD{mzP6<2jyD2KKsc-8Ur`e=nl=3c1_LUq}TXpMb!xAw=xre za=N&FE4|COrrPD`g+OGOZpyBcIhAN0wV^6W{%8-%IM;jC$Gl*I8PCc{szWEMXht%W zcyG`Ddh&l<08s7zU0P}Y=1I^+%ru#Ucx)y7|PTx4SP$#$;D*{{nBs`(9+SIQ{*D9`u}i) z>jdB{D(U^-p&zo9WCqd-n`~hvxEyW{n2A^%S!PB`YUnC{l4M}YU*3R}3UbyHMHB8l zKzd+k+zJC@bol@r765uU@RUB>ZIt-|+*~wXTK7UR^{)449xv{2m2VQ(-wT3ALZ^Iej}=V;PcfUhuN1Lj*$gW&Mq9T zR05U{o>G8yl)wa|nE0OQ597qo3c_?zkaRIr1|5b}tjbMB31>dr@fx2NM{!kCN4l1K zfAz8?B)K<;lczeECHZERNiW7X<4U3{#|P?o3hX6uSbue zQc`0P;5CO+GRJJF)H)cArFjfMt(@#-g0#XtGwe9Jr2V_<%Zgj;1wZ4~!`uYb6f=`|jGh}D8yka&M+su;#7R!vC&^o) zIqk@p;_Jy#E^7c4KgQt z?V&@)JV^H)Q3SPp@%(co*?a*AF%IP;evMO?FI>0~5q_K9>b##x%Ud09yuji`5}u}a z0#Et62EBB6JHzixI+%3L6&^HmCRYeVDIJ~C!O_%h=`Ac-?^(iflaTG+>CBd*jf5tY8Ah90<#!FQ)Y)=As z3u%46mn3TEgMwYCn+zCvF}RKJ6B86sl$G5%E5YsA^JjfJeb+mnHFZ*ZMof*9&(?iH z9scA$obw|XjTIdw5j<_N^9IY3D$g2zeyqf1EF9bcmJgO)s>^r4a)GFej@mvy5_?Ye z9%1-p)hkOo2U?mfk;dm0xlN(152KbD!Gy_y4tWQusOCiEWI9QPM3(^+GH*X~ZMee# zd9ap{mqKr9XZDar3N+ceFRQ+E}AzkNI7$gOU;hg$>Q zz-v0#Egg_q@P_~O#)l8e|co1 zJ2*_ZiSn%*A@^S&+4Cf9d>8y>ZG9^ZBnUQcJ$lKIENWLVz$dz3x&2w*-h;led~uLK zrml9OQS3#(LGT+_A~soBc6Jt)&ECIKalb2s^Oj@1dPZcjtCsVstMo^5tbc93-cN+l zqlBOWJLHnnuKWc$d1B3BRLu zz6rHtwH(eju78oH9Bp9y;2un`<{^uhQ}32+67r1t46;b!^OJyi#o}d%PtSX&QBLgp zqFw;N@0UUycS1>s_oOxG?dznQhwKK^WGT$crfii^?OFEczyB*N{!5g6qU*D~81q{W z@;Mp<9MZzx8#Wqg2{**-W!&`bt0C4Y1hoW3Gwp)GZb_c|6(lGvW}cwlYRiyIP$7gj zYHg2=Qr>ms3k$BruqIQhW$nQ(!|sk98va&R920W&&^pAor^eJ1C!EEsUM7LT`tUklq$0Gy4^ z)UYt+Y%qzfHux1tMsfSuce#4X9)I@fEpyqwxVGUK0LCq-@B9B@immqP2mS!Bg6%FK zDF2L6AiJ?Rc$myQg8dg!0--*)*``3iXu*2Mks{UZWrvvUW|F8s(V6KUS4}b1hmO&l z-PuW5H@&4=uWg<6g;x{+In6GW;2chXU46;4C}TJI9WU%wO+pyND-T$Tez(DG>Mu^T z20#9x;>2PriL6K^b2EJAfsT$aQHMXl0f#exW$KG>;7B!aPJ9qYvh)4ZMf=#(OHav; z0I!6kZelf8X7{DcYj|GQxnDt5hBgi0jdeH&E~i_4pHGi_OyrOBP|~3k%l)IVlcQo- z=+6AQg-;FGDb1lxjD0E`XKiDne)Zb5jl3QWHuD<5~Eh`8dMpS z^`bRp_Ufuy6@udjB_sjFz6R74p#zsXc=D*r^Z$JPh*0NL?=oppC7qUvj?nK4o1HiJ zT*c(RY$Hl5Y_~4Dsm8Re_e7pLT$erSzI;|gX-0MF`G`DB;N*edB3%e4Ev^idDWMHh zYr@30Mn#Yu`WG3ZC8m~U?55@4lkX^{Sq%X*wG$lEO&{FrEck39cwPlkj_*-c(;scj zVd>tRBOO{E;0J{fH0N$uB=+71Q_ihwn7yXURL*CALU{sEFT%%09U7Y95L5@sO0`F8 z&dd2PNFmN^L5Xn@Vf!IKcO!}*5h&z>b*b?(44g+{+t9tJO|gFVObHToGGIYPyw|vm zJNgl;^fDqrH8~;S^wFPd)ow=i_UrNrgm|oO{0WCe{CXqp?XkU2)}!6+?I~N|U8;wa zrLd#6N^^{%Sl`ROGmTv)`UUjrI{b?ElhHF5GpkUY2%0znU4Wp=vL4dp<&RR1^Z7_n zqg$yAJh4a~z3ImKgr8z-$^_n>ZZY%R1Zg3LA36`|;n8OE8md015g_YMCrxqQ>ZTKJ z;pE28De?r|s0#*nGN?{%5es#MyN_f+UlY@a!-a+`#T%kE_(mYl9^juFYGFAH*5t8z za8Ep<&6f0lv`{1{EsrbD~=@oh148GcA9C#x@8HT}cc0|CT_& z5iZMYgg)Dkzn_ZJlbXRyDNzC0n(0^?~woN8erDknPrX+>rMnMfFl}fhF<{Y}|2W%Zr0GTiQ&7iZyxU!PvA@DXUPE zr)zAiJ-~pNX|HQh-ua;lg184>sQyFh-6ErPN`cfxxB7O1WxA*|xU|{8P{Lyomuc6# zXL$H@8Z}sm0zB#i71Oah=y41kH>ff_2-_?X7lu8rI2dDZ0V+oKPQY-~1FRH<+hVU| zWWmhc9Msa`VAZC;8mJwM*QU1`nVqV8s5;B}<^HeFA1`jdkx zBT+WQ#(D1UwPQn|BqO>uY>Ug+DhKA9kfIEA7MfW%c_n%8G&D1RUKFHTQA>!V{nR>A zI%~M3ZhjbZ+qF{G>mWvhM;}%`Wlv;YI^TG7Ua_P`ytwyZj}|vy>w_9d0F}J8hX@J@ z2^E5jnho5}CXa71d2WvP_uqGZW;pX2+PR9^z2fsDy#C`w_BVIoVEH&AM5_}q!bnd) z{n1rzF=5fIlzzQkq%>*rM|BLT_d2=aKKm*mt~bmh%SCbxtB<$Af)pl|au%qQ$l_p8 ztF+hQF7^l-ppD1xlI3e-&pfrSryn$8qqbl!0{hxkpqtczuHYE}(u5_2g}xvlse`Jr z7I-zErGZ1K^Wpc?$k(JzIU(&P31okpPPxF053XSFmE)yW&q#DxiD)))<}Bowe*4Qr zsF464zv^sgVQ2 zlF|X1bCmz@s+81_L05YtiQ|a|R(2~a>W@Lf55OsModIxyLmPldu(;jfE7uhZ5u>h4J!)z zWHf&>DYM)MqmZ=#5a(5s;J>`iN|=*KQPJ0AxKKBHlvYFZ3dD5P?!bRJSrR8XgU}g( zRUQ^jrF$8@q!b&cunqGQ2k-G>F=dYCoE^pdCUMF6Xj;}JO?3@;W1{>gFg>d&wt{%6 z6rf}PUz`#pNwkBvI(*0iSH`C@d&lcj9|Qx~cVwAQsH%h#qdz|0d3He{QYku9xca-} zJ6N`YM>9V23z`3xE@9EZB;Kev0arCC0cJ&(w1Z|)LVw>pEb zZg&IGSV3UuItE6zj(;Ig#9zc_^l%vrOWci2OxRCN6BB;2ci+dyC)wXFoiFV|B|uHDI$0m-#BuXq`SeiBnTBY&U~b`ESWjr(4G8%!eTk{?JQIW^`IjOP3PE`a5V4m;;}zgOq;CDqkuWGRl{6w>y@vbjliXFmP+&`7d^b}+RmJMq_aEj(c#TtNdJ zcEGRIeFX@9>O_;hvhRLg4ZF2HP2M3Vl`}lM?S17+ioMnzotT`+tD+0hnl1c_RWVOl zj0OYrZa>xuh!aDQl!Pn4ZoHKVb-;8{7QPhH9|2P;^*lHzU&37qsM#q*MNMrI-m)uX zTdD)Ph@A!o0#(In5@laRA^f?O#z)uV3eRWe=H_l=kce{o@#CpytfzAvQmv!UZ$)Sm zdp$PKIe^SlMnEGaiOs$|M&N1Uz8;3lwNDDhjAWg~fl@evOC%KW+;5Vmes7BUbITB< zxwyDY0UM7S!uDXUC602fp~t9AfqM~h${)i?h&p;fQcl$(Sy07xe8%tN4Z(nbL$^3b z#FducBR+LTT2VV5z4HT}wdiP_i`kp;QT{|KC+4(fwpTzF2B%Up{3IqXpp=e!f`!}I zK$*j=Ta9Q`o)7(mLt{!{mWN^s$2wHB@pT;W-1;P#F16Hzn^lCFvA8LjjSjcNeIu$I z@m;-gXGrfz_QjV^z||s*O38+xVoTa_a&~5=43M>W1F}tkJS7hnzm7yiM7UJK+~wux z&oocRKG?qQI#9v~HlsMU_Qk2OAO+T-nOAvE)^}wtt>bDqte03lZwGhlKG2v8CV2iK zmEESOf&Kds_DX_2;q8!s-Uc%SnH3dn#_X-kbUuw)clXK2(B%G?;0M%aloRR!J&*zz z4T97SFeX8mRihqN?MYG)Tfu;S&=*!`hiuBKhdC67r;*6VUE(`?kE$*)=B7%i{8uvt z%<(~)nzFwxyXB<)kTFx0L3U{#L%g7web~2&0I6#65T+D6CxG-kp9P-4XcbiI)OvM= zBpK^P65lc$FRUiC883B>!^=SmrofX(+W4TaN=AdtQ{^`Rx$NiJ7&CNrH!8LxI+}i}q3wV|T1v3-H z#l>nF?}o(@flk&=5o#04)U}3u<(^I9Ume2)sztiWR+k!55tf zR4>vGd$pOCf);%vg+ljLO{^(nqbDo)t1eNg9JJoCLU-`R!}Xph0{$FvQ9fSmvubM4 zmAJ#T_;m-K{Llv2tdD0}4Q<|#Izye-+cbeIlSe=f+YFtyUzj8xTfn zcIcXch^!i#wQa>d%UTxCQ;l{+-{e9utOy9i4OQoy zV|ID@!C!Eg*!DU(7{gjXBOuRF#~E)wmXjf<(W6}z>|j=tT3I(kcv{4Ib`Fox`E*Z0 z3SG(*QUu8yK3k_~AdU$nnzFqB&GPu6&K`1lNiR01cPGjqfU(sE*^fwzolDdcMnTbYWlc7%-(-R#j6&KLTnn2IP}3klQ`%xifOnaArz_UyOz%!nSUf^bNa*+M&X3 z0e{t-M~!NkA`DytWVc}TWpl&UHQH~*?dgMdr_Qna@q@N&%9%1;D3vt9kaaTz ztbis7=on*>6tJP&eL9M7-@fdY;CRYJUEvau!H*zwevS)Q-z_~ezn1pgoVHC)$NmvN zC4V|@*sTs$HMdfH;tTDC4h74LB2apC0q1zXP9M^f8UU6>R{){tN-)?cO#r6q3da&Y zpyDU4e`3v!new`E-GWP?&K7{$S`uar)M0EGx-F_TShAn>7lt3z(52XTcpQELIMaVv zbcw0x3ifmj1ENc~``qwgu#b`bL%WHPn=gLN*LtoS?jVk71i_p)j8Q%U2?8~rOAvDa z906~r7*4-1r8Mx8u&X%Q9zq|nnash1iWSe5*52^);Gg4jEwU|oqOlQw)VvEF;|4Ja-8d|hLp+U7v{b{GY*=GnAd035CI2_XeV$PqQRh;Ozajhm!;XO1hyJ8 z962!B$wA$9A7{UKQ*SJe+FI9qLF zZeE53N3{vqM3A5?$345?vWeYA9q52NQ`uO&L|_QhIyUPgN**YzX)ft*{(=Ysb>;Pv zk+~zs!M#@k=Ch-=ofy~ACIfT8p}qn?{%&U)em{!JU+DWra;c1)FMLzcqt{N zrUjwAffU2QNiVh@2?TfE$B!Q2pq{$mgyjR*mYGD9t!Tm#OFK9_tpWpD-r@~ltdl4g z8gP)}sz+9=0ez{aG2a#b3jLgtlnHYXzrC?UJ!DwdphnQrS`TF*QMHHDjL%>OE*AwKjCi72j)};)5?a(Vy0!r#W?$3%5cIuF|H7il zCj|{w6)sK{!2#kFf$3CLT>e0GQMxqP{pz_joBDrTfIPXbv)nE>e~3-2QOLO9lx98^ zem3GfWOdTr-@nTw13Hph&@7@Ui_lsOt02$J(FZ*RadJ2_S9FGMC_!R2G?wTicc2VgDkV#ucW6d zn<-!dW53#BD->pjAN3tTGdNY?C!;P`K-y*lsV-#zfFn;%I0`1C$9)>i?OkLzNGVoPn_gMj0=9FpTbl8YS>tV{mAwyv2rv7ufrV_I=y$JJbUs z_wQIRM*n%mdbr#A?V;QA4mQO7G`Y_L;sN1n57*GpD=fr=b%1gbjxOVq<0D9Q08`Lf zK!{Mj8XPip1)nV?(loOcZTtb}$%hF){G!KD+VA!^O8WuH_?-8S-K-(yA5qRnjI(vk z`rIqk>vm^EecPuz9_mq5gb;8gl18>^{Z~0Yad%7E7te;~FP*eTk4%5(@XJGP_K4;$ zV6IhF3A>$P?BsaIg+bC)Fr6p4rLPI=XQL!=4u%z-ZKwF&)D0W(!O~Q*tFh$u7D)`I z4Gfw`5O1Ce9#eW-x}>3?CF&WL0=5s)(@f-ZEoXr&vAzCOc)uMoGk-zx(OqggAqNzw zS@)Cdqo8llmX*V59u(a5X#&XBQt+grXfwONg|Igw;QC5|L7-e$~Kvr&hKfh#d% z@ZY*qarwWerq1B4MfPUdJk^jC8mKbRR3yU5JaC-2;$db3#*Ub~l@2y^TUrT2MfpHc z!FjK`4bWf1;)B1si521vH(U@=?JtbQc!j-jQ8OmD@Y)$L5mYs;Tu6+Bi}ha+tO3n; zcQ*r)7_MMJa$O7UBQ$)V|Glg%i^nP##|_tLEu2psLqkFTad%qnrOAM`DF~bEKHoc? zTVfr$Ev`orOqL|?7Pndc^;E+@TX8_= z5G?>ewgfHwuR+w;@lr64RFt8Ti2-9DU)xoh2vy?K#sU|7{8j%gwWmo$ZCt6hKfKmP^SVBWW)j~w2Qj8PXDiJM|K8(pc z$J6(iDt6gt#~(iGTeYn90EH3Zo}D|3HJv0>heMkS_uNB`hp# z((Gs539N7EVr6UgsEk;{o8C%^5h-jJ-Y2)Uc9bS2!%GO=c)BEd;hpJ>*qK7tJKSa_ zvehj`d?Wz7yfZb1ffyj#44ymNySuL0&_Wu+enur+`Hpj%Kx;mG zQNb&*Npj}LCEi=BCLaZfig>Z~k6GQQ2DE6)E=9bX(ByJT){aLHyZ>eaUHbp4Y>KjQ z1^eprX6+4svw{1}D9W_O0;*Z;c`!6KDkUwQ^o>w!Pmktn6dM<1y68aZJ7X<+!J+jO z)i*1T|NKL=lHy4?J!YQGk!wiLZ)Nd8e%#4#INBxYPUBzjroXH)1j#n6WrhJJ3Nh1!>6GtRR6pky@3gU}Zxy}mU4=_@ub^3I=WrNaC zuEqA}COU_$%^Of^W<&~mp%m$;g+cepL7vyvr)#KxX|e*#7aFQFHg&VUZA&H*=9=T_ zwMMgpCTy$u+@vv9r#gy6jaM)~O$ZR#B-|7Y(fwJwIXo`p87%8+8EBPOPQ9!Z93M{A zojtd)7In<7YXQfOrm_d#3yeZoPi zcG9yhpY?TH?Ks0n-~QL+rmTzqjZ1B`TleB7(6wL)Z7hctoYWeMtP#eiWzhgJrUzQ^ix3S(1FSM^deCu)qI29L~ep#HdXvbiAbgUm3hL%TDmQ(h5x< za3YQXPMpHQJmf}a;^0_F)LL-!W$k#X=CkuPuY31lEcaIm=r3hJC3sVy`up-*2i)mu zq8b~`Gdt<%lnEjX|CRw>)r#@&XmH0X$@Z}AjEakna8~=P$37Qd7~Nz=;aYl5BYTs; zC%Zx0a;oyRZs8{#2FFYHXH5O}TR?|$L)kWQ zH0Aj^0}&ju_(|`9dr0!Cg+J{a(s3#!!N8!NMaC<9(E45*PT)We#4oIWg)H@x^MrVO ztR$>hy0xy?F~R{fTvAa=rWtEzZeOGfASf>{pJOQ;7XG&?exU&i*U-Oi zaX;CX^c*e^2-ElH{t?L&>=UvK#C`G*<55su8WT?HjX7jZ4eG-q@%{#Om&b*mVh2NE z?@1Gu=H$@*pz!MEKc{k>AO-7W25xBs2UVJudoz&{*DMYE?VuZ@0`J0RFUtOcgue3^ z2jYaCJcjviP>LG%&qjp~1z82XY&6y7?pRYh6`7rMnm6ZT=i%0CUHbZ0-Pik4OlQ0p zomf_x4;Cw*lE>cTYje7MAymFUZPigLMnf&esNif3=RsCuurpHFb|CHT=McVe3*#*x zIY6>7XpwjH2}&*}_ewu;e6@Xhd_?y8EX$PXBj$5Ko?r6vY?u;`vhfeoQy**R_UEP- z=T8LF@#&Z$CJ^}Lxd^J17RnUoM0&MCJr$9N%Jc7O9FSBEPlNC6^;G3jf;`edHZ)Sa6M z59f!wBA4njVk(n_dfuG#JltCI!#e-($mh_0c&i8+u%7qYBVm<4GtSIW&&CBcr%%*4 zUoCNaRrcSxPMl(4x9-tRf5jc&JH^SF!`slraShkopvq$pYxDH!F3-pzQoye6+kWH1 z>uO?0VE%e~d3aRlaMZ9^l(Epxj$g~p;;Y?r^^V}2dKQPdjY|mkz1sIjUq)d!?Rm@l zZhm`o`4Pt?L4wV>+vU-#6jFK7jYN`(3z{jURR-_7yF>jl9>;ItcrEo14a8d}d=GkM zO3$iFoYv|wY+(Jr*Bkp%xekLQ1gVKh$yD!JBJSYo2T_z0)e~$QYU{%kDHbL7NWHCw z4qy{9f^Qa+z3SV<>6eEGyiea%G#s(?> zz>qf?gu&2m-(Q1klbNY(J-o`Jz53pFGDLTw1l$>_s6!hcH&GN2rC<0O^KSgwH+C#@ zwH}=sofO^eL`k;-3vkn3V8^U)3x$h06;i*0cjNqk#y_}So9nLB@174Kx*r+016FXW z@y(bATJxi8evue&5L2m$pm#Cxc*IfKE9DkUN|2VAUx+<*dKUnx5^E#bR*evRWdUAjkiN$Bm`}o$1eTp(xq*f^6wH?O8Z}htpH1YeSWohwChLF>Hm&e{kG;c zJH?5&aTw;$dS&ZOuMgcC+cJ)3{*D#T891hNzj|{IEGeim)Drjc6XN5)27V5a!SV&V1|GLxg#HkUHTi(hKf&k6_AV2L8BtNP@umPJ-Z6T-kBF_AaIH%+DD~ zDNajI==e7WCo*p^6#Z!E=S*HCDQvzu{;!CF7gtF(PU(n153*$|FJIs1L(gJY5Is%C zJhZ3tTs^gGjtQJZ=dmAFIU?a@X_>KIz3)Y=9Pfy{{)=mS?|8#Owe310`|Rn{zklJL z%w>L&PK!{LIlSe&@i)CtmvYJR{kgstM*lV)zQ=TXqPM*UpCM1wel*}sC!Y$hG+i+KnE!E7ZZ18f z&SZ)dalsL$|B%s0p>SxT4CXQGt5^HNCYaW()ini}Vh|--l zkvY9Rwgbsa0Eqp!VyUV^?d_UHk>x@x<6c*xG}D$cX9|8tfWl-l7#(3bsPtCfXqa7R zIDPah$hYxoS9*x=WP@xaf7E+2+%)|}r+@mSzd)Er#tRv8V!0YIVQcQSjuK~P$W6Js zKad9K_RU39-cgR%`486EHCg#cr$-rtpu6LQ{xp8|B?%^0cg5pQOxU-`H`h5S1F(zB z%g1723{LUZj%OS=8;A_WannPHRH#hoZMR>sk3ZX|Ga_%3tHDR^AZMU^>iLY;gZH@4 zBFK>Q@e9J~UX1H|%?~-kG8$OZ(|vLnr5Wz1e--zLFA2B&(g(ea4$gxQ=Kp&H0AYRK zTb=NsmHGDys)_M%ZmwsXJuXhH9!&OKS9DFgYyu$37))kQlsHOL+I)f*yI*gni8yHs zK7Dbs4a34U{RD&4WR<*f3*UQrem;(#iAkobv$Nnf_bi1hhddMIXQ{%Z(cf;DG=jn% zE4x`(nv)ob^a(u*1iYc{N?!C-IrXFv7iF8ZLn(R!EVhEg6wS6zmcn%zb0?b9HU)Ns z&pBdMyeeVvV?Irlx5#(fHREFQs4z)QYnW}5=y*T-C(Xw6@ouZK;$Yr^B~nsSMsq7G z{pmk>5B5c7q!Ch#n;G!>~oHkIClNKS1p zn)Sp!0ijS=S5Y}sRab8(8Gc>Y_EN#wHDOm(4T+lAvb$7o!2Bcfpl*s5*@lEY(rR#W zI*Ext`9R*T{W3Q|$(F@5{X$d{Z<@VfN4dtX3E;fH2;qBnlRQbqg(T0w6Y|seSnCJ( zyj^-dT25HQvCn{zmZ*5LdQsmYg+%&ik`U+*!t zZUUnsf7H={C;AotOY+uc2ksA=lULuLb8@||?;CyuCNU8%C6)vBj5l&G>bS;L6ssD8 z%|x96&NTtwU#V%oc+ny%p2E>)fAvmij9m~CEns*|@LuC@A9z&xM38cN(29hYN2~hj zvrnzX()2kTzp!d@L3@~pwTpY~ zu3l-$C(oz17vK#2t{s^L%kV+0y_zyQO@X$iu&uIaBEs{xaNfV}@Nhty~ z<}ukqQQi^-(gQTA8^q}K^hDv!$~7kGC-n2~6yqqyUv-;({hR57AXiRBJb{eEx%-ww zb2htQ?(~~X*;;*sv4$atbH;8xNjJ@S@T^?kYA-u|JwHlAyuCp{Z68%g{J5 zX)pS}@9?2_Cx(nE8fV@a-w1HDuh40V+*LkqAT-=2;FA^>7k58_)OHFbq1THh7w1|< z1#qwB`fxAB>^iG7YHi8M<_Iijx^dKYlX5(~{NEmX&0Ue(9_K1C6MJdy##O53|eHh0z1~|@9K3M%|e||0xfddNza^-0tD7QP{mXUU$&*k z1Sr zjY&?x!=+`UrAMQq!wxKx&JFs>Z${+)nQq^Bs)KZ^5=57%^Ch_?+zMq(%zVOPB=z$4 zDChsXo`W+Zp4Wn=JCllF9GIL3dd%dzHnO=6e@xnM9nh>-jCIdG%~1!Mhzxm91O9k$ z7*WAgcdlxE?6UfYRk!NJZpHbW`iRE*DG|L}>HTswv3On#cc;GpZ?TA%Z^O)oMT3SE z%xMhR0upcTnPi9(wJ+S*7Fr%ugCC1!ITy55&hbjGFbRvwN>-8E$3V`C5#|@28uy5PID1#>ASj zR~GihB2Uo2cRyA67}qv^-}F}24bd}3bv^do0utNqi-hLbrsj!9;`qW%r8Z*xDAwXcTGMr6Wp`n!2}ybX*3F)_pzbv~G19WU@kwU9>7gE1kAhD{WBsgnjeO z*7k?}{sHfMp7;Bn^PY1)pL0&C9VT5!{<^o|q=MI9nm(rP_g-05&)xw~{+#ZK1;Nvi zM`FftGTKyl@K38gPL^+I(H{GzCd5Fu!Ku*Vng zX~Ann)FUlp^c?)QcZ@6}1m2f%=h09uaQgXg!5c zRZCOT(j_40-dRFfnkqC!8>iXqjer(2cA`8Z*91W$no~05OKa^eirA#+zelx|_PTUu z4y$tE*wLn~;}AZiKbvz5frCXtyvJm}UkAcW%O{DT$L8LhP@p${?4oiagB52`&x}+ydIR$;`c%525;HElIZYE{?lup7!o%`ou z6c`D+nXMHauvWQkwwCU^m|g#faU}7?A=Y{fdFSHxX69EB7N5Q7n|W5F#qjsN(;fZ* z)Ds?nzd(?JMvsUXzt`Y@3RZbYe~$chx2l@jMmKh)z&8HJbw1daFy}w}m`<~ZZZko1 z;*2?koSEM^aPVL{%_g?Y2Ln^u1_d)GGQW)}gbgWqQ)w_2v;TU5L3ilT(C241KdK)( zuEC*!VjO~2bI{C68$d2gsf+8WM+AX=uzh=0LOjp{TK{`$SxRD0AB!VF`BSdP1hFY2hMn36#dc5jFgzo#r`D*69xPkrq- zFA=yF1&gr&WdmS|&4ap!59cW`NlHNlW{HAtTbsJC(H=KYytuv1Z(_u0dtqon+>FH@w8-$1j$~JO~3dplF zc4D7~gFA)2p_|(pDTT5UWapa=Ui`oMbeJ3yb^Xs8V@-Ibt z^7_39s$H&0dAv3VjPvX_sQLr!a(SPKL2r13w<8_8%s|b;gYn zfxd42ue0t&4YYtE`40|S8HD5ENF;E=t^PCF4^9i2W`B@M?HRJkE(IKQ`0u-LAY{+D z{Pb3C_}}o^ZKN*hgS|WOyBPCFpL_U;+q#t*lAV{W&QYK$Hrt#sKm)F;cXl2UAR&N! z3sQ5}0st9hN?mV^_>62l2#|_lOp`| z7OofBA9uZpZyq()ArwzgC*LOD&);;=UU|1vRh#Vq0O{rC?0EVc=oZhuaGW3lhn&h~ zYmRw&r_y-n*DQ=8R0#PVqtMgI4gTpl^DvHLXgqLDff8*b*7eti8ZlPqR>QbPU6X*D zBP|?#<`H8{aaH;H9PjuAhw=gyy1#mX+h$0E7ruwD4({WLk!lq1r3O6!Dv%n*4z|== z9q#Jt>VbWVT*uqYoi&5OK*{nR){kM@XT?RWT^ih=i{YB{Q7o2vVanrO%rmNA>KSz< z7IJ@+Gh40zbrS+2yU++xFJLBP>FZlCuX5{_^HcaKYMo^h5@QS)DsTKow3}61hB9?K zlT9-4u}v)7yq{DpU*+!0YC5?H|C;Pn1$63w$jsW!>qv{PWM&oa;jrv&8BeI)Hq(h zY~zZZi68S5S#R#$(4Ew`5H-HtH}<$;r-V;XE?8+FdJ_cQiewaU|_(Desod;epA4jOr`{g zeROm*>4qC_$a>&`2j+I~@f9IWd{%vq@a6~52tlto@HRa{yH5nNh)hQ_{Rk*G= z5D1tN0b;Y+-hq5BBA&@af%Tsmti$1`N=!^F_WS*2h^XfAcm(%o0)tfJR3c_C zz%E&`WXkH*t7}S1OKV(a$LzA))S0+0Bv>|rWmBJ34 z<=%bw-8Ivvm(=u1a`k18t*UdxQuI-`+jQojTkftjOIfZFtg$y50gp;~;)y59UwrY! zb{zWSG(h}d@3`X*4QxqCNlj{M>YSvcq$=cS;TIQNrhh-^lmU+mfeMjPO)4@I3;Dw3fMuFsw>QNGS4py(WmTvA^Q- z$oen)0X_iC8gQ*M1IrT&GR0~(8-T|e0c`pC`Ezh=!$&smuMNkhu z_+agf88hbMyK0aV!A?cknpEfx4-d=8$cO@=%O6gU?mKKT-1BY zhQ=ZB2gbnTe-w_fq{JabX*OOH?q2md;&&7h;p2}#KErCYvNDX@031AU;>3wYcwNFZ zBWPpa((jYMUmO;ZG2ki%(66XWGu$5o_>lLYkqB#W&U!5jKqdWeyz#~f7{D;CMDu*G zY;Sgp1{k7x%8V?V%*;uQc7Mzfz|Vz+g^CDGadSX_e}CZEv13kzdDIh=wgO_3q+b>`Mi~1E0#q$hRInoC3>L2e zRP(?2=9?N3#tK{kIDBbXeEvYN=k?FGOiv5t`AERo$6^Q)VYMQ{xDB9)5QR_6M8LB@ zdf6?6Js!MBUW!!;(`=FQI~)!SnoAotGRMd^F(E z4WTN+3J_s3+BGwP2Nht0LAeOR15RW#55p+epOE~YdvHWDG1#)=5zHh@lq zSP91L{nmce5jr2L3hYYe{!2(5u@f$!9Ay$3~vpB8X>1_EI1S)IBs9dz+QYtp1ikanBOoKu8V!7Ok4HBK z9N=>(B8LajiGUB+8zi{#y~8tG8w^AkmjM(JVu~RVMxDo# ztY!r~$Pm2Xnt49#^;?g3$Y)L6VolA`m&WlJz(|BfRXLbRq-~M4bupQfyL|oiuJKOvNq_j7ZN|6vO~NVp;^ZE_nSHTaH6VW%PiY zXm=WjFfIcqBE*3HSjyJ#RpkT|p+X{`HTS7&qk=Vh-5C0Ak53-kSSMXqheb;|faiIa z$16Fxc{&lsZ2(1t_~D}^mU4LIoLosuw5m+d3!?u!b}5#SW{VpBBOuj(d;h4My6BW7 z-=H|W{o?QsN>Nfk-o9^vWM^i?M1(P~n(zaO_5SbfAS1n|wxi^=S`#Qww@@Pi3T1;C0&o9oB$Cp${5{!@g z$XkL}`#(f!{A2LfpB61zl)*7BUcC65=bwLmWWo`^A4qSy>87lzs;ZSZ3>yKWe`k_K zm{lze{bu>=>0U|3eHk#I z!)}$F6uUffYq_jiFijFH<8{E)UDwdiup2u6p|-Ym2_k68nKNhpeBi)=&Iw0AdV0F` z`s=T++`fH#JvS$X_%$cwJU=kvm!EHKl)Yzrg5MG$0<7}L!VgtlAp&{-yptlFQySwdZ zezYCCckkZu_S#Y~Ufn(LQCQ1PtWE{m{n!VAFEGB4FG z)3O{=ndcD8P>-B$tdrmW^%NBnY{(EqBuSdapdW3aX$FNO858n_7;dp-B zEiEr6Y5-4PUthzNDN~k5d7l^ZoE;0L<<gkgiiG$K< zE0l){GbGDlV?;pA(%#wvJ~%2nKKV-Ue8GE4dYBs{2vQK4ic1Kb24T-gNX90PVx*Lv zvjlUc4v+9UbEC?G-gyWi9u~DA9R!1OdQv$^kMKHSqv9-|^YZdE#oOE4rlzLDFTecqugR|v z*Q7Q{z5DLFf?b)*@X*DWTCQLdRQB}g)A^9FzvR+0EMDsB>d4NTtX#QL4_P)$O9FP* zSYN$;re_J9`OGnBTncB0mX;Qtqo^@>oyvbckA|Sp`GS=7!|bhFxBg0%^b;IhJWX+s8Qwj5DX?zcIuqvlpFsh7<$q!QIXGPia6WwYV(=DPHJJDamH_EpRk|{4 znaj+5J{Ua5=%7^Nb@U_^M|d)?Ig8L3 ztnLVsp5r++HtPU-oY(U^9XNZAhsN_37~QdF&z>HPxdo>v#BGMS#~I++XP-4exqN`{ zr04N4Gdx_2aQZepQ48xP!t>3@*%RP}6ohI)QBje`?tAy{B@rK>Ruy5zioj+lkw zKp2Mj0|u$Atfbd;62hW{VXZb|QgH=TO=k)my~yuXiUd!2`gk-z(0U|N`O4y|i22TF zU^E-*0EE#`q4;`$CS#W|B60C4Jmin?dM`pdfMY+D@iXiLXfRR=t2O2!z0NSb>#n^GVgD``DT(Q6=t5(W4f0(?GZc)iN_=> zemBvkB1QERXe_*@F!1pF1oXqSOSnSFgx}S2kPe&QfB*f*usOO4^D%Gq`q2O;f8V}+ zYfzCDFuduVRjXEU4yV@%oC?y*EMw_;<}lwTsR&?r8$1|CA8E4$ozZ;??ZXd0+`n<- z#+}fw4jgthoB`+-I|Z+d9)xEL@ka>%gNiBxESiRgEd-H0jX{%;?*x1n#u|dLY88u9 z2%OU+QioF-!<}9ycp6M8PKg7s;hZAI0GPfRrF#A5&6^Kz+qUgI-|0e}kjvnxF7?M% z;S7+dUX#7>!VAAd$R};uwCT4Pd?`HmOWbT7n~y&M^Z(Z?ue@^aEw|kAW1QEx06oDH zI6X}vaFz4%fj9O9OkG?Z9UVte@Ek(fegGVH3Ey3X&Lp8Bd_T-(JW|;U(U-wtQy{2M zz3;yJ76ZVm@OCNko!+GvJ2B_~DGd$An0n)lH!j67D?PG2zo!u>40|;-DbR5lK(Rjb z=|C~I@5?X0{OqNdUOEJ4I0+Ww2H+8hm;0SjeDP)_G3^x|4eEzr&2M9{QnEbyQ2<^C z1va3>q;)MNXjm`Y&gq3-R-zc3z$e+%^hT2Hh4CAayC+e`p1|yL4Da>Y0MJcBLr;G4 z0c?PJU#q_u;dJ&49{!85KadE(>d#?z*rY7Y2Vo}gArM+2rBql+P@aa`;~VOGRq|?J zL9)SMFW?$ikY{}W96-7eu!I5}uK~Dd`41@boW|^Eh=8X7{sR%Y0wIg~h=rcVHLMp( zgDSa*ug28(1Pial3N~UWUrPgUb@mWEzZUtf!2c&mhTwZ4gAm>FXd@_p8&H!k7uAg3 zWzO~h>}e3?NlcA#dG;S}05E?IykkP|hY_9z+5Cl5h+aU92kFK7yS}=*nup4>I#_xZ zMboi&-g)Qi1{=Ep5R%V;$;(jad7=Tk4cvXZ^BQ`t#X ztt_Hw7?A&oYhODT{7I)%i#Lt^3I^kj#0sDJk{0I?Eu-+?HJsysxDO9dv}RpN;sB5V zJ>~vgtyLBXTe>HPlq`tS2j^l~%S&;3XL$Ij2@-rmP}^yfoS)z!${04ayw-E@991)*i#$G|}Go&hD;$C10

Document Viewer + عارض المستندات + Sənədə baxış vasitısi + Сродак для прагляду дакументаў + Преглед на документи + Visualitzador de documents + Visor de documents + Prohlížeč dokumentů + Dokumentfremviser + Dokumentenbetrachter + Πρόγραμμα προβολής εγγράφων + Document Viewer + Dokumentrigardilo + Visor de documentos + Dokumendinäitaja + Dokumentu erakuslea + Asiakirjakatselin + Afficheur de document + Visor de documentos + מציג מסמכים + दस्तावेज़ प्रदर्शक + Dokumentummegjelenítő + Visor de documento + Penampil Dokumen + Skjalaskoðari + Visore di documenti + დოკუმენტების მნახველი + 문서 뷰어 + Dokumentų žiūryklė + Dokumentu skatītājs + Documentenviewer + Dokumentvisar + ਡੌਕੂਮੈਂਟ ਦਰਸ਼ਕ + Przeglądarka dokumentów + Visualizador do Documento + Visualizador de documentos + Vizualizor de documente + Просмотр документов + दस्तावेज दर्शक + Prehliadač dokumentov + Pregledovalnik dokumentov + Dokumentvisare + ஆவணங் காட்டி + Belge Görüntüleyicisi + Перегляд документів + Trình xem tài liệu + 文档查看器 + 文件檢視器 + + KDE + https://kde.org + + +

+ Okular is a universal document viewer developed by KDE. Okular works on multiple platforms, including but not limited to Linux, Windows, Mac OS X, *BSD, etc. +

+

اوكلار هو عارض مستندات عالمي مطور بواسطة كِيدِي. يعمل اوكلار على أنظمة أساسية متعددة، بما في ذلك على سبيل المثال لا الحصر لينكس و ويندوز و Mac OS X و * BSD وما إلى ذلك.

+

Okular KDE tərəfindən yaradılan sənədlərə universal baxış vasitəsidir. Okular Linux, Windows, Mac OS X, * BSD və s. digər bir çox platformada işləyir.

+

Okular - універсальны сродак для прагляду дакументаў, распрацаваны KDE. Okular працуе на многіх платформах, уключаючы Linux, Windows, Mac OS X, *BSD.

+

Okular е универсална програма за преглед на документи, разработена от KDE. Okular работи с множество платформи, включително, но не само, Linux, Windows и Mac OS X, *BSD и др.

+

L'Okular és un visualitzador universal de documents desenvolupat pel KDE. L'Okular funciona en múltiples plataformes, incloent-hi però sense limitar-se a Linux, Windows, Mac OS X, *BSD, etc.

+

Okular és un visor universal de documents desenvolupat per KDE. Okular funciona en múltiples plataformes, incloent-hi però sense limitar-se a Linux, Windows, Mac OS X, *BSD, etc.

+

Okular ist ein universeller Dokumentenbetrachter, der von KDE entwickelt wird. Okular ist auf mehreren Plattformen verfügbar, darunter auch Linux, Windows, Mac OS X, *BSD usw.

+

Το Okular είναι ένα καθολικό πρόγραμμα προβολής εγγράφων που αναπτύχθηκε από το KDE. Το Okular λειτουργεί σε πολλές πλατφόρμες, συμπεριλαμβανομένων αλλά όχι μόνο των Linux, Windows, Mac OS X, *BSD, κλπ.

+

Okular is a universal document viewer developed by KDE. Okular works on multiple platforms, including but not limited to Linux, Windows, Mac OS X, *BSD, etc.

+

Okular estas universala dokumentrigardilo evoluigita de KDE. Okular funkcias sur pluraj platformoj, inkluzive sed ne limigitaj al Linukso, Vindozo, Mac OS X, *BSD, ktp.

+

Okular es un visor universal de documentos desarrollado por KDE. Okular funciona en diversas plataformas, incluidas Linux, Windows, Mac OS X, *BSD, etc.

+

Okular on KDE loodud universaalne dokumendinäitaja. Okular töötab paljudel platvormidel, sealhulgas Linuxil, Windowsis, Mac OS X-is, *BSD-s jne.

+

Okular KDEk garatutako dokumentu erakusle unibertsal bat da. Okular hainbat plataformatan dabil, haien artean baino ez soilik haietara mugatua, Linux, windows, Mac OS X, *BSD, etab.

+

Okular on KDE:n kehittämä yleinen tiedostokatselin. Okular toimii monella alustalla kuten Linuxissa, Windowsissa, macOSissa, BSD:ssä jne.

+

Okular est un afficheur universel de documents développé par KDE. Okular fonctionne sur de multiples plate-formes, comme Linux, Windows, Mac OS X, etc.

+

Okular é un visor de documentos universal desenvolvido por KDE. Okular funciona en varias plataformas, entre elas Linux, Windows, Mac OS X, *BSD, etc.

+

Okular הוא מציג מסמכים אוניברסלי שפותח על ידי KDE.‏ Okular תומך במגוון פלטפורמות, כולל לינוקס, Windows,‏ mac OS X, מגוון סוגי BSD ועוד.

+

ओकुलर केडीई द्वारा विकसित एक सार्वव्यापी दस्तावेज़ दर्शक है। ओकुलर कई प्लेटफार्मों पर काम करता है, जिसमें लिनक्स, विंडोज, मैक ओएस एक्स, *बीएसडी, आदि शामिल हैं, लेकिन इन्हीं तक सीमित नहीं है।

+

Az Okulat a KDE által fejlesztett univerzális dokumentummegjelenítő. Számos platformon elérhető, többek között Linuxon, Windowson, Mac OS X-en, BSD rendszereken, stb.

+

Okular es un visor universal de documento disveloppate per KDE. Okular functiona sur platteformas multiple includente sed non limitate a Linux,Windows, MacOS X, *BSD, etc.

+

Okular adalah penampil dokumen universal yang dikembangkan oleh KDE. Okular bekerja pada banyak platform, termasuk tetapi tidak terbatas pada Linux, Windows, Mac OS X, *BSD, dll.

+

Okular er skjalaskoðari frá KDE. Okular er til fyrir ýmis stýrikerfi, þ.á m. (en ekki bara) Linux, Windows, Mac OS X, *BSD, o.fl.

+

Okular è un lettore universale di documenti sviluppato da KDE. Okular funziona su varie piattaforme, incluse (ma non solo) Linux, Windows, Mac OS X, *BSD, ecc.

+

Okular დოკუმენტების უნივერსალური დამთვალიერებელია KDE-სგან. Okular ბევრ პლატფორმაზე მუშაობს. მაგ: Linux, Windows, Mac OS X, *BSD და სხვა.

+

Okular는 KDE에서 개발한 문서 뷰어입니다. 리눅스, Windows, macOS, *BSD 등 다양한 플랫폼에서 사용할 수 있습니다.

+

Okular yra universali, KDE plėtojama dokumentų žiūryklė. Okular veikia keliose platformose, įskaitant, tačiau neapsiribojant Linux, Windows, Mac OS X, *BSD ir t.t.

+

„Okular“ ir universāls dokumentu skatītājs, ko izstrādā KDE. „Okular“ darbojas uz dažādām platformām, tostarp „Linux“, „Windows“, „Mac OS X“, *BSD u.c.

+

Okular is een universele documentviewer ontwikkeld door KDE. Okular werkt op meerdere platforms, inclusief, maar niet beperkt tot Linux, Windows, Mac OS X, *BSD, etc.

+

Okular er ein dokumentvisar for mange ulike filformat, og er utvikla av KDE. Okular køyrer på fleire plattformer, blant anna Linux, Windows, Mac OS X og *BSD.

+

ਓਕੁਲਾਰ ਕੇਡੀਈ ਵਲੋਂ ਬਣਾਇਆ ਯੂਨੀਵਰਸਲ ਦਸਤਾਵੇਜ਼ ਦਰਸ਼ਕ ਹੈ। ਓਕੁਲਾਰ ਕਈ ਪਲੇਟਫਾਰਮਾਂ ਉੱਤੇ ਕੰਮ ਕਰਦਾ ਹੈ, ਜਿਸ ਵਿੱਚ ਲੀਨਕਸ, ਵਿੰਡੋਜ਼, ਮੈਕ ਓਐਸ ਐਕਸ, *BSD ਆਦਿ ਸ਼ਾਮਲ ਹਨ, ਉਹਨਾਂ ਤੱਕ ਸੀਮਿਤ ਨਹੀਂ ਹੈ।

+

Okular jest wszechstronną przeglądarką dokumentów opracowaną przez KDE. Okular działa na wielu platformach takich jak Linux, Windows, Mac OS X, *BSD, itp.

+

O Okular é um visualizador universal de documentos desenvolvido pelo KDE. O Okular funciona em diversas plataformas, incluindo mas não se limitando ao Linux, Windows, Mac OS X, *BSD, etc.

+

O Okular é um visualizador de documentos universal desenvolvido pelo KDE. Ele funciona em várias plataformas, incluindo, mas não se limitando, o Linux, Windows, Mac OS X, *BSD, etc.

+

Okular e un vizualizor de documente universal dezvoltat de KDE. Okular funcționează pe multe platforme, inclusiv Linux, Windows, Mac OS X, *BSD, etc.

+

Okular — универсальная программа просмотра документов от KDE. Okular работает на многих платформах: Linux, Windows, Mac OS X, *BSD и других.

+

Okular इति KDE द्वारा विकसितः सार्वत्रिकः दस्तावेजदर्शकः अस्ति । Okular बहुषु मञ्चेषु कार्यं करोति, यत्र Linux, Windows, Mac OS X, *BSD इत्यादयः सन्ति किन्तु एतेषु एव सीमिताः न सन्ति ।

+

Okular je univerzálny zobrazovač dokumentov vyvynutý týmom KDE. Okular funguje na viacerých platformách, vrátane týchto: Linux, Windows, MAC OS X, *BSD, atď.

+

Okular je univerzalni pregledovalnik dokumentov, ki ga je razvil KDE. Okular deluje na več platformah, vključno z Linuxom, Windows, Mac OS X, * BSD itd.

+

Okular är en universell dokumentvisare utvecklad av KDE. Okular fungerar på flera plattformar, inklusive men inte begränsat till Linux, Windows, Max OS X, *BSD, etc.

+

ஆக்குலர், கே.டீ.யீ. வழங்கும் ஆவணங்காட்டி ஆகும். லினக்ஸ், விண்டோஸ், Mac OS X, *BSD போன்ற இயக்குதளங்களில் ஆக்குலர் இயங்கும்.

+

Okular, KDE tarafından geliştirilen çok amaçlı bir dosya görüntüleyicidir. Okular; Linux, Windows, macOS, *BSD gibi birden çok platformda çalışır.

+

Okular є універсальною програмою для перегляду документів, розробленою KDE. Okular може працювати на багатьох програмних платформах, зокрема Linux, Windows, Mac OS X, *BSD тощо.

+

Okular là một trình xem tài liệu vạn năng do KDE phát triển. Okular hoạt động trên nhiều nền tảng, bao gồm Linux, Windows, Mac OS X, *BSD, v.v.

+

Okular 是一款由 KDE 开发的通用文档查看器。它支持在多种平台上运行,包括且不限于 Linux、Windows、Mac OS X、* BSD 等。

+

Okular 是個由 KDE 開發的一款通用文件檢視器。Okular 能在多個平台上運作,包含但不限於 Linux、Windows、Mac OS X 以及各個 BSD 等。

+

Features:

+

الميزات:

+

Funciones:

+

İmkanlar:

+

Магчымасці:

+

Функции:

+

Característiques:

+

Característiques:

+

Vlastnosti:

+

Funktioner:

+

Funktionen:

+

Χαρακτηριστικά:

+

Features:

+

Trajtoj:

+

Funciones:

+

Omadused:

+

Eginbideak:

+

Ominaisuuksia:

+

Fonctionnalités :

+

Funcionalidades:

+

יכולות:

+

विशेषताएँ:

+

Szolgáltatások:

+

Characteristicas:

+

Fitur:

+

Eiginleikar:

+

Funzionalità:

+

თვისებები:

+

기능:

+

Ypatybės:

+

Iespējas:

+

Kenmerken:

+

Funksjonar:

+

ਫੀਚਰ:

+

Możliwości:

+

Funcionalidades:

+

Funcionalidades:

+

Caracteristici:

+

Возможности:

+

गुणाः:

+

Funkcie:

+

Možnosti:

+

Funktioner:

+

அம்சங்கள்:

+

Özellikler:

+

Можливості:

+

Tính năng:

+

功能特性:

+

功能:

+
    +
  • Supported Formats: PDF, PS, Tiff, DjVu, Images, DVI, XPS, Fiction Book, Comic Book, Plucker, EPub, Fax
  • +
  • يدعم التنسيقات: PDF و PS و Tiff و DjVu و Images و DVI و XPS و Fiction Book و Comic Book و Plucker و EPub و Fax
  • +
  • Поддържани формати: PDF, PS, Tiff, DjVu, изображения, DVI, XPS, Fiction Book, Comic Book, Plucker, EPub, Fax
  • +
  • Formats acceptats: PDF, PS, Tiff, DjVu, imatges, DVI, XPS, Fiction Book, llibres de còmic, Plucker, EPub, Fax
  • +
  • Formats acceptats: PDF, PS, Tiff, DjVu, imatges, DVI, XPS, Fiction Book, llibres de còmic, Plucker, EPub, Fax
  • +
  • Unterstützte Formate: PDF, PS, Tiff, DjVu, Images, DVI, XPS, Fiction Book, Comic Book, Plucker, EPub, Fax
  • +
  • Subtenataj Formatoj: PDF, PS, Tiff, DjVu, Bildoj, DVI, XPS, Fikciolibro, Komiklibro, Plucker, EPub, Fakso
  • +
  • Formatos permitidos: PDF, PS, Tiff, DjVu, imágenes, DVI, XPS, Fiction Book, libros de cómics, Plucker, EPub, Fax
  • +
  • Onartutako formatuak: PDF, PS, Tiff, CHM, DjVu, irudiak, DVI, XPS, FictionBook, Komiki liburua, Plucker, EPub, Fax
  • +
  • Tuetut tiedostomuodot: PDF, Postscript, TIFF, DjVu, kuvatiedostot, DVI, XPS, Fiction Book, Comic Book, Plucer, EPub, faksi
  • +
  • Formats de fichiers pris en charge : PDF, PS, TIFF, DjVU, Images, DVI, XPS, FictionBook, ComicBook, Plucker, ePub, Fax
  • +
  • Formatos compatíbeis: PDF, PS, Tiff, DjVu, imaxes, DVI, XPS, Fiction Book, banda deseñada, Plucker, EPub e fax.
  • +
  • תסדירים נתמכים: PDF,‏ PS,‏ Tiff,‏ CHM,‏ DjVu, תמונות, DVI,‏ XPS,‏ Fiction Book,‏ Comic Book,‏ Plucker, ספר אלקטרוני/EPub, פקס
  • +
  • Támogatott formátumok: PDF, PS, Tiff, DjVu, képek, DVI, XPS, FictionBook, képregények, Plucker, EPub, Fax
  • +
  • Formatos Supportate: PDF, PS, Tiff, DjVu, Images, DVI, XPS, Fiction Book, Comic Book, Plucker, EPub, Fax
  • +
  • Studd snið: PDF, PS, Tiff, DjVu, myndir, DVI, XPS, Fiction Book, Comic Book, Plucker, EPub, Fax
  • +
  • Formati supportati: PDF, PS, Tiff, DjVu, immagini, DVI, XPS, Fiction Book, Comic Book, Plucker, EPub, Fax
  • +
  • მხარდაჭერილი ფორმატები: PDF, PS, Tiff, CHM, DjVu, სურათები, DVI, XPS, ფანტასტიკის წიგნი, Comic Book, Plucker, EPub, Fax
  • +
  • 지원하는 형식: PDF, PS, Tiff, DjVu, 그림, DVI, XPS, Fiction Book, 만화책, Plucker, EPub, 팩스
  • +
  • Palaikomi formatai: PDF, PS, Tiff, DjVu, paveikslai, DVI, XPS, Fiction Book, komiksų knygos, Plucker, EPub, faksas
  • +
  • AtbalstÄ«tie formāti: PDF, PS, „Tiff“, „DjVu“, attēli, DVI, XPS, „Fiction Book“, „Comic Book“, „Plucker“, „EPub“, fakss
  • +
  • Ondersteunde formaten: PDF, PS, Tiff, DjVu, Afbeeldingen, DVI, XPS, Fictionbook, Stripboek, Plucker, EPub, Fax
  • +
  • Obsługiwane formaty: PDF, PS, TIFF, DjVu, DVI, XPS, FB2, Plucker, ePub, a także różne formaty komisów, obrazów i faks.
  • +
  • Suporte aos formatos: PDF, PS, Tiff, DjVu, imagens, DVI, XPS, Fiction Book, Comic Book, Plucker, EPub, Fax
  • +
  • Поддержка форматов PDF, PS, Tiff, DjVu, изображений, DVI, XPS, Fiction Book, Comic Book, Plucker, EPub, факсов;
  • +
  • Podprti formati: PDF, PS, Tiff, DjVu, slike, DVI, XPS, Fiction Book, Comic Book, Plucker, EPub, Fax
  • +
  • Format som stöds: PDF, PS, Tiff, DjVu, bilder, DVI, XPS, Fiction Book, Comic Book, Plucker, EPub, Fax
  • +
  • ஆதரிக்கப்படும் கோப்பு வகைகள்: PDF, PS, Tiff, DjVu, படங்கள், DVI, XPS, Fiction Book, வரைகதை புத்தகம், Plucker, EPub, Fax
  • +
  • Desteklenen Biçimler: PDF, PS, Tiff, DjVu, Images, DVI, XPS, Fiction Book, Comic Book, Plucker, EPub, Fax
  • +
  • Підтримувані формати: PDF, PS, Tiff, DjVu, зображення, DVI, XPS, Fiction Book, комікси, Plucker, EPub, факси.
  • +
  • 支持的格式:PDF、PS、TIFF、DjVu、图像、DVI、XPS、ODT、FictionBook (FB*)、Comic Book (CB*)、Plucker、EPub、传真
  • +
  • 支援的格式:PDF、PS、Tiff、DjVu、各種影像、DVI、XPS、小說書籍、漫畫書、Plucker、EPub、傳真
  • +
  • Sidebar with contents, thumbnails, reviews and bookmarks
  • +
  • الشريط الجانبي مع المحتويات والصور المصغرة والمراجعات والإشارات المرجعية
  • +
  • Tərkibləri, miniatürləri, öncədən baxışı və əlfəcinləri ilə yan panel
  • +
  • Бакавая панэль са змесцівам, мініяцюрамі, аглядамі і закладкамі
  • +
  • Странична лента със съдържание, миниатюри, отзиви и отметки
  • +
  • Barra lateral amb el contingut, miniatures, revisions i punts
  • +
  • Barra lateral amb el contingut, miniatures, revisions i punts
  • +
  • Seitenleiste mit Inhalt, Vorschaubildern, Rezensionen und Lesezeichen
  • +
  • Πλευρική γραμμή με περιεχόμενα, εικόνες επισκόπησης, αναλύσεις και σελιδοδείκτες
  • +
  • Sidebar with contents, thumbnails, reviews and bookmarks
  • +
  • Flankbreto kun enhavo, bildetoj, recenzoj kaj legosignoj
  • +
  • Barra lateral con contenido, miniaturas, revisiones y marcadores
  • +
  • Külgriba sisukorra, pisipiltide, arvustuste ja järjehoidjatega
  • +
  • Alboko-barra edukiekin, koadro-txikiekin, iritziekin eta laster-markekin
  • +
  • Sivupaneeli, jossa sisällys, pienoiskuvat, arvostelut ja kirjanmerkit
  • +
  • Barre latérale montrant les contenus, vignettes, informations de relecture et signets
  • +
  • Barra lateral con contido, miniaturas, revisións e marcadores.
  • +
  • סרגל צד עם תוכן, תצוגות מוקטנות, סקירות וסימניות
  • +
  • सामग्री, लगुछवी, समीक्षा और पुस्तचिन्ह के साथ बाजुपट्टी
  • +
  • Oldalsáv tartalomjegyzékkel, előnézettel, értékelésekkel és könyvjelzőkkel
  • +
  • Barra lateral con contentos, miniaturas, revisiones e marcatores de libro
  • +
  • Bilah sisi dengan konten, gambar-mini, ulasan, dan markah
  • +
  • Hliðarstika með innihaldi skjala, smámyndum, ummælum og bókamerkjum
  • +
  • Barra laterale con contenuti, miniature, revisioni e segnalibri
  • +
  • გვერდითი პანელი შემცველობით, მინიატურებით, გადახედვებით და სანიშნებით
  • +
  • 목차, 섬네일, 검토 및 책갈피 도구가 있는 사이드바
  • +
  • Å oninė juosta su turiniu, miniatiÅ«romis, atsiliepimais ir žymelėmis
  • +
  • Sānu josla ar saturu, sÄ«ktēliem, pārskatiem un grāmatzÄ«mēm
  • +
  • Zijbalk met inhoud, miniaturen, reviews en bladwijzers
  • +
  • Sidestolpe med innhaldsliste, miniatyrbilete, omtalar og bokmerke
  • +
  • ਸਮੱਗਰੀ, ਥੰਮਨੇਲ, ਪੜਤਾਲਾਂ ਤੇ ਬੁੱਕਮਾਰਕਾਂ ਨਾਲ ਬਾਹੀ
  • +
  • Pasek boczny z treścią, miniaturami, recenzjami i zakładkami
  • +
  • Barra lateral com o conteúdo, miniaturas, revisões e marcação de favoritos
  • +
  • Barra lateral com o conteúdo, miniaturas, revisões e favoritos
  • +
  • Bară laterală cu cuprins, miniaturi, recenzii și semne de carte
  • +
  • Боковая панель с содержанием, миниатюрами страниц, комментариями и закладками;
  • +
  • सामग्री, लघुचित्रं, समीक्षाः, पुस्तकचिह्नानि च सहितं पार्श्वपट्टिका
  • +
  • Bočný panel s obsahom, náhľadmi, hodnoteniami, a záložkami
  • +
  • Stranska vrstica z vsebino, sličicami, pregledi in zaznamki
  • +
  • Sidorad med innehÃ¥ll, miniatyrbilder, granskningar och bokmärken
  • +
  • பொருளடக்கம், சிறுபடங்கள், குறிப்புகள், மற்றும் நினைவுக்குறிகளை காட்டும் ஓரப்பட்டை
  • +
  • İçindekiler, küçük görseller, incelemeler ve yer imleri bulunan kenar çubuğu
  • +
  • Бічні панелі зі списками змісту, мініатюрами сторінок, можливість рецензування та додавання закладок.
  • +
  • Thanh bên với mục lục, hình nhỏ, nhận xét và dấu nhớ
  • +
  • 侧栏可以显示目录、页面缩略图、批注和书签
  • +
  • 有內容、縮圖、回顧與書籤等選項的側邊欄
  • +
  • Annotations support
  • +
  • دعم التعليقات
  • +
  • Şərh yazılmasını dəstəkləyir
  • +
  • Падтрымка анатацый
  • +
  • Поддръжка на анотации
  • +
  • Admet anotacions
  • +
  • Admet anotacions
  • +
  • Podpora poznámek
  • +
  • Unterstützung für Anmerkungen
  • +
  • Υποστήριξη σημειώσεων
  • +
  • Annotations support
  • +
  • Subteno de komentarioj
  • +
  • Permite el uso de notas
  • +
  • Annotatsioonide toetus
  • +
  • Idatzoharrak onartzen ditu
  • +
  • Merkintöjen tuki
  • +
  • Gestion des annotations
  • +
  • Funcionalidade de anotacións.
  • +
  • תמיכה בהסברים
  • +
  • टीकाओं का समर्थन
  • +
  • Jegyzetek támogatása
  • +
  • Supporto de annotationes
  • +
  • Dukungan anotasi
  • +
  • Glósur
  • +
  • Supporto per annotazioni
  • +
  • ანოტაციების მხარდაჭერა
  • +
  • 주석 지원
  • +
  • Anotacijų palaikymas
  • +
  • Anotāciju atbalsts
  • +
  • Ondersteuning van annotaties
  • +
  • Støtte for merknadar
  • +
  • ਟਿੱਪਣੀਆਂ ਲਈ ਸਹਿਯੋਗ
  • +
  • Obsługa przypisów
  • +
  • Suporte para anotações
  • +
  • Suporte a anotações
  • +
  • Suport pentru adnotări
  • +
  • Поддержка комментариев.
  • +
  • एनोटेशन्स् समर्थनम्
  • +
  • Podpora anotácií
  • +
  • Podpora zaznamkom
  • +
  • Stöd för kommentarer
  • +
  • குறிப்புகளை ஆதரிக்கும்
  • +
  • Ek açıklamalar desteği
  • +
  • Підтримка анотування.
  • +
  • Hỗ trợ chú dẫn
  • +
  • 支持批注功能
  • +
  • 支援註釋功能
  • +
+
+ + + Reading manual in Okular + قراءة دليل في اوكلار + Okular'da oxumaq təlimatı + Дапаможнік па чытанні ў Okular + Ръководство за четене в Okular + Lectura de manuals a l'Okular + Lectura de manuals en Okular + Čtení manuálu v Okularu + Lesen eines Handbuchs in Okular + Ανάγνωση οδηγού χρήσης στο Okular + Reading manual in Okular + Legomanlibro en Okular + Lectura del manual en Okular + Käsiraamatu lugemine Okularis + Eskuliburua Okularren irakurtzea + Oppaan lukeminen Okularissa + Lecture d'un manuel dans Okular + Ler o manual en Okular. + קריאת מדריך ב־Okular + ओकुलर में सहाय्य पुस्तिका पढ़ना + Kézikönyv olvasása Okularban + Legente manual in Okular + Petunjuk di Okular + Handbókin lesin í Okular + Consultazione di un manuale in Okular + კითხვის სახელმძღვანელო Okular- ში + Okular로 설명서 읽기 + Vadovo skaitymas programoje Okular + Rokasgrāmatas lasīšana programmā „Okular“ + Handleiding wordt gelezen in Okular + Lesing av brukarhandbok i Okular + ਓਕੁਲਾਰ ਵਿੱਚ ਦਸਤਾਵੇਜ਼ ਪੜ੍ਹੋ + Instrukcja czytania w Okularze + Leitura de manual no Okular + Lendo manual no Okular + Citirea unui manual în Okular + Документация, открытая в Okular + ओकुलरभाषायां पठनपुस्तिका + Čítanie návodu v Okular + Branje priročnikov v Okularju + Läsa handbok i Okular + ஆக்குலரில் ஓர் கையேடை படித்தல் + Belgelendirmeyi Okular ile oku + Читання підручника в Okular + Đọc sổ tay trong Okular + 使用 Okular 阅读产品说明书 + 在 Okular 中閱讀文件 + https://cdn.kde.org/screenshots/okular/okular-mobile.png + + + + Qt + KDE + Office + Viewer + + https://okular.kde.org/ + https://bugs.kde.org/enter_bug.cgi?format=guided&product=okular + https://invent.kde.org/graphics/okular + KDE + + okularkirigami + org.kde.okular.kirigami.desktop + + + org.kde.okular.kirigami.desktop + + + org.kde.okular.kirigami.desktop + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mobile/app/package/metadata.desktop b/mobile/app/package/metadata.desktop new file mode 100644 index 0000000..10e4a10 --- /dev/null +++ b/mobile/app/package/metadata.desktop @@ -0,0 +1,130 @@ +[Desktop Entry] +Name=Okular +Name[ar]=اوكلار +Name[az]=Okular +Name[be]=Okular +Name[bg]=Okular +Name[bs]=Okular +Name[ca]=Okular +Name[ca@valencia]=Okular +Name[cs]=Okular +Name[da]=Okular +Name[de]=Okular +Name[el]=Okular +Name[en_GB]=Okular +Name[eo]=Okular +Name[es]=Okular +Name[et]=Okular +Name[eu]=Okular +Name[fi]=Okular +Name[fr]=Okular +Name[ga]=Okular +Name[gl]=Okular +Name[he]=Okular +Name[hne]=ओकुलर +Name[hr]=Okular +Name[hu]=Okular +Name[ia]=Okular +Name[ie]=Okular +Name[is]=Okular +Name[it]=Okular +Name[ja]=Okular +Name[ka]=Okular +Name[kk]=Okular +Name[km]=Okular +Name[ko]=Okular +Name[ku]=Okular +Name[lt]=Okular +Name[lv]=Okular +Name[mr]=ओक्युलर +Name[nb]=Okular +Name[nds]=Okular +Name[nl]=Okular +Name[nn]=Okular +Name[pa]=ਓਕੁਲਾਰ +Name[pl]=Okular +Name[pt]=Okular +Name[pt_BR]=Okular +Name[ro]=Okular +Name[ru]=Okular +Name[sa]=नेत्रस्य +Name[si]=Okular +Name[sk]=Okular +Name[sl]=Okular +Name[sq]=Okular +Name[sr]=Окулар +Name[sr@ijekavian]=Окулар +Name[sr@ijekavianlatin]=Okular +Name[sr@latin]=Okular +Name[sv]=Okular +Name[ta]=ஆக்குலர் +Name[th]=โอกูลาร์ +Name[tr]=Okular +Name[ug]=Okular +Name[uk]=Okular +Name[vi]=Okular +Name[zh_CN]=Okular 文档查看器 +Name[zh_TW]=Okular +GenericName=Document viewer +GenericName[ar]=عارض المستندات +GenericName[az]=Sənədə baxış vasitısi +GenericName[be]=Сродак для прагляду дакументаў +GenericName[bg]=Преглед на документи +GenericName[bs]=Prikazivač dokumenata +GenericName[ca]=Visualitzador de documents +GenericName[ca@valencia]=Visor de documents +GenericName[cs]=Prohlížeč dokumentů +GenericName[da]=Dokumentfremviser +GenericName[de]=Dokumentenbetrachter +GenericName[el]=Προβολέας εγγράφων +GenericName[en_GB]=Document Viewer +GenericName[eo]=Dokumentrigardilo +GenericName[es]=Visor de documentos +GenericName[et]=Dokumendinäitaja +GenericName[eu]=Dokumentu erakuslea +GenericName[fi]=Asiakirjakatselin +GenericName[fr]=Afficheur de document +GenericName[ga]=Amharcán cáipéisí +GenericName[gl]=Visor de documentos +GenericName[he]=מציג מסמכים +GenericName[hi]=दस्तावेज़ प्रदर्शक +GenericName[hu]=Dokumentummegjelenítő +GenericName[ia]=Visor de documento +GenericName[ie]=Visor de documentes +GenericName[is]=Skjalaskoðari +GenericName[it]=Visore di documenti +GenericName[ja]=文書ビューア +GenericName[ka]=დოკუმენტების მნახველი +GenericName[kk]=Құжатты қарау құралы +GenericName[ko]=문서 뷰어 +GenericName[lt]=Dokumentų žiūryklė +GenericName[lv]=Dokumentu skatītājs +GenericName[mr]=दस्तऐवज प्रदर्शक +GenericName[nb]=Dokumentviser +GenericName[nds]=Dokmentkieker +GenericName[nl]=Documentenviewer +GenericName[nn]=Dokumentvisar +GenericName[pa]=ਡੌਕੂਮੈਂਟ ਦਰਸ਼ਕ +GenericName[pl]=Przeglądarka dokumentów +GenericName[pt]=Visualizador de documentos +GenericName[pt_BR]=Visualizador de documentos +GenericName[ro]=Vizualizor de documente +GenericName[ru]=Просмотр документов +GenericName[sa]=दस्तावेजदर्शकः +GenericName[sk]=Prehliadač dokumentov +GenericName[sl]=Pregledovalnik dokumentov +GenericName[sq]=Shikues dokumentesh +GenericName[sr]=Приказивач докумената +GenericName[sr@ijekavian]=Приказивач докумената +GenericName[sr@ijekavianlatin]=Prikazivač dokumenata +GenericName[sr@latin]=Prikazivač dokumenata +GenericName[sv]=Dokumentvisare +GenericName[ta]=ஆவணங் காட்டி +GenericName[tr]=Belge Görüntüleyicisi +GenericName[uk]=Переглядач документів +GenericName[vi]=Trình xem tài liệu +GenericName[zh_CN]=文档查看器 +GenericName[zh_TW]=文件檢視器 +Type=Application +Exec=okularkirigami +Icon=okular diff --git a/mobile/app/ui/Bookmarks.qml b/mobile/app/ui/Bookmarks.qml new file mode 100644 index 0000000..f265d53 --- /dev/null +++ b/mobile/app/ui/Bookmarks.qml @@ -0,0 +1,28 @@ +/* + SPDX-FileCopyrightText: 2012 Marco Martin + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +import QtQuick 2.15 +import org.kde.kirigami 2.17 as Kirigami + + +ThumbnailsBase { + id: root + header: Kirigami.AbstractApplicationHeader { + topPadding: Kirigami.Units.largeSpacing + bottomPadding: Kirigami.Units.largeSpacing + rightPadding: Kirigami.Units.largeSpacing + leftPadding: Kirigami.Units.largeSpacing + Kirigami.Heading { + level: 2 + text: i18n("Bookmarks") + width: parent.width + } + } + model: documentItem.bookmarkedPages + onPageClicked: { + mainView.page.goToBookmark(mainView.page.bookmarks[0]) + } +} diff --git a/mobile/app/ui/CertificateViewerPage.qml b/mobile/app/ui/CertificateViewerPage.qml new file mode 100644 index 0000000..4cfa6a8 --- /dev/null +++ b/mobile/app/ui/CertificateViewerPage.qml @@ -0,0 +1,169 @@ +/* + * SPDX-FileCopyrightdescription: 2022 Albert Astals Cid + * SPDX-FileCopyrightText: 2024 Carl Schwan + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +import QtCore +import QtQuick +import QtQuick.Window +import QtQuick.Controls as QQC2 +import QtQuick.Dialogs as QQD +import QtQuick.Layouts +import org.kde.kirigami as Kirigami +import org.kde.kirigamiaddons.formcard as FormCard +import org.kde.okular as Okular + +FormCard.FormCardPage { + id: root + + property Okular.CertificateModel certificateModel + + title: i18n("Certificate Viewer") + + FormCard.FormHeader { + title: i18n("Issued By") + } + + FormCard.FormCard { + FormCard.FormTextDelegate { + text: i18n("Common Name:") + description: certificateModel.propertyVisibleValue(Okular.CertificateModel.IssuerName) + } + + FormCard.FormDelegateSeparator {} + + FormCard.FormTextDelegate { + text: i18n("EMail:") + description: certificateModel.propertyVisibleValue(Okular.CertificateModel.IssuerEmail) + } + + FormCard.FormDelegateSeparator {} + + FormCard.FormTextDelegate { + text: i18n("Organization:") + description: certificateModel.propertyVisibleValue(Okular.CertificateModel.IssuerOrganization) + } + } + + FormCard.FormHeader { + title: i18n("Issued To") + } + + FormCard.FormCard { + FormCard.FormTextDelegate { + text: i18n("Common Name:") + description: certificateModel.propertyVisibleValue(Okular.CertificateModel.SubjectName) + } + + FormCard.FormDelegateSeparator {} + + FormCard.FormTextDelegate { + text: i18n("EMail:") + description: certificateModel.propertyVisibleValue(Okular.CertificateModel.SubjectEmail) + } + + FormCard.FormDelegateSeparator {} + + FormCard.FormTextDelegate { + text: i18n("Organization:") + description: certificateModel.propertyVisibleValue(Okular.CertificateModel.SubjectOrganization) + } + } + + FormCard.FormHeader { + title: i18n("Validity") + } + + FormCard.FormCard { + FormCard.FormTextDelegate { + text: i18n("Issued On:") + description: certificateModel.propertyVisibleValue(Okular.CertificateModel.IssuedOn) + } + + FormCard.FormDelegateSeparator {} + + FormCard.FormTextDelegate { + text: i18n("Expires On:") + description: certificateModel.propertyVisibleValue(Okular.CertificateModel.ExpiresOn) + } + } + + FormCard.FormHeader { + title: i18n("Fingerprints") + } + + FormCard.FormCard { + FormCard.FormTextDelegate { + text: i18n("SHA-1 Fingerprint:") + description: certificateModel.propertyVisibleValue(Okular.CertificateModel.Sha1) + } + + FormCard.FormDelegateSeparator {} + + FormCard.FormTextDelegate { + text: i18n("SHA-256 Fingerprint:") + description: certificateModel.propertyVisibleValue(Okular.CertificateModel.Sha256) + } + } + + FormCard.FormCard { + visible: Kirigami.Settings.isMobile + + Layout.topMargin: Kirigami.Units.gridUnit + + FormCard.FormButtonDelegate { + icon.name: "document-export-symbolic" + text: i18n("Export…") + onClicked: fileDialog.open() + } + } + + footer: QQC2.ToolBar { + visible: !Kirigami.Settings.isMobile + padding: 0 + contentItem: QQC2.DialogButtonBox { + QQC2.Button { + QQC2.DialogButtonBox.buttonRole: QQC2.DialogButtonBox.ActionRole + icon.name: "document-export-symbolic" + text: i18n("Export…") + onClicked: fileDialog.open() + } + + QQC2.Button { + QQC2.DialogButtonBox.buttonRole: QQC2.DialogButtonBox.DestructiveRole + visible: !Kirigami.Settings.isMobile + text: i18n("Close") + icon.name: "dialog-close" + onClicked: root.closeDialog() + } + } + } + + QQD.FileDialog { + id: fileDialog + nameFilters: i18n("Certificate File (*.cer)") + currentFolder: StandardPaths.standardLocations(StandardPaths.DocumentsLocation)[0] + fileMode: QQD.FileDialog.SaveFile + onAccepted: { + if (!certificateModel.exportCertificateTo(fileDialog.selectedFile)) { + errorDialog.open(); + } + } + } + + // TODO Use Kirigami.PromptDialog when we depend on KF >= 5.89 + // this way we can probably remove that ridiculous z value + QQC2.Dialog { + id: errorDialog + z: 200 + title: i18n("Error") + contentItem: QQC2.Label { + text: i18n("Could not export the certificate.") + } + standardButtons: QQC2.Dialog.Ok + + onAccepted: close(); + } +} diff --git a/mobile/app/ui/Main.qml b/mobile/app/ui/Main.qml new file mode 100644 index 0000000..b16b18a --- /dev/null +++ b/mobile/app/ui/Main.qml @@ -0,0 +1,110 @@ +/* + SPDX-FileCopyrightText: 2012 Marco Martin + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +import QtCore +import QtQuick 2.15 +import QtQuick.Controls 2.15 as QQC2 +import QtQuick.Dialogs as QQD +import org.kde.okular 2.0 as Okular +import org.kde.kirigami 2.17 as Kirigami +import org.kde.kirigamiaddons.formcard 1.0 as FormCard +import org.kde.okular.app + +Kirigami.ApplicationWindow { + id: fileBrowserRoot + + readonly property int columnWidth: Kirigami.Units.gridUnit * 13 + + wideScreen: width > columnWidth * 5 + visible: true + + globalDrawer: Kirigami.GlobalDrawer { + title: i18n("Okular") + titleIcon: "okular" + drawerOpen: false + isMenu: true + + QQD.FileDialog { + id: fileDialog + nameFilters: Okular.Okular.nameFilters + currentFolder: StandardPaths.standardLocations(StandardPaths.DocumentsLocation)[0] + onAccepted: { + documentItem.url = fileDialog.selectedFile + } + } + + actions: [ + Kirigami.Action { + id: openDocumentAction + text: i18n("Open…") + icon.name: "document-open" + onTriggered: { + fileDialog.open() + } + }, + Kirigami.Action { + text: i18n("About") + icon.name: "help-about-symbolic" + onTriggered: fileBrowserRoot.pageStack.layers.push(Qt.createComponent("org.kde.kirigamiaddons.formcard", "AboutPage")); + enabled: fileBrowserRoot.pageStack.layers.depth === 1 + } + ] + } + contextDrawer: OkularDrawer { + width: columnWidth + contentItem.implicitWidth: columnWidth + modal: !fileBrowserRoot.wideScreen + onModalChanged: drawerOpen = !modal + onEnabledChanged: drawerOpen = enabled && !modal + enabled: documentItem.opened && pageStack.layers.depth < 2 + handleVisible: enabled && pageStack.layers.depth < 2 + } + + title: documentItem.windowTitleForDocument ? documentItem.windowTitleForDocument : i18n("Okular") + Okular.DocumentItem { + id: documentItem + onUrlChanged: { currentPage = 0 } + + onNeedsPasswordChanged: { + if (needsPassword) { + passwordDialog.open(); + } + } + } + + pageStack.initialPage: MainView { + id: mainView + document: documentItem + Kirigami.ColumnView.preventStealing: true + } + + //FIXME: this is due to global vars being bound after the parse is done, do the 2 steps parsing + Timer { + interval: 100 + running: true + onTriggered: { + if (uri) { + documentItem.url = uri + } + } + } + + QQC2.Dialog { + id: passwordDialog + focus: true + anchors.centerIn: parent + title: i18n("Password Needed") + contentItem: Kirigami.PasswordField { + id: pwdField + onAccepted: passwordDialog.accept(); + focus: true + } + standardButtons: QQC2.Dialog.Ok | QQC2.Dialog.Cancel + + onAccepted: documentItem.setPassword(pwdField.text); + onRejected: documentItem.url = ""; + } +} diff --git a/mobile/app/ui/MainView.qml b/mobile/app/ui/MainView.qml new file mode 100644 index 0000000..16a3ef9 --- /dev/null +++ b/mobile/app/ui/MainView.qml @@ -0,0 +1,100 @@ +/* + SPDX-FileCopyrightText: 2012 Marco Martin + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +import QtQuick +import QtQuick.Controls as QQC2 +import QtQuick.Layouts + +import org.kde.okular as Okular +import org.kde.kirigami as Kirigami + +Kirigami.Page { + id: root + + property alias document: pageArea.document + property alias page: pageArea.page + leftPadding: 0 + topPadding: 0 + rightPadding: 0 + bottomPadding: 0 + + actions: Kirigami.Action { + icon.name: pageArea.page.bookmarked ? "bookmark-remove" : "bookmarks-organize" + checkable: true + visible: document.opened + onCheckedChanged: (checked) => pageArea.page.bookmarked = checked + text: pageArea.page.bookmarked ? i18n("Remove bookmark") : i18n("Bookmark this page") + checked: pageArea.page.bookmarked + } + + Okular.DocumentView { + id: pageArea + anchors.fill: parent + + onClicked: fileBrowserRoot.controlsVisible = !fileBrowserRoot.controlsVisible + onUrlOpened: welcomeView.saveRecentDocument(document.url) + } + + Connections { + target: root.document + + function onError(text, duration) { + inlineMessage.showMessage(Kirigami.MessageType.Error, text, duration); + } + + function onWarning(text, duration) { + inlineMessage.showMessage(Kirigami.MessageType.Warning, text, duration); + } + + function onNotice(text, duration) { + inlineMessage.showMessage(Kirigami.MessageType.Information, text, duration); + } + } + + Kirigami.InlineMessage { + id: inlineMessage + + width: parent.width + position: Kirigami.InlineMessage.Header + + function showMessage(type, text, duration) { + inlineMessage.type = type; + inlineMessage.text = text; + inlineMessage.visible = true; + inlineMessageTimer.interval = duration > 0 ? duration : 500 + 100 * text.length; + } + + onVisibleChanged: { + if (visible) { + inlineMessageTimer.start() + } else { + inlineMessageTimer.stop() + } + } + + Timer { + id: inlineMessageTimer + onTriggered: inlineMessage.visible = false + } + } + + WelcomeView { + id: welcomeView + } + + QQC2.ProgressBar { + id: bar + z: 99 + visible: applicationWindow().controlsVisible + height: Kirigami.Units.smallSpacing + anchors { + left: parent.left + right: parent.right + bottom: parent.bottom + } + value: documentItem.pageCount !== 0 ? ((documentItem.currentPage + 1) / documentItem.pageCount) : 0 + } +} diff --git a/mobile/app/ui/OkularDrawer.qml b/mobile/app/ui/OkularDrawer.qml new file mode 100644 index 0000000..e5d8d93 --- /dev/null +++ b/mobile/app/ui/OkularDrawer.qml @@ -0,0 +1,126 @@ +/* + SPDX-FileCopyrightText: 2012 Marco Martin + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +import QtQuick 2.15 +import QtQuick.Controls 2.15 as QQC2 +import org.kde.kirigami 2.17 as Kirigami +import org.kde.okular 2.0 as Okular +import QtQuick.Layouts 1.15 + + +Kirigami.OverlayDrawer { + id: root + + bottomPadding: 0 + topPadding: 0 + leftPadding: 0 + rightPadding: 0 + + edge: Qt.application.layoutDirection == Qt.RightToLeft ? Qt.LeftEdge : Qt.RightEdge + contentItem: ColumnLayout { + id: browserFrame + spacing: 0 + + QQC2.StackView { + id: pageStack + Layout.fillWidth: true + Layout.fillHeight: true + clip: true + } + + Connections { + target: documentItem + function onUrlChanged() { + thumbnailsButton.checked = true; + } + } + + QQC2.ToolBar { + id: tabsToolbar + position: QQC2.ToolBar.Footer + Layout.fillWidth: true + Component.onCompleted: thumbnailsButton.checked = true; + Item { + width: parent.width + height: childrenRect.height + Row { + id: mainTabBar + spacing: 0 + anchors.horizontalCenter: parent.horizontalCenter + width: Math.min(parent.width, implicitWidth) + QQC2.ButtonGroup { id: tabPositionGroup } + QQC2.ToolButton { + id: thumbnailsButton + text: tabsToolbar.width > Kirigami.Units.gridUnit * 30 ? i18n("Thumbnails") : "" + icon.name: "view-preview" + checkable: true + flat: false + onCheckedChanged: { + if (checked) { + pageStack.replace(Qt.createComponent("Thumbnails.qml")) + } + } + QQC2.ButtonGroup.group: tabPositionGroup + } + QQC2.ToolButton { + id: tocButton + enabled: documentItem.tableOfContents.count > 0 + text: tabsToolbar.width > Kirigami.Units.gridUnit * 30 ? i18n("Table of contents") : "" + icon.name: "view-table-of-contents-ltr" + checkable: true + flat: false + onCheckedChanged: { + if (checked) { + pageStack.replace(Qt.createComponent("TableOfContents.qml")) + } + } + QQC2.ButtonGroup.group: tabPositionGroup + } + QQC2.ToolButton { + id: bookmarksButton + enabled: documentItem.bookmarkedPages.length > 0 + text: tabsToolbar.width > Kirigami.Units.gridUnit * 30 ? i18n("Bookmarks") : "" + icon.name: "bookmarks-organize" + checkable: true + flat: false + onCheckedChanged: { + if (checked) { + pageStack.replace(Qt.createComponent("Bookmarks.qml")) + } + } + QQC2.ButtonGroup.group: tabPositionGroup + } + QQC2.ToolButton { + id: signatyresButton + enabled: documentItem.signaturesModel.count > 0 + text: tabsToolbar.width > Kirigami.Units.gridUnit * 30 ? i18n("Signatures") : "" + icon.name: "application-pkcs7-signature" + checkable: true + flat: false + onCheckedChanged: { + if (checked) { + pageStack.replace(signaturesComponent) + } + } + QQC2.ButtonGroup.group: tabPositionGroup + } + } + } + } + } + + Component { + id: signaturesComponent + Signatures { + onDialogOpened: { + // We don't want to have two modal things open at the same time + if (root.modal) { + root.close(); + } + } + } + } +} diff --git a/mobile/app/ui/SignaturePropertiesPage.qml b/mobile/app/ui/SignaturePropertiesPage.qml new file mode 100644 index 0000000..9dc197d --- /dev/null +++ b/mobile/app/ui/SignaturePropertiesPage.qml @@ -0,0 +1,177 @@ +/* + * SPDX-FileCopyrightText: 2022 Albert Astals Cid + * SPDX-FileCopyrightText: 2024 Carl Schwan + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +import QtCore +import QtQuick +import QtQuick.Window +import QtQuick.Controls as QQC2 +import QtQuick.Dialogs as QQD +import QtQuick.Layouts +import org.kde.kirigami as Kirigami +import org.kde.kirigamiaddons.formcard as FormCard +import org.kde.okular as Okular + +FormCard.FormCardPage { + id: root + + property alias signatureValidityText: signatureValidity.description + property alias documentModificationsText: documentModifications.description + property alias signerNameText: signerName.description + property alias signingTimeText: signingTime.description + property alias signingLocationText: signingLocation.description + property alias signingReasonText: signingReason.description + + property Okular.CertificateModel certificateModel + property int signatureRevisionIndex: -1 + + signal saveSignatureSignedVersion(url path) + + title: i18n("Signature Properties") + + function showErrorDialog() { + errorDialog.open(); + } + + FormCard.FormHeader { + title: i18n("Validity Status") + } + + FormCard.FormCard { + FormCard.FormTextDelegate { + id: signatureValidity + text: i18n("Signature Validity:") + } + + FormCard.FormDelegateSeparator {} + + FormCard.FormTextDelegate { + id: documentModifications + text: i18n("Document Modifications:") + } + } + + FormCard.FormHeader { + title: i18n("Additional Information") + } + + FormCard.FormCard { + FormCard.FormTextDelegate { + id: signerName + text: i18n("Signed By:") + } + + FormCard.FormDelegateSeparator {} + + FormCard.FormTextDelegate { + id: signingTime + text: i18n("Signing Time:") + } + + FormCard.FormDelegateSeparator { + visible: signingReason.visible + } + + FormCard.FormTextDelegate { + id: signingReason + text: i18n("Reason:") + visible: description + } + + FormCard.FormDelegateSeparator { + visible: signingLocation.visible + } + + FormCard.FormTextDelegate { + id: signingLocation + text: i18n("Location:") + visible: description + } + } + + FormCard.FormHeader { + title: i18n("Document Version") + visible: root.signatureRevisionIndex >= 0 + } + + FormCard.FormCard { + visible: root.signatureRevisionIndex >= 0 + + FormCard.FormTextDelegate { + text: i18nc("Document Revision of ", "Document Revision %1 of %2", root.signatureRevisionIndex + 1, documentItem.signaturesModel.count) + } + + FormCard.FormButtonDelegate { + text: i18n("Save Signed Version…") + onClicked: { + fileDialog.open(); + } + } + } + + FormCard.FormCard { + visible: Kirigami.Settings.isMobile + + Layout.topMargin: Kirigami.Units.gridUnit + + FormCard.FormButtonDelegate { + icon.name: "view-certificate-symbolic" + text: i18n("View Certificate…") + onClicked: { + applicationWindow().pageStack.pushDialogLayer(Qt.resolvedUrl("CertificateViewerPage.qml"), { + certificateModel: root.certificateModel + }); + } + } + } + + footer: QQC2.ToolBar { + visible: !Kirigami.Settings.isMobile + padding: 0 + contentItem: QQC2.DialogButtonBox { + QQC2.Button { + QQC2.DialogButtonBox.buttonRole: QQC2.DialogButtonBox.ActionRole + text: i18n("View Certificate…") + icon.name: "view-certificate-symbolic" + onClicked: { + applicationWindow().pageStack.pushDialogLayer(Qt.resolvedUrl("CertificateViewerPage.qml"), { + certificateModel: root.certificateModel + }); + } + } + + QQC2.Button { + QQC2.DialogButtonBox.buttonRole: QQC2.DialogButtonBox.DestructiveRole + text: i18n("Close") + icon.name: "dialog-close" + onClicked: root.closeDialog() + } + } + } + + QQD.FileDialog { + id: fileDialog + currentFolder: StandardPaths.standardLocations(StandardPaths.DocumentsLocation)[0] + fileMode: QQD.FileDialog.SaveFile + onAccepted: { + root.saveSignatureSignedVersion(fileDialog.selectedFile); + } + } + + // TODO Use Kirigami.PromptDialog when we depend on KF >= 5.89 + // this way we can probably remove that ridiculous z value + QQC2.Dialog { + id: errorDialog + z: 200 + title: i18n("Error") + contentItem: QQC2.Label { + text: i18n("Could not save the signature.") + } + standardButtons: QQC2.Dialog.Ok + + onAccepted: close(); + } +} diff --git a/mobile/app/ui/Signatures.qml b/mobile/app/ui/Signatures.qml new file mode 100644 index 0000000..bed1a41 --- /dev/null +++ b/mobile/app/ui/Signatures.qml @@ -0,0 +1,60 @@ +/* + SPDX-FileCopyrightText: 2012 Marco Martin + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +import QtQuick 2.15 +import QtQuick.Controls 2.15 as QQC2 +import QtQuick.Window 2.15 +import org.kde.kirigami 2.17 as Kirigami +import org.kde.kitemmodels 1.0 + +QQC2.ScrollView { + id: root + + signal dialogOpened + + ListView { + model: KDescendantsProxyModel { + model: documentItem.signaturesModel + expandsByDefault: false + } + + delegate: TreeItem { + + function displayString(str) { + return str ? str : i18n("Not Available"); + } + + text: model.display + onClicked: { + if (!model.isUnsignedSignature) { + const dialog = applicationWindow().pageStack.pushDialogLayer(dialogComponent, { + signatureValidityText: model.readableStatus, + documentModificationsText: model.readableModificationSummary, + signerNameText: displayString(model.signerName), + signingTimeText: displayString(model.signingTime), + signingLocationText: model.signingLocation, + signingReasonText: model.signingReason, + certificateModel: model.certificateModel, + signatureRevisionIndex: model.signatureRevisionIndex + }) + root.dialogOpened(); + } + } + } + + Component { + id: dialogComponent + SignaturePropertiesPage { + id: dialog + onSaveSignatureSignedVersion: (path) => { + if (!documentItem.signaturesModel.saveSignedVersion(signatureRevisionIndex, path)) { + dialog.showErrorDialog(); + } + } + } + } + } +} diff --git a/mobile/app/ui/TableOfContents.qml b/mobile/app/ui/TableOfContents.qml new file mode 100644 index 0000000..33830fa --- /dev/null +++ b/mobile/app/ui/TableOfContents.qml @@ -0,0 +1,45 @@ +/* + SPDX-FileCopyrightText: 2012 Marco Martin + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +import QtQuick 2.15 +import QtQuick.Controls 2.15 as QQC2 +import QtQuick.Layouts 1.15 +import org.kde.kirigami 2.17 as Kirigami +import org.kde.kitemmodels 1.0 + +ColumnLayout { + id: root + Kirigami.AbstractApplicationHeader { + topPadding: Kirigami.Units.smallSpacing / 2; + bottomPadding: Kirigami.Units.smallSpacing / 2; + rightPadding: Kirigami.Units.smallSpacing + leftPadding: Kirigami.Units.smallSpacing + + width: root.width + Kirigami.SearchField { + id: searchField + width: parent.width + } + } + QQC2.ScrollView { + Layout.fillWidth: true + Layout.fillHeight: true + ListView { + model: KDescendantsProxyModel { + model: documentItem.tableOfContents + expandsByDefault: false + } + + delegate: TreeItem { + text: model.display + onClicked: { + documentItem.currentPage = page - 1; + contextDrawer.drawerOpen = false; + } + } + } + } +} diff --git a/mobile/app/ui/Thumbnails.qml b/mobile/app/ui/Thumbnails.qml new file mode 100644 index 0000000..97d9eea --- /dev/null +++ b/mobile/app/ui/Thumbnails.qml @@ -0,0 +1,36 @@ +/* + SPDX-FileCopyrightText: 2012 Marco Martin + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +import QtQuick 2.15 +import QtQuick.Layouts 1.15 +import QtQuick.Controls 2.15 as QQC2 +import org.kde.kirigami 2.17 as Kirigami + +ThumbnailsBase { + id: root + model: documentItem.matchingPages + + header: Kirigami.AbstractApplicationHeader { + topPadding: Kirigami.Units.smallSpacing / 2; + bottomPadding: Kirigami.Units.smallSpacing / 2; + rightPadding: Kirigami.Units.smallSpacing + leftPadding: Kirigami.Units.smallSpacing + + width: root.width + Kirigami.SearchField { + id: searchField + width: parent.width + enabled: documentItem ? documentItem.supportsSearching : false + onTextChanged: { + if (text.length > 2) { + documentItem.searchText(text); + } else { + documentItem.resetSearch(); + } + } + } + } +} diff --git a/mobile/app/ui/ThumbnailsBase.qml b/mobile/app/ui/ThumbnailsBase.qml new file mode 100644 index 0000000..18bda8e --- /dev/null +++ b/mobile/app/ui/ThumbnailsBase.qml @@ -0,0 +1,82 @@ +/* + SPDX-FileCopyrightText: 2012 Marco Martin + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +import QtQuick 2.15 +import QtQuick.Layouts 1.15 +import QtQuick.Controls 2.15 as QQC2 +import org.kde.okular 2.0 as Okular +import org.kde.kirigami 2.17 as Kirigami + +ColumnLayout { + id: root + property alias model: resultsGrid.model + property Item view: resultsGrid + signal pageClicked(int pageNumber) + + property alias header: control.contentItem + + QQC2.Control { + id: control + Layout.fillWidth: true + leftPadding: 0 + topPadding: 0 + bottomPadding: 0 + rightPadding: 0 + } + + QQC2.ScrollView { + Layout.fillWidth: true + Layout.fillHeight: true + QQC2.ScrollBar.horizontal.policy: QQC2.ScrollBar.AlwaysOff + Kirigami.CardsListView { + id: resultsGrid + clip: true + + Kirigami.PlaceholderMessage { + anchors.centerIn: parent + visible: model.length == 0 + width: parent.width - Kirigami.largeSpacing * 4 + text: i18n("No results found.") + } + + delegate: Kirigami.AbstractCard { + implicitWidth: root.width + showClickFeedback: true + readonly property real ratio: contentItem.implicitHeight/contentItem.implicitWidth + + required property int modelData + required property int index + + implicitHeight: width * ratio + contentItem: Okular.ThumbnailItem { + document: documentItem + pageNumber: modelData + Rectangle { + width: childrenRect.width + height: childrenRect.height + color: Kirigami.Theme.backgroundColor + radius: width + smooth: true + anchors { + top: parent.top + right: parent.right + } + QQC2.Label { + text: modelData + 1 + } + } + } + onClicked: { + resultsGrid.currentIndex = index + documentItem.currentPage = modelData + + contextDrawer.drawerOpen = false + root.pageClicked(modelData) + } + } + } + } +} diff --git a/mobile/app/ui/TreeItem.qml b/mobile/app/ui/TreeItem.qml new file mode 100644 index 0000000..d8f38c1 --- /dev/null +++ b/mobile/app/ui/TreeItem.qml @@ -0,0 +1,77 @@ +/* + * SPDX-FileCopyrightText: 2020 Marco Martin + * + * SPDX-License-Identifier: LGPL-2.0-or-later + */ + +import QtQuick 2.15 +import QtQuick.Layouts 1.15 +import QtQuick.Controls 2.15 as QQC2 +import org.kde.kirigami 2.17 as Kirigami +import org.kde.kitemmodels 1.0 + +/** + * An item delegate for the TreeListView and TreeTableView components. + * + * It has the tree expander decoration but no content otherwise, + * which has to be set as contentItem + * + */ +QQC2.ItemDelegate { + id: listItem + + property alias decoration: decoration + + width: ListView.view.width + + data: [ + TreeViewDecoration { + id: decoration + anchors { + left: parent.left + top:parent.top + bottom: parent.bottom + leftMargin: listItem.padding + } + parent: listItem + parentDelegate: listItem + model: listItem.ListView.view ? listItem.ListView.view.model :null + } + ] + + Keys.onLeftPressed: if (kDescendantExpandable && kDescendantExpanded) { + decoration.model.collapseChildren(index); + } else if (!kDescendantExpandable && kDescendantLevel > 0) { + if (listItem.ListView.view) { + const sourceIndex = decoration.model.mapToSource(decoration.model.index(index, 0)); + const newIndex = decoration.model.mapFromSource(sourceIndex.parent); + listItem.listItem.ListView.view.currentIndex = newIndex.row; + } + } + + Keys.onRightPressed: if (kDescendantExpandable) { + if (kDescendantExpanded && listItem.ListView.view) { + ListView.view.incrementCurrentIndex(); + } else { + decoration.model.expandChildren(index); + } + } + + onDoubleClicked: if (kDescendantExpandable) { + decoration.model.toggleChildren(index); + } + + contentItem: Kirigami.Heading { + wrapMode: Text.Wrap + text: listItem.text + level: 5 + width: listItem.ListView.view.width - (decoration.width + listItem.padding * 3 + Kirigami.Units.smallSpacing) + } + + leftInset: Qt.application.layoutDirection !== Qt.RightToLeft ? decoration.width + listItem.padding * 2 : 0 + leftPadding: Qt.application.layoutDirection !== Qt.RightToLeft ? decoration.width + listItem.padding * 2 : 0 + + rightPadding: Qt.application.layoutDirection === Qt.RightToLeft ? decoration.width + listItem.padding * 2 : 0 + rightInset: Qt.application.layoutDirection === Qt.RightToLeft ? decoration.width + listItem.padding * 2 : 0 +} + diff --git a/mobile/app/ui/TreeViewDecoration.qml b/mobile/app/ui/TreeViewDecoration.qml new file mode 100644 index 0000000..eadc167 --- /dev/null +++ b/mobile/app/ui/TreeViewDecoration.qml @@ -0,0 +1,113 @@ +/* + * SPDX-FileCopyrightText: 2020 Marco Martin + * + * SPDX-License-Identifier: LGPL-2.0-or-later + */ + +import QtQuick 2.15 +import QtQuick.Layouts 1.15 +import QtQuick.Controls 2.15 as QQC2 +import QtQuick.Templates 2.15 as T +import org.kde.kitemmodels 1.0 +import org.kde.kirigami 2.17 as Kirigami + +/** + * The tree expander decorator for item views. + * + * It will have a "> v" expander button graphics, and will have indentation on the left + * depending on the level of the tree the item is in + */ +RowLayout { + id: decorationLayout + /** + * The delegate this decoration will live in. + * It needs to be assigned explicitly by the developer. + */ + property T.ItemDelegate parentDelegate + + /** + * The KDescendantsProxyModel the view is showing. + * It needs to be assigned explicitly by the developer. + */ + property KDescendantsProxyModel model + + property color decorationHighlightColor + + Layout.topMargin: -parentDelegate.topPadding + Layout.bottomMargin: -parentDelegate.bottomPadding + Repeater { + model: kDescendantLevel-1 + delegate: Item { + Layout.preferredWidth: controlRoot.width + Layout.fillHeight: true + + Rectangle { + anchors { + horizontalCenter: parent.horizontalCenter + top: parent.top + bottom: parent.bottom + } + visible: kDescendantHasSiblings[modelData] + color: Kirigami.Theme.textColor + opacity: 0.5 + width: 1 + } + } + } + T.Button { + id: controlRoot + Layout.preferredWidth: Kirigami.Units.gridUnit + Layout.fillHeight: true + enabled: kDescendantExpandable + hoverEnabled: enabled + onClicked: model.toggleChildren(index) + contentItem: Item { + id: styleitem + implicitWidth: Kirigami.Units.gridUnit + Rectangle { + anchors { + horizontalCenter: parent.horizontalCenter + top: parent.top + bottom: expander.visible ? expander.top : parent.verticalCenter + } + color: Kirigami.Theme.textColor + opacity: 0.5 + width: 1 + } + Kirigami.Icon { + id: expander + anchors.centerIn: parent + width: Kirigami.Units.iconSizes.small + height: width + source: kDescendantExpanded ? "go-down-symbolic" : (Qt.application.layoutDirection == Qt.RightToLeft ? "go-previous-symbolic" : "go-next-symbolic") + isMask: true + color: controlRoot.hovered ? decorationLayout.decorationHighlightColor ? decorationLayout.decorationHighlightColor : + Kirigami.Theme.highlightColor : Kirigami.Theme.textColor + Behavior on color { ColorAnimation { duration: Kirigami.Units.shortDuration; easing.type: Easing.InOutQuad } } + visible: kDescendantExpandable + } + Rectangle { + anchors { + horizontalCenter: parent.horizontalCenter + top: expander.visible ? expander.bottom : parent.verticalCenter + bottom: parent.bottom + } + visible: kDescendantHasSiblings[kDescendantHasSiblings.length - 1] + color: Kirigami.Theme.textColor + opacity: 0.5 + width: 1 + } + Rectangle { + anchors { + verticalCenter: parent.verticalCenter + left: expander.visible ? expander.right : parent.horizontalCenter + right: parent.right + } + color: Kirigami.Theme.textColor + opacity: 0.5 + height: 1 + } + } + background: Item {} + } +} diff --git a/mobile/app/ui/WelcomeView.qml b/mobile/app/ui/WelcomeView.qml new file mode 100644 index 0000000..d7d3336 --- /dev/null +++ b/mobile/app/ui/WelcomeView.qml @@ -0,0 +1,142 @@ +/* + SPDX-FileCopyrightText: 2025 Sebastian Kügler + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +import QtCore +import QtQuick +import QtQuick.Controls as Controls +import QtQuick.Layouts + +import Qt.labs.folderlistmodel + +import org.kde.okular as Okular +import org.kde.kirigami as Kirigami +import org.kde.kirigamiaddons.formcard as FormCard + +FormCard.FormCard { + id: welcomeView + + visible: !document.opened + + anchors.centerIn: parent + width: Math.max(Kirigami.Units.gridUnit * 24, parent.width - Kirigami.Units.gridUnit * 24) + height: Math.max(Math.min(parent.height * 0.9, Kirigami.Units.gridUnit * 40), parent.height - Kirigami.Units.gridUnit * 8) + + function saveRecentDocument(doc) { + welcome.urlOpened(doc); + } + + Okular.WelcomeItem { + id: welcome + } + + ColumnLayout { + Layout.fillWidth: true + Layout.fillHeight: true + Layout.margins: Kirigami.Units.gridUnit + + spacing: Kirigami.Units.gridUnit + + Kirigami.PlaceholderMessage { + text: i18n("No document open") + helpfulAction: openDocumentAction + Layout.fillWidth: true + } + + Kirigami.Heading { + text: i18nc("in welcome screen", "Recent Documents") + visible: recentList.count + } + + Component { + id: fileDelegate + MouseArea { + Layout.fillWidth: true + width: Math.max(recentList.width, documentsList.width) + height: Kirigami.Units.gridUnit * 1.6 + RowLayout { + anchors.fill: parent + spacing: Math.round(Kirigami.Units.gridUnit * 0.4) + + Kirigami.Icon { + source: (typeof iconName !== "undefined") ? iconName : "application-pdf" + } + + Controls.Label { + text: (typeof display !== "undefined") ? display : fileName + elide: Text.ElideMiddle + Layout.fillWidth: true + } + } + onClicked: { + if (typeof url !== "undefined") { + // Recent Document + documentItem.url = url; + } else { + // File is in Documents folder + documentItem.url = fileUrl; + } + } + } + } + + Controls.ScrollView{ + Layout.fillWidth: true + Layout.fillHeight: true + visible: recentList.count + + background: Rectangle { + color: Kirigami.Theme.backgroundColor + border.color: Kirigami.Theme.textColor + radius: Kirigami.Units.cornerRadius + opacity: 0.2 + } + + ListView { + id: recentList + clip: true + spacing: Math.round(Kirigami.Units.gridUnit * 0.2) + + model: welcome.recentItemsModel + delegate: fileDelegate + } + } + + Kirigami.Heading { + text: i18nc("in welcome screen", "My Documents") + visible: documentsList.count + } + + Controls.ScrollView{ + Layout.fillWidth: true + Layout.fillHeight: true + visible: documentsList.count + + background: Rectangle { + color: Kirigami.Theme.backgroundColor + border.color: Kirigami.Theme.textColor + radius: Kirigami.Units.cornerRadius + opacity: 0.2 + } + + ListView { + id: documentsList + clip: true + spacing: Math.round(Kirigami.Units.gridUnit * 0.2) + + FolderListModel { + id: folderModel + // Note: can be changed by editing ~/.config/user-dirs.dirs and changing + // the value of XDG_DOCUMENTS_DIR + folder: StandardPaths.writableLocation(StandardPaths.DocumentsLocation) + nameFilters: Okular.Okular.nameFilters + } + + model: folderModel + delegate: fileDelegate + } + } + } +} diff --git a/mobile/components/CMakeLists.txt b/mobile/components/CMakeLists.txt new file mode 100644 index 0000000..bc03780 --- /dev/null +++ b/mobile/components/CMakeLists.txt @@ -0,0 +1,53 @@ +# SPDX-FileCopyrightText: 2024 Carl Schwan +# SPDX-License-Identifier: BSD-2-Clause + +ecm_add_qml_module(okularplugin + URI "org.kde.okular" + VERSION 2.0 + GENERATE_PLUGIN_SOURCE + DEPENDENCIES + org.kde.kirigami +) + +target_sources(okularplugin PRIVATE + ${CMAKE_SOURCE_DIR}/gui/guiutils.cpp + ${CMAKE_SOURCE_DIR}/gui/tocmodel.cpp + ${CMAKE_SOURCE_DIR}/gui/signaturemodel.cpp + ${CMAKE_SOURCE_DIR}/gui/signatureguiutils.cpp + ${CMAKE_SOURCE_DIR}/gui/certificatemodel.cpp + ${CMAKE_SOURCE_DIR}/gui/pagepainter.cpp + ${CMAKE_SOURCE_DIR}/gui/debug_ui.cpp + ${CMAKE_SOURCE_DIR}/gui/recentitemsmodel.cpp + pageitem.cpp + documentitem.cpp + thumbnailitem.cpp + okularsingleton.cpp + types.cpp + welcomeitem.cpp +) + +kconfig_add_kcfg_files(okularplugin GENERATE_MOC ${CMAKE_SOURCE_DIR}/conf/settings_mobile.kcfgc) + +ecm_target_qml_sources(okularplugin SOURCES + DocumentView.qml +) + +ecm_target_qml_sources(okularplugin PRIVATE PATH private SOURCES + private/PageView.qml +) + +target_link_libraries(okularplugin PRIVATE + Qt6::Quick + Qt6::Qml + Qt6::Core + Qt6::Xml + Qt6::Svg + KF6::Bookmarks + KF6::I18n + KF6::Service + okularcore +) + +ecm_finalize_qml_module(okularplugin DESTINATION ${KDE_INSTALL_QMLDIR} EXPORT OkularTargets) + +#add_subdirectory(test) diff --git a/mobile/components/DocumentView.qml b/mobile/components/DocumentView.qml new file mode 100644 index 0000000..e06438d --- /dev/null +++ b/mobile/components/DocumentView.qml @@ -0,0 +1,292 @@ +/* + SPDX-FileCopyrightText: 2015 Marco Martin + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +import QtQuick 2.15 +import QtQuick.Controls 2.15 as QQC2 +import org.kde.okular 2.0 +import "private" + +/** + * A touchscreen optimized view for a document + * + * It supports changing pages by a swipe gesture, pinch zoom + * and flicking to scroll around + */ +QQC2.ScrollView { + id: root + property DocumentItem document + property PageItem page: mouseArea.currPageDelegate.pageItem + signal clicked + + signal urlOpened + + clip: true + + //NOTE: on some themes it tries to set the flickable to interactive + //but we need it always non interactive as we need to manage + //dragging by ourselves + Component.onCompleted: flick.interactive = false + Flickable { + id: flick + interactive: false + onWidthChanged: resizeTimer.restart() + onHeightChanged: resizeTimer.restart() + + Component.onCompleted: { + flick.contentWidth = flick.width + flick.contentHeight = flick.width / mouseArea.currPageDelegate.pageRatio + } + Connections { + target: root.document + function onUrlChanged() { + resizeTimer.restart() + root.urlOpened() + } + } + Timer { + id: resizeTimer + interval: 250 + onTriggered: { + flick.contentWidth = flick.width + flick.contentHeight = flick.width / mouseArea.currPageDelegate.pageRatio + } + } + + PinchArea { + width: flick.contentWidth + height: flick.contentHeight + + property real initialWidth + property real initialHeight + + onPinchStarted: { + initialWidth = mouseArea.currPageDelegate.implicitWidth * mouseArea.currPageDelegate.scaleFactor + initialHeight = mouseArea.currPageDelegate.implicitHeight * mouseArea.currPageDelegate.scaleFactor + } + + onPinchUpdated: { + // adjust content pos due to drag + flick.contentX += pinch.previousCenter.x - pinch.center.x + flick.contentY += pinch.previousCenter.y - pinch.center.y + + // resize content + //use the scale property during pinch, for speed reasons + if (initialHeight * pinch.scale > flick.height && + initialHeight * pinch.scale < flick.height * 3) { + mouseArea.scale = pinch.scale; + } + resizeTimer.stop(); + flick.returnToBounds(); + } + onPinchFinished: { + flick.resizeContent(Math.max(flick.width+1, initialWidth * mouseArea.scale), Math.max(flick.height, initialHeight * mouseArea.scale), pinch.center); + mouseArea.scale = 1; + + resizeTimer.stop() + flick.returnToBounds(); + } + MouseArea { + id: mouseArea + width: parent.width + height: parent.height + + property real oldMouseX + property real oldMouseY + property real startMouseX + property real startMouseY + property bool incrementing: true + property PageView currPageDelegate: page1 + property PageView prevPageDelegate: page2 + property PageView nextPageDelegate: page3 + + onPressed: (mouse) => { + var pos = mapToItem(flick, mouse.x, mouse.y); + startMouseX = oldMouseX = pos.x; + startMouseY = oldMouseY = pos.y; + } + onPositionChanged: (mouse) => { + var pos = mapToItem(flick, mouse.x, mouse.y); + + flick.contentY = Math.max(0, Math.min(flick.contentHeight - flick.height, flick.contentY - (pos.y - oldMouseY))); + + if ((pos.x - oldMouseX > 0 && flick.atXBeginning) || + (pos.x - oldMouseX < 0 && flick.atXEnd)) { + currPageDelegate.x += pos.x - oldMouseX; + mouseArea.incrementing = currPageDelegate.x <= 0; + } else { + flick.contentX = Math.max(0, Math.min(flick.contentWidth - flick.width, flick.contentX - (pos.x - oldMouseX))); + } + + oldMouseX = pos.x; + oldMouseY = pos.y; + } + onReleased: { + if (root.document.currentPage > 0 && + currPageDelegate.x > width/6) { + switchAnimation.running = true; + } else if (root.document.currentPage < document.pageCount-1 && + currPageDelegate.x < -width/6) { + switchAnimation.running = true; + } else { + resetAnim.running = true; + } + } + onCanceled: { + resetAnim.running = true; + } + onDoubleClicked: { + flick.contentWidth = flick.width + flick.contentHeight = flick.width / mouseArea.currPageDelegate.pageRatio + } + onClicked: (mouse) => { + var pos = mapToItem(flick, mouse.x, mouse.y); + if (Math.abs(startMouseX - pos.x) < 20 && + Math.abs(startMouseY - pos.y) < 20) { + root.clicked(); + } + } + onWheel: (wheel) => { + if (wheel.modifiers & Qt.ControlModifier) { + //generate factors between 0.8 and 1.2 + var factor = (((wheel.angleDelta.y / 120)+1) / 5 )+ 0.8; + + var newWidth = flick.contentWidth * factor; + var newHeight = flick.contentHeight * factor; + + if (newWidth < flick.width || newHeight < flick.height || + newHeight > flick.height * 3) { + return; + } + + flick.resizeContent(newWidth, newHeight, Qt.point(wheel.x, wheel.y)); + flick.returnToBounds(); + resizeTimer.stop(); + } else { + flick.contentY = Math.min(flick.contentHeight-flick.height, Math.max(0, flick.contentY - wheel.angleDelta.y)); + } + } + + PageView { + id: page1 + document: root.document + z: 2 + } + PageView { + id: page2 + document: root.document + z: 1 + } + PageView { + id: page3 + document: root.document + z: 0 + } + + + Binding { + target: mouseArea.currPageDelegate + property: "pageNumber" + value: root.document.currentPage + restoreMode: Binding.RestoreNone + } + Binding { + target: mouseArea.currPageDelegate + property: "visible" + value: true + restoreMode: Binding.RestoreNone + } + + Binding { + target: mouseArea.prevPageDelegate + property: "pageNumber" + value: root.document.currentPage - 1 + restoreMode: Binding.RestoreNone + } + Binding { + target: mouseArea.prevPageDelegate + property: "visible" + value: !mouseArea.incrementing && root.document.currentPage > 0 + restoreMode: Binding.RestoreNone + } + + Binding { + target: mouseArea.nextPageDelegate + property: "pageNumber" + value: root.document.currentPage + 1 + restoreMode: Binding.RestoreNone + } + Binding { + target: mouseArea.nextPageDelegate + property: "visible" + value: mouseArea.incrementing && root.document.currentPage < document.pageCount-1 + restoreMode: Binding.RestoreNone + } + + SequentialAnimation { + id: switchAnimation + ParallelAnimation { + NumberAnimation { + target: flick + properties: "contentY" + to: 0 + easing.type: Easing.InQuad + //hardcoded number, we would need units from kirigami + //which cannot depend from here + duration: 250 + } + NumberAnimation { + target: mouseArea.currPageDelegate + properties: "x" + to: mouseArea.incrementing ? -mouseArea.currPageDelegate.width : mouseArea.currPageDelegate.width + easing.type: Easing.InQuad + //hardcoded number, we would need units from kirigami + //which cannot depend from here + duration: 250 + } + } + ScriptAction { + script: { + mouseArea.currPageDelegate.z = 0; + mouseArea.prevPageDelegate.z = 1; + mouseArea.nextPageDelegate.z = 2; + } + } + ScriptAction { + script: { + mouseArea.currPageDelegate.x = 0 + var oldCur = mouseArea.currPageDelegate; + var oldPrev = mouseArea.prevPageDelegate; + var oldNext = mouseArea.nextPageDelegate; + + if (mouseArea.incrementing) { + root.document.currentPage++; + mouseArea.currPageDelegate = oldNext; + mouseArea.prevPageDelegate = oldCur; + mouseArea. nextPageDelegate = oldPrev; + } else { + root.document.currentPage--; + mouseArea.currPageDelegate = oldPrev; + mouseArea.nextPageDelegate = oldCur; + mouseArea.prevPageDelegate = oldNext; + } + mouseArea.currPageDelegate.z = 2; + mouseArea.prevPageDelegate.z = 1; + mouseArea.nextPageDelegate.z = 0; + } + } + } + NumberAnimation { + id: resetAnim + target: mouseArea.currPageDelegate + properties: "x" + to: 0 + easing.type: Easing.InQuad + duration: 250 + } + } + } + } +} diff --git a/mobile/components/Messages.sh b/mobile/components/Messages.sh new file mode 100644 index 0000000..2a5aa96 --- /dev/null +++ b/mobile/components/Messages.sh @@ -0,0 +1,2 @@ +#! /usr/bin/env bash +$XGETTEXT `find . -name "*.cpp" -o -name "*.h"` -o $podir/org.kde.okular.pot diff --git a/mobile/components/documentitem.cpp b/mobile/components/documentitem.cpp new file mode 100644 index 0000000..80622d2 --- /dev/null +++ b/mobile/components/documentitem.cpp @@ -0,0 +1,299 @@ +/* + SPDX-FileCopyrightText: 2012 Marco Martin + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "documentitem.h" + +#include +#include + +#ifdef Q_OS_ANDROID +#include +#include +#endif + +#include +#include +#include + +#include "gui/signatureguiutils.h" + +DocumentItem::DocumentItem(QObject *parent) + : QObject(parent) + , m_thumbnailObserver(nullptr) + , m_pageviewObserver(nullptr) + , m_searchInProgress(false) +{ + qmlRegisterUncreatableType("org.kde.okular.private", 1, 0, "TOCModel", QStringLiteral("Do not create objects of this type.")); + qmlRegisterUncreatableType("org.kde.okular.private", 1, 0, "SignatureModel", QStringLiteral("Do not create objects of this type.")); + Okular::Settings::instance(QStringLiteral("okularproviderrc")); + m_document = new Okular::Document(nullptr); + m_tocModel = new TOCModel(m_document, this); + m_signaturesModel = new SignatureModel(m_document, this); + + connect(m_document, &Okular::Document::searchFinished, this, &DocumentItem::searchFinished); + connect(m_document->bookmarkManager(), &Okular::BookmarkManager::bookmarksChanged, this, &DocumentItem::bookmarkedPagesChanged); + connect(m_document->bookmarkManager(), &Okular::BookmarkManager::bookmarksChanged, this, &DocumentItem::bookmarksChanged); + connect(m_document, &Okular::Document::error, this, &DocumentItem::error); + connect(m_document, &Okular::Document::warning, this, &DocumentItem::warning); + connect(m_document, &Okular::Document::notice, this, &DocumentItem::notice); +} + +DocumentItem::~DocumentItem() +{ + delete m_signaturesModel; + delete m_document; +} + +void DocumentItem::setUrl(const QUrl &url) +{ + openUrl(url, {}); +} + +void DocumentItem::openUrl(const QUrl &url, const QString &password) +{ + m_document->closeDocument(); + // TODO: password + QMimeDatabase db; + + QUrl realUrl = url; // NOLINT(performance-unnecessary-copy-initialization) because of the ifdef below this can't be const & + +#ifdef Q_OS_ANDROID + realUrl = /* cppcheck-suppress redundantInitialization */ + QUrl(QJniObject(QNativeInterface::QAndroidApplication::context()).callObjectMethod("contentUrlToFd", "(Ljava/lang/String;)Ljava/lang/String;", QJniObject::fromString(url.toString(QUrl::FullyEncoded)).object()).toString()); +#endif + + const QString path = realUrl.isLocalFile() ? realUrl.toLocalFile() : QStringLiteral("-"); + + const Okular::Document::OpenResult res = m_document->openDocument(path, realUrl, db.mimeTypeForUrl(realUrl), password); + + m_tocModel->clear(); + m_tocModel->fill(m_document->documentSynopsis()); + m_tocModel->setCurrentViewport(m_document->viewport()); + + m_matchingPages.clear(); + for (uint i = 0; i < m_document->pages(); ++i) { + m_matchingPages << (int)i; + } + m_needsPassword = res == Okular::Document::OpenNeedsPassword; + Q_EMIT matchingPagesChanged(); + Q_EMIT urlChanged(); + Q_EMIT pageCountChanged(); + Q_EMIT openedChanged(); + Q_EMIT needsPasswordChanged(); + Q_EMIT supportsSearchingChanged(); + Q_EMIT windowTitleForDocumentChanged(); + Q_EMIT bookmarkedPagesChanged(); + + KMessageWidget::MessageType messageType; + QString message; + std::tie(messageType, message) = SignatureGuiUtils::documentSignatureMessageWidgetText(m_document); + if (!message.isEmpty()) { + if (messageType == KMessageWidget::Information) { + Q_EMIT notice(message, -1); + } else if (messageType == KMessageWidget::Warning) { + Q_EMIT warning(message, -1); + } else { + qWarning() << "Unexpected message type" << messageType; + } + } +} + +QString DocumentItem::windowTitleForDocument() const +{ + // If 'DocumentTitle' should be used, check if the document has one. If + // either case is false, use the file name. + QString title = Okular::Settings::displayDocumentNameOrPath() == Okular::Settings::EnumDisplayDocumentNameOrPath::Path ? m_document->currentDocument().toDisplayString(QUrl::PreferLocalFile) : m_document->currentDocument().fileName(); + + if (Okular::Settings::displayDocumentTitle()) { + const QString docTitle = m_document->metaData(QStringLiteral("DocumentTitle")).toString(); + + if (!docTitle.isEmpty() && !docTitle.trimmed().isEmpty()) { + title = docTitle; + } + } + + return title; +} + +QUrl DocumentItem::url() const +{ + return m_document->currentDocument(); +} + +void DocumentItem::setCurrentPage(int page) +{ + m_document->setViewportPage(page); + m_tocModel->setCurrentViewport(m_document->viewport()); + Q_EMIT currentPageChanged(); +} + +int DocumentItem::currentPage() const +{ + return m_document->currentPage(); +} + +bool DocumentItem::isOpened() const +{ + return m_document->isOpened(); +} + +int DocumentItem::pageCount() const +{ + return m_document->pages(); +} + +QVariantList DocumentItem::matchingPages() const +{ + return m_matchingPages; +} + +TOCModel *DocumentItem::tableOfContents() const +{ + return m_tocModel; +} + +SignatureModel *DocumentItem::signaturesModel() const +{ + return m_signaturesModel; +} + +QVariantList DocumentItem::bookmarkedPages() const +{ + QList list; + QSet pages; + const KBookmark::List bMarks = m_document->bookmarkManager()->bookmarks(); + for (const KBookmark &bookmark : bMarks) { + Okular::DocumentViewport viewport(bookmark.url().fragment()); + pages << viewport.pageNumber; + } + list = pages.values(); + std::sort(list.begin(), list.end()); + + QVariantList variantList; + for (const int page : std::as_const(list)) { + variantList << page; + } + return variantList; +} + +QStringList DocumentItem::bookmarks() const +{ + QStringList list; + const KBookmark::List bMarks = m_document->bookmarkManager()->bookmarks(); + for (const KBookmark &bookmark : bMarks) { + list << bookmark.url().toString(); + } + return list; +} + +bool DocumentItem::supportsSearching() const +{ + return m_document->supportsSearching(); +} + +bool DocumentItem::isSearchInProgress() const +{ + return m_searchInProgress; +} + +void DocumentItem::searchText(const QString &text) +{ + if (text.isEmpty()) { + resetSearch(); + return; + } + m_document->cancelSearch(); + m_document->resetSearch(PAGEVIEW_SEARCH_ID); + m_document->searchText(PAGEVIEW_SEARCH_ID, text, true, Qt::CaseInsensitive, Okular::Document::AllDocument, true, QColor(100, 100, 200, 40)); + + if (!m_searchInProgress) { + m_searchInProgress = true; + Q_EMIT searchInProgressChanged(); + } +} + +void DocumentItem::resetSearch() +{ + m_document->resetSearch(PAGEVIEW_SEARCH_ID); + m_matchingPages.clear(); + for (uint i = 0; i < m_document->pages(); ++i) { + m_matchingPages << (int)i; + } + if (m_searchInProgress) { + m_searchInProgress = false; + Q_EMIT searchInProgressChanged(); + } + + Q_EMIT matchingPagesChanged(); +} + +void DocumentItem::setPassword(const QString &password) +{ + openUrl(m_document->currentDocument(), password); +} + +Okular::Document *DocumentItem::document() +{ + return m_document; +} + +Observer *DocumentItem::thumbnailObserver() +{ + if (!m_thumbnailObserver) { + m_thumbnailObserver = new Observer(this); + } + + return m_thumbnailObserver; +} + +Observer *DocumentItem::pageviewObserver() +{ + if (!m_pageviewObserver) { + m_pageviewObserver = new Observer(this); + } + + return m_pageviewObserver; +} + +void DocumentItem::searchFinished(int id, Okular::Document::SearchStatus endStatus) +{ + Q_UNUSED(endStatus) + + if (id != PAGEVIEW_SEARCH_ID) { + return; + } + + m_matchingPages.clear(); + for (uint i = 0; i < m_document->pages(); ++i) { + if (m_document->page(i)->hasHighlights(id)) { + m_matchingPages << (int)i; + } + } + + if (m_searchInProgress) { + m_searchInProgress = false; + Q_EMIT searchInProgressChanged(); + } + Q_EMIT matchingPagesChanged(); +} + +// Observer + +Observer::Observer(DocumentItem *parent) + : QObject(parent) + , m_document(parent) +{ + parent->document()->addObserver(this); +} + +Observer::~Observer() +{ +} + +void Observer::notifyPageChanged(int page, int flags) +{ + Q_EMIT pageChanged(page, flags); +} diff --git a/mobile/components/documentitem.h b/mobile/components/documentitem.h new file mode 100644 index 0000000..8405154 --- /dev/null +++ b/mobile/components/documentitem.h @@ -0,0 +1,229 @@ +/* + SPDX-FileCopyrightText: 2012 Marco Martin + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef QDOCUMENTITEM_H +#define QDOCUMENTITEM_H + +#include +#include + +#include "settings.h" + +#include +#include + +#include "gui/signaturemodel.h" +#include "gui/tocmodel.h" + +namespace Okular +{ +class Document; +} + +class Observer; +class SignatureModel; +class TOCModel; + +class DocumentItem : public QObject +{ + Q_OBJECT + QML_ELEMENT + + /** + * Absolute URI to document file to open + */ + Q_PROPERTY(QUrl url READ url WRITE setUrl NOTIFY urlChanged) + + /** + * Suggested window title if a window represents this document. may be pathname or document title, depending on Okular settings. + */ + Q_PROPERTY(QString windowTitleForDocument READ windowTitleForDocument NOTIFY windowTitleForDocumentChanged) + + /** + * Current displaying page for the document + */ + Q_PROPERTY(int currentPage READ currentPage WRITE setCurrentPage NOTIFY currentPageChanged) + + /** + * True if this DocumentItem instance has a document file opened + */ + Q_PROPERTY(bool opened READ isOpened NOTIFY openedChanged) + + /** + * True if this DocumentItem instance needs a password to open the document + */ + Q_PROPERTY(bool needsPassword READ needsPassword NOTIFY needsPasswordChanged) + + /** + * How many pages there are in the document + */ + Q_PROPERTY(int pageCount READ pageCount NOTIFY pageCountChanged) + + /** + * True if the document is able to perform full text searches in its contents + */ + Q_PROPERTY(bool supportsSearching READ supportsSearching NOTIFY supportsSearchingChanged) + + /** + * True if a search is currently in progress and results didn't arrive yet + */ + Q_PROPERTY(bool searchInProgress READ isSearchInProgress NOTIFY searchInProgressChanged) + + /** + * A list of all pages that contain a match for the search terms. If no text has been searched, all pages are returned. + */ + Q_PROPERTY(QVariantList matchingPages READ matchingPages NOTIFY matchingPagesChanged) + + /** + * Table of contents for the document, if available + */ + Q_PROPERTY(TOCModel *tableOfContents READ tableOfContents CONSTANT) + + /** + * Signatures model, if available + */ + Q_PROPERTY(SignatureModel *signaturesModel READ signaturesModel CONSTANT) + + /** + * List of pages that contain a bookmark + */ + Q_PROPERTY(QVariantList bookmarkedPages READ bookmarkedPages NOTIFY bookmarkedPagesChanged) + + /** + * list of bookmarks urls valid on this page + */ + Q_PROPERTY(QStringList bookmarks READ bookmarks NOTIFY bookmarksChanged) + +public: + explicit DocumentItem(QObject *parent = nullptr); + ~DocumentItem() override; + + void setUrl(const QUrl &url); + QUrl url() const; + + QString windowTitleForDocument() const; + + void setCurrentPage(int page); + int currentPage() const; + + bool isOpened() const; + + bool needsPassword() const + { + return m_needsPassword; + } + + int pageCount() const; + + bool supportsSearching() const; + + bool isSearchInProgress() const; + + QVariantList matchingPages() const; + + TOCModel *tableOfContents() const; + + SignatureModel *signaturesModel() const; + + QVariantList bookmarkedPages() const; + + QStringList bookmarks() const; + + // This could be a property, but maybe we want to have parameter for searchText + /** + * Performs a search in the document + * + * @param text the string to search in the document + */ + Q_INVOKABLE void searchText(const QString &text); + + /** + * Reset the search over the document. + */ + Q_INVOKABLE void resetSearch(); + + /** + * Tries to reopen the document with the given password. + */ + Q_INVOKABLE void setPassword(const QString &password); + + // Internal, not binded to qml + Okular::Document *document(); + Observer *pageviewObserver(); + Observer *thumbnailObserver(); + +Q_SIGNALS: + void urlChanged(); + void pageCountChanged(); + void openedChanged(); + void needsPasswordChanged(); + void searchInProgressChanged(); + void matchingPagesChanged(); + void currentPageChanged(); + void supportsSearchingChanged(); + void bookmarkedPagesChanged(); + void bookmarksChanged(); + void windowTitleForDocumentChanged(); + + /** + * This signal is emitted whenever an error occurred. + * + * @param text The description of the error. + * @param duration The time in milliseconds the message should be shown to the user. + */ + void error(const QString &text, int duration); + + /** + * This signal is emitted to signal a warning. + * + * @param text The description of the warning. + * @param duration The time in milliseconds the message should be shown to the user. + */ + void warning(const QString &text, int duration); + + /** + * This signal is emitted to signal a notice. + * + * @param text The description of the notice. + * @param duration The time in milliseconds the message should be shown to the user. + */ + void notice(const QString &text, int duration); + +private Q_SLOTS: + void searchFinished(int id, Okular::Document::SearchStatus endStatus); + +private: + void openUrl(const QUrl &url, const QString &password); + + Okular::Document *m_document; + TOCModel *m_tocModel; + SignatureModel *m_signaturesModel; + Observer *m_thumbnailObserver; + Observer *m_pageviewObserver; + QVariantList m_matchingPages; + bool m_searchInProgress; + bool m_needsPassword = false; +}; + +class Observer : public QObject, public Okular::DocumentObserver +{ + Q_OBJECT + +public: + explicit Observer(DocumentItem *parent); + ~Observer() override; + + // inherited from DocumentObserver + void notifyPageChanged(int page, int flags) override; + +Q_SIGNALS: + void pageChanged(int page, int flags); + +private: + DocumentItem *m_document; +}; + +#endif diff --git a/mobile/components/okularsingleton.cpp b/mobile/components/okularsingleton.cpp new file mode 100644 index 0000000..358ff92 --- /dev/null +++ b/mobile/components/okularsingleton.cpp @@ -0,0 +1,37 @@ +/* + SPDX-FileCopyrightText: 2018 Aleix Pol Gonzalez + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "okularsingleton.h" +#include +#include +#include + +OkularSingleton::OkularSingleton() = default; + +QStringList OkularSingleton::nameFilters() const +{ + QStringList supportedPatterns; + + const auto plugins = KPluginMetaData::findPlugins(QStringLiteral("okular_generators")); + if (plugins.isEmpty()) { + qWarning() << "okularpart plugin not found. Required to get nameFilters"; + return supportedPatterns; + } + + QMimeDatabase md; + for (const auto &plugin : plugins) { + const QStringList mimeTypes = plugin.mimeTypes(); + + for (const auto &mimeName : mimeTypes) { + const QStringList suffixes = md.mimeTypeForName(mimeName).suffixes(); + for (const QString &suffix : suffixes) { + supportedPatterns += QStringLiteral("*.") + suffix; + } + } + } + + return supportedPatterns; +} diff --git a/mobile/components/okularsingleton.h b/mobile/components/okularsingleton.h new file mode 100644 index 0000000..717a896 --- /dev/null +++ b/mobile/components/okularsingleton.h @@ -0,0 +1,27 @@ +/* + SPDX-FileCopyrightText: 2018 Aleix Pol Gonzalez + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef OKULARSINGLETON_H +#define OKULARSINGLETON_H + +#include +#include +#include + +class OkularSingleton : public QObject +{ + Q_OBJECT + QML_NAMED_ELEMENT(Okular) + QML_SINGLETON + Q_PROPERTY(QStringList nameFilters READ nameFilters CONSTANT) + +public: + OkularSingleton(); + + QStringList nameFilters() const; +}; + +#endif diff --git a/mobile/components/pageitem.cpp b/mobile/components/pageitem.cpp new file mode 100644 index 0000000..c1833a7 --- /dev/null +++ b/mobile/components/pageitem.cpp @@ -0,0 +1,404 @@ +/* + SPDX-FileCopyrightText: 2012 Marco Martin + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "pageitem.h" +#include "documentitem.h" + +#include +#include +#include +#include +#include + +#include +#include +#include + +#include "gui/pagepainter.h" +#include "gui/priorities.h" +#include "settings.h" + +#define REDRAW_TIMEOUT 250 + +PageItem::PageItem(QQuickItem *parent) + : QQuickItem(parent) + , Okular::View(QStringLiteral("PageView")) + , m_page(nullptr) + , m_bookmarked(false) + , m_isThumbnail(false) +{ + setFlag(QQuickItem::ItemHasContents, true); + + m_viewPort.rePos.enabled = true; + + m_redrawTimer = new QTimer(this); + m_redrawTimer->setInterval(REDRAW_TIMEOUT); + m_redrawTimer->setSingleShot(true); + connect(m_redrawTimer, &QTimer::timeout, this, &PageItem::requestPixmap); + connect(this, &QQuickItem::windowChanged, m_redrawTimer, [this]() { m_redrawTimer->start(); }); +} + +PageItem::~PageItem() +{ +} + +void PageItem::setFlickable(QQuickItem *flickable) +{ + if (m_flickable.data() == flickable) { + return; + } + + // check the object can act as a flickable + if (!flickable->property("contentX").isValid() || !flickable->property("contentY").isValid()) { + return; + } + + if (m_flickable) { + disconnect(m_flickable.data(), nullptr, this, nullptr); + } + + // check the object can act as a flickable + if (!flickable->property("contentX").isValid() || !flickable->property("contentY").isValid()) { + m_flickable.clear(); + return; + } + + m_flickable = flickable; + + if (flickable) { + // QQuickFlickable is not exported so we need the old-style connects here + connect(flickable, SIGNAL(contentXChanged()), this, SLOT(contentXChanged())); // clazy:exclude=old-style-connect + connect(flickable, SIGNAL(contentYChanged()), this, SLOT(contentYChanged())); // clazy:exclude=old-style-connect + } + + Q_EMIT flickableChanged(); +} + +QQuickItem *PageItem::flickable() const +{ + return m_flickable.data(); +} + +DocumentItem *PageItem::document() const +{ + return m_documentItem.data(); +} + +void PageItem::setDocument(DocumentItem *doc) +{ + if (doc == m_documentItem.data() || !doc) { + return; + } + + m_page = nullptr; + disconnect(doc, nullptr, this, nullptr); + m_documentItem = doc; + Observer *observer = m_isThumbnail ? m_documentItem.data()->thumbnailObserver() : m_documentItem.data()->pageviewObserver(); + connect(observer, &Observer::pageChanged, this, &PageItem::pageHasChanged); + connect(doc->document()->bookmarkManager(), &Okular::BookmarkManager::bookmarksChanged, this, &PageItem::checkBookmarksChanged); + setPageNumber(0); + Q_EMIT documentChanged(); + m_redrawTimer->start(); + + connect(doc, &DocumentItem::urlChanged, this, &PageItem::refreshPage); +} + +int PageItem::pageNumber() const +{ + return m_viewPort.pageNumber; +} + +void PageItem::setPageNumber(int number) +{ + if ((m_page && m_viewPort.pageNumber == number) || !m_documentItem || !m_documentItem.data()->isOpened() || number < 0) { + return; + } + + m_viewPort.pageNumber = number; + refreshPage(); + Q_EMIT pageNumberChanged(); + checkBookmarksChanged(); +} + +void PageItem::refreshPage() +{ + if (uint(m_viewPort.pageNumber) < m_documentItem.data()->document()->pages()) { + m_page = m_documentItem.data()->document()->page(m_viewPort.pageNumber); + } else { + m_page = nullptr; + } + + Q_EMIT implicitWidthChanged(); + Q_EMIT implicitHeightChanged(); + + m_redrawTimer->start(); +} + +int PageItem::implicitWidth() const +{ + if (m_page) { + return m_page->width(); + } + return 0; +} + +int PageItem::implicitHeight() const +{ + if (m_page) { + return m_page->height(); + } + return 0; +} + +bool PageItem::isBookmarked() +{ + return m_bookmarked; +} + +void PageItem::setBookmarked(bool bookmarked) +{ + if (!m_documentItem) { + return; + } + + if (bookmarked == m_bookmarked) { + return; + } + + if (bookmarked) { + m_documentItem.data()->document()->bookmarkManager()->addBookmark(m_viewPort); + } else { + m_documentItem.data()->document()->bookmarkManager()->removeBookmark(m_viewPort.pageNumber); + } + m_bookmarked = bookmarked; + Q_EMIT bookmarkedChanged(); +} + +QStringList PageItem::bookmarks() const +{ + QStringList list; + const KBookmark::List pageMarks = m_documentItem.data()->document()->bookmarkManager()->bookmarks(m_viewPort.pageNumber); + for (const KBookmark &bookmark : pageMarks) { + list << bookmark.url().toString(); + } + return list; +} + +void PageItem::goToBookmark(const QString &bookmark) +{ + Okular::DocumentViewport viewPort(QUrl::fromUserInput(bookmark).fragment(QUrl::FullyDecoded)); + setPageNumber(viewPort.pageNumber); + + // Are we in a flickable? + if (m_flickable) { + // normalizedX is a proportion, so contentX will be the difference between document and viewport times normalizedX + m_flickable.data()->setProperty("contentX", qMax((qreal)0, width() - m_flickable.data()->width()) * viewPort.rePos.normalizedX); + + m_flickable.data()->setProperty("contentY", qMax((qreal)0, height() - m_flickable.data()->height()) * viewPort.rePos.normalizedY); + } +} + +QPointF PageItem::bookmarkPosition(const QString &bookmark) const +{ + Okular::DocumentViewport viewPort(QUrl::fromUserInput(bookmark).fragment(QUrl::FullyDecoded)); + + if (viewPort.pageNumber != m_viewPort.pageNumber) { + return QPointF(-1, -1); + } + + return QPointF(qMax((qreal)0, width() - m_flickable.data()->width()) * viewPort.rePos.normalizedX, qMax((qreal)0, height() - m_flickable.data()->height()) * viewPort.rePos.normalizedY); +} + +void PageItem::setBookmarkAtPos(qreal x, qreal y) +{ + Okular::DocumentViewport viewPort(m_viewPort); + viewPort.rePos.normalizedX = x; + viewPort.rePos.normalizedY = y; + + m_documentItem.data()->document()->bookmarkManager()->addBookmark(viewPort); + + if (!m_bookmarked) { + m_bookmarked = true; + Q_EMIT bookmarkedChanged(); + } + + Q_EMIT bookmarksChanged(); +} + +void PageItem::removeBookmarkAtPos(qreal x, qreal y) +{ + Okular::DocumentViewport viewPort(m_viewPort); + viewPort.rePos.enabled = true; + viewPort.rePos.normalizedX = x; + viewPort.rePos.normalizedY = y; + + m_documentItem.data()->document()->bookmarkManager()->addBookmark(viewPort); + + if (m_bookmarked && m_documentItem.data()->document()->bookmarkManager()->bookmarks(m_viewPort.pageNumber).count() == 0) { + m_bookmarked = false; + Q_EMIT bookmarkedChanged(); + } + + Q_EMIT bookmarksChanged(); +} + +void PageItem::removeBookmark(const QString &bookmark) +{ + m_documentItem.data()->document()->bookmarkManager()->removeBookmark(Okular::DocumentViewport(bookmark)); + Q_EMIT bookmarksChanged(); +} + +// Reimplemented +void PageItem::geometryChange(const QRectF &newGeometry, const QRectF &oldGeometry) +{ + if (newGeometry.size().isEmpty()) { + return; + } + + bool changed = false; + if (newGeometry.size() != oldGeometry.size()) { + changed = true; + m_redrawTimer->start(); + } + + QQuickItem::geometryChange(newGeometry, oldGeometry); + + if (changed) { + // Why aren't they automatically emitted? + Q_EMIT widthChanged(); + Q_EMIT heightChanged(); + } +} + +QSGNode *PageItem::updatePaintNode(QSGNode *node, QQuickItem::UpdatePaintNodeData * /*data*/) +{ + if (!window() || m_buffer.isNull()) { + delete node; + return nullptr; + } + QSGSimpleTextureNode *n = static_cast(node); + if (!n) { + n = new QSGSimpleTextureNode(); + n->setOwnsTexture(true); + } + + n->setTexture(window()->createTextureFromImage(m_buffer)); + n->setRect(boundingRect()); + return n; +} + +void PageItem::requestPixmap() +{ + if (!m_documentItem || !m_page || !window() || width() <= 0 || height() < 0) { + if (!m_buffer.isNull()) { + m_buffer = QImage(); + update(); + } + return; + } + + Observer *observer = m_isThumbnail ? m_documentItem.data()->thumbnailObserver() : m_documentItem.data()->pageviewObserver(); + const int priority = m_isThumbnail ? THUMBNAILS_PRIO : PAGEVIEW_PRIO; + + const qreal dpr = window()->devicePixelRatio(); + + // Here we want to request the pixmap for the page, but it may happen that the page + // already has the pixmap, thus requestPixmaps would not trigger pageHasChanged + // and we would not call paint. Always call paint, if we don't have a pixmap + // it's a noop. Requesting a page that already has a pixmap is also + // almost a noop. + // Ideally we would do one or the other but for now this is good enough + paint(); + { + auto request = new Okular::PixmapRequest(observer, m_viewPort.pageNumber, width(), height(), dpr, priority, Okular::PixmapRequest::Asynchronous); + request->setNormalizedRect(Okular::NormalizedRect(0, 0, 1, 1)); + const Okular::Document::PixmapRequestFlag prf = Okular::Document::NoOption; + m_documentItem.data()->document()->requestPixmaps({request}, prf); + } +} + +void PageItem::paint() +{ + Observer *observer = m_isThumbnail ? m_documentItem.data()->thumbnailObserver() : m_documentItem.data()->pageviewObserver(); + const int flags = PagePainter::Accessibility | PagePainter::Highlights | PagePainter::Annotations; + + const qreal dpr = window()->devicePixelRatio(); + const QRect limits(QPoint(0, 0), QSize(width() * dpr, height() * dpr)); + QPixmap pix(limits.size()); + pix.setDevicePixelRatio(dpr); + QPainter p(&pix); + p.setRenderHint(QPainter::Antialiasing, false); + PagePainter::paintPageOnPainter(&p, m_page, observer, flags, width(), height(), limits); + p.end(); + + m_buffer = pix.toImage(); + + update(); +} + +// Protected slots +void PageItem::pageHasChanged(int page, int flags) +{ + if (m_viewPort.pageNumber == page) { + if (flags == Okular::DocumentObserver::BoundingBox) { + // skip bounding box updates + // kDebug() << "32" << m_page->boundingBox(); + } else if (flags == Okular::DocumentObserver::Pixmap) { + // if pixmaps have updated, just repaint .. don't bother updating pixmaps AGAIN + paint(); + } else { + m_redrawTimer->start(); + } + } +} + +void PageItem::checkBookmarksChanged() +{ + if (!m_documentItem) { + return; + } + + bool newBookmarked = m_documentItem.data()->document()->bookmarkManager()->isBookmarked(m_viewPort.pageNumber); + if (m_bookmarked != newBookmarked) { + m_bookmarked = newBookmarked; + Q_EMIT bookmarkedChanged(); + } + + // TODO: check the page + Q_EMIT bookmarksChanged(); +} + +void PageItem::contentXChanged() +{ + if (!m_flickable || !m_flickable.data()->property("contentX").isValid()) { + return; + } + + m_viewPort.rePos.normalizedX = m_flickable.data()->property("contentX").toReal() / (width() - m_flickable.data()->width()); +} + +void PageItem::contentYChanged() +{ + if (!m_flickable || !m_flickable.data()->property("contentY").isValid()) { + return; + } + + m_viewPort.rePos.normalizedY = m_flickable.data()->property("contentY").toReal() / (height() - m_flickable.data()->height()); +} + +void PageItem::setIsThumbnail(bool thumbnail) +{ + if (thumbnail == m_isThumbnail) { + return; + } + + m_isThumbnail = thumbnail; + + /* + m_redrawTimer->setInterval(thumbnail ? 0 : REDRAW_TIMEOUT); + m_redrawTimer->setSingleShot(true); + */ +} diff --git a/mobile/components/pageitem.h b/mobile/components/pageitem.h new file mode 100644 index 0000000..d0575a7 --- /dev/null +++ b/mobile/components/pageitem.h @@ -0,0 +1,155 @@ +/* + SPDX-FileCopyrightText: 2012 Marco Martin + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef QPAGEITEM_H +#define QPAGEITEM_H + +#include +#include +#include +#include + +#include +#include + +class QTimer; + +class DocumentItem; + +namespace Okular +{ +class Document; +class Page; +} + +class PageItem : public QQuickItem, public Okular::View +{ + Q_OBJECT + QML_ELEMENT + + /** + * If this page is in a Flickable, assign it in this property, to make goToBookmark work + */ + Q_PROPERTY(QQuickItem *flickable READ flickable WRITE setFlickable NOTIFY flickableChanged) + + /** + * The document this page belongs to + */ + Q_PROPERTY(DocumentItem *document READ document WRITE setDocument NOTIFY documentChanged) + + /** + * The currently displayed page + */ + Q_PROPERTY(int pageNumber READ pageNumber WRITE setPageNumber NOTIFY pageNumberChanged) + + /** + * "Natural" width of the page + */ + Q_PROPERTY(int implicitWidth READ implicitWidth NOTIFY implicitWidthChanged) + + /** + * "Natural" height of the page + */ + Q_PROPERTY(int implicitHeight READ implicitHeight NOTIFY implicitHeightChanged) + + /** + * True if the page contains at least a bookmark. + * Writing true to tis property idds a bookmark at the beginning of the page (if needed). + * Writing false, all bookmarks for this page will be removed + */ + Q_PROPERTY(bool bookmarked READ isBookmarked WRITE setBookmarked NOTIFY bookmarkedChanged) + + /** + * list of bookmarks urls valid on this page + */ + Q_PROPERTY(QStringList bookmarks READ bookmarks NOTIFY bookmarksChanged) + +public: + explicit PageItem(QQuickItem *parent = nullptr); + ~PageItem() override; + + void setFlickable(QQuickItem *flickable); + QQuickItem *flickable() const; + + int implicitWidth() const; + int implicitHeight() const; + + DocumentItem *document() const; + void setDocument(DocumentItem *doc); + + int pageNumber() const; + void setPageNumber(int number); + + bool isBookmarked(); + void setBookmarked(bool bookmarked); + + QStringList bookmarks() const; + void requestPixmap(); + + /** + * loads a page bookmark and tries to ensure the bookmarked position is visible + * @param bookmark Url for the bookmark + */ + Q_INVOKABLE void goToBookmark(const QString &bookmark); + + /** + * Returns the position in the page for a bookmark + * QPointF(-1,-1) if doesn't belong to this page + * + * @param bookmark Url for the bookmark + */ + Q_INVOKABLE QPointF bookmarkPosition(const QString &bookmark) const; + + /** + * Add a new bookmark ar a given position of the current page + */ + Q_INVOKABLE void setBookmarkAtPos(qreal x, qreal y); + + /** + * Remove a bookmark ar a given position of the current page (if present) + */ + Q_INVOKABLE void removeBookmarkAtPos(qreal x, qreal y); + + /** + * Remove a bookmark at a given position, if any + */ + Q_INVOKABLE void removeBookmark(const QString &bookmark); + + void geometryChange(const QRectF &newGeometry, const QRectF &oldGeometry) override; + + QSGNode *updatePaintNode(QSGNode *, QQuickItem::UpdatePaintNodeData *) override; + +Q_SIGNALS: + void flickableChanged(); + void documentChanged(); + void pageNumberChanged(); + void bookmarkedChanged(); + void bookmarksChanged(); + +protected: + void setIsThumbnail(bool thumbnail); + +private Q_SLOTS: + void pageHasChanged(int page, int flags); + void checkBookmarksChanged(); + void contentXChanged(); + void contentYChanged(); + +private: + void paint(); + void refreshPage(); + + const Okular::Page *m_page; + bool m_bookmarked; + bool m_isThumbnail; + QPointer m_documentItem; + QTimer *m_redrawTimer; + QPointer m_flickable; + Okular::DocumentViewport m_viewPort; + QImage m_buffer; +}; + +#endif diff --git a/mobile/components/private/PageView.qml b/mobile/components/private/PageView.qml new file mode 100644 index 0000000..974fa5d --- /dev/null +++ b/mobile/components/private/PageView.qml @@ -0,0 +1,93 @@ +/* + SPDX-FileCopyrightText: 2015 Marco Martin + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +import QtQuick +import org.kde.okular 2.0 +import org.kde.kirigami 2.17 as Kirigami + +Item { + width: parent.width + height: parent.height + readonly property PageItem pageItem: page + property alias document: page.document + property alias pageNumber: page.pageNumber + implicitWidth: page.implicitWidth + implicitHeight: page.implicitHeight + readonly property real pageRatio: page.implicitWidth / page.implicitHeight + readonly property real scaleFactor: page.width / page.implicitWidth + + PageItem { + id: page + property bool sameOrientation: parent.width / parent.height > pageRatio + anchors.centerIn: parent + width: sameOrientation ? parent.height * pageRatio : parent.width + height: !sameOrientation ? parent.width / pageRatio : parent.height + document: null + } + + Rectangle { + id: backgroundRectangle + visible: page.document.opened + anchors { + top: parent.top + bottom: parent.bottom + left: page.left + right: page.right + topMargin: -Kirigami.Units.gridUnit + bottomMargin: -Kirigami.Units.gridUnit + } + z: -1 + color: "white" + + Rectangle { + width: Kirigami.Units.gridUnit + anchors { + right: parent.left + top: parent.top + bottom: parent.bottom + } + gradient: Gradient { + orientation: Gradient.Horizontal + GradientStop { + position: 0.0 + color: "transparent" + } + GradientStop { + position: 0.7 + color: Qt.rgba(0, 0, 0, 0.08) + } + GradientStop { + position: 1.0 + color: Qt.rgba(0, 0, 0, 0.2) + } + } + } + + Rectangle { + width: Kirigami.Units.gridUnit + anchors { + left: parent.right + top: parent.top + bottom: parent.bottom + } + gradient: Gradient { + orientation: Gradient.Horizontal + GradientStop { + position: 0.0 + color: Qt.rgba(0, 0, 0, 0.2) + } + GradientStop { + position: 0.3 + color: Qt.rgba(0, 0, 0, 0.08) + } + GradientStop { + position: 1.0 + color: "transparent" + } + } + } + } +} diff --git a/mobile/components/settings.h b/mobile/components/settings.h new file mode 100644 index 0000000..e81a2ea --- /dev/null +++ b/mobile/components/settings.h @@ -0,0 +1 @@ +#include "settings_mobile.h" diff --git a/mobile/components/test.qml b/mobile/components/test.qml new file mode 100644 index 0000000..209377f --- /dev/null +++ b/mobile/components/test.qml @@ -0,0 +1,37 @@ +/* + SPDX-FileCopyrightText: 2012 Marco Martin + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +import QtQuick 2.15 +import QtQuick.Controls 2.15 +import org.kde.okular 2.0 as Okular + +Item { + width: 500 + height: 600 + Okular.DocumentItem { + id: docItem + url: Qt.resolvedUrl("pageitem.cpp") + } + Okular.PageItem { + id: page + anchors.fill: parent + document: docItem + } + Row { + anchors { + bottom: parent.bottom + right: parent.right + } + Button { + text: "prev" + onClicked: page.pageNumber-- + } + Button { + text: "next" + onClicked: page.pageNumber++ + } + } +} diff --git a/mobile/components/testDocumentView.qml b/mobile/components/testDocumentView.qml new file mode 100644 index 0000000..3a92691 --- /dev/null +++ b/mobile/components/testDocumentView.qml @@ -0,0 +1,21 @@ +/* + SPDX-FileCopyrightText: 2012 Marco Martin + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +import QtQuick 2.15 +import org.kde.okular 2.0 as Okular + +Item { + width: 500 + height: 600 + Okular.DocumentItem { + id: docItem + url: "pageitem.cpp" + } + Okular.DocumentView { + anchors.fill: parent + document: docItem + } +} diff --git a/mobile/components/thumbnailitem.cpp b/mobile/components/thumbnailitem.cpp new file mode 100644 index 0000000..eb93c76 --- /dev/null +++ b/mobile/components/thumbnailitem.cpp @@ -0,0 +1,17 @@ +/* + SPDX-FileCopyrightText: 2012 Marco Martin + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "thumbnailitem.h" + +ThumbnailItem::ThumbnailItem(QQuickItem *parent) + : PageItem(parent) +{ + setIsThumbnail(true); +} + +ThumbnailItem::~ThumbnailItem() +{ +} diff --git a/mobile/components/thumbnailitem.h b/mobile/components/thumbnailitem.h new file mode 100644 index 0000000..c21f682 --- /dev/null +++ b/mobile/components/thumbnailitem.h @@ -0,0 +1,22 @@ +/* + SPDX-FileCopyrightText: 2012 Marco Martin + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef THUMBNAILITEM_H +#define THUMBNAILITEM_H + +#include "pageitem.h" + +class ThumbnailItem : public PageItem +{ + Q_OBJECT + QML_ELEMENT + +public: + explicit ThumbnailItem(QQuickItem *parent = nullptr); + ~ThumbnailItem() override; +}; + +#endif diff --git a/mobile/components/types.cpp b/mobile/components/types.cpp new file mode 100644 index 0000000..182d2d3 --- /dev/null +++ b/mobile/components/types.cpp @@ -0,0 +1,4 @@ +// SPDX-FileCopyrightText: 2024 Carl Schwan +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "types.h" diff --git a/mobile/components/types.h b/mobile/components/types.h new file mode 100644 index 0000000..88abaae --- /dev/null +++ b/mobile/components/types.h @@ -0,0 +1,25 @@ +// SPDX-FileCopyrightText: 2024 Carl Schwan +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include +#include + +#include "gui/certificatemodel.h" +#include "gui/recentitemsmodel.h" + +class CertificateModelForeign : public QObject +{ + Q_OBJECT + QML_FOREIGN(CertificateModel) + QML_NAMED_ELEMENT(CertificateModel) + QML_UNCREATABLE("") +}; + +class RecentItemsModelForeign : public QObject +{ + Q_OBJECT + QML_FOREIGN(RecentItemsModel) + QML_NAMED_ELEMENT(RecentItemsModel) +}; diff --git a/mobile/components/welcomeitem.cpp b/mobile/components/welcomeitem.cpp new file mode 100644 index 0000000..7a2ca24 --- /dev/null +++ b/mobile/components/welcomeitem.cpp @@ -0,0 +1,47 @@ +/* + SPDX-FileCopyrightText: 2025 Sebastian Kügler + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "welcomeitem.h" + +#include +#include + +WelcomeItem::WelcomeItem(QObject *parent) + : QObject(parent) + , m_recentItemsModel(new RecentItemsModel) +{ + m_recentItemsModel->loadEntries(KSharedConfig::openConfig()->group(QStringLiteral("Recent Files"))); +} + +WelcomeItem::~WelcomeItem() +{ + delete m_recentItemsModel; +} + +RecentItemsModel *WelcomeItem::recentItemsModel() const +{ + return m_recentItemsModel; +} + +void WelcomeItem::urlOpened(const QUrl &url) +{ + auto cg = KSharedConfig::openConfig()->group(QStringLiteral("Recent Files")); + cg.deleteGroup(); + + // Note: entries are indexed starting with 1, see krecentfilesaction.cpp in kconfigwidgets + // last entry is our current file + const int numRows = m_recentItemsModel->rowCount(); + for (int r = 1; r <= numRows; r++) { + // model index row starts at zero + const QUrl _url = m_recentItemsModel->data(m_recentItemsModel->index((r - 1), 0), RecentItemsModel::UrlRole).toUrl(); + const QString &shortName = _url.fileName(); + cg.writePathEntry(QStringLiteral("File%1").arg(r), _url.toDisplayString(QUrl::PreferLocalFile)); + cg.writePathEntry(QStringLiteral("Name%1").arg(r), shortName); + } + const QString &shortName = url.fileName(); + cg.writePathEntry(QStringLiteral("File%1").arg(numRows + 1), url.toDisplayString(QUrl::PreferLocalFile)); + cg.writePathEntry(QStringLiteral("Name%1").arg(numRows + 1), shortName); +} diff --git a/mobile/components/welcomeitem.h b/mobile/components/welcomeitem.h new file mode 100644 index 0000000..3c01cd5 --- /dev/null +++ b/mobile/components/welcomeitem.h @@ -0,0 +1,31 @@ +/* + SPDX-FileCopyrightText: 2025 Sebastian Kügler + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#pragma once + +#include +#include + +#include + +class WelcomeItem : public QObject +{ + Q_OBJECT + QML_ELEMENT + + Q_PROPERTY(RecentItemsModel *recentItemsModel READ recentItemsModel CONSTANT) + +public: + explicit WelcomeItem(QObject *parent = nullptr); + ~WelcomeItem() override; + + RecentItemsModel *recentItemsModel() const; + + Q_INVOKABLE void urlOpened(const QUrl &url); + +private: + RecentItemsModel *m_recentItemsModel; +}; diff --git a/okular-cppcheck.xml b/okular-cppcheck.xml new file mode 100644 index 0000000..5c92192 --- /dev/null +++ b/okular-cppcheck.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/okular.categories b/okular.categories new file mode 100644 index 0000000..80964da --- /dev/null +++ b/okular.categories @@ -0,0 +1,16 @@ +# Okular's logging categories (for the kdebugsettings tool) +org.kde.okular.core Okular (Core) DEFAULT_SEVERITY [WARNING] IDENTIFIER [OkularCoreDebug] +org.kde.okular.generators.comicbook Okular (Generator Comicbook) DEFAULT_SEVERITY [WARNING] IDENTIFIER [OkularComicbookDebug] +org.kde.okular.generators.ooo Okular (Generator OOo) DEFAULT_SEVERITY [WARNING] IDENTIFIER [OkularOooDebug] +org.kde.okular.generators.dvi.core Okular (Generator DVI/Core) DEFAULT_SEVERITY [WARNING] IDENTIFIER [OkularDviDebug] +org.kde.okular.generators.dvi.shell Okular (Generator DVI/Shell) DEFAULT_SEVERITY [WARNING] IDENTIFIER [OkularDviShellDebug] +org.kde.okular.generators.txt Okular (Generator TXT) DEFAULT_SEVERITY [WARNING] IDENTIFIER [OkularTxtDebug] +org.kde.okular.generators.md Okular (Generator Markdown) DEFAULT_SEVERITY [WARNING] IDENTIFIER [OkularMdDebug] +org.kde.kio.msits kioslave (kio_msits) DEFAULT_SEVERITY [WARNING] IDENTIFIER [KIO_MITS_LOG] +org.kde.okular.generators.fax Okular (Generator Fax) DEFAULT_SEVERITY [WARNING] IDENTIFIER [FAX_LOG] +org.kde.okular.generators.pdf Okular (Generator PDF) DEFAULT_SEVERITY [WARNING] IDENTIFIER [OkularPdfDebug] +org.kde.okular.generators.xps Okular (Generator XPS) DEFAULT_SEVERITY [WARNING] IDENTIFIER [OkularXpsDebug] +org.kde.okular.generators.tiff Okular (Generator TIFF) DEFAULT_SEVERITY [WARNING] IDENTIFIER [OkularTiffDebug] +org.kde.okular.generators.epu Okular (Generator EPU) DEFAULT_SEVERITY [WARNING] IDENTIFIER [OkularEpuDebug] +org.kde.okular.generators.spectre Okular (Generator Spectre) DEFAULT_SEVERITY [WARNING] IDENTIFIER [OkularSpectreDebug] +org.kde.okular.ui Okular (UI) DEFAULT_SEVERITY [WARNING] IDENTIFIER [OkularUiDebug] diff --git a/okular_part.json b/okular_part.json new file mode 100644 index 0000000..807377f --- /dev/null +++ b/okular_part.json @@ -0,0 +1,55 @@ +{ + "KParts": { + "PluginNamespace": "okular_generators" + }, + "KPlugin": { + "Icon": "okular", + "MimeTypes": [ + "application/vnd.kde.okular-archive" + ], + "Name": "Okular", + "Name[ar]": "اوكلار", + "Name[ast]": "Okular", + "Name[az]": "Okular", + "Name[be]": "Okular", + "Name[bg]": "Okular", + "Name[ca@valencia]": "Okular", + "Name[ca]": "Okular", + "Name[cs]": "Okular", + "Name[de]": "Okular", + "Name[en_GB]": "Okular", + "Name[eo]": "Okular", + "Name[es]": "Okular", + "Name[eu]": "Okular", + "Name[fi]": "Okular", + "Name[fr]": "Okular", + "Name[gl]": "Okular", + "Name[he]": "Okular", + "Name[hu]": "Okular", + "Name[ia]": "Okular", + "Name[is]": "Okular", + "Name[it]": "Okular", + "Name[ka]": "Okular", + "Name[ko]": "Okular", + "Name[lt]": "Okular", + "Name[lv]": "Okular", + "Name[nl]": "Okular", + "Name[nn]": "Okular", + "Name[pa]": "ਓਕੁਲਾਰ", + "Name[pl]": "Okular", + "Name[pt_BR]": "Okular", + "Name[ru]": "Okular", + "Name[sa]": "नेत्रस्य", + "Name[sl]": "Okular", + "Name[sv]": "Okular", + "Name[ta]": "ஆக்குலர்", + "Name[tr]": "Okular", + "Name[uk]": "Okular", + "Name[zh_CN]": "Okular 文档查看器", + "Name[zh_TW]": "Okular", + "ServiceTypes": [ + "KParts/ReadOnlyPart", + "KParts/ReadWritePart" + ] + } +} diff --git a/part/CMakeLists.txt b/part/CMakeLists.txt new file mode 100644 index 0000000..b80c447 --- /dev/null +++ b/part/CMakeLists.txt @@ -0,0 +1,2 @@ +add_subdirectory( data ) + diff --git a/part/DistinguishedNameParser.h b/part/DistinguishedNameParser.h new file mode 100644 index 0000000..b2234fd --- /dev/null +++ b/part/DistinguishedNameParser.h @@ -0,0 +1,327 @@ +/* + SPDX-FileCopyrightText: 2002 g10 Code GmbH + SPDX-FileCopyrightText: 2004 Klarälvdalens Datakonsult AB + SPDX-FileCopyrightText: 2021 g10 Code GmbH + SPDX-FileCopyrightText: 2023 g10 Code GmbH + SPDX-FileContributor: Author: Sune Stolborg Vuorela + + SPDX-License-Identifier: GPL-2.0-or-later + + Copied from poppler (pdf library) +*/ + +#ifndef DISTINGUISHEDNAMEPARSER_H +#define DISTINGUISHEDNAMEPARSER_H + +#include +#include +#include +#include +#include + +namespace DN +{ +namespace detail +{ + +inline std::string_view removeLeadingSpaces(std::string_view view) +{ + auto pos = view.find_first_not_of(' '); + if (pos > view.size()) { + return {}; + } + return view.substr(pos); +} + +inline std::string_view removeTrailingSpaces(std::string_view view) +{ + auto pos = view.find_last_not_of(' '); + if (pos > view.size()) { + return {}; + } + return view.substr(0, pos + 1); +} + +inline unsigned char xtoi(unsigned char c) +{ + if (c <= '9') { + return c - '0'; + } + if (c <= 'F') { + return c - 'A' + 10; + } + return c - 'a' + 10; +} + +inline unsigned char xtoi(unsigned char first, unsigned char second) +{ + return 16 * xtoi(first) + xtoi(second); +} +// Parses a hex string into actual content +inline std::optional parseHexString(std::string_view view) +{ + auto size = view.size(); + if (size == 0 || (size % 2 == 1)) { + return std::nullopt; + } + // It is only supposed to be called with actual hex strings + // but this is just to be extra sure + auto endHex = view.find_first_not_of("1234567890abcdefABCDEF"); + if (endHex != std::string_view::npos) { + return {}; + } + std::string result; + result.reserve(size / 2); + for (size_t i = 0; i < (view.size() - 1); i += 2) { + result.push_back(xtoi(view[i], view[i + 1])); + } + return result; +} + +static const std::vector> &oidmap() +{ + static const std::vector> oidmap_ = { + // clang-format off + // keep them ordered by oid: + {"NameDistinguisher", "0.2.262.1.10.7.20" }, + {"EMAIL", "1.2.840.113549.1.9.1"}, + {"CN", "2.5.4.3" }, + {"SN", "2.5.4.4" }, + {"SerialNumber", "2.5.4.5" }, + {"T", "2.5.4.12" }, + {"D", "2.5.4.13" }, + {"BC", "2.5.4.15" }, + {"ADDR", "2.5.4.16" }, + {"PC", "2.5.4.17" }, + {"GN", "2.5.4.42" }, + {"Pseudo", "2.5.4.65" }, + // clang-format on + }; + return oidmap_; +} + +static std::string_view attributeNameForOID(std::string_view oid) +{ + if (oid.substr(0, 4) == std::string_view {"OID."} || oid.substr(0, 4) == std::string_view {"oid."}) { // c++20 has starts_with. we don't have that yet. + oid.remove_prefix(4); + } + for (const auto &m : oidmap()) { + if (oid == m.second) { + return m.first; + } + } + return {}; +} + +/* Parse a DN and return an array-ized one. This is not a validating + parser and it does not support any old-stylish syntax; gpgme is + expected to return only rfc2253 compatible strings. */ +static std::pair, std::pair> parse_dn_part(std::string_view stringv) +{ + std::pair dnPair; + auto separatorPos = stringv.find_first_of('='); + if (separatorPos == 0 || separatorPos == std::string_view::npos) { + return {}; /* empty key */ + } + + std::string_view key = stringv.substr(0, separatorPos); + key = removeTrailingSpaces(key); + // map OIDs to their names: + if (auto name = attributeNameForOID(key); !name.empty()) { + key = name; + } + + dnPair.first = std::string {key}; + stringv = removeLeadingSpaces(stringv.substr(separatorPos + 1)); + if (stringv.empty()) { + return {}; + } + + if (stringv.front() == '#') { + /* hexstring */ + stringv.remove_prefix(1); + auto endHex = stringv.find_first_not_of("1234567890abcdefABCDEF"); + if (endHex == std::string_view::npos) { + endHex = stringv.size(); + } + if (!endHex || (endHex % 2 == 1)) { + return {}; /* empty or odd number of digits */ + } + auto value = parseHexString(stringv.substr(0, endHex)); + if (!value.has_value()) { + return {}; + } + stringv = stringv.substr(endHex); + dnPair.second = value.value(); + } else if (stringv.front() == '"') { + stringv.remove_prefix(1); + std::string value; + bool stop = false; + while (!stringv.empty() && !stop) { + switch (stringv.front()) { + case '\\': { + if (stringv.size() < 2) { + return {}; + } + if (stringv[1] == '"') { + value.push_back('"'); + stringv.remove_prefix(2); + } else { + // it is a bit unclear in rfc2253 if escaped hex chars should + // be decoded inside quotes. Let's just forward the verbatim + // for now + value.push_back(stringv.front()); + value.push_back(stringv[1]); + stringv.remove_prefix(2); + } + break; + } + case '"': { + stop = true; + stringv.remove_prefix(1); + break; + } + default: { + value.push_back(stringv.front()); + stringv.remove_prefix(1); + } + } + } + if (!stop) { + // we have reached end of string, but never an actual ", so error out + return {}; + } + dnPair.second = value; + } else { + std::string value; + bool stop = false; + bool lastAddedEscapedSpace = false; + while (!stringv.empty() && !stop) { + switch (stringv.front()) { + case '\\': //_escaping + { + stringv.remove_prefix(1); + if (stringv.empty()) { + return {}; + } + switch (stringv.front()) { + case ',': + case '=': + case '+': + case '<': + case '>': + case '#': + case ';': + case '\\': + case '"': + case ' ': { + if (stringv.front() == ' ') { + lastAddedEscapedSpace = true; + } else { + lastAddedEscapedSpace = false; + } + value.push_back(stringv.front()); + stringv.remove_prefix(1); + break; + } + default: { + if (stringv.size() < 2) { + // this should be double hex-ish, but isn't. + return {}; + } + if (std::isxdigit(stringv.front()) && std::isxdigit(stringv[1])) { + lastAddedEscapedSpace = false; + value.push_back(xtoi(stringv.front(), stringv[1])); + stringv.remove_prefix(2); + break; + } else { + // invalid escape + return {}; + } + } + } + break; + } + case '"': + // unescaped " in the middle; not allowed + return {}; + case ',': + case '=': + case '+': + case '<': + case '>': + case '#': + case ';': { + stop = true; + break; // + } + default: + lastAddedEscapedSpace = false; + value.push_back(stringv.front()); + stringv.remove_prefix(1); + } + } + if (lastAddedEscapedSpace) { + dnPair.second = value; + } else { + dnPair.second = std::string {removeTrailingSpaces(value)}; + } + } + return {stringv, dnPair}; +} +} + +using Result = std::vector>; + +/* Parse a DN and return an array-ized one. This is not a validating + parser and it does not support any old-stylish syntax; gpgme is + expected to return only rfc2253 compatible strings. */ +static Result parseString(std::string_view string) +{ + Result result; + while (!string.empty()) { + string = detail::removeLeadingSpaces(string); + if (string.empty()) { + break; + } + + auto [partResult, dnPair] = detail::parse_dn_part(string); + if (!partResult.has_value()) { + return {}; + } + + string = partResult.value(); + if (dnPair.first.size() && dnPair.second.size()) { + result.emplace_back(std::move(dnPair)); + } + + string = detail::removeLeadingSpaces(string); + if (string.empty()) { + break; + } + switch (string.front()) { + case ',': + case ';': + case '+': + string.remove_prefix(1); + break; + default: + // some unexpected characters here + return {}; + } + } + return result; +} + +/// returns the first value of a given key (note. there can be multiple) +/// or nullopt if key is not available +inline std::optional FindFirstValue(const Result &dn, std::string_view key) +{ + auto first = std::find_if(dn.begin(), dn.end(), [&key](const auto &it) { return it.first == key; }); + if (first == dn.end()) { + return {}; + } + return first->second; +} +} // namespace DN +#endif // DISTINGUISHEDNAMEPARSER_H diff --git a/part/actionbar.cpp b/part/actionbar.cpp new file mode 100644 index 0000000..eb8b62c --- /dev/null +++ b/part/actionbar.cpp @@ -0,0 +1,131 @@ +/*************************************************************************** + * Copyright (C) 2020 by Simone Gaiarin * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + ***************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "actionbar.h" + +class ActionBarWidget : public QWidget +{ + Q_OBJECT + +public: + explicit ActionBarWidget(QToolBar *parent); + void recreateButtons(const QList &actions); + +private Q_SLOTS: + void onOrientationChanged(Qt::Orientation orientation); +}; + +ActionBarWidget::ActionBarWidget(QToolBar *parent) + : QWidget::QWidget(parent) +{ + QLayout *layout; + if (parent->orientation() == Qt::Vertical) { + layout = new QVBoxLayout(); + } else { + layout = new QHBoxLayout(); + } + setLayout(layout); + connect(parent, &QToolBar::orientationChanged, this, &ActionBarWidget::onOrientationChanged); +} + +void ActionBarWidget::recreateButtons(const QList &actions) +{ + QToolBar *parentToolbar = qobject_cast(parentWidget()); + if (!parentToolbar) { + return; + } + for (auto &toolButton : findChildren()) { + layout()->removeWidget(toolButton); + delete toolButton; + } + for (const auto &action : actions) { + QToolButton *toolButton = new QToolButton(this); + toolButton->setAutoRaise(true); + toolButton->setFocusPolicy(Qt::NoFocus); + toolButton->setIconSize(parentToolbar->iconSize()); + toolButton->setToolButtonStyle(parentToolbar->toolButtonStyle()); + toolButton->setDefaultAction(action); + layout()->addWidget(toolButton); + layout()->setAlignment(toolButton, Qt::AlignCenter); + connect(parentToolbar, &QToolBar::iconSizeChanged, toolButton, &QToolButton::setIconSize); + connect(parentToolbar, &QToolBar::toolButtonStyleChanged, toolButton, &QToolButton::setToolButtonStyle); + } +} + +void ActionBarWidget::onOrientationChanged(Qt::Orientation orientation) +{ + QLayout *newLayout; + if (orientation == Qt::Vertical) { + newLayout = new QVBoxLayout(); + } else { + newLayout = new QHBoxLayout(); + } + QLayout *oldLayout = layout(); + for (auto &toolButton : findChildren()) { + oldLayout->removeWidget(toolButton); + newLayout->addWidget(toolButton); + newLayout->setAlignment(toolButton, Qt::AlignCenter); + } + delete oldLayout; + setLayout(newLayout); +} + +ActionBar::ActionBar(QObject *parent) + : QWidgetAction(parent) +{ +} + +QWidget *ActionBar::createWidget(QWidget *parent) +{ + QToolBar *parentToolbar = qobject_cast(parent); + if (!parentToolbar) { + return new QWidget(); + } + ActionBarWidget *widget = new ActionBarWidget(parentToolbar); + widget->recreateButtons(m_actions); + return widget; +} + +void ActionBar::addAction(QAction *action) +{ + m_actions.append(action); +} + +void ActionBar::insertAction(int pos, QAction *action) +{ + m_actions.insert(pos, action); +} + +void ActionBar::removeAction(QAction *action) +{ + m_actions.removeAll(action); +} + +void ActionBar::recreateWidgets() +{ + const auto widgets = createdWidgets(); + for (auto *widget : widgets) { + auto *actionBarWidget = qobject_cast(widget); + if (actionBarWidget) { + actionBarWidget->recreateButtons(m_actions); + } + } +} + +#include "actionbar.moc" diff --git a/part/actionbar.h b/part/actionbar.h new file mode 100644 index 0000000..6c158eb --- /dev/null +++ b/part/actionbar.h @@ -0,0 +1,38 @@ +/*************************************************************************** + * Copyright (C) 2020 by Simone Gaiarin * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + ***************************************************************************/ + +#ifndef ACTIONBAR_H +#define ACTIONBAR_H + +#include + +class QAction; +class QWidget; + +/** + * @short A widget action to display a set of actions in a toolbar + */ +class ActionBar : public QWidgetAction +{ + Q_OBJECT + +public: + explicit ActionBar(QObject *parent = nullptr); + QWidget *createWidget(QWidget *parent) override; + + void addAction(QAction *action); + void insertAction(int pos, QAction *action); + void removeAction(QAction *action); + void recreateWidgets(); + +private: + QList m_actions; +}; + +#endif diff --git a/part/annotationactionhandler.cpp b/part/annotationactionhandler.cpp new file mode 100644 index 0000000..82db335 --- /dev/null +++ b/part/annotationactionhandler.cpp @@ -0,0 +1,855 @@ +/* + SPDX-FileCopyrightText: 2019 Simone Gaiarin + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "annotationactionhandler.h" + +// qt includes +#include +#include +#include +#include +#include +#include +#include +#include + +// kde includes +#include +#include +#include +#include +#include +#include +#include + +// local includes +#include "actionbar.h" +#include "annotationwidgets.h" +#include "core/annotations.h" +#include "gui/guiutils.h" +#include "pageview.h" +#include "pageviewannotator.h" +#include "settings.h" +#include "toggleactionmenu.h" + +class AnnotationActionHandlerPrivate +{ +public: + enum class AnnotationColor { Color, InnerColor }; + static const QList> defaultColors; + static const QList widthStandardValues; + static const QList opacityStandardValues; + + explicit AnnotationActionHandlerPrivate(AnnotationActionHandler *qq) + : q(qq) + , annotator(nullptr) + , agTools(nullptr) + , agLastAction(nullptr) + , aQuickTools(nullptr) + , aQuickToolsBar(nullptr) + , aGeomShapes(nullptr) + , aStamp(nullptr) + , aAddToQuickTools(nullptr) + , aContinuousMode(nullptr) + , aConstrainRatioAndAngle(nullptr) + , aWidth(nullptr) + , aColor(nullptr) + , aInnerColor(nullptr) + , aOpacity(nullptr) + , aFont(nullptr) + , aAdvancedSettings(nullptr) + , aHideToolBar(nullptr) + , aShowToolBar(nullptr) + , aToolBarVisibility(nullptr) + , aCustomStamp(nullptr) + , aCustomWidth(nullptr) + , aCustomOpacity(nullptr) + , currentColor(QColor()) + , currentInnerColor(QColor()) + , currentFont(QFont()) + , currentWidth(-1) + , selectedBuiltinTool(-1) + , textToolsEnabled(false) + { + } + + QAction *selectActionItem(KSelectAction *aList, QAction *aCustomCurrent, double value, const QList &defaultValues, const QIcon &icon, const QString &label); + + /** + * @short Adds a custom stamp annotation action to the stamp list when the stamp is not a default stamp + * + * When @p stampIconName cannot be found among the default stamps, this method creates a new action + * for the custom stamp annotation and adds it to the stamp action combo box. + * If a custom action is already present in the list, it is removed before adding the new custom action. + * If @p stampIconName matches a default stamp, any existing custom stamp annotation action is removed. + */ + void maybeUpdateCustomStampAction(const QString &stampIconName); + void parseTool(int toolId); + + void updateConfigActions(const QString &annotType = QLatin1String("")); + void populateQuickAnnotations(); + KSelectAction *colorPickerAction(AnnotationColor colorType); + + const QIcon widthIcon(double width); + const QIcon stampIcon(const QString &stampIconName); + + void selectTool(int toolId); + void slotStampToolSelected(const QString &stamp); + void slotQuickToolSelected(int favToolId); + void slotSetColor(AnnotationColor colorType, const QColor &color = QColor()); + void slotSelectAnnotationFont(); + bool isQuickToolAction(QAction *aTool); + bool isQuickToolStamp(int toolId); + void assertToolBarExists(KParts::MainWindow *mw, const QString &toolBarName); + + AnnotationActionHandler *q; + + PageViewAnnotator *annotator; + + QList quickTools; + QList textTools; + QList textQuickTools; + QActionGroup *agTools; + QAction *agLastAction; + + ToggleActionMenu *aQuickTools; + ActionBar *aQuickToolsBar; + ToggleActionMenu *aGeomShapes; + ToggleActionMenu *aStamp; + QAction *aAddToQuickTools; + KToggleAction *aContinuousMode; + KToggleAction *aConstrainRatioAndAngle; + KSelectAction *aWidth; + KSelectAction *aColor; + KSelectAction *aInnerColor; + KSelectAction *aOpacity; + QAction *aFont; + QAction *aAdvancedSettings; + QAction *aHideToolBar; + QAction *aShowToolBar; + KToggleAction *aToolBarVisibility; + + QAction *aCustomStamp; + QAction *aCustomWidth; + QAction *aCustomOpacity; + + QColor currentColor; + QColor currentInnerColor; + QFont currentFont; + int currentWidth; + + int selectedBuiltinTool; + bool textToolsEnabled; +}; + +const QList> AnnotationActionHandlerPrivate::defaultColors = {{ki18nc("@item:inlistbox Color name", "Red"), Qt::red}, + {ki18nc("@item:inlistbox Color name", "Orange"), QColor(255, 85, 0)}, + {ki18nc("@item:inlistbox Color name", "Yellow"), Qt::yellow}, + {ki18nc("@item:inlistbox Color name", "Green"), Qt::green}, + {ki18nc("@item:inlistbox Color name", "Cyan"), Qt::cyan}, + {ki18nc("@item:inlistbox Color name", "Blue"), Qt::blue}, + {ki18nc("@item:inlistbox Color name", "Magenta"), Qt::magenta}, + {ki18nc("@item:inlistbox Color name", "White"), Qt::white}, + {ki18nc("@item:inlistbox Color name", "Gray"), Qt::gray}, + {ki18nc("@item:inlistbox Color name", "Black"), Qt::black} + +}; + +const QList AnnotationActionHandlerPrivate::widthStandardValues = {1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5}; + +const QList AnnotationActionHandlerPrivate::opacityStandardValues = {0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0}; + +QAction *AnnotationActionHandlerPrivate::selectActionItem(KSelectAction *aList, QAction *aCustomCurrent, double value, const QList &defaultValues, const QIcon &icon, const QString &label) +{ + if (aCustomCurrent) { + aList->removeAction(aCustomCurrent); + delete aCustomCurrent; + } + QAction *aCustom = nullptr; + const int defaultValueIdx = defaultValues.indexOf(value); + if (defaultValueIdx >= 0) { + aList->setCurrentItem(defaultValueIdx); + } else { + aCustom = new KToggleAction(icon, label, q); + const int aBeforeIdx = std::lower_bound(defaultValues.begin(), defaultValues.end(), value) - defaultValues.begin(); + QAction *aBefore = aBeforeIdx < defaultValues.size() ? aList->actions().at(aBeforeIdx) : nullptr; + aList->insertAction(aBefore, aCustom); + aList->setCurrentAction(aCustom); + } + return aCustom; +} + +void AnnotationActionHandlerPrivate::maybeUpdateCustomStampAction(const QString &stampIconName) +{ + const auto defaultStamps = StampAnnotationWidget::defaultStamps(); + auto it = std::find_if(defaultStamps.begin(), defaultStamps.end(), [&stampIconName](const QPair &element) { return element.second == stampIconName; }); + bool defaultStamp = it != defaultStamps.end(); + + if (aCustomStamp) { + aStamp->removeAction(aCustomStamp); + agTools->removeAction(aCustomStamp); + delete aCustomStamp; + aCustomStamp = nullptr; + } + if (!defaultStamp) { + QFileInfo info(stampIconName); + QString stampActionName = info.fileName(); + aCustomStamp = new KToggleAction(stampIcon(stampIconName), stampActionName, q); + aStamp->addAction(aCustomStamp); + aStamp->setDefaultAction(aCustomStamp); + agTools->addAction(aCustomStamp); + aCustomStamp->setChecked(true); + QObject::connect(aCustomStamp, &QAction::triggered, q, [this, stampIconName]() { slotStampToolSelected(stampIconName); }); + } +} + +void AnnotationActionHandlerPrivate::parseTool(int toolId) +{ + if (toolId == -1) { + updateConfigActions(); + return; + } + + QDomElement toolElement = annotator->builtinTool(toolId); + const QString annotType = toolElement.attribute(QStringLiteral("type")); + QDomElement engineElement = toolElement.firstChildElement(QStringLiteral("engine")); + QDomElement annElement = engineElement.firstChildElement(QStringLiteral("annotation")); + + QColor color, innerColor, textColor; + if (annElement.hasAttribute(QStringLiteral("color"))) { + color = QColor(annElement.attribute(QStringLiteral("color"))); + } + if (annElement.hasAttribute(QStringLiteral("innerColor"))) { + innerColor = QColor(annElement.attribute(QStringLiteral("innerColor"))); + } + if (annElement.hasAttribute(QStringLiteral("textColor"))) { + textColor = QColor(annElement.attribute(QStringLiteral("textColor"))); + } + if (textColor.isValid()) { + currentColor = textColor; + currentInnerColor = color; + } else { + currentColor = color; + currentInnerColor = innerColor; + } + + if (annElement.hasAttribute(QStringLiteral("font"))) { + currentFont.fromString(annElement.attribute(QStringLiteral("font"))); + } + + // if the width value is not a default one, insert a new action in the width list + if (annElement.hasAttribute(QStringLiteral("width"))) { + double width = annElement.attribute(QStringLiteral("width")).toDouble(); + aCustomWidth = selectActionItem(aWidth, aCustomWidth, width, widthStandardValues, widthIcon(width), i18nc("@item:inlistbox", "Width %1", width)); + } + + // if the opacity value is not a default one, insert a new action in the opacity list + if (annElement.hasAttribute(QStringLiteral("opacity"))) { + double opacity = annElement.attribute(QStringLiteral("opacity")).toDouble(); + aCustomOpacity = selectActionItem(aOpacity, aCustomOpacity, opacity, opacityStandardValues, GuiUtils::createOpacityIcon(opacity), i18nc("@item:inlistbox", "%1%", opacity * 100)); + } else { + aOpacity->setCurrentItem(opacityStandardValues.size() - 1); // 100 % + } + + // if the tool is a custom stamp, insert a new action in the stamp list + if (annotType == QStringLiteral("stamp")) { + QString stampIconName = annElement.attribute(QStringLiteral("icon")); + maybeUpdateCustomStampAction(stampIconName); + } + + updateConfigActions(annotType); +} + +void AnnotationActionHandlerPrivate::updateConfigActions(const QString &annotType) +{ + const bool isAnnotationSelected = !annotType.isEmpty(); + const bool isTypewriter = annotType == QStringLiteral("typewriter"); + const bool isInlineNote = annotType == QStringLiteral("note-inline"); + const bool isText = isInlineNote || isTypewriter; + const bool isPolygon = annotType == QStringLiteral("polygon"); + const bool isShape = annotType == QStringLiteral("rectangle") || annotType == QStringLiteral("ellipse") || isPolygon; + const bool isStraightLine = annotType == QStringLiteral("straight-line"); + const bool isLine = annotType == QStringLiteral("ink") || isStraightLine; + const bool isStamp = annotType == QStringLiteral("stamp"); + + if (isTypewriter) { + aColor->setIcon(GuiUtils::createColorIcon({currentColor}, QIcon::fromTheme(QStringLiteral("format-text-color")))); + } else { + aColor->setIcon(GuiUtils::createColorIcon({currentColor}, QIcon::fromTheme(QStringLiteral("format-stroke-color")))); + } + aInnerColor->setIcon(GuiUtils::createColorIcon({currentInnerColor}, QIcon::fromTheme(QStringLiteral("format-fill-color")))); + + aAddToQuickTools->setEnabled(isAnnotationSelected); + aWidth->setEnabled(isLine || isShape); + aColor->setEnabled(isAnnotationSelected && !isStamp); + aInnerColor->setEnabled(isShape); + aOpacity->setEnabled(isAnnotationSelected); + aFont->setEnabled(isText); + aConstrainRatioAndAngle->setEnabled(isStraightLine || isShape); + aAdvancedSettings->setEnabled(isAnnotationSelected); + + // set tooltips + if (!isAnnotationSelected) { + aWidth->setToolTip(i18nc("@info:tooltip", "Annotation line width (No annotation selected)")); + aColor->setToolTip(i18nc("@info:tooltip", "Annotation color (No annotation selected)")); + aInnerColor->setToolTip(i18nc("@info:tooltip", "Annotation fill color (No annotation selected)")); + aOpacity->setToolTip(i18nc("@info:tooltip", "Annotation opacity (No annotation selected)")); + aFont->setToolTip(i18nc("@info:tooltip", "Annotation font (No annotation selected)")); + aAddToQuickTools->setToolTip(i18nc("@info:tooltip", "Add the current annotation to the quick annotations menu (No annotation selected)")); + aConstrainRatioAndAngle->setToolTip(i18nc("@info:tooltip", "Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation selected)")); + aAdvancedSettings->setToolTip(i18nc("@info:tooltip", "Advanced settings for the current annotation tool (No annotation selected)")); + return; + } + + if (isLine || isShape) { + aWidth->setToolTip(i18nc("@info:tooltip", "Annotation line width")); + } else { + aWidth->setToolTip(i18nc("@info:tooltip", "Annotation line width (Current annotation has no line width)")); + } + + if (isTypewriter) { + aColor->setToolTip(i18nc("@info:tooltip", "Annotation text color")); + } else if (isShape) { + aColor->setToolTip(i18nc("@info:tooltip", "Annotation border color")); + } else { + aColor->setToolTip(i18nc("@info:tooltip", "Annotation color")); + } + + if (isShape) { + aInnerColor->setToolTip(i18nc("@info:tooltip", "Annotation fill color")); + } else { + aInnerColor->setToolTip(i18nc("@info:tooltip", "Annotation fill color (Current annotation has no fill color)")); + } + + if (isText) { + aFont->setToolTip(i18nc("@info:tooltip", "Annotation font")); + } else { + aFont->setToolTip(i18nc("@info:tooltip", "Annotation font (Current annotation has no font)")); + } + + if (isStraightLine || isPolygon) { + aConstrainRatioAndAngle->setToolTip(i18nc("@info:tooltip", "Constrain line angle to 15° steps")); + } else if (isShape) { + aConstrainRatioAndAngle->setToolTip(i18nc("@info:tooltip", "Constrain shape ratio to 1:1")); + } else { + aConstrainRatioAndAngle->setToolTip(i18nc("@info:tooltip", "Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by current annotation)")); + } + + aOpacity->setToolTip(i18nc("@info:tooltip", "Annotation opacity")); + aAddToQuickTools->setToolTip(i18nc("@info:tooltip", "Add the current annotation to the quick annotations menu")); + aAdvancedSettings->setToolTip(i18nc("@info:tooltip", "Advanced settings for the current annotation tool")); +} + +void AnnotationActionHandlerPrivate::populateQuickAnnotations() +{ + if (!aQuickTools->isEnabled()) { + return; + } + + const QList numberKeys = {Qt::Key_1, Qt::Key_2, Qt::Key_3, Qt::Key_4, Qt::Key_5, Qt::Key_6, Qt::Key_7, Qt::Key_8, Qt::Key_9, Qt::Key_0}; + const bool isFirstTimePopulated = aQuickTools->menu()->actions().isEmpty(); + + // to be safe and avoid undefined states of the currently selected quick annotation + if (isQuickToolAction(agTools->checkedAction())) { + q->deselectAllAnnotationActions(); + } + + for (QAction *action : std::as_const(quickTools)) { + aQuickTools->removeAction(action); + aQuickToolsBar->removeAction(action); + delete action; + } + quickTools.clear(); + textQuickTools.clear(); + + int favToolId = 1; + QList::const_iterator shortcutNumber = numberKeys.begin(); + QDomElement favToolElement = annotator->quickTool(favToolId); + int actionBarInsertPosition = 0; + QAction *aSeparator = aQuickTools->menu()->actions().first(); + while (!favToolElement.isNull()) { + QString itemText = favToolElement.attribute(QStringLiteral("name")); + if (favToolElement.attribute(QStringLiteral("default"), QStringLiteral("false")) == QLatin1String("true")) { + itemText = i18n(itemText.toLatin1().constData()); + } + if (itemText.isEmpty()) { + itemText = PageViewAnnotator::defaultToolName(favToolElement); + } + QIcon toolIcon = QIcon(PageViewAnnotator::makeToolPixmap(favToolElement)); + QAction *annFav = new KToggleAction(toolIcon, itemText, q); + aQuickTools->insertAction(aSeparator, annFav); + aQuickToolsBar->insertAction(actionBarInsertPosition++, annFav); + agTools->addAction(annFav); + quickTools.append(annFav); + if (shortcutNumber != numberKeys.end()) { + annFav->setShortcut(QKeySequence(*(shortcutNumber++))); + annFav->setShortcutContext(Qt::WidgetWithChildrenShortcut); + } + QObject::connect(annFav, &KToggleAction::toggled, q, [this, favToolId](bool checked) { + if (checked) { + slotQuickToolSelected(favToolId); + } + }); + QDomElement engineElement = favToolElement.firstChildElement(QStringLiteral("engine")); + if (engineElement.attribute(QStringLiteral("type")) == QStringLiteral("TextSelector")) { + textQuickTools.append(annFav); + annFav->setEnabled(textToolsEnabled); + } + favToolElement = annotator->quickTool(++favToolId); + } + aQuickToolsBar->recreateWidgets(); + + // set the default action + if (quickTools.isEmpty()) { + aShowToolBar->setVisible(false); + aQuickTools->addAction(aToolBarVisibility); + aQuickTools->setDefaultAction(aToolBarVisibility); + Okular::Settings::setQuickAnnotationDefaultAction(0); + Okular::Settings::self()->save(); + } else { + aShowToolBar->setVisible(true); + aQuickTools->removeAction(aToolBarVisibility); + aQuickTools->setDefaultAction(aQuickTools); + int defaultAction = Okular::Settings::quickAnnotationDefaultAction(); + if (isFirstTimePopulated && defaultAction < quickTools.count()) { + // we can reach here also if no quick tools were defined before, in that case defaultAction is correctly equal to zero + aQuickTools->setDefaultAction(quickTools.at(defaultAction)); + } else { + // if the quick tools have been modified we cannot restore the previous default action + aQuickTools->setDefaultAction(quickTools.at(0)); + Okular::Settings::setQuickAnnotationDefaultAction(0); + Okular::Settings::self()->save(); + } + } +} + +KSelectAction *AnnotationActionHandlerPrivate::colorPickerAction(AnnotationColor colorType) +{ + auto colorList = defaultColors; + QString aText(i18nc("@action:intoolbar Current annotation config option", "Color")); + if (colorType == AnnotationColor::InnerColor) { + aText = i18nc("@action:intoolbar Current annotation config option", "Fill Color"); + colorList.append(QPair(ki18nc("@item:inlistbox Color name", "Transparent"), Qt::transparent)); + } + KSelectAction *aColorPicker = new KSelectAction(QIcon(), aText, q); + aColorPicker->setToolBarMode(KSelectAction::MenuMode); + for (const auto &colorNameValue : colorList) { + QColor color(colorNameValue.second); + QAction *colorAction = new QAction(GuiUtils::createColorIcon({color}, QIcon(), GuiUtils::VisualizeTransparent), colorNameValue.first.toString(), q); + aColorPicker->addAction(colorAction); + QObject::connect(colorAction, &QAction::triggered, q, [this, colorType, color]() { slotSetColor(colorType, color); }); + } + QAction *aCustomColor = new QAction(QIcon::fromTheme(QStringLiteral("color-picker")), i18nc("@item:inlistbox", "Custom Color…"), q); + aColorPicker->addAction(aCustomColor); + QObject::connect(aCustomColor, &QAction::triggered, q, [this, colorType]() { slotSetColor(colorType); }); + return aColorPicker; +} + +const QIcon AnnotationActionHandlerPrivate::widthIcon(double width) +{ + QPixmap pm(32, 32); + pm.fill(Qt::transparent); + QPainter p(&pm); + p.setRenderHint(QPainter::Antialiasing); + p.setPen(QPen(Qt::black, 2 * width, Qt::SolidLine, Qt::RoundCap)); + p.drawLine(0, pm.height() / 2, pm.width(), pm.height() / 2); + p.end(); + return QIcon(pm); +} + +const QIcon AnnotationActionHandlerPrivate::stampIcon(const QString &stampIconName) +{ + QPixmap stampPix = Okular::AnnotationUtils::loadStamp(stampIconName, QSize(32, 32)); + if (stampPix.width() == stampPix.height()) { + return QIcon(stampPix); + } else { + return QIcon::fromTheme(QStringLiteral("tag")); + } +} + +void AnnotationActionHandlerPrivate::selectTool(int toolId) +{ + selectedBuiltinTool = toolId; + annotator->selectBuiltinTool(toolId, PageViewAnnotator::ShowTip::Yes); + parseTool(toolId); +} + +void AnnotationActionHandlerPrivate::slotStampToolSelected(const QString &stamp) +{ + selectedBuiltinTool = PageViewAnnotator::STAMP_TOOL_ID; + annotator->selectStampTool(stamp); // triggers a reparsing thus calling parseTool +} + +void AnnotationActionHandlerPrivate::slotQuickToolSelected(int favToolId) +{ + annotator->selectQuickTool(favToolId); + selectedBuiltinTool = -1; + updateConfigActions(); + Okular::Settings::setQuickAnnotationDefaultAction(favToolId - 1); + Okular::Settings::self()->save(); +} + +void AnnotationActionHandlerPrivate::slotSetColor(AnnotationColor colorType, const QColor &color) +{ + QColor selectedColor(color); + if (!selectedColor.isValid()) { + selectedColor = QColorDialog::getColor(currentColor, nullptr, i18nc("@title:window", "Select color")); + if (!selectedColor.isValid()) { + return; + } + } + if (colorType == AnnotationColor::Color) { + currentColor = selectedColor; + annotator->setAnnotationColor(selectedColor); + } else if (colorType == AnnotationColor::InnerColor) { + currentInnerColor = selectedColor; + annotator->setAnnotationInnerColor(selectedColor); + } +} + +void AnnotationActionHandlerPrivate::slotSelectAnnotationFont() +{ + bool ok; + QFont selectedFont = QFontDialog::getFont(&ok, currentFont); + if (ok) { + currentFont = selectedFont; + annotator->setAnnotationFont(currentFont); + } +} + +bool AnnotationActionHandlerPrivate::isQuickToolAction(QAction *aTool) +{ + return quickTools.contains(aTool); +} + +bool AnnotationActionHandlerPrivate::isQuickToolStamp(int toolId) +{ + QDomElement toolElement = annotator->quickTool(toolId); + const QString annotType = toolElement.attribute(QStringLiteral("type")); + QDomElement engineElement = toolElement.firstChildElement(QStringLiteral("engine")); + QDomElement annElement = engineElement.firstChildElement(QStringLiteral("annotation")); + return annotType == QStringLiteral("stamp"); +} + +void AnnotationActionHandlerPrivate::assertToolBarExists(KParts::MainWindow *mw, const QString &toolBarName) +{ + QList toolbars = mw->toolBars(); + auto itToolBar = std::find_if(toolbars.begin(), toolbars.end(), [&](const KToolBar *toolBar) { return toolBar->objectName() == toolBarName; }); + Q_ASSERT(itToolBar != toolbars.end()); +} + +// TODO: icon names should match getAnnotationInfo in gui/guiutils.cpp +AnnotationActionHandler::AnnotationActionHandler(PageViewAnnotator *parent, KActionCollection *ac) + : QObject(parent) + , d(new AnnotationActionHandlerPrivate(this)) +{ + d->annotator = parent; + + // toolbar visibility actions + d->aToolBarVisibility = new KToggleAction(QIcon::fromTheme(QStringLiteral("draw-freehand")), i18n("&Annotations"), this); + d->aHideToolBar = new QAction(QIcon::fromTheme(QStringLiteral("dialog-close")), i18nc("@action:intoolbar Hide the toolbar", "Hide"), this); + d->aShowToolBar = new QAction(QIcon::fromTheme(QStringLiteral("draw-freehand")), i18nc("@action:intoolbar Show the builtin annotation toolbar", "Show more annotation tools"), this); + + // Text markup actions + KToggleAction *aHighlighter = new KToggleAction(QIcon::fromTheme(QStringLiteral("draw-highlight")), i18nc("@action:intoolbar Annotation tool", "Highlighter"), this); + KToggleAction *aUnderline = new KToggleAction(QIcon::fromTheme(QStringLiteral("format-text-underline")), i18nc("@action:intoolbar Annotation tool", "Underline"), this); + KToggleAction *aSquiggle = new KToggleAction(QIcon::fromTheme(QStringLiteral("format-text-underline-squiggle")), i18nc("@action:intoolbar Annotation tool", "Squiggle"), this); + KToggleAction *aStrikeout = new KToggleAction(QIcon::fromTheme(QStringLiteral("format-text-strikethrough")), i18nc("@action:intoolbar Annotation tool", "Strike Out"), this); + // Notes actions + KToggleAction *aTypewriter = new KToggleAction(QIcon::fromTheme(QStringLiteral("tool-text")), i18nc("@action:intoolbar Annotation tool", "Typewriter"), this); + KToggleAction *aInlineNote = new KToggleAction(QIcon::fromTheme(QStringLiteral("note")), i18nc("@action:intoolbar Annotation tool", "Inline Note"), this); + KToggleAction *aPopupNote = new KToggleAction(QIcon::fromTheme(QStringLiteral("edit-comment")), i18nc("@action:intoolbar Annotation tool", "Popup Note"), this); + KToggleAction *aFreehandLine = new KToggleAction(QIcon::fromTheme(QStringLiteral("draw-freehand")), i18nc("@action:intoolbar Annotation tool", "Freehand Line"), this); + // Geometrical shapes actions + KToggleAction *aStraightLine = new KToggleAction(QIcon::fromTheme(QStringLiteral("draw-line")), i18nc("@action:intoolbar Annotation tool", "Straight line"), this); + KToggleAction *aArrow = new KToggleAction(QIcon::fromTheme(QStringLiteral("draw-arrow")), i18nc("@action:intoolbar Annotation tool", "Arrow"), this); + KToggleAction *aRectangle = new KToggleAction(QIcon::fromTheme(QStringLiteral("draw-rectangle")), i18nc("@action:intoolbar Annotation tool", "Rectangle"), this); + KToggleAction *aEllipse = new KToggleAction(QIcon::fromTheme(QStringLiteral("draw-ellipse")), i18nc("@action:intoolbar Annotation tool", "Ellipse"), this); + KToggleAction *aPolygon = new KToggleAction(QIcon::fromTheme(QStringLiteral("draw-polyline")), i18nc("@action:intoolbar Annotation tool", "Polygon"), this); + d->aGeomShapes = new ToggleActionMenu(i18nc("@action", "Geometrical shapes"), this); + d->aGeomShapes->setEnabled(true); // Need to explicitly set this once, or refreshActions() in part.cpp will disable this action + d->aGeomShapes->setPopupMode(QToolButton::MenuButtonPopup); + d->aGeomShapes->addAction(aArrow); + d->aGeomShapes->addAction(aStraightLine); + d->aGeomShapes->addAction(aRectangle); + d->aGeomShapes->addAction(aEllipse); + d->aGeomShapes->addAction(aPolygon); + d->aGeomShapes->setDefaultAction(aArrow); + connect(d->aGeomShapes->menu(), &QMenu::triggered, d->aGeomShapes, &ToggleActionMenu::setDefaultAction); + + // The order in which the actions are added is relevant to connect + // them to the correct toolId defined in tools.xml + d->agTools = new QActionGroup(this); + d->agTools->addAction(aHighlighter); + d->agTools->addAction(aUnderline); + d->agTools->addAction(aSquiggle); + d->agTools->addAction(aStrikeout); + d->agTools->addAction(aTypewriter); + d->agTools->addAction(aInlineNote); + d->agTools->addAction(aPopupNote); + d->agTools->addAction(aFreehandLine); + d->agTools->addAction(aArrow); + d->agTools->addAction(aStraightLine); + d->agTools->addAction(aRectangle); + d->agTools->addAction(aEllipse); + d->agTools->addAction(aPolygon); + + d->textTools.append(aHighlighter); + d->textTools.append(aUnderline); + d->textTools.append(aSquiggle); + d->textTools.append(aStrikeout); + + int toolId = 1; + const QList tools = d->agTools->actions(); + for (const auto &ann : tools) { + // action group workaround: connecting to toggled instead of triggered + connect(ann, &QAction::toggled, this, [this, toolId](bool checked) { + if (checked) { + d->selectTool(toolId); + } + }); + toolId++; + } + + // Stamp action + d->aStamp = new ToggleActionMenu(QIcon::fromTheme(QStringLiteral("tag")), i18nc("@action", "Stamp"), this); + d->aStamp->setPopupMode(QToolButton::MenuButtonPopup); + for (const auto &stamp : StampAnnotationWidget::defaultStamps()) { + KToggleAction *ann = new KToggleAction(d->stampIcon(stamp.second), stamp.first, this); + d->aStamp->addAction(ann); + d->agTools->addAction(ann); + // action group workaround: connecting to toggled instead of triggered + // (because deselectAllAnnotationActions has to call triggered) + connect(ann, &QAction::toggled, this, [this, stamp](bool checked) { + if (checked) { + d->slotStampToolSelected(stamp.second); + } + }); + } + if (!d->aStamp->menu()->actions().isEmpty()) { + d->aStamp->setDefaultAction(d->aStamp->menu()->actions().first()); + } + connect(d->aStamp->menu(), &QMenu::triggered, d->aStamp, &ToggleActionMenu::setDefaultAction); + + // Quick annotations action + d->aQuickTools = new ToggleActionMenu(i18nc("@action:intoolbar Show list of quick annotation tools", "Quick Annotations"), this); + d->aQuickTools->setPopupMode(QToolButton::MenuButtonPopup); + d->aQuickTools->setIcon(QIcon::fromTheme(QStringLiteral("draw-freehand"))); + d->aQuickTools->setToolTip(i18nc("@info:tooltip", "Choose an annotation tool from the quick annotations")); + d->aQuickTools->setEnabled(true); // required to ensure that populateQuickAnnotations is executed the first time + // set the triggered quick annotation as default action (but avoid setting 'Configure...' as default action) + connect(d->aQuickTools->menu(), &QMenu::triggered, this, [this](QAction *action) { + if (action->isCheckable()) { + d->aQuickTools->setDefaultAction(action); + } + }); + + d->aQuickToolsBar = new ActionBar(this); + d->aQuickToolsBar->setText(i18n("Quick Annotation Bar")); + + QAction *aQuickToolsSeparator = new QAction(this); + aQuickToolsSeparator->setSeparator(true); + d->aQuickTools->addAction(aQuickToolsSeparator); + d->aQuickTools->addAction(d->aShowToolBar); + QAction *aConfigAnnotation = ac->action(QStringLiteral("options_configure_annotations")); + if (aConfigAnnotation) { + d->aQuickTools->addAction(aConfigAnnotation); + d->aQuickToolsBar->addAction(aConfigAnnotation); + } + d->populateQuickAnnotations(); + + // Add to quick annotation action + d->aAddToQuickTools = new QAction(QIcon::fromTheme(QStringLiteral("favorite")), i18nc("@action:intoolbar Add current annotation tool to the quick annotations list", "Add to Quick Annotations"), this); + + // Pin action + d->aContinuousMode = new KToggleAction(QIcon::fromTheme(QStringLiteral("pin")), i18nc("@action:intoolbar When checked keep the current annotation tool active after use", "Keep Active"), this); + d->aContinuousMode->setToolTip(i18nc("@info:tooltip", "Keep the annotation tool active after use")); + d->aContinuousMode->setChecked(d->annotator->continuousMode()); + + // Constrain angle action + d->aConstrainRatioAndAngle = + new KToggleAction(QIcon::fromTheme(QStringLiteral("snap-angle")), i18nc("@action When checked, line annotations are constrained to 15° steps, shape annotations to 1:1 ratio", "Constrain Ratio and Angle of Annotation Tools"), this); + d->aConstrainRatioAndAngle->setChecked(d->annotator->constrainRatioAndAngleActive()); + + // Annotation settings actions + d->aColor = d->colorPickerAction(AnnotationActionHandlerPrivate::AnnotationColor::Color); + d->aInnerColor = d->colorPickerAction(AnnotationActionHandlerPrivate::AnnotationColor::InnerColor); + d->aFont = new QAction(QIcon::fromTheme(QStringLiteral("font-face")), i18nc("@action:intoolbar Current annotation config option", "Font"), this); + d->aAdvancedSettings = new QAction(QIcon::fromTheme(QStringLiteral("settings-configure")), i18nc("@action:intoolbar Current annotation advanced settings", "Annotation Settings"), this); + + // Width list + d->aWidth = new KSelectAction(QIcon::fromTheme(QStringLiteral("edit-line-width")), i18nc("@action:intoolbar Current annotation config option", "Line width"), this); + d->aWidth->setToolBarMode(KSelectAction::MenuMode); + for (auto width : d->widthStandardValues) { + KToggleAction *ann = new KToggleAction(d->widthIcon(width), i18nc("@item:inlistbox", "Width %1", width), this); + d->aWidth->addAction(ann); + connect(ann, &QAction::triggered, this, [this, width]() { d->annotator->setAnnotationWidth(width); }); + } + + // Opacity list + d->aOpacity = new KSelectAction(QIcon::fromTheme(QStringLiteral("edit-opacity")), i18nc("@action:intoolbar Current annotation config option", "Opacity"), this); + d->aOpacity->setToolBarMode(KSelectAction::MenuMode); + for (double opacity : d->opacityStandardValues) { + KToggleAction *ann = new KToggleAction(GuiUtils::createOpacityIcon(opacity), i18nc("@item:inlistbox Annotation opacity percentage level, make sure to include %1 in your translation", "%1%", opacity * 100), this); + d->aOpacity->addAction(ann); + connect(ann, &QAction::triggered, this, [this, opacity]() { d->annotator->setAnnotationOpacity(opacity); }); + } + + connect(d->aAddToQuickTools, &QAction::triggered, d->annotator, &PageViewAnnotator::addToQuickAnnotations); + connect(d->aContinuousMode, &QAction::toggled, d->annotator, &PageViewAnnotator::setContinuousMode); + connect(d->aConstrainRatioAndAngle, &QAction::toggled, d->annotator, &PageViewAnnotator::setConstrainRatioAndAngle); + connect(d->aAdvancedSettings, &QAction::triggered, d->annotator, &PageViewAnnotator::slotAdvancedSettings); + connect(d->aFont, &QAction::triggered, std::bind(&AnnotationActionHandlerPrivate::slotSelectAnnotationFont, d)); + + // action group workaround: allows unchecking the currently selected annotation action. + // Other parts of code dependent to this workaround are marked with "action group workaround". + connect(d->agTools, &QActionGroup::triggered, this, [this](QAction *action) { + if (action == d->agLastAction) { + d->agLastAction = nullptr; + d->agTools->checkedAction()->setChecked(false); + d->selectTool(-1); + } else { + d->agLastAction = action; + // Show the annotation toolbar whenever builtin tool actions are triggered (e.g using shortcuts) + if (!d->isQuickToolAction(action)) { + d->aToolBarVisibility->setChecked(true); + } + } + }); + + ac->addAction(QStringLiteral("mouse_toggle_annotate"), d->aToolBarVisibility); + ac->addAction(QStringLiteral("hide_annotation_toolbar"), d->aHideToolBar); + ac->addAction(QStringLiteral("quick_annotation_action_bar"), d->aQuickToolsBar); + ac->addAction(QStringLiteral("annotation_highlighter"), aHighlighter); + ac->addAction(QStringLiteral("annotation_underline"), aUnderline); + ac->addAction(QStringLiteral("annotation_squiggle"), aSquiggle); + ac->addAction(QStringLiteral("annotation_strike_out"), aStrikeout); + ac->addAction(QStringLiteral("annotation_typewriter"), aTypewriter); + ac->addAction(QStringLiteral("annotation_inline_note"), aInlineNote); + ac->addAction(QStringLiteral("annotation_popup_note"), aPopupNote); + ac->addAction(QStringLiteral("annotation_freehand_line"), aFreehandLine); + ac->addAction(QStringLiteral("annotation_arrow"), aArrow); + ac->addAction(QStringLiteral("annotation_straight_line"), aStraightLine); + ac->addAction(QStringLiteral("annotation_rectangle"), aRectangle); + ac->addAction(QStringLiteral("annotation_ellipse"), aEllipse); + ac->addAction(QStringLiteral("annotation_polygon"), aPolygon); + ac->addAction(QStringLiteral("annotation_geometrical_shape"), d->aGeomShapes); + ac->addAction(QStringLiteral("annotation_stamp"), d->aStamp); + ac->addAction(QStringLiteral("annotation_favorites"), d->aQuickTools); + ac->addAction(QStringLiteral("annotation_bookmark"), d->aAddToQuickTools); + ac->addAction(QStringLiteral("annotation_settings_pin"), d->aContinuousMode); + ac->addAction(QStringLiteral("annotation_constrain_ratio_angle"), d->aConstrainRatioAndAngle); + ac->addAction(QStringLiteral("annotation_settings_width"), d->aWidth); + ac->addAction(QStringLiteral("annotation_settings_color"), d->aColor); + ac->addAction(QStringLiteral("annotation_settings_inner_color"), d->aInnerColor); + ac->addAction(QStringLiteral("annotation_settings_opacity"), d->aOpacity); + ac->addAction(QStringLiteral("annotation_settings_font"), d->aFont); + ac->addAction(QStringLiteral("annotation_settings_advanced"), d->aAdvancedSettings); + + ac->setDefaultShortcut(d->aToolBarVisibility, Qt::Key_F6); + ac->setDefaultShortcut(aHighlighter, Qt::ALT | Qt::Key_1); + ac->setDefaultShortcut(aUnderline, Qt::ALT | Qt::Key_2); + ac->setDefaultShortcut(aSquiggle, Qt::ALT | Qt::Key_3); + ac->setDefaultShortcut(aStrikeout, Qt::ALT | Qt::Key_4); + ac->setDefaultShortcut(aTypewriter, Qt::ALT | Qt::Key_5); + ac->setDefaultShortcut(aInlineNote, Qt::ALT | Qt::Key_6); + ac->setDefaultShortcut(aPopupNote, Qt::ALT | Qt::Key_7); + ac->setDefaultShortcut(aFreehandLine, Qt::ALT | Qt::Key_8); + ac->setDefaultShortcut(aArrow, Qt::ALT | Qt::Key_9); + ac->setDefaultShortcut(aRectangle, Qt::ALT | Qt::Key_0); + ac->setDefaultShortcut(d->aAddToQuickTools, QKeySequence((Qt::CTRL | Qt::SHIFT) | Qt::Key_B)); + d->updateConfigActions(); + + connect(Okular::Settings::self(), &Okular::Settings::primaryAnnotationToolBarChanged, this, &AnnotationActionHandler::setupAnnotationToolBarVisibilityAction); +} + +AnnotationActionHandler::~AnnotationActionHandler() +{ + // delete the private data storage structure + delete d; +} + +void AnnotationActionHandler::setupAnnotationToolBarVisibilityAction() +{ + // find the main window associated to the toggle toolbar action + QList objects = d->aToolBarVisibility->associatedObjects(); + auto itMainWindow = std::find_if(objects.begin(), objects.end(), [](const QObject *object) { return qobject_cast(object) != nullptr; }); + Q_ASSERT(itMainWindow != objects.end()); + KParts::MainWindow *mw = qobject_cast(*itMainWindow); + + // ensure that the annotation toolbars have been created + d->assertToolBarExists(mw, QStringLiteral("annotationToolBar")); + d->assertToolBarExists(mw, QStringLiteral("quickAnnotationToolBar")); + + KToolBar *annotationToolBar = mw->toolBar(QStringLiteral("annotationToolBar")); + connect(annotationToolBar, &QToolBar::visibilityChanged, this, &AnnotationActionHandler::slotAnnotationToolBarVisibilityChanged, Qt::UniqueConnection); + // show action + connect(d->aShowToolBar, &QAction::triggered, annotationToolBar, &KToolBar::show, Qt::UniqueConnection); + // hide action + connect(d->aHideToolBar, &QAction::triggered, annotationToolBar, &KToolBar::hide, Qt::UniqueConnection); + + KToolBar *primaryAnnotationToolBar = annotationToolBar; + if (Okular::Settings::primaryAnnotationToolBar() == Okular::Settings::EnumPrimaryAnnotationToolBar::QuickAnnotationToolBar) { + primaryAnnotationToolBar = mw->toolBar(QStringLiteral("quickAnnotationToolBar")); + } + d->aToolBarVisibility->setChecked(false); + d->aToolBarVisibility->disconnect(primaryAnnotationToolBar); + d->aToolBarVisibility->setChecked(primaryAnnotationToolBar->isVisible()); + connect(primaryAnnotationToolBar, &QToolBar::visibilityChanged, d->aToolBarVisibility, &QAction::setChecked, Qt::UniqueConnection); + connect(d->aToolBarVisibility, &QAction::toggled, primaryAnnotationToolBar, &KToolBar::setVisible, Qt::UniqueConnection); + d->aShowToolBar->setEnabled(!primaryAnnotationToolBar->isVisible()); +} + +void AnnotationActionHandler::reparseBuiltinToolsConfig() +{ + d->parseTool(d->selectedBuiltinTool); +} + +void AnnotationActionHandler::reparseQuickToolsConfig() +{ + d->populateQuickAnnotations(); +} + +void AnnotationActionHandler::setToolsEnabled(bool on) +{ + const QList tools = d->agTools->actions(); + for (QAction *ann : tools) { + ann->setEnabled(on); + } + d->aQuickTools->setEnabled(on); + d->aGeomShapes->setEnabled(on); + d->aStamp->setEnabled(on); + d->aContinuousMode->setEnabled(on); +} + +void AnnotationActionHandler::setTextToolsEnabled(bool on) +{ + d->textToolsEnabled = on; + for (QAction *ann : std::as_const(d->textTools)) { + ann->setEnabled(on); + } + for (QAction *ann : std::as_const(d->textQuickTools)) { + ann->setEnabled(on); + } +} + +void AnnotationActionHandler::deselectAllAnnotationActions() +{ + QAction *checkedAction = d->agTools->checkedAction(); + if (checkedAction) { + checkedAction->trigger(); // action group workaround: using trigger instead of setChecked + } +} + +void AnnotationActionHandler::slotAnnotationToolBarVisibilityChanged(bool visible) +{ + d->aShowToolBar->setEnabled(!visible); + if (!visible && !d->isQuickToolAction(d->agTools->checkedAction())) { + deselectAllAnnotationActions(); + } +} + +#include "moc_annotationactionhandler.cpp" diff --git a/part/annotationactionhandler.h b/part/annotationactionhandler.h new file mode 100644 index 0000000..0876205 --- /dev/null +++ b/part/annotationactionhandler.h @@ -0,0 +1,52 @@ +/* + SPDX-FileCopyrightText: 2019 Simone Gaiarin + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _ANNOTATIONACTIONHANDLER_H_ +#define _ANNOTATIONACTIONHANDLER_H_ + +#include + +class QAction; +class QColor; +class QFont; +class KActionCollection; +class PageViewAnnotator; +class AnnotationActionHandlerPrivate; + +/** + * @short Handles all the actions of the annotation toolbar + */ +class AnnotationActionHandler : public QObject +{ + Q_OBJECT + +public: + AnnotationActionHandler(PageViewAnnotator *parent, KActionCollection *ac); + ~AnnotationActionHandler() override; + + /** + * @short Reads the settings for the current annotation and rebuild the quick annotations menu + * + * This method is called each time okularpartrc is modified. This happens in the following + * situations (among others): the quick annotations are modified from the KCM settings + * page, a tool is modified using the "advanced settings" action, a quick annotation is + * selected, an annotation property (line width, colors, opacity, font) is modified. + */ + void setupAnnotationToolBarVisibilityAction(); + void reparseBuiltinToolsConfig(); + void reparseQuickToolsConfig(); + void setToolsEnabled(bool on); + void setTextToolsEnabled(bool on); + void deselectAllAnnotationActions(); + +private Q_SLOTS: + void slotAnnotationToolBarVisibilityChanged(bool visible); + +private: + class AnnotationActionHandlerPrivate *d; +}; + +#endif // _ANNOTATIONACTIONHANDLER_H_ diff --git a/part/annotationmodel.cpp b/part/annotationmodel.cpp new file mode 100644 index 0000000..3881e58 --- /dev/null +++ b/part/annotationmodel.cpp @@ -0,0 +1,422 @@ +/* + SPDX-FileCopyrightText: 2006 Pino Toscano + + Work sponsored by the LiMux project of the city of Munich: + SPDX-FileCopyrightText: 2017 Klarälvdalens Datakonsult AB a KDAB Group company + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "annotationmodel.h" + +#include +#include + +#include +#include + +#include "core/annotations.h" +#include "core/document.h" +#include "core/observer.h" +#include "core/page.h" +#include "gui/guiutils.h" + +struct AnnItem { + AnnItem(); + AnnItem(AnnItem *parent, Okular::Annotation *ann); + AnnItem(AnnItem *parent, int page); + ~AnnItem(); + + AnnItem(const AnnItem &) = delete; + AnnItem &operator=(const AnnItem &) = delete; + + AnnItem *parent; + QList children; + + Okular::Annotation *annotation; + int page; +}; + +static QList filterOutWidgetAnnotations(const QList &annotations) +{ + QList result; + + for (Okular::Annotation *annotation : annotations) { + if (annotation->subType() == Okular::Annotation::AWidget) { + continue; + } + + result.append(annotation); + } + + return result; +} + +class AnnotationModelPrivate : public Okular::DocumentObserver +{ +public: + explicit AnnotationModelPrivate(AnnotationModel *qq); + ~AnnotationModelPrivate() override; + + void notifySetup(const QList &pages, int setupFlags) override; + void notifyPageChanged(int page, int flags) override; + + QModelIndex indexForItem(AnnItem *item) const; + void rebuildTree(const QList &pages); + AnnItem *findItem(int page, int *index) const; + + AnnotationModel *q; + AnnItem *root; + QPointer document; +}; + +AnnItem::AnnItem() + : parent(nullptr) + , annotation(nullptr) + , page(-1) +{ +} + +AnnItem::AnnItem(AnnItem *_parent, Okular::Annotation *ann) + : parent(_parent) + , annotation(ann) + , page(_parent->page) +{ + Q_ASSERT(!parent->annotation); + parent->children.append(this); +} + +AnnItem::AnnItem(AnnItem *_parent, int _page) + : parent(_parent) + , annotation(nullptr) + , page(_page) +{ + Q_ASSERT(!parent->parent); + parent->children.append(this); +} + +AnnItem::~AnnItem() +{ + qDeleteAll(children); +} + +AnnotationModelPrivate::AnnotationModelPrivate(AnnotationModel *qq) + : q(qq) + , root(new AnnItem) +{ +} + +AnnotationModelPrivate::~AnnotationModelPrivate() +{ + delete root; +} + +static void updateAnnotationPointer(AnnItem *item, const QList &pages) +{ + if (item->annotation) { + item->annotation = pages[item->page]->annotation(item->annotation->uniqueName()); + if (!item->annotation) { + qWarning() << "Lost annotation on document save, something went wrong"; + } + } + + for (AnnItem *child : std::as_const(item->children)) { + updateAnnotationPointer(child, pages); + } +} + +void AnnotationModelPrivate::notifySetup(const QList &pages, int setupFlags) +{ + if (!(setupFlags & Okular::DocumentObserver::DocumentChanged)) { + if (setupFlags & Okular::DocumentObserver::UrlChanged) { + // Here with UrlChanged and no document changed it means we + // need to update all the Annotation* otherwise + // they still point to the old document ones, luckily the old ones are still + // around so we can look for the new ones using unique ids, etc + updateAnnotationPointer(root, pages); + } + return; + } + + q->beginResetModel(); + qDeleteAll(root->children); + root->children.clear(); + + rebuildTree(pages); + q->endResetModel(); +} + +void AnnotationModelPrivate::notifyPageChanged(int page, int flags) +{ + // we are strictly interested in annotations + if (!(flags & Okular::DocumentObserver::Annotations)) { + return; + } + + const QList annots = filterOutWidgetAnnotations(document->page(page)->annotations()); + int annItemIndex = -1; + AnnItem *annItem = findItem(page, &annItemIndex); + // case 1: the page has no more annotations + // => remove the branch, if any + if (annots.isEmpty()) { + if (annItem) { + q->beginRemoveRows(indexForItem(root), annItemIndex, annItemIndex); + delete root->children.at(annItemIndex); + root->children.removeAt(annItemIndex); + q->endRemoveRows(); + } + return; + } + // case 2: no existing branch + // => add a new branch, and add the annotations for the page + if (!annItem) { + int i = 0; + while (i < root->children.count() && root->children.at(i)->page < page) { + ++i; + } + + AnnItem *newAnnItem = new AnnItem(); + newAnnItem->page = page; + newAnnItem->parent = root; + q->beginInsertRows(indexForItem(root), i, i); + newAnnItem->parent->children.insert(i, newAnnItem); + for (Okular::Annotation *annot : annots) { + new AnnItem(newAnnItem, annot); + } + q->endInsertRows(); + return; + } + // case 3: existing branch, less annotations than items + // => lookup and remove the annotations + if (annItem->children.count() > annots.count()) { + for (int i = annItem->children.count(); i > 0; --i) { + const Okular::Annotation *ref = annItem->children.at(i - 1)->annotation; + bool found = false; + for (const Okular::Annotation *annot : annots) { + if (annot == ref) { + found = true; + break; + } + } + if (!found) { + q->beginRemoveRows(indexForItem(annItem), i - 1, i - 1); + delete annItem->children.at(i - 1); + annItem->children.removeAt(i - 1); + q->endRemoveRows(); + } + } + return; + } + // case 4: existing branch, less items than annotations + // => lookup and add annotations if not in the branch + if (annots.count() > annItem->children.count()) { + for (Okular::Annotation *ref : annots) { + bool found = false; + int count = annItem->children.count(); + for (int i = 0; !found && i < count; ++i) { + if (ref == annItem->children.at(i)->annotation) { + found = true; + } + } + if (!found) { + q->beginInsertRows(indexForItem(annItem), count, count); + new AnnItem(annItem, ref); + q->endInsertRows(); + } + } + return; + } + // case 5: the data of some annotation changed + // TODO: what do we do in this case? + // FIXME: for now, update ALL the annotations for that page + for (int i = 0; i < annItem->children.count(); ++i) { + QModelIndex index = indexForItem(annItem->children.at(i)); + Q_EMIT q->dataChanged(index, index); + } +} + +QModelIndex AnnotationModelPrivate::indexForItem(AnnItem *item) const +{ + if (item->parent) { + int id = item->parent->children.indexOf(item); + if (id >= 0 && id < item->parent->children.count()) { + return q->createIndex(id, 0, item); + } + } + return QModelIndex(); +} + +void AnnotationModelPrivate::rebuildTree(const QList &pages) +{ + if (pages.isEmpty()) { + return; + } + + for (int i = 0; i < pages.count(); ++i) { + const QList annots = filterOutWidgetAnnotations(pages.at(i)->annotations()); + if (annots.isEmpty()) { + continue; + } + + AnnItem *annItem = new AnnItem(root, i); + for (Okular::Annotation *annot : annots) { + new AnnItem(annItem, annot); + } + } +} + +AnnItem *AnnotationModelPrivate::findItem(int page, int *index) const +{ + for (int i = 0; i < root->children.count(); ++i) { + AnnItem *tmp = root->children.at(i); + if (tmp->page == page) { + if (index) { + *index = i; + } + return tmp; + } + } + if (index) { + *index = -1; + } + return nullptr; +} + +AnnotationModel::AnnotationModel(Okular::Document *document, QObject *parent) + : QAbstractItemModel(parent) + , d(new AnnotationModelPrivate(this)) +{ + d->document = document; + + d->document->addObserver(d); +} + +AnnotationModel::~AnnotationModel() +{ + if (d->document) { + d->document->removeObserver(d); + } + + delete d; +} + +int AnnotationModel::columnCount(const QModelIndex &parent) const +{ + Q_UNUSED(parent) + return 1; +} + +QVariant AnnotationModel::data(const QModelIndex &index, int role) const +{ + if (!index.isValid()) { + return QVariant(); + } + + AnnItem *item = static_cast(index.internalPointer()); + if (!item->annotation) { + if (role == Qt::DisplayRole) { + auto *page = d->document->page(item->page); + if (page && !page->label().isEmpty() && page->label().toInt() != item->page + 1) { + return i18nc("Page label (number)", "Page %1 (%2)", page->label(), item->page + 1); + } else { + return i18n("Page %1", item->page + 1); + } + } else if (role == Qt::DecorationRole) { + return QIcon::fromTheme(QStringLiteral("text-plain")); + } else if (role == PageRole) { + return item->page; + } + + return QVariant(); + } + switch (role) { + case Qt::DisplayRole: { + const QString contents = item->annotation->contents().simplified(); + return contents.isEmpty() ? GuiUtils::captionForAnnotation(item->annotation) : contents; + break; + } + case Qt::DecorationRole: + return GuiUtils::iconForAnnotation(item->annotation); + break; + case Qt::ToolTipRole: + return GuiUtils::prettyToolTip(item->annotation); + break; + case AuthorRole: + return item->annotation->author(); + break; + case PageRole: + return item->page; + break; + } + return QVariant(); +} + +bool AnnotationModel::hasChildren(const QModelIndex &parent) const +{ + if (!parent.isValid()) { + return true; + } + + AnnItem *item = static_cast(parent.internalPointer()); + return !item->children.isEmpty(); +} + +QVariant AnnotationModel::headerData(int section, Qt::Orientation orientation, int role) const +{ + if (orientation != Qt::Horizontal) { + return QVariant(); + } + + if (section == 0 && role == Qt::DisplayRole) { + return QString::fromLocal8Bit("Annotations"); + } + + return QVariant(); +} + +QModelIndex AnnotationModel::index(int row, int column, const QModelIndex &parent) const +{ + if (row < 0 || column != 0) { + return QModelIndex(); + } + + AnnItem *item = parent.isValid() ? static_cast(parent.internalPointer()) : d->root; + if (row < item->children.count()) { + return createIndex(row, column, item->children.at(row)); + } + + return QModelIndex(); +} + +QModelIndex AnnotationModel::parent(const QModelIndex &index) const +{ + if (!index.isValid()) { + return QModelIndex(); + } + + AnnItem *item = static_cast(index.internalPointer()); + return d->indexForItem(item->parent); +} + +int AnnotationModel::rowCount(const QModelIndex &parent) const +{ + AnnItem *item = parent.isValid() ? static_cast(parent.internalPointer()) : d->root; + return item->children.count(); +} + +bool AnnotationModel::isAnnotation(const QModelIndex &index) const +{ + return annotationForIndex(index); +} + +Okular::Annotation *AnnotationModel::annotationForIndex(const QModelIndex &index) const +{ + if (!index.isValid()) { + return nullptr; + } + + const AnnItem *item = static_cast(index.internalPointer()); + return item->annotation; +} + +#include "moc_annotationmodel.cpp" diff --git a/part/annotationmodel.h b/part/annotationmodel.h new file mode 100644 index 0000000..8b54704 --- /dev/null +++ b/part/annotationmodel.h @@ -0,0 +1,48 @@ +/* + SPDX-FileCopyrightText: 2006 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef ANNOTATIONMODEL_H +#define ANNOTATIONMODEL_H + +#include + +namespace Okular +{ +class Annotation; +class Document; +} + +class AnnotationModelPrivate; + +class AnnotationModel : public QAbstractItemModel +{ + Q_OBJECT + +public: + enum { AuthorRole = Qt::UserRole + 1000, PageRole }; + + explicit AnnotationModel(Okular::Document *document, QObject *parent = nullptr); + ~AnnotationModel() override; + + // reimplementations from QAbstractItemModel + int columnCount(const QModelIndex &parent = QModelIndex()) const override; + QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override; + bool hasChildren(const QModelIndex &parent = QModelIndex()) const override; + QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override; + QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const override; + QModelIndex parent(const QModelIndex &index) const override; + int rowCount(const QModelIndex &parent = QModelIndex()) const override; + + bool isAnnotation(const QModelIndex &index) const; + Okular::Annotation *annotationForIndex(const QModelIndex &index) const; + +private: + // storage + friend class AnnotationModelPrivate; + AnnotationModelPrivate *const d; +}; + +#endif diff --git a/part/annotationpopup.cpp b/part/annotationpopup.cpp new file mode 100644 index 0000000..77062cc --- /dev/null +++ b/part/annotationpopup.cpp @@ -0,0 +1,267 @@ +/* + SPDX-FileCopyrightText: 2006 Tobias Koenig + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "annotationpopup.h" + +#include +#include +#include +#include +#include + +#include "annotationpropertiesdialog.h" + +#include "core/annotations.h" +#include "core/bookmarkmanager.h" +#include "core/document.h" +#include "core/page.h" +#include "gui/guiutils.h" +#include "okmenutitle.h" + +Q_DECLARE_METATYPE(AnnotationPopup::AnnotPagePair) + +namespace +{ +bool annotationHasFileAttachment(Okular::Annotation *annotation) +{ + return (annotation->subType() == Okular::Annotation::AFileAttachment || annotation->subType() == Okular::Annotation::ARichMedia); +} + +Okular::EmbeddedFile *embeddedFileFromAnnotation(Okular::Annotation *annotation) +{ + if (annotation->subType() == Okular::Annotation::AFileAttachment) { + const Okular::FileAttachmentAnnotation *fileAttachAnnot = static_cast(annotation); + return fileAttachAnnot->embeddedFile(); + } else if (annotation->subType() == Okular::Annotation::ARichMedia) { + const Okular::RichMediaAnnotation *richMediaAnnot = static_cast(annotation); + return richMediaAnnot->embeddedFile(); + } else { + return nullptr; + } +} + +} + +AnnotationPopup::AnnotationPopup(Okular::Document *document, MenuMode mode, QWidget *parent) + : mParent(parent) + , mDocument(document) + , mMenuMode(mode) +{ +} + +void AnnotationPopup::addAnnotation(Okular::Annotation *annotation, int pageNumber) +{ + AnnotPagePair pair(annotation, pageNumber); + if (!mAnnotations.contains(pair)) { + mAnnotations.append(pair); + } +} + +void AnnotationPopup::exec(const QPoint point) +{ + if (mAnnotations.isEmpty()) { + return; + } + + QMenu menu(mParent); + + addActionsToMenu(&menu); + + menu.exec(point.isNull() ? QCursor::pos() : point); +} + +void AnnotationPopup::addActionsToMenu(QMenu *menu) +{ + QAction *action = nullptr; + + if (mMenuMode == SingleAnnotationMode) { + const bool onlyOne = (mAnnotations.count() == 1); + + const AnnotPagePair &pair = mAnnotations.at(0); + + menu->addAction(new OKMenuTitle(menu, i18ncp("Menu title", "Annotation", "%1 Annotations", mAnnotations.count()))); + + action = menu->addAction(QIcon::fromTheme(QStringLiteral("comment")), i18n("&Open Pop-up Note")); + action->setEnabled(onlyOne); + connect(action, &QAction::triggered, menu, [this, pair] { doOpenAnnotationWindow(pair); }); + + Okular::DocumentViewport vp = calculateAnnotationViewport(pair); + bool isBookmarked = mDocument->bookmarkManager()->isBookmarked(vp); + + if (isBookmarked) { + action = menu->addAction(QIcon::fromTheme(QStringLiteral("bookmark-remove")), i18n("Remove Bookmark")); + action->setEnabled(onlyOne); + connect(action, &QAction::triggered, menu, [this, pair] { doRemoveAnnotationBookmark(pair); }); + } else { + action = menu->addAction(QIcon::fromTheme(QStringLiteral("bookmark-new")), i18n("Add Bookmark")); + action->setEnabled(onlyOne); + connect(action, &QAction::triggered, menu, [this, pair] { doAddAnnotationBookmark(pair); }); + } + + if (!pair.annotation->contents().isEmpty()) { + action = menu->addAction(QIcon::fromTheme(QStringLiteral("edit-copy")), i18n("Copy Text to Clipboard")); + const bool copyAllowed = mDocument->isAllowed(Okular::AllowCopy); + if (!copyAllowed) { + action->setEnabled(false); + action->setText(i18n("Copy forbidden by DRM")); + } + connect(action, &QAction::triggered, menu, [this, pair] { doCopyAnnotation(pair); }); + } + + action = menu->addAction(QIcon::fromTheme(QStringLiteral("list-remove")), i18n("&Delete")); + action->setEnabled(mDocument->isAllowed(Okular::AllowNotes)); + connect(action, &QAction::triggered, menu, [this] { + for (const AnnotPagePair &pair : std::as_const(mAnnotations)) { + doRemovePageAnnotation(pair); + } + }); + + for (const AnnotPagePair &annot : std::as_const(mAnnotations)) { + if (!mDocument->canRemovePageAnnotation(annot.annotation)) { + action->setEnabled(false); + } + } + + action = menu->addAction(QIcon::fromTheme(QStringLiteral("configure")), i18n("&Properties")); + action->setEnabled(onlyOne); + connect(action, &QAction::triggered, menu, [this, pair] { doOpenPropertiesDialog(pair); }); + + if (onlyOne && annotationHasFileAttachment(pair.annotation)) { + const Okular::EmbeddedFile *embeddedFile = embeddedFileFromAnnotation(pair.annotation); + if (embeddedFile) { + const QString saveText = i18nc("%1 is the name of the file to save", "&Save '%1'…", embeddedFile->name()); + + menu->addSeparator(); + action = menu->addAction(QIcon::fromTheme(QStringLiteral("document-save")), saveText); + connect(action, &QAction::triggered, menu, [this, pair] { doSaveEmbeddedFile(pair); }); + } + } + } else { + for (const AnnotPagePair &pair : std::as_const(mAnnotations)) { + menu->addAction(new OKMenuTitle(menu, GuiUtils::captionForAnnotation(pair.annotation))); + + action = menu->addAction(QIcon::fromTheme(QStringLiteral("comment")), i18n("&Open Pop-up Note")); + connect(action, &QAction::triggered, menu, [this, pair] { doOpenAnnotationWindow(pair); }); + + Okular::DocumentViewport vp = calculateAnnotationViewport(pair); + bool isBookmarked = mDocument->bookmarkManager()->isBookmarked(vp); + + if (isBookmarked) { + action = menu->addAction(QIcon::fromTheme(QStringLiteral("bookmark-remove")), i18n("Remove Bookmark")); + connect(action, &QAction::triggered, menu, [this, pair] { doRemoveAnnotationBookmark(pair); }); + } else { + action = menu->addAction(QIcon::fromTheme(QStringLiteral("bookmark-new")), i18n("Add Bookmark")); + connect(action, &QAction::triggered, menu, [this, pair] { doAddAnnotationBookmark(pair); }); + } + + if (!pair.annotation->contents().isEmpty()) { + action = menu->addAction(QIcon::fromTheme(QStringLiteral("edit-copy")), i18n("Copy Text to Clipboard")); + const bool copyAllowed = mDocument->isAllowed(Okular::AllowCopy); + if (!copyAllowed) { + action->setEnabled(false); + action->setText(i18n("Copy forbidden by DRM")); + } + connect(action, &QAction::triggered, menu, [this, pair] { doCopyAnnotation(pair); }); + } + + action = menu->addAction(QIcon::fromTheme(QStringLiteral("list-remove")), i18n("&Delete")); + action->setEnabled(mDocument->isAllowed(Okular::AllowNotes) && mDocument->canRemovePageAnnotation(pair.annotation)); + connect(action, &QAction::triggered, menu, [this, pair] { doRemovePageAnnotation(pair); }); + + action = menu->addAction(QIcon::fromTheme(QStringLiteral("configure")), i18n("&Properties")); + connect(action, &QAction::triggered, menu, [this, pair] { doOpenPropertiesDialog(pair); }); + + if (annotationHasFileAttachment(pair.annotation)) { + const Okular::EmbeddedFile *embeddedFile = embeddedFileFromAnnotation(pair.annotation); + if (embeddedFile) { + const QString saveText = i18nc("%1 is the name of the file to save", "&Save '%1'…", embeddedFile->name()); + + menu->addSeparator(); + action = menu->addAction(QIcon::fromTheme(QStringLiteral("document-save")), saveText); + connect(action, &QAction::triggered, menu, [this, pair] { doSaveEmbeddedFile(pair); }); + } + } + } + } +} + +void AnnotationPopup::doCopyAnnotation(AnnotPagePair pair) +{ + const QString text = pair.annotation->contents(); + if (!text.isEmpty()) { + QClipboard *cb = QApplication::clipboard(); + cb->setText(text, QClipboard::Clipboard); + } +} + +void AnnotationPopup::doRemovePageAnnotation(AnnotPagePair pair) +{ + if (pair.pageNumber != -1) { + mDocument->removePageAnnotation(pair.pageNumber, pair.annotation); + } +} + +void AnnotationPopup::doOpenAnnotationWindow(AnnotPagePair pair) +{ + Q_EMIT openAnnotationWindow(pair.annotation, pair.pageNumber); +} + +void AnnotationPopup::doOpenPropertiesDialog(AnnotPagePair pair) +{ + if (pair.pageNumber != -1) { + AnnotsPropertiesDialog propdialog(mParent, mDocument, pair.pageNumber, pair.annotation); + propdialog.exec(); + } +} + +void AnnotationPopup::doSaveEmbeddedFile(AnnotPagePair pair) +{ + Okular::EmbeddedFile *embeddedFile = embeddedFileFromAnnotation(pair.annotation); + GuiUtils::saveEmbeddedFile(embeddedFile, mParent); +} + +// This code comes from Reviews::activated in side_reviews.cpp +Okular::DocumentViewport AnnotationPopup::calculateAnnotationViewport(AnnotPagePair pair) const +{ + Okular::DocumentViewport vp; + + const Okular::Page *page = mDocument->page(pair.pageNumber); + if (!page || !pair.annotation) { + return vp; // Return empty viewport on error + } + + QRect rect = Okular::AnnotationUtils::annotationGeometry(pair.annotation, page->width(), page->height()); + Okular::NormalizedRect nr(rect, (int)page->width(), (int)page->height()); + + vp.pageNumber = pair.pageNumber; + vp.rePos.enabled = true; + vp.rePos.pos = Okular::DocumentViewport::Center; + vp.rePos.normalizedX = (nr.right + nr.left) / 2.0; + vp.rePos.normalizedY = (nr.bottom + nr.top) / 2.0; + + return vp; +} + +void AnnotationPopup::doAddAnnotationBookmark(AnnotPagePair pair) +{ + if (pair.pageNumber != -1) { + Okular::DocumentViewport vp = calculateAnnotationViewport(pair); + QString title = pair.annotation->contents(); + if (title.isEmpty()) { + mDocument->bookmarkManager()->addBookmark(mDocument->currentDocument(), vp); + } else { + mDocument->bookmarkManager()->addBookmark(mDocument->currentDocument(), vp, title); + } + } +} + +void AnnotationPopup::doRemoveAnnotationBookmark(AnnotPagePair pair) +{ + if (pair.pageNumber != -1) { + Okular::DocumentViewport vp = calculateAnnotationViewport(pair); + mDocument->bookmarkManager()->removeBookmark(vp); + } +} diff --git a/part/annotationpopup.h b/part/annotationpopup.h new file mode 100644 index 0000000..b1d0b24 --- /dev/null +++ b/part/annotationpopup.h @@ -0,0 +1,89 @@ +/* + SPDX-FileCopyrightText: 2006 Tobias Koenig + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef ANNOTATIONPOPUP_H +#define ANNOTATIONPOPUP_H + +#include +#include +#include +#include + +class QMenu; + +namespace Okular +{ +class Annotation; +class Document; +class DocumentViewport; +} + +class AnnotationPopup : public QObject +{ + Q_OBJECT + +public: + /** + * Describes the structure of the popup menu. + */ + enum MenuMode { + SingleAnnotationMode, ///< The menu shows only entries to manipulate a single annotation, or multiple annotations as a group. + MultiAnnotationMode ///< The menu shows entries to manipulate multiple annotations. + }; + + AnnotationPopup(Okular::Document *document, MenuMode mode, QWidget *parent = nullptr); + + void addAnnotation(Okular::Annotation *annotation, int pageNumber); + + /* You only need to use this if you don't plan on using exec() */ + void addActionsToMenu(QMenu *menu); + + void exec(const QPoint point = QPoint()); + +Q_SIGNALS: + void openAnnotationWindow(Okular::Annotation *annotation, int pageNumber); + +public: + struct AnnotPagePair { + AnnotPagePair() + : annotation(nullptr) + , pageNumber(-1) + { + } + + AnnotPagePair(Okular::Annotation *a, int pn) + : annotation(a) + , pageNumber(pn) + { + } + + bool operator==(const AnnotPagePair pair) const + { + return annotation == pair.annotation && pageNumber == pair.pageNumber; + } + + Okular::Annotation *annotation; + int pageNumber; + }; + +private: + Okular::DocumentViewport calculateAnnotationViewport(AnnotPagePair pair) const; + void doCopyAnnotation(AnnotPagePair pair); + void doRemovePageAnnotation(AnnotPagePair pair); + void doOpenAnnotationWindow(AnnotPagePair pair); + void doOpenPropertiesDialog(AnnotPagePair pair); + void doSaveEmbeddedFile(AnnotPagePair pair); + void doAddAnnotationBookmark(AnnotPagePair pair); + void doRemoveAnnotationBookmark(AnnotPagePair pair); + + QWidget *mParent; + + QList mAnnotations; + Okular::Document *mDocument; + MenuMode mMenuMode; +}; + +#endif diff --git a/part/annotationpropertiesdialog.cpp b/part/annotationpropertiesdialog.cpp new file mode 100644 index 0000000..e964106 --- /dev/null +++ b/part/annotationpropertiesdialog.cpp @@ -0,0 +1,181 @@ +/* + SPDX-FileCopyrightText: 2006 Chu Xiaodong + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "annotationpropertiesdialog.h" + +// qt/kde includes +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +// local includes +#include "annotationwidgets.h" +#include "core/annotations.h" +#include "core/document.h" +#include "core/page.h" + +AnnotsPropertiesDialog::AnnotsPropertiesDialog(QWidget *parent, Okular::Document *document, int docpage, Okular::Annotation *ann) + : KPageDialog(parent) + , m_document(document) + , m_page(docpage) + , modified(false) +{ + setFaceType(Tabbed); + m_annot = ann; + const bool canEditAnnotations = m_document->canModifyPageAnnotation(ann); + setCaptionTextbyAnnotType(); + if (canEditAnnotations) { + setStandardButtons(QDialogButtonBox::Ok | QDialogButtonBox::Apply | QDialogButtonBox::Cancel); + button(QDialogButtonBox::Apply)->setEnabled(false); + connect(button(QDialogButtonBox::Apply), &QPushButton::clicked, this, &AnnotsPropertiesDialog::slotapply); + connect(button(QDialogButtonBox::Ok), &QPushButton::clicked, this, &AnnotsPropertiesDialog::slotapply); + } else { + setStandardButtons(QDialogButtonBox::Close); + button(QDialogButtonBox::Close)->setDefault(true); + } + + m_annotWidget = AnnotationWidgetFactory::widgetFor(ann); + + QLabel *tmplabel; + // 1. Appearance + // BEGIN tab1 + QWidget *appearanceWidget = m_annotWidget->appearanceWidget(); + appearanceWidget->setEnabled(canEditAnnotations); + addPage(appearanceWidget, i18n("&Appearance")); + // END tab1 + + // BEGIN tab 2 + QFrame *page = new QFrame(this); + addPage(page, i18n("&General")); + // m_tabitem[1]->setIcon( QIcon::fromTheme( "fonts" ) ); + QFormLayout *gridlayout = new QFormLayout(page); + AuthorEdit = new KLineEdit(ann->author(), page); + AuthorEdit->setEnabled(canEditAnnotations); + gridlayout->addRow(i18n("&Author:"), AuthorEdit); + + tmplabel = new QLabel(page); + tmplabel->setText(QLocale().toString(ann->creationDate(), QLocale::LongFormat)); + tmplabel->setTextInteractionFlags(Qt::TextSelectableByMouse); + gridlayout->addRow(i18n("Created:"), tmplabel); + + m_modifyDateLabel = new QLabel(page); + m_modifyDateLabel->setText(QLocale().toString(ann->modificationDate(), QLocale::LongFormat)); + m_modifyDateLabel->setTextInteractionFlags(Qt::TextSelectableByMouse); + gridlayout->addRow(i18n("Modified:"), m_modifyDateLabel); + + // END tab 2 + + QWidget *extraWidget = m_annotWidget->extraWidget(); + if (extraWidget) { + addPage(extraWidget, extraWidget->windowTitle()); + } + + // BEGIN connections + connect(AuthorEdit, &QLineEdit::textChanged, this, &AnnotsPropertiesDialog::setModified); + connect(m_annotWidget, &AnnotationWidget::dataChanged, this, &AnnotsPropertiesDialog::setModified); + // END + +#if 0 + qCDebug(OkularUiDebug) << "Annotation details:"; + qCDebug(OkularUiDebug).nospace() << " => unique name: '" << ann->uniqueName() << "'"; + qCDebug(OkularUiDebug) << " => flags:" << QString::number( m_annot->flags(), 2 ); +#endif + + resize(sizeHint()); +} +AnnotsPropertiesDialog::~AnnotsPropertiesDialog() +{ + delete m_annotWidget; +} + +void AnnotsPropertiesDialog::setCaptionTextbyAnnotType() +{ + Okular::Annotation::SubType type = m_annot->subType(); + QString captiontext; + switch (type) { + case Okular::Annotation::AText: + if (((Okular::TextAnnotation *)m_annot)->textType() == Okular::TextAnnotation::Linked) { + captiontext = i18n("Pop-up Note Properties"); + } else { + if (((Okular::TextAnnotation *)m_annot)->inplaceIntent() == Okular::TextAnnotation::TypeWriter) { + captiontext = i18n("Typewriter Properties"); + } else { + captiontext = i18n("Inline Note Properties"); + } + } + break; + case Okular::Annotation::ALine: + if (((Okular::LineAnnotation *)m_annot)->linePoints().count() == 2) { + captiontext = i18n("Straight Line Properties"); + } else { + captiontext = i18n("Polygon Properties"); + } + break; + case Okular::Annotation::AGeom: + captiontext = i18n("Geometry Properties"); + break; + case Okular::Annotation::AHighlight: + captiontext = i18n("Text Markup Properties"); + break; + case Okular::Annotation::AStamp: + captiontext = i18n("Stamp Properties"); + break; + case Okular::Annotation::AInk: + captiontext = i18n("Freehand Line Properties"); + break; + case Okular::Annotation::ACaret: + captiontext = i18n("Caret Properties"); + break; + case Okular::Annotation::AFileAttachment: + captiontext = i18n("File Attachment Properties"); + break; + case Okular::Annotation::ASound: + captiontext = i18n("Sound Properties"); + break; + case Okular::Annotation::AMovie: + captiontext = i18n("Movie Properties"); + break; + default: + captiontext = i18n("Annotation Properties"); + break; + } + setWindowTitle(captiontext); +} + +void AnnotsPropertiesDialog::setModified() +{ + modified = true; + button(QDialogButtonBox::Apply)->setEnabled(true); +} + +void AnnotsPropertiesDialog::slotapply() +{ + if (!modified) { + return; + } + + m_document->prepareToModifyAnnotationProperties(m_annot); + m_annot->setAuthor(AuthorEdit->text()); + m_annot->setModificationDate(QDateTime::currentDateTime()); + + m_annotWidget->applyChanges(); + + m_document->modifyPageAnnotationProperties(m_page, m_annot); + + m_modifyDateLabel->setText(QLocale().toString(m_annot->modificationDate(), QLocale::LongFormat)); + + modified = false; + button(QDialogButtonBox::Apply)->setEnabled(false); +} + +#include "moc_annotationpropertiesdialog.cpp" diff --git a/part/annotationpropertiesdialog.h b/part/annotationpropertiesdialog.h new file mode 100644 index 0000000..87f9ad8 --- /dev/null +++ b/part/annotationpropertiesdialog.h @@ -0,0 +1,46 @@ +/* + SPDX-FileCopyrightText: 2006 Chu Xiaodong + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _ANNOTATIONPROPERTIESDIALOG_H_ +#define _ANNOTATIONPROPERTIESDIALOG_H_ + +#include + +class QLabel; +class QLineEdit; +class AnnotationWidget; + +namespace Okular +{ +class Annotation; +class Document; +} + +class AnnotsPropertiesDialog : public KPageDialog +{ + Q_OBJECT +public: + AnnotsPropertiesDialog(QWidget *parent, Okular::Document *document, int docpage, Okular::Annotation *ann); + ~AnnotsPropertiesDialog() override; + +private: + Okular::Document *m_document; + int m_page; + bool modified; + Okular::Annotation *m_annot; // source annotation + // dialog widgets: + QLineEdit *AuthorEdit; + AnnotationWidget *m_annotWidget; + QLabel *m_modifyDateLabel; + + void setCaptionTextbyAnnotType(); + +private Q_SLOTS: + void setModified(); + void slotapply(); +}; + +#endif diff --git a/part/annotationproxymodels.cpp b/part/annotationproxymodels.cpp new file mode 100644 index 0000000..56a49ce --- /dev/null +++ b/part/annotationproxymodels.cpp @@ -0,0 +1,708 @@ +/* + SPDX-FileCopyrightText: 2007 Tobias Koenig + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "annotationproxymodels.h" + +#include +#include + +#include + +#include "annotationmodel.h" +#include "gui/debug_ui.h" + +PageFilterProxyModel::PageFilterProxyModel(QObject *parent) + : QSortFilterProxyModel(parent) + , mGroupByCurrentPage(false) + , mCurrentPage(-1) +{ + setDynamicSortFilter(true); +} + +void PageFilterProxyModel::groupByCurrentPage(bool value) +{ + if (mGroupByCurrentPage == value) { + return; + } + + mGroupByCurrentPage = value; + + invalidateFilter(); +} + +void PageFilterProxyModel::setCurrentPage(int page) +{ + if (mCurrentPage == page) { + return; + } + + mCurrentPage = page; + + // no need to invalidate when we're not showing the current page only + if (!mGroupByCurrentPage) { + return; + } + + invalidateFilter(); +} + +bool PageFilterProxyModel::filterAcceptsRow(int row, const QModelIndex &sourceParent) const +{ + if (!mGroupByCurrentPage) { + return true; + } + + const QModelIndex pageIndex = sourceModel()->index(row, 0, sourceParent); + int page = sourceModel()->data(pageIndex, AnnotationModel::PageRole).toInt(); + + return (page == mCurrentPage); +} + +PageGroupProxyModel::PageGroupProxyModel(QObject *parent) + : QAbstractProxyModel(parent) + , mGroupByPage(false) +{ +} + +int PageGroupProxyModel::columnCount(const QModelIndex &parentIndex) const +{ + // For top-level and second level we have always only one column + if (mGroupByPage) { + if (parentIndex.isValid()) { + if (parentIndex.parent().isValid()) { + return 0; + } else { + return 1; // second-level + } + } else { + return 1; // top-level + } + } else { + if (!parentIndex.isValid()) { // top-level + return 1; + } else { + return 0; + } + } + return 1; +} + +int PageGroupProxyModel::rowCount(const QModelIndex &parentIndex) const +{ + if (mGroupByPage) { + if (parentIndex.isValid()) { + if (parentIndex.parent().isValid()) { + return 0; + } else { + return mTreeIndexes[parentIndex.row()].second.count(); // second-level + } + } else { + return mTreeIndexes.count(); // top-level + } + } else { + if (!parentIndex.isValid()) { // top-level + return mIndexes.count(); + } else { + return 0; + } + } +} + +QModelIndex PageGroupProxyModel::index(int row, int column, const QModelIndex &parentIndex) const +{ + if (row < 0 || column != 0) { + return QModelIndex(); + } + + if (mGroupByPage) { + if (parentIndex.isValid()) { + if (parentIndex.row() >= 0 && parentIndex.row() < mTreeIndexes.count() && row < mTreeIndexes[parentIndex.row()].second.count()) { + return createIndex(row, column, qint32(parentIndex.row() + 1)); + } else { + return QModelIndex(); + } + } else { + if (row < mTreeIndexes.count()) { + return createIndex(row, column); + } else { + return QModelIndex(); + } + } + } else { + // We have only top-level items + if (!parentIndex.isValid() && row < mIndexes.count()) { + return createIndex(row, column); + } else { + return QModelIndex(); + } + } +} + +QModelIndex PageGroupProxyModel::parent(const QModelIndex &idx) const +{ + if (mGroupByPage) { + if (idx.internalId() == 0) { // top-level + return QModelIndex(); + } else { + return index(idx.internalId() - 1, idx.column()); + } + } else { + // We have only top-level items + return QModelIndex(); + } +} + +QModelIndex PageGroupProxyModel::mapFromSource(const QModelIndex &sourceIndex) const +{ + if (mGroupByPage) { + if (sourceIndex.parent().isValid()) { + return index(sourceIndex.row(), sourceIndex.column(), sourceIndex.parent()); + } else { + return index(sourceIndex.row(), sourceIndex.column()); + } + } else { + for (int i = 0; i < mIndexes.count(); ++i) { + if (mIndexes[i] == sourceIndex) { + return index(i, 0); + } + } + + return QModelIndex(); + } +} + +QModelIndex PageGroupProxyModel::mapToSource(const QModelIndex &proxyIndex) const +{ + if (!proxyIndex.isValid()) { + return QModelIndex(); + } + + if (mGroupByPage) { + if (proxyIndex.internalId() == 0) { + if (proxyIndex.row() >= mTreeIndexes.count() || proxyIndex.row() < 0) { + return QModelIndex(); + } + + return mTreeIndexes[proxyIndex.row()].first; + } else { + if (qint32(proxyIndex.internalId()) - 1 >= mTreeIndexes.count() || proxyIndex.row() >= mTreeIndexes[proxyIndex.internalId() - 1].second.count()) { + return QModelIndex(); + } + + return mTreeIndexes[proxyIndex.internalId() - 1].second[proxyIndex.row()]; + } + } else { + if (proxyIndex.column() > 0 || proxyIndex.row() >= mIndexes.count()) { + return QModelIndex(); + } else { + return mIndexes[proxyIndex.row()]; + } + } +} + +void PageGroupProxyModel::setSourceModel(QAbstractItemModel *model) +{ + if (sourceModel()) { + disconnect(sourceModel(), &QAbstractItemModel::layoutAboutToBeChanged, this, &PageGroupProxyModel::aboutToRebuild); + disconnect(sourceModel(), &QAbstractItemModel::layoutChanged, this, &PageGroupProxyModel::rebuild); + disconnect(sourceModel(), &QAbstractItemModel::modelAboutToBeReset, this, &PageGroupProxyModel::aboutToRebuild); + disconnect(sourceModel(), &QAbstractItemModel::modelReset, this, &PageGroupProxyModel::rebuild); + disconnect(sourceModel(), &QAbstractItemModel::rowsAboutToBeInserted, this, &PageGroupProxyModel::aboutToRebuild); + disconnect(sourceModel(), &QAbstractItemModel::rowsInserted, this, &PageGroupProxyModel::rebuild); + disconnect(sourceModel(), &QAbstractItemModel::rowsAboutToBeRemoved, this, &PageGroupProxyModel::aboutToRebuild); + disconnect(sourceModel(), &QAbstractItemModel::rowsRemoved, this, &PageGroupProxyModel::rebuild); + disconnect(sourceModel(), &QAbstractItemModel::dataChanged, this, &PageGroupProxyModel::sourceDataChanged); + } + + QAbstractProxyModel::setSourceModel(model); + + connect(sourceModel(), &QAbstractItemModel::layoutAboutToBeChanged, this, &PageGroupProxyModel::aboutToRebuild); + connect(sourceModel(), &QAbstractItemModel::layoutChanged, this, &PageGroupProxyModel::rebuild); + connect(sourceModel(), &QAbstractItemModel::modelAboutToBeReset, this, &PageGroupProxyModel::aboutToRebuild); + connect(sourceModel(), &QAbstractItemModel::modelReset, this, &PageGroupProxyModel::rebuild); + connect(sourceModel(), &QAbstractItemModel::rowsAboutToBeInserted, this, &PageGroupProxyModel::aboutToRebuild); + connect(sourceModel(), &QAbstractItemModel::rowsInserted, this, &PageGroupProxyModel::rebuild); + connect(sourceModel(), &QAbstractItemModel::rowsAboutToBeRemoved, this, &PageGroupProxyModel::aboutToRebuild); + connect(sourceModel(), &QAbstractItemModel::rowsRemoved, this, &PageGroupProxyModel::rebuild); + connect(sourceModel(), &QAbstractItemModel::dataChanged, this, &PageGroupProxyModel::sourceDataChanged); + + rebuildIndexes(); +} + +void PageGroupProxyModel::doRebuildIndexes() +{ + if (mGroupByPage) { + mTreeIndexes.clear(); + + for (int row = 0; row < sourceModel()->rowCount(); ++row) { + const QModelIndex pageIndex = sourceModel()->index(row, 0); + + QList itemIndexes; + for (int subRow = 0; subRow < sourceModel()->rowCount(pageIndex); ++subRow) { + itemIndexes.append(sourceModel()->index(subRow, 0, pageIndex)); + } + + mTreeIndexes.append(QPair>(pageIndex, itemIndexes)); + } + } else { + mIndexes.clear(); + + // Flatten the source model + for (int row = 0; row < sourceModel()->rowCount(); ++row) { + const QModelIndex pageIndex = sourceModel()->index(row, 0); + for (int subRow = 0; subRow < sourceModel()->rowCount(pageIndex); ++subRow) { + mIndexes.append(sourceModel()->index(subRow, 0, pageIndex)); + } + } + } +} + +void PageGroupProxyModel::aboutToRebuild() +{ + beginResetModel(); +} + +void PageGroupProxyModel::rebuild() +{ + doRebuildIndexes(); + endResetModel(); +} + +void PageGroupProxyModel::rebuildIndexes() +{ + aboutToRebuild(); + rebuild(); +} + +void PageGroupProxyModel::sourceDataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QList &roles) +{ + Q_EMIT dataChanged(mapFromSource(topLeft), mapFromSource(bottomRight), roles); +} + +void PageGroupProxyModel::groupByPage(bool value) +{ + if (mGroupByPage == value) { + return; + } + + mGroupByPage = value; + + rebuildIndexes(); +} + +class AuthorGroupItem +{ +public: + enum Type { Page, Author, Annotation }; + + explicit AuthorGroupItem(AuthorGroupItem *parent, Type type = Page, const QModelIndex &index = QModelIndex()) + : mParent(parent) + , mType(type) + , mIndex(index) + { + } + + ~AuthorGroupItem() + { + qDeleteAll(mChilds); + } + + AuthorGroupItem(const AuthorGroupItem &) = delete; + AuthorGroupItem &operator=(const AuthorGroupItem &) = delete; + + void appendChild(AuthorGroupItem *child) + { + mChilds.append(child); + } + AuthorGroupItem *parent() const + { + return mParent; + } + AuthorGroupItem *child(int row) const + { + return mChilds.value(row); + } + int childCount() const + { + return mChilds.count(); + } + + void dump(int level = 0) + { + QString prefix; + for (int i = 0; i < level; ++i) { + prefix += QLatin1Char(' '); + } + + qCDebug(OkularUiDebug, "%s%s", qPrintable(prefix), (mType == Page ? "Page" : (mType == Author ? "Author" : "Annotation"))); + + for (int i = 0; i < mChilds.count(); ++i) { + mChilds[i]->dump(level + 2); + } + } + + const AuthorGroupItem *findIndex(const QModelIndex &index) const + { + if (index == mIndex) { + return this; + } + + for (int i = 0; i < mChilds.count(); ++i) { + const AuthorGroupItem *item = mChilds[i]->findIndex(index); + if (item) { + return item; + } + } + + return nullptr; + } + + int row() const + { + return (mParent ? mParent->mChilds.indexOf(const_cast(this)) : 0); + } + + Type type() const + { + return mType; + } + QModelIndex index() const + { + return mIndex; + } + + void setAuthor(const QString &author) + { + mAuthor = author; + } + QString author() const + { + return mAuthor; + } + +private: + AuthorGroupItem *mParent; + Type mType; + QModelIndex mIndex; + QList mChilds; + QString mAuthor; +}; + +class AuthorGroupProxyModel::Private +{ +public: + explicit Private(AuthorGroupProxyModel *parent) + : mParent(parent) + , mRoot(nullptr) + , mGroupByAuthor(false) + { + } + ~Private() + { + delete mRoot; + } + + AuthorGroupProxyModel *mParent; + AuthorGroupItem *mRoot; + bool mGroupByAuthor; +}; + +AuthorGroupProxyModel::AuthorGroupProxyModel(QObject *parent) + : QAbstractProxyModel(parent) + , d(new Private(this)) +{ +} + +AuthorGroupProxyModel::~AuthorGroupProxyModel() +{ + delete d; +} + +int AuthorGroupProxyModel::columnCount(const QModelIndex &) const +{ + return 1; +} + +int AuthorGroupProxyModel::rowCount(const QModelIndex &parentIndex) const +{ + AuthorGroupItem *item = nullptr; + if (!parentIndex.isValid()) { + item = d->mRoot; + } else { + item = static_cast(parentIndex.internalPointer()); + } + + return item ? item->childCount() : 0; +} + +QModelIndex AuthorGroupProxyModel::index(int row, int column, const QModelIndex &parentIndex) const +{ + if (!hasIndex(row, column, parentIndex)) { + return QModelIndex(); + } + + AuthorGroupItem *parentItem = nullptr; + if (!parentIndex.isValid()) { + parentItem = d->mRoot; + } else { + parentItem = static_cast(parentIndex.internalPointer()); + } + + AuthorGroupItem *child = parentItem->child(row); + if (child) { + return createIndex(row, column, child); + } else { + return QModelIndex(); + } +} + +QModelIndex AuthorGroupProxyModel::parent(const QModelIndex &index) const +{ + if (!index.isValid()) { + return QModelIndex(); + } + + AuthorGroupItem *childItem = static_cast(index.internalPointer()); + AuthorGroupItem *parentItem = childItem->parent(); + + if (parentItem == d->mRoot) { + return QModelIndex(); + } else { + return createIndex(parentItem->row(), 0, parentItem); + } +} + +QModelIndex AuthorGroupProxyModel::mapFromSource(const QModelIndex &sourceIndex) const +{ + if (!sourceIndex.isValid()) { + return QModelIndex(); + } + + const AuthorGroupItem *item = d->mRoot->findIndex(sourceIndex); + if (!item) { + return QModelIndex(); + } + + return createIndex(item->row(), 0, const_cast(item)); +} + +QModelIndex AuthorGroupProxyModel::mapToSource(const QModelIndex &proxyIndex) const +{ + if (!proxyIndex.isValid()) { + return QModelIndex(); + } + + const AuthorGroupItem *item = static_cast(proxyIndex.internalPointer()); + + return item->index(); +} + +void AuthorGroupProxyModel::setSourceModel(QAbstractItemModel *model) +{ + if (sourceModel()) { + disconnect(sourceModel(), &QAbstractItemModel::layoutAboutToBeChanged, this, &AuthorGroupProxyModel::aboutToRebuild); + disconnect(sourceModel(), &QAbstractItemModel::layoutChanged, this, &AuthorGroupProxyModel::rebuild); + disconnect(sourceModel(), &QAbstractItemModel::modelAboutToBeReset, this, &AuthorGroupProxyModel::aboutToRebuild); + disconnect(sourceModel(), &QAbstractItemModel::modelReset, this, &AuthorGroupProxyModel::rebuild); + disconnect(sourceModel(), &QAbstractItemModel::rowsAboutToBeInserted, this, &AuthorGroupProxyModel::aboutToRebuild); + disconnect(sourceModel(), &QAbstractItemModel::rowsInserted, this, &AuthorGroupProxyModel::rebuild); + disconnect(sourceModel(), &QAbstractItemModel::rowsAboutToBeRemoved, this, &AuthorGroupProxyModel::aboutToRebuild); + disconnect(sourceModel(), &QAbstractItemModel::rowsRemoved, this, &AuthorGroupProxyModel::rebuild); + disconnect(sourceModel(), &QAbstractItemModel::dataChanged, this, &AuthorGroupProxyModel::sourceDataChanged); + } + + QAbstractProxyModel::setSourceModel(model); + + connect(sourceModel(), &QAbstractItemModel::layoutAboutToBeChanged, this, &AuthorGroupProxyModel::aboutToRebuild); + connect(sourceModel(), &QAbstractItemModel::layoutChanged, this, &AuthorGroupProxyModel::rebuild); + connect(sourceModel(), &QAbstractItemModel::modelAboutToBeReset, this, &AuthorGroupProxyModel::aboutToRebuild); + connect(sourceModel(), &QAbstractItemModel::modelReset, this, &AuthorGroupProxyModel::rebuild); + connect(sourceModel(), &QAbstractItemModel::rowsAboutToBeInserted, this, &AuthorGroupProxyModel::aboutToRebuild); + connect(sourceModel(), &QAbstractItemModel::rowsInserted, this, &AuthorGroupProxyModel::rebuild); + connect(sourceModel(), &QAbstractItemModel::rowsAboutToBeRemoved, this, &AuthorGroupProxyModel::aboutToRebuild); + connect(sourceModel(), &QAbstractItemModel::rowsRemoved, this, &AuthorGroupProxyModel::rebuild); + connect(sourceModel(), &QAbstractItemModel::dataChanged, this, &AuthorGroupProxyModel::sourceDataChanged); + + rebuildIndexes(); +} + +static bool isAuthorItem(const QModelIndex &index) +{ + if (!index.isValid()) { + return false; + } + + const AuthorGroupItem *item = static_cast(index.internalPointer()); + return (item->type() == AuthorGroupItem::Author); +} + +QItemSelection AuthorGroupProxyModel::mapSelectionToSource(const QItemSelection &selection) const +{ + const QModelIndexList proxyIndexes = selection.indexes(); + QItemSelection sourceSelection; + for (const QModelIndex &proxyIndex : proxyIndexes) { + if (!isAuthorItem(proxyIndex)) { + sourceSelection << QItemSelectionRange(mapToSource(proxyIndex)); + } + } + + return sourceSelection; +} + +QItemSelection AuthorGroupProxyModel::mapSelectionFromSource(const QItemSelection &selection) const +{ + return QAbstractProxyModel::mapSelectionFromSource(selection); +} + +QVariant AuthorGroupProxyModel::data(const QModelIndex &proxyIndex, int role) const +{ + if (isAuthorItem(proxyIndex)) { + const AuthorGroupItem *item = static_cast(proxyIndex.internalPointer()); + if (role == Qt::DisplayRole) { + return item->author(); + } else if (role == Qt::DecorationRole) { + return QIcon::fromTheme(item->author().isEmpty() ? QStringLiteral("user-away") : QStringLiteral("user-identity")); + } else { + return QVariant(); + } + } else { + return QAbstractProxyModel::data(proxyIndex, role); + } +} + +QMap AuthorGroupProxyModel::itemData(const QModelIndex &index) const +{ + if (isAuthorItem(index)) { + return QMap(); + } else { + return QAbstractProxyModel::itemData(index); + } +} + +Qt::ItemFlags AuthorGroupProxyModel::flags(const QModelIndex &index) const +{ + if (isAuthorItem(index)) { + return Qt::ItemIsEnabled | Qt::ItemIsSelectable; + } else { + return QAbstractProxyModel::flags(index); + } +} + +void AuthorGroupProxyModel::groupByAuthor(bool value) +{ + if (d->mGroupByAuthor == value) { + return; + } + + d->mGroupByAuthor = value; + + rebuildIndexes(); +} + +void AuthorGroupProxyModel::doRebuildIndexes() +{ + delete d->mRoot; + d->mRoot = new AuthorGroupItem(nullptr); + + if (d->mGroupByAuthor) { + QMap authorMap; + + for (int row = 0; row < sourceModel()->rowCount(); ++row) { + const QModelIndex idx = sourceModel()->index(row, 0); + const QString author = sourceModel()->data(idx, AnnotationModel::AuthorRole).toString(); + if (!author.isEmpty()) { + // We have the annotations as top-level, so introduce authors as new + // top-levels and append the annotations + AuthorGroupItem *authorItem = authorMap.value(author, nullptr); + if (!authorItem) { + authorItem = new AuthorGroupItem(d->mRoot, AuthorGroupItem::Author); + authorItem->setAuthor(author); + + // Add item to tree + d->mRoot->appendChild(authorItem); + + // Insert to lookup list + authorMap.insert(author, authorItem); + } + + AuthorGroupItem *item = new AuthorGroupItem(authorItem, AuthorGroupItem::Annotation, idx); + authorItem->appendChild(item); + } else { + // We have the pages as top-level, so we use them as top-level, append the + // authors for all annotations of the page, and then the annotations themself + AuthorGroupItem *pageItem = new AuthorGroupItem(d->mRoot, AuthorGroupItem::Page, idx); + d->mRoot->appendChild(pageItem); + + // First collect all authors... + QMap pageAuthorMap; + for (int subRow = 0; subRow < sourceModel()->rowCount(idx); ++subRow) { + const QModelIndex annIdx = sourceModel()->index(subRow, 0, idx); + const QString pageAuthor = sourceModel()->data(annIdx, AnnotationModel::AuthorRole).toString(); + + AuthorGroupItem *authorItem = pageAuthorMap.value(pageAuthor, nullptr); + if (!authorItem) { + authorItem = new AuthorGroupItem(pageItem, AuthorGroupItem::Author); + authorItem->setAuthor(pageAuthor); + + // Add item to tree + pageItem->appendChild(authorItem); + + // Insert to lookup list + pageAuthorMap.insert(pageAuthor, authorItem); + } + + AuthorGroupItem *item = new AuthorGroupItem(authorItem, AuthorGroupItem::Annotation, annIdx); + authorItem->appendChild(item); + } + } + } + } else { + for (int row = 0; row < sourceModel()->rowCount(); ++row) { + const QModelIndex idx = sourceModel()->index(row, 0); + const QString author = sourceModel()->data(idx, AnnotationModel::AuthorRole).toString(); + if (!author.isEmpty()) { + // We have the annotations as top-level items + AuthorGroupItem *item = new AuthorGroupItem(d->mRoot, AuthorGroupItem::Annotation, idx); + d->mRoot->appendChild(item); + } else { + // We have the pages as top-level items + AuthorGroupItem *pageItem = new AuthorGroupItem(d->mRoot, AuthorGroupItem::Page, idx); + d->mRoot->appendChild(pageItem); + + // Append all annotations as second-level + for (int subRow = 0; subRow < sourceModel()->rowCount(idx); ++subRow) { + const QModelIndex subIdx = sourceModel()->index(subRow, 0, idx); + AuthorGroupItem *item = new AuthorGroupItem(pageItem, AuthorGroupItem::Annotation, subIdx); + pageItem->appendChild(item); + } + } + } + } +} + +void AuthorGroupProxyModel::aboutToRebuild() +{ + beginResetModel(); +} + +void AuthorGroupProxyModel::rebuild() +{ + doRebuildIndexes(); + endResetModel(); +} + +void AuthorGroupProxyModel::rebuildIndexes() +{ + aboutToRebuild(); + rebuild(); +} + +void AuthorGroupProxyModel::sourceDataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QList &roles) +{ + Q_EMIT dataChanged(mapFromSource(topLeft), mapFromSource(bottomRight), roles); +} + +#include "moc_annotationproxymodels.cpp" diff --git a/part/annotationproxymodels.h b/part/annotationproxymodels.h new file mode 100644 index 0000000..6ed65db --- /dev/null +++ b/part/annotationproxymodels.h @@ -0,0 +1,150 @@ +/* + SPDX-FileCopyrightText: 2007 Tobias Koenig + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef ANNOTATIONPROXYMODEL_H +#define ANNOTATIONPROXYMODEL_H + +#include +#include + +/** + * A proxy model, which filters out all pages except the + * current one. + */ +class PageFilterProxyModel : public QSortFilterProxyModel +{ + Q_OBJECT + +public: + /** + * Creates a new page filter proxy model. + * + * @param parent The parent object. + */ + explicit PageFilterProxyModel(QObject *parent = nullptr); + + /** + * Reimplemented from QSortFilterProxy. + */ + bool filterAcceptsRow(int, const QModelIndex &) const override; + +public Q_SLOTS: + /** + * Sets whether the proxy model shall filter + * by current page. + */ + void groupByCurrentPage(bool value); + + /** + * Sets the current page. + */ + void setCurrentPage(int page); + +private: + bool mGroupByCurrentPage; + int mCurrentPage; +}; + +/** + * A proxy model which either groups the annotations by + * pages or shows them all as list. + */ +class PageGroupProxyModel : public QAbstractProxyModel +{ + Q_OBJECT + +public: + /** + * Creates a new page group proxy model. + * + * @param parent The parent object. + */ + explicit PageGroupProxyModel(QObject *parent = nullptr); + + int columnCount(const QModelIndex &parentIndex) const override; + int rowCount(const QModelIndex &parentIndex) const override; + + QModelIndex index(int row, int column, const QModelIndex &parentIndex = QModelIndex()) const override; + QModelIndex parent(const QModelIndex &idx) const override; + + QModelIndex mapFromSource(const QModelIndex &sourceIndex) const override; + QModelIndex mapToSource(const QModelIndex &proxyIndex) const override; + + void setSourceModel(QAbstractItemModel *model) override; + +public Q_SLOTS: + /** + * Sets whether the proxy model shall group + * the annotations by page. + */ + void groupByPage(bool value); + +private Q_SLOTS: + void rebuildIndexes(); + void doRebuildIndexes(); + void aboutToRebuild(); + void rebuild(); + void sourceDataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QList &roles); + +private: + bool mGroupByPage; + QList mIndexes; + QList>> mTreeIndexes; +}; + +/** + * A proxy model which groups the annotations by author. + */ +class AuthorGroupProxyModel : public QAbstractProxyModel +{ + Q_OBJECT + +public: + /** + * Creates a new author group proxy model. + * + * @param parent The parent object. + */ + explicit AuthorGroupProxyModel(QObject *parent = nullptr); + ~AuthorGroupProxyModel() override; + + int columnCount(const QModelIndex &parentIndex) const override; + int rowCount(const QModelIndex &parentIndex) const override; + + QModelIndex index(int row, int column, const QModelIndex &parentIndex = QModelIndex()) const override; + QModelIndex parent(const QModelIndex &index) const override; + + QModelIndex mapFromSource(const QModelIndex &sourceIndex) const override; + QModelIndex mapToSource(const QModelIndex &proxyIndex) const override; + + void setSourceModel(QAbstractItemModel *model) override; + + QItemSelection mapSelectionToSource(const QItemSelection &selection) const override; + QItemSelection mapSelectionFromSource(const QItemSelection &selection) const override; + QVariant data(const QModelIndex &proxyIndex, int role = Qt::DisplayRole) const override; + QMap itemData(const QModelIndex &index) const override; + Qt::ItemFlags flags(const QModelIndex &index) const override; + +public Q_SLOTS: + /** + * Sets whether the proxy model shall group + * the annotations by author. + */ + void groupByAuthor(bool value); + +private Q_SLOTS: + void rebuildIndexes(); + void doRebuildIndexes(); + void aboutToRebuild(); + void rebuild(); + void sourceDataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QList &roles); + +private: + class Private; + Private *const d; +}; + +#endif diff --git a/part/annotationtools.cpp b/part/annotationtools.cpp new file mode 100644 index 0000000..ea6dff3 --- /dev/null +++ b/part/annotationtools.cpp @@ -0,0 +1,242 @@ +/* + SPDX-FileCopyrightText: 2005 Enrico Ros + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "annotationtools.h" + +// qt / kde includes +#include +#include +#include +#include + +// local includes +#include "core/annotations.h" + +AnnotatorEngine::AnnotatorEngine(const QDomElement &engineElement) + : m_engineElement(engineElement) + , m_creationCompleted(false) + , m_item(nullptr) +{ + // parse common engine attributes + if (engineElement.hasAttribute(QStringLiteral("color"))) { + m_engineColor = QColor(engineElement.attribute(QStringLiteral("color"))); + } + + // get the annotation element + QDomElement annElement = m_engineElement.firstChild().toElement(); + if (!annElement.isNull() && annElement.tagName() == QLatin1String("annotation")) { + m_annotElement = annElement; + } +} + +void AnnotatorEngine::decodeEvent(const QMouseEvent *mouseEvent, EventType *eventType, Button *button) +{ + *eventType = AnnotatorEngine::Press; + if (mouseEvent->type() == QEvent::MouseMove) { + *eventType = AnnotatorEngine::Move; + } else if (mouseEvent->type() == QEvent::MouseButtonRelease) { + *eventType = AnnotatorEngine::Release; + } + + *button = AnnotatorEngine::None; + const Qt::MouseButtons buttonState = (*eventType == AnnotatorEngine::Move) ? mouseEvent->buttons() : mouseEvent->button(); + if (buttonState == Qt::LeftButton) { + *button = AnnotatorEngine::Left; + } else if (buttonState == Qt::RightButton) { + *button = AnnotatorEngine::Right; + } +} + +void AnnotatorEngine::decodeEvent(const QTabletEvent *tabletEvent, EventType *eventType, Button *button) +{ + switch (tabletEvent->type()) { + case QEvent::TabletPress: + // Tablet press event is equivalent to pressing the left mouse button + *button = AnnotatorEngine::Left; + *eventType = AnnotatorEngine::Press; + break; + case QEvent::TabletRelease: + // Tablet release event is equivalent to releasing the left mouse button + *button = AnnotatorEngine::Left; + *eventType = AnnotatorEngine::Release; + break; + case QEvent::TabletMove: + // Tablet events are only routed if the pen is down so + // this is equivalent to the left mouse button being pressed + *button = AnnotatorEngine::Left; + *eventType = AnnotatorEngine::Move; + break; + default: + Q_ASSERT(false); + break; + } +} + +AnnotatorEngine::~AnnotatorEngine() +{ +} + +QCursor AnnotatorEngine::cursor() const +{ + return Qt::CrossCursor; +} + +SmoothPath::SmoothPath(const QList &points, const QPen &pen, qreal opacity, QPainter::CompositionMode compositionMode) + : points(points) + , pen(pen) + , opacity(opacity) + , compositionMode(compositionMode) +{ +} + +/** SmoothPathEngine */ +SmoothPathEngine::SmoothPathEngine(const QDomElement &engineElement) + : AnnotatorEngine(engineElement) + , compositionMode(QPainter::CompositionMode_SourceOver) +{ + // parse engine specific attributes + if (engineElement.attribute(QStringLiteral("compositionMode"), QStringLiteral("sourceOver")) == QLatin1String("clear")) { + compositionMode = QPainter::CompositionMode_Clear; + } +} + +QRect SmoothPathEngine::event(EventType type, Button button, Modifiers /*modifiers*/, double nX, double nY, double xScale, double yScale, const Okular::Page * /*page*/) +{ + // only proceed if pressing left button + if (button != Left) { + return QRect(); + } + + // start operation + if (type == Press && points.isEmpty()) { + lastPoint.x = nX; + lastPoint.y = nY; + totalRect.left = totalRect.right = lastPoint.x; + totalRect.top = totalRect.bottom = lastPoint.y; + points.append(lastPoint); + } + // add a point to the path + else if (type == Move && points.count() > 0) { + // double dist = hypot( nX - points.last().x, nY - points.last().y ); + // if ( dist > 0.0001 ) + //{ + // append mouse position (as normalized point) to the list + Okular::NormalizedPoint nextPoint = Okular::NormalizedPoint(nX, nY); + points.append(nextPoint); + // update total rect + totalRect.left = qMin(totalRect.left, nX); + totalRect.top = qMin(totalRect.top, nY); + totalRect.right = qMax(nX, totalRect.right); + totalRect.bottom = qMax(nY, totalRect.bottom); + // paint the difference to previous full rect + Okular::NormalizedRect incrementalRect; + incrementalRect.left = qMin(nextPoint.x, lastPoint.x); + incrementalRect.right = qMax(nextPoint.x, lastPoint.x); + incrementalRect.top = qMin(nextPoint.y, lastPoint.y); + incrementalRect.bottom = qMax(nextPoint.y, lastPoint.y); + lastPoint = nextPoint; + return incrementalRect.geometry((int)xScale, (int)yScale); + //} + } + // terminate process + else if (type == Release && points.count() > 0) { + if (points.count() < 2) { + points.clear(); + } else { + m_creationCompleted = true; + } + return totalRect.geometry((int)xScale, (int)yScale); + } + return QRect(); +} + +void SmoothPathEngine::paint(QPainter *painter, double xScale, double yScale, const QRect & /*clipRect*/) +{ + const double penWidth = m_annotElement.attribute(QStringLiteral("width"), QStringLiteral("1")).toInt(); + const qreal opacity = m_annotElement.attribute(QStringLiteral("opacity"), QStringLiteral("1.0")).toDouble(); + + // use engine's color for painting + const SmoothPath path(points, QPen(m_engineColor, penWidth), opacity, compositionMode); + + // draw the path + path.paint(painter, xScale, yScale); +} + +void SmoothPath::paint(QPainter *painter, double xScale, double yScale) const +{ + // draw SmoothPaths with at least 2 points + if (points.count() > 1) { + painter->setCompositionMode(compositionMode); + painter->setPen(pen); + painter->setOpacity(opacity); + + QPainterPath path; + QList::const_iterator pIt = points.begin(), pEnd = points.end(); + path.moveTo(QPointF(pIt->x * xScale, pIt->y * yScale)); + ++pIt; + for (; pIt != pEnd; ++pIt) { + path.lineTo(QPointF(pIt->x * xScale, pIt->y * yScale)); + } + painter->drawPath(path); + } +} + +QList SmoothPathEngine::end() +{ + m_creationCompleted = false; + + // find out annotation's description node + if (m_annotElement.isNull()) { + return QList(); + } + + // find out annotation's type + Okular::Annotation *ann = nullptr; + QString typeString = m_annotElement.attribute(QStringLiteral("type")); + + // create InkAnnotation from path + if (typeString == QLatin1String("Ink")) { + Okular::InkAnnotation *ia = new Okular::InkAnnotation(); + ann = ia; + if (m_annotElement.hasAttribute(QStringLiteral("width"))) { + ann->style().setWidth(m_annotElement.attribute(QStringLiteral("width")).toDouble()); + } + // fill points + QList> list = ia->inkPaths(); + list.append(points); + ia->setInkPaths(list); + // set boundaries + ia->setBoundingRectangle(totalRect); + } + + // safety check + if (!ann) { + return QList(); + } + + // set common attributes + ann->style().setColor(m_annotElement.hasAttribute(QStringLiteral("color")) ? m_annotElement.attribute(QStringLiteral("color")) : m_engineColor); + if (m_annotElement.hasAttribute(QStringLiteral("opacity"))) { + ann->style().setOpacity(m_annotElement.attribute(QStringLiteral("opacity"), QStringLiteral("1.0")).toDouble()); + } + + // return annotation + return QList() << ann; +} + +SmoothPath SmoothPathEngine::endSmoothPath() +{ + m_creationCompleted = false; + + QColor color(m_annotElement.hasAttribute(QStringLiteral("color")) ? m_annotElement.attribute(QStringLiteral("color")) : m_engineColor); + + const int width = m_annotElement.attribute(QStringLiteral("width"), QStringLiteral("2")).toInt(); + const qreal opacity = m_annotElement.attribute(QStringLiteral("opacity"), QStringLiteral("1.0")).toDouble(); + + return SmoothPath(points, QPen(color, width), opacity, compositionMode); +} + +/* kate: replace-tabs on; indent-width 4; */ diff --git a/part/annotationtools.h b/part/annotationtools.h new file mode 100644 index 0000000..9a66462 --- /dev/null +++ b/part/annotationtools.h @@ -0,0 +1,122 @@ +/* + SPDX-FileCopyrightText: 2005 Enrico Ros + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_ANNOTATIONTOOLS_H_ +#define _OKULAR_ANNOTATIONTOOLS_H_ + +#include +#include +#include +#include + +#include "core/area.h" + +class QMouseEvent; +class QTabletEvent; +class PageViewItem; +namespace Okular +{ +class Annotation; +class Page; +} + +/** + * @short Engine: filter events to distill Annotations. + */ +class AnnotatorEngine +{ +public: + explicit AnnotatorEngine(const QDomElement &engineElement); + virtual ~AnnotatorEngine(); + + AnnotatorEngine(const AnnotatorEngine &) = delete; + AnnotatorEngine &operator=(const AnnotatorEngine &) = delete; + + // enum definitions + enum EventType { Press, Move, Release }; + enum Button { None, Left, Right }; + /** To tell the annotator engine about modifier keys and other special wishes */ + struct Modifiers { + bool constrainRatioAndAngle = false; ///< Whether the engine shall snap to certain angles, if supported. + }; + + // perform operations + virtual QRect event(EventType type, Button button, Modifiers modifiers, double nX, double nY, double xScale, double yScale, const Okular::Page *page) = 0; + virtual void paint(QPainter *painter, double xScale, double yScale, const QRect &clipRect) = 0; + virtual QList end() = 0; + + // query creation state + // PageViewItem * editingItem() const { return m_lockedItem; } + bool creationCompleted() const + { + return m_creationCompleted; + } + + void setItem(PageViewItem *item) + { + m_item = item; + } + + static void decodeEvent(const QMouseEvent *mouseEvent, EventType *eventType, Button *button); + static void decodeEvent(const QTabletEvent *tabletEvent, EventType *eventType, Button *button); + + virtual QCursor cursor() const; + +protected: + PageViewItem *item() + { + return m_item; + } + + // common engine attributes (the element includes annotation desc) + QDomElement m_engineElement; + QDomElement m_annotElement; + QColor m_engineColor; + // other vars (remove this!) + bool m_creationCompleted; + +private: + PageViewItem *m_item; +}; + +class SmoothPath +{ +public: + SmoothPath(const QList &points, const QPen &pen, qreal opacity = 1.0, QPainter::CompositionMode compositionMode = QPainter::CompositionMode_SourceOver); + void paint(QPainter *painter, double xScale, double yScale) const; + +private: + const QList points; + const QPen pen; + const qreal opacity; + const QPainter::CompositionMode compositionMode; +}; + +/** @short SmoothPathEngine */ +class SmoothPathEngine : public AnnotatorEngine +{ +public: + explicit SmoothPathEngine(const QDomElement &engineElement); + + QRect event(EventType type, Button button, Modifiers modifiers, double nX, double nY, double xScale, double yScale, const Okular::Page * /*page*/) override; + + void paint(QPainter *painter, double xScale, double yScale, const QRect & /*clipRect*/) override; + + // These are two alternative ways to get the resulting path. Don't call them both! + QList end() override; + SmoothPath endSmoothPath(); + +private: + // data + QList points; + Okular::NormalizedRect totalRect; + Okular::NormalizedPoint lastPoint; + QPainter::CompositionMode compositionMode; +}; + +#endif + +/* kate: replace-tabs on; indent-width 4; */ diff --git a/part/annotationwidgets.cpp b/part/annotationwidgets.cpp new file mode 100644 index 0000000..dac3fa5 --- /dev/null +++ b/part/annotationwidgets.cpp @@ -0,0 +1,858 @@ +/* + SPDX-FileCopyrightText: 2006 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "annotationwidgets.h" + +// qt/kde includes +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "core/annotations.h" +#include "core/annotations_p.h" +#include "core/document.h" +#include "core/document_p.h" +#include "core/page_p.h" +#include "gui/guiutils.h" +#include "gui/pagepainter.h" + +#define FILEATTACH_ICONSIZE 48 + +PixmapPreviewSelector::PixmapPreviewSelector(QWidget *parent, PreviewPosition position) + : QWidget(parent) + , m_previewPosition(position) +{ + QVBoxLayout *mainlay = new QVBoxLayout(this); + mainlay->setContentsMargins(0, 0, 0, 0); + QHBoxLayout *toplay = new QHBoxLayout; + toplay->setContentsMargins(0, 0, 0, 0); + mainlay->addLayout(toplay); + m_comboItems = new KComboBox(this); + toplay->addWidget(m_comboItems); + m_stampPushButton = new QPushButton(QIcon::fromTheme(QStringLiteral("document-open")), QString(), this); + m_stampPushButton->setVisible(false); + m_stampPushButton->setToolTip(i18nc("@info:tooltip", "Select a custom stamp symbol from file")); + toplay->addWidget(m_stampPushButton); + m_iconLabel = new QLabel(this); + switch (m_previewPosition) { + case Side: + toplay->addWidget(m_iconLabel); + break; + case Below: + mainlay->addWidget(m_iconLabel); + mainlay->setAlignment(m_iconLabel, Qt::AlignHCenter); + break; + } + m_iconLabel->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); + m_iconLabel->setAlignment(Qt::AlignCenter); + m_iconLabel->setFrameStyle(QFrame::StyledPanel); + setPreviewSize(32); + + setFocusPolicy(Qt::TabFocus); + setFocusProxy(m_comboItems); + + connect(m_comboItems, &QComboBox::currentIndexChanged, this, [this](int index) { iconComboChanged(m_comboItems->itemText(index)); }); + connect(m_comboItems, &QComboBox::editTextChanged, this, &PixmapPreviewSelector::iconComboChanged); + connect(m_stampPushButton, &QPushButton::clicked, this, &PixmapPreviewSelector::selectCustomStamp); +} + +PixmapPreviewSelector::~PixmapPreviewSelector() +{ +} + +void PixmapPreviewSelector::setIcon(const QString &icon) +{ + int id = m_comboItems->findData(QVariant(icon), Qt::UserRole, Qt::MatchFixedString); + if (id == -1) { + id = m_comboItems->findText(icon, Qt::MatchFixedString); + } + if (id > -1) { + m_comboItems->setCurrentIndex(id); + } else if (m_comboItems->isEditable()) { + m_comboItems->addItem(icon, QVariant(icon)); + m_comboItems->setCurrentIndex(m_comboItems->findText(icon, Qt::MatchFixedString)); + } +} + +QString PixmapPreviewSelector::icon() const +{ + return m_icon; +} + +void PixmapPreviewSelector::addItem(const QString &item, const QString &id) +{ + m_comboItems->addItem(item, QVariant(id)); + setIcon(m_icon); +} + +void PixmapPreviewSelector::setPreviewSize(int size) +{ + m_previewSize = size; + switch (m_previewPosition) { + case Side: + m_iconLabel->setFixedSize(m_previewSize + 8, m_previewSize + 8); + break; + case Below: + m_iconLabel->setFixedSize(3 * m_previewSize + 8, m_previewSize + 8); + break; + } + iconComboChanged(m_icon); +} + +int PixmapPreviewSelector::previewSize() const +{ + return m_previewSize; +} + +void PixmapPreviewSelector::setEditable(bool editable) +{ + m_comboItems->setEditable(editable); + m_stampPushButton->setVisible(editable); +} + +void PixmapPreviewSelector::iconComboChanged(const QString &icon) +{ + int id = m_comboItems->findText(icon, Qt::MatchFixedString); + if (id >= 0) { + m_icon = m_comboItems->itemData(id).toString(); + } else { + m_icon = icon; + } + + const QRect cr = m_iconLabel->contentsRect(); + QPixmap pixmap = Okular::AnnotationUtils::loadStamp(m_icon, cr.size()); + m_iconLabel->setPixmap(pixmap); + + Q_EMIT iconChanged(m_icon); +} + +void PixmapPreviewSelector::selectCustomStamp() +{ + const QString customStampFile = QFileDialog::getOpenFileName(this, i18nc("@title:window file chooser", "Select custom stamp symbol"), QString(), i18n("*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)")); + if (!customStampFile.isEmpty()) { + QPixmap pixmap = Okular::AnnotationUtils::loadStamp(customStampFile, QSize(m_previewSize, m_previewSize)); + if (pixmap.isNull()) { + KMessageBox::error(this, xi18nc("@info", "Could not load the file %1", customStampFile), i18nc("@title:window", "Invalid file")); + } else { + m_comboItems->setEditText(customStampFile); + } + } +} + +AnnotationWidget *AnnotationWidgetFactory::widgetFor(Okular::Annotation *ann) +{ + switch (ann->subType()) { + case Okular::Annotation::AStamp: + return new StampAnnotationWidget(ann); + break; + case Okular::Annotation::AText: + return new TextAnnotationWidget(ann); + break; + case Okular::Annotation::ALine: + return new LineAnnotationWidget(ann); + break; + case Okular::Annotation::AHighlight: + return new HighlightAnnotationWidget(ann); + break; + case Okular::Annotation::AInk: + return new InkAnnotationWidget(ann); + break; + case Okular::Annotation::AGeom: + return new GeomAnnotationWidget(ann); + break; + case Okular::Annotation::AFileAttachment: + return new FileAttachmentAnnotationWidget(ann); + break; + case Okular::Annotation::ACaret: + return new CaretAnnotationWidget(ann); + break; + // shut up gcc + default:; + } + // cases not covered yet: return a generic widget + return new AnnotationWidget(ann); +} + +AnnotationWidget::AnnotationWidget(Okular::Annotation *ann) + : m_typeEditable(true) + , m_ann(ann) +{ +} + +AnnotationWidget::~AnnotationWidget() +{ +} + +Okular::Annotation::SubType AnnotationWidget::annotationType() const +{ + return m_ann->subType(); +} + +QWidget *AnnotationWidget::appearanceWidget() +{ + if (m_appearanceWidget) { + return m_appearanceWidget; + } + + m_appearanceWidget = createAppearanceWidget(); + return m_appearanceWidget; +} + +QWidget *AnnotationWidget::extraWidget() +{ + if (m_extraWidget) { + return m_extraWidget; + } + + m_extraWidget = createExtraWidget(); + return m_extraWidget; +} + +void AnnotationWidget::applyChanges() +{ + if (m_colorBn) { + m_ann->style().setColor(m_colorBn->color()); + } + if (m_opacity) { + m_ann->style().setOpacity((double)m_opacity->value() / 100.0); + } +} + +QWidget *AnnotationWidget::createAppearanceWidget() +{ + QWidget *widget = new QWidget(); + QFormLayout *formlayout = new QFormLayout(widget); + formlayout->setLabelAlignment(Qt::AlignRight); + formlayout->setFieldGrowthPolicy(QFormLayout::AllNonFixedFieldsGrow); + + createStyleWidget(formlayout); + + return widget; +} + +void AnnotationWidget::createStyleWidget(QFormLayout *formlayout) +{ + Q_UNUSED(formlayout); +} + +void AnnotationWidget::addColorButton(QWidget *widget, QFormLayout *formlayout) +{ + m_colorBn = new KColorButton(widget); + m_colorBn->setColor(m_ann->style().color()); + formlayout->addRow(i18n("&Color:"), m_colorBn); + connect(m_colorBn, &KColorButton::changed, this, &AnnotationWidget::dataChanged); +} + +void AnnotationWidget::addOpacitySpinBox(QWidget *widget, QFormLayout *formlayout) +{ + m_opacity = new QSpinBox(widget); + m_opacity->setRange(0, 100); + m_opacity->setValue((int)(m_ann->style().opacity() * 100)); + KLocalization::setupSpinBoxFormatString(m_opacity, ki18nc("@label:spinbox Suffix for the opacity level, e.g. '80%'", "%v%")); + formlayout->addRow(i18n("&Opacity:"), m_opacity); + connect(m_opacity, QOverload::of(&QSpinBox::valueChanged), this, &AnnotationWidget::dataChanged); +} + +void AnnotationWidget::addVerticalSpacer(QFormLayout *formlayout) +{ + formlayout->addItem(new QSpacerItem(0, 5, QSizePolicy::Fixed, QSizePolicy::Fixed)); +} + +QWidget *AnnotationWidget::createExtraWidget() +{ + return nullptr; +} + +TextAnnotationWidget::TextAnnotationWidget(Okular::Annotation *ann) + : AnnotationWidget(ann) +{ + m_textAnn = static_cast(ann); +} + +void TextAnnotationWidget::createStyleWidget(QFormLayout *formlayout) +{ + QWidget *widget = qobject_cast(formlayout->parent()); + + if (m_textAnn->textType() == Okular::TextAnnotation::Linked) { + createPopupNoteStyleUi(widget, formlayout); + } else if (m_textAnn->textType() == Okular::TextAnnotation::InPlace) { + if (isTypewriter()) { + createTypewriterStyleUi(widget, formlayout); + } else { + createInlineNoteStyleUi(widget, formlayout); + } + } +} + +void TextAnnotationWidget::applyChanges() +{ + AnnotationWidget::applyChanges(); + if (m_textAnn->textType() == Okular::TextAnnotation::Linked) { + Q_ASSERT(m_pixmapSelector); + m_textAnn->setTextIcon(m_pixmapSelector->icon()); + } else if (m_textAnn->textType() == Okular::TextAnnotation::InPlace) { + Q_ASSERT(m_fontReq); + m_textAnn->setTextFont(m_fontReq->font()); + if (!isTypewriter()) { + Q_ASSERT(m_textAlign && m_spinWidth); + m_textAnn->setInplaceAlignment(m_textAlign->currentIndex()); + m_textAnn->style().setWidth(m_spinWidth->value()); + } else { + Q_ASSERT(m_textColorBn); + m_textAnn->setTextColor(m_textColorBn->color()); + } + } +} + +void AnnotationWidget::setAnnotTypeEditable(bool editable) +{ + m_typeEditable = editable; +} + +void TextAnnotationWidget::createPopupNoteStyleUi(QWidget *widget, QFormLayout *formlayout) +{ + addColorButton(widget, formlayout); + addOpacitySpinBox(widget, formlayout); + addVerticalSpacer(formlayout); + addPixmapSelector(widget, formlayout); +} + +void TextAnnotationWidget::createInlineNoteStyleUi(QWidget *widget, QFormLayout *formlayout) +{ + addColorButton(widget, formlayout); + addOpacitySpinBox(widget, formlayout); + addVerticalSpacer(formlayout); + addFontRequester(widget, formlayout); + addTextAlignComboBox(widget, formlayout); + addVerticalSpacer(formlayout); + addWidthSpinBox(widget, formlayout); +} + +void TextAnnotationWidget::createTypewriterStyleUi(QWidget *widget, QFormLayout *formlayout) +{ + addFontRequester(widget, formlayout); + addTextColorButton(widget, formlayout); +} + +void TextAnnotationWidget::addPixmapSelector(QWidget *widget, QFormLayout *formlayout) +{ + m_pixmapSelector = new PixmapPreviewSelector(widget); + formlayout->addRow(i18n("Icon:"), m_pixmapSelector); + m_pixmapSelector->addItem(i18n("Comment"), QStringLiteral("Comment")); + m_pixmapSelector->addItem(i18n("Help"), QStringLiteral("Help")); + m_pixmapSelector->addItem(i18n("Insert"), QStringLiteral("Insert")); + m_pixmapSelector->addItem(i18n("Key"), QStringLiteral("Key")); + m_pixmapSelector->addItem(i18n("New paragraph"), QStringLiteral("NewParagraph")); + m_pixmapSelector->addItem(i18n("Note"), QStringLiteral("Note")); + m_pixmapSelector->addItem(i18n("Paragraph"), QStringLiteral("Paragraph")); + m_pixmapSelector->setIcon(m_textAnn->textIcon()); + connect(m_pixmapSelector, &PixmapPreviewSelector::iconChanged, this, &AnnotationWidget::dataChanged); +} + +void TextAnnotationWidget::addFontRequester(QWidget *widget, QFormLayout *formlayout) +{ + m_fontReq = new KFontRequester(widget); + formlayout->addRow(i18n("Font:"), m_fontReq); + m_fontReq->setFont(m_textAnn->textFont()); + connect(m_fontReq, &KFontRequester::fontSelected, this, &AnnotationWidget::dataChanged); +} + +void TextAnnotationWidget::addTextColorButton(QWidget *widget, QFormLayout *formlayout) +{ + m_textColorBn = new KColorButton(widget); + m_textColorBn->setColor(m_textAnn->textColor()); + formlayout->addRow(i18n("Text &color:"), m_textColorBn); + connect(m_textColorBn, &KColorButton::changed, this, &AnnotationWidget::dataChanged); +} + +void TextAnnotationWidget::addTextAlignComboBox(QWidget *widget, QFormLayout *formlayout) +{ + m_textAlign = new KComboBox(widget); + formlayout->addRow(i18n("&Align:"), m_textAlign); + m_textAlign->addItem(i18n("Left")); + m_textAlign->addItem(i18n("Center")); + m_textAlign->addItem(i18n("Right")); + m_textAlign->setCurrentIndex(m_textAnn->inplaceAlignment()); + connect(m_textAlign, QOverload::of(&KComboBox::currentIndexChanged), this, &AnnotationWidget::dataChanged); +} + +void TextAnnotationWidget::addWidthSpinBox(QWidget *widget, QFormLayout *formlayout) +{ + m_spinWidth = new QDoubleSpinBox(widget); + formlayout->addRow(i18n("Border &width:"), m_spinWidth); + m_spinWidth->setRange(0, 100); + m_spinWidth->setValue(m_textAnn->style().width()); + m_spinWidth->setSingleStep(0.1); + connect(m_spinWidth, QOverload::of(&QDoubleSpinBox::valueChanged), this, &AnnotationWidget::dataChanged); +} + +const QList> &StampAnnotationWidget::defaultStamps() +{ + static const QList> defaultStampsList = {{i18n("Approved"), QStringLiteral("Approved")}, + {i18n("As Is"), QStringLiteral("AsIs")}, + {i18n("Confidential"), QStringLiteral("Confidential")}, + {i18n("Departmental"), QStringLiteral("Departmental")}, + {i18n("Draft"), QStringLiteral("Draft")}, + {i18n("Experimental"), QStringLiteral("Experimental")}, + {i18n("Expired"), QStringLiteral("Expired")}, + {i18n("Final"), QStringLiteral("Final")}, + {i18n("For Comment"), QStringLiteral("ForComment")}, + {i18n("For Public Release"), QStringLiteral("ForPublicRelease")}, + {i18n("Not Approved"), QStringLiteral("NotApproved")}, + {i18n("Not For Public Release"), QStringLiteral("NotForPublicRelease")}, + {i18n("Sold"), QStringLiteral("Sold")}, + {i18n("Top Secret"), QStringLiteral("TopSecret")}, + {i18n("Bookmark"), QStringLiteral("bookmark-new")}, + {i18n("Information"), QStringLiteral("help-about")}, + {i18n("KDE"), QStringLiteral("kde")}, + {i18n("Okular"), QStringLiteral("okular")}}; + + return defaultStampsList; +} + +StampAnnotationWidget::StampAnnotationWidget(Okular::Annotation *ann) + : AnnotationWidget(ann) + , m_pixmapSelector(nullptr) +{ + m_stampAnn = static_cast(ann); +} + +void StampAnnotationWidget::createStyleWidget(QFormLayout *formlayout) +{ + QWidget *widget = qobject_cast(formlayout->parent()); + + addOpacitySpinBox(widget, formlayout); + addVerticalSpacer(formlayout); + + m_pixmapSelector = new PixmapPreviewSelector(widget, PixmapPreviewSelector::Below); + formlayout->addRow(i18n("Stamp symbol:"), m_pixmapSelector); + m_pixmapSelector->setEditable(true); + + for (const QPair &pair : defaultStamps()) { + m_pixmapSelector->addItem(pair.first, pair.second); + } + + m_pixmapSelector->setIcon(m_stampAnn->stampIconName()); + m_pixmapSelector->setPreviewSize(64); + + connect(m_pixmapSelector, &PixmapPreviewSelector::iconChanged, this, &AnnotationWidget::dataChanged); +} + +void StampAnnotationWidget::applyChanges() +{ + AnnotationWidget::applyChanges(); + m_stampAnn->setStampIconName(m_pixmapSelector->icon()); +} + +LineAnnotationWidget::LineAnnotationWidget(Okular::Annotation *ann) + : AnnotationWidget(ann) +{ + m_lineAnn = static_cast(ann); + if (m_lineAnn->linePoints().count() == 2) { + m_lineType = 0; // line + } else if (m_lineAnn->lineClosed()) { + m_lineType = 1; // polygon + } else { + m_lineType = 2; // polyline + } +} + +void LineAnnotationWidget::createStyleWidget(QFormLayout *formlayout) +{ + QWidget *widget = qobject_cast(formlayout->parent()); + + addColorButton(widget, formlayout); + addOpacitySpinBox(widget, formlayout); + + m_spinSize = new QDoubleSpinBox(widget); + m_spinSize->setRange(1, 100); + m_spinSize->setValue(m_lineAnn->style().width()); + + connect(m_spinSize, QOverload::of(&QDoubleSpinBox::valueChanged), this, &LineAnnotationWidget::dataChanged); + + // Straight line + if (m_lineType == 0) { + addVerticalSpacer(formlayout); + formlayout->addRow(i18n("&Width:"), m_spinSize); + + // Line Term Styles + addVerticalSpacer(formlayout); + m_startStyleCombo = new QComboBox(widget); + formlayout->addRow(i18n("Line start:"), m_startStyleCombo); + m_endStyleCombo = new QComboBox(widget); + formlayout->addRow(i18n("Line end:"), m_endStyleCombo); + // FIXME: Where does the tooltip goes?? + + const QList> termStyles {{Okular::LineAnnotation::Square, i18n("Square")}, + {Okular::LineAnnotation::Circle, i18n("Circle")}, + {Okular::LineAnnotation::Diamond, i18n("Diamond")}, + {Okular::LineAnnotation::OpenArrow, i18n("Open Arrow")}, + {Okular::LineAnnotation::ClosedArrow, i18n("Closed Arrow")}, + {Okular::LineAnnotation::None, i18n("None")}, + {Okular::LineAnnotation::Butt, i18n("Butt")}, + {Okular::LineAnnotation::ROpenArrow, i18n("Right Open Arrow")}, + {Okular::LineAnnotation::RClosedArrow, i18n("Right Closed Arrow")}, + {Okular::LineAnnotation::Slash, i18n("Slash")}}; + for (const auto &item : termStyles) { + const QIcon icon = endStyleIcon(item.first, QGuiApplication::palette().color(QPalette::WindowText)); + m_startStyleCombo->addItem(icon, item.second); + m_endStyleCombo->addItem(icon, item.second); + } + + m_startStyleCombo->setCurrentIndex(m_lineAnn->lineStartStyle()); + m_endStyleCombo->setCurrentIndex(m_lineAnn->lineEndStyle()); + + // Leaders lengths + addVerticalSpacer(formlayout); + m_spinLL = new QDoubleSpinBox(widget); + formlayout->addRow(i18n("Leader line length:"), m_spinLL); + m_spinLLE = new QDoubleSpinBox(widget); + formlayout->addRow(i18n("Leader line extensions length:"), m_spinLLE); + + m_spinLL->setRange(-500, 500); + m_spinLL->setValue(m_lineAnn->lineLeadingForwardPoint()); + m_spinLLE->setRange(0, 500); + m_spinLLE->setValue(m_lineAnn->lineLeadingBackwardPoint()); + + connect(m_startStyleCombo, QOverload::of(&QComboBox::currentIndexChanged), this, &LineAnnotationWidget::dataChanged); + connect(m_endStyleCombo, QOverload::of(&QComboBox::currentIndexChanged), this, &LineAnnotationWidget::dataChanged); + connect(m_spinLL, QOverload::of(&QDoubleSpinBox::valueChanged), this, &LineAnnotationWidget::dataChanged); + connect(m_spinLLE, QOverload::of(&QDoubleSpinBox::valueChanged), this, &LineAnnotationWidget::dataChanged); + } else if (m_lineType == 1) // Polygon + { + QHBoxLayout *colorlay = new QHBoxLayout(); + m_useColor = new QCheckBox(i18n("Enabled"), widget); + colorlay->addWidget(m_useColor); + m_innerColor = new KColorButton(widget); + colorlay->addWidget(m_innerColor); + formlayout->addRow(i18n("Shape fill:"), colorlay); + + m_innerColor->setColor(m_lineAnn->lineInnerColor()); + if (m_lineAnn->lineInnerColor().isValid()) { + m_useColor->setChecked(true); + } else { + m_innerColor->setEnabled(false); + } + + addVerticalSpacer(formlayout); + formlayout->addRow(i18n("&Width:"), m_spinSize); + + connect(m_innerColor, &KColorButton::changed, this, &AnnotationWidget::dataChanged); + connect(m_useColor, &QAbstractButton::toggled, this, &AnnotationWidget::dataChanged); + connect(m_useColor, &QCheckBox::toggled, m_innerColor, &KColorButton::setEnabled); + } +} + +void LineAnnotationWidget::applyChanges() +{ + AnnotationWidget::applyChanges(); + if (m_lineType == 0) { + Q_ASSERT(m_spinLL && m_spinLLE && m_startStyleCombo && m_endStyleCombo); + m_lineAnn->setLineLeadingForwardPoint(m_spinLL->value()); + m_lineAnn->setLineLeadingBackwardPoint(m_spinLLE->value()); + m_lineAnn->setLineStartStyle((Okular::LineAnnotation::TermStyle)m_startStyleCombo->currentIndex()); + m_lineAnn->setLineEndStyle((Okular::LineAnnotation::TermStyle)m_endStyleCombo->currentIndex()); + } else if (m_lineType == 1) { + Q_ASSERT(m_useColor && m_innerColor); + if (!m_useColor->isChecked()) { + m_lineAnn->setLineInnerColor(QColor()); + } else { + m_lineAnn->setLineInnerColor(m_innerColor->color()); + } + } + Q_ASSERT(m_spinSize); + m_lineAnn->style().setWidth(m_spinSize->value()); +} + +QIcon LineAnnotationWidget::endStyleIcon(Okular::LineAnnotation::TermStyle endStyle, const QColor &lineColor) +{ + const int iconSize {48}; + QImage image {iconSize, iconSize, QImage::Format_ARGB32}; + image.fill(qRgba(0, 0, 0, 0)); + Okular::LineAnnotation prototype; + prototype.setLinePoints({{0, 0.5}, {0.65, 0.5}}); + prototype.setLineStartStyle(Okular::LineAnnotation::TermStyle::None); + prototype.setLineEndStyle(endStyle); + prototype.style().setWidth(4); + prototype.style().setColor(lineColor); + prototype.style().setLineStyle(Okular::Annotation::LineStyle::Solid); + prototype.setBoundingRectangle({0, 0, 1, 1}); + LineAnnotPainter linepainter {&prototype, QSize {iconSize, iconSize}, 1, QTransform()}; + linepainter.draw(image); + return QIcon(QPixmap::fromImage(image)); +} + +InkAnnotationWidget::InkAnnotationWidget(Okular::Annotation *ann) + : AnnotationWidget(ann) +{ + m_inkAnn = static_cast(ann); +} + +void InkAnnotationWidget::createStyleWidget(QFormLayout *formlayout) +{ + QWidget *widget = qobject_cast(formlayout->parent()); + + addColorButton(widget, formlayout); + addOpacitySpinBox(widget, formlayout); + + addVerticalSpacer(formlayout); + + m_spinSize = new QDoubleSpinBox(widget); + formlayout->addRow(i18n("&Width:"), m_spinSize); + + m_spinSize->setRange(1, 100); + m_spinSize->setValue(m_inkAnn->style().width()); + + connect(m_spinSize, QOverload::of(&QDoubleSpinBox::valueChanged), this, &AnnotationWidget::dataChanged); +} + +void InkAnnotationWidget::applyChanges() +{ + AnnotationWidget::applyChanges(); + m_inkAnn->style().setWidth(m_spinSize->value()); +} + +HighlightAnnotationWidget::HighlightAnnotationWidget(Okular::Annotation *ann) + : AnnotationWidget(ann) +{ + m_hlAnn = static_cast(ann); +} + +void HighlightAnnotationWidget::createStyleWidget(QFormLayout *formlayout) +{ + QWidget *widget = qobject_cast(formlayout->parent()); + + m_typeCombo = new KComboBox(widget); + m_typeCombo->setVisible(m_typeEditable); + if (m_typeEditable) { + formlayout->addRow(i18n("Type:"), m_typeCombo); + } + m_typeCombo->addItem(i18n("Highlight")); + m_typeCombo->addItem(i18n("Squiggle")); + m_typeCombo->addItem(i18n("Underline")); + m_typeCombo->addItem(i18n("Strike out")); + m_typeCombo->setCurrentIndex(m_hlAnn->highlightType()); + + addVerticalSpacer(formlayout); + addColorButton(widget, formlayout); + addOpacitySpinBox(widget, formlayout); + + connect(m_typeCombo, QOverload::of(&KComboBox::currentIndexChanged), this, &AnnotationWidget::dataChanged); +} + +void HighlightAnnotationWidget::applyChanges() +{ + AnnotationWidget::applyChanges(); + m_hlAnn->setHighlightType((Okular::HighlightAnnotation::HighlightType)m_typeCombo->currentIndex()); +} + +GeomAnnotationWidget::GeomAnnotationWidget(Okular::Annotation *ann) + : AnnotationWidget(ann) +{ + m_geomAnn = static_cast(ann); +} + +void GeomAnnotationWidget::createStyleWidget(QFormLayout *formlayout) +{ + QWidget *widget = qobject_cast(formlayout->parent()); + + m_typeCombo = new KComboBox(widget); + m_typeCombo->setVisible(m_typeEditable); + if (m_typeEditable) { + formlayout->addRow(i18n("Type:"), m_typeCombo); + } + addVerticalSpacer(formlayout); + addColorButton(widget, formlayout); + addOpacitySpinBox(widget, formlayout); + QHBoxLayout *colorlay = new QHBoxLayout(); + m_useColor = new QCheckBox(i18n("Enabled"), widget); + colorlay->addWidget(m_useColor); + m_innerColor = new KColorButton(widget); + colorlay->addWidget(m_innerColor); + formlayout->addRow(i18n("Shape fill:"), colorlay); + addVerticalSpacer(formlayout); + m_spinSize = new QDoubleSpinBox(widget); + formlayout->addRow(i18n("&Width:"), m_spinSize); + + m_typeCombo->addItem(i18n("Rectangle")); + m_typeCombo->addItem(i18n("Ellipse")); + m_typeCombo->setCurrentIndex(m_geomAnn->geometricalType()); + m_innerColor->setColor(m_geomAnn->geometricalInnerColor()); + if (m_geomAnn->geometricalInnerColor().isValid()) { + m_useColor->setChecked(true); + } else { + m_innerColor->setEnabled(false); + } + m_spinSize->setRange(0, 100); + m_spinSize->setValue(m_geomAnn->style().width()); + + connect(m_typeCombo, QOverload::of(&KComboBox::currentIndexChanged), this, &AnnotationWidget::dataChanged); + connect(m_innerColor, &KColorButton::changed, this, &AnnotationWidget::dataChanged); + connect(m_useColor, &QAbstractButton::toggled, this, &AnnotationWidget::dataChanged); + connect(m_useColor, &QCheckBox::toggled, m_innerColor, &KColorButton::setEnabled); + connect(m_spinSize, QOverload::of(&QDoubleSpinBox::valueChanged), this, &AnnotationWidget::dataChanged); +} + +void GeomAnnotationWidget::applyChanges() +{ + AnnotationWidget::applyChanges(); + m_geomAnn->setGeometricalType((Okular::GeomAnnotation::GeomType)m_typeCombo->currentIndex()); + if (!m_useColor->isChecked()) { + m_geomAnn->setGeometricalInnerColor(QColor()); + } else { + m_geomAnn->setGeometricalInnerColor(m_innerColor->color()); + } + m_geomAnn->style().setWidth(m_spinSize->value()); +} + +FileAttachmentAnnotationWidget::FileAttachmentAnnotationWidget(Okular::Annotation *ann) + : AnnotationWidget(ann) + , m_pixmapSelector(nullptr) +{ + m_attachAnn = static_cast(ann); +} + +void FileAttachmentAnnotationWidget::createStyleWidget(QFormLayout *formlayout) +{ + QWidget *widget = qobject_cast(formlayout->parent()); + + addOpacitySpinBox(widget, formlayout); + + m_pixmapSelector = new PixmapPreviewSelector(widget); + formlayout->addRow(i18n("File attachment symbol:"), m_pixmapSelector); + m_pixmapSelector->setEditable(true); + + m_pixmapSelector->addItem(i18nc("Symbol for file attachment annotations", "Graph"), QStringLiteral("graph")); + m_pixmapSelector->addItem(i18nc("Symbol for file attachment annotations", "Push Pin"), QStringLiteral("pushpin")); + m_pixmapSelector->addItem(i18nc("Symbol for file attachment annotations", "Paperclip"), QStringLiteral("paperclip")); + m_pixmapSelector->addItem(i18nc("Symbol for file attachment annotations", "Tag"), QStringLiteral("tag")); + m_pixmapSelector->setIcon(m_attachAnn->fileIconName()); + + connect(m_pixmapSelector, &PixmapPreviewSelector::iconChanged, this, &AnnotationWidget::dataChanged); +} + +QWidget *FileAttachmentAnnotationWidget::createExtraWidget() +{ + QWidget *widget = new QWidget(); + widget->setWindowTitle(i18nc("'File' as normal file, that can be opened, saved, etc..", "File")); + + Okular::EmbeddedFile *ef = m_attachAnn->embeddedFile(); + const int size = ef->size(); + const QString sizeString = size <= 0 ? i18nc("Not available size", "N/A") : KFormat().formatByteSize(size); + const QString descString = ef->description().isEmpty() ? i18n("No description available.") : ef->description(); + + QHBoxLayout *mainLay = new QHBoxLayout(widget); + QFormLayout *lay = new QFormLayout(); + mainLay->addLayout(lay); + + QLabel *tmplabel = new QLabel(ef->name(), widget); + tmplabel->setTextInteractionFlags(Qt::TextSelectableByMouse); + lay->addRow(i18n("Name:"), tmplabel); + + tmplabel = new QLabel(sizeString, widget); + tmplabel->setTextInteractionFlags(Qt::TextSelectableByMouse); + lay->addRow(i18n("&Width:"), tmplabel); + + tmplabel = new QLabel(widget); + tmplabel->setTextFormat(Qt::PlainText); + tmplabel->setWordWrap(true); + tmplabel->setText(descString); + tmplabel->setTextInteractionFlags(Qt::TextSelectableByMouse); + lay->addRow(i18n("Description:"), tmplabel); + + QMimeDatabase db; + QMimeType mime = db.mimeTypeForFile(ef->name(), QMimeDatabase::MatchExtension); + if (mime.isValid()) { + tmplabel = new QLabel(widget); + tmplabel->setPixmap(QIcon::fromTheme(mime.iconName()).pixmap(FILEATTACH_ICONSIZE, FILEATTACH_ICONSIZE)); + tmplabel->setFixedSize(FILEATTACH_ICONSIZE, FILEATTACH_ICONSIZE); + QVBoxLayout *tmpLayout = new QVBoxLayout(widget); + tmpLayout->setAlignment(Qt::AlignTop); + mainLay->addLayout(tmpLayout); + tmpLayout->addWidget(tmplabel); + } + + return widget; +} + +void FileAttachmentAnnotationWidget::applyChanges() +{ + AnnotationWidget::applyChanges(); + m_attachAnn->setFileIconName(m_pixmapSelector->icon()); +} + +static QString caretSymbolToIcon(Okular::CaretAnnotation::CaretSymbol symbol) +{ + switch (symbol) { + case Okular::CaretAnnotation::None: + return QStringLiteral("caret-none"); + case Okular::CaretAnnotation::P: + return QStringLiteral("caret-p"); + } + return QString(); +} + +static Okular::CaretAnnotation::CaretSymbol caretSymbolFromIcon(const QString &icon) +{ + if (icon == QLatin1String("caret-none")) { + return Okular::CaretAnnotation::None; + } else if (icon == QLatin1String("caret-p")) { + return Okular::CaretAnnotation::P; + } + return Okular::CaretAnnotation::None; +} + +CaretAnnotationWidget::CaretAnnotationWidget(Okular::Annotation *ann) + : AnnotationWidget(ann) + , m_pixmapSelector(nullptr) +{ + m_caretAnn = static_cast(ann); +} + +void CaretAnnotationWidget::createStyleWidget(QFormLayout *formlayout) +{ + QWidget *widget = qobject_cast(formlayout->parent()); + + addColorButton(widget, formlayout); + addOpacitySpinBox(widget, formlayout); + + m_pixmapSelector = new PixmapPreviewSelector(widget); + formlayout->addRow(i18n("Caret symbol:"), m_pixmapSelector); + + m_pixmapSelector->addItem(i18nc("Symbol for caret annotations", "None"), QStringLiteral("caret-none")); + m_pixmapSelector->addItem(i18nc("Symbol for caret annotations", "P"), QStringLiteral("caret-p")); + m_pixmapSelector->setIcon(caretSymbolToIcon(m_caretAnn->caretSymbol())); + + connect(m_pixmapSelector, &PixmapPreviewSelector::iconChanged, this, &AnnotationWidget::dataChanged); +} + +void CaretAnnotationWidget::applyChanges() +{ + AnnotationWidget::applyChanges(); + m_caretAnn->setCaretSymbol(caretSymbolFromIcon(m_pixmapSelector->icon())); +} + +#include "moc_annotationwidgets.cpp" diff --git a/part/annotationwidgets.h b/part/annotationwidgets.h new file mode 100644 index 0000000..e13acfe --- /dev/null +++ b/part/annotationwidgets.h @@ -0,0 +1,283 @@ +/* + SPDX-FileCopyrightText: 2006 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _ANNOTATIONWIDGETS_H_ +#define _ANNOTATIONWIDGETS_H_ + +#include + +#include "core/annotations.h" + +class QCheckBox; +class QComboBox; +class QDoubleSpinBox; +class QFormLayout; +class QLabel; +class QPushButton; +class QWidget; +class KColorButton; +class QSpinBox; +class KFontRequester; +class AnnotationWidget; + +class PixmapPreviewSelector : public QWidget +{ + Q_OBJECT + +public: + enum PreviewPosition { Side, Below }; + + explicit PixmapPreviewSelector(QWidget *parent = nullptr, PreviewPosition position = Side); + ~PixmapPreviewSelector() override; + + void setIcon(const QString &icon); + QString icon() const; + + void addItem(const QString &item, const QString &id); + + void setPreviewSize(int size); + int previewSize() const; + + void setEditable(bool editable); + +Q_SIGNALS: + void iconChanged(const QString &); + +private Q_SLOTS: + void iconComboChanged(const QString &icon); + void selectCustomStamp(); + +private: + QString m_icon; + QPushButton *m_stampPushButton; + QLabel *m_iconLabel; + QComboBox *m_comboItems; + int m_previewSize; + PreviewPosition m_previewPosition; +}; + +/** + * A factory to create AnnotationWidget's. + */ +class AnnotationWidgetFactory +{ +public: + static AnnotationWidget *widgetFor(Okular::Annotation *ann); +}; + +class AnnotationWidget : public QObject +{ + Q_OBJECT + +public: + explicit AnnotationWidget(Okular::Annotation *ann); + ~AnnotationWidget() override; + + virtual Okular::Annotation::SubType annotationType() const; + + QWidget *appearanceWidget(); + QWidget *extraWidget(); + + virtual void applyChanges(); + + void setAnnotTypeEditable(bool); + +Q_SIGNALS: + void dataChanged(); + +protected: + QWidget *createAppearanceWidget(); + + virtual void createStyleWidget(QFormLayout *formLayout); + virtual QWidget *createExtraWidget(); + + void addColorButton(QWidget *widget, QFormLayout *formlayout); + void addOpacitySpinBox(QWidget *widget, QFormLayout *formlayout); + void addVerticalSpacer(QFormLayout *formlayout); + + bool m_typeEditable; + +private: + Okular::Annotation *m_ann; + QWidget *m_appearanceWidget {nullptr}; + QWidget *m_extraWidget {nullptr}; + KColorButton *m_colorBn {nullptr}; + QSpinBox *m_opacity {nullptr}; +}; + +class QVBoxLayout; +class QFormLayout; + +class TextAnnotationWidget : public AnnotationWidget +{ + Q_OBJECT + +public: + explicit TextAnnotationWidget(Okular::Annotation *ann); + + void applyChanges() override; + +protected: + void createStyleWidget(QFormLayout *formlayout) override; + +private: + void createPopupNoteStyleUi(QWidget *widget, QFormLayout *formlayout); + void createInlineNoteStyleUi(QWidget *widget, QFormLayout *formlayout); + void createTypewriterStyleUi(QWidget *widget, QFormLayout *formlayout); + void addPixmapSelector(QWidget *widget, QFormLayout *formlayout); + void addFontRequester(QWidget *widget, QFormLayout *formlayout); + void addTextColorButton(QWidget *widget, QFormLayout *formlayout); + void addTextAlignComboBox(QWidget *widget, QFormLayout *formlayout); + void addWidthSpinBox(QWidget *widget, QFormLayout *formlayout); + + inline bool isTypewriter() const + { + return (m_textAnn->inplaceIntent() == Okular::TextAnnotation::TypeWriter); + } + + Okular::TextAnnotation *m_textAnn; + PixmapPreviewSelector *m_pixmapSelector {nullptr}; + KFontRequester *m_fontReq {nullptr}; + KColorButton *m_textColorBn {nullptr}; + QComboBox *m_textAlign {nullptr}; + QDoubleSpinBox *m_spinWidth {nullptr}; +}; + +class StampAnnotationWidget : public AnnotationWidget +{ + Q_OBJECT + +public: + static const QList> &defaultStamps(); + + explicit StampAnnotationWidget(Okular::Annotation *ann); + + void applyChanges() override; + +protected: + void createStyleWidget(QFormLayout *formlayout) override; + +private: + Okular::StampAnnotation *m_stampAnn; + PixmapPreviewSelector *m_pixmapSelector; +}; + +class LineAnnotationWidget : public AnnotationWidget +{ + Q_OBJECT + +public: + explicit LineAnnotationWidget(Okular::Annotation *ann); + + void applyChanges() override; + +protected: + void createStyleWidget(QFormLayout *formlayout) override; + +private: + static QIcon endStyleIcon(Okular::LineAnnotation::TermStyle endStyle, const QColor &lineColor); + + Okular::LineAnnotation *m_lineAnn; + int m_lineType; + QDoubleSpinBox *m_spinLL {nullptr}; + QDoubleSpinBox *m_spinLLE {nullptr}; + QCheckBox *m_useColor {nullptr}; + KColorButton *m_innerColor {nullptr}; + QDoubleSpinBox *m_spinSize {nullptr}; + QComboBox *m_startStyleCombo {nullptr}; + QComboBox *m_endStyleCombo {nullptr}; +}; + +class HighlightAnnotationWidget : public AnnotationWidget +{ + Q_OBJECT + +public: + explicit HighlightAnnotationWidget(Okular::Annotation *ann); + + void applyChanges() override; + +protected: + void createStyleWidget(QFormLayout *formlayout) override; + +private: + Okular::HighlightAnnotation *m_hlAnn; + QComboBox *m_typeCombo = nullptr; +}; + +class GeomAnnotationWidget : public AnnotationWidget +{ + Q_OBJECT + +public: + explicit GeomAnnotationWidget(Okular::Annotation *ann); + + void applyChanges() override; + +protected: + void createStyleWidget(QFormLayout *formlayout) override; + +private: + Okular::GeomAnnotation *m_geomAnn; + QComboBox *m_typeCombo = nullptr; + QCheckBox *m_useColor = nullptr; + KColorButton *m_innerColor = nullptr; + QDoubleSpinBox *m_spinSize = nullptr; +}; + +class FileAttachmentAnnotationWidget : public AnnotationWidget +{ + Q_OBJECT + +public: + explicit FileAttachmentAnnotationWidget(Okular::Annotation *ann); + + void applyChanges() override; + +protected: + void createStyleWidget(QFormLayout *formlayout) override; + QWidget *createExtraWidget() override; + +private: + Okular::FileAttachmentAnnotation *m_attachAnn; + PixmapPreviewSelector *m_pixmapSelector; +}; + +class CaretAnnotationWidget : public AnnotationWidget +{ + Q_OBJECT + +public: + explicit CaretAnnotationWidget(Okular::Annotation *ann); + + void applyChanges() override; + +protected: + void createStyleWidget(QFormLayout *formlayout) override; + +private: + Okular::CaretAnnotation *m_caretAnn; + PixmapPreviewSelector *m_pixmapSelector; +}; + +class InkAnnotationWidget : public AnnotationWidget +{ + Q_OBJECT + +public: + explicit InkAnnotationWidget(Okular::Annotation *ann); + + void applyChanges() override; + +protected: + void createStyleWidget(QFormLayout *formlayout) override; + +private: + Okular::InkAnnotation *m_inkAnn; + QDoubleSpinBox *m_spinSize = nullptr; +}; + +#endif diff --git a/part/annotwindow.cpp b/part/annotwindow.cpp new file mode 100644 index 0000000..e9ca183 --- /dev/null +++ b/part/annotwindow.cpp @@ -0,0 +1,489 @@ +/* + SPDX-FileCopyrightText: 2006 Chu Xiaodong + SPDX-FileCopyrightText: 2006 Pino Toscano + + Work sponsored by the LiMux project of the city of Munich: + SPDX-FileCopyrightText: 2017 Klarälvdalens Datakonsult AB a KDAB Group company + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "annotwindow.h" + +// qt/kde includes +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +// local includes +#include "core/annotations.h" +#include "core/document.h" +#include "latexrenderer.h" +#include +#include + +class CloseButton : public QPushButton +{ + Q_OBJECT + +public: + explicit CloseButton(QWidget *parent = Q_NULLPTR) + : QPushButton(parent) + { + setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); + QSize size = QSize(14, 14); + setFixedSize(size); + setIcon(style()->standardIcon(QStyle::SP_DockWidgetCloseButton)); + setIconSize(size); + setToolTip(i18n("Close this note")); + setCursor(Qt::ArrowCursor); + } +}; + +class MovableTitle : public QWidget +{ + Q_OBJECT + +public: + explicit MovableTitle(AnnotWindow *parent) + : QWidget(parent) + { + QVBoxLayout *mainlay = new QVBoxLayout(this); + mainlay->setContentsMargins(0, 0, 0, 0); + mainlay->setSpacing(0); + // close button row + QHBoxLayout *buttonlay = new QHBoxLayout(); + mainlay->addLayout(buttonlay); + titleLabel = new QLabel(this); + QFont f = titleLabel->font(); + f.setBold(true); + titleLabel->setFont(f); + titleLabel->setCursor(Qt::SizeAllCursor); + buttonlay->addWidget(titleLabel); + dateLabel = new QLabel(this); + dateLabel->setAlignment(Qt::AlignTop | Qt::AlignRight); + f = dateLabel->font(); + f.setPointSize(QFontInfo(f).pointSize() - 2); + dateLabel->setFont(f); + dateLabel->setCursor(Qt::SizeAllCursor); + buttonlay->addWidget(dateLabel); + CloseButton *close = new CloseButton(this); + connect(close, &QAbstractButton::clicked, parent, &QWidget::close); + buttonlay->addWidget(close); + // option button row + QHBoxLayout *optionlay = new QHBoxLayout(); + mainlay->addLayout(optionlay); + authorLabel = new QLabel(this); + authorLabel->setCursor(Qt::SizeAllCursor); + authorLabel->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum); + optionlay->addWidget(authorLabel); + optionButton = new QToolButton(this); + QString opttext = i18n("Options"); + optionButton->setText(opttext); + optionButton->setAutoRaise(true); + QSize s = QFontMetrics(optionButton->font()).boundingRect(opttext).size() + QSize(8, 8); + optionButton->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); + optionButton->setFixedSize(s); + optionlay->addWidget(optionButton); + // ### disabled for now + optionButton->hide(); + latexButton = new QToolButton(this); + QHBoxLayout *latexlay = new QHBoxLayout(); + QString latextext = i18n("This annotation may contain LaTeX code.\nClick here to render."); + latexButton->setText(latextext); + latexButton->setAutoRaise(true); + s = QFontMetrics(latexButton->font()).boundingRect(0, 0, this->width(), this->height(), 0, latextext).size() + QSize(8, 8); + latexButton->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); + latexButton->setFixedSize(s); + latexButton->setCheckable(true); + latexButton->setVisible(false); + latexlay->addSpacing(1); + latexlay->addWidget(latexButton); + latexlay->addSpacing(1); + mainlay->addLayout(latexlay); + connect(latexButton, &QToolButton::clicked, parent, &AnnotWindow::renderLatex); + connect(parent, &AnnotWindow::containsLatex, latexButton, &QWidget::setVisible); + + titleLabel->installEventFilter(this); + dateLabel->installEventFilter(this); + authorLabel->installEventFilter(this); + } + + bool eventFilter(QObject *watched, QEvent *event) override + { + if (watched != titleLabel && watched != authorLabel && watched != dateLabel) { + return false; + } + + QMouseEvent *me = nullptr; + switch (event->type()) { + case QEvent::MouseButtonPress: + me = static_cast(event); + mousePressPos = me->pos(); + parentWidget()->raise(); + break; + case QEvent::MouseButtonRelease: + mousePressPos = QPoint(); + break; + case QEvent::MouseMove: { + me = static_cast(event); + const QPoint mouseMovePos = me->pos(); + const QPoint mouseDelta = mouseMovePos - mousePressPos; + + const auto annotWidget = parentWidget(); + QPoint newPositionPoint = annotWidget->pos() + mouseDelta; + annotWidget->move(newPositionPoint); + break; + } + default: + return false; + } + return true; + } + + void setTitle(const QString &title) + { + titleLabel->setText(QStringLiteral(" ") + title); + } + + void setDate(const QDateTime &dt) + { + dateLabel->setText(QLocale().toString(dt.toTimeSpec(Qt::LocalTime), QLocale::ShortFormat) + QLatin1Char(' ')); + } + + void setAuthor(const QString &author) + { + authorLabel->setText(QStringLiteral(" ") + author); + } + + void connectOptionButton(QObject *recv, const char *method) + { + connect(optionButton, SIGNAL(clicked()), recv, method); + } + + void uncheckLatexButton() + { + latexButton->setChecked(false); + } + +private: + QLabel *titleLabel; + QLabel *dateLabel; + QLabel *authorLabel; + QPoint mousePressPos; + QToolButton *optionButton; + QToolButton *latexButton; +}; + +// Qt::SubWindow is needed to make QSizeGrip work +AnnotWindow::AnnotWindow(QWidget *parent, QRect initialViewportBounds, Okular::Annotation *annot, Okular::Document *document, int page) + : QFrame(parent, Qt::SubWindow) + , m_viewportBounds(initialViewportBounds) + , m_annot(annot) + , m_document(document) + , m_page(page) +{ + setAutoFillBackground(true); + setFrameStyle(Panel | Raised); + setAttribute(Qt::WA_DeleteOnClose); + setObjectName(QStringLiteral("AnnotWindow")); + + const bool canEditAnnotation = m_document->canModifyPageAnnotation(annot); + + textEdit = new KTextEdit(this); + textEdit->setAcceptRichText(false); + textEdit->setPlainText(m_annot->contents()); + textEdit->installEventFilter(this); + textEdit->setUndoRedoEnabled(false); + + m_prevCursorPos = textEdit->textCursor().position(); + m_prevAnchorPos = textEdit->textCursor().anchor(); + + connect(textEdit, &KTextEdit::textChanged, this, &AnnotWindow::slotsaveWindowText); + connect(textEdit, &KTextEdit::cursorPositionChanged, this, &AnnotWindow::slotsaveWindowText); + connect(textEdit, &KTextEdit::aboutToShowContextMenu, this, &AnnotWindow::slotUpdateUndoAndRedoInContextMenu); + connect(m_document, &Okular::Document::annotationContentsChangedByUndoRedo, this, &AnnotWindow::slotHandleContentsChangedByUndoRedo); + + if (!canEditAnnotation) { + textEdit->setReadOnly(true); + } + + QVBoxLayout *mainlay = new QVBoxLayout(this); + mainlay->setContentsMargins(2, 2, 2, 2); + mainlay->setSpacing(0); + m_title = new MovableTitle(this); + mainlay->addWidget(m_title); + mainlay->addWidget(textEdit); + QHBoxLayout *lowerlay = new QHBoxLayout(); + mainlay->addLayout(lowerlay); + lowerlay->addItem(new QSpacerItem(5, 5, QSizePolicy::Expanding, QSizePolicy::Fixed)); + QSizeGrip *sb = new QSizeGrip(this); + lowerlay->addWidget(sb); + + m_latexRenderer = new GuiUtils::LatexRenderer(); + // The Q_EMIT below is not wrong even if emitting signals from the constructor it's usually wrong + // in this case the signal it's connected to inside MovableTitle constructor a few lines above + Q_EMIT containsLatex(GuiUtils::LatexRenderer::mightContainLatex(m_annot->contents())); // clazy:exclude=incorrect-emit + + m_title->setTitle(m_annot->window().summary()); + m_title->connectOptionButton(this, SLOT(slotOptionBtn())); + + const auto initialPosition = qApp->isRightToLeft() // + ? initialViewportBounds.topRight() + QPoint(-defaultSize.width() - defaultPosition.x(), defaultPosition.y()) + : initialViewportBounds.topLeft() + defaultPosition; + setGeometry(QRect(initialPosition, defaultSize)); + + reloadInfo(); +} + +AnnotWindow::~AnnotWindow() +{ + delete m_latexRenderer; + delete textEdit; +} + +Okular::Annotation *AnnotWindow::annotation() const +{ + return m_annot; +} + +void AnnotWindow::updateAnnotation(Okular::Annotation *a) +{ + m_annot = a; +} + +void AnnotWindow::reloadInfo() +{ + QColor newcolor; + if (m_annot->subType() == Okular::Annotation::AText) { + Okular::TextAnnotation *textAnn = static_cast(m_annot); + if (textAnn->textType() == Okular::TextAnnotation::InPlace && textAnn->inplaceIntent() == Okular::TextAnnotation::TypeWriter) { + newcolor = QColor(0xfd, 0xfd, 0x96); + } + } + if (!newcolor.isValid()) { + newcolor = m_annot->style().color().isValid() ? QColor(m_annot->style().color().red(), m_annot->style().color().green(), m_annot->style().color().blue(), 255) : Qt::yellow; + } + if (newcolor != m_color) { + m_color = newcolor; + setPalette(QPalette(m_color)); + QPalette pl = textEdit->palette(); + pl.setColor(QPalette::Base, m_color); + textEdit->setPalette(pl); + } + m_title->setAuthor(m_annot->author()); + m_title->setDate(m_annot->modificationDate()); +} + +int AnnotWindow::pageNumber() const +{ + return m_page; +} + +void AnnotWindow::updateViewportBounds(QRect bounds) +{ + m_viewportBounds = bounds; + fixupGeometry(); +} + +void AnnotWindow::fixupGeometry() +{ + // Try to maintain the default size, but squeeze if not does not fit. + // Use viewport bounds to exclude scrollbars. + const auto bounds = m_viewportBounds; + + const QSize size( // + std::min(bounds.width(), defaultSize.width()), + std::min(bounds.height(), defaultSize.height())); + + const QPoint position( // + bounds.x() + std::max(0, std::min(bounds.width() - size.width(), x() - bounds.x())), + bounds.y() + std::max(0, std::min(bounds.height() - size.height(), y() - bounds.y()))); + + // hopefully no infinite event recursion, because we only need to fix up once, after which it should be idempotent + setGeometry(QRect(position, size)); +} + +void AnnotWindow::showEvent(QShowEvent *event) +{ + QFrame::showEvent(event); + + // focus the content area by default + textEdit->setFocus(); +} + +void AnnotWindow::moveEvent(QMoveEvent *event) +{ + QFrame::moveEvent(event); + fixupGeometry(); +} + +void AnnotWindow::resizeEvent(QResizeEvent *event) +{ + QFrame::resizeEvent(event); + fixupGeometry(); +} + +bool AnnotWindow::eventFilter(QObject *watched, QEvent *event) +{ + if (watched == textEdit) { + if (event->type() == QEvent::ShortcutOverride) { + QKeyEvent *keyEvent = static_cast(event); + if (keyEvent->key() == Qt::Key_Escape) { + event->accept(); + return true; + } + } else if (event->type() == QEvent::KeyPress) { + QKeyEvent *keyEvent = static_cast(event); + if (keyEvent == QKeySequence::Undo) { + m_document->undo(); + return true; + } else if (keyEvent == QKeySequence::Redo) { + m_document->redo(); + return true; + } else if (keyEvent->key() == Qt::Key_Escape) { + close(); + return true; + } + } else if (event->type() == QEvent::FocusIn) { + raise(); + } + } + return QFrame::eventFilter(watched, event); +} + +void AnnotWindow::slotUpdateUndoAndRedoInContextMenu(QMenu *menu) +{ + if (!menu) { + return; + } + + QList actionList = menu->actions(); + enum { UndoAct, RedoAct, CutAct, CopyAct, PasteAct, ClearAct, SelectAllAct, NCountActs }; + + QAction *kundo = KStandardAction::create( + KStandardAction::Undo, + m_document, + [doc = m_document] { + // We need a QueuedConnection because undoing may end up destroying the menu this action is on + // because it will undo the addition of the annotation. If it's not queued things gets unhappy + // because the menu is destroyed in the middle of processing the click on the menu itself + QMetaObject::invokeMethod(doc, &Okular::Document::undo, Qt::QueuedConnection); + }, + menu); + QAction *kredo = KStandardAction::create(KStandardAction::Redo, m_document, SLOT(redo()), menu); + connect(m_document, &Okular::Document::canUndoChanged, kundo, &QAction::setEnabled); + connect(m_document, &Okular::Document::canRedoChanged, kredo, &QAction::setEnabled); + kundo->setEnabled(m_document->canUndo()); + kredo->setEnabled(m_document->canRedo()); + + QAction *oldUndo, *oldRedo; + oldUndo = actionList[UndoAct]; + oldRedo = actionList[RedoAct]; + + menu->insertAction(oldUndo, kundo); + menu->insertAction(oldRedo, kredo); + + menu->removeAction(oldUndo); + menu->removeAction(oldRedo); +} + +void AnnotWindow::slotOptionBtn() +{ + // TODO: call context menu in pageview + // Q_EMIT sig... +} + +void AnnotWindow::slotsaveWindowText() +{ + const QString contents = textEdit->toPlainText(); + const int cursorPos = textEdit->textCursor().position(); + if (contents != m_annot->contents()) { + m_document->editPageAnnotationContents(m_page, m_annot, contents, cursorPos, m_prevCursorPos, m_prevAnchorPos); + Q_EMIT containsLatex(GuiUtils::LatexRenderer::mightContainLatex(textEdit->toPlainText())); + } + m_prevCursorPos = cursorPos; + m_prevAnchorPos = textEdit->textCursor().anchor(); +} + +void AnnotWindow::renderLatex(bool render) +{ + if (render) { + textEdit->setReadOnly(true); + disconnect(textEdit, &KTextEdit::textChanged, this, &AnnotWindow::slotsaveWindowText); + disconnect(textEdit, &KTextEdit::cursorPositionChanged, this, &AnnotWindow::slotsaveWindowText); + textEdit->setAcceptRichText(true); + QString contents = m_annot->contents(); + contents = Qt::convertFromPlainText(contents); + QColor fontColor = textEdit->textColor(); + int fontSize = textEdit->fontPointSize(); + QString latexOutput; + GuiUtils::LatexRenderer::Error errorCode = m_latexRenderer->renderLatexInHtml(contents, fontColor, fontSize, Okular::Utils::realDpi(nullptr).width(), latexOutput); + switch (errorCode) { + case GuiUtils::LatexRenderer::LatexNotFound: + KMessageBox::error(this, i18n("Cannot find latex executable."), i18n("LaTeX rendering failed")); + m_title->uncheckLatexButton(); + renderLatex(false); + break; + case GuiUtils::LatexRenderer::DvipngNotFound: + KMessageBox::error(this, i18n("Cannot find dvipng executable."), i18n("LaTeX rendering failed")); + m_title->uncheckLatexButton(); + renderLatex(false); + break; + case GuiUtils::LatexRenderer::LatexFailed: + KMessageBox::detailedError(this, i18n("A problem occurred during the execution of the 'latex' command."), latexOutput, i18n("LaTeX rendering failed")); + m_title->uncheckLatexButton(); + renderLatex(false); + break; + case GuiUtils::LatexRenderer::DvipngFailed: + KMessageBox::error(this, i18n("A problem occurred during the execution of the 'dvipng' command."), i18n("LaTeX rendering failed")); + m_title->uncheckLatexButton(); + renderLatex(false); + break; + case GuiUtils::LatexRenderer::NoError: + default: + textEdit->setHtml(contents); + break; + } + } else { + textEdit->setAcceptRichText(false); + textEdit->setPlainText(m_annot->contents()); + connect(textEdit, &KTextEdit::textChanged, this, &AnnotWindow::slotsaveWindowText); + connect(textEdit, &KTextEdit::cursorPositionChanged, this, &AnnotWindow::slotsaveWindowText); + textEdit->setReadOnly(false); + } +} + +void AnnotWindow::slotHandleContentsChangedByUndoRedo(Okular::Annotation *annot, const QString &contents, int cursorPos, int anchorPos) +{ + if (annot != m_annot) { + return; + } + + textEdit->setPlainText(contents); + QTextCursor c = textEdit->textCursor(); + c.setPosition(anchorPos); + c.setPosition(cursorPos, QTextCursor::KeepAnchor); + m_prevCursorPos = cursorPos; + m_prevAnchorPos = anchorPos; + textEdit->setTextCursor(c); + textEdit->setFocus(); + Q_EMIT containsLatex(GuiUtils::LatexRenderer::mightContainLatex(m_annot->contents())); +} + +#include "annotwindow.moc" diff --git a/part/annotwindow.h b/part/annotwindow.h new file mode 100644 index 0000000..23ab9bc --- /dev/null +++ b/part/annotwindow.h @@ -0,0 +1,82 @@ +/* + SPDX-FileCopyrightText: 2006 Chu Xiaodong + SPDX-FileCopyrightText: 2006 Pino Toscano + + Work sponsored by the LiMux project of the city of Munich: + SPDX-FileCopyrightText: 2017 Klarälvdalens Datakonsult AB a KDAB Group company + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _ANNOTWINDOW_H_ +#define _ANNOTWINDOW_H_ + +#include +#include + +namespace Okular +{ +class Annotation; +class Document; +} + +namespace GuiUtils +{ +class LatexRenderer; +} + +class KTextEdit; +class MovableTitle; +class QMenu; + +class AnnotWindow : public QFrame +{ + Q_OBJECT +public: + AnnotWindow(QWidget *parent, QRect initialViewportBounds, Okular::Annotation *annot, Okular::Document *document, int page); + ~AnnotWindow() override; + + void reloadInfo(); + + Okular::Annotation *annotation() const; + int pageNumber() const; + + void updateAnnotation(Okular::Annotation *a); + void updateViewportBounds(QRect bounds); + +private: + void fixupGeometry(); + static constexpr const QPoint defaultPosition {10, 10}; + static constexpr const QSize defaultSize {300, 300}; + + QRect m_viewportBounds; + MovableTitle *m_title; + KTextEdit *textEdit; + QColor m_color; + GuiUtils::LatexRenderer *m_latexRenderer; + Okular::Annotation *m_annot; + Okular::Document *m_document; + int m_page; + int m_prevCursorPos; + int m_prevAnchorPos; + +public Q_SLOTS: + void renderLatex(bool render); + +protected: + void showEvent(QShowEvent *event) override; + void moveEvent(QMoveEvent *event) override; + void resizeEvent(QResizeEvent *event) override; + bool eventFilter(QObject *watched, QEvent *event) override; + +private Q_SLOTS: + void slotUpdateUndoAndRedoInContextMenu(QMenu *menu); + void slotOptionBtn(); + void slotsaveWindowText(); + void slotHandleContentsChangedByUndoRedo(Okular::Annotation *annot, const QString &contents, int cursorPos, int anchorPos); + +Q_SIGNALS: + void containsLatex(bool); +}; + +#endif diff --git a/part/bookmarklist.cpp b/part/bookmarklist.cpp new file mode 100644 index 0000000..e75f6e9 --- /dev/null +++ b/part/bookmarklist.cpp @@ -0,0 +1,475 @@ +/* + SPDX-FileCopyrightText: 2006 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "bookmarklist.h" + +// qt/kde includes +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include + +#include "core/action.h" +#include "core/bookmarkmanager.h" +#include "core/document.h" +#include "gui/tocmodel.h" +#include "ktreeviewsearchline.h" +#include "pageitemdelegate.h" +#include "settings.h" + +static const int BookmarkItemType = QTreeWidgetItem::UserType + 1; +static const int FileItemType = QTreeWidgetItem::UserType + 2; +static const int UrlRole = Qt::UserRole + 1; + +class BookmarkItem : public QTreeWidgetItem +{ +public: + explicit BookmarkItem(const KBookmark &bm) + : QTreeWidgetItem(BookmarkItemType) + , m_bookmark(bm) + { + setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled | Qt::ItemIsEditable); + m_url = m_bookmark.url(); + m_viewport = Okular::DocumentViewport(m_url.fragment(QUrl::FullyDecoded)); + m_url.setFragment(QString()); + setText(0, m_bookmark.fullText()); + if (m_viewport.isValid()) { + setData(0, TOCModel::PageRole, QString::number(m_viewport.pageNumber + 1)); + } + } + + BookmarkItem(const BookmarkItem &) = delete; + BookmarkItem &operator=(const BookmarkItem &) = delete; + + QVariant data(int column, int role) const override + { + switch (role) { + case Qt::ToolTipRole: + return m_bookmark.fullText(); + } + return QTreeWidgetItem::data(column, role); + } + + bool operator<(const QTreeWidgetItem &other) const override + { + if (other.type() == BookmarkItemType) { + const BookmarkItem *cmp = static_cast(&other); + return m_viewport < cmp->m_viewport; + } + return QTreeWidgetItem::operator<(other); + } + + KBookmark &bookmark() + { + return m_bookmark; + } + + const Okular::DocumentViewport &viewport() const + { + return m_viewport; + } + + QUrl url() const + { + return m_url; + } + +private: + KBookmark m_bookmark; + QUrl m_url; + Okular::DocumentViewport m_viewport; +}; + +class FileItem : public QTreeWidgetItem +{ +public: + FileItem(const QUrl &url, QTreeWidget *tree, Okular::Document *document) + : QTreeWidgetItem(tree, FileItemType) + { + setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled | Qt::ItemIsEditable); + const QString fileString = document->bookmarkManager()->titleForUrl(url); + setText(0, fileString); + setData(0, UrlRole, QVariant::fromValue(url)); + } + + FileItem(const FileItem &) = delete; + FileItem &operator=(const FileItem &) = delete; + + QVariant data(int column, int role) const override + { + switch (role) { + case Qt::ToolTipRole: + return i18ncp("%1 is the file name", "%1\n\nOne bookmark", "%1\n\n%2 bookmarks", text(0), childCount()); + } + return QTreeWidgetItem::data(column, role); + } +}; + +BookmarkList::BookmarkList(Okular::Document *document, QWidget *parent) + : QWidget(parent) + , m_document(document) + , m_currentDocumentItem(nullptr) +{ + QVBoxLayout *mainlay = new QVBoxLayout(this); + mainlay->setSpacing(6); + + KTitleWidget *titleWidget = new KTitleWidget(this); + titleWidget->setLevel(4); + titleWidget->setText(i18n("Bookmarks")); + mainlay->addWidget(titleWidget); + mainlay->setAlignment(titleWidget, Qt::AlignHCenter); + + m_showForAllDocumentsCheckbox = new QCheckBox(i18n("Show for all documents"), this); + m_showForAllDocumentsCheckbox->setChecked(true); // this setting isn't saved + connect(m_showForAllDocumentsCheckbox, &QCheckBox::toggled, this, &BookmarkList::slotShowAllBookmarks); + mainlay->addWidget(m_showForAllDocumentsCheckbox); + + m_searchLine = new KTreeViewSearchLine(this); + mainlay->addWidget(m_searchLine); + m_searchLine->setPlaceholderText(i18n("Search…")); + m_searchLine->setCaseSensitivity(Okular::Settings::self()->contentsSearchCaseSensitive() ? Qt::CaseSensitive : Qt::CaseInsensitive); + m_searchLine->setRegularExpression(Okular::Settings::self()->contentsSearchRegularExpression()); + connect(m_searchLine, &KTreeViewSearchLine::searchOptionsChanged, this, &BookmarkList::saveSearchOptions); + + m_tree = new QTreeWidget(this); + mainlay->addWidget(m_tree); + QStringList cols; + cols.append(QStringLiteral("Bookmarks")); + m_tree->setContextMenuPolicy(Qt::CustomContextMenu); + m_tree->setHeaderLabels(cols); + m_tree->setSortingEnabled(false); + m_tree->setRootIsDecorated(true); + m_tree->setAlternatingRowColors(true); + m_tree->setItemDelegate(new PageItemDelegate(m_tree)); + m_tree->header()->hide(); + m_tree->setSelectionBehavior(QAbstractItemView::SelectRows); + m_tree->setEditTriggers(QAbstractItemView::EditKeyPressed); + connect(m_tree, &QTreeWidget::itemActivated, this, &BookmarkList::slotExecuted); + connect(m_tree, &QTreeWidget::customContextMenuRequested, this, &BookmarkList::slotContextMenu); + m_searchLine->setTreeView(static_cast(m_tree)); + + connect(m_document->bookmarkManager(), &Okular::BookmarkManager::bookmarksChanged, this, &BookmarkList::slotBookmarksChanged); + + rebuildTree(m_showForAllDocumentsCheckbox->isChecked()); + + m_showAllToolButton = new QToolButton(this); + m_showAllToolButton->setAutoRaise(true); + m_showAllToolButton->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); + mainlay->addWidget(m_showAllToolButton); +} + +BookmarkList::~BookmarkList() +{ + m_document->removeObserver(this); +} + +void BookmarkList::notifySetup(const QList &pages, int setupFlags) +{ + Q_UNUSED(pages); + if (!(setupFlags & Okular::DocumentObserver::UrlChanged)) { + return; + } + + // clear contents + m_searchLine->clear(); + + if (!m_showForAllDocumentsCheckbox->isChecked()) { + rebuildTree(m_showForAllDocumentsCheckbox->isChecked()); + } else { + disconnect(m_tree, &QTreeWidget::itemChanged, this, &BookmarkList::slotChanged); + if (m_currentDocumentItem && m_currentDocumentItem != m_tree->invisibleRootItem()) { + m_currentDocumentItem->setIcon(0, QIcon()); + } + m_currentDocumentItem = itemForUrl(m_document->currentDocument()); + if (m_currentDocumentItem && m_currentDocumentItem != m_tree->invisibleRootItem()) { + m_currentDocumentItem->setIcon(0, QIcon::fromTheme(QStringLiteral("bookmarks"))); + m_currentDocumentItem->setExpanded(true); + } + connect(m_tree, &QTreeWidget::itemChanged, this, &BookmarkList::slotChanged); + } +} + +void BookmarkList::setAddBookmarkAction(QAction *addBookmarkAction) +{ + m_showAllToolButton->setDefaultAction(addBookmarkAction); +} + +void BookmarkList::slotShowAllBookmarks(bool showAll) +{ + rebuildTree(showAll); +} + +void BookmarkList::slotExecuted(QTreeWidgetItem *item) +{ + BookmarkItem *bmItem = dynamic_cast(item); + if (!bmItem || !bmItem->viewport().isValid()) { + return; + } + + goTo(bmItem); +} + +void BookmarkList::slotChanged(QTreeWidgetItem *item) +{ + BookmarkItem *bmItem = dynamic_cast(item); + if (bmItem && bmItem->viewport().isValid()) { + bmItem->bookmark().setFullText(bmItem->text(0)); + m_document->bookmarkManager()->save(); + } + + FileItem *fItem = dynamic_cast(item); + if (fItem) { + const QUrl url = fItem->data(0, UrlRole).value(); + m_document->bookmarkManager()->renameBookmark(url, fItem->text(0)); + m_document->bookmarkManager()->save(); + } +} + +void BookmarkList::slotContextMenu(const QPoint p) +{ + QTreeWidgetItem *item = m_tree->itemAt(p); + BookmarkItem *bmItem = item ? dynamic_cast(item) : nullptr; + if (bmItem) { + contextMenuForBookmarkItem(p, bmItem); + } else if (FileItem *fItem = dynamic_cast(item)) { + contextMenuForFileItem(p, fItem); + } +} + +void BookmarkList::contextMenuForBookmarkItem(const QPoint p, BookmarkItem *bmItem) +{ + Q_UNUSED(p); + if (!bmItem || !bmItem->viewport().isValid()) { + return; + } + + QMenu menu(this); + const QAction *expandall = menu.addAction(i18n("Expand All")); + const QAction *collapseall = menu.addAction(i18n("Collapse All")); + const QAction *gotobm = menu.addAction(i18n("Go to This Bookmark")); + const QAction *editbm = menu.addAction(QIcon::fromTheme(QStringLiteral("edit-rename")), i18n("Rename Bookmark")); + const QAction *removebm = menu.addAction(QIcon::fromTheme(QStringLiteral("bookmark-remove"), QIcon::fromTheme(QStringLiteral("edit-delete-bookmark"))), i18n("Remove Bookmark")); + const QAction *res = menu.exec(QCursor::pos()); + if (!res) { + return; + } + + if (res == expandall) { + m_tree->expandAll(); + } else if (res == collapseall) { + m_tree->collapseAll(); + } else if (res == gotobm) { + goTo(bmItem); + } else if (res == editbm) { + m_tree->editItem(bmItem, 0); + } else if (res == removebm) { + m_document->bookmarkManager()->removeBookmark(bmItem->url(), bmItem->bookmark()); + } +} + +void BookmarkList::contextMenuForFileItem(const QPoint p, FileItem *fItem) +{ + Q_UNUSED(p); + if (!fItem) { + return; + } + + const QUrl itemurl = fItem->data(0, UrlRole).value(); + const bool thisdoc = itemurl == m_document->currentDocument(); + + QMenu menu(this); + const QAction *expandall = menu.addAction(i18n("Expand All")); + const QAction *collapseall = menu.addAction(i18n("Collapse All")); + QAction *open = nullptr; + if (!thisdoc) { + open = menu.addAction(i18nc("Opens the selected document", "Open Document")); + } + const QAction *editbm = menu.addAction(QIcon::fromTheme(QStringLiteral("edit-rename")), i18n("Rename Bookmark")); + const QAction *removebm = menu.addAction(QIcon::fromTheme(QStringLiteral("bookmark-remove"), QIcon::fromTheme(QStringLiteral("edit-delete-bookmark"))), i18n("Remove all Bookmarks for this Document")); + const QAction *res = menu.exec(QCursor::pos()); + if (!res) { + return; + } + + if (res == expandall) { + m_tree->expandAll(); + } else if (res == collapseall) { + m_tree->collapseAll(); + } else if (res == open) { + Okular::GotoAction action(itemurl.toDisplayString(QUrl::PreferLocalFile), Okular::DocumentViewport()); + m_document->processAction(&action); + } else if (res == editbm) { + m_tree->editItem(fItem, 0); + } else if (res == removebm) { + KBookmark::List list; + for (int i = 0; i < fItem->childCount(); ++i) { + list.append(static_cast(fItem->child(i))->bookmark()); + } + m_document->bookmarkManager()->removeBookmarks(itemurl, list); + } +} + +void BookmarkList::slotBookmarksChanged(const QUrl &url) +{ + // special case here, as m_currentDocumentItem could represent + // the invisible root item + if (url == m_document->currentDocument()) { + selectiveUrlUpdate(m_document->currentDocument(), m_currentDocumentItem); + return; + } + + // we are showing the bookmarks for the current document only + if (!m_showForAllDocumentsCheckbox->isChecked()) { + return; + } + + QTreeWidgetItem *item = itemForUrl(url); + selectiveUrlUpdate(url, item); +} + +void BookmarkList::saveSearchOptions() +{ + Okular::Settings::setContentsSearchRegularExpression(m_searchLine->regularExpression()); + Okular::Settings::setContentsSearchCaseSensitive(m_searchLine->caseSensitivity() == Qt::CaseSensitive ? true : false); + Okular::Settings::self()->save(); +} + +QList createItems(const QUrl &baseurl, const KBookmark::List &bmlist) +{ + Q_UNUSED(baseurl) + QList ret; + for (const KBookmark &bm : bmlist) { + // qCDebug(OkularUiDebug).nospace() << "checking '" << tmp << "'"; + // qCDebug(OkularUiDebug).nospace() << " vs '" << baseurl << "'"; + // TODO check that bm and baseurl are the same (#ref excluded) + QTreeWidgetItem *item = new BookmarkItem(bm); + ret.append(item); + } + return ret; +} + +void BookmarkList::rebuildTree(bool showAll) +{ + // disconnect and reconnect later, otherwise we'll get many itemChanged() + // signals for all the current items + disconnect(m_tree, &QTreeWidget::itemChanged, this, &BookmarkList::slotChanged); + + m_currentDocumentItem = nullptr; + m_tree->clear(); + + const QList urls = m_document->bookmarkManager()->files(); + if (!showAll) { + if (m_document->isOpened()) { + for (const QUrl &url : urls) { + if (url == m_document->currentDocument()) { + m_tree->addTopLevelItems(createItems(url, m_document->bookmarkManager()->bookmarks(url))); + m_currentDocumentItem = m_tree->invisibleRootItem(); + break; + } + } + } + } else { + QTreeWidgetItem *currenturlitem = nullptr; + for (const QUrl &url : urls) { + QList subitems = createItems(url, m_document->bookmarkManager()->bookmarks(url)); + if (!subitems.isEmpty()) { + FileItem *item = new FileItem(url, m_tree, m_document); + item->addChildren(subitems); + if (!currenturlitem && url == m_document->currentDocument()) { + currenturlitem = item; + } + } + } + if (currenturlitem) { + currenturlitem->setExpanded(true); + currenturlitem->setIcon(0, QIcon::fromTheme(QStringLiteral("bookmarks"))); + m_tree->scrollToItem(currenturlitem, QAbstractItemView::PositionAtTop); + m_currentDocumentItem = currenturlitem; + } + } + + m_tree->sortItems(0, Qt::AscendingOrder); + + connect(m_tree, &QTreeWidget::itemChanged, this, &BookmarkList::slotChanged); +} + +void BookmarkList::goTo(BookmarkItem *item) +{ + if (item->url() == m_document->currentDocument()) { + m_document->setViewport(item->viewport(), nullptr, true); + } else { + Okular::GotoAction action(item->url().toDisplayString(QUrl::PreferLocalFile), item->viewport()); + m_document->processAction(&action); + } +} + +void BookmarkList::selectiveUrlUpdate(const QUrl &url, QTreeWidgetItem *&item) +{ + disconnect(m_tree, &QTreeWidget::itemChanged, this, &BookmarkList::slotChanged); + + const KBookmark::List urlbookmarks = m_document->bookmarkManager()->bookmarks(url); + if (urlbookmarks.isEmpty()) { + if (item != m_tree->invisibleRootItem()) { + m_tree->invisibleRootItem()->removeChild(item); + item = nullptr; + } else if (item) { + for (int i = item->childCount(); i >= 0; --i) { + item->removeChild(item->child(i)); + } + } + } else { + bool fileitem_created = false; + + if (item) { + for (int i = item->childCount() - 1; i >= 0; --i) { + item->removeChild(item->child(i)); + } + } else { + item = new FileItem(url, m_tree, m_document); + fileitem_created = true; + } + if (m_document->isOpened() && url == m_document->currentDocument()) { + item->setIcon(0, QIcon::fromTheme(QStringLiteral("bookmarks"))); + item->setExpanded(true); + } + item->addChildren(createItems(url, urlbookmarks)); + + if (fileitem_created) { + // we need to sort also the parent of the new file item, + // so it can be properly shown in the correct place + m_tree->invisibleRootItem()->sortChildren(0, Qt::AscendingOrder); + } + item->sortChildren(0, Qt::AscendingOrder); + } + + connect(m_tree, &QTreeWidget::itemChanged, this, &BookmarkList::slotChanged); +} + +QTreeWidgetItem *BookmarkList::itemForUrl(const QUrl &url) const +{ + const int count = m_tree->topLevelItemCount(); + for (int i = 0; i < count; ++i) { + QTreeWidgetItem *item = m_tree->topLevelItem(i); + const QUrl itemurl = item->data(0, UrlRole).value(); + if (itemurl.isValid() && itemurl == url) { + return item; + } + } + return nullptr; +} + +#include "moc_bookmarklist.cpp" diff --git a/part/bookmarklist.h b/part/bookmarklist.h new file mode 100644 index 0000000..b2f5596 --- /dev/null +++ b/part/bookmarklist.h @@ -0,0 +1,66 @@ +/* + SPDX-FileCopyrightText: 2006 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef BOOKMARKLIST_H +#define BOOKMARKLIST_H + +#include + +#include "core/observer.h" + +class QAction; +class QCheckBox; +class QToolButton; +class QTreeWidget; +class QTreeWidgetItem; +class KTreeViewSearchLine; +class QUrl; +class BookmarkItem; +class FileItem; + +namespace Okular +{ +class Document; +} + +class BookmarkList : public QWidget, public Okular::DocumentObserver +{ + Q_OBJECT + +public: + explicit BookmarkList(Okular::Document *document, QWidget *parent = nullptr); + ~BookmarkList() override; + + // inherited from DocumentObserver + void notifySetup(const QList &pages, int setupFlags) override; + + void setAddBookmarkAction(QAction *addBookmarkAction); + +private Q_SLOTS: + void slotShowAllBookmarks(bool); + void slotExecuted(QTreeWidgetItem *item); + void slotChanged(QTreeWidgetItem *item); + void slotContextMenu(const QPoint p); + void slotBookmarksChanged(const QUrl &url); + void saveSearchOptions(); + +private: + void rebuildTree(bool showAll); + void goTo(BookmarkItem *item); + void selectiveUrlUpdate(const QUrl &url, QTreeWidgetItem *&item); + QTreeWidgetItem *itemForUrl(const QUrl &url) const; + void contextMenuForBookmarkItem(const QPoint p, BookmarkItem *bmItem); + void contextMenuForFileItem(const QPoint p, FileItem *fItem); + + Okular::Document *m_document; + QTreeWidget *m_tree; + KTreeViewSearchLine *m_searchLine; + QCheckBox *m_showForAllDocumentsCheckbox; + QTreeWidgetItem *m_currentDocumentItem; + QToolButton *m_showAllToolButton; +}; + +#endif diff --git a/part/certificateviewer.cpp b/part/certificateviewer.cpp new file mode 100644 index 0000000..77b2979 --- /dev/null +++ b/part/certificateviewer.cpp @@ -0,0 +1,166 @@ +/* + SPDX-FileCopyrightText: 2018 Chinmoy Ranjan Pradhan + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "certificateviewer.h" + +#include "gui/certificatemodel.h" + +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "DistinguishedNameParser.h" +#include "gui/signatureguiutils.h" + +QString splitDNAttributes(const QString &input) +{ + auto parsed = DN::parseString(input.toStdString()); + QStringList result; + for (auto &&[key, value] : parsed) { + result.push_back(QString::fromStdString(key) + QLatin1Char('=') + QString::fromStdString(value)); + } + return result.join(QStringLiteral("\n")); +} + +CertificateViewer::CertificateViewer(const Okular::CertificateInfo &certInfo, QWidget *parent) + : KPageDialog(parent) + , m_certificateInfo(certInfo) +{ + setModal(true); + setMinimumSize(QSize(500, 500)); + setFaceType(Tabbed); + setWindowTitle(i18n("Certificate Viewer")); + setStandardButtons(QDialogButtonBox::Close); + + auto exportBtn = new QPushButton(i18n("Export…")); + connect(exportBtn, &QPushButton::clicked, this, &CertificateViewer::exportCertificate); + addActionButton(exportBtn); + + // General tab + auto generalPage = new QFrame(this); + addPage(generalPage, i18n("General")); + + auto issuerBox = new QGroupBox(i18n("Issued By"), generalPage); + auto issuerFormLayout = new QFormLayout(issuerBox); + issuerFormLayout->setLabelAlignment(Qt::AlignLeft); + issuerFormLayout->addRow(i18n("Common Name(CN)"), new QLabel(m_certificateInfo.issuerInfo(Okular::CertificateInfo::CommonName, Okular::CertificateInfo::EmptyString::TranslatedNotAvailable))); + issuerFormLayout->addRow(i18n("EMail"), new QLabel(m_certificateInfo.issuerInfo(Okular::CertificateInfo::EmailAddress, Okular::CertificateInfo::EmptyString::TranslatedNotAvailable))); + issuerFormLayout->addRow(i18n("Organization(O)"), new QLabel(m_certificateInfo.issuerInfo(Okular::CertificateInfo::Organization, Okular::CertificateInfo::EmptyString::TranslatedNotAvailable))); + + auto subjectBox = new QGroupBox(i18n("Issued To"), generalPage); + auto subjectFormLayout = new QFormLayout(subjectBox); + subjectFormLayout->setLabelAlignment(Qt::AlignLeft); + subjectFormLayout->addRow(i18n("Common Name(CN)"), new QLabel(m_certificateInfo.subjectInfo(Okular::CertificateInfo::CommonName, Okular::CertificateInfo::EmptyString::TranslatedNotAvailable))); + subjectFormLayout->addRow(i18n("EMail"), new QLabel(m_certificateInfo.subjectInfo(Okular::CertificateInfo::EmailAddress, Okular::CertificateInfo::EmptyString::TranslatedNotAvailable))); + subjectFormLayout->addRow(i18n("Organization(O)"), new QLabel(m_certificateInfo.subjectInfo(Okular::CertificateInfo::Organization, Okular::CertificateInfo::EmptyString::TranslatedNotAvailable))); + + auto validityBox = new QGroupBox(i18n("Validity"), generalPage); + auto validityFormLayout = new QFormLayout(validityBox); + validityFormLayout->setLabelAlignment(Qt::AlignLeft); + validityFormLayout->addRow(i18n("Issued On"), new QLabel(QLocale().toString(m_certificateInfo.validityStart(), QLocale::LongFormat))); + validityFormLayout->addRow(i18n("Expires On"), new QLabel(QLocale().toString(m_certificateInfo.validityEnd(), QLocale::LongFormat))); + + auto fingerprintBox = new QGroupBox(i18n("Fingerprints"), generalPage); + auto fingerprintFormLayout = new QFormLayout(fingerprintBox); + fingerprintFormLayout->setLabelAlignment(Qt::AlignLeft); + fingerprintFormLayout->setFieldGrowthPolicy(QFormLayout::AllNonFixedFieldsGrow); + QByteArray certData = m_certificateInfo.certificateData(); + auto sha1Label = new QLabel(QString::fromLatin1(QCryptographicHash::hash(certData, QCryptographicHash::Sha1).toHex(' '))); + sha1Label->setWordWrap(true); + auto sha256Label = new QLabel(QString::fromLatin1(QCryptographicHash::hash(certData, QCryptographicHash::Sha256).toHex(' '))); + sha256Label->setWordWrap(true); + fingerprintFormLayout->addRow(i18n("SHA-1 Fingerprint"), sha1Label); + fingerprintFormLayout->addRow(i18n("SHA-256 Fingerprint"), sha256Label); + + auto generalPageLayout = new QVBoxLayout(generalPage); + generalPageLayout->addWidget(issuerBox); + generalPageLayout->addWidget(subjectBox); + generalPageLayout->addWidget(validityBox); + generalPageLayout->addWidget(fingerprintBox); + generalPageLayout->addStretch(); + + // force column 1 to have same width + auto resizer = new KColumnResizer(this); + resizer->addWidgetsFromLayout(issuerBox->layout(), 0); + resizer->addWidgetsFromLayout(subjectBox->layout(), 0); + resizer->addWidgetsFromLayout(validityBox->layout(), 0); + resizer->addWidgetsFromLayout(fingerprintBox->layout(), 0); + + // Details tab + auto detailsFrame = new QFrame(this); + addPage(detailsFrame, i18n("Details")); + auto certDataLabel = new QLabel(i18n("Certificate Data:")); + auto certTree = new QTreeView(this); + certTree->setIndentation(0); + m_certificateModel = new CertificateModel(m_certificateInfo, this); + certTree->setModel(m_certificateModel); + connect(certTree->selectionModel(), &QItemSelectionModel::currentChanged, this, &CertificateViewer::updateText); + m_propertyText = new QTextEdit(this); + m_propertyText->setReadOnly(true); + + auto detailsPageLayout = new QVBoxLayout(detailsFrame); + detailsPageLayout->addWidget(certDataLabel); + detailsPageLayout->addWidget(certTree); + detailsPageLayout->addWidget(m_propertyText); +} + +void CertificateViewer::updateText(const QModelIndex &index) +{ + QString text; + const CertificateModel::Property key = m_certificateModel->data(index, CertificateModel::PropertyKeyRole).value(); + switch (key) { + case CertificateModel::SerialNumber: + case CertificateModel::Version: + case CertificateModel::IssuedOn: + case CertificateModel::ExpiresOn: + text = m_certificateModel->data(index, CertificateModel::PropertyVisibleValueRole).toString(); + break; + case CertificateModel::Issuer: + case CertificateModel::Subject: + text = splitDNAttributes(m_certificateModel->data(index, CertificateModel::PropertyVisibleValueRole).toString()); + break; + case CertificateModel::PublicKey: + text = QString::fromLatin1(m_certificateInfo.publicKey().toHex(' ')); + break; + case CertificateModel::KeyUsage: + text = SignatureGuiUtils::getReadableKeyUsageNewLineSeparated(m_certificateInfo.keyUsageExtensions()); + break; + case CertificateModel::IssuerName: + case CertificateModel::IssuerEmail: + case CertificateModel::IssuerOrganization: + case CertificateModel::SubjectName: + case CertificateModel::SubjectEmail: + case CertificateModel::SubjectOrganization: + case CertificateModel::Sha1: + case CertificateModel::Sha256: + Q_ASSERT(false); + qWarning() << "Unused"; + } + m_propertyText->setText(text); +} + +void CertificateViewer::exportCertificate() +{ + const QString caption = i18n("Where do you want to save this certificate?"); + const QString path = QFileDialog::getSaveFileName(this, caption, QStringLiteral("Certificate.cer"), i18n("Certificate File (*.cer)")); + if (!path.isEmpty()) { + if (!m_certificateModel->exportCertificateTo(path)) { + KMessageBox::error(this, i18n("Could not export the certificate")); + } + } +} diff --git a/part/certificateviewer.h b/part/certificateviewer.h new file mode 100644 index 0000000..eab1e3d --- /dev/null +++ b/part/certificateviewer.h @@ -0,0 +1,40 @@ +/* + SPDX-FileCopyrightText: 2018 Chinmoy Ranjan Pradhan + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef OKULAR_CERTIFICATEVIEWER_H +#define OKULAR_CERTIFICATEVIEWER_H + +#include + +#include "core/signatureutils.h" + +class CertificateModel; + +class QTextEdit; + +namespace Okular +{ +class CertificateInfo; +} + +class CertificateViewer : public KPageDialog +{ + Q_OBJECT + +public: + CertificateViewer(const Okular::CertificateInfo &certInfo, QWidget *parent); + +private Q_SLOTS: + void updateText(const QModelIndex &index); + void exportCertificate(); + +private: + QTextEdit *m_propertyText; + CertificateModel *m_certificateModel; + const Okular::CertificateInfo &m_certificateInfo; +}; + +#endif diff --git a/part/colormodemenu.cpp b/part/colormodemenu.cpp new file mode 100644 index 0000000..54a0c92 --- /dev/null +++ b/part/colormodemenu.cpp @@ -0,0 +1,139 @@ +/* + SPDX-FileCopyrightText: 2019-2021 David Hurka + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "colormodemenu.h" + +#include + +#include +#include +#include // TODO KF6: Remove, this was needed for KActionMenu::setPopupMode(). + +#include "gui/guiutils.h" +#include "settings.h" + +ColorModeMenu::ColorModeMenu(KActionCollection *ac, QObject *parent) + : ToggleActionMenu(QIcon::fromTheme(QStringLiteral("color-management")), i18nc("@title:menu", "&Color Mode"), parent) + , m_colorModeActionGroup(new QActionGroup(this)) + , m_aChangeColors(new KToggleAction(QIcon::fromTheme(QStringLiteral("color-management")), i18nc("@action Change Colors feature toggle action", "Change Colors"), this)) +{ + setPopupMode(QToolButton::MenuButtonPopup); + + Q_ASSERT_X(ac->action(QStringLiteral("color_mode_menu")) == nullptr, "ColorModeMenu", "ColorModeMenu constructed twice; color_mode_menu already in action collection."); + ac->addAction(QStringLiteral("color_mode_menu"), this); + + // Normal Colors action. + m_aNormal = new KToggleAction(i18nc("@item:inmenu color mode", "&Normal Colors"), this); + ac->addAction(QStringLiteral("color_mode_normal"), m_aNormal); + addAction(m_aNormal); + m_colorModeActionGroup->addAction(m_aNormal); + + // Other color mode actions. + auto addColorMode = [=, this](KToggleAction *a, const QString &name, Okular::SettingsCore::EnumRenderMode::type id) { + a->setData(int(id)); + addAction(a); + ac->addAction(name, a); + m_colorModeActionGroup->addAction(a); + }; + addColorMode(new KToggleAction(QIcon::fromTheme(QStringLiteral("invertimage")), i18nc("@item:inmenu color mode", "&Invert Colors"), this), QStringLiteral("color_mode_inverted"), Okular::SettingsCore::EnumRenderMode::Inverted); + m_aPaperColor = new KToggleAction(i18nc("@item:inmenu color mode", "Change &Paper Color"), this); + addColorMode(m_aPaperColor, QStringLiteral("color_mode_paper"), Okular::SettingsCore::EnumRenderMode::Paper); + m_aDarkLight = new KToggleAction(i18nc("@item:inmenu color mode", "Change &Dark && Light Colors"), this); + addColorMode(m_aDarkLight, QStringLiteral("color_mode_recolor"), Okular::SettingsCore::EnumRenderMode::Recolor); + addColorMode(new KToggleAction(QIcon::fromTheme(QStringLiteral("color-mode-black-white")), i18nc("@item:inmenu color mode", "Convert to &Black && White"), this), + QStringLiteral("color_mode_black_white"), + Okular::SettingsCore::EnumRenderMode::BlackWhite); + addColorMode(new KToggleAction(QIcon::fromTheme(QStringLiteral("color-mode-invert-text")), i18nc("@item:inmenu color mode", "Invert &Lightness"), this), + QStringLiteral("color_mode_invert_lightness"), + Okular::SettingsCore::EnumRenderMode::InvertLightness); + addColorMode(new KToggleAction(QIcon::fromTheme(QStringLiteral("color-mode-invert-image")), i18nc("@item:inmenu color mode", "Invert L&uma (sRGB Linear)"), this), + QStringLiteral("color_mode_invert_luma_srgb"), + Okular::SettingsCore::EnumRenderMode::InvertLuma); + addColorMode(new KToggleAction(QIcon::fromTheme(QStringLiteral("color-mode-invert-image")), i18nc("@item:inmenu color mode", "Invert Luma (&Symmetric)"), this), + QStringLiteral("color_mode_invert_luma_symmetric"), + Okular::SettingsCore::EnumRenderMode::InvertLumaSymmetric); + addColorMode(new KToggleAction(QIcon::fromTheme(QStringLiteral("color-mode-hue-shift-positive")), i18nc("@item:inmenu color mode", "Shift Hue P&ositive"), this), + QStringLiteral("color_mode_hue_shift_positive"), + Okular::SettingsCore::EnumRenderMode::HueShiftPositive); + addColorMode(new KToggleAction(QIcon::fromTheme(QStringLiteral("color-mode-hue-shift-negative")), i18nc("@item:inmenu color mode", "Shift Hue N&egative"), this), + QStringLiteral("color_mode_hue_shift_negative"), + Okular::SettingsCore::EnumRenderMode::HueShiftNegative); + + // Add Configure Color Modes action. + addSeparator(); + QAction *aConfigure = ac->action(QStringLiteral("options_configure_color_modes")); + Q_ASSERT_X(aConfigure, "ColorModeMenu", "options_configure_color_modes is not in the action collection."); + addAction(aConfigure); + + connect(m_colorModeActionGroup, &QActionGroup::triggered, this, &ColorModeMenu::slotColorModeActionTriggered); + connect(Okular::SettingsCore::self(), &Okular::SettingsCore::colorModesChanged, this, &ColorModeMenu::slotConfigChanged); + connect(Okular::Settings::self(), &Okular::Settings::colorModesChanged2, this, &ColorModeMenu::slotConfigChanged); + connect(this, &QAction::changed, this, &ColorModeMenu::slotChanged); + + // Allow to configure a toggle shortcut. + connect(m_aChangeColors, &QAction::toggled, this, &ColorModeMenu::slotSetChangeColors); + ac->addAction(QStringLiteral("color_mode_change_colors"), m_aChangeColors); + + slotConfigChanged(); +} + +void ColorModeMenu::slotColorModeActionTriggered(QAction *action) +{ + const int newRenderMode = action->data().toInt(); + // Color mode toggles to normal when the currently checked mode is triggered. + // Normal mode is special, triggering it always enables normal mode. + // Otherwise, the triggered color mode is activated. + if (action == m_aNormal) { + Okular::SettingsCore::setChangeColors(false); + } else if (Okular::SettingsCore::renderMode() == newRenderMode) { + Okular::SettingsCore::setChangeColors(!Okular::SettingsCore::changeColors()); + } else { + Okular::SettingsCore::setRenderMode(newRenderMode); + Okular::SettingsCore::setChangeColors(true); + } + Okular::SettingsCore::self()->save(); +} + +void ColorModeMenu::slotSetChangeColors(bool on) +{ + Okular::SettingsCore::setChangeColors(on); + Okular::SettingsCore::self()->save(); +} + +void ColorModeMenu::slotConfigChanged() +{ + // Check the current color mode action, and update the toolbar button default action + const int rm = Okular::SettingsCore::renderMode(); + const QList colorModeActions = m_colorModeActionGroup->actions(); + for (QAction *a : colorModeActions) { + if (a != m_aNormal && a->data().toInt() == rm) { + a->setChecked(true); + setDefaultAction(a); + break; + } + } + + // If Change Colors is disabled, check Normal Colors instead + if (!Okular::SettingsCore::changeColors()) { + m_aNormal->setChecked(true); + } + + // Update color icons + m_aPaperColor->setIcon(GuiUtils::createColorIcon(QList() << Okular::Settings::paperColor(), QIcon::fromTheme(QStringLiteral("paper-color")))); + m_aDarkLight->setIcon(GuiUtils::createColorIcon(QList() << Okular::Settings::recolorForeground() << Okular::Settings::recolorBackground(), QIcon::fromTheme(QStringLiteral("color-mode-black-white")))); + + // Update toggle action + m_aChangeColors->setChecked(Okular::SettingsCore::changeColors()); +} + +void ColorModeMenu::slotChanged() +{ + const bool enabled = isEnabled(); + const QList colorModeActions = m_colorModeActionGroup->actions(); + for (QAction *a : colorModeActions) { + a->setEnabled(enabled); + } +} diff --git a/part/colormodemenu.h b/part/colormodemenu.h new file mode 100644 index 0000000..0c37ea2 --- /dev/null +++ b/part/colormodemenu.h @@ -0,0 +1,71 @@ +/* + SPDX-FileCopyrightText: 2019-2021 David Hurka + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef COLORMODEMENU_H +#define COLORMODEMENU_H + +#include "toggleactionmenu.h" + +class KActionCollection; +class KToggleAction; + +/** + * Color Mode menu. Allows to change Okular::Settings::RenderMode from the toolbar. + * + * The toolbar button will always show the last selected color mode (except normal mode), + * so it can be quickly enabled and disabled by just clicking the button. + * Clicking on the menu arrow opens a menu with all color modes (including normal mode), + * and an action to configure the color modes. + * + * Every color mode actions is available in the action collection, in addition to this menu itself. + * + * Color mode actions are enabled/disabled automatically when this menu is enabled/disabled. + */ +class ColorModeMenu : public ToggleActionMenu +{ + Q_OBJECT + +public: + explicit ColorModeMenu(KActionCollection *ac, QObject *parent); + +protected: + /** Makes color mode actions exclusive */ + QActionGroup *m_colorModeActionGroup; + + KToggleAction *m_aNormal; + KToggleAction *m_aPaperColor; + KToggleAction *m_aDarkLight; + + /** Allows to set a shortcut to toggle the Change Colors feature. */ + KToggleAction *m_aChangeColors; + +protected Q_SLOTS: + /** + * Sets the color mode (render mode) to the one represented by @p action. + * + * If @p action represents the current mode, toggles the Change Colors feature. + */ + void slotColorModeActionTriggered(QAction *action); + + /** + * Sets the change colors feature on or off. + */ + void slotSetChangeColors(bool on); + + /** + * Updates the default action and the checked states of the color mode menu. + * + * Call this when the color mode was changed or Change Colors was toggled. + */ + void slotConfigChanged(); + + /** + * Updates child actions as necessary + */ + void slotChanged(); +}; + +#endif // COLORMODEMENU_H diff --git a/part/cursorwraphelper.cpp b/part/cursorwraphelper.cpp new file mode 100644 index 0000000..546f4a4 --- /dev/null +++ b/part/cursorwraphelper.cpp @@ -0,0 +1,100 @@ +/* + SPDX-FileCopyrightText: 2020 David Hurka + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "cursorwraphelper.h" + +#include +#include +#include +#include + +QPointer CursorWrapHelper::s_lastScreen; +QPoint CursorWrapHelper::s_lastCursorPosition; +QPoint CursorWrapHelper::s_lastWrapOperation; + +QPoint CursorWrapHelper::wrapCursor(QPoint eventPosition, Qt::Edges edges) +{ + QScreen *screen = getScreen(); + if (!screen) { + return QPoint(); + } + + // Step 1: Generate wrap operations. + // Assuming screen->geometry() is larger than 10x10. + const QRect screenGeometry = screen->geometry(); + const QPoint screenCursorPos = QCursor::pos(screen); + + if (edges & Qt::LeftEdge && screenCursorPos.x() < screenGeometry.left() + 4) { + QCursor::setPos(screen, screenCursorPos + QPoint(screenGeometry.width() - 10, 0)); + s_lastWrapOperation.setX(screenGeometry.width() - 10); + } else if (edges & Qt::RightEdge && screenCursorPos.x() > screenGeometry.right() - 4) { + QCursor::setPos(screen, screenCursorPos + QPoint(-screenGeometry.width() + 10, 0)); + s_lastWrapOperation.setX(-screenGeometry.width() + 10); + } + + if (edges & Qt::TopEdge && screenCursorPos.y() < screenGeometry.top() + 4) { + QCursor::setPos(screen, screenCursorPos + QPoint(0, screenGeometry.height() - 10)); + s_lastWrapOperation.setY(screenGeometry.height() - 10); + } else if (edges & Qt::BottomEdge && screenCursorPos.y() > screenGeometry.bottom() - 4) { + QCursor::setPos(screen, screenCursorPos + QPoint(0, -screenGeometry.height() + 10)); + s_lastWrapOperation.setY(-screenGeometry.height() + 10); + } + + // Step 2: Catch wrap movements. + // We observe the cursor movement since the last call of wrapCursor(). + // If the cursor moves in the same magnitude as the last wrap operation, + // we return the value of this wrap operation with appropriate sign. + const QPoint cursorMovement = eventPosition - s_lastCursorPosition; + s_lastCursorPosition = eventPosition; + + QPoint ret_wrapDistance; + + qreal horizontalMagnitude = qAbs(qreal(s_lastWrapOperation.x()) / qreal(cursorMovement.x())); + int horizontalSign = cursorMovement.x() > 0 ? 1 : -1; + if (0.5 < horizontalMagnitude && horizontalMagnitude < 2.0) { + ret_wrapDistance.setX(qAbs(s_lastWrapOperation.x()) * horizontalSign); + } + + qreal verticalMagnitude = qAbs(qreal(s_lastWrapOperation.y()) / qreal(cursorMovement.y())); + int verticalSign = cursorMovement.y() > 0 ? 1 : -1; + if (0.5 < verticalMagnitude && verticalMagnitude < 2.0) { + ret_wrapDistance.setY(qAbs(s_lastWrapOperation.y()) * verticalSign); + } + + return ret_wrapDistance; +} + +void CursorWrapHelper::startDrag() +{ + s_lastWrapOperation.setX(0); + s_lastWrapOperation.setY(0); +} + +QScreen *CursorWrapHelper::getScreen() +{ + const QPoint cursorPos = QCursor::pos(); + + if (s_lastScreen && s_lastScreen->geometry().contains(cursorPos)) { + return s_lastScreen; + } + + const QList screens = QGuiApplication::screens(); + for (QScreen *screen : screens) { + if (screen->geometry().contains(cursorPos)) { + s_lastScreen = screen; + return screen; + } + } + // Corner case: cursor already pushed against an edge. + for (QScreen *screen : screens) { + if (screen->geometry().adjusted(-5, -5, 5, 5).contains(cursorPos)) { + s_lastScreen = screen; + return screen; + } + } + + return nullptr; +} diff --git a/part/cursorwraphelper.h b/part/cursorwraphelper.h new file mode 100644 index 0000000..11d0108 --- /dev/null +++ b/part/cursorwraphelper.h @@ -0,0 +1,96 @@ +/* + SPDX-FileCopyrightText: 2020 David Hurka + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef CURSORWRAPHELPER_H +#define CURSORWRAPHELPER_H + +#include +#include + +class QScreen; + +/** + * Wrap the cursor around screen edges. + * + * Problem: When setting the cursor position, + * the actual wrap operation may happen later or not at all. + * Your application needs to observe the actual wrap operation, + * and calculate movement offsets based on this operation. + * + * This class provides this functionality in a single static function. + * + * Example: + * \code + * MyWidget::mousePressEvent(QMouseEvent *me) + * { + * CursorWrapHelper::startDrag(); + * m_lastCursorPos = me->pos(); + * } + * + * MyWidget::mouseMoveEvent(QMouseEvent *me) + * { + * cursorMovement = me->pos() - m_lastCursorPos; + * cursorMovement -= CursorWrapHelper::wrapCursor(me->pos(), Qt::TopEdge | Qt::BottomEdge); + * + * ... + * processMovement(cursorMovement); + * ... + * } + * \endcode + */ +class CursorWrapHelper +{ +public: + /** + * Wrap the QCursor around specified screen edges. + * + * Wrapping is performed using QCursor::pos(). + * You have to provide a cursor position, because QCursor::pos() is realtime, + * which means it can not be used to calculate the resulting offset for you. + * If you implement mousePressEvent() and mouseMoveEvent(), + * you can simply pass event->pos(). + * @p eventPosition may have a constant offset. + * + * @param eventPosition The cursor position you are currently working with. + * @param edges At which edges to wrap. (E. g. top -> bottom: use Qt::TopEdge) + * @returns The actual distance the cursor was moved. + */ + static QPoint wrapCursor(QPoint eventPosition, Qt::Edges edges); + + /** + * Call this to avoid computing a wrap distance when a drag starts. + * + * This should be called every time you get e. g. a mousePressEvent(). + */ + static void startDrag(); + +protected: + /** Returns the screen under the cursor */ + static QScreen *getScreen(); + /** Remember screen to speed up screen search */ + static QPointer s_lastScreen; + + /** + * Actual wrapping of the cursor may happen later. + * By comparing the magnitude of cursor movements to the last wrap operation, + * we can catch the moment when wrapping actually happens, + * and return the wrapping offset at that time. + * + * Vertical wrapping and horizontal wrapping may happen with little delay, + * so they are handled strictly separately. + */ + static QPoint s_lastCursorPosition; + static QPoint s_lastWrapOperation; + + /** + * If the user releases the mouse while it is being wrapped, + * we don’t want the wrap to be subtracted from the next drag operation. + * This timestamp allows to check whether the user possibly started a new drag. + */ + static QPoint s_lastTimeStamp; +}; + +#endif // CURSORWRAPHELPER_H diff --git a/part/data/CMakeLists.txt b/part/data/CMakeLists.txt new file mode 100644 index 0000000..edaf762 --- /dev/null +++ b/part/data/CMakeLists.txt @@ -0,0 +1,45 @@ +# install annotator xml tools description +install(FILES + tools.xml + toolsQuick.xml + drawingtools.xml + DESTINATION ${KDE_INSTALL_DATADIR}/okular) + +# install annotation tool images +install(FILES + tool-base-okular.png + tool-base-okular@2x.png + tool-highlighter-okular-colorizable.png + tool-highlighter-okular-colorizable@2x.png + tool-ink-okular-colorizable.png + tool-ink-okular-colorizable@2x.png + tool-note.png + tool-note-okular-colorizable.png + tool-note-okular-colorizable@2x.png + tool-note-inline.png + tool-note-inline-okular-colorizable.png + tool-note-inline-okular-colorizable@2x.png + tool-typewriter-okular-colorizable.png + tool-typewriter-okular-colorizable@2x.png + DESTINATION ${KDE_INSTALL_DATADIR}/okular/pics) +# install annotation page images +install(FILES + checkmark.png + circle.png + comment.png + cross.png + help.png + insert.png + key.png + newparagraph.png + note.png + paperclip.png + paragraph.png + pushpin.png + rightarrow.png + rightpointer.png + star.png + uparrow.png + upleftarrow.png + DESTINATION ${KDE_INSTALL_DATADIR}/okular/pics) +# install misc images diff --git a/part/data/README.Icons b/part/data/README.Icons new file mode 100644 index 0000000..140411c --- /dev/null +++ b/part/data/README.Icons @@ -0,0 +1,13 @@ +The icons contained in this directory are divided into: + +>> Annotations TOOLBAR Icons: +These icons are displayed only on the annotation toolbar that popups up +then entering the review mode: + tool_eraser, tool_hl_orange, tool_hl_pink, tool_hl_yellow, tool_ink_green, + tool_note + +>> Annotations PAGE Icons +The following icons are mandated in the PDF1.6 spec or adopted de facto by +some programs. The following are used by Text notes (Stamps not yet ready): + checkmark, circle, comment, cross, help, insert, key, newparagraph, + note, paragraph, rightarrow, rightpointer, star, uparrow, upleftarrow diff --git a/part/data/checkmark.png b/part/data/checkmark.png new file mode 100644 index 0000000000000000000000000000000000000000..33409fd0e6a61831d09adac7d0822021c2eda4fb GIT binary patch literal 1303 zcmV+y1?c*TP)ZDG}^$OC#93BDp%cP!F)(Md% zxGcd#IlaV%5C$ebytr6Vk=JpBc7pf`5pY*P8H2>QP747cL=eNh7WilrwNKt_F$suV z?%kt5LqDY$d_@(0%fCsETl5~P=^_t9KPyG-7YxyR-J)-%5uXSLC`a@f2HB#=9r~Np zVhDqjVp{N#?N;Y==%B`0ZgIIc5Zt6U>86@6`Fu@{`}794`G^QnT4{8j-a}mOPYEqt z!*rV-ZqUq|6w;*lMW5=-_wWWr8uYbv@)pHv!5{(5RO!z$#2$73`9@JeKkxE3?=wow zrq4;1zF6cNOmL5R0@h`z);qfP0_Q2=E~WO3C&{~Bj1jh(VMG{aTMi^4#S{YEr-Bkm zh|_@If-l)D|B~xT#+k6Nz!-U$WTiCs`>5wVF4Dvu0*F492W}rLO!1IujVT`R8$|?D zS~{Q7%LkNG!!$wrnU})#QGR8P1&vut!V_A_#YlP{6f?mk;j-w9Z2FXDk%uleS(Jo% zW|$JTi4aIK!hq;M5qTxwQ%iuL)BWVDfL#^^rNFcV?C=?3d`bP2IIUDs%{7L|MGbJe zpGpSpY_ViXP#YxTF%kSpOvEzAsNrMkSU@vJu)CjXh2(l!64VAu!j57M9l02T%ur9Q z@*0+eP&#kB9!0p#k}YAH1sz3?T#P+*inxI`#tEhSwrjAT#4HD2sI~}ZYo;=5Y`jsu(1dfDVn*NnR zE^FKpIvJ&#JR#`#Pd|eT3Vu}rtTqTc#PGi|z3$O3@-C4-Ax1u7%;Vhcd70uTRs~65 zo=v`a<+*T?RguT((fJ0^%fFM*@nlfMK0k`aYJ>2MbN^&u=*+kD(#Ll?iXi{i@;lb@ zGQiI`5)zD%XLtD)licPG1B$( z&BXqug+10R3CciYU1UL#j)?pRhS-v%DEYSk3{;R!9!rAV2FYpWDhcii!^~n@Q3IV8ft?iJY|DRoTA|1 z-YK&gG{|v6SYwkH^iU-F*umwO=?r}Gy(Qm&GD{h!ZTHUp*#!xOykv(O3Pm3yLI~3x z_f8uOa*4@%RKNWP_xx^UkcCND2p;^%?6!m)A=~lpx&#|1byEMw`Wq6w;BH~xFiije N002ovPDHLkV1nuaWX1ph literal 0 HcmV?d00001 diff --git a/part/data/circle.png b/part/data/circle.png new file mode 100644 index 0000000000000000000000000000000000000000..767fb6ac6d3e3774b3beb3f6ec20027c63407898 GIT binary patch literal 2036 zcmVr95*redI!@d)j$0ZM1rb1|Py#9{jgTrXkhq|NqFz)$FA$(| z#h<_>H&6tDN(g9CMJcoiQY)afQ0laC$rrH`$8{XralGE$v*+;W)yx^KT_nyp3ZMvx6H~ z^|XmCyiXKfrb2pq1S0nE1syYIIwwwQHWpw8T(z;aLEKCqd-)4*k*=M23b-U$r0fpKnKXlD7ntBx;PV0;A;y41Z>M~b zpIcC;??s@4A99y7eWcC5vB>S4loDUzK|Rf}L<;6(RU3I9imDr@t`-Epi4p!r8#|b^kVVzEu@o9N z2i6l1*b#%@AhSeMmiXm zmVHbpUoLy=xTL+T*5L z&ocs`UHe4jN1CxU3sS2Fa*QKPIQ_j9Y{gMZ^EN!ra}*5zY1*im&zt3nXPFIApHc87 zvRdVsjUdgkBY8lAx1nuz>HEvqFTNqcL1`F&Y+*H`o{UK5tE(bW}ZENsbxkNd;H;llY%fh27 zn-m@6#!DYp2+5aYA0t?{1q&4Xa>lcphsaABC(uSaDdGIxj5Fgy&=Xh+7I038d6aDw z$Tdvi6O56|tlPyNj@y|DAqJRo8+?n}JYS<-Z4-@@76zF@1e`TK%g;!?1H!A>J=zAT z)impSi8x8zKsH1irp&DSrEKK^!OuJRIs!Ew3GmsEZY)~UoNeGX*dYgu5*cJS`}sA~ zgr98!fmt4A12_snY8>P;=Wmlj7hmOdQX|mIE{<9@=v05f2LfdhhU*BBQ8+|_(c7TV z!MAyXiUs!$x_O4h3_e*-0M5x+cV@u&Eo!Umtu1Wg@NCNzF z0%gwfDOwh&D&;= zG*e?6_p+02F1wE!UG(uhqXud(vL1dl0@%;+qkIR#2Pjq7h8Ij*El3isv0z8GlVhG~ zu2V6X76v%U?^!f(cfzfFCCgD@n5XGl@d_SZ#H;>o-&)OuRnxqgt(@VvMorItKEU7j zBUQ=;UZIEWE21F8g{K{5(&T<WrnB<+0-Ol=(B7C;<&;h&= z0)PvyoJ6go5O$~a@Qy-=6B;MLvPf4O_OF&D|E+&mM62%fd9hyB%X<0$E&m35(Q0&T S`m7580000YM}^Gq$2tQ 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/part/data/help.png b/part/data/help.png new file mode 100644 index 0000000000000000000000000000000000000000..5d60fd5758642593e7a25f0b87d922238cccb427 GIT binary patch literal 1717 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 literal 0 HcmV?d00001 diff --git a/part/data/paperclip.png b/part/data/paperclip.png new file mode 100644 index 0000000000000000000000000000000000000000..b2bb3d170efb9d8f037db1ef89a08d3c8cf59bdb GIT binary patch literal 1741 zcmV;;1~U1HP)#y~xmUfIKnlo*p+T-dO4ktOOGVTIb1cU+HCNcJ9ffU8#aw5%+|5d3 z*N>d7MAOF7FcM)fT|w71Ao(&uU_u8F`6dMkyNCkUd*3~tVaghrwF|$QXP!IfJm){p z{O`PX&gDUwcMu{h=s+VdIb8XuEm^lfN@bNfOy^dowk-KGEv=iCyfD`(2rbsZQcX3_O%CI}*C0AzMGJj-2HawD=iQjfY!#-1qxC6OYFKZA_YP z?lQCYyNAenWGXX;OhdPM5|&hFC@$gG6A%DWLd05_c7t7L*qM$59lm{bnUqIN1rP77 zOSf$=1T6xd(XV{e#YwdeQNqMtjuo+-+JX@px3&DH(QDEaI@RpDA@P;$6 zvNG)R+!@w4{+YbYBqgY&p1!H^$QUjU9y08S^x`#?BQB&DL2NeapFEgXKlwYOj_;2DrcpD6Uf zq)D2jhXJO~mEMnC1-odE4yL!%OZh{aluT-il(|ujWZ(S^JPKg(uMd%HUC*H*&j8az zstpB-iy_bn=L3geb&K6a0O73|MJL&y(F_clxt?JMm&2ODcC`SylZ+u){24TE0tzM@ zj-iwQ$_TJt?~w`1G6IJ$xfO19)$I_kunGV((7yhVmbq!}Oo-0BHT-v-Gt5uuQpG-= z0>A=5j}05>WiG&w)y@;_gnP0aMTQu~9e%?4W2VR1e`u)tL21uN!Vf3Vko_&7*FwcI zotf5HWhtlFg(E*9f6Po%GcQ}?l=++%$=Gu*cWf`9(?UzcHL*~5D*1Ga6Nvj|bUEUh z@}`=}Q!^#M$SAfK&`_ph6%JUHcBJ?cao?sHY9>t0)Fb(3fD7nCL5u*U70B#k&}k4e zRllzK1sK>3Oa?Jb^$OK9`Y3q!Vv z`1BSy4;<|yqh1%YR8^>|8t4M!K=i1(pz2s38&I!{8K6|EUN_KR!DtXIs+Xvqg5|yi zGO>u+pp*f11HFOa2vLhwIZQJr@B|In>q5)q;-!SrqLkAkS_kYH_71;ErDzm>N~uf{ zv1Ecq2QUb@0ifGNjTpyvWiXG6Z>hcad9b~JMH?PYqezfxtg;4*M7~BtgaA3JTLJVf z;&Z;X#tTJm6Ya9--sds&^QYMQfqC`dIQ^{p)XUz(qQ;g-hKw{Wagf=k4(TGmau#4@ zk+G;fsk+;cj=eNl&Vz;*V3vDqd?RZAO!>fMg{1E`7FTaK>(+=h;eMAk&ySboh)44_2p5TxJ8tG&6A>dCo6abi220`n%f`;qle|LQK$L6%ItSiaumdCGr zWIhaA7rEcfv8*bls^5S0KPJbU5^bLR^fgNuCj2HooJdYR~ zO8=1(MHTZGkyEa)JdhHrNJO5L3!r00000NkvXXu0mjf^I|!6 literal 0 HcmV?d00001 diff --git a/part/data/paragraph.png b/part/data/paragraph.png new file mode 100644 index 0000000000000000000000000000000000000000..58d050fb99a21b5c3457d542d48cfa302e59059c GIT binary patch literal 2384 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 AHvj+t literal 0 HcmV?d00001 diff --git a/part/data/rightarrow.png b/part/data/rightarrow.png new file mode 100644 index 0000000000000000000000000000000000000000..321857ab9bed81f29603e4c517292ff8f3aa7513 GIT binary patch literal 1553 zcmV+s2JZQZP)990;{e{?YaVHqFHvYZF^bX|WfzwWydEOF>aVL_rXIsV_b%BItwQgCJfI zQ3UZ#Tac;+Q7LM*qE^$UHMO?UG-*pNCh0a!Hk-}P%yBr(G9)L%$#w(2d!$UmAZK4%h0Hp>(Z4s7;9!HG2r`&^=KHD>mh!9ZRZM-ga zYn*6$bb_2;uRgc+Cp?5Apm@Ldkamp|tth=9cXZ^LU0>qh5x@c{ba6m*ROVW5mA0DX zT|2%zG%5cq2`Jd&ZE^R)p(6OEv6d-U07hM7>(Ot6WhYa*O-`)ub)5@jvNSO;-pSU6yUXb!R#nNu&)Iz*k{-e4l^QL90z3bO%=7$yd?2yL}o z6iZ-JttQ)u^Dg~(%FL)|3JVjfBtUf(S^Yv0B!Hbf$XX84gBwcJJX1O^tpYDH(|W4_ z;@n9iNBN#C_hM?F5FivFG*fgIFxf&QKX8hx>?MKzMM9Y9GOe+ca0C13#^rM+(brT6 zB?9H1aUtrshk8zOgk7|QCWR7V4TN0>$l)ddSgP+MYBL z?8RLJyv8-+BuG+4(r1P>G}A9xX(M2%A~bh z!eW?}!aP~}nIRdq3`4`p3lPjO%2`ZmAu<9AGFU5;0*^@s>6bgEfaOOZO%+qjk|GKP za?DE3V6bh;kq(zR$0gcG=?)_m8K${H>9G!zl3A_>oAG>5S~+G|LoHibj64IJCd5Xkmo6uo;&J(hMfHWQ>H*I7#Y*lkp5=6qU?pIm-zwy08%X!w5xH2fy$hacX4# zGBnZbGZUPFwIne?BFmVP`Ahu4DVkXi5$?4Sc$)Rp(d@TcYN*Ci>pS8;;K+AB&j#9c z_aU_g!mc)+Ko5bM`5t~_m>o1mxR2b5^=|Z-;AeUoCNK{o~y z!72d5oO#o>vcCpnxv{nF0%mj|TRh zNNu*-D>)VP<8!AEzw**?3e1wDfD2#|;FHU_!>t$XDkEtmF)MMSLb%TOwUd1xy!g(i zgUrjDTpkCp@COT%7)eroi(wH;FsKZnLJyZBd1iwID33R>iA&m8itEZ{xH!y9I(SRJ zpMi-bY4}`O2%oN``isdz5t2&(iX=fuu3{CdSb+Zk;Gfn>f%rYW00000NkvXXu0mjf DAS$;8 literal 0 HcmV?d00001 diff --git a/part/data/rightpointer.png b/part/data/rightpointer.png new file mode 100644 index 0000000000000000000000000000000000000000..af75fca3dafa7de6b5d509ac2ca6ffbaf16c86e7 GIT binary patch literal 1573 zcmV+=2HN?FP){6h#hP2e$iWN<4k)+ja(l@2NsST*Dredv$)TXhi8ml$Z z7o)Mhg%(mQG*&55&_Ae%(9%L^6%iY#1t}0~!DN?i+ug$M&dfbdHkR&mW*KG%;~(;S za?VWd%$(X4E0Gi{44j@++#1T zozX1}0g##Q`(b*SB;}z>1H~pqlj4t@_3U%Ezh|pNC<4e_8J35Ml_V){<$+Qck6!i6 z&6li`l@tKfiM6LL4-}0b_rsO{xPG^c1c>R2!?(las)wx*Ds}d>J1I?5%v`r!i#DuvTYn|!9$pbY^ooT16+`t$R`&;Ofuxx4!FTSA00?fqxmlPQ{S`HMh}=$Lpd@CAPn)7J#Mt$wN_{bFwVEk z_eD>5z;{KeEnncc1Ep5%^KSB@SspRcVD;Li6ZH~NO~ndBu7TZd_M$nK7o^YH;yxSX zL^|99fKdEe;@uf8GpV!#1cfXApm`qD41ibMVyzw!Y*39>`-zFg4h(L=pM2Rr&9zL6 z!Ft@!F{An0(Lr!>36 zEgHOCO%|w42c@-2DD6P6ui0#xADJOinGQKDD_78RGRGq;quVwkvhNSM3*2D3i`JzGRvf5fCM~al{UYqB0Zx-dH^Z!)+&}3%lCs?>;e~wBosT4ctpS3 zOjC`9TW^g%!8+TuTX2HQPeQ3F=(JOV&!|@C`zjb~yDot;x2ghw6gs@_T;tTL1VJdb zODY6_R~<7+wF(y73U-Q2kW_Xv3h0oSs9I&*B@5DK_^^aZ9q7d{)hag2uRy(94HqhR zpc!4NRmyUUWZY|`?XDjB%!hVhl(fUD*C?0bcmANS^cJt217{iIS=~meTsavK^dd+q z-H^Zp=iB1fZcwRS_6>UlBz8+Xt5gw|cOWvyHj7Kd0@;#NmZM$oELe>sFw z0F1ZX*KPAD-!aFvCTrH9yc!Hc5J0R=r(=~=0RU}&Y@?O_<{tN%V2bmclaJA&fl$yp z-v1E|0wAT;5k2M77drs;u6CJyHrZjn&7O23MSx(qO97BFR$AA|t^wIXADT?fN53A2 z9Q2Zx^&n7GU;zOwX1YiyKx>wEL~>G>;*L_aS8q%{E(Aa*>jVJ+BQ@&uhNLKYlqmp6 z_D3ZE%BLxhR%g6!NAxK~NDdV`uqm3Mgo5f6DDa`lYr13x0d#E<1_CjCYZ|{&uJCIC zjExz%K)oU>K(c$iL{1_Qb70q$-^QOPlcq+jSgRJV4NOPh(~rF%DK%Q&h>ubl7}0Ex__9gnWCT9Z0ysp9glxhfMm8OI#eTkvoBTL^-zUiD(>qSUox zgLsEkp~aHs0A2&V?)>$(T-WB(C z5-)x5Y~D1>NffQuYm)6jQdYC*c`zPBvwoOe1wjC}MLkKA+i=fcuByD_rAg#-zwkv< zM~tv29O%hFU;8^!`MO+H$yxmQ^#}rb`4P9AVbsy2#ml1!tP&9zGFKRF!2D-7nK= z^qXJ5OUj~-lDSXr7jbn@mc=f4{n93Bne6liPW|wha~Ic_ZJ$PSXmv^?J27%B5`3qX z-iGkCdzkxdHg9f2?#yD*A?qw{<^UK4@Dj*P>ZdjCd)4+ybOMM_XCGI;RB@W2wSgUI zrxMN>4fo<9?4-ttSeOoQw1XpkX|tyY|WU&1OB zQAolCXZ8S2x5$hWgi+1afNp>aO*B(S+~guRIpsc`#YNmy+2%Nnw7dE*Lt;nP66=KI zqp@Nrnlbh?*QaUVjOoj{{+>N8h<;RaGDWPCPMtKTREBV-sW@p)tp!n%3479<(h};N zrtT}7lN!0pp`+}J&B?g?(FwbW+BwsGJB+e+V5Se5UtgVCSZ76AuE%I6PHA{qh^|uh z30Xe_EtgL)_A}8@eojbMRfVOE^LXp=MszoJPQoBxEn3!USLNmAkr@Q9ogo6PtR4vw zys(l;!?ivaelAN?4P~;kv?DsuxVVD;&-Y?J=e=?7}y38aMGE?Gf3ZDsYOO{PE`PamV3N4TCL7CV!UI{pqx6 z5giU#YbCxbSE%ek6S`?KX*)e`0G;UXP!qn)7FbJr-u)TJ&YS3y_OJ~UaLziXX@=P|T$cRW<1{Zjk6w@=OP73mY#J@ZrS> zJL1YA3Pu&QrL@FS#VweWfXGE4+nH#Lg+*rCD2xmwgGD2a!ny^~SR8GA8;x}%AMmY- zHIg#KV~EvEixGkX<{S?Mm&8E_>qdU?p{CVloM=r2n2r)GM;fe=5oVO&z#OsG8X9nG z3FFGzk)jHi;)on5BTh2PfLda>5jxf#Dx~A|icIa?~By@N60=y%>$}`+1@?6%AlfTNWm~^CL6b(GN zTQyCObsIK}TceH)9L|+fyny3smHRfP&)DiZ?olf18P z+dSKp$*Y^L+stRP?RG1cd!eYC>)GpMI)!KZ`T9kYBuHDe^CG{T?Cm#q&8oL6@>#hm z*JahUGbPk)GMMLs`L?_gP1)9WO}-1C=ckrUv4H7N$yWD9D#kdIG$WeAV%k1bU3NdM z+LtG;DDa#sNhxR04VK?$HNRg0hG&cEwWrwu{RV%J4o3`ky)NKcimL2p?>@ep9jvEP z6kTx==HP`e&y1tW)@8fN^0GaqV1G=r=x#12q~vK_gz z%#S3JLhn?ExTh+k#$H98Uu7-ooHcdb&2BfvV)l=6`#!I$cD7hn*=qTvES~tFdidna zCSR2TwT$zX_nW%urid@W|#Zj4q0D z(c*Ux6+h`-0TsqwX3gK4tXP8KkR8p&8d5q;_Ua*NUawYVj$vf0ZT8UagCcC()f>Ja z!m)&uk&{7OFBWYH=TlkRJ*>)|^%T+TX8uz4*PC8cgCWcAVXodxlG(Sj(V1-Ok7tuZ zwu{*qm$NW_6Q{4?tmGKRAHn8%jK=^edJN+aU~>-R^V!VLgHd|>(_oa||3nz2kAD)3 z{kwmD)0Eh&UOvV1t8j;**6Y3SW0O@a_J=hJ&$CteN(mW!B$-MPRaC*g9#Sj3&~+4K zbkIlX1EeN6VHFuS*wW?1N-sQ;#=(}xw&PkpRm%<=DtZSC{r-(_ujyD5_X$T@jZ77{uh3>r%1FZQyK+#S(WmOoY50FMJ zlyo#qb#c~qan`m0H?)6NHS>$v7gXb6QxV zbQqD-ST9I9smJ70Rs?IJ{htB*w(}^l(@F$GMB^fz6xJIh#|=d(ypkb|S0-8Ev<~(= zC`-cX5T!dqStVk$#u+fx2H{ACbn2rQI(VS{wE-G)o(Dg0M%m+fG2>%Ue|J2`@!72S zyezlFS?MY}g1O1A%l-w9yo>(YE3WFMD4T=I_18$Xf5-1WXI_k}UzyydI#_mXI}o1c=|@`CrTtFEd^l&=CKk-+B^Q_ncnT_wYh)de%CZ?u*x1v z^xglc$41*_h03Su2%0k_32?{wr}-tp4daP zTOtSG`lsth;IFc)a&6hYDEHJj=!+v&_8B)>cXMcHSc!1tqQSiU z+3Sb{V*WkRAqa{_QEH?W-g+aGUlZ+=a1^agb+ke&7geHF6wVqlkSP(QS0vn8phP(>G&y5agF7-_vbVBUM3~Cd#3&@n zGVq3v(q5%jd4VEqOcYl^GRD;Qy9}anZe@fCO1sqh$hkGDG)6=j39=Z_qa%&VmGDNv z+bJ!Ki!pHDI*3SC+tiUqZZaWZT#SsGQpekT2&f083Ub=W)P^X~uV-&7rLda3POUQn zVIZ~2qBcpe)J6cuU=vHgM?0tc4y_B$vo|>rVssv8IDv>1dP`@62Nv)~HO?TS7Sb}h z1~@Ap9OpJMz}qXAY8Rn*$ZfnvZ9!o=#tQUqZDMp}^d0Od2t&Yz`(~u^59W>NE<_g- zZM|?v7E(fN#B!8q?nZgAMKdZoQjfXQu(ZL!+i*oPfCE}6r6puQUwa=gu>h@e0rhyG z@1u#yhXknsepEn1NuI4EW`P3MpqNi}0M;Qyut0len?`nvi31m(ARe=Y^YjSC5cVt} z<6ueLSpWtJ!4joOopQb0xlJ^9g-S_6CWV2WWh@C5W8m<%D9(brz>=8}EPFFQJrO1m zg(nw*5NZTwy|=YS1dK}oBPpaaBoiBeM(_&V5VR3hCpH3Kh1xMO$?Oiy0w;se5(uWK zKxk{g7iK7VgUSJp(11n34(ztZGFv3Gd+&|PP0-*Aq9ck`$lb3zk99)0)6PoN2ybIN zSZSS*1m5)gjm&Q!QjQa%M&Gbv1T5BxQ36Pr0Mx)HNm{4Q@kB$9xmF%hW#R3a>5)vr z_yv@zAhSTlMaU$9YsOo6^Qu<1U-b?>MpTVF4&D}hD^2JjT3C`69?X%60zQZm6xOnW z768IKcn@2#>4n@~J8^TjDzVj6UvNaj*LYLkmcz$+|F}E3%)wvp$eC~ub0%za z^Q*hAJC*&XURHDLw`FsX_7AHie&#@J6#Qvf$Fu1*{$m;k1pNFL4bVt-5f=ae3bZlL literal 0 HcmV?d00001 diff --git a/part/data/sources/comment.svgz b/part/data/sources/comment.svgz new file mode 100644 index 0000000000000000000000000000000000000000..8ed0aeaaa4b232f32bf78b5342d1e4969d351b19 GIT binary patch literal 3922 zcmV-Y53TSYiwFq!MqNSx17mM(ZDnqBE^~Hg0PS2|Z(B!_eb2ApDlZeP)T-~UQsS8h z2eSy^*#&kI?7j_Xk+QXsNr9qcE5Clb?j?PBC0ZY2ITHk?9EkUHRaf_^Q`MKwrN8^j z`!^SpU*@Z;^X1~%0Twuz%onH2+4|`#cX=9T+E*xES3j<`SVxb z{oB#es5_>9d24{pH)$MQ1lVJ)U38-^>^5t79y9d@z`w4(9LXFUx9vwS2oe z?WaFI-L+iJ&YJ14l6Tx0VMH7Q9TOcji=(US#d`YwXmR!Rj%!=sK34*O<2E)}KFsRm z{Y9hUql@WAccVAzFWY|~96oT^@Aa&C&dXxHKK}m4?~k|EM^I+#+0HauubgIoIu_G6 z^Q+70>HO+Lh|Yg|aWa2@xm>M}u4k8RF%nurBVw=3`v=&ZonOpb%(kNA)pEH${`qot zcKo07cR!pi7gxup%Qu+0A}mgo9jO};JexU>?#L(-@M{( zpbfQj&!?;ZSWRc=Z8sgZyRg&c#l`%zO+LMNH@&{f=|9Xfb|uk%(r((T_40CS+cvYl zzG#Fbc+_TGu1>zj)BO3igO)Ar=j-be{Ptk*S)QF;&0AndY$s}Zkfzry~DY2Yt1P^V8yd-A?kiSM$~1^ECXg#ZOoBQQQ6B zzrFb3`+v|s?#mojzMG!EwwLWKf%_AKRqmVo`SZP#Z7iBGEMkFJ~tT>CA@>pYBg25_3j4=S`WDEhY-ox1E z*Vylgi%-7uK&Q{IvENa>Jqcs-*%|x&oPke5n0_hB$1x`Hr6?cAn8KH$d>mo;r6?cA zn14AbAIsR6lk$;-=^v4>H`Dd%{QWLt(7lE?TMiGkh=mgz9%&(V^Ozs`6EMsA$1C1} z+M#-HQ@gF_&q%HP@lKL4wE)h0RjcG)W1tp_2!-I2&>CN8{S37Fmqzfp8o`&->$5Ri z|Io~$5VG%K_Na{+arhw>h)Ruq_7YJYKAl#=Di5KR(CgFm0=1$_ZZhIku#hr|jd*Qa zcNeIk;~wk9Nr2!%cc{o@jYTNo7AQ}`ng7O|VKGs09cvK_Wrf|~jJ=SBqK!F|Vru*_ z&PX-Fld~FzHJ*Yq$A@vo^jrQteje=t2KDBFkE*P7#Oyxf2G{He0Kg9`b9R>4+d#d# zm>wQc!yGCddLak|_~uSx0Ukswg#3oY3Kc*!A6GfnB3#j7#4B-$N-U!yPunWW8V@^{ zK+SbOtsy~v$fX7YwoV|$2vqoPS`i*yPPsscJ9L$NTD-8lNPH?SMxh>OAY zLHYZa5@vWmVN?vAzz#F>7;=L!DOC}v@=d~AL;OaIz+!HoJ|=9i{rwZh4^fzjBSb2! z3ZmXpn2@oK3G*mWgSd_e^Fk?7u@PZ|?PCc0?l_+d@7{fQ_B@|-pZ#(^fA`gxx_9S` z+49}dbsmcc`^Vn5#Q8_YwhyeE>qjg$Pq0VIX0wCy*>ZLM>U{Bj=XtEl^{wISj}2et zGf|6I%^mL=zuq%GEH4d@UcOwmS
xAG+(+>*c!~8ql%Q-mX@S{iBQN^?cPtlfUqm zQAUOmq7`lrwt!TG9aQVh!C#llH`#3h9RzO;Urt}muU=0Zt!<8dgZAa`p50A-Y8DV8C*g>C5HYCbg|+`p!;IvL2_|5=Q<#+8&8Mf7AAo zUz_>&_U)Bc7+Z(&B_k_wqF6-_cfyS=goOK9shlOesS?b206I7h8&OGX9bTp zTTLJ@H`MecyCtr>dUZ>z%eR+rmb3XrayN5-F?~6|cy{n2$0j%=Yb(%A#LMaW^;hHP z4$s>1Puj-*bnC8#{F`rcboUX&9$3A-n4iplnJ<>JS$j%xwfuR0vRE$WoA-UmpA5D4 zemjsM+Iml3zFn_(vHx41FHRbv^VJp|V%~gWvTf>b6OOD78ifIb7SkU^~`DiEZUUg4&-z4H?4A~C^QINdvMP4~__3M)h9lpC^A z#Duu05eQ5Oi+c^j32C49hRGl>ss%v=B*&qKc=L`zUP+pdwNXN_31i`|f)aBiP47f& z6*Wtg6xm@AUCyX%!L)|ihUWNojwu|_;Zw6keDURSH> zb+54dq}(a^;=KJjkzs5s-l`+~hn%-?( zc*7d0sC$33P(?}%sz+^DEnr^5JG&~unDuN$K!dG|!)_)yr{+w-eI&seHRB*!L~n^z z9CJkgWCGpF6$CiFsUTB`CQ2Frkb6XB#7In>1w9#JXCUe_5m4Rw<1@?zI8lviP!m(G z)UQV(m^m>(G3(W$fe?Kjt-5of$v=Wl(25W{b*n@I2@Yy#f^M>Q)eLnlqi!bab|*1RWva`GN!}=f)zWAy|VPmP(VcM zEv=d+7A%OA7*W;gUB?Lyjl@)4+|%0%20L-0E0e}=;)r(5hj6DL;zUl&8+6l+l!fS zcozjZP}4hSswN$3&dQV+88~O0j7T7fS$Op8sj3Fhdqo=G_kkL2qf4eKRo) zQ=kq*afw!q=}ivaX8_dRh9HsGpK!^22$;~5OL<{6<9T- zdZGsI7OC_gH;LX72q7_aW#i5+MA7=%;VL41HEVUMS!IgQBIf64?v&H@?ofA048Rzn zuUit0O5L1QO`+@FD8`zY1fp?b#KH)PDJf|5J%b`dut$Zere(N*bH}f9t(F*u6ZJDz z!zz;(`})uyxuf&bb#%pBpQH@Qqwy<685yk4t%Nc{qNFC&^oiBT9<>*63GNvanFnW)E(njH{T z(LJL$R(9`e8B75rQ6sKg6LY3;>b%uJBJbHMs#i^nRiR?vN2F39_H2L$bbV12tg|!_ zQ_Ri==q}M=3gOy!HW627d(;93Xxh(dMh3M*kwQ45dv&NCzahY)i6LmHC047uTE8D+ zLghX>s(S8RsQK5#khLb3>m}&-Lk!V&7G zKbQiC^e8#i#4-=kc?(*tn948@jM`x&%(d506=C*7m57|W{y<^EeQb+LS<68jgdIPO gUX#l`x*RI}yW>~wpS)^+v)z9EKYQwWk84W+0K#Os$p8QV literal 0 HcmV?d00001 diff --git a/part/data/sources/cross.svgz b/part/data/sources/cross.svgz new file mode 100644 index 0000000000000000000000000000000000000000..7935c870d91dcc980cbec4e7a32f9bb65772e029 GIT binary patch literal 1918 zcmV-^2Z8t>iwFoZL|sAv17mV;b8{|pc4q*^SzT}2MizbVuiz>#36>hp_lIJq4-Hxb zXm^2afy zeATrHBP^K=@N9su{S9e+Td$gIJA9TMBb$5<=upX8^dRP(ODIn`p8_#$H&vJ3PpkIT zQ78&L7s@H6348FK)6BPr6d@kn%)7hm31@V%=nZ$ixV`IOab{;J^6Lra$ordp3A2NU zC=pxNe%xc1WaFs3&Ti5cbtX++cgg2vK2QGR*B`RFYLj_UrDgHe=O;0!9x+){w=F>_ z<8=OhSvTEuUX&iVN5;;ICM!KzR_BB7^JNiOAXZXbXEB=xn0EkO<$m7cb4OFS6TJg2 zwA!c5FHM>kP&aG`*x19lP`emJwOzf$_ak($0AnVDxt`Bk-+|yGTib0)zeP{8x~!Yo zE81UgdsB_(7u{yY-cF+A`E2e?Hb%AsK9hCcU*oKY&>{O(GN$31S>p#rhE}13(r2hO zE!XL$eV$hCUX)gLj@EC__8ndlav;TKal!lkg{VBNqfttN_bsRt~-o+xUFK~gth`4~H{ zg9gfT`(gpE_ct)C)nk#-ByJxCFnXr`DQtQ%OJAdG50baj3fJ3otUpiLnO7o6FPxgLr0Z{_-- zo4X6eNsZhR>nIzGQ(8iu)6|W`skI>9Y2{|5iNvO7f6;9C9I?RjAR*cPDw4HRAq_g)W%ce3=!6V z?WYvxp_feg_DFTro@O>O(n6^YCGcf3>H?VHKAHkeHpLHY01v& zm0D=e#Zwm=MV&qPo~Bi@%V-tqQd+N)aAfSi9nQPq5SxD~{CYT7-lPXEm+7tV_Z!GN z@2{QXrfzcI>|MIQMy}nKq(8^OF{&<%dhpZp{`M}->or!5ht98cy$Dfa%i&3I__cEV zxmgNv;zU9&DB;E#`Ot}@|7rnBr>m{HmiH&&tELHnGTnI0yZ>MhLF=MI<4Y1~FPV7fZ>AWRls4>#(<#O2&#h zB8<{H;tV!H6_0fo+fl&~&6y;UTg_t4Sg4IF*ckkr3D^{IQb-YTYKb=70mmsZ+Bp;b z8aYd-u*#TNYfdcFOk+$&Q88CxOl1k=OC@ZAFb61XBII!#Hcc>)*0GkBIBiTHt+x9I z8!H*2jgnzLh_Q~x(t-mN=prEvp$HPOaKI_ka|s>@?iG!NbVO@rTqF&0Qzv;WP#HJ} zL(-uW+6B&qCQca3F`sk&`5KLu@6c1uxqxwWW}8ESGidYmtJ4Mk&D-ETeQ&ijH>=Xm zs=E4$)fDHvrvB`QV_$!}U1Vk)DxnYo+nYlsC~|hQ>bhgw|LdZf;nDET-rC=k1wLky z(9z(hW#JimOu)==A|0+6^CC`3DT9c(f+UO~e0Q&FfFCMjZRG@%lwA{GORVqLPUlUs|DAn=p0AqMWiklkr3ZYMEkgx5z$q0i~q2}4+1{^1aqeXNhult E0E39C7XSbN literal 0 HcmV?d00001 diff --git a/part/data/sources/ghns.svg b/part/data/sources/ghns.svg new file mode 100644 index 0000000..d611f6b --- /dev/null +++ b/part/data/sources/ghns.svg @@ -0,0 +1,3106 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + New + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + New + Get + Get + Exciting + Exciting + Stuff + Stuff + + + + + + + + + + + + + + + diff --git a/part/data/sources/help.svgz b/part/data/sources/help.svgz new file mode 100644 index 0000000000000000000000000000000000000000..3d327df2904040373dc4b18c3fee538220b07d02 GIT binary patch literal 3098 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 literal 0 HcmV?d00001 diff --git a/part/data/sources/key.svgz b/part/data/sources/key.svgz new file mode 100644 index 0000000000000000000000000000000000000000..2e3c749ab725f9d421a7b523d4239c005ff2a66d GIT binary patch literal 4252 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 Wy8d5U)AdjF$NvKq6d-xTO8@{OW=Jgn literal 0 HcmV?d00001 diff --git a/part/data/sources/note.svgz b/part/data/sources/note.svgz new file mode 100644 index 0000000000000000000000000000000000000000..825210ae2d2ac66df68f1286983b97a694ee4d15 GIT binary patch literal 2424 zcmV-;35WI{iwFoLKwUxr18Ht+UuAf7UtwBQdRcJ*?VH_m+DH<>-}6^+MnhD`k-ssJmx+^y`nI!sP7N z+v{oPOOh9pEIsdnkljv_jV9ef+IY-A++PX&g63+i%~R7Iy&UWibE&gYL$Bv@xG27a~uJ>?R*Aryq^BE%SKHrkj<_Rb>R; z`+>v(VxKMg#Ud@E+kRTS+#1RYY#WMF$^q*(md9BQZ>Nmmn~SNm+uj-djQ`dHYKF^a z9rMUUq)9n=_wn6eZQYk5F5|6f)}z8S?cqqH>!g@Pqok-^RO8n-!{m0BmqJ5hx^0!h<*4|)%WlD;uI{gr$>mkakBYOh63i!Y zd9}L#g#~AEGA{UiH8$L-O2I0QbQ0yi=TSW2^w`2I9KR&#F_ZR+kD01M`-FSZE%eI!l;lO~?hbDjfwsms2FZVX+ zEy&w=pG3R8Vw|hh)%HHT$`k%N^0JP~!M4;HoLHvdJRT0VSNAE?16}*Dcik51`|nr} z*X+PKeVC#%|G#F(-tV#VlBbJy@268dtxQ5`YJtju^4P3SFO)*1Ort(YXq4bcH%b&y zNR3GQMfx$1(qf$D*ZjbvXqvnNA<*124TM!lj+#Bq2(O%$coZ;Wh-?6+opg9NFi%eqSf42NsLjk_yCtnYjbR9zVyP5{r9(^8muf&#|XfZ}%srAD!5f+5_(o%sdz6X~eXD zF3Qu08Tnk4rvZcKqCAZlJ@1sK5_{e$PXuOuMqt-bnNM!FiOK4!Khz9+Mri8^Wv_1p zDzfC0K0N?gWq!iqt;X$zaXRMEa zm7W{HV>N>3-RsfFx}TaXXaq$qWc#eMs66#}KJSq6D-zy2lK01o;Pf$A5y(AEFECaZ zgJgAss|JBap|%aK{OCklI=}OiBMCw+Q6BXT6%<;gD1|5MK|csH`oYXVSZy?!W-cdF6bZE6fNe6M7y8lE9rn3yacdbvIU!C)fDnV+Bb9 zl+@6~NPq9yYUi`AJ$?|AwZw@IAklgmkZyLFIZ zR_>`6-%=MGWj-;?!{ILdqD@~fFBtYOE;62F98K$lDXy}4P}R~M;5T{B(dbX3MUrzY z!yD`wv1cok_Gq=+Q{FCrRL8Kd?kc}#8K)7VP~KRnch$4#GAXVi#>z%*%GEK83fxM6 zk>zoc*9zECRA)6f+iZ2MRAH*MVq9G-Mc@+7z^)VRIw_+#Dx-~dEz#?9sChgd{_EXu z+ZDjKW^?dmG#dUp%Re_yp9IPF(UUMsbdlX~s?{TTY&;r<%8N=CHO4Qce3o!>&Ce3f zNdKLWDxVGN0nJIu#Vlb#!`=G4ciWk9{&PJEg9d+=lj-z*aMImfL(u!}LpFoeqprvd zR%n(by9QU?UG61ob~C%q;$)R_yRn}}7s>Rz`yuE$PzS3{(3QtoR9>xDx#t^!$f07J7nmu_Ijbyuipf1%ekUToZn27Ve%#6XN&m&Ql5QI_&L*L^?BKp zhEkwew}-VRcw(f(i<`0``)@W$haB@HUrF~}bEq4fn-~$mHZeM(4JhSw54`Z;(K$v_ zO9LA3JbDVi!tU#ogq|XS3W)3yxh67B^^gQ0DMw8yipo^76twUXtusCTq%5isw6-;z z6bPifK%5kUO@qFD^aub+y%z!NoYl=lZclI2!a3#8_RtCkhLEGxHp5B$2=@3rxfE`1 z6~*Wq-NNs53uT01n&_*(K+ap$dD~H180D08A$6tH%(KIv&}h;=AO;@dd~Qj<2_2w9`%_waPxQ)T8vQ=t-fyGGL`#Rvog9vn;j}2#wV&Zh89CIvqXr1Zi#+ za%Zd13>b}Cb~6cHbJc956%;^Fx|PVwk&PiSC%5{Smcnb7gy-lG5T4GVx|vS+ZK!Ma z-^O=)<*_Nvj2k- qLK$AWDeSaG=fE5lq6?mLdY=%T4KDfrQ1Z8De)}JF<8ijUIRF68r@s&Y literal 0 HcmV?d00001 diff --git a/part/data/sources/paragraph.svgz b/part/data/sources/paragraph.svgz new file mode 100644 index 0000000000000000000000000000000000000000..f0668a5f87674944ae621a6a19a44bb8dbc388c4 GIT binary patch literal 4731 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 J1c(q<004WDGT8tC literal 0 HcmV?d00001 diff --git a/part/data/sources/rightarrow.svgz b/part/data/sources/rightarrow.svgz new file mode 100644 index 0000000000000000000000000000000000000000..e36c0b65869e82bcba0015a8a61a25f5d67936c4 GIT binary patch literal 2989 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 literal 0 HcmV?d00001 diff --git a/part/data/sources/rightpointer.svgz b/part/data/sources/rightpointer.svgz new file mode 100644 index 0000000000000000000000000000000000000000..d8ee504b972ec134366913142c6389090ef6fafe GIT binary patch literal 3299 zcmV<93>@N37axQarX8`S-U2hx5l7{ckuiz>-307>@ zXIHgi=UgbrB7n~>uqVOp-2o+zWNv6uAn8cXuix&GsA1DIO*&HS1RUAm@a^iZo~Nt2 zNZB(l{(kpn()+cUFUGU!%M%Q6(rc!dv(b2Z{qp4JpML23NpGn_myU>Gk`$ z=i=Avzx8^(>~^|18(qFUd9c5EJD;?6qsu`vY2Gx`bUD21PZwXUbw+>EXU|JmIBcsZLc23Or8m(k#cyc=_%Ozdh*|7ZE2`d`zZ7tN#99p*_9hJ?O0sdq(n4W2?y z@2B~2y11In-{gs34kyjm7=Sd2oT{ud=1pNedkz3-8I%;)W7|C(9Onw}Ibfb-U%RdTn~p@kqqN${^( zZrJ&V^*ONWaU*yxw05jspG20>ZTG*8$rF-AA!Oe|wx8P~aq?3Nkc={Z_K=b}{6(?) z6MjBLrkEK*NFEbPO$m=70RLP?}FEgf{%p9MN8L6h^ zg_)&@mNuA4h#Gm58GE3Z6k{D`7>L;8CNm6CR9v5x86?@s3}C;+WM@fRw>&qOsHc6( znuF1)2ZDqEH8Lx?1^`?mBMT%D!8Xe@s=<9=WPG`emFnd_Szto_PDGAB`^YwC}+^ zCgG+p1ueRn`371D3>i#~7D9xSD5}?NJ+QJPS8NeHAcNr3ux-;oBxqSh+Wc2ob^?<+ z!8{nK5vICKLJ$CR+K(nOt8OpL?Zx2^oO@jLt`!%OLjq@a1n#E0dy>_%a)v?xQt$Mh zMKV{amY}n(VvB-AiwgTxBL}xsxT}(D{AMRGPJ029=tp2J2*EE9m_RT~{2nk;@K|m3 zkG2XmFbtMRNcYHb3gUz@ZY@MiXjqEByMXd(sYA-DJESlX_WMo0yBlq#>Vn9UPfX1spJro@Q9eS|_Kel|hfnMx{=2G*D0TOWJnpbCA^HLPR zwAcSZ6cM6~0@Pie;@8L#_6);BM_~8B=&6Cd7?g*^v}ccxyD1N^8T~qLZo4PRTnry) zb~C(g+8Z6S->dd`Xt)Dl2AKPJj`{MO*G`r0!w%PdG zY?isB2ImOQo6VPZxzR#Qf`;!kW`9%?T_M?fjc@1k475KPzH9PDwJ)m?7O!Ww*Yg7B zYB(u$>aL}!e{nIptJ{mbDAzf?z6WuC+$`U3zxz=8Y(BmoPYb6V&39Gv=In0A(~PqJ z@bIN%`~id2)0m>`2Q0E5qYt#@DKgqB(%v-7;b^!Vc2TubWc7@q`RMBGzrX)sJq7Yx z?e6@&ygd7#+5DI8Hrdi+crkmM=eTk6Y_W^0o~7^T@~kB2aG9mb@?N!*@5XO(l$FP6 z{rlaU$&0~bhkB6ZyPIZnh@!QdLN&3~1H-mGbS(dQGcMf*|6GnIlOK!g^}CD*510Bt zX7GUKK4(|p+IQD0pk090t1%f~G?SMnuS#PN-w)K;+nYDDQS;D!wH7zSfPLTqcu~_d_F9jDiH$TM~)JT(8DoMZyZrnRx zS7RVzjM_sClvqek$%1=1>mdh70;$s|k4X?xOwL-X9$Zu{c53#-5TZnqbz7zYN!{_$ zyFF^OHqTdUDyHC3WAU{0`hV+XM%6v!S2+&Oa)f-nxt}BXH{X`lEw_`m^8D?jIct7x z^74%GedqJpFHK&mY4dP?pXXhto4Zv*ag?Lr?BeZmxvu@+Y&<>7@!8BD)b~B-V67sh zjsdik>KN!&#zPWUa?G^5HSE;2xPVZ=x~^*!q9ItSBgjJ(kE~@(3drCDMFnBC)UJSA z@s1Xhj2L?Pj76kq9!Mntm)*swFB6w8bx0E;rLspmyyHuKo2MN@afSaJzGa)erAPJlU{ z*VU3Oq>!)jQMICKR8;Bw6wM+VVK<{rD`Qd+NS1s}JufOtipoWGRUj=IrNq!$CUK6~ zYRrJDl4(HyEjDVROW7q31X*J z(Y2;pp^2_Vb8`|d^*@;=OJ%=Nk4QPPH6&(>nrY;AXMCuiF)4|ZF)aX?V=St8k&DL4 zD5=$iBez-v0E41w0)|w^Or<8b-_SUF7h)=mAfR%amlBXNY%Cgq3whB5JQ5TQnAl>` zA_}*8S?Y}nq;~d(>e!O=z)4l1RTVfw@lI}XuThF%STs#w;GI@>_13$lxTc;LRS{jW zQ;TK_=xu)mMW$LaHFLioGZK4}Lf(=HmP*m7g{&A@EE>D2TG2=&vK0-S7^u@8A~v7L zR%It)eArc3T)e1a6y1x)2$Ha9xeJQ6nv+{=7gZ^iYwvcyPCf7T$wyVY{j_Kvg(&DQh9>h;r$-+ujZ94|)O-E=jdF4wE}>BVY&@z-Zx zKl!)uc=S`dYB$r}dUHAYZoYoij$SO6H`|?{5vfKs=JDv4-+vnY@cw$e*^U0bym>u- zu^Kf3f6skhjtm;A(f2ot<$M&vH>1&bj1IQ%UVl9rjWD{^_Hz34;>~V%eL0z|w#}6L zYG&)V6X_MceqXe=?dFH~yLQDcw-dOWTzHL{#?SvXS>|!?C_t3s-HtlwOvzfJGHk%!`+{~}; z8w>`LCQ47V9;3y0`(d@4z8|l)j}A^r3F5a_i_=JXS2)yUT^-uhpqvCCLb>l+L~ zti*0UyF?MZo$ds5wwX~-7ta=Nr>|SC!hc7)o=iG}Ll?Ub*R6c)I;yMbz7>f-Zx?Jb z`DM3QE?;m57kB&Ts}%IbXj0;vlmI0cladT*&ZH&^KhN8%ZOtG5OkN|GnhK}33E5D7IUa1IrsY^b=DDH$Br7GsLz@1arUwRFW)Zae_tt?#zvT#FN`N!pS*ZyU! z8`9*gemr)KQ6~EE&Bd`Qo`~YHCY~tb071MvVDdT}%Q@!q&8Ee<>roZWySqM;wQOg| z&2)J?{jlv4)GzYR?M2?3CTZY!7?4VbBEN4lSmbpT`P0R0(%=<$#*?L?YoOPg87lO> z-rQiN?{yajOMS1qG*s*Ryg3>y_Py@RXK2GG>W*_mif^FrFih_UdQU@(eVBhwgB5>Z z2cJ2urDlp?ZqWED!;xxt~;ee!s}r6PX0ZOBb+_Vypq=^bzbqng%yV9a99UX4eG!dqJbUg z9=#2pSNpx&y(K7sKG^PcYE+=8)P4bk#yJ|$QJJyxFdb&D3U;tBZSK(||ir+n59Une` zb#GVci)dMLMtv+QQfKR8{)*q9+E;S)vAQ62zAzNOA5tbsJ>cPn)PtUGNImfJhUlTs zH$)F`!0FX@Pt@sq3QeS>Q|!_AuFYV5cjxt;D1NE?Insk4-1WN~{OGRV-SCHZ{r-kO zzU%iFzvN9Fnc;Y(C*>@dG45yQAC9lMEc+YJPt7LD9MB?ZZTGgCpY~ zk9}jj^*SN?2YB2xFbVGeyaXQLHw;6Q5dWo0nD8&l@!#%i6a4*)Ie(AguI4$bxzeRD_;C8W^uW!d6AaeI!c#j;ZBbymod)*+DULRjVdvEid;E}^W*K5p+ZlaE) z-Tl4QuUnu{@4a5Wei5|2d-)pQM%ccYq6vC9y;Sa8S;%w0uhyG+yXi39!6MX{4KFXb zz)mW@l2KB^_@!JsWHxF>Y8M@ zB`MXQq4i)EOjV|=Fx{k-*jgxQU0O!xLD{2<#Uq#oyD#oPN0Qo4PHa%|n{WB*;lqkM znf7juFVtAee|*kNWuaS&oGFd`8?4&+jBAZDQ_5wAOj(ny6^dIk z1x5iTb_(cpg}#Z(GBl0y48bBAQXZ2|_*o(f3cByJSA!{aN+{AxLF~IYgM+IijGB;= zFswYSicgkLp+u^&CX&QSjZ-00)3^xAEra%%!Kq8ka8akqybIada^2Piq@ClI9z{Zx zr6dfo`Oc#@2JEHGv6grsAjTwwABThA{R2`_nY=W~bk}8yRU>Z;eItar| zk||7EVJ2Z#toRhs^e*~WR6yuoCj2A)h58k^*Vf`uq7@Sdv+Ge!y1$hDKqiFHUq4ScFRmzZs>j8N2< zOq}dLL9z*^O%moBm;9cUN-(SscWFQz&WcB_E}o(L*3h|CTbCsAm*f>?sn*|wovd4V z9j#v9t=>bWWsgOt_nI6N&p2q&?#d{D6_u~nM%c@v9ibc=PxcN1l|9B+M*eg+a>`_D zjTv>FPhIvh3Zw8Z=Sf7~LZm&&|${8tnBh2znTo}qn z80MJt$+<}-UV^n+$V8!};J|}|sh~0=-bngt4eo2pK(#7Utc*0+y=S(U_e427k3N0u zwuS6|1HbnW^YY#UPrduH)(b_wfC@`mm`2^2-g`G~T%ktkY8|L}w8@?rpsP5*5C}y9mbfHphiK!}g9174N zT?IO`zmFl~v%O*&E*K(4(sry+i@{l~7>C9bba9jxGSnGZ9YvfoX zR36$eHGJ^Mj1P3SFhiltlQyyVB#3qBmZXDIjuk$w>o$O-L3vqevzI5&%)pbXGG<9- zYea2TCwNg>`UW2=OB@o%L&jEXr6OCOP_}jv^C|Hp<=s77^TACCGkioB##=rKV@V>gauXI(xd{s~uPsmwYC&y+y#WP-E3k5CJ!T%> zeYM_G)~v22X=Yf?dq!k4GmZ}W4xTBiU(78zagLcrGKKNnBg>glN;#frIPLX`ku}+8 zqz0@|$OhApkRwx{BiSS@Ho@tlUS9gn&yfP@qIA&#>iitZdS9OS$nqu6=U@{lL#?Sm z-ZN8yqy(}95wnabg^XQ-02Qx3*aASYySm}Kt;}Me z%;W)$l&HaABh_N0BH*Agy1MzeDqzW^T2MMOjxe_qEf(ucbw>?TPL%4N8M%0d!CHR3 zo2hS7DV=i6$l4u4W;UeEY-3%h*1;E_23jFhbNyzf%QW#OV`61>lVNJRf;K) zKf_=R8y8ZcUbA(%8!crQk}fR8T6RGNuza5Ou9O{82B@>3hP>soY9yhkB;##nT2W@2 zH~gb6A5m_ic?Wn|lytWokmBYLp??C=H4?3s9tnLLNJzr50u| z%2*g#VK4LJU@O9av87Ic*vw^WB2^KHsXSngRg^S@Jr!ATMbu7d6&9;0%aV=0+B-7L zpe9w8_@I``b17A~BEF02o?(&i#FzG)eHO(8b7$&F-KfHX^1@<0m&no6`g+#RdQ%UN zx;~Y2Hsr00%>F*eC}t7in9O(|)nc6jdWw}sCoMg!3k$L|zzjMxokwM4^?S?WQ18OD z&QW^APC+QIHU%nmXsI%1g$3@gSX*D}SVt6Ur&8o?Rw>U~TE`iLYJ_W4Wuz0cQ;q9A z&aT$0_UO=>_J>xE-z3EKn6%D!JQ(4a6g-Du)H&S!3RHo2PR`-ZNge6ePxyZ-e)jc0 M0Xnv6R?k2H0FKcw0{{R3 literal 0 HcmV?d00001 diff --git a/part/data/sources/tool-base-okular.svgz b/part/data/sources/tool-base-okular.svgz new file mode 100644 index 0000000000000000000000000000000000000000..c761eff1780815edb5c80a0c21d83f092210482b GIT binary patch literal 10758 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 E0G{x^8UO$Q literal 0 HcmV?d00001 diff --git a/part/data/sources/tool-ellipse-okular.svgz b/part/data/sources/tool-ellipse-okular.svgz new file mode 100644 index 0000000000000000000000000000000000000000..a880e3ab6e28a4c0e5f6ec8a1edf31c855d47ddc GIT binary patch literal 18082 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 literal 0 HcmV?d00001 diff --git a/part/data/sources/tool-typewriter-okular-colorizable.svgz b/part/data/sources/tool-typewriter-okular-colorizable.svgz new file mode 100644 index 0000000000000000000000000000000000000000..8bb05eba3a075fd148a425ee5ffe712fce00a292 GIT binary patch literal 2611 zcmV-33e5E%iwFP!000000M%J*Z{x-l{qA4EDqj**9M1cp*iM06Y!jdh6iu1}{Swd; zZL=$p0!7)<{`#Ifd`PmjN!#qAkb#w{J9lR8K>0Rn4$)?S#MZT=7;$~9SlkaY?uK$px$(yFg+hUPCm+fQnL-k=Z&(}rr z^<&$vXIb|A{LIQ;$m-@H`zA@#+pDYV&C|nGk|emd+RPU7n@PW6y=|6JaWT(|Ww9!% zc9RJvvdKYxeo&v&?d4N3uUD(O+QgmJ=Bp#+W^q4ilQqvODv1z6#$_gD3XOELuiAW< zo^FMW=eA1Dd4{!v=6|L&+aRE8{2SE=0o&BuW?tN5U%{%P&EEd>c3ez3TeOR#V}^L1 z+}DWGeZ3TYaeN=jxlNb^@uBBNz3Yth|}Db-hg6{knK=%C>0I`ongaH|e}y)=l{_ zzgrdzHhnz3wcfVtZTm~HYm2J80B#?}ATHBBcH;lIzu2worcLk5WzkuYJ=UutTi|=K z&N>saZJ90dHqUbQ4} zpstHK!M@Wz3M-j;GdWdN9e9$Hw5@;HA!o@fu^J!Ztj5065I{11@v}M~BYb}4oZf^K zv3e+xsHmqUv-IOm_rU8T=cIR&B#V*BC>Zf+^px_pcq)tML&Wa#P0=5=&L4`Hpqt58 z_wlD+xT~8*(F{w`2z#!rqEGot$m4FdcpmiC`sTIIWPRemhsxOhcHa{Cy)f5!KBO}+YSQ*dp6EZP}v08s(+qEDh^j0-2ql!L>e-LXy4HQ=*T$YQ=KX;b!NTP~MB z&?UXcM~9Z}vN#B@v)=mNx9rHd>um5oetUREN>=%LH%1U>#;Z~`h~vEf+EIEYm>vYnvMO-%>~7n($FhH+tjt!_dI#xv{UC^|OYpRvjmIr=l;Wnz z_tA(Ey72csTAH6qp1esUr{71Pr_Bgn8NuyAI2P2pg0XFlF<{#~!);Gf!WDSCN3)Cy&XwR7rWEP7&XtSLs=|F0+ihPoyTV-XscK zvpwUw&-3+CUMkfD?>!CC(~f!F=Xp=nWzz3`qWLt~d!QejrmQA)f-E{*1+<|8vy0^yT%7Oy?PA)>$d7^8f1#j;14w zFw+oNa01V94q=uXEs|woSP(XNF-UsWG(HM(s|!gg7&l%hMR#a!xzaqQ zGAL-P=`dw+aFQyfwRXWCMBii7VcrSlEP|&r<5D{`6i6N15sHQ&#iZiGhw;gP8UoKS z0%sha9?1|Lyw?aJ9tBrCOgY&ijFFZ?Vge6}ObK2Ggcm1zu3a=v=@1-Z$#}p$K1n^( zmV3&VWg5(*nBzLjkpKkU`Qcig=(2CIA4b5Xh&GLe0E(R>&AUftZCTG+bF1 z(`Xb26sMd?t`Pb@vxq6;9<0Z8Q49GJQ%W_LjyqtiM~|K!z+(uN+Q}(F4A$FM5=2ii zWsT={c#z11Rm@w?jTw=h{PPu2{pW1z7sgXzlmdp70AhpGCh`<4(cqeJ$e}WTCbn<~ z@>9qps6q-EQljAOmqwirAx%!Dukd631Md}XPhdWGel8g zQ4u3WiH9B(Rj!LSlr&6nk)vRyw*McFe#Q~?k~sQvVl|$nLm#9+dJro?MMsScO4_2i zMFyhA$|zHSlkVFmw((eIwG<|jQd8qqgd8+TCDBTlMVSeh9wvc;9G6pFLBodq z^lCYXz639ETi2uu_xfm|tcRd0b; zumz$bJs=YRdx$a}hZ~10thRzAm@N<} zNUT;tbnHUg_E8H^LMW!%A~~3aY?L`PZ8-%*G$s=%I%-l;H`7B+|I*a_jPF?&M@`gl zu6##LDTx_g#PJ6N;h`IC0e_*pkw^y9H%!c6JeF4{rRH(8#S_Rt1FCbV^fXg~hF;k? z+5!mZiWqG@CMy%kqpi1=C?Hf}9S+c~4F&Z9m##9oZpr!cOBmUmZF;)-ceTo|_VC z80}R6VGs+Gc!yx4D21sqG_s($5H~4G2mpmWps{+Sm}X<>8O+9lIBC0Hr)dVEAP~MZ zy|&Pt<87cq3CeWC5Vbz=np{yvbb~DBo)9AcL1K(RLzk4+5)~y%2Rinbrs9A5*MaNo V;r8m9{`d3t>ff{AnG???005_~{v!YY literal 0 HcmV?d00001 diff --git a/part/data/sources/tool-underline-okular.svgz b/part/data/sources/tool-underline-okular.svgz new file mode 100644 index 0000000000000000000000000000000000000000..3aa9201d0fdad013c65884d4009183c26baf160f GIT binary patch literal 18176 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

O2tD??pTE!xWPs1{bTpmzPOn0A>6 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 literal 0 HcmV?d00001 diff --git a/part/data/star.png b/part/data/star.png new file mode 100644 index 0000000000000000000000000000000000000000..27d5d948b887c6262504cbf808c6c02aab41dca1 GIT binary patch literal 2725 zcmV;W3R?AvP)IXXH@!@|OT+`fIguxHO6*0*op zV=|e{5+61Dzc7NOrKQV^88gaLQc@UU#flYGFv{2X=#PM*-W#E1%a-3CK75#o1~_^0 zBnt`(`UxL705ZTpZ9Xg{nKSJ5>(@+Ng@uJGFX-B} zYYM*N3N+`0s9($4+S+6G?AiI3FJD%jyttG~CA)U*8k;+JZkdUR$(Q)54Pc~qVc_B6 zF@4{@eZu3%kJ*Ro>C>kS#3Y z7Z+0q)QO^^B6juaRW@(lydqOm(}>TyCP35E9R2<&EcWEd6EZ-(K%ugC?_L27(iQ^) z1J}mVAQ{N8e0_aw+qZA;8WIxX9UL4S2qD}1`1pjmxw(a-i0Ou}L>LnLK*j!qL%m;dPKRqyAKEq3=BXf zlGfKyR#5cmi4!N-*|TTa`Sa(gQK4F$x;7O{-@SWR<)#lGK4jV1*^EkCDrHI0+}vE2 zmzSr?_pe^PQW4+Vw{IJaH*emMC(v)w@6$fCr)uvzckVDMsEAj{yU0)^D;b>Xh~(sC zcJSaq3L`oU#r*m6i{L@u^OS0!&JgYk7Az>BALSs$NfC16Mh%jYKzwuQ(j`%T)d7wj zJGPY96*6^3kofueZQ8wiccu6Pw{PEO`T6;LgT@b%mC9;Sevq&dWc&;9GGGlD*Hv3c z0CP`I&ox-T!g@qVYyWRV-e z2t+(Yctm!M3eTQBqfn)jrC^DHd{18a}*BBpZLU*LT11yg%2UnozC(u&sgSiN5D0h!uAKNx)hVxz6J&rLnwteEO5Ty1 z!3e~*M35AFS_f(YG2VrB>(-T^=t+Q#Vcg|C0cSp0GFG4e)f>Tpx286zs>Yya&pv(n zv=T8#?nlK5orYFGd(ocQn+hNS)nP6UWhd4M3r?sP z*5RgC0l`R6y7Kxcpzok2N>utcK=W0OJ=b9GkZLK;5il2BUIWV4$qV+~yLZ3By?}&Q z53V2wJx3q~>jaoyi8(_Y#e0nu$8VOkJ3iw^K<{9RE3ahC^+^ehA}%gYiTOY@ojh0G zrbfK$VqxMd8#iv;OYQ+01=5{z{P^+nc#e0d(cS54?ccvYcl{6WMpI_ zWdWVvB6sT4X)e4#sITx)mK3ki)S#=RYOg`{1E#|FK!jd8CqlaR0x{KFc{DP$c6MlT z8f1iN)26-m_V#YC(|3yC{w-o-WAnIjbpjfq!!!JO8uTmKvp5s{vlm{>+F zH9(<3-&c!`8#gLZef~|S*XYPZ{V*V@QYS1L8d8qBMPbpRMFkcX7OVNFDiH9)z;gWP z(W5g_NGahBA}`bl@;VG||Apt>bjAa{di7d^3lyO)K}nf=_wEU(;mdH^zd+d`TyY=3 zoin*J&;~a++ib*j7E(bl?L~(wWEV8Q@m64ro_PF z5xTd9{M7xp&@O;AcV9E!$vMC~M#sd&WMH9L6{i@^TUIX~=Qdn1v1ga4 zn=^2wJh9?2a48ipUq#SJ9GzhneMj3oV2JkjKh^K!&H0k!O736LHB+dIF)7ujVP|3B#qRBnqDtS4K%H$ f)wG&c1K0lmgxr`r6D)#r00000NkvXXu0mjfo+Ko8 literal 0 HcmV?d00001 diff --git a/part/data/tool-base-okular.png b/part/data/tool-base-okular.png new file mode 100644 index 0000000000000000000000000000000000000000..cf6eb01338bf5a2d8bef652eae588d926226106a GIT binary patch literal 870 zcmV-s1DX7ZP)ZMv(@Y_7R;hk?N{qZ{AVDX6OVsZ;fqAtHRH z4B)p9_Vj=g`El}~*82NLx@WW5ZwChlCZGUZCG>Jqa_`Z)}7`U#>#Kgq=0a~pVhGF3QK6iI_ zBoYYvFj) zT5C~Cy-pFO)Gy=zqP4ZPKY)OUAR<5CKp+qxolXzy#l=Mc48!=@E_3v6_Lm)FvDnBB z-URR&GCj`&pjxeReSOX5<|gOo=KzQZN-4C~!v(K*2cVQdCAq)6{%DT%d&7BhieaM<6#$G|B#!T zn>PbsS(a$6#kOrxN=c{F5fKrswK$F=T5Ayz>G%86@ApMS#C2U!N=duj77-EKw&m&R zNiHrf-W)^zZNaGZcYx1N!KVW#rP$foq0{N0lmehwEYfH+cz%BV-vNTvYL!N#K{A=7 zR4Ne)g*ZJuWqo}e%d&{YVrZ>tx7*mZO*Wh5?CgwSFi0+!dq2S8;UUx0)70yAJkKK< zjS`7Oh(@E_-`~^g_3%88TCK+F>MG@Od1U4QD5d1+=tx}Gl~SoBzVAz=QjvbYFDEA_ w!#LJzHMzaL72CGOb={Gr;46k-0G|%* zq{jNfpGj5xps^c_{gU$ez1)oZVu#}*cOtJuzI)qrziJ^ee@?~>r(E^b~q@#*B^^8PwDcE%7s3Aqn# z3eSpRHo@Sg|DO&23PEU9!Oq-9AAcJe9epzPmzcV`KnEpl_`9f#%pDq!&IO{RV`mf% z7cZ}(rsj}Pc+d;%5wvnT7ts-P3D{jb@NF@G&d-{}lbuh1ce4OhhF~hkx70lBP3sZmC zdNJi@wDf?vrRC!Od$LJ1(!L$_2-#@d=FlRAP&4%QQ@bK{9OSyRxfs~PviHVJ^ zx4 z3f>e1F>Y=70=4@3`xl3iXQd<(U+ZitG-{&SYROks-^gh7YndUCxtd=cGQGb(by<=& z`UxJ-^M!yMo^JB;Yq7Jgv6SXv!eX&~jf07tlGZK$;^13+%(U-XTdzGnx;pdrz9j=W`IEA(V1v z`*Wtbj;oKZ3(0-<3Tr|fg$f8T;btF5Dk^f;{5`9~&d>k(O2>)9`UM{c0-HP^GXcIE zaoqgDO|kRG4|g7EYv^s6sx7q09=@@$(Q(Zr#YCp~Eu@Ko|J)w-ox^2|!E7I&LJE+P zMUuuv)Ov$;9sj6R=Q7f&A*hE5NJ(*V8r-j64@}L>{L~7ss;HP@FoxFFeC_S+g9Ic2 zz>3b3Mse8JA~&o3#>ecxrLrS{H?4fS}Rn{+?>9 zy2ahYko`68l#~>>Mo4;04E53Rv4@Y3TX!4_TrH43>$9%5Hr1_ExD#-go14oiC`6IH zUlteRFwGAdf;a8=LN#ZaecZ-g-f_PQ1BtOa5luI;7N~~5;$S2UEq?nJzq;x=e`j)P ze7vU-JCKl+l+S%KKQHX;?414VSw>C{UGeh%RP9~oz`*S1Dn5-t>y};J-RC>lT^%xT zvaqrFjF-WHy@R|H5fLFhK30~?>uvr!i>UUb1?<&~85+}z4Ve($Ud0Jh~+RrS$m_UPznW;Ql6G`e$ZORloA za&K>MYi;84(a}*tax$@`B_N?g0@?Y(OD+b8h8;5?S8X25+|?Ug(aOho$uN^rWY!U-$P{P=21$ z)ujUh0TK1435`um=$V>kX1Wrt1;l~u;pFCyo$y@wNq$YTlT8)Wguz9D{f|+hnz)8w z+E!@$;?e$k*McuSA|~W;r;PM)BR@AkKi|UXj*k^E5Rzsk2iX z5d*z{|Gq()s+^oKz*0{b3ccd+p3Ab@A}}cE(y6GZXvzEc_N3VdU?LqWJl7&IqQ(>2 zK{<1vEF11_E!-F#8{5^Z-OpL6pT?LHL{wB%+z%MBQJzdD&(o>?Ykk;UY(Cvtt)=(&_eVjoa&QpJ%F5~&Mo{0laRZKwfTJ?&$=(`|kIa=u z9XJYsmh$o$04cPsZU2uSQcg}z1~}IE=$##ZHFb4x_C4$S3TkTo%gbW0lsJIGIi(&R z=(mFcFc^^X#S6s4&AA~^l!3qn1#lyR7R!g)yRG9%k9ej}PQn2~alK0~N=su(N<=gS z*<^E)gVrbI<>WrJJ=*0H5O7}Uf5yeljW##$`S1a^^KN`DW${ZXV=~#YnGyK^SP+3)VZ@5Skfau&jvwax8yt;3y<}OGrw_&&}Bv7)b(_L5?vpGWHD)mbSF;=L~!V3xE=$5we8?9NKq8 z4E6L-gY$l6-<}WN5kyAZ2FzWyd?l=+lA|8{OHNt&rnk2=ZS=zP6Jl&_X{jzbuBxhP z@jD?>LQ}JFZOwCam@u5L{3!+pKh2V+u+>GDuya)Xvk>t zni4^AeE(9o)EP~8venJT#lvHY!3-E9PfH)ZBCIB7+fn2qEm-0>5KS}{clsdz(++h& YerDyY#?tw`2LCh=l%A1pt&U^VzvDMpX8-^I literal 0 HcmV?d00001 diff --git a/part/data/tool-highlighter-okular-colorizable.png b/part/data/tool-highlighter-okular-colorizable.png new file mode 100644 index 0000000000000000000000000000000000000000..8e7db875f501a72e52c2a0a7eef047a93e01c9ac GIT binary patch literal 2148 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 literal 0 HcmV?d00001 diff --git a/part/data/tool-ink-okular-colorizable.png b/part/data/tool-ink-okular-colorizable.png new file mode 100644 index 0000000000000000000000000000000000000000..a79c37f0af326900a99e35efba43f5187271d913 GIT binary patch literal 1770 zcmVRzgP4WI_FMgWSF z!SxQts=$|lEx^_lKJNiP1m^8dsz@nc2et!Wv3MKM3Ty&4n%+=io}UB10LC2z^cm$V+Z z2D}Fh16hnJuD8Ja2M~5AbZXWmc!sft{{Z5^KP{eK4}enk*aVpXJ_cgI-!ZbYE&#DPcM$FoQ&qf*KRS-EATl)scxdZm=ub;V3TBk-!}oj`}hJI&*EEere_7y_nO z8(aV=Wp3b`z;`U(ZUbZn_&#vAQh;K%)dI5*_!h-)Y;(Xt;P#3$Ia#j~zD-K`Qz@lh zq&8Ag%GXyqw^{%NZ;(>HDW&{)3B+GkE5d49GcW>tqmXEfJL|IB^jbWS)R|&muzaVO z5X;QY14$e317I&kM1^w%khAy(jLUXwk$FD_{#_2hc8pYh$p&aCdyf?|uv$??id3}| z6H>~bmC{(P1|F0d@dEGx@EXuxYM`B~;8o!B7=>i@0=)GpSYrGF-o>bkRc);M~ZviNZQl}`&iv43Jy<#V#E3BFj_ec zrdUB(F%K7Qh*b<=M!Ufj7rZFEbcyp-15gyjjnTrl3NPI~6(Y_{DT{Vn9RnzevH_z3 zQE1;=h3iaF1tZ$bO2Uo-OyL%mH?yq~=P)*=i^bNvEC5qj#c0>9WDCGkDP`7SSt7F-vA zzP>*9#fuj|Y;0_txOC~#p9cpAzxe!Mh3)xO{ltkA?h6+#T$`Mn6i=Q!krNXW^77@& z$`1jZAvnkLL9G)5`;pb#@)MjU){TR z?;EYHt;*EY6uDdum&?Wc{Cu6NsvTwF&C1No4B2cJm&-*e zl_HTy+)S61Uq;GMOZiNZh}5>(;?YBr*k6 zz8M7qfzIyk?khWX?D)E>s@%SPo3^$#+-^7NbeecPe)s0hn+MOHJ^TE9V$}cwfk02j=a&7mqT(Vn#jpDP{#_oAhh#EICX+!*iOc0e(==^# zbo58X#G%3>92gkzc6WCV`+UBg9*+lI*U4mz2c>*I&+P217L7*V3WvjgT4|250fNDx z@9^QnSA9O;&Zed&W@l%~WHJaLP!t7C)3jJD_SWgsr#~n)PgwxLV9?jo(=+V#dcSHd zxPob#rjLw_yd4gQONv7oMOcX3@AvOqT5v*$LfYRBhr@rcGoPa(3Z7Bh@7NUw2N~$^@85Rp*s)=+*ZWFSQxkJ@b1W<@Af+Ui%c1MKcH_p4 zcS51i@0|o?s|Nb}`?noEdi1K->wTrUxfxBOA z?d`qR(b3^+X=!;uTnK@tX}T%?JE!8d0QT?S|9*RWyH8bBW@cty5TBl&)}qnq@iS-6 zlqC)}ickpAAf+UkOp?uJDb$RnX-QN3x8;hj3UL1X`M&n{c5gf$CzVQ(&*#bIa!gH4 z=_4Z}?^Y^a65!OSQ`@_`x_+`{%a&G;$HSvXk9hX%nbb6GJ{F4|9~v6^O{L;c;xb%Z zT>No79*+ni^180)#>dD1mdoY-nog(Rk3=HzYKTLLA{0WrCWNR^u zEm2zl`F#FUAw;aczWz`!7<{r8;y}rLf$PqlJI!moZ>TjWUOK>k0p4U55d?p@>i_@% M07*qoM6N<$g0po^L;wH) literal 0 HcmV?d00001 diff --git a/part/data/tool-ink-okular-colorizable@2x.png b/part/data/tool-ink-okular-colorizable@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..7e02a79424193e16a3a6e6e615e79a7a5a2e0231 GIT binary patch literal 3744 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 Z=ms&IC*HC)pZS{vObyL3#RjN)T zKo0Of02sHE@p$}oFc^G!?+_{Fuf<~V?XIb{zSe9u`>sDg^ZESeZO&~yyn^+54L}q{ zTrL-qBq2!>f*>G{V*q^LCk#UXf*`ot^GwETrj!yXC51u(Aq2Kx(A*G~PEHa%=F-`Mr0O#|WG)<{itJt>9;c&ol9J<{uN~!D4>-9QH zDUQb@uImzpA-!JjdU9_DFbsocv&rdnqS0v3Znue|2+OjF;~2+ra9x+pW`pN>Y`0rV zr4p@H3)3`7(-h0HUJbtoApQ=9!{O7#mSy329_4bGe!u^)Pirk6dE)jr9F0bwJDtwU z)8v1Y@B6=(%jJ)!09h#WmoNv&0djyGAP2|+a)8VM{s8RH1Wsl>r&9m`002ovPDHLk FV1htkzFmw>vSEe0(&A zLZKz#&sxR&eP?G!H9m=KHk$+fc<&%hwW`)<_3i?M!{M5Ae0_b*(a}*&VpXH+6%dQX zC>Dzpi$(75?v#XPN`Jl=H}+Lo!jlEx3?Ef(}=}l7>0pi7+hRj z@cjIYrfC?4fu?DcN+q72p18feC7;iePN%C)`&CsZd^8#*olc{wDnmm&*b#)Ps$4Mj-M59ssem|$DrznbouIn5e98h0h zPcRr{Z*Pym!9mv6)^IwVG&eVsOeP71LYU3ff1s*b0f|I{g@py0nwlsS3XF}7Q7V<_ z>FFU52yk+8g2&@wX=#bJwl;#n;8(Nf^?I3`n?qGqbX~{i^D#9w^;KW}{r!xNj?&%T zO&}0JRn=-ze^pfhOs1FScDtQYsf5Gfpin4~OeVRzyTjx0V7J?`SS&O)Hd0qtN2OBv zM+}F<0f3??OioU6c6LT25VGD zCX=CDE~D!@i9~{ih6dneZ+ko*yk0N5uA?Y#-?gr;uE^zbl*?sycXyecoyBUkVzb#u zrBYm8UjEp~{-t+sB1KWy+SpD%AIW?7r!( zGeF(g*myiVJk0-KLLVxZ%T<8Hug*gVA%qY@2qAy{D4^00lTnL_t(|+O1d1j$1_#t?I|U_RM%* z5P=8_*nk8JSg?r1o)6(0_yv~y4NGm}AGD9>* z!Q_yW<(T!x_8N zV;63n#%eaJJi9=|p2#_3cJP_>mGM@qpp9kNoHIGkbbhh_LwIynee~5A55D~Ho#qx{ zle*$i*Hwu1#D}U5u{wmE!eSij;H#QonDcNM z@813P^UyZS_~|FN-}~VGgEzXBOYEG}4QpawZ#E~6;Q~28ZAT|NB10P*<*h`}~0Se6m;4E_5 zkTb~h4df%WrC!O?Kp6Jv=Tx+D5j$onf~ zB2gGST}zNhe%ngtEb3jzw|d{A??BjsctyFp0+wBFNj?t z4*V(ttloA)Fy129$Wzw{c>?*+ydbC`7qv~oD-ds|+yq$ULVhJtYvkud!&UYb@!*)A z&*Lh*60wo0P1^0bU|5qc5d9pH|3$gf9g+J;+$Tzpp4H26^WP46t3k(kCEQB8-tRON z@y&q7Ibn9p=A(l0plsir%1cwAyNAAmxIMO-=AFl{L>6I zidh!A-o1Idp?BYE9{vqFUV!h{Go8)=001I-R9JLVZ)S9NVRB^v0C?IfFE7{2%*!rL gPAo{(%P&d?05;eLSP)anTmS$707*qoM6N<$f(QW5w*UYD literal 0 HcmV?d00001 diff --git a/part/data/tool-note-okular-colorizable.png b/part/data/tool-note-okular-colorizable.png new file mode 100644 index 0000000000000000000000000000000000000000..01ade5e6c9072a5aade5f5068bd81db49fe75b8e GIT binary patch literal 670 zcmV;P0%84$P)0Dh zVRxaR5El_OE>slc-aGeex=Kn&3*}D0E;)`(CKvOcDtVgAf?2zEKJkn?(U8t2nd3JWHQP5`8l5FQLon# zLg2bC?RJ||sq{`m382+#vET1Wr_*e=TXMPFTkdc;aC>|E!O-(OT-W9G5i0>aK0Y#^ z&$+p|VX;_{N~Ne)t2{kDkT%>t0g zWY9E?QmKS(+Xx}Jyu1V;pU+dT*Lit)A(zXcX}{mT5EQj$)mv2B}+iwpMqJ+A9gsZE~$^ZZW literal 0 HcmV?d00001 diff --git a/part/data/tool-note-okular-colorizable@2x.png b/part/data/tool-note-okular-colorizable@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..dbdd3d95505f9e5a4815affdbd15991fa1da9507 GIT binary patch literal 1524 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 LNkvXXu0mjfh1hRS literal 0 HcmV?d00001 diff --git a/part/data/tool-typewriter-okular-colorizable.png b/part/data/tool-typewriter-okular-colorizable.png new file mode 100644 index 0000000000000000000000000000000000000000..89da4aca3149e27c96c195eee9569a4062fa2faa GIT binary patch literal 397 zcmV;80doF{P)Wti6hXZE%w*73;Z-V<*DYpp5E@;6D6IaiaW>7uS{b*YpjBHKbl+dR*| z0Sw!`WdI-nAdcg&s;UYu?=7IUUIG~X&z}-#$+B!_j9H%}uqle-hs*m4G>o;@OCs9& z3ZNML_}ICXdQ rX}lND!;gU5crIkm-l}JPAn+LW(6Ri0&vE#)00000NkvXXu0mjf-{q-z literal 0 HcmV?d00001 diff --git a/part/data/tool-typewriter-okular-colorizable@2x.png b/part/data/tool-typewriter-okular-colorizable@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..c3961615e75462e92f89936ebae14f8912c14470 GIT binary patch literal 727 zcmV;|0x127P)No2g~i4uO(5kJ7W)|j`2?bk zbvj9vDv*#=!4HrWNf}cHY;99Xsvr`*TLjmQ$+CL0DQ*P|b2qcMGk?SVe_$i?o^Rg{ zyEBXc!!QiPFw8B*QW*PGTM9jVk{NVI(#)Msr*CVu+JhSeGKTN_L8Vgh01U4iD_a1n z)oLY|%Sn%?q*N;1mmQna8RUO}3!n}_4Hux%Tg>Nkuib8cuq^APs@S&eH~oJ9YZOJl zb%ayJ-EOyGEWv8E@>{LedjL-Wob2>6+I;}HiMG*bG+s<5lb=EeDXkFVVoz_TfZ1$z z<~YuC0F^`f8x*i3Z`*cfJRbizssf@Y`qOMSUjevxl|F+4cG!;NJo9~jNnXHUF!%=G zp^RR3`breAqt@&7zK8?HCJGRpPUj1pokw#bPH2g1}?}7pJGEuT}MN94j@T zcma<_qtSP*1$dr!9){tvUa!A{+Ab2%UjP6&-EQ~uX0urbLExv*Uw;wFC!a=Zpa9_V zwY$qHh05-3sFsC<5Q;f@DNG%J8ZLl305wNhz~xK83`bdjNsJYsa#t-&b)A(So&nSW zsNn*r15m>SnED};Pj(e}22cl}h6|t$Kn)i_9e^4xfI0v*I{x$H9{BEY3ZH*zhAF&^ z;f7(jPR;-h9os3Bc!)TTh39!^$oRk`^BIuO=TDHF9A&ZmO*||BD3{Auoj|98p8;7L zuGi~dg+d|oI|TrX#bTMYr;aU}tHE=hp=N)EVHk#C7>2nG`~_<1fUDAqA143+002ov JPDHLkV1flrFp~fP literal 0 HcmV?d00001 diff --git a/part/data/tool_hl_orange.png b/part/data/tool_hl_orange.png new file mode 100644 index 0000000000000000000000000000000000000000..b4d4591c9770a530a8f191f229087898620dd301 GIT binary patch literal 1527 zcmV_}|&@xm4T8)v^+7NrBj2^rxgpSNglSZkE*E z;efG{!_3X^iRM&IobQ zwBq$kxKUrhp^vTX*mZ)6Z?3Q+<1j1N?B%1GDfIC4-X_V<=_l}}Zy6nGlri^b(bI96uhCOAFe-w%;Vcpgf z982<{a;)fU(GmNIXytG~jP$$4ND=vq7C>!2*{gHeZ~$_PU{5K0dICP2HigRxBF;}& zB)xAu(5yKyUiwWDQpfrK=>LD}iaEOb16E|$u;n0Z{u1)aVEKkh4n%k6K#;gk+AC?O z;nu8xiP9~-WkkAJ=9TBJ!B(}3wA4*x>;&sx*kS^*jg*-2)Jzb;KB|(GVE8tB6vs)o zG*;@D{>n?&smxym`dN$-Wv;@7(NH-Ta{Ex1?n1<{ zFkW~yo7kY|`6ga8#fYf(x-4mq(NXqw+mB#^)OBe03!}YcT5+&niz&oB^sg*fXp)>+=d?8cV(gZ7w|A@L|aekx-^wL@T zq4^lPt$+mSCoxh$R$$*I%A+CIA2J0QqG^SwPZ3wAiEB|Jv%7A1NvkD2YUs8DCP<1h zBBh|^Jv}Lz-Hqx@4{TP!D$%$|T$?3oCyR;~#M3QRCTW!6?UaBwCB1HhOC!Dr8$d(h z2C5Q!Ql8w3i|MX3EEHEJ8>7XX_Nui=DU$wf$SDC~l1zkqN@tIPx`K50BpDLjs2}A^ z<;eRef7hMbIB_UI_)GbcUNkID3wYz^*nPcZdLW$2gZDebL_u&%ZajG}rH^;ulff+* z_g7tzlw|zPkkbN2NM5PE+kDn^d>d>W1Brq#VH@nh<%jNKV{1?TC6}|UrT^OJy{l6L z!lh?Q-+dL1Sz+$|Fj3fsyV3NRH^n}l{8KLFl9KIjy@w&E225|OsaH3RfeoV}K@e^X z@u22GZ<5_wT((FHZZ+$j_YU|EE!-df9Ot6iL8M@W8<^eiZ0$}bX{V$?hT9zr7&PqT z!b7KPSv>Ot@`iMz;R*3ohgLi#l}HLV?lyGC0v_tMbjil!Ha1^??IjmTdvY)@NncBf zHy$u_M+5%SCO#x^N;RSLPcv-dmLJ-67+NGL!GU4poB*j^+ZG7X|-^l;~002ovPDHLkV1n#5@Bjb+ literal 0 HcmV?d00001 diff --git a/part/data/tool_hl_pink.png b/part/data/tool_hl_pink.png new file mode 100644 index 0000000000000000000000000000000000000000..e063b193b4b4ec9433c90c6db73370460c5d0e80 GIT binary patch literal 1552 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 b`d{ErXY>@S_zN`?00000NkvXXu0mjfOX#^$ literal 0 HcmV?d00001 diff --git a/part/data/tool_note.png b/part/data/tool_note.png new file mode 100644 index 0000000000000000000000000000000000000000..06c37ce1b7e7ca35db99fcde5fd46d77125b46b5 GIT binary patch literal 1592 zcmV-82FLk{P)g{0*G5or;X)b7LJ?O9x>c8o1hVn5 zGYfTP!k`2c2a<(Cf|?-sVkRWrn(4mXxBI^9{W{0W+?pbhI;(b0$X3w%fByhh5DgiytKt^k=p{w5h@fKnj-lL@@v zG{63EtA#AWg|3q(38OfsXBa#IA9p`-k34R7 zJ`~t3Mtzt-GK6R!f_rRvZ;*`+h!4kMGM>1-N#G_UM*Rc!ya7Xd!l4YAkTX�~CJ+ zMwP(j%d#6qq`r>>I9po`OcQ%NCIsZ*2zQjwIdcx^0XdkmAc3wAcr-3eX)tzL962yN z3w!THO(2*fXA9DiiyZqn)12Ra*Zn!KWM4fN82kRK&8t_h&0LpgbCW@qp>E$slad7> z&Y#6>>OcU*Kt_cGEZ_{V30ztVl7J{^#b_-b>-++6!GD(Edw;kLTs{`~#cQws^r4A& z?IBxZ9t3n}Gg76P0Q(g6d88RG*YKphMG-jqMP zb9#K!-^s3ZGf4)_fg?aX@fAM!#m^v!%RkQ7NTlneDlrv-jDZm>JZ1|#AUYPf(Z~Dj zm#@rsuRqTAGp`Wd+eY+H^UhCxgso3~jIM1^b)VM)()uK7HH5rCCZM~-yAiVx7l@Aq zp1gt+(db^heuInGA0uUshD0v_9|+fXzMd*vMa%F!SPEz!(O$+hsR@KRcC+a?-~khi zdRO(%%k#Gn_d$jw%j} z8s*^&ajMZo2W@?L{aII(omWB2T7@si9{?eYG7cxX2e>OQB82D(O8~0YVZA1Gk=j

frtfYP+nn4;{Q`U|EWy!y!8+Y2@!~}AOiJ3KqnY!?51*hLO@w;V5?eqT2Yf&2LAg(t92X& z;Jcvt&`7}aK=hf;P-7UK5YSqxD;!m=fjaBMYZE9aYASvF*L^nb%@NW5@^@Q7p7GBY zW$2b$a8;l!do-&FoE&>rg_m1x?P5~_S>z-A9D#sLLY~5(;nuCg`L_nVFor(@;fjFK zqmM8Ft-LJ(Rgy1J1u`p03Sv-i5`hdWRESCgjNAcR1F13n4Lo^^ou@*ci{TdVCm>xB zuu|;|!xw;Uuq|*LFbgQa0vaGhQ50wr@(j`xh(VR_c>=&Ak3t$w4-Tfh_;eV4`z2m} zei>Y-@G8|-T2MIA>p`~- ztuC~if@Z6M(=2cdVK+_PYT6CE)iNzh)18-h7NcjQ{I-PWfWJH#`CAFB+<#C@G(ayg qYBbhdn}7t~00!mx+T;IU$NvI>gaK34+DdQ$0000 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/part/data/toolsQuick.xml b/part/data/toolsQuick.xml new file mode 100644 index 0000000..d4e7329 --- /dev/null +++ b/part/data/toolsQuick.xml @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/part/data/uparrow.png b/part/data/uparrow.png new file mode 100644 index 0000000000000000000000000000000000000000..c29414d107955ee5af238063cf2c084165bb4aa7 GIT binary patch literal 1744 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 Ef|U_w(EtDd literal 0 HcmV?d00001 diff --git a/part/dlgaccessibility.cpp b/part/dlgaccessibility.cpp new file mode 100644 index 0000000..3254c71 --- /dev/null +++ b/part/dlgaccessibility.cpp @@ -0,0 +1,197 @@ +/* + SPDX-FileCopyrightText: 2006 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "dlgaccessibility.h" + +#include "settings.h" + +#include +#include + +#include +#include +#include +#include +#include + +#if HAVE_SPEECH +#include +#endif + +DlgAccessibility::DlgAccessibility(QWidget *parent) + : QWidget(parent) + , m_colorModeConfigStack(new QStackedWidget(this)) +{ + QFormLayout *layout = new QFormLayout(this); + + // BEGIN Checkboxes: draw border around images/links + // ### not working yet, hide for now + // QCheckBox *highlightImages = new QCheckBox(this); + // highlightImages->setText(i18nc("@option:check Config dialog, accessibility page", "Draw border around images")); + // highlightImages->setObjectName(QStringLiteral("kcfg_HighlightImages")); + // layout->addRow(QString(), highlightImages); + + QCheckBox *highlightLinks = new QCheckBox(this); + highlightLinks->setText(i18nc("@option:check Config dialog, accessibility page", "Draw border around links")); + highlightLinks->setObjectName(QStringLiteral("kcfg_HighlightLinks")); + layout->addRow(QString(), highlightLinks); + // END Checkboxes: draw border around images/links + + layout->addRow(new QLabel(this)); + + // BEGIN Change colors section + // Checkbox: enable Change Colors feature + QCheckBox *enableChangeColors = new QCheckBox(this); + enableChangeColors->setText(i18nc("@option:check Config dialog, accessibility page", "Change colors")); + enableChangeColors->setObjectName(QStringLiteral("kcfg_ChangeColors")); + layout->addRow(QString(), enableChangeColors); + + // Label: Performance warning + QLabel *warningLabel = new QLabel(this); + warningLabel->setText(i18nc("@info Config dialog, accessibility page", "Warning: these options can badly affect drawing speed.")); + warningLabel->setWordWrap(true); + layout->addRow(warningLabel); + + // Combobox: color modes + QComboBox *colorMode = new QComboBox(this); + colorMode->addItem(i18nc("@item:inlistbox Config dialog, accessibility page", "Invert colors")); + colorMode->addItem(i18nc("@item:inlistbox Config dialog, accessibility page", "Change paper color")); + colorMode->addItem(i18nc("@item:inlistbox Config dialog, accessibility page", "Change dark & light colors")); + colorMode->addItem(i18nc("@item:inlistbox Config dialog, accessibility page", "Convert to black & white")); + colorMode->addItem(i18nc("@item:inlistbox Config dialog, accessibility page", "Invert lightness")); + colorMode->addItem(i18nc("@item:inlistbox Config dialog, accessibility page", "Invert luma (sRGB linear)")); + colorMode->addItem(i18nc("@item:inlistbox Config dialog, accessibility page", "Invert luma (symmetric)")); + colorMode->addItem(i18nc("@item:inlistbox Config dialog, accessibility page", "Shift hue positive")); + colorMode->addItem(i18nc("@item:inlistbox Config dialog, accessibility page", "Shift hue negative")); + colorMode->setObjectName(QStringLiteral("kcfg_RenderMode")); + layout->addRow(i18nc("@label:listbox Config dialog, accessibility page", "Color mode:"), colorMode); + + m_colorModeConfigStack->setSizePolicy({QSizePolicy::Preferred, QSizePolicy::Fixed}); + + // BEGIN Empty page (Only needed to hide the other pages, but it shouldn’t be huge...) + QWidget *pageWidget = new QWidget(this); + QFormLayout *pageLayout = new QFormLayout(pageWidget); + m_colorModeConfigStack->addWidget(pageWidget); + // END Empty page + + // BEGIN Change paper color page + pageWidget = new QWidget(this); + pageLayout = new QFormLayout(pageWidget); + + // Color button: paper color + KColorButton *paperColor = new KColorButton(this); + paperColor->setObjectName(QStringLiteral("kcfg_PaperColor")); + pageLayout->addRow(i18nc("@label:chooser Config dialog, accessibility page", "Paper color:"), paperColor); + + m_colorModeConfigStack->addWidget(pageWidget); + // END Change paper color page + + // BEGIN Change to dark & light colors page + pageWidget = new QWidget(this); + pageLayout = new QFormLayout(pageWidget); + + // Color button: dark color + KColorButton *darkColor = new KColorButton(this); + darkColor->setObjectName(QStringLiteral("kcfg_RecolorForeground")); + pageLayout->addRow(i18nc("@label:chooser Config dialog, accessibility page", "Dark color:"), darkColor); + + // Color button: light color + KColorButton *lightColor = new KColorButton(this); + lightColor->setObjectName(QStringLiteral("kcfg_RecolorBackground")); + pageLayout->addRow(i18nc("@label:chooser Config dialog, accessibility page", "Light color:"), lightColor); + + m_colorModeConfigStack->addWidget(pageWidget); + // END Change to dark & light colors page + + // BEGIN Convert to black & white page + pageWidget = new QWidget(this); + pageLayout = new QFormLayout(pageWidget); + + // Slider: threshold + QSlider *thresholdSlider = new QSlider(this); + thresholdSlider->setMinimum(2); + thresholdSlider->setMaximum(253); + thresholdSlider->setOrientation(Qt::Horizontal); + thresholdSlider->setObjectName(QStringLiteral("kcfg_BWThreshold")); + pageLayout->addRow(i18nc("@label:slider Config dialog, accessibility page", "Threshold:"), thresholdSlider); + + // Slider: contrast + QSlider *contrastSlider = new QSlider(this); + contrastSlider->setMinimum(2); + contrastSlider->setMaximum(6); + contrastSlider->setOrientation(Qt::Horizontal); + contrastSlider->setObjectName(QStringLiteral("kcfg_BWContrast")); + pageLayout->addRow(i18nc("@label:slider Config dialog, accessibility page", "Contrast:"), contrastSlider); + + m_colorModeConfigStack->addWidget(pageWidget); + // END Convert to black & white page + + layout->addRow(QString(), m_colorModeConfigStack); + + // Setup controls enabled states: + colorMode->setCurrentIndex(0); + slotColorModeSelected(0); + connect(colorMode, qOverload(&QComboBox::currentIndexChanged), this, &DlgAccessibility::slotColorModeSelected); + + enableChangeColors->setChecked(false); + colorMode->setEnabled(false); + connect(enableChangeColors, &QCheckBox::toggled, colorMode, &QComboBox::setEnabled); + m_colorModeConfigStack->setEnabled(false); + connect(enableChangeColors, &QCheckBox::toggled, m_colorModeConfigStack, &QWidget::setEnabled); + // END Change colors section + +#if HAVE_SPEECH + layout->addRow(new QLabel(this)); + + // BEGIN Text-to-speech section + m_ttsEngineBox = new QComboBox(this); + // Populate tts engines and use their names directly as key and item text: + const QStringList engines = QTextToSpeech::availableEngines(); + for (const QString &engine : engines) { + m_ttsEngineBox->addItem(engine); + } + m_ttsEngineBox->setProperty("kcfg_property", QByteArray("currentText")); + m_ttsEngineBox->setObjectName(QStringLiteral("kcfg_ttsEngine")); + layout->addRow(i18nc("@label:listbox Config dialog, accessibility page", "Text-to-speech engine:"), m_ttsEngineBox); + + connect(m_ttsEngineBox, qOverload(&QComboBox::currentIndexChanged), this, &DlgAccessibility::slotTTSEngineChanged); + + m_ttsVoiceBox = new QComboBox(this); + m_ttsVoiceBox->setProperty("kcfg_property", QByteArray("currentText")); + m_ttsVoiceBox->setObjectName(QStringLiteral("kcfg_ttsVoice")); + layout->addRow(i18nc("&label:listbox Config dialog, accessibility page", "Text-to-speech voice:"), m_ttsVoiceBox); + + slotTTSEngineChanged(); + // END Text-to-speech section +#endif +} + +#if HAVE_SPEECH +void DlgAccessibility::slotTTSEngineChanged() +{ + QString engine = m_ttsEngineBox->currentText(); + QTextToSpeech *ttsEngine = new QTextToSpeech(engine); + const QList voices = ttsEngine->availableVoices(); + m_ttsVoiceBox->clear(); + for (const QVoice &voice : voices) { + m_ttsVoiceBox->addItem(voice.name()); + } + delete ttsEngine; +} +#endif + +void DlgAccessibility::slotColorModeSelected(int mode) +{ + if (mode == Okular::Settings::EnumRenderMode::Paper) { + m_colorModeConfigStack->setCurrentIndex(1); + } else if (mode == Okular::Settings::EnumRenderMode::Recolor) { + m_colorModeConfigStack->setCurrentIndex(2); + } else if (mode == Okular::Settings::EnumRenderMode::BlackWhite) { + m_colorModeConfigStack->setCurrentIndex(3); + } else { + m_colorModeConfigStack->setCurrentIndex(0); + } +} diff --git a/part/dlgaccessibility.h b/part/dlgaccessibility.h new file mode 100644 index 0000000..1644ea7 --- /dev/null +++ b/part/dlgaccessibility.h @@ -0,0 +1,37 @@ +/* + SPDX-FileCopyrightText: 2006 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _DLGACCESSIBILITY_H +#define _DLGACCESSIBILITY_H + +#include "config-okular.h" +#include + +class QComboBox; +class QStackedWidget; + +class DlgAccessibility : public QWidget +{ + Q_OBJECT + +public: + explicit DlgAccessibility(QWidget *parent = nullptr); + +protected Q_SLOTS: + void slotColorModeSelected(int mode); +#if HAVE_SPEECH + void slotTTSEngineChanged(); +#endif + +protected: + QStackedWidget *m_colorModeConfigStack; +#if HAVE_SPEECH + QComboBox *m_ttsEngineBox; + QComboBox *m_ttsVoiceBox; +#endif +}; + +#endif diff --git a/part/dlgannotations.cpp b/part/dlgannotations.cpp new file mode 100644 index 0000000..4e3269f --- /dev/null +++ b/part/dlgannotations.cpp @@ -0,0 +1,55 @@ +/* + SPDX-FileCopyrightText: 2006 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "dlgannotations.h" + +#include "widgetannottools.h" + +#include + +#include +#include +#include +#include + +DlgAnnotations::DlgAnnotations(QWidget *parent) + : QWidget(parent) +{ + QFormLayout *layout = new QFormLayout(this); + + // BEGIN Annotation toolbar: Combo box to set the annotation toolbar associated to annotation action in tool menu + QComboBox *primaryAnnotationToolBar = new QComboBox(this); + primaryAnnotationToolBar->addItem(i18nc("item:inlistbox Config dialog, general page", "Full Annotation Toolbar")); + primaryAnnotationToolBar->addItem(i18nc("item:inlistbox Config dialog, general page", "Quick Annotation Toolbar")); + primaryAnnotationToolBar->setObjectName(QStringLiteral("kcfg_PrimaryAnnotationToolBar")); + layout->addRow(i18nc("label:listbox Config dialog, general page", "Annotation toolbar:"), primaryAnnotationToolBar); + // END Annotation toolbar + + // BEGIN Author row: Line edit to set the annotation’s default author value. + QLineEdit *authorLineEdit = new QLineEdit(this); + authorLineEdit->setObjectName(QStringLiteral("kcfg_IdentityAuthor")); + layout->addRow(i18nc("@label:textbox Config dialog, annotations page", "Author:"), authorLineEdit); + + QLabel *authorInfoLabel = new QLabel(this); + authorInfoLabel->setText( + i18nc("@info Config dialog, annotations page", "Note: the information here is used only for annotations. The information is saved in annotated documents, and so will be transmitted together with the document.")); + authorInfoLabel->setWordWrap(true); + layout->addRow(authorInfoLabel); + // END Author row + + // Silly 1Em spacer: + layout->addRow(new QLabel(this)); + + // BEGIN Quick annotation tools section: WidgetAnnotTools manages tools. + QLabel *toolsLabel = new QLabel(this); + toolsLabel->setText(i18nc("@label Config dialog, annotations page, heading line for Quick Annotations tool manager", "

Quick Annotation Tools

")); + layout->addRow(toolsLabel); + + WidgetAnnotTools *kcfg_QuickAnnotationTools = new WidgetAnnotTools(this); + kcfg_QuickAnnotationTools->setObjectName(QStringLiteral("kcfg_QuickAnnotationTools")); + layout->addRow(kcfg_QuickAnnotationTools); + // END Quick annotation tools section +} diff --git a/part/dlgannotations.h b/part/dlgannotations.h new file mode 100644 index 0000000..b0aa2a3 --- /dev/null +++ b/part/dlgannotations.h @@ -0,0 +1,20 @@ +/* + SPDX-FileCopyrightText: 2006 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _DLGANNOTATIONS_H_ +#define _DLGANNOTATIONS_H_ + +#include + +class DlgAnnotations : public QWidget +{ + Q_OBJECT + +public: + explicit DlgAnnotations(QWidget *parent = nullptr); +}; + +#endif diff --git a/part/dlgdebug.cpp b/part/dlgdebug.cpp new file mode 100644 index 0000000..b00f299 --- /dev/null +++ b/part/dlgdebug.cpp @@ -0,0 +1,30 @@ +/* + SPDX-FileCopyrightText: 2006 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "dlgdebug.h" + +#include +#include + +#define DEBUG_SIMPLE_BOOL(cfgname, layout) \ + { \ + QCheckBox *foo = new QCheckBox(QStringLiteral(cfgname), this); \ + foo->setObjectName(QStringLiteral("kcfg_" cfgname)); \ + layout->addWidget(foo); \ + } + +DlgDebug::DlgDebug(QWidget *parent) + : QWidget(parent) +{ + QVBoxLayout *lay = new QVBoxLayout(this); + lay->setContentsMargins(0, 0, 0, 0); + + DEBUG_SIMPLE_BOOL("DebugDrawBoundaries", lay); + DEBUG_SIMPLE_BOOL("DebugDrawAnnotationRect", lay); + DEBUG_SIMPLE_BOOL("TocPageColumn", lay); + + lay->addItem(new QSpacerItem(5, 5, QSizePolicy::Fixed, QSizePolicy::MinimumExpanding)); +} diff --git a/part/dlgdebug.h b/part/dlgdebug.h new file mode 100644 index 0000000..4bc240a --- /dev/null +++ b/part/dlgdebug.h @@ -0,0 +1,20 @@ +/* + SPDX-FileCopyrightText: 2006 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _DLGDEBUG_H +#define _DLGDEBUG_H + +#include + +class DlgDebug : public QWidget +{ + Q_OBJECT + +public: + explicit DlgDebug(QWidget *parent = nullptr); +}; + +#endif diff --git a/part/dlgeditor.cpp b/part/dlgeditor.cpp new file mode 100644 index 0000000..8abab62 --- /dev/null +++ b/part/dlgeditor.cpp @@ -0,0 +1,100 @@ +/* + SPDX-FileCopyrightText: 2008 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "dlgeditor.h" + +#include "core/texteditors_p.h" + +#include + +#include +#include +#include +#include +#include + +DlgEditor::DlgEditor(QWidget *parent) + : QWidget(parent) +{ + // Set up the user interface + m_layout = new QFormLayout(this); + + // BEGIN "Editor" row: Combo box with a list of preset editors + m_editorChooser = new QComboBox(this); + m_editorChooser->setObjectName(QStringLiteral("kcfg_ExternalEditor")); + m_editorChooser->setWhatsThis(i18nc("@info:whatsthis Config dialog, editor page", "Choose the editor you want to launch when Okular wants to open a source file.")); + m_editorChooser->addItem(i18nc("@item:inlistbox Config dialog, editor page", "Custom Text Editor"), 0); + m_editorChooser->addItem(i18nc("@item:inlistbox Config dialog, editor page", "Kate"), 1); + m_editorChooser->addItem(i18nc("@item:inlistbox Config dialog, editor page", "Kile"), 2); + m_editorChooser->addItem(i18nc("@item:inlistbox Config dialog, editor page", "SciTE"), 3); + m_editorChooser->addItem(i18nc("@item:inlistbox Config dialog, editor page", "Emacs client"), 4); + m_editorChooser->addItem(i18nc("@item:inlistbox Config dialog, editor page", "Lyx client"), 5); + m_editorChooser->addItem(i18nc("@item:inlistbox Config dialog, editor page", "TeXstudio"), 6); + m_editorChooser->addItem(i18nc("@item:inlistbox Config dialog, editor page", "TeXiFy IDEA"), 7); + m_layout->addRow(i18nc("@label:listbox Config dialog, editor page", "Editor:"), m_editorChooser); + // END "Editor" row + + // BEGIN "Command" row: two line edits, one to display preset commands, one to enter custom command. + m_editorCommandStack = new QStackedWidget(this); + + m_editorCommandDisplay = new QLineEdit(this); + m_editorCommandDisplay->setReadOnly(true); + m_editorCommandStack->addWidget(m_editorCommandDisplay); + // Let stack widget be layouted like a line edit: + m_editorCommandStack->setSizePolicy(m_editorCommandDisplay->sizePolicy()); + + m_editorCommandEditor = new QLineEdit(this); + m_editorCommandEditor->setObjectName(QStringLiteral("kcfg_ExternalEditorCommand")); + m_editorCommandEditor->setWhatsThis(i18nc("@info:whatsthis", + "Set the command of a custom text editor to be launched.
\n" + "You can also put few placeholders:\n" + "
    \n" + "
  • %f - the file name
  • \n" + "
  • %l - the line of the file to be reached
  • \n" + "
  • %c - the column of the file to be reached
  • \n" + "
\n" + "If %f is not specified, then the file name is appended to the specified " + "command.")); + m_editorCommandStack->addWidget(m_editorCommandEditor); + + m_layout->addRow(i18nc("@label:textbox Config dialog, editor page", "Command:"), m_editorCommandStack); + + // Initialize + editorChanged(0); + // END "Command" row + + setLayout(m_layout); + + // Set up the logic + m_editors = Okular::buildEditorsMap(); + + connect(m_editorChooser, QOverload::of(&QComboBox::currentIndexChanged), this, &DlgEditor::editorChanged); +} + +DlgEditor::~DlgEditor() +{ +} + +void DlgEditor::editorChanged(int which) +{ + // map combobox index to editor index. Custom editor has index 0, and is not present in m_editors. + const int whichEditor = m_editorChooser->itemData(which).toInt(); + const QHash::const_iterator it = m_editors.constFind(whichEditor); + if (it != m_editors.constEnd()) { + // Show editor command display and manually connect buddy + m_editorCommandDisplay->setText(it.value()); + m_editorCommandStack->setCurrentIndex(0); + if (QLabel *l = qobject_cast(m_layout->labelForField(m_editorCommandStack))) { + l->setBuddy(m_editorCommandDisplay); + } + } else { + // Show editor command editor and manually connect buddy + m_editorCommandStack->setCurrentIndex(1); + if (QLabel *l = qobject_cast(m_layout->labelForField(m_editorCommandStack))) { + l->setBuddy(m_editorCommandEditor); + } + } +} diff --git a/part/dlgeditor.h b/part/dlgeditor.h new file mode 100644 index 0000000..0e892f3 --- /dev/null +++ b/part/dlgeditor.h @@ -0,0 +1,40 @@ +/* + SPDX-FileCopyrightText: 2008 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef DLGEDITOR_H +#define DLGEDITOR_H + +#include +#include + +class QComboBox; +class QFormLayout; +class QLineEdit; +class QStackedWidget; + +class DlgEditor : public QWidget +{ + Q_OBJECT + +public: + explicit DlgEditor(QWidget *parent = nullptr); + ~DlgEditor() override; + +private Q_SLOTS: + void editorChanged(int which); + +private: + QComboBox *m_editorChooser; + // Two line edits, because one is connected to the config skeleton. + QLineEdit *m_editorCommandDisplay; + QLineEdit *m_editorCommandEditor; + QStackedWidget *m_editorCommandStack; + QFormLayout *m_layout; + + QHash m_editors; +}; + +#endif diff --git a/part/dlggeneral.cpp b/part/dlggeneral.cpp new file mode 100644 index 0000000..13861be --- /dev/null +++ b/part/dlggeneral.cpp @@ -0,0 +1,247 @@ +/* + SPDX-FileCopyrightText: 2006 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "dlggeneral.h" + +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include "settings.h" + +DlgGeneral::DlgGeneral(QWidget *parent, Okular::EmbedMode embedMode) + : QWidget(parent) +{ + QFormLayout *layout = new QFormLayout(this); + + // BEGIN Appearance section + // Checkbox: use smooth scrolling + QCheckBox *useSmoothScrolling = new QCheckBox(this); + useSmoothScrolling->setText(i18nc("@option:check Config dialog, general page", "Use smooth scrolling")); + useSmoothScrolling->setObjectName(QStringLiteral("kcfg_SmoothScrolling")); + layout->addRow(i18nc("@title:group Config dialog, general page", "Appearance:"), useSmoothScrolling); + + // Checkbox: show scrollbars + QCheckBox *showScrollbars = new QCheckBox(this); + showScrollbars->setText(i18nc("@option:check Config dialog, general page", "Show scrollbars")); + showScrollbars->setObjectName(QStringLiteral("kcfg_ShowScrollBars")); + layout->addRow(QString(), showScrollbars); + + if (embedMode != Okular::ViewerWidgetMode) { + // Checkbox: scroll thumbnails automatically + QCheckBox *scrollThumbnails = new QCheckBox(this); + scrollThumbnails->setText(i18nc("@option:check Config dialog, general page", "Link the thumbnails with the page")); + scrollThumbnails->setObjectName(QStringLiteral("kcfg_SyncThumbnailsViewport")); + layout->addRow(QString(), scrollThumbnails); + } + + // Checkbox: Show welcoming messages (the balloons or OSD) + QCheckBox *showOSD = new QCheckBox(this); + showOSD->setText(i18nc("@option:check Config dialog, general page", "Show hints and info messages")); + showOSD->setObjectName(QStringLiteral("kcfg_ShowOSD")); + layout->addRow(QString(), showOSD); + + // Checkbox: Notify about embedded files, forms, or signatures + QCheckBox *showEmbeddedContentMessages = new QCheckBox(this); + showEmbeddedContentMessages->setText(i18nc("@option:check Config dialog, general page", "Notify about embedded files, forms, or signatures")); + showEmbeddedContentMessages->setObjectName(QStringLiteral("kcfg_ShowEmbeddedContentMessages")); + layout->addRow(QString(), showEmbeddedContentMessages); + + if (embedMode != Okular::ViewerWidgetMode) { + // Checkbox: display document title in titlebar + QCheckBox *showTitle = new QCheckBox(this); + showTitle->setText(i18nc("@option:check Config dialog, general page", "Display document title in titlebar if available")); + showTitle->setObjectName(QStringLiteral("kcfg_DisplayDocumentTitle")); + layout->addRow(QString(), showTitle); + + // Combobox: prefer file name or full path in titlebar + QComboBox *nameOrPath = new QComboBox(this); + nameOrPath->addItem(i18nc("item:inlistbox Config dialog, general page", "Display file name only")); + nameOrPath->addItem(i18nc("item:inlistbox Config dialog, general page", "Display full file path")); + nameOrPath->setObjectName(QStringLiteral("kcfg_DisplayDocumentNameOrPath")); + layout->addRow(i18nc("label:listbox Config dialog, general page", "When not displaying document title:"), nameOrPath); + } + + // Checkbox and color button: custom background color + QCheckBox *useCustomColor = new QCheckBox(this); + useCustomColor->setText(QString()); + useCustomColor->setObjectName(QStringLiteral("kcfg_UseCustomBackgroundColor")); + + KColorButton *customColor = new KColorButton(this); + customColor->setObjectName(QStringLiteral("kcfg_BackgroundColor")); + + QHBoxLayout *customColorLayout = new QHBoxLayout(); + customColorLayout->addWidget(useCustomColor); + useCustomColor->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); + customColorLayout->addWidget(customColor); + layout->addRow(i18nc("@label:listbox Config dialog, general page", "Use custom background color:"), customColorLayout); + + useCustomColor->setChecked(false); + customColor->setEnabled(false); + connect(useCustomColor, &QCheckBox::toggled, customColor, &QWidget::setEnabled); + // END Appearance section + + layout->addRow(new QLabel(this)); + + // BEGIN Program features section + bool programFeaturesLabelPlaced = false; + /** + * This ensures the and only the first checkbox gets the “Program features:” label. + * + * (Right now I could move @c showBackendSelectionDialog to the first row, + * but maybe someone wants to make it conditional too later.) + */ + auto programFeaturesLabel = [&programFeaturesLabelPlaced]() -> QString { + if (programFeaturesLabelPlaced) { + return QString(); + } else { + programFeaturesLabelPlaced = true; + return i18nc("@title:group Config dialog, general page", "Program features:"); + } + }; + + if (embedMode == Okular::NativeShellMode) { + // Two checkboxes: use tabs, switch to open tab + QCheckBox *useTabs = new QCheckBox(this); + useTabs->setText(i18nc("@option:check Config dialog, general page", "Open new files in tabs")); + useTabs->setObjectName(QStringLiteral("kcfg_ShellOpenFileInTabs")); + layout->addRow(programFeaturesLabel(), useTabs); + + QCheckBox *switchToTab = new QCheckBox(this); + switchToTab->setText(i18nc("@option:check Config dialog, general page", "Switch to existing tab if file is already open")); + switchToTab->setObjectName(QStringLiteral("kcfg_SwitchToTabIfOpen")); + layout->addRow(QString(), switchToTab); + + useTabs->setChecked(false); + switchToTab->setEnabled(false); + connect(useTabs, &QCheckBox::toggled, switchToTab, &QWidget::setEnabled); + } + +#if !OKULAR_FORCE_DRM + if (KAuthorized::authorize(QStringLiteral("skip_drm"))) { + // Checkbox: Obey DRM + QCheckBox *obeyDrm = new QCheckBox(this); + obeyDrm->setText(i18nc("@option:check Config dialog, general page", "Obey DRM limitations")); + obeyDrm->setObjectName(QStringLiteral("kcfg_ObeyDRM")); + layout->addRow(programFeaturesLabel(), obeyDrm); + } +#endif + + if (embedMode != Okular::ViewerWidgetMode) { + // Checkbox: watch file for changes + QCheckBox *watchFile = new QCheckBox(this); + watchFile->setText(i18nc("@option:check Config dialog, general page", "Reload document on file change")); + watchFile->setObjectName(QStringLiteral("kcfg_WatchFile")); + layout->addRow(programFeaturesLabel(), watchFile); + } + + // Checkbox: show backend selection dialog + QCheckBox *showBackendSelectionDialog = new QCheckBox(this); + showBackendSelectionDialog->setText(i18nc("@option:check Config dialog, general page", "Show backend selection dialog")); + showBackendSelectionDialog->setObjectName(QStringLiteral("kcfg_ChooseGenerators")); + layout->addRow(programFeaturesLabel(), showBackendSelectionDialog); + + if (embedMode != Okular::ViewerWidgetMode) { // TODO Makes sense? + // Checkbox: RTL document layout + QCheckBox *useRtl = new QCheckBox(this); + useRtl->setText(i18nc("@option:check Config dialog, general page", "Right to left reading direction")); + useRtl->setObjectName(QStringLiteral("kcfg_rtlReadingDirection")); + layout->addRow(programFeaturesLabel(), useRtl); + } + + QCheckBox *useFileInfoForContinuousMode = new QCheckBox(this); + useFileInfoForContinuousMode->setText(i18nc("@option:check Config dialog, general page", "Use file information to determine whether to open in continuous mode by default")); + useFileInfoForContinuousMode->setObjectName(QStringLiteral("kcfg_UseFileInfoForViewContinuous")); + layout->addRow(programFeaturesLabel(), useFileInfoForContinuousMode); + + QCheckBox *openInContinuousModeByDefault = new QCheckBox(this); + openInContinuousModeByDefault->setObjectName(QStringLiteral("kcfg_ViewContinuous")); + layout->addRow(programFeaturesLabel(), openInContinuousModeByDefault); + + auto setOpenInContinuousModeByDefaultText = [useFileInfoForContinuousMode, openInContinuousModeByDefault]() { + if (useFileInfoForContinuousMode->isChecked()) { + openInContinuousModeByDefault->setText(i18nc("@option:check Config dialog, general page", "For files without file information, open in continuous mode by default")); + } else { + openInContinuousModeByDefault->setText(i18nc("@option:check Config dialog, general page", "Open in continuous mode by default")); + } + }; + + setOpenInContinuousModeByDefaultText(); + connect(useFileInfoForContinuousMode, &QCheckBox::toggled, this, setOpenInContinuousModeByDefaultText); + + // Under Wayland the cursor wrap feature is unavailable + if (QGuiApplication::platformName() != QLatin1String("wayland")) { + QCheckBox *dragBeyondScreenEdges = new QCheckBox(this); + dragBeyondScreenEdges->setText(i18nc("@option:check Config dialog, general page", "When using Browse Tool, wrap cursor at screen edges")); + dragBeyondScreenEdges->setObjectName(QStringLiteral("kcfg_DragBeyondScreenEdges")); + layout->addRow(programFeaturesLabel(), dragBeyondScreenEdges); + } + + // Spinbox: Max recent items + QSpinBox *maxRecentItems = new QSpinBox(this); + maxRecentItems->setObjectName(QStringLiteral("kcfg_MaxRecentItems")); + layout->addRow(i18nc("@label:spinbox Config dialog, general page", "Items in recent history:"), maxRecentItems); + + // END Program features section + + // If no Program features section, don’t add a second spacer: + if (programFeaturesLabelPlaced) { + layout->addRow(new QLabel(this)); + } + + // BEGIN View options section + // Spinbox: overview columns + QSpinBox *overviewColumns = new QSpinBox(this); + overviewColumns->setMinimum(3); + overviewColumns->setMaximum(10); + overviewColumns->setObjectName(QStringLiteral("kcfg_ViewColumns")); + layout->addRow(i18nc("@label:spinbox Config dialog, general page", "Overview columns:"), overviewColumns); + + // Spinbox: page up/down overlap + QSpinBox *pageUpDownOverlap = new QSpinBox(this); + pageUpDownOverlap->setMinimum(0); + pageUpDownOverlap->setMaximum(50); + pageUpDownOverlap->setSingleStep(5); + KLocalization::setupSpinBoxFormatString(pageUpDownOverlap, ki18nc("@item:spinbox Config dialog, general page, page overlap factor", "%v%")); + pageUpDownOverlap->setToolTip(i18nc("@info:tooltip Config dialog, general page", "Defines how much of the current viewing area will still be visible when pressing the Page Up/Down keys.")); + pageUpDownOverlap->setObjectName(QStringLiteral("kcfg_ScrollOverlap")); + layout->addRow(i18nc("@label:spinbox Config dialog, general page", "Page Up/Down overlap:"), pageUpDownOverlap); + + // Combobox: prefer file name or full path in titlebar + QHBoxLayout *zoomLayout = new QHBoxLayout(); + QSpinBox *customZoom = new QSpinBox(this); + KLocalization::setupSpinBoxFormatString(customZoom, ki18nc("@item:inlistbox Config dialog, general page, custom zoom factor", "%v%")); + customZoom->setObjectName("kcfg_CustomZoomFactor"); + customZoom->setVisible(false); + QComboBox *defaultZoom = new QComboBox(this); + defaultZoom->addItem(i18nc("@item:inlistbox Config dialog, general page, default zoom", "100%")); + defaultZoom->addItem(i18nc("@item:inlistbox Config dialog, general page, default zoom", "Fit Width")); + defaultZoom->addItem(i18nc("@item:inlistbox Config dialog, general page, default zoom", "Fit Page")); + defaultZoom->addItem(i18nc("@item:inlistbox Config dialog, general page, default zoom", "Auto Fit")); + defaultZoom->addItem(i18nc("@item:inlistbox Config dialog, general page, default zoom", "Custom")); + defaultZoom->setToolTip(i18nc("@item:inlistbox Config dialog, general page, default zoom", "Defines the default zoom mode for files which were never opened before. For files which were opened before the previous zoom is applied.")); + defaultZoom->setObjectName(QStringLiteral("kcfg_ZoomMode")); + zoomLayout->addWidget(defaultZoom); + zoomLayout->addWidget(customZoom); + layout->addRow(i18nc("label:listbox Config dialog, general page, default zoom", "Default zoom:"), zoomLayout); + connect(defaultZoom, &QComboBox::currentIndexChanged, this, [=](int index) { + bool enabled = index == 4; + customZoom->setVisible(enabled); + }); + // END View options section +} diff --git a/part/dlggeneral.h b/part/dlggeneral.h new file mode 100644 index 0000000..3984d5c --- /dev/null +++ b/part/dlggeneral.h @@ -0,0 +1,22 @@ +/* + SPDX-FileCopyrightText: 2006 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _DLGGENERAL_H +#define _DLGGENERAL_H + +#include + +#include "part.h" + +class DlgGeneral : public QWidget +{ + Q_OBJECT + +public: + explicit DlgGeneral(QWidget *parent, Okular::EmbedMode embedMode); +}; + +#endif diff --git a/part/dlgperformance.cpp b/part/dlgperformance.cpp new file mode 100644 index 0000000..9cd193d --- /dev/null +++ b/part/dlgperformance.cpp @@ -0,0 +1,90 @@ +/* + SPDX-FileCopyrightText: 2006 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "dlgperformance.h" + +#include + +#include +#include +#include +#include + +#include "settings_core.h" + +DlgPerformance::DlgPerformance(QWidget *parent) + : QWidget(parent) + , m_memoryExplanationLabel(new QLabel(this)) +{ + QFormLayout *layout = new QFormLayout(this); + + // BEGIN Checkbox: transparency effects + QCheckBox *useTransparencyEffects = new QCheckBox(this); + useTransparencyEffects->setText(i18nc("@option:check Config dialog, performance page", "Enable transparency effects")); + useTransparencyEffects->setObjectName(QStringLiteral("kcfg_EnableCompositing")); + layout->addRow(i18nc("@label Config dialog, performance page", "CPU usage:"), useTransparencyEffects); + // END Checkbox: transparency effects + + layout->addRow(new QLabel(this)); + + // BEGIN Radio buttons: memory usage + QComboBox *m_memoryLevel = new QComboBox(this); + m_memoryLevel->addItem(i18nc("@item:inlistbox Config dialog, performance page, memory usage", "Low")); + m_memoryLevel->addItem(i18nc("@item:inlistbox Config dialog, performance page, memory usage", "Normal (default)")); + m_memoryLevel->addItem(i18nc("@item:inlistbox Config dialog, performance page, memory usage", "Aggressive")); + m_memoryLevel->addItem(i18nc("@item:inlistbox Config dialog, performance page, memory usage", "Greedy")); + m_memoryLevel->setObjectName(QStringLiteral("kcfg_MemoryLevel")); + layout->addRow(i18nc("@label:listbox Config dialog, performance page, memory usage", "Memory usage:"), m_memoryLevel); + + // Setup and initialize explanation label: + m_memoryExplanationLabel->setWordWrap(true); + layout->addRow(m_memoryExplanationLabel); + m_memoryLevel->setCurrentIndex(0); + slotMemoryLevelSelected(0); + connect(m_memoryLevel, QOverload::of(&QComboBox::currentIndexChanged), this, &DlgPerformance::slotMemoryLevelSelected); + // END Radio buttons: memory usage + + layout->addRow(new QLabel(this)); + + // BEGIN Checkboxes: rendering options + QCheckBox *useTextAntialias = new QCheckBox(this); + useTextAntialias->setText(i18nc("@option:check Config dialog, performance page", "Enable text antialias")); + useTextAntialias->setObjectName(QStringLiteral("kcfg_TextAntialias")); + layout->addRow(i18nc("@title:group Config dialog, performance page", "Rendering options:"), useTextAntialias); + + QCheckBox *useGraphicsAntialias = new QCheckBox(this); + useGraphicsAntialias->setText(i18nc("@option:check Config dialog, performance page", "Enable graphics antialias")); + useGraphicsAntialias->setObjectName(QStringLiteral("kcfg_GraphicsAntialias")); + layout->addRow(QString(), useGraphicsAntialias); + + QCheckBox *useTextHinting = new QCheckBox(this); + useTextHinting->setText(i18nc("@option:check Config dialog, performance page", "Enable text hinting")); + useTextHinting->setObjectName(QStringLiteral("kcfg_TextHinting")); + layout->addRow(QString(), useTextHinting); + // END Checkboxes: rendering options + + // m_dlg->cpuLabel->setPixmap(QIcon::fromTheme(QStringLiteral("cpu")).pixmap(32)); + // m_dlg->memoryLabel->setPixmap( QIcon::fromTheme( "kcmmemory" ).pixmap( 32 ) ); // TODO: enable again when proper icon is available TODO: Figure out a new place in the layout for these pixmaps +} + +void DlgPerformance::slotMemoryLevelSelected(int which) +{ + switch (which) { + case 0: + m_memoryExplanationLabel->setText(i18n("Keeps used memory as low as possible. Do not reuse anything. (For systems with low memory.)")); + break; + case 1: + m_memoryExplanationLabel->setText(i18n("A good compromise between memory usage and speed gain. Preload next page and boost searches. (For systems with 2GB of memory, typically.)")); + break; + case 2: + m_memoryExplanationLabel->setText(i18n("Keeps everything in memory. Preload next pages. Boost searches. (For systems with more than 4GB of memory.)")); + break; + case 3: + // xgettext: no-c-format + m_memoryExplanationLabel->setText(i18n("Loads and keeps everything in memory. Preload all pages. (Will use at maximum 50% of your total memory or your free memory, whatever is bigger.)")); + break; + } +} diff --git a/part/dlgperformance.h b/part/dlgperformance.h new file mode 100644 index 0000000..c0d8918 --- /dev/null +++ b/part/dlgperformance.h @@ -0,0 +1,28 @@ +/* + SPDX-FileCopyrightText: 2006 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _DLGPERFORMANCE_H +#define _DLGPERFORMANCE_H + +#include + +class QLabel; + +class DlgPerformance : public QWidget +{ + Q_OBJECT + +public: + explicit DlgPerformance(QWidget *parent = nullptr); + +protected Q_SLOTS: + void slotMemoryLevelSelected(int which); + +protected: + QLabel *m_memoryExplanationLabel; +}; + +#endif diff --git a/part/dlgpresentation.cpp b/part/dlgpresentation.cpp new file mode 100644 index 0000000..a263638 --- /dev/null +++ b/part/dlgpresentation.cpp @@ -0,0 +1,221 @@ +/* + SPDX-FileCopyrightText: 2006, 2008 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "dlgpresentation.h" + +#include "widgetdrawingtools.h" + +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "settings.h" + +DlgPresentation::DlgPresentation(QWidget *parent) + : QWidget(parent) +{ + QFormLayout *layout = new QFormLayout(this); + + // BEGIN Navigation section + // Spinbox with a checkbox attached to the left: advance automatically + QCheckBox *advanceAutomatically = new QCheckBox(this); + advanceAutomatically->setText(QString()); + advanceAutomatically->setObjectName(QStringLiteral("kcfg_SlidesAdvance")); + + QSpinBox *advanceTime = new QSpinBox(this); + KLocalization::setupSpinBoxFormatString(advanceTime, ki18ncp("@label:spinbox Advance automatically: Every n second", "every %v second", "every %v seconds")); + advanceTime->setObjectName(QStringLiteral("kcfg_SlidesAdvanceTime")); + + QHBoxLayout *advanceAutomaticallyLayout = new QHBoxLayout(); + advanceAutomaticallyLayout->addWidget(advanceAutomatically); + advanceAutomatically->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); + advanceAutomaticallyLayout->addWidget(advanceTime); + layout->addRow(i18nc("@label:spinbox Config dialog, presentation page", "Advance automatically:"), advanceAutomaticallyLayout); + + advanceAutomatically->setChecked(false); + advanceTime->setEnabled(false); + connect(advanceAutomatically, &QCheckBox::toggled, advanceTime, &QSpinBox::setEnabled); + + // Checkbox: Loop after last page + QCheckBox *loopAfterLastPage = new QCheckBox(this); + loopAfterLastPage->setText(i18nc("@option:check Config dialog, presentation page", "Loop after last page")); + loopAfterLastPage->setObjectName(QStringLiteral("kcfg_SlidesLoop")); + layout->addRow(QString(), loopAfterLastPage); + + // Combobox: Touch navigation + QComboBox *tapNavigation = new QComboBox(this); + tapNavigation->addItem(i18nc("@item:inlistbox Config dialog, presentation page, tap navigation", "Tap left/right side to go back/forward")); + tapNavigation->addItem(i18nc("@item:inlistbox Config dialog, presentation page, tap navigation", "Tap anywhere to go forward")); + tapNavigation->addItem(i18nc("@item:inlistbox Config dialog, presentation page, tap navigation", "Disabled")); + tapNavigation->setObjectName(QStringLiteral("kcfg_SlidesTapNavigation")); + layout->addRow(i18nc("@label:listbox Config dialog, presentation page, tap navigation", "Touch navigation:"), tapNavigation); + // END Navigation section + + layout->addRow(new QLabel(this)); + + // BEGIN Appearance section + // Color button: Background color + KColorButton *backgroundColor = new KColorButton(this); + backgroundColor->setObjectName(QStringLiteral("kcfg_SlidesBackgroundColor")); + layout->addRow(i18nc("@label:chooser Config dialog, presentation page", "Background color:"), backgroundColor); + + // Combobox: Cursor visibility + QComboBox *cursorVisibility = new QComboBox(this); + cursorVisibility->addItem(i18nc("@item:inlistbox Config dialog, presentation page, cursor visibility", "Hidden after delay")); + cursorVisibility->addItem(i18nc("@item:inlistbox Config dialog, presentation page, cursor visibility", "Always visible")); + cursorVisibility->addItem(i18nc("@item:inlistbox Config dialog, presentation page, cursor visibility", "Always hidden")); + cursorVisibility->setObjectName(QStringLiteral("kcfg_SlidesCursor")); + layout->addRow(i18nc("@label:listbox Config dialog, presentation page, cursor visibility", "Mouse cursor:"), cursorVisibility); + + // Checkbox: Show progress indicator + QCheckBox *showProgressIndicator = new QCheckBox(this); + showProgressIndicator->setText(i18nc("@option:check Config dialog, presentation page", "Show progress indicator")); + showProgressIndicator->setObjectName(QStringLiteral("kcfg_SlidesShowProgress")); + layout->addRow(QString(), showProgressIndicator); + + // Checkbox: Show summary page + QCheckBox *showSummaryPage = new QCheckBox(this); + showSummaryPage->setText(i18nc("@option:check Config dialog, presentation page", "Show summary page")); + showSummaryPage->setObjectName(QStringLiteral("kcfg_SlidesShowSummary")); + layout->addRow(QString(), showSummaryPage); + // END Appearance section + + layout->addRow(new QLabel(this)); + + // BEGIN Transitions section + // Combobox: Default transition + QComboBox *defaultTransition = new QComboBox(this); + defaultTransition->addItem(i18nc("@item:inlistbox Config dialog, presentation page, transitions", "Instant (Never use animations)")); + defaultTransition->addItem(i18nc("@item:inlistbox Config dialog, presentation page, transitions", "Replace")); + defaultTransition->addItem(i18nc("@item:inlistbox Config dialog, presentation page, transitions", "Random transition")); + defaultTransition->addItem(i18nc("@item:inlistbox Config dialog, presentation page, transitions", "Blinds vertical")); + defaultTransition->addItem(i18nc("@item:inlistbox Config dialog, presentation page, transitions", "Blinds horizontal")); + defaultTransition->addItem(i18nc("@item:inlistbox Config dialog, presentation page, transitions", "Box in")); + defaultTransition->addItem(i18nc("@item:inlistbox Config dialog, presentation page, transitions", "Box out")); + defaultTransition->addItem(i18nc("@item:inlistbox Config dialog, presentation page, transitions", "Dissolve")); + defaultTransition->addItem(i18nc("@item:inlistbox Config dialog, presentation page, transitions", "Fade")); + defaultTransition->addItem(i18nc("@item:inlistbox Config dialog, presentation page, transitions", "Glitter down")); + defaultTransition->addItem(i18nc("@item:inlistbox Config dialog, presentation page, transitions", "Glitter right")); + defaultTransition->addItem(i18nc("@item:inlistbox Config dialog, presentation page, transitions", "Glitter right-down")); + defaultTransition->addItem(i18nc("@item:inlistbox Config dialog, presentation page, transitions", "Split horizontal in")); + defaultTransition->addItem(i18nc("@item:inlistbox Config dialog, presentation page, transitions", "Split horizontal out")); + defaultTransition->addItem(i18nc("@item:inlistbox Config dialog, presentation page, transitions", "Split vertical in")); + defaultTransition->addItem(i18nc("@item:inlistbox Config dialog, presentation page, transitions", "Split vertical out")); + defaultTransition->addItem(i18nc("@item:inlistbox Config dialog, presentation page, transitions", "Wipe down")); + defaultTransition->addItem(i18nc("@item:inlistbox Config dialog, presentation page, transitions", "Wipe right")); + defaultTransition->addItem(i18nc("@item:inlistbox Config dialog, presentation page, transitions", "Wipe left")); + defaultTransition->addItem(i18nc("@item:inlistbox Config dialog, presentation page, transitions", "Wipe up")); + defaultTransition->setObjectName(QStringLiteral("kcfg_SlidesTransition")); + layout->addRow(i18nc("@label:listbox Config dialog, presentation page, transitions", "Default transition:"), defaultTransition); + // END Transitions section + + layout->addRow(new QLabel(this)); + + // BEGIN Placement section + // Combobox: Preferred screen + PreferredScreenSelector *preferredScreen = new PreferredScreenSelector(this); + preferredScreen->setObjectName(QStringLiteral("kcfg_SlidesScreen")); + layout->addRow(i18nc("@label:listbox Config dialog, presentation page, preferred screen", "Preferred screen:"), preferredScreen); + // END Placement section + + layout->addRow(new QLabel(this)); + + // BEGIN Drawing tools section: WidgetDrawingTools manages drawing tools. + QLabel *toolsLabel = new QLabel(this); + toolsLabel->setText(i18nc("@label Config dialog, presentation page, heading line for drawing tool manager", "

Drawing Tools

")); + layout->addRow(toolsLabel); + + WidgetDrawingTools *kcfg_DrawingTools = new WidgetDrawingTools(this); + kcfg_DrawingTools->setObjectName(QStringLiteral("kcfg_DrawingTools")); + + layout->addRow(kcfg_DrawingTools); + // END Drawing tools section +} + +PreferredScreenSelector::PreferredScreenSelector(QWidget *parent) + : QComboBox(parent) + , m_disconnectedScreenIndex(-1) + , m_disconnectedScreenNumber(k_noDisconnectedScreenNumber) +{ + repopulateList(); + connect(qApp, &QGuiApplication::screenAdded, this, &PreferredScreenSelector::repopulateList); + connect(qApp, &QGuiApplication::screenRemoved, this, &PreferredScreenSelector::repopulateList); + + // KConfigWidgets setup: + setProperty("kcfg_property", QByteArray("preferredScreen")); + connect(this, QOverload::of(&QComboBox::currentIndexChanged), [this](int index) { Q_EMIT preferredScreenChanged(index - k_specialScreenCount); }); +} + +void PreferredScreenSelector::repopulateList() +{ + // Remember which index was selected before: + const int screenBeforeRepopulation = preferredScreen(); + + QSignalBlocker signalBlocker(this); + clear(); + + // Populate list: + static_assert(k_specialScreenCount == 2, "Special screens unknown to PreferredScreenSelector::repopulateList()."); + addItem(i18nc("@item:inlistbox Config dialog, presentation page, preferred screen", "Current Screen")); + addItem(i18nc("@item:inlistbox Config dialog, presentation page, preferred screen", "Default Screen")); + + const QList screens = qApp->screens(); + for (int screenNumber = 0; screenNumber < screens.count(); ++screenNumber) { + QScreen *screen = screens.at(screenNumber); + addItem(i18nc("@item:inlistbox Config dialog, presentation page, preferred screen. %1 is the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the screen model name. %4 is the screen name like DVI-0", + "Screen %1 (%2 %3 %4)", + screenNumber, + screen->manufacturer(), + screen->model(), + screen->name())); + } + + // If a disconnected screen is configured, it will be appended last: + m_disconnectedScreenIndex = count(); + + // If a screen of currently disconnected index was selected, keep its list item: + if (m_disconnectedScreenNumber >= m_disconnectedScreenIndex - k_specialScreenCount) { + addItem(i18nc("@item:inlistbox Config dialog, presentation page, preferred screen. %1 is the screen number (0, 1, ...), hopefully not 0.", "Screen %1 (disconnected)", m_disconnectedScreenNumber)); + } + + // Select the index that was selected before: + setPreferredScreen(screenBeforeRepopulation); +} + +void PreferredScreenSelector::setPreferredScreen(int newScreen) +{ + // Check whether the new screen is not in the list of connected screens: + if (newScreen >= m_disconnectedScreenIndex - k_specialScreenCount) { + if (m_disconnectedScreenNumber != newScreen) { + m_disconnectedScreenNumber = newScreen; + repopulateList(); + } + setCurrentIndex(m_disconnectedScreenIndex); + return; + } + + setCurrentIndex(newScreen + k_specialScreenCount); + + // screenChanged() is emitted through currentIndexChanged(). +} + +int PreferredScreenSelector::preferredScreen() const +{ + if (currentIndex() == m_disconnectedScreenIndex) { + return m_disconnectedScreenNumber; + } else { + return currentIndex() - k_specialScreenCount; + } +} diff --git a/part/dlgpresentation.h b/part/dlgpresentation.h new file mode 100644 index 0000000..ddf3ab9 --- /dev/null +++ b/part/dlgpresentation.h @@ -0,0 +1,74 @@ +/* + SPDX-FileCopyrightText: 2006, 2008 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _DLGPRESENTATION_H +#define _DLGPRESENTATION_H + +#include +#include + +class DlgPresentation : public QWidget +{ + Q_OBJECT + +public: + explicit DlgPresentation(QWidget *parent = nullptr); +}; + +/** + * We need this because there are some special screens, + * which are not represented by the typical currentIndex(), + * which would be used by KConfigWidgets. + * + * Additionally this class allows to remember a disconnected screen. + */ +class PreferredScreenSelector : public QComboBox +{ + Q_OBJECT + + Q_PROPERTY(int preferredScreen READ preferredScreen WRITE setPreferredScreen NOTIFY preferredScreenChanged) + +public: + explicit PreferredScreenSelector(QWidget *parent); + int preferredScreen() const; + +Q_SIGNALS: + void preferredScreenChanged(int screen); + +public Q_SLOTS: + void setPreferredScreen(int newScreen); + +protected: + // These two variables protect the screen setting from changing + // when the configured screen is currently disconnected. + + /** + * When setScreen() is called with a disconnected screen, + * a “disconnected” entry is created at this index: + */ + int m_disconnectedScreenIndex; + + /** + * Which screen is referred by @c m_disconnectedScreenIndex. + * Until @c m_disconnectedScreenIndex entry is created, this is @c k_noDisconnectedScreenNumber. + */ + int m_disconnectedScreenNumber; + +protected Q_SLOTS: + /** + * Populates the combobox list with items for the special screens, + * and for every connected screen. + * If @c m_disconnectedScreenNumber is set, adds an item for this disconnected screen. + */ + void repopulateList(); +}; + +/** “Current” and “Default” */ +const int k_specialScreenCount = 2; +/** Default value of m_disconnectedScreenNumber when no disconnected screen is remembered */ +const int k_noDisconnectedScreenNumber = -3; + +#endif diff --git a/part/drawingtoolactions.cpp b/part/drawingtoolactions.cpp new file mode 100644 index 0000000..71e2336 --- /dev/null +++ b/part/drawingtoolactions.cpp @@ -0,0 +1,247 @@ +/* + SPDX-FileCopyrightText: 2015 Laurent Montel + SPDX-FileCopyrightText: 2015 Albert Astals Cid + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "drawingtoolactions.h" + +#include "gui/debug_ui.h" +#include "settings.h" + +#include +#include + +#include +#include +#include + +class ColorAction : public QAction +{ + Q_OBJECT + +public: + explicit ColorAction(KActionCollection *parent) + : QAction(parent) + { + } + + void setColor(const QColor &color) + { + setIcon(QIcon(new ColorActionIconEngine(color))); + } + +protected: + class ColorActionIconEngine : public QIconEngine + { + public: + explicit ColorActionIconEngine(const QColor &color) + : m_color(color) + { + } + + ColorActionIconEngine(const ColorActionIconEngine &) = delete; + ColorActionIconEngine &operator=(const ColorActionIconEngine &) = delete; + + // No one needs clone(), but it’s pure virtual + QIconEngine *clone() const override + { + return nullptr; + } + + QPixmap pixmap(const QSize &size, QIcon::Mode mode, QIcon::State state) override + { + QPixmap pixmap(size); + pixmap.fill(Qt::transparent); + Q_ASSERT(pixmap.hasAlphaChannel()); + + QPainter painter(&pixmap); + paint(&painter, QRect(QPoint(0, 0), size), mode, state); + return pixmap; + } + + void paint(QPainter *painter, const QRect &rect, QIcon::Mode mode, QIcon::State state) override + { + Q_UNUSED(mode) + + // Assume that rect is square and at position (0, 0) + int squareSize = rect.height() * 0.8; + int squareOffset = (rect.height() - squareSize) / 2; + + painter->fillRect(squareOffset, squareOffset, squareSize, squareSize, m_color); + + if (state == QIcon::On) { + QFont checkmarkFont = painter->font(); + checkmarkFont.setPixelSize(squareSize * 0.9); + painter->setFont(checkmarkFont); + + const int lightness = ((m_color.red() * 299) + (m_color.green() * 587) + (m_color.blue() * 114)) / 1000; + painter->setPen(lightness < 128 ? Qt::white : Qt::black); + + painter->drawText(QRect(squareOffset, squareOffset, squareSize, squareSize), Qt::AlignCenter, QStringLiteral("\u2713")); + } + } + + protected: + QColor m_color; + }; +}; + +DrawingToolActions::DrawingToolActions(KActionCollection *parent) + : QObject(parent) +{ + loadTools(); +} + +DrawingToolActions::~DrawingToolActions() +{ +} + +QList DrawingToolActions::actions() const +{ + return m_actions; +} + +void DrawingToolActions::reparseConfig() +{ + qDeleteAll(m_actions); + m_actions.clear(); + loadTools(); +} + +void DrawingToolActions::actionTriggered() +{ + QAction *action = qobject_cast(sender()); + + if (action) { + if (action->isChecked()) { + for (QAction *btn : std::as_const(m_actions)) { + if (action != btn) { + btn->setChecked(false); + } + } + + Q_EMIT changeEngine(action->property("__document").value()); + } else { + Q_EMIT changeEngine(QDomElement()); + } + } +} + +void DrawingToolActions::loadTools() +{ + const QStringList drawingTools = Okular::Settings::drawingTools(); + + QDomDocument main; + QDomElement drawingDefinition = main.createElement(QStringLiteral("drawingTools")); + for (const QString &drawingXml : drawingTools) { + QDomDocument entryParser; + if (entryParser.setContent(drawingXml)) { + drawingDefinition.appendChild(main.importNode(entryParser.documentElement(), true)); + } else { + qCWarning(OkularUiDebug) << "Skipping malformed quick selection XML in QuickSelectionTools setting"; + } + } + + // Create the AnnotationToolItems from the XML dom tree + QDomNode drawingDescription = drawingDefinition.firstChild(); + while (drawingDescription.isElement()) { + const QDomElement toolElement = drawingDescription.toElement(); + if (toolElement.tagName() == QLatin1String("tool")) { + QString tooltip; + QString width; + QString colorStr; + QString opacity; + + const QString name = toolElement.attribute(QStringLiteral("name")); + if (toolElement.attribute(QStringLiteral("default"), QStringLiteral("false")) == QLatin1String("true")) { + tooltip = i18n(name.toLatin1().constData()); + } else { + tooltip = name; + } + + const QDomNodeList engineNodeList = toolElement.elementsByTagName(QStringLiteral("engine")); + if (engineNodeList.size() > 0) { + const QDomElement engineEl = engineNodeList.item(0).toElement(); + if (engineEl.hasAttribute(QStringLiteral("color"))) { + colorStr = engineEl.attribute(QStringLiteral("color")); + } + + const QDomNodeList annotationList = engineEl.elementsByTagName(QStringLiteral("annotation")); + if (annotationList.size() > 0) { + const QDomElement annotationEl = annotationList.item(0).toElement(); + if (annotationEl.hasAttribute(QStringLiteral("width"))) { + width = annotationEl.attribute(QStringLiteral("width")); + opacity = annotationEl.attribute(QStringLiteral("opacity"), QStringLiteral("1.0")); + } + } + } + + QDomDocument engine(QStringLiteral("engine")); + QDomElement root = engine.createElement(QStringLiteral("engine")); + root.setAttribute(QStringLiteral("color"), colorStr); + engine.appendChild(root); + QDomElement annElem = engine.createElement(QStringLiteral("annotation")); + root.appendChild(annElem); + annElem.setAttribute(QStringLiteral("type"), QStringLiteral("Ink")); + annElem.setAttribute(QStringLiteral("color"), colorStr); + annElem.setAttribute(QStringLiteral("width"), width); + annElem.setAttribute(QStringLiteral("opacity"), opacity); + + const QString text = i18n("Drawing Tool: %1", tooltip); + createToolAction(text, tooltip, colorStr, root); + } + + drawingDescription = drawingDescription.nextSibling(); + } + + // add erasure action + { + QDomDocument engine(QStringLiteral("engine")); + QDomElement root = engine.createElement(QStringLiteral("engine")); + root.setAttribute(QStringLiteral("color"), QStringLiteral("transparent")); + root.setAttribute(QStringLiteral("compositionMode"), QStringLiteral("clear")); + engine.appendChild(root); + QDomElement annElem = engine.createElement(QStringLiteral("annotation")); + root.appendChild(annElem); + annElem.setAttribute(QStringLiteral("type"), QStringLiteral("Ink")); + annElem.setAttribute(QStringLiteral("color"), QStringLiteral("transparent")); + annElem.setAttribute(QStringLiteral("width"), 20); + + KActionCollection *ac = static_cast(parent()); + QAction *action = new QAction(ac); + action->setText(i18n("Eraser")); + action->setToolTip(i18n("Eraser")); + action->setCheckable(true); + action->setIcon(QIcon::fromTheme(QStringLiteral("draw-eraser"))); + action->setProperty("__document", QVariant::fromValue(root)); + + m_actions.append(action); + + ac->addAction(QStringLiteral("presentation_drawing_eraser"), action); + + connect(action, &QAction::triggered, this, &DrawingToolActions::actionTriggered); + } +} + +void DrawingToolActions::createToolAction(const QString &text, const QString &toolName, const QString &colorName, const QDomElement &root) +{ + KActionCollection *ac = static_cast(parent()); + ColorAction *action = new ColorAction(ac); + action->setText(text); + action->setToolTip(toolName); + action->setCheckable(true); + action->setColor(QColor(colorName)); + action->setEnabled(false); + + action->setProperty("__document", QVariant::fromValue(root)); + + m_actions.append(action); + + ac->addAction(QStringLiteral("presentation_drawing_%1").arg(toolName), action); + + connect(action, &QAction::triggered, this, &DrawingToolActions::actionTriggered); +} + +#include "drawingtoolactions.moc" diff --git a/part/drawingtoolactions.h b/part/drawingtoolactions.h new file mode 100644 index 0000000..c083834 --- /dev/null +++ b/part/drawingtoolactions.h @@ -0,0 +1,44 @@ +/* + SPDX-FileCopyrightText: 2015 Laurent Montel + SPDX-FileCopyrightText: 2015 Albert Astals Cid + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef DRAWINGTOOLACTIONS_H +#define DRAWINGTOOLACTIONS_H + +#include +#include + +class QAction; +class KActionCollection; + +class DrawingToolActions : public QObject +{ + Q_OBJECT +public: + explicit DrawingToolActions(KActionCollection *parent); + ~DrawingToolActions() override; + + QList actions() const; + + void reparseConfig(); + +Q_SIGNALS: + void changeEngine(const QDomElement &doc); + void actionsRecreated(); + +private Q_SLOTS: + void actionTriggered(); + +private: + void loadTools(); + void createToolAction(const QString &text, const QString &toolName, const QString &colorName, const QDomElement &root); + + QList m_actions; +}; + +Q_DECLARE_METATYPE(QDomElement) + +#endif // DRAWINGTOOLACTIONS_H diff --git a/part/editannottooldialog.cpp b/part/editannottooldialog.cpp new file mode 100644 index 0000000..63a7f47 --- /dev/null +++ b/part/editannottooldialog.cpp @@ -0,0 +1,489 @@ +/* + SPDX-FileCopyrightText: 2012 Fabio D 'Urso + SPDX-FileCopyrightText: 2015 Laurent Montel + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "editannottooldialog.h" + +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "annotationwidgets.h" +#include "core/annotations.h" +#include "pageviewannotator.h" + +EditAnnotToolDialog::EditAnnotToolDialog(QWidget *parent, const QDomElement &initialState, bool builtinTool) + : QDialog(parent) + , m_stubann(nullptr) + , m_annotationWidget(nullptr) +{ + m_builtinTool = builtinTool; + + QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel); + QVBoxLayout *mainLayout = new QVBoxLayout; + setLayout(mainLayout); + QPushButton *okButton = buttonBox->button(QDialogButtonBox::Ok); + okButton->setDefault(true); + okButton->setShortcut(Qt::CTRL | Qt::Key_Return); // NOLINT(bugprone-suspicious-enum-usage) + connect(buttonBox, &QDialogButtonBox::accepted, this, &EditAnnotToolDialog::accept); + connect(buttonBox, &QDialogButtonBox::rejected, this, &EditAnnotToolDialog::reject); + okButton->setDefault(true); + + QLabel *tmplabel; + QWidget *widget = new QWidget(this); + QGridLayout *widgetLayout = new QGridLayout(widget); + + mainLayout->addWidget(widget); + mainLayout->addWidget(buttonBox); + + m_name = new KLineEdit(widget); + m_name->setReadOnly(m_builtinTool); + mainLayout->addWidget(m_name); + tmplabel = new QLabel(i18n("&Name:"), widget); + mainLayout->addWidget(tmplabel); + tmplabel->setBuddy(m_name); + widgetLayout->addWidget(tmplabel, 0, 0, Qt::AlignRight); + widgetLayout->addWidget(m_name, 0, 1); + + m_type = new KComboBox(false, widget); + m_type->setVisible(!m_builtinTool); + mainLayout->addWidget(m_type); + connect(m_type, static_cast(&KComboBox::currentIndexChanged), this, &EditAnnotToolDialog::slotTypeChanged); + tmplabel = new QLabel(i18n("&Type:"), widget); + mainLayout->addWidget(tmplabel); + tmplabel->setBuddy(m_type); + tmplabel->setVisible(!m_builtinTool); + widgetLayout->addWidget(tmplabel, 1, 0, Qt::AlignRight); + widgetLayout->addWidget(m_type, 1, 1); + + m_toolIcon = new QLabel(widget); + mainLayout->addWidget(m_toolIcon); + m_toolIcon->setAlignment(Qt::AlignRight | Qt::AlignTop); + m_toolIcon->setMinimumSize(40, 32); + widgetLayout->addWidget(m_toolIcon, 0, 2, 2, 1); + + m_appearanceBox = new QGroupBox(i18n("Appearance"), widget); + mainLayout->addWidget(m_appearanceBox); + m_appearanceBox->setLayout(new QVBoxLayout(m_appearanceBox)); + widgetLayout->addWidget(m_appearanceBox, 2, 0, 1, 3); + + // Populate combobox with annotation types + m_type->addItem(i18n("Pop-up Note"), QVariant::fromValue(ToolNoteLinked)); + m_type->addItem(i18n("Inline Note"), QVariant::fromValue(ToolNoteInline)); + m_type->addItem(i18n("Freehand Line"), QVariant::fromValue(ToolInk)); + m_type->addItem(i18n("Straight Line"), QVariant::fromValue(ToolStraightLine)); + m_type->addItem(i18n("Polygon"), QVariant::fromValue(ToolPolygon)); + m_type->addItem(i18n("Text markup"), QVariant::fromValue(ToolTextMarkup)); + m_type->addItem(i18n("Geometrical shape"), QVariant::fromValue(ToolGeometricalShape)); + m_type->addItem(i18n("Stamp"), QVariant::fromValue(ToolStamp)); + m_type->addItem(i18n("Typewriter"), QVariant::fromValue(ToolTypewriter)); + + createStubAnnotation(); + + if (initialState.isNull()) { + setWindowTitle(i18n("Create annotation tool")); + } else { + setWindowTitle(i18n("Edit annotation tool")); + loadTool(initialState); + } + + rebuildAppearanceBox(); + updateDefaultNameAndIcon(); +} + +EditAnnotToolDialog::~EditAnnotToolDialog() +{ + delete m_stubann; + delete m_annotationWidget; +} + +QString EditAnnotToolDialog::name() const +{ + return m_name->text(); +} + +QDomDocument EditAnnotToolDialog::toolXml() const +{ + const ToolType toolType = m_type->itemData(m_type->currentIndex()).value(); + + QDomDocument doc; + QDomElement toolElement = doc.createElement(QStringLiteral("tool")); + QDomElement engineElement = doc.createElement(QStringLiteral("engine")); + QDomElement annotationElement = doc.createElement(QStringLiteral("annotation")); + doc.appendChild(toolElement); + toolElement.appendChild(engineElement); + engineElement.appendChild(annotationElement); + + const QString color = m_stubann->style().color().name(QColor::HexArgb); + const QString opacity = QString::number(m_stubann->style().opacity()); + const QString width = QString::number(m_stubann->style().width()); + + if (toolType == ToolNoteLinked) { + Okular::TextAnnotation *ta = static_cast(m_stubann); + toolElement.setAttribute(QStringLiteral("type"), QStringLiteral("note-linked")); + engineElement.setAttribute(QStringLiteral("type"), QStringLiteral("PickPoint")); + engineElement.setAttribute(QStringLiteral("color"), color); + engineElement.setAttribute(QStringLiteral("hoverIcon"), QStringLiteral("tool-note")); + annotationElement.setAttribute(QStringLiteral("type"), QStringLiteral("Text")); + annotationElement.setAttribute(QStringLiteral("color"), color); + annotationElement.setAttribute(QStringLiteral("icon"), ta->textIcon()); + } else if (toolType == ToolNoteInline) { + Okular::TextAnnotation *ta = static_cast(m_stubann); + toolElement.setAttribute(QStringLiteral("type"), QStringLiteral("note-inline")); + engineElement.setAttribute(QStringLiteral("type"), QStringLiteral("PickPoint")); + engineElement.setAttribute(QStringLiteral("color"), color); + engineElement.setAttribute(QStringLiteral("hoverIcon"), QStringLiteral("tool-note-inline")); + engineElement.setAttribute(QStringLiteral("block"), QStringLiteral("true")); + annotationElement.setAttribute(QStringLiteral("type"), QStringLiteral("FreeText")); + annotationElement.setAttribute(QStringLiteral("color"), color); + annotationElement.setAttribute(QStringLiteral("width"), width); + if (ta->inplaceAlignment() != 0) { + annotationElement.setAttribute(QStringLiteral("align"), ta->inplaceAlignment()); + } + if (ta->textFont() != QApplication::font()) { + annotationElement.setAttribute(QStringLiteral("font"), ta->textFont().toString()); + } + } else if (toolType == ToolInk) { + toolElement.setAttribute(QStringLiteral("type"), QStringLiteral("ink")); + engineElement.setAttribute(QStringLiteral("type"), QStringLiteral("SmoothLine")); + engineElement.setAttribute(QStringLiteral("color"), color); + annotationElement.setAttribute(QStringLiteral("type"), QStringLiteral("Ink")); + annotationElement.setAttribute(QStringLiteral("color"), color); + annotationElement.setAttribute(QStringLiteral("width"), width); + } else if (toolType == ToolStraightLine) { + Okular::LineAnnotation *la = static_cast(m_stubann); + toolElement.setAttribute(QStringLiteral("type"), QStringLiteral("straight-line")); + engineElement.setAttribute(QStringLiteral("type"), QStringLiteral("PolyLine")); + engineElement.setAttribute(QStringLiteral("color"), color); + engineElement.setAttribute(QStringLiteral("points"), QStringLiteral("2")); + annotationElement.setAttribute(QStringLiteral("type"), QStringLiteral("Line")); + annotationElement.setAttribute(QStringLiteral("color"), color); + annotationElement.setAttribute(QStringLiteral("width"), width); + if (la->lineLeadingForwardPoint() != 0 || la->lineLeadingBackwardPoint() != 0) { + annotationElement.setAttribute(QStringLiteral("leadFwd"), QString::number(la->lineLeadingForwardPoint())); + annotationElement.setAttribute(QStringLiteral("leadBack"), QString::number(la->lineLeadingBackwardPoint())); + } + annotationElement.setAttribute(QStringLiteral("startStyle"), QString::number(la->lineStartStyle())); + annotationElement.setAttribute(QStringLiteral("endStyle"), QString::number(la->lineEndStyle())); + } else if (toolType == ToolPolygon) { + Okular::LineAnnotation *la = static_cast(m_stubann); + toolElement.setAttribute(QStringLiteral("type"), QStringLiteral("polygon")); + engineElement.setAttribute(QStringLiteral("type"), QStringLiteral("PolyLine")); + engineElement.setAttribute(QStringLiteral("color"), color); + engineElement.setAttribute(QStringLiteral("points"), QStringLiteral("-1")); + annotationElement.setAttribute(QStringLiteral("type"), QStringLiteral("Line")); + annotationElement.setAttribute(QStringLiteral("color"), color); + annotationElement.setAttribute(QStringLiteral("width"), width); + if (la->lineInnerColor().isValid()) { + annotationElement.setAttribute(QStringLiteral("innerColor"), la->lineInnerColor().name()); + } + } else if (toolType == ToolTextMarkup) { + Okular::HighlightAnnotation *ha = static_cast(m_stubann); + + switch (ha->highlightType()) { + case Okular::HighlightAnnotation::Highlight: + toolElement.setAttribute(QStringLiteral("type"), QStringLiteral("highlight")); + annotationElement.setAttribute(QStringLiteral("type"), QStringLiteral("Highlight")); + break; + case Okular::HighlightAnnotation::Squiggly: + toolElement.setAttribute(QStringLiteral("type"), QStringLiteral("squiggly")); + annotationElement.setAttribute(QStringLiteral("type"), QStringLiteral("Squiggly")); + break; + case Okular::HighlightAnnotation::Underline: + toolElement.setAttribute(QStringLiteral("type"), QStringLiteral("underline")); + annotationElement.setAttribute(QStringLiteral("type"), QStringLiteral("Underline")); + break; + case Okular::HighlightAnnotation::StrikeOut: + toolElement.setAttribute(QStringLiteral("type"), QStringLiteral("strikeout")); + annotationElement.setAttribute(QStringLiteral("type"), QStringLiteral("StrikeOut")); + break; + } + + engineElement.setAttribute(QStringLiteral("type"), QStringLiteral("TextSelector")); + engineElement.setAttribute(QStringLiteral("color"), color); + annotationElement.setAttribute(QStringLiteral("color"), color); + } else if (toolType == ToolGeometricalShape) { + Okular::GeomAnnotation *ga = static_cast(m_stubann); + + if (ga->geometricalType() == Okular::GeomAnnotation::InscribedCircle) { + toolElement.setAttribute(QStringLiteral("type"), QStringLiteral("ellipse")); + annotationElement.setAttribute(QStringLiteral("type"), QStringLiteral("GeomCircle")); + } else { + toolElement.setAttribute(QStringLiteral("type"), QStringLiteral("rectangle")); + annotationElement.setAttribute(QStringLiteral("type"), QStringLiteral("GeomSquare")); + } + + engineElement.setAttribute(QStringLiteral("type"), QStringLiteral("PickPoint")); + engineElement.setAttribute(QStringLiteral("color"), color); + engineElement.setAttribute(QStringLiteral("block"), QStringLiteral("true")); + annotationElement.setAttribute(QStringLiteral("color"), color); + annotationElement.setAttribute(QStringLiteral("width"), width); + + if (ga->geometricalInnerColor().isValid()) { + annotationElement.setAttribute(QStringLiteral("innerColor"), ga->geometricalInnerColor().name()); + } + } else if (toolType == ToolStamp) { + Okular::StampAnnotation *sa = static_cast(m_stubann); + toolElement.setAttribute(QStringLiteral("type"), QStringLiteral("stamp")); + engineElement.setAttribute(QStringLiteral("type"), QStringLiteral("PickPoint")); + engineElement.setAttribute(QStringLiteral("hoverIcon"), sa->stampIconName()); + engineElement.setAttribute(QStringLiteral("size"), QStringLiteral("64")); + engineElement.setAttribute(QStringLiteral("block"), QStringLiteral("true")); + annotationElement.setAttribute(QStringLiteral("type"), QStringLiteral("Stamp")); + annotationElement.setAttribute(QStringLiteral("icon"), sa->stampIconName()); + } else if (toolType == ToolTypewriter) { + Okular::TextAnnotation *ta = static_cast(m_stubann); + const QString textColor = ta->textColor().name(); + toolElement.setAttribute(QStringLiteral("type"), QStringLiteral("typewriter")); + engineElement.setAttribute(QStringLiteral("type"), QStringLiteral("PickPoint")); + engineElement.setAttribute(QStringLiteral("block"), QStringLiteral("true")); + annotationElement.setAttribute(QStringLiteral("type"), QStringLiteral("Typewriter")); + annotationElement.setAttribute(QStringLiteral("color"), color); + annotationElement.setAttribute(QStringLiteral("textColor"), textColor); + annotationElement.setAttribute(QStringLiteral("width"), width); + if (ta->textFont() != QApplication::font()) { + annotationElement.setAttribute(QStringLiteral("font"), ta->textFont().toString()); + } + } + + if (opacity != QStringLiteral("1")) { + annotationElement.setAttribute(QStringLiteral("opacity"), opacity); + } + + return doc; +} + +void EditAnnotToolDialog::createStubAnnotation() +{ + const ToolType toolType = m_type->itemData(m_type->currentIndex()).value(); + + // Delete previous stub annotation, if any + delete m_stubann; + + // Create stub annotation + if (toolType == ToolNoteLinked) { + Okular::TextAnnotation *ta = new Okular::TextAnnotation(); + ta->setTextType(Okular::TextAnnotation::Linked); + ta->setTextIcon(QStringLiteral("Note")); + ta->style().setColor(Qt::yellow); + m_stubann = ta; + } else if (toolType == ToolNoteInline) { + Okular::TextAnnotation *ta = new Okular::TextAnnotation(); + ta->setTextType(Okular::TextAnnotation::InPlace); + ta->style().setWidth(1.0); + ta->style().setColor(Qt::yellow); + m_stubann = ta; + } else if (toolType == ToolInk) { + m_stubann = new Okular::InkAnnotation(); + m_stubann->style().setWidth(2.0); + m_stubann->style().setColor(Qt::green); + } else if (toolType == ToolStraightLine) { + Okular::LineAnnotation *la = new Okular::LineAnnotation(); + la->setLinePoints({Okular::NormalizedPoint(0, 0), Okular::NormalizedPoint(1, 0)}); + la->style().setColor(QColor(0xff, 0xe0, 0x00)); + m_stubann = la; + } else if (toolType == ToolPolygon) { + Okular::LineAnnotation *la = new Okular::LineAnnotation(); + la->setLinePoints({Okular::NormalizedPoint(0, 0), Okular::NormalizedPoint(1, 0), Okular::NormalizedPoint(1, 1)}); + la->setLineClosed(true); + la->style().setColor(QColor(0x00, 0x7e, 0xee)); + m_stubann = la; + } else if (toolType == ToolTextMarkup) { + m_stubann = new Okular::HighlightAnnotation(); + m_stubann->style().setColor(Qt::yellow); + } else if (toolType == ToolGeometricalShape) { + Okular::GeomAnnotation *ga = new Okular::GeomAnnotation(); + ga->setGeometricalType(Okular::GeomAnnotation::InscribedCircle); + ga->style().setWidth(5.0); + ga->style().setColor(Qt::cyan); + m_stubann = ga; + } else if (toolType == ToolStamp) { + Okular::StampAnnotation *sa = new Okular::StampAnnotation(); + sa->setStampIconName(QStringLiteral("okular")); + m_stubann = sa; + } else if (toolType == ToolTypewriter) { + Okular::TextAnnotation *ta = new Okular::TextAnnotation(); + ta->setTextType(Okular::TextAnnotation::InPlace); + ta->setInplaceIntent(Okular::TextAnnotation::TypeWriter); + ta->style().setWidth(0.0); + ta->style().setColor(QColor(255, 255, 255, 0)); + ta->setTextColor(Qt::black); + m_stubann = ta; + } +} + +void EditAnnotToolDialog::rebuildAppearanceBox() +{ + // Remove previous widget (if any) + if (m_annotationWidget) { + delete m_annotationWidget->appearanceWidget(); + delete m_annotationWidget; + } + + m_annotationWidget = AnnotationWidgetFactory::widgetFor(m_stubann); + m_annotationWidget->setAnnotTypeEditable(!m_builtinTool); + m_appearanceBox->layout()->addWidget(m_annotationWidget->appearanceWidget()); + + connect(m_annotationWidget, &AnnotationWidget::dataChanged, this, &EditAnnotToolDialog::slotDataChanged); +} + +void EditAnnotToolDialog::updateDefaultNameAndIcon() +{ + QDomDocument doc = toolXml(); + QDomElement toolElement = doc.documentElement(); + m_name->setPlaceholderText(PageViewAnnotator::defaultToolName(toolElement)); + m_toolIcon->setPixmap(PageViewAnnotator::makeToolPixmap(toolElement)); +} + +void EditAnnotToolDialog::setToolType(ToolType newType) +{ + int idx = -1; + + for (int i = 0; idx == -1 && i < m_type->count(); ++i) { + if (m_type->itemData(i).value() == newType) { + idx = i; + } + } + + // The following call also results in createStubAnnotation being called + m_type->setCurrentIndex(idx); +} + +void EditAnnotToolDialog::loadTool(const QDomElement &toolElement) +{ + const QDomElement engineElement = toolElement.elementsByTagName(QStringLiteral("engine")).item(0).toElement(); + const QDomElement annotationElement = engineElement.elementsByTagName(QStringLiteral("annotation")).item(0).toElement(); + const QString annotType = toolElement.attribute(QStringLiteral("type")); + + if (annotType == QLatin1String("ellipse")) { + setToolType(ToolGeometricalShape); + Okular::GeomAnnotation *ga = static_cast(m_stubann); + ga->setGeometricalType(Okular::GeomAnnotation::InscribedCircle); + if (annotationElement.hasAttribute(QStringLiteral("innerColor"))) { + ga->setGeometricalInnerColor(QColor(annotationElement.attribute(QStringLiteral("innerColor")))); + } + } else if (annotType == QLatin1String("highlight")) { + setToolType(ToolTextMarkup); + Okular::HighlightAnnotation *ha = static_cast(m_stubann); + ha->setHighlightType(Okular::HighlightAnnotation::Highlight); + } else if (annotType == QLatin1String("ink")) { + setToolType(ToolInk); + } else if (annotType == QLatin1String("note-inline")) { + setToolType(ToolNoteInline); + Okular::TextAnnotation *ta = static_cast(m_stubann); + if (annotationElement.hasAttribute(QStringLiteral("align"))) { + ta->setInplaceAlignment(annotationElement.attribute(QStringLiteral("align")).toInt()); + } + if (annotationElement.hasAttribute(QStringLiteral("font"))) { + QFont f; + f.fromString(annotationElement.attribute(QStringLiteral("font"))); + ta->setTextFont(f); + } + } else if (annotType == QLatin1String("note-linked")) { + setToolType(ToolNoteLinked); + Okular::TextAnnotation *ta = static_cast(m_stubann); + ta->setTextIcon(annotationElement.attribute(QStringLiteral("icon"))); + } else if (annotType == QLatin1String("polygon")) { + setToolType(ToolPolygon); + Okular::LineAnnotation *la = static_cast(m_stubann); + if (annotationElement.hasAttribute(QStringLiteral("innerColor"))) { + la->setLineInnerColor(QColor(annotationElement.attribute(QStringLiteral("innerColor")))); + } + } else if (annotType == QLatin1String("rectangle")) { + setToolType(ToolGeometricalShape); + Okular::GeomAnnotation *ga = static_cast(m_stubann); + ga->setGeometricalType(Okular::GeomAnnotation::InscribedSquare); + if (annotationElement.hasAttribute(QStringLiteral("innerColor"))) { + ga->setGeometricalInnerColor(QColor(annotationElement.attribute(QStringLiteral("innerColor")))); + } + } else if (annotType == QLatin1String("squiggly")) { + setToolType(ToolTextMarkup); + Okular::HighlightAnnotation *ha = static_cast(m_stubann); + ha->setHighlightType(Okular::HighlightAnnotation::Squiggly); + } else if (annotType == QLatin1String("stamp")) { + setToolType(ToolStamp); + Okular::StampAnnotation *sa = static_cast(m_stubann); + sa->setStampIconName(annotationElement.attribute(QStringLiteral("icon"))); + } else if (annotType == QLatin1String("straight-line")) { + setToolType(ToolStraightLine); + Okular::LineAnnotation *la = static_cast(m_stubann); + if (annotationElement.hasAttribute(QStringLiteral("leadFwd"))) { + la->setLineLeadingForwardPoint(annotationElement.attribute(QStringLiteral("leadFwd")).toDouble()); + } + if (annotationElement.hasAttribute(QStringLiteral("leadBack"))) { + la->setLineLeadingBackwardPoint(annotationElement.attribute(QStringLiteral("leadBack")).toDouble()); + } + if (annotationElement.hasAttribute(QStringLiteral("startStyle"))) { + la->setLineStartStyle((Okular::LineAnnotation::TermStyle)annotationElement.attribute(QStringLiteral("startStyle")).toInt()); + } + if (annotationElement.hasAttribute(QStringLiteral("endStyle"))) { + la->setLineEndStyle((Okular::LineAnnotation::TermStyle)annotationElement.attribute(QStringLiteral("endStyle")).toInt()); + } + } else if (annotType == QLatin1String("strikeout")) { + setToolType(ToolTextMarkup); + Okular::HighlightAnnotation *ha = static_cast(m_stubann); + ha->setHighlightType(Okular::HighlightAnnotation::StrikeOut); + } else if (annotType == QLatin1String("underline")) { + setToolType(ToolTextMarkup); + Okular::HighlightAnnotation *ha = static_cast(m_stubann); + ha->setHighlightType(Okular::HighlightAnnotation::Underline); + } else if (annotType == QLatin1String("typewriter")) { + setToolType(ToolTypewriter); + Okular::TextAnnotation *ta = static_cast(m_stubann); + if (annotationElement.hasAttribute(QStringLiteral("font"))) { + QFont f; + f.fromString(annotationElement.attribute(QStringLiteral("font"))); + ta->setTextFont(f); + } + if (annotationElement.hasAttribute(QStringLiteral("textColor"))) { + ta->setTextColor(QColor(annotationElement.attribute(QStringLiteral("textColor")))); + } + } + + // Common properties + if (annotationElement.hasAttribute(QStringLiteral("color"))) { + m_stubann->style().setColor(QColor(annotationElement.attribute(QStringLiteral("color")))); + } + if (annotationElement.hasAttribute(QStringLiteral("opacity"))) { + m_stubann->style().setOpacity(annotationElement.attribute(QStringLiteral("opacity")).toDouble()); + } + if (annotationElement.hasAttribute(QStringLiteral("width"))) { + m_stubann->style().setWidth(annotationElement.attribute(QStringLiteral("width")).toDouble()); + } + + if (toolElement.hasAttribute(QStringLiteral("name"))) { + m_name->setText(toolElement.attribute(QStringLiteral("name"))); + } +} + +void EditAnnotToolDialog::slotTypeChanged() +{ + createStubAnnotation(); + rebuildAppearanceBox(); + updateDefaultNameAndIcon(); +} + +void EditAnnotToolDialog::slotDataChanged() +{ + // Mirror changes back in the stub annotation + m_annotationWidget->applyChanges(); + + updateDefaultNameAndIcon(); +} diff --git a/part/editannottooldialog.h b/part/editannottooldialog.h new file mode 100644 index 0000000..fb9a583 --- /dev/null +++ b/part/editannottooldialog.h @@ -0,0 +1,60 @@ +/* + SPDX-FileCopyrightText: 2012 Fabio D 'Urso + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef EDITANNOTTOOLDIALOG_H +#define EDITANNOTTOOLDIALOG_H + +#include +#include +class KLineEdit; +class KComboBox; +class QLabel; +class QListWidget; +class QGroupBox; +class AnnotationWidget; + +namespace Okular +{ +class Annotation; +} + +class EditAnnotToolDialog : public QDialog +{ + Q_OBJECT + +public: + enum ToolType { ToolNoteLinked, ToolNoteInline, ToolInk, ToolStraightLine, ToolPolygon, ToolTextMarkup, ToolGeometricalShape, ToolStamp, ToolTypewriter }; + + explicit EditAnnotToolDialog(QWidget *parent = nullptr, const QDomElement &initialState = QDomElement(), bool builtinTool = false); + ~EditAnnotToolDialog() override; + QString name() const; + QDomDocument toolXml() const; + +private: + void createStubAnnotation(); + void rebuildAppearanceBox(); + void updateDefaultNameAndIcon(); + void setToolType(ToolType newType); + void loadTool(const QDomElement &toolElement); + + KLineEdit *m_name; + KComboBox *m_type; + QLabel *m_toolIcon; + QGroupBox *m_appearanceBox; + + Okular::Annotation *m_stubann; + AnnotationWidget *m_annotationWidget; + + bool m_builtinTool; + +private Q_SLOTS: + void slotTypeChanged(); + void slotDataChanged(); +}; + +Q_DECLARE_METATYPE(EditAnnotToolDialog::ToolType) + +#endif // EDITANNOTTOOLDIALOG_H diff --git a/part/editdrawingtooldialog.cpp b/part/editdrawingtooldialog.cpp new file mode 100644 index 0000000..aff86ad --- /dev/null +++ b/part/editdrawingtooldialog.cpp @@ -0,0 +1,143 @@ +/* + SPDX-FileCopyrightText: 2015 Laurent Montel + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "editdrawingtooldialog.h" + +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +EditDrawingToolDialog::EditDrawingToolDialog(const QDomElement &initialState, QWidget *parent) + : QDialog(parent) +{ + QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel); + buttonBox->setObjectName(QStringLiteral("buttonbox")); + QVBoxLayout *mainLayout = new QVBoxLayout(this); + + QPushButton *okButton = buttonBox->button(QDialogButtonBox::Ok); + okButton->setDefault(true); + okButton->setShortcut(Qt::CTRL | Qt::Key_Return); // NOLINT(bugprone-suspicious-enum-usage) + connect(buttonBox, &QDialogButtonBox::accepted, this, &EditDrawingToolDialog::accept); + connect(buttonBox, &QDialogButtonBox::rejected, this, &EditDrawingToolDialog::reject); + okButton->setDefault(true); + + QWidget *widget = new QWidget(this); + QGridLayout *widgetLayout = new QGridLayout(widget); + + mainLayout->addWidget(widget); + mainLayout->addWidget(buttonBox); + + m_name = new KLineEdit(widget); + m_name->setObjectName(QStringLiteral("name")); + mainLayout->addWidget(m_name); + + QLabel *tmplabel = new QLabel(i18n("&Name:"), widget); + mainLayout->addWidget(tmplabel); + tmplabel->setBuddy(m_name); + + widgetLayout->addWidget(tmplabel, 0, 0, Qt::AlignRight); + widgetLayout->addWidget(m_name, 0, 1); + + tmplabel = new QLabel(i18n("Color:"), widget); + widgetLayout->addWidget(tmplabel, 1, 0, Qt::AlignRight); + + m_colorBn = new KColorButton(this); + m_colorBn->setObjectName(QStringLiteral("colorbutton")); + widgetLayout->addWidget(m_colorBn, 1, 1, Qt::AlignRight); + + tmplabel = new QLabel(i18n("&Pen Width:"), widget); + widgetLayout->addWidget(tmplabel, 2, 0, Qt::AlignRight); + + m_penWidth = new QSpinBox(widget); + m_penWidth->setObjectName(QStringLiteral("penWidth")); + m_penWidth->setRange(0, 50); + KLocalization::setupSpinBoxFormatString(m_penWidth, ki18nc("@label:spinbox Suffix for the pen width, e.g. '10 px'", "%v px")); + tmplabel->setBuddy(m_penWidth); + widgetLayout->addWidget(m_penWidth, 2, 1); + + tmplabel = new QLabel(i18n("&Opacity:"), widget); + widgetLayout->addWidget(tmplabel, 3, 0, Qt::AlignRight); + + m_opacity = new QSpinBox(widget); + m_opacity->setObjectName(QStringLiteral("opacity")); + m_opacity->setRange(0, 100); + KLocalization::setupSpinBoxFormatString(m_opacity, ki18nc("@label:spinbox Suffix for the opacity level, e.g. '80%'", "%v%")); + tmplabel->setBuddy(m_opacity); + widgetLayout->addWidget(m_opacity, 3, 1); + + if (initialState.isNull()) { + setWindowTitle(i18n("Create drawing tool")); + m_colorBn->setColor(Qt::black); + m_penWidth->setValue(2); + m_opacity->setValue(100); + } else { + setWindowTitle(i18n("Edit drawing tool")); + loadTool(initialState); + } + + m_name->setFocus(); +} + +EditDrawingToolDialog::~EditDrawingToolDialog() +{ +} + +QString EditDrawingToolDialog::name() const +{ + return m_name->text(); +} + +QDomDocument EditDrawingToolDialog::toolXml() const +{ + QDomDocument doc; + QDomElement toolElement = doc.createElement(QStringLiteral("tool")); + QDomElement engineElement = doc.createElement(QStringLiteral("engine")); + QDomElement annotationElement = doc.createElement(QStringLiteral("annotation")); + doc.appendChild(toolElement); + toolElement.appendChild(engineElement); + engineElement.appendChild(annotationElement); + + const QString color = m_colorBn->color().name(); + const double opacity = m_opacity->value() / 100.0; + + engineElement.setAttribute(QStringLiteral("color"), color); + + annotationElement.setAttribute(QStringLiteral("type"), QStringLiteral("Ink")); + annotationElement.setAttribute(QStringLiteral("color"), color); + annotationElement.setAttribute(QStringLiteral("width"), QString::number(m_penWidth->value())); + + if (opacity != 1.0) { + annotationElement.setAttribute(QStringLiteral("opacity"), QString::number(opacity)); + } + + return doc; +} + +void EditDrawingToolDialog::loadTool(const QDomElement &toolElement) +{ + const QDomElement engineElement = toolElement.elementsByTagName(QStringLiteral("engine")).item(0).toElement(); + const QDomElement annotationElement = engineElement.elementsByTagName(QStringLiteral("annotation")).item(0).toElement(); + + if (annotationElement.hasAttribute(QStringLiteral("color"))) { + m_colorBn->setColor(QColor(annotationElement.attribute(QStringLiteral("color")))); + } + + m_penWidth->setValue(annotationElement.attribute(QStringLiteral("width"), QStringLiteral("2")).toInt()); + m_opacity->setValue(annotationElement.attribute(QStringLiteral("opacity"), QStringLiteral("1.0")).toDouble() * 100); + + if (toolElement.attribute(QStringLiteral("default"), QStringLiteral("false")) == QLatin1String("true")) { + m_name->setText(i18n(toolElement.attribute(QStringLiteral("name")).toLatin1().constData())); + } else { + m_name->setText(toolElement.attribute(QStringLiteral("name"))); + } +} diff --git a/part/editdrawingtooldialog.h b/part/editdrawingtooldialog.h new file mode 100644 index 0000000..579bede --- /dev/null +++ b/part/editdrawingtooldialog.h @@ -0,0 +1,38 @@ +/* + SPDX-FileCopyrightText: 2015 Laurent Montel + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef EDITDRAWINGTOOLDIALOG_H +#define EDITDRAWINGTOOLDIALOG_H + +#include +#include + +class KColorButton; +class KLineEdit; + +class QSpinBox; + +class EditDrawingToolDialog : public QDialog +{ + Q_OBJECT +public: + explicit EditDrawingToolDialog(const QDomElement &initialState = QDomElement(), QWidget *parent = nullptr); + ~EditDrawingToolDialog() override; + + QDomDocument toolXml() const; + + QString name() const; + +private: + void loadTool(const QDomElement &toolElement); + + KLineEdit *m_name; + KColorButton *m_colorBn; + QSpinBox *m_penWidth; + QSpinBox *m_opacity; +}; + +#endif // EDITDRAWINGTOOLDIALOG_H diff --git a/part/embeddedfilesdialog.cpp b/part/embeddedfilesdialog.cpp new file mode 100644 index 0000000..247885d --- /dev/null +++ b/part/embeddedfilesdialog.cpp @@ -0,0 +1,198 @@ +/* + SPDX-FileCopyrightText: 2006 Albert Astals Cid + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "embeddedfilesdialog.h" + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "core/document.h" +#include "gui/guiutils.h" + +Q_DECLARE_METATYPE(Okular::EmbeddedFile *) + +static const int EmbeddedFileRole = Qt::UserRole + 100; + +static QString dateToString(const QDateTime &date) +{ + return date.isValid() ? QLocale().toString(date, QLocale::LongFormat) : i18nc("Unknown date", "Unknown"); +} + +EmbeddedFilesDialog::EmbeddedFilesDialog(QWidget *parent, const Okular::Document *document) + : QDialog(parent) +{ + setWindowTitle(i18nc("@title:window", "Embedded Files")); + QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Close); + QVBoxLayout *mainLayout = new QVBoxLayout; + setLayout(mainLayout); + mUser1Button = new QPushButton; + buttonBox->addButton(mUser1Button, QDialogButtonBox::ActionRole); + connect(buttonBox, &QDialogButtonBox::accepted, this, &QDialog::accept); + connect(buttonBox, &QDialogButtonBox::rejected, this, &QDialog::reject); + buttonBox->button(QDialogButtonBox::Close)->setDefault(true); + KGuiItem::assign(mUser1Button, KStandardGuiItem::save()); + mUser1Button->setEnabled(false); + + mUser2Button = new QPushButton; + buttonBox->addButton(mUser2Button, QDialogButtonBox::ActionRole); + KGuiItem::assign(mUser2Button, KGuiItem(i18nc("@action:button", "View"), QStringLiteral("document-open"))); + mUser2Button->setEnabled(false); + + m_tw = new QTreeWidget(this); + mainLayout->addWidget(m_tw); + mainLayout->addWidget(buttonBox); + + QStringList header; + header.append(i18nc("@title:column", "Name")); + header.append(i18nc("@title:column", "Description")); + header.append(i18nc("@title:column", "Size")); + header.append(i18nc("@title:column", "Created")); + header.append(i18nc("@title:column", "Modified")); + m_tw->setHeaderLabels(header); + m_tw->setRootIsDecorated(false); + m_tw->setSelectionMode(QAbstractItemView::ExtendedSelection); + m_tw->setContextMenuPolicy(Qt::CustomContextMenu); + + // embeddedFiles() returns a const QList + for (Okular::EmbeddedFile *ef : *document->embeddedFiles()) { + QTreeWidgetItem *twi = new QTreeWidgetItem(); + twi->setText(0, ef->name()); + QMimeDatabase db; + QMimeType mime = db.mimeTypeForFile(ef->name(), QMimeDatabase::MatchExtension); + if (mime.isValid()) { + twi->setIcon(0, QIcon::fromTheme(mime.iconName())); + } + twi->setText(1, ef->description()); + twi->setText(2, ef->size() <= 0 ? i18nc("Not available size", "N/A") : KFormat().formatByteSize(ef->size())); + twi->setText(3, dateToString(ef->creationDate())); + twi->setText(4, dateToString(ef->modificationDate())); + twi->setData(0, EmbeddedFileRole, QVariant::fromValue(ef)); + m_tw->addTopLevelItem(twi); + } + // Having filled the columns, it is nice to resize them to be able to read the contents + for (int lv = 0; lv < m_tw->columnCount(); ++lv) { + m_tw->resizeColumnToContents(lv); + } + // This is a bit dubious, but I'm not seeing a nice way to say "expand to fit contents" + m_tw->setMinimumWidth(640); + m_tw->updateGeometry(); + + connect(mUser1Button, &QPushButton::clicked, this, &EmbeddedFilesDialog::saveFileFromButton); + connect(mUser2Button, &QPushButton::clicked, this, &EmbeddedFilesDialog::viewFileFromButton); + connect(m_tw, &QWidget::customContextMenuRequested, this, &EmbeddedFilesDialog::attachViewContextMenu); + connect(m_tw, &QTreeWidget::itemSelectionChanged, this, &EmbeddedFilesDialog::updateSaveButton); + connect(m_tw, &QTreeWidget::itemDoubleClicked, this, &EmbeddedFilesDialog::viewFileItem); +} + +void EmbeddedFilesDialog::updateSaveButton() +{ + bool enable = (m_tw->selectedItems().count() > 0); + mUser1Button->setEnabled(enable); + mUser2Button->setEnabled(enable); +} + +void EmbeddedFilesDialog::saveFileFromButton() +{ + const QList selected = m_tw->selectedItems(); + for (const QTreeWidgetItem *twi : selected) { + Okular::EmbeddedFile *ef = qvariant_cast(twi->data(0, EmbeddedFileRole)); + saveFile(ef); + } +} + +void EmbeddedFilesDialog::viewFileFromButton() +{ + const QList selected = m_tw->selectedItems(); + for (QTreeWidgetItem *twi : selected) { + Okular::EmbeddedFile *ef = qvariant_cast(twi->data(0, EmbeddedFileRole)); + viewFile(ef); + } +} + +void EmbeddedFilesDialog::viewFileItem(QTreeWidgetItem *item, int /*column*/) +{ + Okular::EmbeddedFile *ef = qvariant_cast(item->data(0, EmbeddedFileRole)); + viewFile(ef); +} + +void EmbeddedFilesDialog::attachViewContextMenu() +{ + QList selected = m_tw->selectedItems(); + if (selected.isEmpty()) { + return; + } + + if (selected.size() > 1) { + return; + } + + QMenu menu(this); + const QAction *saveAsAct = menu.addAction(QIcon::fromTheme(QStringLiteral("document-save-as")), i18nc("@action:inmenu", "&Save As…")); + const QAction *viewAct = menu.addAction(QIcon::fromTheme(QStringLiteral("document-open")), i18nc("@action:inmenu", "&View…")); + + const QAction *act = menu.exec(QCursor::pos()); + if (!act) { + return; + } + + Okular::EmbeddedFile *ef = qvariant_cast(selected.at(0)->data(0, EmbeddedFileRole)); + if (act == saveAsAct) { + saveFile(ef); + } else if (act == viewAct) { + viewFile(ef); + } +} + +void EmbeddedFilesDialog::viewFile(Okular::EmbeddedFile *ef) +{ + // get name and extension + QFileInfo fileInfo(ef->name()); + + // save in temporary directory with a unique name resembling the attachment name, + // using QTemporaryFile's XXXXXX placeholder + QTemporaryFile *tmpFile = + new QTemporaryFile(QDir::tempPath() + QLatin1Char('/') + fileInfo.baseName() + QStringLiteral(".XXXXXX") + (fileInfo.completeSuffix().isEmpty() ? QLatin1String("") : QString(QLatin1Char('.') + fileInfo.completeSuffix()))); + GuiUtils::writeEmbeddedFile(ef, this, *tmpFile); + + // set readonly to prevent the viewer application from modifying it + tmpFile->setPermissions(QFile::ReadOwner); + + // keep temporary file alive while the dialog is open + m_openedFiles.push_back(QSharedPointer(tmpFile)); + + // view the temporary file with the default application + auto *job = new KIO::OpenUrlJob(QUrl::fromLocalFile(tmpFile->fileName())); + job->setUiDelegate(KIO::createDefaultJobUiDelegate(KJobUiDelegate::AutoHandlingEnabled, this)); + job->start(); +} + +void EmbeddedFilesDialog::saveFile(Okular::EmbeddedFile *ef) +{ + GuiUtils::saveEmbeddedFile(ef, this); +} + +#include "moc_embeddedfilesdialog.cpp" diff --git a/part/embeddedfilesdialog.h b/part/embeddedfilesdialog.h new file mode 100644 index 0000000..581b0fd --- /dev/null +++ b/part/embeddedfilesdialog.h @@ -0,0 +1,47 @@ +/* + SPDX-FileCopyrightText: 2006 Albert Astals Cid + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _EMBEDDEDFILESDIALOG_H_ +#define _EMBEDDEDFILESDIALOG_H_ + +#include + +class QTreeWidget; +class QPushButton; +class QTemporaryFile; +class QTreeWidgetItem; + +namespace Okular +{ +class Document; +class EmbeddedFile; +} + +class EmbeddedFilesDialog : public QDialog +{ + Q_OBJECT +public: + EmbeddedFilesDialog(QWidget *parent, const Okular::Document *document); + +private Q_SLOTS: + void saveFileFromButton(); + void attachViewContextMenu(); + void updateSaveButton(); + void viewFileFromButton(); + void viewFileItem(QTreeWidgetItem *item, int column); + +private: + void saveFile(Okular::EmbeddedFile *); + void viewFile(Okular::EmbeddedFile *); + + QTreeWidget *m_tw; + + QPushButton *mUser1Button; + QPushButton *mUser2Button; + QList> m_openedFiles; +}; + +#endif diff --git a/part/extensions.cpp b/part/extensions.cpp new file mode 100644 index 0000000..af83167 --- /dev/null +++ b/part/extensions.cpp @@ -0,0 +1,37 @@ +/* + SPDX-FileCopyrightText: 2002 Wilco Greven + SPDX-FileCopyrightText: 2008 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "extensions.h" + +// local includes +#include "part.h" + +#include + +namespace Okular +{ +/* + * BrowserExtension class + */ +BrowserExtension::BrowserExtension(Part *parent) + : NavigationExtension(parent) + , m_part(parent) +{ + Q_EMIT enableAction("print", true); + setURLDropHandlingEnabled(true); +} + +void BrowserExtension::print() +{ + m_part->slotPrint(); +} + +} + +#include "moc_extensions.cpp" + +/* kate: replace-tabs on; indent-width 4; */ diff --git a/part/extensions.h b/part/extensions.h new file mode 100644 index 0000000..91a7600 --- /dev/null +++ b/part/extensions.h @@ -0,0 +1,39 @@ +/* + SPDX-FileCopyrightText: 2002 Wilco Greven + SPDX-FileCopyrightText: 2008 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _EXTENSIONS_H_ +#define _EXTENSIONS_H_ + +#include + +#include +using NavigationExtension = KParts::NavigationExtension; + +namespace Okular +{ +class Part; + +class BrowserExtension : public NavigationExtension +{ + Q_OBJECT + +public: + explicit BrowserExtension(Part *); + +public Q_SLOTS: + // Automatically detected by the host. + void print(); + +private: + Part *m_part; +}; + +} + +#endif + +/* kate: replace-tabs on; indent-width 4; */ diff --git a/part/fileprinterpreview.cpp b/part/fileprinterpreview.cpp new file mode 100644 index 0000000..ad349ad --- /dev/null +++ b/part/fileprinterpreview.cpp @@ -0,0 +1,158 @@ +/* + SPDX-FileCopyrightText: 2007 John Layt + + FilePrinterPreview based on KPrintPreview (originally LGPL) + SPDX-FileCopyrightText: 2007 Alex Merry + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "fileprinterpreview.h" + +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +#include "gui/debug_ui.h" + +using namespace Okular; + +// This code copied from KPrintPreview by Alex Merry, adapted to do PS files instead of PDF + +class Okular::FilePrinterPreviewPrivate +{ +public: + FilePrinterPreviewPrivate(FilePrinterPreview *host, const QString &_filename) + : q(host) + , mainWidget(new QWidget(host)) + , previewPart(nullptr) + , failMessage(nullptr) + , config(KSharedConfig::openConfig(QStringLiteral("okularrc"))) + + { + mainlayout = new QVBoxLayout(q); + buttonBox = new QDialogButtonBox(QDialogButtonBox::Close, q); + mainlayout->addWidget(buttonBox); + filename = _filename; + } + + void getPart(); + bool doPreview(); + void fail(); + + FilePrinterPreview *q; + + QWidget *mainWidget; + + QDialogButtonBox *buttonBox; + + QVBoxLayout *mainlayout; + + QString filename; + + KParts::ReadOnlyPart *previewPart; + QWidget *failMessage; + + KSharedConfig::Ptr config; + Q_DISABLE_COPY(FilePrinterPreviewPrivate) +}; +static inline QString ConfigGroupKey() +{ + return QStringLiteral("Print Preview"); +} + +void FilePrinterPreviewPrivate::getPart() +{ + if (previewPart) { + qCDebug(OkularUiDebug) << "already got a part"; + return; + } + + auto result = KPluginFactory::instantiatePlugin(KPluginMetaData(QStringLiteral("kf6/parts/okularpart")), q, QVariantList() << QStringLiteral("Print/Preview")); + + if (!result) { + qCWarning(OkularUiDebug) << "Part creation failed" << result.errorText; + } else { + previewPart = result.plugin; + } +} + +bool FilePrinterPreviewPrivate::doPreview() +{ + if (!QFile::exists(filename)) { + qCWarning(OkularUiDebug) << "Nothing was produced to be previewed"; + return false; + } + + getPart(); + if (!previewPart) { + // TODO: error dialog + qCWarning(OkularUiDebug) << "Could not find a PS viewer for the preview dialog"; + fail(); + return false; + } else { + mainlayout->insertWidget(0, previewPart->widget()); + return previewPart->openUrl(QUrl::fromLocalFile(filename)); + } +} + +void FilePrinterPreviewPrivate::fail() +{ + if (!failMessage) { + failMessage = new QLabel(i18n("Could not load print preview part"), q); + } + mainlayout->insertWidget(0, failMessage); +} + +FilePrinterPreview::FilePrinterPreview(const QString &filename, QWidget *parent) + : QDialog(parent) + , d(new FilePrinterPreviewPrivate(this, filename)) +{ + qCDebug(OkularUiDebug) << "kdeprint: creating preview dialog"; + + // Set up the dialog + setWindowTitle(i18n("Print Preview")); + + connect(d->buttonBox, &QDialogButtonBox::rejected, this, &QDialog::reject); + + KWindowConfig::restoreWindowSize(windowHandle(), d->config->group(ConfigGroupKey())); +} + +FilePrinterPreview::~FilePrinterPreview() +{ + KConfigGroup group(d->config->group(ConfigGroupKey())); + KWindowConfig::saveWindowSize(windowHandle(), group); + + delete d; +} + +QSize FilePrinterPreview::sizeHint() const +{ + // return a more or less useful window size, if not saved already + return QSize(600, 500); +} + +void FilePrinterPreview::showEvent(QShowEvent *event) +{ + if (!event->spontaneous()) { + // being shown for the first time + if (!d->doPreview()) { + event->accept(); + return; + } + } + QDialog::showEvent(event); +} + +#include "moc_fileprinterpreview.cpp" diff --git a/part/fileprinterpreview.h b/part/fileprinterpreview.h new file mode 100644 index 0000000..1952942 --- /dev/null +++ b/part/fileprinterpreview.h @@ -0,0 +1,46 @@ +/* + SPDX-FileCopyrightText: 2007 John Layt + + FilePrinterPreview based on KPrintPreview (originally LGPL) + SPDX-FileCopyrightText: 2007 Alex Merry + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef FILEPRINTERPREVIEW_H +#define FILEPRINTERPREVIEW_H + +#include + +namespace Okular +{ +// This code copied from KPrintPreview by Alex Merry, adapted to do PS files instead of PDF + +class FilePrinterPreviewPrivate; + +class FilePrinterPreview : public QDialog +{ + Q_OBJECT + +public: + /** + * Create a Print Preview dialog for a given file. + * + * @param filename file to print preview + * @param parent pointer to the parent widget for the dialog + */ + explicit FilePrinterPreview(const QString &filename, QWidget *parent = nullptr); + ~FilePrinterPreview() override; + + QSize sizeHint() const override; + +protected: + void showEvent(QShowEvent *event) override; + +private: + FilePrinterPreviewPrivate *const d; +}; + +} + +#endif // FILEPRINTER_H diff --git a/part/findbar.cpp b/part/findbar.cpp new file mode 100644 index 0000000..d6c7c9a --- /dev/null +++ b/part/findbar.cpp @@ -0,0 +1,201 @@ +/* + SPDX-FileCopyrightText: 2007 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "findbar.h" + +// qt/kde includes +#include +#include +#include +#include +#include +#include +#include +#include +#include + +// local includes +#include "core/document.h" +#include "searchlineedit.h" +#include "settings.h" + +FindBar::FindBar(Okular::Document *document, QWidget *parent) + : QWidget(parent) + , m_active(false) +{ + QHBoxLayout *lay = new QHBoxLayout(this); + lay->setContentsMargins(2, 2, 2, 2); + + QToolButton *closeBtn = new QToolButton(this); + closeBtn->setIcon(QIcon::fromTheme(QStringLiteral("dialog-close"))); + closeBtn->setToolTip(i18n("Close")); + closeBtn->setAutoRaise(true); + lay->addWidget(closeBtn); + + QLabel *label = new QLabel(i18nc("Find text", "F&ind:"), this); + lay->addWidget(label); + + m_search = new SearchLineWidget(this, document); + m_search->lineEdit()->setSearchCaseSensitivity(Qt::CaseInsensitive); + m_search->lineEdit()->setSearchMinimumLength(0); + m_search->lineEdit()->setSearchType(Okular::Document::NextMatch); + m_search->lineEdit()->setSearchId(PART_SEARCH_ID); + m_search->lineEdit()->setSearchColor(qRgb(255, 255, 64)); + m_search->lineEdit()->setSearchMoveViewport(true); + m_search->lineEdit()->setFindAsYouType(false); + m_search->lineEdit()->setToolTip(i18n("Text to search for")); + m_search->installEventFilter(this); + label->setBuddy(m_search->lineEdit()); + lay->addWidget(m_search); + + QPushButton *findNextBtn = new QPushButton(QIcon::fromTheme(QStringLiteral("go-down-search")), i18nc("Find and go to the next search match", "Next"), this); + findNextBtn->setToolTip(i18n("Jump to next match")); + lay->addWidget(findNextBtn); + + QPushButton *findPrevBtn = new QPushButton(QIcon::fromTheme(QStringLiteral("go-up-search")), i18nc("Find and go to the previous search match", "Previous"), this); + findPrevBtn->setToolTip(i18n("Jump to previous match")); + lay->addWidget(findPrevBtn); + + QPushButton *optionsBtn = new QPushButton(this); + optionsBtn->setText(i18n("Options")); + optionsBtn->setToolTip(i18n("Modify search behavior")); + QMenu *optionsMenu = new QMenu(optionsBtn); + m_caseSensitiveAct = optionsMenu->addAction(i18n("Case sensitive")); + m_caseSensitiveAct->setCheckable(true); + m_fromCurrentPageAct = optionsMenu->addAction(i18n("From current page")); + m_fromCurrentPageAct->setCheckable(true); + m_findAsYouTypeAct = optionsMenu->addAction(i18n("Find as you type")); + m_findAsYouTypeAct->setCheckable(true); + optionsBtn->setMenu(optionsMenu); + lay->addWidget(optionsBtn); + + connect(closeBtn, &QAbstractButton::clicked, this, &FindBar::closeAndStopSearch); + connect(findNextBtn, &QAbstractButton::clicked, this, &FindBar::findNext); + connect(findPrevBtn, &QAbstractButton::clicked, this, &FindBar::findPrev); + connect(m_caseSensitiveAct, &QAction::toggled, this, &FindBar::caseSensitivityChanged); + connect(m_fromCurrentPageAct, &QAction::toggled, this, &FindBar::fromCurrentPageChanged); + connect(m_findAsYouTypeAct, &QAction::toggled, this, &FindBar::findAsYouTypeChanged); + + m_caseSensitiveAct->setChecked(Okular::Settings::searchCaseSensitive()); + m_fromCurrentPageAct->setChecked(Okular::Settings::searchFromCurrentPage()); + m_findAsYouTypeAct->setChecked(Okular::Settings::findAsYouType()); + + hide(); + + // "activate" it only at th very end + m_active = true; +} + +FindBar::~FindBar() +{ +} + +bool FindBar::eventFilter(QObject *target, QEvent *event) +{ + if (target == m_search) { + if (event->type() == QEvent::KeyPress) { + QKeyEvent *keyEvent = static_cast(event); + if (keyEvent->key() == Qt::Key_PageUp || keyEvent->key() == Qt::Key_PageDown) { + Q_EMIT forwardKeyPressEvent(keyEvent); + return true; + } + } + } + return false; +} + +QString FindBar::text() const +{ + return m_search->lineEdit()->text(); +} + +Qt::CaseSensitivity FindBar::caseSensitivity() const +{ + return m_caseSensitiveAct->isChecked() ? Qt::CaseSensitive : Qt::CaseInsensitive; +} + +void FindBar::focusAndSetCursor() +{ + setFocus(); + m_search->lineEdit()->selectAll(); + m_search->lineEdit()->setFocus(); +} + +bool FindBar::maybeHide() +{ + if (m_search->lineEdit()->isSearchRunning()) { + m_search->lineEdit()->stopSearch(); + return false; + } else { + hide(); + return true; + } +} + +void FindBar::findNext() +{ + m_search->lineEdit()->setSearchType(Okular::Document::NextMatch); + m_search->lineEdit()->findNext(); +} + +void FindBar::findPrev() +{ + m_search->lineEdit()->setSearchType(Okular::Document::PreviousMatch); + m_search->lineEdit()->findPrev(); +} + +void FindBar::resetSearch() +{ + m_search->lineEdit()->resetSearch(); +} + +void FindBar::caseSensitivityChanged() +{ + m_search->lineEdit()->setSearchCaseSensitivity(m_caseSensitiveAct->isChecked() ? Qt::CaseSensitive : Qt::CaseInsensitive); + if (!m_active) { + return; + } + Okular::Settings::setSearchCaseSensitive(m_caseSensitiveAct->isChecked()); + Okular::Settings::self()->save(); + m_search->lineEdit()->restartSearch(); +} + +void FindBar::fromCurrentPageChanged() +{ + m_search->lineEdit()->setSearchFromStart(!m_fromCurrentPageAct->isChecked()); + if (!m_active) { + return; + } + Okular::Settings::setSearchFromCurrentPage(m_fromCurrentPageAct->isChecked()); + Okular::Settings::self()->save(); +} + +void FindBar::findAsYouTypeChanged() +{ + m_search->lineEdit()->setFindAsYouType(m_findAsYouTypeAct->isChecked()); + if (!m_active) { + return; + } + Okular::Settings::setFindAsYouType(m_findAsYouTypeAct->isChecked()); + Okular::Settings::self()->save(); +} + +void FindBar::closeAndStopSearch() +{ + if (m_search->lineEdit()->isSearchRunning()) { + m_search->lineEdit()->stopSearch(); + } + Q_EMIT onCloseButtonPressed(); + close(); +} + +void FindBar::startSearch(const QString &findText) +{ + m_search->lineEdit()->setText(findText); + show(); +} + +#include "moc_findbar.cpp" diff --git a/part/findbar.h b/part/findbar.h new file mode 100644 index 0000000..3c5d3e6 --- /dev/null +++ b/part/findbar.h @@ -0,0 +1,59 @@ +/* + SPDX-FileCopyrightText: 2007 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _FINDBAR_H_ +#define _FINDBAR_H_ + +#include + +class QAction; +class SearchLineWidget; + +namespace Okular +{ +class Document; +} + +class FindBar : public QWidget +{ + Q_OBJECT + +public: + explicit FindBar(Okular::Document *document, QWidget *parent = nullptr); + ~FindBar() override; + + QString text() const; + Qt::CaseSensitivity caseSensitivity() const; + + void focusAndSetCursor(); + bool maybeHide(); + void startSearch(const QString &findText); + +Q_SIGNALS: + void forwardKeyPressEvent(QKeyEvent *); + void onCloseButtonPressed(); + +public Q_SLOTS: + void findNext(); + void findPrev(); + void resetSearch(); + +private Q_SLOTS: + void caseSensitivityChanged(); + void fromCurrentPageChanged(); + void findAsYouTypeChanged(); + void closeAndStopSearch(); + +private: + SearchLineWidget *m_search; + QAction *m_caseSensitiveAct; + QAction *m_fromCurrentPageAct; + QAction *m_findAsYouTypeAct; + bool eventFilter(QObject *target, QEvent *event) override; + bool m_active; +}; + +#endif diff --git a/part/formwidgets.cpp b/part/formwidgets.cpp new file mode 100644 index 0000000..8a81a3a --- /dev/null +++ b/part/formwidgets.cpp @@ -0,0 +1,1478 @@ +/* + SPDX-FileCopyrightText: 2007 Pino Toscano + SPDX-FileCopyrightText: 2018 Intevation GmbH + + Work sponsored by the LiMux project of the city of Munich: + SPDX-FileCopyrightText: 2017 Klarälvdalens Datakonsult AB a KDAB Group company + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "formwidgets.h" +#include "core/page.h" +#include "pageview.h" +#include "pageviewutils.h" +#include "revisionviewer.h" +#include "signaturepartutils.h" +#include "signaturepropertiesdialog.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +// local includes +#include "core/action.h" +#include "core/document.h" +#include "gui/debug_ui.h" + +FormWidgetsController::FormWidgetsController(Okular::Document *doc) + : QObject(doc) + , m_doc(doc) +{ + // Q_EMIT changed signal when a form has changed + connect(this, &FormWidgetsController::formTextChangedByUndoRedo, this, &FormWidgetsController::changed); + connect(this, &FormWidgetsController::formListChangedByUndoRedo, this, &FormWidgetsController::changed); + connect(this, &FormWidgetsController::formComboChangedByUndoRedo, this, &FormWidgetsController::changed); + + // connect form modification signals to and from document + // connect to the newer editFormText method and not the deprecated one + using EditFormTextType = void (Okular::Document::*)(int, Okular::FormFieldText *, const QString &, int, int, int, const QString &); + connect(this, &FormWidgetsController::formTextChangedByWidget, doc, static_cast(&Okular::Document::editFormText)); + connect(doc, &Okular::Document::formTextChangedByUndoRedo, this, &FormWidgetsController::formTextChangedByUndoRedo); + + connect(this, &FormWidgetsController::formListChangedByWidget, doc, &Okular::Document::editFormList); + connect(doc, &Okular::Document::formListChangedByUndoRedo, this, &FormWidgetsController::formListChangedByUndoRedo); + + connect(this, &FormWidgetsController::formComboChangedByWidget, doc, &Okular::Document::editFormCombo); + connect(doc, &Okular::Document::formComboChangedByUndoRedo, this, &FormWidgetsController::formComboChangedByUndoRedo); + + connect(this, &FormWidgetsController::formButtonsChangedByWidget, doc, &Okular::Document::editFormButtons); + connect(doc, &Okular::Document::formButtonsChangedByUndoRedo, this, &FormWidgetsController::slotFormButtonsChangedByUndoRedo); + + // Connect undo/redo signals + connect(this, &FormWidgetsController::requestUndo, doc, &Okular::Document::undo); + connect(this, &FormWidgetsController::requestRedo, doc, &Okular::Document::redo); + + connect(doc, &Okular::Document::canUndoChanged, this, &FormWidgetsController::canUndoChanged); + connect(doc, &Okular::Document::canRedoChanged, this, &FormWidgetsController::canRedoChanged); + + // Connect the generic formWidget refresh signal + connect(doc, &Okular::Document::refreshFormWidget, this, &FormWidgetsController::refreshFormWidget); +} + +FormWidgetsController::~FormWidgetsController() +{ +} + +void FormWidgetsController::signalAction(Okular::Action *a) +{ + Q_EMIT action(a); +} + +void FormWidgetsController::signalMouseAction(Okular::Action *action, Okular::FormField *form, Okular::Document::MouseEventType fieldMouseEventType) +{ + Q_EMIT mouseAction(action, form, fieldMouseEventType); +} + +void FormWidgetsController::processScriptAction(Okular::Action *a, Okular::FormField *field, Okular::Annotation::AdditionalActionType type) +{ + // If it's not a Action Script or if the field is neither a FormText nor a combobox FormChoice, handle it normally + if (a->actionType() != Okular::Action::Script || + (field->type() != Okular::FormField::FormText && !(field->type() == Okular::FormField::FormChoice && (dynamic_cast(field)->choiceType() == Okular::FormFieldChoice::ComboBox)))) { + Q_EMIT action(a); + return; + } + switch (type) { + // These cases are to be handled by the FormFields themselves, so we let it happen. + case Okular::Annotation::FocusIn: + case Okular::Annotation::FocusOut: + return; + case Okular::Annotation::PageOpening: + case Okular::Annotation::PageClosing: + case Okular::Annotation::CursorEntering: + case Okular::Annotation::CursorLeaving: + case Okular::Annotation::MousePressed: + case Okular::Annotation::MouseReleased: + Q_EMIT action(a); + } +} + +void FormWidgetsController::registerRadioButton(FormWidgetIface *fwButton, Okular::FormFieldButton *formButton) +{ + if (!fwButton) { + return; + } + + QAbstractButton *button = dynamic_cast(fwButton); + if (!button) { + qWarning() << "fwButton is not a QAbstractButton" << fwButton; + return; + } + + QList::iterator it = m_radios.begin(), itEnd = m_radios.end(); + const int id = formButton->id(); + m_buttons.insert(id, button); + for (; it != itEnd; ++it) { + const RadioData &rd = *it; + const QList::const_iterator idsIt = std::find(rd.ids.begin(), rd.ids.end(), id); + if (idsIt != rd.ids.constEnd()) { + qCDebug(OkularUiDebug) << "Adding id" << id << "To group including" << rd.ids; + rd.group->addButton(button); + rd.group->setId(button, id); + return; + } + } + + const QList siblings = formButton->siblings(); + + RadioData newdata; + newdata.ids = siblings; + newdata.ids.append(id); + newdata.group = new QButtonGroup(); + newdata.group->addButton(button); + newdata.group->setId(button, id); + + // Groups of 1 (like checkboxes) can't be exclusive + if (siblings.isEmpty()) { + newdata.group->setExclusive(false); + } + + connect(newdata.group, QOverload::of(&QButtonGroup::buttonClicked), this, &FormWidgetsController::slotButtonClicked); + m_radios.append(newdata); +} + +void FormWidgetsController::dropRadioButtons() +{ + QList::iterator it = m_radios.begin(), itEnd = m_radios.end(); + for (; it != itEnd; ++it) { + delete (*it).group; + } + m_radios.clear(); + m_buttons.clear(); +} + +bool FormWidgetsController::canUndo() +{ + return m_doc->canUndo(); +} + +bool FormWidgetsController::canRedo() +{ + return m_doc->canRedo(); +} + +bool FormWidgetsController::shouldFormWidgetBeShown(Okular::FormField *form) +{ + return !form->isReadOnly() || form->type() == Okular::FormField::FormSignature; +} + +void FormWidgetsController::slotButtonClicked(QAbstractButton *button) +{ + int pageNumber = -1; + CheckBoxEdit *check = qobject_cast(button); + if (check) { + // Checkboxes need to be uncheckable so if clicking a checked one + // disable the exclusive status temporarily and uncheck it + Okular::FormFieldButton *formButton = static_cast(check->formField()); + if (formButton->state()) { + const bool wasExclusive = button->group()->exclusive(); + button->group()->setExclusive(false); + check->setChecked(false); + button->group()->setExclusive(wasExclusive); + } + pageNumber = check->pageItem()->pageNumber(); + } else if (const RadioButtonEdit *radio = qobject_cast(button)) { + pageNumber = radio->pageItem()->pageNumber(); + } + + const QList buttons = button->group()->buttons(); + QList checked; + QList prevChecked; + QList formButtons; + + for (QAbstractButton *btn : buttons) { + checked.append(btn->isChecked()); + Okular::FormFieldButton *formButton = static_cast(dynamic_cast(btn)->formField()); + formButtons.append(formButton); + prevChecked.append(formButton->state()); + } + if (checked != prevChecked) { + Q_EMIT formButtonsChangedByWidget(pageNumber, formButtons, checked); + } + if (check) { + // The formButtonsChangedByWidget signal changes the value of the underlying + // Okular::FormField of the checkbox. We need to execute the activation + // action after this. + check->doActivateAction(); + } +} + +void FormWidgetsController::slotFormButtonsChangedByUndoRedo(int pageNumber, const QList &formButtons) +{ + QList extraPages; + for (const Okular::FormFieldButton *formButton : formButtons) { + int id = formButton->id(); + QAbstractButton *button = m_buttons[id]; + int itemPageNumber = -1; + if (const CheckBoxEdit *check = qobject_cast(button)) { + itemPageNumber = check->pageItem()->pageNumber(); + Q_EMIT refreshFormWidget(check->formField()); + } else if (const RadioButtonEdit *radio = qobject_cast(button)) { + itemPageNumber = radio->pageItem()->pageNumber(); + } + // temporarily disable exclusiveness of the button group + // since it breaks doing/redoing steps into which all the checkboxes + // are unchecked + const bool wasExclusive = button->group()->exclusive(); + button->group()->setExclusive(false); + bool checked = formButton->state(); + button->setChecked(checked); + button->group()->setExclusive(wasExclusive); + button->setFocus(); + if (itemPageNumber != -1 && itemPageNumber != pageNumber) { + extraPages << itemPageNumber; + } + } + Q_EMIT changed(pageNumber); + for (auto page : std::as_const(extraPages)) { + Q_EMIT changed(page); + } +} + +Okular::Document *FormWidgetsController::document() const +{ + return m_doc; +} + +FormWidgetIface *FormWidgetFactory::createWidget(Okular::FormField *ff, PageView *pageView) +{ + FormWidgetIface *widget = nullptr; + + switch (ff->type()) { + case Okular::FormField::FormButton: { + Okular::FormFieldButton *ffb = static_cast(ff); + switch (ffb->buttonType()) { + case Okular::FormFieldButton::Push: + widget = new PushButtonEdit(ffb, pageView); + break; + case Okular::FormFieldButton::CheckBox: + widget = new CheckBoxEdit(ffb, pageView); + break; + case Okular::FormFieldButton::Radio: + widget = new RadioButtonEdit(ffb, pageView); + break; + default:; + } + break; + } + case Okular::FormField::FormText: { + Okular::FormFieldText *fft = static_cast(ff); + switch (fft->textType()) { + case Okular::FormFieldText::Multiline: + widget = new TextAreaEdit(fft, pageView); + break; + case Okular::FormFieldText::Normal: + widget = new FormLineEdit(fft, pageView); + break; + case Okular::FormFieldText::FileSelect: + widget = new FileEdit(fft, pageView); + break; + } + break; + } + case Okular::FormField::FormChoice: { + Okular::FormFieldChoice *ffc = static_cast(ff); + switch (ffc->choiceType()) { + case Okular::FormFieldChoice::ListBox: + widget = new ListEdit(ffc, pageView); + break; + case Okular::FormFieldChoice::ComboBox: + widget = new ComboEdit(ffc, pageView); + break; + } + break; + } + case Okular::FormField::FormSignature: { + Okular::FormFieldSignature *ffs = static_cast(ff); + if (ffs->isVisible() && ffs->signatureType() != Okular::FormFieldSignature::UnknownType) { + widget = new SignatureEdit(ffs, pageView); + } + break; + } + default:; + } + + if (!FormWidgetsController::shouldFormWidgetBeShown(ff)) { + widget->setVisibility(false); + } + + return widget; +} + +FormWidgetIface::FormWidgetIface(QWidget *w, Okular::FormField *ff) + : m_controller(nullptr) + , m_ff(ff) + , m_widget(w) + , m_pageItem(nullptr) +{ + if (!m_ff->uiName().isEmpty()) { + m_widget->setToolTip(m_ff->uiName()); + } +} + +FormWidgetIface::~FormWidgetIface() +{ +} + +Okular::NormalizedRect FormWidgetIface::rect() const +{ + return m_ff->rect(); +} + +void FormWidgetIface::setWidthHeight(int w, int h) +{ + m_widget->resize(w, h); +} + +void FormWidgetIface::moveTo(int x, int y) +{ + m_widget->move(x, y); +} + +bool FormWidgetIface::setVisibility(bool visible) +{ + bool hadfocus = m_widget->hasFocus(); + if (hadfocus && !visible) { + m_widget->clearFocus(); + } + m_widget->setVisible(visible); + return hadfocus; +} + +void FormWidgetIface::setCanBeFilled(bool fill) +{ + m_widget->setEnabled(fill); +} + +void FormWidgetIface::setPageItem(PageViewItem *pageItem) +{ + m_pageItem = pageItem; +} + +void FormWidgetIface::setFormField(Okular::FormField *field) +{ + m_ff = field; +} + +Okular::FormField *FormWidgetIface::formField() const +{ + return m_ff; +} + +PageViewItem *FormWidgetIface::pageItem() const +{ + return m_pageItem; +} + +void FormWidgetIface::setFormWidgetsController(FormWidgetsController *controller) +{ + m_controller = controller; + QObject *obj = dynamic_cast(this); + QObject::connect(m_controller, &FormWidgetsController::refreshFormWidget, obj, [this](Okular::FormField *form) { slotRefresh(form); }); +} + +void FormWidgetIface::slotRefresh(Okular::FormField *form) +{ + if (m_ff != form) { + return; + } + setVisibility(form->isVisible() && m_controller->shouldFormWidgetBeShown(form)); + + m_widget->setEnabled(!form->isReadOnly()); +} + +PushButtonEdit::PushButtonEdit(Okular::FormFieldButton *button, PageView *pageView) + : QPushButton(pageView->viewport()) + , FormWidgetIface(this, button) +{ + setText(button->caption()); + + if (button->caption().isEmpty()) { + setFlat(true); + } + + setVisible(button->isVisible()); + setCursor(Qt::ArrowCursor); +} + +CheckBoxEdit::CheckBoxEdit(Okular::FormFieldButton *button, PageView *pageView) + : QCheckBox(pageView->viewport()) + , FormWidgetIface(this, button) +{ + setVisible(button->isVisible()); + setCursor(Qt::ArrowCursor); +} + +void CheckBoxEdit::setFormWidgetsController(FormWidgetsController *controller) +{ + Okular::FormFieldButton *form = static_cast(m_ff); + FormWidgetIface::setFormWidgetsController(controller); + m_controller->registerRadioButton(this, form); + setChecked(form->state()); +} + +void CheckBoxEdit::doActivateAction() +{ + Okular::FormFieldButton *form = static_cast(m_ff); + if (form->activationAction()) { + m_controller->signalAction(form->activationAction()); + } +} + +void CheckBoxEdit::slotRefresh(Okular::FormField *form) +{ + if (form != m_ff) { + return; + } + FormWidgetIface::slotRefresh(form); + + Okular::FormFieldButton *button = static_cast(m_ff); + bool oldState = isChecked(); + bool newState = button->state(); + if (oldState != newState) { + setChecked(button->state()); + doActivateAction(); + } +} + +void CheckBoxEdit::paintEvent(QPaintEvent *event) +{ + Q_UNUSED(event); + + QStylePainter p(this); + QStyleOptionButton opt; + initStyleOption(&opt); + + int indicatorSize = qMin(width(), height()); + QRect indicatorRect = style()->subElementRect(QStyle::SE_CheckBoxIndicator, &opt, this); + indicatorRect.setSize(QSize(indicatorSize, indicatorSize)); + indicatorRect.moveCenter(opt.rect.center()); + + opt.rect = indicatorRect; + + // TODO draw different shapes of check boxes depending upon their style. + p.drawPrimitive(QStyle::PE_IndicatorCheckBox, opt); +} + +bool CheckBoxEdit::hitButton(const QPoint &pos) const +{ + return QWidget::rect().contains(pos); +} + +RadioButtonEdit::RadioButtonEdit(Okular::FormFieldButton *button, PageView *pageView) + : QRadioButton(pageView->viewport()) + , FormWidgetIface(this, button) +{ + setVisible(button->isVisible()); + setCursor(Qt::ArrowCursor); +} + +void RadioButtonEdit::setFormWidgetsController(FormWidgetsController *controller) +{ + Okular::FormFieldButton *form = static_cast(m_ff); + FormWidgetIface::setFormWidgetsController(controller); + m_controller->registerRadioButton(this, form); + setChecked(form->state()); +} + +void RadioButtonEdit::slotRefresh(Okular::FormField *form) +{ + if (form != m_ff) { + return; + } + FormWidgetIface::slotRefresh(form); + + Okular::FormFieldButton *button = static_cast(m_ff); + bool oldState = isChecked(); + bool newState = button->state(); + if (oldState != newState) { + setChecked(button->state()); + if (form->activationAction()) { + m_controller->signalAction(form->activationAction()); + } + } +} + +void RadioButtonEdit::paintEvent(QPaintEvent *event) +{ + Q_UNUSED(event); + + QStylePainter p(this); + QStyleOptionButton opt; + initStyleOption(&opt); + + int indicatorSize = qMin(width(), height()); + QRect indicatorRect = style()->subElementRect(QStyle::SE_RadioButtonIndicator, &opt, this); + indicatorRect.setSize(QSize(indicatorSize, indicatorSize)); + indicatorRect.moveCenter(opt.rect.center()); + + opt.rect = indicatorRect; + + // TODO draw different shapes of radio buttons depending upon their style. + p.drawPrimitive(QStyle::PE_IndicatorRadioButton, opt); +} + +bool RadioButtonEdit::hitButton(const QPoint &pos) const +{ + return QWidget::rect().contains(pos); +} + +FormLineEdit::FormLineEdit(Okular::FormFieldText *text, PageView *pageView) + : QLineEdit(pageView->viewport()) + , FormWidgetIface(this, text) +{ + int maxlen = text->maximumLength(); + if (maxlen >= 0) { + setMaxLength(maxlen); + } + setAlignment(text->textAlignment()); + setText(text->text()); + if (text->isPassword()) { + setEchoMode(QLineEdit::Password); + } + + m_prevCursorPos = cursorPosition(); + m_prevAnchorPos = cursorPosition(); + m_editing = false; + + connect(this, &QLineEdit::textEdited, this, &FormLineEdit::slotChanged); + connect(this, &QLineEdit::cursorPositionChanged, this, &FormLineEdit::slotChanged); + + setVisible(text->isVisible()); +} + +void FormLineEdit::setFormWidgetsController(FormWidgetsController *controller) +{ + FormWidgetIface::setFormWidgetsController(controller); + connect(m_controller, &FormWidgetsController::formTextChangedByUndoRedo, this, &FormLineEdit::slotHandleTextChangedByUndoRedo); +} + +bool FormLineEdit::event(QEvent *e) +{ + if (e->type() == QEvent::KeyPress) { + QKeyEvent *keyEvent = static_cast(e); + if (keyEvent->key() == Qt::Key_Enter || keyEvent->key() == Qt::Key_Return) { + m_controller->document()->processKVCFActions(m_ff); + return true; + } + if (keyEvent == QKeySequence::Undo) { + Q_EMIT m_controller->requestUndo(); + return true; + } else if (keyEvent == QKeySequence::Redo) { + Q_EMIT m_controller->requestRedo(); + return true; + } + } else if (e->type() == QEvent::FocusIn) { + const auto fft = static_cast(m_ff); + if (text() != fft->text()) { + setText(fft->text()); + } + m_editing = true; + + QFocusEvent *focusEvent = static_cast(e); + if (focusEvent->reason() != Qt::ActiveWindowFocusReason) { + if (const Okular::Action *action = m_ff->additionalAction(Okular::Annotation::FocusIn)) { + m_controller->document()->processFocusAction(action, fft); + } + } + setFocus(); + } else if (e->type() == QEvent::FocusOut) { + m_editing = false; + + // Don't worry about focus events from other sources than the user FocusEvent to edit the field + QFocusEvent *focusEvent = static_cast(e); + if (focusEvent->reason() == Qt::OtherFocusReason || focusEvent->reason() == Qt::ActiveWindowFocusReason) { + return true; + } + + m_controller->document()->processKVCFActions(m_ff); + + if (const Okular::Action *action = m_ff->additionalAction(Okular::Annotation::FocusOut)) { + m_controller->document()->processFocusAction(action, static_cast(m_ff)); + } + } + return QLineEdit::event(e); +} + +void FormLineEdit::contextMenuEvent(QContextMenuEvent *event) +{ + QMenu *menu = createStandardContextMenu(); + + QList actionList = menu->actions(); + enum { UndoAct, RedoAct, CutAct, CopyAct, PasteAct, DeleteAct, SelectAllAct }; + + QAction *kundo = KStandardAction::create(KStandardAction::Undo, m_controller, SIGNAL(requestUndo()), menu); + QAction *kredo = KStandardAction::create(KStandardAction::Redo, m_controller, SIGNAL(requestRedo()), menu); + connect(m_controller, &FormWidgetsController::canUndoChanged, kundo, &QAction::setEnabled); + connect(m_controller, &FormWidgetsController::canRedoChanged, kredo, &QAction::setEnabled); + kundo->setEnabled(m_controller->canUndo()); + kredo->setEnabled(m_controller->canRedo()); + + QAction *oldUndo, *oldRedo; + oldUndo = actionList[UndoAct]; + oldRedo = actionList[RedoAct]; + + menu->insertAction(oldUndo, kundo); + menu->insertAction(oldRedo, kredo); + + menu->removeAction(oldUndo); + menu->removeAction(oldRedo); + + menu->exec(event->globalPos()); + delete menu; +} + +void FormLineEdit::slotChanged() +{ + Okular::FormFieldText *form = static_cast(m_ff); + QString newWidgetValueBeforeKeystroke = text(); + QString oldContents = form->text(); + int cursorPos; + + if (newWidgetValueBeforeKeystroke != oldContents) { + if (form->additionalAction(Okular::FormField::FieldModified) && m_editing && !form->isReadOnly()) { + m_controller->document()->processKeystrokeAction(form->additionalAction(Okular::FormField::FieldModified), form, text(), m_prevCursorPos, m_prevAnchorPos); + } + // calculate cursor position after keystroke action since it is possible that the change was not accepted and widget was refreshed. + cursorPos = cursorPosition(); + if (newWidgetValueBeforeKeystroke == text()) { + // if widget was not refreshed then emit this signal. + Q_EMIT m_controller->formTextChangedByWidget(pageItem()->pageNumber(), form, text(), cursorPos, m_prevCursorPos, m_prevAnchorPos, oldContents); + } + } else { + // we still evaluate the cursor position if no change occurs in widget contents. + cursorPos = cursorPosition(); + } + + m_prevCursorPos = cursorPos; + m_prevAnchorPos = cursorPos; + if (hasSelectedText()) { + if (cursorPos == selectionStart()) { + m_prevAnchorPos = selectionStart() + selectedText().size(); + } else { + m_prevAnchorPos = selectionStart(); + } + } +} + +void FormLineEdit::slotHandleTextChangedByUndoRedo(int pageNumber, Okular::FormFieldText *textForm, const QString &contents, int cursorPos, int anchorPos) +{ + Q_UNUSED(pageNumber); + if (textForm != m_ff || contents == text()) { + return; + } + disconnect(this, &QLineEdit::cursorPositionChanged, this, &FormLineEdit::slotChanged); + setText(contents); + setCursorPosition(anchorPos); + cursorForward(true, cursorPos - anchorPos); + connect(this, &QLineEdit::cursorPositionChanged, this, &FormLineEdit::slotChanged); + m_prevCursorPos = cursorPos; + m_prevAnchorPos = anchorPos; + + // If the contents of the box have already lost focus, we need to run all the keystroke, validation, formatting scripts again. + if (!hasFocus()) { // if lineEdit already had focus, undoing/redoing will still retain the focus and these scripts would execute when focus is lost or enter key is pressed. + m_controller->document()->processKVCFActions(textForm); + } +} + +void FormLineEdit::slotRefresh(Okular::FormField *form) +{ + if (form != m_ff) { + return; + } + FormWidgetIface::slotRefresh(form); + + Okular::FormFieldText *text = static_cast(form); + setText(text->text()); +} + +TextAreaEdit::TextAreaEdit(Okular::FormFieldText *text, PageView *pageView) + : KTextEdit(pageView->viewport()) + , FormWidgetIface(this, text) +{ + setAcceptRichText(text->isRichText()); + setCheckSpellingEnabled(text->canBeSpellChecked()); + setAlignment(text->textAlignment()); + setPlainText(text->text()); + setUndoRedoEnabled(false); + + connect(this, &QTextEdit::textChanged, this, &TextAreaEdit::slotChanged); + connect(this, &QTextEdit::cursorPositionChanged, this, &TextAreaEdit::slotChanged); + connect(this, &KTextEdit::aboutToShowContextMenu, this, &TextAreaEdit::slotUpdateUndoAndRedoInContextMenu); + m_prevCursorPos = textCursor().position(); + m_prevAnchorPos = textCursor().anchor(); + m_editing = false; + setVisible(text->isVisible()); +} + +TextAreaEdit::~TextAreaEdit() +{ + // We need this because otherwise on destruction we destruct the syntax highlighter + // that ends up calling text changed but then we go to slotChanged and we're already + // half destructed and all is bad + disconnect(this, &QTextEdit::textChanged, this, &TextAreaEdit::slotChanged); +} + +bool TextAreaEdit::event(QEvent *e) +{ + if (e->type() == QEvent::KeyPress) { + QKeyEvent *keyEvent = static_cast(e); /* cppcheck-suppress constVariablePointer ; Qt doesn't have const equality operator*/ + if (keyEvent == QKeySequence::Undo) { + Q_EMIT m_controller->requestUndo(); + return true; + } else if (keyEvent == QKeySequence::Redo) { + Q_EMIT m_controller->requestRedo(); + return true; + } + } else if (e->type() == QEvent::FocusIn) { + const auto fft = static_cast(m_ff); + if (toPlainText() != fft->text()) { + setText(fft->text()); + } + m_editing = true; + + QFocusEvent *focusEvent = static_cast(e); + if (focusEvent->reason() != Qt::ActiveWindowFocusReason) { + if (const Okular::Action *action = m_ff->additionalAction(Okular::Annotation::FocusIn)) { + m_controller->document()->processFocusAction(action, fft); + } + } + setFocus(); + } else if (e->type() == QEvent::FocusOut) { + m_editing = false; + + QFocusEvent *focusEvent = static_cast(e); + if (focusEvent->reason() == Qt::OtherFocusReason || focusEvent->reason() == Qt::ActiveWindowFocusReason) { + return true; + } + + m_controller->document()->processKVCFActions(m_ff); + + if (const Okular::Action *action = m_ff->additionalAction(Okular::Annotation::FocusOut)) { + m_controller->document()->processFocusAction(action, static_cast(m_ff)); + } + } + return KTextEdit::event(e); +} + +void TextAreaEdit::slotUpdateUndoAndRedoInContextMenu(QMenu *menu) +{ + if (!menu) { + return; + } + + QList actionList = menu->actions(); + enum { UndoAct, RedoAct, CutAct, CopyAct, PasteAct, ClearAct, SelectAllAct, NCountActs }; + + QAction *kundo = KStandardAction::create(KStandardAction::Undo, m_controller, SIGNAL(requestUndo()), menu); + QAction *kredo = KStandardAction::create(KStandardAction::Redo, m_controller, SIGNAL(requestRedo()), menu); + connect(m_controller, &FormWidgetsController::canUndoChanged, kundo, &QAction::setEnabled); + connect(m_controller, &FormWidgetsController::canRedoChanged, kredo, &QAction::setEnabled); + kundo->setEnabled(m_controller->canUndo()); + kredo->setEnabled(m_controller->canRedo()); + + QAction *oldUndo, *oldRedo; + oldUndo = actionList[UndoAct]; + oldRedo = actionList[RedoAct]; + + menu->insertAction(oldUndo, kundo); + menu->insertAction(oldRedo, kredo); + + menu->removeAction(oldUndo); + menu->removeAction(oldRedo); +} + +void TextAreaEdit::setFormWidgetsController(FormWidgetsController *controller) +{ + FormWidgetIface::setFormWidgetsController(controller); + connect(m_controller, &FormWidgetsController::formTextChangedByUndoRedo, this, &TextAreaEdit::slotHandleTextChangedByUndoRedo); +} + +void TextAreaEdit::slotHandleTextChangedByUndoRedo(int pageNumber, Okular::FormFieldText *textForm, const QString &contents, int cursorPos, int anchorPos) +{ + Q_UNUSED(pageNumber); + if (textForm != m_ff) { + return; + } + setPlainText(contents); + QTextCursor c = textCursor(); + c.setPosition(anchorPos); + c.setPosition(cursorPos, QTextCursor::KeepAnchor); + m_prevCursorPos = cursorPos; + m_prevAnchorPos = anchorPos; + setTextCursor(c); + + // If the contents of the box have already lost focus, we need to run all the keystroke, validation, formatting scripts again. + if (!hasFocus()) { // if lineEdit already had focus, undoing/redoing will still retain the focus and these scripts would execute when focus is lost or enter key is pressed. + m_controller->document()->processKVCFActions(textForm); + } +} + +void TextAreaEdit::slotChanged() +{ + Okular::FormFieldText *form = static_cast(m_ff); + QString newWidgetValueBeforeKeystroke = toPlainText(); + QString oldContents = form->text(); + int cursorPos; + + if (newWidgetValueBeforeKeystroke != oldContents) { + if (form->additionalAction(Okular::FormField::FieldModified) && m_editing && !form->isReadOnly()) { + m_controller->document()->processKeystrokeAction(form->additionalAction(Okular::FormField::FieldModified), form, toPlainText(), m_prevCursorPos, m_prevAnchorPos); + } + // calculate cursor position after keystroke action since it is possible that the change was not accepted and widget was refreshed. + cursorPos = textCursor().position(); + if (newWidgetValueBeforeKeystroke == toPlainText()) { + // if widget was not refreshed then emit this signal. + Q_EMIT m_controller->formTextChangedByWidget(pageItem()->pageNumber(), form, toPlainText(), cursorPos, m_prevCursorPos, m_prevAnchorPos, oldContents); + } + } else { + // we still evaluate the cursor position if no change occurs in widget contents. + cursorPos = textCursor().position(); + } + m_prevCursorPos = cursorPos; + m_prevAnchorPos = textCursor().anchor(); +} + +void TextAreaEdit::slotRefresh(Okular::FormField *form) +{ + if (form != m_ff) { + return; + } + FormWidgetIface::slotRefresh(form); + + Okular::FormFieldText *text = static_cast(form); + setPlainText(text->text()); +} + +FileEdit::FileEdit(Okular::FormFieldText *text, PageView *pageView) + : KUrlRequester(pageView->viewport()) + , FormWidgetIface(this, text) +{ + setMode(KFile::File | KFile::ExistingOnly | KFile::LocalOnly); + setNameFilter(i18n("All Files (*)")); + setUrl(QUrl::fromUserInput(text->text())); + lineEdit()->setAlignment(text->textAlignment()); + + m_prevCursorPos = lineEdit()->cursorPosition(); + m_prevAnchorPos = lineEdit()->cursorPosition(); + + connect(this, &KUrlRequester::textChanged, this, &FileEdit::slotChanged); + connect(lineEdit(), &QLineEdit::cursorPositionChanged, this, &FileEdit::slotChanged); + setVisible(text->isVisible()); +} + +void FileEdit::setFormWidgetsController(FormWidgetsController *controller) +{ + FormWidgetIface::setFormWidgetsController(controller); + connect(m_controller, &FormWidgetsController::formTextChangedByUndoRedo, this, &FileEdit::slotHandleFileChangedByUndoRedo); +} + +bool FileEdit::eventFilter(QObject *obj, QEvent *event) +{ + if (obj == lineEdit()) { + if (event->type() == QEvent::KeyPress) { + QKeyEvent *keyEvent = static_cast(event); /* cppcheck-suppress constVariablePointer */ + if (keyEvent == QKeySequence::Undo) { + Q_EMIT m_controller->requestUndo(); + return true; + } else if (keyEvent == QKeySequence::Redo) { + Q_EMIT m_controller->requestRedo(); + return true; + } + } else if (event->type() == QEvent::ContextMenu) { + QContextMenuEvent *contextMenuEvent = static_cast(event); + + QMenu *menu = static_cast(lineEdit())->createStandardContextMenu(); // we actually want the base class here and not the additions from KLineEdit + + QList actionList = menu->actions(); + enum { UndoAct, RedoAct, CutAct, CopyAct, PasteAct, DeleteAct, SelectAllAct }; + + QAction *kundo = KStandardAction::create(KStandardAction::Undo, m_controller, SIGNAL(requestUndo()), menu); + QAction *kredo = KStandardAction::create(KStandardAction::Redo, m_controller, SIGNAL(requestRedo()), menu); + connect(m_controller, &FormWidgetsController::canUndoChanged, kundo, &QAction::setEnabled); + connect(m_controller, &FormWidgetsController::canRedoChanged, kredo, &QAction::setEnabled); + kundo->setEnabled(m_controller->canUndo()); + kredo->setEnabled(m_controller->canRedo()); + + QAction *oldUndo, *oldRedo; + oldUndo = actionList[UndoAct]; + oldRedo = actionList[RedoAct]; + + menu->insertAction(oldUndo, kundo); + menu->insertAction(oldRedo, kredo); + + menu->removeAction(oldUndo); + menu->removeAction(oldRedo); + + menu->exec(contextMenuEvent->globalPos()); + delete menu; + return true; + } + } + return KUrlRequester::eventFilter(obj, event); +} + +void FileEdit::slotChanged() +{ + // Make sure line edit's text matches url expansion + if (text() != url().toLocalFile()) { + this->setText(url().toLocalFile()); + } + + Okular::FormFieldText *form = static_cast(m_ff); + + QString contents = text(); + QString oldContents = form->text(); + int cursorPos = lineEdit()->cursorPosition(); + if (contents != oldContents) { + Q_EMIT m_controller->formTextChangedByWidget(pageItem()->pageNumber(), form, contents, cursorPos, m_prevCursorPos, m_prevAnchorPos, oldContents); + } + + m_prevCursorPos = cursorPos; + m_prevAnchorPos = cursorPos; + if (lineEdit()->hasSelectedText()) { + if (cursorPos == lineEdit()->selectionStart()) { + m_prevAnchorPos = lineEdit()->selectionStart() + lineEdit()->selectedText().size(); + } else { + m_prevAnchorPos = lineEdit()->selectionStart(); + } + } +} + +void FileEdit::slotHandleFileChangedByUndoRedo(int pageNumber, Okular::FormFieldText *form, const QString &contents, int cursorPos, int anchorPos) +{ + Q_UNUSED(pageNumber); + if (form != m_ff || contents == text()) { + return; + } + disconnect(lineEdit(), &QLineEdit::cursorPositionChanged, this, &FileEdit::slotChanged); + setText(contents); + lineEdit()->setCursorPosition(anchorPos); + lineEdit()->cursorForward(true, cursorPos - anchorPos); + connect(lineEdit(), &QLineEdit::cursorPositionChanged, this, &FileEdit::slotChanged); + m_prevCursorPos = cursorPos; + m_prevAnchorPos = anchorPos; + setFocus(); +} + +ListEdit::ListEdit(Okular::FormFieldChoice *choice, PageView *pageView) + : QListWidget(pageView->viewport()) + , FormWidgetIface(this, choice) +{ + addItems(choice->choices()); + setSelectionMode(choice->multiSelect() ? QAbstractItemView::ExtendedSelection : QAbstractItemView::SingleSelection); + setVerticalScrollMode(QAbstractItemView::ScrollPerPixel); + const QList selectedItems = choice->currentChoices(); + if (choice->multiSelect()) { + for (const int index : selectedItems) { + if (index >= 0 && index < count()) { + item(index)->setSelected(true); + } + } + } else { + if (selectedItems.count() == 1 && selectedItems.at(0) >= 0 && selectedItems.at(0) < count()) { + setCurrentRow(selectedItems.at(0)); + scrollToItem(item(selectedItems.at(0))); + } + } + + connect(this, &QListWidget::itemSelectionChanged, this, &ListEdit::slotSelectionChanged); + + setVisible(choice->isVisible()); + setCursor(Qt::ArrowCursor); +} + +void ListEdit::setFormWidgetsController(FormWidgetsController *controller) +{ + FormWidgetIface::setFormWidgetsController(controller); + connect(m_controller, &FormWidgetsController::formListChangedByUndoRedo, this, &ListEdit::slotHandleFormListChangedByUndoRedo); +} + +void ListEdit::slotSelectionChanged() +{ + const QList selection = selectedItems(); + QList rows; + for (const QListWidgetItem *item : selection) { + rows.append(row(item)); + } + Okular::FormFieldChoice *form = static_cast(m_ff); + if (rows != form->currentChoices()) { + Q_EMIT m_controller->formListChangedByWidget(pageItem()->pageNumber(), form, rows); + } +} + +void ListEdit::slotHandleFormListChangedByUndoRedo(int pageNumber, Okular::FormFieldChoice *listForm, const QList &choices) +{ + Q_UNUSED(pageNumber); + + if (m_ff != listForm) { + return; + } + + disconnect(this, &QListWidget::itemSelectionChanged, this, &ListEdit::slotSelectionChanged); + for (int i = 0; i < count(); i++) { + item(i)->setSelected(choices.contains(i)); + } + connect(this, &QListWidget::itemSelectionChanged, this, &ListEdit::slotSelectionChanged); + + setFocus(); +} + +void ListEdit::slotRefresh(Okular::FormField *form) +{ + if (m_ff != form) { + return; + } + FormWidgetIface::slotRefresh(form); + + Okular::FormFieldChoice *ffc = static_cast(m_ff); + const QList selectedItems = ffc->currentChoices(); + disconnect(this, &QListWidget::itemSelectionChanged, this, &ListEdit::slotSelectionChanged); + if (ffc->multiSelect()) { + clearSelection(); + for (const int index : selectedItems) { + if (index >= 0 && index < count()) { + item(index)->setSelected(true); + } + } + } else { + if (selectedItems.count() == 1 && selectedItems.at(0) >= 0 && selectedItems.at(0) < count()) { + setCurrentRow(selectedItems.at(0)); + scrollToItem(item(selectedItems.at(0))); + } + } + connect(this, &QListWidget::itemSelectionChanged, this, &ListEdit::slotSelectionChanged); +} + +ComboEdit::ComboEdit(Okular::FormFieldChoice *choice, PageView *pageView) + : QComboBox(pageView->viewport()) + , FormWidgetIface(this, choice) +{ + addItems(choice->choices()); + setEditable(true); + setInsertPolicy(NoInsert); + lineEdit()->setReadOnly(!choice->isEditable()); + QList selectedItems = choice->currentChoices(); + if (selectedItems.count() == 1 && selectedItems.at(0) >= 0 && selectedItems.at(0) < count()) { + setCurrentIndex(selectedItems.at(0)); + } + + if (choice->isEditable() && !choice->editChoice().isEmpty()) { + lineEdit()->setText(choice->editChoice()); + } + + connect(this, QOverload::of(&QComboBox::currentIndexChanged), this, &ComboEdit::slotValueChanged); + connect(this, &QComboBox::editTextChanged, this, &ComboEdit::slotValueChanged); + connect(lineEdit(), &QLineEdit::cursorPositionChanged, this, &ComboEdit::slotValueChanged); + + m_editing = false; + setVisible(choice->isVisible()); + setCursor(Qt::ArrowCursor); + m_prevCursorPos = lineEdit()->cursorPosition(); + m_prevAnchorPos = lineEdit()->cursorPosition(); +} + +void ComboEdit::setFormWidgetsController(FormWidgetsController *controller) +{ + FormWidgetIface::setFormWidgetsController(controller); + connect(m_controller, &FormWidgetsController::formComboChangedByUndoRedo, this, &ComboEdit::slotHandleFormComboChangedByUndoRedo); +} + +void ComboEdit::slotValueChanged() +{ + const QString text = lineEdit()->text(); + + Okular::FormFieldChoice *form = static_cast(m_ff); + + QString prevText; + if (form->currentChoices().isEmpty()) { + prevText = form->editChoice(); + } else { + prevText = form->choices().at(form->currentChoices().constFirst()); + } + + int cursorPos; + if (text != prevText) { + if (form->additionalAction(Okular::FormField::FieldModified) && m_editing && !form->isReadOnly()) { + m_controller->document()->processKeystrokeAction(form->additionalAction(Okular::FormField::FieldModified), form, lineEdit()->text(), m_prevCursorPos, m_prevAnchorPos); + } + cursorPos = lineEdit()->cursorPosition(); + if (text == lineEdit()->text()) { + Q_EMIT m_controller->formComboChangedByWidget(pageItem()->pageNumber(), form, currentText(), cursorPos, m_prevCursorPos, m_prevAnchorPos); + } + } else { + cursorPos = lineEdit()->cursorPosition(); + } + + m_prevCursorPos = cursorPos; + m_prevAnchorPos = cursorPos; + if (lineEdit()->hasSelectedText()) { + if (cursorPos == lineEdit()->selectionStart()) { + m_prevAnchorPos = lineEdit()->selectionStart() + lineEdit()->selectedText().size(); + } else { + m_prevAnchorPos = lineEdit()->selectionStart(); + } + } +} + +void ComboEdit::slotHandleFormComboChangedByUndoRedo(int pageNumber, Okular::FormFieldChoice *form, const QString &text, int cursorPos, int anchorPos) +{ + Q_UNUSED(pageNumber); + + if (m_ff != form) { + return; + } + + // Determine if text corrisponds to an index choices + int index = -1; + for (int i = 0; i < count(); i++) { + if (itemText(i) == text) { + index = i; + } + } + + m_prevCursorPos = cursorPos; + m_prevAnchorPos = anchorPos; + + disconnect(lineEdit(), &QLineEdit::cursorPositionChanged, this, &ComboEdit::slotValueChanged); + const bool isCustomValue = index == -1; + if (isCustomValue) { + setEditText(text); + } else { + setCurrentIndex(index); + } + lineEdit()->setCursorPosition(anchorPos); + lineEdit()->cursorForward(true, cursorPos - anchorPos); + connect(lineEdit(), &QLineEdit::cursorPositionChanged, this, &ComboEdit::slotValueChanged); + setFocus(); +} + +void ComboEdit::contextMenuEvent(QContextMenuEvent *event) +{ + QMenu *menu = lineEdit()->createStandardContextMenu(); + + QList actionList = menu->actions(); + enum { UndoAct, RedoAct, CutAct, CopyAct, PasteAct, DeleteAct, SelectAllAct }; + + QAction *kundo = KStandardAction::create(KStandardAction::Undo, m_controller, SIGNAL(requestUndo()), menu); + QAction *kredo = KStandardAction::create(KStandardAction::Redo, m_controller, SIGNAL(requestRedo()), menu); + connect(m_controller, &FormWidgetsController::canUndoChanged, kundo, &QAction::setEnabled); + connect(m_controller, &FormWidgetsController::canRedoChanged, kredo, &QAction::setEnabled); + kundo->setEnabled(m_controller->canUndo()); + kredo->setEnabled(m_controller->canRedo()); + + QAction *oldUndo, *oldRedo; + oldUndo = actionList[UndoAct]; + oldRedo = actionList[RedoAct]; + + menu->insertAction(oldUndo, kundo); + menu->insertAction(oldRedo, kredo); + + menu->removeAction(oldUndo); + menu->removeAction(oldRedo); + + menu->exec(event->globalPos()); + delete menu; +} + +bool ComboEdit::event(QEvent *e) +{ + if (e->type() == QEvent::KeyPress) { + QKeyEvent *keyEvent = static_cast(e); + if (keyEvent->key() == Qt::Key_Enter || keyEvent->key() == Qt::Key_Return) { + m_controller->document()->processKVCFActions(m_ff); + return true; + } + if (keyEvent == QKeySequence::Undo) { + Q_EMIT m_controller->requestUndo(); + return true; + } else if (keyEvent == QKeySequence::Redo) { + Q_EMIT m_controller->requestRedo(); + return true; + } + } else if (e->type() == QEvent::FocusIn) { + const auto ffc = static_cast(m_ff); + + QString prevText; + if (ffc->currentChoices().isEmpty()) { + prevText = ffc->editChoice(); + } else { + prevText = ffc->choices().at(ffc->currentChoices().constFirst()); + } + if (lineEdit()->text() != prevText) { + lineEdit()->setText(prevText); + } + QFocusEvent *focusEvent = static_cast(e); + if (focusEvent->reason() != Qt::ActiveWindowFocusReason) { + if (const Okular::Action *action = m_ff->additionalAction(Okular::Annotation::FocusIn)) { + m_controller->document()->processFocusAction(action, m_ff); + } + } + setFocus(); + m_editing = true; + } else if (e->type() == QEvent::FocusOut) { + m_editing = false; + + // Don't worry about focus events from other sources than the user FocusEvent to edit the field + QFocusEvent *focusEvent = static_cast(e); + if (focusEvent->reason() == Qt::OtherFocusReason || focusEvent->reason() == Qt::ActiveWindowFocusReason) { + return true; + } + + m_controller->document()->processKVCFActions(m_ff); + + if (const Okular::Action *action = m_ff->additionalAction(Okular::Annotation::FocusOut)) { + m_controller->document()->processFocusAction(action, m_ff); + } + } + return QComboBox::event(e); +} + +void ComboEdit::slotRefresh(Okular::FormField *form) +{ + if (form != m_ff) { + return; + } + FormWidgetIface::slotRefresh(form); + + disconnect(this, QOverload::of(&QComboBox::currentIndexChanged), this, &ComboEdit::slotValueChanged); + disconnect(this, &QComboBox::editTextChanged, this, &ComboEdit::slotValueChanged); + Okular::FormFieldChoice *ffc = static_cast(m_ff); + const QList selectedItems = ffc->currentChoices(); + if (selectedItems.count() == 1 && selectedItems.at(0) >= 0 && selectedItems.at(0) < count()) { + setCurrentIndex(selectedItems.at(0)); + } + + if (ffc->isEditable() && !ffc->editChoice().isEmpty()) { + lineEdit()->setText(ffc->editChoice()); + } + connect(this, QOverload::of(&QComboBox::currentIndexChanged), this, &ComboEdit::slotValueChanged); + connect(this, &QComboBox::editTextChanged, this, &ComboEdit::slotValueChanged); +} + +SignatureEdit::SignatureEdit(Okular::FormFieldSignature *signature, PageView *pageView) + : QAbstractButton(pageView->viewport()) + , FormWidgetIface(this, signature) + , m_widgetPressed(false) + , m_dummyMode(false) + , m_wasVisible(false) +{ + setCursor(Qt::PointingHandCursor); + if (signature->signatureType() == Okular::FormFieldSignature::UnsignedSignature) { + setToolTip(i18nc("Digital signature", "Signature placeholder (Click to Sign)")); + connect(this, &SignatureEdit::clicked, this, &SignatureEdit::signUnsignedSignature); + } else { + connect(this, &SignatureEdit::clicked, this, &SignatureEdit::slotViewProperties); + } +} + +void SignatureEdit::setDummyMode(bool set) +{ + m_dummyMode = set; + if (m_dummyMode) { + m_wasVisible = isVisible(); + // if widget was hidden then show it. + // even if it wasn't hidden calling this will still update the background. + setVisibility(true); + } else { + // forms were not visible before this call so hide this widget. + if (!m_wasVisible) { + setVisibility(false); + } else { + // forms were visible even before this call so only update the background color. + update(); + } + } +} + +bool SignatureEdit::event(QEvent *e) +{ + if (m_dummyMode && e->type() != QEvent::Paint) { + e->accept(); + return true; + } + + switch (e->type()) { + case QEvent::MouseButtonPress: { + QMouseEvent *ev = static_cast(e); + if (ev->button() == Qt::LeftButton) { + m_widgetPressed = true; + update(); + } + break; + } + case QEvent::MouseButtonRelease: { + QMouseEvent *ev = static_cast(e); + if (ev->button() == Qt::LeftButton) { + m_widgetPressed = false; + update(); + } + break; + } + case QEvent::Leave: { + m_widgetPressed = false; + update(); + } + default: + break; + } + + return QAbstractButton::event(e); +} + +void SignatureEdit::contextMenuEvent(QContextMenuEvent *event) +{ + QMenu *menu = new QMenu(this); + Okular::FormFieldSignature *formSignature = static_cast(formField()); + if (formSignature->signatureType() == Okular::FormFieldSignature::UnsignedSignature) { + QAction *signAction = new QAction(i18n("&Sign…"), menu); + connect(signAction, &QAction::triggered, this, &SignatureEdit::signUnsignedSignature); + menu->addAction(signAction); + } else { + QAction *signatureProperties = new QAction(i18n("Signature Properties"), menu); + connect(signatureProperties, &QAction::triggered, this, &SignatureEdit::slotViewProperties); + menu->addAction(signatureProperties); + } + menu->exec(event->globalPos()); + delete menu; +} + +void SignatureEdit::paintEvent(QPaintEvent *) +{ + QPainter painter(this); + // no borders when user hasn't allowed the forms to be shown + if (m_dummyMode && !m_wasVisible) { + painter.setPen(Qt::transparent); + } else { + painter.setPen(Qt::black); + } + + if (m_widgetPressed || m_dummyMode) { + QColor col = palette().color(QPalette::Active, QPalette::Highlight); + col.setAlpha(50); + painter.setBrush(col); + } else { + painter.setBrush(Qt::transparent); + } + painter.drawRect(0, 0, width() - 2, height() - 2); +} + +void SignatureEdit::slotViewProperties() +{ + if (m_dummyMode) { + return; + } + + Okular::FormFieldSignature *formSignature = static_cast(formField()); + SignaturePropertiesDialog propDlg(m_controller->m_doc, formSignature, this); + propDlg.exec(); +} + +void SignatureEdit::signUnsignedSignature() +{ + if (m_dummyMode) { + return; + } + + const Okular::FormFieldSignature *formSignature = static_cast(formField()); + PageView *pageView = static_cast(parent()->parent()); + SignaturePartUtils::signUnsignedSignature(formSignature, pageView, pageView->document()); +} + +// Code for additional action handling. +// Challenge: Change preprocessor magic to C++ magic! +// +// The mouseRelease event is special because the PDF spec +// says that the activation action takes precedence over this. +// So the mouse release action is only signaled if no activation +// action exists. +// +// For checkboxes the activation action is not triggered as +// they are still triggered from the clicked signal and additionally +// when the checked state changes. + +#define DEFINE_ADDITIONAL_ACTIONS(FormClass, BaseClass) \ + void FormClass::mousePressEvent(QMouseEvent *event) \ + { \ + Okular::Action *act = m_ff->additionalAction(Okular::Annotation::MousePressed); \ + if (act) { \ + m_controller->signalMouseAction(act, m_ff, Okular::Document::FieldMouseDown); \ + } \ + BaseClass::mousePressEvent(event); \ + } \ + void FormClass::mouseReleaseEvent(QMouseEvent *event) \ + { \ + if (!QWidget::rect().contains(event->position().toPoint())) { \ + BaseClass::mouseReleaseEvent(event); \ + return; \ + } \ + Okular::Action *act = m_ff->activationAction(); \ + if (act && !qobject_cast(this)) { \ + m_controller->signalMouseAction(act, m_ff, Okular::Document::FieldMouseUp); \ + } else if ((act = m_ff->additionalAction(Okular::Annotation::MouseReleased))) { \ + m_controller->signalMouseAction(act, m_ff, Okular::Document::FieldMouseUp); \ + } \ + BaseClass::mouseReleaseEvent(event); \ + } \ + void FormClass::focusInEvent(QFocusEvent *event) \ + { \ + Okular::Action *act = m_ff->additionalAction(Okular::Annotation::FocusIn); \ + if (act && event->reason() != Qt::ActiveWindowFocusReason) { \ + m_controller->processScriptAction(act, m_ff, Okular::Annotation::FocusIn); \ + } \ + BaseClass::focusInEvent(event); \ + } \ + void FormClass::focusOutEvent(QFocusEvent *event) \ + { \ + Okular::Action *act = m_ff->additionalAction(Okular::Annotation::FocusOut); \ + if (act) { \ + m_controller->processScriptAction(act, m_ff, Okular::Annotation::FocusOut); \ + } \ + BaseClass::focusOutEvent(event); \ + } \ + void FormClass::leaveEvent(QEvent *event) \ + { \ + Okular::Action *act = m_ff->additionalAction(Okular::Annotation::CursorLeaving); \ + if (act) { \ + m_controller->signalMouseAction(act, m_ff, Okular::Document::FieldMouseExit); \ + } \ + BaseClass::leaveEvent(event); \ + } \ + void FormClass::enterEvent(QEnterEvent *event) \ + { \ + Okular::Action *act = m_ff->additionalAction(Okular::Annotation::CursorEntering); \ + if (act) { \ + m_controller->signalMouseAction(act, m_ff, Okular::Document::FieldMouseEnter); \ + } \ + BaseClass::enterEvent(event); \ + } + +DEFINE_ADDITIONAL_ACTIONS(PushButtonEdit, QPushButton) +DEFINE_ADDITIONAL_ACTIONS(CheckBoxEdit, QCheckBox) +DEFINE_ADDITIONAL_ACTIONS(RadioButtonEdit, QRadioButton) +DEFINE_ADDITIONAL_ACTIONS(FormLineEdit, QLineEdit) +DEFINE_ADDITIONAL_ACTIONS(TextAreaEdit, KTextEdit) +DEFINE_ADDITIONAL_ACTIONS(FileEdit, KUrlRequester) +DEFINE_ADDITIONAL_ACTIONS(ListEdit, QListWidget) +DEFINE_ADDITIONAL_ACTIONS(ComboEdit, QComboBox) +DEFINE_ADDITIONAL_ACTIONS(SignatureEdit, QAbstractButton) + +#undef DEFINE_ADDITIONAL_ACTIONS diff --git a/part/formwidgets.h b/part/formwidgets.h new file mode 100644 index 0000000..a0dd788 --- /dev/null +++ b/part/formwidgets.h @@ -0,0 +1,359 @@ +/* + SPDX-FileCopyrightText: 2007 Pino Toscano + + Work sponsored by the LiMux project of the city of Munich: + SPDX-FileCopyrightText: 2017 Klarälvdalens Datakonsult AB a KDAB Group company + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_FORMWIDGETS_H_ +#define _OKULAR_FORMWIDGETS_H_ + +#include "core/area.h" +#include "core/form.h" + +#include +#include +#include +#include +#include +#include +#include +#include + +class ComboEdit; +class QMenu; +class QButtonGroup; +class FormWidgetIface; +class PageView; +class PageViewItem; +class RadioButtonEdit; +class QEvent; + +namespace Okular +{ +class Action; +class FormField; +class FormFieldButton; +class FormFieldChoice; +class FormFieldText; +class FormFieldSignature; +class Document; +} + +struct RadioData { + RadioData() + { + } + + QList ids; + QButtonGroup *group = nullptr; +}; + +class FormWidgetsController : public QObject +{ + Q_OBJECT + +public: + explicit FormWidgetsController(Okular::Document *doc); + ~FormWidgetsController() override; + + void signalAction(Okular::Action *action); + void signalMouseAction(Okular::Action *action, Okular::FormField *form, Okular::Document::MouseEventType fieldMouseEventType); + + void processScriptAction(Okular::Action *a, Okular::FormField *field, Okular::Annotation::AdditionalActionType type); + + void registerRadioButton(FormWidgetIface *fwButton, Okular::FormFieldButton *formButton); + void dropRadioButtons(); + bool canUndo(); + bool canRedo(); + + Okular::Document *document() const; + + static bool shouldFormWidgetBeShown(Okular::FormField *form); + +Q_SIGNALS: + void changed(int pageNumber); + void requestUndo(); + void requestRedo(); + void canUndoChanged(bool undoAvailable); + void canRedoChanged(bool redoAvailable); + void formTextChangedByWidget(int pageNumber, Okular::FormFieldText *form, const QString &newContents, int newCursorPos, int prevCursorPos, int prevAnchorPos, const QString &oldContents); + + void formTextChangedByUndoRedo(int pageNumber, Okular::FormFieldText *form, const QString &contents, int cursorPos, int anchorPos); + + void formListChangedByWidget(int pageNumber, Okular::FormFieldChoice *form, const QList &newChoices); + + void formListChangedByUndoRedo(int pageNumber, Okular::FormFieldChoice *form, const QList &choices); + + void formComboChangedByWidget(int pageNumber, Okular::FormFieldChoice *form, const QString &newText, int newCursorPos, int prevCursorPos, int prevAnchorPos); + + void formComboChangedByUndoRedo(int pageNumber, Okular::FormFieldChoice *form, const QString &text, int cursorPos, int anchorPos); + + void formButtonsChangedByWidget(int pageNumber, const QList &formButtons, const QList &newButtonStates); + + void action(Okular::Action *action); + + void mouseAction(Okular::Action *action, Okular::FormField *form, Okular::Document::MouseEventType fieldMouseEventType); + + void refreshFormWidget(Okular::FormField *form); + +private Q_SLOTS: + void slotButtonClicked(QAbstractButton *button); + void slotFormButtonsChangedByUndoRedo(int pageNumber, const QList &formButtons); + +private: + friend class TextAreaEdit; + friend class FormLineEdit; + friend class FileEdit; + friend class ListEdit; + friend class ComboEdit; + friend class SignatureEdit; + + QList m_radios; + QHash m_buttons; + Okular::Document *m_doc; +}; + +class FormWidgetFactory +{ +public: + static FormWidgetIface *createWidget(Okular::FormField *ff, PageView *pageView); +}; + +class FormWidgetIface +{ +public: + FormWidgetIface(QWidget *w, Okular::FormField *ff); + virtual ~FormWidgetIface(); + + FormWidgetIface(const FormWidgetIface &) = delete; + FormWidgetIface &operator=(const FormWidgetIface &) = delete; + + Okular::NormalizedRect rect() const; + void setWidthHeight(int w, int h); + void moveTo(int x, int y); + bool setVisibility(bool visible); + void setCanBeFilled(bool fill); + + void setPageItem(PageViewItem *pageItem); + PageViewItem *pageItem() const; + void setFormField(Okular::FormField *field); + Okular::FormField *formField() const; + + virtual void setFormWidgetsController(FormWidgetsController *controller); + +protected: + virtual void slotRefresh(Okular::FormField *form); + + FormWidgetsController *m_controller; + Okular::FormField *m_ff; + +private: + QWidget *m_widget; + PageViewItem *m_pageItem; +}; + +#define DECLARE_ADDITIONAL_ACTIONS \ +protected: \ + virtual void mousePressEvent(QMouseEvent *event) override; \ + virtual void mouseReleaseEvent(QMouseEvent *event) override; \ + virtual void focusInEvent(QFocusEvent *event) override; \ + virtual void focusOutEvent(QFocusEvent *event) override; \ + virtual void leaveEvent(QEvent *event) override; \ + virtual void enterEvent(QEnterEvent *event) override; + +class PushButtonEdit : public QPushButton, public FormWidgetIface +{ + Q_OBJECT + +public: + explicit PushButtonEdit(Okular::FormFieldButton *button, PageView *pageView); + + DECLARE_ADDITIONAL_ACTIONS +}; + +class CheckBoxEdit : public QCheckBox, public FormWidgetIface +{ + Q_OBJECT + +public: + explicit CheckBoxEdit(Okular::FormFieldButton *button, PageView *pageView); + + // reimplemented from FormWidgetIface + void setFormWidgetsController(FormWidgetsController *controller) override; + + void doActivateAction(); + +protected: + void slotRefresh(Okular::FormField *form) override; + void paintEvent(QPaintEvent *event) override; + bool hitButton(const QPoint &pos) const override; + DECLARE_ADDITIONAL_ACTIONS +}; + +class RadioButtonEdit : public QRadioButton, public FormWidgetIface +{ + Q_OBJECT + +public: + explicit RadioButtonEdit(Okular::FormFieldButton *button, PageView *pageView); + + // reimplemented from FormWidgetIface + void setFormWidgetsController(FormWidgetsController *controller) override; + +protected: + void slotRefresh(Okular::FormField *form) override; + void paintEvent(QPaintEvent *event) override; + bool hitButton(const QPoint &pos) const override; + DECLARE_ADDITIONAL_ACTIONS +}; + +class FormLineEdit : public QLineEdit, public FormWidgetIface +{ + Q_OBJECT + +public: + explicit FormLineEdit(Okular::FormFieldText *text, PageView *pageView); + void setFormWidgetsController(FormWidgetsController *controller) override; + bool event(QEvent *e) override; + void contextMenuEvent(QContextMenuEvent *event) override; + +public Q_SLOTS: + void slotHandleTextChangedByUndoRedo(int pageNumber, Okular::FormFieldText *textForm, const QString &contents, int cursorPos, int anchorPos); +private Q_SLOTS: + void slotChanged(); + +protected: + void slotRefresh(Okular::FormField *form) override; + +private: + int m_prevCursorPos; + int m_prevAnchorPos; + bool m_editing; + DECLARE_ADDITIONAL_ACTIONS +}; + +class TextAreaEdit : public KTextEdit, public FormWidgetIface +{ + Q_OBJECT + +public: + explicit TextAreaEdit(Okular::FormFieldText *text, PageView *pageView); + ~TextAreaEdit() override; + void setFormWidgetsController(FormWidgetsController *controller) override; + bool event(QEvent *e) override; + +public Q_SLOTS: + void slotHandleTextChangedByUndoRedo(int pageNumber, Okular::FormFieldText *textForm, const QString &contents, int cursorPos, int anchorPos); + void slotUpdateUndoAndRedoInContextMenu(QMenu *menu); + +private Q_SLOTS: + void slotChanged(); + +protected: + void slotRefresh(Okular::FormField *form) override; + +private: + int m_prevCursorPos; + int m_prevAnchorPos; + bool m_editing; + DECLARE_ADDITIONAL_ACTIONS +}; + +class FileEdit : public KUrlRequester, public FormWidgetIface +{ + Q_OBJECT + +public: + explicit FileEdit(Okular::FormFieldText *text, PageView *pageView); + void setFormWidgetsController(FormWidgetsController *controller) override; + +protected: + bool eventFilter(QObject *obj, QEvent *event) override; + +private Q_SLOTS: + void slotChanged(); + void slotHandleFileChangedByUndoRedo(int pageNumber, Okular::FormFieldText *form, const QString &contents, int cursorPos, int anchorPos); + +private: + int m_prevCursorPos; + int m_prevAnchorPos; + DECLARE_ADDITIONAL_ACTIONS +}; + +class ListEdit : public QListWidget, public FormWidgetIface +{ + Q_OBJECT + +public: + explicit ListEdit(Okular::FormFieldChoice *choice, PageView *pageView); + void setFormWidgetsController(FormWidgetsController *controller) override; + +private Q_SLOTS: + void slotSelectionChanged(); + void slotHandleFormListChangedByUndoRedo(int pageNumber, Okular::FormFieldChoice *listForm, const QList &choices); + +protected: + void slotRefresh(Okular::FormField *form) override; + DECLARE_ADDITIONAL_ACTIONS +}; + +class ComboEdit : public QComboBox, public FormWidgetIface +{ + Q_OBJECT + +public: + explicit ComboEdit(Okular::FormFieldChoice *choice, PageView *pageView); + void setFormWidgetsController(FormWidgetsController *controller) override; + bool event(QEvent *e) override; + void contextMenuEvent(QContextMenuEvent *event) override; + +private Q_SLOTS: + void slotValueChanged(); + void slotHandleFormComboChangedByUndoRedo(int pageNumber, Okular::FormFieldChoice *comboForm, const QString &text, int cursorPos, int anchorPos); + +private: + int m_prevCursorPos; + int m_prevAnchorPos; + bool m_editing; + DECLARE_ADDITIONAL_ACTIONS + +protected: + void slotRefresh(Okular::FormField *form) override; +}; + +class SignatureEdit : public QAbstractButton, public FormWidgetIface +{ + Q_OBJECT + +public: + explicit SignatureEdit(Okular::FormFieldSignature *signature, PageView *pageView); + + // This will be called when an item in signature panel is clicked. Calling it changes the + // widget state. If this widget was visible prior to calling this then background + // color will change and borders will remain otherwise visibility of this widget will change. + // During the change all interactions will be disabled. + void setDummyMode(bool set); + +protected: + bool event(QEvent *e) override; + void contextMenuEvent(QContextMenuEvent *event) override; + void paintEvent(QPaintEvent *event) override; + +private Q_SLOTS: + void slotViewProperties(); + void signUnsignedSignature(); + +private: + bool m_widgetPressed; + bool m_dummyMode; + bool m_wasVisible; // this will help in deciding whether or not to paint border for this widget + + DECLARE_ADDITIONAL_ACTIONS +}; + +#undef DECLARE_ADDITIONAL_ACTIONS + +#endif diff --git a/part/kleopatraintegration.cpp b/part/kleopatraintegration.cpp new file mode 100644 index 0000000..2d523fb --- /dev/null +++ b/part/kleopatraintegration.cpp @@ -0,0 +1,63 @@ +/* + SPDX-FileCopyrightText: 2025 g10 Code GmbH + SPDX-FileContributor: Sune Stolborg Vuorela + + SPDX-License-Identifier: GPL-2.0-or-later +*/ +#include "kleopatraintegration.h" +#include "core/document_p.h" +#include +#include +#include +#include + +class Okular::KleopatraIntegrationPrivate +{ +public: + QString m_kleopatraPath; + bool m_gpgActive; + explicit KleopatraIntegrationPrivate(Okular::DocumentPrivate *docp) + { + m_gpgActive = (docp->m_generator->activeCertificateBackend() == Okular::CertificateInfo::Backend::Gpg); + +#ifdef Q_OS_WIN + m_kleopatraPath = QStandardPaths::findExecutable(QStringLiteral("kleopatra.exe"), {QCoreApplication::applicationDirPath()}); + if (m_kleopatraPath.isEmpty()) { + m_kleopatraPath = QStandardPaths::findExecutable(QStringLiteral("kleopatra.exe")); + } +#else + m_kleopatraPath = QStandardPaths::findExecutable(QStringLiteral("kleopatra")); +#endif + } +}; + +Okular::KleopatraIntegration::KleopatraIntegration(Okular::Document *doc) + : d(std::make_unique(doc->d)) +{ +} + +void Okular::KleopatraIntegration::executeKeySearch(const QString &keyId, QWindow *parent) const +{ + QStringList args; + if (parent) { + args << QStringLiteral("--parent-windowid") << QString::number(static_cast(parent->winId())); + } + args << QStringLiteral("--query") << keyId; + QProcess::startDetached(d->m_kleopatraPath, args); +} + +void Okular::KleopatraIntegration::launchKleopatra(QWindow *parent) const +{ + QStringList args; + if (parent) { + args << QStringLiteral("--parent-windowid") << QString::number(static_cast(parent->winId())); + } + QProcess::startDetached(d->m_kleopatraPath, args); +} + +Okular::KleopatraIntegration::~KleopatraIntegration() = default; + +bool Okular::KleopatraIntegration::kleopatraIntegrationActive() const +{ + return d->m_gpgActive && !d->m_kleopatraPath.isEmpty(); +} diff --git a/part/kleopatraintegration.h b/part/kleopatraintegration.h new file mode 100644 index 0000000..c66b3a2 --- /dev/null +++ b/part/kleopatraintegration.h @@ -0,0 +1,36 @@ +/* + SPDX-FileCopyrightText: 2025 g10 Code GmbH + SPDX-FileContributor: Sune Stolborg Vuorela + + SPDX-License-Identifier: GPL-2.0-or-later +*/ +#ifndef KLEOPATRAINTEGRATION_H +#define KLEOPATRAINTEGRATION_H + +#include "okularcore_export.h" +#include +class QWindow; + +namespace Okular +{ +class Document; +class KleopatraIntegrationPrivate; +class KleopatraIntegration +{ +public: + explicit KleopatraIntegration(Document *doc); + ~KleopatraIntegration(); + + /*Disable copy/move because author is lazy. Could easily be implemented if needed*/ + Q_DISABLE_COPY_MOVE(KleopatraIntegration) + + bool kleopatraIntegrationActive() const; + void executeKeySearch(const QString &keyId, QWindow *parent) const; + void launchKleopatra(QWindow *parent) const; + +private: + const std::unique_ptr d; +}; +} + +#endif // KLEOPATRAINTEGRATION_H diff --git a/part/ktreeviewsearchline.cpp b/part/ktreeviewsearchline.cpp new file mode 100644 index 0000000..b4aec89 --- /dev/null +++ b/part/ktreeviewsearchline.cpp @@ -0,0 +1,348 @@ +/* + SPDX-FileCopyrightText: 2003 Scott Wheeler + SPDX-FileCopyrightText: 2005 Rafal Rzepecki + SPDX-FileCopyrightText: 2006 Hamish Rodda + SPDX-FileCopyrightText: 2007 Pino Toscano + + SPDX-License-Identifier: LGPL-2.0-only +*/ + +#include "ktreeviewsearchline.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +class KTreeViewSearchLine::Private +{ +public: + explicit Private(KTreeViewSearchLine *_parent) + : parent(_parent) + , treeView(nullptr) + , caseSensitive(Qt::CaseInsensitive) + , regularExpression(false) + , activeSearch(false) + , queuedSearches(0) + { + } + + KTreeViewSearchLine *parent; + QTreeView *treeView; + Qt::CaseSensitivity caseSensitive; + bool regularExpression; + bool activeSearch; + QString search; + int queuedSearches; + + void rowsInserted(const QModelIndex &parent, int start, int end) const; + void treeViewDeleted(QObject *object); + void slotCaseSensitive(); + void slotRegularExpression(); + + void checkItemParentsNotVisible(QTreeView *treeView); + bool filterItems(QTreeView *treeView, const QModelIndex &index); +}; + +//////////////////////////////////////////////////////////////////////////////// +// private slots +//////////////////////////////////////////////////////////////////////////////// + +void KTreeViewSearchLine::Private::rowsInserted(const QModelIndex &parentIndex, int start, int end) const +{ + const QAbstractItemModel *model = qobject_cast(parent->sender()); + if (!model) { + return; + } + + QTreeView *widget = nullptr; + if (treeView->model() == model) { + widget = treeView; + } + + if (!widget) { + return; + } + + for (int i = start; i <= end; ++i) { + widget->setRowHidden(i, parentIndex, !parent->itemMatches(parentIndex, i, parent->text())); + } +} + +void KTreeViewSearchLine::Private::treeViewDeleted(QObject *object) +{ + if (object == treeView) { + treeView = nullptr; + parent->setEnabled(false); + } +} + +void KTreeViewSearchLine::Private::slotCaseSensitive() +{ + if (caseSensitive == Qt::CaseSensitive) { + parent->setCaseSensitivity(Qt::CaseInsensitive); + } else { + parent->setCaseSensitivity(Qt::CaseSensitive); + } + + parent->updateSearch(); +} + +void KTreeViewSearchLine::Private::slotRegularExpression() +{ + if (regularExpression) { + parent->setRegularExpression(false); + } else { + parent->setRegularExpression(true); + } + + parent->updateSearch(); +} + +//////////////////////////////////////////////////////////////////////////////// +// private methods +//////////////////////////////////////////////////////////////////////////////// + +/** Check whether \p item, its siblings and their descendants should be shown. Show or hide the items as necessary. + * + * \p item The list view item to start showing / hiding items at. Typically, this is the first child of another item, or the + * the first child of the list view. + * \return \c true if an item which should be visible is found, \c false if all items found should be hidden. If this function + * returns true and \p highestHiddenParent was not 0, highestHiddenParent will have been shown. + */ +bool KTreeViewSearchLine::Private::filterItems(QTreeView *treeView, const QModelIndex &index) +{ + bool childMatch = false; + const int rowcount = treeView->model()->rowCount(index); + for (int i = 0; i < rowcount; ++i) { + childMatch |= filterItems(treeView, treeView->model()->index(i, 0, index)); + } + + // Should this item be shown? It should if any children should be, or if it matches. + const QModelIndex parentindex = index.parent(); + if (childMatch || parent->itemMatches(parentindex, index.row(), search)) { + treeView->setRowHidden(index.row(), parentindex, false); + return true; + } + + treeView->setRowHidden(index.row(), parentindex, true); + + return false; +} + +//////////////////////////////////////////////////////////////////////////////// +// public methods +//////////////////////////////////////////////////////////////////////////////// + +KTreeViewSearchLine::KTreeViewSearchLine(QWidget *parent, QTreeView *treeView) + : KLineEdit(parent) + , d(new Private(this)) +{ + connect(this, &KTreeViewSearchLine::textChanged, this, &KTreeViewSearchLine::queueSearch); + + setClearButtonEnabled(true); + setTreeView(treeView); + + if (!treeView) { + setEnabled(false); + } +} + +KTreeViewSearchLine::~KTreeViewSearchLine() +{ + delete d; +} + +Qt::CaseSensitivity KTreeViewSearchLine::caseSensitivity() const +{ + return d->caseSensitive; +} + +bool KTreeViewSearchLine::regularExpression() const +{ + return d->regularExpression; +} + +QTreeView *KTreeViewSearchLine::treeView() const +{ + return d->treeView; +} + +//////////////////////////////////////////////////////////////////////////////// +// public slots +//////////////////////////////////////////////////////////////////////////////// + +void KTreeViewSearchLine::updateSearch(const QString &pattern) +{ + d->search = pattern.isNull() ? text() : pattern; + + updateSearch(d->treeView); +} + +void KTreeViewSearchLine::updateSearch(QTreeView *treeView) +{ + if (!treeView || !treeView->model()->rowCount()) { + return; + } + + // If there's a selected item that is visible, make sure that it's visible + // when the search changes too (assuming that it still matches). + + QModelIndex currentIndex = treeView->currentIndex(); + + bool wasUpdateEnabled = treeView->updatesEnabled(); + treeView->setUpdatesEnabled(false); + d->filterItems(treeView, treeView->rootIndex()); + treeView->setUpdatesEnabled(wasUpdateEnabled); + + if (currentIndex.isValid()) { + treeView->scrollTo(currentIndex); + } +} + +void KTreeViewSearchLine::setCaseSensitivity(Qt::CaseSensitivity caseSensitivity) +{ + if (d->caseSensitive != caseSensitivity) { + d->caseSensitive = caseSensitivity; + updateSearch(); + Q_EMIT searchOptionsChanged(); + } +} + +void KTreeViewSearchLine::setRegularExpression(bool value) +{ + if (d->regularExpression != value) { + d->regularExpression = value; + updateSearch(); + Q_EMIT searchOptionsChanged(); + } +} + +void KTreeViewSearchLine::setTreeView(QTreeView *treeView) +{ + disconnectTreeView(d->treeView); + d->treeView = treeView; + connectTreeView(treeView); + + setEnabled(treeView != nullptr); +} + +//////////////////////////////////////////////////////////////////////////////// +// protected members +//////////////////////////////////////////////////////////////////////////////// + +bool KTreeViewSearchLine::itemMatches(const QModelIndex &parentIndex, int row, const QString &pattern) const +{ + if (pattern.isEmpty()) { + return true; + } + + if (!parentIndex.isValid() && parentIndex != d->treeView->rootIndex()) { + return false; + } + + // Construct a regular expression object with the right options. + QRegularExpression re; + if (d->regularExpression) { + re.setPattern(pattern); + re.setPatternOptions(d->caseSensitive ? QRegularExpression::NoPatternOption : QRegularExpression::CaseInsensitiveOption); + } + + // If the search column list is populated, search just the columns + // specified. If it is empty default to searching all of the columns. + QAbstractItemModel *model = d->treeView->model(); + const int columncount = model->columnCount(parentIndex); + for (int i = 0; i < columncount; ++i) { + const QString str = model->data(model->index(row, i, parentIndex), Qt::DisplayRole).toString(); + if (d->regularExpression) { + return str.contains(re); + } else { + return str.contains(pattern, d->caseSensitive ? Qt::CaseSensitive : Qt::CaseInsensitive); + } + } + + return false; +} + +void KTreeViewSearchLine::contextMenuEvent(QContextMenuEvent *event) +{ + QMenu *popup = KLineEdit::createStandardContextMenu(); + + popup->addSeparator(); + QMenu *optionsSubMenu = popup->addMenu(i18n("Search Options")); + QAction *caseSensitiveAction = optionsSubMenu->addAction(i18nc("Enable case sensitive search in the side navigation panels", "Case Sensitive"), this, [this] { d->slotCaseSensitive(); }); + caseSensitiveAction->setCheckable(true); + caseSensitiveAction->setChecked(d->caseSensitive); + QAction *regularExpressionAction = optionsSubMenu->addAction(i18nc("Enable regular expression search in the side navigation panels", "Regular Expression"), this, [this] { d->slotRegularExpression(); }); + regularExpressionAction->setCheckable(true); + regularExpressionAction->setChecked(d->regularExpression); + + popup->exec(event->globalPos()); + delete popup; +} + +void KTreeViewSearchLine::connectTreeView(QTreeView *treeView) +{ + if (treeView) { + connect(treeView, &QTreeView::destroyed, this, &KTreeViewSearchLine::treeViewDeleted); + + connect(treeView->model(), &QAbstractItemModel::rowsInserted, this, &KTreeViewSearchLine::rowsInserted); + } +} + +void KTreeViewSearchLine::disconnectTreeView(QTreeView *treeView) +{ + if (treeView) { + disconnect(treeView, &QTreeView::destroyed, this, &KTreeViewSearchLine::treeViewDeleted); + + disconnect(treeView->model(), &QAbstractItemModel::rowsInserted, this, &KTreeViewSearchLine::rowsInserted); + } +} + +//////////////////////////////////////////////////////////////////////////////// +// protected slots +//////////////////////////////////////////////////////////////////////////////// + +void KTreeViewSearchLine::queueSearch(const QString &search) +{ + d->queuedSearches++; + d->search = search; + + QTimer::singleShot(200, this, &KTreeViewSearchLine::activateSearch); +} + +void KTreeViewSearchLine::activateSearch() +{ + --(d->queuedSearches); + + if (d->queuedSearches == 0) { + updateSearch(d->search); + } +} + +//////////////////////////////////////////////////////////////////////////////// +// private functions +//////////////////////////////////////////////////////////////////////////////// + +void KTreeViewSearchLine::rowsInserted(const QModelIndex &parent, int start, int end) const +{ + d->rowsInserted(parent, start, end); +} + +void KTreeViewSearchLine::treeViewDeleted(QObject *treeView) +{ + d->treeViewDeleted(treeView); +} + +#include "moc_ktreeviewsearchline.cpp" diff --git a/part/ktreeviewsearchline.h b/part/ktreeviewsearchline.h new file mode 100644 index 0000000..0bf6f18 --- /dev/null +++ b/part/ktreeviewsearchline.h @@ -0,0 +1,169 @@ +/* + SPDX-FileCopyrightText: 2003 Scott Wheeler + SPDX-FileCopyrightText: 2005 Rafal Rzepecki + SPDX-FileCopyrightText: 2006 Hamish Rodda + SPDX-FileCopyrightText: 2007 Pino Toscano + + SPDX-License-Identifier: LGPL-2.0-only +*/ + +#ifndef KTREEVIEWSEARCHLINE_H +#define KTREEVIEWSEARCHLINE_H + +#include + +class QModelIndex; +class QTreeView; + +/** + * This class makes it easy to add a search line for filtering the items in + * listviews based on a simple text search. + * + * No changes to the application other than instantiating this class with + * appropriate QTreeViews should be needed. + */ + +class KTreeViewSearchLine : public KLineEdit +{ + Q_OBJECT + + Q_PROPERTY(Qt::CaseSensitivity caseSensitity READ caseSensitivity WRITE setCaseSensitivity NOTIFY searchOptionsChanged) + +public: + /** + * Constructs a KTreeViewSearchLine with \a treeView being the QTreeView to + * be filtered. + * + * If \a treeView is null then the widget will be disabled until listview + * are set with setTreeView(). + */ + explicit KTreeViewSearchLine(QWidget *parent = nullptr, QTreeView *treeView = nullptr); + + /** + * Destroys the KTreeViewSearchLine. + */ + ~KTreeViewSearchLine() override; + + /** + * Returns true if the search is case sensitive. This defaults to false. + * + * @see setCaseSensitive() + */ + Qt::CaseSensitivity caseSensitivity() const; + + /** + * Returns true if the search is a regular expression search. This defaults to false. + * + * @see setRegularExpression() + */ + bool regularExpression() const; + + /** + * Returns the listview that is currently filtered by the search. + * + * @see setTreeView() + */ + QTreeView *treeView() const; + +public Q_SLOTS: + /** + * Updates search to only make visible the items that match \a pattern. If + * \a s is null then the line edit's text will be used. + */ + virtual void updateSearch(const QString &pattern = QString()); + + /** + * Make the search case sensitive or case insensitive. + * + * @see caseSenstivity() + */ + void setCaseSensitivity(Qt::CaseSensitivity caseSensitivity); + + /** + * Make the search a regular expression search or not. + * + * @see regularExpression() + */ + void setRegularExpression(bool value); + + /** + * Sets the QTreeView that is filtered by this search line, replacing any + * previously filtered listviews. If \a treeView is null then the widget will be + * disabled. + * + * @see treeView() + */ + void setTreeView(QTreeView *treeView); + +Q_SIGNALS: + /** + * This signal is emitted when search options have been changed. It is emitted so + * that users of this class can choose to save the search options to the settings. + */ + void searchOptionsChanged(); + +protected: + /** + * Returns true if \a parentIndex matches the search \a pattern. This will be evaluated + * based on the value of caseSensitive(). This can be overridden in + * subclasses to implement more complicated matching schemes. + */ + virtual bool itemMatches(const QModelIndex &parentIndex, int row, const QString &pattern) const; + + /** + * Re-implemented for internal reasons. API not affected. + */ + void contextMenuEvent(QContextMenuEvent *) override; + + /** + * Updates search to only make visible appropriate items in \a treeView. If + * \a treeView is null then nothing is done. + */ + virtual void updateSearch(QTreeView *treeView); + + /** + * Connects signals of this listview to the appropriate slots of the search + * line. + */ + void connectTreeView(QTreeView *); + + /** + * Disconnects signals of a listviews from the search line. + */ + void disconnectTreeView(QTreeView *); + +protected Q_SLOTS: + /** + * When keys are pressed a new search string is created and a timer is + * activated. The most recent search is activated when this timer runs out + * if another key has not yet been pressed. + * + * This method makes @param search the most recent search and starts the + * timer. + * + * Together with activateSearch() this makes it such that searches are not + * started until there is a short break in the users typing. + * + * @see activateSearch() + */ + void queueSearch(const QString &search); + + /** + * When the timer started with queueSearch() expires this slot is called. + * If there has been another timer started then this slot does nothing. + * However if there are no other pending searches this starts the list view + * search. + * + * @see queueSearch() + */ + void activateSearch(); + +private: + class Private; + Private *const d; + + void rowsInserted(const QModelIndex &, int, int) const; + void treeViewDeleted(QObject *); +}; + +#endif diff --git a/part/latexrenderer.cpp b/part/latexrenderer.cpp new file mode 100644 index 0000000..1ce2fe9 --- /dev/null +++ b/part/latexrenderer.cpp @@ -0,0 +1,205 @@ +/* + SPDX-FileCopyrightText: 2004 Duncan Mac-Vicar Prett + SPDX-FileCopyrightText: 2004-2005 Olivier Goffart + SPDX-FileCopyrightText: 2011 Niels Ole Salscheider + + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "latexrenderer.h" + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "gui/debug_ui.h" + +namespace GuiUtils +{ +LatexRenderer::LatexRenderer() +{ +} + +LatexRenderer::~LatexRenderer() +{ + for (const QString &file : std::as_const(m_fileList)) { + QFile::remove(file); + } +} + +LatexRenderer::Error LatexRenderer::renderLatexInHtml(QString &html, const QColor &textColor, int fontSize, int resolution, QString &latexOutput) +{ + if (!html.contains(QStringLiteral("$$"))) { + return NoError; + } + + // this searches for $$formula$$ + static const QRegularExpression rg(QStringLiteral("\\$\\$.+?\\$\\$")); + QRegularExpressionMatchIterator matchIt = rg.globalMatch(html); + + QMap replaceMap; + while (matchIt.hasNext()) { + QRegularExpressionMatch match = matchIt.next(); + const QString matchedString = match.captured(0); + + QString formul = matchedString; + // first remove the $$ delimiters on start and end + formul.remove(QStringLiteral("$$")); + // then trim the result, so we can skip totally empty/whitespace-only formulas + formul = formul.trimmed(); + if (formul.isEmpty() || !securityCheck(formul)) { + continue; + } + + // unescape formula + formul.replace(QLatin1String(">"), QLatin1String(">")); + formul.replace(QLatin1String("<"), QLatin1String("<")); + formul.replace(QLatin1String("&"), QLatin1String("&")); + formul.replace(QLatin1String("""), QLatin1String("\"")); + formul.replace(QLatin1String("'"), QLatin1String("\'")); + formul.replace(QLatin1String("
"), QLatin1String(" ")); + + QString fileName; + Error returnCode = handleLatex(fileName, formul, textColor, fontSize, resolution, latexOutput); + if (returnCode != NoError) { + return returnCode; + } + + replaceMap[matchedString] = fileName; + } + + if (replaceMap.isEmpty()) { // we haven't found any LaTeX strings + return NoError; + } + + int imagePxWidth, imagePxHeight; + for (QMap::ConstIterator it = replaceMap.constBegin(); it != replaceMap.constEnd(); ++it) { + QImage theImage(*it); + if (theImage.isNull()) { + continue; + } + imagePxWidth = theImage.width(); + imagePxHeight = theImage.height(); + QString escapedLATEX = it.key().toHtmlEscaped().replace(QLatin1Char('"'), QLatin1String(""")); // we need the escape quotes because that string will be in a title="" argument, but not the \n + html.replace(it.key(), + QStringLiteral(" \"") ")); + } + return NoError; +} + +bool LatexRenderer::mightContainLatex(const QString &text) +{ + if (!text.contains(QStringLiteral("$$"))) { + return false; + } + + // this searches for $$formula$$ + static const QRegularExpression rg(QStringLiteral("\\$\\$.+?\\$\\$")); + if (!rg.match(text).hasMatch()) { + return false; + } + + return true; +} + +LatexRenderer::Error LatexRenderer::handleLatex(QString &fileName, const QString &latexFormula, const QColor &textColor, int fontSize, int resolution, QString &latexOutput) +{ + KProcess latexProc; + KProcess dvipngProc; + + QTemporaryFile *tempFile = new QTemporaryFile(QDir::tempPath() + QLatin1String("/okular_kdelatex-XXXXXX.tex")); + if (!tempFile->open()) { + delete tempFile; + return LatexNotFound; + } + QString tempFileName = tempFile->fileName(); + QFileInfo *tempFileInfo = new QFileInfo(tempFileName); + QString tempFileNameNS = tempFileInfo->absolutePath() + QLatin1Char('/') + tempFileInfo->baseName(); + QString tempFilePath = tempFileInfo->absolutePath(); + delete tempFileInfo; + QTextStream tempStream(tempFile); + + tempStream << "\ +\\documentclass[" + << fontSize << "pt]{article} \ +\\usepackage{color} \ +\\usepackage{amsmath,latexsym,amsfonts,amssymb,ulem} \ +\\pagestyle{empty} \ +\\begin{document} \ +{\\color[rgb]{" << textColor.redF() + << "," << textColor.greenF() << "," << textColor.blueF() << "} \ +\\begin{eqnarray*} \ +" << latexFormula + << " \ +\\end{eqnarray*}} \ +\\end{document}"; + + tempFile->close(); + QString latexExecutable = QStandardPaths::findExecutable(QStringLiteral("latex")); + if (latexExecutable.isEmpty()) { + qCDebug(OkularUiDebug) << "Could not find latex!"; + delete tempFile; + fileName = QString(); + return LatexNotFound; + } + latexProc << latexExecutable << QStringLiteral("-interaction=nonstopmode") << QStringLiteral("-halt-on-error") << QStringLiteral("-output-directory=%1").arg(tempFilePath) << tempFile->fileName(); + latexProc.setOutputChannelMode(KProcess::MergedChannels); + latexProc.execute(); + latexOutput = QString::fromLocal8Bit(latexProc.readAll()); + tempFile->remove(); + + QFile::remove(tempFileNameNS + QStringLiteral(".log")); + QFile::remove(tempFileNameNS + QStringLiteral(".aux")); + delete tempFile; + + if (!QFile::exists(tempFileNameNS + QStringLiteral(".dvi"))) { + fileName = QString(); + return LatexFailed; + } + + QString dvipngExecutable = QStandardPaths::findExecutable(QStringLiteral("dvipng")); + if (dvipngExecutable.isEmpty()) { + qCDebug(OkularUiDebug) << "Could not find dvipng!"; + fileName = QString(); + return DvipngNotFound; + } + + dvipngProc << dvipngExecutable << QStringLiteral("-o%1").arg(tempFileNameNS + QStringLiteral(".png")) << QStringLiteral("-Ttight") << QStringLiteral("-bgTransparent") << QStringLiteral("-D %1").arg(resolution) + << QStringLiteral("%1").arg(tempFileNameNS + QStringLiteral(".dvi")); + dvipngProc.setOutputChannelMode(KProcess::MergedChannels); + dvipngProc.execute(); + + QFile::remove(tempFileNameNS + QStringLiteral(".dvi")); + + if (!QFile::exists(tempFileNameNS + QStringLiteral(".png"))) { + fileName = QString(); + return DvipngFailed; + } + + fileName = tempFileNameNS + QStringLiteral(".png"); + m_fileList << fileName; + return NoError; +} + +bool LatexRenderer::securityCheck(const QString &latexFormula) +{ + static const auto formulaRegex = + QRegularExpression(QString::fromLatin1("\\\\(def|let|futurelet|newcommand|renewcommand|else|fi|write|input|include" + "|chardef|catcode|makeatletter|noexpand|toksdef|every|errhelp|errorstopmode|scrollmode|nonstopmode|batchmode" + "|read|csname|newhelp|relax|afterground|afterassignment|expandafter|noexpand|special|command|loop|repeat|toks" + "|output|line|mathcode|name|item|section|mbox|DeclareRobustCommand)[^a-zA-Z]")); + return !latexFormula.contains(formulaRegex); +} + +} diff --git a/part/latexrenderer.h b/part/latexrenderer.h new file mode 100644 index 0000000..07b1286 --- /dev/null +++ b/part/latexrenderer.h @@ -0,0 +1,43 @@ +/* + SPDX-FileCopyrightText: 2004 Duncan Mac-Vicar Prett + SPDX-FileCopyrightText: 2004-2005 Olivier Goffart + SPDX-FileCopyrightText: 2011 Niels Ole Salscheider + + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef LATEXRENDERER_H +#define LATEXRENDERER_H + +#include + +class QString; +class QColor; + +namespace GuiUtils +{ +class LatexRenderer +{ +public: + enum Error { NoError, LatexNotFound, DvipngNotFound, LatexFailed, DvipngFailed }; + + LatexRenderer(); + ~LatexRenderer(); + + LatexRenderer(const LatexRenderer &) = delete; + LatexRenderer &operator=(const LatexRenderer &) = delete; + + Error renderLatexInHtml(QString &html, const QColor &textColor, int fontSize, int resolution, QString &latexOutput); + static bool mightContainLatex(const QString &text); + +private: + Error handleLatex(QString &fileName, const QString &latexFormula, const QColor &textColor, int fontSize, int resolution, QString &latexOutput); + static bool securityCheck(const QString &latexFormula); + + QStringList m_fileList; +}; + +} + +#endif // LATEXRENDERER_H diff --git a/part/layers.cpp b/part/layers.cpp new file mode 100644 index 0000000..24a0524 --- /dev/null +++ b/part/layers.cpp @@ -0,0 +1,83 @@ +/* + SPDX-FileCopyrightText: 2015 Saheb Preet Singh + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "layers.h" +#include "settings.h" + +// qt/kde includes +#include +#include +#include +#include +#include + +#include + +// local includes +#include "core/document.h" +#include "ktreeviewsearchline.h" +#include "pageview.h" + +Layers::Layers(QWidget *parent, Okular::Document *document) + : QWidget(parent) + , m_document(document) +{ + QVBoxLayout *const mainlay = new QVBoxLayout(this); + mainlay->setSpacing(6); + + m_document->addObserver(this); + + KTitleWidget *titleWidget = new KTitleWidget(this); + titleWidget->setLevel(4); + titleWidget->setText(i18n("Layers")); + mainlay->addWidget(titleWidget); + mainlay->setAlignment(titleWidget, Qt::AlignHCenter); + m_searchLine = new KTreeViewSearchLine(this); + mainlay->addWidget(m_searchLine); + m_searchLine->setCaseSensitivity(Okular::Settings::self()->layersSearchCaseSensitive() ? Qt::CaseSensitive : Qt::CaseInsensitive); + m_searchLine->setRegularExpression(Okular::Settings::self()->layersSearchRegularExpression()); + connect(m_searchLine, &KTreeViewSearchLine::searchOptionsChanged, this, &Layers::saveSearchOptions); + + m_treeView = new QTreeView(this); + mainlay->addWidget(m_treeView); + + m_treeView->setSortingEnabled(false); + m_treeView->setRootIsDecorated(true); + m_treeView->setAlternatingRowColors(true); + m_treeView->header()->hide(); +} + +Layers::~Layers() +{ + m_document->removeObserver(this); +} + +void Layers::notifySetup(const QList & /*pages*/, int /*setupFlags*/) +{ + QAbstractItemModel *layersModel = m_document->layersModel(); + + if (layersModel) { + m_treeView->setModel(layersModel); + m_searchLine->setTreeView(m_treeView); + Q_EMIT hasLayers(true); + connect(layersModel, &QAbstractItemModel::dataChanged, m_document, &Okular::Document::reloadDocument); + connect(layersModel, &QAbstractItemModel::dataChanged, m_pageView, &PageView::reloadForms); + } else { + Q_EMIT hasLayers(false); + } +} + +void Layers::setPageView(PageView *pageView) +{ + m_pageView = pageView; +} + +void Layers::saveSearchOptions() +{ + Okular::Settings::setLayersSearchRegularExpression(m_searchLine->regularExpression()); + Okular::Settings::setLayersSearchCaseSensitive(m_searchLine->caseSensitivity() == Qt::CaseSensitive ? true : false); + Okular::Settings::self()->save(); +} diff --git a/part/layers.h b/part/layers.h new file mode 100644 index 0000000..6179118 --- /dev/null +++ b/part/layers.h @@ -0,0 +1,52 @@ +/* + SPDX-FileCopyrightText: 2015 Saheb Preet Singh + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_LAYERS_H_ +#define _OKULAR_LAYERS_H_ + +#include "core/observer.h" +#include + +#include "okularpart_export.h" + +class PageView; +class QTreeView; +class KTreeViewSearchLine; + +namespace Okular +{ +class Document; +class PartTest; +} + +class OKULARPART_EXPORT Layers : public QWidget, public Okular::DocumentObserver +{ + Q_OBJECT + friend class Okular::PartTest; + +public: + Layers(QWidget *parent, Okular::Document *document); + ~Layers() override; + + // inherited from DocumentObserver + void notifySetup(const QList &pages, int setupFlags) override; + + void setPageView(PageView *pageView); + +Q_SIGNALS: + void hasLayers(bool has); + +private Q_SLOTS: + void saveSearchOptions(); + +private: + Okular::Document *m_document; + QTreeView *m_treeView; + KTreeViewSearchLine *m_searchLine; + PageView *m_pageView; +}; + +#endif diff --git a/part/magnifierview.cpp b/part/magnifierview.cpp new file mode 100644 index 0000000..c41d9ce --- /dev/null +++ b/part/magnifierview.cpp @@ -0,0 +1,175 @@ +/* + SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + +*/ + +#include "magnifierview.h" + +#include + +#include "core/document.h" +#include "core/generator.h" +#include "gui/pagepainter.h" +#include "gui/priorities.h" + +static const int SCALE = 10; + +MagnifierView::MagnifierView(Okular::Document *document, QWidget *parent) + : QWidget(parent) + , m_document(document) + , m_page(nullptr) +{ + document->addObserver(this); +} + +MagnifierView::~MagnifierView() +{ + m_document->removeObserver(this); +} + +void MagnifierView::notifySetup(const QList &pages, int setupFlags) +{ + if (!(setupFlags & Okular::DocumentObserver::DocumentChanged)) { + return; + } + + m_pages = pages; + m_page = nullptr; + m_current = -1; +} + +void MagnifierView::notifyPageChanged(int page, int flags) +{ + Q_UNUSED(page); + Q_UNUSED(flags); + + if (isVisible()) { + update(); + } +} + +bool MagnifierView::canUnloadPixmap(int page) const +{ + return (page != m_current); +} + +void MagnifierView::notifyCurrentPageChanged(int previous, int current) +{ + Q_UNUSED(previous); + + if (current != m_current) { + m_current = current; + m_page = m_pages[current]; + + if (isVisible()) { + requestPixmap(); + update(); + } + } +} + +void MagnifierView::updateView(const Okular::NormalizedPoint &p, const Okular::Page *page) +{ + m_viewpoint = p; + + if (page != m_page) // ok, we are screwed + { + m_page = page; + m_current = page->number(); + } + + if (isVisible()) { + requestPixmap(); + update(); + } +} + +void MagnifierView::paintEvent(QPaintEvent *e) +{ + Q_UNUSED(e); + + QPainter p(this); + + if (m_page) { + QRect where = QRect(0, 0, width(), height()); + PagePainter::paintCroppedPageOnPainter(&p, m_page, this, 0, m_page->width() * SCALE, m_page->height() * SCALE, where, normalizedView(), nullptr); + } + + drawTicks(&p); +} + +void MagnifierView::move(int x, int y) +{ + QWidget::move(x, y); + requestPixmap(); +} + +void MagnifierView::requestPixmap() +{ + if (!m_page) { + return; + } + const int full_width = m_page->width() * SCALE; + const int full_height = m_page->height() * SCALE; + + Okular::NormalizedRect nrect = normalizedView(); + + if (!m_page->hasPixmap(this, full_width, full_height, nrect)) { + Okular::PixmapRequest *p = new Okular::PixmapRequest(this, m_current, full_width, full_height, devicePixelRatioF(), PAGEVIEW_PRIO, Okular::PixmapRequest::Asynchronous); + + if (m_page->hasTilesManager(this)) { + p->setTile(true); + } + + // request a little bit bigger rectangle then currently viewed, but not the full scale page + const double rect_width = (nrect.right - nrect.left) * 0.5, rect_height = (nrect.bottom - nrect.top) * 0.5; + + const double top = qMax(nrect.top - rect_height, 0.0); + const double bottom = qMin(nrect.bottom + rect_height, 1.0); + const double left = qMax(nrect.left - rect_width, 0.0); + const double right = qMin(nrect.right + rect_width, 1.0); + + p->setNormalizedRect(Okular::NormalizedRect(left, top, right, bottom)); + + m_document->requestPixmaps({p}); + } +} + +Okular::NormalizedRect MagnifierView::normalizedView() const +{ + double h = (double)height() / (SCALE * m_page->height() * 2); + double w = (double)width() / (SCALE * m_page->width() * 2); + return Okular::NormalizedRect(m_viewpoint.x - w, m_viewpoint.y - h, m_viewpoint.x + w, m_viewpoint.y + h); +} + +void MagnifierView::drawTicks(QPainter *p) +{ + p->save(); + + p->setPen(QPen(Qt::black, 0)); + // the cross + p->drawLine(width() / 2, 0, width() / 2, height() - 1); + p->drawLine(0, height() / 2, width() - 1, height() / 2); + + // the borders + p->drawLine(0, 0, width() - 1, 0); + p->drawLine(width() - 1, 0, width() - 1, height() - 1); + p->drawLine(0, height() - 1, width() - 1, height() - 1); + p->drawLine(0, height() - 1, 0, 0); + + // ticks + // TODO possibility to switch units (pt, mm, cc, in, printing dots) + float ps = (float)SCALE * 5; // how much pixels in widget is one pixel in document * how often + int tw = 10; // tick size in pixels + + for (float x = 0; x < width(); x += ps) { + p->drawLine(x, 1, x, tw); + p->drawLine(x, height() - 1, x, height() - tw - 1); + p->drawLine(1, x, tw, x); + p->drawLine(width() - 1, x, width() - tw - 1, x); + } + + p->restore(); +} + +#include "moc_magnifierview.cpp" diff --git a/part/magnifierview.h b/part/magnifierview.h new file mode 100644 index 0000000..ca7ff31 --- /dev/null +++ b/part/magnifierview.h @@ -0,0 +1,45 @@ +/* + SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + +*/ + +#ifndef MAGNIFIERVIEW_H +#define MAGNIFIERVIEW_H + +#include "core/observer.h" +#include "core/page.h" +#include + +class MagnifierView : public QWidget, public Okular::DocumentObserver +{ + Q_OBJECT + +public: + explicit MagnifierView(Okular::Document *document, QWidget *parent = nullptr); + ~MagnifierView() override; + + void notifySetup(const QList &pages, int setupFlags) override; + void notifyPageChanged(int page, int flags) override; + void notifyCurrentPageChanged(int previous, int current) override; + bool canUnloadPixmap(int page) const override; + + void updateView(const Okular::NormalizedPoint &p, const Okular::Page *page); + void move(int x, int y); + +protected: + void paintEvent(QPaintEvent *e) override; + +private: + Okular::NormalizedRect normalizedView() const; + void requestPixmap(); + void drawTicks(QPainter *p); + +private: + Okular::Document *m_document; + Okular::NormalizedPoint m_viewpoint; + const Okular::Page *m_page; + int m_current; + QList m_pages; +}; + +#endif // MAGNIFIERVIEW_H diff --git a/part/minibar.cpp b/part/minibar.cpp new file mode 100644 index 0000000..d3d905e --- /dev/null +++ b/part/minibar.cpp @@ -0,0 +1,590 @@ +/* + SPDX-FileCopyrightText: 2005 Enrico Ros + SPDX-FileCopyrightText: 2006 Albert Astals Cid + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "minibar.h" + +// qt / kde includes +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +// local includes +#include "core/document.h" +#include "core/page.h" + +// [private widget] a flat qpushbutton that enlights on hover +class HoverButton : public QToolButton +{ + Q_OBJECT +public: + explicit HoverButton(QWidget *parent); +}; + +MiniBarLogic::MiniBarLogic(QObject *parent, Okular::Document *document) + : QObject(parent) + , m_document(document) +{ +} + +MiniBarLogic::~MiniBarLogic() +{ + m_document->removeObserver(this); +} + +void MiniBarLogic::addMiniBar(MiniBar *miniBar) +{ + m_miniBars.insert(miniBar); +} + +void MiniBarLogic::removeMiniBar(MiniBar *miniBar) +{ + m_miniBars.remove(miniBar); +} + +Okular::Document *MiniBarLogic::document() const +{ + return m_document; +} + +int MiniBarLogic::currentPage() const +{ + return m_document->currentPage(); +} + +void MiniBarLogic::notifySetup(const QList &pageVector, int setupFlags) +{ + // only process data when document changes + if (!(setupFlags & Okular::DocumentObserver::DocumentChanged)) { + return; + } + + // if document is closed or has no pages, hide widget + const int pages = pageVector.count(); + if (pages < 1) { + for (MiniBar *miniBar : std::as_const(m_miniBars)) { + miniBar->setEnabled(false); + } + return; + } + + bool labelsDiffer = false; + for (const Okular::Page *page : pageVector) { + if (!page->label().isEmpty()) { + if (page->label().toInt() != (page->number() + 1)) { + labelsDiffer = true; + } + } + } + + const QString pagesString = QString::number(pages); + + // In some documents, there may be labels which are longer than pagesString. Here, we check all the page labels, and if any of the labels are longer than pagesString, we use that string for sizing m_pageLabelEdit + QString pagesOrLabelString = pagesString; + if (labelsDiffer) { + for (const Okular::Page *page : pageVector) { + if (!page->label().isEmpty()) { + MiniBar *miniBar = *m_miniBars.constBegin(); // We assume all the minibars have the same font, font size etc, so we just take one minibar for the purpose of calculating the displayed length of the page labels. + if (miniBar->fontMetrics().horizontalAdvance(page->label()) > miniBar->fontMetrics().horizontalAdvance(pagesOrLabelString)) { + pagesOrLabelString = page->label(); + } + } + } + } + + for (MiniBar *miniBar : std::as_const(m_miniBars)) { + // resize width of widgets + miniBar->resizeForPage(pages, pagesOrLabelString); + + // update child widgets + miniBar->m_pageLabelEdit->setPageLabels(pageVector); + miniBar->m_pageNumberEdit->setPagesNumber(pages); + miniBar->m_pagesButton->setText(pagesString); + miniBar->m_prevButton->setEnabled(false); + miniBar->m_nextButton->setEnabled(false); + miniBar->m_pageLabelEdit->setVisible(labelsDiffer); + miniBar->m_pageNumberLabel->setVisible(labelsDiffer); + miniBar->m_pageNumberEdit->setVisible(!labelsDiffer); + + miniBar->adjustSize(); + + miniBar->setEnabled(true); + } +} + +void MiniBarLogic::notifyCurrentPageChanged(int previousPage, int currentPage) +{ + Q_UNUSED(previousPage) + + // get current page number + const int pages = m_document->pages(); + + // if the document is opened and page is changed + if (pages > 0) { + const QString pageNumber = QString::number(currentPage + 1); + const QString pageLabel = m_document->page(currentPage)->label(); + + for (MiniBar *miniBar : std::as_const(m_miniBars)) { + // update prev/next button state + miniBar->m_prevButton->setEnabled(currentPage > 0); + miniBar->m_nextButton->setEnabled(currentPage < (pages - 1)); + // update text on widgets + miniBar->m_pageNumberEdit->setText(pageNumber); + miniBar->m_pageNumberLabel->setText(pageNumber); + miniBar->m_pageLabelEdit->setText(pageLabel); + } + } +} + +/** MiniBar **/ + +MiniBar::MiniBar(QWidget *parent, MiniBarLogic *miniBarLogic) + : QWidget(parent) + , m_miniBarLogic(miniBarLogic) + , m_oldToolbarParent(nullptr) +{ + setObjectName(QStringLiteral("miniBar")); + + m_miniBarLogic->addMiniBar(this); + + QHBoxLayout *horLayout = new QHBoxLayout(this); + + horLayout->setContentsMargins(0, 0, 0, 0); + horLayout->setSpacing(3); + + QSize buttonSize(KIconLoader::SizeSmallMedium, KIconLoader::SizeSmallMedium); + // bottom: left prev_page button + m_prevButton = new HoverButton(this); + m_prevButton->setIcon(QIcon::fromTheme(QStringLiteral("arrow-up"))); + m_prevButton->setIconSize(buttonSize); + horLayout->addWidget(m_prevButton); + // bottom: left lineEdit (current page box) + m_pageNumberEdit = new PageNumberEdit(this); + horLayout->addWidget(m_pageNumberEdit); + m_pageNumberEdit->installEventFilter(this); + // bottom: left labelWidget (current page label) + m_pageLabelEdit = new PageLabelEdit(this); + horLayout->addWidget(m_pageLabelEdit); + m_pageLabelEdit->installEventFilter(this); + // bottom: left labelWidget (current page label) + m_pageNumberLabel = new QLabel(this); + m_pageNumberLabel->setAlignment(Qt::AlignCenter); + horLayout->addWidget(m_pageNumberLabel); + // bottom: central 'of' label + horLayout->addSpacing(5); + horLayout->addWidget(new QLabel(i18nc("Layouted like: '5 [pages] of 10'", "of"), this)); + // bottom: right button + m_pagesButton = new HoverButton(this); + horLayout->addWidget(m_pagesButton); + // bottom: right next_page button + m_nextButton = new HoverButton(this); + m_nextButton->setIcon(QIcon::fromTheme(QStringLiteral("arrow-down"))); + m_nextButton->setIconSize(buttonSize); + horLayout->addWidget(m_nextButton); + + QSizePolicy sp = sizePolicy(); + sp.setHorizontalPolicy(QSizePolicy::Fixed); + sp.setVerticalPolicy(QSizePolicy::Fixed); + setSizePolicy(sp); + + // resize width of widgets + resizeForPage(0, QString()); + + // connect signals from child widgets to internal handlers / signals bouncers + connect(m_pageNumberEdit, &PageNumberEdit::returnKeyPressed, this, &MiniBar::slotChangePageFromReturn); + connect(m_pageLabelEdit, &PageLabelEdit::pageNumberChosen, this, &MiniBar::slotChangePage); + connect(m_pagesButton, &QAbstractButton::clicked, this, &MiniBar::gotoPage); + connect(m_prevButton, &QAbstractButton::clicked, this, &MiniBar::prevPage); + connect(m_nextButton, &QAbstractButton::clicked, this, &MiniBar::nextPage); + + adjustSize(); + + // widget starts disabled (will be enabled after opening a document) + setEnabled(false); +} + +MiniBar::~MiniBar() +{ + m_miniBarLogic->removeMiniBar(this); +} + +void MiniBar::changeEvent(QEvent *event) +{ + if (event->type() == QEvent::ParentChange) { + QToolBar *tb = dynamic_cast(parent()); + if (tb != m_oldToolbarParent) { + if (m_oldToolbarParent) { + disconnect(m_oldToolbarParent, &QToolBar::iconSizeChanged, this, &MiniBar::slotToolBarIconSizeChanged); + } + m_oldToolbarParent = tb; + if (tb) { + connect(tb, &QToolBar::iconSizeChanged, this, &MiniBar::slotToolBarIconSizeChanged); + slotToolBarIconSizeChanged(); + } + } + } +} + +bool MiniBar::eventFilter(QObject *target, QEvent *event) +{ + if (target == m_pageNumberEdit || target == m_pageLabelEdit) { + if (event->type() == QEvent::KeyPress) { + QKeyEvent *keyEvent = static_cast(event); + int key = keyEvent->key(); + if (key == Qt::Key_PageUp || key == Qt::Key_PageDown || key == Qt::Key_Up || key == Qt::Key_Down) { + Q_EMIT forwardKeyPressEvent(keyEvent); + return true; + } + } + } + return false; +} + +void MiniBar::slotChangePageFromReturn() +{ + // get text from the lineEdit + const QString pageNumber = m_pageNumberEdit->text(); + + // convert it to page number and go to that page + bool ok; + int number = pageNumber.toInt(&ok) - 1; + if (ok && number >= 0 && number < (int)m_miniBarLogic->document()->pages() && number != m_miniBarLogic->currentPage()) { + slotChangePage(number); + } +} + +void MiniBar::slotChangePage(int pageNumber) +{ + m_miniBarLogic->document()->setViewportPage(pageNumber); + m_pageNumberEdit->clearFocus(); + m_pageLabelEdit->clearFocus(); +} + +void MiniBar::slotEmitNextPage() +{ + // Q_EMIT signal + Q_EMIT nextPage(); +} + +void MiniBar::slotEmitPrevPage() +{ + // Q_EMIT signal + Q_EMIT prevPage(); +} + +void MiniBar::slotToolBarIconSizeChanged() +{ + const QSize buttonSize = m_oldToolbarParent->iconSize(); + m_prevButton->setIconSize(buttonSize); + m_nextButton->setIconSize(buttonSize); +} + +void MiniBar::resizeForPage(int pages, const QString &pagesOrLabelString) +{ + const int numberWidth = 10 + fontMetrics().horizontalAdvance(QString::number(pages)); + const int labelWidth = 10 + fontMetrics().horizontalAdvance(pagesOrLabelString); + m_pageNumberEdit->setMinimumWidth(numberWidth); + m_pageNumberEdit->setMaximumWidth(2 * numberWidth); + m_pageLabelEdit->setMinimumWidth(labelWidth); + m_pageLabelEdit->setMaximumWidth(2 * labelWidth); + m_pageNumberLabel->setMinimumWidth(numberWidth); + m_pageNumberLabel->setMaximumWidth(2 * numberWidth); + m_pagesButton->setMinimumWidth(numberWidth); + m_pagesButton->setMaximumWidth(2 * numberWidth); +} + +/** ProgressWidget **/ + +ProgressWidget::ProgressWidget(QWidget *parent, Okular::Document *document) + : QWidget(parent) + , m_document(document) + , m_progressPercentage(-1) +{ + setObjectName(QStringLiteral("progress")); + setAttribute(Qt::WA_OpaquePaintEvent, true); + setFixedHeight(4); + setMouseTracking(true); +} + +ProgressWidget::~ProgressWidget() +{ + m_document->removeObserver(this); +} + +void ProgressWidget::notifyCurrentPageChanged(int previousPage, int currentPage) +{ + Q_UNUSED(previousPage) + + // get current page number + int pages = m_document->pages(); + + // if the document is opened and page is changed + if (pages > 0) { + // update percentage + const float percentage = pages < 2 ? 1.0 : (float)currentPage / (float)(pages - 1); + setProgress(percentage); + } +} + +void ProgressWidget::setProgress(float percentage) +{ + m_progressPercentage = percentage; + update(); +} + +void ProgressWidget::slotGotoNormalizedPage(float index) +{ + // figure out page number and go to that page + int number = (int)(index * (float)m_document->pages()); + if (number >= 0 && number < (int)m_document->pages() && number != (int)m_document->currentPage()) { + m_document->setViewportPage(number); + } +} + +void ProgressWidget::mouseMoveEvent(QMouseEvent *e) +{ + if ((QApplication::mouseButtons() & Qt::LeftButton) && width() > 0) { + slotGotoNormalizedPage((float)(QApplication::isRightToLeft() ? width() - e->position().x() : e->position().x()) / (float)width()); + } +} + +void ProgressWidget::mousePressEvent(QMouseEvent *e) +{ + if (e->button() == Qt::LeftButton && width() > 0) { + slotGotoNormalizedPage((float)(QApplication::isRightToLeft() ? width() - e->position().x() : e->position().x()) / (float)width()); + } +} + +void ProgressWidget::wheelEvent(QWheelEvent *e) +{ + if (e->angleDelta().y() > 0) { + Q_EMIT nextPage(); + } else { + Q_EMIT prevPage(); + } +} + +void ProgressWidget::paintEvent(QPaintEvent *e) +{ + QPainter p(this); + + if (m_progressPercentage < 0.0) { + p.fillRect(rect(), palette().color(QPalette::Active, QPalette::HighlightedText)); + return; + } + + // find out the 'fill' and the 'clear' rectangles + int w = width(), h = height(), l = (int)((float)w * m_progressPercentage); + QRect cRect = (QApplication::isRightToLeft() ? QRect(0, 0, w - l, h) : QRect(l, 0, w - l, h)).intersected(e->rect()); + QRect fRect = (QApplication::isRightToLeft() ? QRect(w - l, 0, l, h) : QRect(0, 0, l, h)).intersected(e->rect()); + + QPalette pal = palette(); + // paint clear rect + if (cRect.isValid()) { + p.fillRect(cRect, pal.color(QPalette::Active, QPalette::HighlightedText)); + } + // draw a frame-like outline + // p.setPen( palette().active().mid() ); + // p.drawRect( 0,0, w, h ); + // paint fill rect + if (fRect.isValid()) { + p.fillRect(fRect, pal.color(QPalette::Active, QPalette::Highlight)); + } + if (l && l != w) { + p.setPen(pal.color(QPalette::Active, QPalette::Highlight).darker(120)); + int delta = QApplication::isRightToLeft() ? w - l : l; + p.drawLine(delta, 0, delta, h); + } +} + +/** PageLabelEdit **/ + +PageLabelEdit::PageLabelEdit(MiniBar *parent) + : PagesEdit(parent) +{ + setVisible(false); + connect(this, &PageLabelEdit::returnKeyPressed, this, &PageLabelEdit::pageChosen); +} + +void PageLabelEdit::setText(const QString &newText) +{ + m_lastLabel = newText; + PagesEdit::setText(newText); +} + +void PageLabelEdit::setPageLabels(const QList &pageVector) +{ + m_labelPageMap.clear(); + completionObject()->clear(); + for (const Okular::Page *page : pageVector) { + if (!page->label().isEmpty()) { + m_labelPageMap.insert(page->label(), page->number()); + bool ok; + page->label().toInt(&ok); + if (!ok) { + // Only add to the completion objects labels that are not numbers + completionObject()->addItem(page->label()); + } + } + } +} + +void PageLabelEdit::pageChosen() +{ + const QString newInput = text(); + const int pageNumber = m_labelPageMap.value(newInput, -1); + if (pageNumber != -1) { + Q_EMIT pageNumberChosen(pageNumber); + } else { + setText(m_lastLabel); + } +} + +/** PageNumberEdit **/ + +PageNumberEdit::PageNumberEdit(MiniBar *miniBar) + : PagesEdit(miniBar) +{ + // use an integer validator + m_validator = new QIntValidator(1, 1, this); + setValidator(m_validator); +} + +void PageNumberEdit::setPagesNumber(int pages) +{ + m_validator->setTop(pages); +} + +/** PagesEdit **/ + +PagesEdit::PagesEdit(MiniBar *parent) + : KLineEdit(parent) + , m_miniBar(parent) + , m_eatClick(false) +{ + // customize text properties + setAlignment(Qt::AlignCenter); + + // send a focus out event + QFocusEvent fe(QEvent::FocusOut); + QApplication::sendEvent(this, &fe); + qApp->installEventFilter(this); +} + +void PagesEdit::setText(const QString &newText) +{ + // call default handler if hasn't focus + if (!hasFocus()) { + KLineEdit::setText(newText); + } + // else preserve existing selection + else { + // save selection and adapt it to the new text length + int selectionLength = selectedText().length(); + const bool allSelected = (selectionLength == text().length()); + if (allSelected) { + KLineEdit::setText(newText); + selectAll(); + } else { + int newSelectionStart = newText.length() - text().length() + selectionStart(); + if (newSelectionStart < 0) { + // the new text is shorter than the old one, and the front part, which is "cut off", is selected + // shorten the selection accordingly + selectionLength += newSelectionStart; + newSelectionStart = 0; + } + KLineEdit::setText(newText); + setSelection(newSelectionStart, selectionLength); + } + } +} + +void PagesEdit::updatePalette() +{ + QPalette pal; + + if (hasFocus()) { + pal.setColor(QPalette::Active, QPalette::Base, QApplication::palette().color(QPalette::Active, QPalette::Base)); + } else { + pal.setColor(QPalette::Base, QApplication::palette().color(QPalette::Base).darker(102)); + } + + setPalette(pal); +} + +bool PagesEdit::eventFilter(QObject *watched, QEvent *e) +{ + if (watched == qApp && e->type() == QEvent::ApplicationPaletteChange) { + updatePalette(); + } + return KLineEdit::eventFilter(watched, e); +} + +void PagesEdit::focusInEvent(QFocusEvent *e) +{ + // select all text + selectAll(); + if (e->reason() == Qt::MouseFocusReason) { + m_eatClick = true; + } + // change background color to the default 'edit' color + updatePalette(); + // call default handler + KLineEdit::focusInEvent(e); +} + +void PagesEdit::focusOutEvent(QFocusEvent *e) +{ + // change background color to a dark tone + updatePalette(); + // call default handler + KLineEdit::focusOutEvent(e); +} + +void PagesEdit::mousePressEvent(QMouseEvent *e) +{ + // if this click got the focus in, don't process the event + if (!m_eatClick) { + KLineEdit::mousePressEvent(e); + } + m_eatClick = false; +} + +void PagesEdit::wheelEvent(QWheelEvent *e) +{ + if (e->angleDelta().y() > 0) { + m_miniBar->slotEmitNextPage(); + } else { + m_miniBar->slotEmitPrevPage(); + } +} + +/** HoverButton **/ + +HoverButton::HoverButton(QWidget *parent) + : QToolButton(parent) +{ + setAutoRaise(true); + setFocusPolicy(Qt::NoFocus); + setToolButtonStyle(Qt::ToolButtonIconOnly); + KAcceleratorManager::setNoAccel(this); +} + +#include "minibar.moc" + +/* kate: replace-tabs on; indent-width 4; */ diff --git a/part/minibar.h b/part/minibar.h new file mode 100644 index 0000000..25a8add --- /dev/null +++ b/part/minibar.h @@ -0,0 +1,181 @@ +/* + SPDX-FileCopyrightText: 2005 Enrico Ros + SPDX-FileCopyrightText: 2006 Albert Astals Cid + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_MINIBAR_H_ +#define _OKULAR_MINIBAR_H_ + +#include "core/observer.h" +#include +#include +#include + +namespace Okular +{ +class Document; +} + +class MiniBar; +class HoverButton; +class QIntValidator; +class QLabel; +class QToolBar; + +// [private widget] lineEdit for entering/validating page numbers +class PagesEdit : public KLineEdit +{ + Q_OBJECT + +public: + explicit PagesEdit(MiniBar *parent); + void setText(const QString &) override; + +protected: + void focusInEvent(QFocusEvent *e) override; + void focusOutEvent(QFocusEvent *e) override; + void mousePressEvent(QMouseEvent *e) override; + void wheelEvent(QWheelEvent *e) override; + bool eventFilter(QObject *watched, QEvent *e) override; + +private Q_SLOTS: + void updatePalette(); + +private: + MiniBar *m_miniBar; + bool m_eatClick; +}; + +class PageNumberEdit : public PagesEdit +{ + Q_OBJECT + +public: + explicit PageNumberEdit(MiniBar *miniBar); + void setPagesNumber(int pages); + +private: + QIntValidator *m_validator; +}; + +class PageLabelEdit : public PagesEdit +{ + Q_OBJECT +public: + explicit PageLabelEdit(MiniBar *parent); + void setText(const QString &newText) override; + void setPageLabels(const QList &pageVector); + +Q_SIGNALS: + void pageNumberChosen(int page); + +private Q_SLOTS: + void pageChosen(); + +private: + QString m_lastLabel; + QMap m_labelPageMap; +}; + +/** + * @short The object that observes the document and feeds the minibars + */ +class MiniBarLogic : public QObject, public Okular::DocumentObserver +{ + Q_OBJECT + +public: + MiniBarLogic(QObject *parent, Okular::Document *m_document); + ~MiniBarLogic() override; + + void addMiniBar(MiniBar *miniBar); + void removeMiniBar(MiniBar *miniBar); + + Okular::Document *document() const; + int currentPage() const; + + // [INHERITED] from DocumentObserver + void notifySetup(const QList &pageVector, int setupFlags) override; + void notifyCurrentPageChanged(int previous, int current) override; + +private: + QSet m_miniBars; + Okular::Document *m_document; +}; + +/** + * @short A widget to display page number and change current page. + */ +class MiniBar : public QWidget +{ + Q_OBJECT + friend class MiniBarLogic; + +public: + MiniBar(QWidget *parent, MiniBarLogic *miniBarLogic); + ~MiniBar() override; + + void changeEvent(QEvent *event) override; + +Q_SIGNALS: + void gotoPage(); + void prevPage(); + void nextPage(); + void forwardKeyPressEvent(QKeyEvent *e); + +public Q_SLOTS: + void slotChangePageFromReturn(); + void slotChangePage(int page); + void slotEmitNextPage(); + void slotEmitPrevPage(); + void slotToolBarIconSizeChanged(); + +private: + void resizeForPage(int pages, const QString &pagesOrLabelString); + bool eventFilter(QObject *target, QEvent *event) override; + + MiniBarLogic *m_miniBarLogic; + PageNumberEdit *m_pageNumberEdit; + PageLabelEdit *m_pageLabelEdit; + QLabel *m_pageNumberLabel; + HoverButton *m_prevButton; + HoverButton *m_pagesButton; + HoverButton *m_nextButton; + QToolBar *m_oldToolbarParent; +}; + +/** + * @short A small progress bar. + */ +class ProgressWidget : public QWidget, public Okular::DocumentObserver +{ + Q_OBJECT +public: + ProgressWidget(QWidget *parent, Okular::Document *document); + ~ProgressWidget() override; + + // [INHERITED] from DocumentObserver + void notifyCurrentPageChanged(int previous, int current) override; + + void slotGotoNormalizedPage(float index); + +Q_SIGNALS: + void prevPage(); + void nextPage(); + +protected: + void setProgress(float percentage); + + void mouseMoveEvent(QMouseEvent *e) override; + void mousePressEvent(QMouseEvent *e) override; + void wheelEvent(QWheelEvent *e) override; + void paintEvent(QPaintEvent *e) override; + +private: + Okular::Document *m_document; + float m_progressPercentage; +}; + +#endif diff --git a/part/okmenutitle.cpp b/part/okmenutitle.cpp new file mode 100644 index 0000000..7685b96 --- /dev/null +++ b/part/okmenutitle.cpp @@ -0,0 +1,52 @@ +/* This file was part of the KDE libraries (copied partially from kmenu.cpp) + + SPDX-License-Identifier: LGPL-2.0-only +*/ + +#include "okmenutitle.h" + +#include +#include +#include +#include +#include + +OKMenuTitle::OKMenuTitle(QMenu *menu, const QString &text, const QIcon &icon) + : QWidgetAction(menu) +{ + QAction *buttonAction = new QAction(menu); + QFont font = buttonAction->font(); + font.setBold(true); + buttonAction->setFont(font); + buttonAction->setText(text); + buttonAction->setIcon(icon); + + QToolButton *titleButton = new QToolButton(menu); + titleButton->installEventFilter(this); // prevent clicks on the title of the menu + titleButton->setDefaultAction(buttonAction); + titleButton->setDown(true); // prevent hover style changes in some styles + titleButton->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); + setDefaultWidget(titleButton); +} + +bool OKMenuTitle::eventFilter(QObject *object, QEvent *event) +{ + Q_UNUSED(object); + + if (event->type() == QEvent::Paint) { + return QWidgetAction::eventFilter(object, event); + } else if (event->type() == QEvent::KeyRelease) { + // If we're receiving the key release event is because we just gained + // focus though a key event, use the same key to move it to the next action + if (static_cast(parent())->activeAction() == this) { + QKeyEvent *ke = static_cast(event); + QKeyEvent newKe(QEvent::KeyPress, ke->key(), ke->modifiers(), ke->text(), ke->isAutoRepeat(), ke->count()); + QApplication::sendEvent(parent(), &newKe); + } + + // TODO What happens when there's multiple OKMenuTitle or only OKMenuTitle in a menu + } + + event->accept(); + return true; +} diff --git a/part/okmenutitle.h b/part/okmenutitle.h new file mode 100644 index 0000000..37761ec --- /dev/null +++ b/part/okmenutitle.h @@ -0,0 +1,20 @@ +/* This file was part of the KDE libraries (copied partially from kmenu.cpp) + + SPDX-License-Identifier: LGPL-2.0-only +*/ + +#ifndef OKMENUTITLE_H +#define OKMENUTITLE_H + +#include + +class OKMenuTitle : public QWidgetAction +{ + Q_OBJECT +public: + OKMenuTitle(QMenu *menu, const QString &text, const QIcon &icon = QIcon()); + + bool eventFilter(QObject *object, QEvent *event) override; +}; + +#endif diff --git a/part/pageitemdelegate.cpp b/part/pageitemdelegate.cpp new file mode 100644 index 0000000..010b265 --- /dev/null +++ b/part/pageitemdelegate.cpp @@ -0,0 +1,78 @@ +/* + SPDX-FileCopyrightText: 2006 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "pageitemdelegate.h" + +// qt/kde includes +#include +#include +#include +#include + +// local includes +#include "gui/tocmodel.h" +#include "settings.h" + +#define PAGEITEMDELEGATE_INTERNALMARGIN 3 + +class PageItemDelegate::Private +{ +public: + Private() + { + } + + QModelIndex index; +}; + +PageItemDelegate::PageItemDelegate(QObject *parent) + : QItemDelegate(parent) + , d(new Private) +{ +} + +PageItemDelegate::~PageItemDelegate() +{ + delete d; +} + +void PageItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const +{ + d->index = index; + QItemDelegate::paint(painter, option, index); +} + +void PageItemDelegate::drawDisplay(QPainter *painter, const QStyleOptionViewItem &option, const QRect &rect, const QString &text) const +{ + QVariant pageVariant = d->index.data(TOCModel::PageRole); + QVariant labelVariant = d->index.data(TOCModel::PageLabelRole); + if ((labelVariant.metaType().id() != QMetaType::QString && !pageVariant.canConvert(QMetaType {QMetaType::QString})) || !Okular::Settings::tocPageColumn()) { + QItemDelegate::drawDisplay(painter, option, rect, text); + return; + } + QString label = labelVariant.toString(); + QString page = label.isEmpty() ? pageVariant.toString() : label; + QTextDocument document; + document.setPlainText(page); + document.setDefaultFont(option.font); + int margindelta = QApplication::style()->pixelMetric(QStyle::PM_FocusFrameHMargin) + 1; + int pageRectWidth = (int)document.size().width(); + QRect newRect(rect); + QRect pageRect(rect); + pageRect.setWidth(pageRectWidth + 2 * margindelta); + newRect.setWidth(newRect.width() - pageRectWidth - PAGEITEMDELEGATE_INTERNALMARGIN); + if (option.direction == Qt::RightToLeft) { + newRect.translate(pageRectWidth + PAGEITEMDELEGATE_INTERNALMARGIN, 0); + } else { + pageRect.translate(newRect.width() + PAGEITEMDELEGATE_INTERNALMARGIN - 2 * margindelta, 0); + } + QItemDelegate::drawDisplay(painter, option, newRect, text); + QStyleOptionViewItem newoption(option); + newoption.displayAlignment = (option.displayAlignment & ~Qt::AlignHorizontal_Mask) | Qt::AlignRight; + QItemDelegate::drawDisplay(painter, newoption, pageRect, page); +} + +#include "moc_pageitemdelegate.cpp" diff --git a/part/pageitemdelegate.h b/part/pageitemdelegate.h new file mode 100644 index 0000000..073f092 --- /dev/null +++ b/part/pageitemdelegate.h @@ -0,0 +1,30 @@ +/* + SPDX-FileCopyrightText: 2006 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef PAGEITEMDELEGATE_H +#define PAGEITEMDELEGATE_H + +#include + +class PageItemDelegate : public QItemDelegate +{ + Q_OBJECT + +public: + explicit PageItemDelegate(QObject *parent = nullptr); + ~PageItemDelegate() override; + + void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const override; + +protected: + void drawDisplay(QPainter *painter, const QStyleOptionViewItem &option, const QRect &rect, const QString &text) const override; + +private: + class Private; + Private *const d; +}; + +#endif diff --git a/part/pagesizelabel.cpp b/part/pagesizelabel.cpp new file mode 100644 index 0000000..a03c912 --- /dev/null +++ b/part/pagesizelabel.cpp @@ -0,0 +1,33 @@ +/* + SPDX-FileCopyrightText: 2006 Albert Astals Cid + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "pagesizelabel.h" + +#include "core/document.h" + +PageSizeLabel::PageSizeLabel(QWidget *parent, Okular::Document *document) + : KSqueezedTextLabel(parent) + , m_document(document) +{ + setAlignment(Qt::AlignRight); +} + +PageSizeLabel::~PageSizeLabel() +{ + m_document->removeObserver(this); +} + +void PageSizeLabel::notifyCurrentPageChanged(int previousPage, int currentPage) +{ + Q_UNUSED(previousPage) + + // if the document is opened + if (m_document->pages() > 0 && !m_document->allPagesSize().isValid()) { + setText(m_document->pageSizeString(currentPage)); + } +} + +#include "moc_pagesizelabel.cpp" diff --git a/part/pagesizelabel.h b/part/pagesizelabel.h new file mode 100644 index 0000000..0178144 --- /dev/null +++ b/part/pagesizelabel.h @@ -0,0 +1,37 @@ +/* + SPDX-FileCopyrightText: 2006 Albert Astals Cid + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_PAGESIZELABEL_H_ +#define _OKULAR_PAGESIZELABEL_H_ + +#include + +#include "core/observer.h" + +namespace Okular +{ +class Document; +} + +/** + * @short A widget to display page size. + */ +class PageSizeLabel : public KSqueezedTextLabel, public Okular::DocumentObserver +{ + Q_OBJECT + +public: + PageSizeLabel(QWidget *parent, Okular::Document *document); + ~PageSizeLabel() override; + + // [INHERITED] from DocumentObserver + void notifyCurrentPageChanged(int previous, int current) override; + +private: + Okular::Document *m_document; +}; + +#endif diff --git a/part/pageview.cpp b/part/pageview.cpp new file mode 100644 index 0000000..7273268 --- /dev/null +++ b/part/pageview.cpp @@ -0,0 +1,5729 @@ +/* + SPDX-FileCopyrightText: 2004-2005 Enrico Ros + SPDX-FileCopyrightText: 2004-2006 Albert Astals Cid + + Work sponsored by the LiMux project of the city of Munich: + SPDX-FileCopyrightText: 2017 Klarälvdalens Datakonsult AB a KDAB Group company + + With portions of code from kpdf/kpdf_pagewidget.cc by: + SPDX-FileCopyrightText: 2002 Wilco Greven + SPDX-FileCopyrightText: 2003 Christophe Devriese + SPDX-FileCopyrightText: 2003 Laurent Montel + SPDX-FileCopyrightText: 2003 Dirk Mueller + SPDX-FileCopyrightText: 2004 James Ots + SPDX-FileCopyrightText: 2011 Jiri Baum - NICTA + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "pageview.h" + +// qt/kde includes +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +// system includes +#include +#include +#include + +// local includes +#include "annotationpopup.h" +#include "annotwindow.h" +#include "colormodemenu.h" +#include "core/annotations.h" +#include "cursorwraphelper.h" +#include "formwidgets.h" +#include "gui/debug_ui.h" +#include "gui/guiutils.h" +#include "gui/pagepainter.h" +#include "gui/priorities.h" +#include "okmenutitle.h" +#include "pageviewannotator.h" +#include "pageviewmouseannotation.h" +#include "pageviewutils.h" +#include "toggleactionmenu.h" +#if HAVE_SPEECH +#include "tts.h" +#endif +#include "core/action.h" +#include "core/audioplayer.h" +#include "core/document_p.h" +#include "core/form.h" +#include "core/generator.h" +#include "core/misc.h" +#include "core/movie.h" +#include "core/page.h" +#include "core/page_p.h" +#include "core/sourcereference.h" +#include "core/tile.h" +#include "kleopatraintegration.h" +#include "magnifierview.h" +#include "settings.h" +#include "settings_core.h" +#include "signaturepartutils.h" +#include "url_utils.h" +#include "videowidget.h" + +// Without this the code in DocumentPrivate::setDefaultViewMode +// that casts Okular::Generator::PageLayout to View::ViewModeModality data won't work +// Would be possibly better in document.cpp but we can't do it there since Okular::Settings doesn't exist in core +// This is a bit of a missing feature/documentation in what the QVariant in View API mean +static_assert(static_cast(Okular::Generator::PageLayout::SinglePage) == Okular::Settings::EnumViewMode::Single); +static_assert(static_cast(Okular::Generator::PageLayout::TwoPageLeft) == Okular::Settings::EnumViewMode::Facing); +static_assert(static_cast(Okular::Generator::PageLayout::TwoPageRight) == Okular::Settings::EnumViewMode::FacingFirstCentered); + +static const int pageflags = PagePainter::Accessibility | PagePainter::EnhanceLinks | PagePainter::EnhanceImages | PagePainter::Highlights | PagePainter::TextSelection | PagePainter::Annotations; + +static const std::array kZoomValues {0.12, 0.25, 0.33, 0.50, 0.66, 0.75, 1.00, 1.25, 1.50, 2.00, 4.00, 8.00, 16.00, 25.00, 50.00, 100.00}; + +// This is the length of the text that will be shown when the user is searching for a specific piece of text. +static const int searchTextPreviewLength = 21; + +// When following a link, only a preview of this length will be used to set the text of the action. +static const int linkTextPreviewLength = 30; + +static inline double normClamp(double value, double def) +{ + return (value < 0.0 || value > 1.0) ? def : value; +} + +struct TableSelectionPart { + PageViewItem *item; + Okular::NormalizedRect rectInItem; + Okular::NormalizedRect rectInSelection; + + TableSelectionPart(PageViewItem *item_p, const Okular::NormalizedRect &rectInItem_p, const Okular::NormalizedRect &rectInSelection_p); +}; + +TableSelectionPart::TableSelectionPart(PageViewItem *item_p, const Okular::NormalizedRect &rectInItem_p, const Okular::NormalizedRect &rectInSelection_p) + : item(item_p) + , rectInItem(rectInItem_p) + , rectInSelection(rectInSelection_p) +{ +} + +// structure used internally by PageView for data storage +class PageViewPrivate +{ +public: + explicit PageViewPrivate(PageView *qq); + + FormWidgetsController *formWidgetsController(); +#if HAVE_SPEECH + OkularTTS *tts(); +#endif + QString selectedText() const; + + // the document, pageviewItems and the 'visible cache' + PageView *q; + Okular::Document *document = nullptr; + QList items; + QList visibleItems; + MagnifierView *magnifierView = nullptr; + + // view layout (columns in Settings), zoom and mouse + PageView::ZoomMode zoomMode = PageView::ZoomFitWidth; + float zoomFactor = 1.0; + QPoint mouseGrabOffset; + QPointF mousePressPos; + QPointF mouseSelectPos; + QPointF previousMouseMovePos; + qreal mouseMidLastY = 0.0; + bool mouseSelecting = false; + QRect mouseSelectionRect; + QColor mouseSelectionColor; + bool mouseTextSelecting = false; + QSet pagesWithTextSelection; + bool mouseOnRect = false; + int mouseMode = 0; + MouseAnnotation *mouseAnnotation = nullptr; + + // table selection + QList tableSelectionCols; + QList tableSelectionRows; + QList tableSelectionParts; + bool tableDividersGuessed = false; + + int lastSourceLocationViewportPageNumber = -1; + double lastSourceLocationViewportNormalizedX = 0.0; + double lastSourceLocationViewportNormalizedY = 0.0; + int singlePageWheelAccumulatedDelta = 0; + + // for everything except PgUp/PgDn and scroll to arbitrary locations + const int baseShortScrollDuration = 100; + int currentShortScrollDuration = baseShortScrollDuration; + // for PgUp/PgDn and scroll to arbitrary locations + const int baseLongScrollDuration = baseShortScrollDuration * 2; + int currentLongScrollDuration = baseLongScrollDuration; + + // auto scroll + int scrollIncrement = 0; + QTimer *autoScrollTimer = nullptr; + // annotations + PageViewAnnotator *annotator = nullptr; + // text annotation dialogs list + QSet m_annowindows; + // other stuff + QTimer *delayResizeEventTimer = nullptr; + bool dirtyLayout = false; + bool blockViewport = false; // prevents changes to viewport + bool blockPixmapsRequest = false; // prevent pixmap requests + PageViewMessage *messageWindow = nullptr; // in pageviewutils.h + bool m_formsVisible = false; + FormWidgetsController *formsWidgetController = nullptr; +#if HAVE_SPEECH + OkularTTS *m_tts = nullptr; +#endif + QTimer *refreshTimer = nullptr; + QSet refreshPages; + + // bbox state for Trim to Selection mode + Okular::NormalizedRect trimBoundingBox; + + // infinite resizing loop prevention + bool verticalScrollBarVisible = false; + bool horizontalScrollBarVisible = false; + + // drag scroll + QPoint dragScrollVector; + QTimer dragScrollTimer; + + // left click depress + QTimer leftClickTimer; + + // actions + QAction *aRotateClockwise = nullptr; + QAction *aRotateCounterClockwise = nullptr; + QAction *aRotateOriginal = nullptr; + KActionMenu *aTrimMode = nullptr; + KToggleAction *aTrimMargins = nullptr; + KToggleAction *aReadingDirection = nullptr; + QAction *aMouseNormal = nullptr; + QAction *aMouseZoom = nullptr; + QAction *aMouseSelect = nullptr; + QAction *aMouseTextSelect = nullptr; + QAction *aMouseTableSelect = nullptr; + QAction *aMouseMagnifier = nullptr; + KToggleAction *aTrimToSelection = nullptr; + QAction *aSignature = nullptr; + KSelectAction *aZoom = nullptr; + QAction *aZoomIn = nullptr; + QAction *aZoomOut = nullptr; + QAction *aZoomActual = nullptr; + KToggleAction *aZoomFitWidth = nullptr; + KToggleAction *aZoomFitPage = nullptr; + KToggleAction *aZoomAutoFit = nullptr; + KActionMenu *aViewModeMenu = nullptr; + QActionGroup *viewModeActionGroup = nullptr; + ColorModeMenu *aColorModeMenu = nullptr; + KToggleAction *aViewContinuous = nullptr; + QAction *aPrevAction = nullptr; + KToggleAction *aToggleForms = nullptr; + QAction *aSpeakDoc = nullptr; + QAction *aSpeakDocFromPage = nullptr; + QAction *aSpeakPage = nullptr; + QAction *aSpeakStop = nullptr; + QAction *aSpeakPauseResume = nullptr; + KActionCollection *actionCollection = nullptr; + QActionGroup *mouseModeActionGroup = nullptr; + ToggleActionMenu *aMouseModeMenu = nullptr; + QAction *aFitWindowToPage = nullptr; + + int setting_viewCols = 0; + bool rtl_Mode = false; + // Keep track of whether tablet pen is currently pressed down + bool penDown = false; + + // Keep track of mouse over link object + const Okular::ObjectRect *mouseOverLinkObject = nullptr; + + QScroller *scroller = nullptr; + + bool pinchZoomActive = false; + // The remaining scroll from the previous zoom event + QPointF remainingScroll; + SignaturePartUtils::SigningInformation signingInfo; +#if HAVE_NEW_SIGNATURE_API + Okular::SignatureAnnotation *signatureAnnotation = nullptr; +#endif +}; + +PageViewPrivate::PageViewPrivate(PageView *qq) + : q(qq) +{ +} + +FormWidgetsController *PageViewPrivate::formWidgetsController() +{ + if (!formsWidgetController) { + formsWidgetController = new FormWidgetsController(document); + QObject::connect(formsWidgetController, &FormWidgetsController::changed, q, &PageView::slotFormChanged); + QObject::connect(formsWidgetController, &FormWidgetsController::action, q, &PageView::slotAction); + QObject::connect(formsWidgetController, &FormWidgetsController::mouseAction, q, &PageView::slotMouseAction); + } + + return formsWidgetController; +} + +#if HAVE_SPEECH +OkularTTS *PageViewPrivate::tts() +{ + if (!m_tts) { + m_tts = new OkularTTS(q); + if (aSpeakStop) { + QObject::connect(m_tts, &OkularTTS::canPauseOrResume, aSpeakStop, &QAction::setEnabled); + } + + if (aSpeakPauseResume) { + QObject::connect(m_tts, &OkularTTS::canPauseOrResume, aSpeakPauseResume, &QAction::setEnabled); + } + } + + return m_tts; +} +#endif + +/* PageView. What's in this file? -> quick overview. + * Code weight (in rows) and meaning: + * 160 - constructor and creating actions plus their connected slots (empty stuff) + * 70 - DocumentObserver inherited methodes (important) + * 550 - events: mouse, keyboard, drag + * 170 - slotRelayoutPages: set contents of the scrollview on continuous/single modes + * 100 - zoom: zooming pages in different ways, keeping update the toolbar actions, etc.. + * other misc functions: only slotRequestVisiblePixmaps and pickItemOnPoint noticeable, + * and many insignificant stuff like this comment :-) + */ +PageView::PageView(QWidget *parent, Okular::Document *document) + : QAbstractScrollArea(parent) + , Okular::View(QStringLiteral("PageView")) +{ + // create and initialize private storage structure + d = new PageViewPrivate(this); + d->document = document; + d->mouseMode = Okular::Settings::mouseMode(); + d->mouseAnnotation = new MouseAnnotation(this, document); + d->messageWindow = new PageViewMessage(this); + d->setting_viewCols = Okular::Settings::viewColumns(); + d->rtl_Mode = Okular::Settings::rtlReadingDirection(); + + d->trimBoundingBox = Okular::NormalizedRect(); // Null box + + switch (Okular::Settings::zoomMode()) { + case 0: { + d->zoomFactor = 1; + d->zoomMode = PageView::ZoomFixed; + break; + } + case 1: { + d->zoomMode = PageView::ZoomFitWidth; + break; + } + case 2: { + d->zoomMode = PageView::ZoomFitPage; + break; + } + case 3: { + d->zoomMode = PageView::ZoomFitAuto; + break; + } + case 4: { + d->zoomMode = PageView::ZoomFixed; + d->zoomFactor = Okular::Settings::customZoomFactor() / 100.0; + break; + } + } + + connect(Okular::Settings::self(), &Okular::Settings::viewContinuousChanged, this, [=, this]() { + if (d->aViewContinuous && !d->document->isOpened()) { + d->aViewContinuous->setChecked(Okular::Settings::viewContinuous()); + } + }); + + d->delayResizeEventTimer = new QTimer(this); + d->delayResizeEventTimer->setSingleShot(true); + d->delayResizeEventTimer->setObjectName(QStringLiteral("delayResizeEventTimer")); + connect(d->delayResizeEventTimer, &QTimer::timeout, this, &PageView::delayedResizeEvent); + + setFrameStyle(QFrame::NoFrame); + + setAttribute(Qt::WA_StaticContents); + + setObjectName(QStringLiteral("okular::pageView")); + + // viewport setup: setup focus, and track mouse + viewport()->setFocusProxy(this); + viewport()->setFocusPolicy(Qt::StrongFocus); + viewport()->setAttribute(Qt::WA_OpaquePaintEvent); + viewport()->setAttribute(Qt::WA_NoSystemBackground); + viewport()->setMouseTracking(true); + viewport()->setAutoFillBackground(false); + + d->scroller = QScroller::scroller(viewport()); + + QScrollerProperties prop; + prop.setScrollMetric(QScrollerProperties::DecelerationFactor, 0.3); + prop.setScrollMetric(QScrollerProperties::MaximumVelocity, 1); + prop.setScrollMetric(QScrollerProperties::AcceleratingFlickMaximumTime, 0.2); // Workaround for QTBUG-88249 (non-flick gestures recognized as accelerating flick) + prop.setScrollMetric(QScrollerProperties::HorizontalOvershootPolicy, QScrollerProperties::OvershootAlwaysOff); + prop.setScrollMetric(QScrollerProperties::VerticalOvershootPolicy, QScrollerProperties::OvershootAlwaysOff); + prop.setScrollMetric(QScrollerProperties::DragStartDistance, 0.0); + d->scroller->setScrollerProperties(prop); + + connect(d->scroller, &QScroller::stateChanged, this, [this](QScroller::State s) { slotRequestVisiblePixmaps(s); }); + + // the apparently "magic" value of 20 is the same used internally in QScrollArea + verticalScrollBar()->setCursor(Qt::ArrowCursor); + verticalScrollBar()->setSingleStep(20); + horizontalScrollBar()->setCursor(Qt::ArrowCursor); + horizontalScrollBar()->setSingleStep(20); + + // make the smooth scroll animation durations respect the global animation + // scale + KConfigWatcher::Ptr animationSpeedWatcher = KConfigWatcher::create(KSharedConfig::openConfig()); + connect(animationSpeedWatcher.data(), &KConfigWatcher::configChanged, this, [this](const KConfigGroup &group, const QByteArrayList &names) { + if (group.name() == QLatin1String("KDE") && names.contains(QByteArrayLiteral("AnimationDurationFactor"))) { + PageView::updateSmoothScrollAnimationSpeed(); + } + }); + + // connect the padding of the viewport to pixmaps requests + connect(horizontalScrollBar(), &QAbstractSlider::valueChanged, this, &PageView::slotRequestVisiblePixmaps); + connect(verticalScrollBar(), &QAbstractSlider::valueChanged, this, &PageView::slotRequestVisiblePixmaps); + + // Keep the scroller in sync with user input on the scrollbars. + // QAbstractSlider::sliderMoved() and sliderReleased are the intuitive signals, + // but are only emitted when the “slider is down”, i. e. not when the user scrolls on the scrollbar. + // QAbstractSlider::actionTriggered() is emitted in all user input cases, + // but before the value() changes, so we need queued connection here. + auto update_scroller = [=, this]() { + d->scroller->scrollTo(QPoint(horizontalScrollBar()->value(), verticalScrollBar()->value()), 0); // sync scroller with scrollbar + }; + connect(verticalScrollBar(), &QAbstractSlider::actionTriggered, this, update_scroller, Qt::QueuedConnection); + connect(horizontalScrollBar(), &QAbstractSlider::actionTriggered, this, update_scroller, Qt::QueuedConnection); + + connect(&d->dragScrollTimer, &QTimer::timeout, this, &PageView::slotDragScroll); + + d->leftClickTimer.setSingleShot(true); + connect(&d->leftClickTimer, &QTimer::timeout, this, &PageView::slotShowSizeAllCursor); + + // set a corner button to resize the view to the page size + // QPushButton * resizeButton = new QPushButton( viewport() ); + // resizeButton->setPixmap( SmallIcon("crop") ); + // setCornerWidget( resizeButton ); + // resizeButton->setEnabled( false ); + // connect(...); + setAttribute(Qt::WA_InputMethodEnabled, true); + + // Grab pinch gestures to zoom and rotate the view + grabGesture(Qt::PinchGesture); + + d->magnifierView = new MagnifierView(document, this); + d->magnifierView->hide(); + d->magnifierView->setGeometry(0, 0, 351, 201); // TODO: more dynamic? + + connect(document, &Okular::Document::processMovieAction, this, &PageView::slotProcessMovieAction); + connect(document, &Okular::Document::processRenditionAction, this, &PageView::slotProcessRenditionAction); + + // schedule the welcome message + QMetaObject::invokeMethod(this, "slotShowWelcome", Qt::QueuedConnection); +} + +PageView::~PageView() +{ +#if HAVE_SPEECH + if (d->m_tts) { + d->m_tts->stopAllSpeechs(); + } +#endif + + delete d->mouseAnnotation; + + // delete the local storage structure + + // We need to assign it to a different list otherwise slotAnnotationWindowDestroyed + // will bite us and clear d->m_annowindows + QSet annowindows = d->m_annowindows; + d->m_annowindows.clear(); + qDeleteAll(annowindows); + + // delete all widgets + qDeleteAll(d->items); + delete d->formsWidgetController; + d->document->removeObserver(this); + delete d; +} + +void PageView::setupViewport(QWidget *viewport) +{ + notifyAnnotationWindowsAboutViewportBoundsChange(); + QAbstractScrollArea::setupViewport(viewport); +} + +void PageView::setupBaseActions(KActionCollection *ac) +{ + d->actionCollection = ac; + + // Zoom actions ( higher scales takes lots of memory! ) + d->aZoom = new KSelectAction(QIcon::fromTheme(QStringLiteral("page-zoom")), i18n("Zoom"), this); + ac->addAction(QStringLiteral("zoom_to"), d->aZoom); + d->aZoom->setEditable(true); + d->aZoom->setMaxComboViewCount(kZoomValues.size() + 3); + connect(d->aZoom, &KSelectAction::actionTriggered, this, &PageView::slotZoom); + updateZoomText(); + + d->aZoomIn = KStandardAction::zoomIn(this, SLOT(slotZoomIn()), ac); + + d->aZoomOut = KStandardAction::zoomOut(this, SLOT(slotZoomOut()), ac); + + d->aZoomActual = KStandardAction::actualSize(this, &PageView::slotZoomActual, ac); + d->aZoomActual->setText(i18n("Zoom to 100%")); +} + +void PageView::setupViewerActions(KActionCollection *ac) +{ + d->actionCollection = ac; + + ac->setDefaultShortcut(d->aZoomIn, QKeySequence(Qt::CTRL | Qt::ALT | Qt::Key_Plus)); + ac->setDefaultShortcut(d->aZoomOut, QKeySequence(Qt::CTRL | Qt::ALT | Qt::Key_Minus)); + + // orientation menu actions + d->aRotateClockwise = new QAction(QIcon::fromTheme(QStringLiteral("object-rotate-right")), i18n("Rotate &Right"), this); + d->aRotateClockwise->setIconText(i18nc("Rotate right", "Right")); + ac->addAction(QStringLiteral("view_orientation_rotate_cw"), d->aRotateClockwise); + d->aRotateClockwise->setEnabled(false); + connect(d->aRotateClockwise, &QAction::triggered, this, &PageView::slotRotateClockwise); + d->aRotateCounterClockwise = new QAction(QIcon::fromTheme(QStringLiteral("object-rotate-left")), i18n("Rotate &Left"), this); + d->aRotateCounterClockwise->setIconText(i18nc("Rotate left", "Left")); + ac->addAction(QStringLiteral("view_orientation_rotate_ccw"), d->aRotateCounterClockwise); + d->aRotateCounterClockwise->setEnabled(false); + connect(d->aRotateCounterClockwise, &QAction::triggered, this, &PageView::slotRotateCounterClockwise); + d->aRotateOriginal = new QAction(i18n("Original Orientation"), this); + ac->addAction(QStringLiteral("view_orientation_original"), d->aRotateOriginal); + d->aRotateOriginal->setEnabled(false); + connect(d->aRotateOriginal, &QAction::triggered, this, &PageView::slotRotateOriginal); + + // Trim View actions + d->aTrimMode = new KActionMenu(i18n("&Trim View"), this); + d->aTrimMode->setPopupMode(QToolButton::InstantPopup); + ac->addAction(QStringLiteral("view_trim_mode"), d->aTrimMode); + + d->aTrimMargins = new KToggleAction(QIcon::fromTheme(QStringLiteral("trim-margins")), i18n("&Trim Margins"), d->aTrimMode->menu()); + d->aTrimMode->addAction(d->aTrimMargins); + ac->addAction(QStringLiteral("view_trim_margins"), d->aTrimMargins); + d->aTrimMargins->setData(QVariant::fromValue((int)Okular::Settings::EnumTrimMode::Margins)); + connect(d->aTrimMargins, &QAction::toggled, this, &PageView::slotTrimMarginsToggled); + d->aTrimMargins->setChecked(Okular::Settings::trimMargins()); + + d->aTrimToSelection = new KToggleAction(QIcon::fromTheme(QStringLiteral("trim-to-selection")), i18n("Trim To &Selection"), d->aTrimMode->menu()); + d->aTrimMode->addAction(d->aTrimToSelection); + ac->addAction(QStringLiteral("view_trim_selection"), d->aTrimToSelection); + d->aTrimToSelection->setData(QVariant::fromValue((int)Okular::Settings::EnumTrimMode::Selection)); + connect(d->aTrimToSelection, &QAction::toggled, this, &PageView::slotTrimToSelectionToggled); + + d->aZoomFitWidth = new KToggleAction(QIcon::fromTheme(QStringLiteral("zoom-fit-width")), i18n("Fit &Width"), this); + ac->addAction(QStringLiteral("view_fit_to_width"), d->aZoomFitWidth); + connect(d->aZoomFitWidth, &QAction::toggled, this, &PageView::slotFitToWidthToggled); + + d->aZoomFitPage = new KToggleAction(QIcon::fromTheme(QStringLiteral("zoom-fit-best")), i18n("Fit &Page"), this); + ac->addAction(QStringLiteral("view_fit_to_page"), d->aZoomFitPage); + connect(d->aZoomFitPage, &QAction::toggled, this, &PageView::slotFitToPageToggled); + + d->aZoomAutoFit = new KToggleAction(QIcon::fromTheme(QStringLiteral("zoom-fit-best")), i18n("&Auto Fit"), this); + ac->addAction(QStringLiteral("view_auto_fit"), d->aZoomAutoFit); + connect(d->aZoomAutoFit, &QAction::toggled, this, &PageView::slotAutoFitToggled); + + d->aFitWindowToPage = new QAction(QIcon::fromTheme(QStringLiteral("zoom-fit-width")), i18n("Fit Wi&ndow to Page"), this); + d->aFitWindowToPage->setEnabled(Okular::Settings::viewMode() == (int)Okular::Settings::EnumViewMode::Single); + ac->setDefaultShortcut(d->aFitWindowToPage, QKeySequence(Qt::CTRL | Qt::Key_J)); + ac->addAction(QStringLiteral("fit_window_to_page"), d->aFitWindowToPage); + connect(d->aFitWindowToPage, &QAction::triggered, this, &PageView::slotFitWindowToPage); + + // View Mode action menu (Single Page, Facing Pages,...(choose), and Continuous (on/off)) + d->aViewModeMenu = new KActionMenu(QIcon::fromTheme(QStringLiteral("view-split-left-right")), i18n("&View Mode"), this); + d->aViewModeMenu->setPopupMode(QToolButton::InstantPopup); + ac->addAction(QStringLiteral("view_render_mode"), d->aViewModeMenu); + + d->viewModeActionGroup = new QActionGroup(this); + auto addViewMode = [=, this](QAction *a, const QString &name, Okular::Settings::EnumViewMode::type id) { + a->setCheckable(true); + a->setData(int(id)); + d->aViewModeMenu->addAction(a); + ac->addAction(name, a); + d->viewModeActionGroup->addAction(a); + }; + addViewMode(new QAction(QIcon::fromTheme(QStringLiteral("view-pages-single")), i18nc("@item:inmenu", "&Single Page"), this), QStringLiteral("view_render_mode_single"), Okular::Settings::EnumViewMode::Single); + addViewMode(new QAction(QIcon::fromTheme(QStringLiteral("view-pages-facing")), i18nc("@item:inmenu", "&Facing Pages"), this), QStringLiteral("view_render_mode_facing"), Okular::Settings::EnumViewMode::Facing); + addViewMode(new QAction(QIcon::fromTheme(QStringLiteral("view-pages-facing-first-centered")), i18nc("@item:inmenu", "Facing Pages (&Center First Page)"), this), + QStringLiteral("view_render_mode_facing_center_first"), + Okular::Settings::EnumViewMode::FacingFirstCentered); + addViewMode(new QAction(QIcon::fromTheme(QStringLiteral("view-pages-overview")), i18nc("@item:inmenu", "&Overview"), this), QStringLiteral("view_render_mode_overview"), Okular::Settings::EnumViewMode::Summary); + const QList viewModeActions = d->viewModeActionGroup->actions(); + for (QAction *viewModeAction : viewModeActions) { + if (viewModeAction->data().toInt() == Okular::Settings::viewMode()) { + viewModeAction->setChecked(true); + break; + } + } + connect(d->viewModeActionGroup, &QActionGroup::triggered, this, &PageView::slotViewMode); + + // Continuous view action, add to view mode action menu. + d->aViewModeMenu->addSeparator(); + d->aViewContinuous = new KToggleAction(QIcon::fromTheme(QStringLiteral("view-pages-continuous")), i18n("&Continuous"), this); + d->aViewModeMenu->addAction(d->aViewContinuous); + ac->addAction(QStringLiteral("view_continuous"), d->aViewContinuous); + connect(d->aViewContinuous, &QAction::toggled, this, &PageView::slotContinuousToggled); + d->aViewContinuous->setChecked(Okular::Settings::viewContinuous()); + + // Reading direction toggle action. (Checked means RTL, unchecked means LTR.) + d->aReadingDirection = new KToggleAction(QIcon::fromTheme(QStringLiteral("format-text-direction-rtl")), i18nc("@action page layout", "Use Right to Left Reading Direction"), this); + d->aReadingDirection->setChecked(Okular::Settings::rtlReadingDirection()); + ac->addAction(QStringLiteral("rtl_page_layout"), d->aReadingDirection); + connect(d->aReadingDirection, &QAction::toggled, this, &PageView::slotReadingDirectionToggled); + connect(Okular::SettingsCore::self(), &Okular::SettingsCore::configChanged, this, &PageView::slotUpdateReadingDirectionAction); + + // Mouse mode actions for viewer mode + d->mouseModeActionGroup = new QActionGroup(this); + d->mouseModeActionGroup->setExclusive(true); + d->aMouseNormal = new QAction(QIcon::fromTheme(QStringLiteral("transform-browse")), i18n("&Browse"), this); + ac->addAction(QStringLiteral("mouse_drag"), d->aMouseNormal); + connect(d->aMouseNormal, &QAction::triggered, this, &PageView::slotSetMouseNormal); + d->aMouseNormal->setCheckable(true); + ac->setDefaultShortcut(d->aMouseNormal, QKeySequence(Qt::CTRL | Qt::Key_1)); + d->aMouseNormal->setActionGroup(d->mouseModeActionGroup); + d->aMouseNormal->setChecked(Okular::Settings::mouseMode() == Okular::Settings::EnumMouseMode::Browse); + + d->aMouseZoom = new QAction(QIcon::fromTheme(QStringLiteral("page-zoom")), i18n("&Zoom"), this); + ac->addAction(QStringLiteral("mouse_zoom"), d->aMouseZoom); + connect(d->aMouseZoom, &QAction::triggered, this, &PageView::slotSetMouseZoom); + d->aMouseZoom->setCheckable(true); + ac->setDefaultShortcut(d->aMouseZoom, QKeySequence(Qt::CTRL | Qt::Key_2)); + d->aMouseZoom->setActionGroup(d->mouseModeActionGroup); + d->aMouseZoom->setChecked(Okular::Settings::mouseMode() == Okular::Settings::EnumMouseMode::Zoom); + + d->aColorModeMenu = new ColorModeMenu(ac, this); +} + +// WARNING: 'setupViewerActions' must have been called before this method +void PageView::setupActions(KActionCollection *ac) +{ + d->actionCollection = ac; + + ac->setDefaultShortcuts(d->aZoomIn, KStandardShortcut::zoomIn()); + ac->setDefaultShortcuts(d->aZoomOut, KStandardShortcut::zoomOut()); + + // Mouse-Mode actions + d->aMouseSelect = new QAction(QIcon::fromTheme(QStringLiteral("select-rectangular")), i18n("Area &Selection"), this); + ac->addAction(QStringLiteral("mouse_select"), d->aMouseSelect); + connect(d->aMouseSelect, &QAction::triggered, this, &PageView::slotSetMouseSelect); + d->aMouseSelect->setCheckable(true); + ac->setDefaultShortcut(d->aMouseSelect, Qt::CTRL | Qt::Key_3); + d->aMouseSelect->setActionGroup(d->mouseModeActionGroup); + + d->aMouseTextSelect = new QAction(QIcon::fromTheme(QStringLiteral("edit-select-text")), i18n("&Text Selection"), this); + ac->addAction(QStringLiteral("mouse_textselect"), d->aMouseTextSelect); + connect(d->aMouseTextSelect, &QAction::triggered, this, &PageView::slotSetMouseTextSelect); + d->aMouseTextSelect->setCheckable(true); + ac->setDefaultShortcut(d->aMouseTextSelect, Qt::CTRL | Qt::Key_4); + d->aMouseTextSelect->setActionGroup(d->mouseModeActionGroup); + + d->aMouseTableSelect = new QAction(QIcon::fromTheme(QStringLiteral("table")), i18n("T&able Selection"), this); + ac->addAction(QStringLiteral("mouse_tableselect"), d->aMouseTableSelect); + connect(d->aMouseTableSelect, &QAction::triggered, this, &PageView::slotSetMouseTableSelect); + d->aMouseTableSelect->setCheckable(true); + ac->setDefaultShortcut(d->aMouseTableSelect, Qt::CTRL | Qt::Key_5); + d->aMouseTableSelect->setActionGroup(d->mouseModeActionGroup); + + d->aMouseMagnifier = new QAction(QIcon::fromTheme(QStringLiteral("document-preview")), i18n("&Magnifier"), this); + ac->addAction(QStringLiteral("mouse_magnifier"), d->aMouseMagnifier); + connect(d->aMouseMagnifier, &QAction::triggered, this, &PageView::slotSetMouseMagnifier); + d->aMouseMagnifier->setCheckable(true); + ac->setDefaultShortcut(d->aMouseMagnifier, Qt::CTRL | Qt::Key_6); + d->aMouseMagnifier->setActionGroup(d->mouseModeActionGroup); + d->aMouseMagnifier->setChecked(Okular::Settings::mouseMode() == Okular::Settings::EnumMouseMode::Magnifier); + + // Mouse mode selection tools menu + d->aMouseModeMenu = new ToggleActionMenu(i18nc("@action", "Selection Tools"), this); + d->aMouseModeMenu->setPopupMode(QToolButton::MenuButtonPopup); + d->aMouseModeMenu->addAction(d->aMouseSelect); + d->aMouseModeMenu->addAction(d->aMouseTextSelect); + d->aMouseModeMenu->addAction(d->aMouseTableSelect); + connect(d->aMouseModeMenu->menu(), &QMenu::triggered, d->aMouseModeMenu, &ToggleActionMenu::setDefaultAction); + ac->addAction(QStringLiteral("mouse_selecttools"), d->aMouseModeMenu); + + switch (Okular::Settings::mouseMode()) { + case Okular::Settings::EnumMouseMode::TextSelect: + d->aMouseTextSelect->setChecked(true); + d->aMouseModeMenu->setDefaultAction(d->aMouseTextSelect); + break; + case Okular::Settings::EnumMouseMode::RectSelect: + d->aMouseSelect->setChecked(true); + d->aMouseModeMenu->setDefaultAction(d->aMouseSelect); + break; + case Okular::Settings::EnumMouseMode::TableSelect: + d->aMouseTableSelect->setChecked(true); + d->aMouseModeMenu->setDefaultAction(d->aMouseTableSelect); + break; + default: + d->aMouseModeMenu->setDefaultAction(d->aMouseTextSelect); + } + + // Create signature action + d->aSignature = new QAction(QIcon::fromTheme(QStringLiteral("document-edit-sign")), i18n("Digitally &Sign…"), this); + ac->addAction(QStringLiteral("add_digital_signature"), d->aSignature); + connect(d->aSignature, &QAction::triggered, this, &PageView::slotSignature); + + // speak actions +#if HAVE_SPEECH + d->aSpeakDoc = new QAction(QIcon::fromTheme(QStringLiteral("text-speak")), i18n("Speak Whole Document"), this); + ac->addAction(QStringLiteral("speak_document"), d->aSpeakDoc); + d->aSpeakDoc->setEnabled(false); + connect(d->aSpeakDoc, &QAction::triggered, this, &PageView::slotSpeakDocument); + + d->aSpeakDocFromPage = new QAction(QIcon::fromTheme(QStringLiteral("text-speak")), i18n("Speak From Current Page"), this); + ac->addAction(QStringLiteral("speak_from_current_page"), d->aSpeakDocFromPage); + d->aSpeakDocFromPage->setEnabled(false); + connect(d->aSpeakDocFromPage, &QAction::triggered, this, &PageView::slotSpeakFromCurrentPage); + + d->aSpeakPage = new QAction(QIcon::fromTheme(QStringLiteral("text-speak")), i18n("Speak Current Page"), this); + ac->addAction(QStringLiteral("speak_current_page"), d->aSpeakPage); + d->aSpeakPage->setEnabled(false); + connect(d->aSpeakPage, &QAction::triggered, this, &PageView::slotSpeakCurrentPage); + + d->aSpeakStop = new QAction(QIcon::fromTheme(QStringLiteral("media-playback-stop")), i18n("Stop Speaking"), this); + ac->addAction(QStringLiteral("speak_stop_all"), d->aSpeakStop); + d->aSpeakStop->setEnabled(false); + connect(d->aSpeakStop, &QAction::triggered, this, &PageView::slotStopSpeaks); + + d->aSpeakPauseResume = new QAction(QIcon::fromTheme(QStringLiteral("media-playback-pause")), i18n("Pause/Resume Speaking"), this); + ac->addAction(QStringLiteral("speak_pause_resume"), d->aSpeakPauseResume); + d->aSpeakPauseResume->setEnabled(false); + connect(d->aSpeakPauseResume, &QAction::triggered, this, &PageView::slotPauseResumeSpeech); +#else + d->aSpeakDoc = nullptr; + d->aSpeakPage = nullptr; + d->aSpeakStop = nullptr; + d->aSpeakPauseResume = nullptr; +#endif + + // Other actions + QAction *su = new QAction(i18n("Scroll Up"), this); + ac->addAction(QStringLiteral("view_scroll_up"), su); + connect(su, &QAction::triggered, this, &PageView::slotAutoScrollUp); + ac->setDefaultShortcut(su, QKeySequence(Qt::SHIFT | Qt::Key_Up)); + addAction(su); + + QAction *sd = new QAction(i18n("Scroll Down"), this); + ac->addAction(QStringLiteral("view_scroll_down"), sd); + connect(sd, &QAction::triggered, this, &PageView::slotAutoScrollDown); + ac->setDefaultShortcut(sd, QKeySequence(Qt::SHIFT | Qt::Key_Down)); + addAction(sd); + + QAction *spu = new QAction(i18n("Scroll Page Up"), this); + ac->addAction(QStringLiteral("view_scroll_page_up"), spu); + connect(spu, &QAction::triggered, this, &PageView::slotScrollUp); + ac->setDefaultShortcut(spu, QKeySequence(Qt::SHIFT | Qt::Key_Space)); + addAction(spu); + + QAction *spd = new QAction(i18n("Scroll Page Down"), this); + ac->addAction(QStringLiteral("view_scroll_page_down"), spd); + connect(spd, &QAction::triggered, this, &PageView::slotScrollDown); + ac->setDefaultShortcut(spd, QKeySequence(Qt::Key_Space)); + addAction(spd); + + d->aToggleForms = new KToggleAction(i18n("Show Forms"), this); + ac->addAction(QStringLiteral("view_toggle_forms"), d->aToggleForms); + connect(d->aToggleForms, &QAction::toggled, this, &PageView::slotToggleForms); + d->aToggleForms->setEnabled(false); + toggleFormWidgets(false); + + // Setup undo and redo actions + QAction *kundo = KStandardAction::create(KStandardAction::Undo, d->document, SLOT(undo()), ac); + QAction *kredo = KStandardAction::create(KStandardAction::Redo, d->document, SLOT(redo()), ac); + connect(d->document, &Okular::Document::canUndoChanged, kundo, &QAction::setEnabled); + connect(d->document, &Okular::Document::canRedoChanged, kredo, &QAction::setEnabled); + kundo->setEnabled(false); + kredo->setEnabled(false); + + d->annotator = new PageViewAnnotator(this, d->document); + connect(d->annotator, &PageViewAnnotator::toolActive, this, [&](bool selected) { + if (selected) { + QAction *aMouseMode = d->mouseModeActionGroup->checkedAction(); + if (aMouseMode) { + aMouseMode->setChecked(false); + } + } else { + switch (d->mouseMode) { + case Okular::Settings::EnumMouseMode::Browse: + d->aMouseNormal->setChecked(true); + break; + case Okular::Settings::EnumMouseMode::Zoom: + d->aMouseZoom->setChecked(true); + break; + case Okular::Settings::EnumMouseMode::RectSelect: + d->aMouseSelect->setChecked(true); + break; + case Okular::Settings::EnumMouseMode::TableSelect: + d->aMouseTableSelect->setChecked(true); + break; + case Okular::Settings::EnumMouseMode::Magnifier: + d->aMouseMagnifier->setChecked(true); + break; + case Okular::Settings::EnumMouseMode::TextSelect: + d->aMouseTextSelect->setChecked(true); + break; + } + } + }); + connect(d->annotator, &PageViewAnnotator::toolActive, d->mouseAnnotation, &MouseAnnotation::reset); + connect(d->annotator, &PageViewAnnotator::requestOpenNewlySignedFile, this, &PageView::requestOpenNewlySignedFile); + d->annotator->setupActions(ac); +} + +bool PageView::canFitPageWidth() const +{ + return Okular::Settings::viewMode() != Okular::Settings::EnumViewMode::Single || d->zoomMode != ZoomFitWidth; +} + +void PageView::fitPageWidth(int page) +{ + // zoom: Fit Width, columns: 1. setActions + relayout + setPage + update + d->zoomMode = ZoomFitWidth; + Okular::Settings::setViewMode(Okular::Settings::EnumViewMode::Single); + d->aZoomFitWidth->setChecked(true); + d->aZoomFitPage->setChecked(false); + d->aZoomAutoFit->setChecked(false); + updateViewMode(Okular::Settings::EnumViewMode::Single); + viewport()->setUpdatesEnabled(false); + slotRelayoutPages(); + viewport()->setUpdatesEnabled(true); + d->document->setViewportPage(page); + updateZoomText(); + setFocus(); +} + +void PageView::openAnnotationWindow(Okular::Annotation *annotation, int pageNumber) +{ + if (!annotation) { + return; + } + + // find the annot window + AnnotWindow *existWindow = nullptr; + for (AnnotWindow *aw : std::as_const(d->m_annowindows)) { + if (aw->annotation() == annotation) { + existWindow = aw; + break; + } + } + + if (existWindow == nullptr) { + const auto initialViewportBounds = viewportBoundsForAnnotationWindows(); + existWindow = new AnnotWindow(this, initialViewportBounds, annotation, d->document, pageNumber); + connect(existWindow, &QObject::destroyed, this, &PageView::slotAnnotationWindowDestroyed); + + d->m_annowindows << existWindow; + } else { + existWindow->raise(); + existWindow->findChild()->setFocus(); + } + + existWindow->show(); +} + +void PageView::slotAnnotationWindowDestroyed(QObject *window) +{ + d->m_annowindows.remove(static_cast(window)); +} + +void PageView::displayMessage(const QString &message, const QString &details, PageViewMessage::Icon icon, int duration) +{ + if (!Okular::Settings::showOSD()) { + if (icon == PageViewMessage::Error) { + if (!details.isEmpty()) { + KMessageBox::detailedError(this, message, details); + } else { + KMessageBox::error(this, message); + } + } + return; + } + + // hide messageWindow if string is empty + if (message.isEmpty()) { + d->messageWindow->hide(); + return; + } + + // display message (duration is length dependent) + if (duration == -1) { + duration = 500 + 100 * message.length(); + if (!details.isEmpty()) { + duration += 500 + 100 * details.length(); + } + } + d->messageWindow->display(message, details, icon, duration); +} + +void PageView::reparseConfig() +{ + // set smooth scrolling policies + PageView::updateSmoothScrollAnimationSpeed(); + + // set the scroll bars policies + Qt::ScrollBarPolicy scrollBarMode = Okular::Settings::showScrollBars() ? Qt::ScrollBarAsNeeded : Qt::ScrollBarAlwaysOff; + if (horizontalScrollBarPolicy() != scrollBarMode) { + setHorizontalScrollBarPolicy(scrollBarMode); + setVerticalScrollBarPolicy(scrollBarMode); + } + + if (Okular::Settings::viewMode() == Okular::Settings::EnumViewMode::Summary && ((int)Okular::Settings::viewColumns() != d->setting_viewCols)) { + d->setting_viewCols = Okular::Settings::viewColumns(); + + slotRelayoutPages(); + } + + if (Okular::Settings::rtlReadingDirection() != d->rtl_Mode) { + d->rtl_Mode = Okular::Settings::rtlReadingDirection(); + slotRelayoutPages(); + } + + updatePageStep(); + + if (d->annotator) { + d->annotator->reparseConfig(); + } + + // Something like invert colors may have changed + // As we don't have a way to find out the old value + // We just update the viewport, this shouldn't be that bad + // since it's just a repaint of pixmaps we already have + viewport()->update(); +} + +KActionCollection *PageView::actionCollection() const +{ + return d->actionCollection; +} + +QAction *PageView::toggleFormsAction() const +{ + return d->aToggleForms; +} + +int PageView::contentAreaWidth() const +{ + return horizontalScrollBar()->maximum() + viewport()->width(); +} + +int PageView::contentAreaHeight() const +{ + return verticalScrollBar()->maximum() + viewport()->height(); +} + +QPoint PageView::contentAreaPosition() const +{ + return QPoint(horizontalScrollBar()->value(), verticalScrollBar()->value()); +} + +QPoint PageView::contentAreaPoint(const QPoint pos) const +{ + return pos + contentAreaPosition(); +} + +QPointF PageView::contentAreaPoint(const QPointF pos) const +{ + return pos + contentAreaPosition(); +} + +QString PageViewPrivate::selectedText() const +{ + if (pagesWithTextSelection.isEmpty()) { + return QString(); + } + + QString text; + QList selpages = pagesWithTextSelection.values(); + std::sort(selpages.begin(), selpages.end()); + const Okular::Page *pg = nullptr; + if (selpages.count() == 1) { + pg = document->page(selpages.first()); + text.append(pg->text(pg->textSelection(), Okular::TextPage::CentralPixelTextAreaInclusionBehaviour)); + } else { + pg = document->page(selpages.first()); + text.append(pg->text(pg->textSelection(), Okular::TextPage::CentralPixelTextAreaInclusionBehaviour)); + int end = selpages.count() - 1; + for (int i = 1; i < end; ++i) { + pg = document->page(selpages.at(i)); + text.append(pg->text(nullptr, Okular::TextPage::CentralPixelTextAreaInclusionBehaviour)); + } + pg = document->page(selpages.last()); + text.append(pg->text(pg->textSelection(), Okular::TextPage::CentralPixelTextAreaInclusionBehaviour)); + } + + if (text.endsWith(QLatin1Char('\n'))) { + text.chop(1); + } + return text; +} + +QMimeData *PageView::getTableContents() const +{ + QString selText; + QString selHtml; + QList xs = d->tableSelectionCols; + QList ys = d->tableSelectionRows; + xs.prepend(0.0); + xs.append(1.0); + ys.prepend(0.0); + ys.append(1.0); + selHtml = QString::fromLatin1( + "" + "" + ""); + for (int r = 0; r + 1 < ys.length(); r++) { + selHtml += QLatin1String(""); + for (int c = 0; c + 1 < xs.length(); c++) { + Okular::NormalizedRect cell(xs[c], ys[r], xs[c + 1], ys[r + 1]); + if (c) { + selText += QLatin1Char('\t'); + } + QString txt; + for (const TableSelectionPart &tsp : std::as_const(d->tableSelectionParts)) { + // first, crop the cell to this part + if (!tsp.rectInSelection.intersects(cell)) { + continue; + } + Okular::NormalizedRect cellPart = tsp.rectInSelection & cell; // intersection + + // second, convert it from table coordinates to part coordinates + cellPart.left -= tsp.rectInSelection.left; + cellPart.left /= (tsp.rectInSelection.right - tsp.rectInSelection.left); + cellPart.right -= tsp.rectInSelection.left; + cellPart.right /= (tsp.rectInSelection.right - tsp.rectInSelection.left); + cellPart.top -= tsp.rectInSelection.top; + cellPart.top /= (tsp.rectInSelection.bottom - tsp.rectInSelection.top); + cellPart.bottom -= tsp.rectInSelection.top; + cellPart.bottom /= (tsp.rectInSelection.bottom - tsp.rectInSelection.top); + + // third, convert from part coordinates to item coordinates + cellPart.left *= (tsp.rectInItem.right - tsp.rectInItem.left); + cellPart.left += tsp.rectInItem.left; + cellPart.right *= (tsp.rectInItem.right - tsp.rectInItem.left); + cellPart.right += tsp.rectInItem.left; + cellPart.top *= (tsp.rectInItem.bottom - tsp.rectInItem.top); + cellPart.top += tsp.rectInItem.top; + cellPart.bottom *= (tsp.rectInItem.bottom - tsp.rectInItem.top); + cellPart.bottom += tsp.rectInItem.top; + + // now get the text + Okular::RegularAreaRect rects; + rects.append(cellPart); + txt += tsp.item->page()->text(&rects, Okular::TextPage::CentralPixelTextAreaInclusionBehaviour); + } + QString html = txt; + selText += txt.replace(QLatin1Char('\n'), QLatin1Char(' ')); + html.replace(QLatin1Char('&'), QLatin1String("&")).replace(QLatin1Char('<'), QLatin1String("<")).replace(QLatin1Char('>'), QLatin1String(">")); + // Remove newlines, do not turn them into
, because + // Excel interprets
within cell as new cell... + html.replace(QLatin1Char('\n'), QLatin1String(" ")); + selHtml += QStringLiteral(""); + } + selText += QLatin1Char('\n'); + selHtml += QLatin1String("\n"); + } + selHtml += QLatin1String("
") + html + QStringLiteral("
\n"); + + QMimeData *md = new QMimeData(); + md->setText(selText); + md->setHtml(selHtml); + + return md; +} + +void PageView::copyTextSelection() const +{ + switch (d->mouseMode) { + case Okular::Settings::EnumMouseMode::Browse: { + if (auto *annotation = d->mouseAnnotation->annotation()) { + const QString text = annotation->contents(); + if (!text.isEmpty()) { + QClipboard *cb = QApplication::clipboard(); + cb->setText(text, QClipboard::Clipboard); + } + } + } break; + + case Okular::Settings::EnumMouseMode::TableSelect: { + QClipboard *cb = QApplication::clipboard(); + cb->setMimeData(getTableContents(), QClipboard::Clipboard); + } break; + + case Okular::Settings::EnumMouseMode::TextSelect: { + const QString text = d->selectedText(); + if (!text.isEmpty()) { + QClipboard *cb = QApplication::clipboard(); + cb->setText(text, QClipboard::Clipboard); + } + } break; + } +} + +void PageView::selectAll() +{ + for (const PageViewItem *item : std::as_const(d->items)) { + std::unique_ptr area = textSelectionForItem(item); + d->pagesWithTextSelection.insert(item->pageNumber()); + d->document->setPageTextSelection(item->pageNumber(), std::move(area), palette().color(QPalette::Active, QPalette::Highlight)); + } +} + +void PageView::createAnnotationsVideoWidgets(PageViewItem *item, const QList &annotations) +{ + qDeleteAll(item->videoWidgets()); + item->videoWidgets().clear(); + + for (Okular::Annotation *a : annotations) { + if (a->subType() == Okular::Annotation::AMovie) { + Okular::MovieAnnotation *movieAnn = static_cast(a); + VideoWidget *vw = new VideoWidget(movieAnn, movieAnn->movie(), d->document, viewport()); + item->videoWidgets().insert(movieAnn->movie(), vw); + vw->pageInitialized(); + } else if (a->subType() == Okular::Annotation::ARichMedia) { + Okular::RichMediaAnnotation *richMediaAnn = static_cast(a); + VideoWidget *vw = new VideoWidget(richMediaAnn, richMediaAnn->movie(), d->document, viewport()); + item->videoWidgets().insert(richMediaAnn->movie(), vw); + vw->pageInitialized(); + } else if (a->subType() == Okular::Annotation::AScreen) { + const Okular::ScreenAnnotation *screenAnn = static_cast(a); + Okular::Movie *movie = GuiUtils::renditionMovieFromScreenAnnotation(screenAnn); + if (movie) { + VideoWidget *vw = new VideoWidget(screenAnn, movie, d->document, viewport()); + item->videoWidgets().insert(movie, vw); + vw->pageInitialized(); + } + } + } +} + +// BEGIN DocumentObserver inherited methods +void PageView::notifySetup(const QList &pageSet, int setupFlags) +{ + bool documentChanged = setupFlags & Okular::DocumentObserver::DocumentChanged; + const bool allowfillforms = d->document->isAllowed(Okular::AllowFillForms); + + // reuse current pages if nothing new + if ((pageSet.count() == d->items.count()) && !documentChanged && !(setupFlags & Okular::DocumentObserver::NewLayoutForPages)) { + int count = pageSet.count(); + for (int i = 0; (i < count) && !documentChanged; i++) { + if ((int)pageSet[i]->number() != d->items[i]->pageNumber()) { + documentChanged = true; + } else { + // even if the document has not changed, allowfillforms may have + // changed, so update all fields' "canBeFilled" flag + const QSet formWidgetsList = d->items[i]->formWidgets(); + for (FormWidgetIface *w : formWidgetsList) { + w->setCanBeFilled(allowfillforms); + } + } + } + + if (!documentChanged) { + if (setupFlags & Okular::DocumentObserver::UrlChanged) { + // Here with UrlChanged and no document changed it means we + // need to update all the Annotation* and Form* otherwise + // they still point to the old document ones, luckily the old ones are still + // around so we can look for the new ones using unique ids, etc + d->mouseAnnotation->updateAnnotationPointers(); + + for (AnnotWindow *aw : std::as_const(d->m_annowindows)) { + Okular::Annotation *newA = d->document->page(aw->pageNumber())->annotation(aw->annotation()->uniqueName()); + aw->updateAnnotation(newA); + } + + const QRect viewportRect(horizontalScrollBar()->value(), verticalScrollBar()->value(), viewport()->width(), viewport()->height()); + for (int i = 0; i < count; i++) { + PageViewItem *item = d->items[i]; + const QSet fws = item->formWidgets(); + for (FormWidgetIface *w : fws) { + Okular::FormField *f = Okular::PagePrivate::findEquivalentForm(d->document->page(i), w->formField()); + if (f) { + w->setFormField(f); + } else { + qWarning() << "Lost form field on document save, something is wrong"; + item->formWidgets().remove(w); + delete w; + } + } + + // For the video widgets we don't really care about reusing them since they don't contain much info so just + // create them again + createAnnotationsVideoWidgets(item, pageSet[i]->annotations()); + const QHash videoWidgets = item->videoWidgets(); + for (VideoWidget *vw : videoWidgets) { + const Okular::NormalizedRect r = vw->normGeometry(); + vw->setGeometry(qRound(item->uncroppedGeometry().left() + item->uncroppedWidth() * r.left) + 1 - viewportRect.left(), + qRound(item->uncroppedGeometry().top() + item->uncroppedHeight() * r.top) + 1 - viewportRect.top(), + qRound(fabs(r.right - r.left) * item->uncroppedGeometry().width()), + qRound(fabs(r.bottom - r.top) * item->uncroppedGeometry().height())); + + // Workaround, otherwise the size somehow gets lost + vw->show(); + vw->hide(); + } + } + } + + return; + } + } + + // mouseAnnotation must not access our PageViewItem widgets any longer + d->mouseAnnotation->reset(); + + // delete all widgets (one for each page in pageSet) + qDeleteAll(d->items); + d->items.clear(); + d->visibleItems.clear(); + d->pagesWithTextSelection.clear(); + toggleFormWidgets(false); + if (d->formsWidgetController) { + d->formsWidgetController->dropRadioButtons(); + } + + bool haspages = !pageSet.isEmpty(); + bool hasformwidgets = false; + // create children widgets + for (const Okular::Page *page : pageSet) { + PageViewItem *item = new PageViewItem(page); + d->items.push_back(item); +#ifdef PAGEVIEW_DEBUG + qCDebug(OkularUiDebug).nospace() << "cropped geom for " << d->items.last()->pageNumber() << " is " << d->items.last()->croppedGeometry(); +#endif + const QList pageFields = page->formFields(); + for (Okular::FormField *ff : pageFields) { + FormWidgetIface *w = FormWidgetFactory::createWidget(ff, this); + if (w) { + w->setPageItem(item); + w->setFormWidgetsController(d->formWidgetsController()); + w->setVisibility(false); + w->setCanBeFilled(allowfillforms); + item->formWidgets().insert(w); + hasformwidgets = true; + } + } + + createAnnotationsVideoWidgets(item, page->annotations()); + } + + // invalidate layout so relayout/repaint will happen on next viewport change + if (haspages) { + // We do a delayed call to slotRelayoutPages but also set the dirtyLayout + // because we might end up in notifyViewportChanged while slotRelayoutPages + // has not been done and we don't want that to happen + d->dirtyLayout = true; + QMetaObject::invokeMethod(this, "slotRelayoutPages", Qt::QueuedConnection); + } else { + // update the mouse cursor when closing because we may have close through a link and + // want the cursor to come back to the normal cursor + updateCursor(); + // then, make the message window and scrollbars disappear, and trigger a repaint + d->messageWindow->hide(); + resizeContentArea(QSize(0, 0)); + viewport()->update(); // when there is no change to the scrollbars, no repaint would + // be done and the old document would still be shown + } + + // OSD (Message balloons) to display pages + if (documentChanged && pageSet.count() > 0) { + d->messageWindow->display(i18np(" Loaded a one-page document.", " Loaded a %1-page document.", pageSet.count()), QString(), PageViewMessage::Info, 4000); + } + + updateActionState(haspages, hasformwidgets); + + // We need to assign it to a different list otherwise slotAnnotationWindowDestroyed + // will bite us and clear d->m_annowindows + QSet annowindows = d->m_annowindows; + d->m_annowindows.clear(); + qDeleteAll(annowindows); + + selectionClear(); +} + +void PageView::updateActionState(bool haspages, bool hasformwidgets) +{ + if (d->aTrimMargins) { + d->aTrimMargins->setEnabled(haspages); + } + + if (d->aTrimToSelection) { + d->aTrimToSelection->setEnabled(haspages); + } + + if (d->aViewModeMenu) { + d->aViewModeMenu->setEnabled(haspages); + } + + if (d->aViewContinuous) { + d->aViewContinuous->setEnabled(haspages); + } + + updateZoomActionsEnabledStatus(); + + if (d->aColorModeMenu) { + d->aColorModeMenu->setEnabled(haspages); + } + + if (d->aReadingDirection) { + d->aReadingDirection->setEnabled(haspages); + } + + if (d->mouseModeActionGroup) { + d->mouseModeActionGroup->setEnabled(haspages); + } + if (d->aMouseModeMenu) { + d->aMouseModeMenu->setEnabled(haspages); + } + + if (d->aRotateClockwise) { + d->aRotateClockwise->setEnabled(haspages); + } + if (d->aRotateCounterClockwise) { + d->aRotateCounterClockwise->setEnabled(haspages); + } + if (d->aRotateOriginal) { + d->aRotateOriginal->setEnabled(haspages); + } + if (d->aToggleForms) { // may be null if dummy mode is on + d->aToggleForms->setEnabled(haspages && hasformwidgets); + } + bool allowAnnotations = d->document->isAllowed(Okular::AllowNotes); + if (d->annotator) { + bool allowTools = haspages && allowAnnotations; + d->annotator->setToolsEnabled(allowTools); + d->annotator->setTextToolsEnabled(allowTools && d->document->supportsSearching()); + } + + if (d->aSignature) { + const bool canSign = d->document->canSign(); + d->aSignature->setEnabled(canSign && haspages); + } + +#if HAVE_SPEECH + if (d->aSpeakDoc) { + const bool enablettsactions = haspages ? Okular::Settings::useTTS() : false; + d->aSpeakDoc->setEnabled(enablettsactions); + d->aSpeakDocFromPage->setEnabled(enablettsactions); + d->aSpeakPage->setEnabled(enablettsactions); + } +#endif + if (d->aMouseMagnifier) { + d->aMouseMagnifier->setEnabled(d->document->supportsTiles()); + } + if (d->aFitWindowToPage) { + d->aFitWindowToPage->setEnabled(haspages && !getContinuousMode()); + } +} + +void PageView::setupActionsPostGUIActivated() +{ + d->annotator->setupActionsPostGUIActivated(); +} + +bool PageView::areSourceLocationsShownGraphically() const +{ + return Okular::Settings::showSourceLocationsGraphically(); +} + +void PageView::setShowSourceLocationsGraphically(bool show) +{ + if (show == Okular::Settings::showSourceLocationsGraphically()) { + return; + } + Okular::Settings::setShowSourceLocationsGraphically(show); + viewport()->update(); +} + +void PageView::setLastSourceLocationViewport(const Okular::DocumentViewport &vp) +{ + if (vp.rePos.enabled) { + d->lastSourceLocationViewportNormalizedX = normClamp(vp.rePos.normalizedX, 0.5); + d->lastSourceLocationViewportNormalizedY = normClamp(vp.rePos.normalizedY, 0.0); + } else { + d->lastSourceLocationViewportNormalizedX = 0.5; + d->lastSourceLocationViewportNormalizedY = 0.0; + } + d->lastSourceLocationViewportPageNumber = vp.pageNumber; + viewport()->update(); +} + +void PageView::clearLastSourceLocationViewport() +{ + d->lastSourceLocationViewportPageNumber = -1; + d->lastSourceLocationViewportNormalizedX = 0.0; + d->lastSourceLocationViewportNormalizedY = 0.0; + viewport()->update(); +} + +void PageView::notifyViewportChanged(bool smoothMove) +{ + QMetaObject::invokeMethod(this, "slotRealNotifyViewportChanged", Qt::QueuedConnection, Q_ARG(bool, smoothMove)); +} + +void PageView::slotRealNotifyViewportChanged(bool smoothMove) +{ + // if we are the one changing viewport, skip this notify + if (d->blockViewport) { + return; + } + + // block setViewport outgoing calls + d->blockViewport = true; + + // find PageViewItem matching the viewport description + const Okular::DocumentViewport &vp = d->document->viewport(); + const PageViewItem *item = nullptr; + for (const PageViewItem *tmpItem : std::as_const(d->items)) { + if (tmpItem->pageNumber() == vp.pageNumber) { + item = tmpItem; + break; + } + } + if (!item) { + qCWarning(OkularUiDebug) << "viewport for page" << vp.pageNumber << "has no matching item!"; + d->blockViewport = false; + return; + } +#ifdef PAGEVIEW_DEBUG + qCDebug(OkularUiDebug) << "document viewport changed"; +#endif + // relayout in "Single Pages" mode or if a relayout is pending + d->blockPixmapsRequest = true; + if (!getContinuousMode() || d->dirtyLayout) { + slotRelayoutPages(); + } + + // restore viewport center or use default {x-center,v-top} alignment + const QPoint centerCoord = viewportToContentArea(vp); + + // if smooth movement requested, setup parameters and start it + center(centerCoord.x(), centerCoord.y(), smoothMove); + + d->blockPixmapsRequest = false; + + // request visible pixmaps in the current viewport and recompute it + slotRequestVisiblePixmaps(); + + // enable setViewport calls + d->blockViewport = false; + + if (viewport()) { + viewport()->update(); + } + + // since the page has moved below cursor, update it + updateCursor(); +} + +void PageView::notifyPageChanged(int pageNumber, int changedFlags) +{ + // only handle pixmap / highlight changes notifies + if (changedFlags & DocumentObserver::Bookmark) { + return; + } + + if (changedFlags & DocumentObserver::Annotations) { + const QList annots = d->document->page(pageNumber)->annotations(); + const QList::ConstIterator annItEnd = annots.end(); + QSet::Iterator it = d->m_annowindows.begin(); + for (; it != d->m_annowindows.end();) { + QList::ConstIterator annIt = std::find(annots.begin(), annots.end(), (*it)->annotation()); + if (annIt != annItEnd) { + (*it)->reloadInfo(); + ++it; + } else { + AnnotWindow *w = *it; + it = d->m_annowindows.erase(it); + // Need to delete after removing from the list + // otherwise deleting will call slotAnnotationWindowDestroyed which will mess + // the list and the iterators + delete w; + } + } + + d->mouseAnnotation->notifyAnnotationChanged(pageNumber); + } + + if (changedFlags & DocumentObserver::BoundingBox) { +#ifdef PAGEVIEW_DEBUG + qCDebug(OkularUiDebug) << "BoundingBox change on page" << pageNumber; +#endif + slotRelayoutPages(); + slotRequestVisiblePixmaps(); // TODO: slotRelayoutPages() may have done this already! + // Repaint the whole widget since layout may have changed + viewport()->update(); + return; + } + + // iterate over visible items: if page(pageNumber) is one of them, repaint it + for (const PageViewItem *visibleItem : std::as_const(d->visibleItems)) { + if (visibleItem->pageNumber() == pageNumber && visibleItem->isVisible()) { + // update item's rectangle plus the little outline + QRect expandedRect = visibleItem->croppedGeometry(); + // a PageViewItem is placed in the global page layout, + // while we need to map its position in the viewport coordinates + // (to get the correct area to repaint) + expandedRect.translate(-contentAreaPosition()); + expandedRect.adjust(-1, -1, 3, 3); + viewport()->update(expandedRect); + + // if we were "zoom-dragging" do not overwrite the "zoom-drag" cursor + if (cursor().shape() != Qt::SizeVerCursor) { + // since the page has been regenerated below cursor, update it + updateCursor(); + } + break; + } + } +} + +void PageView::notifyContentsCleared(int changedFlags) +{ + // if pixmaps were cleared, re-ask them + if (changedFlags & DocumentObserver::Pixmap) { + QMetaObject::invokeMethod(this, "slotRequestVisiblePixmaps", Qt::QueuedConnection); + } +} + +void PageView::notifyZoom(int factor) +{ + if (factor > 0) { + updateZoom(ZoomIn); + } else { + updateZoom(ZoomOut); + } +} + +bool PageView::canUnloadPixmap(int pageNumber) const +{ + if (Okular::SettingsCore::memoryLevel() == Okular::SettingsCore::EnumMemoryLevel::Low || Okular::SettingsCore::memoryLevel() == Okular::SettingsCore::EnumMemoryLevel::Normal) { + // if the item is visible, forbid unloading + for (const PageViewItem *visibleItem : std::as_const(d->visibleItems)) { + if (visibleItem->pageNumber() == pageNumber) { + return false; + } + } + } else { + // forbid unloading of the visible items, and of the previous and next + for (const PageViewItem *visibleItem : std::as_const(d->visibleItems)) { + if (abs(visibleItem->pageNumber() - pageNumber) <= 1) { + return false; + } + } + } + // if hidden premit unloading + return true; +} + +void PageView::notifyCurrentPageChanged(int previous, int current) +{ + if (previous != -1) { + PageViewItem *item = d->items.at(previous); + if (item) { + const QHash videoWidgetsList = item->videoWidgets(); + for (VideoWidget *videoWidget : videoWidgetsList) { + videoWidget->pageLeft(); + } + } + + // On close, run the widget scripts, needed for running animated PDF + const Okular::Page *page = d->document->page(previous); + const QList annotations = page->annotations(); + for (Okular::Annotation *annotation : annotations) { + if (annotation->subType() == Okular::Annotation::AWidget) { + Okular::WidgetAnnotation *widgetAnnotation = static_cast(annotation); + d->document->processAction(widgetAnnotation->additionalAction(Okular::Annotation::PageClosing)); + } + } + } + + if (current != -1) { + PageViewItem *item = d->items.at(current); + if (item) { + const QHash videoWidgetsList = item->videoWidgets(); + for (VideoWidget *videoWidget : videoWidgetsList) { + videoWidget->pageEntered(); + } + } + + // update zoom text and factor if in a ZoomFit/* zoom mode + if (d->zoomMode != ZoomFixed) { + updateZoomText(); + } + + // Opening any widget scripts, needed for running animated PDF + const Okular::Page *page = d->document->page(current); + const QList annotations = page->annotations(); + for (Okular::Annotation *annotation : annotations) { + if (annotation->subType() == Okular::Annotation::AWidget) { + Okular::WidgetAnnotation *widgetAnnotation = static_cast(annotation); + d->document->processAction(widgetAnnotation->additionalAction(Okular::Annotation::PageOpening)); + } + } + } + + // if the view is paged (or not continuous) and there is a selected annotation, + // we call reset to avoid creating an artifact in the next page. + if (!getContinuousMode()) { + if (d->mouseAnnotation && d->mouseAnnotation->isFocused()) { + d->mouseAnnotation->reset(); + } + } +} + +// END DocumentObserver inherited methods + +// BEGIN View inherited methods +bool PageView::supportsCapability(ViewCapability capability) const +{ + switch (capability) { + case Zoom: + case ZoomModality: + case Continuous: + case ViewModeModality: + case TrimMargins: + return true; + } + return false; +} + +Okular::View::CapabilityFlags PageView::capabilityFlags(ViewCapability capability) const +{ + switch (capability) { + case Zoom: + case ZoomModality: + case Continuous: + case ViewModeModality: + case TrimMargins: + return CapabilityRead | CapabilityWrite | CapabilitySerializable; + } + return NoFlag; +} + +QVariant PageView::capability(ViewCapability capability) const +{ + switch (capability) { + case Zoom: + return d->zoomFactor; + case ZoomModality: + return d->zoomMode; + case Continuous: + return getContinuousMode(); + case ViewModeModality: { + if (d->viewModeActionGroup) { + const QList actions = d->viewModeActionGroup->actions(); + for (const QAction *action : actions) { + if (action->isChecked()) { + return action->data(); + } + } + } + return QVariant(); + } + case TrimMargins: + return d->aTrimMargins ? d->aTrimMargins->isChecked() : false; + } + return QVariant(); +} + +void PageView::setCapability(ViewCapability capability, const QVariant &option) +{ + switch (capability) { + case Zoom: { + bool ok = true; + double factor = option.toDouble(&ok); + if (ok && factor > 0.0) { + d->zoomFactor = static_cast(factor); + updateZoom(ZoomRefreshCurrent); + } + break; + } + case ZoomModality: { + bool ok = true; + int mode = option.toInt(&ok); + if (ok) { + if (mode >= 0 && mode < 3) { + updateZoom((ZoomMode)mode); + } + } + break; + } + case ViewModeModality: { + bool ok = true; + int mode = option.toInt(&ok); + if (ok) { + if (mode >= 0 && mode < Okular::Settings::EnumViewMode::COUNT) { + updateViewMode(mode); + } + } + break; + } + case Continuous: { + bool mode = option.toBool(); + d->aViewContinuous->setChecked(mode); + break; + } + case TrimMargins: { + bool value = option.toBool(); + d->aTrimMargins->setChecked(value); + slotTrimMarginsToggled(value); + break; + } + } +} + +// END View inherited methods + +// BEGIN widget events +bool PageView::event(QEvent *event) +{ + if (event->type() == QEvent::Gesture) { + return gestureEvent(static_cast(event)); + } + + // do not stop the event + return QAbstractScrollArea::event(event); +} + +bool PageView::gestureEvent(QGestureEvent *event) +{ + QPinchGesture *pinch = static_cast(event->gesture(Qt::PinchGesture)); + + if (pinch) { + // Viewport zoom level at the moment where the pinch gesture starts. + // The viewport zoom level _during_ the gesture will be this value + // times the relative zoom reported by QGestureEvent. + static qreal vanillaZoom = d->zoomFactor; + + if (pinch->state() == Qt::GestureStarted) { + vanillaZoom = d->zoomFactor; + d->pinchZoomActive = true; + d->scroller->handleInput(QScroller::InputRelease, QPointF()); + d->scroller->stop(); + } + + const QPinchGesture::ChangeFlags changeFlags = pinch->changeFlags(); + + // Zoom + if (pinch->changeFlags() & QPinchGesture::ScaleFactorChanged) { + zoomWithFixedCenter(ZoomRefreshCurrent, mapFromGlobal(pinch->centerPoint().toPoint()), vanillaZoom * pinch->totalScaleFactor()); + } + + // Count the number of 90-degree rotations we did since the start of the pinch gesture. + // Otherwise a pinch turned to 90 degrees and held there will rotate the page again and again. + static int rotations = 0; + + if (changeFlags & QPinchGesture::RotationAngleChanged) { + // Rotation angle relative to the accumulated page rotations triggered by the current pinch + // We actually turn at 80 degrees rather than at 90 degrees. That's less strain on the hands. + const qreal relativeAngle = pinch->rotationAngle() - rotations * 90; + if (relativeAngle > 80) { + slotRotateClockwise(); + rotations++; + } + if (relativeAngle < -80) { + slotRotateCounterClockwise(); + rotations--; + } + } + + if (pinch->state() == Qt::GestureFinished || pinch->state() == Qt::GestureCanceled) { + rotations = 0; + d->pinchZoomActive = false; + d->remainingScroll = QPointF(0.0, 0.0); + } + + return true; + } + + return false; +} + +void PageView::paintEvent(QPaintEvent *pe) +{ + const QPoint areaPos = contentAreaPosition(); + // create the rect into contents from the clipped screen rect + QRect viewportRect = viewport()->rect(); + viewportRect.translate(areaPos); + QRect contentsRect = pe->rect().translated(areaPos).intersected(viewportRect); + if (!contentsRect.isValid()) { + return; + } + +#ifdef PAGEVIEW_DEBUG + qCDebug(OkularUiDebug) << "paintevent" << contentsRect; +#endif + + // create the screen painter. a pixel painted at contentsX,contentsY + // appears to the top-left corner of the scrollview. + QPainter screenPainter(viewport()); + // translate to simulate the scrolled content widget + screenPainter.translate(-areaPos); + + // selectionRect is the normalized mouse selection rect + QRect selectionRect = d->mouseSelectionRect; + if (!selectionRect.isNull()) { + selectionRect = selectionRect.normalized(); + } + // selectionRectInternal without the border + QRect selectionRectInternal = selectionRect; + selectionRectInternal.adjust(1, 1, -1, -1); + // color for blending + QColor selBlendColor = (selectionRect.width() > 8 || selectionRect.height() > 8) ? d->mouseSelectionColor : Qt::red; + + // subdivide region into rects + QRegion rgn = pe->region(); + // preprocess rects area to see if it worths or not using subdivision + uint summedArea = 0; + for (const QRect &r : rgn) { + summedArea += r.width() * r.height(); + } + // very elementary check: SUMj(Region[j].area) is less than boundingRect.area + const bool useSubdivision = summedArea < (0.6 * contentsRect.width() * contentsRect.height()); + if (!useSubdivision) { + rgn = contentsRect; + } + + // iterate over the rects (only one loop if not using subdivision) + for (const QRect &r : rgn) { + if (useSubdivision) { + // set 'contentsRect' to a part of the sub-divided region + contentsRect = r.translated(areaPos).intersected(viewportRect); + if (!contentsRect.isValid()) { + continue; + } + } +#ifdef PAGEVIEW_DEBUG + qCDebug(OkularUiDebug) << contentsRect; +#endif + + // note: this check will take care of all things requiring alpha blending (not only selection) + bool wantCompositing = !selectionRect.isNull() && contentsRect.intersects(selectionRect); + // also alpha-blend when there is a table selection... + wantCompositing |= !d->tableSelectionParts.isEmpty(); + + if (wantCompositing && Okular::Settings::enableCompositing()) { + // create pixmap and open a painter over it (contents{left,top} becomes pixmap {0,0}) + QPixmap doubleBuffer(contentsRect.size() * devicePixelRatioF()); + doubleBuffer.setDevicePixelRatio(devicePixelRatioF()); + QPainter pixmapPainter(&doubleBuffer); + + pixmapPainter.translate(-contentsRect.left(), -contentsRect.top()); + + // 1) Layer 0: paint items and clear bg on unpainted rects + drawDocumentOnPainter(contentsRect, &pixmapPainter); + // 2a) Layer 1a: paint (blend) transparent selection (rectangle) + if (!selectionRect.isNull() && selectionRect.intersects(contentsRect) && !selectionRectInternal.contains(contentsRect)) { + QRect blendRect = selectionRectInternal.intersected(contentsRect); + // skip rectangles covered by the selection's border + if (blendRect.isValid()) { + // grab current pixmap into a new one to colorize contents + QPixmap blendedPixmap(blendRect.width() * devicePixelRatioF(), blendRect.height() * devicePixelRatioF()); + blendedPixmap.setDevicePixelRatio(devicePixelRatioF()); + QPainter p(&blendedPixmap); + + p.drawPixmap(0, + 0, + doubleBuffer, + (blendRect.left() - contentsRect.left()) * devicePixelRatioF(), + (blendRect.top() - contentsRect.top()) * devicePixelRatioF(), + blendRect.width() * devicePixelRatioF(), + blendRect.height() * devicePixelRatioF()); + + QColor blCol = selBlendColor.darker(140); + blCol.setAlphaF(0.2); + p.fillRect(blendedPixmap.rect(), blCol); + p.end(); + // copy the blended pixmap back to its place + pixmapPainter.drawPixmap(blendRect.left(), blendRect.top(), blendedPixmap); + } + // draw border (red if the selection is too small) + pixmapPainter.setPen(selBlendColor); + pixmapPainter.drawRect(selectionRect.adjusted(0, 0, -1, -1)); + } + // 2b) Layer 1b: paint (blend) transparent selection (table) + for (const TableSelectionPart &tsp : std::as_const(d->tableSelectionParts)) { + QRect selectionPartRect = tsp.rectInItem.geometry(tsp.item->uncroppedWidth(), tsp.item->uncroppedHeight()); + selectionPartRect.translate(tsp.item->uncroppedGeometry().topLeft()); + QRect selectionPartRectInternal = selectionPartRect; + selectionPartRectInternal.adjust(1, 1, -1, -1); + if (!selectionPartRect.isNull() && selectionPartRect.intersects(contentsRect) && !selectionPartRectInternal.contains(contentsRect)) { + QRect blendRect = selectionPartRectInternal.intersected(contentsRect); + // skip rectangles covered by the selection's border + if (blendRect.isValid()) { + // grab current pixmap into a new one to colorize contents + QPixmap blendedPixmap(blendRect.width() * devicePixelRatioF(), blendRect.height() * devicePixelRatioF()); + blendedPixmap.setDevicePixelRatio(devicePixelRatioF()); + QPainter p(&blendedPixmap); + p.drawPixmap(0, + 0, + doubleBuffer, + (blendRect.left() - contentsRect.left()) * devicePixelRatioF(), + (blendRect.top() - contentsRect.top()) * devicePixelRatioF(), + blendRect.width() * devicePixelRatioF(), + blendRect.height() * devicePixelRatioF()); + + QColor blCol = d->mouseSelectionColor.darker(140); + blCol.setAlphaF(0.2); + p.fillRect(blendedPixmap.rect(), blCol); + p.end(); + // copy the blended pixmap back to its place + pixmapPainter.drawPixmap(blendRect.left(), blendRect.top(), blendedPixmap); + } + // draw border (red if the selection is too small) + pixmapPainter.setPen(d->mouseSelectionColor); + pixmapPainter.drawRect(selectionPartRect.adjusted(0, 0, -1, -1)); + } + } + drawTableDividers(&pixmapPainter); + // 3a) Layer 1: give annotator painting control + if (d->annotator && d->annotator->routePaints(contentsRect)) { + d->annotator->routePaint(&pixmapPainter, contentsRect); + } + // 3b) Layer 1: give mouseAnnotation painting control + d->mouseAnnotation->routePaint(&pixmapPainter, contentsRect); + + // 4) Layer 2: overlays + if (Okular::Settings::debugDrawBoundaries()) { + pixmapPainter.setPen(Qt::blue); + pixmapPainter.drawRect(contentsRect); + } + + // finish painting and draw contents + pixmapPainter.end(); + screenPainter.drawPixmap(contentsRect.left(), contentsRect.top(), doubleBuffer); + } else { + // 1) Layer 0: paint items and clear bg on unpainted rects + drawDocumentOnPainter(contentsRect, &screenPainter); + // 2a) Layer 1a: paint opaque selection (rectangle) + if (!selectionRect.isNull() && selectionRect.intersects(contentsRect) && !selectionRectInternal.contains(contentsRect)) { + screenPainter.setPen(palette().color(QPalette::Active, QPalette::Highlight).darker(110)); + screenPainter.drawRect(selectionRect); + } + // 2b) Layer 1b: paint opaque selection (table) + for (const TableSelectionPart &tsp : std::as_const(d->tableSelectionParts)) { + QRect selectionPartRect = tsp.rectInItem.geometry(tsp.item->uncroppedWidth(), tsp.item->uncroppedHeight()); + selectionPartRect.translate(tsp.item->uncroppedGeometry().topLeft()); + QRect selectionPartRectInternal = selectionPartRect; + selectionPartRectInternal.adjust(1, 1, -1, -1); + if (!selectionPartRect.isNull() && selectionPartRect.intersects(contentsRect) && !selectionPartRectInternal.contains(contentsRect)) { + screenPainter.setPen(palette().color(QPalette::Active, QPalette::Highlight).darker(110)); + screenPainter.drawRect(selectionPartRect); + } + } + drawTableDividers(&screenPainter); + // 3a) Layer 1: give annotator painting control + if (d->annotator && d->annotator->routePaints(contentsRect)) { + d->annotator->routePaint(&screenPainter, contentsRect); + } + // 3b) Layer 1: give mouseAnnotation painting control + d->mouseAnnotation->routePaint(&screenPainter, contentsRect); + + // 4) Layer 2: overlays + if (Okular::Settings::debugDrawBoundaries()) { + screenPainter.setPen(Qt::red); + screenPainter.drawRect(contentsRect); + } + } + } +} + +void PageView::drawTableDividers(QPainter *screenPainter) +{ + if (!d->tableSelectionParts.isEmpty()) { + screenPainter->setPen(d->mouseSelectionColor.darker()); + if (d->tableDividersGuessed) { + QPen p = screenPainter->pen(); + p.setStyle(Qt::DashLine); + screenPainter->setPen(p); + } + for (const TableSelectionPart &tsp : std::as_const(d->tableSelectionParts)) { + QRect selectionPartRect = tsp.rectInItem.geometry(tsp.item->uncroppedWidth(), tsp.item->uncroppedHeight()); + selectionPartRect.translate(tsp.item->uncroppedGeometry().topLeft()); + QRect selectionPartRectInternal = selectionPartRect; + selectionPartRectInternal.adjust(1, 1, -1, -1); + for (double col : std::as_const(d->tableSelectionCols)) { + if (col >= tsp.rectInSelection.left && col <= tsp.rectInSelection.right) { + col = (col - tsp.rectInSelection.left) / (tsp.rectInSelection.right - tsp.rectInSelection.left); + const int x = selectionPartRect.left() + col * selectionPartRect.width() + 0.5; + screenPainter->drawLine(x, selectionPartRectInternal.top(), x, selectionPartRectInternal.top() + selectionPartRectInternal.height()); + } + } + for (double row : std::as_const(d->tableSelectionRows)) { + if (row >= tsp.rectInSelection.top && row <= tsp.rectInSelection.bottom) { + row = (row - tsp.rectInSelection.top) / (tsp.rectInSelection.bottom - tsp.rectInSelection.top); + const int y = selectionPartRect.top() + row * selectionPartRect.height() + 0.5; + screenPainter->drawLine(selectionPartRectInternal.left(), y, selectionPartRectInternal.left() + selectionPartRectInternal.width(), y); + } + } + } + } +} + +void PageView::resizeEvent(QResizeEvent *e) +{ + if (d->items.isEmpty()) { + resizeContentArea(e->size()); + return; + } + + if ((d->zoomMode == ZoomFitWidth || d->zoomMode == ZoomFitAuto) && !verticalScrollBar()->isVisible() && qAbs(e->oldSize().height() - e->size().height()) < verticalScrollBar()->width() && d->verticalScrollBarVisible) { + // this saves us from infinite resizing loop because of scrollbars appearing and disappearing + // see bug 160628 for more info + // TODO looks are still a bit ugly because things are left uncentered + // but better a bit ugly than unusable + d->verticalScrollBarVisible = false; + resizeContentArea(e->size()); + return; + } else if (d->zoomMode == ZoomFitAuto && !horizontalScrollBar()->isVisible() && qAbs(e->oldSize().width() - e->size().width()) < horizontalScrollBar()->height() && d->horizontalScrollBarVisible) { + // this saves us from infinite resizing loop because of scrollbars appearing and disappearing + // TODO looks are still a bit ugly because things are left uncentered + // but better a bit ugly than unusable + d->horizontalScrollBarVisible = false; + resizeContentArea(e->size()); + return; + } + + if (d->pinchZoomActive) { + // if we make a continuous zooming with pinch gesture or mouse, we call delayedResizeEvent() directly. + delayedResizeEvent(); + } else { + // start a timer that will refresh the pixmap after 0.2s + d->delayResizeEventTimer->start(200); + } + + d->verticalScrollBarVisible = verticalScrollBar()->isVisible(); + d->horizontalScrollBarVisible = horizontalScrollBar()->isVisible(); + + notifyAnnotationWindowsAboutViewportBoundsChange(); +} + +void PageView::keyPressEvent(QKeyEvent *e) +{ + // Ignore ESC key press to send to shell.cpp + if (e->key() != Qt::Key_Escape) { + e->accept(); + } else { + e->ignore(); + } + + // if performing a selection or dyn zooming, disable keys handling + if ((d->mouseSelecting && e->key() != Qt::Key_Escape) || (QApplication::mouseButtons() & Qt::MiddleButton)) { + return; + } + + // move/scroll page by using keys + // When the shift key is held down, scroll ten times faster + int stepsize = (e->modifiers() & Qt::ShiftModifier) ? 10 : 1; + switch (e->key()) { + case Qt::Key_J: + case Qt::Key_Down: + slotScrollDown(stepsize /* go down 1 step */); + break; + + case Qt::Key_PageDown: + slotScrollDown(); + break; + + case Qt::Key_K: + case Qt::Key_Up: + slotScrollUp(stepsize /* go up 1 step */); + break; + + case Qt::Key_PageUp: + case Qt::Key_Backspace: + slotScrollUp(); + break; + + case Qt::Key_Left: + case Qt::Key_H: + if (horizontalScrollBar()->maximum() == 0) { + // if we cannot scroll we go to the previous page vertically + int next_page = d->document->currentPage() - viewColumns(); + d->document->setViewportPage(next_page); + } else { + d->scroller->scrollTo(d->scroller->finalPosition() + QPoint(-stepsize * horizontalScrollBar()->singleStep(), 0), d->currentShortScrollDuration); + } + break; + case Qt::Key_Right: + case Qt::Key_L: + if (horizontalScrollBar()->maximum() == 0) { + // if we cannot scroll we advance the page vertically + int next_page = d->document->currentPage() + viewColumns(); + d->document->setViewportPage(next_page); + } else { + d->scroller->scrollTo(d->scroller->finalPosition() + QPoint(stepsize * horizontalScrollBar()->singleStep(), 0), d->currentShortScrollDuration); + } + break; + case Qt::Key_Escape: + Q_EMIT escPressed(); + selectionClear(d->tableDividersGuessed ? ClearOnlyDividers : ClearAllSelection); + d->mousePressPos = QPointF(); + if (d->aPrevAction) { + d->aPrevAction->trigger(); + d->aPrevAction = nullptr; + } + d->mouseAnnotation->routeKeyPressEvent(e); + break; + case Qt::Key_Delete: + d->mouseAnnotation->routeKeyPressEvent(e); + break; + case Qt::Key_Shift: + case Qt::Key_Control: + if (d->autoScrollTimer) { + if (d->autoScrollTimer->isActive()) { + d->autoScrollTimer->stop(); + } else { + slotAutoScroll(); + } + return; + } + // fallthrough + default: + e->ignore(); + return; + } + // if a known key has been pressed, stop scrolling the page + if (d->autoScrollTimer) { + d->scrollIncrement = 0; + d->autoScrollTimer->stop(); + } +} + +void PageView::keyReleaseEvent(QKeyEvent *e) +{ + e->accept(); + + if (d->annotator && d->annotator->active()) { + if (d->annotator->routeKeyEvent(e)) { + return; + } + } + + if (e->key() == Qt::Key_Escape && d->autoScrollTimer) { + d->scrollIncrement = 0; + d->autoScrollTimer->stop(); + } + + if (e->key() == Qt::Key_Control) { + continuousZoomEnd(); + } +} + +void PageView::inputMethodEvent(QInputMethodEvent *e) +{ + Q_UNUSED(e) +} + +void PageView::tabletEvent(QTabletEvent *e) +{ + // Ignore tablet events that we don't care about + if (!(e->type() == QEvent::TabletPress || e->type() == QEvent::TabletRelease || e->type() == QEvent::TabletMove)) { + e->ignore(); + return; + } + + // Determine pen state + bool penReleased = false; + if (e->type() == QEvent::TabletPress) { + d->penDown = true; + } + if (e->type() == QEvent::TabletRelease) { + d->penDown = false; + penReleased = true; + } + + // If we're editing an annotation and the tablet pen is either down or just released + // then dispatch event to annotator + if (d->annotator && d->annotator->active() && (d->penDown || penReleased)) { + // accept the event, otherwise it comes back as a mouse event + e->accept(); + + const QPointF eventPos = contentAreaPoint(e->position()); + PageViewItem *pageItem = pickItemOnPoint(eventPos.x(), eventPos.y()); + const QPoint localOriginInGlobal = mapToGlobal(QPoint(0, 0)); + + // routeTabletEvent will accept or ignore event as appropriate + d->annotator->routeTabletEvent(e, pageItem, localOriginInGlobal); + } else { + e->ignore(); + } +} + +void PageView::continuousZoom(double delta) +{ + if (delta) { + d->zoomFactor *= (1.0 + (delta / 500.0)); + d->blockPixmapsRequest = true; + updateZoom(ZoomRefreshCurrent); + d->blockPixmapsRequest = false; + viewport()->update(); + } +} + +void PageView::continuousZoomEnd() +{ + // request pixmaps since it was disabled during drag + slotRequestVisiblePixmaps(); + + // the cursor may now be over a link.. update it + updateCursor(); +} + +void PageView::mouseMoveEvent(QMouseEvent *e) +{ + d->previousMouseMovePos = e->globalPosition(); + + // don't perform any mouse action when no document is shown + if (d->items.isEmpty()) { + return; + } + + // if holding mouse mid button, perform zoom + if (e->buttons() & Qt::MiddleButton) { + int deltaY = d->mouseMidLastY - e->globalPosition().y(); + d->mouseMidLastY = e->globalPosition().y(); + + const float upperZoomLimit = d->document->supportsTiles() ? 99.99 : 3.99; + + // Wrap mouse cursor + if (Okular::Settings::dragBeyondScreenEdges()) { + Qt::Edges wrapEdges; + wrapEdges.setFlag(Qt::TopEdge, d->zoomFactor < upperZoomLimit); + wrapEdges.setFlag(Qt::BottomEdge, d->zoomFactor > 0.101); + + deltaY += CursorWrapHelper::wrapCursor(e->globalPosition().toPoint(), wrapEdges).y(); + } + + // update zoom level, perform zoom and redraw + continuousZoom(deltaY); + return; + } + + const QPoint eventPos = contentAreaPoint(e->pos()); + + // if we're editing an annotation, dispatch event to it + if (d->annotator && d->annotator->active()) { + PageViewItem *pageItem = pickItemOnPoint(eventPos.x(), eventPos.y()); + updateCursor(eventPos); + d->annotator->routeMouseEvent(e, pageItem); + return; + } + + bool leftButton = (e->buttons() == Qt::LeftButton); + bool rightButton = (e->buttons() == Qt::RightButton); + + switch (d->mouseMode) { + case Okular::Settings::EnumMouseMode::Browse: { + PageViewItem *pageItem = pickItemOnPoint(eventPos.x(), eventPos.y()); + if (leftButton) { + d->leftClickTimer.stop(); + if (d->mouseAnnotation->isActive()) { + // if left button pressed and annotation is focused, forward move event + d->mouseAnnotation->routeMouseMoveEvent(pageItem, eventPos, leftButton); + } + // drag page + else { + if (d->scroller->state() == QScroller::Inactive || d->scroller->state() == QScroller::Scrolling) { + d->mouseGrabOffset = QPoint(0, 0); + + if (!d->pinchZoomActive) { + d->scroller->handleInput(QScroller::InputPress, e->pos(), e->timestamp() - 1); + } + } + + setCursor(Qt::ClosedHandCursor); + + // Wrap mouse cursor + if (Okular::Settings::dragBeyondScreenEdges()) { + Qt::Edges wrapEdges; + wrapEdges.setFlag(Qt::TopEdge, verticalScrollBar()->value() < verticalScrollBar()->maximum()); + wrapEdges.setFlag(Qt::BottomEdge, verticalScrollBar()->value() > verticalScrollBar()->minimum()); + wrapEdges.setFlag(Qt::LeftEdge, horizontalScrollBar()->value() < horizontalScrollBar()->maximum()); + wrapEdges.setFlag(Qt::RightEdge, horizontalScrollBar()->value() > horizontalScrollBar()->minimum()); + + d->mouseGrabOffset -= CursorWrapHelper::wrapCursor(e->pos(), wrapEdges); + } + + if (!d->pinchZoomActive) { + d->scroller->handleInput(QScroller::InputMove, e->pos() + d->mouseGrabOffset, e->timestamp()); + } + } + } else if (rightButton && !d->mousePressPos.isNull() && d->aMouseSelect) { + // if mouse moves 5 px away from the press point, switch to 'selection' + qreal deltaX = d->mousePressPos.x() - e->globalPosition().x(), deltaY = d->mousePressPos.y() - e->globalPosition().y(); + if (deltaX > 5 || deltaX < -5 || deltaY > 5 || deltaY < -5) { + d->aPrevAction = d->aMouseNormal; + d->aMouseSelect->trigger(); + QPoint newPos = eventPos + QPoint(deltaX, deltaY); + selectionStart(newPos, palette().color(QPalette::Active, QPalette::Highlight).lighter(120), false); + updateSelection(eventPos); + break; + } + } else { + /* Forward move events which are still not yet consumed by "mouse grab" or aMouseSelect */ + d->mouseAnnotation->routeMouseMoveEvent(pageItem, eventPos, leftButton); + updateCursor(); + } + } break; + + case Okular::Settings::EnumMouseMode::Zoom: + case Okular::Settings::EnumMouseMode::RectSelect: + case Okular::Settings::EnumMouseMode::TableSelect: + case Okular::Settings::EnumMouseMode::TrimSelect: + // set second corner of selection + if (d->mouseSelecting) { + updateSelection(eventPos); + d->mouseOverLinkObject = nullptr; + } + updateCursor(); + break; + + case Okular::Settings::EnumMouseMode::Magnifier: + if (e->buttons()) // if any button is pressed at all + { + moveMagnifier(e->pos()); + updateMagnifier(eventPos); + } + break; + + case Okular::Settings::EnumMouseMode::TextSelect: + // if mouse moves 5 px away from the press point and the document supports text extraction, do 'textselection' + if (!d->mouseTextSelecting && !d->mousePressPos.isNull() && d->document->supportsSearching() && ((eventPos - d->mouseSelectPos).manhattanLength() > 5)) { + d->mouseTextSelecting = true; + } + updateSelection(eventPos); + updateCursor(); + break; + } +} + +void PageView::mousePressEvent(QMouseEvent *e) +{ + // don't perform any mouse action when no document is shown + if (d->items.isEmpty()) { + return; + } + + // if performing a selection or dyn zooming, disable mouse press + if (d->mouseSelecting || (e->button() != Qt::MiddleButton && (e->buttons() & Qt::MiddleButton))) { + return; + } + + // if the page is scrolling, stop it + if (d->autoScrollTimer) { + d->scrollIncrement = 0; + d->autoScrollTimer->stop(); + } + + // if pressing mid mouse button while not doing other things, begin 'continuous zoom' mode + if (e->button() == Qt::MiddleButton) { + d->mouseMidLastY = e->globalPosition().y(); + setCursor(Qt::SizeVerCursor); + CursorWrapHelper::startDrag(); + return; + } + + const QPoint eventPos = contentAreaPoint(e->pos()); + + // if we're editing an annotation, dispatch event to it + if (d->annotator && d->annotator->active()) { + d->scroller->stop(); + PageViewItem *pageItem = pickItemOnPoint(eventPos.x(), eventPos.y()); + d->annotator->routeMouseEvent(e, pageItem); + return; + } + + // trigger history navigation for additional mouse buttons + if (e->button() == Qt::XButton1) { + Q_EMIT mouseBackButtonClick(); + return; + } + if (e->button() == Qt::XButton2) { + Q_EMIT mouseForwardButtonClick(); + return; + } + + // update press / 'start drag' mouse position + d->mousePressPos = e->globalPosition(); + CursorWrapHelper::startDrag(); + + // handle mode dependent mouse press actions + bool leftButton = e->button() == Qt::LeftButton, rightButton = e->button() == Qt::RightButton; + + // Not sure we should erase the selection when clicking with left. + if (d->mouseMode != Okular::Settings::EnumMouseMode::TextSelect) { + textSelectionClear(); + } + + switch (d->mouseMode) { + case Okular::Settings::EnumMouseMode::Browse: // drag start / click / link following + { + PageViewItem *pageItem = pickItemOnPoint(eventPos.x(), eventPos.y()); + if (leftButton) { + if (pageItem) { + d->mouseAnnotation->routeMousePressEvent(pageItem, eventPos); + } + + if (!d->mouseOnRect) { + d->mouseGrabOffset = QPoint(0, 0); + if (!d->pinchZoomActive) { + d->scroller->handleInput(QScroller::InputPress, e->pos(), e->timestamp()); + } + d->leftClickTimer.start(QApplication::doubleClickInterval() + 10); + } + } + } break; + + case Okular::Settings::EnumMouseMode::Zoom: // set first corner of the zoom rect + if (leftButton) { + selectionStart(eventPos, palette().color(QPalette::Active, QPalette::Highlight), false); + } else if (rightButton) { + updateZoom(ZoomOut); + } + break; + + case Okular::Settings::EnumMouseMode::Magnifier: + moveMagnifier(e->pos()); + d->magnifierView->show(); + updateMagnifier(eventPos); + break; + + case Okular::Settings::EnumMouseMode::RectSelect: // set first corner of the selection rect + case Okular::Settings::EnumMouseMode::TrimSelect: + if (leftButton) { + selectionStart(eventPos, palette().color(QPalette::Active, QPalette::Highlight).lighter(120), false); + } + break; + case Okular::Settings::EnumMouseMode::TableSelect: + if (leftButton) { + if (d->tableSelectionParts.isEmpty()) { + selectionStart(eventPos, palette().color(QPalette::Active, QPalette::Highlight).lighter(120), false); + } else { + QRect updatedRect; + for (const TableSelectionPart &tsp : std::as_const(d->tableSelectionParts)) { + QRect selectionPartRect = tsp.rectInItem.geometry(tsp.item->uncroppedWidth(), tsp.item->uncroppedHeight()); + selectionPartRect.translate(tsp.item->uncroppedGeometry().topLeft()); + + // This will update the whole table rather than just the added/removed divider + // (which can span more than one part). + updatedRect = updatedRect.united(selectionPartRect); + + if (!selectionPartRect.contains(eventPos)) { + continue; + } + + // At this point it's clear we're either adding or removing a divider manually, so obviously the user is happy with the guess (if any). + d->tableDividersGuessed = false; + + // There's probably a neat trick to finding which edge it's closest to, + // but this way has the advantage of simplicity. + const int fromLeft = abs(selectionPartRect.left() - eventPos.x()); + const int fromRight = abs(selectionPartRect.left() + selectionPartRect.width() - eventPos.x()); + const int fromTop = abs(selectionPartRect.top() - eventPos.y()); + const int fromBottom = abs(selectionPartRect.top() + selectionPartRect.height() - eventPos.y()); + const int colScore = fromTop < fromBottom ? fromTop : fromBottom; + const int rowScore = fromLeft < fromRight ? fromLeft : fromRight; + + if (colScore < rowScore) { + bool deleted = false; + for (int i = 0; i < d->tableSelectionCols.length(); i++) { + const double col = (d->tableSelectionCols[i] - tsp.rectInSelection.left) / (tsp.rectInSelection.right - tsp.rectInSelection.left); + const int colX = selectionPartRect.left() + col * selectionPartRect.width() + 0.5; + if (abs(colX - eventPos.x()) <= 3) { + d->tableSelectionCols.removeAt(i); + deleted = true; + + break; + } + } + if (!deleted) { + double col = eventPos.x() - selectionPartRect.left(); + col /= selectionPartRect.width(); // at this point, it's normalised within the part + col *= (tsp.rectInSelection.right - tsp.rectInSelection.left); + col += tsp.rectInSelection.left; // at this point, it's normalised within the whole table + + d->tableSelectionCols.append(col); + std::sort(d->tableSelectionCols.begin(), d->tableSelectionCols.end()); + } + } else { + bool deleted = false; + for (int i = 0; i < d->tableSelectionRows.length(); i++) { + const double row = (d->tableSelectionRows[i] - tsp.rectInSelection.top) / (tsp.rectInSelection.bottom - tsp.rectInSelection.top); + const int rowY = selectionPartRect.top() + row * selectionPartRect.height() + 0.5; + if (abs(rowY - eventPos.y()) <= 3) { + d->tableSelectionRows.removeAt(i); + deleted = true; + + break; + } + } + if (!deleted) { + double row = eventPos.y() - selectionPartRect.top(); + row /= selectionPartRect.height(); // at this point, it's normalised within the part + row *= (tsp.rectInSelection.bottom - tsp.rectInSelection.top); + row += tsp.rectInSelection.top; // at this point, it's normalised within the whole table + + d->tableSelectionRows.append(row); + std::sort(d->tableSelectionRows.begin(), d->tableSelectionRows.end()); + } + } + } + updatedRect.translate(-contentAreaPosition()); + viewport()->update(updatedRect); + } + } else if (rightButton && !d->tableSelectionParts.isEmpty()) { + QMenu menu(this); + QAction *copyToClipboard = menu.addAction(QIcon::fromTheme(QStringLiteral("edit-copy")), i18n("Copy Table Contents to Clipboard")); + const bool copyAllowed = d->document->isAllowed(Okular::AllowCopy); + + if (!copyAllowed) { + copyToClipboard->setEnabled(false); + copyToClipboard->setText(i18n("Copy forbidden by DRM")); + } + + const QAction *choice = menu.exec(e->globalPosition().toPoint()); + if (choice == copyToClipboard) { + copyTextSelection(); + } + } + break; + case Okular::Settings::EnumMouseMode::TextSelect: + d->mouseSelectPos = eventPos; + if (!rightButton) { + textSelectionClear(); + } + break; + } +} + +void PageView::mouseReleaseEvent(QMouseEvent *e) +{ + // stop the drag scrolling + d->dragScrollTimer.stop(); + + d->leftClickTimer.stop(); + + const bool leftButton = e->button() == Qt::LeftButton; + const bool rightButton = e->button() == Qt::RightButton; + + if (d->mouseAnnotation->isActive() && leftButton) { + // Just finished to move the annotation + d->mouseAnnotation->routeMouseReleaseEvent(); + } + + // don't perform any mouse action when no document is shown.. + if (d->items.isEmpty()) { + // ..except for right Clicks (emitted even it viewport is empty) + if (e->button() == Qt::RightButton) { + Q_EMIT rightClick(nullptr, e->globalPosition().toPoint()); + } + return; + } + + const QPoint eventPos = contentAreaPoint(e->pos()); + + // handle mode independent mid bottom zoom + if (e->button() == Qt::MiddleButton) { + continuousZoomEnd(); + return; + } + + // if we're editing an annotation, dispatch event to it + if (d->annotator && d->annotator->active()) { + PageViewItem *pageItem = pickItemOnPoint(eventPos.x(), eventPos.y()); + d->annotator->routeMouseEvent(e, pageItem); + return; + } + + switch (d->mouseMode) { + case Okular::Settings::EnumMouseMode::Browse: { + if (!d->pinchZoomActive) { + d->scroller->handleInput(QScroller::InputRelease, e->pos() + d->mouseGrabOffset, e->timestamp()); + } + + // return the cursor to its normal state after dragging + if (cursor().shape() == Qt::ClosedHandCursor) { + updateCursor(eventPos); + } + + PageViewItem *pageItem = pickItemOnPoint(eventPos.x(), eventPos.y()); + const QPointF pressPos = contentAreaPoint(mapFromGlobal(d->mousePressPos)); + const PageViewItem *pageItemPressPos = pickItemOnPoint(pressPos.x(), pressPos.y()); + + // if the mouse has not moved since the press, that's a -click- + if (leftButton && pageItem && pageItem == pageItemPressPos && ((d->mousePressPos - e->globalPosition()).manhattanLength() < QApplication::startDragDistance())) { + if (!mouseReleaseOverLink(d->mouseOverLinkObject) && (e->modifiers() == Qt::ShiftModifier)) { + const double nX = pageItem->absToPageX(eventPos.x()); + const double nY = pageItem->absToPageY(eventPos.y()); + const Okular::ObjectRect *rect; + // TODO: find a better way to activate the source reference "links" + // for the moment they are activated with Shift + left click + // Search the nearest source reference. + rect = pageItem->page()->objectRect(Okular::ObjectRect::SourceRef, nX, nY, pageItem->uncroppedWidth(), pageItem->uncroppedHeight()); + if (!rect) { + static const double s_minDistance = 0.025; // FIXME?: empirical value? + double distance = 0.0; + rect = pageItem->page()->nearestObjectRect(Okular::ObjectRect::SourceRef, nX, nY, pageItem->uncroppedWidth(), pageItem->uncroppedHeight(), &distance); + // distance is distanceSqr, adapt it to a normalized value + distance = distance / (pow(pageItem->uncroppedWidth(), 2) + pow(pageItem->uncroppedHeight(), 2)); + if (rect && (distance > s_minDistance)) { + rect = nullptr; + } + } + if (rect) { + if (const Okular::SourceReference *ref = static_cast(rect->object())) { + d->document->processSourceReference(*ref); + } + } else { + if (const Okular::SourceReference *ref = d->document->dynamicSourceReference(pageItem->pageNumber(), nX * pageItem->page()->width(), nY * pageItem->page()->height())) { + d->document->processSourceReference(*ref); + delete ref; + } + } + } + } else if (rightButton && !d->mouseAnnotation->isModified()) { + if (pageItem && pageItem == pageItemPressPos && ((d->mousePressPos - e->globalPosition()).manhattanLength() < QApplication::startDragDistance())) { + QMenu *menu = createProcessLinkMenu(pageItem, eventPos); + + const QRect &itemRect = pageItem->uncroppedGeometry(); + const double nX = pageItem->absToPageX(eventPos.x()); + const double nY = pageItem->absToPageY(eventPos.y()); + + const QList annotRects = pageItem->page()->objectRects(Okular::ObjectRect::OAnnotation, nX, nY, itemRect.width(), itemRect.height()); + + AnnotationPopup annotPopup(d->document, AnnotationPopup::MultiAnnotationMode, this); + // Do not move annotPopup inside the if, it needs to live until menu->exec() + if (!annotRects.isEmpty()) { + for (const Okular::ObjectRect *annotRect : annotRects) { + Okular::Annotation *ann = static_cast(annotRect)->annotation(); + if (ann && (ann->subType() != Okular::Annotation::AWidget)) { + annotPopup.addAnnotation(ann, pageItem->pageNumber()); + } + } + + connect(&annotPopup, &AnnotationPopup::openAnnotationWindow, this, &PageView::openAnnotationWindow); + + if (!menu) { + menu = new QMenu(this); + } + annotPopup.addActionsToMenu(menu); + } + + if (menu) { + menu->exec(e->globalPosition().toPoint()); + menu->deleteLater(); + } else { + // a link can move us to another page or even to another document, there's no point in trying to + // process the click on the image once we have processes the click on the link + const Okular::ObjectRect *rect = pageItem->page()->objectRect(Okular::ObjectRect::Image, nX, nY, itemRect.width(), itemRect.height()); + if (rect) { + // handle right click over a image + } else { + // right click (if not within 5 px of the press point, the mode + // had been already changed to 'Selection' instead of 'Normal') + Q_EMIT rightClick(pageItem->page(), e->globalPosition().toPoint()); + } + } + } else { + // right click (if not within 5 px of the press point, the mode + // had been already changed to 'Selection' instead of 'Normal') + Q_EMIT rightClick(pageItem ? pageItem->page() : nullptr, e->globalPosition().toPoint()); + } + } + } break; + + case Okular::Settings::EnumMouseMode::Zoom: + // if a selection rect has been defined, zoom into it + if (leftButton && d->mouseSelecting) { + QRect selRect = d->mouseSelectionRect.normalized(); + if (selRect.width() <= 8 && selRect.height() <= 8) { + selectionClear(); + break; + } + + // find out new zoom ratio and normalized view center (relative to the contentsRect) + double zoom = qMin((double)viewport()->width() / (double)selRect.width(), (double)viewport()->height() / (double)selRect.height()); + double nX = (double)(selRect.left() + selRect.right()) / (2.0 * (double)contentAreaWidth()); + double nY = (double)(selRect.top() + selRect.bottom()) / (2.0 * (double)contentAreaHeight()); + + const float upperZoomLimit = d->document->supportsTiles() ? 100.0 : 4.0; + if (d->zoomFactor <= upperZoomLimit || zoom <= 1.0) { + d->zoomFactor *= zoom; + viewport()->setUpdatesEnabled(false); + updateZoom(ZoomRefreshCurrent); + viewport()->setUpdatesEnabled(true); + } + + // recenter view and update the viewport + center((int)(nX * contentAreaWidth()), (int)(nY * contentAreaHeight())); + viewport()->update(); + + // hide message box and delete overlay window + selectionClear(); + } + break; + + case Okular::Settings::EnumMouseMode::Magnifier: + d->magnifierView->hide(); + break; + + case Okular::Settings::EnumMouseMode::TrimSelect: { + // if it is a left release checks if is over a previous link press + if (leftButton && mouseReleaseOverLink(d->mouseOverLinkObject)) { + selectionClear(); + break; + } + + // if mouse is released and selection is null this is a rightClick + if (rightButton && !d->mouseSelecting) { + break; + } + const PageViewItem *pageItem = pickItemOnPoint(eventPos.x(), eventPos.y()); + // ensure end point rests within a page, or ignore + if (!pageItem) { + break; + } + QRect selectionRect = d->mouseSelectionRect.normalized(); + + double nLeft = pageItem->absToPageX(selectionRect.left()); + double nRight = pageItem->absToPageX(selectionRect.right()); + double nTop = pageItem->absToPageY(selectionRect.top()); + double nBottom = pageItem->absToPageY(selectionRect.bottom()); + if (nLeft < 0) { + nLeft = 0; + } + if (nTop < 0) { + nTop = 0; + } + if (nRight > 1) { + nRight = 1; + } + if (nBottom > 1) { + nBottom = 1; + } + d->trimBoundingBox = Okular::NormalizedRect(nLeft, nTop, nRight, nBottom); + + // Trim Selection successfully done, hide prompt + d->messageWindow->hide(); + + // clear widget selection and invalidate rect + selectionClear(); + + // When Trim selection bbox interaction is over, we should switch to another mousemode. + if (d->aPrevAction) { + d->aPrevAction->trigger(); + d->aPrevAction = nullptr; + } else { + d->aMouseNormal->trigger(); + } + + // with d->trimBoundingBox defined, redraw for trim to take visual effect + if (d->document->pages() > 0) { + slotRelayoutPages(); + slotRequestVisiblePixmaps(); // TODO: slotRelayoutPages() may have done this already! + } + + break; + } + case Okular::Settings::EnumMouseMode::RectSelect: { + // if it is a left release checks if is over a previous link press + if (leftButton && mouseReleaseOverLink(d->mouseOverLinkObject)) { + selectionClear(); + break; + } + + // if mouse is released and selection is null this is a rightClick + if (rightButton && !d->mouseSelecting) { + const PageViewItem *pageItem = pickItemOnPoint(eventPos.x(), eventPos.y()); + Q_EMIT rightClick(pageItem ? pageItem->page() : nullptr, e->globalPosition().toPoint()); + break; + } + + // if a selection is defined, display a popup + if ((!leftButton && !d->aPrevAction) || (!rightButton && d->aPrevAction) || !d->mouseSelecting) { + break; + } + + QRect selectionRect = d->mouseSelectionRect.normalized(); + if (selectionRect.width() <= 8 && selectionRect.height() <= 8) { + selectionClear(); + if (d->aPrevAction) { + d->aPrevAction->trigger(); + d->aPrevAction = nullptr; + } + break; + } + + // if we support text generation + QString selectedText; + if (d->document->supportsSearching()) { + // grab text in selection by extracting it from all intersected pages + const Okular::Page *okularPage = nullptr; + for (const PageViewItem *item : std::as_const(d->items)) { + if (!item->isVisible()) { + continue; + } + + const QRect &itemRect = item->croppedGeometry(); + if (selectionRect.intersects(itemRect)) { + // request the textpage if there isn't one + okularPage = item->page(); + qCDebug(OkularUiDebug) << "checking if page" << item->pageNumber() << "has text:" << okularPage->hasTextPage(); + if (!okularPage->hasTextPage()) { + d->document->requestTextPage(okularPage->number()); + } + // grab text in the rect that intersects itemRect + QRect relativeRect = selectionRect.intersected(itemRect); + relativeRect.translate(-item->uncroppedGeometry().topLeft()); + Okular::RegularAreaRect rects; + rects.append(Okular::NormalizedRect(relativeRect, item->uncroppedWidth(), item->uncroppedHeight())); + selectedText += okularPage->text(&rects); + } + } + } + + // popup that ask to copy:text and copy/save:image + QMenu menu(this); + menu.setObjectName(QStringLiteral("PopupMenu")); + QAction *textToClipboard = nullptr; +#if HAVE_SPEECH + const QAction *speakText = nullptr; +#endif + const QAction *imageToClipboard = nullptr; + const QAction *imageToFile = nullptr; + if (d->document->supportsSearching() && !selectedText.isEmpty()) { + menu.addAction(new OKMenuTitle(&menu, i18np("Text (1 character)", "Text (%1 characters)", selectedText.length()))); + textToClipboard = menu.addAction(QIcon::fromTheme(QStringLiteral("edit-copy")), i18n("Copy to Clipboard")); + textToClipboard->setObjectName(QStringLiteral("CopyTextToClipboard")); + bool copyAllowed = d->document->isAllowed(Okular::AllowCopy); + if (!copyAllowed) { + textToClipboard->setEnabled(false); + textToClipboard->setText(i18n("Copy forbidden by DRM")); + } +#if HAVE_SPEECH + if (Okular::Settings::useTTS()) { + speakText = menu.addAction(QIcon::fromTheme(QStringLiteral("text-speak")), i18n("Speak Text")); + } +#endif + if (copyAllowed) { + addSearchWithinDocumentAction(&menu, selectedText); + addWebShortcutsMenu(&menu, selectedText); + } + } + menu.addAction(new OKMenuTitle(&menu, i18n("Image (%1 × %2 pixels)", selectionRect.width(), selectionRect.height()))); + imageToClipboard = menu.addAction(QIcon::fromTheme(QStringLiteral("image-x-generic")), i18n("Copy to Clipboard")); + imageToFile = menu.addAction(QIcon::fromTheme(QStringLiteral("document-save")), i18n("Save to File…")); + const QAction *choice = menu.exec(e->globalPosition().toPoint()); + // check if the user really selected an action + if (choice) { + // IMAGE operation chosen + if (choice == imageToClipboard || choice == imageToFile) { + // renders page into a pixmap + QPixmap copyPix(selectionRect.width(), selectionRect.height()); + QPainter copyPainter(©Pix); + copyPainter.translate(-selectionRect.left(), -selectionRect.top()); + drawDocumentOnPainter(selectionRect, ©Painter); + copyPainter.end(); + + if (choice == imageToClipboard) { + // [2] copy pixmap to clipboard + QClipboard *cb = QApplication::clipboard(); + cb->setPixmap(copyPix, QClipboard::Clipboard); + if (cb->supportsSelection()) { + cb->setPixmap(copyPix, QClipboard::Selection); + } + d->messageWindow->display(i18n("Image [%1 × %2] copied to clipboard.", copyPix.width(), copyPix.height())); + } else if (choice == imageToFile) { + // [3] save pixmap to file + QString fileName = QFileDialog::getSaveFileName(this, i18n("Save file"), QString(), i18n("Images (*.png *.jpeg)")); + if (fileName.isEmpty()) { + d->messageWindow->display(i18n("File not saved."), QString(), PageViewMessage::Warning); + } else { + QMimeDatabase db; + QMimeType mime = db.mimeTypeForUrl(QUrl::fromLocalFile(fileName)); + QString type; + if (!mime.isDefault()) { + type = QStringLiteral("PNG"); + } else { + type = mime.name().section(QLatin1Char('/'), -1).toUpper(); + } + copyPix.save(fileName, qPrintable(type)); + d->messageWindow->display(i18n("Image [%1 × %2] saved to %3 file.", copyPix.width(), copyPix.height(), type)); + } + } + } + // TEXT operation chosen + else { + if (choice == textToClipboard) { + // [1] copy text to clipboard + QClipboard *cb = QApplication::clipboard(); + cb->setText(selectedText, QClipboard::Clipboard); + if (cb->supportsSelection()) { + cb->setText(selectedText, QClipboard::Selection); + } + } +#if HAVE_SPEECH + else if (choice == speakText) { + // [2] speech selection using TTS + d->tts()->say(selectedText); + } +#endif + } + } + // clear widget selection and invalidate rect + selectionClear(); + + // restore previous action if came from it using right button + if (d->aPrevAction) { + d->aPrevAction->trigger(); + d->aPrevAction = nullptr; + } + } break; + + case Okular::Settings::EnumMouseMode::TableSelect: { + // if it is a left release checks if is over a previous link press + if (leftButton && mouseReleaseOverLink(d->mouseOverLinkObject)) { + selectionClear(); + break; + } + + // if mouse is released and selection is null this is a rightClick + if (rightButton && !d->mouseSelecting) { + const PageViewItem *pageItem = pickItemOnPoint(eventPos.x(), eventPos.y()); + Q_EMIT rightClick(pageItem ? pageItem->page() : nullptr, e->globalPosition().toPoint()); + break; + } + + QRect selectionRect = d->mouseSelectionRect.normalized(); + if (selectionRect.width() <= 8 && selectionRect.height() <= 8 && d->tableSelectionParts.isEmpty()) { + selectionClear(); + if (d->aPrevAction) { + d->aPrevAction->trigger(); + d->aPrevAction = nullptr; + } + break; + } + + if (d->mouseSelecting) { + // break up the selection into page-relative pieces + d->tableSelectionParts.clear(); + const Okular::Page *okularPage = nullptr; + for (PageViewItem *item : std::as_const(d->items)) { + if (!item->isVisible()) { + continue; + } + + const QRect &itemRect = item->croppedGeometry(); + if (selectionRect.intersects(itemRect)) { + // request the textpage if there isn't one + okularPage = item->page(); + qCDebug(OkularUiDebug) << "checking if page" << item->pageNumber() << "has text:" << okularPage->hasTextPage(); + if (!okularPage->hasTextPage()) { + d->document->requestTextPage(okularPage->number()); + } + // grab text in the rect that intersects itemRect + QRect rectInItem = selectionRect.intersected(itemRect); + rectInItem.translate(-item->uncroppedGeometry().topLeft()); + QRect rectInSelection = selectionRect.intersected(itemRect); + rectInSelection.translate(-selectionRect.topLeft()); + d->tableSelectionParts.append( + TableSelectionPart(item, Okular::NormalizedRect(rectInItem, item->uncroppedWidth(), item->uncroppedHeight()), Okular::NormalizedRect(rectInSelection, selectionRect.width(), selectionRect.height()))); + } + } + + QRect updatedRect = d->mouseSelectionRect.normalized().adjusted(0, 0, 1, 1); + updatedRect.translate(-contentAreaPosition()); + d->mouseSelecting = false; + d->mouseSelectionRect.setCoords(0, 0, 0, 0); + d->tableSelectionCols.clear(); + d->tableSelectionRows.clear(); + guessTableDividers(); + viewport()->update(updatedRect); + } + + if (!d->document->isAllowed(Okular::AllowCopy)) { + d->messageWindow->display(i18n("Copy forbidden by DRM"), QString(), PageViewMessage::Info, -1); + break; + } + + QClipboard *cb = QApplication::clipboard(); + if (cb->supportsSelection()) { + cb->setMimeData(getTableContents(), QClipboard::Selection); + } + + } break; + + case Okular::Settings::EnumMouseMode::TextSelect: + // if it is a left release checks if is over a previous link press + if (leftButton && mouseReleaseOverLink(d->mouseOverLinkObject)) { + selectionClear(); + break; + } + + if (d->mouseTextSelecting) { + d->mouseTextSelecting = false; + // textSelectionClear(); + if (d->document->isAllowed(Okular::AllowCopy)) { + const QString text = d->selectedText(); + if (!text.isEmpty()) { + QClipboard *cb = QApplication::clipboard(); + if (cb->supportsSelection()) { + cb->setText(text, QClipboard::Selection); + } + } + } + } else if (!d->mousePressPos.isNull() && rightButton) { + PageViewItem *item = pickItemOnPoint(eventPos.x(), eventPos.y()); + // if there is text selected in the page + if (item) { + QAction *httpLink = nullptr; + QAction *textToClipboard = nullptr; + QString url; + + QMenu *menu = createProcessLinkMenu(item, eventPos); + const bool mouseClickOverLink = (menu != nullptr); +#if HAVE_SPEECH + const QAction *speakText = nullptr; +#endif + if (item->page()->textSelection()) { + if (!menu) { + menu = new QMenu(this); + } + textToClipboard = menu->addAction(QIcon::fromTheme(QStringLiteral("edit-copy")), i18n("Copy Text")); + +#if HAVE_SPEECH + if (Okular::Settings::useTTS()) { + speakText = menu->addAction(QIcon::fromTheme(QStringLiteral("text-speak")), i18n("Speak Text")); + } +#endif + if (!d->document->isAllowed(Okular::AllowCopy)) { + textToClipboard->setEnabled(false); + textToClipboard->setText(i18n("Copy forbidden by DRM")); + } else { + addSearchWithinDocumentAction(menu, d->selectedText()); + addWebShortcutsMenu(menu, d->selectedText()); + } + + // if the right-click was over a link add "Follow This link" instead of "Go to" + if (!mouseClickOverLink) { + url = UrlUtils::getUrl(d->selectedText()); + if (!url.isEmpty()) { + const QString squeezedText = KStringHandler::rsqueeze(url, linkTextPreviewLength); + httpLink = menu->addAction(i18n("Go to '%1'", squeezedText)); + httpLink->setObjectName(QStringLiteral("GoToAction")); + } + } + } + + if (menu) { + menu->setObjectName(QStringLiteral("PopupMenu")); + + const QAction *choice = menu->exec(e->globalPosition().toPoint()); + // check if the user really selected an action + if (choice) { + if (choice == textToClipboard) { + copyTextSelection(); +#if HAVE_SPEECH + } else if (choice == speakText) { + const QString text = d->selectedText(); + d->tts()->say(text); +#endif + } else if (choice == httpLink) { + auto *job = new KIO::OpenUrlJob(QUrl(url)); + job->setUiDelegate(KIO::createDefaultJobUiDelegate(KJobUiDelegate::AutoHandlingEnabled, this)); + job->start(); + } + } + + menu->deleteLater(); + } + } + } + break; + } + + // reset mouse press / 'drag start' position + d->mousePressPos = QPointF(); +} + +void PageView::guessTableDividers() +{ + QList> colTicks, rowTicks, colSelectionTicks, rowSelectionTicks; + + for (const TableSelectionPart &tsp : std::as_const(d->tableSelectionParts)) { + // add ticks for the edges of this area... + colSelectionTicks.append(qMakePair(tsp.rectInSelection.left, +1)); + colSelectionTicks.append(qMakePair(tsp.rectInSelection.right, -1)); + rowSelectionTicks.append(qMakePair(tsp.rectInSelection.top, +1)); + rowSelectionTicks.append(qMakePair(tsp.rectInSelection.bottom, -1)); + + // get the words in this part + Okular::RegularAreaRect rects; + rects.append(tsp.rectInItem); + const Okular::TextEntity::List words = tsp.item->page()->words(&rects, Okular::TextPage::CentralPixelTextAreaInclusionBehaviour); + + for (const Okular::TextEntity &te : words) { + if (te.text().isEmpty()) { + continue; + } + + Okular::NormalizedRect wordArea = te.area(); + + // convert it from item coordinates to part coordinates + wordArea.left -= tsp.rectInItem.left; + wordArea.left /= (tsp.rectInItem.right - tsp.rectInItem.left); + wordArea.right -= tsp.rectInItem.left; + wordArea.right /= (tsp.rectInItem.right - tsp.rectInItem.left); + wordArea.top -= tsp.rectInItem.top; + wordArea.top /= (tsp.rectInItem.bottom - tsp.rectInItem.top); + wordArea.bottom -= tsp.rectInItem.top; + wordArea.bottom /= (tsp.rectInItem.bottom - tsp.rectInItem.top); + + // convert from part coordinates to table coordinates + wordArea.left *= (tsp.rectInSelection.right - tsp.rectInSelection.left); + wordArea.left += tsp.rectInSelection.left; + wordArea.right *= (tsp.rectInSelection.right - tsp.rectInSelection.left); + wordArea.right += tsp.rectInSelection.left; + wordArea.top *= (tsp.rectInSelection.bottom - tsp.rectInSelection.top); + wordArea.top += tsp.rectInSelection.top; + wordArea.bottom *= (tsp.rectInSelection.bottom - tsp.rectInSelection.top); + wordArea.bottom += tsp.rectInSelection.top; + + // add to the ticks arrays... + colTicks.append(qMakePair(wordArea.left, +1)); + colTicks.append(qMakePair(wordArea.right, -1)); + rowTicks.append(qMakePair(wordArea.top, +1)); + rowTicks.append(qMakePair(wordArea.bottom, -1)); + } + } + + int tally = 0; + + std::sort(colSelectionTicks.begin(), colSelectionTicks.end()); + std::sort(rowSelectionTicks.begin(), rowSelectionTicks.end()); + + for (int i = 0; i < colSelectionTicks.length(); ++i) { + tally += colSelectionTicks[i].second; + if (tally == 0 && i + 1 < colSelectionTicks.length() && colSelectionTicks[i + 1].first != colSelectionTicks[i].first) { + colTicks.append(qMakePair(colSelectionTicks[i].first, +1)); + colTicks.append(qMakePair(colSelectionTicks[i + 1].first, -1)); + } + } + Q_ASSERT(tally == 0); + + for (int i = 0; i < rowSelectionTicks.length(); ++i) { + tally += rowSelectionTicks[i].second; + if (tally == 0 && i + 1 < rowSelectionTicks.length() && rowSelectionTicks[i + 1].first != rowSelectionTicks[i].first) { + rowTicks.append(qMakePair(rowSelectionTicks[i].first, +1)); + rowTicks.append(qMakePair(rowSelectionTicks[i + 1].first, -1)); + } + } + Q_ASSERT(tally == 0); + + std::sort(colTicks.begin(), colTicks.end()); + std::sort(rowTicks.begin(), rowTicks.end()); + + for (int i = 0; i < colTicks.length(); ++i) { + tally += colTicks[i].second; + if (tally == 0 && i + 1 < colTicks.length() && colTicks[i + 1].first != colTicks[i].first) { + d->tableSelectionCols.append((colTicks[i].first + colTicks[i + 1].first) / 2); + d->tableDividersGuessed = true; + } + } + Q_ASSERT(tally == 0); + + for (int i = 0; i < rowTicks.length(); ++i) { + tally += rowTicks[i].second; + if (tally == 0 && i + 1 < rowTicks.length() && rowTicks[i + 1].first != rowTicks[i].first) { + d->tableSelectionRows.append((rowTicks[i].first + rowTicks[i + 1].first) / 2); + d->tableDividersGuessed = true; + } + } + Q_ASSERT(tally == 0); +} + +void PageView::mouseDoubleClickEvent(QMouseEvent *e) +{ + if (e->button() == Qt::LeftButton) { + const QPoint eventPos = contentAreaPoint(e->pos()); + const PageViewItem *pageItem = pickItemOnPoint(eventPos.x(), eventPos.y()); + if (pageItem) { + // find out normalized mouse coords inside current item + double nX = pageItem->absToPageX(eventPos.x()); + double nY = pageItem->absToPageY(eventPos.y()); + + if (d->mouseMode == Okular::Settings::EnumMouseMode::TextSelect) { + textSelectionClear(); + + std::unique_ptr wordRect = pageItem->page()->wordAt(Okular::NormalizedPoint(nX, nY)); + if (wordRect) { + // TODO words with hyphens across pages + d->document->setPageTextSelection(pageItem->pageNumber(), std::move(wordRect), palette().color(QPalette::Active, QPalette::Highlight)); + d->pagesWithTextSelection << pageItem->pageNumber(); + if (d->document->isAllowed(Okular::AllowCopy)) { + const QString text = d->selectedText(); + if (!text.isEmpty()) { + QClipboard *cb = QApplication::clipboard(); + if (cb->supportsSelection()) { + cb->setText(text, QClipboard::Selection); + } + } + } + return; + } + } + + const QRect &itemRect = pageItem->uncroppedGeometry(); + Okular::Annotation *ann = nullptr; + + const Okular::ObjectRect *orect = pageItem->page()->objectRect(Okular::ObjectRect::OAnnotation, nX, nY, itemRect.width(), itemRect.height()); + if (orect) { + ann = static_cast(orect)->annotation(); + } + if (ann && ann->subType() != Okular::Annotation::AWidget) { + openAnnotationWindow(ann, pageItem->pageNumber()); + } + } + } +} + +void PageView::wheelEvent(QWheelEvent *e) +{ + if (!d->document->isOpened()) { + QAbstractScrollArea::wheelEvent(e); + return; + } + + int delta = e->angleDelta().y(), vScroll = verticalScrollBar()->value(); + e->accept(); + + if ((e->modifiers() & Qt::ControlModifier) == Qt::ControlModifier) { + // Ctrl key is pressed, perform zoom instead of scroll + + // If left click is pressed while doing Ctrl+Wheel, we must temporarily fake a release else + // QScroller will ignore scrollTo calls which are are required to properly center + // the view on the mouse pointer instead of the middle of the viewport. + bool isDragging = d->scroller->state() == QScroller::Pressed || d->scroller->state() == QScroller::Dragging; + + if (isDragging) { + d->scroller->handleInput(QScroller::InputRelease, e->position(), e->timestamp() - 1); + } + + float newZoom = d->zoomFactor * (1.0 + (delta / 500.0)); + zoomWithFixedCenter(ZoomRefreshCurrent, e->position(), newZoom); + + if (isDragging) { + d->scroller->handleInput(QScroller::InputPress, e->position(), e->timestamp()); + } + + // remainingScroll is tracking the distance between where we wanted to zoom in and the real center. + // This error can exist because of trying to zoom out near the border of a page. + // With Ctrl + wheel, there is no start or end of zooming, so always reset remaningScroll. + d->remainingScroll = QPointF(0.0, 0.0); + return; + } + + // Perform scroll + if (!getContinuousMode() && vScroll == verticalScrollBar()->maximum() && delta < 0) { + d->singlePageWheelAccumulatedDelta += delta; + // go to next page + if (d->singlePageWheelAccumulatedDelta <= -QWheelEvent::DefaultDeltasPerStep) { + d->singlePageWheelAccumulatedDelta = 0; + if ((int)d->document->currentPage() < d->items.count() - 1) { + // more optimized than document->setNextPage and then move view to top + Okular::DocumentViewport newViewport = d->document->viewport(); + newViewport.pageNumber += viewColumns(); + if (newViewport.pageNumber >= (int)d->items.count()) { + newViewport.pageNumber = d->items.count() - 1; + } + newViewport.rePos.enabled = true; + newViewport.rePos.normalizedY = 0.0; + d->document->setViewport(newViewport); + d->scroller->scrollTo(QPoint(horizontalScrollBar()->value(), verticalScrollBar()->value()), 0); // sync scroller with scrollbar + } + } + } else if (!getContinuousMode() && vScroll == verticalScrollBar()->minimum() && delta > 0) { + d->singlePageWheelAccumulatedDelta += delta; + // go to prev page + if (d->singlePageWheelAccumulatedDelta >= QWheelEvent::DefaultDeltasPerStep) { + d->singlePageWheelAccumulatedDelta = 0; + if (d->document->currentPage() > 0) { + // more optimized than document->setPrevPage and then move view to bottom + Okular::DocumentViewport newViewport = d->document->viewport(); + newViewport.pageNumber -= viewColumns(); + if (newViewport.pageNumber < 0) { + newViewport.pageNumber = 0; + } + newViewport.rePos.enabled = true; + newViewport.rePos.normalizedY = 1.0; + d->document->setViewport(newViewport); + d->scroller->scrollTo(QPoint(horizontalScrollBar()->value(), verticalScrollBar()->value()), 0); // sync scroller with scrollbar + } + } + } else { + d->singlePageWheelAccumulatedDelta = 0; + // When the shift key is held down, scroll ten times faster + int multiplier = (e->modifiers() & Qt::ShiftModifier) ? 10 : 1; + + if (delta != 0 && delta % QWheelEvent::DefaultDeltasPerStep == 0) { + // number of scroll wheel steps Qt gives to us at the same time + int count = abs(delta / QWheelEvent::DefaultDeltasPerStep) * multiplier; + if (delta < 0) { + slotScrollDown(count); + } else { + slotScrollUp(count); + } + } else { + d->scroller->scrollTo(d->scroller->finalPosition() - e->angleDelta() * multiplier, 0); + } + } +} + +bool PageView::viewportEvent(QEvent *e) +{ + if (e->type() == QEvent::ToolTip + // Show tool tips only for those modes that change the cursor + // to a hand when hovering over the link. + && (d->mouseMode == Okular::Settings::EnumMouseMode::Browse || d->mouseMode == Okular::Settings::EnumMouseMode::RectSelect || d->mouseMode == Okular::Settings::EnumMouseMode::TextSelect || + d->mouseMode == Okular::Settings::EnumMouseMode::TrimSelect)) { + QHelpEvent *he = static_cast(e); + if (d->mouseAnnotation->isMouseOver()) { + d->mouseAnnotation->routeTooltipEvent(he); + } else { + const QPoint eventPos = contentAreaPoint(he->pos()); + const PageViewItem *pageItem = pickItemOnPoint(eventPos.x(), eventPos.y()); + const Okular::ObjectRect *rect = nullptr; + const Okular::Action *link = nullptr; + if (pageItem) { + double nX = pageItem->absToPageX(eventPos.x()); + double nY = pageItem->absToPageY(eventPos.y()); + rect = pageItem->page()->objectRect(Okular::ObjectRect::Action, nX, nY, pageItem->uncroppedWidth(), pageItem->uncroppedHeight()); + if (rect) { + link = static_cast(rect->object()); + } + } + + if (link) { + QRect r = rect->boundingRect(pageItem->uncroppedWidth(), pageItem->uncroppedHeight()); + r.translate(pageItem->uncroppedGeometry().topLeft()); + r.translate(-contentAreaPosition()); + QString tip = link->actionTip(); + if (!tip.isEmpty()) { + QToolTip::showText(he->globalPos(), tip, viewport(), r); + } + } + } + e->accept(); + return true; + } else { + // do not stop the event + return QAbstractScrollArea::viewportEvent(e); + } +} + +void PageView::scrollContentsBy(int dx, int dy) +{ + const QRect r = viewport()->rect(); + viewport()->scroll(dx, dy, r); + // HACK manually repaint the damaged regions, as it seems some updates are missed + // thus leaving artifacts around + QRegion rgn(r); + rgn -= rgn & r.translated(dx, dy); + + for (const QRect &rect : rgn) { + viewport()->update(rect); + } + + updateCursor(); +} +// END widget events + +std::vector> PageView::textSelections(const QPoint start, const QPoint end, int &firstpage) +{ + firstpage = -1; + std::vector> ret; + QSet affectedItemsSet; + QRect selectionRect = QRect::span(start, end); + for (const PageViewItem *item : std::as_const(d->items)) { + if (item->isVisible() && selectionRect.intersects(item->croppedGeometry())) { + affectedItemsSet.insert(item->pageNumber()); + } + } +#ifdef PAGEVIEW_DEBUG + qCDebug(OkularUiDebug) << ">>>> item selected by mouse:" << affectedItemsSet.count(); +#endif + + if (!affectedItemsSet.isEmpty()) { + // is the mouse drag line the ne-sw diagonal of the selection rect? + bool direction_ne_sw = start == selectionRect.topRight() || start == selectionRect.bottomLeft(); + + int tmpmin = d->document->pages(); + int tmpmax = 0; + for (const int p : std::as_const(affectedItemsSet)) { + if (p < tmpmin) { + tmpmin = p; + } + if (p > tmpmax) { + tmpmax = p; + } + } + + const PageViewItem *a = pickItemOnPoint((int)(direction_ne_sw ? selectionRect.right() : selectionRect.left()), (int)selectionRect.top()); + int min = a && (a->pageNumber() != tmpmax) ? a->pageNumber() : tmpmin; + const PageViewItem *b = pickItemOnPoint((int)(direction_ne_sw ? selectionRect.left() : selectionRect.right()), (int)selectionRect.bottom()); + int max = b && (b->pageNumber() != tmpmin) ? b->pageNumber() : tmpmax; + + QList affectedItemsIds; + for (int i = min; i <= max; ++i) { + affectedItemsIds.append(i); + } +#ifdef PAGEVIEW_DEBUG + qCDebug(OkularUiDebug) << ">>>> pages:" << affectedItemsIds; +#endif + firstpage = affectedItemsIds.first(); + + if (affectedItemsIds.count() == 1) { + const PageViewItem *item = d->items[affectedItemsIds.first()]; + selectionRect.translate(-item->uncroppedGeometry().topLeft()); + ret.push_back(textSelectionForItem(item, direction_ne_sw ? selectionRect.topRight() : selectionRect.topLeft(), direction_ne_sw ? selectionRect.bottomLeft() : selectionRect.bottomRight())); + } else if (affectedItemsIds.count() > 1) { + // first item + const PageViewItem *first = d->items[affectedItemsIds.first()]; + QRect geom = first->croppedGeometry().intersected(selectionRect).translated(-first->uncroppedGeometry().topLeft()); + ret.push_back(textSelectionForItem(first, selectionRect.bottom() > geom.height() ? (direction_ne_sw ? geom.topRight() : geom.topLeft()) : (direction_ne_sw ? geom.bottomRight() : geom.bottomLeft()), QPoint())); + // last item + const PageViewItem *last = d->items[affectedItemsIds.last()]; + geom = last->croppedGeometry().intersected(selectionRect).translated(-last->uncroppedGeometry().topLeft()); + // the last item needs to appended at last... + std::unique_ptr lastArea = + textSelectionForItem(last, QPoint(), selectionRect.bottom() > geom.height() ? (direction_ne_sw ? geom.bottomLeft() : geom.bottomRight()) : (direction_ne_sw ? geom.topLeft() : geom.topRight())); + affectedItemsIds.removeFirst(); + affectedItemsIds.removeLast(); + // item between the two above + for (const int page : std::as_const(affectedItemsIds)) { + ret.push_back(textSelectionForItem(d->items[page])); + } + ret.push_back(std::move(lastArea)); + } + } + return ret; +} + +const QRect &PageView::viewportBoundsForAnnotationWindows() +{ + return viewport()->geometry(); +} + +void PageView::notifyAnnotationWindowsAboutViewportBoundsChange() +{ + const auto bounds = viewportBoundsForAnnotationWindows(); + for (const auto &aw : std::as_const(d->m_annowindows)) { + aw->updateViewportBounds(bounds); + } +} + +void PageView::drawDocumentOnPainter(const QRect contentsRect, QPainter *p) +{ + QColor backColor; + + if (Okular::Settings::useCustomBackgroundColor()) { + backColor = Okular::Settings::backgroundColor(); + } else { + backColor = viewport()->palette().color(QPalette::Dark); + } + + // create a region from which we'll subtract painted rects + QRegion remainingArea(contentsRect); + + // This loop draws the actual pages + // iterate over all items painting the ones intersecting contentsRect + for (const PageViewItem *item : std::as_const(d->items)) { + // check if a piece of the page intersects the contents rect + if (!item->isVisible() || !item->croppedGeometry().intersects(contentsRect)) { + continue; + } + + // get item and item's outline geometries + const QRect itemGeometry = item->croppedGeometry(); + + // move the painter to the top-left corner of the real page + p->save(); + p->translate(itemGeometry.left(), itemGeometry.top()); + + // draw the page using the PagePainter with all flags active + if (contentsRect.intersects(itemGeometry)) { + Okular::NormalizedPoint *viewPortPoint = nullptr; + Okular::NormalizedPoint point(d->lastSourceLocationViewportNormalizedX, d->lastSourceLocationViewportNormalizedY); + if (Okular::Settings::showSourceLocationsGraphically() && item->pageNumber() == d->lastSourceLocationViewportPageNumber) { + viewPortPoint = &point; + } + const QRect pixmapRect = contentsRect.intersected(itemGeometry).translated(-item->croppedGeometry().topLeft()); + PagePainter::paintCroppedPageOnPainter(p, item->page(), this, pageflags, item->uncroppedWidth(), item->uncroppedHeight(), pixmapRect, item->crop(), viewPortPoint); + } + + // remove painted area from 'remainingArea' and restore painter + remainingArea -= itemGeometry; + p->restore(); + } + + // fill the visible area around the page with the background color + for (const QRect &backRect : remainingArea) { + p->fillRect(backRect, backColor); + } + + // take outline and shadow into account when testing whether a repaint is necessary + const qreal dpr = devicePixelRatioF(); + const QRect checkRect = contentsRect.adjusted(-3, -3, 1, 1); + + // Method to linearly interpolate between black (=(0,0,0), omitted) and the background color + auto interpolateColor = [&backColor](double t) { return QColor(t * backColor.red(), t * backColor.green(), t * backColor.blue()); }; + + // width of the shadow in device pixels + static const int shadowWidth = 2 * dpr; + + // iterate over all items painting a black outline and a simple bottom/right gradient + for (const PageViewItem *item : std::as_const(d->items)) { + // check if a piece of the page intersects the contents rect + if (!item->isVisible() || !item->croppedGeometry().intersects(checkRect)) { + continue; + } + + // get item and item's outline geometries + const QRect itemGeometry = item->croppedGeometry(); + + // move the painter to the top-left corner of the real page + p->save(); + p->translate(itemGeometry.left(), itemGeometry.top()); + + // draw the page outline (black border and bottom-right shadow) + if (!itemGeometry.contains(contentsRect)) { + const int itemWidth = itemGeometry.width(); + const int itemHeight = itemGeometry.height(); + // draw simple outline + QPen pen(Qt::black); + pen.setWidth(0); + p->setPen(pen); + + const QRectF outline(-1.0 / dpr, -1.0 / dpr, itemWidth + 1.0 / dpr, itemHeight + 1.0 / dpr); + p->drawRect(outline); + + // draw bottom/right gradient + for (int i = 1; i <= shadowWidth; i++) { + pen.setColor(interpolateColor(double(i) / (shadowWidth + 1))); + p->setPen(pen); + const QPointF left((i - 1) / dpr, itemHeight + i / dpr); + const QPointF up(itemWidth + i / dpr, (i - 1) / dpr); + const QPointF corner(itemWidth + i / dpr, itemHeight + i / dpr); + p->drawLine(left, corner); + p->drawLine(up, corner); + } + } + + p->restore(); + } +} + +void PageView::updateItemSize(PageViewItem *item, int colWidth, int rowHeight) +{ + const Okular::Page *okularPage = item->page(); + double width = okularPage->width(), height = okularPage->height(), zoom = d->zoomFactor; + Okular::NormalizedRect crop(0., 0., 1., 1.); + + // Handle cropping, due to either "Trim Margin" or "Trim to Selection" cases + if ((Okular::Settings::trimMargins() && okularPage->isBoundingBoxKnown() && !okularPage->boundingBox().isNull()) || (d->aTrimToSelection && d->aTrimToSelection->isChecked() && !d->trimBoundingBox.isNull())) { + crop = Okular::Settings::trimMargins() ? okularPage->boundingBox() : d->trimBoundingBox; + + // Rotate the bounding box + for (int i = okularPage->rotation(); i > 0; --i) { + Okular::NormalizedRect rot = crop; + crop.left = 1 - rot.bottom; + crop.top = rot.left; + crop.right = 1 - rot.top; + crop.bottom = rot.right; + } + + // Expand the crop slightly beyond the bounding box (for Trim Margins only) + if (Okular::Settings::trimMargins()) { + static const double cropExpandRatio = 0.04; + const double cropExpand = cropExpandRatio * ((crop.right - crop.left) + (crop.bottom - crop.top)) / 2; + crop = Okular::NormalizedRect(crop.left - cropExpand, crop.top - cropExpand, crop.right + cropExpand, crop.bottom + cropExpand) & Okular::NormalizedRect(0, 0, 1, 1); + } + + // We currently generate a larger image and then crop it, so if the + // crop rect is very small the generated image is huge. Hence, we shouldn't + // let the crop rect become too small. + static double minCropRatio; + if (Okular::Settings::trimMargins()) { + // Make sure we crop by at most 50% in either dimension: + minCropRatio = 0.5; + } else { + // Looser Constraint for "Trim Selection" + minCropRatio = 0.20; + } + if ((crop.right - crop.left) < minCropRatio) { + const double newLeft = (crop.left + crop.right) / 2 - minCropRatio / 2; + crop.left = qMax(0.0, qMin(1.0 - minCropRatio, newLeft)); + crop.right = crop.left + minCropRatio; + } + if ((crop.bottom - crop.top) < minCropRatio) { + const double newTop = (crop.top + crop.bottom) / 2 - minCropRatio / 2; + crop.top = qMax(0.0, qMin(1.0 - minCropRatio, newTop)); + crop.bottom = crop.top + minCropRatio; + } + + width *= (crop.right - crop.left); + height *= (crop.bottom - crop.top); +#ifdef PAGEVIEW_DEBUG + qCDebug(OkularUiDebug) << "Cropped page" << okularPage->number() << "to" << crop << "width" << width << "height" << height << "by bbox" << okularPage->boundingBox(); +#endif + } + + if (d->zoomMode == ZoomFixed) { + width *= zoom; + height *= zoom; + item->setWHZC((int)width, (int)height, d->zoomFactor, crop); + } else if (d->zoomMode == ZoomFitWidth) { + height = (height / width) * colWidth; + zoom = (double)colWidth / width; + item->setWHZC(colWidth, (int)height, zoom, crop); + if ((uint)item->pageNumber() == d->document->currentPage()) { + d->zoomFactor = zoom; + } + } else if (d->zoomMode == ZoomFitPage) { + const double scaleW = (double)colWidth / (double)width; + const double scaleH = (double)rowHeight / (double)height; + zoom = qMin(scaleW, scaleH); + item->setWHZC((int)(zoom * width), (int)(zoom * height), zoom, crop); + if ((uint)item->pageNumber() == d->document->currentPage()) { + d->zoomFactor = zoom; + } + } else if (d->zoomMode == ZoomFitAuto) { + const double aspectRatioRelation = 1.25; // relation between aspect ratios for "auto fit" + const double uiAspect = (double)rowHeight / (double)colWidth; + const double pageAspect = (double)height / (double)width; + const double rel = uiAspect / pageAspect; + + if (!getContinuousMode() && rel > aspectRatioRelation) { + // UI space is relatively much higher than the page + zoom = (double)rowHeight / (double)height; + } else if (rel < 1.0 / aspectRatioRelation) { + // UI space is relatively much wider than the page in relation + zoom = (double)colWidth / (double)width; + } else { + // aspect ratios of page and UI space are very similar + const double scaleW = (double)colWidth / (double)width; + const double scaleH = (double)rowHeight / (double)height; + zoom = qMin(scaleW, scaleH); + } + item->setWHZC((int)(zoom * width), (int)(zoom * height), zoom, crop); + if ((uint)item->pageNumber() == d->document->currentPage()) { + d->zoomFactor = zoom; + } + } +#ifndef NDEBUG + else { + qCDebug(OkularUiDebug) << "calling updateItemSize with unrecognized d->zoomMode!"; + } +#endif +} + +PageViewItem *PageView::pickItemOnPoint(int x, int y) +{ + PageViewItem *item = nullptr; + for (PageViewItem *i : std::as_const(d->visibleItems)) { + const QRect &r = i->croppedGeometry(); + if (x < r.right() && x > r.left() && y < r.bottom()) { + if (y > r.top()) { + item = i; + } + break; + } + } + return item; +} + +void PageView::textSelectionClear() +{ + // something to clear + if (!d->pagesWithTextSelection.isEmpty()) { + for (const int page : std::as_const(d->pagesWithTextSelection)) { + d->document->setPageTextSelection(page, nullptr, QColor()); + } + d->pagesWithTextSelection.clear(); + } +} + +void PageView::selectionStart(const QPoint pos, const QColor &color, bool /*aboveAll*/) +{ + selectionClear(); + d->mouseSelecting = true; + d->mouseSelectionRect.setRect(pos.x(), pos.y(), 1, 1); + d->mouseSelectionColor = color; + // ensures page doesn't scroll + if (d->autoScrollTimer) { + d->scrollIncrement = 0; + d->autoScrollTimer->stop(); + } +} + +void PageView::scrollPosIntoView(const QPoint pos) +{ + // this number slows the speed of the page by its value, chosen not to be too fast or too slow, the actual speed is determined from the mouse position, not critical + const int damping = 6; + + if (pos.x() < horizontalScrollBar()->value()) { + d->dragScrollVector.setX((pos.x() - horizontalScrollBar()->value()) / damping); + } else if (horizontalScrollBar()->value() + viewport()->width() < pos.x()) { + d->dragScrollVector.setX((pos.x() - horizontalScrollBar()->value() - viewport()->width()) / damping); + } else { + d->dragScrollVector.setX(0); + } + + if (pos.y() < verticalScrollBar()->value()) { + d->dragScrollVector.setY((pos.y() - verticalScrollBar()->value()) / damping); + } else if (verticalScrollBar()->value() + viewport()->height() < pos.y()) { + d->dragScrollVector.setY((pos.y() - verticalScrollBar()->value() - viewport()->height()) / damping); + } else { + d->dragScrollVector.setY(0); + } + + if (d->dragScrollVector != QPoint(0, 0)) { + if (!d->dragScrollTimer.isActive()) { + d->dragScrollTimer.start(1000 / 60); // 60 fps + } + } else { + d->dragScrollTimer.stop(); + } +} + +QPoint PageView::viewportToContentArea(const Okular::DocumentViewport &vp) const +{ + Q_ASSERT(vp.pageNumber >= 0); + + const QRect &r = d->items[vp.pageNumber]->croppedGeometry(); + QPoint c {r.left(), r.top()}; + + if (vp.rePos.enabled) { + // Convert the coordinates of vp to normalized coordinates on the cropped page. + // This is a no-op if the page isn't cropped. + const Okular::NormalizedRect &crop = d->items[vp.pageNumber]->crop(); + const double normalized_on_crop_x = (vp.rePos.normalizedX - crop.left) / (crop.right - crop.left); + const double normalized_on_crop_y = (vp.rePos.normalizedY - crop.top) / (crop.bottom - crop.top); + + if (vp.rePos.pos == Okular::DocumentViewport::Center) { + c.rx() += qRound(normClamp(normalized_on_crop_x, 0.5) * (double)r.width()); + c.ry() += qRound(normClamp(normalized_on_crop_y, 0.0) * (double)r.height()); + } else { + // TopLeft + c.rx() += qRound(normClamp(normalized_on_crop_x, 0.0) * (double)r.width() + viewport()->width() / 2.0); + c.ry() += qRound(normClamp(normalized_on_crop_y, 0.0) * (double)r.height() + viewport()->height() / 2.0); + } + } else { + // exact repositioning disabled, align page top margin with viewport top border by default + c.rx() += r.width() / 2; + c.ry() += viewport()->height() / 2 - 10; + } + return c; +} + +void PageView::updateSelection(const QPoint pos) +{ + if (d->mouseSelecting) { + scrollPosIntoView(pos); + // update the selection rect + QRect updateRect = d->mouseSelectionRect; + d->mouseSelectionRect.setBottomLeft(pos); + updateRect |= d->mouseSelectionRect; + updateRect.translate(-contentAreaPosition()); + viewport()->update(updateRect.adjusted(-1, -2, 2, 1)); + } else if (d->mouseTextSelecting) { + scrollPosIntoView(pos); + int first = -1; + std::vector> selections = textSelections(pos, d->mouseSelectPos.toPoint(), first); + QSet pagesWithSelectionSet; + for (size_t i = 0; i < selections.size(); ++i) { + pagesWithSelectionSet.insert(i + first); + } + + const QSet noMoreSelectedPages = d->pagesWithTextSelection - pagesWithSelectionSet; + // clear the selection from pages not selected anymore + for (int p : noMoreSelectedPages) { + d->document->setPageTextSelection(p, nullptr, QColor()); + } + // set the new selection for the selected pages + for (int p : std::as_const(pagesWithSelectionSet)) { + d->document->setPageTextSelection(p, std::move(selections[p - first]), palette().color(QPalette::Active, QPalette::Highlight)); + } + d->pagesWithTextSelection = pagesWithSelectionSet; + } +} + +static Okular::NormalizedPoint rotateInNormRect(const QPoint rotated, const QRect rect, Okular::Rotation rotation) +{ + Okular::NormalizedPoint ret; + + switch (rotation) { + case Okular::Rotation0: + ret = Okular::NormalizedPoint(rotated.x(), rotated.y(), rect.width(), rect.height()); + break; + case Okular::Rotation90: + ret = Okular::NormalizedPoint(rotated.y(), rect.width() - rotated.x(), rect.height(), rect.width()); + break; + case Okular::Rotation180: + ret = Okular::NormalizedPoint(rect.width() - rotated.x(), rect.height() - rotated.y(), rect.width(), rect.height()); + break; + case Okular::Rotation270: + ret = Okular::NormalizedPoint(rect.height() - rotated.y(), rotated.x(), rect.height(), rect.width()); + break; + } + + return ret; +} + +std::unique_ptr PageView::textSelectionForItem(const PageViewItem *item, const QPoint startPoint, const QPoint endPoint) +{ + const QRect &geometry = item->uncroppedGeometry(); + Okular::NormalizedPoint startCursor(0.0, 0.0); + if (!startPoint.isNull()) { + startCursor = rotateInNormRect(startPoint, geometry, item->page()->rotation()); + } + Okular::NormalizedPoint endCursor(1.0, 1.0); + if (!endPoint.isNull()) { + endCursor = rotateInNormRect(endPoint, geometry, item->page()->rotation()); + } + Okular::TextSelection mouseTextSelectionInfo(startCursor, endCursor); + + const Okular::Page *okularPage = item->page(); + + if (!okularPage->hasTextPage()) { + d->document->requestTextPage(okularPage->number()); + } + + std::unique_ptr selectionArea = okularPage->textArea(mouseTextSelectionInfo); +#ifdef PAGEVIEW_DEBUG + qCDebug(OkularUiDebug).nospace() << "text areas (" << okularPage->number() << "): " << (selectionArea ? QString::number(selectionArea->count()) : QStringLiteral("(none)")); +#endif + return selectionArea; +} + +void PageView::selectionClear(const ClearMode mode) +{ + QRect updatedRect = d->mouseSelectionRect.normalized().adjusted(-2, -2, 2, 2); + d->mouseSelecting = false; + d->mouseSelectionRect.setCoords(0, 0, 0, 0); + d->tableSelectionCols.clear(); + d->tableSelectionRows.clear(); + d->tableDividersGuessed = false; + for (const TableSelectionPart &tsp : std::as_const(d->tableSelectionParts)) { + QRect selectionPartRect = tsp.rectInItem.geometry(tsp.item->uncroppedWidth(), tsp.item->uncroppedHeight()); + selectionPartRect.translate(tsp.item->uncroppedGeometry().topLeft()); + // should check whether this is on-screen here? + updatedRect = updatedRect.united(selectionPartRect); + } + if (mode != ClearOnlyDividers) { + d->tableSelectionParts.clear(); + } + d->tableSelectionParts.clear(); + updatedRect.translate(-contentAreaPosition()); + viewport()->update(updatedRect); +} + +// const to be used for both zoomFactorFitMode function and slotRelayoutPages. +static const int kcolWidthMargin = 6; +static const int krowHeightMargin = 12; + +double PageView::zoomFactorFitMode(ZoomMode mode) +{ + const int pageCount = d->items.count(); + if (pageCount == 0) { + return 0; + } + const bool facingCentered = Okular::Settings::viewMode() == Okular::Settings::EnumViewMode::FacingFirstCentered || (Okular::Settings::viewMode() == Okular::Settings::EnumViewMode::Facing && pageCount == 1); + const bool overrideCentering = facingCentered && pageCount < 3; + const int nCols = overrideCentering ? 1 : viewColumns(); + const int colWidth = viewport()->width() / nCols - kcolWidthMargin; + const double rowHeight = viewport()->height() - krowHeightMargin; + const PageViewItem *currentItem = d->items[qMax(0, (int)d->document->currentPage())]; + // prevent segmentation fault when opening a new document; + if (!currentItem) { + return 0; + } + + // We need the real width/height of the cropped page. + const Okular::Page *okularPage = currentItem->page(); + const double width = okularPage->width() * currentItem->crop().width(); + const double height = okularPage->height() * currentItem->crop().height(); + + if (mode == ZoomFitWidth) { + return (double)colWidth / width; + } + if (mode == ZoomFitPage) { + const double scaleW = (double)colWidth / (double)width; + const double scaleH = (double)rowHeight / (double)height; + return qMin(scaleW, scaleH); + } + return 0; +} + +static double parseZoomString(QString z) +{ + // kdelibs4 sometimes adds accelerators to actions' text directly :( + z.remove(QLatin1Char('&')); + z.remove(QLatin1Char('%')); + return QLocale().toDouble(z) / 100.0; +} + +static QString makePrettyZoomString(double value) +{ + // we do not need to display 2-digit precision + QString localValue(QLocale().toString(value * 100.0, 'f', 1)); + localValue.remove(QLocale().decimalPoint() + QLatin1Char('0')); + // remove a trailing zero in numbers like 66.70 + if (localValue.right(1) == QLatin1String("0") && localValue.indexOf(QLocale().decimalPoint()) > -1) { + localValue.chop(1); + } + return localValue; +} + +void PageView::updateZoom(ZoomMode newZoomMode) +{ + if (newZoomMode == ZoomFixed) { + if (d->aZoom->currentItem() == 0) { + newZoomMode = ZoomFitWidth; + } else if (d->aZoom->currentItem() == 1) { + newZoomMode = ZoomFitPage; + } else if (d->aZoom->currentItem() == 2) { + newZoomMode = ZoomFitAuto; + } + } + + float newFactor = d->zoomFactor; + const QAction *checkedZoomAction = nullptr; + switch (newZoomMode) { + case ZoomFixed: { // ZoomFixed case + newFactor = parseZoomString(d->aZoom->currentText()); + } break; + case ZoomIn: + case ZoomOut: { + const float zoomFactorFitWidth = zoomFactorFitMode(ZoomFitWidth); + const float zoomFactorFitPage = zoomFactorFitMode(ZoomFitPage); + + QList zoomValue(kZoomValues.size()); + + std::copy(kZoomValues.begin(), kZoomValues.end(), zoomValue.begin()); + zoomValue.append(zoomFactorFitWidth); + zoomValue.append(zoomFactorFitPage); + std::sort(zoomValue.begin(), zoomValue.end()); + + QList::iterator i; + if (newZoomMode == ZoomOut) { + if (newFactor <= zoomValue.first()) { + return; + } + i = std::lower_bound(zoomValue.begin(), zoomValue.end(), newFactor) - 1; + } else { + if (newFactor >= zoomValue.last()) { + return; + } + i = std::upper_bound(zoomValue.begin(), zoomValue.end(), newFactor); + } + const float tmpFactor = *i; + if (tmpFactor == zoomFactorFitWidth) { + newZoomMode = ZoomFitWidth; + checkedZoomAction = d->aZoomFitWidth; + } else if (tmpFactor == zoomFactorFitPage) { + newZoomMode = ZoomFitPage; + checkedZoomAction = d->aZoomFitPage; + } else { + newFactor = tmpFactor; + newZoomMode = ZoomFixed; + } + } break; + case ZoomActual: + newZoomMode = ZoomFixed; + newFactor = 1.0; + break; + case ZoomFitWidth: + checkedZoomAction = d->aZoomFitWidth; + break; + case ZoomFitPage: + checkedZoomAction = d->aZoomFitPage; + break; + case ZoomFitAuto: + checkedZoomAction = d->aZoomAutoFit; + break; + case ZoomRefreshCurrent: + newZoomMode = ZoomFixed; + d->zoomFactor = -1; + break; + } + const float upperZoomLimit = d->document->supportsTiles() ? 100.0 : 4.0; + if (newFactor > upperZoomLimit) { + newFactor = upperZoomLimit; + } + if (newFactor < kZoomValues[0]) { + newFactor = kZoomValues[0]; + } + + if (newZoomMode != d->zoomMode || (newZoomMode == ZoomFixed && newFactor != d->zoomFactor)) { + // rebuild layout and update the whole viewport + d->zoomMode = newZoomMode; + d->zoomFactor = newFactor; + // be sure to block updates to document's viewport + bool prevState = d->blockViewport; + d->blockViewport = true; + slotRelayoutPages(); + d->blockViewport = prevState; + // request pixmaps + slotRequestVisiblePixmaps(); + // update zoom text + updateZoomText(); + // update actions checked state + if (d->aZoomFitWidth) { + d->aZoomFitWidth->setChecked(checkedZoomAction == d->aZoomFitWidth); + d->aZoomFitPage->setChecked(checkedZoomAction == d->aZoomFitPage); + d->aZoomAutoFit->setChecked(checkedZoomAction == d->aZoomAutoFit); + } + } else if (newZoomMode == ZoomFixed && newFactor == d->zoomFactor) { + updateZoomText(); + } + + updateZoomActionsEnabledStatus(); +} + +void PageView::updateZoomActionsEnabledStatus() +{ + const float upperZoomLimit = d->document->supportsTiles() ? kZoomValues.back() : 4.0; + const bool hasPages = d->document && d->document->pages() > 0; + + if (d->aZoomFitWidth) { + d->aZoomFitWidth->setEnabled(hasPages); + } + if (d->aZoomFitPage) { + d->aZoomFitPage->setEnabled(hasPages); + } + if (d->aZoomAutoFit) { + d->aZoomAutoFit->setEnabled(hasPages); + } + if (d->aZoom) { + d->aZoom->selectableActionGroup()->setEnabled(hasPages); + d->aZoom->setEnabled(hasPages); + } + if (d->aZoomIn) { + d->aZoomIn->setEnabled(hasPages && d->zoomFactor < upperZoomLimit - 0.001); + } + if (d->aZoomOut) { + d->aZoomOut->setEnabled(hasPages && d->zoomFactor > (kZoomValues[0] + 0.001)); + } + if (d->aZoomActual) { + d->aZoomActual->setEnabled(hasPages && d->zoomFactor != 1.0); + } +} + +void PageView::updateZoomText() +{ + // use current page zoom as zoomFactor if in ZoomFit/* mode + if (d->zoomMode != ZoomFixed && d->items.count() > 0) { + d->zoomFactor = d->items[qMax(0, (int)d->document->currentPage())]->zoomFactor(); + } + float newFactor = d->zoomFactor; + d->aZoom->removeAllActions(); + + // add items that describe fit actions + QStringList translated; + translated << i18n("Fit Width") << i18n("Fit Page") << i18n("Auto Fit"); + + // add percent items + int idx = 0, selIdx = 3; + bool inserted = false; // use: "d->zoomMode != ZoomFixed" to hide Fit/* zoom ratio + int zoomValueCount = 11; + if (d->document->supportsTiles()) { + zoomValueCount = kZoomValues.size(); + } + while (idx < zoomValueCount || !inserted) { + float value = idx < zoomValueCount ? kZoomValues[idx] : newFactor; + if (!inserted && newFactor < (value - 0.0001)) { + value = newFactor; + } else { + idx++; + } + if (value > (newFactor - 0.0001) && value < (newFactor + 0.0001)) { + inserted = true; + } + if (!inserted) { + selIdx++; + } + const QString localizedValue = makePrettyZoomString(value); + const QString i18nZoomName = i18nc("Zoom percentage value %1 will be replaced by the actual zoom factor value, so make sure you include it in your translation in order to not to break anything", "%1%", localizedValue); + if (makePrettyZoomString(parseZoomString(i18nZoomName)) == localizedValue) { + translated << i18nZoomName; + } else { + qWarning() << "Wrong translation of zoom percentage. Please file a bug"; + translated << QStringLiteral("%1%").arg(localizedValue); + } + } + d->aZoom->setItems(translated); + + // select current item in list + if (d->zoomMode == ZoomFitWidth) { + selIdx = 0; + } else if (d->zoomMode == ZoomFitPage) { + selIdx = 1; + } else if (d->zoomMode == ZoomFitAuto) { + selIdx = 2; + } + // we have to temporarily enable the actions as otherwise we can't set a new current item + d->aZoom->setEnabled(true); + d->aZoom->selectableActionGroup()->setEnabled(true); + d->aZoom->setCurrentItem(selIdx); + d->aZoom->setEnabled(d->items.size() > 0); + d->aZoom->selectableActionGroup()->setEnabled(d->items.size() > 0); +} + +void PageView::updateViewMode(const int nr) +{ + const QList actions = d->viewModeActionGroup->actions(); + for (QAction *action : actions) { + QVariant mode_id = action->data(); + if (mode_id.toInt() == nr) { + action->trigger(); + } + } +} + +void PageView::updateCursor() +{ + const QPoint p = contentAreaPosition() + viewport()->mapFromGlobal(QCursor::pos()); + updateCursor(p); +} + +void PageView::updateCursor(const QPoint p) +{ + // reset mouse over link it will be re-set if that still valid + d->mouseOverLinkObject = nullptr; + + // detect the underlaying page (if present) + const PageViewItem *pageItem = pickItemOnPoint(p.x(), p.y()); + QScroller::State scrollerState = d->scroller->state(); + + if (d->annotator && d->annotator->active()) { + if (pageItem || d->annotator->annotating()) { + setCursor(d->annotator->cursor()); + } else { + setCursor(Qt::ForbiddenCursor); + } + } else if (scrollerState == QScroller::Pressed || scrollerState == QScroller::Dragging) { + setCursor(Qt::ClosedHandCursor); + } else if (pageItem) { + double nX = pageItem->absToPageX(p.x()); + double nY = pageItem->absToPageY(p.y()); + Qt::CursorShape cursorShapeFallback; + + // if over a ObjectRect (of type Link) change cursor to hand + switch (d->mouseMode) { + case Okular::Settings::EnumMouseMode::TextSelect: + if (d->mouseTextSelecting) { + setCursor(Qt::IBeamCursor); + return; + } + cursorShapeFallback = Qt::IBeamCursor; + break; + case Okular::Settings::EnumMouseMode::Magnifier: + setCursor(Qt::CrossCursor); + return; + case Okular::Settings::EnumMouseMode::RectSelect: + case Okular::Settings::EnumMouseMode::TrimSelect: + if (d->mouseSelecting) { + setCursor(Qt::CrossCursor); + return; + } + cursorShapeFallback = Qt::CrossCursor; + break; + case Okular::Settings::EnumMouseMode::Browse: + d->mouseOnRect = false; + if (d->mouseAnnotation->isMouseOver()) { + d->mouseOnRect = true; + setCursor(d->mouseAnnotation->cursor()); + return; + } else { + cursorShapeFallback = Qt::OpenHandCursor; + } + break; + default: + setCursor(Qt::ArrowCursor); + return; + } + + const Okular::ObjectRect *linkobj = pageItem->page()->objectRect(Okular::ObjectRect::Action, nX, nY, pageItem->uncroppedWidth(), pageItem->uncroppedHeight()); + if (linkobj) { + d->mouseOverLinkObject = linkobj; + d->mouseOnRect = true; + setCursor(Qt::PointingHandCursor); + } else { + setCursor(cursorShapeFallback); + } + } else { + // if there's no page over the cursor and we were showing the pointingHandCursor + // go back to the normal one + d->mouseOnRect = false; + setCursor(Qt::ArrowCursor); + } +} + +void PageView::reloadForms() +{ + if (d->m_formsVisible) { + for (PageViewItem *item : std::as_const(d->visibleItems)) { + item->reloadFormWidgetsState(); + } + } +} + +void PageView::moveMagnifier(const QPoint p) // non scaled point +{ + const int w = d->magnifierView->width() * 0.5; + const int h = d->magnifierView->height() * 0.5; + + int x = p.x() - w; + int y = p.y() - h; + + const int max_x = viewport()->width(); + const int max_y = viewport()->height(); + + QPoint scroll(0, 0); + + if (x < 0) { + if (horizontalScrollBar()->value() > 0) { + scroll.setX(x - w); + } + x = 0; + } + + if (y < 0) { + if (verticalScrollBar()->value() > 0) { + scroll.setY(y - h); + } + y = 0; + } + + if (p.x() + w > max_x) { + if (horizontalScrollBar()->value() < horizontalScrollBar()->maximum()) { + scroll.setX(p.x() + 2 * w - max_x); + } + x = max_x - d->magnifierView->width() - 1; + } + + if (p.y() + h > max_y) { + if (verticalScrollBar()->value() < verticalScrollBar()->maximum()) { + scroll.setY(p.y() + 2 * h - max_y); + } + y = max_y - d->magnifierView->height() - 1; + } + + if (!scroll.isNull()) { + scrollPosIntoView(contentAreaPoint(p + scroll)); + } + + d->magnifierView->move(x, y); +} + +void PageView::updateMagnifier(const QPoint p) // scaled point +{ + /* translate mouse coordinates to page coordinates and inform the magnifier of the situation */ + const PageViewItem *item = pickItemOnPoint(p.x(), p.y()); + if (item) { + Okular::NormalizedPoint np(item->absToPageX(p.x()), item->absToPageY(p.y())); + d->magnifierView->updateView(np, item->page()); + } +} + +int PageView::viewColumns() const +{ + int vm = Okular::Settings::viewMode(); + if (vm == Okular::Settings::EnumViewMode::Single) { + return 1; + } else if (vm == Okular::Settings::EnumViewMode::Facing || vm == Okular::Settings::EnumViewMode::FacingFirstCentered) { + return 2; + } else if (vm == Okular::Settings::EnumViewMode::Summary && d->document->pages() < Okular::Settings::viewColumns()) { + return d->document->pages(); + } else { + return Okular::Settings::viewColumns(); + } +} + +void PageView::center(int cx, int cy, bool smoothMove) +{ + scrollTo(cx - viewport()->width() / 2, cy - viewport()->height() / 2, smoothMove); +} + +void PageView::scrollTo(int x, int y, bool smoothMove) +{ + bool prevState = d->blockPixmapsRequest; + + int newValue = -1; + if (x != horizontalScrollBar()->value() || y != verticalScrollBar()->value()) { + newValue = 1; // Pretend this call is the result of a scrollbar event + } + + d->blockPixmapsRequest = true; + + if (smoothMove) { + d->scroller->scrollTo(QPoint(x, y), d->currentLongScrollDuration); + } else { + d->scroller->scrollTo(QPoint(x, y), 0); + } + + d->blockPixmapsRequest = prevState; + + slotRequestVisiblePixmaps(newValue); +} + +void PageView::toggleFormWidgets(bool on) +{ + bool somehadfocus = false; + for (PageViewItem *item : std::as_const(d->items)) { + const bool hadfocus = item->setFormWidgetsVisible(on); + somehadfocus = somehadfocus || hadfocus; + } + if (somehadfocus) { + setFocus(); + } + d->m_formsVisible = on; +} + +void PageView::resizeContentArea(const QSize newSize) +{ + const QSize vs = viewport()->size(); + int hRange = newSize.width() - vs.width(); + int vRange = newSize.height() - vs.height(); + if (horizontalScrollBar()->isVisible() && hRange == verticalScrollBar()->width() && verticalScrollBar()->isVisible() && vRange == horizontalScrollBar()->height() && Okular::Settings::showScrollBars()) { + hRange = 0; + vRange = 0; + } + horizontalScrollBar()->setRange(0, hRange); + verticalScrollBar()->setRange(0, vRange); + updatePageStep(); +} + +void PageView::updatePageStep() +{ + const QSize vs = viewport()->size(); + horizontalScrollBar()->setPageStep(vs.width()); + verticalScrollBar()->setPageStep(vs.height() * (100 - Okular::Settings::scrollOverlap()) / 100); +} + +void PageView::addWebShortcutsMenu(QMenu *menu, const QString &text) +{ + if (text.isEmpty()) { + return; + } + + QString searchText = text; + searchText = searchText.replace(QLatin1Char('\n'), QLatin1Char(' ')).replace(QLatin1Char('\r'), QLatin1Char(' ')).simplified(); + + if (searchText.isEmpty()) { + return; + } + + KUriFilterData filterData(searchText); + + filterData.setSearchFilteringOptions(KUriFilterData::RetrievePreferredSearchProvidersOnly); + + if (KUriFilter::self()->filterSearchUri(filterData, KUriFilter::NormalTextFilter)) { + const QStringList searchProviders = filterData.preferredSearchProviders(); + + if (!searchProviders.isEmpty()) { + QMenu *webShortcutsMenu = new QMenu(menu); + webShortcutsMenu->setIcon(QIcon::fromTheme(QStringLiteral("preferences-web-browser-shortcuts"))); + + const QString squeezedText = KStringHandler::rsqueeze(searchText, searchTextPreviewLength); + webShortcutsMenu->setTitle(i18n("Search for '%1' with", squeezedText)); + + QAction *action = nullptr; + + for (const QString &searchProvider : searchProviders) { + action = new QAction(searchProvider, webShortcutsMenu); + action->setIcon(QIcon::fromTheme(filterData.iconNameForPreferredSearchProvider(searchProvider))); + action->setData(filterData.queryForPreferredSearchProvider(searchProvider)); + connect(action, &QAction::triggered, this, &PageView::slotHandleWebShortcutAction); + webShortcutsMenu->addAction(action); + } + + webShortcutsMenu->addSeparator(); + + action = new QAction(i18n("Configure Web Shortcuts…"), webShortcutsMenu); + action->setIcon(QIcon::fromTheme(QStringLiteral("configure"))); + connect(action, &QAction::triggered, this, &PageView::slotConfigureWebShortcuts); + webShortcutsMenu->addAction(action); + + menu->addMenu(webShortcutsMenu); + } + } +} + +QMenu *PageView::createProcessLinkMenu(PageViewItem *item, const QPoint eventPos) +{ + // check if the right-click was over a link + const double nX = item->absToPageX(eventPos.x()); + const double nY = item->absToPageY(eventPos.y()); + const Okular::ObjectRect *rect = item->page()->objectRect(Okular::ObjectRect::Action, nX, nY, item->uncroppedWidth(), item->uncroppedHeight()); + if (rect) { + const Okular::Action *link = static_cast(rect->object()); + + if (!link) { + return nullptr; + } + + QMenu *menu = new QMenu(this); + + // creating the menu and its actions + QAction *processLink = menu->addAction(i18n("Follow This Link")); + processLink->setObjectName(QStringLiteral("ProcessLinkAction")); + if (link->actionType() == Okular::Action::Sound) { + processLink->setText(i18n("Play this Sound")); + if (Okular::AudioPlayer::instance()->state() == Okular::AudioPlayer::PlayingState) { + QAction *actStopSound = menu->addAction(i18n("Stop Sound")); + connect(actStopSound, &QAction::triggered, []() { Okular::AudioPlayer::instance()->stopPlaybacks(); }); + } + } + + if (dynamic_cast(link)) { + QAction *actCopyLinkLocation = menu->addAction(QIcon::fromTheme(QStringLiteral("edit-copy")), i18n("Copy Link Address")); + actCopyLinkLocation->setObjectName(QStringLiteral("CopyLinkLocationAction")); + connect(actCopyLinkLocation, &QAction::triggered, menu, [link]() { + const Okular::BrowseAction *browseLink = static_cast(link); + QClipboard *cb = QApplication::clipboard(); + cb->setText(browseLink->url().toDisplayString(), QClipboard::Clipboard); + if (cb->supportsSelection()) { + cb->setText(browseLink->url().toDisplayString(), QClipboard::Selection); + } + }); + } + + connect(processLink, &QAction::triggered, this, [this, link]() { d->document->processAction(link); }); + return menu; + } + return nullptr; +} + +void PageView::addSearchWithinDocumentAction(QMenu *menu, const QString &searchText) +{ + const QString squeezedText = KStringHandler::rsqueeze(searchText, searchTextPreviewLength); + QAction *action = new QAction(i18n("Search for '%1' in this document", squeezedText.simplified()), menu); + action->setIcon(QIcon::fromTheme(QStringLiteral("document-preview"))); + connect(action, &QAction::triggered, this, [this, searchText] { Q_EMIT triggerSearch(searchText); }); + menu->addAction(action); +} + +void PageView::updateSmoothScrollAnimationSpeed() +{ + // If it's turned off in Okular's own settings, don't bother to look at the + // global settings + if (!Okular::Settings::smoothScrolling()) { + d->currentShortScrollDuration = 0; + d->currentLongScrollDuration = 0; + return; + } + + // If we are using smooth scrolling, scale the speed of the animated + // transitions according to the global animation speed setting + KConfigGroup kdeglobalsConfig = KConfigGroup(KSharedConfig::openConfig(), QStringLiteral("KDE")); + const qreal globalAnimationScale = qMax(0.0, kdeglobalsConfig.readEntry("AnimationDurationFactor", 1.0)); + d->currentShortScrollDuration = d->baseShortScrollDuration * globalAnimationScale; + d->currentLongScrollDuration = d->baseLongScrollDuration * globalAnimationScale; +} + +bool PageView::getContinuousMode() const +{ + return d->aViewContinuous ? d->aViewContinuous->isChecked() : Okular::Settings::viewContinuous(); +} + +void PageView::zoomWithFixedCenter(PageView::ZoomMode newZoomMode, QPointF zoomCenter, float newZoom) +{ + const Okular::DocumentViewport &vp = d->document->viewport(); + Q_ASSERT(vp.pageNumber >= 0); + + // determine the page below zoom center + const QPoint contentPos = contentAreaPoint(zoomCenter.toPoint()); + const PageViewItem *page = pickItemOnPoint(contentPos.x(), contentPos.y()); + const int hScrollBarMaximum = horizontalScrollBar()->maximum(); + const int vScrollBarMaximum = verticalScrollBar()->maximum(); + + // if the zoom center is not over a page, use viewport page number + if (!page) { + page = d->items[vp.pageNumber]; + } + + const QRect beginGeometry = page->croppedGeometry(); + + QPoint offset {beginGeometry.left(), beginGeometry.top()}; + + const QPointF oldScroll = contentAreaPosition() - offset; + + d->blockPixmapsRequest = true; + if (newZoom) { + d->zoomFactor = newZoom; + } + + updateZoom(newZoomMode); + d->blockPixmapsRequest = false; + + const QRect afterGeometry = page->croppedGeometry(); + const double vpZoomY = (double)afterGeometry.height() / (double)beginGeometry.height(); + const double vpZoomX = (double)afterGeometry.width() / (double)beginGeometry.width(); + + QPointF newScroll; + // The calculation for newScroll is taken from Gwenview class Abstractimageview::setZoom + newScroll.setY(vpZoomY * (oldScroll.y() + zoomCenter.y()) - (zoomCenter.y())); + newScroll.setX(vpZoomX * (oldScroll.x() + zoomCenter.x()) - (zoomCenter.x())); + + // add the remaining scroll from the previous zoom event + newScroll.setY(newScroll.y() + d->remainingScroll.y() * vpZoomY); + newScroll.setX(newScroll.x() + d->remainingScroll.x() * vpZoomX); + + // adjust newScroll to the new margins after zooming + offset = QPoint {afterGeometry.left(), afterGeometry.top()}; + newScroll += offset; + + // adjust newScroll for appear and disappear of the scrollbars + if (Okular::Settings::showScrollBars()) { + if (hScrollBarMaximum == 0 && horizontalScrollBar()->maximum() > 0) { + newScroll.setY(newScroll.y() - (horizontalScrollBar()->height() / 2.0)); + } + + if (hScrollBarMaximum > 0 && horizontalScrollBar()->maximum() == 0) { + newScroll.setY(newScroll.y() + (horizontalScrollBar()->height() / 2.0)); + } + + if (vScrollBarMaximum == 0 && verticalScrollBar()->maximum() > 0) { + newScroll.setX(newScroll.x() - (verticalScrollBar()->width() / 2.0)); + } + + if (vScrollBarMaximum > 0 && verticalScrollBar()->maximum() == 0) { + newScroll.setX(newScroll.x() + (verticalScrollBar()->width() / 2.0)); + } + } + + const int newScrollX = std::round(newScroll.x()); + const int newScrollY = std::round(newScroll.y()); + scrollTo(newScrollX, newScrollY, false); + + viewport()->setUpdatesEnabled(true); + viewport()->update(); + + // test if target scroll position was reached, if not save + // the difference in d->remainingScroll for later use + const QPointF diffF = newScroll - contentAreaPosition(); + if (abs(diffF.x()) < 0.5 && abs(diffF.y()) < 0.5) { + // scroll target reached set d->remainingScroll to 0.0 + d->remainingScroll = QPointF(0.0, 0.0); + } else { + d->remainingScroll = diffF; + } +} + +// BEGIN private SLOTS +void PageView::slotRelayoutPages() +// called by: notifySetup, viewportResizeEvent, slotViewMode, slotContinuousToggled, updateZoom +{ + // set an empty container if we have no pages + const int pageCount = d->items.count(); + if (pageCount < 1) { + return; + } + + int viewportWidth = viewport()->width(), viewportHeight = viewport()->height(), fullWidth = 0, fullHeight = 0; + + // handle the 'center first page in row' stuff + const bool facing = Okular::Settings::viewMode() == Okular::Settings::EnumViewMode::Facing && pageCount > 1; + const bool facingCentered = Okular::Settings::viewMode() == Okular::Settings::EnumViewMode::FacingFirstCentered || (Okular::Settings::viewMode() == Okular::Settings::EnumViewMode::Facing && pageCount == 1); + const bool overrideCentering = facingCentered && pageCount < 3; + const bool centerFirstPage = facingCentered && !overrideCentering; + const bool facingPages = facing || centerFirstPage; + const bool centerLastPage = centerFirstPage && pageCount % 2 == 0; + const bool continuousView = getContinuousMode(); + const int nCols = overrideCentering ? 1 : viewColumns(); + const bool singlePageViewMode = Okular::Settings::viewMode() == Okular::Settings::EnumViewMode::Single; + + if (d->aFitWindowToPage) { + d->aFitWindowToPage->setEnabled(!continuousView && singlePageViewMode); + } + + // set all items geometry and resize contents. handle 'continuous' and 'single' modes separately + + const PageViewItem *currentItem = d->items[qMax(0, (int)d->document->currentPage())]; + + // Here we find out column's width and row's height to compute a table + // so we can place widgets 'centered in virtual cells'. + const int nRows = (int)ceil((float)(centerFirstPage ? (pageCount + nCols - 1) : pageCount) / (float)nCols); + + int *colWidth = new int[nCols], *rowHeight = new int[nRows], cIdx = 0, rIdx = 0; + for (int i = 0; i < nCols; i++) { + colWidth[i] = viewportWidth / nCols; + } + for (int i = 0; i < nRows; i++) { + rowHeight[i] = 0; + } + // handle the 'centering on first row' stuff + if (centerFirstPage) { + cIdx += nCols - 1; + } + + // 1) find the maximum columns width and rows height for a grid in + // which each page must well-fit inside a cell + for (PageViewItem *item : std::as_const(d->items)) { + // update internal page size (leaving a little margin in case of Fit* modes) + updateItemSize(item, colWidth[cIdx] - kcolWidthMargin, viewportHeight - krowHeightMargin); + // find row's maximum height and column's max width + if (item->croppedWidth() + kcolWidthMargin > colWidth[cIdx]) { + colWidth[cIdx] = item->croppedWidth() + kcolWidthMargin; + } + if (item->croppedHeight() + krowHeightMargin > rowHeight[rIdx]) { + rowHeight[rIdx] = item->croppedHeight() + krowHeightMargin; + } + // handle the 'centering on first row' stuff + // update col/row indices + if (++cIdx == nCols) { + cIdx = 0; + rIdx++; + } + } + + const int pageRowIdx = ((centerFirstPage ? nCols - 1 : 0) + currentItem->pageNumber()) / nCols; + + // 2) compute full size + for (int i = 0; i < nCols; i++) { + fullWidth += colWidth[i]; + } + if (continuousView) { + for (int i = 0; i < nRows; i++) { + fullHeight += rowHeight[i]; + } + } else { + fullHeight = rowHeight[pageRowIdx]; + } + + // 3) arrange widgets inside cells (and refine fullHeight if needed) + int insertX = 0, insertY = fullHeight < viewportHeight ? (viewportHeight - fullHeight) / 2 : 0; + const int origInsertY = insertY; + cIdx = 0; + rIdx = 0; + if (centerFirstPage) { + cIdx += nCols - 1; + for (int i = 0; i < cIdx; ++i) { + insertX += colWidth[i]; + } + } + for (PageViewItem *item : std::as_const(d->items)) { + int cWidth = colWidth[cIdx], rHeight = rowHeight[rIdx]; + if (continuousView || rIdx == pageRowIdx) { + const bool reallyDoCenterFirst = item->pageNumber() == 0 && centerFirstPage; + const bool reallyDoCenterLast = item->pageNumber() == pageCount - 1 && centerLastPage; + int actualX = 0; + if (reallyDoCenterFirst || reallyDoCenterLast) { + // page is centered across entire viewport + actualX = (fullWidth - item->croppedWidth()) / 2; + } else if (facingPages) { + if (Okular::Settings::rtlReadingDirection()) { + // RTL reading mode + actualX = ((centerFirstPage && item->pageNumber() % 2 == 0) || (!centerFirstPage && item->pageNumber() % 2 == 1)) ? (fullWidth / 2) - item->croppedWidth() - 1 : (fullWidth / 2) + 1; + } else { + // page edges 'touch' the center of the viewport + actualX = ((centerFirstPage && item->pageNumber() % 2 == 1) || (!centerFirstPage && item->pageNumber() % 2 == 0)) ? (fullWidth / 2) - item->croppedWidth() - 1 : (fullWidth / 2) + 1; + } + } else { + // page is centered within its virtual column + // actualX = insertX + (cWidth - item->croppedWidth()) / 2; + if (Okular::Settings::rtlReadingDirection()) { + actualX = fullWidth - insertX - cWidth + ((cWidth - item->croppedWidth()) / 2); + } else { + actualX = insertX + (cWidth - item->croppedWidth()) / 2; + } + } + item->moveTo(actualX, (continuousView ? insertY : origInsertY) + (rHeight - item->croppedHeight()) / 2); + item->setVisible(true); + } else { + item->moveTo(0, 0); + item->setVisible(false); + } + item->setFormWidgetsVisible(d->m_formsVisible); + // advance col/row index + insertX += cWidth; + if (++cIdx == nCols) { + cIdx = 0; + rIdx++; + insertX = 0; + insertY += rHeight; + } +#ifdef PAGEVIEW_DEBUG + qWarning() << "updating size for pageno" << item->pageNumber() << "cropped" << item->croppedGeometry() << "uncropped" << item->uncroppedGeometry(); +#endif + } + + delete[] colWidth; + delete[] rowHeight; + + // 3) reset dirty state + d->dirtyLayout = false; + + // 4) update scrollview's contents size and recenter view + bool wasUpdatesEnabled = viewport()->updatesEnabled(); + if (fullWidth != contentAreaWidth() || fullHeight != contentAreaHeight()) { + const Okular::DocumentViewport vp = d->document->viewport(); + // disable updates and resize the viewportContents + if (wasUpdatesEnabled) { + viewport()->setUpdatesEnabled(false); + } + resizeContentArea(QSize(fullWidth, fullHeight)); + // restore previous viewport if defined and updates enabled + if (wasUpdatesEnabled && !d->pinchZoomActive) { + if (vp.pageNumber >= 0) { + int prevX = horizontalScrollBar()->value(), prevY = verticalScrollBar()->value(); + + const QPoint centerPos = viewportToContentArea(vp); + center(centerPos.x(), centerPos.y()); + + // center() usually moves the viewport, that requests pixmaps too. + // if that doesn't happen we have to request them by hand + if (prevX == horizontalScrollBar()->value() && prevY == verticalScrollBar()->value()) { + slotRequestVisiblePixmaps(); + } + } + // or else go to center page + else { + center(fullWidth / 2, 0); + } + viewport()->setUpdatesEnabled(true); + } + } else { + slotRequestVisiblePixmaps(); + } + + // 5) update the whole viewport if updated enabled + if (wasUpdatesEnabled && !d->pinchZoomActive) { + viewport()->update(); + } +} + +void PageView::delayedResizeEvent() +{ + // If we already got here we don't need to execute the timer slot again + d->delayResizeEventTimer->stop(); + slotRelayoutPages(); + slotRequestVisiblePixmaps(); +} + +static void slotRequestPreloadPixmap(PageView *pageView, const PageViewItem *i, const QRect expandedViewportRect, QList *requestedPixmaps) +{ + Okular::NormalizedRect preRenderRegion; + const QRect intersectionRect = expandedViewportRect.intersected(i->croppedGeometry()); + if (!intersectionRect.isEmpty()) { + preRenderRegion = Okular::NormalizedRect(intersectionRect.translated(-i->uncroppedGeometry().topLeft()), i->uncroppedWidth(), i->uncroppedHeight()); + } + + // request the pixmap if not already present + if (!i->page()->hasPixmap(pageView, i->uncroppedWidth(), i->uncroppedHeight(), preRenderRegion) && i->uncroppedWidth() > 0) { + Okular::PixmapRequest::PixmapRequestFeatures requestFeatures = Okular::PixmapRequest::Preload; + requestFeatures |= Okular::PixmapRequest::Asynchronous; + const bool pageHasTilesManager = i->page()->hasTilesManager(pageView); + if (pageHasTilesManager && !preRenderRegion.isNull()) { + Okular::PixmapRequest *p = new Okular::PixmapRequest(pageView, i->pageNumber(), i->uncroppedWidth(), i->uncroppedHeight(), pageView->devicePixelRatioF(), PAGEVIEW_PRELOAD_PRIO, requestFeatures); + requestedPixmaps->push_back(p); + + p->setNormalizedRect(preRenderRegion); + p->setTile(true); + } else if (!pageHasTilesManager) { + Okular::PixmapRequest *p = new Okular::PixmapRequest(pageView, i->pageNumber(), i->uncroppedWidth(), i->uncroppedHeight(), pageView->devicePixelRatioF(), PAGEVIEW_PRELOAD_PRIO, requestFeatures); + requestedPixmaps->push_back(p); + p->setNormalizedRect(preRenderRegion); + } + } +} + +void PageView::slotRequestVisiblePixmaps(int newValue) +{ + // if requests are blocked (because raised by an unwanted event), exit + if (d->blockPixmapsRequest) { + return; + } + + // precalc view limits for intersecting with page coords inside the loop + const bool isEvent = newValue != -1 && !d->blockViewport; + const QRectF viewportRect(horizontalScrollBar()->value(), verticalScrollBar()->value(), viewport()->width(), viewport()->height()); + const QRectF viewportRectAtZeroZero(0, 0, viewport()->width(), viewport()->height()); + + // some variables used to determine the viewport + int nearPageNumber = -1; + const double viewportCenterX = (viewportRect.left() + viewportRect.right()) / 2.0; + const double viewportCenterY = (viewportRect.top() + viewportRect.bottom()) / 2.0; + double focusedX = 0.5, focusedY = 0.0, minDistance = -1.0; + // Margin (in pixels) around the viewport to preload + const int pixelsToExpand = 512; + + // iterate over all items + d->visibleItems.clear(); + QList requestedPixmaps; + QList visibleRects; + for (PageViewItem *i : std::as_const(d->items)) { + const QSet formWidgetsList = i->formWidgets(); + for (FormWidgetIface *fwi : formWidgetsList) { + Okular::NormalizedRect r = fwi->rect(); + fwi->moveTo(qRound(i->uncroppedGeometry().left() + i->uncroppedWidth() * r.left) + 1 - viewportRect.left(), qRound(i->uncroppedGeometry().top() + i->uncroppedHeight() * r.top) + 1 - viewportRect.top()); + } + const QHash videoWidgets = i->videoWidgets(); + for (VideoWidget *vw : videoWidgets) { + const Okular::NormalizedRect r = vw->normGeometry(); + vw->move(qRound(i->uncroppedGeometry().left() + i->uncroppedWidth() * r.left) + 1 - viewportRect.left(), qRound(i->uncroppedGeometry().top() + i->uncroppedHeight() * r.top) + 1 - viewportRect.top()); + + if (vw->isPlaying() && viewportRectAtZeroZero.intersected(vw->geometry()).isEmpty()) { + vw->stop(); + vw->pageLeft(); + } + } + + if (!i->isVisible()) { + continue; + } +#ifdef PAGEVIEW_DEBUG + qWarning() << "checking page" << i->pageNumber(); + qWarning().nospace() << "viewportRect is " << viewportRect << ", page item is " << i->croppedGeometry() << " intersect : " << viewportRect.intersects(i->croppedGeometry()); +#endif + // if the item doesn't intersect the viewport, skip it + QRectF intersectionRect = viewportRect.intersected(i->croppedGeometry()); + if (intersectionRect.isEmpty()) { + continue; + } + + // add the item to the 'visible list' + d->visibleItems.push_back(i); + + intersectionRect.translate(-i->uncroppedGeometry().topLeft()); + const Okular::NormalizedRect normRect(intersectionRect.left() / i->uncroppedWidth(), intersectionRect.top() / i->uncroppedHeight(), intersectionRect.right() / i->uncroppedWidth(), intersectionRect.bottom() / i->uncroppedHeight()); + + Okular::VisiblePageRect *vItem = new Okular::VisiblePageRect(i->pageNumber(), normRect); + visibleRects.push_back(vItem); +#ifdef PAGEVIEW_DEBUG + qWarning() << "checking for pixmap for page" << i->pageNumber() << "=" << i->page()->hasPixmap(this, i->uncroppedWidth(), i->uncroppedHeight()); + qWarning() << "checking for text for page" << i->pageNumber() << "=" << i->page()->hasTextPage(); +#endif + + Okular::NormalizedRect expandedVisibleRect = vItem->rect; + if (i->page()->hasTilesManager(this) && Okular::Settings::memoryLevel() != Okular::Settings::EnumMemoryLevel::Low) { + double rectMargin = pixelsToExpand / (double)i->uncroppedHeight(); + expandedVisibleRect.left = qMax(0.0, vItem->rect.left - rectMargin); + expandedVisibleRect.top = qMax(0.0, vItem->rect.top - rectMargin); + expandedVisibleRect.right = qMin(1.0, vItem->rect.right + rectMargin); + expandedVisibleRect.bottom = qMin(1.0, vItem->rect.bottom + rectMargin); + } + + // if the item has not the right pixmap, add a request for it + if (!i->page()->hasPixmap(this, i->uncroppedWidth(), i->uncroppedHeight(), expandedVisibleRect)) { +#ifdef PAGEVIEW_DEBUG + qWarning() << "rerequesting visible pixmaps for page" << i->pageNumber() << "!"; +#endif + Okular::PixmapRequest *p = new Okular::PixmapRequest(this, i->pageNumber(), i->uncroppedWidth(), i->uncroppedHeight(), devicePixelRatioF(), PAGEVIEW_PRIO, Okular::PixmapRequest::Asynchronous); + requestedPixmaps.push_back(p); + + if (i->page()->hasTilesManager(this)) { + p->setNormalizedRect(expandedVisibleRect); + p->setTile(true); + } else { + p->setNormalizedRect(vItem->rect); + } + } + + // look for the item closest to viewport center and the relative + // position between the item and the viewport center + if (isEvent) { + const QRect &geometry = i->croppedGeometry(); + // compute distance between item center and viewport center (slightly moved left) + const double distance = hypot((geometry.left() + geometry.right()) / 2.0 - (viewportCenterX - 4), (geometry.top() + geometry.bottom()) / 2.0 - viewportCenterY); + if (distance >= minDistance && nearPageNumber != -1) { + continue; + } + nearPageNumber = i->pageNumber(); + minDistance = distance; + if (geometry.height() > 0 && geometry.width() > 0) { + // Compute normalized coordinates w.r.t. cropped page + focusedX = (viewportCenterX - (double)geometry.left()) / (double)geometry.width(); + focusedY = (viewportCenterY - (double)geometry.top()) / (double)geometry.height(); + // Convert to normalized coordinates w.r.t. full page (no-op if not cropped) + focusedX = i->crop().left + focusedX * i->crop().width(); + focusedY = i->crop().top + focusedY * i->crop().height(); + } + } + } + + // if preloading is enabled, add the pages before and after in preloading + if (!d->visibleItems.isEmpty() && Okular::SettingsCore::memoryLevel() != Okular::SettingsCore::EnumMemoryLevel::Low) { + // as the requests are done in the order as they appear in the list, + // request first the next page and then the previous + + int pagesToPreload = viewColumns(); + + // if the greedy option is set, preload all pages + if (Okular::SettingsCore::memoryLevel() == Okular::SettingsCore::EnumMemoryLevel::Greedy) { + pagesToPreload = d->items.count(); + } + + const QRectF adjustedViewportRect = viewportRect.adjusted(0, -pixelsToExpand, 0, pixelsToExpand); + const QRect expandedViewportRect(adjustedViewportRect.x(), adjustedViewportRect.y(), adjustedViewportRect.width(), adjustedViewportRect.height()); + + for (int j = 1; j <= pagesToPreload; j++) { + // add the page after the 'visible series' in preload + const int tailRequest = d->visibleItems.last()->pageNumber() + j; + if (tailRequest < (int)d->items.count()) { + slotRequestPreloadPixmap(this, d->items[tailRequest], expandedViewportRect, &requestedPixmaps); + } + + // add the page before the 'visible series' in preload + const int headRequest = d->visibleItems.first()->pageNumber() - j; + if (headRequest >= 0) { + slotRequestPreloadPixmap(this, d->items[headRequest], expandedViewportRect, &requestedPixmaps); + } + + // stop if we've already reached both ends of the document + if (headRequest < 0 && tailRequest >= (int)d->items.count()) { + break; + } + } + } + + // send requests to the document + if (!requestedPixmaps.isEmpty()) { + d->document->requestPixmaps(requestedPixmaps); + } + // if this functions was invoked by viewport events, send update to document + if (isEvent && nearPageNumber != -1) { + // determine the document viewport + Okular::DocumentViewport newViewport(nearPageNumber); + newViewport.rePos.enabled = true; + newViewport.rePos.normalizedX = focusedX; + newViewport.rePos.normalizedY = focusedY; + // set the viewport to other observers + // do not update history if the viewport is autoscrolling + d->document->setViewport(newViewport, this, false, d->scroller->state() != QScroller::Scrolling); + } + d->document->setVisiblePageRects(visibleRects, this); +} + +void PageView::slotAutoScroll() +{ + // the first time create the timer + if (!d->autoScrollTimer) { + d->autoScrollTimer = new QTimer(this); + d->autoScrollTimer->setSingleShot(true); + connect(d->autoScrollTimer, &QTimer::timeout, this, &PageView::slotAutoScroll); + } + + // if scrollIncrement is zero, stop the timer + if (!d->scrollIncrement) { + d->autoScrollTimer->stop(); + return; + } + + // compute delay between timer ticks and scroll amount per tick + int index = abs(d->scrollIncrement) - 1; // 0..9 + const int scrollDelay[10] = {200, 100, 50, 30, 20, 30, 25, 20, 30, 20}; + const int scrollOffset[10] = {1, 1, 1, 1, 1, 2, 2, 2, 4, 4}; + d->autoScrollTimer->start(scrollDelay[index]); + int delta = d->scrollIncrement > 0 ? scrollOffset[index] : -scrollOffset[index]; + d->scroller->scrollTo(d->scroller->finalPosition() + QPoint(0, delta), scrollDelay[index]); +} + +void PageView::slotDragScroll() +{ + scrollTo(horizontalScrollBar()->value() + d->dragScrollVector.x(), verticalScrollBar()->value() + d->dragScrollVector.y()); + QPoint p = contentAreaPosition() + viewport()->mapFromGlobal(QCursor::pos()); + updateSelection(p); +} + +void PageView::slotShowWelcome() +{ + // show initial welcome text + d->messageWindow->display(i18n("Welcome"), QString(), PageViewMessage::Info, 2000); +} + +void PageView::slotShowSizeAllCursor() +{ + setCursor(Qt::SizeAllCursor); +} + +void PageView::slotHandleWebShortcutAction() +{ + QAction *action = qobject_cast(sender()); + + if (action) { + KUriFilterData filterData(action->data().toString()); + + if (KUriFilter::self()->filterSearchUri(filterData, KUriFilter::WebShortcutFilter)) { + QDesktopServices::openUrl(filterData.uri()); + } + } +} + +void PageView::slotConfigureWebShortcuts() +{ + auto *job = new KIO::CommandLauncherJob(QStringLiteral("kcmshell6"), QStringList() << QStringLiteral("webshortcuts")); + job->start(); +} + +void PageView::slotZoom() +{ + if (!d->aZoom->selectableActionGroup()->isEnabled()) { + return; + } + + setFocus(); + updateZoom(ZoomFixed); +} + +void PageView::slotZoomIn() +{ + updateZoom(ZoomIn); +} + +void PageView::slotZoomOut() +{ + updateZoom(ZoomOut); +} + +void PageView::slotZoomActual() +{ + updateZoom(ZoomActual); +} + +void PageView::slotFitToWidthToggled(bool on) +{ + if (on) { + updateZoom(ZoomFitWidth); + } +} + +void PageView::slotFitToPageToggled(bool on) +{ + if (on) { + updateZoom(ZoomFitPage); + } +} + +void PageView::slotAutoFitToggled(bool on) +{ + if (on) { + updateZoom(ZoomFitAuto); + } +} + +void PageView::slotViewMode(QAction *action) +{ + const int nr = action->data().toInt(); + if ((int)Okular::Settings::viewMode() != nr) { + Okular::Settings::setViewMode(nr); + Okular::Settings::self()->save(); + if (d->document->pages() > 0) { + slotRelayoutPages(); + } + } +} + +void PageView::slotContinuousToggled() +{ + if (d->document->pages() > 0) { + slotRelayoutPages(); + } +} + +void PageView::slotReadingDirectionToggled(bool leftToRight) +{ + Okular::Settings::setRtlReadingDirection(leftToRight); + Okular::Settings::self()->save(); +} + +void PageView::slotUpdateReadingDirectionAction() +{ + d->aReadingDirection->setChecked(Okular::Settings::rtlReadingDirection()); +} + +void PageView::slotSetMouseNormal() +{ + d->mouseMode = Okular::Settings::EnumMouseMode::Browse; + Okular::Settings::setMouseMode(d->mouseMode); + // hide the messageWindow + d->messageWindow->hide(); + // force an update of the cursor + updateCursor(); + Okular::Settings::self()->save(); + if (d->annotator) { + d->annotator->detachAnnotation(); + } +} + +void PageView::slotSetMouseZoom() +{ + d->mouseMode = Okular::Settings::EnumMouseMode::Zoom; + Okular::Settings::setMouseMode(d->mouseMode); + // change the text in messageWindow (and show it if hidden) + d->messageWindow->display(i18n("Select zooming area. Right-click to zoom out."), QString(), PageViewMessage::Info, -1); + // force an update of the cursor + updateCursor(); + Okular::Settings::self()->save(); + if (d->annotator) { + d->annotator->detachAnnotation(); + } +} + +void PageView::slotSetMouseMagnifier() +{ + d->mouseMode = Okular::Settings::EnumMouseMode::Magnifier; + Okular::Settings::setMouseMode(d->mouseMode); + d->messageWindow->display(i18n("Click to see the magnified view."), QString()); + + // force an update of the cursor + updateCursor(); + Okular::Settings::self()->save(); + if (d->annotator) { + d->annotator->detachAnnotation(); + } +} + +void PageView::slotSetMouseSelect() +{ + d->mouseMode = Okular::Settings::EnumMouseMode::RectSelect; + Okular::Settings::setMouseMode(d->mouseMode); + // change the text in messageWindow (and show it if hidden) + d->messageWindow->display(i18n("Draw a rectangle around the text/graphics to copy."), QString(), PageViewMessage::Info, -1); + // force an update of the cursor + updateCursor(); + Okular::Settings::self()->save(); + if (d->annotator) { + d->annotator->detachAnnotation(); + } +} + +void PageView::slotSetMouseTextSelect() +{ + d->mouseMode = Okular::Settings::EnumMouseMode::TextSelect; + Okular::Settings::setMouseMode(d->mouseMode); + // change the text in messageWindow (and show it if hidden) + d->messageWindow->display(i18n("Select text"), QString(), PageViewMessage::Info, -1); + // force an update of the cursor + updateCursor(); + Okular::Settings::self()->save(); + if (d->annotator) { + d->annotator->detachAnnotation(); + } +} + +void PageView::slotSetMouseTableSelect() +{ + d->mouseMode = Okular::Settings::EnumMouseMode::TableSelect; + Okular::Settings::setMouseMode(d->mouseMode); + // change the text in messageWindow (and show it if hidden) + d->messageWindow->display(i18n("Draw a rectangle around the table, then click near edges to divide up; press Esc to clear."), QString(), PageViewMessage::Info, -1); + // force an update of the cursor + updateCursor(); + Okular::Settings::self()->save(); + if (d->annotator) { + d->annotator->detachAnnotation(); + } +} + +void PageView::showNoSigningCertificatesDialog(bool nonDateValidCerts) +{ + Okular::KleopatraIntegration kleo(document()); + if (nonDateValidCerts) { + if (kleo.kleopatraIntegrationActive()) { + auto result = KMessageBox::questionTwoActions(this, + i18n("All your signing certificates are invalid. In case signing worked before, please check their validity dates."), + i18n("No valid certificates"), + KGuiItem(i18n("Open Certificate Manager")), + KStandardGuiItem::cancel()); + if (result == KMessageBox::PrimaryAction) { + kleo.launchKleopatra(window()->windowHandle()); + } + } else { + KMessageBox::information(this, i18n("All your signing certificates are invalid. In case signing worked before, please check their validity dates.")); + } + } else { + if (kleo.kleopatraIntegrationActive()) { + auto result = KMessageBox::questionTwoActions(this, + i18n("There are no available signing certificates.
Launch Certificate Manager to import or manage certificates
For more information, please see the section about
Adding Digital Signatures in the manual.", + QStringLiteral("help:/okular/signatures.html#adding_digital_signatures")), + i18n("No certificates found"), + KGuiItem(i18n("Open Certificate Manager")), + KStandardGuiItem::cancel(), + QString {}, + KMessageBox::Notify | KMessageBox::AllowLink); + if (result == KMessageBox::PrimaryAction) { + kleo.launchKleopatra(window()->windowHandle()); + } + } else { + KMessageBox::information(this, + i18n("There are no available signing certificates.
For more information, please see the section about Adding Digital Signatures in the manual.", + QStringLiteral("help:/okular/signatures.html#adding_digital_signatures")), + i18n("No certificates found"), + QString(), + KMessageBox::Notify | KMessageBox::AllowLink); + } + } +} + +Okular::Document *PageView::document() const +{ + return d->document; +} + +#if HAVE_NEW_SIGNATURE_API +void PageView::startSigning(Okular::SignatureAnnotation *signatureAnnotation) +{ + d->signatureAnnotation = signatureAnnotation; + Q_EMIT signingStarted(); +} +#endif + +void PageView::slotSignature() +{ + if (!d->document->isHistoryClean()) { + KMessageBox::information(this, i18n("You have unsaved changes. Please save the document before signing it.")); + return; + } + + const Okular::CertificateStore *certStore = d->document->certificateStore(); + bool userCancelled, nonDateValidCerts; + const QList &certs = certStore->signingCertificatesForNow(&userCancelled, &nonDateValidCerts); + if (userCancelled) { + return; + } + + if (certs.isEmpty()) { + showNoSigningCertificatesDialog(nonDateValidCerts); + return; + } + + auto signInfo = SignaturePartUtils::getCertificateAndPasswordForSigning(this, d->document, SignaturePartUtils::SigningInformationOption::BackgroundImage); + if (!signInfo) { + return; + } + + d->signingInfo = std::move(*signInfo); + + d->messageWindow->display(i18n("Draw a rectangle to insert the signature field"), QString(), PageViewMessage::Info, -1); + + d->annotator->startSigning(&d->signingInfo); + + // force an update of the cursor + updateCursor(); + Okular::Settings::self()->save(); +} + +void PageView::slotAutoScrollUp() +{ + if (d->scrollIncrement < -9) { + return; + } + d->scrollIncrement--; + slotAutoScroll(); + setFocus(); +} + +void PageView::slotAutoScrollDown() +{ + if (d->scrollIncrement > 9) { + return; + } + d->scrollIncrement++; + slotAutoScroll(); + setFocus(); +} + +void PageView::slotScrollUp(int nSteps) +{ + if (verticalScrollBar()->value() > verticalScrollBar()->minimum()) { + if (nSteps) { + d->scroller->scrollTo(d->scroller->finalPosition() + QPoint(0, -100 * nSteps), d->currentShortScrollDuration); + } else { + if (d->scroller->finalPosition().y() > verticalScrollBar()->minimum()) { + d->scroller->scrollTo(d->scroller->finalPosition() + QPoint(0, -(1 - Okular::Settings::scrollOverlap() / 100.0) * viewport()->height()), d->currentLongScrollDuration); + } + } + } else if (!getContinuousMode() && d->document->currentPage() > 0) { + // Since we are in single page mode and at the top of the page, go to previous page. + // setViewport() is more optimized than document->setPrevPage and then move view to bottom. + Okular::DocumentViewport newViewport = d->document->viewport(); + newViewport.pageNumber -= viewColumns(); + if (newViewport.pageNumber < 0) { + newViewport.pageNumber = 0; + } + newViewport.rePos.enabled = true; + newViewport.rePos.normalizedY = 1.0; + d->document->setViewport(newViewport); + } +} + +void PageView::slotScrollDown(int nSteps) +{ + if (verticalScrollBar()->value() < verticalScrollBar()->maximum()) { + if (nSteps) { + d->scroller->scrollTo(d->scroller->finalPosition() + QPoint(0, 100 * nSteps), d->currentShortScrollDuration); + } else { + if (d->scroller->finalPosition().y() < verticalScrollBar()->maximum()) { + d->scroller->scrollTo(d->scroller->finalPosition() + QPoint(0, (1 - Okular::Settings::scrollOverlap() / 100.0) * viewport()->height()), d->currentLongScrollDuration); + } + } + } else if (!getContinuousMode() && (int)d->document->currentPage() < d->items.count() - 1) { + // Since we are in single page mode and at the bottom of the page, go to next page. + // setViewport() is more optimized than document->setNextPage and then move view to top + Okular::DocumentViewport newViewport = d->document->viewport(); + newViewport.pageNumber += viewColumns(); + if (newViewport.pageNumber >= (int)d->items.count()) { + newViewport.pageNumber = d->items.count() - 1; + } + newViewport.rePos.enabled = true; + newViewport.rePos.normalizedY = 0.0; + d->document->setViewport(newViewport); + } +} + +void PageView::slotRotateClockwise() +{ + int id = ((int)d->document->rotation() + 1) % 4; + d->document->setRotation(id); +} + +void PageView::slotRotateCounterClockwise() +{ + int id = ((int)d->document->rotation() + 3) % 4; + d->document->setRotation(id); +} + +void PageView::slotRotateOriginal() +{ + d->document->setRotation(0); +} + +// Enforce mutual-exclusion between trim modes +// Each mode is uniquely identified by a single value +// From Okular::Settings::EnumTrimMode +void PageView::updateTrimMode(int except_id) +{ + const QList trimModeActions = d->aTrimMode->menu()->actions(); + for (QAction *trimModeAction : trimModeActions) { + if (trimModeAction->data().toInt() != except_id) { + trimModeAction->setChecked(false); + } + } +} + +bool PageView::mouseReleaseOverLink(const Okular::ObjectRect *rect) const +{ + if (rect) { + // handle click over a link + const Okular::Action *action = static_cast(rect->object()); + d->document->processAction(action); + return true; + } + return false; +} + +void PageView::slotTrimMarginsToggled(bool on) +{ + if (on) { // Turn off any other Trim modes + updateTrimMode(d->aTrimMargins->data().toInt()); + } + + if (Okular::Settings::trimMargins() != on) { + Okular::Settings::setTrimMargins(on); + Okular::Settings::self()->save(); + if (d->document->pages() > 0) { + slotRelayoutPages(); + slotRequestVisiblePixmaps(); // TODO: slotRelayoutPages() may have done this already! + } + } +} + +void PageView::slotTrimToSelectionToggled(bool on) +{ + if (on) { // Turn off any other Trim modes + updateTrimMode(d->aTrimToSelection->data().toInt()); + + // Change the mouse mode + d->mouseMode = Okular::Settings::EnumMouseMode::TrimSelect; + d->aMouseNormal->setChecked(false); + + // change the text in messageWindow (and show it if hidden) + d->messageWindow->display(i18n("Draw a rectangle around the page area you wish to keep visible"), QString(), PageViewMessage::Info, -1); + // force an update of the cursor + updateCursor(); + } else { + // toggled off while making selection + if (Okular::Settings::EnumMouseMode::TrimSelect == d->mouseMode) { + // clear widget selection and invalidate rect + selectionClear(); + + // When Trim selection bbox interaction is over, we should switch to another mousemode. + if (d->aPrevAction) { + d->aPrevAction->trigger(); + d->aPrevAction = nullptr; + } else { + d->aMouseNormal->trigger(); + } + } + + d->trimBoundingBox = Okular::NormalizedRect(); // invalidate box + if (d->document->pages() > 0) { + slotRelayoutPages(); + slotRequestVisiblePixmaps(); // TODO: slotRelayoutPages() may have done this already! + } + } +} + +void PageView::slotToggleForms() +{ + toggleFormWidgets(!d->m_formsVisible); +} + +void PageView::slotFormChanged(int pageNumber) +{ + if (!d->refreshTimer) { + d->refreshTimer = new QTimer(this); + d->refreshTimer->setSingleShot(true); + connect(d->refreshTimer, &QTimer::timeout, this, &PageView::slotRefreshPage); + } + d->refreshPages << pageNumber; + int delay = 0; + if (d->m_formsVisible) { + delay = 1000; + } + d->refreshTimer->start(delay); +} + +void PageView::slotRefreshPage() +{ + for (int req : std::as_const(d->refreshPages)) { + QTimer::singleShot(0, this, [this, req] { d->document->refreshPixmaps(req); }); + } + d->refreshPages.clear(); +} + +#if HAVE_SPEECH +void PageView::slotSpeakDocument() +{ + QString text; + for (const PageViewItem *item : std::as_const(d->items)) { + std::unique_ptr area = textSelectionForItem(item); + text.append(item->page()->text(area.get())); + text.append(QLatin1Char('\n')); + } + + d->tts()->say(text); +} + +void PageView::slotSpeakFromCurrentPage() +{ + const int currentPage = d->document->viewport().pageNumber; + + QString text; + QList::const_iterator dIt = d->items.constBegin(), dEnd = d->items.constEnd(); + + for (dIt += currentPage; dIt != dEnd; ++dIt) { + std::unique_ptr area = textSelectionForItem(*dIt); + text.append((*dIt)->page()->text(area.get())); + text.append(QLatin1Char('\n')); + } + + d->tts()->say(text); +} + +void PageView::slotSpeakCurrentPage() +{ + const int currentPage = d->document->viewport().pageNumber; + + const PageViewItem *item = d->items.at(currentPage); + std::unique_ptr area = textSelectionForItem(item); + const QString text = item->page()->text(area.get()); + + d->tts()->say(text); +} + +void PageView::slotStopSpeaks() +{ + if (!d->m_tts) { + return; + } + + d->m_tts->stopAllSpeechs(); +} + +void PageView::slotPauseResumeSpeech() +{ + if (!d->m_tts) { + return; + } + + d->m_tts->pauseResumeSpeech(); +} + +#endif + +void PageView::slotAction(Okular::Action *action) +{ + d->document->processAction(action); +} + +void PageView::slotMouseAction(Okular::Action *action, Okular::FormField *form, Okular::Document::MouseEventType fieldMouseEventType) +{ + if (form && action->actionType() == Okular::Action::Script) { + d->document->processFormMouseScriptAction(action, form, fieldMouseEventType); + } else { + d->document->processAction(action); + } +} + +void PageView::externalKeyPressEvent(QKeyEvent *e) +{ + keyPressEvent(e); +} + +#if HAVE_NEW_SIGNATURE_API +PageView::FinishSigningResult PageView::finishSigning() +{ + const QString newFilePath = SignaturePartUtils::getFileNameForNewSignedFile(this, d->document); + + if (newFilePath.isEmpty()) { + return Cancelled; + } + + Okular::NewSignatureData data; + data.setCertNickname(d->signingInfo.certificate->nickName()); + data.setCertSubjectCommonName(d->signingInfo.certificate->subjectInfo(Okular::CertificateInfo::CommonName, Okular::CertificateInfo::EmptyString::TranslatedNotAvailable)); + data.setPassword(d->signingInfo.certificatePassword); + data.setDocumentPassword(d->signingInfo.documentPassword); + data.setReason(d->signingInfo.reason); + data.setLocation(d->signingInfo.location); + data.setLeftFontSize(d->signatureAnnotation->leftFontSize()); + data.setFontSize(d->signatureAnnotation->fontSize()); + + std::pair result = d->signatureAnnotation->sign(data, newFilePath); + switch (result.first) { + case Okular::SigningSuccess: { + Q_EMIT requestOpenNewlySignedFile(newFilePath, d->signatureAnnotation->page() + 1); + return Success; + } + case Okular::FieldAlreadySigned: // We should not end up here + case Okular::KeyMissing: // unless the user modified the key store after opening the dialog, this should not happen + case Okular::InternalSigningError: + KMessageBox::detailedError(this, errorString(result.first, static_cast(result.first)), result.second); + return Failed; + case Okular::GenericSigningError: + KMessageBox::detailedError(this, errorString(result.first, newFilePath), result.second); + return Failed; + case Okular::UserCancelled: + return Cancelled; + case Okular::BadPassphrase: + KMessageBox::detailedError(this, errorString(result.first, {}), result.second); + return Cancelled; + case Okular::SignatureWriteFailed: + KMessageBox::detailedError(this, errorString(result.first, newFilePath), result.second); + return Failed; + } + // We should not end here + Q_ASSERT(false); + return Failed; +} +#endif + +void PageView::slotProcessMovieAction(const Okular::MovieAction *action) +{ + const Okular::MovieAnnotation *movieAnnotation = action->annotation(); + if (!movieAnnotation) { + return; + } + + const Okular::Movie *movie = movieAnnotation->movie(); + if (!movie) { + return; + } + + const int currentPage = d->document->viewport().pageNumber; + + PageViewItem *item = d->items.at(currentPage); + if (!item) { + return; + } + + VideoWidget *vw = item->videoWidgets().value(movie); + if (!vw) { + return; + } + + vw->show(); + + switch (action->operation()) { + case Okular::MovieAction::Play: + vw->stop(); + vw->play(); + break; + case Okular::MovieAction::Stop: + vw->stop(); + break; + case Okular::MovieAction::Pause: + vw->pause(); + break; + case Okular::MovieAction::Resume: + vw->play(); + break; + }; +} + +void PageView::slotProcessRenditionAction(const Okular::RenditionAction *action) +{ + const Okular::Movie *movie = action->movie(); + if (!movie) { + return; + } + + const int currentPage = d->document->viewport().pageNumber; + + PageViewItem *item = d->items.at(currentPage); + if (!item) { + return; + } + + VideoWidget *vw = item->videoWidgets().value(movie); + if (!vw) { + return; + } + + if (action->operation() == Okular::RenditionAction::None) { + return; + } + + vw->show(); + + switch (action->operation()) { + case Okular::RenditionAction::Play: + vw->stop(); + vw->play(); + break; + case Okular::RenditionAction::Stop: + vw->stop(); + break; + case Okular::RenditionAction::Pause: + vw->pause(); + break; + case Okular::RenditionAction::Resume: + vw->play(); + break; + default: + return; + }; +} + +void PageView::slotFitWindowToPage() +{ + const PageViewItem *currentPageItem = nullptr; + QSize viewportSize = viewport()->size(); + for (const PageViewItem *pageItem : std::as_const(d->items)) { + if (pageItem->isVisible()) { + currentPageItem = pageItem; + break; + } + } + + if (!currentPageItem) { + return; + } + + const QSize pageSize = QSize(currentPageItem->uncroppedWidth() + kcolWidthMargin, currentPageItem->uncroppedHeight() + krowHeightMargin); + if (verticalScrollBar()->isVisible()) { + viewportSize.setWidth(viewportSize.width() + verticalScrollBar()->width()); + } + if (horizontalScrollBar()->isVisible()) { + viewportSize.setHeight(viewportSize.height() + horizontalScrollBar()->height()); + } + Q_EMIT fitWindowToPage(viewportSize, pageSize); +} + +void PageView::slotSelectPage() +{ + textSelectionClear(); + const int currentPage = d->document->viewport().pageNumber; + const PageViewItem *item = d->items.at(currentPage); + + if (item) { + std::unique_ptr area = textSelectionForItem(item); + d->pagesWithTextSelection.insert(currentPage); + d->document->setPageTextSelection(currentPage, std::move(area), palette().color(QPalette::Active, QPalette::Highlight)); + } +} + +void PageView::highlightSignatureFormWidget(const Okular::FormFieldSignature *form) +{ + QList::const_iterator dIt = d->items.constBegin(), dEnd = d->items.constEnd(); + for (; dIt != dEnd; ++dIt) { + const QSet fwi = (*dIt)->formWidgets(); + for (FormWidgetIface *fw : fwi) { + if (fw->formField() == form) { + SignatureEdit *widget = static_cast(fw); + widget->setDummyMode(true); + QTimer::singleShot(250, this, [=] { widget->setDummyMode(false); }); + return; + } + } + } +} + +// END private SLOTS + +/* kate: replace-tabs on; indent-width 4; */ diff --git a/part/pageview.h b/part/pageview.h new file mode 100644 index 0000000..87b6be7 --- /dev/null +++ b/part/pageview.h @@ -0,0 +1,343 @@ +/* + SPDX-FileCopyrightText: 2004 Enrico Ros + SPDX-FileCopyrightText: 2004 Albert Astals Cid + + Work sponsored by the LiMux project of the city of Munich: + SPDX-FileCopyrightText: 2017 Klarälvdalens Datakonsult AB a KDAB Group company + + With portions of code from kpdf/kpdf_pagewidget.h by: + SPDX-FileCopyrightText: 2002 Wilco Greven + SPDX-FileCopyrightText: 2003 Christophe Devriese + SPDX-FileCopyrightText: 2003 Laurent Montel + SPDX-FileCopyrightText: 2003 Kurt Pfeifle + + SPDX-License-Identifier: GPL-2.0-or-later +*/ +// This file follows coding style described in kdebase/kicker/HACKING + +#ifndef _OKULAR_PAGEVIEW_H_ +#define _OKULAR_PAGEVIEW_H_ + +#include "config-okular.h" +#include "core/area.h" +#include "core/document.h" +#include "core/observer.h" +#include "core/view.h" +#include "pageviewutils.h" +#include +#include + +#include "signaturepartutils.h" + +class QMenu; +class QMimeData; +class KActionCollection; + +namespace Okular +{ +class Action; +class Document; +class DocumentViewport; +class FormField; +class FormFieldSignature; +class Annotation; +class MovieAction; +class RenditionAction; +class SignatureAnnotation; +} + +class PageViewPrivate; + +class QGestureEvent; + +/** + * @short The main view. Handles zoom and continuous mode.. oh, and page + * @short display of course :-) + * ... + */ +class PageView : public QAbstractScrollArea, public Okular::DocumentObserver, public Okular::View +{ + Q_OBJECT + +public: + PageView(QWidget *parent, Okular::Document *document); + ~PageView() override; + + // Zoom mode ( last 4 are internally used only! ) + enum ZoomMode { ZoomFixed = 0, ZoomFitWidth = 1, ZoomFitPage = 2, ZoomFitAuto = 3, ZoomIn, ZoomOut, ZoomRefreshCurrent, ZoomActual }; + + enum ClearMode { ClearAllSelection, ClearOnlyDividers }; + + enum FinishSigningResult { + Success, + Failed, + Cancelled, + }; + + // inherited from QAbstractScrollArea + void setupViewport(QWidget *viewport) override; + + // create actions that interact with this widget + void setupBaseActions(KActionCollection *ac); + void setupViewerActions(KActionCollection *ac); + void setupActions(KActionCollection *ac); + void setupActionsPostGUIActivated(); + void updateActionState(bool docHasPages, bool docHasFormWidgets); + + // misc methods (from RMB menu/children) + bool canFitPageWidth() const; + void fitPageWidth(int page); + // keep in sync with pageviewutils + void displayMessage(const QString &message, const QString &details = QString(), PageViewMessage::Icon icon = PageViewMessage::Info, int duration = -1); + + // inherited from DocumentObserver + void notifySetup(const QList &pages, int setupFlags) override; + void notifyViewportChanged(bool smoothMove) override; + void notifyPageChanged(int pageNumber, int changedFlags) override; + void notifyContentsCleared(int changedFlags) override; + void notifyZoom(int factor) override; + bool canUnloadPixmap(int pageNum) const override; + void notifyCurrentPageChanged(int previous, int current) override; + + // inherited from View + bool supportsCapability(ViewCapability capability) const override; + CapabilityFlags capabilityFlags(ViewCapability capability) const override; + QVariant capability(ViewCapability capability) const override; + void setCapability(ViewCapability capability, const QVariant &option) override; + + std::vector> textSelections(const QPoint start, const QPoint end, int &firstpage); + std::unique_ptr textSelectionForItem(const PageViewItem *item, const QPoint startPoint = QPoint(), const QPoint endPoint = QPoint()); + + void reparseConfig(); + + KActionCollection *actionCollection() const; + QAction *toggleFormsAction() const; + + int contentAreaWidth() const; + int contentAreaHeight() const; + QPoint contentAreaPosition() const; + QPoint contentAreaPoint(const QPoint pos) const; + QPointF contentAreaPoint(const QPointF pos) const; + + bool areSourceLocationsShownGraphically() const; + void setShowSourceLocationsGraphically(bool show); + + void setLastSourceLocationViewport(const Okular::DocumentViewport &vp); + void clearLastSourceLocationViewport(); + + void updateCursor(); + + void highlightSignatureFormWidget(const Okular::FormFieldSignature *form); + + void showNoSigningCertificatesDialog(bool nonDateValidCerts); + + Okular::Document *document() const; + + void startSigning(Okular::SignatureAnnotation *signatureAnnotation); + +public Q_SLOTS: + void copyTextSelection() const; + void selectAll(); + + void openAnnotationWindow(Okular::Annotation *annotation, int pageNumber); + void reloadForms(); + + void slotSelectPage(); + + void slotAction(Okular::Action *action); + void slotMouseAction(Okular::Action *action, Okular::FormField *form, Okular::Document::MouseEventType fieldMouseEventType); + void slotFormChanged(int pageNumber); + + void externalKeyPressEvent(QKeyEvent *e); +#if HAVE_NEW_SIGNATURE_API + PageView::FinishSigningResult finishSigning(); +#endif + +Q_SIGNALS: + void rightClick(const Okular::Page *, const QPoint); + void mouseBackButtonClick(); + void mouseForwardButtonClick(); + void escPressed(); + void fitWindowToPage(const QSize pageViewPortSize, const QSize pageSize); + void triggerSearch(const QString &text); + /** + * Requests opening of a newly signed file + * \param filePath path to signed file + * \param pageNumber page to show (1-indexed) + */ + void requestOpenNewlySignedFile(const QString &filePath, int pageNumber); + void signingStarted(); + void signingFinished(); + +protected: + bool event(QEvent *event) override; + + void resizeEvent(QResizeEvent *) override; + bool gestureEvent(QGestureEvent *e); + + // mouse / keyboard events + void keyPressEvent(QKeyEvent *) override; + void keyReleaseEvent(QKeyEvent *) override; + void inputMethodEvent(QInputMethodEvent *) override; + void wheelEvent(QWheelEvent *) override; + + void paintEvent(QPaintEvent *e) override; + void tabletEvent(QTabletEvent *e) override; + void continuousZoom(double delta); + void continuousZoomEnd(); + void mouseMoveEvent(QMouseEvent *e) override; + void mousePressEvent(QMouseEvent *e) override; + void mouseReleaseEvent(QMouseEvent *e) override; + void mouseDoubleClickEvent(QMouseEvent *e) override; + + bool viewportEvent(QEvent *e) override; + + void scrollContentsBy(int dx, int dy) override; + +private: + // Geometry bounds of the viewport for annotation windows, excludes scrollbars + const QRect &viewportBoundsForAnnotationWindows(); + // Notify all annotation windows of the new viewport geometry, so they could reposition themselves + void notifyAnnotationWindowsAboutViewportBoundsChange(); + // draw background and items on the opened qpainter + void drawDocumentOnPainter(const QRect contentsRect, QPainter *p); + // update item width and height using current zoom parameters + void updateItemSize(PageViewItem *item, int colWidth, int rowHeight); + // return the widget placed on a certain point or 0 if clicking on empty space + PageViewItem *pickItemOnPoint(int x, int y); + // start / modify / clear selection rectangle + void selectionStart(const QPoint pos, const QColor &color, bool aboveAll = false); + void selectionClear(const ClearMode mode = ClearAllSelection); + QMimeData *getTableContents() const; + void drawTableDividers(QPainter *screenPainter); + void guessTableDividers(); + // update either text or rectangle selection + void updateSelection(const QPoint pos); + // compute the zoom factor value for FitWidth and FitPage mode + double zoomFactorFitMode(ZoomMode mode); + // update internal zoom values and end in a slotRelayoutPages(); + void updateZoom(ZoomMode newZoomMode); + // update the text on the label using global zoom value or current page's one + void updateZoomText(); + // update the text enabled status of the zoom actions + void updateZoomActionsEnabledStatus(); + // update view mode (single, facing...) + void updateViewMode(const int nr); + void textSelectionClear(); + // updates cursor + void updateCursor(const QPoint p); + + void moveMagnifier(const QPoint p); + void updateMagnifier(const QPoint p); + + int viewColumns() const; + + void center(int cx, int cy, bool smoothMove = false); + void scrollTo(int x, int y, bool smoothMove = false); + + void toggleFormWidgets(bool on); + + void resizeContentArea(const QSize newSize); + void updatePageStep(); + + void addSearchWithinDocumentAction(QMenu *menu, const QString &searchText); + void addWebShortcutsMenu(QMenu *menu, const QString &text); + QMenu *createProcessLinkMenu(PageViewItem *item, const QPoint eventPos); + // used when selecting stuff, makes the view scroll as necessary to keep the mouse inside the view + void scrollPosIntoView(const QPoint pos); + QPoint viewportToContentArea(const Okular::DocumentViewport &vp) const; + + // called from slots to turn off trim modes mutually exclusive to id + void updateTrimMode(int except_id); + + // handle link clicked + bool mouseReleaseOverLink(const Okular::ObjectRect *rect) const; + + void createAnnotationsVideoWidgets(PageViewItem *item, const QList &annotations); + + // Update speed of animated smooth scroll transitions + void updateSmoothScrollAnimationSpeed(); + + /* + * returns the continuous mode value of the current document, by either: + * - if the continuous mode action is initialized, then we return its associated value + * - if not, then we will fallback to the default settings + */ + bool getContinuousMode() const; + + // Zoom around the point given as zoomCenter + // zoomCenter is given in viewport coordinates + // newZoom is the intended new zoom level. A value of 0.0 means: Don't change the current zoom level. + // The zoomMode is set to newZoomMode. + void zoomWithFixedCenter(ZoomMode newZoomMode, QPointF zoomCenter, float newZoom = 0.0); + + // don't want to expose classes in here + class PageViewPrivate *d; + +private Q_SLOTS: + // used to decouple the notifyViewportChanged calle + void slotRealNotifyViewportChanged(bool smoothMove); + // activated either directly or via queued connection on notifySetup + void slotRelayoutPages(); + // activated by the resize event delay timer + void delayedResizeEvent(); + // activated either directly or via the contentsMoving(int,int) signal + void slotRequestVisiblePixmaps(int newValue = -1); + // activated by the autoscroll timer (Shift+Up/Down keys) + void slotAutoScroll(); + // activated by the dragScroll timer + void slotDragScroll(); + // show the welcome message + void slotShowWelcome(); + // activated by left click timer + void slotShowSizeAllCursor(); + + void slotHandleWebShortcutAction(); + void slotConfigureWebShortcuts(); + + // connected to local actions (toolbar, menu, ..) + void slotZoom(); + void slotZoomIn(); + void slotZoomOut(); + void slotZoomActual(); + void slotFitToWidthToggled(bool); + void slotFitToPageToggled(bool); + void slotAutoFitToggled(bool); + void slotViewMode(QAction *action); + void slotContinuousToggled(); + void slotReadingDirectionToggled(bool leftToRight); + void slotUpdateReadingDirectionAction(); + void slotSetMouseNormal(); + void slotSetMouseZoom(); + void slotSetMouseMagnifier(); + void slotSetMouseSelect(); + void slotSetMouseTextSelect(); + void slotSetMouseTableSelect(); + void slotSignature(); + void slotAutoScrollUp(); + void slotAutoScrollDown(); + void slotScrollUp(int nSteps = 0); + void slotScrollDown(int nSteps = 0); + void slotRotateClockwise(); + void slotRotateCounterClockwise(); + void slotRotateOriginal(); + void slotTrimMarginsToggled(bool); + void slotTrimToSelectionToggled(bool); + void slotToggleForms(); + void slotRefreshPage(); +#if HAVE_SPEECH + void slotSpeakDocument(); + void slotSpeakFromCurrentPage(); + void slotSpeakCurrentPage(); + void slotStopSpeaks(); + void slotPauseResumeSpeech(); +#endif + void slotAnnotationWindowDestroyed(QObject *window); + void slotProcessMovieAction(const Okular::MovieAction *action); + void slotProcessRenditionAction(const Okular::RenditionAction *action); + void slotFitWindowToPage(); +}; + +#endif + +/* kate: replace-tabs on; indent-width 4; */ diff --git a/part/pageviewannotator.cpp b/part/pageviewannotator.cpp new file mode 100644 index 0000000..dd5203a --- /dev/null +++ b/part/pageviewannotator.cpp @@ -0,0 +1,1801 @@ +/* + SPDX-FileCopyrightText: 2005 Enrico Ros + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "pageviewannotator.h" + +// qt / kde includes +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +// system includes +#include +#include +#include +#include +#include + +// local includes +#include "annotationactionhandler.h" +#include "core/annotations.h" +#include "core/area.h" +#include "core/document.h" +#include "core/page.h" +#include "core/signatureutils.h" +#include "editannottooldialog.h" +#include "gui/debug_ui.h" +#include "gui/guiutils.h" +#include "pageview.h" +#include "settings.h" +#include "signaturepartutils.h" + +/** @short PickPointEngine */ +class PickPointEngine : public AnnotatorEngine +{ +public: + explicit PickPointEngine(PageView *pageView, const QDomElement &engineElement) + : AnnotatorEngine(engineElement) + , clicked(false) + , xscale(1.0) + , yscale(1.0) + , hoverIconName {engineElement.attribute(QStringLiteral("hoverIcon"))} + , iconName {m_annotElement.attribute(QStringLiteral("icon"))} + , pagewidth(1.0) + , pageheight(1.0) + , pageView(pageView) + { + // parse engine specific attributes + if (m_annotElement.attribute(QStringLiteral("type")) == QLatin1String("Stamp") && !iconName.simplified().isEmpty()) { + hoverIconName = iconName; + } + center = QVariant(engineElement.attribute(QStringLiteral("center"))).toBool(); + bool ok = true; + size = engineElement.attribute(QStringLiteral("size"), QStringLiteral("32")).toInt(&ok); + if (!ok) { + size = 32; + } + m_block = QVariant(engineElement.attribute(QStringLiteral("block"))).toBool(); + + // create engine objects + if (!hoverIconName.simplified().isEmpty()) { + pixmap = Okular::AnnotationUtils::loadStamp(hoverIconName, QSize(size, size)); + } + } + + QRect event(EventType type, Button button, Modifiers modifiers, double nX, double nY, double xScale, double yScale, const Okular::Page *page) override + { + xscale = xScale; + yscale = yScale; + pagewidth = page->width(); + pageheight = page->height(); + // only proceed if pressing left button + if (button != Left) { + return QRect(); + } + + // start operation on click + if (type == Press && clicked == false) { + clicked = true; + startpoint.x = nX; + startpoint.y = nY; + } + // repaint if moving while pressing + else if (type == Move && clicked == true) { + } + // operation finished on release + else if (type == Release && clicked == true) { + m_creationCompleted = true; + } else { + return QRect(); + } + + // Constrain to 1:1 form factor (e.g. circle or square) + if (modifiers.constrainRatioAndAngle) { + double side = qMin(qAbs(nX - startpoint.x) * xScale, qAbs(nY - startpoint.y) * yScale); + nX = qBound(startpoint.x - side / xScale, nX, startpoint.x + side / xScale); + nY = qBound(startpoint.y - side / yScale, nY, startpoint.y + side / yScale); + } + // update variables and extents (zoom invariant rect) + point.x = nX; + point.y = nY; + if (center) { + rect.left = nX - (size / (xScale * 2.0)); + rect.top = nY - (size / (yScale * 2.0)); + } else { + rect.left = nX; + rect.top = nY; + } + rect.right = rect.left + size; + rect.bottom = rect.top + size; + QRect boundrect = rect.geometry((int)xScale, (int)yScale).adjusted(0, 0, 1, 1); + if (m_block) { + const Okular::NormalizedRect tmprect(qMin(startpoint.x, point.x), qMin(startpoint.y, point.y), qMax(startpoint.x, point.x), qMax(startpoint.y, point.y)); + boundrect |= tmprect.geometry((int)xScale, (int)yScale).adjusted(0, 0, 1, 1); + } + return boundrect; + } + + void paint(QPainter *painter, double xScale, double yScale, const QRect & /*clipRect*/) override + { + if (clicked) { + if (m_block) { + const Okular::NormalizedRect tmprect(qMin(startpoint.x, point.x), qMin(startpoint.y, point.y), qMax(startpoint.x, point.x), qMax(startpoint.y, point.y)); + const QRect realrect = tmprect.geometry((int)xScale, (int)yScale); + const QPen origpen = painter->pen(); + QPen pen = painter->pen(); + // Draw rectangle in 3 colored dashed line + const QColor baseColor = QApplication::palette().base().color(); + const QColor textColor = QApplication::palette().text().color(); + const QColor highlightColor = QApplication::palette().highlight().color(); + const qreal penWidth = pen.widthF(); + pen.setDashPattern({penWidth * 5, penWidth * 10} /* { dash, empty space } */); + pen.setColor(baseColor); + painter->setPen(pen); + // Use drawLine instead of drawRect to avoid shimering on resize + painter->drawLine(realrect.topLeft(), realrect.topRight()); + painter->drawLine(realrect.topLeft(), realrect.bottomLeft()); + painter->drawLine(realrect.topRight(), realrect.bottomRight()); + painter->drawLine(realrect.bottomLeft(), realrect.bottomRight()); + + pen.setDashOffset(penWidth * 5); + pen.setColor(textColor); + painter->setPen(pen); + painter->drawLine(realrect.topLeft(), realrect.topRight()); + painter->drawLine(realrect.topLeft(), realrect.bottomLeft()); + painter->drawLine(realrect.topRight(), realrect.bottomRight()); + painter->drawLine(realrect.bottomLeft(), realrect.bottomRight()); + + pen.setDashOffset(penWidth * 10); + pen.setColor(highlightColor); + painter->setPen(pen); + painter->drawLine(realrect.topLeft(), realrect.topRight()); + painter->drawLine(realrect.topLeft(), realrect.bottomLeft()); + painter->drawLine(realrect.topRight(), realrect.bottomRight()); + painter->drawLine(realrect.bottomLeft(), realrect.bottomRight()); + + // and draw the internal 3x3 grid + pen.setStyle(Qt::DashLine); + pen.setColor(highlightColor); + painter->setPen(pen); + const QPoint rectTopLeft = realrect.topLeft(); + const QPoint rectBottomRight = realrect.bottomRight(); + const int yHorizontal1 = rectTopLeft.y() + (realrect.height() + 2) / 3; + const int yHorizontal2 = rectTopLeft.y() + (realrect.height() + 2) / 3 * 2; + painter->drawLine(rectTopLeft.x(), yHorizontal1, rectBottomRight.x(), yHorizontal1); + painter->drawLine(rectTopLeft.x(), yHorizontal2, rectBottomRight.x(), yHorizontal2); + const int xVertical1 = rectTopLeft.x() + (realrect.width() + 2) / 3; + const int xVertical2 = rectTopLeft.x() + (realrect.width() + 2) / 3 * 2; + painter->drawLine(xVertical1, rectTopLeft.y(), xVertical1, rectBottomRight.y()); + painter->drawLine(xVertical2, rectTopLeft.y(), xVertical2, rectBottomRight.y()); + painter->setPen(origpen); + } + if (!pixmap.isNull()) { + painter->drawPixmap(QPointF(rect.left * xScale, rect.top * yScale), pixmap); + } + } + } + + void addInPlaceTextAnnotation(Okular::Annotation *&ann, const QString &summary, const QString &content, Okular::TextAnnotation::InplaceIntent inplaceIntent) + { + Okular::TextAnnotation *ta = new Okular::TextAnnotation(); + ann = ta; + ta->setFlags(ta->flags() | Okular::Annotation::FixedRotation); + ta->setContents(content); + ta->setTextType(Okular::TextAnnotation::InPlace); + ta->setInplaceIntent(inplaceIntent); + // set alignment + if (m_annotElement.hasAttribute(QStringLiteral("align"))) { + ta->setInplaceAlignment(m_annotElement.attribute(QStringLiteral("align")).toInt()); + } + // set font + if (m_annotElement.hasAttribute(QStringLiteral("font"))) { + QFont f; + // Workaround broken old code that saved fonts incorrectly with extra backslashes + QString fontString = m_annotElement.attribute(QStringLiteral("font")); + if (fontString.count(QStringLiteral("\\\\,")) > 9) { + fontString.replace(QStringLiteral("\\\\,"), QStringLiteral(",")); + } + f.fromString(fontString); + ta->setTextFont(f); + } + // set font color + if (m_annotElement.hasAttribute(QStringLiteral("textColor"))) { + if (inplaceIntent == Okular::TextAnnotation::TypeWriter) { + ta->setTextColor(m_annotElement.attribute(QStringLiteral("textColor"))); + } else { + ta->setTextColor(Qt::black); + } + } + // set width + if (m_annotElement.hasAttribute(QStringLiteral("width"))) { + ta->style().setWidth(m_annotElement.attribute(QStringLiteral("width")).toDouble()); + } + // set boundary + rect.left = qMin(startpoint.x, point.x); + rect.top = qMin(startpoint.y, point.y); + rect.right = qMax(startpoint.x, point.x); + rect.bottom = qMax(startpoint.y, point.y); + qCDebug(OkularUiDebug).nospace() << "xyScale=" << xscale << "," << yscale; + static const int padding = 2; + const QFontMetricsF mf(ta->textFont()); + const QRectF rcf = + mf.boundingRect(Okular::NormalizedRect(rect.left, rect.top, 1.0, 1.0).geometry((int)pagewidth, (int)pageheight).adjusted(padding, padding, -padding, -padding), Qt::AlignTop | Qt::AlignLeft | Qt::TextWordWrap, ta->contents()); + rect.right = qMax(rect.right, rect.left + (rcf.width() + padding * 2) / pagewidth); + rect.bottom = qMax(rect.bottom, rect.top + (rcf.height() + padding * 2) / pageheight); + ta->window().setSummary(summary); + } + + QList end() override + { + // find out annotation's description node + if (m_annotElement.isNull()) { + m_creationCompleted = false; + clicked = false; + return QList(); + } + + // find out annotation's type + Okular::Annotation *ann = nullptr; + const QString typeString = m_annotElement.attribute(QStringLiteral("type")); + // create InPlace TextAnnotation from path + if (typeString == QLatin1String("FreeText")) { + addInPlaceTextAnnotation(ann, i18n("Inline Note"), QString(), Okular::TextAnnotation::Unknown); + } else if (typeString == QLatin1String("Typewriter")) { + bool resok; + const QString content = QInputDialog::getMultiLineText(pageView, i18n("New Text Note"), i18n("Text of the new note:"), QString(), &resok); + if (resok) { + addInPlaceTextAnnotation(ann, i18n("Typewriter"), content, Okular::TextAnnotation::TypeWriter); + } + } else if (typeString == QLatin1String("Text")) { + Okular::TextAnnotation *ta = new Okular::TextAnnotation(); + ann = ta; + ta->setTextType(Okular::TextAnnotation::Linked); + ta->setTextIcon(iconName); + // ta->window.flags &= ~(Okular::Annotation::Hidden); + const double iconhei = 0.03; + rect.left = point.x; + rect.top = point.y; + rect.right = rect.left + iconhei; + rect.bottom = rect.top + iconhei * xscale / yscale; + ta->window().setSummary(i18n("Pop-up Note")); + } + // create StampAnnotation from path + else if (typeString == QLatin1String("Stamp")) { + Okular::StampAnnotation *sa = new Okular::StampAnnotation(); + ann = sa; + sa->setStampIconName(iconName); + // set boundary + rect.left = qMin(startpoint.x, point.x); + rect.top = qMin(startpoint.y, point.y); + rect.right = qMax(startpoint.x, point.x); + rect.bottom = qMax(startpoint.y, point.y); + const QRectF rcf = rect.geometry((int)xscale, (int)yscale); + const int ml = (rcf.bottomRight() - rcf.topLeft()).toPoint().manhattanLength(); + if (ml <= QApplication::startDragDistance()) { + const double stampxscale = pixmap.width() / xscale; + const double stampyscale = pixmap.height() / yscale; + if (center) { + rect.left = point.x - stampxscale / 2; + rect.top = point.y - stampyscale / 2; + } else { + rect.left = point.x; + rect.top = point.y; + } + rect.right = rect.left + stampxscale; + rect.bottom = rect.top + stampyscale; + } + } + // create GeomAnnotation + else if (typeString == QLatin1String("GeomSquare") || typeString == QLatin1String("GeomCircle")) { + Okular::GeomAnnotation *ga = new Okular::GeomAnnotation(); + ann = ga; + // set the type + if (typeString == QLatin1String("GeomSquare")) { + ga->setGeometricalType(Okular::GeomAnnotation::InscribedSquare); + } else { + ga->setGeometricalType(Okular::GeomAnnotation::InscribedCircle); + } + if (m_annotElement.hasAttribute(QStringLiteral("width"))) { + ann->style().setWidth(m_annotElement.attribute(QStringLiteral("width")).toDouble()); + } + if (m_annotElement.hasAttribute(QStringLiteral("innerColor"))) { + ga->setGeometricalInnerColor(QColor(m_annotElement.attribute(QStringLiteral("innerColor")))); + } + // set boundary + rect.left = qMin(startpoint.x, point.x); + rect.top = qMin(startpoint.y, point.y); + rect.right = qMax(startpoint.x, point.x); + rect.bottom = qMax(startpoint.y, point.y); + } + + m_creationCompleted = false; + clicked = false; + + // safety check + if (!ann) { + return QList(); + } + + // set common attributes + ann->style().setColor(m_annotElement.hasAttribute(QStringLiteral("color")) ? m_annotElement.attribute(QStringLiteral("color")) : m_engineColor); + if (m_annotElement.hasAttribute(QStringLiteral("opacity"))) { + ann->style().setOpacity(m_annotElement.attribute(QStringLiteral("opacity"), QStringLiteral("1.0")).toDouble()); + } + + // set the bounding rectangle, and make sure that the newly created + // annotation lies within the page by translating it if necessary + if (rect.right > 1) { + rect.left -= rect.right - 1; + rect.right = 1; + } + if (rect.bottom > 1) { + rect.top -= rect.bottom - 1; + rect.bottom = 1; + } + ann->setBoundingRectangle(rect); + + // return annotation + return QList() << ann; + } + +protected: + bool clicked; + bool m_block; + double xscale, yscale; + Okular::NormalizedRect rect; + Okular::NormalizedPoint startpoint; + Okular::NormalizedPoint point; + +private: + QPixmap pixmap; + QString hoverIconName, iconName; + int size; + double pagewidth, pageheight; + bool center; + PageView *pageView = nullptr; +}; + +class PickPointEngineSignature : public PickPointEngine +{ +#if HAVE_NEW_SIGNATURE_API +public: + explicit PickPointEngineSignature(SignaturePartUtils::SigningInformation *info) + : PickPointEngine(nullptr, {}) + , m_page(nullptr) + , m_aborted(false) + , m_signingInformation(info) + { + m_block = true; + } + + QRect event(EventType type, Button button, Modifiers modifiers, double nX, double nY, double xScale, double yScale, const Okular::Page *page) override + { + m_page = page; + return PickPointEngine::event(type, button, modifiers, nX, nY, xScale, yScale, page); + } + + QList end() override + { + rect.left = qMin(startpoint.x, point.x); + rect.top = qMin(startpoint.y, point.y); + rect.right = qMax(startpoint.x, point.x); + rect.bottom = qMax(startpoint.y, point.y); + + clicked = false; + + // find out annotation's type + Okular::SignatureAnnotation *ann = new Okular::SignatureAnnotation(); + + const QString certSubjectCommonName = m_signingInformation->certificate->subjectInfo(Okular::CertificateInfo::CommonName, Okular::CertificateInfo::EmptyString::TranslatedNotAvailable); + const QString datetime = QDateTime::currentDateTime().toString(QStringLiteral("yyyy-MM-dd hh:mm:ss t")); + const QString signatureText = i18n("Signed by: %1\n\nDate: %2", certSubjectCommonName, datetime); + + m_creationCompleted = false; + clicked = false; + // safety check + if (!ann) { + return QList(); + } + + ann->setLeftText(certSubjectCommonName); + ann->setText(signatureText); + ann->setImagePath(m_signingInformation->backgroundImagePath); + +#if HAVE_AUTOMATIC_SIGNATURE_FONT_SIZE + // 0 means "Chose an appropriate size" + ann->setLeftFontSize(0); + ann->setFontSize(0); +#endif + + // set the bounding rectangle, and make sure that the newly created + // annotation lies within the page by translating it if necessary + if (rect.right > 1) { + rect.left -= rect.right - 1; + rect.right = 1; + } + if (rect.bottom > 1) { + rect.top -= rect.bottom - 1; + rect.bottom = 1; + } + ann->setBoundingRectangle(rect); + + return QList() << ann; + } + + bool isAccepted() const + { + return !m_aborted && !m_signingInformation->certificate->nickName().isEmpty(); + } + + bool isAborted() const + { + return m_aborted; + } + +private: + const Okular::Page *m_page; + + bool m_aborted; + SignaturePartUtils::SigningInformation *m_signingInformation; +#else +public: + PickPointEngineSignature(Okular::Document *document, PageView *pageView, SignaturePartUtils::SigningInformation *info) + : PickPointEngine(pageView, {}) + , m_document(document) + , m_page(nullptr) + , m_pageView(pageView) + , m_startOver(false) + , m_aborted(false) + , m_signingInformation(info) + { + m_block = true; + } + + QRect event(EventType type, Button button, Modifiers modifiers, double nX, double nY, double xScale, double yScale, const Okular::Page *page) override + { + m_page = page; + return PickPointEngine::event(type, button, modifiers, nX, nY, xScale, yScale, page); + } + + QList end() override + { + m_startOver = false; + rect.left = qMin(startpoint.x, point.x); + rect.top = qMin(startpoint.y, point.y); + rect.right = qMax(startpoint.x, point.x); + rect.bottom = qMax(startpoint.y, point.y); + + // FIXME this is a bit arbitrary, try to figure out a better rule, potentially based in cm and not pixels? + if (rect.width() * m_page->width() < 100 || rect.height() * m_page->height() < 100) { + const KMessageBox::ButtonCode answer = KMessageBox::questionTwoActions( + m_pageView, + xi18nc("@info", "A signature of this size may be too small to read. If you would like to create a potentially more readable signature, press Start over and draw a bigger rectangle."), + QString(), + KGuiItem(i18nc("@action:button", "Start Over")), + KGuiItem(i18nc("@action:button", "Sign")), + QStringLiteral("TooSmallDigitalSignatureQuestion")); + if (answer == KMessageBox::PrimaryAction) { + m_startOver = true; + return {}; + } + } + m_creationCompleted = false; + clicked = false; + + return {}; + } + + bool isAccepted() const + { + return !m_aborted && !m_signingInformation->certificate->nickName().isEmpty(); + } + + bool userWantsToStartOver() const + { + return m_startOver; + } + + bool isAborted() const + { + return m_aborted; + } + + std::pair sign(const QString &newFilePath) + { + Okular::NewSignatureData data; + data.setCertNickname(m_signingInformation->certificate->nickName()); + data.setCertSubjectCommonName(m_signingInformation->certificate->subjectInfo(Okular::CertificateInfo::CommonName, Okular::CertificateInfo::EmptyString::TranslatedNotAvailable)); + data.setPassword(m_signingInformation->certificatePassword); + data.setDocumentPassword(m_signingInformation->documentPassword); + data.setPage(m_page->number()); + data.setBoundingRectangle(rect); + data.setReason(m_signingInformation->reason); + data.setLocation(m_signingInformation->location); + data.setBackgroundImagePath(m_signingInformation->backgroundImagePath); + return m_document->sign(data, newFilePath); + } + + SignaturePartUtils::SigningInformation *signingInformation() const + { + return m_signingInformation; + } + +private: + Okular::Document *m_document; + const Okular::Page *m_page; + PageView *m_pageView; + + bool m_startOver; + bool m_aborted; + SignaturePartUtils::SigningInformation *m_signingInformation; +#endif +}; + +/** @short PolyLineEngine */ +class PolyLineEngine : public AnnotatorEngine +{ +public: + explicit PolyLineEngine(const QDomElement &engineElement) + : AnnotatorEngine(engineElement) + , last(false) + { + // parse engine specific attributes + m_block = engineElement.attribute(QStringLiteral("block")) == QLatin1String("true"); + bool ok = true; + // numofpoints represents the max number of points for the current + // polygon/polyline, with a pair of exceptions: + // -1 means: the polyline must close on the first point (polygon) + // 0 means: construct as many points as you want, right-click + // to construct the last point + numofpoints = engineElement.attribute(QStringLiteral("points")).toInt(&ok); + if (!ok) { + numofpoints = -1; + } + } + + static Okular::NormalizedPoint constrainAngle(const Okular::NormalizedPoint &p1, double x, double y, double xScale, double yScale, double angleIncrement) + { + // given the normalized point (x, y), return the closest point such that the line segment from p1 forms an angle + // with the horizontal axis which is an integer multiple of angleIncrement on a reference area of size xScale x yScale + double dist = sqrt(p1.distanceSqr(x, y, xScale, yScale)); + double angle = atan2((y - p1.y) * yScale, (x - p1.x) * xScale); + double constrainedAngle = round(angle / angleIncrement) * angleIncrement; + double offset = dist * sin(angle - constrainedAngle); + x += offset * sin(constrainedAngle) / xScale; + y -= offset * cos(constrainedAngle) / yScale; + return Okular::NormalizedPoint(x, y); + } + + QRect event(EventType type, Button button, Modifiers modifiers, double nX, double nY, double xScale, double yScale, const Okular::Page * /*page*/) override + { + // only proceed if pressing left button + // if ( button != Left ) + // return rect; + + // Constrain to 15° steps, except first point of course. + if (modifiers.constrainRatioAndAngle && !points.isEmpty()) { + const Okular::NormalizedPoint constrainedPoint = constrainAngle(points.constLast(), nX, nY, xScale, yScale, M_PI / 12.); + nX = constrainedPoint.x; + nY = constrainedPoint.y; + } + // process button press + if (type == Press) { + newPoint.x = nX; + newPoint.y = nY; + if (button == Right) { + last = true; + } + } + // move the second point + else if (type == Move) { + movingpoint.x = nX; + movingpoint.y = nY; + const QRect oldmovingrect = movingrect; + movingrect = rect | QRect((int)(movingpoint.x * xScale), (int)(movingpoint.y * yScale), 1, 1); + return oldmovingrect | movingrect; + } else if (type == Release) { + const Okular::NormalizedPoint tmppoint(nX, nY); + if (fabs(tmppoint.x - newPoint.x) + fabs(tmppoint.y - newPoint.y) > 1e-2) { + return rect; + } + + if (numofpoints == -1 && points.count() > 1 && (fabs(points[0].x - newPoint.x) + fabs(points[0].y - newPoint.y) < 1e-2)) { + last = true; + } else { + points.append(newPoint); + rect |= QRect((int)(newPoint.x * xScale), (int)(newPoint.y * yScale), 1, 1); + } + // end creation if we have constructed the last point of enough points + if (last || points.count() == numofpoints) { + m_creationCompleted = true; + last = false; + normRect = Okular::NormalizedRect(rect, xScale, yScale); + } + } + + return rect; + } + + void paint(QPainter *painter, double xScale, double yScale, const QRect & /*clipRect*/) override + { + if (points.count() < 1) { + return; + } + + if (m_block && points.count() == 2) { + const Okular::NormalizedPoint first = points[0]; + const Okular::NormalizedPoint second = points[1]; + // draw a semitransparent block around the 2 points + painter->setPen(m_engineColor); + painter->setBrush(QBrush(m_engineColor.lighter(), Qt::Dense4Pattern)); + painter->drawRect((int)(first.x * (double)xScale), (int)(first.y * (double)yScale), (int)((second.x - first.x) * (double)xScale), (int)((second.y - first.y) * (double)yScale)); + } else { + // draw a polyline that connects the constructed points + painter->setPen(QPen(m_engineColor, 2)); + for (int i = 1; i < points.count(); ++i) { + painter->drawLine((int)(points[i - 1].x * (double)xScale), (int)(points[i - 1].y * (double)yScale), (int)(points[i].x * (double)xScale), (int)(points[i].y * (double)yScale)); + } + painter->drawLine((int)(points.last().x * (double)xScale), (int)(points.last().y * (double)yScale), (int)(movingpoint.x * (double)xScale), (int)(movingpoint.y * (double)yScale)); + } + } + + QList end() override + { + m_creationCompleted = false; + + // find out annotation's description node + if (m_annotElement.isNull()) { + return QList(); + } + + // find out annotation's type + Okular::Annotation *ann = nullptr; + const QString typeString = m_annotElement.attribute(QStringLiteral("type")); + + // create LineAnnotation from path + if (typeString == QLatin1String("Line") || typeString == QLatin1String("Polyline") || typeString == QLatin1String("Polygon")) { + if (points.count() < 2) { + return QList(); + } + + // add note + Okular::LineAnnotation *la = new Okular::LineAnnotation(); + ann = la; + + la->setLinePoints(points); + + if (numofpoints == -1) { + la->setLineClosed(true); + if (m_annotElement.hasAttribute(QStringLiteral("innerColor"))) { + la->setLineInnerColor(QColor(m_annotElement.attribute(QStringLiteral("innerColor")))); + } + } else if (numofpoints == 2) { + if (m_annotElement.hasAttribute(QStringLiteral("leadFwd"))) { + la->setLineLeadingForwardPoint(m_annotElement.attribute(QStringLiteral("leadFwd")).toDouble()); + } + if (m_annotElement.hasAttribute(QStringLiteral("leadBack"))) { + la->setLineLeadingBackwardPoint(m_annotElement.attribute(QStringLiteral("leadBack")).toDouble()); + } + } + if (m_annotElement.hasAttribute(QStringLiteral("startStyle"))) { + la->setLineStartStyle((Okular::LineAnnotation::TermStyle)m_annotElement.attribute(QStringLiteral("startStyle")).toInt()); + } + if (m_annotElement.hasAttribute(QStringLiteral("endStyle"))) { + la->setLineEndStyle((Okular::LineAnnotation::TermStyle)m_annotElement.attribute(QStringLiteral("endStyle")).toInt()); + } + + la->setBoundingRectangle(normRect); + } + + // safety check + if (!ann) { + return QList(); + } + + if (m_annotElement.hasAttribute(QStringLiteral("width"))) { + ann->style().setWidth(m_annotElement.attribute(QStringLiteral("width")).toDouble()); + } + + // set common attributes + ann->style().setColor(m_annotElement.hasAttribute(QStringLiteral("color")) ? m_annotElement.attribute(QStringLiteral("color")) : m_engineColor); + if (m_annotElement.hasAttribute(QStringLiteral("opacity"))) { + ann->style().setOpacity(m_annotElement.attribute(QStringLiteral("opacity"), QStringLiteral("1.0")).toDouble()); + } + // return annotation + + return QList() << ann; + } + +private: + QList points; + Okular::NormalizedPoint newPoint; + Okular::NormalizedPoint movingpoint; + QRect rect; + QRect movingrect; + Okular::NormalizedRect normRect; + bool m_block; + bool last; + int numofpoints; +}; + +/** @short TextSelectorEngine */ +class TextSelectorEngine : public AnnotatorEngine +{ +public: + TextSelectorEngine(const QDomElement &engineElement, PageView *pageView) + : AnnotatorEngine(engineElement) + , m_pageView(pageView) + { + // parse engine specific attributes + } + + QRect event(EventType type, Button button, Modifiers /*modifiers*/, double nX, double nY, double xScale, double yScale, const Okular::Page * /*page*/) override + { + // only proceed if pressing left button + if (button != Left) { + return QRect(); + } + + if (type == Press) { + lastPoint.x = nX; + lastPoint.y = nY; + const QRect oldrect = rect; + rect = QRect(); + return oldrect; + } else if (type == Move) { + if (item()) { + const QPoint selectionStart((int)(lastPoint.x * item()->uncroppedWidth()), (int)(lastPoint.y * item()->uncroppedHeight())); + const QPoint selectionEnd((int)(nX * item()->uncroppedWidth()), (int)(nY * item()->uncroppedHeight())); + selection.reset(); + std::unique_ptr newselection = m_pageView->textSelectionForItem(item(), selectionStart, selectionEnd); + if (newselection && !newselection->isEmpty()) { + const QList geom = newselection->geometry((int)xScale, (int)yScale); + QRect newrect; + for (const QRect &r : geom) { + if (newrect.isNull()) { + newrect = r; + } else { + newrect |= r; + } + } + rect |= newrect; + selection = std::move(newselection); + } + } + } else if (type == Release) { + m_creationCompleted = true; + } + return rect; + } + + void paint(QPainter *painter, double xScale, double yScale, const QRect & /*clipRect*/) override + { + if (selection) { + painter->setPen(Qt::NoPen); + QColor col = m_engineColor; + col.setAlphaF(0.5); + painter->setBrush(col); + for (const Okular::NormalizedRect &r : std::as_const(*selection)) { + painter->drawRect(r.geometry((int)xScale, (int)yScale)); + } + } + } + + QList end() override + { + m_creationCompleted = false; + + // safety checks + if (m_annotElement.isNull() || !selection) { + return QList(); + } + + // find out annotation's type + Okular::Annotation *ann = nullptr; + const QString typeString = m_annotElement.attribute(QStringLiteral("type")); + + Okular::HighlightAnnotation::HighlightType type = Okular::HighlightAnnotation::Highlight; + bool typevalid = false; + // create HighlightAnnotation's from the selected area + if (typeString == QLatin1String("Highlight")) { + type = Okular::HighlightAnnotation::Highlight; + typevalid = true; + } else if (typeString == QLatin1String("Squiggly")) { + type = Okular::HighlightAnnotation::Squiggly; + typevalid = true; + } else if (typeString == QLatin1String("Underline")) { + type = Okular::HighlightAnnotation::Underline; + typevalid = true; + } else if (typeString == QLatin1String("StrikeOut")) { + type = Okular::HighlightAnnotation::StrikeOut; + typevalid = true; + } + if (typevalid) { + Okular::HighlightAnnotation *ha = new Okular::HighlightAnnotation(); + ha->setHighlightType(type); + ha->setBoundingRectangle(Okular::NormalizedRect(rect, item()->uncroppedWidth(), item()->uncroppedHeight())); + for (const Okular::NormalizedRect &r : std::as_const(*selection)) { + Okular::HighlightAnnotation::Quad q; + q.setCapStart(false); + q.setCapEnd(false); + q.setFeather(1.0); + q.setPoint(Okular::NormalizedPoint(r.left, r.bottom), 0); + q.setPoint(Okular::NormalizedPoint(r.right, r.bottom), 1); + q.setPoint(Okular::NormalizedPoint(r.right, r.top), 2); + q.setPoint(Okular::NormalizedPoint(r.left, r.top), 3); + ha->highlightQuads().append(q); + } + ann = ha; + } + + selection.reset(); + + // safety check + if (!ann) { + return QList(); + } + + // set common attributes + ann->style().setColor(m_annotElement.hasAttribute(QStringLiteral("color")) ? m_annotElement.attribute(QStringLiteral("color")) : m_engineColor); + if (m_annotElement.hasAttribute(QStringLiteral("opacity"))) { + ann->style().setOpacity(m_annotElement.attribute(QStringLiteral("opacity"), QStringLiteral("1.0")).toDouble()); + } + + // return annotations + return QList() << ann; + } + + QCursor cursor() const override + { + return Qt::IBeamCursor; + } + +private: + // data + PageView *m_pageView; + // TODO: support more pages + std::unique_ptr selection; + Okular::NormalizedPoint lastPoint; + QRect rect; +}; + +/** @short AnnotationTools*/ +class AnnotationTools +{ +public: + AnnotationTools() + : m_toolsCount(0) + { + } + + void setTools(const QStringList &tools) + { + // Populate m_toolsDefinition + m_toolsCount = 0; + m_toolsDefinition.clear(); + QDomElement root = m_toolsDefinition.createElement(QStringLiteral("root")); + m_toolsDefinition.appendChild(root); + for (const QString &toolXml : tools) { + QDomDocument entryParser; + if (entryParser.setContent(toolXml)) { + root.appendChild(m_toolsDefinition.importNode(entryParser.documentElement(), true)); + m_toolsCount++; + } else { + qCWarning(OkularUiDebug) << "Skipping malformed tool XML in AnnotationTools setting"; + } + } + } + + QStringList toStringList() + { + QStringList tools; + QDomElement toolElement = m_toolsDefinition.documentElement().firstChildElement(); + QString str; + QTextStream stream(&str); + while (!toolElement.isNull()) { + str.clear(); + toolElement.save(stream, -1 /* indent disabled */); + tools << str; + toolElement = toolElement.nextSiblingElement(); + } + return tools; + } + + QDomElement tool(int toolId) + { + QDomElement toolElement = m_toolsDefinition.documentElement().firstChildElement(); + while (!toolElement.isNull() && toolElement.attribute(QStringLiteral("id")).toInt() != toolId) { + toolElement = toolElement.nextSiblingElement(); + } + return toolElement; // can return a null element + } + + void appendTool(QDomElement toolElement) + { + toolElement = toolElement.cloneNode().toElement(); + toolElement.setAttribute(QStringLiteral("id"), ++m_toolsCount); + m_toolsDefinition.documentElement().appendChild(toolElement); + } + + bool updateTool(QDomElement newToolElement, int toolId) + { + QDomElement toolElement = tool(toolId); + if (toolElement.isNull()) { + return false; + } + newToolElement = newToolElement.cloneNode().toElement(); + newToolElement.setAttribute(QStringLiteral("id"), toolId); + QDomNode oldTool = m_toolsDefinition.documentElement().replaceChild(newToolElement, toolElement); + return !oldTool.isNull(); + } + + int findToolId(const QString &type) + { + int toolId = -1; + if (type.isEmpty()) { + return -1; + } + // FIXME: search from left. currently searching from right side as a workaround to avoid matching + // straight line tools to the arrow tool, which is also of type straight-line + QDomElement toolElement = m_toolsDefinition.documentElement().lastChildElement(); + while (!toolElement.isNull() && toolElement.attribute(QStringLiteral("type")) != type) { + toolElement = toolElement.previousSiblingElement(); + } + if (!toolElement.isNull() && toolElement.hasAttribute(QStringLiteral("id"))) { + bool ok; + toolId = toolElement.attribute(QStringLiteral("id")).toInt(&ok); + if (!ok) { + return -1; + } + } + return toolId; + } + +private: + QDomDocument m_toolsDefinition; + int m_toolsCount; +}; + +/** PageViewAnnotator **/ +const int PageViewAnnotator::STAMP_TOOL_ID = 14; + +PageViewAnnotator::PageViewAnnotator(PageView *parent, Okular::Document *storage) + : QObject(parent) + , m_document(storage) + , m_pageView(parent) + , m_actionHandler(nullptr) + , m_engine(nullptr) + , m_builtinToolsDefinition(nullptr) + , m_quickToolsDefinition(nullptr) + , m_continuousMode(true) + , m_constrainRatioAndAngle(false) + , m_signatureMode(false) + , m_lastToolsDefinition(nullptr) + , m_lastToolId(-1) + , m_lockedItem(nullptr) +{ + reparseConfig(); + reparseBuiltinToolsConfig(); + reparseQuickToolsConfig(); + connect(Okular::Settings::self(), &Okular::Settings::builtinAnnotationToolsChanged, this, &PageViewAnnotator::reparseBuiltinToolsConfig); + connect(Okular::Settings::self(), &Okular::Settings::quickAnnotationToolsChanged, this, &PageViewAnnotator::reparseQuickToolsConfig, Qt::QueuedConnection); +} + +void PageViewAnnotator::reparseConfig() +{ + m_continuousMode = Okular::Settings::annotationContinuousMode(); + + if (Okular::Settings::identityAuthor().isEmpty()) { + detachAnnotation(); + } +} + +void PageViewAnnotator::reparseBuiltinToolsConfig() +{ + // Read tool list from configuration. It's a list of XML elements + if (!m_builtinToolsDefinition) { + m_builtinToolsDefinition = new AnnotationTools(); + } + m_builtinToolsDefinition->setTools(Okular::Settings::builtinAnnotationTools()); + + if (m_actionHandler) { + m_actionHandler->reparseBuiltinToolsConfig(); + } +} + +void PageViewAnnotator::reparseQuickToolsConfig() +{ + // Read tool list from configuration. It's a list of XML elements + if (!m_quickToolsDefinition) { + m_quickToolsDefinition = new AnnotationTools(); + } + m_quickToolsDefinition->setTools(Okular::Settings::quickAnnotationTools()); + + if (m_actionHandler) { + m_actionHandler->reparseQuickToolsConfig(); + } +} + +PageViewAnnotator::~PageViewAnnotator() +{ + delete m_engine; + delete m_builtinToolsDefinition; + delete m_quickToolsDefinition; +} + +void PageViewAnnotator::setSignatureMode(bool enabled) +{ + m_signatureMode = enabled; +} + +bool PageViewAnnotator::signatureMode() const +{ + return m_signatureMode; +} + +void PageViewAnnotator::startSigning(SignaturePartUtils::SigningInformation *info) +{ + m_signatureMode = true; +#if HAVE_NEW_SIGNATURE_API + m_engine = new PickPointEngineSignature(info); +#else + m_engine = new PickPointEngineSignature(m_document, m_pageView, info); +#endif +} + +bool PageViewAnnotator::active() const +{ + return (m_engine != nullptr) || m_signatureMode; +} + +bool PageViewAnnotator::annotating() const +{ + return active() && m_lockedItem; +} + +QCursor PageViewAnnotator::cursor() const +{ + return m_engine ? m_engine->cursor() : Qt::CrossCursor; +} + +QRect PageViewAnnotator::performRouteMouseOrTabletEvent(const AnnotatorEngine::EventType eventType, const AnnotatorEngine::Button button, const AnnotatorEngine::Modifiers modifiers, const QPointF pos, PageViewItem *item) +{ + // creationCompleted is intended to be set by event(), handled subsequently by end(), and cleared within end(). + // If it's set here, we recursed for some reason (e.g., stacked event loop). + // Just bail out, all we want to do is already on stack. + if (m_engine && m_engine->creationCompleted()) { + return QRect(); + } + + // if the right mouse button was pressed, we simply do nothing. In this way, we are still editing the annotation + // and so this function will receive and process the right mouse button release event too. If we detach now the annotation tool, + // the release event will be processed by the PageView class which would create the annotation property widget, and we do not want this. + if (button == AnnotatorEngine::Right && eventType == AnnotatorEngine::Press) { + return QRect(); + } else if (button == AnnotatorEngine::Right && eventType == AnnotatorEngine::Release) { + detachAnnotation(); + return QRect(); + } + + // 1. lock engine to current item + if (!m_lockedItem && eventType == AnnotatorEngine::Press) { + m_lockedItem = item; + m_engine->setItem(m_lockedItem); + } + if (!m_lockedItem) { + return QRect(); + } + + // find out normalized mouse coords inside current item + const QRect &itemRect = m_lockedItem->uncroppedGeometry(); + const QPointF eventPos = m_pageView->contentAreaPoint(pos); + const double nX = qBound(0.0, m_lockedItem->absToPageX(eventPos.x()), 1.0); + const double nY = qBound(0.0, m_lockedItem->absToPageY(eventPos.y()), 1.0); + + QRect modifiedRect; + + // 2. use engine to perform operations + const QRect paintRect = m_engine->event(eventType, button, modifiers, nX, nY, itemRect.width(), itemRect.height(), m_lockedItem->page()); + + // 3. update absolute extents rect and send paint event(s) + if (paintRect.isValid()) { + // 3.1. unite old and new painting regions + QRegion compoundRegion(m_lastDrawnRect); + m_lastDrawnRect = paintRect; + m_lastDrawnRect.translate(itemRect.left(), itemRect.top()); + // 3.2. decompose paint region in rects and send paint events + const QRegion rgn = compoundRegion.united(m_lastDrawnRect); + const QPoint areaPos = m_pageView->contentAreaPosition(); + for (const QRect &r : rgn) { + m_pageView->viewport()->update(r.translated(-areaPos)); + } + modifiedRect = compoundRegion.boundingRect() | m_lastDrawnRect; + } + + // 4. if engine has finished, apply Annotation to the page + if (m_engine->creationCompleted()) { + // apply engine data to the Annotation's and reset engine + const QList annotations = m_engine->end(); + // attach the newly filled annotations to the page + for (Okular::Annotation *annotation : annotations) { + if (!annotation) { + continue; + } + + annotation->setCreationDate(QDateTime::currentDateTime()); + annotation->setModificationDate(QDateTime::currentDateTime()); + annotation->setAuthor(Okular::Settings::identityAuthor()); + m_document->addPageAnnotation(m_lockedItem->pageNumber(), annotation); + +#if HAVE_NEW_SIGNATURE_API + if (auto signatureAnnotation = dynamic_cast(annotation)) { + m_pageView->startSigning(signatureAnnotation); + // We cannot undo adding a signature annotation + // clear the undo stack so we don't offer it to the user + m_document->clearHistory(); + } +#endif + + if (annotation->openDialogAfterCreation()) { + m_pageView->openAnnotationWindow(annotation, m_lockedItem->pageNumber()); + } + } + + if (signatureMode()) { + const auto signEngine = static_cast(m_engine); + +#if !HAVE_NEW_SIGNATURE_API + if (signEngine->userWantsToStartOver()) { + auto singingInfo = signEngine->signingInformation(); + delete m_engine; + m_engine = new PickPointEngineSignature(m_document, m_pageView, singingInfo); + return {}; + } else if (signEngine->isAccepted()) { + const QString newFilePath = SignaturePartUtils::getFileNameForNewSignedFile(m_pageView, m_document); + + if (!newFilePath.isEmpty()) { + const std::pair result = static_cast(m_engine)->sign(newFilePath); + switch (result.first) { + case Okular::SigningSuccess: { + Q_EMIT m_pageView->requestOpenNewlySignedFile(newFilePath, m_lockedItem->pageNumber() + 1); + break; + } + case Okular::FieldAlreadySigned: // We should not end up here + case Okular::KeyMissing: // unless the user modified the key store after opening the dialog, this should not happen + case Okular::InternalSigningError: + KMessageBox::detailedError(m_pageView, errorString(result.first, static_cast(result.first)), result.second); + break; + case Okular::GenericSigningError: + KMessageBox::detailedError(m_pageView, errorString(result.first, newFilePath), result.second); + break; + case Okular::UserCancelled: + break; + case Okular::BadPassphrase: + KMessageBox::detailedError(m_pageView, errorString(result.first, {}), result.second); + break; + case Okular::SignatureWriteFailed: + KMessageBox::detailedError(m_pageView, errorString(result.first, newFilePath), result.second); + break; + } + } + // Exit the signature mode. + setSignatureMode(false); + selectBuiltinTool(-1, ShowTip::No); + } +#else + if (signEngine->isAccepted()) { + // Exit the signature mode. + setSignatureMode(false); + selectBuiltinTool(-1, ShowTip::No); + } +#endif + + else if (signEngine->isAborted()) { + // Exit the signature mode. + setSignatureMode(false); + selectBuiltinTool(-1, ShowTip::No); + } + m_continuousMode = false; + } + + if (m_continuousMode) { + selectLastTool(); + } else { + detachAnnotation(); + } + } + + return modifiedRect; +} + +QRect PageViewAnnotator::routeMouseEvent(QMouseEvent *e, PageViewItem *item) +{ + AnnotatorEngine::EventType eventType; + AnnotatorEngine::Button button; + AnnotatorEngine::Modifiers modifiers; + + // figure out the event type and button + AnnotatorEngine::decodeEvent(e, &eventType, &button); + + // Constrain angle if action checked XOR shift button pressed. + modifiers.constrainRatioAndAngle = (bool(constrainRatioAndAngleActive()) != bool(e->modifiers() & Qt::ShiftModifier)); + + return performRouteMouseOrTabletEvent(eventType, button, modifiers, e->position(), item); +} + +QRect PageViewAnnotator::routeTabletEvent(QTabletEvent *e, PageViewItem *item, const QPoint localOriginInGlobal) +{ + // Unlike routeMouseEvent, routeTabletEvent must explicitly ignore events it doesn't care about so that + // the corresponding mouse event will later be delivered. + if (!item) { + e->ignore(); + return QRect(); + } + + AnnotatorEngine::EventType eventType; + AnnotatorEngine::Button button; + AnnotatorEngine::Modifiers modifiers; + + // figure out the event type and button + AnnotatorEngine::decodeEvent(e, &eventType, &button); + + // Constrain angle if action checked XOR shift button pressed. + modifiers.constrainRatioAndAngle = (bool(constrainRatioAndAngleActive()) != bool(e->modifiers() & Qt::ShiftModifier)); + + const QPointF globalPosF = e->globalPosition(); + const QPointF localPosF = globalPosF - localOriginInGlobal; + return performRouteMouseOrTabletEvent(eventType, button, modifiers, localPosF, item); +} + +bool PageViewAnnotator::routeKeyEvent(QKeyEvent *event) +{ + if (event->key() == Qt::Key_Escape) { + detachAnnotation(); + return true; + } + return false; +} + +bool PageViewAnnotator::routePaints(const QRect wantedRect) const +{ + return m_engine && wantedRect.intersects(m_lastDrawnRect) && m_lockedItem; +} + +void PageViewAnnotator::routePaint(QPainter *painter, const QRect paintRect) +{ + // if there's no locked item, then there's no decided place to draw on + if (!m_lockedItem) { + return; + } + +#ifndef NDEBUG + // [DEBUG] draw the paint region if enabled + if (Okular::Settings::debugDrawAnnotationRect()) { + painter->drawRect(paintRect); + } +#endif + // move painter to current itemGeometry rect + const QRect &itemRect = m_lockedItem->uncroppedGeometry(); + painter->save(); + painter->translate(itemRect.topLeft()); + // TODO: Clip annotation painting to cropped page. + + // transform cliprect from absolute to item relative coords + QRect annotRect = paintRect.intersected(m_lastDrawnRect); + annotRect.translate(-itemRect.topLeft()); + + // use current engine for painting (in virtual page coordinates) + m_engine->paint(painter, m_lockedItem->uncroppedWidth(), m_lockedItem->uncroppedHeight(), annotRect); + painter->restore(); +} + +void PageViewAnnotator::selectBuiltinTool(int toolId, ShowTip showTip) +{ + selectTool(m_builtinToolsDefinition, toolId, showTip); +} + +void PageViewAnnotator::selectQuickTool(int toolId) +{ + selectTool(m_quickToolsDefinition, toolId, ShowTip::Yes); +} + +void PageViewAnnotator::selectTool(AnnotationTools *toolsDefinition, int toolId, ShowTip showTip) +{ + // ask for Author's name if not already set + if (toolId > 0 && Okular::Settings::identityAuthor().isEmpty()) { + // get default username from the kdelibs/kdecore/KUser + KUser currentUser; + QString userName = currentUser.property(KUser::FullName).toString(); + // ask the user for confirmation/change + if (userName.isEmpty()) { + bool ok = false; + userName = QInputDialog::getText(m_pageView, i18n("Author name"), i18n("Author name for the annotation:"), QLineEdit::Normal, QString(), &ok); + + if (!ok) { + detachAnnotation(); + return; + } + } + // save the name + Okular::Settings::setIdentityAuthor(userName); + Okular::Settings::self()->save(); + } + + // terminate any previous operation + if (m_engine) { + delete m_engine; + m_engine = nullptr; + } + m_lockedItem = nullptr; + if (m_lastDrawnRect.isValid()) { + m_pageView->viewport()->update(m_lastDrawnRect.translated(-m_pageView->contentAreaPosition())); + m_lastDrawnRect = QRect(); + } + + // store current tool for later usage + m_lastToolId = toolId; + m_lastToolsDefinition = toolsDefinition; + + // handle tool deselection + if (toolId == -1) { + m_pageView->displayMessage(QString()); + m_pageView->updateCursor(); + Q_EMIT toolActive(false); + return; + } + + // for the selected tool create the Engine + QDomElement toolElement = toolsDefinition->tool(toolId); + if (!toolElement.isNull()) { + // parse tool properties + QDomElement engineElement = toolElement.firstChildElement(QStringLiteral("engine")); + if (!engineElement.isNull()) { + // create the AnnotatorEngine + QString type = engineElement.attribute(QStringLiteral("type")); + if (type == QLatin1String("SmoothLine")) { + m_engine = new SmoothPathEngine(engineElement); + } else if (type == QLatin1String("PickPoint")) { + m_engine = new PickPointEngine(m_pageView, engineElement); + } else if (type == QLatin1String("PolyLine")) { + m_engine = new PolyLineEngine(engineElement); + } else if (type == QLatin1String("TextSelector")) { + m_engine = new TextSelectorEngine(engineElement, m_pageView); + } else { + qCWarning(OkularUiDebug).nospace() << "tools.xml: engine type:'" << type << "' is not defined!"; + } + + if (showTip == ShowTip::Yes) { + // display the tooltip + const QString annotType = toolElement.attribute(QStringLiteral("type")); + QString tip; + + if (annotType == QLatin1String("ellipse")) { + tip = i18nc("Annotation tool", "Draw an ellipse (drag to select a zone)"); + } else if (annotType == QLatin1String("highlight")) { + tip = i18nc("Annotation tool", "Highlight text"); + } else if (annotType == QLatin1String("ink")) { + tip = i18nc("Annotation tool", "Draw a freehand line"); + } else if (annotType == QLatin1String("note-inline")) { + tip = i18nc("Annotation tool", "Inline Text Annotation (drag to select a zone)"); + } else if (annotType == QLatin1String("note-linked")) { + tip = i18nc("Annotation tool", "Put a pop-up note"); + } else if (annotType == QLatin1String("polygon")) { + tip = i18nc("Annotation tool", "Draw a polygon (click on the first point to close it)"); + } else if (annotType == QLatin1String("rectangle")) { + tip = i18nc("Annotation tool", "Draw a rectangle"); + } else if (annotType == QLatin1String("squiggly")) { + tip = i18nc("Annotation tool", "Squiggle text"); + } else if (annotType == QLatin1String("stamp")) { + tip = i18nc("Annotation tool", "Put a stamp symbol"); + } else if (annotType == QLatin1String("straight-line")) { + tip = i18nc("Annotation tool", "Draw a straight line"); + } else if (annotType == QLatin1String("strikeout")) { + tip = i18nc("Annotation tool", "Strike out text"); + } else if (annotType == QLatin1String("underline")) { + tip = i18nc("Annotation tool", "Underline text"); + } else if (annotType == QLatin1String("typewriter")) { + tip = i18nc("Annotation tool", "Typewriter Annotation (drag to select a zone)"); + } + + if (!tip.isEmpty()) { + m_pageView->displayMessage(tip, QString(), PageViewMessage::Annotation); + } + } + } + + // consistency warning + if (!m_engine) { + qCWarning(OkularUiDebug) << "tools.xml: couldn't find good engine description. check xml."; + } + + m_pageView->updateCursor(); + } + + Q_EMIT toolActive(true); +} + +void PageViewAnnotator::selectLastTool() +{ + selectTool(m_lastToolsDefinition, m_lastToolId, ShowTip::No); +} + +void PageViewAnnotator::selectStampTool(const QString &stampSymbol) +{ + QDomElement toolElement = builtinTool(STAMP_TOOL_ID); + QDomElement engineElement = toolElement.firstChildElement(QStringLiteral("engine")); + QDomElement annotationElement = engineElement.firstChildElement(QStringLiteral("annotation")); + engineElement.setAttribute(QStringLiteral("hoverIcon"), stampSymbol); + annotationElement.setAttribute(QStringLiteral("icon"), stampSymbol); + saveBuiltinAnnotationTools(); + selectBuiltinTool(STAMP_TOOL_ID, ShowTip::Yes); +} + +void PageViewAnnotator::detachAnnotation() +{ + if (m_lastToolId == -1) { + return; + } + selectBuiltinTool(-1, ShowTip::No); + if (!signatureMode()) { + if (m_actionHandler) { + m_actionHandler->deselectAllAnnotationActions(); + } + } else { + m_pageView->displayMessage(QString()); + setSignatureMode(false); + } +} + +QString PageViewAnnotator::defaultToolName(const QDomElement &toolElement) +{ + const QString annotType = toolElement.attribute(QStringLiteral("type")); + + if (annotType == QLatin1String("ellipse")) { + return i18n("Ellipse"); + } else if (annotType == QLatin1String("highlight")) { + return i18n("Highlighter"); + } else if (annotType == QLatin1String("ink")) { + return i18n("Freehand Line"); + } else if (annotType == QLatin1String("note-inline")) { + return i18n("Inline Note"); + } else if (annotType == QLatin1String("note-linked")) { + return i18n("Pop-up Note"); + } else if (annotType == QLatin1String("polygon")) { + return i18n("Polygon"); + } else if (annotType == QLatin1String("rectangle")) { + return i18n("Rectangle"); + } else if (annotType == QLatin1String("squiggly")) { + return i18n("Squiggle"); + } else if (annotType == QLatin1String("stamp")) { + return i18n("Stamp"); + } else if (annotType == QLatin1String("straight-line")) { + return i18n("Straight Line"); + } else if (annotType == QLatin1String("strikeout")) { + return i18n("Strike out"); + } else if (annotType == QLatin1String("underline")) { + return i18n("Underline"); + } else if (annotType == QLatin1String("typewriter")) { + return i18n("Typewriter"); + } else { + return QString(); + } +} + +QPixmap PageViewAnnotator::makeToolPixmap(const QDomElement &toolElement) +{ + QPixmap pixmap(32 * qApp->devicePixelRatio(), 32 * qApp->devicePixelRatio()); + pixmap.setDevicePixelRatio(qApp->devicePixelRatio()); + const QString annotType = toolElement.attribute(QStringLiteral("type")); + + // Load HiDPI variant on HiDPI screen + QString imageVariant; + if (qApp->devicePixelRatio() > 1.05) { + imageVariant = QStringLiteral("@2x"); + } + + // Load base pixmap. We'll draw on top of it + pixmap.load(QStandardPaths::locate(QStandardPaths::GenericDataLocation, QStringLiteral("okular/pics/tool-base-okular") + imageVariant + QStringLiteral(".png"))); + + /* Parse color, innerColor and icon (if present) */ + QColor engineColor, innerColor, textColor, annotColor; + QString icon; + QDomNodeList engineNodeList = toolElement.elementsByTagName(QStringLiteral("engine")); + if (engineNodeList.size() > 0) { + QDomElement engineEl = engineNodeList.item(0).toElement(); + if (!engineEl.isNull() && engineEl.hasAttribute(QStringLiteral("color"))) { + engineColor = QColor(engineEl.attribute(QStringLiteral("color"))); + } + } + QDomNodeList annotationNodeList = toolElement.elementsByTagName(QStringLiteral("annotation")); + if (annotationNodeList.size() > 0) { + QDomElement annotationEl = annotationNodeList.item(0).toElement(); + if (!annotationEl.isNull()) { + if (annotationEl.hasAttribute(QStringLiteral("color"))) { + annotColor = annotationEl.attribute(QStringLiteral("color")); + } + if (annotationEl.hasAttribute(QStringLiteral("innerColor"))) { + innerColor = QColor(annotationEl.attribute(QStringLiteral("innerColor"))); + } + if (annotationEl.hasAttribute(QStringLiteral("textColor"))) { + textColor = QColor(annotationEl.attribute(QStringLiteral("textColor"))); + } + if (annotationEl.hasAttribute(QStringLiteral("icon"))) { + icon = annotationEl.attribute(QStringLiteral("icon")); + } + } + } + + QPainter p(&pixmap); + + if (annotType == QLatin1String("ellipse")) { + p.setRenderHint(QPainter::Antialiasing); + if (innerColor.isValid()) { + p.setBrush(innerColor); + } + p.setPen(QPen(engineColor, 2)); + p.drawEllipse(2, 7, 21, 14); + } else if (annotType == QLatin1String("highlight")) { + QImage overlay(QStandardPaths::locate(QStandardPaths::GenericDataLocation, QStringLiteral("okular/pics/tool-highlighter-okular-colorizable") + imageVariant + QStringLiteral(".png"))); + QImage colorizedOverlay = overlay; + GuiUtils::colorizeImage(colorizedOverlay, engineColor); + + p.drawImage(QPoint(0, 0), colorizedOverlay); // Trail + p.drawImage(QPoint(0, -32), overlay); // Text + Shadow (uncolorized) + p.drawImage(QPoint(0, -64), colorizedOverlay); // Pen + } else if (annotType == QLatin1String("ink")) { + QImage overlay(QStandardPaths::locate(QStandardPaths::GenericDataLocation, QStringLiteral("okular/pics/tool-ink-okular-colorizable") + imageVariant + QStringLiteral(".png"))); + QImage colorizedOverlay = overlay; + GuiUtils::colorizeImage(colorizedOverlay, engineColor); + + p.drawImage(QPoint(0, 0), colorizedOverlay); // Trail + p.drawImage(QPoint(0, -32), overlay); // Shadow (uncolorized) + p.drawImage(QPoint(0, -64), colorizedOverlay); // Pen + } else if (annotType == QLatin1String("note-inline")) { + QImage overlay(QStandardPaths::locate(QStandardPaths::GenericDataLocation, QStringLiteral("okular/pics/tool-note-inline-okular-colorizable") + imageVariant + QStringLiteral(".png"))); + GuiUtils::colorizeImage(overlay, engineColor); + p.drawImage(QPoint(0, 0), overlay); + } else if (annotType == QLatin1String("note-linked")) { + QImage overlay(QStandardPaths::locate(QStandardPaths::GenericDataLocation, QStringLiteral("okular/pics/tool-note-okular-colorizable") + imageVariant + QStringLiteral(".png"))); + GuiUtils::colorizeImage(overlay, engineColor); + p.drawImage(QPoint(0, 0), overlay); + } else if (annotType == QLatin1String("polygon")) { + QPainterPath path; + path.moveTo(0, 7); + path.lineTo(19, 7); + path.lineTo(19, 14); + path.lineTo(23, 14); + path.lineTo(23, 20); + path.lineTo(0, 20); + if (innerColor.isValid()) { + p.setBrush(innerColor); + } + p.setPen(QPen(engineColor, 1)); + p.drawPath(path); + } else if (annotType == QLatin1String("rectangle")) { + p.setRenderHint(QPainter::Antialiasing); + if (innerColor.isValid()) { + p.setBrush(innerColor); + } + p.setPen(QPen(engineColor, 2)); + p.drawRect(2, 7, 21, 14); + } else if (annotType == QLatin1String("squiggly")) { + QPen pen(engineColor, 1); + pen.setDashPattern(QList() << 1 << 1); + p.setPen(pen); + p.drawLine(1, 13, 16, 13); + p.drawLine(2, 14, 15, 14); + p.drawLine(0, 20, 19, 20); + p.drawLine(1, 21, 18, 21); + } else if (annotType == QLatin1String("stamp")) { + QPixmap stamp = Okular::AnnotationUtils::loadStamp(icon, QSize(16, 16), Qt::IgnoreAspectRatio); + p.setRenderHint(QPainter::Antialiasing); + p.drawPixmap(16, 14, stamp); + } else if (annotType == QLatin1String("straight-line")) { + QPainterPath path; + path.moveTo(1, 8); + path.lineTo(20, 8); + path.lineTo(1, 27); + path.lineTo(20, 27); + p.setRenderHint(QPainter::Antialiasing); + p.setPen(QPen(engineColor, 1)); + p.drawPath(path); // TODO To be discussed: This is not a straight line! + } else if (annotType == QLatin1String("strikeout")) { + p.setPen(QPen(engineColor, 1)); + p.drawLine(1, 10, 16, 10); + p.drawLine(0, 17, 19, 17); + } else if (annotType == QLatin1String("underline")) { + p.setPen(QPen(engineColor, 1)); + p.drawLine(1, 13, 16, 13); + p.drawLine(0, 20, 19, 20); + } else if (annotType == QLatin1String("typewriter")) { + QImage overlay(QStandardPaths::locate(QStandardPaths::GenericDataLocation, QStringLiteral("okular/pics/tool-typewriter-okular-colorizable") + imageVariant + QStringLiteral(".png"))); + GuiUtils::colorizeImage(overlay, textColor); + p.drawImage(QPoint(-2, 2), overlay); + } else { + /* Unrecognized annotation type -- It shouldn't happen */ + p.setPen(QPen(engineColor)); + p.drawText(QPoint(20, 31), QStringLiteral("?")); + } + + return pixmap; +} + +void PageViewAnnotator::setupActions(KActionCollection *ac) +{ + if (!m_actionHandler) { + m_actionHandler = new AnnotationActionHandler(this, ac); + } +} + +void PageViewAnnotator::setupActionsPostGUIActivated() +{ + m_actionHandler->setupAnnotationToolBarVisibilityAction(); +} + +bool PageViewAnnotator::continuousMode() +{ + return m_continuousMode; +} + +void PageViewAnnotator::setContinuousMode(bool enabled) +{ + m_continuousMode = enabled; + Okular::Settings::setAnnotationContinuousMode(enabled); + Okular::Settings::self()->save(); +} + +bool PageViewAnnotator::constrainRatioAndAngleActive() +{ + return m_constrainRatioAndAngle; +} + +void PageViewAnnotator::setConstrainRatioAndAngle(bool enabled) +{ + m_constrainRatioAndAngle = enabled; +} + +void PageViewAnnotator::setToolsEnabled(bool enabled) +{ + if (m_actionHandler) { + m_actionHandler->setToolsEnabled(enabled); + } +} + +void PageViewAnnotator::setTextToolsEnabled(bool enabled) +{ + if (m_actionHandler) { + m_actionHandler->setTextToolsEnabled(enabled); + } +} + +void PageViewAnnotator::saveBuiltinAnnotationTools() +{ + Okular::Settings::setBuiltinAnnotationTools(m_builtinToolsDefinition->toStringList()); + Okular::Settings::self()->save(); +} + +QDomElement PageViewAnnotator::builtinTool(int toolId) +{ + return m_builtinToolsDefinition->tool(toolId); +} + +QDomElement PageViewAnnotator::quickTool(int toolId) +{ + return m_quickToolsDefinition->tool(toolId); +} + +QDomElement PageViewAnnotator::currentEngineElement() +{ + return m_builtinToolsDefinition->tool(m_lastToolId).firstChildElement(QStringLiteral("engine")); +} + +QDomElement PageViewAnnotator::currentAnnotationElement() +{ + return currentEngineElement().firstChildElement(QStringLiteral("annotation")); +} + +void PageViewAnnotator::setAnnotationWidth(double width) +{ + currentAnnotationElement().setAttribute(QStringLiteral("width"), QString::number(width)); + saveBuiltinAnnotationTools(); + selectLastTool(); +} + +void PageViewAnnotator::setAnnotationColor(const QColor &color) +{ + currentEngineElement().setAttribute(QStringLiteral("color"), color.name(QColor::HexRgb)); + QDomElement annotationElement = currentAnnotationElement(); + QString annotType = annotationElement.attribute(QStringLiteral("type")); + if (annotType == QLatin1String("Typewriter")) { + annotationElement.setAttribute(QStringLiteral("textColor"), color.name(QColor::HexRgb)); + } else { + annotationElement.setAttribute(QStringLiteral("color"), color.name(QColor::HexRgb)); + } + saveBuiltinAnnotationTools(); + selectLastTool(); +} + +void PageViewAnnotator::setAnnotationInnerColor(const QColor &color) +{ + QDomElement annotationElement = currentAnnotationElement(); + if (color == Qt::transparent) { + annotationElement.removeAttribute(QStringLiteral("innerColor")); + } else { + annotationElement.setAttribute(QStringLiteral("innerColor"), color.name(QColor::HexRgb)); + } + saveBuiltinAnnotationTools(); + selectLastTool(); +} + +void PageViewAnnotator::setAnnotationOpacity(double opacity) +{ + currentAnnotationElement().setAttribute(QStringLiteral("opacity"), QString::number(opacity)); + saveBuiltinAnnotationTools(); + selectLastTool(); +} + +void PageViewAnnotator::setAnnotationFont(const QFont &font) +{ + currentAnnotationElement().setAttribute(QStringLiteral("font"), font.toString()); + saveBuiltinAnnotationTools(); + selectLastTool(); +} + +void PageViewAnnotator::addToQuickAnnotations() +{ + QDomElement sourceToolElement = m_builtinToolsDefinition->tool(m_lastToolId); + if (sourceToolElement.isNull()) { + return; + } + + // set custom name for quick annotation + bool ok = false; + QString itemText = QInputDialog::getText(m_pageView, i18n("Add favorite annotation"), i18n("Custom annotation name:"), QLineEdit::Normal, defaultToolName(sourceToolElement), &ok); + if (!ok) { + return; + } + + QDomElement toolElement = sourceToolElement.cloneNode().toElement(); + // store name attribute only if the user specified a customized name + if (!itemText.isEmpty()) { + toolElement.setAttribute(QStringLiteral("name"), itemText); + } + m_quickToolsDefinition->appendTool(toolElement); + Okular::Settings::setQuickAnnotationTools(m_quickToolsDefinition->toStringList()); + Okular::Settings::self()->save(); +} + +void PageViewAnnotator::slotAdvancedSettings() +{ + QDomElement toolElement = m_builtinToolsDefinition->tool(m_lastToolId); + + EditAnnotToolDialog t(nullptr, toolElement, true); + if (t.exec() != QDialog::Accepted) { + return; + } + + QDomElement toolElementUpdated = t.toolXml().documentElement(); + int toolId = toolElement.attribute(QStringLiteral("id")).toInt(); + m_builtinToolsDefinition->updateTool(toolElementUpdated, toolId); + saveBuiltinAnnotationTools(); + selectLastTool(); +} + +/* kate: replace-tabs on; indent-width 4; */ diff --git a/part/pageviewannotator.h b/part/pageviewannotator.h new file mode 100644 index 0000000..2728636 --- /dev/null +++ b/part/pageviewannotator.h @@ -0,0 +1,188 @@ +/* + SPDX-FileCopyrightText: 2005 Enrico Ros + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_PAGEVIEWANNOTATOR_H_ +#define _OKULAR_PAGEVIEWANNOTATOR_H_ + +#include +#include + +#include + +#include "annotationtools.h" +#include "core/annotations.h" +#include "pageviewutils.h" +#include "signaturepartutils.h" + +class QKeyEvent; +class QMouseEvent; +class QPainter; +class AnnotationActionHandler; + +namespace Okular +{ +class Document; +} + +// engines are defined and implemented in the cpp +class AnnotatorEngine; +class AnnotationTools; +class PageView; + +/** + * @short PageView object devoted to annotation creation/handling. + * + * PageViewAnnotator is the okular class used for visually creating annotations. + * It uses internal 'engines' for interacting with user events and attaches + * the newly created annotation to the document when the creation is complete. + * In the meanwhile all PageView events (actually mouse/paint ones) are routed + * to this class that performs a rough visual representation of what the + * annotation will become when finished. + * + * m_builtinToolsDefinition is a AnnotationTools object that wraps a DOM object that + * contains Annotations/Engine association for the items placed in the toolbar. + * The XML is parsed after selecting a toolbar item, in which case an Ann is + * initialized with the values in the XML and an engine is created to handle + * that annotation. m_builtinToolsDefinition is created in reparseConfig according to + * user configuration. m_builtinToolsDefinition is updated (and saved to disk) (1) each + * time a property of an annotation (color, font, etc) is changed by the user, + * and (2) each time a "quick annotation" is selected, in which case the properties + * of the selected quick annotation are written over those of the corresponding + * builtin tool + */ +class PageViewAnnotator : public QObject +{ + Q_OBJECT +public: + static const int STAMP_TOOL_ID; + + PageViewAnnotator(PageView *parent, Okular::Document *storage); + ~PageViewAnnotator() override; + + // methods used when creating the annotation + // @return Is a tool currently selected? + bool active() const; + // @return Are we currently annotating (using the selected tool)? + bool annotating() const; + + void setSignatureMode(bool enabled); + bool signatureMode() const; + + void startSigning(SignaturePartUtils::SigningInformation *info); + + // returns the preferred cursor for the current tool. call this only + // if active() == true + QCursor cursor() const; + + QRect routeMouseEvent(QMouseEvent *event, PageViewItem *item); + QRect routeTabletEvent(QTabletEvent *event, PageViewItem *item, const QPoint localOriginInGlobal); + QRect performRouteMouseOrTabletEvent(const AnnotatorEngine::EventType eventType, const AnnotatorEngine::Button button, const AnnotatorEngine::Modifiers modifiers, const QPointF pos, PageViewItem *item); + bool routeKeyEvent(QKeyEvent *event); + bool routePaints(const QRect wantedRect) const; + void routePaint(QPainter *painter, const QRect paintRect); + + void reparseConfig(); + + static QString defaultToolName(const QDomElement &toolElement); + static QPixmap makeToolPixmap(const QDomElement &toolElement); + + // methods related to the annotation actions + void setupActions(KActionCollection *ac); + // setup those actions that first require the GUI is fully created + void setupActionsPostGUIActivated(); + // @return Is continuous mode active (pin annotation)? + bool continuousMode(); + /** + * State of constrain ratio and angle action. + * While annotating, this value is XOR-ed with the Shift modifier. + */ + bool constrainRatioAndAngleActive(); + // enable/disable the annotation actions + void setToolsEnabled(bool enabled); + // enable/disable the text-selection annotation actions + void setTextToolsEnabled(bool enabled); + + enum class ShowTip { Yes, No }; + // selects the active tool + void selectBuiltinTool(int toolId, ShowTip showTip); + // selects a stamp tool and sets the stamp symbol + void selectStampTool(const QString &stampSymbol); + // selects the active quick tool + void selectQuickTool(int toolId); + // selects the last used tool + void selectLastTool(); + // deselects the tool and uncheck all the annotation actions + void detachAnnotation(); + + // returns the builtin annotation tool with the given Id + QDomElement builtinTool(int toolId); + // returns the quick annotation tool with the given Id + QDomElement quickTool(int toolId); + + // methods that write the properties + void setAnnotationWidth(double width); + void setAnnotationColor(const QColor &color); + void setAnnotationInnerColor(const QColor &color); + void setAnnotationOpacity(double opacity); + void setAnnotationFont(const QFont &font); + +public Q_SLOTS: + void setContinuousMode(bool enabled); + /** + * State of constrain ratio and angle action. + * While annotating, this value is XOR-ed with the Shift modifier. + */ + void setConstrainRatioAndAngle(bool enabled); + void addToQuickAnnotations(); + void slotAdvancedSettings(); + +Q_SIGNALS: + /** + * This signal is emitted whenever an annotation tool is activated or all the tools get deactivated + */ + void toolActive(bool active); + /** + * Requests opening of a newly signed file + * \param filePath path to signed file + * \param pageNumber page to show (1-indexed) + */ + void requestOpenNewlySignedFile(const QString &filePath, int pageNumber); + +private: + void reparseBuiltinToolsConfig(); + void reparseQuickToolsConfig(); + // save the builtin annotation tools to Okular settings + void saveBuiltinAnnotationTools(); + // selects the active tool + void selectTool(AnnotationTools *toolsDefinition, int toolId, ShowTip showTip); + // returns the engine QDomElement of the the currently active tool + QDomElement currentEngineElement(); + // returns the annotation QDomElement of the the currently active tool + QDomElement currentAnnotationElement(); + + // global class pointers + Okular::Document *m_document; + PageView *m_pageView; + AnnotationActionHandler *m_actionHandler; + AnnotatorEngine *m_engine; + AnnotationTools *m_builtinToolsDefinition; + AnnotationTools *m_quickToolsDefinition; + bool m_continuousMode; + bool m_constrainRatioAndAngle; + bool m_signatureMode; + + // creation related variables + AnnotationTools *m_lastToolsDefinition; + int m_lastToolId; + QRect m_lastDrawnRect; + PageViewItem *m_lockedItem; + // selected annotation name + // QString m_selectedAnnotationName; +}; + +#endif + +/* kate: replace-tabs on; indent-width 4; */ diff --git a/part/pageviewmouseannotation.cpp b/part/pageviewmouseannotation.cpp new file mode 100644 index 0000000..acd67e4 --- /dev/null +++ b/part/pageviewmouseannotation.cpp @@ -0,0 +1,665 @@ +/* + SPDX-FileCopyrightText: 2017 Tobias Deiminger + SPDX-FileCopyrightText: 2004-2005 Enrico Ros + SPDX-FileCopyrightText: 2004-2006 Albert Astals Cid + + Work sponsored by the LiMux project of the city of Munich: + SPDX-FileCopyrightText: 2017 Klarälvdalens Datakonsult AB a KDAB Group company + + With portions of code from kpdf/kpdf_pagewidget.cc by: + SPDX-FileCopyrightText: 2002 Wilco Greven + SPDX-FileCopyrightText: 2003 Christophe Devriese + SPDX-FileCopyrightText: 2003 Laurent Montel + SPDX-FileCopyrightText: 2003 Dirk Mueller + SPDX-FileCopyrightText: 2004 James Ots + SPDX-FileCopyrightText: 2011 Jiri Baum - NICTA + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "pageviewmouseannotation.h" + +#include +#include +#include + +#include "core/document.h" +#include "core/page.h" +#include "gui/guiutils.h" +#include "pageview.h" +#include "videowidget.h" + +static const int handleSize = 10; +static const int handleSizeHalf = handleSize / 2; + +bool AnnotationDescription::isValid() const +{ + return (annotation != nullptr); +} + +bool AnnotationDescription::isContainedInPage(const Okular::Document *document, int pageNumber) const +{ + if (AnnotationDescription::pageNumber == pageNumber) { + /* Don't access page via pageViewItem here. pageViewItem might have been deleted. */ + const Okular::Page *page = document->page(pageNumber); + if (page != nullptr) { + if (page->annotations().contains(annotation)) { + return true; + } + } + } + return false; +} + +void AnnotationDescription::invalidate() +{ + annotation = nullptr; + pageViewItem = nullptr; + pageNumber = -1; +} + +AnnotationDescription::AnnotationDescription(PageViewItem *newPageViewItem, const QPoint eventPos) +{ + const Okular::AnnotationObjectRect *annObjRect = nullptr; + if (newPageViewItem) { + const QRect &uncroppedPage = newPageViewItem->uncroppedGeometry(); + /* find out normalized mouse coords inside current item (nX and nY will be in the range of 0..1). */ + const double nX = newPageViewItem->absToPageX(eventPos.x()); + const double nY = newPageViewItem->absToPageY(eventPos.y()); + annObjRect = static_cast(newPageViewItem->page()->objectRect(Okular::ObjectRect::OAnnotation, nX, nY, uncroppedPage.width(), uncroppedPage.height())); + } + + if (annObjRect) { + annotation = annObjRect->annotation(); + pageViewItem = newPageViewItem; + pageNumber = pageViewItem->pageNumber(); + } else { + invalidate(); + } +} + +MouseAnnotation::MouseAnnotation(PageView *parent, Okular::Document *document) + : QObject(parent) + , m_document(document) + , m_pageView(parent) + , m_state(StateInactive) + , m_handle(RH_None) +{ + m_resizeHandleList << RH_Left << RH_Right << RH_Top << RH_Bottom << RH_TopLeft << RH_TopRight << RH_BottomLeft << RH_BottomRight; +} + +MouseAnnotation::~MouseAnnotation() +{ +} + +void MouseAnnotation::routeMousePressEvent(PageViewItem *pageViewItem, const QPoint eventPos) +{ + /* Is there a selected annotation? */ + if (m_focusedAnnotation.isValid()) { + m_mousePosition = eventPos - pageViewItem->uncroppedGeometry().topLeft(); + m_handle = getHandleAt(m_mousePosition, m_focusedAnnotation); + if (m_handle != RH_None) { + /* Returning here means, the selection-rectangle gets control, unconditionally. + * Even if it overlaps with another annotation. */ + return; + } + } + + AnnotationDescription ad(pageViewItem, eventPos); + /* qDebug() << "routeMousePressEvent: eventPos = " << eventPos; */ + if (ad.isValid()) { + if (ad.annotation->subType() == Okular::Annotation::AMovie || ad.annotation->subType() == Okular::Annotation::AScreen || ad.annotation->subType() == Okular::Annotation::AFileAttachment || + ad.annotation->subType() == Okular::Annotation::ARichMedia) { + /* qDebug() << "routeMousePressEvent: trigger action for AMovie/AScreen/AFileAttachment"; */ + processAction(ad); + } else { + /* qDebug() << "routeMousePressEvent: select for modification"; */ + m_mousePosition = eventPos - pageViewItem->uncroppedGeometry().topLeft(); + m_handle = getHandleAt(m_mousePosition, ad); + if (m_handle != RH_None) { + setState(StateFocused, ad); + } + } + } else { + /* qDebug() << "routeMousePressEvent: no annotation under mouse, enter StateInactive"; */ + setState(StateInactive, ad); + } +} + +void MouseAnnotation::routeMouseReleaseEvent() +{ + if (isModified()) { + /* qDebug() << "routeMouseReleaseEvent: finish command"; */ + finishCommand(); + setState(StateFocused, m_focusedAnnotation); + } + /* + else + { + qDebug() << "routeMouseReleaseEvent: ignore"; + } + */ +} + +void MouseAnnotation::routeMouseMoveEvent(PageViewItem *pageViewItem, const QPoint eventPos, bool leftButtonPressed) +{ + if (!pageViewItem) { + /* qDebug() << "routeMouseMoveEvent: no pageViewItem provided, ignore"; */ + return; + } + + if (leftButtonPressed) { + if (isFocused()) { + /* On first move event after annotation is selected, enter modification state */ + if (m_handle == RH_Content) { + /* qDebug() << "routeMouseMoveEvent: handle " << m_handle << ", enter StateMoving"; */ + setState(StateMoving, m_focusedAnnotation); + } else if (m_handle != RH_None) { + /* qDebug() << "routeMouseMoveEvent: handle " << m_handle << ", enter StateResizing"; */ + setState(StateResizing, m_focusedAnnotation); + } + } + + if (isModified()) { + /* qDebug() << "routeMouseMoveEvent: perform command, delta " << eventPos - m_mousePosition; */ + updateViewport(m_focusedAnnotation); + performCommand(eventPos); + m_mousePosition = eventPos - pageViewItem->uncroppedGeometry().topLeft(); + updateViewport(m_focusedAnnotation); + } + } else { + if (isFocused()) { + /* qDebug() << "routeMouseMoveEvent: update cursor for focused annotation, new eventPos " << eventPos; */ + m_mousePosition = eventPos - pageViewItem->uncroppedGeometry().topLeft(); + m_handle = getHandleAt(m_mousePosition, m_focusedAnnotation); + m_pageView->updateCursor(); + } + + /* We get here quite frequently. */ + const AnnotationDescription ad(pageViewItem, eventPos); + m_mousePosition = eventPos - pageViewItem->uncroppedGeometry().topLeft(); + if (ad.isValid()) { + if (!(m_mouseOverAnnotation == ad)) { + /* qDebug() << "routeMouseMoveEvent: Annotation under mouse (subtype " << ad.annotation->subType() << ", flags " << ad.annotation->flags() << ")"; */ + m_mouseOverAnnotation = ad; + m_pageView->updateCursor(); + } + } else { + if (!(m_mouseOverAnnotation == ad)) { + /* qDebug() << "routeMouseMoveEvent: Annotation disappeared under mouse."; */ + m_mouseOverAnnotation.invalidate(); + m_pageView->updateCursor(); + } + } + } +} + +void MouseAnnotation::routeKeyPressEvent(const QKeyEvent *e) +{ + switch (e->key()) { + case Qt::Key_Escape: + cancel(); + break; + case Qt::Key_Delete: + if (m_focusedAnnotation.isValid()) { + AnnotationDescription adToBeDeleted = m_focusedAnnotation; + cancel(); + m_document->removePageAnnotation(adToBeDeleted.pageNumber, adToBeDeleted.annotation); + } + break; + } +} + +void MouseAnnotation::routeTooltipEvent(const QHelpEvent *helpEvent) +{ + /* qDebug() << "MouseAnnotation::routeTooltipEvent, event " << helpEvent; */ + if (m_mouseOverAnnotation.isValid() && m_mouseOverAnnotation.annotation->subType() != Okular::Annotation::AWidget) { + /* get boundingRect in uncropped page coordinates */ + QRect boundingRect = Okular::AnnotationUtils::annotationGeometry(m_mouseOverAnnotation.annotation, m_mouseOverAnnotation.pageViewItem->uncroppedWidth(), m_mouseOverAnnotation.pageViewItem->uncroppedHeight()); + + /* uncropped page to content area */ + boundingRect.translate(m_mouseOverAnnotation.pageViewItem->uncroppedGeometry().topLeft()); + /* content area to viewport */ + boundingRect.translate(-m_pageView->contentAreaPosition()); + + const QString tip = GuiUtils::prettyToolTip(m_mouseOverAnnotation.annotation); + QToolTip::showText(helpEvent->globalPos(), tip, m_pageView->viewport(), boundingRect); + } +} + +void MouseAnnotation::routePaint(QPainter *painter, const QRect paintRect) +{ + /* QPainter draws relative to the origin of uncropped viewport. */ + static const QColor borderColor = QColor::fromHsvF(0, 0, 1.0); + static const QColor fillColor = QColor::fromHsvF(0, 0, 0.75, 0.66); + + if (!isFocused()) { + return; + } + /* + * Get annotation bounding rectangle in uncropped page coordinates. + * Distinction between AnnotationUtils::annotationGeometry() and AnnotationObjectRect::boundingRect() is, + * that boundingRect would enlarge the QRect to a minimum size of 14 x 14. + * This is useful for getting focus an a very small annotation, + * but for drawing and modification we want the real size. + */ + const QRect boundingRect = Okular::AnnotationUtils::annotationGeometry(m_focusedAnnotation.annotation, m_focusedAnnotation.pageViewItem->uncroppedWidth(), m_focusedAnnotation.pageViewItem->uncroppedHeight()); + + if (!paintRect.intersects(boundingRect.translated(m_focusedAnnotation.pageViewItem->uncroppedGeometry().topLeft()).adjusted(-handleSizeHalf, -handleSizeHalf, handleSizeHalf, handleSizeHalf))) { + /* Our selection rectangle is not in a region that needs to be (re-)drawn. */ + return; + } + + painter->save(); + painter->translate(m_focusedAnnotation.pageViewItem->uncroppedGeometry().topLeft()); + painter->setPen(QPen(fillColor, 2, Qt::SolidLine, Qt::SquareCap, Qt::BevelJoin)); + painter->drawRect(boundingRect); + if (m_focusedAnnotation.annotation->canBeResized()) { + painter->setPen(borderColor); + painter->setBrush(fillColor); + for (const ResizeHandle &handle : std::as_const(m_resizeHandleList)) { + QRect rect = getHandleRect(handle, m_focusedAnnotation); + painter->drawRect(rect); + } + } + painter->restore(); +} + +Okular::Annotation *MouseAnnotation::annotation() const +{ + if (m_focusedAnnotation.isValid()) { + return m_focusedAnnotation.annotation; + } + return nullptr; +} + +bool MouseAnnotation::isActive() const +{ + return (m_state != StateInactive); +} + +bool MouseAnnotation::isMouseOver() const +{ + return (m_mouseOverAnnotation.isValid() || m_handle != RH_None); +} + +bool MouseAnnotation::isFocused() const +{ + return (m_state == StateFocused); +} + +bool MouseAnnotation::isMoved() const +{ + return (m_state == StateMoving); +} + +bool MouseAnnotation::isResized() const +{ + return (m_state == StateResizing); +} + +bool MouseAnnotation::isModified() const +{ + return (m_state == StateMoving || m_state == StateResizing); +} + +Qt::CursorShape MouseAnnotation::cursor() const +{ + if (m_handle != RH_None) { + if (isMoved()) { + return Qt::SizeAllCursor; + } else if (isFocused() || isResized()) { + switch (m_handle) { + case RH_Top: + return Qt::SizeVerCursor; + case RH_TopRight: + return Qt::SizeBDiagCursor; + case RH_Right: + return Qt::SizeHorCursor; + case RH_BottomRight: + return Qt::SizeFDiagCursor; + case RH_Bottom: + return Qt::SizeVerCursor; + case RH_BottomLeft: + return Qt::SizeBDiagCursor; + case RH_Left: + return Qt::SizeHorCursor; + case RH_TopLeft: + return Qt::SizeFDiagCursor; + case RH_Content: + return Qt::SizeAllCursor; + default: + return Qt::OpenHandCursor; + } + } + } else if (m_mouseOverAnnotation.isValid()) { + /* Mouse is over annotation, but the annotation is not yet selected. */ + if (m_mouseOverAnnotation.annotation->subType() == Okular::Annotation::AMovie) { + return Qt::PointingHandCursor; + } else if (m_mouseOverAnnotation.annotation->subType() == Okular::Annotation::ARichMedia) { + return Qt::PointingHandCursor; + } else if (m_mouseOverAnnotation.annotation->subType() == Okular::Annotation::AScreen) { + if (GuiUtils::renditionMovieFromScreenAnnotation(static_cast(m_mouseOverAnnotation.annotation)) != nullptr) { + return Qt::PointingHandCursor; + } + } else if (m_mouseOverAnnotation.annotation->subType() == Okular::Annotation::AFileAttachment) { + return Qt::PointingHandCursor; + } else { + return Qt::ArrowCursor; + } + } + + /* There's no none cursor, so we still have to return something. */ + return Qt::ArrowCursor; +} + +void MouseAnnotation::notifyAnnotationChanged(int pageNumber) +{ + const AnnotationDescription emptyAd; + + if (m_focusedAnnotation.isValid() && !m_focusedAnnotation.isContainedInPage(m_document, pageNumber)) { + setState(StateInactive, emptyAd); + } + + if (m_mouseOverAnnotation.isValid() && !m_mouseOverAnnotation.isContainedInPage(m_document, pageNumber)) { + m_mouseOverAnnotation = emptyAd; + m_pageView->updateCursor(); + } +} + +void MouseAnnotation::updateAnnotationPointers() +{ + if (m_focusedAnnotation.annotation) { + m_focusedAnnotation.annotation = m_document->page(m_focusedAnnotation.pageNumber)->annotation(m_focusedAnnotation.annotation->uniqueName()); + } + + if (m_mouseOverAnnotation.annotation) { + m_mouseOverAnnotation.annotation = m_document->page(m_mouseOverAnnotation.pageNumber)->annotation(m_mouseOverAnnotation.annotation->uniqueName()); + } +} + +void MouseAnnotation::cancel() +{ + if (isActive()) { + finishCommand(); + setState(StateInactive, m_focusedAnnotation); + } +} + +void MouseAnnotation::reset() +{ + cancel(); + m_focusedAnnotation.invalidate(); + m_mouseOverAnnotation.invalidate(); +} + +/* Handle state changes for the focused annotation. */ +void MouseAnnotation::setState(MouseAnnotationState state, const AnnotationDescription &ad) +{ + /* qDebug() << "setState: requested " << state; */ + if (m_focusedAnnotation.isValid()) { + /* If there was a annotation before, request also repaint for the previous area. */ + updateViewport(m_focusedAnnotation); + } + + if (!ad.isValid()) { + /* qDebug() << "No annotation provided, forcing state inactive." << state; */ + state = StateInactive; + } else if ((state == StateMoving && !ad.annotation->canBeMoved()) || (state == StateResizing && !ad.annotation->canBeResized())) { + /* qDebug() << "Annotation does not support requested state, forcing state selected." << state; */ + state = StateInactive; + } + + switch (state) { + case StateMoving: + m_focusedAnnotation = ad; + m_focusedAnnotation.annotation->setFlags(m_focusedAnnotation.annotation->flags() | Okular::Annotation::BeingMoved); + updateViewport(m_focusedAnnotation); + break; + case StateResizing: + m_focusedAnnotation = ad; + m_focusedAnnotation.annotation->setFlags(m_focusedAnnotation.annotation->flags() | Okular::Annotation::BeingResized); + updateViewport(m_focusedAnnotation); + break; + case StateFocused: + m_focusedAnnotation = ad; + m_focusedAnnotation.annotation->setFlags(m_focusedAnnotation.annotation->flags() & ~(Okular::Annotation::BeingMoved | Okular::Annotation::BeingResized)); + updateViewport(m_focusedAnnotation); + break; + case StateInactive: + default: + if (m_focusedAnnotation.isValid()) { + m_focusedAnnotation.annotation->setFlags(m_focusedAnnotation.annotation->flags() & ~(Okular::Annotation::BeingMoved | Okular::Annotation::BeingResized)); + } + m_focusedAnnotation.invalidate(); + m_handle = RH_None; + } + + /* qDebug() << "setState: enter " << state; */ + m_state = state; + m_pageView->updateCursor(); +} + +/* Get the rectangular boundary of the given annotation, enlarged for space needed by resize handles. + * Returns a QRect in page view item coordinates. */ +QRect MouseAnnotation::getFullBoundingRect(const AnnotationDescription &ad) const +{ + QRect boundingRect; + if (ad.isValid()) { + boundingRect = Okular::AnnotationUtils::annotationGeometry(ad.annotation, ad.pageViewItem->uncroppedWidth(), ad.pageViewItem->uncroppedHeight()); + boundingRect = boundingRect.adjusted(-handleSizeHalf, -handleSizeHalf, handleSizeHalf, handleSizeHalf); + } + return boundingRect; +} + +/* Apply the command determined by m_state to the currently focused annotation. */ +void MouseAnnotation::performCommand(const QPoint newPos) +{ + const QRect &pageViewItemRect = m_focusedAnnotation.pageViewItem->uncroppedGeometry(); + QPointF mouseDelta(newPos - pageViewItemRect.topLeft() - m_mousePosition); + QPointF normalizedRotatedMouseDelta(rotateInRect(QPointF(mouseDelta.x() / pageViewItemRect.width(), mouseDelta.y() / pageViewItemRect.height()), m_focusedAnnotation.pageViewItem->page()->rotation())); + + if (isMoved()) { + Okular::NormalizedPoint delta(normalizedRotatedMouseDelta.x(), normalizedRotatedMouseDelta.y()); + const Okular::NormalizedRect annotRect = m_focusedAnnotation.annotation->boundingRectangle(); + + // if moving annot to the left && delta.x is big enough to move annot outside the page + if (delta.x < 0 && (annotRect.left + delta.x) < 0) { + delta.x = -annotRect.left; // update delta.x to move annot only to the left edge of the page + } + // similar checks for right, top and bottom + if (delta.x > 0 && (annotRect.right + delta.x) > 1) { + delta.x = 1 - annotRect.right; + } + if (delta.y < 0 && (annotRect.top + delta.y) < 0) { + delta.y = -annotRect.top; + } + if (delta.y > 0 && (annotRect.bottom + delta.y) > 1) { + delta.y = 1 - annotRect.bottom; + } + m_document->translatePageAnnotation(m_focusedAnnotation.pageNumber, m_focusedAnnotation.annotation, delta); + + } else if (isResized()) { + QPointF delta1, delta2; + handleToAdjust(normalizedRotatedMouseDelta, delta1, delta2, m_handle, m_focusedAnnotation.pageViewItem->page()->rotation()); + m_document->adjustPageAnnotation(m_focusedAnnotation.pageNumber, m_focusedAnnotation.annotation, Okular::NormalizedPoint(delta1.x(), delta1.y()), Okular::NormalizedPoint(delta2.x(), delta2.y())); + } +} + +/* Finalize a command in progress for the currently focused annotation. */ +void MouseAnnotation::finishCommand() +{ + /* + * Note: + * Translate-/resizePageAnnotation causes PopplerAnnotationProxy::notifyModification, + * where modify flag needs to be already cleared. So it is important to call + * setFlags before translatePageAnnotation-/adjustPageAnnotation. + */ + if (isMoved()) { + m_focusedAnnotation.annotation->setFlags(m_focusedAnnotation.annotation->flags() & ~Okular::Annotation::BeingMoved); + m_document->translatePageAnnotation(m_focusedAnnotation.pageNumber, m_focusedAnnotation.annotation, Okular::NormalizedPoint(0.0, 0.0)); + } else if (isResized()) { + m_focusedAnnotation.annotation->setFlags(m_focusedAnnotation.annotation->flags() & ~Okular::Annotation::BeingResized); + m_document->adjustPageAnnotation(m_focusedAnnotation.pageNumber, m_focusedAnnotation.annotation, Okular::NormalizedPoint(0.0, 0.0), Okular::NormalizedPoint(0.0, 0.0)); + } +} + +/* Tell viewport widget that the rectangular of the given annotation needs to be repainted. */ +void MouseAnnotation::updateViewport(const AnnotationDescription &ad) const +{ + const QRect &changedPageViewItemRect = getFullBoundingRect(ad); + if (changedPageViewItemRect.isValid()) { + m_pageView->viewport()->update(changedPageViewItemRect.translated(ad.pageViewItem->uncroppedGeometry().topLeft()).translated(-m_pageView->contentAreaPosition())); + } +} + +/* eventPos: Mouse position in uncropped page coordinates. + ad: The annotation to get the handle for. */ +MouseAnnotation::ResizeHandle MouseAnnotation::getHandleAt(const QPoint eventPos, const AnnotationDescription &ad) const +{ + ResizeHandle selected = RH_None; + + if (ad.annotation->canBeResized()) { + for (const ResizeHandle &handle : m_resizeHandleList) { + const QRect rect = getHandleRect(handle, ad); + if (rect.contains(eventPos)) { + selected |= handle; + } + } + + /* + * Handles may overlap when selection is very small. + * Then it can happen that cursor is over more than one handles, + * and therefore maybe more than two flags are set. + * Favor one handle in that case. + */ + if ((selected & RH_BottomRight) == RH_BottomRight) { + return RH_BottomRight; + } + if ((selected & RH_TopRight) == RH_TopRight) { + return RH_TopRight; + } + if ((selected & RH_TopLeft) == RH_TopLeft) { + return RH_TopLeft; + } + if ((selected & RH_BottomLeft) == RH_BottomLeft) { + return RH_BottomLeft; + } + } + + if (selected == RH_None && ad.annotation->canBeMoved()) { + const QRect boundingRect = Okular::AnnotationUtils::annotationGeometry(ad.annotation, ad.pageViewItem->uncroppedWidth(), ad.pageViewItem->uncroppedHeight()); + if (boundingRect.contains(eventPos)) { + return RH_Content; + } + } + + return selected; +} + +/* Get the rectangle for a specified resizie handle. */ +QRect MouseAnnotation::getHandleRect(ResizeHandle handle, const AnnotationDescription &ad) const +{ + const QRect boundingRect = Okular::AnnotationUtils::annotationGeometry(ad.annotation, ad.pageViewItem->uncroppedWidth(), ad.pageViewItem->uncroppedHeight()); + int left, top; + + if (handle & RH_Top) { + top = boundingRect.top() - handleSizeHalf; + } else if (handle & RH_Bottom) { + top = boundingRect.bottom() - handleSizeHalf; + } else { + top = boundingRect.top() + boundingRect.height() / 2 - handleSizeHalf; + } + + if (handle & RH_Left) { + left = boundingRect.left() - handleSizeHalf; + } else if (handle & RH_Right) { + left = boundingRect.right() - handleSizeHalf; + } else { + left = boundingRect.left() + boundingRect.width() / 2 - handleSizeHalf; + } + + return QRect(left, top, handleSize, handleSize); +} + +/* Convert a resize handle delta into two adjust delta coordinates. */ +void MouseAnnotation::handleToAdjust(const QPointF dIn, QPointF &dOut1, QPointF &dOut2, MouseAnnotation::ResizeHandle handle, Okular::Rotation rotation) +{ + const MouseAnnotation::ResizeHandle rotatedHandle = MouseAnnotation::rotateHandle(handle, rotation); + dOut1.rx() = (rotatedHandle & MouseAnnotation::RH_Left) ? dIn.x() : 0; + dOut1.ry() = (rotatedHandle & MouseAnnotation::RH_Top) ? dIn.y() : 0; + dOut2.rx() = (rotatedHandle & MouseAnnotation::RH_Right) ? dIn.x() : 0; + dOut2.ry() = (rotatedHandle & MouseAnnotation::RH_Bottom) ? dIn.y() : 0; +} + +QPointF MouseAnnotation::rotateInRect(const QPointF rotated, Okular::Rotation rotation) +{ + QPointF ret; + + switch (rotation) { + case Okular::Rotation90: + ret = QPointF(rotated.y(), -rotated.x()); + break; + case Okular::Rotation180: + ret = QPointF(-rotated.x(), -rotated.y()); + break; + case Okular::Rotation270: + ret = QPointF(-rotated.y(), rotated.x()); + break; + case Okular::Rotation0: /* no modifications */ + default: /* other cases */ + ret = rotated; + } + + return ret; +} + +MouseAnnotation::ResizeHandle MouseAnnotation::rotateHandle(MouseAnnotation::ResizeHandle handle, Okular::Rotation rotation) +{ + unsigned int rotatedHandle = 0; + switch (rotation) { + case Okular::Rotation90: + /* bit rotation: #1 => #4, #2 => #1, #3 => #2, #4 => #3 */ + rotatedHandle = (handle << 3 | handle >> (4 - 3)) & RH_AllHandles; + break; + case Okular::Rotation180: + /* bit rotation: #1 => #3, #2 => #4, #3 => #1, #4 => #2 */ + rotatedHandle = (handle << 2 | handle >> (4 - 2)) & RH_AllHandles; + break; + case Okular::Rotation270: + /* bit rotation: #1 => #2, #2 => #3, #3 => #4, #4 => #1 */ + rotatedHandle = (handle << 1 | handle >> (4 - 1)) & RH_AllHandles; + break; + case Okular::Rotation0: /* no modifications */ + default: /* other cases */ + rotatedHandle = handle; + break; + } + return (MouseAnnotation::ResizeHandle)rotatedHandle; +} + +/* Start according action for AMovie/ARichMedia/AScreen/AFileAttachment. + * It was formerly (before mouse annotation refactoring) called on mouse release event. + * Now it's called on mouse press. Should we keep the former behavior? */ +void MouseAnnotation::processAction(const AnnotationDescription &ad) +{ + if (ad.isValid()) { + Okular::Annotation *ann = ad.annotation; + PageViewItem *pageItem = ad.pageViewItem; + + if (ann->subType() == Okular::Annotation::AMovie) { + VideoWidget *vw = pageItem->videoWidgets().value(static_cast(ann)->movie()); + vw->show(); + vw->play(); + } else if (ann->subType() == Okular::Annotation::ARichMedia) { + VideoWidget *vw = pageItem->videoWidgets().value(static_cast(ann)->movie()); + vw->show(); + vw->play(); + } else if (ann->subType() == Okular::Annotation::AScreen) { + m_document->processAction(static_cast(ann)->action()); + } else if (ann->subType() == Okular::Annotation::AFileAttachment) { + const Okular::FileAttachmentAnnotation *fileAttachAnnot = static_cast(ann); + GuiUtils::saveEmbeddedFile(fileAttachAnnot->embeddedFile(), m_pageView); + } + } +} diff --git a/part/pageviewmouseannotation.h b/part/pageviewmouseannotation.h new file mode 100644 index 0000000..39c8fee --- /dev/null +++ b/part/pageviewmouseannotation.h @@ -0,0 +1,172 @@ +/* + SPDX-FileCopyrightText: 2017 Tobias Deiminger + SPDX-FileCopyrightText: 2004-2005 Enrico Ros + SPDX-FileCopyrightText: 2004-2006 Albert Astals Cid + + Work sponsored by the LiMux project of the city of Munich: + SPDX-FileCopyrightText: 2017 Klarälvdalens Datakonsult AB a KDAB Group company + + With portions of code from kpdf/kpdf_pagewidget.cc by: + SPDX-FileCopyrightText: 2002 Wilco Greven + SPDX-FileCopyrightText: 2003 Christophe Devriese + SPDX-FileCopyrightText: 2003 Laurent Montel + SPDX-FileCopyrightText: 2003 Dirk Mueller + SPDX-FileCopyrightText: 2004 James Ots + SPDX-FileCopyrightText: 2011 Jiri Baum - NICTA + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_PAGEVIEWMOUSEANNOTATION_H_ +#define _OKULAR_PAGEVIEWMOUSEANNOTATION_H_ + +#include + +#include "core/annotations.h" +#include "pageviewutils.h" + +class QHelpEvent; +class QPainter; +class QPoint; +class PageView; +class PageViewItem; +class AnnotationDescription; + +namespace Okular +{ +class Document; +} + +/* This class shall help to keep data for one annotation consistent. */ +class AnnotationDescription +{ +public: + AnnotationDescription() + : annotation(nullptr) + , pageViewItem(nullptr) + , pageNumber(-1) + { + } + AnnotationDescription(PageViewItem *newPageViewItem, const QPoint eventPos); + bool isValid() const; + bool isContainedInPage(const Okular::Document *document, int pageNumber) const; + void invalidate(); + bool operator==(const AnnotationDescription &rhs) const + { + return (annotation == rhs.annotation); + } + Okular::Annotation *annotation; + PageViewItem *pageViewItem; + int pageNumber; +}; + +/** + * @short Handle UI for annotation interactions, like moving, resizing and triggering actions. + * + * An object of this class tracks which annotation is currently under the mouse cursor. + * Some annotation types can be focused in order to move or resize them. + * State is determined from mouse and keyboard events, which are forwarded from the parent PageView object. + * Move and resize actions are dispatched to the Document object. + */ +class MouseAnnotation : public QObject +{ + Q_OBJECT + +public: + MouseAnnotation(PageView *parent, Okular::Document *document); + ~MouseAnnotation() override; + + /* Process a mouse press event. eventPos: Mouse position in content area coordinates. */ + void routeMousePressEvent(PageViewItem *pageViewItem, const QPoint eventPos); + + /* Process a mouse release event. */ + void routeMouseReleaseEvent(); + + /* Process a mouse move event. eventPos: Mouse position in content area coordinates. */ + void routeMouseMoveEvent(PageViewItem *pageViewItem, const QPoint eventPos, bool leftButtonPressed); + + /* Process a key event. */ + void routeKeyPressEvent(const QKeyEvent *e); + + /* Process a tooltip event. eventPos: Mouse position in content area coordinates. */ + void routeTooltipEvent(const QHelpEvent *helpEvent); + + /* Process a paint event. */ + void routePaint(QPainter *painter, const QRect paintRect); + + /* Cancel the current selection or action, if any. */ + void cancel(); + + /* Reset to initial state. Cancel current action and relinquish references to PageViewItem widgets. */ + void reset(); + + Okular::Annotation *annotation() const; + + /* Return true, if MouseAnnotation demands control for a mouse click on the current cursor position. */ + bool isMouseOver() const; + + bool isActive() const; + + bool isFocused() const; + + bool isMoved() const; + + bool isResized() const; + + bool isModified() const; + + Qt::CursorShape cursor() const; + + /* Forward DocumentObserver::notifyPageChanged to this method. */ + void notifyAnnotationChanged(int pageNumber); + + /* Forward DocumentObserver::notifySetup to this method. */ + void updateAnnotationPointers(); + + enum MouseAnnotationState { StateInactive, StateFocused, StateMoving, StateResizing }; + + enum ResizeHandleFlag { + RH_None = 0, + RH_Top = 1, + RH_Right = 2, + RH_Bottom = 4, + RH_Left = 8, + RH_TopLeft = RH_Top | RH_Left, + RH_BottomLeft = RH_Bottom | RH_Left, + RH_TopRight = RH_Top | RH_Right, + RH_BottomRight = RH_Bottom | RH_Right, + RH_Content = 16, + RH_AllHandles = RH_Top | RH_Right | RH_Bottom | RH_Left + }; + Q_DECLARE_FLAGS(ResizeHandle, ResizeHandleFlag) + +private: + void setState(MouseAnnotationState state, const AnnotationDescription &ad); + QRect getFullBoundingRect(const AnnotationDescription &ad) const; + void performCommand(const QPoint newPos); + void finishCommand(); + void updateViewport(const AnnotationDescription &ad) const; + ResizeHandle getHandleAt(const QPoint eventPos, const AnnotationDescription &ad) const; + QRect getHandleRect(ResizeHandle handle, const AnnotationDescription &ad) const; + static void handleToAdjust(const QPointF dIn, QPointF &dOut1, QPointF &dOut2, MouseAnnotation::ResizeHandle handle, Okular::Rotation rotation); + static QPointF rotateInRect(const QPointF rotated, Okular::Rotation rotation); + static ResizeHandle rotateHandle(ResizeHandle handle, Okular::Rotation rotation); + void processAction(const AnnotationDescription &ad); + + /* We often have to delegate to the document model and our parent widget. */ + Okular::Document *m_document; + PageView *m_pageView; + + /* Remember which annotation is currently focused/modified. */ + MouseAnnotationState m_state; + MouseAnnotation::ResizeHandle m_handle; + AnnotationDescription m_focusedAnnotation; + + /* Mouse tracking, always kept up to date with the latest mouse position and annotation under mouse cursor. */ + AnnotationDescription m_mouseOverAnnotation; + QPoint m_mousePosition; // in page view item coordinates + + QList m_resizeHandleList; +}; + +#endif diff --git a/part/pageviewutils.cpp b/part/pageviewutils.cpp new file mode 100644 index 0000000..82b391e --- /dev/null +++ b/part/pageviewutils.cpp @@ -0,0 +1,385 @@ +/* + SPDX-FileCopyrightText: 2004-2005 Enrico Ros + + Work sponsored by the LiMux project of the city of Munich: + SPDX-FileCopyrightText: 2017 Klarälvdalens Datakonsult AB a KDAB Group company + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "pageviewutils.h" + +// qt/kde includes +#include +#include +#include +#include + +// local includes +#include "core/form.h" +#include "core/page.h" +#include "formwidgets.h" +#include "settings.h" +#include "videowidget.h" + +/*********************/ +/** PageViewItem */ +/*********************/ + +PageViewItem::PageViewItem(const Okular::Page *page) + : m_page(page) + , m_zoomFactor(1.0) + , m_visible(true) + , m_formsVisible(false) + , m_crop(0., 0., 1., 1.) +{ +} + +PageViewItem::~PageViewItem() +{ + qDeleteAll(m_formWidgets); + qDeleteAll(m_videoWidgets); +} + +const Okular::Page *PageViewItem::page() const +{ + return m_page; +} + +int PageViewItem::pageNumber() const +{ + return m_page->number(); +} + +const QRect &PageViewItem::croppedGeometry() const +{ + return m_croppedGeometry; +} + +int PageViewItem::croppedWidth() const +{ + return m_croppedGeometry.width(); +} + +int PageViewItem::croppedHeight() const +{ + return m_croppedGeometry.height(); +} + +const QRect &PageViewItem::uncroppedGeometry() const +{ + return m_uncroppedGeometry; +} + +int PageViewItem::uncroppedWidth() const +{ + return m_uncroppedGeometry.width(); +} + +int PageViewItem::uncroppedHeight() const +{ + return m_uncroppedGeometry.height(); +} + +const Okular::NormalizedRect &PageViewItem::crop() const +{ + return m_crop; +} + +double PageViewItem::zoomFactor() const +{ + return m_zoomFactor; +} + +double PageViewItem::absToPageX(double absX) const +{ + return (absX - m_uncroppedGeometry.left()) / m_uncroppedGeometry.width(); +} + +double PageViewItem::absToPageY(double absY) const +{ + return (absY - m_uncroppedGeometry.top()) / m_uncroppedGeometry.height(); +} + +bool PageViewItem::isVisible() const +{ + return m_visible; +} + +QSet &PageViewItem::formWidgets() +{ + return m_formWidgets; +} + +QHash &PageViewItem::videoWidgets() +{ + return m_videoWidgets; +} + +void PageViewItem::setWHZC(int w, int h, double z, const Okular::NormalizedRect &c) +{ + m_croppedGeometry.setWidth(w); + m_croppedGeometry.setHeight(h); + m_zoomFactor = z; + m_crop = c; + m_uncroppedGeometry.setWidth(qRound(w / (c.right - c.left))); + m_uncroppedGeometry.setHeight(qRound(h / (c.bottom - c.top))); + for (FormWidgetIface *fwi : std::as_const(m_formWidgets)) { + Okular::NormalizedRect r = fwi->rect(); + fwi->setWidthHeight(qRound(fabs(r.right - r.left) * m_uncroppedGeometry.width()), qRound(fabs(r.bottom - r.top) * m_uncroppedGeometry.height())); + } + for (VideoWidget *vw : std::as_const(m_videoWidgets)) { + const Okular::NormalizedRect r = vw->normGeometry(); + vw->resize(qRound(fabs(r.right - r.left) * m_uncroppedGeometry.width()), qRound(fabs(r.bottom - r.top) * m_uncroppedGeometry.height())); + } +} + +void PageViewItem::moveTo(int x, int y) +// Assumes setWHZC() has already been called +{ + m_croppedGeometry.moveLeft(x); + m_croppedGeometry.moveTop(y); + m_uncroppedGeometry.moveLeft(qRound(x - m_crop.left * m_uncroppedGeometry.width())); + m_uncroppedGeometry.moveTop(qRound(y - m_crop.top * m_uncroppedGeometry.height())); + QSet::iterator it = m_formWidgets.begin(), itEnd = m_formWidgets.end(); + for (; it != itEnd; ++it) { + Okular::NormalizedRect r = (*it)->rect(); + (*it)->moveTo(qRound(x + m_uncroppedGeometry.width() * r.left) + 1, qRound(y + m_uncroppedGeometry.height() * r.top) + 1); + } + for (VideoWidget *vw : std::as_const(m_videoWidgets)) { + const Okular::NormalizedRect r = vw->normGeometry(); + vw->move(qRound(x + m_uncroppedGeometry.width() * r.left) + 1, qRound(y + m_uncroppedGeometry.height() * r.top) + 1); + } +} + +void PageViewItem::setVisible(bool visible) +{ + setFormWidgetsVisible(visible && m_formsVisible); + m_visible = visible; +} + +void PageViewItem::invalidate() +{ + m_croppedGeometry.setRect(0, 0, 0, 0); + m_uncroppedGeometry.setRect(0, 0, 0, 0); +} + +bool PageViewItem::setFormWidgetsVisible(bool visible) +{ + m_formsVisible = visible; + + if (!m_visible) { + return false; + } + + bool somehadfocus = false; + QSet::iterator it = m_formWidgets.begin(), itEnd = m_formWidgets.end(); + for (; it != itEnd; ++it) { + bool hadfocus = (*it)->setVisibility(visible && (*it)->formField()->isVisible() && FormWidgetsController::shouldFormWidgetBeShown((*it)->formField())); + somehadfocus = somehadfocus || hadfocus; + } + return somehadfocus; +} + +void PageViewItem::reloadFormWidgetsState() +{ + for (FormWidgetIface *fwi : std::as_const(m_formWidgets)) { + fwi->setVisibility(fwi->formField()->isVisible() && FormWidgetsController::shouldFormWidgetBeShown(fwi->formField())); + } +} + +/*********************/ +/** PageViewMessage */ +/*********************/ + +PageViewMessage::PageViewMessage(QWidget *parent) + : QWidget(parent) + , m_timer(nullptr) + , m_lineSpacing(0) +{ + setObjectName(QStringLiteral("pageViewMessage")); + setFocusPolicy(Qt::NoFocus); + // if the layout is LtR, we can safely place it in the right position + if (layoutDirection() == Qt::LeftToRight) { + move(10, 10); + } + resize(0, 0); + hide(); +} + +void PageViewMessage::display(const QString &message, const QString &details, Icon icon, int durationMs) +// give Caesar what belongs to Caesar: code taken from Amarok's osd.h/.cpp +// "redde (reddite, pl.) cesari quae sunt cesaris", just btw. :) +// The code has been heavily modified since then. +{ + if (!Okular::Settings::showOSD()) { + hide(); + return; + } + + // set text + m_message = message; + m_details = details; + // reset vars + m_lineSpacing = 0; + + // load icon (if set) + m_symbol = QIcon(); + if (icon != None) { + switch (icon) { + case Annotation: + m_symbol = QIcon::fromTheme(QStringLiteral("draw-freehand")); + break; + case Find: + m_symbol = QIcon::fromTheme(QStringLiteral("zoom-original")); + break; + case Error: + m_symbol = QIcon::fromTheme(QStringLiteral("dialog-error")); + break; + case Warning: + m_symbol = QIcon::fromTheme(QStringLiteral("dialog-warning")); + break; + default: + m_symbol = QIcon::fromTheme(QStringLiteral("dialog-information")); + break; + } + } + + computeSizeAndResize(); + // show widget and schedule a repaint + show(); + update(); + + // close the message window after given mS + if (durationMs > 0) { + if (!m_timer) { + m_timer = new QTimer(this); + m_timer->setSingleShot(true); + connect(m_timer, &QTimer::timeout, this, &PageViewMessage::hide); + } + m_timer->start(durationMs); + } else if (m_timer) { + m_timer->stop(); + } + + qobject_cast(parentWidget())->viewport()->installEventFilter(this); +} + +QRect PageViewMessage::computeTextRect(const QString &message, int extra_width) const +// Return the QRect which embeds the text +{ + int charSize = fontMetrics().averageCharWidth(); + /* width of the viewport, minus 20 (~ size removed by further resizing), + minus the extra size (usually the icon width), minus (a bit empirical) + twice the mean width of a character to ensure that the bounding box is + really smaller than the container. + */ + const int boundingWidth = qobject_cast(parentWidget())->viewport()->width() - 20 - (extra_width > 0 ? 2 + extra_width : 0) - 2 * charSize; + QRect textRect = fontMetrics().boundingRect(0, 0, boundingWidth, 0, Qt::AlignLeft | Qt::AlignTop | Qt::TextWordWrap, message); + textRect.translate(-textRect.left(), -textRect.top()); + textRect.adjust(0, 0, 2, 2); + + return textRect; +} + +void PageViewMessage::computeSizeAndResize() +{ + const auto symbolSize = !m_symbol.isNull() ? style()->pixelMetric(QStyle::PM_SmallIconSize) : 0; + + // determine text rectangle + const QRect textRect = computeTextRect(m_message, symbolSize); + int width = textRect.width(), height = textRect.height(); + + if (!m_details.isEmpty()) { + // determine details text rectangle + const QRect detailsRect = computeTextRect(m_details, symbolSize); + width = qMax(width, detailsRect.width()); + height += detailsRect.height(); + + // plus add a ~60% line spacing + m_lineSpacing = static_cast(fontMetrics().height() * 0.6); + height += m_lineSpacing; + } + + // update geometry with icon information + if (!m_symbol.isNull()) { + width += 2 + symbolSize; + height = qMax(height, symbolSize); + } + + // resize widget + resize(QRect(0, 0, width + 10, height + 8).size()); + + // if the layout is RtL, we can move it to the right place only after we + // know how much size it will take + if (layoutDirection() == Qt::RightToLeft) { + move(parentWidget()->width() - geometry().width() - 10 - 1, 10); + } +} + +bool PageViewMessage::eventFilter(QObject *obj, QEvent *event) +{ + /* if the parent object (scroll area) resizes, the message should + resize as well */ + if (event->type() == QEvent::Resize) { + QResizeEvent *resizeEvent = static_cast(event); + if (resizeEvent->oldSize() != resizeEvent->size()) { + computeSizeAndResize(); + } + } + // standard event processing + return QObject::eventFilter(obj, event); +} + +void PageViewMessage::paintEvent(QPaintEvent * /* e */) +{ + const auto symbolSize = !m_symbol.isNull() ? style()->pixelMetric(QStyle::PM_SmallIconSize) : 0; + const QRect textRect = computeTextRect(m_message, symbolSize); + + QRect detailsRect; + if (!m_details.isEmpty()) { + detailsRect = computeTextRect(m_details, symbolSize); + } + + int textXOffset = 0, + // add 2 to account for the reduced drawRoundedRect later + textYOffset = (geometry().height() - textRect.height() - detailsRect.height() - m_lineSpacing + 2) / 2, iconXOffset = 0, iconYOffset = !m_symbol.isNull() ? (geometry().height() - symbolSize) / 2 : 0, shadowOffset = 1; + + if (layoutDirection() == Qt::RightToLeft) { + iconXOffset = 2 + textRect.width(); + } else { + textXOffset = 2 + symbolSize; + } + + // draw background + QPainter painter(this); + painter.setRenderHint(QPainter::Antialiasing, true); + painter.setPen(Qt::black); + painter.setBrush(palette().color(QPalette::Window)); + painter.translate(0.5, 0.5); + painter.drawRoundedRect(1, 1, width() - 2, height() - 2, 3, 3); + + // draw icon if present + if (!m_symbol.isNull()) { + painter.drawPixmap(5 + iconXOffset, iconYOffset, m_symbol.pixmap(symbolSize)); + } + + const int xStartPoint = 5 + textXOffset; + const int yStartPoint = textYOffset; + const int textDrawingFlags = Qt::AlignLeft | Qt::AlignTop | Qt::TextWordWrap; + + // draw text + painter.setPen(palette().color(QPalette::WindowText)); + painter.drawText(xStartPoint, yStartPoint, textRect.width(), textRect.height(), textDrawingFlags, m_message); + if (!m_details.isEmpty()) { + painter.drawText(xStartPoint + shadowOffset, yStartPoint + textRect.height() + m_lineSpacing, textRect.width(), detailsRect.height(), textDrawingFlags, m_details); + } +} + +void PageViewMessage::mousePressEvent(QMouseEvent * /*e*/) +{ + if (m_timer) { + m_timer->stop(); + } + hide(); +} diff --git a/part/pageviewutils.h b/part/pageviewutils.h new file mode 100644 index 0000000..12ced51 --- /dev/null +++ b/part/pageviewutils.h @@ -0,0 +1,126 @@ +/* + SPDX-FileCopyrightText: 2004-2005 Enrico Ros + + Work sponsored by the LiMux project of the city of Munich: + SPDX-FileCopyrightText: 2017 Klarälvdalens Datakonsult AB a KDAB Group company + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _PAGEVIEW_UTILS_H_ +#define _PAGEVIEW_UTILS_H_ + +#include +#include +#include +#include + +#include "core/area.h" + +class QTimer; +class FormWidgetIface; +class PageView; +class VideoWidget; + +namespace Okular +{ +class Movie; +class Page; +} + +/** + * @short PageViewItem represents graphically a page into the PageView. + * + * It has methods for settings Item's geometry and other visual properties such + * as the individual zoom factor. + */ +class PageViewItem +{ +public: + explicit PageViewItem(const Okular::Page *page); + ~PageViewItem(); + + PageViewItem(const PageViewItem &) = delete; + PageViewItem &operator=(const PageViewItem &) = delete; + + const Okular::Page *page() const; + int pageNumber() const; + double zoomFactor() const; + bool isVisible() const; + QSet &formWidgets(); + QHash &videoWidgets(); + + /* The page is cropped as follows: */ + const Okular::NormalizedRect &crop() const; + + /* Real geometry into which the cropped page is rendered: */ + const QRect &croppedGeometry() const; + int croppedWidth() const; + int croppedHeight() const; + + /* "Uncropped" geometry: + * If the whole page was rendered into the uncropped geometry then the + * cropped page would be rendered into the real geometry. + * (Hence, uncropped always contains cropped, and they are equal only if + * the page is uncropped.) This is just for convenience in calculations. + */ + const QRect &uncroppedGeometry() const; + int uncroppedWidth() const; + int uncroppedHeight() const; + + /* Convert absolute geometry coordinates to normalized [0,1] page coordinates: */ + double absToPageX(double absX) const; + double absToPageY(double absY) const; + + void setWHZC(int w, int h, double zoom, const Okular::NormalizedRect &c); + void moveTo(int x, int y); + void setVisible(bool visible); + void invalidate(); + bool setFormWidgetsVisible(bool visible); + void reloadFormWidgetsState(); + +private: + const Okular::Page *m_page; + double m_zoomFactor; + bool m_visible; + bool m_formsVisible; + QRect m_croppedGeometry; + QRect m_uncroppedGeometry; + Okular::NormalizedRect m_crop; + QSet m_formWidgets; + QHash m_videoWidgets; +}; + +/** + * @short A widget that displays messages in the top-left corner. + * + * This is a widget with thin border and rounded corners that displays a given + * text along as an icon. It's meant to be used for displaying messages to the + * user by placing this above other widgets. + */ +class PageViewMessage : public QWidget +{ + Q_OBJECT + +public: + explicit PageViewMessage(QWidget *parent); + + enum Icon { None, Info, Warning, Error, Find, Annotation }; + void display(const QString &message, const QString &details = QString(), Icon icon = Info, int durationMs = 4000); + +protected: + bool eventFilter(QObject *obj, QEvent *event) override; + void paintEvent(QPaintEvent *e) override; + void mousePressEvent(QMouseEvent *e) override; + +private: + QRect computeTextRect(const QString &message, int extra_width) const; + void computeSizeAndResize(); + QString m_message; + QString m_details; + QIcon m_symbol; + QTimer *m_timer; + int m_lineSpacing; +}; + +#endif diff --git a/part/part-viewermode.rc b/part/part-viewermode.rc new file mode 100644 index 0000000..0edda79 --- /dev/null +++ b/part/part-viewermode.rc @@ -0,0 +1,73 @@ + + + + + + &File + + + + &Settings + + + + + &Help + + + + + + + + + + + + + + + + + &Orientation + + + + + + + + + + + + + + + + + + &Bookmarks + + + + + + + + + + + + +Viewer Toolbar + + + + + + + + + + diff --git a/part/part.cpp b/part/part.cpp new file mode 100644 index 0000000..38fce3c --- /dev/null +++ b/part/part.cpp @@ -0,0 +1,3916 @@ +/* + SPDX-FileCopyrightText: 2002 Wilco Greven + SPDX-FileCopyrightText: 2002 Chris Cheney + SPDX-FileCopyrightText: 2002 Malcolm Hunter + SPDX-FileCopyrightText: 2003-2004 Christophe Devriese + SPDX-FileCopyrightText: 2003 Daniel Molkentin + SPDX-FileCopyrightText: 2003 Andy Goossens + SPDX-FileCopyrightText: 2003 Dirk Mueller + SPDX-FileCopyrightText: 2003 Laurent Montel + SPDX-FileCopyrightText: 2004 Dominique Devriese + SPDX-FileCopyrightText: 2004 Christoph Cullmann + SPDX-FileCopyrightText: 2004 Henrique Pinto + SPDX-FileCopyrightText: 2004 Waldo Bastian + SPDX-FileCopyrightText: 2004-2008 Albert Astals Cid + SPDX-FileCopyrightText: 2004 Antti Markus + + Work sponsored by the LiMux project of the city of Munich: + SPDX-FileCopyrightText: 2017 Klarälvdalens Datakonsult AB a KDAB Group company + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "part.h" + +#include "config-okular.h" + +// qt/kde includes +#include +#include +#if HAVE_DBUS +#include +#endif // HAVE_DBUS +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#if HAVE_KWALLET +#include +#endif +#include +#include + +#if HAVE_PURPOSE +#include +#include +#include +#endif + +// local includes +#include "aboutdata.h" +#include "bookmarklist.h" +#include "core/action.h" +#include "core/annotations.h" +#include "core/bookmarkmanager.h" +#include "core/document_p.h" +#include "core/form.h" +#include "core/generator.h" +#include "core/page.h" +#include "core/printoptionswidget.h" +#include "drawingtoolactions.h" +#include "embeddedfilesdialog.h" +#include "extensions.h" +#include "fileprinterpreview.h" +#include "findbar.h" +#include "gui/signatureguiutils.h" +#include "layers.h" +#include "minibar.h" +#include "okmenutitle.h" +#include "pagesizelabel.h" +#include "pageview.h" +#include "preferencesdialog.h" +#include "presentationwidget.h" +#include "propertiesdialog.h" +#include "searchwidget.h" +#include "settings.h" +#include "side_reviews.h" +#include "sidebar.h" +#include "signaturepanel.h" +#include "thumbnaillist.h" +#include "toc.h" + +#include +#include + +#ifdef OKULAR_KEEP_FILE_OPEN +class FileKeeper +{ +public: + FileKeeper() + : m_handle(nullptr) + { + } + + ~FileKeeper() + { + } + + void open(const QString &path) + { + if (!m_handle) + m_handle = std::fopen(QFile::encodeName(path).constData(), "r"); + } + + void close() + { + if (m_handle) { + int ret = std::fclose(m_handle); + Q_UNUSED(ret) + m_handle = nullptr; + } + } + + QTemporaryFile *copyToTemporary() const + { + if (!m_handle) + return nullptr; + + QTemporaryFile *retFile = new QTemporaryFile; + retFile->open(); + + std::rewind(m_handle); + do { + int c = std::fgetc(m_handle); + if (c == EOF) + break; + if (!retFile->putChar((char)c)) + break; + } while (!feof(m_handle)); + + retFile->flush(); + + return retFile; + } + +private: + std::FILE *m_handle; +}; +#endif + +K_PLUGIN_FACTORY_WITH_JSON(OkularPartFactory, "okular_part.json", registerPlugin();) + +static QAction *actionForExportFormat(const Okular::ExportFormat &format, QObject *parent = Q_NULLPTR) +{ + QAction *act = new QAction(format.description(), parent); + if (!format.icon().isNull()) { + act->setIcon(format.icon()); + } + return act; +} + +static KCompressionDevice::CompressionType compressionTypeFor(const QString &mime_to_check) +{ + // The compressedMimeMap is here in case you have a very old shared mime database + // that doesn't have inheritance info for things like gzeps, etc + // Otherwise the "is()" calls below are just good enough + static QHash compressedMimeMap; + static bool supportBzip = false; + static bool supportXz = false; + static bool supportZstd = false; + + const QString app_gzip(QStringLiteral("application/x-gzip")); + const QString app_bzip(QStringLiteral("application/x-bzip")); + const QString app_xz(QStringLiteral("application/x-xz")); + const QString app_zstd(QStringLiteral("application/zstd")); + if (compressedMimeMap.isEmpty()) { + std::unique_ptr f; + compressedMimeMap[QStringLiteral("image/x-gzeps")] = KCompressionDevice::GZip; + // check we can read bzip2-compressed files + f.reset(KCompressionDevice::filterForCompressionType(KCompressionDevice::BZip2)); + if (f.get()) { + supportBzip = true; + compressedMimeMap[QStringLiteral("application/x-bzpdf")] = KCompressionDevice::BZip2; + compressedMimeMap[QStringLiteral("application/x-bzpostscript")] = KCompressionDevice::BZip2; + compressedMimeMap[QStringLiteral("application/x-bzdvi")] = KCompressionDevice::BZip2; + compressedMimeMap[QStringLiteral("image/x-bzeps")] = KCompressionDevice::BZip2; + } + // check if we can read XZ-compressed files + f.reset(KCompressionDevice::filterForCompressionType(KCompressionDevice::Xz)); + if (f.get()) { + supportXz = true; + } + // check if we can read zstd-compressed files + f.reset(KCompressionDevice::filterForCompressionType(KCompressionDevice::Zstd)); + if (f.get()) { + supportZstd = true; + } + } + QHash::const_iterator it = compressedMimeMap.constFind(mime_to_check); + if (it != compressedMimeMap.constEnd()) { + return it.value(); + } + + QMimeDatabase db; + QMimeType mime = db.mimeTypeForName(mime_to_check); + if (mime.isValid()) { + if (mime.inherits(app_gzip)) { + return KCompressionDevice::GZip; + } else if (supportBzip && mime.inherits(app_bzip)) { + return KCompressionDevice::BZip2; + } else if (supportXz && mime.inherits(app_xz)) { + return KCompressionDevice::Xz; + } else if (supportZstd && mime.inherits(app_zstd)) { + return KCompressionDevice::Zstd; + } + } + + return KCompressionDevice::None; +} + +static Okular::EmbedMode detectEmbedMode(QWidget *parentWidget, QObject *parent, const QVariantList &args) +{ + Q_UNUSED(parentWidget); + + if (parent && (parent->objectName().startsWith(QLatin1String("okular::Shell")) || parent->objectName().startsWith(QLatin1String("okular/okular__Shell")))) { + return Okular::NativeShellMode; + } + + for (const QVariant &arg : args) { + if (arg.metaType().id() == QMetaType::QString) { + if (arg.toString() == QLatin1String("Print/Preview")) { + return Okular::PrintPreviewMode; + } else if (arg.toString() == QLatin1String("ViewerWidget")) { + return Okular::ViewerWidgetMode; + } + } + } + + return Okular::UnknownEmbedMode; +} + +static QString detectConfigFileName(const QVariantList &args) +{ + for (const QVariant &arg : args) { + if (arg.metaType().id() == QMetaType::QString) { + QString argString = arg.toString(); + int separatorIndex = argString.indexOf(QStringLiteral("=")); + if (separatorIndex >= 0 && argString.left(separatorIndex) == QLatin1String("ConfigFileName")) { + return argString.mid(separatorIndex + 1); + } + } + } + + return QString(); +} + +#undef OKULAR_KEEP_FILE_OPEN + +#ifdef OKULAR_KEEP_FILE_OPEN +static bool keepFileOpen() +{ + static bool keep_file_open = !qgetenv("OKULAR_NO_KEEP_FILE_OPEN").toInt(); + return keep_file_open; +} +#endif + +int Okular::Part::numberOfParts = 0; + +namespace Okular +{ +Part::Part(QObject *parent, const QVariantList &args) + : KParts::ReadWritePart(parent) + , m_tempfile(nullptr) + , m_documentOpenWithPassword(false) + , m_swapInsteadOfOpening(false) + , m_tocEnabled(false) + , m_isReloading(false) + , m_fileWasRemoved(false) + , m_showMenuBarAction(nullptr) + , m_showFullScreenAction(nullptr) + , m_cliPresentation(false) + , m_cliPrint(false) + , m_cliPrintAndExit(false) + , m_embedMode(detectEmbedMode(widget(), parent, args)) + , m_generatorGuiClient(nullptr) + , m_keeper(nullptr) +{ + // make sure that the component name is okular otherwise the XMLGUI .rc files are not found + // when this part is used in an application other than okular (e.g. unit tests) + setComponentName(QStringLiteral("okular"), QString()); + + setupConfigSkeleton(args); + +#if HAVE_DBUS + numberOfParts++; + if (numberOfParts == 1) { + m_registerDbusName = QStringLiteral("/okular"); + } else { + m_registerDbusName = QStringLiteral("/okular%1").arg(numberOfParts); + } + QDBusConnection::sessionBus().registerObject(m_registerDbusName, this, QDBusConnection::ExportScriptableSlots); +#endif // HAVE_DBUS + + // connect the started signal to tell the job the mimetypes we like, + // and get some more information from it + connect(this, &KParts::ReadOnlyPart::started, this, &Part::slotJobStarted); + + // connect the completed signal so we can put the window caption when loading remote files + connect(this, QOverload<>::of(&Part::completed), this, &Part::setWindowTitleFromDocument); + connect(this, &KParts::ReadOnlyPart::canceled, this, &Part::loadCancelled); + + // create browser extension (for printing when embedded into browser) + m_bExtension = new BrowserExtension(this); + + const QStringList iconDirs = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, QStringLiteral("okular/pics"), QStandardPaths::LocateDirectory); + QIcon::setFallbackSearchPaths(QIcon::fallbackSearchPaths() << iconDirs); + + m_sidebar = new Sidebar(widget()); + setWidget(m_sidebar); + connect(m_sidebar, &Sidebar::urlsDropped, this, &Part::handleDroppedUrls); + + // build the document + m_document = new Okular::Document(widget()); + connect(m_document, &Document::linkFind, this, &Part::slotFind); + connect(m_document, &Document::linkGoToPage, this, &Part::slotGoToPage); + connect(m_document, &Document::linkPresentation, this, &Part::slotShowPresentation); + connect(m_document, &Document::linkEndPresentation, this, &Part::slotHidePresentation); + connect(m_document, &Document::openUrl, this, &Part::openUrlFromDocument); + connect(m_document->bookmarkManager(), &BookmarkManager::openUrl, this, &Part::openUrlFromBookmarks); + connect(m_document, &Document::close, this, &Part::close); + connect(m_document, &Document::requestPrint, this, &Part::slotPrint); + connect(m_document, &Document::requestSaveAs, this, [this] { slotSaveFileAs(); }); + connect(m_document, &Document::undoHistoryCleanChanged, this, [this](bool clean) { + setModified(!clean); + setWindowTitleFromDocument(); + }); + + if (parent && parent->metaObject()->indexOfSlot(QMetaObject::normalizedSignature("slotQuit()").constData()) != -1) { + connect(m_document, SIGNAL(quit()), parent, SLOT(slotQuit())); // clazy:exclude=old-style-connect + } else { + connect(m_document, &Document::quit, this, &Part::cannotQuit); + } + // widgets: ^searchbar (toolbar containing label and SearchWidget) + // m_searchToolBar = new KToolBar( parentWidget, "searchBar" ); + // m_searchToolBar->boxLayout()->setSpacing( KDialog::spacingHint() ); + // QLabel * sLabel = new QLabel( i18n( "&Search:" ), m_searchToolBar, "kde toolbar widget" ); + // m_searchWidget = new SearchWidget( m_searchToolBar, m_document ); + // sLabel->setBuddy( m_searchWidget ); + // m_searchToolBar->setStretchableWidget( m_searchWidget ); + + // [left toolbox optional item: Table of Contents] | [] + m_toc = new TOC(nullptr, m_document); + connect(m_toc.data(), &TOC::hasTOC, this, &Part::enableTOC); + connect(m_toc.data(), &TOC::rightClick, this, &Part::slotShowTOCMenu); + + // [left toolbox optional item: Layers] | [] + m_layers = new Layers(nullptr, m_document); + connect(m_layers.data(), &Layers::hasLayers, this, &Part::enableLayers); + + // [left toolbox: Thumbnails and Bookmarks] | [] + QWidget *thumbsBox = new ThumbnailsBox(nullptr); + thumbsBox->layout()->setSpacing(6); + m_searchWidget = new SearchWidget(thumbsBox, m_document); + thumbsBox->layout()->addWidget(m_searchWidget); + m_thumbnailList = new ThumbnailList(thumbsBox, m_document); + thumbsBox->layout()->addWidget(m_thumbnailList); + // ThumbnailController * m_tc = new ThumbnailController( thumbsBox, m_thumbnailList ); + connect(m_thumbnailList.data(), &ThumbnailList::rightClick, this, &Part::slotShowMenu); + m_sidebar->addItem(thumbsBox, QIcon::fromTheme(QStringLiteral("view-preview")), i18n("Thumbnails")); + + m_sidebar->setCurrentItem(thumbsBox); + + // [left toolbox: Reviews] | [] + m_reviewsWidget = new Reviews(nullptr, m_document); + m_sidebar->addItem(m_reviewsWidget, QIcon::fromTheme(QStringLiteral("draw-freehand")), i18n("Annotations")); + + // [left toolbox: Bookmarks] | [] + m_bookmarkList = new BookmarkList(m_document, nullptr); + m_sidebar->addItem(m_bookmarkList, QIcon::fromTheme(QStringLiteral("bookmarks")), i18n("Bookmarks")); + + // [left toolbox optional item: Signature Panel] | [] + m_signaturePanel = new SignaturePanel(m_document, nullptr); + connect(m_signaturePanel.data(), &SignaturePanel::documentHasSignatures, this, &Part::enableSidebarSignaturesItem); + + // widgets: [../miniBarContainer] | [] +#ifdef OKULAR_ENABLE_MINIBAR + QWidget *miniBarContainer = new QWidget(0); + m_sidebar->setBottomWidget(miniBarContainer); + QVBoxLayout *miniBarLayout = new QVBoxLayout(miniBarContainer); + miniBarLayout->setContentsMargins(0, 0, 0, 0); + // widgets: [../[spacer/..]] | [] + miniBarLayout->addItem(new QSpacerItem(6, 6, QSizePolicy::Fixed, QSizePolicy::Fixed)); + // widgets: [../[../MiniBar]] | [] + QFrame *bevelContainer = new QFrame(miniBarContainer); + bevelContainer->setFrameStyle(QFrame::StyledPanel | QFrame::Sunken); + QVBoxLayout *bevelContainerLayout = new QVBoxLayout(bevelContainer); + bevelContainerLayout->setContentsMargins(4, 4, 4, 4); + m_progressWidget = new ProgressWidget(bevelContainer, m_document); + bevelContainerLayout->addWidget(m_progressWidget); + miniBarLayout->addWidget(bevelContainer); + miniBarLayout->addItem(new QSpacerItem(6, 6, QSizePolicy::Fixed, QSizePolicy::Fixed)); +#endif + + // widgets: [] | [right 'pageView'] + QWidget *rightContainer = new QWidget(nullptr); + m_sidebar->setMainWidget(rightContainer); + QVBoxLayout *rightLayout = new QVBoxLayout(rightContainer); + rightLayout->setContentsMargins(0, 0, 0, 0); + rightLayout->setSpacing(0); + // KToolBar * rtb = new KToolBar( rightContainer, "mainToolBarSS" ); + // rightLayout->addWidget( rtb ); + m_migrationMessage = new KMessageWidget(rightContainer); + m_migrationMessage->setVisible(false); + m_migrationMessage->setWordWrap(true); + m_migrationMessage->setMessageType(KMessageWidget::Warning); + m_migrationMessage->setPosition(KMessageWidget::Position::Header); + m_migrationMessage->setText( + i18n("This document contains annotations or form data that were saved internally by a previous Okular version. Internal storage is no longer supported.
Please save to a file in order to move them if you want to continue " + "to edit the document.")); + rightLayout->addWidget(m_migrationMessage); + m_topMessage = new KMessageWidget(rightContainer); + m_topMessage->setVisible(false); + m_topMessage->setWordWrap(true); + m_topMessage->setMessageType(KMessageWidget::Information); + m_topMessage->setPosition(KMessageWidget::Position::Header); + m_topMessage->setText(i18n("This document has embedded files. Click here to see them or go to File -> Embedded Files.")); + m_topMessage->setIcon(QIcon::fromTheme(QStringLiteral("mail-attachment"))); + connect(m_topMessage, &KMessageWidget::linkActivated, this, &Part::slotShowEmbeddedFiles); + rightLayout->addWidget(m_topMessage); + m_formsMessage = new KMessageWidget(rightContainer); + m_formsMessage->setVisible(false); + m_formsMessage->setWordWrap(true); + m_formsMessage->setMessageType(KMessageWidget::Information); + m_formsMessage->setPosition(KMessageWidget::Position::Header); + rightLayout->addWidget(m_formsMessage); + m_infoMessage = new KMessageWidget(rightContainer); + m_infoMessage->setVisible(false); + m_infoMessage->setWordWrap(true); + m_infoMessage->setMessageType(KMessageWidget::Information); + m_infoMessage->setPosition(KMessageWidget::Position::Header); + rightLayout->addWidget(m_infoMessage); + m_infoTimer = new QTimer(); + m_infoTimer->setSingleShot(true); + connect(m_infoTimer, &QTimer::timeout, m_infoMessage, &KMessageWidget::animatedHide); + m_signatureMessage = new KMessageWidget(rightContainer); + m_signatureMessage->setVisible(false); + m_signatureMessage->setWordWrap(true); + m_signatureMessage->setPosition(KMessageWidget::Position::Header); + rightLayout->addWidget(m_signatureMessage); +#if HAVE_NEW_SIGNATURE_API + m_signatureInProgressMessage = new KMessageWidget(rightContainer); + m_signatureInProgressMessage->setCloseButtonVisible(false); + m_signatureInProgressMessage->setVisible(false); + m_signatureInProgressMessage->setWordWrap(true); + m_signatureInProgressMessage->setText(i18n("Signing in progress. You can adjust the position and size of the signature")); + m_signatureInProgressMessage->setPosition(KMessageWidget::Position::Header); + QAction *finishSigningAction = new QAction(QIcon::fromTheme(QStringLiteral("dialog-ok-apply")), i18nc("@action:button finish the signing process", "Finish Signing"), this); + connect(finishSigningAction, &QAction::triggered, this, &Part::finishSigning); + m_signatureInProgressMessage->addAction(finishSigningAction); + rightLayout->addWidget(m_signatureInProgressMessage); +#endif + m_pageView = new PageView(rightContainer, m_document); + rightContainer->setFocusProxy(m_pageView); + QMetaObject::invokeMethod(m_pageView, "setFocus", Qt::QueuedConnection); // usability setting + // m_splitter->setFocusProxy(m_pageView); + connect(m_pageView.data(), &PageView::rightClick, this, &Part::slotShowMenu); + connect(m_pageView, &PageView::triggerSearch, this, [this](const QString &searchText) { + m_findBar->startSearch(searchText); + slotShowFindBar(); + }); + connect(m_document, &Document::error, this, &Part::errorMessage); + connect(m_document, &Document::warning, this, &Part::warningMessage); + connect(m_document, &Document::notice, this, &Part::noticeMessage); + connect(m_document, &Document::sourceReferenceActivated, this, &Part::slotHandleActivatedSourceReference); + connect(m_pageView.data(), &PageView::fitWindowToPage, this, &Part::fitWindowToPage); + rightLayout->addWidget(m_pageView); + m_layers->setPageView(m_pageView); + m_signaturePanel->setPageView(m_pageView); + m_findBar = new FindBar(m_document, rightContainer); + rightLayout->addWidget(m_findBar); + m_bottomBar = new QWidget(rightContainer); + QHBoxLayout *bottomBarLayout = new QHBoxLayout(m_bottomBar); + m_pageSizeLabel = new PageSizeLabel(m_bottomBar, m_document); + bottomBarLayout->setContentsMargins(0, 0, 0, 0); + bottomBarLayout->setSpacing(0); + bottomBarLayout->addItem(new QSpacerItem(5, 5, QSizePolicy::Expanding, QSizePolicy::Minimum)); + m_miniBarLogic = new MiniBarLogic(this, m_document); + m_miniBar = new MiniBar(m_bottomBar, m_miniBarLogic); + bottomBarLayout->addWidget(m_miniBar); + bottomBarLayout->addWidget(m_pageSizeLabel); + rightLayout->addWidget(m_bottomBar); + + m_pageNumberTool = new MiniBar(nullptr, m_miniBarLogic); + + connect(m_findBar, &FindBar::forwardKeyPressEvent, m_pageView, &PageView::externalKeyPressEvent); + connect(m_findBar, &FindBar::onCloseButtonPressed, m_pageView, QOverload<>::of(&PageView::setFocus)); + connect(m_miniBar, &MiniBar::forwardKeyPressEvent, m_pageView, &PageView::externalKeyPressEvent); + connect(m_pageView.data(), &PageView::escPressed, m_findBar, &FindBar::resetSearch); + connect(m_pageNumberTool, &MiniBar::forwardKeyPressEvent, m_pageView, &PageView::externalKeyPressEvent); + connect(m_pageView.data(), &PageView::requestOpenNewlySignedFile, this, &Part::requestOpenNewlySignedFile); +#if HAVE_NEW_SIGNATURE_API + connect(m_pageView.data(), &PageView::signingStarted, this, [this] { m_signatureInProgressMessage->setVisible(true); }); +#endif + + connect(m_reviewsWidget.data(), &Reviews::openAnnotationWindow, m_pageView.data(), &PageView::openAnnotationWindow); + + // add document observers + m_document->addObserver(this); + m_document->addObserver(m_thumbnailList); + m_document->addObserver(m_pageView); + m_document->registerView(m_pageView); + m_document->addObserver(m_toc); + m_document->addObserver(m_miniBarLogic); +#ifdef OKULAR_ENABLE_MINIBAR + m_document->addObserver(m_progressWidget); +#endif + m_document->addObserver(m_reviewsWidget); + m_document->addObserver(m_pageSizeLabel); + m_document->addObserver(m_bookmarkList); + m_document->addObserver(m_signaturePanel); + + connect(m_document->bookmarkManager(), &BookmarkManager::saved, this, &Part::slotRebuildBookmarkMenu); + + setupViewerActions(); + + if (m_embedMode != ViewerWidgetMode) { + setupActions(); + } else { + setViewerShortcuts(); + } + + // document watcher and reloader + m_watcher = new KDirWatch(this); + connect(m_watcher, &KDirWatch::dirty, this, &Part::slotFileDirty); + connect(m_watcher, &KDirWatch::created, this, &Part::slotFileDirty); + connect(m_watcher, &KDirWatch::deleted, this, &Part::slotFileDirty); + m_dirtyHandler = new QTimer(this); + m_dirtyHandler->setSingleShot(true); + connect(m_dirtyHandler, &QTimer::timeout, this, [this] { slotAttemptReload(); }); + + m_maxRecentItems = Okular::Settings::maxRecentItems(); + + slotNewConfig(); + + // keep us informed when the user changes settings + connect(Okular::Settings::self(), &KCoreConfigSkeleton::configChanged, this, &Part::slotNewConfig); + +#if HAVE_SPEECH + // [SPEECH] check for TTS presence and usability + Okular::Settings::setUseTTS(true); + Okular::Settings::self()->save(); +#endif + + rebuildBookmarkMenu(false); + + if (m_embedMode == ViewerWidgetMode) { + // set the XML-UI resource file for the viewer mode + setXMLFile(QStringLiteral("part-viewermode.rc")); + } else { + // set our main XML-UI resource file + setXMLFile(QStringLiteral("part.rc")); + } + + m_pageView->setupBaseActions(actionCollection()); + + m_sidebar->setSidebarVisibility(false); + if (m_embedMode != PrintPreviewMode) { + // now set up actions that are required for all remaining modes + m_pageView->setupViewerActions(actionCollection()); + // and if we are not in viewer mode, we want the full GUI + if (m_embedMode != ViewerWidgetMode) { + unsetDummyMode(); + } + } + + // ensure history actions are in the correct state + updateViewActions(); + + // also update the state of the actions in the page view + m_pageView->updateActionState(false, false); + + if (m_embedMode == NativeShellMode) { + m_sidebar->setAutoFillBackground(false); + } + +#ifdef OKULAR_KEEP_FILE_OPEN + m_keeper = new FileKeeper(); +#endif +} + +void Part::setupConfigSkeleton(const QVariantList &args) +{ + const QLatin1String configFileName("okularpartrc"); + + // first, we check if a config file name has been specified + QString configFilePath = detectConfigFileName(args); + + if (configFilePath.isEmpty()) { + configFilePath = QStandardPaths::writableLocation(QStandardPaths::ConfigLocation) + QLatin1Char('/') + configFileName; + } + + KSharedConfigPtr config = KSharedConfig::openConfig(configFilePath); + + // Configuration update: SlidesTransitionsEnabled -> SlidesTransition = NoTransitions. + // See https://invent.kde.org/graphics/okular/-/merge_requests/357 + KConfigGroup slidesConfigGroup = config.data()->group(QStringLiteral("Dlg Presentation")); + if (slidesConfigGroup.readEntry("SlidesTransitionsEnabled", true) == false) { + slidesConfigGroup.writeEntry("SlidesTransition", "NoTransitions"); + } + slidesConfigGroup.deleteEntry("SlidesTransitionsEnabled"); + config.data()->sync(); + + Okular::Settings::instance(config); +} + +void Part::setupViewerActions() +{ + // ACTIONS + KActionCollection *ac = actionCollection(); + + // Page Traversal actions + m_gotoPage = KStandardAction::gotoPage(this, SLOT(slotGoToPage()), ac); + ac->setDefaultShortcuts(m_gotoPage, KStandardShortcut::gotoLine()); + // dirty way to activate gotopage when pressing miniBar's button + connect(m_miniBar.data(), &MiniBar::gotoPage, m_gotoPage, &QAction::trigger); + connect(m_pageNumberTool.data(), &MiniBar::gotoPage, m_gotoPage, &QAction::trigger); + + m_prevPage = KStandardAction::prior(this, SLOT(slotPreviousPage()), ac); + m_prevPage->setIconText(i18nc("Previous page", "Previous")); + m_prevPage->setToolTip(i18n("Go back to the Previous Page")); + m_prevPage->setWhatsThis(i18n("Moves to the previous page of the document")); + ac->setDefaultShortcut(m_prevPage, QKeySequence()); + // dirty way to activate prev page when pressing miniBar's button + connect(m_miniBar.data(), &MiniBar::prevPage, m_prevPage, &QAction::trigger); + connect(m_pageNumberTool.data(), &MiniBar::prevPage, m_prevPage, &QAction::trigger); +#ifdef OKULAR_ENABLE_MINIBAR + connect(m_progressWidget, SIGNAL(prevPage()), m_prevPage, SLOT(trigger())); +#endif + + m_nextPage = KStandardAction::next(this, SLOT(slotNextPage()), ac); + m_nextPage->setIconText(i18nc("Next page", "Next")); + m_nextPage->setToolTip(i18n("Advance to the Next Page")); + m_nextPage->setWhatsThis(i18n("Moves to the next page of the document")); + ac->setDefaultShortcut(m_nextPage, QKeySequence()); + // dirty way to activate next page when pressing miniBar's button + connect(m_miniBar.data(), &MiniBar::nextPage, m_nextPage, &QAction::trigger); + connect(m_pageNumberTool.data(), &MiniBar::nextPage, m_nextPage, &QAction::trigger); +#ifdef OKULAR_ENABLE_MINIBAR + connect(m_progressWidget, SIGNAL(nextPage()), m_nextPage, SLOT(trigger())); +#endif + + m_beginningOfDocument = KStandardAction::firstPage(this, SLOT(slotGotoFirst()), ac); + ac->addAction(QStringLiteral("first_page"), m_beginningOfDocument); + m_beginningOfDocument->setText(i18n("Beginning of the document")); + m_beginningOfDocument->setWhatsThis(i18n("Moves to the beginning of the document")); + + m_endOfDocument = KStandardAction::lastPage(this, SLOT(slotGotoLast()), ac); + ac->addAction(QStringLiteral("last_page"), m_endOfDocument); + m_endOfDocument->setText(i18n("End of the document")); + m_endOfDocument->setWhatsThis(i18n("Moves to the end of the document")); + + // we do not want back and next in history in the dummy mode + m_historyBack = nullptr; + m_historyNext = nullptr; + + m_addBookmark = KStandardAction::addBookmark(this, SLOT(slotAddBookmark()), ac); + m_addBookmarkText = m_addBookmark->text(); + m_addBookmarkIcon = m_addBookmark->icon(); + m_bookmarkList->setAddBookmarkAction(m_addBookmark); + + m_renameBookmark = ac->addAction(QStringLiteral("rename_bookmark")); + m_renameBookmark->setText(i18n("Rename Bookmark")); + m_renameBookmark->setIcon(QIcon::fromTheme(QStringLiteral("edit-rename"))); + m_renameBookmark->setWhatsThis(i18n("Rename the current bookmark")); + connect(m_renameBookmark, &QAction::triggered, this, &Part::slotRenameCurrentViewportBookmark); + + m_prevBookmark = ac->addAction(QStringLiteral("previous_bookmark")); + m_prevBookmark->setText(i18n("Previous Bookmark")); + m_prevBookmark->setIcon(QIcon::fromTheme(QStringLiteral("go-up-search"))); + m_prevBookmark->setWhatsThis(i18n("Go to the previous bookmark")); + connect(m_prevBookmark, &QAction::triggered, this, &Part::slotPreviousBookmark); + + m_nextBookmark = ac->addAction(QStringLiteral("next_bookmark")); + m_nextBookmark->setText(i18n("Next Bookmark")); + m_nextBookmark->setIcon(QIcon::fromTheme(QStringLiteral("go-down-search"))); + m_nextBookmark->setWhatsThis(i18n("Go to the next bookmark")); + connect(m_nextBookmark, &QAction::triggered, this, &Part::slotNextBookmark); + + m_copy = nullptr; + + m_selectAll = nullptr; + m_selectCurrentPage = nullptr; + + // Find and other actions + m_find = KStandardAction::find(this, SLOT(slotShowFindBar()), ac); + QList s = m_find->shortcuts(); + s.append(QKeySequence(Qt::Key_Slash)); + ac->setDefaultShortcuts(m_find, s); + m_find->setEnabled(false); + + m_findNext = KStandardAction::findNext(this, SLOT(slotFindNext()), ac); + m_findNext->setEnabled(false); + + m_findPrev = KStandardAction::findPrev(this, SLOT(slotFindPrev()), ac); + m_findPrev->setEnabled(false); + + m_save = nullptr; + m_saveAs = nullptr; + m_openContainingFolder = nullptr; + + m_hamburgerMenuAction = nullptr; + + QAction *prefs = KStandardAction::preferences(this, SLOT(slotPreferences()), ac); + if (m_embedMode == NativeShellMode) { + prefs->setText(i18n("Configure Okular…")); + } else { + // TODO: improve this message + prefs->setText(i18n("Configure Viewer…")); + } + + QAction *genPrefs = new QAction(ac); + ac->addAction(QStringLiteral("options_configure_generators"), genPrefs); + if (m_embedMode == ViewerWidgetMode) { + genPrefs->setText(i18n("Configure Viewer Backends…")); + } else { + genPrefs->setText(i18n("Configure Backends…")); + } + genPrefs->setIcon(QIcon::fromTheme(QStringLiteral("configure"))); + genPrefs->setEnabled(m_document->configurableGenerators() > 0); + connect(genPrefs, &QAction::triggered, this, &Part::slotGeneratorPreferences); + + m_printPreview = KStandardAction::printPreview(this, SLOT(slotPrintPreview()), ac); + m_printPreview->setEnabled(false); + + m_showLeftPanel = nullptr; + m_showBottomBar = nullptr; + m_showSignaturePanel = nullptr; + + m_showProperties = ac->addAction(QStringLiteral("properties")); + m_showProperties->setText(i18n("&Properties")); + m_showProperties->setIcon(QIcon::fromTheme(QStringLiteral("document-properties"))); + ac->setDefaultShortcuts(m_showProperties, {QKeySequence(Qt::ALT | Qt::Key_Return)}); + connect(m_showProperties, &QAction::triggered, this, &Part::slotShowProperties); + m_showProperties->setEnabled(false); + + m_showEmbeddedFiles = nullptr; + m_showPresentation = nullptr; + + m_exportAs = nullptr; + m_exportAsMenu = nullptr; + m_exportAsText = nullptr; + m_exportAsDocArchive = nullptr; + +#if HAVE_PURPOSE + m_share = nullptr; + m_shareMenu = nullptr; +#endif + + m_presentationDrawingActions = nullptr; + + m_aboutBackend = ac->addAction(QStringLiteral("help_about_backend")); + m_aboutBackend->setText(i18n("About Backend")); + m_aboutBackend->setEnabled(false); + connect(m_aboutBackend, &QAction::triggered, this, &Part::slotAboutBackend); + + QAction *reloadAction = ac->add(QStringLiteral("file_reload")); + reloadAction->setText(i18n("Reloa&d")); + reloadAction->setIcon(QIcon::fromTheme(QStringLiteral("view-refresh"))); + reloadAction->setWhatsThis(i18n("Reload the current document from disk.")); + connect(reloadAction, &QAction::triggered, this, &Part::slotReload); + ac->setDefaultShortcuts(reloadAction, KStandardShortcut::reload()); + m_reload = reloadAction; + + m_closeFindBar = ac->addAction(QStringLiteral("close_find_bar"), this, SLOT(slotHideFindBar())); + m_closeFindBar->setText(i18n("Close &Find Bar")); + ac->setDefaultShortcut(m_closeFindBar, QKeySequence(Qt::Key_Escape)); + m_closeFindBar->setEnabled(false); + + QWidgetAction *pageno = new QWidgetAction(ac); + pageno->setText(i18n("Page Number")); + pageno->setDefaultWidget(m_pageNumberTool); + ac->addAction(QStringLiteral("page_number"), pageno); + + QAction *configureColorModes = new QAction(i18nc("@action", "Configure Color Modes…"), ac); + ac->addAction(QStringLiteral("options_configure_color_modes"), configureColorModes); + configureColorModes->setIcon(QIcon::fromTheme(QStringLiteral("configure"))); + connect(configureColorModes, &QAction::triggered, this, &Part::slotAccessibilityPreferences); +} + +void Part::setViewerShortcuts() +{ + KActionCollection *ac = actionCollection(); + + ac->setDefaultShortcut(m_gotoPage, QKeySequence(Qt::CTRL | Qt::ALT | Qt::Key_G)); + ac->setDefaultShortcut(m_find, QKeySequence()); + + ac->setDefaultShortcut(m_findNext, QKeySequence()); + ac->setDefaultShortcut(m_findPrev, QKeySequence()); + + ac->setDefaultShortcut(m_addBookmark, QKeySequence(Qt::CTRL | Qt::ALT | Qt::Key_B)); + + ac->setDefaultShortcut(m_beginningOfDocument, QKeySequence(Qt::CTRL | Qt::ALT | Qt::Key_Home)); + ac->setDefaultShortcut(m_endOfDocument, QKeySequence(Qt::CTRL | Qt::ALT | Qt::Key_End)); + + QAction *action = static_cast(ac->action(QStringLiteral("file_reload"))); + if (action) { + ac->setDefaultShortcut(action, QKeySequence(Qt::ALT | Qt::Key_F5)); + } +} + +void Part::setupActions() +{ + KActionCollection *ac = actionCollection(); + + auto manager = new KColorSchemeManager(this); + KActionMenu *schemeMenu = KColorSchemeMenu::createMenu(manager, this); + ac->addAction(QStringLiteral("colorscheme_menu"), schemeMenu->menu()->menuAction()); + + m_copy = KStandardAction::create(KStandardAction::Copy, m_pageView, SLOT(copyTextSelection()), ac); + + m_selectAll = KStandardAction::selectAll(m_pageView, SLOT(selectAll()), ac); + + // Setup select all action for the current page + m_selectCurrentPage = ac->addAction(QStringLiteral("edit_select_all_current_page")); + m_selectCurrentPage->setText(i18n("Select All Text on Current Page")); + connect(m_selectCurrentPage, &QAction::triggered, m_pageView, &PageView::slotSelectPage); + m_selectCurrentPage->setEnabled(false); + + m_save = KStandardAction::save(this, [this] { saveFile(); }, ac); + + m_save->setEnabled(false); + + m_saveAs = KStandardAction::saveAs(this, SLOT(slotSaveFileAs()), ac); + m_saveAs->setEnabled(false); + m_migrationMessage->addAction(m_saveAs); + + m_showLeftPanel = ac->add(QStringLiteral("show_leftpanel")); + m_showLeftPanel->setText(i18n("Show S&idebar")); + const QString preferredSidebarIcon = m_sidebar->layoutDirection() == Qt::LeftToRight ? QStringLiteral("sidebar-expand-left") : QStringLiteral("sidebar-expand-right"); + m_showLeftPanel->setIcon(QIcon::fromTheme(preferredSidebarIcon, QIcon::fromTheme(QStringLiteral("view-sidetree")))); + connect(m_showLeftPanel, &QAction::toggled, this, &Part::slotShowLeftPanel); + ac->setDefaultShortcut(m_showLeftPanel, QKeySequence(Qt::Key_F7)); + m_showLeftPanel->setChecked(Okular::Settings::showLeftPanel()); + slotShowLeftPanel(); + + m_showBottomBar = ac->add(QStringLiteral("show_bottombar")); + m_showBottomBar->setText(i18n("Show &Page Bar")); + connect(m_showBottomBar, &QAction::toggled, this, &Part::slotShowBottomBar); + m_showBottomBar->setChecked(Okular::Settings::showBottomBar()); + slotShowBottomBar(); + + m_showSignaturePanel = ac->add(QStringLiteral("show_signatures")); + m_showSignaturePanel->setText(i18n("Show &Signatures Panel")); + connect(m_showSignaturePanel, &QAction::triggered, this, [this] { + if (m_sidebar->currentItem() != m_signaturePanel) { + m_sidebar->setCurrentItem(m_signaturePanel); + } + if (!m_showLeftPanel->isChecked()) { + m_showLeftPanel->trigger(); + } + }); + + m_showEmbeddedFiles = ac->addAction(QStringLiteral("embedded_files")); + m_showEmbeddedFiles->setText(i18n("&Embedded Files")); + m_showEmbeddedFiles->setIcon(QIcon::fromTheme(QStringLiteral("mail-attachment"))); + connect(m_showEmbeddedFiles, &QAction::triggered, this, &Part::slotShowEmbeddedFiles); + m_showEmbeddedFiles->setEnabled(false); + + m_exportAs = ac->addAction(QStringLiteral("file_export_as")); + m_exportAs->setText(i18n("E&xport As")); + m_exportAs->setIcon(QIcon::fromTheme(QStringLiteral("document-export"))); + m_exportAsMenu = new QMenu(); + connect(m_exportAsMenu, &QMenu::triggered, this, &Part::slotExportAs); + m_exportAs->setMenu(m_exportAsMenu); + m_exportAsText = actionForExportFormat(Okular::ExportFormat::standardFormat(Okular::ExportFormat::PlainText), m_exportAsMenu); + m_exportAsMenu->addAction(m_exportAsText); + m_exportAs->setEnabled(false); + m_exportAsText->setEnabled(false); + +#if HAVE_PURPOSE + m_share = ac->addAction(QStringLiteral("file_share")); + m_share->setText(i18n("S&hare")); + m_share->setIcon(QIcon::fromTheme(QStringLiteral("document-share"))); + m_share->setEnabled(false); + m_shareMenu = new Purpose::Menu(); + connect(m_shareMenu, &Purpose::Menu::finished, this, &Part::slotShareActionFinished); + m_share->setMenu(m_shareMenu); +#endif + + m_showPresentation = ac->addAction(QStringLiteral("presentation")); + m_showPresentation->setText(i18n("P&resentation")); + m_showPresentation->setIcon(QIcon::fromTheme(QStringLiteral("view-presentation"))); + connect(m_showPresentation, &QAction::triggered, this, &Part::slotShowPresentation); + ac->setDefaultShortcut(m_showPresentation, QKeySequence(Qt::CTRL | Qt::SHIFT | Qt::Key_P)); + m_showPresentation->setEnabled(false); + + m_openContainingFolder = ac->addAction(QStringLiteral("open_containing_folder")); + m_openContainingFolder->setText(i18n("Open Con&taining Folder")); + m_openContainingFolder->setIcon(QIcon::fromTheme(QStringLiteral("document-open-folder"))); + connect(m_openContainingFolder, &QAction::triggered, this, &Part::slotOpenContainingFolder); + m_openContainingFolder->setEnabled(false); + + if (m_embedMode == Okular::NativeShellMode) { // This hamburger menu is designed to be quite Okular-specific. + m_hamburgerMenuAction = KStandardAction::hamburgerMenu(nullptr, nullptr, ac); + if (auto *mainWindow = findMainWindow()) { + m_hamburgerMenuAction->setMenuBar(mainWindow->menuBar()); + } + connect(m_hamburgerMenuAction, &KHamburgerMenu::aboutToShowMenu, this, &Part::slotUpdateHamburgerMenu); + } + + QAction *importPS = ac->addAction(QStringLiteral("import_ps")); + importPS->setText(i18n("&Import PostScript as PDF…")); + importPS->setIcon(QIcon::fromTheme(QStringLiteral("document-import"))); + connect(importPS, &QAction::triggered, this, &Part::slotImportPSFile); + + KToggleAction *blackscreenAction = new KToggleAction(i18n("Switch Blackscreen Mode"), ac); + ac->addAction(QStringLiteral("switch_blackscreen_mode"), blackscreenAction); + ac->setDefaultShortcut(blackscreenAction, QKeySequence(Qt::Key_B)); + blackscreenAction->setIcon(QIcon::fromTheme(QStringLiteral("view-presentation"))); + blackscreenAction->setEnabled(false); + + m_presentationDrawingActions = new DrawingToolActions(ac); + + QAction *eraseDrawingAction = new QAction(i18n("Erase Drawing"), ac); + ac->addAction(QStringLiteral("presentation_erase_drawings"), eraseDrawingAction); + eraseDrawingAction->setIcon(QIcon::fromTheme(QStringLiteral("draw-eraser-delete-objects"))); + eraseDrawingAction->setEnabled(false); + + QAction *configureAnnotations = new QAction(i18n("Configure Annotations…"), ac); + ac->addAction(QStringLiteral("options_configure_annotations"), configureAnnotations); + configureAnnotations->setIcon(QIcon::fromTheme(QStringLiteral("configure"))); + connect(configureAnnotations, &QAction::triggered, this, &Part::slotAnnotationPreferences); + + QAction *playPauseAction = new QAction(i18n("Play/Pause Presentation"), ac); + ac->addAction(QStringLiteral("presentation_play_pause"), playPauseAction); + playPauseAction->setEnabled(false); +} + +Part::~Part() +{ +#if HAVE_DBUS + QDBusConnection::sessionBus().unregisterObject(m_registerDbusName); +#endif // HAVE_DBUS + + m_document->removeObserver(this); + + if (m_document->isOpened()) { + Part::closeUrl(false); + } + + delete m_toc; + delete m_layers; + delete m_pageView; + delete m_thumbnailList; + delete m_miniBar; + delete m_pageNumberTool; + delete m_miniBarLogic; + delete m_bottomBar; +#ifdef OKULAR_ENABLE_MINIBAR + delete m_progressWidget; +#endif + delete m_pageSizeLabel; + delete m_reviewsWidget; + delete m_bookmarkList; + delete m_infoTimer; + delete m_signaturePanel; + + delete m_document; + + delete m_tempfile; + + qDeleteAll(m_bookmarkActions); + + delete m_exportAsMenu; +#if HAVE_PURPOSE + delete m_shareMenu; +#endif + +#ifdef OKULAR_KEEP_FILE_OPEN + delete m_keeper; +#endif +} + +bool Part::openDocument(const QUrl &url, uint page) +{ + Okular::DocumentViewport vp(page - 1); + vp.rePos.enabled = true; + vp.rePos.normalizedX = 0; + vp.rePos.normalizedY = 0; + vp.rePos.pos = Okular::DocumentViewport::TopLeft; + if (vp.isValid()) { + m_document->setNextDocumentViewport(vp); + } + return openUrl(url); +} + +void Part::startPresentation() +{ + m_cliPresentation = true; +} + +QStringList Part::supportedMimeTypes() const +{ + return m_document->supportedMimeTypes(); +} + +QUrl Part::realUrl() const +{ + if (!m_realUrl.isEmpty()) { + return m_realUrl; + } + + return url(); +} + +// ViewerInterface + +void Part::showSourceLocation(const QString &fileName, int line, int column, bool showGraphically) +{ + Q_UNUSED(column); + + const QString u = QStringLiteral("src:%1 %2").arg(line + 1).arg(fileName); + GotoAction action(QString(), u); + m_document->processAction(&action); + if (showGraphically) { + m_pageView->setLastSourceLocationViewport(m_document->viewport()); + } +} + +void Part::clearLastShownSourceLocation() +{ + m_pageView->clearLastSourceLocationViewport(); +} + +bool Part::isWatchFileModeEnabled() const +{ + return !m_watcher->signalsBlocked(); +} + +void Part::setWatchFileModeEnabled(bool enabled) +{ + // Don't call 'KDirWatch::stopScan()' in here (as of KDE Frameworks 5.51.0, see bug 400541)! + // 'KDirWatch::stopScan' has a bug that may affect other code paths that make use of KDirWatch + // (other loaded KParts, for example). + if (isWatchFileModeEnabled() == enabled) { + return; + } + + m_watcher->blockSignals(!enabled); + + if (!enabled) { + m_dirtyHandler->stop(); + } +} + +bool Part::areSourceLocationsShownGraphically() const +{ + return m_pageView->areSourceLocationsShownGraphically(); +} + +void Part::setShowSourceLocationsGraphically(bool show) +{ + m_pageView->setShowSourceLocationsGraphically(show); +} + +bool Part::openNewFilesInTabs() const +{ + return Okular::Settings::self()->shellOpenFileInTabs(); +} + +QWidget *Part::getSideContainer() const +{ + return m_sidebar->getSideContainer(); +} + +bool Part::activateTabIfAlreadyOpenFile() const +{ + return Okular::Settings::self()->switchToTabIfOpen(); +} + +void Part::setModified(bool modified) +{ + KParts::ReadWritePart::setModified(modified); + + if (modified && !m_save->isEnabled()) { + if (!m_warnedAboutModifyingUnsaveableDocument) { + m_warnedAboutModifyingUnsaveableDocument = true; + KMessageBox::information(widget(), + i18n("You have just modified the open document, but this kind of document can not be saved.\nAny modification will be lost once Okular is closed."), + i18n("Document can't be saved"), + QStringLiteral("warnAboutUnsaveableDocuments")); + } + } +} + +void Part::slotHandleActivatedSourceReference(const QString &absFileName, int line, int col, bool *handled) +{ + Q_EMIT openSourceReference(absFileName, line, col); + if (m_embedMode == Okular::ViewerWidgetMode) { + *handled = true; + } +} + +void Part::openUrlFromDocument(const QUrl &url) +{ + if (m_embedMode == PrintPreviewMode) { + return; + } + + if (url.isLocalFile()) { + if (!QFile::exists(url.toLocalFile())) { + KMessageBox::error(widget(), i18n("Could not open '%1'. File does not exist", url.toDisplayString())); + return; + } + } else { + KIO::StatJob *statJob = KIO::stat(url, KIO::StatJob::SourceSide); + KJobWidgets::setWindow(statJob, widget()); + if (!statJob->exec() || statJob->error()) { + KMessageBox::error(widget(), i18n("Could not open '%1' (%2) ", url.toDisplayString(), statJob->errorString())); + return; + } + } + + Q_EMIT m_bExtension->openUrlNotify(); + Q_EMIT m_bExtension->setLocationBarUrl(url.toDisplayString()); + openUrl(url); +} + +void Part::openUrlFromBookmarks(const QUrl &_url) +{ + QUrl url = _url; + Okular::DocumentViewport vp(_url.fragment(QUrl::FullyDecoded)); + if (vp.isValid()) { + m_document->setNextDocumentViewport(vp); + } + url.setFragment(QString()); + if (m_document->currentDocument() == url) { + if (vp.isValid()) { + m_document->setViewport(vp); + } + } else { + openUrl(url); + } +} + +void Part::handleDroppedUrls(const QList &urls) +{ + if (urls.isEmpty()) { + return; + } + + if (m_embedMode != NativeShellMode || !openNewFilesInTabs()) { + openUrlFromDocument(urls.first()); + return; + } + + Q_EMIT urlsDropped(urls); +} + +void Part::slotJobStarted(KIO::Job *job) +{ + if (job) { + job->addMetaData(QStringLiteral("accept"), supportedMimeTypes().join(QStringLiteral(", ")) + QStringLiteral(", */*;q=0.5")); + + connect(job, &KJob::result, this, &Part::slotJobFinished); + } +} + +void Part::slotJobFinished(KJob *job) +{ + if (job->error() == KIO::ERR_USER_CANCELED) { + m_pageView->displayMessage(i18n("The loading of %1 has been canceled.", realUrl().toDisplayString(QUrl::PreferLocalFile))); + } +} + +void Part::loadCancelled(const QString &reason) +{ + Q_EMIT setWindowCaption(QString()); + resetStartArguments(); + + // when m_viewportDirty.pageNumber != -1 we come from slotAttemptReload + // so we don't want to show an ugly messagebox just because the document is + // taking more than usual to be recreated + if (m_viewportDirty.pageNumber == -1) { + if (m_urlWithFragment.isValid() && !m_urlWithFragment.isLocalFile()) { + tryOpeningUrlWithFragmentAsName(); + } else if (!reason.isEmpty()) { + KMessageBox::error(widget(), i18n("Could not open %1. Reason: %2", url().toDisplayString(), reason)); + } + } +} + +void Part::setWindowTitleFromDocument() +{ + // If 'DocumentTitle' should be used, check if the document has one. If + // either case is false, use the file name. + QString title = Okular::Settings::displayDocumentNameOrPath() == Okular::Settings::EnumDisplayDocumentNameOrPath::Path ? realUrl().toDisplayString(QUrl::PreferLocalFile) : realUrl().fileName(); + + if (Okular::Settings::displayDocumentTitle()) { + const QString docTitle = m_document->metaData(QStringLiteral("DocumentTitle")).toString(); + if (!docTitle.isEmpty() && !docTitle.trimmed().isEmpty()) { + title = docTitle; + } + } + + Q_EMIT setWindowCaption(title); +} + +KConfigDialog *Part::slotGeneratorPreferences() +{ + // Create dialog + KConfigDialog *dialog = new Okular::BackendConfigDialog(m_pageView, QStringLiteral("generator_prefs"), Okular::Settings::self()); + dialog->setAttribute(Qt::WA_DeleteOnClose); + + if (m_embedMode == ViewerWidgetMode) { + dialog->setWindowTitle(i18n("Configure Viewer Backends")); + } else { + dialog->setWindowTitle(i18n("Configure Backends")); + } + + m_document->fillConfigDialog(dialog); + + // Show it + dialog->setWindowModality(Qt::ApplicationModal); + dialog->show(); + + return dialog; +} + +void Part::notifySetup(const QList & /*pages*/, int setupFlags) +{ + // Hide the migration message if the user has just migrated. Otherwise, + // if m_migrationMessage is already hidden, this does nothing. + if (!m_document->isDocdataMigrationNeeded()) { + m_migrationMessage->animatedHide(); + } + + if (!(setupFlags & Okular::DocumentObserver::DocumentChanged)) { + return; + } + + rebuildBookmarkMenu(); + updateAboutBackendAction(); + m_findBar->resetSearch(); + m_searchWidget->setEnabled(m_document->supportsSearching()); +} + +void Part::notifyViewportChanged(bool /*smoothMove*/) +{ + updateViewActions(); +} + +void Part::notifyPageChanged(int page, int flags) +{ + if (!(flags & Okular::DocumentObserver::Bookmark)) { + return; + } + + rebuildBookmarkMenu(); + if (page == m_document->viewport().pageNumber) { + updateBookmarksActions(); + } +} + +void Part::goToPage(uint page) +{ + if (page <= m_document->pages()) { + m_document->setViewportPage(page - 1); + } +} + +void Part::openDocument(const QString &doc) +{ + openUrl(QUrl::fromUserInput(doc)); +} + +uint Part::pages() +{ + return m_document->pages(); +} + +uint Part::currentPage() +{ + return m_document->pages() ? m_document->currentPage() + 1 : 0; +} + +QString Part::currentDocument() +{ + return m_document->currentDocument().toDisplayString(QUrl::PreferLocalFile); +} + +QString Part::documentMetaData(const QString &metaData) const +{ + const Okular::DocumentInfo info = m_document->documentInfo(); + return info.get(metaData); +} + +bool Part::slotImportPSFile() +{ + QString app = QStandardPaths::findExecutable(QStringLiteral("ps2pdf")); + if (app.isEmpty()) { + // TODO point the user to their distro packages? + KMessageBox::error(widget(), i18n("The program \"ps2pdf\" was not found, so Okular can not import PS files using it."), i18n("ps2pdf not found")); + return false; + } + + QMimeDatabase mimeDatabase; + QString filter = i18n("PostScript files (%1)", mimeDatabase.mimeTypeForName(QStringLiteral("application/postscript")).globPatterns().join(QLatin1Char(' '))); + + QUrl url = QFileDialog::getOpenFileUrl(widget(), QString(), QUrl(), filter); + if (url.isLocalFile()) { + QTemporaryFile tf(QDir::tempPath() + QLatin1String("/okular_XXXXXX.pdf")); + tf.setAutoRemove(false); + if (!tf.open()) { + return false; + } + m_temporaryLocalFile = tf.fileName(); + tf.close(); + + setLocalFilePath(url.toLocalFile()); + QStringList args; + QProcess *p = new QProcess(); + args << url.toLocalFile() << m_temporaryLocalFile; + m_pageView->displayMessage(i18n("Importing PS file as PDF (this may take a while)…")); + connect(p, QOverload::of(&QProcess::finished), this, &Part::psTransformEnded); + p->start(app, args); + return true; + } + + m_temporaryLocalFile.clear(); + return false; +} + +void Part::setFileToWatch(const QString &filePath) +{ + if (!m_watchedFilePath.isEmpty()) { + unsetFileToWatch(); + } + + const QFileInfo fi(filePath); + + m_watchedFilePath = filePath; + m_watcher->addFile(m_watchedFilePath); + + if (fi.isSymLink()) { + m_watchedFileSymlinkTarget = fi.symLinkTarget(); + m_watcher->addFile(m_watchedFileSymlinkTarget); + } else { + m_watchedFileSymlinkTarget.clear(); + } +} + +void Part::unsetFileToWatch() +{ + if (m_watchedFilePath.isEmpty()) { + return; + } + + m_watcher->removeFile(m_watchedFilePath); + + if (!m_watchedFileSymlinkTarget.isEmpty()) { + m_watcher->removeFile(m_watchedFileSymlinkTarget); + } + + m_watchedFilePath.clear(); + m_watchedFileSymlinkTarget.clear(); +} + +Document::OpenResult Part::doOpenFile(const QMimeType &mimeA, const QString &fileNameToOpenA, bool *isCompressedFile) +{ + QMimeDatabase db; + Document::OpenResult openResult = Document::OpenError; + bool uncompressOk = true; + QMimeType mime = mimeA; + QString fileNameToOpen = fileNameToOpenA; + KCompressionDevice::CompressionType compressionType = compressionTypeFor(mime.name()); + if (compressionType != KCompressionDevice::None) { + *isCompressedFile = true; + uncompressOk = handleCompressed(fileNameToOpen, localFilePath(), compressionType); + mime = db.mimeTypeForFile(fileNameToOpen); + } else { + *isCompressedFile = false; + } + + if (m_swapInsteadOfOpening) { + m_swapInsteadOfOpening = false; + + if (!uncompressOk) { + return Document::OpenError; + } + + if (mime.inherits(QStringLiteral("application/vnd.kde.okular-archive"))) { + isDocumentArchive = true; + if (!m_document->swapBackingFileArchive(fileNameToOpen, url())) { + return Document::OpenError; + } + } else { + isDocumentArchive = false; + if (!m_document->swapBackingFile(fileNameToOpen, url())) { + return Document::OpenError; + } + } + + m_fileLastModified = QFileInfo(localFilePath()).lastModified(); + return Document::OpenSuccess; + } + + isDocumentArchive = false; + if (uncompressOk) { + if (mime.inherits(QStringLiteral("application/vnd.kde.okular-archive"))) { + openResult = m_document->openDocumentArchive(fileNameToOpen, url()); + isDocumentArchive = true; + } else { + openResult = m_document->openDocument(fileNameToOpen, url(), mime); + } + m_documentOpenWithPassword = false; + + // if the file didn't open correctly it might be encrypted, so ask for a pass +#if HAVE_KWALLET + QString walletName, walletFolder, walletKey; + m_document->walletDataForFile(fileNameToOpen, &walletName, &walletFolder, &walletKey); + bool triedWallet = false; + KWallet::Wallet *wallet = nullptr; + bool keep = true; +#endif + bool firstInput = true; + while (openResult == Document::OpenNeedsPassword) { + QString password; + +#if HAVE_KWALLET + // 1.A. try to retrieve the first password from the kde wallet system + if (!triedWallet && !walletKey.isNull()) { + const WId parentwid = widget()->effectiveWinId(); + wallet = KWallet::Wallet::openWallet(walletName, parentwid); + if (wallet) { + // use the KPdf folder (and create if missing) + if (!wallet->hasFolder(walletFolder)) { + wallet->createFolder(walletFolder); + } + wallet->setFolder(walletFolder); + + // look for the pass in that folder + QString retrievedPass; + if (!wallet->readPassword(walletKey, retrievedPass)) { + password = retrievedPass; + } + } + triedWallet = true; + } +#endif + + // 1.B. if not retrieved, ask the password using the kde password dialog + if (password.isNull()) { + QString prompt; + if (firstInput) { + prompt = i18n("Please enter the password to read the document:"); + } else { + prompt = i18n("Incorrect password. Try again:"); + } + firstInput = false; + + // if the user presses cancel, abort opening +#if HAVE_KWALLET + const KPasswordDialog::KPasswordDialogFlags dlgFlags = wallet ? KPasswordDialog::ShowKeepPassword : KPasswordDialog::KPasswordDialogFlags(); +#else + const KPasswordDialog::KPasswordDialogFlags dlgFlags; +#endif + KPasswordDialog dlg(widget(), dlgFlags); + dlg.setWindowTitle(i18n("Document Password")); + dlg.setPrompt(prompt); + if (!dlg.exec()) { + break; + } + password = dlg.password(); +#if HAVE_KWALLET + if (wallet) { + keep = dlg.keepPassword(); + } +#endif + } + + // 2. reopen the document using the password + if (mime.inherits(QStringLiteral("application/vnd.kde.okular-archive"))) { + openResult = m_document->openDocumentArchive(fileNameToOpen, url(), password); + isDocumentArchive = true; + } else { + openResult = m_document->openDocument(fileNameToOpen, url(), mime, password); + } + + if (openResult == Document::OpenSuccess) { + m_documentOpenWithPassword = true; + +#if HAVE_KWALLET + // 3. if the password is correct and the user chose to remember it, store it to the wallet + if (wallet && /*safety check*/ wallet->isOpen() && keep) { + wallet->writePassword(walletKey, password); + } +#endif + } + } + } + + if (openResult == Document::OpenSuccess) { + m_fileLastModified = QFileInfo(localFilePath()).lastModified(); + m_warnedAboutModifyingUnsaveableDocument = false; + } + return openResult; +} + +bool Part::openFile() +{ + QList mimes; + QString fileNameToOpen = localFilePath(); + const bool isstdin = url().isLocalFile() && url().fileName() == QLatin1String("-"); + const QFileInfo fileInfo(fileNameToOpen); + if ((!isstdin) && (!fileInfo.exists())) { + return false; + } + QMimeDatabase db; + QMimeType pathMime = db.mimeTypeForFile(fileNameToOpen); + if (!arguments().mimeType().isEmpty()) { + QMimeType argMime = db.mimeTypeForName(arguments().mimeType()); + + // Select the "childmost" mimetype, if none of them + // inherits the other trust more what pathMime says + // but still do a second try if that one fails + if (argMime.inherits(pathMime.name())) { + mimes << argMime; + } else if (pathMime.inherits(argMime.name())) { + mimes << pathMime; + } else { + mimes << pathMime << argMime; + } + + // text is super annoying because it always succeeds when opening so try to make sure + // that we don't set it as first mime unless we're really sure it is that. + // If it could be something else based on the content we try that first but only if that content itself + // is not text or if it's a supported text child like markdown + if (mimes[0].inherits(QStringLiteral("text/plain"))) { + const QMimeType contentMime = db.mimeTypeForFile(fileNameToOpen, QMimeDatabase::MatchContent); + if (!contentMime.inherits(QStringLiteral("text/plain"))) { + mimes.prepend(contentMime); + } else if (contentMime.name() != QLatin1String("text/plain")) { + const QStringList supportedMimes = m_document->supportedMimeTypes(); + if (supportedMimes.contains(contentMime.name())) { + mimes.prepend(contentMime); + } + } + } + } else { + mimes << pathMime; + } + + QMimeType mime; + Document::OpenResult openResult = Document::OpenError; + bool isCompressedFile = false; + while (!mimes.isEmpty() && openResult == Document::OpenError) { + mime = mimes.takeFirst(); + openResult = doOpenFile(mime, fileNameToOpen, &isCompressedFile); + } + + bool canSearch = m_document->supportsSearching(); + Q_EMIT mimeTypeChanged(mime); + + // update one-time actions + const bool ok = openResult == Document::OpenSuccess; + Q_EMIT enableCloseAction(ok); + m_find->setEnabled(ok && canSearch); + m_findNext->setEnabled(ok && canSearch); + m_findPrev->setEnabled(ok && canSearch); + if (m_save) { + m_save->setEnabled(ok && !(isstdin || mime.inherits(QStringLiteral("inode/directory")))); + } + if (m_saveAs) { + m_saveAs->setEnabled(ok && !(isstdin || mime.inherits(QStringLiteral("inode/directory")))); + } + Q_EMIT enablePrintAction(ok && m_document->printingSupport() != Okular::Document::NoPrinting); + m_printPreview->setEnabled(ok && m_document->printingSupport() != Okular::Document::NoPrinting); + m_showProperties->setEnabled(ok); + if (m_openContainingFolder) { + m_openContainingFolder->setEnabled(ok); + } + bool hasEmbeddedFiles = ok && m_document->embeddedFiles() && m_document->embeddedFiles()->count() > 0; + if (m_showEmbeddedFiles) { + m_showEmbeddedFiles->setEnabled(hasEmbeddedFiles); + } + m_topMessage->setVisible(hasEmbeddedFiles && Okular::Settings::showEmbeddedContentMessages()); + m_migrationMessage->setVisible(m_document->isDocdataMigrationNeeded()); + + // Warn the user that XFA forms are not supported yet (NOTE: poppler generator only) + if (ok && Okular::Settings::showEmbeddedContentMessages() && m_document->metaData(QStringLiteral("HasUnsupportedXfaForm")).toBool() == true) { + m_formsMessage->setText(i18n("This document has XFA forms, which are currently unsupported.")); + m_formsMessage->setIcon(QIcon::fromTheme(QStringLiteral("dialog-warning"))); + m_formsMessage->setMessageType(KMessageWidget::Warning); + m_formsMessage->setVisible(true); + } + // m_pageView->toggleFormsAction() may be null on dummy mode + else if (ok && Okular::Settings::showEmbeddedContentMessages() && m_pageView->toggleFormsAction() && m_pageView->toggleFormsAction()->isEnabled()) { + m_formsMessage->setText(i18n("This document has forms. Click on the button to interact with them, or use View -> Show Forms.")); + m_formsMessage->setMessageType(KMessageWidget::Information); + m_formsMessage->setVisible(true); + } else { + m_formsMessage->setVisible(false); + } + + if (ok) { + KMessageWidget::MessageType messageType; + QString message; + + std::tie(messageType, message) = SignatureGuiUtils::documentSignatureMessageWidgetText(m_document); + + if (!message.isEmpty()) { + if (m_embedMode == PrintPreviewMode) { + if (Okular::Settings::showEmbeddedContentMessages()) { + m_signatureMessage->setText(i18n("All editing and interactive features for this document are disabled. Please save a copy and reopen to edit this document.")); + m_signatureMessage->setVisible(true); + } + } else { + if (Okular::Settings::showEmbeddedContentMessages() || messageType > KMessageWidget::Information) { + m_signatureMessage->setMessageType(messageType); + m_signatureMessage->setText(message); + m_signatureMessage->setVisible(true); + } + } + } + } + + if (m_showPresentation) { + m_showPresentation->setEnabled(ok); + } + if (ok) { + if (m_exportAs) { + m_exportFormats = m_document->exportFormats(); + QList::ConstIterator it = m_exportFormats.constBegin(); + QList::ConstIterator itEnd = m_exportFormats.constEnd(); + QMenu *menu = m_exportAs->menu(); + for (; it != itEnd; ++it) { + menu->addAction(actionForExportFormat(*it)); + } + } +#if HAVE_PURPOSE + if (m_share) { + m_shareMenu->model()->setInputData(QJsonObject {{QStringLiteral("mimeType"), mime.name()}, {QStringLiteral("urls"), QJsonArray {url().toString()}}}); + m_shareMenu->model()->setPluginType(QStringLiteral("Export")); + m_shareMenu->reload(); + } +#endif + if (isCompressedFile) { + m_realUrl = url(); + } +#ifdef OKULAR_KEEP_FILE_OPEN + if (keepFileOpen()) + m_keeper->open(fileNameToOpen); +#endif + + // Tries to find the text passed from terminal after the file is open + if (!m_textToFindOnOpen.isEmpty()) { + m_findBar->startSearch(m_textToFindOnOpen); + m_textToFindOnOpen = QString(); + } + } + if (m_exportAsText) { + m_exportAsText->setEnabled(ok && m_document->canExportToText()); + } + if (m_exportAs) { + m_exportAs->setEnabled(ok); + } +#if HAVE_PURPOSE + if (m_share) { + m_share->setEnabled(ok); + } +#endif + + // update viewing actions + updateViewActions(); + + m_fileWasRemoved = false; + + if (!ok) { + // if can't open document, update windows so they display blank contents + m_pageView->viewport()->update(); + m_thumbnailList->update(); + setUrl(QUrl()); + return false; + } + + // set the file to the fileWatcher + if (url().isLocalFile()) { + setFileToWatch(localFilePath()); + } + + // if the 'OpenTOC' flag is set, open the TOC + if (m_document->metaData(QStringLiteral("OpenTOC")).toBool() && m_tocEnabled && m_sidebar->currentItem() != m_toc) { + m_sidebar->setCurrentItem(m_toc); + } + // if the 'StartFullScreen' flag is set and we're not in viewer widget mode, or the command line flag was + // specified, start presentation + const bool presentationBecauseOfDocumentMetadata = (m_embedMode != ViewerWidgetMode) && m_document->metaData(QStringLiteral("StartFullScreen")).toBool(); + if ((presentationBecauseOfDocumentMetadata || m_cliPresentation) && !m_isReloading) { + bool goAheadWithPresentationMode = true; + if (!m_cliPresentation) { + const QString text = i18n( + "This document wants to be shown full screen.\n" + "Leave normal mode and enter presentation mode?"); + const QString caption = i18n("Request to Change Viewing Mode"); + const KGuiItem yesItem = KGuiItem(i18n("Enter Presentation Mode"), QStringLiteral("dialog-ok")); + const KGuiItem noItem = KGuiItem(i18n("Deny Request"), QStringLiteral("dialog-cancel")); + const int result = KMessageBox::questionTwoActions(widget(), text, caption, yesItem, noItem); + if (result == KMessageBox::SecondaryAction) { + goAheadWithPresentationMode = false; + } + } + m_cliPresentation = false; + if (goAheadWithPresentationMode) { + QMetaObject::invokeMethod(this, "slotShowPresentation", Qt::QueuedConnection); + } + } + m_generatorGuiClient = factory() ? m_document->guiClient() : nullptr; + if (m_generatorGuiClient) { + factory()->addClient(m_generatorGuiClient); + } + if (m_cliPrint) { + m_cliPrint = false; + slotPrint(); + } else if (m_cliPrintAndExit) { + slotPrint(); + } + return true; +} + +bool Part::openUrl(const QUrl &url) +{ + return openUrl(url, false /* swapInsteadOfOpening */); +} + +bool Part::openUrl(const QUrl &_url, bool swapInsteadOfOpening) +{ + /* Store swapInsteadOfOpening, so that closeUrl and openFile will be able + * to read it */ + m_swapInsteadOfOpening = swapInsteadOfOpening; + + // The subsequent call to closeUrl clears the arguments. + // We want to save them and restore them later. + const KParts::OpenUrlArguments args = arguments(); + + // Close current document if any + if (!closeUrl()) { + return false; + } + + setArguments(args); + + QUrl url(_url); + if (url.hasFragment()) { + m_urlWithFragment = _url; + const QString dest = url.fragment(QUrl::FullyDecoded); + bool ok = true; + int page = dest.toInt(&ok); + + if (!ok) { + const QList parameters = QStringView(dest).split(QLatin1Char('&')); + for (const QStringView parameter : parameters) { + if (parameter.startsWith(QLatin1String("page="), Qt::CaseInsensitive)) { + page = QStringView(dest).mid(5).toInt(&ok); + } + } + } + + if (ok) { + Okular::DocumentViewport vp(page - 1); + vp.rePos.enabled = true; + vp.rePos.normalizedX = 0; + vp.rePos.normalizedY = 0; + vp.rePos.pos = Okular::DocumentViewport::TopLeft; + m_document->setNextDocumentViewport(vp); + } else { + m_document->setNextDocumentDestination(dest); + } + url.setFragment(QString()); + } else { + m_urlWithFragment.clear(); + } + + // this calls in sequence the 'closeUrl' and 'openFile' methods + bool openOk = KParts::ReadWritePart::openUrl(url); + + if (openOk) { + m_viewportDirty.pageNumber = -1; + + setWindowTitleFromDocument(); + } else { + if (m_urlWithFragment.isValid() && m_urlWithFragment.isLocalFile()) { + openOk = tryOpeningUrlWithFragmentAsName(); + } else { + resetStartArguments(); + /* TRANSLATORS: Adding the reason (%2) why the opening failed (if any). */ + QString errorMessageString = i18n("Could not open %1. %2", url.toDisplayString(), QStringLiteral("\n%1").arg(m_document->openError())); + KMessageBox::error(widget(), errorMessageString); + } + } + + return openOk; +} + +bool Part::tryOpeningUrlWithFragmentAsName() +{ + QUrl url = m_urlWithFragment; + url.setPath(url.path() + QLatin1Char('#') + url.fragment()); + url.setFragment(QString()); + return openUrl(url); +} + +bool Part::queryClose() +{ + if (!isReadWrite() || !isModified()) { + return true; + } + + // TODO When we get different saving backends we need to query the backend + // as to if it can save changes even if the open file has been modified, + // since we only have poppler as saving backend for now we're skipping that check + if (m_fileLastModified != QFileInfo(localFilePath()).lastModified()) { + int res; + if (m_isReloading) { + res = KMessageBox::warningContinueCancel(widget(), + xi18nc("@info", + "The file %1 has unsaved changes but has been modified by another program. Reloading it " + "will replace the unsaved changes with the changes made in the other " + "program.Do you want to continue reloading the file?", + url().fileName()), + i18n("File Changed"), + KGuiItem(i18n("Continue Reloading")), // <- KMessageBox::Continue + KGuiItem(i18n("Abort Reloading"))); + } else { + res = KMessageBox::warningContinueCancel(widget(), + xi18nc("@info", + "The file %1 has unsaved changes but has been modified by another program. Closing it " + "will replace the unsaved changes with the changes made in the other " + "program.Do you want to continue closing the file?", + url().fileName()), + i18n("File Changed"), + KGuiItem(i18n("Continue Closing")), // <- KMessageBox::Continue + KGuiItem(i18n("Abort Closing"))); + } + return res == KMessageBox::Continue; + } + + // Not all things are saveable (e.g. files opened from stdin, folders) + if (m_save->isEnabled()) { + const int res = KMessageBox::warningTwoActionsCancel(widget(), i18n("Do you want to save your changes to \"%1\" or discard them?", url().fileName()), i18n("Close Document"), KStandardGuiItem::save(), KStandardGuiItem::discard()); + + switch (res) { + case KMessageBox::PrimaryAction: // Save + saveFile(); + return !isModified(); // Only allow closing if file was really saved + case KMessageBox::SecondaryAction: // Discard + return true; + default: // Cancel + return false; + } + } else { + return true; + } +} + +bool Part::closeUrl(bool promptToSave) +{ + if (promptToSave && !queryClose()) { + return false; + } + + if (m_swapInsteadOfOpening) { + // If we're swapping the backing file, we don't want to close the + // current one when openUrl() calls us internally + return true; // pretend it worked + } + + m_document->setHistoryClean(true); + + if (!m_temporaryLocalFile.isNull() && m_temporaryLocalFile != localFilePath()) { + QFile::remove(m_temporaryLocalFile); + m_temporaryLocalFile.clear(); + } + + slotHidePresentation(); + Q_EMIT enableCloseAction(false); + m_find->setEnabled(false); + m_findNext->setEnabled(false); + m_findPrev->setEnabled(false); + if (m_save) { + m_save->setEnabled(false); + } + if (m_saveAs) { + m_saveAs->setEnabled(false); + } + m_printPreview->setEnabled(false); + m_showProperties->setEnabled(false); + if (m_showEmbeddedFiles) { + m_showEmbeddedFiles->setEnabled(false); + } + if (m_exportAs) { + m_exportAs->setEnabled(false); + } + if (m_exportAsText) { + m_exportAsText->setEnabled(false); + } + m_exportFormats.clear(); + if (m_exportAs) { + QMenu *menu = m_exportAs->menu(); + QList acts = menu->actions(); + int num = acts.count(); + for (int i = 1; i < num; ++i) { + menu->removeAction(acts.at(i)); + delete acts.at(i); + } + } +#if HAVE_PURPOSE + if (m_share) { + m_share->setEnabled(false); + m_shareMenu->clear(); + } +#endif + if (m_showPresentation) { + m_showPresentation->setEnabled(false); + } + Q_EMIT setWindowCaption(QLatin1String("")); + Q_EMIT enablePrintAction(false); + m_realUrl = QUrl(); + if (url().isLocalFile()) { + unsetFileToWatch(); + } + m_fileWasRemoved = false; + if (m_generatorGuiClient) { + factory()->removeClient(m_generatorGuiClient); + } + m_generatorGuiClient = nullptr; + m_document->closeDocument(); + m_fileLastModified = QDateTime(); + updateViewActions(); + delete m_tempfile; + m_tempfile = nullptr; + if (widget()) { + m_searchWidget->clearText(); + m_migrationMessage->setVisible(false); + m_topMessage->setVisible(false); + m_formsMessage->setVisible(false); + m_signatureMessage->setVisible(false); + } +#ifdef OKULAR_KEEP_FILE_OPEN + m_keeper->close(); +#endif + bool r = KParts::ReadWritePart::closeUrl(); + setUrl(QUrl()); + + return r; +} + +bool Part::closeUrl() +{ + return closeUrl(true); +} + +void Part::guiActivateEvent(KParts::GUIActivateEvent *event) +{ + updateViewActions(); + + KParts::ReadWritePart::guiActivateEvent(event); + + setWindowTitleFromDocument(); + + if (event->activated()) { + m_pageView->setupActionsPostGUIActivated(); + rebuildBookmarkMenu(); + } +} + +void Part::close() +{ + if (m_embedMode == NativeShellMode) { + closeUrl(); + } else { + KMessageBox::information(widget(), i18n("This link points to a close document action that does not work when using the embedded viewer."), QString(), QStringLiteral("warnNoCloseIfNotInOkular")); + } +} + +void Part::cannotQuit() +{ + KMessageBox::information(widget(), i18n("This link points to a quit application action that does not work when using the embedded viewer."), QString(), QStringLiteral("warnNoQuitIfNotInOkular")); +} + +void Part::slotShowLeftPanel() +{ + bool showLeft = m_showLeftPanel->isChecked(); + Okular::Settings::setShowLeftPanel(showLeft); + Okular::Settings::self()->save(); + // show/hide left panel + m_sidebar->setSidebarVisibility(showLeft); +} + +void Part::slotShowBottomBar() +{ + const bool showBottom = m_showBottomBar->isChecked(); + Okular::Settings::setShowBottomBar(showBottom); + Okular::Settings::self()->save(); + // show/hide bottom bar + m_bottomBar->setVisible(showBottom); +} + +void Part::slotFileDirty(const QString &path) +{ + // The beauty of this is that each start cancels the previous one. + // This means that timeout() is only fired when there have + // no changes to the file for the last 750 millisecs. + // This ensures that we don't update on every other byte that gets + // written to the file. + if (path == localFilePath()) { + // Only start watching the file in case if it wasn't removed + if (QFile::exists(localFilePath())) { + m_dirtyHandler->start(750); + } else { + m_fileWasRemoved = true; + } + } else { + const QFileInfo fi(localFilePath()); + if (fi.absolutePath() == path) { + // Our parent has been dirtified + if (!QFile::exists(localFilePath())) { + m_fileWasRemoved = true; + } else if (m_fileWasRemoved && QFile::exists(localFilePath())) { + // we need to watch the new file + unsetFileToWatch(); + setFileToWatch(localFilePath()); + m_dirtyHandler->start(750); + } + } else if (fi.isSymLink() && fi.symLinkTarget() == path) { + if (QFile::exists(fi.symLinkTarget())) { + m_dirtyHandler->start(750); + } else { + m_fileWasRemoved = true; + } + } + } +} + +// Attempt to reload the document, one or more times, optionally from a different URL +bool Part::slotAttemptReload(bool oneShot, const QUrl &newUrl) +{ + // Skip reload when another reload is already in progress + if (m_isReloading) { + return false; + } + QScopedValueRollback rollback(m_isReloading, true); + + bool tocReloadPrepared = false; + + // do the following the first time the file is reloaded + if (m_viewportDirty.pageNumber == -1) { + // store the url of the current document + m_oldUrl = newUrl.isEmpty() ? url() : newUrl; + + // store the current viewport + m_viewportDirty = m_document->viewport(); + + // store the current toolbox pane + m_dirtyToolboxItem = m_sidebar->currentItem(); + m_wasSidebarVisible = m_sidebar->isSidebarVisible(); + + // store if presentation view was open + m_wasPresentationOpen = (m_presentationWidget != nullptr); + + // preserves the toc state after reload + m_toc->prepareForReload(); + tocReloadPrepared = true; + + // store the page rotation + m_dirtyPageRotation = m_document->rotation(); + + // inform the user about the operation in progress + // TODO: Remove this line and integrate reload info in queryClose + m_pageView->displayMessage(i18n("Reloading the document…")); + } + + // close and (try to) reopen the document + if (!closeUrl()) { + m_viewportDirty.pageNumber = -1; + + if (tocReloadPrepared) { + m_toc->rollbackReload(); + } + return false; + } + + if (tocReloadPrepared) { + m_toc->finishReload(); + } + + // inform the user about the operation in progress + m_pageView->displayMessage(i18n("Reloading the document…")); + + bool reloadSucceeded = false; + + if (KParts::ReadWritePart::openUrl(m_oldUrl)) { + // on successful opening, restore the previous viewport + if (m_viewportDirty.pageNumber >= (int)m_document->pages()) { + m_viewportDirty.pageNumber = (int)m_document->pages() - 1; + } + m_document->setViewport(m_viewportDirty); + m_oldUrl = QUrl(); + m_viewportDirty.pageNumber = -1; + m_document->setRotation(m_dirtyPageRotation); + if (m_sidebar->currentItem() != m_dirtyToolboxItem) { + m_sidebar->setCurrentItem(m_dirtyToolboxItem); + } + if (m_sidebar->isSidebarVisible() != m_wasSidebarVisible) { + m_sidebar->setSidebarVisibility(m_wasSidebarVisible); + } + if (m_wasPresentationOpen) { + slotShowPresentation(); + } + Q_EMIT enablePrintAction(true && m_document->printingSupport() != Okular::Document::NoPrinting); + + reloadSucceeded = true; + } else if (!oneShot) { + // start watching the file again (since we dropped it on close) + setFileToWatch(localFilePath()); + m_dirtyHandler->start(750); + } + + return reloadSucceeded; +} + +void Part::updateViewActions() +{ + bool opened = m_document->pages() > 0; + if (opened) { + m_gotoPage->setEnabled(m_document->pages() > 1); + + // Check if you are at the beginning or not + if (m_document->currentPage() != 0) { + m_beginningOfDocument->setEnabled(true); + m_prevPage->setEnabled(true); + } else { + if (m_pageView->verticalScrollBar()->value() != 0) { + // The page isn't at the very beginning + m_beginningOfDocument->setEnabled(true); + } else { + // The page is at the very beginning of the document + m_beginningOfDocument->setEnabled(false); + } + // The document is at the first page, you can go to a page before + m_prevPage->setEnabled(false); + } + + if (m_document->pages() == m_document->currentPage() + 1) { + // If you are at the end, disable go to next page + m_nextPage->setEnabled(false); + if (m_pageView->verticalScrollBar()->value() == m_pageView->verticalScrollBar()->maximum()) { + // If you are the end of the page of the last document, you can't go to the last page + m_endOfDocument->setEnabled(false); + } else { + // Otherwise you can move to the endif + m_endOfDocument->setEnabled(true); + } + } else { + // If you are not at the end, enable go to next page + m_nextPage->setEnabled(true); + m_endOfDocument->setEnabled(true); + } + + if (m_historyBack) { + m_historyBack->setEnabled(!m_document->historyAtBegin()); + } + if (m_historyNext) { + m_historyNext->setEnabled(!m_document->historyAtEnd()); + } + m_reload->setEnabled(true); + if (m_copy) { + m_copy->setEnabled(true); + } + if (m_selectAll) { + m_selectAll->setEnabled(true); + } + if (m_selectCurrentPage) { + m_selectCurrentPage->setEnabled(true); + } + } else { + m_gotoPage->setEnabled(false); + m_beginningOfDocument->setEnabled(false); + m_endOfDocument->setEnabled(false); + m_prevPage->setEnabled(false); + m_nextPage->setEnabled(false); + if (m_historyBack) { + m_historyBack->setEnabled(false); + } + if (m_historyNext) { + m_historyNext->setEnabled(false); + } + m_reload->setEnabled(false); + if (m_copy) { + m_copy->setEnabled(false); + } + if (m_selectAll) { + m_selectAll->setEnabled(false); + } + if (m_selectCurrentPage) { + m_selectCurrentPage->setEnabled(false); + } + } + + if (factory()) { + QWidget *menu = factory()->container(QStringLiteral("menu_okular_part_viewer"), this); + if (menu) { + menu->setEnabled(opened); + } + + menu = factory()->container(QStringLiteral("view_orientation"), this); + if (menu) { + menu->setEnabled(opened); + } + } + Q_EMIT viewerMenuStateChange(opened); + + updateBookmarksActions(); +} + +void Part::updateBookmarksActions() +{ + bool opened = m_document->pages() > 0; + if (opened) { + m_addBookmark->setEnabled(true); + if (m_document->bookmarkManager()->isBookmarked(m_document->viewport())) { + m_addBookmark->setText(i18n("Remove Bookmark")); + m_addBookmark->setIcon(QIcon::fromTheme(QStringLiteral("bookmark-remove"), QIcon::fromTheme(QStringLiteral("edit-delete-bookmark")))); + m_renameBookmark->setEnabled(true); + } else { + m_addBookmark->setText(m_addBookmarkText); + m_addBookmark->setIcon(m_addBookmarkIcon); + m_renameBookmark->setEnabled(false); + } + } else { + m_addBookmark->setEnabled(false); + m_addBookmark->setText(m_addBookmarkText); + m_addBookmark->setIcon(m_addBookmarkIcon); + m_renameBookmark->setEnabled(false); + } +} + +void Part::enableTOC(bool enable) +{ + if (!enable) { + m_tocEnabled = false; + return; + } + + m_sidebar->addItem(m_toc, QIcon::fromTheme(QApplication::isLeftToRight() ? QStringLiteral("format-justify-left") : QStringLiteral("format-justify-right")), i18n("Contents")); + m_tocEnabled = true; + + // If present, show the TOC when a document is opened + if (m_sidebar->currentItem() != m_toc) { + m_sidebar->setCurrentItem(m_toc); + } +} + +void Part::slotRebuildBookmarkMenu() +{ + rebuildBookmarkMenu(); +} + +void Part::enableLayers(bool enable) +{ + if (!enable) { + return; + } + + m_sidebar->addItem(m_layers, QIcon::fromTheme(QStringLiteral("format-list-unordered")), i18n("Layers")); +} + +void Part::enableSidebarSignaturesItem(bool enable) +{ + if (!enable) { + return; + } + + m_sidebar->addItem(m_signaturePanel, QIcon::fromTheme(QStringLiteral("application-pkcs7-signature")), i18n("Signatures")); +} + +void Part::slotShowFindBar() +{ + m_findBar->show(); + m_findBar->focusAndSetCursor(); + m_closeFindBar->setEnabled(true); +} + +void Part::slotHideFindBar() +{ + if (m_findBar->maybeHide()) { + m_pageView->setFocus(); + m_closeFindBar->setEnabled(false); + } +} + +// BEGIN go to page dialog +class GotoPageDialog : public QDialog +{ + Q_OBJECT + +public: + GotoPageDialog(QWidget *p, int current, int max) + : QDialog(p) + { + setWindowTitle(i18n("Go to Page")); + buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, this); + connect(buttonBox, &QDialogButtonBox::accepted, this, &QDialog::accept); + connect(buttonBox, &QDialogButtonBox::rejected, this, &QDialog::reject); + + QVBoxLayout *topLayout = new QVBoxLayout(this); + topLayout->setContentsMargins(6, 6, 6, 6); + QHBoxLayout *midLayout = new QHBoxLayout(); + spinbox = new QSpinBox(this); + spinbox->setRange(1, max); + spinbox->setValue(current); + spinbox->setFocus(); + + slider = new QSlider(Qt::Horizontal, this); + slider->setRange(1, max); + slider->setValue(current); + slider->setSingleStep(1); + slider->setTickPosition(QSlider::TicksBelow); + slider->setTickInterval(max / 10); + + connect(slider, &QSlider::valueChanged, spinbox, &QSpinBox::setValue); + connect(spinbox, static_cast(&QSpinBox::valueChanged), slider, &QSlider::setValue); + + QLabel *label = new QLabel(i18n("&Page:"), this); + label->setBuddy(spinbox); + topLayout->addWidget(label); + topLayout->addLayout(midLayout); + midLayout->addWidget(slider); + midLayout->addWidget(spinbox); + + // A little bit extra space + topLayout->addStretch(10); + topLayout->addWidget(buttonBox); + spinbox->setFocus(); + } + + int getPage() const + { + return spinbox->value(); + } + +protected: + QSpinBox *spinbox; + QSlider *slider; + QDialogButtonBox *buttonBox; +}; +// END go to page dialog + +void Part::slotGoToPage() +{ + GotoPageDialog pageDialog(m_pageView, m_document->currentPage() + 1, m_document->pages()); + if (pageDialog.exec() == QDialog::Accepted) { + m_document->setViewportPage(pageDialog.getPage() - 1, nullptr, true); + } +} + +void Part::slotPreviousPage() +{ + if (m_document->isOpened() && !(m_document->currentPage() < 1)) { + m_document->setViewportPage(m_document->currentPage() - 1, nullptr, true); + } +} + +void Part::slotNextPage() +{ + if (m_document->isOpened() && m_document->currentPage() < (m_document->pages() - 1)) { + m_document->setViewportPage(m_document->currentPage() + 1, nullptr, true); + } +} + +void Part::slotGotoFirst() +{ + if (m_document->isOpened()) { + m_document->setViewportPage(0, nullptr, true); + m_beginningOfDocument->setEnabled(false); + } +} + +void Part::slotGotoLast() +{ + if (m_document->isOpened()) { + DocumentViewport endPage(m_document->pages() - 1); + endPage.rePos.enabled = true; + endPage.rePos.normalizedX = 0; + endPage.rePos.normalizedY = 1; + endPage.rePos.pos = Okular::DocumentViewport::TopLeft; + m_document->setViewport(endPage, nullptr, true); + m_endOfDocument->setEnabled(false); + } +} + +void Part::slotHistoryBack() +{ + m_document->setPrevViewport(); +} + +void Part::slotHistoryNext() +{ + m_document->setNextViewport(); +} + +void Part::slotAddBookmark() +{ + DocumentViewport vp = m_document->viewport(); + if (m_document->bookmarkManager()->isBookmarked(vp)) { + m_document->bookmarkManager()->removeBookmark(vp); + } else { + m_document->bookmarkManager()->addBookmark(vp); + } +} + +void Part::slotRenameBookmark(const DocumentViewport &viewport) +{ + Q_ASSERT(m_document->bookmarkManager()->isBookmarked(viewport)); + if (m_document->bookmarkManager()->isBookmarked(viewport)) { + KBookmark bookmark = m_document->bookmarkManager()->bookmark(viewport); + const QString newName = QInputDialog::getText(widget(), i18n("Rename Bookmark"), i18n("Enter the new name of the bookmark:"), QLineEdit::Normal, bookmark.fullText()); + if (!newName.isEmpty()) { + m_document->bookmarkManager()->renameBookmark(&bookmark, newName); + } + } +} + +void Part::slotRenameBookmarkFromMenu() +{ + QAction *action = dynamic_cast(sender()); + Q_ASSERT(action); + if (action) { + DocumentViewport vp(action->data().toString()); + slotRenameBookmark(vp); + } +} + +void Part::slotRemoveBookmarkFromMenu() +{ + QAction *action = dynamic_cast(sender()); + Q_ASSERT(action); + if (action) { + DocumentViewport vp(action->data().toString()); + slotRemoveBookmark(vp); + } +} + +void Part::slotRemoveBookmark(const DocumentViewport &viewport) +{ + Q_ASSERT(m_document->bookmarkManager()->isBookmarked(viewport)); + if (m_document->bookmarkManager()->isBookmarked(viewport)) { + m_document->bookmarkManager()->removeBookmark(viewport); + } +} + +void Part::slotRenameCurrentViewportBookmark() +{ + slotRenameBookmark(m_document->viewport()); +} + +bool Part::aboutToShowContextMenu(QMenu * /*menu*/, QAction *action, QMenu *contextMenu) +{ + KBookmarkAction *ba = dynamic_cast(action); + if (ba != nullptr) { + QAction *separatorAction = contextMenu->addSeparator(); + separatorAction->setObjectName(QStringLiteral("OkularPrivateRenameBookmarkActions")); + QAction *renameAction = contextMenu->addAction(QIcon::fromTheme(QStringLiteral("edit-rename")), i18n("Rename this Bookmark"), this, &Part::slotRenameBookmarkFromMenu); + renameAction->setData(ba->property("htmlRef").toString()); + renameAction->setObjectName(QStringLiteral("OkularPrivateRenameBookmarkActions")); + QAction *deleteAction = contextMenu->addAction(QIcon::fromTheme(QStringLiteral("bookmark-remove"), QIcon::fromTheme(QStringLiteral("edit-delete-bookmark"))), i18n("Remove this Bookmark"), this, &Part::slotRemoveBookmarkFromMenu); + deleteAction->setData(ba->property("htmlRef").toString()); + deleteAction->setObjectName(QStringLiteral("OkularPrivateRenameBookmarkActions")); + } + return ba; +} + +void Part::slotPreviousBookmark() +{ + const KBookmark bookmark = m_document->bookmarkManager()->previousBookmark(m_document->viewport()); + + if (!bookmark.isNull()) { + DocumentViewport vp(bookmark.url().fragment(QUrl::FullyDecoded)); + m_document->setViewport(vp, nullptr, true); + } +} + +void Part::slotNextBookmark() +{ + const KBookmark bookmark = m_document->bookmarkManager()->nextBookmark(m_document->viewport()); + + if (!bookmark.isNull()) { + DocumentViewport vp(bookmark.url().fragment(QUrl::FullyDecoded)); + m_document->setViewport(vp, nullptr, true); + } +} + +void Part::slotFind() +{ + // when in presentation mode, there's already a search bar, taking care of + // the 'find' requests + if (m_presentationWidget != nullptr) { + m_presentationWidget->slotFind(); + } else { + slotShowFindBar(); + } +} + +void Part::slotFindNext() +{ + if (m_findBar->isHidden()) { + slotShowFindBar(); + } else { + m_findBar->findNext(); + } +} + +void Part::slotFindPrev() +{ + if (m_findBar->isHidden()) { + slotShowFindBar(); + } else { + m_findBar->findPrev(); + } +} + +bool Part::saveFile() +{ + if (!isModified()) { + return true; + } else { + return saveAs(url()); + } +} + +bool Part::slotSaveFileAs(bool showOkularArchiveAsDefaultFormat) +{ + if (m_embedMode == PrintPreviewMode) { + return false; + } + + // Determine the document's mimetype + QMimeDatabase db; + QMimeType originalMimeType; + const QString typeName = m_document->documentInfo().get(DocumentInfo::MimeType); + if (!typeName.isEmpty()) { + originalMimeType = db.mimeTypeForName(typeName); + } + + // What data would we lose if we saved natively? + bool wontSaveForms, wontSaveAnnotations; + checkNativeSaveDataLoss(&wontSaveForms, &wontSaveAnnotations); + + const QMimeType okularArchiveMimeType = db.mimeTypeForName(QStringLiteral("application/vnd.kde.okular-archive")); + + // Prepare "Save As" dialog + const QString originalMimeTypeFilter = i18nc("File type name and pattern", "%1 (%2)", originalMimeType.comment(), originalMimeType.globPatterns().join(QLatin1Char(' '))); + const QString okularArchiveMimeTypeFilter = i18nc("File type name and pattern", "%1 (%2)", okularArchiveMimeType.comment(), okularArchiveMimeType.globPatterns().join(QLatin1Char(' '))); + + // What format choice should we show as default? + QString selectedFilter = (isDocumentArchive || showOkularArchiveAsDefaultFormat || wontSaveForms || wontSaveAnnotations) ? okularArchiveMimeTypeFilter : originalMimeTypeFilter; + + QString filter = originalMimeTypeFilter + QStringLiteral(";;") + okularArchiveMimeTypeFilter; + + const QUrl saveUrl = QFileDialog::getSaveFileUrl(widget(), i18n("Save As"), url(), filter, &selectedFilter); + + if (!saveUrl.isValid() || saveUrl.isEmpty()) { + return false; + } + + // Has the user chosen to save in .okular archive format? + const bool saveAsOkularArchive = (selectedFilter == okularArchiveMimeTypeFilter); + + if (saveAsOkularArchive) { + // Non Plasma file dialogs are terrible and it's very easy to select saving a file as okular archive and call it hello.md + // and that's bad because it is *not* an .md file so tell the user to fix it + Q_ASSERT(okularArchiveMimeType.suffixes().count() == 1); + Q_ASSERT(okularArchiveMimeType.suffixes().at(0) == okularArchiveMimeType.preferredSuffix()); + const QString wantedExtension = QLatin1Char('.') + okularArchiveMimeType.preferredSuffix(); + if (!saveUrl.path().endsWith(wantedExtension)) { + const auto button = KMessageBox::questionTwoActions(widget(), + i18n("You have chosen to save an Okular Archive without the file name ending with the '%1' extension. That is not allowed, do you want to choose a new name?", wantedExtension), + i18n("Unsupported extension"), + KGuiItem(i18nc("@action:button", "Choose New Name"), QStringLiteral("edit-rename")), + KStandardGuiItem::cancel()); + + return button == KMessageBox::PrimaryAction ? slotSaveFileAs(showOkularArchiveAsDefaultFormat) : false; + } + } + + return saveAs(saveUrl, saveAsOkularArchive ? SaveAsOkularArchive : NoSaveAsFlags); +} + +bool Part::saveAs(const QUrl &saveUrl) +{ + // Save in the same format (.okular vs native) as the current file + return saveAs(saveUrl, isDocumentArchive ? SaveAsOkularArchive : NoSaveAsFlags); +} + +static QUrl resolveSymlinksIfFileExists(const QUrl &saveUrl) +{ + if (saveUrl.isLocalFile()) { + const QFileInfo fi(saveUrl.toLocalFile()); + return fi.exists() ? QUrl::fromLocalFile(fi.canonicalFilePath()) : saveUrl; + } else { + return saveUrl; + } +} + +bool Part::saveAs(const QUrl &saveUrl, SaveAsFlags flags) +{ + // TODO When we get different saving backends we need to query the backend + // as to if it can save changes even if the open file has been modified, + // since we only have poppler as saving backend for now we're skipping that check + + // Don't warn the user about external changes if what actually happened was that + // the file on disk was deleted for some reason; in this case just go on normally + // to avoid confusion or data loss. + // Also don't warn if the file was modified on disk but the user is doing a Save As + // with a different URL, since the original changed document is safe so there's + // nothing to warn about. + { + const QFileInfo fi(localFilePath()); + if (fi.exists() && m_fileLastModified != fi.lastModified() && saveUrl == realUrl()) { + const int res = KMessageBox::warningTwoActionsCancel(widget(), + xi18nc("@info", + "The file %1 has been modified by another program. If you save now, any " + "changes made in the other program will be lost. Are you sure you want to continue?", + realUrl().fileName()), + i18n("Save - Warning"), + KStandardGuiItem::cont(), // <- KMessageBox::PrimaryAction + KGuiItem(i18n("Save a Copy Elsewhere")), // <- KMessageBox::SecondaryAction + KStandardGuiItem::cancel()); // <- KMessageBox::Cancel + + if (res == KMessageBox::SecondaryAction) { + slotSaveFileAs(false); + } + if (res != KMessageBox::PrimaryAction) { + return false; + } + } + } + + bool hasUserAcceptedReload = false; + if (m_documentOpenWithPassword) { + const int res = KMessageBox::warningContinueCancel( + widget(), + i18n("The current document is protected with a password.
In order to save, the file needs to be reloaded. You will be asked for the password again and your undo/redo history will be lost.
Do you want to continue?"), + i18n("Save - Warning"), + KStandardGuiItem::cont(), + KStandardGuiItem::cancel()); + + switch (res) { + case KMessageBox::Continue: + hasUserAcceptedReload = true; + // do nothing + break; + case KMessageBox::Cancel: // User said no to continue, so return true even if save didn't happen otherwise we will get an error + return true; + } + } + + bool setModifiedAfterSave = false; + + QString tmpFileName; + // don't turn the file_copy that use this to a file_move + // doesn't work on Windows + bool deleteTmpFileName = false; + { + // Own scope for the QTemporaryFile since we only care about the random name + // we need to destroy it so the file gets deleted otherwise windows will complain + // when trying to save over it because the file is still open + QTemporaryFile tf; + if (!tf.open()) { + KMessageBox::information(widget(), i18n("Could not open the temporary file for saving.")); + return false; + } + tmpFileName = tf.fileName(); + } + + // Figure out the real save url, for symlinks we don't want to copy over the symlink but over the target file + const QUrl realSaveUrl = resolveSymlinksIfFileExists(saveUrl); + + // Due to the way we write we can overwrite readonly files so check if it's one and just bail out early + if (realSaveUrl.isLocalFile()) { + const QFileInfo fi(realSaveUrl.toLocalFile()); + if (fi.exists() && !fi.isWritable()) { + KMessageBox::information(widget(), xi18nc("@info", "Could not overwrite %1 because that file is read-only. Try saving to another location or changing that file's permissions.", realSaveUrl.toLocalFile())); + return false; + } + } + + QScopedPointer tempFile; + KIO::Job *copyJob = nullptr; // this will be filled with the job that writes to saveUrl + + // Does the user want a .okular archive? + if (flags & SaveAsOkularArchive) { + if (!hasUserAcceptedReload && !m_document->canSwapBackingFile()) { + const int res = KMessageBox::warningContinueCancel(widget(), + i18n("After saving, the current document format requires the file to be reloaded. Your undo/redo history will be lost.
Do you want to continue?"), + i18n("Save - Warning"), + KStandardGuiItem::cont(), + KStandardGuiItem::cancel()); + + switch (res) { + case KMessageBox::Continue: + // do nothing + break; + case KMessageBox::Cancel: // User said no to continue, so return true even if save didn't happen otherwise we will get an error + return true; + } + } + + if (!m_document->saveDocumentArchive(tmpFileName)) { + KMessageBox::information(widget(), i18n("File could not be saved in '%1'. Try to save it to another location.", tmpFileName)); + return false; + } + + copyJob = KIO::file_copy(QUrl::fromLocalFile(tmpFileName), realSaveUrl, -1, KIO::Overwrite); + deleteTmpFileName = true; + } else { + bool wontSaveForms, wontSaveAnnotations; + checkNativeSaveDataLoss(&wontSaveForms, &wontSaveAnnotations); + + // If something can't be saved in this format, ask for confirmation + QStringList listOfwontSaves; + if (wontSaveForms) { + listOfwontSaves << i18n("Filled form contents"); + } + if (wontSaveAnnotations) { + listOfwontSaves << i18n("User annotations"); + } + if (!listOfwontSaves.isEmpty()) { + if (saveUrl == url()) { + // Save + const QString warningMessageString = i18n("You are about to save changes, but the current file format does not support saving the following elements. Please use the Okular document archive format to preserve them."); + const int result = KMessageBox::warningContinueCancelList(widget(), + warningMessageString, + listOfwontSaves, + i18n("Warning"), + KGuiItem(i18n("Save as Okular document archive…"), QStringLiteral("document-save-as")), // <- KMessageBox::Continue + KStandardGuiItem::cancel()); + + switch (result) { + case KMessageBox::Continue: // -> Save as Okular document archive + return slotSaveFileAs(true /* showOkularArchiveAsDefaultFormat */); + default: + return false; + } + } else { + // Save as + const QString warningMessageString = m_document->canSwapBackingFile() ? i18n( + "You are about to save changes, but the current file format does not support saving the following elements. Please use the Okular document " + "archive format to preserve them. Click Continue to save the document and discard these elements.") + : i18n( + "You are about to save changes, but the current file format does not support saving the following elements. Please use the Okular document " + "archive format to preserve them. Click Continue to save, but you will lose these elements as well as the undo/redo history."); + const QString continueMessage = m_document->canSwapBackingFile() ? i18n("Continue") : i18n("Continue losing changes"); + const int result = KMessageBox::warningTwoActionsCancelList(widget(), + warningMessageString, + listOfwontSaves, + i18n("Warning"), + KGuiItem(i18n("Save as Okular document archive…"), QStringLiteral("document-save-as")), // <- KMessageBox::PrimaryAction + KGuiItem(continueMessage, QStringLiteral("arrow-right"))); // <- KMessageBox::SecondaryAction + + switch (result) { + case KMessageBox::PrimaryAction: // -> Save as Okular document archive + return slotSaveFileAs(true /* showOkularArchiveAsDefaultFormat */); + case KMessageBox::SecondaryAction: // -> Continue + setModifiedAfterSave = m_document->canSwapBackingFile(); + break; + case KMessageBox::Cancel: + return false; + } + } + } + + if (m_document->canSaveChanges()) { + // If the generator supports saving changes, save them + + QString errorText; + if (!m_document->saveChanges(tmpFileName, &errorText)) { + if (errorText.isEmpty()) { + KMessageBox::information(widget(), i18n("File could not be saved in '%1'. Try to save it to another location.", tmpFileName)); + } else { + KMessageBox::information(widget(), i18n("File could not be saved in '%1'. %2", tmpFileName, errorText)); + } + + return false; + } + + copyJob = KIO::file_copy(QUrl::fromLocalFile(tmpFileName), realSaveUrl, -1, KIO::Overwrite); + deleteTmpFileName = true; + } else { + // If the generators doesn't support saving changes, we will + // just copy the original file. + + if (isDocumentArchive) { + // Special case: if the user is extracting the contents of a + // .okular archive back to the native format, we can't just copy + // the open file (which is a .okular). So let's ask to core to + // extract and give us the real file + + if (!m_document->extractArchivedFile(tmpFileName)) { + KMessageBox::information(widget(), i18n("File could not be saved in '%1'. Try to save it to another location.", tmpFileName)); + return false; + } + + copyJob = KIO::file_copy(QUrl::fromLocalFile(tmpFileName), realSaveUrl, -1, KIO::Overwrite); + deleteTmpFileName = true; + } else { + // Otherwise just copy the open file. + // make use of the already downloaded (in case of remote URLs) file, + // no point in downloading that again + QUrl srcUrl = QUrl::fromLocalFile(localFilePath()); + // duh, our local file disappeared... + if (!QFile::exists(localFilePath())) { + if (url().isLocalFile()) { +#ifdef OKULAR_KEEP_FILE_OPEN + // local file: try to get it back from the open handle on it + tempFile.reset(m_keeper->copyToTemporary()); + if (tempFile) + srcUrl = KUrl::fromPath(tempFile->fileName()); +#else + const QString msg = i18n("Okular cannot copy %1 to the specified location.\n\nThe document does not exist anymore.", localFilePath()); + KMessageBox::error(widget(), msg); + return false; +#endif + } else { + // we still have the original remote URL of the document, + // so copy the document from there + srcUrl = url(); + } + } + + if (srcUrl != saveUrl) { + copyJob = KIO::file_copy(srcUrl, realSaveUrl, -1, KIO::Overwrite); + } else { + // Don't do a real copy in this case, just update the timestamps + copyJob = KIO::setModificationTime(realSaveUrl, QDateTime::currentDateTime()); + } + } + } + } + + // Stop watching for changes while we write the new file (useful when + // overwriting) + if (url().isLocalFile()) { + unsetFileToWatch(); + } + + const auto deleteTmpFileFunction = [deleteTmpFileName, tmpFileName] { + Q_ASSERT(deleteTmpFileName == QFile::exists(tmpFileName)); + if (deleteTmpFileName) { + QFile::remove(tmpFileName); + } + }; + + KJobWidgets::setWindow(copyJob, widget()); + if (!copyJob->exec()) { + KMessageBox::information(widget(), i18n("File could not be saved in '%1'. Error: '%2'. Try to save it to another location.", saveUrl.toDisplayString(), copyJob->errorString())); + + // Restore watcher + if (url().isLocalFile()) { + setFileToWatch(localFilePath()); + } + + deleteTmpFileFunction(); + + return false; + } + deleteTmpFileFunction(); + + m_document->setHistoryClean(true); + + if (m_document->isDocdataMigrationNeeded()) { + m_document->docdataMigrationDone(); + } + + bool reloadedCorrectly = true; + + // Make the generator use the new file instead of the old one + if (m_document->canSwapBackingFile() && !m_documentOpenWithPassword) { + QWidget *currentSidebarItem = m_sidebar->currentItem(); + // this calls openFile internally, which in turn actually calls + // m_document->swapBackingFile() instead of the regular loadDocument + if (openUrl(saveUrl, true /* swapInsteadOfOpening */)) { + if (setModifiedAfterSave) { + m_document->setHistoryClean(false); + } + } else { + reloadedCorrectly = false; + } + + if (m_sidebar->currentItem() != currentSidebarItem) { + m_sidebar->setCurrentItem(currentSidebarItem); + } + } else { + // If the generator doesn't support swapping file, then just reload + // the document from the new location + if (!slotAttemptReload(true, saveUrl)) { + reloadedCorrectly = false; + } + } + + // In case of file swapping errors, close the document to avoid inconsistencies + if (!reloadedCorrectly) { + qWarning() << "The document hasn't been reloaded/swapped correctly"; + closeUrl(); + } + + // Set correct permission taking into account the umask value +#ifndef Q_OS_WIN + const QString saveFilePath = saveUrl.toLocalFile(); + if (QFile::exists(saveFilePath)) { + const mode_t mask = umask(0); + umask(mask); + const mode_t fileMode = 0666 & ~mask; + chmod(QFile::encodeName(saveFilePath).constData(), fileMode); + } +#endif + + // Restore watcher + if (url().isLocalFile()) { + setFileToWatch(localFilePath()); + } + + return true; +} + +// If the user wants to save in the original file's format, some features might +// not be available. Find out what cannot be saved in this format +void Part::checkNativeSaveDataLoss(bool *out_wontSaveForms, bool *out_wontSaveAnnotations) const +{ + bool wontSaveForms = false; + bool wontSaveAnnotations = false; + + if (!m_document->canSaveChanges(Document::SaveFormsCapability)) { + /* Set wontSaveForms only if there are forms */ + const int pagecount = m_document->pages(); + + for (int pageno = 0; pageno < pagecount; ++pageno) { + const Okular::Page *page = m_document->page(pageno); + if (!page->formFields().empty()) { + wontSaveForms = true; + break; + } + } + } + + if (!m_document->canSaveChanges(Document::SaveAnnotationsCapability)) { + /* Set wontSaveAnnotations only if there are local annotations */ + const int pagecount = m_document->pages(); + + for (int pageno = 0; pageno < pagecount; ++pageno) { + const QList annotations = m_document->page(pageno)->annotations(); + for (const Okular::Annotation *ann : annotations) { + if (!(ann->flags() & Okular::Annotation::External)) { + wontSaveAnnotations = true; + break; + } + } + if (wontSaveAnnotations) { + break; + } + } + } + + *out_wontSaveForms = wontSaveForms; + *out_wontSaveAnnotations = wontSaveAnnotations; +} + +void Part::slotPreferences() +{ + // Create dialog + PreferencesDialog *dialog = new PreferencesDialog(m_pageView, Okular::Settings::self(), m_embedMode, m_document->editorCommandOverride()); + dialog->setAttribute(Qt::WA_DeleteOnClose); + + // Show it + dialog->show(); +} + +void Part::slotToggleChangeColors() +{ + slotSetChangeColors(!Okular::SettingsCore::changeColors()); +} + +void Part::slotSetChangeColors(bool active) +{ + Okular::SettingsCore::setChangeColors(active); + Okular::Settings::self()->save(); +} + +void Part::slotAccessibilityPreferences() +{ + // Create dialog + PreferencesDialog *dialog = new PreferencesDialog(m_pageView, Okular::Settings::self(), m_embedMode, m_document->editorCommandOverride()); + dialog->setAttribute(Qt::WA_DeleteOnClose); + + // Show it + dialog->switchToAccessibilityPage(); + dialog->show(); +} + +void Part::slotAnnotationPreferences() +{ + // Create dialog + PreferencesDialog *dialog = new PreferencesDialog(m_pageView, Okular::Settings::self(), m_embedMode, m_document->editorCommandOverride()); + dialog->setAttribute(Qt::WA_DeleteOnClose); + + // Show it + dialog->switchToAnnotationsPage(); + dialog->show(); +} + +void Part::slotNewConfig() +{ + // Apply settings here. A good policy is to check whether the setting has + // changed before applying changes. + + // Watch File + setWatchFileModeEnabled(Okular::Settings::watchFile()); + + // Main View (pageView) + m_pageView->reparseConfig(); + + // update document settings + m_document->reparseConfig(); + + // update TOC settings + if (m_tocEnabled) { + m_toc->reparseConfig(); + } + + // update ThumbnailList contents + if (Okular::Settings::showLeftPanel() && !m_thumbnailList->isHidden()) { + m_thumbnailList->updateWidgets(); + } + + // update Reviews settings + m_reviewsWidget->reparseConfig(); + + setWindowTitleFromDocument(); + + if (m_presentationDrawingActions) { + m_presentationDrawingActions->reparseConfig(); + if (factory()) { + factory()->refreshActionProperties(); + } + } + + // Trigger the shell to sync recent files in File->Open Recent and the RecentItemsModel + if (m_maxRecentItems != Okular::Settings::maxRecentItems()) { + m_maxRecentItems = Okular::Settings::maxRecentItems(); + Q_EMIT maxRecentItemsChanged(m_maxRecentItems); + } +} + +void Part::slotPrintPreview() +{ + if (m_document->pages() == 0) { + return; + } + + QPrinter printer; + QString tempFilePattern; + + if (m_document->printingSupport() == Okular::Document::PostscriptPrinting) { + tempFilePattern = (QDir::tempPath() + QLatin1String("/okular_XXXXXX.ps")); + } else if (m_document->printingSupport() == Okular::Document::NativePrinting) { + tempFilePattern = (QDir::tempPath() + QLatin1String("/okular_XXXXXX.pdf")); + } else { + return; + } + + // Generate a temp filename for Print to File, then release the file so generator can write to it + QTemporaryFile tf(tempFilePattern); + tf.setAutoRemove(true); + if (!tf.open()) { + return; + } + printer.setOutputFileName(tf.fileName()); + tf.close(); + setupPrint(printer); + doPrint(printer); + if (QFile::exists(printer.outputFileName())) { + Okular::FilePrinterPreview previewdlg(printer.outputFileName(), widget()); + previewdlg.exec(); + } +} + +void Part::slotShowTOCMenu(const Okular::DocumentViewport &vp, const QPoint point, const QString &title) +{ + showMenu(m_document->page(vp.pageNumber), point, title, vp, true); +} + +void Part::slotShowMenu(const Okular::Page *page, const QPoint point) +{ + showMenu(page, point); +} + +void Part::showMenu(const Okular::Page *page, const QPoint point, const QString &bookmarkTitle, const Okular::DocumentViewport &vp, bool showTOCActions) +{ + if (m_embedMode == PrintPreviewMode) { + return; + } + + bool reallyShow = false; + const bool isCurrentPage = page && page->number() == m_document->viewport().pageNumber; + + if (!m_showMenuBarAction) { + m_showMenuBarAction = findActionInKPartHierarchy(KStandardAction::name(KStandardAction::ShowMenubar)); + } + if (!m_showFullScreenAction) { + m_showFullScreenAction = findActionInKPartHierarchy(KStandardAction::name(KStandardAction::FullScreen)); + } + + QMenu popup; + if (showTOCActions) { + popup.addAction(i18n("Expand Whole Section"), m_toc.data(), &TOC::expandRecursively); + popup.addAction(i18n("Collapse Whole Section"), m_toc.data(), &TOC::collapseRecursively); + popup.addAction(i18n("Expand All"), m_toc.data(), &TOC::expandAll); + popup.addAction(i18n("Collapse All"), m_toc.data(), &TOC::collapseAll); + reallyShow = true; + } + + const QAction *addBookmark = nullptr; + const QAction *removeBookmark = nullptr; + const QAction *fitPageWidth = nullptr; + if (page) { + popup.addAction(new OKMenuTitle(&popup, i18n("Page %1", page->number() + 1))); + if (m_thumbnailList->isVisible() && !Okular::Settings::syncThumbnailsViewport()) { + const QIcon &syncIcon = QIcon::fromTheme(QStringLiteral("emblem-synchronizing"), QIcon::fromTheme(QStringLiteral("view-refresh"))); + popup.addAction(syncIcon, i18n("Sync Thumbnail with Page"), m_thumbnailList.data(), &ThumbnailList::syncThumbnail); + } + if ((!isCurrentPage && m_document->bookmarkManager()->isBookmarked(page->number())) || (isCurrentPage && m_document->bookmarkManager()->isBookmarked(m_document->viewport()))) { + removeBookmark = popup.addAction(QIcon::fromTheme(QStringLiteral("bookmark-remove"), QIcon::fromTheme(QStringLiteral("edit-delete-bookmark"))), i18n("Remove Bookmark")); + } else { + addBookmark = popup.addAction(QIcon::fromTheme(QStringLiteral("bookmark-new")), i18n("Add Bookmark")); + } + if (m_pageView->canFitPageWidth()) { + fitPageWidth = popup.addAction(QIcon::fromTheme(QStringLiteral("zoom-fit-best")), i18n("Fit Width")); + } + popup.addAction(m_prevBookmark); + popup.addAction(m_nextBookmark); + reallyShow = true; + } + + const int amountOfActions = popup.actions().count(); + if (m_showMenuBarAction && !m_showMenuBarAction->isChecked()) { + if (m_hamburgerMenuAction) { + m_hamburgerMenuAction->addToMenu(&popup); + } else { + popup.addAction(m_showMenuBarAction); + } + } + if (m_showFullScreenAction && m_showFullScreenAction->isChecked()) { + popup.addAction(m_showFullScreenAction); + } + if (popup.actions().count() > amountOfActions && popup.actions().constLast()->isVisible()) { + popup.insertAction(popup.actions().at(amountOfActions), new OKMenuTitle(&popup, i18n("Tools"))); + reallyShow = true; + } + + if (reallyShow) { + const QAction *res = popup.exec(point); + if (res) { + if (res == addBookmark) { + if (isCurrentPage && bookmarkTitle.isEmpty()) { + m_document->bookmarkManager()->addBookmark(m_document->viewport()); + } else if (!bookmarkTitle.isEmpty()) { + m_document->bookmarkManager()->addBookmark(m_document->currentDocument(), vp, bookmarkTitle); + } else { + m_document->bookmarkManager()->addBookmark(page->number()); + } + } else if (res == removeBookmark) { + if (isCurrentPage) { + m_document->bookmarkManager()->removeBookmark(m_document->viewport()); + } else { + m_document->bookmarkManager()->removeBookmark(page->number()); + } + } else if (res == fitPageWidth) { + m_pageView->fitPageWidth(page->number()); + } + } + } +} + +template Action *Part::findActionInKPartHierarchy(const QString &actionName) +{ + static_assert(std::is_base_of::value, "Calling this method to find something other than an Action makes no sense."); + if (factory()) { + const QList clients(factory()->clients()); + for (auto client : clients) { + if (QAction *act = client->actionCollection()->action(actionName)) { + if (Action *castedAction = qobject_cast(act)) { + return castedAction; + } + } + } + } + return nullptr; +} + +KMainWindow *Part::findMainWindow() +{ + auto *potentialMainWindow = parent(); + while (potentialMainWindow) { + if (auto *mainWindow = qobject_cast(potentialMainWindow)) { + return mainWindow; + } + potentialMainWindow = potentialMainWindow->parent(); + } + return nullptr; +} + +void Part::slotShowProperties() +{ + PropertiesDialog *d = new PropertiesDialog(widget(), m_document); + connect(d, &QDialog::finished, d, &QObject::deleteLater); + d->open(); +} + +void Part::slotShowEmbeddedFiles() +{ + EmbeddedFilesDialog *d = new EmbeddedFilesDialog(widget(), m_document); + connect(d, &QDialog::finished, d, &QObject::deleteLater); + d->open(); +} + +void Part::slotShowPresentation() +{ + if (!m_presentationWidget) { + m_presentationWidget = new PresentationWidget(widget(), m_document, m_presentationDrawingActions, actionCollection()); + } +} + +void Part::slotHidePresentation() +{ + if (m_presentationWidget) { + delete m_presentationWidget.data(); + } +} + +void Part::slotUpdateHamburgerMenu() +{ + auto ac = actionCollection(); + + auto menu = m_hamburgerMenuAction->menu(); + if (!menu) { + menu = new QMenu(widget()); + m_hamburgerMenuAction->setMenu(menu); + if (!m_showMenuBarAction) { + m_showMenuBarAction = findActionInKPartHierarchy(KStandardAction::name(KStandardAction::ShowMenubar)); + } + m_hamburgerMenuAction->setShowMenuBarAction(m_showMenuBarAction); + } else { + menu->clear(); + } + + QToolBar *visibleMainToolbar = nullptr; + if (auto *mainWindow = findMainWindow()) { + visibleMainToolbar = mainWindow->toolBar(); + if (!visibleMainToolbar->isVisible()) { + visibleMainToolbar = nullptr; + } + const auto toolbars = mainWindow->toolBars(); + for (const auto &toolbar : toolbars) { + m_hamburgerMenuAction->hideActionsOf(toolbar); + } + + bool menuAvailable = false; // We already know the menu bar is hidden when this menu is opened. + // If no menu is available, we want to add actions to the hamburger menu to show them again. + // The hamburger menu serves as the fallback that is available through the right-click context menu. + if (visibleMainToolbar && visibleMainToolbar->actions().contains(m_hamburgerMenuAction)) { + menuAvailable = true; + } + if (!menuAvailable) { + menu->addAction(m_showMenuBarAction); + if (!visibleMainToolbar) { + menu->addAction(findActionInKPartHierarchy(QStringLiteral("mainToolBar"))); + } + menu->addSeparator(); + } + } + + // When changing actions, keep "Simple by default, powerful when needed" in mind. + // To retrieve an action, it is fastest to use a direct pointer if available (m_action), otherwise use + // ac->action(actionName) and if the action isn't in the actionCollection() of this part, + // use findActionInKPartHierarchy(actionName). + menu->addAction(findActionInKPartHierarchy(KStandardAction::name(KStandardAction::Open))); + menu->addAction(findActionInKPartHierarchy(KStandardAction::name(KStandardAction::OpenRecent))); + menu->addAction(m_save); + menu->addAction(m_saveAs); + menu->addSeparator(); + menu->addAction(ac->action(QStringLiteral("mouse_drag"))); + if (!visibleMainToolbar || !visibleMainToolbar->actions().contains(ac->action(QStringLiteral("mouse_selecttools")))) { + menu->addAction(ac->action(QStringLiteral("mouse_select"))); + } + menu->addAction(m_copy); + menu->addAction(m_find); + menu->addAction(m_showLeftPanel); + if (!visibleMainToolbar || visibleMainToolbar->actions().contains(ac->action(QStringLiteral("annotation_favorites")))) { + menu->addAction(ac->action(QStringLiteral("mouse_toggle_annotate"))); + } + menu->addAction(ac->action(KStandardAction::name(KStandardAction::Undo))); + menu->addAction(ac->action(KStandardAction::name(KStandardAction::Redo))); + menu->addSeparator(); + + menu->addAction(findActionInKPartHierarchy(KStandardAction::name(KStandardAction::Print))); + menu->addAction(m_printPreview); + menu->addSeparator(); + menu->addAction(ac->action(QStringLiteral("add_digital_signature"))); + menu->addAction(m_showProperties); + menu->addAction(m_openContainingFolder); +#if HAVE_PURPOSE + menu->addAction(m_share); +#endif + menu->addSeparator(); + + menu->addAction(ac->action(QStringLiteral("zoom_to"))); + const QMenuBar *menuBar = m_hamburgerMenuAction->menuBar(); + if (menuBar && menuBar->actions().count() < 3) { // 3 to make sure none of the code below can crash. + menuBar = nullptr; + } + auto curatedViewMenu = menu->addMenu(QIcon::fromTheme(QStringLiteral("page-2sides")), menuBar ? menuBar->actions().at(1)->text() : QStringLiteral("View")); + if (!m_showFullScreenAction) { + m_showFullScreenAction = findActionInKPartHierarchy(KStandardAction::name(KStandardAction::FullScreen)); + } + curatedViewMenu->addAction(m_showFullScreenAction); + curatedViewMenu->addAction(m_showPresentation); + curatedViewMenu->addSeparator(); + curatedViewMenu->addAction(findActionInKPartHierarchy(QStringLiteral("view_render_mode"))); + if (auto *viewOrientationMenu = qobject_cast(factory()->container(QStringLiteral("view_orientation"), this))) { + curatedViewMenu->addAction(viewOrientationMenu->menuAction()); + } + curatedViewMenu->addAction(findActionInKPartHierarchy(QStringLiteral("view_trim_mode"))); + curatedViewMenu->addSeparator(); + curatedViewMenu->addAction(ac->action(QStringLiteral("view_toggle_forms"))); + m_hamburgerMenuAction->hideActionsOf(curatedViewMenu); + +#if HAVE_SPEECH + auto speakMenu = menu->addMenu(QIcon::fromTheme(QStringLiteral("text-speak")), i18nc("@action:inmenu menu that contains actions to control text to speach", "Speak")); + speakMenu->addAction(ac->action(QStringLiteral("speak_document"))); + speakMenu->addAction(ac->action(QStringLiteral("speak_from_current_page"))); + speakMenu->addAction(ac->action(QStringLiteral("speak_current_page"))); + speakMenu->addAction(ac->action(QStringLiteral("speak_stop_all"))); + speakMenu->addAction(ac->action(QStringLiteral("speak_pause_resume"))); + m_hamburgerMenuAction->hideActionsOf(speakMenu); +#endif + + // Add the "Settings" menu from the menu bar. + if (menuBar) { + menu->addAction(menuBar->actions().at(menuBar->actions().count() - 3)); + } +} + +void Part::slotTogglePresentation() +{ + if (m_document->isOpened()) { + if (!m_presentationWidget) { + m_presentationWidget = new PresentationWidget(widget(), m_document, m_presentationDrawingActions, actionCollection()); + } else { + delete m_presentationWidget.data(); + } + } +} + +void Part::reload() +{ + if (m_document->isOpened()) { + slotReload(); + } +} + +void Part::enableStartWithPrint() +{ + m_cliPrint = true; +} + +void Part::enableExitAfterPrint() +{ + m_cliPrintAndExit = true; +} + +#define kKPlugin QStringLiteral("KPlugin") + +void Part::slotAboutBackend() +{ + const KPluginMetaData data = m_document->generatorInfo(); + if (!data.isValid()) { + return; + } + + // Here we do a bit of magic because KPluginMetaData doesn't have setters + // so we get the json info from it, modify it and use that for the KAboutPluginDialog + // in case the internals of KPluginMetaData change it won't be too bad, at most we're + // missing the icon or the generator extra description + QJsonObject rawData = data.rawData(); + const QIcon icon = QIcon::fromTheme(data.iconName()); + + // fall back to mime type icon + if (icon.isNull()) { + const Okular::DocumentInfo documentInfo = m_document->documentInfo(QSet() << DocumentInfo::MimeType); + const QString mimeTypeName = documentInfo.get(DocumentInfo::MimeType); + if (!mimeTypeName.isEmpty()) { + QMimeDatabase db; + QMimeType type = db.mimeTypeForName(mimeTypeName); + if (type.isValid()) { + QJsonObject kplugin = rawData[kKPlugin].toObject(); + kplugin[QStringLiteral("Icon")] = type.iconName(); + rawData[kKPlugin] = kplugin; + } + } + } + + const QString extraDescription = m_document->metaData(QStringLiteral("GeneratorExtraDescription")).toString(); + + if (!extraDescription.isEmpty()) { + const QString descriptionAndLang = QStringLiteral("Description[%1]").arg(QLocale().name()); + QJsonObject kplugin = rawData[kKPlugin].toObject(); + kplugin[descriptionAndLang] = QStringLiteral("%1\n\n%2").arg(data.description(), extraDescription); + rawData[kKPlugin] = kplugin; + } + + KAboutPluginDialog dlg(KPluginMetaData(rawData, data.fileName()), widget()); + dlg.exec(); +} + +void Part::slotExportAs(QAction *act) +{ + QList acts = m_exportAs->menu() ? m_exportAs->menu()->actions() : QList(); + int id = acts.indexOf(act); + if ((id < 0) || (id >= acts.count())) { + return; + } + + QMimeDatabase mimeDatabase; + QMimeType mimeType; + switch (id) { + case 0: + mimeType = mimeDatabase.mimeTypeForName(QStringLiteral("text/plain")); + break; + default: + mimeType = m_exportFormats.at(id - 1).mimeType(); + break; + } + QString filter = i18nc("File type name and pattern", "%1 (%2)", mimeType.comment(), mimeType.globPatterns().join(QLatin1Char(' '))); + + QString fileName = QFileDialog::getSaveFileName(widget(), QString(), QString(), filter); + + if (!fileName.isEmpty()) { + bool saved = false; + switch (id) { + case 0: + saved = m_document->exportToText(fileName); + break; + default: + saved = m_document->exportTo(fileName, m_exportFormats.at(id - 1)); + break; + } + if (!saved) { + KMessageBox::information(widget(), i18n("File could not be saved in '%1'. Try to save it to another location.", fileName)); + } + } +} + +void Part::slotReload() +{ + // stop the dirty handler timer, otherwise we may conflict with the + // auto-refresh system + m_dirtyHandler->stop(); + + slotAttemptReload(); +} + +void Part::slotPrint() +{ + if (m_document->pages() == 0) { + return; + } + +#ifdef Q_OS_WIN + QPrinter printer(QPrinter::HighResolution); +#else + QPrinter printer; +#endif + QWidget *printConfigWidget = nullptr; + + // Must do certain QPrinter setup before creating QPrintDialog + setupPrint(printer); + + // Create the Print Dialog with extra config widgets if required + if (m_document->canConfigurePrinter()) { + printConfigWidget = m_document->printConfigurationWidget(); + } else { + printConfigWidget = new DefaultPrintOptionsWidget(); + } + + QPrintDialog printDialog(&printer, widget()); + printDialog.setWindowTitle(i18nc("@title:window", "Print")); + QList options; + if (printConfigWidget) { + options << printConfigWidget; + } + printDialog.setOptionTabs(options); + + // Set the available Print Range + printDialog.setMinMax(1, m_document->pages()); + printDialog.setFromTo(1, m_document->pages()); + + // If the user has bookmarked pages for printing, then enable Selection + if (!m_document->bookmarkedPageRange().isEmpty()) { + printDialog.setOption(QAbstractPrintDialog::PrintSelection); + } + + // If the Document type doesn't support print to both PS & PDF then disable the Print Dialog option + if (printDialog.testOption(QAbstractPrintDialog::PrintToFile) && !m_document->supportsPrintToFile()) { + printDialog.setOption(QAbstractPrintDialog::PrintToFile, false); + } + + // Enable the Current Page option in the dialog. + if (m_document->pages() > 1 && currentPage() > 0) { + printDialog.setOption(QAbstractPrintDialog::PrintCurrentPage); + } + + bool success = true; + if (printDialog.exec()) { + // set option for margins if widget is of corresponding type that holds this information + PrintOptionsWidget *optionWidget = dynamic_cast(printConfigWidget); + if (optionWidget != nullptr) { + printer.setFullPage(optionWidget->ignorePrintMargins()); + } else { + // printConfigurationWidget() method should always return an object of type Okular::PrintOptionsWidget, + // (signature does not (yet) require it for ABI stability reasons), so Q_EMIT a warning if the object is of another type + qWarning() << "printConfigurationWidget() method did not return an Okular::PrintOptionsWidget. This is strongly discouraged!"; + } + + success = doPrint(printer); + } + + if (m_cliPrintAndExit) { + exit(success ? EXIT_SUCCESS : EXIT_FAILURE); + } +} + +void Part::setupPrint(QPrinter &printer) +{ + printer.setPageOrientation(m_document->orientation()); + + // title + QString title = m_document->metaData(QStringLiteral("DocumentTitle")).toString(); + if (title.isEmpty()) { + title = m_document->currentDocument().fileName(); + } + if (!title.isEmpty()) { + printer.setDocName(title); + } +} + +bool Part::doPrint(QPrinter &printer) +{ + if (!m_document->isAllowed(Okular::AllowPrint)) { + KMessageBox::error(widget(), i18n("Printing this document is not allowed.")); + return false; + } + + if (printer.printRange() == QPrinter::CurrentPage) { + printer.setPrintRange(QPrinter::PageRange); + printer.setFromTo(currentPage(), currentPage()); + } + + const Document::PrintError printError = m_document->print(printer); + if (printError != Document::NoPrintError) { + const QString error = Okular::Document::printErrorString(printError); + if (error.isEmpty()) { + KMessageBox::error(widget(), i18n("Could not print the document. Unknown error. Please report to bugs.kde.org")); + } else { + KMessageBox::error(widget(), i18n("Could not print the document. Detailed error is \"%1\". Please report to bugs.kde.org", error)); + } + return false; + } + return true; +} + +void Part::psTransformEnded(int exit, QProcess::ExitStatus status) +{ + Q_UNUSED(exit) + if (status != QProcess::NormalExit) { + return; + } + + QProcess *senderobj = sender() ? qobject_cast(sender()) : nullptr; + if (senderobj) { + senderobj->close(); + senderobj->deleteLater(); + } + + setLocalFilePath(m_temporaryLocalFile); + openUrl(QUrl::fromLocalFile(m_temporaryLocalFile)); + m_temporaryLocalFile.clear(); +} + +void Part::displayInfoMessage(const QString &message, KMessageWidget::MessageType messageType, int duration) +{ + if (!Okular::Settings::showOSD()) { + if (messageType == KMessageWidget::Error) { + KMessageBox::error(widget(), message); + } + return; + } + + // hide messageWindow if string is empty + if (message.isEmpty()) { + m_infoMessage->animatedHide(); + } + + // display message (duration is length dependent) + if (duration < 0) { + duration = 500 + 100 * message.length(); + } + m_infoTimer->start(duration); + m_infoMessage->setText(message); + m_infoMessage->setMessageType(messageType); + m_infoMessage->setVisible(true); +} + +void Part::errorMessage(const QString &message, int duration) +{ + displayInfoMessage(message, KMessageWidget::Error, duration); +} + +void Part::warningMessage(const QString &message, int duration) +{ + displayInfoMessage(message, KMessageWidget::Warning, duration); +} + +void Part::noticeMessage(const QString &message, int duration) +{ + // less important message -> simpler display widget in the PageView + m_pageView->displayMessage(message, QString(), PageViewMessage::Info, duration); +} + +void Part::moveSplitter(int sideWidgetSize) +{ + m_sidebar->moveSplitter(sideWidgetSize); +} + +#if HAVE_NEW_SIGNATURE_API +void Part::finishSigning() +{ + if (m_pageView->finishSigning() != PageView::FinishSigningResult::Cancelled) { + m_signatureInProgressMessage->setVisible(false); + } +} +#endif + +void Part::unsetDummyMode() +{ + if (m_embedMode == PrintPreviewMode) { + return; + } + + m_sidebar->setSidebarVisibility(Okular::Settings::showLeftPanel()); + + // add back and next in history + m_historyBack = KStandardAction::documentBack(this, SLOT(slotHistoryBack()), actionCollection()); + m_historyBack->setWhatsThis(i18n("Go to the place you were before")); + connect(m_pageView.data(), &PageView::mouseBackButtonClick, m_historyBack, &QAction::trigger); + + m_historyNext = KStandardAction::documentForward(this, SLOT(slotHistoryNext()), actionCollection()); + m_historyNext->setWhatsThis(i18n("Go to the place you were after")); + connect(m_pageView.data(), &PageView::mouseForwardButtonClick, m_historyNext, &QAction::trigger); + + m_pageView->setupActions(actionCollection()); + + // attach the actions of the children widgets too + m_formsMessage->addAction(m_pageView->toggleFormsAction()); + + m_signatureMessage->addAction(m_showSignaturePanel); + + // ensure history actions are in the correct state + updateViewActions(); +} + +bool Part::handleCompressed(QString &destpath, const QString &path, KCompressionDevice::CompressionType compressionType) +{ + m_tempfile = nullptr; + + // we are working with a compressed file, decompressing + // temporary file for decompressing + QTemporaryFile *newtempfile = new QTemporaryFile(); + newtempfile->setAutoRemove(true); + + if (!newtempfile->open()) { + KMessageBox::error(widget(), + i18n("File Error! Could not create temporary file " + "%1.", + newtempfile->errorString())); + delete newtempfile; + return false; + } + + // decompression filer + KCompressionDevice dev(path, compressionType); + + if (!dev.open(QIODevice::ReadOnly)) { + KMessageBox::detailedError(widget(), + i18n("File Error! Could not open the file " + "%1 for uncompression. " + "The file will not be loaded.", + path), + i18n("This error typically occurs if you do " + "not have enough permissions to read the file. " + "You can check ownership and permissions if you " + "right-click on the file in the Dolphin " + "file manager, then choose the 'Properties' option, " + "and select 'Permissions' tab in the opened window.")); + + delete newtempfile; + return false; + } + + char buf[65536]; + int read = 0; + + while ((read = dev.read(buf, sizeof(buf))) > 0) { + int wrtn = newtempfile->write(buf, read); + if (read != wrtn) { + break; + } + } + if ((read != 0) || (newtempfile->size() == 0)) { + KMessageBox::detailedError(widget(), + i18n("File Error! Could not uncompress " + "the file %1. " + "The file will not be loaded.", + path), + i18n("This error typically occurs if the file is corrupt. " + "If you want to be sure, try to decompress the file manually " + "using command-line tools.")); + delete newtempfile; + return false; + } + m_tempfile = newtempfile; + destpath = m_tempfile->fileName(); + return true; +} + +void Part::rebuildBookmarkMenu(bool unplugActions) +{ + if (unplugActions) { + unplugActionList(QStringLiteral("bookmarks_currentdocument")); + qDeleteAll(m_bookmarkActions); + m_bookmarkActions.clear(); + } + QUrl u = m_document->currentDocument(); + if (u.isValid()) { + m_bookmarkActions = m_document->bookmarkManager()->actionsForUrl(u); + } + bool havebookmarks = true; + if (m_bookmarkActions.isEmpty()) { + havebookmarks = false; + QAction *a = new QAction(nullptr); + a->setText(i18n("No Bookmarks")); + a->setEnabled(false); + m_bookmarkActions.append(a); + } + plugActionList(QStringLiteral("bookmarks_currentdocument"), m_bookmarkActions); + + if (factory()) { + const QList clients(factory()->clients()); + bool containerFound = false; + for (int i = 0; !containerFound && i < clients.size(); ++i) { + QMenu *container = dynamic_cast(factory()->container(QStringLiteral("bookmarks"), clients[i])); + if (container && container->actions().contains(m_bookmarkActions.first())) { + container->installEventFilter(this); + containerFound = true; + } + } + } + + m_prevBookmark->setEnabled(havebookmarks); + m_nextBookmark->setEnabled(havebookmarks); +} + +bool Part::eventFilter(QObject *watched, QEvent *event) +{ + switch (event->type()) { + case QEvent::ContextMenu: { + QContextMenuEvent *e = static_cast(event); + QMenu *menu = static_cast(watched); + + QScopedPointer ctxMenu(new QMenu); + + QPoint pos; + bool ret = false; + if (e->reason() == QContextMenuEvent::Mouse) { + pos = e->pos(); + ret = aboutToShowContextMenu(menu, menu->actionAt(e->pos()), ctxMenu.data()); + } else if (menu->activeAction()) { + pos = menu->actionGeometry(menu->activeAction()).center(); + ret = aboutToShowContextMenu(menu, menu->activeAction(), ctxMenu.data()); + } + ctxMenu->exec(menu->mapToGlobal(pos)); + + if (ret) { + event->accept(); + } + return ret; + } + + default: + break; + } + + return KParts::ReadWritePart::eventFilter(watched, event); +} + +void Part::updateAboutBackendAction() +{ + const KPluginMetaData data = m_document->generatorInfo(); + m_aboutBackend->setEnabled(data.isValid()); +} + +void Part::resetStartArguments() +{ + m_cliPrint = false; + m_cliPrintAndExit = false; +} + +#if HAVE_PURPOSE +void Part::slotShareActionFinished(const QJsonObject &output, int error, const QString &message) +{ + if (error) { + KMessageBox::error(widget(), i18n("There was a problem sharing the document: %1", message), i18n("Share")); + } else { + const QString url = output[QStringLiteral("url")].toString(); + if (url.isEmpty()) { + m_pageView->displayMessage(i18n("Document shared successfully")); + } else { + KMessageBox::information(widget(), i18n("You can find the shared document at: %1", url), i18n("Share"), QString(), KMessageBox::Notify | KMessageBox::AllowLink); + } + } +} +#endif + +void Part::setReadWrite(bool readwrite) +{ + m_document->setAnnotationEditingEnabled(readwrite); + ReadWritePart::setReadWrite(readwrite); +} + +void Part::enableStartWithFind(const QString &text) +{ + m_textToFindOnOpen = QString(text); +} + +void Part::setEditorCmd(const QString &editorCmd) +{ + m_document->setEditorCommandOverride(editorCmd); +} + +void Part::slotOpenContainingFolder() +{ + KIO::highlightInFileManager({QUrl(localFilePath())}); +} + +QAbstractItemModel *Part::annotationsModel() const +{ + return m_reviewsWidget ? m_reviewsWidget->annotationsModel() : nullptr; +} + +} // namespace Okular + +#include "part.moc" + +/* kate: replace-tabs on; indent-width 4; */ diff --git a/part/part.h b/part/part.h new file mode 100644 index 0000000..1ebb85e --- /dev/null +++ b/part/part.h @@ -0,0 +1,490 @@ +/* + SPDX-FileCopyrightText: 2002 Wilco Greven + SPDX-FileCopyrightText: 2003-2004 Christophe Devriese + SPDX-FileCopyrightText: 2003 Andy Goossens + SPDX-FileCopyrightText: 2003 Laurent Montel + SPDX-FileCopyrightText: 2004 Dominique Devriese + SPDX-FileCopyrightText: 2004-2007 Albert Astals Cid + + Work sponsored by the LiMux project of the city of Munich: + SPDX-FileCopyrightText: 2017 Klarälvdalens Datakonsult AB a KDAB Group company + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _PART_H_ +#define _PART_H_ + +#include + +#if HAVE_DBUS +#include // for Q_NOREPLY +#else // HAVE_DBUS +#define Q_NOREPLY +#endif // HAVE_DBUS +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "../core/document.h" +#include "../core/observer.h" +#include "../interfaces/viewerinterface.h" +#include "../kdocumentviewer.h" + +#include "okularpart_export.h" + +class QAction; +class QWidget; +class QPrinter; +class QMenu; + +class KConfigDialog; +class KDirWatch; +class KHamburgerMenu; +class KMainWindow; +class KToggleAction; +class KToggleFullScreenAction; +class QTemporaryFile; +class QAction; +class QJsonObject; +namespace KParts +{ +class GUIActivateEvent; +} + +class FindBar; +class ThumbnailList; +class PageSizeLabel; +class PageView; +class PresentationWidget; +class ProgressWidget; +class SearchWidget; +class Sidebar; +class TOC; +class MiniBar; +class MiniBarLogic; +class FileKeeper; +class Reviews; +class BookmarkList; +class DrawingToolActions; +class Layers; +class SignaturePanel; + +#if HAVE_PURPOSE +namespace Purpose +{ +class Menu; +} +#endif + +namespace Okular +{ +class BrowserExtension; +class ExportFormat; + +/** + * Describes the possible embedding modes of the part + * + * @since 0.14 (KDE 4.8) + */ +enum EmbedMode { + UnknownEmbedMode, + NativeShellMode, // embedded in the native Okular' shell + PrintPreviewMode, // embedded to show the print preview of a document + ViewerWidgetMode // the part acts as a widget that can display all kinds of documents +}; + +/** + * This is a "Part". It that does all the real work in a KPart + * application. + * + * @short Main Part + * @author Wilco Greven + * @version 0.2 + */ +class OKULARPART_EXPORT Part : public KParts::ReadWritePart, public Okular::DocumentObserver, public KDocumentViewer, public Okular::ViewerInterface +{ + Q_OBJECT + Q_CLASSINFO("D-Bus Interface", "org.kde.okular") + Q_INTERFACES(KDocumentViewer) + Q_INTERFACES(Okular::ViewerInterface) + + friend class PartTest; + +public: + // Default constructor + /** + * If one element of 'args' contains one of the strings "Print/Preview" or "ViewerWidget", + * the part will be set up in the corresponding mode. Additionally, it is possible to specify + * which config file should be used by adding a string containing "ConfigFileName=" + * to 'args'. + **/ + Part(QObject *parent, const QVariantList &args); + + // Destructor + ~Part() override; + + // inherited from DocumentObserver + void notifySetup(const QList &pages, int setupFlags) override; + void notifyViewportChanged(bool smoothMove) override; + void notifyPageChanged(int page, int flags) override; + + bool openDocument(const QUrl &url, uint page) override; + void startPresentation() override; + QStringList supportedMimeTypes() const override; + + QUrl realUrl() const; + + void showSourceLocation(const QString &fileName, int line, int column, bool showGraphically = true) override; + void clearLastShownSourceLocation() override; + bool isWatchFileModeEnabled() const override; + void setWatchFileModeEnabled(bool enable) final; + bool areSourceLocationsShownGraphically() const override; + void setShowSourceLocationsGraphically(bool show) override; + bool openNewFilesInTabs() const override; + QWidget *getSideContainer() const override; + Q_INVOKABLE bool activateTabIfAlreadyOpenFile() const; + + void setModified(bool modified) override; + + /** Accessor for the underlying annotations model + * \note: this is primarily meant for tests, if you need it elsewhere + * please reconsider or at least update this comment. + */ + QAbstractItemModel *annotationsModel() const; + +public Q_SLOTS: // dbus + Q_SCRIPTABLE Q_NOREPLY void goToPage(uint page) override; + Q_SCRIPTABLE Q_NOREPLY void openDocument(const QString &doc); + Q_SCRIPTABLE uint pages(); + Q_SCRIPTABLE uint currentPage(); + Q_SCRIPTABLE QString currentDocument(); + Q_SCRIPTABLE QString documentMetaData(const QString &metaData) const; + Q_SCRIPTABLE void slotPreferences(); + Q_SCRIPTABLE void slotFind(); + Q_SCRIPTABLE void slotPrintPreview(); + Q_SCRIPTABLE void slotPreviousPage(); + Q_SCRIPTABLE void slotNextPage(); + Q_SCRIPTABLE void slotGotoFirst(); + Q_SCRIPTABLE void slotGotoLast(); + Q_SCRIPTABLE void slotTogglePresentation(); + Q_SCRIPTABLE void slotToggleChangeColors(); + Q_SCRIPTABLE void slotSetChangeColors(bool active); + Q_SCRIPTABLE Q_NOREPLY void reload(); + Q_SCRIPTABLE Q_NOREPLY void enableStartWithPrint(); + Q_SCRIPTABLE Q_NOREPLY void enableExitAfterPrint(); + Q_SCRIPTABLE Q_NOREPLY void enableStartWithFind(const QString &text); + Q_SCRIPTABLE Q_NOREPLY void setEditorCmd(const QString &editorCmd); + Q_SCRIPTABLE void slotOpenContainingFolder(); + +Q_SIGNALS: + void enablePrintAction(bool enable); + void openSourceReference(const QString &absFileName, int line, int column); /* cppcheck-suppress duplInheritedMember; see viewerinterface*/ + void viewerMenuStateChange(bool enabled); /* cppcheck-suppress duplInheritedMember */ + void enableCloseAction(bool enable); + void mimeTypeChanged(const QMimeType &mimeType); + void urlsDropped(const QList &urls); + void fitWindowToPage(const QSize pageViewPortSize, const QSize pageSize); + void maxRecentItemsChanged(const int); + /** + * Request to open a newly signed file + * \param path file to open + * \param pageNumber page to show (1-indexed) + */ + void requestOpenNewlySignedFile(const QString &path, int pageNumber); + +protected: + // reimplemented from KParts::ReadWritePart + bool openFile() override; + bool openUrl(const QUrl &url) override; + void guiActivateEvent(KParts::GUIActivateEvent *event) override; + void displayInfoMessage(const QString &message, KMessageWidget::MessageType messageType = KMessageWidget::Information, int duration = -1); + +public: + bool queryClose() override; + bool closeUrl() override; + bool closeUrl(bool promptToSave) override; + void setReadWrite(bool readwrite) override; + bool saveAs(const QUrl &saveUrl) override; + +protected Q_SLOTS: + // connected to actions + void openUrlFromDocument(const QUrl &url); + void openUrlFromBookmarks(const QUrl &url); + void handleDroppedUrls(const QList &urls); + void slotGoToPage(); + void slotHistoryBack(); + void slotHistoryNext(); + void slotAddBookmark(); + void slotRenameBookmarkFromMenu(); + void slotRemoveBookmarkFromMenu(); + void slotRenameCurrentViewportBookmark(); + void slotPreviousBookmark(); + void slotNextBookmark(); + void slotFindNext(); + void slotFindPrev(); + bool slotSaveFileAs(bool showOkularArchiveAsDefaultFormat = false); + void slotNewConfig(); + void slotShowMenu(const Okular::Page *page, const QPoint point); + void slotShowTOCMenu(const Okular::DocumentViewport &vp, const QPoint point, const QString &title); + void slotShowProperties(); + void slotShowEmbeddedFiles(); + void slotShowLeftPanel(); + void slotShowBottomBar(); + void slotShowPresentation(); + void slotHidePresentation(); + + /** + * Updates the menu that is by default at the right end of the toolbar. + * In true "simple by default" fashion, the menu only contains the most important actions + * which are needed to use all essential Okular features. More advanced actions can be + * discovered through a sub-menu (@see KConfigWidgets::KHamburgerMenu::setMenuBarAdvertised()). + */ + void slotUpdateHamburgerMenu(); + void slotExportAs(QAction *); + bool slotImportPSFile(); + void slotAboutBackend(); + void slotReload(); + void close(); + void cannotQuit(); + void slotShowFindBar(); + void slotHideFindBar(); + void slotJobStarted(KIO::Job *job); + void slotJobFinished(KJob *job); + void loadCancelled(const QString &reason); + void setWindowTitleFromDocument(); + // can be connected to widget elements + void updateViewActions(); + void updateBookmarksActions(); + void enableTOC(bool enable); + void slotRebuildBookmarkMenu(); + void enableLayers(bool enable); + void enableSidebarSignaturesItem(bool enable); + +public Q_SLOTS: + bool saveFile() override; + // connected to Shell action (and browserExtension), not local one + void slotPrint(); + void slotFileDirty(const QString &); + bool slotAttemptReload(bool oneShot = false, const QUrl &newUrl = QUrl()); + void psTransformEnded(int, QProcess::ExitStatus); + KConfigDialog *slotGeneratorPreferences(); + + void errorMessage(const QString &message, int duration = 0); + void warningMessage(const QString &message, int duration = -1); + void noticeMessage(const QString &message, int duration = -1); + + void moveSplitter(const int sideWidgetSize); +#if HAVE_NEW_SIGNATURE_API + void finishSigning(); +#endif + +private: + bool aboutToShowContextMenu(QMenu *menu, QAction *action, QMenu *contextMenu); + void showMenu(const Okular::Page *page, const QPoint point, const QString &bookmarkTitle = QString(), const Okular::DocumentViewport &vp = DocumentViewport(), bool showTOCActions = false); + /** + * Searches the actionCollections of all KXMLGUIClients that were created by the same factory() + * as this Part for a QAction that has both the specified name and the specified class. + * @return an action with class @p Action and name @p actionName. nullptr if no such action is found. + */ + template Action *findActionInKPartHierarchy(const QString &actionName); + /** @return the first KMainWindow among the ancestors of this part. nullptr if no KMainWindow is found. */ + KMainWindow *findMainWindow(); + bool eventFilter(QObject *watched, QEvent *event) override; + Document::OpenResult doOpenFile(const QMimeType &mime, const QString &fileNameToOpen, bool *isCompressedFile); + bool openUrl(const QUrl &url, bool swapInsteadOfOpening); + + void setupViewerActions(); + void setViewerShortcuts(); + void setupActions(); + + void setupPrint(QPrinter &printer); + bool doPrint(QPrinter &printer); + bool handleCompressed(QString &destpath, const QString &path, KCompressionDevice::CompressionType compressionType); + void rebuildBookmarkMenu(bool unplugActions = true); + void updateAboutBackendAction(); + void unsetDummyMode(); + void slotRenameBookmark(const DocumentViewport &viewport); + void slotRemoveBookmark(const DocumentViewport &viewport); + void resetStartArguments(); + void checkNativeSaveDataLoss(bool *out_wontSaveForms, bool *out_wontSaveAnnotations) const; + + enum SaveAsFlag { + NoSaveAsFlags = 0, ///< No options + SaveAsOkularArchive = 1 ///< Save as Okular Archive (.okular) instead of document's native format + }; + Q_DECLARE_FLAGS(SaveAsFlags, SaveAsFlag) + + bool saveAs(const QUrl &saveUrl, SaveAsFlags flags); + + void setFileToWatch(const QString &filePath); + void unsetFileToWatch(); + +#if HAVE_PURPOSE + void slotShareActionFinished(const QJsonObject &output, int error, const QString &message); +#endif + + bool tryOpeningUrlWithFragmentAsName(); + + /** + * Initializes Okular::Settings. + * Determines the config file path, and performs configuration updates not handled by kconf_update. + * + * @param args As passed to Part::Part(). + */ + void setupConfigSkeleton(const QVariantList &args); + + static int numberOfParts; + + QTemporaryFile *m_tempfile; + + // the document + Okular::Document *m_document; + QDateTime m_fileLastModified; + QString m_temporaryLocalFile; + bool isDocumentArchive; + bool m_documentOpenWithPassword; + bool m_swapInsteadOfOpening; // if set, the next open operation will replace the backing file (used when reloading just saved files) + bool m_warnedAboutModifyingUnsaveableDocument = false; + + // main widgets + Sidebar *m_sidebar; + SearchWidget *m_searchWidget; + FindBar *m_findBar; + KMessageWidget *m_migrationMessage; + KMessageWidget *m_topMessage; + KMessageWidget *m_formsMessage; + KMessageWidget *m_infoMessage; + KMessageWidget *m_signatureMessage; +#if HAVE_NEW_SIGNATURE_API + KMessageWidget *m_signatureInProgressMessage; +#endif + QPointer m_thumbnailList; + QPointer m_pageView; + QPointer m_toc; + bool m_tocEnabled; + QPointer m_miniBarLogic; + QPointer m_miniBar; + QPointer m_pageNumberTool; + QPointer m_bottomBar; + QPointer m_presentationWidget; + QPointer m_progressWidget; + QPointer m_pageSizeLabel; + QPointer m_reviewsWidget; + QPointer m_bookmarkList; + QPointer m_layers; + QPointer m_signaturePanel; + + // document watcher (and reloader) variables + KDirWatch *m_watcher; + QString m_watchedFilePath, m_watchedFileSymlinkTarget; + QTimer *m_dirtyHandler; + QUrl m_oldUrl; + Okular::DocumentViewport m_viewportDirty; + bool m_isReloading; + bool m_wasPresentationOpen; + QWidget *m_dirtyToolboxItem; + bool m_wasSidebarVisible; + bool m_fileWasRemoved; + Rotation m_dirtyPageRotation; + + // Remember the search history + QStringList m_searchHistory; + + // actions + QAction *m_gotoPage; + QAction *m_prevPage; + QAction *m_nextPage; + QAction *m_beginningOfDocument; + QAction *m_endOfDocument; + QAction *m_historyBack; + QAction *m_historyNext; + QAction *m_addBookmark; + QAction *m_renameBookmark; + QAction *m_prevBookmark; + QAction *m_nextBookmark; + QAction *m_copy; + QAction *m_selectAll; + QAction *m_selectCurrentPage; + QAction *m_find; + QAction *m_findNext; + QAction *m_findPrev; + QAction *m_save; + QAction *m_saveAs; + QAction *m_printPreview; + QAction *m_showProperties; + QAction *m_showEmbeddedFiles; + QAction *m_exportAs; + QAction *m_exportAsText; + QAction *m_exportAsDocArchive; +#if HAVE_PURPOSE + QAction *m_share; +#endif + QAction *m_showPresentation; + QAction *m_openContainingFolder; + KHamburgerMenu *m_hamburgerMenuAction; + KToggleAction *m_showMenuBarAction; + KToggleAction *m_showLeftPanel; + KToggleAction *m_showBottomBar; + QAction *m_showSignaturePanel; + KToggleFullScreenAction *m_showFullScreenAction; + QAction *m_aboutBackend; + QAction *m_reload; + QMenu *m_exportAsMenu; +#if HAVE_PURPOSE + Purpose::Menu *m_shareMenu; +#endif + QAction *m_closeFindBar; + DrawingToolActions *m_presentationDrawingActions; + + BrowserExtension *m_bExtension; + + QList m_exportFormats; + QList m_bookmarkActions; + bool m_cliPresentation; + bool m_cliPrint; + bool m_cliPrintAndExit; + QString m_addBookmarkText; + QIcon m_addBookmarkIcon; + + EmbedMode m_embedMode; + + QUrl m_realUrl; + + KXMLGUIClient *m_generatorGuiClient; + FileKeeper *m_keeper; + + // Timer for m_infoMessage + QTimer *m_infoTimer; + + QString m_registerDbusName; + + // String to search in document startup + QString m_textToFindOnOpen; + + // Set when opening an url that had fragment so that if it fails opening we try adding the fragment to the filename + // if we're opening http://localhost/foo#bar.pdf and the filename contains an # we can open it after trying to open foo fails + QUrl m_urlWithFragment; + + // Current value of maxRecentItems to detect value change, and inform shell + int m_maxRecentItems; + +private Q_SLOTS: + void slotAccessibilityPreferences(); + void slotAnnotationPreferences(); + void slotHandleActivatedSourceReference(const QString &absFileName, int line, int col, bool *handled); +}; + +} + +#endif + +/* kate: replace-tabs on; indent-width 4; */ diff --git a/part/part.qrc b/part/part.qrc new file mode 100644 index 0000000..9e3ce0d --- /dev/null +++ b/part/part.qrc @@ -0,0 +1,7 @@ + + + + part.rc + part-viewermode.rc + + diff --git a/part/part.rc b/part/part.rc new file mode 100644 index 0000000..37efeec --- /dev/null +++ b/part/part.rc @@ -0,0 +1,150 @@ + + + + + &File + + + + + + + + + + + + + + &Edit + + + + + + + + + + + + + &View + + + + + + + + + + + + &Orientation + + + + + + + + + &Go + + + + + + + + + + + + &Bookmarks + + + + + + + + &Tools + + + + + + + + + + + + + + + + + + &Settings + + + + + + + &Help + + + +Main Toolbar + + + + + + + + + + + + + + + + + + + + + + + diff --git a/part/preferencesdialog.cpp b/part/preferencesdialog.cpp new file mode 100644 index 0000000..569df58 --- /dev/null +++ b/part/preferencesdialog.cpp @@ -0,0 +1,80 @@ +/* + SPDX-FileCopyrightText: 2004 Enrico Ros + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +// reimplementing this +#include "preferencesdialog.h" + +#include + +// single config pages +#include "dlgaccessibility.h" +#include "dlgannotations.h" +#include "dlgdebug.h" +#include "dlgeditor.h" +#include "dlggeneral.h" +#include "dlgperformance.h" +#include "dlgpresentation.h" + +#include + +PreferencesDialog::PreferencesDialog(QWidget *parent, KConfigSkeleton *skeleton, Okular::EmbedMode embedMode, const QString &editCmd) + : KConfigDialog(parent, QStringLiteral("preferences"), skeleton) +{ + setWindowModality(Qt::ApplicationModal); + + m_general = new DlgGeneral(this, embedMode); + m_performance = new DlgPerformance(this); + m_accessibility = new DlgAccessibility(this); + m_accessibilityPage = nullptr; + m_presentation = nullptr; + m_annotations = nullptr; + m_annotationsPage = nullptr; + m_editor = nullptr; + m_signatures = nullptr; +#ifdef OKULAR_DEBUG_CONFIGPAGE + m_debug = new DlgDebug(this); +#endif + + addPage(m_general, i18n("General"), QStringLiteral("okular"), i18n("General Options")); + m_accessibilityPage = addPage(m_accessibility, i18n("Accessibility"), QStringLiteral("preferences-desktop-accessibility"), i18n("Accessibility Reading Aids")); + addPage(m_performance, i18n("Performance"), QStringLiteral("preferences-system-performance"), i18n("Performance Tuning")); + if (embedMode == Okular::ViewerWidgetMode) { + setWindowTitle(i18n("Configure Viewer")); + } else { + m_presentation = new DlgPresentation(this); + m_annotations = new DlgAnnotations(this); + addPage(m_presentation, i18n("Presentation"), QStringLiteral("view-presentation"), i18n("Options for Presentation Mode")); + m_annotationsPage = addPage(m_annotations, i18n("Annotations"), QStringLiteral("draw-freehand"), i18n("Annotation Options")); + if (editCmd.isEmpty()) { + m_editor = new DlgEditor(this); + addPage(m_editor, i18n("Editor"), QStringLiteral("accessories-text-editor"), i18n("Editor Options")); + } else { + QString editStr = i18nc("Give the user a hint, that it enabled the option --editor-cmd together with the current value of the option.", + "The editor was set by the command line to \n %1 \nIf you want to use the setting, start okular without the option --editor-cmd", + editCmd); + auto editor = new QLabel(editStr, this); + addPage(editor, i18n("Editor"), QStringLiteral("accessories-text-editor"), i18n("Editor Options")); + } + } +#ifdef OKULAR_DEBUG_CONFIGPAGE + addPage(m_debug, "Debug", "system-run", "Debug options"); +#endif + setHelp(QStringLiteral("configure"), QStringLiteral("okular")); +} + +void PreferencesDialog::switchToAccessibilityPage() +{ + if (m_accessibilityPage) { + setCurrentPage(m_accessibilityPage); + } +} + +void PreferencesDialog::switchToAnnotationsPage() +{ + if (m_annotationsPage) { + setCurrentPage(m_annotationsPage); + } +} diff --git a/part/preferencesdialog.h b/part/preferencesdialog.h new file mode 100644 index 0000000..896a478 --- /dev/null +++ b/part/preferencesdialog.h @@ -0,0 +1,59 @@ +/* + SPDX-FileCopyrightText: 2004 Enrico Ros + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _PREFERENCESDIALOG_H +#define _PREFERENCESDIALOG_H + +#include "part.h" +#include "settings.h" +#include + +class QWidget; +class KConfigSkeleton; + +class DlgGeneral; +class DlgPerformance; +class DlgAccessibility; +class DlgPresentation; +class DlgAnnotations; +class DlgEditor; +class DlgSignatures; +class DlgDebug; + +class PreferencesDialog : public KConfigDialog +{ + Q_OBJECT + +public: + PreferencesDialog(QWidget *parent, KConfigSkeleton *skeleton, Okular::EmbedMode embedMode, const QString &editCmd); + + void switchToAccessibilityPage(); + void switchToAnnotationsPage(); + +protected: + // void updateSettings(); // Called when OK/Apply is pressed. + // void updateWidgets(); // Called upon construction or when Reset is pressed + // void updateWidgetsDefault(); // Called when Defaults button is pressed + // bool hasChanged(); // In order to correctly disable/enable Apply button + // bool isDefault(); // In order to correctly disable/enable Defaults button + +private: + DlgGeneral *m_general; + DlgPerformance *m_performance; + DlgAccessibility *m_accessibility; + DlgPresentation *m_presentation; + DlgAnnotations *m_annotations; + DlgEditor *m_editor; + DlgSignatures *m_signatures; +#ifdef OKULAR_DEBUG_CONFIGPAGE + DlgDebug *m_debug; +#endif + + KPageWidgetItem *m_accessibilityPage; + KPageWidgetItem *m_annotationsPage; +}; + +#endif diff --git a/part/presentationsearchbar.cpp b/part/presentationsearchbar.cpp new file mode 100644 index 0000000..083ad37 --- /dev/null +++ b/part/presentationsearchbar.cpp @@ -0,0 +1,140 @@ +/* + SPDX-FileCopyrightText: 2007 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "presentationsearchbar.h" + +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include "searchlineedit.h" + +#define SNAP_DELTA 15 + +class HandleDrag : public QWidget +{ + Q_OBJECT + +public: + explicit HandleDrag(QWidget *parent = Q_NULLPTR) + : QWidget(parent) + { + setCursor(Qt::SizeAllCursor); + setFixedWidth(style()->pixelMetric(QStyle::PM_ToolBarHandleExtent)); + } + + void paintEvent(QPaintEvent *) override + { + QStyleOption opt; + opt.initFrom(this); + opt.state |= QStyle::State_Horizontal; + QStylePainter p(this); + p.drawPrimitive(QStyle::PE_IndicatorToolBarHandle, opt); + } +}; + +PresentationSearchBar::PresentationSearchBar(Okular::Document *document, QWidget *anchor, QWidget *parent) + : QWidget(parent) + , m_anchor(anchor) + , m_snapped(true) +{ + setAutoFillBackground(true); + + QHBoxLayout *lay = new QHBoxLayout(this); + lay->setContentsMargins(0, 0, 0, 0); + + m_handle = new HandleDrag(this); + m_handle->installEventFilter(this); + lay->addWidget(m_handle); + + QToolButton *closeBtn = new QToolButton(this); + closeBtn->setIcon(QIcon::fromTheme(QStringLiteral("dialog-close"))); + closeBtn->setIconSize(QSize(24, 24)); + closeBtn->setToolTip(i18n("Close")); + closeBtn->setAutoRaise(true); + lay->addWidget(closeBtn); + + m_search = new SearchLineEdit(this, document); + m_search->setClearButtonEnabled(true); + m_search->setSearchCaseSensitivity(Qt::CaseInsensitive); + m_search->setSearchMinimumLength(0); + m_search->setSearchType(Okular::Document::NextMatch); + m_search->setSearchId(PRESENTATION_SEARCH_ID); + m_search->setSearchColor(qRgb(255, 255, 64)); + m_search->setSearchMoveViewport(true); + lay->addWidget(m_search); + + QPushButton *findNextBtn = new QPushButton(QIcon::fromTheme(QStringLiteral("go-down-search")), i18n("Find Next"), this); + lay->addWidget(findNextBtn); + + m_anchor->installEventFilter(this); + + connect(closeBtn, &QAbstractButton::clicked, this, &QWidget::close); + connect(findNextBtn, &QPushButton::clicked, m_search, &SearchLineEdit::findNext); +} + +PresentationSearchBar::~PresentationSearchBar() +{ +} + +void PresentationSearchBar::forceSnap() +{ + m_point = QPoint(m_anchor->width() / 2, m_anchor->height()); + m_snapped = true; + move(m_point.x() - width() / 2, m_point.y() - height()); +} + +void PresentationSearchBar::focusOnSearchEdit() +{ + m_search->setFocus(); +} + +void PresentationSearchBar::resizeEvent(QResizeEvent *) +{ + // if in snap mode, then force the snap and place ourselves correctly again + if (m_snapped) { + forceSnap(); + } +} + +bool PresentationSearchBar::eventFilter(QObject *obj, QEvent *e) +{ + if (obj == m_handle && (e->type() == QEvent::MouseButtonPress || e->type() == QEvent::MouseButtonRelease || e->type() == QEvent::MouseMove)) { + QMouseEvent *me = static_cast(e); + if (e->type() == QEvent::MouseButtonPress) { + m_drag = m_handle->mapTo(this, me->pos()); + } else if (e->type() == QEvent::MouseButtonRelease) { + m_drag = QPoint(); + } else if (e->type() == QEvent::MouseMove) { + QPoint snapdelta(width() / 2, height()); + QPoint delta = m_handle->mapTo(this, me->pos()) - m_drag; + QPoint newpostemp = pos() + delta; + QPoint tmp = newpostemp + snapdelta - m_point; + QPoint newpos = abs(tmp.x()) < SNAP_DELTA && abs(tmp.y()) < SNAP_DELTA ? m_point - snapdelta : newpostemp; + m_snapped = newpos == (m_point - snapdelta); + move(newpos); + } + return true; + } + if (obj == m_anchor && e->type() == QEvent::Resize) { + m_point = QPoint(m_anchor->width() / 2, m_anchor->height()); + + if (m_snapped) { + move(m_point.x() - width() / 2, m_point.y() - height()); + } + } + + return false; +} + +#include "presentationsearchbar.moc" diff --git a/part/presentationsearchbar.h b/part/presentationsearchbar.h new file mode 100644 index 0000000..92c554a --- /dev/null +++ b/part/presentationsearchbar.h @@ -0,0 +1,44 @@ +/* + SPDX-FileCopyrightText: 2007 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_PRESENTATIONSEARCHBAR_H_ +#define _OKULAR_PRESENTATIONSEARCHBAR_H_ + +#include + +class SearchLineEdit; + +namespace Okular +{ +class Document; +} + +class PresentationSearchBar : public QWidget +{ + Q_OBJECT + +public: + PresentationSearchBar(Okular::Document *document, QWidget *anchor, QWidget *parent = nullptr); + ~PresentationSearchBar() override; + + void forceSnap(); + void focusOnSearchEdit(); + +protected: + void resizeEvent(QResizeEvent *) override; + bool eventFilter(QObject *, QEvent *) override; + +private: + QWidget *m_handle; + QWidget *m_anchor; + QPoint m_point; + bool m_snapped; + QPoint m_drag; + + SearchLineEdit *m_search; +}; + +#endif diff --git a/part/presentationwidget.cpp b/part/presentationwidget.cpp new file mode 100644 index 0000000..1b1af33 --- /dev/null +++ b/part/presentationwidget.cpp @@ -0,0 +1,2345 @@ +/* + SPDX-FileCopyrightText: 2004 Enrico Ros + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "presentationwidget.h" +#include "config-okular.h" + +// qt/kde includes +#if HAVE_DBUS +#include +#include +#include +#endif +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef Q_OS_LINUX +#if HAVE_DBUS +#include +#endif +#include // For ::close() for sleep inhibition +#endif + +// system includes +#include +#include + +// local includes +#include "annotationtools.h" +#include "core/action.h" +#include "core/annotations.h" +#include "core/audioplayer.h" +#include "core/document.h" +#include "core/generator.h" +#include "core/movie.h" +#include "core/page.h" +#include "drawingtoolactions.h" +#include "gui/debug_ui.h" +#include "gui/guiutils.h" +#include "gui/pagepainter.h" +#include "gui/priorities.h" +#include "presentationsearchbar.h" +#include "settings.h" +#include "settings_core.h" +#include "videowidget.h" + +// comment this to disable the top-right progress indicator +#define ENABLE_PROGRESS_OVERLAY + +// a frame contains a pointer to the page object, its geometry and the +// transition effect to the next frame +struct PresentationFrame { + explicit PresentationFrame(const Okular::Page *_page) + : page(_page) { }; + + ~PresentationFrame() + { + qDeleteAll(videoWidgets); + } + + PresentationFrame(const PresentationFrame &) = delete; + PresentationFrame &operator=(const PresentationFrame &) = delete; + + void recalcGeometry(int width, int height, float screenRatio) + { + // calculate frame geometry keeping constant aspect ratio + float pageRatio = page->ratio(); + int pageWidth = width, pageHeight = height; + if (pageRatio > screenRatio) { + pageWidth = (int)((float)pageHeight / pageRatio); + } else { + pageHeight = (int)((float)pageWidth * pageRatio); + } + geometry.setRect((width - pageWidth) / 2, (height - pageHeight) / 2, pageWidth, pageHeight); + + for (VideoWidget *vw : std::as_const(videoWidgets)) { + const Okular::NormalizedRect r = vw->normGeometry(); + QRect vwgeom = r.geometry(geometry.width(), geometry.height()); + vw->resize(vwgeom.size()); + vw->move(geometry.topLeft() + vwgeom.topLeft()); + } + } + + const Okular::Page *page; + QRect geometry; + QHash videoWidgets; + std::vector drawings; +}; + +// a custom QToolBar that basically does not propagate the event if the widget +// background is not automatically filled +class PresentationToolBar : public QToolBar +{ + Q_OBJECT + +public: + explicit PresentationToolBar(QWidget *parent = Q_NULLPTR) + : QToolBar(parent) + { + } + +protected: + void mousePressEvent(QMouseEvent *e) override + { + QToolBar::mousePressEvent(e); + e->accept(); + } + + void mouseReleaseEvent(QMouseEvent *e) override + { + QToolBar::mouseReleaseEvent(e); + e->accept(); + } +}; + +PresentationWidget::PresentationWidget(QWidget *parent, Okular::Document *doc, DrawingToolActions *drawingToolActions, KActionCollection *collection) + : QWidget(nullptr /* must be null, to have an independent widget */, Qt::FramelessWindowHint) + , m_pressedLink(nullptr) + , m_handCursor(false) + , m_drawingEngine(nullptr) + , m_screenInhibitCookie(0) + , m_sleepInhibitFd(-1) + , m_parentWidget(parent) + , m_document(doc) + , m_frameIndex(-1) + , m_topBar(nullptr) + , m_pagesEdit(nullptr) + , m_searchBar(nullptr) + , m_ac(collection) + , m_screenSelect(nullptr) + , m_isSetup(false) + , m_blockNotifications(false) + , m_inBlackScreenMode(false) + , m_showSummaryView(Okular::Settings::slidesShowSummary()) + , m_advanceSlides(Okular::SettingsCore::slidesAdvance()) + , m_goToPreviousPageOnRelease(false) + , m_goToNextPageOnRelease(false) +{ + setAttribute(Qt::WA_DeleteOnClose); + setAttribute(Qt::WA_OpaquePaintEvent); + setObjectName(QStringLiteral("presentationWidget")); + QString caption = doc->metaData(QStringLiteral("DocumentTitle")).toString(); + if (caption.trimmed().isEmpty()) { + caption = doc->currentDocument().fileName(); + } + caption = i18nc("[document title/filename] – Presentation", "%1 – Presentation", caption); + setWindowTitle(caption); + + m_width = -1; + + // create top toolbar + m_topBar = new PresentationToolBar(this); + m_topBar->setObjectName(QStringLiteral("presentationBar")); + m_topBar->setMovable(false); + m_topBar->layout()->setContentsMargins(0, 0, 0, 0); + m_topBar->addAction(QIcon::fromTheme(layoutDirection() == Qt::RightToLeft ? QStringLiteral("go-next") : QStringLiteral("go-previous")), i18n("Previous Page"), this, &PresentationWidget::slotPrevPage); + m_pagesEdit = new KLineEdit(m_topBar); + QSizePolicy sp = m_pagesEdit->sizePolicy(); + sp.setHorizontalPolicy(QSizePolicy::Minimum); + m_pagesEdit->setSizePolicy(sp); + QFontMetrics fm(m_pagesEdit->font()); + QStyleOptionFrame option; + option.initFrom(m_pagesEdit); + m_pagesEdit->setMaximumWidth(fm.horizontalAdvance(QString::number(m_document->pages())) + 2 * style()->pixelMetric(QStyle::PM_DefaultFrameWidth, &option, m_pagesEdit) + + 4); // the 4 comes from 2*horizontalMargin, horizontalMargin being a define in qlineedit.cpp + QIntValidator *validator = new QIntValidator(1, m_document->pages(), m_pagesEdit); + m_pagesEdit->setValidator(validator); + m_topBar->addWidget(m_pagesEdit); + QLabel *pagesLabel = new QLabel(m_topBar); + pagesLabel->setText(QLatin1String(" / ") + QString::number(m_document->pages()) + QLatin1String(" ")); + m_topBar->addWidget(pagesLabel); + connect(m_pagesEdit, &QLineEdit::returnPressed, this, &PresentationWidget::slotPageChanged); + m_topBar->addAction(QIcon::fromTheme(layoutDirection() == Qt::RightToLeft ? QStringLiteral("go-previous") : QStringLiteral("go-next")), i18n("Next Page"), this, &PresentationWidget::slotNextPage); + m_topBar->addSeparator(); + QAction *playPauseAct = collection->action(QStringLiteral("presentation_play_pause")); + playPauseAct->setEnabled(true); + connect(playPauseAct, &QAction::triggered, this, &PresentationWidget::slotTogglePlayPause); + m_topBar->addAction(playPauseAct); + addAction(playPauseAct); + m_topBar->addSeparator(); + + const QList actionsList = drawingToolActions->actions(); + for (QAction *action : actionsList) { + action->setEnabled(true); + m_topBar->addAction(action); + addAction(action); + } + connect(drawingToolActions, &DrawingToolActions::changeEngine, this, &PresentationWidget::slotChangeDrawingToolEngine); + connect(drawingToolActions, &DrawingToolActions::actionsRecreated, this, &PresentationWidget::slotAddDrawingToolActions); + + QAction *eraseDrawingAct = collection->action(QStringLiteral("presentation_erase_drawings")); + eraseDrawingAct->setEnabled(true); + connect(eraseDrawingAct, &QAction::triggered, this, &PresentationWidget::clearDrawings); + m_topBar->addAction(eraseDrawingAct); + addAction(eraseDrawingAct); + + const int screenCount = QApplication::screens().count(); + if (screenCount > 1) { + m_topBar->addSeparator(); + m_screenSelect = new KSelectAction(QIcon::fromTheme(QStringLiteral("video-display")), i18n("Switch Screen"), m_topBar); + m_screenSelect->setToolBarMode(KSelectAction::MenuMode); + m_screenSelect->setToolButtonPopupMode(QToolButton::InstantPopup); + m_topBar->addAction(m_screenSelect); + for (int i = 0; i < screenCount; ++i) { + QAction *act = m_screenSelect->addAction(i18nc("%1 is the screen number (0, 1, ...)", "Screen %1", i)); + act->setData(QVariant::fromValue(i)); + } + } + QWidget *spacer = new QWidget(m_topBar); + spacer->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::MinimumExpanding); + m_topBar->addWidget(spacer); + m_topBar->addAction(QIcon::fromTheme(QStringLiteral("application-exit")), i18n("Exit Presentation Mode"), this, &PresentationWidget::close); + m_topBar->setAutoFillBackground(true); + showTopBar(false); + // change topbar background color + QPalette p = m_topBar->palette(); + p.setColor(QPalette::Active, QPalette::Button, Qt::gray); + p.setColor(QPalette::Active, QPalette::Window, Qt::darkGray); + m_topBar->setPalette(p); + + // Grab swipe gestures to change pages + grabGesture(Qt::SwipeGesture); + + // misc stuff + setMouseTracking(true); + setContextMenuPolicy(Qt::PreventContextMenu); + m_transitionTimer = new QTimer(this); + m_transitionTimer->setSingleShot(true); + connect(m_transitionTimer, &QTimer::timeout, this, &PresentationWidget::slotTransitionStep); + m_overlayHideTimer = new QTimer(this); + m_overlayHideTimer->setSingleShot(true); + connect(m_overlayHideTimer, &QTimer::timeout, this, &PresentationWidget::slotHideOverlay); + m_nextPageTimer = new QTimer(this); + m_nextPageTimer->setSingleShot(true); + connect(m_nextPageTimer, &QTimer::timeout, this, &PresentationWidget::slotNextPage); + setPlayPauseIcon(); + + connect(m_document, &Okular::Document::processMovieAction, this, &PresentationWidget::slotProcessMovieAction); + connect(m_document, &Okular::Document::processRenditionAction, this, &PresentationWidget::slotProcessRenditionAction); + + // handle cursor appearance as specified in configuration + if (Okular::Settings::slidesCursor() == Okular::Settings::EnumSlidesCursor::HiddenDelay) { + KCursor::setAutoHideCursor(this, true); + KCursor::setHideCursorDelay(3000); + } else if (Okular::Settings::slidesCursor() == Okular::Settings::EnumSlidesCursor::Hidden) { + setCursor(QCursor(Qt::BlankCursor)); + } + + setupActions(); + + // inhibit power management + inhibitPowerManagement(); + + QTimer::singleShot(0, this, &PresentationWidget::slotDelayedEvents); + + // setFocus() so KCursor::setAutoHideCursor() goes into effect if it's enabled + setFocus(Qt::OtherFocusReason); + + // Catch TabletEnterProximity and TabletLeaveProximity events from the QApplication + qApp->installEventFilter(this); +} + +PresentationWidget::~PresentationWidget() +{ + // allow power management saver again + allowPowerManagement(); + + // stop the audio playbacks + Okular::AudioPlayer::instance()->stopPlaybacks(); + + // remove our highlights + if (m_searchBar) { + m_document->resetSearch(PRESENTATION_SEARCH_ID); + } + + // remove this widget from document observer + m_document->removeObserver(this); + + const QList actionsList = actions(); + for (QAction *action : actionsList) { + action->setChecked(false); + action->setEnabled(false); + } + + delete m_drawingEngine; + + // delete frames + qDeleteAll(m_frames); + + qApp->removeEventFilter(this); +} + +void PresentationWidget::notifySetup(const QList &pageSet, int setupFlags) +{ + // same document, nothing to change - here we assume the document sets up + // us with the whole document set as first notifySetup() + if (!(setupFlags & Okular::DocumentObserver::DocumentChanged)) { + return; + } + + // delete previous frames (if any (shouldn't be)) + qDeleteAll(m_frames); + if (!m_frames.isEmpty()) { + qCWarning(OkularUiDebug) << "Frames setup changed while a Presentation is in progress."; + } + m_frames.clear(); + + // create the new frames + float screenRatio = (float)m_height / (float)m_width; + for (const Okular::Page *page : pageSet) { + PresentationFrame *frame = new PresentationFrame(page); + const QList annotations = page->annotations(); + for (Okular::Annotation *a : annotations) { + if (a->subType() == Okular::Annotation::AMovie) { + Okular::MovieAnnotation *movieAnn = static_cast(a); + VideoWidget *vw = new VideoWidget(movieAnn, movieAnn->movie(), m_document, this); + frame->videoWidgets.insert(movieAnn->movie(), vw); + vw->pageInitialized(); + } else if (a->subType() == Okular::Annotation::ARichMedia) { + Okular::RichMediaAnnotation *richMediaAnn = static_cast(a); + if (richMediaAnn->movie()) { + VideoWidget *vw = new VideoWidget(richMediaAnn, richMediaAnn->movie(), m_document, this); + frame->videoWidgets.insert(richMediaAnn->movie(), vw); + vw->pageInitialized(); + } + } else if (a->subType() == Okular::Annotation::AScreen) { + const Okular::ScreenAnnotation *screenAnn = static_cast(a); + Okular::Movie *movie = GuiUtils::renditionMovieFromScreenAnnotation(screenAnn); + if (movie) { + VideoWidget *vw = new VideoWidget(screenAnn, movie, m_document, this); + frame->videoWidgets.insert(movie, vw); + vw->pageInitialized(); + } + } + } + frame->recalcGeometry(m_width, m_height, screenRatio); + // add the frame to the vector + m_frames.push_back(frame); + } + + // get metadata from the document + m_metaStrings.clear(); + const Okular::DocumentInfo info = m_document->documentInfo(QSet() << Okular::DocumentInfo::Title << Okular::DocumentInfo::Author); + if (!info.get(Okular::DocumentInfo::Title).isNull()) { + m_metaStrings += i18n("Title: %1", info.get(Okular::DocumentInfo::Title)); + } + if (!info.get(Okular::DocumentInfo::Author).isNull()) { + m_metaStrings += i18n("Author: %1", info.get(Okular::DocumentInfo::Author)); + } + m_metaStrings += i18n("Pages: %1", m_document->pages()); + m_metaStrings += i18n("Click to begin"); + + m_isSetup = true; +} + +void PresentationWidget::notifyViewportChanged(bool /*smoothMove*/) +{ + // display the current page + changePage(m_document->viewport().pageNumber); + + // auto advance to the next page if set + startAutoChangeTimer(); +} + +void PresentationWidget::notifyPageChanged(int pageNumber, int changedFlags) +{ + // if we are blocking the notifications, do nothing + if (m_blockNotifications) { + return; + } + + // check if it's the last requested pixmap. if so update the widget. + if ((changedFlags & (DocumentObserver::Pixmap | DocumentObserver::Annotations | DocumentObserver::Highlights)) && pageNumber == m_frameIndex) { + generatePage(changedFlags & (DocumentObserver::Annotations | DocumentObserver::Highlights)); + } +} + +void PresentationWidget::notifyCurrentPageChanged(int previousPage, int currentPage) +{ + if (previousPage != -1) { + // stop video playback + for (VideoWidget *vw : std::as_const(m_frames[previousPage]->videoWidgets)) { + vw->stop(); + vw->pageLeft(); + } + + // stop audio playback, if any + Okular::AudioPlayer::instance()->stopPlaybacks(); + + // perform the page closing action, if any + if (m_document->page(previousPage)->pageAction(Okular::Page::Closing)) { + m_document->processAction(m_document->page(previousPage)->pageAction(Okular::Page::Closing)); + } + + // perform the additional actions of the page's annotations, if any + const QList annotationsList = m_document->page(previousPage)->annotations(); + for (const Okular::Annotation *annotation : annotationsList) { + Okular::Action *action = nullptr; + + if (annotation->subType() == Okular::Annotation::AScreen) { + action = static_cast(annotation)->additionalAction(Okular::Annotation::PageClosing); + } else if (annotation->subType() == Okular::Annotation::AWidget) { + action = static_cast(annotation)->additionalAction(Okular::Annotation::PageClosing); + } + + if (action) { + m_document->processAction(action); + } + } + } + + if (currentPage != -1) { + m_frameIndex = currentPage; + + // check if pixmap exists or else request it + PresentationFrame *frame = m_frames[m_frameIndex]; + int pixW = frame->geometry.width(); + int pixH = frame->geometry.height(); + + bool signalsBlocked = m_pagesEdit->signalsBlocked(); + m_pagesEdit->blockSignals(true); + m_pagesEdit->setText(QString::number(m_frameIndex + 1)); + m_pagesEdit->blockSignals(signalsBlocked); + + // if pixmap not inside the Okular::Page we request it and wait for + // notifyPixmapChanged call or else we can proceed to pixmap generation + if (!frame->page->hasPixmap(this, ceil(pixW * devicePixelRatioF()), ceil(pixH * devicePixelRatioF()))) { + requestPixmaps(); + } else { + // make the background pixmap + generatePage(); + } + + // perform the page opening action, if any + if (m_document->page(m_frameIndex)->pageAction(Okular::Page::Opening)) { + m_document->processAction(m_document->page(m_frameIndex)->pageAction(Okular::Page::Opening)); + } + + // perform the additional actions of the page's annotations, if any + const QList annotationsList = m_document->page(m_frameIndex)->annotations(); + for (const Okular::Annotation *annotation : annotationsList) { + Okular::Action *action = nullptr; + + if (annotation->subType() == Okular::Annotation::AScreen) { + action = static_cast(annotation)->additionalAction(Okular::Annotation::PageOpening); + } else if (annotation->subType() == Okular::Annotation::AWidget) { + action = static_cast(annotation)->additionalAction(Okular::Annotation::PageOpening); + } + + if (action) { + m_document->processAction(action); + } + } + + // start autoplay video playback + for (VideoWidget *vw : std::as_const(m_frames[m_frameIndex]->videoWidgets)) { + vw->pageEntered(); + } + } +} + +bool PresentationWidget::canUnloadPixmap(int pageNumber) const +{ + if (Okular::SettingsCore::memoryLevel() == Okular::SettingsCore::EnumMemoryLevel::Low || Okular::SettingsCore::memoryLevel() == Okular::SettingsCore::EnumMemoryLevel::Normal) { + // can unload all pixmaps except for the currently visible one + return pageNumber != m_frameIndex; + } else { + // can unload all pixmaps except for the currently visible one, previous and next + return qAbs(pageNumber - m_frameIndex) <= 1; + } +} + +void PresentationWidget::setupActions() +{ + addAction(m_ac->action(QStringLiteral("first_page"))); + addAction(m_ac->action(QStringLiteral("last_page"))); + addAction(m_ac->action(KStandardAction::name(KStandardAction::Prior))); + addAction(m_ac->action(KStandardAction::name(KStandardAction::Next))); + addAction(m_ac->action(KStandardAction::name(KStandardAction::DocumentBack))); + addAction(m_ac->action(KStandardAction::name(KStandardAction::DocumentForward))); + + QAction *action = m_ac->action(QStringLiteral("switch_blackscreen_mode")); + connect(action, &QAction::toggled, this, &PresentationWidget::toggleBlackScreenMode); + action->setEnabled(true); + addAction(action); +} + +void PresentationWidget::setPlayPauseIcon() +{ + QAction *playPauseAction = m_ac->action(QStringLiteral("presentation_play_pause")); + if (m_nextPageTimer->isActive()) { + playPauseAction->setIcon(QIcon::fromTheme(QStringLiteral("media-playback-pause"))); + playPauseAction->setToolTip(i18nc("For Presentation", "Pause")); + } else { + playPauseAction->setIcon(QIcon::fromTheme(QStringLiteral("media-playback-start"))); + playPauseAction->setToolTip(i18nc("For Presentation", "Play")); + } +} + +bool PresentationWidget::eventFilter(QObject *o, QEvent *e) +{ + if (o == qApp) { + if (e->type() == QTabletEvent::TabletEnterProximity) { + setCursor(QCursor(Qt::CrossCursor)); + } else if (e->type() == QTabletEvent::TabletLeaveProximity) { + setCursor(QCursor(Okular::Settings::slidesCursor() == Okular::Settings::EnumSlidesCursor::Hidden ? Qt::BlankCursor : Qt::ArrowCursor)); + if (Okular::Settings::slidesCursor() == Okular::Settings::EnumSlidesCursor::HiddenDelay) { + // Trick KCursor to hide the cursor if needed by sending an "unknown" key press event + // Send also the key release to make the world happy even it's probably not needed + QKeyEvent kp(QEvent::KeyPress, 0, Qt::NoModifier); + qApp->sendEvent(this, &kp); + QKeyEvent kr(QEvent::KeyRelease, 0, Qt::NoModifier); + qApp->sendEvent(this, &kr); + } + } + } + return false; +} + +// +bool PresentationWidget::event(QEvent *e) +{ + if (e->type() == QEvent::DevicePixelRatioChange) { + invalidatePixmaps(); + return QWidget::event(e); + } + + if (e->type() == QEvent::Gesture) { + return gestureEvent(static_cast(e)); + } + + if (e->type() == QEvent::ToolTip) { + QHelpEvent *he = static_cast(e); + + QRect r; + const Okular::Action *link = getLink(he->pos(), &r); + + if (link) { + QString tip = link->actionTip(); + if (!tip.isEmpty()) { + QToolTip::showText(he->globalPos(), tip, this, r); + } + } + e->accept(); + return true; + } else { + // do not stop the event + return QWidget::event(e); + } +} + +bool PresentationWidget::gestureEvent(QGestureEvent *event) +{ + // Swiping left or right on a touch screen will go to the previous or next slide, respectively. + // The precise gesture is the standard Qt swipe: with three(!) fingers. + if (QGesture *swipe = event->gesture(Qt::SwipeGesture)) { + QSwipeGesture *swipeEvent = static_cast(swipe); + + if (swipeEvent->state() == Qt::GestureFinished) { + if (swipeEvent->horizontalDirection() == QSwipeGesture::Left) { + slotPrevPage(); + event->accept(); + return true; + } + if (swipeEvent->horizontalDirection() == QSwipeGesture::Right) { + slotNextPage(); + event->accept(); + return true; + } + } + } + + return false; +} +void PresentationWidget::keyPressEvent(QKeyEvent *e) +{ + if (!m_isSetup) { + return; + } + + switch (e->key()) { + case Qt::Key_Left: + case Qt::Key_Backspace: + case Qt::Key_PageUp: + case Qt::Key_Up: + slotPrevPage(); + break; + case Qt::Key_Right: + case Qt::Key_Space: + case Qt::Key_PageDown: + case Qt::Key_Down: + slotNextPage(); + break; + case Qt::Key_Home: + slotFirstPage(); + break; + case Qt::Key_End: + slotLastPage(); + break; + case Qt::Key_Escape: + if (!m_topBar->isHidden()) { + showTopBar(false); + } else { + close(); + } + break; + } +} + +void PresentationWidget::wheelEvent(QWheelEvent *e) +{ + if (!m_isSetup) { + return; + } + + // performance note: don't remove the clipping + int div = e->angleDelta().y() / 120; + if (div > 0) { + if (div > 3) { + div = 3; + } + while (div--) { + slotPrevPage(); + } + } else if (div < 0) { + if (div < -3) { + div = -3; + } + while (div++) { + slotNextPage(); + } + } +} + +void PresentationWidget::mousePressEvent(QMouseEvent *e) +{ + if (!m_isSetup) { + return; + } + + if (m_drawingEngine) { + QRect r = routeMouseDrawingEvent(e); + if (r.isValid()) { + m_drawingRect |= r.translated(m_frames[m_frameIndex]->geometry.topLeft()); + update(m_drawingRect); + } + return; + } + + // pressing left button + if (e->button() == Qt::LeftButton) { + // if pressing on a link, skip other checks + if ((m_pressedLink = getLink(e->position()))) { + return; + } + + const Okular::Annotation *annotation = getAnnotation(e->position()); + if (annotation) { + if (annotation->subType() == Okular::Annotation::AMovie) { + const Okular::MovieAnnotation *movieAnnotation = static_cast(annotation); + + VideoWidget *vw = m_frames[m_frameIndex]->videoWidgets.value(movieAnnotation->movie()); + vw->show(); + vw->play(); + return; + } else if (annotation->subType() == Okular::Annotation::ARichMedia) { + const Okular::RichMediaAnnotation *richMediaAnnotation = static_cast(annotation); + + VideoWidget *vw = m_frames[m_frameIndex]->videoWidgets.value(richMediaAnnotation->movie()); + vw->show(); + vw->play(); + return; + } else if (annotation->subType() == Okular::Annotation::AScreen) { + m_document->processAction(static_cast(annotation)->action()); + return; + } + } + + // handle clicking on top-right overlay + if (!(Okular::Settings::slidesCursor() == Okular::Settings::EnumSlidesCursor::Hidden) && m_overlayGeometry.contains(e->pos())) { + overlayClick(e->pos()); + return; + } + + // Actual mouse press events always lead to the next page page + if (e->source() == Qt::MouseEventNotSynthesized) { + m_goToNextPageOnRelease = true; + } + // Touch events may lead to the previous or next page + else if (Okular::Settings::slidesTapNavigation() != Okular::Settings::EnumSlidesTapNavigation::Disabled) { + switch (Okular::Settings::slidesTapNavigation()) { + case Okular::Settings::EnumSlidesTapNavigation::ForwardBackward: { + if (e->position().x() < (qreal(geometry().width()) / 2)) { + m_goToPreviousPageOnRelease = true; + } else { + m_goToNextPageOnRelease = true; + } + break; + } + case Okular::Settings::EnumSlidesTapNavigation::Forward: { + m_goToNextPageOnRelease = true; + break; + } + case Okular::Settings::EnumSlidesTapNavigation::Disabled: { + // Do Nothing + } + } + } + } + // pressing forward button + else if (e->button() == Qt::ForwardButton) { + m_goToNextPageOnRelease = true; + } + // pressing right or backward button + else if (e->button() == Qt::RightButton || e->button() == Qt::BackButton) { + m_goToPreviousPageOnRelease = true; + } +} + +void PresentationWidget::mouseReleaseEvent(QMouseEvent *e) +{ + if (m_drawingEngine) { + routeMouseDrawingEvent(e); + return; + } + + // if releasing on the same link we pressed over, execute it + if (m_pressedLink && e->button() == Qt::LeftButton) { + const Okular::Action *link = getLink(e->position()); + if (link == m_pressedLink) { + m_document->processAction(link); + } + m_pressedLink = nullptr; + } + + if (m_goToPreviousPageOnRelease) { + slotPrevPage(); + m_goToPreviousPageOnRelease = false; + } + + if (m_goToNextPageOnRelease) { + slotNextPage(); + m_goToNextPageOnRelease = false; + } +} + +void PresentationWidget::mouseMoveEvent(QMouseEvent *e) +{ + // safety check + if (!m_isSetup) { + return; + } + + // update cursor and tooltip if hovering a link + if (!m_drawingEngine && Okular::Settings::slidesCursor() != Okular::Settings::EnumSlidesCursor::Hidden) { + testCursorOnLink(e->position()); + } + + if (!m_topBar->isHidden()) { + // hide a shown bar when exiting the area + if (e->position().y() > (m_topBar->height() + 1)) { + showTopBar(false); + setFocus(Qt::OtherFocusReason); + } + } else { + if (m_drawingEngine && e->buttons() != Qt::NoButton) { + QRect r = routeMouseDrawingEvent(e); + if (r.isValid()) { + m_drawingRect |= r.translated(m_frames[m_frameIndex]->geometry.topLeft()); + update(m_drawingRect); + } + } else { + // show the bar if reaching top 2 pixels + if (e->position().y() <= 1) { + showTopBar(true); + } else if ((QApplication::mouseButtons() & Qt::LeftButton) && m_overlayGeometry.contains(e->pos())) { + // handle "dragging the wheel" if clicking on its geometry + overlayClick(e->pos()); + } + } + } +} + +void PresentationWidget::paintEvent(QPaintEvent *pe) +{ + qreal dpr = devicePixelRatioF(); + + if (m_inBlackScreenMode) { + QPainter painter(this); + painter.fillRect(pe->rect(), Qt::black); + return; + } + + if (!m_isSetup) { + m_width = width(); + m_height = height(); + + connect(m_document, &Okular::Document::linkFind, this, &PresentationWidget::slotFind); + + // register this observer in document. events will come immediately + m_document->addObserver(this); + + // show summary if requested + if (Okular::Settings::slidesShowSummary()) { + generatePage(); + } + } + + // check painting rect consistency + QRect paintRect = pe->rect().intersected(QRect(QPoint(0, 0), geometry().size())); + if (paintRect.isNull()) { + return; + } + + if (m_lastRenderedPixmap.isNull()) { + QPainter painter(this); + painter.fillRect(pe->rect(), Okular::Settings::slidesBackgroundColor()); + return; + } + + // blit the pixmap to the screen + QPainter painter(this); + for (const QRect &r : pe->region()) { + if (!r.isValid()) { + continue; + } +#ifdef ENABLE_PROGRESS_OVERLAY + const QRect dR(QRectF(r.x() * dpr, r.y() * dpr, r.width() * dpr, r.height() * dpr).toAlignedRect()); + if (Okular::Settings::slidesShowProgress() && r.intersects(m_overlayGeometry)) { + // backbuffer the overlay operation + QPixmap backPixmap(dR.size()); + backPixmap.setDevicePixelRatio(dpr); + QPainter pixPainter(&backPixmap); + + // first draw the background on the backbuffer + pixPainter.drawPixmap(QPoint(0, 0), m_lastRenderedPixmap, dR); + + // then blend the overlay (a piece of) over the background + QRect ovr = m_overlayGeometry.intersected(r); + pixPainter.drawPixmap((ovr.left() - r.left()), (ovr.top() - r.top()), m_lastRenderedOverlay, (ovr.left() - m_overlayGeometry.left()) * dpr, (ovr.top() - m_overlayGeometry.top()) * dpr, ovr.width() * dpr, ovr.height() * dpr); + + // finally blit the pixmap to the screen + pixPainter.end(); + const QRect backPixmapRect = backPixmap.rect(); + const QRect dBackPixmapRect(QRectF(backPixmapRect.x() * dpr, backPixmapRect.y() * dpr, backPixmapRect.width() * dpr, backPixmapRect.height() * dpr).toAlignedRect()); + painter.drawPixmap(r.topLeft(), backPixmap, dBackPixmapRect); + } else { +#endif + // copy the rendered pixmap to the screen + painter.drawPixmap(r.topLeft(), m_lastRenderedPixmap, dR); + } + } + + // paint drawings + if (m_frameIndex != -1) { + painter.save(); + + const QRect &geom = m_frames[m_frameIndex]->geometry; + + const QSize pmSize(geom.width() * dpr, geom.height() * dpr); + QPixmap pm(pmSize); + pm.fill(Qt::transparent); + QPainter pmPainter(&pm); + + pm.setDevicePixelRatio(dpr); + pmPainter.setRenderHints(QPainter::Antialiasing); + + // Paint old paths + for (const SmoothPath &drawing : m_frames[m_frameIndex]->drawings) { + drawing.paint(&pmPainter, pmSize.width(), pmSize.height()); + } + + // Paint the path that is currently being drawn by the user + if (m_drawingEngine && m_drawingRect.intersects(pe->rect())) { + m_drawingEngine->paint(&pmPainter, pmSize.width(), pmSize.height(), m_drawingRect.intersected(pe->rect())); + } + + painter.setRenderHints(QPainter::Antialiasing); + painter.drawPixmap(geom.topLeft(), pm); + + painter.restore(); + } + painter.end(); +} + +void PresentationWidget::resizeEvent(QResizeEvent *re) +{ + m_width = width(); + m_height = height(); + + // if by chance the new size equals the old, do not invalidate pixmaps and such.. + if (size() == re->oldSize()) { + return; + } + + // BEGIN Top toolbar + // tool bar height in pixels, make it large enough to hold the text fields with the page numbers + const int toolBarHeight = m_pagesEdit->height() * 1.5; + + m_topBar->setGeometry(0, 0, width(), toolBarHeight); + m_topBar->setIconSize(QSize(toolBarHeight * 0.75, toolBarHeight * 0.75)); + // END Top toolbar + + // BEGIN Content area + // update the frames + const float screenRatio = (float)m_height / (float)m_width; + for (PresentationFrame *frame : std::as_const(m_frames)) { + frame->recalcGeometry(m_width, m_height, screenRatio); + } + + invalidatePixmaps(); + + if (m_transitionTimer->isActive()) { + m_transitionTimer->stop(); + } + + generatePage(true /* no transitions */); + // END Content area +} + +void PresentationWidget::enterEvent(QEnterEvent *e) +{ + if (!m_topBar->isHidden()) { + // This can happen when we exited the widget via a "tooltip" and the tooltip disappears + if (e->position().y() > (m_topBar->height() + 1)) { + showTopBar(false); + } + } + QWidget::enterEvent(e); +} + +void PresentationWidget::leaveEvent(QEvent *e) +{ + Q_UNUSED(e) + + if (!m_topBar->isHidden()) { + if (QToolTip::isVisible()) { + // make sure we're not hovering over the tooltip + // because the world is sad, this works differently on Wayland and X11 + // on X11 the widget under the cursor is the tooltip window + // on wayland it's the button generating the tooltip (why? no idea) + const QWidget *widgetUnderCursor = qApp->widgetAt(QCursor::pos()); + if (widgetUnderCursor) { + const QWidget *widgetUnderCursorWindow = widgetUnderCursor->window(); + if (widgetUnderCursorWindow == this) { + qDebug() << "Wayland"; + return; + } else { + const QWidget *widgetUnderCursorParentWindow = widgetUnderCursorWindow->parentWidget() ? widgetUnderCursorWindow->parentWidget()->window() : nullptr; + if (widgetUnderCursorParentWindow == this) { + qDebug() << "X11"; + return; + } + } + } + } + showTopBar(false); + } +} +// + +const void *PresentationWidget::getObjectRect(Okular::ObjectRect::ObjectType type, QPointF point, QRect *geometry) const +{ + // no links on invalid pages + if (geometry && !geometry->isNull()) { + geometry->setRect(0, 0, 0, 0); + } + if (m_frameIndex < 0 || m_frameIndex >= (int)m_frames.size()) { + return nullptr; + } + + // get frame, page and geometry + const PresentationFrame *frame = m_frames[m_frameIndex]; + const Okular::Page *page = frame->page; + const QRect &frameGeometry = frame->geometry; + + // compute normalized x and y + double nx = (double)(point.x() - frameGeometry.left()) / (double)frameGeometry.width(); + double ny = (double)(point.y() - frameGeometry.top()) / (double)frameGeometry.height(); + + // no links outside the pages + if (nx < 0 || nx > 1 || ny < 0 || ny > 1) { + return nullptr; + } + + // check if 1) there is an object and 2) it's a link + const QRect screenRect = oldQt_screenOf(this)->geometry(); + const Okular::ObjectRect *object = page->objectRect(type, nx, ny, screenRect.width(), screenRect.height()); + if (!object) { + return nullptr; + } + + // compute link geometry if destination rect present + if (geometry) { + *geometry = object->boundingRect(frameGeometry.width(), frameGeometry.height()); + geometry->translate(frameGeometry.left(), frameGeometry.top()); + } + + // return the link pointer + return object->object(); +} + +const Okular::Action *PresentationWidget::getLink(QPointF point, QRect *geometry) const +{ + return reinterpret_cast(getObjectRect(Okular::ObjectRect::Action, point, geometry)); +} + +const Okular::Annotation *PresentationWidget::getAnnotation(QPointF point, QRect *geometry) const +{ + return reinterpret_cast(getObjectRect(Okular::ObjectRect::OAnnotation, point, geometry)); +} + +void PresentationWidget::testCursorOnLink(QPointF point) +{ + const Okular::Action *link = getLink(point, nullptr); + const Okular::Annotation *annotation = getAnnotation(point, nullptr); + + const bool needsHandCursor = ((link != nullptr) || ((annotation != nullptr) && (annotation->subType() == Okular::Annotation::AMovie)) || ((annotation != nullptr) && (annotation->subType() == Okular::Annotation::ARichMedia)) || + ((annotation != nullptr) && (annotation->subType() == Okular::Annotation::AScreen) && (GuiUtils::renditionMovieFromScreenAnnotation(static_cast(annotation)) != nullptr))); + + // only react on changes (in/out from a link) + if ((needsHandCursor && !m_handCursor) || (!needsHandCursor && m_handCursor)) { + // change cursor shape + m_handCursor = needsHandCursor; + setCursor(QCursor(m_handCursor ? Qt::PointingHandCursor : Qt::ArrowCursor)); + } +} + +void PresentationWidget::overlayClick(const QPoint position) +{ + // clicking the progress indicator + int xPos = position.x() - m_overlayGeometry.x() - m_overlayGeometry.width() / 2, yPos = m_overlayGeometry.height() / 2 - position.y(); + if (!xPos && !yPos) { + return; + } + + // compute angle relative to indicator (note coord transformation) + float angle = 0.5 + 0.5 * atan2((double)-xPos, (double)-yPos) / M_PI; + int pageIndex = (int)(angle * (m_frames.count() - 1) + 0.5); + + // go to selected page + changePage(pageIndex); +} + +void PresentationWidget::changePage(int newPage) +{ + if (m_showSummaryView) { + m_showSummaryView = false; + m_frameIndex = -1; + return; + } + + if (m_frameIndex == newPage) { + return; + } + + // switch to newPage + m_document->setViewportPage(newPage, this); + + if ((Okular::Settings::slidesShowSummary() && !m_showSummaryView) || m_frameIndex == -1) { + notifyCurrentPageChanged(-1, newPage); + } +} + +void PresentationWidget::generatePage(bool disableTransition) +{ + if (m_lastRenderedPixmap.isNull()) { + qreal dpr = devicePixelRatioF(); + m_lastRenderedPixmap = QPixmap(m_width * dpr, m_height * dpr); + m_lastRenderedPixmap.setDevicePixelRatio(dpr); + m_previousPagePixmap = QPixmap(); + } else { + m_previousPagePixmap = m_lastRenderedPixmap; + } + + // opens the painter over the pixmap + QPainter pixmapPainter; + pixmapPainter.begin(&m_lastRenderedPixmap); + // generate welcome page + if (m_frameIndex == -1) { + generateIntroPage(pixmapPainter); + } + // generate a normal pixmap with extended margin filling + if (m_frameIndex >= 0 && m_frameIndex < (int)m_document->pages()) { + generateContentsPage(m_frameIndex, pixmapPainter); + } + pixmapPainter.end(); + + // generate the top-right corner overlay +#ifdef ENABLE_PROGRESS_OVERLAY + if (Okular::Settings::slidesShowProgress() && m_frameIndex != -1) { + generateOverlay(); + } +#endif + + // start transition on pages that have one + disableTransition |= (Okular::Settings::slidesTransition() == Okular::Settings::EnumSlidesTransition::NoTransitions); + if (!disableTransition) { + const Okular::PageTransition *transition = m_frameIndex != -1 ? m_frames[m_frameIndex]->page->transition() : nullptr; + if (transition) { + initTransition(transition); + } else { + Okular::PageTransition trans = defaultTransition(); + initTransition(&trans); + } + } else { + Okular::PageTransition trans = defaultTransition(Okular::Settings::EnumSlidesTransition::Replace); + initTransition(&trans); + } + + // update cursor + tooltip + if (!m_drawingEngine && Okular::Settings::slidesCursor() != Okular::Settings::EnumSlidesCursor::Hidden) { + QPoint p = mapFromGlobal(QCursor::pos()); + testCursorOnLink(p); + } +} + +void PresentationWidget::generateIntroPage(QPainter &p) +{ + qreal dpr = devicePixelRatioF(); + + // use a vertical gray gradient background + int blend1 = m_height / 10, blend2 = 9 * m_height / 10; + int baseTint = QColor(Qt::gray).red(); + for (int i = 0; i < m_height; i++) { + int k = baseTint; + if (i < blend1) { + k -= (int)(baseTint * (i - blend1) * (i - blend1) / (float)(blend1 * blend1)); + } + if (i > blend2) { + k += (int)((255 - baseTint) * (i - blend2) * (i - blend2) / (float)(blend1 * blend1)); + } + p.fillRect(0, i, m_width, 1, QColor(k, k, k)); + } + + // draw okular logo in the four corners + QPixmap logo = QIcon::fromTheme(QStringLiteral("okular")).pixmap(64 * dpr); + logo.setDevicePixelRatio(dpr); + if (!logo.isNull()) { + p.drawPixmap(5, 5, logo); + p.drawPixmap(m_width - 5 - logo.width(), 5, logo); + p.drawPixmap(m_width - 5 - logo.width(), m_height - 5 - logo.height(), logo); + p.drawPixmap(5, m_height - 5 - logo.height(), logo); + } + + // draw metadata text (the last line is 'click to begin') + int strNum = m_metaStrings.count(), strHeight = m_height / (strNum + 4), fontHeight = 2 * strHeight / 3; + QFont font(p.font()); + font.setPixelSize(fontHeight); + QFontMetrics metrics(font); + for (int i = 0; i < strNum; i++) { + // set a font to fit text width + float wScale = (float)metrics.boundingRect(m_metaStrings[i]).width() / (float)m_width; + QFont f(font); + if (wScale > 1.0) { + f.setPixelSize((int)((float)fontHeight / (float)wScale)); + } + p.setFont(f); + + // text shadow + p.setPen(Qt::darkGray); + p.drawText(2, m_height / 4 + strHeight * i + 2, m_width, strHeight, Qt::AlignHCenter | Qt::AlignVCenter, m_metaStrings[i]); + // text body + p.setPen(128 + (127 * i) / strNum); + p.drawText(0, m_height / 4 + strHeight * i, m_width, strHeight, Qt::AlignHCenter | Qt::AlignVCenter, m_metaStrings[i]); + } +} + +void PresentationWidget::generateContentsPage(int pageNum, QPainter &p) +{ + PresentationFrame *frame = m_frames[pageNum]; + + // translate painter and contents rect + QRect geom(frame->geometry); + p.translate(geom.left(), geom.top()); + geom.translate(-geom.left(), -geom.top()); + + // draw the page using the shared PagePainter class + int flags = PagePainter::Accessibility | PagePainter::Highlights | PagePainter::Annotations; + + PagePainter::paintPageOnPainter(&p, frame->page, this, flags, geom.width(), geom.height(), geom); + + // restore painter + p.translate(-frame->geometry.left(), -frame->geometry.top()); + + // fill unpainted areas with background color + const QRegion unpainted(QRect(0, 0, m_width, m_height)); + const QRegion rgn = unpainted.subtracted(frame->geometry); + for (const QRect &r : rgn) { + p.fillRect(r, Okular::Settings::slidesBackgroundColor()); + } +} + +// from Arthur - Qt4 - (is defined elsewhere as 'qt_div_255' to not break final compilation) +inline int qt_div255(int x) +{ + return (x + (x >> 8) + 0x80) >> 8; +} +void PresentationWidget::generateOverlay() +{ +#ifdef ENABLE_PROGRESS_OVERLAY + qreal dpr = devicePixelRatioF(); + + // calculate overlay geometry and resize pixmap if needed + double side = m_width / 16.0; + m_overlayGeometry.setRect(m_width - side - 4, 4, side, side); + + // note: to get a sort of antialiasing, we render the pixmap double sized + // and the resulting image is smoothly scaled down. So here we open a + // painter on the double sized pixmap. + side *= 2; + + QPixmap doublePixmap(side * dpr, side * dpr); + doublePixmap.setDevicePixelRatio(dpr); + doublePixmap.fill(Qt::black); + QPainter pixmapPainter(&doublePixmap); + pixmapPainter.setRenderHints(QPainter::Antialiasing); + + // draw PIE SLICES in blue levels (the levels will then be the alpha component) + int pages = m_document->pages(); + if (pages > 28) { // draw continuous slices + int degrees = (int)(360 * (float)(m_frameIndex + 1) / (float)pages); + pixmapPainter.setPen(0x05); + pixmapPainter.setBrush(QColor(0x40)); + pixmapPainter.drawPie(2, 2, side - 4, side - 4, 90 * 16, (360 - degrees) * 16); + pixmapPainter.setPen(0x40); + pixmapPainter.setBrush(QColor(0xF0)); + pixmapPainter.drawPie(2, 2, side - 4, side - 4, 90 * 16, -degrees * 16); + } else { // draw discrete slices + float oldCoord = -90; + for (int i = 0; i < pages; i++) { + float newCoord = -90 + 360 * (float)(i + 1) / (float)pages; + pixmapPainter.setPen(i <= m_frameIndex ? 0x40 : 0x05); + pixmapPainter.setBrush(QColor(i <= m_frameIndex ? 0xF0 : 0x40)); + pixmapPainter.drawPie(2, 2, side - 4, side - 4, (int)(-16 * (oldCoord + 1)), (int)(-16 * (newCoord - (oldCoord + 2)))); + oldCoord = newCoord; + } + } + int circleOut = side / 4; + pixmapPainter.setPen(Qt::black); + pixmapPainter.setBrush(Qt::black); + pixmapPainter.drawEllipse(circleOut, circleOut, side - 2 * circleOut, side - 2 * circleOut); + + // draw TEXT using maximum opacity + QFont f(pixmapPainter.font()); + f.setPixelSize(side / 4); + pixmapPainter.setFont(f); + pixmapPainter.setPen(0xFF); + // use a little offset to prettify output + pixmapPainter.drawText(2, 2, side, side, Qt::AlignCenter, QString::number(m_frameIndex + 1)); + + // end drawing pixmap and halve image + pixmapPainter.end(); + QImage image(doublePixmap.toImage().scaled((side / 2) * dpr, (side / 2) * dpr, Qt::IgnoreAspectRatio, Qt::SmoothTransformation)); + image.setDevicePixelRatio(dpr); + image = image.convertToFormat(QImage::Format_ARGB32); + image.setDevicePixelRatio(dpr); + + // draw circular shadow using the same technique + doublePixmap.fill(Qt::black); + pixmapPainter.begin(&doublePixmap); + pixmapPainter.setPen(0x40); + pixmapPainter.setBrush(QColor(0x80)); + pixmapPainter.drawEllipse(0, 0, side, side); + pixmapPainter.end(); + QImage shadow(doublePixmap.toImage().scaled((side / 2) * dpr, (side / 2) * dpr, Qt::IgnoreAspectRatio, Qt::SmoothTransformation)); + shadow.setDevicePixelRatio(dpr); + + // generate a 2 colors pixmap using mixing shadow (made with highlight color) + // and image (made with highlightedText color) + QPalette pal = palette(); + QColor color = pal.color(QPalette::Active, QPalette::HighlightedText); + int red = color.red(), green = color.green(), blue = color.blue(); + color = pal.color(QPalette::Active, QPalette::Highlight); + int sRed = color.red(), sGreen = color.green(), sBlue = color.blue(); + // pointers + unsigned int *data = reinterpret_cast(image.bits()); + const unsigned int *shadowData = reinterpret_cast(shadow.bits()); + unsigned int pixels = image.width() * image.height(); + // cache data (reduce computation time to 26%!) + int c1 = -1, c2 = -1, cR = 0, cG = 0, cB = 0, cA = 0; + // foreach pixel + for (unsigned int i = 0; i < pixels; ++i) { + // alpha for shadow and image + int shadowAlpha = shadowData[i] & 0xFF, srcAlpha = data[i] & 0xFF; + // cache values + if (srcAlpha != c1 || shadowAlpha != c2) { + c1 = srcAlpha; + c2 = shadowAlpha; + // fuse color components and alpha value of image over shadow + data[i] = qRgba(cR = qt_div255(srcAlpha * red + (255 - srcAlpha) * sRed), + cG = qt_div255(srcAlpha * green + (255 - srcAlpha) * sGreen), + cB = qt_div255(srcAlpha * blue + (255 - srcAlpha) * sBlue), + cA = qt_div255(srcAlpha * srcAlpha + (255 - srcAlpha) * shadowAlpha)); + } else { + data[i] = qRgba(cR, cG, cB, cA); + } + } + m_lastRenderedOverlay = QPixmap::fromImage(image); + m_lastRenderedOverlay.setDevicePixelRatio(dpr); + + // start the autohide timer + // repaint( m_overlayGeometry ); // toggle with next line + update(m_overlayGeometry); + m_overlayHideTimer->start(2500); +#endif +} + +QRect PresentationWidget::routeMouseDrawingEvent(QMouseEvent *e) +{ + if (m_frameIndex == -1) { // Can't draw on the summary page + return QRect(); + } + + const QRect &geom = m_frames[m_frameIndex]->geometry; + const Okular::Page *page = m_frames[m_frameIndex]->page; + + AnnotatorEngine::EventType eventType; + AnnotatorEngine::Button button; + AnnotatorEngine::Modifiers modifiers; + + // figure out the event type and button + AnnotatorEngine::decodeEvent(e, &eventType, &button); + + static bool hasclicked = false; + if (eventType == AnnotatorEngine::Press) { + hasclicked = true; + } + + QPointF mousePos = e->position(); + double nX = (mousePos.x() - (double)geom.left()) / (double)geom.width(); + double nY = (mousePos.y() - (double)geom.top()) / (double)geom.height(); + QRect ret; + bool isInside = nX >= 0 && nX < 1 && nY >= 0 && nY < 1; + + if (hasclicked && !isInside) { + // Fake a move to the last border pos + nX = qBound(0., nX, 1.); + nY = qBound(0., nY, 1.); + m_drawingEngine->event(AnnotatorEngine::Move, button, modifiers, nX, nY, geom.width(), geom.height(), page); + + // Fake a release in the following lines + eventType = AnnotatorEngine::Release; + isInside = true; + } else if (!hasclicked && isInside) { + // we're coming from the outside, pretend we started clicking at the closest border + if (nX < (1 - nX) && nX < nY && nX < (1 - nY)) { + nX = 0; + } else if (nY < (1 - nY) && nY < nX && nY < (1 - nX)) { + nY = 0; + } else if ((1 - nX) < nX && (1 - nX) < nY && (1 - nX) < (1 - nY)) { + nX = 1; + } else { + nY = 1; + } + + hasclicked = true; + eventType = AnnotatorEngine::Press; + } + + if (hasclicked && isInside) { + ret = m_drawingEngine->event(eventType, button, modifiers, nX, nY, geom.width(), geom.height(), page); + } + + if (eventType == AnnotatorEngine::Release) { + hasclicked = false; + } + + if (m_drawingEngine->creationCompleted()) { + // add drawing to current page + m_frames[m_frameIndex]->drawings.emplace_back(m_drawingEngine->endSmoothPath()); + + // remove the actual drawer and create a new one just after + // that - that gives continuous drawing + delete m_drawingEngine; + m_drawingRect = QRect(); + m_drawingEngine = new SmoothPathEngine(m_currentDrawingToolElement); + + // schedule repaint + update(); + } + + return ret; +} + +void PresentationWidget::startAutoChangeTimer() +{ + double pageDuration = m_frameIndex >= 0 && m_frameIndex < (int)m_frames.count() ? m_frames[m_frameIndex]->page->duration() : -1; + if (m_advanceSlides || pageDuration >= 0.0) { + double secs; + if (pageDuration < 0.0) { + secs = Okular::SettingsCore::slidesAdvanceTime(); + } else if (m_advanceSlides) { + secs = qMin(pageDuration, Okular::SettingsCore::slidesAdvanceTime()); + } else { + secs = pageDuration; + } + + m_nextPageTimer->start((int)(secs * 1000)); + } + setPlayPauseIcon(); +} + +QScreen *PresentationWidget::defaultScreen() const +{ + const int preferenceScreen = Okular::Settings::slidesScreen(); + + if (preferenceScreen == -2) { + return oldQt_screenOf(m_parentWidget); + } else if (preferenceScreen == -1) { + return QApplication::primaryScreen(); + } else if (preferenceScreen >= 0 && preferenceScreen < QApplication::screens().count()) { + return QApplication::screens().at(preferenceScreen); + } else { + return oldQt_screenOf(m_parentWidget); + } +} + +void PresentationWidget::requestPixmaps() +{ + const qreal dpr = devicePixelRatioF(); + PresentationFrame *frame = m_frames[m_frameIndex]; + int pixW = frame->geometry.width(); + int pixH = frame->geometry.height(); + + // operation will take long: set busy cursor + QApplication::setOverrideCursor(QCursor(Qt::BusyCursor)); + // request the pixmap + QList requests; + requests.push_back(new Okular::PixmapRequest(this, m_frameIndex, pixW, pixH, dpr, PRESENTATION_PRIO, Okular::PixmapRequest::NoFeature)); + // restore cursor + QApplication::restoreOverrideCursor(); + // ask for next and previous page if not in low memory usage setting + if (Okular::SettingsCore::memoryLevel() != Okular::SettingsCore::EnumMemoryLevel::Low) { + int pagesToPreload = 1; + + // If greedy, preload everything + if (Okular::SettingsCore::memoryLevel() == Okular::SettingsCore::EnumMemoryLevel::Greedy) { + pagesToPreload = (int)m_document->pages(); + } + + Okular::PixmapRequest::PixmapRequestFeatures requestFeatures = Okular::PixmapRequest::Preload; + requestFeatures |= Okular::PixmapRequest::Asynchronous; + + for (int j = 1; j <= pagesToPreload; j++) { + int tailRequest = m_frameIndex + j; + if (tailRequest < (int)m_document->pages()) { + PresentationFrame *nextFrame = m_frames[tailRequest]; + pixW = nextFrame->geometry.width(); + pixH = nextFrame->geometry.height(); + if (!nextFrame->page->hasPixmap(this, pixW, pixH)) { + requests.push_back(new Okular::PixmapRequest(this, tailRequest, pixW, pixH, dpr, PRESENTATION_PRELOAD_PRIO, requestFeatures)); + } + } + + int headRequest = m_frameIndex - j; + if (headRequest >= 0) { + PresentationFrame *prevFrame = m_frames[headRequest]; + pixW = prevFrame->geometry.width(); + pixH = prevFrame->geometry.height(); + if (!prevFrame->page->hasPixmap(this, pixW, pixH)) { + requests.push_back(new Okular::PixmapRequest(this, headRequest, pixW, pixH, dpr, PRESENTATION_PRELOAD_PRIO, requestFeatures)); + } + } + + // stop if we've already reached both ends of the document + if (headRequest < 0 && tailRequest >= (int)m_document->pages()) { + break; + } + } + } + m_document->requestPixmaps(requests); +} + +void PresentationWidget::slotNextPage() +{ + int nextIndex = m_frameIndex + 1; + + // loop when configured + if (nextIndex == m_frames.count() && Okular::Settings::slidesLoop()) { + nextIndex = 0; + } + + if (nextIndex < m_frames.count()) { + // go to next page + changePage(nextIndex); + // auto advance to the next page if set + startAutoChangeTimer(); + } else { +#ifdef ENABLE_PROGRESS_OVERLAY + if (Okular::Settings::slidesShowProgress()) { + generateOverlay(); + } +#endif + if (m_transitionTimer->isActive()) { + m_transitionTimer->stop(); + m_lastRenderedPixmap = m_currentPagePixmap; + update(); + } + } + // we need the setFocus() call here to let KCursor::autoHide() work correctly + setFocus(); +} + +void PresentationWidget::slotPrevPage() +{ + if (m_frameIndex > 0) { + // go to previous page + changePage(m_frameIndex - 1); + + // auto advance to the next page if set + startAutoChangeTimer(); + } else { +#ifdef ENABLE_PROGRESS_OVERLAY + if (Okular::Settings::slidesShowProgress()) { + generateOverlay(); + } +#endif + if (m_transitionTimer->isActive()) { + m_transitionTimer->stop(); + m_lastRenderedPixmap = m_currentPagePixmap; + update(); + } + } +} + +void PresentationWidget::slotFirstPage() +{ + changePage(0); +} + +void PresentationWidget::slotLastPage() +{ + changePage((int)m_frames.count() - 1); +} + +void PresentationWidget::slotHideOverlay() +{ + QRect geom(m_overlayGeometry); + m_overlayGeometry.setCoords(0, 0, -1, -1); + update(geom); +} + +void PresentationWidget::slotTransitionStep() +{ + switch (m_currentTransition.type()) { + case Okular::PageTransition::Fade: { + QPainter pixmapPainter; + m_currentPixmapOpacity += 1.0 / m_transitionSteps; + m_lastRenderedPixmap = QPixmap(m_lastRenderedPixmap.size()); + m_lastRenderedPixmap.setDevicePixelRatio(devicePixelRatioF()); + m_lastRenderedPixmap.fill(Qt::transparent); + pixmapPainter.begin(&m_lastRenderedPixmap); + pixmapPainter.setCompositionMode(QPainter::CompositionMode_Source); + pixmapPainter.setOpacity(1 - m_currentPixmapOpacity); + pixmapPainter.drawPixmap(0, 0, m_previousPagePixmap); + pixmapPainter.setOpacity(m_currentPixmapOpacity); + pixmapPainter.drawPixmap(0, 0, m_currentPagePixmap); + update(); + if (m_currentPixmapOpacity >= 1) { + return; + } + } break; + default: { + if (m_transitionRects.empty()) { + // it's better to fix the transition to cover the whole screen than + // enabling the following line that wastes cpu for nothing + // update(); + return; + } + + for (int i = 0; i < m_transitionMul && !m_transitionRects.empty(); i++) { + update(m_transitionRects.first()); + m_transitionRects.pop_front(); + } + } break; + } + m_transitionTimer->start(m_transitionDelay); +} + +void PresentationWidget::slotDelayedEvents() +{ + setScreen(defaultScreen()); + show(); + + if (m_screenSelect) { + m_screenSelect->setCurrentItem(QApplication::screens().indexOf(oldQt_screenOf(this))); + connect(m_screenSelect->selectableActionGroup(), &QActionGroup::triggered, this, &PresentationWidget::chooseScreen); + } + + // inform user on how to exit from presentation mode + KMessageBox::information( + this, + i18n("There are two ways of exiting presentation mode, you can press either ESC key or click with the quit button that appears when placing the mouse in the top-right corner. Of course you can cycle windows (Alt+TAB by default)"), + QString(), + QStringLiteral("presentationInfo")); +} + +void PresentationWidget::slotPageChanged() +{ + bool ok = true; + int p = m_pagesEdit->text().toInt(&ok); + if (!ok) { + return; + } + + changePage(p - 1); +} + +void PresentationWidget::slotChangeDrawingToolEngine(const QDomElement &element) +{ + if (element.isNull()) { + delete m_drawingEngine; + m_drawingEngine = nullptr; + m_drawingRect = QRect(); + setCursor(Qt::ArrowCursor); + } else { + m_drawingEngine = new SmoothPathEngine(element); + setCursor(QCursor(QPixmap(QStringLiteral("pencil")), Qt::ArrowCursor)); + m_currentDrawingToolElement = element; + } +} + +void PresentationWidget::slotAddDrawingToolActions() +{ + const DrawingToolActions *drawingToolActions = qobject_cast(sender()); + + const QList actionsList = drawingToolActions->actions(); + for (QAction *action : actionsList) { + action->setEnabled(true); + m_topBar->addAction(action); + addAction(action); + } +} + +void PresentationWidget::clearDrawings() +{ + if (m_frameIndex != -1) { + m_frames[m_frameIndex]->drawings.clear(); + } + update(); +} + +void PresentationWidget::invalidatePixmaps() +{ + // force the regeneration of the pixmap + m_lastRenderedPixmap = QPixmap(); + if (m_frameIndex != -1) { + // ugliness alarm! + const_cast(m_frames[m_frameIndex]->page)->deletePixmap(this); + m_blockNotifications = true; + requestPixmaps(); + m_blockNotifications = false; + } +} + +void PresentationWidget::chooseScreen(QAction *act) +{ + if (!act || act->data().metaType().id() != QMetaType::Int) { + return; + } + + const int newScreen = act->data().toInt(); + if (newScreen < QApplication::screens().count()) { + setScreen(QApplication::screens().at(newScreen)); + } +} + +void PresentationWidget::toggleBlackScreenMode(bool) +{ + m_inBlackScreenMode = !m_inBlackScreenMode; + + update(); +} + +void PresentationWidget::setScreen(const QScreen *newScreen) +{ + // To move to a new screen, need to disable fullscreen first: + if (newScreen != screen()) { + setWindowState(windowState() & ~Qt::WindowFullScreen); + } + setGeometry(newScreen->geometry()); + setWindowState(windowState() | Qt::WindowFullScreen); +} + +void PresentationWidget::inhibitPowerManagement() +{ +#if HAVE_DBUS +#ifdef Q_OS_LINUX + QString reason = i18nc("Reason for inhibiting the screensaver activation, when the presentation mode is active", "Giving a presentation"); + + if (!m_screenInhibitCookie) { + QDBusMessage message = QDBusMessage::createMethodCall(QStringLiteral("org.freedesktop.ScreenSaver"), QStringLiteral("/ScreenSaver"), QStringLiteral("org.freedesktop.ScreenSaver"), QStringLiteral("Inhibit")); + message << QCoreApplication::applicationName(); + message << reason; + + QDBusPendingReply reply = QDBusConnection::sessionBus().asyncCall(message); + reply.waitForFinished(); + if (reply.isValid()) { + m_screenInhibitCookie = reply.value(); + qCDebug(OkularUiDebug) << "Screen inhibition cookie" << m_screenInhibitCookie; + } else { + qCWarning(OkularUiDebug) << "Unable to inhibit screensaver" << reply.error(); + } + } + + if (m_sleepInhibitFd != -1) { + QDBusMessage message = QDBusMessage::createMethodCall(QStringLiteral("org.freedesktop.login1"), QStringLiteral("/org/freedesktop/login1"), QStringLiteral("org.freedesktop.login1.Manager"), QStringLiteral("Inhibit")); + message << QStringLiteral("sleep"); + message << QCoreApplication::applicationName(); + message << reason; + message << QStringLiteral("block"); + + QDBusPendingReply reply = QDBusConnection::systemBus().asyncCall(message); + reply.waitForFinished(); + if (reply.isValid()) { + m_sleepInhibitFd = dup(reply.value().fileDescriptor()); + } else { + qCWarning(OkularUiDebug) << "Unable to inhibit sleep" << reply.error(); + } + } +#endif // Q_OS_LINUX +#endif // HAVE_DBUS +} + +void PresentationWidget::allowPowerManagement() +{ +#if HAVE_DBUS +#ifdef Q_OS_LINUX + if (m_sleepInhibitFd != -1) { + ::close(m_sleepInhibitFd); + m_sleepInhibitFd = -1; + } + + if (m_screenInhibitCookie) { + QDBusMessage message = QDBusMessage::createMethodCall(QStringLiteral("org.freedesktop.ScreenSaver"), QStringLiteral("/ScreenSaver"), QStringLiteral("org.freedesktop.ScreenSaver"), QStringLiteral("UnInhibit")); + message << m_screenInhibitCookie; + + QDBusPendingReply reply = QDBusConnection::sessionBus().asyncCall(message); + reply.waitForFinished(); + + m_screenInhibitCookie = 0; + } +#endif // Q_OS_LINUX +#endif // HAVE_DBUS +} + +void PresentationWidget::showTopBar(bool show) +{ + if (show) { + m_topBar->show(); + + // Don't autohide the mouse cursor if it's over the toolbar + if (Okular::Settings::slidesCursor() == Okular::Settings::EnumSlidesCursor::HiddenDelay) { + KCursor::setAutoHideCursor(this, false); + } + + // Always show a cursor when topBar is visible + if (!m_drawingEngine) { + setCursor(QCursor(Qt::ArrowCursor)); + } + } else { + m_topBar->hide(); + + // Reenable autohide if need be when leaving the toolbar + if (Okular::Settings::slidesCursor() == Okular::Settings::EnumSlidesCursor::HiddenDelay) { + KCursor::setAutoHideCursor(this, true); + } + + // Or hide the cursor again if hidden cursor is enabled + else if (Okular::Settings::slidesCursor() == Okular::Settings::EnumSlidesCursor::Hidden) { + // Don't hide the cursor if drawing mode is on + if (!m_drawingEngine) { + setCursor(QCursor(Qt::BlankCursor)); + } + } + } + + // Make sure mouse tracking isn't off after the KCursor::setAutoHideCursor() calls + setMouseTracking(true); +} + +void PresentationWidget::slotFind() +{ + if (!m_searchBar) { + m_searchBar = new PresentationSearchBar(m_document, this, this); + m_searchBar->forceSnap(); + } + m_searchBar->focusOnSearchEdit(); + m_searchBar->show(); +} + +const Okular::PageTransition PresentationWidget::defaultTransition() const +{ + return defaultTransition(Okular::Settings::slidesTransition()); +} + +const Okular::PageTransition PresentationWidget::defaultTransition(int type) const +{ + switch (type) { + case Okular::Settings::EnumSlidesTransition::BlindsHorizontal: { + Okular::PageTransition transition(Okular::PageTransition::Blinds); + transition.setAlignment(Okular::PageTransition::Horizontal); + return transition; + } + case Okular::Settings::EnumSlidesTransition::BlindsVertical: { + Okular::PageTransition transition(Okular::PageTransition::Blinds); + transition.setAlignment(Okular::PageTransition::Vertical); + return transition; + } + case Okular::Settings::EnumSlidesTransition::BoxIn: { + Okular::PageTransition transition(Okular::PageTransition::Box); + transition.setDirection(Okular::PageTransition::Inward); + return transition; + } + case Okular::Settings::EnumSlidesTransition::BoxOut: { + Okular::PageTransition transition(Okular::PageTransition::Box); + transition.setDirection(Okular::PageTransition::Outward); + return transition; + } + case Okular::Settings::EnumSlidesTransition::Dissolve: { + return Okular::PageTransition(Okular::PageTransition::Dissolve); + } + case Okular::Settings::EnumSlidesTransition::GlitterDown: { + Okular::PageTransition transition(Okular::PageTransition::Glitter); + transition.setAngle(270); + return transition; + } + case Okular::Settings::EnumSlidesTransition::GlitterRight: { + Okular::PageTransition transition(Okular::PageTransition::Glitter); + transition.setAngle(0); + return transition; + } + case Okular::Settings::EnumSlidesTransition::GlitterRightDown: { + Okular::PageTransition transition(Okular::PageTransition::Glitter); + transition.setAngle(315); + return transition; + } + case Okular::Settings::EnumSlidesTransition::Random: { + return defaultTransition(QRandomGenerator::global()->bounded(18)); + } + case Okular::Settings::EnumSlidesTransition::SplitHorizontalIn: { + Okular::PageTransition transition(Okular::PageTransition::Split); + transition.setAlignment(Okular::PageTransition::Horizontal); + transition.setDirection(Okular::PageTransition::Inward); + return transition; + } + case Okular::Settings::EnumSlidesTransition::SplitHorizontalOut: { + Okular::PageTransition transition(Okular::PageTransition::Split); + transition.setAlignment(Okular::PageTransition::Horizontal); + transition.setDirection(Okular::PageTransition::Outward); + return transition; + } + case Okular::Settings::EnumSlidesTransition::SplitVerticalIn: { + Okular::PageTransition transition(Okular::PageTransition::Split); + transition.setAlignment(Okular::PageTransition::Vertical); + transition.setDirection(Okular::PageTransition::Inward); + return transition; + } + case Okular::Settings::EnumSlidesTransition::SplitVerticalOut: { + Okular::PageTransition transition(Okular::PageTransition::Split); + transition.setAlignment(Okular::PageTransition::Vertical); + transition.setDirection(Okular::PageTransition::Outward); + return transition; + } + case Okular::Settings::EnumSlidesTransition::WipeDown: { + Okular::PageTransition transition(Okular::PageTransition::Wipe); + transition.setAngle(270); + return transition; + } + case Okular::Settings::EnumSlidesTransition::WipeRight: { + Okular::PageTransition transition(Okular::PageTransition::Wipe); + transition.setAngle(0); + return transition; + } + case Okular::Settings::EnumSlidesTransition::WipeLeft: { + Okular::PageTransition transition(Okular::PageTransition::Wipe); + transition.setAngle(180); + return transition; + } + case Okular::Settings::EnumSlidesTransition::WipeUp: { + Okular::PageTransition transition(Okular::PageTransition::Wipe); + transition.setAngle(90); + return transition; + } + case Okular::Settings::EnumSlidesTransition::Fade: { + return Okular::PageTransition(Okular::PageTransition::Fade); + } + case Okular::Settings::EnumSlidesTransition::NoTransitions: + case Okular::Settings::EnumSlidesTransition::Replace: + default: + return Okular::PageTransition(Okular::PageTransition::Replace); + } + // should not happen, just make gcc happy + return Okular::PageTransition(); +} + +/** ONLY the TRANSITIONS GENERATION function from here on **/ +void PresentationWidget::initTransition(const Okular::PageTransition *transition) +{ + // if it's just a 'replace' transition, repaint the screen + if (transition->type() == Okular::PageTransition::Replace) { + update(); + return; + } + + const bool isInward = transition->direction() == Okular::PageTransition::Inward; + const bool isHorizontal = transition->alignment() == Okular::PageTransition::Horizontal; + const float totalTime = transition->duration(); + + m_transitionRects.clear(); + m_currentTransition = *transition; + m_currentPagePixmap = m_lastRenderedPixmap; + + switch (transition->type()) { + // split: horizontal / vertical and inward / outward + case Okular::PageTransition::Split: { + const int steps = isHorizontal ? 100 : 75; + if (isHorizontal) { + if (isInward) { + int xPosition = 0; + for (int i = 0; i < steps; i++) { + int xNext = ((i + 1) * m_width) / (2 * steps); + m_transitionRects.push_back(QRect(xPosition, 0, xNext - xPosition, m_height)); + m_transitionRects.push_back(QRect(m_width - xNext, 0, xNext - xPosition, m_height)); + xPosition = xNext; + } + } else { + int xPosition = m_width / 2; + for (int i = 0; i < steps; i++) { + int xNext = ((steps - (i + 1)) * m_width) / (2 * steps); + m_transitionRects.push_back(QRect(xNext, 0, xPosition - xNext, m_height)); + m_transitionRects.push_back(QRect(m_width - xPosition, 0, xPosition - xNext, m_height)); + xPosition = xNext; + } + } + } else { + if (isInward) { + int yPosition = 0; + for (int i = 0; i < steps; i++) { + int yNext = ((i + 1) * m_height) / (2 * steps); + m_transitionRects.push_back(QRect(0, yPosition, m_width, yNext - yPosition)); + m_transitionRects.push_back(QRect(0, m_height - yNext, m_width, yNext - yPosition)); + yPosition = yNext; + } + } else { + int yPosition = m_height / 2; + for (int i = 0; i < steps; i++) { + int yNext = ((steps - (i + 1)) * m_height) / (2 * steps); + m_transitionRects.push_back(QRect(0, yNext, m_width, yPosition - yNext)); + m_transitionRects.push_back(QRect(0, m_height - yPosition, m_width, yPosition - yNext)); + yPosition = yNext; + } + } + } + m_transitionMul = 2; + m_transitionDelay = (int)((totalTime * 1000) / steps); + } break; + + // blinds: horizontal(l-to-r) / vertical(t-to-b) + case Okular::PageTransition::Blinds: { + const int blinds = isHorizontal ? 8 : 6; + const int steps = m_width / (4 * blinds); + if (isHorizontal) { + int xPosition[8]; + for (int b = 0; b < blinds; b++) { + xPosition[b] = (b * m_width) / blinds; + } + + for (int i = 0; i < steps; i++) { + int stepOffset = (int)(((float)i * (float)m_width) / ((float)blinds * (float)steps)); + for (int b = 0; b < blinds; b++) { + m_transitionRects.push_back(QRect(xPosition[b], 0, stepOffset, m_height)); + xPosition[b] = stepOffset + (b * m_width) / blinds; + } + } + } else { + int yPosition[6]; + for (int b = 0; b < blinds; b++) { + yPosition[b] = (b * m_height) / blinds; + } + + for (int i = 0; i < steps; i++) { + int stepOffset = (int)(((float)i * (float)m_height) / ((float)blinds * (float)steps)); + for (int b = 0; b < blinds; b++) { + m_transitionRects.push_back(QRect(0, yPosition[b], m_width, stepOffset)); + yPosition[b] = stepOffset + (b * m_height) / blinds; + } + } + } + m_transitionMul = blinds; + m_transitionDelay = (int)((totalTime * 1000) / steps); + } break; + + // box: inward / outward + case Okular::PageTransition::Box: { + const int steps = m_width / 10; + if (isInward) { + int L = 0, T = 0, R = m_width, B = m_height; + for (int i = 0; i < steps; i++) { + // compute shrunk box coords + int newL = ((i + 1) * m_width) / (2 * steps); + int newT = ((i + 1) * m_height) / (2 * steps); + int newR = m_width - newL; + int newB = m_height - newT; + // add left, right, topcenter, bottomcenter rects + m_transitionRects.push_back(QRect(L, T, newL - L, B - T)); + m_transitionRects.push_back(QRect(newR, T, R - newR, B - T)); + m_transitionRects.push_back(QRect(newL, T, newR - newL, newT - T)); + m_transitionRects.push_back(QRect(newL, newB, newR - newL, B - newB)); + L = newL; + T = newT; + R = newR, B = newB; + } + } else { + int L = m_width / 2, T = m_height / 2, R = L, B = T; + for (int i = 0; i < steps; i++) { + // compute shrunk box coords + int newL = ((steps - (i + 1)) * m_width) / (2 * steps); + int newT = ((steps - (i + 1)) * m_height) / (2 * steps); + int newR = m_width - newL; + int newB = m_height - newT; + // add left, right, topcenter, bottomcenter rects + m_transitionRects.push_back(QRect(newL, newT, L - newL, newB - newT)); + m_transitionRects.push_back(QRect(R, newT, newR - R, newB - newT)); + m_transitionRects.push_back(QRect(L, newT, R - L, T - newT)); + m_transitionRects.push_back(QRect(L, B, R - L, newB - B)); + L = newL; + T = newT; + R = newR, B = newB; + } + } + m_transitionMul = 4; + m_transitionDelay = (int)((totalTime * 1000) / steps); + } break; + + // wipe: implemented for 4 canonical angles + case Okular::PageTransition::Wipe: { + const int angle = transition->angle(); + const int steps = (angle == 0) || (angle == 180) ? m_width / 8 : m_height / 8; + if (angle == 0) { + int xPosition = 0; + for (int i = 0; i < steps; i++) { + int xNext = ((i + 1) * m_width) / steps; + m_transitionRects.push_back(QRect(xPosition, 0, xNext - xPosition, m_height)); + xPosition = xNext; + } + } else if (angle == 90) { + int yPosition = m_height; + for (int i = 0; i < steps; i++) { + int yNext = ((steps - (i + 1)) * m_height) / steps; + m_transitionRects.push_back(QRect(0, yNext, m_width, yPosition - yNext)); + yPosition = yNext; + } + } else if (angle == 180) { + int xPosition = m_width; + for (int i = 0; i < steps; i++) { + int xNext = ((steps - (i + 1)) * m_width) / steps; + m_transitionRects.push_back(QRect(xNext, 0, xPosition - xNext, m_height)); + xPosition = xNext; + } + } else if (angle == 270) { + int yPosition = 0; + for (int i = 0; i < steps; i++) { + int yNext = ((i + 1) * m_height) / steps; + m_transitionRects.push_back(QRect(0, yPosition, m_width, yNext - yPosition)); + yPosition = yNext; + } + } else { + update(); + return; + } + m_transitionMul = 1; + m_transitionDelay = (int)((totalTime * 1000) / steps); + } break; + + // dissolve: replace 'random' rects + case Okular::PageTransition::Dissolve: { + const int gridXsteps = 50; + const int gridYsteps = 38; + const int steps = gridXsteps * gridYsteps; + int oldX = 0; + int oldY = 0; + // create a grid of gridXstep by gridYstep QRects + for (int y = 0; y < gridYsteps; y++) { + int newY = (int)(m_height * ((float)(y + 1) / (float)gridYsteps)); + for (int x = 0; x < gridXsteps; x++) { + int newX = (int)(m_width * ((float)(x + 1) / (float)gridXsteps)); + m_transitionRects.push_back(QRect(oldX, oldY, newX - oldX, newY - oldY)); + oldX = newX; + } + oldX = 0; + oldY = newY; + } + // randomize the grid + for (int i = 0; i < steps; i++) { +#ifndef Q_OS_WIN + int n1 = (int)(steps * drand48()); + int n2 = (int)(steps * drand48()); +#else + int n1 = (int)(steps * (std::rand() / RAND_MAX)); + int n2 = (int)(steps * (std::rand() / RAND_MAX)); +#endif + // swap items if index differs + if (n1 != n2) { + QRect r = m_transitionRects[n2]; + m_transitionRects[n2] = m_transitionRects[n1]; + m_transitionRects[n1] = r; + } + } + // set global transition parameters + m_transitionMul = 40; + m_transitionDelay = (int)((m_transitionMul * 1000 * totalTime) / steps); + } break; + + // glitter: similar to dissolve but has a direction + case Okular::PageTransition::Glitter: { + const int gridXsteps = 50; + const int gridYsteps = 38; + const int steps = gridXsteps * gridYsteps; + const int angle = transition->angle(); + // generate boxes using a given direction + if (angle == 90) { + int yPosition = m_height; + for (int i = 0; i < gridYsteps; i++) { + int yNext = ((gridYsteps - (i + 1)) * m_height) / gridYsteps; + int xPosition = 0; + for (int j = 0; j < gridXsteps; j++) { + int xNext = ((j + 1) * m_width) / gridXsteps; + m_transitionRects.push_back(QRect(xPosition, yNext, xNext - xPosition, yPosition - yNext)); + xPosition = xNext; + } + yPosition = yNext; + } + } else if (angle == 180) { + int xPosition = m_width; + for (int i = 0; i < gridXsteps; i++) { + int xNext = ((gridXsteps - (i + 1)) * m_width) / gridXsteps; + int yPosition = 0; + for (int j = 0; j < gridYsteps; j++) { + int yNext = ((j + 1) * m_height) / gridYsteps; + m_transitionRects.push_back(QRect(xNext, yPosition, xPosition - xNext, yNext - yPosition)); + yPosition = yNext; + } + xPosition = xNext; + } + } else if (angle == 270) { + int yPosition = 0; + for (int i = 0; i < gridYsteps; i++) { + int yNext = ((i + 1) * m_height) / gridYsteps; + int xPosition = 0; + for (int j = 0; j < gridXsteps; j++) { + int xNext = ((j + 1) * m_width) / gridXsteps; + m_transitionRects.push_back(QRect(xPosition, yPosition, xNext - xPosition, yNext - yPosition)); + xPosition = xNext; + } + yPosition = yNext; + } + } else // if angle is 0 or 315 + { + int xPosition = 0; + for (int i = 0; i < gridXsteps; i++) { + int xNext = ((i + 1) * m_width) / gridXsteps; + int yPosition = 0; + for (int j = 0; j < gridYsteps; j++) { + int yNext = ((j + 1) * m_height) / gridYsteps; + m_transitionRects.push_back(QRect(xPosition, yPosition, xNext - xPosition, yNext - yPosition)); + yPosition = yNext; + } + xPosition = xNext; + } + } + // add a 'glitter' (1 over 10 pieces is randomized) + int randomSteps = steps / 20; + for (int i = 0; i < randomSteps; i++) { +#ifndef Q_OS_WIN + int n1 = (int)(steps * drand48()); + int n2 = (int)(steps * drand48()); +#else + int n1 = (int)(steps * (std::rand() / RAND_MAX)); + int n2 = (int)(steps * (std::rand() / RAND_MAX)); +#endif + // swap items if index differs + if (n1 != n2) { + QRect r = m_transitionRects[n2]; + m_transitionRects[n2] = m_transitionRects[n1]; + m_transitionRects[n1] = r; + } + } + // set global transition parameters + m_transitionMul = (angle == 90) || (angle == 270) ? gridYsteps : gridXsteps; + m_transitionMul /= 2; + m_transitionDelay = (int)((m_transitionMul * 1000 * totalTime) / steps); + } break; + + case Okular::PageTransition::Fade: { + const int FADE_TRANSITION_FPS = 20; + const int steps = totalTime * FADE_TRANSITION_FPS; + m_transitionSteps = steps; + QPainter pixmapPainter; + m_currentPixmapOpacity = (double)1 / steps; + m_transitionDelay = (int)(totalTime * 1000) / steps; + m_lastRenderedPixmap = QPixmap(m_lastRenderedPixmap.size()); + m_lastRenderedPixmap.fill(Qt::transparent); + pixmapPainter.begin(&m_lastRenderedPixmap); + pixmapPainter.setCompositionMode(QPainter::CompositionMode_Source); + pixmapPainter.setOpacity(1 - m_currentPixmapOpacity); + pixmapPainter.drawPixmap(0, 0, m_previousPagePixmap); + pixmapPainter.setOpacity(m_currentPixmapOpacity); + pixmapPainter.drawPixmap(0, 0, m_currentPagePixmap); + pixmapPainter.end(); + update(); + } break; + // implement missing transitions (a binary raster engine needed here) + case Okular::PageTransition::Fly: + + case Okular::PageTransition::Push: + + case Okular::PageTransition::Cover: + + case Okular::PageTransition::Uncover: + + default: + update(); + return; + } + + // send the first start to the timer + m_transitionTimer->start(0); +} + +void PresentationWidget::slotProcessMovieAction(const Okular::MovieAction *action) +{ + const Okular::MovieAnnotation *movieAnnotation = action->annotation(); + if (!movieAnnotation) { + return; + } + + const Okular::Movie *movie = movieAnnotation->movie(); + if (!movie) { + return; + } + + VideoWidget *vw = m_frames[m_frameIndex]->videoWidgets.value(movieAnnotation->movie()); + if (!vw) { + return; + } + + vw->show(); + + switch (action->operation()) { + case Okular::MovieAction::Play: + vw->stop(); + vw->play(); + break; + case Okular::MovieAction::Stop: + vw->stop(); + break; + case Okular::MovieAction::Pause: + vw->pause(); + break; + case Okular::MovieAction::Resume: + vw->play(); + break; + }; +} + +void PresentationWidget::slotProcessRenditionAction(const Okular::RenditionAction *action) +{ + const Okular::Movie *movie = action->movie(); + if (!movie) { + return; + } + + VideoWidget *vw = m_frames[m_frameIndex]->videoWidgets.value(movie); + if (!vw) { + return; + } + + if (action->operation() == Okular::RenditionAction::None) { + return; + } + + vw->show(); + + switch (action->operation()) { + case Okular::RenditionAction::Play: + vw->stop(); + vw->play(); + break; + case Okular::RenditionAction::Stop: + vw->stop(); + break; + case Okular::RenditionAction::Pause: + vw->pause(); + break; + case Okular::RenditionAction::Resume: + vw->play(); + break; + default: + return; + }; +} + +void PresentationWidget::slotTogglePlayPause() +{ + if (!m_nextPageTimer->isActive()) { + m_advanceSlides = true; + startAutoChangeTimer(); + } else { + m_nextPageTimer->stop(); + m_advanceSlides = false; + setPlayPauseIcon(); + } +} + +#include "presentationwidget.moc" diff --git a/part/presentationwidget.h b/part/presentationwidget.h new file mode 100644 index 0000000..c8fc744 --- /dev/null +++ b/part/presentationwidget.h @@ -0,0 +1,179 @@ +/* + SPDX-FileCopyrightText: 2004 Enrico Ros + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_PRESENTATIONWIDGET_H_ +#define _OKULAR_PRESENTATIONWIDGET_H_ + +#include "core/area.h" +#include "core/observer.h" +#include "core/pagetransition.h" +#include +#include +#include +#include +#include + +class QLineEdit; +class QToolBar; +class QTimer; +class QGestureEvent; +class KActionCollection; +class KSelectAction; +class SmoothPathEngine; +struct PresentationFrame; +class PresentationSearchBar; +class DrawingToolActions; + +namespace Okular +{ +class Action; +class Annotation; +class Document; +class MovieAction; +class Page; +class RenditionAction; +} + +/** + * @short A widget that shows pages as fullscreen slides (with transitions fx). + * + * This is a fullscreen widget that displays + */ +class PresentationWidget : public QWidget, public Okular::DocumentObserver +{ + Q_OBJECT +public: + PresentationWidget(QWidget *parent, Okular::Document *doc, DrawingToolActions *drawingToolActions, KActionCollection *collection); + ~PresentationWidget() override; + + // inherited from DocumentObserver + void notifySetup(const QList &pages, int setupFlags) override; + void notifyViewportChanged(bool smoothMove) override; + void notifyPageChanged(int pageNumber, int changedFlags) override; + bool canUnloadPixmap(int pageNumber) const override; + void notifyCurrentPageChanged(int previous, int current) override; + +public Q_SLOTS: + void slotFind(); + +protected: + // widget events + bool event(QEvent *e) override; + void keyPressEvent(QKeyEvent *e) override; + void wheelEvent(QWheelEvent *e) override; + void mousePressEvent(QMouseEvent *e) override; + void mouseReleaseEvent(QMouseEvent *e) override; + void mouseMoveEvent(QMouseEvent *e) override; + void paintEvent(QPaintEvent *e) override; + void resizeEvent(QResizeEvent *e) override; + void enterEvent(QEnterEvent *e) override; + void leaveEvent(QEvent *e) override; + bool gestureEvent(QGestureEvent *e); + + // Catch TabletEnterProximity and TabletLeaveProximity events from the QApplication + bool eventFilter(QObject *o, QEvent *ev) override; + +private: + const void *getObjectRect(Okular::ObjectRect::ObjectType type, QPointF point, QRect *geometry = nullptr) const; + const Okular::Action *getLink(QPointF point, QRect *geometry = nullptr) const; + const Okular::Annotation *getAnnotation(QPointF point, QRect *geometry = nullptr) const; + void testCursorOnLink(QPointF point); + void overlayClick(const QPoint position); + void changePage(int newPage); + void generatePage(bool disableTransition = false); + void generateIntroPage(QPainter &p); + void generateContentsPage(int page, QPainter &p); + void generateOverlay(); + void initTransition(const Okular::PageTransition *transition); + void invalidatePixmaps(); + const Okular::PageTransition defaultTransition() const; + const Okular::PageTransition defaultTransition(int) const; + QRect routeMouseDrawingEvent(QMouseEvent *); + void startAutoChangeTimer(); + /** @returns Configure -> Presentation -> Preferred screen */ + QScreen *defaultScreen() const; + void requestPixmaps(); + /** @param newScreen must be valid. */ + void setScreen(const QScreen *newScreen); + void inhibitPowerManagement(); + void allowPowerManagement(); + void showTopBar(bool); + // create actions that interact with this widget + void setupActions(); + void setPlayPauseIcon(); + + // cache stuff + int m_width; + int m_height; + QPixmap m_lastRenderedPixmap; + QPixmap m_lastRenderedOverlay; + QRect m_overlayGeometry; + const Okular::Action *m_pressedLink; + bool m_handCursor; + SmoothPathEngine *m_drawingEngine; + QRect m_drawingRect; + uint m_screenInhibitCookie; + int m_sleepInhibitFd; + + // transition related + QTimer *m_transitionTimer; + QTimer *m_overlayHideTimer; + QTimer *m_nextPageTimer; + int m_transitionDelay; + int m_transitionMul; + int m_transitionSteps; + QList m_transitionRects; + Okular::PageTransition m_currentTransition; + QPixmap m_currentPagePixmap; + QPixmap m_previousPagePixmap; + double m_currentPixmapOpacity; + + // misc stuff + QWidget *m_parentWidget; + Okular::Document *m_document; + QList m_frames; + int m_frameIndex; + QStringList m_metaStrings; + QToolBar *m_topBar; + QLineEdit *m_pagesEdit; + PresentationSearchBar *m_searchBar; + KActionCollection *m_ac; + KSelectAction *m_screenSelect; + QDomElement m_currentDrawingToolElement; + bool m_isSetup; + bool m_blockNotifications; + bool m_inBlackScreenMode; + bool m_showSummaryView; + bool m_advanceSlides; + bool m_goToPreviousPageOnRelease; + bool m_goToNextPageOnRelease; + + /** TODO Qt6: Just use QWidget::screen() instead of this. */ + static inline QScreen *oldQt_screenOf(const QWidget *widget) + { + return widget->screen(); + } + +private Q_SLOTS: + void slotNextPage(); + void slotPrevPage(); + void slotFirstPage(); + void slotLastPage(); + void slotHideOverlay(); + void slotTransitionStep(); + void slotDelayedEvents(); + void slotPageChanged(); + void clearDrawings(); + void chooseScreen(QAction *); + void toggleBlackScreenMode(bool); + void slotProcessMovieAction(const Okular::MovieAction *action); + void slotProcessRenditionAction(const Okular::RenditionAction *action); + void slotTogglePlayPause(); + void slotChangeDrawingToolEngine(const QDomElement &element); + void slotAddDrawingToolActions(); +}; + +#endif diff --git a/part/propertiesdialog.cpp b/part/propertiesdialog.cpp new file mode 100644 index 0000000..0052534 --- /dev/null +++ b/part/propertiesdialog.cpp @@ -0,0 +1,515 @@ +/* + SPDX-FileCopyrightText: 2004 Albert Astals Cid + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "propertiesdialog.h" + +// qt/kde includes +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +// local includes +#include "core/document.h" + +static const int IsExtractableRole = Qt::UserRole; +static const int FontInfoRole = Qt::UserRole + 1; + +PropertiesDialog::PropertiesDialog(QWidget *parent, Okular::Document *doc) + : KPageDialog(parent) + , m_document(doc) + , m_fontPage(nullptr) + , m_fontModel(nullptr) + , m_pageSizesModel(nullptr) + , m_fontInfo(nullptr) + , m_fontProgressBar(nullptr) + , m_fontScanStarted(false) +{ + setFaceType(Tabbed); + setWindowTitle(i18n("Unknown File")); + setStandardButtons(QDialogButtonBox::Ok); + + // PROPERTIES + QFrame *page = new QFrame(); + KPageWidgetItem *item = addPage(page, i18n("&Properties")); + item->setIcon(QIcon::fromTheme(QStringLiteral("document-properties"))); + + // get document info + const Okular::DocumentInfo info = doc->documentInfo(); + QFormLayout *layout = new QFormLayout(page); + + // mime name based on mimetype id + QString mimeName = info.get(Okular::DocumentInfo::MimeType).section(QLatin1Char('/'), -1).toUpper(); + setWindowTitle(i18n("%1 Properties", mimeName)); + + /* obtains the properties list, conveniently ordered */ + QStringList orderedProperties; + orderedProperties << Okular::DocumentInfo::getKeyString(Okular::DocumentInfo::FilePath) << Okular::DocumentInfo::getKeyString(Okular::DocumentInfo::PagesSize) << Okular::DocumentInfo::getKeyString(Okular::DocumentInfo::DocumentSize); + for (Okular::DocumentInfo::Key ks = Okular::DocumentInfo::Title; ks <= Okular::DocumentInfo::Keywords; ks = Okular::DocumentInfo::Key(ks + 1)) { + orderedProperties << Okular::DocumentInfo::getKeyString(ks); + } + const QStringList infoKeys = info.keys(); + for (const QString &ks : infoKeys) { + if (!orderedProperties.contains(ks)) { + orderedProperties << ks; + } + } + + for (const QString &key : std::as_const(orderedProperties)) { + const QString titleString = info.getKeyTitle(key); + const QString valueString = info.get(key); + if (titleString.isNull() || valueString.isNull()) { + continue; + } + + // create labels and layout them + QWidget *value = nullptr; + if (key == Okular::DocumentInfo::getKeyString(Okular::DocumentInfo::MimeType)) { + /// for mime type fields, show icon as well + value = new QWidget(page); + /// place icon left of mime type's name + QHBoxLayout *hboxLayout = new QHBoxLayout(value); + hboxLayout->setContentsMargins(0, 0, 0, 0); + /// retrieve icon and place it in a QLabel + QMimeDatabase db; + QMimeType mimeType = db.mimeTypeForName(valueString); + KSqueezedTextLabel *squeezed; + if (mimeType.isValid()) { + /// retrieve icon and place it in a QLabel + QLabel *pixmapLabel = new QLabel(value); + hboxLayout->addWidget(pixmapLabel, 0); + const QIcon icon = QIcon::fromTheme(mimeType.iconName(), QIcon::fromTheme(QStringLiteral("application-octet-stream"))); + pixmapLabel->setPixmap(icon.pixmap(KIconLoader::SizeSmall)); + /// mime type's name and label + squeezed = new KSqueezedTextLabel(i18nc("mimetype information, example: \"PDF Document (application/pdf)\"", "%1 (%2)", mimeType.comment(), valueString), value); + } else { + /// only mime type name + squeezed = new KSqueezedTextLabel(valueString, value); + } + squeezed->setTextInteractionFlags(Qt::TextSelectableByMouse); + hboxLayout->addWidget(squeezed, 1); + } else { + /// default for any other document information + KSqueezedTextLabel *label = new KSqueezedTextLabel(valueString, page); + label->setTextInteractionFlags(Qt::TextSelectableByMouse); + value = label; + } + layout->addRow(new QLabel(i18n("%1:", titleString)), value); + } + + // FONTS + if (doc->canProvideFontInformation()) { + // create fonts tab and layout it + QFrame *page2 = new QFrame(); + m_fontPage = addPage(page2, i18n("&Fonts")); + m_fontPage->setIcon(QIcon::fromTheme(QStringLiteral("dialog-text-and-font"))); + QVBoxLayout *page2Layout = new QVBoxLayout(page2); + // add a tree view + QTreeView *view = new QTreeView(page2); + view->setContextMenuPolicy(Qt::CustomContextMenu); + connect(view, &QTreeView::customContextMenuRequested, this, &PropertiesDialog::showFontsMenu); + page2Layout->addWidget(view); + view->setRootIsDecorated(false); + view->setAlternatingRowColors(true); + view->setSortingEnabled(true); + // creating a proxy model so we can sort the data + QSortFilterProxyModel *proxymodel = new QSortFilterProxyModel(view); + proxymodel->setDynamicSortFilter(true); + proxymodel->setSortCaseSensitivity(Qt::CaseInsensitive); + m_fontModel = new FontsListModel(view); + proxymodel->setSourceModel(m_fontModel); + view->setModel(proxymodel); + view->sortByColumn(0, Qt::AscendingOrder); + m_fontInfo = new QLabel(this); + page2Layout->addWidget(m_fontInfo); + m_fontInfo->setText(i18n("Reading font information…")); + m_fontInfo->hide(); + m_fontProgressBar = new QProgressBar(this); + page2Layout->addWidget(m_fontProgressBar); + m_fontProgressBar->setRange(0, 100); + m_fontProgressBar->setValue(0); + m_fontProgressBar->hide(); + } + + // PAGE SIZES + if (!m_document->allPagesSize().isValid()) { + // create page sizes tab tab and layout it when there are multiple page sizes + QFrame *page3 = new QFrame(); + KPageWidgetItem *pageSizesPage = addPage(page3, i18n("&Page Sizes")); + pageSizesPage->setIcon(QIcon::fromTheme(QStringLiteral("view-pages-overview"))); + QVBoxLayout *page3Layout = new QVBoxLayout(page3); + + // Add a table view + QTableView *view = new QTableView(page3); + m_pageSizesModel = new PageSizesModel(view, m_document); + page3Layout->addWidget(view); + view->setModel(m_pageSizesModel); + view->setAlternatingRowColors(true); + view->setCornerButtonEnabled(false); + view->resizeColumnsToContents(); + view->verticalHeader()->hide(); + + // Stretch the last column, which is the widest + QHeaderView *headerView = view->horizontalHeader(); + headerView->setSectionResizeMode(0, QHeaderView::Interactive); + headerView->setSectionResizeMode(1, QHeaderView::Stretch); + } + + // KPageDialog is a bit buggy, it doesn't fix its own sizeHint, so we have to manually resize + resize(layout->sizeHint()); + + connect(pageWidget(), QOverload::of(&KPageWidget::currentPageChanged), this, &PropertiesDialog::pageChanged); +} + +PropertiesDialog::~PropertiesDialog() +{ + m_document->stopFontReading(); +} + +void PropertiesDialog::pageChanged(KPageWidgetItem *current, KPageWidgetItem *) +{ + if (current == m_fontPage && !m_fontScanStarted) { + connect(m_document, &Okular::Document::gotFont, m_fontModel, &FontsListModel::addFont); + connect(m_document, &Okular::Document::fontReadingProgress, this, &PropertiesDialog::slotFontReadingProgress); + connect(m_document, &Okular::Document::fontReadingEnded, this, &PropertiesDialog::slotFontReadingEnded); + QTimer::singleShot(0, this, &PropertiesDialog::reallyStartFontReading); + + m_fontScanStarted = true; + } +} + +void PropertiesDialog::slotFontReadingProgress(int page) +{ + m_fontProgressBar->setValue(m_fontProgressBar->maximum() * (page + 1) / m_document->pages()); +} + +void PropertiesDialog::slotFontReadingEnded() +{ + m_fontInfo->hide(); + m_fontProgressBar->hide(); +} + +void PropertiesDialog::reallyStartFontReading() +{ + m_fontInfo->show(); + m_fontProgressBar->show(); + m_document->startFontReading(); +} + +void PropertiesDialog::showFontsMenu(const QPoint pos) +{ + QTreeView *view = static_cast(sender()); + QModelIndex index = view->indexAt(pos); + if (index.data(IsExtractableRole).toBool()) { + QMenu *menu = new QMenu(this); + menu->addAction(i18nc("@action:inmenu", "&Extract Font")); + const QAction *result = menu->exec(view->viewport()->mapToGlobal(pos)); + if (result) { + Okular::FontInfo fi = index.data(FontInfoRole).value(); + const QString caption = i18n("Where do you want to save %1?", fi.name()); + const QString path = QFileDialog::getSaveFileName(this, caption, fi.name()); + if (path.isEmpty()) { + return; + } + + QFile f(path); + if (f.open(QIODevice::WriteOnly)) { + f.write(m_document->fontData(fi)); + f.close(); + } else { + KMessageBox::error(this, i18n("Could not open \"%1\" for writing. File was not saved.", path)); + } + } + } +} + +FontsListModel::FontsListModel(QObject *parent) + : QAbstractTableModel(parent) +{ +} + +FontsListModel::~FontsListModel() +{ +} + +void FontsListModel::addFont(const Okular::FontInfo &fi) +{ + beginInsertRows(QModelIndex(), m_fonts.size(), m_fonts.size()); + + m_fonts << fi; + + endInsertRows(); +} + +int FontsListModel::columnCount(const QModelIndex &parent) const +{ + return parent.isValid() ? 0 : 3; +} + +static QString descriptionForFontType(Okular::FontInfo::FontType type) +{ + switch (type) { + case Okular::FontInfo::Type1: + return i18n("Type 1"); + break; + case Okular::FontInfo::Type1C: + return i18n("Type 1C"); + break; + case Okular::FontInfo::Type1COT: + return i18nc("OT means OpenType", "Type 1C (OT)"); + break; + case Okular::FontInfo::Type3: + return i18n("Type 3"); + break; + case Okular::FontInfo::TrueType: + return i18n("TrueType"); + break; + case Okular::FontInfo::TrueTypeOT: + return i18nc("OT means OpenType", "TrueType (OT)"); + break; + case Okular::FontInfo::CIDType0: + return i18n("CID Type 0"); + break; + case Okular::FontInfo::CIDType0C: + return i18n("CID Type 0C"); + break; + case Okular::FontInfo::CIDType0COT: + return i18nc("OT means OpenType", "CID Type 0C (OT)"); + break; + case Okular::FontInfo::CIDTrueType: + return i18n("CID TrueType"); + break; + case Okular::FontInfo::CIDTrueTypeOT: + return i18nc("OT means OpenType", "CID TrueType (OT)"); + break; + case Okular::FontInfo::TeXPK: + return i18n("TeX PK"); + break; + case Okular::FontInfo::TeXVirtual: + return i18n("TeX virtual"); + break; + case Okular::FontInfo::TeXFontMetric: + return i18n("TeX Font Metric"); + break; + case Okular::FontInfo::TeXFreeTypeHandled: + return i18n("TeX FreeType-handled"); + break; + case Okular::FontInfo::Unknown: + return i18nc("Unknown font type", "Unknown"); + break; + } + return QString(); +} + +static QString pathOrDescription(const Okular::FontInfo &font) +{ + switch (font.embedType()) { + case Okular::FontInfo::NotEmbedded: + return font.file(); + break; + case Okular::FontInfo::EmbeddedSubset: + return i18n("Embedded (subset)"); + break; + case Okular::FontInfo::FullyEmbedded: + return i18n("Fully embedded"); + break; + } + return QString(); +} + +static QString descriptionForEmbedType(Okular::FontInfo::EmbedType type) +{ + switch (type) { + case Okular::FontInfo::NotEmbedded: + return i18n("No"); + break; + case Okular::FontInfo::EmbeddedSubset: + return i18n("Yes (subset)"); + break; + case Okular::FontInfo::FullyEmbedded: + return i18n("Yes"); + break; + } + return QString(); +} + +QVariant FontsListModel::data(const QModelIndex &index, int role) const +{ + if (!index.isValid() || index.row() < 0 || index.row() >= m_fonts.count()) { + return QVariant(); + } + + switch (role) { + case Qt::DisplayRole: + switch (index.column()) { + case 0: { + const Okular::FontInfo &fi = m_fonts.at(index.row()); + const QString fontname = fi.name(); + const QString substituteName = fi.substituteName(); + if (fi.embedType() == Okular::FontInfo::NotEmbedded && !substituteName.isEmpty() && !fontname.isEmpty() && substituteName != fontname) { + return i18nc("Replacing missing font with another one", "%1 (substituting with %2)", fontname, substituteName); + } + return fontname.isEmpty() ? i18nc("font name not available (empty)", "[n/a]") : fontname; + } + case 1: + return descriptionForFontType(m_fonts.at(index.row()).type()); + break; + case 2: + return pathOrDescription(m_fonts.at(index.row())); + break; + } + break; + case Qt::ToolTipRole: { + QString fontname = m_fonts.at(index.row()).name(); + if (fontname.isEmpty()) { + fontname = i18n("Unknown font"); + } + QString tooltip = QLatin1String("") + fontname + QLatin1String(""); + if (m_fonts.at(index.row()).embedType() == Okular::FontInfo::NotEmbedded) { + tooltip += QStringLiteral(" (%2)").arg(fontname, fontname); + } + tooltip += QLatin1String("
") + i18n("Embedded: %1", descriptionForEmbedType(m_fonts.at(index.row()).embedType())); + tooltip += QLatin1String(""); + return tooltip; + } + case IsExtractableRole: { + return m_fonts.at(index.row()).canBeExtracted(); + } + case FontInfoRole: { + QVariant v; + v.setValue(m_fonts.at(index.row())); + return v; + } + } + + return QVariant(); +} + +QVariant FontsListModel::headerData(int section, Qt::Orientation orientation, int role) const +{ + if (orientation != Qt::Horizontal) { + return QVariant(); + } + + if (role == Qt::TextAlignmentRole) { + return QVariant(Qt::AlignLeft); + } + + if (role != Qt::DisplayRole) { + return QVariant(); + } + + switch (section) { + case 0: + return i18n("Name"); + break; + case 1: + return i18n("Type"); + break; + case 2: + return i18n("File"); + break; + default: + return QVariant(); + } +} + +int FontsListModel::rowCount(const QModelIndex &parent) const +{ + return parent.isValid() ? 0 : m_fonts.size(); +} + +PageSizesModel::PageSizesModel(QObject *parent, Okular::Document *doc) + : QAbstractTableModel(parent) + , m_document(doc) +{ +} + +PageSizesModel::~PageSizesModel() +{ +} + +int PageSizesModel::columnCount(const QModelIndex &parent) const +{ + return parent.isValid() ? 0 : 2; +} + +QVariant PageSizesModel::data(const QModelIndex &index, int role) const +{ + if (!index.isValid() || index.row() < 0 || index.row() >= (int)m_document->pages()) { + return QVariant(); + } + + switch (index.column()) { + case 0: { + if (role == Qt::DisplayRole) { + return index.row() + 1; // Page zero doesn't make sense to the user + } else if (role == Qt::TextAlignmentRole) { + return Qt::AlignCenter; + } + break; + } + case 1: + if (role == Qt::DisplayRole) { + return m_document->pageSizeString(index.row()); + } + break; + } + + return QVariant(); +} + +QVariant PageSizesModel::headerData(int section, Qt::Orientation orientation, int role) const +{ + if (orientation != Qt::Horizontal) { + return QVariant(); + } + + if (role == Qt::TextAlignmentRole) { + return QVariant(Qt::AlignLeft); + } + + if (role != Qt::DisplayRole) { + return QVariant(); + } + + switch (section) { + case 0: + return i18n("Page"); + break; + case 1: + return i18n("Size"); + break; + default: + return QVariant(); + } +} + +int PageSizesModel::rowCount(const QModelIndex &parent) const +{ + return parent.isValid() ? 0 : m_document->pages(); +} + +#include "moc_propertiesdialog.cpp" + +/* kate: replace-tabs on; indent-width 4; */ diff --git a/part/propertiesdialog.h b/part/propertiesdialog.h new file mode 100644 index 0000000..9df89d9 --- /dev/null +++ b/part/propertiesdialog.h @@ -0,0 +1,93 @@ +/* + SPDX-FileCopyrightText: 2004 Albert Astals Cid + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _PROPERTIESDIALOG_H_ +#define _PROPERTIESDIALOG_H_ + +#include +#include + +#include + +#include "core/fontinfo.h" + +class QLabel; +class QProgressBar; +class FontsListModel; +class PageSizesModel; + +namespace Okular +{ +class Document; +} + +class PropertiesDialog : public KPageDialog +{ + Q_OBJECT + +public: + PropertiesDialog(QWidget *parent, Okular::Document *doc); + ~PropertiesDialog() override; + +private Q_SLOTS: + void pageChanged(KPageWidgetItem *, KPageWidgetItem *); + void slotFontReadingProgress(int page); + void slotFontReadingEnded(); + void reallyStartFontReading(); + void showFontsMenu(const QPoint pos); + +private: + Okular::Document *m_document; + KPageWidgetItem *m_fontPage; + FontsListModel *m_fontModel; + PageSizesModel *m_pageSizesModel; + QLabel *m_fontInfo; + QProgressBar *m_fontProgressBar; + bool m_fontScanStarted; +}; + +class FontsListModel : public QAbstractTableModel +{ + Q_OBJECT + +public: + explicit FontsListModel(QObject *parent = nullptr); + ~FontsListModel() override; + + // reimplementations from QAbstractTableModel + int columnCount(const QModelIndex &parent = QModelIndex()) const override; + QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override; + QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override; + int rowCount(const QModelIndex &parent = QModelIndex()) const override; + +public Q_SLOTS: + void addFont(const Okular::FontInfo &fi); + +private: + QList m_fonts; +}; + +class PageSizesModel : public QAbstractTableModel +{ + Q_OBJECT + +public: + explicit PageSizesModel(QObject *parent = nullptr, Okular::Document *doc = nullptr); + ~PageSizesModel() override; + + // reimplementations from QAbstractTableModel + int columnCount(const QModelIndex &parent = QModelIndex()) const override; + QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override; + QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override; + int rowCount(const QModelIndex &parent = QModelIndex()) const override; + +private: + Okular::Document *m_document; +}; + +#endif + +/* kate: replace-tabs on; indent-width 4; */ diff --git a/part/revisionviewer.cpp b/part/revisionviewer.cpp new file mode 100644 index 0000000..979bf9a --- /dev/null +++ b/part/revisionviewer.cpp @@ -0,0 +1,83 @@ +/* + SPDX-FileCopyrightText: 2018 Chinmoy Ranjan Pradhan + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "revisionviewer.h" + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "fileprinterpreview.h" + +class RevisionPreview : public Okular::FilePrinterPreview +{ + Q_OBJECT + +public: + explicit RevisionPreview(const QString &revisionFile, QWidget *parent = nullptr); + +private Q_SLOTS: + void doSave(); + +private: + QString m_filename; +}; + +RevisionPreview::RevisionPreview(const QString &revisionFile, QWidget *parent) + : FilePrinterPreview(revisionFile, parent) + , m_filename(revisionFile) +{ + setWindowTitle(i18n("Revision Preview")); + + QDialogButtonBox *btnBox = findChild(); + auto saveBtn = new QPushButton(i18n("Save As"), this); + btnBox->addButton(saveBtn, QDialogButtonBox::ActionRole); + connect(saveBtn, &QPushButton::clicked, this, &RevisionPreview::doSave); +} + +void RevisionPreview::doSave() +{ + QMimeDatabase db; + const QMimeType mime = db.mimeTypeForFile(m_filename); + const QString caption = i18n("Where do you want to save this revision?"); + const QString path = QFileDialog::getSaveFileName(this, caption, QStringLiteral("Revision"), mime.filterString()); + if (!path.isEmpty() && !QFile::copy(m_filename, path)) { + KMessageBox::error(this, i18n("Could not save file %1.", path)); + return; + } +} + +RevisionViewer::RevisionViewer(const QByteArray &revisionData, QWidget *parent) + : QObject(parent) + , m_parent(parent) + , m_revisionData(revisionData) +{ +} + +void RevisionViewer::viewRevision() +{ + QMimeDatabase db; + const QMimeType mime = db.mimeTypeForData(m_revisionData); + const QString tempDir = QStandardPaths::writableLocation(QStandardPaths::TempLocation); + QTemporaryFile tf(tempDir + QStringLiteral("/okular_revision_XXXXXX.%1").arg(mime.suffixes().constFirst())); + if (!tf.open()) { + KMessageBox::error(m_parent, i18n("Could not view revision.")); + return; + } + tf.write(m_revisionData); + RevisionPreview previewdlg(tf.fileName(), m_parent); + previewdlg.exec(); +} + +#include "revisionviewer.moc" diff --git a/part/revisionviewer.h b/part/revisionviewer.h new file mode 100644 index 0000000..00e4bfe --- /dev/null +++ b/part/revisionviewer.h @@ -0,0 +1,30 @@ +/* + SPDX-FileCopyrightText: 2018 Chinmoy Ranjan Pradhan + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef OKULAR_REVISIONVIEWER_H +#define OKULAR_REVISIONVIEWER_H + +#include +#include + +class QWidget; + +class RevisionViewer : public QObject +{ + Q_OBJECT + +public: + explicit RevisionViewer(const QByteArray &revisionData, QWidget *parent = nullptr); + +public Q_SLOTS: + void viewRevision(); + +private: + QWidget *m_parent; + QByteArray m_revisionData; +}; + +#endif diff --git a/part/searchlineedit.cpp b/part/searchlineedit.cpp new file mode 100644 index 0000000..073eda0 --- /dev/null +++ b/part/searchlineedit.cpp @@ -0,0 +1,317 @@ +/* + SPDX-FileCopyrightText: 2004 Enrico Ros + SPDX-FileCopyrightText: 2007, 2009-2010 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "searchlineedit.h" + +// local includes + +// qt/kde includes +#include +#include +#include +#include +#include +#include +#include + +SearchLineEdit::SearchLineEdit(QWidget *parent, Okular::Document *document) + : KLineEdit(parent) + , m_document(document) + , m_minLength(0) + , m_caseSensitivity(Qt::CaseInsensitive) + , m_searchType(Okular::Document::AllDocument) + , m_id(-1) + , m_moveViewport(false) + , m_changed(false) + , m_fromStart(true) + , m_findAsYouType(true) + , m_searchRunning(false) +{ + setObjectName(QStringLiteral("SearchLineEdit")); + setClearButtonEnabled(true); + + // a timer to ensure that we don't flood the document with requests to search + m_inputDelayTimer = new QTimer(this); + m_inputDelayTimer->setSingleShot(true); + connect(m_inputDelayTimer, &QTimer::timeout, this, &SearchLineEdit::startSearch); + + connect(this, &SearchLineEdit::textChanged, this, &SearchLineEdit::slotTextChanged); + connect(document, &Okular::Document::searchFinished, this, &SearchLineEdit::searchFinished); +} + +void SearchLineEdit::clearText() +{ + clear(); +} + +void SearchLineEdit::setSearchCaseSensitivity(Qt::CaseSensitivity cs) +{ + m_caseSensitivity = cs; + m_changed = true; +} + +void SearchLineEdit::setSearchMinimumLength(int length) +{ + m_minLength = length; + m_changed = true; +} + +void SearchLineEdit::setSearchType(Okular::Document::SearchType type) +{ + if (type == m_searchType) { + return; + } + + disconnect(this, &SearchLineEdit::returnKeyPressed, this, &SearchLineEdit::slotReturnPressed); + + m_searchType = type; + + // Only connect Enter for next/prev searches, the rest of searches are document global so + // next/prev search does not make sense for them + if (m_searchType == Okular::Document::NextMatch || m_searchType == Okular::Document::PreviousMatch) { + connect(this, &SearchLineEdit::returnKeyPressed, this, &SearchLineEdit::slotReturnPressed); + } + + if (!m_changed) { + m_changed = (m_searchType != Okular::Document::NextMatch && m_searchType != Okular::Document::PreviousMatch); + } +} + +void SearchLineEdit::setSearchId(int id) +{ + m_id = id; + m_changed = true; +} + +void SearchLineEdit::setSearchColor(const QColor &color) +{ + m_color = color; + m_changed = true; +} + +void SearchLineEdit::setSearchMoveViewport(bool move) +{ + m_moveViewport = move; +} + +void SearchLineEdit::setSearchFromStart(bool fromStart) +{ + m_fromStart = fromStart; +} + +void SearchLineEdit::setFindAsYouType(bool findAsYouType) +{ + m_findAsYouType = findAsYouType; +} + +void SearchLineEdit::resetSearch() +{ + // Stop the currently running search, if any + stopSearch(); + + // Clear highlights + if (m_id != -1) { + m_document->resetSearch(m_id); + } + + // Make sure that the search will be reset at the next one + m_changed = true; + + // Reset input box color + prepareLineEditForSearch(); +} + +bool SearchLineEdit::isSearchRunning() const +{ + return m_searchRunning; +} + +void SearchLineEdit::restartSearch() +{ + m_inputDelayTimer->stop(); + m_inputDelayTimer->start(700); + m_changed = true; +} + +void SearchLineEdit::stopSearch() +{ + if (m_id == -1 || !m_searchRunning) { + return; + } + + m_inputDelayTimer->stop(); + // ### this should just cancel the search with id m_id, not all of them + m_document->cancelSearch(); + // flagging as "changed" so the search will be reset at the next one + m_changed = true; +} + +void SearchLineEdit::findNext() +{ + if (m_id == -1 || m_searchType != Okular::Document::NextMatch) { + return; + } + + if (!m_changed) { + Q_EMIT searchStarted(); + m_searchRunning = true; + m_document->continueSearch(m_id, m_searchType); + } else { + startSearch(); + } +} + +void SearchLineEdit::findPrev() +{ + if (m_id == -1 || m_searchType != Okular::Document::PreviousMatch) { + return; + } + + if (!m_changed) { + Q_EMIT searchStarted(); + m_searchRunning = true; + m_document->continueSearch(m_id, m_searchType); + } else { + startSearch(); + } +} + +void SearchLineEdit::slotTextChanged(const QString &text) +{ + Q_UNUSED(text); + + prepareLineEditForSearch(); + + if (m_findAsYouType) { + restartSearch(); + } else { + m_changed = true; + } +} + +void SearchLineEdit::prepareLineEditForSearch() +{ + QPalette pal = palette(); + const int textLength = text().length(); + if (textLength > 0 && textLength < m_minLength) { + const KColorScheme scheme(QPalette::Active, KColorScheme::View); + pal.setBrush(QPalette::Base, scheme.background(KColorScheme::NegativeBackground)); + pal.setBrush(QPalette::Text, scheme.foreground(KColorScheme::NegativeText)); + } else { + const QPalette qAppPalette = QApplication::palette(); + pal.setColor(QPalette::Base, qAppPalette.color(QPalette::Base)); + pal.setColor(QPalette::Text, qAppPalette.color(QPalette::Text)); + } + setPalette(pal); +} + +void SearchLineEdit::slotReturnPressed(const QString &text) +{ + Q_UNUSED(text); + + m_inputDelayTimer->stop(); + prepareLineEditForSearch(); + if (QApplication::keyboardModifiers() == Qt::ShiftModifier) { + m_searchType = Okular::Document::PreviousMatch; + findPrev(); + } else { + m_searchType = Okular::Document::NextMatch; + findNext(); + } +} + +void SearchLineEdit::startSearch() +{ + if (m_id == -1 || !m_color.isValid()) { + return; + } + + if (m_changed && (m_searchType == Okular::Document::NextMatch || m_searchType == Okular::Document::PreviousMatch)) { + m_document->resetSearch(m_id); + } + m_changed = false; + // search text if have more than 3 chars or else clear search + QString thistext = text(); + if (thistext.length() >= qMax(m_minLength, 1)) { + Q_EMIT searchStarted(); + m_searchRunning = true; + m_document->searchText(m_id, thistext, m_fromStart, m_caseSensitivity, m_searchType, m_moveViewport, m_color); + } else { + m_document->resetSearch(m_id); + } +} + +void SearchLineEdit::searchFinished(int id, Okular::Document::SearchStatus endStatus) +{ + // ignore the searches not started by this search edit + if (id != m_id) { + return; + } + + // if not found, use warning colors + if (endStatus == Okular::Document::NoMatchFound) { + QPalette pal = palette(); + const KColorScheme scheme(QPalette::Active, KColorScheme::View); + pal.setBrush(QPalette::Base, scheme.background(KColorScheme::NegativeBackground)); + pal.setBrush(QPalette::Text, scheme.foreground(KColorScheme::NegativeText)); + setPalette(pal); + } else { + QPalette pal = palette(); + const QPalette qAppPalette = QApplication::palette(); + pal.setColor(QPalette::Base, qAppPalette.color(QPalette::Base)); + pal.setColor(QPalette::Text, qAppPalette.color(QPalette::Text)); + setPalette(pal); + } + + m_searchRunning = false; + Q_EMIT searchStopped(); +} + +SearchLineWidget::SearchLineWidget(QWidget *parent, Okular::Document *document) + : QWidget(parent) +{ + QHBoxLayout *layout = new QHBoxLayout(this); + layout->setContentsMargins(0, 0, 0, 0); + + m_edit = new SearchLineEdit(this, document); + layout->addWidget(m_edit); + + m_anim = new KBusyIndicatorWidget(this); + m_anim->setFixedSize(22, 22); + layout->addWidget(m_anim); + m_anim->hide(); + + m_timer = new QTimer(this); + m_timer->setSingleShot(true); + connect(m_timer, &QTimer::timeout, this, &SearchLineWidget::slotTimedout); + + connect(m_edit, &SearchLineEdit::searchStarted, this, &SearchLineWidget::slotSearchStarted); + connect(m_edit, &SearchLineEdit::searchStopped, this, &SearchLineWidget::slotSearchStopped); +} + +SearchLineEdit *SearchLineWidget::lineEdit() const +{ + return m_edit; +} + +void SearchLineWidget::slotSearchStarted() +{ + m_timer->start(100); +} + +void SearchLineWidget::slotSearchStopped() +{ + m_timer->stop(); + m_anim->hide(); +} + +void SearchLineWidget::slotTimedout() +{ + m_anim->show(); +} + +#include "moc_searchlineedit.cpp" diff --git a/part/searchlineedit.h b/part/searchlineedit.h new file mode 100644 index 0000000..6f792cd --- /dev/null +++ b/part/searchlineedit.h @@ -0,0 +1,94 @@ +/* + SPDX-FileCopyrightText: 2004 Enrico Ros + SPDX-FileCopyrightText: 2007, 2009-2010 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_SEARCHLINEEDIT_H_ +#define _OKULAR_SEARCHLINEEDIT_H_ + +#include "core/document.h" + +#include + +#include +class KBusyIndicatorWidget; +class QTimer; + +/** + * @short A line edit for find-as-you-type search. Outputs to the Document. + */ +class SearchLineEdit : public KLineEdit +{ + Q_OBJECT +public: + SearchLineEdit(QWidget *parent, Okular::Document *document); + + void clearText(); + + void setSearchCaseSensitivity(Qt::CaseSensitivity cs); + void setSearchMinimumLength(int length); + void setSearchType(Okular::Document::SearchType type); + void setSearchId(int id); + void setSearchColor(const QColor &color); + void setSearchMoveViewport(bool move); + void setSearchFromStart(bool fromStart); + void setFindAsYouType(bool findAsYouType); + void resetSearch(); + + bool isSearchRunning() const; + +Q_SIGNALS: + void searchStarted(); + void searchStopped(); + +public Q_SLOTS: + void restartSearch(); + void stopSearch(); + void findNext(); + void findPrev(); + +private: + void prepareLineEditForSearch(); + + Okular::Document *m_document; + QTimer *m_inputDelayTimer; + int m_minLength; + Qt::CaseSensitivity m_caseSensitivity; + Okular::Document::SearchType m_searchType; + int m_id; + QColor m_color; + bool m_moveViewport; + bool m_changed; + bool m_fromStart; + bool m_findAsYouType; + bool m_searchRunning; + +private Q_SLOTS: + void slotTextChanged(const QString &text); + void slotReturnPressed(const QString &text); + void startSearch(); + void searchFinished(int id, Okular::Document::SearchStatus endStatus); +}; + +class SearchLineWidget : public QWidget +{ + Q_OBJECT +public: + SearchLineWidget(QWidget *parent, Okular::Document *document); + + SearchLineEdit *lineEdit() const; + +private Q_SLOTS: + void slotSearchStarted(); + void slotSearchStopped(); + void slotTimedout(); + +private: + SearchLineEdit *m_edit; + KBusyIndicatorWidget *m_anim; + QTimer *m_timer; +}; + +#endif diff --git a/part/searchwidget.cpp b/part/searchwidget.cpp new file mode 100644 index 0000000..abe6521 --- /dev/null +++ b/part/searchwidget.cpp @@ -0,0 +1,101 @@ +/* + SPDX-FileCopyrightText: 2004 Enrico Ros + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "searchwidget.h" + +// qt/kde includes +#include +#include +#include +#include +#include +#include +#include +#include + +// local includes +#include "searchlineedit.h" + +SearchWidget::SearchWidget(QWidget *parent, Okular::Document *document) + : QWidget(parent) +{ + setObjectName(QStringLiteral("iSearchBar")); + + QSizePolicy sp = sizePolicy(); + sp.setVerticalPolicy(QSizePolicy::Minimum); + setSizePolicy(sp); + + QHBoxLayout *mainlay = new QHBoxLayout(this); + mainlay->setContentsMargins(0, 0, 0, 0); + mainlay->setSpacing(3); + + // 2. text line + m_lineEdit = new SearchLineEdit(this, document); + m_lineEdit->setClearButtonEnabled(true); + m_lineEdit->setPlaceholderText(i18n("Search…")); + m_lineEdit->setToolTip(i18n("Enter at least 3 letters to filter pages")); + m_lineEdit->setSearchCaseSensitivity(Qt::CaseInsensitive); + m_lineEdit->setSearchMinimumLength(3); + m_lineEdit->setSearchType(Okular::Document::GoogleAll); + m_lineEdit->setSearchId(SW_SEARCH_ID); + m_lineEdit->setSearchColor(qRgb(0, 183, 255)); + mainlay->addWidget(m_lineEdit); + + // 3.1. create the popup menu for changing filtering features + m_menu = new QMenu(this); + m_caseSensitiveAction = m_menu->addAction(i18n("Case Sensitive")); + m_menu->addSeparator(); + m_matchPhraseAction = m_menu->addAction(i18n("Match Phrase")); + m_marchAllWordsAction = m_menu->addAction(i18n("Match All Words")); + m_marchAnyWordsAction = m_menu->addAction(i18n("Match Any Word")); + + m_caseSensitiveAction->setCheckable(true); + QActionGroup *actgrp = new QActionGroup(this); + m_matchPhraseAction->setCheckable(true); + m_matchPhraseAction->setActionGroup(actgrp); + m_marchAllWordsAction->setCheckable(true); + m_marchAllWordsAction->setActionGroup(actgrp); + m_marchAnyWordsAction->setCheckable(true); + m_marchAnyWordsAction->setActionGroup(actgrp); + + m_marchAllWordsAction->setChecked(true); + connect(m_menu, &QMenu::triggered, this, &SearchWidget::slotMenuChaged); + + // 3.2. create the toolbar button that spawns the popup menu + QToolButton *optionsMenuAction = new QToolButton(this); + mainlay->addWidget(optionsMenuAction); + optionsMenuAction->setAutoRaise(true); + optionsMenuAction->setIcon(QIcon::fromTheme(QStringLiteral("view-filter"))); + optionsMenuAction->setToolTip(i18n("Filter Options")); + optionsMenuAction->setPopupMode(QToolButton::InstantPopup); + optionsMenuAction->setMenu(m_menu); +} + +void SearchWidget::clearText() +{ + m_lineEdit->clear(); +} + +void SearchWidget::slotMenuChaged(QAction *act) +{ + // update internal variables and checked state + if (act == m_caseSensitiveAction) { + m_lineEdit->setSearchCaseSensitivity(m_caseSensitiveAction->isChecked() ? Qt::CaseSensitive : Qt::CaseInsensitive); + } else if (act == m_matchPhraseAction) { + m_lineEdit->setSearchType(Okular::Document::AllDocument); + } else if (act == m_marchAllWordsAction) { + m_lineEdit->setSearchType(Okular::Document::GoogleAll); + } else if (act == m_marchAnyWordsAction) { + m_lineEdit->setSearchType(Okular::Document::GoogleAny); + } else { + return; + } + + // update search + m_lineEdit->restartSearch(); +} + +#include "moc_searchwidget.cpp" diff --git a/part/searchwidget.h b/part/searchwidget.h new file mode 100644 index 0000000..615dc4e --- /dev/null +++ b/part/searchwidget.h @@ -0,0 +1,46 @@ +/* + SPDX-FileCopyrightText: 2004 Enrico Ros + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_SEARCHWIDGET_H_ +#define _OKULAR_SEARCHWIDGET_H_ + +#include + +namespace Okular +{ +class Document; +} + +class QAction; +class QMenu; + +class SearchLineEdit; + +/** + * @short A widget for find-as-you-type search. Outputs to the Document. + * + * This widget accepts keyboard input and performs a call to findTextAll(..) + * in the Okular::Document class when there are 3 or more chars to search for. + * It supports case sensitive/unsensitive(default) and provides a button + * for switching between the 2 modes. + */ +class SearchWidget : public QWidget +{ + Q_OBJECT +public: + SearchWidget(QWidget *parent, Okular::Document *document); + void clearText(); + +private: + QMenu *m_menu; + QAction *m_matchPhraseAction, *m_caseSensitiveAction, *m_marchAllWordsAction, *m_marchAnyWordsAction; + SearchLineEdit *m_lineEdit; + +private Q_SLOTS: + void slotMenuChaged(QAction *); +}; + +#endif diff --git a/part/selectcertificatedialog.ui b/part/selectcertificatedialog.ui new file mode 100644 index 0000000..2dba4c9 --- /dev/null +++ b/part/selectcertificatedialog.ui @@ -0,0 +1,213 @@ + + + SelectCertificateDialog + + + + 0 + 0 + 400 + 659 + + + + Certificates + + + + + + Select certificate to sign with: + + + + + + + + + All + + + true + + + + + + + Only QES certificates + + + + + + + Only PGP keys + + + + + + + + + true + + + QAbstractItemView::SelectRows + + + QListView::SinglePass + + + + + + + + + Reason: + + + + + + + optional + + + true + + + + + + + Location: + + + + + + + optional + + + true + + + + + + + Background: + + + + + + + + + optional + + + true + + + + + + + Choose... + + + + + + + + + + + + Recent backgrounds: + + + Qt::AutoText + + + false + + + + + + + + + + + + Qt::Vertical + + + QSizePolicy::Expanding + + + + 20 + 1 + + + + + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + + + buttonBox + accepted() + SelectCertificateDialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + SelectCertificateDialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + diff --git a/part/side_reviews.cpp b/part/side_reviews.cpp new file mode 100644 index 0000000..c0b664e --- /dev/null +++ b/part/side_reviews.cpp @@ -0,0 +1,369 @@ +/* + SPDX-FileCopyrightText: 2005 Enrico Ros + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "side_reviews.h" + +// qt/kde includes +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include + +// local includes +#include "annotationmodel.h" +#include "annotationpopup.h" +#include "annotationproxymodels.h" +#include "core/annotations.h" +#include "core/document.h" +#include "core/page.h" +#include "ktreeviewsearchline.h" +#include "settings.h" + +class TreeView : public QTreeView +{ + Q_OBJECT + +public: + explicit TreeView(Okular::Document *document, QWidget *parent = Q_NULLPTR) + : QTreeView(parent) + , m_document(document) + { + } + +protected: + void paintEvent(QPaintEvent *event) override + { + bool hasAnnotations = false; + for (uint i = 0; i < m_document->pages(); ++i) { + if (m_document->page(i)->hasAnnotations()) { + hasAnnotations = true; + break; + } + } + if (!hasAnnotations) { + QPainter p(viewport()); + p.setRenderHint(QPainter::Antialiasing, true); + p.setClipRect(event->rect()); + + QTextDocument document; + document.setHtml( + i18n("

No annotations

" + "To create new annotations press F6 or select Tools -> Annotations" + " from the menu.
")); + document.setTextWidth(width() - 50); + + const uint w = document.size().width() + 20; + const uint h = document.size().height() + 20; + + p.setBrush(palette().window()); + p.translate(0.5, 0.5); + p.drawRoundedRect(15, 15, w, h, 3, 3); + p.translate(20, 20); + document.drawContents(&p); + + } else { + QTreeView::paintEvent(event); + } + } + +private: + Okular::Document *m_document; +}; + +Reviews::Reviews(QWidget *parent, Okular::Document *document) + : QWidget(parent) + , m_document(document) +{ + // create widgets and layout them vertically + QVBoxLayout *vLayout = new QVBoxLayout(this); + vLayout->setSpacing(6); + + KTitleWidget *titleWidget = new KTitleWidget(this); + titleWidget->setLevel(4); + titleWidget->setText(i18n("Annotations")); + + m_view = new TreeView(m_document, this); + m_view->setAlternatingRowColors(true); + m_view->setSelectionMode(QAbstractItemView::ExtendedSelection); + m_view->header()->hide(); + + QToolBar *toolBar = new QToolBar(this); + toolBar->setObjectName(QStringLiteral("reviewOptsBar")); + QSizePolicy sp = toolBar->sizePolicy(); + sp.setVerticalPolicy(QSizePolicy::Minimum); + toolBar->setSizePolicy(sp); + + m_model = new AnnotationModel(m_document, m_view); + + m_filterProxy = new PageFilterProxyModel(m_view); + m_groupProxy = new PageGroupProxyModel(m_view); + m_authorProxy = new AuthorGroupProxyModel(m_view); + + m_filterProxy->setSourceModel(m_model); + m_groupProxy->setSourceModel(m_filterProxy); + m_authorProxy->setSourceModel(m_groupProxy); + + m_view->setModel(m_authorProxy); + + connect(m_authorProxy, &QAbstractItemModel::modelAboutToBeReset, this, &Reviews::saveTreeState); + // Must be after setModel() so that we restore after QTreeView::reset cleared expanded items, not the other way around + connect(m_authorProxy, &QAbstractItemModel::modelReset, this, &Reviews::restoreTreeState); + + m_searchLine = new KTreeViewSearchLine(this, m_view); + m_searchLine->setPlaceholderText(i18n("Search…")); + m_searchLine->setCaseSensitivity(Okular::Settings::self()->reviewsSearchCaseSensitive() ? Qt::CaseSensitive : Qt::CaseInsensitive); + m_searchLine->setRegularExpression(Okular::Settings::self()->reviewsSearchRegularExpression()); + connect(m_searchLine, &KTreeViewSearchLine::searchOptionsChanged, this, &Reviews::saveSearchOptions); + vLayout->addWidget(titleWidget); + vLayout->setAlignment(titleWidget, Qt::AlignHCenter); + vLayout->addWidget(m_searchLine); + vLayout->addWidget(m_view); + vLayout->addWidget(toolBar); + + toolBar->setIconSize(QSize(16, 16)); + toolBar->setMovable(false); + // - add Page button + QAction *groupByPageAction = toolBar->addAction(QIcon::fromTheme(QStringLiteral("text-x-generic")), i18n("Group by Page")); + groupByPageAction->setCheckable(true); + connect(groupByPageAction, &QAction::toggled, this, &Reviews::slotPageEnabled); + groupByPageAction->setChecked(Okular::Settings::groupByPage()); + // - add Author button + QAction *groupByAuthorAction = toolBar->addAction(QIcon::fromTheme(QStringLiteral("user-identity")), i18n("Group by Author")); + groupByAuthorAction->setCheckable(true); + connect(groupByAuthorAction, &QAction::toggled, this, &Reviews::slotAuthorEnabled); + groupByAuthorAction->setChecked(Okular::Settings::groupByAuthor()); + + // - add separator + toolBar->addSeparator(); + // - add Current Page Only button + QAction *curPageOnlyAction = toolBar->addAction(QIcon::fromTheme(QStringLiteral("arrow-down")), i18n("Show annotations for current page only")); + curPageOnlyAction->setCheckable(true); + connect(curPageOnlyAction, &QAction::toggled, this, &Reviews::slotCurrentPageOnly); + curPageOnlyAction->setChecked(Okular::Settings::currentPageOnly()); + + // Adds space between left actions, so that the next two buttons are aligned to the right + QWidget *spacer = new QWidget(); + spacer->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); + toolBar->addWidget(spacer); + + QAction *expandAll = toolBar->addAction(QIcon::fromTheme(QStringLiteral("expand-all")), i18n("Expand all elements")); + connect(expandAll, &QAction::triggered, this, &Reviews::slotExpandAll); + QAction *collapseAll = toolBar->addAction(QIcon::fromTheme(QStringLiteral("collapse-all")), i18n("Collapse all elements")); + connect(collapseAll, &QAction::triggered, this, &Reviews::slotCollapseAll); + + connect(m_view, &TreeView::activated, this, &Reviews::activated); + + m_view->setContextMenuPolicy(Qt::CustomContextMenu); + connect(m_view, &TreeView::customContextMenuRequested, this, &Reviews::contextMenuRequested); +} + +Reviews::~Reviews() +{ + m_document->removeObserver(this); +} + +// BEGIN DocumentObserver Notifies +void Reviews::notifyCurrentPageChanged(int previousPage, int currentPage) +{ + Q_UNUSED(previousPage) + + m_filterProxy->setCurrentPage(currentPage); +} +// END DocumentObserver Notifies + +void Reviews::reparseConfig() +{ + m_searchLine->setCaseSensitivity(Okular::Settings::reviewsSearchCaseSensitive() ? Qt::CaseSensitive : Qt::CaseInsensitive); + m_searchLine->setRegularExpression(Okular::Settings::reviewsSearchRegularExpression()); + m_view->update(); +} + +// BEGIN GUI Slots -> requestListViewUpdate +void Reviews::slotPageEnabled(bool on) +{ + // store toggle state in Settings and update the listview + Okular::Settings::setGroupByPage(on); + m_groupProxy->groupByPage(on); + + m_view->expandAll(); +} + +void Reviews::slotAuthorEnabled(bool on) +{ + // store toggle state in Settings and update the listview + Okular::Settings::setGroupByAuthor(on); + m_authorProxy->groupByAuthor(on); + + m_view->expandAll(); +} + +void Reviews::slotCurrentPageOnly(bool on) +{ + // store toggle state in Settings and update the listview + Okular::Settings::setCurrentPageOnly(on); + m_filterProxy->groupByCurrentPage(on); + + m_view->expandAll(); +} + +void Reviews::slotExpandAll() +{ + m_view->expandAll(); +} + +void Reviews::slotCollapseAll() +{ + m_view->collapseAll(); +} +// END GUI Slots + +void Reviews::activated(const QModelIndex &index) +{ + const QModelIndex authorIndex = m_authorProxy->mapToSource(index); + const QModelIndex filterIndex = m_groupProxy->mapToSource(authorIndex); + const QModelIndex annotIndex = m_filterProxy->mapToSource(filterIndex); + + Okular::Annotation *annotation = m_model->annotationForIndex(annotIndex); + if (!annotation) { + return; + } + + int pageNumber = m_model->data(annotIndex, AnnotationModel::PageRole).toInt(); + const Okular::Page *page = m_document->page(pageNumber); + + // calculating the right coordinates to center the view on the annotation + QRect rect = Okular::AnnotationUtils::annotationGeometry(annotation, page->width(), page->height()); + Okular::NormalizedRect nr(rect, (int)page->width(), (int)page->height()); + // set the viewport parameters + Okular::DocumentViewport vp; + vp.pageNumber = pageNumber; + vp.rePos.enabled = true; + vp.rePos.pos = Okular::DocumentViewport::Center; + vp.rePos.normalizedX = (nr.right + nr.left) / 2.0; + vp.rePos.normalizedY = (nr.bottom + nr.top) / 2.0; + // setting the viewport + m_document->setViewport(vp, nullptr, true); +} + +QModelIndexList Reviews::retrieveAnnotations(const QModelIndex &idx) const +{ + QModelIndexList ret; + if (idx.isValid()) { + const QAbstractItemModel *model = idx.model(); + if (model->hasChildren(idx)) { + int rowCount = model->rowCount(idx); + for (int i = 0; i < rowCount; i++) { + ret += retrieveAnnotations(model->index(i, idx.column(), idx)); + } + } else { + ret += idx; + } + } + + return ret; +} + +void Reviews::contextMenuRequested(const QPoint pos) +{ + AnnotationPopup popup(m_document, AnnotationPopup::SingleAnnotationMode, this); + connect(&popup, &AnnotationPopup::openAnnotationWindow, this, &Reviews::openAnnotationWindow); + + const QModelIndexList indexes = m_view->selectionModel()->selectedIndexes(); + for (const QModelIndex &index : indexes) { + const QModelIndexList annotations = retrieveAnnotations(index); + for (const QModelIndex &idx : annotations) { + const QModelIndex authorIndex = m_authorProxy->mapToSource(idx); + const QModelIndex filterIndex = m_groupProxy->mapToSource(authorIndex); + const QModelIndex annotIndex = m_filterProxy->mapToSource(filterIndex); + Okular::Annotation *annotation = m_model->annotationForIndex(annotIndex); + if (annotation) { + const int pageNumber = m_model->data(annotIndex, AnnotationModel::PageRole).toInt(); + popup.addAnnotation(annotation, pageNumber); + } + } + } + + popup.exec(m_view->viewport()->mapToGlobal(pos)); +} + +void Reviews::saveSearchOptions() +{ + Okular::Settings::setReviewsSearchRegularExpression(m_searchLine->regularExpression()); + Okular::Settings::setReviewsSearchCaseSensitive(m_searchLine->caseSensitivity() == Qt::CaseSensitive ? true : false); + Okular::Settings::self()->save(); +} + +class AnnotationStateSaver : public KViewStateSerializer +{ + Q_OBJECT +public: + explicit AnnotationStateSaver(QTreeView *view) + : KViewStateSerializer() + { + setView(view); + } + QString indexToConfigString(const QModelIndex &index) const override + { + // Store the display text, with parent if any, e.g. "Page 4 / David Faure" + QString key = index.data().toString(); + if (auto parent = index.parent(); parent.isValid()) { + key.prepend(parent.data().toString() + QLatin1String(" / ")); + } + return key; + } + QModelIndex indexFromConfigString(const QAbstractItemModel *model, const QString &key) const override + { + const auto matchFirst = [model](const QModelIndex &startIndex, const QString &text) { + const QModelIndexList list = model->match(startIndex, Qt::DisplayRole, text, 1, Qt::MatchRecursive); + if (list.isEmpty()) { + return QModelIndex(); + } + return list.first(); + }; + + const QStringList subKeys = key.split(QStringLiteral(" / ")); + QModelIndex index = model->index(0, 0); + for (const QString &subKey : subKeys) { + index = matchFirst(index, subKey); + if (!index.isValid()) { + break; + } + } + return index; + } +}; + +void Reviews::saveTreeState() +{ + AnnotationStateSaver saver(m_view); + m_expansionKeys = saver.expansionKeys(); +} + +void Reviews::restoreTreeState() +{ + AnnotationStateSaver saver(m_view); + saver.restoreExpanded(m_expansionKeys); +} + +QAbstractItemModel *Reviews::annotationsModel() const +{ + return m_model; +} + +#include "side_reviews.moc" diff --git a/part/side_reviews.h b/part/side_reviews.h new file mode 100644 index 0000000..35d3283 --- /dev/null +++ b/part/side_reviews.h @@ -0,0 +1,80 @@ +/* + SPDX-FileCopyrightText: 2005 Enrico Ros + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_SIDE_REVIEWS_H_ +#define _OKULAR_SIDE_REVIEWS_H_ + +#include +#include +#include + +#include "core/observer.h" + +class QModelIndex; + +namespace Okular +{ +class Annotation; +class Document; +} + +class AnnotationModel; +class AuthorGroupProxyModel; +class PageFilterProxyModel; +class PageGroupProxyModel; +class KTreeViewSearchLine; +class TreeView; + +/** + * @short ... + */ +class Reviews : public QWidget, public Okular::DocumentObserver +{ + Q_OBJECT +public: + Reviews(QWidget *parent, Okular::Document *document); + ~Reviews() override; + + // [INHERITED] from DocumentObserver + void notifyCurrentPageChanged(int previous, int current) override; + + void reparseConfig(); + + QAbstractItemModel *annotationsModel() const; + +public Q_SLOTS: + void slotPageEnabled(bool); + void slotAuthorEnabled(bool); + void slotCurrentPageOnly(bool); + void slotExpandAll(); + void slotCollapseAll(); + +Q_SIGNALS: + void openAnnotationWindow(Okular::Annotation *annotation, int pageNumber); + +private Q_SLOTS: + void activated(const QModelIndex &); + void contextMenuRequested(const QPoint); + void saveSearchOptions(); + void saveTreeState(); + void restoreTreeState(); + +private: + QModelIndexList retrieveAnnotations(const QModelIndex &idx) const; + + // data fields (GUI) + KTreeViewSearchLine *m_searchLine; + TreeView *m_view; + QStringList m_expansionKeys; + // internal storage + Okular::Document *m_document; + AnnotationModel *m_model; + AuthorGroupProxyModel *m_authorProxy; + PageFilterProxyModel *m_filterProxy; + PageGroupProxyModel *m_groupProxy; +}; + +#endif diff --git a/part/sidebar.cpp b/part/sidebar.cpp new file mode 100644 index 0000000..c63e0e5 --- /dev/null +++ b/part/sidebar.cpp @@ -0,0 +1,194 @@ +/* + SPDX-FileCopyrightText: 2007 Pino Toscano + SPDX-FileCopyrightText: 2009 Eike Hein + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "sidebar.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "settings.h" + +/* Private storage. */ +class Sidebar::Private +{ +public: + Private() = default; + + QSplitter *splitter = nullptr; + QTabWidget *viewChooserTabs = nullptr; + QWidget *sideContainer = nullptr; + QVBoxLayout *vlay = nullptr; + QWidget *sideWidget = nullptr; + QWidget *bottomWidget = nullptr; + bool splitterSizesSet = false; +}; + +Sidebar::Sidebar(QWidget *parent) + : QWidget(parent) + , d(new Private) +{ + QHBoxLayout *mainlay = new QHBoxLayout(this); + mainlay->setContentsMargins(0, 0, 0, 0); + mainlay->setSpacing(0); + + setAutoFillBackground(true); + setAcceptDrops(true); + + d->splitter = new QSplitter(this); + mainlay->addWidget(d->splitter); + d->splitter->setOpaqueResize(true); + d->splitter->setChildrenCollapsible(false); + + // d->sideContainer holds all the actual content + d->sideContainer = new QWidget(d->splitter); + d->sideContainer->setMinimumWidth(90); + d->sideContainer->setMaximumWidth(600); + d->vlay = new QVBoxLayout(d->sideContainer); + d->vlay->setContentsMargins(0, 0, 0, 0); + + d->viewChooserTabs = new QTabWidget(d->sideContainer); + d->viewChooserTabs->setDocumentMode(true); + d->viewChooserTabs->tabBar()->setExpanding(true); + d->vlay->addWidget(d->viewChooserTabs); + + connect(d->splitter, &QSplitter::splitterMoved, this, &Sidebar::splitterMoved); +} + +Sidebar::~Sidebar() +{ + delete d; +} + +int Sidebar::addItem(QWidget *widget, const QIcon &icon, const QString &text) +{ + if (!widget) { + return -1; + } + + widget->setParent(d->viewChooserTabs); + d->viewChooserTabs->addTab(widget, icon, text); + const int thisTabIndex = d->viewChooserTabs->count() - 1; + // Hide all text and use large icons + d->viewChooserTabs->setTabText(thisTabIndex, QString()); + d->viewChooserTabs->setIconSize(QSize(22, 22)); + d->viewChooserTabs->setTabToolTip(thisTabIndex, text); + return thisTabIndex; +} + +void Sidebar::setMainWidget(QWidget *widget) +{ + delete d->sideWidget; + d->sideWidget = widget; + if (d->sideWidget) { + // setting the splitter as parent for the widget automatically plugs it + // into the splitter, neat! + d->sideWidget->setParent(d->splitter); + setFocusProxy(widget); + + if (!d->splitterSizesSet) { + QList splitterSizes = Okular::Settings::splitterSizes(); + if (splitterSizes.isEmpty()) { + // the first time use 1/10 for the panel and 9/10 for the pageView + splitterSizes.push_back(50); + splitterSizes.push_back(500); + } + d->splitter->setSizes(splitterSizes); + d->splitterSizesSet = true; + } + } +} + +void Sidebar::setBottomWidget(QWidget *widget) +{ + delete d->bottomWidget; + d->bottomWidget = widget; + if (d->bottomWidget) { + d->bottomWidget->setParent(this); + d->vlay->addWidget(d->bottomWidget); + } +} + +void Sidebar::setCurrentItem(QWidget *widget) +{ + d->viewChooserTabs->setCurrentWidget(widget); +} + +QWidget *Sidebar::currentItem() const +{ + if (d->viewChooserTabs->currentIndex() == -1) { + return nullptr; + } + + return d->viewChooserTabs->currentWidget(); +} + +void Sidebar::setSidebarVisibility(bool visible) +{ + d->sideContainer->setHidden(!visible); +} + +bool Sidebar::isSidebarVisible() const +{ + return !d->sideContainer->isHidden(); +} + +void Sidebar::moveSplitter(int sideWidgetSize) +{ + QList splitterSizeList = d->splitter->sizes(); + const int total = splitterSizeList.at(0) + splitterSizeList.at(1); + splitterSizeList.replace(0, total - sideWidgetSize); + splitterSizeList.replace(1, sideWidgetSize); + d->splitter->setSizes(splitterSizeList); +} + +QWidget *Sidebar::getSideContainer() const +{ + return d->sideContainer; +} + +void Sidebar::splitterMoved(int /*pos*/, int index) +{ + // if the side panel has been resized, save splitter sizes + if (index == 1) { + saveSplitterSize(); + } +} + +void Sidebar::saveSplitterSize() const +{ + Okular::Settings::setSplitterSizes(d->splitter->sizes()); + Okular::Settings::self()->save(); +} + +void Sidebar::dragEnterEvent(QDragEnterEvent *event) +{ + event->setAccepted(event->mimeData()->hasUrls()); +} + +void Sidebar::dropEvent(QDropEvent *event) +{ + const QList list = KUrlMimeData::urlsFromMimeData(event->mimeData()); + Q_EMIT urlsDropped(list); +} diff --git a/part/sidebar.h b/part/sidebar.h new file mode 100644 index 0000000..09661e4 --- /dev/null +++ b/part/sidebar.h @@ -0,0 +1,56 @@ +/* + SPDX-FileCopyrightText: 2007 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _SIDEBAR_H_ +#define _SIDEBAR_H_ + +#include "okularpart_export.h" +#include + +class QIcon; +class QListWidgetItem; + +class OKULARPART_EXPORT Sidebar : public QWidget +{ + Q_OBJECT +public: + explicit Sidebar(QWidget *parent = nullptr); + ~Sidebar() override; + + int addItem(QWidget *widget, const QIcon &icon, const QString &text); + + void setMainWidget(QWidget *widget); + void setBottomWidget(QWidget *widget); + + void setCurrentItem(QWidget *widget); + QWidget *currentItem() const; + + void setSidebarVisibility(bool visible); + bool isSidebarVisible() const; + + void moveSplitter(int sideWidgetSize); + + QWidget *getSideContainer() const; + +Q_SIGNALS: + void urlsDropped(const QList &urls); + +protected: + void dragEnterEvent(QDragEnterEvent *event) override; + void dropEvent(QDropEvent *event) override; + +private Q_SLOTS: + void splitterMoved(int pos, int index); + +private: + void saveSplitterSize() const; + + // private storage + class Private; + Private *d; +}; + +#endif diff --git a/part/signaturepanel.cpp b/part/signaturepanel.cpp new file mode 100644 index 0000000..f59e30e --- /dev/null +++ b/part/signaturepanel.cpp @@ -0,0 +1,144 @@ +/* + SPDX-FileCopyrightText: 2018 Chinmoy Ranjan Pradhan + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "signaturepanel.h" + +#include "gui/signaturemodel.h" +#include "pageview.h" +#include "revisionviewer.h" +#include "signaturepartutils.h" +#include "signaturepropertiesdialog.h" + +#include + +#include +#include + +#include +#include +#include +#include +#include + +#include "core/document.h" +#include "core/form.h" + +class SignaturePanelPrivate +{ +public: + Okular::Document *m_document; + const Okular::FormFieldSignature *m_currentForm; + QTreeView *m_view; + SignatureModel *m_model; + PageView *m_pageView; +}; + +SignaturePanel::SignaturePanel(Okular::Document *document, QWidget *parent) + : QWidget(parent) + , d_ptr(new SignaturePanelPrivate) +{ + Q_D(SignaturePanel); + + KTitleWidget *titleWidget = new KTitleWidget(this); + titleWidget->setLevel(4); + titleWidget->setText(i18n("Signatures")); + + d->m_view = new QTreeView(this); + d->m_view->setAlternatingRowColors(true); + d->m_view->setSelectionMode(QAbstractItemView::SingleSelection); + d->m_view->setContextMenuPolicy(Qt::CustomContextMenu); + d->m_view->header()->hide(); + + d->m_document = document; + d->m_model = new SignatureModel(d->m_document, this); + + d->m_view->setModel(d->m_model); + connect(d->m_view->selectionModel(), &QItemSelectionModel::currentChanged, this, &SignaturePanel::activated); + connect(d->m_view, &QTreeView::customContextMenuRequested, this, &SignaturePanel::slotShowContextMenu); + + auto vLayout = new QVBoxLayout(this); + vLayout->setSpacing(6); + + vLayout->addWidget(titleWidget); + vLayout->setAlignment(titleWidget, Qt::AlignHCenter); + vLayout->addWidget(d->m_view); +} + +void SignaturePanel::activated(const QModelIndex &index) +{ + Q_D(SignaturePanel); + d->m_currentForm = d->m_model->data(index, SignatureModel::FormRole).value(); + if (!d->m_currentForm) { + return; + } + const Okular::NormalizedRect nr = d->m_currentForm->rect(); + Okular::DocumentViewport vp; + vp.pageNumber = d->m_model->data(index, SignatureModel::PageRole).toInt(); + vp.rePos.enabled = true; + vp.rePos.pos = Okular::DocumentViewport::Center; + vp.rePos.normalizedX = (nr.right + nr.left) / 2.0; + vp.rePos.normalizedY = (nr.bottom + nr.top) / 2.0; + d->m_document->setViewport(vp, nullptr); + d->m_pageView->highlightSignatureFormWidget(d->m_currentForm); +} + +void SignaturePanel::slotShowContextMenu() +{ + Q_D(SignaturePanel); + if (!d->m_currentForm) { + return; + } + + QMenu *menu = new QMenu(this); + if (d->m_currentForm->signatureType() == Okular::FormFieldSignature::UnsignedSignature) { + QAction *signAction = new QAction(i18n("&Sign…"), menu); + connect(signAction, &QAction::triggered, this, &SignaturePanel::signUnsignedSignature); + menu->addAction(signAction); + } else { + QAction *sigProp = new QAction(i18n("Properties"), menu); + connect(sigProp, &QAction::triggered, this, &SignaturePanel::slotViewProperties); + menu->addAction(sigProp); + } + menu->exec(QCursor::pos()); + delete menu; +} + +void SignaturePanel::slotViewProperties() +{ + Q_D(SignaturePanel); + SignaturePropertiesDialog propDlg(d->m_document, d->m_currentForm, this); + propDlg.exec(); +} + +void SignaturePanel::signUnsignedSignature() +{ + Q_D(SignaturePanel); + SignaturePartUtils::signUnsignedSignature(d->m_currentForm, d->m_pageView, d->m_document); +} + +void SignaturePanel::notifySetup(const QList & /*pages*/, int setupFlags) +{ + if (!(setupFlags & Okular::DocumentObserver::UrlChanged)) { + return; + } + + Q_D(SignaturePanel); + const QList signatureForms = SignatureGuiUtils::getSignatureFormFields(d->m_document); + Q_EMIT documentHasSignatures(!signatureForms.isEmpty()); +} + +SignaturePanel::~SignaturePanel() +{ + Q_D(SignaturePanel); + d->m_document->removeObserver(this); + delete d->m_model; +} + +void SignaturePanel::setPageView(PageView *pv) +{ + Q_D(SignaturePanel); + d->m_pageView = pv; +} diff --git a/part/signaturepanel.h b/part/signaturepanel.h new file mode 100644 index 0000000..740b406 --- /dev/null +++ b/part/signaturepanel.h @@ -0,0 +1,50 @@ +/* + SPDX-FileCopyrightText: 2018 Chinmoy Ranjan Pradhan + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef OKULAR_SIGNATUREPANEL_H +#define OKULAR_SIGNATUREPANEL_H + +#include +#include + +#include "core/observer.h" + +namespace Okular +{ +class Document; +} + +class PageView; + +class SignaturePanelPrivate; + +class SignaturePanel : public QWidget, public Okular::DocumentObserver +{ + Q_OBJECT +public: + SignaturePanel(Okular::Document *document, QWidget *parent); + ~SignaturePanel() override; + + // inherited from DocumentObserver + void notifySetup(const QList &pages, int setupFlags) override; + + void setPageView(PageView *pv); + +Q_SIGNALS: + void documentHasSignatures(bool hasSignatures); + +private Q_SLOTS: + void activated(const QModelIndex &); + void slotShowContextMenu(); + void slotViewProperties(); + void signUnsignedSignature(); + +private: + Q_DECLARE_PRIVATE(SignaturePanel) + QScopedPointer d_ptr; +}; + +#endif diff --git a/part/signaturepartutils.cpp b/part/signaturepartutils.cpp new file mode 100644 index 0000000..72b9e27 --- /dev/null +++ b/part/signaturepartutils.cpp @@ -0,0 +1,322 @@ +/* + SPDX-FileCopyrightText: 2018 Chinmoy Ranjan Pradhan + SPDX-FileCopyrightText: 2023 g10 Code GmbH + SPDX-FileContributor: Sune Stolborg Vuorela + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "signaturepartutils.h" + +#include "signaturepartutilsimageitemdelegate.h" +#include "signaturepartutilskconfig.h" +#include "signaturepartutilskeydelegate.h" +#include "signaturepartutilsmodel.h" +#include "signaturepartutilsrecentimagesmodel.h" +#include "signingcertificatelistmodel.h" + +#include "core/document.h" +#include "core/form.h" +#include "core/page.h" +#include "pageview.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "ui_selectcertificatedialog.h" +#include +#include +#include +#include +namespace +{ +} + +namespace SignaturePartUtils +{ + +std::optional getCertificateAndPasswordForSigning(PageView *pageView, Okular::Document *doc, SigningInformationOptions opts) +{ + const Okular::CertificateStore *certStore = doc->certificateStore(); + bool userCancelled, nonDateValidCerts; + QList certs = certStore->signingCertificatesForNow(&userCancelled, &nonDateValidCerts); + if (userCancelled) { + return std::nullopt; + } + + if (certs.isEmpty()) { + pageView->showNoSigningCertificatesDialog(nonDateValidCerts); + return std::nullopt; + } + QString password; + QString documentPassword; + + SigningCertificateListModel certificateModelUnderlying(certs); + FilterSigningCertificateTypeListModel certificateModel; + certificateModel.setSourceModel(&certificateModelUnderlying); + bool showIcons = certificateModelUnderlying.hasIcons(); + int minWidth = certificateModelUnderlying.minWidth(); + auto config = KSharedConfig::openConfig(); + const QString lastNick = config->group(ConfigGroup()).readEntry(ConfigLastKeyNick(), QString()); + + SelectCertificateDialog dialog(pageView); + auto keyDelegate = new KeyDelegate(dialog.ui->list); + keyDelegate->showIcon = showIcons; + dialog.ui->list->setItemDelegate(keyDelegate); + QFontMetrics fm = dialog.fontMetrics(); + dialog.ui->list->setMinimumWidth(fm.averageCharWidth() * (minWidth + 5)); + dialog.ui->list->setModel(&certificateModel); + auto current = certificateModel.mapFromSource(certificateModelUnderlying.indexForNick(lastNick)); + if (current.isValid()) { + dialog.ui->list->setCurrentIndex(current); + } else { + dialog.ui->list->setCurrentIndex(dialog.ui->list->model()->index(0, 0)); + } + if (certificateModelUnderlying.types() == SignaturePartUtils::CertificateType::SMime) { + // Only one type of certificates, no need to show filters + for (int i = 0; i < dialog.ui->toggleTypes->count(); i++) { + auto item = dialog.ui->toggleTypes->itemAt(i); + if (auto w = item->widget()) { + w->hide(); + } + } + } else { + if (!certificateModelUnderlying.types().testFlag(SignaturePartUtils::CertificateType::QES)) { + dialog.ui->qesCertificates->hide(); + } + if (!certificateModelUnderlying.types().testFlag(SignaturePartUtils::CertificateType::PGP)) { + dialog.ui->pgpOption->hide(); + } + } + QObject::connect(dialog.ui->qesCertificates, &QAbstractButton::clicked, &dialog, [&certificateModel](bool checked) { + if (checked) { + certificateModel.setAllowedTypes(SignaturePartUtils::CertificateType::QES); + } + }); + QObject::connect(dialog.ui->pgpOption, &QAbstractButton::clicked, &dialog, [&certificateModel](bool checked) { + if (checked) { + certificateModel.setAllowedTypes(SignaturePartUtils::CertificateType::PGP); + } + }); + QObject::connect(dialog.ui->allCertificateOption, &QAbstractButton::clicked, &dialog, [&certificateModel](bool checked) { + if (checked) { + certificateModel.setAllowedTypes(SignaturePartUtils::CertificateType::None); + } + }); + if (certificateModel.rowCount() < 3) { + auto rowHeight = dialog.ui->list->sizeHintForRow(0); + dialog.ui->list->setFixedHeight(rowHeight * certificateModel.rowCount() + (certificateModel.rowCount() - 1) * dialog.ui->list->spacing() + dialog.ui->list->contentsMargins().top() + dialog.ui->list->contentsMargins().bottom()); + } + QObject::connect(dialog.ui->list->selectionModel(), &QItemSelectionModel::selectionChanged, &dialog, [dialog = &dialog](auto &&, auto &&) { + // One can ctrl-click on the selected item to deselect it, that would + // leave the selection empty, so better prevent the OK button + // from being usable + dialog->ui->buttonBox->button(QDialogButtonBox::Ok)->setEnabled(dialog->ui->list->selectionModel()->hasSelection()); + }); + + RecentImagesModel imagesModel; + if (!(opts & SigningInformationOption::BackgroundImage)) { + dialog.ui->backgroundInput->hide(); + dialog.ui->backgroundLabel->hide(); + dialog.ui->recentBackgrounds->hide(); + dialog.ui->recentLabel->hide(); + dialog.ui->backgroundButton->hide(); + } else { + dialog.ui->recentBackgrounds->setModel(&imagesModel); + dialog.ui->recentBackgrounds->setSelectionMode(QAbstractItemView::SingleSelection); + dialog.ui->recentBackgrounds->setItemDelegate(new ImageItemDelegate); + dialog.ui->recentBackgrounds->setViewMode(QListView::IconMode); + dialog.ui->recentBackgrounds->setDragEnabled(false); + dialog.ui->recentBackgrounds->setSpacing(3); + dialog.ui->recentBackgrounds->setContextMenuPolicy(Qt::CustomContextMenu); + QObject::connect(dialog.ui->recentBackgrounds, &QListView::activated, &dialog, [&lineEdit = dialog.ui->backgroundInput](const QModelIndex &idx) { lineEdit->setText(idx.data(Qt::DisplayRole).toString()); }); + const bool haveRecent = imagesModel.rowCount(QModelIndex()) != 0; + if (!haveRecent) { + dialog.ui->recentBackgrounds->hide(); + dialog.ui->recentLabel->hide(); + QObject::connect(&imagesModel, &QAbstractItemModel::rowsInserted, &dialog, [&dialog]() { + dialog.ui->recentBackgrounds->show(); + dialog.ui->recentLabel->show(); + }); + } + + QObject::connect(dialog.ui->backgroundInput, &QLineEdit::textChanged, &dialog, [recentModel = &imagesModel, selectionModel = dialog.ui->recentBackgrounds->selectionModel()](const QString &newText) { + recentModel->setFileSystemSelection(newText); + /*Update selection*/ + for (int row = 0; row < recentModel->rowCount(); row++) { + const auto index = recentModel->index(row, 0); + if (index.data().toString() == newText) { + selectionModel->select(index, QItemSelectionModel::ClearAndSelect); + break; + } + } + }); + // needs to happen after textChanged connection on backgroundInput + if (haveRecent) { + dialog.ui->backgroundInput->setText(imagesModel.index(0, 0).data().toString()); + } + + QObject::connect(dialog.ui->backgroundButton, &QPushButton::clicked, &dialog, [lineEdit = dialog.ui->backgroundInput]() { + const auto supportedFormats = QImageReader::supportedImageFormats(); + QString formats; + for (const auto &format : supportedFormats) { + if (!formats.isEmpty()) { + formats += QLatin1Char(' '); + } + formats += QStringLiteral("*.") + QString::fromUtf8(format); + } + const QString imageFormats = i18nc("file types in a file open dialog", "Images (%1)", formats); + const QString filename = QFileDialog::getOpenFileName(lineEdit, i18n("Select background image"), QDir::homePath(), imageFormats); + lineEdit->setText(filename); + }); + QObject::connect(dialog.ui->recentBackgrounds, &QWidget::customContextMenuRequested, &dialog, [recentModel = &imagesModel, view = dialog.ui->recentBackgrounds](QPoint pos) { + auto current = view->indexAt(pos); + QAction currentImage(i18n("Forget image")); + QAction allImages(i18n("Forget all images")); + QList actions; + if (current.isValid()) { + actions.append(¤tImage); + } + if (recentModel->rowCount() > 1 || actions.empty()) { + actions.append(&allImages); + } + const QAction *selected = QMenu::exec(actions, view->viewport()->mapToGlobal(pos), nullptr, view); + if (selected == ¤tImage) { + recentModel->removeItem(current.data(Qt::DisplayRole).toString()); + recentModel->saveBack(); + } else if (selected == &allImages) { + recentModel->clear(); + recentModel->saveBack(); + } + }); + } + dialog.ui->reasonInput->setText(config->group(ConfigGroup()).readEntry(ConfigLastReason(), QString())); + dialog.ui->locationInput->setText(config->group(ConfigGroup()).readEntry(ConfigLastLocation(), QString())); + auto result = dialog.exec(); + + if (result == QDialog::Rejected) { + return std::nullopt; + } + auto cert = dialog.ui->list->currentIndex().data(CertRole).value(); + auto backGroundImage = dialog.ui->backgroundInput->text(); + if (!backGroundImage.isEmpty()) { + if (QFile::exists(backGroundImage)) { + imagesModel.setFileSystemSelection(backGroundImage); + imagesModel.saveBack(); + } else { + // no need to send a nonworking image anywhere + backGroundImage.clear(); + } + } + + // I could not find any case in which i need to enter a password to use the certificate, seems that once you unlcok the firefox/NSS database + // you don't need a password anymore, but still there's code to do that in NSS so we have code to ask for it if needed. What we do is + // ask if the empty password is fine, if it is we don't ask the user anything, if it's not, we ask for a password + bool passok = cert.checkPassword(password); + while (!passok) { + const QString title = i18n("Enter password (if any) to unlock certificate: %1", cert.nickName()); + bool ok; + password = QInputDialog::getText(pageView, i18n("Enter certificate password"), title, QLineEdit::Password, QString(), &ok); + if (ok) { + passok = cert.checkPassword(password); + } else { + passok = false; + break; + } + } + if (!passok) { + return std::nullopt; + } + + if (doc->metaData(QStringLiteral("DocumentHasPassword")).toString() == QLatin1String("yes")) { + documentPassword = QInputDialog::getText(pageView, i18n("Enter document password"), i18n("Enter document password"), QLineEdit::Password, QString(), &passok); + } + + if (passok) { + config->group(ConfigGroup()).writeEntry(ConfigLastKeyNick(), cert.nickName()); + config->group(ConfigGroup()).writeEntry(ConfigLastReason(), dialog.ui->reasonInput->text()); + config->group(ConfigGroup()).writeEntry(ConfigLastLocation(), dialog.ui->locationInput->text()); + return SigningInformation {std::make_unique(std::move(cert)), password, documentPassword, dialog.ui->reasonInput->text(), dialog.ui->locationInput->text(), backGroundImage}; + } + return std::nullopt; +} + +QString getFileNameForNewSignedFile(PageView *pageView, Okular::Document *doc) +{ + QMimeDatabase db; + const QString typeName = doc->documentInfo().get(Okular::DocumentInfo::MimeType); + const QMimeType mimeType = db.mimeTypeForName(typeName); + const QString mimeTypeFilter = i18nc("File type name and pattern", "%1 (%2)", mimeType.comment(), mimeType.globPatterns().join(QLatin1Char(' '))); + + const QUrl currentFileUrl = doc->currentDocument(); + const QString localFilePathIfAny = currentFileUrl.isLocalFile() ? QFileInfo(currentFileUrl.toLocalFile()).canonicalPath() + QLatin1Char('/') : QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation); + const QString newFileName = localFilePathIfAny + getSuggestedFileNameForSignedFile(currentFileUrl.fileName(), mimeType.preferredSuffix()); + + return QFileDialog::getSaveFileName(pageView, i18n("Save Signed File As"), newFileName, mimeTypeFilter); +} + +void signUnsignedSignature(const Okular::FormFieldSignature *form, PageView *pageView, Okular::Document *doc) +{ + Q_ASSERT(form && form->signatureType() == Okular::FormFieldSignature::UnsignedSignature); + const std::optional signingInfo = getCertificateAndPasswordForSigning(pageView, doc, SigningInformationOption::None); + if (!signingInfo) { + return; + } + + Okular::NewSignatureData data; + data.setCertNickname(signingInfo->certificate->nickName()); + data.setCertSubjectCommonName(signingInfo->certificate->subjectInfo(Okular::CertificateInfo::CommonName, Okular::CertificateInfo::EmptyString::TranslatedNotAvailable)); + data.setPassword(signingInfo->certificatePassword); + data.setDocumentPassword(signingInfo->documentPassword); + data.setReason(signingInfo->reason); + data.setLocation(signingInfo->location); + + const QString newFilePath = getFileNameForNewSignedFile(pageView, doc); + + if (!newFilePath.isEmpty()) { + const std::pair success = form->sign(data, newFilePath); + switch (success.first) { + case Okular::SigningSuccess: { + Q_EMIT pageView->requestOpenNewlySignedFile(newFilePath, form->page()->number() + 1); + break; + } + case Okular::FieldAlreadySigned: // We should not end up here + case Okular::KeyMissing: // unless the user modified the key store after opening the dialog, this should not happen + case Okular::InternalSigningError: + KMessageBox::detailedError(pageView, errorString(success.first, static_cast(success.first)), success.second); + break; + case Okular::GenericSigningError: + KMessageBox::detailedError(pageView, errorString(success.first, newFilePath), success.second); + break; + case Okular::UserCancelled: + break; + case Okular::BadPassphrase: + KMessageBox::detailedError(pageView, errorString(success.first, {}), success.second); + break; + case Okular::SignatureWriteFailed: + KMessageBox::detailedError(pageView, errorString(success.first, newFilePath), success.second); + break; + } + } +} + +SelectCertificateDialog::SelectCertificateDialog(QWidget *parent) + : QDialog(parent) + , ui {std::make_unique()} +{ + ui->setupUi(this); +} +SelectCertificateDialog::~SelectCertificateDialog() = default; +} diff --git a/part/signaturepartutils.h b/part/signaturepartutils.h new file mode 100644 index 0000000..42fc66c --- /dev/null +++ b/part/signaturepartutils.h @@ -0,0 +1,77 @@ +/* + SPDX-FileCopyrightText: 2018 Chinmoy Ranjan Pradhan + SPDX-FileCopyrightText: 2023 g10 Code GmbH + SPDX-FileContributor: Sune Stolborg Vuorela + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef OKULAR_SIGNATUREPARTUTILS_H +#define OKULAR_SIGNATUREPARTUTILS_H + +#include +#include +#include +#include + +#include "gui/signatureguiutils.h" +#include + +class PageView; +class Ui_SelectCertificateDialog; + +namespace SignaturePartUtils +{ +struct SigningInformation { + std::unique_ptr certificate; + QString certificatePassword; + QString documentPassword; + QString reason; + QString location; + QString backgroundImagePath; +}; + +enum class SigningInformationOption { None = 0x0, BackgroundImage = 0x1 }; +Q_DECLARE_FLAGS(SigningInformationOptions, SigningInformationOption); +Q_DECLARE_OPERATORS_FOR_FLAGS(SigningInformationOptions); + +/** Retrieves signing information for this operation + \return nullopt on failure, otherwise information + */ +std::optional getCertificateAndPasswordForSigning(PageView *pageView, Okular::Document *doc, SigningInformationOptions opts); + +QString getFileNameForNewSignedFile(PageView *pageView, Okular::Document *doc); + +inline QString getSuggestedFileNameForSignedFile(const QString &orig, const QString &suffix) +{ + QFileInfo info(orig); + QString baseName; + if (info.suffix() == suffix) { + // we are in a basic plain situation with foo.pdf, or maybe foo-1.2.3.pdf + baseName = info.completeBaseName(); + } else if (auto completeBaseName = info.completeBaseName(); completeBaseName.endsWith(suffix)) { + // This could be a case of e.g. pdf.gz; we don't really write those + // so chop it off. + info = QFileInfo(completeBaseName); + baseName = info.completeBaseName(); + } else { + // Unsure what's going on here; maybe a pdf file with a weird or no extension. + baseName = info.completeBaseName(); + } + + return i18nc("Used when suggesting a new name for a digitally signed file. %1 is the old file name and %2 its extension", "%1_signed.%2", baseName, suffix); +} +void signUnsignedSignature(const Okular::FormFieldSignature *form, PageView *pageView, Okular::Document *doc); + +class SelectCertificateDialog : public QDialog +{ + Q_OBJECT +public: + std::unique_ptr ui; + ~SelectCertificateDialog() override; + + explicit SelectCertificateDialog(QWidget *parent); +}; +} + +#endif diff --git a/part/signaturepartutilsimageitemdelegate.cpp b/part/signaturepartutilsimageitemdelegate.cpp new file mode 100644 index 0000000..56fe604 --- /dev/null +++ b/part/signaturepartutilsimageitemdelegate.cpp @@ -0,0 +1,69 @@ +/* + SPDX-FileCopyrightText: 2023-2025 g10 Code GmbH + SPDX-FileContributor: Sune Stolborg Vuorela + + SPDX-License-Identifier: GPL-2.0-or-later +*/ +#include "signaturepartutilsimageitemdelegate.h" + +#include +#include +#include +#include + +namespace SignaturePartUtils +{ + +static QImage scaleAndFitCanvas(const QImage &input, const QSize expectedSize) +{ + if (input.size() == expectedSize) { + return input; + } + const auto scaled = input.scaled(expectedSize, Qt::KeepAspectRatio); + if (scaled.size() == expectedSize) { + return scaled; + } + QImage canvas(expectedSize, QImage::Format_ARGB32); + canvas.fill(Qt::transparent); + const auto scaledSize = scaled.size(); + QPoint topLeft((expectedSize.width() - scaledSize.width()) / 2, (expectedSize.height() - scaledSize.height()) / 2); + QPainter painter(&canvas); + painter.drawImage(topLeft, scaled); + return canvas; +} + +void ImageItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const +{ + auto style = option.widget ? option.widget->style() : QApplication::style(); + // This paints the background without initializing the + // styleoption from the actual index. Given we want default background + // and paint the foreground a bit later + // This accomplishes it quite nicely. + style->drawControl(QStyle::CE_ItemViewItem, &option, painter, option.widget); + const auto path = index.data(Qt::DisplayRole).value(); + + QImageReader reader(path); + const QSize imageSize = reader.size(); + if (!reader.size().isNull()) { + reader.setScaledSize(imageSize.scaled(option.rect.size(), Qt::KeepAspectRatio)); + } + const auto input = reader.read(); + if (!input.isNull()) { + const auto scaled = scaleAndFitCanvas(input, option.rect.size()); + painter->drawImage(option.rect.topLeft(), scaled); + } +} + +QSize ImageItemDelegate::sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const +{ + Q_UNUSED(index); + QSize defaultSize(10, 10); // let's start with a square + if (auto view = qobject_cast(option.styleObject)) { + auto frameRect = view->frameRect().size(); + frameRect.setWidth((frameRect.width() - view->style()->pixelMetric(QStyle::PM_ScrollBarExtent)) / 2 - 2 * view->frameWidth() - view->spacing()); + return defaultSize.scaled(frameRect, Qt::KeepAspectRatio); + } + return defaultSize; +} + +} // namespace SignaturePartUtils diff --git a/part/signaturepartutilsimageitemdelegate.h b/part/signaturepartutilsimageitemdelegate.h new file mode 100644 index 0000000..21199fc --- /dev/null +++ b/part/signaturepartutilsimageitemdelegate.h @@ -0,0 +1,25 @@ +/* + SPDX-FileCopyrightText: 2023-2025 g10 Code GmbH + SPDX-FileContributor: Sune Stolborg Vuorela + + SPDX-License-Identifier: GPL-2.0-or-later +*/ +#ifndef SIGNATUREPARTUTILS_IMAGEITEMDELEGATE_H +#define SIGNATUREPARTUTILS_IMAGEITEMDELEGATE_H + +#include + +namespace SignaturePartUtils +{ + +class ImageItemDelegate : public QStyledItemDelegate +{ + Q_OBJECT +public: + void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const override; + QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const override; +}; + +} // namespace SignaturePartUtils + +#endif // SIGNATUREPARTUTILS_IMAGEITEMDELEGATE_H diff --git a/part/signaturepartutilskconfig.h b/part/signaturepartutilskconfig.h new file mode 100644 index 0000000..7abef29 --- /dev/null +++ b/part/signaturepartutilskconfig.h @@ -0,0 +1,36 @@ +/* + SPDX-FileCopyrightText: 2023-2025 g10 Code GmbH + SPDX-FileContributor: Sune Stolborg Vuorela + + SPDX-License-Identifier: GPL-2.0-or-later +*/ +#ifndef SIGNATUREPARTUTILSKCONFIG_H +#define SIGNATUREPARTUTILSKCONFIG_H + +#include + +namespace SignaturePartUtils +{ +static inline QString ConfigGroup() +{ + return QStringLiteral("Signature"); +} +static inline QString ConfigBackgroundKey() +{ + return QStringLiteral("RecentBackgrounds"); +} +static inline QString ConfigLastReason() +{ + return QStringLiteral("Reason"); +} +static inline QString ConfigLastLocation() +{ + return QStringLiteral("Location"); +} +static inline QString ConfigLastKeyNick() +{ + return QStringLiteral("KeyNick"); +} +} + +#endif // SIGNATUREPARTUTILSKCONFIG_H diff --git a/part/signaturepartutilskeydelegate.cpp b/part/signaturepartutilskeydelegate.cpp new file mode 100644 index 0000000..2ce7be6 --- /dev/null +++ b/part/signaturepartutilskeydelegate.cpp @@ -0,0 +1,68 @@ +/* + SPDX-FileCopyrightText: 2023-2025 g10 Code GmbH + SPDX-FileContributor: Sune Stolborg Vuorela + + SPDX-License-Identifier: GPL-2.0-or-later +*/ +#include "signaturepartutilskeydelegate.h" + +#include "signaturepartutilsmodel.h" + +#include +#include +#include + +namespace SignaturePartUtils +{ + +QSize KeyDelegate::sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const +{ + auto baseSize = QStyledItemDelegate::sizeHint(option, index); + baseSize.setHeight(baseSize.height() * 2); + return baseSize; +} + +void KeyDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const +{ + auto style = option.widget ? option.widget->style() : QApplication::style(); + + // This paints the background without initializing the + // styleoption from the actual index. Given we want default background + // and paint the foreground a bit later + // This accomplishes it quite nicely. + style->drawControl(QStyle::CE_ItemViewItem, &option, painter, option.widget); + + QPalette::ColorGroup cg; + if (option.state & QStyle::State_Active) { + cg = QPalette::Normal; + } else { + cg = QPalette::Inactive; + } + + if (option.state & QStyle::State_Selected) { + painter->setPen(QPen {option.palette.brush(cg, QPalette::HighlightedText), 0}); + } else { + painter->setPen(QPen {option.palette.brush(cg, QPalette::Text), 0}); + } + + auto textRect = option.rect; + int textMargin = style->pixelMetric(QStyle::PM_FocusFrameHMargin, &option, option.widget) + 1; + textRect.adjust(textMargin, 0, -textMargin, 0); + + QRect topHalf {textRect.x(), textRect.y(), textRect.width(), textRect.height() / 2}; + QRect bottomHalf {textRect.x(), textRect.y() + textRect.height() / 2, textRect.width(), textRect.height() / 2}; + if (showIcon) { + topHalf.adjust(topHalf.height() + textMargin, 0, 0, 0); // make space for icon + } + + style->drawItemText(painter, topHalf, (option.displayAlignment & Qt::AlignVertical_Mask) | Qt::AlignLeft, option.palette, true, index.data(NameEmailDisplayRole).toString()); + style->drawItemText(painter, topHalf, (option.displayAlignment & Qt::AlignVertical_Mask) | Qt::AlignRight, option.palette, true, index.data(TypeRole).toString()); + style->drawItemText(painter, bottomHalf, (option.displayAlignment & Qt::AlignVertical_Mask) | Qt::AlignLeft, option.palette, true, index.data(NickDisplayRole).toString()); + if (showIcon) { + if (auto icon = index.data(Qt::DecorationRole).value(); !icon.isNull()) { + icon.paint(painter, QRect(option.rect.topLeft(), QSize(topHalf.height(), topHalf.height()))); + } + } +} + +} // namespace SignaturePartUtils diff --git a/part/signaturepartutilskeydelegate.h b/part/signaturepartutilskeydelegate.h new file mode 100644 index 0000000..4dbe972 --- /dev/null +++ b/part/signaturepartutilskeydelegate.h @@ -0,0 +1,26 @@ +/* + SPDX-FileCopyrightText: 2023-2025 g10 Code GmbH + SPDX-FileContributor: Sune Stolborg Vuorela + + SPDX-License-Identifier: GPL-2.0-or-later +*/ +#ifndef SIGNATUREPARTUTILS_KEYDELEGATE_H +#define SIGNATUREPARTUTILS_KEYDELEGATE_H + +#include + +namespace SignaturePartUtils +{ +class KeyDelegate : public QStyledItemDelegate +{ + Q_OBJECT +public: + using QStyledItemDelegate::QStyledItemDelegate; + void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const final; + QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const final; + bool showIcon = false; +}; + +} // namespace SignaturePartUtils + +#endif // SIGNATUREPARTUTILS_KEYDELEGATE_H diff --git a/part/signaturepartutilsmodel.h b/part/signaturepartutilsmodel.h new file mode 100644 index 0000000..8235094 --- /dev/null +++ b/part/signaturepartutilsmodel.h @@ -0,0 +1,21 @@ +/* + SPDX-FileCopyrightText: 2023-2025 g10 Code GmbH + SPDX-FileContributor: Sune Stolborg Vuorela + + SPDX-License-Identifier: GPL-2.0-or-later +*/ +#ifndef SIGNATUREPARTUTILSMODEL_H +#define SIGNATUREPARTUTILSMODEL_H + +#include + +namespace SignaturePartUtils +{ + +enum SignatureListRoles { NickRole = Qt::UserRole, NickDisplayRole, CommonNameRole, EmailRole, CertRole, NameEmailDisplayRole, TypeRole }; + +enum class CertificateType { None = 0x0, SMime = 0x1, QES = 0x2, PGP = 0x4 }; +Q_DECLARE_FLAGS(CertificateTypes, CertificateType) +} +Q_DECLARE_OPERATORS_FOR_FLAGS(SignaturePartUtils::CertificateTypes); +#endif // SIGNATUREPARTUTILSMODEL_H diff --git a/part/signaturepartutilsrecentimagesmodel.cpp b/part/signaturepartutilsrecentimagesmodel.cpp new file mode 100644 index 0000000..f552a80 --- /dev/null +++ b/part/signaturepartutilsrecentimagesmodel.cpp @@ -0,0 +1,129 @@ +/* + SPDX-FileCopyrightText: 2023-2025 g10 Code GmbH + SPDX-FileContributor: Sune Stolborg Vuorela + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "signaturepartutilsrecentimagesmodel.h" +#include "signaturepartutilskconfig.h" + +#include +#include + +#include + +namespace SignaturePartUtils +{ +RecentImagesModel::RecentImagesModel() +{ + const auto recentList = KSharedConfig::openConfig()->group(ConfigGroup()).readEntry(ConfigBackgroundKey(), QStringList()); + for (const auto &element : recentList) { + if (QFile::exists(element)) { // maybe the image has been removed from disk since last invocation + m_storedElements.push_back(element); + } + } +} + +QVariant RecentImagesModel::roleFromString(const QString &data, int role) const +{ + switch (role) { + case Qt::DisplayRole: + case Qt::ToolTipRole: + return data; + default: + return QVariant(); + } +} + +QVariant RecentImagesModel::data(const QModelIndex &index, int role) const +{ + Q_ASSERT(checkIndex(index, QAbstractItemModel::CheckIndexOption::IndexIsValid)); + int row = index.row(); + if (m_selectedFromFileSystem.has_value()) { + if (row == 0) { + return roleFromString(*m_selectedFromFileSystem, role); + } else { + row--; + } + } + if (row < m_storedElements.size()) { + return roleFromString(m_storedElements.at(row), role); + } + return QVariant(); +} + +int RecentImagesModel::rowCount(const QModelIndex &parent) const +{ + if (parent.isValid()) { + return 0; + } + return m_storedElements.size() + (m_selectedFromFileSystem.has_value() ? 1 : 0); +} + +void RecentImagesModel::setFileSystemSelection(const QString &selection) +{ + if (m_storedElements.contains(selection)) { + return; + } + if (selection.isEmpty()) { + if (!m_selectedFromFileSystem) { + return; + } + beginRemoveRows(QModelIndex(), 0, 0); + m_selectedFromFileSystem.reset(); + endRemoveRows(); + return; + } + if (!QFile::exists(selection)) { + return; + } + if (m_selectedFromFileSystem) { + m_selectedFromFileSystem = selection; + Q_EMIT dataChanged(index(0, 0), index(0, 0)); + } else { + beginInsertRows(QModelIndex(), 0, 0); + m_selectedFromFileSystem = selection; + endInsertRows(); + } +} + +void RecentImagesModel::clear() +{ + beginResetModel(); + m_selectedFromFileSystem = {}; + m_storedElements.clear(); + endResetModel(); +} + +void RecentImagesModel::removeItem(const QString &text) +{ + if (text == m_selectedFromFileSystem) { + beginRemoveRows(QModelIndex(), 0, 0); + m_selectedFromFileSystem.reset(); + endRemoveRows(); + return; + } + auto elementIndex = m_storedElements.indexOf(text); + auto beginRemove = elementIndex; + if (m_selectedFromFileSystem) { + beginRemove++; + } + beginRemoveRows(QModelIndex(), beginRemove, beginRemove); + m_storedElements.removeAt(elementIndex); + endRemoveRows(); +} + +void RecentImagesModel::saveBack() +{ + QStringList elementsToStore = m_storedElements; + if (m_selectedFromFileSystem) { + elementsToStore.push_front(*m_selectedFromFileSystem); + } + while (elementsToStore.size() > 3) { + elementsToStore.pop_back(); + } + KSharedConfig::openConfig()->group(ConfigGroup()).writeEntry(ConfigBackgroundKey(), elementsToStore); +} + +} // namespace SignaturePartUtils diff --git a/part/signaturepartutilsrecentimagesmodel.h b/part/signaturepartutilsrecentimagesmodel.h new file mode 100644 index 0000000..2842db4 --- /dev/null +++ b/part/signaturepartutilsrecentimagesmodel.h @@ -0,0 +1,34 @@ +/* + SPDX-FileCopyrightText: 2023-2025 g10 Code GmbH + SPDX-FileContributor: Sune Stolborg Vuorela + + SPDX-License-Identifier: GPL-2.0-or-later +*/ +#ifndef SIGNATUREPARTUTILS_RECENTIMAGESMODEL_H +#define SIGNATUREPARTUTILS_RECENTIMAGESMODEL_H + +#include + +namespace SignaturePartUtils +{ + +class RecentImagesModel : public QAbstractListModel +{ + Q_OBJECT +public: + RecentImagesModel(); + QVariant roleFromString(const QString &data, int role) const; + QVariant data(const QModelIndex &index, int role) const override; + int rowCount(const QModelIndex &parent = {}) const override; + void setFileSystemSelection(const QString &selection); + void clear(); + void removeItem(const QString &text); + void saveBack(); + +private: + std::optional m_selectedFromFileSystem; + QStringList m_storedElements; +}; +} // namespace SignaturePartUtils + +#endif // SIGNATUREPARTUTILS_RECENTIMAGESMODEL_H diff --git a/part/signaturepropertiesdialog.cpp b/part/signaturepropertiesdialog.cpp new file mode 100644 index 0000000..d5c4632 --- /dev/null +++ b/part/signaturepropertiesdialog.cpp @@ -0,0 +1,133 @@ +/* + SPDX-FileCopyrightText: 2018 Chinmoy Ranjan Pradhan + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "signaturepropertiesdialog.h" + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "core/document.h" +#include "core/form.h" + +#include "certificateviewer.h" +#include "gui/signatureguiutils.h" +#include "revisionviewer.h" + +#include "kleopatraintegration.h" + +static QString getValidDisplayString(const QString &str) +{ + return !str.isEmpty() ? str : i18n("Not Available"); +} + +SignaturePropertiesDialog::SignaturePropertiesDialog(Okular::Document *doc, const Okular::FormFieldSignature *form, QWidget *parent) + : QDialog(parent) + , m_doc(doc) + , m_signatureForm(form) +{ + setModal(true); + setWindowTitle(i18n("Signature Properties")); + + auto kleo = std::make_unique(doc); + + const Okular::SignatureInfo &signatureInfo = form->signatureInfo(); + const Okular::SignatureInfo::SignatureStatus signatureStatus = signatureInfo.signatureStatus(); + const QString readableSignatureStatus = SignatureGuiUtils::getReadableSignatureStatus(signatureStatus); + const QString modificationSummary = SignatureGuiUtils::getReadableModificationSummary(signatureInfo); + const QString signerName = getValidDisplayString(signatureInfo.signerName()); + const QString signingTime = getValidDisplayString(QLocale().toString(signatureInfo.signingTime(), QLocale::LongFormat)); + const QString signingLocation = getValidDisplayString(signatureInfo.location()); + const QString signingReason = signatureInfo.reason(); + + auto signatureStatusBox = new QGroupBox(i18n("Validity Status")); + auto signatureStatusFormLayout = new QFormLayout(signatureStatusBox); + signatureStatusFormLayout->setLabelAlignment(Qt::AlignLeft); + signatureStatusFormLayout->addRow(i18n("Signature Validity:"), new QLabel(readableSignatureStatus)); + signatureStatusFormLayout->addRow(i18n("Document Modifications:"), new QLabel(modificationSummary)); + + // additional information + auto extraInfoBox = new QGroupBox(i18n("Additional Information")); + auto extraInfoFormLayout = new QFormLayout(extraInfoBox); + extraInfoFormLayout->setLabelAlignment(Qt::AlignLeft); + extraInfoFormLayout->addRow(i18n("Signed By:"), new QLabel(signerName)); + extraInfoFormLayout->addRow(i18n("Signing Time:"), new QLabel(signingTime)); + if (!signingReason.isEmpty()) { + auto label = std::make_unique(signingReason); + label->setWordWrap(true); + extraInfoFormLayout->addRow(i18n("Reason:"), label.release()); + } + extraInfoFormLayout->addRow(i18n("Location:"), new QLabel(signingLocation)); + + // keep width of column 1 same + auto resizer = new KColumnResizer(this); + resizer->addWidgetsFromLayout(signatureStatusFormLayout->layout(), 0); + resizer->addWidgetsFromLayout(extraInfoFormLayout->layout(), 0); + + // document revision info + QGroupBox *revisionBox = nullptr; + if (signatureStatus != Okular::SignatureInfo::SignatureStatusUnknown && !signatureInfo.signsTotalDocument()) { + revisionBox = new QGroupBox(i18n("Document Version")); + auto revisionLayout = new QHBoxLayout(revisionBox); + const QList signatureFormFields = SignatureGuiUtils::getSignatureFormFields(m_doc); + revisionLayout->addWidget(new QLabel(i18nc("Document Revision of ", "Document Revision %1 of %2", signatureFormFields.indexOf(m_signatureForm) + 1, signatureFormFields.size()))); + revisionLayout->addStretch(); + auto revisionBtn = new QPushButton(i18n("View Signed Version…")); + connect(revisionBtn, &QPushButton::clicked, this, &SignaturePropertiesDialog::viewSignedVersion); + revisionLayout->addWidget(revisionBtn); + } + + // button box + auto btnBox = new QDialogButtonBox(QDialogButtonBox::Close, this); + auto certPropBtn = new QPushButton(i18n("View Certificate…")); + certPropBtn->setEnabled(!signatureInfo.certificateInfo().isNull()); + auto certManagerBtn = new QPushButton(i18n("View in Certificate Manager")); + certManagerBtn->setVisible(signatureInfo.certificateInfo().backend() == Okular::CertificateInfo::Backend::Gpg); + certManagerBtn->setEnabled(kleo->kleopatraIntegrationActive()); + if (!kleo->kleopatraIntegrationActive()) { + certManagerBtn->setToolTip(i18n("KDE Certificate Manager (kleopatra) not found")); + } + btnBox->addButton(certPropBtn, QDialogButtonBox::ActionRole); + btnBox->addButton(certManagerBtn, QDialogButtonBox::ActionRole); + connect(btnBox, &QDialogButtonBox::rejected, this, &SignaturePropertiesDialog::reject); + connect(certPropBtn, &QPushButton::clicked, this, &SignaturePropertiesDialog::viewCertificateProperties); + connect(certManagerBtn, &QPushButton::clicked, this, [this, kleo = std::move(kleo)]() { kleo->executeKeySearch(m_signatureForm->signatureInfo().certificateInfo().nickName(), window()->windowHandle()); }); + + auto mainLayout = new QVBoxLayout(this); + mainLayout->addWidget(signatureStatusBox); + mainLayout->addWidget(extraInfoBox); + if (revisionBox) { + mainLayout->addWidget(revisionBox); + } + mainLayout->addWidget(btnBox); + + resize(mainLayout->sizeHint()); +} + +void SignaturePropertiesDialog::viewCertificateProperties() +{ + CertificateViewer certViewer(m_signatureForm->signatureInfo().certificateInfo(), this); + certViewer.exec(); +} + +void SignaturePropertiesDialog::viewSignedVersion() +{ + const QByteArray data = m_doc->requestSignedRevisionData(m_signatureForm->signatureInfo()); + RevisionViewer revViewer(data, this); + revViewer.viewRevision(); +} + +#include "moc_signaturepropertiesdialog.cpp" diff --git a/part/signaturepropertiesdialog.h b/part/signaturepropertiesdialog.h new file mode 100644 index 0000000..3ec92ce --- /dev/null +++ b/part/signaturepropertiesdialog.h @@ -0,0 +1,34 @@ +/* + SPDX-FileCopyrightText: 2018 Chinmoy Ranjan Pradhan + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef OKULAR_SIGNATUREPROPERTIESDIALOG_H +#define OKULAR_SIGNATUREPROPERTIESDIALOG_H + +#include + +namespace Okular +{ +class Document; +class FormFieldSignature; +} + +class SignaturePropertiesDialog : public QDialog +{ + Q_OBJECT + +public: + SignaturePropertiesDialog(Okular::Document *doc, const Okular::FormFieldSignature *form, QWidget *parent = nullptr); + +public Q_SLOTS: + void viewSignedVersion(); + void viewCertificateProperties(); + +private: + Okular::Document *m_doc; + const Okular::FormFieldSignature *m_signatureForm; +}; + +#endif diff --git a/part/signingcertificatelistmodel.cpp b/part/signingcertificatelistmodel.cpp new file mode 100644 index 0000000..2b4283d --- /dev/null +++ b/part/signingcertificatelistmodel.cpp @@ -0,0 +1,154 @@ +#include "signingcertificatelistmodel.h" +#include +#include + +SigningCertificateListModel::SigningCertificateListModel(const QList &certs, QObject *parent) + : QAbstractListModel {parent} + , m_certs {certs} +{ + for (const auto &cert : m_certs) { + switch (cert.keyLocation()) { + case Okular::CertificateInfo::KeyLocation::Computer: + case Okular::CertificateInfo::KeyLocation::HardwareToken: + m_hasIcons = true; + break; + case Okular::CertificateInfo::KeyLocation::Unknown: + case Okular::CertificateInfo::KeyLocation::Other: + break; + } + if (cert.isQualified()) { + m_types |= SignaturePartUtils::CertificateType::QES; + } else if (cert.certificateType() == Okular::CertificateInfo::CertificateType::PGP) { + m_types |= SignaturePartUtils::CertificateType::PGP; + } else { + m_types |= SignaturePartUtils::CertificateType::SMime; + } + m_minWidth = std::max( + m_minWidth, + std::max(cert.nickName().size(), + cert.subjectInfo(Okular::CertificateInfo::EmailAddress, Okular::CertificateInfo::EmptyString::Empty).size() + cert.subjectInfo(Okular::CertificateInfo::CommonName, Okular::CertificateInfo::EmptyString::Empty).size())); + } + // this would mean an empty list and that code should not have been called + Q_ASSERT(m_types != SignaturePartUtils::CertificateType::None); +} + +bool SigningCertificateListModel::hasIcons() const +{ + return m_hasIcons; +} + +SignaturePartUtils::CertificateTypes SigningCertificateListModel::types() const +{ + return m_types; +} + +qsizetype SigningCertificateListModel::minWidth() const +{ + return m_minWidth; +} + +QModelIndex SigningCertificateListModel::indexForNick(const QString &nick) const +{ + for (qsizetype i = 0; i < m_certs.size(); i++) { + if (m_certs.at(i).nickName() == nick) { + return index(i); + } + } + return {}; +} + +int SigningCertificateListModel::rowCount(const QModelIndex &parent) const +{ + if (parent.isValid()) { + return 0; + } + return m_certs.size(); +} + +QVariant SigningCertificateListModel::data(const QModelIndex &index, int role) const +{ + if (!checkIndex(index, QAbstractItemModel::CheckIndexOption::IndexIsValid | QAbstractItemModel::CheckIndexOption::ParentIsInvalid)) { + return {}; + } + const Okular::CertificateInfo &cert = m_certs.at(index.row()); + switch (role) { + case SignaturePartUtils::CommonNameRole: + return cert.subjectInfo(Okular::CertificateInfo::CommonName, Okular::CertificateInfo::EmptyString::Empty); + case SignaturePartUtils::EmailRole: + return cert.subjectInfo(Okular::CertificateInfo::EmailAddress, Okular::CertificateInfo::EmptyString::Empty); + case SignaturePartUtils::NickRole: + return cert.nickName(); + case SignaturePartUtils::NickDisplayRole: { + QString nick = cert.nickName(); + + if (cert.backend() == Okular::CertificateInfo::Backend::Gpg) { + static const auto group4 = QRegularExpression(QStringLiteral("(....)")); + nick = nick.replace(group4, QStringLiteral("\\1 ")).trimmed(); + } + return nick; + } + case SignaturePartUtils::NameEmailDisplayRole: { + auto email = cert.subjectInfo(Okular::CertificateInfo::EmailAddress, Okular::CertificateInfo::EmptyString::Empty); + auto name = cert.subjectInfo(Okular::CertificateInfo::CommonName, Okular::CertificateInfo::EmptyString::Empty); + if (!email.isEmpty()) { + return QStringLiteral("%1 <%2>").arg(name, email); + } + return name; + } + case SignaturePartUtils::CertRole: + return QVariant::fromValue(cert); + case SignaturePartUtils::TypeRole: { + if (cert.isQualified()) { + return i18nc("Qualified electronic signature, see wikipedia", "Qualified"); + } + if (cert.certificateType() == Okular::CertificateInfo::CertificateType::PGP) { + return i18n("PGP"); + } + return {}; + } + case Qt::ToolTipRole: + return cert.subjectInfo(Okular::CertificateInfo::DistinguishedName, Okular::CertificateInfo::EmptyString::Empty); + case Qt::DecorationRole: + switch (cert.keyLocation()) { + case Okular::CertificateInfo::KeyLocation::Computer: + return QIcon::fromTheme(QStringLiteral("view-certificate")); + case Okular::CertificateInfo::KeyLocation::HardwareToken: + /* Better icon requested in https://bugs.kde.org/show_bug.cgi?id=428278*/ + return QIcon::fromTheme(QStringLiteral("auth-sim")); + case Okular::CertificateInfo::KeyLocation::Unknown: + case Okular::CertificateInfo::KeyLocation::Other: + return {}; + } + } + return {}; +} + +bool FilterSigningCertificateTypeListModel::filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const +{ + if (m_types == SignaturePartUtils::CertificateType::None) { + return true; + } + if (!sourceModel()) { + return false; + } + auto data = sourceModel()->index(sourceRow, 0, sourceParent); + if (!data.isValid()) { + return false; + } + auto cert = data.data(SignaturePartUtils::CertRole).value(); + if (m_types.testFlag(SignaturePartUtils::CertificateType::QES) && cert.isQualified()) { + return true; + } + if (m_types.testFlag(SignaturePartUtils::CertificateType::PGP) && cert.certificateType() == Okular::CertificateInfo::CertificateType::PGP) { + return true; + } + return false; +} + +void FilterSigningCertificateTypeListModel::setAllowedTypes(SignaturePartUtils::CertificateTypes types) +{ + if (types != m_types) { + m_types = types; + invalidateRowsFilter(); + } +} diff --git a/part/signingcertificatelistmodel.h b/part/signingcertificatelistmodel.h new file mode 100644 index 0000000..e87a928 --- /dev/null +++ b/part/signingcertificatelistmodel.h @@ -0,0 +1,43 @@ +#ifndef SIGNINGCERTIFICATELISTMODEL_H +#define SIGNINGCERTIFICATELISTMODEL_H + +#include "gui/signatureguiutils.h" +#include "signaturepartutilsmodel.h" +#include +#include + +class SigningCertificateListModel : public QAbstractListModel +{ + Q_OBJECT +public: + explicit SigningCertificateListModel(const QList &certs, QObject *parent = nullptr); + bool hasIcons() const; + QVariant data(const QModelIndex &index, int role) const override; + /** @returns the modelIndex for a given nick or invalid if no found*/ + QModelIndex indexForNick(const QString &nick) const; + int rowCount(const QModelIndex &parent = QModelIndex()) const override; + /** @return minWidth in character count needed to calculate size */ + qsizetype minWidth() const; + SignaturePartUtils::CertificateTypes types() const; + +private: + const QList m_certs; + bool m_hasIcons = false; + qsizetype m_minWidth = -1; + SignaturePartUtils::CertificateTypes m_types = SignaturePartUtils::CertificateType::None; +}; + +class FilterSigningCertificateTypeListModel : public QSortFilterProxyModel +{ + Q_OBJECT +public: + void setAllowedTypes(SignaturePartUtils::CertificateTypes types); + +protected: + bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const override; + +private: + SignaturePartUtils::CertificateTypes m_types = SignaturePartUtils::CertificateType::None; +}; + +#endif // SIGNINGCERTIFICATELISTMODEL_H diff --git a/part/snapshottaker.cpp b/part/snapshottaker.cpp new file mode 100644 index 0000000..18922f1 --- /dev/null +++ b/part/snapshottaker.cpp @@ -0,0 +1,45 @@ +/* + SPDX-FileCopyrightText: 2012 Tobias Koening + + SPDX-License-Identifier: GPL-2.0-or-later +*/ +#include "snapshottaker.h" + +#if HAVE_PHONON + +#include +#include + +#include + +SnapshotTaker::SnapshotTaker(const QUrl &url, QObject *parent) + : QObject(parent) + , m_player(new Phonon::VideoPlayer(Phonon::NoCategory, nullptr)) +{ + m_player->load(url); + m_player->hide(); + + connect(m_player->mediaObject(), &Phonon::MediaObject::stateChanged, this, &SnapshotTaker::stateChanged); + + m_player->play(); +} + +SnapshotTaker::~SnapshotTaker() +{ + m_player->stop(); + delete m_player; +} + +void SnapshotTaker::stateChanged(Phonon::State newState, Phonon::State) +{ + if (newState == Phonon::PlayingState) { + const QImage image = m_player->videoWidget()->snapshot(); + if (!image.isNull()) { + Q_EMIT finished(image); + } + + m_player->stop(); + deleteLater(); + } +} +#endif diff --git a/part/snapshottaker.h b/part/snapshottaker.h new file mode 100644 index 0000000..c429b76 --- /dev/null +++ b/part/snapshottaker.h @@ -0,0 +1,38 @@ +/* + SPDX-FileCopyrightText: 2012 Tobias Koening + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef SNAPSHOTTAKER_H +#define SNAPSHOTTAKER_H +#include "config-okular.h" + +#if HAVE_PHONON + +#include + +#include + +class QImage; + +class SnapshotTaker : public QObject +{ + Q_OBJECT + +public: + explicit SnapshotTaker(const QUrl &url, QObject *parent = nullptr); + ~SnapshotTaker() override; + +Q_SIGNALS: + void finished(const QImage &image); + +private Q_SLOTS: + void stateChanged(Phonon::State, Phonon::State); + +private: + Phonon::VideoPlayer *m_player; +}; + +#endif +#endif diff --git a/part/thumbnaillist.cpp b/part/thumbnaillist.cpp new file mode 100644 index 0000000..ea9a4a2 --- /dev/null +++ b/part/thumbnaillist.cpp @@ -0,0 +1,1024 @@ +/* + SPDX-FileCopyrightText: 2004-2006 Albert Astals Cid + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "thumbnaillist.h" + +// qt/kde includes +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include + +// local includes +#include "core/area.h" +#include "core/bookmarkmanager.h" +#include "core/document.h" +#include "core/generator.h" +#include "core/page.h" +#include "cursorwraphelper.h" +#include "gui/pagepainter.h" +#include "gui/priorities.h" +#include "settings.h" + +class ThumbnailWidget; + +ThumbnailsBox::ThumbnailsBox(QWidget *parent) + : QWidget(parent) +{ + QVBoxLayout *vbox = new QVBoxLayout(this); + vbox->setSpacing(0); + + KTitleWidget *titleWidget = new KTitleWidget(this); + titleWidget->setLevel(4); + titleWidget->setText(i18n("Thumbnails")); + vbox->addWidget(titleWidget); + vbox->setAlignment(titleWidget, Qt::AlignHCenter); +} + +QSize ThumbnailsBox::sizeHint() const +{ + return QSize(); +} + +class ThumbnailListPrivate : public QWidget +{ + Q_OBJECT +public: + ThumbnailListPrivate(ThumbnailList *qq, Okular::Document *document); + ~ThumbnailListPrivate() override; + + enum ChangePageDirection { Null, Left, Right, Up, Down }; + + ThumbnailList *q; + Okular::Document *m_document; + ThumbnailWidget *m_selected; + QTimer *m_delayTimer; + QPixmap m_bookmarkOverlay; + QList m_thumbnails; + QList m_visibleThumbnails; + int m_vectorIndex; + // Grabbing variables + QPoint m_mouseGrabPos; + ThumbnailWidget *m_mouseGrabItem; + int m_pageCurrentlyGrabbed; + + // resize thumbnails to fit the width + void viewportResizeEvent(QResizeEvent *); + // called by ThumbnailWidgets to send (forward) the mouse move signals + ChangePageDirection forwardTrack(const QPoint, const QSize); + + ThumbnailWidget *itemFor(const QPoint p) const; + void delayedRequestVisiblePixmaps(int delayMs = 0); + + // SLOTS: + // make requests for generating pixmaps for visible thumbnails + void slotRequestVisiblePixmaps(); + // delay timeout: resize overlays and requests pixmaps + void slotDelayTimeout(); + ThumbnailWidget *getPageByNumber(int page) const; + int getNewPageOffset(int n, ThumbnailListPrivate::ChangePageDirection dir) const; + ThumbnailWidget *getThumbnailbyOffset(int current, int offset) const; + +protected: + void mousePressEvent(QMouseEvent *e) override; + void mouseReleaseEvent(QMouseEvent *e) override; + void mouseMoveEvent(QMouseEvent *e) override; + void wheelEvent(QWheelEvent *e) override; + void contextMenuEvent(QContextMenuEvent *e) override; + void paintEvent(QPaintEvent *e) override; +}; + +// ThumbnailWidget represents a single thumbnail in the ThumbnailList +class ThumbnailWidget +{ +public: + ThumbnailWidget(ThumbnailListPrivate *parent, const Okular::Page *page); + + // set internal parameters to fit the page in the given width + void resizeFitWidth(int width); + // set thumbnail's selected state + void setSelected(bool selected); + // set the visible rect of the current page + void setVisibleRect(const Okular::NormalizedRect &rect); + + // query methods + int heightHint() const + { + return m_pixmapHeight + m_labelHeight + m_margin; + } + int pixmapWidth() const + { + return m_pixmapWidth; + } + int pixmapHeight() const + { + return m_pixmapHeight; + } + int pageNumber() const + { + return m_page->number(); + } + const Okular::Page *page() const + { + return m_page; + } + QRect visibleRect() const + { + return m_visibleRect.geometry(m_pixmapWidth, m_pixmapHeight); + } + + void paint(QPainter &p, const QRect clipRect); + + static int margin() + { + return m_margin; + } + + // simulating QWidget + QRect rect() const + { + return m_rect; + } + int height() const + { + return m_rect.height(); + } + int width() const + { + return m_rect.width(); + } + QPoint pos() const + { + return m_rect.topLeft(); + } + void move(int x, int y) + { + m_rect.setTopLeft(QPoint(x, y)); + } + void update() + { + m_parent->update(m_rect); + } + void update(const QRect rect) + { + m_parent->update(rect.translated(m_rect.topLeft())); + } + +private: + // the margin around the widget + static int const m_margin = 16; + + ThumbnailListPrivate *m_parent; + const Okular::Page *m_page; + bool m_selected; + int m_pixmapWidth, m_pixmapHeight; + int m_labelHeight, m_labelNumber; + Okular::NormalizedRect m_visibleRect; + QRect m_rect; +}; + +ThumbnailListPrivate::ThumbnailListPrivate(ThumbnailList *qq, Okular::Document *document) + : QWidget() + , q(qq) + , m_document(document) + , m_selected(nullptr) + , m_delayTimer(nullptr) + , m_vectorIndex(0) + , m_pageCurrentlyGrabbed(0) +{ + setMouseTracking(true); + m_mouseGrabItem = nullptr; +} + +ThumbnailWidget *ThumbnailListPrivate::getPageByNumber(int page) const +{ + QList::const_iterator tIt = m_thumbnails.constBegin(), tEnd = m_thumbnails.constEnd(); + for (; tIt != tEnd; ++tIt) { + if ((*tIt)->pageNumber() == page) { + return (*tIt); + } + } + return nullptr; +} + +ThumbnailListPrivate::~ThumbnailListPrivate() +{ +} + +ThumbnailWidget *ThumbnailListPrivate::itemFor(const QPoint p) const +{ + QList::const_iterator tIt = m_thumbnails.constBegin(), tEnd = m_thumbnails.constEnd(); + for (; tIt != tEnd; ++tIt) { + if ((*tIt)->rect().contains(p)) { + return (*tIt); + } + } + return nullptr; +} + +void ThumbnailListPrivate::paintEvent(QPaintEvent *e) +{ + QPainter painter(this); + QList::const_iterator tIt = m_thumbnails.constBegin(), tEnd = m_thumbnails.constEnd(); + for (; tIt != tEnd; ++tIt) { + QRect rect = e->rect().intersected((*tIt)->rect()); + if (!rect.isNull()) { + rect.translate(-(*tIt)->pos()); + painter.save(); + painter.translate((*tIt)->pos()); + (*tIt)->paint(painter, rect); + painter.restore(); + } + } +} + +/** ThumbnailList implementation **/ + +ThumbnailList::ThumbnailList(QWidget *parent, Okular::Document *document) + : QScrollArea(parent) + , d(new ThumbnailListPrivate(this, document)) +{ + setObjectName(QStringLiteral("okular::Thumbnails")); + // set scrollbars + setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); + setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn); + verticalScrollBar()->setEnabled(false); + + setAttribute(Qt::WA_StaticContents); + + viewport()->setBackgroundRole(QPalette::Base); + + setWidget(d); + // widget setup: can be focused by mouse click (not wheel nor tab) + widget()->setFocusPolicy(Qt::ClickFocus); + widget()->show(); + widget()->setBackgroundRole(QPalette::Base); + + connect(verticalScrollBar(), &QScrollBar::valueChanged, d, &ThumbnailListPrivate::slotRequestVisiblePixmaps); +} + +ThumbnailList::~ThumbnailList() +{ + d->m_document->removeObserver(this); +} + +// BEGIN DocumentObserver inherited methods +void ThumbnailList::notifySetup(const QList &pages, int setupFlags) +{ + // if there was a widget selected, save its pagenumber to restore + // its selection (if available in the new set of pages) + int prevPage = -1; + if (!(setupFlags & Okular::DocumentObserver::DocumentChanged) && d->m_selected) { + prevPage = d->m_selected->page()->number(); + } else { + prevPage = d->m_document->viewport().pageNumber; + } + + // delete all the Thumbnails + QList::const_iterator tIt = d->m_thumbnails.constBegin(), tEnd = d->m_thumbnails.constEnd(); + for (; tIt != tEnd; ++tIt) { + delete *tIt; + } + d->m_thumbnails.clear(); + d->m_visibleThumbnails.clear(); + d->m_selected = nullptr; + d->m_mouseGrabItem = nullptr; + + if (pages.count() < 1) { + widget()->resize(0, 0); + return; + } + + // show pages containing highlighted text or bookmarked ones + // RESTORE THIS int flags = Okular::Settings::filterBookmarks() ? Okular::Page::Bookmark : Okular::Page::Highlight; + + // if no page matches filter rule, then display all pages + bool skipCheck = true; + for (const Okular::Page *pIt : pages) { + // if ( (*pIt)->attributes() & flags ) + if (pIt->hasHighlights(SW_SEARCH_ID)) { + skipCheck = false; + } + } + + // generate Thumbnails for the given set of pages + const int width = viewport()->width(); + int height = 0; + int centerHeight = 0; + for (const Okular::Page *pIt : pages) { + // if ( skipCheck || (*pIt)->attributes() & flags ) + if (skipCheck || pIt->hasHighlights(SW_SEARCH_ID)) { + ThumbnailWidget *t = new ThumbnailWidget(d, pIt); + t->move(0, height); + // add to the internal queue + d->m_thumbnails.push_back(t); + // update total height (asking widget its own height) + t->resizeFitWidth(width); + // restoring the previous selected page, if any + if (pIt->number() < prevPage) { + centerHeight = height + t->height() + this->style()->layoutSpacing(QSizePolicy::Frame, QSizePolicy::Frame, Qt::Vertical) / 2; + } + if (pIt->number() == prevPage) { + d->m_selected = t; + d->m_selected->setSelected(true); + centerHeight = height + t->height() / 2; + } + height += t->height() + this->style()->layoutSpacing(QSizePolicy::Frame, QSizePolicy::Frame, Qt::Vertical); + } + } + + // update scrollview's contents size (sets scrollbars limits) + height -= this->style()->layoutSpacing(QSizePolicy::Frame, QSizePolicy::Frame, Qt::Vertical); + widget()->resize(width, height); + + // enable scrollbar when there's something to scroll + verticalScrollBar()->setEnabled(viewport()->height() < height); + verticalScrollBar()->setValue(centerHeight - viewport()->height() / 2); + + // request for thumbnail generation + d->delayedRequestVisiblePixmaps(200); +} + +void ThumbnailList::notifyCurrentPageChanged(int previousPage, int currentPage) +{ + Q_UNUSED(previousPage) + + // skip notifies for the current page (already selected) + if (d->m_selected && d->m_selected->pageNumber() == currentPage) { + return; + } + + // deselect previous thumbnail + if (d->m_selected) { + d->m_selected->setSelected(false); + } + d->m_selected = nullptr; + + // select the page with viewport and ensure it's centered in the view + d->m_vectorIndex = 0; + QList::const_iterator tIt = d->m_thumbnails.constBegin(), tEnd = d->m_thumbnails.constEnd(); + for (; tIt != tEnd; ++tIt) { + if ((*tIt)->pageNumber() == currentPage) { + d->m_selected = *tIt; + d->m_selected->setSelected(true); + if (Okular::Settings::syncThumbnailsViewport()) { + syncThumbnail(); + } + break; + } + d->m_vectorIndex++; + } +} + +void ThumbnailList::syncThumbnail() +{ + int yOffset = qMax(viewport()->height() / 4, d->m_selected->height() / 2); + ensureVisible(0, d->m_selected->pos().y() + d->m_selected->height() / 2, 0, yOffset); +} + +void ThumbnailList::notifyPageChanged(int pageNumber, int changedFlags) +{ + static const int interestingFlags = DocumentObserver::Pixmap | DocumentObserver::Bookmark | DocumentObserver::Highlights | DocumentObserver::Annotations; + // only handle change notifications we are interested in + if (!(changedFlags & interestingFlags)) { + return; + } + + // iterate over visible items: if page(pageNumber) is one of them, repaint it + QList::const_iterator vIt = d->m_visibleThumbnails.constBegin(), vEnd = d->m_visibleThumbnails.constEnd(); + for (; vIt != vEnd; ++vIt) { + if ((*vIt)->pageNumber() == pageNumber) { + (*vIt)->update(); + break; + } + } +} + +void ThumbnailList::notifyContentsCleared(int changedFlags) +{ + // if pixmaps were cleared, re-ask them + if (changedFlags & DocumentObserver::Pixmap) { + d->slotRequestVisiblePixmaps(); + } +} + +void ThumbnailList::notifyVisibleRectsChanged() +{ + const QList &visibleRects = d->m_document->visiblePageRects(); + QList::const_iterator tIt = d->m_thumbnails.constBegin(), tEnd = d->m_thumbnails.constEnd(); + QList::const_iterator vEnd = visibleRects.end(); + for (; tIt != tEnd; ++tIt) { + bool found = false; + QList::const_iterator vIt = visibleRects.begin(); + for (; (vIt != vEnd) && !found; ++vIt) { + if ((*tIt)->pageNumber() == (*vIt)->pageNumber) { + (*tIt)->setVisibleRect((*vIt)->rect); + found = true; + } + } + if (!found) { + (*tIt)->setVisibleRect(Okular::NormalizedRect()); + } + } +} + +bool ThumbnailList::canUnloadPixmap(int pageNumber) const +{ + // if the thumbnail 'pageNumber' is one of the visible ones, forbid unloading + QList::const_iterator vIt = d->m_visibleThumbnails.constBegin(), vEnd = d->m_visibleThumbnails.constEnd(); + for (; vIt != vEnd; ++vIt) { + if ((*vIt)->pageNumber() == pageNumber) { + return false; + } + } + // if hidden permit unloading + return true; +} +// END DocumentObserver inherited methods + +void ThumbnailList::updateWidgets() +{ + // Update all visible widgets + QList::const_iterator vIt = d->m_visibleThumbnails.constBegin(), vEnd = d->m_visibleThumbnails.constEnd(); + for (; vIt != vEnd; ++vIt) { + ThumbnailWidget *t = *vIt; + t->update(); + } +} + +int ThumbnailListPrivate::getNewPageOffset(int n, ThumbnailListPrivate::ChangePageDirection dir) const +{ + int reason = 1; + int facingFirst = 0; // facingFirstCentered cornercase + if (Okular::Settings::viewMode() == Okular::Settings::EnumViewMode::Facing) { + reason = 2; + } else if (Okular::Settings::viewMode() == Okular::Settings::EnumViewMode::FacingFirstCentered) { + facingFirst = 1; + reason = 2; + } else if (Okular::Settings::viewMode() == Okular::Settings::EnumViewMode::Summary) { + reason = 3; + } + if (dir == ThumbnailListPrivate::Up) { + if (facingFirst && n == 1) { + return -1; + } + return -reason; + } + if (dir == ThumbnailListPrivate::Down) { + return reason; + } + if (dir == ThumbnailListPrivate::Left && reason > 1 && (n + facingFirst) % reason) { + return -1; + } + if (dir == ThumbnailListPrivate::Right && reason > 1 && (n + 1 + facingFirst) % reason) { + return 1; + } + return 0; +} + +ThumbnailWidget *ThumbnailListPrivate::getThumbnailbyOffset(int current, int offset) const +{ + QList::const_iterator it = m_thumbnails.begin(); + QList::const_iterator itE = m_thumbnails.end(); + int idx = 0; + while (it != itE) { + if ((*it)->pageNumber() == current) { + break; + } + ++idx; + ++it; + } + if (it == itE) { + return nullptr; + } + idx += offset; + if (idx < 0 || idx >= m_thumbnails.size()) { + return nullptr; + } + return m_thumbnails[idx]; +} + +ThumbnailListPrivate::ChangePageDirection ThumbnailListPrivate::forwardTrack(const QPoint point, const QSize r) +{ + Okular::DocumentViewport vp = m_document->viewport(); + const double deltaX = (double)point.x() / r.width(), deltaY = (double)point.y() / r.height(); + vp.rePos.normalizedX -= deltaX; + vp.rePos.normalizedY -= deltaY; + if (vp.rePos.normalizedY > 1.0) { + return ThumbnailListPrivate::Down; + } + if (vp.rePos.normalizedY < 0.0) { + return ThumbnailListPrivate::Up; + } + if (vp.rePos.normalizedX > 1.0) { + return ThumbnailListPrivate::Right; + } + if (vp.rePos.normalizedX < 0.0) { + return ThumbnailListPrivate::Left; + } + vp.rePos.enabled = true; + m_document->setViewport(vp); + return ThumbnailListPrivate::Null; +} + +void ThumbnailList::slotFilterBookmarks(bool filterOn) +{ + // save state + Okular::Settings::setFilterBookmarks(filterOn); + Okular::Settings::self()->save(); + // ask for the 'notifySetup' with a little trick (on reinsertion the + // document sends the list again) + d->m_document->removeObserver(this); + d->m_document->addObserver(this); +} + +// BEGIN widget events +void ThumbnailList::keyPressEvent(QKeyEvent *keyEvent) +{ + if (d->m_thumbnails.count() < 1) { + keyEvent->ignore(); + return; + } + + int nextPage = -1; + if (keyEvent->key() == Qt::Key_Up) { + if (!d->m_selected) { + nextPage = 0; + } else if (d->m_vectorIndex > 0) { + nextPage = d->m_thumbnails[d->m_vectorIndex - 1]->pageNumber(); + } + } else if (keyEvent->key() == Qt::Key_Down) { + if (!d->m_selected) { + nextPage = 0; + } else if (d->m_vectorIndex < (int)d->m_thumbnails.count() - 1) { + nextPage = d->m_thumbnails[d->m_vectorIndex + 1]->pageNumber(); + } + } else if (keyEvent->key() == Qt::Key_PageUp) { + verticalScrollBar()->triggerAction(QScrollBar::SliderPageStepSub); + } else if (keyEvent->key() == Qt::Key_PageDown) { + verticalScrollBar()->triggerAction(QScrollBar::SliderPageStepAdd); + } else if (keyEvent->key() == Qt::Key_Home) { + nextPage = d->m_thumbnails[0]->pageNumber(); + } else if (keyEvent->key() == Qt::Key_End) { + nextPage = d->m_thumbnails[d->m_thumbnails.count() - 1]->pageNumber(); + } + + if (nextPage == -1) { + keyEvent->ignore(); + return; + } + + keyEvent->accept(); + if (d->m_selected) { + d->m_selected->setSelected(false); + } + d->m_selected = nullptr; + d->m_document->setViewportPage(nextPage); +} + +bool ThumbnailList::viewportEvent(QEvent *e) +{ + switch (e->type()) { + case QEvent::Resize: { + d->viewportResizeEvent(static_cast(e)); + break; + } + default:; + } + return QScrollArea::viewportEvent(e); +} + +void ThumbnailListPrivate::viewportResizeEvent(QResizeEvent *e) +{ + if (m_thumbnails.count() < 1 || width() < 1) { + return; + } + + // if width changed resize all the Thumbnails, reposition them to the + // right place and recalculate the contents area + if (e->size().width() != e->oldSize().width()) { + // runs the timer avoiding a thumbnail regeneration by 'contentsMoving' + delayedRequestVisiblePixmaps(2000); + + // resize and reposition items + const int newWidth = q->viewport()->width(); + int newHeight = 0; + QList::const_iterator tIt = m_thumbnails.constBegin(), tEnd = m_thumbnails.constEnd(); + for (; tIt != tEnd; ++tIt) { + ThumbnailWidget *t = *tIt; + t->move(0, newHeight); + t->resizeFitWidth(newWidth); + newHeight += t->height() + this->style()->layoutSpacing(QSizePolicy::Frame, QSizePolicy::Frame, Qt::Vertical); + } + + // update scrollview's contents size (sets scrollbars limits) + newHeight -= this->style()->layoutSpacing(QSizePolicy::Frame, QSizePolicy::Frame, Qt::Vertical); + const int oldHeight = q->widget()->height(); + const int oldYCenter = q->verticalScrollBar()->value() + q->viewport()->height() / 2; + q->widget()->resize(newWidth, newHeight); + + // enable scrollbar when there's something to scroll + q->verticalScrollBar()->setEnabled(q->viewport()->height() < newHeight); + + // ensure that what was visible before remains visible now + q->ensureVisible(0, int((qreal)oldYCenter * q->widget()->height() / oldHeight), 0, q->viewport()->height() / 2); + } else if (e->size().height() <= e->oldSize().height()) { + return; + } + + // invalidate the bookmark overlay + m_bookmarkOverlay = QPixmap {}; + + // update Thumbnails since width has changed or height has increased + delayedRequestVisiblePixmaps(500); +} +// END widget events + +// BEGIN internal SLOTS +void ThumbnailListPrivate::slotRequestVisiblePixmaps() +{ + // if an update is already scheduled or the widget is hidden, don't proceed + if ((m_delayTimer && m_delayTimer->isActive()) || q->isHidden()) { + return; + } + + // scroll from the top to the last visible thumbnail + m_visibleThumbnails.clear(); + QList requestedPixmaps; + QList::const_iterator tIt = m_thumbnails.constBegin(), tEnd = m_thumbnails.constEnd(); + const QRect viewportRect = q->viewport()->rect().translated(q->horizontalScrollBar()->value(), q->verticalScrollBar()->value()); + for (; tIt != tEnd; ++tIt) { + ThumbnailWidget *t = *tIt; + const QRect thumbRect = t->rect(); + if (!thumbRect.intersects(viewportRect)) { + continue; + } + // add ThumbnailWidget to visible list + m_visibleThumbnails.push_back(t); + // if pixmap not present add it to requests + if (!t->page()->hasPixmap(q, t->pixmapWidth(), t->pixmapHeight())) { + Okular::PixmapRequest *p = new Okular::PixmapRequest(q, t->pageNumber(), t->pixmapWidth(), t->pixmapHeight(), devicePixelRatioF(), THUMBNAILS_PRIO, Okular::PixmapRequest::Asynchronous); + requestedPixmaps.push_back(p); + } + } + + // actually request pixmaps + if (!requestedPixmaps.isEmpty()) { + m_document->requestPixmaps(requestedPixmaps); + } +} + +void ThumbnailListPrivate::slotDelayTimeout() +{ + // resize the bookmark overlay + const int expectedWidth = q->viewport()->width() / 4; + if (expectedWidth > 10) { + m_bookmarkOverlay = QPixmap(QIcon::fromTheme(QStringLiteral("bookmarks")).pixmap(expectedWidth)); + } else { + m_bookmarkOverlay = QPixmap {}; + } + + // request pixmaps + slotRequestVisiblePixmaps(); +} +// END internal SLOTS + +void ThumbnailListPrivate::delayedRequestVisiblePixmaps(int delayMs) +{ + if (!m_delayTimer) { + m_delayTimer = new QTimer(q); + m_delayTimer->setSingleShot(true); + connect(m_delayTimer, &QTimer::timeout, this, &ThumbnailListPrivate::slotDelayTimeout); + } + m_delayTimer->start(delayMs); +} + +/** ThumbnailWidget implementation **/ + +ThumbnailWidget::ThumbnailWidget(ThumbnailListPrivate *parent, const Okular::Page *page) + : m_parent(parent) + , m_page(page) + , m_selected(false) + , m_pixmapWidth(10) + , m_pixmapHeight(10) +{ + m_labelNumber = m_page->number() + 1; + m_labelHeight = QFontMetrics(m_parent->font()).height(); +} + +void ThumbnailWidget::resizeFitWidth(int width) +{ + m_pixmapWidth = width - m_margin; + m_pixmapHeight = qRound(m_page->ratio() * (double)m_pixmapWidth); + m_rect.setSize(QSize(width, heightHint())); +} + +void ThumbnailWidget::setSelected(bool selected) +{ + // update selected state + if (m_selected != selected) { + m_selected = selected; + update(); + } +} + +void ThumbnailWidget::setVisibleRect(const Okular::NormalizedRect &rect) +{ + if (rect == m_visibleRect) { + return; + } + + m_visibleRect = rect; + update(); +} + +void ThumbnailListPrivate::mousePressEvent(QMouseEvent *e) +{ + ThumbnailWidget *item = itemFor(e->pos()); + if (!item) { // mouse on the spacing between items + e->ignore(); + return; + } + + const QRect r = item->visibleRect(); + const int margin = ThumbnailWidget::margin(); + const QPoint p = e->pos() - item->pos(); + + if (e->button() != Qt::RightButton && r.contains(p - QPoint(margin / 2, margin / 2))) { + m_mouseGrabPos.setX(0); + m_mouseGrabPos.setY(0); + m_mouseGrabItem = item; + m_pageCurrentlyGrabbed = item->pageNumber(); + m_mouseGrabItem = item; + } else { + m_mouseGrabPos.setX(0); + m_mouseGrabPos.setY(0); + m_mouseGrabItem = nullptr; + } + + CursorWrapHelper::startDrag(); +} + +void ThumbnailListPrivate::mouseReleaseEvent(QMouseEvent *e) +{ + ThumbnailWidget *item = itemFor(e->pos()); + m_mouseGrabItem = item; + if (!item) { // mouse on the spacing between items + e->ignore(); + return; + } + + const QPoint p = e->pos() - item->pos(); + + // jump center of viewport to cursor if it wasn't dragged + if (m_mouseGrabPos.isNull()) { + Okular::DocumentViewport vp = Okular::DocumentViewport(item->pageNumber()); + vp.rePos.normalizedX = double(p.x()) / double(item->rect().width()); + vp.rePos.normalizedY = double(p.y()) / double(item->rect().height()); + vp.rePos.pos = Okular::DocumentViewport::Center; + vp.rePos.enabled = true; + m_document->setViewport(vp, nullptr, true); + } + setCursor(Qt::OpenHandCursor); + m_mouseGrabPos.setX(0); + m_mouseGrabPos.setY(0); +} + +void ThumbnailListPrivate::mouseMoveEvent(QMouseEvent *e) +{ + if (e->buttons() == Qt::NoButton) { + const ThumbnailWidget *item = itemFor(e->pos()); + if (!item) { // mouse on the spacing between items + e->ignore(); + return; + } + + QRect r = item->visibleRect(); + const int margin = ThumbnailWidget::margin(); + const QPoint p = e->pos() - item->pos(); + if (r.contains(p - QPoint(margin / 2, margin / 2))) { + setCursor(Qt::OpenHandCursor); + } else { + setCursor(Qt::ArrowCursor); + } + + e->ignore(); + return; + } + // no item under the mouse or previously selected + if (!m_mouseGrabItem) { + e->ignore(); + return; + } + const QRect r = m_mouseGrabItem->rect(); + if (!m_mouseGrabPos.isNull()) { + const QPoint mousePos = e->pos(); + const QPoint delta = m_mouseGrabPos - mousePos; + m_mouseGrabPos = e->pos(); + // don't handle the mouse move, forward it to the thumbnail list + ThumbnailListPrivate::ChangePageDirection direction; + if ((direction = forwardTrack(delta, r.size())) != ThumbnailListPrivate::Null) { + // Changing the selected page + const int offset = getNewPageOffset(m_pageCurrentlyGrabbed, direction); + const ThumbnailWidget *newThumb = getThumbnailbyOffset(m_pageCurrentlyGrabbed, offset); + if (!newThumb) { + return; + } + int newPageOn = newThumb->pageNumber(); + if (newPageOn == m_pageCurrentlyGrabbed || newPageOn < 0 || newPageOn >= (int)m_document->pages()) { + return; + } + Okular::DocumentViewport vp = m_document->viewport(); + const float origNormalX = vp.rePos.normalizedX; + const float origNormalY = vp.rePos.normalizedY; + vp = Okular::DocumentViewport(newPageOn); + vp.rePos.normalizedX = origNormalX; + vp.rePos.normalizedY = origNormalY; + if (direction == ThumbnailListPrivate::Up) { + vp.rePos.normalizedY = 1.0; + if (Okular::Settings::viewMode() == Okular::Settings::EnumViewMode::FacingFirstCentered && !newPageOn) { + if (m_pageCurrentlyGrabbed == 1) { + vp.rePos.normalizedX = origNormalX - 0.5; + } else { + vp.rePos.normalizedX = origNormalX + 0.5; + } + if (vp.rePos.normalizedX < 0.0) { + vp.rePos.normalizedX = 0.0; + } else if (vp.rePos.normalizedX > 1.0) { + vp.rePos.normalizedX = 1.0; + } + } + } else if (direction == ThumbnailListPrivate::Down) { + vp.rePos.normalizedY = 0.0; + if (Okular::Settings::viewMode() == Okular::Settings::EnumViewMode::FacingFirstCentered && !m_pageCurrentlyGrabbed) { + if (origNormalX < 0.5) { + vp = Okular::DocumentViewport(--newPageOn); + vp.rePos.normalizedX = origNormalX + 0.5; + } else { + vp.rePos.normalizedX = origNormalX - 0.5; + } + if (vp.rePos.normalizedX < 0.0) { + vp.rePos.normalizedX = 0.0; + } else if (vp.rePos.normalizedX > 1.0) { + vp.rePos.normalizedX = 1.0; + } + } + } else if (Okular::Settings::viewMode() != Okular::Settings::EnumViewMode::Single) { + if (direction == ThumbnailListPrivate::Left) { + vp.rePos.normalizedX = 1.0; + } else { + vp.rePos.normalizedX = 0.0; + } + } + vp.rePos.pos = Okular::DocumentViewport::Center; + vp.rePos.enabled = true; + m_document->setViewport(vp); + m_mouseGrabPos.setX(0); + m_mouseGrabPos.setY(0); + m_pageCurrentlyGrabbed = newPageOn; + m_mouseGrabItem = getPageByNumber(m_pageCurrentlyGrabbed); + } + + // Wrap mouse cursor + if (Okular::Settings::dragBeyondScreenEdges() && !CursorWrapHelper::wrapCursor(mousePos, Qt::TopEdge | Qt::BottomEdge).isNull()) { + m_mouseGrabPos.setX(0); + m_mouseGrabPos.setY(0); + } + } else { + setCursor(Qt::ClosedHandCursor); + m_mouseGrabPos = e->pos(); + } +} + +void ThumbnailListPrivate::wheelEvent(QWheelEvent *e) +{ + const ThumbnailWidget *item = itemFor(e->position().toPoint()); + if (!item) { // wheeling on the spacing between items + e->ignore(); + return; + } + + const QRect r = item->visibleRect(); + const int margin = ThumbnailWidget::margin(); + + Qt::Orientation orientation {qAbs(e->angleDelta().x()) > qAbs(e->angleDelta().y()) ? Qt::Horizontal : Qt::Vertical}; + + if (r.contains(e->position().toPoint() - QPoint(margin / 2, margin / 2)) && orientation == Qt::Vertical && e->modifiers() == Qt::ControlModifier) { + m_document->setZoom(e->angleDelta().y()); + } else { + e->ignore(); + } +} + +void ThumbnailListPrivate::contextMenuEvent(QContextMenuEvent *e) +{ + const ThumbnailWidget *item = itemFor(e->pos()); + if (item) { + Q_EMIT q->rightClick(item->page(), e->globalPos()); + } +} + +void ThumbnailWidget::paint(QPainter &p, const QRect _clipRect) +{ + const int itemWidth = m_pixmapWidth + m_margin; + QRect clipRect = _clipRect; + const QPalette pal = m_parent->palette(); + + // draw the bottom label + highlight mark + const QColor fillColor = m_selected ? pal.color(QPalette::Active, QPalette::Highlight) : pal.color(QPalette::Active, QPalette::Base); + p.fillRect(clipRect, fillColor); + p.setPen(m_selected ? pal.color(QPalette::Active, QPalette::HighlightedText) : pal.color(QPalette::Active, QPalette::Text)); + p.drawText(0, m_pixmapHeight + (m_margin - 3), itemWidth, m_labelHeight, Qt::AlignCenter, QString::number(m_labelNumber)); + + // draw page outline and pixmap + if (clipRect.top() < m_pixmapHeight + m_margin) { + // if page is bookmarked draw a colored border + const bool isBookmarked = m_parent->m_document->bookmarkManager()->isBookmarked(pageNumber()); + // draw the inner rect + p.setPen(isBookmarked ? QColor(0xFF8000) : Qt::black); + p.drawRect(m_margin / 2 - 1, m_margin / 2 - 1, m_pixmapWidth + 1, m_pixmapHeight + 1); + // draw the clear rect + p.setPen(isBookmarked ? QColor(0x804000) : pal.color(QPalette::Active, QPalette::Base)); + // draw the bottom and right shadow edges + if (!isBookmarked) { + int left, right, bottom, top; + left = m_margin / 2 + 1; + right = m_margin / 2 + m_pixmapWidth + 1; + bottom = m_pixmapHeight + m_margin / 2 + 1; + top = m_margin / 2 + 1; + p.setPen(Qt::gray); + p.drawLine(left, bottom, right, bottom); + p.drawLine(right, top, right, bottom); + } + + // draw the page using the shared PagePainter class + p.translate(m_margin / 2.0, m_margin / 2.0); + clipRect.translate(-m_margin / 2, -m_margin / 2); + clipRect = clipRect.intersected(QRect(0, 0, m_pixmapWidth, m_pixmapHeight)); + if (clipRect.isValid()) { + int flags = PagePainter::Accessibility | PagePainter::Highlights | PagePainter::Annotations; + PagePainter::paintPageOnPainter(&p, m_page, m_parent->q, flags, m_pixmapWidth, m_pixmapHeight, clipRect); + } + + if (!m_visibleRect.isNull()) { + p.save(); + p.setPen(QColor(255, 255, 0, 200)); + p.setBrush(QColor(0, 0, 0, 100)); + p.drawRect(m_visibleRect.geometry(m_pixmapWidth, m_pixmapHeight).adjusted(0, 0, -1, -1)); + p.restore(); + } + + // draw the bookmark overlay on the top-right corner + const QPixmap bookmarkPixmap = m_parent->m_bookmarkOverlay; + if (isBookmarked && !bookmarkPixmap.isNull()) { + int pixW = bookmarkPixmap.width(), pixH = bookmarkPixmap.height(); + clipRect = clipRect.intersected(QRect(m_pixmapWidth - pixW, 0, pixW, pixH)); + if (clipRect.isValid()) { + p.drawPixmap(m_pixmapWidth - pixW, -pixH / 8, bookmarkPixmap); + } + } + } +} + +/** ThumbnailsController implementation **/ + +#define FILTERB_ID 1 + +ThumbnailController::ThumbnailController(QWidget *parent, ThumbnailList *list) + : QToolBar(parent) +{ + setObjectName(QStringLiteral("ThumbsControlBar")); + // change toolbar appearance + setIconSize(QSize(16, 16)); + setMovable(false); + QSizePolicy sp = sizePolicy(); + sp.setVerticalPolicy(QSizePolicy::Minimum); + setSizePolicy(sp); + + // insert a togglebutton [show only bookmarked pages] + // insertSeparator(); + QAction *showBoomarkOnlyAction = addAction(QIcon::fromTheme(QStringLiteral("bookmarks")), i18n("Show bookmarked pages only")); + showBoomarkOnlyAction->setCheckable(true); + connect(showBoomarkOnlyAction, &QAction::toggled, list, &ThumbnailList::slotFilterBookmarks); + showBoomarkOnlyAction->setChecked(Okular::Settings::filterBookmarks()); + // insertLineSeparator(); +} + +#include "thumbnaillist.moc" + +/* kate: replace-tabs on; indent-width 4; */ diff --git a/part/thumbnaillist.h b/part/thumbnaillist.h new file mode 100644 index 0000000..0b34499 --- /dev/null +++ b/part/thumbnaillist.h @@ -0,0 +1,100 @@ +/* + SPDX-FileCopyrightText: 2004 Albert Astals Cid + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_THUMBNAILLIST_H_ +#define _OKULAR_THUMBNAILLIST_H_ + +#include +#include + +#include "core/observer.h" + +class ThumbnailListPrivate; + +namespace Okular +{ +class Document; +} + +/** + * @short A scrollview that displays page pixmap previews (aka thumbnails). + * + * ... + */ +class ThumbnailList : public QScrollArea, public Okular::DocumentObserver +{ + Q_OBJECT +public: + ThumbnailList(QWidget *parent, Okular::Document *document); + ~ThumbnailList() override; + + // inherited: create thumbnails ( inherited as a DocumentObserver ) + void notifySetup(const QList &pages, int setupFlags) override; + // inherited: hilihght current thumbnail ( inherited as DocumentObserver ) + void notifyCurrentPageChanged(int previous, int current) override; + // inherited: redraw thumbnail ( inherited as DocumentObserver ) + void notifyPageChanged(int pageNumber, int changedFlags) override; + // inherited: request all visible pixmap (due to a global change or so..) + void notifyContentsCleared(int changedFlags) override; + // inherited: the visible areas of the page have changed + void notifyVisibleRectsChanged() override; + // inherited: tell if pixmap is hidden and can be unloaded + bool canUnloadPixmap(int pageNumber) const override; + + // redraw visible widgets (useful for refreshing contents...) + void updateWidgets(); + + // show current page in Thumbnails view + void syncThumbnail(); + +public Q_SLOTS: + // these are connected to ThumbnailController buttons + void slotFilterBookmarks(bool filterOn); + +protected: + // scroll up/down the view + void keyPressEvent(QKeyEvent *keyEvent) override; + + // catch the viewport event and filter them if necessary + bool viewportEvent(QEvent *) override; + +Q_SIGNALS: + void rightClick(const Okular::Page *, const QPoint); + +private: + friend class ThumbnailListPrivate; + ThumbnailListPrivate *d; +}; + +/** + * @short A vertical boxed container with zero size hint (for insertion on left toolbox) + */ +class ThumbnailsBox : public QWidget +{ + Q_OBJECT + +public: + explicit ThumbnailsBox(QWidget *parent); + QSize sizeHint() const override; +}; + +/** + * @short A toolbar that sets ThumbnailList properties when clicking on items + * + * This class is the small toolbar that resides in the bottom of the + * ThumbnailsBox container (below ThumbnailList and the SearchLine) and + * emits signals whenever a button is pressed. A click action results + * in invoking some method (or slot) in ThumbnailList. + */ +class ThumbnailController : public QToolBar +{ + Q_OBJECT + +public: + ThumbnailController(QWidget *parent, ThumbnailList *thumbnailList); +}; + +#endif diff --git a/part/toc.cpp b/part/toc.cpp new file mode 100644 index 0000000..b067a0f --- /dev/null +++ b/part/toc.cpp @@ -0,0 +1,230 @@ +/* + SPDX-FileCopyrightText: 2004-2006 Albert Astals Cid + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "toc.h" + +// qt/kde includes +#include +#include +#include +#include +#include + +#include +#include +#include + +#include + +// local includes +#include "core/action.h" +#include "gui/tocmodel.h" +#include "ktreeviewsearchline.h" +#include "pageitemdelegate.h" +#include "settings.h" + +TOC::TOC(QWidget *parent, Okular::Document *document) + : QWidget(parent) + , m_document(document) +{ + QVBoxLayout *mainlay = new QVBoxLayout(this); + mainlay->setSpacing(6); + + KTitleWidget *titleWidget = new KTitleWidget(this); + titleWidget->setLevel(4); + titleWidget->setText(i18n("Contents")); + mainlay->addWidget(titleWidget); + mainlay->setAlignment(titleWidget, Qt::AlignHCenter); + m_searchLine = new KTreeViewSearchLine(this); + mainlay->addWidget(m_searchLine); + m_searchLine->setPlaceholderText(i18n("Search…")); + m_searchLine->setCaseSensitivity(Okular::Settings::self()->contentsSearchCaseSensitive() ? Qt::CaseSensitive : Qt::CaseInsensitive); + m_searchLine->setRegularExpression(Okular::Settings::self()->contentsSearchRegularExpression()); + connect(m_searchLine, &KTreeViewSearchLine::searchOptionsChanged, this, &TOC::saveSearchOptions); + + m_treeView = new QTreeView(this); + mainlay->addWidget(m_treeView); + m_model = new TOCModel(document, m_treeView); + m_treeView->setModel(m_model); + m_treeView->setSortingEnabled(false); + m_treeView->setRootIsDecorated(true); + m_treeView->setAlternatingRowColors(true); + m_treeView->setItemDelegate(new PageItemDelegate(m_treeView)); + m_treeView->header()->hide(); + m_treeView->setSelectionBehavior(QAbstractItemView::SelectRows); + connect(m_treeView, &QTreeView::clicked, this, &TOC::slotExecuted); + connect(m_treeView, &QTreeView::activated, this, &TOC::slotExecuted); + m_searchLine->setTreeView(m_treeView); +} + +TOC::~TOC() +{ + m_document->removeObserver(this); +} + +void TOC::notifySetup(const QList & /*pages*/, int setupFlags) +{ + if (!(setupFlags & Okular::DocumentObserver::DocumentChanged)) { + return; + } + + // clear contents + m_model->clear(); + + // request synopsis description (is a dom tree) + const Okular::DocumentSynopsis *syn = m_document->documentSynopsis(); + if (!syn) { + if (m_document->isOpened()) { + // Make sure we clear the reload old model data + m_model->setOldModelData(nullptr, QList()); + } + Q_EMIT hasTOC(false); + return; + } + + m_model->fill(syn); + Q_EMIT hasTOC(!m_model->isEmpty()); +} + +void TOC::notifyCurrentPageChanged(int, int) +{ + m_model->setCurrentViewport(m_document->viewport()); +} + +void TOC::prepareForReload() +{ + if (m_model->isEmpty()) { + return; + } + + const QList list = expandedNodes(); + TOCModel *m = m_model; + m_model = new TOCModel(m_document, m_treeView); + m_model->setOldModelData(m, list); + m->setParent(nullptr); +} + +void TOC::rollbackReload() +{ + if (!m_model->hasOldModelData()) { + return; + } + + TOCModel *m = m_model; + m_model = m->clearOldModelData(); + m_model->setParent(m_treeView); + delete m; +} + +void TOC::finishReload() +{ + m_treeView->setModel(m_model); + m_model->setParent(m_treeView); +} + +QList TOC::expandedNodes(const QModelIndex &parent) const +{ + QList list; + for (int i = 0; i < m_model->rowCount(parent); i++) { + const QModelIndex index = m_model->index(i, 0, parent); + if (m_treeView->isExpanded(index)) { + list << index; + } + if (m_model->hasChildren(index)) { + list << expandedNodes(index); + } + } + return list; +} + +void TOC::reparseConfig() +{ + m_searchLine->setCaseSensitivity(Okular::Settings::contentsSearchCaseSensitive() ? Qt::CaseSensitive : Qt::CaseInsensitive); + m_searchLine->setRegularExpression(Okular::Settings::contentsSearchRegularExpression()); + m_treeView->update(); +} + +void TOC::slotExecuted(const QModelIndex &index) +{ + if (!index.isValid()) { + return; + } + + QString url = m_model->urlForIndex(index); + if (!url.isEmpty()) { + Okular::BrowseAction action(QUrl::fromLocalFile(url)); + m_document->processAction(&action); + return; + } + + QString externalFileName = m_model->externalFileNameForIndex(index); + Okular::DocumentViewport viewport = m_model->viewportForIndex(index); + if (!externalFileName.isEmpty()) { + Okular::GotoAction action(externalFileName, viewport); + m_document->processAction(&action); + } else if (viewport.isValid()) { + m_document->setViewport(viewport); + } +} + +void TOC::saveSearchOptions() +{ + Okular::Settings::setContentsSearchRegularExpression(m_searchLine->regularExpression()); + Okular::Settings::setContentsSearchCaseSensitive(m_searchLine->caseSensitivity() == Qt::CaseSensitive ? true : false); + Okular::Settings::self()->save(); +} + +void TOC::contextMenuEvent(QContextMenuEvent *e) +{ + QModelIndex index = m_treeView->currentIndex(); + if (!index.isValid()) { + return; + } + + Okular::DocumentViewport viewport = m_model->viewportForIndex(index); + + Q_EMIT rightClick(viewport, e->globalPos(), m_model->data(index).toString()); +} + +void TOC::expandRecursively() +{ + QList worklist = {m_treeView->currentIndex()}; + if (!worklist[0].isValid()) { + return; + } + while (!worklist.isEmpty()) { + QModelIndex index = worklist.takeLast(); + m_treeView->expand(index); + for (int i = 0; i < m_model->rowCount(index); i++) { + worklist += m_model->index(i, 0, index); + } + } +} + +void TOC::collapseRecursively() +{ + QList worklist = {m_treeView->currentIndex()}; + if (!worklist[0].isValid()) { + return; + } + while (!worklist.isEmpty()) { + QModelIndex index = worklist.takeLast(); + m_treeView->collapse(index); + for (int i = 0; i < m_model->rowCount(index); i++) { + worklist += m_model->index(i, 0, index); + } + } +} + +void TOC::expandAll() +{ + m_treeView->expandAll(); +} + +void TOC::collapseAll() +{ + m_treeView->collapseAll(); +} diff --git a/part/toc.h b/part/toc.h new file mode 100644 index 0000000..0e21e6b --- /dev/null +++ b/part/toc.h @@ -0,0 +1,73 @@ +/* + SPDX-FileCopyrightText: 2004-2006 Albert Astals Cid + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_TOC_H_ +#define _OKULAR_TOC_H_ + +#include "core/document.h" +#include "core/observer.h" +#include +#include + +#include "okularpart_export.h" + +class QModelIndex; +class QTreeView; +class KTreeViewSearchLine; +class TOCModel; + +namespace Okular +{ +class Document; +class PartTest; +} + +class OKULARPART_EXPORT TOC : public QWidget, public Okular::DocumentObserver +{ + Q_OBJECT + friend class Okular::PartTest; + +public: + TOC(QWidget *parent, Okular::Document *document); + ~TOC() override; + + // inherited from DocumentObserver + void notifySetup(const QList &pages, int setupFlags) override; + void notifyCurrentPageChanged(int previous, int current) override; + + void reparseConfig(); + + void prepareForReload(); + void rollbackReload(); + void finishReload(); + +public Q_SLOTS: + void expandRecursively(); + void collapseRecursively(); + void expandAll(); + void collapseAll(); + +Q_SIGNALS: + void hasTOC(bool has); + void rightClick(const Okular::DocumentViewport &, const QPoint, const QString &); + +private Q_SLOTS: + void slotExecuted(const QModelIndex &); + void saveSearchOptions(); + +protected: + void contextMenuEvent(QContextMenuEvent *e) override; + +private: + QList expandedNodes(const QModelIndex &parent = QModelIndex()) const; + + Okular::Document *m_document; + QTreeView *m_treeView; + KTreeViewSearchLine *m_searchLine; + TOCModel *m_model; +}; + +#endif diff --git a/part/toggleactionmenu.cpp b/part/toggleactionmenu.cpp new file mode 100644 index 0000000..eeae519 --- /dev/null +++ b/part/toggleactionmenu.cpp @@ -0,0 +1,122 @@ +/* + SPDX-FileCopyrightText: 2019-2021 David Hurka + + Inspired by and replacing toolaction.h by: + SPDX-FileCopyrightText: 2004-2006 Albert Astals Cid + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "toggleactionmenu.h" + +#include +#include + +ToggleActionMenu::ToggleActionMenu(QObject *parent) + : ToggleActionMenu(QIcon(), QString(), parent) +{ +} + +ToggleActionMenu::ToggleActionMenu(const QString &text, QObject *parent) + : ToggleActionMenu(QIcon(), text, parent) +{ +} + +ToggleActionMenu::ToggleActionMenu(const QIcon &icon, const QString &text, QObject *parent) + : KActionMenu(icon, text, parent) + , m_defaultAction(nullptr) +{ + slotMenuChanged(); +} + +QWidget *ToggleActionMenu::createWidget(QWidget *parent) +{ + QWidget *buttonWidget = KActionMenu::createWidget(parent); + QToolButton *button = qobject_cast(buttonWidget); + if (!button) { + // This function is used to add a button into the toolbar. + // QWidgetAction::createWidget() is also called with other parents, + // e. g. when this ToggleActionMenu is added to a QMenu. + // Therefore, reaching this code path is a valid use case. + return buttonWidget; + } + + // BEGIN QToolButton hack + // Setting the default action of a QToolButton + // to an action of its menu() is tricky. + // Remove this menu action from the button, + // so it doesn't compose a menu of this menu action and its own menu. + button->removeAction(this); + // The button has lost the menu now, let it use the correct menu. + button->setMenu(menu()); + // END QToolButton hack + + m_buttons.append(button); + m_originalToolButtonStyle[button] = button->toolButtonStyle(); + + // Apply other properties to the button. + updateButtons(); + + return button; +} + +QAction *ToggleActionMenu::defaultAction() +{ + return m_defaultAction ? m_defaultAction : this; +} + +void ToggleActionMenu::setDefaultAction(QAction *action) +{ + if (action && menu()->actions().contains(action)) { + m_defaultAction = action; + } else { + m_defaultAction = nullptr; + } + updateButtons(); +} + +Qt::ToolButtonStyle ToggleActionMenu::styleFor(QToolButton *button) const +{ + Qt::ToolButtonStyle style = m_originalToolButtonStyle[button]; + + if (style == Qt::ToolButtonTextBesideIcon && priority() < QAction::NormalPriority) { + style = Qt::ToolButtonIconOnly; + } + + return style; +} + +void ToggleActionMenu::updateButtons() +{ + for (QToolButton *button : std::as_const(m_buttons)) { + if (button) { + button->setDefaultAction(this->defaultAction()); + // If *this action* is low priority we need to tell the button + // so that it hides the text + button->setToolButtonStyle(styleFor(button)); + + button->setPopupMode(popupMode()); + } + } +} + +bool ToggleActionMenu::eventFilter(QObject *watched, QEvent *event) +{ + // If the defaultAction() is removed from the menu, reset the default action. + if (watched == menu() && event->type() == QEvent::ActionRemoved) { + QActionEvent *actionEvent = static_cast(event); + if (actionEvent->action() == defaultAction()) { + setDefaultAction(nullptr); + } + } + + return KActionMenu::eventFilter(watched, event); +} + +void ToggleActionMenu::slotMenuChanged() +{ + menu()->installEventFilter(this); + // Not removing old event filter, because we would need to remember the old menu. +} + +#include "moc_toggleactionmenu.cpp" diff --git a/part/toggleactionmenu.h b/part/toggleactionmenu.h new file mode 100644 index 0000000..54eabb9 --- /dev/null +++ b/part/toggleactionmenu.h @@ -0,0 +1,117 @@ +/* + SPDX-FileCopyrightText: 2019-2021 David Hurka + + Inspired by and replacing toolaction.h by: + SPDX-FileCopyrightText: 2004-2006 Albert Astals Cid + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef TOGGLEACTIONMENU_H +#define TOGGLEACTIONMENU_H + +#include +#include +#include +#include + +/** + * @brief A KActionMenu, which allows to set the default action of its toolbar buttons. + * + * This behaves like a KActionMenu, with the addition of setDefaultAction(). + * + * @par Intention + * Setting the default action of toolbar buttons has the advantage that the user + * can trigger a frequently used action directly without opening the menu. + * Additionally, the state of the default action is visible in the toolbar. + * + * @par Example + * You can make the toolbar button show the last used action with only one connection. + * You may want to initialize the default action. + * \code + * if (myToggleActionMenu->defaultAction() == myToggleActionMenu) { + * myToggleActionMenu->setDefaultAction(myFirstAction); + * } + * connect(myToggleActionMenu->menu(), &QMenu::triggered, + * myToggleActionMenu, &ToggleActionMenu::setDefaultAction); + * \endcode + */ +class ToggleActionMenu : public KActionMenu +{ + Q_OBJECT + +public: + explicit ToggleActionMenu(QObject *parent); + ToggleActionMenu(const QString &text, QObject *parent); + /** + * Constructs an empty ToggleActionMenu. + * + * @param icon The icon of this menu, when plugged into another menu. + * @param text The name of this menu, when plugged into another menu. + * @param parent Parent @c QOject. + */ + ToggleActionMenu(const QIcon &icon, const QString &text, QObject *parent); + + QWidget *createWidget(QWidget *parent) override; + + /** + * Returns the current default action of the toolbar buttons. + * May be @c this. + * + * This action is set by setDefaultAction(). + */ + QAction *defaultAction(); + +public Q_SLOTS: + /** + * Sets the default action of the toolbar buttons. + * + * Toolbar buttons are updated immediately. + * + * Calling setDefaultAction(nullptr) will reset the default action + * to this menu itself. + * + * @note + * @p action must be present in the menu as direct child action. + * The default action will be reset to this menu itself + * when @p action is removed from the menu. + * + * @note + * @p action will define all properties of the toolbar buttons. + * When you disable @p action, the toolbar button will become disabled too. + * Then the menu can no longer be accessed. + */ + void setDefaultAction(QAction *action); + +protected: + /** Can store @c nullptr, which means this menu itself will be the default action. */ + QPointer m_defaultAction; + QList> m_buttons; + + QHash m_originalToolButtonStyle; + + /** + * Returns the aproppriate style for @p button. + * Respects both toolbar settings and settings for this menu action. + */ + Qt::ToolButtonStyle styleFor(QToolButton *button) const; + + /** + * Updates the toolbar buttons by setting the current defaultAction() on them. + * + * (If the current defaultAction() is invalid, `this` is used instead.) + */ + void updateButtons(); + + /** + * Updates the event filter, which listens to QMenu’s QActionEvent. + * + * This is connected to QAction::changed(). + * That signal is emmited when the menu changes, but that’s not documented. + */ + void slotMenuChanged(); + + bool eventFilter(QObject *watched, QEvent *event) override; +}; + +#endif // TOGGLEACTIONMENU_H diff --git a/part/tts.cpp b/part/tts.cpp new file mode 100644 index 0000000..33c3934 --- /dev/null +++ b/part/tts.cpp @@ -0,0 +1,126 @@ +/* + SPDX-FileCopyrightText: 2008 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "tts.h" + +#include + +#include + +#include "settings.h" + +/* Private storage. */ +class OkularTTS::Private +{ +public: + explicit Private(OkularTTS *qq) + : q(qq) + , speech(new QTextToSpeech(Okular::Settings::ttsEngine())) + { + const QList voices = speech->availableVoices(); + QString voiceName = Okular::Settings::ttsVoice(); + for (const QVoice &voice : voices) { + if (voice.name() == voiceName) { + speech->setVoice(voice); + } + } + } + + ~Private() + { + delete speech; + speech = nullptr; + } + + OkularTTS *q; + QTextToSpeech *speech; + // Which speech engine was used when above object was created. + // When the setting changes, we need to stop speaking and recreate. + QString speechEngine; + Q_DISABLE_COPY(Private) +}; + +OkularTTS::OkularTTS(QObject *parent) + : QObject(parent) + , d(new Private(this)) +{ + // Initialize speechEngine so we can reinitialize if it changes. + d->speechEngine = Okular::Settings::ttsEngine(); + connect(d->speech, &QTextToSpeech::stateChanged, this, &OkularTTS::slotSpeechStateChanged); + connect(Okular::Settings::self(), &KCoreConfigSkeleton::configChanged, this, &OkularTTS::slotConfigChanged); +} + +OkularTTS::~OkularTTS() +{ + delete d; +} + +void OkularTTS::say(const QString &text) +{ + if (text.isEmpty()) { + return; + } + + d->speech->say(text); +} + +void OkularTTS::stopAllSpeechs() +{ + if (!d->speech) { + return; + } + + d->speech->stop(); +} + +void OkularTTS::pauseResumeSpeech() +{ + if (!d->speech) { + return; + } + + if (d->speech->state() == QTextToSpeech::Speaking) { + d->speech->pause(); + } else { + d->speech->resume(); + } +} + +void OkularTTS::slotSpeechStateChanged(QTextToSpeech::State state) +{ + if (state == QTextToSpeech::Speaking) { + Q_EMIT isSpeaking(true); + Q_EMIT canPauseOrResume(true); + } else { + Q_EMIT isSpeaking(false); + if (state == QTextToSpeech::Paused) { + Q_EMIT canPauseOrResume(true); + } else { + Q_EMIT canPauseOrResume(false); + } + } +} + +void OkularTTS::slotConfigChanged() +{ + const QString engine = Okular::Settings::ttsEngine(); + const QString voiceName = Okular::Settings::ttsVoice(); + if (engine != d->speechEngine) { + d->speech->stop(); + delete d->speech; + d->speech = new QTextToSpeech(engine); + connect(d->speech, &QTextToSpeech::stateChanged, this, &OkularTTS::slotSpeechStateChanged); + d->speechEngine = engine; + } + + const QList voices = d->speech->availableVoices(); + for (const QVoice &voice : voices) { + if (voice.name() == voiceName) { + d->speech->setVoice(voice); + break; + } + } +} diff --git a/part/tts.h b/part/tts.h new file mode 100644 index 0000000..7bfdb4a --- /dev/null +++ b/part/tts.h @@ -0,0 +1,38 @@ +/* + SPDX-FileCopyrightText: 2008 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _TTS_H_ +#define _TTS_H_ + +#include +#include + +class OkularTTS : public QObject +{ + Q_OBJECT +public: + explicit OkularTTS(QObject *parent = nullptr); + ~OkularTTS() override; + + void say(const QString &text); + void stopAllSpeechs(); + void pauseResumeSpeech(); + +public Q_SLOTS: + void slotSpeechStateChanged(QTextToSpeech::State state); + void slotConfigChanged(); + +Q_SIGNALS: + void isSpeaking(bool speaking); + void canPauseOrResume(bool speakingOrPaused); + +private: + // private storage + class Private; + Private *d; +}; + +#endif diff --git a/part/url_utils.h b/part/url_utils.h new file mode 100644 index 0000000..9abf928 --- /dev/null +++ b/part/url_utils.h @@ -0,0 +1,40 @@ +/* + SPDX-FileCopyrightText: 2013 Jaydeep Solanki + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef URL_UTILS_H +#define URL_UTILS_H + +#include +#include + +namespace UrlUtils +{ +QString getUrl(QString txt) +{ + // match the url + static QRegularExpression reg(QStringLiteral("\\b((https?|ftp)://(www\\d{0,3}[.])?[\\S]+)|((www\\d{0,3}[.])[\\S]+)")); + // blocks from detecting invalid urls + static QRegularExpression reg1(QStringLiteral("[\\w'\"\\(\\)]+https?://|[\\w'\"\\(\\)]+ftp://|[\\w'\"\\(\\)]+www\\d{0,3}[.]")); + txt = txt.remove(QLatin1Char('\n')); + + if (reg1.match(txt).hasMatch()) { // return early if there is a match (url is not valid) + return QString(); + } + + QRegularExpressionMatch match = reg.match(txt); + QString url = match.captured(); + if (match.hasMatch() && QUrl(url).isValid()) { + if (url.startsWith(QLatin1String("www"))) { + url.prepend(QLatin1String("http://")); + } + return url; + } + + return QString(); +} +} + +#endif diff --git a/part/videowidget.cpp b/part/videowidget.cpp new file mode 100644 index 0000000..3c9427e --- /dev/null +++ b/part/videowidget.cpp @@ -0,0 +1,517 @@ +/* + SPDX-FileCopyrightText: 2008 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "videowidget.h" + +// qt/kde includes +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include "config-okular.h" + +#if HAVE_PHONON +#include +#include +#include +#endif + +#include "core/annotations.h" +#include "core/area.h" +#include "core/document.h" +#include "core/movie.h" +#include "snapshottaker.h" + +#if HAVE_PHONON + +static QAction *createToolBarButtonWithWidgetPopup(QToolBar *toolBar, QWidget *widget, const QIcon &icon) +{ + QToolButton *button = new QToolButton(toolBar); + QAction *action = toolBar->addWidget(button); + button->setAutoRaise(true); + button->setIcon(icon); + button->setPopupMode(QToolButton::InstantPopup); + QMenu *menu = new QMenu(button); + button->setMenu(menu); + QWidgetAction *widgetAction = new QWidgetAction(menu); + QWidget *dummy = new QWidget(menu); + widgetAction->setDefaultWidget(dummy); + QVBoxLayout *dummyLayout = new QVBoxLayout(dummy); + dummyLayout->setContentsMargins(5, 5, 5, 5); + dummyLayout->addWidget(widget); + menu->addAction(widgetAction); + return action; +} + +/* Private storage. */ +class VideoWidget::Private +{ +public: + Private(Okular::Movie *m, Okular::Document *doc, VideoWidget *qq) + : q(qq) + , movie(m) + , document(doc) + { + } + + ~Private() + { + if (player) { + player->stop(); + } + } + + enum PlayPauseMode { PlayMode, PauseMode }; + + void load(); + void setupPlayPauseAction(PlayPauseMode mode); + void setPosterImage(const QImage &); + void takeSnapshot(); + void videoStopped(); + void stateChanged(Phonon::State newState); + + // slots + void finished(); + void playOrPause(); + + VideoWidget *q; + Okular::Movie *movie; + Okular::Document *document; + Okular::NormalizedRect geom; + Phonon::VideoPlayer *player = nullptr; + Phonon::SeekSlider *seekSlider = nullptr; + QToolBar *controlBar = nullptr; + QAction *playPauseAction = nullptr; + QAction *stopAction = nullptr; + QAction *seekSliderAction = nullptr; + QAction *seekSliderMenuAction = nullptr; + QStackedLayout *pageLayout = nullptr; + QLabel *posterImagePage = nullptr; + bool loaded : 1 = false; + double repetitionsLeft = 0; +}; + +static QUrl urlFromUrlString(const QString &url, Okular::Document *document) +{ + QUrl newurl; + if (url.startsWith(QLatin1Char('/'))) { + newurl = QUrl::fromLocalFile(url); + } else { + newurl = QUrl(url); + if (newurl.isRelative()) { + newurl = document->currentDocument().adjusted(QUrl::RemoveFilename); + newurl.setPath(newurl.path() + url); + } + } + return newurl; +} + +void VideoWidget::Private::load() +{ + repetitionsLeft = movie->playRepetitions(); + if (loaded) { + return; + } + + loaded = true; + + player->load(urlFromUrlString(movie->url(), document)); + + connect(player->mediaObject(), &Phonon::MediaObject::stateChanged, q, [this](Phonon::State s) { stateChanged(s); }); + + seekSlider->setEnabled(true); +} + +void VideoWidget::Private::setupPlayPauseAction(PlayPauseMode mode) +{ + if (mode == PlayMode) { + playPauseAction->setIcon(QIcon::fromTheme(QStringLiteral("media-playback-start"))); + playPauseAction->setText(i18nc("start the movie playback", "Play")); + } else if (mode == PauseMode) { + playPauseAction->setIcon(QIcon::fromTheme(QStringLiteral("media-playback-pause"))); + playPauseAction->setText(i18nc("pause the movie playback", "Pause")); + } +} + +void VideoWidget::Private::takeSnapshot() +{ + const QUrl url = urlFromUrlString(movie->url(), document); + SnapshotTaker *taker = new SnapshotTaker(url, q); + + q->connect(taker, &SnapshotTaker::finished, q, [this](const QImage &image) { setPosterImage(image); }); +} + +void VideoWidget::Private::videoStopped() +{ + if (movie->showPosterImage()) { + pageLayout->setCurrentIndex(1); + } else { + q->hide(); + } +} + +void VideoWidget::Private::finished() +{ + switch (movie->playMode()) { + case Okular::Movie::PlayLimited: + case Okular::Movie::PlayOpen: + repetitionsLeft -= 1.0; + if (repetitionsLeft < 1e-5) { // allow for some calculation error + // playback has ended + stopAction->setEnabled(false); + setupPlayPauseAction(PlayMode); + if (movie->playMode() == Okular::Movie::PlayLimited) { + controlBar->setVisible(false); + } + videoStopped(); + } else { + // not done yet, repeat + // if repetitionsLeft is less than 1, we are supposed to stop midway, but not even Adobe reader does this + player->play(); + } + break; + case Okular::Movie::PlayRepeat: + // repeat the playback + player->play(); + break; + case Okular::Movie::PlayPalindrome: + // FIXME we should play backward, but we cannot + player->play(); + break; + } +} + +void VideoWidget::Private::playOrPause() +{ + if (player->isPlaying()) { + player->pause(); + setupPlayPauseAction(PlayMode); + } else { + q->play(); + } +} + +void VideoWidget::Private::setPosterImage(const QImage &image) +{ + if (!image.isNull()) { + // cache the snapshot image + movie->setPosterImage(image); + } + + posterImagePage->setPixmap(QPixmap::fromImage(image)); +} + +void VideoWidget::Private::stateChanged(Phonon::State newState) +{ + if (newState == Phonon::PlayingState) { + pageLayout->setCurrentIndex(0); + } +} + +VideoWidget::VideoWidget(const Okular::Annotation *annotation, Okular::Movie *movie, Okular::Document *document, QWidget *parent) + : QWidget(parent) + , d(new Private(movie, document, this)) +{ + // do not propagate the mouse events to the parent widget; + // they should be tied to this widget, not spread around... + setAttribute(Qt::WA_NoMousePropagation); + + // Setup player page + QWidget *playerPage = new QWidget(this); + + QVBoxLayout *mainlay = new QVBoxLayout(playerPage); + mainlay->setContentsMargins(0, 0, 0, 0); + mainlay->setSpacing(0); + + d->player = new Phonon::VideoPlayer(Phonon::NoCategory, playerPage); + d->player->installEventFilter(playerPage); + mainlay->addWidget(d->player); + + d->controlBar = new QToolBar(playerPage); + d->controlBar->setIconSize(QSize(16, 16)); + d->controlBar->setAutoFillBackground(true); + mainlay->addWidget(d->controlBar); + + d->playPauseAction = new QAction(d->controlBar); + d->controlBar->addAction(d->playPauseAction); + d->setupPlayPauseAction(Private::PlayMode); + d->stopAction = d->controlBar->addAction(QIcon::fromTheme(QStringLiteral("media-playback-stop")), i18nc("stop the movie playback", "Stop"), this, &VideoWidget::stop); + d->stopAction->setEnabled(false); + d->controlBar->addSeparator(); + d->seekSlider = new Phonon::SeekSlider(d->player->mediaObject(), d->controlBar); + d->seekSliderAction = d->controlBar->addWidget(d->seekSlider); + d->seekSlider->setEnabled(false); + + Phonon::SeekSlider *verticalSeekSlider = new Phonon::SeekSlider(d->player->mediaObject(), nullptr); + verticalSeekSlider->setMaximumHeight(100); + d->seekSliderMenuAction = createToolBarButtonWithWidgetPopup(d->controlBar, verticalSeekSlider, QIcon::fromTheme(QStringLiteral("player-time"))); + d->seekSliderMenuAction->setVisible(false); + + d->controlBar->setVisible(movie->showControls()); + + connect(d->player, &Phonon::VideoPlayer::finished, this, [this] { d->finished(); }); + connect(d->playPauseAction, &QAction::triggered, this, [this] { d->playOrPause(); }); + + d->geom = annotation->transformedBoundingRectangle(); + + // Setup poster image page + d->posterImagePage = new QLabel; + d->posterImagePage->setScaledContents(true); + d->posterImagePage->installEventFilter(this); + d->posterImagePage->setCursor(Qt::PointingHandCursor); + + d->pageLayout = new QStackedLayout(this); + d->pageLayout->setContentsMargins({}); + d->pageLayout->setSpacing(0); + d->pageLayout->addWidget(playerPage); + d->pageLayout->addWidget(d->posterImagePage); + + if (movie->showPosterImage()) { + d->pageLayout->setCurrentIndex(1); + + const QImage posterImage = movie->posterImage(); + if (posterImage.isNull()) { + d->takeSnapshot(); + } else { + d->setPosterImage(posterImage); + } + } else { + d->pageLayout->setCurrentIndex(0); + } +} + +VideoWidget::~VideoWidget() +{ + delete d; +} + +void VideoWidget::setNormGeometry(const Okular::NormalizedRect &rect) +{ + d->geom = rect; +} + +Okular::NormalizedRect VideoWidget::normGeometry() const +{ + return d->geom; +} + +bool VideoWidget::isPlaying() const +{ + return d->player->isPlaying(); +} + +void VideoWidget::pageInitialized() +{ + hide(); +} + +void VideoWidget::pageEntered() +{ + if (d->movie->showPosterImage()) { + d->pageLayout->setCurrentIndex(1); + show(); + } + + if (d->movie->autoPlay()) { + show(); + QMetaObject::invokeMethod(this, "play", Qt::QueuedConnection); + if (d->movie->startPaused()) { + QMetaObject::invokeMethod(this, "pause", Qt::QueuedConnection); + } + } +} + +void VideoWidget::pageLeft() +{ + d->player->stop(); + d->videoStopped(); + + hide(); +} + +void VideoWidget::play() +{ + d->controlBar->setVisible(d->movie->showControls()); + d->load(); + // if d->repetitionsLeft is less than 1, we are supposed to stop midway, but not even Adobe reader does this + d->player->play(); + d->stopAction->setEnabled(true); + d->setupPlayPauseAction(Private::PauseMode); +} + +void VideoWidget::stop() +{ + d->player->stop(); + d->stopAction->setEnabled(false); + d->setupPlayPauseAction(Private::PlayMode); +} + +void VideoWidget::pause() +{ + d->player->pause(); + d->setupPlayPauseAction(Private::PlayMode); +} + +bool VideoWidget::eventFilter(QObject *object, QEvent *event) +{ + if (object == d->player || object == d->posterImagePage) { + switch (event->type()) { + case QEvent::MouseButtonPress: { + QMouseEvent *me = static_cast(event); + if (me->button() == Qt::LeftButton) { + if (!d->player->isPlaying()) { + play(); + } + event->accept(); + } + break; + } + case QEvent::Wheel: { + if (object == d->posterImagePage) { + QWheelEvent *we = static_cast(event); + + // forward wheel events to parent widget + QWheelEvent *copy = new QWheelEvent(we->position(), we->globalPosition(), we->pixelDelta(), we->angleDelta(), we->buttons(), we->modifiers(), we->phase(), we->inverted(), we->source()); + QCoreApplication::postEvent(parentWidget(), copy); + } + break; + } + default:; + } + } + + return false; +} + +bool VideoWidget::event(QEvent *event) +{ + switch (event->type()) { + case QEvent::ToolTip: + // "eat" the help events (= tooltips), avoid parent widgets receiving them + event->accept(); + return true; + break; + default:; + } + + return QWidget::event(event); +} + +void VideoWidget::resizeEvent(QResizeEvent *event) +{ + const QSize &s = event->size(); + int usedSpace = d->seekSlider->geometry().left() + d->seekSlider->iconSize().width(); + // try to give the slider at least 30px of space + if (s.width() < (usedSpace + 30)) { + d->seekSliderAction->setVisible(false); + d->seekSliderMenuAction->setVisible(true); + } else { + d->seekSliderAction->setVisible(true); + d->seekSliderMenuAction->setVisible(false); + } +} +#else + +class VideoWidget::Private +{ +public: + Okular::NormalizedRect geom; +}; + +bool VideoWidget::event(QEvent *event) +{ + return QWidget::event(event); +} + +bool VideoWidget::eventFilter(QObject *object, QEvent *event) +{ + return QWidget::eventFilter(object, event); +} + +bool VideoWidget::isPlaying() const +{ + return false; +} + +Okular::NormalizedRect VideoWidget::normGeometry() const +{ + return d->geom; +} + +void VideoWidget::pageEntered() +{ + show(); +} + +void VideoWidget::pageInitialized() +{ +} + +void VideoWidget::pageLeft() +{ +} +void VideoWidget::pause() +{ +} +void VideoWidget::play() +{ +} + +void VideoWidget::resizeEvent(QResizeEvent *event) +{ + QWidget::resizeEvent(event); +} + +void VideoWidget::setNormGeometry(const Okular::NormalizedRect &rect) +{ + d->geom = rect; +} + +void VideoWidget::stop() +{ +} + +VideoWidget::VideoWidget(const Okular::Annotation *annotation, Okular::Movie *movie, Okular::Document *document, QWidget *parent) + : QWidget(parent) + , d(new VideoWidget::Private) +{ + auto layout = new QVBoxLayout(); + d->geom = annotation->transformedBoundingRectangle(); + auto poster = new QLabel; + if (movie->showPosterImage()) { + auto posterImage = movie->posterImage(); + if (!posterImage.isNull()) { + poster->setPixmap(QPixmap::fromImage(posterImage)); + } + } + Q_EMIT document->warning(i18n("Videos not supported in this okular"), 5000); + poster->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding); + layout->addWidget(poster, 2); + + auto label = new QLabel(i18n("Videos not supported in this Okular")); + label->setAutoFillBackground(true); + label->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum); + layout->addWidget(label, 1, Qt::AlignCenter); + setLayout(layout); +} + +VideoWidget::~VideoWidget() noexcept +{ +} + +#endif +#include "moc_videowidget.cpp" diff --git a/part/videowidget.h b/part/videowidget.h new file mode 100644 index 0000000..6afd37a --- /dev/null +++ b/part/videowidget.h @@ -0,0 +1,63 @@ +/* + SPDX-FileCopyrightText: 2008 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_VIDEOWIDGET_H_ +#define _OKULAR_VIDEOWIDGET_H_ + +#include + +namespace Okular +{ +class Annotation; +class Document; +class Movie; +class NormalizedRect; +} + +class VideoWidget : public QWidget +{ + Q_OBJECT +public: + VideoWidget(const Okular::Annotation *annot, Okular::Movie *movie, Okular::Document *document, QWidget *parent = nullptr); + ~VideoWidget() override; + + void setNormGeometry(const Okular::NormalizedRect &rect); + Okular::NormalizedRect normGeometry() const; + + bool isPlaying() const; + + /** + * This method is called when the page the video widget is located on has been initialized. + */ + void pageInitialized(); + + /** + * This method is called when the page the video widget is located on has been entered. + */ + void pageEntered(); + + /** + * This method is called when the page the video widget is located on has been left. + */ + void pageLeft(); + +public Q_SLOTS: + void play(); + void pause(); + void stop(); + +protected: + bool eventFilter(QObject *object, QEvent *event) override; + bool event(QEvent *event) override; + void resizeEvent(QResizeEvent *event) override; + +private: + // private storage + class Private; + Private *d; +}; + +#endif diff --git a/part/widgetannottools.cpp b/part/widgetannottools.cpp new file mode 100644 index 0000000..c93a2d9 --- /dev/null +++ b/part/widgetannottools.cpp @@ -0,0 +1,173 @@ +/* + SPDX-FileCopyrightText: 2012 Fabio D 'Urso + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "widgetannottools.h" +#include "editannottooldialog.h" + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "pageviewannotator.h" + +// Used to store tools' XML description in m_list's items +static const int ToolXmlRole = Qt::UserRole; + +WidgetAnnotTools::WidgetAnnotTools(QWidget *parent) + : WidgetConfigurationToolsBase(parent) +{ +} + +WidgetAnnotTools::~WidgetAnnotTools() +{ +} + +/* Before returning the XML strings, this functions updates the id and + * shortcut properties. + * Note: The shortcut is only assigned to the first nine tools */ +QStringList WidgetAnnotTools::tools() const +{ + QStringList res; + + const int count = m_list->count(); + for (int i = 0; i < count; ++i) { + QListWidgetItem *listEntry = m_list->item(i); + + // Parse associated DOM data + QDomDocument doc; + doc.setContent(listEntry->data(ToolXmlRole).value()); + + // Set id + QDomElement toolElement = doc.documentElement(); + toolElement.setAttribute(QStringLiteral("id"), i + 1); + + // Remove old shortcut, if any + QDomNode oldShortcut = toolElement.elementsByTagName(QStringLiteral("shortcut")).item(0); + if (oldShortcut.isElement()) { + toolElement.removeChild(oldShortcut); + } + + // Create new shortcut element (only the first 9 tools are assigned a shortcut key) + if (i < 9) { + QDomElement newShortcut = doc.createElement(QStringLiteral("shortcut")); + newShortcut.appendChild(doc.createTextNode(QString::number(i + 1))); + toolElement.appendChild(newShortcut); + } + + // Append to output + res << doc.toString(-1); + } + + return res; +} + +void WidgetAnnotTools::setTools(const QStringList &items) +{ + m_list->clear(); + + // Parse each string and populate the list widget + for (const QString &toolXml : items) { + QDomDocument entryParser; + if (!entryParser.setContent(toolXml)) { + qWarning() << "Skipping malformed tool XML string"; + break; + } + + QDomElement toolElement = entryParser.documentElement(); + if (toolElement.tagName() == QLatin1String("tool")) { + // Create list item and attach the source XML string as data + QString itemText = toolElement.attribute(QStringLiteral("name")); + if (itemText.isEmpty()) { + itemText = PageViewAnnotator::defaultToolName(toolElement); + } + QListWidgetItem *listEntry = new QListWidgetItem(itemText, m_list); + listEntry->setData(ToolXmlRole, QVariant::fromValue(toolXml)); + listEntry->setIcon(PageViewAnnotator::makeToolPixmap(toolElement)); + } + } + + updateButtons(); +} + +void WidgetAnnotTools::slotEdit() +{ + QListWidgetItem *listEntry = m_list->currentItem(); + + QDomDocument doc; + doc.setContent(listEntry->data(ToolXmlRole).value()); + QDomElement toolElement = doc.documentElement(); + + EditAnnotToolDialog t(this, toolElement); + + if (t.exec() != QDialog::Accepted) { + return; + } + + doc = t.toolXml(); + toolElement = doc.documentElement(); + + QString itemText = t.name(); + + // Store name attribute only if the user specified a customized name + if (!itemText.isEmpty()) { + toolElement.setAttribute(QStringLiteral("name"), itemText); + } else { + itemText = PageViewAnnotator::defaultToolName(toolElement); + } + + // Edit list entry and attach XML string as data + listEntry->setText(itemText); + listEntry->setData(ToolXmlRole, QVariant::fromValue(doc.toString(-1))); + listEntry->setIcon(PageViewAnnotator::makeToolPixmap(toolElement)); + + // Select and scroll + m_list->setCurrentItem(listEntry); + m_list->scrollToItem(listEntry); + updateButtons(); + Q_EMIT changed(); +} + +void WidgetAnnotTools::slotAdd() +{ + EditAnnotToolDialog t(this); + + if (t.exec() != QDialog::Accepted) { + return; + } + + QDomDocument rootDoc = t.toolXml(); + QDomElement toolElement = rootDoc.documentElement(); + + QString itemText = t.name(); + + // Store name attribute only if the user specified a customized name + if (!itemText.isEmpty()) { + toolElement.setAttribute(QStringLiteral("name"), itemText); + } else { + itemText = PageViewAnnotator::defaultToolName(toolElement); + } + + // Create list entry and attach XML string as data + QListWidgetItem *listEntry = new QListWidgetItem(itemText, m_list); + listEntry->setData(ToolXmlRole, QVariant::fromValue(rootDoc.toString(-1))); + listEntry->setIcon(PageViewAnnotator::makeToolPixmap(toolElement)); + + // Select and scroll + m_list->setCurrentItem(listEntry); + m_list->scrollToItem(listEntry); + updateButtons(); + Q_EMIT changed(); +} diff --git a/part/widgetannottools.h b/part/widgetannottools.h new file mode 100644 index 0000000..6bead15 --- /dev/null +++ b/part/widgetannottools.h @@ -0,0 +1,29 @@ +/* + SPDX-FileCopyrightText: 2012 Fabio D 'Urso + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _WIDGETANNOTTOOLS_H_ +#define _WIDGETANNOTTOOLS_H_ + +#include "widgetconfigurationtoolsbase.h" + +#include + +class WidgetAnnotTools : public WidgetConfigurationToolsBase +{ + Q_OBJECT +public: + explicit WidgetAnnotTools(QWidget *parent = nullptr); + ~WidgetAnnotTools() override; + + QStringList tools() const override; + void setTools(const QStringList &items) override; + +protected Q_SLOTS: + void slotAdd() override; + void slotEdit() override; +}; + +#endif diff --git a/part/widgetconfigurationtoolsbase.cpp b/part/widgetconfigurationtoolsbase.cpp new file mode 100644 index 0000000..67a5547 --- /dev/null +++ b/part/widgetconfigurationtoolsbase.cpp @@ -0,0 +1,98 @@ +/* + SPDX-FileCopyrightText: 2015 Laurent Montel + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "widgetconfigurationtoolsbase.h" + +#include +#include + +#include +#include +#include +#include +#include +#include + +WidgetConfigurationToolsBase::WidgetConfigurationToolsBase(QWidget *parent) + : QWidget(parent) +{ + QHBoxLayout *hBoxLayout = new QHBoxLayout(this); + m_list = new QListWidget(this); + m_list->setIconSize(QSize(32, 32)); + hBoxLayout->addWidget(m_list); + + QVBoxLayout *vBoxLayout = new QVBoxLayout(); + m_btnAdd = new QPushButton(i18n("&Add…"), this); + m_btnAdd->setIcon(QIcon::fromTheme(QStringLiteral("list-add"))); + vBoxLayout->addWidget(m_btnAdd); + m_btnEdit = new QPushButton(i18n("&Edit…"), this); + m_btnEdit->setIcon(QIcon::fromTheme(QStringLiteral("edit-rename"))); + m_btnEdit->setEnabled(false); + vBoxLayout->addWidget(m_btnEdit); + m_btnRemove = new QPushButton(i18n("&Remove"), this); + m_btnRemove->setIcon(QIcon::fromTheme(QStringLiteral("list-remove"))); + m_btnRemove->setEnabled(false); + vBoxLayout->addWidget(m_btnRemove); + m_btnMoveUp = new QPushButton(i18n("Move &Up"), this); + m_btnMoveUp->setIcon(QIcon::fromTheme(QStringLiteral("arrow-up"))); + m_btnMoveUp->setEnabled(false); + vBoxLayout->addWidget(m_btnMoveUp); + m_btnMoveDown = new QPushButton(i18n("Move &Down"), this); + m_btnMoveDown->setIcon(QIcon::fromTheme(QStringLiteral("arrow-down"))); + m_btnMoveDown->setEnabled(false); + vBoxLayout->addWidget(m_btnMoveDown); + vBoxLayout->addStretch(); + hBoxLayout->addLayout(vBoxLayout); + + connect(m_list, &QListWidget::itemDoubleClicked, this, &WidgetConfigurationToolsBase::slotEdit); + connect(m_list, &QListWidget::currentRowChanged, this, &WidgetConfigurationToolsBase::updateButtons); + connect(m_btnAdd, &QPushButton::clicked, this, &WidgetConfigurationToolsBase::slotAdd); + connect(m_btnEdit, &QPushButton::clicked, this, &WidgetConfigurationToolsBase::slotEdit); + connect(m_btnRemove, &QPushButton::clicked, this, &WidgetConfigurationToolsBase::slotRemove); + connect(m_btnMoveUp, &QPushButton::clicked, this, &WidgetConfigurationToolsBase::slotMoveUp); + connect(m_btnMoveDown, &QPushButton::clicked, this, &WidgetConfigurationToolsBase::slotMoveDown); +} + +WidgetConfigurationToolsBase::~WidgetConfigurationToolsBase() +{ +} + +void WidgetConfigurationToolsBase::updateButtons() +{ + const int row = m_list->currentRow(); + const int last = m_list->count() - 1; + + m_btnEdit->setEnabled(row != -1); + m_btnRemove->setEnabled(row != -1); + m_btnMoveUp->setEnabled(row > 0); + m_btnMoveDown->setEnabled(row != -1 && row != last); +} + +void WidgetConfigurationToolsBase::slotRemove() +{ + const int row = m_list->currentRow(); + delete m_list->takeItem(row); + updateButtons(); + Q_EMIT changed(); +} + +void WidgetConfigurationToolsBase::slotMoveUp() +{ + const int row = m_list->currentRow(); + m_list->insertItem(row, m_list->takeItem(row - 1)); + m_list->scrollToItem(m_list->currentItem()); + updateButtons(); + Q_EMIT changed(); +} + +void WidgetConfigurationToolsBase::slotMoveDown() +{ + const int row = m_list->currentRow(); + m_list->insertItem(row, m_list->takeItem(row + 1)); + m_list->scrollToItem(m_list->currentItem()); + updateButtons(); + Q_EMIT changed(); +} diff --git a/part/widgetconfigurationtoolsbase.h b/part/widgetconfigurationtoolsbase.h new file mode 100644 index 0000000..011b99f --- /dev/null +++ b/part/widgetconfigurationtoolsbase.h @@ -0,0 +1,49 @@ +/* + SPDX-FileCopyrightText: 2015 Laurent Montel + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef WIDGETCONFIGURATIONTOOLSBASE_H +#define WIDGETCONFIGURATIONTOOLSBASE_H + +#include +class QListWidget; +class QPushButton; + +class WidgetConfigurationToolsBase : public QWidget +{ + Q_OBJECT + + Q_PROPERTY(QStringList tools READ tools WRITE setTools NOTIFY changed USER true) + +public: + explicit WidgetConfigurationToolsBase(QWidget *parent = nullptr); + ~WidgetConfigurationToolsBase() override; + + virtual QStringList tools() const = 0; + virtual void setTools(const QStringList &items) = 0; + +Q_SIGNALS: + void changed(); + +protected: + QListWidget *m_list; + +private: + QPushButton *m_btnAdd; + QPushButton *m_btnEdit; + QPushButton *m_btnRemove; + QPushButton *m_btnMoveUp; + QPushButton *m_btnMoveDown; + +protected Q_SLOTS: + virtual void slotAdd() = 0; + virtual void slotEdit() = 0; + void updateButtons(); + void slotRemove(); + void slotMoveUp(); + void slotMoveDown(); +}; + +#endif // WIDGETCONFIGURATIONTOOLSBASE_H diff --git a/part/widgetdrawingtools.cpp b/part/widgetdrawingtools.cpp new file mode 100644 index 0000000..c5ed793 --- /dev/null +++ b/part/widgetdrawingtools.cpp @@ -0,0 +1,203 @@ +/* + SPDX-FileCopyrightText: 2015 Laurent Montel + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "widgetdrawingtools.h" + +#include "editdrawingtooldialog.h" + +#include +#include + +#include +#include +#include +#include + +// Used to store tools' XML description in m_list's items +static const int ToolXmlRole = Qt::UserRole; + +static QPixmap colorDecorationFromToolDescription(const QString &toolDescription) +{ + QDomDocument doc; + doc.setContent(toolDescription, true); + const QDomElement toolElement = doc.documentElement(); + const QDomElement engineElement = toolElement.elementsByTagName(QStringLiteral("engine")).at(0).toElement(); + const QDomElement annotationElement = engineElement.elementsByTagName(QStringLiteral("annotation")).at(0).toElement(); + + QPixmap pm(50, 20); + pm.fill(QColor(annotationElement.attribute(QStringLiteral("color")))); + + QPainter p(&pm); + p.setPen(Qt::black); + p.drawRect(QRect(0, 0, pm.width() - 1, pm.height() - 1)); + + return pm; +} + +WidgetDrawingTools::WidgetDrawingTools(QWidget *parent) + : WidgetConfigurationToolsBase(parent) +{ +} + +WidgetDrawingTools::~WidgetDrawingTools() +{ +} + +QStringList WidgetDrawingTools::tools() const +{ + QStringList res; + + const int count = m_list->count(); + for (int i = 0; i < count; ++i) { + QListWidgetItem *listEntry = m_list->item(i); + + // Parse associated DOM data + QDomDocument doc; + doc.setContent(listEntry->data(ToolXmlRole).value()); + + // Append to output + res << doc.toString(-1); + } + + return res; +} + +void WidgetDrawingTools::setTools(const QStringList &items) +{ + m_list->clear(); + + // Parse each string and populate the list widget + for (const QString &toolXml : items) { + QDomDocument entryParser; + if (!entryParser.setContent(toolXml)) { + qWarning() << "Skipping malformed tool XML string"; + break; + } + + const QDomElement toolElement = entryParser.documentElement(); + if (toolElement.tagName() == QLatin1String("tool")) { + const QString name = toolElement.attribute(QStringLiteral("name")); + QString itemText; + if (toolElement.attribute(QStringLiteral("default"), QStringLiteral("false")) == QLatin1String("true")) { + itemText = i18n(name.toLatin1().constData()); + } else { + itemText = name; + } + + QListWidgetItem *listEntry = new QListWidgetItem(itemText, m_list); + listEntry->setData(ToolXmlRole, QVariant::fromValue(toolXml)); + listEntry->setData(Qt::DecorationRole, colorDecorationFromToolDescription(toolXml)); + } + } + + updateButtons(); +} + +QString WidgetDrawingTools::defaultName() const +{ + int nameIndex = 1; + bool freeNameFound = false; + QString candidateName; + while (!freeNameFound) { + candidateName = i18n("Default Drawing Tool #%1", nameIndex); + int i = 0; + for (; i < m_list->count(); ++i) { + QListWidgetItem *listEntry = m_list->item(i); + if (candidateName == listEntry->text()) { + break; + } + } + freeNameFound = i == m_list->count(); + ++nameIndex; + } + return candidateName; +} + +void WidgetDrawingTools::slotAdd() +{ + EditDrawingToolDialog dlg(QDomElement(), this); + + if (dlg.exec() != QDialog::Accepted) { + return; + } + + const QDomDocument rootDoc = dlg.toolXml(); + QDomElement toolElement = rootDoc.documentElement(); + + QString itemText = dlg.name().trimmed(); + + if (itemText.isEmpty()) { + itemText = defaultName(); + } + + for (int i = 0; i < m_list->count(); ++i) { + QListWidgetItem *listEntry = m_list->item(i); + if (itemText == listEntry->text()) { + KMessageBox::information(this, i18n("There's already a tool with that name. Using a default one"), i18n("Duplicated Name")); + itemText = defaultName(); + break; + } + } + + // Store name attribute only if the user specified a customized name + toolElement.setAttribute(QStringLiteral("name"), itemText); + + // Create list entry and attach XML string as data + const QString toolXml = rootDoc.toString(-1); + QListWidgetItem *listEntry = new QListWidgetItem(itemText, m_list); + listEntry->setData(ToolXmlRole, QVariant::fromValue(toolXml)); + listEntry->setData(Qt::DecorationRole, colorDecorationFromToolDescription(toolXml)); + + // Select and scroll + m_list->setCurrentItem(listEntry); + m_list->scrollToItem(listEntry); + updateButtons(); + Q_EMIT changed(); +} + +void WidgetDrawingTools::slotEdit() +{ + QListWidgetItem *listEntry = m_list->currentItem(); + + QDomDocument doc; + doc.setContent(listEntry->data(ToolXmlRole).value()); + QDomElement toolElement = doc.documentElement(); + + EditDrawingToolDialog dlg(toolElement, this); + + if (dlg.exec() != QDialog::Accepted) { + return; + } + + doc = dlg.toolXml(); + toolElement = doc.documentElement(); + + QString itemText = dlg.name(); + + for (int i = 0; i < m_list->count(); ++i) { + QListWidgetItem *auxListEntry = m_list->item(i); + if (itemText == auxListEntry->text() && auxListEntry != listEntry) { + KMessageBox::information(this, i18n("There's already a tool with that name. Using a default one"), i18n("Duplicated Name")); + itemText = defaultName(); + break; + } + } + + // Store name attribute only if the user specified a customized name + toolElement.setAttribute(QStringLiteral("name"), itemText); + + // Edit list entry and attach XML string as data + const QString toolXml = doc.toString(-1); + listEntry->setText(itemText); + listEntry->setData(ToolXmlRole, QVariant::fromValue(toolXml)); + listEntry->setData(Qt::DecorationRole, colorDecorationFromToolDescription(toolXml)); + + // Select and scroll + m_list->setCurrentItem(listEntry); + m_list->scrollToItem(listEntry); + updateButtons(); + Q_EMIT changed(); +} diff --git a/part/widgetdrawingtools.h b/part/widgetdrawingtools.h new file mode 100644 index 0000000..0987da6 --- /dev/null +++ b/part/widgetdrawingtools.h @@ -0,0 +1,29 @@ +/* + SPDX-FileCopyrightText: 2015 Laurent Montel + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef WIDGETDRAWINGTOOLS_H +#define WIDGETDRAWINGTOOLS_H + +#include "widgetconfigurationtoolsbase.h" + +class WidgetDrawingTools : public WidgetConfigurationToolsBase +{ + Q_OBJECT +public: + explicit WidgetDrawingTools(QWidget *parent = nullptr); + ~WidgetDrawingTools() override; + + QStringList tools() const override; + void setTools(const QStringList &items) override; + + QString defaultName() const; + +protected Q_SLOTS: + void slotAdd() override; + void slotEdit() override; +}; + +#endif // WIDGETDRAWINGTOOLS_H diff --git a/po/ar/okular.po b/po/ar/okular.po new file mode 100644 index 0000000..e45ccc8 --- /dev/null +++ b/po/ar/okular.po @@ -0,0 +1,6600 @@ +# translation of okular.po to Arabic +# translation of okular.po to +# Copyright (C) 2007, 2008 Free Software Foundation, Inc. +# Mohamed Aser(محمد عَصَر) ,2002-10-04 11:50+0200. +# Youssef Chahibi , 2007. +# Usama Akkad , 2008. +# SPDX-FileCopyrightText: 2008, 2021, 2022, 2023, 2024, 2025 zayed +# Abdalrahim G. Fakhouri , 2014. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-11-12 19:55+0400\n" +"Last-Translator: Zayed Al-Saidi \n" +"Language-Team: ar\n" +"Language: ar\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" +"X-Generator: Lokalize 23.08.5\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Usama Akkad,زايد السعيدي,عبدالرحيم الفاخوري" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "uahello@gmail.com,zayed.alsaidi@gmail.com,abdilra7eem@yahoo.com" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "أوكلار" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "أوكلار، عارض عالمي للمستندات" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"(ج) 2002 ويلكو جريفن، كريستوف ديفريز\n" +"(ج) 2004-2005 إنريكو روس\n" +"(ج) 2005 بيوتر زيمانسكي\n" +"(C) 2004-2017 ألبرت أستالس سيد\n" +"(ج) 2006-2009 بينو توسكانو" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "بينو توسكانو" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "المشرف السابق" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "توبياس كونيغ" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "الكثير من هياكل العمل، نهايات خلفية ل ODT السابقة و FictionBook" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "ألبرت أستالس سيد" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "المطوّر" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "بيوتر شيمانسكي" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "أنشئ أوكلار من الكود الأساس ل KPDF" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "إنريكو روس" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "مطور KPDF" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "يوجين ترونيف" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "الأعمال الفنية للشروح" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "جيري باوم - NICTA" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "أداة اختيار الجداول" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "فابيو دورسو" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "تحسينات الشروح" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "اذهب إلى صفحة %1" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "افتح ملفا خارجيا" + +#: core/action.cpp:197 +#, kde-format +msgid "Execute '%1'…" +msgstr "نفذ '%1'…" + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "أول صفحة" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "صفحة سابقة" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "صفحة تالية" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "أخر صفحة" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "للخلف" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "للأمام" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "اخرج" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "ابدأ العرض" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "أنهِ العرض" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "اعثر…" + +#: core/action.cpp:314 +#, kde-format +msgid "Go To Page…" +msgstr "اذهب إلى صفحة…" + +#: core/action.cpp:365 +#, kde-format +msgid "Play sound…" +msgstr "شغّل صوتًا…" + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "نص جافا سكربت" + +#: core/action.cpp:483 +#, kde-format +msgid "Play movie…" +msgstr "شغِل الفِلم…" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "شغِل الفِلم" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "أوقِف الفِلم" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "أوقف الفلم مؤقتاً" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "استأنِف الفِلم" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "هذه الإصدارة من أوكلار مبنية دون توفير الصوت" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "تحديد النهاية الخلفية" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
%1 (%2).

Please select which one to use:
" +msgstr "" +"أكثر من نهاية خلفية وجدت لنوع التنسيق :
%1 (%2).

أختر أيها سيستعمل:
" + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "أغلب الصفحات %1" + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "بالطّول %1" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "بالعرض %1" + +#: core/document.cpp:246 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 × %2 في (%3)" + +#: core/document.cpp:248 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 × %2 مم (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "تابع البحث من البداية" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "تابع البحث من الأسفل" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "تعذر إيجاد ملحق للتعامل مع المستند المطلوب." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "التوقيع لهذا النوع من المستندات غير موجود." + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "أزِل الشروح" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "المستند يحاول تشغيل تطبيق خارجي؛ و لأمانك أوكلار لا يسمح بذلك." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "لم يجد تطبيق لفتح الملف من نوع التنسيق %1." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "تعذر فتح الملف المؤقت" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "فشل تحويل الطباعة" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "انهارت عملية الطباعة" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "لا يمكن بدء عملية الطباعة" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "فشلت الطباعة لملف" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "الطابعة في حالة غير صالحة" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "تعذر العثور على الملف للطباعة" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "لا يوجد ملف للطباعة" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "لم يعثر على برنامج مناسب للطباعة. تأكد أن CUPS lpr موجود." + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "حجم صفحة الطباعة غير صالح" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "تعذر فتح '%1'. الملف غير موجود" + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "العنوان" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "الموضوع" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "الوصف" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "المؤلف" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "المُنشئ" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "المُنتج" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "حقوق النسخ" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "الصفحات" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "أنشئ" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "عُدل" + +#: core/document.cpp:6032 +#, kde-format +msgid "MIME Type" +msgstr "نوع تنسيق الملف" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "التصنيف" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "الكلمات المفتاحية" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "مسار الملف" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "حجم الملف" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "حجم الصفحة" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "أضف شرحا" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "أزِل شرحاً" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "عدِّل خصائص الشرح" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "ترجِم شرح" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "عدل شرح" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "حرِّر النَص" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "حرّر محتوى شرح" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "حرّر محتوى النموذَج" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "حرِّر لائحة خيارات النموذج" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "حرر تحديد وسرد النموذج" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "حرِّر حالات زِرّ النموذج" + +#: core/generator.cpp:790 +#, kde-format +msgid "Plain &Text…" +msgstr "نص &صرف…" + +# | msgid "KPDF" +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "بي دي اف" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "نص OpenDocument" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "خيارات الطباعة" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "لائم المنطقة المطبوعة" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "لائم إلى كامل الصفحة" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "وضع الحجم:" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "لا تعرض هذه الرّسالة مجدّدًا" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "غير متوفّر" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" +"خطأ في التوقيع الداخلي. يُرجى الإبلاغ عن خطأ مع الخطوات اللازمة لإعادة " +"إنتاجه. رمز الخطأ %1" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "تعذر توقيع المستند : %1" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "ألغي التوقيع بواسطة المستخدم" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "تعذر التوقيع. عبارة السر خاطئة" + +#: core/signatureutils.cpp:504 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" +"لم نتمكن من كتابة مستند موقّع في %1، يرجى التأكد من " +"تحديد مجلد به إذن الكتابة" + +#: core/signatureutils.cpp:506 +#, kde-format +msgid "Unknown signing error" +msgstr "خطأ توقيع غير معروف" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "المصدر: %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "ال&خَط المبدئي:" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "الإصدارة" + +#: gui/certificatemodel.cpp:41 +#, kde-format +msgid "Serial Number" +msgstr "الرّقم التّسلسليّ" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "المُصدِر" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "مُنحت يوم:" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "تنتهي يوم:" + +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "الموضوع" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "مفتاح عام" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "استخدام المفتاح" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "V%1" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "%1 (%2 بت)" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "الخاصية" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "القيمة" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "ملاحظة منبثقة" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "كتابة" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "ملاحظة مضمنة" + +#: gui/guiutils.cpp:56 +#, kde-format +msgid "Arrow with Comment" +msgstr "سهم مع تعليق" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "سهم" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "خط مستقيم مع ملاحظة" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "خط مستقيم" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "مضلع مع تعليق" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "مضلّع" + +#: gui/guiutils.cpp:71 +#, kde-format +msgid "Rectangle with Comment" +msgstr "مربع مع تعليق" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "مستطيل" + +#: gui/guiutils.cpp:74 +#, kde-format +msgid "Ellipse with Comment" +msgstr "بيضاوي مع تعليق" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "بيضاوي" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "إبراز مع تعليق" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "إبراز" + +#: gui/guiutils.cpp:87 +#, kde-format +msgid "Squiggle with Comment" +msgstr "نصّ متمايِل مع تعليق" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "خط متعرج" + +#: gui/guiutils.cpp:91 +#, kde-format +msgid "Underline with Comment" +msgstr "تسطير مع تعليق" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "تسطير" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out with Comment" +msgstr "اشطب النصّ مع تعليق" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "اشطب" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "ختم مع تعليق" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "الختم" + +#: gui/guiutils.cpp:106 +#, kde-format +msgid "Freehand Line with Comment" +msgstr "خط الرسم الحر مع تعليق" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "خط رسم حُرّ" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "القبعة" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "ملف مرفق" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "الصوت" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "الفلم" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "شاشة" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "وِدجَة" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "وسيط غني" + +#: gui/guiutils.cpp:144 +#, kde-format +msgid "Annotation" +msgstr "التعليق التوضيحي" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "مجهول" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "مؤلف: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "أين تريد حفظ %1؟" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "تعذر فتح \"%1\" للكتابة. الملف لم يحفظ." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "التوقيع صالح تشفيرياً." + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "التوقيع غير صالح تشفيرياً." + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "حصل عدم مطابقة للتجميعة." + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "هيكل توقيع CMS/PKCS7 معطوب." + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "التوقيع المطلوب غير موجود في المستند." + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "لا يمكن التحقق من التوقيع." + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "الشهادة موثوقة." + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "مانح الشهادة غير موثوق." + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "مانح الشهادة مجهول." + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "الشهادة ألغيت." + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "انتهت الشهادة." + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "لم يتحقق من الشهادة بعد." + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "يتحقّق من سلامة الشَّهادة" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "مشكلة مجهول في الشهادة أو البيانات معطوبة." + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "MD2" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "MD5" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "SHA1" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "SHA256" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "SHA384" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "SHA512" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "SHA224" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "خوارزمية مجهولة" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "RSA" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "DSA" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "الكُهَيرِب" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "نوع غير معروف" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "التوقيع الرقمي" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "عدم التنصل" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "مفاتيح التعمية" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "مفاتيح فك التعمية" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "اتفاقية المفتاح" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "شهادة التوقيع" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "وقع CRL" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "التعمية فقط" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "لم يحدد الاستعمال" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr "، " + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "لم يعدل المستند منذ توقيعه." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" +"لم تعدل مراجعة الوثيقة التي يغطيها هذا التوقيع؛ \n" +"ومع ذلك كانت هناك تغييرات لاحقة على المستند." + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "عدلت الوثيقة بطريقة لا يسمح بها الموقّع السابق." + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "تعذر إكمال التحقق من سلامة المستند." + +#: gui/signatureguiutils.cpp:208 +#, kde-format +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "يحتوي هذا المستند على حقول العناصر النائبة للتوقيع." + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "هذا المستند موقع رقمياً." + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "هذا المستند موقع رقمياً. حصلت تغييرات عليه منذ أخر توقيع." + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "هذا المستند موقع رقمياً. لا يمكن التحقق من صحة بعض التواقيع بشكل صحيح." + +#: gui/signaturemodel.cpp:141 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "مكان التوقيع %1" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "الحقل: %1 على الصفحة %2" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "المراجعة %1: وقعت بواسطة %2" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "وقت التوقيع: %1" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "السّبب: %1" + +#: gui/signaturemodel.cpp:177 +#, kde-format +msgid "Location: %1" +msgstr "المكان: %1" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "توقيع PGP" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "Adobe PKCS7" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "Adobe PKCS7 Sha1" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "ETSI CAdES" + +#: gui/signaturemodel.cpp:193 +#, kde-format +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "مجهول" + +#: gui/signaturemodel.cpp:195 +#, kde-format +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "مكان التوقيع" + +#: gui/signaturemodel.cpp:201 +#, kde-format +msgid "Signature Type: %1" +msgstr "نوع التوقيع: %1" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "أحمر" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "برتقالي" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "أصفر" + +#: part/annotationactionhandler.cpp:151 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "أخضر" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "سماوي" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "أزرق" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "أرجواني" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "أبيض" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "رصاصي" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "أسود" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "العرض %1" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1٪" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "عرض خط الشرح (لم يحدد أي شرح)" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "لون الشرح (لم يحدد أي شرح)" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "لون تعبئة للشرح (لم يحدد أي شرح)" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "عتمة الشرح (لم يحدد أي شرح)" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "خط الشرح (لم يحدد أي شرح)" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "أضف الشرح الحالي إلى قائمة الشروح السريعة (لم يحدد أي شرح)" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" +"قيد نسبة الشكل إلى 1:1 أو زاوية الخط بـ 15 درجة من الخطوات (لم يحدد أي شرح)" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "إعدادات متقدمة لأداة الشرح الحالية (لم يحدد أي شرح)" + +#: part/annotationactionhandler.cpp:308 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "عرض خط الشرح" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "عرض خط الشرح (الشرح الحالي ليس لديه عرض خط)" + +#: part/annotationactionhandler.cpp:314 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "لون نص الشرح" + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "لون حدود الشرح" + +#: part/annotationactionhandler.cpp:318 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "لون الشرح" + +#: part/annotationactionhandler.cpp:322 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "لون تعبئة الشرح" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "لون تعبئة الشرح (الشرح الحالي ليس له لون تعبئة) " + +#: part/annotationactionhandler.cpp:328 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "خط الشرح" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "خط الشرح (الشرح الحالي لا يملك خط)" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "قيد زاوية الخط بـ 15 درجة من الخطوات" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "قيد نسبة الشكل إلى 1:1 " + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" +"قيد نسبة الشكل إلى 1:1 أو زاوية الخط بـ 15 درجة من الخطوات (الشرح حالي لا " +"يتيحه)" + +#: part/annotationactionhandler.cpp:341 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "عتمة الشرح" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "أضف الشرح الحالي إلى قائمة الشروح السريعة" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "إعدادات متقدمة لأداة الشرح الحالية" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "اللون" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "لون التعبئة" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "الشفّافة" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "لون مخصّص…" + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "اختر لوناً" + +#: part/annotationactionhandler.cpp:552 +#, kde-format +msgid "&Annotations" +msgstr "ال&شروح" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "أخفِ" + +#: part/annotationactionhandler.cpp:554 +#, kde-format +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "أظهر المزيد من أدوات الشرح" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "قلم التحديد" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "تسطير" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "خط متعرج" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "شطب" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "كتابة" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "ملاحظة مضمنة" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "ملاحظة منبثقة" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "خط رسم حُرّ" + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "خط مستقيم" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "سهم" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "مستطيل" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "بيضاوي" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "مضلّع" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "أشكال هندسية" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "الختم" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "أدوات الشرح سريعة" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "اختر أداة شرح من الشروح السريعة" + +#: part/annotationactionhandler.cpp:651 +#, kde-format +msgid "Quick Annotation Bar" +msgstr "شريط الشرح سريعة" + +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "أضف إلى أدوات الشرح السريعة" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "أبقه فعال" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "أبقِ أداة الشرح فعالة بعد الاستعمال" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "قيد نسبة وزاوية أدوات الشرح" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "الخط" + +#: part/annotationactionhandler.cpp:681 +#, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "خيارات الشرح" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "عرض الخطّ" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "الشّفافيّة" + +#: part/annotationactionhandler.cpp:696 +#, kde-format +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1٪" + +#: part/annotationmodel.cpp:320 +#, kde-format +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "للصفحة %1 (%2)" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "الصفحة %1" + +#: part/annotationpopup.cpp:85 +#, kde-format +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "شرح" +msgstr[1] "شرح واحد" +msgstr[2] "شرحين" +msgstr[3] "%1 شروح" +msgstr[4] "%1 شرحاً" +msgstr[5] "%1 شرح" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "افتح &ملاحظة منبثقة" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "حذف علامة موقع" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "أضف علامة" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, kde-format +msgid "Copy Text to Clipboard" +msgstr "انسخ النص إلى الحافظة" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "مُنع النسخ من قبل DRM" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "ا&حذف" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "&خصائص" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, kde-format +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "ا&حفظ '%1'…" + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "الم&ظهر" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "&عام" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&مؤلف:" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "أُنشئ في:" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "عُدّل في:" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "خصائص الملاحظة المنبثقة" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "خصائص الكتابة" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "خصائص الملاحظة المضمنة" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "خصائص الخط المستقيم" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "خصائص المضلع" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "خصائص الهندسة" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "خصائص وسم النَّص" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "ختم الخصائص" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "خصائص خط الرسم الحر" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "خصائص القبعة" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "خصائص " + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "خصائص الصوت" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "خصائص الفلم" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "خصائص التعليق" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "اختر رمز ختم مخصص من ملف" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "اختر رمز ختم مخصص" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" +"*.ico *.png *.xpm *.svg *.svgz | ملفات الأيقونات (*.ico *.png *.xpm *.svg *." +"svgz)" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "لا يمكن تحميل الملف %1" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "الملف غير صحيح" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&لون:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, kde-format +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%v٪" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "الت&عتيم:" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "الأيقونة:" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "تعليق" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "مساعدة" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "أدرج" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "مفتاح" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "فقرة جديدة" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "ملاحظة" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "فقرة" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "خط:" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "&لون النّصّ:" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "&حاذِ إلى:" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "اليسار" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "الوسط" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "اليمين" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "&عرض الحدّ:" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "مصادق عليه" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "كما هو" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "سري" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "إداري" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "مسودة" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "تجريبي" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "منتهي" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "نهائي" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "للتعليق" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "للنشر العام" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "غير مصادق عليه" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "ليس للنشر العام" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "مباع" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "سرّي للغاية" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "علامة موقع" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "معلومات" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "كِيدِي" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "رمز الختم:" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "ال&عرض:" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "بداية الخط:" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "نهاية الخط:" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "مربع" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "دائرة" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "معين الزوايا" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "سهم مفتوح" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "سهم مغلق" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "لا شيء" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "قاعدة" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "السهم الأيمن المفتوح" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "السهم الأيمن المغلق" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "شَّرطة" + +#: part/annotationwidgets.cpp:531 +#, kde-format +msgid "Leader line length:" +msgstr "طول خط القائد:" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "طول لواحق خط القائد:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "ممكّن" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "تعبئة الشكل:" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "النوع:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "شطب خارج" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "رمز ملحق الملف:" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "رسمة" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "دبوس" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "مشبك الورق" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "وسم" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "ملف" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "غ/م" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "لا وصف متاح." + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "الاسم:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "الوصف" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "رمز القبعة:" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "لا شيء" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "أغلق هذه الملاحظة" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "الخيارات" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"يمكن أن يحوي هذا الشرح أكواد لاتِخ. \n" +"اضغط هنا لتصييرها." + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "تعذر إيجاد برنامج لاتِخ تنفيذيّ." + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "فشل تصيير لاتِخ" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "تعذر إيجاد البرنامج التنفيذيّ dvipng" + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "حدثت مشكلة أثناء تنفيذ الأمر 'latex'" + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "حدثت مشكلة أثناء تنفيذ الأمر 'dvipng'." + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"لا يوجد علامة" +msgstr[1] "" +"%1\n" +"\n" +"علامة واحدة" +msgstr[2] "" +"%1\n" +"\n" +"علامتين" +msgstr[3] "" +"%1\n" +"\n" +"%2 علامات" +msgstr[4] "" +"%1\n" +"\n" +"%2 علامة" +msgstr[5] "" +"%1\n" +"\n" +"%2 علامة" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "علامات المواقع" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "أظهر لكل المستندات" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, kde-format +msgid "Search…" +msgstr "ابحث…" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, kde-format +msgid "Expand All" +msgstr "وسّع الكل" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, kde-format +msgid "Collapse All" +msgstr "اطوِ الكل" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "اذهب إلى علامة الموقع هذه" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "غير اسم العلامة" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "افتح المستند" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "أزل كل العلامات لهذا المستند" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "عارض الشهادة" + +#: part/certificateviewer.cpp:50 +#, kde-format +msgid "Export…" +msgstr "صدر…" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "عام" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "المانح" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "الاسم الشائع (CN)" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "البريد الإلكترونيّ" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "المؤسسة (O)" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "مُنحت لصالح" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "الصّلاحية" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "البصمات" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "بصمة SHA-1" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "بصمة SHA-256" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "التفاصيل" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "بيانات الشّهادة:" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "أين تريد حفظ هذه الشهادة؟" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "ملف شهادة (*.cer)" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "لا يمكن تصدير الشهادة" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "&نمط الألوان" + +#: part/colormodemenu.cpp:21 +#, kde-format +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "غير الألوان" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "أ&لوان عادية" + +#: part/colormodemenu.cpp:41 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "أع&كس الألوان" + +#: part/colormodemenu.cpp:42 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "&غيّر لون الورق" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "غيّر ألوان ال&عتمة و الضوء" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "&حوّل إلى أسود وأبيض" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "اع&كس الإضاءة" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "&عكس الضوء (sRGB خطي)" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "عكس ال&ضوء (متماثل)" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "تحويل إيجابي ل&حساسية الضوء" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "تحويل &سلبي لحساسية الضوء" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "الأحمر" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "الأخضر" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "الأزرق" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "الأصفر" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "الأسود" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "الأبيض" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "مضيء أصفر" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "مضيء أخضر" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "أدرج نصاً" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "ارسم حدودا حول الروابط" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "غير الألوان" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "تحذير: هذه الخيارات قد تضر بشدة بسرعة الرسم." + +#: part/dlgaccessibility.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "اعكس الألوان" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "غيّر لون الورق" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "غيّر ألوان العتمة والضوء" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "حوّل إلى أسود وأبيض" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "اعكس الإضاءة" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "عكس الضوء (sRGB خطي)" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "عكس الضوء (متماثل)" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "تحويل إيجابي لحساسية الضوء" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "تحويل سلبي لحساسية الضوء" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "نمط الألوان:" + +#: part/dlgaccessibility.cpp:87 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "لون الورق:" + +#: part/dlgaccessibility.cpp:99 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "اللون المعتم:" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "اللون الفاتح:" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "العتبة:" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "التّباين:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "محرك نص-إلى-صوت:" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "صوت نص-إلى-كلام:" + +#: part/dlgannotations.cpp:25 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "شريط أدوات الشرح الكامل" + +#: part/dlgannotations.cpp:26 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "شريط أدوات الشرح السريع" + +#: part/dlgannotations.cpp:28 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "شريط أدوات الشرح:" + +#: part/dlgannotations.cpp:34 +#, kde-format +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "المؤلّف:" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +":لاحظ المعلومات هنا تستخدم فقط للشروح. تحفظ المعلومات في المستندات " +"المشروحة، وبالتالي سترسل مع المستند." + +#: part/dlgannotations.cpp:48 +#, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

Quick Annotation Tools

" +msgstr "

أدوات الشرح السريع

" + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "اختر المحرر الذي تريد إطلاقه عندما يريد أوكلار فتح ملف مصدر." + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "محرر نصوص مخصص" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "كيت" + +#: part/dlgeditor.cpp:31 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "كايل" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "عميل إي ماكس" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "عميل lyx" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "TeXstudio" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "TeXiFy IDEA" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "المحرر:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
\n" +"You can also put few placeholders:\n" +"
    \n" +"
  • %f - the file name
  • \n" +"
  • %l - the line of the file to be reached
  • \n" +"
  • %c - the column of the file to be reached
  • \n" +"
\n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"ضع الأمر محرر النصوص المخصص لينفذ.
\n" +"يمكنك أيضا أن تضع بعض ماسكات الأمكنة:\n" +"
    \n" +"
  • %f - اسم الملف
  • \n" +"
  • %l - السطر المراد الوصول إليه في الملف
  • \n" +"
  • %c -عمود الملف المراد الوصولة إليه
  • \n" +"
\n" +"إذا لم يحدد %f فإن اسم الملف سيضاف إلى الأمر المحدد." + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "الأمر:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "استخدم التمرير الناعم" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "المظهر:" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "اعرض أشرطة التمرير" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "اربط المصغرات بالصفحة" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "اعرض تلميحات و رسائل المعلومات" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "أخطر حول الملفات أو النماذج أو التوقيعات المضمنة" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "اعرض عنوان المستند في شريط العنوان إن وُجِد" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "اعرض فقط اسم الملف" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "اعرض المسار الكامل للملف" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "عند عدم عرض عنوان المستند:" + +#: part/dlggeneral.cpp:92 +#, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "استخدم لون خلفية مخصص:" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "مميزات البرنامج:" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "افتح الملفات الجديدة في ألسِنة" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "بدّل إلى اللسان الموجود إذا كان الملف مفتوح فعلًا" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "أطع تقييدات DRM" + +#: part/dlggeneral.cpp:148 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "أعد تحميل المستند عند تغيّر الملف" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "اعرض حوار اختيار الخلفية" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "اتجاه القراءة من اليمين إلى اليسار" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "استخدم معلومات الملف لتحديد ما إذا كان سيفتح في الوضع المستمر مبدئيًّا" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "للملفات التي دون معلومات ملف، افتح في النمط المستمر مبدئيا" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "افتح في النمط المستمر مبدئيا" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "عند استخدام أداة التصفح، لف المؤشر عند حواف الشاشة" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "العناصر في التاريخ:" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "أعمد العرض العام:" + +#: part/dlggeneral.cpp:220 +#, kde-format +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%v٪" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "تحدِّد مقدار مساحة العرض التي ستبقى ظاهرة عند ضغط مفتاح Page Up/Down." + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "تداخُل مفتاح Page Up/Down:" + +#: part/dlggeneral.cpp:228 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%v٪" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "100٪" + +#: part/dlggeneral.cpp:233 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "لائم العرض" + +#: part/dlggeneral.cpp:234 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "لائم الصفحة" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "لائم آليًّا" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "مخصّص" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" +"يُحدِّد وضع التقريب المبدئيّ للملفات التي لم تُفتَح قبلاً.للملفات المفتوحة قَبلاً " +"يطبق التقريب السابِق." + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "الحجم المبدئي:" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "مكن مؤثرات الشفافية" + +#: part/dlgperformance.cpp:28 +#, kde-format +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "استخدام المعالج:" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "منخفض" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "عادي (المبدئي)" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "شديد" + +#: part/dlgperformance.cpp:38 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "جشع" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "استخدام الذاكرة:" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "فعِّل تنعيم حواف الخط" + +#: part/dlgperformance.cpp:56 +#, kde-format +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "خيارات التصيير:" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "فعِّل تنعيم حواف الرسوميات" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "فعِّل تنعيم النَّص" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"يبقي الذاكرة المستعملة منخفضة قدر الإمكان. لا تعد استعمال أي شيء. (للأنظمة " +"ذات الذاكرة المنخفضة.)" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"جمع جيد بين استعمال الذاكرة و السرعة. تحميل مسبق للصفحة التالية و تسريع " +"البحث. (للأنظمة ذات ذاكرة 2 غ.بايت عادة.)" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"أبق كل شيء في الذاكرة. تحميل مسبق للصفحات التالية. يسرع البحث. (للأنظمة مع " +"أكثر من 4غ.بايت من الذاكرة.)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" +"يُحمِّل ويُبقي كل شيء في الذاكرة. تحميل مسبق للصور. (سيستخدم 50% على الأكثر من " +"الذاكرة الكليّة أو الذاكرة الحرّة لديك، أيهما أكبر)." + +#: part/dlgpresentation.cpp:38 +#, kde-format +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] "كل من الثواني" +msgstr[1] "كل ثانية" +msgstr[2] "كل ثانيتين" +msgstr[3] "كل %v ثوانٍ" +msgstr[4] "كل %v ثانية" +msgstr[5] "كل %vثانية" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "التقدم آليّ:" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "ابدأ من جديد بعد الصفحة الأخيرة" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "اطرق يمين/يسار لتذهب للأمام/للخلف" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "اطرق في أي مكان لتذهب للأمام" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "معطّل" + +#: part/dlgpresentation.cpp:63 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "ملاحة اللمس:" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "لون الخلفية:" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "مخفي بعد التأخير" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "ظاهرة دائمًا" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "دائما مخفية" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "مؤشر الفأرة:" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "اعرض مؤشر التقدم" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "اعرض صفحة الملخص" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "فوري (لا يستخدم المتحركات)" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "استبدل" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "انتقال عشوائي" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "ستائر رأسي" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "ستائر أفقي" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "مربع للداخل" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "مربع للخارج" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "إذابة" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "تبهيت" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "لمعان للأسفل" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "لمعان لليمين" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "لمعان يمين-أسفل" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "انقسام أفقي للداخل" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "انقسام أفقي للخارج" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "انقسام رأسي للداخل" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "انقسام رأسي للخارج" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "مسح للأسفل" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "مسح لليمين" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "مسح لليسار" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "مسح للأعلى" + +#: part/dlgpresentation.cpp:121 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "التنقل المبدئي:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "الشاشة المفضلة:" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

Drawing Tools

" +msgstr "

أدوات الرسم

" + +#: part/dlgpresentation.cpp:171 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "الشّاشة الحاليّة" + +#: part/dlgpresentation.cpp:172 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "الشّاشة المبدئية" + +#: part/dlgpresentation.cpp:178 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "الشاشة %1 (%2 %3 %4)" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "الشاشة %1 (مفصولة)" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "أداة الرسم: %1" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "ممحاة" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "الا&سم:" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "النو&ع:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "المظهر" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "إبراز النَّص" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "أشكال هندسية" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "أنشئ أداة شرح" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "حرّر أداة شرح" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "اللون:" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "&عرض القلم:" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "%v بكسل" + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "أنشئ أداة رسم" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "حرّر أداة رسم" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "غير معروف" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "ملفات مضمنة" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "اعرض" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "الاسم" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "الوصف" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "الحجم" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "أُنشئ" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "عُدل" + +#: part/embeddedfilesdialog.cpp:154 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "ا&حفظ ك‍…" + +#: part/embeddedfilesdialog.cpp:155 +#, kde-format +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "ا&عرض…" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "تعذر تحميل جزء معاينة الطباعة" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "معاينة الطباعة" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "أغلق" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "ا&عثر:" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "النص للبحث عنه" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "التالي" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "اذهب للمطابقة التالية" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "اذهب للمطابقة السابقة" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "انتقل إلى المطابقة السابقة" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "عدل سلوك البحث" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "حساس للحالة" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "من الصفحة الحالية" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "اعثر وأنت تكتب" + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "كلّ الملفّات (*)" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "مكان التوقيع (انقر للتوقيع)" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "&وقّع…" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "خصائص التوقيع" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "خيارات البحث" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "حساس للحالة" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "تعبير اعتياديّ" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "الطّبقات" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "من" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "تكبير" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "قرّب إلى 100٪" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "أدر للي&مين" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "يمين" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "أدر للي&سار" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "يسار" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "الاتجاه الأصلي" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "ا&قتصّ العرض" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "ا&قتصّ الهوامش" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "اقتصّ إلى الت&حديد" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "ملائمة ال&عرض" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "ملائمة ال&صفحة" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "ملاءمة تل&قائيّة" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "لائم ال&نافذة للصفحة" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "نمط ال&عرض" + +#: part/pageview.cpp:594 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "&صفحة مفردة" + +#: part/pageview.cpp:595 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "صفحات &متقابلة" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "صفحات متقابلة (&وسِط الصفحة الأولى)" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "&نظرة عامة" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "&مستمر" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "اجعل اتجاه القراءة من اليمين إلى اليسار" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "ت&صفّح" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "&كبر" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "&تحديد النص" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "تحديد ال&نص" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "تحديد ال&جدول" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "ال&مكبر" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "أدوات التحديد" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "&وقع رقمياً…" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "انطق بالمستند كاملا" + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "انطق بدءًا من الصفحة الحالية" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "انطق بالصفحة الحالية" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "أوقف النطق" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "ألبث/استأنف النطق" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "لف لأعلى" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "لف لأسفل" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "التمرير لأعلى" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "التمرير لأسفل" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "اعرض الاستمارات" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] "حمل مستند ذو %1 صفحة." +msgstr[1] "حمل مستند ذو صفحة واحدة." +msgstr[2] "حمل مستند ذو صفحتين." +msgstr[3] "حمل مستند ذو %1 صفحات." +msgstr[4] "حمل مستند ذو %1 صفحة." +msgstr[5] "حمل مستند ذو %1 صفحة." + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "انسخ محتويات الجدول إلى الحافظة" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "نص (لا محارف)ف" +msgstr[1] "نص (محرف)" +msgstr[2] "نص (محرفان)" +msgstr[3] "نص (%1 محارف)" +msgstr[4] "نص (%1 محرفا)" +msgstr[5] "نص (%1 محرف)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "نسخ إلى الحافظة" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "اقرأ النص" + +#: part/pageview.cpp:2863 +#, kde-format +msgid "Image (%1 × %2 pixels)" +msgstr "صورة (%1 × %2 بكسل)" + +#: part/pageview.cpp:2865 +#, kde-format +msgid "Save to File…" +msgstr "احفظ في ملفّ…" + +#: part/pageview.cpp:2885 +#, kde-format +msgid "Image [%1 × %2] copied to clipboard." +msgstr "الصورة [%1 × %2] نسخت إلى الحافظة" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "احفظ الملف" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "الصور (*.png *.jpeg)" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "الملف لم يحفظ" + +#: part/pageview.cpp:2901 +#, kde-format +msgid "Image [%1 × %2] saved to %3 file." +msgstr "الصورة [%1 × %2] حفظت إلى الملف %3." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "انسخ نص" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "اذهب إلى '%1'" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "لائم العرض" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "لائم الصفحة" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "لائم آليًّا" + +#: part/pageview.cpp:4107 +#, kde-format +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1٪" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "ابحث عن '%1' باستخدام" + +#: part/pageview.cpp:4404 +#, kde-format +msgid "Configure Web Shortcuts…" +msgstr "اضبط اختصارات الوبّ…" + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "اتبع هذه الوصلة" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "شغّل هذا الصوت" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "أوقف الصوت" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "انسخ رابط العنوان" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "ابحث عن '%1' في هذا المستند" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "مرحبا" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "اختر منطقة التكبير. نقرة-يمنى للتصغير." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "اضغط هنا لرؤية العرض المُكَبَّر" + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "ارسم مربعا حول النص/الصورة المراد نسخه." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "حدد نص" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" +"ارسم مستطيلاً حول الجدول، ثم انقر بالفأرة بالقرب من الحافة لتُقَسِّم؛ اضغط Esc " +"للإلغاء." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" +"جميع شهادات توقيعك غير صالحة. في حال كان التوقيع يعمل من قبل، يرجى التحقق من " +"تواريخ صلاحيتها." + +#: part/pageview.cpp:5188 +#, kde-format +msgid "No valid certificates" +msgstr "لا توجد شهادات صالحة" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, kde-format +msgid "Open Certificate Manager" +msgstr "افتح مدير الشهادات" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
Launch Certificate Manager " +"to import or manage certificates
For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" +"لا توجد شهادات توقيع متوفرة.
شغّل مدير الشهادات لاستيراد الشهادات أو " +"إدارتها
لمزيد من المعلومات، يرجى مراجعة القسم حول إضافة " +"التوقيعات الرقمية في الدليل." + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, kde-format +msgid "No certificates found" +msgstr "لم يعثر على أي شهادات" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" +"لا توجد شهادات توقيع متاحة.
لمزيد من المعلومات، يرجى مراجعة القسم حول " +" إضافة التوقيعات الرقمية في الدليل." + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "لديك تغيرات غير محفوظة. رجاء احفظ المستند قبل توقيعه." + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "ارسم مستطيل لإدراج حقل التوقيع" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "ارسم مربعا حول مساحة الصفحة التي تريد أن تجعلها مرئية" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "ملاحظة نصية جديدة" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "نص الملاحظة الجديدة:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"وقع بواسطة: %1\n" +"\n" +"التاريخ: %2" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" +"قد يكون توقيع بهذا الحجم صغيرًا جدًا بحيث لا يمكن قراءته. إذا كنت ترغب في " +"إنشاء توقيع يحتمل أن يكون أكثر قابلية للقراءة، فاضغط على ابدأ من " +"جديد وارسم مستطيلاً أكبر." + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "ابدأ من جديد" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "وقّع" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name" +msgstr "اسم المؤلف" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name for the annotation:" +msgstr "أدخل اسم مؤلف الشرح:" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "ارسم شكل بيضاوي (اسحب لتحديد منطقة)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "أبرِز النَّص" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "ارسم خطًّا حُرًّا" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "تعليق نصي مضمن (اسحب لتحديد محل)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "ضَع ملاحظة منبثقة" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "رسم مضلع (انقر على النقطة الأولى لإغلاقه)" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "ارسم مستطيلاً" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "نصّ متمايِل" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "ضع رمز ختم" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "ارسم خطًّا مستقيماً" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "اشطب النصّ" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "تسطير نص" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "شرح كتابة (اسحب لتحديد محل)" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "قلم التحديد" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "أضف شرح مفضل" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Custom annotation name:" +msgstr "اسم شرح مخصّص:" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&ملف" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "إ&عدادات" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "م&ساعدة" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "الا&تجاه" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "&علامات المواقع" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "شريط أدوات العارِض" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "مصغرات" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "الشروح" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" +"يحتوي هذا المستند على تعليقات توضيحية أو بيانات نموذج حفظت داخليًا بواسطة " +"إصدار أوكلار سابق. وحدة التخزين الداخلية لم تعد مدعومة .
يرجى " +"الحفظ في ملف لنقلهم إذا كنت تريد الاستمرار في تحرير المستند. " + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"هذا المستند فيه ملفات مضمنة. انقر هنا " +"لرؤيتها أو اذهب إلى ملف -> ملفات مضمنة." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "يجري التوقيع، يمكنك تعديل مكان وحجم التوقيع" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "أنهِ التوقيع" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "السابق" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "ارجع للصفحة السابقة" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "انتقل للصفحة السابقة من المستند" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "التالي" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "انتقل إلى الصفحة التالية" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "ينقل إلى الصفحة التالية من المستند" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "بداية المستند" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "ينتقل إلى بداية المستنَد" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "نهاية المستند" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "ينتقل إلى نهاية المستنَد" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "أعد تسمية العلامة الحاليّة" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "العلامة السابقة" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "اذهب إلى العلامة السابقة" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "العلامة التالية" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "اذهب إلى العلامة التالية" + +#: part/part.cpp:748 +#, kde-format +msgid "Configure Okular…" +msgstr "اضبط أوكلار…" + +#: part/part.cpp:751 +#, kde-format +msgid "Configure Viewer…" +msgstr "اضبط العارض…" + +#: part/part.cpp:757 +#, kde-format +msgid "Configure Viewer Backends…" +msgstr "اضبط النهايات الخلفية للعارِض…" + +#: part/part.cpp:759 +#, kde-format +msgid "Configure Backends…" +msgstr "اضبط النهايات الخلفية…" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "حول المنتهى الخلفي" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "أعد ال&تحميل" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "أعد تحميل المستند الحالي من القرص." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "أغلق شريط &بحث" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "رقم الصفحة" + +#: part/part.cpp:817 +#, kde-format +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "اضبط أنماط الألوان…" + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "حدّد كلّ النّصّ في الصفحة الحالية" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "أظهر ال&شريط الجانبي" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "أظهر شريط ال&صفحة" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "اعرض &لوحة التواقيع" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "&ملفات مضمنة" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "&صدِّر إلى" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "&شارك" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "&عرض تقديمي" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "ا&فتح المجلد الحاوي" + +#: part/part.cpp:945 +#, kde-format +msgid "&Import PostScript as PDF…" +msgstr "&استورد PostScript كبي دي اف…" + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "بدل نمط الشاشة السوداء" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "امحُ الرسومات" + +#: part/part.cpp:962 +#, kde-format +msgid "Configure Annotations…" +msgstr "اضبط الشروح…" + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "اعرض أو أوقف العرض مؤقتاً" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" +"لقد عدلت للتو المستند المفتوح، لكن لا يمكن حفظ هذا النوع من المستندات.\n" +"ستفقد أي تعديل بمجرد إغلاق أوكلار." + +#: part/part.cpp:1123 +#, kde-format +msgid "Document can't be saved" +msgstr "لا يمكن حفظ المستند" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "تعذّر فتح '%1' (%2) " + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "ألغي تحميل %1." + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "تعذر فتح %1. السبب: %2" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "اضبط النهايات الخلفية للعارِض" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "اضبط النهايات الخلفية" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"البرنامج \"ps2pdf\" غير موجود، لذا لا يمكن لأوكلار استيراد ملفات PS أو " +"استخدامها." + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "ps2pdf غير موجود" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "ملفات بوست سكربت (%1)" + +#: part/part.cpp:1357 +#, kde-format +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "يستورد ملفات PS كبي دي اف (قد يأخذ هذا وقتا)…" + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "يُرجى إدخال كلمة السر لقراءة المستنَد:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "كلمة سر خاطئة، الرجاء المحاولة مرة أخرى:" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "كلمة سر المستند" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "هذا المستند يحوي نماذج XFA غير مدعومة حاليا." + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"هذا المستند فيه استمارات. انقر على الزر للتعامل معها، أو استعمل عرض -> اعرض " +"الاستمارات." + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" +"عطلت كافة ميزات التحرير والتفاعلية لهذا المستند. لو سمحتاحفظ نسخة وأعد فتحها " +"لتحرير هذا المستند." + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" +"يريد هذا المستند أن يظهر في وضع ملء الشاشة. \n" +"أتغادر الوضع العادي وتدخل إلى وضع العرض التقديمي؟" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "اطلب تغير نمط العرض" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "ادخل وضع العرض التقديمي" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "رفض الطلب" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "تعذّر فتح %1. %2" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" +"الملف %1 به تغييرات غير محفوظة ولكنها عدلت بواسطة " +"برنامج آخر. ستؤدي إعادة تحميله إلى استبدال بالتغييرات غير المحفوظة التغييرات " +"التي تجري في البرنامج الآخر. هل تريد متابعة إعادة تحميل الملف؟" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "عُدل الملفّ" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "واصل إعادة التحميل" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "أحبط إعادة التحميل" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" +"الملف %1 به تغييرات غير محفوظة ولكنها عدلت بواسطة " +"برنامج آخر. سيؤدي إغلاقه إلى استبدال بالتغييرات غير المحفوظة التغييرات التي " +"تجري في البرنامج الآخر. هل تريد متابعة إغلاق الملف؟" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "واصل الغلق" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "أحبط الغلق" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "هل تريد حفظ التغييرات على \"%1\" أم تجاهلها؟" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "أغلق المستند" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"هذا الرابط يشير إلى أمر إغلاق المستند والذي لا يعمل عند استخدام العارض " +"المضمن." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"هذا الرابط يشير إلى أمر الخروج من التطبيق و لا يعمل عند استخدام العراض " +"المضمن." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, kde-format +msgid "Reloading the document…" +msgstr "يعيد تحميل المستند…" + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "المحتويات" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "التواقيع" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "اذهب إلى صفحة" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "&صفحة:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "أدخل اسم جديد للعلامة:" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "أعد تسمية هذه العلامة" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "أزل هذه العلامة" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "احفظ كَ‍" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" +"لقد اخترت حفظ أرشيف أوكلار دون أن ينتهي اسم الملف بالملحق '%1'. هذا غير " +"مسموح هل تريد اختيار اسم جديد؟" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "امتداد غير مدعوم" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "اختر اسم جديد" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" +"غُير الملف %1 بواسطة برنامج آخر. إذا حفظت الآن ستفقد كل " +"التغييرات التي جرت في التطبيق الآخر. هل تريد المتابعة؟" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "تحذير - الحفظ" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "احفظ نسخ في مكان آخر" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
Do you want to continue?" +msgstr "" +"المستند الحالي محمي بكلمة سر.
من أجل الحفظ، يجب إعادة تحميل الملف. " +"ستطالب بكلمة السر مرة أخرى وستفقد سجل التراجع / الإعادة.
هل تريد " +"المتابعة؟" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "تعذر فتح الملف المؤقت للحفظ." + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" +"تعذر الكتابة فوق %1 بسبب أنه للقراءة فقط. حاول حفظه في " +"مكان أخر أو غير أذونات الملف." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
Do you want to continue?" +msgstr "" +"بعد الحفظ، يتطلب تنسيق المستند الحالي إعادة تحميل الملف.ستفقد سجل التراجع / " +"الإعادة الخاص بك.
هل تريد المتابعة؟" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "تعذر حفظ الملف في '%1'. حاول حفظه في مكان آخر." + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "محتوى النموذَج المعبئة" + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "شروح المستخدم" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" +"أنت على وشك حفظ التغييرات، لكن تنسيق الملف الحالي لا يتيح حفظ العناصر " +"التالية. الرجاء استخدام تنسيق أرشيف مستندات أوكلار للحفاظ عليها." + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "تحذير" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "احفظ كأرشيف مستند أوكلار…" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" +"أنت على وشك حفظ التغييرات، لكن تنسيق الملف الحالي لا يتيح حفظ العناصر " +"التالية. الرجاء استخدام تنسيق أرشيف مستندات أوكلار للحفاظ عليها. " +"انقر تابع لتحفظ المستند وتتجاهل هذه العناصر." + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" +"أنت على وشك حفظ التغييرات، لكن تنسيق الملف الحالي لا يتيح حفظ العناصر " +"التالية. الرجاء استخدام تنسيق أرشيف مستندات أوكلار للحفاظ عليها. " +"انقر تابع لتحفظ المستند ولكن ستقد هذه العناصر بالإضافة إلى سجل " +"الإعادة/التراجع." + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "تابع" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "تابع خسارة التغييرات" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "تعذر حفظ الملف في '%1'. %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"لم يتمكن أوكلار من نسخ %1 للموقع المحدد.\n" +"\n" +"المستند لم يعد موجودا." + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "تعذر حفظ الملف في '%1'. الخطأ: '%2'. حاول في مكان آخر." + +#: part/part.cpp:3158 +#, kde-format +msgid "Expand Whole Section" +msgstr "وسع كامل القسم" + +#: part/part.cpp:3159 +#, kde-format +msgid "Collapse Whole Section" +msgstr "اطو كامل القسم" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "زامن المصغرات بالصفحة" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "أدوات" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "انطق" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "اطبع" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "لا يسمح بطباعة هذا المستند." + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "تعذرت طباعة المستند. خطأ غير معروف. يُرجى التبليغ عنه إلى bugs.kde.org" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"تعذرت طباعة المستند. الخطأ بالتفصيل هو \"%1\". يُرجى التبليغ إلى bugs.kde.org" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "اذهب إلى حيث كنت" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "اذهب إلى حيث كنت بعده" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"خطأ ملف! تعذّر إنشاء ملف مؤقّت %1." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded.
" +msgstr "" +"خطأ ملف! تعذّر فتح الملف %1 لفك الضغط. لن يُحمل الملف." + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"يحدث هذا الخطأ إذا لم يكن لديك الصلاحيّات الكافية لقراءة الملف. يمكنك فحص " +"الملكية والصلاحيات إذا ضغطت بالزر الأيمن على الملف في مدير الملفات دولفين ثم " +"اختر لسان `الأذونات`" + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded.
" +msgstr "" +"خطأ ملف! تعذّر فك ضغط الملف %1. لن يُحمل الملف." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"يحدث هذا الخطأ عادة إذا كان الملف معطوباً. إذا أردت أن تتأكد ،ا فحاول فك " +"ضغط الملف يدياً باستخدام أدوات سطر الأوام." + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "لا علامات مواقع" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "حدثت مشكلة في مشاركة المستند: %1" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "شارك" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "شُورك المستند بنجاح" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "ستجد المستند المشارك به في: %1" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "&حرر" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "ا&عرض" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "ا&ذهب" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "&أدوات" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "شريط الأدوات الرئيسي" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "شريط أدوات الشرح" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, kde-format +msgid "Quick Annotation Toolbar" +msgstr "شريط أدوات الشرح السريع" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "خيارات عامة" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "تسهيل الوصول" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "إتاحة مساعدة القراءة" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "الأداء" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "مضبط الأداء" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "اضبط العارض" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "عرض تقديمي" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "خيارات لوضع العرض التقديمي" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "خيارات الشرح" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "المحرر" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "خيارات المحرر" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" +"عين المحرر باستخدام سطر الأوامر إلى \n" +" %1 \n" +"إذا ترغب في استعمال الإعداد، ابدأ أوكلار دون خِيار --editor-cmd" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "بحث عن التالي" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 – عرض تقديميّ" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "بدل الشاشة" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "الشاشة %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "اخرج من وضع العرض التقديمي" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "عنوان: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "الصفحات: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "انقر للبدء" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "أوقف مؤقتاً" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "شغّل" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"هناك طريقتان للخروج من نمط العرض التقديمي، يمكنك ضغط مفتاح ESC أو نقر زر " +"خروج الذي يظهر عند وضع الفأرة على الزاوية العلوية اليسارية. بلا شك يمكنك " +"تدوير النوافذ (Alt+TAB بشكل مبدئي)" + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "إعطاء عرض تقديمي" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "ملف غير معروف" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "خصائص %1" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "&خطوط" + +#: part/propertiesdialog.cpp:145 +#, kde-format +msgid "Reading font information…" +msgstr "يقرأ معلومات الخط…" + +#: part/propertiesdialog.cpp:158 +#, kde-format +msgid "&Page Sizes" +msgstr "أ&حجام الصفحة" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "ا&ستخراج الخط" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "النوع 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "النوع 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "النوع 1C (OT)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "النوع 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "تروتايب" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "تروتايب (OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "نوع CID 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "نوع CID 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "نوع CID 0C (OT)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID تروتايب" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID تروتايب (OT)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "TeX PK" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "تخ افتراضي" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "خط تخ متري" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "تخ فري تايب" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "مجهول" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "مضمن (جزئية)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "مضمن كاملا" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "لا" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "نعم (جزئية)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "نعم" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "%1 (استبدل بـ %2)" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "[غ/م]" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "خط مجهول" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "مضمن: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "الاسم" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "النوع" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "ملف" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "للصفحة" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "الحجم" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "المراجعة السابقة" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "أين تريد حفظ هذه المراجعة؟" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "تعذّر حفظ الملفّ %1." + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "تعذر عرض المراجعة." + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "أدخل 3 حروف على الأقل لترشيح الصفحات" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "حساس للحالة" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "طابق العبارة" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "طابق كل الكلمات" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "طابق أي كلمة" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "خيارات المرشح" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, kde-format +msgid "Certificates" +msgstr "الشّهادات" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "حدد شهادة للتوقيع بها:" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "الكلّ" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, kde-format +msgid "Only QES certificates" +msgstr "شهادات QES فقط" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "مفاتيح PGP فقط" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "السبب:" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, kde-format +msgid "optional" +msgstr "اختياري" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "المكان:" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, kde-format +msgid "Background:" +msgstr "الخلفية:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "اختر..." + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, kde-format +msgid "Recent backgrounds:" +msgstr "خلفيات مستخدمة حديثا:" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

No annotations

To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
" +msgstr "" +"

لا شروح

لإنشاء شرح جديد اضغط F6 أو حدد أدوات -" +"> الشروح من القائمة.
" + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "اجمع حسب الصفحة" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "اجمع حسب المؤلف" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "اعرض الشروح للصفحة الحالية فقط" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "وسع كل العناصر" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "اطو كل العناصر" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "الخصائص" + +#: part/signaturepartutils.cpp:180 +#, kde-format +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "صور (%1)" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "حدد صورة الخلفية" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "انسَ صورة" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "انسَ كل الصور" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "أدخل كلمة السر (إن وجدت) لفتح الشهادة: %1" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "أدخل كلمة سر الشهادة" + +#: part/signaturepartutils.cpp:244 +#, kde-format +msgid "Enter document password" +msgstr "أدخل كلمة سر المستند" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "حفظ الملف الموقع باسم" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "%1_موقع.%2" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "حالة الصلاحية" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "صلاحية التوقيع:" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "تعديلات المستند:" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "معلومات إضافية" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "وقّعها:" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "وقت التوقيع:" + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "إصدار المستند" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "مراجعة المستند %1 من %2" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "اعرض الإصدارة الموقعة…" + +#: part/signaturepropertiesdialog.cpp:95 +#, kde-format +msgid "View Certificate…" +msgstr "اعرض الشهادة…" + +#: part/signaturepropertiesdialog.cpp:97 +#, kde-format +msgid "View in Certificate Manager" +msgstr "اعرض في مدير الشهادات" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "مدير شهادات كيدي (kleopatra) غير موجود" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "المؤهل" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "PGP" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "اعرض الصفحات المعلمة فقط" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "شغّل" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "ألبث" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "أوقف" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "الفيديو غير مدعوم في هذه الإصدارة من أوكلار" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "الفيديو غير مدعوم في هذه الإصدارة من أوكلار" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "أ&ضف…" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, kde-format +msgid "&Edit…" +msgstr "&حرّر…" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "أ&زِل" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "حرك لأ&على" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "انقل لأ&سفل" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "أداة الرسم المبدئية #%1" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "هناك فعلًا أداة بهذا الاسم. سيستخدم المبدئي" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "الاسم المكرر" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "الصفحة من المستند لتعرض" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "ابدأ المستند في نمط العرض التقديمي" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "ابدأ بحوار الطباعة" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "ابدأ بحوار الطباعة ثم اخرج بعد الطباعة" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "تحكم \"بالنسخة الفريدة\" " + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "لا ترفع النافذة" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "اعثر كلمة في النص" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "تعين أمر المحرر الخارجي" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "اسم المستند لفتحه. حدد '-' لتقرأ من stdin." + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" +"لا يمكنك تعيين أمر المحرر لنسخة عاملة من أوكلار. يرجى تعطيل الألسنة وحاول " +"مرة أخرى. يرجى ملاحظة أن النسخة الفريدة غير متاحة أيضًا عند تعيين أمر المحرر " +"في سطر الأوامر.\n" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "خطأ: لا يُمكِن فتح أكثر من مستند واحد باستخدام الخيار unique--" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "خطأ: لا يُمكِن فتح أكثر من مستند واحد باستخدام الخيار presentation--" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "خطأ: لا يُمكِن فتح أكثر من مستند واحد باستخدام الخيار print--" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "خطأ: لا يُمكِن فتح أكثر من مستند واحد باستخدام الخيار page--" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "خطأ: لا يُمكِن فتح أكثر من مستند واحد باستخدام الخيار find--" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "عجز عن إيجاد مكون أوكلار: %1" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "الشريط الجانبي" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "هناك جلسة أوكلار فريدة مفتوحة فعلًا. لن تكون هذه الجلسة جلسة فريدة." + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "عجز عن إيجاد مكون أوكلار." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"انقر لفتح ملف\n" +"انقر و أمسك لفتح ملف أخير" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "انقر لفتح ملف انقر وأمسك لتحديد ملف حديث" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "اللسان التالي" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "اللسان السابق" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "تراجع عن إغلاق اللسان" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "اقفل الشريط الجانبي" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "كلّ الملفّات (*)" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "كلّ الملفّات المدعومة (%1)" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "المستند المفتوح" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "أكد الغلق" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "أغلق الألسنة" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "أنت على وشك غلق الألسنة %1. أمتأكد من المتابعة؟" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "حذرني عند محاولة غلق عدة ألسنة" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "ا&نسخ المسار" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "ا&فتح المجلد الحاوي" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "ان&س هذا العنصر" + +#: shell/welcomescreen.cpp:137 +#, kde-format +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "لا يوجد مستندات حديثة" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "أهلا في أوكلار" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "افتح مستندًا..." + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, kde-format +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "المستندات الحديثة" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "انسَ الكلّ" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "أخف شاشة مرحبا" + +#~ msgid "Geometry with Comment" +#~ msgstr "شكل هندسي مع تعليق" + +#~ msgid "Geometry" +#~ msgstr "هندسي" + +#~ msgctxt "Annotation type: contents" +#~ msgid "%1: %2" +#~ msgstr "%1: %2" + +#~ msgid "Modified: %1" +#~ msgstr "معدل: %1" + +#~ msgid "Find..." +#~ msgstr "بحث..." + +#~ msgid "Go To Page..." +#~ msgstr "اذهب إلى صفحة..." + +#~ msgid "Play movie..." +#~ msgstr "تشغيل عرض..." + +#~ msgid "Search..." +#~ msgstr "ابحث..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "ا&حفظ ك..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "ا&عرض..." + +#~ msgid "&Sign..." +#~ msgstr "&وقّع..." + +#~ msgid "Configure Viewer..." +#~ msgstr "اضبط العارض..." + +#~ msgid "Configure Viewer Backends..." +#~ msgstr "اضبط النهايات الخلفية للعارِض..." + +#~ msgid "Configure Backends..." +#~ msgstr "اضبط النهايات الخلفية..." + +#~ msgid "&Add..." +#~ msgstr "أ&ضِف" + +#~ msgid "&Edit..." +#~ msgstr "&حرر..." + +#~ msgctxt "%1 is a file path" +#~ msgid "" +#~ "Could not sign. Invalid certificate password or could not write to '%1'" +#~ msgstr "" +#~ "لا يمكن التوقيع. كلمة مرور الشهادة غير صالحة أو تعذر الكتابة إلى '%1'" + +#, fuzzy +#~| msgid "" +#~| "All your signing certificates are either not valid yet or are past their " +#~| "validity date." +#~ msgid "All your signing certificates are invalid" +#~ msgstr "" +#~ "جميع شهادات التوقيع الخاصة بك إما غير صالحة بعد أو تجاوزت تاريخ صلاحيتها." + +#~ msgid "Unsigned Signature %1" +#~ msgstr "توقيع غير موقع %1" + +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "مجهول" + +#~ msgctxt "Signature type" +#~ msgid "Unsigned signature" +#~ msgstr "توقيع غير موقع" + +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr "٪" + +#~ msgctxt "Spinbox prefix: Advance automatically: every n seconds" +#~ msgid "every " +#~ msgstr "كلّ " + +#~ msgctxt "Suffix for the pen width, eg '10 px'" +#~ msgid " px" +#~ msgstr " بكسل" + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " ٪" + +#~ msgctxt "%1 is a file path" +#~ msgid "Could not sign. Could not write to '%1'" +#~ msgstr "تعذر التوقيع. لم أتمكن من الكتابة إلى '%1'" + +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "٪" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "ناسب العرض" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "ناسب الصفحة" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Auto Fit" +#~ msgstr "لائم آليًّا" + +#~ msgid "*|All Files" +#~ msgstr "*|كل الملفات" + +#~ msgid "Missing alert type" +#~ msgstr "نوع التنبيه مفقود" + +#~ msgid "" +#~ "The file '%1' has been modified by another program, which means it can no " +#~ "longer be saved." +#~ msgstr "" +#~ "عدل الملف '%1' بواسطة برنامج آخر ، مما يعني أنه لم يعد من الممكن حفظه." + +#~ msgid "Show Sidebar" +#~ msgstr "أظهر الشريط الجانبي" + +#~ msgctxt "@info" +#~ msgid "" +#~ "experimental feature.Stamps inserted in PDF documents are " +#~ "not visible in PDF readers other than Okular." +#~ msgstr "" +#~ " ميزة تجريبية. الطوابع المدرجة في مستندات بي دي اف غير " +#~ "مرئية في برامج قراءة بي دي اف بخلاف أوكلار. " + +#~ msgctxt "@info" +#~ msgid "" +#~ "The version of the Poppler library this Okular was compiled with does not " +#~ "support signing documents with passwords. Please ask your provider to " +#~ "update it to 22.02 or later." +#~ msgstr "" +#~ "إصدار مكتبة Poppler التي بني عليها هذه الإصدارة من اوكلار لا تدعم توقيع " +#~ "المستندات بكلمات مرور. يرجى مطالبة مزود الخدمة بتحديثها إلى 22.02 أو أحدث." + +#~ msgctxt "@title:window" +#~ msgid "Poppler library is too old" +#~ msgstr "مكتبة Poppler قديمة جدا" + +#~ msgctxt "@info" +#~ msgid "" +#~ "Stamps inserted in PDF documents are not visible in PDF readers other " +#~ "than Okular" +#~ msgstr "" +#~ "الطوابع المدرجة في مستندات بي دي اف غير مرئية في قارئات بي دي اف بخلاف " +#~ "أوكلار" + +#~ msgctxt "@title:window" +#~ msgid "Experimental feature" +#~ msgstr "ميزة تجريبية" + +#~ msgid "Remove Bookmarks" +#~ msgstr "احذف العلامات" + +#, fuzzy +#~| msgid "&Annotations" +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "ال&شروح" + +#, fuzzy +#~| msgid "Highlight" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "إبراز" + +#, fuzzy +#~| msgid "Underline" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Underline" +#~ msgstr "تسطير" + +#, fuzzy +#~| msgid "Squiggle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Squiggle" +#~ msgstr "خط متعرج" + +#, fuzzy +#~| msgid "Strike Out" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Strike Out" +#~ msgstr "اشطب" + +#, fuzzy +#~| msgid "Insert Text" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "أدرج نصاً" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "ملاحظة مضمنة" + +#, fuzzy +#~| msgctxt "@action:intoolbar Annotation tool" +#~| msgid "Popup Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "ملاحظة منبثقة" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a freehand line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Freehand Line" +#~ msgstr "ارسم خطًّا حُرًّا" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a straight line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Straight line" +#~ msgstr "ارسم خطًّا مستقيماً" + +#, fuzzy +#~| msgid "Arrow" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Arrow" +#~ msgstr "سهم" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a rectangle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Rectangle" +#~ msgstr "ارسم مستطيلاً" + +#, fuzzy +#~| msgid "Cyan Ellipse" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Ellipse" +#~ msgstr "سيان بيضوي" + +#, fuzzy +#~| msgid "Polygon" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Polygon" +#~ msgstr "مضلّع" + +#, fuzzy +#~| msgid "Highlighter" +#~ msgid "Highlight in Yellow" +#~ msgstr "قلم التحديد" + +#, fuzzy +#~| msgid "Highlight with Comment" +#~ msgid "Highlight in Green" +#~ msgstr "إبراز مع تعليق" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgid "Insert Inline Note" +#~ msgstr "ملاحظة مضمنة" + +#, fuzzy +#~| msgctxt "@action:intoolbar Annotation tool" +#~| msgid "Popup Note" +#~ msgid "Insert Popup Note" +#~ msgstr "ملاحظة منبثقة" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "حدد نص" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "حدد نص" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "حدد نص" + +#, fuzzy +#~| msgid "&Magnifier" +#~ msgctxt "verb" +#~ msgid "&Magnify" +#~ msgstr "الم&كبِر" + +#~ msgid "Bookmark annotation" +#~ msgstr "علّم شرح" + +#, fuzzy +#~| msgid "Change &colors" +#~ msgid "&Toggle Change Colors" +#~ msgstr "غير الأ&لوان" + +#, fuzzy +#~| msgid "Enable transitions" +#~ msgctxt "@option:check Config dialog, presentation page, transitions" +#~ msgid "Enable transitions" +#~ msgstr "اسمح بالتنقلات" + +#, fuzzy +#~| msgid "Advance every:" +#~ msgctxt "@label:spinbox Config dialog, presentation page" +#~ msgid "Advance every:" +#~ msgstr "تقدم كل:" + +#, fuzzy +#~| msgid "Background color:" +#~ msgctxt "@label:listbox Config dialog, general page" +#~ msgid "Custom background color:" +#~ msgstr "لون الخلفية:" + +#~ msgid "Draw border around &Images" +#~ msgstr "ارسم حدودا حول ال&صور" + +#~ msgid "Identity" +#~ msgstr "الهوية" + +#, fuzzy +#~| msgid "&Author:" +#~ msgid "Au&thor:" +#~ msgstr "&مؤلف:" + +#~ msgid "View Options" +#~ msgstr "خيارات العرض" + +#~ msgctxt "@info:whatsthis" +#~ msgid "" +#~ "Defines the default zoom mode for files which were never opened before.\n" +#~ "For files which were opened before the previous zoom is applied." +#~ msgstr "" +#~ "يُحدِّد وضع التقريب المبدئيّ للملفات التي لم تُفتَح قبلاً.\n" +#~ "للملفات المفتوحة قَبلاً يتم تطبيق التقريب السابِق." + +#~ msgid "Navigation" +#~ msgstr "الملاحة" + +#~ msgid "Placement" +#~ msgstr "الموضع" + +#~ msgid "Screen:" +#~ msgstr "الشاشة:" + +#~ msgid "&Get Books From Internet..." +#~ msgstr "&احصل على كتب من الإنترنت..." + +#~ msgid "Reviews" +#~ msgstr "مراجعات" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "@item:inlistbox Color name" +#~ msgid "%1" +#~ msgstr "%1:" + +#~ msgid "Hide Forms" +#~ msgstr "اخف الاستمارات" + +#~ msgid "&Review" +#~ msgstr "ال&مراجعة" + +#~ msgid "Annotations author" +#~ msgstr "مؤلف التعليقات" + +#~ msgid "Please insert your name or initials:" +#~ msgstr "ضع اسمك أو بداياته:" + +#~ msgid "Show &Navigation Panel" +#~ msgstr "اعرض &شريط الملاحة" + +#~ msgid "Show Text" +#~ msgstr "اعرض النص" + +#~ msgid "Small Icons" +#~ msgstr "أيقونات صغيرة" + +#~ msgid "Large Icons" +#~ msgstr "أيقونات كبيرة" + +#, fuzzy +#~| msgid "" +#~| "Click to use the current selection tool\n" +#~| "Click and hold to choose another selection tool" +#~ msgid "" +#~ "Click to use the current selection tool\n" +#~ "Click on the arrow to choose another selection tool" +#~ msgstr "" +#~ "انقر لاستخدام أداة التحديد الحالية\n" +#~ "انقر و أمسك لاختيار أداة تحديد أخرى" + +#~ msgid "Created: %1" +#~ msgstr "منشئ: %1" + +#~ msgid "Style" +#~ msgstr "الأسلوب" + +#~ msgid "&Size:" +#~ msgstr "ال&حجم:" + +#~ msgid "Inner color:" +#~ msgstr "لون داخلين:" + +#~ msgid "Name: %1" +#~ msgstr "الاسم: %1" + +#~ msgid "Size: %1" +#~ msgstr "الحجم: %1" + +#~ msgid "&Browse Tool" +#~ msgstr "أداة التصفح" + +#~ msgid "&Zoom Tool" +#~ msgstr "أداة التكبير" + +#~ msgctxt "Zoom Tool" +#~ msgid "Zoom" +#~ msgstr "كبر" + +#~ msgctxt "Select Tool" +#~ msgid "Selection" +#~ msgstr "التحديد" + +#~ msgid "&Text Selection Tool" +#~ msgstr "أداة النص المختار" + +#~ msgid "T&able Selection Tool" +#~ msgstr "أدوات تحديد الج&داول" + +#, fuzzy +#~| msgctxt "Symbol for caret annotations" +#~| msgid "None" +#~ msgid " None" +#~ msgstr "بدون" + +#~ msgid "" +#~ "The document requested to be launched in presentation mode.\n" +#~ "Do you want to allow it?" +#~ msgstr "" +#~ "طلب المستند بتشغيله في نمط العرض التقديمي.\n" +#~ "أترغب بالسماح له؟" + +#~ msgid "Presentation Mode" +#~ msgstr "نمط العرض التقديمي" + +#~ msgid "Allow the presentation mode" +#~ msgstr "اسمح بنمط العرض التقديمي" + +#~ msgid "Do Not Allow" +#~ msgstr "لا تسمح" + +#~ msgid "Do not allow the presentation mode" +#~ msgstr "لا تسمح بنمط العرض التقديمي" + +#~ msgid "Save &Copy As..." +#~ msgstr "حفظ &نسخة ك..." + +#~ msgid "" +#~ "Your annotations will not be exported.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" +#~ msgstr "" +#~ "لن يتم تصدير حواشيك. \n" +#~ "يمكنك تصدير المستند بحواشيه باستخدام ملف -> صدِّر إلى -> أرشيف مستند" + +#~ msgid "" +#~ "End of document reached.\n" +#~ "Continue from the beginning?" +#~ msgstr "" +#~ "وصل إلى نهاية المستند.\n" +#~ "أيتابع من البداية؟" + +#~ msgid "" +#~ "Beginning of document reached.\n" +#~ "Continue from the bottom?" +#~ msgstr "" +#~ "وصل إلى بداية المستند.\n" +#~ "أيتابع من الأسفل؟" + +#~ msgid "Current maintainer" +#~ msgstr "المشرف الحالي" + +#~ msgid " sec." +#~ msgstr "ث." + +#~ msgid "Pencil color:" +#~ msgstr "لون قلم الرصاص:" + +#~ msgctxt "paper size" +#~ msgid "unknown landscape paper size" +#~ msgstr "حجم ورق عرضيّ غير معروف" + +#~ msgctxt "paper size" +#~ msgid "unknown portrait paper size" +#~ msgstr "حجم ورق طوليّ غير معروف" + +#~ msgid "Toggle Drawing Mode" +#~ msgstr "بدل نمط الرسم" + +#~ msgid "Starting Jovie Text-to-Speech service Failed: %1" +#~ msgstr "فشل تشغيل خدمة Jovie ناطِق النصوص: %1" + +#~ msgid "Search Columns" +#~ msgstr "ابحث في الأعمدة" + +#~ msgid "All Visible Columns" +#~ msgstr "كل الأعمدة الظاهرة" + +#~ msgid "No document opened." +#~ msgstr "لا يوجد مستند مفتوح." + +#~ msgid "Can't open more than one document in the unique Okular instance." +#~ msgstr "لا يمكن فتح أكثر من مستند واحد في جلسة أوكلار الفريدة" + +#~ msgid "No matches found for '%1'." +#~ msgstr "لا مطابق ل '%1'." + +#~ msgid "Search in progress..." +#~ msgstr "جاري البحث..." + +#~ msgid "Searching for %1" +#~ msgstr "البحث عن %1" + +#~ msgid "Identity Settings" +#~ msgstr "إعدادات الهوية" + +#~ msgid "Highlight Properties" +#~ msgstr "إضاءة الخصائص" + +#~ msgid "Ink Properties" +#~ msgstr "حبّر الخصائص" + +#~ msgctxt "Annotation tool" +#~ msgid "Text Annotation" +#~ msgstr "تعليق نصي" + +#~ msgctxt "Annotation tool" +#~ msgid "Green Ink" +#~ msgstr "حبر أخضر" + +#~ msgctxt "Annotation tool" +#~ msgid "Yellow Highlight" +#~ msgstr "إضاءة صفراء" + +#~ msgctxt "Annotation tool" +#~ msgid "Straight Yellow Line" +#~ msgstr "خط أصفر مستقيم" + +#~ msgid "Black Underlining" +#~ msgstr "تسطير أسود" + +#~ msgctxt "Annotation tool" +#~ msgid "Underline the text with a black line" +#~ msgstr "سطّر تحت النص بخط أسود" + +#~ msgctxt "Annotation tool" +#~ msgid "A cyan ellipse" +#~ msgstr "إهليلج سماوي" + +#~ msgid "Ink" +#~ msgstr "الحبر" + +#, fuzzy +#~| msgid "Hide Forms" +#~ msgid "Reset Forms" +#~ msgstr "اخف الاستمارات" + +#~ msgid "Moves to the first page of the document" +#~ msgstr "ينقل إلى الصفحة الأولى من المستند" + +#~ msgid "You must set this name:" +#~ msgstr "يجب تعيين الاسم:" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "%1 is \"Title\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "%1 is \"File Path\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#~ msgctxt "@action:button" +#~ msgid "&Overwrite" +#~ msgstr "ال&كتابة عليه" + +#~ msgid "Pages:" +#~ msgstr "صفحات:" diff --git a/po/ar/okular_comicbook.po b/po/ar/okular_comicbook.po new file mode 100644 index 0000000..00d177b --- /dev/null +++ b/po/ar/okular_comicbook.po @@ -0,0 +1,58 @@ +# translation of okular_comicbook.po to Arabic +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# SPDX-FileCopyrightText: 2008, 2021, 2025 zayed +msgid "" +msgstr "" +"Project-Id-Version: okular_comicbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-08-09 18:28+0400\n" +"Last-Translator: Zayed Al-Saidi \n" +"Language-Team: ar\n" +"Language: ar\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" +"X-Generator: Lokalize 23.08.5\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "زايد السعيدي" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "zayed.alsaidi@gmail.com" + +#: document.cpp:97 +#, kde-format +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "تعذر فتح المستند، لم يعثر على برنامج unrar أو unarchiver" + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "" +"النسخة الموجودة من برنامج unrar على النظام غير مناسبة لفتح مستندات comicbook" + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "تنسيق comicbooks غير معروف" + +#~ msgid "ComicBook Backend" +#~ msgstr "القاعدة الخلفية لـ comicbooks" + +#~ msgid "A renderer for various comic book formats" +#~ msgstr "برنامج لعرض العديد من تنسيقات comicbooks" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "حقوق النسخ 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/ar/okular_djvu.po b/po/ar/okular_djvu.po new file mode 100644 index 0000000..0eae896 --- /dev/null +++ b/po/ar/okular_djvu.po @@ -0,0 +1,138 @@ +# translation of okular_djvu.po to Arabic +# translation of okular_djvu.po to +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Youssef Chahibi , 2007. +# hayig2000 , 2008. +# zayed , 2008. +msgid "" +msgstr "" +"Project-Id-Version: okular_djvu\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-12-17 12:02+0400\n" +"Last-Translator: zayed \n" +"Language-Team: Arabic \n" +"Language: ar\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Mohamed SAAD محمد سعد,زايد السعيدي" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "metehyi@free.fr,zayed.alsaidi@gmail.com" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "المحرر" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "الناشر" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "الحجم" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "نوع المستند" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "مجهول" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "مكوّن الملفات" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "مجهول" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "صفحة مفردة" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "رزمة" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "غير مباشر" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "رزمة (قديم)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "مفهرس (قديم)" + +#~ msgid "DjVu Backend" +#~ msgstr "خلفية DjVu" + +#~ msgid "DjVu backend based on DjVuLibre." +#~ msgstr "خلفية DjVu معتمدة على DjVuLibre" + +#~ msgid "© 2006-2008 Pino Toscano" +#~ msgstr "© 2006-2008 Pino Toscano" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgctxt "Unknown title" +#~ msgid "Unknown" +#~ msgstr "مجهول" + +#~ msgctxt "Unknown author" +#~ msgid "Unknown" +#~ msgstr "مجهول" + +#~ msgctxt "Unknown editor" +#~ msgid "Unknown" +#~ msgstr "مجهول" + +#~ msgctxt "Unknown publisher" +#~ msgid "Unknown" +#~ msgstr "مجهول" + +#~ msgctxt "Unknown creation date" +#~ msgid "Unknown" +#~ msgstr "مجهول" + +#~ msgctxt "Unknown volume information" +#~ msgid "Unknown" +#~ msgstr "مجهول" + +#~ msgctxt "Unknown type of document" +#~ msgid "Unknown" +#~ msgstr "مجهول" diff --git a/po/ar/okular_dvi.po b/po/ar/okular_dvi.po new file mode 100644 index 0000000..41d4470 --- /dev/null +++ b/po/ar/okular_dvi.po @@ -0,0 +1,733 @@ +# translation of okular_dvi.po to Arabic +# translation of okular_dvi.po to +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Youssef Chahibi , 2007. +# hayig2000 , 2008. +# SPDX-FileCopyrightText: 2008, 2021, 2024, 2025 zayed +# Abdalrahim G. Fakhouri , 2014. +msgid "" +msgstr "" +"Project-Id-Version: okular_dvi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-08-13 20:18+0400\n" +"Last-Translator: Zayed Al-Saidi \n" +"Language-Team: ar\n" +"Language: ar\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" +"X-Generator: Lokalize 23.08.5\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "hayig2000,زايد السعيدي,عبدالرحيم الفاخوري" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "hayig2000@gmail.com,zayed.alsaidi@gmail.com,abdilra7eem@yahoo.com" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

" +msgstr "" +"

لم يتمكن أوكلار من العثور على برنامج dvipdfm على حاسوبك. هذا " +"البرنامج ضروريّ لعمل دالة التصدير. على أى حال من الممكن تحويل ملف DVI إلىPDF " +"بإستخدام وظيفة الطباعة لدى أوكلار، لكن هذا عادة سيُنشئ ملفات جيدة للطباعة، " +"ولكن جودتها للعرض في قارئ مستندات أدوبي سيئة للغاية. قد يكون أكثر حكمة أن " +"ترقِّي إلى آخر إصدار من توزيعة التكس التي تتضمن برنامج dvipdfm.

تلميحة إلى مدير النظام المُحتار: أوكلار يستخدم متغيِّر البيئة PATH عندما " +"يبحث عن البرامج.

" + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +" البرنامج الخارجي dvipdfm الذي استخدَم في تصدير الملفّ أقر خطأ. ربما ترغب " +"فى النظر إلى مستند معلومات الحوار الذي ستجده في قائمة " +"الملف لمعرفة الخطأ " + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" +" ملفّ ال DVI يشير إلى رسوم ملفات خارجية ليست فى تنسيق PostScript ولا " +"يمكن معالجتها ببرنامج dvips الذي يستخدمه برنامج أوكلار داخليا فى " +"طبع أو تصدير إلى الPostScript. ولذلك الوظيفة التي تطلبها غير متوافرة فى هذا " +"الإصدار من أوكلار. " + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

" +msgstr "" +"

أوكلار لم يتمكن من العثور على برنامج dvips على جهازك. ذلك " +"البرنامج هو أساسي لعمل دالة التصدير .

تلميحة إلى مدير النظام: أوكلار " +"يستخدم متغير PATH عند البحث على البرامج.

" + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +" البرنامج الخارجي 'dvips'، والذي استخدم لتصدير ملف، بلّغ عن خطأ. ربما " +"ترغب في نظرة إلى مربع حوار معلومات المستند والتي " +"ستجدها في قائمة ملف لتقرير خطأ دقيق. " + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "ملف الـ DVI لا يبدأ بالتمهيد." + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" +"ملف الـ DVI يحوي إصدار خاطئ من مخرجات الـ DVI لهذا البرنامج. تلميحة: إذا كنت " +"تستعمل نظام إعداد الخط أوميغا، يبغي لك استخدام برنامج خاص، مثل oxdvi." + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "ملف DVI تالف جدا. أوكلار تعذر من العثور على الـpostamble." + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "الـpostamble لا يبدأ بأمر اﻹرسال" + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "الـ postamble حوى أمر آخر غير FNTDEF." + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "الصفحة %1 لا تبدأ بأمر BOP." + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

PATH: %2

" +msgstr "" +"

الـبرنامج الخارجى pdf2ps لم يتمكن من الابتداء، " +"كنتيجة لهذا ملف ال PDF %1 لم يكن من الممكن تحويله إلى ال PostScript . " +"ولهذا بعض العناصر التخطيطية لن تعرض.

اﻷسباب المحتملة " +"برنامج pdf2ps ربما لا يكون مُثبّتا أو غير موجود في مسار البحث " +"الحالي

ما الحل برنامجpdf2ps عادة يكون في " +"توزيعات نظام ghostscript PostScript interpreter .. إذا لم يكن ال " +"ghostscript مُثبّت على الجهاز فمن الممكن تثبيته الآن. إذا كنت متأكدا من " +"تثبيت ال ghostscript فرجاء محاولة استخدام pdf2ps من " +"سطر اﻷوامر حتى تتأكد إذا كان يعمل حقا أم لا

PATH: %2

" + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

%2

" +msgstr "" +"

ملفّ الـ PDF %1 لم يكن من الممكن تحويله إلى PostScript. ولهذا بعض " +"العناصر التخطيطية لن تعرض.

اﻷسباب المحتملة ملفّ %1 معطوب أو " +"ليس ملفّ PDF. هذا هو خرج برنامجpdf2ps الذي استعمله " +"أوكلار :

%2

" + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "ملف معطوب. %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "لا يمكن تضمين كل ملفات بوست سكرِبت في مستندِك. %1" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "ضُمنت كل ملفات بوست سكرِبت في مستندِك." + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "الملف المحدد '%1' غير موجود." + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" +"لقد طلبتَ من أوكلار أن يحدد مكان ملف DVI المرتبط بالسطر %1 في ملف تِكس %2. لكن " +"يبدو أن ملف DVI لا يحوي معلومات الملف المصدر الضرورية." + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" +"لم يتمكن أوكلار من إيجاد المكان في ملف DVI المرتبط بالسطر %1 في ملف تِكس %2." + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr " رمز الـ DVI ضبط حرف غير معروف " + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "شفرة الـ DVI تُشير إلى الخط #%1، والذي هو غير معرّف سابقا." + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "المكدس لم يكن فارغا عندما لاقى أمر EOP." + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "المكدس كان فارغا عندما لاقى أمر POP " + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "رمز الـ DVI أشار إلى خط لم يُعرّف" + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "واجه أمر غير شرعي" + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "واجه %1 op-code المجهول." + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "تضمين %1" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
" +msgstr "" +"صفحة %1: ملف ال PDF %2 لم يكن من الممكن تحويله إلى " +"PostScript
" + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
" +msgstr "صفحة %1: ملف ال PostScript %2 لم يعثر عليه.
" + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "معلومات حجم الورق'%1' لا يمكن تحليلها." + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

PATH: %1

%2

" +msgstr "" +"

لم يتمكن أوكلار من إيجاد ملفات الخطوط الضرورية لعرض ملف DVI الحاليّ. " +"قد يكون مستندك غير قابل للقراءة.

المسار: %1

%2

" + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

PATH: %1

%2

" +msgstr "" +"

حدثت مشاكل أثناء تشغيل kpsewhich. نتيجة لذلك، تعذر تحديد بعض " +"ملفات الخطوط، والمستند قد يكون غير مقروء.
الأسباب المحتملة: ربما برنامج " +"kpsewhich غير مثبت في نظامك، أو أنه تعذر إيجاده في مسار البحث " +"الحاليّ.

المسار: %1

%2

" + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" +"أُجهِض توليد الخط باستخدام kpsewhich (معطياً رمز الخطأ %1، والخطأ " +"%2). نتيجة لذلك، فإن بعض ملفات الخطوط تعذر إيجاد مكانها، وقد لا يكون مستندك " +"قابلاً للقراءة." + +#: fontpool.cpp:482 +#, kde-format +msgid "Currently generating %1 at %2 dpi…" +msgstr "يجري توليد %1 بـ %2 نقطة لكل بوصة…" + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "مولد/تاريخ" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "ملف الخط لم يعثر عليه" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "%1 × %2" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "%1 × %2 مم" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "%1 × %2 بوصة" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "عمودي" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "أفقي" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" +"لا يحوي إصدار جوستسكرِبت المثبَّت على هذا الحاسوب أيًّا من معرّفات عتاد جوستسكرِبت " +"التي يعرفها أوكلار. لذا عُطل التعامل مع بوست سكرِبت في أوكلار." + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "ذلك يُحدث 25 خطأ. لن تُطبع رسائل خطأ إضافية ." + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" +"خطأ في ملف ال DVI '%1' صفحة %2. واجه أمر اللون بوب عندما كانت كومة " +"اﻷلوان فارغة." + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" +"معامل مشوّه في الأمر الخاص epsf . \n" +"كان متوقع من الطائف أن يتبع %1 في %2" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"لم يعثر على ملف\n" +" %1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" +"خطأ فى ملف ال DVI '%1' صفحة %2. لم يتمكن من ترجمة الزاوية فى دوران النص " +"الخاص." + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "الأمر الخاص '%1' لم يطبق بعد." + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "ملف الخط %1 يمكن فتحه وقراءته، ولكن صياغ الخط غير مدعوم." + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "ملف الخط %1 تالف، أو لا يمكن فتحه أو قراءته." + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "FreeType بلغ عن خطأ عندما كان يضبط حجم الحرف لملف الخط%1." + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "FreeType عاجز عن تحميل رسمة#%1 من ملف الخط %2." + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "FreeType عاجز عن عرض رسمة#%1 من ملف الخط %2. " + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "رسمة #%1 فارغة." + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "رسمة #%1 من ملف الخط %2 فارغة." + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "FreeType عاجز عن تحميل القياس لل glyph # %1 من ملف الخط %2. " + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "لا يستطيع فتح الخط %1." + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "TexFont_PK::operator[]: المحرف %1 غير معرف في الخط %2" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "غير متوقع %1 في ملف PK %2" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "المحرف %1 كبير جدا في الملف %2" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "رقم خطأ في مجموعة البت المخزنة: المحرف. %1، خط %2" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "ملف pk (%1) غير صالح، مجموعة بت أكثر من اللازم" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "الخط له نسبة عرض إلى إرتفاع غير مربعة" + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "غير قادر على العثور على خط %1, الملف %2." + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "خطأ في تدقيق المجموع لملف الخط %1 " + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "عاجز عن التعرف على تنسيق ملف الخط %1" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"خطأ مُهلِك \n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" +"\n" +"\n" +"هذا على الأرجح يعني إما أنك وجدت عثرة في أوكلار ،\n" +"أو أن ملف الـ DVI، أو أن الملفات الإضافية )مثل ملفات الخط،\n" +"أو ملفات الخط الافتراضي( حقيقةً تالفة.\n" +"أوكلار سيُجهض بعد هذه الرسالة. إذا كنت تعتقد أنك\n" +"وجدت عثرة، أو أن أوكلار ينبغي أن يحّسن في هذه الحالة\n" +"فضلا بلغ عن المشكلة." + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "عثر على أمر بايت خاطئ في قائمة ماكرو VF: %1" + +#~ msgid "" +#~ "

The Ghostview program, which Okular uses internally to display the " +#~ "PostScript graphics that is included in this DVI file, is generally able " +#~ "to write its output in a variety of formats. The sub-programs that " +#~ "Ghostview uses for these tasks are called 'device drivers'; there is one " +#~ "device driver for each format that Ghostview is able to write. Different " +#~ "versions of Ghostview often have different sets of device drivers " +#~ "available. It seems that the version of Ghostview that is installed on " +#~ "this computer does not contain any of the device drivers " +#~ "that are known to Okular.

It seems unlikely that a regular " +#~ "installation of Ghostview would not contain these drivers. This error may " +#~ "therefore point to a serious misconfiguration of the Ghostview " +#~ "installation on your computer.

If you want to fix the problems with " +#~ "Ghostview, you can use the command gs --help to display " +#~ "the list of device drivers contained in Ghostview. Among others, Okular " +#~ "can use the 'png256', 'jpeg' and 'pnm' drivers. Note that Okular needs to " +#~ "be restarted to re-enable PostScript support.

" +#~ msgstr "" +#~ "

برنامج ال Ghostview الذى يستخدمه أوكلار داخليا فى عرض رسوم ال " +#~ "PostScript المدرج فى ملف ال DVI المستخدم حاليا، هو عموما قادر على كتابة " +#~ "الخارج بتنسيقات مختلفة. البرامج الفرعية التي يستخدمها Ghostview لهذه " +#~ "المهام تسمى سواق اﻷدوات؛ يوجد سائق أداة واحد لكل تنسيق ال Ghostview قادر " +#~ "على كتابته. اﻹصدارات المختلفة لل Ghostview عادة تكون لديها مجموعات مختلفة " +#~ "من سواق اﻷدوات متوفرة. يبدو أن إصدار ال Ghostview المثبت على جهازك لا " +#~ "يحوى على أى من سواق اﻷدوات المعروفة لأوكلار.

من " +#~ "الممكن أيضا ،على غير المعتاد، ألا يحتوى التثبيت العادى لل Ghostview على " +#~ "هذة السولق. ولهذا، هذا الخطأ من الممكن أن يشير إلى إعداد خاطئ جدى لل " +#~ "Ghostview على جهازك. .

إذا أردت إصلاح المشاكل المتعاقة بال " +#~ "Ghostview استخدم أمر gs --help لإظهار قائمة عن سواق " +#~ "اﻷدوات المستخدمة في ال Ghostview. من ضمن أشياء آخرى، من الممكن لأوكلار أن " +#~ "يستخدم سواق ال 'png256'و 'jpeg' و 'pnm'. ملاحظة: أوكلار يحتاج إلى إعادة " +#~ "تشغيله حتى يعيد تفعيل دعم ال PostScript.

" + +#~ msgid "DVI Backend" +#~ msgstr "خلفية DVI" + +#~ msgid "A DVI file renderer" +#~ msgstr "عارض ملف DVI " + +#~ msgid "© 2006 Luigi Toscano" +#~ msgstr "© 2006 Luigi Toscano" + +#~ msgid "" +#~ "

Okular relies on the kpsewhich program to locate font files on " +#~ "your hard disk and to generate PK fonts, if necessary.

" +#~ msgstr "" +#~ "

أوكلار يعتمد على kpsewhich لتحديد ملفات الخطوط على القرص " +#~ "الصلب حتى يولد خطوط ال PK فى الضرورة

" + +#~ msgid "Okular is currently generating bitmap fonts..." +#~ msgstr "أوكلار يقوم حاليا بتوليد الصور النقطية للخطوط..." + +#~ msgid "Aborts the font generation. Do not do this." +#~ msgstr "هذا يجهض عملية توليد الخطوط لا تقم بذلك" + +#~ msgid "" +#~ "Okular is currently generating bitmap fonts which are needed to display " +#~ "your document. For this, Okular uses a number of external programs, such " +#~ "as MetaFont. You can find the output of these programs later in the " +#~ "document info dialog." +#~ msgstr "" +#~ "الأوكلار حاليا يولد خطوط الصورة النقطية والتي يُحتاج إليها في عرض " +#~ "مستنداتك. لهذا، أوكلار يستخدم عدد من البرامج الخارجية مثل MetaFont. يمكنك " +#~ "أن تجد الخارج لهذه البرامج لاحقا في مربع معلومات المستند. " + +#~ msgid "Okular is generating fonts. Please wait." +#~ msgstr "يقوم أوكلار حاليا بتوليد الخطوط. فضلا انتظر." + +#~ msgid "Font Generation Progress Dialog" +#~ msgstr " مربع عملية توليد الخط " + +#~ msgid "Abort" +#~ msgstr "أجهض" + +#~ msgid "What is happening here?" +#~ msgstr "ماذا يحصل هنا؟" + +#~ msgid "%v of %m" +#~ msgstr "%v من %m" + +#~ msgid "Please be patient" +#~ msgstr "فضلا كن صبورا" + +#~ msgid "*.pdf|Portable Document Format (*.pdf)" +#~ msgstr "*.pdf|تنسيق المستند المحمول (*.pdf)" + +#~ msgid "Export File As" +#~ msgstr "صدر الملف كـ" + +#~ msgid "" +#~ "The file %1\n" +#~ "exists. Do you want to overwrite it?" +#~ msgstr "" +#~ "الملف %1\n" +#~ "موجود. هل تريد الكتابة عليه؟" + +#~ msgid "Overwrite File" +#~ msgstr "اكتب على الملف" + +#~ msgid "Overwrite" +#~ msgstr "اكتب فوقه" + +#~ msgid "Using dvipdfm to export the file to PDF" +#~ msgstr "استعمال dvipdfm لتصدير الملف إلى PDF" + +#~ msgid "" +#~ "Okular is currently using the external program 'dvipdfm' to convert your " +#~ "DVI-file to PDF. Sometimes that can take a while because dvipdfm needs to " +#~ "generate its own bitmap fonts Please be patient." +#~ msgstr "" +#~ "أوكلار حاليا يستخدم برنامجا خارجيا 'dvipdfm' لتحويل ملف DVI إلى PDF. " +#~ "أحيانا تأخذ هذه العملية وقتا لأن dvipdfm يحتاج لتوليد الصور النقطية " +#~ "للخطوط الخاصة به فضلا كن صبورا. ." + +#~ msgid "Waiting for dvipdfm to finish..." +#~ msgstr "انتظار dvipdfm لينتهي..." + +#~ msgid "*.ps|PostScript (*.ps)" +#~ msgstr "*.ps|بوست سكربت (*.ps)" + +#~ msgid "Using dvips to export the file to PostScript" +#~ msgstr "إستعمال dvips لتصدير الملف إلى PostScript" + +#~ msgid "" +#~ "Okular is currently using the external program 'dvips' to convert your " +#~ "DVI-file to PostScript. Sometimes that can take a while because dvips " +#~ "needs to generate its own bitmap fonts Please be patient." +#~ msgstr "" +#~ "أوكلار يستخدم حاليا برنامج خارجي 'dvips' لتحويل ملف الـ DVI إلى " +#~ "PostScript. قد يأخذ ذلك أحيانا وقتا لأن dvips يحتاج إلى توليد الصور " +#~ "النقطية للخطوط الخاصة به، فضلا كن صبورا." + +#~ msgid "Waiting for dvips to finish..." +#~ msgstr "ينتظر dvips لينتهي..." + +#~ msgid "Functionality Unavailable" +#~ msgstr "الوظيفة غير متوفّر" + +#~ msgid "" +#~ "File corruption Okular could not interpret your DVI " +#~ "file. This is most commonly caused by a corrupted file." +#~ msgstr "" +#~ " ملف فاسد أوكلار لم يتمكن من ترجمة ملفك ال DVI. " +#~ "هذا يحدث عادة نتيجة ملف فاسد " + +#~ msgid "DVI File Error" +#~ msgstr "خطأ ملف DVI " + +#~ msgid "Not All Font Files Found" +#~ msgstr "لم تتم العثور على كل ملفات الخطوط" + +#~ msgid "Locating fonts..." +#~ msgstr "تحديد خطوط..." + +#~ msgid "Problem locating fonts" +#~ msgstr "لم يتمكن فى العثور على الخطوط" + +#~ msgid "Font generation aborted" +#~ msgstr "تم إجهاض عملية توليد الخط" + +#~ msgid "Export: %1 to PDF" +#~ msgstr "تصدير: %1 إلى PDF" + +#~ msgid "Export: %1 to PostScript" +#~ msgstr "صدر: %1 إلى PostScript" + +#~ msgid "The fontlist is currently empty." +#~ msgstr "قائمة الخطوط فارغة حاليا." + +#~ msgid "TeX Name" +#~ msgstr "اسم TeX " + +#~ msgid "Family" +#~ msgstr "العائلة" + +#~ msgid "Zoom" +#~ msgstr "تكبير" + +#~ msgid "Type" +#~ msgstr "النوع" + +#~ msgid "Encoding" +#~ msgstr "الترميز" + +#~ msgid "Comment" +#~ msgstr "التعليق" + +#~ msgid "TeX virtual" +#~ msgstr "TeX الوهمي" + +#~ msgid "TeX Font Metric" +#~ msgstr "TeX Font Metric" + +#~ msgid "FreeType" +#~ msgstr "FreeType" diff --git a/po/ar/okular_epub.po b/po/ar/okular_epub.po new file mode 100644 index 0000000..2baff9f --- /dev/null +++ b/po/ar/okular_epub.po @@ -0,0 +1,56 @@ +# translation of okular_epub.po to Arabic +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# zayed , 2008, 2021. +# Abdalrahim G. Fakhouri , 2014. +msgid "" +msgstr "" +"Project-Id-Version: okular_epub\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2021-07-06 00:03+0400\n" +"Last-Translator: Zayed Al-Saidi \n" +"Language-Team: ar\n" +"Language: ar\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "زايد السعيدي" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "zayed.alsaidi@gmail.com" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "حدث خطأ أثناء فتح مستند الـ EPub" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "EPub" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "ضبط خلفية EPub" + +#~ msgid "EPub Backend" +#~ msgstr "قاعدة خلفية لـ EPub" + +#~ msgid "An EPub backend" +#~ msgstr "قاعدة خلفية لـ EPub" + +#~ msgid "© 2008 Ely Levy" +#~ msgstr "حقوق النسخ 2008 Ely Levy" + +#~ msgid "Ely Levy" +#~ msgstr "Ely Levy" diff --git a/po/ar/okular_fax.po b/po/ar/okular_fax.po new file mode 100644 index 0000000..7c87cff --- /dev/null +++ b/po/ar/okular_fax.po @@ -0,0 +1,45 @@ +# translation of okular_fax.po to Arabic +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# zayed , 2008. +msgid "" +msgstr "" +"Project-Id-Version: okular_fax\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-12-17 12:03+0400\n" +"Last-Translator: zayed \n" +"Language-Team: Arabic \n" +"Language: ar\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "زايد السعيدي" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "zayed.alsaidi@gmail.com" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "تعذر تحميل المستند" + +#~ msgid "Fax Backend" +#~ msgstr "القاعدة الخلفية للفاكس" + +#~ msgid "A G3/G4 fax document backend" +#~ msgstr "القاعدة الخلفية لمستندات الفاكس G3/G4" + +#~ msgid "© 2008 Tobias Koenig" +#~ msgstr "حقوق النسخ 2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/ar/okular_fictionbook.po b/po/ar/okular_fictionbook.po new file mode 100644 index 0000000..08d7cb6 --- /dev/null +++ b/po/ar/okular_fictionbook.po @@ -0,0 +1,84 @@ +# translation of okular_fictionbook.po to Arabic +# translation of okular_fictionbook.po to +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Youssef Chahibi , 2007. +# ahmad samawi , 2008. +# zayed , 2008, 2021. +# Abdalrahim G. Fakhouri , 2014. +msgid "" +msgstr "" +"Project-Id-Version: okular_fictionbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2021-07-06 00:03+0400\n" +"Last-Translator: Zayed Al-Saidi \n" +"Language-Team: ar\n" +"Language: ar\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Ahmad Samawi" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "ahmad.samawi@gmail.com" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "المستند ليس FictionBook صحيح" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "لا يمكن فتح الملف: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "نوع ملف غير صحيح , ليس ملف أرشيف من نوع zip" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "بنية ملف غير صحيحة (المجلد الرئيسي مفقود)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "لا يوجد محتوى في المستند" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "مستند XML غير صحيح %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "FictionBook" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "ضبط خلفية FictionBook " + +#~ msgid "Fiction Book Backend" +#~ msgstr "منصة خلفية لملفات Fiction book" + +#~ msgid "A renderer for FictionBook eBooks" +#~ msgstr "معالج الكتب الالكترونية الخاصة ب FictionBook" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/ar/okular_ghostview.po b/po/ar/okular_ghostview.po new file mode 100644 index 0000000..8bc36c3 --- /dev/null +++ b/po/ar/okular_ghostview.po @@ -0,0 +1,94 @@ +# translation of okular_ghostview.po to Arabic +# translation of okular_ghostview.po to +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Youssef Chahibi , 2007. +# ahmad samawi , 2008. +# zayed , 2008. +msgid "" +msgstr "" +"Project-Id-Version: okular_ghostview\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-12-23 11:26+0400\n" +"Last-Translator: zayed \n" +"Language-Team: Arabic \n" +"Language: ar\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "احمد السماوي" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "ahmad.samawi@gmail.com" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "استعمل خطوط المنصة" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"تحدد إذا ما كان يستطيع Ghostscript أن يستخدم خطوط المنصة، إذا كان لا؛ فإنه " +"سيستعمل الخطوط المضمنة في المستند." + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "الإعدادات العامة" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "ا&ستعمل خطوط المنصة" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript غوست سكريبت" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "اعدادات منصة غوست سكريبت الخلفية" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "إصدار المستند" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "مستوى اللغة" + +#~ msgid "PS Backend" +#~ msgstr "منصة خلفية لملفات PS" + +#~ msgid "A PostScript file renderer." +#~ msgstr "معالج ملفات بوست سكريبتز" + +#~ msgid "© 2007-2008 Albert Astals Cid" +#~ msgstr "جميع الحقوق محفوظة البرت استلس سيد 2007-2008" + +#~ msgid "Based on the Spectre library." +#~ msgstr "مبني على مكتبة سبيكتري spectre" + +#~ msgid "Albert Astals Cid" +#~ msgstr "البرت استلس سيد" diff --git a/po/ar/okular_kimgio.po b/po/ar/okular_kimgio.po new file mode 100644 index 0000000..0eeb491 --- /dev/null +++ b/po/ar/okular_kimgio.po @@ -0,0 +1,71 @@ +# translation of okular_kimgio.po to Arabic +# translation of okular_kimgio.po to +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Youssef Chahibi , 2007. +# zayed , 2008, 2012, 2021. +msgid "" +msgstr "" +"Project-Id-Version: okular_kimgio\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2021-07-06 00:02+0400\n" +"Last-Translator: Zayed Al-Saidi \n" +"Language-Team: ar\n" +"Language: ar\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "زايد السعيدي" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "zayed.alsaidi@gmail.com" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "عاجز عن تحميل مستند: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" +"يبدو أن هذا المستند غير صحيح. فيما يلي أفضل تقدير تقريبي للمظهر المقصود من " +"المستند." + +#~ msgid "Image Backend" +#~ msgstr "محرك الصور" + +#~ msgid "A simple image backend" +#~ msgstr "محرك صور بسيط" + +#~ msgid "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" +#~ msgstr "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" + +#~ msgid "Main Toolbar" +#~ msgstr "شريط الأدوات الرئيسي" diff --git a/po/ar/okular_markdown.po b/po/ar/okular_markdown.po new file mode 100644 index 0000000..bbc32e8 --- /dev/null +++ b/po/ar/okular_markdown.po @@ -0,0 +1,53 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Zayed Al-Saidi , 2021. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2021-07-06 00:02+0400\n" +"Last-Translator: Zayed Al-Saidi \n" +"Language-Team: ar\n" +"Language: ar\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "زايد السعيدي" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "zayed.alsaidi@gmail.com" + +#: converter.cpp:59 converter.cpp:93 +#, kde-format +msgid "Failed to open the document" +msgstr "فشل في فتح الملفّ" + +#: converter.cpp:106 converter.cpp:124 +#, kde-format +msgid "Failed to compile the Markdown document." +msgstr "فشل في تصيير مستند مارك داون" + +#: generator_md.cpp:58 +#, kde-format +msgid "Enable SmartyPants formatting" +msgstr "مكن تنسيقات SmartyPants" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown" +msgstr "مارك‌داون" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown Backend Configuration" +msgstr "ضبط خلفية مارك داون" diff --git a/po/ar/okular_mobi.po b/po/ar/okular_mobi.po new file mode 100644 index 0000000..1ab0e93 --- /dev/null +++ b/po/ar/okular_mobi.po @@ -0,0 +1,61 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Zayed Al-Saidi , 2009, 2021. +# Abdalrahim G. Fakhouri , 2014. +msgid "" +msgstr "" +"Project-Id-Version: okular_mobi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2021-07-06 00:03+0400\n" +"Last-Translator: Zayed Al-Saidi \n" +"Language-Team: ar\n" +"Language: ar\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "زايد السعيدي" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "zayed.alsaidi@gmail.com" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "خطأ أثناء فتح مستند Mobipocket ." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "هذا الكتاب محمي بواسطة DRM و يمكن عرضه فقط في جهاز مخصص" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "Mobipocket" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "ضبط خلفية Mobipocket" + +#~ msgid "Mobipocket Backend" +#~ msgstr "خلفية Mobipocket" + +#~ msgid "A mobipocket backend" +#~ msgstr "خلفية Mobipocket" + +#~ msgid "© 2008-2009 Jakub Stachowski" +#~ msgstr "© 2008-2009 Jakub Stachowski" + +#~ msgid "Jakub Stachowski" +#~ msgstr "Jakub Stachowski" diff --git a/po/ar/okular_poppler.po b/po/ar/okular_poppler.po new file mode 100644 index 0000000..7b7a3c9 --- /dev/null +++ b/po/ar/okular_poppler.po @@ -0,0 +1,426 @@ +# translation of okular_poppler.po to Arabic +# translation of okular_poppler.po to +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Youssef Chahibi , 2007. +# hayig2000 , 2008. +# SPDX-FileCopyrightText: 2008, 2012, 2021, 2023, 2025 zayed +# Abdalrahim G. Fakhouri , 2014. +msgid "" +msgstr "" +"Project-Id-Version: okular_poppler\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-08-05 21:10+0400\n" +"Last-Translator: Zayed Al-Saidi \n" +"Language-Team: ar\n" +"Language: ar\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" +"X-Generator: Lokalize 23.08.5\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "صفا الفليج,زايد السعيدي" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "safa1996alfulaij@gmail.com,zayed.alsaidi@gmail.com" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "مكّن معاينة فوق المطبوع:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "البتة" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "دائمًا" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "آليّ" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "حَسِّن الخطوط الرفيعة" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "لا" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "صلب" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "الشكل" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "وضع التحجيم المبدئي عند الطباعة:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "لائم المنطقة المطبوعة" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "لائم إلى كامل الصفحة" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "بلا، اطبع الحجم الأصلي" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" +"سيسمح تمكين هذا الخيار لأوكلار بالاتصال بخوادم OCSP التابعة لجهات خارجية " +"للتحقق مما إذا كانت الشهادات المستخدمة للتوقيع الرقمي أبطلت منذ إنشائها." + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "تحقق من إبطال شهادات التوقيعات الرقمية باستخدام خوادم خارجية" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "توقيع الخلفية:" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" +"لا يمكن التحقق من صحة هذه التوقيعات إلا من قبل مستخدمي أوكلار الحديثين الذين " +"نشطوا خلفية GnuPG لديهم" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "اسمح بمفاتيح PGP للتوقيعات (امتداد أوكلار)" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "قاعدة الشهادات" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "المبدئيّ:" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "مخصص:" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "الشّهادات المتوفرة" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "&حمّل التوقيعات" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "خيارات بي دي اف" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "اطبع الحواشي" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "ضَمِّن الحواشي في المستند المطبوع" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"ضمِّن الحواشي في المستند المطبوع. عطِّل هذا الخيار إذا كنت تريد طباعة المستند " +"الأصلي غير ذي الحواشي." + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "أجبر التحويل" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "حول إلى صورة قبل الطباعة" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"أجبر تحويل كل صفحة إلى صورة قبل الطباعة. هذا عادة يعطى نتائج أسوا ولكنه مفيد " +"فى طباعة الملفات التى تطبع بشكل خاطئ." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "وضع التحجيم للصفحات المطبوعة" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "وضع الحجم:" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF v. %1.%2" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "التنسيق" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "معمى" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "غير معمى" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "الأمن" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "نعم" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "محسّن" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"وقع بواسطة: %1\n" +"\n" +"التاريخ: %2" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "يستخدم Poppler %1" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" +"يستخدم Poppler %1\n" +"\n" +"بني على Poppler %2" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "بي دي اف" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "ضبط خلفية بي دي اف" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "فشل في كتابة ملف مؤقت" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "فشل في إعادة تسمية ملف مؤقت" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" +"عثر على بعض الأخطاء في المستند، قد لا تتمكن اوكلار من إظهار المحتوى بشكل صحيح" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" +"تعمل هذه التوقيعات فقط بين الإصدارات الحديثة من أوكلار مع تنشيط الواجهة " +"الخلفية المستندة إلى GnuPG" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "مكّن توقيعات PGP" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "أصدر لـ" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "البريد الإلكتروني" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "تاريخ الانتهاء" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" +"أنت تستخدم مكتبة Poppler مبنية دون دعم NSS. \n" +"لا تتوفر إضافة التوقيعات الرقمية لهذا السبب" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "للأبد" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "يلزم إعادة التشغيل" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "تحتاج إلى إعادة تشغيل أوكلار بعد تغيير إعدادات دليل NSS" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter Password" +msgstr "أدخل كلمة السر" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "يرجي إدخال كلمة السر لفتح %1:" + +#~ msgid "Not Available" +#~ msgstr "غير متوفّر" + +#~ msgid "PDF Backend" +#~ msgstr "خلفية PDF" + +#~ msgid "A PDF file renderer" +#~ msgstr "مصير (محول) لملفات PDF" + +#~ msgid "© 2005-2008 Albert Astals Cid" +#~ msgstr "© 2005-2008 Albert Astals Cid" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Saving files with /Encrypt is not supported." +#~ msgstr "حفظ الملفات بالتشفير غير مدعوم." + +#~ msgid "Unknown" +#~ msgstr "مجهول" + +#~ msgid "Unknown Date" +#~ msgstr "التاريخ مجهول" + +#~ msgid "Unknown Encryption" +#~ msgstr "التشفير مجهول" + +#~ msgid "Unknown Optimization" +#~ msgstr "التحسين مجهول" + +#~ msgid "Please enter the password to read the document:" +#~ msgstr "رجاء أدخل كلمة السر لقراءة المستند:" + +#~ msgid "Incorrect password. Try again:" +#~ msgstr "كلمة السر خاطئة حاول مرة آخرى" diff --git a/po/ar/okular_tiff.po b/po/ar/okular_tiff.po new file mode 100644 index 0000000..53f9638 --- /dev/null +++ b/po/ar/okular_tiff.po @@ -0,0 +1,28 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Zayed Al-Saidi , 2021. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2021-07-13 23:08+0400\n" +"Last-Translator: Zayed Al-Saidi \n" +"Language-Team: ar\n" +"Language: ar\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "زايد السعيدي" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "zayed.alsaidi@gmail.com" diff --git a/po/ar/okular_txt.po b/po/ar/okular_txt.po new file mode 100644 index 0000000..23e5d6d --- /dev/null +++ b/po/ar/okular_txt.po @@ -0,0 +1,45 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Abdalrahim G. Fakhouri , 2014. +# Zayed Al-Saidi , 2021. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2021-07-05 23:57+0400\n" +"Last-Translator: Zayed Al-Saidi \n" +"Language-Team: ar\n" +"Language: ar\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "عبدالرحيم الفاخوري" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "abdilra7eem@yahoo.com" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "Txt" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "ضبط خلفية النص" + +#~ msgid "© 2013 Azat Khuzhin" +#~ msgstr "© 2013 Azat Khuzhin" + +#~ msgid "Azat Khuzhin" +#~ msgstr "Azat Khuzhin" diff --git a/po/ar/okular_xps.po b/po/ar/okular_xps.po new file mode 100644 index 0000000..78348de --- /dev/null +++ b/po/ar/okular_xps.po @@ -0,0 +1,59 @@ +# translation of okular_xps.po to Arabic +# translation of okular_xps.po to +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Youssef Chahibi , 2007. +# zayed , 2008. +msgid "" +msgstr "" +"Project-Id-Version: okular_xps\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-12-17 12:03+0400\n" +"Last-Translator: zayed \n" +"Language-Team: Arabic \n" +"Language: ar\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "زايد السعيدي" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "zayed.alsaidi@gmail.com" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "المراجعة" + +#~ msgid "XPS Backend" +#~ msgstr "نهاية خلفية لملفات XPS" + +#~ msgid "An XPS backend" +#~ msgstr "نهاية خلفية لملفات XPS" + +#~ msgid "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" +#~ msgstr "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" + +#~ msgid "Brad Hards" +#~ msgstr "Brad Hards" + +#~ msgid "Jiri Klement" +#~ msgstr "Jiri Klement" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" diff --git a/po/ar/org.kde.active.documentviewer.po b/po/ar/org.kde.active.documentviewer.po new file mode 100644 index 0000000..46ab67f --- /dev/null +++ b/po/ar/org.kde.active.documentviewer.po @@ -0,0 +1,212 @@ +# Copyright (C) 2024 This file is copyright: +# This file is distributed under the same license as the okular package. +# SPDX-FileCopyrightText: 2021, 2022, 2024, 2025 Zayed Al-Saidi +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-31 18:39+0400\n" +"Last-Translator: Zayed Al-Saidi \n" +"Language-Team: ar\n" +"Language: ar\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" +"X-Generator: Lokalize 23.08.5\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "العلامات" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "عارض الشهادة" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "المانح" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "الاسم الشّائع:" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "البريد الإلكترونيّ:" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "المنظّمة:" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "مُنحت لصالح" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "الصّلاحية" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "مُنحت يوم:" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "تنتهي يوم:" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "البصمات" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "بصمة SHA-1:" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "بصمة SHA-256:" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +msgid "Export…" +msgstr "صدر…" + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "أغلق" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "ملف شهادة (*.cer)" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "خطأ" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "لا يمكن تصدير الشهادة" + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "اوكلار" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "افتح…" + +#: ui/Main.qml:49 +msgid "About" +msgstr "عن" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "بحاجة إلى كلمة السر" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "احذف العلامة" + +#: ui/MainView.qml:29 +msgid "Bookmark this page" +msgstr "علّم هذه الصفحة" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "المصغّرات" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "جدول المحتويات" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "التواقيع" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "خصائص التوقيع" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "حالة الصلاحية" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "صلاحية التوقيع:" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "تعديلات المستند:" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "معلومات إضافية" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "وقّعها:" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "وقت التوقيع:" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "السبب:" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "المكان:" + +#: ui/SignaturePropertiesPage.qml:96 +msgid "Document Version" +msgstr "إصدار المستند" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "مراجعة المستند %1 من %2" + +#: ui/SignaturePropertiesPage.qml:108 +msgid "Save Signed Version…" +msgstr "احفظ الإصدارة الموقعة…" + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +msgid "View Certificate…" +msgstr "اعرض الشهادة…" + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "لا يمكن حفظ التوقيع." + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "غير متوفّر" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "لا نتائج." + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "لا يوجد المستند لفتحه" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "المستندات الحديثة" + +#: ui/WelcomeView.qml:108 +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "مستنداتي" + +#~ msgid "Open..." +#~ msgstr "افتح..." + +#~ msgid "Search..." +#~ msgstr "ابحث..." diff --git a/po/ast/okular.po b/po/ast/okular.po new file mode 100644 index 0000000..42374f5 --- /dev/null +++ b/po/ast/okular.po @@ -0,0 +1,5827 @@ +# Copyright (C) 2024 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# SPDX-FileCopyrightText: 2024 Enol P. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-03-27 23:03+0100\n" +"Last-Translator: Enol P. \n" +"Language-Team: Asturian \n" +"Language: ast\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 24.02.1\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Softastur" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "alministradores@softastur.org" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "" + +#: core/action.cpp:197 +#, kde-format +msgid "Execute '%1'…" +msgstr "" + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, kde-format +msgid "Go To Page…" +msgstr "" + +#: core/action.cpp:365 +#, kde-format +msgid "Play sound…" +msgstr "" + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "" + +#: core/action.cpp:483 +#, kde-format +msgid "Play movie…" +msgstr "" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
%1 (%2).

Please select which one to use:
" +msgstr "" + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "" + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "" + +#: core/document.cpp:246 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "" + +#: core/document.cpp:248 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "" + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "" + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "" + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "" + +#: core/document.cpp:6032 +#, kde-format +msgid "MIME Type" +msgstr "" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "" + +#: core/generator.cpp:790 +#, kde-format +msgid "Plain &Text…" +msgstr "" + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "" + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "" + +#: core/signatureutils.cpp:504 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" + +#: core/signatureutils.cpp:506 +#, kde-format +msgid "Unknown signing error" +msgstr "" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "" + +#: gui/certificatemodel.cpp:41 +#, kde-format +msgid "Serial Number" +msgstr "" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "" + +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "" + +#: gui/guiutils.cpp:56 +#, kde-format +msgid "Arrow with Comment" +msgstr "" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "" + +#: gui/guiutils.cpp:71 +#, kde-format +msgid "Rectangle with Comment" +msgstr "" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "" + +#: gui/guiutils.cpp:74 +#, kde-format +msgid "Ellipse with Comment" +msgstr "" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "" + +#: gui/guiutils.cpp:87 +#, kde-format +msgid "Squiggle with Comment" +msgstr "" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "" + +#: gui/guiutils.cpp:91 +#, kde-format +msgid "Underline with Comment" +msgstr "" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out with Comment" +msgstr "" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "" + +#: gui/guiutils.cpp:106 +#, kde-format +msgid "Freehand Line with Comment" +msgstr "" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "" + +#: gui/guiutils.cpp:144 +#, kde-format +msgid "Annotation" +msgstr "" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "" + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "" + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "" + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "" + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "" + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "" + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "" + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "" + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "" + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "" + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "" + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "" + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "" + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "" + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr "" + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "" + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "" + +#: gui/signatureguiutils.cpp:208 +#, kde-format +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "" + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "" + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "" + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" + +#: gui/signaturemodel.cpp:141 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "" + +#: gui/signaturemodel.cpp:177 +#, kde-format +msgid "Location: %1" +msgstr "" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "" + +#: gui/signaturemodel.cpp:193 +#, kde-format +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "" + +#: gui/signaturemodel.cpp:195 +#, kde-format +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "" + +#: gui/signaturemodel.cpp:201 +#, kde-format +msgid "Signature Type: %1" +msgstr "" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "" + +#: part/annotationactionhandler.cpp:151 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:308 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "" + +#: part/annotationactionhandler.cpp:314 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "" + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "" + +#: part/annotationactionhandler.cpp:318 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "" + +#: part/annotationactionhandler.cpp:322 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "" + +#: part/annotationactionhandler.cpp:328 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" + +#: part/annotationactionhandler.cpp:341 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "" + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "" + +#: part/annotationactionhandler.cpp:552 +#, kde-format +msgid "&Annotations" +msgstr "" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "" + +#: part/annotationactionhandler.cpp:554 +#, kde-format +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "" + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "" + +#: part/annotationactionhandler.cpp:651 +#, kde-format +msgid "Quick Annotation Bar" +msgstr "" + +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "" + +#: part/annotationactionhandler.cpp:681 +#, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "" + +#: part/annotationactionhandler.cpp:696 +#, kde-format +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "" + +#: part/annotationmodel.cpp:320 +#, kde-format +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "" + +#: part/annotationpopup.cpp:85 +#, kde-format +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "" +msgstr[1] "" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, kde-format +msgid "Copy Text to Clipboard" +msgstr "" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, kde-format +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, kde-format +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "" + +#: part/annotationwidgets.cpp:531 +#, kde-format +msgid "Leader line length:" +msgstr "" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "" + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "" + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "" + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "" + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "" + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +msgstr[1] "" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, kde-format +msgid "Search…" +msgstr "" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, kde-format +msgid "Expand All" +msgstr "" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, kde-format +msgid "Collapse All" +msgstr "" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "" + +#: part/certificateviewer.cpp:50 +#, kde-format +msgid "Export…" +msgstr "" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "" + +#: part/colormodemenu.cpp:21 +#, kde-format +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "" + +#: part/colormodemenu.cpp:41 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "" + +#: part/colormodemenu.cpp:42 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "" + +#: part/dlgaccessibility.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "" + +#: part/dlgaccessibility.cpp:87 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "" + +#: part/dlgaccessibility.cpp:99 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "" + +#: part/dlgannotations.cpp:25 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "" + +#: part/dlgannotations.cpp:26 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "" + +#: part/dlgannotations.cpp:28 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "" + +#: part/dlgannotations.cpp:34 +#, kde-format +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" + +#: part/dlgannotations.cpp:48 +#, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

Quick Annotation Tools

" +msgstr "" + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "" + +#: part/dlgeditor.cpp:31 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
\n" +"You can also put few placeholders:\n" +"
    \n" +"
  • %f - the file name
  • \n" +"
  • %l - the line of the file to be reached
  • \n" +"
  • %c - the column of the file to be reached
  • \n" +"
\n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "" + +#: part/dlggeneral.cpp:92 +#, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "" + +#: part/dlggeneral.cpp:148 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "" + +#: part/dlggeneral.cpp:220 +#, kde-format +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "" + +#: part/dlggeneral.cpp:228 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "" + +#: part/dlggeneral.cpp:233 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "" + +#: part/dlggeneral.cpp:234 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "" + +#: part/dlgperformance.cpp:28 +#, kde-format +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "" + +#: part/dlgperformance.cpp:38 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "" + +#: part/dlgperformance.cpp:56 +#, kde-format +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" + +#: part/dlgpresentation.cpp:38 +#, kde-format +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] "" +msgstr[1] "" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "" + +#: part/dlgpresentation.cpp:63 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "" + +#: part/dlgpresentation.cpp:121 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

Drawing Tools

" +msgstr "" + +#: part/dlgpresentation.cpp:171 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "" + +#: part/dlgpresentation.cpp:172 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "" + +#: part/dlgpresentation.cpp:178 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "" + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "" + +#: part/embeddedfilesdialog.cpp:154 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "" + +#: part/embeddedfilesdialog.cpp:155 +#, kde-format +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "" + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "" + +#: part/pageview.cpp:594 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "" + +#: part/pageview.cpp:595 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "" + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] "" +msgstr[1] "" + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "" +msgstr[1] "" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "" + +#: part/pageview.cpp:2863 +#, kde-format +msgid "Image (%1 × %2 pixels)" +msgstr "" + +#: part/pageview.cpp:2865 +#, kde-format +msgid "Save to File…" +msgstr "" + +#: part/pageview.cpp:2885 +#, kde-format +msgid "Image [%1 × %2] copied to clipboard." +msgstr "" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "" + +#: part/pageview.cpp:2901 +#, kde-format +msgid "Image [%1 × %2] saved to %3 file." +msgstr "" + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "" + +#: part/pageview.cpp:4107 +#, kde-format +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "" + +#: part/pageview.cpp:4404 +#, kde-format +msgid "Configure Web Shortcuts…" +msgstr "" + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "" + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "" + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "" + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" + +#: part/pageview.cpp:5188 +#, kde-format +msgid "No valid certificates" +msgstr "" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, kde-format +msgid "Open Certificate Manager" +msgstr "" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
Launch Certificate Manager " +"to import or manage certificates
For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, kde-format +msgid "No certificates found" +msgstr "" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name" +msgstr "" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name for the annotation:" +msgstr "" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Custom annotation name:" +msgstr "" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "" + +#: part/part.cpp:748 +#, kde-format +msgid "Configure Okular…" +msgstr "" + +#: part/part.cpp:751 +#, kde-format +msgid "Configure Viewer…" +msgstr "" + +#: part/part.cpp:757 +#, kde-format +msgid "Configure Viewer Backends…" +msgstr "" + +#: part/part.cpp:759 +#, kde-format +msgid "Configure Backends…" +msgstr "" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "" + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "" + +#: part/part.cpp:817 +#, kde-format +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "" + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "" + +#: part/part.cpp:945 +#, kde-format +msgid "&Import PostScript as PDF…" +msgstr "" + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "" + +#: part/part.cpp:962 +#, kde-format +msgid "Configure Annotations…" +msgstr "" + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" + +#: part/part.cpp:1123 +#, kde-format +msgid "Document can't be saved" +msgstr "" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "" + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "" + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "" + +#: part/part.cpp:1357 +#, kde-format +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "" + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" + +#: part/part.cpp:2113 part/part.cpp:2131 +#, kde-format +msgid "Reloading the document…" +msgstr "" + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
Do you want to continue?" +msgstr "" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "" + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
Do you want to continue?" +msgstr "" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "" + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "" + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" + +#: part/part.cpp:3158 +#, kde-format +msgid "Expand Whole Section" +msgstr "" + +#: part/part.cpp:3159 +#, kde-format +msgid "Collapse Whole Section" +msgstr "" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "" + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"
%1." +msgstr "" + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, kde-format +msgid "Quick Annotation Toolbar" +msgstr "" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "" + +#: part/propertiesdialog.cpp:145 +#, kde-format +msgid "Reading font information…" +msgstr "" + +#: part/propertiesdialog.cpp:158 +#, kde-format +msgid "&Page Sizes" +msgstr "" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "" + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "" + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, kde-format +msgid "Certificates" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, kde-format +msgid "Only QES certificates" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, kde-format +msgid "optional" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, kde-format +msgid "Background:" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, kde-format +msgid "Recent backgrounds:" +msgstr "" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

No annotations

To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
" +msgstr "" + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "" + +#: part/signaturepartutils.cpp:180 +#, kde-format +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "" + +#: part/signaturepartutils.cpp:244 +#, kde-format +msgid "Enter document password" +msgstr "" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:95 +#, kde-format +msgid "View Certificate…" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:97 +#, kde-format +msgid "View in Certificate Manager" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, kde-format +msgid "&Edit…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "" + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "" + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "" + +#: shell/welcomescreen.cpp:137 +#, kde-format +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, kde-format +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "" diff --git a/po/ast/okular_comicbook.po b/po/ast/okular_comicbook.po new file mode 100644 index 0000000..099b171 --- /dev/null +++ b/po/ast/okular_comicbook.po @@ -0,0 +1,44 @@ +# Copyright (C) 2024 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# SPDX-FileCopyrightText: 2024 Enol P. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-03-27 23:33+0100\n" +"Last-Translator: Enol P. \n" +"Language-Team: Asturian \n" +"Language: ast\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 24.02.1\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Softastur" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "alministradores@softastur.org" + +#: document.cpp:97 +#, kde-format +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "" + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "" + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "" diff --git a/po/ast/okular_djvu.po b/po/ast/okular_djvu.po new file mode 100644 index 0000000..9412294 --- /dev/null +++ b/po/ast/okular_djvu.po @@ -0,0 +1,95 @@ +# Copyright (C) 2024 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# SPDX-FileCopyrightText: 2024 Enol P. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-03-27 23:38+0100\n" +"Last-Translator: Enol P. \n" +"Language-Team: Asturian \n" +"Language: ast\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 24.02.1\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Softastur" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "alministradores@softastur.org" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "" diff --git a/po/ast/okular_dvi.po b/po/ast/okular_dvi.po new file mode 100644 index 0000000..592716e --- /dev/null +++ b/po/ast/okular_dvi.po @@ -0,0 +1,461 @@ +# Copyright (C) 2024 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# SPDX-FileCopyrightText: 2024 Enol P. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-03-27 23:40+0100\n" +"Last-Translator: Enol P. \n" +"Language-Team: Asturian \n" +"Language: ast\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 24.02.1\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Softastur" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "alministradores@softastur.org" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

" +msgstr "" + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

" +msgstr "" + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "" + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "" + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "" + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "" + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "" + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

PATH: %2

" +msgstr "" + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

%2

" +msgstr "" + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "" + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "" + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "" + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "" + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "" + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "" + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "" + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "" + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "" + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
" +msgstr "" + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
" +msgstr "" + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "" + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

PATH: %1

%2

" +msgstr "" + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

PATH: %1

%2

" +msgstr "" + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" + +#: fontpool.cpp:482 +#, kde-format +msgid "Currently generating %1 at %2 dpi…" +msgstr "" + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "" + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "" + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "" + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "" + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "" + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "" + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "" + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "" + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "" + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "" + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "" + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "" diff --git a/po/ast/okular_epub.po b/po/ast/okular_epub.po new file mode 100644 index 0000000..641765f --- /dev/null +++ b/po/ast/okular_epub.po @@ -0,0 +1,43 @@ +# Copyright (C) 2024 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# SPDX-FileCopyrightText: 2024 Enol P. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-03-27 23:41+0100\n" +"Last-Translator: Enol P. \n" +"Language-Team: Asturian \n" +"Language: ast\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 24.02.1\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Softastur" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "alministradores@softastur.org" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "EPub" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "" diff --git a/po/ast/okular_fax.po b/po/ast/okular_fax.po new file mode 100644 index 0000000..ba9b58c --- /dev/null +++ b/po/ast/okular_fax.po @@ -0,0 +1,33 @@ +# Copyright (C) 2024 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# SPDX-FileCopyrightText: 2024 Enol P. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-03-27 23:44+0100\n" +"Last-Translator: Enol P. \n" +"Language-Team: Asturian \n" +"Language: ast\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 24.02.1\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Softastur" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "alministradores@softastur.org" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "Nun ye posible cargar el documentu" diff --git a/po/ast/okular_fictionbook.po b/po/ast/okular_fictionbook.po new file mode 100644 index 0000000..0aed0a6 --- /dev/null +++ b/po/ast/okular_fictionbook.po @@ -0,0 +1,68 @@ +# Copyright (C) 2024 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# SPDX-FileCopyrightText: 2024 Enol P. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-03-27 23:53+0100\n" +"Last-Translator: Enol P. \n" +"Language-Team: Asturian \n" +"Language: ast\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 24.02.1\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Softastur" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "alministradores@softastur.org" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "" diff --git a/po/ast/okular_ghostview.po b/po/ast/okular_ghostview.po new file mode 100644 index 0000000..36305c1 --- /dev/null +++ b/po/ast/okular_ghostview.po @@ -0,0 +1,74 @@ +# Copyright (C) 2024 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# SPDX-FileCopyrightText: 2024 Enol P. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-03-27 23:53+0100\n" +"Last-Translator: Enol P. \n" +"Language-Team: Asturian \n" +"Language: ast\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 24.02.1\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Softastur" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "alministradores@softastur.org" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "" diff --git a/po/ast/okular_kimgio.po b/po/ast/okular_kimgio.po new file mode 100644 index 0000000..853fe8d --- /dev/null +++ b/po/ast/okular_kimgio.po @@ -0,0 +1,40 @@ +# Copyright (C) 2024 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# SPDX-FileCopyrightText: 2024 Enol P. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-03-27 23:53+0100\n" +"Last-Translator: Enol P. \n" +"Language-Team: Asturian \n" +"Language: ast\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 24.02.1\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Softastur" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "alministradores@softastur.org" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" diff --git a/po/ast/okular_markdown.po b/po/ast/okular_markdown.po new file mode 100644 index 0000000..43a2301 --- /dev/null +++ b/po/ast/okular_markdown.po @@ -0,0 +1,53 @@ +# Copyright (C) 2024 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# SPDX-FileCopyrightText: 2024 Enol P. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-03-27 23:53+0100\n" +"Last-Translator: Enol P. \n" +"Language-Team: Asturian \n" +"Language: ast\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 24.02.1\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Softastur" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "alministradores@softastur.org" + +#: converter.cpp:59 converter.cpp:93 +#, kde-format +msgid "Failed to open the document" +msgstr "" + +#: converter.cpp:106 converter.cpp:124 +#, kde-format +msgid "Failed to compile the Markdown document." +msgstr "" + +#: generator_md.cpp:58 +#, kde-format +msgid "Enable SmartyPants formatting" +msgstr "" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown" +msgstr "" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown Backend Configuration" +msgstr "" diff --git a/po/ast/okular_mobi.po b/po/ast/okular_mobi.po new file mode 100644 index 0000000..a411e99 --- /dev/null +++ b/po/ast/okular_mobi.po @@ -0,0 +1,49 @@ +# Copyright (C) 2024 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# SPDX-FileCopyrightText: 2024 Enol P. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-03-27 23:53+0100\n" +"Last-Translator: Enol P. \n" +"Language-Team: Asturian \n" +"Language: ast\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 24.02.1\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Softastur" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "alministradores@softastur.org" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "" + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "" diff --git a/po/ast/okular_poppler.po b/po/ast/okular_poppler.po new file mode 100644 index 0000000..fd77477 --- /dev/null +++ b/po/ast/okular_poppler.po @@ -0,0 +1,366 @@ +# Copyright (C) 2024 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# SPDX-FileCopyrightText: 2024 Enol P. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-03-27 23:53+0100\n" +"Last-Translator: Enol P. \n" +"Language-Team: Asturian \n" +"Language: ast\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 24.02.1\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter Password" +msgstr "" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "" diff --git a/po/ast/okular_tiff.po b/po/ast/okular_tiff.po new file mode 100644 index 0000000..fd0a9ab --- /dev/null +++ b/po/ast/okular_tiff.po @@ -0,0 +1,28 @@ +# Copyright (C) 2024 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# SPDX-FileCopyrightText: 2024 Enol P. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-03-27 23:54+0100\n" +"Last-Translator: Enol P. \n" +"Language-Team: Asturian \n" +"Language: ast\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 24.02.1\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Softastur" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "alministradores@softastur.org" diff --git a/po/ast/okular_txt.po b/po/ast/okular_txt.po new file mode 100644 index 0000000..515db55 --- /dev/null +++ b/po/ast/okular_txt.po @@ -0,0 +1,38 @@ +# Copyright (C) 2024 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# SPDX-FileCopyrightText: 2024 Enol P. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-03-27 23:54+0100\n" +"Last-Translator: Enol P. \n" +"Language-Team: Asturian \n" +"Language: ast\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 24.02.1\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Softastur" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "alministradores@softastur.org" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "" diff --git a/po/ast/okular_xps.po b/po/ast/okular_xps.po new file mode 100644 index 0000000..34ec4cf --- /dev/null +++ b/po/ast/okular_xps.po @@ -0,0 +1,33 @@ +# Copyright (C) 2024 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# SPDX-FileCopyrightText: 2024 Enol P. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-03-27 23:54+0100\n" +"Last-Translator: Enol P. \n" +"Language-Team: Asturian \n" +"Language: ast\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 24.02.1\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Softastur" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "alministradores@softastur.org" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "Revisión" diff --git a/po/ast/org.kde.active.documentviewer.po b/po/ast/org.kde.active.documentviewer.po new file mode 100644 index 0000000..42ed149 --- /dev/null +++ b/po/ast/org.kde.active.documentviewer.po @@ -0,0 +1,205 @@ +# Copyright (C) 2024 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# SPDX-FileCopyrightText: 2024 Enol P. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-03-27 23:54+0100\n" +"Last-Translator: Enol P. \n" +"Language-Team: Asturian \n" +"Language: ast\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 24.02.1\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "Marcadores" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +msgid "Export…" +msgstr "" + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "" + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "" + +#: ui/Main.qml:49 +msgid "About" +msgstr "" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "" + +#: ui/MainView.qml:29 +msgid "Bookmark this page" +msgstr "" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:96 +msgid "Document Version" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:108 +msgid "Save Signed Version…" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +msgid "View Certificate…" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "" + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "" + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "" + +#: ui/WelcomeView.qml:108 +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "" diff --git a/po/az/okular.po b/po/az/okular.po new file mode 100644 index 0000000..8713f91 --- /dev/null +++ b/po/az/okular.po @@ -0,0 +1,6402 @@ +# Copyright (C) 2023 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# SPDX-FileCopyrightText: 2020, 2021, 2022, 2023, 2024 Kheyyam Gojayev +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-07-05 17:53+0400\n" +"Last-Translator: Khayyam \n" +"Language-Team: Azerbaijani \n" +"Language: az\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 24.05.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Xəyyam Qocayev" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "xxmn77@gmail.com" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Okulyar, universal sənədlərə baxış vasitəsi" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "Əvvəlki Himayəçi" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "" +"Çoxsaylı özül (framework) işləri, FictionBook modulu və kohnə ODT modulu" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "Tərtibatçı" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymanski" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "Okular KPDF kod bazası əsasında yaradılıb" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "Enrico Ros" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "KPDF tərtibatçısı" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "Eugene Trounev" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "Şərhlərin şəkilləndirilməsi" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "Jiri Baum - NICTA" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "Cədvəl seçimi" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "Fabio D'Urso" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "Şərhlərin yaxşılaşdırılması" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "%1 səhifəsinə keçmək" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "Kənar faylı açmaq" + +#: core/action.cpp:197 +#, fuzzy, kde-format +#| msgid "Execute '%1'..." +msgid "Execute '%1'…" +msgstr "'%1' icra etmək..." + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "Birinci Səhifə" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "Əvvəlki Səhifə" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "Növbəti Səhifə" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "Sonuncu Səhifə" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "Geriyə" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "İrəli" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Çıxış" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "Təqdimatı Başlatmaq" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "Təqdimata Düzəliş" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go To Page…" +msgstr "Səhifəyə keçid" + +#: core/action.cpp:365 +#, fuzzy, kde-format +#| msgid "Play sound..." +msgid "Play sound…" +msgstr "Səsləndirmək..." + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "JavaScript Skripti" + +#: core/action.cpp:483 +#, fuzzy, kde-format +#| msgid "Play movie" +msgid "Play movie…" +msgstr "Videonu başlatmaq" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "Videonu başlatmaq" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "Videonu saxlamaq" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "Videoya fasilə" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "Videoya davam" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "Bu Okular audio dəstəyi olmadan yaradılıb" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "Modul seçimi" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
%1 (%2).

Please select which one to use:
" +msgstr "" +"MİME növü üçün birdən çox modul tapıldı:
%1(%2).

İstifadə etmək üçün birini seçin:
" + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "Bir çox səhifələr %1." + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "Portret %1" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "Albom %1" + +#: core/document.cpp:246 +#, fuzzy, kde-format +#| msgctxt "%1 is width, %2 is height, %3 is paper size name" +#| msgid "%1 x %2 in (%3)" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 x %2 in (%3)" + +#: core/document.cpp:248 +#, fuzzy, kde-format +#| msgctxt "%1 is width, %2 is height, %3 is paper size name" +#| msgid "%1 x %2 mm (%3)" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 x %2 mm (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "Axtarışı əvvəldən başlatmaq" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "Axtarışı sondan başlatmaq" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "Sənədin işlənməsi üçün lazım olan modul tapılmadı." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "şərhləri silmək" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"Sənəd xarici tətbiqi icra etməyə cəhd edir, lakin təhlükəsizlik məqsədi ilə " +"Okulyar buna mane olur." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "%1 mime növü faylını açmaq üçün tətbiq tapılmadı." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "Müvəqqəti fayl açıla bilmədi" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "Söhbəti çap etmək baş tutmadı" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "Çap prosesi çökdü" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "Çap prosesi başladıla bilmədi" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "Fayla çap etmək alınmadı" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "Printer lazımi vəziyyətdə deyil" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "Çap etmək üçün fayl tapılmadı" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "Çap etmək üçün fayl yoxdur" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"Çap üçün uyğun proqramı tapmaq mümkün olmadı. CUPS paketindən lpr " +"vasitəsinin mövcud olduğuna əmin olun" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "Səhifənin çap ölçüsü düzgün deyil" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "'%1' açıla bilmədi. Fayl mövcud deyil" + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Başlıq" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Mövzu" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Təsviri" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "Müəllif" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Yaradıcı" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "İstehsalçı" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "Müəllif Hüquqları" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "Səhifələr" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Yaradıldı" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Dəyişdirildi" + +#: core/document.cpp:6032 +#, kde-format +msgid "MIME Type" +msgstr "MİME növü" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "Kateqoriya" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Açar sözlər" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "Fayl yolu" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "Faylın ölçüsü" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "Səhifənin Ölçüsü" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "şərh əlavə etmək" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "şərhi silmək" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "şərhin xüsusiyyətlərini dəyişmək" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "şərhin tərcüməsi" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "şərh əlavə etmək" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "mətnə düzəliş" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "şərhin tərkibini dəyişmək" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "formanın tərkibini dəyişmək" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "forma seçimləri siyahısına düzəliş" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "açılabilən siyahının göstəricilərini dəyişmək" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "forma düyməsininin vəziyyətini dəyişmək" + +#: core/generator.cpp:790 +#, fuzzy, kde-format +#| msgid "Plain &Text..." +msgid "Plain &Text…" +msgstr "Mə&tn formatı..." + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "OpenDocument Mətn" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "Çap seçimləri" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "Çap sahəsinə sığışdırmaq" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "Bütün səhifəyə sığışdırmaq" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "Miqyas rejimi:" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "Bu ismarıcı yenidən göstərməmək" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "Əlçatan deyil" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" + +#: core/signatureutils.cpp:498 +#, fuzzy, kde-kuit-format +#| msgctxt "@info" +#| msgid "Could not load the file %1" +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "%1 faylı yüklənə bilmədi" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "" + +#: core/signatureutils.cpp:504 +#, fuzzy, kde-kuit-format +#| msgctxt "@info" +#| msgid "" +#| "Could not overwrite %1 because that file is read-" +#| "only. Try saving to another location or changing that file's permissions." +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" +"%1 faylı üzərinə yazıla bilmədi, çünki bu fayl yalnız " +"oxumaq üçündür. Başqa yerdə saxlamağa cəhd edinə və ya fayl icazələrini " +"dəyişdirin." + +#: core/signatureutils.cpp:506 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown signing error" +msgstr "Naməlum fayl" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Mənbə: %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "&Standart şrift:" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "Versiya" + +#: gui/certificatemodel.cpp:41 +#, kde-format +msgid "Serial Number" +msgstr "Seriya nömrəsi" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "Təhcizatçı" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "Buraxılma tarixi" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "Bitmə tarixi" + +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Subyekt" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "Publuk açar" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "Açarın təyinatı" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "V%1" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "%1 (%2 bit)" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "Xüsusiyyət" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "Dəyər" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "Açılabilən Qeyd" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "Çap maşını" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "Daxili Qeyd" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +#| msgid "Polygon with Comment" +msgid "Arrow with Comment" +msgstr "Şərhlərdən ibarət çoxbucaqlı" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "Ox" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "Şərhlərdən ibarət birbaşa xətt" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "Birbaşa xətt" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "Şərhlərdən ibarət çoxbucaqlı" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "Çoxbucaqlı" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgid "Stamp with Comment" +msgid "Rectangle with Comment" +msgstr "Şərhlərdən ibarət möhür" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "Düzbucaqlı" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgid "Underline with Comment" +msgid "Ellipse with Comment" +msgstr "Altı cızılan sərhlər" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "Ellips" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "Şərh mətninin vurğulanması" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "Vurğulama" + +#: gui/guiutils.cpp:87 +#, kde-format +msgid "Squiggle with Comment" +msgstr "Dalğavari xətlə altı cizilan şərhlər" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "Dalğavari xətt" + +#: gui/guiutils.cpp:91 +#, kde-format +msgid "Underline with Comment" +msgstr "Altı cızılan sərhlər" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "Alt cizgi" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out with Comment" +msgstr "Üzərindən xətt çəkilən şərhlər" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "Üzərində cizgi" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "Şərhlərdən ibarət möhür" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "Möhür" + +#: gui/guiutils.cpp:106 +#, kde-format +msgid "Freehand Line with Comment" +msgstr "Şərhlərdən ibarət sərbəst xətt" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "Sərbəst xətt" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "Yazı sahəsi" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "Fayl əlavə edilməsi" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "Səs" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "Video" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Ekran" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "Vidjet" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "Rich Media" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation" +msgstr "Annotasiya" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "Naməlum" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Müəllif: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "%1 harada saxlamaq istəyirsiniz?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "%1 yazılmaq üçün aşıla bilmir. Fayl saxlanılmadı." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "İmza kriptoqrafik cəhətdən etibarlıdır." + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "İmza kriptoqrafik cəhətdən etibarsızdır." + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "Yoxlama cəmi səhvdir." + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "CMS/PKCS7 imzalarının tərkibi zədələnib." + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "Tələb edilən imza sənəddə təqdim olunmayıb." + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "İmza yoxlanıla bilmədi." + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "Sertifikat etibarlıdır." + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "Sertifikatın mənbəyi etibarsızdır." + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "Sertifikat mənbəyi naməlumdur." + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "Sertifikat geri çağırılıb." + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "Sertifikatın müddəti bitib." + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "Sertifikat hələlik yoxlanılmayıb." + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "Sertifikatın doğrulanması icra olunur" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "Sertifikat və ya pozulmuş məlumatlarla naməlum problem." + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "MD2" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "MD5" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "SHA1" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "SHA256" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "SHA384" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "SHA512" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "SHA224" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "Naməlum Alqoritm" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "RSA" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "DSA" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "EC" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "Naməlum Növ" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "Elektron İmza" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "Təxirəsalınmaz" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "Şifrələmə açarı" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "Şifrə açma açarı" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "Açarların uzlaşması" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "Sertifikatın imzalanması" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "CRL imzalanması" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "Yalnız şifrələmə" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "İstifadə forması göstərilməyib" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr ", " + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "Sənəddə imzalandıqdan sonra dəyişiklik edilməyib." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "Sənədin buraxılışı " + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "Sənəd əvvəlki imzalayan şəxsin icazəsi olmadan dəyişdirilib." + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "Sənədin bütövlüyünün yoxlanması tamamlana bilmədi." + +#: gui/signatureguiutils.cpp:208 +#, fuzzy, kde-format +#| msgid "This document has unsigned signature fields." +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "Bu sənəd imzalanmamış imza sahələri var." + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "Bu sənəd elektron imza ilə imzalanıb." + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "" +"Bu sənəd elektron imza ilə imzalanıb. Sonuncu imzalanmadan bu yana " +"dəyişikliklər edilib." + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" +"Bu sənəd elektron imza ilə imzalanıb. Bəzi imzalar etibarlılığı yoxlanıla " +"bilmədi." + +#: gui/signaturemodel.cpp:141 +#, fuzzy, kde-format +#| msgid "Signature Validity:" +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "İmzanın etibarlılığı:" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "Sahə: %2 səhifəsində %1" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "Buraxılış %1: %2 tərəfindən imzalanıb" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "İmzalama tarixi: %1" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "Səbəbi: %1" + +#: gui/signaturemodel.cpp:177 +#, kde-format +msgid "Location: %1" +msgstr "Məkan: %1" + +#: gui/signaturemodel.cpp:185 +#, fuzzy, kde-format +#| msgid "Signatures" +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "İmzalar" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "" + +#: gui/signaturemodel.cpp:193 +#, fuzzy, kde-format +#| msgctxt "Unknown author" +#| msgid "Unknown" +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "Naməlum" + +#: gui/signaturemodel.cpp:195 +#, fuzzy, kde-format +#| msgid "Signature Validity:" +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "İmzanın etibarlılığı:" + +#: gui/signaturemodel.cpp:201 +#, fuzzy, kde-format +#| msgid "Signature Validity:" +msgid "Signature Type: %1" +msgstr "İmzanın etibarlılığı:" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "Qırmızı" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "Narıncı" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "Sarı" + +#: part/annotationactionhandler.cpp:151 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "Yaşıl" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "Orta Açıq Mavi" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "Mavi" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "Tünd cəhrayı" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "Ağ" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "Boz" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "Qara" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "Eni %1" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1%" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "Şərhlər sətrinin eni (Şərh seçilməyib)" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "Şərhin rəngi (Şərh seçilməyib)" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "Şərhin dolğu rəngi (Şərh seçilməyib)" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "Şərhin qeyri-şəffaflığı (Şərh seçilməyib)" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "Şərhin şrifti (Şərh seçilməyib)" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "Cari şərhi çevik şərh menyusuna əlavə etmək (Şərh seçilməyib)" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "Formalar nisbətini 1:1 və ya xətt bucağını 15°-yə qədər məhdudlaşdırın" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "Cari şərh aləti üçün əlavə ayarlar (Şərh seçilməyib)" + +#: part/annotationactionhandler.cpp:308 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Şərhlər sətrinin eni" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "Şərhlər sətrinin eni (Cari şərhin sətri ensizdir)" + +#: part/annotationactionhandler.cpp:314 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Şərh mətninin rəngi" + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "Şərhin çərçivəsinin rəngi" + +#: part/annotationactionhandler.cpp:318 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Şərhin rəngi" + +#: part/annotationactionhandler.cpp:322 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Şərhin dolğu rəngi" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "Şərhin dolğu rəngi (Cari şərhin dolğu rəngi yoxdur)" + +#: part/annotationactionhandler.cpp:328 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "Şərhin şrifti" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "Şərhin şrifti (Cari şərhin şrifti yoxdur)" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "Bucaq xəttini 15°-dək məhdudlaşdırmaq" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "Formalar nisbətini 1:1-dək məhdudlaşdırmaq" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" +"Formalar nisbətini 1:1-ə və ya bucaq xəttini 15°-dək məhdudlaşdırmaq (Cari " +"şərh ilə dəstəklənmir)" + +#: part/annotationactionhandler.cpp:341 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Şərhin qeyri-şəffaflığı" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "Cari şərhi çevik şərhlər menyusuna əlavə etmək" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "Cari şərh aləti üçün əlavə ayarlar" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "Rəng" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "Dolğu rəngi" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "Şəffaf" + +#: part/annotationactionhandler.cpp:445 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "Custom Color..." +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "Xüsusi rəng..." + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "Rəngi Seçmək" + +#: part/annotationactionhandler.cpp:552 +#, kde-format +msgid "&Annotations" +msgstr "Şə&rhlər" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "Gizlətmək" + +#: part/annotationactionhandler.cpp:554 +#, kde-format +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Daha çox izahat alətlərini göstərmək" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "Vurğulamaq" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "Alt cizgi" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "Dalğavari xətt" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "Üzərində cizgi" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Çap maşını" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "Daxili Qeyd" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "Ani Qeyd" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "Sərbəst xətt" + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "Birbaşa xətt" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "Ox" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "Düzbucaqlı" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "Ellips" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "Çoxbucaqlı" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "Geometrik fiqur" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "Möhür" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Çevik şərhetmə" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "Çevik şərh menyusundan şərhləri seçmək" + +#: part/annotationactionhandler.cpp:651 +#, kde-format +msgid "Quick Annotation Bar" +msgstr "Çevik şərhetmə paneli" + +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "Çevik şərh menyusuna əlavə etmək" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "Aktiv saxlamaq" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "İstifadə etdikdən sonra şərh alətini aktiv tutmaq" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "" +"Şərh alətlərinin tərəflərinin nisbətini və meyillilik bucağını " +"məhdudlaşdırmaq" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "Şrift" + +#: part/annotationactionhandler.cpp:681 +#, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Şərh ayarları" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "Cizginin eni" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "Qeyri-şəffaflıq" + +#: part/annotationactionhandler.cpp:696 +#, kde-format +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1%" + +#: part/annotationmodel.cpp:320 +#, kde-format +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "Səhifə %1 (%2)" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "Səhifə %1" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "Annotasiya" +msgstr[1] "%1 Şərh" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "&Açılabilən Qeydi açmaq" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Əlfəcini silmək" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Əlfəcin əlavə et" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, kde-format +msgid "Copy Text to Clipboard" +msgstr "Mətni mübadilə yaddaşına kopyalayın" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "Kopyalama DRM tərəfindən qadağan edilmişdir" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "&silin" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "&Xüsusiyyətlər" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, fuzzy, kde-format +#| msgctxt "%1 is the name of the file to save" +#| msgid "&Save '%1'..." +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "\"%1 &saxlayın..." + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "&Xarici görünüş" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "Ə&sas" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&Müəllif:" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "Yaradıldı:" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "Dəyişdirildi:" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "Açılabilən qeydin xüsusiyyətləri" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "Çap maşını xüsusiyyətləri" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "Daxili qeydin xüsusiyyətləri" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "Birbaşa xətt xüsusiyyətləri" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "Çoxbucaqlının xüsusiyyətləri" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "Geometriya xüsusiyyətləri" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "Mətni işarələmə xüsusiyyətləri" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "Möhür xüsusiyyətləri" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "Sərbəst xətt xüsusiyyətləri" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "Yazı səhəsi xüsusiyyətləri" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "Fayl əlavə etmə xüsusiyyətləri" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "Səs xüsusiyyətləri" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "Video xüsusiyyətləri" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "Şərh xüsusiyyətləri" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "Fərdi möhür simvolunu fayldan seçin" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "Fərdi möhür simvolunu seçin" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" +"*.ico *.png *.xpm *.svg *.svgz | Ikon faylları (*.ico *.png *.xpm *.svg *." +"svgz)" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "%1 faylı yüklənə bilmədi" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "Səhv fayl" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&Rəng:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%1%" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "&Qeyri-şəffaflıq:" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "Nişan:" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "Rəy" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "Kömək" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "Daxil etmək" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "Açar" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "Yeni paraqraf" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "Qeyd" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "Paraqraf" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Şrift:" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "Mətnin &rəngi:" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "&Düzəltmək:" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "Sol" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "Mərkəz" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "Sağ" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "Çərçivənin e&ni:" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "Təsdiqləndi" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "Olduğu kimi" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "Məxfi" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "Xidməti istifadə" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "Qaralama" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "Təcrübi" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "Vaxtı bitdi" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "Final" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "Rəy üçün" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "Publik paylaşım üçün" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "Təsdiqlənmədi" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "Publik paylamaq üçün olmayan" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "Satıldı" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "Tam məxfi" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "Əlfəcin" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "Məlumat" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "Möhür simvolu:" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "&Eni:" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "Xəttin başlanğıcı:" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "Xəttin sonu:" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "Kvadrat" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "Dairə" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "Romb" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "Açıq ox" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "Bağlı ox" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "Heç biri" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "Kəsik" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "Sağ aşıq ox" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "Sağ bağlı ox" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "Köndələn xətt" + +#: part/annotationwidgets.cpp:531 +#, kde-format +msgid "Leader line length:" +msgstr "Aparıcı xəttin uzunluğu:" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "Aparıcı xəttin uzantılarının uzunluğu:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "Aktivdir" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "Dolğu:" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Növü:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "Üzərində cizgi" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "Fayl əlavə etmə simvolu:" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "Qrafik" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "Düymə" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "Sancaq" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "Yarlıq" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "Fayl" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "Əlçatmaz" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "Açıqlaması yoxdur." + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "Adı:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "Təsviri:" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "Yazı sahəsi simvolu:" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "Heç biri" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "Bu qeydi bağlamaq" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "Seçimlər" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"Bu şərh LaTeX kodundan ibarət ola bilər.\n" +"Təsvirini işləmək üçün buraya vurun." + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "Latex proqramını tapmaq mümkün olmadı." + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "LaTeX təsvir işlənməsi baş tutmadı" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "Dviping proqramı tapılmadı." + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "'latex' əmrinin icra olunması zamanı problem yarandı." + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "'dvping' əmrinin icra olunması zamanı problem yarandı." + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"%2 əlfəcin" +msgstr[1] "" +"%1\n" +"\n" +"%2 əlfəcin" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Əlfəcinlər" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "Bütün səndləri göstərmək" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, fuzzy, kde-format +#| msgid "S&earch:" +msgid "Search…" +msgstr "&Axtarış:" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, fuzzy, kde-format +#| msgid "Expand all" +msgid "Expand All" +msgstr "Hamısını açmaq" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, fuzzy, kde-format +#| msgid "Collapse all" +msgid "Collapse All" +msgstr "Hamısını yığmaq" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "Bu əlfəcinə keçmək" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "Əlfəcinin adını dəyişmək" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Sənədi açmaq" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "Bu sənədin bütün əlfəcinlərini silin" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "Sertifikata baxış" + +#: part/certificateviewer.cpp:50 +#, fuzzy, kde-format +#| msgid "Export..." +msgid "Export…" +msgstr "İxrac..." + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "Əsas" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "Təhciz edən" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "Tanınmış Adı(CN)" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "E-Poçt" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "Təşkilat(O)" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "Təhciz edən" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "Etibarlılıq Müddəti" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "Möhür izi" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "SHA-1 möhür izi" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "SHA-2 möhür izi" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "Təfərrüatlar" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "Setifikat məlumatları:" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "Bu sertifikatı harada saxlamaq istəyirsiniz?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "Sertifikat faylı (*.cer)" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "Sertifikatı ixrac edilə bilmədi" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "&Rəng rejimi:" + +#: part/colormodemenu.cpp:21 +#, kde-format +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "Rəngləri dəyişmək" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "&Normal rənglər" + +#: part/colormodemenu.cpp:41 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "&Neqativ rənglər" + +#: part/colormodemenu.cpp:42 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "&Kağızın rəngini dəyişmək" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "Tutqun və &İşıqlı rəngləri dəyişmək" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "&Ağ-qaraya çevirmək" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "&Əks İşıqlı" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "Əks p&arlaqlıq (sRGB linear)" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "Əks parlaqlıq (&simmetrik)" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "&Müsbət tona dəyişim" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "Mə&nfi tona dəyişim" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "Qırmızı" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "Yaşıl" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "Mavi" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "Sarı" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "Qara" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "Ağ" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "Sarı rəngli vurğulayıcı" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "Yaşıl rəngli vurğulayıcı" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "Mətn daxil edin" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "Keçidlərin ətrafını çərçivələmək" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "Rəngləri dəyişmək" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "Xəbərdarlıq: bu seçim rəsmçəkmə sürətini kəskin zəiflədir." + +#: part/dlgaccessibility.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "Neqativ rənglər" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "Kağızın rəngini dəyişmək" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "Tutqun və &İşıqlı rəngləri dəyişmək" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "&Ağ-qaraya çevirmək" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "Əks İşıqlı" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "Əks parlaqlıq (sRGB linear)" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "Əks parlaqlıq (simmetrik)" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "Müsbət tona dəyişim" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "Mənfi tona dəyişim" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "Rəng rejimi:" + +#: part/dlgaccessibility.cpp:87 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Kağız rəngi:" + +#: part/dlgaccessibility.cpp:99 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Tünd rəng:" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "İşıqlı rəng:" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "Ərəfə:" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Kontrast:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "Metni oxuma sistemi:" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "Metni oxuma səsi:" + +#: part/dlgannotations.cpp:25 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Tam şərhetmə alət paneli" + +#: part/dlgannotations.cpp:26 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Çevik şərhetmə alət paneli" + +#: part/dlgannotations.cpp:28 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Şərhetmə alət paneli:" + +#: part/dlgannotations.cpp:34 +#, kde-format +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "Müəllif:" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"Qeyd: Buradakı bu məlumat yalnız qeydlər yaratmaq üçün istifadə " +"olunur. Məlumat izahat sənədlərində qeyd olunur və beləcə sənədlə birlikdə " +"ötürüləcəkdir." + +#: part/dlgannotations.cpp:48 +#, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

Quick Annotation Tools

" +msgstr "

Sürətli izahat vazitələri

" + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" +"Mənbə faylını açmaq üçün Okulyarın istifadə etmək istədiyi redaktoru seçin." + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "Xarici mətn redaktoru" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Emacs müştərisi" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "Lyx müştərisi" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "TeXstudio" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "TeXiFy IDEA" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "Redaktor:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
\n" +"You can also put few placeholders:\n" +"
    \n" +"
  • %f - the file name
  • \n" +"
  • %l - the line of the file to be reached
  • \n" +"
  • %c - the column of the file to be reached
  • \n" +"
\n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"Xarici mətn redaktorunu başlatmaq üçün əmr təyin edin.
\n" +"Siz həmçinin ber neçə tamamlayıcı da qoya bilərsiniz\n" +"
    \n" +"
  • %f - faylın adı
  • \n" +"
  • %l - faylın kursor qoyulmalı olan sətri
  • \n" +"
  • %c - faylın kursor qoyulmalı olan sütunu
  • \n" +"
\n" +"Əgər %f göstərilməyibsə, faylın adı göztərilən əmrə əlavə olunur." + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "Əmr:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "Hamar sürüşdürmədən istifadə edin" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "Xarici görünüş:" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "Şürüşdürmə çubuqlarını göstərmək" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "Miniatürləri səhifə ilə əlaqələndirmək" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "Məsləhətlri və məlumat ismarıclarını göstərmək" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "Daxilə yerləşdirilmiş fayllar, formalar və imzalar haqqında bildirin" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "Varsa, başlıq panelində sənədin başlığını göstərmək" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "Yalnız faylın adı görünsün" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "Faylın tam yolu görünsün" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "Sənədin başlığı görünmədikdə:" + +#: part/dlggeneral.cpp:92 +#, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "Başqa arxa fon rəngi:" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "Proqramın imkanları:" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "Yeni faylı vərəqlərdə açmaq" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "Fayl artıq açılıbsa mövcud vərəqə keçmək" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "DRM məhdudiyyətlərinə əməl etmək" + +#: part/dlggeneral.cpp:148 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "Dəyişiklik edildikdə faylı yeniləmək" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "Seçim dialoqu modulunu göstərmək" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "Sağdan sola oxunuş qaydası" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" + +#: part/dlggeneral.cpp:178 +#, fuzzy, kde-format +#| msgctxt "@option:check Config dialog, general page" +#| msgid "Open in continuous mode by default" +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "Əsas olaraq davamlı rejimdə açın" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "Əsas olaraq davamlı rejimdə açın" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" +"\"Baxış\" alətindən istifadə edərkən kursoru ekranın kənarında hərəkət " +"etdirin" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "Baxış sütunları:" + +#: part/dlggeneral.cpp:220 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%1%" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" +"Səhifənin Yuxarı/Aşağı düymələrinə basarkən, nə qədər cari baxış sahəsinin " +"görünən vəziyyətdə qalacağınıi təyin edir." + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "Səhifə Yuxarı/Aşağı üst-üstə düşür:" + +#: part/dlggeneral.cpp:228 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%1%" + +#: part/dlggeneral.cpp:232 +#, fuzzy, kde-format +#| msgctxt "item:inlistbox Config dialog, general page, default zoom" +#| msgid "100%" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "100%" + +#: part/dlggeneral.cpp:233 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "Eninə Sığışdır" + +#: part/dlggeneral.cpp:234 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "Səhifəni Tam Doldur" + +#: part/dlggeneral.cpp:235 +#, fuzzy, kde-format +#| msgid "Auto Fit" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "Avtomatik doldurma" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "" + +#: part/dlggeneral.cpp:237 +#, fuzzy, kde-format +#| msgctxt "item:inlistbox Config dialog, general page, default zoom" +#| msgid "" +#| "Defines the default zoom mode for files which were never opened before. " +#| "For files which were opened before the previous zoom is applied." +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" +"Daha əvvəllər heç aşılmamış fayllar üçün standart miqyası təyi edir. " +"Əvvəllər açılmış fayllar üçün əvvəlki miqyası tətbiq edir." + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "Standart miqyas:" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "Şəffaflığı aktiv etmək" + +#: part/dlgperformance.cpp:28 +#, kde-format +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "CPU istifadəsi:" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "Aşağı" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "Normal (standrt)" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "Aqressiv" + +#: part/dlgperformance.cpp:38 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "Acgöz" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "Yaddaş İstifadəsi:" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "Mətn hamarlamasını aktivləşdirmək" + +#: part/dlgperformance.cpp:56 +#, kde-format +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "Vizuallaşdırma:" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "Qrafik hamarlamanı aktiv etmək" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "Şrift konturunu hamarlamaq" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"Mümkün qədər əməliyyat yaddaşdan az istifadə etməni qorumaq. Başqa heç nəyi " +"təkrar istifadə etməmək. (Əməliyyat yaddaşı az olan sistemlər üçün)" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"İş sürəti və əməli yaddaş istifadəsi arasında daha yaxşı uzlaşma. Növbəti " +"səjifənin təkrar yüklənməsi və axtarışı sürətlənməsi. (2QB əməliyyat " +"yaddaşlı sistemlər üçün)" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"Hər birini yaddaşda saxlamaq. Növbəti səhifəni yenidən yükləmək. Teş " +"axtarış. (4GB-dan yuxarı əməliyyat yaddaşı olan sistemlər üçün)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" +"Hər birini yükləyir və yaddaşda tutur. Bütün səhifələri öncədən yükləmək. " +"(Boş əməliyyat yaddaşının ən çox 50 %-ni istifadə edəcək)." + +#: part/dlgpresentation.cpp:38 +#, fuzzy, kde-format +#| msgctxt "Advance every %1 seconds" +#| msgid " second" +#| msgid_plural " seconds" +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] " saniyə" +msgstr[1] " saniyə" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "Avtomatik irəliləmə:" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "Hər səhifədən sonrakı döngü" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "İrəli/Geri hərəkət üçün Sol/Sağ vuruş" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "İstənilən yerə vurmaqla irəli hərəkət" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "Söndürülüb" + +#: part/dlgpresentation.cpp:63 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Toxunma naviqasiyası:" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "Fon Rəngi:" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "Gecikmədən sonrakı gizlənmə" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "Həmişə görünən" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "Həmişə gizli" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "Siçan kursoru:" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "İş gedişatı indikatorunu göstərmək" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "Nəticələr səhifəsini göstərmək" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "Ani (Heç vaxt animasiyalardan istifadə etməmək)" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "Əvəzləmə" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "Təsadüfi keçid" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "Şaquli kölgələmə" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "Üfüqi kölgələmə" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "Qutu burada" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "Qutu buradan" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "Həll etmə" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "Solma" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "Parıltı aşağı" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "Sağa parıltı" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "Sağa Aşağı parıltı" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "Üfüqi daxilə bölmək" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "Üfüqi xaricə bölmək" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "Şaquli daxilə bölmək" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "Şaquli xaricə bölmək" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "Aşağı itələmək" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "Sağa itələmək" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "Sola itələmək" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "Yuxarı itələmək" + +#: part/dlgpresentation.cpp:121 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Əsas keçid:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "Tərcih edilən ekran:" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

Drawing Tools

" +msgstr "

Rəsm aləti

" + +#: part/dlgpresentation.cpp:171 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Hazırkı ekran" + +#: part/dlgpresentation.cpp:172 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Əsas ekran" + +#: part/dlgpresentation.cpp:178 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "Ekran %1 (%2 %3 %4)" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "Ekran %1 (qoşulmayıb)" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "Rəsm aləti: %1" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "Pozan" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "&Adı:" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "&Növ:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "Xarici görünüş" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "Mətn işarələməsi" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "Geometrik fiqur" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "Şərh verilməsi" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "Şərhlərə düzəliş" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "Rəng:" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "&Cizginin eni:" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "" + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "Rəsmçəkmə aləti yaratmaq" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "Rəsm alətinə düzəliş" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "Naməlum" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Daxili fayllar" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "Baxış" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "Ad" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "Təsviri" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "Ölçü" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "Yaradıldı" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "Dəyişdirildi" + +#: part/embeddedfilesdialog.cpp:154 +#, fuzzy, kde-format +#| msgid "Save As" +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "Belə saxlayın" + +#: part/embeddedfilesdialog.cpp:155 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "&Baxış" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "Çap üçün öncədən baxış hissəsini yükləmək mümkün olmadı" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "Çapa öncədən baxış" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "Bağlamaq" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "&Tapın:" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "Axtarış üçün mətn" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Növbəti" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "Növbəti oxşarına keçid" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Əvvəlki" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "Əvvəlki oxşarına keçid" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "Axtarış parametrlərini dəyişmək" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "Böyük/Kiçik hərflərə həssas" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "Cari səhifədən" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "Yazılana görə axtarmaq" + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "Bütün fayllar (*)" + +#: part/formwidgets.cpp:1280 +#, fuzzy, kde-format +#| msgid "Unsigned Signature Field (Click to Sign)" +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "İmzalanmamış imza sahəsi (İmzalamaq üçün vurun)" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, fuzzy, kde-format +#| msgctxt "@action:button" +#| msgid "Sign" +msgid "&Sign…" +msgstr "İmzalayın" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "İmza xüsusiyyətləri" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "Axtarış seçimləri" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "Böyük/Kiçik hərflərə həssas" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "Müntəzəm ifadə" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "Qatlar" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "-" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "Miqyas" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "Miqyas 100%" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "&Sağa döndərmək" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "Sağ" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "So&la döndərmək" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "Sol" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "Əsl istiqamət" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "Görünüşü &kəsmək" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "Kənarları &kəsmək" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "&Seçilmişi kəsmək" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "Eninə &Sığışdır" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "Sə&hifəni Doldurmaq" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "&Avtomatik doldurma" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "Pə&ncərəni səhifəyə yerləşdirmək" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "&Baxış rejimi" + +#: part/pageview.cpp:594 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "&Tək səhifə" + +#: part/pageview.cpp:595 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "&Dönən səhifələr" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "Dönən səhifələr(İlk səhifəni &mərkəzdə)" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "&Nəzər salamq" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "&Davamlı" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "Sağdan sola oxunuş istiqaməti" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "&Baxmaq" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "&Miqyas" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "Sahə &seçimi" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "Mə&tn seçimi" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "&Cədvəl seçimi" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "&Böyüdücü" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "Seçim alətləri" + +#: part/pageview.cpp:711 +#, fuzzy, kde-format +#| msgid "Digitally &Sign..." +msgid "Digitally &Sign…" +msgstr "Elektron &İmza..." + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "Bütün sənədi səsləndirmək" + +#: part/pageview.cpp:722 +#, fuzzy, kde-format +#| msgid "Speak Current Page" +msgid "Speak From Current Page" +msgstr "Cari sənədi səsləndirmək" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "Cari sənədi səsləndirmək" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "Səsləndirməni dayandırmaq" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "Səsləndirmənin Fasiləsi/Davam edilməsi" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "Yuxarı sürüşdürmək" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Aşağı sürüşdürmək" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "Səhifəni yuxarı sürüşdürmək" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "Səhifəni aşağı sürüşdürmək" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "Formaları göstərmək" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] " %1 səhifəlik sənəd yükləndi" +msgstr[1] " %1 səhifəlik sənəd yükləndi" + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "Cədvəlin tərkiblərini Mübadilə buferinə kopyalamaq" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "Mətn ( %1 simvol)" +msgstr[1] "Mətn ( %1 simvol)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "Mübadilə buferinə kopyalamaq" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "Mətni səsləndirmək" + +#: part/pageview.cpp:2863 +#, fuzzy, kde-format +#| msgid "Image (%1 by %2 pixels)" +msgid "Image (%1 × %2 pixels)" +msgstr "Şəkil (%1 x %2 piksel)" + +#: part/pageview.cpp:2865 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save to File…" +msgstr "Faylda saxlamaq..." + +#: part/pageview.cpp:2885 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] copied to clipboard." +msgid "Image [%1 × %2] copied to clipboard." +msgstr "Şəkil [%1x%2] mübadilə buferinə kopyalandı." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "Faylı saxlayın" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "Şəkillər (*.png *.jpeg)" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "Fayl saxlanılmadı." + +#: part/pageview.cpp:2901 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] saved to %3 file." +msgid "Image [%1 × %2] saved to %3 file." +msgstr "Şəkil [%1x%2] %3 faylında saxlanıldı." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "Mətni Kopyalamaq" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "'%1-ə(a) keçmək'" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "Eninə Sığışdır" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "Səhifəni Tam Doldur" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "Avtomatik doldurma" + +#: part/pageview.cpp:4107 +#, kde-format +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1%" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "\"%1\" ifadəsini bununla axtar" + +#: part/pageview.cpp:4404 +#, fuzzy, kde-format +#| msgid "Configure Web Shortcuts..." +msgid "Configure Web Shortcuts…" +msgstr "Veb Qısaltmalarını Tənzimləmək..." + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "Bu keçidi izləmək" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "Bu səsi oxutmaq" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "Səsi dayandırmaq" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "Keçid ünvanını kopyalamaq" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "Bu sənəddə '%1' axtarmaq" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Xoş Gəldiniz" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "Miqyaslanacaq sahəni seçmək. Sağ kliklə böyüdün." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "Lupa ilə baxmaq üçün vurun." + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "Kpyalamaq üçün mətnin/qrafiklərin ətrafını kvadrata alın." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "Mətni seçmək" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" +"Cədvəlin ətrafını kvadrata alın və, bölmək üçün kənarlarına vurun, silmək " +"üçün Esc vurun." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" + +#: part/pageview.cpp:5188 +#, fuzzy, kde-format +#| msgid "Certificates" +msgid "No valid certificates" +msgstr "Setifikatlar" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, fuzzy, kde-format +#| msgid "View in Certificate Manager" +msgid "Open Certificate Manager" +msgstr "Sertifikat menecerində göstərmək" + +#: part/pageview.cpp:5200 +#, fuzzy, kde-format +#| msgid "" +#| "There are no available signing certificates.
For more information, " +#| "please see the section about Adding Digital Signatures " +#| "in the manual." +msgid "" +"There are no available signing certificates.
Launch Certificate Manager " +"to import or manage certificates
For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" +"Mövcud İmzalama sertifikatları yoxdur.
Daha çox məlumat üçün təlimatda " +"Elektron imza əlavə etmək bölməsinə baxın." + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, fuzzy, kde-format +#| msgid "Certificates" +msgid "No certificates found" +msgstr "Setifikatlar" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" +"Mövcud İmzalama sertifikatları yoxdur.
Daha çox məlumat üçün təlimatda " +"Elektron imza əlavə etmək bölməsinə baxın." + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "Saxlanılmamış dəyişiklikləriniz var. İmzalamadan öncə sənədi saxlayın." + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "Düzbucaqlı çəkərək imzalama sahəsi əlavə edin" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "Görünən kimi saxlamaq üçün sahəni seçin" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "Yeni mətn qeydi" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "Yeni qeydin mətni:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" +"Bu ölşüdə imzalama sahəsi oxumaq üçün çox kiçik ola bilər. Əgər daha " +"oxunaqlı imza yaratmaq istəyirsinizsə Yenidən başlamaq vurun və daha böyük ölçülü düzbucaqlı çəkin." + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "Əvvəldən başlayın" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "İmzalayın" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name" +msgstr "Müəllifin adı" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name for the annotation:" +msgstr "Əlavə şərh üçün müəllifin adı:" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "Ellips çəkin (sahəni siçanla seçin)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "Mətni vurğulamaq" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "Sərbəst xətt çəkin" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "Daxili şərh mətni (sahəni siçanla seçin)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "Asılan qeyd əlavə edin" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "Çoxbucaqlı çəkin (bağlamaq üçün birinci nöqtəyə vurun)" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "Düzbucaqlı çəkin" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "Dalğavari xəttli mətn" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "Möhür simvolu qoyun" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "Birbaşa xətt çəkin" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "Üzəri cizgili mətn" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "Alt cizgili mətn" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "\"Çap maşını\" şərhi (sahəni siçanla seçin)" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "Vurğulayıcı" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "Xüsusi şərhlər əlavə edin" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Custom annotation name:" +msgstr "Şərhə ad verin:" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&Fayl" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "&Ayarlar" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "&Kömək" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "&İstiqamət" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "&Əlfəcinlər" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "Baxış vasitəsinin alətlər paneli" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Miniatürlər" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "Şərhlər" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" +"Bu sənəd şərhlər və ya əvvəlki Okulyar tərəfindən daxili olaraq saxlanılan " +"məlumat formasından ibarətdir. Sənəd daxilində saxlamaq artıq " +"dəstəklənmir.
Sənədin düzəliş edilə bilməsi üçün onu ayrıca faylda " +"saxlamaq lazımdır." + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"Bu sənəddə daxilə quraşdırılmış fayllar var. Onları görmək üçün buraya vurun ə ya Fayl -> Daxili Fayllar bölməsinə " +"keçid edin." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "Əvvəlki" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "Əvvəlki səhifəyə qayıtmaq" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "Sənədin əvvəlki səhifəsinə qayıdır" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "Növbəti" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "Növbəti səhifəyə keçid" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "Sənədin növbəti səhifəsinə keçir" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "Sənədin başlanğıcı" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "Sənədin başlanğıcına keçir" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "Sənədin sonu" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "Sənədin sonuna keçir" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "Cari əlfəcinin adını dəyişmək" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "Əvvəlki Əlfəcin" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "Əvvəlki əlfəcinə keçmək" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "Növbəti əlfəcin" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "Növbəti əlfəcinə keçid" + +#: part/part.cpp:748 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgid "Configure Okular…" +msgstr "Okulyarı tənzimləmək..." + +#: part/part.cpp:751 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Configure Viewer…" +msgstr "Baxış vasitəsinin tənzimlənməsi" + +#: part/part.cpp:757 +#, fuzzy, kde-format +#| msgid "Configure Viewer Backends" +msgid "Configure Viewer Backends…" +msgstr "Baxış modullarını tənzimləmək" + +#: part/part.cpp:759 +#, fuzzy, kde-format +#| msgid "Configure Backends" +msgid "Configure Backends…" +msgstr "Modulları tənzimləmək" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "Modul haqqında" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "Yeni&dən yükləmək" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "Cari sənədi diskdən yenidən yükləmək" + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "Axtarış &panelini bağlamaq" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "Səhifə Nömrəsi" + +#: part/part.cpp:817 +#, fuzzy, kde-format +#| msgctxt "@action" +#| msgid "Configure Color Modes..." +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "Rəng rejimlərini ayarlamaq..." + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "Cari səhifədəki bütün mətnləri seçmək" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "Yan panel&i göstərmək" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "Səhifə nömrəsi &panelini göstərmək" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "İm&za panelini göstərmək" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "&Daxili fayllar" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "Belə i&xrac etmək" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "&Paylaşın" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "Təq&dimat" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "Bu &tərkibli qovluğu açın" + +#: part/part.cpp:945 +#, fuzzy, kde-format +#| msgid "&Import PostScript as PDF..." +msgid "&Import PostScript as PDF…" +msgstr "PostScript'i PDF kimi &idxal etmək..." + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "Boş ekran rejiminə keçid" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "Rəsimi silmək" + +#: part/part.cpp:962 +#, fuzzy, kde-format +#| msgid "Configure Annotations..." +msgid "Configure Annotations…" +msgstr "Şərhləri tənzimləmək..." + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "Təqdimatı Başlat/Fasilə" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" +"Sizin indicə dəyişdirilmiş açıq sənədiniz var, lakin bu növ sənəd saxlanıla " +"bilməz.\n" +"Okular bağlandıqda bütün dəyişikliklər itiriləcəkdir." + +#: part/part.cpp:1123 +#, kde-format +msgid "Document can't be saved" +msgstr "Sənəd saxlanılmadı" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "'%1' açıla bilmir (%2) " + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "%1 yüklənməsi başa çatdı." + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "%1 açıla bilmir. Səbəb: %2" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "Baxış modullarını tənzimləmək" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "Modulları tənzimləmək" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"\"ps2pdf\" proqramı tapılmadı, buna gösrə də Okulyar PostScript fayllarını " +"idxal edə bilmir." + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "ps2pdf tapılmadı" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "PostScript faylları (%1)" + +#: part/part.cpp:1357 +#, fuzzy, kde-format +#| msgid "Importing PS file as PDF (this may take a while)..." +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "PS faylının PDF kimi idxal edilməsi (bu bir az vaxt apara bilər)..." + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "Sənədi oxumaq üçün şifrəni daxil edin:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "Şifrə səhvdir. Yenidən cəhd edin:" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "Sənədin Şifrəsi" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "Bu sənəd XFA formatındadır, hansı ki, hal-hazırda dəstəklənmir." + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"Sənəd formadan ibarətdir. Onunlu qarşılıqlı əlaqə üçün bu düyməni vurun və " +"ya Görünüş -> Formanı göstərmək bölməsini açın." + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" +"Bu sənəd üçün bütün düzəliş etmə və interaktiv imkanlar söndürülüb. Lütfən " +"bu sənədin surətini saxlayın və düzəliş etmək üçün yenidən açın." + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" +"Bu sənəd tam ekranda göstərilməlidir.\n" +"Normal rejimdən təqdimat rejiminə keçilsin?" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "Baxış rejiminin dəyişdirilməsi" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "Təqdimat rejiminə daxil olmaq" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "Sorğunu qəbul etməmək" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "%1 açıla bilmədi. %2" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" +"%1 faylında saxlanılmamış dəyişikliklər var, lakin bu " +"dəyişikliklər başqa proqram tərəfindən edilib. Yenidən yükləmək " +"saxlanılmamış dəyişiklikləri başqa proqram tərəfindən edilmiş dəyişikliklər " +"ilə əvəz edəcək.Faylı yenidən yükləməyə davam etmək istəyirsiniz?" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "Fayl saxlanıldı" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "Açılmanı davam etdirmək" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "Açılmanı ləğv etmək" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" +"%1 faylında saxlanılmamış dəyişikliklər var, lakin " +"onlar başqa proqram tərəfindən dəyişdirilib. Onu bağlamaq saxlanılmamış " +"dəyişiklikləri başqa proqram tərəfindən edilmiş dəyişikliklər ilə əvəz " +"edəcək. Bağlamağa davam etmək istəyirsiniz?" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "Bağlanmanı davam etdirmək" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "Bağlanmanı ləğv etdirmək" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "" +"Dəyişikliklərinizi \"%1\"-də(a) saxlamaq yoxsa ləğv etmək istəyirsiniz?" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "Sənədi Bağlayın" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"Bu keçid sənədin bağlanmasına işarə edir, hansı ki, bu daxili baxış " +"vasitəsində işləmir." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"Bu keçid proqramın bağlanmasına işarə edir, hansı ki, bu daxili baxış " +"vasitəsində işləmir." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Reloading the document…" +msgstr "Sənədin yenidən yüklənməsi..." + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "Tərkibləri" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "İmzalar" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Səhifəyə keçid" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "&Səhifə:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "Əlfəcinin yeni adını daxil edin:" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "Bu əlfəcinin adını dəyişmək" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "Bu əlfəcini silmək" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "Belə saxlayın" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" +"Okulyar arxivini, fayl adında \"%1\" uzantısı olmadan saxlamağı seçdiniz. " +"Buna icazə verilmir, yeni ad seçmək istəyirsiniz?" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "Dəstəklənməyən uzantı" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "Yeni ad seçin" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" +"%1 faylında başqa proqram tərəfindən dəyişiklik edilib. " +"Əgər indi saxlamış olsanız başqa proqram tərəfindən edilmiş dəyişikliklər " +"itiriləcəkdir. Davam etmək istədiyinizə əminsiniz?" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "Saxlayın - Xəbərdarlıq" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "Nüsxəni başqa yerdə saxlayın" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
Do you want to continue?" +msgstr "" +"Cari sənəd şifrə ilə qorunur.
Sənədi saxlamaq üçün onu yeniləmək " +"lazımdır. Sizdən yenidən şifrə tələb olunacaq və irəli/geri tarixçəsi " +"itiriləcəkdir.
Davam etmək istəyirsiniz?" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "Saxlamaq üçün müvəqqəti faylı açmaq mümkün olmadı." + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" +"%1 faylı üzərinə yazıla bilmədi, çünki bu fayl yalnız " +"oxumaq üçündür. Başqa yerdə saxlamağa cəhd edinə və ya fayl icazələrini " +"dəyişdirin." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
Do you want to continue?" +msgstr "" +"Saxlanıldıqdan sonra cari sənəd formatı faylın yenidən açılmasını tələb " +"edir. İrəli/Geri tarixçəsi itiriləcəkdir.
Davam etmək istəyirsiniz?" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "Fayl '%1'-də(a) saxlanılla bilmədi. Başqa yerdə saxlamağa cəhd edin." + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "Doldurulmuş forma tərkibləri" + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "İştifadəçi şərhləri" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" +"Dəyişikliklər saxlanılmaq üzrədir, lakin, cari fayl formatı aşağıdakı " +"elementləri saxlamağı dəstəkləmir. Lütfən, sənədi saxlamaq üçün Okular " +"document archive formatından istifadə edin." + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "Xəbərdarlıq" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, fuzzy, kde-format +#| msgid "Save as Okular document archive..." +msgid "Save as Okular document archive…" +msgstr "Okular document archive kimi saxlayın..." + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" +"Dəyişikliklər saxlanılmaq üzrədir, lakin, cari fayl formatı aşağıdakı " +"elementləri saxlamağı dəstəkləmir. Lütfən, sənədi saxlamaq üçün Okular " +"document archive formatından istifadə edin. Sənədi saxlamaq və bu " +"elementləri ləğv etmək üçün Davam etmək vurun." + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" +"Dəyişikliklər saxlanılmaq üzrədir, lakin, cari fayl formatı aşağıdakı " +"elementləri saxlamağı dəstəkləmir. Lütfən, sənədi saxlamaq üçün Okular " +"document archive formatından istifadə edin. Sənədi saxlamaq üçün " +"Davam etmək vurun, lakin, İrəli/Geri tarixçəsi itiriləcəkdir." + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "Davam etmək" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "Dəyişiklikləri itirməklə davam etmək" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "Fayl '%1'-də(a) saxlanıla bilmədi.%2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"Okular %1 faylını göstərilmiş yerə kopyalaya bilmədi.\n" +"\n" +"Bu sənəd artıq mövcud deyil." + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" +"Fayl '%1'-də(a) saxlanılla bilmədi. Xəta: '%2' Başqa yerdə saxlamağa cəhd " +"edin." + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "Expand whole section" +msgid "Expand Whole Section" +msgstr "Bütün bölməni açmaq" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "Collapse whole section" +msgid "Collapse Whole Section" +msgstr "Bütün bölməni yığmaq" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "Miniatürləri səhifə ilə eyniləşdir" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Alətlər" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "Danışmaq" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "Çap" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "Bu sənədin çapına icazə verilmədi." + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"Sənəd çap edilə bilmədi. Naməlum xəta. Hesabatı bugs.kde.org -a göndərin" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"Sənəd çap edilə bilmədi. Xətanın təfərrüatları: \"%1\".Hesabatı bugs.kde.org " +"-a göndərin" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "Əvvəl olduğunuz mövqeyə qayıdın" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "Sonrakı mövqeyə qayıdın" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"Fayl Xətası! %1müvəqqəti " +"faylı yaradıla bilmədi." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"Fayl Xətası! Sıxışdırılmış %1 faylını açmaq mümkün olmadı. Bu fayl yüklənməyəcək." + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"Bu xəta adətən sizin faylı oxumağa imtiyazınız olmadığı halda baş verir. " +"Dolpin fayl menecerində sağ düymə ilə açılan menyuda 'Xüsusiyyətlər' " +"seçimindəki 'İcazələr' bölməsində faylın sahibini və icazələrini yoxlaya " +"bilərsiniz." + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded.
" +msgstr "" +"Fayl Xətası! Sıxlaşdırılmış%1 faylını açmaq mümkün olmadı. Bu fayl yüklənməyəcək." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"Adətən fayl korlandıqda bu xəta baş verir. Əmin olmaq üçün əmr sətri " +"vasitəsindən istifadə edərək sıxılmış faylı açmağa cəhd edin." + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "Əlfəcinlər yoxdur" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "Bu sənədin paylaşımı zamanı problem yarandı: %1" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "Paylaşmaq" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "Sənəd uğurla paylaşıldı" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "Paylaşdığınız sənədi buradan tapa bilərsiniz: %1" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "&Düzəliş etmək" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "&Baxış" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&İrəli" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "&Alətlər" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "Əsas Alətlər Paneli" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "Şərh paneli" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, kde-format +msgid "Quick Annotation Toolbar" +msgstr "Çevik şərh aləti paneli" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "Əsas seçimlər" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Xüsusi imkanlar" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "Xüsusi imkanlar oxuma köməkçisi" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Məhsuldarlıq" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "Məhsuldarlığın tənzimlənməsi" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "Baxış vasitəsinin tənzimlənməsi" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Təqdimat" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "Təqdimat rejiminin seçimləri" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "Şərhlər parametrləri" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "Redaktor" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "Redaktor seçimləri" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" +"Redaktor əmr sətri ilə burada quraşdırıldı:\n" +" %1 \n" +"Əgər ayarlardan istifadə etmək istəyirsinizsə, okular əmrini --editor-cmd " +"parametri olmadan başladın" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "Sonrakını Tapmaq" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 – Təqdimat" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "Ekranı dəyişmək" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "Ekran %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "Təqdimat rejimindən çıxmaq" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Başlıq: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Səhifələr: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "Başlamaq üçün vurun" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "Fasilə" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "Davam etmək" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"Təqdimat rejimindən çıxmaq üçün iki yol var, ya ESC düyməsinə vuraraq, ya da " +"kursor yuxarı sağ küncdə olduqda görünən çıxış düyməsinə vuraraq. Bundan " +"başqa siz başqa pəncərəyə də keçə bilərsiniz (standart olaraq Alt+Tab ilə)" + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "Təqdimata başlamaq" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "Naməlum fayl" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "%1 Xüsusiyyətlər" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "Şri&ftlər" + +#: part/propertiesdialog.cpp:145 +#, fuzzy, kde-format +#| msgid "Reading font information..." +msgid "Reading font information…" +msgstr "Şrift məlumatlarının oxunması..." + +#: part/propertiesdialog.cpp:158 +#, kde-format +msgid "&Page Sizes" +msgstr "&Səhifənin Ölçüsü" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "Şrifti çı&xartmaq" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Növ 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Növ 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "Növ 1C (OT)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Növ 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType (OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID Type 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID Type 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID Type 0C (OT)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType (OT)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "TeX PK" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "TeX virtual" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "TeX Font Metric" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "TeX üçün FreeType" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "Naməlum" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "Yerləşdirilmiş (alt dəst)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "Tam daxilə yerləşdirilmiş" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "Xeyr" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "Bəli(alt dəst)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "Bəli" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "%1 (%2 ilə əvəzlənir)" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "[əlçatmaq]" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "Naməlum şrift" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "Daxilə quraşdırılmış: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "Ad" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "Növ" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "Fayl" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "Səhifə" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "Ölçü" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "Buraxılışa ön baxış" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "Bu buraxılışı harada saxlamaq istəyirsiniz?" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "%1 faylı saxlanıla bilmədi." + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "Buraxılışa baxıla bilmədi." + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "Səhifəni filtrləmək üçün ən azı 3 hərf daxil edin" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "Böyük/Kiçik hərflərə həssas" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "Oxşar ifadələr" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "Bütün sözlər oxşardır" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "İstənilən oxşar söz" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "Filtr seçimləri" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, kde-format +msgid "Certificates" +msgstr "Setifikatlar" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "Bununla imzalamaq üçün sertifikatı seçin:" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, fuzzy, kde-format +#| msgid "Certificates" +msgid "Only QES certificates" +msgstr "Setifikatlar" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "Səbəbi:" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, kde-format +msgid "optional" +msgstr "ixtiyari" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "Məkan:" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, kde-format +msgid "Background:" +msgstr "Arxa fon:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "Seçim..." + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, kde-format +msgid "Recent backgrounds:" +msgstr "Sonuncu arxa fonlar:" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

No annotations

To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
" +msgstr "" +"

Şərhsiz

Yeni şərh üçün F6 düyməsinə vurun və ya " +"menyudan Alətlər -> Şərhlər seçin.
" + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "Səhifəyə görə qruplaşdırmaq" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "Müəllifinə görə qruplaşdırmaq" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "Şərhləri yalnız cari səhifə üçün göstərmək" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "Bütün elementləri açmaq" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "Bütün elementləri yığmaq" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "Xüsusiyyətlər" + +#: part/signaturepartutils.cpp:180 +#, kde-format +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Şəkillər (%1)" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "Arxa fon şəklini seçin" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "Şəkili unutmaq" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "Bütün şəkilləri unutmaq" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "Sertifikatın kilidini açmaq üçün şifrəni (əgər varsa) daxil edin: %1" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "Sertifikat şifrəsini daxil edin" + +#: part/signaturepartutils.cpp:244 +#, kde-format +msgid "Enter document password" +msgstr "Sənədin şifrəsini daxil edin" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "İmzalanmış faylı belə saxlayın" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "%1_imzalandı.%2" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "Etibarlılıq vəziyyəti" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "İmzanın etibarlılığı:" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "Sənəddəki dəyişikliklər:" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "Əlavə məlumatlar" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "İmzalayan:" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "İmzalanma tarixi:" + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "Sənədin versiyası" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Sənədin buraxılışı %1 / %2" + +#: part/signaturepropertiesdialog.cpp:88 +#, fuzzy, kde-format +#| msgid "View Signed Version..." +msgid "View Signed Version…" +msgstr "İmzlanmış versiyaya baxmaq..." + +#: part/signaturepropertiesdialog.cpp:95 +#, fuzzy, kde-format +#| msgid "View Certificate..." +msgid "View Certificate…" +msgstr "Sertifakata nəzər salmaq..." + +#: part/signaturepropertiesdialog.cpp:97 +#, kde-format +msgid "View in Certificate Manager" +msgstr "Sertifikat menecerində göstərmək" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "KDE Sertifikat meneceri (kleopatra) tapılmadı" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "Yalnız seçilmiş səhifəni göstərmək" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "Davam etmək" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Fasilə" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "Dayandırmaq" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "Bu okular-da videolar dəstəklənmir" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "Bu Okular-da videolar dəstəklənmir" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, fuzzy, kde-format +#| msgid "&Edit" +msgid "&Edit…" +msgstr "&Düzəliş etmək" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "&silin" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "Yuxarı &sürüşdür" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "Aşağı &Sürüşdür" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "Əsas Rəsm Aləti #%1" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "Bu adla alət artıq var. Standart birini seçin." + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "Təkrarlanan ad" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "Göstərilən sənədin səhifəsi" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "Sənədi təqdimat rejimində açmaq" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "Çap dialoqu ilə açmaq" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "Çap dialoqu ilə açmaq və çapdan sonra çıxmaq" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "\"Tətbiqin yeganə nüsxəsi\"" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "Pəncərəni aktiv etməmək" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "Mətndə sətri tapmaq" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "Xarici redaktor əmrini təyin edir" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "Açılacaq sənədlər. Standart girişdən oxumaq üçün \"-\" göstərin." + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" +"Siz redaktor əmrini artıq açıq okular nümunəsində təyin edə bilməzsiniz. " +"Lütfən vərəqi söndürün və yenidən cəhd edin. Nəzər alın ki, bu unukallıq " +"həmçinin əmr sətrində redaktor əmri təyi edildikdə dəstəklənmir.\n" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "Xəta: \"--unique switch\" ilə birdən artıq sənəd açmaq olmur." + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "Xəta: \" --presentation switch\" ilə birdən artıq sənəd açmaq olmur." + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "Xəta: \"--print switch\" ilə birdən artıq sənəd açmaq olmur." + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "Xəta: \"--page switch\" ilə birdən artıq sənəd açmaq olmur." + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "Xəta: \"--find switch\" ilə birdən artıq sənəd açmaq olmur." + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "Tapılması mümkün olmayan Okular komponentləri: %1" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "Yan panel" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "Tək Okular nüsxəsi artıq başladılıb. Bu yeganə nüsxə olmayacaq." + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "Okular komponentlərinin tapılması mümkün olmadı." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"Faylı açmaq üçün klikləyin\n" +"Sonuncu faylı açmaq üçün klikləyin və üzərində basılı saxlayın" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"Faylı açmaq üçün Klikləyin və ya sonuncu faylı seçmək üçün " +"Klikləyin və basılı saxlayın" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "Növbəti Vərəq" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "Əvvəlki Vərəq" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "Bağlanmış vərəqi qaytarmaq" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "Yan paneli kilidləmək" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "Bütün fayllar (*)" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "Bütün Dəstəklənən Fayllar (%1)" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "Sənədi açmaq" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "Çıxışı təsdiq etmək" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "Vərəqləri bağlamaq" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "Siz %1 vərəqi bağlamaq üzrəsiniz. Davam etmək istədiyinizə əminsiniz?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "Birdən çox vərəqi bağladıqda məni xəbərdar edin" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "Yolu &kopyalayın" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "Bu fayl olan q&ovluğu açın" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "Bu elementi &unudun" + +#: shell/welcomescreen.cpp:137 +#, kde-format +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "Heç bir az öncəki sənəd yoxdur" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "Okular-a Xoş Gəldiniz" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Sənədi açın..." + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, kde-format +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Az öncəki sənədlər" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "Hamısını unudun" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "Salamlama səhifəsini gizlətmək" + +#~ msgid "Geometry with Comment" +#~ msgstr "Şərhlərdən ibarət fiqur" + +#~ msgid "Geometry" +#~ msgstr "Fiqur" + +#~ msgctxt "Annotation type: contents" +#~ msgid "%1: %2" +#~ msgstr "%1: %2" + +#~ msgid "Modified: %1" +#~ msgstr "Dəyişdirildi: %1" + +#~ msgid "Find..." +#~ msgstr "Tapmaq..." + +#~ msgid "Go To Page..." +#~ msgstr "Səhifəyə keçid..." + +#~ msgid "Play movie..." +#~ msgstr "Videonu başlatmaq..." + +#~ msgid "Search..." +#~ msgstr "Axtarış..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "Belə &saxla..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "&Baxış..." + +#~ msgid "&Sign..." +#~ msgstr "&İmzalayın..." + +#~ msgid "Configure Viewer..." +#~ msgstr "Baxış vasitəsini tənzimləmək..." + +#~ msgid "Configure Viewer Backends..." +#~ msgstr "Baxış modullarını tənzimləmək..." + +#~ msgid "Configure Backends..." +#~ msgstr "Modulları tənzimləmək..." + +#~ msgid "&Add..." +#~ msgstr "Əl&avə etmək..." + +#~ msgid "&Edit..." +#~ msgstr "&Düzəliş..." + +#~ msgctxt "%1 is a file path" +#~ msgid "" +#~ "Could not sign. Invalid certificate password or could not write to '%1'" +#~ msgstr "" +#~ "İmzalana bilmədi. Sertifikat şifrələsi səhvdir və ya \"%1\" üçün yazıla " +#~ "bilmədi" + +#, fuzzy +#~| msgid "" +#~| "All your signing certificates are either not valid yet or are past their " +#~| "validity date." +#~ msgid "All your signing certificates are invalid" +#~ msgstr "" +#~ "Bütün imza sertifikatlarınız ya hələlik qüvvədə deyil və ya etibarlılıq " +#~ "tarixi bitmişdir." + +#~ msgid "Unsigned Signature %1" +#~ msgstr "%1 İmzalanmamış" + +#, fuzzy +#~| msgctxt "Unknown author" +#~| msgid "Unknown" +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "Naməlum" + +#, fuzzy +#~| msgid "Unsigned Signature %1" +#~ msgctxt "Signature type" +#~ msgid "Unsigned signature" +#~ msgstr "%1 İmzalanmamış" + +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "Spinbox prefix: Advance automatically: every n seconds" +#~ msgid "every " +#~ msgstr "hər " + +#~ msgctxt "Suffix for the pen width, eg '10 px'" +#~ msgid " px" +#~ msgstr " piksel" + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " %" + +#, fuzzy +#~| msgctxt "%1 is a file path" +#~| msgid "" +#~| "Could not sign. Invalid certificate password or could not write to '%1'" +#~ msgctxt "%1 is a file path" +#~ msgid "Could not sign. Could not write to '%1'" +#~ msgstr "" +#~ "İmzalana bilmədi. Sertifikat şifrələsi səhvdir və ya \"%1\" üçün yazıla " +#~ "bilmədi" + +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "Eninə Sığışdır" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "Səhifəni Tam Doldur" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Auto Fit" +#~ msgstr "Avtomatik doldurma" + +#~ msgid "*|All Files" +#~ msgstr "*|Bütün Fayllar" + +#~ msgid "Missing alert type" +#~ msgstr "Bildiriş növü göstərilməyib" + +#~ msgid "" +#~ "The file '%1' has been modified by another program, which means it can no " +#~ "longer be saved." +#~ msgstr "" +#~ "'%1' faylı başqa tətbiq tərfindən dəyişdirilib və bu onu göstəriri ki, o " +#~ "artıq saxlanıla bilməz." + +#~ msgid "Show Sidebar" +#~ msgstr "Yan paneli göstərmək" + +#~ msgctxt "@info" +#~ msgid "" +#~ "experimental feature.Stamps inserted in PDF documents are " +#~ "not visible in PDF readers other than Okular." +#~ msgstr "" +#~ "Təcrübi imkanlar.PDF sənədinə qoyulan möhür Okulyardan " +#~ "başqa PDF oxuma tətbiqlərində görünmür." + +#~ msgctxt "@info" +#~ msgid "" +#~ "The version of the Poppler library this Okular was compiled with does not " +#~ "support signing documents with passwords. Please ask your provider to " +#~ "update it to 22.02 or later." +#~ msgstr "" +#~ "Bu Okular'ın Poppler kitabxanası versiyası sənədlərin şifrəli imzalanması " +#~ "dəstəklənmədən tərtib olunmuşdur. Lütfən təminatçınızdan onun 22.02 və " +#~ "sonrakı versiyaya yeniləməsini xahis edin." + +#~ msgctxt "@title:window" +#~ msgid "Poppler library is too old" +#~ msgstr "Poppler kitabxanası çox köhnədir" + +#~ msgctxt "@info" +#~ msgid "" +#~ "Stamps inserted in PDF documents are not visible in PDF readers other " +#~ "than Okular" +#~ msgstr "" +#~ "PDF sənədinə qoyulan möhür Okulyardan başqa PDF oxuma tətbiqlərində " +#~ "görünmür" + +#~ msgctxt "@title:window" +#~ msgid "Experimental feature" +#~ msgstr "Təcrübi imkanlar" + +#~ msgid "Remove Bookmarks" +#~ msgstr "Əlfəcinləri silmək" + +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "&Şərh vermək" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "Vurğulama" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Underline" +#~ msgstr "Alt cizgi" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Squiggle" +#~ msgstr "Dalğavari xətt" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Strike Out" +#~ msgstr "Üzərində cizgi" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "Mətn daxil edin" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "Qed daxil edin" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "Açılan qeyd daxil edin" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Freehand Line" +#~ msgstr "Sərbəst xətt çəkin" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Straight line" +#~ msgstr "Birbaşa xətt çəkin" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Arrow" +#~ msgstr "Ox çəkin" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Rectangle" +#~ msgstr "Düzbucaqlı çəkin" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Ellipse" +#~ msgstr "Ellips çəkin" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Polygon" +#~ msgstr "Çoxbucaqlı çəkin" + +#~ msgid "Highlight in Yellow" +#~ msgstr "Sarı rəngdə vurğulamaq" + +#~ msgid "Highlight in Green" +#~ msgstr "Yaşıl rəngdə vurğulamaq" + +#~ msgid "Insert Inline Note" +#~ msgstr "Qed daxil edin" + +#~ msgid "Insert Popup Note" +#~ msgstr "Açılan qeyd daxil edin" + +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "&Sahəni seçin" + +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "Mə&tni seçin" + +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "&Cədvəli seçin" + +#~ msgid "Bookmark annotation" +#~ msgstr "Əlfəcinə qeyd əlavə etmək" + +#~ msgid "&Toggle Change Colors" +#~ msgstr "Rəng də&yişimini dəyişdirmək" + +#~ msgctxt "@option:check Config dialog, presentation page, transitions" +#~ msgid "Enable transitions" +#~ msgstr "Keçidləri aktivləşdirmək" + +#~ msgctxt "@label:spinbox Config dialog, presentation page" +#~ msgid "Advance every:" +#~ msgstr "Hərəkət addımı:" + +#~ msgctxt "@label:listbox Config dialog, general page" +#~ msgid "Custom background color:" +#~ msgstr "Başqa arxa fon rəngi:" + +#~ msgid "Draw border around &Images" +#~ msgstr "Şək&illərin ətrafını çərçivələmək" + +#~ msgid "Speech" +#~ msgstr "Danışıq" + +#~ msgid "Engine" +#~ msgstr "Danışıq mexanizmi" + +#~ msgid "Identity" +#~ msgstr "Profil" + +#~ msgid "Au&thor:" +#~ msgstr "Müəlli&f:" + +#~ msgid "View Options" +#~ msgstr "Baxış seçimləri" + +#~ msgctxt "@info:whatsthis" +#~ msgid "" +#~ "Defines the default zoom mode for files which were never opened before.\n" +#~ "For files which were opened before the previous zoom is applied." +#~ msgstr "" +#~ "Daha əvvəllər heç aşılmamış fayllar üçün standart miqyası təyi edir.\n" +#~ "Əvvəllər açılmış fayllar üçün əvvəlki miqyası tətbiq edir." + +#~ msgid "Navigation" +#~ msgstr "Naviqasiya" + +#~ msgid "Placement" +#~ msgstr "Yerləşdirmə" + +#~ msgid "Screen:" +#~ msgstr "Ekran:" + +#~ msgid "Drawing Tool Configuration" +#~ msgstr "Rəsm alətlərinin ayarlanması" + +#~ msgid "&Get Books From Internet..." +#~ msgstr "Kitabları internetdən al&maq..." + +#~ msgid "Reviews" +#~ msgstr "Rəylər" diff --git a/po/az/okular_comicbook.po b/po/az/okular_comicbook.po new file mode 100644 index 0000000..646d7d9 --- /dev/null +++ b/po/az/okular_comicbook.po @@ -0,0 +1,44 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Kheyyam Gojayev , 2020. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-10-16 11:34+0400\n" +"Last-Translator: Kheyyam Gojayev \n" +"Language-Team: Azerbaijani \n" +"Language: az\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 20.08.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Xəyyam Qocayev" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "xxmn77@gmail.com" + +#: document.cpp:97 +#, kde-format +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "Sənəd açıla bilmir, nə 'unrar' nə də 'unarchiver' tapılmadı." + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "Komiksləri açmaq üçün sisteminizdəki unrar versiyası dəstəklənmir." + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "Naməlum ComicBook formatı." diff --git a/po/az/okular_djvu.po b/po/az/okular_djvu.po new file mode 100644 index 0000000..6b2b854 --- /dev/null +++ b/po/az/okular_djvu.po @@ -0,0 +1,95 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Kheyyam Gojayev , 2020, 2023. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2023-05-29 19:03+0400\n" +"Last-Translator: Kheyyam \n" +"Language-Team: Azerbaijani \n" +"Language: az\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 23.04.1\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Xəyyam Qocayev" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "xxmn77@gmail.com" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "Redaktor" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "Naşir" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "Həcm" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "Sənədin növü" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "Naməlum" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "Tərkibindəki fayllar" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "Naməlum" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "Tək səhifə" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "Bağlamada" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "Bilavasitə" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "Bağlamada (köhnə)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "İndekslənmiş (köhnə)" diff --git a/po/az/okular_dvi.po b/po/az/okular_dvi.po new file mode 100644 index 0000000..6715fd8 --- /dev/null +++ b/po/az/okular_dvi.po @@ -0,0 +1,582 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Kheyyam Gojayev , 2020. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-10-28 12:57+0400\n" +"Last-Translator: Kheyyam Gojayev \n" +"Language-Team: Azerbaijani \n" +"Language: az\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 20.08.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Xəyyam Qocayev" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "xxmn77@gmail.com" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

" +msgstr "" +"

Okular komputerinizdə dvipdfm proqramının yerini tapa " +"bilmədi. Bu proqram ixrac etmə funksiyasının işləməsi üçün vacibdir. Buna " +"baxmayaraq siz Okular'ın çap funksiyasından istifadə edərək DVİ faylını PDF " +"formatına çevirə bilərsiniz, lakin, bu şəkilədə alınan sənəd ekranda, " +"məsələn Acrobat Reader ilə baxdıqda adətən səliqısiz görünə bilər, ancaq " +"düzgün çap olunur. TeX paketinizi tərkibində dvipdfm proqramı olan " +"versiyaya qədər yeniləyin.

Sistem inzibatçıları üçün məsləhət: Okular " +"proqramların axtarışı üçün əmrlər sətri mühitindən PATH dəyişənindən " +"istifadə edir.

" + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Faylın ixrac edilməsi üçün istifadə olunan 'dvipdfm' xarici proqramı bir " +"səhv olduğunu bildirdi. Fayl menyusundan açılan Sənəd haqqında dialoqundan bu xəta barəsində daha ətraflı öyrənmək olar." + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" +"Bu DVI faylı, PostScript formatında olmayan xarici qrafik sənədlərinə " +"aiddir və Okular'ın çap və ya PostScript faylına çevirmək üçün istifadə " +"etdiyi dvips proqramı tərəfindən işlənə bilməz. Beləloklə, sizə " +"lazım olan Okular'ın bu versiyasında mövcud deyil." + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

" +msgstr "" +"

Okular dvips proqramını sizin komputerinizdə yerləşdirə " +"bilmir. Bu proqram ixrac etmə funksiyasının işləməsi üçün lazımdır.

Sistem adminstratorları üçün məsləhətlər: Okular proqram axtararkən " +"PATH mühit dəyişənindən istifadə edir.

" + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"faylı idxal etmək üçün istifadə olunan 'dvips' xarici proqramı xəta " +"olduğunu bildirdi. Xəta hesabatı haqqında dəqiq məlumat əldə etmək üçün Fayl " +"Menyusu bölməsində sənəd haqqında dialoquna baxa " +"bilərsiniz." + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "DVİ faylı önsöz ilə başlamır." + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" +"DVI faylı bu proqram üçün səhv DVI çıxış versiyasınından ibarətdir. Qeyd: " +"Əgər siz Omega yazı sistemindən istifadə edirsinizsə siz xüsusi proqramdan " +"istifadə etməlisiniz, məs., oxdvi." + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "DVİ faylı çox ciddi zədələnmişdir. Okular son sözü tapa bilmədi." + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "Son söz POST əmri ilə başlamaz." + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "Son soz FNTDEF əmrindən fərqli əmrdən ibarətdir." + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "%1 səhifəsi BOP əmri ilə başlamaz." + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

PATH: %2

" +msgstr "" +"

Xarici pdf2ps proqramı başladıla bilmədi. Nəticədə " +"%1 PDF faylı PostScrtipt faylına çevrilə bilmədi. Buna görə də sənəddəki " +"bəzi qrafik elementlər görünməyəcəkdir.

Mümkün səbəb: " +"pdf2ps proqramı sisteminizə quraşdırıla bilmədi və ya " +"hazırda axtarılan yolda tapılmadı.

Nə edə bilərsiniz: " +"pdf2ps proqramı adətən ghostscript PostScript çevirici " +"sistemi distribütoru tərkibində olur. Əgər ghostscript sisteminizə " +"quraşdırılmayıbsa, onu indi quraşdıra bilərsiniz. Əgər ghostscript'in " +"quraşdırıldığına əminsinizsə, pdf2ps əmrini əmrlər sətrində " +"başladaraq onun işlədiyini yoxlayın.

PATH %2

" + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

%2

" +msgstr "" +"

%1 PDF faylı PostScript'ə çevrilə bilmədi. Sənəddəki bəzi elementlər " +"bu səbəbdən göstərilməyəcəkdir.

Mümkün səbəb: Ola bilsin %1 PDF " +"faylı zədələnib və ya ümumiyyətlə PDF faylı deyil. Bu Okular'ınistifadə " +"etdiyi pdf2ps proqramının çıxışıdır:

%2

" + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "Fayl korlanıb. %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "PostScript fayllarının hamısı sənədə daxil edilə bilməz. %1" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "Xarici PostScript fayllarının hamısı sənədə daxil edilə bilməz" + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "Verilmiş %1 faylı mövcud deyil." + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" +"Siz Okular'dan %2 sənədindəki %1 sətri ilə uyğun olan DVİ sənədindəki yeri " +"tapmasını istəmisiniz, lakin görünür ki, DVİ faylında lazımi mənbə faylı " +"məlumatları yoxdur." + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" +"Okular,DVİ faylındakı %2 TeX faylının %1 sətrinə uyğun yeri tapa bilmədi." + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "DVİ kodunda naməlum şrift simvolu var." + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "DVİ kodu əvvəl təyin edilməyən #%1 şriftinə istinad edir." + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "EOP əmri ilə qarşılaşdığında yığın boş deyildi." + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "POP əmri ilə qarşılaşdığında yığın boş idi." + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "DVİ kodu əvvəl təyin edilməyən şriftə istinad edir." + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "Naməlum əmr aşkar edildi." + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "Naməlum %1 əməliyyat kodu aşkar edildi." + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "%1 daxil edilməsi" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
" +msgstr "" +"Səhifə %1: %2 PDF faylı PostScript faylına çevrilə bilmədi." +"
" + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
" +msgstr "Səhifə %1: %2 PostScript faylı tapəla bilmədi.
" + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "%1 kağız formatı məlumatı təhlil edilə bilmədi." + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

PATH: %1

%2

" +msgstr "" +"

Okulyar Cari DVİ faylını göstərmək üçün lazım olan bütün şrift " +"faylları tapa bilmədi. Sənədinizin oxunması mümkün olmaya bilər.

PATH: %1

%2

" + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

PATH: %1

%2

" +msgstr "" +"

kpsewhich başladılmasında problem yarandı. Nəticə etibarı " +"ilə şrift faylları yerləşdirilə bilmədi və bu səbəbdən sənədiniz oxunmaya " +"bilər.
Mümkün səbəb:kpsewhich proqramı ola bilsin ki, " +"sisteminizə quraşdırılmayıb, və ya cari axtarış yolunda tapılmadı.

PATH: %1

%2

" + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" +"Şriftin kpsewhich tərəfindən yaradılması ləğv edildi. (çıxış " +"kodu %1, xəta %2) Nəticə etibarı ilə bəzi şriftlər yerləşdirilə bilmədi və " +"bu səbəbdən sizin sənədiniz oxunmaya bilər." + +#: fontpool.cpp:482 +#, fuzzy, kde-format +#| msgid "Currently generating %1 at %2 dpi..." +msgid "Currently generating %1 at %2 dpi…" +msgstr "Hazırda %2 dpi'da %1 yaradılır..." + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "Yaradıcı/Tarix" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "Şrift faylı tapılmadı" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "portret" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "albom" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" +"Sisteminizə quraşdırılmış Ghostview Okulyarın tanıdığı Ghostview qurğusu " +"sürücülərindən ibarət deyil. PostScript dəstəklənməsi söndürüləcəkdir." + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "25-dən artıq xəta baş verdi. Sonrakı xətalarr çap edilməyəcək." + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" +"%2 səhifəsində %1 DVİ faylında xəta. Rəngli pop əmri rəng yığını boş " +"olduğunda istifadə olunur." + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" +"Xüsusi epsf əmrində səhv parametr.\n" +"%2 daxilində %1 üçün həqiqi rəqəm göstərilməsi tələb olunur" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"Fayl tapılmadı: \n" +" %1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" +"%2 səhifəsində '%1' DVİ faylında xəta. Mətnin döndərmə bucağını təyin etmək " +"mümkün olmur." + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "'%1' xüsusi əmri dəstəklənmir." + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" +"%1 şrift faylı aşıla və oxuna bilir, lakin, onun şrift formatı dəstəklənmir." + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "Ya %1 şrift faylı korlanıb, ya da o açıla və ya oxuna bilmədi." + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" +"FreeType %1 şrift faylı üçün simvol ölçüsünün ayarlanması zamanı xəta baş " +"verdiyini bildirdi." + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "FreeType %2 şrift faylından #%1 simvolunu yükləyə bilmir." + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "FreeType %2 şrift faylından #%1 simvolunu göstərə bilmir." + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "#%1 somvolu boşdur." + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "%2 şrift faylındakı #%1 smvolu boşdur." + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "FreeType, %1 simvolunun ölçülərini %2 faylından yükləyə bilmədi." + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "%1 şrift faylı açıla bilmir." + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "TexFont_PK::operator[]: %1 simvolu %2 şriftndə müəyyən edilmədi" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "%2 PK faylında naməlum %1" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "%2 faylında %1 simvolu çox böyükdür" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "Səhv bit sayı saxlanılıb: simvol %1, şrift %2" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "Səhv pk şrift faylı (%1), həddən artıq bit" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "Şrift 1'ə bərabər olmayan en, uzunluq nisbətindən ibarətdir." + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "%1 şriftini %2 faylından tapmaq mümkün olmadı." + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "%1 şrift faylının yoxlama cəmi uyğun gəlmir" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "%1 şrift faylının formatını təyin etmək mümkün olmadı" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"Ciddi xəta.\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" +"\n" +"\n" +"Bu o deməkdir ki, siz ya Okulyarda səhv tapmısınız\n" +"ya da DVİ və ya əlavə fayllar (şrift faylları və ya \n" +"virtual şrift faylları kimi) ciddizədələniblər.\n" +"Bu ismarıc bağlandıqdan sonra Okular da \n" +"qəzalı halda bağlanacaq. Əgər bir xəta aşkar \n" +"etdiniszə və hesab edirsiniz ki, Okular bu xətaya \n" +"daha düzgün reaksiya verə bilərdi, o zaman bu \n" +"haqda məlumat verin." + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "VF makro siyahısında yalnış əmr baytı tapıldı: %1" + +#~ msgid "" +#~ "

The Ghostview program, which Okular uses internally to display the " +#~ "PostScript graphics that is included in this DVI file, is generally able " +#~ "to write its output in a variety of formats. The sub-programs that " +#~ "Ghostview uses for these tasks are called 'device drivers'; there is one " +#~ "device driver for each format that Ghostview is able to write. Different " +#~ "versions of Ghostview often have different sets of device drivers " +#~ "available. It seems that the version of Ghostview that is installed on " +#~ "this computer does not contain any of the device drivers " +#~ "that are known to Okular.

It seems unlikely that a regular " +#~ "installation of Ghostview would not contain these drivers. This error may " +#~ "therefore point to a serious misconfiguration of the Ghostview " +#~ "installation on your computer.

If you want to fix the problems with " +#~ "Ghostview, you can use the command gs --help to display " +#~ "the list of device drivers contained in Ghostview. Among others, Okular " +#~ "can use the 'png256', 'jpeg' and 'pnm' drivers. Note that Okular needs to " +#~ "be restarted to re-enable PostScript support.

" +#~ msgstr "" +#~ "

Okuların bu DVI sənədinə daxil edilmiş PostScript qrafiklərini " +#~ "göstərmək üçün istifadə etdiyi daxili Ghostview proqramı, ümumiyyətlə " +#~ "nəticələri müxtəlif formatlarda yaza bilir. Ghostview'in bu tapşırıqlar " +#~ "üçün istifadə etdiyi alt proqramlara \"cihaz sürücüləri\" adlanır; " +#~ "Ghostview'in yaza biləcəyi hər format üçün bir cihaz sürücüsü mövcuddur. " +#~ "Ghostview'in müxtəlif versiyalarında adətən fərqli cihaz sürücüsü " +#~ "dəstləri mövcuddur. Belə görünür ki, bu kompüterdə quraşdırılmış " +#~ "Ghostview versiyasında Okular tərəfindən bilinən hər hansı bir cihaz " +#~ "sürücüsü yoxdur.Adı şəkildə quraşdırılan Ghostview " +#~ "proqramının tərkibində bu kimi sürücülərin olması ehtimalı azdır. Belə " +#~ "olan halda bu xəta onu göstərir ki, komputerinizə Ghostview proqramının " +#~ "quraşdırılması ayarlarında ciddi səhv var.

Əgər bu xətanı Ghostview " +#~ "proqramı ilə düzəltmək istəyirsinizsə, Ghostview'in tərkibindəki " +#~ "sürücülərin siyahısını göstərmək üçün gs --help əmrindən " +#~ "istifadə edə bilərsiniz. Bunlarla bərabər Okular \"png256\", \"jpeg\" və " +#~ "\"pnm\" sürücülərindən istifadə edə bilər. Nəzərə alın ki, PostScript " +#~ "dəstəyini aktivləşdirmək üçün Okulyarı yenidən başlatmaq lazımdır.

" diff --git a/po/az/okular_epub.po b/po/az/okular_epub.po new file mode 100644 index 0000000..31d39ac --- /dev/null +++ b/po/az/okular_epub.po @@ -0,0 +1,43 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Kheyyam Gojayev , 2020. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-10-16 11:37+0400\n" +"Last-Translator: Kheyyam Gojayev \n" +"Language-Team: Azerbaijani \n" +"Language: az\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 20.08.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Xəyyam Qocayev" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "xxmn77@gmail.com" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "EPub sənədinin açılması zamanı xəta." + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "EPub" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "EPub modulu tənzimləmələri" diff --git a/po/az/okular_fax.po b/po/az/okular_fax.po new file mode 100644 index 0000000..ed88d9d --- /dev/null +++ b/po/az/okular_fax.po @@ -0,0 +1,33 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Kheyyam Gojayev , 2020. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-10-16 11:37+0400\n" +"Last-Translator: Kheyyam Gojayev \n" +"Language-Team: Azerbaijani \n" +"Language: az\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 20.08.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Xəyyam Qocayev" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "xxmn77@gmail.com" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "Sənədi yükləmək mümkün olmadı" diff --git a/po/az/okular_fictionbook.po b/po/az/okular_fictionbook.po new file mode 100644 index 0000000..fe0aac6 --- /dev/null +++ b/po/az/okular_fictionbook.po @@ -0,0 +1,68 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Kheyyam Gojayev , 2020. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-10-16 11:41+0400\n" +"Last-Translator: Kheyyam Gojayev \n" +"Language-Team: Azerbaijani \n" +"Language: az\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 20.08.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Xəyyam Qocayev" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "xxmn77@gmail.com" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "Sənəd etibarlı FictionBook deyil" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "Bu sənədi açmaq mümkün olmadı: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "Sənəd etibarlı ZİP arxivi deyil" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "Sənədin tərkibi pozulub (əsas qovluq çatışmır)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "Sənədin tərkibi tapılmadı" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "Səhv XML sənədi: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "FictionBook" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "FictionBook Modulu Tənzimləmələri" diff --git a/po/az/okular_ghostview.po b/po/az/okular_ghostview.po new file mode 100644 index 0000000..5816bcc --- /dev/null +++ b/po/az/okular_ghostview.po @@ -0,0 +1,77 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Kheyyam Gojayev , 2020. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-10-16 11:44+0400\n" +"Last-Translator: Kheyyam Gojayev \n" +"Language-Team: Azerbaijani \n" +"Language: az\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 20.08.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Xəyyam Qocayev" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "xxmn77@gmail.com" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "Platformanın şriftini istifadə etmək" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"Ghostscriptin platforma şriftlərindən istifadəyə icazə veriləcəyini, yalnış " +"sənəddə yerləşdirilmiş şriftlərin istifadəsinə icazə verilmə ilə " +"müəyyənləşdirilir." + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "Əsas Ayarlar" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "&Platformanın şriftini istifadə etmək" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Ghostscript Modulu Tənzimləmələri" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "Sənədin versiyası" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "Dil səviyyəsi" diff --git a/po/az/okular_kimgio.po b/po/az/okular_kimgio.po new file mode 100644 index 0000000..c911c41 --- /dev/null +++ b/po/az/okular_kimgio.po @@ -0,0 +1,42 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Kheyyam Gojayev , 2020. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-10-16 11:47+0400\n" +"Last-Translator: Kheyyam Gojayev \n" +"Language-Team: Azerbaijani \n" +"Language: az\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 20.08.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Xəyyam Qocayev" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "xxmn77@gmail.com" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "Sənədi yükləmək mümkün olmadı: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" +"Bu sənəd səhv tərtib edilib. Bu sənədin təxmin edilən xarici görünüşünə ən " +"yaxın formadır." diff --git a/po/az/okular_markdown.po b/po/az/okular_markdown.po new file mode 100644 index 0000000..f6d22cc --- /dev/null +++ b/po/az/okular_markdown.po @@ -0,0 +1,53 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Kheyyam Gojayev , 2020. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-10-16 11:49+0400\n" +"Last-Translator: Kheyyam Gojayev \n" +"Language-Team: Azerbaijani \n" +"Language: az\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 20.08.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Xəyyam Qocayev" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "xxmn77@gmail.com" + +#: converter.cpp:59 converter.cpp:93 +#, kde-format +msgid "Failed to open the document" +msgstr "Sənədin açılması baş tutmadı" + +#: converter.cpp:106 converter.cpp:124 +#, kde-format +msgid "Failed to compile the Markdown document." +msgstr "Markdown sənədini yığmaq mümkün olmadı." + +#: generator_md.cpp:58 +#, kde-format +msgid "Enable SmartyPants formatting" +msgstr "SmartyPants formatlamanı aktiv etmək" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown" +msgstr "Markdown" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown Backend Configuration" +msgstr "Markdown Modulu Tənzimləmələri" diff --git a/po/az/okular_mobi.po b/po/az/okular_mobi.po new file mode 100644 index 0000000..08d432e --- /dev/null +++ b/po/az/okular_mobi.po @@ -0,0 +1,49 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Kheyyam Gojayev , 2020. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-10-16 11:51+0400\n" +"Last-Translator: Kheyyam Gojayev \n" +"Language-Team: Azerbaijani \n" +"Language: az\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 20.08.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Xəyyam Qocayev" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "xxmn77@gmail.com" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Mobipocket sənədinin aşılmasında xəta." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "Bu kitab DRM ilə qorunur və yalnız verilmiş qurğuda açəla bilər" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "Mobipocket" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "Mobipocket Modulu Tənzimləmələri" diff --git a/po/az/okular_poppler.po b/po/az/okular_poppler.po new file mode 100644 index 0000000..0a9b5f3 --- /dev/null +++ b/po/az/okular_poppler.po @@ -0,0 +1,398 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Kheyyam Gojayev , 2020, 2021, 2023. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2023-06-30 11:51+0400\n" +"Last-Translator: Kheyyam \n" +"Language-Team: Azerbaijani \n" +"Language: az\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 23.04.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Xəyyam Qocayev" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "xxmn77@gmail.com" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, fuzzy, kde-format +#| msgid "Enable overprint preview" +msgid "Enable overprint preview:" +msgstr "Üst çap önizləməsini aktiv edin" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "İncə xətləri artırın:" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "Xeyr" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "Sərt" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "Forma" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "Çap zamanı standart miqyas rejimi:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "Çap sahəsinə sığışdırmaq" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "Bütün səhifəyə sığışdırmaq" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "Heç biri; orijinal ölçüsünü çap edin" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" +"Bu seçimi aktiv etmək, Okuların rəqəmsal imza üçün istifadə olunan " +"sertifikatların yaradıldıqdan sonra ləğv edilib-edilmədiyini yoxlamaq üçün " +"üçüncü tərəf OCSP serverləri ilə əlaqə saxlamasına imkan verəcək." + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" +"Üçüncü tərəf serverlərindən istifadə edərək rəqəmsal imza sertifikatlarının " +"ləğv edilməsini yoxlamaq" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "İmza modulu:" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "Sertifikat Verilənlər Bazası" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "Susmaya görə:" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "Başqa:" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "Mövcud sertifikatlar" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "İmzaları Yük&ləmək" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "PDF seçimləri" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "Çap məlumatları" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "Çap edilən sənədə şərhləri əlavə etmək" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"Şəhləri çap edilən sənədə əlavə edir. Əgər şərh olmadan orijinal sənəd çap " +"etmək istəsəniz bunu söndürə bilərsiniz." + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "Məcburi rasterizasiya" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "Çapdan əvvəl şəkilə rasterizasiya etmək" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"Çapdan əvvəl hər səhifəni şəkilə məcburi rasterizasiya etmək. Bu ümumiyyətlə " +"bir qədər pis nəticə göstərir, lakin düzgün çap olunan sənədlər üçün " +"yararlıdır." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "Çap olunmuş səhifələr üçün miqyaslandırma rejimi" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "Miqyas rejimi:" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF v. %1.%2" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "Format" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "Şifrələnmiş" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "Şifrələnməmiş" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "Təhlükəsizlik" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "Bəli" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "Optimallaşdırılmış" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"İmzalayıb: %1\n" +"\n" +"Tarix: %2" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "Poppler %1 istifadə edilməsi" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" +"Poppler %1 istifadə edilir\n" +"\n" +"Poppler %2 qarşı yaradılıb" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "PDF Modulu Tənzimləmələri" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" +"Sənəddə bəzi xətalar tapıldı, Okulyar bu sənədin məzmununu düzgün göstərməyə " +"bilər" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" + +#: pdfsettingswidget.cpp:120 +#, fuzzy, kde-format +#| msgid "&Load Signatures" +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "İmzaları Yük&ləmək" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "Adına verilən" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "E-poçt" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "Bitmə Tarixi" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" +"NSS dəstəklənməsi olmadan bir Poppler kitabxanası istifadə edirsiniz.\n" +"Bu səbəbdən Elektron İmza əlavə etmək mümkündeyildir" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "Yenidən başlatmaq lazımdır" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "" +"NSS kataloqu ayarlarını dəyişdikdən sonra Okuları yenidən başlatmalısınız" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter Password" +msgstr "Şifrəni daxil edin" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "%1 açmaq üçün şifrəni daxil edin:" + +#~ msgid "Not Available" +#~ msgstr "Əlçatan deyil" + +#~ msgid "PDF Certificates" +#~ msgstr "PDF sertifikatları" + +#~ msgid "PDF Digital Signature Certificates" +#~ msgstr "PDF Elektron İmza Sertifikatları" diff --git a/po/az/okular_tiff.po b/po/az/okular_tiff.po new file mode 100644 index 0000000..50f6679 --- /dev/null +++ b/po/az/okular_tiff.po @@ -0,0 +1,28 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Kheyyam Gojayev , 2020. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-10-16 13:54+0400\n" +"Last-Translator: Kheyyam Gojayev \n" +"Language-Team: Azerbaijani \n" +"Language: az\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 20.08.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Xəyyam Qocayev" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "xxmn77@gmail.com" diff --git a/po/az/okular_txt.po b/po/az/okular_txt.po new file mode 100644 index 0000000..b40716e --- /dev/null +++ b/po/az/okular_txt.po @@ -0,0 +1,38 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Kheyyam Gojayev , 2020. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-10-16 13:54+0400\n" +"Last-Translator: Kheyyam Gojayev \n" +"Language-Team: Azerbaijani \n" +"Language: az\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 20.08.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Xəyyam Qocayev" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "xxmn77@gmail.com" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "Txt" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "Txt Modulu Tənzimləmələri" diff --git a/po/az/okular_xps.po b/po/az/okular_xps.po new file mode 100644 index 0000000..f04b3c3 --- /dev/null +++ b/po/az/okular_xps.po @@ -0,0 +1,33 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Kheyyam Gojayev , 2020. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-10-16 11:45+0400\n" +"Last-Translator: Kheyyam Gojayev \n" +"Language-Team: Azerbaijani \n" +"Language: az\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 20.08.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Xəyyam Qocayev" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "xxmn77@gmail.com" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "Buraxılış" diff --git a/po/az/org.kde.active.documentviewer.po b/po/az/org.kde.active.documentviewer.po new file mode 100644 index 0000000..cbf4d0f --- /dev/null +++ b/po/az/org.kde.active.documentviewer.po @@ -0,0 +1,219 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Kheyyam Gojayev , 2020, 2022. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2022-08-16 16:17+0400\n" +"Last-Translator: Kheyyam \n" +"Language-Team: Azerbaijani \n" +"Language: az\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 22.04.3\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "Əlfəcinlər" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "Sertifikata baxış" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "Təhciz edən:" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "Tanınmış adı:" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "E-poçt:" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "Təşkilat:" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "Təhciz edən:" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "Etibarlılıq" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "Buraxılma tarixi:" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "Bitmə tarixi:" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "Barmaq izləri" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "SHA-1 barmaq izi:" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "SHA-256 barmaq izi:" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +#, fuzzy +#| msgid "Export..." +msgid "Export…" +msgstr "İxrac..." + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "Bağla" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "Sertifikat faylı (*.cer)" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "Xəta" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "Sertifikatı ixrac edilə bilmədi." + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "Okular" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "" + +#: ui/Main.qml:49 +msgid "About" +msgstr "Haqqında" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "Şifrə tələb olunur" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "Əlfəcini silmək" + +#: ui/MainView.qml:29 +msgid "Bookmark this page" +msgstr "Bu səhifəni işarələmək" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "Miniatürlər" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "Tərkiblərinin cədvəli" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "İmzalar" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "İmza xüsusiyyətləri" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "Etibarlılıq vəziyyəti" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "İmzanın etibarlılığı:" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "Sənəddəki dəyişikliklər:" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "Əlavə məlumatlar" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "İmzalayan:" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "İmzalanma tarixi:" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "Səbəbi:" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "Yerləşmə yeri:" + +#: ui/SignaturePropertiesPage.qml:96 +msgid "Document Version" +msgstr "Sənədin versiyası" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Sənədin buraxılışı %1 / %2" + +#: ui/SignaturePropertiesPage.qml:108 +#, fuzzy +#| msgid "Save Signed Version..." +msgid "Save Signed Version…" +msgstr "İmzalanmış versiyanı saxla..." + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +#, fuzzy +#| msgid "View Certificate..." +msgid "View Certificate…" +msgstr "Sertifikata baxış..." + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "İmzanı saxlamaq mümkün olmadı." + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "sƏlçatan deyil" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "Nəticə tapılmadı." + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "Sənəd açıq deyil" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "" + +#: ui/WelcomeView.qml:108 +#, fuzzy +#| msgid "Document Version" +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "Sənədin versiyası" + +#~ msgid "Open..." +#~ msgstr "Açmaq..." + +#~ msgid "Search..." +#~ msgstr "Axtarış..." diff --git a/po/be/okular.po b/po/be/okular.po new file mode 100644 index 0000000..f7ba79c --- /dev/null +++ b/po/be/okular.po @@ -0,0 +1,6553 @@ +# Darafei Praliaskouski , 2007. +# Siarhei Liantsevich , 2008. +msgid "" +msgstr "" +"Project-Id-Version: fc57ad16a28d02dea100ceb1c60de14e\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-01-06 19:10\n" +"Last-Translator: Siarhei Liantsevich \n" +"Language-Team: Belarusian\n" +"Language: be\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || n%10>=5 && n%10<=9 || n" +"%100>=11 && n%100<=14 ? 2 : 3);\n" +"X-Generator: KBabel 1.11.4\n" +"X-Crowdin-Project: fc57ad16a28d02dea100ceb1c60de14e\n" +"X-Crowdin-Project-ID: 136\n" +"X-Crowdin-Language: be\n" +"X-Crowdin-File: /[antikruk.KDE] main/KDE6/be/messages/okular/okular.po\n" +"X-Crowdin-File-ID: 10506\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Дарафей Праляскоўскі, Antikruk" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "komzpa@licei2.com, nashtlumach@gmail.com" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Okular, універсальны сродак для прагляду дакументаў" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "Былы суправаджальнік" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "Праца над бібліятэкай, рухавіком FictionBook і рухавіком ODT" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "Распрацоўнік" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymanski" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "Стварэнне Okular з кодавай базы KPDF" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "Enrico Ros" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "Распрацоўнік KPDF" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "Eugene Trounev" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "Графічныя элементы анатацый" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "Jiri Baum - NICTA" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "Інструмент выбару табліцы" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "Fabio D'Urso" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "Паляпшэнне анатацый" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "Перайсці да старонкі %1" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "Адкрыць вонкавы файл" + +#: core/action.cpp:197 +#, fuzzy, kde-format +#| msgid "Execute '%1'..." +msgid "Execute '%1'…" +msgstr "Выканаць \"%1\"..." + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "Першая старонка" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "Папярэдняя старонка" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "Наступная старонка" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "Апошняя старонка" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "Назад" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "Далей" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Выхад" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "Пачаць прэзентацыю" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "Скончыць прэзентацыю" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go To Page…" +msgstr "Перайсці да старонкі" + +#: core/action.cpp:365 +#, fuzzy, kde-format +#| msgid "Play sound..." +msgid "Play sound…" +msgstr "Прайграць гук..." + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "Скрыпт JavaScript" + +#: core/action.cpp:483 +#, fuzzy, kde-format +#| msgid "Play movie" +msgid "Play movie…" +msgstr "Прайграць відэа" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "Прайграць відэа" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "Спыніць відэа" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "Прыпыніць відэа" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "Узнавіць відэа" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "Гэтая версія Okular сабраная без падтрымкі аўдыё" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "Выбар рухавіка" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
%1 (%2).

Please select which one to use:
" +msgstr "" +" Знойдзена некалькі рухавікоў для файлаў тыпу MIME:
%1 (%2)." +"

Абярыце адзін:
" + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "Большасць старонак - %1." + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "Кніжная %1" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "Альбомная %1" + +#: core/document.cpp:246 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 × %2 цал (%3)" + +#: core/document.cpp:248 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 × %2 мм (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "Пошук працягваецца з самага пачатку" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "Пошук працягваецца знізу" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "Не ўдалося знайсці ўбудову, якая можа апрацаваць перададзены дакумент." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "выдаліць анатацыі" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"Дакумент спрабуе выканаць вонкавую праграму, а Okular не дазваляе гэта " +"зрабіць у мэтах бяспекі." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "Не знойдзена праграм для адкрыцця файла тыпу %1." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "Не ўдалося адкрыць часовы файл" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "Не ўдалося выканаць пераўтварэнне для друкавання" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "Працэс друкавання аварыйна завяршыўся" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "Не ўдалося запусціць працэс друкавання" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "Не ўдалося надрукаваць у файл" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "Прынтар быў у хібным стане" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "Не ўдадося знайсці файл для друкавання" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "Няма файла для друкавання" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"Не ўдалося знайсці прыдатны выканальны файл для друкавання. Пераканайцеся, " +"што выканальны файл CUPS lpr даступны" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "Хібны памер старонкі для друкавання" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "Не ўдалося адкрыць \"%1\". Файл не існуе" + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Загаловак" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Тэма" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Апісанне" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "Аўтар" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Стваральнік" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Вытворца" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "Аўтарскія правы" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "Старонак" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Створана" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Зменена" + +#: core/document.cpp:6032 +#, kde-format +msgid "MIME Type" +msgstr "Тып MIME" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "Катэгорыя" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Ключавыя словы" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "Шлях да файла" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "Памер файла" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "Памер старонкі" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "дадаць анатацыю" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "выдаліць анатацыю" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "змяніць уласцівасці анатацыі" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "перакласці анатацыю" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "падладзіць анатацыю" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "рэдагаваць тэкст" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "рэдагаваць змесціва анатацыі" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "рэдагаваць змесціва формы" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "рэдагаваць варыянты спісачнай формы" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "рэдагаваць варыянты камбінаванай формы" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "рэдагаваць стан формы кнопкі" + +#: core/generator.cpp:790 +#, fuzzy, kde-format +#| msgid "Plain &Text..." +msgid "Plain &Text…" +msgstr "Просты &тэкст..." + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "Тэкст OpenDocument" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "Параметры друкавання" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "Падладзіць да вобласці друкавання" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "Падладзіць да памераў старонкі" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "Рэжым маштабавання:" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "Больш не паказваць гэтае паведамленне" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "Недаступна" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" + +#: core/signatureutils.cpp:498 +#, fuzzy, kde-kuit-format +#| msgctxt "@info" +#| msgid "Could not load the file %1" +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "Не ўдалося загрузіць файл %1" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "" + +#: core/signatureutils.cpp:504 +#, fuzzy, kde-kuit-format +#| msgctxt "@info" +#| msgid "" +#| "Could not overwrite %1 because that file is read-" +#| "only. Try saving to another location or changing that file's permissions." +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" +"Немагчыма перазапісаць %1, бо гэты файл даступны толькі " +"для чытання. Паспрабуйце захаваць яго ў іншым месцы або змяніць правы " +"доступу." + +#: core/signatureutils.cpp:506 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown signing error" +msgstr "Невядомы файл" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Крыніца: %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "&Прадвызначаны шрыфт:" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "Версія" + +#: gui/certificatemodel.cpp:41 +#, kde-format +msgid "Serial Number" +msgstr "Серыйны нумар" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "Выдавец" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "Выдадзена" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "Сканчэнне тэрміну дзеяння" + +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Тэма" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "Публічны ключ" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "Выкарыстанне ключа" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "V%1" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "%1 (%2 бітаў)" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "Уласцівасць" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "Значэнне" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "Выплыўная нататка" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "Надрукаваны тэкст" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "Убудаваная нататка" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +#| msgid "Polygon with Comment" +msgid "Arrow with Comment" +msgstr "Многавугольнік з каментаром" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "Стрэлка" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "Прамая лінія з каментаром" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "Прамая лінія" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "Многавугольнік з каментаром" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "Многавугольнік" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgid "Stamp with Comment" +msgid "Rectangle with Comment" +msgstr "Адбітак з каментаром" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "Прамавугольнік" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgid "Underline with Comment" +msgid "Ellipse with Comment" +msgstr "Падкрэсліванне з каментаром" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "Эліпс" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "Падсвятленне з каментаром" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "Падсвятленне" + +#: gui/guiutils.cpp:87 +#, kde-format +msgid "Squiggle with Comment" +msgstr "Крэмзанне з каментаром" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "Крэмзанне" + +#: gui/guiutils.cpp:91 +#, kde-format +msgid "Underline with Comment" +msgstr "Падкрэсліванне з каментаром" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "Падкрэсліванне" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out with Comment" +msgstr "Закрэсліванне з каментаром" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "Закрэсліванне" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "Адбітак з каментаром" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "Адбітак" + +#: gui/guiutils.cpp:106 +#, kde-format +msgid "Freehand Line with Comment" +msgstr "Адвольная лінія з каментаром" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "Адвольная лінія" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "Знак устаўляння" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "Далучаны файл" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "Гук" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "Фільм" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Экран" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "Віджэт" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "Медыяфайл" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation" +msgstr "%1 анатацыя" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "Невядома" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Аўтар: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "Дзе вы хочаце захаваць %1?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "Не ўдалося адкрыць \"%1\" для запісу. Файл не быў захаваны." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "Подпіс крыптаграфічна сапраўдны." + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "Подпіс крыптаграфічна хібны." + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "Неадпаведнасць абагульнення." + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "Памылковая структура подпісу CMS/PKCS7." + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "У дакуменце няма запытанага подпісу." + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "Не ўдалося праверыць подпіс." + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "Надзейны сертыфікат." + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "Выдавец сертыфіката ненадзейны." + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "Выдавец сертыфіката невядомы." + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "Сертыфікат быў адкліканы." + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "Тэрмін дзеяння сертыфіката скончыўся." + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "Сертыфікат яшчэ не правераны." + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "Правяранне сертыфіката" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "Невядомая праблема з сертыфікатам або яго даныя пашкоджаныя." + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "MD2" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "MD5" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "SHA1" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "SHA256" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "SHA384" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "SHA512" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "SHA224" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "Невядомы алгарытм" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "RSA" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "DSA" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "EC" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "Невядомы тып" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "Лічбавы подпіс" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "Неадмаўленне" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "Ключы шыфравання" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "Ключы расшыфравання" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "Узгадненне ключоў" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "Сертыфікат подпісу" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "CRL подпісу" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "Толькі шыфраванне" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "Выкарыстанне не вызначана" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr ", " + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "Ад моманту падпісання дакумент не змяняўся." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" +"Рэдакцыя дакумента, падпісаная гэтым подпісам, не была змененая, аднак пасля " +"ў дакумент былі ўнесены змены." + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" +"Дакумент быў зменены спосабам, які быў забаронены папярэднім падпісальнікам." + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "Не ўдалося завяршыць праверку цэласнасці дакумента." + +#: gui/signatureguiutils.cpp:208 +#, fuzzy, kde-format +#| msgid "This document has unsigned signature fields." +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "Гэты дакумент мае незапоўненыя палі для подпісу." + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "Гэты дакумент падпісаны лічбавым подпісам." + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "" +"Гэты дакумент падпісаны лічбавым подпісам. Ад моманту апошняга падпісання " +"былі ўненсеныя змены." + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" +"Гэты дакумент падпісаны лічбавым подпісам. Некаторыя подпісы немагчыма " +"праверыць належным чынам." + +#: gui/signaturemodel.cpp:141 +#, fuzzy, kde-format +#| msgid "Signature Validity:" +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "Тэрмін дзеяння подпісу:" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "Поле: %1 на старонцы %2" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "Рэд. %1: падпісана %2" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "Час падпісання: %1" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "Прычына: %1" + +#: gui/signaturemodel.cpp:177 +#, kde-format +msgid "Location: %1" +msgstr "Размяшчэнне: %1" + +#: gui/signaturemodel.cpp:185 +#, fuzzy, kde-format +#| msgid "Signatures" +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "Подпісы" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "" + +#: gui/signaturemodel.cpp:193 +#, fuzzy, kde-format +#| msgctxt "Unknown author" +#| msgid "Unknown" +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "Невядома" + +#: gui/signaturemodel.cpp:195 +#, fuzzy, kde-format +#| msgid "Signature Validity:" +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "Тэрмін дзеяння подпісу:" + +#: gui/signaturemodel.cpp:201 +#, fuzzy, kde-format +#| msgid "Signature Validity:" +msgid "Signature Type: %1" +msgstr "Тэрмін дзеяння подпісу:" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "Чырвоны" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "Аранжавы" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "Жоўты" + +#: part/annotationactionhandler.cpp:151 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "Зялёны" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "Блакітны" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "Сіні" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "Пурпуровы" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "Белы" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "Шэры" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "Чорны" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "Шырыня %1" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1%" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "Шырыня лініі анатацыі (анатацый не абрана)" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "Колер анатацыі (анатацый не абрана)" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "Колер залівання анатацыі (анатацый не абрана)" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "Непразрыстасць анатацыі (анатацый не абрана)" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "Шрыфт анатацыі (анатацый не абрана)" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "Дадаць бягучую анатацыю ў меню хуткіх анатацый (анатацый не абрана)" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" +"Абмежаваць суадносіны формы 1:1 або вугал лініі крокам 15° (анатацый не " +"абрана)" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" +"Дадатковыя налады для бягучага інструмента анатацый (анатацый не абрана)" + +#: part/annotationactionhandler.cpp:308 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Шырыня лініі анатацыі" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "Шырыня лініі анатацыі (у бягучай анатацыі няма шырыні лініі)" + +#: part/annotationactionhandler.cpp:314 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Колер тэксту анатацыі" + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "Колер межаў анатацыі" + +#: part/annotationactionhandler.cpp:318 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Колер анатацыі" + +#: part/annotationactionhandler.cpp:322 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Колер залівання анатацыі" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "" +"Колер залівання анатацыі (у бягучай анатацыі не вызначаны колер залівання)" + +#: part/annotationactionhandler.cpp:328 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "Шрыфт анатацыі" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "Шрыфт анатацыі (у бягучай анатацыі не вызначаны шрыфт)" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "Абмежаваць вугал лініі крокам 15°" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "Абмежаваць суадносіны формы 1:1" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" +"Абмежаваць суадносіны формы 1:1 або вугал лініі крокам 15° (бягучая анатацыя " +"не падтрымлівае)" + +#: part/annotationactionhandler.cpp:341 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Непразрыстасць анатацыі" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "Дадаць бягучую анатацыю ў меню хуткіх анатацый" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "Дадатковыя налады для бягучага інструмента анатацый" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "Колер" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "Колер залівання" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "Празрысты" + +#: part/annotationactionhandler.cpp:445 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "Custom Color..." +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "Адвольны колер..." + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "Абраць колер" + +#: part/annotationactionhandler.cpp:552 +#, kde-format +msgid "&Annotations" +msgstr "&Анатацыі" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "Схаваць" + +#: part/annotationactionhandler.cpp:554 +#, kde-format +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Паказаць больш інструментаў для анатацый" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "Падсвятленне" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "Падкрэсліванне" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "Крэмзанне" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "Закрэсліванне" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Надрукаваны тэкст" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "Убудаваная нататка" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "Выплыўная нататка" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "Адвольная лінія" + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "Прамая лінія" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "Стрэлка" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "Прамавугольнік" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "Эліпс" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "Многавугольнік" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "Геаметрычныя фігуры" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "Адбітак" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Хуткія анатацыі" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "Абярыце інструмент для анатацый з хуткіх анатацый" + +#: part/annotationactionhandler.cpp:651 +#, kde-format +msgid "Quick Annotation Bar" +msgstr "Панэль хуткіх анатацый" + +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "Дадаць у хуткія анатацыі" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "Пакідаць актыўным" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "Пакідаць інструмент анатацый актыўным пасля выкарыстання" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "Інструменты абмежавання суадносін і вугла анатацыі" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "Шрыфт" + +#: part/annotationactionhandler.cpp:681 +#, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Налады анатацыі" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "Шырыня лініі" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "Непразрыстасць" + +#: part/annotationactionhandler.cpp:696 +#, kde-format +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1%" + +#: part/annotationmodel.cpp:320 +#, kde-format +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "Старонка %1 (%2)" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "Старонка %1" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "%1 анатацыя" +msgstr[1] "%1 анатацыі" +msgstr[2] "%1 анатацый" +msgstr[3] "%1 анатацыі" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "&Адкрыць выплыўную нататку" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Выдаліць закладку" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Дадаць закладку" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, kde-format +msgid "Copy Text to Clipboard" +msgstr "Скапіяваць тэкст у буфер абмену" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "Капіяванне забаронена DRM" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "В&ыдаліць" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "У&ласцівасці" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, fuzzy, kde-format +#| msgctxt "%1 is the name of the file to save" +#| msgid "&Save '%1'..." +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "&Захаваць \"%1\"..." + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "&Выгляд" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "&Асноўныя" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&Аўтар:" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "Створана:" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "Зменена:" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "Уласцівасці выплыўной нататкі" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "Уласцівасці надрукаванага тэксту" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "Уласцівасці ўбудаванай нататкі" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "Уласцівасці прамой лініі" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "Уласцівасці многавугольніка" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "Уласцівасці геаметрычнай фігуры" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "Уласцівасці пазначэння тэксту" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "Уласцівасці адбітка" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "Уласцівасці адвольнай лініі" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "Уласцівасці знака ўстаўляння" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "Уласцівасці далучэння файла" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "Уласцівасці гуку" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "Уласцівасці відэа" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "Уласцівасці анатацыі" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "Абярыце сімвал адвольнага адбітку" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "Абярыце сімвал адвольнага адбітку" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" +"*.ico *.png *.xpm *.svg *.svgz | Файлы значкоў (*.ico *.png *.xpm *.svg *." +"svgz)" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "Не ўдалося загрузіць файл %1" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "Хібны файл" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&Колер:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%1%" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "&Непразрыстасць:" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "Значок:" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "Каментар" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "Даведка" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "Знак устаўляння" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "Клавіша" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "Новы абзац" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "Нататка" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "Абзац" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Шрыфт:" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "&Колер тэксту:" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "&Выраўноўванне:" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "Злева" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "Па цэнтры" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "Справа" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "Шырыня &межаў:" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "Зацверджана" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "Як" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "Канфідэнцыйна" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "Ведамасны" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "Чарнавік" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "Эксперыментальная версія" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "Састарэла" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "Фінальная версія" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "Для каментароў" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "Для публічнага апублікавання" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "Не зацверджана" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "Не для публічнага апублікавання" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "Прададзена" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "Надзвычай сакрэтна" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "Закладка" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "Інфармацыя" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "Сімвал адбітка:" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "&Шырыня:" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "Пачатак лініі:" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "Канец лініі:" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "Квадрат" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "Кола" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "Дыямент" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "Адкрытая стрэлка" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "Закрытая стрэлка" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "Няма" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "Рыса" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "Адкрытая адваротная стрэлка" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "Закрытая адваротная стрэлка" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "Касая рыса" + +#: part/annotationwidgets.cpp:531 +#, kde-format +msgid "Leader line length:" +msgstr "Даўжыня вынасной лініі:" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "Даўжыня працягу вынасной лініі:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "Уключана" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "Заліванне фігуры:" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Тып:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "Закрэсліванне" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "Сімвал далучанага файла:" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "Графік" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "Шпілька" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "Сашчэпка" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "Тэг" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "Файл" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "Недаступна" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "Няма апісання." + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "Назва:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "Апісанне:" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "Сімвал знака ўстаўляння:" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "Няма" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "Закрыць гэтую нататку" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "Параметры" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"Гэтая анатацыя можа змяшчаць код LaTeX.\n" +"Пстрыкніце, каб апрацаваць." + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "Не ўдалося знайсці выканальны файл latex." + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "Не ўдалося апрацаваць з дапамогай LaTeX" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "Не ўдалося знайсці выканальны файл dvipng." + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "Падчас выканання каманды \"latex\" паўстала праблема." + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "Падчас выканання каманды \"dvipng\" паўстала праблема." + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"%2 закладка" +msgstr[1] "" +"%1\n" +"\n" +"%2 закладкі" +msgstr[2] "" +"%1\n" +"\n" +"%2 закладак" +msgstr[3] "" +"%1\n" +"\n" +"%2 закладкі" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Закладкі" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "Паказваць для ўсіх дакументаў" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, fuzzy, kde-format +#| msgid "S&earch:" +msgid "Search…" +msgstr "По&шук:" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, fuzzy, kde-format +#| msgid "Expand all" +msgid "Expand All" +msgstr "Разгарнуць усё" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, fuzzy, kde-format +#| msgid "Collapse all" +msgid "Collapse All" +msgstr "Згарнуць усё" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "Перайсці да гэтай закладкі" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "Змяніць назву закладкі" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Адкрыць дакумент" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "Выдаліць усе закладкі для гэтага дакумента" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "Сродак для прагляду сертыфікатаў" + +#: part/certificateviewer.cpp:50 +#, fuzzy, kde-format +#| msgid "Export..." +msgid "Export…" +msgstr "Экспартаванне..." + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "Асноўныя" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "Выдавец" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "Агульная назва (CN)" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "Электронная пошта" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "Арганізацыя (O)" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "Каму выдадзена" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "Тэрмін дзеяння" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "Адбіткі" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "Адбітак SHA-1" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "Адбітак SHA-256" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "Падрабязнасці" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "Даныя сертыфіката:" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "Дзе вы хочаце захаваць гэты сертыфікат?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "Файл сертыфіката (*.cer)" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "Не ўдалося экспартаваць сертыфікат" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "&Колеравы рэжым" + +#: part/colormodemenu.cpp:21 +#, kde-format +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "Змяніць колеры" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "&Звычайныя колеры" + +#: part/colormodemenu.cpp:41 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "&Інвертаваныя колеры" + +#: part/colormodemenu.cpp:42 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "Змяніць &колер паперы" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "Змяніць &цёмны і светлы колеры" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "Пераўтварыць у &чорна-белае" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "Інвертаваць &асвятленне" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "Інвертаваць &яркасць (лінейна sRGB)" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "Інвертаваць &яркасць (сіметрычна)" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "Зрух адцення ў бок &павелічэння" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "Зрух адцення ў бок па&мяншэння" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "Чырвоны" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "Зялёны" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "Сіні" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "Жоўты" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "Чорны" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "Белы" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "Падсвятленне жоўтым колерам" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "Падсвятленне зялёным колерам" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "Уставіць тэкст" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "Маляванне рамак вакол спасылак" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "Змяніць колеры" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "" +"Папярэджанне: гэтыя параметры могуць дрэнна паўплываць на хуткасць " +"рэндэрынгу." + +#: part/dlgaccessibility.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "Інвертаваць колеры" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "Змяніць колер паперы" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "Змяніць цёмны і светлы колеры" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "Пераўтварыць у чорна-белае" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "Інвертаваць асвятленне" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "Інвертаваць яркасць (лінейна sRGB)" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "Інвертаваць яркасць (сіметрычна)" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "Зрух адцення ў бок павелічэння" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "Зрух адцення ў бок памяншэння" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "Колеравы рэжым:" + +#: part/dlgaccessibility.cpp:87 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Колер паперы:" + +#: part/dlgaccessibility.cpp:99 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Цёмны колер:" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "Светлы колер:" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "Парог:" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Кантраснасць:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "Сістэма сінтэзу маўлення:" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "Голас сінтэзу маўлення:" + +#: part/dlgannotations.cpp:25 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Поўная панэль анатацый" + +#: part/dlgannotations.cpp:26 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Панэль хуткіх анатацый" + +#: part/dlgannotations.cpp:28 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Панэль анатацый:" + +#: part/dlgannotations.cpp:34 +#, kde-format +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "Аўтар:" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"Нататка: гэтая інфармацыя выкарыстоўваецца толькі для анатацый. " +"Інфармацыя захоўваецца ў дакументах, таму будзе перадавацца разам з " +"дакументамі." + +#: part/dlgannotations.cpp:48 +#, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

Quick Annotation Tools

" +msgstr "

Інструменты хуткіх анатацый

" + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" +"Абярыце рэдактар, які павінен запускацца, калі Okular хоча адкрыць зыходны " +"файл." + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "Адвольны тэкставы рэдактар" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Кліент Emacs" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "Кліент Lyx" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "TeXstudio" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "TeXiFy IDEA" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "Рэдактар:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
\n" +"You can also put few placeholders:\n" +"
    \n" +"
  • %f - the file name
  • \n" +"
  • %l - the line of the file to be reached
  • \n" +"
  • %c - the column of the file to be reached
  • \n" +"
\n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"Вызначце каманду для запуску адвольнага тэкставага рэдактара.
\n" +"Вы можаце размясціць некалькі запаўняльнікаў:\n" +"
    \n" +"
  • %f - назва файла
  • \n" +"
  • %l - радок файла, да якога трэба перайсці
  • \n" +"
  • %c - слупок файла, да якога трэба перайсці
  • \n" +"
\n" +"Калі %f не вызначаны, назву файла трэба дадаць у каманду." + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "Каманда:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "Выкарыстоўваць плаўнае пракручванне" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "Выгляд:" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "Паказваць палосы пракручвання" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "Звязаць мініяцюры са старонкай" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "Паказваць падказкі і інфармацыйныя паведамленні" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "Апавяшчаць пра ўбудаваныя файлы, формы і подпісы" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "Паказаць загаловак дакумента на панэлі загалоўка, калі ён ёсць" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "Паказваць толькі назву файла" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "Паказваць поўны шлях да файла" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "Калі загаловак дакумента не паказваецца:" + +#: part/dlggeneral.cpp:92 +#, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "Выкарыстоўваць адвольны колер фону:" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "Магчымасці праграмы:" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "Адкрываць новыя файлы ва ўкладках" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "Пераключацца на наяўную ўкладку, калі файл ужо адкрыты" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "Пільнавацца абмежаванняў DRM" + +#: part/dlggeneral.cpp:148 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "Перазагружаць дакумент пры ўнясенні зменаў у файл" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "Паказваць дыялогавае акно выбару рухавіка" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "Кірунак чытання справа ўлева" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" + +#: part/dlggeneral.cpp:178 +#, fuzzy, kde-format +#| msgctxt "@option:check Config dialog, general page" +#| msgid "Open in continuous mode by default" +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "Прадвызначана адкрываць у бесперапынным рэжыме" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "Прадвызначана адкрываць у бесперапынным рэжыме" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" +"Пры выкарыстанні інструмента прагляду перамяшчаць курсор па краях экрана" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "Аглядныя слупкі:" + +#: part/dlggeneral.cpp:220 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%1%" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" +"Вызначае частку бягучай вобласці прагляду, якая застанецца бачнай пры " +"націсканні клавіш Page Up/Down." + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "Бачнасць пры выкарыстанні Page Up/Down:" + +#: part/dlggeneral.cpp:228 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%1%" + +#: part/dlggeneral.cpp:232 +#, fuzzy, kde-format +#| msgctxt "item:inlistbox Config dialog, general page, default zoom" +#| msgid "100%" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "100%" + +#: part/dlggeneral.cpp:233 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "Па шырыні" + +#: part/dlggeneral.cpp:234 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "Па памеры старонкі" + +#: part/dlggeneral.cpp:235 +#, fuzzy, kde-format +#| msgid "Auto Fit" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "Аўтаматычна" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "" + +#: part/dlggeneral.cpp:237 +#, fuzzy, kde-format +#| msgctxt "item:inlistbox Config dialog, general page, default zoom" +#| msgid "" +#| "Defines the default zoom mode for files which were never opened before. " +#| "For files which were opened before the previous zoom is applied." +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" +"Вызначае прадвызначаны рэжым маштабавання для файлаў, якія ніколі раней не " +"адкрываліся. Уплывае на файлы, якія былі адкрытыя перад тым, як было ўжыта " +"папярэдняе маштабаванне." + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "Прадвызначанае маштабаванне:" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "Уключыць эфекты празрыстасці" + +#: part/dlgperformance.cpp:28 +#, kde-format +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "Выкарыстанне працэсара:" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "Нізкае" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "Звычайнае (прадвызначана)" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "Агрэсіўнае" + +#: part/dlgperformance.cpp:38 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "Максімальнае" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "Выкарыстанне памяці:" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "Уключыць згладжванне тэксту" + +#: part/dlgperformance.cpp:56 +#, kde-format +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "Параметры рэндэрынгу:" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "Уключыць згладжванне графікі" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "Уключыць хінтынг" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"Выкарыстоўванне як мага меншага памеру памяці. (для сістэм з невялікім " +"памерам аператыўнай памяці)" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"Добры кампраміс паміж выкарыстаннем памяці і павелічэннем хуткасці. " +"Папярэдняя загрузка наступнай старонкі і паскарэнне пошуку. (для сістэм з 2 " +"Гб памяці)" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"Усё захоўваецца ў памяці. Папярэдняя загрузка наступных старонак. Паскарэнне " +"пошуку. (для сістэм з прынамсі 4 Гб памяці)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" +"Усё загружаецца і захоўваецца ў памяці. Папярэдняя загрузка ўсіх старонак. " +"(будзе выкарыстоўвацца максімум 50% вашай агульнай памяці або свабоднай " +"памяці)" + +#: part/dlgpresentation.cpp:38 +#, fuzzy, kde-format +#| msgctxt "Advance every %1 seconds" +#| msgid " second" +#| msgid_plural " seconds" +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] " секунда" +msgstr[1] " секунды" +msgstr[2] " секунд" +msgstr[3] " секунды" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "Аўтаматычнае перамяшчэнне:" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "Пачынаць спачатку пасля апошняй старонкі" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "Пераход назад/далей пры націсканні ў левым/правым боку старонкі" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "Пераход далей пры націсканні ў любым месцы старонкі" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "Адключана" + +#: part/dlgpresentation.cpp:63 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Навігацыя націсканнем:" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "Колер фону:" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "Хаваць пасля затрымлівання" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "Заўсёды бачна" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "Заўсёды схавана" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "Курсор мышы:" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "Паказваць індыкатар ходу выканання" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "Паказваць зводную старонку" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "Імгненны (без анімацыі)" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "Замена" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "Выпадковы" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "Вертыкальныя жалюзі" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "Гарызантальныя жалюзі" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "Складанне" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "Раскладанне" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "Растварэнне" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "Згасанне" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "Мільганне ўніз" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "Мільганне ўправа" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "Мільганне ўправа ўніз" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "Гарызантальнае дзяленне ўнутр" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "Гарызантальнае дзяленне вонкі" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "Вертыкальнае дзяленне ўнутр" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "Вертыкальнае дзяленне вонкі" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "Ссоўване ўніз" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "Ссоўванне ўправа" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "Ссоўванне ўлева" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "Ссоўване ўверх" + +#: part/dlgpresentation.cpp:121 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Прадвызначаны пераход:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "Пераважны экран:" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

Drawing Tools

" +msgstr "

Інструменты малявання

" + +#: part/dlgpresentation.cpp:171 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Бягучы экран" + +#: part/dlgpresentation.cpp:172 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Прадвызначаны экран" + +#: part/dlgpresentation.cpp:178 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "Экран %1 (%2 %3 %4)" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "Экран %1 (адключана)" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "Інструмент малявання: %1" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "Сцірка" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "&Назва:" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "&Тып:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "Выгляд" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "Разметка тэксту" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "Геаметрычная фігура" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "Стварыць інструмент анатацый" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "Рэдагаваць інструмент анатацый" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "Колер:" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "&Шырыня асадкі:" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "" + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "Стварыць інструмент малявання" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "Рэдагаваць інструмент малявання" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "Невядома" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Убудаваныя файлы" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "Выгляд" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "Назва" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "Апісанне" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "Памер" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "Створана" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "Зменена" + +#: part/embeddedfilesdialog.cpp:154 +#, fuzzy, kde-format +#| msgid "Save As" +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "Захаваць як" + +#: part/embeddedfilesdialog.cpp:155 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "&Выгляд" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "Не ўдалося загрузіць частку элемента для друкавання" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "Папярэдні прагляд для друку" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "Закрыць" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "&Пошук:" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "Тэкст для пошуку" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Далей" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "Пераход да наступнага супадзення" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Назад" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "Пераход да папярэдняга супадзення" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "Змяніць паводзіны пошуку" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "Зважаць на рэгістр" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "З бягучай старонкі" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "Шукаць па меры ўводу" + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "Усе файлы (*)" + +#: part/formwidgets.cpp:1280 +#, fuzzy, kde-format +#| msgid "Unsigned Signature Field (Click to Sign)" +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "Пустое поле подпісу (пстрыкніце, каб падпісаць)" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, fuzzy, kde-format +#| msgctxt "@action:button" +#| msgid "Sign" +msgid "&Sign…" +msgstr "Падпісаць" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "Уласцівасці подпісу" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "Параметры пошуку" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "Зважаць на рэгістр" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "Рэгулярны выраз" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "Слаі" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "з" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "Маштабаванне" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "Маштабаваць да 100%" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "Павярнуць у&права" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "Управа" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "Павярнуць у&лева" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "Улева" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "Зыходная арыентацыя" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "&Скарачэнне" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "&Скарачэнне палёў" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "Скарачэнне да &абранай вобласці" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "Па &шырыні" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "Па &памеры старонкі" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "&Аўтаматычна" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "Падладжванне акна да &старонкі" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "&Рэжым выгляду" + +#: part/pageview.cpp:594 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "&Адна старонка" + +#: part/pageview.cpp:595 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "&Разварот" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "Разварот (&першая старонка па цэнтры)" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "&Беглы агляд" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "&Суцэльны выгляд" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "Выкарыстоўваць кірунак чытання справа ўлева" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "&Агляд" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "&Маштабаванне" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "Выбар в&обласці" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "Выбар &тэксту" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "Выбар &табліцы" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "&Лупа" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "Інструменты выбару" + +#: part/pageview.cpp:711 +#, fuzzy, kde-format +#| msgid "Digitally &Sign..." +msgid "Digitally &Sign…" +msgstr "&Лічбавы подпіс..." + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "Прачытаць уголас увесь дакумент" + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "Прачытаць з бягучай старонкі" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "Прачытаць уголас бягучую старонку" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "Спыніць маўленне" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "Прыпыніць/узнавіць маўленне" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "Пракручванне клавішай \"Уверх\"" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Пракручванне клавішай \"Уніз\"" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "Пракручванне клавішай \"Page Up\"" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "Пракручванне клавішай \"Page Down\"" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "Паказваць формы" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] " Загружаны дакумент з %1 старонкай." +msgstr[1] " Загружаны дакумент з %1 старонкамі." +msgstr[2] " Загружаны дакумент з %1 старонкамі." +msgstr[3] " Загружаны дакумент з %1 старонкамі." + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "Скапіяваць змесціва табліцы ў буфер абмену" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "Тэкст (%1 знак)" +msgstr[1] "Тэкст (%1 знакі)" +msgstr[2] "Тэкст (%1 знакаў)" +msgstr[3] "Тэкст (%1 знакі)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "Скапіяваць у буфер абмену" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "Прачытаць тэкст уголас" + +#: part/pageview.cpp:2863 +#, kde-format +msgid "Image (%1 × %2 pixels)" +msgstr "Выява (%1 × %2 пікселяў)" + +#: part/pageview.cpp:2865 +#, kde-format +msgid "Save to File…" +msgstr "Захаваць у файл…" + +#: part/pageview.cpp:2885 +#, kde-format +msgid "Image [%1 × %2] copied to clipboard." +msgstr "Выява [%1 × %2] скапіяваная ў буфер абмену." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "Захаваць файл" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "Выявы (*.png *.jpeg)" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "Файл не захаваны." + +#: part/pageview.cpp:2901 +#, kde-format +msgid "Image [%1 × %2] saved to %3 file." +msgstr "Выява [%1 × %2] захаваная ў файл %3." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "Скапіяваць тэкст" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "Перайсці да \"%1\"" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "Па шырыні" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "Па памеры старонкі" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "Аўтаматычна" + +#: part/pageview.cpp:4107 +#, kde-format +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1%" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "Пошук \"%1\" з дапамогай" + +#: part/pageview.cpp:4404 +#, fuzzy, kde-format +#| msgid "Configure Web Shortcuts..." +msgid "Configure Web Shortcuts…" +msgstr "Наладжванне сеціўных скаротаў..." + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "Перайсці па гэтай спасылцы" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "Прайграць гэты гук" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "Спыніць прайграванне" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "Скапіяваць адрас спасылкі" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "Пошук \"%1\" у гэтым дакуменце" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Агульныя звесткі" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "" +"Абярыце вобласць маштабавання. Пстрыкніце правай кнопкай мышы, каб паменшыць." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "Пстрыкніце, каб павялічыць." + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "Намалюйце прамавугольнік вакол тэксту/графікі для капіявання." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "Абярыце тэкст" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" +"Намалюйце прамавугольнік вакол табліцы, затым пстрыкніце ля краёў, каб " +"падзяліць; націсніце Esc, каб ачысціць." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" + +#: part/pageview.cpp:5188 +#, fuzzy, kde-format +#| msgid "Certificates" +msgid "No valid certificates" +msgstr "Сертыфікаты" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, fuzzy, kde-format +#| msgid "View in Certificate Manager" +msgid "Open Certificate Manager" +msgstr "Праглядзець у кіраўніку сертыфікатаў" + +#: part/pageview.cpp:5200 +#, fuzzy, kde-format +#| msgid "" +#| "There are no available signing certificates.
For more information, " +#| "please see the section about Adding Digital Signatures " +#| "in the manual." +msgid "" +"There are no available signing certificates.
Launch Certificate Manager " +"to import or manage certificates
For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" +"Няма даступных сертыфікатаў подпісу.
Каб даведацца больш падрабязна, " +"глядзіце раздзел даведніка Даданне лічбавых подпісаў." + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, fuzzy, kde-format +#| msgid "Certificates" +msgid "No certificates found" +msgstr "Сертыфікаты" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" +"Няма даступных сертыфікатаў подпісу.
Каб даведацца больш падрабязна, " +"глядзіце раздзел даведніка Даданне лічбавых подпісаў." + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "Ёсць незахаваныя змены. Перад падпісаннем трэба захаваць дакумент." + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "Намалюйце прамавугольнік, каб уставіць поле подпісу" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "" +"Намалюйце прамавугольнік вакол вобласці старонкі, якую хочаце пакінуць бачнай" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "Новая тэкставая нататка" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "Тэкст новай нататкі:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Падпісана: %1\n" +"\n" +"Дата: %2" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" +"Подпіс такога памеру будзе складана прачытаць. Калі хочаце стварыць подпіс, " +"які будзе лягчэй прачытаць, націсніце Пачаць спачатку " +"і намалюйце большы прамавугольнік." + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "Пачаць спачатку" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "Падпісаць" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name" +msgstr "Імя аўтара" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name for the annotation:" +msgstr "Імя аўтара для анатацыі:" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "Намалюйце эліпс (перацягніце, каб абраць зону)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "Падсвятліце тэкст" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "Намалюйце адвольную лінію" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "Убудаваная тэкставая анатацыя (перацягніце, каб абраць зону)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "Устаўце выплыўную нататку" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "" +"Намалюйце многавугольнік (націсніце на першую кропку, каб завяршыць фігуру)" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "Намалюйце прамавугольнік" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "Пазначце тэкст крэмзаннем" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "Устаўце сімвал адбітка" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "Намалюйце прамую лінію" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "Закрэсліце тэкст" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "Падкрэсліце тэкст" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "" +"Анатацыя ў выглядзе надрукаванага тэксту (перацягніце, каб абраць зону)" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "Падсвятленне" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "Дадаць улюбёную анатацыю" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Custom annotation name:" +msgstr "Назва адвольнай анатацыі:" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&Файл" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "&Налады" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "&Даведка" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "&Арыентацыя" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "&Закладкі" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "Панэль інструментаў прагляду" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Мініяцюры" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "Анатацыі" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" +"Гэты дакумент змяшчае анатацыі або даныя формы, якія былі захаваныя ва " +"ўнутраным сховішчы ў папярэдняй версіі Okular. Унутранае сховішча больш " +"не падтрымліваецца.
Захавайце даныя ў файл, каб перамясціць іх, калі " +"хочаце працягнуць рэдагаванне дакумента." + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"Гэты дакумент змяшчае ўбудаваныя файлы. Націсніце тут, каб убачыць іх або перайдзіце ў меню Файл -> " +"Убудаваныя файлы." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "Выконваецца падпісанне. Вы можаце наладзіць пазіцыю і памер подпісу" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "Скончыць падпісанне" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "Назад" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "Вярнуцца на папярэднюю старонку" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "Пераход на папярэднюю старонку дакумента" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "Далей" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "Пераход да наступнай старонкі" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "Пераход на наступную старонку дакумента" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "У пачатак дакумента" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "Пераход на першую старонку дакумента" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "У канец дакумента" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "Пераход на апошнюю старонку дакумента" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "Змяніць назву бягучай закладкі" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "Папярэдняя закладка" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "Пераход да папярэдняй закладкі" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "Наступная закладка" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "Пераход да наступнай закладкі" + +#: part/part.cpp:748 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgid "Configure Okular…" +msgstr "Наладжванне Okular..." + +#: part/part.cpp:751 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Configure Viewer…" +msgstr "Наладжванне прагляду" + +#: part/part.cpp:757 +#, fuzzy, kde-format +#| msgid "Configure Viewer Backends" +msgid "Configure Viewer Backends…" +msgstr "Наладжванне рухавікоў прагляду" + +#: part/part.cpp:759 +#, fuzzy, kde-format +#| msgid "Configure Backends" +msgid "Configure Backends…" +msgstr "Наладжванне рухавікоў" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "Пра рухавік" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "Пера&загрузіць" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "Перазагрузіць бягучы дакумент з дыска." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "Закрыць панэль &пошуку" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "Нумар старонкі" + +#: part/part.cpp:817 +#, fuzzy, kde-format +#| msgctxt "@action" +#| msgid "Configure Color Modes..." +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "Наладжванне колеравых рэжымаў..." + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "Абраць увесь тэкст на бягучай старонцы" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "Паказваць &бакавую панэль" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "Паказваць панэль &старонак" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "Паказваць панэль подпі&саў" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "&Убудаваныя файлы" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "&Экспартаваць як" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "Падзя&ліцца" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "П&рэзентацыя" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "Адкрыць каталог з&месціва" + +#: part/part.cpp:945 +#, fuzzy, kde-format +#| msgid "&Import PostScript as PDF..." +msgid "&Import PostScript as PDF…" +msgstr "&Імпартаваць PostScript як PDF..." + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "Пераключыць рэжым чорнага экрана" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "Сцерці намаляванае" + +#: part/part.cpp:962 +#, fuzzy, kde-format +#| msgid "Configure Annotations..." +msgid "Configure Annotations…" +msgstr "Наладжванне анатацый..." + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "Прайграць/прыпыніць прэзентацыю" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" +"Вы толькі што змянілі адкрыты дакумент, але дакумент гэтага тыпу нельга " +"захаваць.\n" +"Пасля закрыцця Okular любыя змены страцяцца." + +#: part/part.cpp:1123 +#, kde-format +msgid "Document can't be saved" +msgstr "Немагчыма захаваць дакумент" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "Не ўдалося адкрыць \"%1\" (%2) " + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "Загрузка %1 была скасаваная." + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "Не ўдалося адкрыць %1. Прычына: %2" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "Наладжванне рухавікоў прагляду" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "Наладжванне рухавікоў" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"Праграма \"ps2pdf\" не знойдзена, таму Okular не можа імпартаваць файлы PS з " +"яе дапамогай." + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "праграма ps2pdf не знойдзена" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "Файлы PostScript (%1)" + +#: part/part.cpp:1357 +#, fuzzy, kde-format +#| msgid "Importing PS file as PDF (this may take a while)..." +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "Імпартаванне файла PS як PDF (гэта можа заняць некаторы час)..." + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "Каб прачытаць дакумент, увядзіце пароль:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "Няправільны пароль. Паспрабуйце зноў:" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "Пароль дакумента" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" +"У гэтым дакуменце ёсць формы XFA, якія на дадзены момант не " +"падтрымліваюцца." + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"Гэты дакумент мае формы. Націсніце на кнопку, каб працаваць з імі, або " +"актывуйце ў меню Выгляд -> Паказваць формы." + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" +"Усе інтэрактыўныя функцыі і функцыі рэдагавання гэтага дакумента адключаныя. " +"Каб рэдагаваць гэты дакумент, захавайце копію і зноў адкрыйце яго." + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" +"Гэты дакумент прапануе паказваць яго на ўвесь экран.\n" +"Выйсці са звычайнага рэжыму і перайсці ў рэжым прэзентацыі?" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "Запыт на змену рэжыму прагляду" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "Перайсці ў рэжым прэзентацыі" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "Адхіліць запыт" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "Не ўдалося адкрыць %1. %2" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" +"У файле %1 ёсць незахаваныя змены, але ён быў зменены " +"іншай праграмай. Калі перазагрузіць яго, то незахаваныя змены заменяцца " +"праўкамі, зробленымі ў іншай праграме.Хочаце працягнуць " +"перазагрузку файла?" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "Файл зменены" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "Працягнуць перазагрузку" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "Перарваць перазагрузку" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" +"У файле %1 ёсць незахаваныя змены, але ён быў зменены " +"іншай праграмай. Калі закрыць яго, то незахаваныя змены заменяцца праўкамі, " +"зробленымі ў іншай праграме.Хочаце працягнуць закрыццё файла?" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "Працягнуць закрыццё" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "Перарваць закрыццё" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "Хочаце захаваць змены ў \"%1\" або адкінуць іх?" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "Закрыць дакумент" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"Гэтая спасылка спасылаецца на дзеянне закрыцця дакумента, якое не працуе, " +"калі выкарыстоўваецца ўбудаваны сродак для прагляду." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"Гэтая спасылка спасылаецца на дзеянне выхаду з праграмы, якое не працуе, " +"калі выкарыстоўваецца ўбудаваны сродак для прагляду." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Reloading the document…" +msgstr "Перазагрузка дакумента..." + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "Змест" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "Подпісы" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Перайсці да старонкі" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "&Старонка:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "Увядзіце новую назву закладкі:" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "Змяніць назву гэтай закладкі" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "Выдаліць гэтую закладку" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "Захаваць як" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" +"Вы хочаце захаваць архіў Okular пад назвай, якая не заканчваецца пашырэннем " +"\"%1\". Гэта забаронена, хочаце абраць новую назву?" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "Пашырэнне не падтрымліваецца" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "Абраць новую назву" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" +"Файл %1 быў зменены іншай праграмай. Калі вы захаваеце " +"яго зараз, усе змены, зробленыя ў іншай праграме, страцяцца. Сапраўды хочаце " +"працягнуць?" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "Захаваць - Увага" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "Захаваць копію ў іншым месцы" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
Do you want to continue?" +msgstr "" +"Бягучы дакумент абаронены паролем.
Каб захаваць файл, яго неабходна " +"перазагрузіць. Трэба будзе зноў увесці пароль, а ваша гісторыя адраблення/" +"паўтарэння страціцца.
Хочаце працягнуць?" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "Не ўдалося адкрыць часовы файл для захавання." + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" +"Немагчыма перазапісаць %1, бо гэты файл даступны толькі " +"для чытання. Паспрабуйце захаваць яго ў іншым месцы або змяніць правы " +"доступу." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
Do you want to continue?" +msgstr "" +"Пасля захавання трэба будзе перазагрузіць файл. Ваша гісторыя адраблення/" +"паўтарэння страціцца.
Хочаце працягнуць?" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "Немагчыма захаваць файл у \"%1\". Паспрабуйце захаваць у іншым месцы." + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "Змесціва запоўненай формы" + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "Анатацыі карыстальніка" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" +"Вы хочаце захаваць змены, але бягучы фармат файла не падтрымлівае захаванне " +"некаторых элементаў. Каб захаваць іх, выкарыстоўвайце фармат архіў " +"дакументаў Okular." + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "Увага" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, fuzzy, kde-format +#| msgid "Save as Okular document archive..." +msgid "Save as Okular document archive…" +msgstr "Захаваць як архіў дакументаў Okular..." + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" +"Вы хочаце захаваць змены, але бягучы фармат файла не падтрымлівае захаванне " +"некаторых элементаў. Каб захаваць іх, выкарыстоўвайце фармат архіў " +"дакумента Okular. Націсніце Працягнуць, каб захаваць дакумент і " +"адкінуць гэтыя элементы." + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" +"Вы хочаце захаваць змены, але бягучы фармат файла не падтрымлівае захаванне " +"некаторых элементаў. Каб захаваць іх, выкарыстоўвайце фармат архіў " +"дакумента Okular. Націсніце Працягнуць, каб захаваць дакумент, " +"але пры гэтым страцяцца гэтыя элементы і гісторыя адраблення/паўтарэння." + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "Працягнуць" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "Працягнуць і страціць змены" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "Не ўдалося захаваць файл у \"%1\". %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"Okular не можа скапіяваць \"%1\" у пазначанае месца.\n" +"\n" +"Дакумент больш не існуе." + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" +"Немагчыма захаваць файл у \"%1\". Памылка: \"%2\". Паспрабуйце захаваць у " +"іншым месцы." + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "Expand whole section" +msgid "Expand Whole Section" +msgstr "Разгарнуць увесь раздзел" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "Collapse whole section" +msgid "Collapse Whole Section" +msgstr "Згарнуць увесь раздзел" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "Сінхранізаваць мініяцюру са старонкай" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Інструменты" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "Прачытаць уголас" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "Друкаваць" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "Гэты дакумент забаронена друкаваць." + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"Не ўдалося надрукаваць дакумент. Невядомая памылка. Калі ласка, стварыце " +"справаздачу пра хібу на bugs.kde.org" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"Не ўдалося надрукаваць дакумент. Падрабязныя звесткі памылкі \"%1\". Калі " +"ласка, стварыце справаздачу пра хібу на bugs.kde.org" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "Перайсці да месца, якое наведвалася перад гэтым" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "Перайсці да месца, якое наведвалася пасля гэтага" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"
%1.
" +msgstr "" +"Памылка файла! Не ўдалося стварыць часовы файл " +"%1." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"Памылка! Не ўдалося адкрыць файл %1, каб распакаваць яго. Файл не будзе загружаны." + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"Такая памылка звычайна ўзнікае, калі ў вас недастаткова правоў для " +"чытання файла. Вы можаце праверыць уласніка і правы доступу, калі ў " +"кіраўніку файлаў Dolphin пстрыкнеце правай кнопкай мышы па файле, абераце " +"\"Уласцівасці\" і перойдзеце на ўкладку \"Правы доступу\"." + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"Памылка! Не ўдалося распакаваць файл %1, каб распакаваць яго. Файл не будзе загружаны." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"Такая памылка звычайна ўзнікае, калі файл пашкоджаны. Калі вы хочаце " +"быць праверыць файл, паспрабуйце распакаваць яго ўласнаручна з дапамогай " +"інструментаў каманднага радка." + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "Няма закладак" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "Пры спробе падзяліцца дакументам паўстала праблема: %1" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "Падзяліцца" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "Дакумент паспяхова абагулены" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "Вы можаце знайсці абагулены дакумент тут: %1" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "&Рэдагаванне" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "&Выгляд" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&Пераход" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "&Інструменты" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "Галоўная панэль інструментаў" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "Панэль анатацый" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, kde-format +msgid "Quick Annotation Toolbar" +msgstr "Панэль хуткіх анатацый" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "Асноўныя параметры" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Адмысловыя магчымасці" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "Адмысловыя магчымасці чытання" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Прадукцыйнасць" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "Наладжванне прадукцыйнасці" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "Наладжванне прагляду" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Прэзентацыя" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "Параметры рэжыму прэзентацыі" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "Параметры анатацый" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "Рэдактар" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "Параметры рэдактара" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" +"Рэдактар ​​быў вызначаны ў камандным радку\n" +" %1\n" +"Калі вы хочаце выкарыстоўваць гэта параметр, запусціце okular без параметра " +"--editor-cmd" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "Шукаць далей" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 – прэзентацыя" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "Пераключыць экран" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "Экран %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "Выйсці з рэжыму прэзентацыі" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Загаловак: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Старонак: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "Пстрыкніце, каб пачаць" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "Прыпыніць" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "Прайграць" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"Ёсць два спосабы выйсці з рэжыму прэзентацыі: націснуць клавішу ESC або " +"пстрыкнуць па кнопцы закрыцця ў правым верхнім куце. Таксама вы можаце " +"змяніць акно на іншае (націснуць Alt+TAB)" + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "Правядзенне прэзентацыі" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "Невядомы файл" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "Уласцівасці %1" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "&Шрыфты" + +#: part/propertiesdialog.cpp:145 +#, fuzzy, kde-format +#| msgid "Reading font information..." +msgid "Reading font information…" +msgstr "Чытанне звестак шрыфту..." + +#: part/propertiesdialog.cpp:158 +#, kde-format +msgid "&Page Sizes" +msgstr "&Памер старонак" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "&Выняць шрыфт" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Type 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Type 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "Type 1C (OT)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Type 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType (OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID Type 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID Type 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID Type 0C (OT)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType (OT)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "TeX PK" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "TeX virtual" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "TeX Font Metric" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "TeX FreeType-handled" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "Невядома" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "Убудаваны (падмноства)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "Поўнасцю ўбудаваны" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "Не" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "Так (падмноства)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "Так" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "%1 (замена на %2)" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "[недаступна]" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "Невядомы шрыфт" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "Убудавана: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "Назва" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "Тып" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "Файл" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "Старонка" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "Памер" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "Папярэдні прагляд рэдакцыі" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "Дзе вы хочаце захаваць гэтую рэдакцыю?" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "Не ўдалося захаваць файл %1." + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "Не ўдалося праглядзець рэдакцыю." + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "Для фільтравання старонак увядзіце прынамсі 3 літары" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "Зважаць на рэгістр" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "Супадзенне фразы" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "Супадзенне ўсіх слоў" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "Супадзенне любога слова" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "Параметры фільтра" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, kde-format +msgid "Certificates" +msgstr "Сертыфікаты" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "Абраць сертыфікат для падпісання:" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, fuzzy, kde-format +#| msgid "Certificates" +msgid "Only QES certificates" +msgstr "Сертыфікаты" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "Прычына:" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, kde-format +msgid "optional" +msgstr "неабавязкова" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "Размяшчэнне:" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, kde-format +msgid "Background:" +msgstr "Фон:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "Абраць..." + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, kde-format +msgid "Recent backgrounds:" +msgstr "Нядаўнія фоны:" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

No annotations

To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
" +msgstr "" +"

Няма анатацый

Каб стварыць анатацыю, націсніце F6 " +"або абярыце ў меню Інструменты -> Анатацыі.
" + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "Групаванне па старонках" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "Групаванне па аўтарах" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "Паказваць анатацыі толькі для бягучай старонкі" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "Разгарнуць усе элементы" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "Згарнуць усе элементы" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "Уласцівасці" + +#: part/signaturepartutils.cpp:180 +#, kde-format +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Выявы (%1)" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "Абраць фонавую выяву" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "Забыцца на выяву" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "Забыцца на ўсе выявы" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "Увядзіце пароль (калі ёсць), каб разблакаваць сертыфікат: %1" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "Увядзіце пароль сертыфіката" + +#: part/signaturepartutils.cpp:244 +#, kde-format +msgid "Enter document password" +msgstr "Увядзіце пароль дакумента" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "Захаваць падпісаны файл як" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "%1_падпісаны.%2" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "Стан прыдатнасці" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "Тэрмін дзеяння подпісу:" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "Мадыфікацыі дакумента:" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "Дадатковая інфармацыя" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "Падпісана:" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "Час падпісання:" + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "Версія дакумента" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Рэдакцыя дакумента %1 з %2" + +#: part/signaturepropertiesdialog.cpp:88 +#, fuzzy, kde-format +#| msgid "View Signed Version..." +msgid "View Signed Version…" +msgstr "Праглядзець падпісаную версію..." + +#: part/signaturepropertiesdialog.cpp:95 +#, fuzzy, kde-format +#| msgid "View Certificate..." +msgid "View Certificate…" +msgstr "Праглядзець сертыфікат..." + +#: part/signaturepropertiesdialog.cpp:97 +#, kde-format +msgid "View in Certificate Manager" +msgstr "Праглядзець у кіраўніку сертыфікатаў" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "Кіраўнік сертыфікатаў KDE (kleopatra) не знойдзены" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "Паказваць толькі старонкі закладак" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "Прайграць" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Прыпыніць" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "Спыніць" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "Відэа не падтрымліваецца ў гэтай версіі Okular" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "Відэа не падтрымліваецца ў гэтай версіі Okular" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, fuzzy, kde-format +#| msgid "&Edit" +msgid "&Edit…" +msgstr "&Рэдагаванне" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "&Выдаліць" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "Перамясціць &вышэй" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "Перамясціць ні&жэй" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "Прадвызначаны інструмент для малявання #%1" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "Інструмент з такой назвай ужо існуе. Выкарыстына прадвызначаная" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "Паўторная назва" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "Старонка дакумента, якая паказваецца спачатку" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "Пачынаць у рэжыме прэзентацыі" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "Пачынаць з дыялогавага акна друкавання" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "Пачынаць з дыялогавага акна друкавання і выходзіць пасля друкавання" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "Кіраванне \"унікальным асобнікам\"" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "Не ўзнімаць акно" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "Пошук радка ў тэксце" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "Вызначэнне каманды вонкавага рэдактара" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "Дакументы для адкрыцця. Пазначце \"-\" для чытання з stdin." + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" +"Вы не можаце вызначыць каманду рэдактара для ўжо запушчанага асобніка " +"okular. Закрыйце ўкладкі і паўтарыце спробу. Звярніце ўвагу, што " +"унікальнасць таксама не падтрымліваецца пры вызначэнні каманды рэдактара " +"праз камандны радок.\n" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "Памылка: нельга адкрыць больш за адзін дакумент з --unique" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "Памылка: нельга адкрыць больш за адзін дакумент з --presentation" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "Памылка: нельга адкрыць больш за адзін дакумент з --print" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "Памылка: нельга адкрыць больш за адзін дакумент з --page" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "Памылка: нельга адкрыць больш за адзін дакумент з --find" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "Не ўдалося знайсці кампанент Okular: %1" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "Бакавая панэль" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "Унікальны асобнік Okular ужо працуе. Гэты асобнік не будзе ўнікальным." + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "Не ўдалося знайсці кампанент Okular." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"Пстрыкніце, каб адкрыць файл\n" +"Пстрыкніце і ўтрымлівайце, каб адкрыць апошні файл" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"Пстрыкніце, каб адкрыць файл Пстрыкніце і ўтрымлівайце, каб " +"адкрыць апошні файл" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "Наступная ўкладка" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "Папярэдняя ўкладка" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "Адрабіць закрыццё ўкладкі" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "Заблакаваць бакавую панэль" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "Усе файлы(*)" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "Усе файлы, якія падтрымліваюцца (%1)" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "Адкрыць дакумент" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "Пацвердзіць закрыццё" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "Закрыць укладкі" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "Вы хочаце закрыць %1 укладак. Сапраўды хочаце працягнуць?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "Папярэджваць мяне, калі я спрабую закрыць некалькі ўкладак" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "&Скапіяваць шлях" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "&Адкрыць каталог змесціва" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "&Забыцца на гэты элемент" + +#: shell/welcomescreen.cpp:137 +#, kde-format +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "Няма нядаўніх дакументаў" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "Вітаем у Okular" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Адкрыць дакумент..." + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, kde-format +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Нядаўнія дакументы" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "Забыцца на ўсе" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "Схаваць уводную старонку" + +#~ msgid "Geometry with Comment" +#~ msgstr "Геаметрычная фігура з каментаром" + +#~ msgid "Geometry" +#~ msgstr "Геаметрычная фігура" + +#~ msgctxt "Annotation type: contents" +#~ msgid "%1: %2" +#~ msgstr "%1: %2" + +#~ msgid "Modified: %1" +#~ msgstr "Зменена: %1" + +#~ msgid "Find..." +#~ msgstr "Пошук..." + +#~ msgid "Go To Page..." +#~ msgstr "Перайсці да старонкі..." + +#~ msgid "Play movie..." +#~ msgstr "Прайграць відэа..." + +#~ msgid "Search..." +#~ msgstr "Пошук..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "&Захаваць як..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "&Выгляд..." + +#~ msgid "&Sign..." +#~ msgstr "&Падпісаць..." + +#~ msgid "Configure Viewer..." +#~ msgstr "Наладжванне прагляду..." + +#~ msgid "Configure Viewer Backends..." +#~ msgstr "Наладжванне рухавікоў прагляду..." + +#~ msgid "Configure Backends..." +#~ msgstr "Наладжванне рухавікоў..." + +#~ msgid "&Add..." +#~ msgstr "&Дадаць..." + +#~ msgid "&Edit..." +#~ msgstr "&Рэдагаваць..." + +#~ msgctxt "%1 is a file path" +#~ msgid "" +#~ "Could not sign. Invalid certificate password or could not write to '%1'" +#~ msgstr "" +#~ "Не ўдалося падпісаць. Хібны пароль сертыфіката або немагчыма запісаць у " +#~ "\"%1\"" + +#, fuzzy +#~| msgid "" +#~| "All your signing certificates are either not valid yet or are past their " +#~| "validity date." +#~ msgid "All your signing certificates are invalid" +#~ msgstr "" +#~ "Ва ўсіх вашых сертыфікатаў подпісаў тэрмін дзеяння або яшчэ не наступіў, " +#~ "або ўжо скончыўся." + +#~ msgid "Unsigned Signature %1" +#~ msgstr "Подпіс без подпісу %1" + +#, fuzzy +#~| msgctxt "Unknown author" +#~| msgid "Unknown" +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "Невядома" + +#, fuzzy +#~| msgid "Unsigned Signature %1" +#~ msgctxt "Signature type" +#~ msgid "Unsigned signature" +#~ msgstr "Подпіс без подпісу %1" + +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "Spinbox prefix: Advance automatically: every n seconds" +#~ msgid "every " +#~ msgstr "кожную(ыя) " + +#~ msgctxt "Suffix for the pen width, eg '10 px'" +#~ msgid " px" +#~ msgstr " пікс." + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " %" + +#, fuzzy +#~| msgctxt "%1 is a file path" +#~| msgid "" +#~| "Could not sign. Invalid certificate password or could not write to '%1'" +#~ msgctxt "%1 is a file path" +#~ msgid "Could not sign. Could not write to '%1'" +#~ msgstr "" +#~ "Не ўдалося падпісаць. Хібны пароль сертыфіката або немагчыма запісаць у " +#~ "\"%1\"" + +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "Па шырыні" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "Па памеры старонкі" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Auto Fit" +#~ msgstr "Аўтаматычна" + +#~ msgid "*|All Files" +#~ msgstr "*|Усе файлы" + +#~ msgid "Missing alert type" +#~ msgstr "Няма тыпу апавяшчэння" + +#~ msgid "" +#~ "The file '%1' has been modified by another program, which means it can no " +#~ "longer be saved." +#~ msgstr "" +#~ "Файл \"%1\" быў зменены іншай праграмай. Гэта азначае, што яго нельга " +#~ "захаваць." + +#, fuzzy +#~| msgid "Show S&idebar" +#~ msgid "Show Sidebar" +#~ msgstr "Паказваць &бакавую панэль" + +#~ msgctxt "@info" +#~ msgid "" +#~ "experimental feature.Stamps inserted in PDF documents are " +#~ "not visible in PDF readers other than Okular." +#~ msgstr "" +#~ "эксперыментальная функцыя.Адбіткі, устаўленыя ў PDF-" +#~ "дакументы, не бачныя ў іншых праграмах для чытання PDF, акрамя Okular." + +#~ msgctxt "@info" +#~ msgid "" +#~ "The version of the Poppler library this Okular was compiled with does not " +#~ "support signing documents with passwords. Please ask your provider to " +#~ "update it to 22.02 or later." +#~ msgstr "" +#~ "Версія бібліятэкі Poppler, з якой была скампіляваная гэтая версія Okular, " +#~ "не падтрымлівае падпісанне дакументаў паролямі. Трэба абнавіць праграму " +#~ "да 22.02 або познейшай версіі." + +#~ msgctxt "@title:window" +#~ msgid "Poppler library is too old" +#~ msgstr "Бібліятэка Poppler занадта старая" + +#~ msgctxt "@info" +#~ msgid "" +#~ "Stamps inserted in PDF documents are not visible in PDF readers other " +#~ "than Okular" +#~ msgstr "" +#~ "Адбіткі, устаўленыя ў PDF-дакументы, не бачныя ў іншых праграмах для " +#~ "чытання PDF, акрамя Okular" + +#~ msgctxt "@title:window" +#~ msgid "Experimental feature" +#~ msgstr "Эксперыментальная функцыя" + +#, fuzzy +#~ msgid "Remove Bookmarks" +#~ msgstr "Знішчыць закладку" + +#, fuzzy +#~| msgid "Presentation" +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "Прэзентацыя" + +#, fuzzy +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "Падсветка" + +#, fuzzy +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Underline" +#~ msgstr "Падкрэслены" + +#, fuzzy +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "Уставіць" + +#, fuzzy +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "Уласцівасці %1" + +#, fuzzy +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "Уласцівасці %1" + +#, fuzzy +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Rectangle" +#~ msgstr "Прамакутнік" + +#, fuzzy +#~ msgid "Highlight in Yellow" +#~ msgstr "Падсветка" + +#, fuzzy +#~ msgid "Highlight in Green" +#~ msgstr "Падсветка" + +#, fuzzy +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "&Вылучэнне" + +#, fuzzy +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "&Вылучэнне" + +#, fuzzy +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "&Вылучэнне" + +#, fuzzy +#~| msgid "Presentation" +#~ msgid "Bookmark annotation" +#~ msgstr "Прэзентацыя" + +#, fuzzy +#~ msgid "&Toggle Change Colors" +#~ msgstr "Змяніць &колер" + +#, fuzzy +#~ msgctxt "@option:check Config dialog, presentation page, transitions" +#~ msgid "Enable transitions" +#~ msgstr "Прадвызначаны пераход:" + +#, fuzzy +#~ msgctxt "@label:spinbox Config dialog, presentation page" +#~ msgid "Advance every:" +#~ msgstr "Перайсці на наступную старонку праз:" + +#, fuzzy +#~ msgctxt "@label:listbox Config dialog, general page" +#~ msgid "Custom background color:" +#~ msgstr "Фонавы колер:" + +#, fuzzy +#~ msgid "Draw border around &Images" +#~ msgstr "Рамкі вакол &малюнкаў" + +#~ msgid "Identity" +#~ msgstr "Увасабленне" + +#, fuzzy +#~| msgid "&Author:" +#~ msgid "Au&thor:" +#~ msgstr "&Аўтар:" + +#, fuzzy +#~ msgid "Navigation" +#~ msgstr "Навігацыя" + +#, fuzzy +#~ msgctxt "@item:inlistbox Color name" +#~ msgid "%1" +#~ msgstr "%1:" + +#, fuzzy +#~ msgid "Show &Navigation Panel" +#~ msgstr "Паказаць панэль &навігацыі" + +#, fuzzy +#~ msgid "Show Text" +#~ msgstr "Паказваць тэкст" + +#, fuzzy +#~ msgid "Small Icons" +#~ msgstr "Маленькія значкі" + +#, fuzzy +#~ msgid "Large Icons" +#~ msgstr "Значка" + +#~ msgid "Created: %1" +#~ msgstr "Створаны: %1" + +#, fuzzy +#~| msgid "Title" +#~ msgid "Style" +#~ msgstr "Стыль" + +#, fuzzy +#~ msgid "&Size:" +#~ msgstr "Халасты/не замужам" + +#, fuzzy +#~| msgid "Pages: %1" +#~ msgid "Name: %1" +#~ msgstr "Старонак: %1 " + +#, fuzzy +#~ msgid "Size: %1" +#~ msgstr "Памер: %1" + +#, fuzzy +#~ msgid "&Browse Tool" +#~ msgstr "&Вандроўнік" + +#, fuzzy +#~ msgid "&Zoom Tool" +#~ msgstr "&Змена маштабу" + +#, fuzzy +#~ msgctxt "Zoom Tool" +#~ msgid "Zoom" +#~ msgstr "Маштабаванне" + +#, fuzzy +#~ msgid "T&able Selection Tool" +#~ msgstr "&Вылучэнне" + +#, fuzzy +#~ msgid " None" +#~ msgstr "Заўвагі" + +#, fuzzy +#~ msgid "" +#~ "The document requested to be launched in presentation mode.\n" +#~ "Do you want to allow it?" +#~ msgstr "Дакумент зроблены для адлюстравання ў рэжыме прэзентацыі." + +#, fuzzy +#~| msgid "Options for Presentation Mode" +#~ msgid "Allow the presentation mode" +#~ msgstr "Настаўленні рэжыму прэзентацыі" + +#, fuzzy +#~| msgid "Options for Presentation Mode" +#~ msgid "Do not allow the presentation mode" +#~ msgstr "Настаўленні рэжыму прэзентацыі" + +#, fuzzy +#~ msgid "Save &Copy As..." +#~ msgstr "Запісаць як..." + +#~ msgid "" +#~ "End of document reached.\n" +#~ "Continue from the beginning?" +#~ msgstr "" +#~ "Дасягнуты канец дакумента.\n" +#~ "Працягнуць з пачатку?" + +#, fuzzy +#~| msgid "" +#~| "End of document reached.\n" +#~| "Continue from the beginning?" +#~ msgid "" +#~ "Beginning of document reached.\n" +#~ "Continue from the bottom?" +#~ msgstr "" +#~ "Дасягнуты канец дакумента.\n" +#~ "Працягнуць з пачатку?" + +#, fuzzy +#~ msgid "Current maintainer" +#~ msgstr "Адказны за выпуск" + +#, fuzzy +#~ msgid " sec." +#~ msgstr " с" + +#, fuzzy +#~ msgid "Starting Jovie Text-to-Speech service Failed: %1" +#~ msgstr "Памылка стартавання KTTSD: %1" + +#, fuzzy +#~ msgid "Search Columns" +#~ msgstr "Шукаць у слупках" + +#, fuzzy +#~ msgid "All Visible Columns" +#~ msgstr "Усе бачныя слупкі" + +#, fuzzy +#~ msgid "No document opened." +#~ msgstr "Няма адкрытых дакументаў." + +#~ msgid "No matches found for '%1'." +#~ msgstr "Тэкст '%1' не знойдзены." + +#, fuzzy +#~ msgctxt "Annotation tool" +#~ msgid "Yellow Highlight" +#~ msgstr "Падсветка" + +#, fuzzy +#~ msgid "Black Underlining" +#~ msgstr "Падкрэслены" + +#, fuzzy +#~ msgid "Moves to the first page of the document" +#~ msgstr "Першая старонка дакумента" + +#, fuzzy +#~ msgctxt "%1 is \"Title\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#, fuzzy +#~ msgctxt "%1 is \"File Path\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#, fuzzy +#~ msgctxt "@action:button" +#~ msgid "&Overwrite" +#~ msgstr "Замяніць" + +#, fuzzy +#~ msgid "Pages:" +#~ msgstr "Старонак:" diff --git a/po/be/okular_comicbook.po b/po/be/okular_comicbook.po new file mode 100644 index 0000000..5f2d7b5 --- /dev/null +++ b/po/be/okular_comicbook.po @@ -0,0 +1,49 @@ +# Zmicier , 2022. +msgid "" +msgstr "" +"Project-Id-Version: fc57ad16a28d02dea100ceb1c60de14e\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-02-11 18:55\n" +"Last-Translator: Zmicier \n" +"Language-Team: Belarusian\n" +"Language: be\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || n%10>=5 && n%10<=9 || n" +"%100>=11 && n%100<=14 ? 2 : 3);\n" +"X-Generator: Lokalize 22.08.3\n" +"X-Crowdin-Project: fc57ad16a28d02dea100ceb1c60de14e\n" +"X-Crowdin-Project-ID: 136\n" +"X-Crowdin-Language: be\n" +"X-Crowdin-File: /[antikruk.KDE] main/KDE6/be/messages/okular/" +"okular_comicbook.po\n" +"X-Crowdin-File-ID: 10510\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Antikruk" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "nashtlumach@gmail.com" + +#: document.cpp:97 +#, kde-format +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "Немагчыма адкрыць дакумент. Ні unrar, ні unarchiver не знойдзеныя." + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "Версія unrar у вашай сістэме не пасуе для адкрыцця коміксаў." + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "Невядомы фармат ComicBook." diff --git a/po/be/okular_djvu.po b/po/be/okular_djvu.po new file mode 100644 index 0000000..3c27633 --- /dev/null +++ b/po/be/okular_djvu.po @@ -0,0 +1,141 @@ +# Darafei Praliaskouski , 2007. +msgid "" +msgstr "" +"Project-Id-Version: fc57ad16a28d02dea100ceb1c60de14e\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-02-11 18:55\n" +"Last-Translator: Darafei Praliaskouski \n" +"Language-Team: Belarusian\n" +"Language: be\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || n%10>=5 && n%10<=9 || n" +"%100>=11 && n%100<=14 ? 2 : 3);\n" +"X-Crowdin-Project: fc57ad16a28d02dea100ceb1c60de14e\n" +"X-Crowdin-Project-ID: 136\n" +"X-Crowdin-Language: be\n" +"X-Crowdin-File: /[antikruk.KDE] main/KDE6/be/messages/okular/okular_djvu.po\n" +"X-Crowdin-File-ID: 10512\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Дарафей Праляскоўскі, Antikruk" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "komzpa@licei2.com, nashtlumach@gmail.com" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "Рэдактар" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "Выдавец" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "Гучнасць" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "Тып дакумента" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "Невядома" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "Файлы кампанентаў" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "Невядома" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "Аднастаронкавы" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "Звязны" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "Складаны" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "Звязны (стары)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "Індэксны (стары)" + +#, fuzzy +#~| msgid "Unknown" +#~ msgctxt "Unknown title" +#~ msgid "Unknown" +#~ msgstr "Невядомы" + +#, fuzzy +#~| msgid "Unknown" +#~ msgctxt "Unknown author" +#~ msgid "Unknown" +#~ msgstr "Невядомы" + +#, fuzzy +#~| msgid "Unknown" +#~ msgctxt "Unknown editor" +#~ msgid "Unknown" +#~ msgstr "Невядомы" + +#, fuzzy +#~| msgid "Unknown" +#~ msgctxt "Unknown publisher" +#~ msgid "Unknown" +#~ msgstr "Невядомы" + +#, fuzzy +#~| msgid "Unknown" +#~ msgctxt "Unknown creation date" +#~ msgid "Unknown" +#~ msgstr "Невядомы" + +#, fuzzy +#~| msgid "Unknown" +#~ msgctxt "Unknown volume information" +#~ msgid "Unknown" +#~ msgstr "Невядомы" + +#, fuzzy +#~| msgid "Unknown" +#~ msgctxt "Unknown type of document" +#~ msgid "Unknown" +#~ msgstr "Невядомы" diff --git a/po/be/okular_dvi.po b/po/be/okular_dvi.po new file mode 100644 index 0000000..0d1dc85 --- /dev/null +++ b/po/be/okular_dvi.po @@ -0,0 +1,601 @@ +# Darafei Praliaskouski , 2007. +msgid "" +msgstr "" +"Project-Id-Version: fc57ad16a28d02dea100ceb1c60de14e\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-08-11 21:04\n" +"Last-Translator: Darafei Praliaskouski \n" +"Language-Team: Belarusian\n" +"Language: be\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || n%10>=5 && n%10<=9 || n" +"%100>=11 && n%100<=14 ? 2 : 3);\n" +"X-Crowdin-Project: fc57ad16a28d02dea100ceb1c60de14e\n" +"X-Crowdin-Project-ID: 136\n" +"X-Crowdin-Language: be\n" +"X-Crowdin-File: /[antikruk.KDE] main/KDE6/be/messages/okular/okular_dvi.po\n" +"X-Crowdin-File-ID: 10514\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Дарафей Праляскоўскі, Antikruk" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "komzpa@licei2.com, nashtlumach@gmail.com" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

" +msgstr "" +"

Okular не можа знайсці праграму dvipdfm на вашым камп'ютары. " +"Гэтая праграма патрэбная для працы функцыі экспартавання. Вы можаце " +"пераўтварыць файл DVI у PDF з дапамогай функцыі друкавання Okular, але пры " +"гэтым спосабе часта ствараюцца дакументы, якасць якіх прыдатная для " +"друкавання, але дрэнная для прагляду ў Acrobat Reader. Лепш абнавіць да " +"больш свежай версіі ваш дыстрыбутыў TeX, які змяшчае праграму dvipdfm.

Падказка збянтэжанаму сістэмнаму адміністратару: Падчас пошуку " +"праграм Okular выкарыстоўвае зменную асяроддзя PATH.

" + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Вонкавая праграма \"dvipdfm\", якая выкарыстоўвалася для экспарту файла, " +"паведаміла пра памылку. Вы можаце паглядзець дыялогавае акно звестак " +"пра дакумент, якое вы знойдзеце ў меню \"Файл\", каб убачыць " +"справаздачу пра памылку." + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" +"Гэты файл DVI спасылаецца на вонкавыя графічныя файлы не ў фармаце " +"PostScript, таму іх не можа апрацаваць праграма dvips, якую Okular " +"выкарыстоўвае для друкавання або экспартавання ў PostScript. Патрэбная вам " +"функцыянальнасць недаступная ў гэтай версіі Okular." + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

" +msgstr "" +"

Okular не можа знайсці праграму dvips на вашым камп'ютары. " +"Гэтая праграма патрэбная для працы функцыі экспартавання.

Падказка " +"збянтэжанаму сістэмнаму адміністратару: Падчас пошуку праграм Okular " +"выкарыстоўвае зменную асяроддзя PATH.

" + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Вонкавая праграма \"dvips\", якая выкарыстоўвалася для экспарту файла, " +"паведаміла пра памылку. Вы можаце паглядзець дыялогавае акно звестак " +"пра дакумент, якое вы знойдзеце ў меню \"Файл\", каб убачыць " +"справаздачу пра памылку." + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "Файл DVI не пачынаецца з уводнай часткі." + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" +"Файл DVI змяшчае няправільную версію вываду DVI для гэтай праграмы. " +"Падказка: калі вы карыстаецеся сістэмай вярстання Omega, вам неабходна " +"выкарыстоўваць адмысловую праграму, напрыклад oxdvi." + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "Файл DVI моцна пашкоджаны. Okular не змог знайсці заключную частку." + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "Заключная частка не пачынаецца з каманды POST." + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "Заключная частка змяшчае каманду, адрозную ад FNTDEF." + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "Старонка %1 не пачынаецца з каманды BOP." + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

PATH: %2

" +msgstr "" +"

Немагчыма запусціць вонкавую праграму pdf2ps. У " +"выніку файл PDF %1 не ўдалося пераўтварыць у PostScript. Таму ў вашым " +"дакуменце не будуць паказвацца некаторыя графічныя элементы.

Магчымая прычына:у вашай сістэме не ўсталяваная праграма " +"pdf2ps або яе няма па вызначаным шляху.

Што вы " +"можаце зрабіць: праграма pdf2ps звычайна змяшчаецца ў " +"дыстрыбутывах сістэмы інтэрпрэтатара PostScript ghostscript. Калі праграма " +"ghostscript не ўсталяваная ў вашай сістэме, вы можаце ўсталяваць яе. Калі вы " +"ўпэўнены, што праграма ghostscript усталяваная, паспрабуйце выкарыстаць " +"pdf2ps у камандным радку, каб праверыць, ці сапраўды яна " +"працуе.

PATH: %2

" + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

%2

" +msgstr "" +"

Немагчыма пераўтварыць файл PDF %1 у PostScript. Таму ў вашым " +"дакуменце не будуць паказвацца некаторыя графічныя элементы.

Магчымая прычына: файл %1 можа быць пашкоджаны або ўвогуле можа " +"не быць файлам PDF. Вывад праграмы pdf2ps, якую " +"выкарыстоўваў Okular:

%2

" + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "Файл пашкоджаны. %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "Не ўсе файлы PostScript можна ўбудаваць у ваш дакумент. %1" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "Усе вонкавыя файлы PostScript былі ўбудаваныя ў ваш дакумент." + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "Вызначаны файл \"%1\" не існуе." + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" +"Вы адправілі Okular запыт на пошук месца ў файле DVI, якое адпавядае радку " +"%1 у TeX-файле %2. Аднак выглядае, што файл DVI не змяшчае неабходнай " +"інфармацыі. " + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" +"Okular не змог знайсці месца ў файле DVI, якое адпавядае радку %1 у TeX-" +"файле %2." + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "Код DVI вызначыў знак невядомага шрыфту." + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "Код DVI спасылаецца на шрыфт #%1, які раней не быў вызначаны." + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "Набор не быў пустым, калі была атрымана каманда EOP." + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "Набор быў пустым, калі была атрымана каманда EOP." + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "Код DVI спасылаецца на шрыфт, які раней не быў вызначаны." + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "Была атрымана забароненая каманда." + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "Быў атрыманы невядомы op-код %1." + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "Убудоўванне %1" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
" +msgstr "" +"Старонка %1: файл PDF %2 немагчыма пераўтварыць у " +"PostScript.
" + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
" +msgstr "Старонка %1: Файл PostScript %2 не знойдзены.
" + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "Не ўдалося разабраць даныя памеру паперы \"%1\"." + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

PATH: %1

%2

" +msgstr "" +"

Okular не ўдалося знайсці ўсе файлы шрыфтоў, неабходныя для паказу " +"бягучага файла DVI. Ваш дакумент можа быць нечытальным.

ШЛЯХ:" +" %1

%2

" + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

PATH: %1

%2

" +msgstr "" +"

Паўсталі праблемы з запускам kpsewhich. У выніку некаторыя " +"файлы шрыфтоў не ўдалося знайсці, таму ваш дакумент можа быць нечытальным." +"
Магчымая прычына: магчыма, праграма kpsewhich не ўсталяваная ў " +"вашай сістэме або яе нельга знайсці па вызначаным шляху.

ШЛЯХ: %1

%2

" + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" +"Стварэнне шрыфту kpsewhich было перарвана (код выхаду %1, " +"памылка %2). У выніку не ўдалося знайсці некаторыя файлы шрыфтоў, таму ваш " +"дакумент можа быць нечытальным." + +#: fontpool.cpp:482 +#, fuzzy, kde-format +#| msgid "Currently generating %1 at %2 dpi..." +msgid "Currently generating %1 at %2 dpi…" +msgstr "Стварэнне %1 з %2 dpi..." + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "Сродак стварэння/дата" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "Файл шрыфту не знойдзены" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "кніжная" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "альбомная" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" +"Версія Ghostview, усталяваная на гэтым камп'ютары, не змягчае драйвераў для " +"прылад Ghostview, вядомых Okular. Таму ў Okular была адключаная падтрымка " +"PostScript." + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "" +"Выяўлена 25 памылак. Далейшыя паведамленні пра памылкі не будуць выводзіцца." + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" +"Памылка ў файле DVI \"%1\", старонка %2. Выплыўная каманда колеру " +"выводзіцца, калі набор колераў пусты." + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" +"Няправільны параметр у адмысловай камандзе epsf.\n" +"Чакаецца, што лік будзе пасля %1 у %2" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"Файл не знойдзены: \n" +" %1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" +"Памылка ў файле DVI \"%1\", старонка %2. Не ўдалося інтэрпрэтаваць вугал " +"паварочвання тэксту." + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "Адмысловая каманда \"%1\" не выканана." + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" +"Файл шрыфту %1 можна адкрыць і прачытаць, але гэты фармат шрыфту не " +"падтрымліваецца." + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "Файл шрыфту %1 пашкоджаны або яго немагчыма адкрыць ці прачытаць." + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" +"FreeType паведаміў пра памылку пры наладжванні памеру знакаў для файла " +"шрыфту %1." + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "FreeType не ўдалося загрузіць гліф #%1 з файла шрыфту %2." + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "FreeType не ўдалося візуалізаваць гліф #%1 з файла шрыфту %2." + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "Гліф #%1 пусты." + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "Гліф #%1 з файла шрыфту %2 пусты." + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "FreeType не ўдалося загрузіць даныя гліфа #%1 з файла шрыфту %2." + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "Не ўдалося адкрыць файл шрыфту %1." + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "TexFont_PK::operator[]: знак %1 не вызначаны ў шрыфце %2" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "Нечаканы %1 у файле PK %2" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "Знак %1 занадта вялікі ў файле %2" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "Няправільная колькасць захаваных бітаў: знак %1, шрыфт %2" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "Няправільны файл pk (%1), занадта шмат бітаў" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "У шрыфту несіметрычныя суадносіны бакоў " + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "Не ўдалося знайсці шрыфт %1, файл %2." + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "Несупадзенне кантрольнай сумы для файла шрыфту %1" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "Не ўдалося распазнаць фармат файла шрыфту %1" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"Фатальная памылка.\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" +"\n" +"\n" +"Або гэта хіба Okular,\n" +"або файл DVI ці дапаможныя файлы (напрыклад, файлы шрыфтоў або файлы " +"віртуальных шрыфтоў) моцна пашкоджаныя.\n" +"Okular спыніць працу пасля гэтага паведамлення. Калі вы лічыце, што знайшлі " +"хібу або паводзіны Okular у гэтай сітуацыі мусяць быць іншымі, паведаміце " +"пра праблему." + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "У спісе макрасаў VF знойдзены няправільны камандны байт: %1" + +#, fuzzy +#~ msgid "Abort" +#~ msgstr "Перарваць" + +#, fuzzy +#~ msgid "Overwrite File" +#~ msgstr "Замена файла" + +#, fuzzy +#~ msgid "Overwrite" +#~ msgstr "Замяніць" + +#, fuzzy +#~ msgid "Family" +#~ msgstr "Сям’я" + +#, fuzzy +#~ msgid "Zoom" +#~ msgstr "Маштабаванне" + +#, fuzzy +#~ msgid "Type" +#~ msgstr "Тып" + +#, fuzzy +#~ msgid "Encoding" +#~ msgstr "Знаказбор" + +#, fuzzy +#~ msgid "Comment" +#~ msgstr "Каментар" + +#, fuzzy +#~ msgid "Fatal Error" +#~ msgstr "Зруйнавальная памылка" + +#, fuzzy +#~ msgid "Do not show this message again" +#~ msgstr "Больш не паказваць гэтае паведамленне" + +#, fuzzy +#~ msgid "File Error" +#~ msgstr "Памылка файла" + +#, fuzzy +#~ msgid "Pages" +#~ msgstr "Старонак" diff --git a/po/be/okular_epub.po b/po/be/okular_epub.po new file mode 100644 index 0000000..821139e --- /dev/null +++ b/po/be/okular_epub.po @@ -0,0 +1,47 @@ +# Zmicier , 2022. +msgid "" +msgstr "" +"Project-Id-Version: fc57ad16a28d02dea100ceb1c60de14e\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-02-11 18:55\n" +"Last-Translator: Zmicier \n" +"Language-Team: Belarusian\n" +"Language: be\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || n%10>=5 && n%10<=9 || n" +"%100>=11 && n%100<=14 ? 2 : 3);\n" +"X-Generator: Lokalize 22.08.3\n" +"X-Crowdin-Project: fc57ad16a28d02dea100ceb1c60de14e\n" +"X-Crowdin-Project-ID: 136\n" +"X-Crowdin-Language: be\n" +"X-Crowdin-File: /[antikruk.KDE] main/KDE6/be/messages/okular/okular_epub.po\n" +"X-Crowdin-File-ID: 10516\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Antikruk" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "nashtlumach@gmail.com" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "Падчас адкрыцця дакумента EPub адбылася памылка." + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "EPub" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "Канфігурацыя рухавіка EPub" diff --git a/po/be/okular_fax.po b/po/be/okular_fax.po new file mode 100644 index 0000000..cc9bf33 --- /dev/null +++ b/po/be/okular_fax.po @@ -0,0 +1,37 @@ +# Zmicier , 2022. +msgid "" +msgstr "" +"Project-Id-Version: fc57ad16a28d02dea100ceb1c60de14e\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-02-11 18:55\n" +"Last-Translator: Zmicier \n" +"Language-Team: Belarusian\n" +"Language: be\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || n%10>=5 && n%10<=9 || n" +"%100>=11 && n%100<=14 ? 2 : 3);\n" +"X-Generator: Lokalize 22.08.3\n" +"X-Crowdin-Project: fc57ad16a28d02dea100ceb1c60de14e\n" +"X-Crowdin-Project-ID: 136\n" +"X-Crowdin-Language: be\n" +"X-Crowdin-File: /[antikruk.KDE] main/KDE6/be/messages/okular/okular_fax.po\n" +"X-Crowdin-File-ID: 10518\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Antikruk" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "nashtlumach@gmail.com" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "Не ўдалося загрузіць дакумент" diff --git a/po/be/okular_fictionbook.po b/po/be/okular_fictionbook.po new file mode 100644 index 0000000..4cd75c9 --- /dev/null +++ b/po/be/okular_fictionbook.po @@ -0,0 +1,88 @@ +# Darafei Praliaskouski , 2007. +msgid "" +msgstr "" +"Project-Id-Version: fc57ad16a28d02dea100ceb1c60de14e\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-02-11 18:55\n" +"Last-Translator: Darafei Praliaskouski \n" +"Language-Team: Belarusian\n" +"Language: be\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || n%10>=5 && n%10<=9 || n" +"%100>=11 && n%100<=14 ? 2 : 3);\n" +"X-Crowdin-Project: fc57ad16a28d02dea100ceb1c60de14e\n" +"X-Crowdin-Project-ID: 136\n" +"X-Crowdin-Language: be\n" +"X-Crowdin-File: /[antikruk.KDE] main/KDE6/be/messages/okular/" +"okular_fictionbook.po\n" +"X-Crowdin-File-ID: 10520\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Дарафей Праляскоўскі, Antikruk" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "komzpa@licei2.com, nashtlumach@gmail.com" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "Дакумент не ёсць FictionBook" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "Немагчыма адкрыць дакумент: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "Дакумент не ёсць ZIP-архівам" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "Хібная структура дакумента (няма галоўнага каталога)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "Не знойдзена змесціва ў дакуменце" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "Хібны дакумент XML: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "FictionBook" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "Канфігурацыя рухавіка FictionBook" + +#~ msgid "Creator" +#~ msgstr "Стваральнік" + +#~ msgid "Title" +#~ msgstr "Назва" + +#~ msgid "Author" +#~ msgstr "Аўтар" + +#~ msgid "Producer" +#~ msgstr "Вытворца" + +#~ msgid "Created" +#~ msgstr "Створаны" diff --git a/po/be/okular_ghostview.po b/po/be/okular_ghostview.po new file mode 100644 index 0000000..c2a37a4 --- /dev/null +++ b/po/be/okular_ghostview.po @@ -0,0 +1,82 @@ +# Darafei Praliaskouski , 2007. +msgid "" +msgstr "" +"Project-Id-Version: fc57ad16a28d02dea100ceb1c60de14e\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-02-11 18:55\n" +"Last-Translator: Darafei Praliaskouski \n" +"Language-Team: Belarusian\n" +"Language: be\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || n%10>=5 && n%10<=9 || n" +"%100>=11 && n%100<=14 ? 2 : 3);\n" +"X-Crowdin-Project: fc57ad16a28d02dea100ceb1c60de14e\n" +"X-Crowdin-Project-ID: 136\n" +"X-Crowdin-Language: be\n" +"X-Crowdin-File: /[antikruk.KDE] main/KDE6/be/messages/okular/" +"okular_ghostview.po\n" +"X-Crowdin-File-ID: 10522\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Дарафей Праляскоўскі, Antikruk" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "komzpa@licei2.com, nashtlumach@gmail.com" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "Выкарыстоўваць шрыфты платформы" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"Вызначае, ці трэба Ghostscript выкарыстоўваць шрыфты платформы. Калі " +"параметр адключаны, будуць выкарыстоўвацца толькі шрыфты, убудаваныя ў " +"дакумент." + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "Асноўныя налады" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "&Выкарыстоўваць шрыфты платформы" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Канфігурацыя рухавіка Ghostscript" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "Версія дакумента" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "Узровень мовы" diff --git a/po/be/okular_kimgio.po b/po/be/okular_kimgio.po new file mode 100644 index 0000000..c774040 --- /dev/null +++ b/po/be/okular_kimgio.po @@ -0,0 +1,45 @@ +# Darafei Praliaskouski , 2007. +msgid "" +msgstr "" +"Project-Id-Version: fc57ad16a28d02dea100ceb1c60de14e\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-02-11 18:55\n" +"Last-Translator: Darafei Praliaskouski \n" +"Language-Team: Belarusian\n" +"Language: be\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || n%10>=5 && n%10<=9 || n" +"%100>=11 && n%100<=14 ? 2 : 3);\n" +"X-Crowdin-Project: fc57ad16a28d02dea100ceb1c60de14e\n" +"X-Crowdin-Project-ID: 136\n" +"X-Crowdin-Language: be\n" +"X-Crowdin-File: /[antikruk.KDE] main/KDE6/be/messages/okular/okular_kimgio." +"po\n" +"X-Crowdin-File-ID: 10524\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Дарафей Праляскоўскі, Antikruk" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "komzpa@licei2.com, nashtlumach@gmail.com" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "Не ўдалося загрузіць дакумент: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "Гэты дакумент выглядае пашкоджаным. Вось меркаваны выгляд дакумента." diff --git a/po/be/okular_markdown.po b/po/be/okular_markdown.po new file mode 100644 index 0000000..fe0e576 --- /dev/null +++ b/po/be/okular_markdown.po @@ -0,0 +1,58 @@ +# Zmicier , 2022. +msgid "" +msgstr "" +"Project-Id-Version: fc57ad16a28d02dea100ceb1c60de14e\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-02-11 18:55\n" +"Last-Translator: Zmicier \n" +"Language-Team: Belarusian\n" +"Language: be\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || n%10>=5 && n%10<=9 || n" +"%100>=11 && n%100<=14 ? 2 : 3);\n" +"X-Generator: Lokalize 22.08.3\n" +"X-Crowdin-Project: fc57ad16a28d02dea100ceb1c60de14e\n" +"X-Crowdin-Project-ID: 136\n" +"X-Crowdin-Language: be\n" +"X-Crowdin-File: /[antikruk.KDE] main/KDE6/be/messages/okular/okular_markdown." +"po\n" +"X-Crowdin-File-ID: 10526\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Antikruk" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "nashtlumach@gmail.com" + +#: converter.cpp:59 converter.cpp:93 +#, kde-format +msgid "Failed to open the document" +msgstr "Не ўдалося адкрыць дакумент" + +#: converter.cpp:106 converter.cpp:124 +#, kde-format +msgid "Failed to compile the Markdown document." +msgstr "Не ўдалося скампіляваць дакумент Markdown." + +#: generator_md.cpp:58 +#, kde-format +msgid "Enable SmartyPants formatting" +msgstr "Уключыць фарматаванне SmartyPants" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown" +msgstr "Markdown" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown Backend Configuration" +msgstr "Канфігурацыя рухавіка Markdown" diff --git a/po/be/okular_mobi.po b/po/be/okular_mobi.po new file mode 100644 index 0000000..d05c96a --- /dev/null +++ b/po/be/okular_mobi.po @@ -0,0 +1,54 @@ +# Zmicier , 2022. +msgid "" +msgstr "" +"Project-Id-Version: fc57ad16a28d02dea100ceb1c60de14e\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-02-11 18:55\n" +"Last-Translator: Zmicier \n" +"Language-Team: Belarusian\n" +"Language: be\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || n%10>=5 && n%10<=9 || n" +"%100>=11 && n%100<=14 ? 2 : 3);\n" +"X-Generator: Lokalize 22.08.3\n" +"X-Crowdin-Project: fc57ad16a28d02dea100ceb1c60de14e\n" +"X-Crowdin-Project-ID: 136\n" +"X-Crowdin-Language: be\n" +"X-Crowdin-File: /[antikruk.KDE] main/KDE6/be/messages/okular/okular_mobi.po\n" +"X-Crowdin-File-ID: 10528\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Antikruk" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "nashtlumach@gmail.com" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Падчас адкрыцця дакумента Mobipocket адбылася памылка." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "" +"Гэтая кніга абароненая DRM і можа паказвацца толькі на вызначанай прыладзе" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "Mobipocket" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "Канфігурацыя рухавіка Mobipocket" diff --git a/po/be/okular_poppler.po b/po/be/okular_poppler.po new file mode 100644 index 0000000..037de58 --- /dev/null +++ b/po/be/okular_poppler.po @@ -0,0 +1,489 @@ +# Darafei Praliaskouski , 2007. +msgid "" +msgstr "" +"Project-Id-Version: fc57ad16a28d02dea100ceb1c60de14e\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-08-11 21:04\n" +"Last-Translator: Darafei Praliaskouski \n" +"Language-Team: Belarusian\n" +"Language: be\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || n%10>=5 && n%10<=9 || n" +"%100>=11 && n%100<=14 ? 2 : 3);\n" +"X-Crowdin-Project: fc57ad16a28d02dea100ceb1c60de14e\n" +"X-Crowdin-Project-ID: 136\n" +"X-Crowdin-Language: be\n" +"X-Crowdin-File: /[antikruk.KDE] main/KDE6/be/messages/okular/okular_poppler." +"po\n" +"X-Crowdin-File-ID: 10530\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Дарафей Праляскоўскі, Antikruk" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "komzpa@licei2.com, nashtlumach@gmail.com" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, fuzzy, kde-format +#| msgid "Enable overprint preview" +msgid "Enable overprint preview:" +msgstr "Уключыць папярэдні прагляд накладання" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "Паляпшэнне тонкіх ліній:" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "Не" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "Суцэльныя" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "Фігуры" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "Прадвызначаны рэжым маштабавання пры друкаванні:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "Падладжванне да вобласці друкавання" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "Падладжванне да памераў старонкі" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "Няма" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" +"Калі ўключыць гэты параметр, то Okular зможа звязвацца з серверамі OCSP, каб " +"правяраць сапраўднасць сертыфікатаў." + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" +"Правяраць ануляванне сертыфікатаў лічбавых подпісаў з дапамогай пабочных " +"сервераў" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "Рухавік падпісання:" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "База даных сертыфікатаў" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "Прадвызначаны:" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "Адвольны:" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "Даступныя сертыфікаты" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "&Загрузіць подпісы" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "Параметры PDF" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "Друкаваць анатацыі" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "Уключэнне анатацый у вобласць друкавання дакумента" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"Уключэнне анатацый у вобласць друкавання дакумента. Калі вы хочаце " +"надрукаваць арыгінальны дакумент, то можаце адключыць гэты параметр." + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "Прымусовая растэрызацыя" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "Перад друкаваннем выконваць растэрызацыю дакумента" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"Прымусовае пераўтварэнне кожнай старонкі ў малюнак перад друкаваннем. " +"Звычайна гэта пагаршае якасць, але карысна пры друкаванні дакументаў, якія " +"друкуюцца няправільна." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "Рэжым маштабавання старонак, якія друкуюцца" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "Рэжым маштабавання:" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF в. %1.%2" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "Фармат" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "Зашыфраваны" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "Незашыфраваны" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "Бяспека" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "Так" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "Аптымізавана" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Падпісана: %1\n" +"\n" +"Дата: %2" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "Выкарыстоўваецца Poppler %1" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" +"Выкарыстоўваецца Poppler %1\n" +"\n" +"Убудавана над Poppler %2" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "Канфігурацыя рухавіка PDF" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" +"У дакуменце знойдзены некаторыя памылкі, Okular можа няправільна паказаць " +"змесціва" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" + +#: pdfsettingswidget.cpp:120 +#, fuzzy, kde-format +#| msgid "&Load Signatures" +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "&Загрузіць подпісы" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "Выдадзена" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "Электронная пошта" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "Тэрмін дзеяння" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" +"Вы выкарыстоўваеце бібліятэку Poppler, створаную без падтрымкі NSS.\n" +"З гэтай прычыны даданне лічбавых подпісаў недаступна" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "Патрэбны перазапуск" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "Пасля змены параметраў каталога NSS трэба перазапусціць Okular" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter Password" +msgstr "Увядзіце пароль" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "Увядзіце пароль, каб адкрыць %1:" + +#~ msgid "Not Available" +#~ msgstr "Недаступна" + +#~ msgid "Unknown" +#~ msgstr "Невядомы" + +#~ msgid "Unknown Date" +#~ msgstr "Невядомая дата" + +#~ msgid "Unknown Encryption" +#~ msgstr "Невядомы тып шыфравання" + +#~ msgid "Unknown Optimization" +#~ msgstr "Невядомы тып аптымізацыі" + +#, fuzzy +#~| msgid "Please insert the password to read the document:" +#~ msgid "Please enter the password to read the document:" +#~ msgstr "Увядзіце пароль для адлюстравання дакумента:" + +#~ msgid "Incorrect password. Try again:" +#~ msgstr "Памылковы пароль. Паспрабуйце яшчэ раз:" + +#~ msgid "[none]" +#~ msgstr "[няма]" + +#~ msgctxt "not available" +#~ msgid "n/a" +#~ msgstr "няма" + +#~ msgid "unknown" +#~ msgstr "невядомы" + +#~ msgid "Type 1" +#~ msgstr "Type 1" + +#~ msgid "Type 1C" +#~ msgstr "Type 1C" + +#~ msgctxt "OT means OpenType" +#~ msgid "Type 1C (OT)" +#~ msgstr "Type 1C (OT)" + +#~ msgid "Type 3" +#~ msgstr "Type 3" + +#~ msgid "TrueType" +#~ msgstr "TrueType" + +#~ msgctxt "OT means OpenType" +#~ msgid "TrueType (OT)" +#~ msgstr "TrueType (OT)" + +#~ msgid "CID Type 0" +#~ msgstr "CID Type 0" + +#~ msgid "CID Type 0C" +#~ msgstr "CID Type 0C" + +#~ msgctxt "OT means OpenType" +#~ msgid "CID Type 0C (OT)" +#~ msgstr "CID Type 0C (OT)" + +#~ msgid "CID TrueType" +#~ msgstr "CID TrueType" + +#~ msgctxt "OT means OpenType" +#~ msgid "CID TrueType (OT)" +#~ msgstr "CID TrueType (OT)" + +#~ msgid "Title" +#~ msgstr "Назва" + +#~ msgid "Subject" +#~ msgstr "Тэма" + +#~ msgid "Author" +#~ msgstr "Аўтар" + +#~ msgid "Keywords" +#~ msgstr "Ключавыя словы" + +#~ msgid "Creator" +#~ msgstr "Стваральнік" + +#~ msgid "Producer" +#~ msgstr "Вытворца" + +#~ msgid "Created" +#~ msgstr "Створаны" + +#~ msgid "Modified" +#~ msgstr "Зменены" + +#~ msgid "Pages" +#~ msgstr "Старонак" diff --git a/po/be/okular_tiff.po b/po/be/okular_tiff.po new file mode 100644 index 0000000..864cedb --- /dev/null +++ b/po/be/okular_tiff.po @@ -0,0 +1,32 @@ +# Zmicier , 2022. +msgid "" +msgstr "" +"Project-Id-Version: fc57ad16a28d02dea100ceb1c60de14e\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-02-11 18:55\n" +"Last-Translator: Zmicier \n" +"Language-Team: Belarusian\n" +"Language: be\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || n%10>=5 && n%10<=9 || n" +"%100>=11 && n%100<=14 ? 2 : 3);\n" +"X-Generator: Lokalize 22.08.3\n" +"X-Crowdin-Project: fc57ad16a28d02dea100ceb1c60de14e\n" +"X-Crowdin-Project-ID: 136\n" +"X-Crowdin-Language: be\n" +"X-Crowdin-File: /[antikruk.KDE] main/KDE6/be/messages/okular/okular_tiff.po\n" +"X-Crowdin-File-ID: 10532\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Antikruk" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "nashtlumach@gmail.com" diff --git a/po/be/okular_txt.po b/po/be/okular_txt.po new file mode 100644 index 0000000..38c8966 --- /dev/null +++ b/po/be/okular_txt.po @@ -0,0 +1,42 @@ +# Zmicier , 2022. +msgid "" +msgstr "" +"Project-Id-Version: fc57ad16a28d02dea100ceb1c60de14e\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-02-11 18:55\n" +"Last-Translator: Zmicier \n" +"Language-Team: Belarusian\n" +"Language: be\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || n%10>=5 && n%10<=9 || n" +"%100>=11 && n%100<=14 ? 2 : 3);\n" +"X-Generator: Lokalize 22.08.3\n" +"X-Crowdin-Project: fc57ad16a28d02dea100ceb1c60de14e\n" +"X-Crowdin-Project-ID: 136\n" +"X-Crowdin-Language: be\n" +"X-Crowdin-File: /[antikruk.KDE] main/KDE6/be/messages/okular/okular_txt.po\n" +"X-Crowdin-File-ID: 10534\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Antikruk" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "nashtlumach@gmail.com" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "Txt" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "Канфігурацыя рухавіка txt" diff --git a/po/be/okular_xps.po b/po/be/okular_xps.po new file mode 100644 index 0000000..92cff78 --- /dev/null +++ b/po/be/okular_xps.po @@ -0,0 +1,64 @@ +# Darafei Praliaskouski , 2007. +msgid "" +msgstr "" +"Project-Id-Version: fc57ad16a28d02dea100ceb1c60de14e\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-02-11 18:55\n" +"Last-Translator: Darafei Praliaskouski \n" +"Language-Team: Belarusian\n" +"Language: be\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || n%10>=5 && n%10<=9 || n" +"%100>=11 && n%100<=14 ? 2 : 3);\n" +"X-Crowdin-Project: fc57ad16a28d02dea100ceb1c60de14e\n" +"X-Crowdin-Project-ID: 136\n" +"X-Crowdin-Language: be\n" +"X-Crowdin-File: /[antikruk.KDE] main/KDE6/be/messages/okular/okular_xps.po\n" +"X-Crowdin-File-ID: 10536\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Дарафей Праляскоўскі, Antikruk" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "komzpa@licei2.com, nashtlumach@gmail.com" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "Рэдакцыя" + +#~ msgid "Title" +#~ msgstr "Назва" + +#~ msgid "Subject" +#~ msgstr "Тэма" + +#~ msgid "Description" +#~ msgstr "Апісанне" + +#~ msgid "Author" +#~ msgstr "Аўтар" + +#~ msgid "Category" +#~ msgstr "Катэгорыя" + +#~ msgid "Created" +#~ msgstr "Створаны" + +#~ msgid "Modified" +#~ msgstr "Зменены" + +#~ msgid "Keywords" +#~ msgstr "Ключавыя словы" + +#~ msgid "Pages" +#~ msgstr "Старонак" diff --git a/po/be/org.kde.active.documentviewer.po b/po/be/org.kde.active.documentviewer.po new file mode 100644 index 0000000..92b432d --- /dev/null +++ b/po/be/org.kde.active.documentviewer.po @@ -0,0 +1,221 @@ +# Zmicier , 2022. +msgid "" +msgstr "" +"Project-Id-Version: fc57ad16a28d02dea100ceb1c60de14e\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-02-12 20:00\n" +"Last-Translator: Zmicier \n" +"Language-Team: Belarusian\n" +"Language: be\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || n%10>=5 && n%10<=9 || n" +"%100>=11 && n%100<=14 ? 2 : 3);\n" +"X-Generator: Lokalize 22.08.3\n" +"X-Crowdin-Project: fc57ad16a28d02dea100ceb1c60de14e\n" +"X-Crowdin-Project-ID: 136\n" +"X-Crowdin-Language: be\n" +"X-Crowdin-File: /[antikruk.KDE] main/KDE6/be/messages/okular/org.kde.active." +"documentviewer.po\n" +"X-Crowdin-File-ID: 10538\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "Закладкі" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "Сродак для прагляду сертыфікатаў" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "Выдавец" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "Агульная назва:" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "Электронная пошта:" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "Арганізацыя:" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "Каму выдадзена" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "Тэрмін дзеяння" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "Выдадзена:" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "Сканчэнне тэрміну дзеяння:" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "Адбіткі" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "Адбітак SHA-1:" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "Адбітак SHA-256:" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +#, fuzzy +#| msgid "Export..." +msgid "Export…" +msgstr "Экспартаванне..." + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "Закрыць" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "Файл сертыфіката (*.cer)" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "Памылка" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "Не ўдалося экспартаваць сертыфікат." + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "Okular" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "" + +#: ui/Main.qml:49 +msgid "About" +msgstr "Пра праграму" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "Патрэбны пароль" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "Выдаліць закладку" + +#: ui/MainView.qml:29 +msgid "Bookmark this page" +msgstr "Дадаць гэтую старонку ў закладкі" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "Мініяцюры" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "Змест" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "Подпісы" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "Уласцівасці подпісу" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "Стан прыдатнасці" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "Тэрмін дзеяння подпісу:" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "Мадыфікацыі дакумента:" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "Дадатковая інфармацыя" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "Падпісана:" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "Час падпісання:" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "Прычына:" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "Размяшчэнне:" + +#: ui/SignaturePropertiesPage.qml:96 +msgid "Document Version" +msgstr "Версія дакумента" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Рэдакцыя дакумента %1 з %2" + +#: ui/SignaturePropertiesPage.qml:108 +#, fuzzy +#| msgid "Save Signed Version..." +msgid "Save Signed Version…" +msgstr "Захаваць падпісаную версію..." + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +#, fuzzy +#| msgid "View Certificate..." +msgid "View Certificate…" +msgstr "Праглядзець сертыфікат..." + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "Не ўдалося захаваць подпіс." + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "Недаступна" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "Нічога не знойдзена." + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "Няма дакументаў для адкрыцця" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "" + +#: ui/WelcomeView.qml:108 +#, fuzzy +#| msgid "Document Version" +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "Версія дакумента" + +#~ msgid "Open..." +#~ msgstr "Адкрыць..." diff --git a/po/bg/okular.po b/po/bg/okular.po new file mode 100644 index 0000000..60a107d --- /dev/null +++ b/po/bg/okular.po @@ -0,0 +1,6033 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Zlatko Popov , 2007, 2008, 2009. +# Yasen Pramatarov , 2010, 2012, 2013. +# SPDX-FileCopyrightText: 2022, 2023, 2024, 2025 Mincho Kondarev +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-11-19 23:33+0100\n" +"Last-Translator: Mincho Kondarev \n" +"Language-Team: Bulgarian \n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Bookmarks: -1,-1,-1,-1,-1,-1,74,-1,-1,-1\n" +"X-Generator: Lokalize 25.07.70\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Радостин Раднев,Красимир Арнаудов,Златко Попов,Минчо Кондарев" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" +"radnev@yahoo.com,krasi.arnaudov@gmail.com,zlatkopopov@fsa-bg.org," +"mkondarev@yahoo.de" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Okular - универсална програма за разглеждане на документи" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "Поддръжка (бивш)" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "Много работа по рамките, ODT и FictionBook" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "Разработка" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymanski" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "Създаде okular на основата на KPDF" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "Enrico Ros" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "KPDF разработка" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "Eugene Trounev" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "Украси за анотациите" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "Jiri Baum - NICTA" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "Инструмент за избиране на таблици" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "Fabio D'Urso" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "Подобрения на анотациите" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "Отиване на страница %1" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "Отваряне на външен файл" + +#: core/action.cpp:197 +#, kde-format +msgid "Execute '%1'…" +msgstr "Изпълнение на „%1“…" + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "Първа страница" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "Предишна страница" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "Следваща страница" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "Последна страница" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "Назад" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "Напред" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Изход" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "Начало на презентация" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "Край на презентация" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "Търсене…" + +#: core/action.cpp:314 +#, kde-format +msgid "Go To Page…" +msgstr "Отиване на страница…" + +#: core/action.cpp:365 +#, kde-format +msgid "Play sound…" +msgstr "Звуков сигнал…" + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "JavaScript скрипт" + +#: core/action.cpp:483 +#, kde-format +msgid "Play movie…" +msgstr "Пускане на филм…" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "Пускане на филм" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "Спиране на филма" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "Поставяне на пауза на филма" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "Възобновяване на филма" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "Тази компилация на Okular не поддържа аудио" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "Избор на бекенд" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
%1 (%2).

Please select which one to use:
" +msgstr "" +"Намерен е повече от един бекенд за файлов тип:
%1 (%2).

Моля изберете кой да бъде използван:
" + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "Повечето страници са %1." + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "Портрет %1" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "Пейзаж %1" + +#: core/document.cpp:246 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 × %2 in (%3)" + +#: core/document.cpp:248 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 × %2 mm (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "Продължаващо търсене от началото" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "Продължаващо търсене отдолу" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "Не е намерена приставка за обработка на този документ." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "Подписването не е имплементирано за този тип документ" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "премахване на анотациите" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"Документът се опитва да стартира външно приложение. От съображения за " +"сигурност Okular не позволява това." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "Не е намерена програма, която да може да отвори файла от типа %1." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "Грешка при отваряне на временния файл" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "Грешка при преобразуването за печат" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "Процесът за печат блокира" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "Процесът за печат не може да се зареди" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "Грешка при печат към файл" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "Принтерът е в неподходящо състояние" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "Грешка при откриване на файл за печат" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "Няма файл за отпечатване" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"Не е открита подходяща програма за печат. Уверете се, че програмата lpr на " +"CUPS е налична" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "Размерът на страницата за печат е невалиден" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "„%1“ не може да бъде отворен. Файлът не съществува." + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Заглавие" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Тема" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Описание" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "Автор" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Създател" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Производител" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "Авторски права" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "Страници" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Създаден" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Последна промяна" + +#: core/document.cpp:6032 +#, kde-format +msgid "MIME Type" +msgstr "Тип MIME" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "Категория" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Ключови думи" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "Път до файла" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "Големина на файла" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "Размери на страницата" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "добавяне на анотация" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "премахване на анотация" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "промяна на свойствата на анотацията" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "превод на анотацията" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "коригиране на анотацията" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "редактиране на текст" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "редактиране съдържанието на анотация" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "редактиране на съдържанието на формуляра" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "редактиране на избор на формуляр за списък" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "редактиране на комбиниран избор на формуляр" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "редактиране на състоянията на бутоните на формуляра" + +#: core/generator.cpp:790 +#, kde-format +msgid "Plain &Text…" +msgstr "Неформатиран &текст…" + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "OpenDocument Text" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "Опции за печат" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "Побира се в областта за печат" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "Побиране на пълна страница" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "Мащабен режим:" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "&Изключване на предупреждението" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "Недостъпен" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" +"Вътрешна грешка при подписване. Моля, докладвайте за грешка със стъпките за " +"нейното възпроизвеждане. Код на грешка %1" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "Неуспешно подписване на документа: %1" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "Подписването е отменено от потребителя" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "Не може да бъде подписан. Грешна парола" + +#: core/signatureutils.cpp:504 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" +"Не може да се запише подписан документ в %1, моля, " +"уверете се, че сте избрали папка с разрешение за запис." + +#: core/signatureutils.cpp:506 +#, kde-format +msgid "Unknown signing error" +msgstr "Неизвестна грешка при подписване" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Източник: %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "&Шрифт по подразбиране:" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "Версия" + +#: gui/certificatemodel.cpp:41 +#, kde-format +msgid "Serial Number" +msgstr "Сериен номер" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "Емитент" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "Издадена на" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "Изтича на" + +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Тема" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "Публичен ключ" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "Употреба на ключа" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "V %1" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "%1 (%2 бита)" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "Свойство" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "Стойност" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "Изскачаща бележка" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "Пишеща машина" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "Бележка между редовете" + +#: gui/guiutils.cpp:56 +#, kde-format +msgid "Arrow with Comment" +msgstr "Стрелка с коментар" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "Стрелка" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "Права линия с коментар" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "Права линия" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "Полигон с коментар" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "Многоъгълник" + +#: gui/guiutils.cpp:71 +#, kde-format +msgid "Rectangle with Comment" +msgstr "Правоъгълник с коментар" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "Правоъгълник" + +#: gui/guiutils.cpp:74 +#, kde-format +msgid "Ellipse with Comment" +msgstr "Елипса с коментар" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "Елипса" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "Открояване с коментар" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "Подсветяване" + +#: gui/guiutils.cpp:87 +#, kde-format +msgid "Squiggle with Comment" +msgstr "Кавгане с коментар" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "Криволичещ" + +#: gui/guiutils.cpp:91 +#, kde-format +msgid "Underline with Comment" +msgstr "Подчертаване с коментар" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "Подчертаване" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out with Comment" +msgstr "Зачеркнете с коментар" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "Зачертаване" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "Печат с коментар" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "Печат" + +#: gui/guiutils.cpp:106 +#, kde-format +msgid "Freehand Line with Comment" +msgstr "Свободна линия с коментар" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "Черта на ръка" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "Каре" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "Прикрепен файл" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "Звук" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "Видео" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Екран" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "Графичен обект" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "Мултимедия" + +#: gui/guiutils.cpp:144 +#, kde-format +msgid "Annotation" +msgstr "Анотация" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "Неизвестно" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Автор: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "Къде искате да запишете %1?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "„%1“ не може да бъде отворен за запис. Файлът не е записан." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "Подписът е криптографски валиден." + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "Подписът е криптографски невалиден." + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "Възникна несъответствие на дайджеста." + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "Структурата на подписа CMS/PKCS7 е неправилно оформена." + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "Исканият подпис не присъства в документа." + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "Подписът не можа да бъде проверен." + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "На сертификата се вярва." + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "Издателят на сертификат не е доверен." + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "Издателят на сертификат е неизвестен." + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "Сертификатът е отнет." + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "Сертификатът изтече." + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "Сертификатът все още не е проверен." + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "Валидация на сертификат в процес" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "Неизвестен проблем със сертификат или повредени данни." + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "MD2" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "MD5" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "SHA1" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "SHA256" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "SHA384" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "SHA512" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "SHA224" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "Неизвестен алгоритъм" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "RSA" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "DSA" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "ЕО" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "Неизвестен тип" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "Цифров подпис" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "Без отричане" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "Ключове за шифроване" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "Дешифриране на ключове" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "Споразумение за ключ" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "Сертификат за подписване" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "Подписване на CRL" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "Шифроване само" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "Не е посочена употреба" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr ", " + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "Документът не е модифициран откакто е подписан." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" +"Ревизията на документа, обхванат от този подпис, не е модифицирана; \n" +"обаче има последващи промени в документа." + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" +"Документът е модифициран по начин, който не е разрешен от предишен подписващ." + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "Проверката на целостта на документа не можа да бъде завършена." + +#: gui/signatureguiutils.cpp:208 +#, kde-format +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "Този ​​документ има полета за подпис." + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "Този ​​документ е с цифров подпис." + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "Този ​​документ е с цифров подпис. Има промени от последния подпис." + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" +"Този ​​документ е с цифров подпис. Някои от подписите не могат да бъдат " +"валидирани правилно." + +#: gui/signaturemodel.cpp:141 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "Полета за подписи: %1" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "Поле: %1 на страница %2" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "Rev. %1: Подписан от %2" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "Време за подписване: %1" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "Причина: %1" + +#: gui/signaturemodel.cpp:177 +#, kde-format +msgid "Location: %1" +msgstr "Местоположение: %1" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "Подпис PGP" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "Adobe PKCS7" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "Adobe PKCS7 Sha1" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "ETSI CAdES" + +#: gui/signaturemodel.cpp:193 +#, kde-format +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "Неизвестно" + +#: gui/signaturemodel.cpp:195 +#, kde-format +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "Поле за подпис" + +#: gui/signaturemodel.cpp:201 +#, kde-format +msgid "Signature Type: %1" +msgstr "Вид на подписите: %1" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "Червен" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "Оранжев" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "Жълт" + +#: part/annotationactionhandler.cpp:151 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "Зелен" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "Циан" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "Син" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "Пурпурен" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "Бели" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "Сив" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "Черен" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "Широчина %1" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1%" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "Ширина на реда за анотация (не е избрана анотация)" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "Цвят на анотацията (не е избрана анотация)" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "Цвят на запълване на анотацията (не е избрана анотация)" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "Непрозрачност на анотацията (не е избрана анотация)" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "Шрифт на анотацията (не е избрана анотация)" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" +"Добавяне на текущата анотация към менюто за бързи пояснения (Няма избрана " +"анотация)" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" +"Ограничете съотношението на формата към 1: 1 или ъгъл на линия до стъпки от " +"15 ° (не е избрана анотация" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" +"Разширени настройки за текущия инструмент за анотиране (Не е избрана " +"анотация)" + +#: part/annotationactionhandler.cpp:308 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Ширина на анотационната линия" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "Ширина на реда на анотацията (Текущата анотация няма ширина на реда)" + +#: part/annotationactionhandler.cpp:314 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Цвят на текста на анотацията" + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "Цвят на контура на анотацията" + +#: part/annotationactionhandler.cpp:318 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Цвят на анотацията" + +#: part/annotationactionhandler.cpp:322 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Цвят на запълване на анотацията" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "" +"Цвят на запълване на анотацията (Текущата анотация няма цвят на запълване)" + +#: part/annotationactionhandler.cpp:328 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "Шрифт на анотацията" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "Шрифт на анотацията (Текущата анотация няма шрифт)" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "Ограничете ъгъла на линията до стъпки от 15 °" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "Ограничете съотношението на формата към 1: 1" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" +"Ограничете съотношението на формата към 1: 1 или ъгъл на линията до стъпки " +"от 15 ° (Не се поддържа от текущата анотация)" + +#: part/annotationactionhandler.cpp:341 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Непрозрачност на анотацията" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "Добавяне на текущата анотация към менюто за бързи пояснения" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "Разширени настройки за текущия инструмент за анотиране" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "Цвят" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "Цвят на запълване" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "Прозрачен" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "Персонализиран цвят…" + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "Избор на цвят" + +#: part/annotationactionhandler.cpp:552 +#, kde-format +msgid "&Annotations" +msgstr "&Анотации" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "Скриване" + +#: part/annotationactionhandler.cpp:554 +#, kde-format +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Показване на още инструменти за анотации" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "Маркер" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "Подчертаване" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "Криволичещ" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "Зачертаване" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Пишеща машина" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "Бележка между редовете" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "Изскачаща бележка" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "Черта на ръка" + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "Права линия" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "Стрелка" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "Правоъгълник" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "Елипса" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "Многоъгълник" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "Геометрични фигури" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "Мигриране" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Бързи анотации" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "Изберете инструмент за анотация от бързите анотации" + +#: part/annotationactionhandler.cpp:651 +#, kde-format +msgid "Quick Annotation Bar" +msgstr "Лента за бързи анотации" + +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "Добавяне към бързи анотации" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "Запазване активен" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "Запазване на инструмента за анотиране активен след употреба" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "Съотношение на ограничение и ъгъл на инструментите за анотиране" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "Шрифт" + +#: part/annotationactionhandler.cpp:681 +#, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Настройки за анотации" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "Ширина на линия" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "Непрозрачност" + +#: part/annotationactionhandler.cpp:696 +#, kde-format +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1%" + +#: part/annotationmodel.cpp:320 +#, kde-format +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "Страница %1 (%2)" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "Страница %1" + +#: part/annotationpopup.cpp:85 +#, kde-format +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "Анотация" +msgstr[1] "%1 анотации" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "&Отваряне на бележка" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Премахване на отметка" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Добавяне на отметка" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, kde-format +msgid "Copy Text to Clipboard" +msgstr "Копиране на текста в клипборда" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "Копирането забранено поради DRM" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "&Изтриване" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "&Информация" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, kde-format +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "&Запис на „%1“…" + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "&Външен вид" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "&Общи" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&Автор:" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "Създаден:" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "Модифициран:" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "Свойства на изскачащи бележки" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "Свойства на пишеща машина" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "Информация за бележка между редовете" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "Свойства на права линия" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "Свойства на полигона" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "Информация за геометрия" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "Свойства на Markup текст" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "Информация за печат" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "Свойства на свободни линии" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "Информация за произволен текст" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "Информация за прикрепен файл" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "Информация за звука" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "Информация за видео" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "Свойства за анотация" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "Изберете персонализиран символ на печат от файл" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "Изберете персонализиран символ на печат" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" +"*.ico *.png *.xpm *.svg *.svgz | Файлове на икони (*.ico *.png *.xpm *.svg *." +"svgz)" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "Не можах да заредя файла %1 " + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "Невалиден файл" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&Цвят:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, kde-format +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%v%" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "&Непрозрачност:" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "Икона:" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "Коментар" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "Помощ" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "Вмъкване" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "Клавиш" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "Нов параграф" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "Бележка" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "Абзац" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Шрифт:" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "Цвят на текста:" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "&Подравняване:" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "Ляво" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "Центрирано" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "Дясно" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "&Ширина на рамка:" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "Одобрен" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "Както е" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "Поверителен" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "Ведомствен" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "Чернова" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "Експериментален" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "Изтекъл" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "Окончателен" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "За коментар" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "Публична версия" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "Неодобрен" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "Не е публична версия" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "Продаден" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "Свръх секретен" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "Отметка" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "Информация" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "Символ на печат:" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "&Ширина:" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "Начало на реда:" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "Край на реда:" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "Квадрат" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "Кръг" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "Diamond" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "Отворена стрелка" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "Затворена стрелка" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "Без" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "Заоблено" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "Стрелка надясно отворена" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "Затворена стрелка надясно" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "Наклонена черта" + +#: part/annotationwidgets.cpp:531 +#, kde-format +msgid "Leader line length:" +msgstr "Дължина на водещия ред:" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "Дължина на разширенията на водеща линия:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "Активен" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "Попълване на формата:" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Тип:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "Зачертаване" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "Символ за прикачен файл:" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "Графика" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "Карфица" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "Кламер" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "Етикет" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "Файл" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "Н/И" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "Няма информация." + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "Име:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "Описание:" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "Символ на карето:" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "Без" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "Затваряне на бележката" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "Настройки" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"Тази анотация може да съдържа LaTeX код. \n" +"Щракнете тук, за да изобразите." + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "Не е намерена програмата latex." + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "Грешка при обработката с LaTeX" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "Не е намерена програмата dvipng." + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "Възникна проблем при изпълнение на програмата \"latex\"." + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "Възникна проблем при изпълнение на програмата \"dvipng\"." + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"Една отметка" +msgstr[1] "" +"%1\n" +"\n" +"%2 отметки" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Отметки" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "Показване на всички документи" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, kde-format +msgid "Search…" +msgstr "Търсене…" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, kde-format +msgid "Expand All" +msgstr "Разгъване на всички" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, kde-format +msgid "Collapse All" +msgstr "Свиване на всички" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "Към тази отметка" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "Преименуване на отметка" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Отваряне на документ" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "Премахване на всички отметки за текущия документ." + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "Разглеждане на сертификати" + +#: part/certificateviewer.cpp:50 +#, kde-format +msgid "Export…" +msgstr "Експортиране…" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "Общи" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "Издаден от" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "Общо име (CN)" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "Електронна поща" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "Организация (O)" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "Издаден на" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "Валидност" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "Отпечатъци" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "SHA-1 Fingerprint" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "Отпечатък SHA-256" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "Детайли" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "Сертификатни данни:" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "Къде искате да запазите този сертификат?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "Сертификатен файл (* .cer)" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "Не можах да експортирам сертификата" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "&Цветови режим" + +#: part/colormodemenu.cpp:21 +#, kde-format +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "Смяна на цветовете" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "&Нормални цветове" + +#: part/colormodemenu.cpp:41 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "&Инвертиране на цветовете" + +#: part/colormodemenu.cpp:42 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "Промяна цвета на &фона" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "Промяна на &тъмни и светли цветове" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "Конвертиране в чернобял" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "Обръщане на лекотата" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "Обръщане на Luma (sRGB линейно)" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "Обръщане на Luma (симетрично)" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "Положително изместване на оттенъка" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "Отрицателно изместване на оттенъка" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "Червен" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "Зелен" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "Син" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "Жълт" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "Черен" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "Бял" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "Жълт маркер" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "Зелен маркер" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "Вмъкване на текст" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "Изчертаване на контур около връзките" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "Смяна на цветовете" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "Предупреждение: това може да засегне скоростта на изчертаване." + +#: part/dlgaccessibility.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "Инвертиране на цветовете" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "Промяна цвета на фона" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "Промяна на тъмни и светли цветове" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "Конвертиране в чернобял" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "Обръщане на лекотата" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "Обръщане на Luma (sRGB линейно)" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "Обръщане на Luma (симетрично)" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "Положително изместване на оттенъка" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "Отрицателно изместване на оттенъка" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "Цветови режим:" + +#: part/dlgaccessibility.cpp:87 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Цвят на фона:" + +#: part/dlgaccessibility.cpp:99 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Тъмен цвят:" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "Светъл цвят:" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "Праг:" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Контраст:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "Енджин за изговаряне на текст:" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "Глас за изговаряне на текст:" + +#: part/dlgannotations.cpp:25 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Лента с инструменти за анотации" + +#: part/dlgannotations.cpp:26 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Лента за бързи анотации" + +#: part/dlgannotations.cpp:28 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Лента с инструменти за анотации:" + +#: part/dlgannotations.cpp:34 +#, kde-format +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "Автор:" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +" Забележка : информацията тук се използва само за анотации. " +"Информацията се запазва в коментирани документи и така ще бъде предадена " +"заедно с документа." + +#: part/dlgannotations.cpp:48 +#, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

Quick Annotation Tools

" +msgstr "

Бързи инструменти за анотиране

" + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" +"Изберете редактора, който искате да се стартира, когато Okular иска да " +"отвори изходния файл." + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "Потребителски текстов редактор" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Emacs клиент" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "Lyx клиент" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "TeXstudio" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "TeXiFy IDEA" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "Редактор:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
\n" +"You can also put few placeholders:\n" +"
    \n" +"
  • %f - the file name
  • \n" +"
  • %l - the line of the file to be reached
  • \n" +"
  • %c - the column of the file to be reached
  • \n" +"
\n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"Напишете командата с която да бъде стартиран текстовият редактор.
\n" +"Можете да укажете и:\n" +"
    \n" +"
  • %f - име на файла
  • \n" +"
  • %l - ред от файла
  • \n" +"
  • %c - колона от файла
  • \n" +"
\n" +"Ако не сте посочили %f, тогава името на файла се добавя към командата." + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "Команда:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "Използване на плавно превъртане" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "Външен вид:" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "Показване на лентите за превъртане" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "Връзка на &умалените копия със страницата" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "Показване на по&дсказки" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "Уведомяване за вградените файлове, формуляри или подписи" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "Показване на заглавието на документа в заглавната лента, ако е налично" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "Показване само на името на файла" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "Показване на пълен път до файла" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "Когато не се показва заглавието на документа:" + +#: part/dlggeneral.cpp:92 +#, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "Използване на персонализиран цвят на фона:" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "Възможности на програмата:" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "Отваряне на нови файлове в раздели" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "Превключване към съществуващ раздел, ако файлът вече е отворен" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "Спазване на DRM ограниченията" + +#: part/dlggeneral.cpp:148 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "Презареждане на документа при промяна на файла" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "Показване на диалог за избор на бекенд" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "Посока на четене отдясно наляво" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" +"Използване на информация за файла, за да се определи дали да се отваря в " +"непрекъснат режим по подразбиране" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" +"Отваряне в непрекъснат режим по подразбиране на файлове без информация за " +"файла" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "Отваряне в непрекъснат режим по подразбиране" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "Скриване на курсора при използване на инструмента за преглед" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "Елементи в скорошна история" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "Колони общ преглед:" + +#: part/dlggeneral.cpp:220 +#, kde-format +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%v%" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" +"Определя каква част от текущата област на гледане ще остане видима при " +"натискане на бутоните Страница нагоре/надолу." + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "Припокриване на страницата нагоре/надолу:" + +#: part/dlggeneral.cpp:228 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%v%" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "100%" + +#: part/dlggeneral.cpp:233 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "До широчината на страницата" + +#: part/dlggeneral.cpp:234 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "До височината на страницата" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "Автоматично напасване" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "Потребителски" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" +"Определя режима на мащабиране по подразбиране за файлове, които никога преди " +"не са били отваряни. За файлове, които са били отворени, се прилага " +"предишният мащаб." + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "Мащаб по подразбиране:" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "Активиране ефекти на прозрачност" + +#: part/dlgperformance.cpp:28 +#, kde-format +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "Натоварване на процесора:" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "Ниско" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "Нормално (по подразбиране)" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "Агресивно" + +#: part/dlgperformance.cpp:38 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "Максимално" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "Използване на паметта:" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "Активиране на текстово изглаждане" + +#: part/dlgperformance.cpp:56 +#, kde-format +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "Опции за рендериране:" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "Активиране на графично изглаждане" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "Активиране на подсказването на текст" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "Минимизиране на използваната памет." + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"Добър компромис между използването на паметта и увеличаването на скоростта. " +"Предварително заредете следващата страница и ускорете търсенията. " +"(Обикновено за системи с 2 GB памет.)" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"Запазва всичко в паметта. Предварително зареждане на следващите страници. " +"Увеличете търсенията. (За системи с повече от 4 GB памет.)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" +"Зарежда и поддържа всичко в паметта. Предварително заредете всички страници. " +"(Ще използва максимум 50 %от общата ви памет или свободната ви памет, " +"каквото и да е по-голямо.)" + +#: part/dlgpresentation.cpp:38 +#, kde-format +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] "всяка %v секунда" +msgstr[1] "всеки %v секунди" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "Автоматично прелистване:" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "След последната страница връщане в началото" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "Докоснете лява/дясна страна, за да отидете назад/напред" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "Докосване навсякъде за продължаване напред" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "Деактивиран" + +#: part/dlgpresentation.cpp:63 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Сензорна навигация:" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "Фонов цвят:" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "Скриване след закъснение" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "Винаги видим" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "Винаги скрит" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "Курсор на мишката:" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "Индикатор за прогрес" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "Показване на кратко резюме" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "Моментално(Без анимации)" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "Заменяне" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "Произволен преход" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "Вертикално закриване" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "Хоризонтално закриване" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "Свиване" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "Разгъване" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "Разтваряне" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "Избледняване" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "Проблясване на долу" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "Проблясване на горе" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "Проблясване вдясно-долу" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "Разделяне хоризонтално навътре" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "Разделяне хоризонтално навън" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "Разделяне вертикално навътре" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "Разделяне вертикално навън" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "Изтриване надолу" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "Изтриване надясно" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "Изтриване наляво" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "Изтриване нагоре" + +#: part/dlgpresentation.cpp:121 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Преход по подразбиране:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "Предпочитан екран:" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

Drawing Tools

" +msgstr "

Инструменти за рисуване

" + +#: part/dlgpresentation.cpp:171 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Текущ екран" + +#: part/dlgpresentation.cpp:172 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Стандартен екран" + +#: part/dlgpresentation.cpp:178 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "Екран %1 (%2 %3 %4)" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "Екран %1 (изключен)" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "Инструмент за рисуване: %1" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "Гума" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "&Име:" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "&Вид:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "Външен вид" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "Маркиране на текст" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "Геометрична форма" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "Инструмент за създаване на анотации" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "Инструмент за редактиране на анотации" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "Цвят:" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "&Ширина на писалката:" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "%v px" + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "Създаване на инструмент за рисуване" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "Редактиране на инструмент за рисуване" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "Неизвестна" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Вградени файлове" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "Изглед" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "Име" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "Описание" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "Големина" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "Създаден" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "Последна промяна" + +#: part/embeddedfilesdialog.cpp:154 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "&Запазване като…" + +#: part/embeddedfilesdialog.cpp:155 +#, kde-format +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "&Преглед…" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "Не може да бъде зареден \"print preview part\"" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "Предпечатен преглед" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "Затваряне" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "&Търсене:" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "Търсен текст" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Следващ" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "Прескачане до следващото съвпадение" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Предишен" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "Прескачане до предишното съвпадение" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "Поведение на търсене" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "Чувствителен регистър" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "От текущата позиция" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "Намиране, докато пишете" + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "Всички файлове (*)" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "Поле за подпис (Кликнете за подпис)" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "&Подписване…" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "Свойства на подписа" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "Настройки на търсенето" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "Чувствителен регистър" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "Регулярен израз" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "Слоеве" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "от" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "Мащабиране" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "Мащабиране до 100%" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "Завъртане на&дясно" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "Надясно" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "Завъртане на&ляво" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "Наляво" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "Първоначална ориентация" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "&Изрязване на изглед" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "Отр&язване на отстъпите" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "Подрязване до &избор" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "До &широчината на страницата" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "До &височината на страницата" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "&Автоматично напасване" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "Напасване на &прозореца към страницата" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "&Режим на преглед" + +#: part/pageview.cpp:594 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "&Една страница" + +#: part/pageview.cpp:595 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "&Облицовъчни страници" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "Облицовъчни страници (&Център за първа страница)" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "&Общ преглед" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "Б&ез прекъсване между страниците" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "Използване на посока за четене отдясно наляво" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "&Преглед" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "&Мащабиране" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "Избор на &област" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "&Избор на текст" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "Избор на &таблица" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "&Лупа" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "Инструменти за избор" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "Цифров &подпис…" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "Произнасяне на документа" + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "Произнасяне на страницата" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "Произнасяне на страницата" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "Спиране на произнасянето" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "Пауза/възобновяване на говоренето" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "Превъртане нагоре" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Превъртане надолу" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "Превъртане страница нагоре" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "Превъртане страница надолу" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "Показване на формуляри" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] " Зареден е документ от една страница." +msgstr[1] " Зареден е документ от %1 страници." + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "Копиране на таблицата в клипборда" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "Текст (1 знак)" +msgstr[1] "Текст (%1 знака)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "Копиране в системния буфер" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "Произнасяне на текст" + +#: part/pageview.cpp:2863 +#, kde-format +msgid "Image (%1 × %2 pixels)" +msgstr "Изображение (%1 × %2 пиксела)" + +#: part/pageview.cpp:2865 +#, kde-format +msgid "Save to File…" +msgstr "Запис във файл…" + +#: part/pageview.cpp:2885 +#, kde-format +msgid "Image [%1 × %2] copied to clipboard." +msgstr "Изображението [%1 × %2] е копирано в системния буфер." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "Запишете файла" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "Изображения (* .png * .jpeg)" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "Файлът не е записан." + +#: part/pageview.cpp:2901 +#, kde-format +msgid "Image [%1 × %2] saved to %3 file." +msgstr "Изображениетo [%1 × %2] е записано във файла %3." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "Копиране на текст" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "Отиване до „%1“" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "До широчината на страницата" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "До височината на страницата" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "Автоматично напасване" + +#: part/pageview.cpp:4107 +#, kde-format +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1%" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "Търсене на „%1“ с" + +#: part/pageview.cpp:4404 +#, kde-format +msgid "Configure Web Shortcuts…" +msgstr "Настройки на уеб-препратки…" + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "Към връзката" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "Пусни този звук" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "Спиране на звука" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "Копиране адреса на връзката" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "Търсене на „%1“ в този документ" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Добре дошли" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "" +"Маркирайте желаната част от документа. За намаляване щракнете с десния бутон " +"на мишката." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "Щракнете, за да видите увеличения изглед." + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "" +"Изчертайте правоъгълник около текста/изображението, което искате да копирате." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "Избиране на текст" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" +"Начертайте правоъгълник около таблицата, след това щракнете в близост до " +"ръбовете, за да разделите; натиснете Esc, за да изчистите." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" +"Всички ваши сертификати за подписване са невалидни. В случай, че " +"подписването е работило преди, моля, проверете датите им на валидност." + +#: part/pageview.cpp:5188 +#, kde-format +msgid "No valid certificates" +msgstr "Няма валидни сертификати" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, kde-format +msgid "Open Certificate Manager" +msgstr "Отваряне на мениджъра за сертификати" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
Launch Certificate Manager " +"to import or manage certificates
For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" +"Няма налични сертификати за подписване.
Стартирайте „Мениджър на " +"сертификати“, за да импортирате или управлявате сертификати
За повече " +"информация, моля вижте раздела за Добавяне на цифрови подписи в ръководството." + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, kde-format +msgid "No certificates found" +msgstr "Няма намерени сертификати" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
For more information, " +"please see the section about
Adding Digital Signatures in " +"the manual." +msgstr "" +"Няма налични сертификати за подписване.
За повече информация, моля " +"вижте раздела за Добавяне на цифрови подписи в " +"ръководството." + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" +"Имате незаписани промени. Моля, запишете документа, преди да го подпишете." + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "Начертайте правоъгълник, за да вмъкнете полето за подпис" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "" +"Начертайте правоъгълник около областта на страницата, която искате да " +"запазите видима" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "Нова бележка" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "Текст на бележката:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Подписан от: %1\n" +"\n" +"Дата: %2" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" +"Подпис от този размер може да бъде твърде малък за четене. Ако искате да " +"създадете потенциално по-четлив подпис, натиснетеЗапочнете " +"отново и начертайте по/голям триъгълник." + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "Започване отново" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "Подписване" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name" +msgstr "Име на автор" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name for the annotation:" +msgstr "Име на автор на анотацията:" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "Начертайте елипса (плъзнете, за да изберете зона)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "Открояване на текст" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "Начертайте линия от ръка" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "Анотация между редовете (изтеглете за да маркирате област)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "Поставяне на изскачаща бележка" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "" +"Изчертаване на многоъгълник (щракнете на първата точка, за да го затворите)" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "Чертане на правоъгълник" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "Извиващ се текст" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "Поставяне на печат" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "Чертане на права линия" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "Зачертаване на текст" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "Подчертаване на текст" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "Анотация на пишеща машина (плъзнете, за да изберете зона)" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "Маркер" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "Добавяне на любима анотация" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Custom annotation name:" +msgstr "Име на персонализирана анотация:" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&Файл" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "&Настройки" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "&Помощ" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "&Ориентация" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "&Отметки" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "Лента с инструменти за преглед" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Умалени копия" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "Бележки" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" +"Този документ съдържа анотации или данни за формуляри, които са били " +"запазени вътрешно от предишна версия на Okular. Вътрешното запазване " +"вече не се поддържа .
Моля, запазете във файл, за да ги " +"преместите, ако искате продължете да редактирате документа." + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"Документа съдържа вградени файлове. Щракнете тук за да ги видите или отидете на Файл -> Вградени файлове." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" +"Подписването е в ход. Можете да регулирате позицията и размера на подписа" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "Завършване на подписването" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "Предишна" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "Към предишната страница" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "Отиване на предишната страница на документа" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "Следваща" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "Към следващата страница" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "Отиване на следващата страница на документа" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "Начало на документа" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "Отиване в началото на документа" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "Край на документа" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "Отиване в края на документа" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "Преименуване на текущата отметка" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "Предишна отметка" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "Към предишната отметка" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "Следваща отметка" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "Към следващата отметка" + +#: part/part.cpp:748 +#, kde-format +msgid "Configure Okular…" +msgstr "Настройки на Okular…" + +#: part/part.cpp:751 +#, kde-format +msgid "Configure Viewer…" +msgstr "Настройки на прегледа…" + +#: part/part.cpp:757 +#, kde-format +msgid "Configure Viewer Backends…" +msgstr "Конфигуриране на бекенд за преглед…" + +#: part/part.cpp:759 +#, kde-format +msgid "Configure Backends…" +msgstr "Настройване на бекенд…" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "Относно бекенда" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "Презареж&дане" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "Презареждане текущия документ от диска." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "Затваряне &лентата за търсене" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "Номер на страница" + +#: part/part.cpp:817 +#, kde-format +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "Конфигуриране на цветовите режими…" + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "Избор на целия текст на текущата страница" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "Показване на &страничния панел" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "Показване на лента за &страниците" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "Панел за показване и подписи" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "&Вградени файлове" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "Е&кспортиране като" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "&Споделяне" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "П&резентация" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "Отваряне на съдържащата папка" + +#: part/part.cpp:945 +#, kde-format +msgid "&Import PostScript as PDF…" +msgstr "&Внасяне на Postscript като PDF…" + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "Превключване към черен екран" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "Изтриване на рисунка" + +#: part/part.cpp:962 +#, kde-format +msgid "Configure Annotations…" +msgstr "Настройки на анотациите…" + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "Възпроизвеждане/пауза на презентация" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" +"Току-що сте променили отворения документ, но този вид документ не може да " +"бъде запазен.\n" +"Всяка промяна ще бъде изгубена, след като Okular бъде затворен." + +#: part/part.cpp:1123 +#, kde-format +msgid "Document can't be saved" +msgstr "Документът не може да бъде записан" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "Не можа да се отвори „%1“ (%2) " + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "Зареждането на %1 беше прекъснато." + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "Грешка при отваряне на %1. Причина: %2" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "Конфигуриране на бекенд за преглед" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "Настройване на бекенд" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"Програмата \"ps2pdf\" не е открита. Оkular не може да импортира PS файлове." + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "ps2pdf не е открита" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "PostScript файлове (%1)" + +#: part/part.cpp:1357 +#, kde-format +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "Импортиране на PS файла като PDF (може да отнеме известно време)…" + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "Моля, въведете паролата, за да прочетете документа:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "Неправилна парола. Опитайте отново:" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "Парола за документ" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" +"Този ​​документ има XFA формуляри, които в момента не се поддържат ." + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"Документа съдържа формуляри. Натиснете бутона за да работите с тях или " +"използвайте Изглед -> Показване на формуляри." + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" +"Всички функции за редактиране и интерактивни функции за този документ са " +"деактивирани. Моля, запазете копие и отворете отново, за да редактирате този " +"документ." + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" +"Този документ иска да се показва на цял екран. \n" +"Да се ​​излезе ли от нормалния режим и да се влезе в режим на презентация?" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "Искане за промяна на режима на гледане" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "Влезте в режим на презентация" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "Отхвърляне на заявка" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "Не може да се отвори %1. %2" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" +"Файлът %1 има незаписани промени, но е бил модифициран " +"от друга програма. Повторното му зареждане ще замени незаписаните промени с " +"направените промени от другата програма.Искате ли да продължите " +"презареждането на файла?" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "Файлът е променен" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "Продължи презареждане" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "Прекъсване на презареждането" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" +"Файлът %1 има незаписани промени, но е бил модифициран " +"от друга програма. Затварянето му ще замени незапазените промени с " +"промените, направени в другата програма.Искате ли да затворите " +"файла?" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "Продължаване на затварянето" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "Прекъсване на затварянето" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "Искате ли да запазите промените си в „%1“ или да ги отхвърлите?" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "Затваряне на документа" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"Връзката сочи към операция от затворен документ, която не работи с вграден " +"визуализатор." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"Връзката сочи към операция от затворена програма, която не работи с вграден " +"визуализатор." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, kde-format +msgid "Reloading the document…" +msgstr "Презареждане на документа…" + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "Съдържание" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "Подпис" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Към страница" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "&Страница:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "Въведете ново име за отметката:" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "Преименуване на отметката" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "Премахване на тази отметка" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "Запазване като" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" +"Избрахте да запазите архив на Okular без разширение на файл „%1“. Това не е " +"разрешено. Искате ли да изберете друго име?" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "Неподдържано разширение" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "Избиране на ново име" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" +"Файлът %1 е бил модифициран от друга програма. Ако го " +"запишете сега, всички промени, направени в другата програма, ще бъдат " +"загубени. Сигурни ли сте, че искате да продължите?" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "Запазване - предупреждение" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "Запазване на колие на друго място" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
Do you want to continue?" +msgstr "" +"Текущият документ е защитен с парола.
За да се запази, файлът трябва " +"да бъде презареден. Пак ще бъдете помолени за паролата и вашата история на " +"отмените/повторенията ще бъде загубена.
искате да продължите?" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "Временният файл не може да бъде отворен за запис." + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" +"Не може да се презапише %1, защото този файл е само за " +"четене. Опитайте да го запазите на друго място или променете разрешенията на " +"този файл." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
Do you want to continue?" +msgstr "" +"След запазване, текущият формат на документа изисква файлът да бъде " +"презареден. Историята ви за отмяна/повторение ще бъде загубена.
" +"Искате ли да продължите?" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "" +"Файлът не може да бъде записан в „%1“. Пробвайте да го запишете в друга " +"директория." + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "Попълнено съдържание" + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "Потребителски анотации" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" +"На път сте да запазите промените, но текущият файлов формат не поддържа " +"запазване на следните елементи. Моля, използвайте формата архив на " +"документи Okular , за да ги запазите." + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "Внимание" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "Запазване като архив на документи на Okular…" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" +"На път сте да запазите промените, но текущият файлов формат не поддържа " +"запазване на следните елементи. Моля, използвайте формата архив на " +"документи Okular , за да ги запазите. Щракнете върху Напред , за " +"да запазите документа и изхвърлете тези елементи." + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" +"На път сте да запазите промените, но текущият файлов формат не поддържа " +"запазване на следните елементи. Моля, използвайте формата архив на " +"документи Okular , за да ги запазите. Щракнете върху Напред , за " +"да запазите, но ще загубите тези елементи, както и историята на отмените/" +"повторенията." + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "Продължаване" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "Продължаване на загуба на промени" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "Файлът не може да бъде записан в „%1“. %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"Okular не може да копира %1 в посоченото местоназначение.\n" +"\n" +"Документът вече не съществува." + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" +"Файлът не можа да бъде запазен в „%1“ . Грешка: „%2“. Опитайте да го " +"запазите на друго място." + +#: part/part.cpp:3158 +#, kde-format +msgid "Expand Whole Section" +msgstr "Разгъване на целия раздел" + +#: part/part.cpp:3159 +#, kde-format +msgid "Collapse Whole Section" +msgstr "Свиване на целия раздел" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "Синхронизиране на миниатюрите със страницата" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Инструменти" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "Изговаряне на текст" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "Отпечатване" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "Печатането на документа не е разрешено." + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"Грешка при печат на документа. Непозната грешка. Моля, съобщете за грешка на " +"bugs.kde.org" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"Грешка при печат на документа. Подробната грешка е „%1“. Моля, съобщете за " +"грешка на bugs.kde.org" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "Назад една стъпка" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "Напред една стъпка" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"Грешка! Не може да бъде създаден временен файл " +"%1." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"Грешка! Файлът %1 не може " +"да бъде отворен за разкомпресиране и няма да бъде зареден." + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"Тази грешка обикновено се появява, ако нямате достатъчно разрешения за " +"четене на файла. Можете да проверите собствеността и разрешенията, ако " +"щракнете с десния бутон върху файла във файловия мениджър на Dolphin, след " +"това изберете опцията „Свойства“ и изберете Раздел „Разрешения“ в отворения " +"прозорец." + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"Грешка! Файлът %1 не може " +"да бъде разкомпресиран и няма да бъде зареден." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"Грешката възниква ако файла е повреден. Ако искате да сте сигурни, " +"опитайте се да го разкомпресирате ръчно използвайки програма от командния " +"ред." + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "Няма отметки" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "Възникна проблем при споделянето на документа: %1" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "Споделени" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "Документът е споделен успешно" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "Можете да намерите споделения документ на адрес: %1 " + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "&Редактиране" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "&Изглед" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&Навигация" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "&Инструменти" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "Главна лента с инструменти" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "Лента с инструменти за анотации" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, kde-format +msgid "Quick Annotation Toolbar" +msgstr "Лента с инструменти за бързи анотации" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "Общи настройки" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Достъпност" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "Помощ за достъпност" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Скорост" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "Настройки на скоростта" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "Настройки на прегледа" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Презентация" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "Настройки на режима за презентация" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "Настройки за анотации" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "Редактор" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "Настройки на редактора" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" +"Редакторът беше зададен от командния ред на\n" +" %1 \n" +"Ако искате да използвате настройката, стартирайте okular без опцията --" +"editor-cmd" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "Търсене на следващ" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 - Презентация" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "Превключване на екрана" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "Екран %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "Изход от режим \"презентация\"" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Заглавие: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Страници: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "Щракнете за начало" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "Пауза" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "Възпроизвеждане" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"Има два начина за изход от режим \"Презентация\" - можете да натиснете " +"клавиша \"ESC\" или бутона \"Изход\", който се показва при поставяне на " +"мишката в горния десен ъгъл. Разбира се, можете да сменяте прозорците (Alt" +"+TAB по подразбиране)" + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "Презентация" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "Непознат файл" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "Информация за %1" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "&Шрифтове" + +#: part/propertiesdialog.cpp:145 +#, kde-format +msgid "Reading font information…" +msgstr "Четене на информацията за шрифта…" + +#: part/propertiesdialog.cpp:158 +#, kde-format +msgid "&Page Sizes" +msgstr "&Размер на страницата" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "&Извличане на шрифта" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Type 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Type 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "Type 1C (OT)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Type 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType (OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID Type 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID Type 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID Type 0C (OT)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType (OT)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "TeX PK" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "TeX виртуален" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "TeX Font Metric" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "TeX FreeType-handled" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "Непознат" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "Вграден" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "Напълно вграден" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "Не" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "Да" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "Да" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "%1 (заместване с %2)" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "[не е налично]" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "Непознат шрифт" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "Вграден: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "Име" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "Тип" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "Файл" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "Страница" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "Големина" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "Преглед на редакцията" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "Къде искате да запазите тази редакция?" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "Файлът %1 не можа да бъде запазен." + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "Не можах да видя редакция." + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "Въведете поне 3 букви, за да се филтрират страниците" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "Чувствителен регистър" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "Съвпадение на фразата" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "Съвпадение на всички думи" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "Съвпадение на коя да е дума" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "Настройки на филтъра" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, kde-format +msgid "Certificates" +msgstr "Сертификати" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "Избиране на сертификат за подписване:" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "Всички" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, kde-format +msgid "Only QES certificates" +msgstr "Само QES сертификати" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "Само PGP ключове" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "Причина:" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, kde-format +msgid "optional" +msgstr "незадължително" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "Адрес:" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, kde-format +msgid "Background:" +msgstr "Фон:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "Избиране…" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, kde-format +msgid "Recent backgrounds:" +msgstr "Последно използвани фонове:" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

No annotations

To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
" +msgstr "" +"

Без пояснения

За да създадете нови пояснения, " +"натиснете F6 или изберете Инструменти - > Анотации от менюто. " + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "Групиране по страница" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "Групиране по автор" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "Показване на анотации само за текущата страница" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "Разгъване на всички елементи" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "Свиване на всички елементи" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "Информация" + +#: part/signaturepartutils.cpp:180 +#, kde-format +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Изображения (%1)" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "Избиране на изображение за фон" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "Забравяне на изображението" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "Забравяне на всички изображения" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "Въведете парола (ако има такава), за да отключите сертификат: %1" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "Въведете парола за сертификат" + +#: part/signaturepartutils.cpp:244 +#, kde-format +msgid "Enter document password" +msgstr "Въведете парола за документ" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "Запазване на подписания файл като" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "%1_signed.%2" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "Състояние на валидност" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "Валидност на подписите:" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "Модификации на документа:" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "Допълнителна информация" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "Подписано от:" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "Време за подписване:" + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "Версия на документа" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Ревизия на документ %1 от %2" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "Преглед на подписаната версия…" + +#: part/signaturepropertiesdialog.cpp:95 +#, kde-format +msgid "View Certificate…" +msgstr "Преглед на сертификата…" + +#: part/signaturepropertiesdialog.cpp:97 +#, kde-format +msgid "View in Certificate Manager" +msgstr "Преглед в мениджъра за сертификати" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "Не е намерен мениджъра на KDE за сертификати (kleopatra)" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "Квалифицирано" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "PGP" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "Показване само на страници с отметки" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "Изпълнение" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Пауза" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "Спиране" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "Видео не се поддържа" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "Не се поддържа видео" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "&Добавяне…" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, kde-format +msgid "&Edit…" +msgstr "&Редактиране…" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "&Премахване" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "Преместване на&горе" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "Преместване на&долу" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "Инструмент за рисуване по подразбиране # %1" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "" +"Вече има инструмент с това име. Използване на инструмент по подразбиране" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "Дублирано име" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "Страница от документа която да бъде показана" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "Стартиране на документа в режим на презентация" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "Започване с диалоговия прозорец за печат" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "Започване с диалоговия прозорец за печат и излизане след печат" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "Контрол \"Единствена инстанция\"" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "Без вдигане на прозорец" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "Намиране на низ в текста" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "Задава командите на външния редактор" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "Документи за отваряне. Посочете '-' за четене от stdin." + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" +"Не може да зададете команди на редактора във вече стартиран okular. Моля, " +"деактивирайте раздела и опитайте отново. Имайте в предвид. че unique също не " +"се поддържа, когато се задава команда на редактора от командния ред.\n" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "" +"Грешка: Не мога да отворя повече от един документ с превключвателя --unique" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" +"Грешка: Не мога да отворя повече от един документ с превключвателя --" +"presentation" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "" +"Грешка: Не мога да отворя повече от един документ с --print превключвател" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "" +"Грешка: Не мога да отворя повече от един документ с превключвателя --page" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "Грешка: Не мога да отворя повече от един документ с ключа --find" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "Не може да се намери компонента на Okular: %1" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "Страничен панел" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" +"Вече се изпълнява уникален екземпляр на Okular. Този екземпляр няма да бъде " +"уникалният." + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "Не е открита частта на Okular." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"Щракнете за отваряне на файл\n" +"Щракнете и задръжте за отваряне на скоро използван файл" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"Щракнете за отваряне на файл или щракнете и задръжте за " +"отваряне на скоро използван файл" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "Следващ подпрозорец" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "Предишен подпрозорец" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "Отмяна на затварянето на раздела" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "Заключване на страничния панел" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "Всички файлове (*)" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "Всички поддържани файлове (%1)" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "Отваряне на документ" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "Потвърждаване на затварянето" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "Затваряне на раздели" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "На път сте да затворите %1 раздела. Наистина ли искате да продължите?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "Предупреждавайте ме, когато се опитвам да затворя множество раздели" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "&Копиране на местоположението" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "&Отваряне на съдържащата папка" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "&Забравяне на този елемент" + +#: shell/welcomescreen.cpp:137 +#, kde-format +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "Няма скорошни документи" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "Добре дошли в Okular" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Отваряне на документ…" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, kde-format +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Скорошни документи" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "Забравяне на всичко" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "Скриване на приветстващия прозорец" diff --git a/po/bg/okular_comicbook.po b/po/bg/okular_comicbook.po new file mode 100644 index 0000000..f365873 --- /dev/null +++ b/po/bg/okular_comicbook.po @@ -0,0 +1,48 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Yasen Pramatarov , 2009. +# Mincho Kondarev , 2022. +msgid "" +msgstr "" +"Project-Id-Version: okular_comicbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2022-05-21 22:23+0200\n" +"Last-Translator: Mincho Kondarev \n" +"Language-Team: Bulgarian \n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 22.04.0\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Ясен Праматаров" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "yasen@lindeas.com" + +#: document.cpp:97 +#, kde-format +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "" +"Не може да се отвори документ, не са намерени нито unrar, нито unarchiver." + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "" +"Версията на unrar на системата ви не е подходяща за отваряне на документи с " +"комикси." + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "Непознат формат на комикс." diff --git a/po/bg/okular_djvu.po b/po/bg/okular_djvu.po new file mode 100644 index 0000000..e508b68 --- /dev/null +++ b/po/bg/okular_djvu.po @@ -0,0 +1,96 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Zlatko Popov , 2007. +# Yasen Pramatarov , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_djvu\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-09-05 21:02+0300\n" +"Last-Translator: Yasen Pramatarov \n" +"Language-Team: Bulgarian \n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Красимир Арнаудов" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "krasi.arnaudov@gmail.com" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "Редактор" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "Издател" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "Том" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "Вид на документа" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "Неизвестен" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "Компонентни файлове" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "Неизвестен" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "Една страница" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "Няколко страници" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "Индиректен" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "Няколко страници (стар)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "Индексиран (стар)" diff --git a/po/bg/okular_dvi.po b/po/bg/okular_dvi.po new file mode 100644 index 0000000..b7d6b23 --- /dev/null +++ b/po/bg/okular_dvi.po @@ -0,0 +1,554 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Zlatko Popov , 2007. +# Yasen Pramatarov , 2009. +# SPDX-FileCopyrightText: 2022, 2024, 2025 Mincho Kondarev +msgid "" +msgstr "" +"Project-Id-Version: okular_dvi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-28 18:32+0200\n" +"Last-Translator: Mincho Kondarev \n" +"Language-Team: Bulgarian \n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 25.07.70\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Ясен Праматаров,Златко Попов" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "yasen@lindeas.com,zlatkopopov@fsa-bg.org" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

" +msgstr "" +"

Okular не можа да намери програмата dvipdfm на вашия " +"компютър. Тази програма е от съществено значение за работата на функцията за " +"експортиране. Можете обаче да конвертирате DVI-файла в PDF с помощта на " +"функция за печат на Okular, но това често води до документи, които се " +"отпечатват добре, но са с по-ниско качество, ако се гледат в Acrobat Reader. " +"Може да е разумно да надстроите до по-нова версия на вашата TeX дистрибуция, " +"която включва dvipdfm program.

Съвет за недоумения " +"системен администратор: Okular използва променливата на средата PATH, когато " +"търси програми.

" + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Външната програма \"dvipdfm\", използвана за експортиране на файла, " +"върна грешка. За по-подробно описание на грешката можете да погледнете " +"диалоговия прозорец с информация на документа, който се " +"намира в менюто \"Файл\"." + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" +"Този DVI файл се отнася до външни графични файлове, които не са във " +"формат PostScript и не могат да бъдат обработвани от програмата dvips , която Okular използва вътрешно за отпечатване или експортиране в " +"PostScript. Функционалността, която използвате следователно не е налице в " +"тази версия на Okular." + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

" +msgstr "" +"

Okular не можа да намери програмата dvips на вашия " +"компютър. Тази програма е от съществено значение за работата на функцията за " +"експортиране.

Съвет за недоумения системен администратор: Okular " +"използва променливата на средата PATH, когато търси програми.

" + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Външната програма 'dvips', използвана за експортиране на файла, върна " +"грешка. Можете да погледнете диалоговия прозорец информация " +"на документа, който се намира в менюто Файл за по-подробно описание на " +"грешката." + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "DVI файлът не започва с преамбюл." + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" +"DVI файлът съдържа грешната версия за DVI резултата за тази програма. " +"Подсказка: ако използвате система за въвеждане Omega, трябва да използвате " +"специална програма като oxdvi." + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "DVI файлът е повреден. Okular не намери постамбюл." + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "Постамбюлът не започва с командата POST." + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "Постамбюлът съдържа команда различна от FNTDEF." + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "Страницата %1 не започва с BOP команда." + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

PATH: %2

" +msgstr "" +"

Външната програма pdf2ps не може да бъде " +"стартирана. В резултат PDF файлът %1 не може да бъде преобразуван в " +"PostScript. Следователно някои графични елементи във вашия документ няма да " +"бъдат показва се.

Възможна причина: Програмата " +"pdf2ps може да не е инсталирана на вашата система или да не бъде " +"намерена в текущата пътека за търсене.

>

Какво можете да направите: " +" Програмата pdf2ps обикновено се съдържа в " +"дистрибуциите на системата за тълкуване на ghostscript PostScript. Ако " +"ghostscript не е инсталиран на вашата система, можете да инсталирате го " +"сега. Ако сте сигурни, че ghostscript е инсталиран, опитайте да използвате " +" pdf2ps от командния ред, за да проверите дали наистина " +"работи.

PATH: %2

" + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

%2

" +msgstr "" +"

PDF-файлът %1 не може да бъде конвертиран в PostScript. Някои " +"графични елементи в документа няма да бъдат показани.

Възможна " +"причина: Файлът %1 може да е повреден или може да не е PDF-файл. Това е " +"изхода от програмата pdf2ps която Okular използва:

%2

" + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "Повреда на файлове. %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "" +"Не всички PostScript файлове могат да бъдат вградени във вашия документ. %1" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "Всички външни PostScript файлове са вградени във вашия документ." + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "Посоченият файл „%1“ не съществува." + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" +"Поискахте Okular да намери мястото във DVI файла, което съответства на ред " +"%1 в TeX-файла %2. Изглежда обаче, че DVI файлът не съдържа необходимата " +"информация за изходния файл." + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" +"Okular не можа да намери мястото във DVI файла, което съответства на ред %1 " +"в TeX-файла %2." + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "DVI кодът зададе знак от непознат шрифт." + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "DVI кодът отпраща към шрифт #%1, който предварително не е дефиниран." + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "Стекът не бе празен когато се получи команда ЕОР." + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "Стекът не бе празен когато се получи команда РОР." + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "DVI кодът отпраща към шрифт, който предварително не е дефиниран." + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "Получена е неправилна команда." + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "Възникна непозната грешка op-code %1." + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "Вграждане на %1" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
" +msgstr "" +"Страница %1: PDF файлът %2 не може да бъде конвертиран в " +"PostScript.
" + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
" +msgstr "Страница %1: PostScript файлът %2 не е открит.
" + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "Данните за размера „%1“ не могат да бъдат обработени." + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

PATH: %1

%2

" +msgstr "" +"

Okular не успя да намери всички файлове с шрифтове, които са " +"необходими за показване на текущия DVI файл. Документът ви може да е нечетим." +"

PATH: %1

%2

" + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

PATH: %1

%2

" +msgstr "" +"

Имаше проблеми при изпълнението на kpsewhich . В резултат " +"на това някои шрифтови файлове не можаха да бъдат намерени и вашият документ " +"може да е нечетим.
Възможна причина: kpsewhich програмата " +"може би не е инсталирана на вашата система или не може да бъде намерена в " +"текущата пътека за търсене.

PATH: %1

%2

" + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" +"Генерирането на шрифта от kpsewhich бе прекъснато (изходен " +"код %1, грешка %2). В резултат на това някои шрифтови файлове не можаха да " +"бъдат намерени и документът ви може да бъде нечетим." + +#: fontpool.cpp:482 +#, kde-format +msgid "Currently generating %1 at %2 dpi…" +msgstr "В момента се генерира %1 при %2 dpi…" + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "Генератор/Дата" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "Файлът с шрифтовете не е открит" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "%1 × %2" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "%1 × %2 mm" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "%1 × %2 in" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "портрет" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "пейзаж" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" +"Версията на Ghostview, която е инсталирана на този компютър, не съдържа нито " +"един от драйверите на устройства Ghostview, които са известни на Okular. " +"Следователно поддръжката на PostScript е изключена в Okular." + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "" +"Това са 25 грешки. Последващи съобщения за грешка няма да бъдат показани." + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" +"Грешка в DVI файла „%1“, страница %2. Color pop команадта е използвана " +"когато стека с цветове е празен." + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" +"Грешен параметър в epsf командата.\n" +"Очаква се число с плаваща запетая да следва %1 в %2" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"Файлът не е открит: \n" +" %1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" +"Грешка в DVI файла „%1“, страница %2. Грешка при интерпретиране ъгъла при " +"въртене на текст." + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "Специалната команда „%1“ не е имплементирана." + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "Файла с шрифтове %1 може да бъде отворен, но формата не се поддържа." + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "" +"Файлът с шрифтове %1 е повреден, или не може да бъде отворен или прочетен." + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" +"FreeType докладва грешка при задаване размера на знак за файл с шрифтове %1." + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "FreeType не може да зареди glyph #%1 от файл с шрифтове %2." + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "FreeType не може да представи glyph #%1 от файл с шрифтове %2." + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "Glyph #%1 е празен." + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "Glyph #%1 от файл с шрифтове %2 е празен." + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "FreeType не може да зареди метрика за glyph #%1 от файл с шрифтове %2." + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "Грешка при отваряне на файл с шрифтове %1." + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "TexFont_PK::operator[]: Знак %1 не е дефиниран в шрифт %2" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "Неочакван %1 в PK файл %2" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "Знакът %1 е прекалено голям във файла %2" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "Грешен брой записани битове: знак. %1, шрифт %2" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "Грешен pk файл (%1), твърде много битове" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "Шрифтът има неквадратно съотношение на размера " + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "Не е открит шрифт %1, файл %2." + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "Грешна контролна сума за файл с шрифтове %1" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "Не е разпознат форматът за файл с шрифтове %1" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"Критична грешка.\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" +"\n" +"\n" +"Това вероятно означава, че или сте открили програмна грешка в Okular,\n" +"или DVI файлът, или помощните файлове (като файловете с шрифтове, \n" +"или виртуалните файловете с шрифтове) са наистина повредени.\n" +"Okular ще прекъсне след това съобщение. Ако смятате, че сте открили\n" +"програмна грешка, или че Okular би трябвало да се справи по-добре в тази " +"ситуация, \n" +"моля докладвайте проблема." + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "Грешен команден байт открит в VF макро списък: %1" diff --git a/po/bg/okular_epub.po b/po/bg/okular_epub.po new file mode 100644 index 0000000..1591b24 --- /dev/null +++ b/po/bg/okular_epub.po @@ -0,0 +1,43 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Yasen Pramatarov , 2009, 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_epub\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-07-23 10:01+0300\n" +"Last-Translator: Yasen Pramatarov \n" +"Language-Team: Bulgarian \n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Ясен Праматаров" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "yasen@lindeas.com" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "Грешка при отваряне на документа на EPub." + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "EPub" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "Настройки на ядро EPub" diff --git a/po/bg/okular_fax.po b/po/bg/okular_fax.po new file mode 100644 index 0000000..5085732 --- /dev/null +++ b/po/bg/okular_fax.po @@ -0,0 +1,33 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Yasen Pramatarov , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_fax\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-09-05 20:54+0300\n" +"Last-Translator: Yasen Pramatarov \n" +"Language-Team: Bulgarian \n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Ясен Праматаров" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "yasen@lindeas.com" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "Грешка при зареждане на документа" diff --git a/po/bg/okular_fictionbook.po b/po/bg/okular_fictionbook.po new file mode 100644 index 0000000..878c7cc --- /dev/null +++ b/po/bg/okular_fictionbook.po @@ -0,0 +1,69 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Zlatko Popov , 2007. +# Yasen Pramatarov , 2009, 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_fictionbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-07-23 09:56+0300\n" +"Last-Translator: Yasen Pramatarov \n" +"Language-Team: Bulgarian \n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Ясен Праматаров,Златко Попов" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "yasen@lindeas.com,zlatkopopov@fsa-bg.org" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "Документът не е валиден FictionBook" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "Грешка при отваряне на документ: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "Документът не е валиден ZIP архив" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "Невалидна структура на документа (липсва главната директория)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "Не е открито съдържание в документа" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "Невалиден XML документ: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "FictionBook" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "Настройки на ядро FictionBook" diff --git a/po/bg/okular_ghostview.po b/po/bg/okular_ghostview.po new file mode 100644 index 0000000..5476d01 --- /dev/null +++ b/po/bg/okular_ghostview.po @@ -0,0 +1,77 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Zlatko Popov , 2007. +# Yasen Pramatarov , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_ghostview\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-09-05 20:42+0300\n" +"Last-Translator: Yasen Pramatarov \n" +"Language-Team: Bulgarian \n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Ясен Праматаров,Златко Попов" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "yasen@lindeas.com,zlatkopopov@fsa-bg.org" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "Използване шрифтовете на ОС" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"Определя дали Ghostscript да използва шрифтовете на операционната система " +"или да се ограничи до вградените в документа шрифтове." + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "Общи настройки" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "&Използване шрифтовете на ОС" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Настройване ядрото на Ghostscript" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "Версия на документа" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "Ниво на езика" diff --git a/po/bg/okular_kimgio.po b/po/bg/okular_kimgio.po new file mode 100644 index 0000000..29721eb --- /dev/null +++ b/po/bg/okular_kimgio.po @@ -0,0 +1,44 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Zlatko Popov , 2007. +# Yasen Pramatarov , 2009, 2010. +# Mincho Kondarev , 2022. +msgid "" +msgstr "" +"Project-Id-Version: okular_kimgio\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2022-05-21 22:26+0200\n" +"Last-Translator: Mincho Kondarev \n" +"Language-Team: Bulgarian \n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 22.04.0\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Ясен Праматаров" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "yasen@lindeas.com" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "Грешка при зареждане на документа: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" +"Този ​​документ изглежда неправилно оформен. Ето най-доброто приближение на " +"предвидения вид на документа." diff --git a/po/bg/okular_markdown.po b/po/bg/okular_markdown.po new file mode 100644 index 0000000..be6eb80 --- /dev/null +++ b/po/bg/okular_markdown.po @@ -0,0 +1,53 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Mincho Kondarev , 2022. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2022-02-20 15:05+0100\n" +"Last-Translator: Mincho Kondarev \n" +"Language-Team: Bulgarian \n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 21.12.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Ясен Праматаров" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "yasen@lindeas.com" + +#: converter.cpp:59 converter.cpp:93 +#, kde-format +msgid "Failed to open the document" +msgstr "Неуспешно отваряне на документа" + +#: converter.cpp:106 converter.cpp:124 +#, kde-format +msgid "Failed to compile the Markdown document." +msgstr "Неуспех при компилиране на Markdown документ." + +#: generator_md.cpp:58 +#, kde-format +msgid "Enable SmartyPants formatting" +msgstr "Активиране на форматирането на SmartyPants" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown" +msgstr "Markdown" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown Backend Configuration" +msgstr "Конфигурация на бекенд на Markdown" diff --git a/po/bg/okular_mobi.po b/po/bg/okular_mobi.po new file mode 100644 index 0000000..0ffef71 --- /dev/null +++ b/po/bg/okular_mobi.po @@ -0,0 +1,51 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Yasen Pramatarov , 2009, 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_mobi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-07-23 09:59+0300\n" +"Last-Translator: Yasen Pramatarov \n" +"Language-Team: Bulgarian \n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Ясен Праматаров" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "yasen@lindeas.com" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Грешка при отваряне на документа на Mobipocket." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "" +"Тази книга е защитена с технология DRM и може да се показва само на " +"предназначено за целта устройство." + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "Mobipocket" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "Настройки на ядро Mobipocket" diff --git a/po/bg/okular_poppler.po b/po/bg/okular_poppler.po new file mode 100644 index 0000000..407d2ab --- /dev/null +++ b/po/bg/okular_poppler.po @@ -0,0 +1,391 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Zlatko Popov , 2007. +# Yasen Pramatarov , 2009, 2010, 2012, 2013. +# SPDX-FileCopyrightText: 2022, 2023, 2025 Mincho Kondarev +msgid "" +msgstr "" +"Project-Id-Version: okular_poppler\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-11 23:34+0200\n" +"Last-Translator: Mincho Kondarev \n" +"Language-Team: Bulgarian \n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 25.07.70\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Златко Попов" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "zlatkopopov@fsa-bg.org" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "Активиране на предварителния преглед за щампите:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "Никога" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "Винаги" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "Автоматично" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "Засилване на тънките линии:" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "Не" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "Плътно" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "Форма" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "Стандартен режим на мащабиране за отпечатаните страници:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "Побира се в областта за печат" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "Побиране на пълна страница" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "Няма; отпечатване в оригинален размер" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" +"Активирането на тази опция ще позволи на Okular да се свържи със сървъри за " +"OCSP на трети страни за проверка дали сертификатите, използвани за дигитален " +"подпис се били отменени след тяхното създаване." + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "Проверка за отменяне на дигитални подписи чрез сървъри на трети страни" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "Подпис на бекенд:" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" +"Тези подписи могат да бъдат потвърдени само от потребители на Okular с " +"активиран бекенд на GnuPG" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "Разрешаване на PGP ключове за подписи (разширение на Okular)" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "База данни на сертификати" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "По подразбиране:" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "Персонализиран:" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "Налични сертификати" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "&Зареждане на подписи" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "Настройки на PDF" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "Отпечатване на бележките" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "Включване на бележките в отпечатвания документ" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"Включва на бележките в отпечатвания документ. Ако искате да отпечатате " +"оригиналния документ без бележките, изключете това." + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "Принудителна растеризация" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "Растеризация в изображение преди печат" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"Принудителна растеризация на всяка страница в изображение преди " +"отпечатването и. Това обикновено дава по-лоши резултати, но е полезно при " +"отпечатване на документи, които излизат неправилно." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "Режим на мащабиране за отпечатаните страници" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "Мащабен режим:" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF v. %1.%2" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "Формат" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "Шифрован" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "Нешифрован" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "Сигурност" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "Да" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "Оптимизиран" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Подписан от: %1\n" +"\n" +"Дата: %2" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "Използване на Poppler %1" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" +"Използване на %1\n" +"\n" +"Изграден на базата на Poppler %2" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "Настройки на ядро PDF" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "Неуспешно записване на временен файл" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "Неуспешно преименуването на временен файл" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" +"Открити са грешки в документа. Okular няма да може да покаже съдържанието на " +"документа коректно" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" +"Тези подписи работят само между съвременните версии на Okular с активиран " +"бекенд, базиран на GnuPG" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "Активиране на PGP подписи" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "Издаден за" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "Електронна поща" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "Дата на изтичане" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" +"Използвате библиотека на Poppler изградена без поддръжка на NSS.\n" +"Поради тази причина добавянето на дигитални подписи не е възможно" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "винаги" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "Необходимо е рестартиране" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "" +"Трябва да рестартирате Okular след промяна на настройките на папката на NSS" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter Password" +msgstr "Въведете парола" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "Въведете паролата за отваряне на %1:" diff --git a/po/bg/okular_tiff.po b/po/bg/okular_tiff.po new file mode 100644 index 0000000..9702cf5 --- /dev/null +++ b/po/bg/okular_tiff.po @@ -0,0 +1,28 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2022-01-02 14:17+0100\n" +"Last-Translator: mkkDr2010 \n" +"Language-Team: Bulgarian \n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Ясен Праматаров" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "yasen@lindeas.com" diff --git a/po/bg/okular_txt.po b/po/bg/okular_txt.po new file mode 100644 index 0000000..d62b4cd --- /dev/null +++ b/po/bg/okular_txt.po @@ -0,0 +1,38 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Yasen Pramatarov , 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-07-23 10:25+0300\n" +"Last-Translator: Yasen Pramatarov \n" +"Language-Team: Bulgarian \n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 1.5\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Ясен Праматаров" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "yasen@lindeas.com" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "Txt" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "Настройки на ядро Txt" diff --git a/po/bg/okular_xps.po b/po/bg/okular_xps.po new file mode 100644 index 0000000..1ac6695 --- /dev/null +++ b/po/bg/okular_xps.po @@ -0,0 +1,34 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Zlatko Popov , 2007. +# Yasen Pramatarov , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_xps\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-09-03 18:18+0300\n" +"Last-Translator: Yasen Pramatarov \n" +"Language-Team: Bulgarian \n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Златко Попов" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "zlatkopopov@fsa-bg.org" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "Ревизия" diff --git a/po/bg/org.kde.active.documentviewer.po b/po/bg/org.kde.active.documentviewer.po new file mode 100644 index 0000000..efdba29 --- /dev/null +++ b/po/bg/org.kde.active.documentviewer.po @@ -0,0 +1,206 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Yasen Pramatarov , 2013. +# SPDX-FileCopyrightText: 2022, 2024, 2025 Mincho Kondarev +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-29 21:45+0200\n" +"Last-Translator: Mincho Kondarev \n" +"Language-Team: Bulgarian \n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 25.07.70\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "Отметки" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "Разглеждане на сертификати" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "Издаден от" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "Общо име:" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "Е-поща:" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "Организация:" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "Издаден на" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "Валидност" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "Издаден на:" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "Изтича:" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "Отпечатъци" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "SHA-1 Fingerprint:" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "SHA-256 Fingerprint:" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +msgid "Export…" +msgstr "Експортиране..." + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "&Затваряне" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "Сертификатен файл (* .cer)" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "Грешка" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "Сертификатът не можа да се експортира." + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "Okular" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "Отваряне…" + +#: ui/Main.qml:49 +msgid "About" +msgstr "За програмата" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "Необходима е парола" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "Премахване на отметка" + +#: ui/MainView.qml:29 +msgid "Bookmark this page" +msgstr "Отбелязване на страницата" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "Миниатюри" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "Съдържание" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "Подпис" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "Свойства на подписа" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "Състояние на валидност" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "Валидност на подписите:" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "Модификации на документа:" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "Допълнителна информация" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "Подписано от:" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "Време за подписване:" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "Причина:" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "Адрес:" + +#: ui/SignaturePropertiesPage.qml:96 +msgid "Document Version" +msgstr "Версия на документа" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Ревизия на документ %1 от %2" + +#: ui/SignaturePropertiesPage.qml:108 +msgid "Save Signed Version…" +msgstr "Запазване на подписаната версия..." + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +msgid "View Certificate…" +msgstr "Преглед на сертификата..." + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "Подписът не можа да бъде запазен." + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "Не е наличен" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "Не са открити резултати." + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "Няма документ за отваряне" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "Скорошни документи" + +#: ui/WelcomeView.qml:108 +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "Моите документи" diff --git a/po/br/okular.po b/po/br/okular.po new file mode 100644 index 0000000..fe941a9 --- /dev/null +++ b/po/br/okular.po @@ -0,0 +1,6664 @@ +# KDE breton translation +# Thierry Vignaud , 2004-2005 +msgid "" +msgstr "" +"Project-Id-Version: kdegraphics/kpdf.pot\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2005-01-14 16:13+0100\n" +"Last-Translator: Thierry Vignaud \n" +"Language-Team: br \n" +"Language: br\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Thierry Vignaud, Jañ-Mai Drapier" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "tvignaud@mandriva.com, jdrapier@club-internet.fr" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "Ratreer diaraok" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "" + +#: aboutdata.h:36 +#, fuzzy, kde-format +msgid "Annotations artwork" +msgstr "&Perzhioù" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "" + +#: aboutdata.h:37 +#, fuzzy, kde-format +msgid "Table selection tool" +msgstr "&Dibab un ostilh" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "" + +#: aboutdata.h:38 +#, fuzzy, kde-format +msgid "Annotation improvements" +msgstr "&Perzhioù" + +#: core/action.cpp:137 +#, fuzzy, kde-format +msgid "Go to page %1" +msgstr "Mont d'ar bajenn" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "Digeriñ ur restr diavaez" + +#: core/action.cpp:197 +#, kde-format +msgid "Execute '%1'…" +msgstr "" + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "Pajenn kentañ" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "Pajenn diaraok" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "Pajenn da heul" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "Pajenn diwezhañ" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "War-gil" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "War-raok" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Kuitaat" + +#: core/action.cpp:308 +#, fuzzy, kde-format +msgid "Start Presentation" +msgstr "Emginnig" + +#: core/action.cpp:310 +#, fuzzy, kde-format +msgid "End Presentation" +msgstr "Emginnig" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go To Page…" +msgstr "Mont d'ar bajenn" + +#: core/action.cpp:365 +#, kde-format +msgid "Play sound…" +msgstr "" + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "" + +#: core/action.cpp:483 +#, fuzzy, kde-format +msgid "Play movie…" +msgstr "Pajennoù" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "" + +#: core/action.cpp:558 +#, fuzzy, kde-format +msgid "Pause movie" +msgstr "Pajennoù" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
%1 (%2).

Please select which one to use:
" +msgstr "" + +#: core/document.cpp:200 +#, fuzzy, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "Mont d'ar bajenn" + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "" + +#: core/document.cpp:246 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "" + +#: core/document.cpp:248 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "" + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "Emginnig" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "" + +#: core/document.cpp:4801 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not open a temporary file" +msgstr "N'hellan ket digeriñ %1" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "" + +#: core/document.cpp:4813 +#, fuzzy, kde-format +msgid "Unable to find file to print" +msgstr "Ne m'eus ket gallet kavout ar berzh kpdf." + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "" + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Titl" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Dodenn" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Deskrivadur" + +#: core/document.cpp:6011 +#, fuzzy, kde-format +#| msgid "&Author:" +msgid "Author" +msgstr "&Oberour :" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Krouer" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Krouer" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "" + +#: core/document.cpp:6023 +#, fuzzy, kde-format +#| msgid "Pages:" +msgid "Pages" +msgstr "Pajennoù :" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Krouet" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Kemmet" + +#: core/document.cpp:6032 +#, fuzzy, kde-format +#| msgid "Type" +msgid "MIME Type" +msgstr "Seurt" + +#: core/document.cpp:6035 +#, fuzzy, kde-format +#| msgid "Creator" +msgid "Category" +msgstr "Krouer" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Gerioù alc'hwez" + +#: core/document.cpp:6041 +#, fuzzy, kde-format +#| msgid "File" +msgid "File Path" +msgstr "Restr" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "Ment ar restr" + +#: core/document.cpp:6047 +#, fuzzy, kde-format +msgid "Page Size" +msgstr "Pajennoù" + +#: core/documentcommands.cpp:62 +#, fuzzy, kde-format +#| msgid "Annotation" +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "Notennañ" + +#: core/documentcommands.cpp:108 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "Emginnig" + +#: core/documentcommands.cpp:155 +#, fuzzy, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "&Perzhioù" + +#: core/documentcommands.cpp:190 +#, fuzzy, kde-format +#| msgid "Annotation" +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "Notennañ" + +#: core/documentcommands.cpp:263 +#, fuzzy, kde-format +#| msgid "Annotation" +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "Notennañ" + +#: core/documentcommands.cpp:333 +#, fuzzy, kde-format +#| msgid "Select text." +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "Diuzit an destenn." + +#: core/documentcommands.cpp:398 +#, fuzzy, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "&Perzhioù" + +#: core/documentcommands.cpp:447 +#, fuzzy, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "&Perzhioù" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "" + +#: core/generator.cpp:790 +#, fuzzy, kde-format +#| msgid "Fit &Text" +msgid "Plain &Text…" +msgstr "Lakaat ar &skrid a-zoare" + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, fuzzy, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "Ratreer red" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "" + +#: core/printoptionswidget.cpp:19 +#, fuzzy, kde-format +#| msgid "Filter Options" +msgid "Print Options" +msgstr "Dibarzhoù ar sil" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#: core/printoptionswidget.cpp:25 +#, fuzzy, kde-format +#| msgid "&Color:" +msgid "Scale mode:" +msgstr "&Liv :" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "" + +#: core/signatureutils.cpp:504 +#, fuzzy, kde-kuit-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" +"Bez' ez eus un restr gant an anv « %1 » endeo. Ha fellout a ra deoc'h e " +"rasklañ ?" + +#: core/signatureutils.cpp:506 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown signing error" +msgstr "Restr dianav" + +#: core/sourcereference.cpp:103 +#, fuzzy, kde-format +#| msgid "Single" +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Unanel" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "" + +#: gui/certificatemodel.cpp:39 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Version" +msgstr "Teul da zigeriñ" + +#: gui/certificatemodel.cpp:41 +#, fuzzy, kde-format +msgid "Serial Number" +msgstr "Pajennoù" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, fuzzy, kde-format +#| msgid "Expired" +msgid "Expires On" +msgstr "Kabac'het" + +#: gui/certificatemodel.cpp:49 +#, fuzzy, kde-format +#| msgid "Subject" +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Dodenn" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "" + +#: gui/certificatemodel.cpp:53 +#, fuzzy, kde-format +#| msgid "Memory Usage" +msgid "Key Usage" +msgstr "Penaos vez implijet ar vemor" + +#: gui/certificatemodel.cpp:72 +#, fuzzy, kde-format +#| msgid "%1:" +msgid "V%1" +msgstr "%1 :" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "" + +#: gui/certificatemodel.cpp:146 +#, fuzzy, kde-format +#| msgid "&Properties" +msgid "Property" +msgstr "&Perzhioù" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, fuzzy, kde-format +#| msgid "Overwrite" +msgid "Typewriter" +msgstr "Rasklañ" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +msgid "Arrow with Comment" +msgstr "&Perzhioù" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "" + +#: gui/guiutils.cpp:59 +#, fuzzy, kde-format +#| msgid "Line Properties" +msgid "Straight Line with Comment" +msgstr "Perzhioù al linenn" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "" + +#: gui/guiutils.cpp:63 +#, fuzzy, kde-format +msgid "Polygon with Comment" +msgstr "&Perzhioù" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgid "Select text." +msgid "Rectangle with Comment" +msgstr "Diuzit an destenn." + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "Hirgarrezenn" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgid "Underline" +msgid "Ellipse with Comment" +msgstr "Islinañ" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "Elipsenn" + +#: gui/guiutils.cpp:83 +#, fuzzy, kde-format +#| msgid "Highlight" +msgid "Highlight with Comment" +msgstr "Splannadur" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "Splannadur" + +#: gui/guiutils.cpp:87 +#, fuzzy, kde-format +#| msgid "Select text." +msgid "Squiggle with Comment" +msgstr "Diuzit an destenn." + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "" + +#: gui/guiutils.cpp:91 +#, fuzzy, kde-format +#| msgid "Underline" +msgid "Underline with Comment" +msgstr "Islinañ" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "Islinañ" + +#: gui/guiutils.cpp:95 +#, fuzzy, kde-format +#| msgid "Select text." +msgid "Strike Out with Comment" +msgstr "Diuzit an destenn." + +#: gui/guiutils.cpp:95 +#, fuzzy, kde-format +#| msgid "Select text." +msgid "Strike Out" +msgstr "Diuzit an destenn." + +#: gui/guiutils.cpp:102 +#, fuzzy, kde-format +#| msgid "Select text." +msgid "Stamp with Comment" +msgstr "Diuzit an destenn." + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "" + +#: gui/guiutils.cpp:106 +#, fuzzy, kde-format +#| msgid "Line Properties" +msgid "Freehand Line with Comment" +msgstr "Perzhioù al linenn" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "" + +#: gui/guiutils.cpp:110 +#, fuzzy, kde-format +#| msgid "Creator" +msgid "Caret" +msgstr "Krouer" + +#: gui/guiutils.cpp:114 +#, fuzzy, kde-format +msgid "File Attachment" +msgstr "&Perzhioù" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "" + +#: gui/guiutils.cpp:122 +#, fuzzy, kde-format +#| msgid "Modified" +msgid "Movie" +msgstr "Kemmet" + +#: gui/guiutils.cpp:126 +#, fuzzy, kde-format +#| msgid "Created:" +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Krouet :" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Annotation" +msgid "Annotation" +msgstr "Notennañ" + +#: gui/guiutils.cpp:168 +#, fuzzy, kde-format +#| msgid "Unknown" +msgctxt "Unknown author" +msgid "Unknown" +msgstr "Dianav" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Oberour : %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "" + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "" + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "" + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "" + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "" + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "" + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "" + +#: gui/signatureguiutils.cpp:60 +#, fuzzy, kde-format +msgid "Certificate is Trusted." +msgstr "Kefluniañ KPDF ..." + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "" + +#: gui/signatureguiutils.cpp:64 +#, fuzzy, kde-format +msgid "Certificate issuer is unknown." +msgstr "Kefluniañ KPDF ..." + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "" + +#: gui/signatureguiutils.cpp:68 +#, fuzzy, kde-format +msgid "Certificate has Expired." +msgstr "Kefluniañ KPDF ..." + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "" + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "" + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "" + +#: gui/signatureguiutils.cpp:96 +#, fuzzy, kde-format +#| msgid "Unknown Date" +msgid "Unknown Algorithm" +msgstr "Deiziad dianav" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown Type" +msgstr "Restr dianav" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "" + +#: gui/signatureguiutils.cpp:126 +#, fuzzy, kde-format +#| msgid "Encrypted" +msgid "Encrypt Keys" +msgstr "Enrineget" + +#: gui/signatureguiutils.cpp:129 +#, fuzzy, kde-format +#| msgid "Unencrypted" +msgid "Decrypt Keys" +msgstr "N'eo ket enrineget" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "" + +#: gui/signatureguiutils.cpp:135 +#, fuzzy, kde-format +msgid "Sign Certificate" +msgstr "Kefluniañ KPDF ..." + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "" + +#: gui/signatureguiutils.cpp:141 +#, fuzzy, kde-format +#| msgid "Encrypted" +msgid "Encrypt Only" +msgstr "Enrineget" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr "" + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "" + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "" + +#: gui/signatureguiutils.cpp:208 +#, kde-format +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "" + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "" + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "" + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" + +#: gui/signaturemodel.cpp:141 +#, fuzzy, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "&Perzhioù" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "" + +#: gui/signaturemodel.cpp:172 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgid "Reason: %1" +msgstr "Pajennoù : %1" + +#: gui/signaturemodel.cpp:177 +#, fuzzy, kde-format +#| msgid "Annotation" +msgid "Location: %1" +msgstr "Notennañ" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "" + +#: gui/signaturemodel.cpp:193 +#, fuzzy, kde-format +#| msgid "Unknown" +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "Dianav" + +#: gui/signaturemodel.cpp:195 +#, fuzzy, kde-format +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "&Perzhioù" + +#: gui/signaturemodel.cpp:201 +#, fuzzy, kde-format +msgid "Signature Type: %1" +msgstr "&Perzhioù" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "" + +#: part/annotationactionhandler.cpp:151 +#, fuzzy, kde-format +#| msgid "Created:" +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "Krouet :" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "Lakaat al ledander a-zoare" + +#: part/annotationactionhandler.cpp:252 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1 :" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:308 +#, fuzzy, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "&Perzhioù" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "" + +#: part/annotationactionhandler.cpp:314 +#, fuzzy, kde-format +#| msgid "Annotation" +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Notennañ" + +#: part/annotationactionhandler.cpp:316 +#, fuzzy, kde-format +#| msgid "Annotation" +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "Notennañ" + +#: part/annotationactionhandler.cpp:318 +#, fuzzy, kde-format +#| msgid "Annotation" +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Notennañ" + +#: part/annotationactionhandler.cpp:322 +#, fuzzy, kde-format +#| msgid "Annotation" +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Notennañ" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "" + +#: part/annotationactionhandler.cpp:328 +#, fuzzy, kde-format +#| msgid "Annotation" +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "Notennañ" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" + +#: part/annotationactionhandler.cpp:341 +#, fuzzy, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "&Perzhioù" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "" + +#: part/annotationactionhandler.cpp:432 +#, fuzzy, kde-format +#| msgid "&Color:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "&Liv :" + +#: part/annotationactionhandler.cpp:434 +#, fuzzy, kde-format +#| msgid "&Color:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "&Liv :" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "" + +#: part/annotationactionhandler.cpp:499 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgctxt "@title:window" +msgid "Select color" +msgstr "&Dibab un ostilh" + +#: part/annotationactionhandler.cpp:552 +#, fuzzy, kde-format +#| msgid "Annotation" +msgid "&Annotations" +msgstr "Notennañ" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "" + +#: part/annotationactionhandler.cpp:554 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Emginnig" + +#: part/annotationactionhandler.cpp:557 +#, fuzzy, kde-format +#| msgid "Highlight" +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "Splannadur" + +#: part/annotationactionhandler.cpp:558 +#, fuzzy, kde-format +#| msgid "Underline" +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "Islinañ" + +#: part/annotationactionhandler.cpp:559 +#, fuzzy, kde-format +#| msgid "Select text." +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "Diuzit an destenn." + +#: part/annotationactionhandler.cpp:560 +#, fuzzy, kde-format +#| msgid "Select text." +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "Diuzit an destenn." + +#: part/annotationactionhandler.cpp:562 +#, fuzzy, kde-format +#| msgid "Overwrite" +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Rasklañ" + +#: part/annotationactionhandler.cpp:563 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "&Perzhioù" + +#: part/annotationactionhandler.cpp:564 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "&Perzhioù" + +#: part/annotationactionhandler.cpp:565 +#, fuzzy, kde-format +#| msgid "Line Properties" +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "Perzhioù al linenn" + +#: part/annotationactionhandler.cpp:567 +#, fuzzy, kde-format +#| msgid "Line Properties" +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "Perzhioù al linenn" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "" + +#: part/annotationactionhandler.cpp:569 +#, fuzzy, kde-format +#| msgid "Rectangle" +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "Hirgarrezenn" + +#: part/annotationactionhandler.cpp:570 +#, fuzzy, kde-format +#| msgid "Ellipse" +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "Elipsenn" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "" + +#: part/annotationactionhandler.cpp:638 +#, fuzzy, kde-format +#| msgid "Annotation" +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Notennañ" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "" + +#: part/annotationactionhandler.cpp:651 +#, fuzzy, kde-format +#| msgid "Annotation" +msgid "Quick Annotation Bar" +msgstr "Notennañ" + +#: part/annotationactionhandler.cpp:665 +#, fuzzy, kde-format +#| msgid "Annotation" +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "Notennañ" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "" + +#: part/annotationactionhandler.cpp:669 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "Emginnig" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "" + +#: part/annotationactionhandler.cpp:680 +#, fuzzy, kde-format +#| msgid "Font:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "Nodrezh :" + +#: part/annotationactionhandler.cpp:681 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "&Perzhioù" + +#: part/annotationactionhandler.cpp:684 +#, fuzzy, kde-format +#| msgid "Line" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "Linenn" + +#: part/annotationactionhandler.cpp:693 +#, fuzzy, kde-format +#| msgid "&Opacity:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "&Divoullded :" + +#: part/annotationactionhandler.cpp:696 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1 :" + +#: part/annotationmodel.cpp:320 +#, fuzzy, kde-format +#| msgid "Page %1" +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "Pajenn %1" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "Pajenn %1" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Annotation" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "Notennañ" +msgstr[1] "" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Lemel ar sined" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Ouzhpennañ ur sined" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Text to Clipboard" +msgstr "Eilañ d'ar golver" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "&Distruj" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "&Perzhioù" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "Enrollañ en ur restr ..." + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "&Neuziadur" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "&Pennañ" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&Oberour :" + +#: part/annotationpropertiesdialog.cpp:69 +#, fuzzy, kde-format +#| msgid "Created" +msgid "Created:" +msgstr "Krouet" + +#: part/annotationpropertiesdialog.cpp:74 +#, fuzzy, kde-format +#| msgid "Modified" +msgid "Modified:" +msgstr "Kemmet" + +#: part/annotationpropertiesdialog.cpp:108 +#, fuzzy, kde-format +msgid "Pop-up Note Properties" +msgstr "&Perzhioù" + +#: part/annotationpropertiesdialog.cpp:111 +#, fuzzy, kde-format +msgid "Typewriter Properties" +msgstr "&Perzhioù" + +#: part/annotationpropertiesdialog.cpp:113 +#, fuzzy, kde-format +msgid "Inline Note Properties" +msgstr "&Perzhioù" + +#: part/annotationpropertiesdialog.cpp:119 +#, fuzzy, kde-format +#| msgid "Line Properties" +msgid "Straight Line Properties" +msgstr "Perzhioù al linenn" + +#: part/annotationpropertiesdialog.cpp:121 +#, fuzzy, kde-format +msgid "Polygon Properties" +msgstr "&Perzhioù" + +#: part/annotationpropertiesdialog.cpp:125 +#, fuzzy, kde-format +msgid "Geometry Properties" +msgstr "&Perzhioù" + +#: part/annotationpropertiesdialog.cpp:128 +#, fuzzy, kde-format +msgid "Text Markup Properties" +msgstr "&Perzhioù" + +#: part/annotationpropertiesdialog.cpp:131 +#, fuzzy, kde-format +msgid "Stamp Properties" +msgstr "&Perzhioù" + +#: part/annotationpropertiesdialog.cpp:134 +#, fuzzy, kde-format +#| msgid "Line Properties" +msgid "Freehand Line Properties" +msgstr "Perzhioù al linenn" + +#: part/annotationpropertiesdialog.cpp:137 +#, fuzzy, kde-format +msgid "Caret Properties" +msgstr "&Perzhioù" + +#: part/annotationpropertiesdialog.cpp:140 +#, fuzzy, kde-format +msgid "File Attachment Properties" +msgstr "&Perzhioù" + +#: part/annotationpropertiesdialog.cpp:143 +#, fuzzy, kde-format +msgid "Sound Properties" +msgstr "&Perzhioù" + +#: part/annotationpropertiesdialog.cpp:146 +#, fuzzy, kde-format +msgid "Movie Properties" +msgstr "&Perzhioù" + +#: part/annotationpropertiesdialog.cpp:149 +#, fuzzy, kde-format +msgid "Annotation Properties" +msgstr "&Perzhioù" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&Liv :" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%1 :" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "&Divoullded :" + +#: part/annotationwidgets.cpp:363 +#, fuzzy, kde-format +#| msgid "Icon" +msgid "Icon:" +msgstr "Arlun" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "Askelenn" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "Skoazell" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "Enlakaat" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "Alc'hwez" + +#: part/annotationwidgets.cpp:368 +#, fuzzy, kde-format +#| msgid "Paragraph" +msgid "New paragraph" +msgstr "Rannbennad" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "Notenn" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "Rannbennad" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Nodrezh :" + +#: part/annotationwidgets.cpp:387 +#, fuzzy, kde-format +#| msgid "&Color:" +msgid "Text &color:" +msgstr "&Liv :" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "Kuzhut" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "Broulhed" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "Kabac'het" + +#: part/annotationwidgets.cpp:421 +#, fuzzy, kde-format +msgid "Final" +msgstr "Titl" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "Sekred-tre" + +#: part/annotationwidgets.cpp:428 +#, fuzzy, kde-format +#| msgid "Bookmarks" +msgid "Bookmark" +msgstr "Sinedoù" + +#: part/annotationwidgets.cpp:429 +#, fuzzy, kde-format +#| msgid "Annotation" +msgid "Information" +msgstr "Notennañ" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgid "&Width:" +msgstr "Lakaat al ledander a-zoare" + +#: part/annotationwidgets.cpp:504 +#, fuzzy, kde-format +#| msgid "Line" +msgid "Line start:" +msgstr "Linenn" + +#: part/annotationwidgets.cpp:506 +#, fuzzy, kde-format +#| msgid "Line" +msgid "Line end:" +msgstr "Linenn" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:514 +#, fuzzy, kde-format +#| msgid "Note" +msgid "None" +msgstr "Notenn" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "" + +#: part/annotationwidgets.cpp:531 +#, fuzzy, kde-format +#| msgid "Underline" +msgid "Leader line length:" +msgstr "Islinañ" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Shape fill:" +msgstr "Enrollañ en ur restr ..." + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Rizh :" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "" + +#: part/annotationwidgets.cpp:745 +#, fuzzy, kde-format +msgid "File attachment symbol:" +msgstr "&Perzhioù" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "" + +#: part/annotationwidgets.cpp:750 +#, fuzzy, kde-format +#| msgid "Paper color:" +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "Liv ar paper :" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "" + +#: part/annotationwidgets.cpp:760 +#, fuzzy, kde-format +#| msgid "File" +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "Restr" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "" + +#: part/annotationwidgets.cpp:773 +#, fuzzy, kde-format +#| msgid "Name" +msgid "Name:" +msgstr "Anv" + +#: part/annotationwidgets.cpp:784 +#, fuzzy, kde-format +#| msgid "Description" +msgid "Description:" +msgstr "Deskrivadur" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "" + +#: part/annotationwidgets.cpp:845 +#, fuzzy, kde-format +#| msgid "Note" +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "Notenn" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "Dibarzhoù" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "" + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "" + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "" + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "" + +#: part/bookmarklist.cpp:116 +#, fuzzy, kde-format +#| msgid "Rename Bookmark" +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "Adenvel ar sid" +msgstr[1] "" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Sinedoù" + +#: part/bookmarklist.cpp:136 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Show for all documents" +msgstr "Emaon oc'h adkargañ an teul ..." + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, fuzzy, kde-format +#| msgid "Search:" +msgid "Search…" +msgstr "Klask :" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, kde-format +msgid "Expand All" +msgstr "" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, kde-format +msgid "Collapse All" +msgstr "" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "Adenvel ar sid" + +#: part/bookmarklist.cpp:299 +#, fuzzy, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Ratreer red" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "" + +#: part/certificateviewer.cpp:47 +#, fuzzy, kde-format +msgid "Certificate Viewer" +msgstr "Kefluniañ KPDF ..." + +#: part/certificateviewer.cpp:50 +#, fuzzy, kde-format +#| msgid "E&xport As" +msgid "Export…" +msgstr "E&zporzh e" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "Pennañ" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "" + +#: part/colormodemenu.cpp:19 +#, fuzzy, kde-format +#| msgid "&Color:" +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "&Liv :" + +#: part/colormodemenu.cpp:21 +#, fuzzy, kde-format +#| msgid "Change &Colors" +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "Kemmañ al &livioù ..." + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "" + +#: part/colormodemenu.cpp:41 +#, fuzzy, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "Liv ar paper :" + +#: part/colormodemenu.cpp:42 +#, fuzzy, kde-format +#| msgid "Change &paper color" +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "Kemmañ liv ar &paper" + +#: part/colormodemenu.cpp:44 +#, fuzzy, kde-format +#| msgid "Change &paper color" +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "Kemmañ liv ar &paper" + +#: part/colormodemenu.cpp:46 +#, fuzzy, kde-format +#| msgid "Convert to &black and white" +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "Amdreiñ e &du ha gwenn" + +#: part/colormodemenu.cpp:49 +#, fuzzy, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "Liv ar paper :" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, fuzzy, kde-format +#| msgid "Created:" +msgid "Green" +msgstr "Krouet :" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, fuzzy, kde-format +#| msgid "Highlight" +msgid "Yellow Highlighter" +msgstr "Splannadur" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, fuzzy, kde-format +#| msgid "Highlight" +msgid "Green Highlighter" +msgstr "Splannadur" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, fuzzy, kde-format +#| msgid "Insert" +msgid "Insert Text" +msgstr "Enlakaat" + +#: part/dlgaccessibility.cpp:38 +#, fuzzy, kde-format +#| msgid "Draw border around &Links" +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "Tresañ ur vevenn tro-dro al &liammoù" + +#: part/dlgaccessibility.cpp:48 +#, fuzzy, kde-format +#| msgid "Change &Colors" +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "Kemmañ al &livioù ..." + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "" + +#: part/dlgaccessibility.cpp:60 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "Liv ar paper :" + +#: part/dlgaccessibility.cpp:61 +#, fuzzy, kde-format +#| msgid "Change &paper color" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "Kemmañ liv ar &paper" + +#: part/dlgaccessibility.cpp:62 +#, fuzzy, kde-format +#| msgid "Change &paper color" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "Kemmañ liv ar &paper" + +#: part/dlgaccessibility.cpp:63 +#, fuzzy, kde-format +#| msgid "Convert to &black and white" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "Amdreiñ e &du ha gwenn" + +#: part/dlgaccessibility.cpp:64 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "Liv ar paper :" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "" + +#: part/dlgaccessibility.cpp:70 +#, fuzzy, kde-format +#| msgid "&Color:" +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "&Liv :" + +#: part/dlgaccessibility.cpp:87 +#, fuzzy, kde-format +#| msgid "Paper color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Liv ar paper :" + +#: part/dlgaccessibility.cpp:99 +#, fuzzy, kde-format +#| msgid "Dark color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Liv teñval :" + +#: part/dlgaccessibility.cpp:104 +#, fuzzy, kde-format +#| msgid "Light color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "Liv sklaer :" + +#: part/dlgaccessibility.cpp:119 +#, fuzzy, kde-format +#| msgid "Threshold:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "Treuzoù :" + +#: part/dlgaccessibility.cpp:127 +#, fuzzy, kde-format +#| msgid "Contrast:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Dargemm :" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "" + +#: part/dlgannotations.cpp:25 +#, fuzzy, kde-format +#| msgid "Annotation" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Notennañ" + +#: part/dlgannotations.cpp:26 +#, fuzzy, kde-format +#| msgid "Annotation" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Notennañ" + +#: part/dlgannotations.cpp:28 +#, fuzzy, kde-format +#| msgid "Annotation" +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Notennañ" + +#: part/dlgannotations.cpp:34 +#, fuzzy, kde-format +#| msgid "&Author:" +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "&Oberour :" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" + +#: part/dlgannotations.cpp:48 +#, fuzzy, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

Quick Annotation Tools

" +msgstr "&Perzhioù" + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "" + +#: part/dlgeditor.cpp:31 +#, fuzzy, kde-format +#| msgid "File" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Restr" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "" + +#: part/dlgeditor.cpp:37 +#, fuzzy, kde-format +#| msgid "&Edit" +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "&Aozañ" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
\n" +"You can also put few placeholders:\n" +"
    \n" +"
  • %f - the file name
  • \n" +"
  • %l - the line of the file to be reached
  • \n" +"
  • %c - the column of the file to be reached
  • \n" +"
\n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" + +#: part/dlgeditor.cpp:63 +#, fuzzy, kde-format +#| msgid "Comment" +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "Askelenn" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "" + +#: part/dlggeneral.cpp:37 +#, fuzzy, kde-format +#| msgid "Appearance" +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "Neuziadur" + +#: part/dlggeneral.cpp:41 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "Diskouez ar &barrennoù dibunañ" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "" + +#: part/dlggeneral.cpp:92 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "Liv an drekleur :" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "" + +#: part/dlggeneral.cpp:148 +#, fuzzy, kde-format +#| msgid "No document opened." +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "N'eus teul digeret ebet." + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, fuzzy, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "Rasklañ" + +#: part/dlggeneral.cpp:220 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%1 :" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "" + +#: part/dlggeneral.cpp:228 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%1 :" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "" + +#: part/dlggeneral.cpp:233 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "Lakaat al ledander a-zoare" + +#: part/dlggeneral.cpp:234 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "Lakaat ar bajenn a-zoare" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "" + +#: part/dlgperformance.cpp:28 +#, fuzzy, kde-format +#| msgid "&Page:" +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "&Pajenn :" + +#: part/dlgperformance.cpp:35 +#, fuzzy, kde-format +#| msgid "&Low" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "&Izel" + +#: part/dlgperformance.cpp:36 +#, fuzzy, kde-format +#| msgid "&Normal (default)" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "&Reizh (dre ziouer)" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "" + +#: part/dlgperformance.cpp:38 +#, fuzzy, kde-format +#| msgid "Created:" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "Krouet :" + +#: part/dlgperformance.cpp:40 +#, fuzzy, kde-format +#| msgid "Memory Usage" +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "Penaos vez implijet ar vemor" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "" + +#: part/dlgperformance.cpp:56 +#, fuzzy, kde-format +#| msgid "Underline" +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "Islinañ" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" + +#: part/dlgpresentation.cpp:38 +#, fuzzy, kde-format +#| msgid " sec." +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] " eil." +msgstr[1] "" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "" + +#: part/dlgpresentation.cpp:63 +#, fuzzy, kde-format +#| msgid "Navigation" +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Merdeadurezh" + +#: part/dlgpresentation.cpp:72 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "Liv an drekleur :" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "" + +#: part/dlgpresentation.cpp:77 +#, fuzzy, kde-format +#| msgid "Always Visible" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "Hewel bepred" + +#: part/dlgpresentation.cpp:78 +#, fuzzy, kde-format +#| msgid "Always Visible" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "Hewel bepred" + +#: part/dlgpresentation.cpp:80 +#, fuzzy, kde-format +#| msgid "Mouse cursor:" +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "Redi al logodenn :" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "" + +#: part/dlgpresentation.cpp:101 +#, fuzzy, kde-format +#| msgid "Replace" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "Erlec'hiañ" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "" + +#: part/dlgpresentation.cpp:105 +#, fuzzy, kde-format +#| msgid "Box In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "Boest diabarzh" + +#: part/dlgpresentation.cpp:106 +#, fuzzy, kde-format +#| msgid "Box Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "Boest diavaez" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "" + +#: part/dlgpresentation.cpp:110 +#, fuzzy, kde-format +#| msgid "Rotate Right" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "Treiñ da zehoù" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "" + +#: part/dlgpresentation.cpp:121 +#, fuzzy, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Ratreer red" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "" + +#: part/dlgpresentation.cpp:137 +#, fuzzy, kde-format +#| msgid "Rating" +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

Drawing Tools

" +msgstr "Feur" + +#: part/dlgpresentation.cpp:171 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Ratreer red" + +#: part/dlgpresentation.cpp:172 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Ratreer red" + +#: part/dlgpresentation.cpp:178 +#, fuzzy, kde-format +#| msgid "Created:" +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "Krouet :" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "" + +#: part/drawingtoolactions.cpp:192 +#, fuzzy, kde-format +#| msgid "Rating" +msgid "Drawing Tool: %1" +msgstr "Feur" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, fuzzy, kde-format +#| msgid "Name" +msgid "&Name:" +msgstr "Anv" + +#: part/editannottooldialog.cpp:69 +#, fuzzy, kde-format +#| msgid "Type:" +msgid "&Type:" +msgstr "Rizh :" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "Neuziadur" + +#: part/editannottooldialog.cpp:93 +#, fuzzy, kde-format +#| msgid "Next Bookmark" +msgid "Text markup" +msgstr "Sined a heul" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "" + +#: part/editannottooldialog.cpp:101 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Create annotation tool" +msgstr "Emginnig" + +#: part/editannottooldialog.cpp:103 +#, fuzzy, kde-format +msgid "Edit annotation tool" +msgstr "&Perzhioù" + +#: part/editdrawingtooldialog.cpp:51 +#, fuzzy, kde-format +#| msgid "&Color:" +msgid "Color:" +msgstr "&Liv :" + +#: part/editdrawingtooldialog.cpp:58 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgid "&Pen Width:" +msgstr "Lakaat al ledander a-zoare" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "" + +#: part/editdrawingtooldialog.cpp:79 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Create drawing tool" +msgstr "Emginnig" + +#: part/editdrawingtooldialog.cpp:84 +#, fuzzy, kde-format +msgid "Edit drawing tool" +msgstr "&Perzhioù" + +#: part/embeddedfilesdialog.cpp:42 +#, fuzzy, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "Dianav" + +#: part/embeddedfilesdialog.cpp:48 +#, fuzzy, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Enframmus" + +#: part/embeddedfilesdialog.cpp:62 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:button" +msgid "View" +msgstr "&Gwel" + +#: part/embeddedfilesdialog.cpp:70 +#, fuzzy, kde-format +#| msgid "Name" +msgctxt "@title:column" +msgid "Name" +msgstr "Anv" + +#: part/embeddedfilesdialog.cpp:71 +#, fuzzy, kde-format +#| msgid "Description" +msgctxt "@title:column" +msgid "Description" +msgstr "Deskrivadur" + +#: part/embeddedfilesdialog.cpp:72 +#, fuzzy, kde-format +#| msgid "Single" +msgctxt "@title:column" +msgid "Size" +msgstr "Unanel" + +#: part/embeddedfilesdialog.cpp:73 +#, fuzzy, kde-format +#| msgid "Created" +msgctxt "@title:column" +msgid "Created" +msgstr "Krouet" + +#: part/embeddedfilesdialog.cpp:74 +#, fuzzy, kde-format +#| msgid "Modified" +msgctxt "@title:column" +msgid "Modified" +msgstr "Kemmet" + +#: part/embeddedfilesdialog.cpp:154 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "Enrollañ en ur restr ..." + +#: part/embeddedfilesdialog.cpp:155 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "&Gwel" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "Serriñ" + +#: part/findbar.cpp:38 +#, fuzzy, kde-format +#| msgid "Find..." +msgctxt "Find text" +msgid "F&ind:" +msgstr "K&lask ..." + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "" + +#: part/findbar.cpp:54 +#, fuzzy, kde-format +#| msgid "Next Page" +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Pajenn da heul" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "" + +#: part/findbar.cpp:58 +#, fuzzy, kde-format +#| msgid "Previous Page" +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Pajenn diaraok" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "Evezhiek ouzh ar c'hef" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "" + +#: part/formwidgets.cpp:870 +#, fuzzy, kde-format +#| msgid "All files" +msgid "All Files (*)" +msgstr "Pep restr" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, fuzzy, kde-format +msgid "Signature Properties" +msgstr "&Perzhioù" + +#: part/ktreeviewsearchline.cpp:283 +#, fuzzy, kde-format +#| msgid "Filter Options" +msgid "Search Options" +msgstr "Dibarzhoù ar sil" + +#: part/ktreeviewsearchline.cpp:284 +#, fuzzy, kde-format +#| msgid "Case Sensitive" +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "Evezhiek ouzh ar c'hef" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "" + +#: part/minibar.cpp:190 +#, fuzzy, kde-format +#| msgid "of" +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "eus" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "Zoom" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "" + +#: part/pageview.cpp:530 +#, fuzzy, kde-format +#| msgid "Rotate Right" +msgid "Rotate &Right" +msgstr "Treiñ da zehoù" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "" + +#: part/pageview.cpp:535 +#, fuzzy, kde-format +#| msgid "Rotate Left" +msgid "Rotate &Left" +msgstr "Treiñ da gleiz" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "" + +#: part/pageview.cpp:546 +#, fuzzy, kde-format +#| msgid "&View" +msgid "&Trim View" +msgstr "&Gwel" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "" + +#: part/pageview.cpp:557 +#, fuzzy, kde-format +msgid "Trim To &Selection" +msgstr "&Dibab un ostilh" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "L&akaat al ledander a-zoare" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "L&akaat ar bajenn a-zoare" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "" + +#: part/pageview.cpp:575 +#, fuzzy, kde-format +#| msgid "Fit to &Page" +msgid "Fit Wi&ndow to Page" +msgstr "Adaozañ hervez ar &bajenn" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "Mod &gwell" + +#: part/pageview.cpp:594 +#, fuzzy, kde-format +#| msgid "Single" +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "Unanel" + +#: part/pageview.cpp:595 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "Lakaat ar bajenn a-zoare" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "" + +#: part/pageview.cpp:599 +#, fuzzy, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "Rasklañ" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "&Dibaouez" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "" + +#: part/pageview.cpp:627 +#, fuzzy, kde-format +#| msgid "&Browse Tool" +msgid "&Browse" +msgstr "Ostilh &furchal" + +#: part/pageview.cpp:635 +#, fuzzy, kde-format +#| msgid "Zoom" +msgid "&Zoom" +msgstr "Zoom" + +#: part/pageview.cpp:655 +#, fuzzy, kde-format +msgid "Area &Selection" +msgstr "&Dibab un ostilh" + +#: part/pageview.cpp:662 +#, fuzzy, kde-format +msgid "&Text Selection" +msgstr "&Dibab un ostilh" + +#: part/pageview.cpp:669 +#, fuzzy, kde-format +msgid "T&able Selection" +msgstr "&Dibab un ostilh" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "" + +#: part/pageview.cpp:685 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgctxt "@action" +msgid "Selection Tools" +msgstr "&Dibab un ostilh" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "" + +#: part/pageview.cpp:717 +#, fuzzy, kde-format +msgid "Speak Whole Document" +msgstr "Ratreer red" + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "Dibunañ uheloc'h" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Dibunañ izeloc'h" + +#: part/pageview.cpp:761 +#, fuzzy, kde-format +#| msgid "Scroll Up" +msgid "Scroll Page Up" +msgstr "Dibunañ uheloc'h" + +#: part/pageview.cpp:767 +#, fuzzy, kde-format +#| msgid "Scroll Down" +msgid "Scroll Page Down" +msgstr "Dibunañ izeloc'h" + +#: part/pageview.cpp:773 +#, fuzzy, kde-format +msgid "Show Forms" +msgstr "Diskouez ar &barrennoù dibunañ" + +#: part/pageview.cpp:1278 +#, fuzzy, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] "Emaon oc'h adkargañ an teul ..." +msgstr[1] "" + +#: part/pageview.cpp:2526 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Table Contents to Clipboard" +msgstr "Eilañ d'ar golver" + +#: part/pageview.cpp:2845 +#, fuzzy, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "Skrid (%1 arouezenneg)" +msgstr[1] "" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "Eilañ d'ar golver" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "Distagañ ar skrid" + +#: part/pageview.cpp:2863 +#, fuzzy, kde-format +#| msgid "Image (%1 by %2 pixels)" +msgid "Image (%1 × %2 pixels)" +msgstr "Skeudenn (%1 x %2 piksel)" + +#: part/pageview.cpp:2865 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save to File…" +msgstr "Enrollañ en ur restr ..." + +#: part/pageview.cpp:2885 +#, fuzzy, kde-format +msgid "Image [%1 × %2] copied to clipboard." +msgstr "Ar skeudenn [%1x%2] a oa enrollet er restr %3." + +#: part/pageview.cpp:2888 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save file" +msgstr "Enrollañ en ur restr ..." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "N'eo ket enrollet ar restr." + +#: part/pageview.cpp:2901 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] saved to %3 file." +msgid "Image [%1 × %2] saved to %3 file." +msgstr "Ar skeudenn [%1x%2] a oa enrollet er restr %3." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "E&ilañ ar skrid" + +#: part/pageview.cpp:3062 +#, fuzzy, kde-format +msgid "Go to '%1'" +msgstr "Mont d'ar bajenn" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "Lakaat al ledander a-zoare" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "Lakaat ar bajenn a-zoare" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "" + +#: part/pageview.cpp:4107 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1 :" + +#: part/pageview.cpp:4390 +#, fuzzy, kde-format +#| msgid "Searching for %1" +msgid "Search for '%1' with" +msgstr "O klask %1" + +#: part/pageview.cpp:4404 +#, fuzzy, kde-format +msgid "Configure Web Shortcuts…" +msgstr "Kefluniañ KPDF ..." + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "" + +#: part/pageview.cpp:4462 +#, fuzzy, kde-format +#| msgid "Searching for %1" +msgid "Search for '%1' in this document" +msgstr "O klask %1" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Degemer" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "" + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "" + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "" + +#: part/pageview.cpp:5158 +#, fuzzy, kde-format +#| msgid "Select text." +msgid "Select text" +msgstr "Diuzit an destenn." + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" + +#: part/pageview.cpp:5188 +#, fuzzy, kde-format +msgid "No valid certificates" +msgstr "Kefluniañ KPDF ..." + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, fuzzy, kde-format +msgid "Open Certificate Manager" +msgstr "Kefluniañ KPDF ..." + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
Launch Certificate Manager " +"to import or manage certificates
For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, fuzzy, kde-format +msgid "No certificates found" +msgstr "Kefluniañ KPDF ..." + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgid "&Author:" +msgid "Author name" +msgstr "&Oberour :" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgid "Annotation" +msgid "Author name for the annotation:" +msgstr "Notennañ" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1392 +#, fuzzy, kde-format +#| msgid "Highlight" +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "Splannadur" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "" + +#: part/pageviewannotator.cpp:1402 +#, fuzzy, kde-format +#| msgid "Rectangle" +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "Hirgarrezenn" + +#: part/pageviewannotator.cpp:1404 +#, fuzzy, kde-format +#| msgid "Select text." +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "Diuzit an destenn." + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "" + +#: part/pageviewannotator.cpp:1410 +#, fuzzy, kde-format +#| msgid "Select text." +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "Diuzit an destenn." + +#: part/pageviewannotator.cpp:1412 +#, fuzzy, kde-format +#| msgid "Underline" +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "Islinañ" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1473 +#, fuzzy, kde-format +#| msgid "Highlight" +msgid "Highlighter" +msgstr "Splannadur" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgid "Annotation" +msgid "Add favorite annotation" +msgstr "Notennañ" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgid "Annotation" +msgid "Custom annotation name:" +msgstr "Notennañ" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&Restr" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "&Kefluniadur" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "&Skoazell" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "&Reizhadur" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "&Sinedoù" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, fuzzy, kde-format +#| msgid "Main Toolbar" +msgid "Viewer Toolbar" +msgstr "Barrenn kentañ an ostilhoù" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Skeudennigoù" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, fuzzy, kde-format +#| msgid "Annotation" +msgid "Annotations" +msgstr "Notennañ" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "" + +#: part/part.cpp:662 +#, fuzzy, kde-format +#| msgid "Previous Page" +msgctxt "Previous page" +msgid "Previous" +msgstr "Pajenn diaraok" + +#: part/part.cpp:663 +#, fuzzy, kde-format +#| msgid "Previous Page" +msgid "Go back to the Previous Page" +msgstr "Pajenn diaraok" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "" + +#: part/part.cpp:674 +#, fuzzy, kde-format +#| msgid "Next Page" +msgctxt "Next page" +msgid "Next" +msgstr "Pajenn da heul" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "" + +#: part/part.cpp:687 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Beginning of the document" +msgstr "Emaon oc'h adkargañ an teul ..." + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "" + +#: part/part.cpp:692 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "End of the document" +msgstr "Emaon oc'h adkargañ an teul ..." + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "" + +#: part/part.cpp:707 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Rename the current bookmark" +msgstr "Emaon oc'h adkargañ an teul ..." + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "Sined diaraok" + +#: part/part.cpp:713 +#, fuzzy, kde-format +#| msgid "Previous Page" +msgid "Go to the previous bookmark" +msgstr "Pajenn diaraok" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "Sined a heul" + +#: part/part.cpp:719 +#, fuzzy, kde-format +#| msgid "Next Bookmark" +msgid "Go to the next bookmark" +msgstr "Sined a heul" + +#: part/part.cpp:748 +#, fuzzy, kde-format +msgid "Configure Okular…" +msgstr "Kefluniañ KPDF ..." + +#: part/part.cpp:751 +#, fuzzy, kde-format +msgid "Configure Viewer…" +msgstr "Kefluniañ KPDF ..." + +#: part/part.cpp:757 +#, fuzzy, kde-format +msgid "Configure Viewer Backends…" +msgstr "Kefluniañ KPDF ..." + +#: part/part.cpp:759 +#, fuzzy, kde-format +msgid "Configure Backends…" +msgstr "Kefluniañ KPDF ..." + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "" + +#: part/part.cpp:802 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Reload the current document from disk." +msgstr "Emaon oc'h adkargañ an teul ..." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "" + +#: part/part.cpp:813 +#, fuzzy, kde-format +msgid "Page Number" +msgstr "Pajennoù" + +#: part/part.cpp:817 +#, fuzzy, kde-format +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "Kefluniañ KPDF ..." + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "" + +#: part/part.cpp:871 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgid "Show S&idebar" +msgstr "Diskouez ar &barrennoù dibunañ" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "" + +#: part/part.cpp:886 +#, fuzzy, kde-format +#| msgid "Show &Navigation Panel" +msgid "Show &Signatures Panel" +msgstr "Diskouez ar banell &furchal" + +#: part/part.cpp:897 +#, fuzzy, kde-format +msgid "&Embedded Files" +msgstr "Enframmus" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "E&zporzh e" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "E&mginnig" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "" + +#: part/part.cpp:945 +#, kde-format +msgid "&Import PostScript as PDF…" +msgstr "" + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "" + +#: part/part.cpp:957 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Erase Drawing" +msgstr "Emginnig" + +#: part/part.cpp:962 +#, fuzzy, kde-format +msgid "Configure Annotations…" +msgstr "Kefluniañ KPDF ..." + +#: part/part.cpp:967 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Play/Pause Presentation" +msgstr "Emginnig" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" + +#: part/part.cpp:1123 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Document can't be saved" +msgstr "Teul da zigeriñ" + +#: part/part.cpp:1152 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not open '%1' (%2) " +msgstr "N'hellan ket digeriñ %1" + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "" + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "" + +#: part/part.cpp:1249 +#, fuzzy, kde-format +msgid "Configure Viewer Backends" +msgstr "Kefluniañ KPDF ..." + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "" + +#: part/part.cpp:1357 +#, kde-format +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "" + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "N'eo ket mat an tremenger. Klask adarre :" + +#: part/part.cpp:1502 +#, fuzzy, kde-format +#| msgid "Password" +msgid "Document Password" +msgstr "Tremenger" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "" + +#: part/part.cpp:1739 +#, fuzzy, kde-format +msgid "Enter Presentation Mode" +msgstr "Dibarzhoù ar mod emginnig" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "" + +#: part/part.cpp:1830 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not open %1. %2" +msgstr "N'hellan ket digeriñ %1" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "" + +#: part/part.cpp:1865 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue Reloading" +msgstr "&Dibaouez" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" + +#: part/part.cpp:1875 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue Closing" +msgstr "&Dibaouez" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "" + +#: part/part.cpp:1883 +#, fuzzy, kde-format +msgid "Close Document" +msgstr "Ratreer red" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" + +#: part/part.cpp:2113 part/part.cpp:2131 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Reloading the document…" +msgstr "Emaon oc'h adkargañ an teul ..." + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "Endalc'had" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Mont d'ar bajenn" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "&Pajenn :" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "" + +#: part/part.cpp:2506 +#, fuzzy, kde-format +#| msgid "Rename Bookmark" +msgid "Rename this Bookmark" +msgstr "Adenvel ar sid" + +#: part/part.cpp:2509 +#, fuzzy, kde-format +#| msgid "Rename Bookmark" +msgid "Remove this Bookmark" +msgstr "Adenvel ar sid" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save As" +msgstr "Enrollañ en ur restr ..." + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
Do you want to continue?" +msgstr "" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "" + +#: part/part.cpp:2726 +#, fuzzy, kde-kuit-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" +"Bez' ez eus un restr gant an anv « %1 » endeo. Ha fellout a ra deoc'h e " +"rasklañ ?" + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
Do you want to continue?" +msgstr "" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "" +"Bez' ez eus un restr gant an anv « %1 » endeo. Ha fellout a ra deoc'h e " +"rasklañ ?" + +#: part/part.cpp:2766 +#, fuzzy, kde-format +msgid "Filled form contents" +msgstr "&Perzhioù" + +#: part/part.cpp:2769 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "User annotations" +msgstr "Emginnig" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" + +#: part/part.cpp:2796 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue" +msgstr "&Dibaouez" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "" + +#: part/part.cpp:2824 +#, fuzzy, kde-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgid "File could not be saved in '%1'. %2" +msgstr "" +"Bez' ez eus un restr gant an anv « %1 » endeo. Ha fellout a ra deoc'h e " +"rasklañ ?" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" + +#: part/part.cpp:2899 +#, fuzzy, kde-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" +"Bez' ez eus un restr gant an anv « %1 » endeo. Ha fellout a ra deoc'h e " +"rasklañ ?" + +#: part/part.cpp:3158 +#, fuzzy, kde-format +msgid "Expand Whole Section" +msgstr "Emginnig" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +msgid "Collapse Whole Section" +msgstr "Emginnig" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Ostilhoù" + +#: part/part.cpp:3381 +#, fuzzy, kde-format +#| msgid "Speak Text" +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "Distagañ ar skrid" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "" + +#: part/part.cpp:3615 +#, fuzzy, kde-format +#| msgid "Could not print the document. Please report to bugs.kde.org" +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"N'em eus ket gallet moulañ an teul. Mar plij kemennit an drein kavet da bugs." +"kde.org" + +#: part/part.cpp:3617 +#, fuzzy, kde-format +#| msgid "Could not print the document. Please report to bugs.kde.org" +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"N'em eus ket gallet moulañ an teul. Mar plij kemennit an drein kavet da bugs." +"kde.org" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"Fazi ar restr ! Ne m'eus ket gallet krouiñ a restr " +"padennek %1." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" + +#: part/part.cpp:3803 +#, fuzzy, kde-format +msgid "No Bookmarks" +msgstr "Ouzhpennañ ur sined" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "&Aozañ" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "&Gwel" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&Mont" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "&Ostilhoù" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "Barrenn kentañ an ostilhoù" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, fuzzy, kde-format +#| msgid "Annotation" +msgid "Annotation Toolbar" +msgstr "Notennañ" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, fuzzy, kde-format +#| msgid "Annotation" +msgid "Quick Annotation Toolbar" +msgstr "Notennañ" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "Dibarzhoù hollek" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Haezadusted" + +#: part/preferencesdialog.cpp:42 +#, fuzzy, kde-format +#| msgid "Accessibility" +msgid "Accessibility Reading Aids" +msgstr "Haezadusted" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "" + +#: part/preferencesdialog.cpp:45 +#, fuzzy, kde-format +msgid "Configure Viewer" +msgstr "Kefluniañ KPDF ..." + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Emginnig" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "Dibarzhoù ar mod emginnig" + +#: part/preferencesdialog.cpp:50 +#, fuzzy, kde-format +msgid "Annotation Options" +msgstr "&Perzhioù" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, fuzzy, kde-format +#| msgid "&Edit" +msgid "Editor" +msgstr "&Aozañ" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, fuzzy, kde-format +#| msgid "Filter Options" +msgid "Editor Options" +msgstr "Dibarzhoù ar sil" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "Kavout a-heul" + +#: part/presentationwidget.cpp:174 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "Emginnig" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "" + +#: part/presentationwidget.cpp:233 +#, fuzzy, kde-format +#| msgid "Created:" +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "Krouet :" + +#: part/presentationwidget.cpp:240 +#, fuzzy, kde-format +msgid "Exit Presentation Mode" +msgstr "Dibarzhoù ar mod emginnig" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Titl : %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Pajennoù : %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "Klikañ evit kregiñ" + +#: part/presentationwidget.cpp:521 +#, fuzzy, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "Pajennoù" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" + +#: part/presentationwidget.cpp:1718 +#, fuzzy, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "Emginnig" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "Restr dianav" + +#: part/propertiesdialog.cpp:63 +#, fuzzy, kde-format +msgid "%1 Properties" +msgstr "&Perzhioù" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1 :" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "&Nodrezhoù" + +#: part/propertiesdialog.cpp:145 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Reading font information…" +msgstr "Emaon oc'h adkargañ an teul ..." + +#: part/propertiesdialog.cpp:158 +#, fuzzy, kde-format +#| msgid "&Page Size" +msgid "&Page Sizes" +msgstr "Ment ar bajenn" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Rizh 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Seurt 2" + +#: part/propertiesdialog.cpp:279 +#, fuzzy, kde-format +#| msgid "Type 1C" +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "Seurt 2" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Seurt 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, fuzzy, kde-format +#| msgid "TrueType" +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID seurt 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID seurt 0C" + +#: part/propertiesdialog.cpp:297 +#, fuzzy, kde-format +#| msgid "CID Type 0C" +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID seurt 0C" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, fuzzy, kde-format +#| msgid "CID TrueType" +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "" + +#: part/propertiesdialog.cpp:318 +#, fuzzy, kde-format +#| msgid "Unknown" +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "Dianav" + +#: part/propertiesdialog.cpp:331 +#, fuzzy, kde-format +msgid "Embedded (subset)" +msgstr "Enframmus" + +#: part/propertiesdialog.cpp:334 +#, fuzzy, kde-format +#| msgid "Embedded" +msgid "Fully embedded" +msgstr "Enframmus" + +#: part/propertiesdialog.cpp:344 +#, fuzzy, kde-format +#| msgid "Note" +msgid "No" +msgstr "Notenn" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "Ya" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "" + +#: part/propertiesdialog.cpp:385 +#, fuzzy, kde-format +#| msgid "Unknown Date" +msgid "Unknown font" +msgstr "Deiziad dianav" + +#: part/propertiesdialog.cpp:391 +#, fuzzy, kde-format +#| msgid "Embedded" +msgid "Embedded: %1" +msgstr "Enframmus" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "Anv" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "Seurt" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "Restr" + +#: part/propertiesdialog.cpp:498 +#, fuzzy, kde-format +#| msgid "Pages:" +msgid "Page" +msgstr "Pajennoù :" + +#: part/propertiesdialog.cpp:501 +#, fuzzy, kde-format +#| msgid "Single" +msgid "Size" +msgstr "Unanel" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "" + +#: part/revisionviewer.cpp:56 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not save file %1." +msgstr "N'hellan ket digeriñ %1" + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "" + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "Evezhiek ouzh ar c'hef" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "Dibarzhoù ar sil" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, fuzzy, kde-format +msgid "Certificates" +msgstr "Kefluniañ KPDF ..." + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, fuzzy, kde-format +msgid "Only QES certificates" +msgstr "Kefluniañ KPDF ..." + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, fuzzy, kde-format +#| msgid "Options" +msgid "optional" +msgstr "Dibarzhoù" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, fuzzy, kde-format +#| msgid "Annotation" +msgid "Location:" +msgstr "Notennañ" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, fuzzy, kde-format +#| msgid "Background color:" +msgid "Background:" +msgstr "Liv an drekleur :" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, fuzzy, kde-format +#| msgid "Background color:" +msgid "Recent backgrounds:" +msgstr "Liv an drekleur :" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

No annotations

To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
" +msgstr "" + +#: part/side_reviews.cpp:142 +#, fuzzy, kde-format +msgid "Group by Page" +msgstr "Mont d'ar bajenn" + +#: part/side_reviews.cpp:147 +#, fuzzy, kde-format +msgid "Group by Author" +msgstr "Mont d'ar bajenn" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "" + +#: part/signaturepanel.cpp:101 +#, fuzzy, kde-format +#| msgid "&Properties" +msgid "Properties" +msgstr "&Perzhioù" + +#: part/signaturepartutils.cpp:180 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Pajennoù : %1" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "" + +#: part/signaturepartutils.cpp:244 +#, fuzzy, kde-format +#| msgid "Password" +msgid "Enter document password" +msgstr "Tremenger" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:60 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Document Modifications:" +msgstr "Teul da zigeriñ" + +#: part/signaturepropertiesdialog.cpp:63 +#, fuzzy, kde-format +#| msgid "Annotation" +msgid "Additional Information" +msgstr "Notennañ" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:83 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Document Version" +msgstr "Teul da zigeriñ" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:95 +#, fuzzy, kde-format +msgid "View Certificate…" +msgstr "Kefluniañ KPDF ..." + +#: part/signaturepropertiesdialog.cpp:97 +#, fuzzy, kde-format +msgid "View in Certificate Manager" +msgstr "Kefluniañ KPDF ..." + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "" + +#: part/videowidget.cpp:146 +#, fuzzy, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Pajennoù" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, fuzzy, kde-format +#| msgid "&Edit" +msgid "&Edit…" +msgstr "&Aozañ" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "" + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "" + +#: shell/shell.cpp:207 +#, fuzzy, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "Ne m'eus ket gallet kavout ar berzh kpdf." + +#: shell/shell.cpp:250 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgid "Sidebar" +msgstr "Diskouez ar &barrennoù dibunañ" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" + +#: shell/shell.cpp:315 +#, fuzzy, kde-format +msgid "Unable to find the Okular component." +msgstr "Ne m'eus ket gallet kavout ar berzh kpdf." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" + +#: shell/shell.cpp:582 +#, fuzzy, kde-format +#| msgid "Next Page" +msgid "Next Tab" +msgstr "Pajenn da heul" + +#: shell/shell.cpp:588 +#, fuzzy, kde-format +#| msgid "Previous Page" +msgid "Previous Tab" +msgstr "Pajenn diaraok" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "" + +#: shell/shell.cpp:603 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgid "Lock Sidebar" +msgstr "Diskouez ar &barrennoù dibunañ" + +#: shell/shell.cpp:703 +#, fuzzy, kde-format +#| msgid "All files" +msgid "All files (*)" +msgstr "Pep restr" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "" + +#: shell/shell.cpp:708 +#, fuzzy, kde-format +msgid "Open Document" +msgstr "Ratreer red" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "" + +#: shell/shell.cpp:826 +#, fuzzy, kde-format +#| msgid "Close" +msgid "Close Tabs" +msgstr "Serriñ" + +#: shell/shell.cpp:833 +#, fuzzy, kde-format +#| msgid "" +#| "A file named \"%1\" already exists. Are you sure you want to overwrite it?" +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "" +"Bez' ez eus un restr gant an anv « %1 » endeo. Ha fellout a ra deoc'h e " +"rasklañ ?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "" + +#: shell/welcomescreen.cpp:64 +#, fuzzy, kde-format +#| msgid "Copy Text" +msgid "&Copy Path" +msgstr "E&ilañ ar skrid" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "" + +#: shell/welcomescreen.cpp:137 +#, fuzzy, kde-format +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "Ratreer red" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, fuzzy, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Ratreer red" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, fuzzy, kde-format +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Ratreer red" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "" + +#, fuzzy +#~ msgid "Geometry with Comment" +#~ msgstr "&Perzhioù" + +#~ msgid "Geometry" +#~ msgstr "Mentoniezh" + +#, fuzzy +#~| msgid "Modified:" +#~ msgid "Modified: %1" +#~ msgstr "Kemmet :" + +#~ msgid "Find..." +#~ msgstr "K&lask ..." + +#, fuzzy +#~ msgid "Go To Page..." +#~ msgstr "Mont d'ar bajenn" + +#, fuzzy +#~| msgid "Search:" +#~ msgid "Search..." +#~ msgstr "Klask :" + +#, fuzzy +#~| msgid "Save to File..." +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "Enrollañ en ur restr ..." + +#, fuzzy +#~| msgid "&View" +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "&Gwel" + +#, fuzzy +#~ msgid "Configure Viewer..." +#~ msgstr "Kefluniañ KPDF ..." + +#, fuzzy +#~ msgid "Configure Viewer Backends..." +#~ msgstr "Kefluniañ KPDF ..." + +#, fuzzy +#~| msgid "&Edit" +#~ msgid "&Edit..." +#~ msgstr "&Aozañ" + +#, fuzzy +#~| msgid "Unknown" +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "Dianav" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%1 :" + +#, fuzzy +#~| msgid "Fit Width" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "Lakaat al ledander a-zoare" + +#, fuzzy +#~| msgid "Fit Page" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "Lakaat ar bajenn a-zoare" + +#, fuzzy +#~| msgid "All files" +#~ msgid "*|All Files" +#~ msgstr "Pep restr" + +#, fuzzy +#~| msgid "Show scroll&bars" +#~ msgid "Show Sidebar" +#~ msgstr "Diskouez ar &barrennoù dibunañ" + +#~ msgid "Form" +#~ msgstr "Paperenn-reol" + +#, fuzzy +#~| msgid "Remove Bookmark" +#~ msgid "Remove Bookmarks" +#~ msgstr "Lemel ar sined" + +#, fuzzy +#~| msgid "Annotation" +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "Notennañ" + +#, fuzzy +#~| msgid "Highlight" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "Splannadur" + +#, fuzzy +#~| msgid "Underline" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Underline" +#~ msgstr "Islinañ" + +#, fuzzy +#~| msgid "Insert" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "Enlakaat" + +#, fuzzy +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "&Perzhioù" + +#, fuzzy +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "&Perzhioù" + +#, fuzzy +#~| msgid "Rectangle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Rectangle" +#~ msgstr "Hirgarrezenn" + +#, fuzzy +#~| msgid "Ellipse" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Ellipse" +#~ msgstr "Elipsenn" + +#, fuzzy +#~| msgid "Highlight" +#~ msgid "Highlight in Yellow" +#~ msgstr "Splannadur" + +#, fuzzy +#~| msgid "Highlight" +#~ msgid "Highlight in Green" +#~ msgstr "Splannadur" + +#, fuzzy +#~| msgid "Select text." +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "Diuzit an destenn." + +#, fuzzy +#~| msgid "Select text." +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "Diuzit an destenn." + +#, fuzzy +#~| msgid "Select text." +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "Diuzit an destenn." + +#, fuzzy +#~| msgid "Annotation" +#~ msgid "Bookmark annotation" +#~ msgstr "Notennañ" + +#, fuzzy +#~| msgid "Change &Colors" +#~ msgid "&Toggle Change Colors" +#~ msgstr "Kemmañ al &livioù ..." + +#, fuzzy +#~| msgid "&Advanced" +#~ msgctxt "@label:spinbox Config dialog, presentation page" +#~ msgid "Advance every:" +#~ msgstr "&Barek" + +#, fuzzy +#~| msgid "Background color:" +#~ msgctxt "@label:listbox Config dialog, general page" +#~ msgid "Custom background color:" +#~ msgstr "Liv an drekleur :" + +#~ msgid "Draw border around &Images" +#~ msgstr "Tresañ ur vevenn tro-dro ar &skeudennoù" + +#~ msgid "Identity" +#~ msgstr "Anvelezh" + +#, fuzzy +#~| msgid "&Author:" +#~ msgid "Au&thor:" +#~ msgstr "&Oberour :" + +#~ msgid "View Options" +#~ msgstr "Sell ouzh an dibarzhoù" + +#~ msgid "Navigation" +#~ msgstr "Merdeadurezh" + +#~ msgid "&Review" +#~ msgstr "Adlenn" + +#~ msgid "Show &Navigation Panel" +#~ msgstr "Diskouez ar banell &furchal" + +#, fuzzy +#~| msgid "Copy Text" +#~ msgid "Show Text" +#~ msgstr "E&ilañ ar skrid" + +#, fuzzy +#~| msgid "Icon" +#~ msgid "Large Icons" +#~ msgstr "Arlun" + +#, fuzzy +#~| msgid "Created:" +#~ msgid "Created: %1" +#~ msgstr "Krouet :" + +#, fuzzy +#~| msgid "Title" +#~ msgid "Style" +#~ msgstr "Titl" + +#, fuzzy +#~| msgid "Single" +#~ msgid "&Size:" +#~ msgstr "Unanel" + +#, fuzzy +#~ msgid "Inner color:" +#~ msgstr "Liv ar paper :" + +#, fuzzy +#~| msgid "Pages: %1" +#~ msgid "Name: %1" +#~ msgstr "Pajennoù : %1" + +#, fuzzy +#~| msgid "Single" +#~ msgid "Size: %1" +#~ msgstr "Unanel" + +#~ msgid "&Browse Tool" +#~ msgstr "Ostilh &furchal" + +#~ msgid "&Zoom Tool" +#~ msgstr "Ostilh &Zoom" + +#, fuzzy +#~| msgid "Zoom" +#~ msgctxt "Zoom Tool" +#~ msgid "Zoom" +#~ msgstr "Zoom" + +#, fuzzy +#~| msgid "&Select Tool" +#~ msgid "&Selection Tool" +#~ msgstr "&Dibab un ostilh" + +#, fuzzy +#~| msgid "&Select Tool" +#~ msgctxt "Select Tool" +#~ msgid "Selection" +#~ msgstr "&Dibab un ostilh" + +#, fuzzy +#~ msgid "&Text Selection Tool" +#~ msgstr "&Dibab un ostilh" + +#, fuzzy +#~| msgid "&Select Tool" +#~ msgid "T&able Selection Tool" +#~ msgstr "&Dibab un ostilh" + +#, fuzzy +#~| msgid "Note" +#~ msgid " None" +#~ msgstr "Notenn" + +#, fuzzy +#~ msgid "Presentation Mode" +#~ msgstr "Dibarzhoù ar mod emginnig" + +#, fuzzy +#~ msgid "Allow the presentation mode" +#~ msgstr "Dibarzhoù ar mod emginnig" + +#, fuzzy +#~| msgid "Options for Presentation Mode" +#~ msgid "Do not allow the presentation mode" +#~ msgstr "Dibarzhoù ar mod emginnig" + +#, fuzzy +#~| msgid "Save to File..." +#~ msgid "Save &Copy As..." +#~ msgstr "Enrollañ en ur restr ..." + +#~ msgid "" +#~ "End of document reached.\n" +#~ "Continue from the beginning?" +#~ msgstr "" +#~ "Tizhet eo diwezh an teul.\n" +#~ "Kenderc'hel adalek an deroù ?" + +#, fuzzy +#~| msgid "" +#~| "End of document reached.\n" +#~| "Continue from the beginning?" +#~ msgid "" +#~ "Beginning of document reached.\n" +#~ "Continue from the bottom?" +#~ msgstr "" +#~ "Tizhet eo diwezh an teul.\n" +#~ "Kenderc'hel adalek an deroù ?" + +#~ msgid "Current maintainer" +#~ msgstr "Ratreer red" + +#~ msgid " sec." +#~ msgstr " eil." + +#, fuzzy +#~ msgid "Pencil color:" +#~ msgstr "Liv ar paper :" + +#, fuzzy +#~| msgid "Starting KTTSD Failed: %1" +#~ msgid "Starting Jovie Text-to-Speech service Failed: %1" +#~ msgstr "Sac'het eo loc'hañ KTTSD : %1" + +#, fuzzy +#~| msgid "Always Visible" +#~ msgid "All Visible Columns" +#~ msgstr "Hewel bepred" + +#~ msgid "No document opened." +#~ msgstr "N'eus teul digeret ebet." + +#~ msgid "No matches found for '%1'." +#~ msgstr "N'eus kendoare kavet ebet evit '%1'." + +#~ msgid "Searching for %1" +#~ msgstr "O klask %1" + +#, fuzzy +#~ msgid "Highlight Properties" +#~ msgstr "&Perzhioù" + +#, fuzzy +#~ msgid "Ink Properties" +#~ msgstr "&Perzhioù" + +#, fuzzy +#~| msgid "Annotation" +#~ msgctxt "Annotation tool" +#~ msgid "Text Annotation" +#~ msgstr "Notennañ" + +#, fuzzy +#~| msgid "Highlight" +#~ msgctxt "Annotation tool" +#~ msgid "Yellow Highlight" +#~ msgstr "Splannadur" + +#, fuzzy +#~| msgid "Underline" +#~ msgid "Black Underlining" +#~ msgstr "Islinañ" + +#, fuzzy +#~| msgid "Ellipse" +#~ msgctxt "Annotation tool" +#~ msgid "A cyan ellipse" +#~ msgstr "Elipsenn" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "%1 is \"Title\"" +#~ msgid "%1:" +#~ msgstr "%1 :" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "%1 is \"File Path\"" +#~ msgid "%1:" +#~ msgstr "%1 :" + +#, fuzzy +#~| msgid "Overwrite" +#~ msgctxt "@action:button" +#~ msgid "&Overwrite" +#~ msgstr "Rasklañ" + +#~ msgid "Pages:" +#~ msgstr "Pajennoù :" + +#~ msgid "&Properties..." +#~ msgstr "&Perzhioù ..." + +#, fuzzy +#~| msgid "Highlight" +#~ msgid "Pink Highlighter" +#~ msgstr "Splannadur" + +#, fuzzy +#~| msgid "All Supported Files" +#~ msgid "*|All the Files" +#~ msgstr "An holl restroù skoraet" + +#, fuzzy +#~| msgid "Contents" +#~ msgid "Contents:" +#~ msgstr "Endalc'had" + +#~ msgid "" +#~ "File Error! Could not create temporary file." +#~ msgstr "" +#~ "Fazi ar restr ! Ne m'eus ket gallet krouiñ a restr " +#~ "padennek." + +#~ msgid "Hide &Navigation Panel" +#~ msgstr "Kuzhat ar banell &furchal" + +#~ msgid "page %1" +#~ msgstr "pajenn %1" + +#~ msgid "Show &search bar in thumbnails list" +#~ msgstr "Diskouez ar varenn &glask e roll ar skeudennigoù" + +#~ msgid "KTTSD" +#~ msgstr "KTTSD" + +#, fuzzy +#~ msgid "Free Text" +#~ msgstr "Distagañ ar skrid" + +#~ msgid "Pencil" +#~ msgstr "Kreion" + +#, fuzzy +#~ msgid "DlgGeneral" +#~ msgstr "Pennañ" + +#~ msgid "Uninstall" +#~ msgstr "Distaliañ" + +#~ msgid "Install" +#~ msgstr "Staliañ" + +#, fuzzy +#~ msgid "Click for Open %1" +#~ msgstr "N'hellan ket digeriñ %1" + +#~ msgid "Show:" +#~ msgstr "Diskouez :" + +#~ msgid "Order by:" +#~ msgstr "Urzhiañ dre :" + +#~ msgid "Loading %1..." +#~ msgstr "Emaon o kargañ %1 ..." + +#~ msgid "contents:" +#~ msgstr "endalc'had :" + +#~ msgid "flags:" +#~ msgstr "bannielioù :" + +#~ msgid "Alt+B" +#~ msgstr "Alt+B" + +#~ msgid "Alt+O" +#~ msgstr "Alt+O" + +#~ msgid "Alt+W" +#~ msgstr "Alt+W" + +#~ msgid "Clear filter" +#~ msgstr "Goullonderiñ ar sil" + +#~ msgid "Topic" +#~ msgstr "Dodenn" + +#~ msgid "Fit to Page &Width" +#~ msgstr "Adaozañ hervez &ledander ar bajenn" + +#~ msgid "&Two Pages" +#~ msgstr "&Daou bajenn" + +#~ msgid "Security" +#~ msgstr "Surentez" + +#~ msgid "Unknown Encryption" +#~ msgstr "Enrinegadur dianav" + +#~ msgid "unknown" +#~ msgstr "dianav" + +#~ msgid "-" +#~ msgstr "-" + +#~ msgid "[none]" +#~ msgstr "[hini ebet]" + +#, fuzzy +#~ msgid "kpdf, a kde pdf viewer based on poppler" +#~ msgstr "kpdf, ul lenner pdf diazezet war xpdf evit kde" + +#~ msgid "KPDF::Part" +#~ msgstr "KPDF::Part" + +#~ msgid "Converting from ps to pdf..." +#~ msgstr "Oc'h amdreiñ eus ps da pdf ..." + +#~ msgid "Text found: \"%1\"." +#~ msgstr "Skrid kavet : « %1 »." + +#~ msgid "Text not found: \"%1\"." +#~ msgstr "N'eo ket kavet ar skrid : « %1 »." + +#~ msgctxt "PDF v. " +#~ msgid "PDF v. %1" +#~ msgstr "PDF v. %1" + +#~ msgid "Xpdf author" +#~ msgstr "Oberour Xpdf" diff --git a/po/bs/okular.po b/po/bs/okular.po new file mode 100644 index 0000000..5642364 --- /dev/null +++ b/po/bs/okular.po @@ -0,0 +1,7076 @@ +# Bosnian translation for kdegraphics +# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 +# This file is distributed under the same license as the kdegraphics package. +# FIRST AUTHOR , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: kdegraphics\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2015-02-24 22:29+0100\n" +"Last-Translator: Samir Ribić \n" +"Language-Team: Bosnian \n" +"Language: bs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Launchpad (build 17341)\n" +"X-Launchpad-Export-Date: 2015-02-15 06:05+0000\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Dino Kraljušić,Samir Ribić,Vedran Ljubovic,Dino Babahmetovic" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" +"Dk@etf.ba,samir.ribic@etf.unsa.ba,vljubovic@smartnet.ba,dbabahmeto1@etf.unsa." +"ba" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Okular, univerzalni preglednik dokumenata" + +#: aboutdata.h:23 +#, fuzzy, kde-format +#| msgid "" +#| "(C) 2002 Wilco Greven, Christophe Devriese\n" +#| "(C) 2004-2005 Enrico Ros\n" +#| "(C) 2005 Piotr Szymanski\n" +#| "(C) 2004-2009 Albert Astals Cid\n" +#| "(C) 2006-2009 Pino Toscano" +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2009 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "Bivši održavalac" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, fuzzy, kde-format +#| msgid "Lots of framework work, ODT and FictionBook backends" +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "Mnogo posla na radnom okviru, pozadine za ODT i FictionBook" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, fuzzy, kde-format +#| msgid "KPDF developer" +msgid "Developer" +msgstr "KPDF razvoj" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymanski" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "Kreirano Okularom iz KPDF baze podataka" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "Enrico Ros" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "KPDF razvoj" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "Eugene Trounev" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "Grafika za tumačenja" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "Jiri Baum - NICTA" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "Alat za izbor tabele" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "Fabio D'Urso" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "Poboljšanja zabilješki" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "Idi na stranu %1" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "Otvori eksternu datoteku" + +#: core/action.cpp:197 +#, fuzzy, kde-format +#| msgid "Execute '%1'..." +msgid "Execute '%1'…" +msgstr "Izvrši '%1'..." + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "Prva strana" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "Prethodna strana" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "Sljedeća strana" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "Posljednja strana" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "Nazad" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "Naprijed" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Izlaz" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "Počni prezentaciju" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "Završi prezentaciju" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go To Page…" +msgstr "Idi na stranicu" + +#: core/action.cpp:365 +#, fuzzy, kde-format +#| msgid "Play sound..." +msgid "Play sound…" +msgstr "Sviraj zvuk..." + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "JavaScript skripta" + +#: core/action.cpp:483 +#, fuzzy, kde-format +#| msgid "Play movie" +msgid "Play movie…" +msgstr "Pokreni film" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "Pokreni film" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "Zaustavu filn" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "Pauziraj film" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "Nastavi film" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "Izbor pozadinskog programa" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
%1 (%2).

Please select which one to use:
" +msgstr "" +"Pronađeno je više pozadinskih programa za MIME tip:
%1 (%2)." +"

Molim odaberite koji će se koristiti:
" + +#: core/document.cpp:200 +#, fuzzy, kde-format +#| msgid "Go to page %1" +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "Idi na stranu %1" + +#: core/document.cpp:221 +#, fuzzy, kde-format +#| msgctxt "paper size" +#| msgid "portrait C5E" +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "uspravni C5E" + +#: core/document.cpp:223 +#, fuzzy, kde-format +#| msgctxt "paper size" +#| msgid "landscape C5E" +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "položeni C5E" + +#: core/document.cpp:246 +#, fuzzy, kde-format +#| msgctxt "%1 is width, %2 is height, %3 is paper size name" +#| msgid "%1 x %2 in (%3)" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 x %2 in (%3)" + +#: core/document.cpp:248 +#, fuzzy, kde-format +#| msgctxt "%1 is width, %2 is height, %3 is paper size name" +#| msgid "%1 x %2 mm (%3)" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 x %2 mm (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "" +"Ne mogu pronaći dodatak koji može rukovati s dokumentom koji je proslijeđen." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "ukloni zabilješke" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"Dokument pokušava izvršiti eksterni program i, za Vašu sigurnost, Okular to " +"ne dozvoljava." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "Nije nađen nijedan program za otvaranje datoteke MIME tipa %1." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "Ne mogu da otvorim privremenu datoteku" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "Konverzija štampe nije uspjela" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "Prekinut proces štampanja" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "Ne mogu pokrenut proces štampanja" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "Štampanje u datoteku nije uspjelo" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "Štampanje je u nedozvoljenom stanju" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "Ne mogu pronaći datoteku za štampanje" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "Nema datoteke za štampanje" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"Ne mogu da nađem pogodnu naredbu za štampanje. Obezbijedite da lpr iz CUPS‑a bude dostupna." + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "Veličina stranice za štampu neispravna" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "Ne mogu otvoriti '%1'. Datoteka ne postoji" + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Naslov" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Tema" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Opis" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "Autor" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Autor" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Proizvođač" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "Autorska prava" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "Stranice" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Kreirano" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Izmijenjen" + +#: core/document.cpp:6032 +#, fuzzy, kde-format +#| msgid "Mime Type" +msgid "MIME Type" +msgstr "MIME tip" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "Kategorija" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Ključne riječi" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "Putanja datoteke" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "Veličina datoteke" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "Veličina stranice" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "dodaj zabilješku" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "ukloni zabilješku" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "izmijeni svojstva zabilješkee" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "prevedi zabilješku" + +#: core/documentcommands.cpp:263 +#, fuzzy, kde-format +#| msgctxt "Add an annotation to the page" +#| msgid "add annotation" +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "dodaj zabilješku" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "uredi tekst." + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "izmijeni sadržaj zabilješke" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "uredi sadržaj formulara" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "uredi listu iz izbora" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "uredi kombo iz izbora" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "uredi stanje dugmadi na formularu" + +#: core/generator.cpp:790 +#, fuzzy, kde-format +#| msgid "Plain &Text..." +msgid "Plain &Text…" +msgstr "Čisti &tekst..." + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "OpenDocument tekst" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, fuzzy, kde-format +#| msgid "Editor Options" +msgid "Print Options" +msgstr "Opcije uređivača" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#: core/printoptionswidget.cpp:25 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgid "Scale mode:" +msgstr "Mod boje:" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, fuzzy, kde-format +#| msgid "No description available." +msgid "Not Available" +msgstr "Opis nije dostupan." + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "" + +#: core/signatureutils.cpp:504 +#, fuzzy, kde-kuit-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "Datoteka se ne može spremiti u '%1'. Pokušajte drugu lokaciju." + +#: core/signatureutils.cpp:506 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown signing error" +msgstr "Nepoznata datoteka." + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Izvor: %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "&Podrazumijevani font:" + +#: gui/certificatemodel.cpp:39 +#, fuzzy, kde-format +#| msgctxt "A document format, Okular-specific" +#| msgid "Document Archive" +msgid "Version" +msgstr "Arhiva dokumenata" + +#: gui/certificatemodel.cpp:41 +#, fuzzy, kde-format +#| msgid "Page Number" +msgid "Serial Number" +msgstr "Broj stranice" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, fuzzy, kde-format +#| msgid "Expired" +msgid "Expires On" +msgstr "Istekao" + +#: gui/certificatemodel.cpp:49 +#, fuzzy, kde-format +#| msgid "Subject" +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Tema" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "" + +#: gui/certificatemodel.cpp:53 +#, fuzzy, kde-format +#| msgid "Memory Usage" +msgid "Key Usage" +msgstr "Zauzeće memorije" + +#: gui/certificatemodel.cpp:72 +#, fuzzy, kde-format +#| msgid "%1:" +msgid "V%1" +msgstr "%1:" + +#: gui/certificatemodel.cpp:84 +#, fuzzy, kde-format +#| msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +#| msgid "%1 (%2)" +msgid "%1 (%2 bits)" +msgstr "%1 (%2)" + +#: gui/certificatemodel.cpp:146 +#, fuzzy, kde-format +#| msgid "&Properties" +msgid "Property" +msgstr "&Osobine" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "Iskočna poruku" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "Ugrađena bilješka" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +#| msgid "For Comment" +msgid "Arrow with Comment" +msgstr "Za komentar" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "" + +#: gui/guiutils.cpp:59 +#, fuzzy, kde-format +#| msgid "Straight Line Properties" +msgid "Straight Line with Comment" +msgstr "Osobine prave linije" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "Prava linija" + +#: gui/guiutils.cpp:63 +#, fuzzy, kde-format +#| msgid "For Comment" +msgid "Polygon with Comment" +msgstr "Za komentar" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "Poligon" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Strike out text" +msgid "Rectangle with Comment" +msgstr "Precrtani tekst" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "Pravougaonik" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Underline text" +msgid "Ellipse with Comment" +msgstr "Podvučeni tekst" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "Elipsa" + +#: gui/guiutils.cpp:83 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Highlight text" +msgid "Highlight with Comment" +msgstr "Istaknuti tekst" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "Istaknuto" + +#: gui/guiutils.cpp:87 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Squiggle text" +msgid "Squiggle with Comment" +msgstr "Iskrivljen tekst" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "Iskrivljeno" + +#: gui/guiutils.cpp:91 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Underline text" +msgid "Underline with Comment" +msgstr "Podvučeni tekst" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "Podvučeno" + +#: gui/guiutils.cpp:95 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Strike out text" +msgid "Strike Out with Comment" +msgstr "Precrtani tekst" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "Precrtano" + +#: gui/guiutils.cpp:102 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Strike out text" +msgid "Stamp with Comment" +msgstr "Precrtani tekst" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "Pečat" + +#: gui/guiutils.cpp:106 +#, fuzzy, kde-format +#| msgid "Freehand Line Properties" +msgid "Freehand Line with Comment" +msgstr "Osobine prostoručne linije" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "Slobodnoručna linija" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "Caret" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "Priložena datoteka" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "Zvuk" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "Film" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Ekran:" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "Grafička kontrola" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation" +msgstr "%1 Zabilješka" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "Nepoznat" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Autor: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "Gdje želite spremiti %1?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "Ne mogu otvoriti \"%1\" za pisanje. Datoteka nije spremljena." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "" + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "" + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "" + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "" + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "" + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "" + +#: gui/signatureguiutils.cpp:60 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Certificate is Trusted." +msgstr "Konfiguriši preglednik" + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "" + +#: gui/signatureguiutils.cpp:64 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Certificate issuer is unknown." +msgstr "Konfiguriši preglednik" + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "" + +#: gui/signatureguiutils.cpp:68 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Certificate has Expired." +msgstr "Konfiguriši preglednik" + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "" + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "" + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "" + +#: gui/signatureguiutils.cpp:96 +#, fuzzy, kde-format +#| msgid "Unknown font" +msgid "Unknown Algorithm" +msgstr "Nepoznat font" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown Type" +msgstr "Nepoznata datoteka." + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "" + +#: gui/signatureguiutils.cpp:135 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Sign Certificate" +msgstr "Konfiguriši preglednik" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr "" + +#: gui/signatureguiutils.cpp:165 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "The document has not been modified since it was signed." +msgstr "Nije dozvoljeno štapanje ovog dokumenta." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "" + +#: gui/signatureguiutils.cpp:208 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "Nije dozvoljeno štapanje ovog dokumenta." + +#: gui/signatureguiutils.cpp:211 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "This document is digitally signed." +msgstr "Nije dozvoljeno štapanje ovog dokumenta." + +#: gui/signatureguiutils.cpp:213 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "Nije dozvoljeno štapanje ovog dokumenta." + +#: gui/signatureguiutils.cpp:216 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "Nije dozvoljeno štapanje ovog dokumenta." + +#: gui/signaturemodel.cpp:141 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "Svojstva kapice" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "" + +#: gui/signaturemodel.cpp:172 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgid "Reason: %1" +msgstr "Stranice: %1" + +#: gui/signaturemodel.cpp:177 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Location: %1" +msgstr "%1 Zabilješka" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "" + +#: gui/signaturemodel.cpp:193 +#, fuzzy, kde-format +#| msgctxt "Unknown author" +#| msgid "Unknown" +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "Nepoznat" + +#: gui/signaturemodel.cpp:195 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "Svojstva kapice" + +#: gui/signaturemodel.cpp:201 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgid "Signature Type: %1" +msgstr "Svojstva kapice" + +#: part/annotationactionhandler.cpp:148 +#, fuzzy, kde-format +#| msgid "Reloa&d" +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "Učitaj &nanovo" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "" + +#: part/annotationactionhandler.cpp:150 +#, fuzzy, kde-format +#| msgid "Allow" +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "Dozvoli" + +#: part/annotationactionhandler.cpp:151 +#, fuzzy, kde-format +#| msgctxt "Caption for a screen annotation" +#| msgid "Screen" +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "Ekran:" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "Prilagodi po širini" + +#: part/annotationactionhandler.cpp:252 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1:" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:308 +#, fuzzy, kde-format +#| msgid "Annotation Options" +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Svojstva zabilješke" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "" + +#: part/annotationactionhandler.cpp:314 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Alati zabilješki" + +#: part/annotationactionhandler.cpp:316 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "Alati zabilješki" + +#: part/annotationactionhandler.cpp:318 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Alati zabilješki" + +#: part/annotationactionhandler.cpp:322 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Alati zabilješki" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "" + +#: part/annotationactionhandler.cpp:328 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "%1 Zabilješka" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" + +#: part/annotationactionhandler.cpp:341 +#, fuzzy, kde-format +#| msgid "Annotation Options" +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Svojstva zabilješke" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "" + +#: part/annotationactionhandler.cpp:432 +#, fuzzy, kde-format +#| msgid "&Color:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "&Boja:" + +#: part/annotationactionhandler.cpp:434 +#, fuzzy, kde-format +#| msgid "&Color:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "&Boja:" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "" + +#: part/annotationactionhandler.cpp:499 +#, fuzzy, kde-format +#| msgid "&Selection Tool" +msgctxt "@title:window" +msgid "Select color" +msgstr "&Alat izbora" + +#: part/annotationactionhandler.cpp:552 +#, fuzzy, kde-format +#| msgid "Annotations" +msgid "&Annotations" +msgstr "Zabilješke" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "" + +#: part/annotationactionhandler.cpp:554 +#, fuzzy, kde-format +#| msgid "Create annotation tool" +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Kreiraj alat zabilješki" + +#: part/annotationactionhandler.cpp:557 +#, fuzzy, kde-format +#| msgid "Highlighter" +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "Istaknuto" + +#: part/annotationactionhandler.cpp:558 +#, fuzzy, kde-format +#| msgid "Underline" +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "Podvučeno" + +#: part/annotationactionhandler.cpp:559 +#, fuzzy, kde-format +#| msgid "Squiggle" +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "Iskrivljeno" + +#: part/annotationactionhandler.cpp:560 +#, fuzzy, kde-format +#| msgid "Strike Out" +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "Precrtano" + +#: part/annotationactionhandler.cpp:562 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Svojstva kapice" + +#: part/annotationactionhandler.cpp:563 +#, fuzzy, kde-format +#| msgid "Inline Note" +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "Ugrađena bilješka" + +#: part/annotationactionhandler.cpp:564 +#, fuzzy, kde-format +#| msgid "Pop-up Note" +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "Iskočna poruku" + +#: part/annotationactionhandler.cpp:565 +#, fuzzy, kde-format +#| msgid "Freehand Line" +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "Slobodnoručna linija" + +#: part/annotationactionhandler.cpp:567 +#, fuzzy, kde-format +#| msgid "Straight Line" +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "Prava linija" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "" + +#: part/annotationactionhandler.cpp:569 +#, fuzzy, kde-format +#| msgid "Rectangle" +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "Pravougaonik" + +#: part/annotationactionhandler.cpp:570 +#, fuzzy, kde-format +#| msgid "Ellipse" +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "Elipsa" + +#: part/annotationactionhandler.cpp:571 +#, fuzzy, kde-format +#| msgid "Polygon" +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "Poligon" + +#: part/annotationactionhandler.cpp:572 +#, fuzzy, kde-format +#| msgid "Geometrical shape" +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "Geometrijski lik" + +#: part/annotationactionhandler.cpp:618 +#, fuzzy, kde-format +#| msgid "Stamp" +msgctxt "@action" +msgid "Stamp" +msgstr "Pečat" + +#: part/annotationactionhandler.cpp:638 +#, fuzzy, kde-format +#| msgid "Annotations" +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Zabilješke" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "" + +#: part/annotationactionhandler.cpp:651 +#, fuzzy, kde-format +#| msgid "Annotations" +msgid "Quick Annotation Bar" +msgstr "Zabilješke" + +#: part/annotationactionhandler.cpp:665 +#, fuzzy, kde-format +#| msgctxt "Add an annotation to the page" +#| msgid "add annotation" +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "dodaj zabilješku" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "" + +#: part/annotationactionhandler.cpp:669 +#, fuzzy, kde-format +#| msgid "Create annotation tool" +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "Kreiraj alat zabilješki" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "" + +#: part/annotationactionhandler.cpp:680 +#, fuzzy, kde-format +#| msgid "Font:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "Font:" + +#: part/annotationactionhandler.cpp:681 +#, fuzzy, kde-format +#| msgid "Annotation Options" +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Svojstva zabilješke" + +#: part/annotationactionhandler.cpp:684 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "Prilagodi po širini" + +#: part/annotationactionhandler.cpp:693 +#, fuzzy, kde-format +#| msgid "&Opacity:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "&Neprovidnost:" + +#: part/annotationactionhandler.cpp:696 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1:" + +#: part/annotationmodel.cpp:320 +#, fuzzy, kde-format +#| msgid "Page %1" +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "Stranica %1" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "Stranica %1" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "%1 Zabilješka" +msgstr[1] "%1 Zabilješke" +msgstr[2] "%1 Zabilješki" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "&Otvori iskočnu poruku" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Ukloni obilježivač" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Dodaj zabilješku" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Text to Clipboard" +msgstr "Kopiraj u Clipboard" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "Kopiraj i zabranjeno po DRM-u" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "&Obriši" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "&Osobine" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, fuzzy, kde-format +#| msgctxt "%1 is the name of the file to save" +#| msgid "&Save '%1'..." +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "&Snimi '%1'..." + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "&Izgled" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "&Opšte" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&Autor:" + +#: part/annotationpropertiesdialog.cpp:69 +#, fuzzy, kde-format +#| msgid "Created" +msgid "Created:" +msgstr "Kreirano" + +#: part/annotationpropertiesdialog.cpp:74 +#, fuzzy, kde-format +#| msgid "Modified" +msgid "Modified:" +msgstr "Izmijenjen" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "Osobine iskočne porukee" + +#: part/annotationpropertiesdialog.cpp:111 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgid "Typewriter Properties" +msgstr "Svojstva kapice" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "Svojstva ugrađene bilješke" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "Osobine prave linije" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "Osobine poligona zvuka" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "Osobine geometrije" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "Osobine tekstualnog markera" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "Osobine pečata" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "Osobine prostoručne linije" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "Svojstva kapice" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "Svojstva priložene datoteke" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "Osobine zvuka" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "Svojstva filma" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "Svojstva zabilješke" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Put a stamp symbol" +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "Stavi pečat" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&Boja:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%1:" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "&Neprovidnost:" + +#: part/annotationwidgets.cpp:363 +#, fuzzy, kde-format +#| msgid "Icon" +msgid "Icon:" +msgstr "Ikona" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "Komentar" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "Pomoć" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "Umetni" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "Ključ" + +#: part/annotationwidgets.cpp:368 +#, fuzzy, kde-format +#| msgid "New Paragraph" +msgid "New paragraph" +msgstr "Novi paragraf" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "Bilješka" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "Paragraf" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Font:" + +#: part/annotationwidgets.cpp:387 +#, fuzzy, kde-format +#| msgid "&Color:" +msgid "Text &color:" +msgstr "&Boja:" + +#: part/annotationwidgets.cpp:394 +#, fuzzy, kde-format +#| msgid "Align:" +msgid "&Align:" +msgstr "Poravnanje:" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "Lijevo" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "Centar" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "Desno" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "Odobreno" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "Kao u" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "Povjerljivo" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "Za odjeljenje" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "Nacrt" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "Eksperimentalno" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "Istekao" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "Završni" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "Za komentar" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "Za javnu objavu" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "Nije odobreno" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "Nije za javnu objavu" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "Prodat" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "Strogo povjerljivo" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "Obilježivač" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "Informacija" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, fuzzy, kde-format +#| msgid "Stamp Symbol" +msgid "Stamp symbol:" +msgstr "Simbol pečata" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgid "&Width:" +msgstr "Prilagodi po širini" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:514 +#, fuzzy, kde-format +#| msgctxt "Symbol for caret annotations" +#| msgid "None" +msgid "None" +msgstr "Ništa" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "" + +#: part/annotationwidgets.cpp:531 +#, fuzzy, kde-format +#| msgid "Leader Line Length:" +msgid "Leader line length:" +msgstr "Dužina prve linije:" + +#: part/annotationwidgets.cpp:533 +#, fuzzy, kde-format +#| msgid "Leader Line Extensions Length:" +msgid "Leader line extensions length:" +msgstr "Dužina produžetka vodeće linije:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Shape fill:" +msgstr "Spremi u datoteku..." + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Vrsta:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "Precrtano" + +#: part/annotationwidgets.cpp:745 +#, fuzzy, kde-format +#| msgid "File Attachment Symbol" +msgid "File attachment symbol:" +msgstr "Simbol za priloženu datoteku" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "Grafik" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "Pribadača" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "Spajalica" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "Oznaka" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "Datoteka" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "N/D" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "Opis nije dostupan." + +#: part/annotationwidgets.cpp:773 +#, fuzzy, kde-format +#| msgid "&Name:" +msgid "Name:" +msgstr "&Ime:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "Opis:" + +#: part/annotationwidgets.cpp:843 +#, fuzzy, kde-format +#| msgid "Caret Symbol" +msgid "Caret symbol:" +msgstr "Simbol kapice" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "Ništa" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "Zatvori ovu bilješku" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "Opcije" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"Ova oznaka može sadržati LaTeX kod.\n" +"Kliknite ovdje za iscrtavanje." + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "Ne mogu naći latex program." + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "LaTeX crtanje neuspjelo" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "Ne mogu naći dvipng program." + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "Problem je nastao tokom izvršenja komande 'latex'." + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "Problem je nastao tokom izvršenja komande 'dvipng'." + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"%2 zabilješka" +msgstr[1] "" +"%1\n" +"\n" +"%2 zabilješke" +msgstr[2] "" +"%1\n" +"\n" +"%2 zabilješki" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Zabilješke" + +#: part/bookmarklist.cpp:136 +#, fuzzy, kde-format +#| msgid "End of the document" +msgid "Show for all documents" +msgstr "Kraj dokumenta" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, fuzzy, kde-format +#| msgid "S&earch:" +msgid "Search…" +msgstr "&Traži:" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, kde-format +msgid "Expand All" +msgstr "" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, kde-format +msgid "Collapse All" +msgstr "" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "Idi na ovu zabilješku" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "Promijeni ime zabilješke" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Otvori dokument" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "" + +#: part/certificateviewer.cpp:47 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Certificate Viewer" +msgstr "Konfiguriši preglednik" + +#: part/certificateviewer.cpp:50 +#, fuzzy, kde-format +#| msgid "E&xport As" +msgid "Export…" +msgstr "&Izvezi kao" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "Opšte" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "" + +#: part/certificateviewer.cpp:159 +#, fuzzy, kde-format +#| msgid "Where do you want to save %1?" +msgid "Where do you want to save this certificate?" +msgstr "Gdje želite spremiti %1?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "" + +#: part/colormodemenu.cpp:19 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "Mod boje:" + +#: part/colormodemenu.cpp:21 +#, fuzzy, kde-format +#| msgid "Change &colors" +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "Promijeni &boje" + +#: part/colormodemenu.cpp:29 +#, fuzzy, kde-format +#| msgid "Normal Icons" +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "Normalne ikone" + +#: part/colormodemenu.cpp:41 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "Izvrni boje" + +#: part/colormodemenu.cpp:42 +#, fuzzy, kde-format +#| msgid "Change Paper Color" +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "Promijeni boju papira" + +#: part/colormodemenu.cpp:44 +#, fuzzy, kde-format +#| msgid "Change Dark & Light Colors" +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "Promijeni tamne i svijetle boje" + +#: part/colormodemenu.cpp:46 +#, fuzzy, kde-format +#| msgid "Convert to Black & White" +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "Pretvori u crno-bijelo" + +#: part/colormodemenu.cpp:49 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "Izvrni boje" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, fuzzy, kde-format +#| msgid "Reloa&d" +msgid "Red" +msgstr "Učitaj &nanovo" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, fuzzy, kde-format +#| msgctxt "Caption for a screen annotation" +#| msgid "Screen" +msgid "Green" +msgstr "Ekran:" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, fuzzy, kde-format +#| msgid "Allow" +msgid "Yellow" +msgstr "Dozvoli" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, fuzzy, kde-format +#| msgid "Highlighter" +msgid "Yellow Highlighter" +msgstr "Istaknuto" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, fuzzy, kde-format +#| msgid "Highlighter" +msgid "Green Highlighter" +msgstr "Istaknuto" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, fuzzy, kde-format +#| msgid "Insert" +msgid "Insert Text" +msgstr "Umetni" + +#: part/dlgaccessibility.cpp:38 +#, fuzzy, kde-format +#| msgid "Draw border around &Links" +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "Crtaj liniju oko &linkova" + +#: part/dlgaccessibility.cpp:48 +#, fuzzy, kde-format +#| msgid "Change &colors" +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "Promijeni &boje" + +#: part/dlgaccessibility.cpp:54 +#, fuzzy, kde-format +#| msgid "Warning: these options can badly affect drawing speed." +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "Upozorenje: ove opcije mogu imati loš uticaj na brzinu crtanja." + +#: part/dlgaccessibility.cpp:60 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "Izvrni boje" + +#: part/dlgaccessibility.cpp:61 +#, fuzzy, kde-format +#| msgid "Change Paper Color" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "Promijeni boju papira" + +#: part/dlgaccessibility.cpp:62 +#, fuzzy, kde-format +#| msgid "Change Dark & Light Colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "Promijeni tamne i svijetle boje" + +#: part/dlgaccessibility.cpp:63 +#, fuzzy, kde-format +#| msgid "Convert to Black & White" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "Pretvori u crno-bijelo" + +#: part/dlgaccessibility.cpp:64 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "Izvrni boje" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "" + +#: part/dlgaccessibility.cpp:70 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "Mod boje:" + +#: part/dlgaccessibility.cpp:87 +#, fuzzy, kde-format +#| msgid "Paper color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Boja papira:" + +#: part/dlgaccessibility.cpp:99 +#, fuzzy, kde-format +#| msgid "Dark color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Tamna boja:" + +#: part/dlgaccessibility.cpp:104 +#, fuzzy, kde-format +#| msgid "Light color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "Svijetla boja:" + +#: part/dlgaccessibility.cpp:119 +#, fuzzy, kde-format +#| msgid "Threshold:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "Prag:" + +#: part/dlgaccessibility.cpp:127 +#, fuzzy, kde-format +#| msgid "Contrast:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Kontrast:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "" + +#: part/dlgaccessibility.cpp:165 +#, fuzzy, kde-format +#| msgid "Text to search for" +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "Tekst za pretragu" + +#: part/dlgannotations.cpp:25 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Alati zabilješki" + +#: part/dlgannotations.cpp:26 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Alati zabilješki" + +#: part/dlgannotations.cpp:28 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Alati zabilješki" + +#: part/dlgannotations.cpp:34 +#, fuzzy, kde-format +#| msgid "&Author:" +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "&Autor:" + +#: part/dlgannotations.cpp:38 +#, fuzzy, kde-format +#| msgid "" +#| "Note: the information here is used only for comments and reviews. " +#| "Information inserted here will not be transmitted without your knowledge." +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"Napomena: ove informacije se koriste samo za komentare i prelede. " +"Informacije koje se ovdje nalaze neće se slati bez Vašeg znanja." + +#: part/dlgannotations.cpp:48 +#, fuzzy, kde-format +#| msgid "Edit annotation tool" +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

Quick Annotation Tools

" +msgstr "Uredi alat zabilješki" + +#: part/dlgeditor.cpp:28 +#, fuzzy, kde-format +#| msgctxt "@info:whatsthis" +#| msgid "" +#| "Choose the editor you want to launch when Okular wants to open a source " +#| "file." +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" +"Izaberite koji će se uređivač teksta pokrenuti kada Okular želi otvoriti " +"izvornu datoteku." + +#: part/dlgeditor.cpp:29 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Custom Text Editor" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "Vlastiti uređivač teksta" + +#: part/dlgeditor.cpp:30 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Kate" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Kile" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "SciTE" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Emacs client" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Emacs klijent" + +#: part/dlgeditor.cpp:34 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Lyx client" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "Lyx klijent" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "" + +#: part/dlgeditor.cpp:37 +#, fuzzy, kde-format +#| msgid "Editor:" +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "Uređivač:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
\n" +"You can also put few placeholders:\n" +"
    \n" +"
  • %f - the file name
  • \n" +"
  • %l - the line of the file to be reached
  • \n" +"
  • %c - the column of the file to be reached
  • \n" +"
\n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"Podesi komandu posebnog uređivača teksta.
\n" +"Takođe možete da stavite i nekoliko argumenata:\n" +"
    \n" +"
  • %f - ime datoteke
  • \n" +"
  • %l - red datoteke do kog treba doći
  • \n" +"
  • %c - kolona datoteke do koje treba doći
  • \n" +"
\n" +"Ako %f nije navedeno, ime datoteke će biti nadovezano na navedenu naredbu.." + +#: part/dlgeditor.cpp:63 +#, fuzzy, kde-format +#| msgid "Command:" +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "Naredba:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "" + +#: part/dlggeneral.cpp:37 +#, fuzzy, kde-format +#| msgid "Appearance" +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "Izgled" + +#: part/dlggeneral.cpp:41 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "Prikaži &klizačke trake" + +#: part/dlggeneral.cpp:48 +#, fuzzy, kde-format +#| msgid "Link the &thumbnails with the page" +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "Poveži &sličice sa stranom" + +#: part/dlggeneral.cpp:55 +#, fuzzy, kde-format +#| msgid "Show &hints and info messages" +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "Prikaži &savjete i info poruke" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "" + +#: part/dlggeneral.cpp:68 +#, fuzzy, kde-format +#| msgid "Display document title in titlebar if available" +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "Prikaži naslov dokumenta u naslovu programa ako je moguće" + +#: part/dlggeneral.cpp:74 +#, fuzzy, kde-format +#| msgid "Display file name only" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "Prikaži samo ime datoteke" + +#: part/dlggeneral.cpp:75 +#, fuzzy, kde-format +#| msgid "Display full file path" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "Prikaži punu stazu datoteke" + +#: part/dlggeneral.cpp:77 +#, fuzzy, kde-format +#| msgid "When not displaying document title:" +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "Kada ne prikazati naslov dokumenta:" + +#: part/dlggeneral.cpp:92 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "Boja pozadine:" + +#: part/dlggeneral.cpp:114 +#, fuzzy, kde-format +#| msgid "Program Features" +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "Osobine programa" + +#: part/dlggeneral.cpp:121 +#, fuzzy, kde-format +#| msgid "Open new files in &tabs" +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "Otvoriti nove datoteke u &karticama" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "" + +#: part/dlggeneral.cpp:139 +#, fuzzy, kde-format +#| msgid "&Obey DRM limitations" +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "&Poštivanje DRM ograničenja" + +#: part/dlggeneral.cpp:148 +#, fuzzy, kde-format +#| msgid "&Reload document on file change" +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "&Nanovo učitaj dokument na promjenu datoteke" + +#: part/dlggeneral.cpp:155 +#, fuzzy, kde-format +#| msgid "Show backend selection dialog" +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "Prikaži dijalog za izbor pozadine" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, fuzzy, kde-format +#| msgid "Overview &columns:" +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "Osnovne &kolone:" + +#: part/dlggeneral.cpp:220 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%1:" + +#: part/dlggeneral.cpp:221 +#, fuzzy, kde-format +#| msgid "" +#| "Defines how much of the current viewing area will still be visible when " +#| "pressing the Page Up/Down keys." +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" +"Definiše koliko će trenutnog područja gledanja još biti vidljivo prilikom " +"pritika na Page Up/Down tastere." + +#: part/dlggeneral.cpp:223 +#, fuzzy, kde-format +#| msgid "&Page Up/Down overlap:" +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "&Page Up/Down preklapanje:" + +#: part/dlggeneral.cpp:228 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%1:" + +#: part/dlggeneral.cpp:232 +#, fuzzy, kde-format +#| msgid "100%" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "100%" + +#: part/dlggeneral.cpp:233 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "Prilagodi po širini" + +#: part/dlggeneral.cpp:234 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "Prilagodi po stranici" + +#: part/dlggeneral.cpp:235 +#, fuzzy, kde-format +#| msgid "Auto Fit" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "Automatsko uklapanje" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "" + +#: part/dlggeneral.cpp:237 +#, fuzzy, kde-format +#| msgid "" +#| "Defines the default zoom mode for files which were never opened before.\n" +#| "For files which were opened before the previous zoom is applied." +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" +"Definiše podrazumijevani režim uvećanja za datoteke koje nisu prije bile " +"otvarane. \n" +"Za datoteke koje su ranije otvorene, primjenjuje se prethodno uvećanje." + +#: part/dlggeneral.cpp:241 +#, fuzzy, kde-format +#| msgid "&Default Zoom:" +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "&Podrazumijevano uvećanje:" + +#: part/dlgperformance.cpp:26 +#, fuzzy, kde-format +#| msgid "Enable &transparency effects" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "Omogući efekte providnosti" + +#: part/dlgperformance.cpp:28 +#, fuzzy, kde-format +#| msgid "CPU Usage" +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "Korištenje CPU-a" + +#: part/dlgperformance.cpp:35 +#, fuzzy, kde-format +#| msgid "&Low" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "&Malo" + +#: part/dlgperformance.cpp:36 +#, fuzzy, kde-format +#| msgid "&Normal (default)" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "&Normalno (podrazumjevano)" + +#: part/dlgperformance.cpp:37 +#, fuzzy, kde-format +#| msgid "&Aggressive" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "&Agresivno" + +#: part/dlgperformance.cpp:38 +#, fuzzy, kde-format +#| msgid "&Greedy" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "&Pohlepno" + +#: part/dlgperformance.cpp:40 +#, fuzzy, kde-format +#| msgid "Memory Usage" +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "Zauzeće memorije" + +#: part/dlgperformance.cpp:54 +#, fuzzy, kde-format +#| msgid "Enable Text Antialias" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "Omogući tekstualno umekšavanje" + +#: part/dlgperformance.cpp:56 +#, fuzzy, kde-format +#| msgid "Rendering" +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "Iscrtavanje" + +#: part/dlgperformance.cpp:59 +#, fuzzy, kde-format +#| msgid "Enable Graphics Antialias" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "Omogući grafičko umekšavanje" + +#: part/dlgperformance.cpp:64 +#, fuzzy, kde-format +#| msgid "Enable Text Hinting" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "Omogući prelaze teksta" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"Koristi memoriju što je manje moguće. Ne koristite ništa ponovo. (Za sisteme " +"sa malo memorije.)" + +#: part/dlgperformance.cpp:80 +#, fuzzy, kde-format +#| msgid "" +#| "A good compromise between memory usage and speed gain. Preload next page " +#| "and boost searches. (For systems with 256MB of memory, typically.)" +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"Dobar odnos između korištenja memorije i doprinosa brzini. Učitava sljedeću " +"stranicu i ubrzava pretragu. (Za sisteme sa 256MB memorije, tipično.)" + +#: part/dlgperformance.cpp:83 +#, fuzzy, kde-format +#| msgid "" +#| "Keeps everything in memory. Preload next pages. Boost searches. (For " +#| "systems with more than 512MB of memory.)" +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"Drži sve u memoriji. Učitava sljedeće stranice. Ubrzava Pretragu. (Za " +"sisteme sa više od 512MB memorije.)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" +"Učitava i čuva sve u memoriji. Prethodno učita sve stranice. (Koristiće " +"maksimum 50% ukupne memorijke ili vašu slobodnu memoriju, što je veće od " +"toga dvoje)" + +#: part/dlgpresentation.cpp:38 +#, fuzzy, kde-format +#| msgctxt "Advance every %1 seconds" +#| msgid " second" +#| msgid_plural " seconds" +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] " sekunda" +msgstr[1] " sekunde" +msgstr[2] " sekundi" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "" + +#: part/dlgpresentation.cpp:53 +#, fuzzy, kde-format +#| msgid "Loop after last page" +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "Kruži posle zadnje strane" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "" + +#: part/dlgpresentation.cpp:63 +#, fuzzy, kde-format +#| msgid "Navigation" +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Navigacija" + +#: part/dlgpresentation.cpp:72 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "Boja pozadine:" + +#: part/dlgpresentation.cpp:76 +#, fuzzy, kde-format +#| msgid "Hidden After Delay" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "Sakrij poslije" + +#: part/dlgpresentation.cpp:77 +#, fuzzy, kde-format +#| msgid "Always Visible" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "Uvijek vidljivo" + +#: part/dlgpresentation.cpp:78 +#, fuzzy, kde-format +#| msgid "Always Hidden" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "Uvijek skriveno" + +#: part/dlgpresentation.cpp:80 +#, fuzzy, kde-format +#| msgid "Mouse cursor:" +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "Kursor miša:" + +#: part/dlgpresentation.cpp:84 +#, fuzzy, kde-format +#| msgid "Show &progress indicator" +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "Prikaži &indikator napretka" + +#: part/dlgpresentation.cpp:90 +#, fuzzy, kde-format +#| msgid "Show s&ummary page" +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "Prikaži stranicu &sažetka" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "" + +#: part/dlgpresentation.cpp:101 +#, fuzzy, kde-format +#| msgid "Replace" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "Zamijeni" + +#: part/dlgpresentation.cpp:102 +#, fuzzy, kde-format +#| msgid "Random Transition" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "Slučajni prelaz" + +#: part/dlgpresentation.cpp:103 +#, fuzzy, kde-format +#| msgid "Blinds Vertical" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "Zakloni uspravni" + +#: part/dlgpresentation.cpp:104 +#, fuzzy, kde-format +#| msgid "Blinds Horizontal" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "Zakloni vodoravni" + +#: part/dlgpresentation.cpp:105 +#, fuzzy, kde-format +#| msgid "Box In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "U kutiju" + +#: part/dlgpresentation.cpp:106 +#, fuzzy, kde-format +#| msgid "Box Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "Iz kutije" + +#: part/dlgpresentation.cpp:107 +#, fuzzy, kde-format +#| msgid "Dissolve" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "Rastvaranje" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "" + +#: part/dlgpresentation.cpp:109 +#, fuzzy, kde-format +#| msgid "Glitter Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "Svjetlucanje dolje" + +#: part/dlgpresentation.cpp:110 +#, fuzzy, kde-format +#| msgid "Glitter Right" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "Svjetlucanje desno" + +#: part/dlgpresentation.cpp:111 +#, fuzzy, kde-format +#| msgid "Glitter Right-Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "Svjetlucanje desno-dolje" + +#: part/dlgpresentation.cpp:112 +#, fuzzy, kde-format +#| msgid "Split Horizontal In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "Podjela vodoravna uklj." + +#: part/dlgpresentation.cpp:113 +#, fuzzy, kde-format +#| msgid "Split Horizontal Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "Podjela vodoravna isklj." + +#: part/dlgpresentation.cpp:114 +#, fuzzy, kde-format +#| msgid "Split Vertical In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "Podjela uspravna uklj." + +#: part/dlgpresentation.cpp:115 +#, fuzzy, kde-format +#| msgid "Split Vertical Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "Podjela uspravna isklj." + +#: part/dlgpresentation.cpp:116 +#, fuzzy, kde-format +#| msgid "Wipe Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "Brisanje nadolje" + +#: part/dlgpresentation.cpp:117 +#, fuzzy, kde-format +#| msgid "Wipe Right" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "Brisanje nadesno" + +#: part/dlgpresentation.cpp:118 +#, fuzzy, kde-format +#| msgid "Wipe Left" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "Brisanje nalijevo" + +#: part/dlgpresentation.cpp:119 +#, fuzzy, kde-format +#| msgid "Wipe Up" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "Brisanje nagore" + +#: part/dlgpresentation.cpp:121 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Podrazumijevani prelaz:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

Drawing Tools

" +msgstr "" + +#: part/dlgpresentation.cpp:171 +#, fuzzy, kde-format +#| msgctxt "@label:listbox The current screen, for the presentation mode" +#| msgid "Current Screen" +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Trenutni ekran" + +#: part/dlgpresentation.cpp:172 +#, fuzzy, kde-format +#| msgctxt "@label:listbox The default screen for the presentation mode" +#| msgid "Default Screen" +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Podrazumjevani ekran" + +#: part/dlgpresentation.cpp:178 +#, fuzzy, kde-format +#| msgctxt "@label:listbox %1 is the screen number (0, 1, ...)" +#| msgid "Screen %1" +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "Ekran %1" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, fuzzy, kde-format +#| msgid "Erase Drawings" +msgid "Eraser" +msgstr "Izbriši crteže" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "&Ime:" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "&Vrsta:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "Izgled" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "Tekstualna zabilješka" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "Geometrijski lik" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "Kreiraj alat zabilješki" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "Uredi alat zabilješki" + +#: part/editdrawingtooldialog.cpp:51 +#, fuzzy, kde-format +#| msgid "&Color:" +msgid "Color:" +msgstr "&Boja:" + +#: part/editdrawingtooldialog.cpp:58 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgid "&Pen Width:" +msgstr "Prilagodi po širini" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "" + +#: part/editdrawingtooldialog.cpp:79 +#, fuzzy, kde-format +#| msgid "Create annotation tool" +msgid "Create drawing tool" +msgstr "Kreiraj alat zabilješki" + +#: part/editdrawingtooldialog.cpp:84 +#, fuzzy, kde-format +#| msgid "Edit annotation tool" +msgid "Edit drawing tool" +msgstr "Uredi alat zabilješki" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "Nepoznato" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Ugrađene datoteke" + +#: part/embeddedfilesdialog.cpp:62 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:button" +msgid "View" +msgstr "&Pogled" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "Ime" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "Opis" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "Veličina" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "Napravljeno" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "Izmijenjen" + +#: part/embeddedfilesdialog.cpp:154 +#, fuzzy, kde-format +#| msgctxt "@action:inmenu" +#| msgid "&Save As..." +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "&Spremi kao..." + +#: part/embeddedfilesdialog.cpp:155 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "&Pogled" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "Ne mogu da učitam dio za pregled pred štampanje" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "Pregled prije štampe" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "Zatvori" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "&Nađi:" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "Tekst za pretragu" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Sljedeći" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "Skoči na sljedeće poklapanje" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Prethodni" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "Skoči na prethodno poklapanje" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "Podesi ponašanje pretrage" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "Razlikuje velika i mala slova" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "Sa trenutne stranice" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "" + +#: part/formwidgets.cpp:870 +#, fuzzy, kde-format +#| msgid "*|All Files" +msgid "All Files (*)" +msgstr "*|Sve datoteke" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgid "Signature Properties" +msgstr "Svojstva kapice" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "Opcije pretrage" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "Razlikovanje malih i velikih slova" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "Regularni Izraz" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "od" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "Uvećaj" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "Rotiraj &desno" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "Desno" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "Rotiraj &lijevo" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "Lijevo" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "Originalna orjentacija" + +#: part/pageview.cpp:546 +#, fuzzy, kde-format +#| msgid "&View" +msgid "&Trim View" +msgstr "&Pogled" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "&Skrati margine" + +#: part/pageview.cpp:557 +#, fuzzy, kde-format +#| msgctxt "Text Selection Tool" +#| msgid "Text Selection" +msgid "Trim To &Selection" +msgstr "Označeni tekst" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "Uklopi &Širinu" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "Uklopi &Stranicu" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "&Automatsko uklapanje" + +#: part/pageview.cpp:575 +#, fuzzy, kde-format +#| msgid "Fit &Page" +msgid "Fit Wi&ndow to Page" +msgstr "Uklopi &Stranicu" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "&Način prikaza" + +#: part/pageview.cpp:594 +#, fuzzy, kde-format +#| msgid "Single Page" +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "Jedna strana" + +#: part/pageview.cpp:595 +#, fuzzy, kde-format +#| msgid "Facing Pages" +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "Naspramne stranice" + +#: part/pageview.cpp:596 +#, fuzzy, kde-format +#| msgid "Facing Pages (Center First Page)" +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "Naspramne stranice (prva centrirana)" + +#: part/pageview.cpp:599 +#, fuzzy, kde-format +#| msgid "Overview" +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "Pregled" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "&Neprekidno" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "" + +#: part/pageview.cpp:627 +#, fuzzy, kde-format +#| msgctxt "Browse Tool" +#| msgid "Browse" +msgid "&Browse" +msgstr "Razgledaj..." + +#: part/pageview.cpp:635 +#, fuzzy, kde-format +#| msgid "Zoom" +msgid "&Zoom" +msgstr "Uvećaj" + +#: part/pageview.cpp:655 +#, fuzzy, kde-format +#| msgctxt "Text Selection Tool" +#| msgid "Text Selection" +msgid "Area &Selection" +msgstr "Označeni tekst" + +#: part/pageview.cpp:662 +#, fuzzy, kde-format +#| msgctxt "Text Selection Tool" +#| msgid "Text Selection" +msgid "&Text Selection" +msgstr "Označeni tekst" + +#: part/pageview.cpp:669 +#, fuzzy, kde-format +#| msgctxt "Table Selection Tool" +#| msgid "Table Selection" +msgid "T&able Selection" +msgstr "Izbor tabele" + +#: part/pageview.cpp:676 +#, fuzzy, kde-format +#| msgctxt "Magnifier Tool" +#| msgid "Magnifier" +msgid "&Magnifier" +msgstr "Povećalo" + +#: part/pageview.cpp:685 +#, fuzzy, kde-format +#| msgid "Selection Tools" +msgctxt "@action" +msgid "Selection Tools" +msgstr "Alati označavanja" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "Govori cijeli dokument" + +#: part/pageview.cpp:722 +#, fuzzy, kde-format +#| msgid "Speak Current Page" +msgid "Speak From Current Page" +msgstr "Govori trenutnu stranicu" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "Govori trenutnu stranicu" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "Prekini izgovaranje" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "Kliži prema gore" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Kliži prema dolje" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "Kliži stranicu gore" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "Kliži stranicu dolje" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "Prikaži forme" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] " Učitan dokument od %1 stranice." +msgstr[1] " Učitan dokument od %1 stranice." +msgstr[2] " Učitan dokument od %1 stranica." + +#: part/pageview.cpp:2526 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Table Contents to Clipboard" +msgstr "Kopiraj u Clipboard" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "Tekst (%1 karakter)" +msgstr[1] "Tekst (%1 karaktera)" +msgstr[2] "Tekst (%1 karaktera)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "Kopiraj u Clipboard" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "Izgovaranje teksta" + +#: part/pageview.cpp:2863 +#, fuzzy, kde-format +#| msgid "Image (%1 by %2 pixels)" +msgid "Image (%1 × %2 pixels)" +msgstr "Slika (%1 x %2 piksela)" + +#: part/pageview.cpp:2865 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save to File…" +msgstr "Spremi u datoteku..." + +#: part/pageview.cpp:2885 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] copied to clipboard." +msgid "Image [%1 × %2] copied to clipboard." +msgstr "Slika [%1x%2] kopirana u clipboard." + +#: part/pageview.cpp:2888 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save file" +msgstr "Spremi u datoteku..." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "Datoteka nije spremljena." + +#: part/pageview.cpp:2901 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] saved to %3 file." +msgid "Image [%1 × %2] saved to %3 file." +msgstr "Slika [%1x%2] spremljena u datoteku %3." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "Kopiraj tekst" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "Idi na %1" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "Prilagodi po širini" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "Prilagodi po stranici" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "Automatsko uklapanje" + +#: part/pageview.cpp:4107 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1:" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "Traži „%1“ pomoću" + +#: part/pageview.cpp:4404 +#, fuzzy, kde-format +#| msgid "Configure Web Shortcuts..." +msgid "Configure Web Shortcuts…" +msgstr "Podesi veb prečice..." + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "Prati ovaj link" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "Sviraj ovaj zvuk" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "Zaustavi zvuk" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "Kopiraj adresu linka" + +#: part/pageview.cpp:4462 +#, fuzzy, kde-format +#| msgid "Search for '%1' with" +msgid "Search for '%1' in this document" +msgstr "Traži „%1“ pomoću" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Dobrodošli" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "Izaberite područje za uvećanje. Desni klik za umanjenje." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "Kliknuti da bi vidjeli uvećani prikaz." + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "Nacrtaj pravougaonik oko teksta/grafike za kopiranje." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "Označite tekst." + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" +"Nacrtajte pravougaonik oko tabele, kliknite blizu ivica da podijelite, " +"pritisnite Esc za brisanje." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" + +#: part/pageview.cpp:5188 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "No valid certificates" +msgstr "Konfiguriši preglednik" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Open Certificate Manager" +msgstr "Konfiguriši preglednik" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
Launch Certificate Manager " +"to import or manage certificates
For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "No certificates found" +msgstr "Konfiguriši preglednik" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "" + +#: part/pageview.cpp:5405 +#, fuzzy, kde-format +#| msgid "Draw a rectangle around the text/graphics to copy." +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "Nacrtaj pravougaonik oko teksta/grafike za kopiranje." + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "Nova tekstualna bilješka" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "Tekst nove bilješke:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgid "Author" +msgid "Author name" +msgstr "Autor" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgctxt "Add an annotation to the page" +#| msgid "add annotation" +msgid "Author name for the annotation:" +msgstr "dodaj zabilješku" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "Ugrađena zabilješka teksta (vucite da izaberete zonu)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "Istaknuti tekst" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "Crtaj prostoručnu liniju" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "Ugrađena zabilješka teksta (vucite da izaberete zonu)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "Postavi iskočnu poruku" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "Crtaj poligon (klikni na prvu tačku da se zatvori)" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "Crtaj pravougaonik" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "Iskrivljen tekst" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "Stavi pečat" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "Crtaj pravu liniju" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "Precrtani tekst" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "Podvučeni tekst" + +#: part/pageviewannotator.cpp:1414 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Inline Text Annotation (drag to select a zone)" +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "Ugrađena zabilješka teksta (vucite da izaberete zonu)" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "Istaknuto" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgctxt "Add an annotation to the page" +#| msgid "add annotation" +msgid "Add favorite annotation" +msgstr "dodaj zabilješku" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgctxt "Add an annotation to the page" +#| msgid "add annotation" +msgid "Custom annotation name:" +msgstr "dodaj zabilješku" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&Datoteka" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "&Postavke" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "&Pomoć" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "&Orijentacija" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "&Zabilješke" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "Alatna traka preglednika" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Sličice" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "Zabilješke" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"Ovaj dokument sadrži ugniježdene datoteke. Kliknite ovdje da ih vidite ili idite do Datoteka->Ugniježđene " +"datoteke." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "Prethodna" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "Idi na prethodnu stranicu" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "Prelazi na prethodnu stranicu dokumenta" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "Sljedeća" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "Pređi na sljedeću stranicu" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "Prelazi na sljedeću stranicu dokumenta" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "Početak dokumenta" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "Pomijera na početak dokumenta" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "Kraj dokumenta" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "Pomijera na kraj dokumenta" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "Preimenuj trenutnu zabilješku" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "Prethodna zabilješka" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "Idi na prethodnu zabilješku" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "Sljedeća zabilješka" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "Idi na narednu zabilješku" + +#: part/part.cpp:748 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgid "Configure Okular…" +msgstr "Podešavanje Okulara..." + +#: part/part.cpp:751 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Configure Viewer…" +msgstr "Konfiguriši preglednik" + +#: part/part.cpp:757 +#, fuzzy, kde-format +#| msgid "Configure Viewer Backends" +msgid "Configure Viewer Backends…" +msgstr "Konfiguriši pozadinsku podršku pregledača" + +#: part/part.cpp:759 +#, fuzzy, kde-format +#| msgid "Configure Backends" +msgid "Configure Backends…" +msgstr "Podešavanje pozadina" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "O pozadini" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "Učitaj &nanovo" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "Ponovo učitaj trenutni dokument sa diska." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "Zatvori traku za &pretragu" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "Broj stranice" + +#: part/part.cpp:817 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "Podešavanje Okulara..." + +#: part/part.cpp:858 +#, fuzzy, kde-format +#| msgid "Speak Current Page" +msgid "Select All Text on Current Page" +msgstr "Govori trenutnu stranicu" + +#: part/part.cpp:871 +#, fuzzy, kde-format +#| msgid "Show &Page Bar" +msgid "Show S&idebar" +msgstr "Prikaži &traku stranica" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "Prikaži &traku stranica" + +#: part/part.cpp:886 +#, fuzzy, kde-format +#| msgid "Show &Navigation Panel" +msgid "Show &Signatures Panel" +msgstr "Prikaži &Navigacijski Panel" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "&Ugrađene datoteke" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "&Izvezi kao" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "P&rezentacija" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "" + +#: part/part.cpp:945 +#, fuzzy, kde-format +#| msgid "&Import PostScript as PDF..." +msgid "&Import PostScript as PDF…" +msgstr "&Uvezi PostScript kao PDF..." + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "Promijeni mod crnog ekrana" + +#: part/part.cpp:957 +#, fuzzy, kde-format +#| msgid "Erase Drawings" +msgid "Erase Drawing" +msgstr "Izbriši crteže" + +#: part/part.cpp:962 +#, fuzzy, kde-format +#| msgid "Configure Annotations..." +msgid "Configure Annotations…" +msgstr "Podesi zabilješke.." + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "Reprodukuj/Pauziraj Prezentaciju" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" + +#: part/part.cpp:1123 +#, fuzzy, kde-format +#| msgid "Document Password" +msgid "Document can't be saved" +msgstr "Lozinka dokumenta" + +#: part/part.cpp:1152 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not open '%1' (%2) " +msgstr "Ne mogu otvoriti %1" + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "Učitavanje %1 je otkazano." + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "Ne mogu otvoriti %1. Razlog: %2" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "Konfiguriši pozadinsku podršku pregledača" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "Podešavanje pozadina" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"Nije pronađen program \"ps2pdf\", stoga Okular ne može importovati PS " +"datoteke koje ga koriste." + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "nije pronađen ps2pdf" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "" + +#: part/part.cpp:1357 +#, fuzzy, kde-format +#| msgid "Importing PS file as PDF (this may take a while)..." +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "Unosim PS datoteku kao PDF (ovo može potrajati)..." + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "Molim unesite lozinku da biste pročitali dokument:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "Pogrešna lozinka. Pokušajte ponovo:" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "Lozinka dokumenta" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "Ovaj dokument ima XFA forme koje su trenutno nepodržane." + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"Ovaj dokument sadrži formulare. Kliknite na dugme da interagujete sa njima " +"ili koristite Pogled->Prikaži formulare." + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "" + +#: part/part.cpp:1739 +#, fuzzy, kde-format +#| msgid "Exit Presentation Mode" +msgid "Enter Presentation Mode" +msgstr "Izađi iz prezentacijskog načina" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "" + +#: part/part.cpp:1830 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not open %1. %2" +msgstr "Ne mogu otvoriti %1" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "" + +#: part/part.cpp:1865 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue Reloading" +msgstr "&Neprekidno" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" + +#: part/part.cpp:1875 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue Closing" +msgstr "&Neprekidno" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "" + +#: part/part.cpp:1883 +#, fuzzy, kde-format +#| msgid "Do you want to save your annotation changes or discard them?" +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "Želite li snimiti promjene zabilješki ili ih odbaciti?" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "Zatvori dokument" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"Ovaj link pokazuje na radnju zatvaranja dokumenta koja ne radi kada se " +"koristi ugrađeni preglednik." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"Ovaj link pokazuje na radnju izlaska iz programa koja ne radi kada se " +"koristi ugrađeni preglednik." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Reloading the document…" +msgstr "Ponovo učitavam dokumenat..." + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "Sadržaj" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Idi na stranicu" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "&Stranica:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "Unesi novo ime zabilješke:" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "Preimenuj zabilješki" + +#: part/part.cpp:2509 +#, fuzzy, kde-format +#| msgid "Rename this Bookmark" +msgid "Remove this Bookmark" +msgstr "Preimenuj zabilješki" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, fuzzy, kde-format +#| msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +#| msgid "%1 (%2)" +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, fuzzy, kde-format +#| msgctxt "@action:inmenu" +#| msgid "&Save As..." +msgid "Save As" +msgstr "&Spremi kao..." + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" + +#: part/part.cpp:2621 +#, fuzzy, kde-format +#| msgid "Line Extensions" +msgid "Unsupported extension" +msgstr "Produžeci linija" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
Do you want to continue?" +msgstr "" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "Ne mogu otovriti privremenu datoteku za spremanje." + +#: part/part.cpp:2726 +#, fuzzy, kde-kuit-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "Datoteka se ne može spremiti u '%1'. Pokušajte drugu lokaciju." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
Do you want to continue?" +msgstr "" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "Datoteka se ne može spremiti u '%1'. Pokušajte drugu lokaciju." + +#: part/part.cpp:2766 +#, fuzzy, kde-format +#| msgctxt "Edit an form's text contents" +#| msgid "edit form contents" +msgid "Filled form contents" +msgstr "uredi sadržaj formulara" + +#: part/part.cpp:2769 +#, fuzzy, kde-format +#| msgctxt "remove a collection of annotations from the page" +#| msgid "remove annotations" +msgid "User annotations" +msgstr "ukloni zabilješke" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" + +#: part/part.cpp:2796 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue" +msgstr "&Neprekidno" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "Datoteka nije spremljena u '%1'. %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"Okular ne može kopirati %1 na datu lokaciju.\n" +"Dokument više ne postoji." + +#: part/part.cpp:2899 +#, fuzzy, kde-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "Datoteka se ne može spremiti u '%1'. Pokušajte drugu lokaciju." + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "End Presentation" +msgid "Expand Whole Section" +msgstr "Završi prezentaciju" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "End Presentation" +msgid "Collapse Whole Section" +msgstr "Završi prezentaciju" + +#: part/part.cpp:3172 +#, fuzzy, kde-format +#| msgid "Link the &thumbnails with the page" +msgid "Sync Thumbnail with Page" +msgstr "Poveži &sličice sa stranom" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Alati" + +#: part/part.cpp:3381 +#, fuzzy, kde-format +#| msgid "Speak Text" +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "Izgovaranje teksta" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "Nije dozvoljeno štapanje ovog dokumenta." + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"Dokument se ne može štampati. Nepoznata greška. Molim prijavite na bugs.kde." +"org" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"Dokument se ne može štampati. Detaljna greška je \"%1\". Molimo prijavite " +"greške na bugs.kde.org" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "Ide na mjesto na kojem ste bili prije." + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "Ide na mjesto na kojem ste bili poslije." + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"Greška s datotekom! Ne može se otvoriti privremena " +"datoteka %1." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"Greška sa datotekom! Ne može se otvoriti datoteka " +"%1 za dekompresiju. Datoteka neće biti učitana." +"" + +#: part/part.cpp:3751 +#, fuzzy, kde-format +#| msgid "" +#| "This error typically occurs if you do not have enough permissions to " +#| "read the file. You can check ownership and permissions if you right-click " +#| "on the file in the Dolphin file manager and then choose the 'Properties' " +#| "tab." +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"Do ove greške obično dolazi ako nemate dovoljno dozvola za čitanje " +"datoteke. Vlasništvo i dozvole možete da provjerite ako kliknete desnom " +"tipkom miša na datoteku u menadžeru datoteka Delfin i izaberete karticu " +"Svojstva." + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"Greška sa datotekom! Ne može se dekompresovati datoteka " +"%1. Datoteka neće biti učitana." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"Do ove greške obično dolazi kada je datoteka pokvarena. Ako želite da se " +"uvjerite, pokušajte da dekompresujete datoteku koristeći alate komandne " +"linije." + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "Nema zabilješki" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "&Izmijeni" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "&Pogled" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&Kreni" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "&Alati" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "Glavna alatna traka" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgid "Annotation Toolbar" +msgstr "Alati zabilješki" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgid "Quick Annotation Toolbar" +msgstr "Alati zabilješki" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "Opšta podešavanja" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Pristupačnost" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "Pomoć pri čitanju" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Performanse" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "Podešavanje Performansi" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "Konfiguriši preglednik" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Prezentacija" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "Podešavanja za Mod Prezentacije" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "Svojstva zabilješke" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "Uređivač" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "Opcije uređivača" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "Nađi sljedeće" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 – Prezentacija" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "Promijeni ekran" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "Ekran %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "Izađi iz prezentacijskog načina" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Naslov: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Stranice: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "Klikni za početak" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "Pauziraj" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "Reprodukuj" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"Postoje dva načina da se izađe iz režima prezentacije. Možete pritisnuti " +"tipku ESC ili kliknuti na dugme za izlaz koje se pojavljuje kad pokazivač " +"miša dovedete u gornji desni ugao. Naravno, možete i kružiti kroz prozore " +"(podrazumijevano je Alt+TAB)." + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "Prezentujem" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "Nepoznata datoteka." + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "%1 Osobina" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "&Fontovi" + +#: part/propertiesdialog.cpp:145 +#, fuzzy, kde-format +#| msgid "Reading font information..." +msgid "Reading font information…" +msgstr "Čitam informacije fonta..." + +#: part/propertiesdialog.cpp:158 +#, fuzzy, kde-format +#| msgid "&Page Size" +msgid "&Page Sizes" +msgstr "&Veličina strane" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "&Ekstraktuj font" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Tip 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Tip 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "Tip 1C (OT)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Tip 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType (OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID Tip 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID Tip 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID Tip 0C (OT)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType (OT)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "TeX PK" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "TeX virtual" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "TeX-ova metrika fontova" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "TeX FreeType-handled" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "Nepoznat" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "Ugrađeno (podskup)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "Potpuno ugrađeno" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "Ne" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "Da(podskup)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "Da" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "[nedostupno]" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "Nepoznat font" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "Ugrađeno: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "Ime" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "Tip" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "Datoteka" + +#: part/propertiesdialog.cpp:498 +#, fuzzy, kde-format +#| msgid "Pages" +msgid "Page" +msgstr "Stranice" + +#: part/propertiesdialog.cpp:501 +#, fuzzy, kde-format +#| msgctxt "@title:column" +#| msgid "Size" +msgid "Size" +msgstr "Veličina" + +#: part/revisionviewer.cpp:41 +#, fuzzy, kde-format +#| msgid "Print Preview" +msgid "Revision Preview" +msgstr "Pregled prije štampe" + +#: part/revisionviewer.cpp:53 +#, fuzzy, kde-format +#| msgid "Where do you want to save %1?" +msgid "Where do you want to save this revision?" +msgstr "Gdje želite spremiti %1?" + +#: part/revisionviewer.cpp:56 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not save file %1." +msgstr "Ne mogu otvoriti %1" + +#: part/revisionviewer.cpp:75 +#, fuzzy, kde-format +#| msgid "Could not open %1. Reason: %2" +msgid "Could not view revision." +msgstr "Ne mogu otvoriti %1. Razlog: %2" + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "Upiši najmanje 3 slova za filtriranje stranica" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "Razlikovanje malih i velikih slova" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "Poklapanje fraze" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "Traži sve riječi" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "Poklapanje bilo koje riječi" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "Podešavanja Filtera" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Certificates" +msgstr "Konfiguriši preglednik" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, fuzzy, kde-format +#| msgid "Allow" +msgid "All" +msgstr "Dozvoli" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Only QES certificates" +msgstr "Konfiguriši preglednik" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, fuzzy, kde-format +#| msgid "Options" +msgid "optional" +msgstr "Opcije" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Location:" +msgstr "%1 Zabilješka" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, fuzzy, kde-format +#| msgid "Background color:" +msgid "Background:" +msgstr "Boja pozadine:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, fuzzy, kde-format +#| msgid "Background color:" +msgid "Recent backgrounds:" +msgstr "Boja pozadine:" + +#: part/side_reviews.cpp:66 +#, fuzzy, kde-format +#| msgid "" +#| "

No annotations

To create new annotations press " +#| "F6 or select Tools -> Review from the menu.
" +msgid "" +"

No annotations

To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
" +msgstr "" +"

Nema podvlačenja

Da biste napravili novo " +"podvlačenje pritisnite F6 ili izaberite Alati->Pregled iz menija." + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "Grupiši po stranici" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "Grupiši po autoru" + +#: part/side_reviews.cpp:155 +#, fuzzy, kde-format +#| msgid "Show reviews for current page only" +msgid "Show annotations for current page only" +msgstr "Pokaži preglede samo za trenutnu stranicu" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "" + +#: part/signaturepanel.cpp:101 +#, fuzzy, kde-format +#| msgid "&Properties" +msgid "Properties" +msgstr "&Osobine" + +#: part/signaturepartutils.cpp:180 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Stranice: %1" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "" + +#: part/signaturepartutils.cpp:244 +#, fuzzy, kde-format +#| msgid "Document Password" +msgid "Enter document password" +msgstr "Lozinka dokumenta" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:63 +#, fuzzy, kde-format +#| msgid "Information" +msgid "Additional Information" +msgstr "Informacija" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:83 +#, fuzzy, kde-format +#| msgctxt "A document format, Okular-specific" +#| msgid "Document Archive" +msgid "Document Version" +msgstr "Arhiva dokumenata" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:95 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "View Certificate…" +msgstr "Konfiguriši preglednik" + +#: part/signaturepropertiesdialog.cpp:97 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "View in Certificate Manager" +msgstr "Konfiguriši preglednik" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "Prikaži samo markirane strane" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "Pokreni" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Pauza" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "Stop" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, fuzzy, kde-format +#| msgid "&Edit" +msgid "&Edit…" +msgstr "&Izmijeni" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "&Ukloni" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "Pomjeri &Gore" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "Pomjeri &Dolje" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "Stranica dokumenta za prikaz" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "Pokreni dokument u prezentacijskom modu" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "Pokreni dijalog za štampu" + +#: shell/main.cpp:78 +#, fuzzy, kde-format +#| msgid "Start with print dialog" +msgid "Start with print dialog and exit after printing" +msgstr "Pokreni dijalog za štampu" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "Kontrola „jedinstvenog primjerka“" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "Ne podiži prozor" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "" + +#: shell/main.cpp:83 +#, fuzzy, kde-format +#| msgid "Document to open. Specify '-' to read from stdin." +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "Dokument za otvaranje. Navedite '-' za čitanje sa stdin." + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "" +"Greška: Ne može se otvoriti više od jednog dokumenta s --unique parametrom" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" +"Greška: Ne možete otvoriti više od jednog dokumenta pomoću --presentation " +"prekidača" + +#: shell/okular_main.cpp:198 +#, fuzzy, kde-format +#| msgid "" +#| "Error: Can't open more than one document with the --presentation switch" +msgid "Error: Can't open more than one document with the --print switch" +msgstr "" +"Greška: Ne možete otvoriti više od jednog dokumenta pomoću --presentation " +"prekidača" + +#: shell/okular_main.cpp:204 +#, fuzzy, kde-format +#| msgid "Error: Can't open more than one document with the --unique switch" +msgid "Error: Can't open more than one document with the --page switch" +msgstr "" +"Greška: Ne može se otvoriti više od jednog dokumenta s --unique parametrom" + +#: shell/okular_main.cpp:210 +#, fuzzy, kde-format +#| msgid "" +#| "Error: Can't open more than one document with the --presentation switch" +msgid "Error: Can't open more than one document with the --find switch" +msgstr "" +"Greška: Ne možete otvoriti više od jednog dokumenta pomoću --presentation " +"prekidača" + +#: shell/shell.cpp:207 +#, fuzzy, kde-format +#| msgid "Unable to find the Okular component." +msgid "Unable to find the Okular component: %1" +msgstr "Ne mogu pronaći komponentu Okulara." + +#: shell/shell.cpp:250 +#, fuzzy, kde-format +#| msgid "Show &Page Bar" +msgid "Sidebar" +msgstr "Prikaži &traku stranica" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" +"Već postoji jedna kopija programa Okular. Ova kopija neće biti jedinstvena." + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "Ne mogu pronaći komponentu Okulara." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"Kliknite da otvorite datoteku\n" +"Kliknite i držite da otvorite skorašnju datoteku" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"Kliknite da otvorite datoteka ili kliknite i držite da " +"izaberete skorašnju datoteku" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "Sljedeća kartica" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "Prethodna kartica" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "" + +#: shell/shell.cpp:603 +#, fuzzy, kde-format +#| msgid "Show &Page Bar" +msgid "Lock Sidebar" +msgstr "Prikaži &traku stranica" + +#: shell/shell.cpp:703 +#, fuzzy, kde-format +#| msgid "*|All Files" +msgid "All files (*)" +msgstr "*|Sve datoteke" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "Otvori dokument" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "" + +#: shell/shell.cpp:826 +#, fuzzy, kde-format +#| msgid "Close" +msgid "Close Tabs" +msgstr "Zatvori" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "" + +#: shell/welcomescreen.cpp:64 +#, fuzzy, kde-format +#| msgid "Copy Text" +msgid "&Copy Path" +msgstr "Kopiraj tekst" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "" + +#: shell/welcomescreen.cpp:137 +#, fuzzy, kde-format +#| msgid "Current document only" +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "Samo trenutni dokument" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, fuzzy, kde-format +#| msgid "Open Document" +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Otvori dokument" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, fuzzy, kde-format +#| msgid "Current document only" +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Samo trenutni dokument" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "" + +#, fuzzy +#~| msgid "For Comment" +#~ msgid "Geometry with Comment" +#~ msgstr "Za komentar" + +#~ msgid "Geometry" +#~ msgstr "Geometrija" + +#~ msgid "Modified: %1" +#~ msgstr "Izmjenjeno: %1" + +#~ msgid "Find..." +#~ msgstr "Traži..." + +#~ msgid "Go To Page..." +#~ msgstr "Idi na stranu..." + +#~ msgid "Play movie..." +#~ msgstr "Pokreni film..." + +#, fuzzy +#~| msgid "S&earch:" +#~ msgid "Search..." +#~ msgstr "&Traži:" + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "&Spremi kao..." + +#, fuzzy +#~| msgid "&View" +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "&Pogled" + +#~ msgid "Configure Viewer..." +#~ msgstr "Podešavanje preglednika..." + +#~ msgid "Configure Viewer Backends..." +#~ msgstr "Konfiguriši pozadinsku podršku pregledača..." + +#~ msgid "Configure Backends..." +#~ msgstr "Podesi pozadine.." + +#~ msgid "&Add..." +#~ msgstr "&Dodaj..." + +#~ msgid "&Edit..." +#~ msgstr "&Izmijeni..." + +#, fuzzy +#~| msgctxt "Unknown author" +#~| msgid "Unknown" +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "Nepoznat" + +#, fuzzy +#~| msgid "%" +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " %" + +#, fuzzy +#~| msgid "%" +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%" + +#, fuzzy +#~| msgid "Fit Width" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "Prilagodi po širini" + +#, fuzzy +#~| msgid "Fit Page" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "Prilagodi po stranici" + +#, fuzzy +#~| msgid "Auto Fit" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Auto Fit" +#~ msgstr "Automatsko uklapanje" + +#~ msgid "*|All Files" +#~ msgstr "*|Sve datoteke" + +#, fuzzy +#~| msgid "Show &Page Bar" +#~ msgid "Show Sidebar" +#~ msgstr "Prikaži &traku stranica" + +#, fuzzy +#~| msgid "Experimental" +#~ msgctxt "@title:window" +#~ msgid "Experimental feature" +#~ msgstr "Eksperimentalno" + +#~ msgid "Remove Bookmarks" +#~ msgstr "Ukloni zabilješke" + +#, fuzzy +#~| msgid "Annotations" +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "Zabilješke" + +#, fuzzy +#~| msgid "Highlight" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "Istaknuto" + +#, fuzzy +#~| msgid "Underline" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Underline" +#~ msgstr "Podvučeno" + +#, fuzzy +#~| msgid "Squiggle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Squiggle" +#~ msgstr "Iskrivljeno" + +#, fuzzy +#~| msgid "Strike Out" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Strike Out" +#~ msgstr "Precrtano" + +#, fuzzy +#~| msgid "Insert" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "Umetni" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "Ugrađena bilješka" + +#, fuzzy +#~| msgid "Pop-up Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "Iskočna poruku" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a freehand line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Freehand Line" +#~ msgstr "Crtaj prostoručnu liniju" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a straight line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Straight line" +#~ msgstr "Crtaj pravu liniju" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a rectangle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Rectangle" +#~ msgstr "Crtaj pravougaonik" + +#, fuzzy +#~| msgid "Ellipse" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Ellipse" +#~ msgstr "Elipsa" + +#, fuzzy +#~| msgid "Polygon" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Polygon" +#~ msgstr "Poligon" + +#, fuzzy +#~| msgid "Highlighter" +#~ msgid "Highlight in Yellow" +#~ msgstr "Istaknuto" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Highlight text" +#~ msgid "Highlight in Green" +#~ msgstr "Istaknuti tekst" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgid "Insert Inline Note" +#~ msgstr "Ugrađena bilješka" + +#, fuzzy +#~| msgid "Pop-up Note" +#~ msgid "Insert Popup Note" +#~ msgstr "Iskočna poruku" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "Označite tekst." + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "Označite tekst." + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "Označite tekst." + +#, fuzzy +#~| msgid "&Magnifier" +#~ msgctxt "verb" +#~ msgid "&Magnify" +#~ msgstr "&Povećalo" + +#, fuzzy +#~| msgctxt "Add an annotation to the page" +#~| msgid "add annotation" +#~ msgid "Bookmark annotation" +#~ msgstr "dodaj zabilješku" + +#~ msgid "&Toggle Change Colors" +#~ msgstr "Preklopi promijene &boje" + +#, fuzzy +#~| msgid "Enable transitions" +#~ msgctxt "@option:check Config dialog, presentation page, transitions" +#~ msgid "Enable transitions" +#~ msgstr "Omogući prelaze" + +#, fuzzy +#~| msgid "Advance every:" +#~ msgctxt "@label:spinbox Config dialog, presentation page" +#~ msgid "Advance every:" +#~ msgstr "Napreduj svako:" + +#, fuzzy +#~| msgid "Background color:" +#~ msgctxt "@label:listbox Config dialog, general page" +#~ msgid "Custom background color:" +#~ msgstr "Boja pozadine:" + +#~ msgid "Draw border around &Images" +#~ msgstr "Crtaj liniju oko &Slika" + +#~ msgid "Identity" +#~ msgstr "Identitet" + +#, fuzzy +#~| msgid "&Author:" +#~ msgid "Au&thor:" +#~ msgstr "&Autor:" + +#~ msgid "View Options" +#~ msgstr "Pregled opcija" + +#~ msgctxt "@info:whatsthis" +#~ msgid "" +#~ "Defines the default zoom mode for files which were never opened before.\n" +#~ "For files which were opened before the previous zoom is applied." +#~ msgstr "" +#~ "Definiše podrazumijevani režim uvećanja za datoteke koje nisu prije bile " +#~ "otvarane. \n" +#~ "Za datoteke koje su ranije otvorene, primjenjuje se prethodno uvećanje." + +#~ msgid "Navigation" +#~ msgstr "Navigacija" + +#~ msgid "Placement" +#~ msgstr "Smještaj" + +#~ msgid "Screen:" +#~ msgstr "Ekran:" + +#~ msgid "&Get Books From Internet..." +#~ msgstr "&Skini knjige s interneta..." + +#~ msgid "Reviews" +#~ msgstr "Recenzije" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "@item:inlistbox Color name" +#~ msgid "%1" +#~ msgstr "%1:" + +#~ msgid "Hide Forms" +#~ msgstr "Sakrij forme" + +#~ msgid "&Review" +#~ msgstr "&Pregled" + +#~ msgid "Annotations author" +#~ msgstr "Autor zabilješke" + +#~ msgid "Please insert your name or initials:" +#~ msgstr "Upišite vaše ime ili inicijale:" + +#~ msgid "Show &Navigation Panel" +#~ msgstr "Prikaži &Navigacijski Panel" + +#~ msgid "Show Text" +#~ msgstr "Prikaži tekst" + +#~ msgid "Small Icons" +#~ msgstr "Male ikone" + +#~ msgid "Large Icons" +#~ msgstr "Velike ikone" + +#, fuzzy +#~| msgid "" +#~| "Click to use the current selection tool\n" +#~| "Click and hold to choose another selection tool" +#~ msgid "" +#~ "Click to use the current selection tool\n" +#~ "Click on the arrow to choose another selection tool" +#~ msgstr "" +#~ "Kliknite za korištenje trenutnog alata za odabir\n" +#~ "Držite kliknuto za izbor drugog alata za odabir" + +#~ msgid "Created: %1" +#~ msgstr "Kreiran: %1" + +#~ msgid "Style" +#~ msgstr "Stil" + +#~ msgid "&Size:" +#~ msgstr "&Veličina:" + +#~ msgid "Inner color:" +#~ msgstr "Unutrašnja boja:" + +#~ msgid "Name: %1" +#~ msgstr "Ime: %1" + +#~ msgid "Size: %1" +#~ msgstr "Veličina: %1" + +#~ msgid "&Browse Tool" +#~ msgstr "&Alat pregledanja" + +#~ msgid "&Zoom Tool" +#~ msgstr "&Alat uvećanja" + +#~ msgctxt "Zoom Tool" +#~ msgid "Zoom" +#~ msgstr "Uvećaj" + +#~ msgctxt "Select Tool" +#~ msgid "Selection" +#~ msgstr "Izbor" + +#~ msgid "&Text Selection Tool" +#~ msgstr "&Alat za označavanje teksta" + +#~ msgid "T&able Selection Tool" +#~ msgstr "&Alat za izbor tabele" + +#, fuzzy +#~| msgctxt "Symbol for caret annotations" +#~| msgid "None" +#~ msgid " None" +#~ msgstr "Ništa" + +#~ msgid "" +#~ "The document requested to be launched in presentation mode.\n" +#~ "Do you want to allow it?" +#~ msgstr "" +#~ "Dokument zahtijeva da bude pokrenut u prezentacijskom režimu.\n" +#~ "Da li dozvoljavate?" + +#~ msgid "Presentation Mode" +#~ msgstr "Prezentacijski režim" + +#~ msgid "Allow the presentation mode" +#~ msgstr "Dozvoli prezentacijski režim" + +#~ msgid "Do Not Allow" +#~ msgstr "Nemoj dozvoliti" + +#~ msgid "Do not allow the presentation mode" +#~ msgstr "Zabrani prezentacijski ewžim" + +#~ msgid "" +#~ "Your annotation changes will not be saved automatically. Use File -> Save " +#~ "As...\n" +#~ "or your changes will be lost once the document is closed" +#~ msgstr "" +#~ "Promjene zabilješki neće biti snimljene automatski. Koristite Datoteka-> " +#~ "Snimi kao...\n" +#~ "inače će vaše promjene biti izgubljene pri zatvaranju dokumenta" + +#~ msgid "" +#~ "Your annotations are saved internally by Okular.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" +#~ msgstr "" +#~ "Okular je interno snimio zabilješke.\n" +#~ "Možete izvesti anotirani dokument koristeći Datoteka -> Izvezi kao -> " +#~ "Dokument arhiva" + +#~ msgid "Save &Copy As..." +#~ msgstr "Snimi &Kopiju kao..." + +#~ msgid "" +#~ "Your annotations will not be exported.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" +#~ msgstr "" +#~ "Vaše anotacije neće biti izvezene.\n" +#~ "Možete izvesti anotirani dokument koristeći Datoteka -> Izvezi kao -> " +#~ "Dokument arhiva" + +#~ msgid "" +#~ "End of document reached.\n" +#~ "Continue from the beginning?" +#~ msgstr "" +#~ "Došao sam do kraja dokumenta.\n" +#~ "Želite li nastaviti od početka?" + +#~ msgid "" +#~ "Beginning of document reached.\n" +#~ "Continue from the bottom?" +#~ msgstr "" +#~ "Došao sam do kraja dokumenta.\n" +#~ "nastaviti sa kraja?" + +#~ msgid "Current maintainer" +#~ msgstr "Trenutno održava" + +#~ msgid " sec." +#~ msgstr " sek." + +#~ msgid "Pencil color:" +#~ msgstr "Boja olovke:" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A0" +#~ msgstr "položeni DIN/ISO A0" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A0" +#~ msgstr "uspravni DIN/ISO A0" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A1" +#~ msgstr "položeni DIN/ISO A1" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A1" +#~ msgstr "uspravni DIN/ISO A1" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A2" +#~ msgstr "položeni DIN/ISO A2" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A2" +#~ msgstr "uspravni DIN/ISO A2" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A3" +#~ msgstr "položeni DIN/ISO A3" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A3" +#~ msgstr "uspravni DIN/ISO A3" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A4" +#~ msgstr "položeni DIN/ISO A4" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A4" +#~ msgstr "uspravni DIN/ISO A4" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A5" +#~ msgstr "položeni DIN/ISO A5" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A5" +#~ msgstr "uspravni DIN/ISO A5" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A6" +#~ msgstr "položeni DIN/ISO A6" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A6" +#~ msgstr "uspravni DIN/ISO A6" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A7" +#~ msgstr "položeni DIN/ISO A7" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A7" +#~ msgstr "uspravni DIN/ISO A7" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A8" +#~ msgstr "položeni DIN/ISO A8" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A8" +#~ msgstr "uspravni DIN/ISO A8" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A9" +#~ msgstr "položeni DIN/ISO A9" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A9" +#~ msgstr "uspravni DIN/ISO A9" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B0" +#~ msgstr "položeni DIN/ISO B0" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B0" +#~ msgstr "uspravni DIN/ISO B0" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B1" +#~ msgstr "položeni DIN/ISO B1" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B1" +#~ msgstr "uspravni DIN/ISO B1" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B2" +#~ msgstr "položeni DIN/ISO B2" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B2" +#~ msgstr "uspravni DIN/ISO B2" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B3" +#~ msgstr "položeni DIN/ISO B3" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B3" +#~ msgstr "uspravni DIN/ISO B3" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B4" +#~ msgstr "položeni DIN/ISO B4" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B4" +#~ msgstr "uspravni DIN/ISO B4" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B5" +#~ msgstr "položeni DIN/ISO B5" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B5" +#~ msgstr "uspravni DIN/ISO B5" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B6" +#~ msgstr "položeni DIN/ISO B6" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B6" +#~ msgstr "uspravni DIN/ISO B6" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B7" +#~ msgstr "položeni DIN/ISO B7" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B7" +#~ msgstr "uspravni DIN/ISO B7" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B8" +#~ msgstr "položeni DIN/ISO B8" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B8" +#~ msgstr "uspravni DIN/ISO B8" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B9" +#~ msgstr "položeni DIN/ISO B9" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B9" +#~ msgstr "uspravni DIN/ISO B9" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B10" +#~ msgstr "položeni DIN/ISO B10" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B10" +#~ msgstr "uspravni DIN/ISO B10" + +#~ msgctxt "paper size" +#~ msgid "landscape letter" +#~ msgstr "položeni letter" + +#~ msgctxt "paper size" +#~ msgid "portrait letter" +#~ msgstr "uspravni letter" + +#~ msgctxt "paper size" +#~ msgid "landscape legal" +#~ msgstr "položeni legal" + +#~ msgctxt "paper size" +#~ msgid "portrait legal" +#~ msgstr "uspravni legal" + +#~ msgctxt "paper size" +#~ msgid "landscape executive" +#~ msgstr "položeni executive" + +#~ msgctxt "paper size" +#~ msgid "portrait executive" +#~ msgstr "uspravni executive" + +#~ msgctxt "paper size" +#~ msgid "landscape Comm10E" +#~ msgstr "položeni Comm10E" + +#~ msgctxt "paper size" +#~ msgid "portrait Comm10E" +#~ msgstr "uspravni Comm10E" + +#~ msgctxt "paper size" +#~ msgid "landscape DLE" +#~ msgstr "položeni DLE" + +#~ msgctxt "paper size" +#~ msgid "portrait DLE" +#~ msgstr "uspravni DLE" + +#~ msgctxt "paper size" +#~ msgid "landscape folio" +#~ msgstr "položeni folio" + +#~ msgctxt "paper size" +#~ msgid "portrait folio" +#~ msgstr "uspravni folio" + +#~ msgctxt "paper size" +#~ msgid "ledger" +#~ msgstr "ledger" + +#~ msgctxt "paper size" +#~ msgid "tabloid" +#~ msgstr "tabloid" + +#~ msgctxt "paper size" +#~ msgid "unknown landscape paper size" +#~ msgstr "nepoznata veličina položenog papira" + +#~ msgctxt "paper size" +#~ msgid "unknown portrait paper size" +#~ msgstr "nepoznata veličina uspravnog papira" + +#~ msgid "Toggle Drawing Mode" +#~ msgstr "Promijeni mod za crtanje" + +#~ msgid "Starting Jovie Text-to-Speech service Failed: %1" +#~ msgstr "Pokretanje servisa za tekst‑u‑govor Jovie nije uspjelo: %1" + +#~ msgid "Search Columns" +#~ msgstr "Traži po kolonama" + +#~ msgid "All Visible Columns" +#~ msgstr "Sve vidljive kolone" diff --git a/po/bs/okular_comicbook.po b/po/bs/okular_comicbook.po new file mode 100644 index 0000000..7519c25 --- /dev/null +++ b/po/bs/okular_comicbook.po @@ -0,0 +1,60 @@ +# Bosnian translation for kdegraphics +# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 +# This file is distributed under the same license as the kdegraphics package. +# FIRST AUTHOR , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: kdegraphics\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-10-18 20:23+0000\n" +"Last-Translator: Samir Ribić \n" +"Language-Team: Bosnian \n" +"Language: bs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Launchpad (build 17341)\n" +"X-Launchpad-Export-Date: 2015-02-15 06:05+0000\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Samir Ribić" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "samir.ribic@etf.unsa.ba" + +#: document.cpp:97 +#, fuzzy, kde-format +#| msgid "Cannot open document, unrar was not found." +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "Ne mogu da otvorim dokument, unrar nije nađen." + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "Verzija unrar na sistemu nije podesna za otvaranje ComicBooka." + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "Nepoznat format ComicBooka." + +#~ msgid "ComicBook Backend" +#~ msgstr "Pozadina za ComicBook" + +#~ msgid "A renderer for various comic book formats" +#~ msgstr "Crtač različitih formata stripova" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/bs/okular_djvu.po b/po/bs/okular_djvu.po new file mode 100644 index 0000000..52c9419 --- /dev/null +++ b/po/bs/okular_djvu.po @@ -0,0 +1,110 @@ +# Bosnian translation for kdegraphics +# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 +# This file is distributed under the same license as the kdegraphics package. +# FIRST AUTHOR , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: kdegraphics\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-10-18 20:26+0000\n" +"Last-Translator: Samir Ribić \n" +"Language-Team: Bosnian \n" +"Language: bs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Launchpad (build 17341)\n" +"X-Launchpad-Export-Date: 2015-02-15 06:05+0000\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Dino Kraljušić,Samir Ribić" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "Dk@etf.ba,samir.ribic@etf.unsa.ba" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "Uređivač" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "Izdavač" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "Tom" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "Vrsta dokumenta" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "Nepoznat" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "Komponentske datoteke" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "Nepoznat" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "Jedna strana" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "Upakovano" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "Indirektan" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "Upakovano (staro)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "Indeksirano (staro)" + +#~ msgid "DjVu Backend" +#~ msgstr "DjVu pozadina" + +#~ msgid "DjVu backend based on DjVuLibre." +#~ msgstr "DjVu pozadina bazirana na DjVuLibre." + +#~ msgid "© 2006-2008 Pino Toscano" +#~ msgstr "© 2006-2008 Pino Toscano" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" diff --git a/po/bs/okular_dvi.po b/po/bs/okular_dvi.po new file mode 100644 index 0000000..107fba1 --- /dev/null +++ b/po/bs/okular_dvi.po @@ -0,0 +1,595 @@ +# Bosnian translation for kdegraphics +# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 +# This file is distributed under the same license as the kdegraphics package. +# FIRST AUTHOR , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: kdegraphics\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2015-02-09 10:55+0100\n" +"Last-Translator: Samir Ribic \n" +"Language-Team: Bosnian \n" +"Language: bs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Launchpad (build 17341)\n" +"X-Launchpad-Export-Date: 2015-02-15 06:05+0000\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Maida Kapić,Samir Ribić,Dino Babahmetovic" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "Mk@etf.ba,samir.ribic@etf.unsa.ba,dbabahmeto1@etf.unsa.ba" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

" +msgstr "" +"

Okular ne može locirati program dvipdfm na vašem računaru. " +"Ovaj program je esencijalan da bi funkcija eksportovanja radila. Možete, u " +"svakom slučaju, konvertovati DVI-datoteku u PDF koristeći funkciju za " +"štampanje iz Okulara, ali to će često kreirati dokumente koji se ispravno " +"štampaju, ali imaju niži kvalitet prilikom prikaza u Acrobat Reader-u. Moglo " +"bi biti mudro nadograditi na noviju verziju vašu TeX distribuciju koja " +"obuhvata dvipdfmprogram.

Preporuka zbunjenom sistem " +"administratoru: Okular koristi PATH varijablu okruženja kada traži programe." +"

" + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"eksterni program \"dvipdfm\", koji je korišten za izvoz datoteke je " +"prijavio grešku. Možete pogledati u document info dialog " +"koju možete pronaći u meniju Datoteka za opširniji izvještaj o grešci." + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" +"Ova DVI datoteka se odnosi na vanjske grafičke datoteke koje nisu u " +"PostScript formatu, i ne mogu biti upravljane pomoću dvipsprogramom " +"koji Okular interno koristi za štampu ili eksportovanje na PostScript. " +"Tražena funkcionalnost zbog toga nije dostupna u ovoj verziji Okulatra." + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

" +msgstr "" +"

Okular ne može locirati program dvipdfm na vašem računaru. " +"Ovaj program je esencijalan da bi funkcija eksportovanja radila.

Preporuka zbunjenom sistem administratoru: Okular koristi PATH " +"varijablu okruženja kada traži programe.

" + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Vanjski program 'dvips', koji je korišten za izvoz datoteke, prijavio je " +"grešku. Za detaljniji opis greške pogledajte dijalog sa " +"informacijama o dokumentu koji možete naći u meniju 'Datoteka'." + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "DVI datoteka ne počinje sa permeabulom." + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" +"DVI datoteka sadrži pogrešnu verziju od DVI izlaza za ovaj program. Opomena: " +"ako koristite typesetting sistem Omega,morate koristiti poseban program, kao " +"što je oxdvi." + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "" +"Dvi datoteka je jako oštećenja.Okular nije bio u mogućnosti da pronađe " +"postamble." + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "Postamble ne počinje sa Post naredbom." + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "Postambula sadrži neku drugu naredbu osim FNTDEF." + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "Stranica %1 ne počinje naredbom BOP." + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

PATH: %2

" +msgstr "" +"

Vanjski program pdf2psne može biti pokrenut. Kao " +"rezultat, PDF datoteka %1 ne može biti konvertovana u PostScript. Neki " +"grafički elementi u vašem dokumentu zbog toga neće biti prikazani.

Mogući razlog:Program pdf2ps moguće da nije " +"instaliran na vaš sistem, ili ne može biti pronađen u tekućoj traženoj " +"putanji.

Šta možete učiniti:Programpdf2ps je " +"uobičajeno sadržan u distribuciji ghostscript-a PostScript-ovog interpreter " +"sistema. Ako ghostscript nije instaliran na vašem sistemu, možete ga " +"instalirati sada. Ukoliko ste sigurni da je ghostscript instaliran, " +"pokušajte koristiti pdf2ps iz komandne linije da provjerite " +"da li zaista radi.

PATH: %2

" + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

%2

" +msgstr "" +"

PDF datoteka %1 ne može da se pretvori u PostScript. Zbog ovoga neće " +"biti prikazani neki grafički elementi dokumenta.

Mogući razlozi: Datoteka je možda oštećena, ili možda uopšte nije PDF datoteka. Naredba " +"pdf2ps, koju je Okular upotrebio, ispisala je sledeće:

%2

" + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "Datoteka oštećena. %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "Ne mogu sve PostScript datoteke biti uključene u vaš dokument. %1" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "Sve eksterne PostScript datoteke su uključene u vaš dokument." + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "Naznačena datoteka „%1“ ne postoji." + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" +"Tražili ste od Okulara da locira mjesto na DVI datoteci koje odgovara liniji " +"%1 u TeX datoteci %2. Čini se, u svakom slučaju, da DVI datoteka ne sadrži " +"potrebne izvorne informacije. " + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" +"Okular nije bio u stanju da locira mjesto u DVI datoteci koje odgovara " +"liniji %1 u TeX-datoteci %2." + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "DVI izvorni kod koristi znak iz nepoznatog fonta." + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "DVI izvorni kôd koristi font #%1 koji nije prethodno definisan." + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "Stek nije bio prazan kada je pozvana naredba EOP." + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "Stek je bio prazan kada je pozvana naredba POP." + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "DVI izvorni kod koristi font koji nije prethodno definisan." + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "Pozvana je nedozvoljena naredba." + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "Pronađen je nepoznat op-kod %1." + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "Ugrađujem %1" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
" +msgstr "" +"Stranica %1: Ne mogu da pretvorim PDF datoteku %2 u " +"PostScript.
" + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
" +msgstr "Stranica %1: Ne mogu da nađem PostScript datoteku %2.
" + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "Ne mogu da raščlanim podatke o veličini papira „%1“." + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

PATH: %1

%2

" +msgstr "" +"

Okular nije bio u stanju da locira sve font datoteke koje su " +"neophodne da se prikaže tekuća DVI datoteka. Vaš dokument može biti " +"nečitljiv.

PUTANJA: %1

%2" + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

PATH: %1

%2

" +msgstr "" +"

Pojavili su se problemi prilikom izvršavanja kpsewhich. Kao " +"rezultat, neke font datoteke ne mogu biti locirane, i vaš dokument može biti " +"nečitljiv.
Mogući razlog: kpsewhich program možda nije " +"instaliran na vaš sistem, ili ne može biti pronađena tekuća tražena putanja." +"

PUTANJA: %1

%2

" + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" +"Font generiran pomoću kpsewhich je napušten (izlazni kod %1, " +"greška %2). Kao rezultat, neke datoteke ne mogu biti locirane, i vaš " +"dokument može biti nečitljiv." + +#: fontpool.cpp:482 +#, fuzzy, kde-format +#| msgid "Currently generating %1 at %2 dpi..." +msgid "Currently generating %1 at %2 dpi…" +msgstr "Trenutno generiram %1 u %2 dpi..." + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "Generator/datum" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "Font nije pronađen" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "portret" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "pejzaž" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" +"Verzija Ghostview-a koja je instalirana na ovaj računar ne sadrži ni jedan " +"Ghostview drajver uređaja koji su poznati Okularu. Postscript podrška je " +"zbog toga isključena u Okularu." + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "" +"To je napravilo 25 grešaka. Dalje poruke o greškama neće biti ispisivane." + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" +"Greška u DVI datoteci '%1',stranica %2. Boja pop naredbe izdaje kada je boja " +"stacka prazna." + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" +"Neispravan parametar u epsf posebnoj naredbi.\n" +"Očekivani float za pratiti %1 u %2." + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"Datoteka nije pronađena:\n" +" %1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" +"Greška u DVI datoteci '%1', stranica %2.Ne može se protumačiti ugao rotacije " +"u posebnom tekstu." + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "Posebna naredba '%1' nije realizovana." + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" +"Font datoteka %1 se može da otvoriti i čitati, ali njen format nije podržan." + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "" +"Font datoteka %1 je ili pokvarena ili ne se može se otvoriti ili pročitati." + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" +"FreeType je prijavio grešku prilikom postavljanja veličine znakova za font " +"datoteku %1." + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "FreeType ne može da učita glif #%1 iz font datoteke %2." + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "FreeType ne može da obradi glif #%1 iz font datoteke %2." + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "Glif #%1 je prazan." + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "Glif #%1 iz font datoteke %2 je prazan." + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "FreeType ne može da učita metriku za glif #%1 iz font datoteke %2." + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "Ne mogu da otvorim font datoteku %1." + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "TexFont_PK::operator[]: Znak %1 nije definisan u fontu %2" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "Neočekivan %1 u PK datoteci %2" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "Znak %1 je previše veliki u datoteci %2" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "Pogrešan broj bitova je sačuvan: znak %1, font %2" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "Loša pk datoteka (%1), previše bita" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "Font nema kockasti omjer " + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "Ne mogu da nađem font %1, datoteka %2." + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "Neslaganje kontrolne sume za datoteku fonta %1." + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "Ne mogu da prepoznam format datoteke fonta %1." + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"Kobna greška.\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" +"\n" +"\n" +"Ovo vjerovatno znači da ste ili našli grešku u Okularu, ili da su DVI " +"datoteke ili dopunske datoteke (poput datoteka fontova ili virtuelnih " +"fontova) ozbiljno oštećene. Okular će obustaviti rad poslije ove poruke. Ako " +"mislite da ste pronašli grešku, ili da Okular treba bolje da se snađe u ovoj " +"situaciji, prijavite ovaj problem.." + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "Pogrešan komandni bit pronađen u VF makro listi: %1" + +#~ msgid "" +#~ "

The Ghostview program, which Okular uses internally to display the " +#~ "PostScript graphics that is included in this DVI file, is generally able " +#~ "to write its output in a variety of formats. The sub-programs that " +#~ "Ghostview uses for these tasks are called 'device drivers'; there is one " +#~ "device driver for each format that Ghostview is able to write. Different " +#~ "versions of Ghostview often have different sets of device drivers " +#~ "available. It seems that the version of Ghostview that is installed on " +#~ "this computer does not contain any of the device drivers " +#~ "that are known to Okular.

It seems unlikely that a regular " +#~ "installation of Ghostview would not contain these drivers. This error may " +#~ "therefore point to a serious misconfiguration of the Ghostview " +#~ "installation on your computer.

If you want to fix the problems with " +#~ "Ghostview, you can use the command gs --help to display " +#~ "the list of device drivers contained in Ghostview. Among others, Okular " +#~ "can use the 'png256', 'jpeg' and 'pnm' drivers. Note that Okular needs to " +#~ "be restarted to re-enable PostScript support.

" +#~ msgstr "" +#~ "

Za prikazivanje PostScript grafike uključene u ovu DVI datotekul " +#~ "Okular interno koristi program GhostView, koji može da proizvede mnoge " +#~ "različite formate na izlazu. Potprogrami koje GhostView koristi u ovu " +#~ "svrhu nazivaju se „drajverima uređaja“, po jedan za svaki format koji " +#~ "GhostView može da zapiše. Različita izdanja GhostViewa često imaju " +#~ "različite skupove drajvera. Izgleda da izdanje GhostViewa instalirano na " +#~ "ovom računaru ne sadrži nijedan drajver poznat Okularu.

Malo je vjerovatno da ispravna instalacija GhostViewa ne sadrži " +#~ "nijedan drajver. Stoga ova greška vjerovatno ukazuje na ozbiljne greške u " +#~ "postavi GhostViewa na ovom računaru.

Ukoliko želite da otklonite " +#~ "probleme sa GhostViewom, možete izvršiti naredbu gs --help " +#~ "da dobijete spisak drajvera koje GhostView sadrži. Između ostalih, Okular " +#~ "može da koristi drajvere png256, jpeg i pnm. Okular mora biti ponovo " +#~ "pokrenut da bi se ponovo provjerila podrška za PostScript.

" + +#~ msgid "DVI Backend" +#~ msgstr "Pozadina za DVI" + +#~ msgid "A DVI file renderer" +#~ msgstr "Renderer DVI datoteka" + +#~ msgid "© 2006 Luigi Toscano" +#~ msgstr "© 2006 Luigi Toscano" diff --git a/po/bs/okular_epub.po b/po/bs/okular_epub.po new file mode 100644 index 0000000..788f4b7 --- /dev/null +++ b/po/bs/okular_epub.po @@ -0,0 +1,58 @@ +# Bosnian translation for kdegraphics +# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 +# This file is distributed under the same license as the kdegraphics package. +# FIRST AUTHOR , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: kdegraphics\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-10-18 20:12+0000\n" +"Last-Translator: Samir Ribić \n" +"Language-Team: Bosnian \n" +"Language: bs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Launchpad (build 17341)\n" +"X-Launchpad-Export-Date: 2015-02-15 06:05+0000\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Samir Ribić" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "samir.ribic@etf.unsa.ba" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "Greška pri otvaranju EPUB dokumenta." + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "EPub" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "Konfiguracija pozadine za EPUB" + +#~ msgid "EPub Backend" +#~ msgstr "Pozadina za EPUB" + +#~ msgid "An EPub backend" +#~ msgstr "Pozadina za EPUB" + +#~ msgid "© 2008 Ely Levy" +#~ msgstr "© 2008 Ely Levy" + +#~ msgid "Ely Levy" +#~ msgstr "Ely Levy" diff --git a/po/bs/okular_fax.po b/po/bs/okular_fax.po new file mode 100644 index 0000000..8830639 --- /dev/null +++ b/po/bs/okular_fax.po @@ -0,0 +1,48 @@ +# Bosnian translation for kdegraphics +# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 +# This file is distributed under the same license as the kdegraphics package. +# FIRST AUTHOR , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: kdegraphics\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-10-18 20:16+0000\n" +"Last-Translator: Samir Ribić \n" +"Language-Team: Bosnian \n" +"Language: bs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Launchpad (build 17341)\n" +"X-Launchpad-Export-Date: 2015-02-15 06:05+0000\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Samir Ribić" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "samir.ribic@etf.unsa.ba" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "Ne mogu da učitam dokument" + +#~ msgid "Fax Backend" +#~ msgstr "Pozadina za faksove" + +#~ msgid "A G3/G4 fax document backend" +#~ msgstr "Pozadina za G4 Fax i G3 Fax dokumente" + +#~ msgid "© 2008 Tobias Koenig" +#~ msgstr "© 2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/bs/okular_fictionbook.po b/po/bs/okular_fictionbook.po new file mode 100644 index 0000000..3716cd3 --- /dev/null +++ b/po/bs/okular_fictionbook.po @@ -0,0 +1,83 @@ +# Bosnian translation for kdegraphics +# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 +# This file is distributed under the same license as the kdegraphics package. +# FIRST AUTHOR , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: kdegraphics\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-10-18 19:26+0000\n" +"Last-Translator: Samir Ribić \n" +"Language-Team: Bosnian \n" +"Language: bs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Launchpad (build 17341)\n" +"X-Launchpad-Export-Date: 2015-02-15 06:05+0000\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Samir Ribić" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "samir.ribic@etf.unsa.ba" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "Dokument nije pravilan FictionBook" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "Ne mogu da otvorim dokument: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "Dokument nije pravilna ZIP arhiva" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "Nepravilna struktura dokumenta (nedostaje glavni imenik)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "U dokumentu nema sadržaja" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "Nepravilan XML dokument: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "FictionBook" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "Konfiguracija pozadine za FictionBook" + +#~ msgid "Fiction Book Backend" +#~ msgstr "Pozadina za FictionBook" + +#~ msgid "A renderer for FictionBook eBooks" +#~ msgstr "Crtač za FictionBook elektronske knjige" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/bs/okular_ghostview.po b/po/bs/okular_ghostview.po new file mode 100644 index 0000000..a0bc65d --- /dev/null +++ b/po/bs/okular_ghostview.po @@ -0,0 +1,94 @@ +# Bosnian translation for kdegraphics +# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 +# This file is distributed under the same license as the kdegraphics package. +# FIRST AUTHOR , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: kdegraphics\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-10-18 20:21+0000\n" +"Last-Translator: Samir Ribić \n" +"Language-Team: Bosnian \n" +"Language: bs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Launchpad (build 17341)\n" +"X-Launchpad-Export-Date: 2015-02-15 06:05+0000\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Samir Ribić" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "Samir.ribic@etf.unsa.ba" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "Koristi fontove platforme" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"Određuje da li je GhostScriptu dozvoljeno da koristi sistemske fontove. Ako " +"nije, moći će da koristi samo fontove ugniježđene u dokumentu." + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "Opšte postavke" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "&Koristi fontove platforme" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "GhostScript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Postavke pozadine za GhostScript" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "Verzija dokumenta" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "Nivo jezika" + +#~ msgid "PS Backend" +#~ msgstr "Pozadina za PostScript" + +#~ msgid "A PostScript file renderer." +#~ msgstr "Crtač za PostScript datoteke." + +#~ msgid "© 2007-2008 Albert Astals Cid" +#~ msgstr "© 2007-2008 Albert Astals Cid" + +#~ msgid "Based on the Spectre library." +#~ msgstr "Zasnovano na biblioteci Spectre." + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" diff --git a/po/bs/okular_kimgio.po b/po/bs/okular_kimgio.po new file mode 100644 index 0000000..1525e47 --- /dev/null +++ b/po/bs/okular_kimgio.po @@ -0,0 +1,70 @@ +# Bosnian translation for kdegraphics +# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 +# This file is distributed under the same license as the kdegraphics package. +# FIRST AUTHOR , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: kdegraphics\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-10-18 20:28+0000\n" +"Last-Translator: Samir Ribić \n" +"Language-Team: Bosnian \n" +"Language: bs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Launchpad (build 17341)\n" +"X-Launchpad-Export-Date: 2015-02-15 06:05+0000\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Samir Ribić" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "samir.ribic@etf.unsa.ba" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "Ne mogu da učitam dokument: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" + +#~ msgid "Image Backend" +#~ msgstr "Pozadina slike" + +#~ msgid "A simple image backend" +#~ msgstr "Jednostavna pozadina slike" + +#~ msgid "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" +#~ msgstr "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" + +#~ msgid "Main Toolbar" +#~ msgstr "Glavna alatna traka" diff --git a/po/bs/okular_mobi.po b/po/bs/okular_mobi.po new file mode 100644 index 0000000..a90c96b --- /dev/null +++ b/po/bs/okular_mobi.po @@ -0,0 +1,66 @@ +# Bosnian translation for kdegraphics +# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 +# This file is distributed under the same license as the kdegraphics package. +# FIRST AUTHOR , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: kdegraphics\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-10-18 20:17+0000\n" +"Last-Translator: Samir Ribić \n" +"Language-Team: Bosnian \n" +"Language: bs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Launchpad (build 17341)\n" +"X-Launchpad-Export-Date: 2015-02-15 06:05+0000\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Samir Ribić" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "Samir.ribic@etf.unsa.ba" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Greška pri otvaranju Mobipocket dokumenta." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "" +"Ova knjiga je zaštićena DRM‑om i može se prikazati samo na naznačenom " +"uređaju." + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "Mobipocket" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "Konfiguracija pozadine za Mobipocket" + +#~ msgid "Mobipocket Backend" +#~ msgstr "Pozadina za Mobipocket" + +#~ msgid "A mobipocket backend" +#~ msgstr "Pozadina za Mobipocket" + +#~ msgid "© 2008-2009 Jakub Stachowski" +#~ msgstr "© 2008-2009 Jakub Stachowski" + +#~ msgid "Jakub Stachowski" +#~ msgstr "Jakub Stachowski" diff --git a/po/bs/okular_poppler.po b/po/bs/okular_poppler.po new file mode 100644 index 0000000..977c086 --- /dev/null +++ b/po/bs/okular_poppler.po @@ -0,0 +1,389 @@ +# Bosnian translation for kdegraphics +# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 +# This file is distributed under the same license as the kdegraphics package. +# FIRST AUTHOR , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: kdegraphics\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-10-18 20:29+0000\n" +"Last-Translator: Samir Ribić \n" +"Language-Team: Bosnian \n" +"Language: bs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Launchpad (build 17341)\n" +"X-Launchpad-Export-Date: 2015-02-15 06:05+0000\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Dino Kraljušić,Samir Ribić" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "Dk@etf.ba,samir.ribic@etf.unsa.ba" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "Pojačaj tanke linije:" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "Ne" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "Čvrsto" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "Lik" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "PDF opcije" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "Prikaži anotacije" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "Uključi anotacije u štampani dokument" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"Uključuje anotacije u štampani dokument. Ovo možete onemogućiti ako želite " +"prikazati izvorni neoznačeni dokument." + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "Forsiraj rasterizaciju" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "Rasterizuje u sliku prije štampanja" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"Forsira rasterizaciju svake strane u sliku prije nego što se odštampa. Ovo " +"obično daje nešto lošije rezultate, ali je korisno za štampanje dokumenata " +"koji inače izgledaju neispravno odštampani." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF v. %1.%2" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "Format" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "Šifrovano" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "Nešifrovano" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "Sigurnost" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "Da" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "Optimizovano" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "Konfiguracija PDF pozadine" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter Password" +msgstr "" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "" + +#~ msgid "PDF Backend" +#~ msgstr "PDF pozadina" + +#~ msgid "A PDF file renderer" +#~ msgstr "Prikazivač PDF datoteka" + +#~ msgid "© 2005-2008 Albert Astals Cid" +#~ msgstr "© 2005-2008 Albert Astals Cid" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Saving files with /Encrypt is not supported." +#~ msgstr "Spremanje datoteka sa /Encrypt nije podržano." diff --git a/po/bs/okular_txt.po b/po/bs/okular_txt.po new file mode 100644 index 0000000..2a6b8ca --- /dev/null +++ b/po/bs/okular_txt.po @@ -0,0 +1,53 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-10-19 12:53+0000\n" +"Last-Translator: Samir Ribić \n" +"Language-Team: Bosanski \n" +"Language: bs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Launchpad (build 17341)\n" +"X-Launchpad-Export-Date: 2015-02-15 06:23+0000\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Samir Ribić" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "Samir.ribic@etf.unsa.ba" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "Txt" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "Txt pozadinska konfiguracija" + +#~ msgid "Txt Backend" +#~ msgstr "Txt pozadina" + +#~ msgid "Txt backend." +#~ msgstr "Txt pozadina." + +#~ msgid "© 2013 Azat Khuzhin" +#~ msgstr "© 2013 Azat Khuzhin" + +#~ msgid "Azat Khuzhin" +#~ msgstr "Azat Khuzhin" diff --git a/po/bs/okular_xps.po b/po/bs/okular_xps.po new file mode 100644 index 0000000..85cce2c --- /dev/null +++ b/po/bs/okular_xps.po @@ -0,0 +1,60 @@ +# Bosnian translation for kdegraphics +# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 +# This file is distributed under the same license as the kdegraphics package. +# FIRST AUTHOR , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: kdegraphics\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-10-18 19:26+0000\n" +"Last-Translator: Samir Ribić \n" +"Language-Team: Bosnian \n" +"Language: bs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Launchpad (build 17341)\n" +"X-Launchpad-Export-Date: 2015-02-15 06:05+0000\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Samir Ribić" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "samir.ribic@etf.unsa.ba" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "Revizija" + +#~ msgid "XPS Backend" +#~ msgstr "Pozadina za XPS" + +#~ msgid "An XPS backend" +#~ msgstr "Pozadina za XPS" + +#~ msgid "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" +#~ msgstr "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" + +#~ msgid "Brad Hards" +#~ msgstr "Brad Hards" + +#~ msgid "Jiri Klement" +#~ msgstr "Jiri Klement" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" diff --git a/po/bs/org.kde.active.documentviewer.po b/po/bs/org.kde.active.documentviewer.po new file mode 100644 index 0000000..2589800 --- /dev/null +++ b/po/bs/org.kde.active.documentviewer.po @@ -0,0 +1,225 @@ +# Bosnian translations for kde package. +# Copyright (C) 2012 This_file_is_part_of_KDE +# This file is distributed under the same license as the kde package. +# Samir Ribic , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: kde 49i410\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-01-15 12:41+0000\n" +"Last-Translator: Samir Ribić \n" +"Language-Team: Bosnian\n" +"Language: bs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-01-16 05:42+0000\n" +"X-Generator: Launchpad (build 16420)\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "Obilježivači" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +msgid "Export…" +msgstr "" + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "" + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "" + +#: ui/Main.qml:49 +msgid "About" +msgstr "" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "" + +#: ui/MainView.qml:29 +#, fuzzy +#| msgid "Bookmarks" +msgid "Bookmark this page" +msgstr "Obilježivači" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "Sličice" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "Sadržaj" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:96 +msgid "Document Version" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:108 +msgid "Save Signed Version…" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +msgid "View Certificate…" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "" + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "Bez rezultata." + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "" + +#: ui/WelcomeView.qml:108 +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "" + +#~ msgid "Document viewer for Plasma Active using Okular" +#~ msgstr "Pregledač dokumenata za Plasma Active koristeći Okular" + +#~ msgid "Reader" +#~ msgstr "Čitač" + +#~ msgid "Copyright 2012 Marco Martin" +#~ msgstr "Autorska prava 2012 Marco Martin" + +#~ msgid "Marco Martin" +#~ msgstr "Marco Martin" + +#~ msgid "URL of the file to open" +#~ msgstr "URL datoteke za otvaranje" diff --git a/po/ca/docs/okular/bookmark-management.png b/po/ca/docs/okular/bookmark-management.png new file mode 100644 index 0000000000000000000000000000000000000000..242cf93c56dc15a2b710d6e38cafe264dbf23c35 GIT binary patch literal 80718 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

o!c!n~pQUVxuvXNHBUolZt5 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 literal 0 HcmV?d00001 diff --git a/po/ca/docs/okular/configure-annotations.png b/po/ca/docs/okular/configure-annotations.png new file mode 100644 index 0000000000000000000000000000000000000000..2454a28859c4f0673dc3822c294bbff450b6502e GIT binary patch literal 73604 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 L$O@MVe)0W3d=C9F literal 0 HcmV?d00001 diff --git a/po/ca/docs/okular/configure-editor.png b/po/ca/docs/okular/configure-editor.png new file mode 100644 index 0000000000000000000000000000000000000000..72abcdfdbd37ccdc9c11289846ee201fa36f836c GIT binary patch literal 36048 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 z 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 PWndI#0Wy_RCL#X^rfRcO literal 0 HcmV?d00001 diff --git a/po/ca/docs/okular/index.docbook b/po/ca/docs/okular/index.docbook new file mode 100644 index 0000000..992b627 --- /dev/null +++ b/po/ca/docs/okular/index.docbook @@ -0,0 +1,4393 @@ + +KPDF"> + + +]> + + + + El manual de l'&okular; + + Albert Astals Cid

&Albert.Astals.Cid.mail;
+ + + Pino Toscano
pino@kde.org
+
+
+ &traductor.Antoni.Bella; + + &FDLNotice; + 19 de febrer de 2022 + 22.04 + + + L'&okular; és un visualitzador de documents universal del &kde; basat en el codi del &kpdf;. + + + KDE + okular + pdf + ps + postscript + tiff + djvu + dvi + xps + comicbook + fictionbook + markdown + mobipocket + anotació + + + + Introducció + L'&okular; és un visualitzador de documents universal del &kde; basat en el codi de l'aplicació &kpdf;. Tot i estar basat en el codi del &kpdf;, l'&okular; conté algunes característiques úniques, com ara el mode de resum, una millor implementació de la presentació i de les anotacions. + L'&okular; és compatible amb una gran quantitat de formats diferents com &PDF;, &PostScript;, Tiff, DjVU, Imatges XPS (png, jpg, &etc;), Fiction Books, Comic Books, Plucker, EPub, Fax i Markdown. Per a tots els formats admesos i les seves característiques, vegeu &okular; Document Format Handlers. + + Finestra principal de l'&okular; + + + + + + Finestra principal de l'&okular; + + + + + + Ús bàsic + + Obrir fitxers + Per a obrir qualsevol fitxer admès per l'&okular;, seleccioneu FitxerObre... , escolliu un fitxer admès en el diàleg i feu clic a Obre. El fitxer hauria de mostrar-se a la finestra principal. + + El document nou s'obrirà en una pestanya nova si s'ha marcat l'opció Obre els fitxers nous en pestanyes a la pàgina de configuració General. + Podeu tancar la pestanya fent clic amb el &BDR; a sobre seu. + El document prèviament tancat en una pestanya es pot tornar a obrir utilitzant l'element de menú &Ctrl;&Maj;TFitxerDesfés el tancament de la pestanya. + + Si ja heu obert fitxers abans a l'&okular;, hi podreu tenir accés seleccionant-los al menú FitxerObre recent. + L'&okular; és l'aplicació &kde; predeterminada per als fitxers &PDF; i &PostScript;, llançada en fer clic amb el &BER; sobre un tipus de fitxer en el gestor de fitxers. Per a obrir qualsevol fitxer en què el format sigui compatible amb l'&okular; utilitzeu Obre amb...&okular; des del menú contextual del gestor de fitxers. + Després de tenir obert un fitxer probablement el voldreu llegir i, per tant, navegar a través seu. Aneu a la següent secció per a aprendre més sobre això. + + + Navegar + Aquesta secció descriu com navegar a través d'un document a l'&okular;. + Hi ha múltiples maneres de desplaçar-se per l'àrea de visualització. Una d'elles és utilitzant les tecles &Up; i &Down;. També podeu utilitzar la barra de desplaçament, la roda del ratolí o les tecles &PgUp; i &PgDn;. + També podeu utilitzar les tecles de navegació com vim, H per a passar a la part superior de la pàgina anterior, L per a passar a la part superior de la pàgina següent, J per a moure una línia cap avall, i K per a moure una línia cap amunt. + Una altra forma és mantenir premut el &BER; en qualsevol lloc del document mentre arrossegueu el ratolí en la direcció oposada a la que voleu moure. Aquest procediment només funciona si l'eina Navega està activada, la qual podeu seleccionar escollint EinesNavega. + + En veure un document en el Mode de presentació utilitzeu les tecles &Up; i &Down; per a canviar entre les pàgines o diapositives. El nombre i la posició de la diapositiva actual es mostren a la superposició de la cantonada superior dreta de la pantalla. + + Si voleu llegir un document amb diverses pàgines utilitzant la característica de desplaçament automàtic de l'&okular;. Inicieu el desplaçament automàtic amb &Maj;&Down; o &Maj;&Up;. A continuació, utilitzeu aquestes tecles per a fer augmentar o disminuir la velocitat de desplaçament. Podeu iniciar o aturar el desplaçament automàtic temporalment prement la tecla &Maj; -premeu qualsevol tecla per a desactivar aquesta funció-. + Una altra manera de navegar a través d'un document amb diverses pàgines és utilitzar el punter del ratolí. Arrossegueu la pàgina cap amunt o cap avall, continueu arrossegant fins i tot mentre abasteu la part inferior o superior de la pantalla i mireu. Quan creueu la vora d'una pàgina, el cursor del ratolí apareixerà a la part superior o inferior de la pantalla de nou i podeu continuar arrossegant. + La barra lateral que hi ha al costat esquerre de la pantalla permet dues formes més de navegar a través d'un document: + + + Si feu clic sobre una miniatura de pàgina l'àrea de visualització serà portada a aquesta pàgina. + + + Si el document conté una taula de continguts, en fer clic sobre un element contingut a la taula us portarà dins del document a la pàgina enllaçada amb aquest element. + + + Si el document conté capes, podeu controlar quines capes es mostraran marcant o desmarcant els elements a la llista Capes. + + + Si el document conté punts, activeu la vista de Punts i feu clic en ells per a anar a la pàgina associada. Els punts no només es mostren per al document actual, podeu canviar ràpidament als punts de tots els fitxers oberts recentment. + + + Si el document conté anotacions, activeu la vista d'Anotacions i feu-hi clic per a veure les anotacions o seleccionar-los amb les tecles &Up; i &Down; i premeu &Intro; per a anar a la pàgina associada. + + + Alguns documents tenen enllaços. En aquest cas podreu fer clic sobre seu i la vista canviarà a la pàgina que enllaça. Si l'enllaç és a una pàgina web o algun altre document s'invocarà el gestor predeterminat del &kde; per a aquest format. Per exemple, en fer clic a un enllaç que apunta a «https://www.kde.org» s'obrirà la pàgina web al navegador web predeterminat del &kde;. + + Els enllaços interns del document només funcionaran quan s'utilitzi l'eina Navega. + + A més, podeu utilitzar les següents característiques per a moure-us ràpidament a llocs específics en el document: + + + Podeu anar al començament del document utilitzant &Ctrl;Inici o Ves Començament del document . + + + Podeu anar al final del document utilitzant &Ctrl;Fi o Ves Final del document . + + + Podeu anar endavant en el document utilitzant les tecles &Space; o &PgDn;. Per a anar a la pàgina següent del document utilitzeu el botó de la barra d'eines Pàgina següent o Ves Pàgina següent a la barra de menús. + + + Podeu anar enrere en el document utilitzant les tecles &Retro; o &PgUp;. Per a anar a la pàgina anterior del document utilitzeu el botó de la barra d'eines Pàgina anterior o Ves Pàgina anterior a la barra de menús. + + + Podeu tornar a les posicions en el document on heu estat en un ordre cronològic. Considerem &pex; que llegiu la frase «Com es mostra a [15], …», i coneixeu la referència de cerca ràpida [15]. De manera que feu clic sobre seu, i l'&okular; saltarà a la llista de referències. Utilitzant &Alt;&Maj;&Left; o Ves Enrere a la barra de menús tornareu a la posició exacta d'on veniu. + + + Podeu anar cap endavant en el document després dels salts enrere descrits anteriorment, utilitzant &Alt;&Maj;&Right; o Ves Endavant a la barra de menús. + + + Podeu anar a la següent coincidència en la cerca utilitzant les tecles F3 o &Intro; (quan el focus resti sobre el camp de text Cerca) o l'element de menú EditaCerca la següent o tornar a l'anterior coincidència utilitzant les tecles &Maj;F3 o &Maj;&Intro; (quan el focus resti sobre el camp de text Cerca) o l'element de menú Edita Cerca l'anterior . + + + + + Mode de presentació + El mode de presentació representa una altra manera de veure els documents a l'&okular;. Es pot activar a VisualitzaPresentació. Mostra el document pàgina per pàgina. Les pàgines es mostren amb el zoom a la pàgina, això vol dir que és visible tota la pàgina. + + Els documents &PDF; poden fins i tot especificar que sempre s'obrin en el mode de presentació. + + En el mode de presentació, disposareu d'una barra auxiliar situada a la part superior de la pantalla. Només cal moure el cursor del ratolí a la part superior de la pantalla perquè aparegui. + + Mode de presentació a l'&okular; + + + + + + Mode de presentació a l'&okular; + + + + Per a navegar entre les pàgines podeu utilitzar el &BER; (pàgina següent) i el &BDR; (pàgina anterior), la roda del ratolí, les icones de fletxa o la línia d'edició a la barra superior, o les tecles especificades a la secció Navegació. + Utilitzeu el botó Reprodueix/Pausa a la barra de dalt per a començar a reproduir la presentació o fer una pausa, segons correspongui. + Podeu sortir del mode de presentació en qualsevol moment prement la tecla &Esc; o fent clic a la icona Surt a la barra superior. + També podeu dibuixar sobre la pàgina actual amb un llapis. Feu clic sobre la icona Commuta el mode de dibuix a la barra superior per a activar o desactivar la possibilitat per a dibuixar en el mode de presentació. Els dibuixos s'esborren automàticament en sortir del mode de presentació. ​​També podeu fer clic sobre la icona Esborra dibuixos per a eliminar els dibuixos en la pàgina actual. + El mode de presentació admet més d'una pantalla en una configuració multimonitor. Amb més d'una pantalla apareixerà un botó nou a la barra superior, amb la icona de la pantalla: es tracta d'una llista desplegable que permetrà moure la presentació a qualsevol de les pantalles disponibles. + El mode de presentació conté algunes opcions de configuració, trobareu la seva descripció en el capítol Configurar l'&okular;. + + + + Cerca inversa entre els editors de &latex; i l'&okular; + + La cerca inversa és una característica molt útil quan esteu escrivint un document de &latex;. Si tot és correcte, podeu fer clic a la finestra de l'&okular; amb el &BER; mentre premeu la tecla &Maj;. Després l'editor de &latex; carregarà el fitxer d'origen i saltarà al paràgraf adequat. + + La cerca inversa no pot funcionar a menys que: + + + El fitxer d'origen s'hagi compilat amb èxit. + L'&okular; conegui quin editor voleu utilitzar. + L'eina Navega ha d'estar activada, el que pot seleccionar mitjançant l'elecció, la qual podeu seleccionar escollint EinesNavega. + + + Amb aquesta característica de l'&okular;, el fer un clic del ratolí mentre premeu &Maj; al document &DVI; o &PDF; resultarà en obrir l'editor amb el document de &latex; corresponent i intentarà anar a la línia corresponent. Recordeu de dir-li a l'&okular; que utilitzi l'editor adequat, a l'element de menú ArranjamentConfigura l'Okular... (sobre la pàgina Editor). + + Per a més detalls sobre la configuració de l'editor, consulteu la secció corresponent d'aquest manual. + + + Configurant l'&okular; + + + + + + Configurant l'editor a l'&okular; + + Configurant l'editor a l'&okular; + + + + + + + Característiques avançades de l'&okular; + + Fitxers incrustats + Si el document actual conté alguns fitxers incrustats, quan l'obriu apareixerà una barra per sobre de la vista de pàgina perquè us adoneu dels fitxers incrustats. + + La barra de fitxers incrustats + + + + + + La barra de fitxers incrustats + + + + En aquest cas, podeu fer clic a l'enllaç en el text de la barra o escollir FitxerFitxers incrustats per a obrir el diàleg de fitxers incrustats. El diàleg us permetrà veure els fitxers incrustats i extreure'ls. + + + Formularis + Si el document actual conté formularis, quan l'obriu apareixerà una barra sobre la vista de pàgina on podreu activar els formularis. + + La barra de formularis + + + + + + La barra de formularis + + + + En aquest cas, podeu fer clic sobre Mostra els formularis a la barra o escolliu VisualitzaMostra els formularis per a introduir dades en els camps del formulari. + + + Signatures + Si el document actual conté signatures, quan l'obriu apareixerà una barra a sobre de la vista de pàgina. Aquest permetrà obrir el plafó Signatures. + + La barra de signatures + + + + + + La barra de signatures + + + + Emprant el plafó Signatures podreu inspeccionar la signatura del document i el seu certificat. + + El plafó de signatures + + + + + + El plafó de signatures + + + + + Aquesta característica només estarà disponible per als documents en &PDF;. Com a mínim haureu d'instal·lar la versió 0.51 de Poppler per a obtenir la majoria de la informació de la signatura, la versió 0.68 per a obtenir la informació de la ubicació/raó de la signatura i la versió 0.73 per a obtenir la informació del certificat de la signatura. + + + Afegir signatures digitals + Podeu afegir signatures digitals als documents emprant l'acció corresponent en el menú Eines. + Per a poder signar un document, haureu de tenir un certificat de signatura PKCS adequat disponible en el sistema. L'&okular; no té la capacitat de crear aquests certificats, ja que han de ser emesos per autoritats de certificació perquè siguin útils per a la validació, &etc; + Utilitzem la biblioteca Poppler per a gestionar la signatura dels documents &PDF; i el Poppler utilitza la biblioteca NSS per a gestionar els certificats. En el moment d'escriure aquest article, el Poppler intentarà utilitzar un dels següents magatzems de certificats NSS en ordre (el primer que existeixi): + + El magatzem de certificats del Firefox de l'usuari actual. + El magatzem de certificats /etc/pki/nssdb de tot el sistema. + L'usuari actual $HOME/.pki/nssdb + + Si voleu utilitzar un magatzem de certificats personalitzat, podreu fer-ho configurant-lo a la secció Configuració del dorsal &PDF; del diàleg Configura els dorsals.... + + Aquesta característica només estarà disponible per als documents en &PDF;. Com a mínim haureu d'instal·lar la versió 21.01 de Poppler per a ser capaç d'afegir signatures a un document. + + + + + Anotacions + L'&okular; permet revisar i anotar els vostres documents. + + Les anotacions a l'&okular; + + + + + + Les anotacions a l'&okular; + + + + L'&okular; conté dos tipus d'anotacions diferents: + Es poden emprar anotacions de text com Ressaltat groc o Subratllat negre amb els fitxers que contenen text com, &pex;, &PDF;. + Anotacions gràfiques com Nota emergent, Nota inclosa, Línia a mà alçada, Marcador fluorescent, Línia recta, Polígon, Segell, Subratllat, El·lipse i Màquina d'escriure. + Les anotacions gràfiques no es limiten als fitxers &PDF;, les podeu utilitzar per a qualsevol format admès per l'&okular;. + Utilitzant el menú Anotacions podeu afegir una Nota emergent o qualsevol altre d'anotació per a afegir o editar els comentaris. + + L'&okular; conté la característica «arxivat de documents». Aquest és un format específic de l'&okular; per a aportar al document diverses metadades més relacionades amb ell (actualment només anotacions). Podeu desar un «arxiu de document» des del document obert escollint FitxerDesa com aArxiu de document de l'Okular des del selector Filtre. Els documents desats d'aquesta manera obtindran .okular com a extensió del nom de fitxer. Per a obrir un arxiu de document de l'&okular;, només cal obrir-lo amb &okular; com ho faríeu per exemple amb un document &PDF;. + També podeu desar les anotacions directament en els fitxers &PDF;. Podeu utilitzar Fitxer Desa per a desar-les al fitxer actual o Fitxer Desa com a... per a desar-les en un fitxer nou. + + Tingueu en compte que afegir, editar o eliminar anotacions pot no ser possible amb fitxers amb DRM activat. + + + És possible desfer o refer qualsevol acció d'anotació utilitzant l'element corresponent del menú Edita. També és possible desfer l'acció prement &Ctrl;Z i tornar-la a fer prement &Ctrl;&Maj;Z. + + Podeu configurar les propietats i l'aspecte predeterminat de cada eina d'anotació. Per a més detalls, consulteu la secció corresponent en aquest manual. + + Afegir anotacions + Per a afegir anotacions al document, podeu utilitzar el botó Anotacions ràpides a la barra d'eines principal de l'&okular; o activar la barra d'eines d'anotació. Això es fa seleccionant EinesAnotacions o prement F6. Quan es mostri la barra d'eines d'anotació, només caldrà prémer un dels botons o utilitzar les dreceres de teclat (tecles des d'1 fins a 9) per a utilitzar aquesta anotació. + La barra d'eines d'anotació ajuda a fer anotacions amb dibuixos, formes i missatges de text. Podeu utilitzar la barra d'eines d'anotació per a marcar un document (&pex;, afegir línies, el·lipses, polígons, segells, ressaltats, subratllats, &etc;) La taula següent descriu exactament el que fa el conjunt de botons predeterminat de la barra d'eines d'anotació. + + + + + Botó + Nom de l'eina + Descripció + + + + + + + + + + + + + + + Marcador fluorescent + + + Ressalta el text en el document amb un color de fons indicat. + Feu clic sobre el botó d'eina, feu clic amb el &BER; i arrossegueu per a ressaltar un fragment de text. + És possible definir el Tipus (Ressaltat, Giragonses, Subratllat o Barrat), el Color i l'Opacitat per al ressaltador. Simplement feu clic dret sobre el text ressaltat i seleccioneu l'element de menú Propietats. + + + + + + + + + + + + + + Subratllat + + + Subratlla un text amb una línia recta. + Feu clic sobre el botó d'eina, després feu clic amb el &BER; i arrossegueu per a subratllar un fragment de text. + És possible definir el Tipus (Ressaltat, Giragonses, Subratllat o Barrat), el Color i l'Opacitat per al subratllat. Simplement feu clic dret sobre el text subratllat i seleccioneu l'element de menú Propietats. + + + + + + + + + + + + + + Giragonses + + + Subratlla un text amb una línia ondulada. + Feu clic sobre el botó d'eina, després feu clic amb el &BER; i arrossegueu per a subratllar amb una línia ondulada un fragment de text. + És possible definir el Tipus (Ressaltat, Giragonses, Subratllat o Barrat), el Color i l'Opacitat per al subratllat. Simplement feu clic dret sobre el text subratllat i seleccioneu l'element de menú Propietats. + + + + + + + + + + + + + + Barrat + + + Barra un text. + Feu clic sobre el botó d'eina, després feu clic amb el &BER; i arrossegueu per a barrar un fragment de text. + És possible definir el Tipus (Ressaltat, Giragonses, Subratllat o Barrat), el Color i l'Opacitat per al subratllat. Simplement feu clic dret sobre el text subratllat i seleccioneu l'element de menú Propietats. + + + + + + + + + + + + + + Màquina d'escriure + + + Afegeix text en un fons transparent. Això és útil per a omplir formularis que manquen de camps integrats de text editable. + Feu clic sobre el botó d'eina, després feu clic amb el &BER; a on vulgueu afegir la cantonada superior esquerra del text, després arrossegueu per a col·locar la cantonada inferior dreta. Introduïu el text, després feu clic a D'acord per a desar-lo, Neteja per a esborrar el text i tornar a començar, o Cancel·la per a cancel·lar. + És possible definir la Lletra i el Color del text per al text. Simplement feu clic dret sobre el text escrit i seleccioneu l'element del menú Propietats. + + + + + + + + + + + + + + Nota inclosa + + + Dibuixa una nota inclosa. La nota es mostrarà en línia tal qual. + Feu clic sobre el botó d'eina, després feu clic amb el &BER; a on vulgueu col·locar la cantonada superior esquerra de la nota, després arrossegueu per a col·locar la cantonada inferior dreta. Introduïu el text de la nota, després feu clic a D'acord per a desar la nota, Neteja per a esborrar el text de la nota o Cancel·la per a cancel·lar la creació de la nota. + És possible definir el Color, l'Opacitat, la Lletra, l'Alineació i l'Amplada de la vora per a la nota. Simplement, feu clic dret sobre la icona de la nota creada i seleccioneu l'element de menú Propietats. + + + + + + + + + + + + + + Nota emergent + + + Dibuixa una nota amb múltiples línies. La nota es podrà veure fent doble clic sobre la icona creada en el document. + Feu clic sobre el botó d'eina, feu clic sobre el lloc del document on s'ha d'afegir la nota emergent. Introduïu el text de la nota emergent i feu clic al botó Tanca aquesta nota a la cantonada superior dreta de la finestra emergent. + És possible definir el Color, l'Opacitat i la Icona de la nota. Simplement feu clic amb dret sobre la icona de la nota creada i seleccioneu l'element de menú Propietats. + + + + + + + + + + + + + + Línia a mà alçada + + + Dibuixa línies de forma lliure. + Feu clic sobre el botó d'eina, després feu clic amb el &BER; i arrossegueu per a dibuixar la línia. + És possible definir el Color, l'Opacitat i l'Amplada per a la línia. Simplement feu clic dret sobre la línia creada i seleccioneu l'element de menú Propietats. + + + + + + + + + + + + + + Fletxa (llista desplegable) + + + Dibuixa una fletxa entre dos punts. + Feu clic sobre el botó d'eina, feu clic amb el &BER; per a col·locar el punt inicial de la fletxa, després arrossegueu per a col·locar el punt final de la línia i feu clic una vegada més. + És possible definir el Color i l'Opacitat, l'Amplada, el Començament de línia, el Final de línia, la Longitud de la línia principal i la Longitud de les extensions de la línia principal per a la línia. Simplement feu clic dret sobre la línia creada i seleccioneu l'element de menú Propietats. + + + + + + + + + + + + + + Línia recta (llista desplegable) + + + Dibuixa una línia entre dos punts. + Feu clic sobre el botó d'eina, feu clic amb el &BER; per a col·locar el punt inicial de la línia, després arrossegueu per a col·locar el punt final de la línia i feu clic una vegada més. + És possible definir el Color i l'Opacitat, l'Amplada, el Començament de línia, el Final de línia, la Longitud de la línia principal i la Longitud de les extensions de la línia principal per a la línia. Simplement feu clic dret sobre la línia creada i seleccioneu l'element de menú Propietats. + + + + + + + + + + + + + + Rectangle (llista desplegable) + + + Dibuixa un rectangle al voltant de l'àrea escollida. + Feu clic sobre el botó d'eina, després feu clic amb el &BER; per a col·locar la cantonada superior esquerra del rectangle, després arrossegueu per a col·locar la cantonada inferior dreta. + És possible definir el Tipus (Rectangle o El·lipse), el Color, l'Opacitat, l'Emplenat de forma (i el seu color) i l'Amplada per a la vora. Simplement feu clic dret sobre la vora creada i seleccioneu l'element de menú Propietats. + + + + + + + + + + + + + + El·lipse (llista desplegable) + + + Dibuixa una el·lipse o un rectangle al voltant de l'àrea escollida. + Feu clic sobre el botó d'eina, feu clic amb el &BER; i manteniu-lo premut per a col·locar la cantonada superior esquerra del rectangle circumscrit per l'el·lipse, després arrossegueu per a col·locar la cantonada inferior dreta. + És possible definir el Tipus (Rectangle o El·lipse), el Color, l'Opacitat, l'Emplenat de forma (i el seu color) i l'Amplada per a la vora. Simplement feu clic dret sobre la vora creada i seleccioneu l'element de menú Propietats. + + + + + + + + + + + + + + Polígon (llista desplegable) + + + Dibuixa una forma tancada de tres o més segments de línies. La nota corresponent es pot veure fent doble clic a l'interior del polígon. + Feu clic sobre el botó d'eina, després feu clic amb el &BER; per a col·locar el primer vèrtex del polígon, després arrossegueu per a col·locar el segon vèrtex. Continueu fins que dibuixeu tot el polígon fins al primer vèrtex. Feu clic dues vegades per a afegir una nota al polígon. Introduïu el text de la nota, després feu clic a D'acord per a desar la nota, Neteja per a esborrar la nota o Cancel·la per a cancel·lar l'entrada de la nota. + És possible definir el Color i l'Opacitat, l'Emplenat de forma (i el seu color) i l'Amplada per al polígon. Simplement feu clic dret sobre el polígon creat i seleccioneu l'element de menú Propietats. + + + + + + + + + + + + + + Segell + + + Insereix una forma predefinida en el document. + Feu clic sobre el botó d'eina per a triar el segell des de la llista desplegable, després feu clic amb el &BER; per a col·locar el segell. + Un sol clic col·loca un segell quadrat (útil per a les icones). Per a afegir un segell rectangular podeu fer clic amb el &BER; i mantenir-lo premut per a col·locar el punt a la part superior esquerra, a continuació, arrossegueu per a col·locar-lo a la part inferior dreta. + És possible definir l'Opacitat i el Símbol de segell per al segell. Simplement feu clic dret sobre la icona del segell creat i seleccioneu l'element de menú Propietats. + + Aquesta característica és experimental. Els segells personalitzats inserits als documents &PDF; no són visibles en els lectors de &PDF; que no siguin l'&okular;. + + + + + + + Aquestes són les anotacions predeterminades que proporciona l'&okular;. Emprant la pàgina d'Anotacions del diàleg de configuració, podeu afegir les vostres pròpies anotacions, com ara segells personalitzats, marcatge de text o una forma geomètrica amb color interior per a destacar les regions, &etc; + + És possible afegir codi en &latex; dins del text de les anotacions. Per a fer-ho, afegiu $$codi$$ en el text de l'anotació, on el codi serà qualsevol equació vàlida de &latex;. Seguiu les instruccions que apareixeran a la pantalla per a renderitzar-la mitjançant una distribució de &latex; instal·lada al sistema. + + És possible configurar l'eina seleccionada utilitzant la mateixa barra d'eines d'anotació: + + + + + Botó + Nom de l'opció + Descripció + + + + + + + + + + + + + + + Amplada de la línia + + + Feu clic sobre aquest botó per a triar l'amplada des de la llista desplegable. + + + + + + + + + / + + + + + + + Color de l'anotació + + + Feu clic sobre aquest botó per a triar el color del text o la vora de l'anotació. Podeu triar un dels colors predefinits o fer clic sobre l'element Color personalitzat... per a obrir el diàleg de selecció del color. + + + + + + + + + + + + + + Color de l'emplenat de l'anotació + + + Feu clic sobre aquest botó per a triar el color d'emplenat de l'anotació. Podeu triar un dels colors predefinits o fer clic sobre l'element Color personalitzat... per a obrir el diàleg de selecció del color. + + + + + + + + + + + + + + Opacitat de l'anotació + + + Feu clic sobre aquest botó per a triar l'opacitat de l'anotació des de la llista desplegable (el 100% crea anotacions opaques). + + + + + + + + + + + + + + Lletra de l'anotació + + + Feu clic sobre aquest botó per a obrir el diàleg de selecció de la lletra. + + + + + + + + + + + + + + Configuració avançada per a l'actual eina d'anotació + + + Feu clic sobre aquest botó per a obrir el diàleg de configuració general per a l'anotació. + + + + + + A la barra d'eines d'anotacions hi ha tres botons d'utilitat addicionals: + + + + + Botó + Descripció + + + + + + + + + + + + + + + Afegiu l'anotació actual al menú Anotacions ràpides a la barra d'eines principal. + + Podeu utilitzar les dreceres predeterminades des de &Alt;9 a &Alt;0 per a seleccionar les accions d'anotació ràpida en qualsevol moment que vulgueu, fins i tot amb la barra d'eines d'anotació oculta. + + + + + + + + + + + + + + + Quan està marcada, es mantindrà activa l'eina d'anotació actual després del seu ús. + + + + + + + + + + + + + + Oculta la barra d'eines d'anotació. + + + + + + En prémer &Maj;, podreu restringir l'angle de les anotacions de línia i polígon a passos de 15°, i la relació de les anotacions de forma (&pex;, Rectangle, El·lipse) a 1:1. També obtindreu un botó a la barra d'eines des de Configura les barres d'eines.... + El contingut del menú Anotacions ràpides es pot configurar utilitzant la pàgina Anotacions del diàleg de configuració de l'&okular;. Aquesta pàgina es pot obrir fent clic al botó Anotacions ràpides i després escollint Configura les anotacions... des del menú emergent. + + Activar la barra d'eines d'anotació automàticament farà canviar al mode Navega. + + Podeu aturar l'anotació en qualsevol moment prement de nou el botó de l'anotació que esteu utilitzant, o prement la tecla &Esc;. + La nova anotació creada tindrà com a autor l'establert a la pàgina Anotacions en el diàleg de configuració de l'&okular;. La pàgina Anotacions també es pot utilitzar per a configurar el contingut de la barra d'eines d'anotació. + + + Eliminar anotacions + Per a eliminar una anotació, primer seleccioneu l'eina Navega (EinesNavega), després feu-hi clic amb el &BDR; i seleccioneu Suprimeix o seleccioneu una anotació utilitzant el &BER; i premeu la tecla ∇. + En eliminar l'anotació, es tancarà la seva finestra si estava oberta. + + + Editar anotacions + Per a editar una anotació, primer seleccioneu l'eina Navega (EinesNavega), després feu clic en una anotació amb el &BDR; i seleccioneu Propietats. Apareixerà un diàleg amb la configuració general de l'anotació (com el color i l'opacitat, autor, &etc;) i la configuració específica per a aquest tipus d'anotació. + + El diàleg de propietats de l'anotació + + + + + + El diàleg de propietats de l'anotació + + + + Per a moure una anotació, manteniu premuda la tecla &Ctrl;, moveu el punter del ratolí sobre seu i després comenceu-la a arrossegar amb el &BER;. + Si feu clic amb el &BER; en una anotació, serà seleccionada. Les nanses de redimensionar apareixeran al rectangle de selecció. Quan el cursor es mou sobre una de les 8 nanses de redimensionar que hi ha a les cantonades o a les vores, la forma del cursor canviarà per a indicar el mode de redimensionar. Feu clic a qualsevol altre lloc de l'anotació per a moure-la. Prement &Esc; o fent clic a una àrea fora de l'anotació es cancel·larà una selecció. + El canvi de mida només és disponible als tipus d'anotació Nota inclosa, Màquina d'escriure, Segell i El·lipse. + + + Algunes opcions poden estar desactivades depenent dels permisos del document (en general amb documents &PDF;). + + + + + Gestionar punts + L'&okular; conté un sistema de punts molt flexible. Desa la posició sobre la pàgina en un punt i permet definir més d'un punt per pàgina. + Per a gestionar els punts a l'&okular; podeu utilitzar la vista Punts de la Barra lateral, el menú de Punts o el menú contextual de la vista del document (feu clic amb el &BDR; per a obrir-lo). + + La vista Punts + Per a obrir la vista Punts feu clic sobre la pestanya Punts a la part superior de la Barra lateral. Si no es mostra la Barra lateral, feu clic sobre el botó Mostra la barra lateral que hi ha a la barra d'eines o en l'element de menú F7 ArranjamentMostra la barra lateral per a fer-lo visible. + + El menú contextual de la vista punts + + + + + + El menú contextual de la vista punts + + + + La casella de selecció Mostra per a tots els documents es pot desactivar per a mostrar només els punts del document actual. + Podeu utilitzar la barra de filtres a la part superior de la vista Punts per a filtrar el contingut de la subfinestra de la llista de punts d'acord amb el text al quadre. + La subfinestra de llista permet veure la llista de punts d'un mode en arbre: cada document a la llista pot ser «desplegat» o «plegat» fent clic sobre la icona < o v al seu costat. + El menú que apareix en fer clic dret en un element d'un document, pot obrir el document, canviar el nom o suprimir l'element de la llista. Recordeu que l'eliminació d'un element del document condueix a l'eliminació de tots els punts en el document en qüestió. + El menú que apareix en fer clic dret en un punt individual us permetrà anar al punt, canviar-ne el nom o eliminar-lo. + El menú del clic dret als elements de la taula de contingut es pot utilitzar per a crear punts o anar al punt següent o anterior. + + + + + Opcions de la línia d'ordres + Tot i que és més probable que inicieu l'&okular; des del menú del &kde; o des d'una icona de l'escriptori, també es pot obrir a la línia d'ordres d'una finestra de terminal. Hi ha algunes opcions d'utilitat que estaran disponibles quan ho feu. + + Especificar un fitxer + Especificant el camí i el nom d'un fitxer en particular l'usuari podrà fer que l'&okular; obri el fitxer immediatament després d'iniciar-se. Aquesta opció es pot semblar al següent: + % okular + + + Per a documents &PDF;, el nom es pot indicar com nom_document#nom_destinació on nom_destinació serà una destinació concreta amb nom incrustada en el document. + + + + D'altres opcions a la línia d'ordres + Hi ha disponibles les següents opcions d'ajuda de la línia d'ordres + + + okular + Obre una pàgina amb el número indicat al document. okular + + + okular + Inicia el document en mode presentació. + + + okular + Inicia amb el diàleg d'impressió. + + + okular + Inicia amb el diàleg d'impressió i surt després d'imprimir. + + + okular + Control d'«Instància única». + + + okular + Permet prevenir l'elevació de la finestra de l'&okular; després de l'inici. + + + okular + Intenta trobar i ressaltar una cadena determinada en el document. Només funciona si només es proporciona un document com a argument de l'ordre okular. + + + okular + Defineix l'ordre de l'editor extern. No es pot definir l'ordre de l'editor en una instància en execució de l'&okular;. Tingueu en compte que no es permet quan es defineix l'ordre de l'editor a la línia d'ordres. + + + + + + Ajustar la finestra a la pàgina + La característica d'ajustar la finestra a la pàgina canvia la mida de la finestra, de manera que és exactament de la mateixa mida que la pàgina en el factor de zoom actual. Si la pàgina no s'ajusta completament a la pantalla, la finestra s'engrandirà de manera que mostri la major part possible de la pàgina. + Es pot accedir a aquesta característica usant la drecera de teclat &Ctrl;J. + + + + + La barra de menús + + + El menú Fitxer + + + + &Ctrl;O Fitxer Obre... + + + Obre un fitxer admès o arxiu de document de l'&okular;. Si ja hi ha un fitxer obert, es tancarà. Per a obtenir més informació, vegeu la secció Obrir fitxers. + + + + + + Fitxer Obre recent + + + Obre un fitxer que es va utilitzar anteriorment des d'un submenú. Si ja hi ha un fitxer obert, es tancarà. Per a obtenir més informació, vegeu la secció sobre Obrir fitxers. + + + + + + Fitxer Importa un PostScript com a &PDF;... + + + Obre un fitxer &PostScript; i el converteix a &PDF;. + + + + + + &Ctrl;&Maj;T Fitxer Desfés el tancament de la pestanya + + + Torna a obrir l'últim document tancat. Aquesta acció només estarà activa si heu tancat algun document en una pestanya durant la sessió actual. + + + + + + Fitxer Obre la carpeta contenidora + + + Obre la carpeta que conté el document actual en el vostre gestor de fitxers preferit. Aquesta acció és especialment útil en el cas que hàgiu descarregat un fitxer &PDF; d'Internet que s'obrirà en l'&okular;. La ubicació d'aquest fitxer pot no ser clara o fàcil de trobar sense aquesta característica. + + + + + + &Ctrl;S Fitxer Desa + + + Desa el document incloent-hi tots els canvis (anotacions, format del contingut, &etc;) -sempre que el dorsal del document permeti desar els canvis-. Si el dorsal no ho admet, l'usuari tindrà l'opció de descartar els canvis o desar-los juntament amb el document en un arxiu de document de l'&okular;. + + + + + + &Ctrl;&Maj;S Fitxer Desa com a... + + + Desa el document sota un altre nom incloent-hi tots els canvis (anotacions, format del contingut, &etc;) -sempre que el dorsal del document permeti desar els canvis-. Si el dorsal no ho admet, l'usuari tindrà l'opció de descartar els canvis o desar-los juntament amb el document en un arxiu de document de l'&okular;. + + Cal tenir present que, per la forma en què això es du a terme, fins i tot si no hi ha canvis al fitxer, el nou fitxer no té per què ser una còpia exacta bit a bit del fitxer original (&pex;, pot tenir un codi SHA-1 diferent, &etc;) + + + + + + + F5 Fitxer Recarrega + + + Torna a carregar el fitxer actualment obert. + + + + + + &Ctrl;P Fitxer Imprimeix... + + + Imprimeix el document que es mostra. Cal tenir en compte que l'&okular; té algunes opcions específiques per a imprimir els &PDF;, les quals estan disponibles prement el botó Opcions +> +> i seleccionant Opcions del &PDF;. Utilitzeu aquestes opcions per a imprimir les vostres anotacions o configurar el mode de rasterització si teniu problemes amb imprimir símbols o necessiteu canviar el mode de l'escala. + + Les opcions del mode de l'escala només estan disponibles quan marqueu l'opció Força la rasterització. + + + + + + + Fitxer Vista prèvia d'impressió... + + + Mostra una vista prèvia de com quedarà el document que es mostra actualment imprès amb les opcions predeterminades. + + + + + + &Alt;Retorn Fitxer Propietats + + + Mostra informació bàsica sobre el document, com el títol, autor, data de creació, i detalls sobre les lletres utilitzades. La informació disponible dependrà del tipus de document. + + Pareu atenció a la informació sobre la substitució de fonts de lletres a la pestanya Lletres del diàleg Propietats. Molts dels problemes amb la representació de les lletres es poden resoldre instal·lant les lletres substituïdes. + + + + + + Fitxer Fitxers incrustats... + + + Mostra els fitxers incrustats en el document, si el document en conté cap. Per a obtenir més informació, vegeu la secció sobre Fitxers incrustats. + + + + + + Fitxer Exporta com a... + + + Aquest element conté els formats d'exportació als quals es pot exportar el document actual. La primera entrada per a tota mena de documents sempre és Text net.... + La segona entrada és Arxiu del document, la qual permet desar el document amb les vostres anotacions en un format d'arxiu específic de l'&okular;. D'aquesta manera, serà possible compartir amb facilitat els documents originals i les vostres anotacions amb altres usuaris de l'&okular; o treballar en col·laboració amb ells. + + + + + + Fitxer Comparteix + + + Aquest element conté els serveis que es poden utilitzar per a compartir el document actual amb altres persones o enviar-lo als vostres dispositius. Les entrades d'aquest submenú són controlades pel sistema. Depenen del format del document i dels connectors de KPurpose que hi ha instal·lats. + + + + + + &Ctrl;Q Fitxer Surt + + + Tanca l'&okular;. + + + + + + + El menú Edita + + + + + &Ctrl;Z Edita Desfés + + + Desfà l'última ordre d'edició de l'anotació (creació i eliminació de les anotacions, editar arbitràriament les propietats de l'anotació, tornar a ubicar les anotacions amb &Ctrl;+arrossega, i editar el contingut del text d'una anotació). + + + + + + &Ctrl;&Maj;Z Edita Refés + + + Refà l'últim pas desfet en editar les anotacions. + + + + + + + + &Ctrl;C Edita Copia + + + Copia el text seleccionat en el mode Selecció de text al porta-retalls. + + + + + + + + &Ctrl;A Edita Selecciona-ho tot + + + Selecciona tot el text (si el document en proporciona). Això només funciona en el mode Selecció de text. + + + + + + + + Eines Selecciona tot el text de la pàgina actual + + + Selecciona tot el text (si el document en proporciona) de la pàgina actual. + + + + + + + + &Ctrl;F Edita Cerca... + + + Mostra la barra de cerca a la part inferior de l'àrea de visualització que permet cercar una cadena en el document. + + + + + + F3 Edita Cerca la següent + + + Intenta trobar l'anterior cadena cercada al document. + + + + + + &Maj;F3 Edita Cerca l'anterior + + + Va a l'ocurrència anterior de la cadena de cerca en el document. + + + + + + + El menú Visualitza + + + + &Ctrl;&Maj;P Visualitza Presentació + + + Activa el mode de presentació. Per a obtenir més informació, vegeu la secció sobre el Mode de presentació. + + + + + &Ctrl;&Maj; F Visualitza Mode de pantalla completa + + + Activa el mode de pantalla completa. Cal tenir en compte que el mode de pantalla completa és diferent del mode de presentació i l'única peculiaritat del mode de pantalla completa que té és que oculta la decoració de la finestra, la barra de menús i barra d'eines. + + + + + &Ctrl;+ VisualitzaApropa + + + Augmenta l'ampliació de la vista del document. + + + + + + &Ctrl;- Visualitza Allunya + + + Disminueix l'ampliació de la vista del document. + + + + + Visualitza Zoom al 100% + + + Fa zoom sobre la imatge del document fins a la mida real tal com es recomana als paràmetres del document. + + + + + Visualitza Ajusta a l'amplada de pàgina + + + Canvia l'ampliació de la vista del document a un valor fent que l'amplada de les pàgines sigui igual que la vista del document. + + + + + Visualitza Ajusta a la pàgina + + + Canvia l'ampliació de la vista del document a un valor fent visible una pàgina sencera. + + + + + Visualitza Encaixat automàtic + + + Canvia l'ampliació de la vista del document a un valor que, depenent de la relació de mida entre la pàgina i l'àrea de la vista, de forma automàtica o bé fa les pàgines d'una amplada igual que l'amplada de la vista del document (com ajusta a l'amplada), l'alçada de les pàgines igual que l'alçada de la vista del document (com ajusta a l'alçada), o tota la pàgina visible (com ajust de pàgina). + + + + + Visualitza Mode de vista + + + Aquest submenú permet escollir el mode de vista per a les pàgines. Les opcions possibles són: Pàgina individual (només una pàgina per a cada fila), Pàgines oposades (dues pàgines per fila, en un llibre d'estil), Pàgines oposades (Centra la primera pàgina) i Vista general (el nombre de columnes és l'especificat en la configuració de l'&okular;). + A més, podreu habilitar el mode Continu. En aquest mode, es mostraran totes les pàgines del document i podreu desplaçar-vos suaument per elles. En cas contrari, només es mostrarà una pàgina (o una fila de pàgines) alhora. + + + + + Visualitza Orientació + + + Aquest submenú permet canviar l'orientació de les pàgines del document. + + La rotació s'aplica a l'orientació de cada pàgina. + + Podeu seleccionar Orientació original per a restaurar l'orientació del document, descartant totes les rotacions aplicades manualment. + + + + + Visualitza Retalla la vista + + + Aquest submenú permet eliminar la vora blanca de les pàgines en visualitzar-les (element Retalla els marges) o retallar l'àrea de visualització a la selecció (element Retalla a la selecció). + El mode «retalla a la selecció» permet dibuixar una selecció sobre la pàgina renderitzada per tal de definir un quadre delimitador visible que s'aplicarà a totes les pàgines del document. Realitzant la selecció d'un petit quadre delimitador de retall s'imposarà la mida de dimensions mínimes (20% com a percentatge de la mida total de la pàgina). + El mode «retalla els marges» és persistent després de reiniciar l'&okular;. El mode «retalla a la selecció» s'oblida després de reiniciar l'&okular;. + En canviar l'&okular; des del mode «retalla els marges» al mode «retalla a la selecció», la vista saltarà del mode «retalla els marges» a la interacció d'un quadre delimitador per a la selecció. + El mode de retall es pot desactivar seleccionant el mateix element del menú una altra vegada. + + + + + Visualitza Mostra/Oculta els formularis + + + Mostra o oculta la visualització dels camps de formulari del document. + + Aquest element de menú només s'activa si el document actual conté camps de formulari. + + + + + + + + + El menú Ves + + + + Ves Pàgina anterior + + + Visualitza la pàgina anterior del document. + + + + + Ves Pàgina següent + + + Visualitza la pàgina següent del document. + + + + + &Ctrl;&Home; Ves Començament del document + + + Va al començament del document. + + + + + &Ctrl;&End; Ves Final del document + + + Va al final del document. + + + + + &Alt;&Maj;&Left; Ves Enrere + + + Torna a la vista anterior del document. + + + + + &Alt;&Maj;&Right; Ves Endavant + + + Avança a la següent vista del document. Això només funciona si heu anat enrere abans. + + + + + &Ctrl;G Ves Ves a... + + + Obre un diàleg que permet anar a qualsevol pàgina del document. + + + + + + + El menú Punts + + + + &Ctrl;B Punts Afegeix/Elimina un punt + + + Afegeix o elimina un punt per a la posició actual. + + + + + Punts Reanomena el punt + + + Canvia el nom d'un punt per a la posició actual. + + + + + Punts Punt anterior + + + Va al punt anterior, o no fa res si no hi ha punts anteriors a l'actual. + + + + + Punts Punt següent + + + Va al punt següent, o no fa res si no hi ha punts després de l'actual. + + + + + Punts Sense punts + + + Es tracta d'una acció sempre desactivada que apareix en aquest menú només si el document actual no conté punts. En cas contrari aquí es mostrarà una llista de tots els punts. En fer clic sobre aquests punts se us permetrà anar directament a la posició associada. + + + + + + + El menú Eines + + + + &Ctrl;1 Eines Navega + + + El ratolí tindrà el seu comportament normal, &BER; per a arrossegar el document i seguir els enllaços i el &BDR; per a afegir punts i ajustar l'amplada. + + + + + &Ctrl;2 Eines Zoom + + + El ratolí funcionarà com una eina de zoom. En fer clic amb el &BER; i arrossegant el zoom de la vista a l'àrea seleccionada, en fer clic amb el &BDR; restaurarà el document de nou al zoom anterior. + + + + + &Ctrl;3 Eines Selecció d'àrea + + + El ratolí funcionarà com una eina de selecció d'àrea rectangular. En aquest mode fent clic amb el &BER; i arrossegant es dibuixarà una casella de selecció i proporcionarà l'opció de copiar el contingut seleccionat al porta-retalls, parlar el text seleccionat o transformar l'àrea seleccionada en una imatge i desant-la en un fitxer. + + + + + &Ctrl;4 Eines Selecció de text + + + El ratolí funcionarà com una eina de selecció de text. En aquest mode fent clic amb el &BER; i arrossegant es donarà l'opció de seleccionar el text del document. Després, només cal fer clic amb el &BDR; per a copiar-lo al porta-retalls o parlar la selecció. + + + + + &Ctrl;5 Eines Selecció de taula + + + Dibuixeu un rectangle al voltant del text per a la taula, a continuació, utilitzeu el clic amb el &BER; per a dividir el bloc de text en files i columnes. Un clic del &BER; sobre una línia existent eliminarà i fusionarà les files o columnes adjacents. Per a acabar, feu clic amb el &BDR; per a copiar la taula al porta-retalls. + + + + + &Ctrl;6 Eines Ampliador + + + Activa el mode ampliador per al punter del ratolí. Manteniu premut el &BER; per a activar el giny ampliador, moveu el punter per a moure-us a través del document. L'ampliador escala de cada píxel en el document a 10 píxels al giny ampliador. + + + + + F6 Eines Anotacions + + + Obre la barra d'eines d'anotació. La barra d'eines d'anotació permet afegir anotacions en el document que esteu llegint. Per a obtenir més informació, vegeu la secció sobre Anotacions. + + + + + Eines Signa digitalment... + + + Inicia el flux de treball per a la creació de signatures digitals. En aquest moment, afegir signatures digitals només s'admet per als fitxers &PDF;. Per a més informació, vegeu la secció sobre Afegir signatures digitals. + + + + + Eines Pronuncia tot el document + + + Eines Pronuncia la pàgina actual + + + Eines Atura la pronunciació + + + Eines Atura/reprèn la pronunciació + + + Aquests elements permeten parlar tot el document o només la pàgina actual i aturar la parla utilitzant el servei de veu del sistema. Aquest servei és proveït per una biblioteca de les &Qt;, la qual embolcalla l'«speech-dispatcher» en &Linux; i els sistemes de veu nadius en les altres plataformes. És possible triar la veu actual mitjançant la pàgina de configuració Accessibilitat de l'&okular;. + Les accions de Parla... només estan disponibles si el servei de veu està disponible en el sistema. + + + + + + + Els menús Arranjament i Ajuda + A part dels menús Arranjament i Ajuda comuns al &kde; que es descriuen en el capítol Menús comuns de la documentació Fonaments del &kde;, l'&okular; té aquestes entrades de menú específiques de l'aplicació: + + + + F7 Arranjament Mostra la barra lateral + + + Mostra o oculta la barra lateral. + + + + + Arranjament Mostra la barra de pàgines + + + Canvia mostrar o ocultar la barra de pàgina a la part inferior de l'àrea del document i oculta per a estalviar espai vertical a la finestra de l'&okular;. Recordeu que els números de pàgina es mostraran de totes maneres a la barra d'eines predeterminada. + + + + + Arranjament Configura els dorsals... + + + Obre la finestra Configuració del dorsal. + + + + + + + + Configurar els dorsals de l'&okular; + Podeu configurar els dorsals de l'&okular; escollint Arranjament Configura els dorsals.... Actualment, les opcions de configuració sols es proporcionen per als dorsals EPub, &PostScript;, FictionBook, Txt, Text en OpenDocument i &PDF;. + + El diàleg de configuració dels dorsals + + + + + + El diàleg de configuració dels dorsals + + + + Utilitzant les pàgines de configuració per als dorsals EPub, FictionBook, Mobipocket, Markdown, Txt i Text en OpenDocument podreu definir la lletra per a representar els documents en els formats corresponents. El botó Tria... en aquestes pàgines obre la finestra de configuració estàndard del &kde; de les lletres. Per als detalls, vegeu la documentació Fonaments del &kde;. + La descripció de les pàgines de configuració dels dorsals Markdown, &PostScript; i &PDF; la trobareu a continuació. + + Configuració del dorsal de Markdown + Podeu configurar el renderitzat del dorsal Markdown de l'&okular; basat en Discount escollint Markdown des de la llista a la part esquerra del diàleg de configuració. Una opció configurable addicional és la següent. + + + + + Activa el format SmartyPants + + + Quan es marca aquesta opció, l'&okular; permetrà processar el format SmartyPants. Aquest format pot ser problemàtic en els textos tècnics a causa de substitucions no desitjades (&pex;, substitueix (C) amb un símbol de copyright). De manera predeterminada aquesta opció està marcada. + + + + + + + Configuració del dorsal de &PostScript; + Podeu configurar el renderitzat del dorsal &PostScript; de l'&okular; basat en Ghostscript escollint Ghostscript des de la llista a la part esquerra del diàleg de configuració. L'única opció configurable és la següent. + + + + + Utilitza les lletres de la plataforma + + + Aquesta opció determina si el Ghostscript ha de poder utilitzar les lletres de la plataforma, si està sense marcar, només podrà utilitzar les lletres incrustades en el document. De manera predeterminada es troba marcada. + + + + + + + Configuració del dorsal de &PDF; + Podeu configurar el renderitzat del dorsal &PDF; de l'&okular; basat en Poppler escollint &PDF; des de la llista a la part esquerra del diàleg de configuració. L'única opció configurable és la següent. + + + + + Millora les línies fines + + + El dibuix de les línies a l'&okular; està implementat en dos passos: generació del traçat de retall i omplert d'aquest traçat de retall. Quan la línia en el document original sigui inferior a un píxel aquest pas de la implementació podria causar problemes. Per a aquestes línies, el traçat de retall s'emplena amb el color de farciment que dependrà del gruix de la part de línia dins de l'àrea de tall. Si la part de la línia dins de l'àrea de tall es fa molt petita, la diferència entre la forma i el color de fons esdevindrà massa baixa perquè la línia es pugui reconèixer. Llavors les graelles d'aquestes línies es veuran poc agraciades. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Línia fina (vermella), el seu traçat de tall (línia discontínua) i límits dels píxels negres (línies negres contínues) + Mostra la línia fina amb un contrast baix + + + + + Per a millorar l'aspecte de les línies fines, l'&okular; implementa dues opcions. + La primera opció és Solid. Amb aquesta opció, l'&okular; ajusta el camí de retall i la posició de la línia de manera que el camí de retall i la línia estiguin en el mateix límit del píxel, &ead;, l'&okular; allargarà les línies fines a un píxel en el dispositiu de sortida. Aquest mode és similar a Millora les línies fines Adobe Reader. Si es tria aquesta opció, les línies fines sempre s'allargaran. + + + + + + + + Línia fina amb la millora Solid + + + Línia fina amb la millora Solid + + + + + La segona opció és Forma. Amb aquesta opció el camí del retall i la línia s'ajustaran també al límit del píxel, però la intensitat de la línia es corregirà en funció de la seva amplada. + + + + + + + + Línia fina amb la millora Forma + + + Línia fina amb la millora Forma + + + + + De manera predeterminada, les línies fines no es veuen millorades (opció No). + + + + + + Certificats de signatura digital de &PDF; + + Aquesta secció permet configurar una base de dades de certificats personalitzada a utilitzar en afegir signatures digitals als fitxers &PDF;. + També llista els certificats disponibles a la base de dades de certificats actual (si n'hi ha cap). + + + + + Configurar l'&okular; + + Configuració general + Podeu configurar l'&okular; escollint Arranjament Configura l'&okular;.... El diàleg de configuració es divideix en sis seccions. En aquest capítol es descriuen detalladament les opcions disponibles. + + + General + + + Accessibilitat + + + Rendiment + + + Presentació + + + Anotacions + + + Editor + + + + El diàleg de configuració + + + + + + El diàleg de configuració + + + + Depenent dels dorsals instal·lats, l'element de menú Arranjament Configura els dorsals... podria estar activat. Aquest diàleg de configuració en particular conté les configuracions dels dorsals que es poden configurar. + + + General + + + Usa un desplaçament suau + + Si mostrar transicions animades en desplaçar amb la roda del ratolí i el teclat. + + + + Mostra les barres de desplaçament + + Indica si mostrar les barres de desplaçament per a la vista del document. + + + + Enllaça les miniatures a la pàgina + + Indica si la vista de miniatures sempre ha de mostrar la pàgina actual o no. + + + + Mostra els consells i els missatges d'informació + + Indica si es mostraran alguns missatges informatius durant l'inici, càrrega de fitxers, &etc; + + + + Notifica els fitxers, els formularis o les signatures incrustats + + Ja sigui per a mostrar plafons informatius sobre fitxers, formularis o signatures incrustats, &etc; + + + + Si està disponible, mostra el títol del document en la barra de títol + + Indica si es mostrarà el títol del document a la barra de títol de la finestra de l'&okular;. Si no hi ha metadades per al títol en el document o aquest element està sense marcar, l'&okular; mostrarà el nom de fitxer del document. + + + + Quan no es mostri el títol del document + + Podeu escollir qualsevol de les dues opcions, Mostra sols el nom de fitxer o Mostra el camí complet del fitxer. + + + + Usa un color de fons personalitzat + + Permet triar el color del fons del document (el color que hi ha al voltant de la pàgina que es mostra). De manera predeterminada, s'utilitzarà el color del kit d'eines de les &Qt; quan aquesta opció estigui desmarcada. + + + + Obre els fitxers nous en pestanyes + + Per a obrir els documents nous en pestanyes. De manera predeterminada, les pestanyes restaran desactivades. + Les dreceres predeterminades per a canviar entre les pestanyes són &Ctrl;. (Pestanya següent) i &Ctrl;, (Pestanya anterior). + + + + Commuta a la pestanya existent si el fitxer ja està obert + + Si l'&okular; hauria de canviar a una pestanya si el fitxer ja està obert en lloc d'obrir una pestanya nova. De manera predeterminada, aquesta opció està habilitada. Només es podrà alternar si s'habilita Obre els fitxers nous en pestanyes. + + + + Obeeix les limitacions DRM + + Indica si l'&okular; haurà d'obeir les restriccions DRM (Digital Rights Management). Les limitacions DRM s'utilitzen per a fer que sigui impossible realitzar certes accions amb els documents &PDF;, com copiar el contingut al porta-retalls. Cal tenir en compte que en algunes configuracions de l'&okular;, aquesta opció no està disponible. + + + + Actualitza el document en canviar el fitxer + + Indica si els fitxers oberts es comprovaran automàticament per a canvis i, si cal, actualitzar-los. + + + + Mostra el diàleg de selecció de dorsals + + Si l'&okular; ha de preguntar a l'usuari quin dorsal utilitzar en el cas que més d'un pugui obrir el fitxer. Si no està marcada, l'&okular; utilitzarà el dorsal amb la prioritat més alta. + + + + Direcció de lectura de dreta a esquerra + + Si s'ha d'utilitzar de manera predeterminada la direcció de la lectura de dreta a esquerra per als fitxers oberts. Pot ser útil per a alguns sistemes d'escriptura. + + + + Obre en mode continu de manera predeterminada + + En aquest mode, es mostraran totes les pàgines del document i podreu desplaçar-vos suaument per elles. En cas contrari, només es mostrarà una pàgina (o una fila de pàgines) alhora. + + + + En usar l'eina Navega, el cursor continua des del final oposat en arribar a la vora de la pantalla + + Permet el desplaçament sense fi per tot el document amb l'eina Navega. Si està activat, el cursor del ratolí continuarà des del final oposat de la pantalla quan toqui les vores mentre arrossegueu el document. Aquesta característica només és compatible amb X11. + + + + Columnes de visió general + + Aquesta opció representa el nombre de columnes que s'utilitzen en el mode de vista general. + + + + Superposició Av/Re Pàg + + Aquí podeu definir el percentatge de l'àrea de visualització que haurà de ser visible després de pressionar les tecles &PgUp;/&PgDn;. + + + + Zoom predeterminat + + Aquesta opció especifica el mode de zoom predeterminat per als fitxers que no s'han obert mai. Per als fitxers que ja s'han obert s'aplicarà el mode de zoom anterior. + + + + + + Accessibilitat + + + Dibuixa una vora al voltant dels enllaços + + Indica si es dibuixarà una vora al voltant dels enllaços. + + + + Canvia els colors + + Activa les opcions de canvi de color. + + + + Mode de color + + Defineix el mode de canvi de color. + + + Inverteix els colors + + Inverteix els colors sobre la vista, &ead;, els objectes negres es mostraran en blanc. + + + + Canvia el color del paper + + Canvia el color del paper, &ead;, el fons del document. + El color es pot seleccionar utilitzant la mostra Color del paper a continuació. + + + + Canvia els colors foscos i els clars + + Canvia el color fosc i clar a la vostra preferència, el qual vol dir que el negre no es representarà com a negre sinó com el color fosc seleccionat i el blanc com el color clar seleccionat. + + + + Converteix a blanc i negre + + Converteix el document a blanc i negre. Podeu establir el llindar i el contrast. Ajustant el llindar a un valor major movent-lo cap a la dreta resultarà en l'ús de grisos més clars. + + + + Inverteix la lluminositat + + Inverteix la lluminositat de tots els colors. Els colors clars i foscos s'intercanviaran, però el to i la saturació no es veuran afectats. El contrast en les imatges generalment serà pitjor que a Inverteix la luma (sRGB lineal). + + + + Inverteix la luma (sRGB lineal) + + Inverteix la luma de tots els colors. La llum i la foscor s'intercanviaran, però el to i la saturació no es veuran afectats. El contrast en les imatges es conservarà millor que a Inverteix la lluminositat, però els gràfics i el marcatge de text en color generalment es veurà pitjor. Utilitza coeficients luma sRGB, però no correcció de la gamma. + + + + Inverteix la luma (Simètrica) + + Inverteix la luma de tots els colors. Utilitzant coeficients simètrics de la luma. La llum i la foscor s'intercanviaran, però el to i la saturació no es veuran afectats. Molt similar a Inverteix la lluminositat, però millorant el contrast en alguns casos. + + + + Desplaça a un to positiu + + Desplaça el to de tots els colors en 120 graus. Pot mitigar alguns problemes de contrast en gràfics amb color. + + + + Desplaça a un to negatiu + + Desplaça el to de tots els colors en 240 graus. Pot mitigar alguns problemes de contrast en gràfics amb color. + + + + Podeu configurar les dreceres de teclat i les accions de la barra d'eines per als modes de color utilitzant els elements de menú corresponents al menú Arranjament de la finestra principal de l'&okular;. + + + + Motor de text a veu + + Permet escollir el motor de text a veu (TTS) que utilitzarà l'&okular;. De manera predeterminada és speechd TTS. + + + + Veu de text a veu + + Permet escollir una veu de text a veu que utilitzarà l'&okular;. Podeu utilitzar tots els idiomes i veus segons els sintetitzadors disponibles a la vostra plataforma. A &Linux;, s'utilitza de manera predeterminada l'«speech-dispatcher» per a determinar les veus disponibles. + + + + + + Rendiment + + + Activa els efectes de transparències + + Dibuixa les seleccions i d'altres gràfics especials utilitzant efectes de transparència. Si es desactiva l'opció per a dibuixar s'utilitzaran estils de farciment del contorn o opacs i s'augmentarà la velocitat de les seleccions. + + + + Ús de la memòria + + L'&okular; pot aconseguir millors resultats afinant l'ús de la memòria, depenent del vostre sistema i els vostres gustos. Com més memòria permeteu utilitzar, més ràpid es comportarà el programa. El perfil predeterminat és bo per a tots els sistemes, però podeu evitar que l'&okular; utilitzi més memòria de la necessària seleccionant un perfil «Baix», o permetre treure el màxim profit del vostre sistema utilitzant «Enèrgic». Utilitzeu el perfil «Voraç» per a precarregar totes les pàgines sense risc de sobreeixir la memòria del sistema (només s'utilitzarà el 50% de la memòria total o de la memòria lliure). + + + + Opcions de renderització + + Utilitzant aquest grup d'opcions podreu millorar la representació del text i de les imatges a l'&okular;. El resultat dependrà del dispositiu per a visualitzar el document. Els elements Activa l'antialiàsing de text i Activa l'antialiàsing de gràfics es poden utilitzar per a activar i desactivar el suavitzat espacial del text i les imatges en el document, segons correspongui. L'element Activa la correcció de lletres per text està destinat a ser un selector per a corregir les lletres. L'antialiàsing i la correcció de lletres canvien quan es visualitzen els documents, molts els voldreu ajustar a les vostres preferències. + + + + + + Presentació + + + Avança cada + + Activa l'avanç automàtic de pàgines per un període de temps donat. + + + + Repeteix després de l'última pàgina + + En navegar en el mode de presentació i anar més enllà de l'última pàgina apareixerà la primera pàgina. + + + + Navegació tàctil + + Permet ajustar la navegació per la pantalla tàctil tocant en la presentació emprant els tres valors possibles següents: + + + Toc a la banda esquerra/dreta per a anar enrere/endavant: En tocar la part esquerra (dreta) de la pantalla es farà que la presentació vagi a la diapositiva anterior (següent). + + + Toc a qualsevol lloc per a anar endavant (predeterminat): En tocar a la pantalla, la presentació anirà a la següent diapositiva, sense importar on es toqui. + + + Desactivat: Tocar a la pantalla no farà res. + + + + + + Color del fons + + El color que emplenarà la part de la pantalla no coberta per la pàgina en el mode presentació. + + + + Cursor del ratolí + + Indica si el ratolí estarà sempre ocult, si es mostrarà sempre o si s'ocultarà després d'un petit temps d'inactivitat. + + + + Mostra l'indicador de progrés + + Indica si es mostrarà un cercle de progrés que mostri la pàgina actual i el nombre total de pàgines a la part superior dreta de la pantalla de presentació cada vegada que canvieu la pàgina. + + + + Mostra la pàgina de resum + + Indica si mostrar una pàgina de resum al començament de la presentació amb el títol, autor i el nombre de pàgines del document. + + + + Activa les transicions + + Utilitzeu aquesta casella de selecció per a activar o desactivar els efectes de transició entre les pàgines. + + + + Transició predeterminada + + L'efecte de transició entre pàgina i pàgina si el document no n'especifica cap. Establiu-ho a Transició aleatòria per a fer que l'&okular; triï a l'atzar un dels efectes disponibles. + + + + Emplaçament + + En aquesta secció podeu seleccionar la Pantalla a utilitzar per a mostrar la presentació. + Pantalla actual és la mateixa pantalla de la finestra de l'&okular; que inicia el mode de presentació. + Pantalla predeterminada és la pantalla marcada com a predeterminada a la configuració de «xinerama». + Pantalla 0, Pantalla 1, &etc; són les pantalles disponibles. + + + + Configuració de l'eina de dibuix + + Gestiona els colors del llapis utilitzat en dibuixar a les pàgines durant el mode de presentació. + + + + + + Anotacions + + La pàgina Anotacions del diàleg de configuració + + + + + + La pàgina Anotacions del diàleg de configuració + + + + + + Barra d'eines d'anotació + + Permet canviar entre Barra d'eines completa d'anotacions (barra d'eines predeterminada a la secció superior de la finestra de l'&okular;) i Barra d'eines d'anotacions ràpides (barra d'eines lliscant amb les vostres eines preferides a la part dreta de la subfinestra Document). + + + + Autor + + L'autor dels continguts afegit en un document. De manera predeterminada, és el nom de la pàgina Contrasenya i compte d'usuari del mòdul Detalls del compte a l'&systemsettings;. + + + + Eines d'anotació + + Aquesta subfinestra s'utilitza per a configurar la barra d'eines d'anotació. + Hi ha cinc botons (Afegeix, Edita, Elimina, Mou amunt i Mou avall) i un quadre de llista (el qual mostra el contingut de la barra d'eines d'anotació) que s'utilitza per a configurar la barra d'eines. + Si us cal afegir algun botó d'eina a la barra d'eines, feu clic al botó Afegeix. Podeu escollir el Nom, Tipus i Aparença de l'eina creada. + + Recordeu que les eines d'anotació a l'&okular; són altament configurables. Per exemple, podeu tenir dos botons de la mateixa eina però amb diferent color. No podeu restar indecís en escollir el conjunt de botons que s'adapti exactament al vostre flux de treball. + + Feu clic sobre algun element al quadre de llista i després feu clic al botó corresponent a la part dreta de la pàgina per a editar, eliminar, moure amunt o avall l'element. La drecera de teclat de l'eina (tecles des d'1 fins a 9) dependrà de la seva posició en la llista de la barra d'eines d'anotació. + + + + Usar segells personalitzats + + + Creeu la icona que voleu utilitzar per al vostre propi segell i deseu-lo en qualsevol format de gràfics admès per l'&okular; + Feu clic al botó Afegeix, seleccioneu el tipus Segell i introduïu un nom per al vostre segell. + Introduïu el camí complet a la vostra icona personalitzada a la llista desplegable del grup Símbol del segell + + + + + + + Editor + + + Editor + + Escolliu l'editor que voleu llançar quan l'&okular; vulgui obrir un fitxer font. Aquest és el cas quan el document conté referències als diversos punts (usualment número de fila i columna) de les fonts des de les quals fou generat. El format &DVI; admet de forma nativa afegir la informació sobre les fonts del document &latex; des del que fou generat. Existeix un sistema similar per als documents &PDF;, anomenat pdfsync, el qual emmagatzema aquesta informació extra en un fitxer extern anomenat després del fitxer &PDF; mateix (per exemple meu_document.pdfsync per a meu_document.pdf). + L'&okular; es distribueix amb opcions preconfigurades per als editors següents: &kate;, Kile, SciTE, el client &Emacs;, el client LyX, TeXstudio i TeXiFy IDEA. + + Per a utilitzar la cerca inversa a &kile;, haureu de compilar el vostre fitxer de &latex; amb la configuració Moderna. + + + + + Ordre + + Aquesta és l'ordre i els seus paràmetres per a invocar l'editor seleccionat amb el fitxer font del document real. + Aquest camp s'omplirà automàticament si utilitzeu un dels editors preconfigurats. En cas contrari, escolliu Editor de text personalitzat a la llista desplegable Editor i consulteu la documentació del vostre editor preferit per a trobar l'ordre adequada. + Podeu utilitzar els següents caràcters de comodí: + + + %f - el nom del fitxer + + + %l - la línia del fitxer a abastar + + + %c - la columna del fitxer a abastar + + + Si no s'especifica «%f», el nom del document serà adjuntat a l'ordre especificada. + + + + + + + Crèdits i llicència + + + Copyright del programa: + &Albert.Astals.Cid; &Albert.Astals.Cid.mail; mantenidor actual + Pino Toscano pino@kde.org + Enrico Ros eros.kde@email.it desenvolupador del &kpdf; + + + + Copyright de la documentació: + &Albert.Astals.Cid; &Albert.Astals.Cid.mail; autor + Titus Laska titus.laska@gmx.de algunes actualitzacions i afegits + Pino Toscano pino@kde.org + + Traductor de la documentació: &credits.Antoni.Bella; &underFDL; &underGPL; + + &documentation.index; + + + + diff --git a/po/ca/docs/okular/mainwindow.png b/po/ca/docs/okular/mainwindow.png new file mode 100644 index 0000000000000000000000000000000000000000..184f788f872976419ad8d2d46844fb6086c8bd5c GIT binary patch literal 96410 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

XV~ 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 literal 0 HcmV?d00001 diff --git a/po/ca/docs/okular/man-okular.1.docbook b/po/ca/docs/okular/man-okular.1.docbook new file mode 100644 index 0000000..a4194ec --- /dev/null +++ b/po/ca/docs/okular/man-okular.1.docbook @@ -0,0 +1,250 @@ + + +]> + + + + +Manual d'usuari de l'Okular +YuriChornoivan Pàgina man de l'Okular. yurchor@ukr.net +19 de febrer de 2022 +Okular 22.04 +KDE Gear + + + +okular +1 + + + +okular +un visualitzador universal de documents + + + +okular Opcions de l'Okular URL + + + +Descripció +L'okular té com a objectiu mostrar documents en formats diferents. + + + +Opcions de l'Okular + + + + + +Obre una pàgina amb el número indicat al document. + + + + + + +Inicia el document en el mode presentació. + + + + + + +Inicia amb un diàleg d'impressió. + + + + + + +Inicia amb el diàleg d'impressió i surt després d'imprimir. + + + + + + +Control d'«Instància única». + + + + + + +Permet prevenir l'elevació de la finestra de l'Okular després de l'inici. + + + + + + +Intenta trobar i ressaltar una cadena determinada en el document. Només funciona si sols es proporciona un document com a argument de l'ordre «okular». + + + + + + +Defineix l'ordre de l'editor extern. No es pot definir l'ordre de l'editor en una instància en execució de l'Okular. Tingueu en compte que no es permet quan es defineix l'ordre de l'editor a la línia d'ordres. + + + + + +Arguments + + + + +Una adreça del document a obrir. Per a un PDF, podeu indicar-ho com nom_document#nom_destinació, on nom_destinació serà una destinació concreta amb nom incrustada en el document. + + + + + +Comentaris +A l'IRC, irc.libera.chat #okular o mitjançant correu electrònic, okular-devel@kde.org o al lloc web, <https://okular.kde.org/>. + + + +Vegeu també + +Hi ha disponible documentació d'usuari més detallada des de help:/okular (podeu emprar aquest &URL; al &konqueror; o bé executar khelpcenter help:/okular). +kf6options(7) +qt6options(7) +També hi ha més informació disponible al lloc web https://okular.kde.org/ + + + +Copyright +Copyright © 2002 Wilco Greven, Christophe Devriese +Copyright © 2004-2005 Enrico Ros +Copyright © 2005 Piotr Szymanski +Copyright © 2004-2012 Albert Astals Cid +Copyright © 2006-2009 Pino Toscano +Llicència pública general de GNU versió 2 <https://www.gnu.org/licenses/gpl-2.0.html> + + + diff --git a/po/ca/docs/okular/presentation.png b/po/ca/docs/okular/presentation.png new file mode 100644 index 0000000000000000000000000000000000000000..479d3f934ed967560aa973e4d5041a5812df0b84 GIT binary patch literal 50015 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 +# SPDX-FileCopyrightText: 2005 Sebastià Pla i Sanz +# SPDX-FileCopyrightText: 2011 Manuel Tortosa +# SPDX-FileCopyrightText: 2012, 2013, 2014, 2017, 2018, 2019, 2020, 2022, 2023 Antoni Bella Pérez +# SPDX-FileCopyrightText: 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025 Josep M. Ferrer +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-11-13 09:38+0100\n" +"Last-Translator: Josep M. Ferrer \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 25.04.0\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Accelerator-Marker: &\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Josep M. Ferrer" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "txemaq@gmail.com" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Okular, un visualitzador universal de documents" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "Mantenidor anterior" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "" +"Molta feina d'infraestructura, dorsal del FictionBook i antic dorsal de l'ODT" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "Desenvolupador" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymanski" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "Va crear l'Okular des del codi base del KPDF" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "Enrico Ros" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "Desenvolupador del KPDF" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "Eugene Trounev" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "Gràfics de les anotacions" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "Jiri Baum - NICTA" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "Eina de selecció de taules" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "Fabio D'Urso" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "Millores a les anotacions" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "Ves a la pàgina %1" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "Obre un fitxer extern" + +#: core/action.cpp:197 +#, kde-format +msgid "Execute '%1'…" +msgstr "Executa «%1»…" + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "Primera pàgina" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "Pàgina anterior" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "Pàgina següent" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "Última pàgina" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "Enrere" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "Endavant" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Surt" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "Inicia la presentació" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "Acaba la presentació" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "Cerca…" + +#: core/action.cpp:314 +#, kde-format +msgid "Go To Page…" +msgstr "Ves a la pàgina…" + +#: core/action.cpp:365 +#, kde-format +msgid "Play sound…" +msgstr "Reprodueix un so…" + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "Script JavaScript" + +#: core/action.cpp:483 +#, kde-format +msgid "Play movie…" +msgstr "Reprodueix una pel·lícula…" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "Reprodueix una pel·lícula" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "Atura la pel·lícula" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "Fa pausa a la pel·lícula" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "Continua la pel·lícula" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "Aquest Okular s'ha construït sense suport d'àudio" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "Selecció de dorsal" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
%1 (%2).

Please select which one to use:
" +msgstr "" +"S'ha trobat més d'un dorsal per al tipus MIME:
%1 (%2).

Seleccioneu quin s'ha d'usar:
" + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "La majoria de les pàgines són %1." + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "Vertical %1" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "Apaïsada %1" + +#: core/document.cpp:246 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 × %2 polzades (%3)" + +#: core/document.cpp:248 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 × %2 mm (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "La cerca continua des del començament" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "La cerca continua des de baix" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "" +"No s'ha pogut trobar cap connector que pugui gestionar el document que " +"s'està manipulant." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "La signatura no està implementada en aquest tipus de document" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "Elimina les anotacions" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"El document està intentant executar una aplicació externa i l'Okular no ho " +"permet per a la vostra seguretat." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "" +"No s'ha trobat cap aplicació per a obrir el fitxer amb el tipus MIME %1." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "No s'ha pogut obrir un fitxer temporal" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "Ha fallat la conversió d'impressió" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "El procés d'impressió ha fallat" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "No s'ha pogut iniciar el procés d'impressió" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "Ha fallat la impressió a un fitxer" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "La impressora està en un estat no vàlid" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "No s'ha pogut trobar el fitxer a imprimir" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "No hi ha cap fitxer a imprimir" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"No s'ha pogut trobar cap binari adequat per a imprimir. Assegureu-vos que " +"està disponible l'executable «lpr» de CUPS" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "La mida d'impressió de la pàgina no és vàlida" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "No s'ha pogut obrir «%1». El fitxer no existeix" + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Títol" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Assumpte" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Descripció" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "Autor" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Creador" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Productor" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "Copyright" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "Pàgines" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Creat" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Modificat" + +#: core/document.cpp:6032 +#, kde-format +msgid "MIME Type" +msgstr "Tipus MIME" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "Categoria" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Paraules clau" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "Camí al fitxer" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "Mida del fitxer" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "Mida de la pàgina" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "Afegeix anotació" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "Elimina anotació" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "Modifica les propietats d'una anotació" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "Trasllada una anotació" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "Ajusta l'anotació" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "Edita el text" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "Edita el contingut d'una anotació" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "Edita el contingut de formularis" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "Edita la selecció de llista de formulari" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "Edita la selecció de combinació de formulari" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "Edita els estats de botó de formulari" + +#: core/generator.cpp:790 +#, kde-format +msgid "Plain &Text…" +msgstr "&Text net…" + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "Text en OpenDocument" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "Opcions d'impressió" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "Ajusta a l'àrea imprimible" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "Ajusta a la pàgina completa" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "Mode d'escala:" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "No tornis a mostrar aquest missatge" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "No disponible" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" +"Error intern de signatura. Informeu l'error amb els passos per a reproduir-" +"lo. Codi d'error %1" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "No s'ha pogut signar el document: %1" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "Signatura cancel·lada per l'usuari" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "No s'ha pogut signar. Frase de pas incorrecta" + +#: core/signatureutils.cpp:504 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" +"No s'ha pogut escriure el document signat a %1. " +"Assegureu-vos que heu seleccionat una carpeta amb permís d'escriptura" + +#: core/signatureutils.cpp:506 +#, kde-format +msgid "Unknown signing error" +msgstr "Error desconegut de signatura" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Origen: %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "Lletra pre&determinada:" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "Versió" + +#: gui/certificatemodel.cpp:41 +#, kde-format +msgid "Serial Number" +msgstr "Número de sèrie" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "Emissor" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "Emès el" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "Expira el" + +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Assumpte" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "Clau pública" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "Ús de la clau" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "V%1" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "%1 (%2 bits)" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "Propietat" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "Valor" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "Nota emergent" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "Màquina d'escriure" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "Nota inclosa" + +#: gui/guiutils.cpp:56 +#, kde-format +msgid "Arrow with Comment" +msgstr "Fletxa amb comentari" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "Fletxa" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "Línia recta amb comentari" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "Línia recta" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "Polígon amb comentari" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "Polígon" + +#: gui/guiutils.cpp:71 +#, kde-format +msgid "Rectangle with Comment" +msgstr "Rectangle amb comentari" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "Rectangle" + +#: gui/guiutils.cpp:74 +#, kde-format +msgid "Ellipse with Comment" +msgstr "El·lipse amb comentari" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "El·lipse" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "Ressaltat amb comentari" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "Ressaltat" + +#: gui/guiutils.cpp:87 +#, kde-format +msgid "Squiggle with Comment" +msgstr "Giragonses amb comentari" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "Giragonses" + +#: gui/guiutils.cpp:91 +#, kde-format +msgid "Underline with Comment" +msgstr "Subratllat amb comentari" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "Subratllat" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out with Comment" +msgstr "Barrat amb comentari" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "Barrat" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "Segell amb comentari" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "Segell" + +#: gui/guiutils.cpp:106 +#, kde-format +msgid "Freehand Line with Comment" +msgstr "Línia a ma alçada amb comentari" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "Línia a mà alçada" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "Cursor" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "Adjunció de fitxer" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "So" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "Pel·lícula" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Pantalla" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "Giny" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "Contingut enriquit" + +#: gui/guiutils.cpp:144 +#, kde-format +msgid "Annotation" +msgstr "Anotació" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "Desconegut" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Autor: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "A on voleu desar %1?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "No s'ha pogut obrir «%1» per a escriure-hi. El fitxer no s'ha desat." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "La signatura és vàlida criptogràficament." + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "La signatura no és vàlida criptogràficament." + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "Hi ha hagut un error d'inconsistència del resum." + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "L'estructura CMS/PKCS7 de la signatura està mal formada." + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "La signatura requerida no és present al document." + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "No s'ha pogut verificar la signatura." + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "El certificat és de confiança." + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "L'emissor del certificat no és de confiança." + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "L'emissor del certificat és desconegut." + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "El certificat ha estat revocat." + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "El certificat ha caducat." + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "El certificat encara no s'ha verificat." + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "Validació del certificat en curs" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "Problema desconegut amb el certificat o té les dades corrompudes." + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "MD2" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "MD5" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "SHA1" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "SHA256" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "SHA384" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "SHA512" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "SHA224" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "Algorisme desconegut" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "RSA" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "DSA" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "EC" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "Tipus desconegut" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "Signatura digital" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "Sense repudiació" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "Claus d'encriptatge" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "Claus de desencriptatge" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "Acord de claus" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "Certificat de signatura" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "CRL de signatura" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "Només encripta" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "No s'ha especificat cap ús" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr ", " + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "El document no s'ha modificat des que es va signar." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" +"La revisió del document que estava coberta per aquesta signatura no s'ha " +"modificat.\n" +"Tanmateix, hi ha hagut canvis posteriors al document." + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" +"S'ha modificat el document d'una manera no permesa pel signatari anterior." + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "No s'ha pogut completar la verificació de la integritat del document." + +#: gui/signatureguiutils.cpp:208 +#, kde-format +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "Aquest document té camps de variable de substitució de signatura." + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "Aquest document està signat digitalment." + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "" +"Aquest document està signat digitalment. Hi ha hagut canvis des de la " +"darrera signatura." + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" +"Aquest document està signat digitalment. No s'ha pogut validar adequadament " +"alguna de les signatures." + +#: gui/signaturemodel.cpp:141 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "Variable de substitució de signatura: %1" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "Camp: %1 a la pàgina %2" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "Rev. %1: Signat per %2" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "Data de signatura: %1" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "Motiu: %1" + +#: gui/signaturemodel.cpp:177 +#, kde-format +msgid "Location: %1" +msgstr "Ubicació: %1" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "Signatura PGP" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "Adobe PKCS7" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "Adobe PKCS7 SHA1" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "ETSI CAdES" + +#: gui/signaturemodel.cpp:193 +#, kde-format +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "Desconeguda" + +#: gui/signaturemodel.cpp:195 +#, kde-format +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "Variable de substitució de signatura" + +#: gui/signaturemodel.cpp:201 +#, kde-format +msgid "Signature Type: %1" +msgstr "Tipus de signatura: %1" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "Vermell" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "Taronja" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "Groc" + +#: part/annotationactionhandler.cpp:151 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "Verd" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "Cian" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "Blau" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "Magenta" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "Blanc" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "Gris" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "Negre" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "Amplada %1" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1%" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "Amplada de la línia d'anotació (cap anotació seleccionada)" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "Color de l'anotació (cap anotació seleccionada)" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "Color de l'emplenat de l'anotació (cap anotació seleccionada)" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "Opacitat de l'anotació (cap anotació seleccionada)" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "Lletra de l'anotació (cap anotació seleccionada)" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" +"Afegeix l'anotació actual al menú d'anotacions ràpides (cap anotació " +"seleccionada)" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" +"Conserva la relació de forma a 1:1 o l'angle de línia a passos de 15° (cap " +"anotació seleccionada)" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" +"Configuració avançada per a l'actual eina d'anotació (cap anotació " +"seleccionada)" + +#: part/annotationactionhandler.cpp:308 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Amplada de la línia d'anotació" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "" +"Amplada de la línia d'anotació (l'anotació actual no té amplada de línia)" + +#: part/annotationactionhandler.cpp:314 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Color de text d'anotació" + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "Color de vora d'anotació" + +#: part/annotationactionhandler.cpp:318 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Color de l'anotació" + +#: part/annotationactionhandler.cpp:322 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Color de l'emplenat de l'anotació" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "" +"Color de l'emplenat de l'anotació (l'anotació actual no té color d'emplenat)" + +#: part/annotationactionhandler.cpp:328 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "Lletra de l'anotació" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "Lletra de l'anotació (l'anotació actual no té lletra)" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "Conserva l'angle de línia a passos de 15°" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "Conserva la relació de forma a 1:1" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" +"Conserva la relació de forma a 1:1 o l'angle de línia a passos de 15° (no " +"admès per l'anotació actual)" + +#: part/annotationactionhandler.cpp:341 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Opacitat de l'anotació" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "Afegeix l'anotació actual al menú d'anotacions ràpides" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "Configuració avançada per a l'actual eina d'anotació" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "Color" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "Color d'emplenat" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "Transparent" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "Color personalitzat…" + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "Selecció de color" + +#: part/annotationactionhandler.cpp:552 +#, kde-format +msgid "&Annotations" +msgstr "&Anotacions" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "Oculta" + +#: part/annotationactionhandler.cpp:554 +#, kde-format +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Mostra més eines d'anotació" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "Marcador fluorescent" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "Subratllat" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "Giragonses" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "Barrat" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Màquina d'escriure" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "Nota inclosa" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "Nota emergent" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "Línia a mà alçada" + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "Línia recta" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "Fletxa" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "Rectangle" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "El·lipse" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "Polígon" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "Formes geomètriques" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "Segell" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Anotacions ràpides" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "Selecciona una eina d'anotació de les anotacions ràpides" + +#: part/annotationactionhandler.cpp:651 +#, kde-format +msgid "Quick Annotation Bar" +msgstr "Barra d'anotacions ràpides" + +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "Afegeix a les anotacions ràpides" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "Mantén activa" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "Mantén activa l'eina d'anotacions després de l'ús" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "Conserva la relació i l'angle de les eines d'anotació" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "Lletra" + +#: part/annotationactionhandler.cpp:681 +#, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Configuració de les anotacions" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "Amplada de la línia" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "Opacitat" + +#: part/annotationactionhandler.cpp:696 +#, kde-format +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1%" + +#: part/annotationmodel.cpp:320 +#, kde-format +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "Pàgina %1 (%2)" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "Pàgina %1" + +#: part/annotationpopup.cpp:85 +#, kde-format +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "Anotació" +msgstr[1] "%1 anotacions" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "&Obre una nota emergent" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Suprimeix el punt" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Afegeix un punt" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, kde-format +msgid "Copy Text to Clipboard" +msgstr "Copia el text al porta-retalls" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "La còpia està prohibida pel DRM" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "Su&primeix" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "&Propietats" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, kde-format +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "&Desa «%1»…" + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "Aparen&ça" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "&General" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&Autor:" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "Creat:" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "Modificat:" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "Propietats de les notes emergents" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "Propietats de la màquina d'escriure" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "Propietats de les notes incloses" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "Propietats de les línies rectes" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "Propietats dels polígons" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "Propietats geomètriques" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "Propietats del marcador de text" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "Propietats del segell" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "Propietats de la línia a ma alçada" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "Propietats del cursor" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "Propietats del fitxer adjunt" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "Propietats del so" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "Propietats de la pel·lícula" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "Propietats de les anotacions" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "Seleccioneu un símbol de segell personalitzat des d'un fitxer" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "Seleccioneu un símbol de segell personalitzat" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" +"*.ico *.png *.xpm *.svg *.svgz | Fitxers d'icona (*.ico *.png *.xpm *.svg *." +"svgz)" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "No s'ha pogut carregar el fitxer %1" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "Fitxer no vàlid" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&Color:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, kde-format +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%v%" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "&Opacitat:" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "Icona:" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "Comentari" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "Ajuda" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "Inserció" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "Tecla" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "Paràgraf nou" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "Nota" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "Paràgraf" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Lletra:" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "&Color del text:" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "&Alinea:" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "Esquerra" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "Centre" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "Dreta" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "A&mplada de la vora:" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "Aprovat" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "Tal com és" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "Confidencial" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "Departamental" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "Esborrany" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "Experimental" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "Caducat" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "Final" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "Per a comentaris" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "Per a divulgar públicament" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "No aprovat" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "No és per a divulgar públicament" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "Venut" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "Alt secret" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "Punt" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "Informació" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "Símbol de segell:" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "&Amplada:" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "Començament de línia:" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "Final de línia:" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "Quadrat" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "Cercle" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "Diamant" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "Fletxa oberta" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "Fletxa tancada" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "Cap" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "Punta" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "Fletxa oberta dreta" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "Fletxa tancada dreta" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "Barra" + +#: part/annotationwidgets.cpp:531 +#, kde-format +msgid "Leader line length:" +msgstr "Longitud de la línia principal:" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "Longitud de les extensions de la línia principal:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "Activat" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "Emplenat de forma:" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Tipus:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "Barrat" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "Símbol de fitxer adjunt:" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "Gràfic" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "Xinxeta" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "Clip de paper" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "Etiqueta" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "Fitxer" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "N/D" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "No hi ha disponible cap descripció." + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "Nom:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "Descripció:" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "Símbol del cursor:" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "Cap" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "Tanca aquesta nota" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "Opcions" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"Aquesta anotació pot contenir codi LaTeX.\n" +"Cliqueu aquí per a renderitzar." + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "No s'ha pogut trobar l'executable «latex»." + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "Ha fallat la renderització LaTeX" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "No s'ha pogut trobar l'executable «dvipng»." + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "Ha ocorregut un problema durant l'execució de l'ordre «latex»." + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "Ha ocorregut un problema durant l'execució de l'ordre «dvipng»." + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"un punt" +msgstr[1] "" +"%1\n" +"\n" +"%2 punts" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Punts" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "Mostra per a tots els documents" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, kde-format +msgid "Search…" +msgstr "Cerca…" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, kde-format +msgid "Expand All" +msgstr "Expandeix-ho tot" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, kde-format +msgid "Collapse All" +msgstr "Redueix-ho tot" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "Ves a aquest punt" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "Reanomena un punt" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Obre el document" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "Elimina tots els punts d'aquest document" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "Visualitzador de certificats" + +#: part/certificateviewer.cpp:50 +#, kde-format +msgid "Export…" +msgstr "Exporta…" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "General" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "Emès per" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "Nom comú (CN)" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "Correu electrònic" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "Organització (O)" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "Emès a" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "Validesa" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "Empremtes digitals" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "Empremta digital SHA-1" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "Empremta digital SHA-256" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "Detalls" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "Dades del certificat:" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "A on voleu desar aquest certificat?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "Fitxer de certificat (*.cer)" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "No s'ha pogut exportar el certificat" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "Mode de &color" + +#: part/colormodemenu.cpp:21 +#, kde-format +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "Canvia els colors" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "Colors &normals" + +#: part/colormodemenu.cpp:41 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "&Inverteix els colors" + +#: part/colormodemenu.cpp:42 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "Canvia el color del &paper" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "Canvia els colors &foscos i els clars" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "Converteix a &blanc i negre" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "Inverteix la &lluminositat" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "Inverteix la l&uma (sRGB lineal)" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "Inverteix la luma (&simètrica)" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "Desplaça a un to p&ositiu" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "Desplaça a un to n&egatiu" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "Vermell" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "Verd" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "Blau" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "Groc" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "Negre" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "Blanc" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "Marcador fluorescent groc" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "Marcador fluorescent verd" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "Inserció de text" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "Dibuixa una vora al voltant dels enllaços" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "Canvia els colors" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "" +"Avís: aquestes opcions poden afectar negativament la velocitat del " +"dibuixat." + +#: part/dlgaccessibility.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "Inverteix els colors" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "Canvia el color del paper" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "Canvia els colors foscos i els clars" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "Converteix a blanc i negre" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "Inverteix la lluminositat" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "Inverteix la luma (sRGB lineal)" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "Inverteix la luma (simètrica)" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "Desplaça a un to positiu" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "Desplaça a un to negatiu" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "Mode de color:" + +#: part/dlgaccessibility.cpp:87 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Color del paper:" + +#: part/dlgaccessibility.cpp:99 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Color fosc:" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "Color clar:" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "Llindar:" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Contrast:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "Motor de text a veu:" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "Veu de text a veu:" + +#: part/dlgannotations.cpp:25 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Barra d'eines completa d'anotacions" + +#: part/dlgannotations.cpp:26 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Barra d'eines d'anotacions ràpides" + +#: part/dlgannotations.cpp:28 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Barra d'eines d'anotacions:" + +#: part/dlgannotations.cpp:34 +#, kde-format +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "Autor:" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"Nota: La informació que s'usa aquí només és per a les anotacions. La " +"informació es desa en documents anotats, per tant, es transmetrà junt amb el " +"document." + +#: part/dlgannotations.cpp:48 +#, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

Quick Annotation Tools

" +msgstr "

Eines d'anotacions ràpides

" + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" +"Seleccioneu l'editor que voleu executar quan l'Okular necessiti obrir un " +"fitxer de codi font." + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "Editor de text personalitzat" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Client de l'Emacs" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "Client del Lyx" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "TeXstudio" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "TeXiFy IDEA" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "Editor:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
\n" +"You can also put few placeholders:\n" +"
    \n" +"
  • %f - the file name
  • \n" +"
  • %l - the line of the file to be reached
  • \n" +"
  • %c - the column of the file to be reached
  • \n" +"
\n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"Indiqueu l'ordre de l'editor de text personalitzat a executar.
\n" +"Podeu afegir les següents variables de substitució:\n" +"
    \n" +"
  • %f - el nom del fitxer
  • \n" +"
  • %l - la línia del fitxer a on anar
  • \n" +"
  • %c - la columna del fitxer a on anar
  • \n" +"
\n" +"Si no s'especifica %f, llavors el nom del fitxer s'afegeix a l'ordre " +"especificada." + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "Ordre:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "Usa un desplaçament suau" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "Aparença:" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "Mostra les barres de desplaçament" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "Enllaça les miniatures a la pàgina" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "Mostra els consells i els missatges d'informació" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "Notifica els fitxers, els formularis o les signatures incrustats" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "Si està disponible, mostra el títol del document en la barra de títol" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "Només mostra el nom de fitxer" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "Mostra el camí complet del fitxer" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "Quan no es mostri el títol del document:" + +#: part/dlggeneral.cpp:92 +#, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "Usa un color de fons personalitzat:" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "Funcionalitats del programa:" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "Obre els fitxers nous en pestanyes" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "Commuta a la pestanya existent si el fitxer ja està obert" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "Obeeix les limitacions DRM" + +#: part/dlggeneral.cpp:148 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "Recarrega el document en canviar el fitxer" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "Mostra el diàleg de selecció de dorsals" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "Direcció de lectura de dreta a esquerra" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" +"Fes servir la informació de fitxer per a determinar si s'ha d'obrir en mode " +"continu de manera predeterminada" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" +"Per als fitxers sense informació de fitxer, obre en mode continu de manera " +"predeterminada" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "Obre en mode continu de manera predeterminada" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" +"En usar l'eina Navega, el cursor continua al final oposat en arribar a la " +"vora de la pantalla" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "Elements a l'historial recent:" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "Columnes de visió general:" + +#: part/dlggeneral.cpp:220 +#, kde-format +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%v%" + +# skip-rule: k-PageUp-1 +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" +"Defineix quina part de l'àrea de visió actual romandrà visible en prémer les " +"tecles de retrocedir/avançar pàgina." + +# skip-rule: k-PageUp-1 +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "Superposició Re/Av Pàg:" + +#: part/dlggeneral.cpp:228 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%v%" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "100%" + +#: part/dlggeneral.cpp:233 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "Ajusta a l'amplada de pàgina" + +#: part/dlggeneral.cpp:234 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "Ajusta a la pàgina" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "Encaixat automàtic" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "Personalitzat" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" +"Defineix el mode predeterminat de zoom per als fitxers que mai s'han obert " +"abans. Per als fitxers que s'han obert prèviament s'aplica el zoom anterior." + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "Zoom predeterminat:" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "Activa els efectes de transparències" + +#: part/dlgperformance.cpp:28 +#, kde-format +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "Ús de la CPU:" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "Baix" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "Normal (predeterminat)" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "Enèrgic" + +#: part/dlgperformance.cpp:38 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "Voraç" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "Ús de la memòria:" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "Activa l'antialiàsing de text" + +#: part/dlgperformance.cpp:56 +#, kde-format +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "Opcions de renderització:" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "Activa l'antialiàsing de gràfics" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "Activa la correcció de lletres del text" + +# skip-rule: punctuation-period-no +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"Mantén l'ús de la memòria tan baix com sigui possible. No reutilitza res " +"(per a sistemes amb poca memòria)." + +# skip-rule: punctuation-period-no +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"Un bon compromís entre l'ús de la memòria i la velocitat. Precarrega la " +"pàgina següent i accelera les cerques (normalment, per a sistemes amb 2 GB " +"de memòria)." + +# skip-rule: punctuation-period-no +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"Ho manté tot en memòria. Precarrega les pàgines següents. Accelera les " +"cerques (per a sistemes amb més de 4 GB de memòria)." + +# skip-rule: punctuation-period-no +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" +"Carrega i ho manté tot en la memòria. Precarrega totes les pàgines (usarà un " +"màxim del 50% de tota la memòria o de la memòria lliure, el més gran dels " +"dos)." + +#: part/dlgpresentation.cpp:38 +#, kde-format +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] "cada %v segon" +msgstr[1] "cada %v segons" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "Avança automàticament:" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "Repeteix després de l'última pàgina" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "Toc a la banda esquerra/dreta per a anar enrere/endavant" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "Toc a qualsevol lloc per a anar endavant" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "Desactivada" + +#: part/dlgpresentation.cpp:63 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Navegació tàctil:" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "Color del fons:" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "Oculta després d'un retard" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "Sempre visible" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "Sempre ocult" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "Cursor del ratolí:" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "Mostra l'indicador de progrés" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "Mostra la pàgina de resum" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "Instantani (No usa mai animacions)" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "Substitueix" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "Transició aleatòria" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "Apaga verticalment" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "Apaga horitzontalment" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "Quadre cap endins" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "Quadre cap enfora" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "Dissol" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "Esvaïment" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "Lluentor cap avall" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "Lluentor cap a la dreta" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "Lluentor cap avall i a la dreta" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "Divideix horitzontalment cap a l'interior" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "Divideix horitzontalment cap a l'exterior" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "Divideix verticalment cap a l'interior" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "Divideix verticalment cap a l'exterior" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "Esborrat cap avall" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "Esborrat cap a la dreta" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "Esborrat cap a l'esquerra" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "Esborrat cap amunt" + +#: part/dlgpresentation.cpp:121 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Transició predeterminada:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "Pantalla preferida:" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

Drawing Tools

" +msgstr "

Eines de dibuix

" + +#: part/dlgpresentation.cpp:171 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Pantalla actual" + +#: part/dlgpresentation.cpp:172 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Pantalla predeterminada" + +#: part/dlgpresentation.cpp:178 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "Pantalla %1 (%2 %3 %4)" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "Pantalla %1 (desconnectada)" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "Eina de dibuix: %1" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "Esborrador" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "&Nom:" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "&Tipus:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "Aparença" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "Marcador de text" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "Forma geomètrica" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "Eina de creació d'anotacions" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "Eina d'edició d'anotacions" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "Color:" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "Amplada de la &ploma:" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "%v px" + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "Eina de creació de dibuixos" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "Eina d'edició de dibuixos" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "Desconeguda" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Fitxers incrustats" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "Visualitza" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "Nom" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "Descripció" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "Mida" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "Creat" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "Modificat" + +#: part/embeddedfilesdialog.cpp:154 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "De&sa com a…" + +#: part/embeddedfilesdialog.cpp:155 +#, kde-format +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "&Visualitza…" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "No s'ha pogut carregar la part de la vista prèvia d'impressió" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "Vista prèvia d'impressió" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "Tanca" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "&Cerca:" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "Text a cercar" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Següent" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "Salta a la coincidència següent" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Anterior" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "Salta a la coincidència anterior" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "Modifica el comportament de la cerca" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "Distingeix majúscules i minúscules" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "Des de la pàgina actual" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "Cerca en teclejar" + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "Tots els fitxers (*)" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "Variable de substitució de signatura (clic per a signar)" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "&Signa…" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "Propietats de la signatura" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "Opcions de cerca" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "Distingeix entre majúscules i minúscules" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "Expressió regular" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "Capes" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "de" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "Zoom" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "Zoom al 100%" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "Gira a la d&reta" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "Dreta" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "Gira a l'es&querra" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "Esquerra" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "Orientació original" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "Re&talla la vista" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "Re&talla els marges" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "Retalla a la &selecció" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "Ajusta a l'a&mplada de pàgina" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "Ajusta a la &pàgina" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "Encaixat &automàtic" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "Ajusta la fi&nestra a la pàgina" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "Mode de &vista" + +#: part/pageview.cpp:594 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "Pàgina i&ndividual" + +#: part/pageview.cpp:595 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "Pàgines &oposades" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "Pàgines oposades (¢ra la primera pàgina)" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "Vista &general" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "&Continu" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "Usa la direcció de lectura de dreta a esquerra" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "&Navega" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "&Zoom" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "&Selecció d'àrea" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "Selecció de &text" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "Selecció de t&aula" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "A&mpliador" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "Eines de selecció" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "&Signa digitalment…" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "Pronuncia tot el document" + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "Pronuncia des de la pàgina actual" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "Pronuncia la pàgina actual" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "Atura la pronunciació" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "Fa pausa/reprèn la pronunciació" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "Desplaçament amunt" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Desplaçament avall" + +# skip-rule: k-PageUp-1 +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "Desplaça una pàgina amunt" + +# skip-rule: k-PageDown-1 +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "Desplaça una pàgina avall" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "Mostra els formularis" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] " S'ha carregat un document d'una pàgina." +msgstr[1] " S'ha carregat un document de %1 pàgines." + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "Copia el contingut de la taula al porta-retalls" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "Text (1 caràcter)" +msgstr[1] "Text (%1 caràcters)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "Copia al porta-retalls" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "Pronuncia el text" + +#: part/pageview.cpp:2863 +#, kde-format +msgid "Image (%1 × %2 pixels)" +msgstr "Imatge (%1 × %2 píxels)" + +#: part/pageview.cpp:2865 +#, kde-format +msgid "Save to File…" +msgstr "Desa al fitxer…" + +#: part/pageview.cpp:2885 +#, kde-format +msgid "Image [%1 × %2] copied to clipboard." +msgstr "La imatge [%1 × %2] s'ha copiat al porta-retalls." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "Desa el fitxer" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "Imatges (*.png *.jpeg)" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "No s'ha desat el fitxer." + +#: part/pageview.cpp:2901 +#, kde-format +msgid "Image [%1 × %2] saved to %3 file." +msgstr "La imatge [%1 × %2] s'ha desat al fitxer %3." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "Copia el text" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "Ves a «%1»" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "Ajusta a l'amplada de pàgina" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "Ajusta a la pàgina" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "Encaixat automàtic" + +#: part/pageview.cpp:4107 +#, kde-format +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1%" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "Cerca «%1» amb" + +#: part/pageview.cpp:4404 +#, kde-format +msgid "Configure Web Shortcuts…" +msgstr "Configura les dreceres web…" + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "Segueix aquest enllaç" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "Reprodueix aquest so" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "Atura el so" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "Copia l'adreça de l'enllaç" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "Cerca «%1» en aquest document" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Us donem la benvinguda" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "Seleccioneu l'àrea de zoom. Feu clic amb el botó dret per a allunyar." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "Clic per a veure la vista ampliada." + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "Dibuixa un rectangle al voltant del text/gràfics a copiar." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "Selecció de text" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" +"Dibuixeu un rectangle al voltant de la taula, després cliqueu a prop de les " +"vores per a dividir-lo. Premeu «Esc» per a netejar-lo." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" +"Cap dels vostres certificats de signatura no són vàlids. En cas que la " +"signatura hagi funcionat abans, consulteu les seves dates de validesa." + +#: part/pageview.cpp:5188 +#, kde-format +msgid "No valid certificates" +msgstr "No hi ha cap certificat vàlid" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, kde-format +msgid "Open Certificate Manager" +msgstr "Obre el gestor de certificats" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
Launch Certificate Manager " +"to import or manage certificates
For more information, please see the " +"section about
Adding Digital Signatures in the manual." +msgstr "" +"No hi ha cap certificat disponible de signatura.
Llanceu el gestor de " +"certificats per a importar o gestionar certificats
Per a més informació, " +"vegeu la secció quant a Afegir signatures digitals en el " +"manual." + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, kde-format +msgid "No certificates found" +msgstr "No s'ha trobat cap certificat" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" +"No hi ha cap certificat disponible de signatura.
Per a més informació, " +"vegeu la secció quant a Afegir signatures digitals en el " +"manual." + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "Hi ha canvis sense desar. Deseu el document abans de signar-lo." + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "Dibuixa un rectangle per a inserir el camp de signatura" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "" +"Dibuixa un rectangle al voltant de l'àrea de la pàgina que voleu mantenir " +"visible" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "Nota nova de text" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "Text de la nota nova:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Signat per: %1\n" +"\n" +"Data: %2" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" +"Una signatura d'aquesta mida pot ser massa petita per a llegir. Si voleu " +"crear una signatura potencialment més llegible, premeu Torna a " +"començar i dibuixeu un rectangle més gran." + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "Torna a començar" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "Signa" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name" +msgstr "Nom de l'autor" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name for the annotation:" +msgstr "Nom de l'autor a l'anotació:" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "Dibuixa una el·lipse (arrossegueu per a seleccionar una zona)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "Text ressaltat" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "Dibuixa una línia a mà alçada" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "Anotació de text inclosa (arrossegueu per a seleccionar una zona)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "Posa una nota emergent" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "Dibuixa un polígon (cliqueu en el primer punt per a tancar-lo)" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "Dibuixa un rectangle" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "Text de giragonses" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "Posa un símbol de segell" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "Dibuixa una línia recta" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "Text barrat" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "Text subratllat" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "" +"Anotació de màquina d'escriure (arrossegueu per a seleccionar una zona)" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "Marcador fluorescent" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "Afegeix una anotació preferida" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Custom annotation name:" +msgstr "Nom personalitzat d'anotació:" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&Fitxer" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "A&rranjament" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "A&juda" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "&Orientació" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "&Punts" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "Barra d'eines del visualitzador" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Miniatures" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "Anotacions" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" +"Aquest document conté anotacions o dades de formulari que s'han desat " +"internament amb una versió anterior de l'Okular. L'emmagatzematge intern " +"ja no funciona.
Deseu-ho a un fitxer per tal de moure-les si " +"voleu continuar editant el document." + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"Aquest document té fitxers incrustats. Cliqueu aquí per a veure'ls o aneu a «Fitxer -> Fitxers incrustats»." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" +"La signatura està en curs. Podeu ajustar la posició i la mida de la signatura" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "Finalitza la signatura" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "Anterior" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "Ves a la pàgina anterior" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "Va a la pàgina anterior del document" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "Següent" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "Avança fins a la pàgina següent" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "Va a la pàgina següent del document" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "Començament del document" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "Va al començament del document" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "Final del document" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "Va al final del document" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "Reanomena el punt actual" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "Punt anterior" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "Va cap al punt anterior" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "Punt següent" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "Va cap al punt següent" + +#: part/part.cpp:748 +#, kde-format +msgid "Configure Okular…" +msgstr "Configura l'Okular…" + +#: part/part.cpp:751 +#, kde-format +msgid "Configure Viewer…" +msgstr "Configura el visualitzador…" + +#: part/part.cpp:757 +#, kde-format +msgid "Configure Viewer Backends…" +msgstr "Configura els dorsals de visualització…" + +#: part/part.cpp:759 +#, kde-format +msgid "Configure Backends…" +msgstr "Configura els dorsals…" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "Quant al dorsal" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "&Recarrega" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "Recarregant el document actual des del disc." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "Tanca la barra de &cerca" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "Número de pàgina" + +#: part/part.cpp:817 +#, kde-format +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "Configura els modes de color…" + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "Selecciona tot el text de la pàgina actual" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "Mostra la barra &lateral" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "Mostra la barra de &pàgines" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "Mostra el plafó de les &signatures" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "Fitxers &incrustats" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "E&xporta com a" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "Compartei&x" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "P&resentació" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "Obre la carpeta con&tenidora" + +#: part/part.cpp:945 +#, kde-format +msgid "&Import PostScript as PDF…" +msgstr "&Importa un PostScript com a PDF…" + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "Canvia al mode de pantalla negra" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "Esborra el dibuix" + +#: part/part.cpp:962 +#, kde-format +msgid "Configure Annotations…" +msgstr "Configura les anotacions…" + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "Reprodueix/pausa la presentació" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" +"Heu modificat el document obert, però aquesta classe de document no es pot " +"desar.\n" +"Qualsevol modificació es perdrà una vegada es tanqui l'Okular." + +#: part/part.cpp:1123 +#, kde-format +msgid "Document can't be saved" +msgstr "El document no s'ha pogut desar" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "No s'ha pogut obrir «%1» (%2) " + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "S'ha cancel·lat la càrrega de %1." + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "No s'ha pogut obrir %1. Motiu: %2" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "Configura els dorsals de visualització" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "Configura els dorsals" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"No s'ha trobat el programa «ps2pdf», per tant, l'Okular no pot importar " +"fitxers PS usant-lo." + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "No s'ha trobat el ps2pdf" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "Fitxers PostScript (%1)" + +#: part/part.cpp:1357 +#, kde-format +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "S'està important el fitxer PS com a PDF (pot trigar una estona)…" + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "Introduïu la contrasenya per a llegir el document:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "Contrasenya incorrecta. Torneu a provar-ho:" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "Contrasenya del document" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" +"Aquest document té formularis XFA, els quals actualment no estan admesos." + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"Aquest document té formularis. Cliqueu al botó per a interactuar-hi, o useu " +"«Visualitza -> Mostra els formularis»." + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" +"Totes les característiques d'edició i interactives d'aquest document estan " +"desactivades. Deseu una còpia i torneu-la a obrir per a editar aquest " +"document." + +# skip-rule: ff-enter +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" +"Aquest document requereix mostrar-se en pantalla completa.\n" +"Cal deixar el mode normal i entrar en el mode de presentació?" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "Petició de canvi del mode de visualització" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "Entra en mode de presentació" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "Denega la petició" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "No s'ha pogut obrir %1. %2" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" +"El fitxer %1 té canvis sense desar, però l'ha modificat " +"un altre programa. Recarregar-lo substituirà els canvis sense desar pels " +"canvis fets en l'altre programa.Voleu continuar recarregant el " +"fitxer?" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "El fitxer ha canviat" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "Continua recarregant" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "Interromp la recàrrega" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" +"El fitxer %1 té canvis sense desar, però l'ha modificat " +"un altre programa. Tancar-lo substituirà els canvis sense desar pels canvis " +"fets en l'altre programa.Voleu continuar tancant el fitxer?" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "Continua tancant" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "Interromp el tancament" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "Voleu desar els canvis a «%1» o descartar-los?" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "Tanca el document" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"Aquest enllaç apunta a una acció sobre un document tancat que no funciona " +"quan s'està emprant el visualitzador incrustat." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"Aquest enllaç apunta a una acció sobre una acció de sortida d'aplicació que " +"no funciona quan s'està emprant el visualitzador incrustat." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, kde-format +msgid "Reloading the document…" +msgstr "S'està recarregant el document…" + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "Contingut" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "Signatures" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Ves a la pàgina" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "&Pàgina:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "Introduïu el nom nou del punt:" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "Reanomena aquest punt" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "Elimina aquest punt" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "Desa com a" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" +"Heu triat desar un arxiu de l'Okular sense que el nom de fitxer acabi amb " +"l'extensió «%1». Això no és permès, voleu triar un nom nou?" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "Extensió no admesa" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "Trieu un nom nou" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" +"El fitxer %1 l'ha modificat un altre programa. Si el " +"deseu ara, es perdrà qualsevol canvi fet en l'altre programa. Segur que " +"voleu continuar?" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "Desar - Avís" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "Desa una còpia en un altre lloc" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
Do you want to continue?" +msgstr "" +"El document actual està protegit amb una contrasenya.
Per tal de desar-" +"lo, cal recarregar el fitxer. Es tornarà a preguntar la contrasenya i es " +"perdrà l'historial de desfer/refer.
Voleu continuar?" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "No s'ha pogut obrir el fitxer temporal per a desar." + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" +"No s'ha pogut sobreescriure %1 perquè aquest fitxer " +"només és de lectura. Intenteu desar-lo a una altra ubicació o canvieu els " +"seus permisos." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
Do you want to continue?" +msgstr "" +"Després de desar, el format actual del document requereix recarregar el " +"fitxer. Es perdrà l'historial de desfer/refer.
Voleu continuar?" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "" +"El fitxer no es pot desar a «%1». Intenteu desar-lo a una altra ubicació." + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "Contingut dels formularis omplerts" + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "Anotacions de l'usuari" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" +"Esteu a punt de desar els canvis, però el format actual del document no " +"permet desar els elements següents. Useu el format arxiu de document de " +"l'Okular per a conservar-los." + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "Avís" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "Desa com a arxiu de document de l'Okular…" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" +"Esteu a punt de desar els canvis, però el format actual del document no " +"permet desar els elements següents. Useu el format arxiu de document de " +"l'Okular per a conservar-los. Feu clic a Continua per a desar el " +"document i descartar aquests elements." + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" +"Esteu a punt de desar els canvis, però el format actual del document no " +"permet desar els elements següents. Useu el format arxiu de document de " +"l'Okular per a conservar-los. Feu clic a Continua per a desar, " +"però es perdran aquests elements, així com l'historial de desfer/refer." + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "Continua" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "Continua, es perden els canvis" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "El fitxer no s'ha pogut desar a «%1». %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"L'Okular no pot copiar %1 a la ubicació especificada.\n" +"\n" +"El document ja no existeix." + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" +"El fitxer no es pot desar a «%1». Error: «%2». Intenteu desar-lo a una altra " +"ubicació." + +#: part/part.cpp:3158 +#, kde-format +msgid "Expand Whole Section" +msgstr "Expandeix tota la secció" + +#: part/part.cpp:3159 +#, kde-format +msgid "Collapse Whole Section" +msgstr "Redueix tota la secció" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "Sincronitza la miniatura amb la pàgina" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Eines" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "Pronuncia" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "Impressió" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "No es permet imprimir aquest document." + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"No s'ha pogut imprimir el document. Error desconegut. Si us plau, informeu a " +"bugs.kde.org" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"No s'ha pogut imprimir el document. L'error detallat és: «%1». Si us plau, " +"informeu a bugs.kde.org" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "Aneu al lloc a on estàveu abans" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "Aneu al lloc a on estàveu després" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"Error de fitxer! No s'ha pogut crear el fitxer temporal " +"%1." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"Error de fitxer! No s'ha pogut obrir el fitxer " +"%1 per a descomprimir-lo. No es carregarà el fitxer." +"" + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"Aquest error normalment passa quan no teniu permisos suficients per a " +"llegir el fitxer. Podeu comprovar el propietari i els permisos si feu un " +"clic dret al fitxer en el gestor de fitxers Dolphin, després trieu l'opció " +"«Propietats». i seleccioneu la pestanya «Permisos» a la finestra oberta." + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"Error de fitxer! No s'ha pogut descomprimir el fitxer " +"%1. No es carregarà el fitxer." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"Aquest error normalment passa quan el fitxer està corromput. Si en voleu " +"estar segur, proveu de descomprimir a mà el fitxer amb les eines de la línia " +"d'ordres." + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "Sense punts" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "S'ha produït un problema en compartir el document: %1" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "Comparteix" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "El document s'ha compartit correctament" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "Es pot trobar el document compartit a: %1" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "E&dita" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "Vi&sualitza" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&Ves" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "&Eines" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "Barra d'eines principal" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "Barra d'eines d'anotacions" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, kde-format +msgid "Quick Annotation Toolbar" +msgstr "Barra d'eines d'anotacions ràpides" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "Opcions generals" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Accessibilitat" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "Ajudes d'accessibilitat de lectura" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Rendiment" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "Control del rendiment" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "Configura el visualitzador" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Presentació" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "Opcions del mode de presentació" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "Opcions de les anotacions" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "Editor" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "Opcions de l'editor" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" +"L'editor s'ha configurat des de la línia d'ordres per a \n" +" %1 \n" +"Si voleu usar el paràmetre, inicieu l'«okular» sense l'opció --editor-cmd" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "Cerca la següent" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 – Presentació" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "Canvia de pantalla" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "Pantalla %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "Surt del mode de presentació" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Títol: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Pàgines: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "Feu un clic per a començar" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "Pausa" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "Reprodueix" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"Hi ha dues maneres de sortir del mode de presentació: podeu prémer tant la " +"tecla ESC com fent clic amb el botó de sortida que apareix quan el ratolí se " +"situa a la cantonada superior dreta. També podeu rodar les finestres " +"(predeterminat «Alt-Tab»)" + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "S'està efectuant una presentació" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "Fitxer desconegut" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "Propietats de %1" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "&Lletres" + +#: part/propertiesdialog.cpp:145 +#, kde-format +msgid "Reading font information…" +msgstr "S'està llegint la informació de la lletra…" + +#: part/propertiesdialog.cpp:158 +#, kde-format +msgid "&Page Sizes" +msgstr "Mides de les &pàgines" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "&Extreu la lletra" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Tipus 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Tipus 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "Type 1C (OT)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Tipus 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType (OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID tipus 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID tipus 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID Type 0C (OT)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType (OT)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "TeX PK" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "TeX virtual" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "Mètrica de lletra del TeX" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "TeX gestionat pel FreeType" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "Desconegut" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "Incrustat (subconjunt)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "Totalment incrustat" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "No" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "Sí (subconjunt)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "Sí" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "%1 (se substitueix per %2)" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "[n/d]" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "Lletra desconeguda" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "Incrustat: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "Nom" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "Tipus" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "Fitxer" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "Pàgina" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "Mida" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "Vista prèvia de revisió" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "A on voleu desar aquesta revisió?" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "No s'ha pogut desar el fitxer %1." + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "No s'ha pogut visualitzar la revisió." + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "Introduïu un mínim de 3 lletres per a filtrar les pàgines" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "Distingeix majúscules i minúscules" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "Troba la frase" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "Troba totes les paraules" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "Troba qualsevol paraula" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "Opcions de filtratge" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, kde-format +msgid "Certificates" +msgstr "Certificats" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "Seleccioneu un certificat amb el qual signar:" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "Tots" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, kde-format +msgid "Only QES certificates" +msgstr "Només els certificats QES" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "Només claus PGP" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "Motiu:" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, kde-format +msgid "optional" +msgstr "opcional" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "Ubicació:" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, kde-format +msgid "Background:" +msgstr "Fons:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "Escolliu..." + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, kde-format +msgid "Recent backgrounds:" +msgstr "Fons recents:" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

No annotations

To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
" +msgstr "" +"

Sense anotacions

Per a crear anotacions noves " +"premeu «F6» o seleccioneu «Eines -> Anotacions» al menú.
" + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "Agrupa per pàgina" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "Agrupa per autor" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "Mostra només les anotacions de la pàgina actual" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "Expandeix tots els elements" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "Redueix tots els elements" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "Propietats" + +#: part/signaturepartutils.cpp:180 +#, kde-format +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Imatges (%1)" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "Seleccioneu una imatge de fons" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "Oblida la imatge" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "Oblida totes les imatges" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "" +"Introduïu la contrasenya (si n'hi ha) per a desblocar el certificat: %1" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "Introduïu la contrasenya del certificat" + +#: part/signaturepartutils.cpp:244 +#, kde-format +msgid "Enter document password" +msgstr "Introduïu la contrasenya del document" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "Desa el fitxer signat com a" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "%1_signat.%2" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "Estat de la validesa" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "Validesa de la signatura:" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "Modificacions del document:" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "Informació addicional" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "Signat per:" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "Data de signatura:" + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "Versió del document" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Revisió %1 de %2 del document" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "Visualitza la versió signada…" + +#: part/signaturepropertiesdialog.cpp:95 +#, kde-format +msgid "View Certificate…" +msgstr "Visualitza el certificat…" + +#: part/signaturepropertiesdialog.cpp:97 +#, kde-format +msgid "View in Certificate Manager" +msgstr "Visualitza en el gestor de certificats" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "No s'ha trobat el Gestor de certificats de KDE (Kleopatra)" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "Qualificada" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "PGP" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "Mostra només les pàgines amb un punt" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "Reprodueix" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Pausa" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "Atura" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "En aquest Okular no s'han implementat els vídeos" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "En aquest Okular no s'han implementat els vídeos" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "&Afegeix…" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, kde-format +msgid "&Edit…" +msgstr "&Edita…" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "&Elimina" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "Mou am&unt" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "Mou a&vall" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "Eina de dibuix predeterminada %1" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "Ja hi ha una eina amb aquest nom. S'usarà la predeterminada" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "Nom duplicat" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "Pàgina a mostrar del document" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "Inicia el document en mode presentació" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "Inicia amb el diàleg d'impressió" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "Inicia amb el diàleg d'impressió i surt després d'imprimir" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "Control d'«Instància única»" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "No elevis la finestra" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "Cerca una cadena al text" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "Defineix l'ordre de l'editor extern" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "" +"Documents a obrir. Indiqueu «-» per a llegir de l'entrada estàndard (stdin)." + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" +"No es pot definir l'ordre de l'editor en una instància en execució de " +"l'Okular. Desactiveu les pestanyes i torneu a provar-ho. Tingueu en compte " +"que no es permet «unique» en definir l'ordre de l'editor en la línia " +"d'ordres.\n" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "Error: No es pot obrir més d'un document amb el paràmetre --unique" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" +"Error: No es pot obrir més d'un document amb el paràmetre --presentation" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "Error: No es pot obrir més d'un document amb el paràmetre --print" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "Error: No es pot obrir més d'un document amb el paràmetre --page" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "Error: No es pot obrir més d'un document amb el paràmetre --find" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "No s'ha pogut trobar el component de l'Okular: %1" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "Barra lateral" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" +"Ja hi ha una instància única de l'Okular executant-se. Aquesta instància no " +"seria l'única." + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "No s'ha pogut trobar el component de l'Okular." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"Feu un clic per a obrir un fitxer\n" +"Feu un clic i manteniu-lo premut per a obrir un fitxer recent" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"Feu un clic per a obrir un fitxer o feu un clic i manteniu-lo " +"premut per a seleccionar un fitxer recent" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "Pestanya següent" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "Pestanya anterior" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "Desfés el tancament de la pestanya" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "Bloca la barra lateral" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "Tots els fitxers (*)" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "Tots els fitxers admesos (%1)" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "Obre document" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "Confirmació del tancament" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "Tanca les pestanyes" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "Esteu a punt de tancar %1 pestanyes. Esteu segur que voleu continuar?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "Avisa quan s'intentin tancar múltiples pestanyes" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "&Copia el camí" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "&Obre la carpeta contenidora" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "O&blida aquest element" + +#: shell/welcomescreen.cpp:137 +#, kde-format +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "No hi ha cap document recent" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr " Us donem la benvinguda a l'Okular" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Obre un document..." + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, kde-format +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Documents recents" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "Oblida-ho tot" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "Oculta la pantalla de benvinguda" + +#~ msgid "Geometry with Comment" +#~ msgstr "Geometria amb comentari" + +#~ msgid "Geometry" +#~ msgstr "Geometria" + +#~ msgctxt "Annotation type: contents" +#~ msgid "%1: %2" +#~ msgstr "%1: %2" + +#~ msgid "Modified: %1" +#~ msgstr "Modificat: %1" + +#~ msgid "Find..." +#~ msgstr "Cerca..." + +#~ msgid "Go To Page..." +#~ msgstr "Ves a la pàgina..." + +#~ msgid "Play movie..." +#~ msgstr "Reprodueix una pel·lícula..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "&Desa com a..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "&Visualitza..." + +#~ msgid "&Sign..." +#~ msgstr "&Signa..." + +#~ msgid "Configure Viewer..." +#~ msgstr "Configura el visualitzador..." + +#~ msgid "Configure Viewer Backends..." +#~ msgstr "Configura els dorsals de visualització..." + +#~ msgid "Configure Backends..." +#~ msgstr "Configura els dorsals..." + +#~ msgid "&Add..." +#~ msgstr "&Afegeix..." + +#~ msgid "&Edit..." +#~ msgstr "&Edita..." + +#~ msgctxt "%1 is a file path" +#~ msgid "" +#~ "Could not sign. Invalid certificate password or could not write to '%1'" +#~ msgstr "" +#~ "No s'ha pogut signar. Contrasenya no vàlida de certificat o no s'ha pogut " +#~ "escriure a «%1»" diff --git a/po/ca/okular_comicbook.po b/po/ca/okular_comicbook.po new file mode 100644 index 0000000..7cffe58 --- /dev/null +++ b/po/ca/okular_comicbook.po @@ -0,0 +1,51 @@ +# Translation of okular_comicbook.po to Catalan +# Copyright (C) 2008-2018 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# SPDX-FileCopyrightText: 2008, 2015, 2018 Josep M. Ferrer +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2018-11-08 21:25+0100\n" +"Last-Translator: Josep M. Ferrer \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 2.0\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Accelerator-Marker: &\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Josep M. Ferrer" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "txemaq@gmail.com" + +#: document.cpp:97 +#, kde-format +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "" +"No s'ha pogut obrir el document, no s'ha trobat el «unrar» ni el " +"«unarchiver»." + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "" +"La versió del «unrar» en el vostre sistema no és adequada per a obrir " +"ComicBooks." + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "Format ComicBook desconegut." diff --git a/po/ca/okular_djvu.po b/po/ca/okular_djvu.po new file mode 100644 index 0000000..e1cd402 --- /dev/null +++ b/po/ca/okular_djvu.po @@ -0,0 +1,99 @@ +# Translation of okular_djvu.po to Catalan +# Copyright (C) 2007-2020 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# SPDX-FileCopyrightText: 2007, 2008 Josep M. Ferrer +# SPDX-FileCopyrightText: 2020 Antoni Bella Pérez +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-07-29 15:34+0200\n" +"Last-Translator: Antoni Bella Pérez \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 20.04.3\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Accelerator-Marker: &\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Josep M. Ferrer" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "txemaq@gmail.com" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "Editor" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "Impressor" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "Volum" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "Tipus de document" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "Desconegut" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "Fitxers de component" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "Desconegut" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "Pàgina individual" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "Agrupat" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "Indirecte" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "Agrupat (antic)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "Indexat (antic)" diff --git a/po/ca/okular_dvi.po b/po/ca/okular_dvi.po new file mode 100644 index 0000000..265fdf1 --- /dev/null +++ b/po/ca/okular_dvi.po @@ -0,0 +1,561 @@ +# Translation of okular_dvi.po to Catalan +# Copyright (C) 2007-2025 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# SPDX-FileCopyrightText: 2007, 2008, 2009, 2010, 2011, 2013, 2014, 2015, 2016, 2021, 2023, 2024, 2025 Josep M. Ferrer +# SPDX-FileCopyrightText: 2020 Antoni Bella Pérez +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-11 12:48+0200\n" +"Last-Translator: Josep M. Ferrer \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 22.12.3\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Accelerator-Marker: &\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Josep M. Ferrer" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "txemaq@gmail.com" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

" +msgstr "" +"

L'Okular no ha pogut trobar el programa dvipdfm a " +"l'ordinador. Aquest programa és essencial perquè funcioni la funció " +"exportar. Malgrat tot, podeu convertir el fitxer DVI a PDF usant la funció " +"d'impressió de l'Okular, però això molt sovint produeix documents que " +"s'imprimeixen bé, però són de qualitat inferior si es visualitzen amb " +"l'Acrobat Reader. Seria desitjable actualitzar-lo a una versió més recent " +"del TeX de la vostra distribució que inclogui el programa dvipdfm.

Consell per a l'administrador de sistema perplex: l'Okular usa la " +"variable PATH de l'intèrpret d'ordres quan cerca programes.

" + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"El programa extern «dvipdfm», el qual s'usa per a exportar el fitxer, ha " +"informat d'un error. Podeu cercar al diàleg d'informació del " +"document que trobareu al menú Fitxer per a un llistat detallat de " +"l'error." + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" +"Aquest fitxer DVI té referències a fitxers gràfics externs que no estan " +"en format PostScript, i no es poden manipular amb el programa dvips " +"que l'Okular usa internament per a imprimir o exportar a PostScript. La " +"funcionalitat que necessiteu no està disponible en aquesta versió de " +"l'Okular." + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

" +msgstr "" +"

L'Okular no ha pogut localitzar el programa dvips a " +"l'ordinador. Aquest programa és essencial perquè funcioni la funció " +"d'exportació.

Consell per a l'administrador de sistema perplex: " +"l'Okular usa la variable PATH de l'intèrpret d'ordres quan cerca programes." + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"El programa extern «dvip per as», el qual s'ha usat exportar el fitxer, " +"ha informat d'un error. Podeu cercar al diàleg d'informació del " +"document que trobareu al menú Fitxer per a un llistat detallat de " +"l'error." + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "El fitxer DVI no s'inicia amb el preàmbul." + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" +"El fitxer DVI conté la versió incorrecta de la sortida DVI d'aquest " +"programa. Consell: Si empreu el sistema de procés de tipografia Omega, heu " +"d'usar un programa especial, com l'«oxdvi»." + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "El fitxer DVI està corrupte. L'Okular no ha pogut trobar l'epíleg." + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "L'epíleg no comença amb l'ordre POST." + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "L'epíleg conté una ordre diferent de FNTDEF." + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "La pàgina %1 no s'inicia amb l'ordre BOP." + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

PATH: %2

" +msgstr "" +"

No s'ha pogut iniciar el programa extern pdf2ps. Com " +"a resultat, el fitxer PDF %1 no s'ha pogut convertir a PostScript. Alguns " +"elements gràfics del document no es visualitzaran.

Un possible " +"motiu: el programa pdf2ps potser no està instal·lat en " +"el sistema, o no es troba al camí actual de cerca.

Què podeu fer: el programa pdf2ps normalment està en distribucions del " +"sistema de l'intèrpret PostScript. Si el ghostscript no està instal·lat en " +"el sistema, el podeu instal·lar ara. Si esteu segur que el ghostscript està " +"instal·lat, intenteu usar el pdf2ps des de la línia " +"d'ordres per a comprovar si realment funciona.

PATH: %2

" + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

%2

" +msgstr "" +"

El fitxer PDF %1 no s'ha pogut convertir a PostScript. Alguns " +"elements gràfics no es visualitzaran.

Un possible motiu: el " +"fitxer %1 podria estar fet malbé, o potser no és un fitxer PDF. Aquesta és " +"la sortida del programa pdf2ps que ha usat l'Okular:

%2

" + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "S'ha malmès el fitxer. %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "No es poden incrustar tots els fitxers PostScript en el document. %1" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "" +"No es poden incrustar tots els fitxers PostScript externs en el document." + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "El fitxer «%1» especificat no existeix." + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" +"Heu demanat a l'Okular que situï el punt en el fitxer DVI que correspon a la " +"línia %1 del fitxer TeX %2. Tanmateix, sembla que el fitxer DVI no conté la " +"informació necessària del fitxer font. " + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" +"L'Okular no ha pogut situar el punt en el fitxer DVI que correspon a la " +"línia %1 del fitxer TeX %2." + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "El codi DVI ha configurat un caràcter d'una lletra desconeguda." + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "" +"El codi DVI fa referència a la lletra #%1, la qual no s'ha definit " +"prèviament." + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "La pila no estava buida quan s'ha trobat l'ordre EOP." + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "La pila estava buida quan s'ha trobat l'ordre POP." + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "El codi DVI fa referència a una lletra que no s'ha definit prèviament." + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "S'ha trobat una ordre no permesa." + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "S'ha trobat el codi %1 desconegut." + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "S'està incrustant %1" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
" +msgstr "" +"Pàgina %1: el fitxer PDF %2 no s'ha pogut convertir a " +"PostScript.
" + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
" +msgstr "" +"Pàgina %1: no s'ha trobat el fitxer PostScript %2.
" + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "La dada «%1» de la mida de paper no s'ha pogut analitzar." + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

PATH: %1

%2

" +msgstr "" +"

L'Okular no ha pogut localitzar tots els fitxers de fonts necessaris " +"per a mostrar el fitxer DVI actual. El document pot ser illegible.

CAMÍ: %1

%2

" + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

PATH: %1

%2

" +msgstr "" +"

Hi ha hagut problemes executant el kpsewhich. Com a " +"resultat, no s'han pogut localitzar alguns fitxers de fonts, el document " +"podria ser illegible.
Un possible motiu: El programa kpsewhich " +"potser no està instal·lat en el sistema, o no s'ha pogut trobar en el camí " +"de cerca actual.

CAMÍ: %1

%2

" + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" +"S'ha interromput la generació de les lletres pel kpsewhich " +"(codi de sortida %1, error %2). Com a resultat, alguns fitxers de fonts no " +"es poden localitzar, i el document pot ser illegible." + +#: fontpool.cpp:482 +#, kde-format +msgid "Currently generating %1 at %2 dpi…" +msgstr "Actualment s'està generant %1 a %2 ppp…" + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "Generador/Data" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "No s'ha trobat el fitxer de fonts" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "%1 × %2" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "%1 × %2 mm" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "%1 × %2 polzades" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "vertical" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "apaïsat" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" +"La versió del Ghostview que està instal·lada en aquest ordinador no conté " +"cap dels controladors de dispositiu del Ghostview reconeguts per l'Okular. " +"El funcionament del PostScript es desactivarà ara de l'Okular." + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "Hi ha 25 errors. No s'imprimiran més missatges d'error." + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" +"Error en el fitxer DVI «%1», pàgina %2. S'ha emès l'ordre «color pop» quan " +"la pila de color estava buida." + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" +"Paràmetre incorrecte a l'ordre especial «epsf».\n" +"S'esperava un flotant després de %1 a %2" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"No s'ha trobat el fitxer:\n" +" %1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" +"Error en el fitxer DVI «%1», pàgina %2. No s'ha pogut interpretar l'angle en " +"un gir especial de text." + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "L'ordre especial «%1» no està implementada." + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" +"El fitxer de fonts %1 s'ha pogut obrir i llegir, però el seu format de " +"lletra no està admès." + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "El fitxer de fonts %1 està fet malbé, o no es pot obrir o llegir." + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" +"El FreeType ha informat d'un error en establir la mida del caràcter al " +"fitxer de fonts %1." + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "El FreeType no pot carregar el tipus #%1 del fitxer de fonts %2." + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "El FreeType no pot representar el tipus #%1 del fitxer de fonts %2." + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "El tipus #%1 està buit." + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "El tipus #%1 del fitxer de fonts %2 està buit." + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "" +"El FreeType no pot carregar la mètrica del tipus #%1 del fitxer de fonts %2." + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "No es pot obrir el fitxer de fonts %1." + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "TexFont_PK::operator[]: El caràcter %1 no està definit a la lletra %2" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "%1 no esperat al fitxer PK %2" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "El caràcter %1 és massa gran, en el fitxer %2" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "S'han emmagatzemat un nombre incorrecte de bits: car. %1, lletra %2" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "Fitxer pk incorrecte (%1), massa bits" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "La lletra té una relació d'aspecte no quadrada " + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "No s'ha trobat la lletra %1, al fitxer %2." + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "Error a la suma de verificació del fitxer de fonts %1" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "No es pot reconèixer el format del fitxer de fonts %1" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"Error fatal.\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" +"\n" +"\n" +"Això probablement significa que, o bé heu trobat una errada a l'Okular,\n" +"o que el fitxer DVI, o els fitxers auxiliars (com ara els fitxers de " +"fonts, \n" +"o els fitxers de fonts virtuals) estaven fets malbé de mala manera.\n" +"L'Okular s'aturarà després d'aquest missatge. Si penseu que heu trobat una \n" +"errada, o que l'Okular s'hauria de comportar millor en aquesta situació,\n" +"informeu del problema, si us plau." + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "S'ha trobat una ordre de byte incorrecta a la llista VF de macros: %1" diff --git a/po/ca/okular_epub.po b/po/ca/okular_epub.po new file mode 100644 index 0000000..26b0ca4 --- /dev/null +++ b/po/ca/okular_epub.po @@ -0,0 +1,47 @@ +# Translation of okular_epub.po to Catalan +# Copyright (C) 2008-2021 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# SPDX-FileCopyrightText: 2008, 2013, 2021 Josep M. Ferrer +# SPDX-FileCopyrightText: 2020 Antoni Bella Pérez +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2021-09-03 19:39+0200\n" +"Last-Translator: Josep M. Ferrer \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 20.12.0\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Accelerator-Marker: &\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Josep M. Ferrer" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "txemaq@gmail.com" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "Error en obrir el document EPub." + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "EPub" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "Configuració del dorsal d'EPub" diff --git a/po/ca/okular_fax.po b/po/ca/okular_fax.po new file mode 100644 index 0000000..21adac7 --- /dev/null +++ b/po/ca/okular_fax.po @@ -0,0 +1,37 @@ +# Translation of okular_fax.po to Catalan +# Copyright (C) 2008-2020 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# SPDX-FileCopyrightText: 2008 Josep M. Ferrer +# SPDX-FileCopyrightText: 2020 Antoni Bella Pérez +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-07-29 15:38+0200\n" +"Last-Translator: Antoni Bella Pérez \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 20.04.3\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Accelerator-Marker: &\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Josep M. Ferrer" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "txemaq@gmail.com" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "No es pot carregar el document" diff --git a/po/ca/okular_fictionbook.po b/po/ca/okular_fictionbook.po new file mode 100644 index 0000000..ffc014b --- /dev/null +++ b/po/ca/okular_fictionbook.po @@ -0,0 +1,72 @@ +# Translation of okular_fictionbook.po to Catalan +# Copyright (C) 2007-2021 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# SPDX-FileCopyrightText: 2007, 2008, 2013, 2021 Josep M. Ferrer +# SPDX-FileCopyrightText: 2020 Antoni Bella Pérez +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2021-09-03 19:38+0200\n" +"Last-Translator: Josep M. Ferrer \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 20.12.0\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Accelerator-Marker: &\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Josep M. Ferrer" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "txemaq@gmail.com" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "El document no és un FictionBook vàlid" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "No es pot obrir el document: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "El document no és un arxiu ZIP vàlid" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "Estructura no vàlida del document (el directori principal no existeix)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "No s'ha trobat contingut en el document" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "Document XML no vàlid: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "FictionBook" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "Configuració del dorsal de FictionBook" diff --git a/po/ca/okular_ghostview.po b/po/ca/okular_ghostview.po new file mode 100644 index 0000000..40bc416 --- /dev/null +++ b/po/ca/okular_ghostview.po @@ -0,0 +1,80 @@ +# Translation of okular_ghostview.po to Catalan +# Copyright (C) 2007-2023 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# SPDX-FileCopyrightText: 2007, 2008, 2009, 2013, 2021, 2023 Josep M. Ferrer +# SPDX-FileCopyrightText: 2020 Antoni Bella Pérez +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2023-12-19 13:32+0100\n" +"Last-Translator: Josep M. Ferrer \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 22.12.3\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Accelerator-Marker: &\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Josep M. Ferrer" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "txemaq@gmail.com" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "Usa les lletres de la plataforma" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"Determina si el Ghostscript ha de poder usar les lletres de la plataforma. " +"Si és negatiu, només podrà usar les lletres incrustades en el document." + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "Paràmetres generals" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "&Usa les lletres de la plataforma" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Configuració del dorsal de Ghostscript" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "Versió del document" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "Nivell del llenguatge" diff --git a/po/ca/okular_kimgio.po b/po/ca/okular_kimgio.po new file mode 100644 index 0000000..a55ac39 --- /dev/null +++ b/po/ca/okular_kimgio.po @@ -0,0 +1,45 @@ +# Translation of okular_kimgio.po to Catalan +# Copyright (C) 2007-2017 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# SPDX-FileCopyrightText: 2007, 2009, 2017 Josep M. Ferrer +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2017-11-15 20:59+0100\n" +"Last-Translator: Josep M. Ferrer \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 2.0\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Accelerator-Marker: &\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Josep M. Ferrer" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "txemaq@gmail.com" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "No es pot carregar el document: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" +"Sembla que aquest document té un format incorrecte. Aquesta és la millor " +"aproximació de l'aparença proposada." diff --git a/po/ca/okular_markdown.po b/po/ca/okular_markdown.po new file mode 100644 index 0000000..884f35c --- /dev/null +++ b/po/ca/okular_markdown.po @@ -0,0 +1,56 @@ +# Translation of okular_markdown.po to Catalan +# Copyright (C) 2017-2021 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# SPDX-FileCopyrightText: 2017, 2020 Antoni Bella Pérez +# SPDX-FileCopyrightText: 2017, 2018, 2019, 2021 Josep M. Ferrer +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2021-11-11 19:03+0100\n" +"Last-Translator: Josep M. Ferrer \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 20.12.0\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Antoni Bella" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "antonibella5@yahoo.com" + +#: converter.cpp:59 converter.cpp:93 +#, kde-format +msgid "Failed to open the document" +msgstr "Ha fallat en obrir el document" + +#: converter.cpp:106 converter.cpp:124 +#, kde-format +msgid "Failed to compile the Markdown document." +msgstr "Ha fallat en compilar el document Markdown." + +#: generator_md.cpp:58 +#, kde-format +msgid "Enable SmartyPants formatting" +msgstr "Activa el format SmartyPants" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown" +msgstr "Markdown" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown Backend Configuration" +msgstr "Configuració del dorsal de Markdown" diff --git a/po/ca/okular_mobi.po b/po/ca/okular_mobi.po new file mode 100644 index 0000000..8e7e05d --- /dev/null +++ b/po/ca/okular_mobi.po @@ -0,0 +1,55 @@ +# Translation of okular_mobi.po to Catalan +# Copyright (C) 2009-2021 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# SPDX-FileCopyrightText: 2009, 2013, 2021 Josep M. Ferrer +# SPDX-FileCopyrightText: 2020 Antoni Bella Pérez +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2021-09-03 19:37+0200\n" +"Last-Translator: Josep M. Ferrer \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 20.12.0\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Accelerator-Marker: &\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Josep M. Ferrer" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "txemaq@gmail.com" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Error en obrir el document Mobipocket." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "" +"Aquest llibre està protegit per DRM i només es pot visualitzar en el " +"dispositiu designat" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "Mobipocket" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "Configuració del dorsal de Mobipocket" diff --git a/po/ca/okular_poppler.po b/po/ca/okular_poppler.po new file mode 100644 index 0000000..33cadd6 --- /dev/null +++ b/po/ca/okular_poppler.po @@ -0,0 +1,396 @@ +# Translation of okular_poppler.po to Catalan +# Copyright (C) 2007-2025 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# SPDX-FileCopyrightText: 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2016, 2017, 2018, 2019, 2020, 2021, 2023, 2025 Josep M. Ferrer +# SPDX-FileCopyrightText: 2013, 2020 Antoni Bella Pérez +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-10 08:54+0200\n" +"Last-Translator: Josep M. Ferrer \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 22.12.3\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Accelerator-Marker: &\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Josep M. Ferrer" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "txemaq@gmail.com" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "Activa la vista prèvia de sobreimpressió:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "Mai" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "Sempre" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "Automàtic" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "Millora les línies fines:" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "No" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "Sòlid" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "Forma" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "Mode d'escalat predeterminat en imprimir:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "Ajusta a l'àrea imprimible" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "Ajusta a la pàgina completa" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "Res; imprimeix la mida original" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" +"En activar aquesta opció es permet que l'Okular contacti amb servidors OCSP " +"de tercers per a verificar si els certificats emprats per a la signatura " +"digital s'han revocat des de la seva creació." + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" +"Verifica la revocació dels certificats de signatures digitals usant " +"servidors de tercers" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "Dorsal de signatures:" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" +"Aquestes signatures només es poden validar pels usuaris moderns de l'Okular " +"amb el dorsal GnuPG activat" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "Permet les claus PGP per a les signatures (extensió de l'Okular)" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "Base de dades de certificats" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "Predeterminat:" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "Personalitzat:" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "Certificats disponibles" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "&Carrega signatures" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "Opcions del PDF" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "Imprimeix les anotacions" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "Inclou les anotacions en el document imprès" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"Inclou les anotacions en el document imprès. Podeu desactivar això si voleu " +"imprimir el document original sense anotacions." + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "Força la rasterització" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "Rasteritza en una imatge abans d'imprimir" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"Força la rasterització de cada pàgina en una imatge, abans d'imprimir-la. " +"Normalment, això dona pitjors resultats, però és útil quan s'imprimeixen " +"documents que semblen imprimir-se incorrectament." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "Mode d'escalat per a les pàgines impreses" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "Mode d'escala:" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF v. %1.%2" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "Format" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "Encriptat" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "Sense encriptar" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "Seguretat" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "Sí" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "Optimitzat" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Signat per: %1\n" +"\n" +"Data: %2" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "S'està usant el Poppler %1" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" +"Sestà usant el Poppler %1\n" +"\n" +"Construït contra el Poppler %2" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "Configuració del dorsal de PDF" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "Ha fallat en escriure el fitxer temporal" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "Ha fallat en canviar de nom el fitxer temporal" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" +"S'han trobat alguns errors en el document. Potser l'Okular serà incapaç de " +"mostrar correctament el contingut" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" +"Aquestes signatures només funcionen entre les versions modernes de l'Okular " +"amb el dorsal basat en el GnuPG activat" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "Activa les signatures PGP" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "Emès a" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "Correu electrònic" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "Data de venciment" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" +"Esteu usant una biblioteca Poppler construïda sense implementar NSS.\n" +"Per aquest motiu, no està disponible afegir signatures digitals" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "per sempre" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "Cal reiniciar" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "" +"Cal que reinicieu l'Okular després de canviar la configuració del directori " +"NSS" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter Password" +msgstr "Introduïu la contrasenya" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "Introduïu la contrasenya per a obrir %1:" diff --git a/po/ca/okular_tiff.po b/po/ca/okular_tiff.po new file mode 100644 index 0000000..43c1464 --- /dev/null +++ b/po/ca/okular_tiff.po @@ -0,0 +1,31 @@ +# Translation of okular_tiff.po to Catalan +# Copyright (C) 2020 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# SPDX-FileCopyrightText: 2020 Josep M. Ferrer +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-07-09 09:37+0100\n" +"Last-Translator: Josep M. Ferrer \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Accelerator-Marker: &\n" +"X-Generator: Lokalize 2.0\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Josep M. Ferrer" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "txemaq@gmail.com" diff --git a/po/ca/okular_txt.po b/po/ca/okular_txt.po new file mode 100644 index 0000000..ec2d647 --- /dev/null +++ b/po/ca/okular_txt.po @@ -0,0 +1,42 @@ +# Translation of okular_txt.po to Catalan +# Copyright (C) 2013-2021 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# SPDX-FileCopyrightText: 2013, 2021 Josep M. Ferrer +# SPDX-FileCopyrightText: 2020 Antoni Bella Pérez +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2021-09-03 19:36+0200\n" +"Last-Translator: Josep M. Ferrer \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Accelerator-Marker: &\n" +"X-Generator: Lokalize 20.12.0\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Josep M. Ferrer" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "txemaq@gmail.com" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "Txt" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "Configuració del dorsal de txt" diff --git a/po/ca/okular_xps.po b/po/ca/okular_xps.po new file mode 100644 index 0000000..27c3683 --- /dev/null +++ b/po/ca/okular_xps.po @@ -0,0 +1,36 @@ +# Translation of okular_xps.po to Catalan +# Copyright (C) 2007-2008 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# SPDX-FileCopyrightText: 2007, 2008 Josep M. Ferrer +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-11-09 11:01+0100\n" +"Last-Translator: Josep M. Ferrer \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Accelerator-Marker: &\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Josep M. Ferrer" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "txemaq@gmail.com" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "Revisió" diff --git a/po/ca/org.kde.active.documentviewer.po b/po/ca/org.kde.active.documentviewer.po new file mode 100644 index 0000000..7744e1f --- /dev/null +++ b/po/ca/org.kde.active.documentviewer.po @@ -0,0 +1,212 @@ +# Translation of org.kde.active.documentviewer.po to Catalan +# Copyright (C) 2012-2025 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# SPDX-FileCopyrightText: 2012, 2016, 2018, 2019, 2020, 2022, 2024, 2025 Josep M. Ferrer +# SPDX-FileCopyrightText: 2019, 2020 Antoni Bella Pérez +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-29 09:36+0200\n" +"Last-Translator: Josep M. Ferrer \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Accelerator-Marker: &\n" +"X-Generator: Lokalize 25.04.3\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "Punts" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "Visualitzador de certificats" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "Emès per" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "Nom comú:" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "Correu electrònic:" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "Organització:" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "Emès a" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "Validesa" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "Emès el:" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "Expira el:" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "Empremtes digitals" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "Empremta digital SHA-1:" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "Empremta digital SHA-256:" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +msgid "Export…" +msgstr "Exporta…" + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "Tanca" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "Fitxer de certificat (*.cer)" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "Error" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "No s'ha pogut exportar el certificat." + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "Okular" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "Obre…" + +#: ui/Main.qml:49 +msgid "About" +msgstr "Quant a" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "Cal contrasenya" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "Suprimeix el punt" + +#: ui/MainView.qml:29 +msgid "Bookmark this page" +msgstr "Apunta aquesta pàgina" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "Miniatures" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "Taula de contingut" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "Signatures" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "Propietats de la signatura" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "Estat de la validesa" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "Validesa de la signatura:" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "Modificacions del document:" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "Informació addicional" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "Signat per:" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "Data de signatura:" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "Motiu:" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "Ubicació:" + +#: ui/SignaturePropertiesPage.qml:96 +msgid "Document Version" +msgstr "Versió del document" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Revisió %1 de %2 del document" + +#: ui/SignaturePropertiesPage.qml:108 +msgid "Save Signed Version…" +msgstr "Desa la versió signada…" + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +msgid "View Certificate…" +msgstr "Visualitza el certificat…" + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "No s'ha pogut desar la signatura." + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "No disponible" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "No s'ha trobat cap resultat." + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "No hi ha cap document obert" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "Documents recents" + +#: ui/WelcomeView.qml:108 +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "Els meus documents" + +#~ msgid "Open..." +#~ msgstr "Obre..." diff --git a/po/ca@valencia/okular.po b/po/ca@valencia/okular.po new file mode 100644 index 0000000..e119ac6 --- /dev/null +++ b/po/ca@valencia/okular.po @@ -0,0 +1,6062 @@ +# Translation of okular.po to Catalan (Valencian) +# Copyright (C) 2003-2025 This_file_is_part_of_KDE +# +# SPDX-FileCopyrightText: 2004, 2005, 2007 Albert Astals Cid +# SPDX-FileCopyrightText: 2005 Sebastià Pla i Sanz +# SPDX-FileCopyrightText: 2011 Manuel Tortosa +# SPDX-FileCopyrightText: 2012, 2013, 2014, 2017, 2018, 2019, 2020, 2022, 2023 Antoni Bella Pérez +# SPDX-FileCopyrightText: 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025 Josep M. Ferrer +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-11-13 09:38+0100\n" +"Last-Translator: Josep M. Ferrer \n" +"Language-Team: Catalan \n" +"Language: ca@valencia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 25.04.0\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Accelerator-Marker: &\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Josep M. Ferrer" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "txemaq@gmail.com" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Okular, un visor universal de documents" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "Mantenidor anterior" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "" +"Molta faena d'infraestructura, dorsal del FictionBook i antic dorsal de l'ODT" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "Desenvolupador" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymanski" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "Va crear Okular des del codi base del KPDF" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "Enrico Ros" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "Desenvolupador del KPDF" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "Eugene Trounev" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "Gràfics de les anotacions" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "Jiri Baum - NICTA" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "Eina de selecció de taules" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "Fabio D'Urso" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "Millores a les anotacions" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "Ves fins a la pàgina %1" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "Obri un fitxer extern" + +#: core/action.cpp:197 +#, kde-format +msgid "Execute '%1'…" +msgstr "Executa «%1»…" + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "Primera pàgina" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "Pàgina anterior" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "Pàgina següent" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "Última pàgina" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "Arrere" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "Avant" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Ix" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "Inicia la presentació" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "Acaba la presentació" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "Busca…" + +#: core/action.cpp:314 +#, kde-format +msgid "Go To Page…" +msgstr "Ves fins a la pàgina…" + +#: core/action.cpp:365 +#, kde-format +msgid "Play sound…" +msgstr "Reproduïx un so…" + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "Script JavaScript" + +#: core/action.cpp:483 +#, kde-format +msgid "Play movie…" +msgstr "Reproduïx una pel·lícula…" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "Reproduïx una pel·lícula" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "Para la pel·lícula" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "Fa pausa a la pel·lícula" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "Continua la pel·lícula" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "Este Okular s'ha construït sense suport d'àudio" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "Trieu el dorsal" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
%1 (%2).

Please select which one to use:
" +msgstr "" +"S'ha trobat més d'un dorsal per al tipus MIME:
%1 (%2).

Trieu quin s'ha d'utilitzar:
" + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "La majoria de les pàgines són %1." + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "Vertical %1" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "Apaïsada %1" + +#: core/document.cpp:246 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 × %2 polzades (%3)" + +#: core/document.cpp:248 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 × %2 mm (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "La busca continua des del començament" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "La busca continua des de baix" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "" +"No s'ha trobat cap connector que puga gestionar el document que s'està " +"manipulant." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "La signatura no està implementada en este tipus de document" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "Elimina les anotacions" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"El document està intentant executar una aplicació externa i Okular no ho " +"permet per a la vostra seguretat." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "" +"No s'ha trobat cap aplicació per a obrir el fitxer amb el tipus MIME %1." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "No s'ha pogut obrir un fitxer temporal" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "Ha fallat la conversió d'impressió" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "El procés d'impressió ha fallat" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "No s'ha pogut iniciar el procés d'impressió" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "No s'ha pogut imprimir a un fitxer" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "La impressora està en un estat no vàlid" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "No s'ha pogut trobar el fitxer que s'ha d'imprimir" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "No hi ha cap fitxer per a imprimir" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"No s'ha trobat cap binari adequat per a imprimir. Assegureu-vos que està " +"disponible l'executable «lpr» de CUPS" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "La mida d'impressió de la pàgina no és vàlida" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "No s'ha pogut obrir «%1». El fitxer no existix" + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Títol" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Assumpte" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Descripció" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "Autoria" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Creador" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Productor" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "Copyright" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "Pàgines" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Creat" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Modificat" + +#: core/document.cpp:6032 +#, kde-format +msgid "MIME Type" +msgstr "Tipus MIME" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "Categoria" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Paraules clau" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "Camí cap al fitxer" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "Mida del fitxer" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "Mida de la pàgina" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "Afig anotació" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "Elimina anotació" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "Modifica les propietats d'una anotació" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "Trasllada una anotació" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "Ajusta l'anotació" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "Edita el text" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "Edita el contingut d'una anotació" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "Edita el contingut de formularis" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "Edita la selecció de llista de formulari" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "Edita la selecció de combinació de formulari" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "Edita els estats de botó de formulari" + +#: core/generator.cpp:790 +#, kde-format +msgid "Plain &Text…" +msgstr "&Text net…" + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "Text en OpenDocument" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "Opcions d'impressió" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "Ajusta a l'àrea imprimible" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "Ajusta a la pàgina completa" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "Mode d'escala:" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "No tornes a mostrar este missatge" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "No disponible" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" +"S'ha produït un error intern de signatura. Informeu l'error amb els passos " +"per a reproduir-lo. Codi d'error %1" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "No s'ha pogut signar el document: %1" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "Signatura cancel·lada per l'usuari" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "No s'ha pogut signar. Frase de pas incorrecta" + +#: core/signatureutils.cpp:504 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" +"No s'ha pogut escriure el document signat a %1. " +"Assegureu-vos que heu seleccionat una carpeta amb permís d'escriptura" + +#: core/signatureutils.cpp:506 +#, kde-format +msgid "Unknown signing error" +msgstr "S'ha produït un error desconegut de signatura" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Origen: %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "Lletra pre&determinada:" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "Versió" + +#: gui/certificatemodel.cpp:41 +#, kde-format +msgid "Serial Number" +msgstr "Número de sèrie" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "Emissor" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "Emés el" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "Expira el" + +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Assumpte" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "Clau pública" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "Ús de la clau" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "V%1" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "%1 (%2 bits)" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "Propietat" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "Valor" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "Nota emergent" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "Màquina d'escriure" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "Nota inclosa" + +#: gui/guiutils.cpp:56 +#, kde-format +msgid "Arrow with Comment" +msgstr "Fletxa amb comentari" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "Fletxa" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "Línia recta amb comentari" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "Línia recta" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "Polígon amb comentari" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "Polígon" + +#: gui/guiutils.cpp:71 +#, kde-format +msgid "Rectangle with Comment" +msgstr "Rectangle amb comentari" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "Rectangle" + +#: gui/guiutils.cpp:74 +#, kde-format +msgid "Ellipse with Comment" +msgstr "El·lipse amb comentari" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "El·lipse" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "Ressaltat amb comentari" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "Ressaltat" + +#: gui/guiutils.cpp:87 +#, kde-format +msgid "Squiggle with Comment" +msgstr "Giragonses amb comentari" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "Giragonses" + +#: gui/guiutils.cpp:91 +#, kde-format +msgid "Underline with Comment" +msgstr "Subratllat amb comentari" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "Subratllat" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out with Comment" +msgstr "Barrat amb comentari" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "Barrat" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "Segell amb comentari" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "Segell" + +#: gui/guiutils.cpp:106 +#, kde-format +msgid "Freehand Line with Comment" +msgstr "Línia a ma alçària amb comentari" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "Línia a mà alçada" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "Cursor" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "Adjunció de fitxer" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "So" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "Pel·lícula" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Pantalla" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "Giny" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "Contingut enriquit" + +#: gui/guiutils.cpp:144 +#, kde-format +msgid "Annotation" +msgstr "Anotació" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "Desconegut" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Autoria: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "A on voleu guardar %1?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "No s'ha pogut obrir «%1» per a escriure-hi. El fitxer no s'ha guardat." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "La signatura és vàlida criptogràficament." + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "La signatura no és vàlida criptogràficament." + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "S'ha produït un error d'inconsistència del resum." + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "L'estructura CMS/PKCS7 de la signatura està mal formada." + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "La signatura requerida no està present en el document." + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "No s'ha pogut verificar la signatura." + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "El certificat és de confiança." + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "L'emissor del certificat no és de confiança." + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "L'emissor del certificat és desconegut." + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "El certificat ha sigut revocat." + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "El certificat ha caducat." + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "El certificat encara no s'ha verificat." + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "Validació del certificat en curs" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "Problema desconegut amb el certificat o té les dades corrompudes." + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "MD2" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "MD5" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "SHA1" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "SHA256" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "SHA384" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "SHA512" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "SHA224" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "Algorisme desconegut" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "RSA" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "DSA" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "EC" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "Tipus desconegut" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "Signatura digital" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "Sense repudiació" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "Claus d'encriptació" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "Claus de desencriptació" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "Acord de claus" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "Certificat de signatura" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "CRL de signatura" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "Només encripta" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "No s'ha especificat cap ús" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr ", " + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "El document no s'ha modificat des que es va signar." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" +"La revisió del document que estava coberta per esta signatura no s'ha " +"modificat.\n" +"Tanmateix, hi ha hagut canvis posteriors en el document." + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" +"S'ha modificat el document d'una manera no permesa pel signatari anterior." + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "No s'ha pogut completar la verificació de la integritat del document." + +#: gui/signatureguiutils.cpp:208 +#, kde-format +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "Este document té camps de variable de substitució de signatura." + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "Este document està signat digitalment." + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "" +"Este document està signat digitalment. Hi ha hagut canvis des de l'última " +"signatura." + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" +"Este document està signat digitalment. No s'ha pogut validar adequadament " +"alguna de les signatures." + +#: gui/signaturemodel.cpp:141 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "Variable de substitució de signatura: %1" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "Camp: %1 a la pàgina %2" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "Rev. %1: Signat per %2" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "Data de signatura: %1" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "Motiu: %1" + +#: gui/signaturemodel.cpp:177 +#, kde-format +msgid "Location: %1" +msgstr "Ubicació: %1" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "Signatura PGP" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "Adobe PKCS7" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "Adobe PKCS7 SHA1" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "ETSI CAdES" + +#: gui/signaturemodel.cpp:193 +#, kde-format +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "Desconeguda" + +#: gui/signaturemodel.cpp:195 +#, kde-format +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "Variable de substitució de signatura" + +#: gui/signaturemodel.cpp:201 +#, kde-format +msgid "Signature Type: %1" +msgstr "Tipus de signatura: %1" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "Roig" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "Taronja" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "Groc" + +#: part/annotationactionhandler.cpp:151 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "Verd" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "Cian" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "Blau" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "Magenta" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "Blanc" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "Gris" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "Negre" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "Amplària %1" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1%" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "Amplària de la línia d'anotació (cap anotació seleccionada)" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "Color de l'anotació (cap anotació seleccionada)" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "Color de l'emplenat de l'anotació (cap anotació seleccionada)" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "Opacitat de l'anotació (cap anotació seleccionada)" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "Lletra de l'anotació (cap anotació seleccionada)" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" +"Afig l'anotació actual al menú d'anotacions ràpides (cap anotació " +"seleccionada)" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" +"Conserva la relació de forma a 1:1 o l'angle de línia a passos de 15° (cap " +"anotació seleccionada)" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" +"Configuració avançada per a l'actual eina d'anotació (cap anotació " +"seleccionada)" + +#: part/annotationactionhandler.cpp:308 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Amplària de la línia d'anotació" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "" +"Amplària de la línia d'anotació (l'anotació actual no té amplària de línia)" + +#: part/annotationactionhandler.cpp:314 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Color de text d'anotació" + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "Color de la vora d'anotació" + +#: part/annotationactionhandler.cpp:318 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Color de l'anotació" + +#: part/annotationactionhandler.cpp:322 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Color de l'emplenat de l'anotació" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "" +"Color de l'emplenat de l'anotació (l'anotació actual no té color d'emplenat)" + +#: part/annotationactionhandler.cpp:328 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "Lletra de l'anotació" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "Lletra de l'anotació (l'anotació actual no té lletra)" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "Conserva l'angle de línia a passos de 15°" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "Conserva la relació de forma a 1:1" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" +"Conserva la relació de forma a 1:1 o l'angle de línia a passos de 15° (no " +"admés per l'anotació actual)" + +#: part/annotationactionhandler.cpp:341 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Opacitat de l'anotació" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "Afig l'anotació actual al menú d'anotacions ràpides" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "Configuració avançada per a l'actual eina d'anotació" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "Color" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "Color d'emplenat" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "Transparent" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "Color personalitzat…" + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "Trieu un color" + +#: part/annotationactionhandler.cpp:552 +#, kde-format +msgid "&Annotations" +msgstr "&Anotacions" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "Oculta" + +#: part/annotationactionhandler.cpp:554 +#, kde-format +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Mostra més eines d'anotació" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "Marcador fluorescent" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "Subratllat" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "Giragonses" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "Barrat" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Màquina d'escriure" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "Nota inclosa" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "Nota emergent" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "Línia a mà alçada" + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "Línia recta" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "Fletxa" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "Rectangle" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "El·lipse" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "Polígon" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "Formes geomètriques" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "Segell" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Anotacions ràpides" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "Tria una eina d'anotació de les anotacions ràpides" + +#: part/annotationactionhandler.cpp:651 +#, kde-format +msgid "Quick Annotation Bar" +msgstr "Barra d'anotacions ràpides" + +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "Afig a les anotacions ràpides" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "Mantín activa" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "Mantín activa l'eina d'anotacions després de l'ús" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "Conserva la relació i l'angle de les eines d'anotació" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "Lletra" + +#: part/annotationactionhandler.cpp:681 +#, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Configureu les anotacions" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "Amplària de la línia" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "Opacitat" + +#: part/annotationactionhandler.cpp:696 +#, kde-format +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1%" + +#: part/annotationmodel.cpp:320 +#, kde-format +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "Pàgina %1 (%2)" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "Pàgina %1" + +#: part/annotationpopup.cpp:85 +#, kde-format +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "Anotació" +msgstr[1] "%1 anotacions" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "O&bri una nota emergent" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Suprimix el punt" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Afig un punt" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, kde-format +msgid "Copy Text to Clipboard" +msgstr "Copia el text en el porta-retalls" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "La còpia està prohibida pel DRM" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "Sup&rimix" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "&Propietats" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, kde-format +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "Guar&da «%1»…" + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "Aparen&ça" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "&General" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&Autoria:" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "Creat:" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "Modificat:" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "Propietats de les notes emergents" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "Propietats de la màquina d'escriure" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "Propietats de les notes incloses" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "Propietats de les línies rectes" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "Propietats dels polígons" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "Propietats geomètriques" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "Propietats del marcador de text" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "Propietats del segell" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "Propietats de la línia a ma alçària" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "Propietats del cursor" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "Propietats del fitxer adjunt" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "Propietats del so" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "Propietats de la pel·lícula" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "Propietats de les anotacions" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "Trieu un símbol de segell personalitzat des d'un fitxer" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "Trieu un símbol de segell personalitzat" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" +"*.ico *.png *.xpm *.svg *.svgz | Fitxers d'icona (*.ico *.png *.xpm *.svg *." +"svgz)" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "No s'ha pogut carregar el fitxer %1" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "Fitxer no vàlid" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&Color:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, kde-format +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%v%" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "&Opacitat:" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "Icona:" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "Comentari" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "Ajuda" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "Inserció" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "Tecla" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "Paràgraf nou" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "Nota" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "Paràgraf" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Lletra:" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "&Color del text:" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "&Alinea:" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "Esquerra" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "Centre" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "Dreta" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "A&mplària de la vora:" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "Aprovat" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "Tal com és" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "Confidencial" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "Departamental" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "Esborrany" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "Experimental" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "Caducat" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "Final" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "Per a comentaris" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "Per a divulgar públicament" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "No aprovat" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "No és per a divulgar públicament" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "Venut" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "Alt secret" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "Punt" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "Informació" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "Símbol de segell:" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "A&mplària:" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "Començament de línia:" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "Final de línia:" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "Quadrat" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "Cercle" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "Diamant" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "Fletxa oberta" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "Fletxa tancada" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "Cap" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "Punta" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "Fletxa oberta dreta" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "Fletxa tancada dreta" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "Barra" + +#: part/annotationwidgets.cpp:531 +#, kde-format +msgid "Leader line length:" +msgstr "Llargària de la línia principal:" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "Llargària de les extensions de la línia principal:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "Activat" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "Emplenat de forma:" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Tipus:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "Barrat" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "Símbol de fitxer adjunt:" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "Gràfic" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "Xinxeta" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "Clip de paper" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "Etiqueta" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "Fitxer" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "N/D" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "No hi ha disponible cap descripció." + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "Nom:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "Descripció:" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "Símbol del cursor:" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "Cap" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "Tanca esta nota" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "Opcions" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"Esta anotació pot contindre codi LaTeX.\n" +"Cliqueu ací per a renderitzar." + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "No s'ha pogut trobar l'executable «latex»." + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "Ha fallat la renderització LaTeX" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "No s'ha pogut trobar l'executable «dvipng»." + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "Ha ocorregut un problema durant l'execució de l'ordre «latex»." + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "Ha ocorregut un problema durant l'execució de l'ordre «dvipng»." + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"un punt" +msgstr[1] "" +"%1\n" +"\n" +"%2 punts" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Punts" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "Mostra per a tots els documents" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, kde-format +msgid "Search…" +msgstr "Busca…" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, kde-format +msgid "Expand All" +msgstr "Expandix-ho tot" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, kde-format +msgid "Collapse All" +msgstr "Reduïx-ho tot" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "Ves fins a este punt" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "Canvia el nom d'un punt" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Obri el document" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "Elimina tots els punts d'este document" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "Visor de certificats" + +#: part/certificateviewer.cpp:50 +#, kde-format +msgid "Export…" +msgstr "Exporta…" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "General" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "Emés per" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "Nom comú (CN)" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "Correu electrònic" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "Organització (O)" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "Emés a" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "Validesa" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "Empremtes digitals" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "Empremta digital SHA-1" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "Empremta digital SHA-256" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "Detalls" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "Dades del certificat:" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "A on voleu guardar este certificat?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "Fitxer de certificat (*.cer)" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "No s'ha pogut exportar el certificat" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "Mode de &color" + +#: part/colormodemenu.cpp:21 +#, kde-format +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "Canvia els colors" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "Colors &normals" + +#: part/colormodemenu.cpp:41 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "I&nvertix els colors" + +#: part/colormodemenu.cpp:42 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "Canvia el color del &paper" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "Canvia els colors &foscos i els clars" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "Convertix a &blanc i negre" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "Invertix la c&laredat" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "Invertix la l&uma (sRGB lineal)" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "Invertix la luma (&simètrica)" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "Desplaça cap a un to p&ositiu" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "Desplaça cap a un to n&egatiu" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "Roig" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "Verd" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "Blau" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "Groc" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "Negre" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "Blanc" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "Marcador fluorescent groc" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "Marcador fluorescent verd" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "Inserció de text" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "Dibuixa una vora al voltant dels enllaços" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "Canvia els colors" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "" +"Avís: estes opcions poden afectar negativament la velocitat del " +"dibuixat." + +#: part/dlgaccessibility.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "Invertix els colors" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "Canvia el color del paper" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "Canvia els colors foscos i els clars" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "Convertix a blanc i negre" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "Invertix la lluminositat" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "Invertix la luma (sRGB lineal)" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "Invertix la luma (simètrica)" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "Desplaça cap a un to positiu" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "Desplaça cap a un to negatiu" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "Mode de color:" + +#: part/dlgaccessibility.cpp:87 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Color del paper:" + +#: part/dlgaccessibility.cpp:99 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Color fosc:" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "Color clar:" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "Llindar:" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Contrast:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "Motor de text a veu:" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "Veu de text a veu:" + +#: part/dlgannotations.cpp:25 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Barra d'eines completa d'anotacions" + +#: part/dlgannotations.cpp:26 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Barra d'eines d'anotacions ràpides" + +#: part/dlgannotations.cpp:28 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Barra d'eines d'anotacions:" + +#: part/dlgannotations.cpp:34 +#, kde-format +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "Autoria:" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"Nota: La informació que s'utilitza ací només és per a les anotacions. " +"La informació es guarda en documents anotats, per tant, es transmetrà junt " +"amb el document." + +#: part/dlgannotations.cpp:48 +#, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

Quick Annotation Tools

" +msgstr "

Eines d'anotacions ràpides

" + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" +"Trieu l'editor que voleu executar quan Okular necessite obrir un fitxer de " +"codi font." + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "Editor de text personalitzat" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Client d'Emacs" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "Client del Lyx" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "TeXstudio" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "TeXiFy IDEA" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "Editor:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
\n" +"You can also put few placeholders:\n" +"
    \n" +"
  • %f - the file name
  • \n" +"
  • %l - the line of the file to be reached
  • \n" +"
  • %c - the column of the file to be reached
  • \n" +"
\n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"Indiqueu l'ordre de l'editor de text personalitzat que s'executarà.
\n" +"Podeu afegir les variables següents de substitució:\n" +"
    \n" +"
  • %f - el nom del fitxer
  • \n" +"
  • %l - la línia del fitxer a on anar
  • \n" +"
  • %c - la columna del fitxer a on anar
  • \n" +"
\n" +"Si no s'especifica %f, llavors el nom del fitxer s'afig a l'ordre " +"especificada." + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "Ordre:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "Utilitza un desplaçament suau" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "Aparença:" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "Mostra les barres de desplaçament" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "Enllaça les miniatures a la pàgina" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "Mostra els consells i els missatges d'informació" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "Notifica els fitxers, els formularis o les signatures incrustats" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "Si està disponible, mostra el títol del document en la barra de títol" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "Només mostra el nom de fitxer" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "Mostra el camí complet del fitxer" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "Quan no es mostre el títol del document:" + +#: part/dlggeneral.cpp:92 +#, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "Utilitza un color de fons personalitzat:" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "Característiques del programa:" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "Obri els fitxers nous en pestanyes" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "Canvia a la pestanya existent si el fitxer ja es troba obert" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "Obeïx les limitacions DRM" + +#: part/dlggeneral.cpp:148 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "Torna a carregar el document en canviar el fitxer" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "Mostra el diàleg de selecció de dorsals" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "Direcció de lectura de dreta a esquerra" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" +"Fes servir la informació de fitxer per a determinar si s'ha d'obrir en mode " +"continu de manera predeterminada" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" +"Per als fitxers sense informació de fitxer, obri en mode continu de manera " +"predeterminada" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "Obri en mode continu de manera predeterminada" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" +"En utilitzar l'eina Navega, el cursor continua al final oposat en arribar " +"fins a la vora de la pantalla" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "Elements a l'historial recent:" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "Columnes de visió general:" + +#: part/dlggeneral.cpp:220 +#, kde-format +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%v%" + +# skip-rule: k-PageUp-1 +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" +"Definix quina part de l'àrea de visió actual romandrà visible en prémer les " +"tecles de retrocedir/avançar pàgina." + +# skip-rule: k-PageUp-1 +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "Superposició «Re Pàg»/«Av Pàg»:" + +#: part/dlggeneral.cpp:228 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%v%" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "100%" + +#: part/dlggeneral.cpp:233 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "Ajusta a l'amplària de pàgina" + +#: part/dlggeneral.cpp:234 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "Ajusta a la pàgina" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "Encaixat automàtic" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "Personalitzat" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" +"Establix el mode predeterminat de zoom per als fitxers que mai s'han obert " +"abans. Per als fitxers que s'han obert prèviament s'aplica el zoom anterior." + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "Zoom predeterminat:" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "Activa els efectes de transparències" + +#: part/dlgperformance.cpp:28 +#, kde-format +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "Ús de la CPU:" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "Baix" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "Normal (predeterminat)" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "Enèrgic" + +#: part/dlgperformance.cpp:38 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "Voraç" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "Ús de la memòria:" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "Activa l'antialiàsing de text" + +#: part/dlgperformance.cpp:56 +#, kde-format +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "Opcions de renderització:" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "Activa l'antialiàsing de gràfics" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "Activa la correcció de lletres del text" + +# skip-rule: punctuation-period-no +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"Mantín l'ús de la memòria tan baix com siga possible. No reutilitza res (per " +"a sistemes amb poca memòria)." + +# skip-rule: punctuation-period-no +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"Un bon compromís entre l'ús de la memòria i la velocitat. Precarrega la " +"pàgina següent i accelera les busques (normalment, per a sistemes amb 2 GB " +"de memòria)." + +# skip-rule: punctuation-period-no +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"Ho manté tot en memòria. Precarrega les pàgines següents. Accelera les " +"busques (per a sistemes amb més de 4 GB de memòria)." + +# skip-rule: punctuation-period-no +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" +"Carrega i ho manté tot en la memòria. Precarrega totes les pàgines " +"(utilitzarà un màxim del 50% de tota la memòria o de la memòria lliure, el " +"més gran dels dos)." + +#: part/dlgpresentation.cpp:38 +#, kde-format +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] "cada %v segon" +msgstr[1] "cada %v segons" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "Avança automàticament:" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "Repetix després de l'última pàgina" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "Toc en la banda esquerra/dreta per a anar arrere/avant" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "Toc a qualsevol lloc per a anar avant" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "Desactivada" + +#: part/dlgpresentation.cpp:63 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Navegació tàctil:" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "Color del fons:" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "Oculta després d'un retard" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "Sempre visible" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "Sempre ocult" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "Cursor del ratolí:" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "Mostra l'indicador de progrés" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "Mostra la pàgina de resum" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "Instantani (No utilitza mai animacions)" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "Substituïx" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "Transició aleatòria" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "Apaga verticalment" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "Apaga horitzontalment" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "Quadro cap endins" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "Quadro cap enfora" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "Dissol" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "Esvaïment" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "Lluentor cap avall" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "Lluentor cap a la dreta" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "Lluentor cap avall i a la dreta" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "Dividix horitzontalment cap a l'interior" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "Dividix horitzontalment cap a l'exterior" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "Dividix verticalment cap a l'interior" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "Dividix verticalment cap a l'exterior" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "Esborrat cap avall" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "Esborrat cap a la dreta" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "Esborrat cap a l'esquerra" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "Esborrat cap amunt" + +#: part/dlgpresentation.cpp:121 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Transició predeterminada:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "Pantalla preferida:" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

Drawing Tools

" +msgstr "

Eines de dibuix

" + +#: part/dlgpresentation.cpp:171 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Pantalla actual" + +#: part/dlgpresentation.cpp:172 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Pantalla predeterminada" + +#: part/dlgpresentation.cpp:178 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "Pantalla %1 (%2 %3 %4)" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "Pantalla %1 (desconnectada)" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "Eina de dibuix: %1" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "Esborrador" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "&Nom:" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "&Tipus:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "Aparença" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "Marcador de text" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "Forma geomètrica" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "Eina de creació d'anotacions" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "Eina d'edició d'anotacions" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "Color:" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "Amplària de la &ploma:" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "%v px" + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "Eina de creació de dibuixos" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "Eina d'edició de dibuixos" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "Desconeguda" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Fitxers incrustats" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "Visualitza" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "Nom" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "Descripció" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "Mida" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "Creat" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "Modificat" + +#: part/embeddedfilesdialog.cpp:154 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "Anomena i gu&arda…" + +#: part/embeddedfilesdialog.cpp:155 +#, kde-format +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "Vi&sualitza…" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "No s'ha pogut carregar la part de la vista prèvia d'impressió" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "Vista prèvia d'impressió" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "Tanca" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "Bu&sca:" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "Text que s'ha de buscar" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Següent" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "Salta fins a la coincidència següent" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Anterior" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "Salta fins a la coincidència anterior" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "Modifica el comportament de la busca" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "Distingix entre majúscules i minúscules" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "Des de la pàgina actual" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "Busca en teclejar" + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "Tots els fitxers (*)" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "Variable de substitució de signatura (clic per a signar)" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "&Signa…" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "Propietats de la signatura" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "Opcions de busca" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "Distingix entre majúscules i minúscules" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "Expressió regular" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "Capes" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "de" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "Zoom" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "Zoom al 100%" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "Gira a la d&reta" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "Dreta" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "Gira a l'es&querra" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "Esquerra" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "Orientació original" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "Re&talla la vista" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "Re&talla els marges" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "Retalla a la &selecció" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "Ajusta a l'a&mplària de pàgina" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "Ajusta a la &pàgina" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "Encaixat &automàtic" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "Ajusta la fi&nestra a la pàgina" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "Mode de &vista" + +#: part/pageview.cpp:594 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "Pàgina i&ndividual" + +#: part/pageview.cpp:595 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "Pàgines &oposades" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "Pàgines oposades (¢ra la primera pàgina)" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "Vista &general" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "&Continu" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "Utilitza la direcció de lectura de dreta a esquerra" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "&Navega" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "&Zoom" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "&Trieu un àrea" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "Trieu el &text" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "Trieu la t&aula" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "A&mpliador" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "Eines de selecció" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "&Signa digitalment…" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "Llig tot el document" + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "Llig des de la pàgina actual" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "Llig la pàgina actual" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "Para la pronunciació" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "Fa pausa/reprén la pronunciació" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "Desplaçament cap amunt" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Desplaçament cap avall" + +# skip-rule: k-PageUp-1 +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "Desplaça una pàgina cap amunt" + +# skip-rule: k-PageDown-1 +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "Desplaça una pàgina cap avall" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "Mostra els formularis" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] " S'ha carregat un document d'una pàgina." +msgstr[1] " S'ha carregat un document de %1 pàgines." + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "Copia el contingut de la taula a dins del porta-retalls" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "Text (1 caràcter)" +msgstr[1] "Text (%1 caràcters)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "Copia a dins del porta-retalls" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "Llig el text" + +#: part/pageview.cpp:2863 +#, kde-format +msgid "Image (%1 × %2 pixels)" +msgstr "Imatge (%1 × %2 píxels)" + +#: part/pageview.cpp:2865 +#, kde-format +msgid "Save to File…" +msgstr "Guarda en el fitxer…" + +#: part/pageview.cpp:2885 +#, kde-format +msgid "Image [%1 × %2] copied to clipboard." +msgstr "La imatge [%1 × %2] s'ha copiat a dins del porta-retalls." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "Guarda el fitxer" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "Imatges (*.png *.jpeg)" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "No s'ha guardat el fitxer." + +#: part/pageview.cpp:2901 +#, kde-format +msgid "Image [%1 × %2] saved to %3 file." +msgstr "La imatge [%1 × %2] s'ha guardat en el fitxer %3." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "Copia el text" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "Ves fins a «%1»" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "Ajusta a l'amplària de pàgina" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "Ajusta a la pàgina" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "Encaixat automàtic" + +#: part/pageview.cpp:4107 +#, kde-format +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1%" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "Busca «%1» amb" + +#: part/pageview.cpp:4404 +#, kde-format +msgid "Configure Web Shortcuts…" +msgstr "Configura les dreceres web…" + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "Seguix este enllaç" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "Reproduïx este so" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "Para el so" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "Copia l'adreça de l'enllaç" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "Busca «%1» en este document" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Us donem la benvinguda" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "Trieu l'àrea de zoom. Cliqueu amb el botó dret per a allunyar." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "Clic per a veure la vista ampliada." + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "Dibuixa un rectangle al voltant del text/gràfics que es copiaran." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "Seleccioneu el text" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" +"Dibuixeu un rectangle al voltant de la taula, després cliqueu a prop de les " +"vores per a dividir-lo. Premeu «Esc» per a netejar-lo." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" +"Cap dels vostres certificats de signatura no són vàlids. En cas que la " +"signatura haja funcionat abans, consulteu les seues dates de validesa." + +#: part/pageview.cpp:5188 +#, kde-format +msgid "No valid certificates" +msgstr "No hi ha cap certificat vàlid" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, kde-format +msgid "Open Certificate Manager" +msgstr "Obri el gestor de certificats" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
Launch Certificate Manager " +"to import or manage certificates
For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" +"No hi ha cap certificat disponible de signatura.
Llanceu el gestor de " +"certificats per a importar o gestionar certificats
Per a més informació, " +"vegeu la secció quant a Afegir signatures digitals en el " +"manual." + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, kde-format +msgid "No certificates found" +msgstr "No s'ha trobat cap certificat" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" +"No hi ha cap certificat disponible de signatura.
Per a més informació, " +"vegeu la secció quant a Afegir signatures digitals en el " +"manual." + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "Hi ha canvis sense guardar. Guardeu el document abans de signar-lo." + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "Dibuixa un rectangle per a inserir el camp de signatura" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "" +"Dibuixa un rectangle al voltant de l'àrea de la pàgina que voleu mantindre " +"visible" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "Nota nova de text" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "Text de la nota nova:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Signat per: %1\n" +"\n" +"Data: %2" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" +"Una signatura d'esta mida pot ser massa xicoteta per a llegir. Si voleu " +"crear una signatura potencialment més llegible, premeu Torna a " +"començar i dibuixeu un rectangle més gran." + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "Torna a començar" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "Signa" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name" +msgstr "Nom de l'autor" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name for the annotation:" +msgstr "Nom de l'autor a l'anotació:" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "Dibuixa una el·lipse (arrossegueu per a seleccionar una zona)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "Text ressaltat" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "Dibuixa una línia a mà alçada" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "Anotació de text inclosa (arrossegueu per a seleccionar una zona)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "Posa una nota emergent" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "Dibuixa un polígon (cliqueu damunt del primer punt per a tancar-lo)" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "Dibuixa un rectangle" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "Text de giragonses" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "Posa un símbol de segell" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "Dibuixa una línia recta" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "Text barrat" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "Text subratllat" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "" +"Anotació de màquina d'escriure (arrossegueu per a seleccionar una zona)" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "Marcador fluorescent" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "Afig una anotació preferida" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Custom annotation name:" +msgstr "Nom personalitzat d'anotació:" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "Fi&txer" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "Con&figuració" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "A&juda" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "&Orientació" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "&Punts" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "Barra d'eines del visor" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Miniatures" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "Anotacions" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" +"Este document conté anotacions o dades de formulari que s'han guardat " +"internament amb una versió anterior d'Okular. L'emmagatzematge intern ja " +"no funciona.
Guardeu-ho a un fitxer per tal de moure-les si voleu " +"continuar editant el document." + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"Este document té fitxers incrustats. Cliqueu ací per a veure'ls o aneu fins a «Fitxer -> Fitxers " +"incrustats»." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" +"La signatura està en curs. Podeu ajustar la posició i la mida de la signatura" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "Finalitza la signatura" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "Anterior" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "Ves fins a la pàgina anterior" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "Va fins a la pàgina anterior del document" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "Següent" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "Avança fins a la pàgina següent" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "Va fins a la pàgina següent del document" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "Començament del document" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "Va fins al començament del document" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "Final del document" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "Va fins al final del document" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "Canvia el nom del punt actual" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "Punt anterior" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "Va cap al punt anterior" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "Punt següent" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "Va cap al punt següent" + +#: part/part.cpp:748 +#, kde-format +msgid "Configure Okular…" +msgstr "Configura Okular…" + +#: part/part.cpp:751 +#, kde-format +msgid "Configure Viewer…" +msgstr "Configura el visor…" + +#: part/part.cpp:757 +#, kde-format +msgid "Configure Viewer Backends…" +msgstr "Configura els dorsals de visualització…" + +#: part/part.cpp:759 +#, kde-format +msgid "Configure Backends…" +msgstr "Configura els dorsals…" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "Quant al dorsal" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "Torna a ca&rregar" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "Tornant a carregar el document actual des del disc." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "Tanca la barra de &busca" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "Número de pàgina" + +#: part/part.cpp:817 +#, kde-format +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "Configura els modes de color…" + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "Tria tot el text de la pàgina actual" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "Mostra la barra &lateral" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "Mostra la barra de &pàgines" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "Mostra el quadro de les &signatures" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "Fitxers &incrustats" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "E&xporta com a" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "Com&partix" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "P&resentació" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "Obri la carpeta con&tenidora" + +#: part/part.cpp:945 +#, kde-format +msgid "&Import PostScript as PDF…" +msgstr "&Importa un PostScript com a PDF…" + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "Canvia al mode de pantalla negra" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "Esborra el dibuix" + +#: part/part.cpp:962 +#, kde-format +msgid "Configure Annotations…" +msgstr "Configura les anotacions…" + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "Reproduïx/pausa la presentació" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" +"Heu modificat el document obert, però esta classe de document no es pot " +"guardar.\n" +"Qualsevol modificació es perdrà una vegada es tanque Okular." + +#: part/part.cpp:1123 +#, kde-format +msgid "Document can't be saved" +msgstr "El document no s'ha pogut guardar" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "No s'ha pogut obrir «%1» (%2) " + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "S'ha cancel·lat la càrrega de %1." + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "No s'ha pogut obrir %1. Motiu: %2" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "Configura els dorsals de visualització" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "Configura els dorsals" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"No s'ha trobat el programa «ps2pdf», per tant, Okular no pot importar " +"fitxers PS utilitzant-lo." + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "No s'ha trobat el ps2pdf" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "Fitxers PostScript (%1)" + +#: part/part.cpp:1357 +#, kde-format +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "S'està important el fitxer PS com a PDF (pot tardar una estona)…" + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "Introduïu la contrasenya per a llegir el document:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "Contrasenya incorrecta. Torneu-ho a provar:" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "Contrasenya del document" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" +"Este document té formularis XFA, els quals actualment no estan admesos." + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"Este document té formularis. Cliqueu damunt del botó per a interactuar-hi, o " +"utilitzeu «Visualitza -> Mostra els formularis»." + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" +"Totes les característiques d'edició i interactives d'este document estan " +"desactivades. Guardeu una còpia i torneu-la a obrir per a editar este " +"document." + +# skip-rule: ff-enter +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" +"Este document requerix mostrar-se en pantalla completa.\n" +"Cal deixar el mode normal i entrar en el mode de presentació?" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "Petició de canvi del mode de visualització" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "Entra en mode de presentació" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "Denega la petició" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "No s'ha pogut obrir %1. %2" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" +"El fitxer %1 té canvis sense guardar, però l'ha " +"modificat un altre programa. Tornar a carregar-lo substituirà els canvis " +"sense guardar pels canvis fets en l'altre programa.Voleu continuar " +"carregant el fitxer?" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "El fitxer ha canviat" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "Continua tornant a carregar" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "Interromp la recàrrega" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" +"El fitxer %1 té canvis sense guardar, però l'ha " +"modificat un altre programa. Tancar-lo substituirà els canvis sense guardar " +"pels canvis fets en l'altre programa.Voleu continuar tancant el " +"fitxer?" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "Continua tancant" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "Interromp el tancament" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "Voleu guardar els canvis a «%1» o descartar-los?" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "Tanca el document" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"Este enllaç apunta cap a una acció sobre un document tancat que no funciona " +"quan s'està emprant el visor incrustat." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"Este enllaç apunta cap a una acció sobre una acció d'eixida d'aplicació que " +"no funciona quan s'està emprant el visor incrustat." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, kde-format +msgid "Reloading the document…" +msgstr "S'està tornant a carregar el document…" + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "Contingut" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "Signatures" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Ves fins a la pàgina" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "&Pàgina:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "Introduïu el nom nou del punt:" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "Canvia el nom d'este punt" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "Elimina este punt" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "Anomena i guarda" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" +"Heu triat guardar un arxiu d'Okular sense que el nom de fitxer acabe amb " +"l'extensió «%1». Açò no és permés, voleu triar un nom nou?" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "Extensió no admesa" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "Trieu un nom nou" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" +"El fitxer %1 l'ha modificat un altre programa. Si el " +"guardeu ara, es perdrà qualsevol canvi fet en l'altre programa. Segur que " +"voleu continuar?" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "Guardar - Avís" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "Guarda una còpia en un altre lloc" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
Do you want to continue?" +msgstr "" +"El document actual està protegit amb una contrasenya.
Per tal de " +"guardar-lo, cal tornar a carregar el fitxer. Es tornarà a preguntar la " +"contrasenya i es perdrà l'historial de desfer/refer.
Voleu continuar?" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "No s'ha pogut obrir el fitxer temporal per a guardar." + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" +"No s'ha pogut sobreescriure %1 perquè este fitxer només " +"és de lectura. Intenteu guardar-lo a una altra ubicació o canvieu els seus " +"permisos." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
Do you want to continue?" +msgstr "" +"Després de guardar, el format actual del document requerix tornar a carregar " +"el fitxer. Es perdrà l'historial de desfer/refer.
Voleu continuar?" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "" +"El fitxer no es pot guardar a «%1». Intenteu guardar-lo a una altra ubicació." + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "Contingut dels formularis emplenats" + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "Anotacions de l'usuari" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" +"Esteu a punt de guardar els canvis, però el format actual del document no " +"permet guardar els elements següents. Utilitzeu el format arxiu de " +"document d'Okular per a conservar-los." + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "Avís" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "Anomena i guarda arxiu de document d'Okular…" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" +"Esteu a punt de guardar els canvis, però el format actual del document no " +"permet guardar els elements següents. Utilitzeu el format arxiu de " +"document d'Okular per a conservar-los. Cliqueu damunt Continua " +"per a guardar el document i descartar estos elements." + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" +"Esteu a punt de guardar els canvis, però el format actual del document no " +"permet guardar els elements següents. Utilitzeu el format arxiu de " +"document d'Okular per a conservar-los. Cliqueu damunt Continua " +"per a guardar, però es perdran estos elements, així com l'historial de " +"desfer/refer." + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "Continua" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "Continua, es perden els canvis" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "El fitxer no s'ha pogut guardar a «%1». %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"Okular no pot copiar %1 a la ubicació especificada.\n" +"\n" +"El document ja no existix." + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" +"El fitxer no es pot guardar a «%1». Error: «%2». Intenteu guardar-lo a una " +"altra ubicació." + +#: part/part.cpp:3158 +#, kde-format +msgid "Expand Whole Section" +msgstr "Expandix tota la secció" + +#: part/part.cpp:3159 +#, kde-format +msgid "Collapse Whole Section" +msgstr "Reduïx tota la secció" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "Sincronitza la miniatura amb la pàgina" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Eines" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "Llig" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "Imprimix" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "No es permet imprimir este document." + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"No s'ha pogut imprimir el document. S'ha produït un error desconegut. " +"Informeu a bugs.kde.org" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"No s'ha pogut imprimir el document. L'error detallat és: «%1». Informeu a " +"bugs.kde.org" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "Aneu fins al lloc a on estàveu abans" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "Aneu fins al lloc a on estàveu després" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"S'ha produït un error de fitxer! No s'ha pogut crear el " +"fitxer temporal %1." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"S'ha produït un error de fitxer! No s'ha pogut obrir el " +"fitxer %1 per a descomprimir-lo. No es " +"carregarà el fitxer." + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"Este error normalment passa quan no teniu permisos suficients per a " +"llegir el fitxer. Podeu comprovar el propietari i els permisos si feu clic " +"dret damunt del fitxer en el gestor de fitxers Dolphin, després trieu " +"l'opció «Propietats». i trieu la pestanya «Permisos» en la finestra oberta." + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"S'ha produït un error de fitxer! No s'ha pogut " +"descomprimir el fitxer %1. No es carregarà el " +"fitxer." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"Este error normalment passa quan el fitxer està corromput. Si en voleu " +"estar segur, proveu de descomprimir a mà el fitxer amb les eines de la línia " +"d'ordres." + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "Sense punts" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "S'ha produït un problema en compartir el document: %1" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "Compartix" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "El document s'ha compartit correctament" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "Es pot trobar el document compartit a: %1" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "E&dita" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "Vi&sualitza" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&Ves" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "&Eines" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "Barra d'eines principal" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "Barra d'eines d'anotacions" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, kde-format +msgid "Quick Annotation Toolbar" +msgstr "Barra d'eines d'anotacions ràpides" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "Opcions generals" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Accessibilitat" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "Ajudes d'accessibilitat de lectura" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Rendiment" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "Control del rendiment" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "Configura el visor" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Presentació" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "Opcions del mode de presentació" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "Opcions de les anotacions" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "Editor" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "Opcions de l'editor" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" +"L'editor s'ha configurat des de la línia d'ordres per a \n" +" %1 \n" +"Si voleu utilitzar el paràmetre, inicieu «okular» sense l'opció --editor-cmd" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "Busca la següent" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 – Presentació" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "Canvia de pantalla" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "Pantalla %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "Ix del mode de presentació" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Títol: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Pàgines: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "Cliqueu per a començar" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "Pausa" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "Reproduïx" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"Hi ha dues maneres d'eixir del mode de presentació: podeu prémer tant la " +"tecla «Esc» com clicant amb el botó d'eixida que apareix quan el ratolí se " +"situa en el cantó superior dret. També podeu rodar les finestres " +"(predeterminat «Alt-Tab»)" + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "S'està efectuant una presentació" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "Fitxer desconegut" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "Propietats de %1" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "&Lletres" + +#: part/propertiesdialog.cpp:145 +#, kde-format +msgid "Reading font information…" +msgstr "S'està llegint la informació de la lletra…" + +#: part/propertiesdialog.cpp:158 +#, kde-format +msgid "&Page Sizes" +msgstr "Mides de les &pàgines" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "E&xtrau la lletra" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Tipus 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Tipus 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "Type 1C (OT)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Tipus 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType (OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID tipus 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID tipus 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID Type 0C (OT)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType (OT)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "TeX PK" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "TeX virtual" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "Mètrica de lletra de TeX" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "TeX gestionat per FreeType" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "Desconegut" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "Incrustat (subconjunt)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "Totalment incrustat" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "No" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "Sí (subconjunt)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "Sí" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "%1 (se substituïx per %2)" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "[n/d]" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "Lletra desconeguda" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "Incrustat: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "Nom" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "Tipus" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "Fitxer" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "Pàgina" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "Mida" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "Vista prèvia de revisió" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "A on voleu guardar esta revisió?" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "No s'ha pogut guardar el fitxer %1." + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "No s'ha pogut visualitzar la revisió." + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "Introduïu un mínim de 3 lletres per a filtrar les pàgines" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "Distingix entre majúscules i minúscules" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "Troba la frase" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "Troba totes les paraules" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "Troba qualsevol paraula" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "Opcions de filtratge" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, kde-format +msgid "Certificates" +msgstr "Certificats" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "Trieu un certificat amb el qual signar:" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "Tots" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, kde-format +msgid "Only QES certificates" +msgstr "Només els certificats QES" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "Només claus PGP" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "Motiu:" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, kde-format +msgid "optional" +msgstr "opcional" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "Ubicació:" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, kde-format +msgid "Background:" +msgstr "Fons:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "Tria…" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, kde-format +msgid "Recent backgrounds:" +msgstr "Fons recents:" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

No annotations

To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
" +msgstr "" +"

Sense anotacions

Per a crear anotacions noves " +"premeu «F6» o trieu «Eines -> Anotacions» en el menú.
" + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "Agrupa per pàgina" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "Agrupa per autor" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "Mostra només les anotacions de la pàgina actual" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "Expandix tots els elements" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "Reduïx tots els elements" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "Propietats" + +#: part/signaturepartutils.cpp:180 +#, kde-format +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Imatges (%1)" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "Trieu una imatge de fons" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "Oblida la imatge" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "Oblida totes les imatges" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "" +"Introduïu la contrasenya (si n'hi ha) per a desblocar el certificat: %1" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "Introduïu la contrasenya del certificat" + +#: part/signaturepartutils.cpp:244 +#, kde-format +msgid "Enter document password" +msgstr "Introduïu la contrasenya del document" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "Guarda el fitxer signat com a" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "%1_signat.%2" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "Estat de la validesa" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "Validesa de la signatura:" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "Modificacions del document:" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "Informació addicional" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "Signat per:" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "Data de signatura:" + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "Versió del document" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Revisió %1 de %2 del document" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "Visualitza la versió signada…" + +#: part/signaturepropertiesdialog.cpp:95 +#, kde-format +msgid "View Certificate…" +msgstr "Visualitza el certificat…" + +#: part/signaturepropertiesdialog.cpp:97 +#, kde-format +msgid "View in Certificate Manager" +msgstr "Visualitza en el gestor de certificats" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "No s'ha trobat el Gestor de certificats de KDE (Kleopatra)" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "Qualificada" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "PGP" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "Mostra només les pàgines amb un punt" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "Reproduïx" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Pausa" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "Para" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "En este Okular no s'han implementat els vídeos" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "En este Okular no s'han implementat els vídeos" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "Afi&g…" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, kde-format +msgid "&Edit…" +msgstr "&Edita…" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "&Elimina" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "Mou cap am&unt" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "Mou cap a&vall" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "Eina de dibuix predeterminada %1" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "Ja hi ha una eina amb este nom. S'utilitzarà la predeterminada" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "Nom duplicat" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "Pàgina que s'ha de mostrar del document" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "Inicia el document en mode presentació" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "Inicia amb el diàleg d'impressió" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "Inicia amb el diàleg d'impressió i ix després d'imprimir" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "Control d'«Instància única»" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "No eleves la finestra" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "Busca una cadena en el text" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "Establix l'ordre de l'editor extern" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "" +"Documents que s'obriran. Indiqueu «-» per a llegir de l'entrada estàndard " +"(stdin)." + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" +"No es pot establir l'ordre de l'editor en una instància en execució " +"d'Okular. Desactiveu les pestanyes i torneu-ho a provar. Cal tindre en " +"compte que no es permet «unique» en establir l'ordre de l'editor en la línia " +"d'ordres.\n" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "" +"S'ha produït un error: No es pot obrir més d'un document amb el paràmetre --" +"unique" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" +"S'ha produït un error: No es pot obrir més d'un document amb el paràmetre --" +"presentation" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "" +"S'ha produït un error: No es pot obrir més d'un document amb el paràmetre --" +"print" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "" +"S'ha produït un error: No es pot obrir més d'un document amb el paràmetre --" +"page" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "" +"S'ha produït un error: No es pot obrir més d'un document amb el paràmetre --" +"find" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "No s'ha pogut trobar el component d'Okular: %1" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "Barra lateral" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" +"Ja hi ha una instància única d'Okular executant-se. Esta instància no seria " +"l'única." + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "No s'ha pogut trobar el component d'Okular." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"Cliqueu per a obrir un fitxer\n" +"Cliqueu i manteniu-lo premut per a obrir un fitxer recent" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"Cliqueu per a obrir un fitxer o cliqueu i manteniu-lo premut " +"per a seleccionar un fitxer recent" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "Pestanya següent" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "Pestanya anterior" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "Desfés el tancament de la pestanya" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "Bloca la barra lateral" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "Tots els fitxers (*)" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "Tots els fitxers admesos (%1)" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "Obri document" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "Confirmeu el tancament" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "Tanca les pestanyes" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "Esteu a punt de tancar %1 pestanyes. Segur que voleu continuar?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "Avisa quan s'intenten tancar múltiples pestanyes" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "&Copia el camí" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "O&bri la carpeta contenidora" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "O&blida este element" + +#: shell/welcomescreen.cpp:137 +#, kde-format +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "No hi ha cap document recent" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr " Us donem la benvinguda a Okular" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Obri un document…" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, kde-format +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Documents recents" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "Oblida-ho tot" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "Oculta la pantalla de benvinguda" diff --git a/po/ca@valencia/okular_comicbook.po b/po/ca@valencia/okular_comicbook.po new file mode 100644 index 0000000..3f8efa5 --- /dev/null +++ b/po/ca@valencia/okular_comicbook.po @@ -0,0 +1,50 @@ +# Translation of okular_comicbook.po to Catalan (Valencian) +# Copyright (C) 2008-2018 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# SPDX-FileCopyrightText: 2008, 2015, 2018 Josep M. Ferrer +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2018-11-08 21:25+0100\n" +"Last-Translator: Josep M. Ferrer \n" +"Language-Team: Catalan \n" +"Language: ca@valencia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 2.0\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Accelerator-Marker: &\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Josep M. Ferrer" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "txemaq@gmail.com" + +#: document.cpp:97 +#, kde-format +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "" +"No s'ha pogut obrir el document, no s'ha trobat «unrar» ni «unarchiver»." + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "" +"La versió de «unrar» en el vostre sistema no és adequada per a obrir " +"ComicBooks." + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "Format ComicBook desconegut." diff --git a/po/ca@valencia/okular_djvu.po b/po/ca@valencia/okular_djvu.po new file mode 100644 index 0000000..1a1fe1c --- /dev/null +++ b/po/ca@valencia/okular_djvu.po @@ -0,0 +1,99 @@ +# Translation of okular_djvu.po to Catalan (Valencian) +# Copyright (C) 2007-2020 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# SPDX-FileCopyrightText: 2007, 2008 Josep M. Ferrer +# SPDX-FileCopyrightText: 2020 Antoni Bella Pérez +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-07-29 15:34+0200\n" +"Last-Translator: Antoni Bella Pérez \n" +"Language-Team: Catalan \n" +"Language: ca@valencia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 20.04.3\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Accelerator-Marker: &\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Josep M. Ferrer" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "txemaq@gmail.com" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "Editor" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "Impressor" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "Volum" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "Tipus de document" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "Desconegut" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "Fitxers de component" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "Desconegut" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "Pàgina individual" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "Agrupat" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "Indirecte" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "Agrupat (antic)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "Indexat (antic)" diff --git a/po/ca@valencia/okular_dvi.po b/po/ca@valencia/okular_dvi.po new file mode 100644 index 0000000..e6ccd57 --- /dev/null +++ b/po/ca@valencia/okular_dvi.po @@ -0,0 +1,561 @@ +# Translation of okular_dvi.po to Catalan (Valencian) +# Copyright (C) 2007-2025 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# SPDX-FileCopyrightText: 2007, 2008, 2009, 2010, 2011, 2013, 2014, 2015, 2016, 2021, 2023, 2024, 2025 Josep M. Ferrer +# SPDX-FileCopyrightText: 2020 Antoni Bella Pérez +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-11 12:48+0200\n" +"Last-Translator: Josep M. Ferrer \n" +"Language-Team: Catalan \n" +"Language: ca@valencia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 22.12.3\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Accelerator-Marker: &\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Josep M. Ferrer" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "txemaq@gmail.com" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

" +msgstr "" +"

Okular no ha pogut trobar el programa dvipdfm en " +"l'ordinador. Este programa és essencial perquè funcione la funció exportar. " +"Malgrat tot, podeu convertir el fitxer DVI a PDF utilitzant la funció " +"d'impressió d'Okular, però açò molt sovint produïx documents que " +"s'imprimixen bé, però són de qualitat inferior si es visualitzen amb Acrobat " +"Reader. Seria desitjable actualitzar-lo a una versió més recent de TeX de la " +"vostra distribució que incloga el programa dvipdfm.

Consell " +"per a l'administrador de sistema perplex: Okular utilitza la variable PATH " +"de l'intèrpret d'ordres quan busca programes.

" + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"El programa extern «dvipdfm», el qual s'utilitza per a exportar el " +"fitxer, ha informat d'un error. Podeu buscar al diàleg d'informació " +"del document que trobareu en el menú Fitxer per a un llistat " +"detallat de l'error." + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" +"Este fitxer DVI té referències a fitxers gràfics externs que no estan en " +"format PostScript, i no es poden manipular amb el programa dvips " +"que Okular utilitza internament per a imprimir o exportar cap a PostScript. " +"La característica que necessiteu no està disponible en esta versió d'Okular." +"" + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

" +msgstr "" +"

Okular no ha pogut localitzar el programa dvips en " +"l'ordinador. Este programa és essencial perquè funcione la funció " +"d'exportació.

Consell per a l'administrador de sistema perplex: Okular " +"utilitza la variable PATH de l'intèrpret d'ordres quan busca programes.

" + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"El programa extern «dvip per as», el qual s'ha utilitzat exportar el " +"fitxer, ha informat d'un error. Podeu buscar al diàleg d'informació " +"del document que trobareu en el menú Fitxer per a un llistat " +"detallat de l'error." + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "El fitxer DVI no s'inicia amb el preàmbul." + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" +"El fitxer DVI conté la versió incorrecta de l'eixida DVI d'este programa. " +"Consell: Si utilitzeu el sistema de procés de tipografia Omega, heu " +"d'utilitzar un programa especial, com «oxdvi»." + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "El fitxer DVI està corrupte. Okular no ha pogut trobar l'epíleg." + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "L'epíleg no comença amb l'ordre POST." + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "L'epíleg conté una ordre diferent de FNTDEF." + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "La pàgina %1 no s'inicia amb l'ordre BOP." + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

PATH: %2

" +msgstr "" +"

No s'ha pogut iniciar el programa extern pdf2ps. Com " +"a resultat, el fitxer PDF %1 no s'ha pogut convertir a PostScript. Alguns " +"elements gràfics del document no es visualitzaran.

Un possible " +"motiu: el programa pdf2ps potser no està instal·lat en " +"el sistema, o no es troba en el camí actual de busca.

Què podeu fer:" +" el programa pdf2ps normalment està en distribucions " +"del sistema de l'intèrpret PostScript. Si el ghostscript no està instal·lat " +"en el sistema, el podeu instal·lar ara. Si segur que el ghostscript està " +"instal·lat, intenteu utilitzar el pdf2ps des de la línia " +"d'ordres per a comprovar si realment funciona.

PATH: %2

" + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

%2

" +msgstr "" +"

El fitxer PDF %1 no s'ha pogut convertir a PostScript. Alguns " +"elements gràfics no es visualitzaran.

Un possible motiu: el " +"fitxer %1 podria estar fet malbé, o potser no és un fitxer PDF. Esta és " +"l'eixida del programa pdf2ps que ha utilitzat Okular:

%2

" + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "S'ha malmés el fitxer. %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "No es poden incrustar tots els fitxers PostScript en el document. %1" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "" +"No es poden incrustar tots els fitxers PostScript externs en el document." + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "El fitxer «%1» especificat no existix." + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" +"Heu demanat a Okular que situe el punt en el fitxer DVI que correspon a la " +"línia %1 del fitxer TeX %2. Tanmateix, pareix que el fitxer DVI no conté la " +"informació necessària del fitxer font. " + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" +"Okular no ha pogut situar el punt en el fitxer DVI que correspon a la línia " +"%1 del fitxer TeX %2." + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "El codi DVI ha configurat un caràcter d'una lletra desconeguda." + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "" +"El codi DVI fa referència a la lletra #%1, la qual no s'ha definit " +"prèviament." + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "La pila no estava buida quan s'ha trobat l'ordre EOP." + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "La pila estava buida quan s'ha trobat l'ordre POP." + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "El codi DVI fa referència a una lletra que no s'ha definit prèviament." + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "S'ha trobat una ordre no permesa." + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "S'ha trobat el codi %1 desconegut." + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "S'està incrustant %1" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
" +msgstr "" +"Pàgina %1: el fitxer PDF %2 no s'ha pogut convertir a " +"PostScript.
" + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
" +msgstr "" +"Pàgina %1: no s'ha trobat el fitxer PostScript %2.
" + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "La dada «%1» de la mida de paper no s'ha pogut analitzar." + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

PATH: %1

%2

" +msgstr "" +"

Okular no ha pogut localitzar tots els fitxers de fonts necessaris " +"per a mostrar el fitxer DVI actual. El document pot ser illegible.

CAMÍ: %1

%2

" + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

PATH: %1

%2

" +msgstr "" +"

Hi ha hagut problemes executant el kpsewhich. Com a " +"resultat, no s'han pogut localitzar alguns fitxers de fonts, el document " +"podria ser illegible.
Un possible motiu: El programa kpsewhich " +"potser no està instal·lat en el sistema, o no s'ha pogut trobar en el camí " +"de busca actual.

CAMÍ: %1

%2

" + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" +"S'ha interromput la generació de les lletres pel kpsewhich " +"(codi d'eixida %1, error %2). Com a resultat, alguns fitxers de fonts no es " +"poden localitzar, i el document pot ser illegible." + +#: fontpool.cpp:482 +#, kde-format +msgid "Currently generating %1 at %2 dpi…" +msgstr "Actualment s'està generant %1 a %2 ppp…" + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "Generador/Data" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "No s'ha trobat el fitxer de fonts" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "%1 × %2" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "%1 × %2 mm" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "%1 × %2 polzades" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "vertical" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "apaïsat" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" +"La versió del Ghostview que està instal·lada en este ordinador no conté cap " +"dels controladors de dispositiu del Ghostview reconeguts per Okular. El " +"funcionament de PostScript es desactivarà ara d'Okular." + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "Hi ha 25 errors. No s'imprimiran més missatges d'error." + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" +"S'ha produït un error en el fitxer DVI «%1», pàgina %2. S'ha emés l'ordre " +"«color pop» quan la pila de color estava buida." + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" +"Paràmetre incorrecte en l'ordre especial «epsf».\n" +"S'esperava un flotant després de %1 a %2" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"No s'ha trobat el fitxer:\n" +" %1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" +"S'ha produït un error en el fitxer DVI «%1», pàgina %2. No s'ha pogut " +"interpretar l'angle en un gir especial de text." + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "L'ordre especial «%1» no està implementada." + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" +"El fitxer de fonts %1 s'ha pogut obrir i llegir, però el seu format de " +"lletra no està admés." + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "El fitxer de fonts %1 està fet malbé, o no es pot obrir o llegir." + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" +"FreeType ha informat d'un error en establir la mida del caràcter per al " +"fitxer de fonts %1." + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "FreeType no pot carregar el tipus #%1 del fitxer de fonts %2." + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "FreeType no pot representar el tipus #%1 del fitxer de fonts %2." + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "El tipus #%1 està buit." + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "El tipus #%1 del fitxer de fonts %2 està buit." + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "" +"FreeType no pot carregar la mètrica del tipus #%1 del fitxer de fonts %2." + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "No es pot obrir el fitxer de fonts %1." + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "TexFont_PK::operator[]: El caràcter %1 no està definit a la lletra %2" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "%1 no esperat en el fitxer PK %2" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "El caràcter %1 és massa gran, en el fitxer %2" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "S'han emmagatzemat un nombre incorrecte de bits: car. %1, lletra %2" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "Fitxer pk incorrecte (%1), massa bits" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "La lletra té una relació d'aspecte no quadrada " + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "No s'ha trobat la lletra %1, en el fitxer %2." + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "Error a la suma de verificació del fitxer de fonts %1" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "No es pot reconéixer el format del fitxer de fonts %1" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"Error fatal.\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" +"\n" +"\n" +"Açò probablement significa que, o bé heu trobat una errada en Okular,\n" +"o que el fitxer DVI, o els fitxers auxiliars (com ara els fitxers de " +"fonts, \n" +"o els fitxers de fonts virtuals) estaven fets malbé de mala manera.\n" +"Okular es pararà després d'este missatge. Si penseu que heu trobat una \n" +"errada, o que Okular s'hauria de comportar millor en esta situació,\n" +"informeu del problema, per favor." + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "S'ha trobat una ordre de byte incorrecta en la llista VF de macros: %1" diff --git a/po/ca@valencia/okular_epub.po b/po/ca@valencia/okular_epub.po new file mode 100644 index 0000000..8cf7375 --- /dev/null +++ b/po/ca@valencia/okular_epub.po @@ -0,0 +1,47 @@ +# Translation of okular_epub.po to Catalan (Valencian) +# Copyright (C) 2008-2021 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# SPDX-FileCopyrightText: 2008, 2013, 2021 Josep M. Ferrer +# SPDX-FileCopyrightText: 2020 Antoni Bella Pérez +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2021-09-03 19:39+0200\n" +"Last-Translator: Josep M. Ferrer \n" +"Language-Team: Catalan \n" +"Language: ca@valencia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 20.12.0\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Accelerator-Marker: &\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Josep M. Ferrer" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "txemaq@gmail.com" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "S'ha produït un error en obrir el document EPub." + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "EPub" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "Configureu el dorsal d'EPub" diff --git a/po/ca@valencia/okular_fax.po b/po/ca@valencia/okular_fax.po new file mode 100644 index 0000000..149e81a --- /dev/null +++ b/po/ca@valencia/okular_fax.po @@ -0,0 +1,37 @@ +# Translation of okular_fax.po to Catalan (Valencian) +# Copyright (C) 2008-2020 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# SPDX-FileCopyrightText: 2008 Josep M. Ferrer +# SPDX-FileCopyrightText: 2020 Antoni Bella Pérez +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-07-29 15:38+0200\n" +"Last-Translator: Antoni Bella Pérez \n" +"Language-Team: Catalan \n" +"Language: ca@valencia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 20.04.3\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Accelerator-Marker: &\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Josep M. Ferrer" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "txemaq@gmail.com" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "No es pot carregar el document" diff --git a/po/ca@valencia/okular_fictionbook.po b/po/ca@valencia/okular_fictionbook.po new file mode 100644 index 0000000..c19c71d --- /dev/null +++ b/po/ca@valencia/okular_fictionbook.po @@ -0,0 +1,72 @@ +# Translation of okular_fictionbook.po to Catalan (Valencian) +# Copyright (C) 2007-2021 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# SPDX-FileCopyrightText: 2007, 2008, 2013, 2021 Josep M. Ferrer +# SPDX-FileCopyrightText: 2020 Antoni Bella Pérez +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2021-09-03 19:38+0200\n" +"Last-Translator: Josep M. Ferrer \n" +"Language-Team: Catalan \n" +"Language: ca@valencia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 20.12.0\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Accelerator-Marker: &\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Josep M. Ferrer" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "txemaq@gmail.com" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "El document no és un FictionBook vàlid" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "No es pot obrir el document: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "El document no és un arxiu ZIP vàlid" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "Estructura no vàlida del document (el directori principal no existix)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "No s'ha trobat contingut en el document" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "Document XML no vàlid: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "FictionBook" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "Configureu el dorsal de FictionBook" diff --git a/po/ca@valencia/okular_ghostview.po b/po/ca@valencia/okular_ghostview.po new file mode 100644 index 0000000..70c8e1e --- /dev/null +++ b/po/ca@valencia/okular_ghostview.po @@ -0,0 +1,80 @@ +# Translation of okular_ghostview.po to Catalan (Valencian) +# Copyright (C) 2007-2023 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# SPDX-FileCopyrightText: 2007, 2008, 2009, 2013, 2021, 2023 Josep M. Ferrer +# SPDX-FileCopyrightText: 2020 Antoni Bella Pérez +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2023-12-19 13:32+0100\n" +"Last-Translator: Josep M. Ferrer \n" +"Language-Team: Catalan \n" +"Language: ca@valencia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 22.12.3\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Accelerator-Marker: &\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Josep M. Ferrer" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "txemaq@gmail.com" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "Utilitza les lletres de la plataforma" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"Determina si Ghostscript ha de poder utilitzar les lletres de la plataforma. " +"Si és negatiu, només podrà utilitzar les lletres incrustades en el document." + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "Paràmetres generals" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "Utilit&za les lletres de la plataforma" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Configureu el dorsal de Ghostscript" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "Versió del document" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "Nivell del llenguatge" diff --git a/po/ca@valencia/okular_kimgio.po b/po/ca@valencia/okular_kimgio.po new file mode 100644 index 0000000..8c56448 --- /dev/null +++ b/po/ca@valencia/okular_kimgio.po @@ -0,0 +1,45 @@ +# Translation of okular_kimgio.po to Catalan (Valencian) +# Copyright (C) 2007-2017 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# SPDX-FileCopyrightText: 2007, 2009, 2017 Josep M. Ferrer +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2017-11-15 20:59+0100\n" +"Last-Translator: Josep M. Ferrer \n" +"Language-Team: Catalan \n" +"Language: ca@valencia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 2.0\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Accelerator-Marker: &\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Josep M. Ferrer" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "txemaq@gmail.com" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "No es pot carregar el document: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" +"Pareix que este document té un format incorrecte. Esta és la millor " +"aproximació de l'aparença proposada." diff --git a/po/ca@valencia/okular_markdown.po b/po/ca@valencia/okular_markdown.po new file mode 100644 index 0000000..c1347d6 --- /dev/null +++ b/po/ca@valencia/okular_markdown.po @@ -0,0 +1,56 @@ +# Translation of okular_markdown.po to Catalan (Valencian) +# Copyright (C) 2017-2021 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# SPDX-FileCopyrightText: 2017, 2020 Antoni Bella Pérez +# SPDX-FileCopyrightText: 2017, 2018, 2019, 2021 Josep M. Ferrer +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2021-11-11 19:03+0100\n" +"Last-Translator: Josep M. Ferrer \n" +"Language-Team: Catalan \n" +"Language: ca@valencia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 20.12.0\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Antoni Bella" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "antonibella5@yahoo.com" + +#: converter.cpp:59 converter.cpp:93 +#, kde-format +msgid "Failed to open the document" +msgstr "No s'ha pogut obrir el document" + +#: converter.cpp:106 converter.cpp:124 +#, kde-format +msgid "Failed to compile the Markdown document." +msgstr "No s'ha pogut compilar el document en Markdown." + +#: generator_md.cpp:58 +#, kde-format +msgid "Enable SmartyPants formatting" +msgstr "Activa el format SmartyPants" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown" +msgstr "Markdown" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown Backend Configuration" +msgstr "Configureu el dorsal de Markdown" diff --git a/po/ca@valencia/okular_mobi.po b/po/ca@valencia/okular_mobi.po new file mode 100644 index 0000000..8552fbf --- /dev/null +++ b/po/ca@valencia/okular_mobi.po @@ -0,0 +1,55 @@ +# Translation of okular_mobi.po to Catalan (Valencian) +# Copyright (C) 2009-2021 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# SPDX-FileCopyrightText: 2009, 2013, 2021 Josep M. Ferrer +# SPDX-FileCopyrightText: 2020 Antoni Bella Pérez +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2021-09-03 19:37+0200\n" +"Last-Translator: Josep M. Ferrer \n" +"Language-Team: Catalan \n" +"Language: ca@valencia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 20.12.0\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Accelerator-Marker: &\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Josep M. Ferrer" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "txemaq@gmail.com" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "S'ha produït un error en obrir el document Mobipocket." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "" +"Este llibre està protegit per DRM i només es pot visualitzar en el " +"dispositiu designat" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "Mobipocket" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "Configureu el dorsal de Mobipocket" diff --git a/po/ca@valencia/okular_poppler.po b/po/ca@valencia/okular_poppler.po new file mode 100644 index 0000000..7ea0c2a --- /dev/null +++ b/po/ca@valencia/okular_poppler.po @@ -0,0 +1,395 @@ +# Translation of okular_poppler.po to Catalan (Valencian) +# Copyright (C) 2007-2025 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# SPDX-FileCopyrightText: 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2016, 2017, 2018, 2019, 2020, 2021, 2023, 2025 Josep M. Ferrer +# SPDX-FileCopyrightText: 2013, 2020 Antoni Bella Pérez +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-10 08:54+0200\n" +"Last-Translator: Josep M. Ferrer \n" +"Language-Team: Catalan \n" +"Language: ca@valencia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 22.12.3\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Accelerator-Marker: &\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Josep M. Ferrer" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "txemaq@gmail.com" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "Activa la vista prèvia de sobreimpressió:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "Mai" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "Sempre" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "Automàtic" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "Millora les línies fines:" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "No" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "Sòlid" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "Forma" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "Mode d'escalat predeterminat en imprimir:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "Ajusta a l'àrea imprimible" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "Ajusta a la pàgina completa" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "Res; imprimix la mida original" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" +"Quan es marca esta opció, es permet que Okular contacte amb servidors OCSP " +"de tercers per a verificar si els certificats emprats per a la signatura " +"digital s'han revocat des de la seua creació." + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" +"Verifica la revocació dels certificats de signatures digitals utilitzant " +"servidors de tercers" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "Dorsal de signatures:" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" +"Estes signatures només es poden validar pels usuaris moderns d'Okular amb el " +"dorsal GnuPG activat" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "Permet les claus PGP per a les signatures (extensió d'Okular)" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "Base de dades de certificats" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "Predeterminat:" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "Personalitzat:" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "Certificats disponibles" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "&Carrega signatures" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "Opcions de PDF" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "Imprimix les anotacions" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "Inclou les anotacions en el document imprés" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"Inclou les anotacions en el document imprés. Podeu desactivar açò si voleu " +"imprimir el document original sense anotacions." + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "Força la rasterització" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "Rasteritza en una imatge abans d'imprimir" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"Força la rasterització de cada pàgina en una imatge, abans d'imprimir-la. " +"Normalment, açò dona pitjors resultats, però és útil quan s'imprimixen " +"documents que pareixen imprimir-se incorrectament." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "Mode d'escalat per a les pàgines impreses" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "Mode d'escala:" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF v. %1.%2" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "Format" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "Encriptat" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "Sense encriptar" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "Seguretat" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "Sí" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "Optimitzat" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Signat per: %1\n" +"\n" +"Data: %2" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "S'està utilitzant Poppler %1" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" +"Sestà utilitzant Poppler %1\n" +"\n" +"Construït contra Poppler %2" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "Configureu el dorsal de PDF" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "No s'ha pogut escriure el fitxer temporal" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "No s'ha pogut canviar de nom el fitxer temporal" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" +"S'han trobat alguns errors en el document. Potser Okular serà incapaç de " +"mostrar correctament el contingut" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" +"Estes signatures només funcionen entre les versions modernes d'Okular amb el " +"dorsal basat en GnuPG activat" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "Activa les signatures PGP" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "Emés a" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "Correu electrònic" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "Data de venciment" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" +"Esteu utilitzant una biblioteca Poppler construïda sense implementar NSS.\n" +"Per este motiu, no està disponible afegir signatures digitals" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "per sempre" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "Cal reiniciar" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "" +"Cal que reinicieu Okular després de canviar la configuració del directori NSS" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter Password" +msgstr "Introduïu la contrasenya" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "Introduïu la contrasenya per a obrir %1:" diff --git a/po/ca@valencia/okular_tiff.po b/po/ca@valencia/okular_tiff.po new file mode 100644 index 0000000..4f513e7 --- /dev/null +++ b/po/ca@valencia/okular_tiff.po @@ -0,0 +1,31 @@ +# Translation of okular_tiff.po to Catalan (Valencian) +# Copyright (C) 2020 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# SPDX-FileCopyrightText: 2020 Josep M. Ferrer +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-07-09 09:37+0100\n" +"Last-Translator: Josep M. Ferrer \n" +"Language-Team: Catalan \n" +"Language: ca@valencia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Accelerator-Marker: &\n" +"X-Generator: Lokalize 2.0\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Josep M. Ferrer" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "txemaq@gmail.com" diff --git a/po/ca@valencia/okular_txt.po b/po/ca@valencia/okular_txt.po new file mode 100644 index 0000000..f3f3725 --- /dev/null +++ b/po/ca@valencia/okular_txt.po @@ -0,0 +1,42 @@ +# Translation of okular_txt.po to Catalan (Valencian) +# Copyright (C) 2013-2021 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# SPDX-FileCopyrightText: 2013, 2021 Josep M. Ferrer +# SPDX-FileCopyrightText: 2020 Antoni Bella Pérez +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2021-09-03 19:36+0200\n" +"Last-Translator: Josep M. Ferrer \n" +"Language-Team: Catalan \n" +"Language: ca@valencia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Accelerator-Marker: &\n" +"X-Generator: Lokalize 20.12.0\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Josep M. Ferrer" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "txemaq@gmail.com" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "Txt" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "Configureu el dorsal de txt" diff --git a/po/ca@valencia/okular_xps.po b/po/ca@valencia/okular_xps.po new file mode 100644 index 0000000..d3d70fd --- /dev/null +++ b/po/ca@valencia/okular_xps.po @@ -0,0 +1,36 @@ +# Translation of okular_xps.po to Catalan (Valencian) +# Copyright (C) 2007-2008 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# SPDX-FileCopyrightText: 2007, 2008 Josep M. Ferrer +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-11-09 11:01+0100\n" +"Last-Translator: Josep M. Ferrer \n" +"Language-Team: Catalan \n" +"Language: ca@valencia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Accelerator-Marker: &\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Josep M. Ferrer" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "txemaq@gmail.com" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "Revisió" diff --git a/po/ca@valencia/org.kde.active.documentviewer.po b/po/ca@valencia/org.kde.active.documentviewer.po new file mode 100644 index 0000000..f13516e --- /dev/null +++ b/po/ca@valencia/org.kde.active.documentviewer.po @@ -0,0 +1,209 @@ +# Translation of org.kde.active.documentviewer.po to Catalan (Valencian) +# Copyright (C) 2012-2025 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# SPDX-FileCopyrightText: 2012, 2016, 2018, 2019, 2020, 2022, 2024, 2025 Josep M. Ferrer +# SPDX-FileCopyrightText: 2019, 2020 Antoni Bella Pérez +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-29 09:36+0200\n" +"Last-Translator: Josep M. Ferrer \n" +"Language-Team: Catalan \n" +"Language: ca@valencia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Accelerator-Marker: &\n" +"X-Generator: Lokalize 25.04.3\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "Punts" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "Visor de certificats" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "Emés per" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "Nom comú:" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "Correu electrònic:" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "Organització:" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "Emés a" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "Validesa" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "Emés el:" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "Expira el:" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "Empremtes digitals" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "Empremta digital SHA-1:" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "Empremta digital SHA-256:" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +msgid "Export…" +msgstr "Exporta…" + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "Tanca" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "Fitxer de certificat (*.cer)" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "S'ha produït un error" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "No s'ha pogut exportar el certificat." + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "Okular" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "Obri…" + +#: ui/Main.qml:49 +msgid "About" +msgstr "Quant a" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "Cal contrasenya" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "Suprimix el punt" + +#: ui/MainView.qml:29 +msgid "Bookmark this page" +msgstr "Apunta esta pàgina" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "Miniatures" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "Taula de contingut" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "Signatures" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "Propietats de la signatura" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "Estat de la validesa" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "Validesa de la signatura:" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "Modificacions del document:" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "Informació addicional" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "Signat per:" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "Data de signatura:" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "Motiu:" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "Ubicació:" + +#: ui/SignaturePropertiesPage.qml:96 +msgid "Document Version" +msgstr "Versió del document" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Revisió %1 de %2 del document" + +#: ui/SignaturePropertiesPage.qml:108 +msgid "Save Signed Version…" +msgstr "Guarda la versió signada…" + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +msgid "View Certificate…" +msgstr "Visualitza el certificat…" + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "No s'ha pogut guardar la signatura." + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "No disponible" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "No s'ha trobat cap resultat." + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "No hi ha cap document obert" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "Documents recents" + +#: ui/WelcomeView.qml:108 +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "Els meus documents" diff --git a/po/cs/okular.po b/po/cs/okular.po new file mode 100644 index 0000000..e2c56ac --- /dev/null +++ b/po/cs/okular.po @@ -0,0 +1,5969 @@ +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Lukáš Tinkl , 2010, 2011. +# SPDX-FileCopyrightText: 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2023, 2024 Vít Pelčák +# Tomáš Chvátal , 2012, 2013. +# SPDX-FileCopyrightText: 2021, 2022, 2023, 2024 Vit Pelcak +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-09-18 09:43+0200\n" +"Last-Translator: Vit Pelcak \n" +"Language-Team: Czech \n" +"Language: cs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" +"X-Generator: Lokalize 24.08.1\n" +"X-Language: cs_CZ\n" +"X-Source-Language: en_US\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" +"Lukáš Tinkl,Klára Cihlářová,Vít Pelčák,Marián Kyral,Tomáš Chvátal,David " +"Kolibáč" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" +"lukas@kde.org,koty@seznam.cz,vit@pelcak.org,mkyral@email.cz,tomas." +"chvatal@gmail.com,david@kolibac.cz" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Okular, univerzální prohlížeč dokumentů" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "Předchozí správce" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "" +"Mnoho práce na frameworku, podpůrná vrstva FictionBook a původní podpůrná " +"vrstva ODT" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "Vývojář" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymanski" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "Vytvořil Okular ze základů KPDF" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "Enrico Ros" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "Vývojář KPDF" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "Eugene Trounev" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "Grafická podoba poznámek" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "Jiri Baum - NICTA" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "Nástroj pro výběr tabulky" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "Fabio D'Urso" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "Vylepšení poznámek" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "Přejít na stranu %1" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "Otevřít externí soubor" + +#: core/action.cpp:197 +#, kde-format +msgid "Execute '%1'…" +msgstr "" + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "První strana" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "Předchozí strana" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "Následující strana" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "Poslední strana" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "Zpět" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "Vpřed" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Ukončit" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "Spustit prezentaci" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "Ukončit prezentaci" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "Najít…" + +#: core/action.cpp:314 +#, kde-format +msgid "Go To Page…" +msgstr "" + +#: core/action.cpp:365 +#, kde-format +msgid "Play sound…" +msgstr "" + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "Skript JavaScriptu" + +#: core/action.cpp:483 +#, kde-format +msgid "Play movie…" +msgstr "" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "Přehrát film" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "Zastavit film" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "Pozastavit film" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "Pokračovat v přehrávání filmu" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "Tato aplikace je sestavena bez podpory zvuku" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "Výběr implementace" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
%1 (%2).

Please select which one to use:
" +msgstr "" +"Bylo nalezeno více implementací zpracování MIME typu:
%1 " +"(%2).

Prosím vyberte, kterou si přejete použít:
" + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "Nejvíc stran je %1" + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "Na výšku %1" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "Na šířku %1" + +#: core/document.cpp:246 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "" + +#: core/document.cpp:248 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 × %2 mm (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "Pokračovat v hledání od začátku" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "Pokračovat v hledání zdola" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "Nebyl nalezen zásuvný modul vhodný pro zpracování zadaného dokumentu." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "Odstranit poznámky" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"Dokument se pokouší spustit externí aplikaci. Pro vaše bezpečí to Okular " +"nepovolil." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "Nebyla nalezena žádná aplikace pro otevírání typu MIME %1." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "Nelze otevřít dočasný soubor" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "Tisková konverze selhala" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "Proces tisku zhavaroval" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "Proces tisku nemohl být zahájen" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "Tisk do souboru selhal" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "Tiskárna byla v nesprávném stavu" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "Nelze najít soubor pro vytištění" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "Soubor pro tisk nebyl zadán" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"Nebyl nalezen vhodný program pro tisk. Ujistěte se, že je program CUPS lpr " +"dostupný" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "Velikost stránky k tisku je neplatná" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "Nelze otevřít \"%1\". Soubor neexistuje." + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Název" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Předmět" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Popis" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "Autor" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Vytvořil" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Producent" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "Autorská práva" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "Strany" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Vytvořeno" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Změněno" + +#: core/document.cpp:6032 +#, kde-format +msgid "MIME Type" +msgstr "Typ MIME" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "Kategorie" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Klíčová slova" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "Cesta k souboru" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "Velikost souboru" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "Velikost stran" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "přidat poznámku" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "odstranit poznámku" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "upravit vlastnosti poznámky" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "přeložit poznámku" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "upravit poznámku" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "upravit text" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "upravit obsah poznámky" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "upravit obsah formuláře" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "upravit položky seznamu" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "upravit výběr seznamu" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "upravit stavy tlačítek" + +#: core/generator.cpp:790 +#, kde-format +msgid "Plain &Text…" +msgstr "" + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "OpenDocument text" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "Možnosti tisku" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "Vyplnit tisknutelnou oblast" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "Přizpůsobit plné stránce" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "Režim škálování:" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "Tuto zprávu již nezobrazovat" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "Nedostupný" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "" + +#: core/signatureutils.cpp:504 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" + +#: core/signatureutils.cpp:506 +#, kde-format +msgid "Unknown signing error" +msgstr "" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Zdroj: %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "Výc&hozí písmo:" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "Verze" + +#: gui/certificatemodel.cpp:41 +#, kde-format +msgid "Serial Number" +msgstr "Sériové číslo" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "Vydavatel" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "Vydáno dne" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "Platný do" + +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Předmět" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "Veřejný klíč" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "Použití klávesy" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "V%1" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "%1 (%2 bitů)" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "Vlastnost" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "Hodnota" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "Vyskakovací poznámka" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "Strojopisné" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "Vložená poznámka" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +#| msgid "Polygon with Comment" +msgid "Arrow with Comment" +msgstr "Mnohoúhelník bez komentáře" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "Šipka" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "Rovná čára s komentářem" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "Rovná čára" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "Mnohoúhelník bez komentáře" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "Mnohoúhelník" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgid "Stamp with Comment" +msgid "Rectangle with Comment" +msgstr "Razítko s komentářem" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "Pravoúhelník" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgid "Underline with Comment" +msgid "Ellipse with Comment" +msgstr "Podtržení s komentářem" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "Elipsa" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "Zvýraznění s komentářem" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "Zvýraznění" + +#: gui/guiutils.cpp:87 +#, kde-format +msgid "Squiggle with Comment" +msgstr "Vlnovka s komentářem" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "Vlnovka" + +#: gui/guiutils.cpp:91 +#, kde-format +msgid "Underline with Comment" +msgstr "Podtržení s komentářem" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "Podtržené" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out with Comment" +msgstr "Přeškrtnout s komentářem" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "Přeškrtnuté" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "Razítko s komentářem" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "Razítko" + +#: gui/guiutils.cpp:106 +#, kde-format +msgid "Freehand Line with Comment" +msgstr "Čára od ruky s komentářem" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "Čára od ruky" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "Kurzor" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "Soubor s přílohou" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "Zvuk" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "Film" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Obrazovka" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "Widget" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "Rich Media" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation" +msgstr "1 poznámka" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "Neznámý" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Autor: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "Kam si přejete uložit %1?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "Nelze otevřít \"%1\" pro zápis. Soubor nebyl uložen." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "Podpis je kryptograficky platný." + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "Podpis je kryptograficky neplatný." + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "" + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "Struktura podpisu CMS/PKCS7 je chybná." + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "Vyžadovaný podpis v dokumentu není přítomen." + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "Podpis nemohl být ověřen." + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "Certifikát je důvěryhodný." + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "Vydavatel certifikátu není důvěryhodný." + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "Vydavatel certifikátu je neznámý." + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "Certifikát byl odvolán." + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "Certifikát vypršel." + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "Certifikát ještě nebyl nelze ověřen." + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "Probíhá ověření certifikátu" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "" + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "MD2" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "MD5" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "SHA1" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "SHA256" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "SHA384" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "SHA512" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "SHA224" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "Neznámý algoritmus" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "RSA" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "DSA" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "EC" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "Neznámý typ" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "Digitální podpis" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "Zašifrovat klíče" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "Dešifrovat klíče" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "Podepsat certifikát" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "Podepsat CRL" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "Pouze šifrovat" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "Nebylo zadáno žádné použití" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr ", " + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "Dokument nebyl od podepsání změněn." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "Dokument byl změněn způsobem, který nebyl podepisujícím povolen." + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "Ověření Požadovanou operaci není možné dokončit" + +#: gui/signatureguiutils.cpp:208 +#, kde-format +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "" + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "Tento dokument je digitálně podepsán." + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "" +"tento dokument je digitálně podepsán. Od posledního podpisu došlo ke změnám." + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" +"Tento dokument je digitálně podepsán. Některé z podpisů nešlo pořádně ověřit." + +#: gui/signaturemodel.cpp:141 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "Pole: %1 na straně %2" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "Rev. %1: Podepsal(a) %2" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "Čas podepsání: %1" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "Příčina: %1" + +#: gui/signaturemodel.cpp:177 +#, kde-format +msgid "Location: %1" +msgstr "Umístění: %1" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "" + +#: gui/signaturemodel.cpp:193 +#, kde-format +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "" + +#: gui/signaturemodel.cpp:195 +#, kde-format +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "" + +#: gui/signaturemodel.cpp:201 +#, kde-format +msgid "Signature Type: %1" +msgstr "" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "Červená" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "Oranžová" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "Žlutá" + +#: part/annotationactionhandler.cpp:151 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "Zelená" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "Azurová" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "Modrá" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "Purpurová" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "Bílá" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "Šedá" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "Černá" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "Šířka %1" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1%" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:308 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Tloušťka čáry poznámky" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "" + +#: part/annotationactionhandler.cpp:314 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Barva textu poznámky" + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "Barva okraje poznámky" + +#: part/annotationactionhandler.cpp:318 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Barva poznámky" + +#: part/annotationactionhandler.cpp:322 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Barva výplně poznámky" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "" + +#: part/annotationactionhandler.cpp:328 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "Písmo poznámky" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" + +#: part/annotationactionhandler.cpp:341 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Krytí poznámky" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "Načíst nastavení pro současný nástroj pro poznámky" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "Barva" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "Barva výplně" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "Průhledná" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "" + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "Zvolte barvu" + +#: part/annotationactionhandler.cpp:552 +#, kde-format +msgid "&Annotations" +msgstr "Poznám&ky" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "Skrýt" + +#: part/annotationactionhandler.cpp:554 +#, kde-format +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "Zvýraznění" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "Podtržené" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "Vlnovka" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "Přeškrtnuté" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Strojopisné" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "Vložená poznámka" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "Vyskakovací poznámka" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "Čára od ruky" + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "Rovná čára" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "Šipka" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "Pravoúhelník" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "Elipsa" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "Mnohoúhelník" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "Geometrické tvary" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "Razítko" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Rychlé poznámky" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "" + +#: part/annotationactionhandler.cpp:651 +#, kde-format +msgid "Quick Annotation Bar" +msgstr "Panel pro rychlé poznámky" + +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "Přidat do rychlých poznámek" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "Ponechat aktivní" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "Ponechat nástroj pro vytváření poznámek po použití aktivní" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "Písmo" + +#: part/annotationactionhandler.cpp:681 +#, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Nastavení poznámek" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "Šířka čáry" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "Krytí" + +#: part/annotationactionhandler.cpp:696 +#, kde-format +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1%" + +#: part/annotationmodel.cpp:320 +#, kde-format +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "Strana %1 (%2)" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "Strana %1" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "1 poznámka" +msgstr[1] "%1 poznámky" +msgstr[2] "%1 poznámek" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "&Otevřít vyskakovací poznámku" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Smazat záložku" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Přidat záložku" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, kde-format +msgid "Copy Text to Clipboard" +msgstr "Zkopírovat text do schránky" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "Kopírování zakázáno DRM" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "&Smazat" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "V&lastnosti" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, kde-format +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "Vz&hled" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "&Obecné" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&Autor:" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "Vytvořeno:" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "Změněno:" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "Vlastnosti vyskakovacích poznámek" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "Vlastnosti vložené poznámky" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "Vlastnosti čáry" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "Vlastnosti mnohostěnu" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "Vlastnosti geometrie" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "Vlastnosti značek textu" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "Vlastnosti razítka" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "Vlastnosti čáry od ruky" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "Vlastnosti kurzoru" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "Vlastnosti přiloženého souboru" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "Vlastnosti zvuku" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "Vlastnosti videa" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "Vlastnosti poznámky" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "Vyberte vlastní symbol razítka ze souboru" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "Vyberte vlastní symbol razítka" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" +"*.ico *.png *.xpm *.svg *.svgz | Ikony (*.ico *.png *.xpm *.svg *.svgz)" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "Neplatný soubor" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&Barva:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, kde-format +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "&Krytí:" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "Ikona:" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "Komentář" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "Nápověda" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "Vložit" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "Klíč" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "Nový odstavec" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "Poznámka" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "Odstavec" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Písmo:" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "&Barva textu:" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "Z&arovnat:" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "Vlevo" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "Střed" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "Vpravo" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "Šíř&ka okraje:" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "Odsouhlasený" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "Tak jak je" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "Důvěrný" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "Oddělení" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "Koncept" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "Experimentální" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "Prošlý" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "Konečný" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "Pro komentáře" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "Pro veřejnost" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "Neodsouhlasený" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "Ne pro veřejnost" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "Prodáno" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "Přísně tajné" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "Záložka" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "Informace" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "Symbol razítka:" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "Šíř&ka:" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "Začátek řádku:" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "Konec řádku:" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "Čtverec" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "Kolečko" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "Diamant" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "Otevřená šipka" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "Uzavřená šipka" + +# žádné parametry funkce v inspektoru funkcí +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "Nic" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "Kaligrafický" + +#: part/annotationwidgets.cpp:531 +#, kde-format +msgid "Leader line length:" +msgstr "" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "Povoleno" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "Výplň tvaru:" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Typ:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "Přeškrtnuté" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "Graf" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "Připínáček" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "Svorka" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "Značka" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "Soubor" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "N/A" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "Popis není dostupný." + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "Název:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "Popis:" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "Nic" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "Zavřít tuto poznámku" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "Možnosti" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"Tato poznámka může obsahovat kód LaTeX.\n" +"Klikněte zde pro renderování." + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "Nelze nalézt program latex." + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "LaTeX renderování selhalo" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "Nelze nalézt program dvipng." + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "Během vykonávání příkazu 'latex' došlo k problému." + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "Během vykonávání příkazu 'dvipng' došlo k problému." + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"Jedna záložka" +msgstr[1] "" +"%1\n" +"\n" +"%2 záložky" +msgstr[2] "" +"%1\n" +"\n" +"%2 záložek" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Záložky" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "Zobrazit pro všechny dokumenty" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, kde-format +msgid "Search…" +msgstr "Hledat…" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, fuzzy, kde-format +#| msgid "Expand all" +msgid "Expand All" +msgstr "Rozvinout vše" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, fuzzy, kde-format +#| msgid "Collapse all" +msgid "Collapse All" +msgstr "Svinout vše" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "Přejít na tuto záložku" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "Přejmenovat záložku" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Otevřít dokument" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "Odstranit všechny záložky tohoto dokumentu" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "Prohlížeč certifikátů" + +#: part/certificateviewer.cpp:50 +#, kde-format +msgid "Export…" +msgstr "Exportovat…" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "Obecné" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "Vydal" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "Obecné jméno (CN)" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "E-Mail" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "Organizace (O)" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "Vydáno pro" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "Platnost" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "Otisky" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "Otisk SHA-1" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "Otisk SHA-256" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "Podrobnosti" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "Soubor s certifikátem (*.cer)" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "Certifikát nelze exportovat" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "&Barevný režim" + +#: part/colormodemenu.cpp:21 +#, kde-format +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "Změnit barvy" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "&Normální barvy" + +#: part/colormodemenu.cpp:41 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "&Invertovat barvy" + +#: part/colormodemenu.cpp:42 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "Změnit barvu &papíru" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "Změnit t&mavé a světlé barvy" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "Převést do če&rnobílé" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "Obrátit &jas" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "Červená" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "Zelená" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "Modrá" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "Žlutá" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "Černá" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "Bílá" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "Žlutý zvýrazňovač" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "Zelený zvýrazňovač" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "Vložit text" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "Kreslit okraj okolo odkazů" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "Změnit barvy" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "" +"Varování: tyto možnosti mohou negativně ovlivnit rychlost " +"vykreslování." + +#: part/dlgaccessibility.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "Invertovat barvy" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "Změnit barvu papíru" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "Změnit tmavé a světlé barvy" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "Převést na černobílou" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "Obrátit jas" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "Barevný režim:" + +#: part/dlgaccessibility.cpp:87 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Barva papíru:" + +#: part/dlgaccessibility.cpp:99 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Tmavá barva:" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "Světlá barva:" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "Práh:" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Kontrast:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "Nástroj pro hlasovou syntézu:" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "Hlas pro hlasovou syntézu:" + +#: part/dlgannotations.cpp:25 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Plný nástrojový panel pro poznámky" + +#: part/dlgannotations.cpp:26 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Nástrojový panel pro rychlé poznámky" + +#: part/dlgannotations.cpp:28 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Nástrojový panel pro poznámky:" + +#: part/dlgannotations.cpp:34 +#, kde-format +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "Autor:" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"Poznámka: Tot nastavení je použito pouze pro poznámky. Informace je " +"uložena v dokumentu s poznámkami, a taky bude vysílána spolu s dokumentem." + +#: part/dlgannotations.cpp:48 +#, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

Quick Annotation Tools

" +msgstr "

Rychlé nástroje pro poznámky

" + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" +"Vyberte editor, který si přejete spustit, když bude Okular chtít otevřít " +"zdrojový soubor." + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "Vlastní textový editor" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Klient Emacs" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "Klient Lyx" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "TeXstudio" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "TeXiFy IDEA" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "Editor:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
\n" +"You can also put few placeholders:\n" +"
    \n" +"
  • %f - the file name
  • \n" +"
  • %l - the line of the file to be reached
  • \n" +"
  • %c - the column of the file to be reached
  • \n" +"
\n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"Zadejte příkaz pro zavolání vlastního textového editoru.
\n" +"Můžete přidat následující zástupce:\n" +"
    \n" +"
  • %f - název souboru
  • \n" +"
  • %l - řádek v souboru
  • \n" +"
  • %c - sloupec v souboru
  • \n" +"
\n" +"Pokud nebude %f zadáno, bude název souboru přidán na konec příkazu." + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "Příkaz:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "Vzhled:" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "Zobrazovat rolovací panely" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "Propojit miniatury se stránkou" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "Zobrazovat rady a informativní zprávy" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "Zobrazit název dokumentu v titulkovém pruhu, pokud je k dispozici" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "Zobrazit pouze název souboru" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "Zobrazit celou cestu k souboru" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "Pokud není zobrazen nadpis dokumentu:" + +#: part/dlggeneral.cpp:92 +#, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "Používat vlastní barvu pozadí:" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "Funkce programu:" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "Otevírat nové soubory v kartách" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "Přepnout na existující kartu pokud je soubor již otevřen" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "Řídit se DRM" + +#: part/dlggeneral.cpp:148 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "Znovu načíst dokument při změně souboru" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "Zobrazit dialog pro výběr podpůrná vrstvy" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "Směr čtení zprava doleva" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "Otevřít v průběžném režimu jako výchozí" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "Přehledové sloupce:" + +#: part/dlggeneral.cpp:220 +#, kde-format +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" +"Určuje, kolik ze současně zobrazené oblasti bude stále zobrazeno po stisku " +"kláves Page Up/Down." + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "Přesah Page Up/Down:" + +#: part/dlggeneral.cpp:228 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "" + +#: part/dlggeneral.cpp:233 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "" + +#: part/dlggeneral.cpp:234 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "Výchozí přiblížení:" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "Povolit efekty průhlednosti" + +#: part/dlgperformance.cpp:28 +#, kde-format +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "Využití CPU:" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "Nízké" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "Normální (výchozí)" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "Agresivní" + +#: part/dlgperformance.cpp:38 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "Nenasytná" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "Spotřeba paměti:" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "Povolit antialiasing textu" + +#: part/dlgperformance.cpp:56 +#, kde-format +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "Povolit antialiasing grafiky" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "Povolit Text Hinting" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"Udržuje použitou paměť na minimu, nevyužívá opětovně nic (pro systémy s " +"malou pamětí)." + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"Dobrý kompromis mezi využitím paměti a zrychlením aplikace. Předem načítá " +"jednu stránku a urychluje hledání (typicky pro systémy s 2 GB paměti)." + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"Udržuje vše v paměti. Předem načítá následující stránky, urychluje hledání " +"(pro systémy s více než 4 GB paměti)." + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" +"Načte a uchová vše v paměti. Předem načte všechny stránky (použije maximálně " +"50 % celkové paměti, či volné paměti, dle jejich velikosti)." + +#: part/dlgpresentation.cpp:38 +#, kde-format +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "Pokračovat automaticky:" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "Smyčka za poslední stranou" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "Ťuknutí doleva/doprava pro posun zpět/vpřed" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "Ťuknutí kamkoliv pro posun vpřed" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "Zakázáno" + +#: part/dlgpresentation.cpp:63 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Ovládání dotekem" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "Barva pozadí:" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "Skrytý po prodlevě" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "Vždy viditelný" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "Vždy skrytý" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "Kurzor myši:" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "Zobrazit ukazatel průběhu" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "Zobrazovat souhrnnou stránku" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "Okamžitě (nepoužívat animace)" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "Nahradit" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "Náhodný přechod" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "Svislá zatmívačka" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "Vodorovná zatmívačka" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "Box dovnitř" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "Box ven" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "Rozpustit" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "Blednutí" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "Třpyt dolů" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "Třpyt doprava" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "Třpyt doprava dolů" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "Vodorovné rozdělení dovnitř" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "Vodorovné rozdělení ven" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "Svislé rozdělení dovnitř" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "Svislé rozdělení ven" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "Vyčistit dolů" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "Vyčistit doprava" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "Vyčistit doleva" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "Vyčistit nahoru" + +#: part/dlgpresentation.cpp:121 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Výchozí přechod:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "Preferovaná obrazovka:" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

Drawing Tools

" +msgstr "

Nástroje pro kreslení

" + +#: part/dlgpresentation.cpp:171 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Aktuální obrazovka" + +#: part/dlgpresentation.cpp:172 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Výchozí obrazovka" + +#: part/dlgpresentation.cpp:178 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "Obrazovka %1 (%2 %3 %4)" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "Nástroj pro kresbu: %1" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "Guma" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "&Název:" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "&Typ:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "Vzhled" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "Označování textu" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "geometrický tvar" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "Nástroj pro vytváření poznámek" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "Nástroj pro úpravu poznámek" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "Barva:" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "Šířka &pera:" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "" + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "Vytvořit nástroj pro kreslení" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "Upravit nástroj pro kreslení" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "Neznámé" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Vložené soubory" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "Pohled" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "Jméno" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "Popis" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "Velikost" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "Vytvořeno" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "Změněno" + +#: part/embeddedfilesdialog.cpp:154 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "" + +#: part/embeddedfilesdialog.cpp:155 +#, kde-format +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "Nelze načíst komponentu pro náhled před tiskem" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "Náhled před tiskem" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "Zavřít" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "Na&jít:" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "Text k vyhledání" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Následující" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "Přejít na následující výskyt" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Předchozí" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "Přejít na předchozí výskyt" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "Změnit chování vyhledávání" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "Rozlišovat velká/malá" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "Z aktuální stránky" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "Hledat při psaní" + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "Všechny soubory (*)" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "Vlastnosti podpisu" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "Možnosti hledání" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "Rozlišovat velikost písmen" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "Regulární výraz" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "Vrstvy" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "z" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "Zvětšení" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "Zvětšení na 100%" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "Rotovat vp&ravo" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "Doprava" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "Rotovat v&levo" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "Doleva" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "Původní orientace" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "Ořeza&t pohled" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "Ořeza&t okraje" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "Ořezat &podle výběru" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "Přizpůsobit šíř&ce" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "&Přizpůsobit straně" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "&Automaticky přizpůsobit" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "Přizpůsobit ok&no straně" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "Režim zobrazení" + +#: part/pageview.cpp:594 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "Jedna &strana" + +#: part/pageview.cpp:595 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "Protile&hlé strany" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "Protilehlé strany (&Centrovat první stránku)" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "&Přehled" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "Prů&běžně" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "&Procházet" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "&Zvětšit" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "Výběr obla&sti" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "Výběr &textu" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "Výběr t&abulky" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "&Lupa" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "Nástroje výběru" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "Přečíst celý dokument" + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "Přečíst s aktuální stránky" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "Přečíst aktuální stránku" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "Zastavit čtení" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "Posunout nahoru" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Posunout dolů" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "Posunout stránku nahoru" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "Posunout stránku dolů" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "Zobrazit formuláře" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] "Načten dokument o %1 stránce." +msgstr[1] "Načten dokument o %1 stranách." +msgstr[2] "Načten dokument o %1 stranách." + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "Text (1 znak)" +msgstr[1] "Text (%1 znaky)" +msgstr[2] "Text (%1 znaků)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "Zkopírovat do schránky" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "Přečíst text" + +#: part/pageview.cpp:2863 +#, kde-format +msgid "Image (%1 × %2 pixels)" +msgstr "Obrázek (%1 x %2 pixelů)" + +#: part/pageview.cpp:2865 +#, kde-format +msgid "Save to File…" +msgstr "Uložit do souboru…" + +#: part/pageview.cpp:2885 +#, kde-format +msgid "Image [%1 × %2] copied to clipboard." +msgstr "Obrázek [%1 × %2] zkopírován do schránky." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "Uložit soubor" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "Obrázky (*.png *.jpeg)" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "Soubor neuložen." + +#: part/pageview.cpp:2901 +#, kde-format +msgid "Image [%1 × %2] saved to %3 file." +msgstr "Obrázek [%1 × %2] uložen do souboru %3." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "Kopírovat text" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "Jít na %1'" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "Přizpůsobit šířce" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "Přizpůsobit straně" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "Automaticky vyplnit" + +#: part/pageview.cpp:4107 +#, kde-format +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1%" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "Vyhledat '%1' pomocí" + +#: part/pageview.cpp:4404 +#, kde-format +msgid "Configure Web Shortcuts…" +msgstr "" + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "Následovat tento odkaz" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "Přehrát tento zvuk" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "Zastavit zvuk" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "Kopírovat adresu odkazu" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Vítejte" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "Vyberte oblast pro zvětšení. Pravým kliknutím oddálíte." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "Kliknutím zobrazíte zvětšený pohled" + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "" +"Nakreslete obdélník okolo textu nebo obrázku, který si přejete zkopírovat." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "Vybrat text" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" +"Nakreslete obdélník okolo tabulky, poté klikněte na okraje pro rozdělení; " +"stiskem Esc zrušíte výběr." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" + +#: part/pageview.cpp:5188 +#, kde-format +msgid "No valid certificates" +msgstr "" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, kde-format +msgid "Open Certificate Manager" +msgstr "" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
Launch Certificate Manager " +"to import or manage certificates
For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, kde-format +msgid "No certificates found" +msgstr "" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "" +"Nakreslete obdélník okolo oblasti stránky, kterou chcete mít viditelnou" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "Nová textová poznámka" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "Text nové poznámky:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Podepsal: %1\n" +"\n" +"Datum: %2" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "Začít znovu" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "Podepsat" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name" +msgstr "Jméno autora" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name for the annotation:" +msgstr "Jméno autora pro poznámku:" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "Nakreslit elipsu (přetažením vyberete zónu)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "Zvýraznit text" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "Nakreslit čáru od ruky" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "Vkládaná textová poznámka (táhněte pro výběr zóny)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "Vyskakovací poznámka" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "Nakreslit mnohoúhelník (klikněte na první bod pro jeho uzavření)" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "Nakreslit obdélník" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "Text s vlnovkou" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "Umístit symbol razítka" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "Nakreslit čáru" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "Přeškrtnout text" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "Podtrhnout text" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "Zvýraznění" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "Přidat oblíbenou poznámku" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Custom annotation name:" +msgstr "Vlastní název poznámky:" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&Soubor" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "Na&stavení" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "Nápo&věda" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "Orientace" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "&Záložky" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "Nástrojový panel prohlížeče" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Miniatury" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "Poznámky" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"Tento dokument obsahuje vložené soubory. " +"Klikněte zde pro jejich zobrazení nebo jděte do Soubor -> Vložené " +"soubory." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "Předchozí" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "Přejít na předchozí stránku" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "Přesune se na předchozí stranu v dokumentu" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "Následující" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "Posunout se na následující stránku" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "Přesune se na následující stranu v dokumentu" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "Začátek dokumentu" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "Přesune se na začátek dokumentu" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "Konec dokumentu" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "Přesune se na konec dokumentu" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "Přejmenovat současnou záložku" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "Předchozí záložka" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "Přejít na předchozí záložku" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "Následující záložka" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "Přejít na následující záložku" + +#: part/part.cpp:748 +#, kde-format +msgid "Configure Okular…" +msgstr "" + +#: part/part.cpp:751 +#, kde-format +msgid "Configure Viewer…" +msgstr "" + +#: part/part.cpp:757 +#, kde-format +msgid "Configure Viewer Backends…" +msgstr "" + +#: part/part.cpp:759 +#, kde-format +msgid "Configure Backends…" +msgstr "" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "O podpůrné vrstvě" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "Znovu načíst" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "Obnovit současný dokument z disku." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "Zavřít vy&hledávací panel" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "Číslo strany" + +#: part/part.cpp:817 +#, kde-format +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "" + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "Vybrat všechen text na současné stránce" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "Zobraz&it postranní panel" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "Zobrazit panel st&ránek" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "Zobrazit panel &s podpisy" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "Vložené soubory" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "E&xportovat jako" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "S&dílet" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "P&rezentace" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "Otevřít odpovídající s&ložku" + +#: part/part.cpp:945 +#, kde-format +msgid "&Import PostScript as PDF…" +msgstr "" + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "Přepnout režim černé obrazovky" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "Smazat kreslení" + +#: part/part.cpp:962 +#, kde-format +msgid "Configure Annotations…" +msgstr "" + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "Přehrát/Pozastavit prezentaci" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" + +#: part/part.cpp:1123 +#, kde-format +msgid "Document can't be saved" +msgstr "Dokument nelze uložit" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "Nelze otevřít '%1' (%2) " + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "Načítání %1 bylo zrušeno." + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "Nelze otevřít %1. Důvod: %2" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "Nastavit podpůrné vrstvy prohlížeče" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "Nastavit podpůrné vrstvy" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"Program \"ps2pdf\" nebyl nalezen. Okular jej nemůže použít pro import PS " +"souborů." + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "ps2pdf nenalezen." + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "Soubory PostScript (%1)" + +#: part/part.cpp:1357 +#, kde-format +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "" + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "Prosím, vložte heslo pro přečtení dokumentu:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "Neplatné heslo. Prosím, zkuste znovu:" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "Heslo dokumentu" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" +"Tento dokument obsahuje formuláře XFA, jenž momentálně nejsou " +"podporovány." + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"Tento dokument obsahuje formuláře. Klikněte na tlačítko pro práci s nimi, " +"nebo použijte Zobrazit -> Zobrazit formuláře." + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "Odepřít požadavek" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "Nelze otevřít '%1'. %2" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "Soubor změněn" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "P&okračovat v opakování načítání" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "Pokračovat v zavření" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "Přerušit zavření" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "Zavřít dokument" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"Tento odkaz směřuje na činnost zavření dokumentu, což není ve vnořeném " +"prohlížeči použitelné." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"Tento odkaz směřuje na činnost ukončení aplikace, což není ve vnořeném " +"prohlížeči použitelné." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, kde-format +msgid "Reloading the document…" +msgstr "" + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "Obsah" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "Podpisy" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Přejít na stranu" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "S&trana:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "Zadejte nový název záložky:" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "Přejmenovat tuto záložku" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "Odstranit tuto záložku" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "Uložit jako" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "Nepodporovaná přípona" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "Vyberte nový název" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" +"Soubor %1 byl upraven jiným programem. Pokud jej teď " +"uložíte, veškeré změny, které ten program provedl, budou ztraceny. Jste si " +"jisti, že si přejete pokračovat?" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "Uložit - varování" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "Uložit kopii jinde" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
Do you want to continue?" +msgstr "" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "Nelze otevřít dočasný soubor pro uložení." + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" +"Soubor %1 nelze přepsat, protože je pouze ke čtení. " +"Pokuste se jej uložit jinam nebo změňte jeho oprávnění." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
Do you want to continue?" +msgstr "" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "Nelze uložit soubor do '%1'. Pokuste se jej uložit jinam." + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "Vyplněno z obsahu" + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "Poznámky uživatele" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "Varování" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "Pokračovat" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "Pokračovat se ztrátou změn" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "Nelze uložit soubor do '%1'. %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"Okular nemůže zkopírovat %1 na zadané místo.\n" +"\n" +"Dokument již neexistuje." + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "Expand whole section" +msgid "Expand Whole Section" +msgstr "Rozbalit celý úsek" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "Collapse whole section" +msgid "Collapse Whole Section" +msgstr "Svinout celý úsek" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "Synchronizovat náhled se stránkou" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Nástroje" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "Číst" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "Tisk" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "Tisk tohoto dokumentu je zakázán." + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"Nelze vytisknout dokument. Neznámá chyba. Prosím nahlaste chybu na http://" +"bugs.kde.org" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"Nelze vytisknout dokument. Podrobný popis chyby je \"%1\". Prosím nahlaste " +"chybu na http://bugs.kde.org" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "Přejít na předchozí umístění" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "Přejít na následující umístění" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"Chyba v souboru. Nepovedlo se vytvořit dočasný soubor " +"%1." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"Chyba v souboru. Nepovedlo se otevřít soubor " +"%1 pro dekompresi. Soubor nebude načten." + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"Chyba v souboru. Nepovedlo se rozbalit soubor " +"%1. Nebude načten." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"Tato chyba nastává typicky v případech, kdy je soubor poškozen. Pokud si " +"přejete být jisti, rozbalte soubor ručně pomocí nástrojů z příkazové řádky." + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "Žádné záložky" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "Nastala chyba při sdílení dokumentu: %1" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "Sdílet" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "Obrázek byl úspěšně sdílen" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "Ú&pravy" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "Po&hled" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "Pře&jít" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "Nás&troje" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "Hlavní panel nástrojů" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "Panel nástrojů pro poznámky" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, kde-format +msgid "Quick Annotation Toolbar" +msgstr "Nástrojový panel pro rychlé poznámky" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "Obecné volby" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Zpřístupnění" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "Pomůcky pro zpřístupnění čtení" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Výkon" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "Ladění výkonu" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "Nastavit prohlížeč" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Prezentace" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "Možnosti prezentačního režimu" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "Volby poznámky" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "Editor" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "Možnosti editoru" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "Najít následující" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 - Prezentace" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "Přepnout obrazovku" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "Obrazovka %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "Ukončit prezentační režim" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Název: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Počet stran: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "Klikněte k zahájení" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "Pozastavit" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "Přehrát" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"Existují dva způsoby, jak opustit prezentační režim. Můžete stisknout " +"klávesu ESC nebo kliknout na ukončovací tlačítko, které se objeví po " +"umístění kurzoru myši do pravého horního rohu. Samozřejmě je také možné " +"použít přepínání oken pomocí Alt + TAB" + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "Probíhá prezentace" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "Neznámý soubor" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "Vlastnosti %1" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "&Písma" + +#: part/propertiesdialog.cpp:145 +#, kde-format +msgid "Reading font information…" +msgstr "" + +#: part/propertiesdialog.cpp:158 +#, kde-format +msgid "&Page Sizes" +msgstr "&Velikosti strany" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "&Extrahovat písmo" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Type 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Type 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "Type 1C (OT)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Type 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType (OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID Type 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID Type 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID Type 0C (OT)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType (OT)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "TeX PK" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "TeX virtual" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "TeX Font Metric" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "TeX FreeType-handled" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "Neznámý" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "Vloženo (podmnožina)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "Plně vloženo" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "Ne" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "Ano (podmnožina)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "Ano" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "[n/a]" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "Neznámé písmo" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "Vloženo: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "Jméno" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "Typ" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "Soubor" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "Strana" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "Velikost" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "Není možné uložit soubor %1." + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "" + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "Zadejte alespoň tři znaky pro filtrování stránek" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "Rozlišovat velikost písmen" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "Souhlasí fráze" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "Souhlasí všechna slova" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "Souhlasí některé ze slov" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "Volby filtru" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, kde-format +msgid "Certificates" +msgstr "Certifikáty" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "Vyberte certifikát, pro podepisování:" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "Vše" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, kde-format +msgid "Only QES certificates" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "Důvod:" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, kde-format +msgid "optional" +msgstr "volitelné" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "Umístění:" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, kde-format +msgid "Background:" +msgstr "Pozadí:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "Vybrat..." + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, kde-format +msgid "Recent backgrounds:" +msgstr "Nedávná pozadí:" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

No annotations

To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
" +msgstr "" +"

Bez poznámek

Pro vytvoření nové poznámky stiskněte " +"F6 nebo vyberte Nástroje -> Poznámky v nabídce.
" + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "Seskupit podle stran" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "Seskupit podle autora" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "Zobrazit poznámky pouze pro aktuální stránku" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "Rozbalit všechny prvky" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "Sbalit všechny prvky" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "Vlastnosti" + +#: part/signaturepartutils.cpp:180 +#, kde-format +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Obrázky (%1)" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "Vyberte obrázek na pozadí" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "Zapomenout obrázek" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "Zapomenout všechny obrázky" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "Zadejte heslo certifikátu" + +#: part/signaturepartutils.cpp:244 +#, kde-format +msgid "Enter document password" +msgstr "Zadejte heslo k dokumentu" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "Uložit podepsaný soubor jako" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "%1_podepsáno.%2" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "Stav platnosti" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "Platnost podpisu:" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "Změny dokumentu:" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "Další informace" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "Podepsal(a):" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "Čas podepsání:" + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "Verze dokumentu" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Revize dokumentu %1 z %2" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:95 +#, kde-format +msgid "View Certificate…" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:97 +#, kde-format +msgid "View in Certificate Manager" +msgstr "Pohled na správce certifikátů" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "Správce certifikátů KDE (kleopatra) nebyl nalezen" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "PGP" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "Zobrazit pouze stránky se záložkou" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "Přehrát" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Pozastavit" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "Zastavit" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "Videa v tomto Okularu nejsou podporována" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "Videa v tomto Okularu nejsou podporována" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "Přid&at…" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, kde-format +msgid "&Edit…" +msgstr "&Upravit…" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "Odst&ranit" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "Posunout nahor&u" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "Posunout &dolů" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "Výchozí nástroje pro kreslení #%1" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "Nástroj se zadaným názvem již existuje. Bude použit výchozí." + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "Duplicitní název" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "Stránka dokumentu, která se má zobrazit" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "Spustit dokument v prezentačním režimu" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "Spustit s dialogem tisku" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "Kontrola \"Unikátní instance\"" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "Nezdvihat okno" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "Najít řetězec textu" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "Nastaví příkaz externího editoru" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "" +"Dokumenty k otevření. Zadejte '-' pro čtení ze standardního vstupu (stdin)." + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "Chyba: Nelze otevřít víz než jeden dokument s přepínačem --unique" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" +"Chyba: Nelze otevřít víz než jeden dokument s přepínačem --presentation" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "Chyba: Nelze otevřít víz než jeden dokument s přepínačem --print" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "Chyba: Nelze otevřít víz než jeden dokument s přepínačem --page" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "Chyba: Nelze otevřít víz než jeden dokument s přepínačem --find" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "Nelze najít komponentu Okular: %1" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "Postranní panel" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" +"Jedna unikátní instance Okularu již běží. Tato instance nebude unikátní." + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "Nelze najít komponentu okular." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"Kliknutím otevřete soubor\n" +"Kliknutím a podržením otevřete nedávný soubor" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"Kliknutím otevřete soubor nebo kliknutím a podržením vyberete " +"nedávný soubor" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "Následující karta" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "Předchozí karta" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "Vrátit zpět zavření karty" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "Zamknout postranní panel" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "Všechny soubory (*)" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "Všechny podporované soubory (%1)" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "Otevřít dokument" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "Potvrdit uzavření" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "Zavřít karty" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "" +"Chystáte se zavřít následující %1 karet. Opravdu si přejete pokračovat?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "Varovat mě při pokusu o uzavření vícero karet" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "&Kopírovat cestu" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "&Otevřít odpovídající složku" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "Zapo&menout tuto položku" + +#: shell/welcomescreen.cpp:137 +#, kde-format +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "Žádné nedávné dokumenty" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "Vítejte v Okularu" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Otevřít dokument..." + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, kde-format +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Nedávné dokumenty" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "Zapomenout všechny" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "Skrýt úvodní obrazovku" + +#~ msgid "Geometry with Comment" +#~ msgstr "Geometrie s komentářem" + +#~ msgid "Geometry" +#~ msgstr "Geometrie" + +#~ msgctxt "Annotation type: contents" +#~ msgid "%1: %2" +#~ msgstr "%1: %2" diff --git a/po/cs/okular_comicbook.po b/po/cs/okular_comicbook.po new file mode 100644 index 0000000..5b3bfd5 --- /dev/null +++ b/po/cs/okular_comicbook.po @@ -0,0 +1,47 @@ +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Vít Pelčák , 2011, 2019. +# Tomáš Chvátal , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_comicbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-08-29 16:24+0200\n" +"Last-Translator: Vit Pelcak \n" +"Language-Team: Czech \n" +"Language: cs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" +"X-Generator: Lokalize 19.08.0\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Lukáš Tinkl, Vít Pelčák,Marián Kyral" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "lukas@kde.org,vit@pelcak.org,mkyral@email.cz" + +#: document.cpp:97 +#, kde-format +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "Nelze otevřít dokument, nebyl nalezen ani unrar ani unarchiver." + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "" +"Verze unraru přítomná ve vašem systému není vhodná pro otevírání knih " +"komiksů." + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "Neznámý formát knihy komiksů." diff --git a/po/cs/okular_djvu.po b/po/cs/okular_djvu.po new file mode 100644 index 0000000..88aca51 --- /dev/null +++ b/po/cs/okular_djvu.po @@ -0,0 +1,94 @@ +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Vít Pelčák , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_djvu\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2011-01-03 15:27+0100\n" +"Last-Translator: Vít Pelčák \n" +"Language-Team: Czech \n" +"Language: cs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Lukáš Tinkl,Marián Kyral" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "lukas@kde.org,mkyral@email.cz" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "Editor" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "Vydavatel" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "Svazek" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "Typ dokumentu" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "Neznámý" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "Soubory komponent" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "Neznámý" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "Jedna strana" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "Přiložený" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "Nepřímo" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "Přiložený (starý)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "Indexovaný (starý)" diff --git a/po/cs/okular_dvi.po b/po/cs/okular_dvi.po new file mode 100644 index 0000000..c3d5cae --- /dev/null +++ b/po/cs/okular_dvi.po @@ -0,0 +1,540 @@ +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# SPDX-FileCopyrightText: 2010, 2011, 2013, 2014, 2019, 2024 Vít Pelčák +# Tomáš Chvátal , 2013. +# Vit Pelcak , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_dvi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-08-16 14:41+0200\n" +"Last-Translator: Vit Pelcak \n" +"Language-Team: Czech \n" +"Language: cs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" +"X-Generator: Lokalize 24.05.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Lukáš Tinkl, Marián Kyral" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "lukas@kde.org,mkyral@email.cz" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

" +msgstr "" +"

Okular nenašel program dvipdfm na vašem počítači. Tento " +"program je nutný pro správné fungování exportu. Stále můžete převézt tento " +"DVI soubor na PDF pomocí tisku programu Okular. Takto vytvořený PDF " +"dokument lze většinou bez problému vytisknout, ale kvalita zobrazení v " +"programu Acrobat Reader bude nižší. Je proto rozumné aktualizovat na " +"nejnovější verzi systému TeX jenž již obsahuje program dvipdfm.

Rada pro popletené systémové administrátory: Okular prohledává cesty " +"uložené v systémové proměnné PATH.

" + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Externí program 'dvipdfm', použitý na export souboru, ohlásil chybu. " +"Můžete se podívat do dialogu Informace o dokumentu, který " +"je v nabídce Soubor, na přesný výpis chyby." + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" +"Tento soubor DVI odkazuje na externí grafické soubory které nejsou ve " +"formátu PostScript a proto nemohou mýt zpracovány programem dvips. " +"Tento program Okular interně používá pro export do PostScriptu. Vámi " +"požadovaná funkcionalita tedy není v této verzi programu Okular dostupná." + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

" +msgstr "" +"

Okular nenašel program dvips na vašem počítači. Tento " +"program je nutný pro správné fungování exportu.

Rada pro popletené " +"systémové administrátory: Okular prohledává cesty uložené v systémové " +"proměnné PATH.

" + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Externí program 'dvips', použitý na export souboru, ohlásil chybu. " +"Můžete se podívat do dialogu Informace o dokumentu, který " +"je v nabídce Soubor, na přesný výpis chyby." + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "Soubor DVI nezačíná předmluvou." + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" +"DVI soubor obsahuje špatnou verzi DVI výstupu pro tento program. Rada: Pokud " +"používáte sázecí systém Omega, použijte speciální program, jako je oxdvi." + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "DVI soubor je vážně poškozen. Okular nenašel postambuli." + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "Patička nezačíná příkazem POST." + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "Patička obsahuje jiný příkaz než FNTDEF." + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "Strana %1 nezačíná příkazem BOP." + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

PATH: %2

" +msgstr "" +"

Externí program pdf2ps nemůže být spuštěn. Proto " +"nemůže být PDF soubor %1 převeden do PostScriptu. Proto nemohou být některé " +"grafické prvky ve vašem dokumentu zobrazeny.

Možné důvody: " +"Program pdf2ps není nainstalován na vašem systému nebo " +"nebyl na zadaných místech nalezen.

Co můžete udělat: Program " +"pdf2ps je obvykle součástí distribuce Ghostscript, " +"interpreteru PostScriptu. Pokud není Ghostscipt na vašem systému " +"nainstalován, můžete jej nyní doinstalovat. Pokud si jste jisti, že je " +"Ghostscript nainstalován, vyzkoušejte spustit pdf2ps z " +"příkazové řádky, aby jste si ověřili, že opravdu funguje.

PATH: %2

" + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

%2

" +msgstr "" +"

Soubor PDF %1 nemůže být zkonvertován do PostScriptu. Proto nemohou " +"být některé grafické prvky ve vašem dokumentu zobrazeny.

Možné " +"důvody: Soubor %1 může být poškozen nebo to není PDF soubor. Toto je " +"výstup použitého programu pdf2ps:

%2

" + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "Soubor poškozen: %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "Ne všechny soubory PostScript šlo do vašeho dokumentu vložit. %1" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "Všechny externí soubory PostScript byly vloženy do vašeho dokumentu." + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "Zadaný soubor '%1' neexistuje." + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "DVI kód použil znak z neznámého písma." + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "DVI kód odkazuje na písmo #%1, které nebylo definováno." + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "Zásobník nebyl prázdný v době, kdy byl nalezen příkaz EOP." + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "Zásobník byl prázdný v době, kdy byl nalezen příkaz POP." + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "DVI kód odkazuje na písmo, které nebylo definováno." + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "Byla provedena neplatná instrukce." + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "Byl nalezen neznámý kód %1." + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "Vkládám %1" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
" +msgstr "" +"Stránka %1: Soubor PDF %2 nemůže být zkonvertován do " +"PostScriptu.
" + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
" +msgstr "Strana %1: hledaný řetězec %2 nebyl nalezen.
" + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "Údaje o velikosti papíru '%1' nelze zpracovat." + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

PATH: %1

%2

" +msgstr "" +"

Okular nenašel všechna písma potřebná pro zobrazení DVI souboru. váš " +"dokument může být nečitelný.

PATH: %1

%2

" + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

PATH: %1

%2

" +msgstr "" +"

Při spuštění programu kpsewhich nastal problém. V důsledku " +"toho, nebyly nalezeny některé soubory s písmy a váš dokument může být " +"nečitelný.
Možný důvod: Program kpsewhich není pravděpodobně " +"nainstalován ve vašem systému, nebo nebyl na zadaných místech nalezen.

PATH: %1

%2

" + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" +"Generování písma programem kpsewhich bylo přerušeno (návratový " +"kód %1, chyba %2). To znamená, že některá písma nebyla nalezena a váš " +"dokument může být nečitelný." + +#: fontpool.cpp:482 +#, kde-format +msgid "Currently generating %1 at %2 dpi…" +msgstr "" + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "Vytvořeno pomocí/Datum" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "Soubor s písmem nenalezen" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "%1 × %2" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "%1 × %2 mm" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "portrét" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "krajina" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" +"Verze programu Ghostview nainstalovaná na tomto počítači neobsahuje žádný " +"ovladač zařízení podporovaný programem Okular. Podpora PostScriptu tedy bude " +"v Okularu vypnuta." + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "" +"... což je dohromady 25 chyb. Další chybová hlášení nebudou vypisována." + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" +"Chyba v DVI souboru '%1' na stránce '%2'. Přístup k neexistující barvě." + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" +"Chybný parametr ve speciálním příkazu epsf.\n" +"Očekáváno racionální číslo %1 za %2." + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"Soubor nenalezen:\n" +" %1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" +"Chyba v DVI souboru '%1' na stránce %2. Nelze interpretovat úhel otočení " +"textu." + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "Speciální příkaz '%1' není implementován." + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" +"Soubor s písmem %1 lze otevřít, ale jeho formát je neznámý a nepodporovaný." + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "Soubor s písmem %1 je poškozen, nelze jej otevřít ani přečíst." + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" +"Knihovna FreeType nahlásila chybu při nastavování šířky znaku pro písmo '%1'." + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "Knihovna FreeType nemůže načíst znak č. %1 z písma '%2'." + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "Knihovna FreeType nemůže zobrazit znak č. %1 z písma '%2'." + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "Znak č. %1 je prázdný." + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "Znak č. %1 z písma '%2' je prázdný." + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "Knihovna FreeType nemůže načíst metriku pro znak č. %1 z písma '%2'." + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "Nelze otevřít soubor s písmem %1." + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "Znak %1 není definován v písmu %2" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "Neočekávaný %1 v PK souboru %2" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "Znak %1 v souboru %2 je příliš veliký" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "Uložen špatný počet bitů: znak %1, písmo %2" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "Špatný pk soubor (%1) - příliš mnoho bitů" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "Písmo má nečtvercový poměr " + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "Nelze najít písmo %1, soubor %2." + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "Chyba kontrolního součtu pro soubor s písmem %1" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "Neznámý formát souboru s písmem %1" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"Kritická chyba.\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" +"\n" +"\n" +"Toto pravděpodobně znamená, že jste buďto nalezli chybu v Okularu,\n" +"nebo byl soubor DVI či pomocné soubory (jako soubory písem,\n" +"nebo soubory virtuálních písem) jsou vážně poškozeny.\n" +"Okular se po této zprávě ukončí. Pokud věříte, že jste objevili\n" +"chybu, nebo že by se za těchto okolností měl Okular chovat lépe,\n" +"prosím nahlaste to." + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "Byl nalezen chybný příkazový bajt v seznamu VF maker: %1" diff --git a/po/cs/okular_epub.po b/po/cs/okular_epub.po new file mode 100644 index 0000000..bced6a7 --- /dev/null +++ b/po/cs/okular_epub.po @@ -0,0 +1,43 @@ +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Vít Pelčák , 2011, 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_epub\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-05-20 10:27+0200\n" +"Last-Translator: Vit Pelcak \n" +"Language-Team: Czech \n" +"Language: cs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" +"X-Generator: Lokalize 1.5\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Klára Cihlářová" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "koty@seznam.cz" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "Chyba při otevírání EPub dokumentu." + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "EPub" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "Nastavení podpůrné vrstvy EPub" diff --git a/po/cs/okular_fax.po b/po/cs/okular_fax.po new file mode 100644 index 0000000..139edd7 --- /dev/null +++ b/po/cs/okular_fax.po @@ -0,0 +1,32 @@ +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Vít Pelčák , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_fax\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-12-15 14:17+0100\n" +"Last-Translator: Vít Pelčák \n" +"Language-Team: Czech \n" +"Language: cs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Vít Pelčák" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "vit@pelcak.org" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "Nelze načíst dokument" diff --git a/po/cs/okular_fictionbook.po b/po/cs/okular_fictionbook.po new file mode 100644 index 0000000..010aedf --- /dev/null +++ b/po/cs/okular_fictionbook.po @@ -0,0 +1,68 @@ +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Vít Pelčák , 2010, 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_fictionbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-05-20 10:27+0200\n" +"Last-Translator: Vit Pelcak \n" +"Language-Team: Czech \n" +"Language: cs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" +"X-Generator: Lokalize 1.5\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Lukáš Tinkl" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "lukas@kde.org" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "Dokument není platný FictionBook" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "Nelze otevřít dokument: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "Dokument není platným archivem ZIP" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "Neplatná struktura dokumentu (chybí hlavní adresář)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "Nenalezen žádný obsah v hlavním dokumentu" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "Neplatný XML dokument: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "FictionBook" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "Nastavení podpůrné vrstvy FictionBook" diff --git a/po/cs/okular_ghostview.po b/po/cs/okular_ghostview.po new file mode 100644 index 0000000..cd9bd8a --- /dev/null +++ b/po/cs/okular_ghostview.po @@ -0,0 +1,76 @@ +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Vít Pelčák , 2011, 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_ghostview\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2017-02-01 16:02+0100\n" +"Last-Translator: Vít Pelčák \n" +"Language-Team: Czech \n" +"Language: cs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" +"X-Generator: Lokalize 2.0\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Lukáš Tinkl,Marián Kyral,David Kolibáč" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "lukas@kde.org,mkyral@email.cz,david@kolibac.cz" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "Používat systémová písma" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"Určuje, zda Ghostscript může používat systémová písma. Pokud není povoleno, " +"jsou použita pouze písma přiložená v dokumentu." + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "Obecná nastavení" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "Po&užívat systémová písma" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Nastavení podpůrné vrstvy Ghostscriptu" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "Verze dokumentu" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "Úroveň jazyka" diff --git a/po/cs/okular_kimgio.po b/po/cs/okular_kimgio.po new file mode 100644 index 0000000..3b1f239 --- /dev/null +++ b/po/cs/okular_kimgio.po @@ -0,0 +1,40 @@ +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Vít Pelčák , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_kimgio\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-06-07 16:36+0200\n" +"Last-Translator: Vít Pelčák \n" +"Language-Team: Czech \n" +"Language: cs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" +"X-Generator: Lokalize 1.1\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Lukáš Tinkl" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "lukas@kde.org" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "Nelze načíst dokument: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" diff --git a/po/cs/okular_markdown.po b/po/cs/okular_markdown.po new file mode 100644 index 0000000..9f5171e --- /dev/null +++ b/po/cs/okular_markdown.po @@ -0,0 +1,53 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Vít Pelčák , 2017, 2018, 2019. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-08-29 16:25+0200\n" +"Last-Translator: Vit Pelcak \n" +"Language-Team: Czech \n" +"Language: cs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" +"X-Generator: Lokalize 19.08.0\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Vít Pelčák" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "vit@pelcak.org" + +#: converter.cpp:59 converter.cpp:93 +#, kde-format +msgid "Failed to open the document" +msgstr "Dokument se nepovedlo otevřít" + +#: converter.cpp:106 converter.cpp:124 +#, kde-format +msgid "Failed to compile the Markdown document." +msgstr "Dokument Markdown se nepovedlo přeložit." + +#: generator_md.cpp:58 +#, kde-format +msgid "Enable SmartyPants formatting" +msgstr "Povolit formátování SmartyPants" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown" +msgstr "Markdown" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown Backend Configuration" +msgstr "Nastavení podpůrné vrstvy Markdown" diff --git a/po/cs/okular_mobi.po b/po/cs/okular_mobi.po new file mode 100644 index 0000000..2ecb687 --- /dev/null +++ b/po/cs/okular_mobi.po @@ -0,0 +1,50 @@ +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Vít Pelčák , 2010, 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_mobi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-05-20 10:27+0200\n" +"Last-Translator: Vit Pelcak \n" +"Language-Team: Czech \n" +"Language: cs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" +"X-Generator: Lokalize 1.5\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Vít Pelčák" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "vit@pelcak.org" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Chyba při otevírání dokumentu Mobipocket." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "" +"Tato kniha je chráněna DRM a může být zobrazena pouze na určeném zařízení" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "Mobipocket" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "Nastavení podpůrné vrstvy Mobipocket" diff --git a/po/cs/okular_poppler.po b/po/cs/okular_poppler.po new file mode 100644 index 0000000..060aff7 --- /dev/null +++ b/po/cs/okular_poppler.po @@ -0,0 +1,386 @@ +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Vít Pelčák , 2010, 2011, 2013, 2014, 2017, 2019. +# Lukáš Tinkl , 2012. +# Tomáš Chvátal , 2012. +# Vit Pelcak , 2021, 2023. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_poppler\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2023-06-29 11:03+0200\n" +"Last-Translator: Vit Pelcak \n" +"Language-Team: Czech \n" +"Language: cs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" +"X-Generator: Lokalize 23.04.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Lukáš Tinkl,David Kolibáč" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "lukas@kde.org,david@kolibac.cz" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "Nikdy" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "Vždy" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "Automaticky" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "Zvýraznit tenké čáry:" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "Ne" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "Plný" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "Tvar" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "Výchozí režim škálování při tisku:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "Vyplnit tisknutelnou oblast" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "Přizpůsobit plné stránce" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "Žádné. Vytisknout v původní velikosti." + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" +"Povolením této volby umožní Okularu kontaktovat servery třetích stran pro " +"kontrolu zda nebyly použité certifikáty od jejich vytvoření odvolány." + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" +"Zkontrolovat odvolání digitálních podpisů certifikátů pomocí serverů třetích " +"stran." + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "Podpůrná vrstva pro podpisy:" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "Databáze certifikátu" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "Výchozí:" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "Vlastní:" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "Dostupné certifikáty" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "Načíst podp&isy" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "PDF možnosti" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "Tisknout poznámky" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "Zahrnout poznámky do vytištěného dokumentu" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"Zahrne poznámky ve vytištěném dokumentu. Pokud si přejete vytisknout původní " +"neanotovaný dokument, můžete tuto funkci vypnout." + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "Vynutit rasterizaci" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "Před tiskem rasterizovat do obrázku" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"Vynutí před tiskem každé strany její rasterizaci do obrázku. To obvykle vede " +"k o něco horším výsledkům, ale dá se to použít při tisku dokumentů, které se " +"netisknou v pořádku." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "Režim škálování pro vytištěné stránky" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "Režim škálování:" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF v. %1.%2" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "Formát" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "Zašifrováno" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "Nezašifrováno" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "Bezpečnost" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "Ano" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "Optimalizováno" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Podepsal: %1\n" +"\n" +"Datum: %2" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "Používám Poppler %1" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" +"Používám Poppler %1\n" +"\n" +"Sestaveno s Poppler %2" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "Nastavení podpůrné vrstvy PDF" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "V dokumentu byly nalezeny chyby. Okular jej nemusí zobrazit správně." + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "Vydáno pro" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "E-mail" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "Datum konce platnosti" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" +"Používáte knihovnu Poppler sestavenou bez podpory NSS.\n" +"Přidání digitálních podpisů z tohoto důvodu není možné" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "Vyžadován restart" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "Pro změnu nastavení adresáře NSS potřebujete restartovat Okular" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter Password" +msgstr "Vložte heslo" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "Zadejte heslo pro otevření %1:" diff --git a/po/cs/okular_tiff.po b/po/cs/okular_tiff.po new file mode 100644 index 0000000..204da86 --- /dev/null +++ b/po/cs/okular_tiff.po @@ -0,0 +1,28 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# Vit Pelcak , 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-07-21 13:41+0200\n" +"Last-Translator: Vit Pelcak \n" +"Language-Team: Czech \n" +"Language: cs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" +"X-Generator: Lokalize 20.04.3\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Vít Pelčák" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "vit@pelcak.org" diff --git a/po/cs/okular_txt.po b/po/cs/okular_txt.po new file mode 100644 index 0000000..d1946cf --- /dev/null +++ b/po/cs/okular_txt.po @@ -0,0 +1,38 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Vit Pelcak , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-05-21 09:30+0200\n" +"Last-Translator: Vit Pelcak \n" +"Language-Team: Czech \n" +"Language: cs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" +"X-Generator: Lokalize 1.5\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Vít Pelčák" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "vit@pelcak.org" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "TXT" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "Nastavení podpůrné vrstvy TXT" diff --git a/po/cs/okular_xps.po b/po/cs/okular_xps.po new file mode 100644 index 0000000..1e7025f --- /dev/null +++ b/po/cs/okular_xps.po @@ -0,0 +1,33 @@ +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Vít Pelčák , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_xps\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2011-10-11 11:13+0200\n" +"Last-Translator: Vít Pelčák \n" +"Language-Team: Czech \n" +"Language: cs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" +"X-Generator: Lokalize 1.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Lukáš Tinkl" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "lukas@kde.org" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "Revize" diff --git a/po/cs/org.kde.active.documentviewer.po b/po/cs/org.kde.active.documentviewer.po new file mode 100644 index 0000000..f4668af --- /dev/null +++ b/po/cs/org.kde.active.documentviewer.po @@ -0,0 +1,205 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Vit Pelcak , 2012, 2013, 2018, 2021, 2022, 2023. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2023-02-03 13:47+0100\n" +"Last-Translator: Vit Pelcak \n" +"Language-Team: Czech \n" +"Language: cs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" +"X-Generator: Lokalize 22.12.1\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "Záložky" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "Prohlížeč certifikátů" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "Vydal" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "Obecný název (CN):" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "E-mail:" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "Organizace:" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "Vydáno pro" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "Platnost" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "Vydáno dne:" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "Platný do:" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "Otisky" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "Otisk SHA-1:" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "Otisk SHA-256:" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +msgid "Export…" +msgstr "Exportovat…" + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "Zavřít" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "Soubor s certifikátem (*.cer)" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "Chyba" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "Certifikát nelze exportovat." + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "Okular" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "Otevřít…" + +#: ui/Main.qml:49 +msgid "About" +msgstr "O aplikaci" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "Je potřeba heslo" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "Smazat záložku" + +#: ui/MainView.qml:29 +msgid "Bookmark this page" +msgstr "Přidat stránku do záložek" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "Náhledy" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "Obsah" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "Podpisy" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "Vlastnosti podpisu" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "Stav platnosti" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "Platnost podpisu:" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "Změny dokumentu:" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "Další informace" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "Podepsal(a):" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "Čas podepsání:" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "Důvod:" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "Umístění:" + +#: ui/SignaturePropertiesPage.qml:96 +msgid "Document Version" +msgstr "Verze dokumentu" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Revize dokumentu %1 z %2" + +#: ui/SignaturePropertiesPage.qml:108 +msgid "Save Signed Version…" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +msgid "View Certificate…" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "Podpis nelze uložit." + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "Nedostupný" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "Nenalezeny žádné výsledky." + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "Není otevřen žádný dokument" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "" + +#: ui/WelcomeView.qml:108 +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "" diff --git a/po/cy/okular.po b/po/cy/okular.po new file mode 100644 index 0000000..425de9c --- /dev/null +++ b/po/cy/okular.po @@ -0,0 +1,6351 @@ +msgid "" +msgstr "" +"Project-Id-Version: ../cy/messages//kdegraphics/kpdf.po\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2004-09-20 15:44+0200\n" +"Last-Translator: Thierry Vignaud \n" +"Language-Team: cy \n" +"Language: cy\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "KD wrth KGyfieithu" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kyfieithu@dotmon.com" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "" + +#: aboutdata.h:36 +#, fuzzy, kde-format +msgid "Annotations artwork" +msgstr "&Priodweddau" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "" + +#: aboutdata.h:37 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "Table selection tool" +msgstr "&Erfyn Dethol" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "" + +#: aboutdata.h:38 +#, fuzzy, kde-format +msgid "Annotation improvements" +msgstr "&Priodweddau" + +#: core/action.cpp:137 +#, fuzzy, kde-format +#| msgid "Page %1" +msgid "Go to page %1" +msgstr "Tudalen %1" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "" + +#: core/action.cpp:197 +#, kde-format +msgid "Execute '%1'…" +msgstr "" + +#: core/action.cpp:294 +#, fuzzy, kde-format +#| msgid "Fit to &Page" +msgid "First Page" +msgstr "Ffitio &i Dudalen" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "" + +#: core/action.cpp:300 +#, fuzzy, kde-format +msgid "Last Page" +msgstr "Tudalennau" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "" + +#: core/action.cpp:304 +#, fuzzy, kde-format +#| msgid "Format" +msgid "Forward" +msgstr "Fformat" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "" + +#: core/action.cpp:308 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Start Presentation" +msgstr "Cyflwyniad" + +#: core/action.cpp:310 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "End Presentation" +msgstr "Cyflwyniad" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, fuzzy, kde-format +msgid "Go To Page…" +msgstr "Tudalennau" + +#: core/action.cpp:365 +#, kde-format +msgid "Play sound…" +msgstr "" + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "" + +#: core/action.cpp:483 +#, fuzzy, kde-format +#| msgid "Pages:" +msgid "Play movie…" +msgstr "Tudalennau :" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "" + +#: core/action.cpp:558 +#, fuzzy, kde-format +#| msgid "Pages:" +msgid "Pause movie" +msgstr "Tudalennau :" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
%1 (%2).

Please select which one to use:
" +msgstr "" + +#: core/document.cpp:200 +#, fuzzy, kde-format +#| msgid "Page %1" +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "Tudalen %1" + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "" + +#: core/document.cpp:246 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "" + +#: core/document.cpp:248 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "" + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "Cyflwyniad" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "" + +#: core/document.cpp:4801 +#, fuzzy, kde-format +#| msgid "Page %1" +msgid "Could not open a temporary file" +msgstr "Tudalen %1" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "" + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Teitl" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Pwnc" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "" + +#: core/document.cpp:6011 +#, fuzzy, kde-format +#| msgid "Author" +msgid "Author" +msgstr "Awdur" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Creuwr" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "" + +#: core/document.cpp:6023 +#, fuzzy, kde-format +#| msgid "Pages:" +msgid "Pages" +msgstr "Tudalennau :" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Crëwyd" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Addaswyd" + +#: core/document.cpp:6032 +#, fuzzy, kde-format +#| msgid "Type" +msgid "MIME Type" +msgstr "Math" + +#: core/document.cpp:6035 +#, fuzzy, kde-format +#| msgid "Creator" +msgid "Category" +msgstr "Creuwr" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Allweddeiriau" + +#: core/document.cpp:6041 +#, fuzzy, kde-format +msgid "File Path" +msgstr "Teitl" + +#: core/document.cpp:6044 +#, fuzzy, kde-format +#| msgid "Pages" +msgid "File Size" +msgstr "Tudalennau" + +#: core/document.cpp:6047 +#, fuzzy, kde-format +#| msgid "Pages" +msgid "Page Size" +msgstr "Tudalennau" + +#: core/documentcommands.cpp:62 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "Cyflwyniad" + +#: core/documentcommands.cpp:108 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "Cyflwyniad" + +#: core/documentcommands.cpp:155 +#, fuzzy, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "&Priodweddau" + +#: core/documentcommands.cpp:190 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "Cyflwyniad" + +#: core/documentcommands.cpp:263 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "Cyflwyniad" + +#: core/documentcommands.cpp:333 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "&Erfyn Dethol" + +#: core/documentcommands.cpp:398 +#, fuzzy, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "&Priodweddau" + +#: core/documentcommands.cpp:447 +#, fuzzy, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "&Priodweddau" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "" + +#: core/generator.cpp:790 +#, kde-format +msgid "Plain &Text…" +msgstr "" + +#: core/generator.cpp:793 +#, fuzzy, kde-format +#| msgid "KPDF" +msgid "PDF" +msgstr "KPDF" + +#: core/generator.cpp:797 +#, fuzzy, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "Dogfen i'w hagor" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "" + +#: core/printoptionswidget.cpp:19 +#, fuzzy, kde-format +msgid "Print Options" +msgstr "Dewisiadau Cyffredinol" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "" + +#: core/signatureutils.cpp:504 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" + +#: core/signatureutils.cpp:506 +#, kde-format +msgid "Unknown signing error" +msgstr "" + +#: core/sourcereference.cpp:103 +#, fuzzy, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Teitl" + +#: core/textdocumentsettings.cpp:34 +#, fuzzy, kde-format +#| msgid "Random Transition" +msgid "&Default Font:" +msgstr "Trawsnewid ar Hap" + +#: gui/certificatemodel.cpp:39 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Version" +msgstr "Dogfen i'w hagor" + +#: gui/certificatemodel.cpp:41 +#, fuzzy, kde-format +#| msgid "Pages" +msgid "Serial Number" +msgstr "Tudalennau" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "" + +#: gui/certificatemodel.cpp:49 +#, fuzzy, kde-format +#| msgid "Subject" +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Pwnc" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "" + +#: gui/certificatemodel.cpp:53 +#, fuzzy, kde-format +#| msgid "Memory Usage" +msgid "Key Usage" +msgstr "Defnydd Cof" + +#: gui/certificatemodel.cpp:72 +#, fuzzy, kde-format +#| msgid "%1:" +msgid "V%1" +msgstr "%1 :" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "" + +#: gui/certificatemodel.cpp:146 +#, fuzzy, kde-format +#| msgid "&Properties" +msgid "Property" +msgstr "&Priodweddau" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, fuzzy, kde-format +#| msgid "Overwrite" +msgid "Typewriter" +msgstr "Trosysgrifo" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +msgid "Arrow with Comment" +msgstr "&Priodweddau" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "" + +#: gui/guiutils.cpp:59 +#, fuzzy, kde-format +msgid "Straight Line with Comment" +msgstr "&Priodweddau" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "" + +#: gui/guiutils.cpp:63 +#, fuzzy, kde-format +msgid "Polygon with Comment" +msgstr "&Priodweddau" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "Rectangle with Comment" +msgstr "&Erfyn Dethol" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "Ellipse with Comment" +msgstr "&Erfyn Dethol" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "" + +#: gui/guiutils.cpp:83 +#, fuzzy, kde-format +msgid "Highlight with Comment" +msgstr "&Priodweddau" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "" + +#: gui/guiutils.cpp:87 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "Squiggle with Comment" +msgstr "&Erfyn Dethol" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "" + +#: gui/guiutils.cpp:91 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "Underline with Comment" +msgstr "&Erfyn Dethol" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "" + +#: gui/guiutils.cpp:95 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "Strike Out with Comment" +msgstr "&Erfyn Dethol" + +#: gui/guiutils.cpp:95 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "Strike Out" +msgstr "&Erfyn Dethol" + +#: gui/guiutils.cpp:102 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "Stamp with Comment" +msgstr "&Erfyn Dethol" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "" + +#: gui/guiutils.cpp:106 +#, fuzzy, kde-format +msgid "Freehand Line with Comment" +msgstr "&Priodweddau" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "" + +#: gui/guiutils.cpp:110 +#, fuzzy, kde-format +#| msgid "Creator" +msgid "Caret" +msgstr "Creuwr" + +#: gui/guiutils.cpp:114 +#, fuzzy, kde-format +msgid "File Attachment" +msgstr "&Priodweddau" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "" + +#: gui/guiutils.cpp:122 +#, fuzzy, kde-format +#| msgid "Modified" +msgid "Movie" +msgstr "Addaswyd" + +#: gui/guiutils.cpp:126 +#, fuzzy, kde-format +#| msgid "Created" +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Crëwyd" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Annotation" +msgstr "Cyflwyniad" + +#: gui/guiutils.cpp:168 +#, fuzzy, kde-format +#| msgid "Unknown" +msgctxt "Unknown author" +msgid "Unknown" +msgstr "Anhysbys" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Awdur: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "" + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "" + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "" + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "" + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "" + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "" + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "" + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "" + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "" + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "" + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "" + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "" + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "" + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "" + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "" + +#: gui/signatureguiutils.cpp:96 +#, fuzzy, kde-format +#| msgid "Unknown" +msgid "Unknown Algorithm" +msgstr "Anhysbys" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, fuzzy, kde-format +#| msgid "Unknown" +msgid "Unknown Type" +msgstr "Anhysbys" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr "" + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "" + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "" + +#: gui/signatureguiutils.cpp:208 +#, kde-format +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "" + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "" + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "" + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" + +#: gui/signaturemodel.cpp:141 +#, fuzzy, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "&Priodweddau" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "" + +#: gui/signaturemodel.cpp:172 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgid "Reason: %1" +msgstr "Tudalennau : %1" + +#: gui/signaturemodel.cpp:177 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Location: %1" +msgstr "Cyflwyniad" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "" + +#: gui/signaturemodel.cpp:193 +#, fuzzy, kde-format +#| msgid "Unknown" +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "Anhysbys" + +#: gui/signaturemodel.cpp:195 +#, fuzzy, kde-format +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "&Priodweddau" + +#: gui/signaturemodel.cpp:201 +#, fuzzy, kde-format +msgid "Signature Type: %1" +msgstr "&Priodweddau" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "" + +#: part/annotationactionhandler.cpp:151 +#, fuzzy, kde-format +#| msgid "Created" +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "Crëwyd" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, fuzzy, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "Ffitio i &Led Tudalen" + +#: part/annotationactionhandler.cpp:252 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1 :" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:308 +#, fuzzy, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "&Priodweddau" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "" + +#: part/annotationactionhandler.cpp:314 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Cyflwyniad" + +#: part/annotationactionhandler.cpp:316 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "Cyflwyniad" + +#: part/annotationactionhandler.cpp:318 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Cyflwyniad" + +#: part/annotationactionhandler.cpp:322 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Cyflwyniad" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "" + +#: part/annotationactionhandler.cpp:328 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "Cyflwyniad" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" + +#: part/annotationactionhandler.cpp:341 +#, fuzzy, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "&Priodweddau" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "" + +#: part/annotationactionhandler.cpp:499 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgctxt "@title:window" +msgid "Select color" +msgstr "&Erfyn Dethol" + +#: part/annotationactionhandler.cpp:552 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "&Annotations" +msgstr "Cyflwyniad" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "" + +#: part/annotationactionhandler.cpp:554 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Cyflwyniad" + +#: part/annotationactionhandler.cpp:557 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "&Priodweddau" + +#: part/annotationactionhandler.cpp:558 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "&Erfyn Dethol" + +#: part/annotationactionhandler.cpp:559 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "&Erfyn Dethol" + +#: part/annotationactionhandler.cpp:560 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "&Erfyn Dethol" + +#: part/annotationactionhandler.cpp:562 +#, fuzzy, kde-format +#| msgid "Overwrite" +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Trosysgrifo" + +#: part/annotationactionhandler.cpp:563 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "&Priodweddau" + +#: part/annotationactionhandler.cpp:564 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "&Priodweddau" + +#: part/annotationactionhandler.cpp:565 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "&Priodweddau" + +#: part/annotationactionhandler.cpp:567 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "&Priodweddau" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "" + +#: part/annotationactionhandler.cpp:569 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "&Priodweddau" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "" + +#: part/annotationactionhandler.cpp:638 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Cyflwyniad" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "" + +#: part/annotationactionhandler.cpp:651 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Quick Annotation Bar" +msgstr "Cyflwyniad" + +#: part/annotationactionhandler.cpp:665 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "Cyflwyniad" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "" + +#: part/annotationactionhandler.cpp:669 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "Cyflwyniad" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "" + +#: part/annotationactionhandler.cpp:681 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "&Priodweddau" + +#: part/annotationactionhandler.cpp:684 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "Ffitio i &Led Tudalen" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "" + +#: part/annotationactionhandler.cpp:696 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1 :" + +#: part/annotationmodel.cpp:320 +#, fuzzy, kde-format +#| msgid "Page %1" +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "Tudalen %1" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "Tudalen %1" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "Cyflwyniad" +msgstr[1] "Cyflwyniad" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Ychwanegu Tudnod" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Text to Clipboard" +msgstr "Copïo i'r Gludfwrdd" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "&Priodweddau" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "Cadw i Ffeil..." + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:59 +#, fuzzy, kde-format +#| msgid "General" +msgid "&General" +msgstr "Cyffredinol" + +#: part/annotationpropertiesdialog.cpp:64 +#, fuzzy, kde-format +#| msgid "Author" +msgid "&Author:" +msgstr "Awdur" + +#: part/annotationpropertiesdialog.cpp:69 +#, fuzzy, kde-format +#| msgid "Created" +msgid "Created:" +msgstr "Crëwyd" + +#: part/annotationpropertiesdialog.cpp:74 +#, fuzzy, kde-format +#| msgid "Modified" +msgid "Modified:" +msgstr "Addaswyd" + +#: part/annotationpropertiesdialog.cpp:108 +#, fuzzy, kde-format +msgid "Pop-up Note Properties" +msgstr "&Priodweddau" + +#: part/annotationpropertiesdialog.cpp:111 +#, fuzzy, kde-format +msgid "Typewriter Properties" +msgstr "&Priodweddau" + +#: part/annotationpropertiesdialog.cpp:113 +#, fuzzy, kde-format +msgid "Inline Note Properties" +msgstr "&Priodweddau" + +#: part/annotationpropertiesdialog.cpp:119 +#, fuzzy, kde-format +msgid "Straight Line Properties" +msgstr "&Priodweddau" + +#: part/annotationpropertiesdialog.cpp:121 +#, fuzzy, kde-format +msgid "Polygon Properties" +msgstr "&Priodweddau" + +#: part/annotationpropertiesdialog.cpp:125 +#, fuzzy, kde-format +msgid "Geometry Properties" +msgstr "&Priodweddau" + +#: part/annotationpropertiesdialog.cpp:128 +#, fuzzy, kde-format +msgid "Text Markup Properties" +msgstr "&Priodweddau" + +#: part/annotationpropertiesdialog.cpp:131 +#, fuzzy, kde-format +msgid "Stamp Properties" +msgstr "&Priodweddau" + +#: part/annotationpropertiesdialog.cpp:134 +#, fuzzy, kde-format +msgid "Freehand Line Properties" +msgstr "&Priodweddau" + +#: part/annotationpropertiesdialog.cpp:137 +#, fuzzy, kde-format +msgid "Caret Properties" +msgstr "&Priodweddau" + +#: part/annotationpropertiesdialog.cpp:140 +#, fuzzy, kde-format +msgid "File Attachment Properties" +msgstr "&Priodweddau" + +#: part/annotationpropertiesdialog.cpp:143 +#, fuzzy, kde-format +msgid "Sound Properties" +msgstr "&Priodweddau" + +#: part/annotationpropertiesdialog.cpp:146 +#, fuzzy, kde-format +msgid "Movie Properties" +msgstr "&Priodweddau" + +#: part/annotationpropertiesdialog.cpp:149 +#, fuzzy, kde-format +msgid "Annotation Properties" +msgstr "&Priodweddau" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%1 :" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "" + +#: part/annotationwidgets.cpp:363 +#, fuzzy, kde-format +#| msgid "Icon" +msgid "Icon:" +msgstr "Eicon" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "" + +#: part/annotationwidgets.cpp:421 +#, fuzzy, kde-format +msgid "Final" +msgstr "Teitl" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "" + +#: part/annotationwidgets.cpp:428 +#, fuzzy, kde-format +#| msgid "Add Bookmark" +msgid "Bookmark" +msgstr "Ychwanegu Tudnod" + +#: part/annotationwidgets.cpp:429 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Information" +msgstr "Cyflwyniad" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, fuzzy, kde-format +msgid "&Width:" +msgstr "Ffitio i &Led Tudalen" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "" + +#: part/annotationwidgets.cpp:531 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "Leader line length:" +msgstr "&Erfyn Dethol" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Shape fill:" +msgstr "Cadw i Ffeil..." + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, fuzzy, kde-format +#| msgid "Type" +msgid "Type:" +msgstr "Math" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "" + +#: part/annotationwidgets.cpp:745 +#, fuzzy, kde-format +msgid "File attachment symbol:" +msgstr "&Priodweddau" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "" + +#: part/annotationwidgets.cpp:760 +#, fuzzy, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "Teitl" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "" + +#: part/annotationwidgets.cpp:773 +#, fuzzy, kde-format +#| msgid "Name" +msgid "Name:" +msgstr "Enw" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, fuzzy, kde-format +msgid "Options" +msgstr "Dewisiadau Cyffredinol" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "" + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "" + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "" + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "" + +#: part/bookmarklist.cpp:116 +#, fuzzy, kde-format +#| msgid "Add Bookmark" +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "Ychwanegu Tudnod" +msgstr[1] "Ychwanegu Tudnod" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, fuzzy, kde-format +#| msgid "Add Bookmark" +msgid "Bookmarks" +msgstr "Ychwanegu Tudnod" + +#: part/bookmarklist.cpp:136 +#, fuzzy, kde-format +msgid "Show for all documents" +msgstr "Dogfen i'w hagor" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, kde-format +msgid "Search…" +msgstr "" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, kde-format +msgid "Expand All" +msgstr "" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, kde-format +msgid "Collapse All" +msgstr "" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, fuzzy, kde-format +#| msgid "Add Bookmark" +msgid "Rename Bookmark" +msgstr "Ychwanegu Tudnod" + +#: part/bookmarklist.cpp:299 +#, fuzzy, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Dogfen i'w hagor" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "" + +#: part/certificateviewer.cpp:50 +#, kde-format +msgid "Export…" +msgstr "" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "Cyffredinol" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "" + +#: part/colormodemenu.cpp:21 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "&Erfyn Dethol" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "" + +#: part/colormodemenu.cpp:41 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "&Erfyn Dethol" + +#: part/colormodemenu.cpp:42 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "Lliw'r cefndir:" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, fuzzy, kde-format +#| msgid "Created" +msgid "Green" +msgstr "Crëwyd" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, fuzzy, kde-format +msgid "Yellow Highlighter" +msgstr "&Priodweddau" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, fuzzy, kde-format +msgid "Green Highlighter" +msgstr "&Priodweddau" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "" + +#: part/dlgaccessibility.cpp:60 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "&Erfyn Dethol" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "" + +#: part/dlgaccessibility.cpp:87 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Lliw'r cefndir:" + +#: part/dlgaccessibility.cpp:99 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Lliw'r cefndir:" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "" + +#: part/dlgaccessibility.cpp:119 +#, fuzzy, kde-format +#| msgid "Threshold:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "Trothwy :" + +#: part/dlgaccessibility.cpp:127 +#, fuzzy, kde-format +#| msgid "Contrast:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Cyferbyniant :" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "" + +#: part/dlgannotations.cpp:25 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Cyflwyniad" + +#: part/dlgannotations.cpp:26 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Cyflwyniad" + +#: part/dlgannotations.cpp:28 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Cyflwyniad" + +#: part/dlgannotations.cpp:34 +#, fuzzy, kde-format +#| msgid "Author" +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "Awdur" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" + +#: part/dlgannotations.cpp:48 +#, fuzzy, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

Quick Annotation Tools

" +msgstr "&Priodweddau" + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "" + +#: part/dlgeditor.cpp:31 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Teitl" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
\n" +"You can also put few placeholders:\n" +"
    \n" +"
  • %f - the file name
  • \n" +"
  • %l - the line of the file to be reached
  • \n" +"
  • %c - the column of the file to be reached
  • \n" +"
\n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "" + +#: part/dlggeneral.cpp:92 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "Lliw'r cefndir:" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "" + +#: part/dlggeneral.cpp:148 +#, fuzzy, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "Dogfen i'w hagor" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, fuzzy, kde-format +#| msgid "Overwrite" +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "Trosysgrifo" + +#: part/dlggeneral.cpp:220 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%1 :" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "" + +#: part/dlggeneral.cpp:228 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%1 :" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "" + +#: part/dlggeneral.cpp:233 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "Ffitio i &Led Tudalen" + +#: part/dlggeneral.cpp:234 +#, fuzzy, kde-format +#| msgid "Fit to &Page" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "Ffitio &i Dudalen" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" + +#: part/dlggeneral.cpp:241 +#, fuzzy, kde-format +#| msgid "Random Transition" +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "Trawsnewid ar Hap" + +#: part/dlgperformance.cpp:26 +#, fuzzy, kde-format +#| msgid "Random Transition" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "Trawsnewid ar Hap" + +#: part/dlgperformance.cpp:28 +#, fuzzy, kde-format +#| msgid "&Page:" +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "&Tudalen :" + +#: part/dlgperformance.cpp:35 +#, fuzzy, kde-format +#| msgid "&Low" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "I&sel" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "" + +#: part/dlgperformance.cpp:38 +#, fuzzy, kde-format +#| msgid "Created" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "Crëwyd" + +#: part/dlgperformance.cpp:40 +#, fuzzy, kde-format +#| msgid "Memory Usage" +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "Defnydd Cof" + +#: part/dlgperformance.cpp:54 +#, fuzzy, kde-format +#| msgid "Random Transition" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "Trawsnewid ar Hap" + +#: part/dlgperformance.cpp:56 +#, fuzzy, kde-format +#| msgid "General Options" +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "Dewisiadau Cyffredinol" + +#: part/dlgperformance.cpp:59 +#, fuzzy, kde-format +#| msgid "Random Transition" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "Trawsnewid ar Hap" + +#: part/dlgperformance.cpp:64 +#, fuzzy, kde-format +#| msgid "Random Transition" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "Trawsnewid ar Hap" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" + +#: part/dlgpresentation.cpp:38 +#, fuzzy, kde-format +#| msgid " sec." +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] "eil." +msgstr[1] "eil." + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "" + +#: part/dlgpresentation.cpp:63 +#, fuzzy, kde-format +#| msgid "Navigation" +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Llywio" + +#: part/dlgpresentation.cpp:72 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "Lliw'r cefndir:" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "" + +#: part/dlgpresentation.cpp:102 +#, fuzzy, kde-format +#| msgid "Random Transition" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "Trawsnewid ar Hap" + +#: part/dlgpresentation.cpp:103 +#, fuzzy, kde-format +#| msgid "Blinds Vertical" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "Cysgodlenni Fertigol" + +#: part/dlgpresentation.cpp:104 +#, fuzzy, kde-format +#| msgid "Blinds Horizontal" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "Cysgodlenni Llorweddol" + +#: part/dlgpresentation.cpp:105 +#, fuzzy, kde-format +#| msgid "Box In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "Blwch i Mewn" + +#: part/dlgpresentation.cpp:106 +#, fuzzy, kde-format +#| msgid "Box Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "Blwch Allan" + +#: part/dlgpresentation.cpp:107 +#, fuzzy, kde-format +#| msgid "Dissolve" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "Hydoddi" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "" + +#: part/dlgpresentation.cpp:112 +#, fuzzy, kde-format +#| msgid "Blinds Horizontal" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "Cysgodlenni Llorweddol" + +#: part/dlgpresentation.cpp:113 +#, fuzzy, kde-format +#| msgid "Blinds Horizontal" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "Cysgodlenni Llorweddol" + +#: part/dlgpresentation.cpp:114 +#, fuzzy, kde-format +#| msgid "Blinds Vertical" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "Cysgodlenni Fertigol" + +#: part/dlgpresentation.cpp:115 +#, fuzzy, kde-format +#| msgid "Blinds Vertical" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "Cysgodlenni Fertigol" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "" + +#: part/dlgpresentation.cpp:121 +#, fuzzy, kde-format +#| msgid "Random Transition" +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Trawsnewid ar Hap" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

Drawing Tools

" +msgstr "" + +#: part/dlgpresentation.cpp:171 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Dogfen i'w hagor" + +#: part/dlgpresentation.cpp:172 +#, fuzzy, kde-format +#| msgid "Random Transition" +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Trawsnewid ar Hap" + +#: part/dlgpresentation.cpp:178 +#, fuzzy, kde-format +#| msgid "Created" +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "Crëwyd" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, fuzzy, kde-format +#| msgid "Name" +msgid "&Name:" +msgstr "Enw" + +#: part/editannottooldialog.cpp:69 +#, fuzzy, kde-format +#| msgid "Type" +msgid "&Type:" +msgstr "Math" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "" + +#: part/editannottooldialog.cpp:93 +#, fuzzy, kde-format +#| msgid "Add Bookmark" +msgid "Text markup" +msgstr "Ychwanegu Tudnod" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "" + +#: part/editannottooldialog.cpp:101 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Create annotation tool" +msgstr "Cyflwyniad" + +#: part/editannottooldialog.cpp:103 +#, fuzzy, kde-format +msgid "Edit annotation tool" +msgstr "&Priodweddau" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "" + +#: part/editdrawingtooldialog.cpp:58 +#, fuzzy, kde-format +msgid "&Pen Width:" +msgstr "Ffitio i &Led Tudalen" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "" + +#: part/editdrawingtooldialog.cpp:79 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Create drawing tool" +msgstr "Cyflwyniad" + +#: part/editdrawingtooldialog.cpp:84 +#, fuzzy, kde-format +msgid "Edit drawing tool" +msgstr "&Priodweddau" + +#: part/embeddedfilesdialog.cpp:42 +#, fuzzy, kde-format +#| msgid "Unknown" +msgctxt "Unknown date" +msgid "Unknown" +msgstr "Anhysbys" + +#: part/embeddedfilesdialog.cpp:48 +#, fuzzy, kde-format +#| msgid "Created" +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Crëwyd" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "" + +#: part/embeddedfilesdialog.cpp:70 +#, fuzzy, kde-format +#| msgid "Name" +msgctxt "@title:column" +msgid "Name" +msgstr "Enw" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "" + +#: part/embeddedfilesdialog.cpp:72 +#, fuzzy, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "Teitl" + +#: part/embeddedfilesdialog.cpp:73 +#, fuzzy, kde-format +#| msgid "Created" +msgctxt "@title:column" +msgid "Created" +msgstr "Crëwyd" + +#: part/embeddedfilesdialog.cpp:74 +#, fuzzy, kde-format +#| msgid "Modified" +msgctxt "@title:column" +msgid "Modified" +msgstr "Addaswyd" + +#: part/embeddedfilesdialog.cpp:154 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "Cadw i Ffeil..." + +#: part/embeddedfilesdialog.cpp:155 +#, kde-format +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "" + +#: part/findbar.cpp:38 +#, fuzzy, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "Teitl" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "" + +#: part/findbar.cpp:58 +#, fuzzy, kde-format +#| msgid "Add Bookmark" +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Ychwanegu Tudnod" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "" + +#: part/findbar.cpp:66 +#, fuzzy, kde-format +#| msgid "Case Sensitive" +msgid "Case sensitive" +msgstr "Mae llythrennau mawr/bach o bwys" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "" + +#: part/findbar.cpp:70 +#, fuzzy, kde-format +#| msgid "Find stopped." +msgid "Find as you type" +msgstr "Arhosodd y canfod." + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, fuzzy, kde-format +msgid "Signature Properties" +msgstr "&Priodweddau" + +#: part/ktreeviewsearchline.cpp:283 +#, fuzzy, kde-format +msgid "Search Options" +msgstr "Dewisiadau Cyffredinol" + +#: part/ktreeviewsearchline.cpp:284 +#, fuzzy, kde-format +#| msgid "Case Sensitive" +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "Mae llythrennau mawr/bach o bwys" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "" + +#: part/pageview.cpp:557 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "Trim To &Selection" +msgstr "&Erfyn Dethol" + +#: part/pageview.cpp:563 +#, fuzzy, kde-format +msgid "Fit &Width" +msgstr "Ffitio i &Led Tudalen" + +#: part/pageview.cpp:567 +#, fuzzy, kde-format +#| msgid "Fit to &Page" +msgid "Fit &Page" +msgstr "Ffitio &i Dudalen" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "" + +#: part/pageview.cpp:575 +#, fuzzy, kde-format +#| msgid "Fit to &Page" +msgid "Fit Wi&ndow to Page" +msgstr "Ffitio &i Dudalen" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "" + +#: part/pageview.cpp:594 +#, fuzzy, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "Teitl" + +#: part/pageview.cpp:595 +#, fuzzy, kde-format +#| msgid "Fit to &Page" +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "Ffitio &i Dudalen" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "" + +#: part/pageview.cpp:599 +#, fuzzy, kde-format +#| msgid "Overwrite" +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "Trosysgrifo" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "" + +#: part/pageview.cpp:627 +#, fuzzy, kde-format +msgid "&Browse" +msgstr "Erfyn &Chwyddo" + +#: part/pageview.cpp:635 +#, fuzzy, kde-format +#| msgid "&Zoom Tool" +msgid "&Zoom" +msgstr "Erfyn &Chwyddo" + +#: part/pageview.cpp:655 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "Area &Selection" +msgstr "&Erfyn Dethol" + +#: part/pageview.cpp:662 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "&Text Selection" +msgstr "&Erfyn Dethol" + +#: part/pageview.cpp:669 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "T&able Selection" +msgstr "&Erfyn Dethol" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "" + +#: part/pageview.cpp:685 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgctxt "@action" +msgid "Selection Tools" +msgstr "&Erfyn Dethol" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "" + +#: part/pageview.cpp:717 +#, fuzzy, kde-format +msgid "Speak Whole Document" +msgstr "Dogfen i'w hagor" + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "Sgrolio i fyny" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Sgrolio i lawr" + +#: part/pageview.cpp:761 +#, fuzzy, kde-format +#| msgid "Scroll Up" +msgid "Scroll Page Up" +msgstr "Sgrolio i fyny" + +#: part/pageview.cpp:767 +#, fuzzy, kde-format +#| msgid "Scroll Down" +msgid "Scroll Page Down" +msgstr "Sgrolio i lawr" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] "" +msgstr[1] "" + +#: part/pageview.cpp:2526 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Table Contents to Clipboard" +msgstr "Copïo i'r Gludfwrdd" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "" +msgstr[1] "" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "Copïo i'r Gludfwrdd" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "" + +#: part/pageview.cpp:2863 +#, kde-format +msgid "Image (%1 × %2 pixels)" +msgstr "" + +#: part/pageview.cpp:2865 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save to File…" +msgstr "Cadw i Ffeil..." + +#: part/pageview.cpp:2885 +#, kde-format +msgid "Image [%1 × %2] copied to clipboard." +msgstr "" + +#: part/pageview.cpp:2888 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save file" +msgstr "Cadw i Ffeil..." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "" + +#: part/pageview.cpp:2901 +#, kde-format +msgid "Image [%1 × %2] saved to %3 file." +msgstr "" + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "" + +#: part/pageview.cpp:3062 +#, fuzzy, kde-format +#| msgid "Page %1" +msgid "Go to '%1'" +msgstr "Tudalen %1" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, fuzzy, kde-format +msgid "Fit Width" +msgstr "Ffitio i &Led Tudalen" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "" + +#: part/pageview.cpp:4107 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1 :" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "" + +#: part/pageview.cpp:4404 +#, kde-format +msgid "Configure Web Shortcuts…" +msgstr "" + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Croeso" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "" + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "" + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "" + +#: part/pageview.cpp:5158 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "Select text" +msgstr "&Erfyn Dethol" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" + +#: part/pageview.cpp:5188 +#, kde-format +msgid "No valid certificates" +msgstr "" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, kde-format +msgid "Open Certificate Manager" +msgstr "" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
Launch Certificate Manager " +"to import or manage certificates
For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, kde-format +msgid "No certificates found" +msgstr "" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgid "Author" +msgid "Author name" +msgstr "Awdur" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Author name for the annotation:" +msgstr "Cyflwyniad" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1392 +#, fuzzy, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "&Priodweddau" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "" + +#: part/pageviewannotator.cpp:1404 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "&Erfyn Dethol" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "" + +#: part/pageviewannotator.cpp:1410 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "&Erfyn Dethol" + +#: part/pageviewannotator.cpp:1412 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "&Erfyn Dethol" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1473 +#, fuzzy, kde-format +msgid "Highlighter" +msgstr "&Priodweddau" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Add favorite annotation" +msgstr "Cyflwyniad" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Custom annotation name:" +msgstr "Cyflwyniad" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, fuzzy, kde-format +msgid "&File" +msgstr "Teitl" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, fuzzy, kde-format +#| msgid "P&resentation" +msgid "&Orientation" +msgstr "C&yflwyniad" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, fuzzy, kde-format +#| msgid "Add Bookmark" +msgid "&Bookmarks" +msgstr "Ychwanegu Tudnod" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Rhagolygon cryno" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Annotations" +msgstr "Cyflwyniad" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "" + +#: part/part.cpp:662 +#, fuzzy, kde-format +#| msgid "Add Bookmark" +msgctxt "Previous page" +msgid "Previous" +msgstr "Ychwanegu Tudnod" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "" + +#: part/part.cpp:707 +#, fuzzy, kde-format +#| msgid "Add Bookmark" +msgid "Rename the current bookmark" +msgstr "Ychwanegu Tudnod" + +#: part/part.cpp:711 +#, fuzzy, kde-format +#| msgid "Add Bookmark" +msgid "Previous Bookmark" +msgstr "Ychwanegu Tudnod" + +#: part/part.cpp:713 +#, fuzzy, kde-format +#| msgid "Add Bookmark" +msgid "Go to the previous bookmark" +msgstr "Ychwanegu Tudnod" + +#: part/part.cpp:717 +#, fuzzy, kde-format +#| msgid "Add Bookmark" +msgid "Next Bookmark" +msgstr "Ychwanegu Tudnod" + +#: part/part.cpp:719 +#, fuzzy, kde-format +#| msgid "Add Bookmark" +msgid "Go to the next bookmark" +msgstr "Ychwanegu Tudnod" + +#: part/part.cpp:748 +#, kde-format +msgid "Configure Okular…" +msgstr "" + +#: part/part.cpp:751 +#, kde-format +msgid "Configure Viewer…" +msgstr "" + +#: part/part.cpp:757 +#, kde-format +msgid "Configure Viewer Backends…" +msgstr "" + +#: part/part.cpp:759 +#, kde-format +msgid "Configure Backends…" +msgstr "" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "" + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "" + +#: part/part.cpp:813 +#, fuzzy, kde-format +#| msgid "Pages" +msgid "Page Number" +msgstr "Tudalennau" + +#: part/part.cpp:817 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "Cyflwyniad" + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "" + +#: part/part.cpp:886 +#, fuzzy, kde-format +msgid "Show &Signatures Panel" +msgstr "Llywio" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "C&yflwyniad" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "" + +#: part/part.cpp:945 +#, kde-format +msgid "&Import PostScript as PDF…" +msgstr "" + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "" + +#: part/part.cpp:957 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Erase Drawing" +msgstr "Cyflwyniad" + +#: part/part.cpp:962 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Configure Annotations…" +msgstr "Cyflwyniad" + +#: part/part.cpp:967 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Play/Pause Presentation" +msgstr "Cyflwyniad" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" + +#: part/part.cpp:1123 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Document can't be saved" +msgstr "Dogfen i'w hagor" + +#: part/part.cpp:1152 +#, fuzzy, kde-format +#| msgid "Page %1" +msgid "Could not open '%1' (%2) " +msgstr "Tudalen %1" + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "" + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "" + +#: part/part.cpp:1357 +#, kde-format +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "" + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "" + +#: part/part.cpp:1491 +#, fuzzy, kde-format +msgid "Incorrect password. Try again:" +msgstr "Cyfrinair anghywir" + +#: part/part.cpp:1502 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Document Password" +msgstr "Dogfen i'w hagor" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "" + +#: part/part.cpp:1739 +#, fuzzy, kde-format +msgid "Enter Presentation Mode" +msgstr "Cyflwyniad" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "" + +#: part/part.cpp:1830 +#, fuzzy, kde-format +#| msgid "Page %1" +msgid "Could not open %1. %2" +msgstr "Tudalen %1" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "" + +#: part/part.cpp:1883 +#, fuzzy, kde-format +msgid "Close Document" +msgstr "Dogfen i'w hagor" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" + +#: part/part.cpp:2113 part/part.cpp:2131 +#, fuzzy, kde-format +msgid "Reloading the document…" +msgstr "Dogfen i'w hagor" + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "&Tudalen :" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "" + +#: part/part.cpp:2506 +#, fuzzy, kde-format +#| msgid "Add Bookmark" +msgid "Rename this Bookmark" +msgstr "Ychwanegu Tudnod" + +#: part/part.cpp:2509 +#, fuzzy, kde-format +#| msgid "Add Bookmark" +msgid "Remove this Bookmark" +msgstr "Ychwanegu Tudnod" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save As" +msgstr "Cadw i Ffeil..." + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
Do you want to continue?" +msgstr "" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "" + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
Do you want to continue?" +msgstr "" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "" + +#: part/part.cpp:2766 +#, fuzzy, kde-format +msgid "Filled form contents" +msgstr "&Priodweddau" + +#: part/part.cpp:2769 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "User annotations" +msgstr "Cyflwyniad" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Expand Whole Section" +msgstr "Cyflwyniad" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Collapse Whole Section" +msgstr "Cyflwyniad" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Offer" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "" + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" + +#: part/part.cpp:3803 +#, fuzzy, kde-format +#| msgid "Add Bookmark" +msgid "No Bookmarks" +msgstr "Ychwanegu Tudnod" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&Ewch" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, fuzzy, kde-format +msgid "&Tools" +msgstr "Offer" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Annotation Toolbar" +msgstr "Cyflwyniad" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Quick Annotation Toolbar" +msgstr "Cyflwyniad" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "Dewisiadau Cyffredinol" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Hygyrchedd" + +#: part/preferencesdialog.cpp:42 +#, fuzzy, kde-format +#| msgid "Accessibility" +msgid "Accessibility Reading Aids" +msgstr "Hygyrchedd" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Perfformiad " + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Cyflwyniad" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "" + +#: part/preferencesdialog.cpp:50 +#, fuzzy, kde-format +msgid "Annotation Options" +msgstr "&Priodweddau" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, fuzzy, kde-format +msgid "Editor Options" +msgstr "Dewisiadau Cyffredinol" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "" + +#: part/presentationwidget.cpp:174 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "Cyflwyniad" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "" + +#: part/presentationwidget.cpp:233 +#, fuzzy, kde-format +#| msgid "Created" +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "Crëwyd" + +#: part/presentationwidget.cpp:240 +#, fuzzy, kde-format +msgid "Exit Presentation Mode" +msgstr "Cyflwyniad" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Teitl: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Tudalennau : %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "" + +#: part/presentationwidget.cpp:521 +#, fuzzy, kde-format +#| msgid "Pages:" +msgctxt "For Presentation" +msgid "Pause" +msgstr "Tudalennau :" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" + +#: part/presentationwidget.cpp:1718 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "Cyflwyniad" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "" + +#: part/propertiesdialog.cpp:63 +#, fuzzy, kde-format +msgid "%1 Properties" +msgstr "&Priodweddau" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1 :" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "" + +#: part/propertiesdialog.cpp:145 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Reading font information…" +msgstr "Cyflwyniad" + +#: part/propertiesdialog.cpp:158 +#, fuzzy, kde-format +#| msgid "&Page:" +msgid "&Page Sizes" +msgstr "&Tudalen :" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "" + +#: part/propertiesdialog.cpp:273 +#, fuzzy, kde-format +#| msgid "Type" +msgid "Type 1" +msgstr "Math" + +#: part/propertiesdialog.cpp:276 +#, fuzzy, kde-format +#| msgid "Type" +msgid "Type 1C" +msgstr "Math" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "" + +#: part/propertiesdialog.cpp:282 +#, fuzzy, kde-format +#| msgid "Type" +msgid "Type 3" +msgstr "Math" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType:" + +#: part/propertiesdialog.cpp:288 +#, fuzzy, kde-format +#| msgid "TrueType" +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType:" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "" + +#: part/propertiesdialog.cpp:300 +#, fuzzy, kde-format +#| msgid "TrueType" +msgid "CID TrueType" +msgstr "TrueType:" + +#: part/propertiesdialog.cpp:303 +#, fuzzy, kde-format +#| msgid "TrueType" +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "TrueType:" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "" + +#: part/propertiesdialog.cpp:318 +#, fuzzy, kde-format +#| msgid "Unknown" +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "Anhysbys" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "" + +#: part/propertiesdialog.cpp:385 +#, fuzzy, kde-format +#| msgid "Unknown" +msgid "Unknown font" +msgstr "Anhysbys" + +#: part/propertiesdialog.cpp:391 +#, fuzzy, kde-format +#| msgid "Created" +msgid "Embedded: %1" +msgstr "Crëwyd" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "Enw" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "Math" + +#: part/propertiesdialog.cpp:430 +#, fuzzy, kde-format +msgid "File" +msgstr "Teitl" + +#: part/propertiesdialog.cpp:498 +#, fuzzy, kde-format +#| msgid "Pages:" +msgid "Page" +msgstr "Tudalennau :" + +#: part/propertiesdialog.cpp:501 +#, fuzzy, kde-format +msgid "Size" +msgstr "Teitl" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "" + +#: part/revisionviewer.cpp:56 +#, fuzzy, kde-format +#| msgid "Page %1" +msgid "Could not save file %1." +msgstr "Tudalen %1" + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "" + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "Mae llythrennau mawr/bach o bwys" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "" + +#: part/searchwidget.cpp:72 +#, fuzzy, kde-format +msgid "Filter Options" +msgstr "Dewisiadau Cyffredinol" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, kde-format +msgid "Certificates" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, kde-format +msgid "Only QES certificates" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, fuzzy, kde-format +msgid "optional" +msgstr "Dewisiadau Cyffredinol" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Location:" +msgstr "Cyflwyniad" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, fuzzy, kde-format +#| msgid "Background color:" +msgid "Background:" +msgstr "Lliw'r cefndir:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, fuzzy, kde-format +#| msgid "Background color:" +msgid "Recent backgrounds:" +msgstr "Lliw'r cefndir:" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

No annotations

To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
" +msgstr "" + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "" + +#: part/signaturepanel.cpp:101 +#, fuzzy, kde-format +#| msgid "&Properties" +msgid "Properties" +msgstr "&Priodweddau" + +#: part/signaturepartutils.cpp:180 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Tudalennau : %1" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "" + +#: part/signaturepartutils.cpp:244 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Enter document password" +msgstr "Dogfen i'w hagor" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:63 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Additional Information" +msgstr "Cyflwyniad" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:83 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Document Version" +msgstr "Dogfen i'w hagor" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:95 +#, kde-format +msgid "View Certificate…" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:97 +#, kde-format +msgid "View in Certificate Manager" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "" + +#: part/videowidget.cpp:146 +#, fuzzy, kde-format +#| msgid "Pages:" +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Tudalennau :" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, kde-format +msgid "&Edit…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "" + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "" + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "" + +#: shell/shell.cpp:588 +#, fuzzy, kde-format +#| msgid "Add Bookmark" +msgid "Previous Tab" +msgstr "Ychwanegu Tudnod" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "" + +#: shell/shell.cpp:708 +#, fuzzy, kde-format +msgid "Open Document" +msgstr "Dogfen i'w hagor" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "" + +#: shell/shell.cpp:833 +#, fuzzy, kde-format +#| msgid "" +#| "A file named \"%1\" already exists. Are you sure you want to overwrite it?" +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "" +"Mae ffeil o'r enw \"%1\" mewn bod eisoes. Ydych wir eisiau ysgrifennu " +"drosti?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "" + +#: shell/welcomescreen.cpp:137 +#, fuzzy, kde-format +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "Dogfen i'w hagor" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, fuzzy, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Dogfen i'w hagor" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, fuzzy, kde-format +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Dogfen i'w hagor" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "" + +#, fuzzy +#~ msgid "Geometry with Comment" +#~ msgstr "&Priodweddau" + +#, fuzzy +#~| msgid "Modified" +#~ msgid "Modified: %1" +#~ msgstr "Addaswyd" + +#, fuzzy +#~| msgid "Save to File..." +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "Cadw i Ffeil..." + +#, fuzzy +#~| msgid "Unknown" +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "Anhysbys" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%1 :" + +#, fuzzy +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "Ffitio i &Led Tudalen" + +#, fuzzy +#~| msgid "Format" +#~ msgid "Form" +#~ msgstr "Fformat" + +#, fuzzy +#~| msgid "Add Bookmark" +#~ msgid "Remove Bookmarks" +#~ msgstr "Ychwanegu Tudnod" + +#, fuzzy +#~| msgid "Presentation" +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "Cyflwyniad" + +#, fuzzy +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "&Priodweddau" + +#, fuzzy +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "&Priodweddau" + +#, fuzzy +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "&Priodweddau" + +#, fuzzy +#~ msgid "Highlight in Yellow" +#~ msgstr "&Priodweddau" + +#, fuzzy +#~ msgid "Highlight in Green" +#~ msgstr "&Priodweddau" + +#, fuzzy +#~| msgid "&Select Tool" +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "&Erfyn Dethol" + +#, fuzzy +#~| msgid "&Select Tool" +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "&Erfyn Dethol" + +#, fuzzy +#~| msgid "&Select Tool" +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "&Erfyn Dethol" + +#, fuzzy +#~| msgid "Presentation" +#~ msgid "Bookmark annotation" +#~ msgstr "Cyflwyniad" + +#, fuzzy +#~| msgid "Random Transition" +#~ msgctxt "@option:check Config dialog, presentation page, transitions" +#~ msgid "Enable transitions" +#~ msgstr "Trawsnewid ar Hap" + +#, fuzzy +#~| msgid "Background color:" +#~ msgctxt "@label:listbox Config dialog, general page" +#~ msgid "Custom background color:" +#~ msgstr "Lliw'r cefndir:" + +#, fuzzy +#~| msgid "Author" +#~ msgid "Au&thor:" +#~ msgstr "Awdur" + +#, fuzzy +#~ msgid "View Options" +#~ msgstr "Dewisiadau Cyffredinol" + +#~ msgid "Navigation" +#~ msgstr "Llywio" + +#, fuzzy +#~ msgid "Show &Navigation Panel" +#~ msgstr "Llywio" + +#, fuzzy +#~| msgid "Icon" +#~ msgid "Large Icons" +#~ msgstr "Eicon" + +#, fuzzy +#~| msgid "Created" +#~ msgid "Created: %1" +#~ msgstr "Crëwyd" + +#, fuzzy +#~| msgid "Title" +#~ msgid "Style" +#~ msgstr "Teitl" + +#, fuzzy +#~ msgid "&Size:" +#~ msgstr "Teitl" + +#, fuzzy +#~| msgid "Pages: %1" +#~ msgid "Name: %1" +#~ msgstr "Tudalennau : %1" + +#, fuzzy +#~ msgid "Size: %1" +#~ msgstr "Teitl" + +#, fuzzy +#~ msgid "&Browse Tool" +#~ msgstr "Erfyn &Chwyddo" + +#, fuzzy +#~| msgid "&Select Tool" +#~ msgctxt "Select Tool" +#~ msgid "Selection" +#~ msgstr "&Erfyn Dethol" + +#, fuzzy +#~| msgid "&Select Tool" +#~ msgid "&Text Selection Tool" +#~ msgstr "&Erfyn Dethol" + +#, fuzzy +#~| msgid "&Select Tool" +#~ msgid "T&able Selection Tool" +#~ msgstr "&Erfyn Dethol" + +#, fuzzy +#~ msgid "Presentation Mode" +#~ msgstr "Cyflwyniad" + +#, fuzzy +#~ msgid "Allow the presentation mode" +#~ msgstr "Cyflwyniad" + +#, fuzzy +#~ msgid "Do not allow the presentation mode" +#~ msgstr "Cyflwyniad" + +#, fuzzy +#~| msgid "Save to File..." +#~ msgid "Save &Copy As..." +#~ msgstr "Cadw i Ffeil..." + +#~ msgid "" +#~ "End of document reached.\n" +#~ "Continue from the beginning?" +#~ msgstr "" +#~ " Wedi cyrraedd diwedd y ddogfen.\n" +#~ " Ail-ddechrau o'r dechrau?" + +#, fuzzy +#~| msgid "" +#~| "End of document reached.\n" +#~| "Continue from the beginning?" +#~ msgid "" +#~ "Beginning of document reached.\n" +#~ "Continue from the bottom?" +#~ msgstr "" +#~ " Wedi cyrraedd diwedd y ddogfen.\n" +#~ " Ail-ddechrau o'r dechrau?" + +#, fuzzy +#~ msgid "Current maintainer" +#~ msgstr "Dogfen i'w hagor" + +#~ msgid " sec." +#~ msgstr "eil." + +#, fuzzy +#~ msgid "No document opened." +#~ msgstr "Dogfen i'w hagor" + +#, fuzzy +#~ msgid "Ink Properties" +#~ msgstr "&Priodweddau" + +#, fuzzy +#~| msgid "Presentation" +#~ msgctxt "Annotation tool" +#~ msgid "Text Annotation" +#~ msgstr "Cyflwyniad" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "%1 is \"Title\"" +#~ msgid "%1:" +#~ msgstr "%1 :" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "%1 is \"File Path\"" +#~ msgid "%1:" +#~ msgstr "%1 :" + +#, fuzzy +#~| msgid "Overwrite" +#~ msgctxt "@action:button" +#~ msgid "&Overwrite" +#~ msgstr "Trosysgrifo" + +#~ msgid "Pages:" +#~ msgstr "Tudalennau :" + +#, fuzzy +#~| msgid "&Properties" +#~ msgid "&Properties..." +#~ msgstr "&Priodweddau" + +#, fuzzy +#~| msgid "Contrast:" +#~ msgid "Contents:" +#~ msgstr "Cyferbyniant :" + +#, fuzzy +#~ msgid "Hide &Navigation Panel" +#~ msgstr "Llywio" + +#, fuzzy +#~| msgid "Page %1" +#~ msgid "page %1" +#~ msgstr "Tudalen %1" + +#, fuzzy +#~| msgid "General" +#~ msgid "DlgGeneral" +#~ msgstr "Cyffredinol" + +#, fuzzy +#~| msgid "Pages:" +#~ msgid "flags:" +#~ msgstr "Tudalennau :" + +#~ msgid "Clear filter" +#~ msgstr "Gwagio hidlen" + +#~ msgid "Fit to Page &Width" +#~ msgstr "Ffitio i &Led Tudalen" + +#~ msgid "Starting -- find text as you type" +#~ msgstr "Dechrau -- canfod testun wrth deipio" + +#~ msgid "Security" +#~ msgstr "Diogelwch" + +#~ msgid "unknown" +#~ msgstr "anhysbys" + +#~ msgid "-" +#~ msgstr "-" + +#~ msgid "Text found: \"%1\"." +#~ msgstr "Canfuwyd y testun: \"%1\"." + +#~ msgid "Text not found: \"%1\"." +#~ msgstr "Ni chanfuwyd y testun: \"%1\"." diff --git a/po/da/okular.po b/po/da/okular.po new file mode 100644 index 0000000..9c65ea8 --- /dev/null +++ b/po/da/okular.po @@ -0,0 +1,7203 @@ +# Danish translation of okular +# Copyright (C) 2008 This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Erik Kjær Pedersen , 2002, 2003, 2004, 2005, 2006. +# Erik K. Pedersen , 2005, 2008. +# Rune Rønde Møller , 2008. +# Martin Schlander , 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2016, 2017, 2018, 2019, 2020. +# Anders Lund , 2009. +# Claus Christensen , 2012. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-07-27 23:20+0200\n" +"Last-Translator: Martin Schlander \n" +"Language-Team: Danish \n" +"Language: da\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 20.04.2\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Erik Kjær Pedersen,Rune Rønde Møller,Martin Schlander" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "erik@binghamton.edu,runermoeller@gmail.com,mschlander@opensuse.org" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Okular, en universel dokumentfremviser" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "Tidligere vedligeholder" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, fuzzy, kde-format +#| msgid "Lots of framework work, ODT and FictionBook backends" +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "Masser af arbejde på arkitektur, ODF og FictionBook dokumentmotorerne" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "Udvikler" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymanski" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "Skabte Okular fra KPDF-kodebasen" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "Enrico Ros" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "KPDF-udvikler" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "Eugene Trounev" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "Annotationsgrafik" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "Jiri Baum - NICTA" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "Værktøj til tabelmarkering" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "Fabio D'Urso" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "Forbedringer af annotationer" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "Gå til side %1" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "Åbn ekstern fil" + +#: core/action.cpp:197 +#, fuzzy, kde-format +#| msgid "Execute '%1'..." +msgid "Execute '%1'…" +msgstr "Kør '%1'..." + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "Første side" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "Forrige side" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "Næste side" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "Sidste side" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "Tilbage" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "Frem" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Luk" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "Start præsentation" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "Afslut præsentation" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go To Page…" +msgstr "Gå til side" + +#: core/action.cpp:365 +#, fuzzy, kde-format +#| msgid "Play sound..." +msgid "Play sound…" +msgstr "Afspil lyd..." + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "JavaScript-script" + +#: core/action.cpp:483 +#, fuzzy, kde-format +#| msgid "Play movie" +msgid "Play movie…" +msgstr "Afspil film" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "Afspil film" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "Stop film" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "Sæt film på pause" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "Genoptag film" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "Valg af dokumentmotor" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
%1 (%2).

Please select which one to use:
" +msgstr "" +"Mere end én dokumentmotor blev fundet for mimetypen:
%1 (%2)." +"

Markér den du vil benytte:
" + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "De fleste sider er %1." + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "Stående %1" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "Liggende %1" + +#: core/document.cpp:246 +#, fuzzy, kde-format +#| msgctxt "%1 is width, %2 is height, %3 is paper size name" +#| msgid "%1 x %2 in (%3)" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 x %2 tommer (%3)" + +#: core/document.cpp:248 +#, fuzzy, kde-format +#| msgctxt "%1 is width, %2 is height, %3 is paper size name" +#| msgid "%1 x %2 mm (%3)" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 x %2 mm (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "Fortsætter søgning fra begyndelsen" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "Fortsætter søgning fra bunden" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "Kan ikke finde et plugin, der kan håndtere dokument som angives." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "fjern annotationer" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"Dokumentet forsøger at køre et eksternt program og for din sikkerheds skyld, " +"vil Okular ikke tillade dette." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "Intet program fundet til at åbne filer af mimetype %1." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "Kunne ikke åbne midlertidig fil" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "Konvertering af udskrift mislykkedes" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "Udskriftsprocessen brød sammen" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "Udskriftsprocessen kunne ikke starte" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "Udskrift til fil mislykkedes" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "Printeren var i ugyldig tilstand" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "Kan ikke finde fil til udskrift" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "Der var ingen fil at udskrive" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"Kunne ikke finde en passende kørbar fil til udskrift. Sørg for at CUPS-" +"programmet lpr er tilgængeligt" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "Sidens udskriftsstørrelse er ugyldig" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "Kunne ikke åbne \"%1\". Filen findes ikke." + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Titel" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Emne" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Beskrivelse" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "Forfatter" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Ophavsmand" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Producent" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "Ophavsret" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "Sider" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Oprettet" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Ændret" + +#: core/document.cpp:6032 +#, fuzzy, kde-format +#| msgid "Mime Type" +msgid "MIME Type" +msgstr "Mimetype" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "Kategori" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Nøgleord" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "Filsti" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "Filstørrelse" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "Sidestørrelse" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "tilføj annotation" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "fjern annotation" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "ændr egenskaber for annotationer" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "oversæt annotation" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "justér annotation" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "redigér tekst" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "redigér annotationsindhold" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "redigér formularindhold" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "redigér listeformular-valg" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "redigér komboformular-valg" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "redigér formularknap-tilstande" + +#: core/generator.cpp:790 +#, fuzzy, kde-format +#| msgid "Plain &Text..." +msgid "Plain &Text…" +msgstr "&Klartekst..." + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "OpenDocument tekst" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "Udskriftsindstillinger" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "Tilpas muligt udskriftsområde" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "Tilpas til hel side" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "Skaleringstilstand:" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "Vis ikke denne besked igen" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "Ikke tilgængelig" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" + +#: core/signatureutils.cpp:498 +#, fuzzy, kde-kuit-format +#| msgctxt "@info" +#| msgid "Could not load the file %1" +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "Kunne ikke indlæse filen %1" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "" + +#: core/signatureutils.cpp:504 +#, fuzzy, kde-kuit-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "Fil kunne ikke gemmes til '%1'. Prøv at gem den et andet sted." + +#: core/signatureutils.cpp:506 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown signing error" +msgstr "Ukendt fil" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Kilde: %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "Stan&dard-skrifttype:" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "Version" + +#: gui/certificatemodel.cpp:41 +#, kde-format +msgid "Serial Number" +msgstr "Serienummer" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "Udsteder" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "Udstedt den" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "Udløber den" + +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Emne" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "Offentlige nøgle" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "Brug af nøgle" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "V%1" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "%1 (%2 bit)" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "Egenskab" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "Værdi" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "Pop-op note" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "Skrivemaskine" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "Indlejret note" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +#| msgid "Polygon with Comment" +msgid "Arrow with Comment" +msgstr "Polygon med kommentar" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, fuzzy, kde-format +#| msgctxt "@action:intoolbar Annotation tool" +#| msgid "Arrow" +msgid "Arrow" +msgstr "Pil" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "Lige linje med kommentar" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "Lige linje" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "Polygon med kommentar" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "Polygon" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgid "Stamp with Comment" +msgid "Rectangle with Comment" +msgstr "Frimærke med kommentar" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "Rektangel" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgid "Underline with Comment" +msgid "Ellipse with Comment" +msgstr "Understreg med kommentar" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "Ellipse" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "Fremhæv med kommentar" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "Fremhævning" + +#: gui/guiutils.cpp:87 +#, kde-format +msgid "Squiggle with Comment" +msgstr "Bølgelinje med kommentar" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "Bølgelinje" + +#: gui/guiutils.cpp:91 +#, kde-format +msgid "Underline with Comment" +msgstr "Understreg med kommentar" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "Understregning" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out with Comment" +msgstr "Overstreg med kommentar" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "Overstreget" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "Frimærke med kommentar" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "Frimærke" + +#: gui/guiutils.cpp:106 +#, kde-format +msgid "Freehand Line with Comment" +msgstr "Frihåndslinje med kommentar" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "Frihåndslinje" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "Korrekturmærke" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "Filbilag" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "Lyd" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "Film" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Skærm" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "Kontrol" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "Rige medier" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation" +msgstr "Annotation" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "Ukendt" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Forfatter: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "Hvor vil du gemme %1?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "Kunne ikke åbne \"%1\" til skrivning. Filen blev ikke gemt." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "Signaturen er kryptografisk gyldig." + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "Signaturen er kryptografisk ugyldig." + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "" + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "" + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "" + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "" + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "Certifikatet er betroet." + +#: gui/signatureguiutils.cpp:62 +#, fuzzy, kde-format +#| msgid "Certificate is Trusted." +msgid "Certificate issuer isn't Trusted." +msgstr "Certifikatet er betroet." + +#: gui/signatureguiutils.cpp:64 +#, fuzzy, kde-format +#| msgid "Certificate is Trusted." +msgid "Certificate issuer is unknown." +msgstr "Certifikatet er betroet." + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "Certifikatet er blevet sat ud af kraft." + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "Certifikatet er udløbet." + +#: gui/signatureguiutils.cpp:70 +#, fuzzy, kde-format +#| msgid "Certificate has been Revoked." +msgid "Certificate has not yet been verified." +msgstr "Certifikatet er blevet sat ud af kraft." + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "" + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "MD2" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "MD5" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "SHA1" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "SHA256" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "SHA384" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "SHA512" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "SHA224" + +#: gui/signatureguiutils.cpp:96 +#, fuzzy, kde-format +#| msgid "Unknown font" +msgid "Unknown Algorithm" +msgstr "Ukendt skrifttype" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "RSA" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "DSA" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "EC" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "Ukendt type" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "Digital signatur" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "Kryptér nøgler" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "Afkryptér nøgler" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "Nøgleaftale" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "Signér certifikat" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "Signér CRL" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "Kun kryptering" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr ", " + +#: gui/signatureguiutils.cpp:165 +#, fuzzy, kde-format +#| msgid "This document is digitally signed." +msgid "The document has not been modified since it was signed." +msgstr "Dette dokument er digitalt signeret." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "" + +#: gui/signatureguiutils.cpp:208 +#, fuzzy, kde-format +#| msgid "This document is digitally signed." +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "Dette dokument er digitalt signeret." + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "Dette dokument er digitalt signeret." + +#: gui/signatureguiutils.cpp:213 +#, fuzzy, kde-format +#| msgid "This document is digitally signed." +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "Dette dokument er digitalt signeret." + +#: gui/signatureguiutils.cpp:216 +#, fuzzy, kde-format +#| msgid "This document is digitally signed." +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "Dette dokument er digitalt signeret." + +#: gui/signaturemodel.cpp:141 +#, fuzzy, kde-format +#| msgid "Signatures" +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "Signaturer" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "Årsag: %1" + +#: gui/signaturemodel.cpp:177 +#, fuzzy, kde-format +#| msgid "Location:" +msgid "Location: %1" +msgstr "Placering:" + +#: gui/signaturemodel.cpp:185 +#, fuzzy, kde-format +#| msgid "Signatures" +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "Signaturer" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "" + +#: gui/signaturemodel.cpp:193 +#, fuzzy, kde-format +#| msgctxt "Unknown author" +#| msgid "Unknown" +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "Ukendt" + +#: gui/signaturemodel.cpp:195 +#, fuzzy, kde-format +#| msgid "Signature Properties" +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "Signaturegenskaber" + +#: gui/signaturemodel.cpp:201 +#, fuzzy, kde-format +#| msgid "Signatures" +msgid "Signature Type: %1" +msgstr "Signaturer" + +#: part/annotationactionhandler.cpp:148 +#, fuzzy, kde-format +#| msgid "Red" +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "Rød" + +#: part/annotationactionhandler.cpp:149 +#, fuzzy, kde-format +#| msgid "Orange" +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "Orange" + +#: part/annotationactionhandler.cpp:150 +#, fuzzy, kde-format +#| msgid "Yellow" +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "Gul" + +#: part/annotationactionhandler.cpp:151 +#, fuzzy, kde-format +#| msgid "Green" +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "Grøn" + +#: part/annotationactionhandler.cpp:152 +#, fuzzy, kde-format +#| msgid "Cyan" +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "Cyan" + +#: part/annotationactionhandler.cpp:153 +#, fuzzy, kde-format +#| msgid "Blue" +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "Blå" + +#: part/annotationactionhandler.cpp:154 +#, fuzzy, kde-format +#| msgid "Magenta" +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "Magenta" + +#: part/annotationactionhandler.cpp:155 +#, fuzzy, kde-format +#| msgid "White" +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "Hvid" + +#: part/annotationactionhandler.cpp:156 +#, fuzzy, kde-format +#| msgid "Gray" +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "Grå" + +#: part/annotationactionhandler.cpp:157 +#, fuzzy, kde-format +#| msgid "Black" +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "Sort" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "Bredde %1" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1%" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:308 +#, fuzzy, kde-format +#| msgid "Annotation Options" +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Indstillinger for kommentarer" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "" + +#: part/annotationactionhandler.cpp:314 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Kommentarværktøjer" + +#: part/annotationactionhandler.cpp:316 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "Kommentarværktøjer" + +#: part/annotationactionhandler.cpp:318 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Kommentarværktøjer" + +#: part/annotationactionhandler.cpp:322 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Kommentarværktøjer" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "" + +#: part/annotationactionhandler.cpp:328 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "Kommentar" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" + +#: part/annotationactionhandler.cpp:341 +#, fuzzy, kde-format +#| msgid "Annotation Options" +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Indstillinger for kommentarer" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "Farve" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "Udfyldningsfarve" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "" + +#: part/annotationactionhandler.cpp:445 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "Custom Color..." +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "Brugerdefineret farve..." + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "Vælg farve" + +#: part/annotationactionhandler.cpp:552 +#, fuzzy, kde-format +#| msgid "Annotations" +msgid "&Annotations" +msgstr "Annotationer" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "Skjul" + +#: part/annotationactionhandler.cpp:554 +#, fuzzy, kde-format +#| msgid "Create annotation tool" +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Opret annotationsværktøj" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "Fremhævning" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "Understregning" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "Bølgelinje" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "Overstreget" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Skrivemaskine" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "Indlejret note" + +#: part/annotationactionhandler.cpp:564 +#, fuzzy, kde-format +#| msgid "Pop-up Note" +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "Pop-op note" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "Frihåndslinje" + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "Lige linje" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "Pil" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "Rektangel" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "Ellipse" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "Polygon" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "Geometriske form" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "Frimærke" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Hurtige annotationer" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "Vælg et annotationsværktøj fra de hurtige annotationer" + +#: part/annotationactionhandler.cpp:651 +#, fuzzy, kde-format +#| msgctxt "@action:intoolbar Show list of quick annotation tools" +#| msgid "Quick Annotations" +msgid "Quick Annotation Bar" +msgstr "Hurtige annotationer" + +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "Føj til hurtige annotationer" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "Hold aktiv" + +#: part/annotationactionhandler.cpp:669 +#, fuzzy, kde-format +#| msgid "Create annotation tool" +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "Opret kommentarværktøj" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "Skrifttype" + +#: part/annotationactionhandler.cpp:681 +#, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Indstillinger for annotationer" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "Linjebredde" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "Uigennemsigtighed" + +#: part/annotationactionhandler.cpp:696 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1%" + +#: part/annotationmodel.cpp:320 +#, fuzzy, kde-format +#| msgid "Page %1" +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "Side %1" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "Side %1" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "Annotation" +msgstr[1] "%1 annotationer" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "&Åbn pop-op note" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Fjern bogmærke" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Tilføj bogmærke" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Text to Clipboard" +msgstr "Kopiér til udklipsholderen" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "DRM forbyder kopiering" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "&Slet" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "&Egenskaber" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, fuzzy, kde-format +#| msgctxt "%1 is the name of the file to save" +#| msgid "&Save '%1'..." +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "%Gem \"%1\"..." + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "&Udseende" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "&Generelt" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&Forfatter:" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "Oprettet:" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "Ændret:" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "Egenskaber for pop-op-noter" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "Egenskaber for skrivemaskine" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "Egenskaber for indlejrede noter" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "Egenskaber for rette linjer" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "Egenskaber for polygon" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "Egenskaber for figurer" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "Egenskaber for tekstopmærkning" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "Egenskaber for frimærker" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "Egenskaber for frihåndslinje" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "Egenskaber for korrekturmærke" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "Egenskaber for filbilag" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "Egenskaber for lyd" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "Film-egenskaber" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "Egenskaber for annotationer" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Put a stamp symbol" +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "Sæt et frimærkesymbol" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" +"*.ico *.png *.xpm *.svg *.svgz | Ikonfiler (*.ico *.png *.xpm *.svg *.svgz)" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "Kunne ikke indlæse filen %1" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "Ugyldig fil" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&Farve:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%1%" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "&Uigennemsigtighed:" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "Ikon:" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "Kommentar" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "Hjælp" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "Indsæt" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "Tast" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "Nyt afsnit" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "Note" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "Afsnit" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Skrifttype:" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "Tekst&farve:" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "J&ustér:" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "Venstre" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "Centreret" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "Højre" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "Kant&bredde:" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "Godkendt" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "Som nuværende" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "Fortrolig" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "Ministeriel" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "Udkast" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "Eksperimentel" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "Udløbet" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "Endelig" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "Til kommentering" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "Til offentlig udgivelse" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "Ikke godkendt" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "Ikke til offentlig udgivelse" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "Solgt" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "Tophemmelig" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "Bogmærke" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "Information" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "Frimærkesymbol:" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "&Bredde:" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "Linjestart:" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "Linjeslutning:" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "Kvadrat" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "Cirkel" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "Ruder" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "Åben pil" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "Lukket pil" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "Ingen" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "Ende" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "Højre åben pil" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "Højre lukket pil" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "Skråstreg" + +#: part/annotationwidgets.cpp:531 +#, kde-format +msgid "Leader line length:" +msgstr "Registerpunktlængde:" + +#: part/annotationwidgets.cpp:533 +#, fuzzy, kde-format +#| msgid "Leader Line Extensions Length:" +msgid "Leader line extensions length:" +msgstr "Længde af registerpunkts forlængerstykke:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "Aktiveret" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "Udfyldning af form:" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Type:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "Overstreget" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "Symbol for filbilag:" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "Graf" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "Tegnestift" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "Papirclips" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "Tag" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "Fil" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "N/A" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "Ingen beskrivelse tilgængelig." + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "Navn:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "Beskrivelse:" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "Symbol for korrekturmærke:" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "Ingen" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "Luk denne note" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "Indstillinger" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"Denne kommentar kan indeholde LaTeX-kode.\n" +"Klik her for at rendere." + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "Kan ikke finde den kørbare fil latex." + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "LaTeX-rendering mislykkedes" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "Kan ikke finde den kørbare fil dvipng." + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "Der opstod et problem under kørsel af kommandoen \"latex\"." + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "Der opstod et problem under kørsel af kommandoen \"dvipng\"." + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"Et bogmærke" +msgstr[1] "" +"%1\n" +"\n" +"%2 bogmærker" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Bogmærker" + +#: part/bookmarklist.cpp:136 +#, fuzzy, kde-format +#| msgid "End of the document" +msgid "Show for all documents" +msgstr "Dokumentets slutning" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, fuzzy, kde-format +#| msgid "S&earch:" +msgid "Search…" +msgstr "&Søg:" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, fuzzy, kde-format +#| msgid "Expand all" +msgid "Expand All" +msgstr "Fold alle ud" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, fuzzy, kde-format +#| msgid "Collapse all" +msgid "Collapse All" +msgstr "Fold alle sammen" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "Gå til dette bogmærke" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "Omdøb bogmærke" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Åbn dokument" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "Certifikatfremviser" + +#: part/certificateviewer.cpp:50 +#, fuzzy, kde-format +#| msgid "Export..." +msgid "Export…" +msgstr "Eksportér..." + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "Generelt" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "Udstedt af" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "Fælles navn (CN)" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "E-mail" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "Organisation (O)" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "Udstedt til" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "Gyldighed" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "Fingeraftryk" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "SHA-1-fingeraftryk" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "SHA-256-fingeraftryk" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "Detaljer" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "Certifikatdata:" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "Hvor vil du gemme dette certifikat?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "Certifikatfil (*.cer)" + +#: part/certificateviewer.cpp:163 +#, fuzzy, kde-format +#| msgid "Unable to export certificate!" +msgid "Could not export the certificate" +msgstr "Kan ikke eksportere certifikatet!" + +#: part/colormodemenu.cpp:19 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "Farvetilstand:" + +#: part/colormodemenu.cpp:21 +#, fuzzy, kde-format +#| msgid "Change &colors" +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "Skift &farver" + +#: part/colormodemenu.cpp:29 +#, fuzzy, kde-format +#| msgid "Normal Icons" +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "Normale ikoner" + +#: part/colormodemenu.cpp:41 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "Invertér farver" + +#: part/colormodemenu.cpp:42 +#, fuzzy, kde-format +#| msgid "Change Paper Color" +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "Skift papirfarve" + +#: part/colormodemenu.cpp:44 +#, fuzzy, kde-format +#| msgid "Change Dark & Light Colors" +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "Skift mørke og lyse farver" + +#: part/colormodemenu.cpp:46 +#, fuzzy, kde-format +#| msgid "Convert to Black & White" +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "Konvertér til sort og hvidt" + +#: part/colormodemenu.cpp:49 +#, fuzzy, kde-format +#| msgid "Invert Lightness" +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "Invertér lyshed" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "Rød" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "Grøn" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "Blå" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "Gul" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "Sort" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "Hvid" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "Gul fremhævning" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "Grøn fremhævning" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, fuzzy, kde-format +#| msgid "Insert" +msgid "Insert Text" +msgstr "Indsæt" + +#: part/dlgaccessibility.cpp:38 +#, fuzzy, kde-format +#| msgid "Draw border around &Links" +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "Tegn kant rundt om &link" + +#: part/dlgaccessibility.cpp:48 +#, fuzzy, kde-format +#| msgid "Change &colors" +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "Skift &farver" + +#: part/dlgaccessibility.cpp:54 +#, fuzzy, kde-format +#| msgid "Warning: these options can badly affect drawing speed." +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "Advarsel: disse tilvalg kan påvirke tegnehastigheden meget dårligt." + +#: part/dlgaccessibility.cpp:60 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "Invertér farver" + +#: part/dlgaccessibility.cpp:61 +#, fuzzy, kde-format +#| msgid "Change Paper Color" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "Skift papirfarve" + +#: part/dlgaccessibility.cpp:62 +#, fuzzy, kde-format +#| msgid "Change Dark & Light Colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "Skift mørke og lyse farver" + +#: part/dlgaccessibility.cpp:63 +#, fuzzy, kde-format +#| msgid "Convert to Black & White" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "Konvertér til sort og hvidt" + +#: part/dlgaccessibility.cpp:64 +#, fuzzy, kde-format +#| msgid "Invert Lightness" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "Invertér lyshed" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "" + +#: part/dlgaccessibility.cpp:70 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "Farvetilstand:" + +#: part/dlgaccessibility.cpp:87 +#, fuzzy, kde-format +#| msgid "Paper color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Papirfarve:" + +#: part/dlgaccessibility.cpp:99 +#, fuzzy, kde-format +#| msgid "Dark color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Mørk farve:" + +#: part/dlgaccessibility.cpp:104 +#, fuzzy, kde-format +#| msgid "Light color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "Lys farve:" + +#: part/dlgaccessibility.cpp:119 +#, fuzzy, kde-format +#| msgid "Threshold:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "Grænseværdi:" + +#: part/dlgaccessibility.cpp:127 +#, fuzzy, kde-format +#| msgid "Contrast:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Kontrast:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "" + +#: part/dlgaccessibility.cpp:165 +#, fuzzy, kde-format +#| msgid "Text to search for" +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "Søgetekst" + +#: part/dlgannotations.cpp:25 +#, fuzzy, kde-format +#| msgid "Annotation Toolbar" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Annotationsværktøjslinje" + +#: part/dlgannotations.cpp:26 +#, fuzzy, kde-format +#| msgid "Annotation Toolbar" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Annotationsværktøjslinje" + +#: part/dlgannotations.cpp:28 +#, fuzzy, kde-format +#| msgid "Annotation Toolbar" +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Annotationsværktøjslinje" + +#: part/dlgannotations.cpp:34 +#, fuzzy, kde-format +#| msgid "&Author:" +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "&Forfatter:" + +#: part/dlgannotations.cpp:38 +#, fuzzy, kde-format +#| msgid "" +#| "Note: the information here is used only for comments and reviews. " +#| "Information inserted here will not be transmitted without your knowledge." +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"Bemærk: informationen her bruges kun til kommentarer og korrektur. " +"Informationen der indsættes her vil ikke overføres uden dit vidende." + +#: part/dlgannotations.cpp:48 +#, fuzzy, kde-format +#| msgid "Quick annotation tools" +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

Quick Annotation Tools

" +msgstr "Hurtige annotationsværktøjer" + +#: part/dlgeditor.cpp:28 +#, fuzzy, kde-format +#| msgctxt "@info:whatsthis" +#| msgid "" +#| "Choose the editor you want to launch when Okular wants to open a source " +#| "file." +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "Vælg den editor du vil bruge når Okular vil åbne en kildefil." + +#: part/dlgeditor.cpp:29 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Custom Text Editor" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "Brugervalgt teksteditor" + +#: part/dlgeditor.cpp:30 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Kate" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Kile" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "SciTE" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Emacs client" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Emacs-klient" + +#: part/dlgeditor.cpp:34 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Lyx client" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "Lyx-klient" + +#: part/dlgeditor.cpp:35 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "TeXstudio" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "TeXstudio" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "" + +#: part/dlgeditor.cpp:37 +#, fuzzy, kde-format +#| msgid "Editor:" +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "Editor:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
\n" +"You can also put few placeholders:\n" +"
    \n" +"
  • %f - the file name
  • \n" +"
  • %l - the line of the file to be reached
  • \n" +"
  • %c - the column of the file to be reached
  • \n" +"
\n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"Indstil kommandoen for en brugerdefineret teksteditor der skal startes." +"
\n" +"Du kan også indsætte nogle makroer:\n" +"
    \n" +"
  • %f - filnavnet
  • \n" +"
  • %l - linjenummeret der skal navigeres til
  • \n" +"
  • %c - kolonnen der skal navigeres til
  • \n" +"
\n" +"Hvis %f ikke er angivet tilføjes filnavnet til kommandoen." + +#: part/dlgeditor.cpp:63 +#, fuzzy, kde-format +#| msgid "Command:" +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "Kommando:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "" + +#: part/dlggeneral.cpp:37 +#, fuzzy, kde-format +#| msgid "Appearance" +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "Udseende" + +#: part/dlggeneral.cpp:41 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "Vis rulle&bjælker" + +#: part/dlggeneral.cpp:48 +#, fuzzy, kde-format +#| msgid "Link the &thumbnails with the page" +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "Link &miniaturer til siden" + +#: part/dlggeneral.cpp:55 +#, fuzzy, kde-format +#| msgid "Show &hints and info messages" +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "Vis &vink og info-beskeder" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "" + +#: part/dlggeneral.cpp:68 +#, fuzzy, kde-format +#| msgid "Display document title in titlebar if available" +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "Vis dokumenttitel i titellinjen hvis tilgængelig" + +#: part/dlggeneral.cpp:74 +#, fuzzy, kde-format +#| msgid "Display file name only" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "Vis kun filnavnet" + +#: part/dlggeneral.cpp:75 +#, fuzzy, kde-format +#| msgid "Display full file path" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "Vis fuld sti til filen" + +#: part/dlggeneral.cpp:77 +#, fuzzy, kde-format +#| msgid "When not displaying document title:" +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "Når dokumenttitel ikke vises:" + +#: part/dlggeneral.cpp:92 +#, fuzzy, kde-format +#| msgid "Use custom background color" +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "Anvend brugertilpasset baggrundsfarve" + +#: part/dlggeneral.cpp:114 +#, fuzzy, kde-format +#| msgid "Program Features" +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "Programegenskaber" + +#: part/dlggeneral.cpp:121 +#, fuzzy, kde-format +#| msgid "Open new files in &tabs" +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "Åbn nye filer i &faneblade" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "" + +#: part/dlggeneral.cpp:139 +#, fuzzy, kde-format +#| msgid "&Obey DRM limitations" +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "&Adlyd DRM-begrænsninger" + +#: part/dlggeneral.cpp:148 +#, fuzzy, kde-format +#| msgid "&Reload document on file change" +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "&Genindlæs dokument når filen ændres" + +#: part/dlggeneral.cpp:155 +#, fuzzy, kde-format +#| msgid "Show backend selection dialog" +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "Vis dialog til valg af dokumentmotor" + +#: part/dlggeneral.cpp:162 +#, fuzzy, kde-format +#| msgid "Right to left reading direction" +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "Læseretning højre til venstre" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, fuzzy, kde-format +#| msgid "Overview &columns:" +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "Oversigtssøj&ler:" + +#: part/dlggeneral.cpp:220 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%1%" + +#: part/dlggeneral.cpp:221 +#, fuzzy, kde-format +#| msgid "" +#| "Defines how much of the current viewing area will still be visible when " +#| "pressing the Page Up/Down keys." +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" +"Bestemmer hvor meget af det aktuelle visningsområde der stadig vil være " +"synligt ved tryk på tasterne Page Up/Page Down." + +#: part/dlggeneral.cpp:223 +#, fuzzy, kde-format +#| msgid "&Page Up/Down overlap:" +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "Overlap ved &Page Up/Down:" + +#: part/dlggeneral.cpp:228 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%1%" + +#: part/dlggeneral.cpp:232 +#, fuzzy, kde-format +#| msgid "100%" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "100%" + +#: part/dlggeneral.cpp:233 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "Tilpas til bredden" + +#: part/dlggeneral.cpp:234 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "Tilpas side" + +#: part/dlggeneral.cpp:235 +#, fuzzy, kde-format +#| msgid "Auto Fit" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "Autotilpas" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "" + +#: part/dlggeneral.cpp:237 +#, fuzzy, kde-format +#| msgid "" +#| "Defines the default zoom mode for files which were never opened before.\n" +#| "For files which were opened before the previous zoom is applied." +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" +"Bestemmer standard zoomtilstand for filer der aldrig før er blevet åbnet.\n" +"For filer der har været åbnet før anvendes den forrige zoom." + +#: part/dlggeneral.cpp:241 +#, fuzzy, kde-format +#| msgid "&Default Zoom:" +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "Stan&dard-zoom:" + +#: part/dlgperformance.cpp:26 +#, fuzzy, kde-format +#| msgid "Enable &transparency effects" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "Aktivér &gennemsigtighedseffekter" + +#: part/dlgperformance.cpp:28 +#, fuzzy, kde-format +#| msgid "CPU Usage" +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "CPU-forbrug" + +#: part/dlgperformance.cpp:35 +#, fuzzy, kde-format +#| msgid "&Low" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "&Lav" + +#: part/dlgperformance.cpp:36 +#, fuzzy, kde-format +#| msgid "Nor&mal (default)" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "Nor&mal (standard)" + +#: part/dlgperformance.cpp:37 +#, fuzzy, kde-format +#| msgid "Aggr&essive" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "Aggr&essiv" + +#: part/dlgperformance.cpp:38 +#, fuzzy, kde-format +#| msgid "G&reedy" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "G&rådig" + +#: part/dlgperformance.cpp:40 +#, fuzzy, kde-format +#| msgid "Memory Usage" +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "Hukommelsesforbrug" + +#: part/dlgperformance.cpp:54 +#, fuzzy, kde-format +#| msgid "Enable Text Antialias" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "Aktivér antialias på tekst" + +#: part/dlgperformance.cpp:56 +#, fuzzy, kde-format +#| msgid "Rendering" +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "Rendering" + +#: part/dlgperformance.cpp:59 +#, fuzzy, kde-format +#| msgid "Enable Graphics Antialias" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "Aktivér antialias på grafik" + +#: part/dlgperformance.cpp:64 +#, fuzzy, kde-format +#| msgid "Enable Text Hinting" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "Aktivér tekst-hinting" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"Holder hukommelsesforbruget så lavt som muligt. Genbrug ikke noget. (For " +"systemer med lidt hukommelse.)" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"Et godt kompromis mellem hukommelsesforbrug og hastighedsforøgelse. " +"Forudindlæs næste side og gør søgninger hurtigere. (For systemer typisk med " +"2 GB hukommelse.)" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"Holder alting i hukommelsen. Forudindlæs næste side og gør søgninger " +"hurtigere. (For systemer med mere end 4 GB hukommelse.)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" +"Indlæser og beholder alt i hukommelsen. Forudindlæsning af alle sider. " +"(Bruger maksimalt 50% af samlede hukommelse eller ledige hukommelse " +"afhængigt af hvad der er størst.)" + +#: part/dlgpresentation.cpp:38 +#, fuzzy, kde-format +#| msgctxt "Advance every %1 seconds" +#| msgid " second" +#| msgid_plural " seconds" +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] " sekund" +msgstr[1] " sekunder" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "" + +#: part/dlgpresentation.cpp:53 +#, fuzzy, kde-format +#| msgid "Loop after last page" +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "I løkke efter sidste side" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "" + +#: part/dlgpresentation.cpp:61 +#, fuzzy, kde-format +#| msgid "Disabled" +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "Deaktiveret" + +#: part/dlgpresentation.cpp:63 +#, fuzzy, kde-format +#| msgid "Touch navigation:" +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Touch-navigering:" + +#: part/dlgpresentation.cpp:72 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "Baggrundsfarve:" + +#: part/dlgpresentation.cpp:76 +#, fuzzy, kde-format +#| msgid "Hidden After Delay" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "Skjult efter forsinkelse" + +#: part/dlgpresentation.cpp:77 +#, fuzzy, kde-format +#| msgid "Always Visible" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "Altid synlig" + +#: part/dlgpresentation.cpp:78 +#, fuzzy, kde-format +#| msgid "Always Hidden" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "Altid skjult" + +#: part/dlgpresentation.cpp:80 +#, fuzzy, kde-format +#| msgid "Mouse cursor:" +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "Musemarkør:" + +#: part/dlgpresentation.cpp:84 +#, fuzzy, kde-format +#| msgid "Show &progress indicator" +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "Vis &fremgangsindikator" + +#: part/dlgpresentation.cpp:90 +#, fuzzy, kde-format +#| msgid "Show s&ummary page" +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "Vis s&ammendragsside" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "" + +#: part/dlgpresentation.cpp:101 +#, fuzzy, kde-format +#| msgid "Replace" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "Erstat" + +#: part/dlgpresentation.cpp:102 +#, fuzzy, kde-format +#| msgid "Random Transition" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "Tilfældig transition" + +#: part/dlgpresentation.cpp:103 +#, fuzzy, kde-format +#| msgid "Blinds Vertical" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "Lodrette forhæng" + +#: part/dlgpresentation.cpp:104 +#, fuzzy, kde-format +#| msgid "Blinds Horizontal" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "Vandrette forhæng" + +#: part/dlgpresentation.cpp:105 +#, fuzzy, kde-format +#| msgid "Box In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "Boks ind" + +#: part/dlgpresentation.cpp:106 +#, fuzzy, kde-format +#| msgid "Box Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "Boks ud" + +#: part/dlgpresentation.cpp:107 +#, fuzzy, kde-format +#| msgid "Dissolve" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "Opløs" + +#: part/dlgpresentation.cpp:108 +#, fuzzy, kde-format +#| msgid "Fade" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "Fade" + +#: part/dlgpresentation.cpp:109 +#, fuzzy, kde-format +#| msgid "Glitter Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "Glitter nedad" + +#: part/dlgpresentation.cpp:110 +#, fuzzy, kde-format +#| msgid "Glitter Right" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "Glitter til højre" + +#: part/dlgpresentation.cpp:111 +#, fuzzy, kde-format +#| msgid "Glitter Right-Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "Glitter til højre nedad" + +#: part/dlgpresentation.cpp:112 +#, fuzzy, kde-format +#| msgid "Split Horizontal In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "Opdel vandret ind" + +#: part/dlgpresentation.cpp:113 +#, fuzzy, kde-format +#| msgid "Split Horizontal Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "Opdel vandret ud" + +#: part/dlgpresentation.cpp:114 +#, fuzzy, kde-format +#| msgid "Split Vertical In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "Opdel lodret ind" + +#: part/dlgpresentation.cpp:115 +#, fuzzy, kde-format +#| msgid "Split Vertical Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "Opdel lodret ud" + +#: part/dlgpresentation.cpp:116 +#, fuzzy, kde-format +#| msgid "Wipe Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "Tør ned" + +#: part/dlgpresentation.cpp:117 +#, fuzzy, kde-format +#| msgid "Wipe Right" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "Tør til højre" + +#: part/dlgpresentation.cpp:118 +#, fuzzy, kde-format +#| msgid "Wipe Left" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "Tør til venstre" + +#: part/dlgpresentation.cpp:119 +#, fuzzy, kde-format +#| msgid "Wipe Up" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "Tør opad" + +#: part/dlgpresentation.cpp:121 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Standardovergang:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "" + +#: part/dlgpresentation.cpp:137 +#, fuzzy, kde-format +#| msgid "Drawing Tool: %1" +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

Drawing Tools

" +msgstr "Tegneværktøj: %1" + +#: part/dlgpresentation.cpp:171 +#, fuzzy, kde-format +#| msgctxt "@label:listbox The current screen, for the presentation mode" +#| msgid "Current Screen" +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Nuværende skærm" + +#: part/dlgpresentation.cpp:172 +#, fuzzy, kde-format +#| msgctxt "@label:listbox The default screen for the presentation mode" +#| msgid "Default Screen" +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Standardskærm" + +#: part/dlgpresentation.cpp:178 +#, fuzzy, kde-format +#| msgctxt "@label:listbox %1 is the screen number (0, 1, ...)" +#| msgid "Screen %1" +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "Skærm %1" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "Tegneværktøj: %1" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "Viskelæder" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "&Navn:" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "&Type:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "Udseende" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "Tekstopmærkning" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "Geometrisk form" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "Opret annotationsværktøj" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "Redigér annotationsværktøj" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "Farve:" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "&Penbredde:" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "" + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "Opret tegneværktøj" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "Redigér tegneværktøj" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "Ukendt" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Indlejrede filer" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "Vis" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "Navn" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "Beskrivelse" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "Størrelse" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "Oprettet" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "Ændret" + +#: part/embeddedfilesdialog.cpp:154 +#, fuzzy, kde-format +#| msgid "Save As" +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "Gem som" + +#: part/embeddedfilesdialog.cpp:155 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "&Vis" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "Kunne ikke indlæse forhÃ¥ndsvisningen for udskrivning" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "ForhÃ¥ndsvisning af udskrift" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "Luk" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "&Find:" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "Søgetekst" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Næste" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "Spring til næste træffer" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Forrige" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "Spring til næste match" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "Ændr søgeopførsel" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "Versalfølsom" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "Fra den aktuelle side" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "Find mens du skriver" + +#: part/formwidgets.cpp:870 +#, fuzzy, kde-format +#| msgid "All files (*)" +msgid "All Files (*)" +msgstr "Alle filer (*)" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, fuzzy, kde-format +#| msgid "Sign CRL" +msgid "&Sign…" +msgstr "Signér CRL" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "Signaturegenskaber" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "Søgeindstillinger" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "Versalfølsom" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "Regulært udtryk" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "Lag" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "af" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "Zoom" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "Zoom til 100%" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "Rotér til &højre" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "Højre" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "Rotér til &venstre" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "Venstre" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "Oprindelig orientering" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "&Trim visning" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "&Trim margener" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "Trim til &markering" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "Tilpas til &bredden" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "Tilpas si&de" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "&Autotilpas" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "Tilpas vi&ndue til side" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "&Visningstilstand" + +#: part/pageview.cpp:594 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "Enkelt &side" + +#: part/pageview.cpp:595 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "&ModstÃ¥ende sider" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "ModstÃ¥ende sider (¢rér første side)" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "&Overblik" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "&Kontinuert" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "Brug højre mod venstre-læseretning" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "&Gennemse" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "&Zoom" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "OmrÃ¥de&markering" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "&Tekstmarkering" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "T&abelmarkering" + +#: part/pageview.cpp:676 +#, fuzzy, kde-format +#| msgctxt "Magnifier Tool" +#| msgid "Magnifier" +msgid "&Magnifier" +msgstr "Forstørrelsesglas" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "Markeringsværktøjer" + +#: part/pageview.cpp:711 +#, fuzzy, kde-format +#| msgid "Digital Signature" +msgid "Digitally &Sign…" +msgstr "Digital signatur" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "Oplæs hele dokumentet" + +#: part/pageview.cpp:722 +#, fuzzy, kde-format +#| msgid "Speak Current Page" +msgid "Speak From Current Page" +msgstr "Oplæs nuværende side" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "Oplæs nuværende side" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "Stop oplæsning" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "Sæt oplæsning pÃ¥ pause/genoptag" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "Rul op" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Rul ned" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "Rul side op" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "Rul side ned" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "Vis formularer" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] " Indlæste et et-siders dokument." +msgstr[1] " Indlæste et %1-siders dokument." + +#: part/pageview.cpp:2526 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Table Contents to Clipboard" +msgstr "Kopiér til udklipsholderen" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "Tekst (1 tegn)" +msgstr[1] "Tekst (%1 tegn)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "Kopiér til udklipsholderen" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "Udtal tekst" + +#: part/pageview.cpp:2863 +#, fuzzy, kde-format +#| msgid "Image (%1 by %2 pixels)" +msgid "Image (%1 × %2 pixels)" +msgstr "Billede (%1 gange %2 pixels)" + +#: part/pageview.cpp:2865 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save to File…" +msgstr "Gem til fil..." + +#: part/pageview.cpp:2885 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] copied to clipboard." +msgid "Image [%1 × %2] copied to clipboard." +msgstr "Billede [%1x%2] kopieret til udklipsholderen." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "Gem fil" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "Billeder (*.png *.jpeg)" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "Fil ikke gemt." + +#: part/pageview.cpp:2901 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] saved to %3 file." +msgid "Image [%1 × %2] saved to %3 file." +msgstr "Billede [%1x%2] gemt til filen %3." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "Kopiér tekst" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "GÃ¥ til \"%1\"" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "Tilpas til bredden" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "Tilpas side" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "Autotilpas" + +#: part/pageview.cpp:4107 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1%" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "Søg efter \"%1\" med" + +#: part/pageview.cpp:4404 +#, fuzzy, kde-format +#| msgid "Configure Web Shortcuts..." +msgid "Configure Web Shortcuts…" +msgstr "Indstil webgenveje..." + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "Følge dette link" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "Afspil denne lyd" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "Stop lyd" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "Kopiér link-adresse" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "Søg efter \"%1\" i dette dokument" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Velkommen" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "Vælg forstørrelsesomrÃ¥de. Højreklik for at formindske." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "Klik for at se den forstørrede visning." + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "Tegn et rektangel omkring tekst/grafik til kopi." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "Markér tekst" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" +"Tegn et rektangel omkring tabellen og klik nær kanterne for at opdele. Tryk " +"Esc for at rydde." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" + +#: part/pageview.cpp:5188 +#, fuzzy, kde-format +#| msgid "Certificate Data:" +msgid "No valid certificates" +msgstr "Certifikatdata:" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, fuzzy, kde-format +#| msgid "View Certificate..." +msgid "Open Certificate Manager" +msgstr "Vis certifikat..." + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
Launch Certificate Manager " +"to import or manage certificates
For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, fuzzy, kde-format +#| msgid "Certificate Data:" +msgid "No certificates found" +msgstr "Certifikatdata:" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "Tegn et rektangel omkring det sideområde du vil holde synligt" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "Ny tekstnote" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "Notens tekst:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "" + +#: part/pageviewannotator.cpp:492 +#, fuzzy, kde-format +#| msgid "Sign CRL" +msgctxt "@action:button" +msgid "Sign" +msgstr "Signér CRL" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgid "Author" +msgid "Author name" +msgstr "Forfatter" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgid "Add favorite annotation" +msgid "Author name for the annotation:" +msgstr "Tilføj favoritannotation" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "Tegn en ellipse (træk for at markere en zone)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "Fremhæv tekst" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "Tegn en frihåndslinje" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "Indlejret tekstkommentering (træk for at markere en zone)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "Sæt en pop-op-note" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "Tegn en polygon (klik på første punkt for at lukke den)" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "Tegn et rektangel" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "Bølgelinje-tekst" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "Sæt et frimærkesymbol" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "Tegn en lige linje" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "Overstreg tekst" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "Understreg tekst" + +#: part/pageviewannotator.cpp:1414 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Inline Text Annotation (drag to select a zone)" +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "Indlejret tekstkommentering (træk for at markere en zone)" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "Fremhævning" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "Tilføj favoritannotation" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgctxt "Change an annotation's size" +#| msgid "adjust annotation" +msgid "Custom annotation name:" +msgstr "justér kommentar" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&Fil" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "&Indstillinger" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "&Hjælp" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "&Orientering" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "&Bogmærker" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "Fremviserværktøjslinje" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Miniaturer" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "Annotationer" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"Dette dokument har indlejrede filer. Klik " +"her for at se dem eller gå til Fil -> Indlejrede filer." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "Forrige" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "Gå til forrige side" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "Går til den forrige side i dokumentet" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "Næste" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "Gå fremad til næste side" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "Går til den næste side i dokumentet" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "Dokumentets start" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "Går til starten af dokumentet" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "Dokumentets slutning" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "Går til slutningen af dokumentet" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "Omdøb det aktuelle bogmærke" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "Forrige bogmærke" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "Gå til forrige bogmærke" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "Næste bogmærke" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "Gå til næste bogmærke" + +#: part/part.cpp:748 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgid "Configure Okular…" +msgstr "Indstil Okular..." + +#: part/part.cpp:751 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Configure Viewer…" +msgstr "Indstil fremviser" + +#: part/part.cpp:757 +#, fuzzy, kde-format +#| msgid "Configure Viewer Backends" +msgid "Configure Viewer Backends…" +msgstr "Indstil motorer for fremviseren" + +#: part/part.cpp:759 +#, fuzzy, kde-format +#| msgid "Configure Backends" +msgid "Configure Backends…" +msgstr "Indstil dokumentmotorer" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "Om dokumentmotor" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "Genin&dlæs" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "Genindlæs det aktuelle dokument fra disk." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "Luk &find-bjælken" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "Sidenummer" + +#: part/part.cpp:817 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "Indstil Okular..." + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "Markér al tekst på aktuel side" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "Vis s&idepanel" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "Vis sidens &panel" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "Vis &signaturpanel" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "&Indlejrede filer" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "&Eksportér som" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "D&el" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "P&ræsentation" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "Åbn inde&holdende mappe" + +#: part/part.cpp:945 +#, fuzzy, kde-format +#| msgid "&Import PostScript as PDF..." +msgid "&Import PostScript as PDF…" +msgstr "&Importér PostScript som PDF..." + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "Skift sortskærmtilstand" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "Slet tegning" + +#: part/part.cpp:962 +#, fuzzy, kde-format +#| msgid "Configure Annotations..." +msgid "Configure Annotations…" +msgstr "Indstil annotationer..." + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "Afspil/pause præsentation" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" + +#: part/part.cpp:1123 +#, fuzzy, kde-format +#| msgid "Document Password" +msgid "Document can't be saved" +msgstr "Adgangskode til dokument" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "Kunne ikke åbne \"%1\" (%2)" + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "Indlæsning af %1 er blevet annulleret." + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "Kunne ikke åbne %1. Årsag: %2" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "Indstil motorer for fremviseren" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "Indstil dokumentmotorer" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"Programmet \"ps2pdf\" blev ikke fundet, så Okular kan ikke importere PS-" +"filer ved hjælp af det." + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "ps2pdf ikke fundet" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "PostScript-filer (%1)" + +#: part/part.cpp:1357 +#, fuzzy, kde-format +#| msgid "Importing PS file as PDF (this may take a while)..." +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "Importerer PS-fil som PDF (dette kan tage noget tid)..." + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "Angiv venligst kodeordet for at læse dokumentet:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "Forkert kodeord. Forsøg igen:" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "Adgangskode til dokument" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" +"Dette dokument har XFA-formularer som i øjeblikket ikke er understøttet." + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"Dette dokument har formularer. Klik på knappen for at interagere med dem, " +"eller gå til Vis -> Vis formularer." + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" +"Dette dokument vil vises i fuldskærm.\n" +"Vil du forlade normal tilstand og gå i præsentationstilstand?" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "Anmoder om ændring af visningstilstand" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "Gå i præsentationstilstand" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "Afvis anmodning" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "Kunne ikke åbne %1. %2" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "Fil ændret" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "Fortsæt genindlæsning" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "Afbryd genindlæsning" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "Fortsæt lukning" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "Afbryd lukning" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "Vil du gemme dine ændringer af \"%1\" eller kassere dem?" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "Luk dokument" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"Dette link peger til en 'luk dokument'-handling der ikke virker når du " +"bruger den indlejrede fremviser." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"Dette link peger til en 'afslut program'-handling der ikke virker når du " +"bruger den indlejrede fremviser." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Reloading the document…" +msgstr "Genindlæser dokumentet..." + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "Indhold" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "Signaturer" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Gå til side" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "S&ide:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "Angiv det nye navn på bogmærket:" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "Omdøb dette bogmærke" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "Fjern dette bogmærke" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "Gem som" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" + +#: part/part.cpp:2621 +#, fuzzy, kde-format +#| msgid "Line Extensions" +msgid "Unsupported extension" +msgstr "Linjeforlængerstykker" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "Gem - advarsel" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
Do you want to continue?" +msgstr "" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "Kunne ikke åbne midlertidig fil til gemning." + +#: part/part.cpp:2726 +#, fuzzy, kde-kuit-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "Fil kunne ikke gemmes til '%1'. Prøv at gem den et andet sted." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
Do you want to continue?" +msgstr "" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "Fil kunne ikke gemmes til '%1'. Prøv at gem den et andet sted." + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "Udfyldt formularindhold" + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "Brugerannotationer" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "Advarsel" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, fuzzy, kde-format +#| msgid "Save as Okular document archive..." +msgid "Save as Okular document archive…" +msgstr "Gem som Okular dokumentarkiv..." + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "Fortsæt" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "Fortsæt med tab af ændringer" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "Filen kunne ikke gemmes til \"%1\". %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"Okular kan ikke kopiere %1 til det angivne sted.\n" +"\n" +"Dokumentet eksisterer ikke mere." + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" +"Fil kunne ikke gemmes i \"%1\". Fejl: \"%2\". Prøv at gemme den et andet " +"sted." + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "Expand whole section" +msgid "Expand Whole Section" +msgstr "Fold hele sektionen ud" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "Collapse whole section" +msgid "Collapse Whole Section" +msgstr "Fold hele sektionen sammen" + +#: part/part.cpp:3172 +#, fuzzy, kde-format +#| msgid "Link the &thumbnails with the page" +msgid "Sync Thumbnail with Page" +msgstr "Link &miniaturer til siden" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Værktøjer" + +#: part/part.cpp:3381 +#, fuzzy, kde-format +#| msgid "Speak Text" +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "Udtal tekst" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "Udskriv" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "Udskrift af dokumentet tillades ikke." + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"Kunne ikke udskrive dokumentet. Ukendt fejl. Rapportér venligst til bugs.kde." +"org" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"Kunne ikke udskrive dokumentet. Den detaljerede fejl er \"%1\". Rapportér " +"til bugs.kde.org" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "Gå til det sted du var før" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "Gå til det sted du var efter" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"Fil-fejl! Kunne ikke oprette midlertidig fil " +"%1." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"Fil-fejl! Kunne ikke åbne filen %1 til udpakning. Filen vil ikke blive indlæst." + +#: part/part.cpp:3751 +#, fuzzy, kde-format +#| msgid "" +#| "This error typically occurs if you do not have enough permissions to " +#| "read the file. You can check ownership and permissions if you right-click " +#| "on the file in the Dolphin file manager and then choose the 'Properties' " +#| "tab." +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"Dette sker typisk, hvis ikke du har tilstrækkelige tilladelser til at " +"læse filen. Du kan tjekke ejerskab og tilladelser, hvis du højreklikker på " +"filen i filhåndteringen Dolphin, og vælger fanebladet 'Egenskaber'." + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"Fil-fejl! Kunne ikke udpakke filen %1. Filen vil ikke blive indlæst." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"Denne fejl sker typisk hvis filen er ødelagt. Hvis du vil være sikker, " +"så forsøg at udpakke filen manuelt vha. kommandolinje-værktøjer." + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "Ingen bogmærker" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "Der opstod et problem ved deling af dette dokument: %1" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "Del" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "Dokumentet blev delt" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "Du kan finde det delte dokument på: %1" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "&Redigér" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "&Vis" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&Gå" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "Værk&tøjer" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "Hovedværktøjslinje" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "Annotationsværktøjslinje" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, fuzzy, kde-format +#| msgid "Annotation Toolbar" +msgid "Quick Annotation Toolbar" +msgstr "Annotationsværktøjslinje" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "Generelle indstillinger" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Tilgængelighed" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "Hjælpemidler til læsning" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Ydelse" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "Finindstilling af ydelse" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "Indstil fremviser" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Præsentation" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "Indstillinger for præsentationstilstand" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "Indstillinger for annotationer" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "Editor" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "Editor-indstillinger" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "Find næste" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 - præsentation" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "Skift skærm" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "Skærm %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "Forlad præsentationstilstand" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Titel: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Sider: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "Klik for at begynde" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "Pause" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "Afspil" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"Der er to måder at afslutte præsentationstilstand. Du kan trykke på tasten " +"Esc, eller klikke med afslutningsknappen som vises når musen placeres i " +"øverste højre hjørne. Du kan naturligvis gå gennem vinduerne cyklisk " +"(normalt med Alt+Tabulator)" + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "Viser en præsentation" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "Ukendt fil" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "%1-egenskaber" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "&Skrifttyper" + +#: part/propertiesdialog.cpp:145 +#, fuzzy, kde-format +#| msgid "Reading font information..." +msgid "Reading font information…" +msgstr "Genindlæser skrifttypeinformation..." + +#: part/propertiesdialog.cpp:158 +#, kde-format +msgid "&Page Sizes" +msgstr "S&idestørrelser" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "&Udpak skrifttype" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Type 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Type 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "Type 1C (OT)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Type 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "Truetype" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "Truetype (OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID type 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID type 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID type 0C (OT)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID Truetype" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID Truetype (OT)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "TeX PK" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "TeX virtual" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "TeX Font Metric" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "TeX FreeType-handled" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "Ukendt" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "Indlejret (delsæt)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "Fuldt indlejret" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "Nej" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "Ja (delsæt)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "Ja" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "%1 (erstatter med %2)" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "[n/a]" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "Ukendt skrifttype" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "Indlejret: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "Navn" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "Type" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "Fil" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "Side" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "Størrelse" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "Forhåndsvisning af revision" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "Hvor vil du gemme denne revision?" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "Kunne ikke gemme filen %1." + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "Kunne ikke vise revision." + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "Indtast mindst 3 bogstaver for at filtrere sider" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "Versalfølsom" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "Match udtryk" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "Match alle ord" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "Match et ord" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "Filterindstillinger" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, fuzzy, kde-format +#| msgid "Certificate Data:" +msgid "Certificates" +msgstr "Certifikatdata:" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, fuzzy, kde-format +#| msgid "Allow" +msgid "All" +msgstr "Tillad" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, fuzzy, kde-format +#| msgid "Certificate Data:" +msgid "Only QES certificates" +msgstr "Certifikatdata:" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "Årsag:" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, fuzzy, kde-format +#| msgid "Options" +msgid "optional" +msgstr "Indstillinger" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "Placering:" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, fuzzy, kde-format +#| msgid "Background color:" +msgid "Background:" +msgstr "Baggrundsfarve:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, fuzzy, kde-format +#| msgid "Use custom background color" +msgid "Recent backgrounds:" +msgstr "Anvend brugertilpasset baggrundsfarve" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

No annotations

To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
" +msgstr "" +"

Ingen kommentarer

For at oprette nye annotationer, " +"tryk på F6 eller vælg Værktøjer -> annotationer fra menuen.
" + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "Gruppér efter side" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "Gruppér efter forfatter" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "Vis kun annotationer for den aktuelle side" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "Fold alle elementer ud" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "Fold alle elementer sammen" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "Egenskaber" + +#: part/signaturepartutils.cpp:180 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Sider: %1" + +#: part/signaturepartutils.cpp:181 +#, fuzzy, kde-format +#| msgid "Enable &background generation" +msgid "Select background image" +msgstr "Aktivér &baggrundsgenerering" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "" + +#: part/signaturepartutils.cpp:231 +#, fuzzy, kde-format +#| msgid "Certificate has Expired." +msgid "Enter certificate password" +msgstr "Certifikatet er udløbet." + +#: part/signaturepartutils.cpp:244 +#, fuzzy, kde-format +#| msgid "Document Password" +msgid "Enter document password" +msgstr "Adgangskode til dokument" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "Gyldighedsstatus" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "Yderligere information" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "Signeret af:" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "Dokumentversion" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:95 +#, fuzzy, kde-format +#| msgid "View Certificate..." +msgid "View Certificate…" +msgstr "Vis certifikat..." + +#: part/signaturepropertiesdialog.cpp:97 +#, fuzzy, kde-format +#| msgid "View Certificate..." +msgid "View in Certificate Manager" +msgstr "Vis certifikat..." + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "Vis kun sider med bogmærker" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "Afspil" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Pause" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "Stop" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, fuzzy, kde-format +#| msgid "&Edit" +msgid "&Edit…" +msgstr "&Redigér" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "&Fjern" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "Flyt &op" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "Flyt &ned" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "Standard tegneværktøj #%1" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "Der findes allerede et værktøj med det navn. Bruger et standardnavn" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "Duplikeret navn" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "Side af dokumentet der skal vises" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "Start i præsentationstilstand" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "Start med udskriftsdialog" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "Start med udskriftsdialog og afslut efter udskrift" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "Kontrol af \"unik instans\"" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "Hæv ikke vindue" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "Find en streng i teksten" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "Dokumenter der skal åbnes. Angiv \"-\" for at læse fra stdin." + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "Fejl: Kan ikke åbne mere end ét dokument med flaget --unique" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "Fejl: Kan ikke åbne mere end ét dokument med flaget --presentation" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "Fejl: Kan ikke åbne mere end ét dokument med flaget --print" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "Fejl: Kan ikke åbne mere end ét dokument med flaget --page" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "Fejl: Kan ikke åbne mere end ét dokument med flaget --find " + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "Kan ikke finde Okular-komponenten: %1" + +#: shell/shell.cpp:250 +#, fuzzy, kde-format +#| msgid "Show S&idebar" +msgid "Sidebar" +msgstr "Vis s&idepanel" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" +"Der kører allerede en unik Okular-instans. Denne instans vil ikke være den " +"unikke." + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "Kan ikke finde Okular-komponenten." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"Klik for at åbne en fil\n" +"Klik og hold for at åbne en nylig fil" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"Klik for at åbne en fil eller Klik og hold for at åbne en " +"nylig fil" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "Næste faneblad" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "Forrige faneblad" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "Fortryd luk faneblad" + +#: shell/shell.cpp:603 +#, fuzzy, kde-format +#| msgid "Show S&idebar" +msgid "Lock Sidebar" +msgstr "Vis s&idepanel" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "Alle filer (*)" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "Alle understøttede filer (%1)" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "Åbn dokument" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "Bekræft lukning" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "Luk faneblade" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "Du er ved at lukke %1 faneblade. Vil du virkelig fortsætte?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "Advar mig når jeg forsøger at lukke flere faneblade" + +#: shell/welcomescreen.cpp:64 +#, fuzzy, kde-format +#| msgid "Copy Text" +msgid "&Copy Path" +msgstr "Kopiér tekst" + +#: shell/welcomescreen.cpp:77 +#, fuzzy, kde-format +#| msgid "Open Con&taining Folder" +msgid "&Open Containing Folder" +msgstr "Åbn inde&holdende mappe" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "" + +#: shell/welcomescreen.cpp:137 +#, fuzzy, kde-format +#| msgid "Current document only" +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "Kun aktuelle dokument" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, fuzzy, kde-format +#| msgid "Open Document" +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Åbn dokument" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, fuzzy, kde-format +#| msgid "Current document only" +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Kun aktuelle dokument" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "" + +#~ msgid "Geometry with Comment" +#~ msgstr "Geometri med kommentar" + +#~ msgid "Geometry" +#~ msgstr "Figur" + +#~ msgid "Modified: %1" +#~ msgstr "Ændret: %1" + +#~ msgid "Find..." +#~ msgstr "Find..." + +#~ msgid "Go To Page..." +#~ msgstr "Gå til side..." + +#~ msgid "Play movie..." +#~ msgstr "Afspil film..." + +#~ msgid "Search..." +#~ msgstr "Søg..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "Gem &som..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "&Vis..." + +#, fuzzy +#~| msgid "Sign CRL" +#~ msgid "&Sign..." +#~ msgstr "Signér CRL" + +#~ msgid "Configure Viewer..." +#~ msgstr "Indstil fremviser..." + +#~ msgid "Configure Viewer Backends..." +#~ msgstr "Indstil motorer for fremviseren..." + +#~ msgid "Configure Backends..." +#~ msgstr "Indstil dokumentmotorer..." + +#~ msgid "&Add..." +#~ msgstr "&Tilføj..." + +#~ msgid "&Edit..." +#~ msgstr "&Redigér..." + +#, fuzzy +#~| msgid "Digital Signature" +#~ msgid "Unsigned Signature %1" +#~ msgstr "Digital signatur" + +#, fuzzy +#~| msgctxt "Unknown author" +#~| msgid "Unknown" +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "Ukendt" + +#, fuzzy +#~| msgid "Digital Signature" +#~ msgctxt "Signature type" +#~ msgid "Unsigned signature" +#~ msgstr "Digital signatur" + +#, fuzzy +#~| msgid "%" +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "Suffix for the pen width, eg '10 px'" +#~ msgid " px" +#~ msgstr " px" + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " %" + +#, fuzzy +#~| msgid "%" +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%" + +#, fuzzy +#~| msgid "Fit Width" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "Tilpas til bredden" + +#, fuzzy +#~| msgid "Fit Page" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "Tilpas side" + +#, fuzzy +#~| msgid "Auto Fit" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Auto Fit" +#~ msgstr "Autotilpas" + +#~ msgid "*|All Files" +#~ msgstr "*|Alle filer" + +#~ msgid "Missing alert type" +#~ msgstr "Mangler alarmtype" + +#~ msgid "" +#~ "The file '%1' has been modified by another program, which means it can no " +#~ "longer be saved." +#~ msgstr "" +#~ "Filen \"%1\" er blevet ændret af et andet program, hvilket betyder at den " +#~ "ikke længere kan gemmes." + +#, fuzzy +#~| msgid "Show S&idebar" +#~ msgid "Show Sidebar" +#~ msgstr "Vis s&idepanel" + +#~ msgctxt "@title:window" +#~ msgid "Experimental feature" +#~ msgstr "Eksperimentel funktion" + +#, fuzzy +#~| msgid "Format" +#~ msgid "Form" +#~ msgstr "Format" + +#~ msgid "Remove Bookmarks" +#~ msgstr "Fjern bogmærker" + +#, fuzzy +#~| msgid "&Annotations" +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "&Annotationer" + +#, fuzzy +#~| msgid "Highlight" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "Fremhævning" + +#, fuzzy +#~| msgid "Underline" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Underline" +#~ msgstr "Understregning" + +#, fuzzy +#~| msgid "Squiggle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Squiggle" +#~ msgstr "Bølgelinje" + +#, fuzzy +#~| msgid "Strike Out" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Strike Out" +#~ msgstr "Overstreget" + +#, fuzzy +#~| msgid "Insert" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "Indsæt" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "Indlejret note" + +#, fuzzy +#~| msgctxt "@action:intoolbar Annotation tool" +#~| msgid "Popup Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "Pop-op-note" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a freehand line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Freehand Line" +#~ msgstr "Tegn en frihåndslinje" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a straight line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Straight line" +#~ msgstr "Tegn en lige linje" + +#, fuzzy +#~| msgctxt "@action:intoolbar Annotation tool" +#~| msgid "Arrow" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Arrow" +#~ msgstr "Pil" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a rectangle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Rectangle" +#~ msgstr "Tegn et rektangel" + +#, fuzzy +#~| msgid "Cyan Ellipse" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Ellipse" +#~ msgstr "Cyan-farvet ellipse" + +#, fuzzy +#~| msgid "Polygon" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Polygon" +#~ msgstr "Polygon" + +#, fuzzy +#~| msgid "Highlighter" +#~ msgid "Highlight in Yellow" +#~ msgstr "Fremhævning" + +#, fuzzy +#~| msgid "Highlight with Comment" +#~ msgid "Highlight in Green" +#~ msgstr "Fremhæv med kommentar" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgid "Insert Inline Note" +#~ msgstr "Indlejret note" + +#, fuzzy +#~| msgctxt "@action:intoolbar Annotation tool" +#~| msgid "Popup Note" +#~ msgid "Insert Popup Note" +#~ msgstr "Pop-op-note" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "Markér tekst" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "Markér tekst" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "Markér tekst" + +#, fuzzy +#~| msgid "&Magnifier" +#~ msgctxt "verb" +#~ msgid "&Magnify" +#~ msgstr "&Forstørrelsesglas" + +#~ msgid "Bookmark annotation" +#~ msgstr "Sæt bogmærke ved annotation" + +#~ msgid "&Toggle Change Colors" +#~ msgstr "Skift af farver &til/fra" + +#, fuzzy +#~| msgid "Enable transitions" +#~ msgctxt "@option:check Config dialog, presentation page, transitions" +#~ msgid "Enable transitions" +#~ msgstr "Aktivér overgange" + +#, fuzzy +#~| msgid "Advance every:" +#~ msgctxt "@label:spinbox Config dialog, presentation page" +#~ msgid "Advance every:" +#~ msgstr "Gå fremad hver:" + +#, fuzzy +#~| msgid "Use custom background color" +#~ msgctxt "@label:listbox Config dialog, general page" +#~ msgid "Custom background color:" +#~ msgstr "Anvend brugertilpasset baggrundsfarve" + +#~ msgid "Draw border around &Images" +#~ msgstr "Tegn kant rundt om &billeder" + +#~ msgid "Speech" +#~ msgstr "Tale" + +#~ msgid "Engine" +#~ msgstr "Motor" + +#~ msgid "Identity" +#~ msgstr "Identitet" + +#~ msgid "Au&thor:" +#~ msgstr "Opha&vsmand:" + +#~ msgid "View Options" +#~ msgstr "Visningsindstillinger" + +#~ msgctxt "@info:whatsthis" +#~ msgid "" +#~ "Defines the default zoom mode for files which were never opened before.\n" +#~ "For files which were opened before the previous zoom is applied." +#~ msgstr "" +#~ "Bestemmer standard zoomtilstand for filer der aldrig før er blevet " +#~ "åbnet.\n" +#~ "For filer der har været åbnet før anvendes den forrige zoom." + +#~ msgid "Navigation" +#~ msgstr "Navigering" + +#~ msgid "Placement" +#~ msgstr "Placering" + +#~ msgid "Screen:" +#~ msgstr "Skærm:" + +#~ msgid "Drawing Tool Configuration" +#~ msgstr "Konfiguration af tegneværktøj" + +#~ msgid "&Get Books From Internet..." +#~ msgstr "&Hent bøger fra Internettet..." + +#~ msgid "Reviews" +#~ msgstr "Korrektur" + +#~ msgctxt "@item:inlistbox Color name" +#~ msgid "%1" +#~ msgstr "%1" + +#~ msgid "Hide Forms" +#~ msgstr "Skjul formularer" + +#~ msgid "&Review" +#~ msgstr "&Korrektur" + +#~ msgid "Annotations author" +#~ msgstr "Kommentarens forfatter" + +#~ msgid "Please insert your name or initials:" +#~ msgstr "Skriv dit navn eller dine initialer:" + +#~ msgid "Show &Navigation Panel" +#~ msgstr "Vis &navigationspanel" + +#~ msgid "Show Text" +#~ msgstr "Vis tekst" + +#~ msgid "Small Icons" +#~ msgstr "Små ikoner" + +#~ msgid "Large Icons" +#~ msgstr "Store ikoner" + +#, fuzzy +#~| msgid "" +#~| "Click to use the current selection tool\n" +#~| "Click and hold to choose another selection tool" +#~ msgid "" +#~ "Click to use the current selection tool\n" +#~ "Click on the arrow to choose another selection tool" +#~ msgstr "" +#~ "Klik for at benytte det aktuelle markeringsværktøj\n" +#~ "Klik og hold nede for at vælge et andet markeringsværktøj" + +#~ msgid "Created: %1" +#~ msgstr "Oprettet: %1" + +#~ msgid "Style" +#~ msgstr "Stil" + +#~ msgid "&Size:" +#~ msgstr "&Størrelse:" + +#~ msgid "Inner color:" +#~ msgstr "Indre farve:" + +#~ msgid "Name: %1" +#~ msgstr "Navn: %1" + +#~ msgid "Size: %1" +#~ msgstr "Størrelse: %1" + +#~ msgid "&Browse Tool" +#~ msgstr "&Browserværktøj" + +#~ msgid "&Zoom Tool" +#~ msgstr "&Zoomværktøj" + +#~ msgctxt "Zoom Tool" +#~ msgid "Zoom" +#~ msgstr "Zoom" + +#~ msgid "&Selection Tool" +#~ msgstr "&Markeringsværktøj" + +#~ msgctxt "Select Tool" +#~ msgid "Selection" +#~ msgstr "Markering" + +#~ msgid "&Text Selection Tool" +#~ msgstr "&Tekstmarkeringsværktøj" + +#~ msgid "T&able Selection Tool" +#~ msgstr "Værktøj til t&abelmarkering" + +#, fuzzy +#~| msgctxt "Symbol for caret annotations" +#~| msgid "None" +#~ msgid " None" +#~ msgstr "Ingen" + +#~ msgid "" +#~ "The document requested to be launched in presentation mode.\n" +#~ "Do you want to allow it?" +#~ msgstr "" +#~ "Dokumentet bad om at blive startet i præsentationstilstand.\n" +#~ "Vil du tillade det?" + +#~ msgid "Presentation Mode" +#~ msgstr "Præsentationstilstand" + +#~ msgid "Allow the presentation mode" +#~ msgstr "Tillad præsentationstilstand" + +#~ msgid "Do Not Allow" +#~ msgstr "Tillad ikke" + +#~ msgid "Do not allow the presentation mode" +#~ msgstr "Tillad ikke præsentationstilstand" + +#~ msgid "" +#~ "Your annotation changes will not be saved automatically. Use File -> Save " +#~ "As...\n" +#~ "or your changes will be lost once the document is closed" +#~ msgstr "" +#~ "Dine kommentarændringer vil ikke blev gemt automatisk. Brug Fil -> Gem " +#~ "som...\n" +#~ "ellers vil dine ændringer gå tabt når dokumentet lukkes" + +#~ msgid "" +#~ "Your annotations are saved internally by Okular.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" +#~ msgstr "" +#~ "Din kommentar gemmes internt af Okular.\n" +#~ "Du kan eksportere det kommenterede dokument med Fil -> Eksportér som -> " +#~ "Dokumentarkiv" + +#~ msgid "Save &Copy As..." +#~ msgstr "Gem &kopi som..." + +#~ msgid "" +#~ "Your annotations will not be exported.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" +#~ msgstr "" +#~ "Din kommentar vil ikke blive eksporteret.\n" +#~ "Du kan eksportere det kommenterede dokument med Fil -> Eksportér som -> " +#~ "Dokumentarkiv" + +#~ msgid "" +#~ "End of document reached.\n" +#~ "Continue from the beginning?" +#~ msgstr "" +#~ "Slutningen af dokumentet er nået.\n" +#~ "Fortsæt fra starten?" + +#~ msgid "" +#~ "Beginning of document reached.\n" +#~ "Continue from the bottom?" +#~ msgstr "" +#~ "Starten af dokumentet er nået.\n" +#~ "Fortsæt fra bunden?" + +#~ msgid "Current maintainer" +#~ msgstr "Nuværende vedligeholder" + +#~ msgid " sec." +#~ msgstr " sek." + +#~ msgid "Pencil color:" +#~ msgstr "Blyantfarve:" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A0" +#~ msgstr "liggende DIN/ISO A0" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A0" +#~ msgstr "stående DIN/ISO A0" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A1" +#~ msgstr "liggende DIN/ISO A1" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A1" +#~ msgstr "stående DIN/ISO A1" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A2" +#~ msgstr "liggende DIN/ISO A2" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A2" +#~ msgstr "stående DIN/ISO A2" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A3" +#~ msgstr "liggende DIN/ISO A3" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A3" +#~ msgstr "stående DIN/ISO A3" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A4" +#~ msgstr "liggende DIN/ISO A4" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A4" +#~ msgstr "stående DIN/ISO A4" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A5" +#~ msgstr "liggende DIN/ISO A5" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A5" +#~ msgstr "stående DIN/ISO A5" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A6" +#~ msgstr "liggende DIN/ISO A6" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A6" +#~ msgstr "stående DIN/ISO A6" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A7" +#~ msgstr "liggende DIN/ISO A7" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A7" +#~ msgstr "stående DIN/ISO A7" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A8" +#~ msgstr "liggende DIN/ISO A8" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A8" +#~ msgstr "stående DIN/ISO A8" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A9" +#~ msgstr "liggende DIN/ISO A9" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A9" +#~ msgstr "stående DIN/ISO A9" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B0" +#~ msgstr "liggende DIN/ISO B0" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B0" +#~ msgstr "stående DIN/ISO B0" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B1" +#~ msgstr "liggende DIN/ISO B1" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B1" +#~ msgstr "stående DIN/ISO B1" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B2" +#~ msgstr "liggende DIN/ISO B2" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B2" +#~ msgstr "stående DIN/ISO B2" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B3" +#~ msgstr "liggende DIN/ISO B3" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B3" +#~ msgstr "stående DIN/ISO B3" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B4" +#~ msgstr "liggende DIN/ISO B4" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B4" +#~ msgstr "stående DIN/ISO B4" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B5" +#~ msgstr "liggende DIN/ISO B5" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B5" +#~ msgstr "stående DIN/ISO B5" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B6" +#~ msgstr "liggende DIN/ISO B6" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B6" +#~ msgstr "stående DIN/ISO B6" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B7" +#~ msgstr "liggende DIN/ISO B7" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B7" +#~ msgstr "stående DIN/ISO B7" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B8" +#~ msgstr "liggende DIN/ISO B8" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B8" +#~ msgstr "stående DIN/ISO B8" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B9" +#~ msgstr "liggende DIN/ISO B9" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B9" +#~ msgstr "stående DIN/ISO B9" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B10" +#~ msgstr "liggende DIN/ISO B10" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B10" +#~ msgstr "stående DIN/ISO B10" + +#~ msgctxt "paper size" +#~ msgid "landscape letter" +#~ msgstr "Liggende letter" + +#~ msgctxt "paper size" +#~ msgid "portrait letter" +#~ msgstr "Stående letter" + +#~ msgctxt "paper size" +#~ msgid "landscape legal" +#~ msgstr "liggende legal" + +#~ msgctxt "paper size" +#~ msgid "portrait legal" +#~ msgstr "stående legal" + +#~ msgctxt "paper size" +#~ msgid "landscape executive" +#~ msgstr "liggende executive" + +#~ msgctxt "paper size" +#~ msgid "portrait executive" +#~ msgstr "stående executive" + +#~ msgctxt "paper size" +#~ msgid "landscape Comm10E" +#~ msgstr "liggende Comm10E" + +#~ msgctxt "paper size" +#~ msgid "portrait Comm10E" +#~ msgstr "stående Comm10E" + +#~ msgctxt "paper size" +#~ msgid "landscape DLE" +#~ msgstr "liggende DLE" + +#~ msgctxt "paper size" +#~ msgid "portrait DLE" +#~ msgstr "stående DLE" + +#~ msgctxt "paper size" +#~ msgid "landscape folio" +#~ msgstr "liggende folio" + +#~ msgctxt "paper size" +#~ msgid "portrait folio" +#~ msgstr "stående folio" + +#~ msgctxt "paper size" +#~ msgid "ledger" +#~ msgstr "ledger" + +#~ msgctxt "paper size" +#~ msgid "tabloid" +#~ msgstr "tabloid" + +#~ msgctxt "paper size" +#~ msgid "unknown landscape paper size" +#~ msgstr "ukendt liggende papirstørrelse" + +#~ msgctxt "paper size" +#~ msgid "unknown portrait paper size" +#~ msgstr "ukendt stående papirstørrelse" + +#~ msgid "Toggle Drawing Mode" +#~ msgstr "Skift tegnetilstand" + +#~ msgid "Starting Jovie Text-to-Speech service Failed: %1" +#~ msgstr "Start af Jovie tekst-til-tale-tjeneste mislykkedes: %1" + +#~ msgid "Search Columns" +#~ msgstr "Søg i søjler" + +#~ msgid "All Visible Columns" +#~ msgstr "Alle synlige søjler" + +#~ msgid "No document opened." +#~ msgstr "Intet dokument at åbnet." + +#~ msgid "Can't open more than one document in the unique Okular instance." +#~ msgstr "Kan ikke åbne mere end ét dokument i den unikke Okular-instans." + +#~ msgid "No matches found for '%1'." +#~ msgstr "Ingen træffere fundet for '%1'." + +#~ msgid "Search in progress..." +#~ msgstr "Søger..." + +#~ msgid "Searching for %1" +#~ msgstr "Søger efter %1" + +#~ msgid "Identity Settings" +#~ msgstr "Indstillinger for identitet" + +#~ msgid "Highlight Properties" +#~ msgstr "Egenskaber for fremhævning" + +#~ msgid "Ink Properties" +#~ msgstr "Egenskaber for blæk" + +#~ msgctxt "Annotation tool" +#~ msgid "Text Annotation" +#~ msgstr "Tekstkommentar" + +#~ msgctxt "Annotation tool" +#~ msgid "Green Ink" +#~ msgstr "Grønt blæk" + +#~ msgctxt "Annotation tool" +#~ msgid "Yellow Highlight" +#~ msgstr "Gul fremhævning" + +#~ msgctxt "Annotation tool" +#~ msgid "Straight Yellow Line" +#~ msgstr "Lige gul linje" + +#~ msgid "Black Underlining" +#~ msgstr "Sort understregning" + +#~ msgctxt "Annotation tool" +#~ msgid "Underline the text with a black line" +#~ msgstr "Understreg teksten med en sort linje" + +#~ msgctxt "Annotation tool" +#~ msgid "A cyan ellipse" +#~ msgstr "Cyan-farvet ellipse" + +#~ msgid "Ink" +#~ msgstr "Blæk" + +#, fuzzy +#~| msgid "Hide Forms" +#~ msgid "Reset Forms" +#~ msgstr "Skjul formularer" + +#~ msgid "Moves to the first page of the document" +#~ msgstr "Går til den første side i dokumentet" + +#~ msgid "Moves to the last page of the document" +#~ msgstr "Går til den sidste side i dokumentet" + +#~ msgid "You must set this name:" +#~ msgstr "Du skal skrive et navn her:" + +#~ msgid "Toggles between File Path and Title" +#~ msgstr "Skifter mellem filsti og titel" + +#~ msgctxt "%1 is \"Title\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#~ msgctxt "%1 is \"File Path\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#~ msgctxt "@action:button" +#~ msgid "&Overwrite" +#~ msgstr "&Overskriv" + +#~ msgid "Pages:" +#~ msgstr "Sider:" + +#~ msgid "okular" +#~ msgstr "okular" + +#, fuzzy +#~| msgid "&Properties" +#~ msgid "&Properties..." +#~ msgstr "&Egenskaber" + +#, fuzzy +#~ msgid "Pink Highlighter" +#~ msgstr "&Egenskaber" + +#, fuzzy +#~| msgid "Moves to the next page of the document" +#~ msgid "Could not load the necessary plugin to view the document." +#~ msgstr "Går til den næste side i dokumentet" + +#, fuzzy +#~| msgid "Fit to &Text" +#~ msgid "Fit &Text" +#~ msgstr "Tilpas til &tekst" + +#, fuzzy +#~| msgid "Advance every:" +#~ msgid "&Advanced" +#~ msgstr "Gå fremad hver:" + +#, fuzzy +#~ msgid "Contents:" +#~ msgstr "&Kontinuert" + +#~ msgid "Hide &Navigation Panel" +#~ msgstr "Skjul navigationspanel" + +#, fuzzy +#~| msgid "Page %1" +#~ msgid "page %1" +#~ msgstr "Side %1" + +#~ msgid "Show &search bar in thumbnails list" +#~ msgstr "Vis &søgelinje i miniaturelisten" + +#, fuzzy +#~| msgid "Speak Text" +#~ msgid "Free Text" +#~ msgstr "Udtal tekst" + +#, fuzzy +#~| msgid "General" +#~ msgid "DlgGeneral" +#~ msgstr "Generelt" + +#~ msgid "Program Look" +#~ msgstr "Programmets udseende" + +#~ msgid "Reading Aids" +#~ msgstr "Læsehjælp" + +#, fuzzy +#~| msgid "Could not open %1" +#~ msgid "Click for Open %1" +#~ msgstr "Kunne ikke åbne %1" + +#, fuzzy +#~ msgid "contents:" +#~ msgstr "&Kontinuert" + +#, fuzzy +#~| msgid "Pages:" +#~ msgid "flags:" +#~ msgstr "Sider:" + +#~ msgid "&Watch file" +#~ msgstr "&Overvåg fil" + +#~ msgid "Clear filter" +#~ msgstr "Ryd filter" + +#~ msgid "Topic" +#~ msgstr "Emne" + +#~ msgid "Fit to Page &Width" +#~ msgstr "Tilpas til side&bredden" + +#~ msgid "&Two Pages" +#~ msgstr "&To sider" + +#~ msgid "Starting -- find text as you type" +#~ msgstr "Starter -- find tekst mens du skriver" + +#~ msgid "Security" +#~ msgstr "Sikkerhed" + +#~ msgid "Optimized" +#~ msgstr "Optimeret" + +#~ msgid "Unknown Encryption" +#~ msgstr "Ukendt kryptering" + +#~ msgid "Unknown Optimization" +#~ msgstr "Ukendt optimering" + +#~ msgid "unknown" +#~ msgstr "ukendt" + +#~ msgid "-" +#~ msgstr "-" + +#~ msgid "[none]" +#~ msgstr "[ingen]" + +#, fuzzy +#~ msgid "kpdf, a kde pdf viewer based on poppler" +#~ msgstr "kpdf, KDE's pdf-fremviser baseret på xpdf" + +#~ msgid "KPDF::Part" +#~ msgstr "KPDF::Part" + +#~ msgid "Converting from ps to pdf..." +#~ msgstr "Konverterer fra ps til pdf..." + +#~ msgid "" +#~ "You do not have ps2pdf installed, so kpdf cannot open postscript files." +#~ msgstr "" +#~ "Du har ikke ps2pdf installeret, så kpdf kan ikke åbne postscript-filer." + +#~ msgid "Text found: \"%1\"." +#~ msgstr "Tekst fundet: \"%1\"." + +#~ msgid "Text not found: \"%1\"." +#~ msgstr "Tekst ikke fundet: \"%1\"." + +#~ msgctxt "PDF v. " +#~ msgid "PDF v. %1" +#~ msgstr "PDF v. %1" + +#~ msgid "" +#~ "The margins you specified change the page aspect ratio. Do you want to " +#~ "print with the aspect ratio changed or do you want the margins to be " +#~ "adapted so that the aspect ratio is preserved?" +#~ msgstr "" +#~ "Marginerne du angav ændrer sidens proportion. Vil du udskrive med den " +#~ "ændrede proportion, eller vil du at marginerne indstilles så " +#~ "proportionen bevares?" + +#~ msgid "Aspect ratio change" +#~ msgstr "Ændring af proportion" + +#~ msgid "Print with specified margins" +#~ msgstr "Udskriv med angivne marginer" + +#~ msgid "Print adapting margins to keep aspect ratio" +#~ msgstr "Udskriv med indstillede marginer som beholder proportionen" + +#~ msgid "Xpdf author" +#~ msgstr "Forfatter til Xpdf" + +#~ msgid "" +#~ "You are trying to overwrite \"%1\" with itself. This is not allowed. " +#~ "Please save it in another location." +#~ msgstr "" +#~ "Du forsøger at overskrive \"%1\" med sigselv. Dette er ikke tilladt. Gem " +#~ "den venligst et andet sted." diff --git a/po/da/okular_comicbook.po b/po/da/okular_comicbook.po new file mode 100644 index 0000000..a658c41 --- /dev/null +++ b/po/da/okular_comicbook.po @@ -0,0 +1,58 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Martin Schlander , 2008. +msgid "" +msgstr "" +"Project-Id-Version: okular_comicbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-12-16 18:28+0100\n" +"Last-Translator: Martin Schlander \n" +"Language-Team: Danish \n" +"Language: da\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.2\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Martin Schlander" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "mschlander@opensuse.org" + +#: document.cpp:97 +#, fuzzy, kde-format +#| msgid "Cannot open document, unrar was not found." +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "Kan ikke åbne dokument, unrar blev ikke fundet." + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "" +"Versionen af unrar på dit system er ikke egnet til åbning af comicbook-filer." + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "Ukendt ComicBook-format." + +#~ msgid "ComicBook Backend" +#~ msgstr "ComicBook-motor" + +#~ msgid "A renderer for various comic book formats" +#~ msgstr "Rendering af diverse tegneserieformater" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/da/okular_djvu.po b/po/da/okular_djvu.po new file mode 100644 index 0000000..595c1fa --- /dev/null +++ b/po/da/okular_djvu.po @@ -0,0 +1,140 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Rune Rønde Møller , 2008. +# Martin Schlander , 2008. +# Anders Lund , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_djvu\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-01-05 21:18+0100\n" +"Last-Translator: Anders Lund \n" +"Language-Team: Danish \n" +"Language: da\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.2\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Rune Rønde Møller" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "runermoeller@gmail.com" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "Editor" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "Udgiver" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "Bind" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "Dokumenttype" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "Ukendt" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "Komponentfiler" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "Ukendt" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "Enkelt side" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "Bundtet" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "Indirekte" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "Bundtet (gammel)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "Indekseret (gammel)" + +#~ msgid "DjVu Backend" +#~ msgstr "DjVU dokumentmotor" + +#~ msgid "DjVu backend based on DjVuLibre." +#~ msgstr "DjVu-motor baseret på DjVuLibre." + +#~ msgid "© 2006-2008 Pino Toscano" +#~ msgstr "© 2006-2008 Pino Toscano" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgctxt "Unknown title" +#~ msgid "Unknown" +#~ msgstr "Ukendt" + +#~ msgctxt "Unknown author" +#~ msgid "Unknown" +#~ msgstr "Ukendt" + +#~ msgctxt "Unknown editor" +#~ msgid "Unknown" +#~ msgstr "Ukendt" + +#~ msgctxt "Unknown publisher" +#~ msgid "Unknown" +#~ msgstr "Ukendt" + +#~ msgctxt "Unknown creation date" +#~ msgid "Unknown" +#~ msgstr "Ukendt" + +#~ msgctxt "Unknown volume information" +#~ msgid "Unknown" +#~ msgstr "Ukendt" + +#~ msgctxt "Unknown type of document" +#~ msgid "Unknown" +#~ msgstr "Ukendt" + +#~ msgid "A DjVu backend" +#~ msgstr "Dokumentmotor til DjVU" diff --git a/po/da/okular_dvi.po b/po/da/okular_dvi.po new file mode 100644 index 0000000..bdbdebf --- /dev/null +++ b/po/da/okular_dvi.po @@ -0,0 +1,860 @@ +# translation of okular_dvi.po to +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Martin Schlander , 2008. +# Martin Schlander , 2008, 2009, 2013, 2014. +msgid "" +msgstr "" +"Project-Id-Version: okular_dvi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2014-03-09 16:17+0100\n" +"Last-Translator: Martin Schlander \n" +"Language-Team: Danish \n" +"Language: da\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Rune Rønde Møller" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "runermoeller@gmail.com" + +#: dviexport.cpp:123 +#, fuzzy, kde-format +#| msgid "" +#| "Okular could not locate the program 'dvipdfm' on your computer. This " +#| "program is essential for the export function to work. You can, however, " +#| "convert the DVI-file to PDF using the print function of Okular, but that " +#| "will often produce documents which print okay, but are of inferior " +#| "quality if viewed in Acrobat Reader. It may be wise to upgrade to a more " +#| "recent version of your TeX distribution which includes the 'dvipdfm' " +#| "program.\n" +#| "Hint to the perplexed system administrator: Okular uses the PATH " +#| "environment variable when looking for programs." +msgid "" +"

Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

" +msgstr "" +"Okular kunne ikke lokalisere programmet 'dvipdfm' på din computer. Dette " +"program er essensielt for at eksportering virker. Du kan dog konvertere DVI-" +"filen til PDF ved hjælp af Okulars udskrivningsfunktionalitet, men dette " +"resulterer ofte i dokumenter der til trods for god udskriftskvalitet, " +"fremstår i dårlig kvalitet når det åbnes med Acrobat Reader. Det kan være en " +"fordel at opgradere til en nyere version af din TeX-distribution, der " +"inkluderer 'dvipdfm'-programmet.\n" +"Tip til systemadministrator: Okular bruger PATH-miljøvariblen når der ledes " +"efter programmer." + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Det eksterne program 'dvipdfm', der blev brugt til at eksportere filen, " +"rapporterede en fejl. Du har måske lyst til at se i dokumentinfo-" +"dialogen som du finder i Fil-menuen efter en præcis fejlrapport." + +#: dviexport.cpp:168 +#, fuzzy, kde-format +#| msgid "" +#| "This DVI file refers to external graphic files which are not in " +#| "PostScript format, and cannot be handled by the 'dvips' program that " +#| "Okular uses internally to print or to export to PostScript. The " +#| "functionality that you require is therefore unavailable in this version " +#| "of Okular." +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" +"DVI-filen refererer til eksterne grafikfiler som ikke er i PostScript-" +"formatet og som ikke kan behandles af programmet \"dvips\", som Okular " +"bruger internt til at udskrive eller eksportere til PostScript. " +"Funktionaliteten er derfor ikke tilstede i denne version af Okular." + +#: dviexport.cpp:176 +#, fuzzy, kde-format +#| msgid "" +#| "Okular could not locate the program 'dvips' on your computer. That " +#| "program is essential for the export function to work.\n" +#| "Hint to the perplexed system administrator: Okular uses the PATH " +#| "environment variable when looking for programs." +msgid "" +"

Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

" +msgstr "" +"Okular kunne ikke lokalisere programmet 'dvips' på dit system. Programmet er " +"essensielt for at eksporteringsfunktionen fungerer.\n" +". Tip til systemadministratoren: Okular bruger PATH-miljøvariablen når der " +"ledes efter programmer." + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Det eksterne program 'dvips', der blev brugt til at eksportere filen, " +"rapporterede en fejl. Du har måske lyst til at se i dokumentinfo-" +"dialogen som du finder i Fil-menuen efter en præcis fejlrapport." + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "DVI-filen starter ikke med præambelet." + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" +"DVI-filen indeholder den forkerte udgave af DVI-uddata til dette program. " +"Tip: Hvis du bruger typografisystemet Omega, skal du bruge et specielt " +"program som for eksempel oxdvi." + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "DVI-filen er beskadiget. Okular kunne ikke finde postambelet." + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "Postambelet begynder ikke med POST-kommandoen." + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "Postambelet indeholdt en anden kommando end FNTDEF." + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "Siden %1 begynder ikke med BOP-kommandoen." + +#: dviFile.cpp:354 +#, fuzzy, kde-format +#| msgid "" +#| "

The external program pdf2ps could not be started. " +#| "As a result, the PDF-file %1 could not be converted to PostScript. Some " +#| "graphic elements in your document will therefore not be displayed.

Possible reason: The program pdf2ps may not " +#| "be installed on your system, or cannot be found in the current search " +#| "path.

What you can do: The program pdf2ps " +#| "is normally contained in distributions of the ghostscript PostScript " +#| "interpreter system. If ghostscript is not installed on your system, you " +#| "could install it now. If you are sure that ghostscript is installed, try " +#| "to use pdf2ps from the command line to check if it " +#| "really works.

PATH: %2

" +msgid "" +"

The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

PATH: %2

" +msgstr "" +"

Det eksterne program pdf2ps kunne ikke startes. Som " +"en følge heraf kunne PDF-filen %1 ikke konverteres til PostScript. Nogle " +"grafiske elementer i dit dokument vil derfor ikke være synlige.

Mulig årsag: Programmet pdf2ps er muligvis ikke " +"installeret på dit system, eller også kan det ikke findes i søgestien.

Dette kan du gøre: Programmet pdf2ps findes " +"normalt i distributioner af Ghostscript PostScript fortolkersystemet. Hvis " +"Ghostscipt ikke er installeret på dit system, kan du installere det nu. Hvis " +"du er sikker på at Ghostscript er installeret, så forsøg at bruge " +"pdf2ps fra kommandolinjen for at konstatere at det virker.

STI: %2

" + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

%2

" +msgstr "" +"

PDF-filen %1 kunne ikke konverteres til PostScript. Visse grafiske " +"elementer i dit dokument vil derfor ikke blive vist.

Mulig årsag: Filen %1 er måske defekt, eller er måske slet ikke en PDF-fil. Dette er " +"outputtet fra pdf2ps-programmet som Okular brugte:

%2

" + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "Fil defekt. %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "Ikke alle PostScript-filer kunne indlejres i dit dokument. %1" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "Alle eksterne PostScript-filer blev indlejret i dit dokument." + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "Den angivne fil \"%1\" findes ikke." + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" +"Du har bedt Okular om at finde stedet i DVI-filen, som svarer til linje %1 i " +"TeX-filen %2. Det lader dog ikke til at DVI-filen indeholder den nødvendige " +"kildefil-information." + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" +"Okular kunne ikke finde stedet i DVI-filen som svarer til linje %1 i TeX-" +"filen %2." + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "DVI-koden satte et tegn fr en ukendt skrifttype." + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "" +"DVI-koden refererede til skrifttype #%1, som ikke tidligere har været " +"defineret." + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "Stakken var ikke tom da en EOP-kommando blev mødt." + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "Stakken var tom da en POP-kommando blev mødt." + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "" +"DVI-koden refererede til en skrifttype der ikke tidligere er blevet " +"defineret." + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "En ugyldig kommando blev mødt." + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "Okular stødte på den ukendte op-kode %1." + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "Indlejrer %1" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
" +msgstr "" +"Side %1: PDF-filen %2 kunne ikke konverteres til PostScript." +"
" + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
" +msgstr "Side %1: PostScript-filen %2 kunne ikke findes.
" + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "Papirstørrelsesdata '%1' kunne ikke fortolkes." + +#: fontpool.cpp:209 +#, fuzzy, kde-format +#| msgid "" +#| "Okular was not able to locate all the font files which are necessary to " +#| "display the current DVI file. Your document might be unreadable.\n" +#| "PATH: %1\n" +#| "kpswhich: %2" +msgid "" +"

Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

PATH: %1

%2

" +msgstr "" +"Okular kunne ikke lokalisere alle filerne der skal bruges for at kunne " +"fremvise den aktuelle DVI-fil. Dit dokument kan fremstå ulæseligt.\n" +"Sti: %1\n" +"kpswhich: %2" + +#: fontpool.cpp:284 +#, fuzzy, kde-format +#| msgid "" +#| "There were problems running 'kpsewhich'. As a result, some font files " +#| "could not be located, and your document might be unreadable.\n" +#| "Possible reason: The kpsewhich program is perhaps not installed on your " +#| "system, or it cannot be found in the current search path.\n" +#| "PATH: %1\n" +#| "kpswhich: %2" +msgid "" +"

There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

PATH: %1

%2

" +msgstr "" +"Der opstod nogle problemer ved kørsel af \"kpsewhich\". Derfor kunne nogle " +"skrifttype-filer ikke findes og dit dokument er måske ulæseligt.\n" +"Mulig årsag: Programmet kpsewhich er måske ikke installeret på dit system, " +"eller det kan ikke findes i den aktuelle søgesti.\n" +"Sti: %1\n" +"kpswhich: %2" + +#: fontpool.cpp:305 +#, fuzzy, kde-format +#| msgid "" +#| "The font generation by 'kpsewhich' was aborted (exit code %1, error %2). " +#| "As a result, some font files could not be located, and your document " +#| "might be unreadable." +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" +"Skrifttypegenereringen af \"kpsewhich\" blev afbrudt (afslutningskode %1, " +"fejl %2). Som resultat heraf kan nogle skrifttypefiler ikke findes, og dit " +"dokument kan måske være ulæseligt." + +#: fontpool.cpp:482 +#, fuzzy, kde-format +#| msgid "Currently generating %1 at %2 dpi" +msgid "Currently generating %1 at %2 dpi…" +msgstr "Genererer %1 ved %2 dpi" + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "Producent/Dato" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "Skrifttypefil ikke fundet" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "stående" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "liggende" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" +"Versionen af Ghostview som er installeret på denne computer indeholder ikke " +"nogen af Ghostviews enhedsdrivere som Okular kender. PostScript-" +"understøttelse er derfor blevet slået fra i Okular." + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "Der er vist 25 fejl. Der vil ikke blive vist flere fejlbeskeder." + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" +"Fejl i DVI-fil '%1', side %2. Farve-POP kommando forsøgt udført selvom " +"farvestakken er tom." + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" +"Misdannet parameter i epsf specialkommando.\n" +"Forventede at et flydende kommatal ville følge %1 i %2." + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"Fil ikke fundet:\n" +" %1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" +"Fejl i DVI-fil '%1', side '%2. Kunne ikke fortolke vinkel i tekstrotering." + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "Kommandoen '%1' er ikke implementeret." + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" +"Skrifttypefilen %1 kunne åbnes og læses, men skrifttypeformatet er ikke " +"understøttet." + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "" +"Skrifttypefilen %1 er ødelagt, eller også kunne den hverken åbnes eller " +"læses." + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" +"FreeType rapporterede en fejl da tegnstørrelsen til skrifttypefilen %1 " +"skulle sættes." + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "FreeType kunne ikke indlæse tegn #%1 fra skrifttypefilen %2." + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "FreeType kunne ikke optegne tegn #%1 fra skrifttypefilen %2." + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "Tegn #%1 er tomt." + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "Tegn #%1 fra skrifttypefil %2 er tomt." + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "" +"FreeType kunne ikke indlæse størrelser for tegn #%1 fra skrifttypefilen %2." + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "Kan ikke åbne skrifttypefil %1." + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "TexFont_PK::operator[]: Tegn %1 er ikke defineret i skrifttype %2." + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "Uventet %1 i PK-filen %2." + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "Tegnet %1 er for stort i filen %2." + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "Forkert antal gemte bit: tegn %1, skrifttype %2." + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "Ødelgt pk-fil (%1), for mange bit." + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "Skrifttypen har ikke-kvadratisk aspektratio." + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "Kan ikke finde skrifttypen %1, fil %2." + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "Tjeksummen for skrifttypefilen %1 er forkert sammensat." + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "Kan ikke genkende formatet af skrifttypefilen %1" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"Fatal fejl.\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" +"\n" +"\n" +"Dette betyder sandsynligvis at du enten har fundet en fejl i Okular,\n" +"eller at DVI-filen, tilbehørsfiler (såsom skrifttypefiler, \n" +"eller virtuelle skrifttypefiler) var meget defekte.\n" +"Okular vil afslutte efter denne besked. Hvis du tror du har fundet \n" +"en eller Okular burde opføre sig bedre i denne situation\n" +"så rapportér venligst problemet." + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "Forkert kommandobyte fundet i VF-makroliste: %1" + +#~ msgid "" +#~ "

The Ghostview program, which Okular uses internally to display the " +#~ "PostScript graphics that is included in this DVI file, is generally able " +#~ "to write its output in a variety of formats. The sub-programs that " +#~ "Ghostview uses for these tasks are called 'device drivers'; there is one " +#~ "device driver for each format that Ghostview is able to write. Different " +#~ "versions of Ghostview often have different sets of device drivers " +#~ "available. It seems that the version of Ghostview that is installed on " +#~ "this computer does not contain any of the device drivers " +#~ "that are known to Okular.

It seems unlikely that a regular " +#~ "installation of Ghostview would not contain these drivers. This error may " +#~ "therefore point to a serious misconfiguration of the Ghostview " +#~ "installation on your computer.

If you want to fix the problems with " +#~ "Ghostview, you can use the command gs --help to display " +#~ "the list of device drivers contained in Ghostview. Among others, Okular " +#~ "can use the 'png256', 'jpeg' and 'pnm' drivers. Note that Okular needs to " +#~ "be restarted to re-enable PostScript support.

" +#~ msgstr "" +#~ "

Ghostview-programmet som Okular bruger internt til at vise " +#~ "PostScript-grafikkerne som er inkluderet i DVI-filen, er i almindelighed " +#~ "i stand til at skrive dets output i en mangfoldighed af formater. Under-" +#~ "programmerne som Ghostview bruger til disse opdager kaldes " +#~ "'enhedsdrivere', der er en enhedsdriver for hvert format som Ghostview " +#~ "kan skrive. Forskellige versioner har ofte forskellige enhedsdrivere til " +#~ "rådighed. Det lader til at den version af Ghostview som er installeret på " +#~ "denne computer ikke indeholder nogen af de enhedsdrivere som " +#~ "Okular kender til.

Det virker usandsynligt at en normal " +#~ "installation af Ghostview ikke ville indeholde disse drivere. Denne fejl " +#~ "kan derfor tyde på en alvorlig fejl i konfigurationen af Ghostview-" +#~ "installationen på din computer.

Hvis du ønsker at løse problemet " +#~ "med Ghostview kan du bruge kommandoen gs --help for at " +#~ "vise en liste over enhedsdrivere indeholdt i Ghostview. Blandt andre kan " +#~ "Okular bruge driverne 'png256', 'jpeg' og 'pnm'. Bemærk at Okular skal " +#~ "genstartes for at aktivere PostScript-understøttelse igen.

" + +#~ msgid "DVI Backend" +#~ msgstr "DVI-motor" + +#~ msgid "A DVI file renderer" +#~ msgstr "Rendering af DVI-filer" + +#~ msgid "© 2006 Luigi Toscano" +#~ msgstr "© 2006 Luigi Toscano" + +#~ msgid "" +#~ "

Okular relies on the kpsewhich program to locate font files on " +#~ "your hard disk and to generate PK fonts, if necessary.

" +#~ msgstr "" +#~ "

Okular afhænger af kpsewhich-programmet for at kunne lokalisere " +#~ "skrifttyper på din disk og for at kunne generere PK-skrifttyper.

" + +#~ msgid "Okular is currently generating bitmap fonts..." +#~ msgstr "Okular genererer bitmap-skrifttyper..." + +#~ msgid "Aborts the font generation. Do not do this." +#~ msgstr "Afbryder skrifttype-genereringen. Gør ikke dette." + +#~ msgid "" +#~ "Okular is currently generating bitmap fonts which are needed to display " +#~ "your document. For this, Okular uses a number of external programs, such " +#~ "as MetaFont. You can find the output of these programs later in the " +#~ "document info dialog." +#~ msgstr "" +#~ "Okular er ved at generere bitmap-skrifttyper som er nødvendige for at " +#~ "vise dit dokument. Til dette bruger Okular et antal eksterne programmer, " +#~ "såsom MetaFont. Du kan finde output fra disse programmer senere i " +#~ "dokumentets infodialog." + +#~ msgid "Okular is generating fonts. Please wait." +#~ msgstr "Okular er i gang med at generere skrifttyper. Vent venligst." + +#~ msgid "Font Generation Progress Dialog" +#~ msgstr "Fremgangsdialog til skrifttypegenerering" + +#~ msgid "Abort" +#~ msgstr "Afbryd" + +#~ msgid "What is happening here?" +#~ msgstr "Hvad sker der her?" + +#~ msgid "%v of %m" +#~ msgstr "%v af %m" + +#~ msgid "Please be patient" +#~ msgstr "Vent venligst." + +#~ msgid "*.pdf|Portable Document Format (*.pdf)" +#~ msgstr "*.pdf|Portable Document Format (*.pdf)" + +#~ msgid "Export File As" +#~ msgstr "Eksportér fil som" + +#~ msgid "" +#~ "The file %1\n" +#~ "exists. Do you want to overwrite it?" +#~ msgstr "" +#~ "Filen %1\n" +#~ "eksisterer. Vil du overskrive den?" + +#~ msgid "Overwrite File" +#~ msgstr "Overskriv fil" + +#~ msgid "Overwrite" +#~ msgstr "Overskriv" + +#~ msgid "Using dvipdfm to export the file to PDF" +#~ msgstr "Bruger dvipdfm til at eksportere filen til PDF" + +#~ msgid "" +#~ "Okular is currently using the external program 'dvipdfm' to convert your " +#~ "DVI-file to PDF. Sometimes that can take a while because dvipdfm needs to " +#~ "generate its own bitmap fonts Please be patient." +#~ msgstr "" +#~ "Okular bruger i øjeblikket det eksterne program 'dvipdfm' til at " +#~ "konvertere din DVI-fil til PDF. Somme tider kan dette vare et stykke tid " +#~ "da dvipdfm skal generere sine egne bitmap-skrifttyper. Vent venligst." + +#~ msgid "Waiting for dvipdfm to finish..." +#~ msgstr "Venter på at dvipdfm skal afslutte..." + +#~ msgid "*.ps|PostScript (*.ps)" +#~ msgstr "*.ps|PostScript (*.ps)" + +#~ msgid "Using dvips to export the file to PostScript" +#~ msgstr "Bruger dvips til at eksportere filen til PostScript." + +#~ msgid "" +#~ "Okular is currently using the external program 'dvips' to convert your " +#~ "DVI-file to PostScript. Sometimes that can take a while because dvips " +#~ "needs to generate its own bitmap fonts Please be patient." +#~ msgstr "" +#~ "Okular bruger i øjeblikket det eksterne program 'dvips' til at konvertere " +#~ "DVI-filen til PostScript. Somme tider kan dette vare et stykke tid, da " +#~ "dvips skal generere sine egne bitmap-skrifttyper. Vent venligst." + +#~ msgid "Waiting for dvips to finish..." +#~ msgstr "Venter på at dvips skal afslutte..." + +#~ msgid "Functionality Unavailable" +#~ msgstr "Funktionalitet ikke til rådighed" + +#~ msgid "" +#~ "File corruption Okular could not interpret your DVI " +#~ "file. This is most commonly caused by a corrupted file." +#~ msgstr "" +#~ "Filen er ødelagt Okular kunne ikke fortolke din DVI-" +#~ "fil. Dette skyldes som regel en ødelagt fil." + +#~ msgid "DVI File Error" +#~ msgstr "DVI-fejl" + +#~ msgid "Not All Font Files Found" +#~ msgstr "Ikke alle skrifttypefiler blev fundet." + +#~ msgid "Locating fonts..." +#~ msgstr "Lokaliserer skrifttyper..." + +#~ msgid "" +#~ "

There were problems running kpsewhich. As a result, some font " +#~ "files could not be located, and your document might be unreadable.

Possible reason: The kpsewhich program is perhaps not " +#~ "installed on your system, or it cannot be found in the current search " +#~ "path.

What you can do: The kpsewhich program is normally " +#~ "contained in distributions of the TeX typesetting system. If TeX is not " +#~ "installed on your system, you could install the TeX Live distribution " +#~ "(www.tug.org/texlive). If you are sure that TeX is installed, please try " +#~ "to use the kpsewhich program from the command line to check if it really " +#~ "works.

" +#~ msgstr "" +#~ "

Der opstod problemer ved kørslen af kpsewhich. Nogle " +#~ "skrifttypefiler kunne derfor ikke lokaliseres og dit dokument kan fremstå " +#~ "ulæseligt.

Mulig årsag: kpsewhich-programmet et muligvis " +#~ "ikke installeret på dit system, eller måske findes det ikke iden aktuelle " +#~ "søgesti.

Dette kan du gøre: kpsewhich programmet er normalt " +#~ "en del af distributioner af TeX typografisystemet. Hvis ikke TeX er " +#~ "installeret på dit system, kan du installere TeX Live distributionen (www." +#~ "tug.org/texlive). Hvis du ved at TeX er installeret, så prøv at bruge " +#~ "kpsewhich-programmet fra kommandolinjen for at sikre dig at det virker." + +#~ msgid "Problem locating fonts" +#~ msgstr "Problem med at finde skrifttyper" + +#~ msgid "Font generation aborted" +#~ msgstr "Skrifttypegenerering afbrudt" + +#~ msgid "Export: %1 to PDF" +#~ msgstr "Eksportér: %1 til PDF" + +#~ msgid "Export: %1 to PostScript" +#~ msgstr "Ekportér: %1 til PostScript" + +#~ msgid "The fontlist is currently empty." +#~ msgstr "Skrifttypelisten er i øjeblikket tom." + +#~ msgid "TeX Name" +#~ msgstr "TeX-navn" + +#~ msgid "Family" +#~ msgstr "Familie" + +#~ msgid "Zoom" +#~ msgstr "Forstør" + +#~ msgid "Type" +#~ msgstr "Type" + +#~ msgid "Encoding" +#~ msgstr "Tegnsæt" + +#~ msgid "Comment" +#~ msgstr "Kommentar" + +#~ msgid "TeX virtual" +#~ msgstr "Virtuel TeX" + +#~ msgid "TeX Font Metric" +#~ msgstr "TeX skrifttypesystem" + +#~ msgid "FreeType" +#~ msgstr "FreeType" + +#~ msgid "Could not allocate memory for a font structure" +#~ msgstr "Kunne ikke allokere hukommelse til en skrifttypestruktur" + +#~ msgid "Not enough memory to load the DVI-file." +#~ msgstr "Ikke nok hukommelse til at indlæse DVI-filen." + +#~ msgid "Could not load the DVI-file." +#~ msgstr "Kunne ikke indlæse DVI-filen." + +#~ msgid "Checksum mismatch" +#~ msgstr "Tjeksum stemmer ikke overens" + +#~ msgid " in font file " +#~ msgstr " i skrifttypefil" + +#~ msgid "Could not allocate memory for a macro table." +#~ msgstr "Kunne ikke allokere hukommelse til makrotabel." + +#~ msgid "Virtual character " +#~ msgstr "Virtuelt tegn" + +#~ msgid " in font " +#~ msgstr " i skrifttype" + +#~ msgid " ignored." +#~ msgstr " ignoreret." + +#~ msgid "Fatal Error" +#~ msgstr "Fatal fejl" diff --git a/po/da/okular_epub.po b/po/da/okular_epub.po new file mode 100644 index 0000000..d98488c --- /dev/null +++ b/po/da/okular_epub.po @@ -0,0 +1,55 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Martin Schlander , 2008, 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_epub\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-07-10 19:28+0200\n" +"Last-Translator: Martin Schlander \n" +"Language-Team: Danish \n" +"Language: da\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Martin Schlander" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "mschlander@opensuse.org" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "Fejl under åbning af EPub-dokumentet." + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "EPub" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "Konfiguration af EPub-motor" + +#~ msgid "EPub Backend" +#~ msgstr "EPub-motor" + +#~ msgid "An EPub backend" +#~ msgstr "En EPub-motor" + +#~ msgid "© 2008 Ely Levy" +#~ msgstr "© 2008 Ely Levy" + +#~ msgid "Ely Levy" +#~ msgstr "Ely Levy" diff --git a/po/da/okular_fax.po b/po/da/okular_fax.po new file mode 100644 index 0000000..7ccbc34 --- /dev/null +++ b/po/da/okular_fax.po @@ -0,0 +1,45 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Martin Schlander , 2008. +msgid "" +msgstr "" +"Project-Id-Version: okular_fax\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-12-16 18:29+0100\n" +"Last-Translator: Martin Schlander \n" +"Language-Team: Danish \n" +"Language: da\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.2\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Martin Schlander" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "mschlander@opensuse.org" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "Kan ikke indlæse dokument" + +#~ msgid "Fax Backend" +#~ msgstr "Fax-motor" + +#~ msgid "A G3/G4 fax document backend" +#~ msgstr "A G3/G4 motor til fax-dokument" + +#~ msgid "© 2008 Tobias Koenig" +#~ msgstr "© 2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/da/okular_fictionbook.po b/po/da/okular_fictionbook.po new file mode 100644 index 0000000..7eb383a --- /dev/null +++ b/po/da/okular_fictionbook.po @@ -0,0 +1,93 @@ +# translation of okular_fictionbook.po to +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Martin Schlander , 2008, 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_fictionbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-07-10 19:26+0200\n" +"Last-Translator: Martin Schlander \n" +"Language-Team: Danish \n" +"Language: da\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Martin Schlander" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "mschlander@opensuse.org" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "Dokumentet er ikke gyldig FictionBook" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "Kan ikke åbne dokumentet: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "Dokumentet er ikke et gyldigt ZIP-arkiv" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "Ugyldig dokumentstruktur (hovedmappen mangler)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "Intet indhold fundet i dokumentet" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "Ugyldigt XML-dokument: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "FictionBook" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "Konfiguration af FictionBook" + +#~ msgid "Fiction Book Backend" +#~ msgstr "Fiction Book-motor" + +#~ msgid "A renderer for FictionBook eBooks" +#~ msgstr "Rendering af FictionBook e-bøger" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" + +#~ msgid "Title" +#~ msgstr "Titel" + +#~ msgid "Author" +#~ msgstr "Forfatter" + +#~ msgid "Producer" +#~ msgstr "Producent" + +#~ msgid "Created" +#~ msgstr "Oprettet" diff --git a/po/da/okular_ghostview.po b/po/da/okular_ghostview.po new file mode 100644 index 0000000..93a9d7c --- /dev/null +++ b/po/da/okular_ghostview.po @@ -0,0 +1,92 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Rune Rønde Møller , 2008. +# Martin Schlander , 2008, 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_ghostview\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-05-08 12:46+0200\n" +"Last-Translator: Martin Schlander \n" +"Language-Team: Danish \n" +"Language: da\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.3\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Rune Rønde Møller" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "runermoeller@gmail.com" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "Brug platformskrifttyper" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"Bestemmer om Ghostscript skal tillades at bruge platformskrifttyper. Hvis " +"falsk, vil kun brug af skrifttyper indlejret i dokumentet blive tilladt." + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "Generelle indstillinger" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "&Benyt platformskrifttyper" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Indstilling af Ghostscript dokumentmotor" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "Dokumentversion" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "Sprogniveau" + +#~ msgid "PS Backend" +#~ msgstr "PS-motor" + +#~ msgid "A PostScript file renderer." +#~ msgstr "Rendering af PostScript-filer." + +#~ msgid "© 2007-2008 Albert Astals Cid" +#~ msgstr "© 2007-2008 Albert Astals Cid" + +#~ msgid "Based on the Spectre library." +#~ msgstr "Baseret på Spectre-biblioteket." + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" diff --git a/po/da/okular_kimgio.po b/po/da/okular_kimgio.po new file mode 100644 index 0000000..62f8a0b --- /dev/null +++ b/po/da/okular_kimgio.po @@ -0,0 +1,70 @@ +# Copyright (C) 2008 This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Rune Rønde Møller , 2008. +# Martin Schlander , 2009, 2018. +msgid "" +msgstr "" +"Project-Id-Version: okular_kimgio\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2018-01-10 19:21+0100\n" +"Last-Translator: Martin Schlander \n" +"Language-Team: Danish \n" +"Language: da\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 2.0\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Rune Rønde Møller" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "runermoeller@gmail.com" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "Kunne ikke indlæse dokument: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" +"Dette dokument lader til at være i forkert format. Dette er den bedste " +"tilnærmelse til dokumentets tilsigtede udseende." + +#~ msgid "Image Backend" +#~ msgstr "Billedmotor" + +#~ msgid "A simple image backend" +#~ msgstr "En simpel billedmotor" + +#~ msgid "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" +#~ msgstr "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" + +#~ msgid "Main Toolbar" +#~ msgstr "Hovedværktøjslinje" diff --git a/po/da/okular_markdown.po b/po/da/okular_markdown.po new file mode 100644 index 0000000..b139084 --- /dev/null +++ b/po/da/okular_markdown.po @@ -0,0 +1,53 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Martin Schlander , 2020. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-07-22 12:29+0200\n" +"Last-Translator: Martin Schlander \n" +"Language-Team: Danish \n" +"Language: da\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 20.04.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Martin Schlander" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "mschlander@opensuse.org" + +#: converter.cpp:59 converter.cpp:93 +#, kde-format +msgid "Failed to open the document" +msgstr "" + +#: converter.cpp:106 converter.cpp:124 +#, kde-format +msgid "Failed to compile the Markdown document." +msgstr "" + +#: generator_md.cpp:58 +#, kde-format +msgid "Enable SmartyPants formatting" +msgstr "" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown" +msgstr "" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown Backend Configuration" +msgstr "" diff --git a/po/da/okular_mobi.po b/po/da/okular_mobi.po new file mode 100644 index 0000000..592b38d --- /dev/null +++ b/po/da/okular_mobi.po @@ -0,0 +1,61 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Martin Schlander , 2009, 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_mobi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-07-10 19:27+0200\n" +"Last-Translator: Martin Schlander \n" +"Language-Team: Danish \n" +"Language: da\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Martin Schlander" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "mschlander@opensuse.org" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Fejl under åbning af Mobipocket-dokument." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "Denne bog er beskyttet af DRM og kan kun vises på udvalgte enheder" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "Mobipocket" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "Konfiguration af Mobipocket-motor" + +#~ msgid "Mobipocket Backend" +#~ msgstr "Mobipocket-motor" + +#~ msgid "A mobipocket backend" +#~ msgstr "En mobipocket-motor" + +#~ msgid "© 2008-2009 Jakub Stachowski" +#~ msgstr "© 2008-2009 Jakub Stachowski" + +#~ msgid "Jakub Stachowski" +#~ msgstr "Jakub Stachowski" diff --git a/po/da/okular_poppler.po b/po/da/okular_poppler.po new file mode 100644 index 0000000..70b0197 --- /dev/null +++ b/po/da/okular_poppler.po @@ -0,0 +1,408 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Rune Rønde Møller , 2008. +# Martin Schlander , 2008. +# Martin Schlander , 2008, 2009, 2010, 2012, 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_poppler\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-07-10 20:18+0200\n" +"Last-Translator: Martin Schlander \n" +"Language-Team: Danish \n" +"Language: da\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Rune Rønde Møller" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "runermoeller@gmail.com" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "Forbedr tynde linjer:" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "Nej" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "Massiv" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "Form" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "PDF-indstillinger" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "Udskriv kommentarer" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "Medtag kommentarer i det udskrevne dokument" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"Medtager kommentarer i det udskrevne dokument. Du kan deaktivere dette hvis " +"du vil udskrive det oprindelige ukommenterede dokument." + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "Påtving raster" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "Konvertér til rasterbillede før udskrivning" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"Påtvinger konvertering af hver side til et rasterbillede før udskrivning. " +"Dette medfører som regel dårligere resultater, men er nyttigt når man " +"udskriver dokumenter der ser ud til at udskrives fejlagtigt i forhold til " +"originaldokumentet." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF v. %1.%2" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "Format" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "Krypteret" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "Ukrypteret" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "Sikkerhed" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "Ja" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "Optimeret" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "Konfiguration af PDF-motor" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "" + +#: pdfsignatureutils.cpp:239 +#, fuzzy, kde-format +#| msgid "Document Password" +msgid "Enter Password" +msgstr "Dokumentadgangskode" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "" + +#~ msgid "PDF Backend" +#~ msgstr "PDF-motor" + +#~ msgid "A PDF file renderer" +#~ msgstr "Rendering af PDF-filer" + +#~ msgid "© 2005-2008 Albert Astals Cid" +#~ msgstr "© 2005-2008 Albert Astals Cid" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Saving files with /Encrypt is not supported." +#~ msgstr "Gemning af filer med /Encrypt er ikke understøttet." + +#~ msgid "Unknown" +#~ msgstr "Ukendt" + +#~ msgid "Unknown Date" +#~ msgstr "Ukendt dato" + +#~ msgid "Unknown Encryption" +#~ msgstr "Ukendt kryptering" + +#~ msgid "Unknown Optimization" +#~ msgstr "Ukendt optimering" + +#~ msgid "Please enter the password to read the document:" +#~ msgstr "Angiv adgangskoden for at læse dokumentet:" + +#~ msgid "Incorrect password. Try again:" +#~ msgstr "Forkert adgangskode. Prøv igen:" diff --git a/po/da/okular_txt.po b/po/da/okular_txt.po new file mode 100644 index 0000000..045199b --- /dev/null +++ b/po/da/okular_txt.po @@ -0,0 +1,50 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Martin Schlander , 2014. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2014-03-09 16:17+0100\n" +"Last-Translator: Martin Schlander \n" +"Language-Team: Danish \n" +"Language: da\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 1.5\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Martin Schlander" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "mschlander@opensuse.org" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "Txt" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "Konfiguration af txt-motor" + +#~ msgid "Txt Backend" +#~ msgstr "Txt-motor" + +#~ msgid "Txt backend." +#~ msgstr "Txt-motor." + +#~ msgid "© 2013 Azat Khuzhin" +#~ msgstr "© 2013 Azat Khuzhin" + +#~ msgid "Azat Khuzhin" +#~ msgstr "Azat Khuzhin" diff --git a/po/da/okular_xps.po b/po/da/okular_xps.po new file mode 100644 index 0000000..b012090 --- /dev/null +++ b/po/da/okular_xps.po @@ -0,0 +1,58 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Rune Rønde Møller , 2008. +# Martin Schlander , 2008. +msgid "" +msgstr "" +"Project-Id-Version: okular_xps\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-12-16 18:29+0100\n" +"Last-Translator: Martin Schlander \n" +"Language-Team: Danish \n" +"Language: da\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.2\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Rune Rønde Møller" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "runermoeller@gmail.com" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "Revision" + +#~ msgid "XPS Backend" +#~ msgstr "XPS dokumentmotor" + +#~ msgid "An XPS backend" +#~ msgstr "Dokumentmotor til XML Paper Specification formatet" + +#~ msgid "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" +#~ msgstr "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" + +#~ msgid "Brad Hards" +#~ msgstr "Brad Hards" + +#~ msgid "Jiri Klement" +#~ msgstr "Jiri Klement" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" diff --git a/po/da/org.kde.active.documentviewer.po b/po/da/org.kde.active.documentviewer.po new file mode 100644 index 0000000..46938bc --- /dev/null +++ b/po/da/org.kde.active.documentviewer.po @@ -0,0 +1,222 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Martin Schlander , 2012. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2012-11-19 20:51+0100\n" +"Last-Translator: Martin Schlander \n" +"Language-Team: Danish \n" +"Language: da\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 1.4\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "Bogmærker" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +msgid "Export…" +msgstr "" + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "" + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "" + +#: ui/Main.qml:49 +msgid "About" +msgstr "" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "" + +#: ui/MainView.qml:29 +#, fuzzy +#| msgid "Bookmarks" +msgid "Bookmark this page" +msgstr "Bogmærker" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "Miniaturer" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "Indholdsfortegnelse" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:96 +msgid "Document Version" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:108 +msgid "Save Signed Version…" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +msgid "View Certificate…" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "" + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "Ingen resultater fundet." + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "" + +#: ui/WelcomeView.qml:108 +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "" + +#~ msgid "Document viewer for Plasma Active using Okular" +#~ msgstr "Dokumentfremviser til Plasma Active som bruger Okular" + +#~ msgid "Reader" +#~ msgstr "Læser" + +#~ msgid "Copyright 2012 Marco Martin" +#~ msgstr "Ophavsret 2012 Marco Martin" + +#~ msgid "Marco Martin" +#~ msgstr "Marco Martin" + +#~ msgid "URL of the file to open" +#~ msgstr "URL til filen der skal åbnes" diff --git a/po/de/docs/okular/annotation-properties.png b/po/de/docs/okular/annotation-properties.png new file mode 100644 index 0000000000000000000000000000000000000000..113df33bc88788079d54d0592d730832ab0a11a8 GIT binary patch literal 15202 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 Z$aW114~Fd{6cOM*1z8oDYH85d{{wIEW|#l~ literal 0 HcmV?d00001 diff --git a/po/de/docs/okular/configure-editor.png b/po/de/docs/okular/configure-editor.png new file mode 100644 index 0000000000000000000000000000000000000000..c20b37d366be9367e3f4544803eedf920c339e67 GIT binary patch literal 31947 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

0rA_Rfq46P}wEx4!_ zqB&yZKyWS~02s1=r-Pi1r)2cYy@Lr09+tMw69JEjSM9(G(?hFP}O5PA8n-( z0I#>&eT|s+_e5wnKm)=(oef987E4VAkc5tD=_02Jo^4qSc$j z*(?;0R$xx$AxK69kQ9i@0C$1piF?8Re{u*skgChX+ zq85bu_Wrb+8QzT<0D|71{;v+0fuc75RRFyf^n&Bz6nF->abM+qMgNO~Zp??){(suI z6aD{Ny8mA|^uJAafMNe9hyM4O{{MaB`}&YVfncIfaxei^`w??@=!LOKfJy`ux6!O& z@zfUWO#!G9Tzgk4@#L*vmNKKGYT-YL_KXWKYV^l+!#UDU=pCz}D&v8!cFH5aXhWgL zfaU?oBaeXJ{iGZ40~D~A74BVLZe!g(p;g+#BayY96!uN0ae_K~pZTt=$hEavl9&zV z)SmqtMtXPVz(zuFbJaQrB33{5;`p`7?3k}eFPs)wakrY6lz@lLYSME2EkZVh=ACYF%w>#yxlu(-PlXdy5@L)aJ4iqYP($3 zaBkzZWx-d$7HbvNcVKS%${fS7qLI$mYDw-#W=n(MZhLw8)Z*!^&g|SI--~iFvLBu; zSc>J77=H+))LuJ^mh(^s1$+sJ{v03wnc)@sBV2Tux0Dct^e2CGcIM|MRmz=h>rwao zy$y~IpW9GXzxIXhovrJ7o9?;lndi3O&hQ@yB|a^(j?pHv{6Ixe|7=l$+ojNDy-wxP zt^%CP%dHJ;rk784gU7!D=T~@7{A4O?i9+g&T7_@Y>vW$uZo96``XVmeW-hk zYgv6S_M$eRzkt04XXfIZ1rxSQuLY{BgoLDu;)KVPRL5O*jRdc>3QGh)8=Szfg4Orr z>7l4wut|UTcw(oWoo+g1KYVFtu5s*THiJHI`7zXtX^K7LH+#GLClBB9YLc?abVZ@I zQ7!X2G_htO4#E0KC9JDEx~8zEq{-J}N@V1;4b==fpw80;_a$tM=2yfz?tcTkPPaKp zNZKSm;^pya)4x;fte+n%_7MJlbw`2gqvI0NSfStQc;yzQaOCV2jEE;` z(eD5I=!Qt_7qBfGMIR^sBkgpShk9520xahF{`LB`1Be%Gdb7bw~AhLMZymRi1B*$?7}v25+`=)RO%ke3~`i?82it~W)E@U8PaWzJlE*y@xSGCI4r z=i|P&*iPYpt(?q!zOX-Dj}}&4;7a_h8Bd<)fMA<7z$dAH;Z1?JXvoZEJ^U}p>-R1Q z+NlL0+Bk(GGTu2?#q@L zIp5QL#DrpMr#n7hpd_;Frwe@iR3NrrwPGqbBuj}2|I#Q%LHDcLnnc!f8u3wUwP+BM z%Zl@k`7InjENY#!}5oYTqD=vv9Hy}r?$>%1G-xm&qSxXs?rHn!Jm#e^uxuQbLw9PfV? zY;Ayg3%IqwJX;EJdx6n7${UN!8ll}i4#>Qg4=LrEwO^X3;u8g8`@7jHO8a4GX}k%RUlS+jSr|NbM^ zZrngR68CS*97zstw%ebq7^qKE2ZmGblV;t3{RtVQlate26!6UoeoB!?g^2#QcQ388 zhH~*9abtxUJUz6TCKDwA{?g=s^9lNHYjd*r69!JQPzZx=C-z}q@5q4uc3!7 zjQKXn?2y;Sj+BXmWkRchF8J{TK8>~!PTG)cc-+unzbH2kKTa5mNIHwBPGVp5aK?LO zPB-x`A#6?(mymys##Y>Xns8`QCNIrqe~!Rhm$oY17ZS?wtH~k1MXBpp^2LsciMFp_ zl%jo&Uq|+`x;KW-G6pUk^37*JJ*2nT%Y({lXH6|=jruvmJUQ7#CLiAa$Y*5vEPb({^NHe0r}~?x$LCp zH$0)*q$93Q-r-UW3$=@hly3%M0)#`kedjxU(TJat6GVgcRy~tLteqsLkp0Qf5KZAa z|Gmidj|op5^jh95pliPSN%rG@m4)jg>JkuV*bbc+T~4EPj_ zmofhOhZOt~-`(}J_#KTdUWZi`-D+&RhMSMm72dtr zoHTf%_7zC)0=Z(NWfn@UPkDWR0*WP_SKQY%prfq&NYJjW^)`&+ibAx0EAXF5If#2w zBY|kNvy-ax?;MjRBNL;Zua-6Lzii;EfV}nAO|Df_hs21Mr%Z=y=OJp22`xkD()C>X zsDY0P6*KhSrm?$4NOFyJk)sg-`*Qb5dbhciTOLi+LMwCTu0!1Zd0z`X6&m@v?L+JD zzxQHUk*kzYuW}BBvs(4z`hm=2JE+Kh*M9mLq}NP{t~*@-;^S8l?1(TmSIFR5OfHjT zpj(@}L?l}zN9*h7`P)t__2zsM2LD>pEFCbR;!^wsfOmc-FBR4Tu^Qxhk%D3UmJ*YXA)z!s5Cl^ZJ zodOK?^F;rgZT%{ukZL@o`Y916W=Q0Hu_Cd(i9TL%*m(j9D-L_o`OVeo-%pJ16@_-e zR^v}6`gI^e`l=#kqd!ChSR0$0XDmQXmvlTeC1l3Yg9R@Ym<#Yqy-f9XwrwFiT-|YL z^^EFJoOmlJdCemS)le*A^s2uZrr31<;qFe&RiWF?dZ=q|nw+2FC7hu#P0f;$f>T|Z zH;k$=u0nXRRr>^ylBhn^!xYys&L;E2k|Ug5F|syUM~vae$lzEoUQcO@3O4GG597%; zzOKBKhTTK&?PWPsmbABcyw>)MlW6ywtIPS5f|4plPaB7^{JQZm9MKGMv32H%hT@(8P*GFZAj5F5%1se{D5qyw`E~+ zvV49Er||c9q}z)X5fu?_EFl)1HvlXbw=C{wkP+p)@o96&T3mLJW(IdezXVh_^f`N| zCtj;=7HBmEuP;z;6(5Y9gZpwZM5RW13?-WgJ@116Qzj8Q5T;N73=IJS%REfb%jHk4 zpy$ZR0LgyI%7uZtpw}OP8xM=hKCVX{9-7Yk3)_UZ!@do4E%k(uo&H{Sm;o_|F~irYi{{b%v@a3g`1;t8X1+$7 zxkS^A#j>AOk-2`CTazbD8ISHxv{$~HP1IDrAgB?PqKw zQX~;S9TSr^!1+JX}l2+*XyQ+c%3AXW{1(VHxJvypOh;&PbsSUIH6>_q>044ly z9D{0YxA~sy(MiQMy_D*KUe~1V@Le2E&tP1Of9$RBG&ha!j4O_?zn$!;9q=Jn40*DQ zB#GeZNwhG5gl=m;W?~eeWfW!X|4ZlaWuS(%xbiIFdcF+n**`8>=NnXu?uf=u(3TAD z>eAtauSMt=RgUSHB;?a5{GUj-VW6;A&m$|8H#opp3d?)qr0gb;T?e;dU`58rX*BX; zYFpFG+Upo3Fn%On**DSGc95z}qlvx4=DAYYCL}mkKD68uasflb?pB37mgmWk>QTdn zfKKB7HdZMZ=?4CjtpMw*WtS0}kxC{I@qGGw83S!Xz5Bi5S|^d?v!=9v{5O)fi{@@w zoG1-{ika|6_br@s-(6YG0njbod)?X>L-CFEdSfnh1)V;wqEia&!gG(T>smPG(*2Jvz!unJ#ET38+Ljl80x;F6m0evFk z?|DCJ2e@LC5dYWLQqr`9%3+g@I+yoes9AblicM6MSdSRt*;<275d5|c{>Ysh=A8yS zOSZUdoIZpu4~R+d=?Fd@L0^fLfKAo%#e#s5eK3p!u}mjMV5ZkCnhz7xR>px>w#Sn5 zhN~)lloZj(D@EiS{}Jbbd^nX;I5Mjchet#~F4s&7VZ%eXcLefT%zrJDJ-_LwD}UBY zW)4nz#rQFrwauvh@u#=ffQ<~jw~?{cRd2u88!kt+vwI(p&IoKxA>VIRkm1)bpDZpA zw?1ky&xvoFenB=0u<)G9e)W5mV|5Fkk7NVcxtYID5# zx1-Cwzm%W8!%huPc^asq&1|C~{=u?3lGLhee&)xYpV>1Vt{iT-D1Zg~FXqvLH#=jA z0~JxbpMY17Pxv_holK2x_yw(g^0}R#2@fqeU+rt_*EFx0tFc7&!-!yiDbcrK^k0T^ z_ooi6@W0x$vfRH-x9VXT%GIPE%wc4Bv3ECt+PzFr{4s<;4Hax(V4t^oP00kpI#$9= zcc><9;_-cIIf&gdG(>FQmNm9@NbsrWj6-+8c19LLo^%1G!DLc(@SKEPl^Y#=+B)s_ zqUm6|1}26cQr^tNg|V@$2mY9uf#y%Q5>NS}mc}`okkn&4qL1BhSA8B?z0#rh%f`#v z;8M!Bvxvk?SYuy>tt|v=C+24AxHv+fp_wj$LfE>O6QRuOHI29a7&`)r?2W{Inf0VI z#I>eGu64wiu0yWNp|cr^C1cQ`mbNX zf7D2-KZlx9<6fdbwVuLcwhk_$o&0s#OTc-{FxI_$=fd3sEc0 zo7ZSHAYC4*W|2n*zE{s}a@5*?m!76{a-AT{_on#QL+F-&>ej7%e#Q)cjCD0XQwX5- zL-jCBa(1`v^ySzvw3b3XdGfupe}1T*H8}m zm%m=j;3U$(HmW+Vb|--jx47@I27vB7_I4*Kg*%Qr82PB)guOc!u^GbR)^zoYrP2%x zy3C$yxE2|g4VhV~pTD83oNT(}6I0iIk3Xeg%nT%HYA!42sA3W^s(HR2Oe3o&bK7h- zkDC_QGd7Q+&8pi?C{f)A)~;mzB`qUIa43AcX=JS5%Ar=GzH&y^cjFs`>Z3?1Ot9(x znhx{v$VBnuSkXK<#=$&dWqZ|C$?&TM+vC{Bv#VW;Uqbm{MHIg2@BUH(kuZhS4;czC zZF@V2-c=dD`Lr6|Bx)#4{!#j94DFc|k4QIBa_Jyn*3q5gxUA`PV!e&vB(phEvy_KM z`NwJ&|C|N=xGP05Y|GKxg6;;HNs&U4QT>R`6&y8eS)c(EpLm=s0*4!-`+V+l0 z=rA0gx{dt%6Qn^8eC#Dp=~n4GNEP_*N{DDk25<@-;hR0&_#c<^y5;`+WqP%AhWpb0 x<8sJzj{9opUo*lVE-OI_?<)!UEp+!X^PjFfm3X!ku3 literal 0 HcmV?d00001 diff --git a/po/de/docs/okular/configure.png b/po/de/docs/okular/configure.png new file mode 100644 index 0000000000000000000000000000000000000000..c2daf4af985c024cb2fb962468c6e2fcd6e435fd GIT binary patch literal 58853 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 literal 0 HcmV?d00001 diff --git a/po/de/docs/okular/embedded-files-bar.png b/po/de/docs/okular/embedded-files-bar.png new file mode 100644 index 0000000000000000000000000000000000000000..13d06a1895dd7b56e2fd2671c1cca2ab5233e3a4 GIT binary patch literal 6138 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 z zNwR3n&5#gTmN?YLf4YIU zvG6iz#BDt+iU}$SfBFW>Yk?J*AOuui>23Qa@WltR1LXtWZBUnROIMv&1c{>L>o@(J_t%R@=dB3Adc|}X~&LK9^1F4@IohfKZ>L@{UW>5g{u4+A>&1R26{3l)DxJQ4)BVBrF zXvntpI$4Rf^nUsAq1R~r^fw(PiMZpK#$Xv4euI_!DX;l~Iyav4M4JSOe!!UbWN|qBaqS7M~&OX-@DzKh2 zJ{q9=AD#q-r@{?L|Xxnz#wE^J6*Zsx>?K^9q&iX%J*nEktkCvT?po8;#a< zh`{inwwoc&Xv#{0B#XZlx{co^=i;y=dfkQTzJlCj4gn8;4zmQ8Yt<;jpQcFOJ__B= zmZVQt>GhB2U@pb!&0oda1RubI(%j@T9_VLVgDf5B+~H5-nF&=AZI3iwh8yVHcxQdn z%9TbA^VDqHH{H43d^Vb%XYOi8;|(L+1G|cgaV~D1f!tgU4vKv@Qa=2#(HZ7OMy-%P zYtR@DN&4qfJ}(Q6tu{ND!34xOjH6j|l+?TOG_*=?RmNBfHbig9OsK>-F`K<>LXLv$87Y4sjv(x2VIKi}UmH zv9wQV$_24qvnrPFQYY;-G*an7v2nI`YoAgmtOY6aWc=$(_vHLgHjyl}k(*m~U**_w{*&kAKdQnO>Z7Zg`DCp=y=eE|;uwTt(th?j8HV z*gCci$O9Co16k?-c^l-9`OeOpnVG$t<8Mp$M2hSPN|^x4S6cURczK&+faDmaL?+Gr z+4Qf?AYM-6(&=KF!;4qyALb7TrY|lS6@c+5pS#Xc+dgitX4AfME8z$`+fAqGeN9a= zXWqe`Z!0e5_CY|S*(tHFFz zLvSB(S>nhDuFKclqoY6G-dgB=j=_^5l0l!_*rB9o#n-R@)R}xscotJQKLxB&Nc@BiA>P$+1A?sb>5)tw7GZzig2(>)$S!4T>ZXxSqAB9MjW72L1zDMa? zT_rv0v+L;ibaceVK3$dnbK_l->f7coTc0W`Rdn*(PZay7i%zo(q?;3qt+ z`>gDTtoyhYIv$-XB03PtGnJ91yirpgM^WkcNy%~Bxhv?*Y2Ef60cuXa0$ zJI+oPSK$d0L3@SdGkWGq`9Vs+)G7}>Suoa%N<%U>{5&BaBsUFS!r(dGv(tq>E`coN zdG(M1tg{*YeMnTOK`bKG&GVw{Xdgjpq}`bjazOk-kom`bdxZVbQCP2_R{!xj!nfwE z&CB=DW?hCRinmNxfrU>KxU&xn6@9;(`gxSunXShP)7O!O1Kc}#zyxGl-UdU>Mah4^ zGLwJ)gQ@(a8#g320Oc^Tm0&$Y)bLBUd2(w*-#9!uOyEzd9;6roje_IjXP?)<22}P7 zP@lm>H+wms}wW~2fFhx$GnF-Kc|3B!;FJ;Bo^)*z(ai%V~xRe;fgvMb<0@C!7 z1j&Mmuj$_Wi?!&a`+KWrOUS_~sOJMScz81G%mlK72Ks$NBIyl?!e0ZbSdDq#f;2l? zqKGU8`VEX{tFT)s0!UMtC=%HL!Ez7mHSzumRsF04UtaY2!*lLIO@DnRQoMfH|1%$= jN&kxTA%K83^YP(NA45%9OQ~AnZODHC@wL^9 literal 0 HcmV?d00001 diff --git a/po/de/docs/okular/index.docbook b/po/de/docs/okular/index.docbook new file mode 100644 index 0000000..c70b820 --- /dev/null +++ b/po/de/docs/okular/index.docbook @@ -0,0 +1,4351 @@ + +KPDF"> + + +]> + + + + Das Handbuch zu &okular; + + Albert Astals Cid

&Albert.Astals.Cid.mail;
+ + + Pino Toscano
pino@kde.org
+
+
+ BurkhardLück
lueck@hube-lueck.de
Übersetzung
+ + &FDLNotice; + 2021-05-31 + 21.08 + + + &okular; ist ein &kde;-Betrachter für alle Dokumente auf der Grundlage des &kpdf;-Quelltextes. + + + KDE + okular + pdf + ps + PostScript + tiff + djvu + dvi + chm + xps + ComicBook + Fictionbook + Markdown + mobipocket + Plucker + Anmerkung + + + + Einleitung + &okular; ist ein &kde;-Betrachter für alle Dokumente auf der Grundlage des Quelltextes von &kpdf;. &okular; hat im Vergleich zu &kpdf; jedoch zusätzliche Eigenschaften wie einen Übersichtmodus, einen verbesserten Präsentationsmodus und Unterstützung für Anmerkungen. + &okular; unterstützt eine große Zahl von Formaten wie &PDF;, &PostScript;, Tiff, CHM, DjVU, Images (png, jpg, &etc;) XPS, Open Document (ODT), Fiction Books, Comic Book, Plucker, EPub, Fax und Markdown. Informationen über alle unterstützten Formate und deren Funktionen finden Sie auf der Seite &okular;-Dokumentformate. + + &okular;s Hauptfenster + + + + + + &okular;s Hauptfenster + + + + + + Grundlagen + + Dateien öffnen + Um eine Datei in &okular; anzusehen, wählen Sie DateiÖffnen ..., dann im Dialogfenster eine Datei in einem der unterstützten Formate und drücken Öffnen. Ihre Datei wird nun im Hauptfenster angezeigt. + + Das neue Dokument wird in einem neuen Unterfenster geöffnet, wenn Neue Dateien in neuen Unterfenstern öffnen im Einrichtungsdialog auf der Seite Allgemein aktiviert ist. + Sie können ein Unterfenster durch Klicken mit der &MMBn; darauf schließen. + Das in einem Unterfenster vorher geschlossene Dokument kann mit dem Menüeintrag &Ctrl;&Shift;TDatei Unterfenster wieder herstellen erneut geöffnet werden. + + Wenn Sie bereits vorher Dateien in &okular; geöffnet hatten, können Sie am schnellsten über das Menü DateiZuletzt geöffnete Dateien wieder darauf zugreifen. + &okular; ist das &kde;-Standardprogramm für &PDF;- und &PostScript;-Dateien. Wenn Sie im Dateiverwaltungsprogramm mit der &LMBn; auf eine Datei diese Typs klicken, wird sie in &okular; geöffnet. Möchten Sie auch andere Dateien öffnen, die von &okular; angezeigt werden können, wählen Sie Öffnen mit &okular; aus dem Kontextmenü in der Dateiverwaltung. + Nachdem Sie eine Datei geöffnet haben, wollen Sie sie vermutlich lesen und daher im Text blättern. Im nächsten Abschnitt lernen Sie mehr darüber. + + + Navigation + Dieser Abschnitt erklärt, wie Sie sich in &okular; in einem Dokument bewegen können. + Es gibt mehrere Möglichkeiten, im Dokument zu blättern. Sie können den Ansichtsbereich mit den Tasten &Up; und &Down; verschieben. Dazu können Sie auch die Bildlaufleisten, das Mausrad oder die Tasten &PgUp; und &PgDn; benutzen. + Benutzen Sie Navigationstasten wie im Programm vim, und zwar H um zum Anfang der vorherigen Seite und L um zum Anfang der nächsten Seite zu gehen. Mit J gehen Sie eine Zeile nach unten und mit K eine Zeile nach oben. + Außerdem können Sie mit der &LMBn; auf eine beliebige Stelle im Dokument drücken und durch Ziehen der Maus die Ansicht verschieben. Dies funktioniert aber nur, wenn Sie im Menü ExtrasDurchsuchen ausgewählt haben. + + Wird ein Dokument im Präsentationsmodus angezeigt, wechseln Sie mit den Tasten &Up; und &Down; zwischen den Seiten oder Folien. Die Seitenzahl und Position der aktuellen Seite im Dokument werden in der rechten oberen Ecke des Bildschirms als Symbol eingeblendet. + + Möchten Sie ein Dokument mit mehreren Seiten lesen, dann können Sie das automatische Blättern in &okular; aktivieren. Starten Sie es mit &Shift;&Down; oder &Shift;&Up;. Benutzen Sie dann diese Tasten, um die Geschwindigkeit des Blättern zu ändern. Mit der &Shift;-Taste können Sie das automatische Blättern vorübergehend anhalten und wieder starten. Drücken Sie auf eine beliebige andere Tasten, um diese Funktion abzuschalten. + Weiterhin gibt es die Möglichkeit, in einem mehrseitigen Dokument mit dem Mauszeiger zu blättern. Halten Sie dazu die linke Maustaste gedrückt und ziehen Sie dann den Mauszeiger nach oben oder unten und setzen diese Bewegung auch über den oberen oder unteren Rand des Bildschirms fort. Überschreiten Sie den Rand der Seite, erscheint der Mauszeiger wieder unten oder oben auf dem Bildschirm und Sie können das Blättern in der gewünschten Richtung fortsetzen. + In der Seitenleiste auf der linken Seite des Fensters haben Sie zwei weitere Möglichkeiten, sich im einem Dokument zu bewegen. + + + Wenn Sie auf ein Vorschaubild klicken, wird die zugehörige Seite angezeigt. + + + Wenn das Dokument ein Inhaltsverzeichnis hat, können Sie mit Klicken auf einen Eintrag die zugehörige Seite anzeigen. + + + Enthält ein Dokument, können Sie die angezeigten Ebenen durch aus- oder Abwahl der Elemente in der Ebenenliste bestimmen. + + + Enthält ein Dokument Lesezeichen, wechseln Sie zur Ansicht Lesezeichen. Klicken Sie dann auf die einzelnen Lesezeichen, um zur zugehörigen Seite zu gehen. Werden Lesezeichen nicht nur für das aktuelle Dokument angezeigt, können Sie schnell zu allen Lesezeichen in den kürzlich geöffneten Dateien wechseln. + + + Enthält ein Dokument Anmerkungen, wechseln Sie zur Ansicht Anmerkungen. Klicken Sie auf die Anmerkungen oder wählen Sie sie mit den Tasten &Up; oder &Down;, drücken dann die &Enter;taste, dann wird die zugehörige Seite angezeigt. + + + Enthält das Dokument Verknüpfungen, können Sie mit einem Klick darauf die verknüpfte Seite anzeigen lassen. Zeigt die Verknüpfung auf eine Webseite oder andere Dokumente, wird der das &kde;-Standardprogramm für dieses Format mit der verknüpften Datei gestartet. Klicken Sie zum Beispiel auf eine Verknüpfung zu https://www.kde.org, wird diese Webseite im Standard-Webbrowser des &kde;-Arbeitsumgebung geöffnet. + + Interne Verknüpfungen im Dokument funktionieren nur im Durchsuchen-Modus. + + Zusätzlich können Sie mit diesen Methoden schnell an bestimmte Stellen des Dokuments springen: + + + Zum Anfang eines Dokuments mit &Ctrl;Pos1 oder mit Gehe zu Anfang des Dokuments . + + + Zum Ende eines Dokuments mit &Ctrl;Ende oder mit Gehe zu Ende des Dokuments . + + + Weiter vorwärts im Dokument mit der &Space; oder mit der Taste &PgDn;. Zur nächsten Seite eines Dokuments kommen Sie mit Nächste Seite in der Werkzeugleiste oder mit Gehe zu Nächste Seite im Menü. + + + Zurück im Dokument mit der &Backspace; oder mit der Taste &PgUp;. Zur vorigen Seite eines Dokuments kommen Sie mit Vorige Seite in der Werkzeugleiste oder mit Gehe zu Vorige Seite im Menü. + + + Sie können zu Positionen im Dokument in zeitlicher Reihenfolge wieder zurückgehen. Angenommen Sie lesen den Satz wie in [15] gezeigt und Sie möchten sofort die Referenz [15] nachlesen. Also klicken Sie darauf und &okular; geht zur Referenzliste. Mit dem Kurzbefehl &Alt;&Shift;&Left; oder Gehe zu Zurück aus der Menüleiste gelangen Sie direkt wieder zur Ausgangsposition zurück. + + + Nachdem Sie wie vorher beschrieben zurückgegangen sind, können Sie mit dem Kurzbefehl &Alt;&Shift;&Right; oder Gehe zu Nach vorne aus der Menüleiste nach vorne gehen. + + + Zur nächsten Übereinstimmung beim Suchen gelangen Sie mit den Tasten F3 oder &Enter; (wenn das Eingabefeld Suchen den Fokus hat) oder mit dem Menüeintrag Bearbeiten Weitersuchen , zur vorherigen Übereinstimmung mit dem Kurzbefehl &Shift;F3 oder Bearbeiten Frühere suchen . + + + + + Präsentationsmodus + Der Präsentationsmodus ist eine andere Art, Dokumente in &okular; anzuzeigen. Diesen Modus können Sie mit AnsichtPräsentation einschalten. In diesem Modus wird das Dokument seitenweise angezeigt. Die Vergrößerung wird so eingestellt, dass die ganze Seite sichtbar ist. + + Es gibt auch &PDF;-Dokumente, die nur im Präsentationsmodus angezeigt werden können. + + Im Präsentationsmodus wird eine Werkzeugleiste am oberen Bildschirmrand angezeigt, wenn Sie den Mauszeiger dorthin bewegen. + + &okular; im Präsentationsmodus + + + + + + &okular; im Präsentationsmodus + + + + Zwischen den Seiten können Sie mit der &LMBn; (nächste Seite), mit der &RMBn; (vorige Seite), mit dem Mausrad, durch Klicken auf die Pfeilsymbole oder direkte Eingabe der Seitenzahl in der Leiste am oberen Rand des Fenster oder mit den Tasten aus dem Abschnitt Navigation blättern. + Benutzen Sie Anhalten/Wiedergeben in der oberen Leiste, um die Wiedergabe der Präsentation anzuhalten und wieder zu starten. + Sie können die Präsentation jederzeit mit der &Esc;-Taste oder mit einem Klick auf das Symbol Präsentationsmodus beenden in der Navigationsleiste oben in Fenster wieder verlassen. + Außerdem können Sie auf der angezeigten Seite Linien zeichnen. Klicken Sie auf das Symbol Zeichenmodus umschalten in der Werkzeugleiste, um diesen Modus ein- oder auszuschalten. Die Linien werden automatisch gelöscht, wenn Sie den Präsentationsmodus verlassen. Mit der Auswahl des Symbols Zeichnungen löschen in der Werkzeugleiste können Sie Ihre Linien auch auf der aktuell angezeigten Seite löschen. + Im Präsentationsmodus können Sie auch mehrere Bildschirme benutzen, sofern vorhanden und eingerichtet, Dann erscheint ein zusätzlicher Knopf in der Leiste am oberen Bildschirmrand mit dem Symbol eines Bildschirms. Hier können Sie einen der vorhandenen Bildschirme zur Anzeige der Präsentation wählen. + Der Präsentationsmodus hat einige Einstellungsoptionen, die Sie unter &okular; einrichten ... finden. + + + + Rückwärtssuche zwischen &latex;-Editoren und &okular; + + Die Rückwärtssuche ist beim Schreiben eines &latex;-Dokuments sehr hilfreich. Wenn alles richtig eingestellt ist, kann sie in &okular; durch Klicken mit der &LMB; und der &Shift;-Taste ausgeführt werden. Dann lädt der Editor lädt die &latex;-Quelldatei und springt zur entsprechenden Stelle. + + Die folgenden Voraussetzungen sind für die Rückwärtssuche notwendig: + + + Die Quelldatei wurde erfolgreich kompiliert. + Der Editor, den Sie verwenden möchten, muss in &okular; eingestellt werden. + Die inverse Suche funktioniert nur im Durchsuchen-Modus, den Sie im Menü ExtrasDurchsuchen einschalten können. + + + Mit dieser Funktion in &okular; wird mit einem Klick der &LMBn; und dem Gedrückthalten der &Shift;-Taste im &DVI;- oder &PDF;-Dokument das entsprechende &latex;-Dokument im Editor geöffnet und zur entsprechenden Zeile gesprungen. Hierzu muss der Editor in &okular; als Texteditor festgelegt werden (EinstellungenOkular einrichten ...Editor). + + Weitere Details zur Einrichtung des Editors finden Sie in diesem Kapitel des Handbuchs. + + + Einrichtung von &okular; + + + + + + Einrichtung des Editors in &okular; + + Einrichtung des Editors in &okular; + + + + + + + Weitergehende Funktionen von &okular; + + Eingebettete Dateien + Enthält das aktuelle Dokument eingebettete Dateien, wird beim Öffnen eine Leiste über dem Ansichtsfenster mit einem Hinweis auf diese eingebetteten Dateien angezeigt. + + Die Statusleiste für eingebettete Dateien + + + + + + Die Statusleiste für eingebettete Dateien + + + + Dann können Sie entweder auf die Verknüpfung im Text klicken oder im Menü DateiEingebettete Dateien wählen, um den Dialog für eingebettete Dateien zu öffnen. In diesem Dialog werden diese Dateien angezeigt und Sie können sie speichern. + + + Formulare + Enthält das aktuelle Dokument Formulare, wird beim Öffnen eine Leiste über dem Ansichtsfenster angezeigt, in der Sie die Formularfelder zur Eingabe aktivieren können. + + Die Formularleiste + + + + + + Die Formularleiste + + + + Dann können Sie entweder auf Formulare anzeigen klicken oder im Menü AnsichtFormulare anzeigen wählen, um Text in die Formularfelder einzugeben. + + + Signaturen + Enthält das aktuelle Dokument Signaturen, wird beim Öffnen eine Leiste über dem Ansichtsfenster angezeigt, in der Sie der Seitenleiste Signaturen öffnen können. + + Die Signaturleiste + + + + + + Die Signaturleiste + + + + In der Seitenleiste Signaturen können Sie die Signaturen und Zertifikate des Dokuments untersuchen. + + Die Signaturleiste + + + + + + Die Signaturleiste + + + + + Diese Funktion ist nur für &PDF;-Dokumente verfügbar. Für die meisten Signaturinformationen muss Poppler mindesten in Version 0.51 installiert sein. Mit Version 0.68 werden auch Ort und Grund der Signatur angezeigt und mit Version 0.73 Informationen über das Zertifikat der Signatur. + + + Digitale Signaturen hinzufügen + Mit einer Aktion im Menü Extras können Sie digitale Signaturen zu Dokumenten hinzufügen. + Um ein Dokument signieren zu können, müssen Sie ein geeignetes PKCS-Signaturzertifikat auf Ihrem System vorhanden sein. &okular; kann solche Zertifikate nicht erstellen, da sie von Zertifizierungsstellen ausgestellt werden müssen, um die Gültigkeitsprüfung &etc; zu ermöglichen. + Es wird die Poppler-Bibliothek für das Signieren von &PDF; Dokumenten benutzt. Poppler verwendet die NSS-Bibliothek zur Verarbeitung von Zertifikaten. Zurzeit versucht Poppler, einen der folgenden NSS-Zertifikatsspeicher der Reihe nach zu benutzen und verwendet den ersten gefundenen Zertifikatsspeicher: + + Der Zertifikatsspeicher des aktuellen Firefox-Benutzers. + Den systemweiten Zertifikatsspeicher /etc/pki/nssdb. + Die Datei $HOME/.pki/nssdb des aktuellen Benutzers + + Wenn Sie einen benutzerdefinierten Zertifikatspeicher verwenden möchten, können Sie diesen im Abschnitt &PDF;-Anzeigemodul im Dialog Anzeigemodule einrichten ... einstellen. + + Diese Funktion ist nur für &PDF;-Dokumente verfügbar. Für diese Funktion muss mindestens die Version 21.01 von Poppler installiert sein. Dann können Sie digitale Signaturen zu Dokumenten hinzufügen. + + + + + Anmerkungen + In &okular; können Sie Anmerkungen zu einem Dokument hinzufügen. + + &okular;s Anmerkungen + + + + + + &okular;s Anmerkungen + + + + In &okular; gibt es zwei Arten von Anmerkungen: + Text-Anmerkungen wie der Gelbe Textmarker und Schwarz unterstrichen für Dateien mit Text wie ⪚ &PDF;-Dateien. + Grafik-Anmerkungen wie Notiz, Haftnotiz, Freihandlinie, Hervorhebung, Gerade Linie, Vieleck, Stempel, Unterstrichen, Ellipse und Textkommentar für alle von &okular; unterstützen Dateiformate. + Benutzen Sie das Kontextmenü in der Ansicht Anmerkungen in der Seitenleiste oder im Hauptfenster, um für jede Art von Anmerkungen eine Haftnotiz zu öffnen und Kommentare einzugeben oder zu ändern. + Anmerkungen können nicht nur für Dateien im &PDF;-Format eingegeben werden, sondern für alle Formate, die &okular; unterstützt. + &okular; kann „Dokumentarchive“ erstellen. Diese Archive haben ein eigenes nur von &okular; verwendetes Format und enthalten das Dokument sowie zugehörige Metadaten, zurzeit nur Anmerkungen. Um ein geöffnetes Dokument als Archiv zu speichern, wählen Sie DateiSpeichern unter und stellen Dokumentarchiv im Filter ein. Das Dokumentarchiv erhält die Dateierweiterung .okular. Ein Dokumentarchiv kann mit &okular; wie ⪚ eine &PDF;-Datei geöffnet werden. + &okular; kann Anmerkungen auch direkt in den &PDF;-Dateien speichern. Mit dem Menüeintrag Datei Speichern werden die Anmerkungen in der aktuellen Datei gespeichert oder mit Datei Speichern unter ... in einer neuen Datei. + + Bei Dateien mit DRM-Einschränkungen (⪚ häufig bei &PDF;-Dokumenten) ist es manchmal nicht möglich, Eigenschaften hinzuzufügen oder zu bearbeiten oder Anmerkungen zu entfernen. + + + Alle Aktionen für Anmerkungen (Erstellen, Löschen, Ändern beliebiger Eigenschaften, Verschieben mit &Ctrl;+&LMB; und Bearbeitung des Inhalts) können zurückgenommen oder wiederhergestellt werden. Benutzen Sie dazu die entsprechenden Einträge im Menü Bearbeiten. Außerdem können Sie auch die Kurzbefehle &Ctrl;Z für das Zurücknehmen und &Ctrl;&Shift;Z für das Wiederherstellen drücken. + + Sie können die Voreinstellungen der Eigenschaften und des Erscheinungsbilds jeder einzelnen Anmerkung ändern. Weitere Details dazu finden Sie in diesem Kapitel des Handbuchs. + + Anmerkungen hinzufügen + Um Anmerkungen zum Dokument hinzuzufügen, benutzen Sie die Knöpfe in den Schnell-Anmerkungen in der Hauptwerkzeugleiste von &okular; oder aktivieren Sie die Werkzeugleiste dafür, indem Sie entweder ExtrasAnmerkungen wählen oder die Taste F6 drücken. Drücken Sie dann einen der Knöpfe oder die Kurzbefehle von 1 bis 9 auf der Leiste, um mit dieser Anmerkung zu beginnen. + Diese Werkzeugleiste hilft Ihnen beim Anlegen von Anmerkungen für Zeichnungen, Objekte und Textdokumente. Sie können Markierungen ⪚ Linien, Ellipsen, Vielecke, Stempel, Hervorhebungen. Unterstreichungen &etc; in ein Dokument einfügen. Die folgende Tabelle beschreibt genau, wie die Standardanmerkungen funktionieren. + + + + + Knopf + Werkzeugname + Beschreibung + + + + + + + + + + + + + + + Hervorhebung + + + Hervorhebung von Text im Dokument mit der eingestellten Hintergrundfarbe. + Klicken Sie auf den Werkzeugknopf und dann mit der gedrückten &LMBn; auf den Beginn des hervorzuhebenden Textes, ziehen Sie dann, um den Text zu markieren. + Sie können den Typ (Hervorhebung, Schnörkel, Unterstrichen oder Durchgestrichen), Farbe und Deckkraft für eine Hervorhebung festlegen. Klicken Sie dazu mit der &RMBn; auf die Hervorhebung und wählen den Menüeintrag Eigenschaften. + + + + + + + + + + + + + + Unterstrichen + + + Unterstreichen von Text. + Klicken Sie auf den Werkzeugknopf und dann mit der gedrückten &LMBn; auf den Beginn des zu unterstreichenden Textes, ziehen Sie dann, um Text zu unterstreichen. + Sie können den Typ (Hervorhebung, Schnörkel, Unterstrichen oder Durchgestrichen), Farbe und Deckkraft für die Unterstreichung festlegen Klicken Sie dazu mit der &RMBn; auf den unterstrichenen Text und wählen den Menüeintrag Eigenschaften. + + + + + + + + + + + + + + Schnörkel + + + Unterstreichen von Text mit einer geschnörkelten Linie. + Klicken Sie auf den Werkzeugknopf und dann mit der gedrückten &LMBn; auf den Beginn des zu unterstreichenden Textes, ziehen Sie dann, um Text zu unterstreichen. + Sie können den Typ (Hervorhebung, Schnörkel, Unterstrichen oder Durchgestrichen), Farbe und Deckkraft für die Unterstreichung festlegen Klicken Sie dazu mit der &RMBn; auf den unterstrichenen Text und wählen den Menüeintrag Eigenschaften. + + + + + + + + + + + + + + Durchgestrichen + + + Durchstreichen von Text. + Klicken Sie auf den Werkzeugknopf und dann mit der gedrückten &LMBn; auf den Beginn des zu unterstreichenden Textes, ziehen Sie dann, um Text zu unterstreichen. + Sie können den Typ (Hervorhebung, Schnörkel, Unterstrichen oder Durchgestrichen), Farbe und Deckkraft für die Unterstreichung festlegen Klicken Sie dazu mit der &RMBn; auf den unterstrichenen Text und wählen den Menüeintrag Eigenschaften. + + + + + + + + + + + + + + Textkommentar + + + Textkommentare sind deckende Zeichen auf transparentem Hintergrund, damit können Sie zum Beispiel nicht interaktive Formulare ausfüllen. + Klicken Sie auf den Werkzeugknopf, klicken Sie dann mit der &LMBn; für die obere linke Ecke der Notiz, halten den Mausknopf gedrückt und ziehen den Mauszeiger zur rechten unteren Ecke der Notiz. Geben Sie den Text für die Notiz ein, klicken Sie dann auf OK zum Speichern, auf Abbrechen zum Beenden der Eingabe oder auf Löschen, um den Text der Notiz zu löschen. + Sie können Schrift und Textfarbe für einen Textkommentar festlegen. Klicken Sie dazu mit der &RMBn; auf den Text und wählen den Menüeintrag Eigenschaften + + + + + + + + + + + + + + Haftnotiz + + + Eine Haftnotiz zeichnen. Die Notiz wird im Text angezeigt. + Klicken Sie auf den Werkzeugknopf, klicken Sie dann mit der &LMBn; für die obere linke Ecke der Notiz, halten den Mausknopf gedrückt und ziehen den Mauszeiger zur rechten unteren Ecke der Notiz. Geben Sie den Text für die Notiz ein, klicken Sie dann auf OK zum Speichern, auf Abbrechen zum Beenden der Eingabe oder auf Löschen, um den Text der Notiz zu löschen. + Sie können Farbe, Deckkraft, Schrift, Ausrichtung und Rahmenbreite für eine Haftnotiz festlegen. Klicken Sie dazu mit der &RMBn; auf das Notizsymbol und wählen den Menüeintrag Eigenschaften. + + + + + + + + + + + + + + Notiz + + + Eine Notiz zeichnen. Die Notiz wird angezeigt, wenn Sie auf das Symbol der Notiz im Dokument doppelklicken. + Klicken Sie auf den Werkzeugknopf, klicken Sie dann auf die Stelle im Dokument, an der Sie die Notiz einfügen möchten. Geben Sie den Text ein und klicken Sie dann auf den Knopf Diese Notiz schließen in der oberen rechten Ecke des Notizfensters. + Sie können Farbe, Deckkraft und Symbol für eine Notiz festlegen. Klicken Sie dazu mit der &RMBn; auf das Notizsymbol und wählen den Menüeintrag Eigenschaften. + + + + + + + + + + + + + + Freihandlinie + + + Freihandlinien zeichnen. + Klicken Sie auf den Werkzeugknopf und klicken Sie dann mit der &LMB; für den Start der Linie, halten die Maustaste gedrückt und ziehen, um die Linie zu zeichnen. + Sie können Farbe, Deckkraft und Breite für eine Linie festlegen. Klicken Sie dazu mit der &RMBn; auf die Linie und wählen den Menüeintrag Eigenschaften. + + + + + + + + + + + + + + Pfeil (Im Auswahlfeld) + + + Markierung mit einem Pfeil. + Klicken Sie auf den Werkzeugknopf und dann mit der &LMBn; auf den Startpunkt der Linie, führen den Mauszeiger zum Endpunkt und klicken dann noch einmal. + Sie können Farbe, Deckkraft, Breite, Linienanfang, Linienende, Länge der Führungslinie und Länge der Führungslinien-Erweiterung für eine gerade Linie festlegen. Klicken Sie dazu mit der &RMBn; auf die Linie und wählen den Menüeintrag Eigenschaften. + + + + + + + + + + + + + + Gerade Linie (Im Auswahlfeld) + + + Markierung mit einer Linie. + Klicken Sie auf den Werkzeugknopf und dann mit der &LMBn; auf den Startpunkt der Linie, führen den Mauszeiger zum Endpunkt und klicken dann noch einmal. + Sie können Farbe, Deckkraft, Breite, Linienanfang, Linienende, Länge der Führungslinie und Länge der Führungslinien-Erweiterung für eine gerade Linie festlegen. Klicken Sie dazu mit der &RMBn; auf die Linie und wählen den Menüeintrag Eigenschaften. + + + + + + + + + + + + + + Rechteck (Im Auswahlfeld) + + + Zeichnet ein Rechteck um einen ausgewählten Bereich. + Klicken Sie auf den Werkzeugknopf, klicken Sie dann mit der &LMBn; auf die linke obere Ecke des Rechtecks, halten die Maustaste gedrückt und ziehen Sie zur unteren rechten Ecke und lassen Sie die Maustaste los. + Sie können Typ (Rechteck oder Ellipse, Deckkraft Farbfüllung, Farbe der Füllung und Breite für eine Ellipse festlegen. Klicken Sie dazu mit der &RMBn; auf das Ellipse und wählen den Menüeintrag Eigenschaften + + + + + + + + + + + + + + Ellipse (Im Auswahlfeld) + + + Zeichnet eine Ellipse oder ein Rechteck um einen ausgewählten Bereich. + Klicken Sie auf den Werkzeugknopf, klicken Sie dann mit der &LMBn; auf die linke obere Ecke des umschreibenden Rechtecks der Ellipse, halten die Maustaste gedrückt und ziehen Sie zur unteren rechten Ecke und lassen Sie die Maustaste los. + Sie können Typ (Rechteck oder Ellipse, Deckkraft Farbfüllung, Farbe der Füllung und Breite für eine Ellipse festlegen. Klicken Sie dazu mit der &RMBn; auf das Ellipse und wählen den Menüeintrag Eigenschaften + + + + + + + + + + + + + + Vieleck (Im Auswahlfeld) + + + Zeichnet ein geschlossenes Vieleck mit drei oder mehr Segmenten. Die zugehörige Notiz kann durch Doppelklicken in das Vieleck angezeigt werden. + Klicken Sie auf den Werkzeugknopf, klicken Sie dann mit der &LMBn; auf den ersten Punkt des Vielecks und ziehen Sie zum zweiten Punkt und klicken Sie wieder mit der Maustaste. Führen Sie dies bis zum ersten Punkt fort, bis das Vieleck fertig ist. Geben Sie den Text für die Notiz ein, klicken Sie dann auf OK zum Speichern, auf Abbrechen zum Beenden der Eingabe oder auf Löschen, um den Text der Notiz zu löschen. + Sie können Farbe, Deckkraft. Farbfüllung, Farbe der Füllung und Linienbreite für ein Vieleck festlegen. Klicken Sie dazu mit der &RMBn; auf das Vieleck und wählen den Menüeintrag Eigenschaften + + + + + + + + + + + + + + Stempel + + + Text oder Bilder mit voreingestellten Stempeln markieren. + Klicken Sie auf den Werkzeugknopf, um einen Stempel aus dem Auswahlfeld auszuwählen und dann mit der &LMBn; um den Stempel zu platzieren. + Um Stempel als Quadrate zum Beispiele für Symbole einzufügen, klicken Sie einmal mit der &LMBn;, um den Einfügepunkt links-oben anzugeben. Möchten Sie einen Stempel als Rechteck einfügen, klicken Sie mit der &LMBn; für den Eckpunkt links-oben und ziehen mit gedrückter Maustaste bis zum Eckpunkt rechts-unten. + Sie können Deckkraft und Stempel-Symbol für einen Stempel festlegen. Klicken Sie dazu mit der &RMBn; auf das Symbol und wählen den Menüeintrag Eigenschaften. + + Dies ist eine experimentelle Funktion. Benutzerdefinierte Stempel in einem PDF-Dokument werden in anderen PDF.Anzeigeprogrammen als Okular nicht angezeigt. + + + + + + + Dies sind die Standard-Anmerkungen, die in &okular; enthalten sind. Auf der Seite Anmerkungen des Einrichtungsdialogs können Sie Ihre eigenen Anmerkungen wie benutzerdefinierte Stempel, Textmarkierungen oder geometrische Formen mit innerer transparenter Farbe zum Markieren von Bereichen &etc; erstellen. + + Sie können &latex;-Quelltext in Anmerkungen verwenden. Fügen Sie $$code$$ zum Text der Anmerkung hinzu. Dabei muss code ein beliebiger gültiger &latex;-Ausdruck sein. Folgen Sie den Anweisungen auf dem Bildschirm, um den Ausdruck mit der auf Ihrem System installierten &latex;-Distribution zu rendern. + + Sie können die Einstellungen für die aktuelle Anmerkung in der Anmerkungs-Werkzeugleiste selbst ändern. Die folgende Tabelle beschreibt die Funktion der Einrichtungs-Knöpfe in der Voreinstellung der Anmerkungs-Werkzeugleiste. + + + + + Knopf + Einstellungsname + Beschreibung + + + + + + + + + + + + + + + Linienbreite + + + Klicken Sie auf den Werkzeugknopf, um die Breite im Auswahlfeld einzustellen. + + + + + + + + + / + + + + + + + Anmerkungs-Farbe + + + Klicken Sie auf den Werkzeugknopf, um die Text- oder Umrandungsfarbe für Ihre Anmerkung auszuwählen. Sie können eine der vordefinierten Farben benutzen oder mit Benutzerdefinierte Farbe den Farbauswahldialog öffnen. + + + + + + + + + + + + + + Anmerkungs-Füllfarbe + + + Klicken Sie auf den Werkzeugknopf, um eine Füllfarbe für Ihre Anmerkung auszuwählen. Sie können eine der vordefinierten Farben benutzen oder mit Benutzerdefinierte Farbe den Farbauswahldialog öffnen. + + + + + + + + + + + + + + Anmerkungs-Deckkraft + + + Klicken Sie auf den Werkzeugknopf, um die Deckkraft für die Anmerkung im Auswahlfeld einzustellen. Der Wert 100 % ist für deckende Anmerkungen. + + + + + + + + + + + + + + Anmerkungs-Schriftart + + + Klicken Sie auf den Werkzeugknopf, um den Dialog zur Schriftauswahl zu öffnen. + + + + + + + + + + + + + + Erweiterte Einstellungen für die aktuelle Anmerkung + + + Klicken Sie auf den Werkzeugknopf, um den allgemeinen Einrichtungsdialog für Ihre Anmerkung zu öffnen. + + + + + + Es gibt auch drei Knöpfe in der voreingestellten Anmerkungs-Werkzeugleiste. + + + + + Knopf + Beschreibung + + + + + + + + + + + + + + + Fügt die aktuelle Anmerkung zu den Schnell-Anmerkungen in der Hauptwerkzeugleiste hinzu. + + Sie können die Standard-Kurzbefehle &Alt;9 bis &Alt;0 jederzeit für die Auswahl von Anmerkungen verwenden, sogar wenn die Anmerkungs-Werkzeugleiste ausgeblendet ist. + + + + + + + + + + + + + + + Ist diese Einstellung ausgewählt, bleibt die Anmerkung ist auch nach Benutzung aktiviert. + + + + + + + + + + + + + + Anmerkungs-Werkzeugleiste ausblenden. + + + + + + Mit der &Shift;-Taste können Sie den Winkel von Linien und Vielecken auf Stufen von 15° und das Seitenverhältnis ⪚ für Rechteck und Ellipse auf 1:1 beschränken. Einen Knopf für die Werkzeugleiste können Sie im Dialog Werkzeugleisten einrichten hinzufügen. + Der Inhalt der Schnell-Anmerkung kann im &okular;-Einrichtungsdialog auf der Seite Anmerkungen angepasst werden. Diese Seite öffnen Sie durch Klicken auf den Knopf Schnell-Anmerkungen und Auswahl von Anmerkungen einrichten ... aus dem Aufklappmenü. + + Durch Aktivierung der Werkzeugleiste wechseln Sie in den normalen Durchsuchen-Modus. + + Klicken Sie wieder auf den zugehörigen Knopf in der Werkzeugleiste oder drücken Sie die &Esc;-Taste, um die Eingabe der Anmerkung zu beenden. + Als Autor einer neu erstellten Anmerkung wird die Einstellung auf der Seite Anmerkungen in &okular;s Einrichtungsdialog verwendet. Auf dieser Seite können auch die Einträge in der Anmerkungs-Werkzeugleiste eingerichtet werden. + + + Anmerkungen löschen + Um Anmerkungen zu löschen, klicken Sie mit der &RMBn; darauf und wählen Sie dann Löschen oder wählen Sie die Anmerkung mit der &LMBn; und drücken dann die Taste ∇. + Wenn Sie eine Anmerkung entfernen, wird das zugehörige Fenster geschlossen, falls es geöffnet ist. + + Wenn es ein Dokument es nicht erlaubt, Anmerkungen zu entfernen, kann diese Einstellung ist nicht ausgewählt werden. + + + + Anmerkungen bearbeiten + Um eine Anmerkung zu bearbeiten, klicken Sie mit der &RMBn; darauf und wählen Eigenschaften Damit öffnen Sie einen Dialog mit allgemeinen Einstellungen (wie Farbe, Deckkraft, Autor &etc;) und spezielle Einstellungen für diesen Typ von Anmerkung. + + Der Eigenschaftsdialog für Anmerkungen + + + + + + Der Eigenschaftsdialog für Anmerkungen + + + + Um eine Anmerkung zu verschieben, halten Sie die &Ctrl;taste gedrückt, gehen mit dem Mauszeiger auf die Anmerkung und ziehen sie dann mit der &LMBn;. + Wenn Sie mit der &LMBn; auf eine Anmerkung klicken, wird sie ausgewählt. Symbole zur Größenänderung erscheinen auf dem Auswahlrechteck. Wird der Mauszeiger auf eines dieser 8 Symbole in den Ecken oder auf den Kanten bewegt, ändert sich das Symbol des Mauszeigers und zeigt damit den Modus zur Größenänderung an. Klicken Sie auf eine beliebige sonstige Stelle in der Anmerkung, um sie zu verschieben. Drücken Sie die Taste &Esc; oder klicken Sie außerhalb der Anmerkung, um die Auswahl abzuschalten. + Eine Größenänderung ist nur für die Anmerkungen Haftnotiz, Textkommentar, Stempel und Ellipse möglich. + + + Bei Dokumenten mit eingeschränkten Berechtigungen (typisch für &PDF;-Dokumente) kann die Änderung einiger Einstellungen nicht erlaubt sein. + + + + + Lesezeichenverwaltung + &okular; hat ein sehr flexibles System für Lesezeichen. &okular; speichert die Position des Lesezeichens auf der Seite und ermöglicht daher mehr als ein Lesezeichen je Seite. + Zur Verwaltung von Lesezeichen in &okular; verwenden Sie die Ansicht Lesezeichen in der Seitenleiste, das Lesezeichenmenü oder das Kontextmenü der Dokumentenansicht, das mit der &RMB; geöffnet wird. + + Lesezeichenansicht + Um die Ansicht der Lesezeichen zu öffnen, klicken Sie auf den Eintrag Lesezeichen über der Seitenleiste. Wenn die Seitenleiste nicht angezeigt wird, klicken Sie auf Seitenleiste in der Werkzeugleiste oder wählen Sie im Menü F7 EinstellungenSeitenleiste anzeigen + + Kontextmenü der Lesezeichenansicht + + + + + + Kontextmenü der Lesezeichenansicht + + + + Mit der Filterleiste in der Ansicht Lesezeichen kann der Inhalt der Lesezeichenliste entsprechend dem Text im Eingabefeld gefiltert werden. + In dieser Ansicht kann die Liste der Lesezeichen als Baumstruktur dargestellt werden: Die Lesezeichen für jedes Dokument in der Liste können durch Klicken auf die Symbole < oder v neben dem Dateinamen aus- oder eingeklappt werden. + Klicken Sie auf das Symbol unter der Liste, um nur die Lesezeichen im gerade geöffneten Dokument anzuzeigen. + Mit den Aktionen im Kontextmenü des Dokumenteintrags kann das Dokument geöffnet, der Eintrag umbenannt oder aus der Liste entfernt werden. Beachten Sie, dass mit dem Dokument auch alle zugehörigen Lesezeichen entfernt werden. + Im Kontextmenü der einzelnen Lesezeichen können Sie zum Lesezeichen springen, es umbenennen oder entfernen. + Im Kontextmenü des Inhaltsverzeichnisses und der Vorschaubilder finden Sie Aktionen, um ein Lesezeichen zu erstellen, zu entfernen und zum nächsten oder vorherigen Lesezeichen zu gehen. + + + + + Befehlszeilenoptionen + Auch wenn &okular; meistens vom &kde;-Menü oder über ein Arbeitsflächensymbol geöffnet wird, kann es von einer Befehlszeile in einem Terminalfenster gestartet werden. Es gibt hierbei einige nützliche Optionen. + + Angabe eines Dateinamens + Der Benutzer kann Pfad und Dateinamen einer Datei angeben, die dann beim Starten von &okular; geöffnet wird. Hierzu ein Beispiel: + % okular + + + Bei &PDF;-Dokumenten kann der Name in der Form document_name#named_destination angegeben werden. Dabei ist named_destination ein bestimmter benannter Bereich im Dokument. + + + + Weitere Befehlszeilenoptionen + Die folgenden Hilfe-Möglichkeiten sind über die Befehlszeile verfügbar + + + okular + Öffnet die angegebene Seite im Dokument. Auch über die Option okular verfügbar. + + + okular + Startet die Anzeige des Dokuments im Präsentationsmodus. + + + okular + Startet mit dem Druckdialog. + + + okular + Startet mit dem Druckdialog und wird nach dem Drucken beendet. + + + okular + Nur eine Instanz des Programms verwenden. + + + okular + Mit dieser Option startet &okular; minimiert in der Kontrollleiste. + + + okular + Sucht nach dem angegebenen Text im Dokument und hebt ihn hervor. Es funktioniert nur, wenn genau ein Dokument als Argument für den Befehl okular angegeben wird. + + + + + + Fenster auf Seite einpassen + Die Funktion „Fenster auf Seite einpassen“ vergrößert die Anzeige auf genau die gleiche Größe wie die Seite mit dem aktuellen Vergrößerungsfaktor. Passt die Seite nicht vollständig in das Fenster, dann wird das Fenster vergrößert, so dass der größtmögliche Teil der Seite angezeigt wird. + Diese Funktion erreichen Sie über den Kurzbefehl &Ctrl;J. + + + + + Die Menüleiste + + + Das Menü Datei + + + + &Ctrl;O Datei Öffnen ... + + + Öffnet eine unterstützte Datei oder ein &okular;-Dokumentarchiv. Vorher wird eine bereits geöffnete Datei geschlossen. Weitere Einzelheiten erfahren Sie im Abschnitt Dateien öffnen. + + + + + + Datei Zuletzt geöffnete Dateien + + + Öffnet eine der zuletzt geöffneten Dateien. Vorher wird eine bereits geöffnete Datei geschlossen. Weitere Einzelheiten erfahren Sie im Abschnitt Dateien öffnen. + + + + + + Datei PostScript als &PDF; importieren ... + + + Öffnet eine &PostScript;-Datei und wandelt sie in das &PDF;-Format um. + + + + + + &Ctrl;&Shift;T Datei Unterfenster wiederherstellen + + + Öffnet das zuletzt geschlossene Dokument erneut. Diese Aktion ist nur dann verfügbar, wenn Sie Dokumente in Unterfenstern während der aktuellen Sitzung geschlossen haben. + + + + + + Datei Ordner mit diesem Inhalt öffnen + + + Öffnet den Ordner mit dem aktuellen Dokument im Standard-Dateiverwaltungsprogramm. Diese Aktion ist dann besonders nützlich, wenn Sie eine &PDF;-Datei aus dem Internet heruntergeladen haben, die automatisch in Okular geöffnet wird. Ohne diese Funktion ist der Speicherort der Datei nicht immer einfach zu finden. + + + + + + &Ctrl;S Datei Speichern + + + Speichert das Dokument einschließlich aller Änderungen (Anmerkungen, Inhalt von Formularfeldern &etc;), wenn das Anzeigemodul für das Dokument diese Speicherung der Änderungen unterstützt. Können diese Änderungen im aktuellen Anzeigemodul nicht gespeichert werden, können Sie die Änderungen verwerfen oder sie zusammen mit dem Dokument im Format &okular;-Dokumentarchiv speichern. + + + + + + &Ctrl;&Shift;S Datei Speichern unter + + + Speichert das Dokument einschließlich aller Änderungen (Anmerkungen, Inhalt von Formularfeldern &etc;) unter einem neuen Namen, wenn das Anzeigemodul für das Dokument die Speicherung von Änderungen unterstützt. Können diese Änderungen im aktuellen Anzeigemodul nicht gespeichert werden, können Sie die Änderungen verwerfen oder sie zusammen mit dem Dokument im Format &okular;-Dokumentarchiv speichern. + + Wegen der Art der Implementierung muss die neue Datei auch ohne Änderungen keine bitweise Kopie der originalen Datei sein, sie kann ⪚ einen anderen SHA-1-Hash-Wert &etc; haben. + + + + + + + F5DateiNeu laden + + + Lädt die gerade geöffnete Datei erneut. + + + + + + &Ctrl;P Datei Drucken ... + + + Druckt das aktuell angezeigte Dokument. &okular; hat einige spezielle Einstellungen für den Druck von &PDF;-Dokumenten. Diese Einstellungen finden Sie, indem Sie auf Einstellungen +> +> im Druckdialog klicken und dann die Karteikarte &PDF;-Optionen auswählen. Hier können Sie den Druck der Anmerkungen oder die Rasterung einstellen, wenn es Probleme mit dem Druck einiger Symbole gibt oder Sie den Skalierungsmodus ändern möchten. + + Die Einstellungen zum Skalierungsmodus sind nur verfügbar, wenn Rasterung erzwingen ausgewählt ist. + + + + + + + Datei Druckvorschau ... + + + Zeigt eine Vorschau, wie das aktuelle Dokument mit den Standardeinstellungen gedruckt wird. + + + + + + &Alt;Eingabe Datei Eigenschaften + + + Zeigt einige grundlegenden Informationen über das Dokument, wie Titel, Autor, Datum der Erstellung und die verwendeten Schriften. Die angezeigten Informationen sind vom Typ des Dokuments abhängig. + + Beachten Sie die Informationen über Ersatz-Schriften auf der Karteikarte Schriftarten des Dialogs Eigenschaften. Viele Probleme beim Rendern von Schriften können Sie vermeiden, wenn Sie die ersetzten Schriften installieren. + + + + + + Datei Eingebettete Dateien ... + + + Zeigt die eingebetteten Dateien im Dokument an. Weitere Informationen dazu finden Sie im Kapitel Eingebettete Dateien. + + + + + + Datei Exportieren als + + + Dieser Menüeintrag enthält alle Formate, in die das geöffnete Dokument exportiert werden kann. Für alle Dokumente gibt es immer als ersten Eintrag das Format Einfacher Text .... + Der zweite Eintrag ist Dokumentarchiv. Damit können Dokumente zusammen mit den Anmerkungen in einen nur mit &okular; lesbaren Archivformat gespeichert werden. Dieses Archiv ermöglicht es, ein Dokument zusammen mit den Anmerkungen als eine Datei an andere Personen zu senden. + + + + + + Datei Veröffentlichen + + + In diesem Eintrag finden Sie den Dienst zur Veröffentlichung des aktuellen Dokuments oder zum Versand auf Ihre anderen Geräte. Die Einträge in diesem Untermenü hängen vom aktuellen Dokumentformat von den auf dem System installierten KPurpose-Modulen ab. + + + + + + &Ctrl; Q Datei Beenden + + + Beendet &okular;. + + + + + + + Das Menü Bearbeiten + + + + + &Ctrl;Z Bearbeiten Rückgängig + + + Nimmt den letzte Aktion zur Änderung einer Anmerkung zurück. Das betrifft das Erstellen und Löschen, beliebige Änderungen von Eigenschaften, das Verschieben durch Ziehen mit gedrückte &Ctrl;-Taste und Änderung am Text der Anmerkung. + + + + + + &Ctrl;&Shift;Z BearbeitenWiederherstellen + + + Wiederholt den zuletzt rückgängig gemachten Schritt bei der Bearbeitung von Anmerkungen. + + + + + + + + &Ctrl;C Bearbeiten Kopieren + + + Kopiert den ausgewählten Text im Modus Textauswahl in die Zwischenablage. + + + + + + + + &Ctrl;A Bearbeiten Alles auswählen + + + Wählt den gesamten Text aus, wenn es das Dokument zulässt. Das funktioniert nur im Modus Textauswahl. + + + + + + + + Bearbeiten Gesamten Text der aktuellen Seite auswählen + + + Wählt den gesamten Text der aktuellen Seite aus, wenn es das Dokument zulässt. + + + + + + + + &Ctrl; F Bearbeiten Suchen ... + + + Zeigt die Suchleiste unten im Anzeigebereich an, um nach einer Zeichenfolge in Dokument zu suchen. + + + + + + F3 Bearbeiten Weitersuchen + + + Wiederholt die Suche nach der letzten Zeichenfolge im Dokument. + + + + + + &Shift;F3 Bearbeiten Frühere suchen + + + Sucht nach der vorherigen Fundstelle des Suchtextes im Dokument. + + + + + + + Das Menü Ansicht + + + + &Ctrl;&Shift;P Ansicht Präsentation + + + Schaltet den Präsentationsmodus ein. Weitere Informationen dazu finden Sie im Kapitel Präsentationsmodus. + + + + + &Ctrl;&Shift;F Ansicht Vollbildmodus + + + Schaltet den Vollbildmodus ein. Im Unterschied zum Präsentationsmodus wird nur die Anzeige von Fensterdekoration, Menüleiste und Werkzeugleiste ausgeschaltet. + + + + + &Ctrl;+ Ansicht Vergrößern + + + Erhöht den Vergrößerungsfaktor der Ansicht des Dokuments. + + + + + + &Ctrl;- Ansicht Verkleinern + + + Verringert den Vergrößerungsfaktor der Ansicht des Dokuments. + + + + + Ansicht Auf 100 % vergrößern + + + Vergrößert die Anzeige auf die tatsächliche Größe, die durch die Parameter des Dokuments festgelegt wird. + + + + + Ansicht Seitenbreite + + + Ändert den Vergrößerungsfaktor der Ansicht des Dokuments, sodass die Seitenbreite in den Ansichtsbereich passt. + + + + + Ansicht Ganze Seite + + + Ändert den Vergrößerungsfaktor der Ansicht des Dokuments, sodass die ganze Seite in der Ansicht angezeigt wird. + + + + + Ansicht Automatisch einpassen + + + Ändert die Vergrößerung des angezeigten Dokuments abhängig vom Größenverhältnis zwischen der Seite und dem Anzeigebereich automatisch nach folgenden Regel: Entweder wird die Seitenbreite oder die Seitenhöhe oder die ganze Seite in den Ansichtsbereich eingepasst. + + + + + Ansicht Anzeigemodus + + + In diesem Untermenü können Sie den Anzeigemodus der Seiten einstellen. Sie haben folgende Auswahl: Einzelne Seiten, Gegenüberliegende Seiten (wie bei Büchern), Gegenüberliegende Seiten (erste Seite zentrieren) und Übersicht mit der Anzahl der Spalten, die im Einrichtungsdialog von &okular; eingestellt sind. + Außerdem können Sie den Modus Fortlaufend aktivieren. In diesem Modus werden alle Seiten des Dokuments fortlaufend angezeigt und Sie können ohne Sprünge durch das Dokument blättern. Ansonsten wird immer nur eine Seite oder eine Reihe von Seiten auf einmal gezeigt. + + + + + Ansicht Ausrichtung + + + In diesem Untermenü können Sie die Ausrichtung der Seiten des Dokuments ändern. + + Die Ausrichtung wird auf alle Seiten des Dokuments angewendet. + + Wählen Sie Ursprüngliche Ausrichtung, um alle geänderten Ausrichtungen wieder rückgängig zu machen. + + + + + Ansicht Ansicht stutzen + + + Mit den Einträgen in diesem Untermenü können Sie für die Anzeige den unbedruckten Rand der Seiten mit Ränder stutzen entfernen oder mit Auf Auswahl stutzen die Anzeige auf ein ausgewähltes Rechteck einschränken. + Im Modus Auf Auswahl stutzen können Sie ein Rechteck auf der angezeigten Seite auswählen, dieser Ausschnitt wird auch von allen anderen Seiten im Dokument angezeigt. Wählen Sie ein sehr kleines Rechteck aus, wird der Ausschnitt trotzdem mindestens 20 % der gesamten Seitengröße betragen. + Die Einstellung Ränder stutzen bleibt auch beim nächsten Start von &okular; erhalten, nicht aber die Einstellung für Auf Auswahl stutzen. + Wenn Sie von Ränder stutzen zum Modus Auf Auswahl stutzen wechseln, wird vor der Auswahl des Rechtecks der Modus Ränder stutzen abgeschaltet. + Der Modus zum Stutzen kann durch erneute Auswahl des Menüeintrags abgeschaltet werden. + + + + + Ansicht Formulare anzeigen/ausblenden + + + Schaltet die Anzeige von Formularfeldern im Dokuments ein oder aus. + + Dieser Menüeintrag ist nur aktiviert, wenn das geöffnete Dokument Formularfelder enthält. + + + + + + + + + Das Menü Gehe zu + + + + Gehe zu Vorige Seite + + + Zeigt die vorige Seite des Dokuments an. + + + + + Gehe zu Nächste Seite + + + Zeigt die nächste Seite des Dokuments an. + + + + + &Ctrl; &Home; Gehe zu Anfang des Dokuments + + + Geht zum Anfang des Dokuments. + + + + + &Ctrl; &End; Gehe zu Ende des Dokuments + + + Geht zum Ende des Dokuments. + + + + + &Alt;&Shift;&Left; Gehe zu Zurück + + + Geht zurück zur vorher angezeigten Seite des Dokuments. + + + + + &Alt;&Shift;&Right; Gehe zu Nach vorne + + + Geht weiter zur nächsten Ansicht des Dokuments. Dies ist nur möglich, wenn Sie bereits zu einer Seite zurückgegangen sind. + + + + + &Ctrl; G Gehe zu Gehe zu Seite ... + + + Öffnet einen Dialog, um zu einer bestimmten Seite des Dokuments zu gehen. + + + + + + + Das Menü Lesezeichen + + + + &Ctrl; B Lesezeichen +>Lesezeichen hinzufügen/entfernen + + + Fügt für die aktuelle Position ein Lesezeichen ein oder entfernt es. + + + + + Lesezeichen Lesezeichen umbenennen + + + Benennt das Lesezeichen an der aktuellen Position um. + + + + + Lesezeichen Vorheriges Lesezeichen + + + Geht zum vorherigen Lesezeichen. Wenn es vor dem aktuellen Lesezeichen keine weiteren Lesezeichen gibt, ist diese Aktion wirkungslos. + + + + + Lesezeichen Nächstes Lesezeichen + + + Geht zum nächsten Lesezeichen. Wenn es nach dem aktuellen Lesezeichen keine weiteren Lesezeichen gibt, ist diese Aktion wirkungslos. + + + + + Lesezeichen Keine Lesezeichen + + + Diesen Eintrag können Sie nicht auswählen, er wird immer dann angezeigt, wenn keine Lesezeichen im Dokument vorhanden sind. Anderenfalls finden Sie hier eine Liste aller Lesezeichen, klicken Sie auf einer dieser Einträge, um direkt zur entsprechenden Position im Dokument zu gehen. + + + + + + + Das Menü Extras + + + + &Ctrl; 1 Extras Durchsuchen + + + Die Maus hat das normale Verhalten, mit der &LMBn; verschieben Sie den Ansichtsbereich für das Dokument und folgen Verknüpfungen, mit der &RMBn; fügen Sie Lesezeichen ein und stellen die Ansicht auf die volle Seitenbreite ein. + + + + + &Ctrl;2 Extras Lupe + + + Die Maus arbeitet wie ein Vergrößerungswerkzeug. Klicken mit der &LMBn; und Ziehen vergrößert die Ansicht des ausgewählten Bereichs, Klicken mit der &RMBn; bringt Sie zur vorigen Ansicht zurück. + + + + + &Ctrl; 3 Extras Auswahl + + + Mit der Maus können Sie einen rechteckigen Auswahlbereich zeichnen. In diesem Modus können Sie durch Klicken mit der &LMBn; und Ziehen einen Bereich auswählen und ihn als Text oder Bild in die Zwischenablage kopieren, einen Text vorsprechen lassen oder ein Bild in einer Datei speichern. + + + + + &Ctrl; 4 Extras Textauswahl + + + Die Maus arbeitet als Auswahlwerkzeug für Text. In diesem Modus können Sie durch Klicken mit der &LMBn; und Ziehen einen Text auswählen. Klicken Sie dann mit der &RMBn;, um den Text in die Zwischenablage zu kopieren oder vorsprechen zu lassen. + + + + + &Ctrl; 5 Extras Tabellenauswahl + + + Ziehen Sie mit der Maus ein Rechteck um den Text für die Tabelle, klicken Sie dann mit der &LMBn; zur Aufteilung des Blocks in Zeilen und Spalten. Klicken Sie mit der &LMBn; auf eine vorhandene Linie, um sie zu löschen und die angrenzenden Zeilen oder Spalten zu verschmelzen. Mit der &RMBn; wird dann die Tabelle in die Zwischenablage kopiert. + + + + + &Ctrl;6 Extras Lupe + + + Aktiviert den Lupenmodus für den Mauszeiger. Halten Sie die &LMB; gedrückt, um die Lupe zu aktivieren und verschieben Sie den Mauszeiger durch das Dokument. Die Lupe vergrößert jedes Pixel im Dokument um das Zehnfache. + + + + + F6 Extras Anmerkungen + + + Blendet die Werkzeugleiste für Anmerkungen ein. Mit dieser Werkzeugleiste können Sie Anmerkungen für das Dokument hinzufügen. Weitere Informationen dazu finden Sie im Kapitel Anmerkungen. + + + + + Extras Digital signieren ... + + + Startet den Arbeitsablauf zur Erstellung der digitalen Signatur. Das Hinzufügen von digitalen Signaturen wird zur Zeit nur für PDF-Dateien unterstützt. Weitere Informationen finden Sie im Abschnitt Hinzufügen digitaler Signaturen. + + + + + Extras Gesamtes Dokument vorlesen + + + Extras Aktuelle Seite vorlesen + + + Extras Vorlesen anhalten + + + Extras Vorlesen anhalten / fortsetzen + + + Mit diesen Menüeinträgen können Sie sich das gesamte Dokument oder nur die angezeigte Seite vorlesen lassen und das Vorlesen anhalten. Dazu wird der Sprachausgabedienst des Systems verwendet. Dies ist eine &Qt;-Bibliothek, die eine standardisierte Schnittstelle für Sprachausgabe zu speech-dispatcher unter &Linux; und zu den nativen Sprachausgabesystemen auf anderen Plattformen zur Verfügung stellt. Die Stimme für die Sprachausgabe können Sie auf der Einrichtungsseite Zugangshilfen von &okular; auswählen. + Die Aktionen Vorlesen sind nur dann aktiviert, wenn ein Sprachausgabedienst im System installiert ist. + + + + + + + Die Menüs Einstellungen und Hilfe + Außer den bekannten &kde;-Menüeinträgen Einstellungen und Hilfe, die im Kapitel Hilfe der &kde;-Grundlagen beschrieben werden, gibt es folgende spezielle Menüeinträge für &okular;: + + + + F7 Einstellungen Seitenleiste anzeigen + + + Zeigt die Seitenleiste an oder blendet sie aus. + + + + + Einstellungen Seitendarstellungsleiste anzeigen + + + Blendet die Anzeige der Seitendarstellungsleiste am unteren Rand des Dokumentbereichs ein oder aus. Die Seitenzahlen werden auch in der Standard-Werkzeugleiste angezeigt. + + + + + Einstellungen Anzeigemodule einrichten ... + + + Öffnet den Dialog Anzeigemodule einrichten. + + + + + + + + Einrichtung der Anzeigemodule von &okular; + Mit EinstellungenAnzeigemodule einrichten ... öffnen Sie einen Dialog für die Einrichtung einige Module, zu Zeit nur für EPUB, &PostScript;, FictionBook, Text, OpenDocument Text and &PDF;. + + Der Einrichtungsdialog für die Anzeigemodule + + + + + + Der Einrichtungsdialog für die Anzeigemodule + + + + Auf den Seiten für EPUB, &PostScript;, FictionBook, Mobipocket, Markdown, Text und OpenDocument Text können Sie die Schrift für das Rendern der Dokumente für diese Formate einstellen. Mit dem Knopf Auswählen öffnen Sie den bekannten &kde;-Schriftendialog, Weitere Informationen dazu finden Sie in der Dokumentation zu den &kde;-Grundlagen. + Im folgenden werden die Einstellungsseiten für die Module Markdown, &PostScript; und &PDF; beschrieben. + + Einrichtung des Markdown-Anzeigemoduls + Das &okular;-Anzeigemodul Markdown auf der Grundlage der Bibliothek Discount können Sie einstellen, in dem Sie Markdown in der Liste auf der linken Seite des Einrichtungsdialogs auswählen. Es gibt folgende Option: + + + + + SmartyPants-Formatierung aktivieren + + + Ist dies aktiviert, kann &okular; SmartyPants-Formatierung bearbeiten. Diese Formatierung ist manchmal in technischen Texten problematisch, wenn nicht nicht beabsichtige Ersetzungen vorgenommen werden, ⪚ wird (C) durch das Copyright-Symbol ersetzt. Diese Einstellung ist als Standard aktiviert. + + + + + + + Einrichtung des &PostScript;-Anzeigemoduls + Das &okular;-Anzeigemodul &PostScript; auf der Grundlage von Ghostscript können Sie einstellen, in dem Sie dies in der Liste auf der linken Seite des Einrichtungsdialogs auswählen. Es gibt nur eine Option: + + + + + Plattformspezifische Schriftarten verwenden + + + Diese Einstellung legt fest, ob Ghostscript auch plattformspezifische Schriften verwenden soll. Ansonsten werden nur im Dokument eingebettete Schriften benutzt. Diese Einstellung ist als Standard aktiviert. + + + + + + + Einrichtung des &PDF;-Anzeigemoduls + Das &okular;-Anzeigemodul &PDF; auf der Grundlage der Bibliothek Poppler können Sie einstellen, in dem Sie dies in der Liste auf der linken Seite des Einrichtungsdialogs auswählen. Es gibt nur eine Option: + + + + + Anzeige dünner Linien verbessern + + + Das Zeichnen von Linien in &okular; ist in zwei Schritten implementiert: Generierung und Füllung des Freistellungspfads. Beträgt die Breite einer Linie im ursprünglichen Dokument weniger als ein Pixel, kann dieses Verfahren zu Problemen führen. Für solche Linien wird der Freistellungspfad mit der Farbe gefüllt, die von der Breite des Linienteils im Freistellungspfad abhängt. Wird der Teil der Linie im Freistellungspfad sehr klein, kann der Kontrast zwischen der Form und der Hintergrundfarbe zu klein werden, um die Linie zu erkennen. Ein Gitter aus solchen Linien sieht dann sehr unschön aus. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Dünne Linie (Rot), deren Freistellungspfad (Gestrichelt) und Pixelgrenzen (Schwarz) + Anzeige dünner Linien bei geringem Kontrast + + + + + Für die Verbesserung der Anzeige dünner Linien in &okular; gibt es zwei Einstellungen: + Mit der ersten Einstellung Einfarbig passt &okular;den Freistellungspfad und die Position der Linie so an, dass beide auf der selben Pixelgrenze liegen. &ie; &okular; verbreitert dünne Linien auf ein Pixel des Ausgabegeräts. Dieser Modus entspricht etwa der Einstellung Anzeige dünner Linien verbessern im Adobe Reader. Mit dieser Einstellung werden dünne Linien immer verbreitert. + + + + + + + + Dünne Linie mit der Einstellung Einfarbig + + + Dünne Linie mit der Einstellung Einfarbig + + + + + Mit der zweiten Einstellung Form wird der Freistellungspfad und die Linie ebenfalls an Pixelgrenzen angepasst, aber die Intensität der Linienfarbe wird entsprechend der Breite korrigiert. + + + + + + + + Dünne Linie mit der Einstellung Form + + + Dünne Linie mit der Einstellung Form + + + + + In der Voreinstellung mit der Option Nein bleibt die Anzeige dünner Linien unverändert. + + + + + + Digitale Signaturzertifikate für &PDF; + + In diesem Abschnitt können Sie eine benutzerdefinierte Zertifikatsdatenbank festlegen, die beim Hinzufügen von digitalen Signaturen zu &PDF; Dateien verwendet wird. + Es werden auch alle verfügbaren Zertifikate in der Zertifikats-Datenbank angezeigt. + + + + + Einrichtung von &okular; + + Einstellungen + Mit Einstellungen&okular; einrichten ... öffnen Sie einen Dialog mit sechs Abschnitten. Dieses Kapitel beschreibt ausführlich alle vorhandenen Optionen. + + + Allgemein + + + Zugangshilfen + + + Leistung + + + Präsentation + + + Anmerkungen + + + Editor + + + + Der Einrichtungsdialog + + + + + + Der Einrichtungsdialog + + + + Für einige der installierten Anzeigemodule ist der Menüeintrag EinstellungenAnzeigemodule einrichten ... vorhanden. Damit öffnen Sie einen Dialog zur Einstellung des aktiven Anzeigemoduls. + + + Allgemein + + + Weichen Bildlauf verwenden + + Damit werden animierte Übergänge beim Blättern mit dem Mausrad oder der Tastatur verwendet, + + + + Bildlaufleisten anzeigen + + Schaltet die Anzeige der Bildlaufleisten an oder aus. + + + + Vorschaubilder mit der Seite verknüpfen + + Verbindet die Seitenanzeige mit der Anzeige der Vorschaubilder. + + + + Tipps und Infomeldungen anzeigen + + Zeigt beim Start Informationen über die geladene Datei an. + + + + Benachrichtigung über eingebettete Dateien, Formulare oder Signaturen + + Ob Informationen über über eingebettete Dateien, Formulare oder Signaturen &etc; angezeigt werden. + + + + Dokumenttitel in der Titelleiste anzeigen, falls verfügbar + + Legt fest, ob der Titel des aktuellen Dokuments in der Titelleiste vom &okular;-Fenster angezeigt wird. Wurden keine Metadaten für den Titel im Dokument gefunden oder ist diese Einstellung abgeschaltet, wird der Dateiname des Dokuments angezeigt. + + + + Wenn kein Dokumenttitel angezeigt wird + + Hier können Sie zwei Einstellungen wählen: Nur Dateinamen anzeigen oder Vollständigen Dateipfad anzeigen + + + + Benutzerdefinierte Hintergrundfarbe verwenden + + Ermöglicht die Auswahl von Farben für den Hintergrund des Dokuments, d. h. die Farbe um die angezeigte Seite. Als Voreinstellung wird die Farbe aus der &Qt;-Bibliothek benutzt, wenn diese Einstellung nicht aktiviert ist. + + + + Neue Dateien in Unterfenstern öffnen + + Ob neue Dokumente in Unterfenstern geöffnet werden. Dies ist in der Voreinstellung ausgeschaltet. + Die Standard-Kurzbefehle für das Wechseln zwischen Unterfenstern sind &Ctrl;. (Nächstes Unterfenster) und &Ctrl;, (Vorheriges Unterfenster). + + + + Zum vorhandenen Unterfenster wechseln, wenn die Datei bereits geöffnet ist. + + Legt fest, ob &okular; zu einem Unterfenster mit dem bereits geöffneten Dokument wechselt, anstatt das Dokument in einem neuen Unterfenster zu öffnen. Diese Einstellung ist als Standard aktiviert und kann nur umgeschaltet werden, wenn Neue Dateien in Unterfenstern öffnen aktiviert ist. + + + + DRM-Beschränkungen beachten + + Wählen Sie, ob &okular; DRM (Digital Rights Management) beachten soll. DRM-Beschränkungen werden eingesetzt, um bestimmte Aktionen für &PDF;-Dokumente wie das Kopieren des Inhalts in die Zwischenablage unmöglich zu machen. In einigen Versionen von &okular; ist diese Option nicht vorhanden. + + + + Geänderte Dokumentdateien neu laden + + Überprüft automatisch, ob angezeigte Dateien auf dem Speichermedium geändert wurden. + + + + Auswahldialog für Anzeigemodule anzeigen + + Wenn es für die zu öffnende Datei mehrere Anzeigemodule gibt, erhalten Sie mit dieser Einstellung einen Auswahldialog für das Anzeigemodul. Ist diese Einstellung nicht aktiviert, benutzt &okular; das Anzeigemodul mit der höchsten Priorität. + + + + Leserichtung von rechts nach links + + Ob die Leserichtung von rechts nach links als Vorgabe beim Öffnen von Dateien verwendet wird. Diese Einstellung ist für einige Schriftsysteme hilfreich. + + + + Im fortlaufenden Modus als Standard öffnen + + Hier können Sie den fortlaufenden Modus als Standardanzeige einstellen. In diesem Modus werden alle Seiten des Dokuments fortlaufend angezeigt und Sie können ohne Sprünge durch das Dokument blättern. Ansonsten wird immer nur eine Seite oder eine Reihe von Seiten auf einmal gezeigt. + + + + Übersichtsspalten: + + Mit dieser Einstellung legen Sie die Anzahl der Spalten im Übersichtmodus fest. + + + + Überschneidung für die Tasten „Bild hoch/runter“ + + Mit diesem Wert kann eingestellt werden, wie viel Prozent des zurzeit dargestellten Anzeigebereichs noch sichtbar sind, nachdem eine der Tasten &PgUp;/&PgDn; gedrückt wurde. + + + + Standardvergrößerung + + Mit dieser Einstellung legen Sie die Vergrößerung für Dateien fest, die zum ersten Mal geöffnet werden. Alle bereits vorher geöffneten Dateien werden in der letzten benutzen Vergrößerungsstufe angezeigt. + + + + + + Zugangshilfen + + + Verknüpfungen umrahmen + + Zeichnet einen Rahmen um Verknüpfungen. + + + + Farben ändern + + Aktiviert die Optionen zur Änderung der Farben. + + + + Farbmodus + + Definiert den Modus zur Änderung der Farben. + + + Farben umkehren + + Vertauscht die Farben der Anzeige, &ie; schwarz wird als weiß dargestellt. + + + + Papierfarbe ändern + + Ändert die Papierfarbe, &ie; den Hintergrund des Dokuments. + Die Farbe kann im Auswahlfeld Papierfarbe ausgewählt werden. + + + + Helle und dunkle Farben ändern + + Ändert die helle und dunkle Farbe, das heißt schwarz wird nicht schwarz, sondern als dunkle Farbe und weiß als helle Farbe angezeigt. + + + + In Schwarzweiß umwandeln + + Wandelt die Farben im Dokument in Schwarzweiß um. Sie können Schwellwert und Kontrast einstellen. Mit einem höheren Schwellwert (rechts auf dem Schieberegler)wird ein helleres Grau verwendet. + + + + Helligkeit invertieren + + Invertiert die Helligkeit aller Farben. Helle und dunkle Farben werden vertauscht, aber Farbton und Sättigung bleiben unverändert. Der Kontrast in Bildern ist mit dieser Einstellung normalerweise schlechter als mit Luma invertieren (sRGB-Linear). + + + + Luma invertieren (sRGB-Linear) + + Invertiert die Luma (Luminanz) aller Farben. Helle und dunkle Farben werden vertauscht, aber Farbton und Sättigung bleiben unverändert. Der Kontrast in Bildern bleibt mit dieser Einstellung normalerweise besser erhalten als mit Helligkeit invertieren, aber bei farbenfrohen Grafiken oder Texten ist der Kontrast normalerweise schlechter. sRGB-Luma-Koeffizienten werden hier benutzt, aber keine Gamma-Korrektur. + + + + Luma invertieren (Symmetrisch) + + Invertiert die Luma (Luminanz) aller Farben und benutzt symmetrische Luma-Koeffizienten. Helle und dunkle Farben werden vertauscht, aber Farbton und Sättigung bleiben unverändert. Der Effekt ist ähnlich wie mit Helligkeit invertieren, aber der Kontrast bleibt in manchen Fällen besser erhalten. + + + + Farbton verstärken + + Verstärkt den Farbton aller Farben um 120 Grad. Das kann Kontrast-Probleme in farbenfrohen Bildern mildern. + + + + Farbton abschwächen + + Schwächt den Farbton aller Farben um 240 Grad. Das kann Kontrast-Probleme in farbenfrohen Bildern mildern. + + + + Sie können Kurzbefehle und Aktionen in der Werkzeugleiste über die Einträge im Menü Einstellungen des &okular;-Hauptfensters für die Farbmodi einrichten. + + + + Sprachausgabe-Modul + + Wählen Sie hier das Sprachausgabemodul (TTS), das von &okular; verwendet wird. Als Voreinstellung wird speechd TTS benutzt. Sie können jedoch alle Sprachen und Stimmen verwenden, die im Sprachausgabesystem des Rechners installiert sind. Unter &Linux; wird als Standard speech-dispatcher benutzt, um die verfügbaren Stimmen festzulegen. + + + + + + Leistung + + + Transparenzeffekte aktivieren + + Zeichnet die Auswahl und andere besondere Grafiken mit transparenten Effekten. Schalten Sie diese Option aus, um nur Umrisse zu verwenden, dadurch wird die Arbeitsgeschwindigkeit bei der Auswahl erhöht. + + + + Speicherausnutzung + + &okular; erreicht die beste Leistung durch Anpassung der Speichernutzung an Ihr System und Ihre Anforderungen. Je mehr Speicher Sie dem Programm zuweisen, desto schneller arbeitet es. Die Standardeinstellung ist für ein normales System richtig, aber mit der Einstellung ‚Gering‘ können Sie die Speichernutzung von &okular; einschränken oder mit der Einstellung ‚Aggressiv‘ die Leistung Ihres Systems voll ausnutzen. Mit der Einstellung „Gierig“ werden alle Seiten vorgeladen, aber der Hauptspeicher nicht vollständig belegt. Es werden maximal 50 % des gesamten oder freien Speichers benutzt. + + + + Render-Einstellungen + + Mit diesen Einstellungen können Sie das Rendern und die Darstellung von Text und Grafik in &okular; verbessern. Das Ergebnis wird durch das für die Anzeige verwendete Gerät beeinflusst. Mit den Ankreuzfeldern Kantenglättung für Text aktivieren und Kantenglättung für Grafik aktivieren wird Kantenglättung oder Antialiasing von Text und Bildern in Dokumenten ein- und ausgeschaltet. Mit dem Eintrag Hinting für Text aktivieren wird das Hinting aktiviert. Kantenglättung und Hinting ändern die Anzeige von Dokumenten auf dem Bildschirm, optimieren Sie diese Einstellungen für Ihre Ansprüche. + + + + + + Präsentation + + + Weitergehen alle + + Zeigt automatisch nach der festgelegten Zeit die nächste Seite. + + + + Nach der letzten Seite von vorn beginnen + + Im Präsentationsmodus wird nach der letzten Seite die erste Seite angezeigt. + + + + Touch-Navigation + + Ermöglicht die Feinabstimmung der Touchscreen-Navigation durch Tippen auf eine Präsentation mit den folgenden drei möglichen Werten: + + + Links/Rechts tippen um zurück/vorwärts zu gehen: Durch Tippen auf die linke bzw. rechte Hälfte des Bildschirms wechselt die Präsentation zur vorherigen bzw. nächsten Seite. + + + Irgendwo tippen um vorwärts zu gehen (Standard). Mit Tippen auf den Bildschirm wechselt die Präsentation zur nächsten Seite, egal wo Sie auf den Bildschirm tippen. + + + Deaktiviert: Die Touch-Navigation ist abgeschaltet. + + + + + + Hintergrundfarbe + + Die Farbe für den Bereich des Bildschirms, der im Präsentationsmodus nicht von der Seite abgedeckt wird. + + + + Mauszeiger + + Hier können Sie einstellen, ob der Mauszeiger immer angezeigt oder ausgeblendet wird oder ob er nach kurzer Zeit ohne Mausbewegung ausgeschaltet wird. + + + + Fortschrittsanzeige einblenden + + Zeigt ein Fortschritts-Symbol als Kreis mit der aktuellen Seite und der Anzahl aller Seiten in der rechten oberen Ecke des Präsentationsfensters an. + + + + Zusammenfassung anzeigen + + Zeigt am Beginn einer Präsentation eine Seite mit Namen, Autor und Seitenzahl des Dokuments. + + + + Übergänge aktivieren + + Mit diesem Ankreuzfeld können Übergangseffekte zwischen Seiten ein- oder ausgeschaltet werden. + + + + Standardübergang + + Der Effekt für den Übergang zwischen den einzelnen Seiten, sofern er nicht durch das Dokument festgelegt. Stellen Sie Zufälliger Übergang ein, damit &okular; wahllos einen der vorhandenen Effekte benutzt. + + + + Platzierung + + In diesem Abschnitt können Sie den Bildschirm für die Anzeige der Präsentation auswählen. + Aktueller Bildschirm ist der Bildschirm des &okular;-Fensters, in dem die Präsentation gestartet wird. + Standard-Bildschirm ist der in der Xinerama-Einstellung als Standard vorgegebene Bildschirm. + Bildschirm 0, Bildschirm 1 &etc; bezeichnen die verfügbaren Bildschirme. + + + + Einrichtung des Zeichenwerkzeugs + + Einstellung der Farbe für den Zeichenstift im Präsentationsmodus. + + + + + + Anmerkungen + + Die Seite Anmerkungen im Einrichtungsdialog + + + + + + Die Seite Anmerkungen im Einrichtungsdialog + + + + + + Autor + + Der Autor der Anmerkungen zum Dokument. Als Voreinstellung wird der Name aus der Seite Passwort & Benutzerzugang des &systemsettings;-Kategorie Benutzerkontodetails verwendet. + + + + Anmerkungs-Werkzeuge + + In diesem Bereich kann die Werkzeugleiste für Anmerkungen eingerichtet werden. + Es gibt fünf Knöpfe (Hinzufügen, Bearbeiten, Entfernen, Nach oben, Nach unten) und ein Listenfeld mit dem Inhalt der aktuellen Werkzeugleiste mit Anmerkungen. Damit können Sie die Werkzeugleiste anpassen. + Brauchen Sie zusätzliche Knöpfe für Anmerkungen in der Werkzeugleiste, klicken Sie auf den Knopf Hinzufügen. Dann können Sie Name, Typ und Erscheinungsbild für den neuen Anmerkungstyp einstellen. + + Bitte denken Sie daran, dass die Werkzeuge für Anmerkungen vielfältig eingestellt werden können. Sie können zum Beispiel zwei Knöpfe für das selbe Werkzeug in verschieden Farben benutzen. Probieren Sie aus, welche Werkzeuge in den verschiedenen möglichen Einstellungen am besten für Ihre Arbeitsweise geeignet sind. + + Klicken Sie auf ein Element im Listenfeld und dann auf die entsprechenden Knöpfe auf der rechten Seite, um das Element zu bearbeiten, zu löschen, oder nach unten bzw. nach oben zu verschieben. Die Kurzbefehle der Elemente (Tasten von 1 bis 9) entsprechen der Position in der Liste. + + + + Benutzerdefinierte Stempel benutzen + + + Erstellen Sie ein Symbol, das Sie für Ihren eigenen Stempel benutzen möchten und speichern Sie ihn in einem beliebigen Grafikformat, das von &okular; unterstützt wird. + Klicken Sie auf den Knopf Hinzufügen, wählen Sie den Typ Stempel und geben Sie einen Namen ein. + Geben Sie den vollständigen Pfad zu Ihrem eigenen Symbol im Auswahlfeld im Abschnitt Stempel-Symbol ein. + + + + + + + Editor + + + Editor + + Wählen Sie hier den Editor aus, der zur Bearbeitung der Quelldatei des Dokuments gestartet wird. In einigen Dokumenten sind Verweise - normalerweise Zeilen- und Spaltennummer - auf die Quelldatei enthalten, aus der das Dokument generiert wurde. Im &DVI;-Format werden zum Beispiel Informationen über die &latex;-Quelltexte gespeichert. Ein ähnliches System namens pdfsync gibt es für &PDF;-Dokumente. Hier werden die zusätzlichen Informationen in einer eigenen Datei gespeichert, die nach der &PDF;-Datei benannt ist, zum Beispiel meindokument.pdfsync mit den Metadaten für das Dokument meindokument.pdf. + &okular; enthält Voreinstellungen für folgende Editoren: &kate;, Kile, SciTE, &Emacs;, LyX, TeXstudio und TeXiFy IDEA. + + Um die Rückwärtssuche in &kile; verwenden zu können, muss die &latex;-Datei mit der Einstellung Modern kompiliert werden. + + + + + Befehl + + Hier wird der Befehl und dessen Parameter zum Aufruf des gewählten Editors mit dem Quelltext des aktuellen Dokuments eingegeben. + Dieses Feld wird automatisch ausgefüllt, wenn Sie einen der voreingestellten Editoren benutzen. Ansonsten wählen Sie Benutzerdefinierter Texteditor im Auswahlfeld Editor und lesen die Dokumentation des Editors, um den richtigen Befehl einzutragen. + Die folgenden Platzhalter können benutzt werden: + + + %f - der Dateiname + + + %l - die anzuspringende Zeile in der Datei + + + %c - die anzuspringende Spalte in der Datei + + + Wenn %f nicht angegeben wird, wird der Dateiname automatisch an den Aufruf angehängt. + + + + + + + Danksagungen und Lizenz + + + Copyright des Programms: + &Albert.Astals.Cid; &Albert.Astals.Cid.mail; Aktueller Betreuer + Pino Toscano pino@kde.org + Enrico Ros eros.kde@email.it &kpdf;-Entwickler + + + + Copyright der Dokumentation: + &Albert.Astals.Cid; &Albert.Astals.Cid.mail; Author + Titus Laska titus.laska@gmx.de Bearbeitung und Erweiterung + Pino Toscano pino@kde.org + + Übersetzung Burkhard Lücklueck@hube-lueck.de &underFDL; &underGPL; + + &documentation.index; + + + + diff --git a/po/de/docs/okular/mainwindow.png b/po/de/docs/okular/mainwindow.png new file mode 100644 index 0000000000000000000000000000000000000000..52bcf8e4e9f620c6cf4450add56d9e01ec9c5f3a GIT binary patch literal 61100 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 + +]> + + + + +Okular-Benutzerhandbuch +YuriChornoivan Okular-Benutzerhandbuch yurchor@ukr.net +2019-02-14 +Okular 1.7 +KDE-Anwendungen + + + +okular +1 + + + +okular +Ein Betrachter für alle Dokumente + + + +okular Okular-Optionen URL + + + +Beschreibung +okular zeigt Dokumente in verschiedenen Formaten an. + + + +Okular-Optionen + + + + + +Öffnet die angegebene Seite im Dokument. + + + + + + +Dokumentanzeige im Präsentationsmodus beginnen. + + + + + + +Startet mit dem Druckdialog. + + + + + + +Startet mit dem Druckdialog und wird nach dem Drucken beendet. + + + + + + +Nur eine Instanz des Programms verwenden. + + + + + + +Mit dieser Option startet Okular minimiert in der Kontrollleiste. + + + + + + +Sucht eine Zeichenfolge im Text. + + + + + +Argumente + + + + +Die Adresse des zu öffnenden Dokuments. Bei PDF-Dokumenten kann der Name in der Form document_name#named_destination angegeben werden. Dabei ist named_destination ein bestimmter benannter Bereich im Dokument. + + + + + +Rückmeldung +Im IRC-Kanal #okular auf irc.libera.chat, über E-Mails an die Mailingliste okular-devel@kde.org oder im Internet auf der Seite <http://okular.kde.org/> + + + +Siehe auch + +Weitere ausführliche Dokumentation finden Sie unter help:/okular (geben Sie diese URL entweder im &konqueror; ein oder starten Sie khelpcenter help:/okular). +kf5options(7) +qt5options(7) +Weitere Informationen finden Sie auf der Webseite https://okular.kde.org/. + + + +Copyright +Copyright © 2002 Wilco Greven, Christophe Devriese +Copyright © 2004-2005 Enrico Ros +Copyright © 2005 Piotr Szymanski +Copyright © 2004-2012 Albert Astals Cid +Copyright © 2006-2009 Pino Toscano +Lizenz: GNU General Public License Version 2 <https://www.gnu.org/licenses/gpl-2.0.html> + + + diff --git a/po/de/okular.po b/po/de/okular.po new file mode 100644 index 0000000..7bf6b62 --- /dev/null +++ b/po/de/okular.po @@ -0,0 +1,6987 @@ +# SPDX-FileCopyrightText: 2010, 2024 Johannes Obermayr +# SPDX-FileCopyrightText: 2003, 2005 Stephan Johach +# SPDX-FileCopyrightText: 2004, 2005, 2006 Stefan Winter +# SPDX-FileCopyrightText: 2005, 2007, 2008, 2009, 2010 Thomas Reitelbach +# SPDX-FileCopyrightText: 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Burkhard Lück +# SPDX-FileCopyrightText: 2006 Stephan Johach +# SPDX-FileCopyrightText: 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2018, 2020, 2022, 2023 Frederik Schwarzer +# SPDX-FileCopyrightText: 2010, 2011 Panagiotis Papadopoulos +# SPDX-FileCopyrightText: 2017 Michael Weghorn +# SPDX-FileCopyrightText: 2023, 2024 Frank Steinmetzger +# SPDX-FileCopyrightText: 2025 Philipp Kiemle +# SPDX-FileCopyrightText: 2025 Alois Spitzbart +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-18 15:01+0200\n" +"Last-Translator: Alois Spitzbart \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 25.04.3\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Deutsches KDE-Übersetzungsteam" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde-i18n-de@kde.org" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Okular, ein Betrachter für alle Dokumente" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"© 2002 Wilco Greven, Christophe Devriese\n" +"© 2004–2005 Enrico Ros\n" +"© 2005 Piotr Szymanski\n" +"© 2004–2017 Albert Astals Cid\n" +"© 2006–2009 Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "Ehemaliger Betreuer" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "" +"Viel Arbeit am Grundgerüst und den Anzeigemodulen für ODT und FictionBook" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "Entwickler" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymanski" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "Hat Okular auf Basis von KPDF aus der Taufe gehoben" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "Enrico Ros" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "Entwickler von KPDF" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "Eugene Trounev" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "Design für Anmerkungen" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "Jiri Baum - NICTA" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "Tabellenauswahl" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "Fabio D'Urso" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "Verbesserungen der Anmerkungen" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "Gehe zu Seite %1" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "Externe Datei öffnen" + +#: core/action.cpp:197 +#, fuzzy, kde-format +#| msgid "Execute '%1'..." +msgid "Execute '%1'…" +msgstr "„%1“ ausführen …" + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "Erste Seite" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "Vorherige Seite" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "Nächste Seite" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "Letzte Seite" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "Zurück" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "Vorwärts" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Beenden" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "Präsentation starten" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "Präsentation beenden" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go To Page…" +msgstr "Gehe zu Seite" + +#: core/action.cpp:365 +#, fuzzy, kde-format +#| msgid "Play sound..." +msgid "Play sound…" +msgstr "Klang abspielen …" + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "JavaScript-Skript" + +#: core/action.cpp:483 +#, fuzzy, kde-format +#| msgid "Play movie" +msgid "Play movie…" +msgstr "Film abspielen" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "Film abspielen" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "Film anhalten" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "Film anhalten" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "Film wieder abspielen" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "Diese Version von Okular wurde ohne Audio-Unterstützung gebaut." + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "Anzeigemodul-Auswahl" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
%1 (%2).

Please select which one to use:
" +msgstr "" +"Mehr als ein Anzeigemodul für diesen MIME-Typ gefunden:
%1 " +"(%2).

Bitte wählen Sie aus, welches Modul benutzt werden soll:" + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "Die meisten Seiten haben das Format %1." + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "Hochformat %1" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "Querformat %1" + +#: core/document.cpp:246 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 × %2 Zoll (%3)" + +#: core/document.cpp:248 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 × %2 mm (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "Suche vom Anfang an fortsetzen" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "Suche wird vom Ende her fortgesetzt" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "Es ist kein passendes Anzeigemodul für dieses Dokument verfügbar." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "Anmerkungen entfernen" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"Dieses Dokument enthält eine Anforderung zum Ausführen eines externen " +"Programms. Aus Sicherheitsgründen wird diese Anforderung von Okular " +"ignoriert." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "Kein Programm zum Öffnen des MIME-Typs %1 gefunden." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "Die temporäre Datei kann nicht geöffnet werden." + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "Die Druckumwandlung ist fehlgeschlagen." + +# Druckvorgang oder Druckprozess? +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "Der Druckvorgang ist abgestürzt." + +# Druckvorgang oder Druckprozess? +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "Der Druckvorgang lässt sich nicht starten." + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "Das Drucken in eine Datei ist fehlgeschlagen." + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "Der Drucker war in einem ungültigen Zustand." + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "Die zu druckende Datei ist nicht auffindbar." + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "Es gibt keine zu druckende Datei." + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"Es kann keine passende Programmdatei für das Drucken gefunden werden. " +"Stellen Sie bitte sicher, dass die CUPS-Programmdatei „lpr“ verfügbar ist." + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "Die Druckseitengröße ist ungültig" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "„%1“ kann nicht geöffnet werden. Die Datei existiert nicht." + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Titel" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Thema" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Beschreibung" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "Autor" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Erstellt von" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Ersteller" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "Copyright" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "Seiten" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Erstellt am" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Geändert am" + +#: core/document.cpp:6032 +#, kde-format +msgid "MIME Type" +msgstr "MIME-Typ" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "Kategorie" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Schlüsselwörter" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "Dateipfad" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "Dateigröße" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "Seitengröße" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "Anmerkung hinzufügen" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "Anmerkung entfernen" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "Eigenschaften der Anmerkung bearbeiten" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "Anmerkung verschieben" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "Anmerkung anpassen" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "Text bearbeiten" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "Inhalte von Anmerkungen bearbeiten" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "Inhalte von Formularen bearbeiten" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "Auswahl von Listenfelder bearbeiten" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "Auswahl von Kombinationsfeldern bearbeiten" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "Status von Formularknöpfen bearbeiten" + +#: core/generator.cpp:790 +#, fuzzy, kde-format +#| msgid "Plain &Text..." +msgid "Plain &Text…" +msgstr "Einfacher &Text …" + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "OpenDocument-Text" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "Druckeinstellungen" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "Auf druckbaren Bereich anpassen" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "Auf ganze Seite anpassen" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "Skalierungsmodus:" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "Diese Meldung nicht mehr anzeigen" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "Nicht verfügbar" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" +"Interner Fehler beim Signieren. Bitte erstellen Sie einen Fehlerbericht mit " +"den Schritten, um den Fehler zu reproduzieren. Fehlercode %1" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "Die Datei %1 kann nicht geladen werden" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "Signieren durch Benutzer abgebrochen" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "Signieren fehlgeschlagen. Falsche Passphrase" + +#: core/signatureutils.cpp:504 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" +"Datei %1 kann nicht gespeichert werden, weil sie nur " +"gelesen werden darf. Versuchen Sie einen anderen Speicherort oder eine " +"Änderung der Dateiberechtigungen." + +#: core/signatureutils.cpp:506 +#, kde-format +msgid "Unknown signing error" +msgstr "Unbekannter Fehler beim Signieren" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Quelle: %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "&Standardschrift:" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "Version" + +#: gui/certificatemodel.cpp:41 +#, kde-format +msgid "Serial Number" +msgstr "Seriennummer" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "Aussteller" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "Ausgestellt am" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "Gültig bis" + +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Inhaber" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "Öffentlicher Schlüssel" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "Schlüssel-Verwendung" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "V%1" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "%1 (%2 Bit)" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "Eigenschaft" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "Wert" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "Notiz" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "Textkommentar" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "Haftnotiz" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +#| msgid "Polygon with Comment" +msgid "Arrow with Comment" +msgstr "Vieleck mit Kommentar" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "Pfeil" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "Gerade Linie mit Kommentar" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "Gerade Linie" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "Vieleck mit Kommentar" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "Vieleck" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgid "Stamp with Comment" +msgid "Rectangle with Comment" +msgstr "Stempel mit Kommentar" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "Rechteck" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgid "Underline with Comment" +msgid "Ellipse with Comment" +msgstr "Unterstrichener Text mit Kommentar" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "Ellipse" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "Hervorhebung mit Kommentar" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "Hervorhebung" + +#: gui/guiutils.cpp:87 +#, kde-format +msgid "Squiggle with Comment" +msgstr "Schnörkel mit Kommentar" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "Schnörkel" + +#: gui/guiutils.cpp:91 +#, kde-format +msgid "Underline with Comment" +msgstr "Unterstrichener Text mit Kommentar" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "Unterstrichen" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out with Comment" +msgstr "Durchgestrichener Text mit Kommentar" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "Durchstreichen" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "Stempel mit Kommentar" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "Stempel" + +#: gui/guiutils.cpp:106 +#, kde-format +msgid "Freehand Line with Comment" +msgstr "Freihandlinie mit Kommentar" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "Freihandlinie" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "Caret" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "Dateianhang" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "Klang" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "Film" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Bildschirm" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "Bedienelement" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "Rich Media" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation" +msgstr "Anmerkung" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "Unbekannt" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Autor: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "Wo soll %1 gespeichert werden?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "" +"„%1“ kann nicht zum Schreiben geöffnet werden. Die Datei wurde nicht " +"gespeichert." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "Die Signatur ist kryptografisch gültig." + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "Die Signatur ist kryptografisch ungültig." + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "Prüfsumme passt nicht" + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "Die Signaturstruktur CMS/PKCS7 ist ungültig." + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "Die angeforderte Signatur ist nicht in der Datei enthalten." + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "Die Signatur kann nicht überprüft werden." + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "Das Zertifikat ist vertrauenswürdig." + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "Der Aussteller des Zertifikats ist nicht vertrauenswürdig." + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "Der Aussteller des Zertifikats ist unbekannt." + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "Das Zertifikat wurde widerrufen." + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "Das Zertifikat ist abgelaufen." + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "Das Zertifikat wurde noch nicht überprüft." + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "Zerifikat wird überprüft" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "Unbekanntes Problem mit dem Zertifikat oder ungültige Daten." + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "MD2" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "MD5" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "SHA-1" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "SHA-256" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "SHA-384" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "SHA-512" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "SHA-224" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "Unbekannter Algorithmus" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "RSA" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "DSA" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "EC" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "Unbekannter Typ" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "Digitale Signatur" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "Nachweisbarkeit" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "Schlüssel verschlüsseln" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "Schlüssel entschlüsseln" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "Schlüssel-Übereinkunft" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "Zertifikat signieren" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "CRL signieren" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "Nur verschlüsseln" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "Keine Verwendung angegeben" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr ", " + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "Das Dokument wurde seit der Signierung nicht geändert." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" +"Die Revision des Dokuments, das durch diese Signatur abgedeckt war, wurde " +"nicht bearbeitet.\n" +"Es wurden jedoch nachträgliche Änderungen am Dokument vorgenommen." + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" +"Das Dokument wurde auf eine Art geändert, die eine vorherige Signatur nicht " +"erlaubt ist." + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "" +"Die Überprüfung der Integrität des Dokuments kann nicht vollständig " +"durchgeführt werden." + +#: gui/signatureguiutils.cpp:208 +#, kde-format +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "Dieses Dokument enthält Signatur-Platzhalterfelder." + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "Dieses Dokument ist digital signiert." + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "" +"Dieses Dokument ist digital signiert. Es gibt Änderungen seit dem letzten " +"Signieren." + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" +"Dieses Dokument ist digital signiert. Einige dieser Signaturen können nicht " +"auf Gültigkeit überprüft werden." + +#: gui/signaturemodel.cpp:141 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "Signatur-Platzhalter %1" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "Feld: %1 auf Seite %2" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "Rev. %1: Signiert von %2" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "Signatur-Datum %1" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "Grund: %1" + +#: gui/signaturemodel.cpp:177 +#, kde-format +msgid "Location: %1" +msgstr "Ort: %1" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "PGP-Signatur" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "Adobe PKCS7" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "Adobe PKCS7 Sha1" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "ETSI CAdES" + +#: gui/signaturemodel.cpp:193 +#, kde-format +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "Unbekannt" + +#: gui/signaturemodel.cpp:195 +#, kde-format +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "Signatur-Platzhalter" + +#: gui/signaturemodel.cpp:201 +#, kde-format +msgid "Signature Type: %1" +msgstr "Signaturtyp: %1" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "Rot" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "Orange" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "Gelb" + +#: part/annotationactionhandler.cpp:151 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "Grün" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "Cyan" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "Blau" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "Magenta" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "Weiß" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "Grau" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "Schwarz" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "Breite %1" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1 %" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "Anmerkungs-Linienbreite (Keine Anmerkung ausgewählt)" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "Anmerkungs-Farbe (Keine Anmerkung ausgewählt)" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "Anmerkungs-Füllfarbe (Keine Anmerkung ausgewählt)" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "Anmerkungs-Deckkraft (Keine Anmerkung ausgewählt)" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "Anmerkungs-Schriftart (Keine Anmerkung ausgewählt)" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" +"Fügt die aktuelle Anmerkung zu den Schnell-Anmerkungen hinzu (Keine " +"Anmerkung ausgewählt)" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" +"Seitenverhältnis auf 1:1 oder Linienwinkel auf 15°-Schritte beschränken " +"(Keine Anmerkung ausgewählt)" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" +"Erweiterte Einstellungen für die aktuelle Anmerkung (Keine Anmerkung " +"ausgewählt)" + +#: part/annotationactionhandler.cpp:308 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Anmerkungs-Linienbreite" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "" +"Anmerkungs-Linienbreite (Die aktuelle Anmerkung hat keine Linienbreite)" + +#: part/annotationactionhandler.cpp:314 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Anmerkungs-Textfarbe" + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "Anmerkungs-Umrandungsfarbe" + +#: part/annotationactionhandler.cpp:318 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Anmerkungs-Farbe" + +#: part/annotationactionhandler.cpp:322 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Anmerkungs-Füllfarbe" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "Anmerkungs-Füllfarbe (Die aktuelle Anmerkung hat keine Füllfarbe)" + +#: part/annotationactionhandler.cpp:328 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "Anmerkungs-Schriftart" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "Anmerkungs-Schriftart (Die aktuelle Anmerkung hat keine Schriftart)" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "Linienwinkel auf 15°-Schritte beschränken" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "Seitenverhältnis auf 1:1 beschränken" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" +"Seitenverhältnis auf 1:1 oder Linienwinkel auf 15°-Schritte beschränken (Von " +"der aktuellen Anmerkung nicht unterstützt)" + +#: part/annotationactionhandler.cpp:341 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Anmerkungs-Deckkraft" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "Fügt die aktuelle Anmerkung zu den Schnell-Anmerkungen hinzu" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "Erweiterte Einstellungen für die aktuelle Anmerkung" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "Farbe" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "Füllfarbe" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "Transparent" + +#: part/annotationactionhandler.cpp:445 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "Custom Color..." +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "Benutzerdefinierte Farbe …" + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "Farbauswahl" + +#: part/annotationactionhandler.cpp:552 +#, kde-format +msgid "&Annotations" +msgstr "&Anmerkungen" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "Ausblenden" + +#: part/annotationactionhandler.cpp:554 +#, kde-format +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Weitere Anmerkungswerkzeuge anzeigen" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "Hervorhebung" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "Unterstrichen" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "Schnörkel" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "Durchstreichen" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Textkommentar" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "Haftnotiz" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "Notiz" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "Freihandlinie" + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "Gerade Linie" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "Pfeil" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "Rechteck" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "Ellipse" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "Vieleck" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "Geometrische Formen" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "Stempel" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Schnell-Anmerkungen" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "Wählen Sie eine Anmerkung aus den Schnell-Anmerkungen" + +#: part/annotationactionhandler.cpp:651 +#, kde-format +msgid "Quick Annotation Bar" +msgstr "Schnell-Anmerkungsleiste" + +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "Zu Schnell-Anmerkungen hinzufügen" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "Aktiviert lassen" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "Die Anmerkung ist auch nach Benutzung aktiviert" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "Seitenverhältnis und Winkel von Anmerkungen" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "Schriftart" + +#: part/annotationactionhandler.cpp:681 +#, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Anmerkungs-Einstellungen" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "Linienbreite" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "Deckkraft" + +#: part/annotationactionhandler.cpp:696 +#, kde-format +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1 %" + +#: part/annotationmodel.cpp:320 +#, kde-format +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "Seite %1 (%2)" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "Seite %1" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "Anmerkung" +msgstr[1] "%1 Anmerkungen" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "Notiz öff&nen" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Lesezeichen entfernen" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Lesezeichen hinzufügen" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, kde-format +msgid "Copy Text to Clipboard" +msgstr "Text in die Zwischenablage kopieren" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "Kopieren durch digitale Rechteverwaltung (DRM) verboten" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "&Löschen" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "&Eigenschaften" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, fuzzy, kde-format +#| msgctxt "%1 is the name of the file to save" +#| msgid "&Save '%1'..." +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "„%1“ &speichern …" + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "&Erscheinungsbild" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "&Allgemein" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&Autor:" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "Erstellt:" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "Geändert:" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "Notiz-Eigenschaften" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "Textkommentar-Eigenschaften" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "Haftnotiz-Eigenschaften" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "Linien-Eigenschaften" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "Vieleck-Eigenschaften" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "Form-Eigenschaften" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "Textmarkierungs-Eigenschaften" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "Stempel-Eigenschaften" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "Freihandlinien-Eigenschaften" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "Caret-Eigenschaften" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "Eigenschaften des Dateianhangs" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "Klang-Eigenschaften" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "Film-Eigenschaften" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "Anmerkungs-Eigenschaften" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "Wählen Sie ein benutzerdefiniertes Stempelsymbol aus einer Datei" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "Benutzerdefiniertes Stempelsymbol auswählen" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" +"*.ico *.png *.xpm *.svg *.svgz | Symbol-Dateien (*.ico *.png *.xpm *.svg *." +"svgz)" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "Die Datei %1 kann nicht geladen werden" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "Ungültige Datei" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&Farbe:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, kde-format +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%v %" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "&Deckkraft:" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "Symbol:" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "Kommentar" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "Hilfe" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "Einfügen" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "Taste" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "Neuer Absatz" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "Notiz" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "Absatz" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Schrift:" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "&Textfarbe:" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "&Ausrichtung:" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "Links" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "Mittig" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "Rechts" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "&Rahmenbreite:" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "Freigegeben" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "Wie vorliegend" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "Vertraulich" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "Abteilungsintern" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "Entwurf" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "Experimentell" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "Abgelaufen" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "Endgültig" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "Zum Kommentar" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "Zur allgemeinen Veröffentlichung" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "Nicht freigegeben" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "Nicht zur allgemeinen Veröffentlichung" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "Verkauft" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "Streng geheim" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "Lesezeichen" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "Information" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "Stempel-Symbol" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "&Breite:" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "Linienanfang:" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "Linienende:" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "Quadrat" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "Kreis" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "Raute" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "Offener Pfeil" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "Geschlossener Pfeil" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "Kein" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "Stumpfes Ende" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "Offener Pfeil nach Rechts" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "Geschlossener Pfeil nach Rechts" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "Schrägstrich" + +#: part/annotationwidgets.cpp:531 +#, kde-format +msgid "Leader line length:" +msgstr "Länge der Führungslinie:" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "Länge der Führungslinien-Erweiterung:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "Aktiviert" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "Farbfüllung:" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Typ:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "Durchgestrichen" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "Symbol für Dateianhang:" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "Grafik" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "Reißzwecke" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "Büroklammer" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "Stichwort" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "Datei" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "N/V" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "Keine Beschreibung verfügbar." + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "Name:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "Beschreibung:" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "Caret-Symbol:" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "Keines" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "Diese Notiz schließen" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "Einstellungen" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"Diese Anmerkung kann LaTeX-Code enthalten.\n" +"Klicken Sie hier, um diesen zu verarbeiten." + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "Die ausführbare Datei „latex“ wurde nicht gefunden." + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "Verarbeitung des LaTeX-Codes ist fehlgeschlagen" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "Ausführbare Datei dvipng kann nicht gefunden werden." + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "Bei der Ausführung des „latex“-Befehls ist ein Problem aufgetreten." + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "Bei der Ausführung des „dvipng“-Befehls ist ein Problem aufgetreten." + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"Ein Lesezeichen" +msgstr[1] "" +"%1\n" +"\n" +"%2 Lesezeichen" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Lesezeichen" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "Für alle Dokumente anzeigen" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, fuzzy, kde-format +#| msgid "S&earch:" +msgid "Search…" +msgstr "&Suchen:" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, fuzzy, kde-format +#| msgid "Expand all" +msgid "Expand All" +msgstr "Alle ausklappen" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, fuzzy, kde-format +#| msgid "Collapse all" +msgid "Collapse All" +msgstr "Alle einklappen" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "Zu diesem Lesezeichen gehen" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "Lesezeichen umbenennen" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Dokument öffnen" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "Alle Lesezeichen für dieses Dokument entfernen" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "Zertifikatsanzeige" + +#: part/certificateviewer.cpp:50 +#, fuzzy, kde-format +#| msgid "Export..." +msgid "Export…" +msgstr "Exportieren …" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "Allgemein" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "Ausgestellt von" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "Allgemeiner Name (CN)" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "E-Mail" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "Organisation (O)" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "Ausgestellt für" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "Gültigkeit" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "Fingerabdrücke" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "SHA-1-Fingerabdruck" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "SHA-256-Fingerabdruck" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "Details" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "Zertifikatsdaten:" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "Wo möchten Sie dieses Zertifikat speichern?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "Zertifikatsdatei (*.cer)" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "Das Zertifikat kann nicht exportiert werden" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "&Farbmodus" + +#: part/colormodemenu.cpp:21 +#, kde-format +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "Farben ändern" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "&Normale Farben" + +#: part/colormodemenu.cpp:41 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "Farben &umkehren" + +#: part/colormodemenu.cpp:42 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "&Papierfarbe ändern" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "Helle und &dunkle Farben ändern" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "In &Schwarzweiß umwandeln" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "He&lligkeit invertieren" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "&Luma invertieren (sRGB-Linear)" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "Luma invertieren (&Symmetrisch)" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "Farbt&on verstärken" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "Farbton abschwäch&en" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "Rot" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "Grün" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "Blau" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "Gelb" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "Schwarz" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "Weiß" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "Gelber Textmarker" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "Grüner Textmarker" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "Text einfügen" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "Verknüpfungen umrahmen" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "Farben ändern" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "" +"Warnung: Diese Einstellungen können einen stark negativen Einfluss " +"auf die Darstellungsgeschwindigkeit haben." + +#: part/dlgaccessibility.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "Farben umkehren" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "Papierfarbe ändern" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "Helle und dunkle Farben ändern" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "In Schwarzweiß umwandeln" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "Helligkeit invertieren" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "Luma invertieren (sRGB-Linear)" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "Luma invertieren (Symmetrisch)" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "Farbton verstärken" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "Farbton abschwächen" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "Farbmodus:" + +#: part/dlgaccessibility.cpp:87 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Papierfarbe:" + +#: part/dlgaccessibility.cpp:99 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Dunkle Farbe:" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "Helle Farbe:" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "Schwellwert:" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Kontrast:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "Sprachausgabe-Modul" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "Stimme der Sprachausgabe:" + +#: part/dlgannotations.cpp:25 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Vollständige Anmerkungswerkzeugleiste" + +#: part/dlgannotations.cpp:26 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Schnell-Anmerkungswerkzeugleiste" + +#: part/dlgannotations.cpp:28 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Anmerkungswerkzeugleiste:" + +#: part/dlgannotations.cpp:34 +#, kde-format +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "Autor:" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"Hinweis: Diese Informationen werden nur für Anmerkungen verwendet. " +"Die Informationen werden in Dokumenten mit Anmerkungen gespeichert und mit " +"dem Dokument übertragen." + +#: part/dlgannotations.cpp:48 +#, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

Quick Annotation Tools

" +msgstr "

Schnell-Anmerkungen

" + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "Legen Sie den Editor fest, mit dem Okular Quelldateien öffnen soll." + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "Benutzerdefinierter Texteditor" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Emacs" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "Lyx" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "TeXstudio" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "TeXiFy IDEA" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "Editor:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
\n" +"You can also put few placeholders:\n" +"
    \n" +"
  • %f - the file name
  • \n" +"
  • %l - the line of the file to be reached
  • \n" +"
  • %c - the column of the file to be reached
  • \n" +"
\n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"Legen Sie den Aufruf für einen benutzerdefinierten Texteditor fest.
\n" +"Dazu können auch einige Platzhalter verwendet werden:\n" +"
    \n" +"
  • %f – der Dateiname
  • \n" +"
  • %l – die anzuspringende Zeile in der Datei
  • \n" +"
  • %c – die anzuspringende Spalte in der Datei
  • \n" +"
\n" +"Wenn %f nicht angegeben wird, wird der Dateiname automatisch an den Aufruf " +"angehängt." + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "Befehl:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "Weichen Bildlauf verwenden" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "Erscheinungsbild:" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "Bildlaufleisten anzeigen" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "Vorschaubilder mit der Seite verknüpfen" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "Tipps und Infomeldungen anzeigen" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "Benachrichtigung über eingebettete Dateien, Formulare oder Signaturen" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "Dokumenttitel in der Titelleiste anzeigen, falls verfügbar" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "Nur Dateinamen anzeigen" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "Vollständigen Dateipfad anzeigen" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "Wenn kein Dokumenttitel angezeigt wird:" + +#: part/dlggeneral.cpp:92 +#, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "Benutzerdefinierte Hintergrundfarbe verwenden:" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "Programmfunktionen:" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "Neue Dateien in Unterfenstern öffnen" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "" +"Zum vorhandenen Unterfenster wechseln, wenn die Datei bereits geöffnet ist." + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "DRM-Beschränkungen beachten" + +#: part/dlggeneral.cpp:148 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "Geänderte Dokumentdateien neu laden" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "Auswahldialog für Anzeigemodule anzeigen" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "Leserichtung von rechts nach links" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" +"Anhand der Dateiinformationen entscheiden, ob standardmäßig im fortlaufenden " +"Modus geöffnet werden soll" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" +"Dateien ohne Dateiinformationen standardmäßig im fortlaufenden Modus öffnen" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "Im fortlaufenden Modus als Standard öffnen" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" +"Bei Verwendung von „Blättern“ die Cursorbewegung am gegenüberliegenden " +"Bildschirmrand fortsetzen" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "Übersichtsspalten:" + +#: part/dlggeneral.cpp:220 +#, kde-format +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%v %" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" +"Legt fest, wieviel des aktuell sichtbaren Bereichs noch sichtbar ist, " +"nachdem eine der Tasten „Bild auf/ab“ betätigt wurde." + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "Überschneidung für die Tasten „Bild auf/ab“:" + +#: part/dlggeneral.cpp:228 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%v %" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "100 %" + +#: part/dlggeneral.cpp:233 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "Seitenbreite" + +#: part/dlggeneral.cpp:234 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "Ganze Seite" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "Automatisch einpassen" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "Benutzerdefiniert" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" +"Legt den Vergrößerungsmodus für Dateien fest, die noch nie zuvor geöffnet " +"wurden. Alle bereits vorher geöffneten Dateien werden in der letzten " +"verwendeten Skalierung angezeigt." + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "Standardvergrößerung:" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "Transparenzeffekte aktivieren" + +#: part/dlgperformance.cpp:28 +#, kde-format +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "CPU-Ausnutzung:" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "Niedrig" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "Normal (Voreinstellung)" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "Aggressiv" + +#: part/dlgperformance.cpp:38 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "Gierig" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "Speicherbelegung:" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "Kantenglättung für Text aktivieren" + +#: part/dlgperformance.cpp:56 +#, kde-format +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "Render-Einstellungen:" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "Kantenglättung Grafik aktivieren" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "Hinting für Text aktivieren" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"Es wird so wenig Arbeitsspeicher wie möglich belegt. Es werden keine " +"Komponenten wiederverwendet. (Für Systeme mit wenig Arbeitsspeicher.)" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"Ein Kompromiss zwischen Arbeitsspeicherbelegung und Geschwindigkeit. Die " +"nächste Seite wird im Voraus geladen und die Suche geht schneller. " +"(Typischerweise für Systeme mit 2 GB Arbeitsspeicher.)" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"Alle Komponenten werden im Arbeitsspeicher gehalten. Nachfolgende Seiten " +"werden im Voraus geladen. Die Suche wird beschleunigt. (Für Systeme mit 4 GB " +"und mehr Arbeitsspeicher.)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" +"Alles wird geladen und im Speicher gehalten. Alle Seiten werden im Voraus " +"geladen. (Hierbei wird maximal die Hälfte Ihres Arbeitsspeichers oder Ihres " +"freien Speichers verwendet, je nachdem, welcher Wert größer ist.)" + +#: part/dlgpresentation.cpp:38 +#, kde-format +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] "jede Sekunde" +msgstr[1] "alle %v Sekunden" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "Automatisch weiter:" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "Nach der letzten Seite von vorn beginnen" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "Links/Rechts tippen um zurück/vorwärts zu gehen" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "Irgendwo tippen um vorwärts zu gehen" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "Deaktiviert" + +#: part/dlgpresentation.cpp:63 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Touch-Navigation" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "Hintergrundfarbe:" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "Nach Verzögerung ausblenden" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "Immer sichtbar" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "Immer ausgeblendet" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "Mauszeiger:" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "Fortschrittsanzeige einblenden" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "Zusammenfassung anzeigen" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "Sofort ohne Animationen" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "Ersetzen" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "Zufälliger Übergang" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "Vertikal einfliegen" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "Horizontal einfliegen" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "Rechtecküberblendung nach innen" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "Rechtecküberblendung nach außen" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "Auflösen" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "Überblenden" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "Heruntertröpfeln lassen" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "Nach rechts tröpfeln lassen" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "Nach rechts unten tröpfeln lassen" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "Horizontal nach innen teilen" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "Horizontal nach außen teilen" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "Vertikal nach innen teilen" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "Vertikal nach außen teilen" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "Nach unten auswischen" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "Nach rechts auswischen" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "Nach links auswischen" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "Nach oben auswischen" + +#: part/dlgpresentation.cpp:121 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Standardübergang:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "Bevorzugter Bildschirm:" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

Drawing Tools

" +msgstr "

Zeichenwerkzeug

" + +#: part/dlgpresentation.cpp:171 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Aktueller Bildschirm" + +#: part/dlgpresentation.cpp:172 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Standard-Bildschirm" + +#: part/dlgpresentation.cpp:178 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "Bildschirm %1 (%2 %3 %4)" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "Bildschirm %1 (nicht verbunden)" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "Zeichenwerkzeug: %1" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "Radierer" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "&Name:" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "&Typ:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "Erscheinungsbild" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "Textmarkierung" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "Geometrische Form" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "Anmerkungswerkzeug erstellen" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "Anmerkungswerkzeug bearbeiten" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "Farbe:" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "&Stiftbreite:" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "%v px" + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "Zeichenwerkzeug erstellen" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "Zeichenwerkzeug bearbeiten" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "Unbekannt" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Eingebettete Dateien" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "Ansicht" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "Name" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "Beschreibung" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "Größe" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "Erstellt am" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "Geändert am" + +#: part/embeddedfilesdialog.cpp:154 +#, fuzzy, kde-format +#| msgid "Save As" +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "Speichern unter" + +#: part/embeddedfilesdialog.cpp:155 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "&Ansicht" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "Die Druckvorschau-Komponente kann nicht geladen werden." + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "Druckvorschau" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "Schließen" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "&Suchen" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "Suchtext" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Weiter" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "Gehe zur nächsten Fundstelle" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Zurück" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "Gehe zur vorherigen Fundstelle" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "Suchverhalten ändern" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "Groß-/Kleinschreibung beachten" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "Von aktueller Seite" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "Beim Eintippen suchen" + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "Alle Dateien (*)" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "Signatur-Platzhalter (zum Signieren klicken)" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, fuzzy, kde-format +#| msgctxt "@action:button" +#| msgid "Sign" +msgid "&Sign…" +msgstr "Signieren" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "Signatur-Eigenschaften" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "Sucheinstellungen" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "Groß-/Kleinschreibung beachten" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "Regulärer Ausdruck" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "Ebenen" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "von" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "Skalierung" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "Auf 100 % vergrößern" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "&Rechts drehen" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "Rechts" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "&Links drehen" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "Links" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "Ursprüngliche Ausrichtung" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "&Ansicht stutzen" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "Ränder s&tutzen" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "Auf Auswahl &stutzen" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "Seiten&breite" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "Ganze &Seite" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "&Automatisch einpassen" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "Fenster auf Se&ite einpassen" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "&Anzeigemodus" + +#: part/pageview.cpp:594 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "Einzelne &Seite" + +#: part/pageview.cpp:595 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "&Gegenüberliegende Seiten" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "Gegenüberliegende Seiten (&erste Seite zentrieren)" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "&Übersicht" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "&Fortlaufend" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "Leserichtung von rechts nach links" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "&Blättern" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "&Zoom" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "&Bereichsauswahl" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "&Textauswahl" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "&Tabellenauswahl" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "&Lupe" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "Auswahlwerkzeuge" + +#: part/pageview.cpp:711 +#, fuzzy, kde-format +#| msgid "Digitally &Sign..." +msgid "Digitally &Sign…" +msgstr "Digital &signieren …" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "Gesamtes Dokument vorlesen" + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "Aktuelle Seite vorlesen" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "Aktuelle Seite vorlesen" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "Vorlesen anhalten" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "Vorlesen anhalten / fortsetzen" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "Nach oben" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Nach unten" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "Eine Seite nach oben" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "Eine Seite nach unten" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "Formulare anzeigen" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] " Ein Dokument mit einer Seite ist geladen worden." +msgstr[1] " Ein Dokument mit %1 Seiten ist geladen worden." + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "Tabelleninhalt in die Zwischenablage kopieren" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "Text (1 Buchstabe)" +msgstr[1] "Text (%1 Buchstaben)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "In die Zwischenablage kopieren" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "Text vorlesen" + +#: part/pageview.cpp:2863 +#, kde-format +msgid "Image (%1 × %2 pixels)" +msgstr "Bild (%1 × %2 Pixel)" + +#: part/pageview.cpp:2865 +#, kde-format +msgid "Save to File…" +msgstr "In Datei speichern …" + +#: part/pageview.cpp:2885 +#, kde-format +msgid "Image [%1 × %2] copied to clipboard." +msgstr "Bild [%1 × %2] ist in die Zwischenablage kopiert worden." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "Datei speichern" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "Bilder (*.png *.jpeg)" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "Datei nicht gespeichert." + +#: part/pageview.cpp:2901 +#, kde-format +msgid "Image [%1 × %2] saved to %3 file." +msgstr "Bild [%1 × %2] ist in %3-Datei gespeichert worden." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "Text kopieren" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "Gehe zu „%1“" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "Seitenbreite" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "Ganze Seite" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "Automatisch einpassen" + +#: part/pageview.cpp:4107 +#, kde-format +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1 %" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "Nach „%1“ suchen mit" + +#: part/pageview.cpp:4404 +#, fuzzy, kde-format +#| msgid "Configure Web Shortcuts..." +msgid "Configure Web Shortcuts…" +msgstr "Web-Kurzbefehle festlegen …" + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "Verknüpfungsadresse aufrufen" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "Diesen Klang abspielen" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "Wiedergabe anhalten" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "Verknüpfungsadresse kopieren" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "Nach „%1“ im diesem Dokument suchen" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Willkommen" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "Wählen Sie den zu vergrößernden Bereich. Ein Rechtsklick verkleinert." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "Klicken Sie, um die vergrößerte Ansicht zu sehen." + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "Ziehen Sie mit der Maus ein Rechteck um den zu kopierenden Bereich." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "Wählen Sie Text aus" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" +"Ziehen Sie mit der Maus ein Rechteck um die Tabelle, klicken Sie dann zur " +"Aufteilung auf die nächsten Kanten, drücken Sie die Taste ESC zum Löschen." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" + +#: part/pageview.cpp:5188 +#, fuzzy, kde-format +#| msgid "Certificates" +msgid "No valid certificates" +msgstr "Zertifikate" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, fuzzy, kde-format +#| msgid "View in Certificate Manager" +msgid "Open Certificate Manager" +msgstr "In Zertifikatsverwaltung anzeigen" + +#: part/pageview.cpp:5200 +#, fuzzy, kde-format +#| msgid "" +#| "There are no available signing certificates.
For more information, " +#| "please see the section about
Adding Digital Signatures " +#| "in the manual." +msgid "" +"There are no available signing certificates.
Launch Certificate Manager " +"to import or manage certificates
For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" +"Es sind keine Signaturzertifikate vorhanden.
Weitergehende " +"Informationen finden Sie im Handbuch im Abschnitt Digitale " +"Signaturen hinzufügen." + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, fuzzy, kde-format +#| msgid "Certificates" +msgid "No certificates found" +msgstr "Zertifikate" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" +"Es sind keine Signaturzertifikate vorhanden.
Weitergehende " +"Informationen finden Sie im Handbuch im Abschnitt Digitale " +"Signaturen hinzufügen." + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" +"Sie haben noch nicht gespeicherte Änderungen. Bitte speichern Sie das " +"Dokument vor dem Signieren." + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "Zeichnen Sie ein Rechteck, um ein Signaturfeld einzufügen." + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "" +"Ziehen Sie mit der Maus ein Rechteck um den Bereich der Seite, der sichtbar " +"bleiben soll." + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "Neue Textnotiz" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "Text der neuen Notiz:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Signiert von: %1\n" +"\n" +"Datum: %2" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" +"Eine Signatur in dieser Größe ist möglicherweise zu klein, um sie lesen zu " +"können. Wenn Sie eine besser lesbare Signatur erstellen möchten, klicken Sie " +"auf Neu beginnen und zeichnen dann ein größeres " +"Rechteck." + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "Neu beginnen" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "Signieren" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name" +msgstr "Name des Autors" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name for the annotation:" +msgstr "Namen des Autors der Anmerkung:" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "" +"Ellipse zeichnen (Ziehen Sie mit der Maus, um einen Bereich auszuwählen)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "Text hervorheben" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "Eine Freihandlinie zeichnen" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "" +"Freitext-Anmerkung (Ziehen Sie mit der Maus, um einen Bereich auszuwählen)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "Fügt eine Notiz ein" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "" +"Zeichnet ein Vieleck (Klicken Sie auf den ersten Punkt zum Abschließen)" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "Ein Rechteck zeichnen" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "Verschnörkelter Text" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "Positioniert einen Stempel" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "Eine gerade Linie zeichnen" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "Text durchstreichen" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "Text unterstreichen" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "" +"Textkommentar-Anmerkung (Ziehen Sie mit der Maus, um einen Bereich " +"auszuwählen)" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "Hervorhebung" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "Bevorzugte Anmerkung hinzufügen" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Custom annotation name:" +msgstr "Benutzerdefinierter Anmerkungsname:" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&Datei" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "&Einstellungen" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "&Hilfe" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "Aus&richtung" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "&Lesezeichen" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "Anzeige-Werkzeugleiste" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Vorschaubilder" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "Anmerkungen" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" +"Dieses Dokument enthält Anmerkungen und Formulardaten, die von einer " +"früheren Okular-Version intern gespeichert wurde. Die interne Speicherung " +"wird nicht länger unterstützt
. Bitte Speichern Sie das Dokument, " +"wenn Sie es weiter bearbeiten möchten." + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"Dieses Dokument enthält eingebettete Dateien. Klicken Sie hier zur Anzeige oder rufen Sie den Menüeintrag " +"„Eingebettete Dateien“ aus dem Menü „Datei“ auf." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" +"Signieren wird ausgeführt. Die Position und Größe der Signatur kann " +"angepasst werden." + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "Signieren abschließen" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "Vorherige Seite" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "Zurück zur vorherigen Seite" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "Geht zur vorherigen Seite des Dokuments" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "Nächste Seite" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "Weiter zur nächsten Seite" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "Geht zur nächsten Seite des Dokuments" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "Anfang des Dokuments" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "Geht zum Anfang des Dokuments" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "Ende des Dokuments" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "Geht zum Ende des Dokuments" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "Das aktuelle Lesezeichen umbenennen" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "Vorheriges Lesezeichen" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "Zum vorherigen Lesezeichen gehen" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "Nächstes Lesezeichen" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "Zum nächsten Lesezeichen gehen" + +#: part/part.cpp:748 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgid "Configure Okular…" +msgstr "Okular einrichten …" + +#: part/part.cpp:751 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Configure Viewer…" +msgstr "Betrachter einrichten" + +#: part/part.cpp:757 +#, fuzzy, kde-format +#| msgid "Configure Viewer Backends" +msgid "Configure Viewer Backends…" +msgstr "Anzeigemodule einrichten" + +#: part/part.cpp:759 +#, fuzzy, kde-format +#| msgid "Configure Backends" +msgid "Configure Backends…" +msgstr "Anzeigemodule einrichten" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "Über Anzeigemodul" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "Neu &laden" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "Lädt das aktuelle Dokument erneut vom Datenträger." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "Suchleiste sch&ließen" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "Seitenzahl" + +#: part/part.cpp:817 +#, fuzzy, kde-format +#| msgctxt "@action" +#| msgid "Configure Color Modes..." +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "Farbmodus einrichten …" + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "Gesamten Text der aktuellen Seite auswählen" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "Se&itenleiste anzeigen" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "&Seitendarstellungsleiste anzeigen" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "&Signaturbereich anzeigen" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "Ein&gebettete Dateien" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "E&xportieren als" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "Veröffentlic&hen" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "&Präsentation" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "Ordner mi&t diesem Inhalt öffnen" + +#: part/part.cpp:945 +#, fuzzy, kde-format +#| msgid "&Import PostScript as PDF..." +msgid "&Import PostScript as PDF…" +msgstr "PostScript als PDF &importieren …" + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "Schwarzschirm-Modus umschalten" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "Zeichnung löschen" + +#: part/part.cpp:962 +#, fuzzy, kde-format +#| msgid "Configure Annotations..." +msgid "Configure Annotations…" +msgstr "Anmerkungen einrichten …" + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "Präsentation anhalten/wiedergeben" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" +"Sie haben das offene Dokument verändert, aber dieser Dateityp kann nicht " +"gespeichert werden.\n" +"Alle Änderungen gehen verloren wenn Okular geschlossen wird." + +#: part/part.cpp:1123 +#, kde-format +msgid "Document can't be saved" +msgstr "Dokument kann nicht gespeichert werden" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "„%1“ kann nicht geöffnet werden (%2)" + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "Das Laden von %1 ist abgebrochen worden." + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "%1 kann nicht geöffnet werden. Der Grund lautet: %2" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "Anzeigemodule einrichten" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "Anzeigemodule einrichten" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"Das Programm „ps2pdf“ kann nicht gefunden werden, daher kann Okular keine PS-" +"Dateien importieren." + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "ps2pdf nicht gefunden" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "PostScript-Dateien (%1)" + +#: part/part.cpp:1357 +#, fuzzy, kde-format +#| msgid "Importing PS file as PDF (this may take a while)..." +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "PS-Datei wird als PDF importiert (dies kann eine Weile dauern) …" + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "Bitte geben Sie das Passwort zum Lesen des Dokuments ein:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "Falsches Passwort, bitte versuchen Sie es erneut:" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "Dokument-Passwort" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" +"Dies Dokument enthält XFA-Formulare, die zurzeit nicht unterstützt " +"werden." + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"Dieses Dokument enthält Formulare. Klicken Sie auf diesen Knopf, um sie zu " +"verwenden, oder rufen Sie den Menüeintrag „Formulare anzeigen“ aus dem Menü " +"„Ansicht“ auf." + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" +"Alle Bearbeitungs- und Interaktionsfunktionen für dieses Dokument sind " +"deaktiviert. Bitte speichern Sie eine Kopie und öffnen sie neu, um dieses " +"Dokument zu bearbeiten." + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" +"Dieses Dokument möchte im Vollbildmodus angezeigt werden.\n" +"Möchten Sie den normalen Modus verlassen und in den Präsentationsmodus " +"wechseln?" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "Anfrage zur Änderung des Anzeigemodus" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "Präsentationsmodus starten" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "Anfrage verweigern" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "„%1“ kann nicht geöffnet werden (%2)" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" +"Die Datei %1 hat ungespeicherte Änderungen, aber wurde " +"durch ein anderes Programm geändert. Durch das Neuladen der Datei werden " +"Ihre Änderungen verworfen und durch die Änderungen aus dem anderen Programms " +"ersetzt. Möchten Sie fortfahren und die Datei neu laden?" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "Datei geändert" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "Neu Laden fortsetzen" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "Neu Laden abbrechen" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" +"Die Datei %1 hat ungespeicherte Änderungen, aber wurde " +"durch ein anderes Programm geändert. Durch das Schließen der Datei werden " +"Ihre Änderungen verworfen und durch die Änderungen aus dem anderen Programms " +"ersetzt. Möchten Sie fortfahren und die Datei schließen?" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "Schließen fortsetzen" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "Schließen abbrechen" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "Möchten Sie Ihre Änderungen an „%1“ speichern oder verwerfen?" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "Dokument schließen" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"Diese Verknüpfung fordert das Schließen des Dokuments an. Dies ist unter " +"Verwendung des eingebetteten Betrachters nicht möglich." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"Diese Verknüpfung fordert das Beenden des Programms an. Dies ist unter " +"Verwendung des eingebetteten Betrachters unmöglich." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Reloading the document…" +msgstr "Dokument wird neu geladen …" + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "Inhalt" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "Signaturen" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Gehe zu Seite" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "&Seite:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "Geben Sie den Namen des Lesezeichens ein:" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "Diese Lesezeichen umbenennen" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "Dieses Lesezeichen entfernen" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "Speichern unter" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" +"Sie möchten ein Okular-Archiv speichern, dessen Name nicht mit der " +"Erweiterung „%1“ endet. Dies ist nicht zulässig, möchten Sie einen neuen " +"Namen wählen?" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "Nicht unterstützte Erweiterung" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "Neuen Namen auswählen" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" +"Die Datei %1 wurde durch ein anderes Programm geändert. " +"Durch das Speichern der Datei gehen alle Änderungen aus dem anderen Programm " +"verloren. Möchten Sie wirklich fortfahren?" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "Speichern - Warnung" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "Woanders eine Kopie speichern" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
Do you want to continue?" +msgstr "" +"Das aktuelle Dokument ist durch ein Passwort geschützt.
Um es zu " +"speichern, muss die Datei neu geladen werden. Das Passwort wird wieder " +"abgefragt und der Verlauf von Zurücknehmen/Wiederherstellen geht verloren." +"
Möchten Sie fortfahren?" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "Die temporäre Datei kann nicht zum Speichern geöffnet werden." + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" +"Datei %1 kann nicht gespeichert werden, weil sie nur " +"gelesen werden darf. Versuchen Sie einen anderen Speicherort oder eine " +"Änderung der Dateiberechtigungen." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
Do you want to continue?" +msgstr "" +"Nach dem Speichern muss die Datei wegen des aktuellen Dokumentformats neu " +"geladen werden. Der Verlauf von Zurücknehmen/Wiederherstellen geht verloren." +"
Möchten Sie fortfahren?" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "" +"Datei kann nicht in „%1“ gespeichert werden. Versuchen Sie einen anderen " +"Speicherort." + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "Ausgefüllte Inhalte von Formularen" + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "Benutzer-Anmerkungen" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" +"Sie sind dabei, Änderungen zu speichern, aber die folgenden Elemente können " +"im aktuellen Dateiformat nicht gespeichert werden. Bitte benutzen Sie das " +"Format Okular-Dokumentarchiv, um diese Elemente zu behalten." + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "Warnung" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, fuzzy, kde-format +#| msgid "Save as Okular document archive..." +msgid "Save as Okular document archive…" +msgstr "Als Okular-Dokumentarchiv speichern …" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" +"Sie sind dabei, Änderungen zu speichern, aber die folgenden Elemente können " +"im aktuellen Dateiformat nicht gespeichert werden. Bitte benutzen Sie das " +"Format Okular-Dokumentarchiv, um diese Elemente zu behalten. Klicken " +"Sie auf Fortsetzen, um das Dokument zu speichern und dabei diese " +"Elemente zu verwerfen." + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" +"Sie sind dabei, Änderungen zu speichern, aber die folgenden Elemente können " +"im aktuellen Dateiformat nicht gespeichert werden. Bitte benutzen Sie das " +"Format Okular-Dokumentarchiv, um diese Elemente zu behalten. Klicken " +"Sie auf Fortsetzen, um das Dokument zu speichern, aber Sie werden " +"diese Elemente und den Verlauf von Zurücknehmen/Wiederherstellen verlieren." + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "Fortsetzen" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "Fortsetzen und alle Änderungen verwerfen" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "Datei kann nicht in „%1“ gespeichert werden. %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"Okular kann %1 nicht an das angegebene Ziel kopieren.\n" +"\n" +"Das Dokument ist nicht mehr vorhanden." + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" +"Datei kann nicht in „%1“ gespeichert werden. Fehler „%2“. Versuchen Sie " +"einen anderen Speicherort." + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "Expand whole section" +msgid "Expand Whole Section" +msgstr "Gesamten Abschnitt ausklappen" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "Collapse whole section" +msgid "Collapse Whole Section" +msgstr "Gesamten Abschnitt einklappen" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "Vorschaubilder mit der Seite abgleichen" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Extras" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "Vorlesen" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "Drucken" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "Es ist nicht erlaubt, dieses Dokument zu drucken." + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"Das Dokument kann aufgrund eines unbekannten Fehlers nicht gedruckt werden. " +"Bitte melden Sie das Problem unter http://bugs.kde.org" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"Das Dokument kann nicht gedruckt werden. Die genaue Fehlermeldung lautet: " +"„%1“. Bitte melden Sie das Problem unter http://bugs.kde.org" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "Geht zurück zur vorher angezeigten Stelle im Dokument" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "Geht vor zur nächsten angezeigten Stelle im Dokument" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"Dateifehler! Die temporäre Datei %1 kann nicht angelegt werden." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"Dateifehler! Die temporäre Datei %1 kann nicht zum Dekomprimieren geöffnet werden. Die Datei wird " +"nicht geladen. " + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"Typischerweise tritt dieses Problem auf, wenn Ihre Rechte nicht zum " +"Lesen der Datei ausreichen. Sie können Besitzer und Berechtigungen " +"überprüfen, indem Sie in der Dateiverwaltung Dolphin mit der rechten " +"Maustaste auf die Datei klicken und dann „Eigenschaften“ im Kontextmenü " +"aufrufen und zur Karteikarte „Berechtigungen“ im Dialog gehen." + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"Dateifehler! Die Datei %1 " +"kann nicht dekomprimiert werden. Sie wird nicht geladen." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"Typischerweise tritt dieses Problem auf, wenn die Datei beschädigt ist. " +"Wenn Sie sicher sein möchten, versuchen Sie, die Datei mit Hilfe von " +"Befehlszeilen-Werkzeugen selbst zu dekomprimieren." + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "Keine Lesezeichen" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "Beim Veröffentlichen des Dokuments ist ein Fehler aufgetreten: %1" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "Veröffentlichen" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "Dokument erfolgreich veröffentlicht" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "Sie finden das veröffentlichte Dokument unter: %1" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "&Bearbeiten" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "&Ansicht" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&Gehe zu" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "E&xtras" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "Haupt-Werkzeugleiste" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "Anmerkungswerkzeugleiste" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, kde-format +msgid "Quick Annotation Toolbar" +msgstr "Schnell-Anmerkungswerkzeugleiste" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "Allgemeine Einstellungen" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Zugangshilfen" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "Zugangshilfen für das Lesen" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Leistung" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "Leistungsverbesserung" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "Betrachter einrichten" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Präsentation" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "Einstellungen für den Präsentationsmodus" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "Anmerkungs-Einstellungen" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "Editor" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "Editor-Einstellungen" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" +"Der Editor wurde über die Kommandozeile auf\n" +" %1 \n" +"gesetzt. Wenn Sie diese Option nutzen wollen, starten Sie Okular ohne die " +"Option --editor-cmd" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "Weitersuchen" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 – Präsentation" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "Bildschirm wechseln" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "Bildschirm %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "Präsentationsmodus beenden" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Titel: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Seiten: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "Klicken Sie, um zu beginnen" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "Anhalten" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "Wiedergeben" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"Es gibt zwei Wege, den Präsentationsmodus zu verlassen. Sie können Esc " +"drücken oder auf das Symbol „Beenden“ drücken, das erscheint, wenn Sie den " +"Mauszeiger an den oberen Bildschirmrand bewegen. Sie können natürlich auch " +"das Fenster wechseln (die Voreinstellung dafür ist Alt+Tabulator)." + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "Während einer Präsentation" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "Unbekannte Datei" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "%1-Eigenschaften" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "&Schriftarten" + +#: part/propertiesdialog.cpp:145 +#, fuzzy, kde-format +#| msgid "Reading font information..." +msgid "Reading font information…" +msgstr "Schriftinformationen werden eingelesen …" + +#: part/propertiesdialog.cpp:158 +#, kde-format +msgid "&Page Sizes" +msgstr "&Seitengröße" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "Schrift &entpacken" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Typ 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Typ 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "Typ 1C (OpenType)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Typ 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType (OpenType)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID Typ 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID Typ 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID Typ 0C (OpenType)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType (OpenType)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "TeX PK" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "TeX virtuell" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "TeX Font-Metrik" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "TeX FreeType-bearbeitet" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "Unbekannt" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "Eingebettet (teilweise)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "Vollständig eingebettet" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "Nein" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "Ja (teilweise)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "Ja" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "%1 (ersetzt durch %2)" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "entfällt" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "Unbekannte Schrift" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "Eingebettet: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "Name" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "Typ" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "Datei" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "Seite" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "Größe" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "Revisionsvorschau" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "Wo möchten Sie diese Revision speichern?" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "Die Datei „%1“ lässt sich nicht speichern." + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "Die Revision kann nicht angezeigt werden." + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "Geben Sie mindestens drei Buchstaben zum Filtern der Seiten ein" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "Groß-/Kleinschreibung beachten" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "Ganzen Text finden" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "Alle Wörter finden" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "Beliebiges Wort finden" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "Filter-Einstellungen" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, kde-format +msgid "Certificates" +msgstr "Zertifikate" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "Zertifikat zum Signieren auswählen:" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "Alle" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, kde-format +msgid "Only QES certificates" +msgstr "Nur QES-Zertifikate" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "Nur PGP-Schlüssel" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "Grund:" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, kde-format +msgid "optional" +msgstr "optional" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "Ort:" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, kde-format +msgid "Background:" +msgstr "Hintergrund:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "Auswählen …" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, kde-format +msgid "Recent backgrounds:" +msgstr "Zuletzt verwendete Hintergründe:" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

No annotations

To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
" +msgstr "" +"

Keine Anmerkungen

Um neue Anmerkungen einzufügen, " +"drücken Sie F6 oder wählen Sie Anmerkungen aus dem Menü Extras." +"
" + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "Nach Seiten gruppieren" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "Nach Autor gruppieren" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "Nur Anmerkungen für die aktuelle Seite anzeigen" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "Alle Elemente ausklappen" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "Alle Elemente einklappen" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "Eigenschaften" + +#: part/signaturepartutils.cpp:180 +#, kde-format +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Bilder (%1)" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "Hintergrundbild auswählen" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "Bild vergessen" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "Alle Bilder vergessen" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "" +"Geben Sie ein Passwort, falls vorhanden, zum Entsperren des Zertifikats ein " +"%1" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "Zertifikat-Passwort eingeben" + +#: part/signaturepartutils.cpp:244 +#, kde-format +msgid "Enter document password" +msgstr "Dokument-Passwort eingeben" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "Signierte Datei speichern unter" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "%1_signiert.%2" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "Gültigkeitsstatus" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "Gültigkeit der Signatur:" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "Änderungen am Dokument:" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "Zusätzliche Informationen" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "Signiert von:" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "Signatur-Datum:" + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "Dokumentversion" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Dokumentversion %1 von %2" + +#: part/signaturepropertiesdialog.cpp:88 +#, fuzzy, kde-format +#| msgid "View Signed Version..." +msgid "View Signed Version…" +msgstr "Signierte Version anzeigen …" + +#: part/signaturepropertiesdialog.cpp:95 +#, fuzzy, kde-format +#| msgid "View Certificate..." +msgid "View Certificate…" +msgstr "Zertifikat anzeigen …" + +#: part/signaturepropertiesdialog.cpp:97 +#, kde-format +msgid "View in Certificate Manager" +msgstr "In Zertifikatsverwaltung anzeigen" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "KDE-Zertifikatsverwaltung (kleopatra) nicht gefunden" + +# https://de.wikipedia.org/wiki/Qualifizierte_elektronische_Signatur +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "Qualifiziert" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "PGP" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "Nur Lesezeichen-Seiten anzeigen" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "Abspielen" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Pause" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "Anhalten" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "Diese Version von Okular unterstützt keine Videos" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "Diese Version von Okular unterstützt keine Videos" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, fuzzy, kde-format +#| msgid "&Edit" +msgid "&Edit…" +msgstr "&Bearbeiten" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "&Entfernen" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "Nach &oben" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "Nach &unten" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "Standard-Zeichenwerkzeug #%1" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "" +"Es gibt bereits ein Werkzeug mit diesem Namen. Es wird ein Standard-Name " +"verwendet." + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "Name bereits vergeben" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "Anzuzeigende Seite des Dokuments" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "Dokumentanzeige im Präsentationsmodus beginnen" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "Startet mit dem Druckdialog" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "Startet mit dem Druckdialog und wird nach dem Drucken beendet" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "Nur eine Instanz des Programms verwenden" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "Fenster nicht nach vorn holen" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "Sucht eine Zeichenfolge im Text" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "Legt das Kommando für den externen Editor fest" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "" +"Zu öffnende Dokumente. Mit „-“ wird aus der Standardeingabe (stdin) gelesen." + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" +"Sie können den Editorbefehl nicht in einer bereits laufenden Okular-Instanz " +"einstellen. Bitte schließen Sie die Unterfenster und versuchen es erneut. " +"Beachten Sie, dass die Option „unique“ ebenfalls nicht erlaubt ist, wenn der " +"Editorbefehl per Kommandozeile eingestellt wird.\n" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "" +"Fehler: Mit der Option „--unique“ kann nicht mehr als ein Dokument " +"gleichzeitig geöffnet werden." + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" +"Fehler: Mit der Option „--presentation“ kann nicht mehr als ein Dokument " +"gleichzeitig geöffnet werden." + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "" +"Fehler: Mit der Option „--print“ kann nicht mehr als ein Dokument " +"gleichzeitig geöffnet werden" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "" +"Fehler: Mit der Option „--page“ kann nicht mehr als ein Dokument " +"gleichzeitig geöffnet werden" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "" +"Fehler: Mit der Option „--find“ kann nicht mehr als ein Dokument " +"gleichzeitig geöffnet werden" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "Die Okular-Komponente wurde nicht gefunden: %1" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "Seitenleiste" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" +"Es läuft bereits eine einzigartig Instanz von Okular, aber das ist nicht " +"diese Instanz." + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "Die Okular-Komponente kann nicht gefunden werden." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"Klicken Sie, um eine Datei zu öffnen.\n" +"Klicken und gedrückt halten, um eine kürzlich geöffnete Datei zu öffnen." + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"Klicken Sie, um eine Datei zu öffnen, oder klicken und halten Sie " +"gedrückt, um eine kürzlich geöffnete Datei zu öffnen." + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "Nächstes Unterfenster" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "Vorheriges Unterfenster" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "Unterfenster wieder herstellen" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "Seitenleiste sperren" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "Alle Dateien (*)" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "Alle unterstützten Dateien (%1)" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "Dokument öffnen" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "Schließen bestätigen" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "Unterfenster schließen" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "" +"Sie sind dabei, die %1 Unterfenster zu schließen. Möchten Sie wirklich " +"fortfahren?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "Beim Schließen mehrerer Unterfenster warnen" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "&Pfad kopieren" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "&Ordner mit diesem Inhalt öffnen" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "&Dieses Element vergessen" + +#: shell/welcomescreen.cpp:137 +#, kde-format +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "Keine zuletzt geöffneten Dokumente" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "Willkommen in Okular" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Dokument öffnen …" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, kde-format +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Zuletzt geöffnete Dokumente" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "Alles vergessen" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "Willkommensbildschirm ausblenden" + +#~ msgid "Geometry with Comment" +#~ msgstr "Form mit Kommentar" + +#~ msgid "Geometry" +#~ msgstr "Form" + +#~ msgctxt "Annotation type: contents" +#~ msgid "%1: %2" +#~ msgstr "%1: %2" + +#~ msgid "Modified: %1" +#~ msgstr "Geändert: %1" + +#~ msgid "Find..." +#~ msgstr "Suchen …" + +#~ msgid "Go To Page..." +#~ msgstr "Gehe zu Seite …" + +#~ msgid "Play movie..." +#~ msgstr "Film abspielen …" + +#~ msgid "Search..." +#~ msgstr "Suchen …" + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "Speichern &unter …" + +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "&Ansicht …" + +#~ msgid "&Sign..." +#~ msgstr "&Signieren …" + +#~ msgid "Configure Viewer..." +#~ msgstr "Betrachter einrichten …" + +#~ msgid "Configure Viewer Backends..." +#~ msgstr "Anzeigemodule einrichten …" + +#~ msgid "Configure Backends..." +#~ msgstr "Anzeigemodule einrichten …" + +#~ msgid "&Add..." +#~ msgstr "&Hinzufügen …" + +#~ msgid "&Edit..." +#~ msgstr "&Bearbeiten …" + +#~ msgctxt "%1 is a file path" +#~ msgid "" +#~ "Could not sign. Invalid certificate password or could not write to '%1'" +#~ msgstr "" +#~ "Signieren ist nicht möglich. Ungültiges Passwort für das Zertifikat oder " +#~ "Schreiben in „%1“ nicht möglich" + +#, fuzzy +#~| msgid "" +#~| "All your signing certificates are either not valid yet or are past their " +#~| "validity date." +#~ msgid "All your signing certificates are invalid" +#~ msgstr "" +#~ "Alle Ihre Signaturzertifikate sind entweder ungültig oder bereits " +#~ "abgelaufen." + +#~ msgid "Unsigned Signature %1" +#~ msgstr "Unsignierte Signatur %1" + +#, fuzzy +#~| msgctxt "Unknown author" +#~| msgid "Unknown" +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "Unbekannt" + +#, fuzzy +#~| msgid "Unsigned Signature %1" +#~ msgctxt "Signature type" +#~ msgid "Unsigned signature" +#~ msgstr "Unsignierte Signatur %1" + +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "Spinbox prefix: Advance automatically: every n seconds" +#~ msgid "every " +#~ msgstr "alle " + +#~ msgctxt "Suffix for the pen width, eg '10 px'" +#~ msgid " px" +#~ msgstr " px" + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " %" + +#, fuzzy +#~| msgctxt "%1 is a file path" +#~| msgid "" +#~| "Could not sign. Invalid certificate password or could not write to '%1'" +#~ msgctxt "%1 is a file path" +#~ msgid "Could not sign. Could not write to '%1'" +#~ msgstr "" +#~ "Signieren ist nicht möglich. Ungültiges Passwort für das Zertifikat oder " +#~ "Schreiben in „%1“ nicht möglich" + +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr " %" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "Seitenbreite" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "Ganze Seite" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Auto Fit" +#~ msgstr "Automatisch einpassen" + +#~ msgid "*|All Files" +#~ msgstr "*|Alle Dateien" + +#~ msgid "Missing alert type" +#~ msgstr "Fehlender Warnungstyp" + +#~ msgid "" +#~ "The file '%1' has been modified by another program, which means it can no " +#~ "longer be saved." +#~ msgstr "" +#~ "Die Datei „%1“ wurde durch ein anderes Programm geändert, daher kann sie " +#~ "nicht mehr gespeichert werden." + +#~ msgid "Show Sidebar" +#~ msgstr "Seitenleiste anzeigen" + +#~ msgctxt "@info" +#~ msgid "" +#~ "experimental feature.Stamps inserted in PDF documents are " +#~ "not visible in PDF readers other than Okular." +#~ msgstr "" +#~ "Experimentelle FunktionStempel in einem PDF-Dokument werden " +#~ "in anderen PDF.Anzeigeprogrammen als Okular nicht angezeigt." + +#~ msgctxt "@title:window" +#~ msgid "Poppler library is too old" +#~ msgstr "Poppler-Bibliothek ist zu alt" + +#~ msgctxt "@info" +#~ msgid "" +#~ "Stamps inserted in PDF documents are not visible in PDF readers other " +#~ "than Okular" +#~ msgstr "" +#~ "Stempel in einem PDF-Dokument werden in anderen PDF.Anzeigeprogrammen als " +#~ "Okular nicht angezeigt." + +#~ msgctxt "@title:window" +#~ msgid "Experimental feature" +#~ msgstr "Experimentelle Funktion" + +#~ msgid "Remove Bookmarks" +#~ msgstr "Lesezeichen entfernen" + +#, fuzzy +#~| msgid "&Annotations" +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "&Anmerkungen" + +#, fuzzy +#~| msgid "Highlight" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "Hervorhebung" + +#, fuzzy +#~| msgid "Underline" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Underline" +#~ msgstr "Unterstrichen" + +#, fuzzy +#~| msgid "Squiggle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Squiggle" +#~ msgstr "Schnörkel" + +#, fuzzy +#~| msgid "Strike Out" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Strike Out" +#~ msgstr "Durchstreichen" + +#, fuzzy +#~| msgid "Insert Text" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "Text einfügen" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "Haftnotiz" + +#, fuzzy +#~| msgctxt "@action:intoolbar Annotation tool" +#~| msgid "Popup Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "Notiz" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a freehand line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Freehand Line" +#~ msgstr "Eine Freihandlinie zeichnen" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a straight line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Straight line" +#~ msgstr "Eine gerade Linie zeichnen" + +#, fuzzy +#~| msgid "Arrow" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Arrow" +#~ msgstr "Pfeil" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a rectangle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Rectangle" +#~ msgstr "Ein Rechteck zeichnen" + +#, fuzzy +#~| msgid "Cyan Ellipse" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Ellipse" +#~ msgstr "Cyan-farbene Ellipse" + +#, fuzzy +#~| msgid "Polygon" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Polygon" +#~ msgstr "Vieleck" + +#, fuzzy +#~| msgid "Highlighter" +#~ msgid "Highlight in Yellow" +#~ msgstr "Hervorhebung" + +#, fuzzy +#~| msgid "Highlight with Comment" +#~ msgid "Highlight in Green" +#~ msgstr "Hervorhebung mit Kommentar" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgid "Insert Inline Note" +#~ msgstr "Haftnotiz" + +#, fuzzy +#~| msgctxt "@action:intoolbar Annotation tool" +#~| msgid "Popup Note" +#~ msgid "Insert Popup Note" +#~ msgstr "Notiz" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "Wählen Sie Text aus" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "Wählen Sie Text aus" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "Wählen Sie Text aus" + +#, fuzzy +#~| msgid "&Magnifier" +#~ msgctxt "verb" +#~ msgid "&Magnify" +#~ msgstr "&Lupe" + +#~ msgid "Bookmark annotation" +#~ msgstr "Lesezeichen für Anmerkung" + +#~ msgid "&Toggle Change Colors" +#~ msgstr "„Farben ändern“ umschalten" + +#, fuzzy +#~| msgid "Enable transitions" +#~ msgctxt "@option:check Config dialog, presentation page, transitions" +#~ msgid "Enable transitions" +#~ msgstr "Übergänge aktivieren" + +#, fuzzy +#~| msgid "Advance every:" +#~ msgctxt "@label:spinbox Config dialog, presentation page" +#~ msgid "Advance every:" +#~ msgstr "Weitergehen alle:" + +#, fuzzy +#~| msgid "Use custom background color" +#~ msgctxt "@label:listbox Config dialog, general page" +#~ msgid "Custom background color:" +#~ msgstr "Benutzerdefinierte Hintergrundfarbe verwenden" + +#~ msgid "Draw border around &Images" +#~ msgstr "&Bilder umrahmen" + +#~ msgid "Speech" +#~ msgstr "Sprachausgabe" + +#~ msgid "Engine" +#~ msgstr "Modul" + +#~ msgid "Identity" +#~ msgstr "Identität" + +#~ msgid "Au&thor:" +#~ msgstr "Au&tor:" + +#~ msgid "View Options" +#~ msgstr "Ansichtseinstellungen" + +#~ msgctxt "@info:whatsthis" +#~ msgid "" +#~ "Defines the default zoom mode for files which were never opened before.\n" +#~ "For files which were opened before the previous zoom is applied." +#~ msgstr "" +#~ "Legt die Vergrößerung für Dateien fest, die zum ersten Mal geöffnet " +#~ "werden.\n" +#~ "Alle bereits vorher geöffneten Dateien werden in der letzten benutzen " +#~ "Vergrößerungsstufe angezeigt." + +#~ msgid "Navigation" +#~ msgstr "Navigation" + +#~ msgid "Placement" +#~ msgstr "Platzierung" + +#~ msgid "Screen:" +#~ msgstr "Bildschirm:" + +#~ msgid "Drawing Tool Configuration" +#~ msgstr "Einrichtung des Zeichenwerkzeugs" + +#~ msgid "&Get Books From Internet..." +#~ msgstr "&Bücher aus dem Internet holen ..." + +#~ msgid "Reviews" +#~ msgstr "Anmerkungen" + +#~ msgctxt "@item:inlistbox Color name" +#~ msgid "%1" +#~ msgstr "%1" + +#~ msgid "Hide Forms" +#~ msgstr "Formulare ausblenden" + +#~ msgid "&Review" +#~ msgstr "&Rezension" + +#~ msgid "Annotations author" +#~ msgstr "Autor der Anmerkungen" + +#~ msgid "Please insert your name or initials:" +#~ msgstr "Bitte geben Sie Ihren Namen oder Initialen ein:" + +#~ msgid "Show &Navigation Panel" +#~ msgstr "&Navigationsbereich anzeigen" + +#~ msgid "Show Text" +#~ msgstr "Text anzeigen" + +#~ msgid "Small Icons" +#~ msgstr "Kleine Symbole" + +#~ msgid "Large Icons" +#~ msgstr "Große Symbole" + +#~ msgid "" +#~ "Click to use the current selection tool\n" +#~ "Click on the arrow to choose another selection tool" +#~ msgstr "" +#~ "Klicken Sie, um das aktuelle Auswahlwerkzeug zu benutzen\n" +#~ "Klicken Sie auf den Pfeil, um ein anderes Auswahlwerkzeug einzustellen" + +#~ msgid "Created: %1" +#~ msgstr "Erstellt: %1" + +#~ msgid "Style" +#~ msgstr "Stil" + +#~ msgid "&Size:" +#~ msgstr "Linien&breite:" + +#~ msgid "Inner color:" +#~ msgstr "Füllfarbe:" + +#~ msgid "Name: %1" +#~ msgstr "Name: %1" + +#~ msgid "Size: %1" +#~ msgstr "Größe: %1" + +#~ msgid "&Browse Tool" +#~ msgstr "&Navigation" + +#~ msgid "&Zoom Tool" +#~ msgstr "&Lupe" + +#~ msgctxt "Zoom Tool" +#~ msgid "Zoom" +#~ msgstr "Lupe" + +#~ msgctxt "Select Tool" +#~ msgid "Selection" +#~ msgstr "Auswahl" + +#~ msgid "&Text Selection Tool" +#~ msgstr "&Textauswahl" + +#~ msgid "T&able Selection Tool" +#~ msgstr "Tabellen&auswahl" + +#, fuzzy +#~| msgctxt "Symbol for caret annotations" +#~| msgid "None" +#~ msgid " None" +#~ msgstr "Keines" + +#~ msgid "" +#~ "The document requested to be launched in presentation mode.\n" +#~ "Do you want to allow it?" +#~ msgstr "" +#~ "Das Dokument soll im Präsentationsmodus angezeigt werden, weil dies im " +#~ "Dokument angefordert wurde.\n" +#~ "Möchten Sie dies zulassen?" + +#~ msgid "Presentation Mode" +#~ msgstr "Präsentationsmodus" + +#~ msgid "Allow the presentation mode" +#~ msgstr "Präsentationsmodus zulassen" + +#~ msgid "Do Not Allow" +#~ msgstr "Ablehnen" + +#~ msgid "Do not allow the presentation mode" +#~ msgstr "Dokumentanzeige im Präsentationsmodus ablehnen" + +#~ msgid "" +#~ "Your annotation changes will not be saved automatically. Use File -> Save " +#~ "As...\n" +#~ "or your changes will be lost once the document is closed" +#~ msgstr "" +#~ "Ihre Änderungen an den Anmerkungen werden nicht automatisch gespeichert. " +#~ "Benutzen\n" +#~ "Sie „Datei -> Speichern unter ...“ damit Ihre Änderungen nicht verloren " +#~ "gehen." + +#~ msgid "" +#~ "Your annotations are saved internally by Okular.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" +#~ msgstr "" +#~ "Ihre Anmerkungen werden intern von Okular gespeichert.\n" +#~ "Sie können das Dokument inklusive der Anmerkungen mit „Datei -> " +#~ "Exportieren als -> Dokumentarchiv“ speichern." + +#~ msgid "Save &Copy As..." +#~ msgstr "&Kopie speichern unter ..." + +#~ msgid "" +#~ "Your annotations will not be exported.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" +#~ msgstr "" +#~ "Ihre Anmerkungen werden nicht exportiert.\n" +#~ "Sie können das Dokument einschließlich der Anmerkungen mit „Datei -> " +#~ "Exportieren als -> Dokumentarchiv“ speichern." + +#~ msgid "" +#~ "End of document reached.\n" +#~ "Continue from the beginning?" +#~ msgstr "" +#~ "Das Ende des Dokuments wurde erreicht.\n" +#~ "Am Anfang fortsetzen?" + +#~ msgid "" +#~ "Beginning of document reached.\n" +#~ "Continue from the bottom?" +#~ msgstr "" +#~ "Anfang des Dokuments wurde erreicht.\n" +#~ "Am Ende fortsetzen?" + +#~ msgid "Current maintainer" +#~ msgstr "Aktueller Betreuer" + +#~ msgid " sec." +#~ msgstr " Sekunden" + +#~ msgid "Pencil color:" +#~ msgstr "Stiftfarbe:" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A0" +#~ msgstr "Querformat DIN/ISO A0" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A0" +#~ msgstr "Hochformat DIN/ISO A0" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A1" +#~ msgstr "Querformat DIN/ISO A1" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A1" +#~ msgstr "Hochformat DIN/ISO A1" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A2" +#~ msgstr "Querformat DIN/ISO A2" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A2" +#~ msgstr "Hochformat DIN/ISO A2" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A3" +#~ msgstr "Querformat DIN/ISO A3" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A3" +#~ msgstr "Hochformat DIN/ISO A3" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A4" +#~ msgstr "Querformat DIN/ISO A4" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A4" +#~ msgstr "Hochformat DIN/ISO A4" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A5" +#~ msgstr "Querformat DIN/ISO A5" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A5" +#~ msgstr "Hochformat DIN/ISO A5" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A6" +#~ msgstr "Querformat DIN/ISO A6" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A6" +#~ msgstr "Hochformat DIN/ISO A6" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A7" +#~ msgstr "Querformat DIN/ISO A7" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A7" +#~ msgstr "Hochformat DIN/ISO A7" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A8" +#~ msgstr "Querformat DIN/ISO A8" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A8" +#~ msgstr "Hochformat DIN/ISO A8" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A9" +#~ msgstr "Querformat DIN/ISO A9" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A9" +#~ msgstr "Hochformat DIN/ISO A9" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B0" +#~ msgstr "Querformat DIN/ISO B0" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B0" +#~ msgstr "Hochformat DIN/ISO B0" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B1" +#~ msgstr "Querformat DIN/ISO B1" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B1" +#~ msgstr "Hochformat DIN/ISO B1" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B2" +#~ msgstr "Querformat DIN/ISO B2" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B2" +#~ msgstr "Hochformat DIN/ISO B2" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B3" +#~ msgstr "Querformat DIN/ISO B3" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B3" +#~ msgstr "Hochformat DIN/ISO B3" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B4" +#~ msgstr "Querformat DIN/ISO B4" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B4" +#~ msgstr "Hochformat DIN/ISO B4" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B5" +#~ msgstr "Querformat DIN/ISO B5" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B5" +#~ msgstr "Hochformat DIN/ISO B5" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B6" +#~ msgstr "Querformat DIN/ISO B6" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B6" +#~ msgstr "Hochformat DIN/ISO B6" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B7" +#~ msgstr "Querformat DIN/ISO B7" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B7" +#~ msgstr "Hochformat DIN/ISO B7" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B8" +#~ msgstr "Querformat DIN/ISO B8" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B8" +#~ msgstr "Hochformat DIN/ISO B8" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B9" +#~ msgstr "Querformat DIN/ISO B9" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B9" +#~ msgstr "Hochformat DIN/ISO B9" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B10" +#~ msgstr "Querformat DIN/ISO B10" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B10" +#~ msgstr "Hochformat DIN/ISO B10" + +#~ msgctxt "paper size" +#~ msgid "landscape letter" +#~ msgstr "Letter-Querformat" + +#~ msgctxt "paper size" +#~ msgid "portrait letter" +#~ msgstr "Letter-Hochformat" + +#~ msgctxt "paper size" +#~ msgid "landscape legal" +#~ msgstr "Legal-Querformat" + +#~ msgctxt "paper size" +#~ msgid "portrait legal" +#~ msgstr "Legal-Hochformat" + +#~ msgctxt "paper size" +#~ msgid "landscape executive" +#~ msgstr "Executive-Querformat" + +#~ msgctxt "paper size" +#~ msgid "portrait executive" +#~ msgstr "Executive-Hochformat" + +#~ msgctxt "paper size" +#~ msgid "landscape Comm10E" +#~ msgstr "Querformat Comm10E" + +#~ msgctxt "paper size" +#~ msgid "portrait Comm10E" +#~ msgstr "Hochformat Comm10E" + +#~ msgctxt "paper size" +#~ msgid "landscape DLE" +#~ msgstr "Querformat DLE" + +#~ msgctxt "paper size" +#~ msgid "portrait DLE" +#~ msgstr "Hochformat DLE" + +#~ msgctxt "paper size" +#~ msgid "landscape folio" +#~ msgstr "Folio-Querformat" + +#~ msgctxt "paper size" +#~ msgid "portrait folio" +#~ msgstr "Folio-Hochformat" + +#~ msgctxt "paper size" +#~ msgid "ledger" +#~ msgstr "Ledger" + +#~ msgctxt "paper size" +#~ msgid "tabloid" +#~ msgstr "Tabloid" + +#~ msgctxt "paper size" +#~ msgid "unknown landscape paper size" +#~ msgstr "Unbekannte Querformat-Papiergröße" + +#~ msgctxt "paper size" +#~ msgid "unknown portrait paper size" +#~ msgstr "Unbekannte Hochformat-Papiergröße" + +#~ msgid "Toggle Drawing Mode" +#~ msgstr "Zeichenmodus umschalten" + +#~ msgid "Starting Jovie Text-to-Speech service Failed: %1" +#~ msgstr "Das Starten des Sprachausgabedienstes Jovie ist fehlgeschlagen: %1" + +#~ msgid "Search Columns" +#~ msgstr "Spalten durchsuchen" + +#~ msgid "All Visible Columns" +#~ msgstr "Alle sichtbaren Spalten" + +#~ msgid "No document opened." +#~ msgstr "Kein Dokument geöffnet." + +#~ msgid "Can't open more than one document in the unique Okular instance." +#~ msgstr "" +#~ "Es kann nicht mehr als ein Dokument in einer einzigartigen Instanz von " +#~ "Okular geöffnet werden." + +#~ msgid "No matches found for '%1'." +#~ msgstr "Keine Übereinstimmung für „%1“." + +#~ msgid "Search in progress..." +#~ msgstr "Suche läuft ..." + +#~ msgid "Searching for %1" +#~ msgstr "Suche nach %1" + +#~ msgid "Identity Settings" +#~ msgstr "Einstellungen zur Identität" + +#~ msgid "Highlight Properties" +#~ msgstr "Hervorhebungs-Eigenschaften" + +#~ msgid "Ink Properties" +#~ msgstr "Farb-Eigenschaften" + +#~ msgctxt "Annotation tool" +#~ msgid "Text Annotation" +#~ msgstr "Text-Anmerkung" + +#~ msgctxt "Annotation tool" +#~ msgid "Green Ink" +#~ msgstr "Grüner Stift" + +#~ msgctxt "Annotation tool" +#~ msgid "Yellow Highlight" +#~ msgstr "Gelber Textmarker" + +#~ msgctxt "Annotation tool" +#~ msgid "Straight Yellow Line" +#~ msgstr "Gerade gelbe Linie" + +#~ msgid "Black Underlining" +#~ msgstr "Schwarz unterstrichen" + +#~ msgctxt "Annotation tool" +#~ msgid "Underline the text with a black line" +#~ msgstr "Unterstreicht Text mit einem schwarzen Strich" + +#~ msgctxt "Annotation tool" +#~ msgid "A cyan ellipse" +#~ msgstr "Eine cyan-farbene Ellipse" + +#~ msgid "Ink" +#~ msgstr "Farbe" + +#~ msgid "Reset Forms" +#~ msgstr "Formulare zurücksetzen" + +#~ msgid "latex failed." +#~ msgstr "„latex“ ist fehlgeschlagen." + +#~ msgid "dvipng failed." +#~ msgstr "„dvipng“ ist fehlgeschlagen." + +#~ msgid "Moves to the first page of the document" +#~ msgstr "Geht zur ersten Seite des Dokuments" + +#~ msgid "You must set this name:" +#~ msgstr "Sie müssen diesen Namen festlegen:" + +#~ msgid "Toggles between File Path and Title" +#~ msgstr "Schaltet zwischen Dateipfad und Titel um" + +#~ msgctxt "%1 is \"Title\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#~ msgctxt "%1 is \"File Path\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#~ msgctxt "@action:button" +#~ msgid "&Overwrite" +#~ msgstr "Ü&berschreiben" + +#~ msgid "Pages:" +#~ msgstr "Seiten:" diff --git a/po/de/okular_comicbook.po b/po/de/okular_comicbook.po new file mode 100644 index 0000000..bc1ce4c --- /dev/null +++ b/po/de/okular_comicbook.po @@ -0,0 +1,57 @@ +# SPDX-FileCopyrightText: 2008, 2013, 2018 Burkhard Lück +# SPDX-FileCopyrightText: 2009 Panagiotis Papadopoulos +msgid "" +msgstr "" +"Project-Id-Version: okular_comicbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2018-11-15 05:56+0100\n" +"Last-Translator: Burkhard Lück \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Deutsches KDE-Übersetzungsteam" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde-i18n-de@kde.org" + +#: document.cpp:97 +#, kde-format +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "" +"Das Dokument lässt sich nicht öffnen, da das Programm unrar noch unarchiver " +"nicht gefunden wurde." + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "" +"Mit der Version des Programms unrar auf Ihren System können keine Comic-" +"Books geöffnet werden." + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "Unbekanntes Comic-Book-Format." + +#~ msgid "ComicBook Backend" +#~ msgstr "Anzeigemodul für Comic-Book" + +#~ msgid "A renderer for various comic book formats" +#~ msgstr "Ein Renderer für verschiedene Comic-Book-Formate" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007–2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/de/okular_djvu.po b/po/de/okular_djvu.po new file mode 100644 index 0000000..0baa7f0 --- /dev/null +++ b/po/de/okular_djvu.po @@ -0,0 +1,135 @@ +# SPDX-FileCopyrightText: 2007 Thomas Reitelbach +# SPDX-FileCopyrightText: 2008 Burkhard Lück +msgid "" +msgstr "" +"Project-Id-Version: okular_djvu\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-11-03 22:16+0100\n" +"Last-Translator: Burkhard Lück \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Deutsches KDE-Übersetzungsteam" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde-i18n-de@kde.org" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "Bearbeiter" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "Veröffentlicher" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "Satz" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "Dokumenttyp" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "Unbekannt" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "Komponenten-Dateien" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "Unbekannt" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "Einzelne Seite" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "Gebündelt" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "Indirekt" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "Gebündelt (alt)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "Indiziert (alt)" + +#~ msgid "DjVu Backend" +#~ msgstr "Anzeigemodul für DjVu" + +#~ msgid "DjVu backend based on DjVuLibre." +#~ msgstr "Anzeigemodul für DjVu auf der Basis von DjVuLibre." + +#~ msgid "© 2006-2008 Pino Toscano" +#~ msgstr "© 2006–2008 Pino Toscano" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgctxt "Unknown title" +#~ msgid "Unknown" +#~ msgstr "Unbekannt" + +#~ msgctxt "Unknown author" +#~ msgid "Unknown" +#~ msgstr "Unbekannt" + +#~ msgctxt "Unknown editor" +#~ msgid "Unknown" +#~ msgstr "Unbekannt" + +#~ msgctxt "Unknown publisher" +#~ msgid "Unknown" +#~ msgstr "Unbekannt" + +#~ msgctxt "Unknown creation date" +#~ msgid "Unknown" +#~ msgstr "Unbekannt" + +#~ msgctxt "Unknown volume information" +#~ msgid "Unknown" +#~ msgstr "Unbekannt" + +#~ msgctxt "Unknown type of document" +#~ msgid "Unknown" +#~ msgstr "Unbekannt" + +#~ msgid "A DjVu backend" +#~ msgstr "Ein Anzeigemodul für DjVu" diff --git a/po/de/okular_dvi.po b/po/de/okular_dvi.po new file mode 100644 index 0000000..1926fef --- /dev/null +++ b/po/de/okular_dvi.po @@ -0,0 +1,861 @@ +# SPDX-FileCopyrightText: 2024 Johannes Obermayr +# SPDX-FileCopyrightText: 2007 Thomas Reitelbach +# SPDX-FileCopyrightText: 2007, 2008, 2009, 2013, 2014, 2019 Burkhard Lück +# SPDX-FileCopyrightText: 2012, 2013 Frederik Schwarzer +# SPDX-FileCopyrightText: 2025 Philipp Kiemle +msgid "" +msgstr "" +"Project-Id-Version: okular_dvi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-02 09:09+0200\n" +"Last-Translator: Philipp Kiemle \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 25.04.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Deutsches KDE-Übersetzungsteam" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde-i18n-de@kde.org" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

" +msgstr "" +"

Das Programm dvipdfm kann nicht auf Ihrem System gefunden " +"werden, ist aber für die Export-Funktion erforderlich. Sie können die DVI-" +"Datei jedoch in eine PDF-Datei umwandeln, indem Sie die Druckfunktion " +"verwenden. Damit ergeben sich in der Regel gute Druckresultate, aber die " +"Anzeige im Acrobat Reader ist zumeist von geringer Qualität. Sie sollten " +"eine Aktualisierung Ihrer TeX-Distribution in Erwägung ziehen, die den " +"Befehl dvipdfm enthält.

Hinweis: Okular verwendet die " +"Umgebungsvariable „PATH“ für die Suche nach externen Programmen.

" + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Das für den Export der Datei verwendete externe Programm „dvipdfm“ hat " +"einen Fehler gemeldet. Die genaue Fehlermeldung finden Sie im Dialog " +"Eigenschaften im Menü „Datei“." + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" +"Diese DVI-Datei verweist auf externe Grafikdateien, die nicht im " +"PostScript-Format vorliegen. Diese können nicht von dvips " +"verarbeitet werden, das Okular intern verwendet, um zu drucken oder nach " +"PostScript zu exportieren. Die von Ihnen benötigte Funktionalität ist daher " +"in dieser Version von Okular nicht verfügbar." + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

" +msgstr "" +"

Das Programm dvips ist auf Ihrem System nicht verfügbar. Es " +"wird jedoch für die Export-Funktion benötigt.

Hinweis: Okular " +"verwendet die Umgebungsvariable „PATH“ für die Suche nach externen " +"Programmen.

" + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Das externe Programm „dvips“, das zum Exportieren der Datei benutzt " +"worden ist, hat einen Fehler gemeldet. Eine ausführlichere " +"Fehlerbeschreibung finden Sie im Dialog Eigenschaften im " +"Menü „Datei“." + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "Die DVI-Datei hat einen ungültigen Vorspann." + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" +"Die DVI-Datei enthält eine falsche Version von DVI-Daten für dieses " +"Programm. Hinweis: Falls Sie das Schriftsatzprogramm Omega benutzen, müssen " +"Sie ein spezielles Programm wie oxdvi verwenden." + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "" +"Die DVI-Datei ist beschädigt. Okular kann keinen gültigen Nachspann finden." + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "Der Nachspann (postamble) beginnt nicht mit dem POST-Befehl." + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "Der Nachspann enthält einen anderen Befehl als „FNTDEF“." + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "Seite %1 beginnt nicht mit dem BOP-Befehl." + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

PATH: %2

" +msgstr "" +"

Das externe Programm pdf2ps kann nicht gestartet " +"werden. Daher kann die PDF-Datei %1 nicht in PostScript konvertiert werden " +"und einige grafische Elemente im Dokument werden nicht angezeigt.

" +"Mögliche Ursache: Das Programm pdf2ps ist auf Ihrem " +"System nicht installiert oder im derzeitigen Suchpfad für Programme nicht zu " +"finden.

Lösungsvorschlag: Das Programm pdf2ps " +"wird normalerweise zusammen mit dem PostScript-Interpreter Ghostscript " +"ausgeliefert. Falls Ghostscript auf Ihrem System nicht installiert ist, " +"könnten Sie es nachinstallieren. Falls Ghostscript bereits installiert ist, " +"so rufen Sie pdf2ps bitte auf der Befehlszeile aus und " +"prüfen, ob dies funktioniert.

PATH: %2

" + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

%2

" +msgstr "" +"

Die PDF-Datei %1 kann nicht zu PostScript umgewandelt werden. Einige " +"grafische Elemente in Ihrem Dokument werden daher nicht angezeigt.

Mögliche Ursache: Die Datei %1 könnte beschädigt oder keine " +"gültige PDF-Datei sein. Es folgt die Ausgabe des Programms pdf2ps, so wie es von Okular aufgerufen wurde:

%2 " + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "Die Datei ist fehlerhaft. %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "" +"Nicht alle PostScript-Dateien können in das Dokument eingebettet werden. %1" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "Alle externen PostScript-Dateien wurden in das Dokument eingebettet." + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "Die angegebene Datei „%1“ existiert nicht." + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" +"Sie haben Okular angewiesen, die Stelle in der DVI-Datei zu suchen, die der " +"Zeile %1 in der TeX-Datei %2 entspricht. Offenbar enthält die DVI-Datei " +"nicht die dazu notwendigen Quelltextinformationen." + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" +"Die Stelle in der DVI-Datei, die der Zeile %1 in der TeX-Datei %2 " +"entspricht, wurde nicht gefunden." + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "" +"In der DVI-Datei wird ein Zeichen einer unbekannten Schriftart gesetzt." + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "" +"In der DVI-Datei wird auf die Schriftart #%1 verwiesen, die jedoch vorher " +"nicht definiert wurde." + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "" +"Der Stapelspeicher ist beim Auftreten des EOP-Befehls nicht leer gewesen." + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "Der Stapelspeicher ist beim Auftreten eines POP-Befehls leer gewesen." + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "" +"In der DVI-Datei wird auf eine Schriftart verwiesen, die vorher nicht " +"definiert wurde." + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "Ein ungültiger Befehl ist entdeckt worden." + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "Der unbekannte Befehlscode %1 ist entdeckt worden." + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "Einbetten von %1" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
" +msgstr "" +"Seite %1: Die PDF-Datei %2 kann nicht in PostScript " +"umgewandelt werden.
" + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
" +msgstr "" +"Seite %1: Die PostScript-Datei %2 kann nicht gefunden " +"werden.
" + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "Die Daten zur Papiergröße „%1“ können nicht einlesen werden." + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

PATH: %1

%2

" +msgstr "" +"

Okular kann nicht alle Schriftdateien finden, die zur Anzeige der DVI-" +"Datei nötig sind. Ihr Dokument ist möglicherweise nicht lesbar.

PATH: %1

%2

" + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

PATH: %1

%2

" +msgstr "" +"

Bei der Ausführung von kpsewhich sind Probleme aufgetreten. " +"Daher können einige Schriftdateien nicht gefunden werden und Ihr Dokument " +"ist möglicherweise nicht lesbar.
Mögliche Ursache: Das Programm " +"kpsewhich ist möglicherweise auf Ihrem System nicht installiert " +"oder es kann nicht im aktuellen Suchpfad gefunden werden.

PATH: %1

%2

" + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" +"Das Erzeugen der Schriften durch kpsewhich ist abgebrochen " +"worden (Rückgabewert %1, Fehler %2). Infolgedessen können einige " +"Schriftdateien nicht gefunden werden. Ihr Dokument ist möglicherweise nicht " +"darstellbar." + +#: fontpool.cpp:482 +#, fuzzy, kde-format +#| msgid "Currently generating %1 at %2 dpi..." +msgid "Currently generating %1 at %2 dpi…" +msgstr "Aktuell wird %1 mit %2 dpi erzeugt …" + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "Ersteller/Datum" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "Schriftdatei nicht gefunden" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "%1 × %2" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "%1 × %2 mm" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "%1 × %2 Zoll" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "Hochformat" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "Querformat" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" +"Die auf Ihrem System installierte Version von Ghostview enthält keinen der " +"Okular bekannten Ghostview-Gerätetreiber. Die Unterstützung von PostScript " +"ist aus diesem Grund in Okular deaktiviert." + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "" +"Das waren 25 Fehlermeldungen. Es werden keine weiteren Fehler gemeldet." + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" +"Fehler in der DVI-Datei „%1“, Seite %2. Die Anweisung „color pop“ ist in " +"Verbindung mit einem leerem Farbenspeicher verwendet worden." + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" +"Fehlerhafter Parameter in EPSF Spezial-Befehl.\n" +"Es wird in %2 ein float nach %1 erwartet." + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"Datei nicht gefunden:\n" +"%1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" +"Fehler in der DVI-Datei „%1“, Seite %2. Die Winkelangabe der Textdrehung " +"kann nicht ausgewertet werden." + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "Die spezielle Anweisung „%1“ ist noch nicht implementiert." + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" +"Die Schriftdatei %1 kann geöffnet und eingelesen werden, aber das " +"Schriftformat wird nicht unterstützt." + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "" +"Die Schriftdatei %1 ist fehlerhaft oder kann nicht geöffnet oder eingelesen " +"werden." + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" +"FreeType hat einen Fehler beim Setzen der Zeichengröße in der Schrift %1 " +"gemeldet." + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "FreeType kann das Zeichen #%1 aus der Schriftdatei %2 nicht laden." + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "" +"FreeType kann das Zeichen #%1 aus der Schriftdatei %2 nicht darstellen." + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "Das Zeichen #%1 ist leer." + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "Das Zeichen #%1 der Schriftdatei %2 ist leer." + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "" +"FreeType kann die Metrik für das Zeichen #%1 aus der Schriftdatei %2 nicht " +"einlesen." + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "Die Schriftdatei %1 lässt sich nicht öffnen." + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "" +"TexFont_PK::operator[]: Zeichen %1 ist nicht definiert im Zeichensatz %2" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "Unerwartetes %1 in PK-Datei %2" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "Das Zeichen %1 in Datei %2 ist zu groß" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "" +"Es wurde eine inkorrekte Anzahl Bits gespeichert: Zeichen %1, Schrift %2" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "Fehlerhafte PK-Datei (%1), zu viele Bits" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "Schrift weist nicht-quadratische Proportion auf" + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "Die Schrift %1 aus Datei %2 wurde nicht gefunden." + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "Prüfsummen-Fehler in Schriftdatei %1" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "Das Format der Schriftdatei %1 ist unbekannt" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"Kritischer Fehler.\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" +"\n" +"\n" +"Das bedeutet wahrscheinlich, dass Sie entweder einen Fehler in Okular " +"gefunden haben\n" +"oder dass die DVI- oder die Hilfsdateien (wie z. B. Schriften oder virtuelle " +"Schriftdateien) fehlerhaft sind.\n" +"Okular bricht nach dieser Meldung ab. Wenn Sie glauben, dass Sie einen " +"Programmfehler\n" +"gefunden haben oder dass sich Okular in dieser Situation anders verhalten " +"sollte,\n" +"erstellen Sie bitte einen Problembericht." + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "Falsches Befehls-Byte in VF-Makroliste gefunden: %1" + +#~ msgid "" +#~ "

The Ghostview program, which Okular uses internally to display the " +#~ "PostScript graphics that is included in this DVI file, is generally able " +#~ "to write its output in a variety of formats. The sub-programs that " +#~ "Ghostview uses for these tasks are called 'device drivers'; there is one " +#~ "device driver for each format that Ghostview is able to write. Different " +#~ "versions of Ghostview often have different sets of device drivers " +#~ "available. It seems that the version of Ghostview that is installed on " +#~ "this computer does not contain any of the device drivers " +#~ "that are known to Okular.

It seems unlikely that a regular " +#~ "installation of Ghostview would not contain these drivers. This error may " +#~ "therefore point to a serious misconfiguration of the Ghostview " +#~ "installation on your computer.

If you want to fix the problems with " +#~ "Ghostview, you can use the command gs --help to display " +#~ "the list of device drivers contained in Ghostview. Among others, Okular " +#~ "can use the 'png256', 'jpeg' and 'pnm' drivers. Note that Okular needs to " +#~ "be restarted to re-enable PostScript support.

" +#~ msgstr "" +#~ "

Das Programm Ghostview, das von Okular zur Darstellung von " +#~ "PostScript-Grafiken wie sie in dieser DVI-Datei enthalten sind, verwendet " +#~ "wird, ist im allgemeinen in der Lage, seine Daten in verschiedenen " +#~ "Formaten auszugeben. Die Unterprogramme, die Ghostview für diesen Zweck " +#~ "benutzt, werden Gerätetreiber genannt; Für jedes von Ghostview " +#~ "unterstützte Format gibt es einen Gerätetreiber. Unterschiedliche " +#~ "Versionen von Ghostview enthalten oft unterschiedliche Gerätetreiber. " +#~ "Anscheinend enthält die auf diesem Rechner installierte Version " +#~ "keinen der Okular bekannten Gerätetreiber.

Es ist " +#~ "unwahrscheinlich, dass eine normale Installation von Ghostview keinen " +#~ "dieser Treiber enthält. Dies deutet auf eine grob fehlerhafte Einrichtung " +#~ "der Ghostview-Installation auf Ihrem Rechner hin.

Wenn Sie die " +#~ "Probleme mit Ghostview beheben möchten, können Sie den Befehl gs " +#~ "--help zur Anzeige der mit Ghostview installierten Gerätetreiber " +#~ "verwenden. Unter anderem kann Okular die Treiber „png256“, „jpeg“ und " +#~ "„pnm“ verwenden. Beachten Sie, dass Okular neu gestartet werden muss, um " +#~ "die Unterstützung von PostScript wieder zu aktivieren.

" + +#~ msgid "DVI Backend" +#~ msgstr "Anzeigemodul für DVI" + +#~ msgid "A DVI file renderer" +#~ msgstr "Ein Renderer für DVI-Dateien" + +#~ msgid "© 2006 Luigi Toscano" +#~ msgstr "© 2006 Luigi Toscano" + +#~ msgid "" +#~ "

Okular relies on the kpsewhich program to locate font files on " +#~ "your hard disk and to generate PK fonts, if necessary.

" +#~ msgstr "" +#~ "

Okular verwendet kpsewhich, um Schriftdateien auf Ihrem System " +#~ "zu finden und PK-Schriften zu erstellen, falls nötig.

" + +#~ msgid "Okular is currently generating bitmap fonts..." +#~ msgstr "Okular erzeugt gerade Bitmap-Schriften ..." + +#~ msgid "Aborts the font generation. Do not do this." +#~ msgstr "" +#~ "Bricht das Erzeugen der Schriften ab (sollte nach Möglichkeit vermieden " +#~ "werden)." + +#~ msgid "" +#~ "Okular is currently generating bitmap fonts which are needed to display " +#~ "your document. For this, Okular uses a number of external programs, such " +#~ "as MetaFont. You can find the output of these programs later in the " +#~ "document info dialog." +#~ msgstr "" +#~ "Okular erzeugt gerade Bitmap-Schriften, die zur Anzeige Ihres Dokuments " +#~ "benötigt werden. Dazu werden einige externe Programme, wie z. B. " +#~ "MetaFont, verwendet. Die Ausgaben dieser Programme finden Sie später im " +#~ "Dialog für Dokumentinformationen." + +#~ msgid "Okular is generating fonts. Please wait." +#~ msgstr "Okular erzeugt Schriften, bitte warten." + +#~ msgid "Font Generation Progress Dialog" +#~ msgstr "Fortschrittsanzeige zur Schriftartenerzeugung" + +#~ msgid "Abort" +#~ msgstr "Abbrechen" + +#~ msgid "What is happening here?" +#~ msgstr "Was geschieht hier?" + +#~ msgid "%v of %m" +#~ msgstr "%v von %m" + +#~ msgid "Please be patient" +#~ msgstr "Bitte haben Sie etwas Geduld" + +#~ msgid "*.pdf|Portable Document Format (*.pdf)" +#~ msgstr "*.pdf|Adobe PDF-Datei (*.pdf)" + +#~ msgid "Export File As" +#~ msgstr "Datei exportieren als" + +#~ msgid "" +#~ "The file %1\n" +#~ "exists. Do you want to overwrite it?" +#~ msgstr "" +#~ "Eine Datei namens %1 existiert bereits.\n" +#~ "Soll sie überschrieben werden?" + +#~ msgid "Overwrite File" +#~ msgstr "Datei überschreiben" + +#~ msgid "Overwrite" +#~ msgstr "Überschreiben" + +#~ msgid "Using dvipdfm to export the file to PDF" +#~ msgstr "dvipdfm wird zum Exportieren der Datei in das PDF-Format verwendet" + +#~ msgid "" +#~ "Okular is currently using the external program 'dvipdfm' to convert your " +#~ "DVI-file to PDF. Sometimes that can take a while because dvipdfm needs to " +#~ "generate its own bitmap fonts Please be patient." +#~ msgstr "" +#~ "Das Programm „dvipdfm“ wird gerade von Okular ausgeführt, um Ihre DVI-" +#~ "Datei in das PDF-Format umzuwandeln. Das kann einige Zeit dauern, da " +#~ "dvipdfm eigene Schriftarten erzeugt. Bitte haben Sie etwas Geduld." + +#~ msgid "Waiting for dvipdfm to finish..." +#~ msgstr "Warten auf dvipdfm ..." + +#~ msgid "*.ps|PostScript (*.ps)" +#~ msgstr "*.ps|PostScript (*.ps)" + +#~ msgid "Using dvips to export the file to PostScript" +#~ msgstr "dvips wird ausgeführt, um die Datei nach PostScript umzuwandeln" + +#~ msgid "" +#~ "Okular is currently using the external program 'dvips' to convert your " +#~ "DVI-file to PostScript. Sometimes that can take a while because dvips " +#~ "needs to generate its own bitmap fonts Please be patient." +#~ msgstr "" +#~ "Das externe Programm „dvips“ wird gerade ausgeführt, um Ihre DVI-Datei " +#~ "nach PostScript umzuwandeln. Dies kann einige Zeit dauern, da dvips " +#~ "eigene Schriftarten erzeugt. Bitte haben Sie etwas Geduld." + +#~ msgid "Waiting for dvips to finish..." +#~ msgstr "Warten auf dvips ..." + +#~ msgid "Functionality Unavailable" +#~ msgstr "Funktionalität nicht verfügbar" + +#~ msgid "" +#~ "File corruption Okular could not interpret your DVI " +#~ "file. This is most commonly caused by a corrupted file." +#~ msgstr "" +#~ "Beschädigte Datei: Okular kann die DVI-Datei nicht " +#~ "auswerten. Dies wird wahrscheinlich von einer fehlerhaften Datei " +#~ "verursacht." + +#~ msgid "DVI File Error" +#~ msgstr "DVI-Datei-Fehler" + +#~ msgid "Not All Font Files Found" +#~ msgstr "Nicht alle Schriftdateien gefunden" + +#~ msgid "Locating fonts..." +#~ msgstr "Schriften werden gesucht ..." + +#~ msgid "" +#~ "

There were problems running kpsewhich. As a result, some font " +#~ "files could not be located, and your document might be unreadable.

Possible reason: The kpsewhich program is perhaps not " +#~ "installed on your system, or it cannot be found in the current search " +#~ "path.

What you can do: The kpsewhich program is normally " +#~ "contained in distributions of the TeX typesetting system. If TeX is not " +#~ "installed on your system, you could install the TeX Live distribution " +#~ "(www.tug.org/texlive). If you are sure that TeX is installed, please try " +#~ "to use the kpsewhich program from the command line to check if it really " +#~ "works.

" +#~ msgstr "" +#~ "

Bei der Ausführung von kpsewhich sind Fehler aufgetreten. Daher " +#~ "können einige Schriften nicht gefunden werden und Ihr Dokument erscheint " +#~ "möglicherweise unleserlich.

Mögliche Ursache: Vielleicht ist " +#~ "das Programm kpsewhich auf Ihrem System nicht installiert oder im " +#~ "derzeitigen „PATH“ nicht zu finden.

Lösungsvorschlag: Das " +#~ "Programm kpsewhich wird normalerweise gebündelt mit dem TeX-Satzsystem " +#~ "ausgeliefert. Falls TeX auf Ihrem System nicht installiert ist, könnten " +#~ "Sie TeX-Live nachinstallieren (www.tug.org/textlive). Falls TeX bereits " +#~ "installiert ist, so rufen Sie kpsewhich bitte auf der Befehlszeile aus " +#~ "und prüfen, ob dies funktioniert.

" + +#~ msgid "Problem locating fonts" +#~ msgstr "Fehler bei der Suche nach Schriften" + +#~ msgid "Font generation aborted" +#~ msgstr "Schriftenerzeugung abgebrochen" + +#~ msgid "Export: %1 to PDF" +#~ msgstr "Export: %1 nach PDF" + +#~ msgid "Export: %1 to PostScript" +#~ msgstr "Export: %1 nach PostScript" + +#~ msgid "The fontlist is currently empty." +#~ msgstr "Die Schriftartenliste ist derzeit leer." + +#~ msgid "TeX Name" +#~ msgstr "TeX-Name" + +#~ msgid "Family" +#~ msgstr "Familie" + +#~ msgid "Zoom" +#~ msgstr "Skalierung" + +#~ msgid "Type" +#~ msgstr "Typ" + +#~ msgid "Encoding" +#~ msgstr "Kodierung" + +#~ msgid "Comment" +#~ msgstr "Kommentar" + +#~ msgid "TeX virtual" +#~ msgstr "TeX virtuell" + +#~ msgid "TeX Font Metric" +#~ msgstr "TeX Font-Metrik" + +#~ msgid "FreeType" +#~ msgstr "FreeType" + +#~ msgid "Could not allocate memory for a font structure" +#~ msgstr "" +#~ "Eine Speicherzuweisung für eine Schrift-Struktur ist fehlgeschlagen." + +#~ msgid "Not enough memory to load the DVI-file." +#~ msgstr "Nicht genügend Arbeitsspeicher zum Laden des DVI-Dokuments." + +#~ msgid "Could not load the DVI-file." +#~ msgstr "Fehler beim Laden der DVI-Datei." + +#~ msgid "Checksum mismatch" +#~ msgstr "Prüfsummen-Fehler" + +#~ msgid " in font file " +#~ msgstr " in Schriftdatei " + +#~ msgid "Could not allocate memory for a macro table." +#~ msgstr "Speicherplatz für die Makrotabelle kann nicht reserviert werden." + +#~ msgid "Virtual character " +#~ msgstr "Virtuelles Zeichen " + +#~ msgid " in font " +#~ msgstr " in Schrift " + +#~ msgid " ignored." +#~ msgstr " ignoriert." + +#~ msgid "Fatal Error" +#~ msgstr "Kritischer Fehler" + +#~ msgid "KDVI: Information" +#~ msgstr "KDVI: Information" + +#~ msgid "" +#~ "This DVI file contains source file information. You may click into " +#~ "the text with the middle mouse button, and an editor will open the TeX-" +#~ "source file immediately." +#~ msgstr "" +#~ "Diese DVI-Datei enthält Quelltextinformationen. Sie können mit der " +#~ "mittleren Maustaste auf den Text klicken; daraufhin wird automatisch die " +#~ "TeX-Quelldatei geöffnet." + +#~ msgid "Do not show this message again" +#~ msgstr "Diese Meldung nicht mehr anzeigen" + +#~ msgid "Explain in more detail..." +#~ msgstr "Genauere Erklärung dazu ..." + +#~ msgid "" +#~ "File error. The specified file '%1' does not exist. " +#~ "KDVI already tried to add the ending '.dvi'." +#~ msgstr "" +#~ "Dateifehler! Die angegebene Datei %1 existiert " +#~ "nicht. KDVI hat bereits versucht, die Endung „.dvi“ hinzuzufügen." + +#~ msgid "File Error" +#~ msgstr "Dateifehler" + +#~ msgid "Could Not Find Reference" +#~ msgstr "Der Verweis ist nicht auffindbar" diff --git a/po/de/okular_epub.po b/po/de/okular_epub.po new file mode 100644 index 0000000..0d5697b --- /dev/null +++ b/po/de/okular_epub.po @@ -0,0 +1,52 @@ +# SPDX-FileCopyrightText: 2008, 2013 Burkhard Lück +# SPDX-FileCopyrightText: 2012, 2013 Frederik Schwarzer +msgid "" +msgstr "" +"Project-Id-Version: okular_epub\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-08-14 17:35+0200\n" +"Last-Translator: Burkhard Lück \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Deutsches KDE-Übersetzungsteam" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde-i18n-de@kde.org" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "Fehler beim Öffnen des EPUB-Dokuments." + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "EPUB" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "Einstellungen zum Anzeigemodul EPUB" + +#~ msgid "EPub Backend" +#~ msgstr "Anzeigemodul für EPUB" + +#~ msgid "An EPub backend" +#~ msgstr "Ein Anzeigemodul für EPUB" + +#~ msgid "© 2008 Ely Levy" +#~ msgstr "© 2008 Ely Levy" + +#~ msgid "Ely Levy" +#~ msgstr "Ely Levy" diff --git a/po/de/okular_fax.po b/po/de/okular_fax.po new file mode 100644 index 0000000..cafb617 --- /dev/null +++ b/po/de/okular_fax.po @@ -0,0 +1,41 @@ +# SPDX-FileCopyrightText: 2008 Burkhard Lück +msgid "" +msgstr "" +"Project-Id-Version: okular_fax\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-11-19 20:57+0100\n" +"Last-Translator: Burkhard Lück \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Deutsches KDE-Übersetzungsteam" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde-i18n-de@kde.org" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "Dokument kann nicht geladen werden" + +#~ msgid "Fax Backend" +#~ msgstr "Anzeigemodul für Faxe" + +#~ msgid "A G3/G4 fax document backend" +#~ msgstr "Ein Anzeigemodul für G3/G4-Faxe" + +#~ msgid "© 2008 Tobias Koenig" +#~ msgstr "© 2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/de/okular_fictionbook.po b/po/de/okular_fictionbook.po new file mode 100644 index 0000000..e22b731 --- /dev/null +++ b/po/de/okular_fictionbook.po @@ -0,0 +1,93 @@ +# SPDX-FileCopyrightText: 2007 Thomas Reitelbach +# SPDX-FileCopyrightText: 2008, 2013 Burkhard Lück +# SPDX-FileCopyrightText: 2013 Frederik Schwarzer +msgid "" +msgstr "" +"Project-Id-Version: okular_fictionbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-08-14 17:34+0200\n" +"Last-Translator: Burkhard Lück \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Deutsches KDE-Übersetzungsteam" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde-i18n-de@kde.org" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "Das Dokument ist kein gültiges FictionBook-Dokument." + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "Dokument kann nicht geöffnet werden: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "Das Dokument ist kein gültiges ZIP-Archiv." + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "Ungültige Dokumentstruktur (Basisordner fehlt)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "Das Dokument hat keinen Inhalt." + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "Ungültiges XML-Dokument: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "FictionBook" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "Einstellungen zum Anzeigemodul FictionBook" + +#~ msgid "Fiction Book Backend" +#~ msgstr "Anzeigemodul für FictionBook" + +#~ msgid "A renderer for FictionBook eBooks" +#~ msgstr "Ein Renderer für FictionBook-eBooks" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007–2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" + +#~ msgid "Title" +#~ msgstr "Titel" + +#~ msgid "Author" +#~ msgstr "Autor" + +#~ msgid "Producer" +#~ msgstr "Ersteller" + +#~ msgid "Created" +#~ msgstr "Erstellt am" + +#~ msgid "Creator" +#~ msgstr "Erzeuger" diff --git a/po/de/okular_ghostview.po b/po/de/okular_ghostview.po new file mode 100644 index 0000000..8886842 --- /dev/null +++ b/po/de/okular_ghostview.po @@ -0,0 +1,119 @@ +# SPDX-FileCopyrightText: 2007 Thomas Reitelbach +# SPDX-FileCopyrightText: 2007, 2008, 2009, 2013 Burkhard Lück +msgid "" +msgstr "" +"Project-Id-Version: okular_ghostview\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-08-14 17:34+0200\n" +"Last-Translator: Burkhard Lück \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Deutsches KDE-Übersetzungsteam" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde-i18n-de@kde.org" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "Plattformspezifische Schriftarten verwenden" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"Ist diese Einstellung aktiv, verwendet Ghostscript auch plattformspezifische " +"Schriften. Ansonsten werden nur im Dokument eingebettete Schriften benutzt. " + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "Allgemeine Einstellungen" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "&Plattformspezifische Schriftarten verwenden" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Einstellungen zum Anzeigemodul Ghostscript" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "Dokumentversion" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "Sprach-Stufe" + +#~ msgid "PS Backend" +#~ msgstr "PS-Anzeigemodul" + +#~ msgid "A PostScript file renderer." +#~ msgstr "Ein Renderer für PostScript-Dateien" + +#~ msgid "© 2007-2008 Albert Astals Cid" +#~ msgstr "© 2007–2008 Albert Astals Cid" + +#~ msgid "Based on the Spectre library." +#~ msgstr "Entwickelt aus der Spectre-Bibliothek" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "" +#~ "Anti-aliasing makes the result look better, but it makes the display take " +#~ "longer" +#~ msgstr "" +#~ "Durch Kantenglättung wird das Ergebnis besser aussehen, aber die " +#~ "Darstellung wird langsamer sein." + +#~ msgid "&Enable anti-aliasing of fonts" +#~ msgstr "&Kantenglättung für Schriften" + +#~ msgid "&Enable anti-aliasing of graphics" +#~ msgstr "&Kantenglättung für Bilder" + +#~ msgid "" +#~ "Ghostscript is the basic renderer (the program which draws the " +#~ "picture)
\n" +#~ "In case of problems you might want to see its error messages" +#~ msgstr "" +#~ "Ghostscript ist der zugrundeliegende Renderer (das Programm, das das Bild " +#~ "zeichnet)
\n" +#~ "Falls es Probleme gibt, können dessen Fehlermeldungen hilfreich sein." + +#~ msgid "&Show Ghostscript messages in a separate box" +#~ msgstr "&Ghostscript-Meldungen in eigenem Fenster anzeigen" + +#~ msgid "Ghostscript Configuration" +#~ msgstr "Ghostscript-Einstellungen" + +#~ msgid "Additional parameters to Ghostscript" +#~ msgstr "Zusätzliche Parameter für Ghostscript" diff --git a/po/de/okular_kimgio.po b/po/de/okular_kimgio.po new file mode 100644 index 0000000..f4d29ac --- /dev/null +++ b/po/de/okular_kimgio.po @@ -0,0 +1,66 @@ +# SPDX-FileCopyrightText: 2007 Thomas Reitelbach +# SPDX-FileCopyrightText: 2007, 2009, 2017 Burkhard Lück +msgid "" +msgstr "" +"Project-Id-Version: okular_kimgio\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2017-11-26 21:07+0100\n" +"Last-Translator: Burkhard Lück \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Deutsches KDE-Übersetzungsteam" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde-i18n-de@kde.org" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "Dokument %1 kann nicht geladen werden" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" +"Dieses Dokument scheint ungültig zu sein. Es wird die beste Annäherung an " +"das beabsichtigte Erscheinungsbild des Dokuments angezeigt." + +#~ msgid "Image Backend" +#~ msgstr "Anzeigemodul für Bilder" + +#~ msgid "A simple image backend" +#~ msgstr "Ein einfaches Anzeigemodul für Bilder" + +#~ msgid "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" +#~ msgstr "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006–2007 Pino Toscano\n" +#~ "© 2006–2007 Tobias Koenig" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" + +#~ msgid "Main Toolbar" +#~ msgstr "Haupt-Werkzeugleiste" diff --git a/po/de/okular_markdown.po b/po/de/okular_markdown.po new file mode 100644 index 0000000..a8f3d93 --- /dev/null +++ b/po/de/okular_markdown.po @@ -0,0 +1,51 @@ +# Copyright (C) 2025 This_file_is_part_of_KDE +# This file is distributed under the same license as the okular package. +# SPDX-FileCopyrightText: 2017, 2018, 2019 Burkhard Lück +msgid "" +msgstr "" +"Project-Id-Version: okular_markdown\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-06-25 06:38+0200\n" +"Last-Translator: Burkhard Lück \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Deutsches KDE-Übersetzungsteam" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde-i18n-de@kde.org" + +#: converter.cpp:59 converter.cpp:93 +#, kde-format +msgid "Failed to open the document" +msgstr "Öffnen des Dokuments fehlgeschlagen" + +#: converter.cpp:106 converter.cpp:124 +#, kde-format +msgid "Failed to compile the Markdown document." +msgstr "Das Markdown-Dokument kann nicht kompiliert werden." + +#: generator_md.cpp:58 +#, kde-format +msgid "Enable SmartyPants formatting" +msgstr "SmartyPants-Formatierung aktivieren" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown" +msgstr "Markdown" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown Backend Configuration" +msgstr "Einstellungen zum Anzeigemodul Markdown" diff --git a/po/de/okular_mobi.po b/po/de/okular_mobi.po new file mode 100644 index 0000000..5e31d52 --- /dev/null +++ b/po/de/okular_mobi.po @@ -0,0 +1,61 @@ +# SPDX-FileCopyrightText: 2008, 2009, 2013 Burkhard Lück +# SPDX-FileCopyrightText: 2009 Panagiotis Papadopoulos +# SPDX-FileCopyrightText: 2013 Frederik Schwarzer +msgid "" +msgstr "" +"Project-Id-Version: okular_mobi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-08-14 17:32+0200\n" +"Last-Translator: Burkhard Lück \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Deutsches KDE-Übersetzungsteam" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde-i18n-de@kde.org" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Fehler beim Öffnen des Mobipocket-Dokuments." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "" +"Dieses Buch ist durch DRM (Digitales Rechtemanagement) geschützt und kann " +"daher nur auf bestimmten Geräten angezeigt werden." + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "Mobipocket" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "Einstellungen zum Anzeigemodul Mobipocket" + +#~ msgid "Mobipocket Backend" +#~ msgstr "Anzeigemodul für Mobipocket-Dateien" + +#~ msgid "A mobipocket backend" +#~ msgstr "Ein Anzeigemodul für Mobipocket-Dateien" + +#~ msgid "© 2008-2009 Jakub Stachowski" +#~ msgstr "© 2008–2009 Jakub Stachowski" + +#~ msgid "Jakub Stachowski" +#~ msgstr "Jakub Stachowski" diff --git a/po/de/okular_poppler.po b/po/de/okular_poppler.po new file mode 100644 index 0000000..0faec2c --- /dev/null +++ b/po/de/okular_poppler.po @@ -0,0 +1,495 @@ +# SPDX-FileCopyrightText: 2024 Johannes Obermayr +# SPDX-FileCopyrightText: 2007 Thomas Reitelbach +# SPDX-FileCopyrightText: 2008, 2009, 2012, 2013, 2019, 2021 Burkhard Lück +# SPDX-FileCopyrightText: 2010 Panagiotis Papadopoulos +# SPDX-FileCopyrightText: 2012, 2022, 2023 Frederik Schwarzer +# SPDX-FileCopyrightText: 2025 Philipp Kiemle +# SPDX-FileCopyrightText: 2025 Alois Spitzbart +msgid "" +msgstr "" +"Project-Id-Version: okular_poppler\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-18 14:15+0200\n" +"Last-Translator: Alois Spitzbart \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 25.04.3\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Deutsches KDE-Übersetzungsteam" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde-i18n-de@kde.org" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "Überdruckenvorschau aktivieren:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "Niemals" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "Immer" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "Automatisch" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "Anzeige dünner Linien verbessern:" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "Nein" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "Einfarbig" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "Form" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "Standard-Skalierungsmodus beim Drucken:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "Auf druckbaren Bereich anpassen" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "Auf ganze Seite anpassen" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "In Originalgröße drucken" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" +"Ist diese Einstellung aktiviert, kontaktiert Okular die OCSP-Server von " +"Drittanbietern um zu überprüfen, ob die für die digitale Unterzeichnung " +"verwendeten Zertifikate seit deren Erstellung widerrufen wurden." + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" +"Widerruf der digitalen Zertifikate mithilfe von Servern von Drittanbietern " +"überprüfen" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "Signaturmodul:" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" +"Diese Signaturen können nur mit modernen Okular-Versionen bei aktiviertem " +"GnuPG-Modul validiert werden" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "PGP-Schlüssel für Signaturen erlauben (Okular-Erweiterung)" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "Zertifikats-Datenbank" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "Standard:" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "Benutzerdefiniert:" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "Verfügbare Zertifikate" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "Signaturen &laden" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "PDF-Optionen" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "Anmerkungen drucken" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "Anmerkungen in das gedruckte Dokument einfügen" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"Fügt Anmerkungen in das gedruckte Dokument ein. Sie können dies " +"deaktivieren, wenn Sie das Originaldokument ohne Anmerkungen drucken möchten." + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "Rasterung erzwingen" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "Vor dem Druck in ein Rasterbild umwandeln" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"Dies erzwingt das Rastern jeder Seite zu einem Bild, bevor sie gedruckt " +"wird. Normalerweise ergeben sich dadurch schlechtere Ergebnisse; wenn ein " +"Dokument jedoch nicht fehlerfrei gedruckt wird, könnte diese Einstellung " +"hilfreich sein." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "Skalierungsmodus für Druckseiten" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "Skalierungsmodus:" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF v. %1.%2" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "Format" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "Verschlüsselt" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "Unverschlüsselt" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "Sicherheit" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "Ja" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "Optimiert" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Signiert von: %1\n" +"\n" +"Datum: %2" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "Verwendet Poppler %1" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" +"Verwendet Poppler %1\n" +"\n" +"Gebaut mit Poppler %2" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "Einstellungen zum PDF-Modul" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" +"Es wurden einige Fehler im Dokument gefunden, daher kann die Anzeige des " +"Inhalts fehlerhaft sein." + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" +"Diese Signaturen funktionieren nur zwischen modernen Okular-Versionen mit " +"aktiviertem GnuPG-Modul" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "PGP-Signaturen aktivieren" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "Ausgestellt für" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "E-Mail" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "Ablaufdatum" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" +"Sie verwenden eine Poppler-Bibliothek ohne Unterstützung für NSS.\n" +"Daher ist es nicht möglich, digitale Signaturen hinzufügen" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "für immer" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "Neustart erforderlich" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "Okular muss nach Änderungen des NSS-Ordners neu gestartet werden" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter Password" +msgstr "Passwort eingeben" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "Geben Sie das Passwort zum Öffnen von „%1“ ein:" + +#~ msgid "Not Available" +#~ msgstr "Nicht verfügbar" + +#~ msgid "PDF Backend" +#~ msgstr "PDF-Anzeigemodul" + +#~ msgid "A PDF file renderer" +#~ msgstr "Ein Renderer für PDF-Dateien" + +#~ msgid "© 2005-2008 Albert Astals Cid" +#~ msgstr "© 2005–2008 Albert Astals Cid" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Saving files with /Encrypt is not supported." +#~ msgstr "Das Speichern von Dateien mit „/Encrypt“ wird nicht unterstützt." + +#~ msgid "Unknown" +#~ msgstr "Unbekannt" + +#~ msgid "Unknown Date" +#~ msgstr "Unbekanntes Datum" + +#~ msgid "Unknown Encryption" +#~ msgstr "Unbekannte Verschlüsselung" + +#~ msgid "Unknown Optimization" +#~ msgstr "Unbekannte Optimierung" + +#~ msgid "Please enter the password to read the document:" +#~ msgstr "Bitte geben Sie das Passwort zum Lesen des Dokuments ein:" + +#~ msgid "Incorrect password. Try again:" +#~ msgstr "Falsches Passwort, bitte versuchen Sie es erneut:" + +#~ msgid "" +#~ "The margins you specified are changing the page aspect ratio. Do you want " +#~ "to print with the aspect ratio changed or do you want the margins to be " +#~ "adapted so that aspect ratio is preserved?" +#~ msgstr "" +#~ "Die von Ihnen angegebenen Ränder ändern das Seitenverhältnis. Möchten Sie " +#~ "den Ausdruck mit dem neuen Seitenverhältnis durchführen, oder sollen die " +#~ "Ränder so angepasst werden, das das Seitenverhältnis beibehalten wird?" + +#~ msgid "Aspect ratio change" +#~ msgstr "Änderung des Seitenverhältnisses" + +#~ msgid "Print with specified margins" +#~ msgstr "Mit angegebenen Rändern drucken" + +#~ msgid "Print adapting margins to keep aspect ratio" +#~ msgstr "Ränder anpassen und Seitenverhältnis beibehalten" + +#~ msgid "[none]" +#~ msgstr "[keine]" + +#~ msgctxt "not available" +#~ msgid "n/a" +#~ msgstr "N/V" + +#~ msgid "unknown" +#~ msgstr "Unbekannt" + +#~ msgid "Type 1" +#~ msgstr "Type 1" + +#~ msgid "Type 1C" +#~ msgstr "Type 1C" + +#~ msgctxt "OT means OpenType" +#~ msgid "Type 1C (OT)" +#~ msgstr "Type 1C (OT)" + +#~ msgid "Type 3" +#~ msgstr "Type 3" + +#~ msgid "TrueType" +#~ msgstr "TrueType" + +#~ msgctxt "OT means OpenType" +#~ msgid "TrueType (OT)" +#~ msgstr "TrueType (OT)" + +#~ msgid "CID Type 0" +#~ msgstr "CID Type 0" + +#~ msgid "CID Type 0C" +#~ msgstr "CID Type 0C" + +#~ msgctxt "OT means OpenType" +#~ msgid "CID Type 0C (OT)" +#~ msgstr "CID Type 0C (OT)" + +#~ msgid "CID TrueType" +#~ msgstr "CID TrueType" + +#~ msgctxt "OT means OpenType" +#~ msgid "CID TrueType (OT)" +#~ msgstr "CID TrueType (OT)" diff --git a/po/de/okular_tiff.po b/po/de/okular_tiff.po new file mode 100644 index 0000000..2cc641b --- /dev/null +++ b/po/de/okular_tiff.po @@ -0,0 +1,26 @@ +# Copyright (C) 2025 This file is copyright: +# This file is distributed under the same license as the okular package. +# SPDX-FileCopyrightText: 2020, 2021 Burkhard Lück +msgid "" +msgstr "" +"Project-Id-Version: okular_tiff\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2021-04-24 10:37+0200\n" +"Last-Translator: Burkhard Lück \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Deutsches KDE-Übersetzungsteam" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde-i18n-de@kde.org" diff --git a/po/de/okular_txt.po b/po/de/okular_txt.po new file mode 100644 index 0000000..b0712b5 --- /dev/null +++ b/po/de/okular_txt.po @@ -0,0 +1,49 @@ +# Copyright (C) 2025 This_file_is_part_of_KDE +# This file is distributed under the same license as the okular package. +# SPDX-FileCopyrightText: 2013 Frederik Schwarzer +# SPDX-FileCopyrightText: 2013 Burkhard Lück +msgid "" +msgstr "" +"Project-Id-Version: okular_txt\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-08-14 17:32+0200\n" +"Last-Translator: Burkhard Lück \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Deutsches KDE-Übersetzungsteam" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde-i18n-de@kde.org" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "Text" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "Einstellungen zum Anzeigemodul Text" + +#~ msgid "Txt Backend" +#~ msgstr "Anzeigemodul für Textformat" + +#~ msgid "Txt backend." +#~ msgstr "Anzeigemodul für Textformat." + +#~ msgid "© 2013 Azat Khuzhin" +#~ msgstr "© 2013 Azat Khuzhin" + +#~ msgid "Azat Khuzhin" +#~ msgstr "Azat Khuzhin" diff --git a/po/de/okular_xps.po b/po/de/okular_xps.po new file mode 100644 index 0000000..801e6e6 --- /dev/null +++ b/po/de/okular_xps.po @@ -0,0 +1,54 @@ +# SPDX-FileCopyrightText: 2007 Thomas Reitelbach +# SPDX-FileCopyrightText: 2008 Burkhard Lück +msgid "" +msgstr "" +"Project-Id-Version: okular_xps\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-11-03 22:22+0100\n" +"Last-Translator: Burkhard Lück \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Deutsches KDE-Übersetzungsteam" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde-i18n-de@kde.org" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "Revision" + +#~ msgid "XPS Backend" +#~ msgstr "Anzeigemodul für XPS" + +#~ msgid "An XPS backend" +#~ msgstr "Ein Anzeigemodul für XPS" + +#~ msgid "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" +#~ msgstr "" +#~ "© 2006–2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" + +#~ msgid "Brad Hards" +#~ msgstr "Brad Hards" + +#~ msgid "Jiri Klement" +#~ msgstr "Jiri Klement" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" diff --git a/po/de/org.kde.active.documentviewer.po b/po/de/org.kde.active.documentviewer.po new file mode 100644 index 0000000..5a4165e --- /dev/null +++ b/po/de/org.kde.active.documentviewer.po @@ -0,0 +1,241 @@ +# Copyright (C) 2025 This_file_is_part_of_KDE +# This file is distributed under the same license as the okular package. +# SPDX-FileCopyrightText: 2012, 2022, 2023 Frederik Schwarzer +# SPDX-FileCopyrightText: 2013, 2017, 2018, 2019, 2021 Burkhard Lück +# SPDX-FileCopyrightText: 2025 Philipp Kiemle +msgid "" +msgstr "" +"Project-Id-Version: org.kde.active.documentviewer\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-02 09:20+0200\n" +"Last-Translator: Philipp Kiemle \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 25.04.2\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "Lesezeichen" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "Zertifikatsanzeige" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "Ausgestellt von" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "Allgemeiner Name:" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "E-Mail:" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "Organisation:" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "Ausgestellt für" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "Gültigkeit" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "Ausgestellt am:" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "Verfällt am:" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "Fingerabdrücke" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "SHA-1-Fingerabdruck:" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "SHA-256-Fingerabdruck:" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +#, fuzzy +#| msgid "Export..." +msgid "Export…" +msgstr "Exportieren ..." + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "Schließen" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "Zertifikatsdatei (*.cer)" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "Fehler" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "Das Zertifikat kann nicht exportiert werden." + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "Okular" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "" + +#: ui/Main.qml:49 +msgid "About" +msgstr "Über" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "Passwort benötigt" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "Lesezeichen entfernen" + +#: ui/MainView.qml:29 +msgid "Bookmark this page" +msgstr "Ein Lesezeichen für diese Seite hinzufügen" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "Vorschaubilder" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "Inhaltsverzeichnis" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "Signaturen" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "Signatur-Eigenschaften" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "Gültigkeitsstatus" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "Gültigkeit der Signatur:" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "Änderungen am Dokument:" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "Zusätzliche Informationen" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "Signiert von:" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "Signatur-Datum:" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "Grund:" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "Ort:" + +#: ui/SignaturePropertiesPage.qml:96 +msgid "Document Version" +msgstr "Dokumentversion" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Dokumentversion %1 von %2" + +#: ui/SignaturePropertiesPage.qml:108 +msgid "Save Signed Version…" +msgstr "Signierte Version speichern …" + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +msgid "View Certificate…" +msgstr "Zertifikat anzeigen …" + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "Die Signatur kann nicht gespeichert werden." + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "Nicht verfügbar" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "Keine Ergebnisse gefunden." + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "Kein geöffnetes Dokument" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "" + +#: ui/WelcomeView.qml:108 +#, fuzzy +#| msgid "Document Version" +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "Dokumentversion" + +#~ msgid "Open..." +#~ msgstr "Öffnen …" + +#~ msgid "Search..." +#~ msgstr "Suchen ..." + +#~ msgid "Open Android..." +#~ msgstr "Android öffnen ..." + +#~ msgid "" +#~ "No Documents found. To start to read, put some files in the Documents " +#~ "folder of your device." +#~ msgstr "" +#~ "Es wurden keine Dokumente gefunden. Legen Sie einige Dateien im " +#~ "Dokumentenordner Ihres Geräts ab, um mit dem Lesen zu beginnen." + +#~ msgid "Document viewer for Plasma Active using Okular" +#~ msgstr "Dokumentenbetrachter für „Plasma Active“, der Okular verwendet." + +#~ msgid "Reader" +#~ msgstr "Lesegerät" + +#~ msgid "Copyright 2012 Marco Martin" +#~ msgstr "Copyright 2012 Marco Martin" + +#~ msgid "Marco Martin" +#~ msgstr "Marco Martin" + +#~ msgid "URL of the file to open" +#~ msgstr "Adresse (URL) der zu öffnenden Datei" diff --git a/po/el/okular.po b/po/el/okular.po new file mode 100644 index 0000000..1626332 --- /dev/null +++ b/po/el/okular.po @@ -0,0 +1,7195 @@ +# translation of okular.po to Greek +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Spiros Georgaras , 2007, 2008. +# Toussis Manolis , 2007, 2008, 2009. +# Spiros Georgaras , 2008. +# Dimitrios Glentadakis , 2010, 2011, 2012, 2013, 2014, 2015, 2016. +# SPDX-FileCopyrightText: 2011, 2024 Antonis Geralis +# Stelios , 2012, 2014, 2017, 2019, 2020, 2021. +# Dimitris Kardarakos , 2014. +# Theofilos Intzoglou , 2023. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-09-19 17:10+0300\n" +"Last-Translator: Antonis Geralis \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 24.08.1\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Σπύρος Γεωργαράς, Τούσης Μανώλης, Θεόφιλος Ιντζόγλου" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sng@hellug.gr, manolis@koppermind.homelinux.org, int.teo@gmail.com" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Okular, ένας καθολικός προβολέας εγγράφων" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "Προηγούμενος συντηρητής" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "" +"Πολύ δουλειά στο πλαίσιο εργασίας, σύστημα υποστήριξης FictionBook και πρώην " +"σύστημα υποστήριξης ODT" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "Προγραμματιστής" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymanski" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "Δημιουργία του Okular από τη βάση κώδικα του KPDF" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "Enrico Ros" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "Προγραμματιστής του KPDF" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "Eugene Trounev" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "Γραφικά επισημάνσεων" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "Jiri Baum - NICTA" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "Εργαλείο επιλογής πίνακα" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "Fabio D'Urso" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "Βελτιώσεις σημειώσεων" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "Μετάβαση στη σελίδα %1" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "Άνοιγμα εξωτερικού αρχείου" + +#: core/action.cpp:197 +#, fuzzy, kde-format +#| msgid "Execute '%1'..." +msgid "Execute '%1'…" +msgstr "Εκτέλεση '%1'..." + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "Πρώτη σελίδα" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "Προηγούμενη σελίδα" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "Επόμενη σελίδα" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "Τελευταία σελίδα" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "Πίσω" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "Μπροστά" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Τερματισμός" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "Έναρξη παρουσίασης" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "Τερματισμός παρουσίασης" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go To Page…" +msgstr "Μετακίνηση στη σελίδα" + +#: core/action.cpp:365 +#, fuzzy, kde-format +#| msgid "Play sound..." +msgid "Play sound…" +msgstr "Αναπαραγωγή ήχου..." + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "Σενάριο JavaScript" + +#: core/action.cpp:483 +#, fuzzy, kde-format +#| msgid "Play movie" +msgid "Play movie…" +msgstr "Αναπαραγωγή ταινίας" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "Αναπαραγωγή ταινίας" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "Διακοπή ταινίας" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "Παύση ταινίας" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "Συνέχιση ταινίας" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "Αυτό το Okular έχει μεταγλωττιστεί χωρίς υποστήριξη ήχου." + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "Επιλογή συστήματος υποστήριξης" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
%1 (%2).

Please select which one to use:
" +msgstr "" +"Βρέθηκαν παραπάνω από ένα σύστημα υποστήριξης για τον τύπο MIME:
" +"%1 (%2).

Παρακαλώ επιλέξτε ένα για χρήση:
" + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "Οι περισσότερες σελίδες είναι %1." + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "Πορτρέτο %1" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "Τοπίο %1" + +#: core/document.cpp:246 +#, fuzzy, kde-format +#| msgctxt "%1 is width, %2 is height, %3 is paper size name" +#| msgid "%1 x %2 in (%3)" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 x %2 in (%3)" + +#: core/document.cpp:248 +#, fuzzy, kde-format +#| msgctxt "%1 is width, %2 is height, %3 is paper size name" +#| msgid "%1 x %2 mm (%3)" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 x %2 mm (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "Συνέχιση της αναζήτησης από την αρχή" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "Συνέχιση της αναζήτησης από το τέλος" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "Αδυναμία εύρεσης ενός πρόσθετου για το χειρισμό του εγγράφου." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "διαγραφή σημειώσεων" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"Το έγγραφο προσπαθεί να εκτελέσει μια εξωτερική εφαρμογή και για τη δική σας " +"ασφάλεια το Okular δεν το επιτρέπει." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "Δε βρέθηκε εφαρμογή για το άνοιγμα αρχείων τύπου %1." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "Αδύνατο το άνοιγμα ενός προσωρινού αρχείου" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "Αποτυχία μετατροπής εκτύπωσης" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "Η διεργασία εκτύπωσης κατέρρευσε" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "Αδυναμία εκκίνησης της εκτύπωσης" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "Αποτυχία εκτύπωσης σε αρχείο" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "Ο εκτυπωτής ήταν σε μη έγκυρη κατάσταση" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "Αδυναμία εύρεσης αρχείου για εκτύπωση" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "Δεν υπάρχει αρχείο για εκτύπωση" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"Αδυναμία εύρεσης ενός κατάλληλου δυαδικού για την εκτύπωση. Σιγουρευτείτε " +"ότι το δυαδικό CUPS lpr είναι διαθέσιμο" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "Μη έγκυρο μέγεθος εκτύπωσης σελίδας" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "Αδύνατο το άνοιγμα του \"%1\". Το αρχείο δεν υπάρχει." + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Τίτλος" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Θέμα" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Περιγραφή" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "Συγγραφέας" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Δημιουργός" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Παραγωγός" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "Πνευματικά δικαιώματα" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "Σελίδες" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Δημιουργήθηκε" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Τροποποιήθηκε" + +#: core/document.cpp:6032 +#, kde-format +msgid "MIME Type" +msgstr "Τύπος MIME" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "Κατηγορία" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Λέξεις κλειδιά" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "Διαδρομή αρχείου" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "Μέγεθος αρχείου" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "Μέγεθος σελίδας" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "προσθήκη σημείωσης" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "προσθήκη σημείωσης" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "τροποποίηση ιδιοτήτων σημείωσης" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "μετάφραση σημείωσης" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "προσαρμογή σημείωσης" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "επεξεργασία κειμένου" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "επεξεργασία περιεχομένου σημείωσης" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "επεξεργασία του περιεχομένου της φόρμας" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "επεξεργασία της λίστας επιλογών της φόρμας" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "επεξεργασία της λίστας επιλογών της φόρμας" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "επεξεργασία της κατάστασης των κουμπιών της φόρμας" + +#: core/generator.cpp:790 +#, fuzzy, kde-format +#| msgid "Plain &Text..." +msgid "Plain &Text…" +msgstr "Απλό &κείμενο..." + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "Κείμενο OpenDocument" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "Επιλογές εκτύπωσης" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "Εφαρμογή σε εκτυπώσιμη περιοχή" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "Εφαρμογή σε πλήρη σελίδα" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "Λειτουργία κλιμάκωσης:" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "Να μην εμφανιστεί ξανά αυτό το μήνυμα" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "Μη διαθέσιμη" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" + +#: core/signatureutils.cpp:498 +#, fuzzy, kde-kuit-format +#| msgctxt "@info" +#| msgid "Could not load the file %1" +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "Αδυναμία φόρτωσης του αρχείου %1" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "" + +#: core/signatureutils.cpp:504 +#, fuzzy, kde-kuit-format +#| msgctxt "@info" +#| msgid "" +#| "Could not overwrite %1 because that file is read-" +#| "only. Try saving to another location or changing that file's permissions." +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" +"Αδυναμία αντικατάστασης του %1 επειδή είναι μόνο για " +"ανάγνωση. Δοκιμάστε να το αποθηκεύσετε σε άλλη τοποθεσία ή αλλάξτε τα " +"δικαιώματά του αρχείου." + +#: core/signatureutils.cpp:506 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown signing error" +msgstr "Άγνωστο αρχείο" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Προέλευση: %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "&Προκαθορισμένη γραμματοσειρά:" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "Έκδοση" + +#: gui/certificatemodel.cpp:41 +#, kde-format +msgid "Serial Number" +msgstr "Σειραϊκός αριθμός" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "Εκδότης" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "Εκδόθηκε την" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "Λήγει την" + +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Υποκείμενο" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "Δημόσιο κλειδί" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "Χρήση κλειδιού" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "V%1" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "%1 (%2 bits)" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "Ιδιότητα" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "Τιμή" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "Αναδυόμενη σημείωση" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "Γραφομηχανή" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "Εμβόλιμη σημείωση" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +#| msgid "Polygon with Comment" +msgid "Arrow with Comment" +msgstr "Πολύγωνο με σχόλιο" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "Βέλος" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "Ευθεία γραμμή με σχόλιο" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "Ευθεία γραμμή" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "Πολύγωνο με σχόλιο" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "Πολύγωνο" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgid "Stamp with Comment" +msgid "Rectangle with Comment" +msgstr "Σφραγίδα με σχόλιο" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "Ορθογώνιο" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgid "Underline with Comment" +msgid "Ellipse with Comment" +msgstr "Υπογράμμιση με σχόλιο" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "Έλλειψη" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "Τονισμός με σχόλιο" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "Τονισμός" + +#: gui/guiutils.cpp:87 +#, kde-format +msgid "Squiggle with Comment" +msgstr "Μουτζούρα με σχόλιο" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "Μουντζαλιά" + +#: gui/guiutils.cpp:91 +#, kde-format +msgid "Underline with Comment" +msgstr "Υπογράμμιση με σχόλιο" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "Υπογράμμιση" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out with Comment" +msgstr "Επιγράμμιση με σχόλιο" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "Επιγράμμιση" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "Σφραγίδα με σχόλιο" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "Σφραγίδα" + +#: gui/guiutils.cpp:106 +#, kde-format +msgid "Freehand Line with Comment" +msgstr "Ελεύθερη γραμμή με σχόλιο" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "Ελεύθερη γραμμή" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "Δείκτης" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "Συνημμένο αρχείο" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "Ήχος" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "Ταινία" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Οθόνη" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "Γραφικό συστατικό" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "Επαυξημένα πολυμέσα" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation" +msgstr "Σημείωση" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "Άγνωστο" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Συγγραφέας: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "Θέση αποθήκευσης του %1;" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "Αδύνατη η εγγραφή του \"%1\". Το αρχείο δεν αποθηκεύτηκε." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "Η υπογραφή είναι έγκυρα κρυπτογραφημένη." + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "Η υπογραφή δεν είναι έγκυρα κρυπτογραφημένη." + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "" +"Εμφανίστηκε ασυμβατότητα στο αποτέλεσμα της συνάρτησης κατακερματισμού." + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "Η δομή της υπογραφής CMS/PKCS7 είναι κακοδιατυπωμένη." + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "Η αιτούμενη υπογραφή δεν είναι παρούσα στο έγγραφο." + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "Αδυναμία επιβεβαίωσης της υπογραφής." + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "Το πιστοποιητικό είναι έμπιστο." + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "Ο εκδότης του πιστοποιητικού δεν είναι έμπιστος." + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "Ο εκδότης του πιστοποιητικού είναι άγνωστος." + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "Το πιστοποιητικό έχει ανακληθεί." + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "Το πιστοποιητικό έχει λήξει." + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "Το πιστοποιητικό δεν έχει ακόμη επιβεβαιωθεί." + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "Άγνωστο πρόβλημα με το πιστοποιητικό ή κατεστραμμένα δεδομένα." + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "MD2" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "MD5" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "SHA1" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "SHA256" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "SHA384" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "SHA512" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "SHA224" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "Άγνωστος αλγόριθμος" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "RSA" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "DSA" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "EC" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "Άγνωστος τύπος" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "Ψηφιακή υπογραφή" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "Μη-αποποίηση" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "Κρυπτογράφηση κλειδιών" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "Αποκρυπτογράφηση κλειδιών" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "Συμφωνία κλειδιώμ" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "Υπογραφή πιστοποιητικού" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "Υπογραφή CRL" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "Κρυπτογράφηση μόνο" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "Δεν ορίσθηκε χρήση" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr ", " + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "Το έγγραφο δεν έχει τροποποιηθεί από τότε που υπογράφηκε." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" +"Η αναθεώρηση του εγγράφου που καλύπτεται από αυτήν την υπογραφή δεν έχει " +"τροποποιηθεί.\n" +"Ωστόσο έχουν συμβεί επόμενες αλλαγές στο έγγραφο." + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" +"Το έγγρσφο έχει τροποποιηθεί με τρόπο που δεν επιτρέπεται από έναν " +"προηγούμενο υπογράφοντα." + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "Αδυναμία ολοκλήρωσης της επιβεβαίωσης ακεραιότητας του εγγράφου." + +#: gui/signatureguiutils.cpp:208 +#, fuzzy, kde-format +#| msgid "This document has unsigned signature fields." +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "Αυτό το έγγραφο έχει ψηφιακή υπογραφή." + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "Αυτό το έγγραφο έχει ψηφιακή υπογραφή." + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "" +"Αυτό το έγγραφο έχει ψηφιακή υπογραφή. Έχουν γίνει αλλαγές από την τελευταία " +"υπογραφή." + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" +"Αυτό το έγγραφο έχει ψηφιακή υπογραφή. Ορισμένες από τις υπογραφές δεν " +"μπορούν να επαληθευθούν." + +#: gui/signaturemodel.cpp:141 +#, fuzzy, kde-format +#| msgid "Signature Validity:" +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "Επιβεβαίωση υπογραφής:" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "Πεδίο: %1 στη σελίδα %2" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "Ανάθ. %1: Υπογραφή από %2" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "Χρόνος υπογραφής: %1" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "Αιτία: %1" + +#: gui/signaturemodel.cpp:177 +#, kde-format +msgid "Location: %1" +msgstr "Τοποθεσία: %1" + +#: gui/signaturemodel.cpp:185 +#, fuzzy, kde-format +#| msgid "Signatures" +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "Υπογραφές" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "" + +#: gui/signaturemodel.cpp:193 +#, fuzzy, kde-format +#| msgctxt "Unknown author" +#| msgid "Unknown" +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "Άγνωστο" + +#: gui/signaturemodel.cpp:195 +#, fuzzy, kde-format +#| msgid "Signature Validity:" +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "Επιβεβαίωση υπογραφής:" + +#: gui/signaturemodel.cpp:201 +#, fuzzy, kde-format +#| msgid "Signature Validity:" +msgid "Signature Type: %1" +msgstr "Επιβεβαίωση υπογραφής:" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "Κόκκινο" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "Πορτοκαλί" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "Κίτρινο" + +#: part/annotationactionhandler.cpp:151 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "Πράσινο" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "Γαλάζιο" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "Μπλε" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "Φούξια" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "Λευκό" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "Γκρι" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "Μαύρο" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "Πλάτος %1" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1%" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "Πλάτος γραμμής σημείωσης (Δεν έχει επιλεγεί σημείωση)" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "Χρώμα σημείωσης (Δεν έχει επιλεγεί σημείωση)" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "Χρώμα γέμισης σημείωσης (Δεν έχει επιλεγεί σημείωση)" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "Αδιαφάνεια σημείωσης (Δεν έχει επιλεγεί σημείωση)" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "Γραμματοσειρά σημείωσης (Δεν έχει επιλεγεί σημείωση)" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" +"Να προστεθεί ο τρέχων σημείωση στο μενού γρήγορων σημειώσεων (Δεν έχει " +"επιλεγεί σημείωση)" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" +"Να περιοριστεί η αναλογία σχήματος στο 1:1 ή η γωνία γραμμής σε βήματα 15° " +"(Δεν έχει επιλεγεί σημείωση)" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" +"Προηγμένες ρυθμίσεις για το τρέχον εργαλείο σημειώσεων (Δεν έχει επιλεγεί " +"σημείωση)" + +#: part/annotationactionhandler.cpp:308 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Πλάτος γραμμής σημειώσεων" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "Πλάτος γραμμής σημείωσης (Η τρέχουσα σημείωση δεν έχει πλάτος γραμμής)" + +#: part/annotationactionhandler.cpp:314 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Χρώμα κειμένου σημείωσης" + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "Χρώμα πλαισίου σημείωσης" + +#: part/annotationactionhandler.cpp:318 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Χρώμα σημείωσης" + +#: part/annotationactionhandler.cpp:322 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Χρώμα γεμίσματος σημείωσης" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "" +"Χρώμα γεμίσματος σημείωσης (Η τρέχουσα σημείωση δεν έχει χρώμα γεμίσματος)" + +#: part/annotationactionhandler.cpp:328 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "Γραμματοσειρά σημείωσης" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "Γραμματοσειρά σημείωσης (Η τρέχουσα σημείωση δεν έχει γραμματοσειρά)" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "Να περιοριστεί η γωνία γραμμής σε βήματα 15°" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "Να περιοριστεί η αναλογία σχήματος σε 1:1" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" +"Να περιοριστεί η αναλογία σχήματος σε 1:1 ή η γωνία γραμμής σε βήματα 15° " +"(Δεν υποστηρίζεται από την τρέχουσα σημείωση)" + +#: part/annotationactionhandler.cpp:341 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Αδιαφάνεια σημείωσης" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "Να προστεθεί η τρέχουσα σημείωση στο μενού γρήγορων σημειώσεων" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "Προηγμένες ρυθμίσεις για το τρέχον εργαλείο σημειώσεων" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "Χρώμα" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "Χρώμα γέμισης" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "Διαφανές" + +#: part/annotationactionhandler.cpp:445 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "Custom Color..." +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "Προσαρμοσμένο χρώμα..." + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "Επιλογή χρώματος" + +#: part/annotationactionhandler.cpp:552 +#, kde-format +msgid "&Annotations" +msgstr "Σ&ημειώσεις" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "Απόκρυψη" + +#: part/annotationactionhandler.cpp:554 +#, kde-format +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Εμφάνιση περισσότερων εργαλείων δημιουργίας σημειώσεων" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "Τονισμός" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "Υπογράμμιση" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "Μουτζούρα" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "Επιγράμμιση" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Γραφομηχανή" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "Εμβόλιμη σημείωση" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "Αναδυόμενη σημείωση" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "Ελεύθερη γραμμή" + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "Ευθεία γραμμή" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "Βέλος" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "Ορθογώνιο" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "Έλλειψη" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "Πολύγωνο" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "Γεωμετρικά σχήματα" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "Σφραγίδα" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Γρήγορες σημειώσεις" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "Επιλέξτε ένα εργαλείο σημειώσεων από τις γρήγορες σημειώσεις" + +#: part/annotationactionhandler.cpp:651 +#, kde-format +msgid "Quick Annotation Bar" +msgstr "Γραμμή για γρήγορες σημειώσεις" + +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "Προσθήκη στις γρήγορες σημειώσεις" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "Να παραμείνει ενεργό" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "Να παραμείνει ενεργό το εργαλείο δημιουργίας σημειώσεων μετά τη χρήση" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "Να περιοριστεί η αναλογία και η γωνία των εργαλείων σημειώσεων" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "Γραμματοσειρά" + +#: part/annotationactionhandler.cpp:681 +#, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Ρυθμίσεις σημειώσεων" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "Πλάτος γραμμής" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "Αδιαφάνεια" + +#: part/annotationactionhandler.cpp:696 +#, kde-format +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1%" + +#: part/annotationmodel.cpp:320 +#, fuzzy, kde-format +#| msgid "Page %1" +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "Σελίδα %1" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "Σελίδα %1" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "Σημείωση" +msgstr[1] "%1 σημειώσεις" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "Ά&νοιγμα αναδυόμενης σημείωσης" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Αφαίρεση σελιδοδείκτη" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Προσθήκη σελιδοδείκτη" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, kde-format +msgid "Copy Text to Clipboard" +msgstr "Αντιγραφή στο πρόχειρο" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "Απαγόρευση αντιγραφής από DRM" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "&Διαγραφή" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "&Ιδιότητες" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, fuzzy, kde-format +#| msgctxt "%1 is the name of the file to save" +#| msgid "&Save '%1'..." +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "&Αποθήκευση '%1'..." + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "&Εμφάνιση" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "&Γενικά" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&Συγγραφέας:" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "Δημιουργήθηκε:" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "Τροποποιήθηκε:" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "Ιδιότητες αναδυόμενης σημείωσης" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "Ιδιότητες γραφομηχανής" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "Ιδιότητες εμβόλιμης σημείωσης" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "Ιδιότητες ευθείας γραμμής" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "Ιδιότητες πολυγώνου" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "Ιδιότητες γεωμετρίας" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "Ιδιότητες σημάνσεων κειμένου" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "Ιδιότητες σφραγίδας" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "Ιδιότητες ελεύθερης γραμμής" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "Ιδιότητες δείκτη" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "Ιδιότητες συνημμένου αρχείου" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "Ιδιότητες ήχου" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "Ιδιότητες ταινίας" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "Ιδιότητες σημείωσης" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "Επιλέξτε ένα προσαρμοσμένο σύμβολο σφραγίδας από το αρχείο" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "Επιλογή προσαρμοσμένου συμβόλου σφραγίδας" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" +"*.ico *.png *.xpm *.svg *.svgz | Αρχεία εικονιδίων (*.ico *.png *.xpm *.svg " +"*.svgz)" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "Αδυναμία φόρτωσης του αρχείου %1" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "Μη έγκυρο αρχείο" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&Χρώμα:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%1%" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "&Αδιαφάνεια:" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "Εικονίδιο:" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "Σχόλιο" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "Βοήθεια" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "Εισαγωγή" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "Πλήκτρο" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "Νέα παράγραφος" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "Σημείωση" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "Παράγραφος" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Γραμματοσειρά:" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "Χρώμα &κειμένου:" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "&Στοίχιση:" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "Αριστερά" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "Κέντρο" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "Δεξιά" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "Πλάτος &περιθωρίου:" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "Εγκεκριμένο" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "Ως είναι" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "Εμπιστευτικό" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "Τμηματικό" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "Πρόχειρο" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "Δοκιμαστικό" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "Έληξε" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "Τελικό" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "Προς σχόλιο" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "Προς δημόσια κυκλοφορία" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "Μη εγκεκριμένο" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "Όχι προς δημόσια κυκλοφορία" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "Πωλήθηκε" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "Άκρως απόρρητο" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "Σελιδοδείκτης" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "Πληροφορίες" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "Σύμβολο σφραγίδας:" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "&Πλάτος:" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "Έναρξη γραμμής:" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "Τέλος γραμμής:" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "Τετράγωνο" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "Κύκλος" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "Διαμάντι" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "Άνοιγμα βέλους" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "Κλειστό βέλος" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "Κανένα" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "Απόληξη" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "Δεξί ανοιχτό βέλος" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "Δεξί κλειστό βέλος" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "Κάθετος" + +#: part/annotationwidgets.cpp:531 +#, kde-format +msgid "Leader line length:" +msgstr "Μήκος γραμμής αρχής:" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "Μήκος επεκτάσεων γραμμής αρχής:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "Ενεργοποιημένο" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "Γέμισμα σχήματος:" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Τύπος:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "Επιγράμμιση" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "Σύμβολο συνημμένου αρχείου:" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "Γράφημα" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "Πινέζα" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "Συνδετήρας" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "Ετικέτα" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "Αρχείο" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "Μ/Δ" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "Μη διαθέσιμη περιγραφή." + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "Όνομα:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "Περιγραφή:" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "Σύμβολο δείκτη:" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "Κανένα" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "Κλείσιμο αυτής της σημείωσης" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "Επιλογές" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"Αυτή η σημείωση μπορεί να περιέχει κώδικα LaTeX.\n" +"Κάντε κλικ εδώ για την αποτύπωση." + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "Δεν ήταν δυνατό να βρεθεί το εκτελέσιμο latex." + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "Αποτυχία αποτύπωσης LaTeX" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "Δεν ήταν δυνατό να βρεθεί το εκτελέσιμο dvipng." + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "Ένα πρόβλημα εμφανίστηκε κατά την εκτέλεση της εντολής 'latex'." + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "Ένα πρόβλημα εμφανίστηκε κατά την εκτέλεση της εντολής 'dvipng'." + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"Ένας σελιδοδείκτης" +msgstr[1] "" +"%1\n" +"\n" +"%2 σελιδοδείκτες" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Σελιδοδείκτες" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "Εμφάνισε για όλα τα έγγραφα" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, fuzzy, kde-format +#| msgid "S&earch:" +msgid "Search…" +msgstr "Α&ναζήτηση:" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, fuzzy, kde-format +#| msgid "Expand all" +msgid "Expand All" +msgstr "Επέκταση όλων" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, fuzzy, kde-format +#| msgid "Collapse all" +msgid "Collapse All" +msgstr "Σύμπτυξη όλων" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "Μετάβαση σε αυτόν το σελιδοδείκτη" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "Μετονομασία σελιδοδείκτη" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Άνοιγμα εγγράφου" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "Αφαίρεση όλων των Σελιδοδεικτών του τρέχοντος Εγγράφου" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "Προβολή πιστοποιητικού" + +#: part/certificateviewer.cpp:50 +#, fuzzy, kde-format +#| msgid "Export..." +msgid "Export…" +msgstr "Εξαγωγή..." + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "Γενικά" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "Εκδόθηκε από" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "Common Name(CN)" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "Ηλ. αλληλογραφία" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "Οργανισμός(O)" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "Εκδόθηκε σε" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "Εγκυρότητα" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "Αποτυπώματα" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "SHA-1 αποτύπωμα" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "SHA-256 αποτύπωμα" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "Λεπτομέρειες" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "Δεδομένα πιστοποιητικού:" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "Πού θέλετε να αποθηκεύσετε αυτό το πιστοποιητικό;" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "Αρχείο πιστοποιητικού (*.cer)" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "Αδυναμία εξαγωγής του πιστοποιητικού" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "Λειτουργία &χρώματος" + +#: part/colormodemenu.cpp:21 +#, kde-format +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "Αλλαγή χρωμάτων" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "Κα&νονικά χρώματα" + +#: part/colormodemenu.cpp:41 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "Αντ&ιστροφή χρωμάτων" + +#: part/colormodemenu.cpp:42 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "Αλλαγή χρώμα&τος χαρτιού" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "Αλλαγή &σκοτεινών && φωτεινών χρωμάτων" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "Μετατροπή σε &ασπρόμαυρο" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "Αντιστροφή χ&ρωματικής έκτασης" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "Αντιστροφή l&uma (sRGB γραμμικό)" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "Αντιστροφή luma (&συμμετρικό)" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "Μετατόπιση &θετικής απόχρωσης" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "Μ&ετατόπιση αρνητικής απόχρωσης" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "Κόκκινο" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "Πράσινο" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "Μπλε" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "Κίτρινο" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "Μαύρο" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "Λευκό" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "Κίτρινος τονισμός" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "Πράσινος τονισμός" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "Εισαγωγή κειμένου" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "Εμφάνιση πλαισίου γύρω από τους δεσμούς" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "Αλλαγή χρωμάτων" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "" +"Προειδοποίηση: αυτές οι επιλογές μπορούν να μειώσουν δραστικά την " +"ταχύτητα σχεδίασης." + +#: part/dlgaccessibility.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "Αντιστροφή χρωμάτων" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "Αλλαγή χρώματος χαρτιού" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "Αλλαγή σκοτεινών & φωτεινών χρωμάτων" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "Μετατροπή σε ασπρόμαυρο" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "Αντιστροφή χρωματικής έκτασης" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "Αντιστροφή luma (sRGB γραμμικό)" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "Αντιστροφή luma (συμμετρικό)" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "Μετατόπιση θετικής απόχρωσης" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "Μετατόπιση αρνητικής απόχρωσης" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "Λειτουργία χρώματος:" + +#: part/dlgaccessibility.cpp:87 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Χρώμα χαρτιού:" + +#: part/dlgaccessibility.cpp:99 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Σκοτεινό χρώμα:" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "Φωτεινό χρώμα:" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "Κατώφλι:" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Αντίθεση:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "Μηχανή για κείμενο σε ομιλία:" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "Κείμενο-σε-ομιλία φωνή:" + +#: part/dlgannotations.cpp:25 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Γραμμή εργαλείων για πλήρεις σημειώσεις" + +#: part/dlgannotations.cpp:26 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Γραμμή εργαλείων για γρήγορες σημειώσεις" + +#: part/dlgannotations.cpp:28 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Γραμμή εργαλείων σημειώσεων:" + +#: part/dlgannotations.cpp:34 +#, kde-format +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "Συγγραφέας:" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"Σημείωση: οι εδώ πληροφορίες χρησιμοποιούνται μόνο για σημειώσεις. Οι " +"πληροφορίες αυτές αποθηκεύονται σε έγγραφα με σημειώσεις και έτσι θα " +"μεταδοθούν μαζί με το έγγραφο." + +#: part/dlgannotations.cpp:48 +#, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

Quick Annotation Tools

" +msgstr "

Εργαλεία γρήγορων σημειώσεων

" + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" +"Επιλέξτε τον επεξεργαστή που επιθυμείτε όταν το Okular χρειάζεται να ανοίξει " +"ένα αρχείο πηγαίου κώδικα." + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "Προσαρμοσμένος επεξεργαστής κειμένου" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "πελάτης Emacs" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "πελάτης Lyx" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "TeXstudio" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "TeXiFy IDEA" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "Επεξεργαστής:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
\n" +"You can also put few placeholders:\n" +"
    \n" +"
  • %f - the file name
  • \n" +"
  • %l - the line of the file to be reached
  • \n" +"
  • %c - the column of the file to be reached
  • \n" +"
\n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"Ορίστε την εντολή ενός προσαρμοσμένου επεξεργαστή κειμένου προς εκτέλεση." +"
\n" +"Μπορείτε να χρησιμοποιήσετε κάποιους αντικαταστάτες:\n" +"
    \n" +"

  • %f - το όνομα του αρχείου
  • \n" +"

  • %l - η γραμμή το αρχείου για μετάβαση σε αυτήν
  • \n" +"
  • %c - η στήλη του αρχείου για μετάβαση σε αυτήν
  • \n" +"
\n" +"
Αν δεν καθοριστεί το %f, τότε το όνομα αρχείου προστίθεται στο τέλος της " +"καθορισμένης εντολής." + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "Εντολή:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "Χρήση απαλής κύλισης" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "Εμφάνιση:" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "Εμφάνιση γραμμών κύλισης" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "Σύνδεση των εικόνων επισκόπησης με τη σελίδα" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "Εμφάνιση υποδείξεων και μηνυμάτων πληροφοριών" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "Ειδοποίηση για ενσωματωμένα αρχεία, φόρμες ή υπογραφές" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "Εμφάνιση τίτλου εγγράφου στη γραμμή τίτλου αν είναι διαθέσιμη" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "Να εμφανίζεται το όνομα αρχείου μόνο" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "Να εμφανίζεται η πλήρης διαδρομή του αρχείου" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "Όταν δεν εμφανίζεται ο τίτλος εγγράφου:" + +#: part/dlggeneral.cpp:92 +#, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "Χρήση προσαρμοσμένου χρώματος φόντου:" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "Χαρακτηριστικά προγράμματος:" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "Άνοιγμα νέων αρχείων σε καρτέλες" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "Εναλλαγή σε υφιστάμενη καρτέλα αν το αρχείο είναι ήδη ανοιχτό" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "Υπακοή στους περιορισμούς DRM" + +#: part/dlggeneral.cpp:148 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "Επαναφόρτωση εγγράφου μετά από τροποποίηση του αρχείου" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "Εμφάνιση διαλόγου επιλογής συστήματος υποστήριξης" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "Κατεύθυνση ανάγνωσης από δεξιά προς αριστερά" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" + +#: part/dlggeneral.cpp:178 +#, fuzzy, kde-format +#| msgctxt "@option:check Config dialog, general page" +#| msgid "Open in continuous mode by default" +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "Προκαθορισμένο άνοιγμα σε συνεχή λειτουργία" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "Προκαθορισμένο άνοιγμα σε συνεχή λειτουργία" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" +"Κατά την χρήση του Εργαλείου Πλοήγησης, κάνε αναδίπλωση του δρομέα στα άκρα " +"της οθόνης" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "Στήλες περίληψης:" + +#: part/dlggeneral.cpp:220 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%1%" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" +"Καθορίζει πόση από την τρέχουσα περιοχή προβολής θα εξακολουθεί να είναι " +"ορατή όταν πιέζετε τα πλήκτρα Page Up/Down." + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "Σελίδα Πάνω/Κάτω επικάλυψη:" + +#: part/dlggeneral.cpp:228 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%1%" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "100%" + +#: part/dlggeneral.cpp:233 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "Προσαρμογή στο πλάτος" + +#: part/dlggeneral.cpp:234 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "Προσαρμογή στη σελίδα" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "Αυτόματη προσαρμογή" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" +"Ορίζει την προκαθορισμένη προσαρμογή του οπτικού πεδίου για αρχεία που δεν " +"έχουν ανοιχτεί ξανά. Για αρχεία που έχουν ανοιχτεί ξανά εφαρμόζεται η " +"προηγούμενη προσαρμογή." + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "Προκαθορισμένο οπτικό πεδίο:" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "Ενεργοποίηση εφέ διαφάνειας" + +#: part/dlgperformance.cpp:28 +#, kde-format +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "Χρήση επεξεργαστή:" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "Χαμηλή" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "Κανονική (προκαθορισμένο)" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "Επιθετική" + +#: part/dlgperformance.cpp:38 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "Άπληστη" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "Χρήση μνήμης:" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "Ενεργοποίηση εξομάλυνσης κειμένου" + +#: part/dlgperformance.cpp:56 +#, kde-format +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "Επιλογές αποτύπωσης:" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "Ενεργοποίηση εξομάλυνσης γραφικών" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "Ενεργοποίηση υποδείξεων κειμένου" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"Διατηρεί τη χρησιμοποιούμενη μνήμη όσο πιο χαμηλά γίνεται. Δεν " +"επαναχρησιμοποιεί τίποτα. (Για συστήματα με λίγη μνήμη.)" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"Ένας καλός συνδυασμός μεταξύ χρήσης μνήμης και αύξησης ταχύτητας. Φορτώνει " +"από πριν την επόμενη σελίδα και επιταχύνει τις αναζητήσεις (Για συστήματα με " +"2GB μνήμης)" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"Διατηρεί τα πάντα στη μνήμη. Φορτώνει από πριν τις επόμενες σελίδες. " +"Επιταχύνει τις αναζητήσεις (Για συστήματα με περισσότερο από 4GB μνήμης.)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" +"Φορτώνει και διατηρεί τα πάντα στη μνήμη. Προφόρτωση όλων των σελίδων. (Θα " +"γίνει χρήση του 50% το πολύ όλης της μνήμης σας ή της ελεύθερης μνήμης σας, " +"όποια είναι μεγαλύτερη.)" + +#: part/dlgpresentation.cpp:38 +#, fuzzy, kde-format +#| msgctxt "Advance every %1 seconds" +#| msgid " second" +#| msgid_plural " seconds" +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] " δευτερόλεπτο" +msgstr[1] " δευτερόλεπτα" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "Αυτόματη προώθηση:" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "Επανάληψη μετά την τελευταία σελίδα" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "Αγγίξτε στην αριστερή/δεξιά πλευρά για μετάβαση πίσω/εμπρός" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "Αγγίξτε οπουδήποτε για μετάβαση εμπρός" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "Απενεργοποιημένο" + +#: part/dlgpresentation.cpp:63 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Πλοήγηση επαφής:" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "Χρώμα φόντου:" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "Απόκρυψη μετά από καθυστέρηση" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "Πάντα ορατός" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "Πάντα αόρατος" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "Δρομέας ποντικιού:" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "Εμφάνιση ένδειξης προόδου" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "Εμφάνιση σελίδας περίληψης" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "Στιγμιαίο (ποτέ με χρήση εφέ κίνησης)" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "Αντικατάσταση" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "Τυχαία μετάβαση" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "Κατακόρυφες γρίλιες" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "Οριζόντιες γρίλιες" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "Πλαίσιο προς τα μέσα" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "Πλαίσιο προς τα έξω" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "Διάλυση" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "Ομαλή μετάβαση" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "Λαμπύρισμα προς τα κάτω" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "Λαμπύρισμα προς τα δεξιά" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "Λαμπύρισμα προς κάτω δεξιά" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "Οριζόντια διαίρεση προς τα μέσα" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "Οριζόντια διαίρεση προς τα έξω" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "Κατακόρυφη διαίρεση προς τα μέσα" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "Κατακόρυφη διαίρεση προς τα έξω" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "Καθαρισμός προς τα κάτω" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "Καθαρισμός προς τα δεξιά" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "Καθαρισμός προς τα αριστερά" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "Καθαρισμός προς τα πάνω" + +#: part/dlgpresentation.cpp:121 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Προκαθορισμένη μετάβαση:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "Προτιμώμενη οθόνη:" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

Drawing Tools

" +msgstr "

Εργαλεία σχεδίασης

" + +#: part/dlgpresentation.cpp:171 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Τρέχουσα οθόνη" + +#: part/dlgpresentation.cpp:172 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Προκαθορισμένη οθόνη" + +#: part/dlgpresentation.cpp:178 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "Οθόνη %1 (%2 %3 %4)" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "Οθόνη %1 (αποσυνδέθηκε)" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "Εργαλείο σχεδίασης: %1" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "Γόμα" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "Ό&νομα:" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "&Τύπος:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "Εμφάνιση" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "Σήμανση κειμένου" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "Γεωμετρικό σχήμα" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "Εργαλείο δημιουργίας σημειώσεων" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "Εργαλείο επεξεργασίας σημειώσεων" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "Χρώμα:" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "&Πάχος πένας:" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "" + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "Εργαλείο δημιουργίας σχεδίασης" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "Εργαλείο επεξεργασίας σχεδίασης" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "Άγνωστη" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Ενσωματωμένα αρχεία" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "Προβολή" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "Όνομα" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "Περιγραφή" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "Μέγεθος" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "Δημιουργία" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "Τροποποίηση" + +#: part/embeddedfilesdialog.cpp:154 +#, fuzzy, kde-format +#| msgid "Save As" +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "Αποθήκευση ως" + +#: part/embeddedfilesdialog.cpp:155 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "Π&ροβολή" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "Αδυναμία φόρτωσης του τμήματος προεπισκόπησης εκτύπωσης" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "Προεπισκόπηση εκτύπωσης" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "Κλείσιμο" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "&Αναζήτηση:" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "Κείμενο προς αναζήτηση" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Επόμενο" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "Μετάβαση στο επόμενο ταίριασμα" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Προηγούμενο" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "Μετάβαση στο επόμενο ταίριασμα" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "Τροποποίηση συμπεριφοράς αναζήτησης" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "Διάκριση πεζών/κεφαλαίων" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "Από τρέχουσα σελίδα" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "Εύρεση καθώς πληκτρολογείτε" + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "Όλα τα αρχεία (*)" + +#: part/formwidgets.cpp:1280 +#, fuzzy, kde-format +#| msgid "Unsigned Signature Field (Click to Sign)" +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "Ανυπόγραφο Πεδίο Υπογραφής (Πατήστε για Υπογραφή)" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, fuzzy, kde-format +#| msgctxt "@action:button" +#| msgid "Sign" +msgid "&Sign…" +msgstr "Υπόγραψε" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "Ιδιότητες υπογραφής" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "Επιλογές αναζήτησης" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "Διάκριση πεζών/κεφαλαίων" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "Regular Expression" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "Επίπεδα" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "από" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "Οπτικό πεδίο" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "Οπτικό πεδίο στο 100%" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "Περιστροφή &δεξιά" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "Δεξιά" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "Περιστροφή &αριστερά" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "Αριστερά" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "Αρχικός προσανατολισμός" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "&Κόψιμο προβολής" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "&Κόψιμο περιθωρίων" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "Κόψιμο στην επιλογή" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "Προσαρμογή στο &πλάτος" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "Προσαρμογή σε&λίδας" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "&Αυτόματη προσαρμογή" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "Προσαρμογή του παρα&θύρου στη σελίδα" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "Κατάσταση &προβολής" + +#: part/pageview.cpp:594 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "Μονή &σελίδα" + +#: part/pageview.cpp:595 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "Αν&τικριστές σελίδες" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "Αντικριστές σελίδες (&κεντράρισμα πρώτης σελίδας)" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "&Επισκόπηση" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "&Συνεχής" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "Χρήση κατεύθυνσης ανάγνωσης από δεξιά προς αριστερά" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "&Περιήγηση" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "&Ζουμ" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "Ε&πιλογή επιφάνειας" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "Επι&λογή κειμένου" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "Επιλογή πίν&ακα" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "Μεγεθυντής" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "Εργαλεία επιλογής" + +#: part/pageview.cpp:711 +#, fuzzy, kde-format +#| msgid "Digitally &Sign..." +msgid "Digitally &Sign…" +msgstr "Ψηφιακή &υπογραφή..." + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "Εκφώνηση ολόκληρου εγγράφου" + +#: part/pageview.cpp:722 +#, fuzzy, kde-format +#| msgid "Speak Current Page" +msgid "Speak From Current Page" +msgstr "Εκφώνηση τρέχουσας σελίδας" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "Εκφώνηση τρέχουσας σελίδας" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "Σταμάτημα εκφώνησης" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "Παύση/συνέχιση ομιλίας" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "Κύλιση πάνω" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Κύλιση κάτω" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "Κύλιση σελίδας πάνω" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "Κύλιση σελίδας κάτω" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "Εμφάνιση φορμών" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] " Φορτώθηκε ένα έγγραφο μιας σελίδας." +msgstr[1] " Φορτώθηκε ένα έγγραφο %1 σελίδων." + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "Αντιγραφή περιεχομένων πίνακα στο πρόχειρο" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "Κείμενο (1 χαρακτήρας)" +msgstr[1] "Κείμενο (%1 χαρακτήρες)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "Αντιγραφή στο πρόχειρο" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "Εκφώνηση κειμένου" + +#: part/pageview.cpp:2863 +#, fuzzy, kde-format +#| msgid "Image (%1 by %2 pixels)" +msgid "Image (%1 × %2 pixels)" +msgstr "Εικόνα (%1 επί %2 εικονοστοιχεία)" + +#: part/pageview.cpp:2865 +#, kde-format +msgid "Save to File…" +msgstr "Αποθήκευση σε αρχείο…" + +#: part/pageview.cpp:2885 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] copied to clipboard." +msgid "Image [%1 × %2] copied to clipboard." +msgstr "Η εικόνα [%1x%2] αντιγράφηκε στο πρόχειρο." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "Αποθήκευση αρχείου" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "Εικόνες (*.png *.jpeg)" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "Το αρχείο δεν αποθηκεύτηκε." + +#: part/pageview.cpp:2901 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] saved to %3 file." +msgid "Image [%1 × %2] saved to %3 file." +msgstr "Εικόνα [%1x%2] αποθηκεύτηκε στο αρχείο %3." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "Αντιγραφή κειμένου" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "Μετάβαση στην %1" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "Προσαρμογή στο πλάτος" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "Προσαρμογή στη σελίδα" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "Αυτόματη προσαρμογή" + +#: part/pageview.cpp:4107 +#, kde-format +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1%" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "Αναζήτηση για '%1' με" + +#: part/pageview.cpp:4404 +#, fuzzy, kde-format +#| msgid "Configure Web Shortcuts..." +msgid "Configure Web Shortcuts…" +msgstr "Διαμόρφωση συντομεύσεων ιστού..." + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "Ακολούθησε αυτό το δεσμό" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "Αναπαραγωγή του ήχου" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "Διακοπή του ήχου" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "Αντιγραφή διεύθυνσης δεσμού" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "Αναζήτηση για '%1' σε αυτό το έγγραφο" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Καλώς ήρθατε" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "Επιλέξτε περιοχή προσαρμογής οπτικού πεδίου. Δεξί κλικ για σμίκρυνση." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "Κάντε κλικ για να δείτε την προβολή μεγέθυνσης." + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "" +"Σχεδιάστε ένα παραλληλόγραμμο γύρο από το κείμενο/γραφικό που θέλετε να " +"αντιγράψετε." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "Επιλέξτε κείμενο" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" +"Σχεδιάστε ένα παραλληλόγραμμο γύρο από τον πίνακα, έπειτα κάντε κλικ κοντά " +"στις ακμές για την κατανομή. Πατήστε Esc για καθαρισμό." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" + +#: part/pageview.cpp:5188 +#, fuzzy, kde-format +#| msgid "Certificates" +msgid "No valid certificates" +msgstr "Πιστοποιητικά" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, fuzzy, kde-format +#| msgid "View in Certificate Manager" +msgid "Open Certificate Manager" +msgstr "Προβολή στον Διαχειριστή Πιστοποιητικών..." + +#: part/pageview.cpp:5200 +#, fuzzy, kde-format +#| msgid "" +#| "There are no available signing certificates.
For more information, " +#| "please see the section about Adding Digital Signatures " +#| "in the manual." +msgid "" +"There are no available signing certificates.
Launch Certificate Manager " +"to import or manage certificates
For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" +"Δεν υπάρχουν διαθέσιμα πιστοποιητικά για υπογραφή.
Για περισσότερες " +"πληροφορίες δείτε την ενότητα για την Προσθήκη ψηφιακών " +"υπογραφών στο εγχειρίδιο χρήσης." + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, fuzzy, kde-format +#| msgid "Certificates" +msgid "No certificates found" +msgstr "Πιστοποιητικά" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" +"Δεν υπάρχουν διαθέσιμα πιστοποιητικά για υπογραφή.
Για περισσότερες " +"πληροφορίες δείτε την ενότητα για την Προσθήκη ψηφιακών " +"υπογραφών στο εγχειρίδιο χρήσης." + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" +"Έχετε μη αποθηκευμένες αλλαγές. Αποθηκεύστε το έγγραφο πριν το υπογράψετε." + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "" +"Σχηματίστε ένα ορθογώνιο παραλληλόγραμμο για να εισαγάγετε το πεδίο της " +"υπογραφής" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "" +"Σχεδιάστε ένα παραλληλόγραμμο γύρω από την περιοχή της σελίδας που θέλετε να " +"διατηρήσετε ορατή" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "Νέα σημείωση κειμένου" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "Κείμενο της νέας σημείωσης:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" +"Μια υπογραφή με τόσο μικρό μέγεθος ίσως να μην είναι αναγνώσιμη. Αν θέλετε " +"να δημιουργήσετε μια πιο ευανάγνωστη υπογραφή, πιέστε Από την " +"αρχή και σχεδιάστε ένα μεγαλύτερο ορθογώνιο παραλληλόγραμμο." + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "Από την αρχή" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "Υπόγραψε" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name" +msgstr "Όνομα συγγραφέα" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name for the annotation:" +msgstr "Όνομα συγγραφέα για τη σημείωση:" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "Σχεδίαση μιας έλλειψης (σύρετε για την επιλογή μιας ζώνης)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "Τονισμός κειμένου" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "Σχεδιασμός ελεύθερης γραμμής" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "Σημείωση εμβόλιμου κειμένου (σύρετε για την επιλογή ζώνης)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "Εισαγωγή αναδυόμενης σημείωσης" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "Σχεδίαση ενός πολυγώνου (κλικ στο πρώτο σημείο για κλείσιμό του)" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "Σχεδίαση παραλληλόγραμμου" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "Μουντζαλιά κειμένου" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "Τοποθέτηση συμβόλου σφραγίδας" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "Σχεδίαση ευθείας γραμμής" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "Επιγράμμιση κειμένου" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "Υπογράμμιση κειμένου" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "Σημείωση γραφομηχανής (σύρετε για την επιλογή ζώνης)" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "Τονισμός" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "Προσθήκη αγαπημένης σημείωσης" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Custom annotation name:" +msgstr "Όνομα προσαρμοσμένης σημείωσης:" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&Αρχείο" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "Ρ&υθμίσεις" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "&Βοήθεια" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "Προ&σανατολισμός" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "&Σελιδοδείκτες" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "Γραμμή προβολέα" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Εικόνες επισκόπησης" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "Σημειώσεις" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" +"Το έγγραφο αυτό περιέχει σημειώσεις ή δεδομένα φορμών αποθηκευμένα εσωτερικά " +"από μια προηγούμενη έκδοση του Okular. Ο εσωτερικός χώρος αποθήκευσης δεν " +"υποστηρίζεται πλέον.
Αποθηκεύστε σε ένα αρχείο για να τα " +"μετακινήσετε αν θέλετε να συνεχίσετε την επεξεργασία του εγγράφου." + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"Το έγγραφο αυτό περιέχει ενσωματωμένα αρχεία. Κάντε κλικ εδώ για να τα δείτε ή μεταβείτε στο Αρχείο -> Ενσωματωμένα " +"αρχεία." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "Προηγούμενο" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "Μετάβαση στην προηγούμενη σελίδα" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "Μετακινεί στην προηγούμενη σελίδα του εγγράφου" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "Επόμενο" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "Προώθηση στην επόμενη σελίδα" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "Μετακινεί στην επόμενη σελίδα του εγγράφου" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "Αρχή του εγγράφου" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "Μετακινεί στην αρχή του εγγράφου" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "Τέλος του εγγράφου" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "Μετακινεί στο τέλος του εγγράφου" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "Μετονομασία του τρέχοντος σελιδοδείκτη" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "Προηγούμενος σελιδοδείκτης" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "Μετάβαση στον προηγούμενο σελιδοδείκτη" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "Επόμενος σελιδοδείκτης" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "Μετάβαση στον επόμενο σελιδοδείκτη" + +#: part/part.cpp:748 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgid "Configure Okular…" +msgstr "Διαμόρφωση του Okular..." + +#: part/part.cpp:751 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Configure Viewer…" +msgstr "Διαμόρφωση προβολέα" + +#: part/part.cpp:757 +#, fuzzy, kde-format +#| msgid "Configure Viewer Backends" +msgid "Configure Viewer Backends…" +msgstr "Διαμόρφωση συστημάτων υποστήριξης προβολέα" + +#: part/part.cpp:759 +#, fuzzy, kde-format +#| msgid "Configure Backends" +msgid "Configure Backends…" +msgstr "Διαμόρφωση συστημάτων υποστήριξης" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "Σχετικά με το σύστημα υποστήριξης" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "&Επαναφόρτωση" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "Επαναφόρτωση του τρέχοντος εγγράφου από το δίσκο." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "Κλείσιμο γραμμής &αναζήτησης" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "Αριθμός σελίδας" + +#: part/part.cpp:817 +#, fuzzy, kde-format +#| msgctxt "@action" +#| msgid "Configure Color Modes..." +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "Διαμόρφωση λειτουργιών χρώματος..." + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "Επιλογή όλου του κειμένου στην τρέχουσα σελίδα" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "Εμφάνιση πλευρ&ικής γραμμής" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "Εμφάνιση γραμμής &σελίδας" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "Εμφάνι&ση πίνακα υπογραφών" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "&Ενσωματωμένα αρχεία" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "Ε&ξαγωγή ως" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "Δια&μοιρασμός" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "Πα&ρουσίαση" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "Άνοιγμα περιέχον&τος φακέλου" + +#: part/part.cpp:945 +#, fuzzy, kde-format +#| msgid "&Import PostScript as PDF..." +msgid "&Import PostScript as PDF…" +msgstr "&Εισαγωγή Postscript ως PDF..." + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "Εναλλαγή λειτουργίας μαύρης οθόνης" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "Σβήσιμο σχεδίων" + +#: part/part.cpp:962 +#, fuzzy, kde-format +#| msgid "Configure Annotations..." +msgid "Configure Annotations…" +msgstr "Διαμόρφωση σημειώσεων..." + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "Αναπαραγωγή/παύση παρουσίασης" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" +"Έχετε μόλις τροποποιήσει το τρέχον ανοικτό έγγραφο, αλλά αυτός ο τύπος του " +"εγγράφου δεν μπορεί να αποθηκευτεί.\n" +"Όλες οι τροποποιήσεις θα χαθούν μόλις κλείσει το Okular." + +#: part/part.cpp:1123 +#, kde-format +msgid "Document can't be saved" +msgstr "Το έγγραφο δεν μπορεί να αποθηκευτεί" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "Αδυναμία ανοίγματος του '%1' (%2) " + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "Η φόρτωση του %1 ακυρώθηκε." + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "Αδυναμία ανοίγματος του %1. Αιτία: %2" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "Διαμόρφωση συστημάτων υποστήριξης προβολέα" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "Διαμόρφωση συστημάτων υποστήριξης" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"Το πρόγραμμα \"ps2pdf\" δε βρέθηκε, έτσι το Okular δε θα μπορεί να εισάγει " +"αρχεία PS με αυτό." + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "Δε βρέθηκε το ps2pdf" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "PostScript αρχεία (%1)" + +#: part/part.cpp:1357 +#, fuzzy, kde-format +#| msgid "Importing PS file as PDF (this may take a while)..." +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "Εισαγωγή αρχείου PS ως PDF (μπορεί να διαρκέσει αρκετά)..." + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "Δώστε τον κωδικό πρόσβασης για να διαβάσετε το έγγραφο:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "Λανθασμένος κωδικός πρόσβασης. Προσπαθήστε πάλι:" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "Κωδικός πρόσβασης εγγράφου" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" +"Το έγγραφο αυτό περιέχει φόρμες XFA, οι οποίες προς το παρόν δεν " +"υποστηρίζονται." + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"Αυτό το έγγραφο περιέχει φόρμες. Κάντε κλικ στο κουμπί για την εμφάνισή " +"τους, ή χρησιμοποιήστε το Προβολή -> Εμφάνιση φορμών." + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" +"Όλη η επεξεργασία και οι διαδραστικές λειτουργίες για αυτό το έγγραφο έχουν " +"απενεργοποιηθεί. Αποθηκεύστε ένα αντίγραφο και ανοίξτε ξανά για να " +"επεξεργαστείτε το έγγραφο." + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" +"Αυτό το έγγραφο θέλει να εμφανίζεται σε πλήρη οθόνη.\n" +"Να γίνει μετάβαση από κανονική λειτουργία σε λειτουργία παρουσίασης;" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "Αίτημα αλλαγής λειτουργίας προβολής" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "Είσοδος σε λειτουργία παρουσίασης" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "Άρνηση αιτήματος" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "Αδυναμία ανοίγματος του %1. %2" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" +"Το αρχείο %1 έχει μη αποθηκευμένες αλλαγές όμως έχει " +"τροποποιηθεί από άλλο πρόγραμμα. Με την επαναφόρτωση οι μη αποθηκευμένες " +"αλλαγές θα αντικατασταθούν από τις αλλαγές που έγιναν από το άλλο πρόγραμμα. " +"Θέλετε να συνεχίσετε με την επαναφόρτωση του αρχείου;" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "Το αρχείο άλλαξε" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "Συνέχεια επαναφόρτωσης" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "Εγκατάλειψη επαναφόρτωσης" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" +"Το αρχείο %1 έχει μη αποθηκευμένες αλλαγές όμως έχει " +"τροποποιηθεί από άλλο πρόγραμμα. Κλείνοντας το θα αντικατασταθούν οι μη " +"αποθηκευμένες αλλαγές από τις αλλαγές του άλλου προγράμματος. Θέλετε να συνεχίσετε με το κλείσιμο του αρχείου;" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "Συνέχεια κλεισίματος" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "Εγκατάλειψη κλεισίματος" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "Θέλετε να αποθηκεύσετε τις αλλαγές σας στο «%1» ή να τις απορρίψετε;" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "Κλείσιμο εγγράφου" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"Αυτός ο δεσμός ενεργοποιεί μία ενέργεια κλεισίματος εγγράφου η οποία δε " +"λειτουργεί όταν χρησιμοποιείτε τον ενσωματωμένο προβολέα." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"Αυτός ο δεσμός ενεργοποιεί μία ενέργεια τερματισμού εφαρμογής η οποία δε " +"λειτουργεί όταν χρησιμοποιείτε τον ενσωματωμένο προβολέα." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Reloading the document…" +msgstr "Επαναφόρτωση του εγγράφου..." + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "Περιεχόμενα" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "Υπογραφές" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Μετακίνηση στη σελίδα" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "&Σελίδα:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "Εισάγετε το νέο όνομα του σελιδοδείκτη:" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "Μετονομασία αυτού του σελιδοδείκτη" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "Να διαγραφεί αυτός ο σελιδοδείκτης" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "Αποθήκευση ως" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" +"Έχετε επιλέξει να αποθηκεύσετε ένα Αρχείο Okular χωρίς το όνομά του αρχείου " +"να έχει την '%1' επέκταση. Αυτό δεν επιτρέπεται, θέλετε να επιλέξετε ένα νέο " +"όνομα;" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "Μη υποστηριζόμενη επέκταση" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "Επιλέξτε Νέο Όνομα" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" +"Το αρχείο %1 έχει τροποποιηθεί από ένα άλλο πρόγραμμα. " +"Αν αποθηκεύσετε τώρα, όλες οι αλλαγές που έγιναν από το άλλο πρόγραμμα θα " +"χαθούν. Είστε σίγουροι ότι θέλετε να συνεχίσετε;" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "Αποθήκευση - Προειδοποίηση" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "Αποθήκευση Αντιγράφου Αλλού" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
Do you want to continue?" +msgstr "" +"Το τρέχον έγγραφο προστατεύεται με κωδικό πρόσβασης.
Για αποθήκευση, " +"απαιτείται η επαναφόρτωση του αρχείου. Θα σας ζητηθεί και πάλι ο κωδικός " +"πρόσβασης και το ιστορικό αναίρεσης / ακυρώσεων αναίρεσης θα χαθεί.
Θέλετε να συνεχίσετε;" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "Αδυναμία ανοίγματος του προσωρινού αρχείου για αποθήκευση." + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" +"Αδυναμία αντικατάστασης του %1 επειδή είναι μόνο για " +"ανάγνωση. Δοκιμάστε να το αποθηκεύσετε σε άλλη τοποθεσία ή αλλάξτε τα " +"δικαιώματά του αρχείου." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
Do you want to continue?" +msgstr "" +"Μετά την αποθήκευση, ο τρέχων τύπος εγγράφου απαιτεί την επαναφόρτωση του " +"αρχείου. Το ιστορικό αναίρεσης / ακυρώσεων αναίρεσης θα χαθεί.
Θέλετε " +"να συνεχίσετε;" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "" +"Αδυναμία αποθήκευσης αρχείου στο '%1'. Προσπαθήστε να το αποθηκεύσετε σε " +"άλλη τοποθεσία." + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "Περιεχόμενο συμπληρωμένης φόρμας" + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "Σημειώσεις χρήστη" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" +"Πρόκειται να αποθηκεύσετε αλλαγές, αλλά ο τρέχων τύπος αρχείου δεν " +"υποστηρίζει την αποθήκευση των ακόλουθων αντικειμένων. Χρησιμοποιήστε τον " +"τύπο Αρχειοθήκης εγγράφων Okular για να τα διατηρήσετε." + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "Προειδοποίηση" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, fuzzy, kde-format +#| msgid "Save as Okular document archive..." +msgid "Save as Okular document archive…" +msgstr "Αποθήκευση ως αρχειοθήκη εγγράφων Okular..." + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" +"Πρόκειται να αποθηκεύσετε αλλαγές, αλλά ο τρέχων τύπος αρχείου δεν " +"υποστηρίζει την αποθήκευση των ακόλουθων αντικειμένων. Χρησιμοποιήστε τον " +"τύπο Αρχειοθήκης εγγράφων Okular για να τα διατηρήσετε. Έπειτα κάνετε " +"κλικ στο Συνέχεια για να αποθηκεύσετε το έγγραφο και να απορρίψετε " +"αυτά τα αντικείμενα." + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" +"Πρόκειται να αποθηκεύσετε αλλαγές, αλλά ο τρέχων τύπος αρχείου δεν " +"υποστηρίζει την αποθήκευση των ακόλουθων αντικειμένων. Χρησιμοποιήστε τον " +"τύπο Αρχειοθήκης εγγράφων Okular για να τα διατηρήσετε. Έπειτα κάνετε " +"κλικ στο Συνέχεια για να αποθηκεύσετε, αλλά θα χάσετε αυτά τα " +"αντικείμενα καθώς και το ιστορικό αναίρεσης / ακυρώσεων αναίρεσης." + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "Συνέχεια" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "Συνέχεια με απώλεια αλλαγών" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "Αδυναμία αποθήκευσης αρχείου στο '%1'. %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"Το Okular δεν μπορεί να αντιγράψει το %1 στην ορισμένη τοποθεσία.\n" +"\n" +"Το έγγραφο δεν υπάρχει πια." + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" +"Αδυναμία αποθήκευσης αρχείου στο '%1'. Σφάλμα: '%2'. Προσπαθήστε να το " +"αποθηκεύσετε σε άλλη τοποθεσία." + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "Expand whole section" +msgid "Expand Whole Section" +msgstr "Επέκταση όλης της ενότητας" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "Collapse whole section" +msgid "Collapse Whole Section" +msgstr "Σύμπτυξη όλης της ενότητας" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "Συγχρονισμός εικόνας επισκόπησης με τη σελίδα" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Εργαλεία" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "Εκφώνηση κειμένου" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "Εκτύπωση" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "Η εκτύπωση αυτού του εγγράφου δεν επιτρέπεται." + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"Αδύνατη η εκτύπωση του εγγράφου. Άγνωστο σφάλμα. Παρακαλώ αναφέρετε το στο " +"bugs.kde.org" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"Αδύνατη η εκτύπωση του εγγράφου. Το λεπτομερές σφάλμα είναι \"%1\". Παρακαλώ " +"αναφέρετέ το στο bugs.kde.org" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "Μετάβαση στο σημείο που ήσασταν πριν" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "Μετάβαση στο σημείο που ήσασταν μετά" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"Σφάλμα Αρχείου! Δεν ήταν δυνατή η δημιουργία του " +"προσωρινού αρχείου %1." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"Σφάλμα Αρχείου! Δεν ήταν δυνατό το άνοιγμα του αρχείου " +"%1 για αποσυμπίεση. Το αρχείο δε θα φορτωθεί." + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"Αυτό το σφάλμα κανονικά εμφανίζεται όταν δεν έχετε άδεια να διαβάσετε το " +"αρχείο. Μπορείτε να ελέγξετε τον ιδιοκτήτη και τις άδειες του αρχείου " +"κάνοντας δεξί κλικ πάνω του στο διαχειριστή αρχείων Dolphin, έπειτα " +"επιλέγοντας την επιλογή 'Ιδιότητες' και επιλέγοντας την καρτέλα 'Δικαιώματα' " +"στο ανοιχτό παράθυρο." + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"Σφάλμα Αρχείου! Δεν ήταν δυνατή η αποσυμπίεση του " +"αρχείου %1. Το αρχείο δε θα φορτωθεί." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"Αυτό το σφάλμα κανονικά εμφανίζεται όταν το αρχείο είναι κατεστραμμένο. " +"Αν θέλετε να σιγουρευτείτε, προσπαθήστε να το αποσυμπιέσετε με χρήση " +"εργαλείων γραμμής εντολών." + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "Κανένας σελιδοδείκτης" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "Παρουσιάστηκε πρόβλημα με το διαμοιρασμό του εγγράφου: %1" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "Διαμοιρασμός" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "Το έγγραφο μοιράστηκε με επιτυχία" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "Μπορείτε να βρείτε το κοινόχρηστο έγγραφο στο: %1" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "&Επεξεργασία" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "Π&ροβολή" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&Μετάβαση" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "Ερ&γαλεία" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "Κύρια γραμμή εργαλείων" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "Γραμμή εργαλείων σημειώσεων" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, kde-format +msgid "Quick Annotation Toolbar" +msgstr "Γραμμή εργαλείων για γρήγορες σημειώσεις" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "Γενικές επιλογές" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Προσβασιμότητα" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "Βοηθήματα προσβασιμότητας ανάγνωσης" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Επιδόσεις" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "Ρύθμιση επιδόσεων" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "Διαμόρφωση προβολέα" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Παρουσίαση" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "Επιλογές παρουσίασης" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "Ιδιότητες σημειώσεων" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "Επεξεργαστής" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "Επιλογές επεξεργαστή" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" +"Ο επεξεργαστής έχει οριστεί από την γραμμή εντολών σε \n" +" %1 \n" +"Αν θέλετε να χρησιμοποιήσετε αυτή τη ρύθμιση, εκκινήστε το okular χωρίς την " +"επιλογή --editor-cmd" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "Αναζήτηση επόμενου" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 – Παρουσίαση" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "Εναλλαγή οθόνης" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "Οθόνη %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "Έξοδος από λειτουργία παρουσίασης" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Τίτλος: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Σελίδες: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "Κάντε κλικ για να αρχίσετε" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "Παύση" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "Αναπαραγωγή" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"Υπάρχουν δύο τρόποι εξόδου από τη λειτουργία παρουσίασης. Μπορείτε να " +"πατήσετε το πλήκτρο ESC ή να κάνετε κλικ στο κουμπί τερματισμού που " +"εμφανίζεται όταν το ποντίκι τοποθετηθεί στην πάνω δεξιά γωνία. Φυσικά " +"μπορείτε να μετακινείστε κυκλικά στα παράθυρα (Alt+TAB εξ ορισμού)" + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "Γίνεται παρουσίαση" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "Άγνωστο αρχείο" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "%1 Ιδιότητες" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "&Γραμματοσειρές" + +#: part/propertiesdialog.cpp:145 +#, fuzzy, kde-format +#| msgid "Reading font information..." +msgid "Reading font information…" +msgstr "Ανάγνωση πληροφοριών γραμματοσειράς..." + +#: part/propertiesdialog.cpp:158 +#, kde-format +msgid "&Page Sizes" +msgstr "&Μεγέθη σελίδας" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "Ε&ξαγωγή γραμματοσειράς" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Type 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Type 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "Type 1C (OT)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Type 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType (OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID Type 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID Type 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID Type 0C (OT)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType (OT)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "TeX PK" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "Εικονικό TeX" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "Μετρικό γραμματοσειράς TeX" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "FreeType-χειριζόμενο TeX" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "Άγνωστο" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "Ενσωματωμένο (υποσύνολο)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "Πλήρως ενσωματωμένο" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "Όχι" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "Ναι (υποσύνολο)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "Ναι" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "%1 (αντικατάσταση με %2)" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "[μ/δ]" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "Άγνωστη γραμματοσειρά" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "Ενσωματωμένο: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "Όνομα" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "Τύπος" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "Αρχείο" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "Σελίδα" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "Μέγεθος" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "Προεπισκόπηση αναθεώρησης" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "Πού θέλετε να αποθηκεύσετε αυτήν την αναθεώρηση;" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "Αδυναμία αποθήκευσης του αρχείου %1." + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "Αδυναμία προβολής αναθεώρησης." + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "Δώστε τουλάχιστον 3 γράμματα για να φιλτράρετε σελίδες" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "Διάκριση πεζών/κεφαλαίων" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "Ταίριασμα φράσης" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "Ταίριασμα όλων των λέξεων" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "Ταίριασμα οποιασδήποτε λέξης" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "Επιλογές φίλτρων" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, kde-format +msgid "Certificates" +msgstr "Πιστοποιητικά" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "Επιλογή πιστοποιητικού για υπογραφή:" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, fuzzy, kde-format +#| msgid "Allow" +msgid "All" +msgstr "Επίτρεψε" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, fuzzy, kde-format +#| msgid "Certificates" +msgid "Only QES certificates" +msgstr "Πιστοποιητικά" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "Αιτία:" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, kde-format +msgid "optional" +msgstr "προαιρετικό" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "Θέση:" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, kde-format +msgid "Background:" +msgstr "Χρώμα φόντου:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "Επιλέξτε..." + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, fuzzy, kde-format +#| msgctxt "@label:listbox Config dialog, general page" +#| msgid "Use custom background color:" +msgid "Recent backgrounds:" +msgstr "Χρήση προσαρμοσμένου χρώματος φόντου:" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

No annotations

To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
" +msgstr "" +"

Χωρίς σημειώσεις

Για τη δημιουργία νέων σημειώσεων " +"πιέστε το F6 ή επιλέξτε Εργαλεία -> Σημειώσεις από το μενού.
" + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "Ομαδοποίηση ανά σελίδα" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "Ομαδοποίηση ανά συγγραφέα" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "Εμφάνιση σημειώσεων για την τρέχουσα σελίδα μόνο" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "επέκταση όλων των αντικειμένων" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "Σύμπτυξη όλων των αντικειμένων" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "Ιδιότητες" + +#: part/signaturepartutils.cpp:180 +#, kde-format +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Εικόνες (%1)" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "Επιλογή εικόνας φόντου" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "Ξέχασε εικόνα" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "Ξέχασε όλες τις εικόνες" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "" +"Εισαγωγή κωδικού πρόσβασης (αν υπάρχει) για να ξεκλειδώσει το πιστοποιητικό: " +"%1" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "Εισαγωγή κωδικού για το πιστοποιητικό" + +#: part/signaturepartutils.cpp:244 +#, kde-format +msgid "Enter document password" +msgstr "Εισάγετε κωδικό πρόσβασης εγγράφου" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "Αποθήκευση υπογεγραμμένου αρχείου ως" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "%1_signed.%2" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "Κατάσταση επιβεβαίωσης" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "Επιβεβαίωση υπογραφής:" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "Τροποποιήσεις εγγράφου:" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "Πρόσθετες πληροφορίες" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "Υπογραφή από:" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "Χρόνος υπογραφής:" + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "Έκδοση εγγράφων" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Αναθεώρηση εγγράφου %1 από %2" + +#: part/signaturepropertiesdialog.cpp:88 +#, fuzzy, kde-format +#| msgid "View Signed Version..." +msgid "View Signed Version…" +msgstr "Προβολή υπογεγραμμένης έκδοσης..." + +#: part/signaturepropertiesdialog.cpp:95 +#, fuzzy, kde-format +#| msgid "View Certificate..." +msgid "View Certificate…" +msgstr "Προβολή πιστοποιητικού..." + +#: part/signaturepropertiesdialog.cpp:97 +#, kde-format +msgid "View in Certificate Manager" +msgstr "Προβολή στον Διαχειριστή Πιστοποιητικών..." + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "Ο Διαχειριστής Πιστοποιητικών KDE (kleopatra) δεν βρέθηκε" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "Εμφάνιση μόνο σελίδων με σελιδοδείκτη" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "Αναπαραγωγή" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Παύση" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "Διακοπή" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "Τα βίντεο δεν υποστηρίζονται από αυτό το okular" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "Τα βίντεο δεν υποστηρίζονται από αυτό το Okular" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, fuzzy, kde-format +#| msgid "&Edit" +msgid "&Edit…" +msgstr "&Επεξεργασία" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "Α&φαίρεση" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "Μετακίνηση &πάνω" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "Μετακίνηση &κάτω" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "Προκαθορισμένο εργαλείο σχεδίασης #%1" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "" +"Υπάρχει ήδη εργαλείο με αυτό το όνομα. Θα γίνει χρήση του προκαθορισμένου" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "Διπλό όνομα" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "Σελίδα του εγγράφου προς εμφάνιση" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "Έναρξη του εγγράφου σε λειτουργία παρουσίασης" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "Έναρξη με το διάλογο εκτύπωσης" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "Έναρξη με το διάλογο εκτύπωσης και έξοδος μετά την εκτύπωση" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "Έλεγχος \"μοναδικής εκτέλεσης\"" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "Όχι ανύψωση παραθύρου" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "Εύρεση συμβολοσειράς στο κείμενο" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "Ορίζει την εντολή του εξωτερικού κειμενογράφου" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "Έγγραφα για άνοιγμα. Καθορίστε το '-' για ανάγνωση από το stdin." + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "" +"Σφάλμα: Αδυναμία ανοίγματος περισσότερων του ενός εγγράφων με τον διακόπτη --" +"switch" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" +"Σφάλμα: Αδυναμία ανοίγματος περισσότερων του ενός εγγράφων με τον διακόπτη --" +"presentation" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "" +"Σφάλμα: Αδυναμία ανοίγματος περισσότερων του ενός εγγράφων με τον διακόπτη --" +"print" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "" +"Σφάλμα: Αδυναμία ανοίγματος περισσότερων του ενός εγγράφων με τον διακόπτη --" +"page" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "" +"Σφάλμα: Αδυναμία ανοίγματος περισσότερων του ενός εγγράφων με τον διακόπτη --" +"find" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "Αδυναμία εύρεσης του συστατικού Okular: %1" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "Πλευρική στήλη" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" +"Υπάρχει ήδη μια μοναδική διεργασία Okular που εκτελείται. Η διεργασία αυτή " +"δεν θα είναι η μόνη." + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "Αδυναμία εύρεσης του συστατικού Okular." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"Κάντε κλικ για να ανοίξετε ένα αρχείο.\n" +"Κλικ και κράτημα για να ανοίξετε ένα πρόσφατο αρχείο" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"Κλικ για να ανοίξετε ένα αρχείο ή Κλικ και κράτημα για να " +"επιλέξετε ένα πρόσφατο αρχείο" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "Επόμενη καρτέλα" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "Προηγούμενη καρτέλα" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "Αναίρεση κλεισίματος καρτέλας" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "Κλείδωμα πλευρικής στήλης" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "Όλα τα αρχεία (*)" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "Όλα τα υποστηριζόμενα αρχεία (%1)" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "Άνοιγμα εγγράφου" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "Επιβεβαίωση κλεισίματος" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "Κλείσιμο καρτελών" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "Προτίθεσθε να κλείσετε %1 καρτέλες. Σίγουρα θέλετε να συνεχίσετε;" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "Να προειδοποιούμαι όταν επιχειρώ να κλείσω πολλές καρτέλες" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "Αντιγραφή διαδρομής" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "Άν&οιγμα περιλαμβανόμενου φακέλου" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "Αγνόηση αυτού του αντικειμένου" + +#: shell/welcomescreen.cpp:137 +#, kde-format +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "Δεν υπάρχουν πρόσφατα έγγραφα" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "Καλωσορίσατε στο Okular" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Άνοιγμα εγγράφου..." + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, kde-format +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Πρόσφατα έγγραφα" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "Να ξεχαστούν όλα" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "Απόκρυψη οθόνης υποδοχής" + +#~ msgid "Geometry with Comment" +#~ msgstr "Γεωμετρία με σχόλιο" + +#~ msgid "Geometry" +#~ msgstr "Γεωμετρία" + +#~ msgid "Modified: %1" +#~ msgstr "Τροποποιήθηκε: %1" + +#~ msgid "Find..." +#~ msgstr "Αναζήτηση..." + +#~ msgid "Go To Page..." +#~ msgstr "Μετάβαση στη σελίδα..." + +#~ msgid "Play movie..." +#~ msgstr "Αναπαραγωγή ταινίας..." + +#~ msgid "Search..." +#~ msgstr "Αναζήτηση..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "&Αποθήκευση ως..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "Π&ροβολή..." + +#~ msgid "&Sign..." +#~ msgstr "Υπόγραψε..." + +#~ msgid "Configure Viewer..." +#~ msgstr "Διαμόρφωση προβολέα..." + +#~ msgid "Configure Viewer Backends..." +#~ msgstr "Διαμόρφωση συστημάτων υποστήριξης προβολέα..." + +#~ msgid "Configure Backends..." +#~ msgstr "Διαμόρφωση συστημάτων υποστήριξης..." + +#~ msgid "&Add..." +#~ msgstr "&Προσθήκη..." + +#~ msgid "&Edit..." +#~ msgstr "&Επεξεργασία" + +#~ msgctxt "%1 is a file path" +#~ msgid "" +#~ "Could not sign. Invalid certificate password or could not write to '%1'" +#~ msgstr "" +#~ "Αδυναμία υπογραφής. Μη έγκυρος κωδικός πιστοποιητικού ή αδυναμία εγγραφής " +#~ "στο '%1'" + +#, fuzzy +#~| msgid "" +#~| "All your signing certificates are either not valid yet or are past their " +#~| "validity date." +#~ msgid "All your signing certificates are invalid" +#~ msgstr "" +#~ "Όλα τα πιστοποιητικά σας ή δεν έχουν ακόμη επικυρωθεί ή έχουν λήξει." + +#, fuzzy +#~| msgctxt "Unknown author" +#~| msgid "Unknown" +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "Άγνωστο" + +#, fuzzy +#~| msgid "Digital Signature" +#~ msgctxt "Signature type" +#~ msgid "Unsigned signature" +#~ msgstr "Ψηφιακή υπογραφή" + +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "Spinbox prefix: Advance automatically: every n seconds" +#~ msgid "every " +#~ msgstr "κάθε " + +#~ msgctxt "Suffix for the pen width, eg '10 px'" +#~ msgid " px" +#~ msgstr " px" + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " %" + +#, fuzzy +#~| msgctxt "%1 is a file path" +#~| msgid "" +#~| "Could not sign. Invalid certificate password or could not write to '%1'" +#~ msgctxt "%1 is a file path" +#~ msgid "Could not sign. Could not write to '%1'" +#~ msgstr "" +#~ "Αδυναμία υπογραφής. Μη έγκυρος κωδικός πιστοποιητικού ή αδυναμία εγγραφής " +#~ "στο '%1'" + +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "Προσαρμογή στο πλάτος" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "Προσαρμογή στη σελίδα" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Auto Fit" +#~ msgstr "Αυτόματη προσαρμογή" + +#~ msgid "*|All Files" +#~ msgstr "*|Όλα τα αρχεία" + +#~ msgid "Missing alert type" +#~ msgstr "Λείπει ο τύπος ειδοποίησης" + +#~ msgid "" +#~ "The file '%1' has been modified by another program, which means it can no " +#~ "longer be saved." +#~ msgstr "" +#~ "Το αρχείο '%1' έχει τροποποιηθεί από άλλο πρόγραμμα, το οποίο σημαίνει " +#~ "ότι δεν είναι πλέον δυντό να αποθηκευθεί." + +#, fuzzy +#~| msgid "Show S&idebar" +#~ msgid "Show Sidebar" +#~ msgstr "Εμφάνιση πλευρ&ικής γραμμής" + +#~ msgctxt "@info" +#~ msgid "" +#~ "experimental feature.Stamps inserted in PDF documents are " +#~ "not visible in PDF readers other than Okular." +#~ msgstr "" +#~ "πειραματική λειτουργία.Οι σφραγίδες που εισάγονται σε " +#~ "έγγραφα PDF δεν είναι ορατές σε άλλους αναγνώστες PDF εκτός του Okular." + +#~ msgctxt "@info" +#~ msgid "" +#~ "Stamps inserted in PDF documents are not visible in PDF readers other " +#~ "than Okular" +#~ msgstr "" +#~ "Οι σφραγίδες που εισάγονται σε έγγραφα PDF δεν είναι ορατές σε άλλους " +#~ "ναγνώστες PDF εκτός του Okular" + +#~ msgctxt "@title:window" +#~ msgid "Experimental feature" +#~ msgstr "Πειραματική λειτουργία" + +#~ msgid "Remove Bookmarks" +#~ msgstr "Αφαίρεση των σελιδοδεικτών" + +#, fuzzy +#~| msgid "&Annotations" +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "&Σημειώσεις" + +#, fuzzy +#~| msgid "Highlight" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "Τονισμός" + +#, fuzzy +#~| msgid "Underline" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Underline" +#~ msgstr "Υπογράμμιση" + +#, fuzzy +#~| msgid "Squiggle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Squiggle" +#~ msgstr "Μουντζαλιά" + +#, fuzzy +#~| msgid "Strike Out" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Strike Out" +#~ msgstr "Επιγράμμιση" + +#, fuzzy +#~| msgid "Insert Text" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "Εισαγωγή κειμένου" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "Εμβόλιμη σημείωση" + +#, fuzzy +#~| msgctxt "@action:intoolbar Annotation tool" +#~| msgid "Popup Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "Αναδυόμενη σημείωση" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a freehand line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Freehand Line" +#~ msgstr "Σχεδιασμός ελεύθερης γραμμής" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a straight line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Straight line" +#~ msgstr "Σχεδίαση ευθείας γραμμής" + +#, fuzzy +#~| msgid "Arrow" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Arrow" +#~ msgstr "Βέλος" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a rectangle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Rectangle" +#~ msgstr "Σχεδίαση παραλληλόγραμμου" + +#, fuzzy +#~| msgid "Cyan Ellipse" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Ellipse" +#~ msgstr "Κυανή έλλειψη" + +#, fuzzy +#~| msgid "Polygon" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Polygon" +#~ msgstr "Πολύγωνο" + +#, fuzzy +#~| msgid "Highlighter" +#~ msgid "Highlight in Yellow" +#~ msgstr "Τονισμός" + +#, fuzzy +#~| msgid "Highlight with Comment" +#~ msgid "Highlight in Green" +#~ msgstr "Τονισμός με σχόλιο" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgid "Insert Inline Note" +#~ msgstr "Εμβόλιμη σημείωση" + +#, fuzzy +#~| msgctxt "@action:intoolbar Annotation tool" +#~| msgid "Popup Note" +#~ msgid "Insert Popup Note" +#~ msgstr "Αναδυόμενη σημείωση" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "Επιλέξτε κείμενο" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "Επιλέξτε κείμενο" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "Επιλέξτε κείμενο" + +#, fuzzy +#~| msgid "&Magnifier" +#~ msgctxt "verb" +#~ msgid "&Magnify" +#~ msgstr "&Μεγεθυντής" + +#~ msgid "Bookmark annotation" +#~ msgstr "Προσθήκη σημείωσης στους σελιδοδείκτες" + +#~ msgid "&Toggle Change Colors" +#~ msgstr "Ε&νεργοποίηση/απενεργοποίηση της επεξεργασίας των χρωμάτων" + +#, fuzzy +#~| msgid "Enable transitions" +#~ msgctxt "@option:check Config dialog, presentation page, transitions" +#~ msgid "Enable transitions" +#~ msgstr "Ενεργοποίηση μεταβάσεων" + +#, fuzzy +#~| msgid "Advance every:" +#~ msgctxt "@label:spinbox Config dialog, presentation page" +#~ msgid "Advance every:" +#~ msgstr "Προώθηση κάθε:" + +#, fuzzy +#~| msgid "Use custom background color" +#~ msgctxt "@label:listbox Config dialog, general page" +#~ msgid "Custom background color:" +#~ msgstr "Χρήση προσαρμοσμένου χρώματος φόντου" + +#~ msgid "Draw border around &Images" +#~ msgstr "Εμφάνιση πλαισίου γύρω από τις ε&ικόνες" + +#~ msgid "Speech" +#~ msgstr "Ομιλία" + +#~ msgid "Engine" +#~ msgstr "Μηχανή" + +#~ msgid "Identity" +#~ msgstr "Ταυτότητα" + +#~ msgid "Au&thor:" +#~ msgstr "Συγγ&ραφέας:" + +#~ msgid "View Options" +#~ msgstr "Επιλογές προβολής" + +#~ msgctxt "@info:whatsthis" +#~ msgid "" +#~ "Defines the default zoom mode for files which were never opened before.\n" +#~ "For files which were opened before the previous zoom is applied." +#~ msgstr "" +#~ "Καθορίζει την προκαθορισμένη λειτουργία εστίασης για αρχεία που δεν έχουν " +#~ "ανοιχτεί ξανά.\n" +#~ "Για αρχεία που έχουν ανοιχτεί ξανά εφαρμόζεται η προηγούμενη εστίαση." + +#~ msgid "Navigation" +#~ msgstr "Πλοήγηση" + +#~ msgid "Placement" +#~ msgstr "Τοποθέτηση" + +#~ msgid "Screen:" +#~ msgstr "Οθόνη:" + +#~ msgid "Drawing Tool Configuration" +#~ msgstr "Διαμόρφωση εργαλείου σχεδίασης" + +#~ msgid "&Get Books From Internet..." +#~ msgstr "&Λήψη βιβλίων από το διαδίκτυο..." + +#~ msgid "Reviews" +#~ msgstr "Επιθεωρήσεις" + +#~ msgctxt "@item:inlistbox Color name" +#~ msgid "%1" +#~ msgstr "%1" + +#~ msgid "Hide Forms" +#~ msgstr "Απόκρυψη φορμών" + +#~ msgid "&Review" +#~ msgstr "Επι&θεώρηση" + +#~ msgid "Annotations author" +#~ msgstr "Συγγραφέας σημειώσεων" + +#~ msgid "Please insert your name or initials:" +#~ msgstr "Παρακαλώ εισάγετε το όνομά ή τα αρχικά σας:" + +#~ msgid "Show &Navigation Panel" +#~ msgstr "Εμφάνιση πίνακα &Πλοήγησης" + +#~ msgid "Show Text" +#~ msgstr "Εμφάνιση κειμένου" + +#~ msgid "Small Icons" +#~ msgstr "Μικρά εικονίδια" + +#~ msgid "Large Icons" +#~ msgstr "Μεγάλα εικονίδια" + +#~ msgid "" +#~ "Click to use the current selection tool\n" +#~ "Click on the arrow to choose another selection tool" +#~ msgstr "" +#~ "Κλικ για χρήση του τρέχοντος εργαλείου επιλογής\n" +#~ "Κλικ στο βέλος για επιλογή άλλου εργαλείου επιλογής" + +#~ msgid "Created: %1" +#~ msgstr "Δημιουργήθηκε: %1" + +#~ msgid "Style" +#~ msgstr "Στυλ" + +#~ msgid "&Size:" +#~ msgstr "&Μέγεθος:" + +#~ msgid "Inner color:" +#~ msgstr "Εσωτερικό χρώμα:" + +#~ msgid "Name: %1" +#~ msgstr "Όνομα: %1" + +#~ msgid "Size: %1" +#~ msgstr "Μέγεθος: %1" + +#~ msgid "&Browse Tool" +#~ msgstr "Εργαλείο &περιήγησης" + +#~ msgid "&Zoom Tool" +#~ msgstr "Εργαλείο &μεγέθυνσης" + +#~ msgctxt "Zoom Tool" +#~ msgid "Zoom" +#~ msgstr "Εστίαση" + +#~ msgctxt "Select Tool" +#~ msgid "Selection" +#~ msgstr "Επιλογή" + +#~ msgid "&Text Selection Tool" +#~ msgstr "Εργαλείο επιλογής &κειμένου" + +#~ msgid "T&able Selection Tool" +#~ msgstr "Εργαλείο επιλογής &πίνακα" + +#, fuzzy +#~| msgctxt "Symbol for caret annotations" +#~| msgid "None" +#~ msgid " None" +#~ msgstr "Κανένα" + +#~ msgid "" +#~ "The document requested to be launched in presentation mode.\n" +#~ "Do you want to allow it?" +#~ msgstr "" +#~ "Το έγγραφο θα ανοίξει σε λειτουργία παρουσίασης γιατί αυτό ζητήθηκε από " +#~ "το αρχείο.\n" +#~ "Επιθυμείτε κάτι τέτοιο;" + +#~ msgid "Presentation Mode" +#~ msgstr "Λειτουργία παρουσίασης" + +#~ msgid "Allow the presentation mode" +#~ msgstr "Επίτρεψε τη λειτουργία παρουσίασης" + +#~ msgid "Do Not Allow" +#~ msgstr "Να μην επιτραπεί" + +#~ msgid "Do not allow the presentation mode" +#~ msgstr "Να μην επιτραπεί η λειτουργία παρουσίασης" + +#~ msgid "" +#~ "Your annotation changes will not be saved automatically. Use File -> Save " +#~ "As...\n" +#~ "or your changes will be lost once the document is closed" +#~ msgstr "" +#~ "Οι αλλαγές στις σημειώσεις σας δεν θα αποθηκευτούν αυτόματα. " +#~ "Χρησιμοποιήστε Αρχείο -> Αποθήκευση ως...\n" +#~ "διαφορετικά οι αλλαγές σας θα χαθούν όταν κλείσει το έγγραφο" + +#~ msgid "" +#~ "Your annotations are saved internally by Okular.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" +#~ msgstr "" +#~ "Οι σημειώσεις σας αποθηκεύτηκαν εσωτερικά από το Okular.\n" +#~ "Μπορείτε να εξαγάγετε το σχολιασμένο έγγραφο από το Αρχείο -> Εξαγωγή ως -" +#~ "> Αρχειοθήκη εγγράφων" + +#~ msgid "Save &Copy As..." +#~ msgstr "Αποθήκευση αντι&γράφου ως..." + +#~ msgid "" +#~ "Your annotations will not be exported.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" +#~ msgstr "" +#~ "Οι σημειώσεις σας δε θα εξαχθούν.\n" +#~ "Μπορείτε να εξάγετε το σχολιασμένο έγγραφο από το Αρχείο -> Εξαγωγή ως -> " +#~ "Αρχειοθήκη εγγράφων" + +#~ msgid "" +#~ "End of document reached.\n" +#~ "Continue from the beginning?" +#~ msgstr "" +#~ "Φτάσαμε στο τέλος του εγγράφου.\n" +#~ "Συνέχεια από την αρχή;" + +#~ msgid "" +#~ "Beginning of document reached.\n" +#~ "Continue from the bottom?" +#~ msgstr "" +#~ "Έφτασε η αρχή του εγγράφου.\n" +#~ "Συνέχεια από το τέλος;" + +#~ msgid "Current maintainer" +#~ msgstr "Τρέχων συντηρητής" + +#~ msgid " sec." +#~ msgstr " δευτ." + +#~ msgid "Pencil color:" +#~ msgstr "Χρώμα μολυβιού:" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A0" +#~ msgstr "τοπίο DIN/ISO A0" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A0" +#~ msgstr "πορτρέτο DIN/ISO A0" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A1" +#~ msgstr "τοπίο DIN/ISO A1" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A1" +#~ msgstr "πορτρέτο DIN/ISO A1" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A2" +#~ msgstr "τοπίο DIN/ISO A2" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A2" +#~ msgstr "πορτρέτο DIN/ISO A2" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A3" +#~ msgstr "τοπίο DIN/ISO A3" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A3" +#~ msgstr "πορτρέτο DIN/ISO A3" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A4" +#~ msgstr "τοπίο DIN/ISO A4" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A4" +#~ msgstr "πορτρέτο DIN/ISO A4" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A5" +#~ msgstr "τοπίο DIN/ISO A5" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A5" +#~ msgstr "πορτρέτο DIN/ISO A5" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A6" +#~ msgstr "τοπίο DIN/ISO A6" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A6" +#~ msgstr "πορτρέτο DIN/ISO A6" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A7" +#~ msgstr "τοπίο DIN/ISO A7" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A7" +#~ msgstr "πορτρέτο DIN/ISO A7" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A8" +#~ msgstr "τοπίο DIN/ISO A8" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A8" +#~ msgstr "πορτρέτο DIN/ISO A8" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A9" +#~ msgstr "τοπίο DIN/ISO A9" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A9" +#~ msgstr "πορτρέτο DIN/ISO A9" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B0" +#~ msgstr "τοπίο DIN/ISO B0" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B0" +#~ msgstr "πορτρέτο DIN/ISO B0" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B1" +#~ msgstr "τοπίο DIN/ISO B1" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B1" +#~ msgstr "πορτρέτο DIN/ISO B1" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B2" +#~ msgstr "τοπίο DIN/ISO B2" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B2" +#~ msgstr "πορτρέτο DIN/ISO B2" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B3" +#~ msgstr "τοπίο DIN/ISO B3" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B3" +#~ msgstr "πορτρέτο DIN/ISO B3" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B4" +#~ msgstr "τοπίο DIN/ISO B4" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B4" +#~ msgstr "πορτρέτο DIN/ISO B4" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B5" +#~ msgstr "τοπίο DIN/ISO B5" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B5" +#~ msgstr "πορτρέτο DIN/ISO B5" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B6" +#~ msgstr "τοπίο DIN/ISO B6" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B6" +#~ msgstr "πορτρέτο DIN/ISO B6" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B7" +#~ msgstr "τοπίο DIN/ISO B7" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B7" +#~ msgstr "πορτρέτο DIN/ISO B7" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B8" +#~ msgstr "τοπίο DIN/ISO B8" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B8" +#~ msgstr "πορτρέτο DIN/ISO B8" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B9" +#~ msgstr "τοπίο DIN/ISO B9" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B9" +#~ msgstr "πορτρέτο DIN/ISO B9" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B10" +#~ msgstr "τοπίο DIN/ISO B10" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B10" +#~ msgstr "πορτρέτο DIN/ISO B10" + +#~ msgctxt "paper size" +#~ msgid "landscape letter" +#~ msgstr "τοπίο letter" + +#~ msgctxt "paper size" +#~ msgid "portrait letter" +#~ msgstr "πορτρέτο letter" + +#~ msgctxt "paper size" +#~ msgid "landscape legal" +#~ msgstr "τοπίο legal" + +#~ msgctxt "paper size" +#~ msgid "portrait legal" +#~ msgstr "πορτρέτο legal" + +#~ msgctxt "paper size" +#~ msgid "landscape executive" +#~ msgstr "τοπίο executive" + +#~ msgctxt "paper size" +#~ msgid "portrait executive" +#~ msgstr "πορτρέτο executive" + +#~ msgctxt "paper size" +#~ msgid "landscape Comm10E" +#~ msgstr "τοπίο Comm10E" + +#~ msgctxt "paper size" +#~ msgid "portrait Comm10E" +#~ msgstr "πορτρέτο Comm10E" + +#~ msgctxt "paper size" +#~ msgid "landscape DLE" +#~ msgstr "τοπίο DLE" + +#~ msgctxt "paper size" +#~ msgid "portrait DLE" +#~ msgstr "πορτρέτο DLE" + +#~ msgctxt "paper size" +#~ msgid "landscape folio" +#~ msgstr "τοπίο folio" + +#~ msgctxt "paper size" +#~ msgid "portrait folio" +#~ msgstr "πορτρέτο folio" + +#~ msgctxt "paper size" +#~ msgid "ledger" +#~ msgstr "καθολικό" + +#~ msgctxt "paper size" +#~ msgid "tabloid" +#~ msgstr "tabloid" + +#~ msgctxt "paper size" +#~ msgid "unknown landscape paper size" +#~ msgstr "τοπίο άγνωστο μέγεθος χαρτιού" + +#~ msgctxt "paper size" +#~ msgid "unknown portrait paper size" +#~ msgstr "πορτρέτο άγνωστο μέγεθος χαρτιού" + +#~ msgid "Toggle Drawing Mode" +#~ msgstr "Εναλλαγή λειτουργίας σχεδίασης" + +#~ msgid "Starting Jovie Text-to-Speech service Failed: %1" +#~ msgstr "Η εκκίνηση της υπηρεσίας Jovie Κείμενο-σε-ομιλία απέτυχε: %1" + +#~ msgid "Search Columns" +#~ msgstr "Στήλες αναζήτησης" + +#~ msgid "All Visible Columns" +#~ msgstr "Όλες τις ορατές στήλες" + +#~ msgid "No document opened." +#~ msgstr "Δεν ανοίχτηκε κανένα έγγραφο." + +#~ msgid "Can't open more than one document in the unique Okular instance." +#~ msgstr "" +#~ "Αδυναμία ανοίγματος περισσότερων του ενός εγγράφων στη μοναδική διεργασία " +#~ "Okular." + +#~ msgid "No matches found for '%1'." +#~ msgstr "Δε βρέθηκαν ταιριάσματα για το '%1'." + +#~ msgid "Search in progress..." +#~ msgstr "Αναζήτηση σε εξέλιξη..." + +#~ msgid "Searching for %1" +#~ msgstr "Αναζήτηση για %1" + +#~ msgid "Identity Settings" +#~ msgstr "Ρυθμίσεις ταυτότητας" + +#~ msgid "Highlight Properties" +#~ msgstr "Ιδιότητες τονισμού" + +#~ msgid "Ink Properties" +#~ msgstr "Ιδιότητες μελανιού" + +#~ msgctxt "Annotation tool" +#~ msgid "Text Annotation" +#~ msgstr "Σημείωση κειμένου" + +#~ msgctxt "Annotation tool" +#~ msgid "Green Ink" +#~ msgstr "Πράσινο μελάνι" + +#~ msgctxt "Annotation tool" +#~ msgid "Yellow Highlight" +#~ msgstr "Κίτρινος τονισμός" + +#~ msgctxt "Annotation tool" +#~ msgid "Straight Yellow Line" +#~ msgstr "Ευθεία κίτρινη γραμμή" + +#~ msgid "Black Underlining" +#~ msgstr "Μαύρη υπογράμμιση" + +#~ msgctxt "Annotation tool" +#~ msgid "Underline the text with a black line" +#~ msgstr "Υπογράμμιση κειμένου με μαύρη γραμμή" + +#~ msgctxt "Annotation tool" +#~ msgid "A cyan ellipse" +#~ msgstr "Μια κυανή έλλειψη" + +#~ msgid "Ink" +#~ msgstr "Μελάνι" + +#~ msgctxt "paper size" +#~ msgid "τοπίο DIN/ISO A1" +#~ msgstr "τοπίο DIN/ISO A1" + +#~ msgctxt "paper size" +#~ msgid "πορτρέτο DIN/ISO A1" +#~ msgstr "πορτρέτο DIN/ISO A1" + +#~ msgctxt "paper size" +#~ msgid "τοπίο DIN/ISO A2" +#~ msgstr "τοπίο DIN/ISO A2" + +#~ msgctxt "paper size" +#~ msgid "πορτρέτο DIN/ISO A2" +#~ msgstr "πορτρέτο DIN/ISO A2" + +#~ msgctxt "paper size" +#~ msgid "τοπίο DIN/ISO A3" +#~ msgstr "τοπίο DIN/ISO A3" + +#~ msgctxt "paper size" +#~ msgid "πορτρέτο DIN/ISO A3" +#~ msgstr "πορτρέτο DIN/ISO A3" + +#~ msgctxt "paper size" +#~ msgid "τοπίο DIN/ISO A4" +#~ msgstr "τοπίο DIN/ISO A4" + +#~ msgctxt "paper size" +#~ msgid "πορτρέτο DIN/ISO A4" +#~ msgstr "πορτρέτο DIN/ISO A4" + +#~ msgctxt "paper size" +#~ msgid "τοπίο DIN/ISO A5" +#~ msgstr "τοπίο DIN/ISO A5" + +#~ msgctxt "paper size" +#~ msgid "πορτρέτο DIN/ISO A5" +#~ msgstr "πορτρέτο DIN/ISO A5" + +#~ msgctxt "paper size" +#~ msgid "τοπίο DIN/ISO A6" +#~ msgstr "τοπίο DIN/ISO A6" + +#~ msgctxt "paper size" +#~ msgid "πορτρέτο DIN/ISO A6" +#~ msgstr "πορτρέτο DIN/ISO A6" + +#~ msgctxt "paper size" +#~ msgid "τοπίο DIN/ISO A7" +#~ msgstr "τοπίο DIN/ISO A7" + +#~ msgctxt "paper size" +#~ msgid "πορτρέτο DIN/ISO A7" +#~ msgstr "πορτρέτο DIN/ISO A7" + +#~ msgctxt "paper size" +#~ msgid "τοπίο DIN/ISO A8" +#~ msgstr "τοπίο DIN/ISO A8" + +#~ msgctxt "paper size" +#~ msgid "πορτρέτο DIN/ISO A8" +#~ msgstr "πορτρέτο DIN/ISO A8" + +#~ msgctxt "paper size" +#~ msgid "τοπίο DIN/ISO A9" +#~ msgstr "τοπίο DIN/ISO A9" + +#~ msgctxt "paper size" +#~ msgid "πορτρέτο DIN/ISO A9" +#~ msgstr "πορτρέτο DIN/ISO A9" + +#~ msgctxt "paper size" +#~ msgid "τοπίο DIN/ISO B0" +#~ msgstr "τοπίο DIN/ISO B0" + +#~ msgctxt "paper size" +#~ msgid "πορτρέτο DIN/ISO B0" +#~ msgstr "πορτρέτο DIN/ISO B0" + +#~ msgctxt "paper size" +#~ msgid "τοπίο DIN/ISO B1" +#~ msgstr "τοπίο DIN/ISO B1" + +#~ msgctxt "paper size" +#~ msgid "πορτρέτο DIN/ISO B1" +#~ msgstr "πορτρέτο DIN/ISO B1" + +#~ msgctxt "paper size" +#~ msgid "τοπίο DIN/ISO B2" +#~ msgstr "τοπίο DIN/ISO B2" + +#~ msgctxt "paper size" +#~ msgid "πορτρέτο DIN/ISO B2" +#~ msgstr "πορτρέτο DIN/ISO B2" + +#~ msgctxt "paper size" +#~ msgid "τοπίο DIN/ISO B3" +#~ msgstr "τοπίο DIN/ISO B3" + +#~ msgctxt "paper size" +#~ msgid "πορτρέτο DIN/ISO B3" +#~ msgstr "πορτρέτο DIN/ISO B3" + +#~ msgctxt "paper size" +#~ msgid "τοπίο DIN/ISO B4" +#~ msgstr "τοπίο DIN/ISO B4" + +#~ msgctxt "paper size" +#~ msgid "πορτρέτο DIN/ISO B4" +#~ msgstr "πορτρέτο DIN/ISO B4" + +#~ msgctxt "paper size" +#~ msgid "τοπίο DIN/ISO B5" +#~ msgstr "τοπίο DIN/ISO B5" + +#~ msgctxt "paper size" +#~ msgid "πορτρέτο DIN/ISO B5" +#~ msgstr "πορτρέτο DIN/ISO B5" + +#~ msgctxt "paper size" +#~ msgid "τοπίο DIN/ISO B6" +#~ msgstr "τοπίο DIN/ISO B6" + +#~ msgctxt "paper size" +#~ msgid "πορτρέτο DIN/ISO B6" +#~ msgstr "πορτρέτο DIN/ISO B6" + +#~ msgctxt "paper size" +#~ msgid "τοπίο DIN/ISO B7" +#~ msgstr "τοπίο DIN/ISO B7" + +#~ msgctxt "paper size" +#~ msgid "πορτρέτο DIN/ISO B7" +#~ msgstr "πορτρέτο DIN/ISO B7" + +#~ msgctxt "paper size" +#~ msgid "τοπίο DIN/ISO B8" +#~ msgstr "τοπίο DIN/ISO B8" + +#~ msgctxt "paper size" +#~ msgid "πορτρέτο DIN/ISO B8" +#~ msgstr "πορτρέτο DIN/ISO B8" + +#~ msgctxt "paper size" +#~ msgid "τοπίο DIN/ISO B9" +#~ msgstr "τοπίο DIN/ISO B9" + +#~ msgctxt "paper size" +#~ msgid "πορτρέτο DIN/ISO B9" +#~ msgstr "πορτρέτο DIN/ISO B9" + +#~ msgctxt "paper size" +#~ msgid "τοπίο DIN/ISO B10" +#~ msgstr "τοπίο DIN/ISO B10" + +#~ msgctxt "paper size" +#~ msgid "πορτρέτο DIN/ISO B10" +#~ msgstr "πορτρέτο DIN/ISO B10" + +#~ msgctxt "paper size" +#~ msgid "τοπίο letter" +#~ msgstr "τοπίο letter" + +#~ msgctxt "paper size" +#~ msgid "πορτρέτο letter" +#~ msgstr "πορτρέτο letter" + +#~ msgctxt "paper size" +#~ msgid "τοπίο legal" +#~ msgstr "τοπίο legal" + +#~ msgctxt "paper size" +#~ msgid "πορτρέτο legal" +#~ msgstr "πορτρέτο legal" + +#~ msgctxt "paper size" +#~ msgid "τοπίο executive" +#~ msgstr "τοπίο executive" + +#~ msgctxt "paper size" +#~ msgid "πορτρέτο executive" +#~ msgstr "πορτρέτο executive" + +#~ msgctxt "paper size" +#~ msgid "τοπίο C5E" +#~ msgstr "τοπίο C5E" + +#~ msgctxt "paper size" +#~ msgid "πορτρέτο C5E" +#~ msgstr "πορτρέτο C5E" + +#~ msgctxt "paper size" +#~ msgid "τοπίο Comm10E" +#~ msgstr "τοπίο Comm10E" + +#~ msgctxt "paper size" +#~ msgid "πορτρέτο Comm10E" +#~ msgstr "πορτρέτο Comm10E" + +#~ msgctxt "paper size" +#~ msgid "τοπίο DLE" +#~ msgstr "τοπίο DLE" + +#~ msgctxt "paper size" +#~ msgid "πορτρέτο DLE" +#~ msgstr "πορτρέτο DLE" + +#~ msgctxt "paper size" +#~ msgid "τοπίο folio" +#~ msgstr "τοπίο folio" + +#~ msgctxt "paper size" +#~ msgid "πορτρέτο folio" +#~ msgstr "πορτρέτο folio" + +#~ msgid "Reset Forms" +#~ msgstr "Επαναφορά φορμών" + +#~ msgid "Moves to the first page of the document" +#~ msgstr "Μετακινείται στην πρώτη σελίδα του εγγράφου" + +#~ msgid "You must set this name:" +#~ msgstr "Πρέπει να ορίσετε αυτό το όνομα:" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "%1 is \"Title\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "%1 is \"File Path\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#~ msgctxt "@action:button" +#~ msgid "&Overwrite" +#~ msgstr "&Αντικατάσταση" + +#~ msgid "Pages:" +#~ msgstr "Σελίδες:" diff --git a/po/el/okular_comicbook.po b/po/el/okular_comicbook.po new file mode 100644 index 0000000..96c369f --- /dev/null +++ b/po/el/okular_comicbook.po @@ -0,0 +1,62 @@ +# translation of okular_comicbook.po to greek +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Spiros Georgaras , 2008. +# Toussis Manolis , 2008. +# Stelios , 2019. +msgid "" +msgstr "" +"Project-Id-Version: okular_comicbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-08-06 14:03+0300\n" +"Last-Translator: Stelios \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 18.12.3\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Σπύρος Γεωργαράς, Τούσης Μανώλης" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sng@hellug.gr, manolis@koppermind.homelinux.org" + +#: document.cpp:97 +#, kde-format +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "" +"Αδυναμία ανοίγματος εγγράφου, καθώς δε βρέθηκε το unrar ή το unarchiver." + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "" +"Η έκδοση του unrar στο σύστημά σας δεν είναι κατάλληλη για το άνοιγμα των " +"βιβλίων comic." + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "Άγνωστη μορφή ComicBook." + +#~ msgid "ComicBook Backend" +#~ msgstr "Σύστημα υποστήριξης ComicBook" + +#~ msgid "A renderer for various comic book formats" +#~ msgstr "Αποτύπωση διαφόρων μορφών βιβλίων κόμικ" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/el/okular_djvu.po b/po/el/okular_djvu.po new file mode 100644 index 0000000..3c5bfad --- /dev/null +++ b/po/el/okular_djvu.po @@ -0,0 +1,140 @@ +# translation of okular_djvu.po to Greek +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Spiros Georgaras , 2007. +# Toussis Manolis , 2007, 2008. +msgid "" +msgstr "" +"Project-Id-Version: okular_djvu\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-09-08 11:03+0300\n" +"Last-Translator: Toussis Manolis \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 0.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Σπύρος Γεωργαράς, Τούσης Μανώλης" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sng@hellug.gr, manolis@koppermind.homelinux.org" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "Επεξεργαστής" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "Εκδότης" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "Τόμος" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "Τύπος εγγράφου" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "Άγνωστο" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "Αρχεία συστατικού" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "Άγνωστο" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "Μονή σελίδα" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "Δεμένο" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "Έμμεσο" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "Δεμένο (παλιό)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "Με ευρετήριο (παλιό)" + +#~ msgid "DjVu Backend" +#~ msgstr "Σύστημα υποστήριξης του DjVu" + +#~ msgid "DjVu backend based on DjVuLibre." +#~ msgstr "Σύστημα υποστήριξης DjVu βασισμένο στο DjVuLibre." + +#~ msgid "© 2006-2008 Pino Toscano" +#~ msgstr "© 2006-2008 Pino Toscano" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgctxt "Unknown title" +#~ msgid "Unknown" +#~ msgstr "Άγνωστο" + +#~ msgctxt "Unknown author" +#~ msgid "Unknown" +#~ msgstr "Άγνωστο" + +#~ msgctxt "Unknown editor" +#~ msgid "Unknown" +#~ msgstr "Άγνωστο" + +#~ msgctxt "Unknown publisher" +#~ msgid "Unknown" +#~ msgstr "Άγνωστο" + +#~ msgctxt "Unknown creation date" +#~ msgid "Unknown" +#~ msgstr "Άγνωστο" + +#~ msgctxt "Unknown volume information" +#~ msgid "Unknown" +#~ msgstr "Άγνωστο" + +#~ msgctxt "Unknown type of document" +#~ msgid "Unknown" +#~ msgstr "Άγνωστο" + +#~ msgid "A DjVu backend" +#~ msgstr "Ένα σύστημα υποστήριξης του DjVu" diff --git a/po/el/okular_dvi.po b/po/el/okular_dvi.po new file mode 100644 index 0000000..68c3dd1 --- /dev/null +++ b/po/el/okular_dvi.po @@ -0,0 +1,812 @@ +# translation of okular_dvi.po to greek +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Spiros Georgaras , 2007. +# Toussis Manolis , 2007, 2008, 2009. +# Stelios <>, 2013. +# Dimitris Kardarakos , 2014. +# Dimitrios Glentadakis , 2016. +# SPDX-FileCopyrightText: 2024 Antonis Geralis +msgid "" +msgstr "" +"Project-Id-Version: okular_dvi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-09-19 17:11+0300\n" +"Last-Translator: Antonis Geralis \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 24.08.1\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Σπύρος Γεωργαράς" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sng@hellug.gr" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

" +msgstr "" +"

Το Okular δεν μπόρεσε να εντοπίσει το πρόγραμμα dvipdfm στον " +"υπολογιστή σας. Αυτό το πρόγραμμα είναι σημαντικό για τη λειτουργία της " +"εξαγωγής. Μπορείτε ωστόσο να μετατρέψετε ένα αρχείο DVI σε PDF " +"χρησιμοποιώντας την εκτύπωση του Okular, αλλά τα παραγόμενα έγγραφα ενώ θα " +"εκτυπώνονται μια χαρά θα είναι κατώτερης ποιότητας όταν προβάλλονται στο " +"Acrobat Reader. Ίσως να είναι χρήσιμη η αναβάθμιση σε πιο πρόσφατη έκδοση " +"της διανομής σας TeX η οποία θα περιλαμβάνει και το πρόγραμμα dvipdfm.

Συμβουλή για τους διαχειριστές του συστήματος: Το Okular " +"χρησιμοποιεί τη μεταβλητή περιβάλλοντος PATH για την αναζήτηση των " +"προγραμμάτων.

" + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Το εξωτερικό πρόγραμμα 'dvipdfm', το οποίο χρησιμοποιήθηκε κατά την " +"εξαγωγή του αρχείου, ανέφερε κάποιο σφάλμα. Ίσως θα πρέπει να δείτε το " +"διάλογο πληροφοριών του εγγράφου τον οποίο θα βρείτε στο " +"μενού αρχείο για μια ακριβή αναφορά του σφάλματος." + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" +"Αυτό το αρχείο DVI χρησιμοποιεί εξωτερικά αρχεία γραφικών που δεν είναι " +"σε μορφή PostScript, τα οποία και δεν μπορεί να διαχειριστεί το πρόγραμμα " +"dvips, το οποίο χρησιμοποιείται εσωτερικά από το Okular για " +"εκτύπωση ή εξαγωγή σε PostScript. Η λειτουργία που ζητήσατε δεν είναι " +"διαθέσιμη σε αυτή την έκδοση του Okular" + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

" +msgstr "" +"

Το Okular δεν μπόρεσε να εντοπίσει το πρόγραμμα dvips στον " +"υπολογιστή σας. Αυτό το πρόγραμμα είναι σημαντικό για τη λειτουργία της " +"εξαγωγής.

Συμβουλή για τους διαχειριστές του συστήματος: Το Okular " +"χρησιμοποιεί τη μεταβλητή περιβάλλοντος PATH για την αναζήτηση των " +"προγραμμάτων.

" + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Το εξωτερικό πρόγραμμα 'dvips', το οποίο χρησιμοποιήθηκε για την εξαγωγή " +"του αρχείου, ανέφερε ένα σφάλμα. Για μια ακριβή αναφορά του σφάλματος, θα " +"πρέπει να κοιτάξετε το διάλογο πληροφοριών του εγγράφου τον " +"οποίο θα βρείτε στο μενού Αρχείο." + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "Το αρχείο DVI δεν ξεκινάει με το προοίμιο." + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" +"Το αρχείο DVI περιέχει εσφαλμένη έκδοση εξόδου DVI για αυτό το πρόγραμμα. " +"Υπόδειξη: Αν χρησιμοποιείτε το σύστημα στοιχειοθέτησης Omega, θα πρέπει να " +"χρησιμοποιήσετε κάποιο ειδικό πρόγραμμα, όπως το oxdvi." + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "" +"Το αρχείο DVI είναι κατεστραμμένο. Το Okular δεν μπόρεσε να εντοπίσει τον " +"επίλογο." + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "Ο επίλογος δεν αρχίζει με την εντολή POST." + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "Ο επίλογος περιέχει μία εντολή διαφορετική της FNTDEF." + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "Η σελίδα %1 δεν ξεκινά με την εντολή BOP." + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

PATH: %2

" +msgstr "" +"

Το εξωτερικό πρόγραμμα pdf2ps δεν μπόρεσε να " +"εκκινήσει. Επομένως, το αρχείο PDF %1 δεν μπορεί να μετατραπεί σε " +"PostScript. Μερικά γραφικά στοιχεία του εγγράφου δε θα εμφανιστούν.

Πιθανή αιτία: Το πρόγραμμα pdf2ps μπορεί να μην " +"είναι εγκατεστημένο στο σύστημά σας, ή δεν μπορεί να βρεθεί στην τρέχουσα " +"διαδρομή αναζήτησης.

Τι μπορείτε να κάνετε: Το πρόγραμμα " +"pdf2ps περιέχεται συνήθως σε διανομές του συστήματος " +"ghostscript μεταγλώττισης PostScript. Αν το ghostscript δεν είναι " +"εγκατεστημένο στο σύστημά σας, μπορείτε να το εγκαταστήσετε τώρα. Αν είστε " +"σίγουρος-η ότι το ghostscript είναι εγκατεστημένο, παρακαλώ δοκιμάστε να " +"εκτελέσετε το pdf2ps από τη γραμμή εντολών για να " +"εξακριβώσετε αν αυτό λειτουργεί.

PATH: %2

" + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

%2

" +msgstr "" +"

Το PDF αρχείο %1 δεν μπορεί να μετατραπεί σε PostScript. Μερικά " +"γραφικά στοιχεία του εγγράφου σας δε θα εμφανιστούν.

Πιθανή αιτία:" +" Το αρχείο %1 μπορεί να είναι χαλασμένο, ή να μην πρόκειται για ένα " +"αρχείο PDF. Αυτή είναι η έξοδος του προγράμματος pdf2ps που " +"χρησιμοποίησε το Okular:

%2

" + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "Αλλοίωση αρχείου. %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "" +"Δεν μπόρεσαν να ενσωματωθούν στο έγγραφό σας όλα τα αρχεία PostScript. %1" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "Όλα τα εξωτερικά αρχεία PostScript ενσωματώθηκαν στο έγγραφό σας." + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "Το καθορισμένο αρχείο '%1' δεν υπάρχει." + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" +"Ζητήσατε από το Okular να εντοπίσει την τοποθεσία στο αρχείο DVI που " +"αντιστοιχεί στη γραμμή %1 στο αρχείο TeX %2. Παρόλα αυτά, φαίνεται πώς το " +"αρχείο DVI δεν περιέχει τις απαραίτητες πληροφορίες του αρχείου πηγής." + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" +"Το Okular δεν μπόρεσε να εντοπίσει τη θέση στο αρχείο DVI που αντιστοιχεί " +"στη γραμμή %1 του αρχείου TeX %2." + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "Ο κώδικας DVI καθόρισε ένα χαρακτήρα μίας άγνωστης γραμματοσειράς." + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "" +"Ο κώδικας DVI αναφέρθηκε στη γραμματοσειρά #%1, η οποία δεν έχει " +"προηγουμένως οριστεί." + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "Η στοίβα δεν ήταν άδεια όταν παρουσιάστηκε η εντολή EOP." + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "Η στοίβα ήταν άδεια όταν παρουσιάστηκε μία εντολή POP." + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "" +"Ο κώδικας DVI αναφέρθηκε σε μία γραμματοσειρά η οποία δεν έχει προηγουμένως " +"οριστεί." + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "Βρέθηκε μια άγνωστη εντολή." + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "Βρέθηκε ένας άγνωστος κωδικός %1." + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "Ενσωμάτωση του %1" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
" +msgstr "" +"Σελίδα %1: Το αρχείο PDF %2 δεν μπόρεσε να μετατραπεί σε " +"PostScript.
" + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
" +msgstr "" +"Σελίδα %1: Το αρχείο PostScript %2 ήταν αδύνατο να βρεθεί." +"
" + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "Τα δεδομένα μεγέθους χαρτιού '%1' δεν ήταν δυνατό να αναλυθούν." + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

PATH: %1

%2

" +msgstr "" +"

Το Okular δεν μπόρεσε να εντοπίσει όλα τα αρχεία γραμματοσειρών που " +"απαιτούνται για την εμφάνιση του τρέχοντος αρχείου DVI. Το έγγραφό σας " +"μπορεί να μην είναι αναγνώσιμο.

PATH: %1

%2

" + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

PATH: %1

%2

" +msgstr "" +"

Υπήρξαν προβλήματα στην εκτέλεση του kpsewhich, με " +"αποτέλεσμα, κάποια από τα αρχεία γραμματοσειρών να μην εντοπιστούν και το " +"έγγραφο ενδεχομένως να μην μπορεί να διαβαστεί.
Πιθανή αιτία: Το " +"πρόγραμμα kpsewhich ίσως να μην είναι εγκατεστημένο στον υπολογιστή " +"σας, ή να μην μπορεί να εντοπιστεί στην τρέχουσα διαδρομή αναζήτησης.

PATH: %1

%2

" + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" +"Η δημιουργία γραμματοσειρών με το kpsewhich εγκαταλείφθηκε " +"(κωδικός εξόδου %1, σφάλμα %2). Ως αποτέλεσμα, μερικά αρχεία γραμματοσειρών " +"δε θα μπορέσουν να φορτωθούν και μπορεί το έγγραφό σας να μην είναι " +"αναγνώσιμο." + +#: fontpool.cpp:482 +#, fuzzy, kde-format +#| msgid "Currently generating %1 at %2 dpi..." +msgid "Currently generating %1 at %2 dpi…" +msgstr "Δημιουργία της γραμματοσειράς %1 στα %2 dpi..." + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "Δημιουργός/Ημερομηνία" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "Το αρχείο γραμματοσειράς δε βρέθηκε" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "πορτραίτο" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "τοπίο" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" +"Η έκδοση του Ghostview που είναι εγκατεστημένη σε αυτόν τον υπολογιστή δεν " +"περιέχει κανέναν από τους γνωστούς στο Okular οδηγούς συσκευών του " +"Ghostview. Για αυτό τον λόγο η υποστήριξη του PostScript απενεργοποιήθηκε " +"στο Okular." + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "" +"Σημειώθηκαν ήδη 25 σφάλματα. Από εδώ και πέρα δε θα εμφανίζονται μηνύματα " +"σφάλματος." + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" +"Σφάλμα στο αρχείο DVI '%1', σελίδα %2. Βρέθηκε εντολή χρώματος pop ενώ η " +"στοίβα χρώματος είναι άδεια." + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" +"Κακοδιατυπωμένη παράμετρος στην εντολή epsf.\n" +"Αναμένονταν ένας αριθμός κινητής υποδιαστολής να ακολουθεί το %1 στο %2" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"Το αρχείο δε βρέθηκε: \n" +" %1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" +"Σφάλμα στο αρχείο DVI '%1', σελίδα %2. Δεν είναι δυνατός ο προσδιορισμός της " +"γωνίας στην εντολή περιστροφής." + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "Η ειδική εντολή '%1' δεν έχει υλοποιηθεί ακόμη." + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" +"Το αρχείο γραμματοσειράς %1 ανοίχτηκε και διαβάστηκε αλλά η μορφή του δεν " +"υποστηρίζεται." + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "" +"Το αρχείο γραμματοσειράς %1 είναι χαλασμένο ή ήταν αδύνατο να ανοιχτεί ή " +"διαβαστεί." + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" +"Το FreeType ανέφερε ένα σφάλμα κατά τον ορισμό του μεγέθους χαρακτήρα για το " +"αρχείο γραμματοσειράς %1." + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "" +"Το FreeType δεν μπορεί να φορτώσει τη γλυφή #%1 από το αρχείο γραμματοσειράς " +"%2." + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "" +"Το FreeType δεν μπορεί να χρησιμοποιηθεί για την αποτύπωση της γλυφής #%1 " +"από το αρχείο γραμματοσειράς %2." + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "Η γλυφή #%1 είναι κενή." + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "Η γλυφή #%1 από το αρχείο γραμματοσειράς %2 είναι κενή." + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "" +"Το FreeType δεν μπόρεσε να φορτώσει πληροφορίες διαστάσεων για τη γλυφή #%1 " +"του αρχείου γραμματοσειράς %2." + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "Αδύνατο το άνοιγμα του αρχείου γραμματοσειράς %1." + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "" +"TexFont_PK::operator[]: Ο χαρακτήρας %1 δεν είναι ορισμένος στη " +"γραμματοσειρά %2" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "Μη αναμενόμενο %1 στο αρχείο PK %2" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "Ο χαρακτήρας %1 είναι πολύ μεγάλος στο αρχείο %2" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "Εσφαλμένος αριθμός αποθηκευμένων bit: χαρ %1. γραμματοσειρά %2" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "Χαλασμένο αρχείο pk (%1), πάρα πολλά bit" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "Η γραμματοσειρά έχει μη τετραγωνικό λόγο διαστάσεων" + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "Αδύνατη η εύρεση της γραμματοσειράς %1, αρχείο %2." + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "Το άθροισμα ελέγχου δεν ταιριάζει για το αρχείο γραμματοσειράς %1" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "Δεν είναι δυνατό να αναγνωριστεί ο τύπος του αρχείου γραμματοσειράς %1" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"Κρίσιμο σφάλμα.\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" +"\n" +"\n" +"Αυτό σημαίνει ότι βρήκατε ένα σφάλμα στο Okular, ή ότι το αρχείο\n" +"DVI, ή τα βοηθητικά του αρχεία (όπως αρχεία γραμματοσειρών, ή\n" +"εικονικών γραμματοσειρών) είναι κατεστραμμένα.\n" +"Το Okular θα τερματίσει μετά από αυτό το μήνυμα. Αν πιστεύετε ότι\n" +"βρήκατε ένα σφάλμα, ή ότι το Okular θα έπρεπε να διαχειριστεί\n" +"καλύτερα αυτή την κατάσταση, παρακαλώ αναφέρετε το πρόβλημα." + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "Εντοπίστηκε εσφαλμένη εντολή byte στη λίστα μακροεντολής VF: %1" + +#~ msgid "" +#~ "

The Ghostview program, which Okular uses internally to display the " +#~ "PostScript graphics that is included in this DVI file, is generally able " +#~ "to write its output in a variety of formats. The sub-programs that " +#~ "Ghostview uses for these tasks are called 'device drivers'; there is one " +#~ "device driver for each format that Ghostview is able to write. Different " +#~ "versions of Ghostview often have different sets of device drivers " +#~ "available. It seems that the version of Ghostview that is installed on " +#~ "this computer does not contain any of the device drivers " +#~ "that are known to Okular.

It seems unlikely that a regular " +#~ "installation of Ghostview would not contain these drivers. This error may " +#~ "therefore point to a serious misconfiguration of the Ghostview " +#~ "installation on your computer.

If you want to fix the problems with " +#~ "Ghostview, you can use the command gs --help to display " +#~ "the list of device drivers contained in Ghostview. Among others, Okular " +#~ "can use the 'png256', 'jpeg' and 'pnm' drivers. Note that Okular needs to " +#~ "be restarted to re-enable PostScript support.

" +#~ msgstr "" +#~ "

Το πρόγραμμα Ghostview, το οποίο χρησιμοποιεί εσωτερικά το Okular " +#~ "για να εμφανίζει τα γραφικά PostScript που περιέχονται σε αυτό το αρχείο " +#~ "DVI, συνήθως παρέχει τη δυνατότητα να γράψει την έξοδό του σε διάφορες " +#~ "μορφές. Τα υποπρογράμματα που χρησιμοποιεί το Ghostview για αυτές τις " +#~ "εργασίες ονομάζονται 'οδηγοί συσκευών'. Για κάθε υποστηριζόμενη μορφή " +#~ "εξόδου του Ghostview υπάρχει και ο αντίστοιχος οδηγός συσκευής. Απ' ότι " +#~ "φαίνεται, η έκδοση του Ghostview που έχετε εγκατεστημένη στον υπολογιστή " +#~ "σας δεν περιέχει κανέναν από τους γνωστούς στο Okular " +#~ "οδηγούς συσκευών.

Είναι απίθανο μία τυπική εγκατάσταση του " +#~ "Ghostview να μην περιέχει αυτούς τους οδηγούς. Αυτό το σφάλμα λοιπόν " +#~ "οφείλεται σε κακή εγκατάσταση του Ghostview στον υπολογιστή σας.

Αν " +#~ "θέλετε να διορθώσετε τα προβλήματα με το Ghostview, μπορείτε να " +#~ "χρησιμοποιήσετε την εντολή gs --help για να εμφανίσετε " +#~ "τη λίστα των οδηγών συσκευών που περιέχονται στο Ghostview. Μεταξύ άλλων, " +#~ "το okular μπορεί να χρησιμοποιήσει τους οδηγούς 'png256', 'jpeg' και " +#~ "'pnm'. Σημειώστε ότι το Okular θα πρέπει να επανεκκινηθεί για να " +#~ "επανενεργοποιηθεί η υποστήριξη του PostScript.

" + +#~ msgid "DVI Backend" +#~ msgstr "Σύστημα υποστήριξης DVI" + +#~ msgid "A DVI file renderer" +#~ msgstr "Ένας αποτυπωτής αρχείων DVI" + +#~ msgid "© 2006 Luigi Toscano" +#~ msgstr "© 2006 Luigi Toscano" + +#~ msgid "" +#~ "

Okular relies on the kpsewhich program to locate font files on " +#~ "your hard disk and to generate PK fonts, if necessary.

" +#~ msgstr "" +#~ "

Το Okular χρησιμοποιεί το πρόγραμμα kpsewhich για τον εντοπισμό " +#~ "αρχείων γραμματοσειρών στο σκληρό σας δίσκο και για τη δημιουργία " +#~ "γραμματοσειρών PK, αν αυτό απαιτείται.

" + +#~ msgid "Okular is currently generating bitmap fonts..." +#~ msgstr "Το Okular αυτή τη στιγμή δημιουργεί γραμματοσειρές bitmap..." + +#~ msgid "Aborts the font generation. Do not do this." +#~ msgstr "Εγκατάλειψη της δημιουργίας γραμματοσειρών. Μη το κάνετε αυτό." + +#~ msgid "" +#~ "Okular is currently generating bitmap fonts which are needed to display " +#~ "your document. For this, Okular uses a number of external programs, such " +#~ "as MetaFont. You can find the output of these programs later in the " +#~ "document info dialog." +#~ msgstr "" +#~ "Το Okular δημιουργεί τις γραμματοσειρές bitmap που απαιτούνται για την " +#~ "εμφάνιση του εγγράφου σας. Για αυτό το Okular χρησιμοποιεί διάφορα " +#~ "εξωτερικά προγράμματα, όπως το MetaFont. Θα μπορέσετε να βρείτε την έξοδο " +#~ "αυτών των προγραμμάτων αργότερα στο διάλογο πληροφοριών του εγγράφου." + +#~ msgid "Okular is generating fonts. Please wait." +#~ msgstr "Το Okular δημιουργεί τις γραμματοσειρές. Παρακαλώ περιμένετε." + +#~ msgid "Font Generation Progress Dialog" +#~ msgstr "Διάλογος προόδου δημιουργίας γραμματοσειρών" + +#~ msgid "Abort" +#~ msgstr "Εγκατάλειψη" + +#~ msgid "What is happening here?" +#~ msgstr "Τι συμβαίνει εδώ;" + +#~ msgid "%v of %m" +#~ msgstr "%v από %m" + +#~ msgid "Please be patient" +#~ msgstr "Παρακαλώ να είστε υπομονετικοί" + +#~ msgid "*.pdf|Portable Document Format (*.pdf)" +#~ msgstr "*.pdf|Portable Document Format (*.pdf)" + +#~ msgid "Export File As" +#~ msgstr "Εξαγωγή αρχείου ως" + +#~ msgid "" +#~ "The file %1\n" +#~ "exists. Do you want to overwrite it?" +#~ msgstr "" +#~ "Το αρχείο %1\n" +#~ "υπάρχει. Επιθυμείτε την αντικατάστασή του;" + +#~ msgid "Overwrite File" +#~ msgstr "Αντικατάσταση αρχείου" + +#~ msgid "Overwrite" +#~ msgstr "Αντικατάσταση" + +#~ msgid "Using dvipdfm to export the file to PDF" +#~ msgstr "Χρήση του dvipdfm για την εξαγωγή του αρχείου σε PDF" + +#~ msgid "" +#~ "Okular is currently using the external program 'dvipdfm' to convert your " +#~ "DVI-file to PDF. Sometimes that can take a while because dvipdfm needs to " +#~ "generate its own bitmap fonts Please be patient." +#~ msgstr "" +#~ "Το Okular χρησιμοποιεί το εξωτερικό πρόγραμμα 'dvipdfm' για να μετατρέψει " +#~ "το DVI αρχείο σας σε PDF. Κάποιες φορές αυτό μπορεί να πάρει αρκετό χρόνο " +#~ "αφού το dvipdfm πρέπει να δημιουργήσει τις δικές του bitmap " +#~ "γραμματοσειρές. Παρακαλώ έχετε υπομονή." + +#~ msgid "Waiting for dvipdfm to finish..." +#~ msgstr "Αναμονή για την ολοκλήρωση της εργασίας του dvipdfm..." + +#~ msgid "*.ps|PostScript (*.ps)" +#~ msgstr "*.ps|PostScript (*.ps)" + +#~ msgid "Using dvips to export the file to PostScript" +#~ msgstr "Χρήση του dvips για την εξαγωγή του αρχείου σε PostScript" + +#~ msgid "" +#~ "Okular is currently using the external program 'dvips' to convert your " +#~ "DVI-file to PostScript. Sometimes that can take a while because dvips " +#~ "needs to generate its own bitmap fonts Please be patient." +#~ msgstr "" +#~ "Το Okular χρησιμοποιεί το εξωτερικό πρόγραμμα 'dvipdfm' για να μετατρέψει " +#~ "το DVI αρχείο σας σε PostScript. Κάποιες φορές αυτό μπορεί να πάρει " +#~ "αρκετό χρόνο αφού το dvipdfm πρέπει να δημιουργήσει τις δικές του bitmap " +#~ "γραμματοσειρές. Παρακαλώ έχετε υπομονή." + +#~ msgid "Waiting for dvips to finish..." +#~ msgstr "Αναμονή για τον τερματισμό του dvipdfm..." + +#~ msgid "Functionality Unavailable" +#~ msgstr "Το χαρακτηριστικό δεν είναι διαθέσιμο" + +#~ msgid "" +#~ "File corruption Okular could not interpret your DVI " +#~ "file. This is most commonly caused by a corrupted file." +#~ msgstr "" +#~ "Κατεστραμμένο αρχείο Το Okular δεν μπόρεσε να " +#~ "μεταγλωττίσει το DVI αρχείο σας. Συνήθως αυτό οφείλεται σε ένα " +#~ "κατεστραμμένο αρχείο." + +#~ msgid "DVI File Error" +#~ msgstr "Σφάλμα DVI αρχείου" + +#~ msgid "Not All Font Files Found" +#~ msgstr "Δε βρέθηκαν όλα τα αρχεία γραμματοσειρών" + +#~ msgid "Locating fonts..." +#~ msgstr "Εντοπισμός γραμματοσειρών..." + +#~ msgid "" +#~ "

There were problems running kpsewhich. As a result, some font " +#~ "files could not be located, and your document might be unreadable.

Possible reason: The kpsewhich program is perhaps not " +#~ "installed on your system, or it cannot be found in the current search " +#~ "path.

What you can do: The kpsewhich program is normally " +#~ "contained in distributions of the TeX typesetting system. If TeX is not " +#~ "installed on your system, you could install the TeX Live distribution " +#~ "(www.tug.org/texlive). If you are sure that TeX is installed, please try " +#~ "to use the kpsewhich program from the command line to check if it really " +#~ "works.

" +#~ msgstr "" +#~ "

Υπήρξαν προβλήματα κατά την εκτέλεση του kpsewhich. Σαν " +#~ "αποτέλεσμα, μερικά αρχεία γραμματοσειρών δεν εντοπίστηκαν και το έγγραφό " +#~ "σας μπορεί να είναι μη αναγνώσιμο.

Πιθανή αιτία: Το " +#~ "πρόγραμμα kpsewhich δεν είναι εγκατεστημένο στο σύστημά σας, ή δεν μπορεί " +#~ "να βρεθεί στο τρέχον path εκτέλεσης.

Τι μπορείτε να κάνετε: " +#~ "Το πρόγραμμα kpsewhich περιέχεται συνήθως σε διανομές του συστήματος " +#~ "τυπογραφίας TeX. Αν το TeX δεν είναι εγκατεστημένο στο σύστημά σας, " +#~ "μπορείτε να εγκαταστήσετε τη διανομή TeTeX (www.tug.org/texlive). Αν " +#~ "είστε σίγουροι ότι το TeX είναι εγκατεστημένο, παρακαλώ δοκιμάστε να " +#~ "εκτελέσετε το kpsewhich από τη γραμμή εντολών για να εξακριβώσετε αν αυτό " +#~ "λειτουργεί.

" + +#~ msgid "Problem locating fonts" +#~ msgstr "Πρόβλημα εντοπισμού γραμματοσειρών" + +#~ msgid "Font generation aborted" +#~ msgstr "Η δημιουργία γραμματοσειρών εγκαταλείφθηκε" + +#~ msgid "Export: %1 to PDF" +#~ msgstr "Εξαγωγή: %1 σε PDF" + +#~ msgid "Export: %1 to PostScript" +#~ msgstr "Εξαγωγή: %1 σε PostScript" + +#~ msgid "The fontlist is currently empty." +#~ msgstr "Η λίστα γραμματοσειρών είναι κενή προς το παρόν." + +#~ msgid "TeX Name" +#~ msgstr "Όνομα TeX" + +#~ msgid "Family" +#~ msgstr "Οικογένεια" + +#~ msgid "Zoom" +#~ msgstr "Εστίαση" + +#~ msgid "Type" +#~ msgstr "Τύπος" + +#~ msgid "Encoding" +#~ msgstr "Κωδικοποίηση" + +#~ msgid "Comment" +#~ msgstr "Σχόλιο" + +#~ msgid "TeX virtual" +#~ msgstr "Εικονικό TeX" + +#~ msgid "TeX Font Metric" +#~ msgstr "Πληροφορίες διαστάσεων γραμματοσειράς TeX" + +#~ msgid "FreeType" +#~ msgstr "FreeType" diff --git a/po/el/okular_epub.po b/po/el/okular_epub.po new file mode 100644 index 0000000..5f651eb --- /dev/null +++ b/po/el/okular_epub.po @@ -0,0 +1,58 @@ +# translation of okular_epub.po to greek +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Spiros Georgaras , 2008. +# Dimitrios Glentadakis , 2014. +# Dimitris Kardarakos , 2014. +msgid "" +msgstr "" +"Project-Id-Version: okular_epub\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2014-03-08 20:48+0200\n" +"Last-Translator: Dimitris Kardarakos \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 1.5\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Σπύρος Γεωργαράς, Τούσης Μανώλης" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sng@hellug.gr, manolis@koppermind.homelinux.org" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "Σφάλμα κατά το άνοιγμα του εγγράφου EPub." + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "EPub" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "Διαμόρφωση συστήματος υποστήριξης EPub" + +#~ msgid "EPub Backend" +#~ msgstr "Σύστημα υποστήριξης του EPub" + +#~ msgid "An EPub backend" +#~ msgstr "Ένα σύστημα υποστήριξης του EPub" + +#~ msgid "© 2008 Ely Levy" +#~ msgstr "© 2008 Ely Levy" + +#~ msgid "Ely Levy" +#~ msgstr "Ely Levy" diff --git a/po/el/okular_fax.po b/po/el/okular_fax.po new file mode 100644 index 0000000..b431e3b --- /dev/null +++ b/po/el/okular_fax.po @@ -0,0 +1,45 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Toussis Manolis , 2008. +msgid "" +msgstr "" +"Project-Id-Version: okular_fax\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-11-19 19:46+0200\n" +"Last-Translator: Toussis Manolis \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 0.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Τούσης Μανώλης" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "manolis@koppermind.homelinux.org" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "Αδυναμία φόρτωσης του εγγράφου" + +#~ msgid "Fax Backend" +#~ msgstr "Σύστημα υποστήριξης φαξ" + +#~ msgid "A G3/G4 fax document backend" +#~ msgstr "Ένα σύστημα υποστήριξης εγγράφων φαξ G3/G4" + +#~ msgid "© 2008 Tobias Koenig" +#~ msgstr "© 2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/el/okular_fictionbook.po b/po/el/okular_fictionbook.po new file mode 100644 index 0000000..f755923 --- /dev/null +++ b/po/el/okular_fictionbook.po @@ -0,0 +1,82 @@ +# translation of okular_fictionbook.po to greek +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Spiros Georgaras , 2007. +# Dimitris Kardarakos , 2014. +msgid "" +msgstr "" +"Project-Id-Version: okular_fictionbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2014-03-08 20:48+0200\n" +"Last-Translator: Dimitris Kardarakos \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 1.5\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Σπύρος Γεωργαράς, Τούσης Μανώλης" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sng@hellug.gr, manolis@koppermind.homelinux.org" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "Το έγγραφο δεν είναι έγκυρο FictionBook" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "Αδύνατο το άνοιγμα του εγγράφου: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "Το έγγραφο δεν είναι μία έγκυρη αρχειοθήκη ZIP" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "Μη έγκυρη δομή εγγράφου (λείπει ο κύριος κατάλογος)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "Το έγγραφο είναι κενό" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "Μη έγκυρο αρχείο XML: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "FictionBook" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "Διαμόρφωση συστήματος υποστήριξης FictionBook" + +#~ msgid "Fiction Book Backend" +#~ msgstr "Σύστημα υποστήριξης Fiction Book" + +#~ msgid "A renderer for FictionBook eBooks" +#~ msgstr "Αποτύπωση βιβλίων FictionBook" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/el/okular_ghostview.po b/po/el/okular_ghostview.po new file mode 100644 index 0000000..a9cb4a5 --- /dev/null +++ b/po/el/okular_ghostview.po @@ -0,0 +1,94 @@ +# translation of okular_ghostview.po to greek +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Spiros Georgaras , 2007. +# Toussis Manolis , 2008, 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_ghostview\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-04-23 23:01+0300\n" +"Last-Translator: Toussis Manolis \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 0.3\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Σπύρος Γεωργαράς, Τούσης Μανώλης" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sng@hellug.gr, manolis@koppermind.homelinux.org" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "Χρήση γραμματοσειρών της πλατφόρμας" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"Καθορίζει αν το Ghostscript θα επιτρέπεται να χρησιμοποιεί γραμματοσειρές " +"της πλατφόρμας, αν είναι ανενεργό επιτρέπεται η χρήση μόνο των ενσωματωμένων " +"γραμματοσειρών στο έγγραφο." + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "Γενικές ρυθμίσεις" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "&Χρήση των γραμματοσειρών της πλατφόρμας" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Ρυθμίσεις συστήματος υποστήριξης του Ghostscript" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "Έκδοση του εγγράφου" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "Επίπεδο γλώσσας" + +#~ msgid "PS Backend" +#~ msgstr "Σύστημα υποστήριξης PS" + +#~ msgid "A PostScript file renderer." +#~ msgstr "Αποτύπωση αρχείων PostScript." + +#~ msgid "© 2007-2008 Albert Astals Cid" +#~ msgstr "© 2007-2008 Albert Astals Cid" + +#~ msgid "Based on the Spectre library." +#~ msgstr "Βασισμένο στη βιβλιοθήκη Spectre." + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" diff --git a/po/el/okular_kimgio.po b/po/el/okular_kimgio.po new file mode 100644 index 0000000..c26402b --- /dev/null +++ b/po/el/okular_kimgio.po @@ -0,0 +1,73 @@ +# translation of okular_kimgio.po to greek +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Spiros Georgaras , 2007. +# Toussis Manolis , 2007. +# Stelios , 2011, 2017. +# Dimitrios Glentadakis , 2011. +msgid "" +msgstr "" +"Project-Id-Version: okular_kimgio\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2017-11-16 10:30+0200\n" +"Last-Translator: Stelios \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Τούσης Μανώλης" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "manolis@koppermind.homelinux.org" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "Αδυναμία φόρτωσης του εγγράφου: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" +"Αυτό το έγγραφο εμφανίζεται με λάθος μορφή. Εδώ είναι μια βέλτιστη " +"προσέγγιση της προτιθέμενης εμφάνισης του εγγράφου." + +#~ msgid "Image Backend" +#~ msgstr "Σύστημα υποστήριξης εικόνας" + +#~ msgid "A simple image backend" +#~ msgstr "Ένα απλό σύστημα υποστήριξης εικόνων" + +#~ msgid "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" +#~ msgstr "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" + +#~ msgid "Main Toolbar" +#~ msgstr "Κύρια γραμμή εργαλείων" diff --git a/po/el/okular_markdown.po b/po/el/okular_markdown.po new file mode 100644 index 0000000..d7e4dc0 --- /dev/null +++ b/po/el/okular_markdown.po @@ -0,0 +1,53 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Stelios , 2017, 2019. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-08-06 14:07+0300\n" +"Last-Translator: Stelios \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 18.12.3\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Stelios" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sstavra@gmail.com" + +#: converter.cpp:59 converter.cpp:93 +#, kde-format +msgid "Failed to open the document" +msgstr "Αποτυχία ανοίγματος του εγγράφου" + +#: converter.cpp:106 converter.cpp:124 +#, kde-format +msgid "Failed to compile the Markdown document." +msgstr "Αποτυχία μεταγλώττισης του markdown εγγράφου." + +#: generator_md.cpp:58 +#, kde-format +msgid "Enable SmartyPants formatting" +msgstr "Ενεργοποίηση SmartyPants διαμόρφωση" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown" +msgstr "Markdown" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown Backend Configuration" +msgstr "Διαμόρφωση συστήματος υποστήριξης Markdown" diff --git a/po/el/okular_mobi.po b/po/el/okular_mobi.po new file mode 100644 index 0000000..e68c9db --- /dev/null +++ b/po/el/okular_mobi.po @@ -0,0 +1,64 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Toussis Manolis , 2008, 2009. +# Dimitris Kardarakos , 2014. +msgid "" +msgstr "" +"Project-Id-Version: okular_mobi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2014-03-30 18:48+0300\n" +"Last-Translator: Dimitris Kardarakos \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 1.5\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Τούσης Μανώλης" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "manolis@koppermind.homelinux.org" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Σφάλμα κατά το άνοιγμα του εγγράφου Mobipocket." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "" +"Το βιβλίο αυτό προστατεύεται από DRM και μπορεί να εμφανιστεί μόνο σε " +"καθορισμένες συσκευές" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "Mobipocket" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "Διαμόρφωση συστήματος υποστήριξης Mobipocket" + +#~ msgid "Mobipocket Backend" +#~ msgstr "Σύστημα υποστήριξης Mobipocket" + +#~ msgid "A mobipocket backend" +#~ msgstr "Ένα σύστημα υποστήριξης για το mobipocket" + +#~ msgid "© 2008-2009 Jakub Stachowski" +#~ msgstr "© 2008-2009 Jakub Stachowski" + +#~ msgid "Jakub Stachowski" +#~ msgstr "Jakub Stachowski" diff --git a/po/el/okular_poppler.po b/po/el/okular_poppler.po new file mode 100644 index 0000000..c7ef3c6 --- /dev/null +++ b/po/el/okular_poppler.po @@ -0,0 +1,432 @@ +# translation of okular_poppler.po to Greek +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Spiros Georgaras , 2007. +# Σπύρος Γεωργαράς , 2008. +# Dimitrios Glentadakis , 2011. +# Stelios , 2011, 2019, 2021. +msgid "" +msgstr "" +"Project-Id-Version: okular_poppler\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2021-10-04 10:59+0300\n" +"Last-Translator: Stelios \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 20.04.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Σπύρος Γεωργαράς, Stelios" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sng@hellug.gr, sstavra@gmail.com" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "Εμπλουτισμός λεπτών γραμμών:" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "Όχι" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "Συμπαγές" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "Σχήμα" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, fuzzy, kde-format +#| msgid "Scaling mode for the printed pages" +msgid "Default scaling mode when printing:" +msgstr "Λειτουργία κλιμάκωσης για τις εκτυπωμένες σελίδες" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "Εφαρμογή σε εκτυπώσιμη περιοχή" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "Εφαρμογή σε πλήρη σελίδα" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "Καμία: εκτύπωση αρχικού μεγέθους" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" +"Η ενεργοποίηση αυτής της επιλογής θα επιτρέψει στο Okular να έρθει σε επαφή " +"με εξωτερικούς OCSP εξυπηρετητές για να ελέγξει αν τα πιστοποιητικά των " +"ψηφιακών υπογραφών έχουν ανακληθεί μετά από τη δημιουργία τους." + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" +"Έλεγχος ανάκλησης πιστοποιητικών ψηφιακών υπογραφών με χρήση εξυπηρετητών " +"τρίτων" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "Βάση δεδομένων πιστοποιητικών" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "Προκαθορισμένο:" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "Προσαρμοσμένο:" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "Διαθέσιμες πιστοποιήσεις" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "&Φόρτωση υπογραφών" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "Επιλογές PDF" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "Εκτύπωση σημειώσεων" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "Να περιλαμβάνονται οι σημειώσεις στο εκτυπωμένο έγγραφο" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"Περιλαμβάνονται σημειώσεις στο εκτυπωμένο έγγραφο. Μπορείτε να το " +"απενεργοποιήσετε αυτό αν θέλετε να εκτυπώσετε το αρχικό χωρίς σχολιασμό " +"έγγραφο." + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "Εξαναγκασμός χρωματικής περίπλεξης" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "Χρωματική περίπλεξη εικόνας πριν την εκτύπωση" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"Εξαναγκασμός χρωματικής περίπλεξης κάθε σελίδας σε μια εικόνα πριν την " +"εκτύπωσή της. Αυτό συνήθως αποδίδει χειρότερο αποτέλεσμα, αλλά είναι χρήσιμο " +"όταν κατά την εκτύπωση τα έγγραφα εμφανίζονται εσφαλμένα." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "Λειτουργία κλιμάκωσης για τις εκτυπωμένες σελίδες" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "Λειτουργία κλιμάκωσης:" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF εκδ. %1.%2" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "Τύπος αρχειοθέτησης" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "Κρυπτογραφημένο" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "Μη κρυπτογραφημένο" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "Ασφάλεια" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "Ναι" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "Βελτιστοποιημένο" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Υπογραφή από: %1\n" +"\n" +"Ημερομηνία: %2" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "Χρήση Poppler %1" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" +"Χρήση Poppler %1\n" +"\n" +"Κατασκευή κατά Poppler %2" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "Διαμόρφωση συστήματος υποστήριξης PDF" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" +"Κάποια σφάλματα βρέθηκαν στο έγγραφο. Το Okular ίσως να μην εμφανίζει το " +"περιεχόμενο σωστά" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" + +#: pdfsettingswidget.cpp:120 +#, fuzzy, kde-format +#| msgid "&Load Signatures" +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "&Φόρτωση υπογραφών" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "Εκδόθηκε στο όνομα" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "E-mail" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "Ημερομηνία λήξης" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" +"Χρησιμοποιείτε μια βιβλιοθήκη Poppler η οποία κατασκευάστηκε χωρίς " +"υποστήριξη NSS.\n" +"Γι' αυτόν το λόγο η προσθήκη ψηφιακών υπογραφών δεν είναι διαθέσιμη" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "Απαιτείται επανεκκίνηση" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "" +"Χρειάζεται να επανεκκινήσετε το Okular μετά τη μεταβολή των ρυθμίσεων του " +"NSS καταλόγου" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter Password" +msgstr "Εισαγωγή κωδικού πρόσβασης" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "Εισαγωγή κωδικού για άνοιγμα του %1:" + +#~ msgid "Not Available" +#~ msgstr "Μη διαθέσιμο" + +#~ msgid "PDF Backend" +#~ msgstr "Σύστημα υποστήριξης PDF" + +#~ msgid "A PDF file renderer" +#~ msgstr "Ένα πρόγραμμα αποτύπωσης αρχείων PDF" + +#~ msgid "© 2005-2008 Albert Astals Cid" +#~ msgstr "© 2005-2008 Albert Astals Cid" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Saving files with /Encrypt is not supported." +#~ msgstr "Η αποθήκευση αρχείων με /Encrypt δεν υποστηρίζεται." + +#~ msgid "Unknown" +#~ msgstr "Άγνωστο" + +#~ msgid "Unknown Date" +#~ msgstr "Άγνωστη ημερομηνία" + +#~ msgid "Unknown Encryption" +#~ msgstr "Άγνωστη κρυπτογράφηση" + +#~ msgid "Unknown Optimization" +#~ msgstr "Άγνωστη βελτιστοποίηση" + +#~ msgid "Please enter the password to read the document:" +#~ msgstr "Παρακαλώ εισαγάγετε τον κωδικό για να διαβάσετε το έγγραφο:" + +#~ msgid "Incorrect password. Try again:" +#~ msgstr "Λανθασμένος κωδικός. Δοκιμάστε ξανά:" diff --git a/po/el/okular_tiff.po b/po/el/okular_tiff.po new file mode 100644 index 0000000..024f8fa --- /dev/null +++ b/po/el/okular_tiff.po @@ -0,0 +1,28 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Stelios , 2020. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-08-05 09:31+0300\n" +"Last-Translator: Stelios \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 20.04.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Stelios" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sstavra@gmail.com" diff --git a/po/el/okular_txt.po b/po/el/okular_txt.po new file mode 100644 index 0000000..2b5285a --- /dev/null +++ b/po/el/okular_txt.po @@ -0,0 +1,50 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Dimitris Kardarakos , 2014. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2014-03-08 21:34+0200\n" +"Last-Translator: Dimitris Kardarakos \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 1.5\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Δημήτρης Καρδαράκος" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "dimkard@gmail.com" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "Txt" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "Διαμόρφωση συστήματος υποστήριξης txt" + +#~ msgid "Txt Backend" +#~ msgstr "Σύστημα υποστήριξης txt" + +#~ msgid "Txt backend." +#~ msgstr "Σύστημα υποστήριξης txt." + +#~ msgid "© 2013 Azat Khuzhin" +#~ msgstr "© 2013 Azat Khuzhin" + +#~ msgid "Azat Khuzhin" +#~ msgstr "Azat Khuzhin" diff --git a/po/el/okular_xps.po b/po/el/okular_xps.po new file mode 100644 index 0000000..2b294a4 --- /dev/null +++ b/po/el/okular_xps.po @@ -0,0 +1,59 @@ +# translation of okular_xps.po to greek +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Spiros Georgaras , 2007. +# Toussis Manolis , 2008. +msgid "" +msgstr "" +"Project-Id-Version: okular_xps\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-09-08 11:06+0300\n" +"Last-Translator: Toussis Manolis \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 0.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Σπύρος Γεωργαράς, Τούσης Μανώλης" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sng@hellug.gr, manolis@koppermind.homelinux.org" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "Αναθεώρηση" + +#~ msgid "XPS Backend" +#~ msgstr "Σύστημα υποστήριξης XPS" + +#~ msgid "An XPS backend" +#~ msgstr "Ένα σύστημα υποστήριξης XPS" + +#~ msgid "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" +#~ msgstr "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" + +#~ msgid "Brad Hards" +#~ msgstr "Brad Hards" + +#~ msgid "Jiri Klement" +#~ msgstr "Jiri Klement" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" diff --git a/po/el/org.kde.active.documentviewer.po b/po/el/org.kde.active.documentviewer.po new file mode 100644 index 0000000..ca5def0 --- /dev/null +++ b/po/el/org.kde.active.documentviewer.po @@ -0,0 +1,240 @@ +# org.kde.active.documentviewer.po translation el +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Stelios , 2012, 2017, 2019, 2021. +# Theofilos Intzoglou , 2023. +# SPDX-FileCopyrightText: 2024 Antonis Geralis +msgid "" +msgstr "" +"Project-Id-Version: org.kde.active.documentviewer\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-09-19 17:12+0300\n" +"Last-Translator: Antonis Geralis \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 24.08.1\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "Σελιδοδείκτες" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "Προβολή πιστοποιητικού" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "Εκδόθηκε από" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "Κοινό όνομα:" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "EΜail:" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "Οργανισμός:" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "Εκδόθηκε σε" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "Εγκυρότητα" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "Εκδόθηκε στις:" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "Λήγει στις:" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "Αποτυπώματα" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "SHA-1 αποτύπωμα:" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "SHA-256 αποτύπωμα:" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +msgid "Export…" +msgstr "Εξαγωγή…" + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "Κλείσιμο" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "Αρχείο πιστοποιητικού (*.cer)" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "Σφάλμα" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "Αδυναμία εξαγωγής πιστοποιητικού." + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "Okular" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "" + +#: ui/Main.qml:49 +msgid "About" +msgstr "Περίγραμμα" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "Απαιτείται Κωδικός" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "Αφαίρεση σελιδοδείκτη" + +#: ui/MainView.qml:29 +msgid "Bookmark this page" +msgstr "Προσθέστε αυτήν τη σελίδα στους σελιδοδείκτες" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "Εικόνες επισκόπησης" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "Περιεχόμενα" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "Υπογραφές" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "Ιδιότητες υπογραφής" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "Κατάσταση εγκυρότητας" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "Εγκυρότητα υπογραφής:" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "Τροποποιήσεις εγγράφου:" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "Πρόσθετες πληροφορίες" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "Υπογραφή από:" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "Χρόνος υπογραφής:" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "Αιτία:" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "Τοποθεσία:" + +#: ui/SignaturePropertiesPage.qml:96 +#, fuzzy +#| msgid "No document open" +msgid "Document Version" +msgstr "Κανένα ανοικτό έγγραφο" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Αναθεώρηση εγγράφου %1 από %2" + +#: ui/SignaturePropertiesPage.qml:108 +msgid "Save Signed Version…" +msgstr "Αποθήκευσης υπογεγραμμένης έκδοσης…" + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +msgid "View Certificate…" +msgstr "Προβολή πιστοποιητικού…" + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "Δεν ήταν δυνατή η αποθήκευση της υπογραφής." + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "Μη διαθέσιμη" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "Δεν βρέθηκαν αποτελέσματα." + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "Κανένα ανοικτό έγγραφο" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "" + +#: ui/WelcomeView.qml:108 +#, fuzzy +#| msgid "No document open" +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "Κανένα ανοικτό έγγραφο" + +#~ msgid "Open..." +#~ msgstr "Άνοιγμα..." + +#~ msgid "Search..." +#~ msgstr "Αναζήτηση..." + +#~ msgid "" +#~ "No Documents found. To start to read, put some files in the Documents " +#~ "folder of your device." +#~ msgstr "" +#~ "Δεν βρέθηκαν έγγραφα. Για να διαβάσετε, τοποθετήστε μερικά αρχεία στο " +#~ "φάκελο Documents (Έγγραφα) της συσκευής σας." + +#~ msgid "Document viewer for Plasma Active using Okular" +#~ msgstr "Προβολέας εγγράφων για το Plasma Active με χρήση του Okular" + +#~ msgid "Reader" +#~ msgstr "Πρόγραμμα ανάγνωσης" + +#~ msgid "Copyright 2012 Marco Martin" +#~ msgstr "Copyright 2012 Marco Martin" + +#~ msgid "Marco Martin" +#~ msgstr "Marco Martin" + +#~ msgid "URL of the file to open" +#~ msgstr "URL του αρχείου για άνοιγμα" diff --git a/po/en_GB/okular.po b/po/en_GB/okular.po new file mode 100644 index 0000000..f4aa17c --- /dev/null +++ b/po/en_GB/okular.po @@ -0,0 +1,7055 @@ +# translation of okular.po to British English +# Copyright (C) 2003, 2004, 2005, 2006, 2008 Free Software Foundation, Inc. +# +# Malcolm Hunter , 2003, 2004, 2005, 2006, 2008. +# Andrew Coles , 2004, 2005, 2009, 2010. +# SPDX-FileCopyrightText: 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024 Steve Allewell +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-11-01 14:04+0000\n" +"Last-Translator: Steve Allewell \n" +"Language-Team: British English\n" +"Language: en_GB\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 24.08.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Malcolm Hunter, Steve Allewell" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "malcolm.hunter@gmx.co.uk, steve.allewell@gmail.com" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Okular, a universal document viewer" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "Former maintainer" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "Lots of framework work, FictionBook backend and former ODT backend" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "Developer" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymanski" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "Created Okular from KPDF codebase" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "Enrico Ros" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "KPDF developer" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "Eugene Trounev" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "Annotations artwork" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "Jiri Baum - NICTA" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "Table selection tool" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "Fabio D'Urso" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "Annotation improvements" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "Go to page %1" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "Open external file" + +#: core/action.cpp:197 +#, fuzzy, kde-format +#| msgid "Execute '%1'..." +msgid "Execute '%1'…" +msgstr "Execute '%1'..." + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "First Page" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "Previous Page" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "Next Page" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "Last Page" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "Back" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "Forward" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Quit" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "Start Presentation" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "End Presentation" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go To Page…" +msgstr "Go to Page" + +#: core/action.cpp:365 +#, fuzzy, kde-format +#| msgid "Play sound..." +msgid "Play sound…" +msgstr "Play sound..." + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "JavaScript Script" + +#: core/action.cpp:483 +#, fuzzy, kde-format +#| msgid "Play movie" +msgid "Play movie…" +msgstr "Play movie" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "Play movie" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "Stop movie" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "Pause movie" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "Resume movie" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "This Okular is built without audio support" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "Backend Selection" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
%1 (%2).

Please select which one to use:
" +msgstr "" +"More than one backend found for the MIME type:
%1 (%2).

Please select which one to use:
" + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "Most pages are %1." + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "Portrait %1" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "Landscape %1" + +#: core/document.cpp:246 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 × %2 in (%3)" + +#: core/document.cpp:248 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 × %2 mm (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "Continuing search from beginning" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "Continuing search from bottom" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "" +"Can not find a plugin which is able to handle the document being passed." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "remove annotations" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "No application found for opening file of mimetype %1." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "Could not open a temporary file" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "Print conversion failed" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "Printing process crashed" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "Printing process could not start" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "Printing to file failed" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "Printer was in invalid state" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "Unable to find file to print" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "There was no file to print" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "The page print size is invalid" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "Could not open '%1'. File does not exist" + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Title" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Subject" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Description" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "Author" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Creator" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Producer" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "Copyright" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "Pages" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Created" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Modified" + +#: core/document.cpp:6032 +#, kde-format +msgid "MIME Type" +msgstr "MIME Type" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "Category" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Keywords" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "File Path" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "File Size" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "Page Size" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "add annotation" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "remove annotation" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "modify annotation properties" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "translate annotation" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "adjust annotation" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "edit text" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "edit annotation contents" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "edit form contents" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "edit list form choices" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "edit combo form selection" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "edit form button states" + +#: core/generator.cpp:790 +#, fuzzy, kde-format +#| msgid "Plain &Text..." +msgid "Plain &Text…" +msgstr "Plain &Text..." + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "OpenDocument Text" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "Print Options" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "Fit to printable area" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "Fit to full page" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "Scale mode:" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "Do not show this message again" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "Not Available" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" + +#: core/signatureutils.cpp:498 +#, fuzzy, kde-kuit-format +#| msgctxt "@info" +#| msgid "Could not load the file %1" +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "Could not load the file %1" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "" + +#: core/signatureutils.cpp:504 +#, fuzzy, kde-kuit-format +#| msgctxt "@info" +#| msgid "" +#| "Could not overwrite %1 because that file is read-" +#| "only. Try saving to another location or changing that file's permissions." +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." + +#: core/signatureutils.cpp:506 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown signing error" +msgstr "Unknown File" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Source: %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "&Default Font:" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "Version" + +#: gui/certificatemodel.cpp:41 +#, kde-format +msgid "Serial Number" +msgstr "Serial Number" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "Issuer" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "Issued On" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "Expires On" + +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Subject" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "Public Key" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "Key Usage" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "V%1" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "%1 (%2 bits)" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "Property" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "Value" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "Pop-up Note" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "Typewriter" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "Inline Note" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +#| msgid "Polygon with Comment" +msgid "Arrow with Comment" +msgstr "Polygon with Comment" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "Arrow" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "Straight Line with Comment" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "Straight Line" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "Polygon with Comment" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "Polygon" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgid "Stamp with Comment" +msgid "Rectangle with Comment" +msgstr "Stamp with Comment" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "Rectangle" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgid "Underline with Comment" +msgid "Ellipse with Comment" +msgstr "Underline with Comment" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "Ellipse" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "Highlight with Comment" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "Highlight" + +#: gui/guiutils.cpp:87 +#, kde-format +msgid "Squiggle with Comment" +msgstr "Squiggle with Comment" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "Squiggle" + +#: gui/guiutils.cpp:91 +#, kde-format +msgid "Underline with Comment" +msgstr "Underline with Comment" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "Underline" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out with Comment" +msgstr "Strike Out with Comment" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "Strike Out" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "Stamp with Comment" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "Stamp" + +#: gui/guiutils.cpp:106 +#, kde-format +msgid "Freehand Line with Comment" +msgstr "Freehand Line with Comment" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "Freehand Line" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "Caret" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "File Attachment" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "Sound" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "Movie" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Screen" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "Widget" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "Rich Media" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation" +msgstr "Annotation" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "Unknown" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Author: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "Where do you want to save %1?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "Could not open \"%1\" for writing. File was not saved." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "The signature is cryptographically valid." + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "The signature is cryptographically invalid." + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "Digest Mismatch occurred." + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "The signature CMS/PKCS7 structure is malformed." + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "The requested signature is not present in the document." + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "The signature could not be verified." + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "Certificate is Trusted." + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "Certificate issuer isn't Trusted." + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "Certificate issuer is unknown." + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "Certificate has been Revoked." + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "Certificate has Expired." + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "Certificate has not yet been verified." + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "Certificate validation in progress" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "Unknown issue with Certificate or corrupted data." + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "MD2" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "MD5" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "SHA1" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "SHA256" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "SHA384" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "SHA512" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "SHA224" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "Unknown Algorithm" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "RSA" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "DSA" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "EC" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "Unknown Type" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "Digital Signature" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "Non-Repudiation" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "Encrypt Keys" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "Decrypt Keys" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "Key Agreement" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "Sign Certificate" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "Sign CRL" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "Encrypt Only" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "No Usage Specified" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr ", " + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "The document has not been modified since it was signed." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" +"The document has been modified in a way not permitted by a previous signer." + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "The document integrity verification could not be completed." + +#: gui/signatureguiutils.cpp:208 +#, fuzzy, kde-format +#| msgid "This document has unsigned signature fields." +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "This document has unsigned signature fields." + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "This document is digitally signed." + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "" +"This document is digitally signed. There have been changes since last signed." + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." + +#: gui/signaturemodel.cpp:141 +#, fuzzy, kde-format +#| msgid "Signature Validity:" +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "Signature Validity:" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "Field: %1 on page %2" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "Rev. %1: Signed By %2" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "Signing Time: %1" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "Reason: %1" + +#: gui/signaturemodel.cpp:177 +#, kde-format +msgid "Location: %1" +msgstr "Location: %1" + +#: gui/signaturemodel.cpp:185 +#, fuzzy, kde-format +#| msgid "Signatures" +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "Signatures" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "" + +#: gui/signaturemodel.cpp:193 +#, fuzzy, kde-format +#| msgctxt "Unknown author" +#| msgid "Unknown" +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "Unknown" + +#: gui/signaturemodel.cpp:195 +#, fuzzy, kde-format +#| msgid "Signature Validity:" +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "Signature Validity:" + +#: gui/signaturemodel.cpp:201 +#, fuzzy, kde-format +#| msgid "Signature Validity:" +msgid "Signature Type: %1" +msgstr "Signature Validity:" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "Red" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "Orange" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "Yellow" + +#: part/annotationactionhandler.cpp:151 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "Green" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "Cyan" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "Blue" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "Magenta" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "White" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "Grey" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "Black" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "Width %1" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1%" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "Annotation line width (No annotation selected)" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "Annotation colour (No annotation selected)" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "Annotation fill colour (No annotation selected)" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "Annotation opacity (No annotation selected)" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "Annotation font (No annotation selected)" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" +"Advanced settings for the current annotation tool (No annotation selected)" + +#: part/annotationactionhandler.cpp:308 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Annotation line width" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "Annotation line width (Current annotation has no line width)" + +#: part/annotationactionhandler.cpp:314 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Annotation text colour" + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "Annotation border colour" + +#: part/annotationactionhandler.cpp:318 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Annotation colour" + +#: part/annotationactionhandler.cpp:322 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Annotation fill colour" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "Annotation fill colour (Current annotation has no fill colour)" + +#: part/annotationactionhandler.cpp:328 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "Annotation font" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "Annotation font (Current annotation has no font)" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "Constrain line angle to 15° steps" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "Constrain shape ratio to 1:1" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" + +#: part/annotationactionhandler.cpp:341 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Annotation opacity" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "Add the current annotation to the quick annotations menu" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "Advanced settings for the current annotation tool" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "Colour" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "Fill Colour" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "Transparent" + +#: part/annotationactionhandler.cpp:445 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "Custom Color..." +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "Custom Colour..." + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "Select colour" + +#: part/annotationactionhandler.cpp:552 +#, kde-format +msgid "&Annotations" +msgstr "&Annotations" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "Hide" + +#: part/annotationactionhandler.cpp:554 +#, kde-format +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Show more annotation tools" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "Highlighter" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "Underline" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "Squiggle" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "Strike Out" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Typewriter" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "Inline Note" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "Pop-up Note" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "Freehand Line" + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "Straight line" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "Arrow" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "Rectangle" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "Ellipse" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "Polygon" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "Geometrical shapes" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "Stamp" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Quick Annotations" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "Choose an annotation tool from the quick annotations" + +#: part/annotationactionhandler.cpp:651 +#, kde-format +msgid "Quick Annotation Bar" +msgstr "Quick Annotation Bar" + +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "Add to Quick Annotations" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "Keep Active" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "Keep the annotation tool active after use" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "Constrain Ratio and Angle of Annotation Tools" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "Font" + +#: part/annotationactionhandler.cpp:681 +#, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Annotation Settings" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "Line width" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "Opacity" + +#: part/annotationactionhandler.cpp:696 +#, kde-format +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1%" + +#: part/annotationmodel.cpp:320 +#, kde-format +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "Page %1 (%2)" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "Page %1" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "Annotation" +msgstr[1] "%1 Annotations" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "&Open Pop-up Note" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Remove Bookmark" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Add Bookmark" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, kde-format +msgid "Copy Text to Clipboard" +msgstr "Copy Text to Clipboard" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "Copy forbidden by DRM" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "&Delete" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "&Properties" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, fuzzy, kde-format +#| msgctxt "%1 is the name of the file to save" +#| msgid "&Save '%1'..." +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "&Save '%1'..." + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "&Appearance" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "&General" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&Author:" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "Created:" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "Modified:" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "Pop-up Note Properties" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "Typewriter Properties" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "Inline Note Properties" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "Straight Line Properties" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "Polygon Properties" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "Geometry Properties" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "Text Markup Properties" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "Stamp Properties" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "Freehand Line Properties" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "Caret Properties" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "File Attachment Properties" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "Sound Properties" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "Movie Properties" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "Annotation Properties" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "Select a custom stamp symbol from file" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "Select custom stamp symbol" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "Could not load the file %1" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "Invalid file" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&Colour:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%1%" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "&Opacity:" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "Icon:" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "Comment" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "Help" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "Insert" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "Key" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "New paragraph" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "Note" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "Paragraph" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Font:" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "Text &colour:" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "&Align:" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "Left" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "Centre" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "Right" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "Border &width:" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "Approved" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "As Is" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "Confidential" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "Departmental" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "Draft" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "Experimental" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "Expired" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "Final" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "For Comment" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "For Public Release" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "Not Approved" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "Not For Public Release" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "Sold" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "Top Secret" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "Bookmark" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "Information" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "Stamp symbol:" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "&Width:" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "Line start:" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "Line end:" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "Square" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "Circle" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "Diamond" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "Open Arrow" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "Closed Arrow" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "None" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "Butt" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "Right Open Arrow" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "Right Closed Arrow" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "Slash" + +#: part/annotationwidgets.cpp:531 +#, kde-format +msgid "Leader line length:" +msgstr "Leader line length:" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "Leader line extensions length:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "Enabled" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "Shape fill:" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Type:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "Strike out" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "File attachment symbol:" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "Graph" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "Push Pin" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "Paperclip" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "Tag" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "File" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "N/A" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "No description available." + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "Name:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "Description:" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "Caret symbol:" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "None" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "Close this note" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "Options" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"This annotation may contain LaTeX code.\n" +"Click here to render." + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "Cannot find latex executable." + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "LaTeX rendering failed" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "Cannot find dvipng executable." + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "A problem occurred during the execution of the 'latex' command." + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "A problem occurred during the execution of the 'dvipng' command." + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"One bookmark" +msgstr[1] "" +"%1\n" +"\n" +"%2 bookmarks" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Bookmarks" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "Show for all documents" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, fuzzy, kde-format +#| msgid "S&earch:" +msgid "Search…" +msgstr "S&earch:" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, fuzzy, kde-format +#| msgid "Expand all" +msgid "Expand All" +msgstr "Expand all" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, fuzzy, kde-format +#| msgid "Collapse all" +msgid "Collapse All" +msgstr "Collapse all" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "Go to This Bookmark" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "Rename Bookmark" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Open Document" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "Remove all Bookmarks for this Document" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "Certificate Viewer" + +#: part/certificateviewer.cpp:50 +#, fuzzy, kde-format +#| msgid "Export..." +msgid "Export…" +msgstr "Export..." + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "General" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "Issued By" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "Common Name(CN)" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "EMail" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "Organisation(O)" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "Issued To" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "Validity" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "Fingerprints" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "SHA-1 Fingerprint" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "SHA-256 Fingerprint" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "Details" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "Certificate Data:" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "Where do you want to save this certificate?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "Certificate File (*.cer)" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "Could not export the certificate" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "&Colour Mode" + +#: part/colormodemenu.cpp:21 +#, kde-format +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "Change Colours" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "&Normal Colours" + +#: part/colormodemenu.cpp:41 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "&Invert Colours" + +#: part/colormodemenu.cpp:42 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "Change &Paper Colour" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "Change &Dark && Light Colours" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "Convert to &Black && White" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "Invert &Lightness" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "Invert L&uma (sRGB Linear)" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "Invert Luma (&Symmetric)" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "Shift Hue P&ositive" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "Shift Hue N&egative" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "Red" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "Green" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "Blue" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "Yellow" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "Black" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "White" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "Yellow Highlighter" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "Green Highlighter" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "Insert Text" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "Draw border around links" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "Change colours" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "Warning: these options can badly affect drawing speed." + +#: part/dlgaccessibility.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "Invert colours" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "Change paper colour" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "Change dark & light colours" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "Convert to black & white" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "Invert lightness" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "Invert luma (sRGB linear)" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "Invert luma (symmetric)" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "Shift hue positive" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "Shift hue negative" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "Colour mode:" + +#: part/dlgaccessibility.cpp:87 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Paper colour:" + +#: part/dlgaccessibility.cpp:99 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Dark colour:" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "Light colour:" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "Threshold:" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Contrast:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "Text-to-speech engine:" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "Text-to-speech voice:" + +#: part/dlgannotations.cpp:25 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Full Annotation Toolbar" + +#: part/dlgannotations.cpp:26 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Quick Annotation Toolbar" + +#: part/dlgannotations.cpp:28 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Annotation toolbar:" + +#: part/dlgannotations.cpp:34 +#, kde-format +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "Author:" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." + +#: part/dlgannotations.cpp:48 +#, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

Quick Annotation Tools

" +msgstr "

Quick Annotation Tools

" + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" +"Choose the editor you want to launch when Okular wants to open a source file." + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "Custom Text Editor" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Emacs client" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "Lyx client" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "TeXstudio" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "TeXiFy IDEA" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "Editor:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
\n" +"You can also put few placeholders:\n" +"
    \n" +"
  • %f - the file name
  • \n" +"
  • %l - the line of the file to be reached
  • \n" +"
  • %c - the column of the file to be reached
  • \n" +"
\n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"Set the command of a custom text editor to be launched.
\n" +"You can also put few placeholders:\n" +"
    \n" +"
  • %f - the file name
  • \n" +"
  • %l - the line of the file to be reached
  • \n" +"
  • %c - the column of the file to be reached
  • \n" +"
\n" +"If %f is not specified, then the file name is appended to the specified " +"command." + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "Command:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "Use smooth scrolling" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "Appearance:" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "Show scrollbars" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "Link the thumbnails with the page" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "Show hints and info messages" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "Notify about embedded files, forms, or signatures" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "Display document title in titlebar if available" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "Display file name only" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "Display full file path" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "When not displaying document title:" + +#: part/dlggeneral.cpp:92 +#, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "Use custom background colour:" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "Program features:" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "Open new files in tabs" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "Switch to existing tab if file is already open" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "Obey DRM limitations" + +#: part/dlggeneral.cpp:148 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "Reload document on file change" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "Show backend selection dialogue" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "Right to left reading direction" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" + +#: part/dlggeneral.cpp:178 +#, fuzzy, kde-format +#| msgctxt "@option:check Config dialog, general page" +#| msgid "Open in continuous mode by default" +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "Open in continuous mode by default" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "Open in continuous mode by default" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "When using Browse Tool, wrap cursor at screen edges" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "Overview columns:" + +#: part/dlggeneral.cpp:220 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%1%" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "Page Up/Down overlap:" + +#: part/dlggeneral.cpp:228 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%1%" + +#: part/dlggeneral.cpp:232 +#, fuzzy, kde-format +#| msgctxt "item:inlistbox Config dialog, general page, default zoom" +#| msgid "100%" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "100%" + +#: part/dlggeneral.cpp:233 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "Fit Width" + +#: part/dlggeneral.cpp:234 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "Fit Page" + +#: part/dlggeneral.cpp:235 +#, fuzzy, kde-format +#| msgid "Auto Fit" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "Auto Fit" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "" + +#: part/dlggeneral.cpp:237 +#, fuzzy, kde-format +#| msgctxt "item:inlistbox Config dialog, general page, default zoom" +#| msgid "" +#| "Defines the default zoom mode for files which were never opened before. " +#| "For files which were opened before the previous zoom is applied." +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "Default zoom:" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "Enable transparency effects" + +#: part/dlgperformance.cpp:28 +#, kde-format +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "CPU usage:" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "Low" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "Normal (default)" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "Aggressive" + +#: part/dlgperformance.cpp:38 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "Greedy" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "Memory usage:" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "Enable text anti-alias" + +#: part/dlgperformance.cpp:56 +#, kde-format +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "Rendering options:" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "Enable graphics anti-alias" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "Enable text hinting" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" + +#: part/dlgpresentation.cpp:38 +#, fuzzy, kde-format +#| msgctxt "Advance every %1 seconds" +#| msgid " second" +#| msgid_plural " seconds" +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] " second" +msgstr[1] " seconds" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "Advance automatically:" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "Loop after last page" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "Tap left/right side to go back/forward" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "Tap anywhere to go forward" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "Disabled" + +#: part/dlgpresentation.cpp:63 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Touch navigation:" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "Background colour:" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "Hidden after delay" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "Always visible" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "Always hidden" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "Mouse cursor:" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "Show progress indicator" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "Show summary page" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "Instant (Never use animations)" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "Replace" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "Random transition" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "Blinds vertical" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "Blinds horizontal" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "Box in" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "Box out" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "Dissolve" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "Fade" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "Glitter down" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "Glitter right" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "Glitter right-down" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "Split horizontal in" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "Split horizontal out" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "Split vertical in" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "Split vertical out" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "Wipe down" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "Wipe right" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "Wipe left" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "Wipe up" + +#: part/dlgpresentation.cpp:121 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Default transition:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "Preferred screen:" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

Drawing Tools

" +msgstr "

Drawing Tools

" + +#: part/dlgpresentation.cpp:171 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Current Screen" + +#: part/dlgpresentation.cpp:172 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Default Screen" + +#: part/dlgpresentation.cpp:178 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "Screen %1 (%2 %3 %4)" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "Screen %1 (disconnected)" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "Drawing Tool: %1" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "Eraser" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "&Name:" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "&Type:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "Appearance" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "Text markup" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "Geometrical shape" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "Create annotation tool" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "Edit annotation tool" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "Colour:" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "&Pen Width:" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "" + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "Create drawing tool" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "Edit drawing tool" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "Unknown" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Embedded Files" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "View" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "Name" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "Description" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "Size" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "Created" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "Modified" + +#: part/embeddedfilesdialog.cpp:154 +#, fuzzy, kde-format +#| msgid "Save As" +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "Save As" + +#: part/embeddedfilesdialog.cpp:155 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "&View" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "Could not load print preview part" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "Print Preview" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "Close" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "F&ind:" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "Text to search for" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Next" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "Jump to next match" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Previous" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "Jump to previous match" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "Modify search behaviour" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "Case sensitive" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "From current page" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "Find as you type" + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "All Files (*)" + +#: part/formwidgets.cpp:1280 +#, fuzzy, kde-format +#| msgid "Unsigned Signature Field (Click to Sign)" +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "Unsigned Signature Field (Click to Sign)" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, fuzzy, kde-format +#| msgctxt "@action:button" +#| msgid "Sign" +msgid "&Sign…" +msgstr "Sign" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "Signature Properties" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "Search Options" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "Case Sensitive" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "Regular Expression" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "Layers" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "of" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "Zoom" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "Zoom to 100%" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "Rotate &Right" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "Right" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "Rotate &Left" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "Left" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "Original Orientation" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "&Trim View" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "&Trim Margins" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "Trim To &Selection" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "Fit &Width" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "Fit &Page" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "&Auto Fit" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "Fit Wi&ndow to Page" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "&View Mode" + +#: part/pageview.cpp:594 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "&Single Page" + +#: part/pageview.cpp:595 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "&Facing Pages" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "Facing Pages (&Centre First Page)" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "&Overview" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "&Continuous" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "Use Right to Left Reading Direction" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "&Browse" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "&Zoom" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "Area &Selection" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "&Text Selection" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "T&able Selection" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "&Magnifier" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "Selection Tools" + +#: part/pageview.cpp:711 +#, fuzzy, kde-format +#| msgid "Digitally &Sign..." +msgid "Digitally &Sign…" +msgstr "Digitally &Sign..." + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "Speak Whole Document" + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "Speak From Current Page" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "Speak Current Page" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "Stop Speaking" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "Pause/Resume Speaking" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "Scroll Up" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Scroll Down" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "Scroll Page Up" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "Scroll Page Down" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "Show Forms" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] " Loaded a one-page document." +msgstr[1] " Loaded a %1-page document." + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "Copy Table Contents to Clipboard" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "Text (1 character)" +msgstr[1] "Text (%1 characters)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "Copy to Clipboard" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "Speak Text" + +#: part/pageview.cpp:2863 +#, kde-format +msgid "Image (%1 × %2 pixels)" +msgstr "Image (%1 × %2 pixels)" + +#: part/pageview.cpp:2865 +#, kde-format +msgid "Save to File…" +msgstr "Save to File…" + +#: part/pageview.cpp:2885 +#, kde-format +msgid "Image [%1 × %2] copied to clipboard." +msgstr "Image [%1 × %2] copied to clipboard." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "Save file" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "Images (*.png *.jpeg)" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "File not saved." + +#: part/pageview.cpp:2901 +#, kde-format +msgid "Image [%1 × %2] saved to %3 file." +msgstr "Image [%1 × %2] saved to %3 file." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "Copy Text" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "Go to '%1'" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "Fit Width" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "Fit Page" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "Auto Fit" + +#: part/pageview.cpp:4107 +#, kde-format +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1%" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "Search for '%1' with" + +#: part/pageview.cpp:4404 +#, fuzzy, kde-format +#| msgid "Configure Web Shortcuts..." +msgid "Configure Web Shortcuts…" +msgstr "Configure Web Shortcuts..." + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "Follow This Link" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "Play this Sound" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "Stop Sound" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "Copy Link Address" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "Search for '%1' in this document" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Welcome" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "Select zooming area. Right-click to zoom out." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "Click to see the magnified view." + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "Draw a rectangle around the text/graphics to copy." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "Select text" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" + +#: part/pageview.cpp:5188 +#, fuzzy, kde-format +#| msgid "Certificates" +msgid "No valid certificates" +msgstr "Certificates" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, fuzzy, kde-format +#| msgid "View in Certificate Manager" +msgid "Open Certificate Manager" +msgstr "View in Certificate Manager" + +#: part/pageview.cpp:5200 +#, fuzzy, kde-format +#| msgid "" +#| "There are no available signing certificates.
For more information, " +#| "please see the section about Adding Digital Signatures " +#| "in the manual." +msgid "" +"There are no available signing certificates.
Launch Certificate Manager " +"to import or manage certificates
For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" +"There are no available signing certificates.
For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, fuzzy, kde-format +#| msgid "Certificates" +msgid "No certificates found" +msgstr "Certificates" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" +"There are no available signing certificates.
For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "You have unsaved changes. Please save the document before signing it." + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "Draw a rectangle to insert the signature field" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "Draw a rectangle around the page area you wish to keep visible" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "New Text Note" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "Text of the new note:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Signed by: %1\n" +"\n" +"Date: %2" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "Start Over" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "Sign" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name" +msgstr "Author name" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name for the annotation:" +msgstr "Author name for the annotation:" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "Draw an ellipse (drag to select a zone)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "Highlight text" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "Draw a freehand line" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "Inline Text Annotation (drag to select a zone)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "Put a pop-up note" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "Draw a polygon (click on the first point to close it)" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "Draw a rectangle" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "Squiggle text" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "Put a stamp symbol" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "Draw a straight line" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "Strike out text" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "Underline text" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "Typewriter Annotation (drag to select a zone)" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "Highlighter" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "Add favourite annotation" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Custom annotation name:" +msgstr "Custom annotation name:" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&File" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "&Settings" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "&Help" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "&Orientation" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "&Bookmarks" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "Viewer Toolbar" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Thumbnails" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "Annotations" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
Please save to a file in order to move them if you want to continue to " +"edit the document." + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" +"Signing in progress. You can adjust the position and size of the signature" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "Finish Signing" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "Previous" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "Go back to the Previous Page" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "Moves to the previous page of the document" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "Next" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "Advance to the Next Page" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "Moves to the next page of the document" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "Beginning of the document" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "Moves to the beginning of the document" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "End of the document" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "Moves to the end of the document" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "Rename the current bookmark" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "Previous Bookmark" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "Go to the previous bookmark" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "Next Bookmark" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "Go to the next bookmark" + +#: part/part.cpp:748 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgid "Configure Okular…" +msgstr "Configure Okular..." + +#: part/part.cpp:751 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Configure Viewer…" +msgstr "Configure Viewer" + +#: part/part.cpp:757 +#, fuzzy, kde-format +#| msgid "Configure Viewer Backends" +msgid "Configure Viewer Backends…" +msgstr "Configure Viewer Backends" + +#: part/part.cpp:759 +#, fuzzy, kde-format +#| msgid "Configure Backends" +msgid "Configure Backends…" +msgstr "Configure Backends" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "About Backend" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "Reloa&d" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "Reload the current document from disk." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "Close &Find Bar" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "Page Number" + +#: part/part.cpp:817 +#, fuzzy, kde-format +#| msgctxt "@action" +#| msgid "Configure Color Modes..." +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "Configure Colour Modes..." + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "Select All Text on Current Page" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "Show S&idebar" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "Show &Page Bar" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "Show &Signatures Panel" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "&Embedded Files" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "E&xport As" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "S&hare" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "P&resentation" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "Open Con&taining Folder" + +#: part/part.cpp:945 +#, fuzzy, kde-format +#| msgid "&Import PostScript as PDF..." +msgid "&Import PostScript as PDF…" +msgstr "&Import PostScript as PDF..." + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "Switch Blackscreen Mode" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "Erase Drawing" + +#: part/part.cpp:962 +#, fuzzy, kde-format +#| msgid "Configure Annotations..." +msgid "Configure Annotations…" +msgstr "Configure Annotations..." + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "Play/Pause Presentation" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." + +#: part/part.cpp:1123 +#, kde-format +msgid "Document can't be saved" +msgstr "Document cannot be saved" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "Could not open '%1' (%2) " + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "The loading of %1 has been cancelled." + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "Could not open %1. Reason: %2" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "Configure Viewer Backends" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "Configure Backends" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "ps2pdf not found" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "PostScript files (%1)" + +#: part/part.cpp:1357 +#, fuzzy, kde-format +#| msgid "Importing PS file as PDF (this may take a while)..." +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "Importing PS file as PDF (this may take a while)..." + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "Please enter the password to read the document:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "Incorrect password. Try again:" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "Document Password" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "This document has XFA forms, which are currently unsupported." + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "Request to Change Viewing Mode" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "Enter Presentation Mode" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "Deny Request" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "Could not open %1. %2" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "File Changed" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "Continue Reloading" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "Abort Reloading" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "Continue Closing" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "Abort Closing" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "Do you want to save your changes to \"%1\" or discard them?" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "Close Document" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"This link points to a close document action that does not work when using " +"the embedded viewer." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Reloading the document…" +msgstr "Reloading the document..." + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "Contents" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "Signatures" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Go to Page" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "&Page:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "Enter the new name of the bookmark:" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "Rename this Bookmark" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "Remove this Bookmark" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "Save As" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "Unsupported extension" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "Choose New Name" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "Save - Warning" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "Save a Copy Elsewhere" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
Do you want to continue?" +msgstr "" +"The current document is protected with a password.
In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
Do you want to continue?" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "Could not open the temporary file for saving." + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
Do you want to continue?" +msgstr "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
Do you want to continue?" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "File could not be saved in '%1'. Try to save it to another location." + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "Filled form contents" + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "User annotations" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "Warning" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, fuzzy, kde-format +#| msgid "Save as Okular document archive..." +msgid "Save as Okular document archive…" +msgstr "Save as Okular document archive..." + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "Continue" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "Continue losing changes" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "File could not be saved in '%1'. %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist any more." + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "Expand whole section" +msgid "Expand Whole Section" +msgstr "Expand whole section" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "Collapse whole section" +msgid "Collapse Whole Section" +msgstr "Collapse whole section" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "Sync Thumbnail with Page" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Tools" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "Speak" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "Print" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "Printing this document is not allowed." + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "Go to the place you were before" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "Go to the place you were after" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"File Error! Could not create temporary file " +"%1." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "No Bookmarks" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "There was a problem sharing the document: %1" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "Share" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "Document shared successfully" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "You can find the shared document at: %1" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "&Edit" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "&View" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&Go" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "&Tools" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "Main Toolbar" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "Annotation Toolbar" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, kde-format +msgid "Quick Annotation Toolbar" +msgstr "Quick Annotation Toolbar" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "General Options" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Accessibility" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "Accessibility Reading Aids" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Performance" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "Performance Tuning" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "Configure Viewer" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Presentation" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "Options for Presentation Mode" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "Annotation Options" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "Editor" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "Editor Options" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "Find Next" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 – Presentation" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "Switch Screen" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "Screen %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "Exit Presentation Mode" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Title: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Pages: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "Click to begin" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "Pause" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "Play" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "Giving a presentation" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "Unknown File" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "%1 Properties" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "&Fonts" + +#: part/propertiesdialog.cpp:145 +#, fuzzy, kde-format +#| msgid "Reading font information..." +msgid "Reading font information…" +msgstr "Reading font information..." + +#: part/propertiesdialog.cpp:158 +#, kde-format +msgid "&Page Sizes" +msgstr "&Page Sizes" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "&Extract Font" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Type 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Type 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "Type 1C (OT)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Type 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType (OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID Type 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID Type 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID Type 0C (OT)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType (OT)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "TeX PK" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "TeX virtual" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "TeX Font Metric" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "TeX FreeType-handled" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "Unknown" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "Embedded (subset)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "Fully embedded" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "No" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "Yes (subset)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "Yes" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "%1 (substituting with %2)" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "[n/a]" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "Unknown font" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "Embedded: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "Name" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "Type" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "File" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "Page" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "Size" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "Revision Preview" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "Where do you want to save this revision?" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "Could not save file %1." + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "Could not view revision." + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "Enter at least 3 letters to filter pages" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "Case Sensitive" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "Match Phrase" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "Match All Words" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "Match Any Word" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "Filter Options" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, kde-format +msgid "Certificates" +msgstr "Certificates" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "Select certificate to sign with:" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, fuzzy, kde-format +#| msgid "Allow" +msgid "All" +msgstr "Allow" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, fuzzy, kde-format +#| msgid "Certificates" +msgid "Only QES certificates" +msgstr "Certificates" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "Reason:" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, kde-format +msgid "optional" +msgstr "optional" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "Location:" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, kde-format +msgid "Background:" +msgstr "Background:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "Choose..." + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, kde-format +msgid "Recent backgrounds:" +msgstr "Recent backgrounds:" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

No annotations

To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
" +msgstr "" +"

No annotations

To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
" + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "Group by Page" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "Group by Author" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "Show annotations for current page only" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "Expand all elements" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "Collapse all elements" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "Properties" + +#: part/signaturepartutils.cpp:180 +#, kde-format +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Images (%1)" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "Select background image" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "Forget image" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "Forget all images" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "Enter password (if any) to unlock certificate: %1" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "Enter certificate password" + +#: part/signaturepartutils.cpp:244 +#, kde-format +msgid "Enter document password" +msgstr "Enter document password" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "Save Signed File As" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "%1_signed.%2" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "Validity Status" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "Signature Validity:" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "Document Modifications:" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "Additional Information" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "Signed By:" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "Signing Time:" + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "Document Version" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Document Revision %1 of %2" + +#: part/signaturepropertiesdialog.cpp:88 +#, fuzzy, kde-format +#| msgid "View Signed Version..." +msgid "View Signed Version…" +msgstr "View Signed Version..." + +#: part/signaturepropertiesdialog.cpp:95 +#, fuzzy, kde-format +#| msgid "View Certificate..." +msgid "View Certificate…" +msgstr "View Certificate..." + +#: part/signaturepropertiesdialog.cpp:97 +#, kde-format +msgid "View in Certificate Manager" +msgstr "View in Certificate Manager" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "KDE Certificate Manager (kleopatra) not found" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "Show bookmarked pages only" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "Play" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Pause" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "Stop" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "Videos not supported in this okular" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "Videos not supported in this Okular" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, fuzzy, kde-format +#| msgid "&Edit" +msgid "&Edit…" +msgstr "&Edit" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "&Remove" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "Move &Up" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "Move &Down" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "Default Drawing Tool #%1" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "There's already a tool with that name. Using a default one" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "Duplicated Name" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "Page of the document to be shown" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "Start the document in presentation mode" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "Start with print dialogue" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "Start with print dialogue and exit after printing" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "\"Unique instance\" control" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "Not raise window" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "Find a string on the text" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "Sets the external editor command" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "Documents to open. Specify '-' to read from stdin." + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "Error: Cannot open more than one document with the --unique switch" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" +"Error: Cannot open more than one document with the --presentation switch" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "Error: Cannot open more than one document with the --print switch" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "Error: Cannot open more than one document with the --page switch" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "Error: Cannot open more than one document with the --find switch" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "Unable to find the Okular component: %1" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "Sidebar" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "Unable to find the Okular component." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"Click to open a file\n" +"Click and hold to open a recent file" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"Click to open a file or Click and hold to select a recent file" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "Next Tab" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "Previous Tab" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "Undo close tab" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "Lock Sidebar" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "All files (*)" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "All supported files (%1)" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "Open Document" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "Confirm Close" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "Close Tabs" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "You are about to close %1 tabs. Are you sure you want to continue?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "Warn me when I attempt to close multiple tabs" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "&Copy Path" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "&Open Containing Folder" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "&Forget This Item" + +#: shell/welcomescreen.cpp:137 +#, kde-format +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "No recent documents" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "Welcome to Okular" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Open Document..." + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, kde-format +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Recent documents" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "Forget All" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "Hide welcome screen" + +#~ msgid "Geometry with Comment" +#~ msgstr "Geometry with Comment" + +#~ msgid "Geometry" +#~ msgstr "Geometry" + +#~ msgctxt "Annotation type: contents" +#~ msgid "%1: %2" +#~ msgstr "%1: %2" + +#~ msgid "Modified: %1" +#~ msgstr "Modified: %1" + +#~ msgid "Find..." +#~ msgstr "Find..." + +#~ msgid "Go To Page..." +#~ msgstr "Go To Page..." + +#~ msgid "Play movie..." +#~ msgstr "Play movie..." + +#~ msgid "Search..." +#~ msgstr "Search..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "&Save As..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "&View..." + +#~ msgid "&Sign..." +#~ msgstr "&Sign..." + +#~ msgid "Configure Viewer..." +#~ msgstr "Configure Viewer..." + +#~ msgid "Configure Viewer Backends..." +#~ msgstr "Configure Viewer Backends..." + +#~ msgid "Configure Backends..." +#~ msgstr "Configure Backends..." + +#~ msgid "&Add..." +#~ msgstr "&Add..." + +#~ msgid "&Edit..." +#~ msgstr "&Edit..." + +#~ msgctxt "%1 is a file path" +#~ msgid "" +#~ "Could not sign. Invalid certificate password or could not write to '%1'" +#~ msgstr "" +#~ "Could not sign. Invalid certificate password or could not write to '%1'" + +#, fuzzy +#~| msgid "" +#~| "All your signing certificates are either not valid yet or are past their " +#~| "validity date." +#~ msgid "All your signing certificates are invalid" +#~ msgstr "" +#~ "All your signing certificates are either not valid yet or are past their " +#~ "validity date." + +#~ msgid "Unsigned Signature %1" +#~ msgstr "Unsigned Signature %1" + +#, fuzzy +#~| msgctxt "Unknown author" +#~| msgid "Unknown" +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "Unknown" + +#, fuzzy +#~| msgid "Unsigned Signature %1" +#~ msgctxt "Signature type" +#~ msgid "Unsigned signature" +#~ msgstr "Unsigned Signature %1" + +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "Spinbox prefix: Advance automatically: every n seconds" +#~ msgid "every " +#~ msgstr "every " + +#~ msgctxt "Suffix for the pen width, eg '10 px'" +#~ msgid " px" +#~ msgstr " px" + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " %" + +#, fuzzy +#~| msgctxt "%1 is a file path" +#~| msgid "" +#~| "Could not sign. Invalid certificate password or could not write to '%1'" +#~ msgctxt "%1 is a file path" +#~ msgid "Could not sign. Could not write to '%1'" +#~ msgstr "" +#~ "Could not sign. Invalid certificate password or could not write to '%1'" + +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "Fit Width" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "Fit Page" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Auto Fit" +#~ msgstr "Auto Fit" + +#~ msgid "*|All Files" +#~ msgstr "*|All Files" + +#~ msgid "Missing alert type" +#~ msgstr "Missing alert type" + +#~ msgid "" +#~ "The file '%1' has been modified by another program, which means it can no " +#~ "longer be saved." +#~ msgstr "" +#~ "The file '%1' has been modified by another program, which means it can no " +#~ "longer be saved." + +#~ msgid "Show Sidebar" +#~ msgstr "Show Sidebar" + +#~ msgctxt "@info" +#~ msgid "" +#~ "experimental feature.Stamps inserted in PDF documents are " +#~ "not visible in PDF readers other than Okular." +#~ msgstr "" +#~ "experimental feature.Stamps inserted in PDF documents are " +#~ "not visible in PDF readers other than Okular." + +#~ msgctxt "@info" +#~ msgid "" +#~ "The version of the Poppler library this Okular was compiled with does not " +#~ "support signing documents with passwords. Please ask your provider to " +#~ "update it to 22.02 or later." +#~ msgstr "" +#~ "The version of the Poppler library this Okular was compiled with does not " +#~ "support signing documents with passwords. Please ask your provider to " +#~ "update it to 22.02 or later." + +#~ msgctxt "@title:window" +#~ msgid "Poppler library is too old" +#~ msgstr "Poppler library is too old" + +#~ msgctxt "@info" +#~ msgid "" +#~ "Stamps inserted in PDF documents are not visible in PDF readers other " +#~ "than Okular" +#~ msgstr "" +#~ "Stamps inserted in PDF documents are not visible in PDF readers other " +#~ "than Okular" + +#~ msgctxt "@title:window" +#~ msgid "Experimental feature" +#~ msgstr "Experimental feature" + +#, fuzzy +#~| msgid "Format" +#~ msgid "Form" +#~ msgstr "Format" + +#~ msgid "Remove Bookmarks" +#~ msgstr "Remove Bookmarks" + +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "&Annotate" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "Highlight" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Underline" +#~ msgstr "Underline" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Squiggle" +#~ msgstr "Squiggle" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Strike Out" +#~ msgstr "Strike Out" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "Insert Text" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "Insert Inline Note" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "Insert Popup Note" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Freehand Line" +#~ msgstr "Draw Freehand Line" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Straight line" +#~ msgstr "Draw Straight line" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Arrow" +#~ msgstr "Draw Arrow" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Rectangle" +#~ msgstr "Draw Rectangle" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Ellipse" +#~ msgstr "Draw Ellipse" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Polygon" +#~ msgstr "Draw Polygon" + +#~ msgid "Highlight in Yellow" +#~ msgstr "Highlight in Yellow" + +#~ msgid "Highlight in Green" +#~ msgstr "Highlight in Green" + +#~ msgid "Insert Inline Note" +#~ msgstr "Insert Inline Note" + +#~ msgid "Insert Popup Note" +#~ msgstr "Insert Popup Note" + +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "&Select Area" + +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "Select &Text" + +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "Select T&able" + +#~ msgctxt "verb" +#~ msgid "&Magnify" +#~ msgstr "&Magnify" + +#~ msgid "Bookmark annotation" +#~ msgstr "Bookmark annotation" + +#~ msgid "&Toggle Change Colors" +#~ msgstr "&Toggle Change Colours" + +#~ msgctxt "@option:check Config dialog, presentation page, transitions" +#~ msgid "Enable transitions" +#~ msgstr "Enable transitions" + +#~| msgid "Advance every:" +#~ msgctxt "@label:spinbox Config dialog, presentation page" +#~ msgid "Advance every:" +#~ msgstr "Advance every:" + +#, fuzzy +#~| msgid "Use custom background color" +#~ msgctxt "@label:listbox Config dialog, general page" +#~ msgid "Custom background color:" +#~ msgstr "Use custom background colour" + +#~ msgid "Draw border around &Images" +#~ msgstr "Draw border around &Images" + +#~ msgid "Speech" +#~ msgstr "Speech" + +#~ msgid "Engine" +#~ msgstr "Engine" + +#~ msgid "Identity" +#~ msgstr "Identity" + +#~ msgid "Au&thor:" +#~ msgstr "Au&thor:" + +#~ msgid "View Options" +#~ msgstr "View Options" + +#~ msgctxt "@info:whatsthis" +#~ msgid "" +#~ "Defines the default zoom mode for files which were never opened before.\n" +#~ "For files which were opened before the previous zoom is applied." +#~ msgstr "" +#~ "Defines the default zoom mode for files which were never opened before.\n" +#~ "For files which were opened before the previous zoom is applied." + +#~ msgid "Navigation" +#~ msgstr "Navigation" + +#~ msgid "Placement" +#~ msgstr "Placement" + +#~ msgid "Screen:" +#~ msgstr "Screen:" + +#~ msgid "Drawing Tool Configuration" +#~ msgstr "Drawing Tool Configuration" + +#~ msgid "&Get Books From Internet..." +#~ msgstr "&Get Books From Internet..." + +#~ msgid "Reviews" +#~ msgstr "Reviews" + +#~ msgctxt "@item:inlistbox Color name" +#~ msgid "%1" +#~ msgstr "%1" + +#~ msgid "Hide Forms" +#~ msgstr "Hide Forms" + +#~ msgid "&Review" +#~ msgstr "&Review" + +#~ msgid "Annotations author" +#~ msgstr "Annotations author" + +#~ msgid "Please insert your name or initials:" +#~ msgstr "Please insert your name or initials:" + +#~ msgid "Show &Navigation Panel" +#~ msgstr "Show &Navigation Panel" + +#~ msgid "Show Text" +#~ msgstr "Show Text" + +#~ msgid "Small Icons" +#~ msgstr "Small Icons" + +#~ msgid "Large Icons" +#~ msgstr "Large Icons" + +#~ msgid "" +#~ "Click to use the current selection tool\n" +#~ "Click on the arrow to choose another selection tool" +#~ msgstr "" +#~ "Click to use the current selection tool\n" +#~ "Click on the arrow to choose another selection tool" + +#~ msgid "Created: %1" +#~ msgstr "Created: %1" + +#~ msgid "Style" +#~ msgstr "Style" + +#~ msgid "&Size:" +#~ msgstr "&Size:" + +#~ msgid "Inner color:" +#~ msgstr "Inner colour:" + +#~ msgid "Name: %1" +#~ msgstr "Name: %1" + +#~ msgid "Size: %1" +#~ msgstr "Size: %1" + +#~ msgid "&Browse Tool" +#~ msgstr "&Browse Tool" + +#~ msgid "&Zoom Tool" +#~ msgstr "&Zoom Tool" + +#~ msgctxt "Zoom Tool" +#~ msgid "Zoom" +#~ msgstr "Zoom" + +#~ msgid "&Selection Tool" +#~ msgstr "&Selection Tool" + +#~ msgctxt "Select Tool" +#~ msgid "Selection" +#~ msgstr "Selection" + +#~ msgid "&Text Selection Tool" +#~ msgstr "&Text Selection Tool" + +#~ msgid "T&able Selection Tool" +#~ msgstr "T&able Selection Tool" + +#~| msgid "None" +#~ msgid " None" +#~ msgstr " None" + +#~ msgid "" +#~ "The document requested to be launched in presentation mode.\n" +#~ "Do you want to allow it?" +#~ msgstr "" +#~ "The document requested to be launched in presentation mode.\n" +#~ "Do you want to allow it?" + +#~ msgid "Presentation Mode" +#~ msgstr "Presentation Mode" + +#~ msgid "Allow the presentation mode" +#~ msgstr "Allow the presentation mode" + +#~ msgid "Do Not Allow" +#~ msgstr "Do Not Allow" + +#~ msgid "Do not allow the presentation mode" +#~ msgstr "Do not allow the presentation mode" + +#~ msgid "" +#~ "Your annotation changes will not be saved automatically. Use File -> Save " +#~ "As...\n" +#~ "or your changes will be lost once the document is closed" +#~ msgstr "" +#~ "Your annotation changes will not be saved automatically. Use File -> Save " +#~ "As...\n" +#~ "or your changes will be lost once the document is closed" + +#~ msgid "" +#~ "Your annotations are saved internally by Okular.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" +#~ msgstr "" +#~ "Your annotations are saved internally by Okular.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" + +#~ msgid "Save &Copy As..." +#~ msgstr "Save &Copy As..." + +#~ msgid "" +#~ "Your annotations will not be exported.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" +#~ msgstr "" +#~ "Your annotations will not be exported.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" + +#~ msgid "" +#~ "End of document reached.\n" +#~ "Continue from the beginning?" +#~ msgstr "" +#~ "End of document reached.\n" +#~ "Continue from the beginning?" + +#~ msgid "" +#~ "Beginning of document reached.\n" +#~ "Continue from the bottom?" +#~ msgstr "" +#~ "Beginning of document reached.\n" +#~ "Continue from the bottom?" + +#~ msgid "Current maintainer" +#~ msgstr "Current maintainer" + +#~ msgid " sec." +#~ msgstr " sec." + +#~ msgid "Pencil color:" +#~ msgstr "Pencil colour:" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A0" +#~ msgstr "landscape DIN/ISO A0" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A0" +#~ msgstr "portrait DIN/ISO A0" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A1" +#~ msgstr "landscape DIN/ISO A1" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A1" +#~ msgstr "portrait DIN/ISO A1" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A2" +#~ msgstr "landscape DIN/ISO A2" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A2" +#~ msgstr "portrait DIN/ISO A2" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A3" +#~ msgstr "landscape DIN/ISO A3" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A3" +#~ msgstr "portrait DIN/ISO A3" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A4" +#~ msgstr "landscape DIN/ISO A4" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A4" +#~ msgstr "portrait DIN/ISO A4" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A5" +#~ msgstr "landscape DIN/ISO A5" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A5" +#~ msgstr "portrait DIN/ISO A5" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A6" +#~ msgstr "landscape DIN/ISO A6" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A6" +#~ msgstr "portrait DIN/ISO A6" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A7" +#~ msgstr "landscape DIN/ISO A7" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A7" +#~ msgstr "portrait DIN/ISO A7" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A8" +#~ msgstr "landscape DIN/ISO A8" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A8" +#~ msgstr "portrait DIN/ISO A8" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A9" +#~ msgstr "landscape DIN/ISO A9" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A9" +#~ msgstr "portrait DIN/ISO A9" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B0" +#~ msgstr "landscape DIN/ISO B0" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B0" +#~ msgstr "portrait DIN/ISO B0" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B1" +#~ msgstr "landscape DIN/ISO B1" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B1" +#~ msgstr "portrait DIN/ISO B1" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B2" +#~ msgstr "landscape DIN/ISO B2" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B2" +#~ msgstr "portrait DIN/ISO B2" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B3" +#~ msgstr "landscape DIN/ISO B3" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B3" +#~ msgstr "portrait DIN/ISO B3" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B4" +#~ msgstr "landscape DIN/ISO B4" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B4" +#~ msgstr "portrait DIN/ISO B4" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B5" +#~ msgstr "landscape DIN/ISO B5" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B5" +#~ msgstr "portrait DIN/ISO B5" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B6" +#~ msgstr "landscape DIN/ISO B6" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B6" +#~ msgstr "portrait DIN/ISO B6" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B7" +#~ msgstr "landscape DIN/ISO B7" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B7" +#~ msgstr "portrait DIN/ISO B7" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B8" +#~ msgstr "landscape DIN/ISO B8" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B8" +#~ msgstr "portrait DIN/ISO B8" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B9" +#~ msgstr "landscape DIN/ISO B9" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B9" +#~ msgstr "portrait DIN/ISO B9" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B10" +#~ msgstr "landscape DIN/ISO B10" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B10" +#~ msgstr "portrait DIN/ISO B10" + +#~ msgctxt "paper size" +#~ msgid "landscape letter" +#~ msgstr "landscape letter" + +#~ msgctxt "paper size" +#~ msgid "portrait letter" +#~ msgstr "portrait letter" + +#~ msgctxt "paper size" +#~ msgid "landscape legal" +#~ msgstr "landscape legal" + +#~ msgctxt "paper size" +#~ msgid "portrait legal" +#~ msgstr "portrait legal" + +#~ msgctxt "paper size" +#~ msgid "landscape executive" +#~ msgstr "landscape executive" + +#~ msgctxt "paper size" +#~ msgid "portrait executive" +#~ msgstr "portrait executive" + +#~ msgctxt "paper size" +#~ msgid "landscape Comm10E" +#~ msgstr "landscape Comm10E" + +#~ msgctxt "paper size" +#~ msgid "portrait Comm10E" +#~ msgstr "portrait Comm10E" + +#~ msgctxt "paper size" +#~ msgid "landscape DLE" +#~ msgstr "landscape DLE" + +#~ msgctxt "paper size" +#~ msgid "portrait DLE" +#~ msgstr "portrait DLE" + +#~ msgctxt "paper size" +#~ msgid "landscape folio" +#~ msgstr "landscape folio" + +#~ msgctxt "paper size" +#~ msgid "portrait folio" +#~ msgstr "portrait folio" + +#~ msgctxt "paper size" +#~ msgid "ledger" +#~ msgstr "ledger" + +#~ msgctxt "paper size" +#~ msgid "tabloid" +#~ msgstr "tabloid" + +#~ msgctxt "paper size" +#~ msgid "unknown landscape paper size" +#~ msgstr "unknown landscape paper size" + +#~ msgctxt "paper size" +#~ msgid "unknown portrait paper size" +#~ msgstr "unknown portrait paper size" + +#~ msgid "Toggle Drawing Mode" +#~ msgstr "Toggle Drawing Mode" + +#~ msgid "Starting Jovie Text-to-Speech service Failed: %1" +#~ msgstr "Starting Jovie Text-to-Speech service Failed: %1" + +#~ msgid "Search Columns" +#~ msgstr "Search Columns" + +#~ msgid "All Visible Columns" +#~ msgstr "All Visible Columns" + +#~ msgid "No document opened." +#~ msgstr "No document opened." + +#~ msgid "Can't open more than one document in the unique Okular instance." +#~ msgstr "Can't open more than one document in the unique Okular instance." + +#~ msgid "No matches found for '%1'." +#~ msgstr "No matches found for '%1'." + +#~ msgid "Search in progress..." +#~ msgstr "Search in progress..." + +#~ msgid "Searching for %1" +#~ msgstr "Searching for %1" + +#~ msgid "Identity Settings" +#~ msgstr "Identity Settings" + +#~ msgid "Highlight Properties" +#~ msgstr "Highlight Properties" + +#~ msgid "Ink Properties" +#~ msgstr "Ink Properties" + +#~ msgctxt "Annotation tool" +#~ msgid "Text Annotation" +#~ msgstr "Text Annotation" + +#~ msgctxt "Annotation tool" +#~ msgid "Green Ink" +#~ msgstr "Green Ink" + +#~ msgctxt "Annotation tool" +#~ msgid "Yellow Highlight" +#~ msgstr "Yellow Highlight" + +#~ msgctxt "Annotation tool" +#~ msgid "Straight Yellow Line" +#~ msgstr "Straight Yellow Line" + +#~ msgid "Black Underlining" +#~ msgstr "Black Underlining" + +#~ msgctxt "Annotation tool" +#~ msgid "Underline the text with a black line" +#~ msgstr "Underline the text with a black line" + +#~ msgctxt "Annotation tool" +#~ msgid "A cyan ellipse" +#~ msgstr "A cyan ellipse" + +#~ msgid "Ink" +#~ msgstr "Ink" + +#, fuzzy +#~| msgid "Hide Forms" +#~ msgid "Reset Forms" +#~ msgstr "Hide Forms" + +#~ msgid "Moves to the first page of the document" +#~ msgstr "Moves to the first page of the document" + +#~ msgid "Moves to the last page of the document" +#~ msgstr "Moves to the last page of the document" + +#~ msgid "You must set this name:" +#~ msgstr "You must set this name:" + +#~ msgid "Toggles between File Path and Title" +#~ msgstr "Toggles between File Path and Title" + +#~ msgctxt "%1 is \"Title\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#~ msgctxt "%1 is \"File Path\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#~ msgctxt "@action:button" +#~ msgid "&Overwrite" +#~ msgstr "&Overwrite" + +#~ msgid "Pages:" +#~ msgstr "Pages:" + +#, fuzzy +#~| msgid "&Properties" +#~ msgid "&Properties..." +#~ msgstr "&Properties" + +#, fuzzy +#~ msgid "Pink Highlighter" +#~ msgstr "&Properties" + +#, fuzzy +#~| msgid "Moves to the next page of the document" +#~ msgid "Could not load the necessary plugin to view the document." +#~ msgstr "Moves to the next page of the document" + +#, fuzzy +#~| msgid "Fit to &Text" +#~ msgid "Fit &Text" +#~ msgstr "Fit to &Text" + +#, fuzzy +#~| msgid "Advance every:" +#~ msgid "&Advanced" +#~ msgstr "Advance every:" + +#, fuzzy +#~ msgid "Contents:" +#~ msgstr "&Continuous" + +#~ msgid "Hide &Navigation Panel" +#~ msgstr "Hide &Navigation Panel" + +#, fuzzy +#~| msgid "Page %1" +#~ msgid "page %1" +#~ msgstr "Page %1" + +#~ msgid "Show &search bar in thumbnails list" +#~ msgstr "Show &search bar in thumbnails list" + +#, fuzzy +#~| msgid "Speak Text" +#~ msgid "Free Text" +#~ msgstr "Speak Text" + +#, fuzzy +#~| msgid "General" +#~ msgid "DlgGeneral" +#~ msgstr "General" + +#~ msgid "Program Look" +#~ msgstr "Program Look" + +#~ msgid "Reading Aids" +#~ msgstr "Reading Aids" + +#, fuzzy +#~| msgid "Could not open %1" +#~ msgid "Click for Open %1" +#~ msgstr "Could not open %1" + +#, fuzzy +#~ msgid "contents:" +#~ msgstr "&Continuous" + +#, fuzzy +#~| msgid "Pages:" +#~ msgid "flags:" +#~ msgstr "Pages:" + +#~ msgid "&Watch file" +#~ msgstr "&Watch file" + +#~ msgid "Clear filter" +#~ msgstr "Clear filter" + +#~ msgid "Topic" +#~ msgstr "Topic" + +#~ msgid "Fit to Page &Width" +#~ msgstr "Fit to Page &Width" + +#~ msgid "&Two Pages" +#~ msgstr "&Two Pages" + +#~ msgid "Starting -- find text as you type" +#~ msgstr "Starting -- find text as you type" + +#~ msgid "Security" +#~ msgstr "Security" + +#~ msgid "Optimized" +#~ msgstr "Optimised" + +#~ msgid "Unknown Encryption" +#~ msgstr "Unknown Encryption" + +#~ msgid "Unknown Optimization" +#~ msgstr "Unknown Optimisation" + +#~ msgid "unknown" +#~ msgstr "unknown" + +#~ msgid "-" +#~ msgstr "-" + +#~ msgid "[none]" +#~ msgstr "[none]" + +#, fuzzy +#~ msgid "kpdf, a kde pdf viewer based on poppler" +#~ msgstr "kpdf, a kde pdf viewer based on xpdf" + +#~ msgid "KPDF::Part" +#~ msgstr "KPDF::Part" + +#~ msgid "Converting from ps to pdf..." +#~ msgstr "Converting from ps to pdf..." + +#~ msgid "" +#~ "You do not have ps2pdf installed, so kpdf cannot open postscript files." +#~ msgstr "" +#~ "You do not have ps2pdf installed, so kpdf cannot open postscript files." + +#~ msgid "Text found: \"%1\"." +#~ msgstr "Text found: \"%1\"." + +#~ msgid "Text not found: \"%1\"." +#~ msgstr "Text not found: \"%1\"." + +#~ msgctxt "PDF v. " +#~ msgid "PDF v. %1" +#~ msgstr "PDF v. %1" + +#~ msgid "" +#~ "The margins you specified change the page aspect ratio. Do you want to " +#~ "print with the aspect ratio changed or do you want the margins to be " +#~ "adapted so that the aspect ratio is preserved?" +#~ msgstr "" +#~ "The margins you specified change the page aspect ratio. Do you want to " +#~ "print with the aspect ratio changed or do you want the margins to be " +#~ "adapted so that the aspect ratio is preserved?" + +#~ msgid "Aspect ratio change" +#~ msgstr "Aspect ratio change" + +#~ msgid "Print with specified margins" +#~ msgstr "Print with specified margins" + +#~ msgid "Print adapting margins to keep aspect ratio" +#~ msgstr "Print adapting margins to keep aspect ratio" + +#~ msgid "Xpdf author" +#~ msgstr "Xpdf author" + +#~ msgid "" +#~ "You are trying to overwrite \"%1\" with itself. This is not allowed. " +#~ "Please save it in another location." +#~ msgstr "" +#~ "You are trying to overwrite \"%1\" with itself. This is not allowed. " +#~ "Please save it in another location." diff --git a/po/en_GB/okular_comicbook.po b/po/en_GB/okular_comicbook.po new file mode 100644 index 0000000..9582c73 --- /dev/null +++ b/po/en_GB/okular_comicbook.po @@ -0,0 +1,60 @@ +# translation of okular_comicbook.po to British English +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Malcolm Hunter , 2008. +# Andrew Coles , 2009. +# Steve Allewell , 2018. +msgid "" +msgstr "" +"Project-Id-Version: okular_comicbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2018-12-02 12:45+0000\n" +"Last-Translator: Steve Allewell \n" +"Language-Team: British English \n" +"Language: en_GB\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Malcolm Hunter" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "malcolm.hunter@gmx.co.uk" + +#: document.cpp:97 +#, kde-format +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "Cannot open document, neither unrar nor unarchiver were found." + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "" +"The version of unrar on your system is not suitable for opening comicbooks." + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "Unknown ComicBook format." + +#~ msgid "ComicBook Backend" +#~ msgstr "ComicBook Backend" + +#~ msgid "A renderer for various comic book formats" +#~ msgstr "A renderer for various comic book formats" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/en_GB/okular_djvu.po b/po/en_GB/okular_djvu.po new file mode 100644 index 0000000..89b0a7f --- /dev/null +++ b/po/en_GB/okular_djvu.po @@ -0,0 +1,139 @@ +# translation of okular_djvu.po to British English +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Malcolm Hunter , 2008. +# Andrew Coles , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_djvu\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-03-02 00:18+0000\n" +"Last-Translator: Andrew Coles \n" +"Language-Team: British English \n" +"Language: en_GB\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Malcolm Hunter" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "malcolm.hunter@gmx.co.uk" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "Editor" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "Publisher" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "Volume" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "Type of document" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "Unknown" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "Component Files" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "Unknown" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "Single Page" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "Bundled" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "Indirect" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "Bundled (old)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "Indexed (old)" + +#~ msgid "DjVu Backend" +#~ msgstr "DjVu Backend" + +#~ msgid "DjVu backend based on DjVuLibre." +#~ msgstr "DjVu backend based on DjVuLibre." + +#~ msgid "© 2006-2008 Pino Toscano" +#~ msgstr "© 2006-2008 Pino Toscano" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgctxt "Unknown title" +#~ msgid "Unknown" +#~ msgstr "Unknown" + +#~ msgctxt "Unknown author" +#~ msgid "Unknown" +#~ msgstr "Unknown" + +#~ msgctxt "Unknown editor" +#~ msgid "Unknown" +#~ msgstr "Unknown" + +#~ msgctxt "Unknown publisher" +#~ msgid "Unknown" +#~ msgstr "Unknown" + +#~ msgctxt "Unknown creation date" +#~ msgid "Unknown" +#~ msgstr "Unknown" + +#~ msgctxt "Unknown volume information" +#~ msgid "Unknown" +#~ msgstr "Unknown" + +#~ msgctxt "Unknown type of document" +#~ msgid "Unknown" +#~ msgstr "Unknown" + +#~ msgid "A DjVu backend" +#~ msgstr "A DjVu backend" diff --git a/po/en_GB/okular_dvi.po b/po/en_GB/okular_dvi.po new file mode 100644 index 0000000..025e9c4 --- /dev/null +++ b/po/en_GB/okular_dvi.po @@ -0,0 +1,788 @@ +# translation of okular_dvi.po to British English +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Malcolm Hunter , 2008. +# Andrew Coles , 2009. +# SPDX-FileCopyrightText: 2014, 2024 Steve Allewell +msgid "" +msgstr "" +"Project-Id-Version: okular_dvi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-08-24 11:59+0100\n" +"Last-Translator: Steve Allewell \n" +"Language-Team: British English\n" +"Language: en_GB\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 24.05.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Malcolm Hunter, Steve Allewell" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "malcolm.hunter@gmx.co.uk, steve.allewell@gmail.com" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

" +msgstr "" +"

Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

" + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialogue which you will find in the File-Menu for a precise error " +"report." + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

" +msgstr "" +"

Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

" + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialogue which you will find in the File-Menu for a precise error " +"report." + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "The DVI file does not start with the preamble." + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "The postamble does not begin with the POST command." + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "The postamble contained a command other than FNTDEF." + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "The page %1 does not start with the BOP command." + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

PATH: %2

" +msgstr "" +"

The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

PATH: %2

" + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

%2

" +msgstr "" +"

The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

%2

" + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "File corruption. %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "Not all PostScript files could be embedded into your document. %1" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "All external PostScript files were embedded into your document." + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "The specified file '%1' does not exist." + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "The DVI code set a character of an unknown font." + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "" +"The DVI code referred to font no. %1, which was not previously defined." + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "The stack was not empty when the EOP command was encountered." + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "The stack was empty when a POP command was encountered." + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "The DVI code referred to a font which was not previously defined." + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "An illegal command was encountered." + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "The unknown op-code %1 was encountered." + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "Embedding %1" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
" +msgstr "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
" + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
" +msgstr "" +"Page %1: The PostScript file %2 could not be found.
" + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "The papersize data '%1' could not be parsed." + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

PATH: %1

%2

" +msgstr "" +"

Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

PATH: %1

%2

" + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

PATH: %1

%2

" +msgstr "" +"

There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

PATH: %1

%2

" + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." + +#: fontpool.cpp:482 +#, fuzzy, kde-format +#| msgid "Currently generating %1 at %2 dpi..." +msgid "Currently generating %1 at %2 dpi…" +msgstr "Currently generating %1 at %2 dpi..." + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "Generator/Date" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "Font file not found" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "%1 × %2" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "%1 × %2 mm" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "%1 × %2 in" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "portrait" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "landscape" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "That makes 25 errors. Further error messages will not be printed." + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" +"Error in DVIfile '%1', page %2. Colour pop command issued when the colour " +"stack is empty." + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"File not found: \n" +" %1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "The special command '%1' is not implemented." + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "The font file %1 is broken, or it could not be opened or read." + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" +"FreeType reported an error when setting the character size for font file %1." + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "FreeType is unable to load glyph no. %1 from font file %2." + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "FreeType is unable to render glyph no. %1 from font file %2." + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "Glyph no. %1 is empty." + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "Glyph no. %1 from font file %2 is empty." + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "FreeType is unable to load metric for glyph no. %1 from font file %2." + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "Cannot open font file %1." + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "TexFont_PK::operator[]: Character %1 not defined in font %2" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "Unexpected %1 in PK file %2" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "The character %1 is too large in file %2" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "Wrong number of bits stored: char. %1, font %2" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "Bad pk file (%1), too many bits" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "Font has non-square aspect ratio " + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "Cannot find font %1, file %2." + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "Checksum mismatch for font file %1" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "Cannot recognise format for font file %1" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"Fatal error.\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "Wrong command byte found in VF macro list: %1" + +#~ msgid "" +#~ "

The Ghostview program, which Okular uses internally to display the " +#~ "PostScript graphics that is included in this DVI file, is generally able " +#~ "to write its output in a variety of formats. The sub-programs that " +#~ "Ghostview uses for these tasks are called 'device drivers'; there is one " +#~ "device driver for each format that Ghostview is able to write. Different " +#~ "versions of Ghostview often have different sets of device drivers " +#~ "available. It seems that the version of Ghostview that is installed on " +#~ "this computer does not contain any of the device drivers " +#~ "that are known to Okular.

It seems unlikely that a regular " +#~ "installation of Ghostview would not contain these drivers. This error may " +#~ "therefore point to a serious misconfiguration of the Ghostview " +#~ "installation on your computer.

If you want to fix the problems with " +#~ "Ghostview, you can use the command gs --help to display " +#~ "the list of device drivers contained in Ghostview. Among others, Okular " +#~ "can use the 'png256', 'jpeg' and 'pnm' drivers. Note that Okular needs to " +#~ "be restarted to re-enable PostScript support.

" +#~ msgstr "" +#~ "

The Ghostview program, which Okular uses internally to display the " +#~ "PostScript graphics that is included in this DVI file, is generally able " +#~ "to write its output in a variety of formats. The sub-programs that " +#~ "Ghostview uses for these tasks are called 'device drivers'; there is one " +#~ "device driver for each format that Ghostview is able to write. Different " +#~ "versions of Ghostview often have different sets of device drivers " +#~ "available. It seems that the version of Ghostview that is installed on " +#~ "this computer does not contain any of the device drivers " +#~ "that are known to Okular.

It seems unlikely that a regular " +#~ "installation of Ghostview would not contain these drivers. This error may " +#~ "therefore point to a serious misconfiguration of the Ghostview " +#~ "installation on your computer.

If you want to fix the problems with " +#~ "Ghostview, you can use the command gs --help to display " +#~ "the list of device drivers contained in Ghostview. Among others, Okular " +#~ "can use the 'png256', 'jpeg' and 'pnm' drivers. Note that Okular needs to " +#~ "be restarted to re-enable PostScript support.

" + +#~ msgid "DVI Backend" +#~ msgstr "DVI Backend" + +#~ msgid "A DVI file renderer" +#~ msgstr "A DVI file renderer" + +#~ msgid "© 2006 Luigi Toscano" +#~ msgstr "© 2006 Luigi Toscano" + +#~ msgid "" +#~ "

Okular relies on the kpsewhich program to locate font files on " +#~ "your hard disk and to generate PK fonts, if necessary.

" +#~ msgstr "" +#~ "

Okular relies on the kpsewhich program to locate font files on " +#~ "your hard disk and to generate PK fonts, if necessary.

" + +#~ msgid "Okular is currently generating bitmap fonts..." +#~ msgstr "Okular is currently generating bitmap fonts..." + +#~ msgid "Aborts the font generation. Do not do this." +#~ msgstr "Aborts the font generation. Do not do this." + +#~ msgid "" +#~ "Okular is currently generating bitmap fonts which are needed to display " +#~ "your document. For this, Okular uses a number of external programs, such " +#~ "as MetaFont. You can find the output of these programs later in the " +#~ "document info dialog." +#~ msgstr "" +#~ "Okular is currently generating bitmap fonts which are needed to display " +#~ "your document. For this, Okular uses a number of external programs, such " +#~ "as MetaFont. You can find the output of these programs later in the " +#~ "document info dialogue." + +#~ msgid "Okular is generating fonts. Please wait." +#~ msgstr "Okular is generating fonts. Please wait." + +#~ msgid "Font Generation Progress Dialog" +#~ msgstr "Font Generation Progress Dialogue" + +#~ msgid "Abort" +#~ msgstr "Abort" + +#~ msgid "What is happening here?" +#~ msgstr "What is happening here?" + +#~ msgid "%v of %m" +#~ msgstr "%v of %m" + +#~ msgid "Please be patient" +#~ msgstr "Please be patient" + +#~ msgid "*.pdf|Portable Document Format (*.pdf)" +#~ msgstr "*.pdf|Portable Document Format (*.pdf)" + +#~ msgid "Export File As" +#~ msgstr "Export File As" + +#~ msgid "" +#~ "The file %1\n" +#~ "exists. Do you want to overwrite it?" +#~ msgstr "" +#~ "The file %1\n" +#~ "exists. Do you want to overwrite it?" + +#~ msgid "Overwrite File" +#~ msgstr "Overwrite File" + +#~ msgid "Overwrite" +#~ msgstr "Overwrite" + +#~ msgid "Using dvipdfm to export the file to PDF" +#~ msgstr "Using dvipdfm to export the file to PDF" + +#~ msgid "" +#~ "Okular is currently using the external program 'dvipdfm' to convert your " +#~ "DVI-file to PDF. Sometimes that can take a while because dvipdfm needs to " +#~ "generate its own bitmap fonts Please be patient." +#~ msgstr "" +#~ "Okular is currently using the external program 'dvipdfm' to convert your " +#~ "DVI-file to PDF. Sometimes that can take a while because dvipdfm needs to " +#~ "generate its own bitmap fonts Please be patient." + +#~ msgid "Waiting for dvipdfm to finish..." +#~ msgstr "Waiting for dvipdfm to finish..." + +#~ msgid "*.ps|PostScript (*.ps)" +#~ msgstr "*.ps|PostScript (*.ps)" + +#~ msgid "Using dvips to export the file to PostScript" +#~ msgstr "Using dvips to export the file to PostScript" + +#~ msgid "" +#~ "Okular is currently using the external program 'dvips' to convert your " +#~ "DVI-file to PostScript. Sometimes that can take a while because dvips " +#~ "needs to generate its own bitmap fonts Please be patient." +#~ msgstr "" +#~ "Okular is currently using the external program 'dvips' to convert your " +#~ "DVI-file to PostScript. Sometimes that can take a while because dvips " +#~ "needs to generate its own bitmap fonts Please be patient." + +#~ msgid "Waiting for dvips to finish..." +#~ msgstr "Waiting for dvips to finish..." + +#~ msgid "Functionality Unavailable" +#~ msgstr "Functionality Unavailable" + +#~ msgid "" +#~ "File corruption Okular could not interpret your DVI " +#~ "file. This is most commonly caused by a corrupted file." +#~ msgstr "" +#~ "File corruption Okular could not interpret your DVI " +#~ "file. This is most commonly caused by a corrupted file." + +#~ msgid "DVI File Error" +#~ msgstr "DVI File Error" + +#~ msgid "Not All Font Files Found" +#~ msgstr "Not All Font Files Found" + +#~ msgid "Locating fonts..." +#~ msgstr "Locating fonts..." + +#~ msgid "Problem locating fonts" +#~ msgstr "Problem locating fonts" + +#~ msgid "Font generation aborted" +#~ msgstr "Font generation aborted" + +#~ msgid "Export: %1 to PDF" +#~ msgstr "Export: %1 to PDF" + +#~ msgid "Export: %1 to PostScript" +#~ msgstr "Export: %1 to PostScript" + +#~ msgid "The fontlist is currently empty." +#~ msgstr "The fontlist is currently empty." + +#~ msgid "TeX Name" +#~ msgstr "TeX Name" + +#~ msgid "Family" +#~ msgstr "Family" + +#~ msgid "Zoom" +#~ msgstr "Zoom" + +#~ msgid "Type" +#~ msgstr "Type" + +#~ msgid "Encoding" +#~ msgstr "Encoding" + +#~ msgid "Comment" +#~ msgstr "Comment" + +#~ msgid "TeX virtual" +#~ msgstr "TeX virtual" + +#~ msgid "TeX Font Metric" +#~ msgstr "TeX Font Metric" + +#~ msgid "FreeType" +#~ msgstr "FreeType" + +#~ msgid "Could not allocate memory for a font structure" +#~ msgstr "Could not allocate memory for a font structure" + +#~ msgid "Not enough memory to load the DVI-file." +#~ msgstr "Not enough memory to load the DVI-file." + +#~ msgid "Could not load the DVI-file." +#~ msgstr "Could not load the DVI-file." + +#, fuzzy +#~ msgid "Checksum mismatch" +#~ msgstr "Checksum mismatch" + +#, fuzzy +#~ msgid " in font file " +#~ msgstr " in font file " + +#~ msgid "Could not allocate memory for a macro table." +#~ msgstr "Could not allocate memory for a macro table." + +#, fuzzy +#~ msgid "Virtual character " +#~ msgstr "Virtual character " + +#, fuzzy +#~ msgid " in font " +#~ msgstr " in font " + +#, fuzzy +#~ msgid " ignored." +#~ msgstr " ignored." + +#~ msgid "Fatal Error" +#~ msgstr "Fatal Error" diff --git a/po/en_GB/okular_epub.po b/po/en_GB/okular_epub.po new file mode 100644 index 0000000..12eb901 --- /dev/null +++ b/po/en_GB/okular_epub.po @@ -0,0 +1,56 @@ +# translation of okular_epub.po to British English +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Malcolm Hunter , 2008. +# Steve Allewell , 2014. +msgid "" +msgstr "" +"Project-Id-Version: okular_epub\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2014-06-29 13:09+0100\n" +"Last-Translator: Steve Allewell \n" +"Language-Team: British English \n" +"Language: en_GB\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Malcolm Hunter, Steve Allewell" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "malcolm.hunter@gmx.co.uk, steve.allewell@gmail.com" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "Error while opening the EPub document." + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "EPub" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "EPub Backend Configuration" + +#~ msgid "EPub Backend" +#~ msgstr "EPub Backend" + +#~ msgid "An EPub backend" +#~ msgstr "An EPub backend" + +#~ msgid "© 2008 Ely Levy" +#~ msgstr "© 2008 Ely Levy" + +#~ msgid "Ely Levy" +#~ msgstr "Ely Levy" diff --git a/po/en_GB/okular_fax.po b/po/en_GB/okular_fax.po new file mode 100644 index 0000000..ea03c38 --- /dev/null +++ b/po/en_GB/okular_fax.po @@ -0,0 +1,44 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Andrew Coles , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_fax\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-03-02 00:29+0000\n" +"Last-Translator: Andrew Coles \n" +"Language-Team: British English \n" +"Language: en_GB\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Andrew Coles" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "andrew_coles@yahoo.co.uk" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "Unable to load document" + +#~ msgid "Fax Backend" +#~ msgstr "Fax Backend" + +#~ msgid "A G3/G4 fax document backend" +#~ msgstr "A G3/G4 fax document backend" + +#~ msgid "© 2008 Tobias Koenig" +#~ msgstr "© 2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/en_GB/okular_fictionbook.po b/po/en_GB/okular_fictionbook.po new file mode 100644 index 0000000..3633921 --- /dev/null +++ b/po/en_GB/okular_fictionbook.po @@ -0,0 +1,81 @@ +# translation of okular_fictionbook.po to British English +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Malcolm Hunter , 2008. +# Steve Allewell , 2014. +msgid "" +msgstr "" +"Project-Id-Version: okular_fictionbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2014-06-29 13:09+0100\n" +"Last-Translator: Steve Allewell \n" +"Language-Team: British English \n" +"Language: en_GB\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Malcolm Hunter, Steve Allewell" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "malcolm.hunter@gmx.co.uk, steve.allewell@gmail.com" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "Document is not a valid FictionBook" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "Unable to open document: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "Document is not a valid ZIP archive" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "Invalid document structure (main directory is missing)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "No content found in the document" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "Invalid XML document: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "FictionBook" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "FictionBook Backend Configuration" + +#~ msgid "Fiction Book Backend" +#~ msgstr "Fiction Book Backend" + +#~ msgid "A renderer for FictionBook eBooks" +#~ msgstr "A renderer for FictionBook eBooks" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/en_GB/okular_ghostview.po b/po/en_GB/okular_ghostview.po new file mode 100644 index 0000000..2617b8e --- /dev/null +++ b/po/en_GB/okular_ghostview.po @@ -0,0 +1,92 @@ +# translation of okular_ghostview.po to British English +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Malcolm Hunter , 2008. +# Andrew Coles , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_ghostview\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-04-12 14:30+0100\n" +"Last-Translator: Andrew Coles \n" +"Language-Team: British English \n" +"Language: en_GB\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Malcolm Hunter" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "malcolm.hunter@gmx.co.uk" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "Use Platform Fonts" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "General Settings" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "&Use platform fonts" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Ghostscript Backend Configuration" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "Document version" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "Language Level" + +#~ msgid "PS Backend" +#~ msgstr "PS Backend" + +#~ msgid "A PostScript file renderer." +#~ msgstr "A PostScript file renderer." + +#~ msgid "© 2007-2008 Albert Astals Cid" +#~ msgstr "© 2007-2008 Albert Astals Cid" + +#~ msgid "Based on the Spectre library." +#~ msgstr "Based on the Spectre library." + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" diff --git a/po/en_GB/okular_kimgio.po b/po/en_GB/okular_kimgio.po new file mode 100644 index 0000000..ef0e2b6 --- /dev/null +++ b/po/en_GB/okular_kimgio.po @@ -0,0 +1,71 @@ +# translation of okular_kimgio.po to British English +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Malcolm Hunter , 2008, 2009. +# Steve Allewell , 2017. +msgid "" +msgstr "" +"Project-Id-Version: okular_kimgio\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2017-11-26 15:06+0000\n" +"Last-Translator: Steve Allewell \n" +"Language-Team: British English \n" +"Language: en_GB\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Malcolm Hunter" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "malcolm.hunter@gmx.co.uk" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "Unable to load document: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." + +#~ msgid "Image Backend" +#~ msgstr "Image Backend" + +#~ msgid "A simple image backend" +#~ msgstr "A simple image backend" + +#~ msgid "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" +#~ msgstr "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" + +#~ msgid "Main Toolbar" +#~ msgstr "Main Toolbar" diff --git a/po/en_GB/okular_markdown.po b/po/en_GB/okular_markdown.po new file mode 100644 index 0000000..429abbd --- /dev/null +++ b/po/en_GB/okular_markdown.po @@ -0,0 +1,53 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Steve Allewell , 2017, 2018, 2019. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-03-31 19:30+0100\n" +"Last-Translator: Steve Allewell \n" +"Language-Team: British English \n" +"Language: en_GB\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 19.07.70\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Malcolm Hunter, Steve Allewell" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "malcolm.hunter@gmx.co.uk, steve.allewell@gmail.com" + +#: converter.cpp:59 converter.cpp:93 +#, kde-format +msgid "Failed to open the document" +msgstr "Failed to open the document" + +#: converter.cpp:106 converter.cpp:124 +#, kde-format +msgid "Failed to compile the Markdown document." +msgstr "Failed to compile the Markdown document." + +#: generator_md.cpp:58 +#, kde-format +msgid "Enable SmartyPants formatting" +msgstr "Enable SmartyPants formatting" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown" +msgstr "Markdown" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown Backend Configuration" +msgstr "Markdown Backend Configuration" diff --git a/po/en_GB/okular_mobi.po b/po/en_GB/okular_mobi.po new file mode 100644 index 0000000..21e6846 --- /dev/null +++ b/po/en_GB/okular_mobi.po @@ -0,0 +1,62 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Andrew Coles , 2009. +# Steve Allewell , 2014. +msgid "" +msgstr "" +"Project-Id-Version: okular_mobi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2014-06-29 13:09+0100\n" +"Last-Translator: Steve Allewell \n" +"Language-Team: British English \n" +"Language: en_GB\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Andrew Coles, Steve Allewell" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "andrew_coles@yahoo.co.uk, steve.allewell@gmail.com" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Error while opening the Mobipocket document." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "" +"This book is protected by DRM and can be displayed only on designated device" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "Mobipocket" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "Mobipocket Backend Configuration" + +#~ msgid "Mobipocket Backend" +#~ msgstr "Mobipocket Backend" + +#~ msgid "A mobipocket backend" +#~ msgstr "A mobipocket backend" + +#~ msgid "© 2008-2009 Jakub Stachowski" +#~ msgstr "© 2008-2009 Jakub Stachowski" + +#~ msgid "Jakub Stachowski" +#~ msgstr "Jakub Stachowski" diff --git a/po/en_GB/okular_poppler.po b/po/en_GB/okular_poppler.po new file mode 100644 index 0000000..de07625 --- /dev/null +++ b/po/en_GB/okular_poppler.po @@ -0,0 +1,435 @@ +# translation of okular_poppler.po to British English +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Malcolm Hunter , 2008. +# Andrew Coles , 2009, 2010. +# SPDX-FileCopyrightText: 2014, 2019, 2020, 2021, 2023, 2024 Steve Allewell +msgid "" +msgstr "" +"Project-Id-Version: okular_poppler\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-05-21 19:34+0100\n" +"Last-Translator: Steve Allewell \n" +"Language-Team: British English\n" +"Language: en_GB\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 24.02.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Malcolm Hunter, Steve Allewell" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "malcolm.hunter@gmx.co.uk, steve.allewell@gmail.com" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, fuzzy, kde-format +#| msgid "Enable overprint preview" +msgid "Enable overprint preview:" +msgstr "Enable overprint preview" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "Enhance thin lines:" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "No" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "Solid" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "Shape" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "Default scaling mode when printing:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "Fit to printable area" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "Fit to full page" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "None; print original size" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" +"Check revocation of digital signatures' certificates using 3rd-party servers" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "Signature backend:" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "Certificate Database" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "Default:" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "Custom:" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "Available Certificates" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "&Load Signatures" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "PDF Options" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "Print annotations" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "Include annotations in the printed document" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "Force rasterisation" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "Rasterise into an image before printing" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"Forces the rasterisation of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "Scaling mode for the printed pages" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "Scale mode:" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF v. %1.%2" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "Format" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "Encrypted" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "Unencrypted" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "Security" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "Yes" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "Optimised" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Signed by: %1\n" +"\n" +"Date: %2" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "Using Poppler %1" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "PDF Backend Configuration" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" + +#: pdfsettingswidget.cpp:120 +#, fuzzy, kde-format +#| msgid "&Load Signatures" +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "&Load Signatures" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "Issued to" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "E-mail" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "Expiration date" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "Restart needed" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "You need to restart Okular after changing the NSS directory settings" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter Password" +msgstr "Enter Password" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "Enter password to open %1:" + +#~ msgid "Not Available" +#~ msgstr "Not Available" + +#~ msgid "PDF Certificates" +#~ msgstr "PDF Certificates" + +#~ msgid "PDF Digital Signature Certificates" +#~ msgstr "PDF Digital Signature Certificates" + +#~ msgid "Select rasterization to enable this!" +#~ msgstr "Select rasterisation to enable this!" + +#~ msgid "PDF Backend" +#~ msgstr "PDF Backend" + +#~ msgid "A PDF file renderer" +#~ msgstr "A PDF file renderer" + +#~ msgid "© 2005-2008 Albert Astals Cid" +#~ msgstr "© 2005-2008 Albert Astals Cid" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Saving files with /Encrypt is not supported." +#~ msgstr "Saving files with /Encrypt is not supported." + +#~ msgid "Unknown" +#~ msgstr "Unknown" + +#~ msgid "Unknown Date" +#~ msgstr "Unknown Date" + +#~ msgid "Unknown Encryption" +#~ msgstr "Unknown Encryption" + +#~ msgid "Unknown Optimization" +#~ msgstr "Unknown Optimisation" + +#~ msgid "Please enter the password to read the document:" +#~ msgstr "Please enter the password to read the document:" + +#~ msgid "Incorrect password. Try again:" +#~ msgstr "Incorrect password. Try again:" diff --git a/po/en_GB/okular_tiff.po b/po/en_GB/okular_tiff.po new file mode 100644 index 0000000..24e7445 --- /dev/null +++ b/po/en_GB/okular_tiff.po @@ -0,0 +1,28 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Steve Allewell , 2020. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-09-26 14:09+0100\n" +"Last-Translator: Steve Allewell \n" +"Language-Team: British English \n" +"Language: en_GB\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 20.08.1\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Steve Allewell" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "steve.allewell@gmail.com" diff --git a/po/en_GB/okular_txt.po b/po/en_GB/okular_txt.po new file mode 100644 index 0000000..96bc6fd --- /dev/null +++ b/po/en_GB/okular_txt.po @@ -0,0 +1,49 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Steve Allewell , 2014. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2014-06-29 13:10+0100\n" +"Last-Translator: Steve Allewell \n" +"Language-Team: British English \n" +"Language: en_GB\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Steve Allewell" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "steve.allewell@gmail.com" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "Txt" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "Txt Backend Configuration" + +#~ msgid "Txt Backend" +#~ msgstr "Txt Backend" + +#~ msgid "Txt backend." +#~ msgstr "Txt backend." + +#~ msgid "© 2013 Azat Khuzhin" +#~ msgstr "© 2013 Azat Khuzhin" + +#~ msgid "Azat Khuzhin" +#~ msgstr "Azat Khuzhin" diff --git a/po/en_GB/okular_xps.po b/po/en_GB/okular_xps.po new file mode 100644 index 0000000..1e4b483 --- /dev/null +++ b/po/en_GB/okular_xps.po @@ -0,0 +1,58 @@ +# translation of okular_xps.po to British English +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Malcolm Hunter , 2008. +# Andrew Coles , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_xps\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-03-02 00:19+0000\n" +"Last-Translator: Andrew Coles \n" +"Language-Team: British English \n" +"Language: en_GB\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Malcolm Hunter" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "malcolm.hunter@gmx.co.uk" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "Revision" + +#~ msgid "XPS Backend" +#~ msgstr "XPS Backend" + +#~ msgid "An XPS backend" +#~ msgstr "An XPS backend" + +#~ msgid "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" +#~ msgstr "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" + +#~ msgid "Brad Hards" +#~ msgstr "Brad Hards" + +#~ msgid "Jiri Klement" +#~ msgstr "Jiri Klement" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" diff --git a/po/en_GB/org.kde.active.documentviewer.po b/po/en_GB/org.kde.active.documentviewer.po new file mode 100644 index 0000000..6a972cd --- /dev/null +++ b/po/en_GB/org.kde.active.documentviewer.po @@ -0,0 +1,241 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Steve Allewell , 2014, 2016, 2018, 2019, 2020, 2022. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2022-08-07 10:58+0100\n" +"Last-Translator: Steve Allewell \n" +"Language-Team: British English \n" +"Language: en_GB\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 22.04.3\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "Bookmarks" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "Certificate Viewer" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "Issued By" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "Common Name:" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "EMail:" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "Organisation:" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "Issued To" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "Validity" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "Issued On:" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "Expires On:" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "Fingerprints" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "SHA-1 Fingerprint:" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "SHA-256 Fingerprint:" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +#, fuzzy +#| msgid "Export..." +msgid "Export…" +msgstr "Export..." + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "Close" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "Certificate File (*.cer)" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "Error" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "Could not export the certificate." + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "Okular" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "" + +#: ui/Main.qml:49 +msgid "About" +msgstr "About" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "Password Needed" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "Remove bookmark" + +#: ui/MainView.qml:29 +msgid "Bookmark this page" +msgstr "Bookmark this page" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "Thumbnails" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "Table of contents" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "Signatures" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "Signature Properties" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "Validity Status" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "Signature Validity:" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "Document Modifications:" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "Additional Information" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "Signed By:" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "Signing Time:" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "Reason:" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "Location:" + +#: ui/SignaturePropertiesPage.qml:96 +msgid "Document Version" +msgstr "Document Version" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Document Revision %1 of %2" + +#: ui/SignaturePropertiesPage.qml:108 +#, fuzzy +#| msgid "Save Signed Version..." +msgid "Save Signed Version…" +msgstr "Save Signed Version..." + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +#, fuzzy +#| msgid "View Certificate..." +msgid "View Certificate…" +msgstr "View Certificate..." + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "Could not save the signature." + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "Not Available" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "No results found." + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "No document open" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "" + +#: ui/WelcomeView.qml:108 +#, fuzzy +#| msgid "Document Version" +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "Document Version" + +#~ msgid "Open..." +#~ msgstr "Open..." + +#~ msgid "Search..." +#~ msgstr "Search..." + +#~ msgid "" +#~ "No Documents found. To start to read, put some files in the Documents " +#~ "folder of your device." +#~ msgstr "" +#~ "No Documents found. To start to read, put some files in the Documents " +#~ "folder of your device." + +#~ msgid "Document viewer for Plasma Active using Okular" +#~ msgstr "Document viewer for Plasma Active using Okular" + +#~ msgid "Reader" +#~ msgstr "Reader" + +#~ msgid "Copyright 2012 Marco Martin" +#~ msgstr "Copyright 2012 Marco Martin" + +#~ msgid "Marco Martin" +#~ msgstr "Marco Martin" + +#~ msgid "URL of the file to open" +#~ msgstr "URL of the file to open" diff --git a/po/eo/okular.po b/po/eo/okular.po new file mode 100644 index 0000000..968f30d --- /dev/null +++ b/po/eo/okular.po @@ -0,0 +1,6174 @@ +# translation of okular.po to esperanto +# Copyright (C) 2007 Free Software Foundation, Inc. +# This file is distributed under the same license as the okular package. +# Pierre-Marie Pédrot , 2007. +# Axel Rousseau , 2010. +# Oliver Kellogg , 2023. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-03-15 22:36+0100\n" +"Last-Translator: Oliver Kellogg \n" +"Language-Team: Esperanto \n" +"Language: eo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: translate-po (https://github.com/zcribe/translate-po)\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Pierre-Marie Pédrot,Axel Rousseau,Oliver Kellogg" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" +"pedrotpmx@wanadoo.fr,axel@esperanto-jeunes.org,olivermkellogg@gmail.com" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Okular, universala dokumentrigardilo" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "Antaŭa prizorganto" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "Multaj kadra laboro, FictionBook-backend kaj iama ODT-backend" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "Ellaboranto" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymanski" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "Kreis okular el la KDPF kodobazo" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "Enrico Ros" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "KPDF programisto" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "Eugene Trounev" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "Komentarioj artaĵoj" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "Jiri Baum - NICTA" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "Tabla elekta ilo" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "Fabio D'Urso" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "Komentario plibonigoj" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "Iri al la paĝo %1" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "Malfermi eksteran dosieron" + +#: core/action.cpp:197 +#, fuzzy, kde-format +#| msgid "Execute '%1'..." +msgid "Execute '%1'…" +msgstr "Ruli '%1'..." + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "Unua paĝo" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "Antaŭa paĝo" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "Sekva paĝo" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "Lasta paĝo" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "Malantaŭen" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "Antaŭen" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Forlasi" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "Komenci prezenton" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "Fini prezenton" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go To Page…" +msgstr "Iri al la paĝo" + +#: core/action.cpp:365 +#, fuzzy, kde-format +#| msgid "Play sound..." +msgid "Play sound…" +msgstr "Ludi sonon..." + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "Ĝavoskripta Skripto" + +#: core/action.cpp:483 +#, fuzzy, kde-format +#| msgid "Play movie" +msgid "Play movie…" +msgstr "Ludi filmon" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "Ludi filmon" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "Halti filmon" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "Paŭzi filmon" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "Rekomenci filmon" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "Tiu Okular estas konstruita sen audio-subteno" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "Interna elekto" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
%1 (%2).

Please select which one to use:
" +msgstr "" +"Pli ol unu interno troviĝis por la mime-tipo:
%1 (%2).

Bonvolu elekti la unu uzendan:
" + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "Plej multaj paĝoj estas %1." + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "Portreto %1" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "Pejzaĝo %1" + +#: core/document.cpp:246 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 x %2 in (%3)" + +#: core/document.cpp:248 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 x %2 mm (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "Daŭrigante serĉon de la komenco" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "Daŭrigante serĉon de malsupre" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "" +"Ne povas trovi kromprogramon kiu kapablas pritrakti la pasitan dokumenton." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "forigi komentariojn" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"La dokumento provas lanĉi eksteran aplikaĵon kaj, por via sekureco, Okular " +"ne permesas tion." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "Neniu programo troviĝis por malfermi dosieron de mime-tipo %1." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "Ne eblis malfermi provizoran dosieron" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "Presa konvertiĝo malsukcesis" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "Presa procezo paneis" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "La presa procezo ne povis komenci" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "Presado al dosiero malsukcesis" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "Presilo estis en nevalida stato" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "Ne eblas trovi dosieron por presi" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "Ne estis dosiero por presi" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"Ne eblis trovi taŭgan binaron por presi. Certigu, ke CUPS lpr-binaro estas " +"disponebla" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "La paĝa presa grandeco estas nevalida" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "Ne eblis malfermi '%1'. Dosiero ne ekzistas" + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Titolo" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Temo" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Priskribo" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "Aŭtoro" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Kreinto" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Faristo" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "Kopirajto" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "Paĝoj" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Kreita" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Ŝanĝita" + +#: core/document.cpp:6032 +#, kde-format +msgid "MIME Type" +msgstr "MIME-Tipo" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "Kategorio" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Ĉefvortoj" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "Dosiera vojo" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "Dosiera grandeco" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "Paĝgrandeco" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "aldoni komentarion" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "forigi komentarion" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "modifi komentadajn proprietojn" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "traduki komentarion" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "ĝustigi komentarion" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "redakti tekston" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "redakti komentadajn enhavojn" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "redakti formularajn enhavojn" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "redakti listajn formularelektojn" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "redakti kombinan formularan elekton" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "redakti formularajn butonstatojn" + +#: core/generator.cpp:790 +#, fuzzy, kde-format +#| msgid "Plain &Text..." +msgid "Plain &Text…" +msgstr "Plata &teksto..." + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "OpenDocument Teksto" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "Elektebloj por Presi" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "Kongruas al printebla areo" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "Taŭgu al plena paĝo" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "Skala reĝimo:" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "Ne montri ĉi tiun mesaĝon denove" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "Ne disponebla" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" +"Interna subskrib-eraro. Bonvolu raporti cimon kun la paŝoj por reprodukti " +"ĝin. Erarkodo %1" + +#: core/signatureutils.cpp:498 +#, fuzzy, kde-kuit-format +#| msgid "Could not sign document with location: %1" +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "Ne eblis ŝargi la dosieron %1" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "Subskribado nuligita per uzanto" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "Ne eblis subskribi. Malĝusta pasfrazo" + +#: core/signatureutils.cpp:504 +#, fuzzy, kde-kuit-format +#| msgid "" +#| "Could not write signed document at %1, please ensure " +#| "you have selected a folder with write permission" +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" +"Ne eblis skribi subskribitan dokumenton ĉe %1, bonvolu " +"certigi ke vi elektis dosierujon kun skribpermeso." + +#: core/signatureutils.cpp:506 +#, kde-format +msgid "Unknown signing error" +msgstr "Nekonata subskrib-eraro" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Fonto: %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "&Defaŭlta tiparo:" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "Versio" + +#: gui/certificatemodel.cpp:41 +#, kde-format +msgid "Serial Number" +msgstr "Seria Numero" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "Eldonanto" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "Eldonita Je" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "Eksvalidiĝas Je" + +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Temo" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "Publika Ŝlosilo" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "Ŝlosila Uzado" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "V%1" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "%1 (%2 bitoj)" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "Proprieto" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "Valoro" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "Pop-up Noto" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "Tajpilo" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "Surlinia noto" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +#| msgid "Polygon with Comment" +msgid "Arrow with Comment" +msgstr "Plurangulo kun Komento" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "Sago" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "Rekta Linio kun Komento" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "Rekta Linio" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "Plurangulo kun Komento" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "Plurangulo" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgid "Stamp with Comment" +msgid "Rectangle with Comment" +msgstr "Stampi kun Komento" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "Rektangulo" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgid "Underline with Comment" +msgid "Ellipse with Comment" +msgstr "Substreki per Komento" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "Elipso" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "Emfazi per Komento" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "Emfazi" + +#: gui/guiutils.cpp:87 +#, kde-format +msgid "Squiggle with Comment" +msgstr "Squiggle kun Komento" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "Squiggle" + +#: gui/guiutils.cpp:91 +#, kde-format +msgid "Underline with Comment" +msgstr "Substreki per Komento" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "Substreki" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out with Comment" +msgstr "Forstreki per Komento" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "Forstreki" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "Stampi kun Komento" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "Stampo" + +#: gui/guiutils.cpp:106 +#, kde-format +msgid "Freehand Line with Comment" +msgstr "Libermana Linio kun Komento" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "Libermana Linio" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "Caret" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "Dosiero Aldonaĵo" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "Sono" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "Filmo" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Ekrano" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "Fenestraĵo" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "Riĉa Amaskomunikilaro" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation" +msgstr "Komentado" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "Nekonata" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Aŭtoro: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "Kie vi volas konservi %1?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "Ne eblis malfermi \"%1\" por skribado. La dosiero ne estis konservita." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "La subskribo estas kriptografie valida." + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "La subskribo estas kriptografie nevalida." + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "Digest Miskongruo okazis." + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "La subskriba CMS/PKCS7-strukturo estas misformita." + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "La petita subskribo ne ĉeestas en la dokumento." + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "La subskribo ne povis esti kontrolita." + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "Atestilo estas Fidinda." + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "Atestilo ne estas Fidinda." + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "La emisianto de atestilo estas nekonata." + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "Atestilo estas Revokita." + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "Atestilo Eksvalidiĝis." + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "Atestilo ankoraŭ ne estis kontrolita." + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "Konfirmado de atestilo en progreso" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "Nekonata problemo kun Atestilo aŭ koruptitaj datumoj." + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "MD2" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "MD5" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "SHA1" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "SHA256" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "SHA384" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "SHA512" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "SHA224" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "Nekonata Algoritmo" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "RSA" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "DSA" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "EC" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "Nekonata Tipo" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "Cifereca Subskribo" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "Ne-Repudio" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "Ĉifri Ŝlosilojn" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "Malĉifri Ŝlosilojn" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "Ŝlosila Interkonsento" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "Subskribi Atestilon" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "Subskribi CRL" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "Ĉifri Nur" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "Neniu Uzado Specifita" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr ", " + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "La dokumento ne estis modifita de kiam ĝi estis subskribita." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" +"La revizio de la dokumento kiu estis kovrita de ĉi tiu subskribo ne estis " +"modifita;\n" +"tamen okazis postaj ŝanĝoj al la dokumento." + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" +"La dokumento estis modifita en maniero ne permesita de antaŭa subskribinto." + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "La dokumentkontrolo de integreco ne povis esti finita." + +#: gui/signatureguiutils.cpp:208 +#, fuzzy, kde-format +#| msgid "This document has unsigned signature fields." +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "Ĉi tiu dokumento havas nesubskribitajn subskribajn kampojn." + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "Ĉi tiu dokumento estas ciferece subskribita." + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "" +"Ĉi tiu dokumento estas ciferece subskribita. Okazis ŝanĝoj ekde la lasta " +"subskribo." + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" +"Ĉi tiu dokumento estas ciferece subskribita. Kelkaj el la subskriboj ne " +"povis esti konvene validigitaj." + +#: gui/signaturemodel.cpp:141 +#, fuzzy, kde-format +#| msgid "Signature Type: %1" +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "Subskriba Tipo: %1" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "Kampo: %1 sur paĝo %2" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "Rev. %1: Subskribite de %2" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "Tempo de subskribo: %1" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "Kialo: %1" + +#: gui/signaturemodel.cpp:177 +#, kde-format +msgid "Location: %1" +msgstr "Loko: %1" + +#: gui/signaturemodel.cpp:185 +#, fuzzy, kde-format +#| msgctxt "Signature type" +#| msgid "PGP Signature" +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "PGP-Subskribo" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "" + +#: gui/signaturemodel.cpp:193 +#, fuzzy, kde-format +#| msgctxt "Unknown author" +#| msgid "Unknown" +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "Nekonata" + +#: gui/signaturemodel.cpp:195 +#, fuzzy, kde-format +#| msgid "Signature Validity:" +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "Valido de subskribo:" + +#: gui/signaturemodel.cpp:201 +#, kde-format +msgid "Signature Type: %1" +msgstr "Subskriba Tipo: %1" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "Ruĝa" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "Oranĝo" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "Flava" + +#: part/annotationactionhandler.cpp:151 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "Verda" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "Cejana" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "Blua" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "Magenta" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "Blanka" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "Griza" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "Nigra" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "Larĝo %1" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1%" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "Larĝo de linio de komentario (Neniu komentario elektita)" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "Koloro de komentario (Neniu komentario elektita)" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "Komenta plenkoloro (Neniu komentario elektita)" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "Komentario opakeco (Neniu komentario elektita)" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "Tiparo de komentario (Neniu komentario elektita)" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" +"Aldonu la nunan komentadon al la menuo de rapidaj komentarioj (Neniu " +"komentario elektita)" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" +"Limigu formoproporcion al 1:1 aŭ linia angulo al 15° paŝoj (Neniu komentario " +"elektita)" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" +"Altnivelaj agordoj por la nuna komentarioilo (Neniu komentario elektita)" + +#: part/annotationactionhandler.cpp:308 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Larĝo de linio de komentario" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "Komenta liniolarĝo (Nuna komentario havas neniun liniolarĝon)" + +#: part/annotationactionhandler.cpp:314 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Koloro de teksto de komentario" + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "Komenta randkoloro" + +#: part/annotationactionhandler.cpp:318 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Koloro de komentario" + +#: part/annotationactionhandler.cpp:322 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Komentario plenigkoloro" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "Komenta plenkoloro (Nuna komentario havas neniun plenigkoloron)" + +#: part/annotationactionhandler.cpp:328 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "Tiparo de komentario" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "Tiparo de komentario (La nuna komentario ne havas tiparon)" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "Limigi liniangulon al 15° paŝoj" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "Limigi formoproporcion al 1:1" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" +"Limigi formoproporcion al 1:1 aŭ linia angulo al 15° paŝoj (Ne subtenata de " +"nuna komentario)" + +#: part/annotationactionhandler.cpp:341 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Komentario opakeco" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "Aldonu la nunan komentadon al la menuo de rapidaj komentarioj" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "Altnivelaj agordoj por la nuna komenta ilo" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "Koloro" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "Pleniga Koloro" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "Travidebla" + +#: part/annotationactionhandler.cpp:445 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "Custom Color..." +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "Propra Koloro..." + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "Elekti koloron" + +#: part/annotationactionhandler.cpp:552 +#, kde-format +msgid "&Annotations" +msgstr "&Komentoj" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "Kaŝi" + +#: part/annotationactionhandler.cpp:554 +#, kde-format +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Montri pliajn komentadojn" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "Markilo" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "Substreki" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "Squiggle" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "Forstreki" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Tajpilo" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "Surlinia noto" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "Popup Noto" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "Libermana Linio" + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "Rekta linio" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "Sago" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "Rektangulo" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "Elipso" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "Plurangulo" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "Geometriaj formoj" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "Stampo" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Rapidaj Komentoj" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "Elekti komentilon el la rapidaj komentarioj" + +#: part/annotationactionhandler.cpp:651 +#, kde-format +msgid "Quick Annotation Bar" +msgstr "Rapid-Prinota breto" + +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "Aldoni al Rapidaj Prinotoj" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "Teni Aktiva" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "Konservi la komentadan ilon aktiva post uzo" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "Limigi Proporcion kaj Angulon de Komentado-Iloj" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "Tiparo" + +#: part/annotationactionhandler.cpp:681 +#, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Agordoj pri komentario" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "Liniolarĝo" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "Opakeco" + +#: part/annotationactionhandler.cpp:696 +#, kde-format +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1%" + +#: part/annotationmodel.cpp:320 +#, kde-format +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "Paĝo %1 (%2)" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "Paĝo %1" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "Komentado" +msgstr[1] "%1 Komentadoj" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "Malfermi ŝprucn&oton" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Forigi la legosignon" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Aldoni legosignon" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, kde-format +msgid "Copy Text to Clipboard" +msgstr "Kopii tekston al tondujo" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "Kopiado malpermesita de DRM" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "&Forigi" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "&Trajtoj" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, fuzzy, kde-format +#| msgctxt "%1 is the name of the file to save" +#| msgid "&Save '%1'..." +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "Kon&servi '%1'..." + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "&Apero" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "Ĝ&enerala" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&Aŭtoro:" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "Kreita:" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "Ŝanĝita:" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "Pop-up Noto Propraĵoj" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "Propraĵoj de skribmaŝino" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "Surliniaj notaj ecoj" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "Rektliniaj Propraĵoj" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "Plurlateraj Propraĵoj" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "Geometriaj ecoj" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "Tekstaj Markaj Propraĵoj" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "Stampaj ecoj" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "Freehand Line Propraĵoj" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "Caret Propraĵoj" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "Dosieraj Aldonaj Propraĵoj" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "Sonaj ecoj" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "Filmaj ecoj" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "Notaj ecoj" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "Elekti propran stampsimbolon el dosiero" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "Elekti propran poŝtmarkan simbolon" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" +"*.ico *.png *.xpm *.svg *.svgz | Piktogramodosieroj (*.ico *.png *.xpm *.svg " +"*.svgz)" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "Ne eblis ŝargi la dosieron %1" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "Nevalida dosiero" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&Koloro:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, fuzzy, kde-format +#| msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +#| msgid "%v%" +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%v%" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "Maldiafanec&o:" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "Piktogramo:" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "Komento" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "Helpo" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "Enmeti" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "Klavo" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "Nova alineo" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "Noto" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "Paragrafo" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Tiparo:" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "Teksta &koloro:" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "&Alliniigi:" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "Maldekstre" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "Centrigita" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "Dekstre" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "Bordo &larĝo:" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "Aprobita" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "Ĉi tiel" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "Konfidenca" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "Departementa" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "Malneto" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "Eksperimenta" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "Forpasinta" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "Fina" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "Komentinda" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "Publikinda" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "Ne aprobita" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "Ne publikinda" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "Vendita" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "Sekretega" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "Legosigno" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "Informo" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "Stampsimbolo:" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "&Larĝo:" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "Liniokomenco:" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "Liniofino:" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "Kvadrato" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "Rondo" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "Diamanto" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "Malfermi Sagon" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "Fermita Sago" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "Neniu" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "Pugo" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "Dekstra Malferma Sago" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "Dekstra Fermita Sago" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "Slash" + +#: part/annotationwidgets.cpp:531 +#, kde-format +msgid "Leader line length:" +msgstr "Longo de gvidlinio:" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "Longo de etendaĵoj de gvidlinio:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "Ebligita" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "Formplenigo:" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Tipo:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "Trastreki" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "Dosiera kunsila simbolo:" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "Grafeo" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "Puŝpinglo" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "Paperklipo" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "Etikedo" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "Dosiero" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "N/A" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "Neniu priskribo havebla." + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "Nomo:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "Priskribo:" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "Kartsimbolo:" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "Neniu" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "Fermi ĉi noton" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "Elektebloj" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"Ĉi tiu komentario povas enhavi LaTeX-kodon.\n" +"Alklaku ĉi tie por bildigi." + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "Ne povas trovi lateksan plenumeblan." + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "LaTeX-bildado malsukcesis" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "Ne povas trovi dvipng ruleblan." + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "Problemo okazis dum la efektivigo de la komando 'latekso'." + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "Problemo okazis dum la efektivigo de la komando 'dvipng'." + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"Unu legosigno" +msgstr[1] "" +"%1\n" +"\n" +"%2 legosignoj" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Legosignoj" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "Montri por ĉiuj dokumentoj" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, fuzzy, kde-format +#| msgid "Search..." +msgid "Search…" +msgstr "Serĉi..." + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, fuzzy, kde-format +#| msgid "Expand all" +msgid "Expand All" +msgstr "Plivastigi ĉion" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, fuzzy, kde-format +#| msgid "Collapse all" +msgid "Collapse All" +msgstr "Malvastigi ĉion" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "Iri al ĉi tiu legosigno" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "Alinomi la legosignon" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Malfermi Dokumenton" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "Forigi ĉiujn Legosignojn por ĉi tiu Dokumento" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "Atestilo-Vidilo" + +#: part/certificateviewer.cpp:50 +#, fuzzy, kde-format +#| msgid "Export..." +msgid "Export…" +msgstr "Eksporti..." + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "Ĝenerale" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "Publikigita de" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "Komuna Nomo (CN)" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "Retpoŝto" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "Organizo (O)" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "Eldonita Al" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "Valideco" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "Fingrospuroj" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "SHA-1 Fingrosigno" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "SHA-256 Fingrosigno" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "Detaloj" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "Atestildatumoj:" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "Kie vi volas konservi ĉi tiun atestilon?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "Atestilo (*.cer)" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "Ne eblis eksporti la atestilon" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "&Kolora Reĝimo" + +#: part/colormodemenu.cpp:21 +#, kde-format +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "Ŝanĝi Kolorojn" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "&Normalaj Koloroj" + +#: part/colormodemenu.cpp:41 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "&Inversigi Kolorojn" + +#: part/colormodemenu.cpp:42 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "Ŝanĝi &Paperan Koloron" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "Ŝanĝi &Malhelajn && Lumajn Kolorojn" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "Konverti al Nigra && &Blanka" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "Inversigi &Lumecon" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "Inversi L&uma (sRGB Lineare)" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "Inversigi Luma (&Simetrie)" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "Ŝovi Hue P&ozitivo" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "Ŝovi Hue N&egativo" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "Ruĝa" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "Verda" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "Blua" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "Flava" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "Nigra" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "Blanka" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "Flava emfazilo" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "Verda emfazilo" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "Enmeti Tekston" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "Desegnu randon ĉirkaŭ ligiloj" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "Ŝanĝi kolorojn" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "" +"Averto: ĉi tiuj elektebloj povas malbone influi desegnan rapidecon." + +#: part/dlgaccessibility.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "Inverti kolorojn" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "Ŝanĝi la paperan koloron" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "Ŝanĝi malhelajn kaj helajn kolorojn" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "Konverti al nigra kaj blanka" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "Inversi malpezeco" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "Inversa luma (sRGB lineara)" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "Inversa luma (simetria)" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "Ŝanĝi nuancon pozitiva" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "Ŝanĝi nuancon negativa" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "Kolora moduso:" + +#: part/dlgaccessibility.cpp:87 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Papera koloro:" + +#: part/dlgaccessibility.cpp:99 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Malhela koloro:" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "Hela koloro:" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "Sojlo:" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Kontrasto:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "Teksto-al-parola motoro:" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "Voĉo por teksto:" + +#: part/dlgannotations.cpp:25 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Plena Komenta Ilobreto" + +#: part/dlgannotations.cpp:26 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Rapida Komenca Ilobreto" + +#: part/dlgannotations.cpp:28 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Komenta ilobreto:" + +#: part/dlgannotations.cpp:34 +#, kde-format +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "Aŭtoro:" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"Noto: la informoj ĉi tie estas uzataj nur por komentarioj. La " +"informoj estas konservitaj en komentitaj dokumentoj, kaj tiel estos " +"transdonitaj kune kun la dokumento." + +#: part/dlgannotations.cpp:48 +#, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

Quick Annotation Tools

" +msgstr "

Rapidaj Komentaj Iloj

" + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" +"Elektu la redaktilon, kiun vi volas lanĉi kiam Okular volas malfermi " +"fontdosieron." + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "Propra Teksto-Redaktilo" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Emacs Kliento" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "Lyx Kliento" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "TeXstudio" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "TeXiFy IDEO" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "Editor:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
\n" +"You can also put few placeholders:\n" +"
    \n" +"
  • %f - the file name
  • \n" +"
  • %l - the line of the file to be reached
  • \n" +"
  • %c - the column of the file to be reached
  • \n" +"
\n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"Agordu la komandon de propra tekstredaktilo lanĉota.
\n" +"Vi povas ankaŭ meti kelkajn anstataŭaĵojn:\n" +"
    \n" +"
  • %f - la dosiernomo
  • \n" +"
  • %l - la linio de la atingota dosiero
  • \n" +"
  • %c - la kolumno de la atingota dosiero
  • \n" +"
\n" +"Se %f ne estas specifita , tiam la dosiernomo estas almetita al la specifita " +"komando." + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "Komando:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "Uzi glatan rulumon" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "Aspekto:" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "Montri rulumskalojn" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "Ligi la bildetojn kun la paĝo" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "Montri sugestojn kaj informmesaĝojn" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "Sciigi pri enigitaj dosieroj, formoj aŭ subskriboj" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "Montri titolon de la dokumento en titolbreto se disponebla" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "Montri nur dosiernomon" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "Montri plenan dosiervojon" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "Kiam ne montras la titolon de la dokumento:" + +#: part/dlggeneral.cpp:92 +#, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "Uzi propran fonkoloron:" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "Programaj funkcioj:" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "Malfermi novajn dosierojn en langetoj" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "Ŝanĝi al ekzistanta langeto se dosiero jam estas malfermita" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "Obei DRM-limigojn" + +#: part/dlggeneral.cpp:148 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "Reŝargi dokumenton pri dosierŝanĝo" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "Montri la internan elektofenestron" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "Dekstre al maldekstre legodirekto" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" + +#: part/dlggeneral.cpp:178 +#, fuzzy, kde-format +#| msgctxt "@option:check Config dialog, general page" +#| msgid "Open in continuous mode by default" +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "Malfermi en kontinua reĝimo defaŭlte" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "Malfermi en kontinua reĝimo defaŭlte" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "Kiam vi uzas Foliumilon, faldi kursoron ĉe ekranaj randoj" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "Superrigardaj kolumnoj:" + +#: part/dlggeneral.cpp:220 +#, kde-format +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%v%" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" +"Difinas kiom multe de la nuna rigarda areo ankoraŭ estos videbla dum premado " +"de la klavoj Paĝo Supre/Malsupren." + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "Paĝo Supre/Malsupren interkovro:" + +#: part/dlggeneral.cpp:228 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%v%" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "100%" + +#: part/dlggeneral.cpp:233 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "Ĝisrandigi laŭ Larĝo" + +#: part/dlggeneral.cpp:234 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "Ĝisrandigi laŭ Paĝo" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "Aŭtomate Ĝisrandigi" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "Propra" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" +"Difinas la defaŭltan zomreĝimon por dosieroj kiuj neniam estis malfermitaj " +"antaŭe. Por dosieroj kiuj estis malfermitaj antaŭ ol la antaŭa zomo estas " +"aplikata." + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "Defaŭlta zomo:" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "Ebligi travideblecojn" + +#: part/dlgperformance.cpp:28 +#, kde-format +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "CPU-uzo:" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "Malalta" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "Normala (defaŭlte)" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "Agresema" + +#: part/dlgperformance.cpp:38 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "Avida" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "Memoruzo:" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "Ebligi tekstkontraŭaliason" + +#: part/dlgperformance.cpp:56 +#, kde-format +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "Bildaj elektebloj:" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "Ebligi grafikan kontraŭalias" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "Ebligi tekstan sugeston" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"Gardas la memoruzon la plej malalte eble. Ne reuzas ion. (Por sistemoj kun " +"malgranda memoro.)" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"Bona kompromiso inter memoruzo kaj rapidecgajno. Antaŭŝargu la sekvan paĝon " +"kaj plifortigu serĉojn. (Por sistemoj kun 2GB da memoro, kutime.)" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"Tenas ĉion en memoro. Antaŭŝargi sekvajn paĝojn. Plifortigu serĉojn. (Por " +"sistemoj kun pli ol 4GB da memoro.)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" +"Ŝarĝas kaj konservas ĉion en memoro. Antaŭŝargu ĉiujn paĝojn. (Uzos " +"maksimume 50% de via tuta memoro aŭ vian liberan memoron, kio ajn estas pli " +"granda.)" + +#: part/dlgpresentation.cpp:38 +#, fuzzy, kde-format +#| msgctxt "Advance every %1 seconds" +#| msgid " second" +#| msgid_plural " seconds" +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] " sekundo" +msgstr[1] " sekundoj" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "Antaŭeniri aŭtomate:" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "Bukli post la lasta paĝo" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "Frapu maldekstran/dekstran flankon por iri malantaŭen/antaŭen" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "Frapu ie ajn por antaŭeniri" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "Malebligita" + +#: part/dlgpresentation.cpp:63 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Tuŝnavigado:" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "Fona koloro:" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "Kaŝita post prokrasto" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "Ĉiam videbla" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "Ĉiam kaŝita" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "Musa kursoro:" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "Montri progresindikilon" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "Montri resuman paĝon" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "Tuj (Neniam uzi animaciojn)" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "Anstataŭigi" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "Hazarda transiro" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "Kurtenoj vertikalaj" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "Kurtenoj horizontalaj" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "Skatolo enen" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "Skatolo ekstere" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "Dissolvi" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "Fade" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "Briligi malsupren" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "Briligi ĝuste" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "Briligi dekstre malsupren" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "Dividi horizontale" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "Dividi horizontale eksteren" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "Dividi vertikale" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "Dividi vertikale eksteren" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "Viŝi malsupren" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "Viŝi dekstren" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "Viŝi maldekstren" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "Viŝi supren" + +#: part/dlgpresentation.cpp:121 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Defaŭlta transpaso:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "Preferata ekrano:" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

Drawing Tools

" +msgstr "

Desegnaj Iloj

" + +#: part/dlgpresentation.cpp:171 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Nuna Ekrano" + +#: part/dlgpresentation.cpp:172 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Apriora Ekrano" + +#: part/dlgpresentation.cpp:178 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "Ekrano %1 (%2 %3 %4)" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "Ekrano %1 (malkonektita)" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "Desegna ilo: %1" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "Skrapgumo" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "&Nomo:" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "&Tipo:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "Aspekto" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "Teksta markado" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "Geometria formo" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "Krei komentarion" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "Redakti komentarion" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "Koloro:" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "&Pluma Larĝo:" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "" + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "Krei desegnan ilon" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "Redakti desegnilon" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "Nekonata" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Enkorpigitaj dosieroj" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "Vido" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "Nomo" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "Priskribo" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "Grandeco" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "Kreita" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "Ŝanĝita" + +#: part/embeddedfilesdialog.cpp:154 +#, fuzzy, kde-format +#| msgid "Save As" +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "Konservi kiel" + +#: part/embeddedfilesdialog.cpp:155 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "&Vidi" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "Ne eblis ŝargi la printan antaŭrigardan komponanton" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "Printa antaŭrigardo" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "Fermi" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "Trov&i:" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "Serĉenda teksto" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Sekva" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "Iri al la sekva rezulto" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Antaŭa" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "Salti al la antaŭa kongruo" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "Modifi la serĉan konduton" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "Usklecodistinga" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "El nuna paĝo" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "Trovi dum vi tajpas" + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "Ĉiuj Dosieroj (*)" + +#: part/formwidgets.cpp:1280 +#, fuzzy, kde-format +#| msgid "Unsigned Signature Field (Click to Sign)" +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "Nesubskribita Signatura Kampo (Klaku por Subskribi)" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, fuzzy, kde-format +#| msgctxt "@action:button" +#| msgid "Sign" +msgid "&Sign…" +msgstr "Signo" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "Subskribo Propraĵoj" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "Serĉaj Elektebloj" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "Usklecodistinga" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "Regulesprimo" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "Tavoloj" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "el" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "Zomi" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "Zomi al 100%" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "Rotacii Dekst&ren" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "Dekstre" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "Rotacii ma&ldekstren" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "Maldekstre" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "Origina orientiĝo" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "S&tuci Vidon" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "&Tondeti Marĝenojn" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "&Stuci Al Elekto" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "Laŭ &larĝo" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "Laŭ &paĝo" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "&Aŭtomate Alĝustigi" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "Alĝustigi Fe&nestron al Paĝo" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "&Vida moduso" + +#: part/pageview.cpp:594 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "Unu&sola Paĝo" + +#: part/pageview.cpp:595 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "&Alfrontantaj Paĝoj" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "Frontaj Paĝoj (&Centra Unua Paĝo)" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "Superrigard&o" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "&Kontinua" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "Uzi Dekstren al Maldekstren Legadon" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "&Foliumi" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "&Zomi" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "Area &Selekto" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "&Tekstelekto" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "T&abela Elekto" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "&Lupeo" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "Elektiloj" + +#: part/pageview.cpp:711 +#, fuzzy, kde-format +#| msgid "Digitally &Sign..." +msgid "Digitally &Sign…" +msgstr "&Signu ciferece..." + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "Laŭtlegi Tutan Dokumenton" + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "Laŭtlegi el Aktuala Paĝo" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "Laŭtlegi Aktualan Paĝon" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "Ĉesi Laŭtlegadon" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "Paŭzi/Rekomenci Paroladon" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "Rulumi supren" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Rulumi malsupren" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "Rulumi Paĝon Supren" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "Rulumi Paĝon Malsupren" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "Montri la formularojn" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] "Ŝargis unupaĝan dokumenton." +msgstr[1] "Ŝargis %1-paĝan dokumenton." + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "Kopii Tabelenhavon al Tondujo" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "Teksto (1 signo)" +msgstr[1] "Teksto (%1 signoj)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "Kopii al la poŝo" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "Paroli la tekston" + +#: part/pageview.cpp:2863 +#, kde-format +msgid "Image (%1 × %2 pixels)" +msgstr "Bildo (%1 × %2 rastrumeroj)" + +#: part/pageview.cpp:2865 +#, kde-format +msgid "Save to File…" +msgstr "Konservi al la dosiero…" + +#: part/pageview.cpp:2885 +#, kde-format +msgid "Image [%1 × %2] copied to clipboard." +msgstr "Bildo [%1 × %2] kopiita al la poŝo." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "Konservi dosieron" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "Bildoj (*.png *.jpeg)" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "Dosiero ne konservita." + +#: part/pageview.cpp:2901 +#, kde-format +msgid "Image [%1 × %2] saved to %3 file." +msgstr "Bildo [%1 × %2] konservita al dosiero %3." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "Kopii la tekston" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "Iri al '%1'" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "Laŭ larĝo" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "Laŭ paĝo" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "Aŭtomate Ĝisrandigi" + +#: part/pageview.cpp:4107 +#, kde-format +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1%" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "Serĉi '%1' per" + +#: part/pageview.cpp:4404 +#, fuzzy, kde-format +#| msgid "Configure Web Shortcuts..." +msgid "Configure Web Shortcuts…" +msgstr "Agordi Retajn Ŝparvojojn..." + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "Sekvi tiun ligon" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "Ludi ĉi tiun Sonon" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "Halti Sonon" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "Kopii la ligan adreson" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "Serĉi '%1' en ĉi tiu dokumento" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Bonvenon" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "Elektu zomozonon. Maldekstre klaku por zomi." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "Klaku por vidi la pligrandigitan vidon." + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "Tiru rektangulon ĉirkaŭ la teksto/grafikaĵoj kopiendaj." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "Elekti tekston" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" +"Desegnu rektangulon ĉirkaŭ la tablo, tiam alklaku proksime de randoj por " +"dividi; premu Esc por forigi." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" + +#: part/pageview.cpp:5188 +#, fuzzy, kde-format +#| msgid "Only QES certificates" +msgid "No valid certificates" +msgstr "Nur QES-atestiloj" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, fuzzy, kde-format +#| msgid "View in Certificate Manager" +msgid "Open Certificate Manager" +msgstr "Vidi en Atestiladministranto..." + +#: part/pageview.cpp:5200 +#, fuzzy, kde-format +#| msgid "" +#| "There are no available signing certificates.
For more information, " +#| "please see the section about Adding Digital Signatures " +#| "in the manual." +msgid "" +"There are no available signing certificates.
Launch Certificate Manager " +"to import or manage certificates
For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" +"Ne estas disponeblaj subskribaj atestiloj.
Por pliaj informoj, bonvolu " +"vidi la sekcion pri Aldono de Ciferecaj Subskriboj en la " +"manlibro." + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, fuzzy, kde-format +#| msgid "Certificates" +msgid "No certificates found" +msgstr "Atestiloj" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" +"Ne estas disponeblaj subskribaj atestiloj.
Por pliaj informoj, bonvolu " +"vidi la sekcion pri Aldono de Ciferecaj Subskriboj en la " +"manlibro." + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" +"Vi havas nekonservitajn ŝanĝojn. Bonvolu konservi la dokumenton antaŭ " +"subskribi ĝin." + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "Desegnu rektangulon por enmeti la subskriban kampon" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "Desegnu rektangulon ĉirkaŭ la paĝareo, kiun vi volas konservi videbla" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "Nova teksta noto" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "Teksto de la nova noto:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Subskribita de: %1\n" +"\n" +"Dato: %2" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" +"Subskribo de ĉi tiu grandeco povas esti tro malgranda por legi. Se vi ŝatus " +"krei eble pli legeblan subskribon, premu Rekomencu " +"kaj desegnu pli grandan rektangulon." + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "Rekomenci" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "Signo" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name" +msgstr "Nomo de aŭtoro" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name for the annotation:" +msgstr "Nomo de aŭtoro por la komentario:" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "Desegnu elipso (trenu por elekti zonon)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "Marki tekston" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "Desegnu libermanan linion" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "Surlinia teksta komentado (eltiru por elekti zonon)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "Meti pop-up noton" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "Desegni poligonon (klaku sur la unua punkto por forfermi ĝin)" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "Desegni rektangulon" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "Strekaĉi tekston" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "Almeti stampan simbolon" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "Desegni rektan linion" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "Forstreki tekston" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "Substreki tekston" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "Skriba komentario (trenu por elekti zonon)" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "Markilo" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "Aldoni plej ŝatatan komentarion" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Custom annotation name:" +msgstr "Propra komentario nomo:" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&Dosiero" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "&Agordo" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "&Helpo" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "&Orientiĝo" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "&Legosignoj" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "Ilobreto de Vidilo" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Miniaturoj" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "Komentarioj" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" +"Ĉi tiu dokumento enhavas komentadojn aŭ formularajn datumojn, kiuj estis " +"konservitaj interne de antaŭa Okulara versio. Interna konservado ne plu " +"estas subtenata.
Bonvolu konservi en dosieron por movi ilin se vi " +"volas daŭrigi redakti la dokumenton." + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"Tiu dokumento enhavas enkorpigitajn dosierojn. Klaku tie por vidi ilin aŭ uzu Dosiero -> Enkorpigitaj " +"dosieroj." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" +"Subskribado faratas. Vi povas ĝustigi la pozicion kaj grandecon de la " +"subskribo" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "Fini Subskribi" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "Antaŭa" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "Antaŭiri al la antaŭa paĝo" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "Iras al la antaŭa paĝo de la dokumento" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "Sekva" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "Aliri al la sekva paĝo" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "Iras al la sekva paĝo de la dokumento" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "Komenco de la dokumento" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "Movas al la komenco de la dokumento" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "Fino de la dokumento" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "Movas al la fino de la dokumento" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "Alinomi la nunan legosignon" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "Antaŭa legosigno" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "Iri al la antaŭa legosigno" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "Sekva legosigno" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "Iri al la sekva legosigno" + +#: part/part.cpp:748 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgid "Configure Okular…" +msgstr "Agordi Okular..." + +#: part/part.cpp:751 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Configure Viewer…" +msgstr "Agordi la rigardilon..." + +#: part/part.cpp:757 +#, fuzzy, kde-format +#| msgid "Configure Viewer Backends" +msgid "Configure Viewer Backends…" +msgstr "Agordi Viewer Backends" + +#: part/part.cpp:759 +#, fuzzy, kde-format +#| msgid "Configure Backends" +msgid "Configure Backends…" +msgstr "Agordi la internojn" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "Pri la interno" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "Reŝa&rgi" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "Reŝargi la nunan dokumenton el la disko." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "&Fermi la trovobreton" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "Paĝa Nombro" + +#: part/part.cpp:817 +#, fuzzy, kde-format +#| msgctxt "@action" +#| msgid "Configure Color Modes..." +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "Agordi Kolorajn Reĝimojn..." + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "Elekti Ĉian Tekston sur Nuna Paĝo" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "Montri S&idbreton" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "Montri &Paĝan Breton" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "Montri Panelon de &Subskriboj" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "&Enkorpigitaj dosieroj" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "E&ksporti kiel" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "Kun&havigi" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "P&rezento" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "Malfermi Enhavan&tan Dosierujon" + +#: part/part.cpp:945 +#, fuzzy, kde-format +#| msgid "&Import PostScript as PDF..." +msgid "&Import PostScript as PDF…" +msgstr "&Importi PostScript kiel PDF..." + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "Ŝalti NigrEkranan Reĝimon" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "Forigi Desegnon" + +#: part/part.cpp:962 +#, fuzzy, kde-format +#| msgid "Configure Annotations..." +msgid "Configure Annotations…" +msgstr "Agordi komentariojn..." + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "Ludi/Paŭzi Prezentadon" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" +"Vi ĵus modifis la malfermitan dokumenton, sed ĉi tiu speco de dokumento ne " +"povas esti konservita.\n" +"Ajna modifo estos perdita post la fermo de Okular." + +#: part/part.cpp:1123 +#, kde-format +msgid "Document can't be saved" +msgstr "Dokumento ne povas esti konservita" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "Ne eblis malfermi '%1' (%2)" + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "La ŝarĝo de %1 estas nuligita." + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "Ne eblis malfermi %1. Kialo: %2" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "Agordi Viewer Backends" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "Agordi la internojn" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"La programo \"ps2pdf\" ne estis trovita, do Okular ne povas importi PS-" +"dosierojn uzante ĝin." + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "ps2pdf ne troviĝis" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "PostScript-dosieroj (%1)" + +#: part/part.cpp:1357 +#, fuzzy, kde-format +#| msgid "Importing PS file as PDF (this may take a while)..." +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "Importante postskriptan dosieron kiel PDF (tio eble daŭras)..." + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "Bonvolu enigi la pasvorton por legi la dokumenton:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "Malĝusta pasvorto. Provu denove:" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "Dokumenta Pasvorto" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" +"Ĉi tiu dokumento havas XFA-formojn, kiuj estas nuntempe nesubtenataj." + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"Tiu dokumento enhavas formularojn. Klaku sur la butono por interagi kun ili, " +"aŭ uzu Vidi -> Montri la formularojn." + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" +"Ĉiuj redaktaj kaj interagaj funkcioj por ĉi tiu dokumento estas malŝaltitaj. " +"Bonvolu konservi kopion kaj remalfermi por redakti ĉi tiun dokumenton." + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" +"Ĉi tiu dokumento volas esti montrita plena ekrano.\n" +"Lasi normalan reĝimon kaj eniri prezentreĝimon?" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "Peto Ŝanĝi Vidan Reĝimon" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "Eniri Prezentreĝimon" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "Malakcepti Peton" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "Ne eblis malfermi %1. %2" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" +"La dosiero %1 havas nekonservitajn ŝanĝojn sed estis " +"modifita de alia programo. Ĝia reŝargo anstataŭigos la nekonservitajn " +"ŝanĝojn per la ŝanĝoj farataj en la alia programo.Ĉu vi volas " +"daŭrigi reŝargi la dosieron?" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "Dosiero Ŝanĝita" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "Daŭrigi Reŝargon" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "Ĉesi Reŝargon" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" +"La dosiero %1 havas nekonservitajn ŝanĝojn sed estis " +"modifita de alia programo. Ĝia fermado anstataŭigos la nekonservitajn " +"ŝanĝojn per la ŝanĝoj farataj en la alia programo.Ĉu vi volas " +"daŭrigi pri fermi la dosieron?" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "Daŭrigi Fermadon" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "Ĉesigi Fermadon" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "Ĉu vi volas konservi viajn ŝanĝojn al \"%1\" aŭ forĵeti ilin?" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "Fermi dokumenton" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"Tiu ligo kaŭzas agon de fermado de dokumento kiu ne funkcias uzante la " +"enkorpigitan vidilon." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"Tiu ligo kaŭzas agon de forlaso de dokumento kiu ne funkcias uzante la " +"enkorpigitan vidilon." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Reloading the document…" +msgstr "Reŝargante la dokumenton..." + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "Enhavo" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "Subskriboj" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Iri al la paĝo" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "&Paĝo:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "Enigu la novan nomon de la legosigno:" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "Alinomi ĉi tiun Legomarkon" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "Forigi ĉi tiun legosignon" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "Konservi kiel" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" +"Vi elektis konservi Okularan Arkivon sen ke la dosiernomo finiĝas per la " +"etendo '%1'. Tio ne estas permesita, ĉu vi volas elekti novan nomon?" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "Nesubtenata etendo" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "Elekti Novan Nomon" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" +"La dosiero %1 estis modifita per alia programo. Se vi " +"konservas nun, ajn ŝanĝoj faritaj en alia programo perdiĝos. Ĉu vi certas, " +"ke vi volas daŭrigi?" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "Konservi - Averto" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "Konservi kopin aliloke" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
Do you want to continue?" +msgstr "" +"La nuna dokumento estas protektita per pasvorto.
Por konservi, la " +"dosiero devas esti reŝargita. Oni denove petos vin pri la pasvorto kaj via " +"historio de malfari/refari estos perdita.
Ĉu vi volas daŭrigi?" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "Ne eblis malfermi la provizoran dosieron por konservi." + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" +"Ne eblis anstataŭigi %1 ĉar tiu dosiero estas " +"nurlegebla. Provu konservi al alia loko aŭ ŝanĝi la permesojn de tiu dosiero." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
Do you want to continue?" +msgstr "" +"Post konservado, la nuna dokumentformato postulas la dosieron esti " +"reŝargita. Via malfari/refari historio estos perdita.
Ĉu vi volas " +"daŭrigi?" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "Ne eblis konservi la dosieron en '%1'. Provu konservi ĝin aliloke." + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "Plenigita formularo enhavo" + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "Uzantaj komentarioj" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" +"Vi estas konservonta ŝanĝojn, sed la nuna dosierformato ne subtenas " +"konservadon de la sekvaj elementoj. Bonvolu uzi la formaton Okular-" +"dokumentarkivo por konservi ilin." + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "Averto" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, fuzzy, kde-format +#| msgid "Save as Okular document archive..." +msgid "Save as Okular document archive…" +msgstr "Konservi kiel Okular-dokumentarkivo..." + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" +"Vi estas konservonta ŝanĝojn, sed la nuna dosierformato ne subtenas " +"konservadon de la sekvaj elementoj. Bonvolu uzi la formaton Okular-" +"dokumentarkivo por konservi ilin. Klaku Daŭrigi por konservi la " +"dokumenton kaj forĵeti ĉi tiujn elementojn." + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" +"Vi estas konservonta ŝanĝojn, sed la nuna dosierformato ne subtenas " +"konservadon de la sekvaj elementoj. Bonvolu uzi la formaton Okular-" +"dokumentarkivo por konservi ilin. Alklaku Daŭrigi por konservi, " +"sed vi perdos ĉi tiujn elementojn same kiel la malfari/refari historion." + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "Daŭrigi" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "Daŭrigi perdon de ŝanĝoj" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "La dosiero ne povis esti konservita en '%1'. %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"Okular ne eblas kopii %1 al la specifigita loko.\n" +"\n" +"La dokumento ne plu ekzistas." + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" +"La dosiero ne povis esti konservita en '%1'. Eraro: '%2'. Provu konservi ĝin " +"al alia loko." + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "Expand whole section" +msgid "Expand Whole Section" +msgstr "Vastigi tutan sekcion" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "Collapse whole section" +msgid "Collapse Whole Section" +msgstr "Malvastigi tutan sekcion" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "Sinkronigi Bildeton kun Paĝo" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Iloj" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "Paroli" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "Presi" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "Printado de tiu dokumento ne estas permesita." + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"Ne eblis presi la dokumenton. Nekonata eraro. Bonvolu raporti al bugs.kde.org" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"Ne eblis presi la dokumenton. Detala eraro estas \"%1\". Bonvolu raporti al " +"bugs.kde.org" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "Iri al la loko kie vi estis antaŭe" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "Iri al la loko kie vi estis poste" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"Dosiera eraro! Ne eblis krei nedaŭran dosieron " +"%1." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"Dosiera eraro! Ne eblis malfermi la dosieron " +"%1 por ekstrakti. La dosiero ne estos ŝargita." +"" + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"Tiu eraro kutime okazas se vi ne havas sufiĉajn permesojn por legi la " +"dosieron. Vi povas kontroli proprieton kaj permesojn se vi dekstre alklakas " +"la dosieron en la dosiermanaĝero de Dolphin, poste elektas la elekteblon " +"'Propertoj' kaj elektu langeton 'Permesoj' en la malfermita fenestro." + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"Dosiera eraro! Ne eblis ekstrakti la dosieron " +"%1. La dosiero ne estos ŝargita." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"Tiu eraro kutime okazas kiam la dosiero estas korupta. Se vi volas " +"certiĝi, provu ekstrakti la dosieron manume, uzante komandliniajn ilojn." + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "Neniu legosigno" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "Estis problemo kun konigo de la dokumento: %1" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "Kunhavigi" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "Dokumento kunhavita sukcese" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "Vi povas trovi la komunan dokumenton ĉe: %1" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "R&edakti" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "&Vidi" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&Ek" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "&Iloj" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "Ĉefa ilobreto" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "Komenta Ilobreto" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, kde-format +msgid "Quick Annotation Toolbar" +msgstr "Rapida Komenca Ilobreto" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "Ĝenerala agordo" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Alirebleco" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "Alireblecaj legadaj helpiloj" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Rendimento" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "Rendimenta agordo" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "Agordi la rigardilon..." + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Prezento" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "Elektebloj por la Prezenta Moduso" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "Elektebloj por Komentario" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "Redaktilo" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "Redaktilaj Elektebloj" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" +"La redaktilo estis agordita de la komandlinio al \n" +" %1 \n" +"Se vi volas uzi la agordon, lanĉu okularan sen la opcio --editor-cmd" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "Trovi la sekvan" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 – Prezento" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "Ŝalti ekranon" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "Ekrano %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "Foriri el la prezenta moduso" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Titolo: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Paĝoj: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "Klaku por komenci" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "Paŭzi" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "Ludi" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"Estas du maniere forlasi la prezentan moduson, vi povas aŭ premi la eskapan " +"klavon aŭ klaki la Forlasi butonon kiu aperas kiam vi metas la muson en la " +"supra dekstra angulo. Kompreneble vi povas rotacii la fenestrojn (Alt+Tab " +"defaŭlte)" + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "Farante prezenton" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "Nekonata dosiero" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "%1 ecoj" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "&Tiparoj" + +#: part/propertiesdialog.cpp:145 +#, fuzzy, kde-format +#| msgid "Reading font information..." +msgid "Reading font information…" +msgstr "Legante la tiparan informon..." + +#: part/propertiesdialog.cpp:158 +#, kde-format +msgid "&Page Sizes" +msgstr "&Paĝaj Grandecoj" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "&Ekstrakti tiparon" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Tipo 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Tipo 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "Tipo 1C (OT)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Tipo 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType (OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID Tipo 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID Tipo 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID Tipo 0C (OT)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType (OT)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "TeĤa PK" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "TeĤa virtuala" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "TeĤa tipara metriko" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "TeX FreeType-traktata" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "Nekonata" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "Enigita (subaro)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "Plene enigita" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "Ne" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "Jes (subaro)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "Jes" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "%1 (anstataŭigante per %2)" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "[n/a]" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "Nekonata tiparo" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "Enigita: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "Nomo" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "Tipo" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "Dosiero" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "Paĝo" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "Grandeco" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "Antaŭrigardo de revizio" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "Kie vi volas konservi ĉi tiun revizion?" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "Ne eblis konservi dosieron %1." + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "Ne eblis vidi revizion." + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "Enmetu almenaŭ 3 literojn por filtri la paĝojn" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "Usklecodistinga" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "Kongrui frazon" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "Kongrui ĉiujn vortojn" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "Kongrui iun vorton" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "Filtrila agordo" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, kde-format +msgid "Certificates" +msgstr "Atestiloj" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "Elektu atestilon kun kiu subskribi:" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "Ĉiuj" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, kde-format +msgid "Only QES certificates" +msgstr "Nur QES-atestiloj" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "Kialo:" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, kde-format +msgid "optional" +msgstr "laŭvola" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "Loko:" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, kde-format +msgid "Background:" +msgstr "Fono:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "Elekti..." + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, kde-format +msgid "Recent backgrounds:" +msgstr "Lasttempaj fonoj:" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

No annotations

To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
" +msgstr "" +"

Neniu komentarioj

Por krei novajn komentariojn " +"premu F6 aÅ­ elektu Iloj -> Komentarioj el la menuo.
" + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "Grupi laŭ paĝo" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "Grupi laŭ aŭtoro" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "Montri komentadojn nur por aktuala paĝo" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "Vastigi ĉiujn elementojn" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "Malvastigi ĉiujn elementojn" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "Propraĵoj" + +#: part/signaturepartutils.cpp:180 +#, kde-format +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Paĝoj: %1" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "Elekti fonbildon" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "Forgesi bildon" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "Forgesi ĉiujn bildojn" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "Enigu pasvorton (se ekzistas) por malŝlosi atestilon: %1" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "Enigi atestilpasvorton" + +#: part/signaturepartutils.cpp:244 +#, kde-format +msgid "Enter document password" +msgstr "Enigi dokumentan pasvorton" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "Konservi Subskribitan Dosieron Kiel" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "%1_signed.%2" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "Statuso de valideco" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "Valido de subskribo:" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "Dokumentaj Modifoj:" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "Kromaj Informoj" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "Subskribita de:" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "Tempo de subskribo:" + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "Dokumenta Versio" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Dokumenta Revizio %1 de %2" + +#: part/signaturepropertiesdialog.cpp:88 +#, fuzzy, kde-format +#| msgid "View Signed Version..." +msgid "View Signed Version…" +msgstr "Vidi la subskribitan version..." + +#: part/signaturepropertiesdialog.cpp:95 +#, fuzzy, kde-format +#| msgid "View Certificate..." +msgid "View Certificate…" +msgstr "Vidi Atestilon..." + +#: part/signaturepropertiesdialog.cpp:97 +#, kde-format +msgid "View in Certificate Manager" +msgstr "Vidi en Atestiladministranto..." + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "KDE-Atestiladministranto (kleopatra) ne trovita" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "Kvalifikita" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "Montri nur la legosignajn paĝojn" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "Ludi" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Paŭzi" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "Ĉesigi" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "Videoj ne subtenataj en ĉi tiu okular" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "Videoj ne subtenataj en ĉi tiu Okular" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, fuzzy, kde-format +#| msgid "&Edit" +msgid "&Edit…" +msgstr "R&edakti" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "Fo&rigi" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "S&upreniĝi" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "Movi &Suben" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "Defaŭlta Desegna ilo #%1" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "Jam ekzistas ilo kun tiu nomo. Uzante defaŭltan" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "Duplikata Nomo" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "Montrenda paĝo de la dokumento" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "Starti la dokumenton je prezenta moduso" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "Komenci per presa dialogo" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "Komenci per presa dialogo kaj eliri post presado" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "Kontrolo de \"Unika kazo\"." + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "Ne levi fenestron" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "Trovi ĉenon en la teksto" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "Agordas la komandon por ekstera redaktilo" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "Dokumentoj por malfermi. Specifu '-' por legi de stdin." + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" +"Vi ne povas agordi la redaktilan komandon en jam ruliĝanta okulara " +"petskribo. Bonvolu malŝalti la langetojn kaj provi denove. Bonvolu noti, ke " +"tiu unika ankaŭ ne estas subtenata kiam agordas la redaktilan komandon ĉe la " +"komandlinio.\n" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "Eraro: Ne povas malfermi pli ol unu dokumenton per la --unique ŝaltilo" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" +"Eraro: Ne povas malfermi pli ol unu dokumenton per la --presentation-ŝaltilo" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "Eraro: Ne povas malfermi pli ol unu dokumenton per la --print-ŝaltilo" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "Eraro: Ne povas malfermi pli ol unu dokumenton per la --page ŝaltilo" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "Eraro: Ne povas malfermi pli ol unu dokumenton per la --find-ŝaltilo" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "Ne eblas trovi la Okularan komponanton: %1" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "Flankmenuo" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "Jam funkcias unika Okular-instanco. Ĉi tiu kazo ne estos la unika." + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "Ne eblas trovi la Okularan komponanton." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"Klaki por malfermi dosieron\n" +"Klaki kaj teni por malfermi freŝdatan dosieron" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"Klaki por malfermi dosieron aŭ klaki kaj teni por elekti " +"freŝdatan dosieron" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "Sekva Tab" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "Antaŭa Tab" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "Malfari fermi langeton" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "Ŝlosi Flankbreton" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "Ĉiuj dosieroj (*)" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "Ĉiuj subtenataj dosieroj (%1)" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "Malfermi Dokumenton" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "Konfirmi Fermon" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "Fermi Langetojn" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "Vi estas fermonta %1 langetojn. Ĉu vi certas, ke vi volas daŭrigi?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "Avertu min kiam mi provas fermi plurajn langetojn" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "&Kopii Vojon" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "Malfermi Enhavan D&osierujon" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "&Forgesi Ĉi tiun Eron" + +#: shell/welcomescreen.cpp:137 +#, kde-format +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "Neniuj lastatempaj dokumentoj" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "Bonvenon al Okular" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Malfermi dokumenton..." + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, kde-format +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Lastatempaj dokumentoj" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "Forgesi Ĉion" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "Kaŝi bonvenigan ekranon" + +#~ msgid "Geometry with Comment" +#~ msgstr "Geometrio kun Komento" + +#~ msgid "Geometry" +#~ msgstr "Geometrio" + +#~ msgctxt "Annotation type: contents" +#~ msgid "%1: %2" +#~ msgstr "%1: %2" + +#~ msgid "Modified: %1" +#~ msgstr "Ŝanĝita: %1" + +#~ msgid "Find..." +#~ msgstr "Trovi..." + +#~ msgid "Go To Page..." +#~ msgstr "Iri al la paĝo..." + +#~ msgid "Play movie..." +#~ msgstr "Ludi filmon..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "Kon&servi kiel..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "&Vidi..." + +#~ msgid "&Sign..." +#~ msgstr "&Subskribi..." + +#~ msgid "Configure Viewer..." +#~ msgstr "Agordi la rigardilon..." + +#~ msgid "Configure Viewer Backends..." +#~ msgstr "Agordi Viewer Backends..." + +#~ msgid "Configure Backends..." +#~ msgstr "Agordi la internojn..." + +#~ msgid "&Add..." +#~ msgstr "&Aldoni..." + +#~ msgid "&Edit..." +#~ msgstr "R&edakti..." + +#~ msgctxt "%1 is a file path" +#~ msgid "" +#~ "Could not sign. Invalid certificate password or could not write to '%1'" +#~ msgstr "" +#~ "Ne povis subskribi. Nevalida atestila pasvorto aŭ ne povis skribi al '%1'" + +#, fuzzy +#~| msgid "" +#~| "All your signing certificates are either not valid yet or are past their " +#~| "validity date." +#~ msgid "All your signing certificates are invalid" +#~ msgstr "" +#~ "Ĉiuj viaj subskribaj atestiloj aŭ ankoraŭ ne validas aŭ preterpasis sian " +#~ "validecdaton." + +#~ msgid "Unsigned Signature %1" +#~ msgstr "Nesubskribita Subskribo %1" + +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "Nekonata" + +#, fuzzy +#~| msgid "Unsigned signature" +#~ msgctxt "Signature type" +#~ msgid "Unsigned signature" +#~ msgstr "Nesubskribita subskribo" + +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "Spinbox prefix: Advance automatically: every n seconds" +#~ msgid "every " +#~ msgstr "ĉiu" + +#~ msgctxt "Suffix for the pen width, eg '10 px'" +#~ msgid " px" +#~ msgstr " px" + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " %" diff --git a/po/eo/okular_comicbook.po b/po/eo/okular_comicbook.po new file mode 100644 index 0000000..abb0b6d --- /dev/null +++ b/po/eo/okular_comicbook.po @@ -0,0 +1,47 @@ +# Translation of okular_comicbook into esperanto. +# Copyright (C) 2009 Free Software Foundation, Inc. +# This file is distributed under the same license as the okular package. +# Axel Rousseau , 2009. +# Oliver Kellogg , 2023. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_comicbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2023-02-19 15:20+0100\n" +"Last-Translator: Oliver Kellogg \n" +"Language-Team: esperanto \n" +"Language: eo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: pology\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Axel Rousseau,Oliver Kellogg" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "axel@esperanto-jeunes.org,olivermkellogg@gmail.com" + +#: document.cpp:97 +#, kde-format +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "Ne eblas malfermi dokumenton, nek unrar nek unarchiver estis trovitaj." + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "" +"La versio de unrar en via sistemo ne estas taŭga por malfermi komiklibrojn." + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "Nekonata ComicBook-formato." diff --git a/po/eo/okular_djvu.po b/po/eo/okular_djvu.po new file mode 100644 index 0000000..c4941f7 --- /dev/null +++ b/po/eo/okular_djvu.po @@ -0,0 +1,141 @@ +# translation of okular_djvu.po to esperanto +# Copyright (C) 2007 Free Software Foundation, Inc. +# This file is distributed under the same license as the okular package. +# Pierre-Marie Pédrot , 2007. +# Axel Rousseau , 2010. +# Oliver Kellogg , 2023. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_djvu\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2023-02-19 15:20+0100\n" +"Last-Translator: Oliver Kellogg \n" +"Language-Team: Esperanto \n" +"Language: eo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Pierre-Marie Pédrot" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "pedrotpmx@wanadoo.fr" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "Redaktilo" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "Publikisto" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "Volumo" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "Tipo de dokumento" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "Nekonata" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "Enhavaj dosieroj" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "Nekonata" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "Simpla paĝo" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "Faska" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "Nerekta" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "Faska (malnova)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "Indeksita (malnova)" + +#~ msgid "DjVu Backend" +#~ msgstr "DjVu interno" + +#~ msgid "DjVu backend based on DjVuLibre." +#~ msgstr "DjVu interno bazita sur DjVuLibre" + +#~ msgid "© 2006-2008 Pino Toscano" +#~ msgstr "© 2006-2008 Pino Toscano" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgctxt "Unknown title" +#~ msgid "Unknown" +#~ msgstr "Nekonata" + +#~ msgctxt "Unknown author" +#~ msgid "Unknown" +#~ msgstr "Nekonata" + +#~ msgctxt "Unknown editor" +#~ msgid "Unknown" +#~ msgstr "Nekonata" + +#~ msgctxt "Unknown publisher" +#~ msgid "Unknown" +#~ msgstr "Nekonata" + +#~ msgctxt "Unknown creation date" +#~ msgid "Unknown" +#~ msgstr "Nekonata" + +#~ msgctxt "Unknown volume information" +#~ msgid "Unknown" +#~ msgstr "Nekonata" + +#~ msgctxt "Unknown type of document" +#~ msgid "Unknown" +#~ msgstr "Nekonata" + +#~ msgid "A DjVu backend" +#~ msgstr "DjVu interno" diff --git a/po/eo/okular_dvi.po b/po/eo/okular_dvi.po new file mode 100644 index 0000000..8967efe --- /dev/null +++ b/po/eo/okular_dvi.po @@ -0,0 +1,558 @@ +# translation of okular_dvi.po to esperanto +# Esperantaj mesaĝoj por "okular" +# Copyright (C) 1998, 2007 Free Software Foundation, Inc. +# Wolfram Diestel , 1998. +# Pierre-Marie Pédrot , 2007. +# Axel Rousseau , 2010. +# Oliver Kellogg , 2023. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_dvi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-12-28 17:41+0100\n" +"Last-Translator: Oliver Kellogg \n" +"Language-Team: Esperanto \n" +"Language: eo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Pierre-Marie Pédrot,Oliver Kellogg" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "pedrotpmx@wanadoo.fr,olivermkellogg@gmail.com" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

" +msgstr "" +"

Okular ne povis trovi la programon dvipdfm en via komputilo. " +"Ĉi tiu programo estas esenca por ke la eksporta funkcio funkcias. Vi povas, " +"tamen, konverti la DVI-dosieron al PDF uzante la presitan funkcion de " +"Okular, sed tio ofte produktos dokumentojn kiuj presas bone, sed estas de " +"malsupera kvalito se rigardataj en Acrobat Reader. Eble estas saĝe ĝisdatigi " +"al pli lastatempa versio de via TeX-distribuo kiu inkluzivas la programon " +"dvipdfm.

Konsilo al la perpleksa sistemadministranto: Okular " +"uzas la mediovariablon PATH kiam serĉas por programoj.

" + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"La ekstera programo 'dvipdfm' uzata por eksporti la dosieron raportis " +"eraron. Vi povus rigardi la dokumentinforman fenestron en " +"la Dosiero menuo por ricevi detalan eraroprotokolon." + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" +"Ĉi tiu DVI-dosiero rilatas al eksteraj grafikaj dosieroj kiuj ne estas " +"en PostScript-formato, kaj ne povas esti pritraktitaj de la programo " +"dvips, kiun Okular uzas interne por presi aŭ eksporti al " +"PostScript. La funkcio, kiun vi postulas, do ne disponeblas en ĉi tiu versio " +"de Okular." + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

" +msgstr "" +"

Okular ne povis trovi la programon dvips en via komputilo. " +"Tiu programo estas esenca por ke la eksporta funkcio funkciu.

Konsilo " +"al la perpleksa sistemadministranto: Okular uzas la mediovariablon PATH kiam " +"serĉas programojn.

" + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"La ekstera programo 'dvips' uzata por eksporti la dosieron raportis " +"eraron. Vi povus rigardi la dokumentinforman fenestron en " +"la Dosiero menuo por ricevi detalan eraroprotokolon." + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "La DVI dosiero ne komenciĝas per la antaŭteksto." + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" +"La DVI dosiero enhavas la malĝustan version de la DVI eligo por tiu " +"programo. Indiko: Se vi uzas la formatsistemon Omega, vi bezonas uzi " +"specialan programon, kiel oxdvi." + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "" +"La DVI dosiero estas ege koruptita. Okular ne eblis trovi la posttekston." + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "La postteksto ne komenciĝas per la POST komando." + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "La postteksto enhavas komandon alian ol FNTDEF." + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "La paĝo %1 ne komenciĝas per la BOP komando." + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

PATH: %2

" +msgstr "" +"

La ekstera programo pdf2ps ne povis esti komencita. " +"Kiel rezulto, la PDF-dosiero %1 ne povis esti konvertita al PostScript. " +"Kelkaj grafikaj elementoj en via dokumento do ne estos montrataj.

Ebla kialo: La programo pdf2ps eble ne estas " +"instalita en via sistemo, aŭ ne povas esti trovita en la nuna serĉvojo.

Kion vi povas fari: La programo pdf2ps estas " +"normale enhavita en distribuaĵoj de la fantoma PostScript " +"interpretistosistemo. Se ghostscript ne estas instalita en via sistemo, vi " +"povus instali ĝin nun. Se vi certas, ke ghostscript estas instalita, provu " +"uzi pdf2ps de la komandlinio por kontroli ĉu ĝi vere " +"funkcias.

PATH: %2

" + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

%2

" +msgstr "" +"

La PDF-dosiero %1 ne povis esti konvertita al PostScript. Kelkaj " +"grafikaj elementoj en via dokumento do ne estos montrataj.

Ebla " +"kialo: La dosiero %1 eble estas rompita, aÅ­ eble tute ne estas PDF-" +"dosiero. Jen la eligo de la programo pdf2ps, kiun Okular " +"uzis:

%2

" + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "Dosiera korupto. %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "Ne ĉiuj PostScript-dosieroj povus esti enigitaj en vian dokumenton. %1" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "Ĉiuj eksteraj PostScript-dosieroj estis enigitaj en vian dokumenton." + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "La specifita dosiero '%1' ne ekzistas." + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" +"Vi petis al Okular lokalizi la lokon en la DVI-dosiero kiu respondas al " +"linio %1 en la TeX-dosiero %2. Ŝajnas, tamen, ke la DVI-dosiero ne enhavas " +"la necesajn fontdosierajn informojn." + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" +"Okular ne povis trovi la lokon en la DVI-dosiero kiu respondas al linio %1 " +"en la TeX-dosiero %2." + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "La DVI kodoprezento havas signon el nekonata tiparo." + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "La DVI kodo referis al la tiparo #%1, kiu ne estis difinita antaŭe." + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "La stako ne estis malplena kiam la EOP komando okazis." + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "La stako estis malplena kiam POP komando okazis." + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "La DVI kodo referis al tiparon kiu ne estis difinita antaŭe." + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "Malpermesita komando troviĝis." + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "La nekonata opkodo %1 okazis." + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "Enkorpigante %1" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
" +msgstr "" +"Paĝo %1: La PDF dosiero %2 ne konverteblis al postskripto." +"
" + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
" +msgstr "Paĝo %1: La PDF dosiero %2 ne troveblis.
" + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "La papergranda datumo '%1' ne analizeblis." + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

PATH: %1

%2

" +msgstr "" +"

Okular ne povis trovi ĉiujn tipardosierojn kiuj estas necesaj por " +"montri la nunan DVI-dosieron. Via dokumento eble estas nelegebla.

VODO: %1

%2

" + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

PATH: %1

%2

" +msgstr "" +"

Estis problemoj pri funkciado de kpsewhich. Rezulte, kelkaj " +"tipardosieroj ne eblis troviĝi, kaj via dokumento eble estas nelegebla.
Ebla kialo: la programo kpsewhich eble ne estas instalita en via " +"sistemo, aŭ ĝi ne troveblas en via sistemo. la nuna serĉvojo.

VOJ: %1

%2

" + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" +"La tiparogenerado de kpsekiu estis ĉesigita (eliro %1, eraro " +"%2). Kiel rezulto, kelkaj tipardosieroj ne povis troviĝi, kaj via dokumento " +"eble estos nelegebla." + +# FUZZY MATCH (Currently generating %1 at %2 dpi... / Currently generating %1 at %2 dpi) +#: fontpool.cpp:482 +#, fuzzy, kde-format +#| msgid "Currently generating %1 at %2 dpi..." +msgid "Currently generating %1 at %2 dpi…" +msgstr "Aktuale kreante %1 per %2 punktoj/colo..." + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "Generilo/Dato" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "Tipara dosiero ne troviĝis" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "%1 × %2" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "%1 × %2 mm" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "%1 × %2 in" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "vertikala formato" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "horizontala formato" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" +"La versio de Ghostview kiu estas instalita sur ĉi tiu komputilo enhavas " +"neniun el la Ghostview-aparataj peliloj kiuj estas konataj de Okular. " +"PostScript-subteno do estas malŝaltita en Okular." + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "Ĝis nun estis 25 eraroj. La pliaj eraroj ne montriĝos." + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" +"Eraro en la DVI dosiero '%1', paĝo %2. Kolora pop-komando okazis kiam la " +"kolora stako estis malplena." + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" +"Misformita parametro en la speciala komando epsf.\n" +"Atendis reelon sekvintan %1 en %2" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"Dosiero ne troviĝis:\n" +" %1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" +"Eraro en la DVI dosiero '%1', paĝo %2. Ne eblis interpreti la angulon en la " +"teksta rotacio." + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "La speciala komando '%1' ne realiĝis." + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" +"La tipara dosiero %1 ne malfermeblis kaj legeblis, sed ĝia tipara formato ne " +"estas subtenata." + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "" +"La tipara dosiero %1 estas koruptita, aŭ ĝi ne malfermeblis aŭ legeblis." + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" +"FreeType raportis eraron aplikante la signan grandecon por la tiparan " +"dosieron %1." + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "FreeType ne kapablas ŝargi la signobildon #%1 el la tipara dosiero %2." + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "" +"FreeType ne kapablas bildigi la signobildon #%1 el la tipara dosiero %2." + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "La signobildo #%1 estas malplena." + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "La signobildo #%1 el la tipara dosiero %2 estas malplena." + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "" +"FreeType ne kapablas ŝargi la metraĵon por la signobildo #%1 el la fonta " +"dosiero %2." + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "Ne eblas malfermi la tiparan dosieron %1" + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "exFont_PK::operator[]: signo %1 ne estas difinita en tiparo %2" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "Neatendita %1 en PK-dosiero %2" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "La signo %1 estas tro granda en dosiero %2" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "Malĝusta nombro da bitoj konservitaj: signo %1, tiparo %2" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "Malbona PK dosiero (%1), tro multaj bitoj" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "Tiparo havas nekvadratan proporcion " + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "Ne eblas trovi la tiparon %1, en dosiero %2." + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "La kontrolsumo ne kongruas pri la tipara dosiero %1" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "Ne eblas rekoni la formaton de la tipara dosiero %1" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"Neriparebla eraro.\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" +"\n" +"\n" +"Tio verŝajne signifas, ke vi trovis cimon en okular,\n" +"aŭ ke la DVI dosiero, aŭ iuj neĉefaj dosieroj (ekz. tiparoj aŭ virtualaj " +"tiparoj),\n" +"estas tre difektitaj.\n" +"Okular finos post tiu mesaĝo. Se vi kredas, ke vi trovis\n" +"cimon, aŭ ke okular devus konduti pli dece en tiu situacio\n" +"bonvolu raporti la problemon." + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "Malĝusta komanda bitoko troviĝis en VF-makro-listo: %1" diff --git a/po/eo/okular_epub.po b/po/eo/okular_epub.po new file mode 100644 index 0000000..f6d2299 --- /dev/null +++ b/po/eo/okular_epub.po @@ -0,0 +1,45 @@ +# Translation of okular_epub into esperanto. +# mesaĝoj por "okular" +# Copyright (C) 2009 Free Software Foundation, Inc. +# Axel Rousseau , 2009, 2010. +# Oliver Kellogg , 2023. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_epub\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2023-01-06 22:00+0100\n" +"Last-Translator: Oliver Kellogg \n" +"Language-Team: Esperanto \n" +"Language: eo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Axel Rousseau, Oliver Kellogg" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "axel@esperanto-jeunes.org, olivermkellogg@gmail.com" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "Eraro dum malfermo de EPub dokumento" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "EPub" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "EPub Interna Agordo" diff --git a/po/eo/okular_fax.po b/po/eo/okular_fax.po new file mode 100644 index 0000000..2b4593c --- /dev/null +++ b/po/eo/okular_fax.po @@ -0,0 +1,35 @@ +# Translation of okular_fax into esperanto. +# Esperantaj mesaĝoj por "okular" +# Copyright (C) 1998, 2007 Free Software Foundation, Inc. +# Axel Rousseau , 2009, 2010. +# Oliver Kellogg , 2023. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_fax\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2023-02-19 15:20+0100\n" +"Last-Translator: Oliver Kellogg \n" +"Language-Team: Esperanto \n" +"Language: eo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Axel Rousseau" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "axel@esperanto-jeunes.org" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "Ne eblis ŝargi la dokumenton" diff --git a/po/eo/okular_fictionbook.po b/po/eo/okular_fictionbook.po new file mode 100644 index 0000000..7cb162b --- /dev/null +++ b/po/eo/okular_fictionbook.po @@ -0,0 +1,71 @@ +# translation of okular_fictionbook.pot to esperanto +# Copyright (C) 2007 Free Software Foundation, Inc. +# This file is distributed under the same license as the okular package. +# Pierre-Marie Pédrot , 2007. +# Axel Rousseau , 2010. +# Oliver Kellogg , 2023. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_fictionbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2023-01-08 12:30+0100\n" +"Last-Translator: Oliver Kellogg \n" +"Language-Team: Esperanto \n" +"Language: eo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Pierre-Marie Pédrot, Oliver Kellogg" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "pedrotpmx@wanadoo.fr, olivermkellogg@gmail.com" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "La dokumento ne estas valida FictionBook" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "Ne eblas malfermi la dokumenton: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "La dokumento ne estas valida ZIP arkivo" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "Nevalida dokumenta strukturo (ĉefa dosierujo mankas)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "Enhavo ne troviĝis en la dokumento" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "Nevalida XML dokumento: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "FictionBook" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "Agordo de FictionBook Backend" diff --git a/po/eo/okular_ghostview.po b/po/eo/okular_ghostview.po new file mode 100644 index 0000000..d591400 --- /dev/null +++ b/po/eo/okular_ghostview.po @@ -0,0 +1,79 @@ +# translation of okular_ghostview.pot to esperanto +# Copyright (C) 2007 Free Software Foundation, Inc. +# This file is distributed under the same license as the okular package. +# Pierre-Marie Pédrot , 2007. +# Axel Rousseau , 2010. +# Oliver Kellogg , 2023. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_ghostview\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2023-01-06 22:00+0100\n" +"Last-Translator: Oliver Kellogg \n" +"Language-Team: Esperanto \n" +"Language: eo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Pierre-Marie Pédrot" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "pedrotpmx@wanadoo.fr" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "Uzi platformajn tiparojn" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"Determinas ĉu Ghostscript rajtu uzi platformajn tiparojn, se malvera nur " +"uzado de tiparoj enkorpigitaj en la dokumento estos allasata." + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "Ĝeneralaj Agordoj" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "&Uzi platformajn tiparojn" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Ghostscript Interna Agordo" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "Dokumenta versio" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "Lingva nivelo" diff --git a/po/eo/okular_kimgio.po b/po/eo/okular_kimgio.po new file mode 100644 index 0000000..c39053b --- /dev/null +++ b/po/eo/okular_kimgio.po @@ -0,0 +1,45 @@ +# translation of okular_kimgio.po to esperanto +# Copyright (C) 2007 Free Software Foundation, Inc. +# This file is distributed under the same license as the okular package. +# Pierre-Marie Pédrot , 2007. +# Axel Rousseau , 2009. +# Oliver Kellogg , 2023. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_kimgio\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2023-02-19 15:20+0100\n" +"Last-Translator: Oliver Kellogg \n" +"Language-Team: Esperanto \n" +"Language: eo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Pierre-Marie Pédrot,Oliver Kellogg" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "pedrotpmx@wanadoo.fr,olivermkellogg@gmail.com" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "Ne eblis ŝargi la dokumenton: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" +"Ĉi dokumento aperas malformita. Jen laŭeble bona alproksimiĝo de ties celita " +"apero." diff --git a/po/eo/okular_markdown.po b/po/eo/okular_markdown.po new file mode 100644 index 0000000..045d298 --- /dev/null +++ b/po/eo/okular_markdown.po @@ -0,0 +1,54 @@ +# translation of okular_markdown.pot to esperanto +# Copyright (C) 2017 Free Software Foundation, Inc. +# This file is distributed under the same license as the okular package. +# Oliver Kellogg , 2023. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_markdown\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2023-02-19 15:20+0100\n" +"Last-Translator: Oliver Kellogg \n" +"Language-Team: Esperanto \n" +"Language: eo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: translate-po (https://github.com/zcribe/translate-po)\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Oliver Kellogg" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "olivermkellogg@gmail.com" + +#: converter.cpp:59 converter.cpp:93 +#, kde-format +msgid "Failed to open the document" +msgstr "Malsukcesis malfermi la dokumenton" + +#: converter.cpp:106 converter.cpp:124 +#, kde-format +msgid "Failed to compile the Markdown document." +msgstr "Malsukcesis kompili la Markdown-dokumenton." + +#: generator_md.cpp:58 +#, kde-format +msgid "Enable SmartyPants formatting" +msgstr "Ebligu SmartyPants formatadon" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown" +msgstr "Markdown" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown Backend Configuration" +msgstr "Markdown Backend Agordo" diff --git a/po/eo/okular_mobi.po b/po/eo/okular_mobi.po new file mode 100644 index 0000000..7080d20 --- /dev/null +++ b/po/eo/okular_mobi.po @@ -0,0 +1,53 @@ +# Translation of okular_mobi into esperanto. +# Copyright (C) 2009 Free Software Foundation, Inc. +# This file is distributed under the same license as the okular package. +# Axel Rousseau , 2009. +# Oliver Kellogg , 2023. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_mobi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-11-15 12:06+0100\n" +"Last-Translator: Axel Rousseau \n" +"Language-Team: esperanto \n" +"Language: eo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: pology\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Axel Rousseau,Oliver Kellogg" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "axel@esperanto-jeunes.org,olivermkellogg@gmail.com" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Eraro dum malfermo de Mobipocket-dokumento." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "" +"Tiu libro estas protektata de DRM kaj povas estas bildigata nur sur indikita " +"aparato" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "Mobipocket" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "Agordo de Mobipocket-Backend" diff --git a/po/eo/okular_poppler.po b/po/eo/okular_poppler.po new file mode 100644 index 0000000..32ed1c9 --- /dev/null +++ b/po/eo/okular_poppler.po @@ -0,0 +1,388 @@ +# translation of okular_poppler.po to esperanto +# Copyright (C) 2007 Free Software Foundation, Inc. +# This file is distributed under the same license as the okular package. +# Pierre-Marie Pédrot , 2007. +# Oliver Kellogg , 2023. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_poppler\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-03-15 10:38+0100\n" +"Last-Translator: Oliver Kellogg \n" +"Language-Team: esperanto \n" +"Language: eo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: translate-po (https://github.com/zcribe/translate-po)\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Pierre-Marie Pédrot, Oliver Kellogg" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "pedrotpmx@wanadoo.fr, olivermkellogg@gmail.com" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "Ebligi superpresan antaŭrigardon:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "Neniam" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "Ĉiam" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "Aŭtomate" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "Plibonigi maldikajn liniojn:" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "Ne" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "Solida" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "Formo" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "Defaŭlta skaladoreĝimo por la presitaj paĝoj" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "Kongruas al printebla areo" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "Ĝisrandigi al plena paĝo" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "Neniu; presi originalan grandecon" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" +"Ebligi ĉi tiun opcion permesos al Okular kontakti triajn OCSP-servilojn por " +"kontroli ĉu la atestiloj uzataj por cifereca subskribo estas nuligitaj ekde " +"sia kreado." + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" +"Kontroli revokon de atestiloj de ciferecaj subskriboj per triaj serviloj" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "Signatura backend:" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "Atestila Datumbazo" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "Defaŭlto:" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "Propra:" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "Disponeblaj Atestiloj" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "Ŝargi &Subskribojn" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "PDF opcioj" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "Presi prinotojn" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "Enmeti komentadojn en la presita dokumento" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"Inkluzivas komentadojn en la presita dokumento. Vi povas malŝalti ĉi tion se " +"vi volas presi la originalan nekotitan dokumenton." + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "Devigi la rastrumigon" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "Rastrumigi kiel bildon antaŭ ol printi" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"Devigas la rastrumigon de ĉiu paĝo kiel bildo antaŭ ol printi ĝi. Tiu " +"ĝenerale donas iel pli malbonaj rezultojn, sed estas utila por printi " +"dokumentojn kiuj ŝajne ne printiĝas taŭge." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "Skala reĝimo por la presitaj paĝoj" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "Skala reĝimo:" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF v. %1.%2" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "Formato" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "Ĉifrita" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "Malĉifrita" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "Sekureco" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "Jes" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "Optimumigita" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Subskribite de: %1\n" +"\n" +"Dato: %2" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "Uzante Poppler %1" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" +"Uzante Poppler %1\n" +"\n" +"Konstruite kontraŭ Poppler %2" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "PDF Backend Agordo" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" +"Kelkaj eraroj estis trovitaj en la dokumento, Okular eble ne povos montri la " +"enhavon ĝuste" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "Ebligi PGP-Subskribojn" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "Eldonita al" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "Retpoŝto" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "Findato" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" +"Vi uzas Poppler-bibliotekon konstruitan sen NSS-subteno.\n" +"Aldoni Ciferecajn Subskribojn ne disponeblas pro tio" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "porĉiame" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "Restartigo bezonata" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "" +"Vi devas rekomenci Okular post ŝanĝi la agordojn de la dosierujo de NSS" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter Password" +msgstr "Enigi Pasvorton" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "Enigi pasvorton por malfermi %1:" diff --git a/po/eo/okular_tiff.po b/po/eo/okular_tiff.po new file mode 100644 index 0000000..0847a4b --- /dev/null +++ b/po/eo/okular_tiff.po @@ -0,0 +1,28 @@ +# translation of okular_tiff.pot to esperanto +# Copyright (C) 2020 Free Software Foundation, Inc. +# This file is distributed under the same license as the okular package. +# Oliver Kellogg , 2023. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_tiff\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2023-02-19 15:20+0100\n" +"Last-Translator: Oliver Kellogg \n" +"Language-Team: esperanto \n" +"Language: eo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Oliver Kellogg" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "olivermkellogg@gmail.com" diff --git a/po/eo/okular_txt.po b/po/eo/okular_txt.po new file mode 100644 index 0000000..09ec75d --- /dev/null +++ b/po/eo/okular_txt.po @@ -0,0 +1,38 @@ +# translation of okular_txt.pot to esperanto +# Copyright (C) 2013 Free Software Foundation, Inc. +# This file is distributed under the same license as the okular package. +# Oliver Kellogg , 2023. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_tiff\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2023-02-19 15:20+0100\n" +"Last-Translator: Oliver Kellogg \n" +"Language-Team: esperanto \n" +"Language: eo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Oliver Kellogg" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "olivermkellogg@gmail.com" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "Txt" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "Agordo de Txt-Backend" diff --git a/po/eo/okular_xps.po b/po/eo/okular_xps.po new file mode 100644 index 0000000..3233a77 --- /dev/null +++ b/po/eo/okular_xps.po @@ -0,0 +1,35 @@ +# translation of okular_xps.po to esperanto +# Copyright (C) 2010 Free Software Foundation, Inc. +# This file is distributed under the same license as the okular package. +# Pierre-Marie Pédrot , 2007. +# Oliver Kellogg , 2023. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_xps\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2023-02-19 15:20+0100\n" +"Last-Translator: Oliver Kellogg \n" +"Language-Team: esperanto \n" +"Language: eo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Pierre-Marie Pédrot,Oliver Kellogg" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "pedrotpmx@wanadoo.fr,olivermkellogg@gmail.com" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "Revizio" diff --git a/po/eo/org.kde.active.documentviewer.po b/po/eo/org.kde.active.documentviewer.po new file mode 100644 index 0000000..84f49ef --- /dev/null +++ b/po/eo/org.kde.active.documentviewer.po @@ -0,0 +1,211 @@ +# translation of org.kde.active.documentviewer.pot to esperanto +# Copyright (C) 2012 Free Software Foundation, Inc. +# This file is distributed under the same license as the okular package. +# Oliver Kellogg , 2023. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-12-27 17:40+0100\n" +"Last-Translator: Oliver Kellogg \n" +"Language-Team: esperanto \n" +"Language: eo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: translate-po (https://github.com/zcribe/translate-po)\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "Legosignoj" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "Atestilo-Vidilo" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "Publikigita de" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "Komuna Nomo:" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "Retpoŝto:" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "Organizo:" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "Eldonita Al" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "Valideco" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "Eldonita Je:" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "Eksvalidiĝas je:" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "Fingrospuroj" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "SHA-1 Fingrosigno:" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "SHA-256 Fingrosigno:" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +msgid "Export…" +msgstr "Eksporti…" + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "Fermi" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "Atestilo (*.cer)" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "Eraro" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "Ne eblis eksporti la atestilon." + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "Okulara" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "" + +#: ui/Main.qml:49 +msgid "About" +msgstr "Pri" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "Pasvorto Bezonata" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "Forigi legosignon" + +#: ui/MainView.qml:29 +msgid "Bookmark this page" +msgstr "Legomarku ĉi tiun paĝon" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "Bildetojn" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "Enhavtabelo" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "Subskriboj" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "Subskribo Propraĵoj" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "Statuso de valideco" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "Valido de subskribo:" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "Dokumentaj Modifoj:" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "Kromaj Informoj" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "Subskribita de:" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "Tempo de subskribo:" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "Kialo:" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "Loko:" + +#: ui/SignaturePropertiesPage.qml:96 +msgid "Document Version" +msgstr "Dokumenta Versio" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Dokumenta Revizio %1 de %2" + +#: ui/SignaturePropertiesPage.qml:108 +msgid "Save Signed Version…" +msgstr "Konservi subskribitan version…" + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +msgid "View Certificate…" +msgstr "Vidi Atestilon…" + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "Ne eblis konservi la subskribon." + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "Ne disponebla" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "Neniuj rezultoj trovitaj." + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "Neniu dokumento malfermita" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "" + +#: ui/WelcomeView.qml:108 +#, fuzzy +#| msgid "Document Version" +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "Dokumenta Versio" + +#~ msgid "Open..." +#~ msgstr "Malfermu..." diff --git a/po/es/docs/okular/configure.png b/po/es/docs/okular/configure.png new file mode 100644 index 0000000000000000000000000000000000000000..1104677ec4950fbff42dae7bf018377bda79abf2 GIT binary patch literal 57200 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

9kDm4CB#8*K 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%0DKjDr-Y5yu>z@j44S-X5dGR-t)bD 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 literal 0 HcmV?d00001 diff --git a/po/es/docs/okular/embedded-files-bar.png b/po/es/docs/okular/embedded-files-bar.png new file mode 100644 index 0000000000000000000000000000000000000000..be4cb91f928f875de864f6dfb6e40869dc748590 GIT binary patch literal 4657 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 +KPDF"> + + +]> + + + + Manual de &okular; + + Albert Astals Cid

&Albert.Astals.Cid.mail;
+ + + Pino Toscano
pino@kde.org
+
+
+ Rafael Rodríguez Martín
apt-drink@telefonica.net
Traductor
Javier Fdez. Retenaga
jfrtnaga@yahoo.es
Traductor
Javier Viñal
fjvinal@gmail.com
Traductor
+ + &FDLNotice; + 2022-02-19 + 22.04 + + + &okular; es un visor universal de documentos para &kde; basado en el código de &kpdf;. + + + KDE + okular + pdf + ps + postscript + tiff + djvu + dvi + xps + comicbook + fictionbook + markdown + mobipocket + Anotación + + + + Introducción + &okular; es un visor universal de documentos para &kde; basado en el código de &kpdf;. Sin embargo, a pesar de estar basado en el código de &kpdf; &okular; tiene algunas funcionalidades únicas, tales como modo continuo y reconocimiento mejorado de presentaciones y uso de anotaciones. + &okular; admite gran cantidad de formatos distintos, como &PDF;, &PostScript;, Tiff, DjVU, imágenes (png, jpg, &etc;) XPS, Fiction Books, Comic Book, Plucker, EPub, Fax y Markdown. Para ver todos los formatos reconocidos y sus características, consulte Manejadores de formatos de documentos de &okular;. + + Ventana principal de &okular; + + + + + + Ventana principal de &okular; + + + + + + Uso básico + + Abrir archivos + Para abrir un archivo reconocido por &okular;, seleccione ArchivoAbrir… , elija un archivo en el cuadro de diálogo y pulse Abrir. El archivo se mostrará ahora en la ventana principal. + + El nuevo documento se abrirá en una nueva pestaña si está marcada la opción Abrir nuevos archivos en pestañas en la página de configuración general. + Puede cerrar la pestaña pulsando con el &MMB; sobre ella. + Puede volver a abrir el documento previamente cerrado en una pestaña usando el elemento del menú &Ctrl;&Shift;TArchivo Deshacer cierre de pestaña. + + Si ya ha abierto antes archivos en &okular;, puede acceder a ellos rápidamente seleccionándolos en el menú ArchivoAbrir reciente. + &okular; es la aplicación predeterminada de &kde; para archivos &PDF; y &PostScript; que se lanzará cuando pulse con el &LMB; en esos tipos de archivos en el administrador de archivos. Si quiere abrir algún archivo cuyo formato esté admitido por &okular; utilice Abrir con…&okular; desde el menú de contexto del administrador de archivos. + Una vez haya abierto un archivo, probablemente querrá leerlo u hojearlo. Vaya a la siguiente sección para ver cómo hacerlo. + + + Examinar + Esta sección describe cómo puede examinar un documento con &okular;. + Hay diversos modos de desplazarse por el área de visualización. Puede usar las teclas &Up; y &Down;. También puede utilizar la barra de desplazamiento, la rueda del ratón o las teclas &PgUp; y &PgDn;. + Usted también puede usar teclas de navegación estilo vim, H para moverse arriba de la página anterior, L para moverse abajo de la página siguiente, J para moverse una línea abajo, y K para moverse una línea arriba. + Otro modo consiste en mantener pulsado el &LMB; en cualquier parte del documento y desplazar el ratón en la dirección opuesta al lugar hacia donde quiera mover el documento. Este procedimiento solo funciona si está activada la herramienta de navegación. Puede hacerlo seleccionando Herramientas Explorar. + + Cuando se visualiza un documento en el Modo presentación use las teclas &Up; y &Down; para cambiar entre páginas o diapositivas. El número y la posición de la diapositiva actual se mostrarán en la superposición de la esquina superior derecha de la pantalla. + + Si quiere leer un documento con varias páginas emplee la característica de desplazamiento automático de &okular;. Inicie el desplazamiento automático con &Shift;&Down; o &Shift;&Up;. Puede iniciar o detener temporalmente el desplazamiento automático pulsando la tecla &Shift;; al pulsar cualquier otra tecla se desactiva esta característica. + Otro modo de navegar a través de un documento con varias páginas es utilizar el puntero del ratón. Arrastre la página arriba o abajo, continúe arrastrando incluso si alcanza la parte de abajo de la pantalla y más allá. Una vez que cruce el borde de una página, el cursor del ratón aparece arriba o abajo de la pantalla de nuevo y puede continuar arrastrando. + La barra lateral, en el lado izquierdo de la pantalla, le permite dos maneras más de navegar por el documento: + + + Si pulsa la miniatura de una página el área de visualización se desplazará a esta página. + + + Si el documento tiene un índice, pulsando en un elemento del índice se desplazará a la página a la que esté enlazado este elemento. + + + Si el documento contiene capas, puede controlar las que se deben mostrar marcando o desmarcando los elementos de la lista Capas. + + + Si el documento contiene marcadores, active la vista Marcadores y pulse sobre ellos para ir a la página asociada. Si los marcadores no se muestran para el documento actual, puede cambiar rápidamente a los marcadores en todos los archivos abiertos recientemente. + + + Si el documento tiene anotaciones, active la vista Anotaciones y pulse sobre las anotaciones o selecciónelas con las teclas &Up; y &Down; y pulse &Enter; para ir a la página asociada. + + + Algunos documentos contienen enlaces. En tal caso, puede pulsar en ellos y cambiará a la página a la que esté enlazado. Si se trata de un enlace a una página web o a cualquier otro documento, se llamará al manipulador predeterminado de &kde; para ese formato. Por ejemplo, al pulsar sobre un enlace que apunte a https://www.kde.org se abrirá la página web en el navegador por defecto de &kde;. + + Los enlaces internos del documento funcionan solo cuando se usa la Herramienta de navegación. + + También puede utilizar la función siguiente para desplazarse rápidamente a lugares concretos del documento: + + + Puede ir al inicio del documento utilizando &Ctrl;Inicio o Ir Inicio del documento . + + + Puede ir al final del documento utilizando &Ctrl;Fin o utilizando Ir Final del documento . + + + Puede avanzar en el documento utilizando &Space; o &PgDn;. Para ir a la siguiente página del documento use el botón de la barra de herramientas Siguiente página o Ir Siguiente página en la barra de menús. + + + Puede retroceder en el documento utilizando &Backspace; o &PgUp;. Para ir a la página anterior del documento emplee el botón de la barra de herramientas Página anterior o Ir Página anterior en la barra de menús. + + + Puede volver a las posiciones del documento de las que venía en orden cronológico. Considere, por ejemplo, que está leyendo la frase Como se muestra en [15]…, y que quiere saber rápidamente lo que dice la referencia [15]. Para ello, pulse sobre ella para que &okular; salte a la lista de referencias. Use luego &Alt;&Shift;&Left; o Ir Atrás en la barra de herramientas para volver a la posición exacta de la que venía. + + + Puede avanzar en el documento tras el salto atrás, como se ha descrito anteriormente, usando &Alt;&Shift;&Right; o Ir Adelante en la barra de herramientas. + + + Puede ir a la siguiente coincidencia mientras busca usando las teclas F3 o &Enter; (cuando el foco esté en el campo de texto Encontrar), o bien la opción de menú Editar Buscar siguiente . También puede retroceder a la coincidencia anterior usando las teclas &Shift;F3 o &Shift;&Enter; (cuando el foco esté en el campo de texto Encontrar), o bien la opción de menú Editar Buscar anterior . + + + + + Modo presentación + El modo presentación es otra manera de ver documentos en &okular;. Se puede activar en Ver Presentación . Esto muestra el documento página por página. Las páginas se muestran ajustadas, lo que quiere decir que se verá toda la página. + + En los documentos &PDF; puede incluso especificarse que se abran siempre en el modo de presentación. + + En el modo presentación dispone de un asistente en la parte superior de la pantalla. Solo tiene que mover el cursor del ratón a la parte superior de la pantalla para que aparezca. + + &okular; en modo de presentación + + + + + + &okular; en modo de presentación + + + + Para navegar por las páginas puede utilizar el &LMB; (página siguiente) y el &RMB; (página anterior), la rueda del ratón, los iconos de flechas que aparecerán al colocar el ratón en el extremo superior de la pantalla, o las teclas especificadas en la sección Navegación . + Utilice el botón Reproducir/Pausar de la barra superior para iniciar la reproducción de una presentación o para pausarla, respectivamente. + Puede salir en cualquier momento del modo de presentación utilizando la tecla &Esc; o pulsando en el icono Salir que aparecerá si desplaza el ratón al extremo superior de la pantalla. + También puede pintar en la página con un lápiz. Pulse sobre el icono Conmutar modo de dibujo en la barra superior para activar o desactivar la posibilidad de pintar en el modo de presentación. Los dibujos se borran automáticamente cuando se abandona el modo de presentación. También puede pulsar el icono Borrar dibujos para eliminar los dibujos de la página actual. + El modo de presentación admite más de una pantalla en configuración multimonitor. Si existe más de una pantalla, aparecerá un nuevo botón en la barra superior, con el icono de una pantalla: hay una caja desplegable que le permite mover la presentación a cualquiera de las pantallas disponibles. + El modo Presentación tiene algunas opciones de configuración, cuyo significado puede encontrar en Configurar &okular; . + + + + Búsqueda inversa entre editores de &latex; y &okular; + + La búsqueda inversa es una función que encontrará de gran utilidad cuando esté escribiendo un documento &latex;. Si todo está bien configurado, podrá hacer clic en la ventana de &okular; con el botón izquierdo del ratón mientras mantiene pulsada la tecla &Shift;. Tras esto, el editor carga el archivo fuente de &latex; y salta al párrafo correcto. + + La búsqueda inversa no funcionará a menos que: + + + El archivo fuente haya sido compilado con éxito. + &okular; sepa qué editor desea utilizar. + La herramienta de navegación tiene que estar activada. Puede hacerlo seleccionando HerramientasExplorar. + + + Con esta función de &okular;, un clic con el botón izquierdo del ratón mientras pulsa &Shift; en un documento &DVI; o &PDF; hará que el editor abra el documento &latex; asociado y trate de ir a la línea correspondiente. Recuerde que debe indicarle a &okular; el editor que va a usar mediante la opción del menú PreferenciasConfigurar Okular… (en la página Editor). + + Para más detalles sobre la configuración del editor, consulte la correspondiente sección de este manual. + + + Configuración de &okular; + + + + + + Configuración del editor en &okular; + + Configuración del editor en &okular; + + + + + + + Características avanzadas de &okular; + + Archivos empotrados + Si el documento actual tiene archivos empotrados, cuando los abra aparecerá una barra sobre la vista de la página para informarle sobre los archivos integrados. + + La barra de archivos empotrados + + + + + + La barra de archivos empotrados + + + + En este caso, puede pulsar sobre el enlace en el texto de la barra o elegir ArchivoArchivos empotrados para abrir el diálogo de archivos empotrados. Este diálogo le permite ver los archivos empotrados y extraerlos. + + + Formularios + Si el documento actual tiene formularios, cuando los abra aparecerá una barra sobre la vista de página donde puede activar los formularios. + + La barra de formularios + + + + + + La barra de formularios + + + + En este caso, puede pulsar sobre Mostrar formularios en la barra o elegir VerMostrar formularios para introducir datos en los campos del formulario. + + + Firmas + Si el documento actual tiene firmas, se mostrará una barra sobre la vista de la página tras abrir el documento. Le permite abrir el panel de Firmas. + + La barra de firmas + + + + + + La barra de firmas + + + + Puede usar el panel Firmas para inspeccionar la firma del documento y su certificado. + + El panel de firmas + + + + + + El panel de firmas + + + + + Esta función está disponible solo para documentos &PDF;. Necesita instalar al menos la versión 0.51 de Poppler para obtener más información sobre la firma, la versión 0.68 para obtener información sobre la ubicación o el motivo de la firma, o la versión 0.73 para obtener información sobre el certificado de la firma. + + + Añadir firmas digitales + Se puede añadir una firma digital a un documento usando la correspondiente acción del menú Herramientas. + Para poder firmar un documento, se necesita disponer de un certificado de firma PKCS adecuado en el sistema. &okular; no tiene la capacidad de crear este tipo de certificados, ya que deben ser emitidos por autoridades certificadoras para que se puedan usar para validar, etc. + Usamos la biblioteca Poppler para manejar la firma de documentos &PDF;, y Poppler usa la biblioteca NSS para manejar certificados. Al escribir esto, Poppler tratará de usar uno de los siguientes almacenes de certificados NSS en orden (el primero que exista): + + El almacén de certificados del usuario actual de Firefox. + El almacén de certificados del sistema /etc/pki/nssdb. + El archivo $HOME/.pki/nssdb del usuario actual. + + Di desea usar un almacén de certificados personalizado, puede definirlo en la sección Configuración del motor &PDF; del diálogo Configurar motores…. + + Esta función está disponible solo para documentos &PDF;. Necesita instalar al menos la versión 21.01 de Poppler para poder añadir firmas digitales a un documento. + + + + + Anotaciones + &okular; le permite revisar y hacer notas en los documentos. + + Anotaciones de &okular; + + + + + + Anotaciones de &okular; + + + + &okular; dispone de dos tipos distintos de anotaciones: + Anotaciones de texto como Resaltador amarillo y Subrayado negro se pueden usar en archivos que contienen texto (como, por ejemplo, &PDF;). + Las anotaciones gráficas como Nota emergente, Nota incrustada, Línea a mano alzada, Resaltador, Línea recta, Polígono, Sello, Subrayado, Elipse y Máquina de escribir. + Las anotaciones gráficas no están limitadas a archivos &PDF;, sino que se pueden emplear con cualquier formato que admita &okular;. + Mediante el uso del menú Anotaciones, puede añadir una Nota emergente o cualquier otra clase de anotación para añadir o editar comentarios. + + &okular; posee la función de «archivado de documentos». Este es un formato específico de &okular; para almacenar el documento más varios metadatos relacionados (en la actualidad solo anotaciones). Puede guardar un «archivo comprimido de documento» del documento abierto eligiendo ArchivoGuardar como y seleccionando Archivo de documento de Okular en el selector de Filtro. Los documentos que se guardan de esta manera tendrán la extensión .okular. Para abrir un archivo de documento de &okular;, ábralo con &okular; como si fuera ⪚ un documento &PDF;. + También puede guardar las anotaciones directamente en los archivos &PDF;. Puede usar Archivo Guardar para guardarlas en el archivo actual o Archivo Guardar como… para guardarlas en un nuevo archivo. + + Observe que no se pueden añadir, editar ni eliminar anotaciones en archivos con DRM activada. + + + Se puede deshacer o rehacer cualquier acción de anotación usando las correspondientes opciones del menú Editar. También se puede deshacer la acción pulsando &Ctrl;Z y volver a hacer una acción previamente deshecha pulsando &Ctrl;&Shift;Z. + + Puede configurar las propiedades predeterminadas y el aspecto de cada herramienta de anotación. Consulte la correspondiente sección de este manual. + + Añadir anotaciones + Para añadir anotaciones al documento puede usar el botón Anotaciones rápidas de la barra de herramientas principal de &okular; o activar la barra de herramientas de comentarios. Esto se hace seleccionando Herramientas Anotaciones o pulsando F6. Una vez mostrada la barra de comentarios, solo hay que pulsar uno de sus botones o usar atajos de teclado (teclas desde 1 a 9) para usar esa anotación. + La barra de herramientas de anotaciones le ayuda a hacer anotaciones con dibujos, formas y mensajes de texto. Puede usar la barra de herramientas de anotaciones para marcar un documento (⪚, añadir líneas, elipses, polígonos, sellos, resaltados, subrayados, &etc;). La tabla siguiente describe lo que hace exactamente cada botón por omisión de la barra de herramientas de anotaciones. + + + + + Botón + Nombre de la herramienta + Descripción + + + + + + + + + + + + + + + Resaltador + + + Resalta texto del documento con un determinado color de fondo. + Pulse el botón de la herramienta y a continuación arrastre con el &LMB; para resaltar un fragmento de texto. + Es posible definir el Tipo (Resaltado, Garabato, Subrayado o Tachado), el Color y la Opacidad del resaltador. Pulse con el botón derecho sobre el texto resaltado y seleccione la opción del menú Propiedades. + + + + + + + + + + + + + + Subrayado + + + Subraya texto usando una línea recta. + Pulse el botón de la herramienta y a continuación arrastre con el &LMB; para subrayar un fragmento de texto. + Es posible definir el Tipo (Resaltado, Garabato, Subrayado o Tachado), el Color y la Opacidad del subrayado. Pulse con el botón derecho sobre el texto subrayado y seleccione la opción del menú Propiedades. + + + + + + + + + + + + + + Garabato + + + Subraya texto usando una línea ondulada. + Pulse el botón de la herramienta y a continuación arrastre con el &LMB; para subrayar un fragmento de texto con una línea ondulada. + Es posible definir el Tipo (Resaltado, Garabato, Subrayado o Tachado), el Color y la Opacidad del subrayado. Pulse con el botón derecho sobre el texto subrayado y seleccione la opción del menú Propiedades. + + + + + + + + + + + + + + Tachado + + + Tacha texto. + Pulse el botón de la herramienta y a continuación arrastre con el &LMB; para tachar un fragmento de texto con una línea ondulada. + Es posible definir el Tipo (Resaltado, Garabato, Subrayado o Tachado), el Color y la Opacidad del subrayado. Pulse con el botón derecho sobre el texto subrayado y seleccione la opción del menú Propiedades. + + + + + + + + + + + + + + Máquina de escribir + + + Añade texto sobre un fondo transparente. Esto es útil para rellenar formularios que carecen de campos de texto integrados que se puedan editar. + Pulse el botón de la herramienta y luego haga clic con el &LMB; donde quiera situar la esquina superior izquierda del texto; arrastre a continuación para situar la esquina inferior derecha. Escriba el texto y pulse Aceptar para guardarlo, Borrar para borrar el texto y comenzar de nuevo, o Cancelar para cancelar la operación. + Es posible definir el Tipo de letra y el Color del texto. Pulse con el botón derecho sobre el texto creado y seleccione la opción del menú Propiedades. + + + + + + + + + + + + + + Nota en línea + + + Dibuja una nota intercalada. La nota se mostrará intercalada en el texto. + Pulse el botón de la herramienta y luego haga clic con el &LMB; donde quiera situar la esquina superior izquierda de la nota; arrastre a continuación para situar la esquina inferior derecha. Introduzca el texto de la nota y pulse Aceptar para guardar la nota, Borrar para borrar el texto de la nota, o Cancelar para cancelar la creación de la nota. + Es posible definir el Color, la Opacidad, el Tipo de letra, la Alineación y la Anchura del borde de la nota. Pulse con el botón derecho sobre el icono de la nota creada y seleccione la opción del menú Propiedades. + + + + + + + + + + + + + + Nota emergente + + + Dibuja una nota multilínea. La nota se puede ver haciendo doble clic sobre el icono que se ha creado en el documento. + Pulse el botón de la herramienta y luego vuelva a pulsar en el lugar del documento donde quiera añadir la nota emergente. Introduzca el texto de la nota emergente y a continuación pulse el botón Cerrar esta nota que hay en la esquina superior derecha de la ventana emergente. + Es posible definir el Color, la Opacidad y el Icono de la nota. Pulse con el botón derecho sobre el icono de la nota creada y seleccione la opción del menú Propiedades. + + + + + + + + + + + + + + Línea a mano alzada + + + Dibuja líneas a mano alzada. + Pulse el botón de la herramienta y a continuación arrastre con el &LMB; para dibujar la línea. + Es posible definir el Color, la Opacidad y la Anchura de la línea. Pulse con el botón derecho sobre la línea creada y seleccione la opción del menú Propiedades. + + + + + + + + + + + + + + Flecha (lista desplegable) + + + Dibuja una flecha entre dos puntos. + Pulse el botón de la herramienta y haga clic a continuación con el &LMB; para situar el punto inicial de la flecha; arrastre a continuación para situar el punto final de la línea y vuelva a hacer clic una vez más. + Es posible definir el Color, la Opacidad, la Anchura, el Inicio de la línea, el Extremo de la línea, la Longitud de la línea principal y la Longitud de las extensiones de la línea principal de las líneas. Para ello, pulse con el botón derecho del ratón sobre la línea creada y seleccione la opción del menú Propiedades. + + + + + + + + + + + + + + Línea recta (lista desplegable) + + + Dibuja una línea entre dos puntos. + Pulse el botón de la herramienta y haga clic a continuación con el &LMB; para situar el punto inicial de la línea; arrastre a continuación para situar el punto final de la línea y vuelva a hacer clic una vez más. + Es posible definir el Color, la Opacidad, la Anchura, el Inicio de la línea, el Extremo de la línea, la Longitud de la línea principal y la Longitud de las extensiones de la línea principal de las líneas. Para ello, pulse con el botón derecho del ratón sobre la línea creada y seleccione la opción del menú Propiedades. + + + + + + + + + + + + + + Rectángulo (lista desplegable) + + + Dibuja un rectángulo alrededor del área escogida. + Pulse el botón de la herramienta y haga clic a continuación con el &LMB; para posicionar la esquina superior izquierda del rectángulo; arrastre a continuación para situar la esquina inferior derecha de dicho rectángulo. + Es posible definir el Tipo (Rectángulo o Elipse), el Color, la Opacidad, el Relleno de la forma (además de su color) y la Anchura del borde. Para ello, pulse con el botón derecho del ratón sobre el borde creado y seleccione la opción del menú Propiedades. + + + + + + + + + + + + + + Elipse (lista desplegable) + + + Dibuja una elipse o un rectángulo alrededor del área escogida. + Pulse el botón de la herramienta y haga clic a continuación con el &LMB; mientras lo mantiene pulsado para posicionar la esquina superior izquierda del rectángulo que contendrá la elipse; arrastre a continuación para situar la esquina inferior derecha de dicho rectángulo. + Es posible definir el Tipo (Rectángulo o Elipse), el Color, la Opacidad, el Relleno de la forma (además de su color) y la Anchura del borde. Para ello, pulse con el botón derecho del ratón sobre el borde creado y seleccione la opción del menú Propiedades. + + + + + + + + + + + + + + Polígono (lista desplegable) + + + Dibuja una forma cerrada a partir de tres o más segmentos de línea. La nota correspondiente se puede ver haciendo doble clic dentro del polígono. + Pulse el botón de la herramienta y haga clic a continuación con el &LMB; para situar el primer vértice del polígono; arrastre para situar el segundo vértice. Repita el proceso para dibujar el resto del polígono y conectarlo con el primer vértice. Haga doble clic para añadir una nota al polígono. Introduzca el texto de la nota y pulse Aceptar para guardar la nota, Borrar para borrar la nota, oCancelar para cancelar la inserción de la nota. + Es posible definir el Color, la Opacidad, el Relleno de la forma (además de su color) y la Anchura del polígono. Para ello, pulse con el botón derecho del ratón sobre el polígono creado y seleccione la opción del menú Propiedades. + + + + + + + + + + + + + + Sello + + + Inserta una forma predefinida en el documento. + Pulse el botón de la herramienta para escoger el sello en la lista desplegable y haga clic a continuación con el &LMB; para situar el sello. + Un único clic coloca un sello cuadrado (útil para iconos). Para añadir un sello rectangular puede pulsar con el &LMB; y sostenerlo para colocar el punto superior izquierdo, después arrástrelo para colocar el inferior derecho. + Es posible definir la Opacidad y el Símbolo del sello. Pulse con el botón derecho sobre el icono del sello creado y seleccione la opción del menú Propiedades. + + Esta funcionalidad es experimental. Los sellos personalizados insertados en documentos &PDF; no son visibles en otros lectores de &PDF; distintos de &okular;. + + + + + + + Estas son las anotaciones predeterminadas que proporciona &okular;. Usando la página de anotaciones del diálogo de configuración puede añadir sus propias anotaciones, como sellos personalizados, marcadores de texto o una forma geométrica con color interior para resaltar regiones, etc. + + Es posible añadir código &latex; al texto de las anotaciones. Para ello, añada $$código$$ al texto de la anotación, donde código es cualquier ecuación válida de &latex;. Siga las instrucciones que se muestran en la pantalla para mostrarlo usando la distribución de &latex; instalada en su sistema. + + Se puede configurar la herramienta seleccionada usando la propia barra de anotaciones: + + + + + Botón + Nombre de la opción + Descripción + + + + + + + + + + + + + + + Anchura de la línea + + + Pulse este botón para escoger la anchura de la lista desplegable. + + + + + + + + + / + + + + + + + Color de las anotaciones + + + Pulse este botón para escoger el color del texto o del borde de la anotación. Puede escoger uno de los colores predefinidos o pulsar la opción Color personalizado… para abrir el diálogo de selección de color. + + + + + + + + + + + + + + Color de relleno de las anotaciones + + + Pulse este botón para escoger el color relleno de la anotación. Puede escoger uno de los colores predefinidos o pulsar la opción Color personalizado… para abrir el diálogo de selección de color. + + + + + + + + + + + + + + Opacidad de las anotaciones + + + Pulse este botón para escoger la opacidad de la anotación en la lista desplegable (100 % es para crear anotaciones opacas). + + + + + + + + + + + + + + Tipo de letra de las anotaciones + + + Pulse este botón para abrir el diálogo de selección del tipo de letra. + + + + + + + + + + + + + + Preferencias avanzadas para la herramienta de anotación actual + + + Pulse este botón para abrir el diálogo de configuración general de la anotación. + + + + + + Existen tres botones de utilidades adicionales en la barra de anotaciones: + + + + + Botón + Descripción + + + + + + + + + + + + + + + Añadir la anotación actual al menú Anotaciones rápidas de la barra de herramientas principal. + + Puede usar los atajos de teclado de &Alt;9 a &Alt;0 para seleccionar las acciones de anotación rápida cada vez que lo desee, incluso si está oculta la barra de anotaciones. + + + + + + + + + + + + + + + Si está marcada, mantener la herramienta de la anotación actual activa tras usarla. + + + + + + + + + + + + + + Ocultar la barra de herramientas de anotaciones. + + + + + + Al pulsar &Shift; puede limitar el ángulo de las anotaciones de línea y de polígono a pasos de 15°, y la proporción de las anotaciones de forma (como rectángulo o elipse) a 1:1. También puede obtener un botón de la barra de herramientas de Configurar barras de herramientas…. + El contenido del menú Anotaciones rápidas se puede configurar usando la Página de anotaciones del diálogo de configuración de &okular;. Esta página se puede abrir pulsando el botón Configurar anotaciones… en el menú emergente. + + Al activar la barra de herramientas de anotaciones se cambiará automáticamente al modo de navegación. + + Puede detener la anotación en cualquier momento pulsando de nuevo el botón de la anotación que está usando o la tecla &Esc;. + La nueva anotación que se cree tendrá como autor al indicado en la página Anotaciones del diálogo de configuración de &okular;. La página Anotaciones también puede usarse para configurar el contenido de la barra de herramientas de anotaciones. + + + Borrar anotaciones + Para eliminar una anotación, seleccione primero la herramienta de exploración (HerramientasExplorar), pulse sobre ella con el &RMB; y seleccione Borrar; también puede seleccionar una anotación usando el &LMB; y pulsar la tecla ∇. + Al borrar una anotación, su ventana se cerrará si estuviera abierta. + + + Editar anotaciones + Para editar una anotación, seleccione primero la herramienta de exploración (HerramientasExplorar), pulse sobre una anotación con el &RMB; y seleccione Propiedades. Se mostrará un diálogo con las preferencias generales (como color, opacidad, autor, etc.) y las específicas para ese tipo de anotación. + + Diálogo de propiedades de la anotación + + + + + + Diálogo de propiedades de la anotación + + + + Para desplazar una anotación, mantenga pulsada la tecla &Ctrl; sitúe el puntero del ratón encima y comience a arrastrarlo con el &LMB;. + Haga clic con el &LMB; sobre una anotación para seleccionarla. En el rectángulo de selección aparecerán asas para cambiar su tamaño. Al situar el cursor sobre cualquiera de estas 8 asas que hay en las esquinas o en los bordes, su forma cambiará para indicar que está en el modo que permite cambiar el tamaño. Pulse en cualquier lugar de la anotación para moverla. Pulse &Esc; o haga clic fuera de la anotación para cancelar la selección. + El cambio de tamaño solo está disponible para los tipos de anotaciones «Notas en línea», «Máquina de escribir», «Sello» y «Elipse». + + + Algunas opciones pueden estar desactivadas dependiendo de los permisos del documento (por lo general, esto solo afecta a algunos documentos &PDF;). + + + + + Gestión de marcadores + &okular; posee un sistema de marcadores muy flexible. &okular; guarda la posición de la página en el marcador y le permite definir más de un marcador por página. + Para gestionar los marcadores de &okular; puede usar la vista Marcadores que hay en la Barra lateral, el menú Marcadores o el menú de contexto de la vista del documento (pulse con el &RMB; para abrirlo). + + La vista de marcadores + Para abrir la vista Marcadores, pulse la pestaña Marcadores existente en la parte superior de la Barra lateral. Si no se muestra la Barra lateral, pulse el botón Mostrar barra lateral de la barra de herramientas o la opción F7 PreferenciasMostrar barra lateral del menú principal para hacerla visible. + + Menú de contexto de la vista de marcadores + + + + + + Menú de contexto de la vista de marcadores + + + + La casilla Mostrar para todos los documentos se puede desmarcar para mostrar solo los marcadores del documento actual. + Puede usar la barra de filtrado que hay en la parte superior de la vista de Marcadores para filtrar el contenido del panel de la lista de marcadores según el texto del cuadro. + El panel de lista permite ver la lista de marcadores en modo de árbol: cada documento de la lista se puede «plegar» o «desplegar» pulsando los iconos < o v que hay junto a él. + El menú de contexto de los documentos se puede usar para abrirlos, cambiar su nombre o eliminarlos de la lista. Recuerde que la eliminación de un documento conlleva la eliminación de todos los marcadores de dicho documento. + Los menús de contexto de los marcadores individuales permiten ir al marcador, cambiar su nombre o eliminarlo. + Puede usar el menú que aparece al hacer clic con el botón derecho del ratón sobre los elementos de la tabla de contenido para crear marcadores o para ir a los marcadores anterior o siguiente. + + + + + Opciones de la línea de órdenes + Aunque &okular; se iniciará normalmente desde el menú de programas de &kde; o mediante un icono del escritorio, también se puede abrir desde la línea de órdenes de la ventana de terminal. Existen varias opciones útiles que puede usar cuando utilice este método. + + Especificar un archivo + Al especificar la ruta y el nombre de un determinado archivo, el usuario puede hacer que &okular; abra dicho archivo inmediatamente tras el inicio. Esta opción puede ser similar a lo siguiente: + % okular + + + Para documentos &PDF;, se puede especificar el nombre como nombre-del-documento#destino, donde destino es un nombre de destino determinado dentro del documento. + + + + Otras opciones de la línea de órdenes + Dispone de las siguientes opciones de ayuda en la línea de ordenes + + + okular + Abre la página con el número especificado en el documento. También está disponible usando okular + + + okular + Inicia el documento en el modo de presentación. + + + okular + Iniciar el diálogo de impresión. + + + okular + Iniciar con el diálogo de impresión y salir tras imprimir. + + + okular + Control de una única ejecución. + + + okular + Hace que &okular; impida que su ventana pase a primer plano tras el inicio. + + + okular + Trata de encontrar y resaltar una determinada cadena de texto en el documento. Solo funciona si se proporciona un único documento como argumento de la orden okular. + + + okular + Define la orden del editor externo. No se puede definir la orden del editor externo en una instancia de &okular; que ya esté en ejecución. Tenga en cuenta que no se puede usar al definir la orden del editor externo en la línea de órdenes. + + + + + + Ajustar ventana a la página + La función «ajustar ventana a la página» cambia el tamaño de la ventana para que tenga exactamente el mismo tamaño que la página con el factor de ampliación actual. Si la página no cabe completamente en la pantalla, se agranda la ventana para que se muestre la mayor parte posible de la página. + Se puede acceder a esta función usando el atajo de teclado &Ctrl;J. + + + + + La barra de menú + + + El menú Archivo + + + + &Ctrl;O Archivo Abrir… + + + Abrir un archivo permitido o un archivo comprimido de documento de &okular;. Si ya hay abierto un archivo, este se cerrará. Para más información, consulte la sección sobre Abrir archivos. + + + + + + Archivo Abrir reciente + + + Abre, desde un submenú, un archivo que ha sido utilizado con anterioridad. Si en ese momento se está mostrando otro archivo, este se cerrará. Para más información, consulte la sección sobre Abrir archivos. + + + + + + Archivo Importar PostScript como &PDF; + + + Abrir un archivo &PostScript; y convertirlo a &PDF;. + + + + + + &Ctrl;&Shift;T Archivo Deshacer cierre de pestaña + + + Volver a abrir el último documento cerrado. Esta acción solo está activa si ha cerrado alguna pestaña de documento durante la sesión actual. + + + + + + Archivo Abrir carpeta contenedora + + + Abrir la carpeta que contiene el documento actual en su gestor de archivos favorito. Esta acción resulta especialmente útil cuando haya descargado un archivo &PDF; de Internet que se abre en &okular;. Es posible que la ubicación de dicho archivo no resulte clara o fácil de encontrar sin esta funcionalidad. + + + + + + &Ctrl;S Archivo Guardar + + + Guarda el documento con todas las modificaciones (anotaciones, contenidos de formularios, &etc;), siempre que el motor del documento permita guardar dichos cambios. Si el motor no permite guardar los cambios, se ofrecerá al usuario la opción de descartarlos o de guardarlos junto al documento en un archivo comprimido de documento de &okular;. + + + + + + &Ctrl;&Shift;S Archivo Guardar como… + + + Guarda el documento con un nombre distinto junto a todas las modificaciones (anotaciones, contenidos de formularios, &etc;), siempre que el motor del documento permita guardar cambios. Si el motor no permite guardar los cambios, se ofrecerá al usuario la opción de descartarlos o de guardarlos junto al documento en un archivo comprimido de documento de &okular;. + + Tenga en cuenta que, debido al modo en que se se ha implementado esta función, incluso si no existen cambios en el archivo, no es necesario que el nuevo archivo sea una copia exacta bit a bit del archivo original (⪚, puede tener una comprobación SHA-1 diferente, &etc;). + + + + + + + F5 Archivo Volver a cargar + + + Vuelve a cargar el archivo actualmente abierto. + + + + + + &Ctrl;P Archivo Imprimir… + + + Imprime el documento que se muestra actualmente. Tenga en cuenta que &okular; tiene algunas opciones específicas para imprimir &PDF; que están disponibles tras pulsar el botón Opciones +> +> y escoger Opciones de &PDF;. Use estas opciones para imprimir las notas o para configurar el modo de rasterización si tiene problemas al imprimir algunos símbolos o si necesita cambiar el modo de escalado. + + Las opciones del modo escalado solo están disponibles tras marcar la opción Forzar rasterización. + + + + + + + Archivo Imprimir vista previa… + + + Muestra una vista previa de cómo quedará impreso el documento con las opciones predeterminadas. + + + + + + &Alt;Intro Archivo Propiedades + + + Muestra información básica sobre el documento, como su título, autor, fecha de creación y detalles sobre las tipografías empleadas. La información disponible depende del tipo de documento. + + Por favor, preste atención a la información sobre la sustitución de tipos de letra en la pestaña Tipos de letra del diálogo de Propiedades. Muchos problemas de visualización de tipos de letra se pueden resolver instalando los tipos de letra de sustitución + + + + + + Archivo Archivos empotrados… + + + Ver los archivos empotrados en el documento si existen. Para más información vea la sección Archivos empotrados. + + + + + + Archivo Exportar como + + + Este elemento contiene los formatos a los que se puede exportar el documento actual. La primera entrada para todo tipo de documentos es siempre Texto sin formato…. + La segunda entrada es Archivo comprimido de documento que le permite guardar el documento con sus anotaciones en un formato de archivo comprimido específico de &okular;. Mediante esto, es posible compartir con facilidad el documento original y sus anotaciones con otros usuarios de &okular; o trabajar con ellos conjuntamente. + + + + + + Archivo Compartir + + + Este elemento contiene los servicios que puede usar para compartir el documento actual con otras personas o enviarlo a otros dispositivos. Las entradas de este submenú están controladas por el sistema. Dependen del formato del documento actual y de los complementos de KPurpose instalados. + + + + + + &Ctrl;Q Archivo Salir + + + Cierra &okular;. + + + + + + + El menú Editar + + + + + &Ctrl;Z Editar Deshacer + + + Deshace la última orden de edición de anotaciones (creación y eliminación de anotaciones, edición de propiedades de anotaciones, reubicación de anotaciones con &Ctrl;+arrastrar y edición del texto contenido en una anotación). + + + + + + &Ctrl;&Shift;Z Editar Rehacer + + + Rehace el último paso deshecho al editar anotaciones. + + + + + + + + &Ctrl;C Editar Copiar + + + Copiar el texto seleccionado actualmente en el modo Selección de texto al portapapeles. + + + + + + + + &Ctrl;A Editar Seleccionar todo + + + Seleccionar todo el texto (si el documento lo proporciona). Solo funciona en el modo Selección de texto. + + + + + + + + Editar Seleccionar todo el texto de la página actual + + + Selecciona todo el texto (si el documento lo proporciona) de la página actual. + + + + + + + + &Ctrl;F Editar Buscar… + + + Muestra la barra de búsqueda en la parte inferior del área de visualización que le permite buscar una cadena en el documento. + + + + + + F3 Editar Buscar siguiente + + + Busca de nuevo la secuencia previamente buscada en el documento. + + + + + + &Shift;F3 Edit Buscar anterior + + + Vuelve a la anterior aparición de la cadena de búsqueda en el documento. + + + + + + + El menú Ver + + + + &Ctrl;&Shift;P Ver Presentación + + + Activa el modo Presentación. Para más información, consulte la sección sobre el Modo presentación. + + + + + &Ctrl;&Shift; F Ver Modo de pantalla completa + + + Activa el modo de pantalla completa. Tenga en cuenta que el modo de pantalla completa es diferente del modo presentación y tiene la particularidad de que oculta las decoraciones de las ventanas, la barra de menú y la barra de herramientas. + + + + + &Ctrl;+ Ver Acercar + + + Incrementa el tamaño de la vista del documento. + + + + + + &Ctrl;- Ver Alejar + + + Reduce el tamaño de la vista del documento. + + + + + Ver Ampliar al 100 % + + + Amplía la imagen del documento a su tamaño real, como se indica en los parámetros del documento. + + + + + Ver Ajustar ancho + + + Cambia el tamaño de la vista del documento a un valor que haga que las páginas ocupen todo el ancho del espacio de la vista. + + + + + Ver Ajustar a la página + + + Cambia el tamaño de la vista del documento a un valor que haga que pueda ver al menos una página entera. + + + + + Ver Ajuste automático + + + Cambiar la ampliación de la vista del documento a un valor que, dependiendo de la relación de tamaño entre la página y el área de visión, hace automáticamente que la anchura de las páginas sea igual a la de la vista del documento (como ajustar al ancho), la altura de las páginas sea igual a la altura de la vista del documento (como ajustar a la altura), o bien que se ajuste a toda la página visible (como ajustar a la página). + + + + + Ver Modo de vista + + + Este submenú le permite elegir el modo de vista de las páginas. Las posibles opciones son: Página única (una sola página por fila), Páginas encaradas (dos páginas por fila, estilo libro), Páginas encaradas (primera página centrada) y Resumen (el número de columnas es el especificado en configuración de &okular;). + De forma adicional, puede activar el modo Continuo. En este modo se muestran todas las páginas del documento y puede desplazarse a través de ellas con suavidad. En caso contrario, solo se muestra una página cada vez (o una fila de páginas). + + + + + Ver Orientación + + + Este submenú le permite cambiar la orientación de las páginas del documento. + + El giro se aplica a la orientación de todas las páginas. + + Puede seleccionar Orientación original para restablecer la orientación del documento descartando todos los giros aplicados manualmente. + + + + + Ver Recortar vista + + + Este submenú le permite eliminar el borde blanco de las páginas al visualizarlas (opción Recortar márgenes) o recortar a la selección del área de visión (opción Recortar a la selección). + El modo recortar a la selección le permite dibujar una selección sobre la página visualizada para definir un rectángulo de recorte a aplicar a todas las páginas del documento. Si selecciona un rectángulo de recorte pequeño, se fuerza un tamaño de mínimas dimensiones (20 % como porcentaje del tamaño total de la página). + El modo recortar márgenes persiste cada vez que inicie &okular;. El modo recortar a la selección se olvida cada vez que inicie &okular;. + Cuando cambia del modo recortar márgenes al modo recortar a la selección en &okular;, la vista sale del modo recortar márgenes para poder usar la selección de recorte rectangular. + El modo de recorte se puede desactivar seleccionando la misma opción del menú que se usa para activarla. + + + + + Ver Mostrar/Ocultar Formularios + + + Muestra o esconde la visualización de los campos de formulario del documento. + + Esta opción de menú se activa solo si el documento actual contiene campos de formulario. + + + + + + + + + El menú Ir + + + + Ir Página anterior + + + Muestra la página anterior del documento. + + + + + Ir Página siguiente + + + Muestra la página siguiente del documento. + + + + + &Ctrl;&Home; Ir Inicio del documento + + + Ir al inicio del documento. + + + + + &Ctrl;&End; Ir Final del documento + + + Ir al final del documento. + + + + + &Alt;&Shift;&Left; Ir Atrás + + + Va a la última página visitada del documento. + + + + + &Alt;&Shift;&Right; Ir Adelante + + + Avanza a la siguiente vista del documento. Esto solo funciona si ya ha retrocedido anteriormente. + + + + + &Ctrl;G Ir Ir a la página… + + + Abre un cuadro de diálogo que le permite ir a cualquier página del documento. + + + + + + + El menú Marcadores + + + + &Ctrl;B Marcadores Añadir/Quitar marcador + + + Añadir o eliminar un marcador para la posición actual. + + + + + Marcadores Cambiar nombre del marcador + + + Cambiar el nombre de un marcador para la posición actual. + + + + + Marcadores Marcador anterior + + + Ir al marcador anterior, o no hacer nada si no hay marcadores anteriores al actual. + + + + + Marcadores Marcador siguiente + + + Ir al siguiente marcador, o no hacer nada si no hay marcadores posteriores al actual. + + + + + Marcadores Sin marcadores + + + Esta opción está siempre desactivada y aparece en este menú solo si el documento actual no tiene marcadores. En caso contrario, se muestra aquí una lista con todos los marcadores. Si pulsa sobre estos marcadores podrá acceder directamente a la posición asociada. + + + + + + + El menú Herramientas + + + + &Ctrl;1 Herramientas Explorar + + + El ratón tendrá un comportamiento normal, el &LMB; para arrastrar el documento y seguir los enlaces y el &RMB; para añadir marcadores y ajustar la anchura. + + + + + &Ctrl;2 Herramientas Ampliar + + + El ratón puede trabajar como una herramienta de ampliación. Pulse el &LMB; y arrastre para ampliar la vista para ver el área seleccionada; pulse el &RMB; para ir a la anterior visualización del documento. + + + + + &Ctrl;3 Herramientas Selección de área + + + El ratón funcionará como herramienta de selección rectangular. En este modo, al pulsar el &LMB; y arrastrar se dibujará un cuadro de selección y tendrá la posibilidad de copiar el contenido seleccionado en el portapapeles, leer el texto seleccionado o transformar la región seleccionada en una imagen para guardarla en un archivo. + + + + + &Ctrl;4 Herramientas Selección de texto + + + El ratón puede funcionar como herramienta de selección. De este modo, pulsando el &LMB; y arrastrando tendrá la opción de copiar el texto del documento. A continuación, pulse con el &RMB; para copiarlo al portapapeles o leer la selección. + + + + + &Ctrl;5 Herramientas Selección de tabla + + + Dibuje un rectángulo alrededor del texto o de la tabla y haga después clic con el &LMB; para dividir el bloque de texto en filas y columnas. Un clic con el &LMB; sobre una línea existente la elimina y fusiona las filas o columnas adyacentes. Por último, haga clic con el &RMB; para copiar la tabla en el portapapeles. + + + + + &Ctrl;6 Herramientas Lupa + + + Activa el modo lupa para el puntero del ratón. Pulse y mantenga el &LMB; para activar el elemento gráfico de la lupa; mueva el puntero para desplazarse por el documento. La lupa escala cada píxel del documento a 10 píxeles en el visor de la lupa. + + + + + F6 Herramientas Anotaciones + + + Abre la barra de anotaciones. La barra de herramientas de anotaciones le permite añadir anotaciones al documento que está leyendo. Para más información, por favor consulte la sección Anotaciones. + + + + + Herramientas Firmar digitalmente… + + + Inicia el procedimiento de creación de firma digital. La adición de firmas digitales solo está permitida para archivos PDF en este momento. Para más información, consulte la sección sobre Añadir firmas digitales. + + + + + Herramientas Leer todo el documento + + + Herramientas Leer la página actual + + + Herramientas Detener la lectura + + + Herramientas Pausar/continuar la lectura + + + Estos elementos le permiten leer todo el documento o solo la página actual y detener la lectura usando el servicio de voz del sistema. Este servicio está proporcionado por una biblioteca de &Qt; que controla «speech-dispatcher» en &Linux;, y por sistemas de voz nativos en otras plataformas. Se puede escoger la voz actual usando la página de configuración de Accesibilidad de &okular;. + Las acciones Hablar… se activan solo si el sistema dispone de algún servicio de voz. + + + + + + + Los menús Preferencias y Ayuda + Además de los menús Preferencias y Ayuda comunes de &kde; que se describen en el capítulo Menú de la documentación de los fundamentos de &kde;, &okular; tiene estas entradas de menú específicas de la aplicación: + + + + F7 Preferencias Mostrar la barra lateral + + + Muestra u oculta la barra lateral. + + + + + Preferencias Mostrar barra de páginas + + + Conmuta la visualización de la barra de páginas en el área inferior del documento para ahorrar espacio vertical en la ventana de &okular;. Note que los números de página siempre se mostrarán en la barra de herramientas predeterminada. + + + + + Preferencias Configurar motores de programas… + + + Abre la ventana de Configuración del motor. + + + + + + + + Configuración de motores de &okular; + Puede configurar motores de &okular; mediante Preferencias Configurar motores… . En la actualidad solo se proporcionan opciones de configuración para los motores EPub, &PostScript;, FictionBook, Txt, texto de OpenDocument y &PDF;. + + El diálogo de configuración de motores + + + + + + El diálogo de configuración de motores + + + + Use las páginas de configuración para los motores EPub, FictionBook, Mobipocket, Markdown, texto sencillo y texto de OpenDocument para definir el tipo de letra a usar para mostrar los documentos en el correspondiente formato. El botón Escoger… de estas páginas abre la ventana estándar de &kde; para seleccionar el tipo de letra. Por favor, consulte la documentación de los principios básicos de &kde; para más detalles. + La descripción de las páginas de configuración de los motores Markdown, &PostScript; y &PDF; se puede encontrar a continuación. + + Configuración del motor Markdown + Puede configurar el motor de representación Markdown de &okular;, basado en Discount escogiendo Markdown en la lista que hay en la parte izquierda del diálogo de configuración. Dispone de la siguiente opción adicional que puede configurar. + + + + + Activar el formato SmartyPants + + + Cuando está marcada, esta opción permite a &okular; procesar el formato SmartyPants. Este formato puede ser problemático en textos técnicos por algunas sustituciones no deseadas (por ejemplo, sustituye (C) con el símbolo de copyright). Esta opción está marcada por omisión. + + + + + + + Configuración del motor &PostScript; + Puede configurar el motor de representación &PostScript; de &okular; basado en Ghostscript escogiendo Ghostscript en la lista que hay en la parte izquierda del diálogo de configuración. La única opción configurable es la siguiente. + + + + + Usar tipos de letra de la plataforma + + + Esta opción determina si se le debe permitir a Ghostscript que use los tipos de letra de la plataforma; si no está marcada, solo se permitirá el uso de los tipos de letra integrados en el documento. Esta opción está marcada por omisión. + + + + + + + Configuración del motor &PDF; + Puede configurar el motor de representación &PDF; de &okular; basado en Poppler escogiendo &PDF; en la lista que hay en la parte izquierda del diálogo de configuración. La única opción configurable es la siguiente. + + + + + Mejorar las líneas finas + + + El dibujo de líneas en &okular; se implementa en dos pasos: generación de la ruta de recorte y rellenado de dicha ruta. Cuando la línea del documento original tiene menos de un píxel de grosor, esta solución de dos pasos puede causar problemas. Para dichas líneas, la ruta de recorte se rellena con un color que depende del grosor de la parte de la línea que hay dentro del área de recorte. Si esta parte de la línea es muy pequeña, el contraste entre la forma y el color de fondo puede ser demasiado bajo para que la línea se pueda reconocer. En este caso, las cuadrículas de las líneas no se muestran de una forma agradable. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Línea fina (en rojo), su ruta de recorte (línea de trazos) y límites de píxeles (líneas negras sólidas) + Línea delgada mostrada en bajo contraste + + + + + &okular; contiene dos opciones para mejorar el aspecto de las líneas finas. + La primera opción es Sólida. Con esta opción, &okular; ajusta la ruta de recorte y la posición de la línea para que ambas estén en el mismo límite de píxeles; &ie;, &okular; agranda las líneas finas a un píxel en el dispositivo de salida. Este modo es similar a Mejorar líneas finas de Adobe Reader. Si se escoge esta opción, las líneas finas siempre se agrandarán. + + + + + + + + Línea delgada con realce Sólido + + + Línea delgada con realce Sólido + + + + + La segunda opción es Forma. Con esta opción, la ruta de recorte y la línea se ajustan también al límite de píxel, pero se corrige la intensidad de la línea según su grosor. + + + + + + + + Línea delgada con realce de Forma + + + Línea delgada con realce de Forma + + + + + Las líneas finas no se mejoran por omisión (opción No). + + + + + + Certificados de firma digital &PDF; + + Esta sección le permite definir una base de certificados personalizada para usar cuando se añadan firmas digitales a archivos &PDF;. + También muestra una lista de los certificados disponibles en la base de datos de certificados (si existe alguno). + + + + + Configuración de &okular; + + Configuración general + Puede configurar &okular; mediante Preferencias Configurar &okular;…. El diálogo de configuración está dividido en seis secciones. Este capítulo describe detalladamente las opciones disponibles. + + + General + + + Accesibilidad + + + Rendimiento + + + Presentación + + + Anotaciones + + + Editor + + + + El diálogo de configuración + + + + + + El diálogo de configuración + + + + En función de los motores de programa instalados, la opción de menú Configuración Configurar motores… puede estar activada. Este dialogo de configuración mantiene las configuraciones de los motores de programa que pueden ser configurados. + + + General + + + Usar desplazamiento suave + + Si se deben mostrar transiciones animadas al desplazarse usando la rueda del ratón y el teclado. + + + + Mostrar barras de desplazamiento + + Indica si mostrar barras de desplazamiento para la vista de documento. + + + + Enlazar las miniaturas con la página + + Indica si la vista de miniaturas debe mostrar siempre la página actual o no. + + + + Muestra consejos y mensajes de información + + Indica si se mostrarán mensajes informativos durante inicio, la carga de archivos, &etc; + + + + Informar de archivos empotrados, formularios y firmas + + Indica si se deben mostrar paneles con información sobre archivos empotrados, formularios o firmas. + + + + Mostrar el título del documento en la barra de título, si está disponible + + Indica si se muestra el título del documento actual en la barra de título de la ventana de &okular;. Si no se encuentran metadatos para el título en el documento, o si este elemento está sin marcar, &okular; muestra el nombre del archivo del documento. + + + + Cuándo no mostrar el título del documento + + Puede escoger entre dos opciones, Mostrar solo el nombre de archivo o Mostrar la ruta completa del archivo. + + + + Usar color de fondo personalizado + + Activa la selección del color de fondo del documento (el color que rodea a la página que se muestra). Por omisión se usa el color del conjunto de herramientas &Qt; si esta opción no está marcada. + + + + Abrir nuevos archivos en pestañas + + Indica si se deben abrir en pestañas los documentos nuevos. No se usan pestañas por omisión. + Los atajos de teclado predeterminados para cambiar entre pestañas son &Ctrl;. (Siguiente pestaña) y &Ctrl;, (Anterior pestaña). + + + + Cambiar a una pestaña existente si el archivo ya está abierto + + Indica si &okular; debe cambiar a una pestaña si el archivo ya está abierto en lugar de abrir una nueva pestaña. Esta opción está activada de forma predeterminada. Se puede cambiar solo si se ha activado Abrir nuevos archivos en pestañas + + + + Seguir las limitaciones DRM + + Indica si &okular; debe respetar las restricciones DRM (Digital Rights Management). Las limitaciones DRM se utilizan para impedir realizar determinadas acciones dentro de los documentos &PDF;, tales como la copia del contenido en el portapapeles. Advierta que en algunas configuraciones de &okular; está opción no está disponible. + + + + Volver a cargar el documento si cambia el archivo + + Indica si en los archivos abiertos debe comprobarse automáticamente si ha habido cambios y, de ser preciso, actualizarlos. + + + + Muestra el dialogo de selección del motor del programa + + Si &okular; debe preguntar al usuario que motor usar en caso de que haya más de uno disponible para abrir el archivo actual Si no está marcada, &okular; usará el motor de mayor prioridad. + + + + Dirección de lectura de derecha a izquierda + + Si se debe usar la dirección de lectura de derecha a izquierda de modo predeterminado en los archivos que se abran. Puede ser de utilidad para algunos sistemas de escritura. + + + + Abrir en modo continuo por omisión + + Si se debe usar el modo continuo por omisión. En este modo se muestran todas las páginas del documento y puede desplazarse a través de ellas con suavidad. En caso contrario, solo se muestra una página cada vez (o una fila de páginas). + + + + Al usar la herramienta «Examinar», rodear el cursor en los extremos de la pantalla + + Permite desplazamiento sin fin por todo el documento con la herramienta Examinar. Si se activa, el cursor del ratón volverá al extremo opuesto de la pantalla cuando toque los bordes mientras se arrastra el documento. Esta funcionalidad solo está permitida en X11. + + + + Columnas resumen + + Esta opción representa el número de columnas que se usan en el modo resumen. + + + + Solapamiento RePág/AvPág + + Aquí puede definir el porcentaje del área mostrada actualmente que debe continuar siendo visible tras pulsar las teclas &PgUp;/&PgDn;. + + + + Ampliación predeterminada + + Esta opción especifica el modo de ampliación predeterminado para archivos que no se han abierto previamente. Para los archivos que se abrieron con anterioridad se aplica el modo de ampliación previo. + + + + + + Accesibilidad + + + Dibujar un borde alrededor de los enlaces + + Indica si se dibujará un borde alrededor de los enlaces. + + + + Cambiar colores + + Activa las opciones de cambio de color. + + + + Modo de color + + Define el modo de cambio de color. + + + Invertir colores + + Invierte los colores en la vista; &ie;, los objetos blancos se mostrarán como negros. + + + + Cambiar el color del papel + + Cambia el color del papel; &ie;, el fondo del documento. + Puede seleccionar el color usando la muestra de Color del fondo inferior. + + + + Cambiar la luminosidad y oscuridad de los colores + + Cambia los colores claro y oscuro, lo que significa que el negro no se presentará como negro sino como el color oscuro seleccionado y el blanco como el color claro elegido. + + + + Convertir a blanco y negro + + Convierte el documento a blanco y negro. Puede especificar el umbral y el contraste. La configuración del umbral a un valor mayor moviéndolo a la derecha, hará que se utilicen grises más claros. + + + + Invertir luminosidad + + Invierte la luminosidad de todos los colores. Los claros y los oscuros se intercambiarán, aunque la tonalidad y la saturación no se verán afectadas. El contraste de las imágenes suele ser peor que con Invertir luma (sRGB lineal). + + + + Invertir luma (sRGB lineal) + + Invierte la luma de todos los colores. Los claros y los oscuros se intercambiarán, aunque la tonalidad y la saturación no se verán afectadas. El contraste de las imágenes se preserva mejor que con Invertir luminosidad, aunque los gráficos y las marcas de texto a todo color suelen verse peor. Usa coeficientes de luma sRGB, pero sin corrección de gamma. + + + + Invertir Luma (simétrica) + + Invierte la luma de todos los colores usando coeficientes de luma simétricos. Los claros y los oscuros se intercambiarán, aunque la tonalidad y la saturación no se verán afectadas. Es muy similar a Invertir luminosidad, aunque el contraste puede ser mejor en algunos casos. + + + + Desplazar a tonalidad positiva + + Desplaza la tonalidad de todos los colores 120 grados. Puede mitigar algunos problemas de contraste en gráficos a todo color. + + + + Desplazar a tonalidad negativa + + Desplaza la tonalidad de todos los colores 240 grados. Puede mitigar algunos problemas de contraste en gráficos a todo color. + + + + Puede configurar los atajos de teclado y las acciones de la barra de herramientas para los modos de color usando las correspondientes opciones del menú Preferencias de la ventana principal de &okular;. + + + + Motor de texto a voz + + Le permite escoger el motor de habla (TTS) que usará &okular;. El predeterminado es speechd TTS. + + + + Voz para texto a voz + + Le permite escoger una voz para el motor de texto a voz que se usa en &okular;. Puede usar todos los idiomas y voces disponibles en los sintetizadores existentes en su plataforma. En &Linux;, se usa «speech-dispatcher» por omisión para determinar las voces disponibles. + + + + + + Rendimiento + + + Activar efectos de transparencia + + Dibuja las selecciones y otros gráficos especiales utilizando efectos de transparencia. Si se desactiva la opción para dibujar se utilizarán contornos o estilos de relleno opacos, incrementándose la velocidad en las selecciones. + + + + Uso de memoria + + &okular; puede mejorar notablemente el rendimiento afinando el uso de la memoria, dependiendo de su sistema y sus gustos. Cuanta más memoria le permita utilizar, más rápido se comportará el programa. El perfil predeterminado es bueno para cualquier sistema. Aun así, puede impedir que &okular; utilice más memoria de la necesaria seleccionando el perfil «Bajo», o dejarle utilizar más seleccionando el «Agresivo». Use el perfil «Voraz» para precargar todas las páginas sin riesgo de que se colapse la memoria del sistema (solo se usará el 50 % de la memoria total o de la memoria libre). + + + + Opciones de renderización + + El uso de este grupo de opciones le permite mejorar la generación de texto e imágenes en &okular;. El resultado depende del dispositivo donde se muestre el documento. Las opciones Activar suavizado de bordes en el texto y Activar antialiasing en gráficos se pueden usar para activar o desactivar el antialiasing espacial del texto y de las imágenes del documento de forma proporcional. La opción Activar sugerencias del tipo de letra activa o desactiva las sugerencias del tipo de letra. El antialiasing y las sugerencias del tipo de letra modifican la forma en que se muestra el documento, por lo que deberá afinarlas según sus preferencias. + + + + + + Presentación + + + Avanzar cada + + Activa el avance automático de páginas para un periodo de tiempo dado. + + + + Bucle tras la última página + + Cuando el navegador esté en modo presentación y llegue a la última página, a continuación volverá a aparecer la primera. + + + + Navegación táctil + + Le permite afinar la navegación mediante mediante la pantallaç táctil al tocar en la presentación usando los tres siguientes valores posibles: + + + Tocar en los lados izquierdo/derecho para ir atrás/adelante: al tocar en la mitad izquierda o derecha de la pantalla, la presentación va a la diapositiva anterior o siguiente, respectivamente. + + + Tocar en cualquier lugar para ir adelante (predeterminado): al tocar en la pantalla, la presentación avanzará a la siguiente diapositiva, sin importar en qué parte de la pantalla ha tocado. + + + Desactivada: los toques en la pantalla no hacen nada. + + + + + + Color del fondo + + El color con el que se rellenará la parte de la pantalla que no esté cubierta por la página cuando se encuentre en modo presentación. + + + + Cursor del ratón + + Indica si el ratón estará siempre oculto, si se mostrará siempre o si se ocultará después de un pequeño tiempo de inactividad. + + + + Mostrar indicador de progreso + + Indica si cada vez que cambie de página se muestra un círculo de progreso que indique la página actual y el número total de páginas en la esquina superior izquierda de la pantalla de presentación. + + + + Mostrar página de índice + + Indica si se mostrará la página de índice al principio de la presentación con el título, autor y número de páginas del documento. + + + + Activar transiciones + + Use esta casilla para activar o desactivar los efectos de transición entre páginas. + + + + Transición predeterminada + + El efecto de transición entre página y página si no se ha especificado ninguna en el documento. Seleccione Transición aleatoria para hacer que &okular; elija al azar uno de los efectos disponibles. + + + + Colocación + + En esta sección puede elegir la Pantalla usada para mostrar la presentación. + Pantalla actual es la misma pantalla de &okular; en la que comienza el mod presentación. + Pantalla por defecto es la pantalla marcada por defecto en la configuración de xinerama. + Pantalla 0, Pantalla 1 &etc; son las pantallas disponibles. + + + + Configuración de la herramienta de dibujo + + Gestionar los colores del lápiz usado al dibujar en las páginas durante el modo de presentación. + + + + + + Anotaciones + + La página de anotaciones del diálogo de configuración + + + + + + La página de anotaciones del diálogo de configuración + + + + + + Barra de herramientas de anotaciones + + Permite cambiar entre la Barra de herramientas de anotaciones completa (la barra de herramientas predeterminada en la parte superior de la ventana de &okular;) y la Barra de herramientas de anotaciones rápidas (barra de herramientas deslizante con sus herramientas favoritas en la parte derecha del panel de documento). + + + + Autor + + El autor de los contenidos añadidos a un documento. Por omisión es el nombre de la página Contraseña & Usuario del módulo de &systemsettings; Detalles de la cuenta. + + + + Herramientas de anotaciones + + Este panel se usa para configurar su barra de herramientas de anotaciones. + Hay cinco botones (Añadir, Editar, Eliminar, Mover arriba, Mover abajo) y un cuadro de lista (que lista los contenidos de la barra de herramientas de anotaciones actual) que se usan para configurar la barra de herramientas. + Si usted necesita añadir algún botón de herramientas a la barra de herramientas pulse sobre el botón Añadir. Usted puede elegir el Nombre, el Tipo y la Apariencia de la herramienta creada. + + Por favor, recuerde que las herramientas de anotaciones en &okular; son altamente configurables. Por ejemplo, usted puede disponer de dos botones de la misma herramienta pero de distintos colores. No vacile en experimentar el elegir el conjunto de botones que se ajusten exactamente a su flujo de trabajo. + + Pulse sobre algún elemento en el cuadro de lista, a continuación pulse sobre el correspondiente botón en el lado derecho de la página a editar, elimine, mueva hacia arriba o abajo el elemento. El atajo de teclado de la herramienta (teclas desde 1 a 9) depende de su posición en la lista de la barra de herramientas de anotaciones. + + + + Uso de sellos personalizados + + + Cree el icono que desee usar para su propio sello y guárdelo en cualquier formato gráfico permitido por &okular;. + Pulse el botón Añadir, seleccione el tipo Sello e introduzca un nombre para su sello. + Introduzca la ruta completa de su icono personalizado en la lista desplegable en el grupo Símbolo de sello. + + + + + + + Editor + + + Editor + + Elija el editor que desee emplear cuando &okular; quiera abrir un archivo fuente. Esta es la situación en la cual el documento contenga referencias a los diversos lugares (generalmente números de filas y columnas) de las fuentes desde las que fue generado. El formato &DVI; admite de modo nativo el añadido de información sobre las fuentes del documento &latex; a partir del que se generó. Un sistema similar existe para documentos &PDF; llamado pdfsync, el cual guarda esta información extra en un archivo externo nombrado después del propio archivo &PDF;, por ejemplo mi-documento.pdfsync para mi-documento.pdf). + &okular; se distribuye con preferencias preconfiguradas para los siguientes editores: &kate;, Kile, SciTE, el cliente &Emacs;, el cliente LyX, TeXstudio y TeXiFy IDEA. + + Para usar la búsqueda inversa en &kile; tendrá que compilar el archivo &latex; con la configuración Moderna. + + + + + Orden + + Esta es la orden y sus parámetros para llamar al editor seleccionado con el archivo fuente o el documento actual. + Este campo se rellenará automáticamente si usa uno de los editores preconfigurados. En caso contrario, elija Editor de texto personalizado en la lista desplegable Editor y consulte la documentación de su editor favorito para encontrar la orden correcta. + Puede usar los siguientes parámetros de sustitución: + + + %f - el nombre del archivo + + + %l - la línea del archivo a alcanzar + + + %c - la columna del archivos a alcanzar + + + Si no se especifica %f, se añadirá el nombre del documento a la orden especificada. + + + + + + + Créditos y licencia + + + Copyright del programa: + &Albert.Astals.Cid; &Albert.Astals.Cid.mail; Encargado actual + Pino Toscano pino@kde.org + Enrico Ros eros.kde@email.it Desarrollador de &kpdf; + + + + Copyright de la documentación: + &Albert.Astals.Cid; &Albert.Astals.Cid.mail; Autor + Titus Laska titus.laska@gmx.de Algunas actualizaciones y adiciones + Pino Toscano pino@kde.org + + Traducido por Rafael Rodríguez Martín apt-drink@telefonica.net , Javier Fdez. Retenaga jfrtnaga@yahoo.es y por Javier Viñal fjvinal@gmail.com &underFDL; &underGPL; + + &documentation.index; + + + + diff --git a/po/es/docs/okular/man-okular.1.docbook b/po/es/docs/okular/man-okular.1.docbook new file mode 100644 index 0000000..586c671 --- /dev/null +++ b/po/es/docs/okular/man-okular.1.docbook @@ -0,0 +1,252 @@ + + +]> + + + + +Manual del usuario de Okular +YuriChornoivan Página man de Okular. yurchor@ukr.net +2022-02-19 +Okular 22.04 +KDE Gear + + + +okular +1 + + + +okular +un visor universal de documentos + + + +okular opciones de Okular URL + + + +Descripción +okular está pensado para mostrar documentos de diferentes formatos. + + + +Opciones de Okular + + + + + +Abre la página con el número indicado del documento. + + + + + + +Inicia el documento en el modo de presentación. + + + + + + +Iniciar con el diálogo de impresión. + + + + + + +Iniciar con el diálogo de impresión y salir tras imprimir. + + + + + + +Controla una única ejecución. + + + + + + +Hace que Okular impida que su ventana pase al primer plano tras el inicio. + + + + + + +Intenta buscar y resaltar el texto indicado en el documento. Solo funciona se proporciona un único documento como argumento de la orden okular. + + + + + + +Define la orden del editor externo. No se puede definir la orden del editor externo en una instancia de Okular que ya esté en ejecución. Tenga en cuenta que no se puede usar al definir la orden del editor externo en la línea de órdenes. + + + + + +Argumentos + + + + +La dirección del documento a abrir. Para PDF se puede indicar como nombre_del_documento#destino, donde destino es un determinado nombre de destino dentro del documento. + + + + + +Sugerencias y comentarios +En IRC (irc.libera.chat #okular), por correo electrónico (okular-devel@kde.org) o en la Web (<https://okular.kde.org/>). + + + +Vea también + +Dispone de documentación de usuario más detallada en help:/okular (introduzca esa URL en &konqueror; o ejecute khelpcenter help:/okular). +kf6options(7) +qt6options(7) +Dispone de más información en https://okular.kde.org/ + + + +Copyright +Copyright © 2002 Wilco Greven, Christophe Devriese +Copyright © 2004-2005 Enrico Ros +Copyright © 2005 Piotr Szymanski +Copyright © 2004-2012 Albert Astals Cid +Copyright © 2006-2009 Pino Toscano +Licencia: Pública General de GNU Versión 2 <https://www.gnu.org/licenses/gpl-2.0.html> + + + diff --git a/po/es/okular.po b/po/es/okular.po new file mode 100644 index 0000000..3c15d3a --- /dev/null +++ b/po/es/okular.po @@ -0,0 +1,6042 @@ +# Spanish translations for okular.po package. +# Copyright (C) 2007-2025 This file is copyright: +# This file is distributed under the same license as the okular package. +# Automatically generated, 2007. +# +# SPDX-FileCopyrightText: 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025 Eloy Cuadra +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-11-14 00:49+0100\n" +"Last-Translator: Eloy Cuadra \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 25.08.3\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Eloy Cuadra" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "ecuadra@eloihr.net" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Okular, un visor universal de documentos" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"© 2002 Wilco Greven, Christophe Devriese\n" +"© 2004-2005 Enrico Ros\n" +"© 2005 Piotr Szymanski\n" +"© 2004-2017 Albert Astals Cid\n" +"© 2006-2009 Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "Encargado anterior" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "" +"Gran cantidad de trabajos en la infraestructura, motor FictionBook y " +"anterior motor ODT" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "Desarrollador" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymanski" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "Creó Okular a partir del código fuente de KPDF" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "Enrico Ros" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "Desarrollador de KPDF" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "Eugene Trounev" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "Gráficos para las anotaciones" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "Jiri Baum - NICTA" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "Herramienta de selección de tablas" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "Fabio D'Urso" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "Mejoras en las anotaciones" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "Ir a la página %1" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "Abrir archivo externo" + +#: core/action.cpp:197 +#, kde-format +msgid "Execute '%1'…" +msgstr "Ejecutar «%1»…" + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "Primera página" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "Página anterior" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "Página siguiente" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "Última página" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "Atrás" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "Adelante" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Salir" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "Iniciar presentación" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "Terminar presentación" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "Buscar…" + +#: core/action.cpp:314 +#, kde-format +msgid "Go To Page…" +msgstr "Ir a la página…" + +#: core/action.cpp:365 +#, kde-format +msgid "Play sound…" +msgstr "Reproducir sonido…" + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "Guion JavaScript" + +#: core/action.cpp:483 +#, kde-format +msgid "Play movie…" +msgstr "Reproducir película…" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "Reproducir película" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "Detener película" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "Pausar película" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "Continuar película" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "Este Okular está compilado sin soporte de sonido" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "Selección de motor" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
%1 (%2).

Please select which one to use:
" +msgstr "" +"Se ha encontrado más de un motor para el tipo MIME:
%1 (%2)." +"

Seleccione cuál se debe usar:
" + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "La mayoría de las páginas son %1." + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "Vertical %1" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "Apaisado %1" + +#: core/document.cpp:246 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 × %2 pulgadas (%3)" + +#: core/document.cpp:248 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 × %2 mm (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "Continuar la búsqueda desde el principio" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "Continuar la búsqueda desde el final" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "" +"No se puede encontrar un complemento capaz de manejar el documento pasado." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "La firma no está implementada para este tipo de documento" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "eliminar anotaciones" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"El documento ha intentado ejecutar una aplicación externa, aunque Okular no " +"lo ha permitido por motivos de seguridad." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "" +"No se ha encontrado ninguna aplicación para abrir archivos de tipo MIME %1." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "No se puede abrir un archivo temporal" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "Ha fallado la conversión de la impresión" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "El proceso de impresión se ha bloqueado" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "No se puede iniciar el proceso de impresión" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "Ha fallado la impresión en archivo" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "La impresora está en un estado no válido" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "No se ha podido encontrar el archivo donde imprimir" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "No existe el archivo donde imprimir" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"No se puede encontrar un binario apropiado para imprimir. Asegúrese de que " +"el binario lpr de CUPS está disponible" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "El tamaño de la página a imprimir no es válido" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "No se puede abrir «%1». El archivo no existe" + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Título" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Asunto" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Descripción" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "Autor" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Creador" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Productor" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "Copyright" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "Páginas" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Creado" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Modificado" + +#: core/document.cpp:6032 +#, kde-format +msgid "MIME Type" +msgstr "Tipo MIME" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "Categoría" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Palabras clave" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "Ruta del archivo" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "Tamaño del archivo" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "Tamaño de la página" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "añadir anotación" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "eliminar anotación" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "modificar las propiedades de la anotación" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "traducir anotación" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "ajustar anotación" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "editar texto" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "editar contenido de la anotación" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "editar el contenido del formulario" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "editar la selección de una lista del formulario" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "editar la selección de la lista desplegable del formulario" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "editar el estado de los botones del formulario" + +#: core/generator.cpp:790 +#, kde-format +msgid "Plain &Text…" +msgstr "&Texto sin formato…" + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "Texto OpenDocument" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "Opciones de la impresión" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "Ajustar al área imprimible" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "Ajustar a la página completa" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "Modo de escalado:" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "No volver a mostrar este mensaje" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "No disponible" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" +"Error interno de firma. Informe del error con los pasos necesarios para " +"reproducirlo. Código de error: %1." + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "No se ha podido firmar el documento: %1" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "Firma cancelada por el usuario" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "No se puede firmar. La contraseña larga es errónea." + +#: core/signatureutils.cpp:504 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" +"No se ha podido escribir el documento firmado en %1. " +"Asegúrese de que ha seleccionado una carpeta con permisos de escritura." + +#: core/signatureutils.cpp:506 +#, kde-format +msgid "Unknown signing error" +msgstr "Error de firma desconocido" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Origen: %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "Tipo &de letra por omisión:" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "Versión" + +#: gui/certificatemodel.cpp:41 +#, kde-format +msgid "Serial Number" +msgstr "Número de serie" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "Emisor" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "Emitido el" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "Expira el" + +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Asunto" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "Clave pública" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "Uso de la clave" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "V%1" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "%1 (%2 bits)" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "Propiedad" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "Valor" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "Nota emergente" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "Máquina de escribir" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "Nota en línea" + +#: gui/guiutils.cpp:56 +#, kde-format +msgid "Arrow with Comment" +msgstr "Flecha con comentario" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "Flecha" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "Línea recta con comentario" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "Línea recta" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "Polígono con comentario" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "Polígono" + +#: gui/guiutils.cpp:71 +#, kde-format +msgid "Rectangle with Comment" +msgstr "Rectángulo con comentario" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "Rectángulo" + +#: gui/guiutils.cpp:74 +#, kde-format +msgid "Ellipse with Comment" +msgstr "Elipse con comentario" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "Elipse" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "Texto resaltado con comentario" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "Resaltar" + +#: gui/guiutils.cpp:87 +#, kde-format +msgid "Squiggle with Comment" +msgstr "Texto garabateado con comentario" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "Garabato" + +#: gui/guiutils.cpp:91 +#, kde-format +msgid "Underline with Comment" +msgstr "Subrayado con comentario" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "Subrayado" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out with Comment" +msgstr "Texto tachado con comentario" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "Tachado" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "Sello con comentario" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "Sello" + +#: gui/guiutils.cpp:106 +#, kde-format +msgid "Freehand Line with Comment" +msgstr "Línea a mano alzada con comentario" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "Línea a mano alzada" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "Cursor" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "Archivo adjunto" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "Sonido" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "Película" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Pantalla" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "Elemento gráfico" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "Medio enriquecido" + +#: gui/guiutils.cpp:144 +#, kde-format +msgid "Annotation" +msgstr "Anotación" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "Desconocido" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Autor: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "¿Dónde quiere guardar %1?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "No se puede abrir «%1» para escritura. El archivo no ha sido guardado." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "La firma es criptográficamente válida." + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "La firma es criptográficamente no válida." + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "Ha ocurrido una discordancia del compendio." + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "La estructura de la firma CMS/PKCS7 no está bien formada." + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "La firma solicitada no está presente en el documento." + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "No se puede verificar la firma." + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "El certificado es de confianza." + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "El emisor del certificado no es de confianza." + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "El emisor del certificado es desconocido." + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "El certificado ha sido revocado." + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "El certificado ha expirado." + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "Todavía no se ha verificado el certificado." + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "Validación de certificado en curso" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "" +"Ha ocurrido un problema desconocido con el certificado o los datos están " +"dañados." + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "MD2" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "MD5" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "SHA1" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "SHA256" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "SHA384" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "SHA512" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "SHA224" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "Algoritmo desconocido" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "RSA" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "DSA" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "EC" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "Tipo desconocido" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "Firma digital" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "No rechazado" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "Claves de cifrado" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "Claves de descifrado" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "Convenio de la clave" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "Certificado de la firma" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "CRL de la firma" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "Solo cifrar" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "Sin uso especificado" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr ", " + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "El documento no se ha modificado desde que fue firmado." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" +"La revisión del documento que cubre esta firma no ha sido modificada;\n" +"no obstante, existen cambios posteriores en el documento." + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" +"El documento ha sido modificado de un modo no permitido por el anterior " +"firmante." + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "No se puede completar la verificación de integridad del documento." + +#: gui/signatureguiutils.cpp:208 +#, kde-format +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "Este documento contiene campos de ejemplo de firma." + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "Este documento está firmado digitalmente." + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "" +"Este documento está firmado digitalmente. Se han producido cambios desde la " +"última firma." + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" +"Este documento está firmado digitalmente. Algunas de las firmas no se pueden " +"validar correctamente." + +#: gui/signaturemodel.cpp:141 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "Ejemplo de firma %1" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "Campo: %1 en la página %2" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "Rev. %1: Firmado por %2" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "Hora de la firma: %1" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "Motivo: %1" + +#: gui/signaturemodel.cpp:177 +#, kde-format +msgid "Location: %1" +msgstr "Localización: %1" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "Firma PGP" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "Adobe PKCS7" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "Adobe PKCS7 Sha1" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "ETSI CAdES" + +#: gui/signaturemodel.cpp:193 +#, kde-format +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "Desconocida" + +#: gui/signaturemodel.cpp:195 +#, kde-format +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "Ejemplo de firma" + +#: gui/signaturemodel.cpp:201 +#, kde-format +msgid "Signature Type: %1" +msgstr "Tipo de firma: %1" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "Rojo" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "Naranja" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "Amarillo" + +#: part/annotationactionhandler.cpp:151 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "Verde" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "Cian" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "Azul" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "Magenta" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "Blanco" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "Gris" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "Negro" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "Anchura %1" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1 %" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "Anchura de la línea de la anotación (ninguna anotación seleccionada)" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "Color de la anotación (ninguna anotación seleccionada)" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "Color de relleno de la anotación (ninguna anotación seleccionada)" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "Opacidad de la anotación (ninguna anotación seleccionada)" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "Tipo de letra de la anotación (ninguna anotación seleccionada)" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" +"Añadir la anotación actual al menú de anotaciones rápidas (ninguna anotación " +"seleccionada)" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" +"Restringir la proporción de la forma a 1:1 o el ángulo de la línea a pasos " +"de 15° (ninguna anotación seleccionada)" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" +"Preferencias avanzadas para la herramienta de anotación actual (ninguna " +"anotación seleccionada)" + +#: part/annotationactionhandler.cpp:308 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Anchura de la línea de la anotación" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "" +"Anchura de la línea de la anotación (la anotación actual no tiene anchura de " +"línea)" + +#: part/annotationactionhandler.cpp:314 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Color del texto de la anotación" + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "Color del borde de la anotación" + +#: part/annotationactionhandler.cpp:318 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Color de la anotación" + +#: part/annotationactionhandler.cpp:322 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Color de relleno de la anotación" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "" +"Color de relleno de la anotación (la anotación actual no tiene color de " +"relleno)" + +#: part/annotationactionhandler.cpp:328 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "Tipo de letra de la anotación" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "" +"Tipo de letra de la anotación (la anotación actual no tiene tipo de letra)" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "Restringir el ángulo de la línea a pasos de 15°" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "Restringir la proporción de la forma a 1:1" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" +"Restringir la proporción de la forma a 1:1 o el ángulo de la línea a pasos " +"de 15° (no permitido por la anotación actual)" + +#: part/annotationactionhandler.cpp:341 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Opacidad de la anotación" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "Añadir la anotación actual al menú de anotaciones rápidas" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "Preferencias avanzadas para la herramienta de anotación actual" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "Color" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "Color de relleno" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "Transparente" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "Color personalizado…" + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "Seleccionar color" + +#: part/annotationactionhandler.cpp:552 +#, kde-format +msgid "&Annotations" +msgstr "&Anotaciones" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "Ocultar" + +#: part/annotationactionhandler.cpp:554 +#, kde-format +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Mostrar más herramientas de anotaciones" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "Resaltador" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "Subrayado" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "Garabato" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "Tachado" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Máquina de escribir" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "Nota en línea" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "Nota emergente" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "Línea a mano alzada" + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "Línea recta" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "Flecha" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "Rectángulo" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "Elipse" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "Polígono" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "Formas geométricas" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "Sello" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Anotaciones rápidas" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "Escoger herramienta de anotación de las anotaciones rápidas" + +#: part/annotationactionhandler.cpp:651 +#, kde-format +msgid "Quick Annotation Bar" +msgstr "Barra de anotaciones rápidas" + +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "Añadir anotaciones rápidas" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "Mantener activa" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "Mantener la herramienta de anotación activa tras usarla" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "Restringir la proporción y el ángulo de las herramientas de anotación" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "Tipo de letra" + +#: part/annotationactionhandler.cpp:681 +#, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Preferencias de la anotación" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "Anchura de la línea" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "Opacidad" + +#: part/annotationactionhandler.cpp:696 +#, kde-format +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1 %" + +#: part/annotationmodel.cpp:320 +#, kde-format +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "Página %1 (%2)" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "Página %1" + +#: part/annotationpopup.cpp:85 +#, kde-format +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "Anotación" +msgstr[1] "%1 anotaciones" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "Abrir n&ota emergente" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Borrar marcador" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Añadir marcador" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, kde-format +msgid "Copy Text to Clipboard" +msgstr "Copiar texto en el portapapeles" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "Copia prohibida por DRM" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "&Borrar" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "&Propiedades" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, kde-format +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "&Guardar «%1»…" + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "&Apariencia" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "&General" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&Autor:" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "Creado:" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "Modificado:" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "Propiedades de la nota emergente" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "Propiedades de la máquina de escribir" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "Propiedades de la nota en línea" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "Propiedades de la línea recta" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "Propiedades del polígono" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "Propiedades de la elipse" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "Propiedades del marcador de texto" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "Propiedades del sello" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "Propiedades de la línea a mano alzada" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "Propiedades del cursor" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "Propiedades del archivo adjunto" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "Propiedades del sonido" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "Propiedades de la película" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "Propiedades de la anotación" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "Seleccionar un símbolo de sello personalizado de un archivo" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "Seleccionar símbolo de sello personalizado" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" +"*.ico *.png *.xpm *.svg *.svgz | Archivos de iconos (*.ico *.png *.xpm *.svg " +"*.svgz)" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "No se ha podido cargar el archivo %1" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "Archivo no válido" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&Color:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, kde-format +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%v %" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "&Opacidad:" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "Icono:" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "Comentario" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "Ayuda" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "Insertar" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "Tecla" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "Nuevo párrafo" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "Nota" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "Párrafo" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Tipo de letra:" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "&Color del texto:" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "&Alinear:" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "Izquierda" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "Centrar" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "Derecha" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "Anch&ura del borde:" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "Aprobado" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "Tal cual" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "Confidencial" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "Interno" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "Borrador" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "Experimental" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "Expirado" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "Final" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "Para comentar" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "Para publicar" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "No aprobado" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "Para no publicar" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "Vendido" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "Alto secreto" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "Marcador" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "Información" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "Símbolo de sello:" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "Anch&ura:" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "Inicio de la línea:" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "Extremo de la línea:" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "Cuadrado" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "Círculo" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "Diamante" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "Flecha abierta" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "Flecha cerrada" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "Ninguno" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "Tapa" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "Flecha abierta hacia la derecha" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "Flecha cerrada hacia la derecha" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "Barra" + +#: part/annotationwidgets.cpp:531 +#, kde-format +msgid "Leader line length:" +msgstr "Longitud de la línea principal:" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "Longitud de las extensiones de la línea principal:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "Activada" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "Relleno de la forma:" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Tipo:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "Tachado" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "Símbolo de archivo adjunto:" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "Gráfico" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "Chincheta" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "Clip" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "Etiqueta" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "Archivo" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "n/d" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "Sin descripción disponible." + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "Nombre:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "Descripción:" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "Símbolo de cursor:" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "Ninguno" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "Cerrar esta nota" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "Opciones" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"Esta anotación puede contener código LaTeX.\n" +"Pulse aquí para interpretarlo." + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "No se encuentra el ejecutable latex." + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "Falló la representación de LaTeX" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "No se encuentra el ejecutable dvipng." + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "Ha ocurrido un problema durante la ejecución de la orden «latex»." + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "Ha ocurrido un problema durante la ejecución de la orden «dvipng»." + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"Un marcador" +msgstr[1] "" +"%1\n" +"\n" +"%2 marcadores" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Marcadores" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "Mostrar para todos los documentos" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, kde-format +msgid "Search…" +msgstr "Buscar…" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, kde-format +msgid "Expand All" +msgstr "Expandir todo" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, kde-format +msgid "Collapse All" +msgstr "Contraer todo" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "Ir a este marcador" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "Cambiar nombre del marcador" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Abrir documento" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "Eliminar todos los marcadores de este documento" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "Visor de certificados" + +#: part/certificateviewer.cpp:50 +#, kde-format +msgid "Export…" +msgstr "Exportar…" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "General" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "Emitido por" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "Nombre común (NC)" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "Correo electrónico" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "Organización (O)" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "Emitido para" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "Validez" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "Huellas digitales" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "Huella digital SHA-1" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "Huella digital SHA-256" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "Detalles" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "Fecha del certificado:" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "¿Dónde quiere guardar este certificado?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "Archivo de certificado (*.cer)" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "No se ha podido exportar el certificado" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "Modo de &color" + +#: part/colormodemenu.cpp:21 +#, kde-format +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "Cambiar colores" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "Colores &normales" + +#: part/colormodemenu.cpp:41 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "&Invertir colores" + +#: part/colormodemenu.cpp:42 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "Cambiar el color del &fondo" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "Ca&mbiar colores oscuros y claros" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "Convertir a &blanco y negro" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "Invertir &luminosidad" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "Invertir l&uma (sRGB lineal)" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "Invertir luma (&simétrica)" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "Desplazar a tonalidad p&ositiva" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "Desplazar a tonalidad n&egativa" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "Rojo" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "Verde" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "Azul" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "Amarillo" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "Negro" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "Blanco" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "Resaltador amarillo" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "Resaltador verde" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "Insertar texto" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "Dibujar un borde alrededor de los enlaces" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "Cambiar colores" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "" +"Advertencia: estas opciones pueden afectar gravemente a la velocidad " +"de dibujo." + +#: part/dlgaccessibility.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "Invertir colores" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "Cambiar el color del fondo" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "Cambiar colores oscuros y claros" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "Convertir a blanco y negro" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "Invertir luminosidad" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "Invertir luma (sRGB lineal)" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "Invertir luma (simétrica)" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "Desplazar a tonalidad positiva" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "Desplazar a tonalidad negativa" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "Modo de color:" + +#: part/dlgaccessibility.cpp:87 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Color del fondo:" + +#: part/dlgaccessibility.cpp:99 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Color oscuro:" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "Color claro:" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "Umbral:" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Contraste:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "Motor de texto a voz:" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "Voz del texto a voz:" + +#: part/dlgannotations.cpp:25 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Barra de herramientas de anotaciones completas" + +#: part/dlgannotations.cpp:26 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Barra de herramientas de anotaciones rápidas" + +#: part/dlgannotations.cpp:28 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Barra de herramientas de anotaciones:" + +#: part/dlgannotations.cpp:34 +#, kde-format +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "Autor:" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"Nota:: esta información solo se usa en anotaciones. La información se " +"guarda en documentos anotados, por lo que se transmitirá junto al documento." + +#: part/dlgannotations.cpp:48 +#, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

Quick Annotation Tools

" +msgstr "

Herramientas de anotaciones rápidas

" + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" +"Elija el editor que quiere lanzar cuando Okular necesite abrir un archivo de " +"código fuente." + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "Editor de texto personalizado" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Cliente Emacs" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "Cliente Lyx" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "TeXstudio" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "TeXiFy IDEA" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "Editor:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
\n" +"You can also put few placeholders:\n" +"
    \n" +"
  • %f - the file name
  • \n" +"
  • %l - the line of the file to be reached
  • \n" +"
  • %c - the column of the file to be reached
  • \n" +"
\n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"Establece la orden para lanzar un editor de texto personalizado.
\n" +"
También puede usar algunos parámetros de sustitución:\n" +"

    \n" +"

  • %f - el nombre del archivo
  • \n" +"

  • %l - la línea del archivo a alcanzar
  • \n" +"

  • %c - la columna del archivo a alcanzar
  • \n" +"

\n" +"
Si no se especifica %f, se añade el nombre del archivo a la orden." + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "Orden:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "Usar desplazamiento suave" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "Apariencia:" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "Mostrar barras de desplazamiento" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "Enlazar las miniaturas con la página" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "Mostrar mensajes de ayuda y de información" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "Informar de archivos empotrados, formularios y firmas" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "" +"Mostrar el título del documento en la barra de título, si está disponible" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "Mostrar solo el nombre del archivo" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "Mostrar la ruta completa del archivo" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "Cuando no se muestra el título del documento:" + +#: part/dlggeneral.cpp:92 +#, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "Usar color de fondo personalizado:" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "Funcionalidades del programa:" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "Abrir archivos nuevos en pestañas" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "Cambiar a una pestaña existente si el archivo ya está abierto" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "Obedecer las restricciones DRM" + +#: part/dlggeneral.cpp:148 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "Volver a cargar el documento si el archivo cambia" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "Mostrar el diálogo de selección de motor" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "Dirección de lectura de derecha a izquierda" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" +"Usar información del archivo para determinar si se debe abrir en modo " +"continuo de forma predeterminada" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" +"Para archivos sin información de archivo, abrir en modo continuo de forma " +"predeterminada" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "Abrir en modo continuo por omisión" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" +"Al usar la herramienta «Examinar», rodear el cursor en los extremos de la " +"pantalla" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "Elementos del historial reciente:" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "Columnas del resumen:" + +#: part/dlggeneral.cpp:220 +#, kde-format +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%v %" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" +"Define la porción del área de visualización actual que continuará siendo " +"visible al pulsar las teclas RePág y AvPág." + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "Solapamiento de RePág/AvPág:" + +#: part/dlggeneral.cpp:228 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%v %" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "100 %" + +#: part/dlggeneral.cpp:233 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "Ajustar al ancho" + +#: part/dlggeneral.cpp:234 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "Ajustar a la página" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "Ajuste automático" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "Personalizado" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" +"Define el modo de ampliación por omisión para los archivos que no se han " +"abierto con anterioridad. Para los archivos que ya se han abierto " +"previamente se aplica la ampliación usada con anterioridad." + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "Ampliación por omisión:" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "Activar efectos de transparencia" + +#: part/dlgperformance.cpp:28 +#, kde-format +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "Uso de CPU:" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "Bajo" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "Normal (predeterminado)" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "Agresivo" + +#: part/dlgperformance.cpp:38 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "Voraz" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "Uso de memoria:" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "Activar suavizado de bordes en el texto" + +#: part/dlgperformance.cpp:56 +#, kde-format +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "Opciones de representación:" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "Activar suavizado de bordes en los gráficos" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "Activar mejoras del tipo de letra" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"Mantener la memoria usada tan bajo como sea posible. No reutilizar nada. " +"(Para sistemas con poca memoria)." + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"Una buena relación entre uso de memoria y ganancia de velocidad. Precargar " +"la página siguiente y agilizar las búsquedas. (Para sistemas con 2 GB de " +"memoria, normalmente)." + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"Mantener todo en memoria. Precargar las páginas siguientes. Agilizar las " +"búsquedas. (Para sistemas con más de 4 GB de memoria)." + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" +"Carga y mantiene todo en memoria. Precarga todas las páginas (usará como " +"máximo el 50 % de la memoria total o de la memoria libre, la que sea mayor)." + +#: part/dlgpresentation.cpp:38 +#, kde-format +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] "cada %v segundo" +msgstr[1] "cada %v segundos" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "Avanzar automáticamente:" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "Volver al principio tras la última página" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "Tocar el lado izquierdo/derecho para ir atrás/adelante" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "Tocar en cualquier parte para avanzar" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "Desactivada" + +#: part/dlgpresentation.cpp:63 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Navegación táctil:" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "Color del fondo:" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "Ocultar tras un intervalo" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "Siempre visible" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "Siempre oculto" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "Puntero del ratón:" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "Mostrar indicador de avance" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "Mostrar página de sumario" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "Instantánea (sin usar animaciones)" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "Sustituir" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "Transición aleatoria" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "Cortina vertical" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "Cortina horizontal" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "Cuadro hacia dentro" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "Cuadro hacia fuera" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "Disolver" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "Desvanecer" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "Destellos con barrido hacia abajo" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "Destellos con barrido hacia la derecha" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "Destellos con barrido abajo a la derecha" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "División horizontal hacia dentro" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "División horizontal hacia fuera" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "División vertical hacia dentro" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "División vertical hacia fuera" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "Barrido hacia abajo" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "Barrido hacia la derecha" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "Barrido hacia la izquierda" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "Barrido hacia arriba" + +#: part/dlgpresentation.cpp:121 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Transición predeterminada:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "Pantalla preferida:" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

Drawing Tools

" +msgstr "

Herramienta de dibujo

" + +#: part/dlgpresentation.cpp:171 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Pantalla actual" + +#: part/dlgpresentation.cpp:172 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Pantalla predeterminada" + +#: part/dlgpresentation.cpp:178 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "Pantalla %1 (%2 %3 %4)" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "Pantalla %1 (desconectada)" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "Herramienta de dibujo: %1" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "Goma de borrar" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "&Nombre:" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "&Tipo:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "Apariencia" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "Marcador de texto" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "Forma geométrica" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "Herramienta para crear anotación" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "Herramienta para editar la anotación" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "Color:" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "Anchura del lá&piz:" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "%v px" + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "Herramienta para crear dibujo" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "Herramienta para editar dibujo" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "Desconocida" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Archivos empotrados" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "Ver" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "Nombre" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "Descripción" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "Tamaño" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "Creado" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "Modificado" + +#: part/embeddedfilesdialog.cpp:154 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "&Guardar como…" + +#: part/embeddedfilesdialog.cpp:155 +#, kde-format +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "&Ver…" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "No se puede cargar la parte de previsualización de impresión" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "Vista previa de la impresión" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "Cerrar" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "&Encontrar:" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "Texto a buscar" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Siguiente" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "Ir a la siguiente coincidencia" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Anterior" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "Ir a la anterior coincidencia" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "Modificar el comportamiento de la búsqueda" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "Distinguir mayúsculas" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "Desde la página actual" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "Buscar al escribir" + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "Todos los archivos (*)" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "Ejemplo de firma (pulse para firmar)" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "&Firmar…" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "Propiedades de la firma" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "Opciones de búsqueda" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "Distinguir mayúsculas" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "Expresión regular" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "Capas" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "de" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "Ampliación" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "Ampliar al 100 %" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "Gi&rar a la derecha" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "Derecha" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "Girar a la i&zquierda" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "Izquierda" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "Orientación original" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "Recor&tar vista" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "Recor&tar márgenes" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "Recortar a la &selección" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "Ajustar al &ancho" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "Ajustar a la &página" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "&Ajuste automático" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "Ajustar ve&ntana a la página" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "Modo de &vista" + +#: part/pageview.cpp:594 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "&Página única" + +#: part/pageview.cpp:595 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "Páginas &encaradas" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "Páginas encaradas (¢rar la primera página)" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "&Resumen" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "&Continuo" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "Usar dirección de lectura de derecha a izquierda" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "&Explorar" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "A&mpliar" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "&Selección de área" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "Selección de &texto" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "Selección de t&abla" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "&Lupa" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "Herramientas de selección" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "&Firmar digitalmente…" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "Leer todo el documento" + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "Leer de la página actual" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "Leer la página actual" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "Detener lectura" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "Pausar/continuar la lectura" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "Desplazar arriba" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Desplazar abajo" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "Desplazar página arriba" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "Desplazar página abajo" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "Mostrar formularios" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] " Se ha cargado un documento de una página." +msgstr[1] " Se ha cargado un documento de %1 páginas." + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "Copiar el contenido de la tabla al portapapeles" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "Texto (1 carácter)" +msgstr[1] "Texto (%1 caracteres)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "Copiar en el portapapeles" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "Hablar texto" + +#: part/pageview.cpp:2863 +#, kde-format +msgid "Image (%1 × %2 pixels)" +msgstr "Imagen (%1 × %2 píxeles)" + +#: part/pageview.cpp:2865 +#, kde-format +msgid "Save to File…" +msgstr "Guardar en archivo…" + +#: part/pageview.cpp:2885 +#, kde-format +msgid "Image [%1 × %2] copied to clipboard." +msgstr "Imagen [%1 × %2] copiada en el portapapeles." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "Guardar archivo" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "Imágenes (*.png *.jpeg)" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "Archivo no guardado." + +#: part/pageview.cpp:2901 +#, kde-format +msgid "Image [%1 × %2] saved to %3 file." +msgstr "Imagen [%1 × %2] guardada en el archivo %3." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "Copiar texto" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "Ir a «%1»" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "Ajustar al ancho" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "Ajustar a la página" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "Ajuste automático" + +#: part/pageview.cpp:4107 +#, kde-format +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1 %" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "Buscar «%1» con" + +#: part/pageview.cpp:4404 +#, kde-format +msgid "Configure Web Shortcuts…" +msgstr "Configurar los atajos web…" + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "Seguir este enlace" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "Reproducir este sonido" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "Detener sonido" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "Copiar dirección del enlace" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "Buscar «%1» en este documento" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Bienvenido" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "Seleccione la zona de ampliación. Clic derecho para reducir." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "Pulse para usar la lupa." + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "Dibuje un rectángulo alrededor del texto o gráficos a copiar." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "Seleccionar texto" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" +"Dibuje un rectángulo alrededor de la tabla y pulse cerca de sus bordes para " +"dividirlo. Pulse Esc para borrarlo." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" +"Ninguno de sus certificados de firma es válido. Si la firma funcionaba " +"antes, compruebe sus fechas de validez." + +#: part/pageview.cpp:5188 +#, kde-format +msgid "No valid certificates" +msgstr "No hay certificados válidos" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, kde-format +msgid "Open Certificate Manager" +msgstr "Abrir el gestor de certificados" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
Launch Certificate Manager " +"to import or manage certificates
For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" +"No hay certificados de firma disponibles.
Lance el gestor de " +"certificados para importar o administrar certificados.
Para más " +"información, consulte la sección sobre Añadir firmas " +"digitales en el manual." + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, kde-format +msgid "No certificates found" +msgstr "No se han encontrado certificados" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" +"No hay certificados de firma disponibles.
Para más información, consulte " +"la sección sobre Añadir firmas digitales en el manual." + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "Hay cambios sin guardar. Guarde el documento antes de firmarlo." + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "Dibuje un rectángulo para insertar el campo de firma" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "" +"Dibuje un rectángulo alrededor del área de la página que desea mantener " +"visible" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "Nueva nota de texto" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "Texto de la nueva nota:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Firmado por: %1\n" +"\n" +"Fecha: %2" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" +"Una firma con ese tamaño puede ser demasiado pequeña para leerla. Si desea " +"crear una firma potencialmente más legible, pulse Comenzar de " +"nuevo y dibuje un rectángulo más grande." + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "Comenzar de nuevo" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "Firmar" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name" +msgstr "Nombre del autor" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name for the annotation:" +msgstr "Nombre del autor de la anotación:" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "Dibujar una elipse (arrastre para seleccionar una zona)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "Resaltar texto" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "Dibujar una línea a mano alzada" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "Anotación de texto en línea (arrastre para seleccionar una zona)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "Colocar una nota emergente" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "Dibujar un polígono (haga clic en el primer punto para cerrarlo)" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "Dibujar un rectángulo" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "Texto garabateado" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "Poner un símbolo de sello" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "Dibujar una línea recta" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "Tachar texto" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "Subrayar texto" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "Anotación con máquina de escribir (arrastre para seleccionar una zona)" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "Resaltador" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "Añadir anotación favorita" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Custom annotation name:" +msgstr "Nombre de anotación personalizado:" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&Archivo" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "&Preferencias" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "A&yuda" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "&Orientación" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "&Marcadores" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "Barra de herramientas del visor" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Miniaturas" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "Anotaciones" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" +"Este documento contiene anotaciones o datos de formulario que fueron " +"guardados internamente por una versión anterior de Okular. El almacenamiento " +"interno ya no se permite.
Guarde en un archivo para poder " +"moverlos si desea seguir editando el documento." + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"Este documento contiene archivos empotrados. Pulse aquí para verlos o vaya a «Archivo -> Archivos empotrados»." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "Firma en curso. Puede ajustar la posición y el tamaño de la firma." + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "Terminar de firmar" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "Anterior" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "Ir a la página anterior" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "Va a la anterior página del documento" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "Siguiente" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "Avanzar a la página siguiente" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "Va a la siguiente página del documento" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "Principio del documento" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "Va al principio del documento" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "Final del documento" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "Va al final del documento" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "Cambiar el nombre del marcador actual" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "Marcador anterior" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "Ir al marcador anterior" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "Marcador siguiente" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "Ir al marcador siguiente" + +#: part/part.cpp:748 +#, kde-format +msgid "Configure Okular…" +msgstr "Configurar Okular…" + +#: part/part.cpp:751 +#, kde-format +msgid "Configure Viewer…" +msgstr "Configurar el visor…" + +#: part/part.cpp:757 +#, kde-format +msgid "Configure Viewer Backends…" +msgstr "Configurar los motores del visor…" + +#: part/part.cpp:759 +#, kde-format +msgid "Configure Backends…" +msgstr "Configurar motores…" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "Acerca del motor" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "&Volver a cargar" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "Volver a cargar el documento actual del disco." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "Cerrar la barra de &búsqueda" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "Número de página" + +#: part/part.cpp:817 +#, kde-format +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "Configurar modos de color…" + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "Seleccionar todo el texto de la página actual" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "Mostrar la barra &lateral" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "Mostrar la barra de &páginas" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "Mostrar el panel de &firmas" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "Archivos &empotrados" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "E&xportar como" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "Co&mpartir" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "P&resentación" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "Abrir la carpeta con&tenedora" + +#: part/part.cpp:945 +#, kde-format +msgid "&Import PostScript as PDF…" +msgstr "&Importar PostScript como PDF…" + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "Cambiar al modo de pantalla negra" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "Borrar dibujo" + +#: part/part.cpp:962 +#, kde-format +msgid "Configure Annotations…" +msgstr "Configurar anotaciones…" + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "Reproducir/pausar presentación" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" +"Acaba de modificar el documento abierto, pero este tipo de documento no se " +"puede guardar.\n" +"Cualquier modificación se perderá en cuanto cierre Okular." + +#: part/part.cpp:1123 +#, kde-format +msgid "Document can't be saved" +msgstr "El documento no se puede guardar" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "No se ha podido abrir «%1» (%2)" + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "La carga de %1 ha sido cancelada." + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "No se puede abrir %1. Motivo: %2" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "Configurar los motores del visor" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "Configurar motores" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"El programa «ps2pdf» no ha sido encontrado, de modo que Okular no puede " +"importar archivos PS usando este programa." + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "No se ha encontrado el programa «ps2pdf»" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "Archivos PostScript (%1)" + +#: part/part.cpp:1357 +#, kde-format +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "Importando archivo PS como PDF (esto tardará un rato)…" + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "Introduzca la contraseña para leer el documento:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "Contraseña incorrecta. Pruebe de nuevo:" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "Contraseña del documento" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" +"Este documento contiene formularios XFA, que en la actualidad no están " +"permitidos." + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"Este documento contiene formularios. Pulse el botón para interactuar con " +"ellos, o use Ver -> Mostrar formularios." + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" +"Se han desactivado todas las funciones de edición y de interacción para este " +"documento. Guarde una copia y vuelva a abrirlo para poder editarlo." + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" +"Este documento solicita mostrarse a pantalla completa.\n" +"¿Desea dejar el modo normal y entrar en el modo de presentación?" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "Solicitud de cambio del modo de visualización" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "Entrar en el modo de presentación" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "Denegar la solicitud" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "No se puede abrir %1. %2" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" +"El archivo %1 contiene cambios sin guardar y ha sido " +"modificado por otro programa. Si lo vuelve a cargar se sustituirán los " +"cambios sin guardar con las modificaciones realizadas por el otro programa." +"¿Desea continuar recargando el archivo?" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "Archivo modificado" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "Continuar recargando" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "Interrumpir la recarga" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" +"El archivo %1 contiene cambios sin guardar y ha sido " +"modificado por otro programa. Si lo cierra se sustituirán los cambios sin " +"guardar con las modificaciones realizadas por el otro programa.¿Desea continuar cerrando el archivo?" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "Continuar cerrando" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "Interrumpir el cierre" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "¿Desea guardar los cambios en «%1» o descartarlos?" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "Cerrar documento" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"Este enlace apunta a una acción de cierre del documento que no funciona al " +"usar el visor empotrado." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"Este enlace apunta a una acción de salida de la aplicación que no funciona " +"al usar el visor empotrado." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, kde-format +msgid "Reloading the document…" +msgstr "Volviendo a cargar el documento…" + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "Contenido" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "Firmas" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Ir a la página" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "&Página:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "Introduzca el nuevo nombre del marcador:" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "Cambiar el nombre de este marcador" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "Eliminar este marcador" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "Guardar como" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" +"Ha elegido guardar un archivo de Okular sin que el nombre de archivo termine " +"con la extensión «%1». Esto no está permitido. ¿Desea escoger otro nombre?" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "Extensiones no permitida" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "Escoger nuevo nombre" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" +"El archivo %1 ha sido modificado por otro programa. Si " +"lo guarda ahora, se perderá cualquier cambio realizado por el otro programa. " +"¿Seguro que quiere continuar?" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "Guardar - Advertencia" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "Guardar una copia en otra parte" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
Do you want to continue?" +msgstr "" +"El documento actual está protegido con contraseña.
Para poder " +"guardarlo, necesita volver a cargar el archivo. Se le volverá a solicitar la " +"contraseña y se perderá el historial de deshacer/rehacer.
¿Desea " +"continuar?" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "No se puede abrir el archivo temporal para escritura." + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" +"No se ha podido sobrescribir el archivo %1 porque es de " +"solo lectura. Pruebe a guardarlo en otro lugar o cambie los permisos de este " +"archivo." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
Do you want to continue?" +msgstr "" +"Tras guardar, el formato del documento actual necesita que se vuelva a " +"cargar el archivo. El historial de deshacer/rehacer se perderá.
¿Desea " +"continuar?" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "" +"El archivo no se puede guardar en «%1». Intente guardarlo en otro lugar." + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "Contenido del formulario relleno" + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "Anotaciones del usuario" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" +"Está a punto de guardar los cambios, pero el formato de archivo actual no " +"permite guardar los siguientes elementos. Use el formato de archivo " +"comprimido de documento de Okular para preservarlos." + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "Advertencia" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "Guardar como archivo comprimido de documento de Okular…" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" +"Está a punto de guardar los cambios, pero el formato de archivo actual no " +"permite guardar los siguientes elementos. Use el formato de archivo " +"comprimido de documento de Okular para preservarlos. Pulse Continuar para guardar el documento y descartar estos elementos." + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" +"Está a punto de guardar los cambios, pero el formato de archivo actual no " +"permite guardar los siguientes elementos. Use el formato de archivo " +"comprimido de documento de Okular para preservarlos. Pulse Continuar para guardar, aunque perderá estos elementos y el historial de deshacer/" +"rehacer." + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "Continuar" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "Continuar, perdiendo los cambios" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "No se puede guardar el archivo en «%1». %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"Okular no puede copiar %1 en la ubicación especificada.\n" +"\n" +"El documento ha dejado de existir." + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" +"El archivo no se puede guardar en «%1». Error: «%2». Intente guardarlo en " +"otro lugar." + +#: part/part.cpp:3158 +#, kde-format +msgid "Expand Whole Section" +msgstr "Expandir toda la sección" + +#: part/part.cpp:3159 +#, kde-format +msgid "Collapse Whole Section" +msgstr "Contraer toda la sección" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "Sincronizar la miniatura con la página" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Herramientas" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "Leer" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "Imprimir" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "No se permite la impresión de este documento." + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"No se puede imprimir el documento. Error desconocido. Informe del fallo a " +"bugs.kde.org" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"No se puede imprimir el documento. El error detallado es «%1». Informe del " +"fallo a bugs.kde.org" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "Ir al sitio donde ha estado antes" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "Ir al sitio donde ha estado después" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"Error de archivo No se puede crear el archivo temporal " +"%1." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"Error de archivo No se puede abrir el archivo " +"%1 para descomprimirlo. El archivo no será " +"cargado." + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"Este error aparece típicamente cuando no tiene suficientes permisos para " +"leer el archivo. Puede comprobar su propiedad y sus permisos haciendo clic " +"sobre el archivo con el botón derecho del ratón en el gestor de archivos " +"Dolphin, escogiendo luego la opción «Propiedades» y seleccionando la pestaña " +"«Permisos» en la ventana que se abre." + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"Error de archivo No se puede descomprimir el archivo " +"%1. El archivo no será cargado." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"Este error aparece típicamente cuando el archivo está dañado. Si quiere " +"asegurarse, intente descomprimir el archivo manualmente usando herramientas " +"en la línea de órdenes." + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "No hay marcadores" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "Ha ocurrido un problema al compartir el documento: %1" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "Compartir" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "Documento compartido con éxito" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "Puede encontrar el documento compartido en: %1" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "&Editar" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "&Ver" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&Ir" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "&Herramientas" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "Barra de herramientas principal" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "Barra de herramientas de anotaciones" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, kde-format +msgid "Quick Annotation Toolbar" +msgstr "Barra de herramientas de anotaciones rápidas" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "Opciones generales" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Accesibilidad" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "Ayudas de accesibilidad para lectura" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Rendimiento" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "Ajuste del rendimiento" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "Configurar el visor" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Presentación" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "Opciones para el modo de presentación" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "Opciones de las anotaciones" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "Editor" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "Opciones del editor" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" +"Se ha definido el editor mediante la línea de órdenes a \n" +" %1 \n" +"Si desea usar la preferencia, inicie Okular sin la opción «--editor-cmd»." + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "Encontrar siguiente" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 – Presentación" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "Cambiar pantalla" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "Pantalla %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "Salir del modo de presentación" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Título: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Páginas: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "Pulse para comenzar" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "Pausar" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "Reproducir" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"Existen dos formas de salir del modo de presentación: puede pulsar la tecla " +"«Esc» o pulsar el botón para salir que aparece al situar el puntero del " +"ratón en la esquina superior derecha. En todo momento puede navegar a través " +"de las ventanas abiertas (Alt+Tab de forma predeterminada)" + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "Terminar una presentación" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "Archivo desconocido" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "Propiedades de %1" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "&Tipos de letra" + +#: part/propertiesdialog.cpp:145 +#, kde-format +msgid "Reading font information…" +msgstr "Leyendo información sobre los tipos de letra…" + +#: part/propertiesdialog.cpp:158 +#, kde-format +msgid "&Page Sizes" +msgstr "Tamaños de las &páginas" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "&Extraer tipo de letra" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Tipo 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Tipo 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "Tipo 1C (OT)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Tipo 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType (OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID Tipo 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID Tipo 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID Tipo 0C (OT)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType (OT)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "TeX PK" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "TeX virtual" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "TeX Font Metric" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "TeX FreeType-handled" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "Desconocido" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "Empotrado (subconjunto)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "Completamente empotrado" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "No" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "Sí (subconjunto)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "Sí" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "%1 (sustituido con %2)" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "[n/d]" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "Tipo de letra desconocido" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "Empotrado: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "Nombre" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "Tipo" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "Archivo" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "Página" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "Tamaño" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "Vista previa de la revisión" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "¿Dónde quiere guardar esta revisión?" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "No se ha podido guardar el archivo %1." + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "No se puede ver la revisión." + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "Introduzca al menos 3 letras para filtrar páginas" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "Distinguir mayúsculas" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "Encontrar la frase" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "Encontrar todas las palabras" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "Encontrar cualquier palabra" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "Opciones del filtro" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, kde-format +msgid "Certificates" +msgstr "Certificados" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "Seleccione certificado con el que firmar:" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "Todos" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, kde-format +msgid "Only QES certificates" +msgstr "Solo certificados QES" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "Solo claves PGP" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "Motivo:" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, kde-format +msgid "optional" +msgstr "opcional" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "Localización:" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, kde-format +msgid "Background:" +msgstr "Fondo:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "Escoger…" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, kde-format +msgid "Recent backgrounds:" +msgstr "Fondos recientes:" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

No annotations

To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
" +msgstr "" +"

No hay anotaciones

Pulse «F6» para crear nuevas " +"anotaciones o seleccione Herramientas -> Anotaciones en el menú." + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "Agrupar por página" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "Agrupar por autor" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "Mostrar solo anotaciones de la página actual" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "Expandir todos los elementos" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "Contraer todos los elementos" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "Propiedades" + +#: part/signaturepartutils.cpp:180 +#, kde-format +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Imágenes (%1)" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "Seleccione la imagen de fondo" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "Olvidar la imagen" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "Olvidar todas las imágenes" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "" +"Introduzca la contraseña (si existe) para desbloquear el certificado: %1" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "Introduzca la contraseña del certificado" + +#: part/signaturepartutils.cpp:244 +#, kde-format +msgid "Enter document password" +msgstr "Introduzca la contraseña del documento" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "Guardar archivo firmado como" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "%1_firmado.%2" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "Estado de validez" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "Validez de la firma:" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "Modificaciones del documento:" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "Información adicional" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "Firmado por:" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "Hora de la firma:" + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "Versión del documento" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Revisión del documento %1 de %2" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "Ver la versión firmada…" + +#: part/signaturepropertiesdialog.cpp:95 +#, kde-format +msgid "View Certificate…" +msgstr "Ver el certificado…" + +#: part/signaturepropertiesdialog.cpp:97 +#, kde-format +msgid "View in Certificate Manager" +msgstr "Ver en el gestor de certificados" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "Gestor de certificados de KDE (kleopatra) no encontrado" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "Cualificada" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "PGP" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "Mostrar solo las páginas marcadas" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "Reproducir" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Pausar" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "Detener" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "Este Okular no permite ver vídeos" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "Este Okular no permite ver vídeos" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "&Añadir…" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, kde-format +msgid "&Edit…" +msgstr "&Editar…" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "E&liminar" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "S&ubir" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "&Bajar" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "Herramienta de dibujo #%1 por omisión" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "Ya existe una herramienta con este nombre. Se usa uno por omisión." + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "Nombre duplicado" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "Página del documento a mostrar" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "Iniciar el documento en modo de presentación" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "Iniciar con el diálogo de impresión" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "Iniciar con el diálogo de impresión y salir tras imprimir" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "Control de «sesión única»" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "No pasar la ventana a primer plano" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "Buscar una cadena en el texto" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "Define la orden del editor externo" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "Documentos a abrir. Use «-» para leer de la entrada estándar." + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" +"No puede definir la orden del editor en una instancia de Okular que ya está " +"funcionando. Desactive las pestañas y vuelva a probar. Tenga en cuenta que " +"tampoco se permite el uso de «unique» cuando se define la orden del editor " +"desde la línea de órdenes.\n" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "" +"Error: no se puede abrir más de un documento con el modificador --unique" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" +"Error: no se puede abrir más de un documento con el modificador --" +"presentation" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "" +"Error: no se puede abrir más de un documento con el modificador --print" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "Error: no se puede abrir más de un documento con el modificador --page" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "Error: no se puede abrir más de un documento con el modificador --find" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "No se ha podido encontrar el componente Okular: %1" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "Barra lateral" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" +"Ya hay una única instancia de Okular en ejecución. Esta instancia no será la " +"única." + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "No se ha podido encontrar el componente Okular." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"Pulse para abrir un archivo\n" +"Pulse y mantenga pulsado para abrir un archivo reciente" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"Pulse para abrir un archivo, o pulse y mantenga para " +"seleccionar un archivo reciente" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "Pestaña siguiente" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "Pestaña anterior" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "Deshacer el cierre de pestaña" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "Fijar la barra lateral" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "Todos los archivos (*)" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "Todos los archivos permitidos (%1)" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "Abrir documento" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "Confirmar el cierre" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "Cerrar pestañas" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "Está a punto de cerrar %1 pestañas. ¿Seguro que desea continuar?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "Avisarme cuando intente cerrar múltiples pestañas" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "&Copiar ruta" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "Abrir la carpeta c&ontenedora" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "Ol&vidar este elemento" + +#: shell/welcomescreen.cpp:137 +#, kde-format +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "No hay documentos recientes" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "Bienvenido a Okular" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Abrir documento…" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, kde-format +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Documentos recientes" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "Olvidar todos" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "Ocultar la pantalla de bienvenida" diff --git a/po/es/okular_comicbook.po b/po/es/okular_comicbook.po new file mode 100644 index 0000000..1c62658 --- /dev/null +++ b/po/es/okular_comicbook.po @@ -0,0 +1,48 @@ +# Spanish translations for okular_comicbook.po package. +# Copyright (C) 2008-2025 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# SPDX-FileCopyrightText: 2008, 2018, 2025 Eloy Cuadra +msgid "" +msgstr "" +"Project-Id-Version: okular_comicbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-05-20 02:15+0100\n" +"Last-Translator: Eloy Cuadra \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 2.0\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Eloy Cuadra" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "ecuadra@eloihr.net" + +#: document.cpp:97 +#, kde-format +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "" +"No se puede abrir el documento: no se han encontrado «unrar» ni «unarchiver»." + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "" +"La versión de «unrar» instalada en su sistema no es apropiada para abrir " +"libros de cómics." + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "Formato ComicBook desconocido." diff --git a/po/es/okular_djvu.po b/po/es/okular_djvu.po new file mode 100644 index 0000000..0b8133b --- /dev/null +++ b/po/es/okular_djvu.po @@ -0,0 +1,96 @@ +# Spanish translations for okular_djvu.po package. +# Copyright (C) 2007-2025 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# SPDX-FileCopyrightText: 2007, 2008, 2025 Eloy Cuadra +msgid "" +msgstr "" +"Project-Id-Version: okular_djvu\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-05-20 02:15+0100\n" +"Last-Translator: Eloy Cuadra \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.2\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Eloy Cuadra" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "ecuadra@eloihr.net" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "Editor" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "Editor" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "Volumen" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "Tipo de documento" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "Desconocido" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "Archivos componentes" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "Desconocido" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "Página única" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "Empaquetado" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "Indirecto" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "Empaquetado (antiguo)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "Indexado (antiguo)" diff --git a/po/es/okular_dvi.po b/po/es/okular_dvi.po new file mode 100644 index 0000000..5bbe9c3 --- /dev/null +++ b/po/es/okular_dvi.po @@ -0,0 +1,570 @@ +# Spanish translations for okular_dvi.po package. +# Copyright (C) 2007-2025 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# SPDX-FileCopyrightText: 2007, 2008, 2009, 2013, 2014, 2024, 2025 Eloy Cuadra +# SPDX-FileCopyrightText: 2013 Javier Viñal +msgid "" +msgstr "" +"Project-Id-Version: okular_dvi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-12 01:48+0100\n" +"Last-Translator: Eloy Cuadra \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 25.04.3\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Eloy Cuadra" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "ecuadra@eloihr.net" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

" +msgstr "" +"

Okular no puede localizar el programa dvipdfm en su equipo. " +"Este programa es esencial para que funcione la función de exportar. No " +"obstante, puede convertir el archivo DVI a PDF usando la función de " +"impresión de Okular, aunque esto suele generar documentos que se imprimen " +"correctamente, serán de inferior calidad si se visualizan con Acrobat " +"Reader. Sería recomendable que se actualizara a una versión más reciente del " +"paquete TeX, que incluye el programa dvipdfm.

Consejo para el " +"administrador del sistema sorprendido: Okular usa la variable de entorno " +"PATH para buscar programas.

" + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"El programa externo «dvipdfm» que se ha usado para exportar el archivo " +"ha informado de un error. Tal vez quiera comprobarlo en el diálogo " +"de información del documento (que encontrará en el menú Archivo), " +"donde encontrará un informe más preciso sobre este error." + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" +"Este archivo DVI hace referencia a archivos gráficos externos que no " +"están en formato PostScript y que no pueden ser manejados por el programa " +"dvips que usa Okular internamente para imprimir o exportar a " +"PostScript. Por lo tanto, la funcionalidad que ha solicitado no está " +"disponible en esta versión de Okular." + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

" +msgstr "" +"

Okular no puede localizar el programa dvips en su equipo. " +"Este programa es esencial para que funcione la función de exportar.

Consejo para el administrador del sistema sorprendido: Okular usa la " +"variable de entorno PATH para buscar programas.

" + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"El programa externo «dvips» que se ha usado para exportar el archivo ha " +"informado de un error. Tal vez quiera comprobarlo en el diálogo de " +"información del documento (que encontrará en el menú Archivo), " +"donde encontrará un informe más preciso sobre este error." + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "El archivo DVI no comienza con el preámbulo." + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" +"El archivo DVI contiene una versión equivocada de salida DVI para este " +"programa. Consejo: Si usa el sistema Omega, debería usar un programa " +"especial, como «oxdvi»." + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "" +"El archivo DVI está severamente dañado. Okular no ha sido capaz de encontrar " +"el postámbulo." + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "El postámbulo no comienza con la orden POST." + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "El postámbulo contiene una orden distinta de FNTDEF." + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "La página %1 no comienza con la orden BOP." + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

PATH: %2

" +msgstr "" +"

No se ha sido posible iniciar el programa externo pdf2ps. Como consecuencia, el archivo PDF %1 no se ha podido convertir a " +"PostScript, por lo que no se mostrarán algunos elementos gráficos del " +"documento.

Posible motivo: Tal vez el programa pdf2ps no esté instalado en su equipo, o no se puede encontrar en su ruta " +"de búsqueda actual.

¿Qué puede hacer?: Normalmente, el programa " +"pdf2ps está contenido en las distribuciones del sistema " +"intérprete de PostScript «ghostscript». Si ghostscript no está instalado en " +"su equipo, puede instalarlo ahora. Si está seguro de que ghostscript está " +"instalado, pruebe a usar pdf2ps desde la línea de órdenes " +"para comprobar que realmente funciona.

Ruta: %2

" + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

%2

" +msgstr "" +"

El archivo PDF %1 no se ha podido convertir a PostScript, por lo que " +"algunos elementos gráficos de su documento no serán mostrados.

Posible motivo: Es probable que el archivo %1 esté dañado, o tal " +"vez no sea un archivo PDF. Esta es la salida del programa pdf2ps que ha usado Okular:

%2

" + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "Archivo dañado. %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "" +"No todos los archivos PostScript se han podido incrustar en el documento. %1" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "" +"Todos los archivos PostScript externos se han incrustado en el documento." + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "El archivo «%1» indicado no existe." + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" +"Le ha pedido a Okular que localice el lugar del archivo DVI que corresponde " +"a la línea %1 del archivo TeX %2. No obstante, parece que archivo DVI no " +"contiene la información de archivo de origen necesaria. " + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" +"Okular no ha podido localizar el lugar del archivo DVI que corresponde a la " +"línea %1 del archivo TeX %2." + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "El código DVI establece un carácter de un tipo de letra desconocido." + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "" +"El código DVI hace referencia al tipo de letra #%1, que no ha sido definida " +"previamente." + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "La pila no estaba vacía cuando se ha encontrado la orden EOP." + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "La pila estaba vacía cuando se ha encontrado una orden POP." + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "" +"El código DVI referencia un tipo de letra que no ha sido definido " +"previamente." + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "Se ha encontrado una orden ilegal." + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "Se ha encontrado el código de operación desconocido %1." + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "Empotrando %1" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
" +msgstr "" +"Página %1: el archivo PDF %2 no puede ser convertido a " +"PostScript.
" + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
" +msgstr "" +"Página %1: no se puede encontrar el archivo PostScript %2." +"
" + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "No se puede analizar el dato «%1» del tamaño del papel." + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

PATH: %1

%2

" +msgstr "" +"

Okular no ha sido capaz de localizar todos los archivos de tipos de " +"letra necesarios para mostrar el archivo DVI actual. Es posible que el " +"documento no sea legible.

Ruta: %1

" +"%2

" + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

PATH: %1

%2

" +msgstr "" +"

Ha ocurrido algún problema al ejecutar kpsewhich. Por ello, " +"no ha sido posible localizar algunos archivos de tipos de letra, por lo que " +"el documento puede resultar ilegible.
Posible motivo: es posible que el " +"programa kpsewhich no esté instalado en su sistema, o que no se " +"pueda encontrar en la ruta de búsqueda actual.

Ruta: %1

%2

" + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" +"La generación del tipo de letra por kpsewhich ha sido " +"interrumpida (código de salida %1, error %2). Como resultado, algunos " +"archivos de tipos de letras no se pueden localizar, por lo que su documento " +"puede ser ilegible." + +#: fontpool.cpp:482 +#, kde-format +msgid "Currently generating %1 at %2 dpi…" +msgstr "Generando ahora %1 a %2 ppp…" + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "Generador/fecha" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "Archivo de tipo de letra no encontrado" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "%1 × %2" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "%1 × %2 mm" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "%1 × %2 pulgadas" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "retrato" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "paisaje" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" +"La versión de Ghostview que hay instalada en este equipo no contiene ninguno " +"de los controladores de dispositivo Ghostview que son conocidos por Okular. " +"Por lo tanto, la implementación de PostScript ha sido desactivada en Okular." + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "Ha alcanzado 25 errores. No se mostrarán más mensajes de error." + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" +"Error en el archivo DVI «%1», página %2. Se ha encontrado una orden de color " +"POP cuando la pila de color estaba vacía." + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" +"Parámetro mal formado en la orden especial «epsf».\n" +"Se esperaba un número en coma flotante tras %1 en %2" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"Archivo no encontrado: \n" +" %1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" +"Error en el archivo DVI «%1», página %2. No se puede interpretar el ángulo " +"en la orden especial de rotación de texto." + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "La orden especial «%1» no está implementada." + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" +"El archivo de tipo de letra %1 se puede abrir y leer, pero su formato de " +"tipo de letra no está implementado." + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "" +"El archivo de tipo de letra %1 es defectuoso, o no se puede abrir o leer." + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" +"FreeType ha notificado un error al establecer el tamaño de carácter para el " +"archivo de tipo de letra %1." + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "FreeType no puede cargar el glifo #%1 del archivo de tipo de letra %2." + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "" +"FreeType no puede generar la imagen del glifo #%1 del archivo de tipo de " +"letra %2." + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "El glifo #%1 está vacío." + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "El glifo #%1 del archivo de tipo de letra %2 está vacío." + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "" +"FreeType no puede cargar la métrica para el glifo #%1 del archivo de tipo de " +"letra %2." + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "No se puede abrir el archivo de tipo de letra %1." + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "TexFont_PK::operator[]: Carácter %1 no definido en el tipo de letra %2" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "%1 no esperado en el archivo PK %2" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "El carácter %1 es demasiado grande en el archivo %2" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "Número incorrecto de bits almacenados: carácter %1, tipo de letra %2" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "Archivo PK incorrecto (%1): demasiados bits" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "El tipo de letra no tiene una proporción de aspecto cuadrado " + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "No se puede encontrar el tipo de letra %1, archivo %2." + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "" +"La suma de verificación no concuerda para el archivo de tipo de letra %1" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "No se puede reconocer el formato del archivo de tipo de letra %1" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"Error fatal.\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" +"\n" +"\n" +"Es probable que esto indique que ha encontrado un fallo en Okular, o\n" +"que el archivo DVI (o algún archivo auxiliar, como los archivos de tipo de\n" +"letra, o los archivos virtuales de tipo de letra) está severamente dañado.\n" +"Okular se cerrará tras mostrar este mensaje. Si cree que ha encontrado\n" +"un fallo, o piensa que Okular debería comportarse mejor en esta situación,\n" +"por favor, informe del problema." + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "Byte de orden incorrecto encontrado en la lista de macros VF: %1" diff --git a/po/es/okular_epub.po b/po/es/okular_epub.po new file mode 100644 index 0000000..955632e --- /dev/null +++ b/po/es/okular_epub.po @@ -0,0 +1,45 @@ +# Spanish translations for okular_epub.po package. +# Copyright (C) 2008-2025 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# SPDX-FileCopyrightText: 2008 Ignacio Poggi +# SPDX-FileCopyrightText: 2008, 2013, 2014, 2025 Eloy Cuadra +msgid "" +msgstr "" +"Project-Id-Version: okular_epub\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-05-20 02:16+0100\n" +"Last-Translator: Eloy Cuadra \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Eloy Cuadra,Ignacio Poggi" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "ecuadra@eloihr.net,ignaciop.3@gmail.com" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "Ha ocurrido un error mientras se accedía al documento EPub." + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "EPub" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "Configuración del motor EPub" diff --git a/po/es/okular_fax.po b/po/es/okular_fax.po new file mode 100644 index 0000000..aa16ed0 --- /dev/null +++ b/po/es/okular_fax.po @@ -0,0 +1,34 @@ +# Spanish translations for okular_fax.po package. +# Copyright (C) 2008-2025 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# SPDX-FileCopyrightText: 2008, 2025 Eloy Cuadra +msgid "" +msgstr "" +"Project-Id-Version: okular_fax\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-05-20 02:16+0100\n" +"Last-Translator: Eloy Cuadra \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.2\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Eloy Cuadra" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "ecuadra@eloihr.net" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "No se puede cargar el documento" diff --git a/po/es/okular_fictionbook.po b/po/es/okular_fictionbook.po new file mode 100644 index 0000000..31ae590 --- /dev/null +++ b/po/es/okular_fictionbook.po @@ -0,0 +1,69 @@ +# Spanish translations for okular_fictionbook.po package. +# Copyright (C) 2007-2025 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# SPDX-FileCopyrightText: 2007, 2008, 2013, 2025 Eloy Cuadra +msgid "" +msgstr "" +"Project-Id-Version: okular_fictionbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-05-20 02:16+0100\n" +"Last-Translator: Eloy Cuadra \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Eloy Cuadra" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "ecuadra@eloihr.net" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "No es un documento FictionBook válido" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "No se puede abrir el documento: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "El documento no es un archivo ZIP válido" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "Estructura de documento no válida (falta la carpeta principal)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "El documento no tiene contenido" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "Documento XML no válido: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "FictionBook" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "Configuración del motor de FictionBook" diff --git a/po/es/okular_ghostview.po b/po/es/okular_ghostview.po new file mode 100644 index 0000000..844203f --- /dev/null +++ b/po/es/okular_ghostview.po @@ -0,0 +1,78 @@ +# Spanish translations for okular_ghostview.po package. +# Copyright (C) 2007-2025 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# SPDX-FileCopyrightText: 2007, 2008, 2009, 2011, 2025 Eloy Cuadra +msgid "" +msgstr "" +"Project-Id-Version: okular_ghostview\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-05-20 02:16+0100\n" +"Last-Translator: Eloy Cuadra \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.2\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Eloy Cuadra" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "ecuadra@eloihr.net" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "Usar tipos de letra de la plataforma" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"Determina cuándo se le debe permitir a Ghostscript usar los tipos de letra " +"de la plataforma; si es falso, solo se le permitirá usar los tipos de letras " +"incrustados en el documento." + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "Preferencias generales" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "&Usar tipos de letra del sistema" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Configuración del motor Ghostscript" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "Versión del documento" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "Nivel de lenguaje" diff --git a/po/es/okular_kimgio.po b/po/es/okular_kimgio.po new file mode 100644 index 0000000..c16c72d --- /dev/null +++ b/po/es/okular_kimgio.po @@ -0,0 +1,43 @@ +# Spanish translations for okular_kimgio.po package. +# Copyright (C) 2007-2025 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# SPDX-FileCopyrightText: 2007, 2009, 2017, 2025 Eloy Cuadra +msgid "" +msgstr "" +"Project-Id-Version: okular_kimgio\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-05-20 02:16+0100\n" +"Last-Translator: Eloy Cuadra \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 2.0\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Eloy Cuadra" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "ecuadra@eloihr.net" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "No se puede cargar el documento: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" +"Parece que este documento está mal formado. Esta es la mejor aproximación " +"del aspecto previsto del documento." diff --git a/po/es/okular_markdown.po b/po/es/okular_markdown.po new file mode 100644 index 0000000..9dbe1e3 --- /dev/null +++ b/po/es/okular_markdown.po @@ -0,0 +1,55 @@ +# Spanish translations for okular_markdown.po package. +# Copyright (C) 2017-2025 This file is copyright: +# This file is distributed under the same license as the okular package. +# Automatically generated, 2017. +# +# SPDX-FileCopyrightText: 2017, 2018, 2019, 2025 Eloy Cuadra +msgid "" +msgstr "" +"Project-Id-Version: okular_markdown\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-05-20 02:16+0100\n" +"Last-Translator: Eloy Cuadra \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 18.12.3\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Eloy Cuadra" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "ecuadra@eloihr.net" + +#: converter.cpp:59 converter.cpp:93 +#, kde-format +msgid "Failed to open the document" +msgstr "No se ha podido abrir el documento" + +#: converter.cpp:106 converter.cpp:124 +#, kde-format +msgid "Failed to compile the Markdown document." +msgstr "La compilación del documento Markdown ha fallado." + +#: generator_md.cpp:58 +#, kde-format +msgid "Enable SmartyPants formatting" +msgstr "Activar el formato SmartyPants" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown" +msgstr "Markdown" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown Backend Configuration" +msgstr "Configuración del motor para Markdown" diff --git a/po/es/okular_mobi.po b/po/es/okular_mobi.po new file mode 100644 index 0000000..974916e --- /dev/null +++ b/po/es/okular_mobi.po @@ -0,0 +1,54 @@ +# Spanish translations for okular_mobi.po package. +# Copyright (C) 2008-2025 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# SPDX-FileCopyrightText: 2008 Miguel Angel Quesada Fernandez +# SPDX-FileCopyrightText: 2009 Ignacio Poggi +# SPDX-FileCopyrightText: 2009, 2013, 2014, 2025 Eloy Cuadra +msgid "" +msgstr "" +"Project-Id-Version: okular_mobi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-05-20 02:17+0100\n" +"Last-Translator: Eloy Cuadra \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Eloy Cuadra,Miguel Ángel Quesada Fernández,Ignacio Poggi" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "ecuadra@eloihr.net,kesadalive@gmail.com,ignaciop.3@gmail.com" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Se ha producido un error al abrir el documento Mobipocket." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "" +"Este libro está protegido por DRM y únicamente puede ser mostrado en los " +"dispositivos designados" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "Mobipocket" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "Configuración del motor Mobipocket" diff --git a/po/es/okular_poppler.po b/po/es/okular_poppler.po new file mode 100644 index 0000000..d35a5fe --- /dev/null +++ b/po/es/okular_poppler.po @@ -0,0 +1,393 @@ +# Spanish translations for okular_poppler.po package. +# Copyright (C) 2007-2025 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# SPDX-FileCopyrightText: 2007, 2008, 2009, 2010, 2012, 2013, 2018, 2019, 2020, 2021, 2023, 2025 Eloy Cuadra +msgid "" +msgstr "" +"Project-Id-Version: okular_poppler\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-10 03:47+0100\n" +"Last-Translator: Eloy Cuadra \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 25.04.3\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Eloy Cuadra" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "ecuadra@eloihr.net" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "Activar vista previa de sobreimpresión:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "Nunca" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "Siempre" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "Automático" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "Mejorar las líneas finas:" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "No" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "Solid" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "Forma" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "Modo de escalado predeterminado para imprimir:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "Ajustar al área imprimible" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "Ajustar a la página completa" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "Ninguno; imprimir con el tamaño original" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" +"Si activa esta opción permitirá que Okular se conecte a servidores OCSP de " +"terceras partes para comprobar si los certificados usados para las firmas " +"digitales se han revocado desde su creación." + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" +"Comprobar la revocación de los certificados de las firmas digitales usando " +"servidores de terceras partes" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "Motor de firmas:" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" +"Estas firmas solo las pueden validar los usuarios de un Okular reciente con " +"el motor GnuPG activado" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "Permitir claves PGP para las firmas (extensión de Okular)" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "Base de datos de certificados" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "Por omisión:" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "Personalizado:" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "Certificados disponibles" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "Cargar &firmas" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "Opciones PDF" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "Imprimir comentarios" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "Incluir comentarios en el documento impreso" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"Incluye las notas en el documento impreso. Puede desactivar esto si desea " +"imprimir el documento original sin comentar." + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "Forzar conversión a imagen" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "Convertir en una imagen antes de imprimir" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"Fuerza la conversión de cada página en una imagen antes de imprimirla. " +"Normalmente suele producir peor resultado, pero puede ser de utilidad cuando " +"algunos documentos se imprimen incorrectamente." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "Modo de escalado para las páginas impresas" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "Modo de escalado:" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF v. %1.%2" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "Formato" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "Cifrado" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "No cifrado" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "Seguridad" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "Sí" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "Optimizado" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Firmado por: %1\n" +"\n" +"Fecha: %2" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "Usando Poppler %1" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" +"Usando Poppler %1\n" +"\n" +"Compilado con Poppler %2" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "Configuración del motor PDF" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "No se ha podido escribir el archivo temporal" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "No se ha podido cambiar el nombre del archivo temporal" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" +"Se han encontrado algunos errores en el documento. Es posible que Okular no " +"pueda mostrar el contenido de forma correcta." + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" +"Estas firmas solo funcionan entre versiones recientes de Okular con un motor " +"basado en GnuPG activado" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "Activar firmas PGP" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "Emitido para" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "Correo electrónico" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "Fecha de caducidad" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" +"Está usando una biblioteca Poppler compilada sin soporte de NSS.\n" +"No es posible añadir firmas digitales por dicho motivo." + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "para siempre" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "Se necesita reiniciar" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "" +"Es necesario reiniciar Okular tras cambiar las preferencias del directorio " +"de NSS" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter Password" +msgstr "Introduzca la contraseña" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "Introduzca la contraseña para abrir %1:" diff --git a/po/es/okular_tiff.po b/po/es/okular_tiff.po new file mode 100644 index 0000000..5dc9144 --- /dev/null +++ b/po/es/okular_tiff.po @@ -0,0 +1,30 @@ +# Spanish translations for okular_tiff.po package. +# Copyright (C) 2020-2025 This file is copyright: +# This file is distributed under the same license as the okular package. +# Automatically generated, 2020. +# +# SPDX-FileCopyrightText: 2020, 2025 Eloy Cuadra +msgid "" +msgstr "" +"Project-Id-Version: okular_tiff\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-05-20 02:17+0100\n" +"Last-Translator: Eloy Cuadra \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 20.04.3\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Eloy Cuadra" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "ecuadra@eloihr.net" diff --git a/po/es/okular_txt.po b/po/es/okular_txt.po new file mode 100644 index 0000000..00edaaa --- /dev/null +++ b/po/es/okular_txt.po @@ -0,0 +1,40 @@ +# Spanish translations for okular_txt.po package. +# Copyright (C) 2013-2025 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# SPDX-FileCopyrightText: 2013, 2025 Eloy Cuadra +# SPDX-FileCopyrightText: 2013 Javier Viñal +msgid "" +msgstr "" +"Project-Id-Version: okular_txt\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-05-20 02:18+0100\n" +"Last-Translator: Eloy Cuadra \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 1.5\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Eloy Cuadra" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "ecuadra@eloihr.net" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "Txt" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "Configuración del motor de texto" diff --git a/po/es/okular_xps.po b/po/es/okular_xps.po new file mode 100644 index 0000000..1039cde --- /dev/null +++ b/po/es/okular_xps.po @@ -0,0 +1,34 @@ +# Spanish translations for okular_xps.po package. +# Copyright (C) 2007-2025 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# SPDX-FileCopyrightText: 2007, 2008, 2025 Eloy Cuadra +msgid "" +msgstr "" +"Project-Id-Version: okular_xps\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-05-20 02:18+0100\n" +"Last-Translator: Eloy Cuadra \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.2\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Eloy Cuadra" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "ecuadra@eloihr.net" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "Revisión" diff --git a/po/es/org.kde.active.documentviewer.po b/po/es/org.kde.active.documentviewer.po new file mode 100644 index 0000000..60640ac --- /dev/null +++ b/po/es/org.kde.active.documentviewer.po @@ -0,0 +1,207 @@ +# Spanish translations for org.kde.active.documentviewer.po package. +# Copyright (C) 2012-2025 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# SPDX-FileCopyrightText: 2012, 2016, 2018, 2019, 2020, 2022, 2024, 2025 Eloy Cuadra +# SPDX-FileCopyrightText: 2013 Javier Viñal +msgid "" +msgstr "" +"Project-Id-Version: org.kde.active.documentviewer\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-29 13:54+0100\n" +"Last-Translator: Eloy Cuadra \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 25.04.3\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "Marcadores" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "Visor del certificado" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "Emitido por" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "Nombre común:" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "Correo electrónico:" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "Organización:" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "Emitido para" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "Validez" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "Emitido el:" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "Expira el:" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "Huellas digitales" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "Huella digital SHA-1:" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "Huella digital SHA-256:" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +msgid "Export…" +msgstr "Exportar…" + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "Cerrar" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "Archivo de certificado (*.cer)" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "Error" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "No se ha podido exportar el certificado." + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "Okular" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "Abrir…" + +#: ui/Main.qml:49 +msgid "About" +msgstr "Acerca de" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "Se necesita contraseña" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "Eliminar marcador" + +#: ui/MainView.qml:29 +msgid "Bookmark this page" +msgstr "Marcar esta página" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "Miniaturas" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "Tabla de contenido" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "Firmas" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "Propiedades de la firma" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "Estado de validez" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "Validez de la firma:" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "Modificaciones del documento:" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "Información adicional" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "Firmado por:" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "Hora de la firma:" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "Motivo:" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "Ubicación:" + +#: ui/SignaturePropertiesPage.qml:96 +msgid "Document Version" +msgstr "Versión del documento" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Revisión del documento %1 de %2" + +#: ui/SignaturePropertiesPage.qml:108 +msgid "Save Signed Version…" +msgstr "Guardar versión firmada…" + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +msgid "View Certificate…" +msgstr "Ver certificado…" + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "No se ha podido guardar la firma." + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "No disponible" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "No se ha encontrado ningún resultado." + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "Ningún documento abierto" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "Documentos recientes" + +#: ui/WelcomeView.qml:108 +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "Mis documentos" diff --git a/po/et/docs/okular/man-okular.1.docbook b/po/et/docs/okular/man-okular.1.docbook new file mode 100644 index 0000000..79a70ea --- /dev/null +++ b/po/et/docs/okular/man-okular.1.docbook @@ -0,0 +1,289 @@ + + +]> + + + + +KDE kasutaja käsiraamat +YuriChornoivan Okular man page. yurchor@ukr.net +2013-03-09 +KDE töökeskkond + + + +okular +1 + + + +okular +universaalne dokumentide näitaja + + + +okular Qt võtmed KDE võtmed Okulari võtmed URL + + + +Kirjeldus +okular on mõeldud eri vormingutes dokumentide näitamiseks. + + + +Üldised võtmed + + + + +Abiteate näitamine võtmete kohta. + + + + + +Qt spetsiifiliste võtmete näitamine. + + + + + +KDE spetsiifiliste võtmete näitamine. + + + + + +Kõigi võtmete näitamine. + + + + + +Teabe näitamine autori kohta. + + + + + +Versiooniteabe näitamine. + + + + + +Litsentsiteabe näitamine. + + + + + +Võtmete lõpp. + + + + + +Okulari võtmed + + + + +Määratud lehekülje avamine dokumendis. + + + + + +Dokumendi avamine esitlusrežiimis. + + + + + +Käivitamine trükkimisdialoogiga. + + + + + +"Unikaalse isendi" kontroll. + + + + + +Võimaldab vältida Okulari akna esiletoomist käivitamise järel. + + + + + +Argumendid + + + + + Avatava dokumendi aadress. PDF-dokumentide puhul võib määrata kujul dokumendi_nimi#nimega_sihtkoht, kus nimega_sihtkoht on konkreetne dokumenti põimitud nimega sihtkoht. + + + + + +Tagasiside +IRC-s irc.freenode.net #okular või e-postiga okular-devel@kde.org või veebis <http://okular.kde.org> + + + +Vaata ka +Põhjalikumat kasutaja dokumentatsiooni pakub help:/okular (kirjuta see &URL; &konqueror;i või käivita käsuga khelpcenter help:/okular). + + +Autoriõigus +Autoriõigus © 2002: Wilco Greven, Christophe Devriese +Autoriõigus © 2004-2005: Enrico Ros +Autoriõigus © 2005: Piotr Szymanski +Autoriõigus © 2004-2012: Albert Astals Cid +Autoriõigus © 2006-2009: Pino Toscano +Litsents: GNU Üldine Avalik Litsents, versioon 2 <http://www.gnu.org/licenses/gpl-2.0.html> + + + diff --git a/po/et/okular.po b/po/et/okular.po new file mode 100644 index 0000000..9e0e1ce --- /dev/null +++ b/po/et/okular.po @@ -0,0 +1,7132 @@ +# translation of okular.po to Estonian +# Copyright (C) 2003, 2005 Free Software Foundation, Inc. +# +# Marek Laane , 2003-2009. +# Peeter Russak , 2005. +# Marek Laane , 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2019, 2020. +# Mihkel Tõnnov , 2020. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-10-15 14:19+0200\n" +"Last-Translator: Mihkel Tõnnov \n" +"Language-Team: Estonian <>\n" +"Language: et\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 20.08.2\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Marek Laane" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "qiilaq69@gmail.com" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Universaalne dokumentide näitaja Okular" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"(C) 2002: Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005: Enrico Ros\n" +"(C) 2005: Piotr Szymanski\n" +"(C) 2004-2017: Albert Astals Cid\n" +"(C) 2006-2009: Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "Endine hooldaja" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, fuzzy, kde-format +#| msgid "Lots of framework work, ODT and FictionBook backends" +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "Palju tööd raamistiku kallal, ODT ja FictionBooki taustaprogrammid" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "Arendaja" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymanski" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "Lõi KPDF-i koodi põhjal Okulari" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "Enrico Ros" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "KPDF-i arendaja" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "Eugene Trounev" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "Annotatsioonide kunstiline külg" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "Jiri Baum - NICTA" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "Tabelivaliku tööriist" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "Fabio D'Urso" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "Annoteerimise täiustamine" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "Liigu leheküljele %1" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "Ava väline fail" + +#: core/action.cpp:197 +#, fuzzy, kde-format +#| msgid "Execute '%1'..." +msgid "Execute '%1'…" +msgstr "Käivita '%1'..." + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "Esimene lehekülg" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "Eelmine lehekülg" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "Järgmine lehekülg" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "Viimane lehekülg" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "Tagasi" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "Edasi" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Välju" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "Käivita esitlus" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "Lõpeta esitlus" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go To Page…" +msgstr "Liikumine leheküljele" + +#: core/action.cpp:365 +#, fuzzy, kde-format +#| msgid "Play sound..." +msgid "Play sound…" +msgstr "Esita heli..." + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "JavaScripti skript" + +#: core/action.cpp:483 +#, fuzzy, kde-format +#| msgid "Play movie" +msgid "Play movie…" +msgstr "Esita film" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "Esita film" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "Peata film" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "Paus filmis" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "Jätka filmi näitamist" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "Taustaprogrammi valik" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
%1 (%2).

Please select which one to use:
" +msgstr "" +"Leiti rohkem kui üks MIME tüübile sobiv taustaprogramm:
%1 " +"(%2).

Palun vali, millist kasutada:
" + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "Enamik lehekülgi on %1" + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "Püstpaigutusega %1" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "Rõhtpaigutusega %1" + +#: core/document.cpp:246 +#, fuzzy, kde-format +#| msgctxt "%1 is width, %2 is height, %3 is paper size name" +#| msgid "%1 x %2 in (%3)" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 x %2 tolli (%3)" + +#: core/document.cpp:248 +#, fuzzy, kde-format +#| msgctxt "%1 is width, %2 is height, %3 is paper size name" +#| msgid "%1 x %2 mm (%3)" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 x %2 mm (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "Otsingu jätkamine algusest" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "Otsingu jätkamine lõpust" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "Pluginat töödeldud dokumenti käsitlemiseks ei leitud." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "Eemalda annotatsioonid" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"Dokument üritab käivitada välist rakendust, kuid sinu turvalisuse huvides ei " +"luba Okular seda teha." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "Ei leitud rakendust, millega avada faili MIME tüübiga %1." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "Ajutise faili avamine nurjus" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "Trükkimiseks teisendamine nurjus" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "Trükkimisprotsessi tabas krahh" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "Trükkimisprotsessi käivitamine nurjus" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "Salvestamine faili nurjus" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "Printer oli vales olekus" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "Trükkimiseks ei leitud faili" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "Polnud ühtegi faili trükkida" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"Sobivat binaarfaili trükkimiseks ei leitud. Kontrolli, kas CUPS-i lpr " +"binaarfail on ikka saadaval" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "Lehekülje trükisuurus on vigane" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "\"%1\" avamine nurjus. Faili ei ole olemas." + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Pealkiri" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Teema" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Kirjeldus" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "Autor" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Looja" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Generaator" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "Autoriõigus" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "Lehekülgi" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Loodud" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Muudetud" + +#: core/document.cpp:6032 +#, fuzzy, kde-format +#| msgid "Mime Type" +msgid "MIME Type" +msgstr "MIME tüüp" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "Kategooria" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Võtmesõnad" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "Faili asukoht" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "Faili suurus" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "Lehekülje suurus" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "Lisa annotatsioon" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "Eemalda annotatsioon" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "Muuda annotatsiooni omadusi" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "Tõlgi annotatsioon" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "Kohanda annotatsiooni" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "Muuda teksti" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "Muuda annotatsiooni sisu" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "Muuda vormi sisu" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "Muuda loendivormi valikuid" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "Muuda liitvormi valikut" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "Muuda vorminupu olekut" + +#: core/generator.cpp:790 +#, fuzzy, kde-format +#| msgid "Plain &Text..." +msgid "Plain &Text…" +msgstr "Liht&tekst..." + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "OpenDocument-tekstidokument" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "Trükkimisvalikud" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "Sobitamine trükitava alaga" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "Sobitamine kogu lehele" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "Skaleerimisrežiim:" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "Rohkem ei näidata" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "Pole teada" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" + +#: core/signatureutils.cpp:498 +#, fuzzy, kde-kuit-format +#| msgctxt "@info" +#| msgid "Could not load the file %1" +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "Faili %1 laadimine nurjus" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "" + +#: core/signatureutils.cpp:504 +#, fuzzy, kde-kuit-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" +"Faili salvestamine asukohta \"%1\" nurjus. Proovi salvestada mõnda teise " +"asukohta." + +#: core/signatureutils.cpp:506 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown signing error" +msgstr "Tundmatu fail" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Allikas: %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "&Vaikimisi font:" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "Versioon" + +#: gui/certificatemodel.cpp:41 +#, kde-format +msgid "Serial Number" +msgstr "Seerianumber" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "Väljaandja" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "Välja antud" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "Aegub" + +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Allkirjastaja" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "Avalik võti" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "Võtme kasutus" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "V%1" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "%1 (%2-bitine)" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "Omadus" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "Väärtus" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "Hüpikmärkus" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "Kirjutusmasin" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "Reasisene märkus" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +#| msgid "Polygon with Comment" +msgid "Arrow with Comment" +msgstr "Murdjoon kommentaariga" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, fuzzy, kde-format +#| msgctxt "@action:intoolbar Annotation tool" +#| msgid "Arrow" +msgid "Arrow" +msgstr "Nool" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "Sirgjoon kommentaariga" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "Sirgjoon" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "Murdjoon kommentaariga" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "Murdjoon" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgid "Stamp with Comment" +msgid "Rectangle with Comment" +msgstr "Tempel kommentaariga" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "Ristkülik" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgid "Underline with Comment" +msgid "Ellipse with Comment" +msgstr "Teksti allajoonimine kommentaariga" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "Ellips" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "Esiletõstmine kommentaariga" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "Esiletõst" + +#: gui/guiutils.cpp:87 +#, kde-format +msgid "Squiggle with Comment" +msgstr "Teksti allajoonimine lainelise joonega ja kommentaariga" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "Laineline joon" + +#: gui/guiutils.cpp:91 +#, kde-format +msgid "Underline with Comment" +msgstr "Teksti allajoonimine kommentaariga" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "Allajoonimine" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out with Comment" +msgstr "Teksti läbikriipsutamine kommentaariga" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "Läbikriipsutus" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "Tempel kommentaariga" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "Tempel" + +#: gui/guiutils.cpp:106 +#, kde-format +msgid "Freehand Line with Comment" +msgstr "Vabakäejoon kommentaariga" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "Vabakäejoon" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "Kursor" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "Kaasatud fail" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "Heli" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "Video" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Ekraan" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "Vidin" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "Multimeedia" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation" +msgstr "Annotatsioon" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "Tundmatu" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Autor: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "Kuhu salvestada %1?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "\"%1\" avamine kirjutamiseks nurjus. Faili ei salvestatud." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "Allkiri on krüptograafiliselt kehtiv." + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "Allkiri ei ole krüptograafiliselt kehtiv." + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "Esines räsi kokkusobimatus." + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "Allkirja CMS/PKCS7 struktuur on moondunud" + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "Nõutud allkirja dokumendis ei leidu." + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "Allkirja ei saa kontrollida." + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "Sertifikaat on usaldusväärne." + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "Sertifikaadi väljaandja ei ole usaldusväärne." + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "Sertifikaadi väljaandja on tundmatu." + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "Sertifikaat on tühistatud." + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "Sertifikaat on aegunud." + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "Sertifikaati ei ole veel kontrollitud." + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "Tundmatu probleem sertifikaadiga või rikutud andmed." + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "MD2" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "MD5" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "SHA1" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "SHA256" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "SHA384" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "SHA512" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "SHA224" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "Tundmatu algoritm" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "RSA" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "DSA" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "EC" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "Tundmatu tüüp" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "Digitaalne allkiri" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "Salgamise vääramine" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "Võtmete krüptimine" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "Võtmete lahtikrüptimine" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "Võtme leping" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "Sertifikaadi allkirjastamine" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "CRL-i allkirjastamine" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "Ainult krüptimine" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "Kasutus pole määratud" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr ", " + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "Dokumenti ei ole pärast allkirjastamist muudetud." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" +"Dokumendi versiooni, mida see allkiri hõlmab, ei ole muudetud;\n" +"kuid dokumendis on tehtud hiljem muudatusi." + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" +"Dokumenti on muudetud viisil, mida eelmine allkirjastaja ei ole lubanud." + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "Dokumendi terviklikkuse kontrolli ei saanud lõpetada." + +#: gui/signatureguiutils.cpp:208 +#, fuzzy, kde-format +#| msgid "This document is digitally signed." +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "See dokument on digitaalselt allkirjastatud." + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "See dokument on digitaalselt allkirjastatud." + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "" +"See dokument on digitaalselt allkirjastatud, aga seda on pärast viimast " +"allkirjastamist muudetud." + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" +"See dokument on digitaalselt allkirjastatud, aga mõnda allkirja polnud " +"võimalik valideerida." + +#: gui/signaturemodel.cpp:141 +#, fuzzy, kde-format +#| msgid "Signature Validity:" +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "Allkirja kehtivus:" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "Väli: %1 leheküljel %2" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "Vers. %1: Allkirjastanud %2" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "Allkirjastamisaeg: %1" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "Põhjus: %1" + +#: gui/signaturemodel.cpp:177 +#, fuzzy, kde-format +#| msgid "Location:" +msgid "Location: %1" +msgstr "Asukoht:" + +#: gui/signaturemodel.cpp:185 +#, fuzzy, kde-format +#| msgid "Signatures" +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "Allkirjad" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "" + +#: gui/signaturemodel.cpp:193 +#, fuzzy, kde-format +#| msgctxt "Unknown author" +#| msgid "Unknown" +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "Tundmatu" + +#: gui/signaturemodel.cpp:195 +#, fuzzy, kde-format +#| msgid "Signature Validity:" +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "Allkirja kehtivus:" + +#: gui/signaturemodel.cpp:201 +#, fuzzy, kde-format +#| msgid "Signature Validity:" +msgid "Signature Type: %1" +msgstr "Allkirja kehtivus:" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "Punane" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "Oranž" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "Kollane" + +#: part/annotationactionhandler.cpp:151 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "Roheline" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "Tsüaan" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "Sinine" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "Magenta" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "Valge" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "Hall" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "Must" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "Jämedus %1" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1%" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "Annotatsiooni joone jämedus (annotatsiooni pole valitud)" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "Annotatsiooni värv (annotatsiooni pole valitud)" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "Annotatsiooni täitevärv (annotatsiooni pole valitud)" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "Annotatsiooni läbipaistmatus (annotatsiooni pole valitud)" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "Annotatsiooni font (annotatsiooni pole valitud)" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" +"Lisa valitud annotatsioon eelmääratud annotatsioonitööriistade menüüsse " +"(annotatsiooni pole valitud)" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" +"Kujundi proportsioonide piiramine 1 : 1 suhtega või joone suuna piiramine " +"15° sammudega (annotatsiooni pole valitud)" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" +"Valitud annotatsioonitööriistade täpsemad seadistused (annotatsiooni pole " +"valitud)" + +#: part/annotationactionhandler.cpp:308 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Annotatsiooni joone jämedus" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "Annotatsiooni joone jämedus (pole valitud annotatsioonil kasutatav)" + +#: part/annotationactionhandler.cpp:314 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Annotatsiooni teksti värv" + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "Annotatsiooni äärise värv" + +#: part/annotationactionhandler.cpp:318 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Annotatsiooni värv" + +#: part/annotationactionhandler.cpp:322 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Annotatsiooni täitevärv" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "Annotatsiooni täitevärv (pole valitud annotatsioonil kasutatav)" + +#: part/annotationactionhandler.cpp:328 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "Annotatsiooni font" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "Annotatsiooni font (pole valitud annotatsioonil kasutatav)" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "Joone suuna piiramine 15° sammudega" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "Kujundi proportsioonide piiramine 1 : 1 suhtega" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" +"Kujundi proportsioonide piiramine 1 : 1 suhtega või joone suuna piiramine " +"15° sammudega (pole valitud annotatsioonil kasutatav)" + +#: part/annotationactionhandler.cpp:341 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Annotatsiooni läbipaistmatus" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "" +"Lisa praegune annotatsioon eelmääratud annotatsioonitööriistade menüüsse" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "Valitud annotatsioonitööriista täpsemad seadistused" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "Värv" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "Täitevärv" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "Läbipaistev" + +#: part/annotationactionhandler.cpp:445 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "Custom Color..." +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "Kohandatud värv ..." + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "Värvi valimine" + +#: part/annotationactionhandler.cpp:552 +#, fuzzy, kde-format +#| msgid "Annotations" +msgid "&Annotations" +msgstr "Annotatsioonid" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "Peida" + +#: part/annotationactionhandler.cpp:554 +#, fuzzy, kde-format +#| msgid "Create annotation tool" +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Annoteerimistööriista loomine" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "Esiletõstmine" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "Allajoonimine" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "Laineline joon" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "Läbikriipsutamine" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Kirjutusmasin" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "Reasisene märkus" + +#: part/annotationactionhandler.cpp:564 +#, fuzzy, kde-format +#| msgid "Pop-up Note" +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "Hüpikmärkus" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "Vabakäejoon" + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "Sirgjoon" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "Nool" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "Ristkülik" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "Ellips" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "Murdjoon" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "Geomeetriakujundid" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "Tempel" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Eelmääratud annotatsioonitööriistad" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "Vali eelmääratud annotatsioonitööriist" + +#: part/annotationactionhandler.cpp:651 +#, fuzzy, kde-format +#| msgctxt "@action:intoolbar Show list of quick annotation tools" +#| msgid "Quick Annotations" +msgid "Quick Annotation Bar" +msgstr "Eelmääratud annotatsioonitööriistad" + +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "Lisa eelmääratud annotatsioonitööriistade hulka" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "Hoia aktiivne" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "Annoteerimistööriist hoitakse pärast kasutamist aktiivsena" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "Annotatsioonitööriistade proportsioonide ja nurkade piiramine" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "Font" + +#: part/annotationactionhandler.cpp:681 +#, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Annotatsiooni seadistused" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "Joone jämedus" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "Läbipaistmatus" + +#: part/annotationactionhandler.cpp:696 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1%" + +#: part/annotationmodel.cpp:320 +#, fuzzy, kde-format +#| msgid "Page %1" +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "Lehekülg %1" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "Lehekülg %1" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "Annotatsioon" +msgstr[1] "%1 annotatsiooni" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "&Ava hüpikmärkus" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Eemalda järjehoidja" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Lisa järjehoidja" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Text to Clipboard" +msgstr "Kopeeri lõikepuhvrisse" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "DRM keelab kopeerimise" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "&Kustuta" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "&Omadused" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, fuzzy, kde-format +#| msgctxt "%1 is the name of the file to save" +#| msgid "&Save '%1'..." +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "Salvesta '%1'..." + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "&Välimus" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "Ül&dine" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&Autor" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "Loodud:" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "Muudetud:" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "Hüpikmärkuse omadused" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "Kirjutusmasina omadused" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "Reasisese märkuse omadused" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "Sirgjoone omadused" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "Murdjoone omadused" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "Geomeetriaomadused" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "Tekstimärgendi omadused" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "Templi omadused" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "Vabakäejoone omadused" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "Kursori omadused" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "Kaasatud faili omadused" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "Heli omadused" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "Video omadused" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "Annotatsiooni omadused" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "Kohandatud templi sümboli valimine failist" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "Kohandatud templi sümboli valimine" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" +"*.ico *.png *.xpm *.svg *.svgz | Ikoonifailid (*.ico *.png *.xpm *.svg *." +"svgz)" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "Faili %1 laadimine nurjus" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "Vigane fail" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "Vä&rv:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%1%" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "Lä&bipaistmatus:" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "Ikoon:" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "Kommentaar" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "Abitekst" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "Lisand" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "Võti" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "Uus lõik" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "Märkus" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "Lõik" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Font:" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "Teksti vä&rv:" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "&Joondus:" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "Vasakule" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "Keskele" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "Paremale" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "Piir&de laius:" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "Heakskiit" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "Nagu on" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "Konfidentsiaalne" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "Osakonnasisene" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "Mustand" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "Eksperimentaalne" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "Aegunud" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "Lõplik" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "Ootab kommentaare" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "Avaldamiseks" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "Heakskiiduta" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "Pole avaldamiseks" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "Müüdud" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "Ülisalajane" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "Järjehoidja" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "Info" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "Templi sümbol:" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "&Laius:" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "Joone algus:" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "Joone lõpp:" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "Ruut" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "Ring" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "Romb" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "Avatud nool" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "Suletud nool" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "Puudub" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "Tala" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "Paremale avatud nool" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "Paremale suletud nool" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "Kaldkriips" + +#: part/annotationwidgets.cpp:531 +#, kde-format +msgid "Leader line length:" +msgstr "Juhtjoone pikkus:" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "Juhtjoone laiendite pikkus:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "Lubatud" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "Kujundi täide:" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Tüüp:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "Läbikriipsutamine" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "Kaasatud faili sümbol:" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "Diagramm" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "Knopka" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "Kirjaklamber" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "Lipik" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "Fail" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "-" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "Kirjeldus puudub." + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "Nimi:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "Kirjeldus:" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "Kursori sümbol:" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "Puudub" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "Sulge see märkus" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "Valikud" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"See annotatsioon võib sisaldada LaTeXi koodi.\n" +"Klõpsa siia selle renderdamiseks." + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "LaTeXi täitmisfaili ei leitud." + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "LaTeXi renderdamine nurjus" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "Dvipng täitmisfaili ei leitud." + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "Käsu 'latex' täitmisel tekkis probleem." + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "Käsu 'dvipng' täitmisel tekkis probleem." + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"Üks järjehoidja" +msgstr[1] "" +"%1\n" +"\n" +"%2 järjehoidjat" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Järjehoidjad" + +#: part/bookmarklist.cpp:136 +#, fuzzy, kde-format +#| msgid "End of the document" +msgid "Show for all documents" +msgstr "Dokumendi lõpp" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, fuzzy, kde-format +#| msgid "S&earch:" +msgid "Search…" +msgstr "&Otsing:" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, fuzzy, kde-format +#| msgid "Expand all" +msgid "Expand All" +msgstr "Keri kõik lahti" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, fuzzy, kde-format +#| msgid "Collapse all" +msgid "Collapse All" +msgstr "Keri kõik kokku" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "Liigu sellele järjehoidjale" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "Nimeta järjehoidja ümber" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Ava dokument" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "Sertifikaadinäitaja" + +#: part/certificateviewer.cpp:50 +#, fuzzy, kde-format +#| msgid "Export..." +msgid "Export…" +msgstr "Ekspordi ..." + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "Üldine" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "Väljaandja" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "Üldnimi (CN)" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "E-post" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "Organisatsioon (O)" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "Välja antud" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "Kehtivus" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "Sõrmejäljed" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "SHA-1 sõrmejälg" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "SHA-256 sõrmejälg" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "Üksikasjad" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "Sertifikaadi andmed:" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "Kuhu see sertifikaat salvestada?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "Sertifikaadifail (*.cer)" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "Sertifikaati ei õnnestunud eksportida" + +#: part/colormodemenu.cpp:19 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "Värvirežiim:" + +#: part/colormodemenu.cpp:21 +#, fuzzy, kde-format +#| msgid "Change &colors" +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "Värvide &muutmine" + +#: part/colormodemenu.cpp:29 +#, fuzzy, kde-format +#| msgid "Normal Icons" +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "Tavalised ikoonid" + +#: part/colormodemenu.cpp:41 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "Värvid vahetatakse" + +#: part/colormodemenu.cpp:42 +#, fuzzy, kde-format +#| msgid "Change Paper Color" +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "Paberi värvi muutmine" + +#: part/colormodemenu.cpp:44 +#, fuzzy, kde-format +#| msgid "Change Dark & Light Colors" +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "Tumeda ja heleda värvi muutmine" + +#: part/colormodemenu.cpp:46 +#, fuzzy, kde-format +#| msgid "Convert to Black & White" +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "Teisendamine mustvalgeks" + +#: part/colormodemenu.cpp:49 +#, fuzzy, kde-format +#| msgid "Invert Lightness" +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "Heleduse inversioon" + +#: part/colormodemenu.cpp:52 +#, fuzzy, kde-format +#| msgid "Invert Luma (sRGB Linear)" +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "Luma (lineaarne sRGB) inversioon" + +#: part/colormodemenu.cpp:55 +#, fuzzy, kde-format +#| msgid "Invert Luma (Symmetric)" +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "Luma (sümmeetriline) inversioon" + +#: part/colormodemenu.cpp:58 +#, fuzzy, kde-format +#| msgid "Shift Hue Positive" +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "Positiivne tooninihe" + +#: part/colormodemenu.cpp:61 +#, fuzzy, kde-format +#| msgid "Shift Hue Negative" +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "Negatiivne tooninihe" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "Punane" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "Roheline" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "Sinine" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "Kollane" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "Must" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "Valge" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "Kollane esiletõstmine" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "Roheline esiletõstmine" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, fuzzy, kde-format +#| msgid "Insert" +msgid "Insert Text" +msgstr "Lisand" + +#: part/dlgaccessibility.cpp:38 +#, fuzzy, kde-format +#| msgid "Draw border around &Links" +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "&Viitade ümber joonistatakse piirded" + +#: part/dlgaccessibility.cpp:48 +#, fuzzy, kde-format +#| msgid "Change &colors" +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "Värvide &muutmine" + +#: part/dlgaccessibility.cpp:54 +#, fuzzy, kde-format +#| msgid "Warning: these options can badly affect drawing speed." +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "Hoiatus: need valikud võivad oluliselt mõjutada esitamise kiirust." + +#: part/dlgaccessibility.cpp:60 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "Värvid vahetatakse" + +#: part/dlgaccessibility.cpp:61 +#, fuzzy, kde-format +#| msgid "Change Paper Color" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "Paberi värvi muutmine" + +#: part/dlgaccessibility.cpp:62 +#, fuzzy, kde-format +#| msgid "Change Dark & Light Colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "Tumeda ja heleda värvi muutmine" + +#: part/dlgaccessibility.cpp:63 +#, fuzzy, kde-format +#| msgid "Convert to Black & White" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "Teisendamine mustvalgeks" + +#: part/dlgaccessibility.cpp:64 +#, fuzzy, kde-format +#| msgid "Invert Lightness" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "Heleduse inversioon" + +#: part/dlgaccessibility.cpp:65 +#, fuzzy, kde-format +#| msgid "Invert Luma (sRGB Linear)" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "Luma (lineaarne sRGB) inversioon" + +#: part/dlgaccessibility.cpp:66 +#, fuzzy, kde-format +#| msgid "Invert Luma (Symmetric)" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "Luma (sümmeetriline) inversioon" + +#: part/dlgaccessibility.cpp:67 +#, fuzzy, kde-format +#| msgid "Shift Hue Positive" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "Positiivne tooninihe" + +#: part/dlgaccessibility.cpp:68 +#, fuzzy, kde-format +#| msgid "Shift Hue Negative" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "Negatiivne tooninihe" + +#: part/dlgaccessibility.cpp:70 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "Värvirežiim:" + +#: part/dlgaccessibility.cpp:87 +#, fuzzy, kde-format +#| msgid "Paper color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Paberi värv:" + +#: part/dlgaccessibility.cpp:99 +#, fuzzy, kde-format +#| msgid "Dark color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Tume värv:" + +#: part/dlgaccessibility.cpp:104 +#, fuzzy, kde-format +#| msgid "Light color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "Hele värv:" + +#: part/dlgaccessibility.cpp:119 +#, fuzzy, kde-format +#| msgid "Threshold:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "Lävi:" + +#: part/dlgaccessibility.cpp:127 +#, fuzzy, kde-format +#| msgid "Contrast:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Kontrast:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "" + +#: part/dlgaccessibility.cpp:165 +#, fuzzy, kde-format +#| msgid "Text to search for" +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "Otsitav tekst" + +#: part/dlgannotations.cpp:25 +#, fuzzy, kde-format +#| msgid "Annotation Toolbar" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Annotatsioonide tööriistariba" + +#: part/dlgannotations.cpp:26 +#, fuzzy, kde-format +#| msgid "Annotation Toolbar" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Annotatsioonide tööriistariba" + +#: part/dlgannotations.cpp:28 +#, fuzzy, kde-format +#| msgid "Annotation Toolbar" +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Annotatsioonide tööriistariba" + +#: part/dlgannotations.cpp:34 +#, fuzzy, kde-format +#| msgid "&Author:" +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "&Autor" + +#: part/dlgannotations.cpp:38 +#, fuzzy, kde-format +#| msgid "" +#| "Note: the information here is used only for annotations. The " +#| "information is saved in annotated documents, and so will be transmitted " +#| "together with the document." +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"Märkus: seda kasutatakse ainult annotatsioonide puhul. Teave " +"salvestatakse annoteeritud dokumenti ja nii liigub see edasi koos " +"dokumendiga." + +#: part/dlgannotations.cpp:48 +#, fuzzy, kde-format +#| msgid "Quick annotation tools" +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

Quick Annotation Tools

" +msgstr "Eelmääratud annotatsioonitööriistad" + +#: part/dlgeditor.cpp:28 +#, fuzzy, kde-format +#| msgctxt "@info:whatsthis" +#| msgid "" +#| "Choose the editor you want to launch when Okular wants to open a source " +#| "file." +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "Vali redaktor, mille soovid käivitada, kui Okular avab lähtefaili." + +#: part/dlgeditor.cpp:29 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Custom Text Editor" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "Kohandatud tekstiredaktor" + +#: part/dlgeditor.cpp:30 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Kate" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Kile" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "SciTE" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Emacs client" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Emacsi klient" + +#: part/dlgeditor.cpp:34 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Lyx client" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "Lyxi klient" + +#: part/dlgeditor.cpp:35 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "TeXstudio" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "TeXstudio" + +#: part/dlgeditor.cpp:36 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "TeXiFy IDEA" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "TeXiFy IDEA" + +#: part/dlgeditor.cpp:37 +#, fuzzy, kde-format +#| msgid "Editor:" +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "Redaktor:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
\n" +"You can also put few placeholders:\n" +"
    \n" +"
  • %f - the file name
  • \n" +"
  • %l - the line of the file to be reached
  • \n" +"
  • %c - the column of the file to be reached
  • \n" +"
\n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"Siin saab määrata käsu, millega käivitatakse kohandatud tekstiredaktor." +"
\n" +"Kasutada saab ka mõningaid kohatäitjaid:\n" +"
    \n" +"
  • %f - failinimi
  • \n" +"
  • %l - avatav rida failis
  • \n" +"
  • %c - avatav veerg failis
  • \n" +"
\n" +"Kui %f on määramata, lisatakse määratud käsule failinimi." + +#: part/dlgeditor.cpp:63 +#, fuzzy, kde-format +#| msgid "Command:" +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "Käsk:" + +#: part/dlggeneral.cpp:35 +#, fuzzy, kde-format +#| msgid "Use smooth scrolling" +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "Sujuva kerimise kasutamine" + +#: part/dlggeneral.cpp:37 +#, fuzzy, kde-format +#| msgid "Appearance" +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "Välimus" + +#: part/dlggeneral.cpp:41 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "Kerimis&ribade näitamine" + +#: part/dlggeneral.cpp:48 +#, fuzzy, kde-format +#| msgid "Link the &thumbnails with the page" +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "Pisipil&tide linkimine leheküljega" + +#: part/dlggeneral.cpp:55 +#, fuzzy, kde-format +#| msgid "Show &hints and info messages" +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "Vi&hjete ja infoteadete näitamine" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "" + +#: part/dlggeneral.cpp:68 +#, fuzzy, kde-format +#| msgid "Display document title in titlebar if available" +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "Võimaluse korral dokumendi pealkirja näitamine tiitliribal" + +#: part/dlggeneral.cpp:74 +#, fuzzy, kde-format +#| msgid "Display file name only" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "Ainult failinime näitamine" + +#: part/dlggeneral.cpp:75 +#, fuzzy, kde-format +#| msgid "Display full file path" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "Faili täieliku asukoha näitamine" + +#: part/dlggeneral.cpp:77 +#, fuzzy, kde-format +#| msgid "When not displaying document title:" +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "Kui ei näidata dokumendi pealkirja:" + +#: part/dlggeneral.cpp:92 +#, fuzzy, kde-format +#| msgid "Use custom background color" +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "Kohandatud taustavärvi kasutamine" + +#: part/dlggeneral.cpp:114 +#, fuzzy, kde-format +#| msgid "Program Features" +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "Programmi omadused" + +#: part/dlggeneral.cpp:121 +#, fuzzy, kde-format +#| msgid "Open new files in &tabs" +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "&Uute failide avamine kaartidel" + +#: part/dlggeneral.cpp:126 +#, fuzzy, kde-format +#| msgid "Switch to existing tab if file is already open" +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "Olemasolevale kaardile lülitumine, kui fail on juba avatud" + +#: part/dlggeneral.cpp:139 +#, fuzzy, kde-format +#| msgid "&Obey DRM limitations" +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "DRM-i &piirangute arvestamine" + +#: part/dlggeneral.cpp:148 +#, fuzzy, kde-format +#| msgid "&Reload document on file change" +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "&Dokument laaditakse faili muutmisel uuesti" + +#: part/dlggeneral.cpp:155 +#, fuzzy, kde-format +#| msgid "Show backend selection dialog" +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "Taustaprogrammi valimise dialoogi näitamine" + +#: part/dlggeneral.cpp:162 +#, fuzzy, kde-format +#| msgid "Right to left reading direction" +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "Paremalt vasakule lugemise suund" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, fuzzy, kde-format +#| msgid "Overview &columns:" +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "Üle&vaateveerud:" + +#: part/dlggeneral.cpp:220 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%1%" + +#: part/dlggeneral.cpp:221 +#, fuzzy, kde-format +#| msgid "" +#| "Defines how much of the current viewing area will still be visible when " +#| "pressing the Page Up/Down keys." +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" +"Määrab, kui palju aktiivsest vaatealast jääb näha Page Up/Down klahvi " +"kasutamisel." + +#: part/dlggeneral.cpp:223 +#, fuzzy, kde-format +#| msgid "&Page Up/Down overlap:" +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "&Page Up/Down jätab näha:" + +#: part/dlggeneral.cpp:228 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%1%" + +#: part/dlggeneral.cpp:232 +#, fuzzy, kde-format +#| msgid "100%" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "100%" + +#: part/dlggeneral.cpp:233 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "Mahutatakse laiusele" + +#: part/dlggeneral.cpp:234 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "Mahutatakse leheküljele" + +#: part/dlggeneral.cpp:235 +#, fuzzy, kde-format +#| msgid "Auto Fit" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "Automaatne mahutamine" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "" + +#: part/dlggeneral.cpp:237 +#, fuzzy, kde-format +#| msgid "" +#| "Defines the default zoom mode for files which were never opened before.\n" +#| "For files which were opened before the previous zoom is applied." +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" +"Määrab vaikesuurenduse varem avamata failidele.\n" +"Varem avatud failide korral kasutatakse viimast suurendustaset." + +#: part/dlggeneral.cpp:241 +#, fuzzy, kde-format +#| msgid "&Default Zoom:" +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "Vaikimisi suuren&dus:" + +#: part/dlgperformance.cpp:26 +#, fuzzy, kde-format +#| msgid "Enable &transparency effects" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "Lä&bipaistvusefektide lubamine" + +#: part/dlgperformance.cpp:28 +#, fuzzy, kde-format +#| msgid "CPU Usage" +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "Protsessori koormus" + +#: part/dlgperformance.cpp:35 +#, fuzzy, kde-format +#| msgid "&Low" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "&Madal" + +#: part/dlgperformance.cpp:36 +#, fuzzy, kde-format +#| msgid "Nor&mal (default)" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "&Normaalne (vaikimisi)" + +#: part/dlgperformance.cpp:37 +#, fuzzy, kde-format +#| msgid "Aggr&essive" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "&Agressiivne" + +#: part/dlgperformance.cpp:38 +#, fuzzy, kde-format +#| msgid "G&reedy" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "A&hne" + +#: part/dlgperformance.cpp:40 +#, fuzzy, kde-format +#| msgid "Memory Usage" +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "Mälukasutus" + +#: part/dlgperformance.cpp:54 +#, fuzzy, kde-format +#| msgid "Enable Text Antialias" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "Teksti antialiase lubamine" + +#: part/dlgperformance.cpp:56 +#, fuzzy, kde-format +#| msgid "Rendering" +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "Renderdamine" + +#: part/dlgperformance.cpp:59 +#, fuzzy, kde-format +#| msgid "Enable Graphics Antialias" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "Graafika antialiase lubamine" + +#: part/dlgperformance.cpp:64 +#, fuzzy, kde-format +#| msgid "Enable Text Hinting" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "Teksti varjundamise lubamine" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"Hoiab mälukasutuse võimalikult väiksena. Midagi ei puhverdata. (Vähese " +"mäluga masinatele.)" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"Asjalik kompromiss mälukasutuse ja kiiruse vahel. Järgmine lehekülg " +"laaditakse juba eelnevalt, otsimine on kiirem. (Tüüpiliselt 2 GB mäluga " +"masinatele.)" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"Kõik puhverdatakse mälus. Järgmised leheküljed laaditakse juba eelnevalt. " +"Otsingud on kiiremad. (Enam kui 4 GB mäluga masinatele.)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" +"Kõige laadimine ja hoidmine mälus. Kõigi lehekülgede eellaadimine. (Kasutab " +"maksimaalselt 50% sinu kogumälust või vabast mälust vastavalt sellele, kumb " +"on suurem.)" + +#: part/dlgpresentation.cpp:38 +#, fuzzy, kde-format +#| msgctxt "Advance every %1 seconds" +#| msgid " second" +#| msgid_plural " seconds" +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] " sekund" +msgstr[1] " sekundit" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "" + +#: part/dlgpresentation.cpp:53 +#, fuzzy, kde-format +#| msgid "Loop after last page" +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "Viimase lehekülje järel alustatakse uuesti algusest" + +#: part/dlgpresentation.cpp:59 +#, fuzzy, kde-format +#| msgid "Tap left/right side to go back/forward" +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "Koputus vasakule/paremale servale liigub tagasi/edasi" + +#: part/dlgpresentation.cpp:60 +#, fuzzy, kde-format +#| msgid "Tap anywhere to go forward" +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "Koputus kuhu iganes liigub edasi" + +#: part/dlgpresentation.cpp:61 +#, fuzzy, kde-format +#| msgid "Disabled" +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "Keelatud" + +#: part/dlgpresentation.cpp:63 +#, fuzzy, kde-format +#| msgid "Touch navigation:" +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Puutega liikumine:" + +#: part/dlgpresentation.cpp:72 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "Taustavärv:" + +#: part/dlgpresentation.cpp:76 +#, fuzzy, kde-format +#| msgid "Hidden After Delay" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "Peidetakse viivituse järel" + +#: part/dlgpresentation.cpp:77 +#, fuzzy, kde-format +#| msgid "Always Visible" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "Alati nähtav" + +#: part/dlgpresentation.cpp:78 +#, fuzzy, kde-format +#| msgid "Always Hidden" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "Alati peidetud" + +#: part/dlgpresentation.cpp:80 +#, fuzzy, kde-format +#| msgid "Mouse cursor:" +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "Hiirekursor:" + +#: part/dlgpresentation.cpp:84 +#, fuzzy, kde-format +#| msgid "Show &progress indicator" +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "&Edenemisnäidiku näitamine" + +#: part/dlgpresentation.cpp:90 +#, fuzzy, kde-format +#| msgid "Show s&ummary page" +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "&Kokkuvõtte näitamine" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "" + +#: part/dlgpresentation.cpp:101 +#, fuzzy, kde-format +#| msgid "Replace" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "Asendamine" + +#: part/dlgpresentation.cpp:102 +#, fuzzy, kde-format +#| msgid "Random Transition" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "Juhuslik üleminek" + +#: part/dlgpresentation.cpp:103 +#, fuzzy, kde-format +#| msgid "Blinds Vertical" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "Segunemine püstiselt" + +#: part/dlgpresentation.cpp:104 +#, fuzzy, kde-format +#| msgid "Blinds Horizontal" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "Segunemine rõhtsalt" + +#: part/dlgpresentation.cpp:105 +#, fuzzy, kde-format +#| msgid "Box In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "Kastina sissepoole" + +#: part/dlgpresentation.cpp:106 +#, fuzzy, kde-format +#| msgid "Box Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "Kastina väljapoole" + +#: part/dlgpresentation.cpp:107 +#, fuzzy, kde-format +#| msgid "Dissolve" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "Hägustumine" + +#: part/dlgpresentation.cpp:108 +#, fuzzy, kde-format +#| msgid "Fade" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "Hääbumine" + +#: part/dlgpresentation.cpp:109 +#, fuzzy, kde-format +#| msgid "Glitter Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "Säbrutus alla" + +#: part/dlgpresentation.cpp:110 +#, fuzzy, kde-format +#| msgid "Glitter Right" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "Säbrutus paremale" + +#: part/dlgpresentation.cpp:111 +#, fuzzy, kde-format +#| msgid "Glitter Right-Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "Säbrutus alla ja paremale" + +#: part/dlgpresentation.cpp:112 +#, fuzzy, kde-format +#| msgid "Split Horizontal In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "Jagamine rõhtsalt sissepoole" + +#: part/dlgpresentation.cpp:113 +#, fuzzy, kde-format +#| msgid "Split Horizontal Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "Jagamine rõhtsalt väljapoole" + +#: part/dlgpresentation.cpp:114 +#, fuzzy, kde-format +#| msgid "Split Vertical In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "Jagamine püstiselt sissepoole" + +#: part/dlgpresentation.cpp:115 +#, fuzzy, kde-format +#| msgid "Split Vertical Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "Jagamine püstiselt väljapoole" + +#: part/dlgpresentation.cpp:116 +#, fuzzy, kde-format +#| msgid "Wipe Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "Pühkimine alla" + +#: part/dlgpresentation.cpp:117 +#, fuzzy, kde-format +#| msgid "Wipe Right" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "Pühkimine paremale" + +#: part/dlgpresentation.cpp:118 +#, fuzzy, kde-format +#| msgid "Wipe Left" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "Pühkimine vasakule" + +#: part/dlgpresentation.cpp:119 +#, fuzzy, kde-format +#| msgid "Wipe Up" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "Pühkimine üles" + +#: part/dlgpresentation.cpp:121 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Vaikeüleminek:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "" + +#: part/dlgpresentation.cpp:137 +#, fuzzy, kde-format +#| msgid "Drawing Tool: %1" +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

Drawing Tools

" +msgstr "Joonistamistööriist: %1" + +#: part/dlgpresentation.cpp:171 +#, fuzzy, kde-format +#| msgctxt "@label:listbox The current screen, for the presentation mode" +#| msgid "Current Screen" +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Aktiivne ekraan" + +#: part/dlgpresentation.cpp:172 +#, fuzzy, kde-format +#| msgctxt "@label:listbox The default screen for the presentation mode" +#| msgid "Default Screen" +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Vaikimisi ekraan" + +#: part/dlgpresentation.cpp:178 +#, fuzzy, kde-format +#| msgctxt "@label:listbox %1 is the screen number (0, 1, ...)" +#| msgid "Screen %1" +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "Ekraan %1" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "Joonistamistööriist: %1" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "Kustutaja" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "&Nimi:" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "&Tüüp:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "Välimus" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "Tekstimärgend" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "Geomeetriakujund" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "Annoteerimistööriista loomine" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "Annoteerimistööriista muutmine" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "Värv:" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "&Pliiatsi laius:" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "" + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "Joonistamistööriista loomine" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "Joonistamistööriista muutmine" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "Tundmatu" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Põimitud failid" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "Näita" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "Nimi" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "Kirjeldus" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "Suurus" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "Loodud" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "Muudetud" + +#: part/embeddedfilesdialog.cpp:154 +#, fuzzy, kde-format +#| msgid "Save As" +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "Salvesta kui " + +#: part/embeddedfilesdialog.cpp:155 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "&Vaade" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "Trükkimise eelvaatluse komponendi laadimine nurjus" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "Trükkimise eelvaatlus" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "Sulge" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "Ots&ing:" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "Otsitav tekst" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Järgmine" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "Hüppamine järgmisele sobivusele" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Eelmine" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "Hüppamine eelmisele sobivusele" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "Otsingu käitumise muutmine" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "Tõstutundlik" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "Alates aktiivsest leheküljest" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "Otsimine kirjutamise ajal" + +#: part/formwidgets.cpp:870 +#, fuzzy, kde-format +#| msgid "All files (*)" +msgid "All Files (*)" +msgstr "Kõik failid (*)" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, fuzzy, kde-format +#| msgid "Sign CRL" +msgid "&Sign…" +msgstr "CRL-i allkirjastamine" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "Allkirja omadused" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "Otsimisvalikud" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "Tõstutundlik" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "Regulaaravaldis" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "Kihid" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "/" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "Suurendus" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "Suurendus 100%" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "Pöö&ra paremale" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "Paremale" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "Pööra vasaku&le" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "Vasakule" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "Algne orientatsioon" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "Vaate kär&pimine" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "Kär&bi veeriseid" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "Kärbi &valikule" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "Ma&hutatakse laiusele" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "Mah&utatakse leheküljele" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "&Automaatne mahutamine" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "So&bita aken leheküljega" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "&Vaaterežiim" + +#: part/pageview.cpp:594 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "Ük&s lehekülg" + +#: part/pageview.cpp:595 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "Kõr&vutised leheküljed" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "Kõrvutised leheküljed (esimene lehekül&g tsentreeritakse)" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "Ülevaa&de" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "&Pidev" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "Paremalt vasakule lugemise suund" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "Si&rvimine" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "S&uurendus" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "Ala&valik" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "&Tekstivalik" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "Ta&belivalik" + +#: part/pageview.cpp:676 +#, fuzzy, kde-format +#| msgctxt "Magnifier Tool" +#| msgid "Magnifier" +msgid "&Magnifier" +msgstr "Suurendaja" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "Valikutööriistad" + +#: part/pageview.cpp:711 +#, fuzzy, kde-format +#| msgid "Digital Signature" +msgid "Digitally &Sign…" +msgstr "Digitaalne allkiri" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "Loe kogu dokument ette" + +#: part/pageview.cpp:722 +#, fuzzy, kde-format +#| msgid "Speak Current Page" +msgid "Speak From Current Page" +msgstr "Loe aktiivne lehekülg ette" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "Loe aktiivne lehekülg ette" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "Lõpeta ettelugemine" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "Kõne pausile/pausilt ära" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "Keri üles" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Keri alla" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "Keri lehekülg üles" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "Keri lehekülg alla" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "Vormide näitamine" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] "Laaditi üheleheküljeline dokument." +msgstr[1] "Laaditi %1-leheküljeline dokument." + +#: part/pageview.cpp:2526 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Table Contents to Clipboard" +msgstr "Kopeeri lõikepuhvrisse" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "Tekst (1 märk)" +msgstr[1] "Tekst (%1 märki)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "Kopeeri lõikepuhvrisse" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "Loe tekst ette" + +#: part/pageview.cpp:2863 +#, fuzzy, kde-format +#| msgid "Image (%1 by %2 pixels)" +msgid "Image (%1 × %2 pixels)" +msgstr "Pilt (%1 x %2 pikslit)" + +#: part/pageview.cpp:2865 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save to File…" +msgstr "Salvesta faili..." + +#: part/pageview.cpp:2885 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] copied to clipboard." +msgid "Image [%1 × %2] copied to clipboard." +msgstr "Pilt [%1x%2] kopeeriti lõikepuhvrisse." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "Faili salvestamine" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "Pildid (*.png *.jpeg)" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "Faili ei salvestatud." + +#: part/pageview.cpp:2901 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] saved to %3 file." +msgid "Image [%1 × %2] saved to %3 file." +msgstr "Pilt [%1x%2] salvestati faili %3." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "Kopeeri tekst" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "Liigu leheküljele %1" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "Mahutatakse laiusele" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "Mahutatakse leheküljele" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "Automaatne mahutamine" + +#: part/pageview.cpp:4107 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1%" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "Otsi '%1', kasutades" + +#: part/pageview.cpp:4404 +#, fuzzy, kde-format +#| msgid "Configure Web Shortcuts..." +msgid "Configure Web Shortcuts…" +msgstr "Seadista veebikiirklahve..." + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "Ava see link" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "Esita see heli" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "Peata heli" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "Kopeeri lingi aadress" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "'%1' otsimine selles dokumendis" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Tere tulemast" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "Vali suurendusala. Paremklõpsuga saab vähendada." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "Klõpsa suurendatud vaate nägemiseks." + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "Tõmba hiirega ristkülik ala ümber, mida soovid kopeerida." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "Vali tekst" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" +"Tõmba hiirega ristkülik tabeli ümber ja klõpsa siis jagamiseks servade " +"juures; puhastamiseks vajuta Esc." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" + +#: part/pageview.cpp:5188 +#, fuzzy, kde-format +#| msgid "Certificate Data:" +msgid "No valid certificates" +msgstr "Sertifikaadi andmed:" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, fuzzy, kde-format +#| msgid "View Certificate..." +msgid "Open Certificate Manager" +msgstr "Vaata sertifikaati ..." + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
Launch Certificate Manager " +"to import or manage certificates
For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, fuzzy, kde-format +#| msgid "Certificate Data:" +msgid "No certificates found" +msgstr "Sertifikaadi andmed:" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "Tõmba ristkülik ala ümber, mida soovid nähtaval hoida" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "Uus tekstimärkus" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "Uue märkuse tekst:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "" + +#: part/pageviewannotator.cpp:492 +#, fuzzy, kde-format +#| msgid "Sign CRL" +msgctxt "@action:button" +msgid "Sign" +msgstr "CRL-i allkirjastamine" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgid "Author" +msgid "Author name" +msgstr "Autor" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgid "Insert a custom name for the annotation:" +msgid "Author name for the annotation:" +msgstr "Sisesta nimi, mida lisatavate annotatsioonide juures näidata:" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "Ellipsi joonistamine (vali lohistades ala)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "Teksti esiletõstmine" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "Vabakäejoone tõmbamine" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "Reasisene tekstiannotatsioon (vali lohistades ala)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "Hüpikmärkuse asetamine" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "Joonista murdjoon (selle sulgemiseks klõpsa esimesel punktil)" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "Ristküliku joonistamine" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "Teksti allajoonimine lainelise joonega" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "Aseta templi sümbol" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "Sirgjoone tõmbamine" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "Teksti läbikriipsutamine" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "Teksti allajoonimine" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "Kirjutusmasina annotatsioon (vali lohistades ala)" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "Esiletõstmine" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "Lemmikannotatsiooni lisamine" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Custom annotation name:" +msgstr "Kohandatud annotatsiooni nimi:" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&Fail" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "&Seadistused" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "&Abi" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "&Orientatsioon" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "&Järjehoidjad" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "Näitaja riba" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Pisipildid" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "Annotatsioonid" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" +"See dokument sisaldab annotatsioone või vormiandmeid, mis on seesmiselt " +"salvestatud Okulari varasema versiooniga. Seesmine salvestamine ei ole " +"enam toetatud.
Palun salvesta faili nende liigutamiseks, kui soovid " +"jätkata dokumendi redigeerimist." + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"Sel dokumendil on põimitud faile. Klõpsa " +"nende vaatamiseks siia või vali menüüst Fail -> Põimitud failid." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "Eelmine" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "Liikumine eelmisele leheküljele" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "Liigub dokumendi eelmisele leheküljele" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "Järgmine" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "Liikumine järgmisele leheküljele" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "Liigub dokumendi järgmisele leheküljele" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "Dokumendi algus" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "Liigub dokumendi algusse" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "Dokumendi lõpp" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "Liigub dokumendi lõppu" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "Aktiivse järjehoidja nime muutmine" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "Eelmine järjehoidja" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "Liikumine eelmisele järjehoidjale" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "Järgmine järjehoidja" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "Liikumine järgmisele järjehoidjale" + +#: part/part.cpp:748 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgid "Configure Okular…" +msgstr "Okulari seadistamine..." + +#: part/part.cpp:751 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Configure Viewer…" +msgstr "Näitaja seadistamine" + +#: part/part.cpp:757 +#, fuzzy, kde-format +#| msgid "Configure Viewer Backends" +msgid "Configure Viewer Backends…" +msgstr "Näitaja taustaprogrammide seadistamine" + +#: part/part.cpp:759 +#, fuzzy, kde-format +#| msgid "Configure Backends" +msgid "Configure Backends…" +msgstr "Taustaprogrammide seadistamine" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "Taustaprogrammi info" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "Laa&di uuesti" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "Aktiivse dokumendi taaslaadimine kettalt." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "Sul&ge otsinguriba" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "Leheküljenumber" + +#: part/part.cpp:817 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "Okulari seadistamine..." + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "Vali kogu aktiivse lehekülje tekst" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "Külgr&iba näitamine" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "Le&heküljeriba näitamine" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "Allkir&jade paneeli näitamine" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "&Põimitud failid" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "&Eksport" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "&Jaga" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "&Esitlus" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "Ava s&isaldav kataloog" + +#: part/part.cpp:945 +#, fuzzy, kde-format +#| msgid "&Import PostScript as PDF..." +msgid "&Import PostScript as PDF…" +msgstr "&Impordi PostScript PDF-ina..." + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "Lülitu ekraanipimendamise režiimi" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "Kõrvalda joonistus" + +#: part/part.cpp:962 +#, fuzzy, kde-format +#| msgid "Configure Annotations..." +msgid "Configure Annotations…" +msgstr "Seadista annotatsioone..." + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "Esita/peata esitlus" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" + +#: part/part.cpp:1123 +#, fuzzy, kde-format +#| msgid "Document Password" +msgid "Document can't be saved" +msgstr "Dokumendi parool" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "\"%1\" avamine nurjus (%2)" + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "%1 laadimine katkestati." + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "%1 avamine nurjus. Põhjus: %2" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "Näitaja taustaprogrammide seadistamine" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "Taustaprogrammide seadistamine" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"Programmi \"ps2pdf\" ei leitud, mistõttu Okular ei saa selle abil importida " +"PS-faile." + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "Programmi ps2pdf ei leitud" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "PostScript-failid (%1)" + +#: part/part.cpp:1357 +#, fuzzy, kde-format +#| msgid "Importing PS file as PDF (this may take a while)..." +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "PS-faili importimine PDF-ina (see võib võtta veidi aega)..." + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "Palun anna dokumendi lugemiseks vajalik parool:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "Vigane parool. Proovi uuesti:" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "Dokumendi parool" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "Dokumendis esineb XFA vorme, mis on praegu toetamata." + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"Selles dokumendis on vormid. Klõpsa nupule nende kasutamiseks või vali " +"menüüst Vaade -> Näita vorme." + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" +"Kõik selle dokumendi redigeerimis- ja interaktiivsed toimingud on keelatud. " +"Palun salvesta koopia ja ava see uuesti dokumendi muutmiseks." + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" +"See dokument soovib enda näitamist täisekraanis.\n" +"Kas lahkuda tavalisest režiimist ja minna esitlusrežiimi?" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "Vaaterežiimi muutmise soov" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "Mine esitlusrežiimi" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "Lükka soov tagasi" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "%1 avamine nurjus. %2" + +#: part/part.cpp:1860 +#, fuzzy, kde-kuit-format +#| msgid "" +#| "There are unsaved changes, and the file '%1' has been modified by another " +#| "program. Your changes will be lost, because the file can no longer be " +#| "saved.
Do you want to continue reloading the file?" +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" +"Leidub salvestamata muudatusi ja faili \"%1\" on muutnud mingi teine " +"programm. Sinu muudatused lähevad kaotsi, sest faili ei saa enam salvestada. " +"
Kas tõesti jätkata faili taaslaadimist?" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "Faili on muudetud" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "Jätka taaslaadimist" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "Loobu taaslaadimisest" + +#: part/part.cpp:1870 +#, fuzzy, kde-kuit-format +#| msgid "" +#| "There are unsaved changes, and the file '%1' has been modified by another " +#| "program. Your changes will be lost, because the file can no longer be " +#| "saved.
Do you want to continue closing the file?" +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" +"Leidub salvestamata muudatusi ja faili \"%1\" on muutnud mingi teine " +"programm. Sinu muudatused lähevad kaotsi, sest faili ei saa enam salvestada. " +"
Kas tõesti jätkata faili sulgemisega?" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "Jätka sulgemisega" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "Loobu sulgemisest" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "Kas salvestada muudatused failis \"%1\" või unustada need?" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "Sulge dokument" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"See viit osutab dokumendi sulgemise toimingule, mida ei saa kasutada " +"põimitud näitajas." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"See viit osutab rakendusest väljumise toimingule, mida ei saa kasutada " +"põimitud näitajas." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Reloading the document…" +msgstr "Dokumendi taaslaadimine..." + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "Sisu" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "Allkirjad" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Liikumine leheküljele" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "&Lehekülg:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "Järjehoidja uus nimi:" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "Muuda järjehoidja nime" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "Eemalda see järjehoidja" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "Salvesta kui " + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" + +#: part/part.cpp:2621 +#, fuzzy, kde-format +#| msgid "Line Extensions" +msgid "Unsupported extension" +msgstr "Joone laiendid" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "Salvestamine - hoiatus" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
Do you want to continue?" +msgstr "" +"Aktiivne dokument on parooliga kaitstud.
Salvestamiseks tuleb fail " +"uuesti laadida. Sinu käest küsitakse uuesti parooli ja sinu tagasivõtmiste " +"ja uuestitegemiste ajalugu läheb kaotsi.
Kas jätkata?" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "Ajutise faili avamine salvestamiseks nurjus." + +#: part/part.cpp:2726 +#, fuzzy, kde-kuit-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" +"Faili salvestamine asukohta \"%1\" nurjus. Proovi salvestada mõnda teise " +"asukohta." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
Do you want to continue?" +msgstr "" +"Salvestamise järel nõuab aktiivse dokumendi vorming faili taaslaadimist. " +"Seinu tagasivõtmiste ja uuestitegemiste ajalugu läheb kaotsi.
Kas " +"jätkata?" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "" +"Faili salvestamine asukohta \"%1\" nurjus. Proovi salvestada mõnda teise " +"asukohta." + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "Täidetud vormide sisu" + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "Kasutaja annotatsioonid" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" +"Oled muudatusi salvestamas, kuid praegune failivorming ei toeta järgmiste " +"elementide salvestamist. Palun kasuta nende säilitamiseks Okulari " +"dokumendiarhiivi vormingut." + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "Hoiatus" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, fuzzy, kde-format +#| msgid "Save as Okular document archive..." +msgid "Save as Okular document archive…" +msgstr "Salvesta Okulari dokumendiarhiivina ..." + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" +"Oled muudatusi salvestamas, kuid praegune failivorming ei toeta järgmiste " +"elementide salvestamist. Palun kasuta nende säilitamiseks Okulari " +"dokumendiarhiivi vormingut. Klõpsa Jätka dokumendi salvestamiseks " +"ja nende elementide hülgamiseks." + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" +"Oled muudatusi salvestamas, kuid praegune failivorming ei toeta järgmiste " +"elementide salvestamist. Palun kasuta nende säilitamiseks Okulari " +"dokumendiarhiivi vormingut. Klõpsa Jätka salvestamiseks, kuid " +"siis kaotad nii need elemendid kui ka tagasivõtmiste ja uuestitegemiste " +"ajaloo." + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "Jätka" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "Jätka muudatusi kaotades" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "Faili salvestamine asukohta \"%1\" nurjus. %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"Okular ei saa kopeerida dokumenti %1 määratud asukohta.\n" +"\n" +"Dokumenti ei ole enam olemas." + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" +"Faili salvestamine asukohta \"%1\" nurjus. Tõrge: '%2'. Proovi salvestada " +"mõnda teise asukohta." + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "Expand whole section" +msgid "Expand Whole Section" +msgstr "Keri kogu sektsioon lahti" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "Collapse whole section" +msgid "Collapse Whole Section" +msgstr "Keri kogu sektsioon kokku" + +#: part/part.cpp:3172 +#, fuzzy, kde-format +#| msgid "Link the &thumbnails with the page" +msgid "Sync Thumbnail with Page" +msgstr "Pisipil&tide linkimine leheküljega" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Tööriistad" + +#: part/part.cpp:3381 +#, fuzzy, kde-format +#| msgid "Speak Text" +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "Loe tekst ette" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "Trükkimine" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "Seda dokumenti ei ole lubatud trükkida." + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"Dokumendi trükkimine nurjus. Tundmatu viga. Palun anna sellest teada " +"aadressil bugs.kde.org" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"Dokumendi trükkimine nurjus. Täpne viga on \"%1\". Palun anna sellest teada " +"aadressil bugs.kde.org" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "Liigub eelmisesse asukohta" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "Liigub järgmisse asukohta" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"Faili viga! Ei õnnestunud luua ajutist faili " +"%1." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"Faili viga! Faili %1 " +"avamine lahtipakkimiseks nurjus. Faili ei laaditud." + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"See viga juhtub tavaliselt siis, kui sul ei ole õigust faili lugeda. " +"Faili omanikku ja õigusi saad kontrollida, kui klõpsad failihalduris Dolphin " +"failile hiire parema nupuga ja valid kontekstimenüüst 'Omadused' ning " +"avanenud aknas kaardi 'Õigused'." + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"Faili viga! Faili %1 " +"lahtipakkimine nurjus. Faili ei laaditud." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"See viga juhtub tavaliselt siis, kui fail on vigane. Kui soovid seda " +"kontrollida, proovi fail lahti pakkida käsureatööriistade abil." + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "Järjehoidjaid pole" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "Dokumendi jagamisel tekkis probleem: %1" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "Jagamine" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "Dokumendi jagamine oli edukas" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "Jagatud dokumendi leiab aadressilt %1" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "&Redigeerimine" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "&Vaade" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&Liikumine" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "&Tööriistad" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "Peamine tööriistariba" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "Annotatsioonide tööriistariba" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, fuzzy, kde-format +#| msgid "Annotation Toolbar" +msgid "Quick Annotation Toolbar" +msgstr "Annotatsioonide tööriistariba" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "Üldised valikud" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Hõlbustus" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "Lugemise hõlbustusvahendid" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Jõudlus" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "Jõudluse häälestamine" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "Näitaja seadistamine" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Esitlus" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "Esitlusrežiimi valikud" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "Annoteerimise valikud" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "Redaktor" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "Redaktori valikud" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "Otsi järgmine" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 - esitlus" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "Vaheta ekraani" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "Ekraan %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "Välju esitlusrežiimist" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Pealkiri: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Lehekülgi: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "Klõpsa alustamiseks" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "Paus" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "Esita" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"Esitlusrežiimist saab väljuda kahel viisil: kas vajutades klahvi Esc või " +"klõpsates väljumisnupupule, mis ilmub nähtavale, kui viid hiire ülemisse " +"paremasse nurka. Mõistagi saab aknaid läbi kerida (vaikimisi " +"klahvikombinatsiooniga Alt+TAB)." + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "Esitluse näitamine" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "Tundmatu fail" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "%1 omadused" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "&Fondid" + +#: part/propertiesdialog.cpp:145 +#, fuzzy, kde-format +#| msgid "Reading font information..." +msgid "Reading font information…" +msgstr "Fondiinfo lugemine..." + +#: part/propertiesdialog.cpp:158 +#, kde-format +msgid "&Page Sizes" +msgstr "&Lehekülgede suurused" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "&Paki font lahti" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Type 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Type 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "Type 1C (OT)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Type 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType (OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID Type 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID Type 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID Type 0C (OT)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType (OT)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "TeX PK" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "TeXi virtuaalne" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "TeXi fondimeetrika" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "TeX FreeType'i käsitluses" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "Tundmatu" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "Põimitud (alamhulk)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "Täielikult põimitud" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "Ei" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "Jah (alamhulk)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "Jah" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "%1 (asenduseks %2)" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "[-]" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "Tundmatu font" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "Põimitud: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "Nimi" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "Tüüp" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "Fail" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "Lehekülg" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "Suurus" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "Versiooni eelvaatlus" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "Kuhu see versioon salvestada?" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "Faili %1 salvestamine nurjus." + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "Versiooni näitamine nurjus." + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "Kirjuta lehekülgede filtreerimiseks vähemalt 3 tähte" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "Tõstutundlik" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "Väljendi sobivus" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "Kõigi sõnade sobivus" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "Suvalise sõna sobivus" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "Filtri valikud" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, fuzzy, kde-format +#| msgid "Certificate Data:" +msgid "Certificates" +msgstr "Sertifikaadi andmed:" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, fuzzy, kde-format +#| msgid "Allow" +msgid "All" +msgstr "Luba" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, fuzzy, kde-format +#| msgid "Certificate Data:" +msgid "Only QES certificates" +msgstr "Sertifikaadi andmed:" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "Põhjus:" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, fuzzy, kde-format +#| msgid "Options" +msgid "optional" +msgstr "Valikud" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "Asukoht:" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, fuzzy, kde-format +#| msgid "Background color:" +msgid "Background:" +msgstr "Taustavärv:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, fuzzy, kde-format +#| msgid "Use custom background color" +msgid "Recent backgrounds:" +msgstr "Kohandatud taustavärvi kasutamine" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

No annotations

To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
" +msgstr "" +"

Annotatsioonid puuduvad

Uue annotatsiooni " +"loomiseks vajuta F6 või vali menüükäsk Tööriistad -> Annotatsioonid.
" + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "Rühmitamine lehekülgede kaupa" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "Rühmitamine autorite kaupa" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "Ainult aktiivse lehekülje annotatsioonide näitamine" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "Keri kõik elemendid lahti" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "Keri kõik elemendid kokku" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "Omadused" + +#: part/signaturepartutils.cpp:180 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Lehekülgi: %1" + +#: part/signaturepartutils.cpp:181 +#, fuzzy, kde-format +#| msgid "Enable &background generation" +msgid "Select background image" +msgstr "Tausta &genereerimise lubamine" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "" + +#: part/signaturepartutils.cpp:231 +#, fuzzy, kde-format +#| msgid "Certificate has Expired." +msgid "Enter certificate password" +msgstr "Sertifikaat on aegunud." + +#: part/signaturepartutils.cpp:244 +#, fuzzy, kde-format +#| msgid "Document Password" +msgid "Enter document password" +msgstr "Dokumendi parool" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "Kehtivuse olek" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "Allkirja kehtivus:" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "Dokumendi muudatused:" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "Lisateave" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "Allkirjastaja:" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "Allkirjastamisaeg:" + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "Dokumendi versioon" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Dokumendi versioon %1 / %2" + +#: part/signaturepropertiesdialog.cpp:88 +#, fuzzy, kde-format +#| msgid "View Signed Version..." +msgid "View Signed Version…" +msgstr "Vaata allkirjastatud versiooni ..." + +#: part/signaturepropertiesdialog.cpp:95 +#, fuzzy, kde-format +#| msgid "View Certificate..." +msgid "View Certificate…" +msgstr "Vaata sertifikaati ..." + +#: part/signaturepropertiesdialog.cpp:97 +#, fuzzy, kde-format +#| msgid "View Certificate..." +msgid "View in Certificate Manager" +msgstr "Vaata sertifikaati ..." + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "Ainult järjehoidjates olevate lehekülgede näitamine" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "Esita" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Paus" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "Peata" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, fuzzy, kde-format +#| msgid "&Edit" +msgid "&Edit…" +msgstr "&Redigeerimine" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "&Eemalda" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "Liiguta ü&les" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "Liiguta &alla" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "Vaikimisi joonistamistööriist nr %1" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "Selle nimega tööriist on juba olemas. Kasutatakse vaikevarianti" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "Topeltnimi" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "Näidatav dokumendi lehekülg" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "Dokumendi avamine esitlusrežiimis" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "Käivitamine trükkimisdialoogiga" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "Käivitamine trükkimisdialoogiga ja väljumine pärast trükkimist" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "\"Unikaalse isendi\" kontroll" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "Akent esile ei tooda" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "Stringi leidmine tekstis" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "Avatavad dokumendid. '-' korral loetakse standardsisendist." + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "Tõrge: võtit --unique kasutades ei saa avada üle ühe dokumendi korraga" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" +"Tõrge: võtit --presentation kasutades ei saa avada üle ühe dokumendi korraga" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "Tõrge: võtit --print kasutades ei saa avada üle ühe dokumendi korraga" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "Tõrge: võtit --page kasutades ei saa avada üle ühe dokumendi korraga" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "Tõrge: võtit --find kasutades ei saa avada üle ühe dokumendi korraga" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "Okulari komponendi leidmine nurjus: %1" + +#: shell/shell.cpp:250 +#, fuzzy, kde-format +#| msgid "Show S&idebar" +msgid "Sidebar" +msgstr "Külgr&iba näitamine" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" +"Okulari unikaalne isend juba töötab. Käesolev isend ei oleks unikaalne." + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "Okulari komponendi leidmine nurjus." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"Klõpsa faili avamiseks\n" +"Klõpsa ja hoia nuppu all viimati kasutatud faili avamiseks" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"Klõpsa faili avamiseks või klõpsa ja hoia nuppu all viimati " +"kasutatud faili avamiseks" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "Järgmine kaart" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "Eelmine kaart" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "Võta kaardi sulgemine tagasi" + +#: shell/shell.cpp:603 +#, fuzzy, kde-format +#| msgid "Show S&idebar" +msgid "Lock Sidebar" +msgstr "Külgr&iba näitamine" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "Kõik failid (*)" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "Kõik toetatud failid (%1)" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "Ava dokument" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "Sulgemise kinnitus" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "Sulge kaardid" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "Kavatsed sulgeda %1 kaarti. Kas tõesti jätkata?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "Hoiatus, kui ma proovin sulgeda palju aknaid" + +#: shell/welcomescreen.cpp:64 +#, fuzzy, kde-format +#| msgid "Copy Text" +msgid "&Copy Path" +msgstr "Kopeeri tekst" + +#: shell/welcomescreen.cpp:77 +#, fuzzy, kde-format +#| msgid "Open Con&taining Folder" +msgid "&Open Containing Folder" +msgstr "Ava s&isaldav kataloog" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "" + +#: shell/welcomescreen.cpp:137 +#, fuzzy, kde-format +#| msgid "Current document only" +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "Ainult aktiivne dokument" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, fuzzy, kde-format +#| msgid "Open Document" +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Ava dokument" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, fuzzy, kde-format +#| msgid "Current document only" +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Ainult aktiivne dokument" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "" + +#~ msgid "Geometry with Comment" +#~ msgstr "Geomeetria kommentaariga" + +#~ msgid "Geometry" +#~ msgstr "Geomeetria" + +#~ msgid "Modified: %1" +#~ msgstr "Muudetud: %1" + +#~ msgid "Find..." +#~ msgstr "Otsi..." + +#~ msgid "Go To Page..." +#~ msgstr "Liigu leheküljele..." + +#~ msgid "Play movie..." +#~ msgstr "Esita video..." + +#~ msgid "Search..." +#~ msgstr "Otsi ..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "Sal&vesta kui..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "&Näita ..." + +#, fuzzy +#~| msgid "Sign CRL" +#~ msgid "&Sign..." +#~ msgstr "CRL-i allkirjastamine" + +#~ msgid "Configure Viewer..." +#~ msgstr "Näitaja seadistamine..." + +#~ msgid "Configure Viewer Backends..." +#~ msgstr "Näitaja taustaprogrammide seadistamine" + +#~ msgid "Configure Backends..." +#~ msgstr "Taustaprogrammide seadistamine..." + +#~ msgid "&Add..." +#~ msgstr "Lis&a..." + +#~ msgid "&Edit..." +#~ msgstr "&Muuda..." + +#, fuzzy +#~| msgid "Digital Signature" +#~ msgid "Unsigned Signature %1" +#~ msgstr "Digitaalne allkiri" + +#, fuzzy +#~| msgctxt "Unknown author" +#~| msgid "Unknown" +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "Tundmatu" + +#, fuzzy +#~| msgid "Digital Signature" +#~ msgctxt "Signature type" +#~ msgid "Unsigned signature" +#~ msgstr "Digitaalne allkiri" + +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "Suffix for the pen width, eg '10 px'" +#~ msgid " px" +#~ msgstr " px" + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr "%" + +#, fuzzy +#~| msgid "%" +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%" + +#, fuzzy +#~| msgid "Fit Width" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "Mahutatakse laiusele" + +#, fuzzy +#~| msgid "Fit Page" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "Mahutatakse leheküljele" + +#, fuzzy +#~| msgid "Auto Fit" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Auto Fit" +#~ msgstr "Automaatne mahutamine" + +#~ msgid "*|All Files" +#~ msgstr "*|Kõik failid" + +#~ msgid "Missing alert type" +#~ msgstr "Puuduv hoiatuse tüüp" + +#~ msgid "" +#~ "The file '%1' has been modified by another program, which means it can no " +#~ "longer be saved." +#~ msgstr "" +#~ "Faili '%1' on muutnud mingi teine programm, mis tähendab, et seda ei saa " +#~ "enam salvestada." + +#, fuzzy +#~| msgid "Show S&idebar" +#~ msgid "Show Sidebar" +#~ msgstr "Külgr&iba näitamine" + +#~ msgctxt "@info" +#~ msgid "" +#~ "experimental feature.Stamps inserted in PDF documents are " +#~ "not visible in PDF readers other than Okular." +#~ msgstr "" +#~ "Eksperimentaalne võimalus.PDF-dokumenti lisatud templid on " +#~ "kõigist PDF-i näitajatest näha ainult Okularis." + +#~ msgctxt "@info" +#~ msgid "" +#~ "Stamps inserted in PDF documents are not visible in PDF readers other " +#~ "than Okular" +#~ msgstr "" +#~ "PDF-dokumenti lisatud templid on kõigist PDF-i näitajatest näha ainult " +#~ "Okularis." + +#~ msgctxt "@title:window" +#~ msgid "Experimental feature" +#~ msgstr "Eksperimentaalne võimalus" + +#~ msgid "Remove Bookmarks" +#~ msgstr "Eemalda järjehoidjad" + +#, fuzzy +#~| msgid "&Annotations" +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "&Annotatsioonid" + +#, fuzzy +#~| msgid "Highlight" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "Esiletõst" + +#, fuzzy +#~| msgid "Underline" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Underline" +#~ msgstr "Allajoonimine" + +#, fuzzy +#~| msgid "Squiggle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Squiggle" +#~ msgstr "Laineline joon" + +#, fuzzy +#~| msgid "Strike Out" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Strike Out" +#~ msgstr "Läbikriipsutus" + +#, fuzzy +#~| msgid "Insert" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "Lisand" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "Reasisene märkus" + +#, fuzzy +#~| msgctxt "@action:intoolbar Annotation tool" +#~| msgid "Popup Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "Hüpikmärkus" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a freehand line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Freehand Line" +#~ msgstr "Vabakäejoone tõmbamine" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a straight line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Straight line" +#~ msgstr "Sirgjoone tõmbamine" + +#, fuzzy +#~| msgctxt "@action:intoolbar Annotation tool" +#~| msgid "Arrow" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Arrow" +#~ msgstr "Nool" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a rectangle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Rectangle" +#~ msgstr "Ristküliku joonistamine" + +#, fuzzy +#~| msgid "Cyan Ellipse" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Ellipse" +#~ msgstr "Tsüaanvärvi ellips" + +#, fuzzy +#~| msgid "Polygon" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Polygon" +#~ msgstr "Murdjoon" + +#, fuzzy +#~| msgid "Highlighter" +#~ msgid "Highlight in Yellow" +#~ msgstr "Esiletõstmine" + +#, fuzzy +#~| msgid "Highlight with Comment" +#~ msgid "Highlight in Green" +#~ msgstr "Esiletõstmine kommentaariga" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgid "Insert Inline Note" +#~ msgstr "Reasisene märkus" + +#, fuzzy +#~| msgctxt "@action:intoolbar Annotation tool" +#~| msgid "Popup Note" +#~ msgid "Insert Popup Note" +#~ msgstr "Hüpikmärkus" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "Vali tekst" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "Vali tekst" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "Vali tekst" + +#, fuzzy +#~| msgid "&Magnifier" +#~ msgctxt "verb" +#~ msgid "&Magnify" +#~ msgstr "&Suurendaja" + +# Originaal on ajuvaba. Tegemist on annotatsioonide autori nime küsiva dialoogi tiitliga - näidatakse annotatsiooni lisamisel juhul, kui Okulari seadistuses on vaikimisi määratud nimi ära kustutatud. +#~ msgid "Bookmark annotation" +#~ msgstr "Annotatsioonide autori nimi" + +#~ msgid "&Toggle Change Colors" +#~ msgstr "Värvide &muutmise lülitamine" + +#, fuzzy +#~| msgid "Enable transitions" +#~ msgctxt "@option:check Config dialog, presentation page, transitions" +#~ msgid "Enable transitions" +#~ msgstr "Üleminekute lubamine" + +#, fuzzy +#~| msgid "Advance every:" +#~ msgctxt "@label:spinbox Config dialog, presentation page" +#~ msgid "Advance every:" +#~ msgstr "Edasiliikumise intervall:" + +#, fuzzy +#~| msgid "Use custom background color" +#~ msgctxt "@label:listbox Config dialog, general page" +#~ msgid "Custom background color:" +#~ msgstr "Kohandatud taustavärvi kasutamine" + +#~ msgid "Draw border around &Images" +#~ msgstr "&Piltide ümber joonistatakse piirded" + +#~ msgid "Speech" +#~ msgstr "Kõne" + +#~ msgid "Engine" +#~ msgstr "Mootor" + +#~ msgid "Identity" +#~ msgstr "Identiteet" + +#~ msgid "Au&thor:" +#~ msgstr "&Autor:" + +#~ msgid "View Options" +#~ msgstr "Vaatevalikud" + +#~ msgctxt "@info:whatsthis" +#~ msgid "" +#~ "Defines the default zoom mode for files which were never opened before.\n" +#~ "For files which were opened before the previous zoom is applied." +#~ msgstr "" +#~ "Määrab vaikesuurenduse varem avamata failidele.\n" +#~ "Varem avatud failide korral kasutatakse viimast suurendustaset." + +#~ msgid "Navigation" +#~ msgstr "Liikumine" + +#~ msgid "Placement" +#~ msgstr "Asetus" + +#~ msgid "Screen:" +#~ msgstr "Ekraan:" + +#~ msgid "Drawing Tool Configuration" +#~ msgstr "Joonistamistööriista seadistamine" + +#~ msgid "&Get Books From Internet..." +#~ msgstr "&Hangi raamatuid internetist..." + +#~ msgid "Reviews" +#~ msgstr "Annotatsioonid" + +#, fuzzy +#~| msgid "V%1" +#~ msgctxt "@item:inlistbox Color name" +#~ msgid "%1" +#~ msgstr "V%1" + +#~ msgid "Hide Forms" +#~ msgstr "Peida vormid" + +#~ msgid "&Review" +#~ msgstr "&Annotatsioon" + +#~ msgid "Annotations author" +#~ msgstr "Annotatsiooni autor" + +#~ msgid "Please insert your name or initials:" +#~ msgstr "Palun sisesta oma nimi või initsiaalid:" + +#~ msgid "Show &Navigation Panel" +#~ msgstr "Liikumispa&neeli näitamine" + +#~ msgid "Show Text" +#~ msgstr "Näita teksti" + +#~ msgid "Small Icons" +#~ msgstr "Väikesed ikoonid" + +#~ msgid "Large Icons" +#~ msgstr "Suured ikoonid" + +#~ msgid "" +#~ "Click to use the current selection tool\n" +#~ "Click on the arrow to choose another selection tool" +#~ msgstr "" +#~ "Klõpsa aktiivse valikutööriista kasutamiseks\n" +#~ "Klõpsa noolele mõne teise valikutööriista valimiseks" + +#~ msgid "Created: %1" +#~ msgstr "Loodud: %1" + +#~ msgid "Style" +#~ msgstr "Stiil" + +#~ msgid "&Size:" +#~ msgstr "&Suurus:" + +#~ msgid "Inner color:" +#~ msgstr "Sisevärv:" + +#~ msgid "Name: %1" +#~ msgstr "Nimi: %1" + +#~ msgid "Size: %1" +#~ msgstr "Suurus: %1" + +#~ msgid "&Browse Tool" +#~ msgstr "S&irvimistööriist" + +#~ msgid "&Zoom Tool" +#~ msgstr "&Suurendustööriist" + +#~ msgctxt "Zoom Tool" +#~ msgid "Zoom" +#~ msgstr "Suurendus" + +#~ msgid "&Selection Tool" +#~ msgstr "&Valikutööriist" + +#~ msgctxt "Select Tool" +#~ msgid "Selection" +#~ msgstr "Valik" + +#~ msgid "&Text Selection Tool" +#~ msgstr "&Tekstivaliku tööriist" + +#~ msgid "T&able Selection Tool" +#~ msgstr "T&abelivaliku tööriist" + +#, fuzzy +#~| msgctxt "Symbol for caret annotations" +#~| msgid "None" +#~ msgid " None" +#~ msgstr "Puudub" + +#~ msgid "" +#~ "The document requested to be launched in presentation mode.\n" +#~ "Do you want to allow it?" +#~ msgstr "" +#~ "Dokument käivitatakse esitlusrežiimis, sest fail nõuab seda.\n" +#~ "Kas lubada seda?" + +#~ msgid "Presentation Mode" +#~ msgstr "Esitlusrežiim" + +#~ msgid "Allow the presentation mode" +#~ msgstr "Esitlusrežiimi lubamine" + +#~ msgid "Do Not Allow" +#~ msgstr "Ära luba" + +#~ msgid "Do not allow the presentation mode" +#~ msgstr "Esitlusrežiimi ei lubata" + +#~ msgid "" +#~ "Your annotation changes will not be saved automatically. Use File -> Save " +#~ "As...\n" +#~ "or your changes will be lost once the document is closed" +#~ msgstr "" +#~ "Annotatsioonide muudatusi ei salvestata automaatselt.\n" +#~ "Vali Fail -> Salvesta kui... või muudatused lähevad dokumendi sulgemisel " +#~ "kaotsi" + +#~ msgid "" +#~ "Your annotations are saved internally by Okular.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" +#~ msgstr "" +#~ "Okular salvestab sinu annotatsioonid sisemiselt.\n" +#~ "Annoteeritud dokumendi võib eksportida menüükäsuga Fail -> Eksport -> " +#~ "Dokumendiarhiiv" + +#~ msgid "Save &Copy As..." +#~ msgstr "Salvesta &koopia..." + +#~ msgid "" +#~ "Your annotations will not be exported.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" +#~ msgstr "" +#~ "Sinu annotatsioone ei ekspordita.\n" +#~ "Annoteeritud dokumendi võib eksportida menüükäsuga Fail -> Eksport -> " +#~ "Dokumendiarhiiv" + +#~ msgid "" +#~ "End of document reached.\n" +#~ "Continue from the beginning?" +#~ msgstr "" +#~ "Jõuti dokumendi lõppu.\n" +#~ "Kas jätkata algusest?" + +#~ msgid "" +#~ "Beginning of document reached.\n" +#~ "Continue from the bottom?" +#~ msgstr "" +#~ "Jõuti dokumendi algusesse.\n" +#~ "Kas jätkata lõpust?" + +#~ msgid "Current maintainer" +#~ msgstr "Praegune hooldaja" + +#~ msgid " sec." +#~ msgstr " sek." + +#~ msgid "Pencil color:" +#~ msgstr "Pliiatsi värv:" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A0" +#~ msgstr "rõhtpaigutusega DIN/ISO A0" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A0" +#~ msgstr "püstpaigutusega DIN/ISO A0" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A1" +#~ msgstr "rõhtpaigutusega DIN/ISO A1" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A1" +#~ msgstr "püstpaigutusega DIN/ISO A1" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A2" +#~ msgstr "rõhtpaigutusega DIN/ISO A2" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A2" +#~ msgstr "püstpaigutusega DIN/ISO A2" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A3" +#~ msgstr "rõhtpaigutusega DIN/ISO A3" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A3" +#~ msgstr "püstpaigutusega DIN/ISO A3" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A4" +#~ msgstr "rõhtpaigutusega DIN/ISO A4" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A4" +#~ msgstr "püstpaigutusega DIN/ISO A4" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A5" +#~ msgstr "rõhtpaigutusega DIN/ISO A5" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A5" +#~ msgstr "püstpaigutusega DIN/ISO A5" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A6" +#~ msgstr "rõhtpaigutusega DIN/ISO A6" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A6" +#~ msgstr "püstpaigutusega DIN/ISO A6" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A7" +#~ msgstr "rõhtpaigutusega DIN/ISO A7" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A7" +#~ msgstr "püstpaigutusega DIN/ISO A7" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A8" +#~ msgstr "rõhtpaigutusega DIN/ISO A8" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A8" +#~ msgstr "püstpaigutusega DIN/ISO A8" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A9" +#~ msgstr "rõhtpaigutusega DIN/ISO A9" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A9" +#~ msgstr "püstpaigutusega DIN/ISO A9" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B0" +#~ msgstr "rõhtpaigutusega DIN/ISO B0" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B0" +#~ msgstr "püstpaigutusega DIN/ISO B0" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B1" +#~ msgstr "rõhtpaigutusega DIN/ISO B1" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B1" +#~ msgstr "püstpaigutusega DIN/ISO B1" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B2" +#~ msgstr "rõhtpaigutusega DIN/ISO B2" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B2" +#~ msgstr "püstpaigutusega DIN/ISO B2" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B3" +#~ msgstr "rõhtpaigutusega DIN/ISO B3" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B3" +#~ msgstr "püstpaigutusega DIN/ISO B3" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B4" +#~ msgstr "rõhtpaigutusega DIN/ISO B4" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B4" +#~ msgstr "püstpaigutusega DIN/ISO B4" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B5" +#~ msgstr "rõhtpaigutusega DIN/ISO B5" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B5" +#~ msgstr "püstpaigutusega DIN/ISO B5" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B6" +#~ msgstr "rõhtpaigutusega DIN/ISO B6" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B6" +#~ msgstr "püstpaigutusega DIN/ISO B6" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B7" +#~ msgstr "rõhtpaigutusega DIN/ISO B7" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B7" +#~ msgstr "püstpaigutusega DIN/ISO B7" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B8" +#~ msgstr "rõhtpaigutusega DIN/ISO B8" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B8" +#~ msgstr "püstpaigutusega DIN/ISO B8" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B9" +#~ msgstr "rõhtpaigutusega DIN/ISO B9" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B9" +#~ msgstr "püstpaigutusega DIN/ISO B9" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B10" +#~ msgstr "rõhtpaigutusega DIN/ISO B10" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B10" +#~ msgstr "püstpaigutusega DIN/ISO B10" + +#~ msgctxt "paper size" +#~ msgid "landscape letter" +#~ msgstr "rõhtpaigutusega Letter" + +#~ msgctxt "paper size" +#~ msgid "portrait letter" +#~ msgstr "püstpaigutusega Letter" + +#~ msgctxt "paper size" +#~ msgid "landscape legal" +#~ msgstr "rõhtpaigutusega Legal" + +#~ msgctxt "paper size" +#~ msgid "portrait legal" +#~ msgstr "püstpaigutusega Legal" + +#~ msgctxt "paper size" +#~ msgid "landscape executive" +#~ msgstr "rõhtpaigutusega Executive" + +#~ msgctxt "paper size" +#~ msgid "portrait executive" +#~ msgstr "püstpaigutusega Executive" + +#~ msgctxt "paper size" +#~ msgid "landscape Comm10E" +#~ msgstr "rõhtpaigutusega Comm10E" + +#~ msgctxt "paper size" +#~ msgid "portrait Comm10E" +#~ msgstr "püstpaigutusega Comm10E" + +#~ msgctxt "paper size" +#~ msgid "landscape DLE" +#~ msgstr "rõhtpaigutusega DLE" + +#~ msgctxt "paper size" +#~ msgid "portrait DLE" +#~ msgstr "püstpaigutusega DLE" + +#~ msgctxt "paper size" +#~ msgid "landscape folio" +#~ msgstr "rõhtpaigutusega Folio" + +#~ msgctxt "paper size" +#~ msgid "portrait folio" +#~ msgstr "püstpaigutusega Folio" + +#~ msgctxt "paper size" +#~ msgid "ledger" +#~ msgstr "Ledger" + +#~ msgctxt "paper size" +#~ msgid "tabloid" +#~ msgstr "Tabloid" + +#~ msgctxt "paper size" +#~ msgid "unknown landscape paper size" +#~ msgstr "tundmatu rõhtpaigutusega paberisuurus" + +#~ msgctxt "paper size" +#~ msgid "unknown portrait paper size" +#~ msgstr "tundmatu püstpaigutusega paberisuurus" + +#~ msgid "Toggle Drawing Mode" +#~ msgstr "Joonistamisrežiimi lülitamine" + +#~ msgid "Starting Jovie Text-to-Speech service Failed: %1" +#~ msgstr "Jovie teksti ettelugemise teenuse käivitamine nurjus: %1" + +#~ msgid "Search Columns" +#~ msgstr "Otsinguveerud" + +#~ msgid "All Visible Columns" +#~ msgstr "Kõik nähtavad veerud" + +#~ msgid "No document opened." +#~ msgstr "Ühtki dokumenti pole avatud." + +#~ msgid "Can't open more than one document in the unique Okular instance." +#~ msgstr "" +#~ "Okulari unikaalse isendi kasutamisel ei saa avada üle ühe dokumendi " +#~ "korraga." + +#~ msgid "No matches found for '%1'." +#~ msgstr "'%1' sobivusi ei leitud." + +#~ msgid "Search in progress..." +#~ msgstr "Käib otsimine..." + +#~ msgid "Searching for %1" +#~ msgstr "%1 otsimine" + +#~ msgid "Identity Settings" +#~ msgstr "Identiteediseadistused" + +#~ msgid "Highlight Properties" +#~ msgstr "Esiletõstmise omadused" + +#~ msgid "Ink Properties" +#~ msgstr "Tindi omadused" + +#~ msgctxt "Annotation tool" +#~ msgid "Text Annotation" +#~ msgstr "Tekstiannotatsioon" + +#~ msgctxt "Annotation tool" +#~ msgid "Green Ink" +#~ msgstr "Roheline tint" + +#~ msgctxt "Annotation tool" +#~ msgid "Yellow Highlight" +#~ msgstr "Kollane esiletõstmine" + +#~ msgctxt "Annotation tool" +#~ msgid "Straight Yellow Line" +#~ msgstr "Kollane sirgjoon" + +#~ msgid "Black Underlining" +#~ msgstr "Must allajoonimine" + +#~ msgctxt "Annotation tool" +#~ msgid "Underline the text with a black line" +#~ msgstr "Jooni tekst alla musta joonega" + +#~ msgctxt "Annotation tool" +#~ msgid "A cyan ellipse" +#~ msgstr "Tsüaanvärvi ellips" + +#~ msgid "Ink" +#~ msgstr "tint" + +#, fuzzy +#~| msgid "Hide Forms" +#~ msgid "Reset Forms" +#~ msgstr "Peida vormid" + +#~ msgid "Moves to the first page of the document" +#~ msgstr "Liigub dokumendi esimesele leheküljele" + +#~ msgid "Moves to the last page of the document" +#~ msgstr "Liigub dokumendi viimasele leheküljele" + +#~ msgid "You must set this name:" +#~ msgstr "Vajalik on määrata järgmine nimi:" + +#~ msgid "Toggles between File Path and Title" +#~ msgstr "Faili asukoha ja nime lülitamine" + +#~ msgctxt "%1 is \"Title\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#~ msgctxt "%1 is \"File Path\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#~ msgctxt "@action:button" +#~ msgid "&Overwrite" +#~ msgstr "&Kirjuta üle" + +#~ msgid "Pages:" +#~ msgstr "Lehekülgi:" + +#~ msgid "Activate to ignore file-specific page-durations" +#~ msgstr "Sisselülitamisel eiratakse failipõhiseid lehekülje kestusi" + +#~ msgid "s" +#~ msgstr "s" + +#~ msgctxt "Annotation tool" +#~ msgid "Pink Ink" +#~ msgstr "Roosa tint" + +#, fuzzy +#~| msgid "Highlight" +#~ msgid "Pink Highlighter" +#~ msgstr "Esiletõst" + +#~ msgid "Could not load the necessary plugin to view the document." +#~ msgstr "Vajaliku plugina laadimine dokumendi vaatamiseks nurjus." + +#~ msgid "Security" +#~ msgstr "Turvalisus" + +#~ msgid "Optimized" +#~ msgstr "Optimeeritud" + +#~ msgid "Unknown Encryption" +#~ msgstr "Tundmatu krüpto" + +#~ msgid "Unknown Optimization" +#~ msgstr "Tundmatu optimeerimine" + +#~ msgid "" +#~ "The margins you specified change the page aspect ratio. Do you want to " +#~ "print with the aspect ratio changed or do you want the margins to be " +#~ "adapted so that the aspect ratio is preserved?" +#~ msgstr "" +#~ "Määratud veerised muudavad lehekülje proportsiooni. Kas soovid trükkida " +#~ "lehekülje muudetud proportsiooniga või kohandada veeriseid, nii et " +#~ "proportsioon säiliks?" + +#~ msgid "Aspect ratio change" +#~ msgstr "Proportsiooni muutmine" + +#~ msgid "Print with specified margins" +#~ msgstr "Trükkimine määratud veeristega" + +#~ msgid "Print adapting margins to keep aspect ratio" +#~ msgstr "Trükkimine proportsiooni säilitades ja veeriseid kohandades" diff --git a/po/et/okular_comicbook.po b/po/et/okular_comicbook.po new file mode 100644 index 0000000..d1dbb98 --- /dev/null +++ b/po/et/okular_comicbook.po @@ -0,0 +1,57 @@ +# translation of okular_comicbook.po to Estonian +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Marek Laane , 2008, 2019. +msgid "" +msgstr "" +"Project-Id-Version: okular_comicbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-11-09 21:05+0200\n" +"Last-Translator: Marek Laane \n" +"Language-Team: Estonian \n" +"Language: et\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 19.08.1\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Marek Laane" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "bald@smail.ee" + +#: document.cpp:97 +#, kde-format +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "Dokumendi avamine nurjus, ei leitud ei programmi unrar ega unarchiver." + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "Sinu süsteemi programmi unrar versioon ei sobi koomiksite avamiseks." + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "Tundmatu koomiksivorming." + +#~ msgid "ComicBook Backend" +#~ msgstr "Koomiksite taustaprogramm" + +#~ msgid "A renderer for various comic book formats" +#~ msgstr "Mitmete koomiksivormingute renderdaja" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008: Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/et/okular_djvu.po b/po/et/okular_djvu.po new file mode 100644 index 0000000..4e92b71 --- /dev/null +++ b/po/et/okular_djvu.po @@ -0,0 +1,139 @@ +# translation of okular_djvu.po to Estonian +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Marek Laane , 2007-2008. +msgid "" +msgstr "" +"Project-Id-Version: okular_djvu\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-12-01 17:51+0300\n" +"Last-Translator: Marek Laane \n" +"Language-Team: Estonian \n" +"Language: et\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Marek Laane" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "bald@starman.ee" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "Toimetaja" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "Kirjastaja" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "Köide" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "Dokumendi tüüp" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "Tundmatu" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "Osafailid" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "Tundmatu" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "Üks lehekülg" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "Köidetud" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "Kaudne" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "Köidetud (vana)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "Indekseeritud (vana)" + +#~ msgid "DjVu Backend" +#~ msgstr "DjVu taustaprogramm" + +#~ msgid "DjVu backend based on DjVuLibre." +#~ msgstr "DjVu taustaprogramm, mille aluseks on DjVuLibre." + +#~ msgid "© 2006-2008 Pino Toscano" +#~ msgstr "© 2006-2008: Pino Toscano" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgctxt "Unknown title" +#~ msgid "Unknown" +#~ msgstr "Tundmatu" + +#~ msgctxt "Unknown author" +#~ msgid "Unknown" +#~ msgstr "Tundmatu" + +#~ msgctxt "Unknown editor" +#~ msgid "Unknown" +#~ msgstr "Tundmatu" + +#~ msgctxt "Unknown publisher" +#~ msgid "Unknown" +#~ msgstr "Tundmatu" + +#~ msgctxt "Unknown creation date" +#~ msgid "Unknown" +#~ msgstr "Tundmatu" + +#~ msgctxt "Unknown volume information" +#~ msgid "Unknown" +#~ msgstr "Tundmatu" + +#~ msgctxt "Unknown type of document" +#~ msgid "Unknown" +#~ msgstr "Tundmatu" + +#~ msgid "A DjVu backend" +#~ msgstr "DjVu taustaprogramm" diff --git a/po/et/okular_dvi.po b/po/et/okular_dvi.po new file mode 100644 index 0000000..3f8ea5e --- /dev/null +++ b/po/et/okular_dvi.po @@ -0,0 +1,796 @@ +# translation of okular_dvi.po to Estonian +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Marek Laane , 2007-2008. +# Marek Laane , 2009, 2013, 2014. +msgid "" +msgstr "" +"Project-Id-Version: okular_dvi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2014-07-18 05:17+0300\n" +"Last-Translator: Marek Laane \n" +"Language-Team: Estonian \n" +"Language: et\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Marek Laane" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "bald@smail.ee" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

" +msgstr "" +"

Okular ei leidnud sinu masinast programmi dvipdfm. See " +"programm on eksportimiseks absoluutselt vajalik. Sellegipoolest saad " +"teisendada DVI-faili PDF-iks Okulari trükkimisfunktsiooni abil, kuid peab " +"arvestama, et see võib tekitada küll väljatrüki jaoks piisava, kuid Acrobat " +"Readeri jaoks inetu väljanägemisega kujutise. Targem oleks uuendada TeXi " +"versiooni, mis sisaldaks ka dvipdfm programmi.

Abiks algajale " +"süsadminnile: Okular kasutab shelli PATH-muutujat programmide otsimisel." + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Väline prorgramm 'dvipdfm', mida kasutati faili eksportimiseks, teatas " +"veast. Võib-olla soovid heita pilgu dokumendi info " +"dialoogile, mille leiad menüüst Fail, nägemaks vea täpset kirjeldust." + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" +"Selles DVI-failis on viited välistele graafikafailidele, mida ei leidu " +"PostScript-vormingus ja mida seetõttu ei saa kasutada programm dvips, mida Okular pruugib seesmiselt PostScript-failide trükkimisel või " +"sellesse vormingusse salvestamisel. Seepärast ei ole see funktsionaalsus, " +"mida soovisid, Okulari praeguses versioonis lihtsalt saadaval." + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

" +msgstr "" +"

Okular ei leidnud arvutist programmi dvips. See programm on " +"eksportimiseks hädavajalik.

Abiks algajale süsadminnile: Okular " +"kasutab shelli PATH-muutujat programmide otsimisel.

" + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Väline programm 'dvips', mida kasutati faili eksportimiseks, teatas " +"veast. Võib-olla soovid sa heita pilgu dokumendi info " +"dialoogile, mille sa leiad menüüst Fail, nägemaks vea täpset kirjeldust." + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "DVI-fail ei alga preambulaga." + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" +"DVI-fail sisaldab selle rakenduse jaoks vale versiooniga DVI väljundit. " +"Vihje: kui sa kasutad ladumissüsteemi Omega, siis peaksid sa kasutama ka " +"spetsiaalset rakendust, näiteks oxdvi." + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "DVI-fail on täiesti katki. Okular ei suutnud leida postambulat." + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "Postambula ei alga käsuga POST." + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "Postambula sisaldas muud käsku kui FNTDEF." + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "Leht %1 ei alga BOP-käsuga." + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

PATH: %2

" +msgstr "" +"

Programmi pdf2ps käivitamine nurjus. Seepärast ei " +"olnud võimalik teisendada PDF-faili %1 PostScript-failiks. Võib juhtuda, et " +"mõningaid dokumendi elemente ei kuvata.

Võimalikud põhjused: " +"programm pdf2ps ei ole vahest süsteemi paigaldatud või siis " +"ei leitud seda kehtivalt otsinguteelt.

Mida teha: programm " +"pdf2ps leidub tavaliselt ghostscripti PostScripti " +"interpraatori paketis. Kui ghostscipt ei ole paigaldatud, võiksid seda teha. " +"Kui oled aga kindel, et ghostscript on paigaldatud, püüa palun kasutada " +"programmi pdf2ps käsurealt ja kontrollida, kas see ikka " +"töötab.

OTSINGUTEE: %2

" + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

%2

" +msgstr "" +"

PDF-faili %1 teisendamine PostScript-failiks nurjus. Võib juhtuda, et " +"mõningaid dokumendi elemente ei kuvata.

Võimalik põhjus: fail " +"%1 võib olla katki või ei ole see üldse PDF-fail. See on Okulari kasutatud " +"programmi pdf2ps väljund:

%2

" + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "Fail on riknenud. %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "Sinu dokumenti ei saa põimida kõiki PostScript-faile. %1" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "Kõik välised PostScript-failid põimiti sinu dokumenti." + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "Määratud faili '%1' ei ole olemas." + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" +"Sa tahad, et Okular leiaks koha DVI-failis, mis vastab reale %1 TeXi failis " +"%2. Tundub siiski, et see DVI-fail ei sisalda vajalikku infot lähtefaili " +"kohta. " + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" +"Okular ei leidnud kohta DVI-failis, mis vastaks reale %1 TeXi failis %2." + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "DVI kood määras tundmatu fondi sümboli." + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "DVI koodis on viide fondile #%1, mis on eelnevalt määratlemata." + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "Pinu ei olnud tühi, kui tuvastati EOP käsk." + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "Pinu oli tühi, kui tuvastati POP käsk." + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "DVI koodis on viide fondile, mis on eelnevalt määratlemata." + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "Tuvastati lubamatu käsk." + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "Tuvastati tundmatu opkood %1." + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "%1 põimimine" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
" +msgstr "" +"Lehekülg %1: PDF-faili %2 ei saa teisendada PostScript-" +"failiks.
" + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
" +msgstr "Lehekülg %1: PostScript-faili %2 ei leitud.
" + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "Paberisuuruse andmete '%1' parsimine nurjus." + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

PATH: %1

%2

" +msgstr "" +"

Okular ei leidnud kõiki fondifaile, mis on vajalikud käesoleva DVI-" +"faili näitamiseks. Seetõttu võib dokument olla loetamatu.

OTSINGUTEE: %1

%2

" + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

PATH: %1

%2

" +msgstr "" +"

Tekkis probleeme programmi kpsewhich käivitamisel. Seepärast " +"ei leitud mõningaid fondifaile ja sinu dokument ei pruugi olla loetav.
Võimalikud põhjused: programm kpsewhich ei ole vahest süsteemi " +"paigaldatud või siis ei leitud seda kehtivalt otsinguteelt.

OTSINGUTEE: %1

%2

" + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" +"Fondi genereerimine kpsewhich'iga katkes (väljuti koodiga %1, " +"viga %2). Seepärast ei suudetud tuvastada mõningaid fondifaile ning dokument " +"ei pruugi olla loetav." + +#: fontpool.cpp:482 +#, fuzzy, kde-format +#| msgid "Currently generating %1 at %2 dpi..." +msgid "Currently generating %1 at %2 dpi…" +msgstr "Parasjagu tekitatakse %1 %2 dpi juures..." + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "Autor/Kuupäev" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "Fondifaili ei leitud" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "püstpaigutus" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "rõhtpaigutus" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" +"Sinu arvutile paigaldatud Ghostview versioonis ei ole ühtegi Ghostview " +"seadmedraiverit, mida Okular ära tunneks. Seepärast lülitab Okular nüüd " +"PostScripti toetuse välja." + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "Siin on juba 25 viga. Rohkem veateateid ei näidata." + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" +"Viga DVI-failis '%1' leheküljel %2. Anti värvi pop-käsk, samas kui värvipinu " +"on tühi." + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" +"Vigane parameeter epsf erikäsus.\n" +"Oodati ujukomaarvu järgnemist %1-le %2-s" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"Faili ei leitud: \n" +" %1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" +"Viga DVI-failis \"%1\" leheküljel %2. Teksti pöördenurga interpreteerimine " +"nurjus." + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "Erikäsk '%1' ei ole rakendatud." + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "Fondifaili %1 võib küll avada, aga selle vorming ei ole toetatud." + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "Fondifail %1 on katki või ei saa seda avada ega lugeda." + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "FreeType andis teada veast, kui määras fondifailile %1 sümbolisuurust." + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "FreeType ei suutnud avada fondifaili %2 glüüfi #%1." + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "FreeType ei suutnud teisendada fondifaili %2 glüüfi #%1." + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "Glüüf #%1 on tühi." + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "Glüüf #%1 fondifailist %2 on tühi." + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "FreeType ei suutnud avada fondifaili %2 glüüfi #%1 meetrikat." + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "Fondifaili %1 avamine nurjus." + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "TexFont_PK::operator[]: Sümbol %1 pole defineeritud fondis %2 " + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "Ootamatu %1 PK-failis %2" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "Sümbol %1 on liiga suur failis %2" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "Vale arv bitte salvestatud: sümbol %1, font %2" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "Halb pk-fail (%1), liiga palju bitte" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "Fondil ei ole ruudukujuline kõrguse/laiuse suhe" + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "Ei leitud fondi %1 faili %2." + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "Fondifaili %1 kontrollsumma ei klapi" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "Fondifaili %1 vormingut ei tuntud ära" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"Saatuslik viga.\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" +"\n" +"\n" +"See tähendab tavaliselt, et sa kas leidsid vea Okularis\n" +"või on DVI-fail või abifailid (näiteks fondifailid \n" +"või virtuaalsed fondifailid) põhjalikult katki.\n" +"Okular lõpetab töö pärast seda teadet. Kui sa arvad, et \n" +"leidsid vea või et Okular peaks sellises olukorras paremini käituma,\n" +"saada palun vearaport." + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "Vale käsubait VF makro nimekirjas: %1" + +#~ msgid "" +#~ "

The Ghostview program, which Okular uses internally to display the " +#~ "PostScript graphics that is included in this DVI file, is generally able " +#~ "to write its output in a variety of formats. The sub-programs that " +#~ "Ghostview uses for these tasks are called 'device drivers'; there is one " +#~ "device driver for each format that Ghostview is able to write. Different " +#~ "versions of Ghostview often have different sets of device drivers " +#~ "available. It seems that the version of Ghostview that is installed on " +#~ "this computer does not contain any of the device drivers " +#~ "that are known to Okular.

It seems unlikely that a regular " +#~ "installation of Ghostview would not contain these drivers. This error may " +#~ "therefore point to a serious misconfiguration of the Ghostview " +#~ "installation on your computer.

If you want to fix the problems with " +#~ "Ghostview, you can use the command gs --help to display " +#~ "the list of device drivers contained in Ghostview. Among others, Okular " +#~ "can use the 'png256', 'jpeg' and 'pnm' drivers. Note that Okular needs to " +#~ "be restarted to re-enable PostScript support.

" +#~ msgstr "" +#~ "

Programm Ghostview, mida Okular kasutab seesmiselt antud DVI-faili " +#~ "kaasatud PostScript-graafika näitamiseks, suudab üldiselt kirjutada oma " +#~ "väljundi mitmes vormingus. Alamprogramme, mida Ghostview selleks kasutab, " +#~ "nimetatakse 'seadmedraiveriteks' ja igale vormingule, mida ghostview " +#~ "oskab kirjutada, on just üks seadmedraiver. Ghostview erinevatel " +#~ "versioonidel on erinev valik seadmedraivereid. Paistab aga, et sinu " +#~ "arvutisse paigaldatud Ghostview versioon ei sisalda mitte ühtegi seadmedraiverit, mida Okular ära tunneks.

On äärmiselt " +#~ "väheusutav, et üks tavaline Ghostview neid draivereid ei sisaldaks. See " +#~ "võib osutada Ghostview väga vigasele paigaldusele sinu arvutis.

Kui " +#~ "soovid seda probleemi parandada, võiksid anda käsu gs --help, mis näitab Ghostview seadmedraiverite nimekirja. Muu hulgas võib " +#~ "Okular kasutada draivereid 'png256', 'jpeg' ja 'pnm'. Pane tähele, et " +#~ "PostScripti toetuse taasrakendamiseks tuleb Okular sulgeda ja " +#~ "taaskäivitada.

" + +#~ msgid "DVI Backend" +#~ msgstr "DVI taustaprogramm" + +#~ msgid "A DVI file renderer" +#~ msgstr "DVI-faili renderdaja" + +#~ msgid "© 2006 Luigi Toscano" +#~ msgstr "© 2006: Luigi Toscano" + +#~ msgid "" +#~ "

Okular relies on the kpsewhich program to locate font files on " +#~ "your hard disk and to generate PK fonts, if necessary.

" +#~ msgstr "" +#~ "

Okular kasutab fontide tuvastamisel sinu kõvakettal ja vajaduse korral " +#~ "PK-fontide tekitamiseks programmi kpsewhich.

" + +#~ msgid "Okular is currently generating bitmap fonts..." +#~ msgstr "Okular tekitab parajasti pikselrasterfonte..." + +#~ msgid "Aborts the font generation. Do not do this." +#~ msgstr "Katkestab fontide tekitamise. Ära tee seda." + +#~ msgid "" +#~ "Okular is currently generating bitmap fonts which are needed to display " +#~ "your document. For this, Okular uses a number of external programs, such " +#~ "as MetaFont. You can find the output of these programs later in the " +#~ "document info dialog." +#~ msgstr "" +#~ "Okular tekitab parajasti pikselrasterfonte, mis on vajalikud sinu " +#~ "dokumendi näitamiseks. Selleks kasutab Okular mõningaid väliseid " +#~ "programme, nagu MetaFont. Sa võid vaadata nende programmide väljundit " +#~ "hiljem dokumendi info dialoogist." + +#~ msgid "Okular is generating fonts. Please wait." +#~ msgstr "Okular tekitab fonte. Palun oota." + +#~ msgid "Font Generation Progress Dialog" +#~ msgstr "Fondi genereerimise edenemise dialoog" + +#~ msgid "Abort" +#~ msgstr "Katkesta" + +#~ msgid "What is happening here?" +#~ msgstr "Mis siin toimub?" + +#~ msgid "%v of %m" +#~ msgstr "%v/%m" + +#~ msgid "Please be patient" +#~ msgstr "Palun ole kannatlik" + +#~ msgid "*.pdf|Portable Document Format (*.pdf)" +#~ msgstr "*.pdf|Portable Document Format (*.pdf)" + +#~ msgid "Export File As" +#~ msgstr "Faili eksportimine" + +#~ msgid "" +#~ "The file %1\n" +#~ "exists. Do you want to overwrite it?" +#~ msgstr "" +#~ "Fail %1\n" +#~ "on juba olemas. Kas kirjutada see üle?" + +#~ msgid "Overwrite File" +#~ msgstr "Faili ülekirjutamine" + +#~ msgid "Overwrite" +#~ msgstr "Kirjuta üle" + +#~ msgid "Using dvipdfm to export the file to PDF" +#~ msgstr "Dvipdfm kasutamine faili eksportimisel PDF-i" + +#~ msgid "" +#~ "Okular is currently using the external program 'dvipdfm' to convert your " +#~ "DVI-file to PDF. Sometimes that can take a while because dvipdfm needs to " +#~ "generate its own bitmap fonts Please be patient." +#~ msgstr "" +#~ "Okular kasutab välist programmi 'dvipdfm' sinu DVI-faili teisendamisel " +#~ "PDF-i. Mõnikord võtab see kaua aega, kuna dvipdfm peab tekitama oma " +#~ "pikselrasterfondid. Varu kannatust." + +#~ msgid "Waiting for dvipdfm to finish..." +#~ msgstr "Ootamine, kuni dvipdfm lõpetab..." + +#~ msgid "*.ps|PostScript (*.ps)" +#~ msgstr "*.ps|PostScript (*.ps)" + +#~ msgid "Using dvips to export the file to PostScript" +#~ msgstr "Dvips kasutamine faili eksportimisel PostScripti" + +#~ msgid "" +#~ "Okular is currently using the external program 'dvips' to convert your " +#~ "DVI-file to PostScript. Sometimes that can take a while because dvips " +#~ "needs to generate its own bitmap fonts Please be patient." +#~ msgstr "" +#~ "Okular kasutab välist programmi 'dvips' sinu DVI-faili teisendamisel " +#~ "PostScripti. Mõnikord võtab see kaua aega, kuna dvips peab tekitama oma " +#~ "pikselrasterfondid. Varu kannatust." + +#~ msgid "Waiting for dvips to finish..." +#~ msgstr "Ootamine, kuni dvips lõpetab..." + +#~ msgid "Functionality Unavailable" +#~ msgstr "Funktsionaalsus pole saadaval" + +#~ msgid "" +#~ "File corruption Okular could not interpret your DVI " +#~ "file. This is most commonly caused by a corrupted file." +#~ msgstr "" +#~ "Faili viga Okular ei suutnud tõlgendada sinu DVI-" +#~ "faili. Enamasti on selle põhjuseks riknenud fail." + +#~ msgid "DVI File Error" +#~ msgstr "DVI-faili viga" + +#~ msgid "Not All Font Files Found" +#~ msgstr "Kõiki fondifaile ei leitud" + +#~ msgid "Locating fonts..." +#~ msgstr "Fontide otsimine..." + +#~ msgid "Problem locating fonts" +#~ msgstr "Probleem fontide tuvastamisel" + +#~ msgid "Font generation aborted" +#~ msgstr "Fontide tekitamine katkestati" + +#~ msgid "Export: %1 to PDF" +#~ msgstr "Eksport: %1 PDF-i" + +#~ msgid "Export: %1 to PostScript" +#~ msgstr "Eksport: %1 PostScripti" + +#~ msgid "The fontlist is currently empty." +#~ msgstr "Fontide nimekiri on praegu tühi." + +#~ msgid "TeX Name" +#~ msgstr "TeXi nimi" + +#~ msgid "Family" +#~ msgstr "Perekond" + +#~ msgid "Zoom" +#~ msgstr "Suurendus" + +#~ msgid "Type" +#~ msgstr "Tüüp" + +#~ msgid "Encoding" +#~ msgstr "Kodeering" + +#~ msgid "Comment" +#~ msgstr "Kommentaar" + +#~ msgid "TeX virtual" +#~ msgstr "TeXi virtuaalne" + +#~ msgid "TeX Font Metric" +#~ msgstr "TeX fondimeetrika" + +#~ msgid "FreeType" +#~ msgstr "FreeType" + +#~ msgid "Could not allocate memory for a font structure" +#~ msgstr "Mälu eraldamine fondistruktuurile nurjus" + +#~ msgid "Not enough memory to load the DVI-file." +#~ msgstr "DVI-faili laadimiseks napib mälu." + +#~ msgid "Could not load the DVI-file." +#~ msgstr "DVI-faili ei suudetud laadida." + +#~ msgid "Checksum mismatch" +#~ msgstr "Kontrollsumma ei klapi" + +#~ msgid " in font file " +#~ msgstr " fondifailis " + +#~ msgid "Could not allocate memory for a macro table." +#~ msgstr "Napib mälu makrode tabeli jaoks." + +#~ msgid "Virtual character " +#~ msgstr "Virtuaalset sümbolit " + +#~ msgid " in font " +#~ msgstr " fondis " + +#~ msgid " ignored." +#~ msgstr " ignoreeriti." + +#~ msgid "Fatal Error" +#~ msgstr "Saatuslik viga" + +#~ msgid "" +#~ "This DVI file contains source file information. You may click into " +#~ "the text with the middle mouse button, and an editor will open the TeX-" +#~ "source file immediately." +#~ msgstr "" +#~ "See DVI-fail sisaldab lähtefaili infot. Kui sa klõpsad tekstile hiire " +#~ "keskmise nupuga, avatakse redaktoris koheselt TeXi lähtefail." + +#~ msgid "Do not show this message again" +#~ msgstr "Seda teadet rohkem ei näidata" + +#~ msgid "Explain in more detail..." +#~ msgstr "Selgita täpsemalt..." + +#~ msgid "" +#~ "File error. The specified file '%1' does not exist. " +#~ "KDVI already tried to add the ending '.dvi'." +#~ msgstr "" +#~ "Faili viga. Osutatud faili '%1' ei ole olemas. KDVI " +#~ "juba proovis lisada laiendit '.dvi'." + +#~ msgid "File Error" +#~ msgstr "Faili viga" + +#~ msgid "Could Not Find Reference" +#~ msgstr "Viidet ei leitud" diff --git a/po/et/okular_epub.po b/po/et/okular_epub.po new file mode 100644 index 0000000..cd4810f --- /dev/null +++ b/po/et/okular_epub.po @@ -0,0 +1,56 @@ +# translation of okular_epub.po to Estonian +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Marek Laane , 2008, 2014. +msgid "" +msgstr "" +"Project-Id-Version: okular_epub\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2014-06-02 23:19+0300\n" +"Last-Translator: Marek Laane \n" +"Language-Team: Estonian \n" +"Language: et\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Marek Laane" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "bald@smail.ee" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "Viga EPubi dokumendi avamisel." + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "EPub" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "EPubi taustaprogrammi seadistamine" + +#~ msgid "EPub Backend" +#~ msgstr "EPubi taustaprogramm" + +#~ msgid "An EPub backend" +#~ msgstr "EPubi taustaprogramm" + +#~ msgid "© 2008 Ely Levy" +#~ msgstr "© 2008: Ely Levy" + +#~ msgid "Ely Levy" +#~ msgstr "Ely Levy" diff --git a/po/et/okular_fax.po b/po/et/okular_fax.po new file mode 100644 index 0000000..efe2c02 --- /dev/null +++ b/po/et/okular_fax.po @@ -0,0 +1,45 @@ +# Copyright (C) 2008 This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Marek Laane , 2008. +msgid "" +msgstr "" +"Project-Id-Version: okular_fax\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-12-01 18:03+0200\n" +"Last-Translator: Marek Laane \n" +"Language-Team: Estonian \n" +"Language: et\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.3\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Marek Laane" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "bald@smail.ee" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "Dokumendi laadimine nurjus" + +#~ msgid "Fax Backend" +#~ msgstr "Faksi taustaprogramm" + +#~ msgid "A G3/G4 fax document backend" +#~ msgstr "G3/G4 faksidokumendi taustaprogramm" + +#~ msgid "© 2008 Tobias Koenig" +#~ msgstr "© 2008: Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/et/okular_fictionbook.po b/po/et/okular_fictionbook.po new file mode 100644 index 0000000..cd54d5f --- /dev/null +++ b/po/et/okular_fictionbook.po @@ -0,0 +1,96 @@ +# translation of okular_fictionbook.po to Estonian +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Marek Laane , 2007-2008, 2014. +msgid "" +msgstr "" +"Project-Id-Version: okular_fictionbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2014-06-02 23:19+0300\n" +"Last-Translator: Marek Laane \n" +"Language-Team: Estonian \n" +"Language: et\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Marek Laane" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "bald@smail.ee" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "Dokument ei ole korrektne FictionBook" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "Dokumendi avamine nurjus: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "Dokument ei ole korrektne ZIP-arhiiv" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "Vigane dokumendistruktuur (peakataloog puudub)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "Dokumendis ei leitud sisu" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "Vigane XML-dokument: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "FictionBook" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "FictionBooki taustaprogrammi seadistamine" + +#~ msgid "Fiction Book Backend" +#~ msgstr "FictionBooku taustaprogramm" + +#~ msgid "A renderer for FictionBook eBooks" +#~ msgstr "FictionBooki e-raamatute renderdaja" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008: Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" + +#~ msgid "Creator" +#~ msgstr "Looja" + +#~ msgid "Title" +#~ msgstr "Pealkiri" + +#~ msgid "Author" +#~ msgstr "Autor" + +#~ msgid "Producer" +#~ msgstr "Valmistaja" + +#~ msgid "Created" +#~ msgstr "Loodud" diff --git a/po/et/okular_ghostview.po b/po/et/okular_ghostview.po new file mode 100644 index 0000000..9db747a --- /dev/null +++ b/po/et/okular_ghostview.po @@ -0,0 +1,124 @@ +# translation of okular_ghostview.po to Estonian +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Marek Laane , 2007-2008. +# Marek Laane , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_ghostview\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-04-13 21:17+0300\n" +"Last-Translator: Marek Laane \n" +"Language-Team: Estonian \n" +"Language: et\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.3\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Marek Laane" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "bald@smail.ee" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "Platvormi fontide kasutamine" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"Määrab, kas Ghostscript peab kasutama platvormi fonte. Kui pole sisse " +"lülitatud, on lubatud ainult dokumenti põimitud fontide kasutamine." + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "Üldised seadistused" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "&Süsteemi fontide kasutamine" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Ghostscripti taustaprogrammi seadistus" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "Dokumendi versioon" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "Keele tase" + +#~ msgid "PS Backend" +#~ msgstr "PS-i taustaprogramm" + +#~ msgid "A PostScript file renderer." +#~ msgstr "PostScript-failide renderdaja." + +#~ msgid "© 2007-2008 Albert Astals Cid" +#~ msgstr "© 2007-2008: Albert Astals Cid" + +#~ msgid "Based on the Spectre library." +#~ msgstr "Loodud Spectre teegi põhjal." + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "" +#~ "Anti-aliasing makes the result look better, but it makes the display take " +#~ "longer" +#~ msgstr "" +#~ "Antialias muudab välimuse ilusamaks, kuid tulemuse saavutamiseks kulub " +#~ "rohkem aega" + +#~ msgid "&Enable anti-aliasing of fonts" +#~ msgstr "&Fontide antialiase lubamine" + +#~ msgid "&Enable anti-aliasing of graphics" +#~ msgstr "Graa&fika antialiase lubamine" + +#~ msgid "" +#~ "Ghostscript is the basic renderer (the program which draws the " +#~ "picture)
\n" +#~ "In case of problems you might want to see its error messages" +#~ msgstr "" +#~ "Renderdamiseks (näidatava kujutise joonistamiseks) on kasutusel " +#~ "Ghostscript
\n" +#~ "Kui tekib probleeme, on võimalik näha veateateid" + +#~ msgid "&Show Ghostscript messages in a separate box" +#~ msgstr "&Ghostscripti teateid näidatakse eraldi kastis" + +#~ msgid "Ghostscript Configuration" +#~ msgstr "Ghostscripti seadistamine" + +#~ msgid "Additional parameters to Ghostscript" +#~ msgstr "Ghostscripti lisaparameetrid" diff --git a/po/et/okular_kimgio.po b/po/et/okular_kimgio.po new file mode 100644 index 0000000..4f71a02 --- /dev/null +++ b/po/et/okular_kimgio.po @@ -0,0 +1,71 @@ +# translation of okular_kimgio.po to Estonian +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Marek Laane , 2007. +# Marek Laane , 2009, 2019. +msgid "" +msgstr "" +"Project-Id-Version: okular_kimgio\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-11-09 21:07+0200\n" +"Last-Translator: Marek Laane \n" +"Language-Team: Estonian \n" +"Language: et\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 19.08.1\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Marek Laane" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "qiilaq69@gmail.com" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "Dokumendi laadimine nurjus: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" +"Dokument tundub olevat moonutatud. Me pakume parimat arusaama, kuidas võiks " +"dokument välja näha algse kavatsuse kohaselt." + +#~ msgid "Image Backend" +#~ msgstr "Piltide taustaprorgramm" + +#~ msgid "A simple image backend" +#~ msgstr "Lihtne piltide taustaprogramm" + +#~ msgid "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" +#~ msgstr "" +#~ "© 2005, 2009: Albert Astals Cid\n" +#~ "© 2006-2007: Pino Toscano\n" +#~ "© 2006-2007: Tobias Koenig" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" + +#~ msgid "Main Toolbar" +#~ msgstr "Peamine tööriistariba" diff --git a/po/et/okular_markdown.po b/po/et/okular_markdown.po new file mode 100644 index 0000000..b5db8d0 --- /dev/null +++ b/po/et/okular_markdown.po @@ -0,0 +1,53 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Marek Laane , 2019. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-11-09 21:10+0200\n" +"Last-Translator: Marek Laane \n" +"Language-Team: Estonian \n" +"Language: et\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 19.08.1\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Marek Laane" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "qiilaq69@gmail.com" + +#: converter.cpp:59 converter.cpp:93 +#, kde-format +msgid "Failed to open the document" +msgstr "Dokumendi avamine nurjus" + +#: converter.cpp:106 converter.cpp:124 +#, kde-format +msgid "Failed to compile the Markdown document." +msgstr "Markdowni dokumendi kompileerimine nurjus" + +#: generator_md.cpp:58 +#, kde-format +msgid "Enable SmartyPants formatting" +msgstr "SmartyPantsi vorminduse lubamine" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown" +msgstr "Markdown" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown Backend Configuration" +msgstr "Markdowni taustaprogrammi seadistus" diff --git a/po/et/okular_mobi.po b/po/et/okular_mobi.po new file mode 100644 index 0000000..65f841f --- /dev/null +++ b/po/et/okular_mobi.po @@ -0,0 +1,63 @@ +# translation of okular_mobi.po to Estonian +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Marek Laane , 2009, 2014. +msgid "" +msgstr "" +"Project-Id-Version: okular_mobi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2014-06-02 23:20+0300\n" +"Last-Translator: Marek Laane \n" +"Language-Team: Estonian \n" +"Language: et\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Marek Laane" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "bald@smail.ee" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Viga Mobipocketi dokumendi avamisel." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "" +"Seda raamatut kaitseb DRM ning seda saab näha ainult spetsiaalsetes seadmetes" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "Mobipocket" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "Mobipocketi taustaprogrammi seadistamine" + +#~ msgid "Mobipocket Backend" +#~ msgstr "Mobipocket taustaprogramm" + +#~ msgid "A mobipocket backend" +#~ msgstr "Mobipocketi taustaprogramm" + +#~ msgid "© 2008-2009 Jakub Stachowski" +#~ msgstr "© 2008-2009: Jakub Stachowski" + +#~ msgid "Jakub Stachowski" +#~ msgstr "Jakub Stachowski" diff --git a/po/et/okular_poppler.po b/po/et/okular_poppler.po new file mode 100644 index 0000000..e55bbc3 --- /dev/null +++ b/po/et/okular_poppler.po @@ -0,0 +1,432 @@ +# translation of okular_poppler.po to Estonian +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Marek Laane , 2007-2008. +# Marek Laane , 2009, 2010, 2012, 2014, 2019. +msgid "" +msgstr "" +"Project-Id-Version: okular_poppler\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-11-09 21:13+0200\n" +"Last-Translator: Marek Laane \n" +"Language-Team: Estonian \n" +"Language: et\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 19.08.1\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Marek Laane" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "qiilaq69@gmail.com" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "Peente joonte täiendamine:" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "Ei" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "Ühtlane" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "Kuju" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, fuzzy, kde-format +#| msgid "Scaling mode for the printed pages" +msgid "Default scaling mode when printing:" +msgstr "Trükitavate lehtede skaleerimisrežiim" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "Sobitamine trükitava alaga" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "Sobitamine kogu lehele" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "Puudub: trükitakse algsuuruses" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "PDF-i valikud" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "Annotatsioonide trükkimine" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "Annotatsioonide kaasamine trükitud dokumenti" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"Annotatsioonide kaasamine trükitud dokumenti. Selle võib jätta märkimata, " +"kui soovid trükkida algupärast annoteerimata dokumenti." + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "Rasterdamine jõuga" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "Rasterdamine pildiks enne trükkimist" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"Sunnib peale kõigi lehekülgede rasterdamise pildiks enne nende trükkimist. " +"See annab tavaliselt mõnevõrra kehvema tulemuse, aga on abiks dokumentide " +"trükkimisel, mida muidu ei õnnestu korrektselt trükkida." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "Trükitavate lehtede skaleerimisrežiim" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "Skaleerimisrežiim:" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF v. %1.%2" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "Vorming" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "Krüptitud" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "Krüptimata" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "Turvalisus" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "Jah" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "Optimeeritud" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "Kasutusel on Poppler %1" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" +"Kasutusel on Poppler %1\n" +"\n" +"Ehitatud Poppler %2 peale" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "PDF-i taustaprogrammi seadistamine" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "" + +#: pdfsignatureutils.cpp:239 +#, fuzzy, kde-format +#| msgid "Document Password" +msgid "Enter Password" +msgstr "Dokumendi parool" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "" + +#~ msgid "Not Available" +#~ msgstr "Pole saadaval" + +#~ msgid "PDF Backend" +#~ msgstr "PDF-i taustaprogramm" + +#~ msgid "A PDF file renderer" +#~ msgstr "PDF-faili renderdaja" + +#~ msgid "© 2005-2008 Albert Astals Cid" +#~ msgstr "© 2005-2008: Albert Astals Cid" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Saving files with /Encrypt is not supported." +#~ msgstr "Failide salvestamine krüptimisega ei ole toetatud." + +#~ msgid "Unknown" +#~ msgstr "Tundmatu" + +#~ msgid "Unknown Date" +#~ msgstr "Tundmatu kuupäev" + +#~ msgid "Unknown Encryption" +#~ msgstr "Tundmatu krüpto" + +#~ msgid "Unknown Optimization" +#~ msgstr "Tundmatu optimeerimine" + +#~ msgid "Please enter the password to read the document:" +#~ msgstr "Palun anna dokumendi lugemiseks vajalik parool:" + +#~ msgid "Incorrect password. Try again:" +#~ msgstr "Vigane parool. Proovi uuesti:" + +#~ msgid "" +#~ "The margins you specified are changing the page aspect ratio. Do you want " +#~ "to print with the aspect ratio changed or do you want the margins to be " +#~ "adapted so that aspect ratio is preserved?" +#~ msgstr "" +#~ "Määratud veerised muudavad lehekülje proportsiooni. Kas soovid trükkida " +#~ "lehekülje muudetud proportsiooniga või kohandada veeriseid, nii et " +#~ "proportsioon säiliks?" + +#~ msgid "Aspect ratio change" +#~ msgstr "Proportsiooni muutmine" + +#~ msgid "Print with specified margins" +#~ msgstr "Trükkimine määratud veeristega" + +#~ msgid "Print adapting margins to keep aspect ratio" +#~ msgstr "Trükkimine proportsiooni säilitades ja veeriseid kohandades" diff --git a/po/et/okular_txt.po b/po/et/okular_txt.po new file mode 100644 index 0000000..2d70876 --- /dev/null +++ b/po/et/okular_txt.po @@ -0,0 +1,50 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Marek Laane , 2014. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2014-07-18 05:17+0300\n" +"Last-Translator: Marek Laane \n" +"Language-Team: Estonian \n" +"Language: et\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 1.5\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Marek Laane" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "bald@smail.ee" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "Txt" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "Txt-i taustaprogrammi seadistamine" + +#~ msgid "Txt Backend" +#~ msgstr "Txt-i taustaprogramm" + +#~ msgid "Txt backend." +#~ msgstr "Txt-i taustaprogramm." + +#~ msgid "© 2013 Azat Khuzhin" +#~ msgstr "© 2013: Azat Khuzhin" + +#~ msgid "Azat Khuzhin" +#~ msgstr "Azat Khuzhin" diff --git a/po/et/okular_xps.po b/po/et/okular_xps.po new file mode 100644 index 0000000..817b5d7 --- /dev/null +++ b/po/et/okular_xps.po @@ -0,0 +1,58 @@ +# translation of okular_xps.po to Estonian +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Marek Laane , 2007-2008. +msgid "" +msgstr "" +"Project-Id-Version: okular_xps\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-08-04 23:27+0300\n" +"Last-Translator: Marek Laane \n" +"Language-Team: Estonian \n" +"Language: et\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Marek Laane" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "bald@starman.ee" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "Versioon" + +#~ msgid "XPS Backend" +#~ msgstr "XPS-i taustaprogramm" + +#~ msgid "An XPS backend" +#~ msgstr "XPS-i taustaprogramm" + +#~ msgid "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" +#~ msgstr "" +#~ "© 2006-2007: Brad Hards\n" +#~ "© 2007: Jiri Klement\n" +#~ "© 2008: Pino Toscano" + +#~ msgid "Brad Hards" +#~ msgstr "Brad Hards" + +#~ msgid "Jiri Klement" +#~ msgstr "Jiri Klement" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" diff --git a/po/et/org.kde.active.documentviewer.po b/po/et/org.kde.active.documentviewer.po new file mode 100644 index 0000000..e52564c --- /dev/null +++ b/po/et/org.kde.active.documentviewer.po @@ -0,0 +1,233 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Marek Laane , 2012, 2016, 2019. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-11-09 21:17+0200\n" +"Last-Translator: Marek Laane \n" +"Language-Team: Estonian \n" +"Language: et\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 19.08.1\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "Järjehoidjad" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +msgid "Export…" +msgstr "" + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "" + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "Okular" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "" + +#: ui/Main.qml:49 +msgid "About" +msgstr "" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "Eemalda järjehoidja" + +#: ui/MainView.qml:29 +msgid "Bookmark this page" +msgstr "Pane see lehekülg järjehoidjatesse" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "Pisipildid" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "Sisukord" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:96 +msgid "Document Version" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:108 +msgid "Save Signed Version…" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +msgid "View Certificate…" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "" + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "Tulemusi ei leitud." + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "" + +#: ui/WelcomeView.qml:108 +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "" + +#~ msgid "Open..." +#~ msgstr "Ava ..." + +#~ msgid "Search..." +#~ msgstr "Otsi ..." + +#~ msgid "" +#~ "No Documents found. To start to read, put some files in the Documents " +#~ "folder of your device." +#~ msgstr "" +#~ "Ühtegi dokumenti ei leitud. Lugemise alustamiseks paiguta vähemalt mõned " +#~ "dokumendid oma seadme kataloogi Dokumendid." + +#~ msgid "Document viewer for Plasma Active using Okular" +#~ msgstr "Okulari kasutav Plasma Active'i dokumendinäitaja" + +#~ msgid "Reader" +#~ msgstr "Lugeja" + +#~ msgid "Copyright 2012 Marco Martin" +#~ msgstr "Autoriõigus 2012: Marco Martin" + +#~ msgid "Marco Martin" +#~ msgstr "Marco Martin" + +#~ msgid "URL of the file to open" +#~ msgstr "Avatava faili URL" diff --git a/po/eu/okular.po b/po/eu/okular.po new file mode 100644 index 0000000..b60b802 --- /dev/null +++ b/po/eu/okular.po @@ -0,0 +1,6637 @@ +# Translation for okular.po to Euskara/Basque (eu). +# Copyright (C) 2003-2025 This file is copyright: +# This file is distributed under the same license as the okular package. +# SPDX-FileCopyrightText: 2023, 2024, 2025 KDE euskaratzeko proiektuaren arduraduna +# +# Translators: +# Marcos , 2003, 2005, 2006. +# Ion Gaztañaga , 2005. +# Iñaki Larrañaga Murgoitio , 2009. +# Iñigo Salvador Azurmendi , 2011, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-09-02 00:23+0200\n" +"Last-Translator: Iñigo Salvador Azurmendi \n" +"Language-Team: Basque \n" +"Language: eu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 25.08.0\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Iñigo Salvador Azurmendi,Marcos,Ion Gaztañaga" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "xalba@ni.eus,marcos@euskalgnu.org,igaztanaga@gmail.com" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Okular, dokumentu erakusle unibertsal bat" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "Aurreko mantentzailea" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "" +"Azpiegituran lan asko, FictionBook bizkarraldekoa eta ODT bizkarraldeko ohia" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "Garatzailea" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymanski" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "Okular sortu zuen KPDFren sorburu-oinarritik abiatuta" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "Enrico Ros" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "KPDF garatzailea" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "Eugene Trounev" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "Idatzoharren artelana" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "Jiri Baum - NICTA" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "Taula hautatzeko tresna" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "Fabio D'Urso" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "Idatzoharretan hobekuntzak" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "Joan %1 orrialdera" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "Ireki kanpoko fitxategia" + +#: core/action.cpp:197 +#, kde-format +msgid "Execute '%1'…" +msgstr "Exekutatu '%1'..." + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "Aurreneko orrialdea" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "Aurreko orrialdea" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "Hurrengo orrialdea" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "Azken orrialdea" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "Atzera" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "Aurrera" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Irten" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "Hasi aurkezpena" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "Amaitu aurkezpena" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "Aurkitu…" + +#: core/action.cpp:314 +#, kde-format +msgid "Go To Page…" +msgstr "Joan orrialdera..." + +#: core/action.cpp:365 +#, kde-format +msgid "Play sound…" +msgstr "Jo soinua..." + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "JavaScript script-a" + +#: core/action.cpp:483 +#, kde-format +msgid "Play movie…" +msgstr "Jo filma..." + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "Jo filma" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "Gelditu filma" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "Eten filma" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "Berrekin filma" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "Okular hau audio euskarririk gabe eraikita dago" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "Bizkarraldekoaren hautapena" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
%1 (%2).

Please select which one to use:
" +msgstr "" +"Bizkarraldeko bat baino gehiago aurkitu da MIME motarentzako:
" +"%1 (%2).

Hautatu zein erabili:
" + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "Orri gehienak %1 dira." + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "Erretratua %1" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "Paisaia %1" + +#: core/document.cpp:246 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 × %2 in (%3)" + +#: core/document.cpp:248 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 × %2 mm (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "Bilaketa hasieratik jarraitzea" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "Bilaketa bukaeratik jarraitzea" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "Ezin da aurkitu pasatu den dokumentua erabiltzeko gauza den pluginik." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "Sinadura ez dago dokumentu mota honetarako inplementatuta" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "Kendu idatzoharrak" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"Dokumentua kanpoko aplikazio bat exekutatzen saiatzen ari da, eta zure " +"segurtasunerako, Okular-ek ez du hau onartzen." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "Ez da %1 MIME motako fitxategia irekitzeko aplikaziorik aurkitu." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "Ezin izan da aldi baterako fitxategia ireki" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "Inprimaketa bihurketak huts egin du" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "Inprimatzeko prozesua kraskatu egin da" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "Inprimatzeko prozesua ezin izan da abiatu" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "Fitxategira inprimatzea huts egin du" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "Inprimagailua egoera baliogabean zegoen" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "Ezin aurkitu inprimatu beharreko fitxategia" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "Ez zegoen inprimatu beharreko fitxategirik" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"Ezin izan da inprimatzeko bitar egokirik aurkitu. Ziurtatu CUPSen lpr " +"bitarra eskuragarri dagoela" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "Orriaren inprimatze neurria baliogabea da" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "Ezin da '%1' ireki. Fitxategia ez dago" + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Izenburua" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Gaia" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Azalpena" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "Egilea" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Sortzailea" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Ekoizlea" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "Copyright" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "Orrialdeak" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Sortua" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Aldatua" + +#: core/document.cpp:6032 +#, kde-format +msgid "MIME Type" +msgstr "MIME-mota" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "Kategoria" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Gako-hitzak" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "Fitxategiaren bidea-izena" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "Fitxategi-neurria" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "Orri-neurria" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "gehitu idatzoharra" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "kendu idatzoharra" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "aldatu idatzoharren propietateak" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "itzuli idatzoharra" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "doitu idatzoharra" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "editatu testua" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "editatu idatzoharraren edukia" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "editatu inprimakiaren edukia" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "editatu inprimakiko zerrendaren aukerak" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "editatu inprimakiko konbinatuaren hautapena" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "editatu inprimakiko botoiaren egoerak" + +#: core/generator.cpp:790 +#, kde-format +msgid "Plain &Text…" +msgstr "&Testu arrunta..." + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "OpenDocument testua" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "Inprimatze aukerak" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "Egokitu azalera inprimagarrira" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "Egokitu orri osora" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "Eskalatze modua:" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "Ez berriz erakutsi mezu hau" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "Ez erabilgarria" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" +"Sinatzeko barneko errorea. Mesedez eman akats baten berri hura errepikatzeko " +"urratsekin. Errore kodea %1" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "Ezin izan du dokumentua sinatu: %1" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "Erabiltzailek sinatzea bertan behera utzi du" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "Ezin izan du sinatu. Pasaesaldi okerra" + +#: core/signatureutils.cpp:504 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" +"Ezin izan du sinatutako dokumentua %1(e)an idatzi, " +"mesedez, ziurtatu idazteko baimena duzun karpeta bat aukeratu duzula" + +#: core/signatureutils.cpp:506 +#, kde-format +msgid "Unknown signing error" +msgstr "Sinatzeko errore ezezaguna" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Sorburua: %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "Letra-tipo &lehenetsia:" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "Bertsioa" + +#: gui/certificatemodel.cpp:41 +#, kde-format +msgid "Serial Number" +msgstr "Serie-zenbakia" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "Jaulkitzailea" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "Noiz jaulkia" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "Noiz iraungi" + +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Gaia" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "Gako publikoa" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "Gakoaren erabilera" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "V%1" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "%1 (%2 bit)" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "Propietatea" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "Balioa" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "Ohar gainerakorra" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "Idazmakina" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "Lerro barruko oharra" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +#| msgid "Polygon with Comment" +msgid "Arrow with Comment" +msgstr "Poligonoa iruzkinarekin" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "Gezia" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "Lerro zuzena iruzkinarekin" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "Marra zuzena" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "Poligonoa iruzkinarekin" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "Poligonoa" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgid "Stamp with Comment" +msgid "Rectangle with Comment" +msgstr "Zigilua iruzkinarekin" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "Laukizuzena" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgid "Underline with Comment" +msgid "Ellipse with Comment" +msgstr "Azpimarra iruzkinarekin" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "Elipsea" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "Nabarmentzea iruzkinarekin" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "Nabarmendu" + +#: gui/guiutils.cpp:87 +#, kde-format +msgid "Squiggle with Comment" +msgstr "Zirrimarra iruzkinarekin" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "Zirrimarra" + +#: gui/guiutils.cpp:91 +#, kde-format +msgid "Underline with Comment" +msgstr "Azpimarra iruzkinarekin" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "Azpimarra" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out with Comment" +msgstr "Marratua iruzkinarekin" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "Marratua" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "Zigilua iruzkinarekin" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "Zigilua" + +#: gui/guiutils.cpp:106 +#, kde-format +msgid "Freehand Line with Comment" +msgstr "Esku hutsezko lerroa iruzkinarekin" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "Esku hutsezko lerroa" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "Kurtsorea" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "Fitxategi eranskina" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "Soinua" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "Filma" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Pantaila" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "Trepeta" + +# xalba 2018-08-04 lr: Testuinguruan egokia izango den zalantza. +# +# Rich media: Euskarri aberastua +# +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "Euskarri aberastua" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation" +msgstr "Idatzohar" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "Ezezaguna" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Egilea: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "Non gorde nahi duzu %1?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "Ezin izan da \"%1\" idazteko ireki. Fitxategia ez da gorde." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "Sinadura kriptografikoki baliozkoa da." + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "Sinadura kriptografikoki baliogabea da." + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "Laburpen parekatze okerra." + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "Sinaduraren CMS/PKCS7 egitura gaizki osatua dago." + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "Eskatutako sinadura ez dago dokumentuan." + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "Sinadura ezin izan da egiaztatu." + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "Ziurtagiri honek konfiantza du. " + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "Ziurtagiri jaulkitzaileak ez du konfiantzarik." + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "Ziurtagiri jaulkitzailea ezezaguna da." + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "Ziurtagiria indargabetu egin da." + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "Ziurtagiria iraungi egin da." + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "Ziurtagiria ez da oraindik egiaztatu." + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "Ziurtagiri-baliozkokotzea martxan dago" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "Ziurtagiriarekin arazo ezezaguna edo datuak hondatuta." + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "MD2" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "MD5" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "SHA1" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "SHA256" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "SHA384" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "SHA512" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "SHA224" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "Algoritmoa ezezaguna" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "RSA" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "DSA" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "EC" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "Mota ezezaguna" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "Sinadura digitala" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "Nahitaezko onarpena" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "Zifratzeko gakoak" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "Deszifratzeko gakoak" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "Gako kudeaketa" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "Sinadura ziurtagiria" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "Sinadura CRL" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "Zifratu soilik" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "Ez da erabilera zehatu" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr ", " + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "Dokumentua ez da aldatu sinatu zenetik." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" +"sinadura honek estaltzen duen dokumentu honen berrikuspena ez da aldatu;\n" +"hala ere dokumentuak geroztiko aldaketak izan ditu." + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" +"Dokumentua aldatu egin da aurreko sinatzaileak uzten ez zuen era batean." + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "Dokumentuaren osotasun egiaztapena ezin izan da osatu." + +#: gui/signatureguiutils.cpp:208 +#, kde-format +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "Dokumentu honek sinatu leku-marken eremuak ditu." + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "Dokumentu hau digitalki sinatua dago." + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "" +"Dokumentu hau digitalki sinatuta dago. Aldaketak egin dira azken sinaduratik." + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" +"Dokumentu hau digitalki sinatuta dago. Sinaduretako batzuk ezin izan dira " +"baliozkotu." + +#: gui/signaturemodel.cpp:141 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "Sinadura leku-marka %1" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "Eremua: %1 %2 orrian" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "Berik. %1: %2-k sinatua" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "Sinatze ordua: %1" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "Arrazoia: %1" + +#: gui/signaturemodel.cpp:177 +#, kde-format +msgid "Location: %1" +msgstr "Kokalekua: %1" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "PGP sinadura" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "Adobe PKCS7" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "Adobe PKCS7 Sha1" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "ETSI CAdES" + +#: gui/signaturemodel.cpp:193 +#, kde-format +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "Ezezaguna" + +#: gui/signaturemodel.cpp:195 +#, kde-format +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "Sinadura leku-marka" + +#: gui/signaturemodel.cpp:201 +#, kde-format +msgid "Signature Type: %1" +msgstr "Sinadura mota: %1" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "Gorria" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "Laranja" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "Horia" + +#: part/annotationactionhandler.cpp:151 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "Berdea" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "Zian" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "Urdina" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "Magenta" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "Zuria" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "Grisa" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "Beltza" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "Zabalera %1" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%%1" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "Idatzohar lerroaren zabalera (Ez da idatzoharrik hautatu)" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "Idatzoharraren kolorea (Ez da idatzoharrik hautatu)" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "Idatzohar betegarriaren kolore (Ez da idatzoharrik hautatu)" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "Idatzoharraren opakutasuna (Ez da idatzoharrik hautatu)" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "Idatzoharraren letra-tipoa (Ez da idatzoharrik hautatu)" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" +"Gehitu uneko idatzoharra idatzohar azkarren menura (Ez da idatzoharrik " +"hautatu)" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" +"Mugatu formaren proportzioa 1:1-era edo lerroaren angelua 15ºko urratsetara " +"(Ez da idatzoharrik hautatu)" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" +"Uneko idatzohar tresnaren ezarpen aurreratuak (Ez da idatzoharrik hautatu)" + +#: part/annotationactionhandler.cpp:308 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Idatzohar lerroaren zabalera" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "Idatzohar lerroaren zabalera (Ez da idatzoharrik hautatu)" + +#: part/annotationactionhandler.cpp:314 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Idatzohar testuaren kolorea" + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "Idatzohar ertzaren kolorea" + +#: part/annotationactionhandler.cpp:318 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Idatzoharren kolorea" + +#: part/annotationactionhandler.cpp:322 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Idatzohar betegarriaren kolorea" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "" +"Idatzohar betegarriaren kolorea (Uneko idatzoharraren betegarriak ez dauka " +"kolorerik)" + +#: part/annotationactionhandler.cpp:328 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "Idatzoharraren letra-tipoa" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "Idatzoharraren letra-tipoa (Uneko idatzoharrak ez dauka letra-tiporik)" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "Mugatu lerroaren angelua 15ºko urratsetara" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "Mugatu formaren proportzioa 1:1-era" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" +"Mugatu formaren proportzioa 1:1-era edo lerroaren angelua 15ºko urratsetara " +"(Uneko idatzoharrak ez du onartzen)" + +#: part/annotationactionhandler.cpp:341 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Idatzoharraren opakutasuna" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "Gehitu uneko idatzoharra idatzohar azkarren menura" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "Uneko idatzohar tresnaren ezarpen aurreratuak" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "Kolorea" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "Betegarriaren kolorea" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "Gardena" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "Neurrira ipinitako kolorea..." + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "Hautatu kolorea" + +#: part/annotationactionhandler.cpp:552 +#, kde-format +msgid "&Annotations" +msgstr "Id&atzoharrak" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "Ezkutatu" + +#: part/annotationactionhandler.cpp:554 +#, kde-format +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Erakutsi idatzohar-tresna gehiago" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "Markatzailea" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "Azpimarra" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "Zirrimarra" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "Marratua" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Idazmakina" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "Lerro barruko oharra" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "Ohar gainerakorra" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "Esku hutsezko lerroa" + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "Lerro zuzena" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "Gezia" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "Laukizuzena" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "Elipsea" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "Poligonoa" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "Forma geometrikoak" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "Zigilua" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Idatzohar azkarrak" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "Hautatu idatzohar-tresna bat idatzohar-azkarren artetik" + +#: part/annotationactionhandler.cpp:651 +#, kde-format +msgid "Quick Annotation Bar" +msgstr "Idatzohar azkarretarako barra" + +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "Gehitu idatzohar azkarretara" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "Mantendu aktibo" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "Mantendu idatzohar-tresna aktibo erabili ondoren" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "Idatzohar-tresnen proportzioaren eta angeluaren muga" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "Letra-tipoa" + +#: part/annotationactionhandler.cpp:681 +#, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Idatzoharren ezarpenak" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "Lerro zabalera" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "Opakutasuna" + +#: part/annotationactionhandler.cpp:696 +#, kde-format +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%%1" + +#: part/annotationmodel.cpp:320 +#, kde-format +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "%1 orria (%2)" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "%1 orria" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "Idatzohar" +msgstr[1] "%1 idatzohar" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "&Ireki ohar gainerakorra" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Kendu laster-marka" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Gehitu laster-marka" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, kde-format +msgid "Copy Text to Clipboard" +msgstr "Kopiatu testua arbelera" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "DRMak kopiatzea debekatu du" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "&Ezabatu" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "&Propietateak" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, kde-format +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "&Gorde '%1'..." + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "&Itxura" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "&Orokorra" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&Egilea:" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "Sorrera:" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "Aldatua:" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "Ohar gainerakorren propietateak" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "Idazmakinaren propietateak" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "Lerro barruko oharraren propietateak" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "Marra zuzenaren propietateak" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "Poligonoaren propietateak" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "Geometriaren propietateak" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "Testu marken propietateak" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "Zigiluaren propietateak" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "Esku hutsezko lerroaren propietateak" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "Kurtsorearen propietateak" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "Fitxategi eranskinaren propietateak" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "Soinuaren propietateak" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "Filmaren propietateak" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "Idatzoharren propietateak" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "Hautatu norberak finkatutako zigilu ikur bat fitxategitik" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "Hautatu norberak finkatutako zigilu ikurra" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" +"*.ico *.png *.xpm *.svg *.svgz | Ikono fitxategiak (*.ico *.png *.xpm *.svg " +"*.svgz)" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "Ezin izan da zamatu %1 fitxategia" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "Fitxategi baliogabea" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&Kolorea:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, kde-format +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%%v" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "&Opakutasuna:" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "Ikonoa:" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "Iruzkina" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "Laguntza" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "Txertatu" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "Tekla" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "Paragrafo berria" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "Oharra" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "Paragrafoa" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Letra-tipoa:" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "Testuaren &kolorea:" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "&Lerrokatu:" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "Ezkerrera" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "Erdian" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "Eskuinera" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "Ertzaren &zabalera:" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "Onartua" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "Dagoen bezala" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "Isilpekoa" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "Sailekoa" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "Zirriborroa" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "Esperimentala" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "Iraungitua" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "Amaierakoa" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "Iruzkinetarako" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "Publikoki ateratzeko" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "Onartu gabea" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "Ez da publikoki ateratzeko" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "Saldua" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "Sekretu gorenekoa" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "Laster-marka" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "Informazioa" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "Zigiluaren ikurra:" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "&Zabalera:" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "Lerro hasera:" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "Lerro bukaera:" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "Karratua" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "Zirkulua" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "Diamantea" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "Irekitako gezia" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "Itxitako gezia" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "Bat ere ez" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "Muturra" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "Eskuinera irekitako gezia" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "Eskuinera itxitako gezia" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "Barra zeiharra" + +#: part/annotationwidgets.cpp:531 +#, kde-format +msgid "Leader line length:" +msgstr "Lerro nagusiaren luzera:" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "Lerro nagusiaren hedapenen luzera:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "Gaituta" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "Formaren betegarria:" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Mota:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "Marratu" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "Fitxategi eranskinaren ikurra:" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "Grafikoa" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "Txintxeta" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "Paper-klipa" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "Etiketa" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "Fitxategia" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "E/E" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "Ez dago azalpen erabilgarririk." + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "Izena:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "Azalpena:" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "Kurtsorearen ikurra:" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "Bat ere ez" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "Itxi ohar hau" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "Aukerak" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"Idatzohar honek LaTeX kodea izan dezake.\n" +"Klik egin hemen errendatzeko." + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "Ezin aurkitu latex exekutagarria." + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "LaTeX errendatzea huts egin du" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "Ezin aurkitu dvipng exekutagarria." + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "Arazo bat gertatu da 'latex' komandoa exekutatu bitartean." + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "Arazo bat gertatu da 'dvipng' komandoa exekutatu bitartean." + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"Laster-marka bat" +msgstr[1] "" +"%1\n" +"\n" +"%2 laster-marka" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Laster-markak" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "Erakutsi dokumentu guztietarako" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, kde-format +msgid "Search…" +msgstr "Bilatu..." + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, fuzzy, kde-format +#| msgid "Expand all" +msgid "Expand All" +msgstr "Zabaldu guztiak" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, fuzzy, kde-format +#| msgid "Collapse all" +msgid "Collapse All" +msgstr "Tolestu guztia" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "Joan laster-marka honetara" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "Berrizendatu laster-marka" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Ireki dokumentua" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "Kendu dokumentu honetako laster-marka guztiak" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "Ziurtagiri erakuslea" + +#: part/certificateviewer.cpp:50 +#, kde-format +msgid "Export…" +msgstr "Esportatu..." + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "Orokorra" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "Nork jaukia" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "Izen arrunta (CN)" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "E-posta" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "Erakundea(O)" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "Nori jaulkia" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "Baliozkotasuna" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "Hatz-markak" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "SHA-1 hatz-marka" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "SHA-256 hatz-marka" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "Zehaztasunak" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "Ziurtagiriaren data:" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "Non gorde nahi duzu ziurtagiri hau?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "Ziurtagiri fitxategia (*.cer)" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "Ezin izan da ziurtagiria esportatu" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "&Kolore modua" + +#: part/colormodemenu.cpp:21 +#, kde-format +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "Aldatu koloreak" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "Kolore arru&ntak" + +#: part/colormodemenu.cpp:41 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "Alderantz&ikatu koloreak" + +#: part/colormodemenu.cpp:42 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "Aldatu &paperaren kolorea" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "Aldatu kolore iluna eta ar&gia" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "Bihurtu zuri-&beltzera" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "Alderantzikatu a&rgitasuna" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "Alderantzikatu l&uma (sRGB lineala)" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "Alderantzikatu luma (&simetrikoa)" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "Tonu aldaketa p&ositiboa" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "Tonu aldaketa n&egatiboa" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "Gorria" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "Berdea" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "Urdina" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "Horia" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "Beltza" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "Zuria" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "Markatzaile horia" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "Markatzaile berdea" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "Txertatu testua" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "Marraztu ertza esteken inguruan" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "Aldatu koloreak" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "" +"Abisua: aukera hauek marrazketa-abiaduran eragin kaltegarria izan " +"dezakete." + +#: part/dlgaccessibility.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "Alderantzikatu koloreak" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "Aldatu paperaren kolorea" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "Aldatu kolore ilunak eta argiak" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "Bihurtu zuri-beltzera" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "Alderantzikatu argitasuna" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "Alderantzikatu luma (sRGB lineala)" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "Alderantzikatu luma (simetrikoa)" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "Tonu aldaketa positiboa" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "Tonu aldaketa negatiboa" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "Kolore modua:" + +#: part/dlgaccessibility.cpp:87 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Paperaren kolorea:" + +#: part/dlgaccessibility.cpp:99 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Kolore iluna:" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "Kolore argia:" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "Atalasea:" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Kontrastea:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "Testutik-hizketara motorra:" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "Testutik-hizketara ahotsa:" + +#: part/dlgannotations.cpp:25 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Idatzoharren tresna-barra osoa" + +#: part/dlgannotations.cpp:26 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Idatzohar azkarretarako tresna-barra" + +#: part/dlgannotations.cpp:28 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Idatzoharren tresna-barra:" + +#: part/dlgannotations.cpp:34 +#, kde-format +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "Egilea:" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"Oharra: hemengo informazioa soilik idatz-oharretarako erabiltzen da. " +"Informazioa oharren dokumentuetan gordetzen da, eta horrela transmitituko da " +"dokumentuarekin batera." + +#: part/dlgannotations.cpp:48 +#, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

Quick Annotation Tools

" +msgstr "

Idatzohar azkarretarako tresna

" + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" +"Aukeratu Okularrek sorburu fitxategi bat ireki nahi duenean abiarazi nahi " +"duzun editorea." + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "Norberak finkatutako testu editorea" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Emacs bezeroa" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "Lyx bezeroa" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "TeXstudio" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "TeXiFy IDEA" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "Editorea:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
\n" +"You can also put few placeholders:\n" +"
    \n" +"
  • %f - the file name
  • \n" +"
  • %l - the line of the file to be reached
  • \n" +"
  • %c - the column of the file to be reached
  • \n" +"
\n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"Ezarri abiarazi beharreko neurrira ipinitako testu-editore baten " +"komandoa.
\n" +"Leku-marka gutxi batzuk ere ipini ditzakezu:\n" +"
    \n" +"
  • %f - fitxategi-izena
  • \n" +"
  • %l - heldu beharreko fitxategiko lerroa
  • \n" +"
  • %c - heldu beharreko fitxategiko zutabea
  • \n" +"
\n" +"%f ez bada zehazten, fitxategi-izena eransten zaio zehaztutako komandoari." + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "Komandoa:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "Erabili kiribiltze leuna" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "Itxura:" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "Erakutsi labaintzeko-barrak" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "Estekatu koadro txikiak orriarekin" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "Erakutsi argibideak eta informazio-mezuak" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "Txertatutako fitxategi, inprimaki edo sinaduren berri ematea" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "Azaldu dokumentuaren titulua titulu-barran" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "Azaldu fitxategi-izena soilik" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "Azaldu fitxategiaren bide-izen osoa" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "Dokumentu titulurik azaltzen ez duenean:" + +#: part/dlggeneral.cpp:92 +#, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "Erabili norberak finkatutako atzealdeko kolorea:" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "Programaren ezaugarriak:" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "Ireki fitxategi berriak fitxetan" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "Aldatu dagoen fitxara fitxategia irekita badago" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "Men egin DRMren mugei" + +#: part/dlggeneral.cpp:148 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "Birzamatu dokumentua fitxategia aldatzean" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "Erakutsi bizkarraldeko hautapenerako elkarrizketa-koadroa" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "Eskuinetik ezkerrera irakurketa noranzkoa" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" +"Erabili fitxategiaren informazioa, era lehenetsian, modu jarraituan ireki " +"ala ez zehazteko" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" +"Fitxategi informaziorik ez duten fitxategiekin, ireki modu jarraitua era " +"lehenetsian" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "Ireki modu jarraitua era lehenetsian" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "Arakatze tresna erabiltzean, bildu kurtsorea pantailaren ertzetan" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "Historia hurbileko elementuak:" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "Ikuspegi orokorreko zutabeak:" + +#: part/dlggeneral.cpp:220 +#, kde-format +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%%v" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" +"Uneko bistaratze azaleratik Orri Gora/Behera teklak sakatzean oraindik " +"ikusiko den zenbatekoa definitzen du." + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "Orri Gora/Behera gainezartzea:" + +#: part/dlggeneral.cpp:228 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%%v" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "% 100" + +#: part/dlggeneral.cpp:233 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "Doitu zabalera" + +#: part/dlggeneral.cpp:234 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "Doitu orrialdea" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "Doitze automatikoa" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "Neurrira" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" +"Aurrez inoiz ireki gabeko fitxategien zoom modu lehenetsia definitzen du. " +"Aurrez ireki diren fitxategiekin aurreko zooma erabiltzen da." + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "Zoom lehenetsia:" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "Gaitu gardentasun-efektuak" + +#: part/dlgperformance.cpp:28 +#, kde-format +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "PUZaren erabilera:" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "Apala" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "Arrunta (lehenetsia)" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "Kementsua" + +#: part/dlgperformance.cpp:38 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "Aseezina" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "Memoria-erabilera:" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "Gaitu testuaren ertzak-leuntzea" + +#: part/dlgperformance.cpp:56 +#, kde-format +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "Errendatze aukerak:" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "Gaitu grafikoen ertzak-leuntzea" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "Gaitu testuen gaineko errendatzea doitzea" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"Erabilitako memoria ahalik apalen mantentzen du. Ez berrerabili ezer ez " +"(memoria urriko sistementzat)" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"Memoria erabilera eta abiadura irabazkinaren arteko oreka on bat. Aurre-" +"zamatu hurrengo orria eta bizkortu bilaketak. (2GB memoria duten " +"sistementzat)" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"Dena memorian mantentzen du. Aurre-zamatu hurrengo orriak. Bizkortu " +"bilaketak. (4GB memoria baina gehiago duten sistementzat)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" +"Guztia memorian zamatu eta mantentzen du. Orri guztiak aurre-zamatu. " +"(Gehienez zure memoria osoaren % 50 edo zure memoria askea erabiliko du, " +"bietan handiena dena)" + +#: part/dlgpresentation.cpp:38 +#, kde-format +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] "%v segundoan behin" +msgstr[1] "%v segundoan behin" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "Aurreratu automatikoki:" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "Begiztatu azken orriaren ondoren" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "Egin tak ezker/eskuin aldean atzera/aurrera joateko" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "Egin tak edonon aurrera joateko" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "Ezgaituta" + +#: part/dlgpresentation.cpp:63 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Ukimen bidez nabigatzea:" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "Atzealdeko kolorea:" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "Ezkutatu atzerapenaren ondoren" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "Beti ikusgai" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "Beti ezkutatuta" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "Saguaren kurtsorea:" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "Erakutsi aurrerapenaren adierazlea" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "Erakutsi laburpen-orria" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "Bat-batekoa (Animaziorik erabili gabe)" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "Ordeztu" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "Ausazko trantsizioa" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "Pertsiana bertikalak" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "Pertsiana horizontalak" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "Estali barrurantz" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "Estali kanporantz" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "Disolbatu" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "Moteldu" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "Sartu behetik" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "Sartu eskuinetik" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "Sartu eskuin-behetik" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "Horizontala barrurantz zatitzea" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "Horizontala kanporantz zatitzea" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "Bertikala barrurantz zatitzea" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "Bertikala kanporantz zatitzea" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "Ekortu behera" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "Ekortu eskuinera" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "Ekortu ezkerrera" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "Ekortu gora" + +#: part/dlgpresentation.cpp:121 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Trantsizio lehenetsia:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "Pantaila hobetsia:" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

Drawing Tools

" +msgstr "

Marrazteko tresnak

" + +#: part/dlgpresentation.cpp:171 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Uneko pantaila" + +#: part/dlgpresentation.cpp:172 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Pantaila lehenetsia" + +#: part/dlgpresentation.cpp:178 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "%1. pantaila (%2 %3 %4)" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "%1. pantaila (deskonektatuta)" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "Marrazteko tresna: %1" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "Ezabagoma" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "&Izena:" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "&Mota:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "Itxura" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "Testu markatzea" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "Forma geometrikoa" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "Idatzoharrak sortzeko tresna" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "Idatzoharrak editatzeko tresna" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "Kolorea:" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "&Bolalumaren zabalerara:" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "%v px" + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "Marrazkia sortzeko tresna" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "Marrazkia editatzeko tresna" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "Ezezaguna" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Kapsulatuko fitxategiak" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "Ikuspegia" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "Izena" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "Azalpena" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "Neurria" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "Sortua" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "Aldatua" + +#: part/embeddedfilesdialog.cpp:154 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "&Gorde honela..." + +#: part/embeddedfilesdialog.cpp:155 +#, kde-format +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "&Ikuspegia…" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "Ezin izan da zamatu inprimatzeko aurreikuspegiaren zatia" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "Inprimatze aurreikuspegia" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "Itxi" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "&Bilatu:" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "Bilatu beharreko testua" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Hurrengoa" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "Joan hurrengo bat-etortzera" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Aurrekoa" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "Joan aurreko bat-etortzera" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "Aldatu bilaketaren jokabidea" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "Bereizi maiuskulak" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "Uneko orrialdetik" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "Aurkitu idatzi ahala" + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "Fitxategi guztiak (*)" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "Sinadura leku-marka (Egin klik sinatzeko)" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "&Sinatu…" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "Sinaduraren propietateak" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "Bilaketa aukerak" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "Bereizi maiuskulak" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "Adierazpen erregularra" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "Geruzak" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr " / " + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "Zoom" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "Zoom % 100era" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "Biratu e&skuinera" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "Eskuinera" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "Biratu e&zkerrera" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "Ezkerrera" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "Jatorrizko orientazioa" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "&Moztu ikuspegia" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "&Moztu marjinak" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "Moztu &hautapenera" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "Doitu &zabalera" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "Doitu &orrialdea" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "Doitze &automatikoa" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "Doitu &leihoa orrialdera" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "%Ikuspegi modua" + +#: part/pageview.cpp:594 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "Orrialde &bakarra" + +#: part/pageview.cpp:595 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "&Aurrez-aurreko orrialdeak" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "Aurrez-aurreko orrialdeak (&erdiratu aurreneko orrialdea)" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "Ikuspegi &orokorra" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "&Jarraitu" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "Erabili eskuinetik ezkerrera irakurtzeko noranzkoa" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "&Arakatu" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "&Zoom" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "Azalera &hautapena" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "&Testu hautapena" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "T&aula hautapena" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "&Lupa" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "Hautapen tresnak" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "Digitalki &sinatu..." + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "Hitz egin dokumentu osoa" + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "Hitz egin uneko orrialdeatik" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "Hitz egin uneko orrialdea" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "Gelditu hitz egitea" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "Eten/Berrekin hizketa" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "Labaindu gora" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Labaindu behera" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "Labaindu orri gora" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "Labandu orri behera" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "Erakutsi inprimakiak" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] " Orri bakarreko dokumentua zamatu da." +msgstr[1] " %1 orriko dokumentua zamatu da." + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "Kopiatu taularen edukia arbelera" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "Testua (karaktere 1)" +msgstr[1] "Testua (%1 karaktere)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "Kopiatu arbelera" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "Hitz egin testua" + +#: part/pageview.cpp:2863 +#, kde-format +msgid "Image (%1 × %2 pixels)" +msgstr "Irudia (%1 × %2 pixel)" + +#: part/pageview.cpp:2865 +#, kde-format +msgid "Save to File…" +msgstr "Gorde fitxategian..." + +#: part/pageview.cpp:2885 +#, kde-format +msgid "Image [%1 × %2] copied to clipboard." +msgstr "Irudia [%1 × %2] arbelean kopiatu da." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "Gorde fitxategia" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "Irudiak (*.png *.jpeg)" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "Fitxategia ez da gorde." + +#: part/pageview.cpp:2901 +#, kde-format +msgid "Image [%1 × %2] saved to %3 file." +msgstr "Irudia [%1 × %2] %3 fitxategian gorde da." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "Kopiatu testua" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "Joan '%1'(e)ra" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "Doitu zabalera" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "Doitu orrialdea" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "Doitu automatikoki" + +#: part/pageview.cpp:4107 +#, kde-format +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%%1" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "Bilatu '%1' honekin" + +#: part/pageview.cpp:4404 +#, kde-format +msgid "Configure Web Shortcuts…" +msgstr "Konfiguratu web-lasterbideak..." + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "Jarraitu esteka honi" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "Jo soinu hau" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "Gelditu soinua" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "Kopiatu estekaren helbidea" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "Bilatu '%1' dokumentu honetan" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Ongi etorri" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "Hautatu zoomaren azalera. Eskuineko-klik zooma urruntzeko." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "Klik egin handitutako ikuspegia ikusteko." + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "Marraztu laukizuzen bat kopiatu beharreko testuen/grafikoen inguruan." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "Hautatu testua" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" +"Marraztu laukizuzen bat taularen inguruan, ondoren klik egin ertzen ondoan " +"erdibitzeko; sakatu «Ihes» garbitzeko." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" +"Sinatzeko zure ziurtagiri guztiak baliogabeak dira. Aurrez sinatzeko balio " +"izan bazuten, egiaztatu baliozkotasun-datak." + +#: part/pageview.cpp:5188 +#, kde-format +msgid "No valid certificates" +msgstr "Ez dago baliodun ziurtagiririk" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, kde-format +msgid "Open Certificate Manager" +msgstr "Ireki ziurtagiri kudeatzailea" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
Launch Certificate Manager " +"to import or manage certificates
For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" +"Ez dago sinatzeko ziurtagiri erabilgarririk.
Ziurtagiri-kudeatzailea " +"abiarazi ziurtagiriak inportatzeko eta kudeatzeko
Informazio " +"gehiagorako, mesedez, begiratu eskuliburuko Sinadura digitala " +"gehitzea atala." + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, kde-format +msgid "No certificates found" +msgstr "Ez da ziurtagiririk aurkitu" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" +"Ez dago sinatzeko ziurtagiri erabilgarririk.
Informazio gehiagorako, " +"begiratu eskuliburuko Sinadura digitala gehitzea atala." + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" +"Gorde gabeko aldaketak dituzu. Gorde ezazu dokumentua hura sinatu aurretik." + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "Marraztu laukizuzen bat sinaduraren eremua txertatzeko" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "" +"Marraztu laukizuzen bat ikusgai izan nahi duzun orrialde azaleraren inguruan" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "Testu-ohar berria" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "Ohar berriaren testua:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Sinatzailea: %1\n" +"\n" +"Data: %2" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" +"Neurri honetako sinadura bat irakurtzeko txikiegia da. Irakurgarriagoa " +"izango den sinadura bat sortzeko, sakatu Berriro hasi " +"eta marraztu laukizuzen handiagoa." + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "Berriro hasi" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "Sinatu" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name" +msgstr "Egilearen izena" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name for the annotation:" +msgstr "Idatzoharren egilearen izena:" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "Marraztu elipse bat (arrastatu eskualde bat hautatzeko)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "Nabarmendu testua" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "Marraztu esku hutsezko lerro bat" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "Lerro barruko testu idatzoharra (arrastatu eskualde bat hautatzeko)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "Ipini ohar gainerakor bat" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "Marraztu poligono bat (klik egin aurreneko puntuan hura ixteko)" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "Marraztu laukizuzen bat" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "Zirrimarra testua" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "Ipini zigilu ikur bat" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "Marraztu lerro zuzen bat" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "Marratu testua" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "Azpimarratu testua" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "Idazmakinaren idatzoharra (arrastatu eskualde bat hautatzeko)" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "Markatzailea" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "Gehitu gogoko idatzoharra" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Custom annotation name:" +msgstr "Norberak finkatutako idatzohar-izena:" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&Fitxategia" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "E&zarpenak" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "&Laguntza" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "&Orientazioa" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "Laster-&markak" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "Erakuslearen tresna-barra" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Koadro txikiak" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "Idatzoharrak" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" +"Dokumentu honek Okularren aurreko bertsio batekin barnean gordetako " +"idatzoharrak edo inprimaki datuak ditu. Barnean gordetzea ez da onartzen " +"dagoeneko.
Gorde fitxategi batera haiek lekuz aldatzeko dokumentua " +"editatzen jarraitu nahi baduzu." + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"Dokumentu honek kapsulatutako fitxategiak ditu. Klik egin hemen horiek ikusteko edo joan 'Fitxategia -> " +"Kapsulatutako fitxategiak' menura." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "Sinatzen. Sinaduraren kokalekua eta neurria doi ditzakezu" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "Sinatzen amaitu" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "Aurrekoa" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "Itzuli aurreko orrialdera" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "Dokumentuaren aurreko orrialdera joaten da" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "Hurrengoa" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "Aurreratu hurrengo orrialdera" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "Dokumentuaren hurrengo orrialdera joaten da" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "Dokumentuaren hasiera" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "Dokumentuaren hasierara joaten da" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "Dokumentuaren bukaera" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "Dokumentuaren bukaerara joaten da" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "Berrizendatu uneko laster-marka" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "Aurreko laster-marka" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "Joan aurreko laster-markara" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "Hurrengo laster-marka" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "Joan hurrengo laster-markara" + +#: part/part.cpp:748 +#, kde-format +msgid "Configure Okular…" +msgstr "Konfiguratu Okular..." + +#: part/part.cpp:751 +#, kde-format +msgid "Configure Viewer…" +msgstr "Konfiguratu erakuslea…" + +#: part/part.cpp:757 +#, kde-format +msgid "Configure Viewer Backends…" +msgstr "Konfiguratu erakuslearen bizkarraldekoak…" + +#: part/part.cpp:759 +#, kde-format +msgid "Configure Backends…" +msgstr "Konfiguratu bizkarraldekoak…" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "Bizkarraldekoari buruz" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "Birzama&tu" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "Birzamatu uneko dokumentua diskotik." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "Itxi &bilatzeko-barra" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "Orrialde zenbakia" + +#: part/part.cpp:817 +#, kde-format +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "Konfiguratu kolore-moduak..." + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "Hautatu uneko orrialdeko testu guztia" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "Erakutsi a&lboko barra" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "Erakutsi &Orrialde barra" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "Erakutsi &sinadura panela" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "&Kapsulatutako fitxategiak" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "E&sportatu honela" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "&Partekatu" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "Au&rkezpena" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "Ireki hau &barnean duen karpeta" + +#: part/part.cpp:945 +#, kde-format +msgid "&Import PostScript as PDF…" +msgstr "&Inportatu PostScript PDF gisa..." + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "Aldatu pantaila-beltz modura" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "Ezabatu marrazkia" + +#: part/part.cpp:962 +#, kde-format +msgid "Configure Annotations…" +msgstr "Konfiguratu idatzoharrak..." + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "Jo/eten aurkezpena" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" +"Oraintxe irekitako dokumentua aldatu duzu, baina dokumentu mota hau ezin da " +"gorde.\n" +"Aldaketa oro galduko da Okular ixtean." + +#: part/part.cpp:1123 +#, kde-format +msgid "Document can't be saved" +msgstr "Dokumentua ezin du gorde" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "Ezin izan da '%1' (%2) ireki" + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "%1 zamatzea galarazi da." + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "Ezin izan da %1 ireki. Arrazoia: %2" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "Konfiguratu erakuslearen bizkarraldekoak" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "Konfiguratu bizkarraldekoak" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"\"ps2pdf\" programa ez da aurkitu, beraz, Okularrek ezingo du PS " +"fitxategirik inportatu hura erabiliz." + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "ps2pdf ez da aurkitu" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "PostScript fitxategiak (%1)" + +#: part/part.cpp:1357 +#, kde-format +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "PS fitxategia PDF gisa inportatzen (denbora pixka bat iraun dezake)..." + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "Sartu dokumentua irakurtzeko pasahitza:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "Pasahitz okerra. Saiatu berriz:" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "Dokumentuaren pasahitza" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "Dokumentu honek XFA inprimakiak ditu, jada ez dira onartzen." + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"Dokumentu honek inprimakiak ditu. Klik egin botoian haiekin aritzeko, edo " +"erabili «Ikuspegia -> Erakutsi inprimakiak» menutik." + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" +"Dokumentu hau editatzeko eta elkarreragiteko eginbide guztiak ezgaituta " +"daude. Gorde kopia bat eta berrireki dokumentua editatzeko." + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" +"Dokumentu honek pantaila-betean erakutsia izan nahi du.\n" +"Modu arrunta utzi eta aurkezpen moduan sartu?" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "Eskatu ikusteko modua aldatzea" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "Sartu aurkezpen moduan" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "Ukatu eskaera" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "Ezin izan da ireki %1. %2" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" +"%1 fitxategiak gorde gabeko aldaketak ditu baina beste " +"programa batek aldatu du. Birzamatuz gero, gorde gabeko aldaketak beste " +"programan egindakoekin ordeztuko dira.Fitxategia birzamatzen " +"jarraitu nahi duzu?" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "Fitxategia aldatu da" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "Jarraia birzamatuta" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "Galarazi birzamatzea" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" +"%1 fitxategiak gorde gabeko aldaketak ditu baina beste " +"programa batek aldatu du. Itxiz gero, gorde gabeko aldaketak beste programan " +"egindakoekin ordeztuko dira.Fitxategia ixten jarraitu nahi duzu?" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "Jarraitu ixtea" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "Galarazi ixtea" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "Zure aldaketak \"%1\"(e)ra gorde edo baztertu nahi dituzu?" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "Itxi dokumentua" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"Esteka hau dokumentua ixteko ekintza bati lotuta dago eta eginbide hau ezin " +"da erabili erakusle kapsulatua darabilgunean." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"Esteka hau aplikazioa irteteko ekintza bati lotuta dago eta eginbide hau " +"ezin da erabili erakusle kapsulatua darabilgunean." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, kde-format +msgid "Reloading the document…" +msgstr "Dokumentua birzamatzen..." + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "Edukia" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "Sinadurak" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Joan orrialdera" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "&Orria:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "Sartu laster-markaren izen berria:" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "Berrizendatu laster-marka hau" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "Kendu laster-marka hau" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "Gorde honela" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" +"Okular artxibo bat '%1' luzapenarekin amaitu gabe gordetzea hautatu duzu." +"Halakorik ez da onartzen, izen berri bat hautatu nahi duzu?" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "Onartu gabeko luzapena" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "Hautatu izen berria" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" +"%1 fitxategia beste programa batek aldatu du. Orain " +"gordetzen baduzu, programan egindako aldaketak galduko dira. Ziur zaude " +"jarraitu nahi duzula?" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "Gorde - Abisua" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "Gorde kopia bat beste nonbait" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
Do you want to continue?" +msgstr "" +"Uneko dokumentua pasahitz batekin babestua dago.
Gorde ahal izateko, " +"fitxategia birzamatu egin behar da. Berriz eskatuko zaizu pasahitza eta zure " +"desegite/berregite historia galduko da.
Jarraitu nahi duzu?" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "Ezin izan da aldi baterako fitxategia gordetzeko ireki." + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" +"Ezin izan du %1 gainidatzi fitxategi hori irakurtzeko " +"soilik delako. Saia zaitez beste kokaleku batean gordetzen edo fitxategi " +"horren baimenak aldatzen." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
Do you want to continue?" +msgstr "" +"Gorde ondoren, uneko dokumentuaren formatuak fitxategia birzamatzea eskatzen " +"du. Zure desegite/berregite historia galduko da.
Jarraitu nahi duzu?" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "" +"Fitxategia ezin izan da gorde '%1'(e)n. Saiatu beste kokaleku batean " +"gordetzen." + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "Betetako inprimakiaren edukia" + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "Erabiltzailearen idatzoharrak" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" +"Aldaketak gordetzera zoaz, baino uneko fitxategiaren formatuak ez du " +"onartzen ondoko elementuak gordetzea. Erabili Okular dokumentu artxibo formatua haiek ez galtzeko." + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "Abisua" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "Gorde Okular dokumentu artxibo gisa..." + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" +"Aldaketak gordetzera zoaz, baino uneko fitxategiaren formatuak ez du " +"onartzen ondoko elementuak gordetzea. Erabili Okular dokumentu artxibo formatua haiek ez galtzeko. Klik egin Jarraitu dokumentua gorde " +"eta elementu hauek baztertzeko." + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" +"Aldaketak gordetzera zoaz, baino uneko fitxategiaren formatuak ez du " +"onartzen ondoko elementuak gordetzea. Erabili Okular dokumentu artxibo formatua haiek ez galtzeko. Klik egin Jarraitu gordetzeko, baino " +"elementu hauek galduko dituzu baita desegiteko/berregiteko historia ere." + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "Jarraitu" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "Jarraitu aldaketak galduta" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "Fitxategia ezin izan da '%1'-(e)n gorde. %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"Okularrek ezin du %1 kopiatu zehaztutako kokalekura.\n" +"\n" +"Dokumentua betirako joan da." + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" +"Fitxategia ezin izan da '%1'-(e)n gorde. Errorea: '%2'. Saiatu beste " +"kokaleku batean gordetzen." + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "Expand whole section" +msgid "Expand Whole Section" +msgstr "Zabaldu atal osoa" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "Collapse whole section" +msgid "Collapse Whole Section" +msgstr "Tolestu atal osoa" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "Sinkronizatu koadro txikia orriarekin" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Tresnak" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "Mintzatu" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "Inprimatu" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "Dokumentu hau inprimatzea ez da onartzen." + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"Ezin izan da dokumentua inprimatu. Errore ezezaguna. Mesedez honen berri " +"eman hemen: bugs.kde.org" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"Ezin izan da dokumentua inprimatu. Errore zehatza \"%1\" da. Mesedez honen " +"berri eman hemen: bugs.kde.org" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "Joan lehen zeunden lekura" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "Joan ondoren zeunden lekura" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"Fitxategi errorea! Ezin izan da aldi baterako " +"%1 fitxategia sortu." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"Fitxategi errorea! Ezin izan da %1 fitxategia deskonprimitzeko ireki. Fitxategia ez da zamatuko." +"" + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"Errore hau gertatu ohi da fitxategia irakurtzeko behar adinako baimenik " +"ez duzunean. Jabetza eta baimenak egiaztatu ditzakezu Dolphin fitxategi " +"kudeatzailean fitxategiari eskuin-klik egin, 'Propietatek' aukera hautatu, " +"eta irekitzen den leihoan 'Baimenak' fitxara joanda." + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"Fitxategi errorea! ezin izan da %1 fitxategia deskonprimitu. Fitxategia ez da zamatuko." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"Errore hau gertatu ohi da fitxategia hondatuta dagoenean. Ziur egon nahi " +"baduzu, saiatu fitxategia eskuz deskonprimitzen komando-erroko tresnak " +"erabiliz." + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "Laster-markarik ez" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "Arazoa bat egon da dokumentua partekatzean: %1" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "Partekatu" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "Dokumentu partekatze arrakastatsua" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "Partekatutako dokumentua hemen aurkituko duzu: %1" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "&Editatu" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "&Ikuspegia" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&Joan" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "&Tresnak" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "Tresna-barra nagusia" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "Idatzoharren tresna-barra" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, kde-format +msgid "Quick Annotation Toolbar" +msgstr "Idatzohar azkarretarako tresna-barra" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "Aukera orrokorrak" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Irisgarritasuna" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "Irisgarritasuneko irakurtzeko laguntzak" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Performantzia" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "Performantzia doitzea" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "Konfiguratu erakuslea" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Aurkezpena" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "Aurkezpen modurako aukerak" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "Idatzoharren aukerak" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "Editorea" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "Editorearen aukerak" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" +"Editorea komando lerro bidez honetara ezarri zen \n" +"%1\n" +"Ezarpena erabili nahi baduzu, abiatu okular «--editor-cmd» aukera gabe" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "Bilatu hurrengoa" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 – Aurkezpena" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "Aldatu pantaila" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "%1 pantaila" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "Irten aurkezpen modutik" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Izenburua: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Orrialdeak: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "Klik egin hasteko" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "Eten" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "Jo" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"Bi bide daude aurkezpen modutik irteteko, «Ihes» tekla saka dezakezu edo " +"klik egin sagua goi-eskuin izkinan ipintzean agertzen den «Irten» botoiari. " +"Noski, leihoen artean alda dezakezu (Alt+Tab lehenetsia)" + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "Aurkezpena ematea" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "Fitxategi ezezaguna" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "%1(r)en propietateak" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "&Letra-tipoak" + +#: part/propertiesdialog.cpp:145 +#, kde-format +msgid "Reading font information…" +msgstr "Letra-tipoaren informazioa irakurtzen..." + +#: part/propertiesdialog.cpp:158 +#, kde-format +msgid "&Page Sizes" +msgstr "&Orri-neurriak" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "&Erauzi letra-tipoa" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "1 tipografia" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "1C tipografia" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "1C (OT) tipografia" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "3 tipografia" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType (OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID 0 tipografia" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID 0C tipografia" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID 0C (OT) tipografia" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType (OT)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "TeX PK" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "TeX alegiazkoa" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "TeX letra-tipoaren metrika" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "TeX FreeType kudeatua" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "Ezezaguna" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "Kapsulatua (azpimultzoa)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "Erabat kapsulatua" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "Ez" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "Bai (azpimultzoa)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "Bai" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "%1 (%2-(r)ekin ordezkatzea)" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "[e/e]" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "Letra-tipo ezezaguna" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "Kapsulatua: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "Izena" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "Tipografia" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "Fitxategia" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "Orria" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "Neurria" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "Berrikuspen aurreikuspegia" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "Non gorde nahi duzu berrikuspen hau?" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "Ezin izan da gorde %1fitxategia." + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "Ezin izan da ikusi berrikuspena." + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "Sartu gutxienez 3 letra orriak iragazteko" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "Bereizi maiuskulak" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "Esaldiarekin bat-etortzea" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "Hitz guztiekin bat-etortzea" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "Edozein hitzekin bat-etortzea" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "Iragazte aukerak" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, kde-format +msgid "Certificates" +msgstr "Ziurtagiriak" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "Aukeratu sinatzeko ziurtagiria:" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "Dena" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, kde-format +msgid "Only QES certificates" +msgstr "QES ziurtagiriak bakarrik" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "PGP gakoak bakarrik" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "Zergatia:" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, kde-format +msgid "optional" +msgstr "aukerakoa" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "Kokalekua:" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, kde-format +msgid "Background:" +msgstr "Atzeko planoa:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "Hautatu..." + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, kde-format +msgid "Recent backgrounds:" +msgstr "Azkenaldiko atzeko planoak:" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

No annotations

To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
" +msgstr "" +"

Idatzoharrik ez

Idatzohar berriak sortzeko sakatu " +"F6 edo hautatu Tresnak -> Idatzoharrak menutik.
" + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "Elkartu orrialdeka" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "Elkartu egilearen arabera" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "Erakutsi soilik uneko orriko idatzoharrak" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "Zabaldu elementu guztiak" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "Tolestu elementu guztiak" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "Propietateak" + +#: part/signaturepartutils.cpp:180 +#, kde-format +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Irudiak (%1)" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "Hautatu atzeko planoko irudia" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "Ahaztu irudia" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "Ahaztu irudi guztiak" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "Sartu ziurtagiria desblokeatzeko pasahitza (baldin badago): %1" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "Sartu ziurtagiriaren pasahitza" + +#: part/signaturepartutils.cpp:244 +#, kde-format +msgid "Enter document password" +msgstr "Sartu dokumentuaren pasahitza" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "Gorde sinatutako fitxategia honela" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "%1_sinatuta.%2" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "Baliozkotasun egoera" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "Sinaduraren baliozkotasuna:" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "Dokumentuaren aldaketak:" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "Informazio osagarria" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "Nork sinatua:" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "Sinatze ordua:" + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "Dokumentuaren bertsioa" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Dokumentuaren berrikuspena %1/%2" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "Ikusi sinatutako bertsioa..." + +#: part/signaturepropertiesdialog.cpp:95 +#, kde-format +msgid "View Certificate…" +msgstr "Ikusi ziurtagiria..." + +#: part/signaturepropertiesdialog.cpp:97 +#, kde-format +msgid "View in Certificate Manager" +msgstr "Ikusi ziurtagiri kudeatzailean" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "KDEren ziurtagiri kudeatzailea (kleopatra) ez du aurkitu" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "Kualifikatu" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "PGP" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "Erakutsi laster-marka ipinitako orriak soilik" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "Jo" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Eten" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "Gelditu" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "Okular honetan ez dago bideoentzako euskarririk" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "Okular honetan ez dago bideoentzako euskarririk" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "&Gehitu..." + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, kde-format +msgid "&Edit…" +msgstr "&Editatu..." + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "&Kendu" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "Eraman &gora" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "Eraman &behera" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "Marrazteko tresna lehenetsia #%1" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "" +"Lehendik ere badago izen hori duen tresna bat. Lehenetsitako bat erabiliko da" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "Bikoiztutako izena" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "Erakutsi beharreko dokumentuko orrialdea" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "Abiatu dokumentua aurkezpen moduan" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "Abiatu inprimatze elkarrizketa-koadroarekin" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "Abiatu inprimatze elkarrizketa-koadroarekin eta itxi inprimatu ondoren" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "\"Instantzia bakarra\" kontrola" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "Ez goratu leihoa" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "Aurkitu kate bat testuan" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "Kanpoko editorearen komandoa ezartzen du" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "" +"Ireki beharreko dokumentuak. Zehaztu '-' sarrera estandarretik (stdin) " +"irakurtzeko." + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" +"Ezin duzu editore komandoa ezarri dagoeneko martxan dagoen okularren " +"instantzia batean. Mesedez, ezgaitu fitxak eta saiatu berriz. Kontuan izan " +"«unique» ere ez dela onartzen editore komandoa komando-lerroan ezartzean.\n" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "" +"Errorea: Ezin da dokumentu bat baino gehiako ireki --unique etengailuarekin" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" +"Errorea: Ezin da dokumentu bat baino gehiago ireki --presentation " +"etengailuarekin" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "" +"Errorea: Ezin da dokumentu bat baino gehiago ireki --print etengailuarekin" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "" +"Errorea: Ezin da dokumentu bat baino gehiago ireki --page etengailuarekin" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "" +"Errorea: Ezin da dokumentu bat baino gehiago ireki --find etengailuarekin" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "Ezin da aurkitu Okularren osagaia: %1" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "Alboko-barra" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" +"Dagoeneko Okularren instantzia bakar bat martxan dago. Instantzia hau ez da " +"izango 'bakarra'." + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "Ezin da Okularren osagaia aurkitu." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"Egin klik fitxategi bat irekitzeko\n" +"Egin klik eta eutsi oraintsuko fitxategi bat irekitzeko" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"Klik egin fitxategi bat irekitzeko edo Klik egin eta eutsi " +"oraintsuko fitxategi bat hautatzeko" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "Hurrengo fitxa" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "Aurreko fitxa" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "Desegin fitxa ixtea" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "Giltzatu Alboko-barra" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "Fitxategi guztiak (*)" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "Onartutako fitxategi guztiak (%1)" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "Ireki dokumentua" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "Berretsi ixtea" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "Itxi fitxak" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "%1 fitxa ixtera zoaz. Ziur zaude jarraitu nahi duzula?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "Abisatu niri fitxa ugari ixten saiatzen naizenean" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "&Kopiatu bide-izena" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "&Ireki hau barnean duen karpeta" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "A&haztu elementu hau" + +#: shell/welcomescreen.cpp:137 +#, kde-format +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "Ez dago azken aldiko dokumenturik" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "Ongi etorri Okular-rera" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Ireki dokumentua..." + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, kde-format +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Azken aldiko dokumentuak" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "Ahaztu denak" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "Ezkutatu ongietorri pantaila" + +#~ msgid "Geometry with Comment" +#~ msgstr "Geometria iruzkinarekin" + +#~ msgid "Geometry" +#~ msgstr "Geometria" + +#~ msgctxt "Annotation type: contents" +#~ msgid "%1: %2" +#~ msgstr "%1: %2" + +#~ msgid "Modified: %1" +#~ msgstr "Aldatua: %1" + +#~ msgid "Find..." +#~ msgstr "Aurkitu..." + +#~ msgid "Go To Page..." +#~ msgstr "Joan orrialdera..." + +#~ msgid "Play movie..." +#~ msgstr "Jo filma..." + +#~ msgid "Search..." +#~ msgstr "Bilatu..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "&Gorde honela..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "&Ikuspegia..." + +#~ msgid "&Sign..." +#~ msgstr "&Sinatu..." + +#~ msgid "Configure Viewer..." +#~ msgstr "Konfiguratu erakuslea..." + +#~ msgid "Configure Viewer Backends..." +#~ msgstr "Konfiguratu erakuslearen bizkarraldekoak..." + +#~ msgid "Configure Backends..." +#~ msgstr "Konfiguratu bizkarraldekoak..." + +#~ msgid "&Add..." +#~ msgstr "&Gehitu..." + +#~ msgid "&Edit..." +#~ msgstr "&Editatu..." + +#~ msgctxt "%1 is a file path" +#~ msgid "" +#~ "Could not sign. Invalid certificate password or could not write to '%1'" +#~ msgstr "" +#~ "Ezin izan da sinatu. Ziurtagiriaren pasahitz baliogabea edo ezin izan da " +#~ "«%1»era idatzi" + +#~| msgid "" +#~| "All your signing certificates are either not valid yet or are past their " +#~| "validity date." +#~ msgid "All your signing certificates are invalid" +#~ msgstr "Sinatzeko zure ziurtagiri guztiak baliogabeak dira." + +#~ msgid "Unsigned Signature %1" +#~ msgstr "Sinatu gabeko %1 sinadura" + +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "Ezezaguna" + +#~ msgctxt "Signature type" +#~ msgid "Unsigned signature" +#~ msgstr "Sinatu gabeko sinadura" + +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "Spinbox prefix: Advance automatically: every n seconds" +#~ msgid "every " +#~ msgstr "maiztasuna" + +#~ msgctxt "Suffix for the pen width, eg '10 px'" +#~ msgid " px" +#~ msgstr " px" + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " %" + +#, fuzzy +#~| msgctxt "%1 is a file path" +#~| msgid "" +#~| "Could not sign. Invalid certificate password or could not write to '%1'" +#~ msgctxt "%1 is a file path" +#~ msgid "Could not sign. Could not write to '%1'" +#~ msgstr "" +#~ "Ezin izan da sinatu. Ziurtagiriaren pasahitz baliogabea edo ezin izan da " +#~ "«%1»era idatzi" + +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "Doitu zabalera" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "Doitu orrialdea" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Auto Fit" +#~ msgstr "Doitu automatikoki" + +#~ msgid "*|All Files" +#~ msgstr "*|Fitxategi guztiak" + +#~ msgid "Missing alert type" +#~ msgstr "Alerta mota falta da" + +#~ msgid "" +#~ "The file '%1' has been modified by another program, which means it can no " +#~ "longer be saved." +#~ msgstr "" +#~ "'%1' fitxategia beste programa batek aldatu du, horrek esan nahi du ezin " +#~ "dela gorde jada." + +#~ msgid "Show Sidebar" +#~ msgstr "Erakutsi Alboko-barra" + +#~ msgctxt "@info" +#~ msgid "" +#~ "experimental feature.Stamps inserted in PDF documents are " +#~ "not visible in PDF readers other than Okular." +#~ msgstr "" +#~ "Eginbide esperimentala.PDF dokumentuetan txertatutako " +#~ "zigiluak ez dira ikusiko Okular ez beste PDF irakurleetan." + +#~ msgctxt "@info" +#~ msgid "" +#~ "The version of the Poppler library this Okular was compiled with does not " +#~ "support signing documents with passwords. Please ask your provider to " +#~ "update it to 22.02 or later." +#~ msgstr "" +#~ "Okular hau konpilatzeko erabili zen Poppler-ren bertsioak ez du onartzen " +#~ "dokumentuak pasahitzekin sinatzea. Mesedez, galde iezaiozu zure " +#~ "hornitzaileari 22.02 edo ondorengo batera eguneratzeko." + +#~ msgctxt "@title:window" +#~ msgid "Poppler library is too old" +#~ msgstr "Poppler liburutegia zaharregia da" + +#~ msgctxt "@info" +#~ msgid "" +#~ "Stamps inserted in PDF documents are not visible in PDF readers other " +#~ "than Okular" +#~ msgstr "" +#~ "PDF dokumentuetan txertatutako zigiluak ez dira ikusiko Okular ez beste " +#~ "PDF irakurleetan." + +#~ msgctxt "@title:window" +#~ msgid "Experimental feature" +#~ msgstr "Ezaugarri esperimentala" + +#~ msgid "Remove Bookmarks" +#~ msgstr "Kendu laster-markak" + +#, fuzzy +#~| msgid "&Annotations" +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "&Idatzoharrak" + +#, fuzzy +#~| msgid "Highlight" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "Nabarmendu" + +#, fuzzy +#~| msgid "Underline" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Underline" +#~ msgstr "Azpimarra" + +#, fuzzy +#~| msgid "Squiggle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Squiggle" +#~ msgstr "Zirrimarra" + +#, fuzzy +#~| msgid "Strike Out" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Strike Out" +#~ msgstr "Marratua" + +#, fuzzy +#~| msgid "Insert Text" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "Txertatu testua" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "Lerro barruko oharra" + +#, fuzzy +#~| msgctxt "@action:intoolbar Annotation tool" +#~| msgid "Popup Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "Ohar gainerakorra" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a freehand line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Freehand Line" +#~ msgstr "Marraztu esku hutsezko lerro bat" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a straight line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Straight line" +#~ msgstr "Marraztu lerro zuzen bat" + +#, fuzzy +#~| msgid "Arrow" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Arrow" +#~ msgstr "Gezia" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a rectangle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Rectangle" +#~ msgstr "Marraztu laukizuzen bat" + +#, fuzzy +#~| msgid "Cyan Ellipse" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Ellipse" +#~ msgstr "Elipse cyana" + +#, fuzzy +#~| msgid "Polygon" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Polygon" +#~ msgstr "Poligonoa" + +#, fuzzy +#~| msgid "Highlighter" +#~ msgid "Highlight in Yellow" +#~ msgstr "Nabarmentzailea" + +#, fuzzy +#~| msgid "Highlight with Comment" +#~ msgid "Highlight in Green" +#~ msgstr "Nabarmentzea iruzkinarekin" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgid "Insert Inline Note" +#~ msgstr "Lerro barruko oharra" + +#, fuzzy +#~| msgctxt "@action:intoolbar Annotation tool" +#~| msgid "Popup Note" +#~ msgid "Insert Popup Note" +#~ msgstr "Ohar gainerakorra" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "Hautatu testua" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "Hautatu testua" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "Hautatu testua" + +#, fuzzy +#~| msgid "&Magnifier" +#~ msgctxt "verb" +#~ msgid "&Magnify" +#~ msgstr "&Lupa" + +#~ msgid "Bookmark annotation" +#~ msgstr "Gehitu idatzoharraren laster-marka" + +#~ msgid "&Toggle Change Colors" +#~ msgstr "&Txandakatu aldatu koloreak" + +#, fuzzy +#~| msgid "Enable transitions" +#~ msgctxt "@option:check Config dialog, presentation page, transitions" +#~ msgid "Enable transitions" +#~ msgstr "Gaitu trantsizioak" + +#, fuzzy +#~| msgid "Advance every:" +#~ msgctxt "@label:spinbox Config dialog, presentation page" +#~ msgid "Advance every:" +#~ msgstr "Aurreratu hainbatero:" + +#, fuzzy +#~| msgid "Use custom background color" +#~ msgctxt "@label:listbox Config dialog, general page" +#~ msgid "Custom background color:" +#~ msgstr "Erabili norberak finkatutako atzealdeko kolorea" + +#~ msgid "Draw border around &Images" +#~ msgstr "Marraztu ertza &irudien inguruan" + +#~ msgid "Speech" +#~ msgstr "Hizketa" + +#~ msgid "Engine" +#~ msgstr "Motorra" + +#~ msgid "Identity" +#~ msgstr "Nortasuna" + +#~ msgid "Au&thor:" +#~ msgstr "&Egilea:" + +#~ msgid "View Options" +#~ msgstr "Ikuspegiaren aukerak" + +#~ msgctxt "@info:whatsthis" +#~ msgid "" +#~ "Defines the default zoom mode for files which were never opened before.\n" +#~ "For files which were opened before the previous zoom is applied." +#~ msgstr "" +#~ "Aurrez inoiz ireki gabeko fitxategien zoom modu lehenetsia zehazten du.\n" +#~ "Aurrez ireki diren fitxategiekin aurreko zooma erabiltzen da." + +#~ msgid "Navigation" +#~ msgstr "Nabigatzea" + +#~ msgid "Placement" +#~ msgstr "Kokapena" + +#~ msgid "Screen:" +#~ msgstr "Pantaila:" + +#~ msgid "Drawing Tool Configuration" +#~ msgstr "Marrazteko trena konfiguratzea" + +#~ msgid "&Get Books From Internet..." +#~ msgstr "&Lortu liburuak Internetetik..." + +#~ msgid "Reviews" +#~ msgstr "Berrikuspenak" + +#~ msgctxt "@item:inlistbox Color name" +#~ msgid "%1" +#~ msgstr "%1" + +#~ msgid "Hide Forms" +#~ msgstr "Ezkutatu inprimakiak" + +#~ msgid "&Review" +#~ msgstr "&Berrikusi" + +#~ msgid "Annotations author" +#~ msgstr "Idatzoharren egilea" + +#~ msgid "Please insert your name or initials:" +#~ msgstr "Sartu zure izena edo inizialak:" + +#~ msgid "Show &Navigation Panel" +#~ msgstr "Erakutsi &nabigatzeko panela" + +#~ msgid "Show Text" +#~ msgstr "Erakutsi testua" + +#~ msgid "Small Icons" +#~ msgstr "Ikono txikiak" + +#~ msgid "Large Icons" +#~ msgstr "Ikono handiak" + +#~ msgid "" +#~ "Click to use the current selection tool\n" +#~ "Click on the arrow to choose another selection tool" +#~ msgstr "" +#~ "Egin klik uneko hautapen tresna erabiltzeko.\n" +#~ "Egin klik gezian beste tresna bat aukeratzeko" + +#~ msgid "Created: %1" +#~ msgstr "Sortua: %1" + +#~ msgid "Style" +#~ msgstr "Estiloa" + +#~ msgid "&Size:" +#~ msgstr "&Neurria:" + +#~ msgid "Inner color:" +#~ msgstr "Barneko kolorea:" + +#~ msgid "Name: %1" +#~ msgstr "Izena: %1" + +#~ msgid "Size: %1" +#~ msgstr "Neurria: %1" + +#~ msgid "&Browse Tool" +#~ msgstr "&Arakatze tresna" + +#~ msgid "&Zoom Tool" +#~ msgstr "&Zoom tresna" + +#~ msgctxt "Zoom Tool" +#~ msgid "Zoom" +#~ msgstr "Zoom" + +#~ msgctxt "Select Tool" +#~ msgid "Selection" +#~ msgstr "Hautapena" + +#~ msgid "&Text Selection Tool" +#~ msgstr "&Testu hautapen tresna" + +#~ msgid "T&able Selection Tool" +#~ msgstr "T&aula hautatzeko tresna" + +#, fuzzy +#~| msgctxt "Symbol for caret annotations" +#~| msgid "None" +#~ msgid " None" +#~ msgstr "Bat ere ez" + +#~ msgid "" +#~ "The document requested to be launched in presentation mode.\n" +#~ "Do you want to allow it?" +#~ msgstr "" +#~ "Eskatutako dokumentua aurkezpen moduan irekiko da.\n" +#~ "Nahi duzu baimentzea?" + +#~ msgid "Presentation Mode" +#~ msgstr "Aurkezpen modua" + +#~ msgid "Allow the presentation mode" +#~ msgstr "Baimendu aurkezpen modua" + +#~ msgid "Do Not Allow" +#~ msgstr "Ez baimendu" + +#~ msgid "Do not allow the presentation mode" +#~ msgstr "Ez baimendu aurkezpen modua" + +#~ msgid "Save &Copy As..." +#~ msgstr "Gorde &kopia honela..." + +#~ msgid "" +#~ "End of document reached.\n" +#~ "Continue from the beginning?" +#~ msgstr "" +#~ "Dokumentuaren amaierara iritsi da.\n" +#~ "Jarraitu hasieratik?" + +#~ msgid "" +#~ "Beginning of document reached.\n" +#~ "Continue from the bottom?" +#~ msgstr "" +#~ "Dokumentuaren hasierara iritsi da.\n" +#~ "Jarraitu amaieratik?" + +#~ msgid "Current maintainer" +#~ msgstr "Uneko mantentzailea" + +#~ msgid " sec." +#~ msgstr " seg." + +#~ msgid "Pencil color:" +#~ msgstr "Arkatzaren kolorea:" + +#~ msgid "Toggle Drawing Mode" +#~ msgstr "Txandakatu marrazketa modua" + +#~ msgid "Starting Jovie Text-to-Speech service Failed: %1" +#~ msgstr "Jovie testutik-hizketara zerbitzua abiarazteak huts egin du: %1" + +#~ msgid "Search Columns" +#~ msgstr "Bilatu zutabeak" + +#~ msgid "All Visible Columns" +#~ msgstr "Zutabe ikusgai guztiak" + +#~ msgid "No document opened." +#~ msgstr "Ez da dokumenturik ireki." + +#~ msgid "No matches found for '%1'." +#~ msgstr "Ez da bat-egiterik aurkitu \"%1\"-(r)rentzat." + +#~ msgid "Search in progress..." +#~ msgstr "Bilaketaren aurrerapena..." + +#~ msgid "Searching for %1" +#~ msgstr "%1 bilatzen" + +#~ msgid "Identity Settings" +#~ msgstr "Identitatearen ezarpenak" + +#~ msgid "Highlight Properties" +#~ msgstr "Nabarmentzearen propietateak" + +#~ msgid "Ink Properties" +#~ msgstr "Tintaren propietateak" + +#~ msgctxt "Annotation tool" +#~ msgid "Text Annotation" +#~ msgstr "Testuaren oharra" + +#~ msgctxt "Annotation tool" +#~ msgid "Green Ink" +#~ msgstr "Tinta berdea" + +#~ msgctxt "Annotation tool" +#~ msgid "Yellow Highlight" +#~ msgstr "Nabrmentze horia" + +#~ msgctxt "Annotation tool" +#~ msgid "Straight Yellow Line" +#~ msgstr "Marra horia zuzena" + +#~ msgid "Black Underlining" +#~ msgstr "Azpimarra beltza" + +#~ msgctxt "Annotation tool" +#~ msgid "Underline the text with a black line" +#~ msgstr "Azpimarratu testua marra beltzarekin" + +#~ msgctxt "Annotation tool" +#~ msgid "A cyan ellipse" +#~ msgstr "Elipse cyana" + +#~ msgid "Ink" +#~ msgstr "Tinta" + +#~ msgid "Reset Forms" +#~ msgstr "Berrezarri formularioak" + +#~ msgid "latex failed." +#~ msgstr "latex-ek huts egin du." + +#~ msgid "dvipng failed." +#~ msgstr "dvipng-ek huts egin du." + +#~ msgid "Moves to the first page of the document" +#~ msgstr "Dokumentuaren lehenengo orrialdera joaten da" + +#~ msgid "You must set this name:" +#~ msgstr "Izen hau ezarri behar duzu:" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "%1 is \"Title\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "%1 is \"File Path\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#~ msgctxt "@action:button" +#~ msgid "&Overwrite" +#~ msgstr "&Gainidatzi" + +#~ msgid "Pages:" +#~ msgstr "Orrialdeak:" diff --git a/po/eu/okular_comicbook.po b/po/eu/okular_comicbook.po new file mode 100644 index 0000000..0fd0ddf --- /dev/null +++ b/po/eu/okular_comicbook.po @@ -0,0 +1,62 @@ +# Translation of okular_comicbook.po to Euskara/Basque (eu). +# Copyright (C) 2019, This file is copyright: +# This file is distributed under the same license as the okular package. +# KDE euskaratzeko proiektuaren arduraduna . +# +# Translators: +# Enbata , 2009. +# Iñaki Larrañaga Murgoitio , 2009. +# Iñigo Salvador Azurmendi , 2019. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-06-24 10:30+0200\n" +"Last-Translator: Iñigo Salvador Azurmendi \n" +"Language-Team: Basque \n" +"Language: eu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 19.04.2\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Marcos Goyenetxe" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "marcos@euskalgnu.org" + +#: document.cpp:97 +#, kde-format +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "" +"Ezin da dokumentua ireki, ez da «unrar» ez eta «unarchiver» ere aurkitu." + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "Sisteman dagoen unrar bertsioa ez da egokia komikiak irekitzeko." + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "Komikiaren formatua ezezaguna." + +#~ msgid "ComicBook Backend" +#~ msgstr "Komikien motorra" + +#~ msgid "A renderer for various comic book formats" +#~ msgstr "Hainbat komiki-formaturen errendatzaile bat" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/eu/okular_djvu.po b/po/eu/okular_djvu.po new file mode 100644 index 0000000..005bef1 --- /dev/null +++ b/po/eu/okular_djvu.po @@ -0,0 +1,141 @@ +# Translation of okular_djvu.po to Euskara/Basque (eu). +# Copyright (C) 2009-2018, Free Software Foundation. +# This file is distributed under the same license as the kdegraphics package. +# KDE euskaratzeko proiektuaren arduraduna . +# +# Translators: +# Enbata , 2009. +# Iñaki Larrañaga Murgoitio , 2009. +# Iñigo Salvador Azurmendi , 2018. +msgid "" +msgstr "" +"Project-Id-Version: okular_djvu\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2018-08-03 15:24+0100\n" +"Last-Translator: Iñigo Salvador Azurmendi \n" +"Language-Team: Basque \n" +"Language: eu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 2.0\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Marcos Goyenetxe" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "marcos@euskalgnu.org" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "Editorea" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "Argitaratzailea" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "Bolumena" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "Dokumentu mota" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "Ezezaguna" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "Osagai fitxategiak" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "Ezezaguna" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "Orri bakarra" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "Sorta" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "Zeharkakoa" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "Sorta (zaharra)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "Indexatuta (zaharra)" + +#~ msgid "DjVu Backend" +#~ msgstr "DjVu motorra" + +#~ msgid "DjVu backend based on DjVuLibre." +#~ msgstr "DjVu motorra, DjVuLibre-n oinarrituta dago." + +#~ msgid "© 2006-2008 Pino Toscano" +#~ msgstr "© 2006-2008 Pino Toscano" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgctxt "Unknown title" +#~ msgid "Unknown" +#~ msgstr "Ezezaguna" + +#~ msgctxt "Unknown author" +#~ msgid "Unknown" +#~ msgstr "Ezezaguna" + +#~ msgctxt "Unknown editor" +#~ msgid "Unknown" +#~ msgstr "Ezezaguna" + +#~ msgctxt "Unknown publisher" +#~ msgid "Unknown" +#~ msgstr "Ezezaguna" + +#~ msgctxt "Unknown creation date" +#~ msgid "Unknown" +#~ msgstr "Ezezaguna" + +#~ msgctxt "Unknown volume information" +#~ msgid "Unknown" +#~ msgstr "Ezezaguna" + +#~ msgctxt "Unknown type of document" +#~ msgid "Unknown" +#~ msgstr "Ezezaguna" diff --git a/po/eu/okular_dvi.po b/po/eu/okular_dvi.po new file mode 100644 index 0000000..d794b75 --- /dev/null +++ b/po/eu/okular_dvi.po @@ -0,0 +1,770 @@ +# Translation of okular_dvi.po to Euskara/Basque (eu). +# Copyright (C) 2009-2018, Free Software Foundation. +# Copyright (C) 2019-2025 This file is copyright: +# This file is distributed under the same license as the okular package. +# SPDX-FileCopyrightText: 2024, 2025 KDE euskaratzeko proiektuaren arduraduna +# +# Translators: +# Enbata , 2009. +# Iñigo Salvador Azurmendi , 2010, 2011, 2018, 2024, 2025. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-14 09:38+0200\n" +"Last-Translator: Iñigo Salvador Azurmendi \n" +"Language-Team: Basque \n" +"Language: eu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 25.04.3\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Enbata,Iñigo Salvador Azurmendi" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "urazpian@hotmail.com,xalba@euskalnet.net" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

" +msgstr "" +"

Okularrek ezin izan du dvipdfm programa zure konputagailuan " +"aurkitu. Programa hau ezinbestekoa da esportatzeko funtzioa ibil dadin. Hala " +"ere, bihurtu DVI-fitxategia PDFra Okularren inprimatzeko funtzioa erabiliz, " +"horrek ondo inprimatzen diren dokumentuak sortuko ditu, baino kalitate " +"txikiagokoak Acrobat Reader-arekin ikusten badira. Zuhurra litzateke zure " +"TeX banaketa dvipdfm programa duen bertsio berriago batera bertsio-" +"berritzea.

Sistemaren administratzaile txundituarentzako argibidea: " +"Okularrek PATH ingurune aldagaia erabiltzen du programak bilatzerakoan.

" + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Kanpoko 'dvipdfm' programak, fitxategia esportatzeko erabili zenak, " +"akats baten berri eman du. Agian Fitxategi-Menuan aurkituko duzun " +"dokumentuen info elkarrizketa begiratu nahiko duzu " +"errorearen txosten zehatzerako." + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" +"DVI fitxategi honek PostScript formatuan ez dauden kanpoko fitxategi " +"grafikoei aipamen egiten die, eta ezin dira maneiatu dvips " +"programarekin, Okularek inprimatzeko edo Postscript-era esportatzeko barnean " +"erabiltzen duen programarekin. Zuk behar duzun funtzionaltasuna ez dago " +"beraz erabilgarri Okularren bertsio honetan." + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

" +msgstr "" +"

Okularrek ezin izan du zure aurkitu dvips programa zure " +"ordenagailuan. Programa hori ezinbestekoa da esportatzeko funtzioa ibil " +"dadin.

Administratzaile txundituarentzako argibidea: Okularrek PATH " +"ingurune aldagaia erabiltzen du programak bilatzerakoan.

" + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Kanpoko 'dvips' programak, fitxategia esportatzeko erabili zenak, errore " +"baten berri eman du. Agian Fitxategi-Menuan aurkituko duzun " +"dokumentuen info elkarrizketa begiratu nahiko duzu " +"errorearen txosten zehatzerako." + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "DVI fitxategia ez da hasten abiaburuarekin." + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" +"DVI fitxategiak programa honetarako DVIren irteera bertsio okerra du. " +"Argibidea: Omega tipografia-sistema erabiltzen baduzu, programa berezi bat " +"erabil behar duzu, oxdvi adibidez." + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "" +"DVI fitxategia sakonki hondatua dago. Okularrek ezin izan du azkenburua " +"aurkitu." + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "Azkenburua ez da hasten «POST» komandoarekin." + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "Azkenburuak «FNTDEF» ez den beste komando bat dauka." + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "%1 orrialdea ez da hasten «BOP» komandoarekin." + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

PATH: %2

" +msgstr "" +"

Kanpoko pdf2ps programa ezin izan da abiatu. Honen " +"ondorioz, %1 PDF fitxategia ezin izan da PostScript-era bihurtu. Zure " +"dokumentuko zenbait elementu grafiko ez dira bistaratuko, beraz.

Arrazoi posibleak: Izan liteke pdf2ps programa " +"zure sisteman instalatua ez egotea, edo uneko bidean aurkitu ezin izatea.

Egin dezakezuna: pdf2ps programa ghostscript " +"Postscript interpretatzeko sistemaren banaketetan egon ohi da. Ghostscript " +"ez badago zure sisteman instalatua, orain instalatu dezakezu. Ghostscript " +"zure sisteman instalatua dagoela ziur bazaude, saiatu pdf2ps komando lerrotik erabiltzen benetan dabilen egiaztatzeko.

PATH: %2

" + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

%2

" +msgstr "" +"

%1 PDF-fitxategia ezin izan da PostScript-era bihurtu. Ondorioz " +"zenbait elementu grafiko ez dira bistaratuko.

Arrazoi posibleak: %1 fitxategia hondatuta egon liteke, edo agian ez da PDF-fitxategia ere. " +"Hau da Okularrek erabili duen pdf2ps programaren irteera:

%2

" + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "Fitxategi hondatua. %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "PostScript fitxategi guztiak ezin dira kapsulatu zure dokumentuan. %1" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "" +"Kanpoko Postscript fitxategi guztiak ezin dira kapsulatu zure dokumentuan." + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "Adierazitako '%1' fitxategia ez dago." + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" +"Okularri eskatu diozu DVI fitxategian %2 TeX-fitxategiko %1 lerroari " +"dagokion lekua aurkitzeko. Dirudienez, ordea, DVI fitxategiak ez dauka " +"sorburu fitxategiaren gaineko beharrezko informazioa." + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" +"Okularrek ezin izan du aurkitu DVI fitxategian %2 TeX-fitxategiko %1 " +"lerroari dagokion lekua." + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "DVI kodeak letra-tipo ezezagun bateko karakterea ezarri du." + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "" +"DVI kodeak #%1 letra-tipoari aipamen egin dio, lehendik definitua ez dagoena." + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "Pila ez zegoen hutsik «EOP» komandoa aurkitzu denean." + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "Pila hutsik zegoen «POP» komandoa aurkitu denean." + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "" +"DVI kodeak aurrez definitu gabe zegoen letra-tipo bati aipamen egiten dio." + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "Legez kontrako komando bat aurkitu da." + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "%1 eragiketa-kode ezezaguna aurkitu da." + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "%1 kapsulatzea" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
" +msgstr "" +"%1 orria: %2 PDF fitxategia ezin izan da PostScript-era " +"bihurtu.
" + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
" +msgstr "" +"%1 orria: %2 PostScript fitxategia ezin izan da aurkitu.
" + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "" +"'%1' paper-neurriaren datuen azterketa sintaktikoa ezin izan da gainditu." + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

PATH: %1

%2

" +msgstr "" +"

Okularrek ezin izan ditu aurkitu uneko DVI fitxategia bistaratzeko " +"beharrezkoak diren letra-tipoen fitxategi guztiak. Zure dokumentua " +"irakurtezina izan daiteke.

BIDEA: %1

%2

" + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

PATH: %1

%2

" +msgstr "" +"

Arazoak izan dira kpsewhich ibiltzean. Horren ondorioz, " +"letra-tipo fitxategi batzuk ez dira aurkitu, eta zure dokumentua " +"irakurtezina izan daiteke.
Arrazoi posibleak: kpsewhich " +"programa agian ez dago zure sisteman instalatuta, edo ezin da aurkitu uneko " +"bilaketa bidean.

PATH: %1

%2

" + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" +"kpsewhichen letra-tipoen sorrera galarazi egin da (irteera " +"kodea %1, errorea %2). Horren ondorioz, zenbait letra-tipo fitxategi ezin " +"izan dira aurkitu, eta zure dokumentua irakurtezina izan liteke." + +#: fontpool.cpp:482 +#, kde-format +msgid "Currently generating %1 at %2 dpi…" +msgstr "Une honetan %1 sortzen ari da, %2 dpi-arekin..." + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "Sortzailea/Data" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "Letra-tipo fitxategia ez da aurkitu" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "%1 × %2" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "%1 × %2 mm" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "%1 × %2 in" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "erretratua" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "paisaia" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" +"Ordenagailu honetan instalatuta dagoen Ghostview-ren bertsioak ez dauka " +"Okularri ezagunak zaizkion Ghostviewren gailuetarako gidaririk. Postscript-" +"en euskarria itzali da Okularren horren ondorioz." + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "Horrekin 25 errore dira. Ez da beste errore mezurik inprimatuko." + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" +"Errorea '%1' DVI-fitxategian, %2 orria. «Pop kolore» komandoa jaulki da " +"kolore pila hutsik dagoenean." + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" +"Gaizki osatutako parametroa «epsf» komando berezian.\n" +"Higikor bat espero zen %1-(e)(r)i %2-an jarraitzeko" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"Fitxategi ez da aurkitu: \n" +"%1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" +"Errorea '%1' DVI-fitxategian, %2 orria. Ezin izan da angelua interpretatu " +"testu biraketa berezian." + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "'%1' komando berezia ez dago inplementatuta." + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" +"%1 letra-tipo fitxategia ireki eta irakur daiteke, baina Letra-tipo formatua " +"ez da onartzen." + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "" +"%1 letra-tipo fitxategia hondatua dago, edo ezin izan da ireki edo irakurri." + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" +"FreeTypek errore baten berri eman du %1 letra-tipo fitxategiaren karaktere " +"neurria ezartzean." + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "FreeTypek ezin du %2 letra-tipo fitxategitik #%1 glifoa zamatu." + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "FreeTypek ezin du errendatu %2 letra-tipo fitxategiko #%1 glifoa." + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "#%1 glifoa hutsik dago." + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "%2 letra-tipo fitxategiko #%1 glifoa hutsik dago." + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "" +"FreeTypek ezin du %2 letra-tipo fitxategiko #%1 glifoaren metrika zamatu." + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "%1 letra-tipo fitxategia ezin da ireki." + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "" +"TexFont_PK::operator[]: %2 letra-tipoko %1 karakterea ez dago definituta" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "Ustekabeko %1 %2 PK fitxategian" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "%2 fitxategiko %1 karakterea handiegia da" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "Bit kopuru okerra biltegiratu da: %1 Karakterea, %2 letra-tipoa" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "Pk fitxategi hondatua (%1), bit gehiegi" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "Letra-tipoak itxura-erlazio ez-laukia dauka" + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "Ezin da aurkitu %1 letra-tipoa, %2 fitxategia." + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "Egiaztapen-batura akatsa %1 letra-tipo fitxategiarentzako" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "Ezin da antzeman %1 letra-tipo fitxategiaren formatua" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"Errore larria.\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" +"\n" +"\n" +"Honek adierazi dezake Okularren akats bat aurkitu duzula,\n" +"edo DVI fitxategia, edo fitxategi laguntzaileak (letra-tipo \n" +"fitxategiak, edo alegiazko letra-tipo fitxategiak esaterako) \n" +"sakonki hondatuta zeudela.\n" +"Okular mezu honen ondoren itxi egingo da. Akats bat aurkitu\n" +"duzulakoan bazaude, edo Okular egoera honetan hobe jokatu\n" +"behar zuela uste baduzu, eman arazoaren berri." + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "Komando byte okerra aurkitu da VF makro zerrendan: %1" + +#~ msgid "" +#~ "

The Ghostview program, which Okular uses internally to display the " +#~ "PostScript graphics that is included in this DVI file, is generally able " +#~ "to write its output in a variety of formats. The sub-programs that " +#~ "Ghostview uses for these tasks are called 'device drivers'; there is one " +#~ "device driver for each format that Ghostview is able to write. Different " +#~ "versions of Ghostview often have different sets of device drivers " +#~ "available. It seems that the version of Ghostview that is installed on " +#~ "this computer does not contain any of the device drivers " +#~ "that are known to Okular.

It seems unlikely that a regular " +#~ "installation of Ghostview would not contain these drivers. This error may " +#~ "therefore point to a serious misconfiguration of the Ghostview " +#~ "installation on your computer.

If you want to fix the problems with " +#~ "Ghostview, you can use the command gs --help to display " +#~ "the list of device drivers contained in Ghostview. Among others, Okular " +#~ "can use the 'png256', 'jpeg' and 'pnm' drivers. Note that Okular needs to " +#~ "be restarted to re-enable PostScript support.

" +#~ msgstr "" +#~ "

Ghostview programa, Okularrek DVI fitxategi honetan erantsitako " +#~ "PostScript grafikoak bistaratzeko barruan erabiltzen duen programa, " +#~ "gehienetan irteera hainbat formatutan idazteko gauza izaten da. Ataza " +#~ "hauetarako Ghostview-k erabiltzen dituen azpi-programei 'gailu gidari' " +#~ "deitzen zaie; gailu gidari bat dago Ghostview-k idatz dezakeen formatu " +#~ "bakoitzerako. Ghostview-ren bertsio ezberdinek maiz gailu gidari multzo " +#~ "ezberdinak izaten dituzte erabilgarri. Dirudienez zure ordenagailuan " +#~ "instalatua dagoen Ghostview-ren bertsioak ez dauka Okularri ezagun zaion " +#~ "gailu gidarietako bat ere.

Sinesgaitza dirudi " +#~ "Ghostview-ren instalazio arrunt batek gidari hauek ez izatea. Errore " +#~ "honek zure ordenagailuko Ghostview-ren konfigurazioaren oker garrantzitsu " +#~ "bat adieraz dezake.

Ghostviewrekin dagoen arazo hau konpondu nahi " +#~ "baduzu, gs --help komandoa erabil dezakezu Ghostview-k " +#~ "dituen gailu gidari zerrenda bistaratzeko. Beste batzuen artean, Okular-" +#~ "rek 'png256', 'jpeg' eta 'pnm' gidariak erabil ditzake. Jakizu Okular " +#~ "berrabiatu egin behar dela PostScript-ekiko euskarria berriz gaitzeko." + +#~ msgid "DVI Backend" +#~ msgstr "DVI motorea" + +#~ msgid "A DVI file renderer" +#~ msgstr "DVI fitxategiko errendatzailea" + +#~ msgid "© 2006 Luigi Toscano" +#~ msgstr "© 2006 Luigi Toscano" + +#~ msgid "" +#~ "

Okular relies on the kpsewhich program to locate font files on " +#~ "your hard disk and to generate PK fonts, if necessary.

" +#~ msgstr "" +#~ "

Beharrezkoa bada, okular kpsewhich programan oinarritzen da " +#~ "letra-tipo fitxategiak lokalizatzeko zure diska gogorrean eta sortu PK " +#~ "letra-tipoak.

" + +#~ msgid "Okular is currently generating bitmap fonts..." +#~ msgstr "Okular une honetan bit-map letra-tipoak sortzen ari da..." + +#~ msgid "Aborts the font generation. Do not do this." +#~ msgstr "Gelditu letra-tipo sortzeaz. Ez du egiten." + +#~ msgid "" +#~ "Okular is currently generating bitmap fonts which are needed to display " +#~ "your document. For this, Okular uses a number of external programs, such " +#~ "as MetaFont. You can find the output of these programs later in the " +#~ "document info dialog." +#~ msgstr "" +#~ "Okular bit-map letra-tipoak sortzen ari da, dokumentua bistaratzeko " +#~ "baharrezkoak direlako. Hainbat kanpoko programak erabiltzen ditu Okular " +#~ "hau egiteko, MetaFont adibidez. Dokumentu elkarrizketa-koadroan programa " +#~ "hoietako irteera bilatu dezakezu geroago." + +#~ msgid "Okular is generating fonts. Please wait." +#~ msgstr "Okular letra-tipoak sortzen ari da. Itxaron." + +#~ msgid "Font Generation Progress Dialog" +#~ msgstr "Letra-tipoa sortzeko prozesua progresioaren elkarrizketa-koadroa" + +#~ msgid "Abort" +#~ msgstr "Abortatu" + +#~ msgid "What is happening here?" +#~ msgstr "Zer hari da gertatzen hemen?" + +#~ msgid "%v of %m" +#~ msgstr "%v-a %m-tik" + +#~ msgid "Please be patient" +#~ msgstr "Pazientzia pixka bat mesedez" + +#~ msgid "*.pdf|Portable Document Format (*.pdf)" +#~ msgstr "*.pdf|Portable Document Format (*.pdf)" + +#~ msgid "Export File As" +#~ msgstr "Esportatu fitxategia honela" + +#~ msgid "" +#~ "The file %1\n" +#~ "exists. Do you want to overwrite it?" +#~ msgstr "" +#~ "%1 fitxategia\n" +#~ "existitzen da. Gainidatzi nahi duzu?" + +#~ msgid "Overwrite File" +#~ msgstr "Gainidatzi fitxategia" + +#~ msgid "Overwrite" +#~ msgstr "Gainidatzi" + +#~ msgid "Using dvipdfm to export the file to PDF" +#~ msgstr "Dvipdfm erabiltzen fitxategia PDF-ra esportatzeko" + +#~ msgid "" +#~ "Okular is currently using the external program 'dvipdfm' to convert your " +#~ "DVI-file to PDF. Sometimes that can take a while because dvipdfm needs to " +#~ "generate its own bitmap fonts Please be patient." +#~ msgstr "" +#~ "Okular une honetan'dvipdfm' kanpoko programa erabiltzen ari da zure DVI-" +#~ "fitxategia PDF-ra bihurtzeko. Batzutzan debora pixka bat hartu dezake " +#~ "dvipdfm-ek bere letra-tipoen bitmapa propioa sortu behar duelako, mesedez " +#~ "izan ezazu pazientzia." + +#~ msgid "Waiting for dvipdfm to finish..." +#~ msgstr "Dvipdfm zain amaitu arte..." + +#~ msgid "*.ps|PostScript (*.ps)" +#~ msgstr "*.ps|PostScript (*.ps)" + +#~ msgid "Using dvips to export the file to PostScript" +#~ msgstr "Dvips erabiltzen fitxategia PostScript-ra esportatzeko" + +#~ msgid "" +#~ "Okular is currently using the external program 'dvips' to convert your " +#~ "DVI-file to PostScript. Sometimes that can take a while because dvips " +#~ "needs to generate its own bitmap fonts Please be patient." +#~ msgstr "" +#~ "Okular une honetan'dvips' kanpoko programa erabiltzen ari da zure DVI-" +#~ "fitxategia PostScript-era bihurtzeko. Batzutzan debora pixka bat hartu " +#~ "dezake dvips-ek bere letra-tipoen bitmapa propioa sortu behar duelako, " +#~ "mesedez izan ezazu pazientzia." + +#~ msgid "Waiting for dvips to finish..." +#~ msgstr "Dvips zain amaitu arte..." + +#~ msgid "Functionality Unavailable" +#~ msgstr "Funtzionaltasuna ez da erabilgarria" + +#~ msgid "" +#~ "File corruption Okular could not interpret your DVI " +#~ "file. This is most commonly caused by a corrupted file." +#~ msgstr "" +#~ "Fitxategi hondatzea Okular ezin izan du DVI " +#~ "fitxategia interpretatu. Ohikoena fitxategi oker batekin eragitea da." + +#~ msgid "DVI File Error" +#~ msgstr "Errorea DVI fitxategian" + +#~ msgid "Not All Font Files Found" +#~ msgstr "Ez dira letra-tipo fitxategi guztiak aurkitu" + +#~ msgid "Locating fonts..." +#~ msgstr "Letra-tipoak aurkitzen..." + +#~ msgid "Problem locating fonts" +#~ msgstr "Letra-tipoak kokatzerakoan arazoa" + +#~ msgid "Font generation aborted" +#~ msgstr "Letra-tipoa sortzeko prozesua bertan behera utzi du" + +#~ msgid "Export: %1 to PDF" +#~ msgstr "Esportatu: %1 PDF-ra" + +#~ msgid "Export: %1 to PostScript" +#~ msgstr "Esportatu: %1 PostScript-era" + +#~ msgid "The fontlist is currently empty." +#~ msgstr "Letra tipoen zerrenda une honetan hutsik dago." + +#~ msgid "TeX Name" +#~ msgstr "TeX Izena" + +#~ msgid "Family" +#~ msgstr "Senideak" + +#~ msgid "Zoom" +#~ msgstr "Zooma" + +#~ msgid "Type" +#~ msgstr "Mota" + +#~ msgid "Encoding" +#~ msgstr "Kodetzea" + +#~ msgid "Comment" +#~ msgstr "Iruzkin" + +#~ msgid "TeX virtual" +#~ msgstr "TeX birtuala" + +#~ msgid "TeX Font Metric" +#~ msgstr "TeX letra-tipoa metrotan" + +#~ msgid "FreeType" +#~ msgstr "FreeType" diff --git a/po/eu/okular_epub.po b/po/eu/okular_epub.po new file mode 100644 index 0000000..d7575d3 --- /dev/null +++ b/po/eu/okular_epub.po @@ -0,0 +1,59 @@ +# Translation of okular_epub.po to Euskara/Basque (eu). +# Copyright (C) 2009-2018, Free Software Foundation. +# This file is distributed under the same license as the kdegraphics package. +# KDE euskaratzeko proiektuaren arduraduna . +# +# Translators: +# Enbata , 2009. +# Iñigo Salvador Azurmendi , 2018. +msgid "" +msgstr "" +"Project-Id-Version: okular_epub\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2018-08-03 17:18+0100\n" +"Last-Translator: Iñigo Salvador Azurmendi \n" +"Language-Team: Basque \n" +"Language: eu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 2.0\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Enbata" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "urazpian@hotmail.com" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "Errorea EPub dokumentua irekitzean." + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "EPub" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "EPub bizkarraldekoaren konfigurazioa" + +#~ msgid "EPub Backend" +#~ msgstr "EPub Motorea" + +#~ msgid "An EPub backend" +#~ msgstr "EPub-eko motorea" + +#~ msgid "© 2008 Ely Levy" +#~ msgstr "© 2008 Ely Levy" + +#~ msgid "Ely Levy" +#~ msgstr "Ely Levy" diff --git a/po/eu/okular_fax.po b/po/eu/okular_fax.po new file mode 100644 index 0000000..e456a94 --- /dev/null +++ b/po/eu/okular_fax.po @@ -0,0 +1,47 @@ +# translation of okular_fax.po to Basque +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Enbata , 2009. +# Iñaki Larrañaga Murgoitio , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_fax\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-05-12 19:03+0200\n" +"Last-Translator: Iñaki Larrañaga Murgoitio \n" +"Language-Team: Basque \n" +"Language: eu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Marcos Goyenetxe" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "marcos@euskalgnu.org" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "Ezin da dokumentua kargatu" + +#~ msgid "Fax Backend" +#~ msgstr "Fax motorra" + +#~ msgid "A G3/G4 fax document backend" +#~ msgstr "G3/G4 fax dokumentuen motorra" + +#~ msgid "© 2008 Tobias Koenig" +#~ msgstr "© 2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/eu/okular_fictionbook.po b/po/eu/okular_fictionbook.po new file mode 100644 index 0000000..6dab11a --- /dev/null +++ b/po/eu/okular_fictionbook.po @@ -0,0 +1,85 @@ +# Translation of okular_fictionbook.po to Euskara/Basque (eu). +# Copyright (C) 2009-2018, Free Software Foundation. +# This file is distributed under the same license as the kdegraphics package. +# KDE euskaratzeko proiektuaren arduraduna . +# +# Translators: +# Enbata , 2009. +# Iñaki Larrañaga Murgoitio , 2009. +# Iñigo Salvador Azurmendi , 2018. +msgid "" +msgstr "" +"Project-Id-Version: okular_fictionbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2018-08-03 17:27+0100\n" +"Last-Translator: Iñigo Salvador Azurmendi \n" +"Language-Team: Basque \n" +"Language: eu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 2.0\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Marcos Goyenetxe" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "marcos@euskalgnu.org" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "Dokumentua ez da baliozko «FictionBook» bat" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "Ezin da dokumentua ireki: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "Dokumentua ez da baliozko ZIP artxiboa" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "Dokumentuaren egitura baliogabea (direktorio nagusia falta da)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "Ez da edukirik aurkitu dokumentuan" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "XML dokumentu baliogabea: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "FictionBook" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "FictionBook bizkarraldekoaren konfigurazioa" + +#~ msgid "Fiction Book Backend" +#~ msgstr "Fikzio-liburuko motorra" + +#~ msgid "A renderer for FictionBook eBooks" +#~ msgstr "eBooks fikzio-liburuko errendatzailea" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/eu/okular_ghostview.po b/po/eu/okular_ghostview.po new file mode 100644 index 0000000..7e6a7e7 --- /dev/null +++ b/po/eu/okular_ghostview.po @@ -0,0 +1,97 @@ +# Translation of okular_ghostview.po to Euskara/Basque (eu). +# Copyright (C) 2009-2018, Free Software Foundation. +# Copyright (C) 2019-2022, This file is copyright: +# This file is distributed under the same license as the okular package. +# KDE euskaratzeko proiektuaren arduraduna . +# +# Translators: +# Enbata , 2009. +# Iñaki Larrañaga Murgoitio , 2009. +# Iñigo Salvador Azurmendi , 2018, 2022. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2022-08-07 13:29+0200\n" +"Last-Translator: Iñigo Salvador Azurmendi \n" +"Language-Team: Basque \n" +"Language: eu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 22.04.3\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Marcos Goyenetxe" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "marcos@euskalgnu.org" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "Erabili plataformako letra-tipoak" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"Ghostscript-i plataformako letra-tipoak erabiltzen utzi edo ez zehazten du, " +"ezezko kasuan soilik dokumentuan kapsulatutako letra-tipoak onartuko dira." + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "Ezarpen orokorrak" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "&Erabili plataformako letra-tipoak" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Ghostscripteko bizkarraldekoaren konfigurazioa" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "Dokumentuaren bertsioa" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "Hizkuntza maila" + +#~ msgid "PS Backend" +#~ msgstr "PS motorra" + +#~ msgid "A PostScript file renderer." +#~ msgstr "PostScript fitxategiko errendatzailea." + +#~ msgid "© 2007-2008 Albert Astals Cid" +#~ msgstr "© 2007-2008 Albert Astals Cid" + +#~ msgid "Based on the Spectre library." +#~ msgstr "Spectre liburutegian oinarrituta." + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" diff --git a/po/eu/okular_kimgio.po b/po/eu/okular_kimgio.po new file mode 100644 index 0000000..bd7eded --- /dev/null +++ b/po/eu/okular_kimgio.po @@ -0,0 +1,75 @@ +# Translation of okular_kimgio.po to Euskara/Basque (eu). +# Copyright (C) 2009-2018, Free Software Foundation. +# This file is distributed under the same license as the kdegraphics package. +# KDE euskaratzeko proiektuaren arduraduna . +# +# Translators: +# Enbata , 2009. +# Iñaki Larrañaga Murgoitio , 2009. +# marcos, 2011. +# Iñigo Salvador Azurmendi , 2018. +msgid "" +msgstr "" +"Project-Id-Version: okular_kimgio\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2018-08-03 17:43+0100\n" +"Last-Translator: Iñigo Salvador Azurmendi \n" +"Language-Team: Basque \n" +"Language: eu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 2.0\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Marcos Goyenetxe" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "marcos@euskalgnu.org" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "Ezin da zamatu dokumentua: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" +"Dokumentu hau gaizki eratuta dagoela dirudi. Hemen dago dokumentuarentzat " +"nahi zen itxuraren hurbilketa hobe bat." + +#~ msgid "Image Backend" +#~ msgstr "Irudien motorra" + +#~ msgid "A simple image backend" +#~ msgstr "Irudi bakunen motorra" + +#~ msgid "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" +#~ msgstr "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" + +#~ msgid "Main Toolbar" +#~ msgstr "Tresna-barra nagusia" diff --git a/po/eu/okular_markdown.po b/po/eu/okular_markdown.po new file mode 100644 index 0000000..85259ad --- /dev/null +++ b/po/eu/okular_markdown.po @@ -0,0 +1,57 @@ +# Translation of okular_markdown.po to Euskara/Basque (eu). +# Copyright (C) 2018, Free Software Foundation. +# Copyright (C) 2019, This file is copyright: +# This file is distributed under the same license as the okular package. +# KDE euskaratzeko proiektuaren arduraduna . +# +# Translators: +# Iñigo Salvador Azurmendi , 2018, 2019. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-06-24 10:21+0200\n" +"Last-Translator: Iñigo Salvador Azurmendi \n" +"Language-Team: Basque \n" +"Language: eu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 19.04.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Iñigo Salvador Azurmendi" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "xalba@euskalnet.net" + +#: converter.cpp:59 converter.cpp:93 +#, kde-format +msgid "Failed to open the document" +msgstr "Huts egin du dokumentua irekitzea" + +#: converter.cpp:106 converter.cpp:124 +#, kde-format +msgid "Failed to compile the Markdown document." +msgstr "Huts egin du Markdown dokumentua konpilatzea." + +#: generator_md.cpp:58 +#, kde-format +msgid "Enable SmartyPants formatting" +msgstr "Gaitu «SmartyPants» formatua ematea" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown" +msgstr "Markdown" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown Backend Configuration" +msgstr "Markdown bizkarraldekoaren konfigurazioa" diff --git a/po/eu/okular_mobi.po b/po/eu/okular_mobi.po new file mode 100644 index 0000000..27704d3 --- /dev/null +++ b/po/eu/okular_mobi.po @@ -0,0 +1,67 @@ +# Translation of okular_mobi.po to Euskara/Basque (eu). +# Copyright (C) 2009-2018, Free Software Foundation. +# This file is distributed under the same license as the kdegraphics package. +# KDE euskaratzeko proiektuaren arduraduna . +# +# Translators: +# Enbata , 2009. +# Iñigo Salvador Azurmendi , 2018. +msgid "" +msgstr "" +"Project-Id-Version: okular_mobi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2018-08-03 17:59+0100\n" +"Last-Translator: Iñigo Salvador Azurmendi \n" +"Language-Team: Basque \n" +"Language: eu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 2.0\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Enbata" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "urazpian@hotmail.com" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Errorea Mobipocket dokumentua irekitzean." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "" +"Liburu hau DRM bidez babestua dago eta bistaratu daiteke bakarrik " +"izendatutako gailuan" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "Mobipocket" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "Mobipocket bizkarraldekoaren konfigurazioa" + +#~ msgid "Mobipocket Backend" +#~ msgstr "Mobipocket motorea" + +#~ msgid "A mobipocket backend" +#~ msgstr "Mobipocket-eko motorea" + +#~ msgid "© 2008-2009 Jakub Stachowski" +#~ msgstr "© 2008-2009 Jakub Stachowski" + +#~ msgid "Jakub Stachowski" +#~ msgstr "Jakub Stachowski" diff --git a/po/eu/okular_poppler.po b/po/eu/okular_poppler.po new file mode 100644 index 0000000..3b013f6 --- /dev/null +++ b/po/eu/okular_poppler.po @@ -0,0 +1,432 @@ +# Translation for okular_poppler.po to Euskara/Basque (eu). +# Copyright (C) 2009-2025 This file is copyright: +# This file is distributed under the same license as the okular package. +# SPDX-FileCopyrightText: 2025 KDE euskaratzeko proiektuaren arduraduna +# +# Translators: +# Enbata , 2009. +# Iñaki Larrañaga Murgoitio , 2009. +# Iñigo Salvador Azurmendi , 2011, 2018, 2019, 2021, 2023, 2025. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-14 09:32+0200\n" +"Last-Translator: Iñigo Salvador Azurmendi \n" +"Language-Team: Basque \n" +"Language: eu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 25.04.3\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Iñigo Salvador Azurmendi,Marcos Goyenetxe" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "xalba@ni.eus,marcos@euskalgnu.org" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "Gaitu gaininprimatze aurreikuspegia:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "Inoiz ez" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "Beti" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "Automatikoa" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "Areagotu lerro meheak:" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "Ez" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "Solidoa" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "Forma" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "Inprimatzeko eskalatze modu lehenetsia:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "Egokitu azalera inprimagarrira" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "Egokitu orri osora" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "Bat ere ez; inprimatu jatorrizko neurrian" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" +"Aukera hau gaituz gero, Okularrek, sinadura digitalerako erabilitako " +"ziurtagiriak, sortu zirenetik indargabetu diren egiaztatzeko, hirugarrenen " +"OCSP zerbitzariekin harremanetan jartzeko aukera izango du" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" +"Egiaztatu sinadura digitalen ziurtagirien indargabetzea hirugarrenen " +"zerbitzariak erabiliz" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "Sinadura bizkarraldekoa:" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" +"Sinadura hauek baliozkotzeko, GnuPG bizkarraldekoa aktibatuta duten Okular-" +"ren bertsio modernoak erabili behar dira" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "Baimendu PGP gakoak sinaduretarako (Okular-ren hedapena)" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "Ziurtagiri datu-basea" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "Lehenetsia:" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "Norberak finkatua:" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "Eskura dauden ziurtagiriak" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "&Zamatu sinadurak" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "PDF aukerak" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "Inprimatu idatzoharrak" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "Sartu idatzoharrak inprimatutako dokumentuan" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"Idatzoharrak sartzen ditu inprimatutako dokumentuan. Hau desgaitu dezakezu " +"jatorrizko idatzoharrik gabeko dokumentua inprimatu nahi baduzu." + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "Derrigortu bilbatzea" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "Bilbatu irudi batean inprimatu aurretik" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"Orrialde bakoitza irudi batean bilbatzea behartzen du hura inprimatu " +"aurretik. Honek emaitza okerragoak eman ohi ditu, baina beste eratan oker " +"inprimatzen diren dokumentuak inprimatzeko baliagarria izaten da." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "Inprimatutako orrientzako eskalatzeko modua" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "Eskalatze modua:" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF %1.%2 bertsioa" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "Formatua" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "Zifratuta" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "Zifratu gabe" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "Segurtasuna" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "Bai" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "Optimizatuta" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Nork sinatua: %1\n" +"\n" +"Data: %2" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "«Poppler» %1 erabiltzen" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" +"«Poppler» %1 erabiltzen\n" +"\n" +"«Poppler» %2 erabiliz eraikia" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "PDF bizkarraldekoaren konfigurazioa" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "Aldi baterako fitxategian idaztea huts egin du" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "Aldi baterako fitxategia berrizendatzea huts egin du" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" +"Dokumentuan errore batzuk aurkitu dira, baliteke Okular edukia era egokian " +"erakusteko gai ez izatea" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" +"Sinadura hauek GnuPG oinarri duen bizkarraldekoa aktibatuta duten Okular-ren " +"bertsio modernoen artean baino ez dabil" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "Gaitu PGP sinadurak" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "Honentzat Jaulkia" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "E-posta" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "Iraungitze data" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" +"NSS euskarririk gabe eraikitako Poppler liburutegi bat erabiltzen ari zara.\n" +"Arrazoi horregatik sinadura digitalak gehitzea ez dago erabilgarri" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "betirako" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "Berrabiatu beharra dago" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "" +"Okular berrabiatu behar duzu NSS direktorioaren ezarpenak aldatu ondoren" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter Password" +msgstr "Sartu pasahitza" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "Sartu %1 irekitzeko pasahitza:" + +#~ msgid "Not Available" +#~ msgstr "Ez dago eskuragarri" + +#~ msgid "PDF Backend" +#~ msgstr "PDF motorra" + +#~ msgid "A PDF file renderer" +#~ msgstr "PDF fitxategien bilbatzailea" + +#~ msgid "© 2005-2008 Albert Astals Cid" +#~ msgstr "© 2005-2008 Albert Astals Cid" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Saving files with /Encrypt is not supported." +#~ msgstr "Fitxategiak /Zifratu-rekin gordetzea ez da onartzen." + +#~ msgid "Unknown" +#~ msgstr "Ezezaguna" + +#~ msgid "Unknown Date" +#~ msgstr "Data ezezaguna" + +#~ msgid "Unknown Encryption" +#~ msgstr "Zifraketa ezezaguna" + +#~ msgid "Unknown Optimization" +#~ msgstr "Optimizazio ezezaguna" + +#~ msgid "Please enter the password to read the document:" +#~ msgstr "Mesedez sartu pasahitza dokumentua irakurtzeko:" + +#~ msgid "Incorrect password. Try again:" +#~ msgstr "Pasahitz okerra. Saiatu berriro:" diff --git a/po/eu/okular_tiff.po b/po/eu/okular_tiff.po new file mode 100644 index 0000000..56a45fa --- /dev/null +++ b/po/eu/okular_tiff.po @@ -0,0 +1,31 @@ +# Translation for okular_tiff.po to Euskara/Basque (eu). +# Copyright (C) 2020, This file is copyright: +# This file is distributed under the same license as the okular package. +# KDE euskaratzeko proiektuko arduraduna . +# +# Translators: +# Iñigo Salvador Azurmendi , 2020. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-07-27 09:27+0200\n" +"Last-Translator: Iñigo Salvador Azurmendi \n" +"Language-Team: Basque \n" +"Language: eu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 20.04.3\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Iñigo Salvador Azurmendi" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "xalba@euskalnet.net" diff --git a/po/eu/okular_txt.po b/po/eu/okular_txt.po new file mode 100644 index 0000000..0ca2feb --- /dev/null +++ b/po/eu/okular_txt.po @@ -0,0 +1,41 @@ +# Translation of okular_txt.po to Euskara/Basque (eu). +# Copyright (C) 2018, Free Software Foundation. +# This file is distributed under the same terms as the applications package. +# KDE euskaratzeko arduraduna . +# +# Translators: +# Iñigo Salvador Azurmendi , 2018. +msgid "" +msgstr "" +"Project-Id-Version: okular_txt\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2018-08-03 09:44+0100\n" +"Last-Translator: Iñigo Salvador Azurmendi \n" +"Language-Team: Basque \n" +"Language: eu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 2.0\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Iñigo Salvador Azurmendi" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "xalba@euskalnet.net" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "Txt" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "Txt bizkarraldekoaren konfigurazioa" diff --git a/po/eu/okular_xps.po b/po/eu/okular_xps.po new file mode 100644 index 0000000..f6a548f --- /dev/null +++ b/po/eu/okular_xps.po @@ -0,0 +1,59 @@ +# translation of okular_xps.po to Basque +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Enbata , 2009. +# Iñaki Larrañaga Murgoitio , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_xps\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-05-12 19:22+0200\n" +"Last-Translator: Iñaki Larrañaga Murgoitio \n" +"Language-Team: Basque \n" +"Language: eu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Marcos Goyenetxe" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "marcos@euskalgnu.org" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "Berrikuspena" + +#~ msgid "XPS Backend" +#~ msgstr "XPS motorra" + +#~ msgid "An XPS backend" +#~ msgstr "XPS motorra" + +#~ msgid "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" +#~ msgstr "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" + +#~ msgid "Brad Hards" +#~ msgstr "Brad Hards" + +#~ msgid "Jiri Klement" +#~ msgstr "Jiri Klement" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" diff --git a/po/eu/org.kde.active.documentviewer.po b/po/eu/org.kde.active.documentviewer.po new file mode 100644 index 0000000..4c7f2a3 --- /dev/null +++ b/po/eu/org.kde.active.documentviewer.po @@ -0,0 +1,215 @@ +# Translation for org.kde.active.appdata.po to Euskara/Basque (eu). +# Copyright (C) 2018, Free Software Foundation. +# Copyright (C) 2019-2025 This file is copyright: +# This file is distributed under the same license as the okular package. +# SPDX-FileCopyrightText: 2024, 2025 KDE euskaratzeko proiektuaren arduraduna +# +# Translators: +# Iñigo Salvador Azurmendi , 2018, 2019, 2021, 2022, 2023, 2024, 2025. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-29 10:43+0200\n" +"Last-Translator: Iñigo Salvador Azurmendi \n" +"Language-Team: Basque \n" +"Language: eu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 25.04.3\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "Laster-markak" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "Ziurtagiri erakuslea" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "Nork jaukia" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "Izen arrunta:" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "E-posta:" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "Erakundea:" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "Nori jaulkia" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "Baliozkotasuna" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "Jaulkitze Eguna:" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "Epemuga:" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "Hatz-markak" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "SHA-1 hatz-marka:" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "SHA-256 hatz-marka:" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +msgid "Export…" +msgstr "Esportatu..." + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "Itxi" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "Ziurtagiri-fitxategia (*.cer)" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "Errorea" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "Ezin izan du ziurtagiria esportatu." + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "Okular" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "Ireki…" + +#: ui/Main.qml:49 +msgid "About" +msgstr "Honi buruz" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "Pasahitza behar da" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "Kendu laster-marka" + +#: ui/MainView.qml:29 +msgid "Bookmark this page" +msgstr "Sortu orri honen laster-marka" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "Koadro txikiak" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "Edukien aurkibidea" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "Sinadurak" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "Sinaduraren propietateak" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "Baliozkotasun egoera" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "Sinaduraren baliozkotasuna:" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "Dokumentuaren aldaketak:" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "Informazio gehigarria" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "Nork sinatua:" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "Sinatze ordua:" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "Arrazoia:" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "Kokalekua:" + +#: ui/SignaturePropertiesPage.qml:96 +msgid "Document Version" +msgstr "Dokumentuaren bertsioa" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Dokumentuaren berrikuspena %1/%2" + +#: ui/SignaturePropertiesPage.qml:108 +msgid "Save Signed Version…" +msgstr "Gorde sinatutako bertsioa..." + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +msgid "View Certificate…" +msgstr "Ikusi ziurtagiria..." + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "Ezin izan du sinadura gorde." + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "Ez dago eskuragarri" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "Ez du emaitzarik aurkitu." + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "Ez dago dokumentu irekirik" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "Azkenaldiko dokumentuak" + +#: ui/WelcomeView.qml:108 +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "Nire dokumentuak" + +#~ msgid "Open..." +#~ msgstr "Ireki..." + +#~ msgid "Search..." +#~ msgstr "Bilatu..." diff --git a/po/fa/okular.po b/po/fa/okular.po new file mode 100644 index 0000000..31ee540 --- /dev/null +++ b/po/fa/okular.po @@ -0,0 +1,6639 @@ +# translation of okular.po to Persian +# Nasim Daniarzadeh , 2006. +# Nazanin Kazemi , 2006, 2007. +# MaryamSadat Razavi , 2006. +# Tahereh Dadkhahfar , 2006. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2007-07-31 19:48+0330\n" +"Last-Translator: Nazanin Kazemi \n" +"Language-Team: Persian \n" +"Language: fa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "نسیم دانیارزاده" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "daniarzadeh@itland.ir" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "نگه‌دارنده قبلی" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "" + +#: aboutdata.h:36 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgid "Annotations artwork" +msgstr "ویژگیهای حاشیه‌نویسی" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "" + +#: aboutdata.h:37 +#, fuzzy, kde-format +#| msgid "&Text Selection Tool" +msgid "Table selection tool" +msgstr "ابزار گزینش &متن‌" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "" + +#: aboutdata.h:38 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgid "Annotation improvements" +msgstr "ویژگیهای حاشیه‌نویسی" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "برو به صفحه %1" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "باز کردن پرونده خارجی" + +#: core/action.cpp:197 +#, fuzzy, kde-format +#| msgid "Execute '%1'..." +msgid "Execute '%1'…" +msgstr "اجرای »%1«..." + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "صفحه اول" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "صفحه قبلی" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "صفحه بعدی" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "صفحه آخر" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "عقب" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "پیش‌سو" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "خروج" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "آغاز ارائه" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "پایان ارائه" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go To Page…" +msgstr "رفتن به صفحه" + +#: core/action.cpp:365 +#, fuzzy, kde-format +#| msgid "Play sound..." +msgid "Play sound…" +msgstr "پخش صدا..." + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "" + +#: core/action.cpp:483 +#, fuzzy, kde-format +#| msgid "Play movie..." +msgid "Play movie…" +msgstr "پخش فیلم..." + +#: core/action.cpp:554 +#, fuzzy, kde-format +#| msgid "Play movie..." +msgid "Play movie" +msgstr "پخش فیلم..." + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "" + +#: core/action.cpp:558 +#, fuzzy, kde-format +#| msgid "Play movie..." +msgid "Pause movie" +msgstr "پخش فیلم..." + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
%1 (%2).

Please select which one to use:
" +msgstr "" + +#: core/document.cpp:200 +#, fuzzy, kde-format +#| msgid "Go to page %1" +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "برو به صفحه %1" + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "" + +#: core/document.cpp:246 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "" + +#: core/document.cpp:248 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "" + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "ارائه" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, fuzzy, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"سند سعی در اجرای یک کاربرد خارجی دارد، و okular برای امنیت به شما اجازه این " +"کار را نمی‌دهد." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "برای باز کردن پرونده نوع مایم %1، کاربردی یافت نشد." + +#: core/document.cpp:4801 +#, fuzzy, kde-format +#| msgid "Could not open %1. Reason: %2" +msgid "Could not open a temporary file" +msgstr "نتوانست %1 را باز کند. دلیل: %2" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "" + +#: core/document.cpp:4813 +#, fuzzy, kde-format +#| msgid "Unable to find okular part." +msgid "Unable to find file to print" +msgstr "قادر به یافتن جزء okular نیست." + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, fuzzy, kde-format +#| msgid "Could not open %1. Reason: %2" +msgid "Could not open '%1'. File does not exist" +msgstr "نتوانست %1 را باز کند. دلیل: %2" + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "عنوان" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "موضوع" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "توصیف" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "نویسنده" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "ایجاد‌کننده" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "تولید‌کننده" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "حق نشر" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "صفحه‌ها" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "ایجاد‌‌شده" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "تغییریافته" + +#: core/document.cpp:6032 +#, fuzzy, kde-format +#| msgid "Mime Type" +msgid "MIME Type" +msgstr "نوع مایم" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "فهرست" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "واژه‌های کلیدی" + +#: core/document.cpp:6041 +#, fuzzy, kde-format +#| msgid "File" +msgid "File Path" +msgstr "پرونده" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "اندازه پرونده" + +#: core/document.cpp:6047 +#, fuzzy, kde-format +msgid "Page Size" +msgstr "اندازه صفحه‌‌‌ها" + +#: core/documentcommands.cpp:62 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "حاشیه‌نویسی" + +#: core/documentcommands.cpp:108 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "ارائه" + +#: core/documentcommands.cpp:155 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "ویژگیهای حاشیه‌نویسی" + +#: core/documentcommands.cpp:190 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "حاشیه‌نویسی" + +#: core/documentcommands.cpp:263 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "حاشیه‌نویسی" + +#: core/documentcommands.cpp:333 +#, fuzzy, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "&برگزیدن ابزار‌" + +#: core/documentcommands.cpp:398 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "ویژگیهای حاشیه‌نویسی" + +#: core/documentcommands.cpp:447 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "ویژگیهای حاشیه‌نویسی" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "" + +#: core/generator.cpp:790 +#, fuzzy, kde-format +#| msgid "Plain &Text..." +msgid "Plain &Text…" +msgstr "&متن ساده...‌" + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "" + +#: core/generator.cpp:797 +#, fuzzy, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "باز کردن یک سند" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "" + +#: core/printoptionswidget.cpp:19 +#, fuzzy, kde-format +#| msgid "Filter Options" +msgid "Print Options" +msgstr "گزینه‌های پالایش" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#: core/printoptionswidget.cpp:25 +#, fuzzy, kde-format +msgid "Scale mode:" +msgstr "حالتهای رنگ" + +#: core/script/js_app.cpp:206 +#, fuzzy, kde-format +#| msgid "Close this message" +msgid "Do not show this message again" +msgstr "بستن این پیام" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "" + +#: core/signatureutils.cpp:504 +#, fuzzy, kde-kuit-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" +"پرونده را نمی‌توان در »%1« ذخیره کرد. سعی کنید آن را در محل دیگری ذخیره کنید." + +#: core/signatureutils.cpp:506 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown signing error" +msgstr "پرونده ناشناخته" + +#: core/sourcereference.cpp:103 +#, fuzzy, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "اندازه" + +#: core/textdocumentsettings.cpp:34 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgid "&Default Font:" +msgstr "گذار پیش‌فرض:" + +#: gui/certificatemodel.cpp:39 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Version" +msgstr "سند برای باز کردن" + +#: gui/certificatemodel.cpp:41 +#, fuzzy, kde-format +msgid "Serial Number" +msgstr "اندازه صفحه‌‌‌ها" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "" + +#: gui/certificatemodel.cpp:49 +#, fuzzy, kde-format +#| msgid "Subject" +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "موضوع" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "" + +#: gui/certificatemodel.cpp:53 +#, fuzzy, kde-format +#| msgid "Memory Usage" +msgid "Key Usage" +msgstr "کاربرد حافظه" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "" + +#: gui/certificatemodel.cpp:146 +#, fuzzy, kde-format +#| msgid "&Properties" +msgid "Property" +msgstr "&ویژگیها‌" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, fuzzy, kde-format +#| msgid "Overwrite" +msgid "Typewriter" +msgstr "جای‌نوشت" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +msgid "Arrow with Comment" +msgstr "ویژگیهای Geom" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "" + +#: gui/guiutils.cpp:59 +#, fuzzy, kde-format +#| msgid "Line Properties" +msgid "Straight Line with Comment" +msgstr "ویژگیهای خط" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "" + +#: gui/guiutils.cpp:63 +#, fuzzy, kde-format +msgid "Polygon with Comment" +msgstr "ویژگیهای Geom" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +msgid "Rectangle with Comment" +msgstr "&برگزیدن ابزار‌" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "مستطیل" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgid "Underline" +msgid "Ellipse with Comment" +msgstr "خط زیر" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "" + +#: gui/guiutils.cpp:83 +#, fuzzy, kde-format +#| msgid "Highlight" +msgid "Highlight with Comment" +msgstr "خط زیر" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "خط زیر" + +#: gui/guiutils.cpp:87 +#, fuzzy, kde-format +msgid "Squiggle with Comment" +msgstr "&برگزیدن ابزار‌" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "" + +#: gui/guiutils.cpp:91 +#, fuzzy, kde-format +#| msgid "Underline" +msgid "Underline with Comment" +msgstr "خط زیر" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "خط زیر" + +#: gui/guiutils.cpp:95 +#, fuzzy, kde-format +msgid "Strike Out with Comment" +msgstr "&برگزیدن ابزار‌" + +#: gui/guiutils.cpp:95 +#, fuzzy, kde-format +msgid "Strike Out" +msgstr "&برگزیدن ابزار‌" + +#: gui/guiutils.cpp:102 +#, fuzzy, kde-format +msgid "Stamp with Comment" +msgstr "&برگزیدن ابزار‌" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "مهر" + +#: gui/guiutils.cpp:106 +#, fuzzy, kde-format +#| msgid "Line Properties" +msgid "Freehand Line with Comment" +msgstr "ویژگیهای خط" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "" + +#: gui/guiutils.cpp:110 +#, fuzzy, kde-format +msgid "Caret" +msgstr "ایجاد‌کننده" + +#: gui/guiutils.cpp:114 +#, fuzzy, kde-format +msgid "File Attachment" +msgstr "ویژگیها‌ی یادداشت" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "" + +#: gui/guiutils.cpp:122 +#, fuzzy, kde-format +#| msgid "Modified" +msgid "Movie" +msgstr "تغییریافته" + +#: gui/guiutils.cpp:126 +#, fuzzy, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "ایجاد‌‌شده:" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation" +msgstr "حاشیه‌نویسی" + +#: gui/guiutils.cpp:168 +#, fuzzy, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "ناشناخته" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "نویسنده: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "" + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "" + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "" + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "" + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "" + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "" + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "" + +#: gui/signatureguiutils.cpp:60 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Certificate is Trusted." +msgstr "پیکربندی مشاهده‌گر..." + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "" + +#: gui/signatureguiutils.cpp:64 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Certificate issuer is unknown." +msgstr "پیکربندی مشاهده‌گر..." + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "" + +#: gui/signatureguiutils.cpp:68 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Certificate has Expired." +msgstr "پیکربندی مشاهده‌گر..." + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "" + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "" + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "" + +#: gui/signatureguiutils.cpp:96 +#, fuzzy, kde-format +msgid "Unknown Algorithm" +msgstr "ناشناخته" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown Type" +msgstr "پرونده ناشناخته" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "" + +#: gui/signatureguiutils.cpp:135 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Sign Certificate" +msgstr "پیکربندی مشاهده‌گر..." + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr "" + +#: gui/signatureguiutils.cpp:165 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "The document has not been modified since it was signed." +msgstr "چاپ این سند مجاز نمی‌‌باشد." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "" + +#: gui/signatureguiutils.cpp:208 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "چاپ این سند مجاز نمی‌‌باشد." + +#: gui/signatureguiutils.cpp:211 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "This document is digitally signed." +msgstr "چاپ این سند مجاز نمی‌‌باشد." + +#: gui/signatureguiutils.cpp:213 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "چاپ این سند مجاز نمی‌‌باشد." + +#: gui/signatureguiutils.cpp:216 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "چاپ این سند مجاز نمی‌‌باشد." + +#: gui/signaturemodel.cpp:141 +#, fuzzy, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "ویژگیهای FreeText" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "" + +#: gui/signaturemodel.cpp:172 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgid "Reason: %1" +msgstr "صفحه‌‌ها: %1" + +#: gui/signaturemodel.cpp:177 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Location: %1" +msgstr "حاشیه‌نویسی" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "" + +#: gui/signaturemodel.cpp:193 +#, fuzzy, kde-format +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "ناشناخته" + +#: gui/signaturemodel.cpp:195 +#, fuzzy, kde-format +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "ویژگیهای FreeText" + +#: gui/signaturemodel.cpp:201 +#, fuzzy, kde-format +msgid "Signature Type: %1" +msgstr "ویژگیهای FreeText" + +#: part/annotationactionhandler.cpp:148 +#, fuzzy, kde-format +#| msgid "Reloa&d" +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "&بارگذاری مجدد‌" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "" + +#: part/annotationactionhandler.cpp:151 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "ایجاد‌‌شده:" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "متناسب کردن عرض" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:308 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "ویژگیهای حاشیه‌نویسی" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "" + +#: part/annotationactionhandler.cpp:314 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "حاشیه‌نویسی" + +#: part/annotationactionhandler.cpp:316 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "حاشیه‌نویسی" + +#: part/annotationactionhandler.cpp:318 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "حاشیه‌نویسی" + +#: part/annotationactionhandler.cpp:322 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "حاشیه‌نویسی" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "" + +#: part/annotationactionhandler.cpp:328 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "حاشیه‌نویسی" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" + +#: part/annotationactionhandler.cpp:341 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "ویژگیهای حاشیه‌نویسی" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "" + +#: part/annotationactionhandler.cpp:432 +#, fuzzy, kde-format +#| msgid "&Color:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "&رنگ:‌" + +#: part/annotationactionhandler.cpp:434 +#, fuzzy, kde-format +#| msgid "&Color:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "&رنگ:‌" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "" + +#: part/annotationactionhandler.cpp:499 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgctxt "@title:window" +msgid "Select color" +msgstr "&برگزیدن ابزار‌" + +#: part/annotationactionhandler.cpp:552 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "&Annotations" +msgstr "حاشیه‌نویسی" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "" + +#: part/annotationactionhandler.cpp:554 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "ارائه" + +#: part/annotationactionhandler.cpp:557 +#, fuzzy, kde-format +#| msgid "Highlight" +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "خط زیر" + +#: part/annotationactionhandler.cpp:558 +#, fuzzy, kde-format +#| msgid "Underline" +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "خط زیر" + +#: part/annotationactionhandler.cpp:559 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "&برگزیدن ابزار‌" + +#: part/annotationactionhandler.cpp:560 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "&برگزیدن ابزار‌" + +#: part/annotationactionhandler.cpp:562 +#, fuzzy, kde-format +#| msgid "Overwrite" +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "جای‌نوشت" + +#: part/annotationactionhandler.cpp:563 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "ویژگیها‌ی یادداشت" + +#: part/annotationactionhandler.cpp:564 +#, fuzzy, kde-format +#| msgid "Note Properties" +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "ویژگیها‌ی یادداشت" + +#: part/annotationactionhandler.cpp:565 +#, fuzzy, kde-format +#| msgid "Line Properties" +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "ویژگیهای خط" + +#: part/annotationactionhandler.cpp:567 +#, fuzzy, kde-format +#| msgid "Line Properties" +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "ویژگیهای خط" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "" + +#: part/annotationactionhandler.cpp:569 +#, fuzzy, kde-format +#| msgid "Rectangle" +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "مستطیل" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "" + +#: part/annotationactionhandler.cpp:618 +#, fuzzy, kde-format +#| msgid "Stamp" +msgctxt "@action" +msgid "Stamp" +msgstr "مهر" + +#: part/annotationactionhandler.cpp:638 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "حاشیه‌نویسی" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "" + +#: part/annotationactionhandler.cpp:651 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Quick Annotation Bar" +msgstr "حاشیه‌نویسی" + +#: part/annotationactionhandler.cpp:665 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "حاشیه‌نویسی" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "" + +#: part/annotationactionhandler.cpp:669 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "ارائه" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "" + +#: part/annotationactionhandler.cpp:680 +#, fuzzy, kde-format +#| msgid "Font:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "قلم:" + +#: part/annotationactionhandler.cpp:681 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "ویژگیهای حاشیه‌نویسی" + +#: part/annotationactionhandler.cpp:684 +#, fuzzy, kde-format +#| msgid "Line" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "خط" + +#: part/annotationactionhandler.cpp:693 +#, fuzzy, kde-format +#| msgid "&Opacity:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "&ظرفیت:‌" + +#: part/annotationactionhandler.cpp:696 +#, kde-format +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "" + +#: part/annotationmodel.cpp:320 +#, fuzzy, kde-format +#| msgid "Page %1" +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "صفحه %1" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "صفحه %1" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "حاشیه‌نویسی" +msgstr[1] "" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "حذف چوب الف" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "افزودن چوب الف" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Text to Clipboard" +msgstr "رونوشت در تخته یادداشت" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "&حذف‌" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "&ویژگیها‌" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, fuzzy, kde-format +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "ذخیره به عنوان..." + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "&ظاهر‌" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "&عمومی‌" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&نویسنده:‌" + +#: part/annotationpropertiesdialog.cpp:69 +#, fuzzy, kde-format +#| msgid "Created" +msgid "Created:" +msgstr "ایجاد‌‌شده" + +#: part/annotationpropertiesdialog.cpp:74 +#, fuzzy, kde-format +#| msgid "Modified" +msgid "Modified:" +msgstr "تغییریافته" + +#: part/annotationpropertiesdialog.cpp:108 +#, fuzzy, kde-format +#| msgid "Note Properties" +msgid "Pop-up Note Properties" +msgstr "ویژگیها‌ی یادداشت" + +#: part/annotationpropertiesdialog.cpp:111 +#, fuzzy, kde-format +msgid "Typewriter Properties" +msgstr "ویژگیهای FreeText" + +#: part/annotationpropertiesdialog.cpp:113 +#, fuzzy, kde-format +msgid "Inline Note Properties" +msgstr "ویژگیها‌ی یادداشت" + +#: part/annotationpropertiesdialog.cpp:119 +#, fuzzy, kde-format +#| msgid "Line Properties" +msgid "Straight Line Properties" +msgstr "ویژگیهای خط" + +#: part/annotationpropertiesdialog.cpp:121 +#, fuzzy, kde-format +msgid "Polygon Properties" +msgstr "ویژگیهای جوهر" + +#: part/annotationpropertiesdialog.cpp:125 +#, fuzzy, kde-format +msgid "Geometry Properties" +msgstr "ویژگیهای Geom" + +#: part/annotationpropertiesdialog.cpp:128 +#, fuzzy, kde-format +#| msgid "Stamp Properties" +msgid "Text Markup Properties" +msgstr "ویژگیهای مهر" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "ویژگیهای مهر" + +#: part/annotationpropertiesdialog.cpp:134 +#, fuzzy, kde-format +#| msgid "Line Properties" +msgid "Freehand Line Properties" +msgstr "ویژگیهای خط" + +#: part/annotationpropertiesdialog.cpp:137 +#, fuzzy, kde-format +msgid "Caret Properties" +msgstr "ویژگیهای FreeText" + +#: part/annotationpropertiesdialog.cpp:140 +#, fuzzy, kde-format +msgid "File Attachment Properties" +msgstr "ویژگیها‌ی یادداشت" + +#: part/annotationpropertiesdialog.cpp:143 +#, fuzzy, kde-format +msgid "Sound Properties" +msgstr "ویژگیهای جوهر" + +#: part/annotationpropertiesdialog.cpp:146 +#, fuzzy, kde-format +#| msgid "Note Properties" +msgid "Movie Properties" +msgstr "ویژگیها‌ی یادداشت" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "ویژگیهای حاشیه‌نویسی" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&رنگ:‌" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, kde-format +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "&ظرفیت:‌" + +#: part/annotationwidgets.cpp:363 +#, fuzzy, kde-format +#| msgid "Icon" +msgid "Icon:" +msgstr "شمایل" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "توضیحات" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "کمک" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "درج" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "کلید" + +#: part/annotationwidgets.cpp:368 +#, fuzzy, kde-format +#| msgid "New Paragraph" +msgid "New paragraph" +msgstr "بند جدید" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "بند" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "قلم:" + +#: part/annotationwidgets.cpp:387 +#, fuzzy, kde-format +#| msgid "&Color:" +msgid "Text &color:" +msgstr "&رنگ:‌" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "" + +#: part/annotationwidgets.cpp:395 +#, fuzzy, kde-format +msgid "Left" +msgstr "پاک کردن چپ" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "" + +#: part/annotationwidgets.cpp:397 +#, fuzzy, kde-format +msgid "Right" +msgstr "پاک کردن راست" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "محرمانه" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "پیش‌نویس" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "نهایی" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "" + +#: part/annotationwidgets.cpp:428 +#, fuzzy, kde-format +msgid "Bookmark" +msgstr "چوب الفها" + +#: part/annotationwidgets.cpp:429 +#, fuzzy, kde-format +msgid "Information" +msgstr "حاشیه‌نویسی" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgid "&Width:" +msgstr "متناسب کردن عرض" + +#: part/annotationwidgets.cpp:504 +#, fuzzy, kde-format +#| msgid "Line" +msgid "Line start:" +msgstr "خط" + +#: part/annotationwidgets.cpp:506 +#, fuzzy, kde-format +#| msgid "Line" +msgid "Line end:" +msgstr "خط" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:514 +#, fuzzy, kde-format +msgid "None" +msgstr "خیر" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "" + +#: part/annotationwidgets.cpp:531 +#, fuzzy, kde-format +#| msgid "Underline" +msgid "Leader line length:" +msgstr "خط زیر" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Shape fill:" +msgstr "ذخیره در پرونده..." + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "نوع:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "" + +#: part/annotationwidgets.cpp:745 +#, fuzzy, kde-format +msgid "File attachment symbol:" +msgstr "ویژگیها‌ی یادداشت" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "" + +#: part/annotationwidgets.cpp:750 +#, fuzzy, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "رنگ کاغذ:" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "" + +#: part/annotationwidgets.cpp:760 +#, fuzzy, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "پرونده" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "" + +#: part/annotationwidgets.cpp:773 +#, fuzzy, kde-format +#| msgid "Name" +msgid "Name:" +msgstr "نام" + +#: part/annotationwidgets.cpp:784 +#, fuzzy, kde-format +msgid "Description:" +msgstr "توصیف" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "" + +#: part/annotationwidgets.cpp:845 +#, fuzzy, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "خیر" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "" + +#: part/annotwindow.cpp:53 +#, fuzzy, kde-format +msgid "Close this note" +msgstr "بستن این پیام" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "گزینه‌ها" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "" + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "" + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "" + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "" + +#: part/bookmarklist.cpp:116 +#, fuzzy, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"%2چوب الف" +msgstr[1] "" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "چوب الفها" + +#: part/bookmarklist.cpp:136 +#, fuzzy, kde-format +#| msgid "Open a document" +msgid "Show for all documents" +msgstr "باز کردن یک سند" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, kde-format +msgid "Search…" +msgstr "" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, kde-format +msgid "Expand All" +msgstr "" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, kde-format +msgid "Collapse All" +msgstr "" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "برو به این چوب الف" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "تغییر نام چوب الف" + +#: part/bookmarklist.cpp:299 +#, fuzzy, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "باز کردن یک سند" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "" + +#: part/certificateviewer.cpp:47 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Certificate Viewer" +msgstr "پیکربندی مشاهده‌گر..." + +#: part/certificateviewer.cpp:50 +#, fuzzy, kde-format +#| msgid "E&xport As" +msgid "Export…" +msgstr "&صادرات به عنوان‌" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "عمومی" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "" + +#: part/colormodemenu.cpp:19 +#, fuzzy, kde-format +#| msgid "Color Modes" +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "حالتهای رنگ" + +#: part/colormodemenu.cpp:21 +#, fuzzy, kde-format +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "تغییر &رنگها‌" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "" + +#: part/colormodemenu.cpp:41 +#, fuzzy, kde-format +#| msgid "&Invert colors" +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "&وارونه کردن رنگها‌" + +#: part/colormodemenu.cpp:42 +#, fuzzy, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "تغییر رنگ &کاغذ‌" + +#: part/colormodemenu.cpp:44 +#, fuzzy, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "&تغییر رنگهای تیره و روشن‌" + +#: part/colormodemenu.cpp:46 +#, fuzzy, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "تبدیل به &سیاه و سفید‌" + +#: part/colormodemenu.cpp:49 +#, fuzzy, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "&وارونه کردن رنگها‌" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, fuzzy, kde-format +#| msgid "Reloa&d" +msgid "Red" +msgstr "&بارگذاری مجدد‌" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, fuzzy, kde-format +msgid "Green" +msgstr "ایجاد‌‌شده:" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, fuzzy, kde-format +msgid "Yellow Highlighter" +msgstr "خط زیر" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, fuzzy, kde-format +msgid "Green Highlighter" +msgstr "خط زیر" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, fuzzy, kde-format +#| msgid "Insert" +msgid "Insert Text" +msgstr "درج" + +#: part/dlgaccessibility.cpp:38 +#, fuzzy, kde-format +#| msgid "Draw border around &Links" +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "ترسیم لبه دور &پیوندها‌" + +#: part/dlgaccessibility.cpp:48 +#, fuzzy, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "تغییر &رنگها‌" + +#: part/dlgaccessibility.cpp:54 +#, fuzzy, kde-format +#| msgid "Warning: these options can badly affect drawing speed." +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "اخطار: این گزینه‌ها بر ترسیم سرعت اثر بد می‌گذارند." + +#: part/dlgaccessibility.cpp:60 +#, fuzzy, kde-format +#| msgid "&Invert colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "&وارونه کردن رنگها‌" + +#: part/dlgaccessibility.cpp:61 +#, fuzzy, kde-format +#| msgid "Change &paper color" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "تغییر رنگ &کاغذ‌" + +#: part/dlgaccessibility.cpp:62 +#, fuzzy, kde-format +#| msgid "&Change dark and light colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "&تغییر رنگهای تیره و روشن‌" + +#: part/dlgaccessibility.cpp:63 +#, fuzzy, kde-format +#| msgid "Convert to &black and white" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "تبدیل به &سیاه و سفید‌" + +#: part/dlgaccessibility.cpp:64 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "&وارونه کردن رنگها‌" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "" + +#: part/dlgaccessibility.cpp:70 +#, fuzzy, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "حالتهای رنگ" + +#: part/dlgaccessibility.cpp:87 +#, fuzzy, kde-format +#| msgid "Paper color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "رنگ کاغذ:" + +#: part/dlgaccessibility.cpp:99 +#, fuzzy, kde-format +#| msgid "Dark color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "رنگ تیره:" + +#: part/dlgaccessibility.cpp:104 +#, fuzzy, kde-format +#| msgid "Light color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "رنگ روشن:" + +#: part/dlgaccessibility.cpp:119 +#, fuzzy, kde-format +#| msgid "Threshold:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "آستانه:" + +#: part/dlgaccessibility.cpp:127 +#, fuzzy, kde-format +#| msgid "Contrast:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "سایه روشن:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "" + +#: part/dlgannotations.cpp:25 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "حاشیه‌نویسی" + +#: part/dlgannotations.cpp:26 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "حاشیه‌نویسی" + +#: part/dlgannotations.cpp:28 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "حاشیه‌نویسی" + +#: part/dlgannotations.cpp:34 +#, fuzzy, kde-format +#| msgid "&Author:" +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "&نویسنده:‌" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" + +#: part/dlgannotations.cpp:48 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

Quick Annotation Tools

" +msgstr "ویژگیهای حاشیه‌نویسی" + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "" + +#: part/dlgeditor.cpp:31 +#, fuzzy, kde-format +#| msgid "File" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "پرونده" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "" + +#: part/dlgeditor.cpp:37 +#, fuzzy, kde-format +#| msgid "&Edit" +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "&ویرایش‌" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
\n" +"You can also put few placeholders:\n" +"
    \n" +"
  • %f - the file name
  • \n" +"
  • %l - the line of the file to be reached
  • \n" +"
  • %c - the column of the file to be reached
  • \n" +"
\n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" + +#: part/dlgeditor.cpp:63 +#, fuzzy, kde-format +#| msgid "Comment" +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "توضیحات" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "" + +#: part/dlggeneral.cpp:37 +#, fuzzy, kde-format +#| msgid "Appearance" +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "ظاهر" + +#: part/dlggeneral.cpp:41 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "نمایش &میله‌های لغزش‌" + +#: part/dlggeneral.cpp:48 +#, fuzzy, kde-format +#| msgid "Link the &thumbnails with the page" +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "پیوند &ریزنقشها با صفحه‌" + +#: part/dlggeneral.cpp:55 +#, fuzzy, kde-format +#| msgid "Show &hints and info messages" +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "نمایش &نکته‌ها و پیامهای اطلاعات‌" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "" + +#: part/dlggeneral.cpp:92 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "رنگ زمینه:" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "" + +#: part/dlggeneral.cpp:139 +#, fuzzy, kde-format +#| msgid "&Obey DRM limitations" +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "&پیروی از محدودیتهای DRM‌" + +#: part/dlggeneral.cpp:148 +#, fuzzy, kde-format +#| msgid "&Reload document on file change" +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "&بارگذاری مجدد سند هنگام تغییر پرونده‌" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, fuzzy, kde-format +#| msgid "Overview" +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "نمای کلی" + +#: part/dlggeneral.cpp:220 +#, kde-format +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "" + +#: part/dlggeneral.cpp:228 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "" + +#: part/dlggeneral.cpp:233 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "متناسب کردن عرض" + +#: part/dlggeneral.cpp:234 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "متناسب کردن صفحه" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" + +#: part/dlggeneral.cpp:241 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "گذار پیش‌فرض:" + +#: part/dlgperformance.cpp:26 +#, fuzzy, kde-format +#| msgid "Enable &transparency effects" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "فعال‌سازی جلوه‌های &شفافیت‌" + +#: part/dlgperformance.cpp:28 +#, fuzzy, kde-format +#| msgid "CPU Usage" +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "کاربرد واحد پردازش مرکزی" + +#: part/dlgperformance.cpp:35 +#, fuzzy, kde-format +#| msgid "&Low" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "&کم‌" + +#: part/dlgperformance.cpp:36 +#, fuzzy, kde-format +#| msgid "&Normal (default)" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "&عادی )پیش‌فرض(‌" + +#: part/dlgperformance.cpp:37 +#, fuzzy, kde-format +#| msgid "&Aggressive" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "&زیاد‌" + +#: part/dlgperformance.cpp:38 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "ایجاد‌‌شده:" + +#: part/dlgperformance.cpp:40 +#, fuzzy, kde-format +#| msgid "Memory Usage" +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "کاربرد حافظه" + +#: part/dlgperformance.cpp:54 +#, fuzzy, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "گذار پیش‌فرض:" + +#: part/dlgperformance.cpp:56 +#, fuzzy, kde-format +#| msgid "Underline" +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "خط زیر" + +#: part/dlgperformance.cpp:59 +#, fuzzy, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "گذار پیش‌فرض:" + +#: part/dlgperformance.cpp:64 +#, fuzzy, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "گذار پیش‌فرض:" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"تا جای ممکن از حافظه کم استفاده می‌کند. مجدداً از چیزی استفاده نکنید. )در مورد " +"سیستمهایی که حافظه کم دارند.(" + +#: part/dlgperformance.cpp:80 +#, fuzzy, kde-format +#| msgid "" +#| "A good compromise between memory usage and speed gain. Preload next page " +#| "and boost searches. (For systems with 256MB of memory, typically.)" +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"یک سازش خوب بین کاربرد حافظه و بهره سرعت. پیش بارگذاری صفحه بعدی و افزودن بر " +"توان جستجوها. )در مورد سیستمهایی که نوعاً دارای ۲۵۶ مگابایت حافظه می‌باشند.(" + +#: part/dlgperformance.cpp:83 +#, fuzzy, kde-format +#| msgid "" +#| "Keeps everything in memory. Preload next pages. Boost searches. (For " +#| "systems with more than 512MB of memory.)" +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"همه چیز را در حافظه نگه می‌دارد. پیش بارگذاری صفحه‌های بعدی. افزودن بر توان " +"جستجوها. )در مورد سیستمهایی که بیش از ۵۱۲ مگابایت حافظه دارند.(" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" + +#: part/dlgpresentation.cpp:38 +#, fuzzy, kde-format +#| msgid " sec." +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] " ثانیه" +msgstr[1] "" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "" + +#: part/dlgpresentation.cpp:53 +#, fuzzy, kde-format +#| msgid "Loop after last page" +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "حلقه بعد از آخرین صفحه" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "" + +#: part/dlgpresentation.cpp:63 +#, fuzzy, kde-format +#| msgid "Navigation" +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "ناوش" + +#: part/dlgpresentation.cpp:72 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "رنگ زمینه:" + +#: part/dlgpresentation.cpp:76 +#, fuzzy, kde-format +#| msgid "Hidden After Delay" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "مخفی‌‌شده بعد از تأخیر" + +#: part/dlgpresentation.cpp:77 +#, fuzzy, kde-format +#| msgid "Always Visible" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "همیشه مرئی" + +#: part/dlgpresentation.cpp:78 +#, fuzzy, kde-format +#| msgid "Always Hidden" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "همیشه مخفی" + +#: part/dlgpresentation.cpp:80 +#, fuzzy, kde-format +#| msgid "Mouse cursor:" +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "مکان‌نمای موشی:" + +#: part/dlgpresentation.cpp:84 +#, fuzzy, kde-format +#| msgid "Show &progress indicator" +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "نمایش شاخص &پیشرفت‌" + +#: part/dlgpresentation.cpp:90 +#, fuzzy, kde-format +#| msgid "Show s&ummary page" +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "نمایش صفحه &خلاصه‌" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "" + +#: part/dlgpresentation.cpp:101 +#, fuzzy, kde-format +#| msgid "Replace" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "جایگزینی" + +#: part/dlgpresentation.cpp:102 +#, fuzzy, kde-format +#| msgid "Random Transition" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "گذار تصادفی" + +#: part/dlgpresentation.cpp:103 +#, fuzzy, kde-format +#| msgid "Blinds Vertical" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "به طور عمودی مانع عبور نور می‌شود" + +#: part/dlgpresentation.cpp:104 +#, fuzzy, kde-format +#| msgid "Blinds Horizontal" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "به طور افقی مانع عبور نور می‌شود" + +#: part/dlgpresentation.cpp:105 +#, fuzzy, kde-format +#| msgid "Box In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "گیر انداختن" + +#: part/dlgpresentation.cpp:106 +#, fuzzy, kde-format +#| msgid "Box In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "گیر انداختن" + +#: part/dlgpresentation.cpp:107 +#, fuzzy, kde-format +#| msgid "Dissolve" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "حل کردن" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "" + +#: part/dlgpresentation.cpp:109 +#, fuzzy, kde-format +#| msgid "Glitter Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "درخشش پایین" + +#: part/dlgpresentation.cpp:110 +#, fuzzy, kde-format +#| msgid "Glitter Right" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "درخشش راست" + +#: part/dlgpresentation.cpp:111 +#, fuzzy, kde-format +#| msgid "Glitter Right-Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "درخشش راست پایین" + +#: part/dlgpresentation.cpp:112 +#, fuzzy, kde-format +#| msgid "Split Horizontal In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "شکافتن افقی در" + +#: part/dlgpresentation.cpp:113 +#, fuzzy, kde-format +#| msgid "Split Horizontal Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "شکافتن افقی بیرون از" + +#: part/dlgpresentation.cpp:114 +#, fuzzy, kde-format +#| msgid "Split Vertical In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "شکافتن عمودی در" + +#: part/dlgpresentation.cpp:115 +#, fuzzy, kde-format +#| msgid "Split Vertical Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "شکافتن عمودی بیرون از" + +#: part/dlgpresentation.cpp:116 +#, fuzzy, kde-format +#| msgid "Wipe Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "پاک کردن پایین" + +#: part/dlgpresentation.cpp:117 +#, fuzzy, kde-format +#| msgid "Wipe Right" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "پاک کردن راست" + +#: part/dlgpresentation.cpp:118 +#, fuzzy, kde-format +#| msgid "Wipe Left" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "پاک کردن چپ" + +#: part/dlgpresentation.cpp:119 +#, fuzzy, kde-format +#| msgid "Wipe Up" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "پاک کردن بالا" + +#: part/dlgpresentation.cpp:121 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "گذار پیش‌فرض:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

Drawing Tools

" +msgstr "" + +#: part/dlgpresentation.cpp:171 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "گذار پیش‌فرض:" + +#: part/dlgpresentation.cpp:172 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "گذار پیش‌فرض:" + +#: part/dlgpresentation.cpp:178 +#, fuzzy, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "ایجاد‌‌شده:" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, fuzzy, kde-format +#| msgid "Name" +msgid "&Name:" +msgstr "نام" + +#: part/editannottooldialog.cpp:69 +#, fuzzy, kde-format +#| msgid "Type:" +msgid "&Type:" +msgstr "نوع:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "ظاهر" + +#: part/editannottooldialog.cpp:93 +#, fuzzy, kde-format +#| msgid "Next Bookmark" +msgid "Text markup" +msgstr "چوب الف بعدی" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "" + +#: part/editannottooldialog.cpp:101 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Create annotation tool" +msgstr "ارائه" + +#: part/editannottooldialog.cpp:103 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgid "Edit annotation tool" +msgstr "ویژگیهای حاشیه‌نویسی" + +#: part/editdrawingtooldialog.cpp:51 +#, fuzzy, kde-format +#| msgid "&Color:" +msgid "Color:" +msgstr "&رنگ:‌" + +#: part/editdrawingtooldialog.cpp:58 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgid "&Pen Width:" +msgstr "متناسب کردن عرض" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "" + +#: part/editdrawingtooldialog.cpp:79 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Create drawing tool" +msgstr "ارائه" + +#: part/editdrawingtooldialog.cpp:84 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgid "Edit drawing tool" +msgstr "ویژگیهای حاشیه‌نویسی" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "ناشناخته" + +#: part/embeddedfilesdialog.cpp:48 +#, fuzzy, kde-format +#| msgid "Embedded Files" +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "پرونده‌های نهفته" + +#: part/embeddedfilesdialog.cpp:62 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:button" +msgid "View" +msgstr "&نما‌" + +#: part/embeddedfilesdialog.cpp:70 +#, fuzzy, kde-format +#| msgid "Name" +msgctxt "@title:column" +msgid "Name" +msgstr "نام" + +#: part/embeddedfilesdialog.cpp:71 +#, fuzzy, kde-format +#| msgid "Description" +msgctxt "@title:column" +msgid "Description" +msgstr "توصیف" + +#: part/embeddedfilesdialog.cpp:72 +#, fuzzy, kde-format +#| msgid "Size" +msgctxt "@title:column" +msgid "Size" +msgstr "اندازه" + +#: part/embeddedfilesdialog.cpp:73 +#, fuzzy, kde-format +#| msgid "Created" +msgctxt "@title:column" +msgid "Created" +msgstr "ایجاد‌‌شده" + +#: part/embeddedfilesdialog.cpp:74 +#, fuzzy, kde-format +#| msgid "Modified" +msgctxt "@title:column" +msgid "Modified" +msgstr "تغییریافته" + +#: part/embeddedfilesdialog.cpp:154 +#, fuzzy, kde-format +#| msgid "Save As..." +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "ذخیره به عنوان..." + +#: part/embeddedfilesdialog.cpp:155 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "&نما‌" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "بستن" + +#: part/findbar.cpp:38 +#, fuzzy, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "یافتن..." + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "" + +#: part/findbar.cpp:54 +#, fuzzy, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "صفحه بعدی" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "" + +#: part/findbar.cpp:58 +#, fuzzy, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "صفحه قبلی" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "حساس به حالت" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "" + +#: part/formwidgets.cpp:870 +#, fuzzy, kde-format +msgid "All Files (*)" +msgstr "همه پرونده‌ها" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, fuzzy, kde-format +msgid "Signature Properties" +msgstr "ویژگیهای FreeText" + +#: part/ktreeviewsearchline.cpp:283 +#, fuzzy, kde-format +#| msgid "Filter Options" +msgid "Search Options" +msgstr "گزینه‌های پالایش" + +#: part/ktreeviewsearchline.cpp:284 +#, fuzzy, kde-format +#| msgid "Case Sensitive" +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "حساس به حالت" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "بزرگ‌نمایی" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "" + +#: part/pageview.cpp:530 +#, fuzzy, kde-format +#| msgid "Rotate Right" +msgid "Rotate &Right" +msgstr "چرخش راست" + +#: part/pageview.cpp:531 +#, fuzzy, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "پاک کردن راست" + +#: part/pageview.cpp:535 +#, fuzzy, kde-format +#| msgid "Rotate Left" +msgid "Rotate &Left" +msgstr "چرخش چپ" + +#: part/pageview.cpp:536 +#, fuzzy, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "پاک کردن چپ" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "" + +#: part/pageview.cpp:546 +#, fuzzy, kde-format +#| msgid "&View" +msgid "&Trim View" +msgstr "&نما‌" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "" + +#: part/pageview.cpp:557 +#, fuzzy, kde-format +msgid "Trim To &Selection" +msgstr "ابزار گزینش &متن‌" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "متناسب کردن &عرض‌" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "متناسب کردن &صفحه‌" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "" + +#: part/pageview.cpp:575 +#, fuzzy, kde-format +#| msgid "Fit &Page" +msgid "Fit Wi&ndow to Page" +msgstr "متناسب کردن &صفحه‌" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "حالت &نما‌" + +#: part/pageview.cpp:594 +#, fuzzy, kde-format +#| msgid "Single Page" +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "تک صفحه" + +#: part/pageview.cpp:595 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "متناسب کردن صفحه" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "" + +#: part/pageview.cpp:599 +#, fuzzy, kde-format +#| msgid "Overview" +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "نمای کلی" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "&پیوسته‌" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "" + +#: part/pageview.cpp:627 +#, fuzzy, kde-format +msgid "&Browse" +msgstr "ابزار &مرور‌" + +#: part/pageview.cpp:635 +#, fuzzy, kde-format +#| msgid "Zoom" +msgid "&Zoom" +msgstr "بزرگ‌نمایی" + +#: part/pageview.cpp:655 +#, fuzzy, kde-format +msgid "Area &Selection" +msgstr "ابزار گزینش &متن‌" + +#: part/pageview.cpp:662 +#, fuzzy, kde-format +msgid "&Text Selection" +msgstr "ابزار گزینش &متن‌" + +#: part/pageview.cpp:669 +#, fuzzy, kde-format +msgid "T&able Selection" +msgstr "ابزار گزینش &متن‌" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "" + +#: part/pageview.cpp:685 +#, fuzzy, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "&برگزیدن ابزار‌" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "" + +#: part/pageview.cpp:717 +#, fuzzy, kde-format +msgid "Speak Whole Document" +msgstr "باز کردن یک سند" + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "لغزش به بالا" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "لغزش به پایین" + +#: part/pageview.cpp:761 +#, fuzzy, kde-format +#| msgid "Scroll Up" +msgid "Scroll Page Up" +msgstr "لغزش به بالا" + +#: part/pageview.cpp:767 +#, fuzzy, kde-format +#| msgid "Scroll Down" +msgid "Scroll Page Down" +msgstr "لغزش به پایین" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "نمایش &برگه‌ها‌" + +#: part/pageview.cpp:1278 +#, fuzzy, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] " یک سند %1 صفحه‌ای بارگذاری شد." +msgstr[1] "" + +#: part/pageview.cpp:2526 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Table Contents to Clipboard" +msgstr "رونوشت در تخته یادداشت" + +#: part/pageview.cpp:2845 +#, fuzzy, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "متن )%1 نویسه(" +msgstr[1] "" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "رونوشت در تخته یادداشت" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "گفتن متن" + +#: part/pageview.cpp:2863 +#, fuzzy, kde-format +#| msgid "Image (%1 by %2 pixels)" +msgid "Image (%1 × %2 pixels)" +msgstr "تصویر )%1 با %2 تصویردانه(" + +#: part/pageview.cpp:2865 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save to File…" +msgstr "ذخیره در پرونده..." + +#: part/pageview.cpp:2885 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] copied to clipboard." +msgid "Image [%1 × %2] copied to clipboard." +msgstr "تصویر ]%1x%2[ در تخته یادداشت رونوشت شد." + +#: part/pageview.cpp:2888 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save file" +msgstr "ذخیره در پرونده..." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "پرونده ذخیره‌نشده." + +#: part/pageview.cpp:2901 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] saved to %3 file." +msgid "Image [%1 × %2] saved to %3 file." +msgstr "تصویر ]%1x%2[ در پرونده %3 ذخیره شد." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "رونوشت متن" + +#: part/pageview.cpp:3062 +#, fuzzy, kde-format +#| msgid "Go to page %1" +msgid "Go to '%1'" +msgstr "برو به صفحه %1" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "متناسب کردن عرض" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "متناسب کردن صفحه" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "" + +#: part/pageview.cpp:4107 +#, kde-format +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "" + +#: part/pageview.cpp:4404 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Configure Web Shortcuts…" +msgstr "پیکربندی مشاهده‌گر..." + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "" + +#: part/pageview.cpp:4433 +#, fuzzy, kde-format +#| msgid "Play sound..." +msgid "Play this Sound" +msgstr "پخش صدا..." + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "خوش آمدید" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "برگزیدن ناحیه بزرگ‌نمایی. برای کوچک‌نمایی فشار راست کنید." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "" + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "ترسیم یک مستطیل دور متن/نگاره‌‌سازی برای رونوشت." + +#: part/pageview.cpp:5158 +#, fuzzy, kde-format +msgid "Select text" +msgstr "&برگزیدن ابزار‌" + +#: part/pageview.cpp:5172 +#, fuzzy, kde-format +#| msgid "Draw a rectangle around the text/graphics to copy." +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "ترسیم یک مستطیل دور متن/نگاره‌‌سازی برای رونوشت." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" + +#: part/pageview.cpp:5188 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "No valid certificates" +msgstr "پیکربندی مشاهده‌گر..." + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Open Certificate Manager" +msgstr "پیکربندی مشاهده‌گر..." + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
Launch Certificate Manager " +"to import or manage certificates
For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "No certificates found" +msgstr "پیکربندی مشاهده‌گر..." + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "" + +#: part/pageview.cpp:5405 +#, fuzzy, kde-format +#| msgid "Draw a rectangle around the text/graphics to copy." +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "ترسیم یک مستطیل دور متن/نگاره‌‌سازی برای رونوشت." + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgid "Author" +msgid "Author name" +msgstr "نویسنده" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Author name for the annotation:" +msgstr "حاشیه‌نویسی" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1392 +#, fuzzy, kde-format +#| msgid "Highlight" +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "خط زیر" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "" + +#: part/pageviewannotator.cpp:1402 +#, fuzzy, kde-format +#| msgid "Rectangle" +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "مستطیل" + +#: part/pageviewannotator.cpp:1404 +#, fuzzy, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "&برگزیدن ابزار‌" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "" + +#: part/pageviewannotator.cpp:1410 +#, fuzzy, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "&برگزیدن ابزار‌" + +#: part/pageviewannotator.cpp:1412 +#, fuzzy, kde-format +#| msgid "Underline" +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "خط زیر" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1473 +#, fuzzy, kde-format +#| msgid "Highlight" +msgid "Highlighter" +msgstr "خط زیر" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Add favorite annotation" +msgstr "حاشیه‌نویسی" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Custom annotation name:" +msgstr "حاشیه‌نویسی" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&پرونده‌" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "&تنظیمات‌" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "&کمک‌" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "&جهت‌" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "&چوب الفها" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, fuzzy, kde-format +#| msgid "Main Toolbar" +msgid "Viewer Toolbar" +msgstr "میله ابزار اصلی" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "ریزنقشها" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotations" +msgstr "حاشیه‌نویسی" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "" + +#: part/part.cpp:662 +#, fuzzy, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "صفحه قبلی" + +#: part/part.cpp:663 +#, fuzzy, kde-format +msgid "Go back to the Previous Page" +msgstr "برو به صفحه چوب الف شده قبلی" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "به صفحه قبلی سند حرکت می‌کند" + +#: part/part.cpp:674 +#, fuzzy, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "صفحه بعدی" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "به صفحه بعدی سند حرکت می‌کند" + +#: part/part.cpp:687 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Beginning of the document" +msgstr "در حال بارگذاری مجدد سند..." + +#: part/part.cpp:688 +#, fuzzy, kde-format +#| msgid "Moves to the next page of the document" +msgid "Moves to the beginning of the document" +msgstr "به صفحه بعدی سند حرکت می‌کند" + +#: part/part.cpp:692 +#, fuzzy, kde-format +#| msgid "Open a document" +msgid "End of the document" +msgstr "باز کردن یک سند" + +#: part/part.cpp:693 +#, fuzzy, kde-format +#| msgid "Moves to the next page of the document" +msgid "Moves to the end of the document" +msgstr "به صفحه بعدی سند حرکت می‌کند" + +#: part/part.cpp:707 +#, fuzzy, kde-format +#| msgid "Reload the current document from disk." +msgid "Rename the current bookmark" +msgstr "بارگذاری مجدد سند از دیسک." + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "چوب الف قبلی" + +#: part/part.cpp:713 +#, fuzzy, kde-format +#| msgid "Go to the previous bookmarked page" +msgid "Go to the previous bookmark" +msgstr "برو به صفحه چوب الف شده قبلی" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "چوب الف بعدی" + +#: part/part.cpp:719 +#, fuzzy, kde-format +#| msgid "Go to the next bookmarked page" +msgid "Go to the next bookmark" +msgstr "برو به صفحه چوب الف‌ شده بعدی" + +#: part/part.cpp:748 +#, fuzzy, kde-format +msgid "Configure Okular…" +msgstr "پیکربندی okular..." + +#: part/part.cpp:751 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Configure Viewer…" +msgstr "پیکربندی مشاهده‌گر..." + +#: part/part.cpp:757 +#, fuzzy, kde-format +#| msgid "Configure Backends..." +msgid "Configure Viewer Backends…" +msgstr "پیکربندی پایانه‌ها..." + +#: part/part.cpp:759 +#, fuzzy, kde-format +#| msgid "Configure Backends..." +msgid "Configure Backends…" +msgstr "پیکربندی پایانه‌ها..." + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "&بارگذاری مجدد‌" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "بارگذاری مجدد سند از دیسک." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "بستن نوار &یافتن‌" + +#: part/part.cpp:813 +#, fuzzy, kde-format +msgid "Page Number" +msgstr "اندازه صفحه‌‌‌ها" + +#: part/part.cpp:817 +#, fuzzy, kde-format +#| msgid "Configure okular..." +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "پیکربندی okular..." + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "" + +#: part/part.cpp:871 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgid "Show S&idebar" +msgstr "نمایش &میله‌های لغزش‌" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "" + +#: part/part.cpp:886 +#, fuzzy, kde-format +#| msgid "Show &Navigation Panel" +msgid "Show &Signatures Panel" +msgstr "نمایش تابلوی &ناوش‌" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "پرونده‌های &نهفته‌" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "&صادرات به عنوان‌" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "&ارائه‌" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "" + +#: part/part.cpp:945 +#, kde-format +msgid "&Import PostScript as PDF…" +msgstr "" + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "" + +#: part/part.cpp:957 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Erase Drawing" +msgstr "ارائه" + +#: part/part.cpp:962 +#, fuzzy, kde-format +#| msgid "Configure Backends..." +msgid "Configure Annotations…" +msgstr "پیکربندی پایانه‌ها..." + +#: part/part.cpp:967 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Play/Pause Presentation" +msgstr "ارائه" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" + +#: part/part.cpp:1123 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Document can't be saved" +msgstr "سند برای باز کردن" + +#: part/part.cpp:1152 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not open '%1' (%2) " +msgstr "%1 را نتوانست باز کند" + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "" + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "نتوانست %1 را باز کند. دلیل: %2" + +#: part/part.cpp:1249 +#, fuzzy, kde-format +#| msgid "Configure Backends..." +msgid "Configure Viewer Backends" +msgstr "پیکربندی پایانه‌ها..." + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "" + +#: part/part.cpp:1357 +#, kde-format +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "" + +#: part/part.cpp:1489 +#, fuzzy, kde-format +#| msgid "Moves to the last page of the document" +msgid "Please enter the password to read the document:" +msgstr "به آخرین صفحه سند حرکت می‌کند" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "" + +#: part/part.cpp:1502 +#, fuzzy, kde-format +#| msgid "Password" +msgid "Document Password" +msgstr "اسم رمز" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "" + +#: part/part.cpp:1739 +#, fuzzy, kde-format +#| msgid "Exit Presentation Mode" +msgid "Enter Presentation Mode" +msgstr "خروج از حالت ارائه" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "" + +#: part/part.cpp:1830 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not open %1. %2" +msgstr "%1 را نتوانست باز کند" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "" + +#: part/part.cpp:1865 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue Reloading" +msgstr "&پیوسته‌" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" + +#: part/part.cpp:1875 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue Closing" +msgstr "&پیوسته‌" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "" + +#: part/part.cpp:1883 +#, fuzzy, kde-format +msgid "Close Document" +msgstr "باز کردن یک سند" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"این پیوند به کنش یک سند بسته اشاره دارد، که هنگام استفاده از مشاهده‌گر نهفته " +"کار نمی‌کند." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"این پیوند به کنش یک کاربرد خروج اشاره دارد، که هنگام استفاده از مشاهده‌گر " +"نهفته کار نمی‌کند." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Reloading the document…" +msgstr "در حال بارگذاری مجدد سند..." + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "محتویات" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "رفتن به صفحه" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "&صفحه:‌" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "" + +#: part/part.cpp:2506 +#, fuzzy, kde-format +#| msgid "Rename Bookmark" +msgid "Rename this Bookmark" +msgstr "تغییر نام چوب الف" + +#: part/part.cpp:2509 +#, fuzzy, kde-format +#| msgid "Rename Bookmark" +msgid "Remove this Bookmark" +msgstr "تغییر نام چوب الف" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, fuzzy, kde-format +#| msgid "Save As..." +msgid "Save As" +msgstr "ذخیره به عنوان..." + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
Do you want to continue?" +msgstr "" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "" + +#: part/part.cpp:2726 +#, fuzzy, kde-kuit-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" +"پرونده را نمی‌توان در »%1« ذخیره کرد. سعی کنید آن را در محل دیگری ذخیره کنید." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
Do you want to continue?" +msgstr "" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "" +"پرونده را نمی‌توان در »%1« ذخیره کرد. سعی کنید آن را در محل دیگری ذخیره کنید." + +#: part/part.cpp:2766 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgid "Filled form contents" +msgstr "ویژگیهای حاشیه‌نویسی" + +#: part/part.cpp:2769 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "User annotations" +msgstr "ارائه" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" + +#: part/part.cpp:2796 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue" +msgstr "&پیوسته‌" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "" + +#: part/part.cpp:2824 +#, fuzzy, kde-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgid "File could not be saved in '%1'. %2" +msgstr "" +"پرونده را نمی‌توان در »%1« ذخیره کرد. سعی کنید آن را در محل دیگری ذخیره کنید." + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" + +#: part/part.cpp:2899 +#, fuzzy, kde-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" +"پرونده را نمی‌توان در »%1« ذخیره کرد. سعی کنید آن را در محل دیگری ذخیره کنید." + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "End Presentation" +msgid "Expand Whole Section" +msgstr "پایان ارائه" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "End Presentation" +msgid "Collapse Whole Section" +msgstr "پایان ارائه" + +#: part/part.cpp:3172 +#, fuzzy, kde-format +#| msgid "Link the &thumbnails with the page" +msgid "Sync Thumbnail with Page" +msgstr "پیوند &ریزنقشها با صفحه‌" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "ابزارها" + +#: part/part.cpp:3381 +#, fuzzy, kde-format +#| msgid "Speak Text" +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "گفتن متن" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "چاپ این سند مجاز نمی‌‌باشد." + +#: part/part.cpp:3615 +#, fuzzy, kde-format +#| msgid "Could not print the document. Please report to bugs.kde.org" +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "سند را نتوانست ذخیره کند. لطفاً، به bugs.kde.org گزارش دهید" + +#: part/part.cpp:3617 +#, fuzzy, kde-format +#| msgid "Could not print the document. Please report to bugs.kde.org" +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "سند را نتوانست ذخیره کند. لطفاً، به bugs.kde.org گزارش دهید" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "به جایی که قبلاً بودید، بروید" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "به جایی که بعداً بودید، بروید" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "بدون چوب الف" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "&ویرایش‌" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "&نما‌" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&رفتن‌" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "&ابزارها‌" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "میله ابزار اصلی" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation Toolbar" +msgstr "حاشیه‌نویسی" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Quick Annotation Toolbar" +msgstr "حاشیه‌نویسی" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "گزینه‌های عمومی" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "دستیابی‌پذیری" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "کمکهای خواندن دستیابی‌پذیری" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "کارایی" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "میزان‌‌سازی کارایی" + +#: part/preferencesdialog.cpp:45 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Configure Viewer" +msgstr "پیکربندی مشاهده‌گر..." + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "ارائه" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "گزینه‌هایی برای حالت ارائه" + +#: part/preferencesdialog.cpp:50 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgid "Annotation Options" +msgstr "ویژگیهای حاشیه‌نویسی" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, fuzzy, kde-format +#| msgid "&Edit" +msgid "Editor" +msgstr "&ویرایش‌" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, fuzzy, kde-format +#| msgid "Filter Options" +msgid "Editor Options" +msgstr "گزینه‌های پالایش" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "یافتن بعدی" + +#: part/presentationwidget.cpp:174 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "ارائه" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "" + +#: part/presentationwidget.cpp:233 +#, fuzzy, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "ایجاد‌‌شده:" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "خروج از حالت ارائه" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "عنوان: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "صفحه‌‌ها: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "فشار دهید تا شروع شود" + +#: part/presentationwidget.cpp:521 +#, fuzzy, kde-format +#| msgid "Pages" +msgctxt "For Presentation" +msgid "Pause" +msgstr "صفحه‌ها" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"دو راه برای خروج از حالت ارائه وجود دارد؛ می‌توانید یا کلید گریز را فشار " +"دهید، یا دکمه خروج را که هنگام جای دادن موشی در گوشه راست بالا ظاهر می‌‌شود را " +"فشار دهید. البته می‌توانید پنجره‌ها را بچرخانید )پیش‌فرض دگرساز + تب(" + +#: part/presentationwidget.cpp:1718 +#, fuzzy, kde-format +#| msgid "End Presentation" +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "پایان ارائه" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "پرونده ناشناخته" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "%1 ویژگی" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "&قلمها‌" + +#: part/propertiesdialog.cpp:145 +#, fuzzy, kde-format +#| msgid "Reading font information..." +msgid "Reading font information…" +msgstr "در حال خواندن مجدد قلم..." + +#: part/propertiesdialog.cpp:158 +#, fuzzy, kde-format +#| msgid "&Page Size" +msgid "&Page Sizes" +msgstr "اندازه &صفحه‌" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "نوع ۱" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "نوع ۳" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "قلم حقیقی" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "ناشناخته" + +#: part/propertiesdialog.cpp:331 +#, fuzzy, kde-format +msgid "Embedded (subset)" +msgstr "بله )زیرمجموعه(" + +#: part/propertiesdialog.cpp:334 +#, fuzzy, kde-format +msgid "Fully embedded" +msgstr "نهفته" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "خیر" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "بله )زیرمجموعه(" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "بله" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "" + +#: part/propertiesdialog.cpp:385 +#, fuzzy, kde-format +msgid "Unknown font" +msgstr "ناشناخته" + +#: part/propertiesdialog.cpp:391 +#, fuzzy, kde-format +msgid "Embedded: %1" +msgstr "نهفته" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "نام" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "نوع" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "پرونده" + +#: part/propertiesdialog.cpp:498 +#, fuzzy, kde-format +#| msgid "Pages" +msgid "Page" +msgstr "صفحه‌ها" + +#: part/propertiesdialog.cpp:501 +#, fuzzy, kde-format +#| msgid "Size" +msgid "Size" +msgstr "اندازه" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "" + +#: part/revisionviewer.cpp:56 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not save file %1." +msgstr "%1 را نتوانست باز کند" + +#: part/revisionviewer.cpp:75 +#, fuzzy, kde-format +#| msgid "Could not open %1. Reason: %2" +msgid "Could not view revision." +msgstr "نتوانست %1 را باز کند. دلیل: %2" + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "برای پالایش صفحه‌ها، حداقل ۳ حرف وارد کنید" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "حساس به حالت" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "تطبیق عبارت" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "تطبیق تمام واژه‌ها" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "تطبیق هر واژه" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "گزینه‌های پالایش" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Certificates" +msgstr "پیکربندی مشاهده‌گر..." + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Only QES certificates" +msgstr "پیکربندی مشاهده‌گر..." + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, fuzzy, kde-format +#| msgid "Options" +msgid "optional" +msgstr "گزینه‌ها" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Location:" +msgstr "حاشیه‌نویسی" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, fuzzy, kde-format +#| msgid "Background color:" +msgid "Background:" +msgstr "رنگ زمینه:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, fuzzy, kde-format +#| msgid "Background color:" +msgid "Recent backgrounds:" +msgstr "رنگ زمینه:" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

No annotations

To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
" +msgstr "" + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "گروه بر اساس صفحه" + +#: part/side_reviews.cpp:147 +#, fuzzy, kde-format +msgid "Group by Author" +msgstr "گروه بر اساس صفحه" + +#: part/side_reviews.cpp:155 +#, fuzzy, kde-format +#| msgid "Show reviews for current page only" +msgid "Show annotations for current page only" +msgstr "نمایش مرورها فقط برای صفحه جاری" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "" + +#: part/signaturepanel.cpp:101 +#, fuzzy, kde-format +#| msgid "&Properties" +msgid "Properties" +msgstr "&ویژگیها‌" + +#: part/signaturepartutils.cpp:180 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "صفحه‌‌ها: %1" + +#: part/signaturepartutils.cpp:181 +#, fuzzy, kde-format +#| msgid "Enable &background generation" +msgid "Select background image" +msgstr "فعال‌‌‌سازی ایجاد &زمینه‌" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "" + +#: part/signaturepartutils.cpp:244 +#, fuzzy, kde-format +#| msgid "Password" +msgid "Enter document password" +msgstr "اسم رمز" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:60 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Document Modifications:" +msgstr "سند برای باز کردن" + +#: part/signaturepropertiesdialog.cpp:63 +#, fuzzy, kde-format +msgid "Additional Information" +msgstr "حاشیه‌نویسی" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:83 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Document Version" +msgstr "سند برای باز کردن" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:95 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "View Certificate…" +msgstr "پیکربندی مشاهده‌گر..." + +#: part/signaturepropertiesdialog.cpp:97 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "View in Certificate Manager" +msgstr "پیکربندی مشاهده‌گر..." + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "فقط نمایش صفحه‌های چوب الف شده" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "" + +#: part/videowidget.cpp:146 +#, fuzzy, kde-format +#| msgid "Pages" +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "صفحه‌ها" + +#: part/videowidget.cpp:252 +#, fuzzy, kde-format +#| msgid "Stamp" +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "مهر" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, fuzzy, kde-format +#| msgid "&Edit" +msgid "&Edit…" +msgstr "&ویرایش‌" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, fuzzy, kde-format +#| msgid "Wipe Down" +msgid "Move &Down" +msgstr "پاک کردن پایین" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "" + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "" + +#: shell/shell.cpp:207 +#, fuzzy, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "قادر به یافتن جزء okular نیست." + +#: shell/shell.cpp:250 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgid "Sidebar" +msgstr "نمایش &میله‌های لغزش‌" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" + +#: shell/shell.cpp:315 +#, fuzzy, kde-format +msgid "Unable to find the Okular component." +msgstr "قادر به یافتن جزء okular نیست." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"فشار دهید تا یک پرونده باز شود\n" +"فشار دهید و نگه دارید تا پرونده جاری باز شود" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"فشار دهید تا یک پرونده باز شود، یا فشار دهید و نگه دارید تا " +"پرونده اخیر گزینش شود" + +#: shell/shell.cpp:582 +#, fuzzy, kde-format +#| msgid "Next Page" +msgid "Next Tab" +msgstr "صفحه بعدی" + +#: shell/shell.cpp:588 +#, fuzzy, kde-format +#| msgid "Previous Page" +msgid "Previous Tab" +msgstr "صفحه قبلی" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "" + +#: shell/shell.cpp:603 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgid "Lock Sidebar" +msgstr "نمایش &میله‌های لغزش‌" + +#: shell/shell.cpp:703 +#, fuzzy, kde-format +msgid "All files (*)" +msgstr "همه پرونده‌ها" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "" + +#: shell/shell.cpp:708 +#, fuzzy, kde-format +msgid "Open Document" +msgstr "باز کردن یک سند" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "" + +#: shell/shell.cpp:826 +#, fuzzy, kde-format +#| msgid "Close" +msgid "Close Tabs" +msgstr "بستن" + +#: shell/shell.cpp:833 +#, fuzzy, kde-format +#| msgid "" +#| "A file named \"%1\" already exists. Are you sure you want to overwrite it?" +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "" +"پرونده‌ای با نام »%1« از قبل موجود است. مطمئن هستید می‌خواهید آن را جای‌نوشت " +"کنید؟" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "" + +#: shell/welcomescreen.cpp:64 +#, fuzzy, kde-format +#| msgid "Copy Text" +msgid "&Copy Path" +msgstr "رونوشت متن" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "" + +#: shell/welcomescreen.cpp:137 +#, fuzzy, kde-format +#| msgid "Current document only" +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "فقط سند جاری" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, fuzzy, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "باز کردن یک سند" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, fuzzy, kde-format +#| msgid "Current document only" +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "فقط سند جاری" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "" + +#, fuzzy +#~ msgid "Geometry with Comment" +#~ msgstr "ویژگیهای Geom" + +#, fuzzy +#~ msgid "Modified: %1" +#~ msgstr "تغییریافته:" + +#~ msgid "Find..." +#~ msgstr "یافتن..." + +#~ msgid "Go To Page..." +#~ msgstr "برو به صفحه..." + +#~ msgid "Play movie..." +#~ msgstr "پخش فیلم..." + +#, fuzzy +#~| msgid "Save As..." +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "ذخیره به عنوان..." + +#, fuzzy +#~| msgid "&View" +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "&نما‌" + +#~ msgid "Configure Viewer..." +#~ msgstr "پیکربندی مشاهده‌گر..." + +#, fuzzy +#~| msgid "Configure Backends..." +#~ msgid "Configure Viewer Backends..." +#~ msgstr "پیکربندی پایانه‌ها..." + +#, fuzzy +#~| msgid "&Edit" +#~ msgid "&Edit..." +#~ msgstr "&ویرایش‌" + +#, fuzzy +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "ناشناخته" + +#, fuzzy +#~| msgid "Fit Width" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "متناسب کردن عرض" + +#, fuzzy +#~| msgid "Fit Page" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "متناسب کردن صفحه" + +#, fuzzy +#~ msgid "*|All Files" +#~ msgstr "همه پرونده‌ها" + +#, fuzzy +#~| msgid "Show scroll&bars" +#~ msgid "Show Sidebar" +#~ msgstr "نمایش &میله‌های لغزش‌" + +#~ msgid "Form" +#~ msgstr "برگه" + +#, fuzzy +#~| msgid "Remove Bookmark" +#~ msgid "Remove Bookmarks" +#~ msgstr "حذف چوب الف" + +#, fuzzy +#~| msgid "Annotation" +#~| msgid_plural "%1 Annotations" +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "حاشیه‌نویسی" + +#, fuzzy +#~| msgid "Highlight" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "خط زیر" + +#, fuzzy +#~| msgid "Underline" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Underline" +#~ msgstr "خط زیر" + +#, fuzzy +#~| msgid "Insert" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "درج" + +#, fuzzy +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "ویژگیها‌ی یادداشت" + +#, fuzzy +#~| msgid "Note Properties" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "ویژگیها‌ی یادداشت" + +#, fuzzy +#~| msgid "Rectangle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Rectangle" +#~ msgstr "مستطیل" + +#, fuzzy +#~| msgid "Highlight" +#~ msgid "Highlight in Yellow" +#~ msgstr "خط زیر" + +#, fuzzy +#~| msgid "Highlight" +#~ msgid "Highlight in Green" +#~ msgstr "خط زیر" + +#, fuzzy +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "&برگزیدن ابزار‌" + +#, fuzzy +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "&برگزیدن ابزار‌" + +#, fuzzy +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "&برگزیدن ابزار‌" + +#, fuzzy +#~| msgid "Annotation" +#~| msgid_plural "%1 Annotations" +#~ msgid "Bookmark annotation" +#~ msgstr "حاشیه‌نویسی" + +#, fuzzy +#~| msgid "Change &Colors" +#~ msgid "&Toggle Change Colors" +#~ msgstr "تغییر &رنگها‌" + +#, fuzzy +#~ msgctxt "@option:check Config dialog, presentation page, transitions" +#~ msgid "Enable transitions" +#~ msgstr "گذار پیش‌فرض:" + +#, fuzzy +#~| msgid "Advance every:" +#~ msgctxt "@label:spinbox Config dialog, presentation page" +#~ msgid "Advance every:" +#~ msgstr "پیشرفت هر:" + +#, fuzzy +#~| msgid "Background color:" +#~ msgctxt "@label:listbox Config dialog, general page" +#~ msgid "Custom background color:" +#~ msgstr "رنگ زمینه:" + +#~ msgid "Draw border around &Images" +#~ msgstr "ترسیم لبه دور &تصاویر‌" + +#~ msgid "Identity" +#~ msgstr "هویت" + +#, fuzzy +#~| msgid "&Author:" +#~ msgid "Au&thor:" +#~ msgstr "&نویسنده:‌" + +#~ msgid "View Options" +#~ msgstr "گزینه‌های نما" + +#~ msgid "Navigation" +#~ msgstr "ناوش" + +#~ msgid "Reviews" +#~ msgstr "پیش‌نمایشها" + +#~ msgid "&Review" +#~ msgstr "&بازبینی‌" + +#~ msgid "Show &Navigation Panel" +#~ msgstr "نمایش تابلوی &ناوش‌" + +#, fuzzy +#~ msgid "Show Text" +#~ msgstr "رونوشت متن" + +#, fuzzy +#~ msgid "Large Icons" +#~ msgstr "شمایل" + +#, fuzzy +#~ msgid "Created: %1" +#~ msgstr "ایجاد‌‌شده:" + +#, fuzzy +#~ msgid "Style" +#~ msgstr "عنوان" + +#, fuzzy +#~ msgid "&Size:" +#~ msgstr "اندازه" + +#~ msgid "Inner color:" +#~ msgstr "رنگ درونی:" + +#, fuzzy +#~ msgid "Name: %1" +#~ msgstr "صفحه‌‌ها: %1" + +#, fuzzy +#~ msgid "Size: %1" +#~ msgstr "اندازه" + +#~ msgid "&Browse Tool" +#~ msgstr "ابزار &مرور‌" + +#~ msgid "&Zoom Tool" +#~ msgstr "ابزار &بزرگ‌نمایی‌" + +#, fuzzy +#~ msgctxt "Zoom Tool" +#~ msgid "Zoom" +#~ msgstr "بزرگ‌نمایی" + +#, fuzzy +#~ msgid "&Selection Tool" +#~ msgstr "&برگزیدن ابزار‌" + +#, fuzzy +#~ msgctxt "Select Tool" +#~ msgid "Selection" +#~ msgstr "&برگزیدن ابزار‌" + +#~ msgid "&Text Selection Tool" +#~ msgstr "ابزار گزینش &متن‌" + +#, fuzzy +#~ msgid "T&able Selection Tool" +#~ msgstr "&برگزیدن ابزار‌" + +#, fuzzy +#~ msgid " None" +#~ msgstr "خیر" + +#, fuzzy +#~ msgid "" +#~ "The document requested to be launched in presentation mode.\n" +#~ "Do you want to allow it?" +#~ msgstr "سند در حالت ارائه راه‌اندازی می‌باشد، زیرا پرونده، آن را درخواست کرد." + +#, fuzzy +#~ msgid "Presentation Mode" +#~ msgstr "خروج از حالت ارائه" + +#, fuzzy +#~ msgid "Allow the presentation mode" +#~ msgstr "خروج از حالت ارائه" + +#, fuzzy +#~ msgid "Do not allow the presentation mode" +#~ msgstr "گزینه‌هایی برای حالت ارائه" + +#, fuzzy +#~ msgid "Save &Copy As..." +#~ msgstr "ذخیره به عنوان..." + +#~ msgid "" +#~ "End of document reached.\n" +#~ "Continue from the beginning?" +#~ msgstr "" +#~ "به پایان سند رسید.\n" +#~ "از ابتدا ادامه می‌دهید؟" + +#, fuzzy +#~ msgid "" +#~ "Beginning of document reached.\n" +#~ "Continue from the bottom?" +#~ msgstr "" +#~ "به پایان سند رسید.\n" +#~ "از ابتدا ادامه می‌دهید؟" + +#~ msgid "Current maintainer" +#~ msgstr "نگه‌دارنده جاری" + +#~ msgid " sec." +#~ msgstr " ثانیه" + +#~ msgid "Pencil color:" +#~ msgstr "رنگ مداد:" + +#, fuzzy +#~| msgid "Starting KTTSD Failed: %1" +#~ msgid "Starting Jovie Text-to-Speech service Failed: %1" +#~ msgstr "خرابی در آغاز KTTSD: %1" + +#, fuzzy +#~ msgid "All Visible Columns" +#~ msgstr "همیشه مرئی" + +#~ msgid "No document opened." +#~ msgstr "سندی باز نشد." + +#~ msgid "No matches found for '%1'." +#~ msgstr "برای »%1«، تطبیقی یافت نشد." + +#~ msgid "Identity Settings" +#~ msgstr "تنظیمات هویت" + +#~ msgid "Highlight Properties" +#~ msgstr "ویژگیهای مشخص" + +#~ msgid "Ink Properties" +#~ msgstr "ویژگیهای جوهر" + +#, fuzzy +#~| msgid "Annotation" +#~| msgid_plural "%1 Annotations" +#~ msgctxt "Annotation tool" +#~ msgid "Text Annotation" +#~ msgstr "حاشیه‌نویسی" + +#, fuzzy +#~ msgctxt "Annotation tool" +#~ msgid "Yellow Highlight" +#~ msgstr "خط زیر" + +#, fuzzy +#~ msgid "Black Underlining" +#~ msgstr "خط زیر" + +#~ msgid "Ink" +#~ msgstr "مرکب" + +#~ msgid "Moves to the first page of the document" +#~ msgstr "به اولین صفحه سند حرکت می‌کند" + +#, fuzzy +#~| msgid "Overwrite" +#~ msgctxt "@action:button" +#~ msgid "&Overwrite" +#~ msgstr "جای‌نوشت" + +#~ msgid "Pages:" +#~ msgstr "صفحه‌ها:" + +#~ msgid "Pages Size" +#~ msgstr "اندازه صفحه‌‌‌ها" + +#~ msgid "" +#~ "The document is trying to execute an external application and for your " +#~ "safety okular does not allow that." +#~ msgstr "" +#~ "سند سعی در اجرای یک کاربرد خارجی دارد، و okular برای امنیت به شما اجازه " +#~ "این کار را نمی‌دهد." + +#, fuzzy +#~| msgid "Icon" +#~ msgid "Big Icons" +#~ msgstr "شمایل" + +#~ msgid "Embedded" +#~ msgstr "نهفته" + +#~ msgid "" +#~ "The document is going to be launched on presentation mode because the " +#~ "file requested it." +#~ msgstr "سند در حالت ارائه راه‌اندازی می‌باشد، زیرا پرونده، آن را درخواست کرد." + +#~ msgid "&Properties..." +#~ msgstr "&ویژگیها‌..." + +#, fuzzy +#~| msgid "Highlight" +#~ msgid "Pink Highlighter" +#~ msgstr "خط زیر" + +#, fuzzy +#~| msgid "Could not load the necessary plugin to view the document" +#~ msgid "Could not load the necessary plugin to view the document." +#~ msgstr "نتوانست وصله لازم برای مشاهده سند را بار کند" + +#~ msgid "Copy Link Location" +#~ msgstr "رونوشت محل پیوند" + +#~ msgid "Fit &Text" +#~ msgstr "متناسب با &متن‌" + +#~ msgid "*|All the Files" +#~ msgstr "*|همه پرونده‌ها" + +#~ msgid "&Advanced" +#~ msgstr "&پیشرفته‌" + +#~ msgid "Contents:" +#~ msgstr "محتویات:" + +#~ msgid "" +#~ "File Error! Could not create temporary file." +#~ msgstr "" +#~ "خطای پرونده! نتوانست پرونده موقت را ایجاد کند." + +#~ msgid "Hide &Navigation Panel" +#~ msgstr "مخفی کردن تابلوی &ناوش‌" + +#~ msgid "page %1" +#~ msgstr "صفحه %1" + +#~ msgid "Show &search bar in thumbnails list" +#~ msgstr "نمایش میله &جستجو در فهرست ریزنقش‌" + +#~ msgid "Free Text" +#~ msgstr "متن آزاد" + +#~ msgid "Pencil" +#~ msgstr "مداد" + +#~ msgid "Program Look" +#~ msgstr "ظاهر برنامه" + +#~ msgid "FreeText Properties" +#~ msgstr "ویژگیهای FreeText" diff --git a/po/fi/okular.po b/po/fi/okular.po new file mode 100644 index 0000000..26cc630 --- /dev/null +++ b/po/fi/okular.po @@ -0,0 +1,6918 @@ +# Translation of okular.po into Finnish +# +# KDE Finnish translation sprint participants: +# Author: Artnay +# Author: Lliehu +# Author: Niklas Laxström +# SPDX-FileCopyrightText: 2012, 2016, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025 Tommi Nieminen +# Teemu Rytilahti , 2003. +# Kim Enkovaara , 2004, 2005, 2006. +# Ilpo Kantonen , 2005. +# Mikko Ikola , 2006. +# Niklas Laxström , 2007. +# Mikko Piippo , 2007, 2008. +# Mikko Piippo , 2008. +# Sasu Karttunen , 2010. +# Lasse Liehu , 2010, 2011, 2012, 2013, 2014, 2015, 2016. +# Jiri Grönroos , 2012. +# Niklas Laxström , 2012. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-13 23:15+0300\n" +"Last-Translator: Tommi Nieminen \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 23.08.5\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" +"Teemu Rytilahti, Mikko Ikola, Niklas Laxström, Mikko Piippo, Sasu Karttunen, " +"Lasse Liehu, Tommi Nieminen" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" +"teemu.rytilahti@kde-fi.org, ikola@iki.fi, niklas.laxstrom+kdetrans@gmail.com," +"mikko.piippo@helsinki.fi, sasu.karttunen@tpnet.fi, lasse.liehu@gmail.com, " +"translator@legisign.org" + +# pmap: =/gen=Okularin/ +# pmap: =/elat=Okularista/ +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Okular, yleiskäyttöinen tiedostokatselin" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"© 2002 Wilco Greven, Christophe Devriese\n" +"© 2004–2005 Enrico Ros\n" +"© 2005 Piotr Szymanski\n" +"© 2004–2017 Albert Astals Cid\n" +"© 2006–2009 Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "Aiempi ylläpitäjä" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "" +"Paljon kehystyötä, FictionBook-taustajärjestelmä ja aiempi ODT-" +"taustajärjestelmä" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "Kehittäjä" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymanski" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "Loi Okularin KPDF:n pohjalta" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "Enrico Ros" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "KPDF-kehittäjä" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "Eugene Trounev" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "Merkintöjen grafiikka" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "Jiri Baum – NICTA" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "Taulukonvalintatyökalu" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "Fabio D'Urso" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "Parannuksia merkintöihin" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "Siirry sivulle %1" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "Avaa ulkoinen tiedosto" + +#: core/action.cpp:197 +#, kde-format +msgid "Execute '%1'…" +msgstr "Suorita ”%1”…" + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "Ensimmäinen sivu" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "Edellinen sivu" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "Seuraava sivu" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "Viimeinen sivu" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "Edellinen" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "Seuraava" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Lopeta" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "Aloita esitys" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "Päätä esitys" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "Etsi…" + +#: core/action.cpp:314 +#, kde-format +msgid "Go To Page…" +msgstr "Siirry sivulle…" + +#: core/action.cpp:365 +#, kde-format +msgid "Play sound…" +msgstr "Toista ääni…" + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "JavaScript-komentojono" + +#: core/action.cpp:483 +#, kde-format +msgid "Play movie…" +msgstr "Toista elokuva…" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "Toista elokuva" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "Pysäytä elokuva" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "Tauota elokuva" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "Jatka elokuvan toistoa" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "Tämä Okular on koostettu äänituetta" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "Taustaosan valinta" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
%1 (%2).

Please select which one to use:
" +msgstr "" +"Tiedoston MIME-tyypille
%1 (%2)
on useita taustaosia." +"

Valitse käytettävä taustaosa:
" + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "Useimmat sivut ovat kokoa %1." + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "Pysty-%1" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "Vaaka-%1" + +#: core/document.cpp:246 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 × %2\" (%3)" + +#: core/document.cpp:248 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 × %2 mm (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "Jatketaan hakua alusta" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "Jatketaan hakua lopusta" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "Annetun tiedoston käsittelyyn vaadittavaa liitännäistä ei löytynyt." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "Tälle tiedostotyypille allekirjoittamista ei ole toteutettu" + +# Tekstiä käytetään viestien ”Undo %1” ja ”Redo %1” yhteydessä. +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "merkintöjen poisto" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"Tiedosto yrittää suorittaa ulkoista sovellusta, mutta turvallisuussyistä " +"Okular ei salli sitä." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "Sovellusta ei löytynyt MIME-tyypin %1 avaamiseksi." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "Väliaikaistiedostoa ei voitu avata" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "Tulostusmuunnos epäonnistui" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "Tulostusprosessi kaatui" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "Tulostusprosessi ei käynnistynyt" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "Tiedoston tulostaminen epäonnistui" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "Tulostin on virheellisessä tilassa" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "Tulostettavaa tiedostoa ei löytynyt" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "Ei tulostettavaa" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"Tulostamiseen sopivaa ohjelmaa ei löytynyt. Varmista, että CUPS:n lpr-" +"ohjelma on saatavilla." + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "Sivun tulostuskoko on virheellinen" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "Tiedostoa %1 ei voitu avata. Se ei ole olemassa." + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Otsikko" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Aihe" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Kuvaus" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "Tekijä" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Luoja" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Tuottaja" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "Tekijänoikeudet" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "Sivuja" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Luotu" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Muutettu" + +#: core/document.cpp:6032 +#, kde-format +msgid "MIME Type" +msgstr "MIME-tyyppi" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "Luokka" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Avainsanat" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "Tiedoston sijainti" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "Tiedostokoko" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "Sivukoko" + +# Tekstiä käytetään viestien ”Undo %1” ja ”Redo %1” yhteydessä. +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "merkinnän lisäys" + +# Tekstiä käytetään viestien ”Undo %1” ja ”Redo %1” yhteydessä. +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "merkinnän poisto" + +# Tekstiä käytetään viestien ”Undo %1” ja ”Redo %1” yhteydessä. Kyseessä on yksittäisen merkinnän ominaisuudet. +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "merkinnän ominaisuuksien muutos" + +# Tekstiä käytetään viestien ”Undo %1” ja ”Redo %1” yhteydessä. +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "merkinnän siirto" + +# Tekstiä käytetään viestien ”Undo %1” ja ”Redo %1” yhteydessä. +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "merkinnän säätö" + +# Tekstiä käytetään viestien ”Undo %1” ja ”Redo %1” yhteydessä. +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "tekstin muokkaus" + +# Tekstiä käytetään viestien ”Undo %1” ja ”Redo %1” yhteydessä. +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "merkinnän sisällön muokkaus" + +# Tekstiä käytetään viestien ”Undo %1” ja ”Redo %1” yhteydessä. +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "lomakkeen sisällön muokkaus" + +# Tekstiä käytetään viestien ”Undo %1” ja ”Redo %1” yhteydessä. +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "lomakkeen luettelovalintojen muokkaus" + +# Tekstiä käytetään viestien ”Undo %1” ja ”Redo %1” yhteydessä. +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "yhdistelmälomakkeen valinnan muokkaus" + +# Tekstiä käytetään viestien ”Undo %1” ja ”Redo %1” yhteydessä. +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "lomakkeen painiketilan muokkaus" + +#: core/generator.cpp:790 +#, kde-format +msgid "Plain &Text…" +msgstr "&Pelkkä teksti…" + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "OpenDocument-tiedosto" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML " + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "Tulostusvalinnat" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "Sovita tulostusalueeseen" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "Sovita koko sivulle" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "Skaalaus:" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "Älä näytä tätä viestiä uudelleen" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "Ei saatavilla" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" +"Sisäinen allekirjoitusvirhe. Ilmoita ohjelmavirheestä ja kerro miten tämän " +"voi toistaa. Virhekoodi %1" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "Tiedostoa ei voitu allekirjoittaa: %1" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "Käyttäjä perui allekirjoittamisen" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "Ei voitu allekirjoittaa. Väärä salasana" + +#: core/signatureutils.cpp:504 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" +"Allekirjoitettua tiedostoa ei voitu kirjoittaa kansioon %1: varmista, että kansioon on kirjoitusoikeus" + +#: core/signatureutils.cpp:506 +#, kde-format +msgid "Unknown signing error" +msgstr "Tuntematon allekirjoittamisvirhe" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Lähde: %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "&Oletusfontti:" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "Versio" + +#: gui/certificatemodel.cpp:41 +#, kde-format +msgid "Serial Number" +msgstr "Sarjanumero" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "Myöntäjä" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "Myönnetty" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "Vanhenee" + +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Aihe" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "Julkinen avain" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "Avaimen käyttö" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "V%1" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "%1 (%2 bittiä)" + +# &-merkki o-kirjaimessa meni OK-painikkeen o:n kanssa päällekkäin. +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "Ominaisuus" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "Arvo" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "Ponnahdusmuistiinpano" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "Kirjoituskone" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "Tekstinsisäinen muistiinpano" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +#| msgid "Polygon with Comment" +msgid "Arrow with Comment" +msgstr "Monikulmio huomautuksella" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "Nuoli" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "Suora viiva huomautuksella" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "Suora viiva" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "Monikulmio huomautuksella" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "Monikulmio" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgid "Stamp with Comment" +msgid "Rectangle with Comment" +msgstr "Leima huomautuksella" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "Suorakulmio" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgid "Underline with Comment" +msgid "Ellipse with Comment" +msgstr "Alleviivaus huomautuksella" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "Soikio" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "Korostus huomautuksella" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "Korostus" + +#: gui/guiutils.cpp:87 +#, kde-format +msgid "Squiggle with Comment" +msgstr "Koukeroinen alleviivaus huomautuksella" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "Koukeroinen alleviivaus" + +#: gui/guiutils.cpp:91 +#, kde-format +msgid "Underline with Comment" +msgstr "Alleviivaus huomautuksella" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "Alleviivaus" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out with Comment" +msgstr "Yliviivaus huomautuksella" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "Yliviivaus" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "Leima huomautuksella" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "Leima" + +#: gui/guiutils.cpp:106 +#, kde-format +msgid "Freehand Line with Comment" +msgstr "Vapaamuotoinen viiva huomautuksella" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "Vapaamuotoinen viiva" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "Caret" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "Liitetiedosto" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "Ääni" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "Video" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Näyttö" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "Käyttöliittymäelementti" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "Multimediasisältö" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation" +msgstr "Merkintä" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "Tuntematon" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Tekijä: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "Minne haluat tallentaa tiedoston %1?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "" +"Kohdetta %1 ei voitu avata kirjoittamista varten. Tiedostoa ei tallennettu." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "Allekirjoitus on kryptografisesti kelvollinen." + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "Allekirjoitus on kryptografisesti virheellinen." + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "Tiivistevirhe havaittu." + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "Allekirjoituksen CMS/PKCS7-rakenne on virheellinen." + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "Tiedostossa ei ole pyydettyä allekirjoitusta." + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "Allekirjoitusta ei voitu todentaa." + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "Varmenne on luotettava." + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "Varmenteen myöntäjä ei ole luotettava." + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "Varmenteen myöntäjä on tuntematon." + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "Varmenne on mitätöity." + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "Varmenne on vanhentunut." + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "Varmennetta ei ole vielä todennettu." + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "Varmenteen todennus meneillään" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "Tuntematon varmenneongelma tai vioittunutta tietoa." + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "MD2" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "MD5" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "SHA1" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "SHA256" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "SHA384" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "SHA512" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "SHA224" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "Tuntematon algoritmi" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "RSA" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "DSA" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "EC" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "Tuntematon tyyppi" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "Digitaalinen allekirjoitus" + +# Suoraan Google Translatesta… +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "Kiistämättömyys" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "Salausavaimet" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "Salauksenpurkuavaimet" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "Avainsopimus" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "Allekirjoita varmenne" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "Allekirjoita CRL" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "Vain salaa" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "Käyttöä ei ole määritetty" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr ", " + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "Tiedosto on muuttunut allekirjoituksen jälkeen." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" +"Tiedoston allekirjoitettua versiota ei ole muutettu,\n" +"mutta tiedostoon on myöhempiä muutoksia." + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "Tiedostoa on muutettu edellisen allekirjoittajan kieltämällä tavalla." + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "Tiedoston eheyden tarkistusta ei voitu saattaa loppuun." + +#: gui/signatureguiutils.cpp:208 +#, kde-format +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "Tiedostossa on allekirjoitukseen varattuja kenttiä." + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "Tiedosto on digitaalisesti allekirjoitettu." + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "" +"Tämä tiedosto on digitaalisesti allekirjoitettu. Viime allekirjoittamisen " +"jälkeen on tullut muutoksia." + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" +"Tämä tiedosto on digitaalisesti allekirjoitettu. Joitakin allekirjoituksia " +"ei voitu varmentaa kunnolla." + +#: gui/signaturemodel.cpp:141 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "Allekirjoitusvaraus %1" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "Kenttä %1 sivulla %2" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "Versio %1, allekirjoittanut %2" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "Allekirjoitettu: %1" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "Syy: %1" + +#: gui/signaturemodel.cpp:177 +#, kde-format +msgid "Location: %1" +msgstr "Sijainti: %1" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "PGP-allekirjoitus" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "Adobe PKCS7" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "Adobe PKCS7 SHA-1" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "ETSI CAdES" + +#: gui/signaturemodel.cpp:193 +#, kde-format +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "Tuntematon" + +#: gui/signaturemodel.cpp:195 +#, kde-format +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "Allekirjoitusvaraus" + +#: gui/signaturemodel.cpp:201 +#, kde-format +msgid "Signature Type: %1" +msgstr "Allekirjoituksen tyyppi: %1" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "Punainen" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "Oranssi" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "Keltainen" + +#: part/annotationactionhandler.cpp:151 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "Vihreä" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "Syaani" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "Sininen" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "Violetti" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "Valkoinen" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "Harmaa" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "Musta" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "Leveys %1" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1 %" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "Merkintäviivan paksuus (merkintöjä ei valittu)" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "Merkinnän väri (merkintöjä ei valittu)" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "Merkinnän täyttöväri (merkintöjä ei valittu)" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "Merkinnän peittävyys (merkintöjä ei valittu)" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "Merkinnän fontti (merkintöjä ei valittu)" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" +"Lisää nykyinen merkintä merkintöjen pikavalikkoon (merkintöjä ei " +"valittu)Lisää nykyinen merkintä merkintöjen pikavalikkoon (merkintöjä ei " +"valittu)" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" +"Rajoita kuvasuhde 1:1:een tai kulmaa 15 asteen askelin (merkintää ei valittu)" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "Nykyisen merkintätyökalun lisäasetukset (merkintöjä ei valittu)" + +#: part/annotationactionhandler.cpp:308 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Merkintäviivan paksuus" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "" +"Merkintäviivan paksuus (nykyisellä merkinnällä ei ole viivan " +"paksuutta)Merkintäviivan paksuus (nykyisellä merkinnällä ei ole viivan " +"paksuutta)" + +#: part/annotationactionhandler.cpp:314 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Merkinnän tekstiväri" + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "Merkinnän reunaväri" + +#: part/annotationactionhandler.cpp:318 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Merkinnän väri" + +#: part/annotationactionhandler.cpp:322 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Merkinnän täyttöväri" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "Merkinnän täyttöväri (nykyisellä merkinnällä ei ole täyttöväriä)" + +#: part/annotationactionhandler.cpp:328 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "Merkinnän fontti" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "Merkinnän fontti (nykyisellä merkinnällä ei ole fonttia)" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "Rajoita kulmaa 15° askelin" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "Rajoita kuvasuhde 1:1:een" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" +"Rajoita kuvasuhde 1:1:een tai kulmaa 15° askelin (nykyinen merkintä ei tue)" + +#: part/annotationactionhandler.cpp:341 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Merkinnän peittävyys" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "Lisää nykyinen merkintä merkintöjen pikavalikkoon" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "Nykyisen merkintätyökalun lisäasetukset" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "Väri" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "Täyttöväri" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "Läpinäkyvä" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "Mukautettu väri…" + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "Valitse väri" + +#: part/annotationactionhandler.cpp:552 +#, kde-format +msgid "&Annotations" +msgstr "&Merkinnät" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "Piilota" + +#: part/annotationactionhandler.cpp:554 +#, kde-format +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Näytä lisää merkintätyökaluja" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "Korostuskynä" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "Alleviivaus" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "Koukeroinen alleviivaus" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "Yliviivaus" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Kirjoituskone" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "Tekstinsisäinen muistiinpano" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "Ponnahdusmuistiinpano" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "Vapaamuotoinen viiva" + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "Suora viiva" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "Nuoli" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "Suorakulmio" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "Soikio" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "Monikulmio" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "Geometriset muodot" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "Leima" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Pikamerkinnät" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "Valitse pikamerkinnöistä merkintätyökalu" + +#: part/annotationactionhandler.cpp:651 +#, kde-format +msgid "Quick Annotation Bar" +msgstr "Pikamerkintärivi" + +# Tekstiä käytetään viestien ”Undo %1” ja ”Redo %1” yhteydessä. +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "Lisää pikamerkintöihin" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "Pidä aktiivisena" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "Pidä merkintätyökalu aktiivisena käytön jälkeen" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "Merkinnän kuvasuhteen- tai kulmanrajaustyökalut" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "Fontti" + +#: part/annotationactionhandler.cpp:681 +#, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Merkintäasetukset" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "Viivan paksuus" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "Peittävyys" + +#: part/annotationactionhandler.cpp:696 +#, kde-format +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1 %" + +#: part/annotationmodel.cpp:320 +#, kde-format +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "Sivu %1 (%2)" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "Sivu %1" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "Merkintä" +msgstr[1] "%1 merkintää" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "&Avaa ponnahdusmuistiinpano" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Poista kirjanmerkki" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Lisää kirjanmerkki" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, kde-format +msgid "Copy Text to Clipboard" +msgstr "Kopioi teksti leikepöydälle" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "DRM-rajoitukset eivät salli kopiointia" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "&Poista" + +# &-merkki o-kirjaimessa meni OK-painikkeen o:n kanssa päällekkäin. +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "O&minaisuudet" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, kde-format +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "&Tallenna ”%1”…" + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "&Ulkoasu" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "&Yleistä" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&Tekijä:" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "Luotu:" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "Muutettu:" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "Ponnahdusmuistiinpanon ominaisuudet" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "Kirjoituskoneen ominaisuudet" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "Rivien välisen muistiinpanon ominaisuudet" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "Suoran viivan ominaisuudet" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "Monikulmion ominaisuudet" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "Sivuasetusten ominaisuudet" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "Tekstin merkinnän ominaisuudet" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "Leimaominaisuudet" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "Vapaamuotoisen viivan ominaisuudet" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "Leimasimen asetukset" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "Liitetiedoston ominaisuudet" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "Äänen ominaisuudet" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "Videon ominaisuudet" + +# Yksittäisen merkinnän ominaisuudet +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "Merkinnän ominaisuudet" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "Valitse tiedostosta mukautettu leimasymboli" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "Valitse mukautettu leimasymboli" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" +"*.ico *.png *.xpm *.svg *.svgz | Kuvaketiedostot (*.ico *.png *.xpm *.svg *." +"svgz)" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "Tiedoston %1 avaaminen epäonnistui." + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "Virheellinen tiedosto" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&Väri:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, kde-format +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%v %" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "&Peittävyys:" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "Kuvake:" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "Kommentti" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "Ohje" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "Lisää" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "Avain" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "Uusi kappale" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "Muistiinpano" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "Kappale" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Fontti:" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "T&ekstiväri:" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "&Tasaus:" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "Vasemmalle" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "Keskelle" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "Oikealle" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "&Reunan leveys:" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "Hyväksytty" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "Sellaisenaan" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "Luottamuksellinen" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "Osastollinen" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "Luonnos" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "Kokeellinen" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "Vanhentunut" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "Lopullinen" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "Kommentoitavaksi" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "Julkistetaan" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "Ei hyväksytty" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "Ei julkisuuteen" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "Myyty" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "Huippusalainen" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "Kirjanmerkki" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "Tietoja" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "&Leimasymboli:" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "&Paksuus:" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "Viivan alku:" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "Viivan pääte:" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "Neliö" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "Ympyrä" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "Timantti" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "Avonuoli" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "Suljettu nuoli" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "Ei mitään" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "Pääty" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "Avonuoli oikealle" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "Suljettu nuoli oikealle" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "Vinoviiva" + +#: part/annotationwidgets.cpp:531 +#, kde-format +msgid "Leader line length:" +msgstr "Apuviivan pituus:" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "Apuviivan jatkeen pituus:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "Käytössä" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "Kuviotäyttö:" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Tyyppi:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "Yliviivaus" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "Liitetiedoston symboli:" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "Graafi" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "Neula" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "Paperiliitin" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "Sisältökuvaus" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "Tiedosto" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "ei ilm." + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "Ei kuvausta saatavilla." + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "Nimi:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "Kuvaus:" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "Leimasinsymboli:" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "Ei mitään" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "Sulje tämä muistiinpano" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "Asetukset" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"Merkintä saattaa sisältää LaTeX-koodia.\n" +"Näytä napsauttamalla tästä." + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "latex-ohjelmatiedostoa ei löydy." + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "LaTeX-piirto epäonnistui" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "dvipng-ohjelmatiedostoa ei löydy." + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "latex-komennon suorittamisessa ilmeni ongelma." + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "dvipng-komennon suorittamisessa ilmeni ongelma." + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"Yksi kirjanmerkki" +msgstr[1] "" +"%1\n" +"\n" +"%2 kirjanmerkkiä" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Kirjanmerkit" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "Näytä kaikille tiedostoille" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, kde-format +msgid "Search…" +msgstr "Etsi…" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, fuzzy, kde-format +#| msgid "Expand all" +msgid "Expand All" +msgstr "Laajenna kaikki" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, fuzzy, kde-format +#| msgid "Collapse all" +msgid "Collapse All" +msgstr "Supista kaikki" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "Siirry kirjanmerkkiin" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "Muuta kirjanmerkin nimeä" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Avaa tiedosto" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "Poista tiedoston kaikki kirjanmerkit" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "Varmennekatselin" + +#: part/certificateviewer.cpp:50 +#, kde-format +msgid "Export…" +msgstr "Vie…" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "Yleiset" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "Myöntäjä" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "Yleinen nimi (CN)" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "Sähköposti" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "Organisaatio (O)" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "Kenelle myönnetty:" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "Kelpoisuus" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "Sormenjäljet" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "SHA-1-sormenjälki" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "SHA-256-sormenjälki" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "Yksityiskohdat" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "Varmennetieto:" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "Minne haluat tallentaa varmenteen?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "Varmennetiedosto (*.cer)" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "Varmennetta ei voitu viedä" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "&Väritila" + +#: part/colormodemenu.cpp:21 +#, kde-format +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "Muuta värejä" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "&Tavalliset värit" + +#: part/colormodemenu.cpp:41 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "&Käänteiset värit" + +#: part/colormodemenu.cpp:42 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "Muuta &paperin väriä" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "&Vaihda tummat ja vaaleat värit" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "&Muunna mustavalkoiseksi" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "Käännä v&aloisuus" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "Käännä &Luma (lineaarinen sRGB)" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "Käännä Luma (s&ymmetrinen)" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "&Positiivinen sävysiirtymä" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "&Negatiivinen sävysiirtymä" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "Punainen" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "Vihreä" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "Sininen" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "Keltainen" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "Musta" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "Valkoinen" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "Keltainen korostus" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "Vihreä korostus" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "Lisää tekstiä" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "Piirrä linkeille reunus" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "Muuta värejä" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "Varoitus: valinnat voivat vaikuttaa piirtonopeuteen." + +#: part/dlgaccessibility.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "Käänteiset värit" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "Muuta paperin väriä" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "Vaihda tummat ja vaaleat värit" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "Muunna mustavalkoiseksi" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "Käännä valoisuus" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "Käännä luma (lineaarinen sRGB)" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "Käännä luma (symmetrinen)" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "Positiivinen sävysiirtymä" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "Negatiivinen sävysiirtymä" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "Väritila:" + +#: part/dlgaccessibility.cpp:87 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Paperin väri:" + +#: part/dlgaccessibility.cpp:99 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Tumma väri:" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "Vaalea väri:" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "Raja-arvo:" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Kontrasti:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "Puhesyntetisaattori:" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "Puhesyntetisaattoriääni:" + +#: part/dlgannotations.cpp:25 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Täysi merkintätyökalurivi" + +#: part/dlgannotations.cpp:26 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Pikamerkintätyökalurivi" + +#: part/dlgannotations.cpp:28 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Merkintätyökalurivi:" + +#: part/dlgannotations.cpp:34 +#, kde-format +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "Tekijä:" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"Huomio: tietoa käytetään vain tarkasteluihin. Merkinnät tallennetaan " +"tiedostoon ja ne kulkevat siis tiedoston mukana." + +#: part/dlgannotations.cpp:48 +#, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

Quick Annotation Tools

" +msgstr "

Pikamerkintätyökalut

" + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "Valitse muokkain, johon Okular lähdetiedostot avaa." + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "Mukautettu tekstimuokkain" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Emacs" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "Lyx" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "TeXstudio" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "TeXiFy IDEA" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "Muokkain:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
\n" +"You can also put few placeholders:\n" +"
    \n" +"
  • %f - the file name
  • \n" +"
  • %l - the line of the file to be reached
  • \n" +"
  • %c - the column of the file to be reached
  • \n" +"
\n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"Aseta valinnainen komento tekstimuokkaimen käynnistykseen.
\n" +"Voit myös käyttää seuraavia muuttujia:\n" +"
    \n" +"
  • %f – tiedostonimi
  • \n" +"
  • %l – rivi
  • \n" +"
  • %c – sarake
  • \n" +"
\n" +"Jos %f-muuttujaa ei ole asetettu, tiedostonimi lisätään valitsemasi komennon " +"loppuun." + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "Komento:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "Käytä tasaista vieritystä" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "Ulkoasu:" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "Näytä vierityspalkit" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "Yhdistä sivuille pienoiskuvat" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "Näytä vinkit ja infoviestit" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "Ilmoita upotetuista tiedostoista, lomakkeista tai allekirjoituksista" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "Näytä tiedoston nimi otsikkorivillä, jos käytettävissä" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "Näytä vain tiedostonimi" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "Näytä tiedoston koko polkunimi" + +# HUOM! Tässä on pakko tehdä erotus tiedosto != asiakirja, koska kyse ei ole tiedostojärjestelmään tallennetusta nimestä vaan tiedoston sisällä olevasta otsikosta +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "Ellei asiakirjan otsikkoa näytetä:" + +#: part/dlggeneral.cpp:92 +#, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "Käytä mukautettua taustaväriä:" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "Ohjelman ominaisuudet:" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "Avaa uudet tiedostot välilehtiin" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "Jos tiedosto on jo auki, vaihda sen välilehteen" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "Noudata DRM-rajoituksia" + +#: part/dlggeneral.cpp:148 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "Avaa tiedosto uudestaan sen muututtua" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "Näytä taustaosan valintaikkuna" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "Lukusuunta oikealta vasemmalle" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "Tunnista tiedoston tiedoista, avataanko oletuksena jatkuvaan tilaan" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "Avaa tiedostot, joista tieto puuttuu, oletuksena jatkuvaan tilaan" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "Avaa oletuksena jatkuvaan tilaan" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "Selaustyökalua käytettäessä rivitä kohdistin näytön reunoilla" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "Kohteet äskettäisessä historiassa:" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "Sarakkeita yleiskatsauksessa:" + +#: part/dlggeneral.cpp:220 +#, kde-format +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%v %" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" +"Määrittää paljonko nykyisestä katselualueesta jää näkyviin, kun näkymää " +"vieritetään Page Up/Down -näppäimillä." + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "PgUp/PgDn-lomitus:" + +#: part/dlggeneral.cpp:228 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%v %" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "100 %" + +#: part/dlggeneral.cpp:233 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "Sovita leveyteen" + +#: part/dlggeneral.cpp:234 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "Sovita sivulle" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "Automaattisovitus" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "Mukautettu" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" +"Määrittää oletuslähennyksen ennen avaamattomille tiedostoille. Jo avatuille " +"käytetään edelliskerran asetusta." + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "Oletuslähennys:" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "Käytä läpikuultavia tehosteita" + +#: part/dlgperformance.cpp:28 +#, kde-format +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "Suoritinkäyttö:" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "Vähäinen" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "Tavallinen (oletus)" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "Aggressiivinen" + +#: part/dlgperformance.cpp:38 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "Ahne" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "Muistinkäyttö:" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "Käytä tekstin pehmennystä" + +#: part/dlgperformance.cpp:56 +#, kde-format +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "Hahmonnusvalinnat:" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "Käytä grafiikan pehmennystä" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "Käytä tekstin vihjeistystä" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"Vähentää tarvittavan muistin määrää. Järjestelmille, joissa on vähän muistia." + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"Kompromissi muistin käytön ja nopeuden välillä. Avaa seuraavan sivun " +"etukäteen ja tehostaa hakuja. (Sopii järjestelmille, joilla on noin 2 Gt " +"muistia.)" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"Pitää kaiken muistissa. Avaa seuraavan sivun etukäteen ja tehostaa hakuja. " +"Sopii järjestelmille, joilla on yli 4 Gt muistia." + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" +"Avaa kaiken muistiin ja säilyttää siellä. Avaa ennakkoon kaikki sivut. " +"(Käyttää enintään 50 % vapaasta tai kokonaismuistista sen mukaan, kumpi on " +"suurempi.)" + +#: part/dlgpresentation.cpp:38 +#, kde-format +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] " s välein" +msgstr[1] " s välein" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "Etene automaattisesti:" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "Palaa viimeiseltä sivulta alkuun" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "Siirry taakse/eteenpäin napauttamalla vasenta/oikeaa puolta" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "Siirry eteenpäin napauttamalla minne tahansa" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "Ei käytössä" + +#: part/dlgpresentation.cpp:63 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Kosketusnavigointi" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "Taustaväri:" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "Piilota viivästettynä" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "Aina näkyvissä" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "Aina piilossa" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "Hiiriosoitin:" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "Näytä edistyminen" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "Näytä yhteenvetosivu" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "Välitön (älä koskaan animoi)" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "Korvaa" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "Satunnainen siirtymä" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "Pystysuuntaiset verhot" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "Vaakasuuntaiset verhot" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "Laatikko sisään" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "Laatikko ulos" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "Liuota" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "Häivytä" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "Välkytä alas" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "Välkytä oikealle" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "Välkytä alaoikealle" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "Jaa vaakasuunnassa sisään" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "Jaa vaakasuunnassa ulos" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "Jaa pystysuunnassa sisään" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "Jaa pystysuunnassa ulos" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "Pyyhi alas" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "Pyyhi oikealle" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "Pyyhi vasemmalle" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "Pyyhi ylös" + +#: part/dlgpresentation.cpp:121 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Oletussiirtymä:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "Suosittu näyttö:" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

Drawing Tools

" +msgstr "

Piirrostyökalu

" + +#: part/dlgpresentation.cpp:171 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Nykyinen näyttö" + +#: part/dlgpresentation.cpp:172 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Oletusnäyttö" + +#: part/dlgpresentation.cpp:178 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "Näyttö %1 (%2 %3 %4)" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "Näyttö %1 (ei kytketty)" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "Piirrostyökalu: %1" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "Kumi" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "&Nimi:" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "&Tyyppi:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "Ulkoasu" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "Tekstin merkintä" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "Geometrinen muoto" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "Luo merkintätyökalu" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "Muokkaa merkintätyökalua" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "Väri:" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "Kynän &paksuus:" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "%v px" + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "Luo piirrostyökalu" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "Muokkaa piirrostyökalua" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "Tuntematon" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Upotetut tiedostot" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "Näytä" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "Nimi" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "Kuvaus" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "Koko" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "Luotu" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "Muutettu" + +#: part/embeddedfilesdialog.cpp:154 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "Tallenna nimellä…" + +#: part/embeddedfilesdialog.cpp:155 +#, kde-format +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "&Näytä…" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "Tulostuksen esikatseluun tarvittavan osan lataus epäonnistui" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "Esikatselu" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "Sulje" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "&Etsi:" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "Haettava teksti" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Seuraava" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "Siirry seuraavaan osumaan" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Edellinen" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "Siirry edelliseen osumaan" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "Muuta hakuvalintoja" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "Huomioi kirjainkoko" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "Nykyisestä sivusta" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "Etsi kirjoittamalla" + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "Kaikki tiedostot (*)" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "Allekirjoitusvaraus (allekirjoita napsauttamalla)" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "&Allekirjoita…" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "Allekirjoituksen ominaisuudet" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "Haun valinnat" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "Huomioi kirjainkoko" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "Toistuva esiinyminen" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "Tasot" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "/" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "Lähennys" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "Sovita 100 %" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "Kierrä &oikealle" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "Oikea" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "Kierrä &vasemmalle" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "Vasen" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "Alkuperäinen suunta" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "&Näkymän rajaus" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "Ra&jaa reunukset" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "Rajaa &valintaan" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "Sovita &leveyteen" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "Sovita &sivu" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "&Automaattisovitus" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "Sovi&ta ikkuna sivuun" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "L&ukutila" + +#: part/pageview.cpp:594 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "Yks&ittäinen sivu" + +# Tämä on tyhmä asetus: aukeaman kaltainen mutta vasemmalla puolella on pariton sivu +#: part/pageview.cpp:595 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "&Vastakkaiset sivut" + +# Tämä on parempi asetus kuin ”Facing Pages”: pariton sivu vasemmalle, ensimmäinen (pariton) sivu yksin keskitettynä +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "Vastakkais&et sivut (keskitä ensimmäinen sivu)" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "&Yleiskuva" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "&Jatkuva" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "Käytä lukusuuntaa oikealta vasemmalle" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "&Selaa" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "&Lähennä" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "&Alueen valinta" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "&Tekstivalinta" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "&Taulukkovalinta" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "Suu&rennuslasi" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "Valintatyökalut" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "Allekirjoita &digitaalisesti…" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "Lue koko tiedosto ääneen" + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "Lue tältä sivulta" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "Lue tämä sivu ääneen" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "Lopeta lukeminen" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "Tauko/Jatka puhumista" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "Vieritä ylös" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Vieritä alas" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "Vieritä sivua ylös" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "Vieritä sivua alas" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "Näytä lomakkeet" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] " Avattiin yhden sivun tiedosto." +msgstr[1] " Avattiin %1 sivun tiedosto." + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "Kopioi taulukon sisältö leikepöydälle" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "Teksti (1 merkki)" +msgstr[1] "Teksti (%1 merkkiä)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "Kopioi leikepöydälle" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "Puhu teksti" + +#: part/pageview.cpp:2863 +#, kde-format +msgid "Image (%1 × %2 pixels)" +msgstr "Kuva (%1 × %2 kuvapistettä)" + +#: part/pageview.cpp:2865 +#, kde-format +msgid "Save to File…" +msgstr "Tallenna tiedostoon…" + +#: part/pageview.cpp:2885 +#, kde-format +msgid "Image [%1 × %2] copied to clipboard." +msgstr "Kuva [%1 × %2] kopioitiin leikepöydälle." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "Tallenna tiedosto" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "Kuvat (*.png *.jpeg)" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "Tiedostoa ei tallennettu." + +#: part/pageview.cpp:2901 +#, kde-format +msgid "Image [%1 × %2] saved to %3 file." +msgstr "Kuva [%1×%2] tallennettiin tiedostoon %3." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "Kopioi teksti" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "Siirry osoitteeseen %1" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "Sovita leveyteen" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "Sovita sivu" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "Automaattisovitus" + +#: part/pageview.cpp:4107 +#, kde-format +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1 %" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "Etsi ”%1” hakukoneella" + +#: part/pageview.cpp:4404 +#, kde-format +msgid "Configure Web Shortcuts…" +msgstr "WWW-pikavalintojen asetukset…" + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "Seuraa tätä linkkiä" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "Toista tämä ääni" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "Pysäytä ääni" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "Kopioi linkin osoite" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "Etsi ”%1” tästä tiedostosta" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Tervetuloa" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "Valitse lähennysalue. Loitonna hiiren oikealla painikkeella." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "Napsauta nähdäksesi suurennetun alueen." + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "Kopioi tekstiä tai grafiikkaa valitsemalla ne." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "Valitse teksti" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" +"Piirrä suorakulmio taulukon ympärille, ja jaa se sitten sarakkeisiin " +"napsauttamalla lähellä reunoja. Poista valinta painamalla Esc." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" +"Kaikki allekirjoitusvarmenteet ovat virheellisiä. Jos allekirjoittaminen on " +"aiemmin toiminut, tarkista niiden kelpoisuuspäiväykset." + +#: part/pageview.cpp:5188 +#, kde-format +msgid "No valid certificates" +msgstr "Ei kelvollisia varmenteita" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, kde-format +msgid "Open Certificate Manager" +msgstr "Avaa varmenteiden hallinta" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
Launch Certificate Manager " +"to import or manage certificates
For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" +"Allekirjoitusvarmenteita ei ole saatavilla.
Tuo tai hallinnoi " +"varmenteita käynnistämällä varmenteiden hallinta
Lisätietoa löytyy " +"käyttöoppaan osiosta Digitaalisten allekirjoitusten " +"lisääminen." + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, kde-format +msgid "No certificates found" +msgstr "Varmenteita ei löytynyt" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" +"Allekirjoitusvarmenteita ei ole saatavilla.
Lisätietoa löytyy " +"käyttöoppaan osiosta Digitaalisten allekirjoitusten " +"lisääminen." + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" +"Muutoksia on tallentamatta. Tallenna tiedosto ennen sen allekirjoitusta." + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "Piirrä nelikulmio allekirjoituskenttää varten" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "Piirrä suorakaide sivualueen ympärille, jonka haluat pitää näkyvissä" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "Uusi muistiinpano" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "Uuden muistiinpanon teksti:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Allekirjoittanut: %1\n" +"\n" +"Päiväys: %2" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" +"Tämän kokoinen allekirjoitus olisi liian pieni luettavaksi. Jos haluat " +"luettavamman allekirjoituksen, napsauta ”Käynnistä alusta” ja piirrä " +"suurempi nelikulmio." + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "Aloita alusta" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "Allekirjoita" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name" +msgstr "Tekijän nimi" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name for the annotation:" +msgstr "Tekijän nimi merkinnälle:" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "Piirrä soikio (valitse alue hiirellä)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "Korosta tekstiä" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "Piirrä viiva vapaalla kädellä" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "Tekstin kommentointi riveille (valitse alue hiirellä)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "Sijoita ponnahdusmuistiinpano" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "Piirrä monikulmio (lopeta napsauttamalla alkupistettä)" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "Piirrä suorakulmio" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "Tekstin koukeroinen alleviivaus" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "Leimaa" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "Piirrä suora viiva" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "Tekstin yliviivaus" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "Tekstin alleviivaus" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "Kirjoituskonemerkintä (valitse alue vetämällä)" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "Korostuskynä" + +# Tekstiä käytetään viestien ”Undo %1” ja ”Redo %1” yhteydessä. +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "Lisää suosikkimerkintä" + +# Tekstiä käytetään viestien ”Undo %1” ja ”Redo %1” yhteydessä. +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Custom annotation name:" +msgstr "Merkinnän mukautettu nimi:" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&Tiedosto" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "&Asetukset" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "O&hje" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "&Suunta" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "&Kirjanmerkit" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "Katselintyökalurivi" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Pienoiskuvat" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "Merkinnät" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" +"Tiedosto sisältää merkintöjä tai lomakkeita, jotka on tallennettu sisäisesti " +"Okularin aiemmalla versiolla. Sisäistä tallennusta ei enää tueta.
Tallenna tiedosto siirtääksesi nämä osat, jos haluat jatkaa tiedoston " +"muokkausta." + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"Tiedostoon on upotettu muita tiedostoja. Katso upotetut tiedostot napsauttamalla tästä tai valitsemalla " +"Tiedosto → Upotetut tiedostot." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" +"Allekirjoittaminen meneillään. Allekirjoituksen sijaintia ja kokoa voi säätää" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "Viimeistele allekirjoitus" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "Edellinen" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "Siirry edelliselle sivulle" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "Siirtyy tiedoston edelliselle sivulle" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "Seuraava" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "Siirry seuraavalle sivulle" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "Siirtyy tiedoston seuraavalle sivulle" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "Tiedoston alkuun" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "Siirtyy tiedoston alkuun" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "Tiedoston loppuun" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "Siirtyy tiedoston loppuun" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "Muuta nykyisen kirjanmerkin nimeä" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "Edellinen kirjanmerkki" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "Siirry edelliseen kirjanmerkkiin" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "Seuraava kirjanmerkki" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "Siirry seuraavaan kirjanmerkkiin" + +#: part/part.cpp:748 +#, kde-format +msgid "Configure Okular…" +msgstr "Okularin asetukset…" + +#: part/part.cpp:751 +#, kde-format +msgid "Configure Viewer…" +msgstr "Katselimen asetukset…" + +#: part/part.cpp:757 +#, kde-format +msgid "Configure Viewer Backends…" +msgstr "Katselimen taustajärjestelmien asetukset…" + +#: part/part.cpp:759 +#, kde-format +msgid "Configure Backends…" +msgstr "Taustajärjestelmien asetukset…" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "Tietoa taustaosasta" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "Avaa uu&destaan" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "Avaa tiedosto levyltä uudelleen…" + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "Sulje &hakurivi" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "Sivunumero" + +#: part/part.cpp:817 +#, kde-format +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "Väritila-asetukset…" + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "Valitse sivun kaikki teksti" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "Näytä si&vupalkki" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "Näytä &sivurivi" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "Näytä &allekirjoituspaneeli" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "&Upotetut tiedostot" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "&Vie muodossa" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "&Jaa" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "E&sitys" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "Avaa yläkansio" + +#: part/part.cpp:945 +#, kde-format +msgid "&Import PostScript as PDF…" +msgstr "Tuo &Postscript PDF:ksi…" + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "Vaihda mustaan ruutuun" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "Poista piirrokset" + +#: part/part.cpp:962 +#, kde-format +msgid "Configure Annotations…" +msgstr "Merkintäasetukset…" + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "Jatka/keskeytä esitys" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" +"Avointa tiedostoa on muutettu, mutta tällaista tiedostoa ei voida " +"tallentaa.\n" +"Okularin sulkeutuessa muutokset menetetään." + +#: part/part.cpp:1123 +#, kde-format +msgid "Document can't be saved" +msgstr "Tiedostoa ei voi tallentaa" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "Ei voitu avata: ”%1” (%2) " + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "Tiedoston %1 avaaminen peruttiin." + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "Tiedostoa %1 ei voitu avata. Syy: %2." + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "Katselimen taustaosien asetukset" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "Taustaosa-asetukset" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"ps2pdf ei-ohjelma löytynyt, joten Okular ei voi käyttää sitä Postscript-" +"tiedostojen tuontiin." + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "ps2pdf-ohjelmaa ei löytynyt" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "Postscript-tiedostot (%1)" + +#: part/part.cpp:1357 +#, kde-format +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "Tuodaan Postscript-tiedostoa PDF:ksi (voi kestää hetken)…" + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "Syötä tiedoston lukemiseen vaadittava salasana:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "Salasana on väärin. Yritä uudelleen:" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "Tiedoston salasana" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "Tiedostossa on XFA-lomakkeita, joita ei toistaiseksi tueta." + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"Tiedostossa on lomakkeita. Käytä niitä napsauttamalla painiketta tai " +"valitsemalla Näytä → Näytä lomakkeet." + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" +"Kaikki muokkaus- ja vuorovaikutteiset ominaisuudet on poistettu käytöstä. " +"Muokataksesi tiedostoa tallenna siitä kopio ja avaa se." + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "Tiedosto haluaa tulla esitetyksi koko näytöllä." + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "Pyyntö näyttötilan muuttamiseksi" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "Siirry esitystilaan" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "Hylkää pyyntö" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "Ei voitu avata: ”%1”. (%2)" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" +"Tiedostossa %1 on tallentamattomia muutoksia, mutta " +"toinen ohjelma on muuttanut sitä. Uudelleenlataus korvaa tallentamattomat " +"muutokset toisen ohjelman tekemillä.Haluatko jatkaa tiedoston " +"lataamista uudelleen?" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "Tiedosto on muuttunut" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "Jatka uudelleenavausta" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "Keskeytä uudeelleenavaus" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" +"Tiedostossa %1 on tallentamattomia muutoksia, mutta " +"toinen ohjelma on muuttanut sitä. Sulkeminen korvaa tallentamattomat " +"muutokset toisen ohjelman tekemillä.Haluatko jatkaa tiedoston " +"sulkemista?" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "Sulje tiedosto" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "Peru sulkeminen" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "Haluako tallentaa vai hylätä tiedoston ”%1” muutokset?" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "Sulje tiedosto" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"Tämä linkki osoittaa tiedoston sulkemistoimintoon, joka ei toimi upotetussa " +"katselimessa." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"Tämä linkki osoittaa sovelluksen lopetustoimintoon, joka ei se toimi " +"upotetussa katselimessa." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, kde-format +msgid "Reloading the document…" +msgstr "Avataan tiedostoa uudelleen…" + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "Sisältö" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "Allekirjoitukset" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Siirry sivulle" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "&Sivu:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "Anna uudelle kirjanmerkille nimi:" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "Muuta tämän kirjanmerkin nimeä" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "Poista tämä kirjanmerkki" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "Tallenna nimellä" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" +"Yrität tallentaa Okular-arkistoa niin, ettei tiedostonimi pääty ”%1”-" +"päätteeseen. Tätä ei sallita. Haluatko valita uuden nimen?" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "Ei-tuettu laajennus" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "Valitse uusi nimi" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" +"Toinen ohjelma on muuttanut tiedostoa %1. Jos tallennat " +"nyt, toisen ohjelman tekemät muutokset menetetään. Haluatko varmasti jatkaa?" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "Tallennus – Varoitus" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "Tallenna kopio toisaalle" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
Do you want to continue?" +msgstr "" +"Tiedosto on suojattu salasanalla.
Tiedosto on sen tallentamiseksi " +"avattava uudelleen. Salasanaa kysytään toistamiseen ja kumoamishistoria " +"menetetään.
Haluatko jatkaa?" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "Väliaikaistiedostoa tiedoston tallentamiseksi ei voitu avata." + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" +"Tiedostoa %1 ei voi korvata, koska se on vain " +"luettavissa. Yritä tallentaa muualle tai muuttaa tiedoston käyttöoikeuksia." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
Do you want to continue?" +msgstr "" +"Tallennuksen jälkeen nykyinen tiedostomuoto vaatii avaamaan tiedoston " +"uudelleen. Kumoamishistoria menetetään.
Haluatko jatkaa?" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "" +"Tiedostoa ei voi tallentaa kohteeseen ”%1”. Yritä tallentaa se muualle." + +# Tekstiä käytetään viestien ”Undo %1” ja ”Redo %1” yhteydessä. +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "lomakkeen sisältö" + +# Tekstiä käytetään viestien ”Undo %1” ja ”Redo %1” yhteydessä. +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "käyttäjän merkinnät" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" +"Olet tallentamassa muutoksia, mutta nykyinen tiedostomuoto ei tue seuraavien " +"elementtien tallennusta. Säilyttääksesi ne käytä Okularin " +"tiedostoarkisto -muotoa." + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "Varoitus" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "Tallenna Okularin tiedostoarkistoksi…" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" +"Olet tallentamassa muutoksia, mutta nykyinen tiedostomuoto ei tue seuraavien " +"elementtien tallentamista. Säilyttääksesi ne käytä Okularin " +"tiedostoarkisto -muotoa. Tallenna tiedosto nämä elementit hyläten " +"napsauttamalla Jatka." + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" +"Olet tallentamassa muutoksia, mutta nykyinen tiedostomuoto ei tue seuraavien " +"elementtien tallentamista. Säilyttääksesi ne käytä Okularin " +"tiedostoarkisto -muotoa. Tallenna napsauttamalla Jatka, jolloin " +"nämä elementit samoin kuin kumoamishistoriasi hylätään." + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "Jatka" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "Jatka muutokset menettäen" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "Tiedostoa ei voi tallentaa kohteeseen ”%1”. %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"Okular ei voi kopioida tiedostoa %1 määritettyyn paikkaan.\n" +"\n" +"Tiedostoa ei ole enää olemassa." + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" +"Tiedostoa ei voi tallentaa kohteeseen ”%1”. Virhe: %2. Yritä tallentaa se " +"muualle." + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "Expand whole section" +msgid "Expand Whole Section" +msgstr "Laajenna koko osio" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "Collapse whole section" +msgid "Collapse Whole Section" +msgstr "Supista koko osio" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "Synkronoi pienoiskuva sivuun" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Työkalut" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "Puhu" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "Tulosta" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "Tämän tiedoston tulostamista ei ole sallittu." + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"Tiedoston tulostaminen epäonnistui. Tuntematon virhe. Ilmoita tästä bugs.kde." +"org-palveluun." + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"Tiedoston tulostaminen epäonnistui. Yksityiskohtainen virhe on ”%1”. Ilmoita " +"tästä bugs.kde.org-palveluun." + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "Mene paikkaan, jossa olit aiemmin" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "Mene paikkaan, jossa olit myöhemmin" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"Tiedostovirhe! Väliaikaistiedostoa %1 ei voitu luoda." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"Tiedostovirhe! Tiedostoa %1 ei voitu avata pakkauksen purkamiseksi. Tiedostoa ei avata." + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"Tämä virhe esiintyy useimmiten, kun käyttöoikeudet eivät riitä tiedoston " +"lukemiseen. Omistajan ja käyttöoikeudet voi tarkistaa napsauttamalla " +"tiedostoa hiiren oikealla painikkeella Dolphin-tiedostonhallinnassa ja " +"valitsemalla Ominaisuudet → Käyttöoikeudet." + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded.
" +msgstr "" +"Tiedostovirhe! Tiedoston %1 pakkausta ei voitu purkaa. Tiedostoa ei avata." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"Tämä virhe esiintyy yleensä, kun tiedosto on vioittunut. Jos haluat olla " +"varma asiasta, yritää purkaa tiedosto käsin käyttäen komentorivityökaluja." + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "Ei kirjanmerkkejä" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "Tiedoston jakamisessa ilmeni ongelma: %1" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "Jaa" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "Tiedoston jakaminen onnistui" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "Löydät jaetun tiedoston osoitteesta: %1" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "&Muokkaa" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "&Näytä" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&Siirry" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "&Työkalut" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "Päätyökalurivi" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "Merkintätyökalurivi" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, kde-format +msgid "Quick Annotation Toolbar" +msgstr "Pikamerkintätyökalurivi" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "Yleiset" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Esteettömyys" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "Lukemisen esteettömyys" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Suorituskyky" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "Suorituskykyasetukset" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "Asiakirjakatselimen asetukset" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Esitys" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "Esitysasetukset" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "Merkintäasetukset" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "Muokkain" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "Muokkauksen asetukset" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" +"Komentorivillä asetettiin muokkaimeksi\n" +" %1\n" +"Jos haluat käyttää asetusta, käynnistä Okular valitsimella --editor-cmd" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "Etsi seuraava" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 – Esitys" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "Vaihda näyttöä" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "Näyttö: %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "Poistu esitystilasta" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Otsikko: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Sivuja: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "Aloita napsauttamalla" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "Keskeytä" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "Jatka" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"Esitystilasta voi poistua kahdella eri tavalla: joko painamalla Esc-" +"näppäintä tai napsauttamalla Lopeta-painiketta, joka ilmaantuu kun viet " +"hiiren osoittimen ruudun oikeaan yläkulmaan. Ikkunoiden vaihto toimii " +"normaalisti (oletuksena Alt+Sarkain)." + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "Esityksen esittäminen" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "Tuntematon tiedosto" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "%1 Ominaisuudet" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "&Fontit" + +#: part/propertiesdialog.cpp:145 +#, kde-format +msgid "Reading font information…" +msgstr "Luetaan fonttitietoa…" + +#: part/propertiesdialog.cpp:158 +#, kde-format +msgid "&Page Sizes" +msgstr "Sivuk&oot" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "&Poimi fontti" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Tyyppi 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Tyyppi 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "Tyyppi 1C (OT)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Tyyppi 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType (OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID Tyyppi 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID Tyyppi 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID Tyyppi 0C (OT)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType (OT)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "TeX PK" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "TeX virtuaalinen" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "TeX Font Metric" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "TeX FreeTypen käsittelemä" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "Tuntematon" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "Upotettu (osin)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "Täysin upotettu" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "Ei" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "Kyllä (osin)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "Kyllä" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "%1 (korvataan: %2)" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "[ei ilm.]" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "Tuntematon fontti" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "Upotettu: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "Nimi" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "Tyyppi" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "Tiedosto" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "Sivu" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "Koko" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "Version esikatselu" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "Minne haluat tallentaa tämän version?" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "Tiedostoa %1 ei voitu tallentaa." + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "Versiota ei voi katsella" + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "Suodata sivuja syöttämällä vähintään kolme kirjainta" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "Huomioi merkkikoko" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "Koko lauseke" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "Kaikki sanat" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "Mikä tahansa sana" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "Hakuasetukset" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, kde-format +msgid "Certificates" +msgstr "Varmenteet" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "Valitse varmenne, jolla allekirjoitetaan:" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "Kaikki" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, kde-format +msgid "Only QES certificates" +msgstr "Vain QES-varmenteet" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "Vain PGP-avaimet" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "Syy:" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, kde-format +msgid "optional" +msgstr "valinnainen" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "Sijainti:" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, kde-format +msgid "Background:" +msgstr "Tausta:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "Valitse…" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, kde-format +msgid "Recent backgrounds:" +msgstr "Viimeaikaiset taustat:" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

No annotations

To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
" +msgstr "" +"

Ei merkintöjä

Uusia merkintöjä voi kirjoittaa " +"painamalla F6 tai valitsemalla valikosta Työkalut → Merkinnät.
" + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "Ryhmitä sivuittain" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "Ryhmitä kirjoittajittain" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "Näytä merkinnät vain nykyiseltä sivulta" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "Laajenna kaikki alkiot" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "Supista kaikki alkiot" + +# &-merkki o-kirjaimessa meni OK-painikkeen o:n kanssa päällekkäin. +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "Ominaisuudet" + +#: part/signaturepartutils.cpp:180 +#, kde-format +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Kuvat (%1)" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "Valitse taustakuva" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "Unohda kuva" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "Unohda kaikki kuvat" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "Avaa varmenteen %1 lukitus antamalla (mahdollinen) salasana" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "Anna varmenteen salasana" + +#: part/signaturepartutils.cpp:244 +#, kde-format +msgid "Enter document password" +msgstr "Anna tiedoston salasana" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "Tallenna allekirjoitettu tiedosto nimellä" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "%1_allekirjoitettu.%2" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "Kelpoisuuden tila" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "Allekirjoituksen kelpoisuus:" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "Tiedoston muutokset:" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "Lisätiedot" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "Allekirjoittanut:" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "Allekirjoitettu:" + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "Tiedostoversio" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Tiedoston versio %1/%2" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "Näytä allekirjoitettu versio…" + +#: part/signaturepropertiesdialog.cpp:95 +#, kde-format +msgid "View Certificate…" +msgstr "Näytä varmenne…" + +#: part/signaturepropertiesdialog.cpp:97 +#, kde-format +msgid "View in Certificate Manager" +msgstr "Näytä varmenteenhallinnassa" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "KDE:n varmenteenhallintaa (Kleopatra) ei löytynyt" + +# Wikipedia ei varsinaisesti auta ratkaisemaan sananvalintaa: ”A qualified electronic signature is an electronic signature that is compliant with EU Regulation No 910/2014 (eIDAS Regulation) for electronic transactions within the internal European market.” +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "Pätevät" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "PGP" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "Näytä vain kirjainmerkein merkityt sivut" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "Toista" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Tauko" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "Pysäytä" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "Tämä Okular ei tue videoita" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "Tämä Okular ei tue videoita" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "L&isää…" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, kde-format +msgid "&Edit…" +msgstr "&Muokkaa…" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "&Poista" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "Siirrä &ylemmäs" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "Siirrä &alemmas" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "Oletuspiirrostyökalu #%1" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "Sen niminen työkalu on jo olemassa. Käytetään oletusnimeä" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "Toistuva nimi" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "Näytettävä tiedoston sivu" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "Aloita tiedosto esitystilassa" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "Käynnistä tulostusikkuna auki" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "Käynnistä tulostusikkunaan ja lopeta tulostuksen jälkeen" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "\"Vain yksi instanssi\" -ohjaus" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "Älä nosta ikkunaa" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "Etsi tekstistä merkkijonoa" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "Asettaa ulkoisen muokkainkomennon" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "Avattavat tiedostot. ”-” lukee vakiosyötettä." + +# *** TARKISTA: Mitä ”unique” tässä tarkoittaa? +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" +"Muokkainkomentoa ei voi asettaa jo käynnissä olevaan Okulariin. Poista " +"välilehdet käytöstä ja yritä uudelleen. Myöskään ainutkertaisuutta ei tueta " +"asetettaessa muokkainkomento komentorivillä.\n" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "Virhe: --unique-valitsimella voi avata vain yhden tiedoston" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "Virhe: --presentation-valitsimella voi avata vain yhden tiedoston" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "Virhe: --print-valitsimella voi avata vain yhden tiedoston" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "Virhe: --page-valitsimella voi avata vain yhden tiedoston" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "Virhe: --find-valitsimella ei voi avata yhtä useampaa tiedostoa" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "Okular-komponenttia ei löytynyt: %1" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "Sivupalkki" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" +"Ainutkertainen Okularin instanssi on jo käynnissä. Tämä instanssi ei ole " +"ainutkertainen." + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "Okular-komponenttia ei löytynyt." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"Napsauta avataksesi tiedosto\n" +"Napsauta ja pidä painike alhaalla avataksesi viimeaikaisen tiedoston" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"Napsauta avataksesi tiedoston tai Napsauta ja pidä painettuna " +"valitaksesi viimeaikaisen tiedoston" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "Seuraava välilehti" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "Edellinen välilehti" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "Kumoa välilehden sulkeminen" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "Lukitse sivupalkki" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "Kaikki tiedostot (*)" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "Kaikki tuetut tiedostot (%1)" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "Avaa tiedosto" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "Vahvista sulkeminen" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "Sulje välilehdet" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "Olet sulkemassa %1 välilehteä. Haluatko varmasti jatkaa?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "Varoita suljettaessa useampia välilehtiä" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "&Kopioi sijainti" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "Avaa &yläkansio" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "&Unohda tämä kohde" + +#: shell/welcomescreen.cpp:137 +#, kde-format +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "Ei viimeaikaisia tiedostoja" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "Tervetuloa Okulariin" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Avaa tiedosto…" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, kde-format +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Viimeaikaiset tiedostot" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "Unohda kaikki" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "Piilota tervetulonäyttö" + +#~ msgid "Geometry with Comment" +#~ msgstr "Sivuasetukset huomautuksella" + +#~ msgid "Geometry" +#~ msgstr "Sivuasetukset" + +#~ msgctxt "Annotation type: contents" +#~ msgid "%1: %2" +#~ msgstr "%1: %2" + +#~ msgid "Modified: %1" +#~ msgstr "Muutettu: %1" + +#~ msgid "Find..." +#~ msgstr "Etsi…" + +#~ msgid "Go To Page..." +#~ msgstr "Siirry sivulle…" + +#~ msgid "Play movie..." +#~ msgstr "Toista elokuva…" + +#~ msgid "Search..." +#~ msgstr "Etsi…" + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "Tallenna nimellä…" + +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "&Näytä…" + +#~ msgid "&Sign..." +#~ msgstr "&Allekirjoita…" + +#~ msgid "Configure Viewer..." +#~ msgstr "Asiakirjakatselimen asetukset…" + +#~ msgid "Configure Viewer Backends..." +#~ msgstr "Katselintaustaosien asetukset…" + +#~ msgid "Configure Backends..." +#~ msgstr "Taustaosa-asetukset…" + +#~ msgid "&Add..." +#~ msgstr "&Lisää…" + +#~ msgid "&Edit..." +#~ msgstr "&Muokkaa…" + +#~ msgctxt "%1 is a file path" +#~ msgid "" +#~ "Could not sign. Invalid certificate password or could not write to '%1'" +#~ msgstr "" +#~ "Ei voitu allekirjoittaa. Varmennesalasana oli virheellinen tai tiedostoon " +#~ "”%1” ei voitu kirjoittaa." + +#, fuzzy +#~| msgid "" +#~| "All your signing certificates are either not valid yet or are past their " +#~| "validity date." +#~ msgid "All your signing certificates are invalid" +#~ msgstr "" +#~ "Kaikki allekirjoitusvarmenteet eivät joko ole vielä voimassa tai ovat jo " +#~ "vanhentuneet." + +# Jösses! +#~ msgid "Unsigned Signature %1" +#~ msgstr "Allekirjoittamaton allekirjoitus %1" + +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "Tuntematon" + +# Jösses! +#~ msgctxt "Signature type" +#~ msgid "Unsigned signature" +#~ msgstr "Allekirjoittamaton allekirjoitus" + +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr " %" + +#~ msgctxt "Spinbox prefix: Advance automatically: every n seconds" +#~ msgid "every " +#~ msgstr "joka " + +#~ msgctxt "Suffix for the pen width, eg '10 px'" +#~ msgid " px" +#~ msgstr " px" + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " %" + +#, fuzzy +#~| msgctxt "%1 is a file path" +#~| msgid "" +#~| "Could not sign. Invalid certificate password or could not write to '%1'" +#~ msgctxt "%1 is a file path" +#~ msgid "Could not sign. Could not write to '%1'" +#~ msgstr "" +#~ "Ei voitu allekirjoittaa. Varmennesalasana oli virheellinen tai tiedostoon " +#~ "”%1” ei voitu kirjoittaa." + +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr " %" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "Sovita leveyteen" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "Sovita sivu" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Auto Fit" +#~ msgstr "Automaattisovitus" + +#~ msgid "*|All Files" +#~ msgstr "*|Kaikki tiedostot" + +#~ msgid "Missing alert type" +#~ msgstr "Hälytystyyppi puuttuu" + +#~ msgid "" +#~ "The file '%1' has been modified by another program, which means it can no " +#~ "longer be saved." +#~ msgstr "" +#~ "Toinen ohjelma on muuttanut tiedostoa ”%1” eikä sitä voi enää tallentaa." + +#~ msgid "Show Sidebar" +#~ msgstr "Näytä sivupalkki" + +#~ msgctxt "@info" +#~ msgid "" +#~ "experimental feature.Stamps inserted in PDF documents are " +#~ "not visible in PDF readers other than Okular." +#~ msgstr "" +#~ "Kokeellinen ominaisuus.PDF-tiedostoon lisätyt leimat eivät " +#~ "näy muissa PDF-katselimissa kuin Okularissa." + +#~ msgctxt "@info" +#~ msgid "" +#~ "The version of the Poppler library this Okular was compiled with does not " +#~ "support signing documents with passwords. Please ask your provider to " +#~ "update it to 22.02 or later." +#~ msgstr "" +#~ "Tämä Okular on koostettu Poppler-kirjastolla, joka ei tue tiedostojen " +#~ "allekirjoittamista salasanalla. Pyydä ylläpitoa päivittämään se versioon " +#~ "22.02 tai uudempaan." + +#~ msgctxt "@title:window" +#~ msgid "Poppler library is too old" +#~ msgstr "Poppler-kirjasto on liian vanha" + +#~ msgctxt "@info" +#~ msgid "" +#~ "Stamps inserted in PDF documents are not visible in PDF readers other " +#~ "than Okular" +#~ msgstr "" +#~ "PDF-tiedostoon lisätyt leimat eivät näy muissa PDF-katselimissa kuin " +#~ "Okularissa" + +#~ msgctxt "@title:window" +#~ msgid "Experimental feature" +#~ msgstr "Kokeellinen ominaisuus" + +#~ msgid "Remove Bookmarks" +#~ msgstr "Poista kirjanmerkit" + +#, fuzzy +#~| msgid "&Annotations" +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "&Merkinnät" + +#, fuzzy +#~| msgid "Highlight" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "Korostus" + +#, fuzzy +#~| msgid "Underline" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Underline" +#~ msgstr "Alleviivaus" + +#, fuzzy +#~| msgid "Squiggle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Squiggle" +#~ msgstr "Koukeroinen alleviivaus" + +#, fuzzy +#~| msgid "Strike Out" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Strike Out" +#~ msgstr "Yliviivaus" + +#, fuzzy +#~| msgid "Insert Text" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "Lisää tekstiä" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "Tekstinsisäinen muistiinpano" + +#, fuzzy +#~| msgctxt "@action:intoolbar Annotation tool" +#~| msgid "Popup Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "Ponnahdusmuistiinpano" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a freehand line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Freehand Line" +#~ msgstr "Piirrä viiva vapaalla kädellä" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a straight line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Straight line" +#~ msgstr "Piirrä suora viiva" + +#, fuzzy +#~| msgid "Arrow" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Arrow" +#~ msgstr "Nuoli" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a rectangle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Rectangle" +#~ msgstr "Piirrä suorakulmio" + +#, fuzzy +#~| msgid "Cyan Ellipse" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Ellipse" +#~ msgstr "Syaani ellipsi" + +#, fuzzy +#~| msgid "Polygon" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Polygon" +#~ msgstr "Monikulmio" + +#, fuzzy +#~| msgid "Highlighter" +#~ msgid "Highlight in Yellow" +#~ msgstr "Korostuskynä" + +#, fuzzy +#~| msgid "Highlight with Comment" +#~ msgid "Highlight in Green" +#~ msgstr "Korostus huomautuksella" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgid "Insert Inline Note" +#~ msgstr "Tekstinsisäinen muistiinpano" + +#, fuzzy +#~| msgctxt "@action:intoolbar Annotation tool" +#~| msgid "Popup Note" +#~ msgid "Insert Popup Note" +#~ msgstr "Ponnahdusmuistiinpano" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "Valitse teksti" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "Valitse teksti" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "Valitse teksti" + +#, fuzzy +#~| msgid "&Magnifier" +#~ msgctxt "verb" +#~ msgid "&Magnify" +#~ msgstr "Suu&rennuslasi" + +# Tekstiä käytetään viestien ”Undo %1” ja ”Redo %1” yhteydessä. +#~ msgid "Bookmark annotation" +#~ msgstr "Kirjanmerkkimerkintä" + +#~ msgid "&Toggle Change Colors" +#~ msgstr "&Värien muuttaminen käytössä/ei käytössä" + +#, fuzzy +#~| msgid "Enable transitions" +#~ msgctxt "@option:check Config dialog, presentation page, transitions" +#~ msgid "Enable transitions" +#~ msgstr "Salli siirtymät" + +#, fuzzy +#~| msgid "Advance every:" +#~ msgctxt "@label:spinbox Config dialog, presentation page" +#~ msgid "Advance every:" +#~ msgstr "Etene:" + +#, fuzzy +#~| msgid "Use custom background color" +#~ msgctxt "@label:listbox Config dialog, general page" +#~ msgid "Custom background color:" +#~ msgstr "Aseta oma taustaväri" + +#~ msgid "Draw border around &Images" +#~ msgstr "Piirrä &kuville kehykset" + +#~ msgid "Speech" +#~ msgstr "Puhe" + +#~ msgid "Engine" +#~ msgstr "Moottori" + +#~ msgid "Identity" +#~ msgstr "Tunnistus" + +#~ msgid "Au&thor:" +#~ msgstr "&Tekijä:" + +#~ msgid "View Options" +#~ msgstr "Katseluasetukset" + +#~ msgctxt "@info:whatsthis" +#~ msgid "" +#~ "Defines the default zoom mode for files which were never opened before.\n" +#~ "For files which were opened before the previous zoom is applied." +#~ msgstr "" +#~ "Määrittää lähennyksen oletusarvon aiemmin avaamattomille tiedostoille.\n" +#~ "Jo avattuihin tiedostoihin käytetään edelliskerran asetusta." + +#~ msgid "Navigation" +#~ msgstr "Selaus" + +#~ msgid "Placement" +#~ msgstr "Sijoitus" + +#~ msgid "Screen:" +#~ msgstr "Näyttö:" + +#~ msgid "Drawing Tool Configuration" +#~ msgstr "Piirrostyökalun asetukset" + +#~ msgid "&Get Books From Internet..." +#~ msgstr "&Etsi verkosta kirjoja…" + +#~ msgid "Reviews" +#~ msgstr "Tarkastelut" + +#~ msgctxt "@item:inlistbox Color name" +#~ msgid "%1" +#~ msgstr "%1" + +#~ msgid "Hide Forms" +#~ msgstr "Piilota lomakkeet" + +#~ msgid "&Review" +#~ msgstr "&Tarkastele" + +#~ msgid "Annotations author" +#~ msgstr "Merkintöjen tekijä" + +#~ msgid "Please insert your name or initials:" +#~ msgstr "Lisää nimesi tai nimikirjaimesi:" + +#~ msgid "Show &Navigation Panel" +#~ msgstr "Näytä &navigointipaneeli" + +#~ msgid "Show Text" +#~ msgstr "Näytä teksti" + +#~ msgid "Small Icons" +#~ msgstr "Pienet kuvakkeet" + +#~ msgid "Large Icons" +#~ msgstr "Suuret kuvakkeet" + +#~ msgid "" +#~ "Click to use the current selection tool\n" +#~ "Click on the arrow to choose another selection tool" +#~ msgstr "" +#~ "Käytä nykyistä valintatyökalua napsauttamalla.\n" +#~ "Vaihda valintatyökalua napsauttamalla nuolta" + +#~ msgid "Created: %1" +#~ msgstr "Luotu: %1" + +#~ msgid "Style" +#~ msgstr "Tyyli" + +#~ msgid "&Size:" +#~ msgstr "&Koko" + +#~ msgid "Inner color:" +#~ msgstr "Sisäväri:" + +#~ msgid "Name: %1" +#~ msgstr "Nimi: %1" + +#~ msgid "Size: %1" +#~ msgstr "Koko: %1" + +#~ msgid "&Browse Tool" +#~ msgstr "&Selaustyökalu" + +#~ msgid "&Zoom Tool" +#~ msgstr "&Suurennustyökalu" + +#~ msgctxt "Zoom Tool" +#~ msgid "Zoom" +#~ msgstr "Suurennus" + +#~ msgctxt "Select Tool" +#~ msgid "Selection" +#~ msgstr "Valinta" + +#~ msgid "&Text Selection Tool" +#~ msgstr "&Tekstinvalintatyökalu" + +#~ msgid "T&able Selection Tool" +#~ msgstr "T&aulukonvalintatyökalu" + +#, fuzzy +#~| msgid "None" +#~ msgid " None" +#~ msgstr "Ei mitään" + +#~ msgid "" +#~ "The document requested to be launched in presentation mode.\n" +#~ "Do you want to allow it?" +#~ msgstr "" +#~ "Tiedosto on asetettu avattavaksi esitystilassa.\n" +#~ "Sallitaanko tämä?" + +#~ msgid "Presentation Mode" +#~ msgstr "Esitystila" + +#~ msgid "Allow the presentation mode" +#~ msgstr "Salli esitystila" + +#~ msgid "Do Not Allow" +#~ msgstr "Älä salli" + +#~ msgid "Do not allow the presentation mode" +#~ msgstr "Älä salli esitystilaa" + +#~ msgid "" +#~ "Your annotation changes will not be saved automatically. Use File -> Save " +#~ "As...\n" +#~ "or your changes will be lost once the document is closed" +#~ msgstr "" +#~ "Merkintöjen muutoksia ei tallenneta automaattisesti. Valitse Tiedosto → " +#~ "Tallenna nimellä… tai muutokset menetetään, kun tiedosto suljetaan." + +#~ msgid "" +#~ "Your annotations are saved internally by Okular.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" +#~ msgstr "" +#~ "Voit viedä merkityn tiedoston valitsemalla Tiedosto → Vie muodossa → " +#~ "Tiedostoarkisto" + +#~ msgid "Save &Copy As..." +#~ msgstr "Tallenna &kopio nimellä…" + +#~ msgid "" +#~ "Your annotations will not be exported.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" +#~ msgstr "" +#~ "Merkintöjä ei viedä.\n" +#~ "Voit viedä merkityn tiedoston valitsemalla Tiedosto → Vie muodossa → " +#~ "Tiedostoarkisto" + +#~ msgid "" +#~ "End of document reached.\n" +#~ "Continue from the beginning?" +#~ msgstr "" +#~ "Tiedoston loppu saavutettiin.\n" +#~ "Jatketaanko alusta uudelleen?" + +#~ msgid "" +#~ "Beginning of document reached.\n" +#~ "Continue from the bottom?" +#~ msgstr "" +#~ "Tiedoston alku saavutettiin.\n" +#~ "Jatketaanko lopusta uudelleen?" + +#~ msgid "Current maintainer" +#~ msgstr "Nykyinen ylläpitäjä" + +#~ msgid " sec." +#~ msgstr " sek." + +#~ msgid "Pencil color:" +#~ msgstr "Kynän väri:" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A0" +#~ msgstr "vaakasuuntainen DIN/ISO A0" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A0" +#~ msgstr "pystysuuntainen DIN/ISO A0" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A1" +#~ msgstr "vaakasuuntainen DIN/ISO A1" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A1" +#~ msgstr "pystysuuntainen DIN/ISO A1" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A2" +#~ msgstr "vaakasuuntainen DIN/ISO A2" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A2" +#~ msgstr "pystysuuntainen DIN/ISO A2" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A3" +#~ msgstr "vaakasuuntainen DIN/ISO A3" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A3" +#~ msgstr "pystysuuntainen DIN/ISO A3" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A4" +#~ msgstr "vaakasuuntainen DIN/ISO A4" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A4" +#~ msgstr "pystysuuntainen DIN/ISO A4" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A5" +#~ msgstr "vaakasuuntainen DIN/ISO A5" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A5" +#~ msgstr "pystysuuntainen DIN/ISO A5" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A6" +#~ msgstr "vaakasuuntainen DIN/ISO A6" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A6" +#~ msgstr "pystysuuntainen DIN/ISO A6" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A7" +#~ msgstr "vaakasuuntainen DIN/ISO A7" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A7" +#~ msgstr "pystysuuntainen DIN/ISO A7" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A8" +#~ msgstr "vaakasuuntainen DIN/ISO A8" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A8" +#~ msgstr "pystysuuntainen DIN/ISO A8" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A9" +#~ msgstr "vaakasuuntainen DIN/ISO A9" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A9" +#~ msgstr "pystysuuntainen DIN/ISO A9" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B0" +#~ msgstr "vaakasuuntainen DIN/ISO B0" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B0" +#~ msgstr "pystysuuntainen DIN/ISO B0" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B1" +#~ msgstr "vaakasuuntainen DIN/ISO B1" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B1" +#~ msgstr "pystysuuntainen DIN/ISO B1" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B2" +#~ msgstr "vaakasuuntainen DIN/ISO B2" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B2" +#~ msgstr "pystysuuntainen DIN/ISO B2" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B3" +#~ msgstr "vaakasuuntainen DIN/ISO B3" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B3" +#~ msgstr "pystysuuntainen DIN/ISO B3" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B4" +#~ msgstr "vaakasuuntainen DIN/ISO B4" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B4" +#~ msgstr "pystysuuntainen DIN/ISO B4" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B5" +#~ msgstr "vaakasuuntainen DIN/ISO B5" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B5" +#~ msgstr "pystysuuntainen DIN/ISO B5" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B6" +#~ msgstr "vaakasuuntainen DIN/ISO B6" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B6" +#~ msgstr "pystysuuntainen DIN/ISO B6" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B7" +#~ msgstr "vaakasuuntainen DIN/ISO B7" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B7" +#~ msgstr "pystysuuntainen DIN/ISO B7" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B8" +#~ msgstr "vaakasuuntainen DIN/ISO B8" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B8" +#~ msgstr "pystysuuntainen DIN/ISO B8" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B9" +#~ msgstr "vaakasuuntainen DIN/ISO B9" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B9" +#~ msgstr "pystysuuntainen DIN/ISO B9" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B10" +#~ msgstr "vaakasuuntainen DIN/ISO B10" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B10" +#~ msgstr "pystysuuntainen DIN/ISO B10" + +#~ msgctxt "paper size" +#~ msgid "landscape letter" +#~ msgstr "vaakasuuntainen letter-koko" + +#~ msgctxt "paper size" +#~ msgid "portrait letter" +#~ msgstr "pystysuuntainen letter-koko" + +#~ msgctxt "paper size" +#~ msgid "landscape legal" +#~ msgstr "vaakasuuntainen legal-koko" + +#~ msgctxt "paper size" +#~ msgid "portrait legal" +#~ msgstr "pystysuuntainen legal-koko" + +#~ msgctxt "paper size" +#~ msgid "landscape executive" +#~ msgstr "vaakasuuntainen executive-koko" + +#~ msgctxt "paper size" +#~ msgid "portrait executive" +#~ msgstr "pystysuuntainen executive-koko" + +#~ msgctxt "paper size" +#~ msgid "landscape Comm10E" +#~ msgstr "vaakasuuntainen Comm10E" + +#~ msgctxt "paper size" +#~ msgid "portrait Comm10E" +#~ msgstr "pystysuuntainen Comm10E" + +#~ msgctxt "paper size" +#~ msgid "landscape DLE" +#~ msgstr "vaakasuuntainen DLE" + +#~ msgctxt "paper size" +#~ msgid "portrait DLE" +#~ msgstr "pystysuuntainen DLE" + +#~ msgctxt "paper size" +#~ msgid "landscape folio" +#~ msgstr "vaakasuuntainen folio-koko" + +#~ msgctxt "paper size" +#~ msgid "portrait folio" +#~ msgstr "pystysuuntainen folio-koko" + +#~ msgctxt "paper size" +#~ msgid "ledger" +#~ msgstr "ledger-koko" + +#~ msgctxt "paper size" +#~ msgid "tabloid" +#~ msgstr "tabloid-koko" + +#~ msgctxt "paper size" +#~ msgid "unknown landscape paper size" +#~ msgstr "tuntematon vaakasuuntainen paperikoko" + +#~ msgctxt "paper size" +#~ msgid "unknown portrait paper size" +#~ msgstr "tuntematon pystysuuntainen paperikoko" + +#~ msgid "Toggle Drawing Mode" +#~ msgstr "Piirtotila päälle/pois" + +#~ msgid "Starting Jovie Text-to-Speech service Failed: %1" +#~ msgstr "Jovie-puhesyntetisaattoripalvelun käynnistys epäonnistui: %1" + +#~ msgid "Search Columns" +#~ msgstr "Hakusarakkeet" + +#~ msgid "All Visible Columns" +#~ msgstr "Kaikki näkyvät sarakkeet" + +#~ msgid "No document opened." +#~ msgstr "Tiedostoa ei ole avattu." + +#~ msgid "Can't open more than one document in the unique Okular instance." +#~ msgstr "Vain yhden tiedoston voi avata ainutkertaiseen Okular-instanssiin." + +#~ msgid "No matches found for '%1'." +#~ msgstr "Ei tuloksia hakusanalle %1." + +#~ msgid "Search in progress..." +#~ msgstr "Etsitään…" + +#~ msgid "Searching for %1" +#~ msgstr "Etsitään esiintymiä haulle %1" + +#~ msgid "Identity Settings" +#~ msgstr "Henkilöasetukset" + +#~ msgid "Highlight Properties" +#~ msgstr "Korostus" + +#~ msgid "Ink Properties" +#~ msgstr "Musteen ominaisuudet" + +#~ msgctxt "Annotation tool" +#~ msgid "Text Annotation" +#~ msgstr "Tekstin kommentointi" + +#~ msgctxt "Annotation tool" +#~ msgid "Green Ink" +#~ msgstr "Vihreä muste" + +#~ msgctxt "Annotation tool" +#~ msgid "Yellow Highlight" +#~ msgstr "Keltainen korostus" + +#~ msgctxt "Annotation tool" +#~ msgid "Straight Yellow Line" +#~ msgstr "Keltainen viiva" + +#~ msgid "Black Underlining" +#~ msgstr "Musta alleviivaus" + +#~ msgctxt "Annotation tool" +#~ msgid "Underline the text with a black line" +#~ msgstr "Alleviivaa mustalla" + +#~ msgctxt "Annotation tool" +#~ msgid "A cyan ellipse" +#~ msgstr "Syaani ellipsi" + +#~ msgid "Ink" +#~ msgstr "Muste" + +#, fuzzy +#~| msgid "Hide Forms" +#~ msgid "Reset Forms" +#~ msgstr "Piilota lomakkeet" + +#~ msgid "You must set this name:" +#~ msgstr "Aseta tämä nimi:" + +#~ msgid "Moves to the first page of the document" +#~ msgstr "Siirtyy asiakirjan ensimmäiselle sivulle" + +#~ msgid "Toggles between File Path and Title" +#~ msgstr "Vaihtaa tiedostopolun ja otsikon välill'" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "%1 is \"Title\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "%1 is \"File Path\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#, fuzzy +#~ msgctxt "@action:button" +#~ msgid "&Overwrite" +#~ msgstr "Korvaa" + +#~ msgid "Pages:" +#~ msgstr "Sivut:" diff --git a/po/fi/okular_comicbook.po b/po/fi/okular_comicbook.po new file mode 100644 index 0000000..3e13cb2 --- /dev/null +++ b/po/fi/okular_comicbook.po @@ -0,0 +1,62 @@ +# translation of okular_comicbook.po to +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Mikko Piippo , 2008. +# Lasse Liehu , 2011, 2014. +# Tommi Nieminen , 2019. +# +# KDE Finnish translation sprint participants: +msgid "" +msgstr "" +"Project-Id-Version: okular_comicbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-05-10 17:25+0200\n" +"Last-Translator: Tommi Nieminen \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Mikko Piippo, Lasse Liehu, Tommi Nieminen" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "mikko.piippo@opensuse.fi,lliehu@kolumbus.fi,translator@legisign.org" + +#: document.cpp:97 +#, kde-format +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "" +"Tiedostoa ei voida avata, koska unrar- ja unarchiver-ohjelmia ei löydy." + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "" +"Järjestelmään asennettu unrar-ohjelman versio ei sovi sarjakuvien avaamiseen." + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "Tuntematon sarjakuvamuoto." + +# pmap: =/elat=Taustaosasta sarjakuvia varten/ +#~ msgid "ComicBook Backend" +#~ msgstr "Taustaosa sarjakuvia varten" + +#~ msgid "A renderer for various comic book formats" +#~ msgstr "Ohjelma eri sarjakuvaformaattien näyttämiseksi" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007–2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/fi/okular_djvu.po b/po/fi/okular_djvu.po new file mode 100644 index 0000000..9d7f8c1 --- /dev/null +++ b/po/fi/okular_djvu.po @@ -0,0 +1,141 @@ +# translation of okular_djvu.po to +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Mikko Piippo , 2007. +# Lasse Liehu , 2011, 2014. +# +# KDE Finnish translation sprint participants: +msgid "" +msgstr "" +"Project-Id-Version: okular_djvu\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2014-03-31 04:50+0300\n" +"Last-Translator: Lasse Liehu \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Mikko Piippo, Lasse Liehu" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "mikko.piippo@helsinki.fi,lliehu@kolumbus.fi" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "Toimittaja" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "Julkaisija" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "Osa" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "Tiedoston tyyppi" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "Tuntematon" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "Osatiedostot" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "Tuntematon" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "Yksittäinen sivu" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "Niputettu" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "Epäsuora" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "Niputettu (vanha)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "Indeksoitu (vanha)" + +# pmap: =/elat=DjVu-taustaosasta/ +#~ msgid "DjVu Backend" +#~ msgstr "DjVu-taustaosa" + +#~ msgid "DjVu backend based on DjVuLibre." +#~ msgstr "DjVuLibreen pohjautuva DjVu-taustaosa." + +#~ msgid "© 2006-2008 Pino Toscano" +#~ msgstr "© 2006–2008 Pino Toscano" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgctxt "Unknown title" +#~ msgid "Unknown" +#~ msgstr "Tuntematon" + +#~ msgctxt "Unknown author" +#~ msgid "Unknown" +#~ msgstr "Tuntematon" + +#~ msgctxt "Unknown editor" +#~ msgid "Unknown" +#~ msgstr "Tuntematon" + +#~ msgctxt "Unknown publisher" +#~ msgid "Unknown" +#~ msgstr "Tuntematon" + +#~ msgctxt "Unknown creation date" +#~ msgid "Unknown" +#~ msgstr "Tuntematon" + +#~ msgctxt "Unknown volume information" +#~ msgid "Unknown" +#~ msgstr "Tuntematon" + +#~ msgctxt "Unknown type of document" +#~ msgid "Unknown" +#~ msgstr "Tuntematon" + +#~ msgid "A DjVu backend" +#~ msgstr "DjVu-taustaosa" diff --git a/po/fi/okular_dvi.po b/po/fi/okular_dvi.po new file mode 100644 index 0000000..b07e4f0 --- /dev/null +++ b/po/fi/okular_dvi.po @@ -0,0 +1,763 @@ +# translation of okular_dvi.po to +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Mikko Piippo , 2007, 2008. +# Mikko Piippo , 2008. +# Lasse Liehu , 2010. +# Lasse Liehu , 2011, 2013, 2014. +# SPDX-FileCopyrightText: 2024, 2025 Tommi Nieminen +# +# KDE Finnish translation sprint participants: +msgid "" +msgstr "" +"Project-Id-Version: okular_dvi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-13 23:11+0300\n" +"Last-Translator: Tommi Nieminen \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 23.08.5\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Lasse Liehu, Mikko Piippo" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "lasse.liehu@gmail.com,mikko.piippo@helsinki.fi" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

" +msgstr "" +"

Okular ei löytänyt ohjelmaa dvipdfm tietokoneeltasi. Tämä " +"ohjelma on tarpeen tiedostojen viemiseksi muihin tiedostomuotoihin. Voit " +"muuntaa DVI-tiedoston PDF-tiedostoksi käyttämällä Okularin " +"tulostustoimintoa, mutta se tuottaa usein tiedostoja, jotka tulostuvat " +"hyvin, mutta ovat huonolaatuisia Acrobat Reader -ohjelmalla luettaessa. Voi " +"olla järkevää päivittää TeX uudempaan versioon, joka sisältää ohjelman " +"dvipdfm.

Vihje järjestelmän ylläpitäjälle: Okular käyttää " +"ympäristömuuttujaa PATH ohjelmien löytämiseksi.

" + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Ulkoinen ohjelma dvipdfm, jota käytettiin tiedoston viemiseksi, ilmoitti " +"virheestä. Löydät tarkemman virhekuvauksen Tietoja tiedostosta-ikkunasta, jonka löydät Tiedosto-valikosta." + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" +"Tämä DVI-tiedosto viittaa ulkoisiin kuvatiedostoihin, jotka eivät ole " +"PostScript-muodossa. Dvips, jota Okular käyttää tulostukseen ja " +"PostScript-muotoon viemiseksi, ei osaa käsitellä niitä. Siksi toiminto ei " +"ole käytettävissä tässä Okularin versiossa." + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

" +msgstr "" +"

Okular ei löydä tietokoneelta ohjelmaa dvips. Kyseinen " +"ohjelma on tarpeellinen vientitoiminnon kannalta.

Vihje " +"ylityöllistetylle järjestelmän ylläpitäjälle: Okular noudattaa PATH-" +"ympäristömuuttujaa etsiessään ohjelmia.

" + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Ulkoinen ohjelma dvips, jota käytettiin tiedoston viemiseksi, ilmoitti " +"virheestä. Voit katsoa tarkemman virhekuvauksen tiedostovalikosta. " + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "DVI-tiedosto ei ala oikein" + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" +"DVI-tiedoston DVI-tuloste on väärää versiota. Vihje: Jos käytät Omega-" +"ladontajärjestelmää, tarvitset erityisen ohjelman, esimerkiksi oxdvi-" +"ohjelman." + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "DVI on vaikeasti vioittunut. Okular ei löytänyt loppuosaa." + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "Loppuosa ei ala komennolla POST." + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "Loppuosa sisälsi muun kuin FNTDEF-komennon." + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "Sivu %1 ei ala komennolla BOP." + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

PATH: %2

" +msgstr "" +"

Ulkoista ohjelmaa pdf2ps ei voitu käynnistää. Tämän " +"vuoksi PDF-tiedostoa %1 ei voitu muuntaa PostScript-muotoon. Siksi joitakin " +"tiedoston graafisia elementtejä ei voida näyttää.

Mahdollinen syy:Ohjelma pdf2ps sisältyy yleensä PostScript-kielen " +"ghostscript-nimiseen tulkkiin. Jos ghostscript-ohjelmaa ei ole asennettu, " +"kokeile käyttää komentorivikomentoa pdf2ps nähdäksesi " +"toimiiko se.

POLKU: %2

" + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

%2

" +msgstr "" +"

PDF-tiedostoa %1 ei voitu muuntaa PostScript-muotoon. Joitakin " +"tiedoston kuvaelementtejä ei siten voida näyttää.

Mahdollinen syy: Tiedosto %1 saattaa olla vioittunut, tai kenties se ei olekaan PDF-" +"tiedosto. Tämä on Okularin käyttämän ohjelmanpdf2ps tuloste:" +"

%2

" + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "Tiedosto on vioittunut. %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "Kaikkia PostScript-tiedostoja ei saatu upotettua tiedostoosi. %1" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "Kaikki ulkoiset PostScript-tiedostot upotettiin tiedostoosi." + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "Annettua tiedostoa ”%1” ei ole olemassa." + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" +"Olet pyytänyt Okularia etsimään DVI-tiedoston sijainnin, joka vastaa riviä " +"%1 TeX-tiedostossa %2. DVI-tiedostossa ei kuitenkaan näytä olevan " +"tarvittavia tietoja lähdetiedostosta." + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" +"Okular ei pystynyt löytämään DVI-tiedoston sijaintia, joka vastaa riviä %1 " +"TeX-tiedostossa %2." + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "DVI-koodi latoi merkin, joka kuuluu tuntemattomaan fonttiin." + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "DVI-koodi viittaa fonttiin #%1, jota ei ole vielä määritelty." + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "Pino ei ollut tyhjä, kun kohdattiin EOP-komento." + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "Pino oli tyhjä, kun kohdattiin POP-komento." + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "DVI-koodi viittasi fonttiin, jota ei ole vielä määritelty." + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "Kohdattiin virheellinen komento." + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "Kohdattiin tuntematon koodi %1." + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "Sulautetaan %1" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
" +msgstr "" +"Sivu %1: PDF-tiedostoa %2 ei voitu muuntaa PostScript-" +"muotoon.
" + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
" +msgstr "Sivu %1: PostScript-tiedostoa %2 ei löytynyt.
" + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "Paperin kokotietoa %1 ei kyetty tulkitsemaan." + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

PATH: %1

%2

" +msgstr "" +"

Okular ei löytänyt kaikkia tämän DVI-tiedoston näyttämiseksi " +"tarpeellisia fonttitiedostoja. Tiedosto voi olla lukukelvoton.

PATH: %1

%2

" + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

PATH: %1

%2

" +msgstr "" +"

kpsewhich-ohjelman suorituksessa oli ongelmia. Tämän " +"tuloksena joitain fonttitiedostoja ei löydetty ja tiedosto voi olla " +"lukukelvoton.
Mahdollinen syy: kpsewhich-ohjelma ei ole ehkä " +"asennettuna järjestelmään tai sitä ei löydy nykyisestä hakupolusta.

PATH: %1

%2

" + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" +"Fonttien generointi kpsewhich-ohjelmalla keskeytyi " +"(lopetuskoodi %1, virhe %2). Tämän tuloksena joitain fonttitiedostoja ei " +"löydetty ja tiedosto voi olla lukukelvoton." + +#: fontpool.cpp:482 +#, kde-format +msgid "Currently generating %1 at %2 dpi…" +msgstr "Generoidaan %1 tarkkuudella %2 dpi…" + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "Generoija/Päivämäärä" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "Fonttitiedostoa ei löytynyt" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "%1 × %2" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "%1 × %2 mm" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "%1 × %2\"" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "vaaka" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "pysty" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" +"Tietokoneeseen asennettu versio Ghostview-ohjelmasta ei sisällä mitään " +"Okularin tuntemia Ghostview-ajureita. Siksi PostScript-tuki on otettu pois " +"käytöstä." + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "Yhteensä 25 virhettä. Enempää virheilmoituksia ei näytetä." + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" +"Virhe DVI-tiedostossa %1, sivulla %2. Color pop -komennon kohdalla väripino " +"oli tyhjä." + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" +"Väärin muodostettu parametri epsf special -komennossa.\n" +"Odotettiin liukulukua seuraamaan arvoa %1 kohdassa %2." + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"Tiedostoa ei löydy:\n" +"%1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" +"Virhe DVI-tiedostossa %1 sivulla %2. Ei voitu tulkita kulmaa tekstin " +"kiertokomennossa." + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "Komentoa %1 ei ole vielä rakennettu ohjelmaan." + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" +"Fonttitiedosto %1 voitiin avata ja lukea, mutta sen tiedostomuotoa ei tueta." + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "Fonttitiedosto %1 on rikki, tai sitä ei voitu avata." + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "FreeType ilmoitti virheestä muutettaessa tiedoston %1 merkkikokoa." + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "FreeType ei voi ladata glyyfiä #%1 fonttitiedostosta %2." + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "FreeType ei voi muodostaa glyyfiä #%1 tiedostosta %2." + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "Glyyfi #%1 on tyhjä." + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "Glyyfi #%1 fonttitiedostosta %2 on tyhjä." + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "FreeType ei voi ladata glyyfin #%1 mittoja tiedostosta %2." + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "Tiedostoa %1 ei voitu avata" + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "TexFont_PK::operator[]: Merkkiä %1 ei ole määritelty fontissa %2" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "Odottamaton %1 PK-tiedostossa %2" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "Merkki %1 tiedostossa %2 on liian suuri" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "Virheellinen määrä bittejä: merkki %1, fontti %2." + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "Viallinen PK-tiedosto (%1), liian paljon bittejä." + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "Fontin sivusuhde ei ole neliömäinen." + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "Fonttia %1, tiedosto %2 ei löydy." + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "Tarkistussumma tiedostolle %1 ei täsmää" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "Fonttitiedoston %1 tiedostomuotoa ei tunnisteta" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"Kohtalokas virhe\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" +"\n" +"\n" +"Olet todennäköisesti joko kohdannut ohjelmointivirheen Okular-ohjelmassa\n" +"tai DVI-tiedosto tai tarvittavat aputiedostot (kuten fonttitiedosto)\n" +"on pahasti viallinen.\n" +"Okular lopetetaan tämän viestin jälkeen. Jos uskot kohdanneesi " +"ohjelmointivirheen, \n" +"tai jos uskot, että Okularin pitäisi toimia tässä tilanteessa paremmin,\n" +"ole ystävällinen ja tee virheraportti." + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "Väärä komentotavu löydetty VF-makroluettelossa: %1" + +#~ msgid "" +#~ "

The Ghostview program, which Okular uses internally to display the " +#~ "PostScript graphics that is included in this DVI file, is generally able " +#~ "to write its output in a variety of formats. The sub-programs that " +#~ "Ghostview uses for these tasks are called 'device drivers'; there is one " +#~ "device driver for each format that Ghostview is able to write. Different " +#~ "versions of Ghostview often have different sets of device drivers " +#~ "available. It seems that the version of Ghostview that is installed on " +#~ "this computer does not contain any of the device drivers " +#~ "that are known to Okular.

It seems unlikely that a regular " +#~ "installation of Ghostview would not contain these drivers. This error may " +#~ "therefore point to a serious misconfiguration of the Ghostview " +#~ "installation on your computer.

If you want to fix the problems with " +#~ "Ghostview, you can use the command gs --help to display " +#~ "the list of device drivers contained in Ghostview. Among others, Okular " +#~ "can use the 'png256', 'jpeg' and 'pnm' drivers. Note that Okular needs to " +#~ "be restarted to re-enable PostScript support.

" +#~ msgstr "" +#~ "

Ohjelma Ghostview, jota Okular käyttää tiedoston sisältämän " +#~ "PostScript-grafiikan näyttämiseksi, osaa yleensä kirjoittaa tulosteensa " +#~ "monia eri muotoja käyttäen. Ghostview-ohjelman käyttämiä aliohjelmia " +#~ "kutsutaan laiteajureiksi. Kutakin tulostemuotoa vastaa yksi laiteajuri. " +#~ "Ghostview-ohjelman eri versioilla on usein erilainen valikoima " +#~ "laiteajureita. Näyttää siltä, että tälle tietokoneelle asennettu versio " +#~ "ohjelmasta ei sisällä mitään Okularin tuntemista " +#~ "ajureista.

On epätodennäköistä, että normaali Ghostview-asennus " +#~ "ei sisältäisi näitä ajureita. Tämä virhe voi siksi viitata pahasti väärin " +#~ "määritettyyn Ghostview-asennukseen.

Jos haluat korjata ongelman, " +#~ "voit käyttää komentoa gs --help näyttääksesi Ghostview-" +#~ "ohjelman sisältämät ajurit. Okular voi käyttää mm. png256-, jpeg- ja pnm-" +#~ "ajureita. Huomaa, että Okular on käynnistettävä uudestaan PostScript-tuen " +#~ "käyttöön ottamiseksi.

" + +# pmap: =/elat=DVI-taustaosasta/ +#~ msgid "DVI Backend" +#~ msgstr "DVI-taustaosa" + +#~ msgid "A DVI file renderer" +#~ msgstr "DVI-näytin" + +#~ msgid "© 2006 Luigi Toscano" +#~ msgstr "© 2006 Luigi Toscano" + +#~ msgid "" +#~ "

Okular relies on the kpsewhich program to locate font files on " +#~ "your hard disk and to generate PK fonts, if necessary.

" +#~ msgstr "" +#~ "

Okular käyttää kpsewhich-ohjelmaa fonttitiedostojen etsimiseksi " +#~ "kovalevyltä ja tarpeen vaatiessa PK-fonttien luomiseksi.

" + +#~ msgid "Okular is currently generating bitmap fonts..." +#~ msgstr "Okular luo bittikarttafontteja…" + +#~ msgid "Aborts the font generation. Do not do this." +#~ msgstr "Keskeyttää fonttien luomisen. Älä tee tätä." + +#~ msgid "" +#~ "Okular is currently generating bitmap fonts which are needed to display " +#~ "your document. For this, Okular uses a number of external programs, such " +#~ "as MetaFont. You can find the output of these programs later in the " +#~ "document info dialog." +#~ msgstr "" +#~ "Okular luo parhaillaan bittikarttafontteja, joita tarvitaan tiedoston " +#~ "näyttämiseksi. Tätä varten Okular käyttää useita ulkoisia ohjelmia, kuten " +#~ "MetaFont-ohjelmaa. Löydät näiden ohjelmien tulosteen myöhemmin Tiedoston " +#~ "tiedot -ikkunasta." + +#~ msgid "Okular is generating fonts. Please wait." +#~ msgstr "Okular luo fontteja. Odota." + +#~ msgid "Font Generation Progress Dialog" +#~ msgstr "Fonttien luomisen eteneminen" + +#~ msgid "Abort" +#~ msgstr "Keskeytä" + +#~ msgid "What is happening here?" +#~ msgstr "Mitä täällä tapahtuu?" + +#~ msgid "%v of %m" +#~ msgstr "%v / %m" + +#~ msgid "Please be patient" +#~ msgstr "Ole kärsivällinen" + +#~ msgid "*.pdf|Portable Document Format (*.pdf)" +#~ msgstr "*.pdf|Portable Document Format (*.pdf)" + +#~ msgid "Export File As" +#~ msgstr "Vie muodossa" + +#~ msgid "" +#~ "The file %1\n" +#~ "exists. Do you want to overwrite it?" +#~ msgstr "" +#~ "Tiedosto %1\n" +#~ "on olemassa. Haluatko korvata sen?" + +#~ msgid "Overwrite File" +#~ msgstr "Korvaa tiedosto" + +#~ msgid "Overwrite" +#~ msgstr "Korvaa" + +#~ msgid "Using dvipdfm to export the file to PDF" +#~ msgstr "Käytä dvipdfm-ohjelmaa PDF-muotoon viemiseksi." + +#~ msgid "" +#~ "Okular is currently using the external program 'dvipdfm' to convert your " +#~ "DVI-file to PDF. Sometimes that can take a while because dvipdfm needs to " +#~ "generate its own bitmap fonts Please be patient." +#~ msgstr "" +#~ "Okular käyttää ulkoista dvipdfm-ohjelmaa DVI-tiedostojen muuntamiseksi " +#~ "PDF-muotoon. Muunnos voi kestää jonkun aikaa, sillä dvipdfm:n on " +#~ "generoitava tarvittavat fontit." + +#~ msgid "Waiting for dvipdfm to finish..." +#~ msgstr "Odotetaan, kunnes dvipdfm on päättynyt…" + +#~ msgid "*.ps|PostScript (*.ps)" +#~ msgstr "*.ps|PostScript (*.ps)" + +#~ msgid "Using dvips to export the file to PostScript" +#~ msgstr "Käytetään ohjelmaa dvips tiedoston viemiseksi PostScript-muotoon" + +#~ msgid "" +#~ "Okular is currently using the external program 'dvips' to convert your " +#~ "DVI-file to PostScript. Sometimes that can take a while because dvips " +#~ "needs to generate its own bitmap fonts Please be patient." +#~ msgstr "" +#~ "Okular käyttää ulkoista dvips-ohjelmaa DVI-tiedoston muuntamiseksi " +#~ "PostScript-muotoon. Tämä voi kestää jonkun aikaa, sillä joskus ohjelman " +#~ "on luotava omia fontteja. Kärsivällisyyttä…" + +#~ msgid "Waiting for dvips to finish..." +#~ msgstr "Odotetaan kunnes dvips on suoritettu…" + +#~ msgid "Functionality Unavailable" +#~ msgstr "Toiminto ei käytettävissä" + +#~ msgid "" +#~ "File corruption Okular could not interpret your DVI " +#~ "file. This is most commonly caused by a corrupted file." +#~ msgstr "" +#~ "Tiedosto vioittunut Okular ei osaa tulkita DVI-" +#~ "tiedostoa. Tämä johtuu useimmiten tiedoston vioittumisesta." + +#~ msgid "DVI File Error" +#~ msgstr "DVI-tiedostovirhe" + +#~ msgid "Not All Font Files Found" +#~ msgstr "Kaikkia kirjasintiedostoja ei löytynyt" + +#~ msgid "Locating fonts..." +#~ msgstr "Paikallistetaan kirjasimia…" + +#~ msgid "" +#~ "

There were problems running kpsewhich. As a result, some font " +#~ "files could not be located, and your document might be unreadable.

Possible reason: The kpsewhich program is perhaps not " +#~ "installed on your system, or it cannot be found in the current search " +#~ "path.

What you can do: The kpsewhich program is normally " +#~ "contained in distributions of the TeX typesetting system. If TeX is not " +#~ "installed on your system, you could install the TeX Live distribution " +#~ "(www.tug.org/texlive). If you are sure that TeX is installed, please try " +#~ "to use the kpsewhich program from the command line to check if it really " +#~ "works.

" +#~ msgstr "" +#~ "

Ongelmia ajettaessa kpsewhich-ohjelmaa. Joitakin " +#~ "kirjasintiedostoja ei voitu löytää, ja asiakirja voi olla lukukelvoton.

Mahdollinen syy: Kenties ohjelmaa kpsewhich ei ole asennettu, " +#~ "tai sitä ei löydy polun varrelta.

Mitä voit tehdä:Kpsewhich " +#~ "kuuluu yleensä TeX-ladontajärjestelmään. Jos TeXei ole asennettu " +#~ "järjestelmääsi, voit käyttää TeX Live -jakelua (www.tug.org/texlive). Jos " +#~ "TeX on varmasti asennettu, yritä ajaa kpsewhich komentoriviltä nähdäksesi " +#~ "toimiiko se.

" + +#~ msgid "Problem locating fonts" +#~ msgstr "Ongelma kirjasinten paikallistamisessa" + +#~ msgid "Font generation aborted" +#~ msgstr "Kirjasinten luominen keskeytetty" + +#~ msgid "Export: %1 to PDF" +#~ msgstr "Vienti: %1 PDF:ksi" + +#~ msgid "Export: %1 to PostScript" +#~ msgstr "Vienti: %1 PostScript-muotoon" + +#~ msgid "The fontlist is currently empty." +#~ msgstr "Kirjasinluettelo on tyhjä." + +#~ msgid "TeX Name" +#~ msgstr "TeX-nimi" + +#~ msgid "Family" +#~ msgstr "Perhe" + +#~ msgid "Zoom" +#~ msgstr "Zoom" + +#~ msgid "Type" +#~ msgstr "Tyyppi" + +#~ msgid "Encoding" +#~ msgstr "Koodaus" + +#~ msgid "Comment" +#~ msgstr "Kommentti" + +#~ msgid "TeX virtual" +#~ msgstr "TeX virtual" + +#~ msgid "TeX Font Metric" +#~ msgstr "TeX Font Metric" + +#~ msgid "FreeType" +#~ msgstr "FreeType" diff --git a/po/fi/okular_epub.po b/po/fi/okular_epub.po new file mode 100644 index 0000000..421c8b9 --- /dev/null +++ b/po/fi/okular_epub.po @@ -0,0 +1,58 @@ +# translation of okular_epub.po to +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Mikko Piippo , 2008. +# Lasse Liehu , 2011, 2013, 2014. +# +# KDE Finnish translation sprint participants: +msgid "" +msgstr "" +"Project-Id-Version: okular_epub\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2014-03-31 04:53+0300\n" +"Last-Translator: Lasse Liehu \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Mikko Piippo,Lasse Liehu" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "mikko.piippo@helsinki.fi,lasse.liehu@gmail.com" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "EPub-tiedoston avaaminen epäonnistui" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "EPub" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "EPub-taustaosan asetukset" + +# pmap: =/elat=EPub-taustaosasta/ +#~ msgid "EPub Backend" +#~ msgstr "EPub-taustaosa" + +#~ msgid "An EPub backend" +#~ msgstr "EPub-taustaosa" + +#~ msgid "© 2008 Ely Levy" +#~ msgstr "© 2008 Ely Levy" + +#~ msgid "Ely Levy" +#~ msgstr "Ely Levy" diff --git a/po/fi/okular_fax.po b/po/fi/okular_fax.po new file mode 100644 index 0000000..c39f32f --- /dev/null +++ b/po/fi/okular_fax.po @@ -0,0 +1,46 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Tommi Nieminen , 2011. +# Lasse Liehu , 2014. +# +# KDE Finnish translation sprint participants: +msgid "" +msgstr "" +"Project-Id-Version: okular_fax\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2014-03-31 04:54+0300\n" +"Last-Translator: Lasse Liehu \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Tommi Nieminen,Lasse Liehu" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "translator@legisign.org,lasse.liehu@gmail.com" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "Tiedoston lataaminen epäonnistui" + +#~ msgid "Fax Backend" +#~ msgstr "Faksitaustaosa" + +#~ msgid "A G3/G4 fax document backend" +#~ msgstr "G3/G4-faksitiedoston taustaosa" + +#~ msgid "© 2008 Tobias Koenig" +#~ msgstr "© 2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/fi/okular_fictionbook.po b/po/fi/okular_fictionbook.po new file mode 100644 index 0000000..0bd4214 --- /dev/null +++ b/po/fi/okular_fictionbook.po @@ -0,0 +1,85 @@ +# translation of okular_fictionbook.po to Finnish +# translation of okular_fictionbook.po to +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Mikko Piippo , 2007. +# Teemu Rytilahti , 2008. +# Lasse Liehu , 2011, 2013, 2014. +# +# KDE Finnish translation sprint participants: +msgid "" +msgstr "" +"Project-Id-Version: okular_fictionbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2014-03-31 04:54+0300\n" +"Last-Translator: Lasse Liehu \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Mikko Piippo" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "mikko.piippo@helsinki.fi" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "Tiedosto ei ole kelvollinen FictionBook-tiedosto" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "Ei voitu avata tiedostoa: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "Tiedosto ei ole kelvollinen Zip-arkisto" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "Viallinen tiedoston rakenne (päähakemisto puuttuu)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "Tiedostossa ei ole sisältöä" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "Viallinen XML-tiedosto: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "FictionBook" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "Fiction Book -taustaosan asetukset" + +# pmap: =/elat=Fiction Book -taustaosasta/ +#~ msgid "Fiction Book Backend" +#~ msgstr "Fiction Book -taustaosa" + +#~ msgid "A renderer for FictionBook eBooks" +#~ msgstr "FictionBook-kirjojen näytin" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007–2008 Tobias König" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/fi/okular_ghostview.po b/po/fi/okular_ghostview.po new file mode 100644 index 0000000..4667852 --- /dev/null +++ b/po/fi/okular_ghostview.po @@ -0,0 +1,97 @@ +# translation of okular_ghostview.po to Finnish +# translation of okular_ghostview.po to +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Mikko Piippo , 2007, 2008. +# Teemu Rytilahti , 2008. +# Lasse Liehu , 2011, 2014. +# Tommi Nieminen , 2019. +# +# KDE Finnish translation sprint participants: +msgid "" +msgstr "" +"Project-Id-Version: okular_ghostview\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-05-10 16:59+0200\n" +"Last-Translator: Tommi Nieminen \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Mikko Piippo, Lasse Liehu, Tommi Nieminen" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "mikko.piippo@helsinki.fi,lliehu@kolumbus.fi,translator@legisign.org" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "Käytä järjestelmäfontteja" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"Määrittää, sallitaanko Ghostscriptin käyttää järjestelmäfontteja. Jos ei " +"valittu, vain upotettujen fonttien käyttö tiedostossa sallitaan." + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "Yleisasetukset" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "Käytä &järjestelmäfontteja" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Ghostscript-taustaosan asetukset" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "Tiedoston versio" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "Kielen taso" + +# pmap: =/elat=PS-taustaosasta/ +#~ msgid "PS Backend" +#~ msgstr "PS-taustaosa" + +#~ msgid "A PostScript file renderer." +#~ msgstr "PostScript-tiedostonäytin." + +#~ msgid "© 2007-2008 Albert Astals Cid" +#~ msgstr "© 2007–2008 Albert Astals Cid" + +#~ msgid "Based on the Spectre library." +#~ msgstr "Pohjautuu Spectre-kirjastoon." + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" diff --git a/po/fi/okular_kimgio.po b/po/fi/okular_kimgio.po new file mode 100644 index 0000000..ee11def --- /dev/null +++ b/po/fi/okular_kimgio.po @@ -0,0 +1,72 @@ +# translation of okular_kimgio.po to +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Mikko Piippo , 2007. +# Lasse Liehu , 2011, 2014. +# Tommi Nieminen , 2018. +# +# KDE Finnish translation sprint participants: +msgid "" +msgstr "" +"Project-Id-Version: okular_kimgio\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2018-01-22 16:42+0200\n" +"Last-Translator: Tommi Nieminen \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Mikko Piippo, Tommi Nieminen" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "mikko.piippo@helsinki.fi, translator@legisign.org" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "Ei voitu ladata tiedostoa: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" +"Asiakirja vaikuttaa virheelliseltä. Tämä on paras arvaus aiotusta ulkoasusta." + +# pmap: =/elat=Kuvataustaosasta/ +#~ msgid "Image Backend" +#~ msgstr "Kuvataustaosa" + +#~ msgid "A simple image backend" +#~ msgstr "Yksinkertainen taustaosa kuvia varten" + +#~ msgid "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" +#~ msgstr "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006–2007 Pino Toscano\n" +#~ "© 2006–2007 Tobias König" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" + +#~ msgid "Main Toolbar" +#~ msgstr "Päätyökalurivi" diff --git a/po/fi/okular_markdown.po b/po/fi/okular_markdown.po new file mode 100644 index 0000000..1b2a316 --- /dev/null +++ b/po/fi/okular_markdown.po @@ -0,0 +1,52 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Tommi Nieminen , 2018, 2019. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-05-10 17:28+0200\n" +"Last-Translator: Tommi Nieminen \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Tommi Nieminen" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "translator@legisign.org" + +#: converter.cpp:59 converter.cpp:93 +#, kde-format +msgid "Failed to open the document" +msgstr "Tiedoston avaus epäonnistui" + +#: converter.cpp:106 converter.cpp:124 +#, kde-format +msgid "Failed to compile the Markdown document." +msgstr "Markdown-tiedoston kääntäminen epäonnistui." + +#: generator_md.cpp:58 +#, kde-format +msgid "Enable SmartyPants formatting" +msgstr "Käytä SmartyPants-muotoilua" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown" +msgstr "Markdown" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown Backend Configuration" +msgstr "Markdown-taustaosan asetukset" diff --git a/po/fi/okular_mobi.po b/po/fi/okular_mobi.po new file mode 100644 index 0000000..2b245c3 --- /dev/null +++ b/po/fi/okular_mobi.po @@ -0,0 +1,62 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Tommi Nieminen , 2011. +# Lasse Liehu , 2013, 2014. +# +# KDE Finnish translation sprint participants: +msgid "" +msgstr "" +"Project-Id-Version: okular_mobi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2014-11-08 02:33+0200\n" +"Last-Translator: Lasse Liehu \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Tommi Nieminen" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "translator@legisign.org" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Avattaessa Mobipocket-tiedostoa sattui virhe." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "Kirja on suojattu DRM:llä, ja sitä voi katsella vain määrälaitteessa" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "Mobipocket" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "Mobipocket-taustaosan asetukset" + +#~ msgid "Mobipocket Backend" +#~ msgstr "Mobipocket-taustaosa" + +#~ msgid "A mobipocket backend" +#~ msgstr "Mobipocket-taustaosa" + +#~ msgid "© 2008-2009 Jakub Stachowski" +#~ msgstr "© 2008–2009 Jakub Stachowski" + +#~ msgid "Jakub Stachowski" +#~ msgstr "Jakub Stachowski" diff --git a/po/fi/okular_poppler.po b/po/fi/okular_poppler.po new file mode 100644 index 0000000..a9413dd --- /dev/null +++ b/po/fi/okular_poppler.po @@ -0,0 +1,441 @@ +# translation of okular_poppler.po to Finnish +# translation of okular_poppler.po to +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Mikko Piippo , 2007, 2008. +# Teemu Rytilahti , 2008. +# Lasse Liehu , 2011. +# Lasse Liehu , 2011, 2012, 2013, 2014. +# SPDX-FileCopyrightText: 2019, 2020, 2021, 2023, 2024, 2025 Tommi Nieminen +# +# KDE Finnish translation sprint participants: +# Author: Lliehu +# Author: Suhviksi +msgid "" +msgstr "" +"Project-Id-Version: okular_poppler\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-13 23:11+0300\n" +"Last-Translator: Tommi Nieminen \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 23.08.5\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Mikko Piippo, Lasse Liehu, Tommi Nieminen" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "mikko.piippo@helsinki.fi,lliehu@kolumbus.fi,translator@legisign.org" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "Käytä ylitulostuksen esikatselua:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "Ei koskaan" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "Aina" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "Automaattinen" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "Paranna kapeita viivoja:" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "Ei" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "Yhtenäiset viivat" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "Muoto" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "Tulostettujen sivujen oletusskaalaustapa:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "Sovita tulostusalueeseen" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "Sovita koko sivulle" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "Ei mitään: tulosta alkuperäinen sivu" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" +"Tällä valinnalla Okular ottaa yhteyden kolmannen osapuolen OSCP-palvelimiin " +"tarkistaakseen, onko digitaalista allekirjoitusta varten luodut varmenteet " +"luomisensa jälkeen mitätöity." + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" +"Tarkista kolmannen osapuolen palvelimilta digitaalisten allekirjoitusten " +"varmenteiden mitätöinti" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "Allekirjoitustaustajärjestelmä:" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" +"Nämä allekirjoitukset voi vahvistaa vain uuden Okularin käyttäjä GnuPG-" +"taustajärjestelmä aktivoituna" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "Salli allekirjoituksina PGP-avaimet (Okularin laajennus)" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "Varmennetietokanta" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "Oletus:" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "Mukautettu:" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "Saatavilla olevat varmenteet" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "&Lataa allekirjoitukset" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "PDF-asetukset" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "Tulosta merkinnät" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "Sisällytä merkinnät tulostettavaan tiedostoon" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"Sisällytä merkinnät tulostettavaan tiedostoon. Voit poistaa tämän käytöstä, " +"jos haluat tulostaa alkuperäisen tiedoston merkinnöittä." + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "Pakota hahmonnus" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "Hahmonna kuvaksi ennen tulostusta" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"Pakottaa joka sivun hahmonnuksen ennen tulostusta. Yleensä tämä heikentää " +"laatua hiukan, mutta auttaa muutoin virheellisesti tulostuvien tiedostojen " +"tulostamisessa." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "Tulostettujen sivujen skaalaustapa" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "Skaalaustapa:" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF v. %1.%2" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "Muoto" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "Salattu" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "Salaamaton" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "Turvallisuus" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "Kyllä" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "Optimoitu" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Allekirjoittanut: %1\n" +"\n" +"Päiväys: %2" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "Käytössä Poppler %1" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" +"Käytössä Poppler %1\n" +"\n" +"Koostettu Poppler-versiolle %2" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "PDF-taustaosan asetukset" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "Väliaikaistiedoston kirjoittaminen epäonnistui" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "Väliaikaistiedoston nimen muuttaminen epäonnistui" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" +"Asiakirjasta löytyi virheitä, joten Okular ei ehkä näytä sisältöä oikein" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" +"Nämä allekirjoitukset toimivat vain uusissa Okularin versioissa GnuPG-" +"taustajärjestelmä aktivoituna" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "Käytä PGP-allekirjoituksia" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "Myönnetty" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "Sähköposti" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "Vanhenemispäivä" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" +"Käytössä oleva Poppler-kirjasto on koostettu NSS-tuetta,\n" +"joten digitaalisia allekirjoituksia ei voi lisätä" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "ikuisesti" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "Uudelleenkäynnistys vaaditaan" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "Okular on käynnistettävä uudelleen NSS-hakemistoasetusten muututtua" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter Password" +msgstr "Anna salasana" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "Avaa %1 antamalla salasana:" + +#~ msgid "Not Available" +#~ msgstr "Ei käytettävissä" + +#~ msgid "PDF Certificates" +#~ msgstr "PDF-varmenteet" + +#~ msgid "PDF Digital Signature Certificates" +#~ msgstr "Digitaalisten PDF-allekirjoitusten varmenteet" + +# pmap: =/elat=PDF-taustaosasta/ +#~ msgid "PDF Backend" +#~ msgstr "PDF-taustaosa" + +#~ msgid "A PDF file renderer" +#~ msgstr "PDF-renderoija" + +#~ msgid "© 2005-2008 Albert Astals Cid" +#~ msgstr "© 2005–2008 Albert Astals Cid" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Saving files with /Encrypt is not supported." +#~ msgstr "Tiedostojen tallentamista valitsimella /Encrypt ei tueta." + +#~ msgid "Unknown" +#~ msgstr "Tuntematon" + +#~ msgid "Unknown Date" +#~ msgstr "Tuntematon päiväys" + +#~ msgid "Unknown Encryption" +#~ msgstr "Tuntematon salaus" + +#~ msgid "Unknown Optimization" +#~ msgstr "Tuntematon optimointi" + +#~ msgid "Please enter the password to read the document:" +#~ msgstr "Syötä salasana tiedoston lukemiseksi:" + +#~ msgid "Incorrect password. Try again:" +#~ msgstr "Virheellinen salasana. Yritä uudestaan:" diff --git a/po/fi/okular_tiff.po b/po/fi/okular_tiff.po new file mode 100644 index 0000000..05c1a61 --- /dev/null +++ b/po/fi/okular_tiff.po @@ -0,0 +1,27 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# Tommi Nieminen , 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-07-31 15:00+0300\n" +"Last-Translator: Tommi Nieminen \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Tommi Nieminen" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "translator@legisign.org" diff --git a/po/fi/okular_txt.po b/po/fi/okular_txt.po new file mode 100644 index 0000000..1e4f776 --- /dev/null +++ b/po/fi/okular_txt.po @@ -0,0 +1,50 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Lasse Liehu , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-05-22 12:02+0300\n" +"Last-Translator: Lasse Liehu \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Lasse Liehu" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "lasse.liehu@gmail.com" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "TXT" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "TXT-taustaosan asetukset" + +# pmap: =:elat=TXT-taustaosasta: +#~ msgid "Txt Backend" +#~ msgstr "TXT-taustaosa" + +#~ msgid "Txt backend." +#~ msgstr "TXT-taustaosa." + +#~ msgid "© 2013 Azat Khuzhin" +#~ msgstr "© 2013 Azat Khuzhin" + +#~ msgid "Azat Khuzhin" +#~ msgstr "Azat Khuzhin" diff --git a/po/fi/okular_xps.po b/po/fi/okular_xps.po new file mode 100644 index 0000000..9b6771f --- /dev/null +++ b/po/fi/okular_xps.po @@ -0,0 +1,62 @@ +# translation of okular_xps.po to Finnish +# translation of okular_xps.po to +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Mikko Piippo , 2007. +# Teemu Rytilahti , 2008. +# Lasse Liehu , 2011. +# +# KDE Finnish translation sprint participants: +msgid "" +msgstr "" +"Project-Id-Version: okular_xps\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2011-01-16 19:45+0200\n" +"Last-Translator: Lasse Liehu \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Mikko Piippo" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "mikko.piippo@helsinki.fi" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "Versio" + +# pmap: =/elat=XPS-taustaosasta/ +#~ msgid "XPS Backend" +#~ msgstr "XPS-taustaosa" + +#~ msgid "An XPS backend" +#~ msgstr "XPS-taustaosa" + +#~ msgid "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" +#~ msgstr "" +#~ "© 2006–2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" + +#~ msgid "Brad Hards" +#~ msgstr "Brad Hards" + +#~ msgid "Jiri Klement" +#~ msgstr "Jiri Klement" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" diff --git a/po/fi/org.kde.active.documentviewer.po b/po/fi/org.kde.active.documentviewer.po new file mode 100644 index 0000000..2ac2434 --- /dev/null +++ b/po/fi/org.kde.active.documentviewer.po @@ -0,0 +1,235 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Lasse Liehu , 2012. +# SPDX-FileCopyrightText: 2016, 2018, 2020, 2022, 2025 Tommi Nieminen +# +# KDE Finnish translation sprint participants: +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-08-14 18:23+0300\n" +"Last-Translator: Tommi Nieminen \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 25.04.0\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "Kirjanmerkit" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "Varmennekatselin" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "Myöntäjä" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "Yleinen nimi:" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "Sähköposti:" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "Organisaatio:" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "Kenelle myönnetty:" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "Kelpoisuus" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "Julkaistu:" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "Vanhenee:" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "Sormenjäljet" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "SHA-1-sormenjälki:" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "SHA-256-sormenjälki:" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +msgid "Export…" +msgstr "Vie…" + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "Sulje" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "Varmennetiedosto (*.cer)" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "Virhe" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "Varmennetta ei voitu viedä." + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "Okular" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "Avaa…" + +#: ui/Main.qml:49 +msgid "About" +msgstr "Tietoa" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "Salasana vaaditaan" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "Poista kirjanmerkki" + +#: ui/MainView.qml:29 +msgid "Bookmark this page" +msgstr "Tee sivusta kirjanmerkki" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "Pienoiskuvat" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "Sisällysluettelo" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "Allekirjoitukset" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "Allekirjoituksen ominaisuudet" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "Kelpoisuuden tila" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "Allekirjoituksen kelpoisuus:" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "Tiedoston muutokset:" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "Lisätietoa" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "Allekirjoittanut:" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "Allekirjoitettu:" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "Syy:" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "Sijainti:" + +#: ui/SignaturePropertiesPage.qml:96 +msgid "Document Version" +msgstr "Tiedostoversio" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Tiedoston versio %1/%2" + +#: ui/SignaturePropertiesPage.qml:108 +msgid "Save Signed Version…" +msgstr "Tallenna allekirjoitettu versio…" + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +msgid "View Certificate…" +msgstr "Näytä varmenne…" + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "Allekirjoitusta ei voitu tallentaa." + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "Ei saatavilla" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "Ei löytynyt." + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "Ei avoinna olevaa tiedostoa" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "Viimeaikaiset tiedostot" + +#: ui/WelcomeView.qml:108 +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "Omat tiedostot" + +#~ msgid "Open..." +#~ msgstr "Avaa..." + +#~ msgid "Search..." +#~ msgstr "Etsi…" + +#~ msgid "" +#~ "No Documents found. To start to read, put some files in the Documents " +#~ "folder of your device." +#~ msgstr "" +#~ "Tiedostoja ei löytynyt. Sijoita tiedostoja laitteesi tiedostokansioon " +#~ "alkaaksesi lukea." + +#~ msgid "Document viewer for Plasma Active using Okular" +#~ msgstr "Okularia käyttävä Plasma Activen asiakirjakatselin" + +#~ msgid "Reader" +#~ msgstr "Reader" + +#~ msgid "Copyright 2012 Marco Martin" +#~ msgstr "Copyright 2012 Marco Martin" + +#~ msgid "Marco Martin" +#~ msgstr "Marco Martin" + +#~ msgid "URL of the file to open" +#~ msgstr "Avattavan tiedoston osoite" diff --git a/po/fr/docs/okular/annotation-properties.png b/po/fr/docs/okular/annotation-properties.png new file mode 100644 index 0000000000000000000000000000000000000000..7877d4fc7968d00c7c4eba88f01b5840ba3256c0 GIT binary patch literal 16089 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 literal 0 HcmV?d00001 diff --git a/po/fr/docs/okular/bookmark-management.png b/po/fr/docs/okular/bookmark-management.png new file mode 100644 index 0000000000000000000000000000000000000000..1b43dc6ea7b43a1dedbe52eeb87b81a6d7e82cb8 GIT binary patch literal 100128 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 literal 0 HcmV?d00001 diff --git a/po/fr/docs/okular/configure-annotations.png b/po/fr/docs/okular/configure-annotations.png new file mode 100644 index 0000000000000000000000000000000000000000..0567a172d669529d4577d19a55c4a23c898da889 GIT binary patch literal 89166 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%0AyMb455c=Z}>Rx#|Qsgjt<#)CtjH>zB^-%UF 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 Jh=2U@zW|oDG^79k literal 0 HcmV?d00001 diff --git a/po/fr/docs/okular/configure.png b/po/fr/docs/okular/configure.png new file mode 100644 index 0000000000000000000000000000000000000000..0b0910579fbe57c69e0b66d5a51c238f52b97f4b GIT binary patch literal 105088 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

=m= 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 MF58%uUv!Q8H}v^BnE(I) literal 0 HcmV?d00001 diff --git a/po/fr/docs/okular/forms-bar.png b/po/fr/docs/okular/forms-bar.png new file mode 100644 index 0000000000000000000000000000000000000000..07137898e4564b26b282f7e7aea833485325af6d GIT binary patch literal 4415 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 literal 0 HcmV?d00001 diff --git a/po/fr/docs/okular/index.docbook b/po/fr/docs/okular/index.docbook new file mode 100644 index 0000000..6ee9d2b --- /dev/null +++ b/po/fr/docs/okular/index.docbook @@ -0,0 +1,3505 @@ + + + ATEX"> + + KPDF"> + PDF"> + + +]> + + + + Manuel d'&okular; + + Albert Astals Cid

&Albert.Astals.Cid.mail;
+ + + Pino Toscano
pino@kde.org
+
+
+ &traducteurCedricPasteur;&traducteurYohannHamon;&traducteurJoelGuelluy;&traducteurLudovicGrossard;&traducteurPeterPotrowl;&relecteurLudovicGrossard; + + &FDLNotice; + 25/02/2014 + 0.19 (&kde; 4.13) + + + &okular; est un afficheur de documents universel pour &kde; fondé sur le code de &kpdf;. + + + KDE + okular + pdf + ps + PostScript + tiff + djvu + dvi + chm + xps + comicbook + fictionbook + mobipocket + plucker + annotation + + + + Introduction + &okular; est un afficheur de documents universel pour &kde; fondé sur le code de &kpdf;. Bien que fondé sur le code de &kpdf;, &okular; dispose de quelques fonctions particulières telles que le mode continu, une gestion des présentations améliorée et une gestion des annotations. + &okular; gère un grand nombre de formats différents, comme &PDF;, &PostScript;, Tiff, CHM, DjVU, les images (png, jpg, &etc;) XPS, Open Document (ODT), Fiction Books, Comic Book, Plucker, EPub et Fax. Pour en savoir plus sur tous les formats gérés et leurs fonctionnalités, consultez les gestionnaires de formats de documents d'&okular;. + + Fenêtre principale d'&okular; + + + + + + Fenêtre principale d'&okular; + + + + + + Utilisation de base + + Ouverture de fichiers + Pour afficher tout fichier reconnu par &okular;, sélectionnez FichierOuvrir..., choisissez un fichier dont le format est pris en charge dans la boîte de dialogue et cliquez sur Ouvrir. Votre fichier devrait à présent être affiché dans la fenêtre principale. + + Le nouveau document s'ouvrira dans un nouvel onglet si l'option Ouvrir les nouveaux fichiers dans des onglets dans la Page de configuration générale est cochée. + + Si vous avez déjà ouvert des fichiers avec &okular;, vous pouvez rapidement accéder à ces mêmes fichiers en les sélectionnant dans le menu FichierRécemment ouvert(s) + &okular; est le logiciel par défaut de &kde; pour la lecture des fichiers &PDF; et &PostScript; lorsque vous cliquez avec le &BGS; sur un tel fichier dans le gestionnaire de fichiers. Si vous voulez ouvrir un format de fichier quelconque qui soit géré par &okular;, choisissez Ouvrir avec...&okular; dans le menu contextuel du gestionnaire de fichiers. + Une fois qu'un fichier est ouvert, vous voudrez probablement le lire et le parcourir. Allez dans la section suivante pour apprendre comment faire. + + + Navigation + Cette section décrit les manières de parcourir un document avec &okular;. + Il existe de nombreuses manières de déplacer l'aire d'affichage. Une méthode consiste à utiliser les touches Flèche vers le haut et Flèche vers le bas. Vous pouvez aussi utiliser la barre de défilement, la molette de la souris ou les touches Page précédente et Page suivante. + Vous pouvez également utiliser les clés de navigation comme dans vim, c'est-à-dire H pour atteindre le haut de la page précédente, L pour atteindre le haut de la page suivante, J pour atteindre la ligne suivante et K pour atteindre la ligne précédente. + Une autre méthode consiste à appuyer sur le &BGS;, n'importe où sur le document, et en déplaçant la souris dans la direction opposée au déplacement voulu pour le document. Cette procédure fonctionne uniquement si l'outil de navigation est activé, ce qui peut être fait en choisissant OutilsOutil de navigation. + + Lorsque vous affichez un document en mode présentation, utilisez les touches Flèche haut et Flèche bas pour passer d'une page ou diapositive à l'autre. Le numéro et la position de la page ou diapositive courante s'affichera en surimpression en haut à droite de l'écran. + + Si vous voulez lire un document comportant de nombreuses pages, utilisez la fonctionnalité de défilement automatique d'&okular;. Démarrez le défilement automatique avec &Maj;Flèche bas ou &Maj;Flèche haut. Utilisez ensuite ces touches pour augmenter ou diminuer la vitesse de défilement. Vous pouvez démarrer ou arrêter le défilement automatique temporairement en appuyant sur la touche &Maj; ; appuyer sur toute autre touche désactivera la fonctionnalité. + Une autre manière de naviguer parmi de nombreuses pages est d'utiliser le pointeur de la souris. Cliquez-déplacez la page vers le haut ou vers le bas. Continuez ainsi même si vous atteignez le haut ou le bas de l'écran. Une fois que vous atteindrez le bord d'une page, le curseur de la souris apparaîtra en bas ou en haut de l'écran et vous pourrez ainsi continuer à naviguer. + La barre de navigation du côté gauche de la fenêtre vous donne accès à deux méthodes supplémentaires pour naviguer dans un document : + + + si vous cliquez sur la vignette d'une page, l'aire d'affichage affichera cette page ; + + + si le document dispose d'un sommaire, cliquer sur un élément du sommaire fera défiler le document jusqu'à la page liée à cet élément ; + + + si le document comporte des signets, activez la vue Signets et cliquez sur ces signets pour vous rendre à la page associée. Si les signets ne sont pas affichés uniquement pour le fichier actuel, vous pouvez naviguer facilement dans les signets de tous les documents récemment ouverts ; + + + Si le document comporte des annotations, activez la vue Révisions et cliquez sur ces annotations ou sélectionnez-les avec les touches Flèche haut et Flèche bas et appuyez sur Entrée pour vous rendre à la page associée. + + + Certains documents possèdent des liens. Dans ce cas, cliquer sur l'un d'eux affichera la page ciblée par ce lien dans l'aire d'affichage. Si le lien est une page web ou tout autre document, le programme par défaut de &kde; gérant ce format de fichier sera appelé. Par exemple, cliquer sur un lien pointant vers http://fr.kde.org ouvrira cette page web dans le navigateur par défaut de &kde;. + + Les liens internes du document ne fonctionneront que si l'Outil de navigation est utilisé. + + De plus, vous pouvez utiliser les fonctionnalités suivantes pour vous déplacer rapidement à certains endroits spécifiques du document : + + + vous pouvez vous rendre au début d'un document en utilisant &Ctrl;Début ou en utilisant AllerDébut du document ; + + + vous pouvez vous rendre à la fin d'un document en utilisant &Ctrl;Fin ou en utilisant AllerFin du document ; + + + vous pouvez avancer dans un document en utilisant Espace ou Page suivante. Pour aller à la page suivante d'un document, utilisez le bouton Page suivante de la barre d'outils ou AllerPage suivante dans la barre de menu ; + + + vous pouvez reculer dans un document en utilisant la touche Correction ou la touche Page précédente. Pour aller à la page précédente, utilisez le bouton Page précédente de la barre d'outils ou AllerPage précédente dans la barre de menu. + + + Vous pouvez revenir aux positions du document affichées précédemment dans l'ordre chronologique. Par exemple, dans le cas où vous venez de lire la phrase Comme expliqué dans [15], …, et que vous voulez maintenant lire la référence [15]. Vous cliquerez donc dessus et &okular; affichera la liste des références. En utilisant &Alt;&Maj;Gauche ou Aller Précédent dans la barre de menu vous ramènera exactement à la position où vous étiez précédemment. + + + Vous pouvez naviguer en avant dans le document après être revenu en arrière comme décrit ci-dessus en utilisant &Alt;&Maj;Droite ou Aller Suivant dans la barre de menu. + + + Vous pouvez aller à l'occurrence suivant lors de la recherche en utilisant la touche F3 ou &Entree; (lorsque le champ de texte Rechercher a le focus) ou le menu Édition Poursuivre la recherche ou revenir à l'occurrence précédente en utilisant les touches &Maj;F3 ou &Maj;&Enter; (lorsque le champ de texte Rechercher a le focus) ou le menu Édition Chercher en arrière . + + + + + Le mode présentation + Le mode présentation est une autre façon d'afficher des documents dans &okular;. Il peut être activé dans AffichagePrésentation. Il montre le document page par page. Les pages sont affichées avec le zoom adapté à la page, ce qui signifie que toute la page sera visible. + + Les documents &PDF; peuvent même spécifier qu'ils doivent toujours être ouverts en mode présentation. + + Lorsque vous êtes en mode présentation, une barre d'aide se situe en haut de l'écran. Déplacez simplement le pointeur de la souris en haut de l'écran pour la faire apparaître. + + &okular; en mode présentation + + + + + + &okular; en mode présentation + + + + Pour naviguer entre les pages, vous pouvez utiliser le &BGS; (page suivante) et le &BDS; (page précédente), la molette de la souris, les icônes fléchées, le champ de texte dans la barre près du haut de l'écran, ou les touches spécifiées dans la section Navigation. + Utilisez le bouton Lecture / Pause dans la barre du haut pour lire ou mettre en pause la présentation, respectivement. + Vous pouvez sortir du mode présentation à tout instant en utilisant la touche &Echap; ou en cliquant sur l'icône Quitter dans la barre en haut de l'écran. + Vous pouvez également dessiner sur la page actuelle avec un crayon. Cliquez sur l'icône Activer / désactiver le mode dessin dans la barre en haut de l'écran pour permettre ou non de dessiner en mode présentation. Les dessins sont automatiquement effacés lorsque vous quittez le mode présentation. Vous pouvez aussi cliquer sur l'icône Effacer les dessins pour effacer les dessins de la page courante. + Le mode de présentation gère maintenant plus d'un écran dans une configuration multi-écrans. Avec plusieurs écrans, un nouveau bouton apparaîtra dans la barre du haut, avec l'icône d'un écran : il s'agit d'une boîte déroulante qui vous permet de déplacer la présentation vers n'importe lequel des autres écrans disponibles. + Le mode présentation dispose de plusieurs options de configuration. Vous pouvez trouver leur description dans le chapitre Configurer &okular;. + + + + Recherche inversée entre &latex; et &okular; + + La recherche inversée est un outil pratique lorsque vous écrivez un document &latex;. Si tout est correctement configuré, vous pouvez cliquer sur une partie du texte dans la fenêtre d'&okular; en utilisant le &BGS; tout en appuyant sur &Maj;. L'éditeur charge alors le code source &latex; et affiche directement le paragraphe correspondant. + + La recherche inversée ne peut fonctionner que si : + + + la compilation du fichier source a réussi, + &okular; sait quel éditeur vous voulez utiliser, + l'outil de navigation est activé. Pour ce faire, choisissez OutilsOutil de navigation. + + + Avec cette fonctionnalité d'&okular;, un clic du &BGS; en appuyant sur &Maj; dans le document &DVI; ou &PDF; ouvrira le document &latex; correspondant dans l'éditeur et essaiera d'afficher la ligne concernée. N'oubliez pas d'indiquer à &okular; quel éditeur vous souhaitez utiliser, dans le menu ConfigurationConfigurer Okular... (dans la page Éditeur). + + Pour plus de détails sur la configuration de l'éditeur, référez-vous à la section correspondante de ce manuel. + + + Configuration d'&okular; + + + + + + Configuration de l'éditeur dans &okular; + + Configuration de l'éditeur dans &okular; + + + + + + + Fonctionnalités avancées d'&okular; + + Fichiers intégrés + Si le document actuel contient des fichiers intégrés, lorsque vous l'ouvrez, une barre jaune apparaîtra au-dessus de la page pour notifier la présence de ces fichiers. + + La barre des fichiers intégrés + + + + + + La barre des fichiers intégrés + + + + Dans ce cas, vous pouvez soit cliquer sur le lien dans le texte de la barre, soit choisir FichierFichiers intégrés pour ouvrir la boîte de dialogue des fichiers intégrés. Cette boîte de dialogue vous permet de voir les fichiers intégrés et de les extraire. + + + Formulaires + Si le document actuel contient des formulaires, lorsque vous l'ouvrez, une barre apparaîtra au-dessus de la page pour vous permettre d'activer ces formulaires. + + La barre des formulaires + + + + + + La barre des formulaires + + + + Dans ce cas, vous pouvez soit cliquer sur Cliquer ici pour les voir, dans la barre, soit choisir AffichageAfficher les formulaires pour saisir des données dans les champs des formulaires. + + + Annotations + &okular; vous permet de relire et d'annoter vos documents. Les annotations créées dans &okular; sont enregistrées automatiquement dans le dossier de configuration local pour chaque utilisateur. Par conséquent, &okular; ne modifie aucun des documents qu'il ouvre. + + Les annotations d'&okular; + + + + + + Les annotations d'&okular; + + + + &okular; dispose de deux types d'annotations différents. + Les annotations textuelles, comme Surbrillance jaune et Souligné noir pour les fichiers contenant du texte, comme par exemple les &PDF;. + Les annotations graphiques, comme Note contextuelle, Note intégrée, Ligne à main levée, Surligneur, Ligne droite, Polygone, Tampon, Souligné et Ellipse pour tous les formats gérés par &okular;. + En utilisant le menu contextuel, soit dans la vue Révisions du panneau de navigation, soit dans la fenêtre principale, vous pouvez ouvrir une Note épinglée pour tout type d'annotation et ajouter ou modifier les commentaires. + Les annotations ne se limitent pas aux fichiers &PDF; ; elles peuvent être utilisées pour tout format que gère &okular;. + Depuis &kde; 4.2, &okular; dispose d'une fonction d'« archivage de documents ». Il s'agit d'un format spécifique à &okular; permettant de déplacer avec le document de nombreuses métadonnées qui lui sont attachées (actuellement, cela ne concerne que les annotations). Vous pouvez enregistrer une « archive » de document à partir du document actif en sélectionnant FichierExporter comme. Pour ouvrir une archive de document &okular;, ouvrez-la simplement avec &okular;, comme s'il s'agissait d'un document &PDF;. + Depuis &okular; 0.15 vous pouvez également enregistrer les annotations directement dans les fichiers &PDF;. Cette fonctionnalité n'est disponible que si &okular; a été compilé avec la version 0.20 ou ultérieure de la librairie de rendu Poppler. Vous pouvez utiliser le menu Fichier Enregistrer sous... pour enregistrer une copie du fichier &PDF; avec les annotations. + + Il n'est pas possible d'enregistrer les annotations dans les fichiers &PDF; dont l'original est chiffré si &okular; utilise les bibliothèques Poppler d'une version antérieure à la 0.22. + + + Lorsque vous ouvrez un &PDF; comportant déjà des annotations, vos modifications apportées aux annotations ne sont pas automatiquement enregistrées dans le dossier local interne mais vous devez enregistrer manuellement le document modifié (en utilisant le menu FichierEnregistrer sous...) avant la fermeture. Si vous oubliez de le faire, &okular; vous présentera une fenêtre de confirmation vous invitant à enregistrer le document. + + + + En raison des limitations dues au DRM (typiquement pour les documents &PDF;), l'ajout, la modification de certaines propriétés, ou la suppression d'annotations peuvent ne pas être possibles. + + + Toute action sur les annotations (création et retrait d'annotations, modification des propriétés d'une annotation, déplacement d'annotations avec &Ctrl;+déplacement et modification du contenu textuel d'une annotation) peut être annulée ou refaite en utilisant l'option correspondante dans le menu Édition. Il est également possible d'annuler une action en appuyant sur &Ctrl;Z et de refaire une action annulée en appuyant sur &Ctrl;&Maj;Z. + + Depuis &okular; 0.17, vous pouvez configurer les propriétés par défaut et l'apparence de chaque outil d'annotation. Veuillez vous référer à la section correspondante de ce manuel. + + Ajouter des annotations + Pour ajouter des annotations dans le document, vous devez activer la barre d'annotations, soit en choisissant OutilsRévision, soit en appuyant sur F6. Une fois que la barre d'annotations est visible, appuyez simplement sur un de ses boutons ou utilisez les raccourcis claviers (touches 1 à 9) pour commencer à annoter. + La barre d'outils d'annotation vous permet de créer des annotations avec des dessins, des formes et du texte. Vous pouvez utiliser les annotations pour marquer un document (par exemple ajouter des lignes, des ellipses, des polygones, des tampons, des surlignements et soulignements, etc.). La table ci-dessous décrit précisément à quoi sert chaque bouton de la barre d'outils d'annotation. + + + + + Bouton + Nom de l'outil + Description + + + + + + + + + + + + + + + Note épinglée + + + Pour ajouter une note multiligne. Cette note pourra être lue en double-cliquant sur une icône dans le document. + Cliquez sur le bouton de l'outil puis cliquez sur le document à l'endroit où vous voulez que la note épinglée apparaisse. Saisissez le texte dans la fenêtre de la note puis cliquez sur le bouton Fermer cette note en haut à droite de la fenêtre. + + + + + + + + + + + + + + Note intégrée + + + Pour ajouter une note intégrée. Cette note sera affichée telle quelle dans le document. + Cliquez sur le bouton de l'outil puis cliquez avec le &BGS; et maintenez-le pour définir le coin en haut à gauche de la note puis déplacez la souris et relâchez le bouton pour définir le coin en bas à droite. Saisissez le texte de la note puis cliquez sur le bouton Ok pour enregistrer la note, ou Annuler pour annuler la saisie ou Effacer pour effacer la note. + + + + + + + + + + + + + + Ligne à main levée + + + Pour dessiner des lignes aux formes libres. + Cliquez sur le bouton de l'outil puis cliquez avec le &BGS; et maintenez-le pour placer le début de la ligne, puis déplacez la souris pour dessiner la ligne. + + + + + + + + + + + + + + Surligneur + + + Pour surligner du texte dans le document avec une couleur de fond définie. + Cliquez sur le bouton de l'outil puis cliquez avec le &BGS; et maintenez-le pour définir le début de la zone de texte à surligner puis déplacez la souris et relâchez le bouton pour surligner. + + + + + + + + + + + + + + Ligne droite + + + Pour marquer avec une ligne. + Cliquez sur le bouton de l'outil puis cliquez avec le &BGS; pour placer le point de départ de la ligne puis déplacez la souris vers la position du point de fin de la ligne et cliquez à nouveau. + + + + + + + + + + + + + + Polygone + + + Pour dessiner une figure plane fermée à trois segments ou plus. La note correspondante peut être lue en double-cliquant dans le polygone. + Cliquez sur le bouton de l'outil puis cliquez avec le &BGS; pour placer le premier sommet du polygone puis déplacez la souris et cliquez pour définir le second sommet et ainsi de suite jusqu'à revenir au premier sommet. Double-cliquez si vous voulez ajouter une note au polygone. Saisissez le texte de la note puis cliquez sur le bouton Ok pour enregistrer la note, Annuler pour annuler la saisie ou Effacer pour effacer la note. + + + + + + + + + + + + + + Tampon + + + Pour marquer le texte ou l'image avec une forme prédéfinie. + Cliquez sur le bouton de l'outil puis cliquez avec le &BGS; pour placer le tampon. + Un simple clic place un tampon rectangulaire (utile pour les icônes). Pour ajouter un tampon rectangulaire, vous pouvez cliquer avec le &BGS; et le maintenir enfoncé pour placer le point en haut à gauche puis celui en bas à droite. + + + + + + + + + + + + + + Souligner + + + Pour souligner du texte. + Cliquez sur le bouton de l'outil puis cliquez avec le &BGS; puis maintenez-le pour placer le début de la portion de texte à souligner puis déplacez la souris pour le souligner. + + + + + + + + + + + + + + Ellipse + + + Pour dessiner une ellipse autour d'une zone. + Cliquez sur le bouton de l'outil puis cliquez avec le &BGS; et maintenez-le pour placer le coin en haut à gauche du rectangle circonscrit à l'ellipse puis déplacez la souris pour placer le coin en bas à droite. + + + + + + Le contenu de la barre des outils d'annotation peut être configurée grâce à l'écran Annotations de la fenêtre de configuration d'&okular;. Cet écran peut être affiché en cliquant avec le &BDS; sur la barre d'outils d'annotation et en choisissant Configurer les annotations... dans le menu contextuel. + Un clic simple du &BGS; sur un bouton d'outil d'annotation vous permet d'utiliser cet outil une fois. Si vous voulez, par exemple, mettre en valeur toutes les parties importantes d'un texte, activez cet outil de façon permanente en double-cliquant sur son bouton. Appuyez sur la touche Échap ou cliquez de nouveau sur le bouton de l'outil pour quitter ce mode permanent. + + La barre d'annotation peut être incrustée de n'importe quel côté de la zone d'affichage, glissez-la simplement pour la déplacer vers un autre endroit. + + + Activer la barre d'annotation vous fait basculer automatiquement en mode outil de navigation. + + Vous pouvez arrêter la construction à n'importe quel moment en appuyant de nouveau sur le bouton d'annotation que vous construisez, ou en appuyant sur la touche &Echap;. + L'annotation nouvellement construite aura comme auteur celui que vous avez réglé dans l'écran Annotations dans la boîte de dialogue de configuration d'&okular;. L'écran Annotations peut aussi être utilisé pour configurer le contenu de la barre des outils d'annotation. + + + Enlever des annotations + Pour enlever une annotation, cliquez simplement avec le &BDS;, et choisissez Supprimer. + Lorsqu'une annotation est enlevée, sa fenêtre est fermée si elle était ouverte. + + Cette option peut ne pas être disponible si le document ne permet pas de supprimer d'annotation. + + + + Modifier les annotations + Pour modifier une annotation, cliquez dessus avec le &BDS; et choisissez Propriétés. Une boîte de dialogue apparaîtra avec les paramètres d'annotation généraux (comme la couleur, l'opacité, l'auteur, &etc;) et les réglages spécifiques à ce type d'annotation. + + La boîte de dialogue propriété d'annotation + + + + + + La boîte de dialogue propriété d'annotation + + + + Pour déplacer une annotation, maintenez la touche &Ctrl; enfoncée, déplacez le pointeur de la souris dessus et commencez à faire glisser l'annotation avec le &BGS;. + + En fonction des droits sur le document (typiquement avec les documents &PDF;), certaines options peuvent être désactivées. + + + + + Gestion des signets + &okular; dispose d'un système de signets très flexible. &okular; enregistre la position de la page dans les signets et vous permet de définir plus d'un signet par page. + Pour gérer les signets dans &okular;, vous pouvez utiliser la vue Signets du Panneau de navigation, le menu Signets ou le menu contextuel de la vue du document (utilisez le &BDS; pour l'ouvrir). + + Vue Signets + Pour ouvrir la vue Signets, cliquez sur Signets dans la Barre de navigation. Si la Barre de navigation n'est pas affichée, appuyez sur F7 ConfigurationAfficher la barre de navigation dans le menu principal, pour la faire apparaître. + + Le menu contextuel de la vue Signets + + + + + + Le menu contextuel de la vue Signets + + + + La barre de filtrage en haut de la vue Signets vous permet de filtrer le contenu du panneau des signets en fonction du texte que vous saisissez dans le champ. + Le panneau de liste vous permet de voir la liste des signets sous forme d'arbre : chaque document de la liste peut être développé ou replié en cliquant sur l'icône > ou v à côté de lui. + Cliquez sur l'icône sous la liste pour n'afficher que les signets du document courant. + Le menu contextuel de chaque document de la liste vous permet d'ouvrir le document, renommer ses signets ou le retirer de la liste. N'oubliez pas que retirer un document de la liste retirera tous les signets correspondants. + Le menu contextuel de chaque signet vous permet d'aller au signet, le renommer ou le supprimer. + + + + + Options de la ligne de commande + Bien qu'&okular; soit le plus souvent lancé depuis le menu des programmes de &kde; ou une icône du bureau, il peut également être lancé depuis la ligne de commande d'une fenêtre de terminal. Voici quelques options pratiques qui sont utilisables dans ce cas. + + Spécifier un fichier + En spécifiant l'adresse et le nom d'un fichier particulier, l'utilisateur demande à &okular; d'ouvrir ce fichier immédiatement au lancement du logiciel. Cette option peut ressembler à la ligne suivante : + % okular + + + Pour les documents &PDF;, le nom peut être saisi en utilisant nom_du_document#nom_de_la_destination où nom_de_la_destination est une partie nommée à l'intérieur du document. + + + + Autres options de la ligne de commande + Les options d'aide suivantes de la ligne de commande sont disponibles + + + okular + Liste les options les plus simples disponibles pour la ligne de commande. + + + okular + Liste les options disponibles pour changer la manière dont &okular; interagit avec &Qt;. + + + okular + Liste les options disponibles pour changer la manière dont &okular; interagit avec &kde;. + + + okular + Liste toutes les options de la ligne de commande. + + + okular + Liste les auteurs d'&okular; dans la fenêtre de terminal + + + okular + Liste les informations de version pour &Qt;, &kde; et &okular;. Disponible également par okular + + + okular + Affiche les informations sur la licence. + + + okular + Ouvre la page du document dont le numéro est spécifié. Disponible également par okular + + + okular + Ouvre le document en mode présentation. + + + okular + Démarre avec la fenêtre d'impression. + + + okular + N'ouvre qu'une instance d'&okular;. + + + okular + Empêche la fenêtre d'&okular; de s'afficher lors du lancement. + + + okular + Fin des options. + + + + + + + + La barre de menu + + + Le menu Fichier + + + + &Ctrl;O Fichier Ouvrir... + + + Ouvre un fichier pris en charge ou une archive &okular;. Si un autre document est déjà ouvert, il sera fermé. Pour plus d'informations, consultez la section concernant l'ouverture de fichiers. + + + + + + FichierRécemment ouvert(s) + + + Ouvre un fichier ouvert précédemment via un sous-menu. Si un fichier est actuellement ouvert, il sera fermé. Pour plus d'informations, consultez la section concernant l'ouverture de fichiers. + + + + + + Fichier Importer du format « PostScript » comme du « &PDF; »... + + + Ouvre un fichier &PostScript; et le convertit en &PDF;. + + + + + + FichierEnregistrer sous... + + + Enregistre le fichier actuellement ouvert sous un nom différent en utilisant le moteur d'interface du document. Avec le moteur &PDF; (Poppler +>= 0.8 est nécessaire), il est possible d'enregistrer le document ainsi que les valeurs des champs de saisie. Il est aussi possible (si le document n'est pas protégé par DRM) d'enregistrer les annotations dans le fichier &PDF; (Poppler +>= 0.22 est nécessaire). + + + + + + FichierEnregistrer une copie sous... + + + Enregistre une copie du fichier actuellement ouvert avec un nom différent sans utiliser le moteur d'interface du document actuel. + + + + + + + F5Fichier Recharger + + + Recharge le fichier actuellement ouvert. + + + + + + &Ctrl;P FichierImprimer... + + + Imprime le fichier actuellement affiché. + + + + + + FichierAperçu avant impression + + + Montre un aperçu de la manière dont le document actuellement affiché sera imprimé avec les options par défaut. + + + + + + FichierPropriétés + + + Affiche quelques informations de base concernant le document, comme le titre, l'auteur, la date de création et les détails concernant les polices utilisées. Les informations disponibles dépendent du type de document. + + + + + FichierFichiers intégrés + + + Montre les fichiers intégrés dans le document s'il en contient. Pour davantage d'informations, voyez la section sur les fichiers intégrés. + + + + + + FichierExporter comme + + + Cet élément contient les formats d'exportation utilisables pour le document actuel. Le premier élément pour tous les types de documents est toujours Texte brut... + La deuxième entrée est Archive de document, qui vous permet d'enregistrer le document en incluant vos annotations dans une format d'archive spécifique à &okular;. Ainsi, il est possible de partager facilement le document d'origine et vos annotations avec d'autres utilisateurs d'&okular; et de travailler avec eux de manière collaborative. + + + + + + &Ctrl;Q FichierQuitter + + + Ferme &okular;. + + + + + + + Le menu Édition + + + + + &Ctrl;Z Édition Annuler + + + Annule la dernière action d'annotation (création ou retrait d'annotation, édition d'une propriété d'annotation, déplacement d'annotation avec &Ctrl;+déplacement ou édition du texte contenu dans une annotation). + + + + + + &Ctrl;&Maj;Z Édition Refaire + + + Refait la dernière action annulée lors de l'édition des annotations. + + + + + + + + &Ctrl;C ÉditionCopier + + + Copie le texte actuellement sélectionné en mode Sélection de texte dans le presse-papier. + + + + + + + + &Ctrl;A Édition Tout sélectionner + + + Sélectionne tout le texte (si le document en contient). Ceci ne fonctionne qu'en mode Sélection de texte. + + + + + + + + &Ctrl;F ÉditionChercher... + + + Ouvre une boîte de dialogue qui vous permet de chercher une chaîne de caractères dans le document. + + + + + + F3Édition Poursuivre la recherche + + + Cherche de nouveau la chaîne de caractères précédemment recherchée. + + + + + + &Maj;F3 Édition Chercher en arrière + + + Se rend à l'occurrence précédente de la chaîne de caractères actuellement recherchée. + + + + + + + Le menu Affichage + + + + &Ctrl;&Maj;P AffichagePrésentation + + + Active le mode présentation. Pour davantage d'informations, voyez la section sur le mode présentation. + + + + + &Ctrl;+ Affichage Zoom avant + + + Accroît l'agrandissement de la vue du document. + + + + + + &Ctrl;- Affichage Zoom arrière + + + Réduit l'agrandissement de la vue du document. + + + + + AffichageAdapter à la largeur + + + Modifie l'agrandissement de la vue du document de sorte que la largeur de la page devienne celle de l'aire d'affichage. + + + + + AffichageAdapter à la page + + + Modifie l'agrandissement de la vue du document de sorte qu'au moins une page entière soit visible. + + + + + AffichageAdapter automatiquement + + + Change le niveau de zoom du document à une valeur qui, en fonction du rapport entre la taille de la page et la taille de la zone d'affichage, adapte automatiquement la largeur de la page pour la rendre égale à la largeur de la zone d'affichage (adaptation en largeur), la hauteur de la page pour la rendre égale à la hauteur de la zone d'affichage (adaptation en hauteur) ou rend toute la page visible (adaptation à la page). + + + + + AffichageContinu + + + Active le mode d'affichage continu. Dans ce mode, toutes les pages sont affichées à la suite les unes des autres. Vous pouvez donc les faire défiler sans devoir utiliser les options Aller Page précédente et AllerPage suivante . + + + + + AffichageMode d'affichage + + + Ce sous-menu vous permet de choisir le mode d'affichage des pages. Les options possibles sont Page unique (une seule page par ligne), pages face à face (deux pages par ligne, comme pour un livre), Pages face-à-face (centrer la première page) et Aperçu (le nombre de colonnes est celui spécifié dans la configuration d'&okular;. + + + + + AffichageOrientation + + + Ce sous-menu vous permet de changer l'orientation des pages du document. + + La rotation est appliquée à l'orientation de chaque page. + + Vous pouvez choisir Orientation originale pour restaurer l'orientation du document, annulant toutes les rotations appliquées manuellement. + + + + + AffichageTaille de page + + + Change la taille des pages du document. + + Ce sous-menu n'est actif que si le type de document actuel gère les pages de différentes tailles. + + + + + + Affichage Réduire les marges + + + Enlève la bordure blanche lors de l'affichage des pages. + + + + + AffichageAfficher / cacher les formulaires + + + Affiche ou cache l'affichage des champs de formulaires dans le document. + + Cet élément de menu n'est actif que si le document actuel contient des champs de formulaires. + + + + + + + + + Le menu Aller + + + + AllerPage précédente + + + Affiche la page précédente du document. + + + + + AllerPage suivante + + + Affiche la page suivante du document. + + + + + &Ctrl;Début AllerDébut du document + + + Aller au début du document. + + + + + &Ctrl;Fin Aller Fin du document + + + Aller à la fin du document. + + + + + &Alt;&Maj;Gauche Aller En arrière + + + Se déplace vers la vue précédente du document. + + + + + &Alt;&Maj;Droite Aller En avant + + + Se déplace vers la vue suivante du document. Ceci n'est possible que si vous vous êtes déjà déplacé en arrière. + + + + + &Ctrl;G Aller Aller à la page... + + + Ouvre une boîte de dialogue vous permettant d'aller vers n'importe quelle page du document. + + + + + + + Le menu Signets + + + + &Ctrl;B Signets Ajouter / supprimer un signet + + + Ajoute ou supprime un signet pour la position actuelle. + + + + + SignetsRenommer le signet + + + Renomme le signet pour la position actuelle. + + + + + SignetsSignet précédent + + + Va au signet précédent, ou ne fait rien, s'il n'y a pas de signet avant le signet actuel. + + + + + SignetsSignet suivant + + + Va au signet suivant, ou ne fait rien, s'il n'y a pas de signet après le signet actuel. + + + + + SignetsAucun signet + + + C'est une action toujours désactivée qui apparaît dans ce menu uniquement si le document ne contient pas de signets. Sinon, une liste de tous les signets est affichée ici. En cliquant sur ces signets, vous pourrez aller directement aux positions associées. + + + + + + + Le menu Outils + + + + &Ctrl;1 Outils Outil de navigation + + + La souris aura un comportement normal, le &BGS; pour déplacer le document et suivre les liens et le &BDS; pour ajouter des signets et pour ajuster la page à la largeur de l'écran. + + + + + &Ctrl;2 Outils Outils de redimensionnement + + + La souris fonctionnera comme un outil de zoom. Cliquer avec le &BGS; et se déplacer agrandira la partie sélectionné, cliquer avec le &BDS; ramènera le document au zoom précédent. + + + + + &Ctrl;3 Outils Outils de sélection + + + La souris fonctionnera comme un outil de sélection. Dans ce mode, cliquer avec le &BGS; et se déplacer permettra de copier les textes / images contenus dans la partie sélectionnée vers le presse-papier, prononcer du texte ou enregistrer une image vers un fichier. + + + + + &Ctrl;4 Outils Outils de sélection de texte + + + La souris fonctionnera comme un outil de sélection. Dans ce mode, cliquer avec le &BGS; et se déplacer permettra de copier le texte contenu dans la partie sélectionnée vers le presse-papier ou de le prononcer. + + + + + &Ctrl;5 Outils Outils de sélection de tableau + + + Dessinez un rectangle autour du texte du tableau, puis cliquez avec le &BGS; pour diviser le bloc de texte en lignes et en colonnes. Un clic du &BDS; sur un trait existant le supprime et fusionne les lignes ou colonnes adjacentes. + + + + + &Ctrl;6 Outils Magnifier + + + Active le mode d'agrandissement du pointeur de la souris. Cliquez et maintenez le &BGS; pour activer le composant graphique d'agrandissement et déplacez le pointeur de la souris au-dessus du document. Chaque pixel du document apparaîtra comme un carré de 10 pixels de côté. + + + + + F6 Outils Révision + + + Ouvre le barre des annotations. Cette barre d'outils vous permet d'ajouter des annotations au document que vous lisez. Pour plus d'informations, veuillez lire la section sur les annotations. + + + + + OutilsÉnoncer vocalement le document entier + + + OutilÉnoncer vocalement la page actuelle + + + OutilsArrêter l'énonciation vocale + + + es éléments vous permettent de prononcer le document entier ou juste la page actuelle, ou d'arrêter la prononciation, en utilisant le système Text-to-Speech &jovie; de &kde; + Les actions d'énonciation vocale... ne sont activées que si &jovie; est disponible sur le système. + + + + + + + Le menu Configuration + + + + &Ctrl;M Configuration Afficher la barre de menus + + + Affiche / cache la barre de menu. Une fois cachée elle peut être rendue visible en utilisant à nouveau le raccourci clavier &Ctrl;M. Si la barre de menu est cachée, le menu contextuel ouvert avec le &BDS; n'importe où dans la zone d'affichage aura une entrée supplémentaire Afficher la barre de menu. + + + + + ConfigurationAfficher la barre d'outils + + + Affiche / cache la barre d'outils. + + + + + F7 Configuration Afficher la barre de navigation + + + Affiche / cache la barre de navigation. + + + + + ConfigurationAfficher la barre des pages + + + Active / désactive la barre des pages sous la zone qui affiche le document, pour gagner de l'espace d'affichage dans la fenêtre d'&okular;. + + + + + &Ctrl;&Maj;FConfigurationMode plein écran + + + Active le mode plein écran. Notez que le mode plein écran est différent du mode mode présentation puisque la seule particularité du mode plein écran est qu'il cache les décorations de la fenêtre, la barre de menu et la barre d'outils. + + + + + ConfigurationConfigurer les raccourcis clavier... + + + Ouvre une fenêtre qui vous permet de configurer les raccourcis clavier pour beaucoup de commandes des menus. + + + + + ConfigurationConfigurer les barres d'outils... + + + Ouvre une fenêtre vous permettant de choisir quelles icônes sont visibles dans la barre d'outils. + + + + + ConfigurationConfigurer les moteurs de rendu... + + + Ouvre la fenêtre Configurer les moteurs de rendu. + + + + + ConfigurationConfigurer &okular;... + + + Ouvre la fenêtre de Configuration. + + + + + + + Le menu Aide +&help.menu.documentation; + + + + Configuration des moteurs de rendu d'&okular; + Vous pouvez configurer les moteurs de rendu d'&okular; en choisissant Configuration Configurer les moteurs de rendu... . Pour le moment, les options de configuration n'existent que pour les moteurs de rendu EPub, &PostScript;, FictionBook, Txt, texte OpenDocument et &PDF;. + + La boîte de dialogue de configuration des moteurs de rendu + + + + + + La boîte de dialogue de configuration des moteurs de rendu + + + + En utilisant les écrans de configuration des moteurs de rendu EPub, FictionBook, Txt et texte OpenDocument, vous pouvez décider de la police de caractères à utiliser pour afficher les documents dans ces formats. Le bouton Choisir... de ces écrans ouvre la fenêtre classique de configuration des polices de &kde;. Veuillez vous référer à la Documentation de base de &kde; pour les détails. + La description des écrans de configuration des moteurs de rendu &PostScript; et &PDF; se trouve ci-dessous. + + Configuration du moteur de rendu &PostScript; + Vous pouvez configurer le moteur de rendu &PostScript; d'&okular; fondé sur Ghostscript en choisissant Ghostscript dans la liste de la partie gauche de la fenêtre de configuration. La seule option configurable est la suivante. + + + + + Utiliser les polices de la plate-forme + + + Cette option détermine si Ghostscript doit être autorisé à utiliser les polices de caractères de l'ordinateur. Lorsque cette option est désactivée, seules les polices embarquées dans le document seront utilisées. Cette option est activée par défaut. + + + + + + + Configuration du moteur de rendu &PDF; + Vous pouvez configurer le moteur de rendu &PDF; d'&okular; fondé sur Poppler en choisissant &PDF; dans la liste de la partie gauche de la fenêtre de configuration. La seule option configurable est la suivante. + + + + + Renforcer les lignes fines + + + Le dessin des lignes dans &okular; est implémenté en deux étapes : génération du chemin et remplissage du chemin. Lorsque la ligne dans le document original fait moins d'un pixel de large, cette implémentation en deux étapes peut poser problème. Pour ces lignes, le chemin est rempli avec une couleur qui dépend de l'épaisseur de la partie de la ligne à l'intérieur de la zone à dessiner. Si la partie de la ligne à l'intérieur de la zone à dessiner devient très petite, le contraste entre la forme et la couleur de fond peut devenir trop faible pour que la ligne soit reconnaissable. Les grilles composées de telles lignes peuvent apparaître peu esthétiques. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + La ligne fine (en rouge), son chemin (en pointillés) et les frontières des pixels (lignes pleines noires) + Ligne fine affichée en faible contraste + + + + + Pour renforcer l'apparence des lignes fines, &okular; implémente deux options. + La première option est Solide. Avec cette option, &okular; ajuste le chemin et la position de la ligne pour que le chemin et la ligne aient les mêmes frontière de pixels, c'est-à-dire qu'&okular; augmente la largeur des lignes fines à un pixel du périphérique de sortie. Ce mode est similaire à l'option Élargir les lignes fines dans Adobe Reader. Si cette option est activée, les lignes fines sont toujours élargies. + + + + + + + + Ligne fine avec le renforcement Solide + + + Ligne fine avec le renforcement Solide + + + + + La seconde option est Forme. Avec cette option, le chemin et la ligne sont ajustés aux frontières des pixels comme précédemment, mais l'intensité de la couleur de la ligne est ajustée proportionnellement à sa largeur. + + + + + + + + Ligne fine avec le renforcement Forme + + + Ligne fine avec une Forme renforcée + + + + + Par défaut, les lignes fines ne sont pas renforcées (option Non). + + + + + + + + Configurer &okular; + + Configuration générale + Vous pouvez configurer &okular; en utilisant l'option Configuration Configurer &okular;.... La boîte de dialogue de configuration est divisée en six sections. Ce chapitre décrit les options disponibles en détail. + + + Général + + + Accessibilité + + + Performances + + + Présentation + + + Annotations + + + Éditeur + + + + La boîte de dialogue de configuration + + + + + + La boîte de dialogue de configuration + + + + En fonction des moteurs de rendu actuellement installés, les éléments du menu Configuration Configurer les moteurs de rendu peuvent être activés. Cette boîte de dialogue de configuration particulière contient la configuration des différents moteurs qui peuvent être effectivement configurés. + + + Général + + + Afficher les barres de défilement + + Permet de choisir s'il faut afficher ou non les barres de défilement. + + + + Lier chaque vignette avec sa page + + Permet de choisir si les vignettes doivent suivre ou non la page en cours. + + + + Afficher les astuces et les messages d'informations + + Permet de choisir s'il faut afficher ou non les quelques messages d'informations au démarrage, lors du chargement de fichiers, &etc; + + + + Afficher le titre du document dans la barre de titre, si disponible + + Affiche ou non le titre du document courant dans la barre de titre de la fenêtre d'&okular;. Si aucune métadonnée de titre n'est trouvée dans le document, ou que cette option est désactivée, &okular; affichera le nom du fichier. + + + + Lorsque le titre du document n'est pas affiché + + Vous pouvez choisir l'une des deux options, Afficher uniquement le nom du fichier ou Afficher l'emplacement complet du fichier. + + + + Obéir aux limitations « DRM » + + Permet de choisir si &okular; doit obéir aux limitations DRM (Digital Rights Management). Ces limitations sont utilisées pour rendre impossibles certaines actions sur les documents &PDF;, comme en copier du contenu vers le presse-papier. Notez que, dans certaines configurations d'&okular;, cette option n'est pas disponible. + + + + Ouvrir les nouveaux fichiers dans des onglets + + Ouvre ou non les nouveaux documents dans des onglets. Les onglets sont désactivés par défaut. + Les raccourcis par défaut pour se déplacer entre les onglets sont &Ctrl;. (Onglet suivant) et &Ctrl;, (Onglet précédent). + + + + Recharger le document si le fichier est modifié + + Permet de choisir si les modifications des fichiers ouverts doivent être automatiquement vérifiées et les fichiers mis à jour si nécessaire. + + + + Afficher la boîte de dialogue de sélection du moteur de rendu + + Indique si &okular; doit demander à l'utilisateur quel moteur utiliser si plusieurs moteurs sont disponibles pour le fichier actuel. Si non coché, &okular; utilisera le moteur avec la priorité la plus haute. + + + + Colonnes d'aperçus + + Cette option représente le nombre de colonnes à utiliser en mode aperçu. + + + + Chevauchement pour les touches « Page précédente » / « Page suivante » + + Définit quelle proportion de la zone actuellement affichée sera encore visible lorsque les touches Page précédente / Page suivante seront pressées. + + + + Zoom par défaut + + Cette option spécifie le mode de zoom par défaut pour les fichiers qui n'ont encore jamais été ouverts. Pour les fichiers ayant déjà été ouverts, le dernier mode de zoom appliqué est utilisé. + + + + + + Accessibilité + + + Dessiner des bordures autour des liens + + Permet de choisir s'il faut dessiner une bordure autour des liens. + + + + Modifier les couleurs + + Active les options de changement des couleurs. + + + + Inverser les couleurs + + Inverse les couleurs de l'affichage, &cad; que les objets en noir seront affichés en blanc. + + + + Modifier la couleur du papier + + Change la couleur du papier, &cad; l'arrière plan du document. + + + + Modifier les couleurs sombres et claires + + Change pour des couleurs sombres et claires de votre choix, cela signifie que le noir ne sera plus affiché comme du noir mais comme votre couleur sombre choisie et de même pour le blanc avec la couleur claire. + + + + Convertir en noir et blanc + + Convertit le document en noir et blanc. Vous pouvez régler le seuil et le contraste. Augmenter le seuil en le déplaçant vers la droite donnera des gris plus clairs. + + + + + + Performances + + + Activer les effets de transparence + + Dessine les espaces de sélection et autre aspects graphiques spéciaux en utilisant des effets de transparence. Désactiver l'option, pour les dessiner en utilisant seulement des contours et des remplissages opaques, augmentera la vitesse de sélection. + + + + Utilisation de la mémoire + + &okular; peut atteindre de meilleures performances en personnalisant l'utilisation de la mémoire en fonction de votre système et de vos préférences. Plus vous lui permettrez d'utiliser de la mémoire, plus le programme sera rapide. Le profil « Normale » convient pour tous les systèmes, mais vous pouvez éviter qu'&okular; utilise plus de mémoire que nécessaire en sélectionnant le profil « Faible », ou le laisser utiliser la majeure partie de votre système en utilisant « Agressive ». Utilisez le profil « Gourmand » pour précharger toutes les pages sans risque de saturer la mémoire de votre système (seuls 50 % de la mémoire totale ou de la mémoire libre seront utilisés). + + + + Rendu + + En utilisant ce groupe d'options, vous pouvez améliorer le rendu du texte et des images dans &okular;. Le résultat dépendra du périphérique qui affichera le document. Les options Activer l'anticrénelage du texte et Activer l'anticrénelage pour les images permettent d'activer et de désactiver l'anticrénelage du texte et des images du document, respectivement. L'option Activer le lissage du texte sert à activer ou désactiver le lissage des polices. L'anticrénelage et le lissage modifient l'affichage du document. Vous pouvez les régler comme vous le désirez. + + + + + + Présentation + + + Avancer toutes les : + + Active le changement automatique des pages à intervalle de temps donné. + + + + Boucler après la dernière page + + Lorsque vous parcourez un document en mode présentation et allez dépasser la dernière page, la première page apparaîtra. + + + + Couleur de l'arrière plan + + La couleur qui remplira l'espace de l'écran non couvert par les pages lorsque vous serez en mode présentation. + + + + Couleur du crayon + + La couleur du crayon utilisé pour dessiner sur les pages en mode présentation. + + + + Pointeur de la souris + + Permet de choisir si la souris doit être toujours cachée, toujours visible ou cachée après un court temps d'inactivité. + + + + Afficher l'indicateur de progression + + Permet de choisir d'afficher un cercle de progression qui montre la page actuelle et le nombre de pages total dans le coin supérieur droit de l'écran à chaque changement de page. + + + + Afficher la page du sommaire + + Permet de choisir d'afficher une page de résumé au début de la présentation avec le titre, le nom de l'auteur et le nombre de pages du document. + + + + Activer les transitions + + Cochez ou décochez cette case pour activer ou désactiver les effets de transition entre les pages. + + + + Transition par défaut + + La transition entre les pages si le document n'en spécifie pas. Choisissez Transition aléatoire pour qu'&okular; choisisse au hasard l'une des transitions disponibles. + + + + Placement + + Dans cette section, vous pouvez choisir l'écran utilisé pour afficher la présentation. + Écran actuel correspond au même écran que la fenêtre d'&okular; qui démarre le mode présentation. + Écran par défaut est l'écran marqué par défaut dans la configuration de xinerama. + Écran 0, Écran 1, &etc; sont les écrans disponibles. + + + + + + Annotations + + La boîte de dialogue de configuration des annotations + + + + + + La boîte de dialogue de configuration des annotations + + + + + + Auteur + + L'auteur du contenu ajouté dans un document. Par défaut, il s'agit du nom figurant dans la page du Compte utilisateur et mot de passe du module Détails du compte de la &configurationDuSysteme;. + + + + Outils d'annotation + + Ce panneau permet de configurer votre barre d'outils d'annotation. + Il y a cinq boutons (Ajouter, Modifier, Supprimer, Déplacer vers le haut, Déplacer vers le bas) et une boîte de liste (qui contient la liste des contenus de la barre d'outils d'annotation actuelle) qui servent à configurer la barre d'outils. + Si vous avez besoin d'ajouter un bouton d'outil à la barre d'outils, cliquez sur le bouton Ajouter. Vous pouvez choisir le Nom, le Type et l'Apparence de l'outil créé. + + Rappelez-vous que les outils d'annotation d'&okular; sont hautement configurables. Par exemple, vous pouvez définir deux boutons pour le même outil, qui utiliseront des couleurs différentes. N'hésitez pas à expérimenter et à définir l'ensemble des boutons qui répondra parfaitement à vos besoins. + + Cliquez sur un élément de la liste puis sur le bouton correspondant sur la droite de la fenêtre pour modifier l'élément, l'enlever, le déplacer vers le haut ou vers le bas. Le raccourci clavier de l'outil (touches de 1 à 9) dépend de sa position dans la barre d'outils d'annotation. + + + + + + Éditeur + + + Éditeur + + Choisissez l'éditeur que vous voulez lancer lorsqu'&okular; veut ouvrir un fichier source. C'est le cas lorsque le document contient des références vers les différents points (souvent les numéros de ligne et de colonne) des sources depuis lesquelles il a été généré. Le format &DVI; accepte nativement les ajouts d'informations à propos des sources depuis lesquelles le document LaTeX a été généré. Un dispositif similaire, nommé pdfsync, existe pour les documents &PDF; et enregistre ces informations supplémentaires dans un fichier externe nommé en fonction du fichier &PDF; lui-même (par exemple : monDocument.pdfsync pour monDocument.pdf). + &okular; est fourni avec les paramètres préconfigurés pour les éditeurs suivants : &kate;, Kile, SciTE, Client &Emacs; et Client LyX. + + Pour utiliser la recherche inversée dans Kile, vous devez compiler &latex; avec la configuration Moderne. + + + + + Commande + + Il s'agit de la commande et de ses paramètres pour lancer l'éditeur sélectionné avec le fichier source du document réel. + Les champs seront remplis automatiquement si vous utilisez un des éditeurs préconfigurés. Sinon, choisissez Éditeur de texte personnalisé dans la liste déroulante Éditeur et utilisez la documentation de votre éditeur préféré pour trouver la commande correspondante. + Vous pouvez utiliser les mots réservés suivants : + + + %f - le nom du fichier + + + %l - la ligne à atteindre dans le fichier + + + %c - la colonne à atteindre dans le fichier + + + Si %f n'est pas spécifié, le nom du document sera ajouté à la commande. + + + + + + + Remerciements et licence + + + Copyright du programme : + &Albert.Astals.Cid; &Albert.Astals.Cid.mail; mainteneur actuel + Pino Toscano pino@kde.org + Enrico Ros eros.kde@email.it développeur de &kpdf; + + + + Copyright de la documentation : + &Albert.Astals.Cid; &Albert.Astals.Cid.mail; auteur + Titus Laska titus.laska@gmx.de quelques mises à jour et ajouts + Pino Toscano pino@kde.org + + Traduction française par &CedricPasteur;, &YohannHamon;, &JoelGuelluy;, &LudovicGrossard; et &PeterPotrowl;. Relecture par &LudovicGrossard; +&underFDL; &underGPL; + + + Installation + + Comment obtenir &okular; +&install.intro.documentation; + + Compilation et installation + + Si vous lisez ceci depuis le ¢reAide;, &okular; est déjà installé et vous ne devez donc plus le faire. + &install.compile.documentation; + + &documentation.index; + + + + diff --git a/po/fr/docs/okular/mainwindow.png b/po/fr/docs/okular/mainwindow.png new file mode 100644 index 0000000000000000000000000000000000000000..26e60e92521f0cb0f3fa84a91dd0b00a078e06cd GIT binary patch literal 77855 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�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 E4}2WQuK)l5 literal 0 HcmV?d00001 diff --git a/po/fr/docs/okular/man-okular.1.docbook b/po/fr/docs/okular/man-okular.1.docbook new file mode 100644 index 0000000..d39a36f --- /dev/null +++ b/po/fr/docs/okular/man-okular.1.docbook @@ -0,0 +1,291 @@ + + +]> + + + + +Manuel utilisateur de KDE +YuriChornoivan Page « man » pour Okular. yurchor@ukr.net +09-03-2013 +Environnement de bureau K + + + +okular +1 + + + +okular +Un afficheur universel de document + + + +okular Qt-options KDE-options Options Okular URL + + + +Description +okular a pour objectif d'afficher des documents de différents formats. + + + +Options génériques + + + + +Affiche l'aide pour les options. + + + + + +Affiche les options spécifiques de Qt. + + + + + +Affiche les options spécifiques de KDE. + + + + + +Affiche toutes les options. + + + + + +Affiche les informations sur l'auteur. + + + + + +Affiche les informations de version. + + + + + +Affiche les informations de licence. + + + + + +Fin des options. + + + + + +Options pour Okular + + + + +Ouvre une page donnée dans le document. + + + + + +Démarre le document dans le mode de présentation. + + + + + +Démarrer avec la boîte de dialogue d'impression. + + + + + +Contrôle d'instance unique. + + + + + +Permet d'empêcher l'apparition de la fenêtre d'Okular après le démarrage. + + + + + +Arguments + + + + + Une adresse pour le document à ouvrir. Pour PDF, peut être donné comme nom-document#destination-nommée où destination-nommée est une destination particulière nommée et intégrée dans le document. + + + + + +Retour d'informations +Sur IRC, irc.freenode.net #okular ou par courriel, okular-devel@kde.org ou sur Internet <http://okular.kde.org/> + + + +Voir aussi +Des documentations utilisateur plus détaillées sont disponibles sur help:/okular (ou aussi ne saisissant cet URL dans &konqueror; ou lancer khelpcenter help:/okular). + + +Copyright +Copyright © 2002 par Wilco Greven et Christophe Devriese +Copyright © 2004-2005 par Enrico Ros +Copyright © 2005 par Piotr Szymanski +Copyright © 2004-2012 par Albert Astals Cid +Copyright © 2006-2009 par Pino Toscano +Licence : GNU General Public Version 2 <http://www.gnu.org/licenses/gpl-2.0.html> + + + diff --git a/po/fr/docs/okular/presentation.png b/po/fr/docs/okular/presentation.png new file mode 100644 index 0000000000000000000000000000000000000000..3c544419b82b99bed6cb358b6c2bf2e3daed3dbf GIT binary patch literal 46511 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⪙54wI%!B+mDWHh1#Lb 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

hf(}D> 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, 2003. +# Matthieu Robin , 2004. +# Matthieu Robin , 2004, 2005, 2006. +# Nicolas Ternisien , 2004, 2005. +# Nicolas Ternisien , 2005, 2007. +# Mickael Sibelle , 2008. +# Sébastien Renard , 2008, 2009. +# Alain Rpnpif , 2008, 2009, 2010. +# Peter Potrowl , 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019. +# SPDX-FileCopyrightText: 2012, 2013, 2020, 2021, 2022, 2023, 2024, 2025 Xavier Besnard +# Sebastien Renard , 2014, 2015. +# Ludovic Grossard , 2014. +# Simon Depiets , 2018, 2019, 2020. +# Xavier Besnard , 2023. +# Thomas Vergnaud , 2023. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-11-09 16:40+0100\n" +"Last-Translator: Xavier Besnard \n" +"Language-Team: French >\n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Accelerator-Marker: &\n" +"X-Environment: kde\n" +"X-Generator: Lokalize 25.08.3\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" +"Cédric Pasteur, Nicolas Ternisien, Alain Rpnpif, Mickaël Sibelle, Peter " +"Potrowl, Simon Depiets, Xavier Besnard, Thomas Vergnaud" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" +"cedric.pasteur@free.fr, nicolas.ternisien@gmail.com, rpnpif@free.fr, " +"kimael@gmail.com, peter.potrowl@gmail.com, sdepiets@gmail.com, xavier." +"besnard@kde.org, thomas.vergnaud@mailo.eu" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Okular, un afficheur universel de documents" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "Ancien mainteneur" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "" +"Beaucoup de travail sur l'environnement de développement, le moteur de rendu " +"pour le format « FictionBook » et le moteur précédent « ODT »" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "Développeur" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymanski" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "A créé Okular à partir du code provenant de KPDF" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "Enrico Ros" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "Développeur pour KPDF" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "Eugene Trounev" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "Graphismes pour les annotations" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "Jiri Baum - NICTA" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "Outil de sélection de &tableau" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "Fabio D'Urso" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "Amélioration des annotations" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "Se déplacer à la page %1" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "Ouvre un fichier externe" + +#: core/action.cpp:197 +#, kde-format +msgid "Execute '%1'…" +msgstr "Exécuter « %1 »..." + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "Première page" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "Page précédente" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "Page suivante" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "Dernière page" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "Précédent" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "Suivant" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Quitter" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "Démarrer une présentation" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "Terminer une présentation" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "Rechercher…" + +#: core/action.cpp:314 +#, kde-format +msgid "Go To Page…" +msgstr "Aller à la page..." + +#: core/action.cpp:365 +#, kde-format +msgid "Play sound…" +msgstr "Jouer un son..." + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "Script JavaScript" + +#: core/action.cpp:483 +#, kde-format +msgid "Play movie…" +msgstr "Lire un film..." + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "Lire un film" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "Arrêter un film" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "Mettre en pause un film" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "Reprendre un film" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "" +"Cette version de Okular a été compilée dans la prise en charge de l'audio" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "Sélection du moteur de rendu" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
%1 (%2).

Please select which one to use:
" +msgstr "" +"Plusieurs moteurs de rendu ont été trouvés pour le type « MIME » :
%1 (%2).

Veuillez choisir celui devant être utilisé :
" + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "La plupart des pages sont %1." + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "Portrait %1" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "Paysage %1" + +#: core/document.cpp:246 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 x %2 pouces (%3)" + +#: core/document.cpp:248 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 x %2 mm (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "Suite de la recherche à partir du début du fichier" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "Continuer la recherche à partir du bas du fichier ?" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "" +"Impossible de trouver un module externe capable de traiter le document " +"indiqué." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "Signature non implémentée pour ce type de document" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "Supprimer des annotations" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"Le document tente de lancer une application externe. Pour votre sécurité, " +"Okular interdit cela." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "Aucune application trouvée pour ouvrir le fichier de type MIME « %1 »." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "Impossible d'ouvrir un fichier temporaire" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "La conversion d'impression a échoué" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "Le processus d'impression s'est arrêté brutalement" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "Le processus d'impression n'a pas pu démarrer" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "L'impression dans un fichier a échoué" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "L'imprimante était dans un état non valable" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "Impossible de trouver le fichier à imprimer" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "Il n'y avait aucun fichier à imprimer" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"Impossible de trouver un exécutable adapté à l'impression. Veuillez vérifier " +"que le binaire CUPS « lpr » est disponible" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "La taille de page pour l'impression est incorrecte" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "Impossible d'ouvrir « %1 ». Le fichier n'existe pas." + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Titre" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Objet" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Description" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "Auteur" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Créateur" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Producteur" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "Droit d'auteur" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "Pages" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Créé" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Modifié" + +#: core/document.cpp:6032 +#, kde-format +msgid "MIME Type" +msgstr "Type « MIME »" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "Catégorie" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Mots-clés" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "Emplacement du fichier" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "Taille du fichier" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "Taille de page" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "Ajouter une annotation" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "Supprimer une annotation" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "Modifier les propriétés d'annotation" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "Traduire une annotation" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "ajuster l'annotation" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "Modifier du texte" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "Modifier un contenu d'annotation" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "Modifier un contenu de formulaire" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "Modifier des choix de liste de formulaire" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "Modifier la sélection de liste déroulante" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "Modifier les états de boutons de formulaire" + +#: core/generator.cpp:790 +#, kde-format +msgid "Plain &Text…" +msgstr "&Texte brut..." + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "Texte « OpenDocument »" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "Options d'impression" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "Ajuster à la zone imprimable" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "Ajuster à la page entière" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "Mode de mise à l'échelle :" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "Ne plus afficher ce message" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "Non disponible" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" +"Erreur de signature interne. Veuillez signaler un bogue avec les étapes pour " +"le reproduire. Le code d'erreur est : %1" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "Impossible de signer le document : %1" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "La signature a été annulée par l'utilisateur." + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "Impossible de faire une signature car phrase de passe incorrecte" + +#: core/signatureutils.cpp:504 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" +"Impossible d'écrire le document signé à l'emplacement %1. Veuillez vous assurer que vous avez sélectionné un dossier pour " +"lequel vous avez les droits en écriture." + +#: core/signatureutils.cpp:506 +#, kde-format +msgid "Unknown signing error" +msgstr "Erreur inconnue lors de la signature" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Source : %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "Police par &défaut :" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "Version" + +#: gui/certificatemodel.cpp:41 +#, kde-format +msgid "Serial Number" +msgstr "Numéro de série" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "Émetteur" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "Émis le :" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "Expire le :" + +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Sujet" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "Clé publique" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "Utilisation de la clé" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "V%1" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "%1 (%2 bits)" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "Propriété" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "Valeur" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "Note épinglée" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "Machine à écrire" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "Note intégrée" + +#: gui/guiutils.cpp:56 +#, kde-format +msgid "Arrow with Comment" +msgstr "Flèche avec commentaire" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "Flèche" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "Ligne droite avec commentaire" + +# unreviewed-context +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "Ligne droite" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "Polygone avec commentaire" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "Polygone" + +#: gui/guiutils.cpp:71 +#, kde-format +msgid "Rectangle with Comment" +msgstr "Rectangle avec commentaire" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "Rectangle" + +#: gui/guiutils.cpp:74 +#, kde-format +msgid "Ellipse with Comment" +msgstr "Ellipse avec commentaire" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "Ellipse" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "Surbrillance avec commentaire" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "Surbrillance" + +#: gui/guiutils.cpp:87 +#, kde-format +msgid "Squiggle with Comment" +msgstr "Gribouillis avec commentaire" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "Gribouillis" + +#: gui/guiutils.cpp:91 +#, kde-format +msgid "Underline with Comment" +msgstr "Souligné avec commentaire" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "Souligné" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out with Comment" +msgstr "Barré avec commentaire" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "Barré" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "Tampon avec commentaire" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "Tampon" + +#: gui/guiutils.cpp:106 +#, kde-format +msgid "Freehand Line with Comment" +msgstr "Ligne à main levée avec commentaire" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "Ligne à main levée" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "Curseur" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "Pièces jointes" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "Son" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "Film" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Écran" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "Composant graphique" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "Média riche" + +#: gui/guiutils.cpp:144 +#, kde-format +msgid "Annotation" +msgstr "Annotation" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "Inconnu" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Auteur : %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "Où voulez-vous enregistrer %1 ?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "" +"Impossible d'ouvrir « %1 » en écriture. Le fichier n'a pas été enregistré." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "La signature est valable au niveau du chiffrement." + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "La signature est non valable au niveau du chiffrement." + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "Les signatures ne correspondent pas." + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "La structure CMS/PKCS7 de la signature est malformée." + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "La signature demandée n'est pas présente dans le document." + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "Impossible de vérifier la signature." + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "Le certificat est de confiance." + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "L'émetteur du certificat n'est pas de confiance." + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "L'autorité de certification est inconnue." + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "Le certificat a été révoqué." + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "Le certificat a expiré." + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "Le certificat n'a pas encore été vérifié." + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "Validation du certificat en cours" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "Erreur inconnue avec ce certificat ou données corrompues." + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "MD2" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "MD5" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "SHA1" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "SHA256" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "SHA384" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "SHA512" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "SHA224" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "Algorithme inconnu" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "RSA" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "DSA" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "EC" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "Type inconnu" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "Signature numérique" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "Non-répudiation" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "Clés de chiffrement" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "Déchiffrer les clés" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "Accord de clé" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "Certificat de signature" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "Signer en CRL" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "Chiffrer uniquement" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "Aucun usage spécifié" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr ", " + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "Le document n'a pas été modifié depuis qu'il a été signé." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" +"La révision de ce document couverte par la signature n'a pas été modifiée ;\n" +"cependant, des modifications ont été apportées ultérieurement au document." + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" +"Le document a été modifié d'une manière non permise par un signataire " +"précédent." + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "Impossible de mener à bien la vérification d'intégrité." + +#: gui/signatureguiutils.cpp:208 +#, kde-format +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "Ce document possède des champs d’espace réservé pour signature." + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "Ce document est signé numériquement." + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "" +"Ce document est signé numériquement. Il y a eu des modifications depuis la " +"dernière signature." + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" +"Ce document est signé numériquement. Certaines de ses signatures ne peuvent " +"être correctement validées." + +#: gui/signaturemodel.cpp:141 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "Espace réservé de signature %1" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "Champ : %1 en page %2" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "Rév. %1: Signé par %2" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "Moment de la signature : %1" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "Raison : %1" + +#: gui/signaturemodel.cpp:177 +#, kde-format +msgid "Location: %1" +msgstr "Emplacement : %1" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "Signatures « PGP »" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "Adobe PKCS7" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "Adobe PKCS7 Sha1" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "ETSI CAdES" + +#: gui/signaturemodel.cpp:193 +#, kde-format +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "Inconnu" + +#: gui/signaturemodel.cpp:195 +#, kde-format +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "Espace réservé de signature" + +#: gui/signaturemodel.cpp:201 +#, kde-format +msgid "Signature Type: %1" +msgstr "Type de signature : %1" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "Rouge" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "Orange" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "Jaune" + +#: part/annotationactionhandler.cpp:151 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "Vert" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "Cyan" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "Bleu" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "Magenta" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "Blanc" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "Gris" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "Noir" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "Largeur %1" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "Largeur de la ligne d'annotations (Aucune annotation sélectionnée)" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "Couleur des annotations (Aucune annotation sélectionnée)" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "" +"Couleur du remplissage des annotations (Aucune annotation sélectionnée)" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "Opacité des annotations (Aucune annotation sélectionnée)" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "Police des annotations (Aucune annotation sélectionnée)" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" +"Ajouter l'annotation courante au menu rapide des annotations (Aucune " +"annotation sélectionnée)" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" +"Contraindre le ration de profil à 1:1 ou l'angle de ligne à des pas de 15° " +"(Aucune annotation sélectionnée)" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" +"Paramètres avancés pour l'outil courant d'annotation (Aucune annotation " +"sélectionnée)" + +#: part/annotationactionhandler.cpp:308 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Largeur de la ligne d'annotations" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "" +"Largeur de la ligne d'annotations (L'annotation courante ne possède aucune " +"largeur de ligne)" + +#: part/annotationactionhandler.cpp:314 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Couleur du texte des annotations" + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "Couleur de bordure des annotations" + +#: part/annotationactionhandler.cpp:318 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Couleur des annotations" + +#: part/annotationactionhandler.cpp:322 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Couleur du remplissage des annotations" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "" +"Couleur de remplissage des annotations (L'annotation courante ne possède " +"aucune couleur de remplissage)" + +#: part/annotationactionhandler.cpp:328 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "Police des annotations" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "" +"Police des annotations (L'annotation courante ne possède aucune police)" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "Contraindre à un angle de ligne à des pas de 15°" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "Contraindre le ration de profil à 1:1" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" +"Contraindre le ration de profil à 1:1 ou l'angle de ligne à des pas de 15° " +"(Non pris en charge par l'annotation courante)" + +#: part/annotationactionhandler.cpp:341 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Opacité des annotations" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "Ajouter l'annotation courante au menu rapide des annotations " + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "Paramètres avancés pour l'outil courant d'annotation" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "Couleur" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "Couleur de remplissage" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "Transparent" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "Couleur personnalisée..." + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "Sélectionner une couleur" + +#: part/annotationactionhandler.cpp:552 +#, kde-format +msgid "&Annotations" +msgstr "&Annotations" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "Cacher" + +#: part/annotationactionhandler.cpp:554 +#, kde-format +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Afficher plus d'outils d'animations" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "Surligneur" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "Souligné" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "Gribouillis" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "Barré" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Machine à écrire" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "Note intégrée" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "Note contextuelle" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "Ligne à main levée" + +# unreviewed-context +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "Ligne droite" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "Flèche" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "Rectangle" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "Ellipse" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "Polygone" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "Formes géométriques" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "Tampon" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Annotations rapides" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "Sélectionner un outil d'annotation à partir des annotations rapides" + +#: part/annotationactionhandler.cpp:651 +#, kde-format +msgid "Quick Annotation Bar" +msgstr "Barre pour annotations rapides" + +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "Ajouter une annotation rapide" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "Conserver actif" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "Conserver l'outil d'annotation actif après utilisation" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "Contraindre le ratio et l'angle des outils d'annotation" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "Police" + +#: part/annotationactionhandler.cpp:681 +#, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Paramètres d'annotations" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "Largeur de ligne" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "Opacité" + +#: part/annotationactionhandler.cpp:696 +#, kde-format +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1 %" + +#: part/annotationmodel.cpp:320 +#, kde-format +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "Page %1 (%2)" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "Page %1" + +#: part/annotationpopup.cpp:85 +#, kde-format +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "Annotation" +msgstr[1] "%1 annotations" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "&Ouvrir une note épinglée" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Supprimer un signet" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Ajouter un signet" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, kde-format +msgid "Copy Text to Clipboard" +msgstr "Copier le texte dans le presse-papier" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "Copie interdite par « DRM »" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "&Supprimer" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "&Propriétés" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, kde-format +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "Enregi&strer « %1 »..." + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "&Apparence" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "&Général" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&Auteur :" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "Créé :" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "Modifié :" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "Propriétés de la note épinglée" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "Propriétés de la machine à écrire" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "Propriétés de note en ligne" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "Propriétés de ligne droite" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "Propriétés de polygone" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "Propriétés de forme géométrique" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "Propriétés de balise de texte" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "Propriétés de tampon" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "Propriétés de ligne à main levée" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "Propriétés de curseur" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "Propriétés des pièces jointes" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "Propriétés de son" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "Propriétés de film" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "Propriétés d'annotation" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "Sélectionner un symbole de tampon personnalisé depuis un fichier" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "Sélectionner un symbole de tampon personnalisé" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" +"*.ico *.png *.xpm *.svg *.svgz | Fichiers d'icônes (*.ico *.png *.xpm *.svg " +"*.svgz)" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "Impossible de charger le fichier %1" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "Fichier non valable" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&Couleur :" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, kde-format +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%v %" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "&Opacité :" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "Icône :" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "Commentaire" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "Aide" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "Insérer" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "Clé" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "Nouveau paragraphe" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "Note" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "Paragraphe" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Police :" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "Couleur du &texte :" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "&Alignement :" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "Gauche" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "Centré" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "Droite" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "Lar&geur de la bordure :" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "Approuvé" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "Tel quel" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "Confidentiel" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "Départemental" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "Brouillon" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "Expérimental" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "Expiré" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "Final" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "Pour commentaires" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "Pour version publique" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "Non approuvé" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "Non en version publique" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "Vendu" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "Top secret" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "Signet" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "Informations" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "Symbole de tampon :" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "Larg&eur :" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "Début de ligne :" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "Fin de ligne :" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "Carré" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "Cercle" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "Losange" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "Flèche ouverte" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "Flèche fermée" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "Aucun" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "Bout" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "Flèche ouverte vers la droite" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "Flèche ferlée vers la droite" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "Barre oblique" + +#: part/annotationwidgets.cpp:531 +#, kde-format +msgid "Leader line length:" +msgstr "Longueur de ligne d'en-tête :" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "Longueur des extensions de ligne d'en-tête :" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "Activé" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "Remplissage de la forme :" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Type :" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "Barré" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "Symbole des pièces jointes :" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "Graphique" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "Épingle" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "Trombone" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "Marqueur" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "Fichier" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "Non applicable" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "Aucune description disponible." + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "Nom :" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "Description :" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "Symbole de curseur :" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "Aucun" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "Fermer cette note" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "Options" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"Cette annotation peut contenir du code LaTeX.\n" +"Cliquer ici pour en effectuer le rendu." + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "Impossible de trouver l'exécutable LaTeX." + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "Le rendu LaTeX a échoué" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "Impossible de trouver l'exécutable « dvipng »." + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "Un problème est survenu durant l'exécution de la commande « latex »." + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "Un problème est survenu durant l'exécution de la commande « dvipng »." + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"Un signet" +msgstr[1] "" +"%1\n" +"\n" +"%2 signets" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Signets" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "Afficher pour tous les documents" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, kde-format +msgid "Search…" +msgstr "Rechercher…" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, kde-format +msgid "Expand All" +msgstr "Tout développer" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, kde-format +msgid "Collapse All" +msgstr "Tout réduire" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "Aller à ce signet" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "Renommer un signet" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Ouvrir un document" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "Supprimer tous les signets pour ce document" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "Afficheur de certificat" + +#: part/certificateviewer.cpp:50 +#, kde-format +msgid "Export…" +msgstr "Exporter..." + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "Général" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "Émis par" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "Nom commun (NC)" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "Adresse mail" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "Organisation(O)" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "Émis pour" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "Validité" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "Empreintes numériques" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "Empreinte SHA-1" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "Empreinte SHA-256" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "Détails" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "Données du certificat :" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "Où voulez-vous enregistrer ce certificat ?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "Fichier de certificat (*.cer)" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "Impossible d'exporter le certificat" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "Mode de &couleurs" + +#: part/colormodemenu.cpp:21 +#, kde-format +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "Modifier les couleurs" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "Couleurs &normales" + +#: part/colormodemenu.cpp:41 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "&Inverser les couleurs" + +#: part/colormodemenu.cpp:42 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "Modifier la couleur du &papier" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "Modifier les couleurs &sombre et claire" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "Convertir en noir et &blanc" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "Inverser la &luminosité" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "Inverser la l&uminance (Linéaire sRGB)" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "Inverser la luminance (&Symétrique)" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "Décaler la teinte en p&ositif" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "Décal&er la teinte en négatif" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "Rouge" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "Vert" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "Bleu" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "Jaune" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "Noir" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "Blanc" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "Surbrillance jaune" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "Surligneur en vert" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "Insérer du texte" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "Dessiner des bordures autour des liens" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "Modifier les couleurs" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "" +"Attention : Ces options peuvent affecter défavorablement les " +"performances d'affichage." + +#: part/dlgaccessibility.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "Inverser les couleurs" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "Modifier la couleur du papier" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "Modifier les couleurs sombre et claire" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "Convertir en noir et blanc" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "Inverser la luminosité" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "Inverser la luminance (Linéaire « sRGB »)" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "Inverser la luminance (Symétrique)" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "Décaler la teinte en positif" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "Décaler la teinte en négatif" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "Mode de couleurs :" + +#: part/dlgaccessibility.cpp:87 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Couleur du papier :" + +#: part/dlgaccessibility.cpp:99 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Couleur sombre :" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "Couleur claire :" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "Seuil :" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Contraste :" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "Moteur de synthèse vocale :" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "Voix de synthèse vocale :" + +#: part/dlgannotations.cpp:25 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Barre d'outils pour annotations complètes" + +#: part/dlgannotations.cpp:26 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Barre d'outils pour annotations rapides" + +#: part/dlgannotations.cpp:28 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Barre d'outils d'annotations :" + +#: part/dlgannotations.cpp:34 +#, kde-format +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "Auteur :" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"Remarque : ces informations ne sont utilisées que pour les " +"annotations. Les informations sont enregistrées dans les documents annotés. " +"Elles seront par conséquent transmises avec le document." + +#: part/dlgannotations.cpp:48 +#, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

Quick Annotation Tools

" +msgstr "

Outils rapides d'annotations

" + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" +"Sélectionner l'éditeur à lancer lors de la tentative d'ouverture d'un " +"fichier source par Okular." + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "Éditeur de texte personnalisé" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Client Emacs" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "Client LyX" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "TeXstudio" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "TeXiFy IDEA" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "Éditeur :" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
\n" +"You can also put few placeholders:\n" +"
    \n" +"
  • %f - the file name
  • \n" +"
  • %l - the line of the file to be reached
  • \n" +"
  • %c - the column of the file to be reached
  • \n" +"
\n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"Définit la commande d'un éditeur de texte personnalisé à lancer.
\n" +"Vous pouvez aussi saisir des chaines de remplacement :\n" +"
    \n" +"  
  • %f - le nom de fichier
  • \n" +"  
  • %l - la ligne du fichier à atteindre
  • \n" +"  
  • %c - la colonne du fichier à atteindre
  • \n" +"
\n" +"Si l'option « %f » n'est pas indiquée, alors le nom du fichier est ajouté à " +"la commande spécifiée." + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "Commande :" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "Utiliser un défilement doux" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "Apparence :" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "Afficher les barres de défilement" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "Lier les vignettes à la page" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "Afficher les astuces et les messages d'informations" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "Signaler les fichiers, formulaires ou signatures intégrés" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "Afficher le titre du document dans la barre de titre, si disponible" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "Afficher uniquement le nom du fichier" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "Afficher l'emplacement complet du fichier" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "Lorsque le titre du document n'est pas affiché :" + +#: part/dlggeneral.cpp:92 +#, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "Utiliser une couleur d'arrière-plan personnalisée :" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "Fonctionnalités du programme :" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "Ouvrir les nouveaux fichiers dans des onglets" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "Basculer vers un onglet existant si le fichier est déjà ouvert" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "Se conformer aux limitations « DRM »" + +#: part/dlggeneral.cpp:148 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "Recharger le document en cas de modification du fichier" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "Afficher la boite de dialogue de sélection du moteur de rendu" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "Sens de lecture de droite à gauche" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" +"Utilisez les informations du fichier pour déterminer s'il faut ouvrir en " +"mode continu par défaut" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" +"Ouvrir en mode continu par défaut les fichiers sans informations de " +"propriétés" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "Ouvrir en mode continu par défaut" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" +"Lors de l'utilisation de l'outil de navigation, renvoyer le curseur sur les " +"bords de l'écran" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "Éléments dans l'historique récent :" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "Colonnes d'aperçus :" + +#: part/dlggeneral.cpp:220 +#, kde-format +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%v %" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" +"Définit quelle proportion de la zone actuelle d'affichage sera encore " +"visible lors d'un appui sur les touches « Page précédente » / « Page " +"suivante »." + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "" +"Chevauchement pour les touches « Page précédente » / « Page suivante » :" + +#: part/dlggeneral.cpp:228 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%v %" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "100 %" + +#: part/dlggeneral.cpp:233 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "Adapter à la largeur" + +#: part/dlggeneral.cpp:234 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "Adapter à la page" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "Adapter automatiquement" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "Personnalisé" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" +"Définit le mode de zoom par défaut pour les fichiers n'ayant jamais été " +"ouverts. Pour les fichiers ayant déjà été ouverts, le dernier niveau de zoom " +"utilisé est appliqué." + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "Zoom par défaut :" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "Activer les effets de transparence" + +#: part/dlgperformance.cpp:28 +#, kde-format +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "Utilisation du processeur :" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "Faible" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "Normal (Par défaut)" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "Agressif" + +#: part/dlgperformance.cpp:38 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "Gourmand" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "Utilisation de la mémoire :" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "Activer l'anticrénelage pour le texte" + +#: part/dlgperformance.cpp:56 +#, kde-format +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "Options de rendu :" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "Activer l'anticrénelage pour les images" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "Activer le lissage du texte" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"Maintient la quantité de mémoire utilisée aussi faible que possible. Ne ré-" +"utilise rien (pour les systèmes ayant peu de mémoire)." + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"Un bon compromis entre l'utilisation de la mémoire et le gain de rapidité. " +"Précharge la prochaine page et accélère les recherches (pour les systèmes " +"possédant généralement 2 Go de mémoire)." + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"Conserve tout en mémoire. Précharge les prochaines pages. Accélère les " +"recherches (pour les systèmes possédant plus de 4 Go de mémoire)." + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" +"Charge et conserve tout en mémoire. Précharge toutes les pages (utilisera au " +"maximum 50 % de la quantité totale de mémoire ou la mémoire disponible, " +"selon la valeur la plus élevée)." + +#: part/dlgpresentation.cpp:38 +#, kde-format +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] "chaque %v seconde" +msgstr[1] "chaque %v seconde" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "Avancer automatiquement :" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "Boucler après la dernière page" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "Tapez du côté gauche / droit pour aller en arrière / en avant" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "Tapez n'importe où pour aller en avant" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "Désactivé" + +#: part/dlgpresentation.cpp:63 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Navigation tactile :" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "Couleur de l'arrière plan :" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "Masqué après un délai" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "Toujours visible" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "Toujours masqué" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "Pointeur de la souris :" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "Afficher l'indicateur de progression" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "Afficher la page de sommaire" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "Instantané (Ne jamais utiliser d'animations)" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "Remplacer" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "Transition aléatoire" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "Masquer verticalement" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "Masquer horizontalement" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "Mettre en boite" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "Sortir d'une boite" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "Dissoudre" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "Fondu" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "Scintiller en bas" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "Scintiller à droite" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "Scintiller en bas et à droite" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "Séparer horizontalement de l'intérieur" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "Séparer horizontalement de l'extérieur" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "Séparer verticalement de l'intérieur" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "Séparer verticalement de l'extérieur" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "Balayer vers le bas" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "Balayer vers la droite" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "Balayer vers la gauche" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "Balayer vers le haut" + +#: part/dlgpresentation.cpp:121 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Transition par défaut :" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "Écran préféré :" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

Drawing Tools

" +msgstr "

Outils de dessin

" + +#: part/dlgpresentation.cpp:171 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Écran courant" + +#: part/dlgpresentation.cpp:172 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Écran par défaut" + +#: part/dlgpresentation.cpp:178 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "Écran %1 (%2 %3 %4)" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "Écran %1 (déconnecté)" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "Outil de dessin : %1" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "Gomme" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "&Nom :" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "&Type :" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "Apparence" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "Balise de texte" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "Forme géométrique" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "Outil de création d'annotations" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "Outil de modification d'annotations" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "&Couleur :" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "Largeur du pinceau :" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "%v px" + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "Créer un outil de dessin" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "Modifier l'outil de dessin" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "Inconnue" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Fichiers intégrés" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "Affichage" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "Nom" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "Description" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "Taille" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "Créé" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "Modifié" + +#: part/embeddedfilesdialog.cpp:154 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "Enregistrer &sous…" + +#: part/embeddedfilesdialog.cpp:155 +#, kde-format +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "&Afficher..." + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "Impossible de charger le composant d'aperçu avant impression" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "Aperçu avant impression" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "Fermer" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "T&rouver :" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "Texte à rechercher" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Suivant" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "Se déplacer à la correspondance suivante" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Précédent" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "Se déplacer à la correspondance suivante" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "Modifier le comportement de recherche" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "Sensible à la casse" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "À partir de la page actuelle" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "Rechercher au fur et à mesure de la saisie" + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "Tous les fichiers (*)" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "Espace réservé de signature (Veuillez cliquer pour signer)" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "&Signer..." + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "Propriétés de la signature" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "Options de recherche" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "Sensible à la casse" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "Expression rationnelle" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "Calques" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "sur" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "Redimensionner" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "Zoomer à 100 %" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "Fai&re pivoter à droite" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "Droite" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "Fai&re pivoter à gauche" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "Gauche" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "Orientation originale" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "&Rogner l'affichage" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "Réduire les &marges" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "Rogner à la &sélection" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "Adapter à la &largeur" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "Adapter à la &page" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "&Adapter automatiquement" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "Adapter la fe&nêtre à la page" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "Mode d'&affichage" + +#: part/pageview.cpp:594 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "Page &unique" + +#: part/pageview.cpp:595 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "Pages en &face à face" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "Pages en face-à-face (&Centrer la première page)" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "A&perçu" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "&Continu" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "Utiliser la direction de lecture de droite à gauche" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "&Parcourir" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "&Zoom" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "&Sélection d'une zone" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "Sélection de &texte" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "Sélection de t&ableau" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "&Magnifier" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "Outils de sélection" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "&Signer numériquement..." + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "Énoncer vocalement le document entier" + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "Énoncer vocalement la page actuelle" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "Énoncer vocalement la page actuelle" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "Arrêter l'énonciation vocale" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "Mettre en pause / Reprendre le discours" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "Monter" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Descendre" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "Faire défiler la page vers le haut" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "Faire défiler la page vers le bas" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "Afficher les formulaires" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] "Chargement d'un document d'une page." +msgstr[1] "Chargement d'un document de %1 pages." + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "Copier les contenus de la table dans le presse-papier" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "Texte (1 caractère)" +msgstr[1] "Texte (%1 caractères)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "Copier dans le presse-papier" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "Énoncer vocalement le texte" + +#: part/pageview.cpp:2863 +#, kde-format +msgid "Image (%1 × %2 pixels)" +msgstr "Image (%1 par %2 pixels)" + +#: part/pageview.cpp:2865 +#, kde-format +msgid "Save to File…" +msgstr "Enregistrer vers un fichier..." + +#: part/pageview.cpp:2885 +#, kde-format +msgid "Image [%1 × %2] copied to clipboard." +msgstr "Image [%1 x %2] copiée dans le presse-papier." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "Enregistrer le fichier" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "Images (*.png *.jpeg)" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "Fichier non enregistré." + +#: part/pageview.cpp:2901 +#, kde-format +msgid "Image [%1 × %2] saved to %3 file." +msgstr "Image [%1 x %2] copiée dans le fichier %3." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "Copier du texte" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "Aller à « %1 »" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "Adapter à la largeur" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "Adapter à la page" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "Adapter automatiquement" + +#: part/pageview.cpp:4107 +#, kde-format +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1 %" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "Recherche de « %1 » avec" + +#: part/pageview.cpp:4404 +#, kde-format +msgid "Configure Web Shortcuts…" +msgstr "Configurer des raccourcis Internet..." + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "Suivre ce lien" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "Jouer ce son" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "Arrêter le son" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "Copier l'adresse du lien" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "Chercher « %1 » dans ce document" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Bienvenue" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "" +"Sélectionner une zone à redimensionner. Utiliser le clic droit pour réduire." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "Cliquez pour voir la vue magnifiée." + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "Dessiner un rectangle autour du texte ou de l'image à copier." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "Sélectionner du texte" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" +"Dessiner un rectangle autour du tableau puis cliquer près des bords pour le " +"diviser. Appuyez sur « Échap » pour effacer." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" +"Tous vos certificats de signature sont non valables. Dans le cas où la " +"signature a fonctionné dans le passé avec eux, veuillez vérifier leurs dates " +"de validité." + +#: part/pageview.cpp:5188 +#, kde-format +msgid "No valid certificates" +msgstr "Aucun certificat valable." + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, kde-format +msgid "Open Certificate Manager" +msgstr "Ouvrir le gestionnaire de certificats" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
Launch Certificate Manager " +"to import or manage certificates
For more information, please see the " +"section about
Adding Digital Signatures in the manual." +msgstr "" +"Il n'y a aucun certificat disponible de signature.
Veuillez lancer le " +"gestionnaire de certificats pour importer ou gérer des certificats.Pour plus " +"d'informations, veuillez consulter la section concernant l'ajout de signatures numériques dans le manuel." + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, kde-format +msgid "No certificates found" +msgstr "Aucun certificat trouvé" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" +"Il n'y a aucun certificat de signature
Pour plus d'informations, " +"veuillez consulter la section concernant l'Ajout de " +"signatures numériques dans le manuel." + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" +"Vous avez des modifications non enregistrées. Veuillez enregistrer le " +"document avant de le signer." + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "Dessiner un rectangle pour insérer un champ de signature" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "" +"Dessiner un rectangle autour de la zone de la page à conserver visible." + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "Nouvelle note de texte" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "Texte de la nouvelle note :" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Signé par : %1\n" +"\n" +"Date : %2" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" +"Une signature de cette taille pourrait être trop petite pour la lecture. Si " +"vous vouliez créer une signature potentiellement plus lisible, appuyez " +"Recommencer et dessiner un rectangle plus grand." + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "Recommencer" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "Signer" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name" +msgstr "Nom de l'auteur" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name for the annotation:" +msgstr "Nom de l'auteur pour l'annotation :" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "Dessiner une ellipse (faites la glisser pour sélectionner une zone)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "Mettre du texte en surbrillance" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "Dessiner une ligne à main levée" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "" +"Annotation de texte en ligne (faites le glisser pour sélectionner une zone)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "Insérer une note épinglée" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "Dessiner un polygone (pour le fermer, cliquez sur le premier point)" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "Dessiner un rectangle" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "Gribouiller du texte" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "Poser un symbole de tampon" + +# unreviewed-context +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "Dessiner une ligne droite" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "Barrer du texte" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "Souligner du texte" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "" +"Annotation machine à écrire (faites le glisser pour sélectionner une zone)" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "Surligneur" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "Ajouter une annotation favorite" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Custom annotation name:" +msgstr "Nom d'annotation personnalisé :" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&Fichier" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "&Configuration" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "&Aide" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "&Orientation" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "&Signets" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "Barre de l'afficheur" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Vignettes" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "Annotations" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" +"Ce document contient des annotations ou des données de formulaire qui ont " +"été enregistrées en interne par une version précédente de Okular. Le " +"stockage interne n'est plus géré.
Veuillez les enregistrer vers " +"un fichier ou les déplacer si vous voulez continuer à éditer ce document." + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"Ce document contient des fichiers intégrés. Cliquer ici pour les afficher ou sélectionnez « Fichier » / " +"« Fichiers intégrés »." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" +"Signature en cours. Vous pouvez ajuster la position et la taille de la " +"signature" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "Terminer la signature" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "Précédente" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "Aller à la page précédente" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "Se déplace sur la page précédente du document" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "Suivante" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "Avance à la page suivante" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "Se déplace sur la page suivante du document" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "Début du document" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "Se déplace au début du document" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "Fin du document" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "Se déplace à la fin du document" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "Renommer le signet actuel" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "Signet précédent" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "Aller au signet précédent" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "Signet suivant" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "Aller au signet suivant" + +#: part/part.cpp:748 +#, kde-format +msgid "Configure Okular…" +msgstr "Configurer Okular..." + +#: part/part.cpp:751 +#, kde-format +msgid "Configure Viewer…" +msgstr "Configurer l'afficheur..." + +#: part/part.cpp:757 +#, kde-format +msgid "Configure Viewer Backends…" +msgstr "Configurer les moteurs de l'afficheur..." + +#: part/part.cpp:759 +#, kde-format +msgid "Configure Backends…" +msgstr "Configurer les moteurs..." + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "À propos des moteurs de rendu..." + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "Rechar&ger" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "Recharger le document actuel à partir du disque." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "&Fermer la barre de recherche" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "Numéro de page" + +#: part/part.cpp:817 +#, kde-format +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "Configurer les modes de couleurs..." + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "Sélectionner tout le texte de la page actuelle" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "Aff&icher la barre latérale" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "Afficher la barre des &pages" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "Afficher le panneau des &Signatures" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "Fichi&ers intégrés" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "E&xporter comme" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "Partager" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "P&résentation" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "Ouvrir le dossier con&tenant" + +#: part/part.cpp:945 +#, kde-format +msgid "&Import PostScript as PDF…" +msgstr "&Importer du format « PostScript » comme du « PDF »..." + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "Bascule en mode « Écran noir »" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "Effacer les dessins" + +#: part/part.cpp:962 +#, kde-format +msgid "Configure Annotations…" +msgstr "Configurer les annotations..." + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "Lecture/Pause de la présentation" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" +"Vous venez de modifier un document ouvert. Mais, ce genre de document ne " +"peut être enregistré.\n" +" Toute modification sera perdue une fois Okular fermé." + +#: part/part.cpp:1123 +#, kde-format +msgid "Document can't be saved" +msgstr "Le document ne peut être enregistré." + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "Impossible d'ouvrir « %1 » (%2) " + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "Le chargement de %1 a été annulé." + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "Impossible d'ouvrir « %1 ». Raison : %2" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "Configurer les moteurs de rendu de l'afficheur" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "Configurer les moteurs de rendu" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"Impossible de trouver le programme « ps2pdf ». Par conséquent, il est " +"impossible pour Okular de l'utiliser pour importer des fichiers « PS »." + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "Impossible de trouver le programme « ps2pdf »" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "Fichiers PostScript (%1)" + +#: part/part.cpp:1357 +#, kde-format +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "" +"Importation de fichier du format « PS » vers « PDF » (Ceci peut prendre un " +"certain temps)..." + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "Veuillez saisir le mot de passe pour ouvrir le document :" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "Mot de passe incorrect, veuillez réessayer :" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "Mot de passe du document" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" +"Ce document utilise des formulaires « XFA » qui ne sont pas encore pris " +"en charge." + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"Ce document contient des formulaires. Cliquer sur le bouton pour interagir " +"avec eux ou utiliser « Affichage » / « Afficher les formulaires »." + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" +"Toutes les fonctionnalités interactives et de modification pour ce document " +"sont désactivées. Veuillez enregistrer une copie et rouvrir pour modifier ce " +"document." + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" +"Ce document souhaite être affiché en plein écran.\n" +"Quitter le mode normal et entrer dans le mode présentation ?" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "Demander avant de changer de mode d'affichage" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "Entrer en mode « Présentation »" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "Refuser la demande" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "Impossible d'ouvrir « %1 ». %2" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" +"Le fichier %1 contient des modifications non " +"enregistrées mais a été modifié par un autre programme. Son rechargement " +"remplacera les modifications non enregistrées par les changements réalisés " +"dans l'autre programme. Voulez-vous vraiment recharger le " +"fichier ?" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "Fichier modifié" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "Continuer le rechargement" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "Interrompre le rechargement" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" +"Le fichier %1 contient des modifications non " +"enregistrées mais a été modifié par un autre programme. Sa fermeture " +"remplacera les modifications non enregistrées par les changements réalisés " +"dans l'autre programme. Voulez-vous vraiment fermer le fichier ?" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "Continuer la fermeture" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "Annuler la fermeture" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "Voulez-vous enregistrer vos modifications dans « %1 » ou les annuler ?" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "Fermer le document" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"Ce lien pointe vers une action de fermeture du document, ne fonctionnant pas " +"lors de l'utilisation de l'afficheur intégré." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"Ce lien pointe vers une action de fermeture du document, ne fonctionnant pas " +"lors de l'utilisation de l'afficheur intégré." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, kde-format +msgid "Reloading the document…" +msgstr "Rechargement du document en cours..." + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "Contenus" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "Signatures" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Aller à la page" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "&Page :" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "Saisissez le nouveau nom du signet :" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "Renommer ce signet" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "Supprimer ce signet" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "Enregistrer sous" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" +"Vous avez choisi d'enregistrer une archive de Okular sans que le nom du " +"fichier ne se termine par l'extension « %1 ». Cela n'est pas autorisé. " +"Voulez-vous choisir un nouveau nom ?" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "Extension non prise en charge" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "Sélectionner un nouveau nom" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" +"Le fichier %1 a été modifié par un autre programme. Si " +"vous faites un enregistrement maintenant, toute modification effectuée dans " +"l'autre programme sera perdue. Voulez-vous vraiment continuer ?" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "Enregistrer - Avertissement" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "Enregistrer une copie quelque part ailleurs" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
Do you want to continue?" +msgstr "" +"Le document courant est protégé par un mot de passe.
Pour enregistrer, " +"le fichier doit être rechargé. Le mot de passe vous sera demandé et votre " +"historique d'annulation sera perdu.
Voulez-vous continuer." + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "Impossible d'ouvrir le fichier temporaire pour enregistrement." + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" +"Il est impossible d'écraser le fichier %1 car il est en " +"lecture seule. Veuillez essayer de l'enregistrer dans un autre emplacement " +"ou de modifier ses permissions." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
Do you want to continue?" +msgstr "" +"Après l'enregistrement, le format de document nécessite que le fichier soit " +"rechargé. Votre historique d'annulation sera perdu.
Voulez-vous " +"continuer ?" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "" +"Impossible d'enregistrer le fichier dans « %1 ». Veuillez essayer de " +"l'enregistrer dans un autre emplacement." + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "Contenus de formulaire remplis" + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "Annotations de l'utilisateur" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" +"Vous êtes sur le point d'enregistrer des modifications, mais le format " +"courant ne gère pas l'enregistrement des éléments suivants. Veuillez " +"utiliser le format Archive de document Okular pour les conserver." + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "Avertissement" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "Enregistrer comme archive de document Okular..." + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" +"Vous êtes sur le point d'enregistrer des modifications, mais le format " +"courant ne gère pas l'enregistrement des éléments suivants. Veuillez " +"utiliser le format Archive de document Okular pour les conserver. " +"Cliquez sur Continuer pour enregistrer le document et perdre ces " +"éléments." + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" +"Vous êtes sur le point d'enregistrer des modifications, mais le format " +"courant ne gère pas l'enregistrement des éléments suivants. Veuillez " +"utiliser le format Archive de document Okular pour les conserver. " +"Cliquez sur Continuer pour enregistrer le document. Vous perdrez ces " +"éléments et votre historique d'annulation." + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "Continuer" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "Continuer en perdant les modifications" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "Impossible d'enregistrer le fichier dans « %1 ». %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"Il est impossible à Okular de copier %1 à l'emplacement indiqué.\n" +"\n" +"Le document n'existe plus." + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" +"Impossible d'enregistrer le fichier dans « %1 ». Erreur « %2 ». Veuillez " +"essayer de l'enregistrer dans un autre emplacement." + +#: part/part.cpp:3158 +#, kde-format +msgid "Expand Whole Section" +msgstr "Développer la totalité de la sélection" + +#: part/part.cpp:3159 +#, kde-format +msgid "Collapse Whole Section" +msgstr "Réduire la totalité de la sélection" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "Synchroniser la vignette à la page" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Outils" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "Énoncer vocalement" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "Imprimer" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "L'impression de ce document n'est pas autorisée." + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"Impossible d'imprimer le document. Erreur inconnue. Veuillez rapporter ce " +"bogue à « bugs.kde.org »" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"Impossible d'imprimer le document. L'erreur détaillée est « %1 ». Veuillez " +"rapporter ce bogue à « bugs.kde.org »" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "Aller à l'emplacement précédent" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "Aller à l'emplacement suivant" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"
%1." +msgstr "" +"Erreur de fichier ! Impossible de créer le fichier " +"temporaire %1." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"Erreur de fichier ! Impossible d'ouvrir le fichier " +"%1 pour décompression. Le fichier ne sera pas " +"chargé." + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"Cette erreur arrive habituellement si vous n'avez pas les droits d'accès " +"en lecture sur le fichier. Vous pouvez vérifier le propriétaire, le groupe " +"et les droits d'accès en faisant un clic droit sur le fichier dans le " +"gestionnaire de fichiers Dolphin et ensuite en sélectionnant l'option " +"« Propriétés » puis l'onglet « Permissions » dans la fenêtre alors ouverte. " +"" + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"Erreur de fichier ! Impossible de décompresser le " +"fichier %1. Le fichier ne sera pas chargé." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"Cette erreur arrive habituellement si le fichier est corrompu. Si vous " +"voulez le décompresser malgré tout, essayez de le faire manuellement avec " +"des outils en ligne de commandes." + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "Aucun signet" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "Un problème est survenu lors du partage du document : %1" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "Partager" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "Document partagé avec succès" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "Vous pouvez trouver le document partagé sur : %1" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "&Édition" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "&Affichage" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&Aller" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "Ou&tils" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "Barre principale d'outils" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "Barre d'outils d'annotation" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, kde-format +msgid "Quick Annotation Toolbar" +msgstr "Barre d'outils pour annotations rapides" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "Options générales" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Accessibilité" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "Accessibilité, aides à la lecture" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Performances" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "Optimisation des performances" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "Configurer l'afficheur" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Présentation" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "Options pour le mode de présentation" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "Options d'annotations" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "Éditeur" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "Options de l'éditeur" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" +"L'éditeur a été défini par la ligne de commandes comme \n" +" %1 \n" +"Si vous souhaitez utiliser ce paramètre, démarrez okular sans l'option « --" +"editor-cmd »." + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "Trouver le suivant" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "Présentation - %1" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "Changer d'écran" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "Écran n° %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "Sortir du mode « Présentation »" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Titre : %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Pages : %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "Cliquer pour commencer" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "Pause" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "Lecture" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"Il existe deux façons de quitter le mode « Présentation ». Vous pouvez soit " +"appuyer sur la touche « Échap », soit utiliser le bouton de fermeture " +"apparaissant lorsque la souris approche du bord en haut à gauche. Bien sûr, " +"vous êtes toujours en mesure de parcourir les fenêtres ouvertes (par défaut " +"« Alt » + « Tab »)." + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "Fourniture d'une présentation" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "Fichier inconnu" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "Propriétés de %1" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1 :" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "&Polices" + +#: part/propertiesdialog.cpp:145 +#, kde-format +msgid "Reading font information…" +msgstr "Lecture des informations de fonte..." + +#: part/propertiesdialog.cpp:158 +#, kde-format +msgid "&Page Sizes" +msgstr "Tailles de &page" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "&Extraire une police" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Type 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Type 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "Type 1C (OT)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Type 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType (OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID Type 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID Type 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID Type 0C (OT)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType (OT)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "PK de TeX" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "TeX virtuel" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "Métrique de police de TeX" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "TeX géré comme FreeType" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "Inconnu" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "Intégré (sous-ensemble)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "Complètement intégré" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "Non" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "Oui (sous-ensemble)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "Oui" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "%1 (remplacée par %2)" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "[Non applicable]" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "Police inconnue" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "Intégré : %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "Nom" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "Type" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "Fichier" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "Page" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "Taille" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "Aperçu des révisions" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "Où voulez-vous enregistrer cette révision ?" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "Impossible d'enregistrer le fichier %1." + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "Impossible d'afficher la révision." + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "Saisissez au moins 3 lettres pour filtrer les pages" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "Sensible à la casse" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "Correspondre à la phrase" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "Correspondre à tous les mots" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "Correspondre à l'un des mots" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "Options de filtre" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, kde-format +msgid "Certificates" +msgstr "Certificats" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "Sélectionner un certificat avec lequel signer :" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "Tout" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, kde-format +msgid "Only QES certificates" +msgstr "Uniquement les certificats « QES »" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "Uniquement les clés « PGP »" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "Raison :" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, kde-format +msgid "optional" +msgstr "optionnel" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "Emplacement :" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, kde-format +msgid "Background:" +msgstr "Arrière-plan :" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "Choisissez…" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, kde-format +msgid "Recent backgrounds:" +msgstr "Arrières-plans récents :" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

No annotations

To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
" +msgstr "" +"

Aucune annotation

Pour créer de nouvelles " +"annotations, veuillez appuyer sur « F6 » ou sélectionnez Outils  " +"Annotations à partir du menu.
" + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "Grouper par page" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "Grouper par auteur" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "Afficher les annotations uniquement pour la page actuelle" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "Déplier toutes les éléments" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "Replier tous les éléments" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "Propriétés" + +#: part/signaturepartutils.cpp:180 +#, kde-format +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Images (%1)" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "Sélectionnez l'image d'arrière-plan" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "Oublier l'image" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "Oublier toutes les images" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "" +"Saisissez un mot de passe (si présent) pour déverrouiller le certificat : %1" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "Saisissez le mot de passe du certificat" + +# unreviewed-context +#: part/signaturepartutils.cpp:244 +#, kde-format +msgid "Enter document password" +msgstr "Saisissez le mot de passe du document" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "Enregistrer le fichier signé sous" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "%1_signé.%2" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "État de validité" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "Validité de la signature :" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "Modifications du document ;" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "Informations supplémentaires" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "Signé par :" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "Moment de la signature :" + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "Version du document" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Révision de document %1 sur %2" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "Afficher la version signée..." + +#: part/signaturepropertiesdialog.cpp:95 +#, kde-format +msgid "View Certificate…" +msgstr "Afficher le certificat..." + +#: part/signaturepropertiesdialog.cpp:97 +#, kde-format +msgid "View in Certificate Manager" +msgstr "Afficher dans le gestionnaire de certificats" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "Impossible de trouver le gestionnaire de certificats de KDE" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "Qualifié" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "PGP" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "Afficher uniquement les pages en signet" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "Lecture" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Pause" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "Arrêt" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "Les vidéos ne sont pas prises en charge dans cette version de Okular." + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "Les vidéos ne sont pas prises en charge dans cette version de Okular." + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "&Ajouter..." + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, kde-format +msgid "&Edit…" +msgstr "&Modifier…" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "Supprime&r" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "Déplacer vers le ha&ut" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "&Déplacer vers le bas" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "Outil de dessin par défaut n°%1" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "" +"Il existe déjà un outil avec ce nom. Veuillez utiliser un nom différent." + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "Nom en doublon" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "Page du document à afficher" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "Démarre ce document en mode « Présentation »" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "Commencer avec la boite de dialogue d'impression" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "" +"Lancer avec la boite de dialogue d'impression et quitter après l'impression" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "Commande de « Session unique »" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "Ne pas ouvrir la fenêtre" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "Chercher une chaine dans le texte" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "Définit la commande externe de l'éditeur" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "Documents à ouvrir. Utiliser « - » pour lire depuis l'entrée standard." + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" +"Vous ne pouvez pas définir la commande pour l'éditeur dans une instance de " +"Okular déjà en cours d'exécution. Veuillez désactiver les onglets et " +"réessayer. Veuillez noter que « Unique » n'est pas non plus pris en charge " +"lors de la configuration de la commande de l'éditeur par la ligne de " +"commandes. \n" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "" +"Erreur : impossible d'ouvrir plus d'un document avec l'option « --unique »" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" +"Erreur : impossible d'ouvrir plus d'un document avec l'option « --" +"presentation »" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "" +"Erreur : impossible d'ouvrir plus d'un document avec l'option « --print »" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "" +"Erreur : impossible d'ouvrir plus d'un document avec l'option « --page »" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "" +"Erreur : impossible d'ouvrir plus d'un document avec l'option « --find »" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "Impossible de trouver le composant de Okular : %1" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "Barre latérale" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" +"Une instance de Okular est déjà en cours d'exécution. Cette instance ne sera " +"plus la seule." + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "Impossible de trouver le composant de Okular." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"Cliquer pour ouvrir un fichier\n" +"Cliquer et maintenir pour ouvrir un fichier récent" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"Cliquer pour ouvrir un fichier ou Cliquer et maintenir pour " +"sélectionner un fichier récent" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "Onglet suivant" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "Onglet précédent" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "Annuler la fermeture de l'onglet" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "Verrouiller la barre latérale" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "Tous les fichiers (*)" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "Tous les fichiers pris en charge (%1)" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "Ouvrir un document" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "Confirmer la fermeture" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "Fermer les onglets" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "" +"Vous êtes sur le point de fermer %1 onglets. Voulez-vous vraiment continuer ?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "Me prévenir lorsque je tente de fermer plusieurs onglets" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "&Copier un emplacement" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "&Ouvrir le dossier contenant" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "Oublier &cet élément" + +#: shell/welcomescreen.cpp:137 +#, kde-format +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "Aucun document courant" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "Bienvenue dans Okular" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Ouvrir un document..." + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, kde-format +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Documents récents" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "Tout oublier" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "Masquer l'écran de bienvenue" + +#~ msgid "Geometry with Comment" +#~ msgstr "Forme géométrique avec commentaire" + +#~ msgid "Geometry" +#~ msgstr "Forme géométrique" + +#~ msgctxt "Annotation type: contents" +#~ msgid "%1: %2" +#~ msgstr "%1 : %2" + +#~ msgid "Modified: %1" +#~ msgstr "Modifié : %1" + +#~ msgid "Find..." +#~ msgstr "Trouver..." + +#~ msgid "Go To Page..." +#~ msgstr "Se déplacer à la page..." + +#~ msgid "Play movie..." +#~ msgstr "Jouer un film..." + +#~ msgid "Search..." +#~ msgstr "Chercher…" + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "Enregistrer &sous..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "&Affichage..." + +#~ msgid "&Sign..." +#~ msgstr "&Signer..." + +#~ msgid "Configure Viewer..." +#~ msgstr "Configurer l'afficheur..." + +#~ msgid "Configure Viewer Backends..." +#~ msgstr "Configurer les moteurs d'affichage..." + +#~ msgid "Configure Backends..." +#~ msgstr "Configurer les moteurs de rendu..." + +#~ msgid "&Add..." +#~ msgstr "&Ajouter..." + +#~ msgid "&Edit..." +#~ msgstr "Modifi&er..." + +#~ msgctxt "%1 is a file path" +#~ msgid "" +#~ "Could not sign. Invalid certificate password or could not write to '%1'" +#~ msgstr "" +#~ "Signature impossible. Mot de passe pour le certificat non valable ou " +#~ "impossible d'écrire dans  %1 »" + +#, fuzzy +#~| msgid "" +#~| "All your signing certificates are either not valid yet or are past their " +#~| "validity date." +#~ msgid "All your signing certificates are invalid" +#~ msgstr "" +#~ "Tous vos certificats de signature sont soit non valables ou soit ont " +#~ "dépassé leurs dates de validité." + +#~ msgid "Unsigned Signature %1" +#~ msgstr "Signature %1 non signée" + +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "Inconnu" + +#~ msgctxt "Signature type" +#~ msgid "Unsigned signature" +#~ msgstr "Signature non signée" + +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "Spinbox prefix: Advance automatically: every n seconds" +#~ msgid "every " +#~ msgstr "toutes les " + +#~ msgctxt "Suffix for the pen width, eg '10 px'" +#~ msgid " px" +#~ msgstr " px" + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " %" + +#~ msgctxt "%1 is a file path" +#~ msgid "Could not sign. Could not write to '%1'" +#~ msgstr "" +#~ "Impossible de faire une signature car impossible d'écrire dans  %1 »" + +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr " %" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "Adapter à la largeur" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "Adapter à la page" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Auto Fit" +#~ msgstr "Adapter automatiquement" + +#~ msgid "*|All Files" +#~ msgstr "*|Tous les fichiers" + +#~ msgid "Missing alert type" +#~ msgstr "Type d'alerte manquant" + +#~ msgid "" +#~ "The file '%1' has been modified by another program, which means it can no " +#~ "longer be saved." +#~ msgstr "" +#~ "Le fichier « %1 » a été modifié par une autre application, ce qui " +#~ "signifie qu'il ne peut plus être enregistré." + +#~ msgid "Show Sidebar" +#~ msgstr "Afficher la barre latérale" + +#~ msgctxt "@info" +#~ msgid "" +#~ "experimental feature.Stamps inserted in PDF documents are " +#~ "not visible in PDF readers other than Okular." +#~ msgstr "" +#~ "fonctionnalité expérimentale. Les tampons insérés dans les " +#~ "documents PDF ne seront pas visibles dans les lecteurs PDF autres que " +#~ "Okular." + +#~ msgctxt "@info" +#~ msgid "" +#~ "The version of the Poppler library this Okular was compiled with does not " +#~ "support signing documents with passwords. Please ask your provider to " +#~ "update it to 22.02 or later." +#~ msgstr "" +#~ "La version de la bibliothèque « Poppler » avec laquelle cet Okular a été " +#~ "compilé ne prend pas en charge la signature de documents avec des mots de " +#~ "passe. Veuillez demander à votre fournisseur de la mettre à jour vers la " +#~ "version 22.02 ou ultérieure." + +#~ msgctxt "@title:window" +#~ msgid "Poppler library is too old" +#~ msgstr "La bibliothèque « Poppler » est trop ancienne." + +#~ msgctxt "@info" +#~ msgid "" +#~ "Stamps inserted in PDF documents are not visible in PDF readers other " +#~ "than Okular" +#~ msgstr "" +#~ "Les tampons insérés dans les documents « PDF » ne seront pas visibles " +#~ "dans les lecteurs « PDF » autres que Okular" + +#~ msgctxt "@title:window" +#~ msgid "Experimental feature" +#~ msgstr "Fonctionnalité expérimentale" + +#~ msgid "Remove Bookmarks" +#~ msgstr "Supprimer des signets" + +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "&Annoter" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "Mettre en évidence" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Underline" +#~ msgstr "Souligner" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Squiggle" +#~ msgstr "Gribouiller" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Strike Out" +#~ msgstr "Barrer" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "Insérer du texte" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "Insérer une note intégrée" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "Insérer une note contextuelle" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Freehand Line" +#~ msgstr "Dessiner une ligne à main levée" + +# unreviewed-context +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Straight line" +#~ msgstr "Dessiner une ligne droite" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Arrow" +#~ msgstr "Dessiner une flèche" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Rectangle" +#~ msgstr "Dessiner un rectangle" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Ellipse" +#~ msgstr "Dessiner une ellipse" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Polygon" +#~ msgstr "Dessiner un polygone" + +#~ msgid "Highlight in Yellow" +#~ msgstr "Surligner en jaune" + +#~ msgid "Highlight in Green" +#~ msgstr "Surligner en vert" + +#~ msgid "Insert Inline Note" +#~ msgstr "Insérer une note intégrée" + +#~ msgid "Insert Popup Note" +#~ msgstr "Insérer une note contextuelle" + +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "&Sélectionner une zone" + +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "Sélectionner du &texte" + +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "Sélectionner une &table" + +#~ msgctxt "verb" +#~ msgid "&Magnify" +#~ msgstr "Agrandir" + +#~ msgid "Bookmark annotation" +#~ msgstr "Créer un signet avec une annotation" + +#~ msgid "&Toggle Change Colors" +#~ msgstr "Active/désactive la modification des couleurs" + +#~ msgctxt "@option:check Config dialog, presentation page, transitions" +#~ msgid "Enable transitions" +#~ msgstr "Activer les transitions" + +#~ msgctxt "@label:spinbox Config dialog, presentation page" +#~ msgid "Advance every:" +#~ msgstr "Avancer toutes les :" + +#~ msgctxt "@label:listbox Config dialog, general page" +#~ msgid "Custom background color:" +#~ msgstr "Utiliser une couleur d'arrière plan personnalisée :" + +#~ msgid "Draw border around &Images" +#~ msgstr "Dessiner des bordures autour des &images" + +#~ msgid "Speech" +#~ msgstr "Discours" + +#~ msgid "Engine" +#~ msgstr "Moteur" + +#~ msgid "Identity" +#~ msgstr "Identité" + +#~ msgid "Au&thor:" +#~ msgstr "&Auteur :" + +#~ msgid "View Options" +#~ msgstr "Options d'affichage" + +#~ msgctxt "@info:whatsthis" +#~ msgid "" +#~ "Defines the default zoom mode for files which were never opened before.\n" +#~ "For files which were opened before the previous zoom is applied." +#~ msgstr "" +#~ "Définit le mode de zoom par défaut pour les fichiers qui n'ayant jamais " +#~ "été encore ouverts.\n" +#~ "Pour les fichiers ayant déjà été ouverts, le dernier niveau de zoom " +#~ "utilisé est appliqué." + +#~ msgid "Navigation" +#~ msgstr "Navigation" + +#~ msgid "Placement" +#~ msgstr "Placement" + +#~ msgid "Screen:" +#~ msgstr "Écran :" + +#~ msgid "Drawing Tool Configuration" +#~ msgstr "Configuration de l'outil de dessin" + +#~ msgid "&Get Books From Internet..." +#~ msgstr "&Obtenir des livres à partir d'Internet..." + +#~ msgid "Reviews" +#~ msgstr "Révisions" + +#~ msgctxt "@item:inlistbox Color name" +#~ msgid "%1" +#~ msgstr "%1" + +#~ msgid "Hide Forms" +#~ msgstr "Cacher les formulaires" + +#~ msgid "&Review" +#~ msgstr "&Révision" + +#~ msgid "Annotations author" +#~ msgstr "Auteur des annotations" + +#~ msgid "Please insert your name or initials:" +#~ msgstr "Veuillez insérer vos noms et vos initiales :" + +#~ msgid "Show &Navigation Panel" +#~ msgstr "Afficher la barre de &navigation" + +#~ msgid "Show Text" +#~ msgstr "Afficher le texte" + +#~ msgid "Small Icons" +#~ msgstr "Petites icônes" + +#~ msgid "Large Icons" +#~ msgstr "Grandes icônes" + +#~ msgid "" +#~ "Click to use the current selection tool\n" +#~ "Click on the arrow to choose another selection tool" +#~ msgstr "" +#~ "Cliquer pour utiliser l'outil actuel de sélection \n" +#~ "Cliquer sur la flèche pour choisir un autre outil de sélection" + +#~ msgid "Created: %1" +#~ msgstr "Créé : %1" + +#~ msgid "Style" +#~ msgstr "Style" + +#~ msgid "&Size:" +#~ msgstr "&Taille :" + +#~ msgid "Inner color:" +#~ msgstr "Couleur de remplissage :" + +#~ msgid "Name: %1" +#~ msgstr "Nom : %1" + +#~ msgid "Size: %1" +#~ msgstr "Taille : %1" + +#~ msgid "&Browse Tool" +#~ msgstr "Outil de &navigation" + +#~ msgid "&Zoom Tool" +#~ msgstr "Outil de &redimensionnement" + +#~ msgctxt "Zoom Tool" +#~ msgid "Zoom" +#~ msgstr "Redimensionner" + +#~ msgctxt "Select Tool" +#~ msgid "Selection" +#~ msgstr "Sélectionner" + +#~ msgid "&Text Selection Tool" +#~ msgstr "Outil de sélection de &texte" + +#~ msgid "T&able Selection Tool" +#~ msgstr "Outil de &sélection de tableau" + +#, fuzzy +#~| msgctxt "Symbol for caret annotations" +#~| msgid "None" +#~ msgid " None" +#~ msgstr "Aucun" + +#~ msgid "" +#~ "The document requested to be launched in presentation mode.\n" +#~ "Do you want to allow it?" +#~ msgstr "" +#~ "Ce document a demandé à être lancé en mode « Présentation ».\n" +#~ "Voulez-vous l'autoriser ?" + +#~ msgid "Presentation Mode" +#~ msgstr "Mode « Présentation »" + +#~ msgid "Allow the presentation mode" +#~ msgstr "Autoriser le mode « Présentation »" + +#~ msgid "Do Not Allow" +#~ msgstr "Ne pas autoriser" + +#~ msgid "Do not allow the presentation mode" +#~ msgstr "Ne pas autoriser le mode « Présentation »" + +#~ msgid "" +#~ "Your annotation changes will not be saved automatically. Use File -> Save " +#~ "As...\n" +#~ "or your changes will be lost once the document is closed" +#~ msgstr "" +#~ "Vos modifications d'annotations ne seront pas enregistrées " +#~ "automatiquement. Utilisez « Fichier » / « Enregistrer sous... »\n" +#~ "ou vos modifications seront perdues lors de la fermeture du document." + +#~ msgid "" +#~ "Your annotations are saved internally by Okular.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" +#~ msgstr "" +#~ "Vos annotations sont enregistrées par Okular de manière interne.\n" +#~ "Vous pouvez exporter le document annoté en utilisant « Fichier » / " +#~ "« Exporter comme » / « Archive de document »" + +#~ msgid "Save &Copy As..." +#~ msgstr "Enregistrer une &copie sous..." + +#~ msgid "" +#~ "Your annotations will not be exported.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" +#~ msgstr "" +#~ "Vos annotations ne seront pas exportées par Okular.\n" +#~ "Vous pouvez exporter le document annoté en utilisant « Fichier » / " +#~ "« Exporter comme » / « Archive de document »" + +#~ msgid "" +#~ "End of document reached.\n" +#~ "Continue from the beginning?" +#~ msgstr "" +#~ "La fin du document a été atteinte.\n" +#~ "Continuer à partir du début ?" + +#~ msgid "" +#~ "Beginning of document reached.\n" +#~ "Continue from the bottom?" +#~ msgstr "" +#~ "Le début du document a été atteint.\n" +#~ "Continuer à partir du bas ?" + +#~ msgid "Current maintainer" +#~ msgstr "Mainteneur actuel" + +#~ msgid " sec." +#~ msgstr " sec." + +#~ msgid "Pencil color:" +#~ msgstr "Couleur du crayon :" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A0" +#~ msgstr "Paysage A0 DIN / ISO" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A0" +#~ msgstr "Portrait A0 DIN / ISO" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A1" +#~ msgstr "Paysage A1 DIN/ISO " + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A1" +#~ msgstr "Portrait A1 DIN / ISO" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A2" +#~ msgstr "Portrait A2 DIN / ISO" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A2" +#~ msgstr "Paysage A2 DIN / ISO" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A3" +#~ msgstr "Paysage A3 DIN / ISO" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A3" +#~ msgstr "Portrait A3 DIN / ISO" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A4" +#~ msgstr "Paysage A4 DIN / ISO" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A4" +#~ msgstr "Portrait A4 DIN / ISO" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A5" +#~ msgstr "Paysage A5 DIN / ISO" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A5" +#~ msgstr "Portrait A5 DIN / ISO" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A6" +#~ msgstr "Paysage A6 DIN / ISO" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A6" +#~ msgstr "Portrait A6 DIN / ISO" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A7" +#~ msgstr "Paysage A7 DIN / ISO" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A7" +#~ msgstr "Portrait A7 DIN / ISO" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A8" +#~ msgstr "Paysage A8 DIN / ISO" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A8" +#~ msgstr "Portrait A8 DIN / ISO" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A9" +#~ msgstr "Paysage A9 DIN / ISO" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A9" +#~ msgstr "Portrait A9 DIN / ISO" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B0" +#~ msgstr "Paysage B0 DIN / ISO" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B0" +#~ msgstr "Portrait B0 DIN / ISO" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B1" +#~ msgstr "Paysage B1 DIN / ISO" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B1" +#~ msgstr "Portrait B1 DIN / ISO" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B2" +#~ msgstr "Paysage B2 DIN / ISO" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B2" +#~ msgstr "Portrait B2 DIN / ISO" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B3" +#~ msgstr "Paysage B3 DIN / ISO" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B3" +#~ msgstr "Portrait B3 DIN / ISO" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B4" +#~ msgstr "Paysage B4 DIN / ISO" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B4" +#~ msgstr "Portrait B4 DIN / ISO" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B5" +#~ msgstr "Paysage B5 DIN / ISO" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B5" +#~ msgstr "Portrait B5 DIN / ISO" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B6" +#~ msgstr "Paysage B6 DIN / ISO" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B6" +#~ msgstr "Portrait B6 DIN / ISO" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B7" +#~ msgstr "Paysage B7 DIN / ISO" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B7" +#~ msgstr "Portrait B7 DIN / ISO" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B8" +#~ msgstr "Paysage B8 DIN / ISO" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B8" +#~ msgstr "Portrait B8 DIN / ISO" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B9" +#~ msgstr "Paysage B9 DIN / ISO" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B9" +#~ msgstr "Portrait B9 DIN / ISO" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B10" +#~ msgstr "Paysage B10 DIN / ISO" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B10" +#~ msgstr "Portrait B10 DIN / ISO" + +#~ msgctxt "paper size" +#~ msgid "landscape letter" +#~ msgstr "Paysage Lettre" + +#~ msgctxt "paper size" +#~ msgid "portrait letter" +#~ msgstr "Portrait Lettre" + +#~ msgctxt "paper size" +#~ msgid "landscape legal" +#~ msgstr "Paysage Légal" + +#~ msgctxt "paper size" +#~ msgid "portrait legal" +#~ msgstr "Portrait Légal" + +#~ msgctxt "paper size" +#~ msgid "landscape executive" +#~ msgstr "Paysage Exécutive" + +#~ msgctxt "paper size" +#~ msgid "portrait executive" +#~ msgstr "Portrait Exécutive" + +#~ msgctxt "paper size" +#~ msgid "landscape Comm10E" +#~ msgstr "Paysage Comm10E" + +#~ msgctxt "paper size" +#~ msgid "portrait Comm10E" +#~ msgstr "Portrait Comm10E" + +#~ msgctxt "paper size" +#~ msgid "landscape DLE" +#~ msgstr "Paysage DLE" + +#~ msgctxt "paper size" +#~ msgid "portrait DLE" +#~ msgstr "Portrait DLE" + +#~ msgctxt "paper size" +#~ msgid "landscape folio" +#~ msgstr "Paysage Folio" + +#~ msgctxt "paper size" +#~ msgid "portrait folio" +#~ msgstr "Portrait Folio" + +#~ msgctxt "paper size" +#~ msgid "ledger" +#~ msgstr "Livre" + +#~ msgctxt "paper size" +#~ msgid "tabloid" +#~ msgstr "Tabloïde" + +#~ msgctxt "paper size" +#~ msgid "unknown landscape paper size" +#~ msgstr "Format de papier inconnu en mode « Paysage »" + +#~ msgctxt "paper size" +#~ msgid "unknown portrait paper size" +#~ msgstr "Format de papier inconnu en mode « Portrait »" + +#~ msgid "Toggle Drawing Mode" +#~ msgstr "Activer / Désactiver le mode « Dessin »" + +#~ msgid "Starting Jovie Text-to-Speech service Failed: %1" +#~ msgstr "Échec du lancement du service « Jovie » de synthèse vocale : %1" + +#~ msgid "Search Columns" +#~ msgstr "Colonnes de recherche" + +#~ msgid "All Visible Columns" +#~ msgstr "Toutes les colonnes visibles" + +#~ msgid "No document opened." +#~ msgstr "Aucun document ouvert." + +#~ msgid "Can't open more than one document in the unique Okular instance." +#~ msgstr "" +#~ "Impossible d'ouvrir plus d'un document dans l'instance unique de Okular." + +#~ msgid "No matches found for '%1'." +#~ msgstr "Aucune correspondance trouvée pour « %1 »." + +#~ msgid "Search in progress..." +#~ msgstr "Recherche en cours..." + +#~ msgid "Searching for %1" +#~ msgstr "Recherche de %1" + +#~ msgid "Identity Settings" +#~ msgstr "Réglage de l'identité" + +#~ msgid "Highlight Properties" +#~ msgstr "Propriétés de surbrillance" + +#~ msgid "Ink Properties" +#~ msgstr "Propriétés d'encre" + +#~ msgctxt "Annotation tool" +#~ msgid "Text Annotation" +#~ msgstr "Annotation de texte" + +#~ msgctxt "Annotation tool" +#~ msgid "Green Ink" +#~ msgstr "Encre verte" + +#~ msgctxt "Annotation tool" +#~ msgid "Yellow Highlight" +#~ msgstr "Surbrillance jaune" + +# unreviewed-context +#~ msgctxt "Annotation tool" +#~ msgid "Straight Yellow Line" +#~ msgstr "Ligne jaune fine" + +#~ msgid "Black Underlining" +#~ msgstr "Souligné noir" + +#~ msgctxt "Annotation tool" +#~ msgid "Underline the text with a black line" +#~ msgstr "Souligner le texte avec une ligne noire" + +#~ msgctxt "Annotation tool" +#~ msgid "A cyan ellipse" +#~ msgstr "Une ellipse cyan" + +#~ msgid "Ink" +#~ msgstr "Encre" + +#~ msgid "Reset Forms" +#~ msgstr "Réinitialiser les formulaires" + +#~ msgid "latex failed." +#~ msgstr "LaTeX a échoué." + +#~ msgid "dvipng failed." +#~ msgstr "dvipng a échoué." + +#~ msgid "Moves to the first page of the document" +#~ msgstr "Se place sur la première page du document" + +#~ msgid "You must set this name:" +#~ msgstr "Vous devez mettre ce nom :" + +#~ msgid "Toggles between File Path and Title" +#~ msgstr "Alterne entre l'emplacement du fichier et son titre" + +#~ msgctxt "%1 is \"Title\"" +#~ msgid "%1:" +#~ msgstr "%1 :" + +#~ msgctxt "%1 is \"File Path\"" +#~ msgid "%1:" +#~ msgstr "%1 :" diff --git a/po/fr/okular_comicbook.po b/po/fr/okular_comicbook.po new file mode 100644 index 0000000..a4accf0 --- /dev/null +++ b/po/fr/okular_comicbook.po @@ -0,0 +1,67 @@ +# translation of okular_comicbook.po to french +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Bieuzent Cyrille , 2008. +# Cyrille Bieuzent , 2009. +# Xavier Besnard , 2013. +# Simon Depiets , 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_comicbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2018-12-05 15:06+0800\n" +"Last-Translator: Simon Depiets \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Lokalize 2.0\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Bieuzent Cyrille" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "bieuzent@gmail.com" + +#: document.cpp:97 +#, kde-format +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "" +"Impossible d'ouvrir le document car les programmes « unrar » et " +"« unarchiver » sont absents." + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "" +"La version du programme « unrar » sur votre système est inutilisable pour " +"ouvrir des BD." + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "Format « ComicBook » inconnu" + +#~ msgid "ComicBook Backend" +#~ msgstr "Moteur pour « ComicBook »" + +#~ msgid "A renderer for various comic book formats" +#~ msgstr "Un moteur de rendu pour de multiples formats de BD" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/fr/okular_djvu.po b/po/fr/okular_djvu.po new file mode 100644 index 0000000..e0e618c --- /dev/null +++ b/po/fr/okular_djvu.po @@ -0,0 +1,141 @@ +# translation of okular_djvu.po to Français +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Thomas Boeglin , 2007, 2008. +# Joëlle Cornavin , 2009. +# Xavier Besnard , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_djvu\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-06-26 11:20+0200\n" +"Last-Translator: xavier \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Lokalize 1.5\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Thomas Boeglin, Joëlle Cornavin" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "thomas.boeglin@gmail.com, jcornavi@club-internet.fr" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "Éditeur" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "Diffuseur" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "Volume" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "Type de document" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "Inconnu" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "Fichiers de composants" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "Inconnu" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "Page unique" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "Intégré" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "Indirect" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "Intégré (ancien)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "Indexé (ancien)" + +#~ msgid "DjVu Backend" +#~ msgstr "Moteur DjVu" + +#~ msgid "DjVu backend based on DjVuLibre." +#~ msgstr "Moteur DjVu utilisant « Djvulibre »." + +#~ msgid "© 2006-2008 Pino Toscano" +#~ msgstr "© 2006-2008 Pino Toscano" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgctxt "Unknown title" +#~ msgid "Unknown" +#~ msgstr "Inconnu" + +#~ msgctxt "Unknown author" +#~ msgid "Unknown" +#~ msgstr "Inconnu" + +#~ msgctxt "Unknown editor" +#~ msgid "Unknown" +#~ msgstr "Inconnu" + +#~ msgctxt "Unknown publisher" +#~ msgid "Unknown" +#~ msgstr "Inconnu" + +#~ msgctxt "Unknown creation date" +#~ msgid "Unknown" +#~ msgstr "Inconnu" + +#~ msgctxt "Unknown volume information" +#~ msgid "Unknown" +#~ msgstr "Inconnu" + +#~ msgctxt "Unknown type of document" +#~ msgid "Unknown" +#~ msgstr "Inconnu" diff --git a/po/fr/okular_dvi.po b/po/fr/okular_dvi.po new file mode 100644 index 0000000..673700a --- /dev/null +++ b/po/fr/okular_dvi.po @@ -0,0 +1,829 @@ +# translation of okular_dvi.po to +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Mickael Sibelle , 2008. +# Sébastien Renard , 2008. +# Alain Rpnpif , 2008. +# Peter Potrowl , 2013, 2014. +# SPDX-FileCopyrightText: 2013, 2021, 2024, 2025 Xavier Besnard +# +msgid "" +msgstr "" +"Project-Id-Version: okular_dvi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-12 17:33+0200\n" +"Last-Translator: Xavier Besnard \n" +"Language-Team: French >\n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Accelerator-Marker: &\n" +"X-Environment: kde\n" +"X-Generator: Lokalize 25.04.3\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Alain Rpnpif, Mickaël Sibelle, Peter Potrowl" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "rpnpif@free.fr, kimael@gmail.com, peter.potrowl@gmail.com" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

" +msgstr "" +"

Okular ne peut pas trouver le programme dvipdfm sur votre " +"ordinateur. Ce programme est essentiel pour le travail de la fonction " +"« Exporter ». Vous pouvez cependant convertir le fichier « DVI » en « PDF » " +"en utilisant la fonction « Imprimer » de Okular. Cela produira souvent des " +"documents s'imprimant bien mais de qualité inférieure lorsque affichés par " +"« Acrobat Reader ». Il peut être intéressant de mettre à jour votre " +"distribution « TeX » vers une version plus récente incluant le programme " +"dvipdfm

Astuce pour l'administrateur du système qui serait " +"perplexe : Okular utilise la variable d'environnement « PATH » lors de " +"recherche de programmes.

" + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Le programme externe « dvipdfm », servant à l'exportation du fichier, a " +"rapporté une erreur. Vous pourriez souhaiter regarder la boite de " +"dialogue d'informations du document que vous trouverez dans le menu " +"« Fichier » pour vous fournir un rapport d'erreur précis." + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" +"Ce fichier « DVI » se réfère à des fichiers graphiques externes qui ne " +"sont pas au format « PostScript » et ne peuvent pas être traités par le " +"programme dvips que Okular utilise pour imprimer ou exporter vers " +"des fichiers « PostScript ». La fonctionnalité que vous demandez est donc " +"indisponible dans cette version de Okular." + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

" +msgstr "" +"

Okular ne trouve pas le programme dvips sur votre " +"ordinateur. Ce programme est essentiel pour que l'exportation fonctionne.

Astuce pour l'administrateur de système qui serait perplexe : Okular " +"utilise la variable d'environnement « PATH » lors de recherche de programmes." +"

" + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Le programme externe « dvips », utilisé pour l'exportation du fichier " +"signale une erreur. Vous pourriez souhaiter voir la boite de " +"dialogue d'informations du document que vous trouverez dans le menu " +"« Fichier » pour un rapport d'erreur précis." + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "Le fichier « DVI » ne commence pas avec le préambule." + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" +"Le fichier « DVI » contient la mauvaise version de messages de sortie de " +"« DVI » pour ce programme. Astuce : si vous utilisez le système de " +"composition de documents « Omega », vous devez utiliser un programme spécial " +"comme « oxdvi »." + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "" +"Le fichier « DVI » est fortement corrompu. Okular n'a pas été capable de " +"trouver le préambule." + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "Le préambule ne commence pas par la commande « POST »." + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "Le préambule contenait une commande autre que « FNTDEF »." + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "La page %1 ne débute pas par la commande « BOP »." + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

PATH: %2

" +msgstr "" +"

Impossible de démarrer le programme externe pdf2ps. " +"Le fichier PDF %1 ne peut donc pas être converti en « PostScript ». Certains " +"éléments graphiques de votre document ne pourront donc pas être affichés.

Cause possible : Le programme pdf2ps n'est peut-" +"être pas installé sur votre système ou il est impossible de le trouver à " +"l'emplacement ci-dessous.

Ce que vous pouvez faire : Le " +"programme pdf2ps est normalement inclus dans des " +"distributions du système d'interpréteur de PostScript nommé « ghostscript ». " +"Si « ghostscript » n'est pas installé sur votre système, vous pourriez " +"l'installer maintenant. Si vous êtes sûr que « ghostscript » est installé, " +"veuillez essayer d'utiliser pdf2ps à partir de la ligne de " +"commandes pour vérifier qu'il fonctionne vraiment.

PATH : " +"%2

" + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

%2

" +msgstr "" +"

Impossible de convertir le fichier « PDF » %1 en « PostScript ». En " +"conséquence, certains éléments graphiques de votre document ne pourront être " +"affichés.

Cause possible : Le fichier %1 peut être cassé ou " +"peut ne pas être un fichier « PDF » du tout. Voici la sortie du programme " +"pdf2ps utilisé par Okular :

%2

" + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "Fichier corrompu. %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "" +"Tous les fichiers PostScript n'ont pas pu être intégrés dans votre document. " +"%1" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "" +"Tous les fichiers PostScript externes ont été intégrés dans votre document." + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "Le fichier spécifié « %1 » n'existe pas." + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" +"Vous avez demandé à Okular de localiser le fichier DVI qui correspond à la " +"ligne %1 dans le fichier Tex %2. Cependant, il semble que le fichier DVI ne " +"contient pas l'information nécessaire à propos du fichier source." + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" +"Okular n'a pas pu localiser le fichier DVI correspondant à la ligne %1 dans " +"le fichier Tex %2." + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "Le code « DVI » définit un caractère d'une police inconnue." + +# unreviewed-context +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "" +"Le code « DVI » se réfère à la police n° %1 qui n'a pas été précédemment " +"définie." + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "" +"La pile de données n'était pas vide quand la commande « EOP » a été " +"rencontrée." + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "" +"La pile de données n'était pas vide quand la commande « POP » a été " +"rencontrée." + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "" +"Le code « DVI » se réfère à une police qui n'a pas été précédemment définie." + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "Une commande illégale a été rencontrée." + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "Le code de commande %1 qui a été rencontré est inconnu." + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "Intégration de %1" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
" +msgstr "" +"Page %1 : impossible de convertir en « PostScript » le fichier « PDF » " +"%2.
" + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
" +msgstr "" +"Page %1 : impossible de trouver le fichier « PostScript » %2.
" + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "Impossible d'analyser la donnée de taille de papier « %1 »." + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

PATH: %1

%2

" +msgstr "" +"

Okular n'a pas pu trouver tous les fichiers de police nécessaires à " +"l'affichage du fichier « DVI » actuel. Votre document peut être illisible.

PATH: %1

%2

" + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

PATH: %1

%2

" +msgstr "" +"

L'exécution de kpsewhich s'est mal déroulée. Par " +"conséquent, certains fichiers de polices n'ont pas pu être trouvés et votre " +"document peut être illisible.
Raisons possibles : le programme " +"kpsewhich n'est peut-être pas installé sur votre système, ou il ne " +"se trouve pas dans l'emplacement de recherche actuel.

PATH:" +" %1

%2

" + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" +"La génération de police par kpsewhich a été annulée (code de " +"fermeture %1, erreur %2). En conséquence, il est probable que certaines " +"polices soient manquantes et que votre document soit illisible." + +#: fontpool.cpp:482 +#, kde-format +msgid "Currently generating %1 at %2 dpi…" +msgstr "Génération en cours de %1 à %2 dpi..." + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "Générateur / Date" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "Impossible de trouver un fichier de police" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "%1 x %2" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "%1 × %2 mm" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "%1 × %2 pouces" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "portrait" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "paysage" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" +"La version de « Ghostview » installée sur cet ordinateur ne contient aucun " +"des pilotes de système de « ghostview » connus par Okular. La prise en " +"charge de « PostScript » a donc été désactivée dans Okular." + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "" +"Cela fait 25 erreurs. Les messages d'erreurs suivants ne seront pas affichés." + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" +"Erreur dans le fichier « DVI » « %1 », page %2. Une commande de tirage de " +"couleurs est émise alors que la pile de couleurs est vide." + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" +"Paramètre mal formé dans la commande spéciale « epsf ».\n" +"Un paramètre de type flottant était attendu à la suite de %1 dans %2" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"Impossible de trouver le fichier : \n" +" %1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" +"Erreur dans le fichier « DVI » « %1 », page %2. Impossible d'interpréter " +"l'angle dans la rotation spéciale de texte." + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "La commande spéciale « %1 » n'est pas implémentée." + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" +"Le fichier de police %1 peut être ouvert et lu mais son format de police " +"n'est pas pris en charge." + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "" +"Le fichier de police %1 est cassé ou il est impossible de l'ouvrir ou de le " +"lire." + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" +"Le programme « FreeType » rapporte une erreur lors du réglage de la taille " +"de caractère pour le fichier de police %1." + +# unreviewed-context +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "" +"Le programme « FreeType » est incapable de charger le glyphe n° %1 à partir " +"du fichier de police %2." + +# unreviewed-context +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "" +"Le programme « FreeType » est incapable de rendre le glyphe n° %1 à partir " +"du fichier de police %2." + +# unreviewed-context +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "Le glyphe n° %1 est vide." + +# unreviewed-context +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "Le glyphe n° %1 issu du fichier de police %2 est vide." + +# unreviewed-context +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "" +"Le programme « FreeType » est incapable de charger la métrique pour le " +"glyphe n° %1 à partir du fichier de police %2." + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "Impossible d'ouvrir le fichier de police %1." + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "TexFont_PK::operator[] : caractère %1 non défini dans la police %2" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "%1 inattendu dans le fichier « PK » %2" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "Le caractère %1 est trop grand dans le fichier %2" + +# unreviewed-context +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "Nombre erroné de bits enregistrés : caractère %1, police %2" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "Mauvais fichier « PK » (%1), trop de bits" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "La police a un coefficient d'aspect non carré " + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "Impossible de trouver la police %1, fichier %2." + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "Incohérence de somme de contrôle pour le fichier de police %1" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "Impossible de reconnaître le format du fichier de police %1" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"Erreur fatale.\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" +"\n" +"\n" +"Cela signifie probablement que soit vous avez trouvé un bogue \n" +"dans Okular soit que le fichier « DVI » ou des fichiers auxiliaires \n" +" (comme des fichiers de police ou des fichiers de police \n" +"virtuelle) sont gravement endommagés.\n" +"Okular abandonnera après ce message. Si vous pensez que \n" +"vous avez trouvé un bogue ou que Okular devrait mieux se \n" +"comporter dans cette situation, veuillez rapporter ce problème." + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "" +"Un octet erroné de commande a été trouvé dans la liste de macro « VF » : %1" + +#~ msgid "" +#~ "

The Ghostview program, which Okular uses internally to display the " +#~ "PostScript graphics that is included in this DVI file, is generally able " +#~ "to write its output in a variety of formats. The sub-programs that " +#~ "Ghostview uses for these tasks are called 'device drivers'; there is one " +#~ "device driver for each format that Ghostview is able to write. Different " +#~ "versions of Ghostview often have different sets of device drivers " +#~ "available. It seems that the version of Ghostview that is installed on " +#~ "this computer does not contain any of the device drivers " +#~ "that are known to Okular.

It seems unlikely that a regular " +#~ "installation of Ghostview would not contain these drivers. This error may " +#~ "therefore point to a serious misconfiguration of the Ghostview " +#~ "installation on your computer.

If you want to fix the problems with " +#~ "Ghostview, you can use the command gs --help to display " +#~ "the list of device drivers contained in Ghostview. Among others, Okular " +#~ "can use the 'png256', 'jpeg' and 'pnm' drivers. Note that Okular needs to " +#~ "be restarted to re-enable PostScript support.

" +#~ msgstr "" +#~ "

Okular utilise en interne le programme « Ghostview » pour " +#~ "l'affichage des graphiques « PostScript » inclus dans ce fichier « DVI ». " +#~ "Le programme « Ghostview » est généralement capable de produire une " +#~ "sortie dans différents formats. Les sous-programmes qu'il utilise pour " +#~ "ces tâches sont appelés pilotes de système. Il y a un pilote de système " +#~ "par format que le programme « Ghostview » est capable d'écrire. Chaque " +#~ "version de « Ghostview » possède souvent son propre jeu de pilotes de " +#~ "système disponibles. Il semble que la version de « Ghostview » installée " +#~ "sur cet ordinateur ne contienne aucun des pilotes de " +#~ "système connus par Okular.

Il semble malheureusement qu'une " +#~ "installation normale de Ghostview ne contiendrait pas ces pilotes. Cette " +#~ "erreur peut donc pointer une erreur sérieuse de configuration du " +#~ "Ghostview installé sur votre ordinateur.

Si vous voulez corriger " +#~ "les problèmes de Ghostview, vous pouvez utiliser la commande gs --" +#~ "help pour afficher la liste des pilotes de système contenus dans " +#~ "Ghostview. Entre autres, Okular peut utiliser les pilotes « png256 », " +#~ "« jpeg » et « pnm ». Notez qu'Okular doit être redémarré pour réactiver " +#~ "la prise en charge de PostScript.

" + +#~ msgid "DVI Backend" +#~ msgstr "Moteur DVI" + +#~ msgid "A DVI file renderer" +#~ msgstr "Un moteur de rendu de fichiers « DVI »" + +#~ msgid "© 2006 Luigi Toscano" +#~ msgstr "© 2006 Luigi Toscano" + +#~ msgid "" +#~ "

Okular relies on the kpsewhich program to locate font files on " +#~ "your hard disk and to generate PK fonts, if necessary.

" +#~ msgstr "" +#~ "

Okular s'appuie sur le programme kpsewhich pour trouver les " +#~ "fichiers de police sur votre disque dur et pour générer les polices " +#~ "« PK », si nécessaire.

" + +#~ msgid "Okular is currently generating bitmap fonts..." +#~ msgstr "Okular génère maintenant les polices matricielles (bitmap)..." + +#~ msgid "Aborts the font generation. Do not do this." +#~ msgstr "Abandonne la génération de police. Ne faites pas ça." + +#~ msgid "" +#~ "Okular is currently generating bitmap fonts which are needed to display " +#~ "your document. For this, Okular uses a number of external programs, such " +#~ "as MetaFont. You can find the output of these programs later in the " +#~ "document info dialog." +#~ msgstr "" +#~ "Okular génère actuellement des polices matricielles, nécessaires à " +#~ "l'affichage de votre document. Pour cela, Okular utilise de nombreux " +#~ "programmes externes, tels que « MetaFont ». Vous pourrez trouver plus " +#~ "tard les messages émis par ces programmes dans la boîte de dialogue " +#~ "« Informations du document »." + +#~ msgid "Okular is generating fonts. Please wait." +#~ msgstr "Okular génère actuellement les polices. Veuillez patienter." + +#~ msgid "Font Generation Progress Dialog" +#~ msgstr "Boîte de dialogue de progression pour la génération de polices" + +#~ msgid "Abort" +#~ msgstr "Abandonner" + +#~ msgid "What is happening here?" +#~ msgstr "Que se passe t-il ici ?" + +#~ msgid "%v of %m" +#~ msgstr "%v sur %m" + +#~ msgid "Please be patient" +#~ msgstr "Veuillez patienter" + +#~ msgid "*.pdf|Portable Document Format (*.pdf)" +#~ msgstr "*.pdf|Format de document portable (*.pdf)" + +#~ msgid "Export File As" +#~ msgstr "Exporte le fichier sous" + +#~ msgid "" +#~ "The file %1\n" +#~ "exists. Do you want to overwrite it?" +#~ msgstr "" +#~ "Le fichier %1\n" +#~ "existe. Voulez-vous l'écraser ?" + +#~ msgid "Overwrite File" +#~ msgstr "Écraser le fichier" + +#~ msgid "Overwrite" +#~ msgstr "Écraser" + +#~ msgid "Using dvipdfm to export the file to PDF" +#~ msgstr "Utilisation de « dvipdfm » pour exporter le fichier en PDF" + +#~ msgid "" +#~ "Okular is currently using the external program 'dvipdfm' to convert your " +#~ "DVI-file to PDF. Sometimes that can take a while because dvipdfm needs to " +#~ "generate its own bitmap fonts Please be patient." +#~ msgstr "" +#~ "Okular utilise actuellement le programme externe « dvipdfm » pour " +#~ "convertir votre fichier « DVI » en « PDF ». Parfois, cela prend du temps " +#~ "car le programme « dvipdfm » doit générer ses propres polices " +#~ "matricielles. Veuillez patienter." + +#~ msgid "Waiting for dvipdfm to finish..." +#~ msgstr "En attente de la fin du programme « dvipdfm »..." + +#~ msgid "*.ps|PostScript (*.ps)" +#~ msgstr "*.ps|PostScript (*.ps)" + +#~ msgid "Using dvips to export the file to PostScript" +#~ msgstr "" +#~ "Utilisation du programme « dvips » pour exporter le fichier vers " +#~ "« PostScript »" + +#~ msgid "" +#~ "Okular is currently using the external program 'dvips' to convert your " +#~ "DVI-file to PostScript. Sometimes that can take a while because dvips " +#~ "needs to generate its own bitmap fonts Please be patient." +#~ msgstr "" +#~ "Okular utilise actuellement le programme externe « dvips » pour convertir " +#~ "votre fichier « DVI » en un fichier « PostScript ». Parfois, cela peut " +#~ "prendre du temps parce que le programme « dvips » a besoin de générer ses " +#~ "propres polices matricielles. Veuillez patienter." + +#~ msgid "Waiting for dvips to finish..." +#~ msgstr "Attente de la fin du programme « dvips »..." + +#~ msgid "Functionality Unavailable" +#~ msgstr "Fonctionnalité indisponible" + +#~ msgid "" +#~ "File corruption Okular could not interpret your DVI " +#~ "file. This is most commonly caused by a corrupted file." +#~ msgstr "" +#~ "Corruption de fichier : Okular ne peut pas " +#~ "interpréter votre fichier « DVI ». La cause la plus fréquente est un " +#~ "fichier corrompu." + +#~ msgid "DVI File Error" +#~ msgstr "Erreur de fichier « DVI »" + +#~ msgid "Not All Font Files Found" +#~ msgstr "Impossible de trouver tous les fichiers de polices" + +#~ msgid "Locating fonts..." +#~ msgstr "Recherche des polices en cours..." + +#~ msgid "" +#~ "

There were problems running kpsewhich. As a result, some font " +#~ "files could not be located, and your document might be unreadable.

Possible reason: The kpsewhich program is perhaps not " +#~ "installed on your system, or it cannot be found in the current search " +#~ "path.

What you can do: The kpsewhich program is normally " +#~ "contained in distributions of the TeX typesetting system. If TeX is not " +#~ "installed on your system, you could install the TeX Live distribution " +#~ "(www.tug.org/texlive). If you are sure that TeX is installed, please try " +#~ "to use the kpsewhich program from the command line to check if it really " +#~ "works.

" +#~ msgstr "" +#~ "

Des problèmes sont survenus durant l'exécution de kpsewhich. " +#~ "Certains fichiers de police n'ont pas pu être trouvés et votre document " +#~ "pourrait être illisible.

Cause possible : Le programme " +#~ "« kpsewhich » n'est peut-être pas installé sur votre système ou il est " +#~ "impossible de le trouver dans l'emplacement de recherche actuel.

Ce que vous pouvez faire : Le programme « kpsewhich » est " +#~ "normalement intégré dans les distributions du système de composition de " +#~ "documents « TeX ». Si ce dernier n'est pas installé sur votre système, " +#~ "vous pourriez installer la distribution « TeX Live » (www.tug.org/" +#~ "texlive). Si vous êtes sûr que « TeX » est installé, veuillez essayer " +#~ "d'utiliser le programme « kpsewhich » à partir de la ligne de commandes " +#~ "pour vérifier son bon fonctionnement.

" + +#~ msgid "Problem locating fonts" +#~ msgstr "Problème pour trouver des polices" + +#~ msgid "Font generation aborted" +#~ msgstr "Génération de polices abandonnée" + +#~ msgid "Export: %1 to PDF" +#~ msgstr "Exporte : %1 en PDF" + +#~ msgid "Export: %1 to PostScript" +#~ msgstr "Exporte : %1 vers PostScript" + +#~ msgid "The fontlist is currently empty." +#~ msgstr "La liste de police est actuellement vide." + +#~ msgid "TeX Name" +#~ msgstr "Nom pour TeX" + +#~ msgid "Family" +#~ msgstr "Famille" + +#~ msgid "Zoom" +#~ msgstr "Grossissement" + +#~ msgid "Type" +#~ msgstr "Type" + +#~ msgid "Encoding" +#~ msgstr "Encodage" + +#~ msgid "Comment" +#~ msgstr "Commentaire" + +#~ msgid "TeX virtual" +#~ msgstr "Un TeX virtuel" + +#~ msgid "TeX Font Metric" +#~ msgstr "Métrique de police de TeX" + +#~ msgid "FreeType" +#~ msgstr "FreeType" diff --git a/po/fr/okular_epub.po b/po/fr/okular_epub.po new file mode 100644 index 0000000..ed5944c --- /dev/null +++ b/po/fr/okular_epub.po @@ -0,0 +1,60 @@ +# translation of okular_epub.po to Francais +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Mickael Sibelle , 2008. +# SPDX-FileCopyrightText: 2013, 2024 Xavier Besnard +# +msgid "" +msgstr "" +"Project-Id-Version: okular_epub\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-04-27 14:49+0200\n" +"Last-Translator: Xavier Besnard \n" +"Language-Team: French >\n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Lokalize 23.08.5\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Mickaël Sibelle" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kimael@gmail.com" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "Erreur lors de l'ouverture du document « ePub »" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "ePub" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "Configuration du moteur « ePub »" + +#~ msgid "EPub Backend" +#~ msgstr "Moteur EPub" + +#~ msgid "An EPub backend" +#~ msgstr "Un moteur EPub" + +#~ msgid "© 2008 Ely Levy" +#~ msgstr "© 2008 Ely Levy" + +#~ msgid "Ely Levy" +#~ msgstr "Ely Levy" diff --git a/po/fr/okular_fax.po b/po/fr/okular_fax.po new file mode 100644 index 0000000..48d7efb --- /dev/null +++ b/po/fr/okular_fax.po @@ -0,0 +1,50 @@ +# translation of okular_fax.po to Francais +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Mickael Sibelle , 2008. +# Xavier Besnard , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_fax\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-06-26 10:16+0200\n" +"Last-Translator: xavier \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Lokalize 1.5\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Mickaël Sibelle" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kimael@gmail.com" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "Impossible de charger le document" + +#~ msgid "Fax Backend" +#~ msgstr "Moteur de fax" + +#~ msgid "A G3/G4 fax document backend" +#~ msgstr "Un moteur de documents pour fax « G3 / G4 »" + +#~ msgid "© 2008 Tobias Koenig" +#~ msgstr "© 2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/fr/okular_fictionbook.po b/po/fr/okular_fictionbook.po new file mode 100644 index 0000000..fe07cb7 --- /dev/null +++ b/po/fr/okular_fictionbook.po @@ -0,0 +1,104 @@ +# translation of okular_fictionbook.po to Français +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Thomas Boeglin , 2007, 2008. +# Guillaume Pujol , 2008. +# Xavier Besnard , 2012, 2013. +# Peter Potrowl , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_fictionbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-06-28 12:38-0700\n" +"Last-Translator: Peter Potrowl \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Lokalize 1.5\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Thomas Boeglin, Peter Potrowl" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "thomas.boeglin@gmail.com, peter.potrowl@gmail.com" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "Le document n'est pas dans un format « FictionBook » valable" + +# unreviewed-context +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "Impossible d'ouvrir le document : %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "Le document n'est pas une archive « ZIP » valable" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "Structure du document non valable (le dossier principal est manquant)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "Aucun contenu trouvé dans le document" + +# unreviewed-context +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "Document XML non valable : %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "FictionBook" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "Configuration du moteur FictionBook" + +#~ msgid "Fiction Book Backend" +#~ msgstr "Moteur FictionBook" + +#~ msgid "A renderer for FictionBook eBooks" +#~ msgstr "Moteur de rendu des eBooks « FictionBook »" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" + +#~ msgid "Creator" +#~ msgstr "Créateur" + +#~ msgid "Title" +#~ msgstr "Titre" + +#~ msgid "Author" +#~ msgstr "Auteur" + +#~ msgid "Producer" +#~ msgstr "Producteur" + +#~ msgid "Created" +#~ msgstr "Date de création" diff --git a/po/fr/okular_ghostview.po b/po/fr/okular_ghostview.po new file mode 100644 index 0000000..c7d5008 --- /dev/null +++ b/po/fr/okular_ghostview.po @@ -0,0 +1,97 @@ +# translation of okular_ghostview.po to +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Mickael Sibelle , 2008. +# Xavier Besnard , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_ghostview\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-06-26 11:03+0200\n" +"Last-Translator: xavier \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Lokalize 1.5\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Mickaël Sibelle" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kimael@gmail.com" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "Utiliser les polices de la plate-forme" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"Détermine si Ghostscript peut utiliser les polices de la plate-forme. Si " +"cette option est non sélectionnée, l'utilisation des polices embarquées dans " +"le document sera autorisée." + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "Configuration générale" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "&Utiliser les polices de la plate-forme" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Configuration du moteur Ghostscript" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "Version du document" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "Niveau du langage" + +#~ msgid "PS Backend" +#~ msgstr "Moteur PS" + +#~ msgid "A PostScript file renderer." +#~ msgstr "Un moteur de rendu de fichier « PostScript »." + +#~ msgid "© 2007-2008 Albert Astals Cid" +#~ msgstr "© 2007-2008 Albert Astals Cid" + +#~ msgid "Based on the Spectre library." +#~ msgstr "Reposant sur la bibliothèque « Spectre »." + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" diff --git a/po/fr/okular_kimgio.po b/po/fr/okular_kimgio.po new file mode 100644 index 0000000..cb89ab4 --- /dev/null +++ b/po/fr/okular_kimgio.po @@ -0,0 +1,78 @@ +# translation of okular_kimgio.po to Français +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Thomas Boeglin , 2007, 2008. +# Florian Guillochon , 2009. +# Xavier Besnard , 2013. +# Peter Potrowl , 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_kimgio\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2018-03-04 23:11+0100\n" +"Last-Translator: Peter Potrowl \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Lokalize 2.0\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Thomas Boeglin, Florian Guillochon, Peter Potrowl" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" +"thomas.boeglin@gmail.com, florian.guillochon@gmail.com, peter.potrowl@gmail." +"com" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "Impossible de charger le document : %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" +"Ce document semble mal formé. Voici la meilleure approximation de " +"l'apparence voulue du document." + +#~ msgid "Image Backend" +#~ msgstr "Moteur d'images" + +#~ msgid "A simple image backend" +#~ msgstr "Un moteur simple d'images" + +#~ msgid "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" +#~ msgstr "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" + +#~ msgid "Main Toolbar" +#~ msgstr "Barre principale d'outils" diff --git a/po/fr/okular_markdown.po b/po/fr/okular_markdown.po new file mode 100644 index 0000000..ee853ea --- /dev/null +++ b/po/fr/okular_markdown.po @@ -0,0 +1,57 @@ +# SPDX-FileCopyrightText: 2021, 2023 Xavier Besnard +# Peter Potrowl , 2017, 2019. +# Simon Depiets , 2018. +msgid "" +msgstr "" +"Project-Id-Version: okular_markdown\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2023-10-26 11:46+0200\n" +"Last-Translator: Xavier BESNARD \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Lokalize 23.08.1\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Geoffray Levasseur, Matthieu Robin, Peter Potrowl, Simon Depiets" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" +"geoffray.levasseurbrandin@numericable.fr, kde@macolu.org, peter." +"potrowl@gmail.com, sdepiets@gmail.com" + +#: converter.cpp:59 converter.cpp:93 +#, kde-format +msgid "Failed to open the document" +msgstr "Impossible d'ouvrir le document" + +#: converter.cpp:106 converter.cpp:124 +#, kde-format +msgid "Failed to compile the Markdown document." +msgstr "Impossible de compiler le document « Markdown »." + +#: generator_md.cpp:58 +#, kde-format +msgid "Enable SmartyPants formatting" +msgstr "Formatage SmartyPants" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown" +msgstr "Markdown" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown Backend Configuration" +msgstr "Configuration du moteur Markdown" diff --git a/po/fr/okular_mobi.po b/po/fr/okular_mobi.po new file mode 100644 index 0000000..4443f74 --- /dev/null +++ b/po/fr/okular_mobi.po @@ -0,0 +1,68 @@ +# translation of okular_mobi.po to Français +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Joëlle Cornavin , 2009. +# Xavier Besnard , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_mobi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-06-26 10:47+0200\n" +"Last-Translator: xavier \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Lokalize 1.5\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Joëlle Cornavin" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "jcornavi@club-internet.fr" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Erreur lors de l'ouverture du document « Mobipocket »." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "" +"Ce livre est protégé par « DRM » et ne peut être affiché que sur un " +"périphérique prévu à cet effet" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "Mobipocket" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "Configuration du moteur Mobipocket" + +#~ msgid "Mobipocket Backend" +#~ msgstr "Moteur Mobipocket" + +#~ msgid "A mobipocket backend" +#~ msgstr "Un moteur Mobipocket" + +#~ msgid "© 2008-2009 Jakub Stachowski" +#~ msgstr "© 2008-2009 Jakub Stachowski" + +#~ msgid "Jakub Stachowski" +#~ msgstr "Jakub Stachowski" diff --git a/po/fr/okular_poppler.po b/po/fr/okular_poppler.po new file mode 100644 index 0000000..27fa99f --- /dev/null +++ b/po/fr/okular_poppler.po @@ -0,0 +1,449 @@ +# translation of okular_poppler.po to Français +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Thomas Boeglin , 2007, 2008. +# Guillaume Pujol , 2008. +# Florian Guillochon , 2009. +# SPDX-FileCopyrightText: 2012, 2013, 2020, 2021, 2023, 2025 Xavier Besnard +# Peter Potrowl , 2018, 2019. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_poppler\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-11 09:03+0200\n" +"Last-Translator: Xavier Besnard \n" +"Language-Team: French >\n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Accelerator-Marker: &\n" +"X-Environment: kde\n" +"X-Generator: Lokalize 25.04.3\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Xavier Besnard, Thomas Boeglin, Florian Guillochon, Peter Potrowl" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" +"xavier.besnard@kde.org, thomas.boeglin@gmail.com, florian.guillochon@gmail." +"com, peter.potrowl@gmail.com" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "Activer un aperçu de sur-impression :" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "Jamais" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "Toujours" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "Automatique" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "Épaissir les lignes fines :" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "Non" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "Solide" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "Forme" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "Mode de mise à l'échelle par défaut pour l'impression :" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "Ajuster à la zone imprimable" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "Ajuster à la page entière" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "Aucun ; imprimer en taille originale" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" +"L'activation de cette option permettra à Okular de contacter des serveurs " +"« OCSP » tiers pour vérifier si les certificats utilisés pour la signature " +"numérique ont été révoqués depuis leur création." + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" +"Vérifier la révocation des certificats utilisés pour la signature numérique " +"en utilisant des serveurs « OCSP » tiers." + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "Moteur de signature :" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" +"Ces signatures ne peuvent être validées que par les utilisateurs de versions " +"récentes de Okular ayant le moteur GnuPG activé" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "Autoriser les clés « PGP » pour les signatures (Extension de Okular)" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "Base de données de certificats" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "Par défaut :" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "Personnalisé :" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "Certificats disponibles" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "Charger &les signatures" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "Options « PDF »" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "Imprimer les annotations" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "Insérer les annotations dans le document imprimé" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"Insère les annotations dans le document imprimé. Vous pouvez désactiver ceci " +"si vous souhaitez imprimer le document original sans annotation." + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "Forcer la rastérisation (conversion en image)" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "Rastériser (convertir en image) avant l'impression" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"Forcer la rastérisation (conversion en image) de chaque page avant " +"l'impression. Les résultats obtenus sont en général moins bon, mais cela est " +"utile pour imprimer des documents dont l'impression directe semble " +"incorrecte." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "Mode de mise à l'échelle pour les pages imprimées" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "Mode de mise à l'échelle :" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF version %1.%2" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "Format" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "Chiffré" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "Non chiffré" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "Sécurité" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "Oui" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "Optimisé" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Signé par : %1\n" +"\n" +"Date : %2" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "Utilisation de Poppler %1" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" +"Utilisation de Poppler %1\n" +"\n" +"Construit sur Poppler %2" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "Configuration du moteur PDF" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "Échec de l'écriture du fichier temporaire" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "Échec du renommage du fichier temporaire" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" +"Des erreurs ont été trouvées dans le document. Okular pourrait ne pas être " +"en mesure d'afficher le contenu correctement." + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" +"Ces signatures ne fonctionnent qu'entre les versions récentes de Okular " +"ayant le moteur reposant sur GnuPG activé" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "Activer les signatures « PGP »" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "Émis pour" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "Courriel" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "Date d'expiration" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" +"Vous utilisez actuellement la bibliothèque « Poppler » compilée sans la " +"prise en charge de « NSS ».\n" +"L'ajout de signatures numériques est indisponible pour cette raison." + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "pour toujours" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "Redémarrage nécessaire" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "" +"Vous devez redémarrer Okular après modification des paramètres de dossier " +"« NSS »." + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter Password" +msgstr "Veuillez saisir le mot de passe" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "Veuillez saisir le mot de passe pour ouvrir %1 :" + +#~ msgid "Not Available" +#~ msgstr "Non disponible" + +#~ msgid "PDF Certificates" +#~ msgstr "Certificats « PDF »" + +#~ msgid "PDF Digital Signature Certificates" +#~ msgstr "Certificats de signature numérique « PDF »" + +#~ msgid "PDF Backend" +#~ msgstr "Moteur PDF" + +#~ msgid "A PDF file renderer" +#~ msgstr "Un moteur PDF" + +#~ msgid "© 2005-2008 Albert Astals Cid" +#~ msgstr "© 2005-2008 Albert Astals Cid" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Saving files with /Encrypt is not supported." +#~ msgstr "" +#~ "L'enregistrement de fichiers avec chiffrement n'est pas pris en charge." + +#~ msgid "Unknown" +#~ msgstr "Inconnu" + +#~ msgid "Unknown Date" +#~ msgstr "Date inconnue" + +#~ msgid "Unknown Encryption" +#~ msgstr "Chiffrement inconnu" + +#~ msgid "Unknown Optimization" +#~ msgstr "Optimisation inconnue" + +# unreviewed-context +#~ msgid "Please enter the password to read the document:" +#~ msgstr "Veuillez saisir le mot de passe pour l'ouverture du document :" + +# unreviewed-context +#~ msgid "Incorrect password. Try again:" +#~ msgstr "Mot de passe erroné. Nouvel essai :" diff --git a/po/fr/okular_tiff.po b/po/fr/okular_tiff.po new file mode 100644 index 0000000..a6404c4 --- /dev/null +++ b/po/fr/okular_tiff.po @@ -0,0 +1,25 @@ +# Xavier Besnard , 2020. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-07-13 18:04+0200\n" +"Last-Translator: Xavier Besnard \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Lokalize 20.04.3\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Xavier Besnard" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "xavier.besnard@kde.org" diff --git a/po/fr/okular_txt.po b/po/fr/okular_txt.po new file mode 100644 index 0000000..9a859cb --- /dev/null +++ b/po/fr/okular_txt.po @@ -0,0 +1,53 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Xavier Besnard , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-06-26 10:35+0200\n" +"Last-Translator: Xavier Besnard \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Lokalize 1.5\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Xavier Besnard" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "xavier.besnard@kde.org" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "Txt" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "Configuration du moteur Txt" + +#~ msgid "Txt Backend" +#~ msgstr "Moteur TxT" + +#~ msgid "Txt backend." +#~ msgstr "Moteur TxT." + +#~ msgid "© 2013 Azat Khuzhin" +#~ msgstr "© 2013 Azat Khuzhin" + +#~ msgid "Azat Khuzhin" +#~ msgstr "Azat Khuzhin" diff --git a/po/fr/okular_xps.po b/po/fr/okular_xps.po new file mode 100644 index 0000000..3590177 --- /dev/null +++ b/po/fr/okular_xps.po @@ -0,0 +1,67 @@ +# translation of okular_xps.po to Français +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Thomas Boeglin , 2007, 2008. +# Mickael Sibelle , 2008. +# Guillaume Pujol , 2008. +# Joëlle Cornavin , 2009. +# SPDX-FileCopyrightText: 2013, 2023 Xavier Besnard +# +msgid "" +msgstr "" +"Project-Id-Version: okular_xps\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2023-12-20 09:49+0100\n" +"Last-Translator: Xavier Besnard \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Lokalize 23.08.4\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Xavier Besnard, Thomas Boeglin, Joëlle Cornavin, Mickaël Sibelle" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" +"xavier.besnard@kde.org, thomas.boeglin@gmail.com, jcornavi@club-internet.fr, " +"kimael@gmail.com" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "Révision" + +#~ msgid "XPS Backend" +#~ msgstr "Moteur XPS" + +#~ msgid "An XPS backend" +#~ msgstr "Un moteur XPS" + +#~ msgid "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" +#~ msgstr "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" + +#~ msgid "Brad Hards" +#~ msgstr "Brad Hards" + +#~ msgid "Jiri Klement" +#~ msgstr "Jiri Klement" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" diff --git a/po/fr/org.kde.active.documentviewer.po b/po/fr/org.kde.active.documentviewer.po new file mode 100644 index 0000000..28248b6 --- /dev/null +++ b/po/fr/org.kde.active.documentviewer.po @@ -0,0 +1,240 @@ +# translation of org.kde.active.documentviewer.po to Français +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Joëlle Cornavin , 2013. +# SPDX-FileCopyrightText: 2013, 2020, 2021, 2022, 2024, 2025 Xavier Besnard +# Yoann Laissus , 2018. +# Simon Depiets , 2018, 2019. +# +msgid "" +msgstr "" +"Project-Id-Version: org.kde.active.documentviewer\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-30 09:13+0200\n" +"Last-Translator: Xavier Besnard \n" +"Language-Team: French >\n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Accelerator-Marker: &\n" +"X-Environment: kde\n" +"X-Generator: Lokalize 25.07.90\n" +"X-Text-Markup: kde4\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "Signets" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "Afficheur de certificats" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "Créé par" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "Nom usuel :" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "Courriel :" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "Organisation :" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "Créé vers" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "Validité" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "Créé le :" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "Expire le :" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "Empreintes digitales" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "Empreinte digitale « SHA-1 » :" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "Empreinte digitale « SHA-256 » :" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +msgid "Export…" +msgstr "Exporter..." + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "Fermer" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "Fichier de certificat (*.cer)" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "Erreur" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "Impossible d'exporter le certificat." + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "Okular" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "Ouvrir…" + +#: ui/Main.qml:49 +msgid "About" +msgstr "À propos" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "Un mot de passe est requis." + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "Supprimer le signet" + +#: ui/MainView.qml:29 +msgid "Bookmark this page" +msgstr "Ajouter cette page aux signets" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "Vignettes" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "Table des matières" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "Signatures" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "Propriétés de signature" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "État de validité" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "Validité de la signature :" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "Modifications du document :" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "Informations additionnelles" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "Signé par :" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "Heure de signature :" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "Raison :" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "Emplacement :" + +#: ui/SignaturePropertiesPage.qml:96 +msgid "Document Version" +msgstr "Version de document" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Révision %1 du document parmi %2" + +#: ui/SignaturePropertiesPage.qml:108 +msgid "Save Signed Version…" +msgstr "Enregistrer la version signée..." + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +msgid "View Certificate…" +msgstr "Afficher le certificat..." + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "Impossible d'enregistrer la signature." + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "Non disponible" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "Aucun résultat n'a été trouvé." + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "Aucun document ouvert" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "Documents récents" + +#: ui/WelcomeView.qml:108 +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "Mes documents" + +#~ msgid "Open..." +#~ msgstr "Ouvrir..." + +#~ msgid "Search..." +#~ msgstr "Chercher…" + +#~ msgid "" +#~ "No Documents found. To start to read, put some files in the Documents " +#~ "folder of your device." +#~ msgstr "" +#~ "Aucun document n'a été trouvé. Pour commencer à lire, placez quelques " +#~ "fichiers dans le dossier « Document » de votre périphérique." + +#~ msgid "Document viewer for Plasma Active using Okular" +#~ msgstr "Afficheur de documents pour Plasma Active utilisant Okular" + +#~ msgid "Reader" +#~ msgstr "Lecteur" + +#~ msgid "Copyright 2012 Marco Martin" +#~ msgstr "Copyright 2012 Marco Martin" + +#~ msgid "Marco Martin" +#~ msgstr "Marco Martin" + +#~ msgid "URL of the file to open" +#~ msgstr "URL du fichier à ouvrir" diff --git a/po/fy/okular.po b/po/fy/okular.po new file mode 100644 index 0000000..a1da229 --- /dev/null +++ b/po/fy/okular.po @@ -0,0 +1,6801 @@ +# translation of okular.po to Frysk +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Rinse de Vries , 2007. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2007-08-05 16:45+0100\n" +"Last-Translator: Douwe VDM \n" +"Language-Team: Frysk \n" +"Language: fy\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: KBabel 1.11.4\n" + +#, fuzzy, kde-format +#| msgid "Your names" +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr " Jo namme" + +#, fuzzy, kde-format +#| msgid "Your emails" +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr " Jo e-mailadres" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, fuzzy, kde-format +#| msgid "okular" +msgid "Okular" +msgstr "okular" + +#: aboutdata.h:21 +#, fuzzy, kde-format +#| msgid "okular, an universal document viewer" +msgid "Okular, a universal document viewer" +msgstr "Okular, in universele dokumint viewer" + +#: aboutdata.h:23 +#, fuzzy, kde-format +#| msgid "" +#| "(C) 2002 Wilco Greven, Christophe Devriese\n" +#| "(C) 2004-2005 Albert Astals Cid, Enrico Ros\n" +#| "(C) 2005 Piotr Szymanski" +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Albert Astals Cid, Enrico Ros\n" +"(C) 2005 Piotr Szymanski" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "Eardere ûnderhâlder" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, fuzzy, kde-format +#| msgid "KPDF developer" +msgid "Developer" +msgstr "KPDF ûntwikkelder" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymanski" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "Enrico Ros" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "KPDF ûntwikkelder" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "" + +#: aboutdata.h:36 +#, fuzzy, kde-format +msgid "Annotations artwork" +msgstr "%1-eigenskippen" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "" + +#: aboutdata.h:37 +#, fuzzy, kde-format +#| msgid "&Text Selection Tool" +msgid "Table selection tool" +msgstr "&Selektear-ark" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "" + +#: aboutdata.h:38 +#, fuzzy, kde-format +msgid "Annotation improvements" +msgstr "%1-eigenskippen" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "Gean nei side %1" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "Iepenje in eksterne triem" + +#: core/action.cpp:197 +#, fuzzy, kde-format +#| msgid "Execute '%1'..." +msgid "Execute '%1'…" +msgstr " '%1' útfiere..." + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "Earste side" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "Foarrige side" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "Neikommende side" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "Lêste side" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "Tebek" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "Foarút" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Ofslute" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "Presintaasje" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "Ein Presintaasje" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go To Page…" +msgstr "Gean nei side" + +#: core/action.cpp:365 +#, fuzzy, kde-format +#| msgid "Play sound..." +msgid "Play sound…" +msgstr "Lûd ôfspylje..." + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "" + +#: core/action.cpp:483 +#, fuzzy, kde-format +#| msgid "Play movie..." +msgid "Play movie…" +msgstr "Film ôfspylje..." + +#: core/action.cpp:554 +#, fuzzy, kde-format +#| msgid "Play movie..." +msgid "Play movie" +msgstr "Film ôfspylje..." + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "" + +#: core/action.cpp:558 +#, fuzzy, kde-format +#| msgid "Play movie..." +msgid "Pause movie" +msgstr "Film ôfspylje..." + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "Efterein-seleksje" + +#: core/chooseenginedialog.cpp:40 +#, fuzzy, kde-format +#| msgid "" +#| "More than one backend found for the MIME type:
%1 (%2).

Please select which one to use:" +msgid "" +"More than one backend found for the MIME type:
%1 (%2).

Please select which one to use:
" +msgstr "" +"Mear as ien backend fûn foar it MIME type:
%1 (%2).

Graach selektearje hokker jo brûke wolle:" + +#: core/document.cpp:200 +#, fuzzy, kde-format +#| msgid "Go to page %1" +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "Gean nei side %1" + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "" + +#: core/document.cpp:246 +#, fuzzy, kde-format +#| msgid "%1 x %2 in" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 x %2 yn" + +#: core/document.cpp:248 +#, fuzzy, kde-format +#| msgid "%1 x %2 mm" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 x %2 mm" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "" + +#: core/document.cpp:2421 +#, fuzzy, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "Kin gjin plugin fine om it foarrige dokumint te bewurkjen." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "Presintaasje" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, fuzzy, kde-format +#| msgid "" +#| "The document is trying to execute an external application and for your " +#| "safety okular does not allow that." +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"De pdf-triem besiket in ekstern programma út te fieren. Foar de feilichheid " +"fan jo systeem lit kpdf dit net ta." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "Gjin programma fûn foar it iepenjen fan triemmen fan it type %1." + +#: core/document.cpp:4801 +#, fuzzy, kde-format +#| msgid "Could not open %1. Reason: %2" +msgid "Could not open a temporary file" +msgstr "Koe %1 net iepenje. Redenn: %2" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "" + +#: core/document.cpp:4813 +#, fuzzy, kde-format +#| msgid "Unable to find okular part." +msgid "Unable to find file to print" +msgstr "It KPDF-Part koe net fûn wurde." + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, fuzzy, kde-format +#| msgid "Could not open %1. Reason: %2" +msgid "Could not open '%1'. File does not exist" +msgstr "Koe %1 net iepenje. Redenn: %2" + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Titel" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Underwerp" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Beskriuwing" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "Skriuwer" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Oanmakke troch" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Produsint" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "Copyright" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "Siden" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Makke" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Wizige" + +#: core/document.cpp:6032 +#, fuzzy, kde-format +#| msgid "Mime Type" +msgid "MIME Type" +msgstr "Mime-triemtype" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "Kategory" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Trefwurden" + +#: core/document.cpp:6041 +#, fuzzy, kde-format +#| msgid "File" +msgid "File Path" +msgstr "Triem" + +# oersetting OK? +#: core/document.cpp:6044 +#, fuzzy, kde-format +msgid "File Size" +msgstr "Siden" + +#: core/document.cpp:6047 +#, fuzzy, kde-format +msgid "Page Size" +msgstr "Siden" + +#: core/documentcommands.cpp:62 +#, fuzzy, kde-format +#| msgid "Annotation" +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "Presintaasje" + +#: core/documentcommands.cpp:108 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "Presintaasje" + +#: core/documentcommands.cpp:155 +#, fuzzy, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "%1-eigenskippen" + +#: core/documentcommands.cpp:190 +#, fuzzy, kde-format +#| msgid "Annotation" +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "Presintaasje" + +#: core/documentcommands.cpp:263 +#, fuzzy, kde-format +#| msgid "Annotation" +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "Presintaasje" + +#: core/documentcommands.cpp:333 +#, fuzzy, kde-format +#| msgid "Select text." +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "Tekst selektearje." + +#: core/documentcommands.cpp:398 +#, fuzzy, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "%1-eigenskippen" + +#: core/documentcommands.cpp:447 +#, fuzzy, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "%1-eigenskippen" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "" + +#: core/generator.cpp:790 +#, fuzzy, kde-format +#| msgid "Plain &Text..." +msgid "Plain &Text…" +msgstr "Platte &Tekst" + +# PDF=KPDF??? +#: core/generator.cpp:793 +#, fuzzy, kde-format +msgid "PDF" +msgstr "KPDF" + +#: core/generator.cpp:797 +#, fuzzy, kde-format +#| msgid "Open a document" +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "Aktuele ûnderhâlder" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "" + +#: core/printoptionswidget.cpp:19 +#, fuzzy, kde-format +#| msgid "Filter Options" +msgid "Print Options" +msgstr "Filteropsjes" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#: core/printoptionswidget.cpp:25 +#, fuzzy, kde-format +#| msgid "&Color:" +msgid "Scale mode:" +msgstr "&Kleur:" + +#: core/script/js_app.cpp:206 +#, fuzzy, kde-format +#| msgid "Close this message" +msgid "Do not show this message again" +msgstr "Slut dit berjocht ôf" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "" + +#: core/signatureutils.cpp:504 +#, fuzzy, kde-kuit-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "De triem koe net opslein wurde yn '%1'. Besykje in oare lokaasje." + +#: core/signatureutils.cpp:506 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown signing error" +msgstr "Unbekende triem" + +#: core/sourcereference.cpp:103 +#, fuzzy, kde-format +#| msgid "Size" +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Grutte" + +#: core/textdocumentsettings.cpp:34 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgid "&Default Font:" +msgstr "Standertoergong:" + +#: gui/certificatemodel.cpp:39 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Version" +msgstr "Dokumint om te iepenjen" + +#: gui/certificatemodel.cpp:41 +#, fuzzy, kde-format +msgid "Serial Number" +msgstr "Siden" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, fuzzy, kde-format +#| msgid "Expired" +msgid "Expires On" +msgstr "Ferrûn" + +#: gui/certificatemodel.cpp:49 +#, fuzzy, kde-format +#| msgid "Subject" +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Underwerp" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "" + +#: gui/certificatemodel.cpp:53 +#, fuzzy, kde-format +#| msgid "Memory Usage" +msgid "Key Usage" +msgstr "Unthâld gebrûk" + +#: gui/certificatemodel.cpp:72 +#, fuzzy, kde-format +#| msgid "%1:" +msgid "V%1" +msgstr "%1:" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "" + +#: gui/certificatemodel.cpp:146 +#, fuzzy, kde-format +#| msgid "&Properties" +msgid "Property" +msgstr "Eigenski&ppen" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, fuzzy, kde-format +#| msgid "&Open Pop-up Note" +msgid "Pop-up Note" +msgstr "&Iepenje Pop-up Note" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, fuzzy, kde-format +#| msgid "Overwrite" +msgid "Typewriter" +msgstr "Oerskriuwe" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +msgid "Arrow with Comment" +msgstr "Eigenski&ppen" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "" + +#: gui/guiutils.cpp:59 +#, fuzzy, kde-format +msgid "Straight Line with Comment" +msgstr "Eigenski&ppen" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, fuzzy, kde-format +#| msgid "Straight Yellow Line" +msgid "Straight Line" +msgstr "Rjochte giele streek" + +#: gui/guiutils.cpp:63 +#, fuzzy, kde-format +msgid "Polygon with Comment" +msgstr "Eigenski&ppen" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgid "Select text." +msgid "Rectangle with Comment" +msgstr "Tekst selektearje." + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "Rjochthoeke" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgid "Underline" +msgid "Ellipse with Comment" +msgstr "&Understreke" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "Ellips" + +#: gui/guiutils.cpp:83 +#, fuzzy, kde-format +#| msgid "Highlight" +msgid "Highlight with Comment" +msgstr "Opljochtsje litte" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "Opljochtsje litte" + +#: gui/guiutils.cpp:87 +#, fuzzy, kde-format +#| msgid "Select text." +msgid "Squiggle with Comment" +msgstr "Tekst selektearje." + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "" + +#: gui/guiutils.cpp:91 +#, fuzzy, kde-format +#| msgid "Underline" +msgid "Underline with Comment" +msgstr "&Understreke" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "&Understreke" + +#: gui/guiutils.cpp:95 +#, fuzzy, kde-format +#| msgid "Select text." +msgid "Strike Out with Comment" +msgstr "Tekst selektearje." + +#: gui/guiutils.cpp:95 +#, fuzzy, kde-format +#| msgid "Select text." +msgid "Strike Out" +msgstr "Tekst selektearje." + +#: gui/guiutils.cpp:102 +#, fuzzy, kde-format +#| msgid "Select text." +msgid "Stamp with Comment" +msgstr "Tekst selektearje." + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "Postsegel" + +#: gui/guiutils.cpp:106 +#, fuzzy, kde-format +msgid "Freehand Line with Comment" +msgstr "Eigenski&ppen" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "" + +#: gui/guiutils.cpp:110 +#, fuzzy, kde-format +#| msgid "Creator" +msgid "Caret" +msgstr "Oanmakke troch" + +#: gui/guiutils.cpp:114 +#, fuzzy, kde-format +#| msgid "Note Properties" +msgid "File Attachment" +msgstr "Eigenski&ppen" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "" + +#: gui/guiutils.cpp:122 +#, fuzzy, kde-format +#| msgid "Modified" +msgid "Movie" +msgstr "Wizige" + +#: gui/guiutils.cpp:126 +#, fuzzy, kde-format +#| msgid "Created:" +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Oanmakke:" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Annotation" +msgid "Annotation" +msgstr "Presintaasje" + +#: gui/guiutils.cpp:168 +#, fuzzy, kde-format +#| msgid "Unknown" +msgctxt "Unknown author" +msgid "Unknown" +msgstr "Unbekend" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Auteur: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "Wêr wolle jo %1 opslaan?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "" + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "" + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "" + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "" + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "" + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "" + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "" + +#: gui/signatureguiutils.cpp:60 +#, fuzzy, kde-format +msgid "Certificate is Trusted." +msgstr "KPDF ynstelle...." + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "" + +#: gui/signatureguiutils.cpp:64 +#, fuzzy, kde-format +msgid "Certificate issuer is unknown." +msgstr "KPDF ynstelle...." + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "" + +#: gui/signatureguiutils.cpp:68 +#, fuzzy, kde-format +msgid "Certificate has Expired." +msgstr "KPDF ynstelle...." + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "" + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "" + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "" + +#: gui/signatureguiutils.cpp:96 +#, fuzzy, kde-format +#| msgid "Unknown" +msgid "Unknown Algorithm" +msgstr "Unbekend" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown Type" +msgstr "Unbekende triem" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "" + +#: gui/signatureguiutils.cpp:135 +#, fuzzy, kde-format +msgid "Sign Certificate" +msgstr "KPDF ynstelle...." + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr "" + +#: gui/signatureguiutils.cpp:165 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "The document has not been modified since it was signed." +msgstr "It útprintsjen fan dit dokumint is net tastien." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "" + +#: gui/signatureguiutils.cpp:208 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "It útprintsjen fan dit dokumint is net tastien." + +#: gui/signatureguiutils.cpp:211 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "This document is digitally signed." +msgstr "It útprintsjen fan dit dokumint is net tastien." + +#: gui/signatureguiutils.cpp:213 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "It útprintsjen fan dit dokumint is net tastien." + +#: gui/signatureguiutils.cpp:216 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "It útprintsjen fan dit dokumint is net tastien." + +#: gui/signaturemodel.cpp:141 +#, fuzzy, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "Eigenski&ppen" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "" + +#: gui/signaturemodel.cpp:172 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgid "Reason: %1" +msgstr "Pagina's:%1" + +#: gui/signaturemodel.cpp:177 +#, fuzzy, kde-format +#| msgid "Annotation" +msgid "Location: %1" +msgstr "Presintaasje" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "" + +#: gui/signaturemodel.cpp:193 +#, fuzzy, kde-format +#| msgid "Unknown" +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "Unbekend" + +#: gui/signaturemodel.cpp:195 +#, fuzzy, kde-format +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "Eigenski&ppen" + +#: gui/signaturemodel.cpp:201 +#, fuzzy, kde-format +msgid "Signature Type: %1" +msgstr "Eigenski&ppen" + +#: part/annotationactionhandler.cpp:148 +#, fuzzy, kde-format +#| msgid "Reloa&d" +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "&Ferfarskje" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "" + +#: part/annotationactionhandler.cpp:151 +#, fuzzy, kde-format +#| msgid "Created:" +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "Oanmakke:" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "Breedte passend meitsje" + +#: part/annotationactionhandler.cpp:252 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1:" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:308 +#, fuzzy, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "%1-eigenskippen" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "" + +#: part/annotationactionhandler.cpp:314 +#, fuzzy, kde-format +#| msgid "Annotation" +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Presintaasje" + +#: part/annotationactionhandler.cpp:316 +#, fuzzy, kde-format +#| msgid "Annotation" +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "Presintaasje" + +#: part/annotationactionhandler.cpp:318 +#, fuzzy, kde-format +#| msgid "Annotation" +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Presintaasje" + +#: part/annotationactionhandler.cpp:322 +#, fuzzy, kde-format +#| msgid "Annotation" +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Presintaasje" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "" + +#: part/annotationactionhandler.cpp:328 +#, fuzzy, kde-format +#| msgid "Annotation" +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "Presintaasje" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" + +#: part/annotationactionhandler.cpp:341 +#, fuzzy, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "%1-eigenskippen" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "" + +#: part/annotationactionhandler.cpp:432 +#, fuzzy, kde-format +#| msgid "&Color:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "&Kleur:" + +#: part/annotationactionhandler.cpp:434 +#, fuzzy, kde-format +#| msgid "&Color:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "&Kleur:" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "" + +#: part/annotationactionhandler.cpp:499 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgctxt "@title:window" +msgid "Select color" +msgstr "&Selektear-ark" + +#: part/annotationactionhandler.cpp:552 +#, fuzzy, kde-format +#| msgid "Annotation" +msgid "&Annotations" +msgstr "Presintaasje" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "" + +#: part/annotationactionhandler.cpp:554 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Presintaasje" + +#: part/annotationactionhandler.cpp:557 +#, fuzzy, kde-format +#| msgid "Highlight" +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "Opljochtsje litte" + +#: part/annotationactionhandler.cpp:558 +#, fuzzy, kde-format +#| msgid "Underline" +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "&Understreke" + +#: part/annotationactionhandler.cpp:559 +#, fuzzy, kde-format +#| msgid "Select text." +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "Tekst selektearje." + +#: part/annotationactionhandler.cpp:560 +#, fuzzy, kde-format +#| msgid "Select text." +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "Tekst selektearje." + +#: part/annotationactionhandler.cpp:562 +#, fuzzy, kde-format +#| msgid "Overwrite" +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Oerskriuwe" + +#: part/annotationactionhandler.cpp:563 +#, fuzzy, kde-format +#| msgid "Note Properties" +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "Eigenski&ppen" + +#: part/annotationactionhandler.cpp:564 +#, fuzzy, kde-format +#| msgid "&Open Pop-up Note" +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "&Iepenje Pop-up Note" + +#: part/annotationactionhandler.cpp:565 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "Eigenski&ppen" + +#: part/annotationactionhandler.cpp:567 +#, fuzzy, kde-format +#| msgid "Straight Yellow Line" +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "Rjochte giele streek" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "" + +#: part/annotationactionhandler.cpp:569 +#, fuzzy, kde-format +#| msgid "Rectangle" +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "Rjochthoeke" + +#: part/annotationactionhandler.cpp:570 +#, fuzzy, kde-format +#| msgid "Ellipse" +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "Ellips" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "" + +#: part/annotationactionhandler.cpp:618 +#, fuzzy, kde-format +#| msgid "Stamp" +msgctxt "@action" +msgid "Stamp" +msgstr "Postsegel" + +#: part/annotationactionhandler.cpp:638 +#, fuzzy, kde-format +#| msgid "Annotation" +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Presintaasje" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "" + +#: part/annotationactionhandler.cpp:651 +#, fuzzy, kde-format +#| msgid "Annotation" +msgid "Quick Annotation Bar" +msgstr "Presintaasje" + +#: part/annotationactionhandler.cpp:665 +#, fuzzy, kde-format +#| msgid "Annotation" +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "Presintaasje" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "" + +#: part/annotationactionhandler.cpp:669 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "Presintaasje" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "" + +#: part/annotationactionhandler.cpp:680 +#, fuzzy, kde-format +#| msgid "Font:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "Lettertype:" + +#: part/annotationactionhandler.cpp:681 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "%1-eigenskippen" + +#: part/annotationactionhandler.cpp:684 +#, fuzzy, kde-format +#| msgid "Line" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "Rigel" + +#: part/annotationactionhandler.cpp:693 +#, fuzzy, kde-format +#| msgid "&Opacity:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "&Dekking:" + +#: part/annotationactionhandler.cpp:696 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1:" + +#: part/annotationmodel.cpp:320 +#, fuzzy, kde-format +#| msgid "Page %1" +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "Side %1" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "Side %1" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Annotation" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "Presintaasje" +msgstr[1] "Presintaasje" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "&Iepenje Pop-up Note" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Blêdwizer wiskje" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Blêdwizer taheakje" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Text to Clipboard" +msgstr "Kopiearje nei klamboerd" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "&Wiskje" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "Eigenski&ppen" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, fuzzy, kde-format +#| msgid "Save As..." +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "Bewarje as..." + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "&Uterlik" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "&Algemien" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "Skri&uwer:" + +#: part/annotationpropertiesdialog.cpp:69 +#, fuzzy, kde-format +#| msgid "Created" +msgid "Created:" +msgstr "Makke" + +#: part/annotationpropertiesdialog.cpp:74 +#, fuzzy, kde-format +#| msgid "Modified" +msgid "Modified:" +msgstr "Wizige" + +#: part/annotationpropertiesdialog.cpp:108 +#, fuzzy, kde-format +#| msgid "Note Properties" +msgid "Pop-up Note Properties" +msgstr "Eigenski&ppen" + +#: part/annotationpropertiesdialog.cpp:111 +#, fuzzy, kde-format +msgid "Typewriter Properties" +msgstr "Eigenski&ppen" + +#: part/annotationpropertiesdialog.cpp:113 +#, fuzzy, kde-format +#| msgid "Note Properties" +msgid "Inline Note Properties" +msgstr "Eigenski&ppen" + +#: part/annotationpropertiesdialog.cpp:119 +#, fuzzy, kde-format +msgid "Straight Line Properties" +msgstr "Eigenski&ppen" + +#: part/annotationpropertiesdialog.cpp:121 +#, fuzzy, kde-format +msgid "Polygon Properties" +msgstr "Eigenski&ppen" + +#: part/annotationpropertiesdialog.cpp:125 +#, fuzzy, kde-format +msgid "Geometry Properties" +msgstr "Eigenski&ppen" + +#: part/annotationpropertiesdialog.cpp:128 +#, fuzzy, kde-format +msgid "Text Markup Properties" +msgstr "Eigenski&ppen" + +#: part/annotationpropertiesdialog.cpp:131 +#, fuzzy, kde-format +msgid "Stamp Properties" +msgstr "Eigenski&ppen" + +#: part/annotationpropertiesdialog.cpp:134 +#, fuzzy, kde-format +msgid "Freehand Line Properties" +msgstr "Eigenski&ppen" + +#: part/annotationpropertiesdialog.cpp:137 +#, fuzzy, kde-format +msgid "Caret Properties" +msgstr "Eigenski&ppen" + +#: part/annotationpropertiesdialog.cpp:140 +#, fuzzy, kde-format +#| msgid "Note Properties" +msgid "File Attachment Properties" +msgstr "Eigenski&ppen" + +#: part/annotationpropertiesdialog.cpp:143 +#, fuzzy, kde-format +msgid "Sound Properties" +msgstr "Eigenski&ppen" + +#: part/annotationpropertiesdialog.cpp:146 +#, fuzzy, kde-format +#| msgid "Note Properties" +msgid "Movie Properties" +msgstr "Eigenski&ppen" + +#: part/annotationpropertiesdialog.cpp:149 +#, fuzzy, kde-format +msgid "Annotation Properties" +msgstr "%1-eigenskippen" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, fuzzy, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "Postsegelsymboal" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&Kleur:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%1:" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "&Dekking:" + +#: part/annotationwidgets.cpp:363 +#, fuzzy, kde-format +#| msgid "Icon" +msgid "Icon:" +msgstr "Bykdkaike" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "Taljochting" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "Help" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "Ynfoegje" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "Kaai" + +#: part/annotationwidgets.cpp:368 +#, fuzzy, kde-format +#| msgid "New Paragraph" +msgid "New paragraph" +msgstr "Nije alinea" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "Notysje" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "Alinea" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Lettertype:" + +#: part/annotationwidgets.cpp:387 +#, fuzzy, kde-format +#| msgid "&Color:" +msgid "Text &color:" +msgstr "&Kleur:" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "" + +#: part/annotationwidgets.cpp:395 +#, fuzzy, kde-format +#| msgid "Wipe Left" +msgid "Left" +msgstr "Lofts feie" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "" + +#: part/annotationwidgets.cpp:397 +#, fuzzy, kde-format +#| msgid "Wipe Right" +msgid "Right" +msgstr "Rjochts feie" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "Fertroulik" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "Konsept" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "Ferrûn" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "Uteinlik resultaat" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "Tige geheim" + +#: part/annotationwidgets.cpp:428 +#, fuzzy, kde-format +#| msgid "Bookmarks" +msgid "Bookmark" +msgstr "Blêdwizers" + +#: part/annotationwidgets.cpp:429 +#, fuzzy, kde-format +#| msgid "Annotation" +msgid "Information" +msgstr "Presintaasje" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "" + +#: part/annotationwidgets.cpp:451 +#, fuzzy, kde-format +msgid "Stamp symbol:" +msgstr "Postsegelsymboal" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgid "&Width:" +msgstr "Breedte passend meitsje" + +#: part/annotationwidgets.cpp:504 +#, fuzzy, kde-format +#| msgid "Line" +msgid "Line start:" +msgstr "Rigel" + +#: part/annotationwidgets.cpp:506 +#, fuzzy, kde-format +#| msgid "Line" +msgid "Line end:" +msgstr "Rigel" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:514 +#, fuzzy, kde-format +#| msgid "Note" +msgid "None" +msgstr "Notysje" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "" + +#: part/annotationwidgets.cpp:531 +#, fuzzy, kde-format +#| msgid "Underline" +msgid "Leader line length:" +msgstr "&Understreke" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Shape fill:" +msgstr "Opslaan nei triem..." + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Type:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "" + +#: part/annotationwidgets.cpp:745 +#, fuzzy, kde-format +#| msgid "Note Properties" +msgid "File attachment symbol:" +msgstr "Eigenski&ppen" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "" + +#: part/annotationwidgets.cpp:750 +#, fuzzy, kde-format +#| msgid "Paper color:" +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "Papierkleur:" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "" + +#: part/annotationwidgets.cpp:760 +#, fuzzy, kde-format +#| msgid "File" +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "Triem" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "" + +#: part/annotationwidgets.cpp:773 +#, fuzzy, kde-format +#| msgid "Name" +msgid "Name:" +msgstr "Namme" + +#: part/annotationwidgets.cpp:784 +#, fuzzy, kde-format +#| msgid "Description" +msgid "Description:" +msgstr "Beskriuwing" + +#: part/annotationwidgets.cpp:843 +#, fuzzy, kde-format +msgid "Caret symbol:" +msgstr "Postsegelsymboal" + +#: part/annotationwidgets.cpp:845 +#, fuzzy, kde-format +#| msgid "Note" +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "Notysje" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "" + +#: part/annotwindow.cpp:53 +#, fuzzy, kde-format +#| msgid "Close this message" +msgid "Close this note" +msgstr "Slut dit berjocht ôf" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "Opsjes" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "" + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "" + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "" + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "" + +#: part/bookmarklist.cpp:116 +#, fuzzy, kde-format +#| msgid "Rename Bookmark" +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "Blêdwizer werneame" +msgstr[1] "Blêdwizer werneame" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Blêdwizers" + +#: part/bookmarklist.cpp:136 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Show for all documents" +msgstr "It dokumint wurdt opnij laden..." + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, kde-format +msgid "Search…" +msgstr "" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, kde-format +msgid "Expand All" +msgstr "" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, kde-format +msgid "Collapse All" +msgstr "" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "Blêdwizer werneame" + +#: part/bookmarklist.cpp:299 +#, fuzzy, kde-format +#| msgid "Open a document" +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Aktuele ûnderhâlder" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "" + +#: part/certificateviewer.cpp:47 +#, fuzzy, kde-format +msgid "Certificate Viewer" +msgstr "KPDF ynstelle...." + +#: part/certificateviewer.cpp:50 +#, fuzzy, kde-format +#| msgid "E&xport As" +msgid "Export…" +msgstr "E&ksportearje as" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "Algemien" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "" + +#: part/certificateviewer.cpp:159 +#, fuzzy, kde-format +#| msgid "Where do you want to save %1?" +msgid "Where do you want to save this certificate?" +msgstr "Wêr wolle jo %1 opslaan?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "" + +#: part/colormodemenu.cpp:19 +#, fuzzy, kde-format +#| msgid "&Color:" +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "&Kleur:" + +#: part/colormodemenu.cpp:21 +#, fuzzy, kde-format +#| msgid "Change &Colors" +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "&Kleuren feroarje" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "" + +#: part/colormodemenu.cpp:41 +#, fuzzy, kde-format +#| msgid "&Invert colors" +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "K&leuren omkeare" + +#: part/colormodemenu.cpp:42 +#, fuzzy, kde-format +#| msgid "Change &paper color" +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "&Papierkleur feroarje" + +#: part/colormodemenu.cpp:44 +#, fuzzy, kde-format +#| msgid "&Change dark and light colors" +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "Donkere en ljo&chte kleuren feroarje" + +#: part/colormodemenu.cpp:46 +#, fuzzy, kde-format +#| msgid "Convert to &black and white" +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "Omsette n&ei swart/wyt" + +#: part/colormodemenu.cpp:49 +#, fuzzy, kde-format +#| msgid "&Invert colors" +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "K&leuren omkeare" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, fuzzy, kde-format +#| msgid "Reloa&d" +msgid "Red" +msgstr "&Ferfarskje" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, fuzzy, kde-format +#| msgid "Created:" +msgid "Green" +msgstr "Oanmakke:" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, fuzzy, kde-format +#| msgid "Highlight" +msgid "Yellow Highlighter" +msgstr "Opljochtsje litte" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, fuzzy, kde-format +#| msgid "Highlight" +msgid "Green Highlighter" +msgstr "Opljochtsje litte" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, fuzzy, kde-format +#| msgid "Insert" +msgid "Insert Text" +msgstr "Ynfoegje" + +#: part/dlgaccessibility.cpp:38 +#, fuzzy, kde-format +#| msgid "Draw border around &Links" +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "Râne om keppe&lingen toane" + +#: part/dlgaccessibility.cpp:48 +#, fuzzy, kde-format +#| msgid "Change &Colors" +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "&Kleuren feroarje" + +#: part/dlgaccessibility.cpp:54 +#, fuzzy, kde-format +#| msgid "Warning: these options can badly affect drawing speed." +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "Warskôging: dizze opsjes kinne de tekensnelheid negatyf beynfloedzje." + +#: part/dlgaccessibility.cpp:60 +#, fuzzy, kde-format +#| msgid "&Invert colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "K&leuren omkeare" + +#: part/dlgaccessibility.cpp:61 +#, fuzzy, kde-format +#| msgid "Change &paper color" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "&Papierkleur feroarje" + +#: part/dlgaccessibility.cpp:62 +#, fuzzy, kde-format +#| msgid "&Change dark and light colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "Donkere en ljo&chte kleuren feroarje" + +#: part/dlgaccessibility.cpp:63 +#, fuzzy, kde-format +#| msgid "Convert to &black and white" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "Omsette n&ei swart/wyt" + +#: part/dlgaccessibility.cpp:64 +#, fuzzy, kde-format +#| msgid "&Invert colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "K&leuren omkeare" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "" + +#: part/dlgaccessibility.cpp:70 +#, fuzzy, kde-format +#| msgid "&Color:" +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "&Kleur:" + +#: part/dlgaccessibility.cpp:87 +#, fuzzy, kde-format +#| msgid "Paper color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Papierkleur:" + +#: part/dlgaccessibility.cpp:99 +#, fuzzy, kde-format +#| msgid "Dark color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Donkere kleur:" + +#: part/dlgaccessibility.cpp:104 +#, fuzzy, kde-format +#| msgid "Light color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "Ljochte kleur:" + +#: part/dlgaccessibility.cpp:119 +#, fuzzy, kde-format +#| msgid "Threshold:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "Drompel:" + +#: part/dlgaccessibility.cpp:127 +#, fuzzy, kde-format +#| msgid "Contrast:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Kontrast:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "" + +#: part/dlgannotations.cpp:25 +#, fuzzy, kde-format +#| msgid "Annotation" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Presintaasje" + +#: part/dlgannotations.cpp:26 +#, fuzzy, kde-format +#| msgid "Annotation" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Presintaasje" + +#: part/dlgannotations.cpp:28 +#, fuzzy, kde-format +#| msgid "Annotation" +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Presintaasje" + +#: part/dlgannotations.cpp:34 +#, fuzzy, kde-format +#| msgid "&Author:" +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "Skri&uwer:" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" + +#: part/dlgannotations.cpp:48 +#, fuzzy, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

Quick Annotation Tools

" +msgstr "%1-eigenskippen" + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "" + +#: part/dlgeditor.cpp:31 +#, fuzzy, kde-format +#| msgid "File" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Triem" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "" + +#: part/dlgeditor.cpp:37 +#, fuzzy, kde-format +#| msgid "&Edit" +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "Be&wurkje" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
\n" +"You can also put few placeholders:\n" +"
    \n" +"
  • %f - the file name
  • \n" +"
  • %l - the line of the file to be reached
  • \n" +"
  • %c - the column of the file to be reached
  • \n" +"
\n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" + +#: part/dlgeditor.cpp:63 +#, fuzzy, kde-format +#| msgid "Comment" +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "Taljochting" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "" + +#: part/dlggeneral.cpp:37 +#, fuzzy, kde-format +#| msgid "Appearance" +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "Uterlik" + +#: part/dlggeneral.cpp:41 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "Sko&balken toane" + +#: part/dlggeneral.cpp:48 +#, fuzzy, kde-format +#| msgid "Link the &thumbnails with the page" +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "Miniatuerlis&t keppelje mei de side" + +#: part/dlggeneral.cpp:55 +#, fuzzy, kde-format +#| msgid "Show &hints and info messages" +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "Tips en ynformaasjeberjoc&hten toane" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "" + +#: part/dlggeneral.cpp:92 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "Kleur eftergrûn:" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "" + +#: part/dlggeneral.cpp:139 +#, fuzzy, kde-format +#| msgid "&Obey DRM limitations" +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "DRM-beheiningen &opfolgje" + +#: part/dlggeneral.cpp:148 +#, fuzzy, kde-format +#| msgid "&Reload document on file change" +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "Gjin dokumint iepene." + +#: part/dlggeneral.cpp:155 +#, fuzzy, kde-format +#| msgid "Backend Selection" +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "Efterein-seleksje" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, fuzzy, kde-format +#| msgid "Overview" +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "Oersjoch" + +#: part/dlggeneral.cpp:220 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%1:" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "" + +#: part/dlggeneral.cpp:228 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%1:" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "" + +#: part/dlggeneral.cpp:233 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "Breedte passend meitsje" + +#: part/dlggeneral.cpp:234 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "Side passend meitsje" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" + +#: part/dlggeneral.cpp:241 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "Standertoergong:" + +#: part/dlgperformance.cpp:26 +#, fuzzy, kde-format +#| msgid "Enable &transparency effects" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "&Trochskyn-effekten ynskeakelje" + +#: part/dlgperformance.cpp:28 +#, fuzzy, kde-format +#| msgid "CPU Usage" +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "CPU-gebrûk" + +#: part/dlgperformance.cpp:35 +#, fuzzy, kde-format +#| msgid "&Low" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "&Leech" + +#: part/dlgperformance.cpp:36 +#, fuzzy, kde-format +#| msgid "&Normal (default)" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "&Normaal (standert)" + +#: part/dlgperformance.cpp:37 +#, fuzzy, kde-format +#| msgid "&Aggressive" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "&Agressyf" + +#: part/dlgperformance.cpp:38 +#, fuzzy, kde-format +#| msgid "Created:" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "Oanmakke:" + +#: part/dlgperformance.cpp:40 +#, fuzzy, kde-format +#| msgid "Memory Usage" +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "Unthâld gebrûk" + +#: part/dlgperformance.cpp:54 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "Standertoergong:" + +#: part/dlgperformance.cpp:56 +#, fuzzy, kde-format +#| msgid "Underline" +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "&Understreke" + +#: part/dlgperformance.cpp:59 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "Standertoergong:" + +#: part/dlgperformance.cpp:64 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "Standertoergong:" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"Hâld it ûnthâldgebrûk sa leech mooglik. Neat wurdt opnij brûkt. (Foar " +"kompjûters nei in lyts ûnthâld)" + +#: part/dlgperformance.cpp:80 +#, fuzzy, kde-format +#| msgid "" +#| "A good compromise between memory usage and speed gain. Preload next page " +#| "and boost searches. (For systems with 256MB of memory, typically.)" +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"In goed kompromis tusken ûnthâldgebrûk en snelheidswinst. Werlaadt de " +"kommende side en fersnelt sykaksjes. (Gaadlik foar systemen mei om-ende-by " +"256 MB ram-ûnthâld.)" + +#: part/dlgperformance.cpp:83 +#, fuzzy, kde-format +#| msgid "" +#| "Keeps everything in memory. Preload next pages. Boost searches. (For " +#| "systems with more than 512MB of memory.)" +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"Bewarret alles yn it ûnthâld. Werladet de kommende siden. Fersnelt " +"sykaksjes. (Foar kompjûters mei mear as 512 MB ram-ûnthâld.)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" + +#: part/dlgpresentation.cpp:38 +#, fuzzy, kde-format +#| msgid " sec." +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] " sek." +msgstr[1] " sek." + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "" + +#: part/dlgpresentation.cpp:53 +#, fuzzy, kde-format +#| msgid "Loop after last page" +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "Werhelje nei de lêste side" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "" + +#: part/dlgpresentation.cpp:63 +#, fuzzy, kde-format +#| msgid "Navigation" +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Navigaasje" + +#: part/dlgpresentation.cpp:72 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "Kleur eftergrûn:" + +#: part/dlgpresentation.cpp:76 +#, fuzzy, kde-format +#| msgid "Hidden After Delay" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "Ferburgen nei fertraging" + +#: part/dlgpresentation.cpp:77 +#, fuzzy, kde-format +#| msgid "Always Visible" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "Altyd sichtber" + +#: part/dlgpresentation.cpp:78 +#, fuzzy, kde-format +#| msgid "Always Hidden" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "Altyd ferburgen" + +#: part/dlgpresentation.cpp:80 +#, fuzzy, kde-format +#| msgid "Mouse cursor:" +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "Mûskursor:" + +#: part/dlgpresentation.cpp:84 +#, fuzzy, kde-format +#| msgid "Show &progress indicator" +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "Fuortgongsyn&dikator toane" + +#: part/dlgpresentation.cpp:90 +#, fuzzy, kde-format +#| msgid "Show s&ummary page" +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "Gear&fetting toane" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "" + +#: part/dlgpresentation.cpp:101 +#, fuzzy, kde-format +#| msgid "Replace" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "Ferfange" + +#: part/dlgpresentation.cpp:102 +#, fuzzy, kde-format +#| msgid "Random Transition" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "Willekeurige oergong" + +#: part/dlgpresentation.cpp:103 +#, fuzzy, kde-format +#| msgid "Blinds Vertical" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "Fertikaal slute" + +#: part/dlgpresentation.cpp:104 +#, fuzzy, kde-format +#| msgid "Blinds Horizontal" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "Horizontaal slute" + +#: part/dlgpresentation.cpp:105 +#, fuzzy, kde-format +#| msgid "Box In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "Rjochthoekich nei binnen" + +#: part/dlgpresentation.cpp:106 +#, fuzzy, kde-format +#| msgid "Box Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "Rjochthoekich nei bûten" + +#: part/dlgpresentation.cpp:107 +#, fuzzy, kde-format +#| msgid "Dissolve" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "Oplosse" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "" + +#: part/dlgpresentation.cpp:109 +#, fuzzy, kde-format +#| msgid "Glitter Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "Omleech glitterje" + +#: part/dlgpresentation.cpp:110 +#, fuzzy, kde-format +#| msgid "Glitter Right" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "Rjochts glitterje" + +#: part/dlgpresentation.cpp:111 +#, fuzzy, kde-format +#| msgid "Glitter Right-Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "Rjochts omleech glitterje" + +#: part/dlgpresentation.cpp:112 +#, fuzzy, kde-format +#| msgid "Split Horizontal In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "Horizontaal ynsplitse" + +#: part/dlgpresentation.cpp:113 +#, fuzzy, kde-format +#| msgid "Split Horizontal Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "Horizontaal útsplitse" + +#: part/dlgpresentation.cpp:114 +#, fuzzy, kde-format +#| msgid "Split Vertical In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "Fertikaal ynsplitse" + +#: part/dlgpresentation.cpp:115 +#, fuzzy, kde-format +#| msgid "Split Vertical Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "Fertikaal útsplitse" + +#: part/dlgpresentation.cpp:116 +#, fuzzy, kde-format +#| msgid "Wipe Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "Omleech feie" + +#: part/dlgpresentation.cpp:117 +#, fuzzy, kde-format +#| msgid "Wipe Right" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "Rjochts feie" + +#: part/dlgpresentation.cpp:118 +#, fuzzy, kde-format +#| msgid "Wipe Left" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "Lofts feie" + +#: part/dlgpresentation.cpp:119 +#, fuzzy, kde-format +#| msgid "Wipe Up" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "Omheech feie" + +#: part/dlgpresentation.cpp:121 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Standertoergong:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "" + +#: part/dlgpresentation.cpp:137 +#, fuzzy, kde-format +#| msgid "Erase Drawings" +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

Drawing Tools

" +msgstr "Tekeningen wiskje" + +#: part/dlgpresentation.cpp:171 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Standertoergong:" + +#: part/dlgpresentation.cpp:172 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Standertoergong:" + +#: part/dlgpresentation.cpp:178 +#, fuzzy, kde-format +#| msgid "Created:" +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "Oanmakke:" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "" + +#: part/drawingtoolactions.cpp:192 +#, fuzzy, kde-format +#| msgid "Erase Drawings" +msgid "Drawing Tool: %1" +msgstr "Tekeningen wiskje" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, fuzzy, kde-format +#| msgid "Erase Drawings" +msgid "Eraser" +msgstr "Tekeningen wiskje" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, fuzzy, kde-format +#| msgid "Name" +msgid "&Name:" +msgstr "Namme" + +#: part/editannottooldialog.cpp:69 +#, fuzzy, kde-format +#| msgid "Type:" +msgid "&Type:" +msgstr "Type:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "Uterlik" + +#: part/editannottooldialog.cpp:93 +#, fuzzy, kde-format +#| msgid "Next Bookmark" +msgid "Text markup" +msgstr "Blêdwizer fierder" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "" + +#: part/editannottooldialog.cpp:101 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Create annotation tool" +msgstr "Presintaasje" + +#: part/editannottooldialog.cpp:103 +#, fuzzy, kde-format +msgid "Edit annotation tool" +msgstr "%1-eigenskippen" + +#: part/editdrawingtooldialog.cpp:51 +#, fuzzy, kde-format +#| msgid "&Color:" +msgid "Color:" +msgstr "&Kleur:" + +#: part/editdrawingtooldialog.cpp:58 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgid "&Pen Width:" +msgstr "Breedte passend meitsje" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "" + +#: part/editdrawingtooldialog.cpp:79 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Create drawing tool" +msgstr "Presintaasje" + +#: part/editdrawingtooldialog.cpp:84 +#, fuzzy, kde-format +msgid "Edit drawing tool" +msgstr "%1-eigenskippen" + +#: part/embeddedfilesdialog.cpp:42 +#, fuzzy, kde-format +#| msgid "Unknown" +msgctxt "Unknown date" +msgid "Unknown" +msgstr "Unbekend" + +#: part/embeddedfilesdialog.cpp:48 +#, fuzzy, kde-format +#| msgid "Embedded Files" +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Ynbêde" + +#: part/embeddedfilesdialog.cpp:62 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:button" +msgid "View" +msgstr "Byl&d" + +#: part/embeddedfilesdialog.cpp:70 +#, fuzzy, kde-format +#| msgid "Name" +msgctxt "@title:column" +msgid "Name" +msgstr "Namme" + +#: part/embeddedfilesdialog.cpp:71 +#, fuzzy, kde-format +#| msgid "Description" +msgctxt "@title:column" +msgid "Description" +msgstr "Beskriuwing" + +#: part/embeddedfilesdialog.cpp:72 +#, fuzzy, kde-format +#| msgid "Size" +msgctxt "@title:column" +msgid "Size" +msgstr "Grutte" + +#: part/embeddedfilesdialog.cpp:73 +#, fuzzy, kde-format +#| msgid "Created" +msgctxt "@title:column" +msgid "Created" +msgstr "Makke" + +#: part/embeddedfilesdialog.cpp:74 +#, fuzzy, kde-format +#| msgid "Modified" +msgctxt "@title:column" +msgid "Modified" +msgstr "Wizige" + +#: part/embeddedfilesdialog.cpp:154 +#, fuzzy, kde-format +#| msgid "Save As..." +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "Bewarje as..." + +#: part/embeddedfilesdialog.cpp:155 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "Byl&d" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "Slute" + +#: part/findbar.cpp:38 +#, fuzzy, kde-format +#| msgid "Find..." +msgctxt "Find text" +msgid "F&ind:" +msgstr "Sykje..." + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "" + +#: part/findbar.cpp:54 +#, fuzzy, kde-format +#| msgid "Next Page" +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Neikommende side" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "" + +#: part/findbar.cpp:58 +#, fuzzy, kde-format +#| msgid "Previous Page" +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Foarrige side" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "Haadlettergefoelich" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "" + +#: part/formwidgets.cpp:870 +#, fuzzy, kde-format +#| msgid "All files" +msgid "All Files (*)" +msgstr "Alle triemmen" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, fuzzy, kde-format +msgid "Signature Properties" +msgstr "Eigenski&ppen" + +#: part/ktreeviewsearchline.cpp:283 +#, fuzzy, kde-format +#| msgid "Filter Options" +msgid "Search Options" +msgstr "Filteropsjes" + +#: part/ktreeviewsearchline.cpp:284 +#, fuzzy, kde-format +#| msgid "Case Sensitive" +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "Haadlettergefoelich" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "" + +#: part/minibar.cpp:190 +#, fuzzy, kde-format +#| msgid "of" +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "fan" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "Zoome" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "" + +#: part/pageview.cpp:530 +#, fuzzy, kde-format +#| msgid "Rotate Right" +msgid "Rotate &Right" +msgstr "Rjochts glitterje" + +#: part/pageview.cpp:531 +#, fuzzy, kde-format +#| msgid "Wipe Right" +msgctxt "Rotate right" +msgid "Right" +msgstr "Rjochts feie" + +#: part/pageview.cpp:535 +#, fuzzy, kde-format +#| msgid "Rotate Left" +msgid "Rotate &Left" +msgstr "Lofts feie" + +#: part/pageview.cpp:536 +#, fuzzy, kde-format +#| msgid "Wipe Left" +msgctxt "Rotate left" +msgid "Left" +msgstr "Lofts feie" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "" + +#: part/pageview.cpp:546 +#, fuzzy, kde-format +#| msgid "&View" +msgid "&Trim View" +msgstr "Byl&d" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "" + +#: part/pageview.cpp:557 +#, fuzzy, kde-format +#| msgid "&Text Selection Tool" +msgid "Trim To &Selection" +msgstr "&Selektear-ark" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "Breedte passend meitsje" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "Side passend meitsje" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "" + +#: part/pageview.cpp:575 +#, fuzzy, kde-format +#| msgid "Fit &Page" +msgid "Fit Wi&ndow to Page" +msgstr "Side passend meitsje" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "&Werjeftemodus" + +# oersetting NL=OK?? +#: part/pageview.cpp:594 +#, fuzzy, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "Titel" + +#: part/pageview.cpp:595 +#, fuzzy, kde-format +#| msgid "Facing Pages" +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "Side passend meitsje" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "" + +#: part/pageview.cpp:599 +#, fuzzy, kde-format +#| msgid "Overview" +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "Oersjoch" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "&Trochrinnend" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "" + +#: part/pageview.cpp:627 +#, fuzzy, kde-format +#| msgid "&Browse Tool" +msgid "&Browse" +msgstr "&Blêders-ark" + +#: part/pageview.cpp:635 +#, fuzzy, kde-format +#| msgid "Zoom" +msgid "&Zoom" +msgstr "Zoome" + +#: part/pageview.cpp:655 +#, fuzzy, kde-format +#| msgid "&Text Selection Tool" +msgid "Area &Selection" +msgstr "&Selektear-ark" + +#: part/pageview.cpp:662 +#, fuzzy, kde-format +#| msgid "&Text Selection Tool" +msgid "&Text Selection" +msgstr "&Selektear-ark" + +#: part/pageview.cpp:669 +#, fuzzy, kde-format +#| msgid "&Text Selection Tool" +msgid "T&able Selection" +msgstr "&Selektear-ark" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "" + +#: part/pageview.cpp:685 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgctxt "@action" +msgid "Selection Tools" +msgstr "&Selektear-ark" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "" + +#: part/pageview.cpp:717 +#, fuzzy, kde-format +#| msgid "Open a document" +msgid "Speak Whole Document" +msgstr "Aktuele ûnderhâlder" + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "Nei boppen ta skowe" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Nei ûnderen ta skowe" + +#: part/pageview.cpp:761 +#, fuzzy, kde-format +#| msgid "Scroll Up" +msgid "Scroll Page Up" +msgstr "Nei boppen ta skowe" + +#: part/pageview.cpp:767 +#, fuzzy, kde-format +#| msgid "Scroll Down" +msgid "Scroll Page Down" +msgstr "Nei ûnderen ta skowe" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "Sko&balken toane" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] "" +msgstr[1] "" + +#: part/pageview.cpp:2526 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Table Contents to Clipboard" +msgstr "Kopiearje nei klamboerd" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "" +msgstr[1] "" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "Kopiearje nei klamboerd" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "Tekst útsprekke" + +#: part/pageview.cpp:2863 +#, fuzzy, kde-format +#| msgid "Image (%1 by %2 pixels)" +msgid "Image (%1 × %2 pixels)" +msgstr "Ofbylding (%1 by %2 piksels)" + +#: part/pageview.cpp:2865 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save to File…" +msgstr "Opslaan nei triem..." + +#: part/pageview.cpp:2885 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] copied to clipboard." +msgid "Image [%1 × %2] copied to clipboard." +msgstr "Ofbylding [%1xx%2] kopiearre." + +#: part/pageview.cpp:2888 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save file" +msgstr "Opslaan nei triem..." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "Triem net opslein" + +#: part/pageview.cpp:2901 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] saved to %3 file." +msgid "Image [%1 × %2] saved to %3 file." +msgstr "Ofbylding [%1x%2] opslein yn triem %3." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "Tekst útsprekke" + +#: part/pageview.cpp:3062 +#, fuzzy, kde-format +#| msgid "Go to page %1" +msgid "Go to '%1'" +msgstr "Gean nei side %1" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "Breedte passend meitsje" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "Side passend meitsje" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "" + +#: part/pageview.cpp:4107 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1:" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "" + +#: part/pageview.cpp:4404 +#, fuzzy, kde-format +msgid "Configure Web Shortcuts…" +msgstr "KPDF ynstelle...." + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "" + +#: part/pageview.cpp:4433 +#, fuzzy, kde-format +#| msgid "Play sound..." +msgid "Play this Sound" +msgstr "Lûd ôfspylje..." + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Wolkom" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "Zoomgebiet selektearje. Rjochter mûsklik zoomt út." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "" + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "Tekenje in rjochthoeke om de tekst/ôfbylding om te kopiearjen." + +#: part/pageview.cpp:5158 +#, fuzzy, kde-format +#| msgid "Select text." +msgid "Select text" +msgstr "Tekst selektearje." + +#: part/pageview.cpp:5172 +#, fuzzy, kde-format +#| msgid "Draw a rectangle around the text/graphics to copy." +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "Tekenje in rjochthoeke om de tekst/ôfbylding om te kopiearjen." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" + +#: part/pageview.cpp:5188 +#, fuzzy, kde-format +msgid "No valid certificates" +msgstr "KPDF ynstelle...." + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, fuzzy, kde-format +msgid "Open Certificate Manager" +msgstr "KPDF ynstelle...." + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
Launch Certificate Manager " +"to import or manage certificates
For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, fuzzy, kde-format +msgid "No certificates found" +msgstr "KPDF ynstelle...." + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "" + +#: part/pageview.cpp:5405 +#, fuzzy, kde-format +#| msgid "Draw a rectangle around the text/graphics to copy." +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "Tekenje in rjochthoeke om de tekst/ôfbylding om te kopiearjen." + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgid "Author" +msgid "Author name" +msgstr "Skriuwer" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgid "Annotation" +msgid "Author name for the annotation:" +msgstr "Presintaasje" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1392 +#, fuzzy, kde-format +#| msgid "Highlight" +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "Opljochtsje litte" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "" + +#: part/pageviewannotator.cpp:1402 +#, fuzzy, kde-format +#| msgid "Rectangle" +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "Rjochthoeke" + +#: part/pageviewannotator.cpp:1404 +#, fuzzy, kde-format +#| msgid "Select text." +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "Tekst selektearje." + +#: part/pageviewannotator.cpp:1406 +#, fuzzy, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "Postsegelsymboal" + +#: part/pageviewannotator.cpp:1408 +#, fuzzy, kde-format +#| msgid "Straight Yellow Line" +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "Rjochte giele streek" + +#: part/pageviewannotator.cpp:1410 +#, fuzzy, kde-format +#| msgid "Select text." +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "Tekst selektearje." + +#: part/pageviewannotator.cpp:1412 +#, fuzzy, kde-format +#| msgid "Underline" +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "&Understreke" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1473 +#, fuzzy, kde-format +#| msgid "Highlight" +msgid "Highlighter" +msgstr "Opljochtsje litte" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgid "Annotation" +msgid "Add favorite annotation" +msgstr "Presintaasje" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgid "Annotation" +msgid "Custom annotation name:" +msgstr "Presintaasje" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&Triem" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "&Ynstellings" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "&Help" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "&Oriïntaasje" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "&Blêdwizers" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, fuzzy, kde-format +#| msgid "Main Toolbar" +msgid "Viewer Toolbar" +msgstr "Haad-arkbalke" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Miniatueren" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, fuzzy, kde-format +#| msgid "Annotation" +msgid "Annotations" +msgstr "Presintaasje" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"Dit dokumint has embedded triemmen. Klik " +"hjir om se te besjen of gean nei Triem -> Embedded Files." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "" + +#: part/part.cpp:662 +#, fuzzy, kde-format +#| msgid "Previous Page" +msgctxt "Previous page" +msgid "Previous" +msgstr "Foarrige side" + +#: part/part.cpp:663 +#, fuzzy, kde-format +#| msgid "Go to the previous bookmarked page" +msgid "Go back to the Previous Page" +msgstr "Gean nei it plak dêr't jo wiene nei" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "Giet nei de foarrige side fan it dokumint" + +#: part/part.cpp:674 +#, fuzzy, kde-format +#| msgid "Next Page" +msgctxt "Next page" +msgid "Next" +msgstr "Neikommende side" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "Giet nei de neikommende side fan it dokumint" + +#: part/part.cpp:687 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Beginning of the document" +msgstr "It dokumint wurdt opnij laden..." + +#: part/part.cpp:688 +#, fuzzy, kde-format +#| msgid "Moves to the next page of the document" +msgid "Moves to the beginning of the document" +msgstr "Giet nei de neikommende side fan it dokumint" + +#: part/part.cpp:692 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "End of the document" +msgstr "It dokumint wurdt opnij laden..." + +#: part/part.cpp:693 +#, fuzzy, kde-format +#| msgid "Moves to the next page of the document" +msgid "Moves to the end of the document" +msgstr "Giet nei de neikommende side fan it dokumint" + +#: part/part.cpp:707 +#, fuzzy, kde-format +#| msgid "Reload the current document from disk." +msgid "Rename the current bookmark" +msgstr "It aktive dokumint fanôf de skiif ferfarskje." + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "Foarrige blêdwizer" + +#: part/part.cpp:713 +#, fuzzy, kde-format +#| msgid "Go to the previous bookmarked page" +msgid "Go to the previous bookmark" +msgstr "Gean nei it plak dêr't jo wiene nei" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "Blêdwizer fierder" + +#: part/part.cpp:719 +#, fuzzy, kde-format +#| msgid "Go to the next bookmarked page" +msgid "Go to the next bookmark" +msgstr "Allinnich siden mei blêdwizer toane" + +#: part/part.cpp:748 +#, fuzzy, kde-format +#| msgid "Configure okular..." +msgid "Configure Okular…" +msgstr "KPDF ynstelle..." + +#: part/part.cpp:751 +#, fuzzy, kde-format +msgid "Configure Viewer…" +msgstr "KPDF ynstelle...." + +#: part/part.cpp:757 +#, fuzzy, kde-format +msgid "Configure Viewer Backends…" +msgstr "KPDF ynstele..." + +#: part/part.cpp:759 +#, fuzzy, kde-format +msgid "Configure Backends…" +msgstr "KPDF ynstele..." + +#: part/part.cpp:795 +#, fuzzy, kde-format +#| msgid "About backend..." +msgid "About Backend" +msgstr "Oer backend..." + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "&Ferfarskje" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "It aktive dokumint fanôf de skiif ferfarskje." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "" + +#: part/part.cpp:813 +#, fuzzy, kde-format +msgid "Page Number" +msgstr "Siden" + +#: part/part.cpp:817 +#, fuzzy, kde-format +#| msgid "Configure okular..." +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "KPDF ynstelle..." + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "" + +#: part/part.cpp:871 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgid "Show S&idebar" +msgstr "Sko&balken toane" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "" + +#: part/part.cpp:886 +#, fuzzy, kde-format +#| msgid "Show &Navigation Panel" +msgid "Show &Signatures Panel" +msgstr "&Navigaasjepaniel toane" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "Ynbêde" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "E&ksportearje as" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "P&resintaasje" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "" + +#: part/part.cpp:945 +#, kde-format +msgid "&Import PostScript as PDF…" +msgstr "" + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "" + +#: part/part.cpp:957 +#, fuzzy, kde-format +#| msgid "Erase Drawings" +msgid "Erase Drawing" +msgstr "Tekeningen wiskje" + +#: part/part.cpp:962 +#, fuzzy, kde-format +msgid "Configure Annotations…" +msgstr "KPDF ynstele..." + +#: part/part.cpp:967 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Play/Pause Presentation" +msgstr "Presintaasje" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" + +#: part/part.cpp:1123 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Document can't be saved" +msgstr "Dokumint om te iepenjen" + +#: part/part.cpp:1152 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not open '%1' (%2) " +msgstr "%1 koe net iepene wurde" + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "" + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "Koe %1 net iepenje. Redenn: %2" + +#: part/part.cpp:1249 +#, fuzzy, kde-format +msgid "Configure Viewer Backends" +msgstr "KPDF ynstele..." + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "" + +#: part/part.cpp:1336 +#, fuzzy, kde-format +#| msgid "" +#| "The program \"ps2pdf\" was not found, so okular can not import PS files " +#| "using it." +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"It programma \"ps2pdf\" waard net fûn, dus okular kin gjin PS triemmen " +"ymportearje om te brûken." + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "ps2pdf net fûn" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "" + +#: part/part.cpp:1357 +#, fuzzy, kde-format +#| msgid "Importing PS file as PDF (this may take a while)..." +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "Dwaande PS triem as PDF te ymportearjen (dit kin wol efkes duorje)..." + +#: part/part.cpp:1489 +#, fuzzy, kde-format +#| msgid "Moves to the last page of the document" +msgid "Please enter the password to read the document:" +msgstr "Giet nei de lêste side fan it dokumint" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "" + +#: part/part.cpp:1502 +#, fuzzy, kde-format +#| msgid "Password" +msgid "Document Password" +msgstr "Wachtwurd" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "" + +#: part/part.cpp:1739 +#, fuzzy, kde-format +#| msgid "Exit Presentation Mode" +msgid "Enter Presentation Mode" +msgstr "Opsjes foar de presintaasjemodus" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "" + +#: part/part.cpp:1830 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not open %1. %2" +msgstr "%1 koe net iepene wurde" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "" + +#: part/part.cpp:1865 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue Reloading" +msgstr "&Trochrinnend" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" + +#: part/part.cpp:1875 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue Closing" +msgstr "&Trochrinnend" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "" + +#: part/part.cpp:1883 +#, fuzzy, kde-format +#| msgid "Open a document" +msgid "Close Document" +msgstr "Aktuele ûnderhâlder" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"De keppeling ferwiist nei in aksje dy't it dokumint ôfslút. Dizze wurket " +"allinnich net as jo de viewer ynbêde brûke." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"De keppeling ferwiist nei in aksje dy't it programma ôfslút. Dizze wurket " +"allinnich net as de viewer ynbêde is." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Reloading the document…" +msgstr "It dokumint wurdt opnij laden..." + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "Ynhâld" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Gean nei side" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "&Side:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "" + +#: part/part.cpp:2506 +#, fuzzy, kde-format +#| msgid "Rename Bookmark" +msgid "Rename this Bookmark" +msgstr "Blêdwizer werneame" + +#: part/part.cpp:2509 +#, fuzzy, kde-format +#| msgid "Rename Bookmark" +msgid "Remove this Bookmark" +msgstr "Blêdwizer werneame" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, fuzzy, kde-format +#| msgid "Save As..." +msgid "Save As" +msgstr "Bewarje as..." + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
Do you want to continue?" +msgstr "" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "" + +#: part/part.cpp:2726 +#, fuzzy, kde-kuit-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "De triem koe net opslein wurde yn '%1'. Besykje in oare lokaasje." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
Do you want to continue?" +msgstr "" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "De triem koe net opslein wurde yn '%1'. Besykje in oare lokaasje." + +#: part/part.cpp:2766 +#, fuzzy, kde-format +msgid "Filled form contents" +msgstr "%1-eigenskippen" + +#: part/part.cpp:2769 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "User annotations" +msgstr "Presintaasje" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" + +#: part/part.cpp:2796 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue" +msgstr "&Trochrinnend" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "" + +#: part/part.cpp:2824 +#, fuzzy, kde-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgid "File could not be saved in '%1'. %2" +msgstr "De triem koe net opslein wurde yn '%1'. Besykje in oare lokaasje." + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" + +#: part/part.cpp:2899 +#, fuzzy, kde-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "De triem koe net opslein wurde yn '%1'. Besykje in oare lokaasje." + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "End Presentation" +msgid "Expand Whole Section" +msgstr "Ein Presintaasje" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "End Presentation" +msgid "Collapse Whole Section" +msgstr "Ein Presintaasje" + +#: part/part.cpp:3172 +#, fuzzy, kde-format +#| msgid "Link the &thumbnails with the page" +msgid "Sync Thumbnail with Page" +msgstr "Miniatuerlis&t keppelje mei de side" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Ark" + +#: part/part.cpp:3381 +#, fuzzy, kde-format +#| msgid "Speak Text" +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "Tekst útsprekke" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "It útprintsjen fan dit dokumint is net tastien." + +#: part/part.cpp:3615 +#, fuzzy, kde-format +#| msgid "Could not print the document. Please report to bugs.kde.org" +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"Dit dokumint kin net útprinte wurde. Rapportear dit middels in bugrapport " +"oan bugs.kde.org. Sjoch menu 'Help'." + +#: part/part.cpp:3617 +#, fuzzy, kde-format +#| msgid "Could not print the document. Please report to bugs.kde.org" +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"Dit dokumint kin net útprinte wurde. Rapportear dit middels in bugrapport " +"oan bugs.kde.org. Sjoch menu 'Help'." + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "Gean nei it plak wêr't jo wienen foar" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "Gean nei it plak wêr't jo wienen nei" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "Blêdwizer taheakje" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "Be&wurkje" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "Byl&d" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&Gean nei" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "A&rk" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "Haad-arkbalke" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, fuzzy, kde-format +#| msgid "Annotation" +msgid "Annotation Toolbar" +msgstr "Presintaasje" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, fuzzy, kde-format +#| msgid "Annotation" +msgid "Quick Annotation Toolbar" +msgstr "Presintaasje" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "Algemiene opsjes" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Tagonklikens" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "Tagonklikens" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Prestaasje" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "Snelheidsynstellingen" + +#: part/preferencesdialog.cpp:45 +#, fuzzy, kde-format +msgid "Configure Viewer" +msgstr "KPDF ynstelle...." + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Presintaasje" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "Opsjes foar de presintaasjemodus" + +#: part/preferencesdialog.cpp:50 +#, fuzzy, kde-format +msgid "Annotation Options" +msgstr "%1-eigenskippen" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, fuzzy, kde-format +#| msgid "&Edit" +msgid "Editor" +msgstr "Be&wurkje" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, fuzzy, kde-format +#| msgid "Filter Options" +msgid "Editor Options" +msgstr "Filteropsjes" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "Sykje neikommende" + +#: part/presentationwidget.cpp:174 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "Presintaasje" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "" + +#: part/presentationwidget.cpp:233 +#, fuzzy, kde-format +#| msgid "Created:" +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "Oanmakke:" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "Opsjes foar de presintaasjemodus" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Titel: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Pagina's:%1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "Klik om te begjinnen" + +#: part/presentationwidget.cpp:521 +#, fuzzy, kde-format +#| msgid "Pages" +msgctxt "For Presentation" +msgid "Pause" +msgstr "Siden" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"Jo kinne de presintaasjemodus op twa manieren ferlitte. Druk op de toets Esc " +"of klik op de knop Ofslute dy't ferskynt as jo de mûs yn de rjochter " +"boppehoeke sette. Jo kinne fansels ek troch de finsters blêdzje (standert " +"middels Alt+Tab)." + +#: part/presentationwidget.cpp:1718 +#, fuzzy, kde-format +#| msgid "End Presentation" +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "Ein Presintaasje" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "Unbekende triem" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "%1-eigenskippen" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "&Lettertypes" + +#: part/propertiesdialog.cpp:145 +#, fuzzy, kde-format +#| msgid "Reading font information..." +msgid "Reading font information…" +msgstr "It dokumint wurdt opnij laden..." + +# Giet it hjir net om it formaat?(size) +#: part/propertiesdialog.cpp:158 +#, fuzzy, kde-format +msgid "&Page Sizes" +msgstr "&Side:" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Type 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Type 1C" + +#: part/propertiesdialog.cpp:279 +#, fuzzy, kde-format +#| msgid "Type 1C (OT)" +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "Type 1C" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Type 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, fuzzy, kde-format +#| msgid "TrueType (OT)" +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID Type 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID Type 0C" + +#: part/propertiesdialog.cpp:297 +#, fuzzy, kde-format +#| msgid "CID Type 0C (OT)" +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID Type 0C" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, fuzzy, kde-format +#| msgid "CID TrueType (OT)" +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "" + +#: part/propertiesdialog.cpp:318 +#, fuzzy, kde-format +#| msgid "Unknown" +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "Unbekend" + +#: part/propertiesdialog.cpp:331 +#, fuzzy, kde-format +#| msgid "Yes (subset)" +msgid "Embedded (subset)" +msgstr "Ja (subset)" + +#: part/propertiesdialog.cpp:334 +#, fuzzy, kde-format +#| msgid "Embedded" +msgid "Fully embedded" +msgstr "Ynbêde" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "Nee" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "Ja (subset)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "Ja" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "" + +#: part/propertiesdialog.cpp:385 +#, fuzzy, kde-format +#| msgid "Unknown" +msgid "Unknown font" +msgstr "Unbekend" + +#: part/propertiesdialog.cpp:391 +#, fuzzy, kde-format +#| msgid "Embedded" +msgid "Embedded: %1" +msgstr "Ynbêde" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "Namme" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "Type" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "Triem" + +#: part/propertiesdialog.cpp:498 +#, fuzzy, kde-format +#| msgid "Pages" +msgid "Page" +msgstr "Siden" + +#: part/propertiesdialog.cpp:501 +#, fuzzy, kde-format +#| msgid "Size" +msgid "Size" +msgstr "Grutte" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "" + +#: part/revisionviewer.cpp:53 +#, fuzzy, kde-format +#| msgid "Where do you want to save %1?" +msgid "Where do you want to save this revision?" +msgstr "Wêr wolle jo %1 opslaan?" + +#: part/revisionviewer.cpp:56 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not save file %1." +msgstr "%1 koe net iepene wurde" + +#: part/revisionviewer.cpp:75 +#, fuzzy, kde-format +#| msgid "Could not open %1. Reason: %2" +msgid "Could not view revision." +msgstr "Koe %1 net iepenje. Redenn: %2" + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "Fier teminsten 3 letters yn om de siden te filterjen" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "Haadlettergefoelich" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "Oerienkomst mei útdrukking" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "Oerienkomst mei alle wurden" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "Oerienkomst mei elk wurd" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "Filteropsjes" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, fuzzy, kde-format +msgid "Certificates" +msgstr "KPDF ynstelle...." + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, fuzzy, kde-format +msgid "Only QES certificates" +msgstr "KPDF ynstelle...." + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, fuzzy, kde-format +#| msgid "Options" +msgid "optional" +msgstr "Opsjes" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, fuzzy, kde-format +#| msgid "Annotation" +msgid "Location:" +msgstr "Presintaasje" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, fuzzy, kde-format +#| msgid "Background color:" +msgid "Background:" +msgstr "Kleur eftergrûn:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, fuzzy, kde-format +#| msgid "Background color:" +msgid "Recent backgrounds:" +msgstr "Kleur eftergrûn:" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

No annotations

To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
" +msgstr "" + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "Gean nei side" + +#: part/side_reviews.cpp:147 +#, fuzzy, kde-format +#| msgid "Group by Page" +msgid "Group by Author" +msgstr "Gean nei side" + +#: part/side_reviews.cpp:155 +#, fuzzy, kde-format +#| msgid "Show reviews for current page only" +msgid "Show annotations for current page only" +msgstr "Allinnich siden mei blêdwizer toane" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "" + +#: part/signaturepanel.cpp:101 +#, fuzzy, kde-format +#| msgid "&Properties" +msgid "Properties" +msgstr "Eigenski&ppen" + +#: part/signaturepartutils.cpp:180 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Pagina's:%1" + +#: part/signaturepartutils.cpp:181 +#, fuzzy, kde-format +#| msgid "Enable &background generation" +msgid "Select background image" +msgstr "Eftergrûn&dgeneraasje ynskeakelje" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "" + +#: part/signaturepartutils.cpp:244 +#, fuzzy, kde-format +#| msgid "Password" +msgid "Enter document password" +msgstr "Wachtwurd" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:60 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Document Modifications:" +msgstr "Dokumint om te iepenjen" + +#: part/signaturepropertiesdialog.cpp:63 +#, fuzzy, kde-format +#| msgid "Annotation" +msgid "Additional Information" +msgstr "Presintaasje" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:83 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Document Version" +msgstr "Dokumint om te iepenjen" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:95 +#, fuzzy, kde-format +msgid "View Certificate…" +msgstr "KPDF ynstelle...." + +#: part/signaturepropertiesdialog.cpp:97 +#, fuzzy, kde-format +msgid "View in Certificate Manager" +msgstr "KPDF ynstelle...." + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "Allinnich siden mei blêdwizer toane" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "" + +#: part/videowidget.cpp:146 +#, fuzzy, kde-format +#| msgid "Pages" +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Siden" + +#: part/videowidget.cpp:252 +#, fuzzy, kde-format +#| msgid "Stamp" +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "Postsegel" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, fuzzy, kde-format +#| msgid "&Edit" +msgid "&Edit…" +msgstr "Be&wurkje" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, fuzzy, kde-format +#| msgid "Wipe Down" +msgid "Move &Down" +msgstr "Omleech feie" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "Side fan it dokumint dat toand wurde moat" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "" + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "" + +#: shell/shell.cpp:207 +#, fuzzy, kde-format +#| msgid "Unable to find okular part." +msgid "Unable to find the Okular component: %1" +msgstr "It KPDF-Part koe net fûn wurde." + +#: shell/shell.cpp:250 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgid "Sidebar" +msgstr "Sko&balken toane" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" + +#: shell/shell.cpp:315 +#, fuzzy, kde-format +#| msgid "Unable to find okular part." +msgid "Unable to find the Okular component." +msgstr "It KPDF-Part koe net fûn wurde." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"Klik om in triem te iepenjen\n" +"Hâld de mûsknop yndrukt om in resinte triem te iepenjen" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"Klik om in triem te iepenjen, hâld de mûsknop yndrukt om in " +"koartlyn iepene triem te iepenjen" + +#: shell/shell.cpp:582 +#, fuzzy, kde-format +#| msgid "Next Page" +msgid "Next Tab" +msgstr "Neikommende side" + +#: shell/shell.cpp:588 +#, fuzzy, kde-format +#| msgid "Previous Page" +msgid "Previous Tab" +msgstr "Foarrige side" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "" + +#: shell/shell.cpp:603 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgid "Lock Sidebar" +msgstr "Sko&balken toane" + +#: shell/shell.cpp:703 +#, fuzzy, kde-format +#| msgid "All files" +msgid "All files (*)" +msgstr "Alle triemmen" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "" + +#: shell/shell.cpp:708 +#, fuzzy, kde-format +#| msgid "Open a document" +msgid "Open Document" +msgstr "Aktuele ûnderhâlder" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "" + +#: shell/shell.cpp:826 +#, fuzzy, kde-format +#| msgid "Close" +msgid "Close Tabs" +msgstr "Slute" + +#: shell/shell.cpp:833 +#, fuzzy, kde-format +#| msgid "" +#| "A file named \"%1\" already exists. Are you sure you want to overwrite it?" +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "In triem mei de namme \"%1\" bestiet al. Wolle jo it oerskriuwe?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "" + +#: shell/welcomescreen.cpp:64 +#, fuzzy, kde-format +#| msgid "Copy Text" +msgid "&Copy Path" +msgstr "Tekst útsprekke" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "" + +#: shell/welcomescreen.cpp:137 +#, fuzzy, kde-format +#| msgid "Current document only" +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "Aktuele ûnderhâlder" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, fuzzy, kde-format +#| msgid "Open a document" +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Aktuele ûnderhâlder" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, fuzzy, kde-format +#| msgid "Current document only" +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Aktuele ûnderhâlder" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "" + +#, fuzzy +#~ msgid "Geometry with Comment" +#~ msgstr "Eigenski&ppen" + +#, fuzzy +#~| msgid "Modified:" +#~ msgid "Modified: %1" +#~ msgstr "Wizige:" + +#~ msgid "Find..." +#~ msgstr "Sykje..." + +#~ msgid "Go To Page..." +#~ msgstr "Gean nei side" + +#~ msgid "Play movie..." +#~ msgstr "Film ôfspylje..." + +#, fuzzy +#~| msgid "Save As..." +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "Bewarje as..." + +#, fuzzy +#~| msgid "&View" +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "Byl&d" + +#, fuzzy +#~ msgid "Configure Viewer..." +#~ msgstr "KPDF ynstelle...." + +#, fuzzy +#~ msgid "Configure Viewer Backends..." +#~ msgstr "KPDF ynstele..." + +#, fuzzy +#~| msgid "&Edit" +#~ msgid "&Edit..." +#~ msgstr "Be&wurkje" + +#, fuzzy +#~| msgid "Unknown" +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "Unbekend" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%1:" + +#, fuzzy +#~| msgid "Fit Width" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "Breedte passend meitsje" + +#, fuzzy +#~| msgid "Fit Page" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "Side passend meitsje" + +#, fuzzy +#~| msgid "All files" +#~ msgid "*|All Files" +#~ msgstr "Alle triemmen" + +#, fuzzy +#~| msgid "Show scroll&bars" +#~ msgid "Show Sidebar" +#~ msgstr "Sko&balken toane" + +#~ msgid "Form" +#~ msgstr "Formulier" + +#, fuzzy +#~| msgid "Remove Bookmark" +#~ msgid "Remove Bookmarks" +#~ msgstr "Blêdwizer wiskje" + +#, fuzzy +#~| msgid "Annotation" +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "Presintaasje" + +#, fuzzy +#~| msgid "Highlight" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "Opljochtsje litte" + +#, fuzzy +#~| msgid "Underline" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Underline" +#~ msgstr "&Understreke" + +#, fuzzy +#~| msgid "Insert" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "Ynfoegje" + +#, fuzzy +#~| msgid "Note Properties" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "Eigenski&ppen" + +#, fuzzy +#~| msgid "&Open Pop-up Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "&Iepenje Pop-up Note" + +#, fuzzy +#~| msgid "Straight Yellow Line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Straight line" +#~ msgstr "Rjochte giele streek" + +#, fuzzy +#~| msgid "Rectangle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Rectangle" +#~ msgstr "Rjochthoeke" + +#, fuzzy +#~| msgid "A cyan ellipse" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Ellipse" +#~ msgstr "In syaankleurige ellips" + +#, fuzzy +#~| msgid "Highlight" +#~ msgid "Highlight in Yellow" +#~ msgstr "Opljochtsje litte" + +#, fuzzy +#~| msgid "Highlight" +#~ msgid "Highlight in Green" +#~ msgstr "Opljochtsje litte" + +#, fuzzy +#~| msgid "&Open Pop-up Note" +#~ msgid "Insert Popup Note" +#~ msgstr "&Iepenje Pop-up Note" + +#, fuzzy +#~| msgid "Select text." +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "Tekst selektearje." + +#, fuzzy +#~| msgid "Select text." +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "Tekst selektearje." + +#, fuzzy +#~| msgid "Select text." +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "Tekst selektearje." + +#, fuzzy +#~| msgid "Annotation" +#~ msgid "Bookmark annotation" +#~ msgstr "Presintaasje" + +#, fuzzy +#~| msgid "Change &Colors" +#~ msgid "&Toggle Change Colors" +#~ msgstr "&Kleuren feroarje" + +#, fuzzy +#~| msgid "Default transition:" +#~ msgctxt "@option:check Config dialog, presentation page, transitions" +#~ msgid "Enable transitions" +#~ msgstr "Standertoergong:" + +#, fuzzy +#~| msgid "Advance every:" +#~ msgctxt "@label:spinbox Config dialog, presentation page" +#~ msgid "Advance every:" +#~ msgstr "Fierder gean elke:" + +#, fuzzy +#~| msgid "Background color:" +#~ msgctxt "@label:listbox Config dialog, general page" +#~ msgid "Custom background color:" +#~ msgstr "Kleur eftergrûn:" + +#~ msgid "Draw border around &Images" +#~ msgstr "Râne om ôfbyld&ingen toane" + +#, fuzzy +#~| msgid "&Author:" +#~ msgid "Au&thor:" +#~ msgstr "Skri&uwer:" + +#~ msgid "View Options" +#~ msgstr "Filteropsjes" + +#~ msgid "Navigation" +#~ msgstr "Navigaasje" + +#~ msgid "Please insert your name or initials:" +#~ msgstr "Folje jo namme of inisjalen yn:" + +#~ msgid "Show &Navigation Panel" +#~ msgstr "&Navigaasjepaniel toane" + +#, fuzzy +#~| msgid "Copy Text" +#~ msgid "Show Text" +#~ msgstr "Tekst útsprekke" + +#, fuzzy +#~| msgid "Icon" +#~ msgid "Large Icons" +#~ msgstr "Bykdkaike" + +#, fuzzy +#~| msgid "Created:" +#~ msgid "Created: %1" +#~ msgstr "Oanmakke:" + +#, fuzzy +#~| msgid "Title" +#~ msgid "Style" +#~ msgstr "Titel" + +#, fuzzy +#~| msgid "Size" +#~ msgid "&Size:" +#~ msgstr "Grutte" + +#~ msgid "Inner color:" +#~ msgstr "K&leuren omkeare" + +#, fuzzy +#~| msgid "Pages: %1" +#~ msgid "Name: %1" +#~ msgstr "Pagina's:%1" + +#, fuzzy +#~| msgid "Size" +#~ msgid "Size: %1" +#~ msgstr "Grutte" + +#~ msgid "&Browse Tool" +#~ msgstr "&Blêders-ark" + +#~ msgid "&Zoom Tool" +#~ msgstr "&Zoom-ark" + +#, fuzzy +#~| msgid "Zoom" +#~ msgctxt "Zoom Tool" +#~ msgid "Zoom" +#~ msgstr "Zoome" + +#, fuzzy +#~| msgid "&Select Tool" +#~ msgid "&Selection Tool" +#~ msgstr "&Selektear-ark" + +#, fuzzy +#~| msgid "&Select Tool" +#~ msgctxt "Select Tool" +#~ msgid "Selection" +#~ msgstr "&Selektear-ark" + +#~ msgid "&Text Selection Tool" +#~ msgstr "&Selektear-ark" + +#, fuzzy +#~| msgid "&Select Tool" +#~ msgid "T&able Selection Tool" +#~ msgstr "&Selektear-ark" + +#, fuzzy +#~| msgid "Note" +#~ msgid " None" +#~ msgstr "Notysje" + +#, fuzzy +#~| msgid "" +#~| "The document is going to be launched on presentation mode because the " +#~| "file requested it." +#~ msgid "" +#~ "The document requested to be launched in presentation mode.\n" +#~ "Do you want to allow it?" +#~ msgstr "" +#~ "It dokumint sil starten wurde yn presintaasjemodus. De triem hat hjirom " +#~ "frege." + +#, fuzzy +#~| msgid "Exit Presentation Mode" +#~ msgid "Presentation Mode" +#~ msgstr "Opsjes foar de presintaasjemodus" + +#, fuzzy +#~| msgid "Exit Presentation Mode" +#~ msgid "Allow the presentation mode" +#~ msgstr "Opsjes foar de presintaasjemodus" + +#, fuzzy +#~| msgid "Options for Presentation Mode" +#~ msgid "Do not allow the presentation mode" +#~ msgstr "Opsjes foar de presintaasjemodus" + +#, fuzzy +#~| msgid "Save As..." +#~ msgid "Save &Copy As..." +#~ msgstr "Bewarje as..." + +#~ msgid "" +#~ "End of document reached.\n" +#~ "Continue from the beginning?" +#~ msgstr "" +#~ "Oan 'e ein fan it dokumint.\n" +#~ "Fan it begjin ôf trochgean?" + +#, fuzzy +#~| msgid "" +#~| "End of document reached.\n" +#~| "Continue from the beginning?" +#~ msgid "" +#~ "Beginning of document reached.\n" +#~ "Continue from the bottom?" +#~ msgstr "" +#~ "Oan 'e ein fan it dokumint.\n" +#~ "Fan it begjin ôf trochgean?" + +#~ msgid "Current maintainer" +#~ msgstr "Hjoeddeiske ûnderhâlder" + +#~ msgid " sec." +#~ msgstr " sek." + +#~ msgid "Pencil color:" +#~ msgstr "Pinsielkleur:" + +#, fuzzy +#~| msgid "Starting KTTSD Failed: %1" +#~ msgid "Starting Jovie Text-to-Speech service Failed: %1" +#~ msgstr "Starten fan KTTSD is mislearre: %1" + +#, fuzzy +#~| msgid "Always Visible" +#~ msgid "All Visible Columns" +#~ msgstr "Altyd sichtber" + +#~ msgid "No document opened." +#~ msgstr "Gjin dokumint iepene." + +#~ msgid "No matches found for '%1'." +#~ msgstr "Gjin oerienkomsten fûn foar '%1'." + +#, fuzzy +#~ msgid "Highlight Properties" +#~ msgstr "Eigenski&ppen" + +#, fuzzy +#~ msgid "Ink Properties" +#~ msgstr "Eigenski&ppen" + +#, fuzzy +#~| msgid "Annotation" +#~ msgctxt "Annotation tool" +#~ msgid "Text Annotation" +#~ msgstr "Presintaasje" + +#, fuzzy +#~| msgid "Green Ink" +#~ msgctxt "Annotation tool" +#~ msgid "Green Ink" +#~ msgstr "Griene inkt" + +#, fuzzy +#~| msgid "Highlight" +#~ msgctxt "Annotation tool" +#~ msgid "Yellow Highlight" +#~ msgstr "Opljochtsje litte" + +#, fuzzy +#~| msgid "Straight Yellow Line" +#~ msgctxt "Annotation tool" +#~ msgid "Straight Yellow Line" +#~ msgstr "Rjochte giele streek" + +#, fuzzy +#~| msgid "Underline" +#~ msgid "Black Underlining" +#~ msgstr "&Understreke" + +#, fuzzy +#~| msgid "Underline the text with a black line" +#~ msgctxt "Annotation tool" +#~ msgid "Underline the text with a black line" +#~ msgstr "Understreekje de tekst mei in swarte streek" + +#, fuzzy +#~| msgid "A cyan ellipse" +#~ msgctxt "Annotation tool" +#~ msgid "A cyan ellipse" +#~ msgstr "In syaankleurige ellips" + +#~ msgid "Ink" +#~ msgstr "Inket" + +#~ msgid "Moves to the first page of the document" +#~ msgstr "Giet nei de earste side fan it dokumint" + +#~ msgid "You must set this name:" +#~ msgstr "Jo moatte dizze namme ynfolje:" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "%1 is \"Title\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "%1 is \"File Path\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#, fuzzy +#~| msgid "Overwrite" +#~ msgctxt "@action:button" +#~ msgid "&Overwrite" +#~ msgstr "Oerskriuwe" + +#~ msgid "Pages:" +#~ msgstr "Siden:" + +#~ msgid "okular" +#~ msgstr "okular" + +#~ msgid "&Properties..." +#~ msgstr "&Eigenskippen..." + +#, fuzzy +#~| msgid "Pink Ink" +#~ msgctxt "Annotation tool" +#~ msgid "Pink Ink" +#~ msgstr "Rôze inkt" + +#, fuzzy +#~| msgid "Highlight" +#~ msgid "Pink Highlighter" +#~ msgstr "Opljochtsje litte" + +#, fuzzy +#~| msgid "Could not load the necessary plugin to view the document" +#~ msgid "Could not load the necessary plugin to view the document." +#~ msgstr "Giet nei de kommende side fan it dokumint" + +#~ msgid "Fit &Text" +#~ msgstr "Passend op &tekst" + +#~ msgid "*|All the Files" +#~ msgstr "*|Alle triemmen" + +#~ msgid "&Advanced" +#~ msgstr "&avansearre" + +#~ msgid "Contents:" +#~ msgstr "Ynhâld:" + +#~ msgid "" +#~ "File Error! Could not create temporary file." +#~ msgstr "" +#~ "File Error! Koe gjin tydlike triem meitsje." + +#~ msgid "okularpart" +#~ msgstr "okularpart" + +#~ msgid "Wilco Greven" +#~ msgstr "Wilco Greven" + +#~ msgid "Hide &Navigation Panel" +#~ msgstr "&Navigaasjepaniel ferbergje" + +#~ msgid "" +#~ msgstr "" + +#~ msgid "page %1" +#~ msgstr "Side %1" + +#~ msgid "Show &search bar in thumbnails list" +#~ msgstr "Sykbalke yn miniatuerli&st toane" + +#~ msgid "KMenu" +#~ msgstr "KMenu" + +#~ msgid "KTTSD" +#~ msgstr "KTTSD" + +#~ msgid "Free Text" +#~ msgstr "Tekst útsprekke" + +#~ msgid "Pencil" +#~ msgstr "Pinsiel" + +#~ msgid "DlgGeneral" +#~ msgstr "Algemien" + +#~ msgid "Program Look" +#~ msgstr "Programma-uterlik" diff --git a/po/ga/okular.po b/po/ga/okular.po new file mode 100644 index 0000000..5be3d74 --- /dev/null +++ b/po/ga/okular.po @@ -0,0 +1,6843 @@ +# Irish translation of okular +# Copyright (C) 2009 This_file_is_part_of_KDE +# This file is distributed under the same license as the okular package. +# Kevin Scannell , 2009. +msgid "" +msgstr "" +"Project-Id-Version: kdegraphics/kpdf.po\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2004-12-03 14:52-0500\n" +"Last-Translator: Kevin Scannell \n" +"Language-Team: Irish \n" +"Language: ga\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n < 11 ? " +"3 : 4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Séamus Ó Ciardhuáin,Kevin Scannell" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "seoc@iolfree.ie,kscanne@gmail.com" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "" + +#: aboutdata.h:23 +#, fuzzy, kde-format +#| msgid "" +#| "(C) 2002 Wilco Greven, Christophe Devriese\n" +#| "(C) 2004-2005 Enrico Ros\n" +#| "(C) 2005 Piotr Szymanski\n" +#| "(C) 2004-2009 Albert Astals Cid\n" +#| "(C) 2006-2009 Pino Toscano" +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"© 2002 Wilco Greven, Christophe Devriese\n" +"© 2004-2005 Enrico Ros\n" +"© 2005 Piotr Szymanski\n" +"© 2004-2009 Albert Astals Cid\n" +"© 2006-2009 Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "Iarchothaitheoir" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, fuzzy, kde-format +#| msgid "KPDF developer" +msgid "Developer" +msgstr "Forbróir KPDF" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymanski" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "Enrico Ros" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "Forbróir KPDF" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "Eugene Trounev" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "Jiri Baum - NICTA" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "Uirlis roghnaithe tábla" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "Fabio D'Urso" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "Feabhsúcháin ar anótáil" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "Téigh go leathanach %1" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "Oscail comhad seachtrach" + +#: core/action.cpp:197 +#, fuzzy, kde-format +#| msgid "Execute '%1'..." +msgid "Execute '%1'…" +msgstr "Rith '%1'..." + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "An Chéad Leathanach" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "An Leathanach Roimhe Seo" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "An Chéad Leathanach Eile" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "An Leathanach Deireanach" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "Siar" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "Ar Aghaidh" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Scoir" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "Tosaigh an Láithreoireacht" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "Cuir Deireadh leis an Láithreoireacht" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go To Page…" +msgstr "Téigh go Leathanach" + +#: core/action.cpp:365 +#, fuzzy, kde-format +#| msgid "Play sound..." +msgid "Play sound…" +msgstr "Seinn fuaim..." + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "Script JavaScript" + +#: core/action.cpp:483 +#, fuzzy, kde-format +#| msgid "Play movie" +msgid "Play movie…" +msgstr "Seinn scannán" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "Seinn scannán" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "Stop scannán" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "Roghnú Innill" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
%1 (%2).

Please select which one to use:
" +msgstr "" +"Aimsíodh níos mó ná inneall amháin le haghaidh an chineáil MIME seo:
%1 (%2).

Roghnaigh ceann acu:
" + +#: core/document.cpp:200 +#, fuzzy, kde-format +#| msgid "Go to page %1" +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "Téigh go leathanach %1" + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "" + +#: core/document.cpp:246 +#, fuzzy, kde-format +#| msgid "%1 x %2 in" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 × %2 orlach" + +#: core/document.cpp:248 +#, fuzzy, kde-format +#| msgid "%1 x %2 mm" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 × %2 mm" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "Ní féidir breiseán a aimsiú atá in ann an cháipéis seo a láimhseáil." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "Láithreoireacht" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"Tá an cháipéis ag iarraidh feidhmchlár seachtrach a rith agus, le do " +"shlándáil a chosaint, ní cheadaíonn Okular é sin." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "" +"Níor aimsíodh aon fheidhmchlár atá in ann comhad de chineál MIME %1 a " +"oscailt." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "Níorbh fhéidir comhad sealadach a oscailt" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "Thuairteáil an próiseas priontála" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "Níorbh fhéidir an próiseas priontála a thosú" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "Theip ar phriontáil i gcomhad" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "Bhí an printéir i staid neamhbhailí" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "Ní féidir an comhad le priontáil a aimsiú" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "Níorbh fhéidir '%1' a oscailt. Níl an comhad ann" + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Teideal" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Ábhar" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Cur Síos" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "Údar" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Cruthaitheoir" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Táirgeoir" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "Cóipcheart" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "Leathanaigh" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Cruthaithe" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Athraithe" + +#: core/document.cpp:6032 +#, fuzzy, kde-format +#| msgid "Mime Type" +msgid "MIME Type" +msgstr "Cineál MIME" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "Catagóir" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Lorgfhocail" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "Conair" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "Méid Comhaid" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "Méid an Leathanaigh" + +#: core/documentcommands.cpp:62 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "Anótáil" + +#: core/documentcommands.cpp:108 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "Láithreoireacht" + +#: core/documentcommands.cpp:155 +#, fuzzy, kde-format +#| msgid "Annotation improvements" +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "Feabhsúcháin ar anótáil" + +#: core/documentcommands.cpp:190 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Text Annotation" +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "Anótáil Téacs" + +#: core/documentcommands.cpp:263 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "Anótáil" + +#: core/documentcommands.cpp:333 +#, fuzzy, kde-format +#| msgid "Select text" +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "Roghnaigh téacs" + +#: core/documentcommands.cpp:398 +#, fuzzy, kde-format +#| msgid "Annotation improvements" +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "Feabhsúcháin ar anótáil" + +#: core/documentcommands.cpp:447 +#, fuzzy, kde-format +#| msgid "Annotation improvements" +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "Feabhsúcháin ar anótáil" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "" + +#: core/generator.cpp:790 +#, fuzzy, kde-format +#| msgid "Plain &Text..." +msgid "Plain &Text…" +msgstr "Gnáth-&Théacs..." + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "Téacs OpenDocument" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, fuzzy, kde-format +#| msgid "Editor Options" +msgid "Print Options" +msgstr "Roghanna Eagarthóra" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#: core/printoptionswidget.cpp:25 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgid "Scale mode:" +msgstr "Mód datha:" + +#: core/script/js_app.cpp:206 +#, fuzzy, kde-format +#| msgid "Close this message" +msgid "Do not show this message again" +msgstr "Dún an teachtaireacht seo" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, fuzzy, kde-format +#| msgid "No description available." +msgid "Not Available" +msgstr "Níl cur síos ar fáil." + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "" + +#: core/signatureutils.cpp:504 +#, fuzzy, kde-kuit-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" +"Níorbh fhéidir an comhad a shábháil i '%1'. Bain triail as suíomh eile." + +#: core/signatureutils.cpp:506 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown signing error" +msgstr "Comhad Anaithnid" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Foinse: %1" + +#: core/textdocumentsettings.cpp:34 +#, fuzzy, kde-format +#| msgid "&Default Zoom:" +msgid "&Default Font:" +msgstr "Súmáil &Réamhshocraithe:" + +#: gui/certificatemodel.cpp:39 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Version" +msgstr "Cáipéis le hoscailt" + +#: gui/certificatemodel.cpp:41 +#, fuzzy, kde-format +#| msgid "Page Number" +msgid "Serial Number" +msgstr "Uimhir an Leathanaigh" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, fuzzy, kde-format +#| msgid "Expired" +msgid "Expires On" +msgstr "As Dáta" + +#: gui/certificatemodel.cpp:49 +#, fuzzy, kde-format +#| msgid "Subject" +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Ábhar" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "" + +#: gui/certificatemodel.cpp:53 +#, fuzzy, kde-format +#| msgid "Memory Usage" +msgid "Key Usage" +msgstr "Úsáid na Cuimhne" + +#: gui/certificatemodel.cpp:72 +#, fuzzy, kde-format +#| msgid "%1:" +msgid "V%1" +msgstr "%1:" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "" + +#: gui/certificatemodel.cpp:146 +#, fuzzy, kde-format +#| msgid "&Properties" +msgid "Property" +msgstr "&Airíonna" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, fuzzy, kde-format +#| msgid "&Open Pop-up Note" +msgid "Pop-up Note" +msgstr "&Oscail Preabnóta" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, fuzzy, kde-format +#| msgid "Overwrite" +msgid "Typewriter" +msgstr "Forscríobh" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "Nóta Inlíne" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +#| msgid "Highlight" +msgid "Arrow with Comment" +msgstr "Aibhsigh" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "" + +#: gui/guiutils.cpp:59 +#, fuzzy, kde-format +#| msgid "Movie Properties" +msgid "Straight Line with Comment" +msgstr "Airíonna an Scannáin" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, fuzzy, kde-format +#| msgid "Straight Yellow Line" +msgid "Straight Line" +msgstr "Líne Dhíreach Bhuí" + +#: gui/guiutils.cpp:63 +#, fuzzy, kde-format +#| msgid "Highlight" +msgid "Polygon with Comment" +msgstr "Aibhsigh" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, fuzzy, kde-format +#| msgid "Blue Polygon" +msgid "Polygon" +msgstr "Polagán Gorm" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgid "Select text" +msgid "Rectangle with Comment" +msgstr "Roghnaigh téacs" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "Dronuilleog" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgid "Underline" +msgid "Ellipse with Comment" +msgstr "Líne Faoi" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "Éilips" + +#: gui/guiutils.cpp:83 +#, fuzzy, kde-format +#| msgid "Highlight" +msgid "Highlight with Comment" +msgstr "Aibhsigh" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "Aibhsigh" + +#: gui/guiutils.cpp:87 +#, fuzzy, kde-format +#| msgid "Select text" +msgid "Squiggle with Comment" +msgstr "Roghnaigh téacs" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "" + +#: gui/guiutils.cpp:91 +#, fuzzy, kde-format +#| msgid "Underline" +msgid "Underline with Comment" +msgstr "Líne Faoi" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "Líne Faoi" + +#: gui/guiutils.cpp:95 +#, fuzzy, kde-format +#| msgid "Select text" +msgid "Strike Out with Comment" +msgstr "Roghnaigh téacs" + +#: gui/guiutils.cpp:95 +#, fuzzy, kde-format +#| msgid "Select text" +msgid "Strike Out" +msgstr "Roghnaigh téacs" + +#: gui/guiutils.cpp:102 +#, fuzzy, kde-format +#| msgid "Select text" +msgid "Stamp with Comment" +msgstr "Roghnaigh téacs" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "Stampa" + +#: gui/guiutils.cpp:106 +#, fuzzy, kde-format +#| msgid "Movie Properties" +msgid "Freehand Line with Comment" +msgstr "Airíonna an Scannáin" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "Carait" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "Fuaim" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "Scannán" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Scáileán" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation" +msgstr "Anótáil" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "Anaithnid" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Údar: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "" + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "" + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "" + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "" + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "" + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "" + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "" + +#: gui/signatureguiutils.cpp:60 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Certificate is Trusted." +msgstr "Cumraigh an tAmharcán" + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "" + +#: gui/signatureguiutils.cpp:64 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Certificate issuer is unknown." +msgstr "Cumraigh an tAmharcán" + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "" + +#: gui/signatureguiutils.cpp:68 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Certificate has Expired." +msgstr "Cumraigh an tAmharcán" + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "" + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "" + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "" + +#: gui/signatureguiutils.cpp:96 +#, fuzzy, kde-format +#| msgid "Unknown font" +msgid "Unknown Algorithm" +msgstr "Cló anaithnid" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown Type" +msgstr "Comhad Anaithnid" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "" + +#: gui/signatureguiutils.cpp:126 +#, fuzzy, kde-format +#| msgid "Encrypted" +msgid "Encrypt Keys" +msgstr "Criptithe" + +#: gui/signatureguiutils.cpp:129 +#, fuzzy, kde-format +#| msgid "Unencrypted" +msgid "Decrypt Keys" +msgstr "Gan Criptiú" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "" + +#: gui/signatureguiutils.cpp:135 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Sign Certificate" +msgstr "Cumraigh an tAmharcán" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "" + +#: gui/signatureguiutils.cpp:141 +#, fuzzy, kde-format +#| msgid "Encrypted" +msgid "Encrypt Only" +msgstr "Criptithe" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr "" + +#: gui/signatureguiutils.cpp:165 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "The document has not been modified since it was signed." +msgstr "Níl cead agat an cháipéis seo a phriontáil." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "" + +#: gui/signatureguiutils.cpp:208 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "Níl cead agat an cháipéis seo a phriontáil." + +#: gui/signatureguiutils.cpp:211 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "This document is digitally signed." +msgstr "Níl cead agat an cháipéis seo a phriontáil." + +#: gui/signatureguiutils.cpp:213 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "Níl cead agat an cháipéis seo a phriontáil." + +#: gui/signatureguiutils.cpp:216 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "Níl cead agat an cháipéis seo a phriontáil." + +#: gui/signaturemodel.cpp:141 +#, fuzzy, kde-format +#| msgid "Movie Properties" +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "Airíonna an Scannáin" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "" + +#: gui/signaturemodel.cpp:172 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgid "Reason: %1" +msgstr "Leathanaigh: %1" + +#: gui/signaturemodel.cpp:177 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Location: %1" +msgstr "Anótáil" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "" + +#: gui/signaturemodel.cpp:193 +#, fuzzy, kde-format +#| msgctxt "Unknown author" +#| msgid "Unknown" +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "Anaithnid" + +#: gui/signaturemodel.cpp:195 +#, fuzzy, kde-format +#| msgid "Movie Properties" +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "Airíonna an Scannáin" + +#: gui/signaturemodel.cpp:201 +#, fuzzy, kde-format +#| msgid "Movie Properties" +msgid "Signature Type: %1" +msgstr "Airíonna an Scannáin" + +#: part/annotationactionhandler.cpp:148 +#, fuzzy, kde-format +#| msgid "Reloa&d" +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "Ath&luchtaigh" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "" + +#: part/annotationactionhandler.cpp:150 +#, fuzzy, kde-format +#| msgid "Allow" +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "Ceadaigh" + +#: part/annotationactionhandler.cpp:151 +#, fuzzy, kde-format +#| msgctxt "Caption for a screen annotation" +#| msgid "Screen" +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "Scáileán" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "Laghdaigh go leithead leathanaigh" + +#: part/annotationactionhandler.cpp:252 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1:" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:308 +#, fuzzy, kde-format +#| msgid "Annotation improvements" +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Feabhsúcháin ar anótáil" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "" + +#: part/annotationactionhandler.cpp:314 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Anótáil" + +#: part/annotationactionhandler.cpp:316 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "Anótáil" + +#: part/annotationactionhandler.cpp:318 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Anótáil" + +#: part/annotationactionhandler.cpp:322 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Anótáil" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "" + +#: part/annotationactionhandler.cpp:328 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "Anótáil" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" + +#: part/annotationactionhandler.cpp:341 +#, fuzzy, kde-format +#| msgid "Annotation improvements" +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Feabhsúcháin ar anótáil" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "" + +#: part/annotationactionhandler.cpp:432 +#, fuzzy, kde-format +#| msgid "&Color:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "&Dath:" + +#: part/annotationactionhandler.cpp:434 +#, fuzzy, kde-format +#| msgid "&Color:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "&Dath:" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "" + +#: part/annotationactionhandler.cpp:499 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgctxt "@title:window" +msgid "Select color" +msgstr "Uirlis &Roghnaithe" + +#: part/annotationactionhandler.cpp:552 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "&Annotations" +msgstr "Anótáil" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "" + +#: part/annotationactionhandler.cpp:554 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Láithreoireacht" + +#: part/annotationactionhandler.cpp:557 +#, fuzzy, kde-format +#| msgid "Highlight" +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "Aibhsigh" + +#: part/annotationactionhandler.cpp:558 +#, fuzzy, kde-format +#| msgid "Underline" +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "Líne Faoi" + +#: part/annotationactionhandler.cpp:559 +#, fuzzy, kde-format +#| msgid "Select text" +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "Roghnaigh téacs" + +#: part/annotationactionhandler.cpp:560 +#, fuzzy, kde-format +#| msgid "Select text" +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "Roghnaigh téacs" + +#: part/annotationactionhandler.cpp:562 +#, fuzzy, kde-format +#| msgid "Overwrite" +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Forscríobh" + +#: part/annotationactionhandler.cpp:563 +#, fuzzy, kde-format +#| msgid "Inline Note" +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "Nóta Inlíne" + +#: part/annotationactionhandler.cpp:564 +#, fuzzy, kde-format +#| msgid "&Open Pop-up Note" +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "&Oscail Preabnóta" + +#: part/annotationactionhandler.cpp:565 +#, fuzzy, kde-format +#| msgid "Movie Properties" +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "Airíonna an Scannáin" + +#: part/annotationactionhandler.cpp:567 +#, fuzzy, kde-format +#| msgid "Straight Yellow Line" +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "Líne Dhíreach Bhuí" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "" + +#: part/annotationactionhandler.cpp:569 +#, fuzzy, kde-format +#| msgid "Rectangle" +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "Dronuilleog" + +#: part/annotationactionhandler.cpp:570 +#, fuzzy, kde-format +#| msgid "Ellipse" +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "Éilips" + +#: part/annotationactionhandler.cpp:571 +#, fuzzy, kde-format +#| msgid "Blue Polygon" +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "Polagán Gorm" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "" + +#: part/annotationactionhandler.cpp:618 +#, fuzzy, kde-format +#| msgid "Stamp" +msgctxt "@action" +msgid "Stamp" +msgstr "Stampa" + +#: part/annotationactionhandler.cpp:638 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Anótáil" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "" + +#: part/annotationactionhandler.cpp:651 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Quick Annotation Bar" +msgstr "Anótáil" + +#: part/annotationactionhandler.cpp:665 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "Anótáil" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "" + +#: part/annotationactionhandler.cpp:669 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "Láithreoireacht" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "" + +#: part/annotationactionhandler.cpp:680 +#, fuzzy, kde-format +#| msgid "Font:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "Cló:" + +#: part/annotationactionhandler.cpp:681 +#, fuzzy, kde-format +#| msgid "Annotation improvements" +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Feabhsúcháin ar anótáil" + +#: part/annotationactionhandler.cpp:684 +#, fuzzy, kde-format +#| msgid "Line" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "Líne" + +#: part/annotationactionhandler.cpp:693 +#, fuzzy, kde-format +#| msgid "&Opacity:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "&Teimhneacht:" + +#: part/annotationactionhandler.cpp:696 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1:" + +#: part/annotationmodel.cpp:320 +#, fuzzy, kde-format +#| msgid "Page %1" +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "Leathanach %1" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "Leathanach %1" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "Anótáil" +msgstr[1] "%1 Anótáil" +msgstr[2] "%1 Anótáil" +msgstr[3] "%1 nAnótáil" +msgstr[4] "%1 Anótáil" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "&Oscail Preabnóta" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Bain Leabharmharc" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Cuir Leabharmharc Leis" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Text to Clipboard" +msgstr "Cóipeáil go dtí an Ghearrthaisce" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "Cóipeáil faoi chosc ag DRM" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "&Scrios" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "&Airíonna" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, fuzzy, kde-format +#| msgctxt "%1 is the name of the file to save" +#| msgid "&Save '%1'..." +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "&Sábháil '%1'..." + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "&Cuma" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "&Ginearálta" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "Úd&ar:" + +#: part/annotationpropertiesdialog.cpp:69 +#, fuzzy, kde-format +#| msgid "Created" +msgid "Created:" +msgstr "Cruthaithe" + +#: part/annotationpropertiesdialog.cpp:74 +#, fuzzy, kde-format +#| msgid "Modified" +msgid "Modified:" +msgstr "Athraithe" + +#: part/annotationpropertiesdialog.cpp:108 +#, fuzzy, kde-format +#| msgid "Movie Properties" +msgid "Pop-up Note Properties" +msgstr "Airíonna an Scannáin" + +#: part/annotationpropertiesdialog.cpp:111 +#, fuzzy, kde-format +#| msgid "Movie Properties" +msgid "Typewriter Properties" +msgstr "Airíonna an Scannáin" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:119 +#, fuzzy, kde-format +#| msgid "Movie Properties" +msgid "Straight Line Properties" +msgstr "Airíonna an Scannáin" + +#: part/annotationpropertiesdialog.cpp:121 +#, fuzzy, kde-format +#| msgid "Sound Properties" +msgid "Polygon Properties" +msgstr "Airíonna Fuaime" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:128 +#, fuzzy, kde-format +#| msgid "Sound Properties" +msgid "Text Markup Properties" +msgstr "Airíonna Fuaime" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:134 +#, fuzzy, kde-format +#| msgid "Movie Properties" +msgid "Freehand Line Properties" +msgstr "Airíonna an Scannáin" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "Airíonna Fuaime" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "Airíonna an Scannáin" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&Dath:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%1:" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "&Teimhneacht:" + +#: part/annotationwidgets.cpp:363 +#, fuzzy, kde-format +#| msgid "Icon" +msgid "Icon:" +msgstr "Deilbhín" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "Nóta" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "Cabhair" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "Ionsáigh" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "Eochair" + +#: part/annotationwidgets.cpp:368 +#, fuzzy, kde-format +#| msgid "New Paragraph" +msgid "New paragraph" +msgstr "Alt Nua" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "Nóta" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "Alt" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Cló:" + +#: part/annotationwidgets.cpp:387 +#, fuzzy, kde-format +#| msgid "&Color:" +msgid "Text &color:" +msgstr "&Dath:" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "" + +#: part/annotationwidgets.cpp:395 +#, fuzzy, kde-format +#| msgctxt "Rotate left" +#| msgid "Left" +msgid "Left" +msgstr "Tuathalach" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "" + +#: part/annotationwidgets.cpp:397 +#, fuzzy, kde-format +#| msgctxt "Rotate right" +#| msgid "Right" +msgid "Right" +msgstr "Deisealach" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "Ceadaithe" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "Mar Atá" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "Faoi Rún" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "Rannach" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "Dréacht" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "Turgnamhach" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "As Dáta" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "Deireanach" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "Díolta" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "An-Rúnda" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "Leabharmharc" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "Eolas" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgid "&Width:" +msgstr "Laghdaigh go leithead leathanaigh" + +#: part/annotationwidgets.cpp:504 +#, fuzzy, kde-format +#| msgid "Line" +msgid "Line start:" +msgstr "Líne" + +#: part/annotationwidgets.cpp:506 +#, fuzzy, kde-format +#| msgid "Line" +msgid "Line end:" +msgstr "Líne" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "" + +#: part/annotationwidgets.cpp:531 +#, fuzzy, kde-format +#| msgid "Underline" +msgid "Leader line length:" +msgstr "Líne Faoi" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Shape fill:" +msgstr "Sábháil go Comhad..." + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Cineál:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "Fáiscín páipéar" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "Clib" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "Comhad" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "N/A/F" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "Níl cur síos ar fáil." + +#: part/annotationwidgets.cpp:773 +#, fuzzy, kde-format +#| msgid "Name" +msgid "Name:" +msgstr "Ainm" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "Cur Síos:" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "Dún an nóta seo" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "Roghanna" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "" + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "" + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "" + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "" + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"Leabharmharc amháin" +msgstr[1] "" +"%1\n" +"\n" +"%2 leabharmharc" +msgstr[2] "" +"%1\n" +"\n" +"%2 leabharmharc" +msgstr[3] "" +"%1\n" +"\n" +"%2 leabharmharc" +msgstr[4] "" +"%1\n" +"\n" +"%2 leabharmharc" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Leabharmharcanna" + +#: part/bookmarklist.cpp:136 +#, fuzzy, kde-format +#| msgid "End of the document" +msgid "Show for all documents" +msgstr "Deireadh na cáipéise" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, fuzzy, kde-format +#| msgid "S&earch:" +msgid "Search…" +msgstr "C&uardaigh:" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, kde-format +msgid "Expand All" +msgstr "" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, kde-format +msgid "Collapse All" +msgstr "" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "Téigh go dtí an Leabharmharc Seo" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "Athainmnigh an Leabharmharc" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Oscail an Cháipéis" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "" + +#: part/certificateviewer.cpp:47 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Certificate Viewer" +msgstr "Cumraigh an tAmharcán" + +#: part/certificateviewer.cpp:50 +#, fuzzy, kde-format +#| msgid "E&xport As" +msgid "Export…" +msgstr "Ea&spórtáil Mar" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "Ginearálta" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "" + +#: part/colormodemenu.cpp:19 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "Mód datha:" + +#: part/colormodemenu.cpp:21 +#, fuzzy, kde-format +#| msgid "Change &colors" +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "Athraigh &dathanna" + +#: part/colormodemenu.cpp:29 +#, fuzzy, kde-format +#| msgid "Normal Icons" +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "Gnáthdheilbhíní" + +#: part/colormodemenu.cpp:41 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "Inbhéartaigh na Dathanna" + +#: part/colormodemenu.cpp:42 +#, fuzzy, kde-format +#| msgid "Change Paper Color" +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "Athraigh Dath an Pháipéir" + +#: part/colormodemenu.cpp:44 +#, fuzzy, kde-format +#| msgid "Change Dark & Light Colors" +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "Athraigh Dathanna Dorcha & Geala" + +#: part/colormodemenu.cpp:46 +#, fuzzy, kde-format +#| msgid "Convert to Black & White" +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "Tiontaigh go Dubh agus Bán" + +#: part/colormodemenu.cpp:49 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "Inbhéartaigh na Dathanna" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, fuzzy, kde-format +#| msgid "Reloa&d" +msgid "Red" +msgstr "Ath&luchtaigh" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, fuzzy, kde-format +#| msgctxt "Caption for a screen annotation" +#| msgid "Screen" +msgid "Green" +msgstr "Scáileán" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, fuzzy, kde-format +#| msgid "Allow" +msgid "Yellow" +msgstr "Ceadaigh" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "Peann Aibhsithe Buí" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "Peann Aibhsithe Uaine" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, fuzzy, kde-format +#| msgid "Insert" +msgid "Insert Text" +msgstr "Ionsáigh" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "" + +#: part/dlgaccessibility.cpp:48 +#, fuzzy, kde-format +#| msgid "Change &colors" +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "Athraigh &dathanna" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "" + +#: part/dlgaccessibility.cpp:60 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "Inbhéartaigh na Dathanna" + +#: part/dlgaccessibility.cpp:61 +#, fuzzy, kde-format +#| msgid "Change Paper Color" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "Athraigh Dath an Pháipéir" + +#: part/dlgaccessibility.cpp:62 +#, fuzzy, kde-format +#| msgid "Change Dark & Light Colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "Athraigh Dathanna Dorcha & Geala" + +#: part/dlgaccessibility.cpp:63 +#, fuzzy, kde-format +#| msgid "Convert to Black & White" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "Tiontaigh go Dubh agus Bán" + +#: part/dlgaccessibility.cpp:64 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "Inbhéartaigh na Dathanna" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "" + +#: part/dlgaccessibility.cpp:70 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "Mód datha:" + +#: part/dlgaccessibility.cpp:87 +#, fuzzy, kde-format +#| msgid "Paper color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Dath an pháipéir:" + +#: part/dlgaccessibility.cpp:99 +#, fuzzy, kde-format +#| msgid "Dark color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Dath dorcha:" + +#: part/dlgaccessibility.cpp:104 +#, fuzzy, kde-format +#| msgid "&Color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "&Dath:" + +#: part/dlgaccessibility.cpp:119 +#, fuzzy, kde-format +#| msgid "Threshold:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "Tairseach:" + +#: part/dlgaccessibility.cpp:127 +#, fuzzy, kde-format +#| msgid "Contrast:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Codarsnacht:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "" + +#: part/dlgaccessibility.cpp:165 +#, fuzzy, kde-format +#| msgid "Text to search for" +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "Téacs le lorg" + +#: part/dlgannotations.cpp:25 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Anótáil" + +#: part/dlgannotations.cpp:26 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Anótáil" + +#: part/dlgannotations.cpp:28 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Anótáil" + +#: part/dlgannotations.cpp:34 +#, fuzzy, kde-format +#| msgid "&Author:" +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "Úd&ar:" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" + +#: part/dlgannotations.cpp:48 +#, fuzzy, kde-format +#| msgid "Annotation improvements" +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

Quick Annotation Tools

" +msgstr "Feabhsúcháin ar anótáil" + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" + +#: part/dlgeditor.cpp:29 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Custom Text Editor" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "Eagarthóir Téacs Saincheaptha" + +#: part/dlgeditor.cpp:30 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Kate" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Kile" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "SciTE" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Emacs client" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Cliant Emacs" + +#: part/dlgeditor.cpp:34 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Lyx client" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "Cliant Lyx" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "" + +#: part/dlgeditor.cpp:37 +#, fuzzy, kde-format +#| msgid "Editor:" +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "Eagarthóir:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
\n" +"You can also put few placeholders:\n" +"
    \n" +"
  • %f - the file name
  • \n" +"
  • %l - the line of the file to be reached
  • \n" +"
  • %c - the column of the file to be reached
  • \n" +"
\n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" + +#: part/dlgeditor.cpp:63 +#, fuzzy, kde-format +#| msgid "Command:" +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "Ordú:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "" + +#: part/dlggeneral.cpp:37 +#, fuzzy, kde-format +#| msgid "Appearance" +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "Cuma" + +#: part/dlggeneral.cpp:41 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "Taispeáin scroll&bharraí" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "" + +#: part/dlggeneral.cpp:92 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "Dath an chúlra:" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "" + +#: part/dlggeneral.cpp:148 +#, fuzzy, kde-format +#| msgid "No document opened." +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "Níl aon cháipéis oscailte." + +#: part/dlggeneral.cpp:155 +#, fuzzy, kde-format +#| msgid "Backend Selection" +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "Roghnú Innill" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, fuzzy, kde-format +#| msgid "Overview" +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "Foramharc" + +#: part/dlggeneral.cpp:220 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%1:" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "" + +#: part/dlggeneral.cpp:228 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%1:" + +#: part/dlggeneral.cpp:232 +#, fuzzy, kde-format +#| msgid "100%" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "100%" + +#: part/dlggeneral.cpp:233 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "Laghdaigh go leithead leathanaigh" + +#: part/dlggeneral.cpp:234 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "Laghdaigh go dtí an Leathanach" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" + +#: part/dlggeneral.cpp:241 +#, fuzzy, kde-format +#| msgid "&Default Zoom:" +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "Súmáil &Réamhshocraithe:" + +#: part/dlgperformance.cpp:26 +#, fuzzy, kde-format +#| msgid "Enable &transparency effects" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "Cumasaigh maisíochtaí &trédhearcachta" + +#: part/dlgperformance.cpp:28 +#, fuzzy, kde-format +#| msgid "CPU Usage" +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "Úsáid LAP" + +#: part/dlgperformance.cpp:35 +#, fuzzy, kde-format +#| msgid "&Low" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "Ísea&l" + +#: part/dlgperformance.cpp:36 +#, fuzzy, kde-format +#| msgid "&Normal (default)" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "G&náth (réamhshocrú)" + +#: part/dlgperformance.cpp:37 +#, fuzzy, kde-format +#| msgid "&Aggressive" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "Te&anntásach" + +#: part/dlgperformance.cpp:38 +#, fuzzy, kde-format +#| msgctxt "Caption for a screen annotation" +#| msgid "Screen" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "Scáileán" + +#: part/dlgperformance.cpp:40 +#, fuzzy, kde-format +#| msgid "Memory Usage" +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "Úsáid na Cuimhne" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "" + +#: part/dlgperformance.cpp:56 +#, fuzzy, kde-format +#| msgid "Rendering" +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "Rindreáil" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" + +#: part/dlgpresentation.cpp:38 +#, fuzzy, kde-format +#| msgctxt "Advance every %1 seconds" +#| msgid " second" +#| msgid_plural " seconds" +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] " soicind" +msgstr[1] " shoicind" +msgstr[2] " shoicind" +msgstr[3] " soicind" +msgstr[4] " soicind" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "" + +#: part/dlgpresentation.cpp:63 +#, fuzzy, kde-format +#| msgid "Navigation" +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Nascleanúint" + +#: part/dlgpresentation.cpp:72 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "Dath an chúlra:" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "" + +#: part/dlgpresentation.cpp:77 +#, fuzzy, kde-format +#| msgid "Always Visible" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "Infheicthe i gCónaí" + +#: part/dlgpresentation.cpp:78 +#, fuzzy, kde-format +#| msgid "Always Hidden" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "Folaithe i gCónaí" + +#: part/dlgpresentation.cpp:80 +#, fuzzy, kde-format +#| msgid "Mouse cursor:" +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "Cúrsóir luiche:" + +#: part/dlgpresentation.cpp:84 +#, fuzzy, kde-format +#| msgid "Show &progress indicator" +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "Tais&peáin táscaire dul chun cinn" + +#: part/dlgpresentation.cpp:90 +#, fuzzy, kde-format +#| msgid "Show bookmarked pages only" +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "Taispeáin leathanaigh leabharmharcáilte amháin" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "" + +#: part/dlgpresentation.cpp:101 +#, fuzzy, kde-format +#| msgid "Replace" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "Ionadaigh" + +#: part/dlgpresentation.cpp:102 +#, fuzzy, kde-format +#| msgid "Random Transition" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "Trasdul Randamach" + +#: part/dlgpresentation.cpp:103 +#, fuzzy, kde-format +#| msgid "Split Vertical In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "Roinn go hIngearach Isteach" + +#: part/dlgpresentation.cpp:104 +#, fuzzy, kde-format +#| msgid "Split Horizontal In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "Roinn go Cothrománach Isteach" + +#: part/dlgpresentation.cpp:105 +#, fuzzy, kde-format +#| msgid "Box In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "Bosca Isteach" + +#: part/dlgpresentation.cpp:106 +#, fuzzy, kde-format +#| msgid "Box Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "Bosca Amach" + +#: part/dlgpresentation.cpp:107 +#, fuzzy, kde-format +#| msgid "Dissolve" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "Díscaoil" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "" + +#: part/dlgpresentation.cpp:110 +#, fuzzy, kde-format +#| msgid "Rotate &Right" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "Rothlaigh go &Deisealach" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "" + +#: part/dlgpresentation.cpp:112 +#, fuzzy, kde-format +#| msgid "Split Horizontal In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "Roinn go Cothrománach Isteach" + +#: part/dlgpresentation.cpp:113 +#, fuzzy, kde-format +#| msgid "Split Horizontal Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "Roinn go Cothrománach Amach" + +#: part/dlgpresentation.cpp:114 +#, fuzzy, kde-format +#| msgid "Split Vertical In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "Roinn go hIngearach Isteach" + +#: part/dlgpresentation.cpp:115 +#, fuzzy, kde-format +#| msgid "Split Vertical Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "Roinn go hIngearach Amach" + +#: part/dlgpresentation.cpp:116 +#, fuzzy, kde-format +#| msgid "Wipe Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "Síobán Anuas" + +#: part/dlgpresentation.cpp:117 +#, fuzzy, kde-format +#| msgid "Wipe Right" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "Síobán ón Chlé" + +#: part/dlgpresentation.cpp:118 +#, fuzzy, kde-format +#| msgid "Wipe Left" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "Síobán ón Deas" + +#: part/dlgpresentation.cpp:119 +#, fuzzy, kde-format +#| msgid "Wipe Up" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "Síobán Aníos" + +#: part/dlgpresentation.cpp:121 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Trasdul réamhshocraithe:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

Drawing Tools

" +msgstr "" + +#: part/dlgpresentation.cpp:171 +#, fuzzy, kde-format +#| msgctxt "@label:listbox The current screen, for the presentation mode" +#| msgid "Current Screen" +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Scáileán Reatha" + +#: part/dlgpresentation.cpp:172 +#, fuzzy, kde-format +#| msgctxt "@label:listbox The default screen for the presentation mode" +#| msgid "Default Screen" +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Scáileán Réamhshocraithe" + +#: part/dlgpresentation.cpp:178 +#, fuzzy, kde-format +#| msgctxt "@label:listbox %1 is the screen number (0, 1, ...)" +#| msgid "Screen %1" +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "Scáileán %1" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, fuzzy, kde-format +#| msgid "Name" +msgid "&Name:" +msgstr "Ainm" + +#: part/editannottooldialog.cpp:69 +#, fuzzy, kde-format +#| msgid "Type:" +msgid "&Type:" +msgstr "Cineál:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "Cuma" + +#: part/editannottooldialog.cpp:93 +#, fuzzy, kde-format +#| msgid "Next Bookmark" +msgid "Text markup" +msgstr "An Chéad Leabharmharc Eile" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "" + +#: part/editannottooldialog.cpp:101 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Create annotation tool" +msgstr "Láithreoireacht" + +#: part/editannottooldialog.cpp:103 +#, fuzzy, kde-format +#| msgid "Annotation improvements" +msgid "Edit annotation tool" +msgstr "Feabhsúcháin ar anótáil" + +#: part/editdrawingtooldialog.cpp:51 +#, fuzzy, kde-format +#| msgid "&Color:" +msgid "Color:" +msgstr "&Dath:" + +#: part/editdrawingtooldialog.cpp:58 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgid "&Pen Width:" +msgstr "Laghdaigh go leithead leathanaigh" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "" + +#: part/editdrawingtooldialog.cpp:79 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Create drawing tool" +msgstr "Láithreoireacht" + +#: part/editdrawingtooldialog.cpp:84 +#, fuzzy, kde-format +#| msgid "Annotation improvements" +msgid "Edit drawing tool" +msgstr "Feabhsúcháin ar anótáil" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "Anaithnid" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Comhaid Leabaithe" + +#: part/embeddedfilesdialog.cpp:62 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:button" +msgid "View" +msgstr "&Amharc" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "Ainm" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "Cur Síos" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "Méid" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "Cruthaithe" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "Athraithe" + +#: part/embeddedfilesdialog.cpp:154 +#, fuzzy, kde-format +#| msgctxt "@action:inmenu" +#| msgid "&Save As..." +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "&Sábháil Mar..." + +#: part/embeddedfilesdialog.cpp:155 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "&Amharc" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "Níorbh fhéidir comhpháirt réamhamhairc priontála a luchtú" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "Réamhamharc Priontála" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "Dún" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "A&imsigh:" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "Téacs le lorg" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "An Chéad Toradh Eile" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "Léim go dtí an chéad toradh eile" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Roimhe Seo" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "Léim go dtí an ceann roimhe seo" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "Athraigh oibriú an chuardaigh" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "Cásíogair" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "Ón leathanach reatha" + +#: part/findbar.cpp:70 +#, fuzzy, kde-format +#| msgid "Find stopped." +msgid "Find as you type" +msgstr "Stopadh an t-aimsiú." + +#: part/formwidgets.cpp:870 +#, fuzzy, kde-format +#| msgid "*|All Files" +msgid "All Files (*)" +msgstr "*|Gach Comhad" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, fuzzy, kde-format +#| msgid "Movie Properties" +msgid "Signature Properties" +msgstr "Airíonna an Scannáin" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "Roghanna Cuardaigh" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "Cásíogair" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "as" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "Súmáil" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "Rothlaigh go &Deisealach" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "Deisealach" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "Rothlaigh go &Tuathalach" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "Tuathalach" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "Treoshuíomh Bunúsach" + +#: part/pageview.cpp:546 +#, fuzzy, kde-format +#| msgid "&View" +msgid "&Trim View" +msgstr "&Amharc" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "&Bearr na hImill" + +#: part/pageview.cpp:557 +#, fuzzy, kde-format +#| msgctxt "Text Selection Tool" +#| msgid "Text Selection" +msgid "Trim To &Selection" +msgstr "Roghnú Téacs" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "Oiriúnaigh don &Leithead" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "Laghdai&gh go dtí an Leathanach" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "" + +#: part/pageview.cpp:575 +#, fuzzy, kde-format +#| msgid "Fit &Page" +msgid "Fit Wi&ndow to Page" +msgstr "Laghdai&gh go dtí an Leathanach" + +# OK +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "Mód &Amhairc" + +#: part/pageview.cpp:594 +#, fuzzy, kde-format +#| msgid "Single Page" +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "Leathanach Amháin" + +#: part/pageview.cpp:595 +#, fuzzy, kde-format +#| msgid "Facing Pages" +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "Leathanaigh ar aghaigh a chéile" + +#: part/pageview.cpp:596 +#, fuzzy, kde-format +#| msgid "Facing Pages (Center First Page)" +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "Leathanaigh ar aghaigh a chéile (an chéad leathanach sa lár)" + +#: part/pageview.cpp:599 +#, fuzzy, kde-format +#| msgid "Overview" +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "Foramharc" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "&Leanúnach" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "" + +#: part/pageview.cpp:627 +#, fuzzy, kde-format +#| msgctxt "Browse Tool" +#| msgid "Browse" +msgid "&Browse" +msgstr "Brabhsáil" + +#: part/pageview.cpp:635 +#, fuzzy, kde-format +#| msgid "Zoom" +msgid "&Zoom" +msgstr "Súmáil" + +#: part/pageview.cpp:655 +#, fuzzy, kde-format +#| msgctxt "Text Selection Tool" +#| msgid "Text Selection" +msgid "Area &Selection" +msgstr "Roghnú Téacs" + +#: part/pageview.cpp:662 +#, fuzzy, kde-format +#| msgctxt "Text Selection Tool" +#| msgid "Text Selection" +msgid "&Text Selection" +msgstr "Roghnú Téacs" + +#: part/pageview.cpp:669 +#, fuzzy, kde-format +#| msgctxt "Table Selection Tool" +#| msgid "Table Selection" +msgid "T&able Selection" +msgstr "Roghnú Tábla" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "" + +#: part/pageview.cpp:685 +#, fuzzy, kde-format +#| msgid "Selection Tools" +msgctxt "@action" +msgid "Selection Tools" +msgstr "Uirlisí Roghnaithe" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "Léigh an Cháipéis Iomlán" + +#: part/pageview.cpp:722 +#, fuzzy, kde-format +#| msgid "Speak Current Page" +msgid "Speak From Current Page" +msgstr "Léigh an Leathanach Reatha" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "Léigh an Leathanach Reatha" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "Stad an Léamh" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "Scrollaigh Suas" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Scrollaigh Síos" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "Scrollaigh Leathanach Suas" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "Scrollaigh Leathanach Síos" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "Taispeáin Foirmeacha" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] " Luchtaíodh cáipéis le haon leathanach amháin." +msgstr[1] " Luchtaíodh cáipéis le dhá leathanach." +msgstr[2] " Luchtaíodh cáipéis le %1 leathanach." +msgstr[3] " Luchtaíodh cáipéis le %1 leathanach." +msgstr[4] " Luchtaíodh cáipéis le %1 leathanach." + +#: part/pageview.cpp:2526 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Table Contents to Clipboard" +msgstr "Cóipeáil go dtí an Ghearrthaisce" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "Téacs (1 charachtar)" +msgstr[1] "Téacs (2 charachtar)" +msgstr[2] "Téacs (%1 charachtar)" +msgstr[3] "Téacs (%1 gcarachtar)" +msgstr[4] "Téacs (%1 carachtar)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "Cóipeáil go dtí an Ghearrthaisce" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "Léigh an Téacs" + +#: part/pageview.cpp:2863 +#, fuzzy, kde-format +#| msgid "Image (%1 by %2 pixels)" +msgid "Image (%1 × %2 pixels)" +msgstr "Íomhá (%1×%2 picteilíní)" + +#: part/pageview.cpp:2865 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save to File…" +msgstr "Sábháil go Comhad..." + +#: part/pageview.cpp:2885 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] copied to clipboard." +msgid "Image [%1 × %2] copied to clipboard." +msgstr "Cóipeáladh íomhá [%1×%2] go dtí an ghearrthaisce." + +#: part/pageview.cpp:2888 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save file" +msgstr "Sábháil go Comhad..." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "Níor sábháladh an comhad." + +#: part/pageview.cpp:2901 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] saved to %3 file." +msgid "Image [%1 × %2] saved to %3 file." +msgstr "Sábháladh íomhá [%1×%2] i gcomhad %3." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "Cóipeáil Téacs" + +#: part/pageview.cpp:3062 +#, fuzzy, kde-format +#| msgid "Go to page %1" +msgid "Go to '%1'" +msgstr "Téigh go leathanach %1" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "Laghdaigh go leithead leathanaigh" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "Laghdaigh go dtí an Leathanach" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "" + +#: part/pageview.cpp:4107 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1:" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "Déan cuardach ar '%1' le" + +#: part/pageview.cpp:4404 +#, fuzzy, kde-format +#| msgid "Configure Web Shortcuts..." +msgid "Configure Web Shortcuts…" +msgstr "Cumraigh Aicearraí Gréasáin..." + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "Lean an Nasc Seo" + +#: part/pageview.cpp:4433 +#, fuzzy, kde-format +#| msgid "Play sound..." +msgid "Play this Sound" +msgstr "Seinn fuaim..." + +#: part/pageview.cpp:4435 +#, fuzzy, kde-format +#| msgid "Sound" +msgid "Stop Sound" +msgstr "Fuaim" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "Cóipeáil Seoladh an Naisc" + +#: part/pageview.cpp:4462 +#, fuzzy, kde-format +#| msgid "Search for '%1' with" +msgid "Search for '%1' in this document" +msgstr "Déan cuardach ar '%1' le" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Fáilte" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "Roghnaigh limistéar súmála. Deaschliceáil le súmáil amach." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "" + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "Dear dronuilleog timpeall an téacs/grafaic is mian leat cóipeáil." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "Roghnaigh téacs" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" + +#: part/pageview.cpp:5188 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "No valid certificates" +msgstr "Cumraigh an tAmharcán" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Open Certificate Manager" +msgstr "Cumraigh an tAmharcán" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
Launch Certificate Manager " +"to import or manage certificates
For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "No certificates found" +msgstr "Cumraigh an tAmharcán" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "" + +#: part/pageview.cpp:5405 +#, fuzzy, kde-format +#| msgid "Draw a rectangle around the text/graphics to copy." +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "Dear dronuilleog timpeall an téacs/grafaic is mian leat cóipeáil." + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "Nóta Nua Téacs" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "Téacs an nóta nua:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgid "Author" +msgid "Author name" +msgstr "Údar" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Author name for the annotation:" +msgstr "Anótáil" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1392 +#, fuzzy, kde-format +#| msgid "Highlight" +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "Aibhsigh" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "" + +#: part/pageviewannotator.cpp:1402 +#, fuzzy, kde-format +#| msgid "Rectangle" +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "Dronuilleog" + +#: part/pageviewannotator.cpp:1404 +#, fuzzy, kde-format +#| msgid "Select text" +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "Roghnaigh téacs" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "" + +#: part/pageviewannotator.cpp:1408 +#, fuzzy, kde-format +#| msgid "Straight Yellow Line" +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "Líne Dhíreach Bhuí" + +#: part/pageviewannotator.cpp:1410 +#, fuzzy, kde-format +#| msgid "Select text" +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "Roghnaigh téacs" + +#: part/pageviewannotator.cpp:1412 +#, fuzzy, kde-format +#| msgid "Underline" +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "Líne Faoi" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1473 +#, fuzzy, kde-format +#| msgid "Highlight" +msgid "Highlighter" +msgstr "Aibhsigh" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Add favorite annotation" +msgstr "Anótáil" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Custom annotation name:" +msgstr "Anótáil" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&Comhad" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "&Socruithe" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "Cab&hair" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "Tre&oshuíomh" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "&Leabharmharcanna" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "Barra Uirlisí Amharcán" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Mionsamhlacha" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotations" +msgstr "Anótáil" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"Tá comhaid leabaithe sa cháipéis seo. Cliceáil anseo chun iad a fheiceáil nó téigh go Comhad -> Comhaid " +"Leabaithe." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "An Leathanach Roimhe Seo" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "An Leathanach Roimhe Seo" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "Téigh go dtí an leathanach sa cháipéis roimh an gceann seo" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "An Chéad Leathanach Eile" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "An Chéad Leathanach Eile" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "Téigh go dtí an chéad leathanach eile sa cháipéis" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "Tús na cáipéise" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "Téigh go dtí tús na cáipéise" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "Deireadh na cáipéise" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "Téigh go dtí deireadh na cáipéise" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "Athainmnigh an leabharmharc reatha" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "An Leabharmharc Roimhe Seo" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "Téigh go dtí an leabharmharc roimhe seo" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "An Chéad Leabharmharc Eile" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "Téigh go dtí an chéad leabharmharc eile" + +#: part/part.cpp:748 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgid "Configure Okular…" +msgstr "Cumraigh Okular..." + +#: part/part.cpp:751 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Configure Viewer…" +msgstr "Cumraigh an tAmharcán" + +#: part/part.cpp:757 +#, fuzzy, kde-format +#| msgid "Configure Viewer Backends" +msgid "Configure Viewer Backends…" +msgstr "Cumraigh Innill Amharcáin" + +#: part/part.cpp:759 +#, fuzzy, kde-format +#| msgid "Configure Backends" +msgid "Configure Backends…" +msgstr "Cumraigh Innill" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "Maidir leis an Inneall" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "Ath&luchtaigh" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "Athluchtaigh an cháipéis reatha ón diosca." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "Uimhir an Leathanaigh" + +#: part/part.cpp:817 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "Cumraigh Okular..." + +#: part/part.cpp:858 +#, fuzzy, kde-format +#| msgid "Speak Current Page" +msgid "Select All Text on Current Page" +msgstr "Léigh an Leathanach Reatha" + +#: part/part.cpp:871 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgid "Show S&idebar" +msgstr "Taispeáin scroll&bharraí" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "" + +#: part/part.cpp:886 +#, fuzzy, kde-format +#| msgid "Show &Navigation Panel" +msgid "Show &Signatures Panel" +msgstr "Taispeáin an Painéal &Nascleanúna" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "&Comhaid Leabaithe" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "Ea&spórtáil Mar" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "L&áithreoireacht" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "" + +#: part/part.cpp:945 +#, fuzzy, kde-format +#| msgid "&Import PostScript as PDF..." +msgid "&Import PostScript as PDF…" +msgstr "&Iompórtáil PostScript mar PDF..." + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "" + +#: part/part.cpp:957 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Erase Drawing" +msgstr "Láithreoireacht" + +#: part/part.cpp:962 +#, fuzzy, kde-format +#| msgid "Configure Backends..." +msgid "Configure Annotations…" +msgstr "Cumraigh Innill..." + +#: part/part.cpp:967 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Play/Pause Presentation" +msgstr "Láithreoireacht" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" + +#: part/part.cpp:1123 +#, fuzzy, kde-format +#| msgctxt "A document format, Okular-specific" +#| msgid "Document Archive" +msgid "Document can't be saved" +msgstr "Cartlann Cáipéisí" + +#: part/part.cpp:1152 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not open '%1' (%2) " +msgstr "Níorbh fhéidir %1 a oscailt" + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "Cealaíodh luchtú %1." + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "Níorbh fhéidir %1 a oscailt. Fáth: %2" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "Cumraigh Innill Amharcáin" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "Cumraigh Innill" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "ps2pdf gan aimsiú" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "" + +#: part/part.cpp:1357 +#, kde-format +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "" + +#: part/part.cpp:1489 +#, fuzzy, kde-format +#| msgid "Moves to the last page of the document" +msgid "Please enter the password to read the document:" +msgstr "Téigh go dtí an leathanach deiridh sa cháipéis" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "Focal faire mícheart. Triail arís é:" + +#: part/part.cpp:1502 +#, fuzzy, kde-format +#| msgid "Password" +msgid "Document Password" +msgstr "Focal Faire" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"Tá foirmeacha sa cháipéis seo. Cliceáil an cnaipe chun idirghníomhú leo, nó " +"úsáid Amharc -> Taispeáin Foirmeacha." + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "" + +#: part/part.cpp:1739 +#, fuzzy, kde-format +#| msgid "Presentation Mode" +msgid "Enter Presentation Mode" +msgstr "Mód Láithreoireachta" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "" + +#: part/part.cpp:1830 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not open %1. %2" +msgstr "Níorbh fhéidir %1 a oscailt" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "" + +#: part/part.cpp:1865 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue Reloading" +msgstr "&Leanúnach" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" + +#: part/part.cpp:1875 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue Closing" +msgstr "&Leanúnach" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "Dún an Cháipéis" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" + +#: part/part.cpp:2113 part/part.cpp:2131 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Reloading the document…" +msgstr "Cáipéis á hathluchtú..." + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "Inneachar" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Téigh go Leathanach" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "&Leathanach:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "Athainmnigh an Leabharmharc seo" + +#: part/part.cpp:2509 +#, fuzzy, kde-format +#| msgid "Rename this Bookmark" +msgid "Remove this Bookmark" +msgstr "Athainmnigh an Leabharmharc seo" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, fuzzy, kde-format +#| msgctxt "@action:inmenu" +#| msgid "&Save As..." +msgid "Save As" +msgstr "&Sábháil Mar..." + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
Do you want to continue?" +msgstr "" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "" + +#: part/part.cpp:2726 +#, fuzzy, kde-kuit-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" +"Níorbh fhéidir an comhad a shábháil i '%1'. Bain triail as suíomh eile." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
Do you want to continue?" +msgstr "" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "" +"Níorbh fhéidir an comhad a shábháil i '%1'. Bain triail as suíomh eile." + +#: part/part.cpp:2766 +#, fuzzy, kde-format +#| msgid "Annotation improvements" +msgid "Filled form contents" +msgstr "Feabhsúcháin ar anótáil" + +#: part/part.cpp:2769 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "User annotations" +msgstr "Láithreoireacht" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" + +#: part/part.cpp:2796 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue" +msgstr "&Leanúnach" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "Níorbh fhéidir an comhad a shábháil i '%1'. %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" + +#: part/part.cpp:2899 +#, fuzzy, kde-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" +"Níorbh fhéidir an comhad a shábháil i '%1'. Bain triail as suíomh eile." + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "End Presentation" +msgid "Expand Whole Section" +msgstr "Cuir Deireadh leis an Láithreoireacht" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "End Presentation" +msgid "Collapse Whole Section" +msgstr "Cuir Deireadh leis an Láithreoireacht" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Uirlisí" + +#: part/part.cpp:3381 +#, fuzzy, kde-format +#| msgid "Speak Text" +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "Léigh an Téacs" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "Níl cead agat an cháipéis seo a phriontáil." + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"Earráid Chomhaid! Ní féidir comhad sealadach " +"%1 a chruthú." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "Gan Leabharmharcanna" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "&Eagar" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "&Amharc" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&Téigh" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "&Uirlisí" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "Príomhbharra Uirlisí" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation Toolbar" +msgstr "Anótáil" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Quick Annotation Toolbar" +msgstr "Anótáil" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "Roghanna Ginearálta" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Inrochtaineacht" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "Áiseanna Inrochtaineachta do Léamh" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Feidhmíocht" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "Tiúnadh Oibrithe" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "Cumraigh an tAmharcán" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Láithreoireacht" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "Roghanna don Mhód Láithreoireachta" + +#: part/preferencesdialog.cpp:50 +#, fuzzy, kde-format +#| msgid "Annotation improvements" +msgid "Annotation Options" +msgstr "Feabhsúcháin ar anótáil" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "Eagarthóir" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "Roghanna Eagarthóra" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "An Chéad Cheann Eile" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 – Láithreoireacht" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "Scáileán %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Teideal: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Leathanaigh: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "Cliceáil chun tosú" + +#: part/presentationwidget.cpp:521 +#, fuzzy, kde-format +#| msgctxt "pause the movie playback" +#| msgid "Pause" +msgctxt "For Presentation" +msgid "Pause" +msgstr "Cuir ar Shos" + +#: part/presentationwidget.cpp:524 +#, fuzzy, kde-format +#| msgctxt "start the movie playback" +#| msgid "Play" +msgctxt "For Presentation" +msgid "Play" +msgstr "Seinn" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "Láithreoireacht á taispeáint" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "Comhad Anaithnid" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "Airíonna %1" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "&Clónna" + +#: part/propertiesdialog.cpp:145 +#, fuzzy, kde-format +#| msgid "Reading font information..." +msgid "Reading font information…" +msgstr "Faisnéis chló á léamh..." + +#: part/propertiesdialog.cpp:158 +#, fuzzy, kde-format +#| msgid "&Page Size" +msgid "&Page Sizes" +msgstr "&Méid an Leathanaigh" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Cineál 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Cineál 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "Cineál 1C (OT)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Cineál 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType (OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "Cineál 0 CID" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "Cineál 0C CID" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "Cineál 0C CID (OT)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "TrueType CID" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "TrueType CID (OT)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "Anaithnid" + +# boolean: "embedded"? +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "Leabaithe (fo-thacar)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "Leabaithe go hiomlán" + +# boolean: "embedded"? +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "Níl" + +# boolean: "embedded"? +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "Fo-thacar" + +# boolean: "embedded"? +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "Tá" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "[n/a/f]" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "Cló anaithnid" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "Leabaithe: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "Ainm" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "Cineál" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "Comhad" + +#: part/propertiesdialog.cpp:498 +#, fuzzy, kde-format +#| msgid "Pages" +msgid "Page" +msgstr "Leathanaigh" + +#: part/propertiesdialog.cpp:501 +#, fuzzy, kde-format +#| msgctxt "@title:column" +#| msgid "Size" +msgid "Size" +msgstr "Méid" + +#: part/revisionviewer.cpp:41 +#, fuzzy, kde-format +#| msgid "Print Preview" +msgid "Revision Preview" +msgstr "Réamhamharc Priontála" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "" + +#: part/revisionviewer.cpp:56 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not save file %1." +msgstr "Níorbh fhéidir %1 a oscailt" + +#: part/revisionviewer.cpp:75 +#, fuzzy, kde-format +#| msgid "Could not open %1. Reason: %2" +msgid "Could not view revision." +msgstr "Níorbh fhéidir %1 a oscailt. Fáth: %2" + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "Cásíogair" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "Comhoiriúnaigh Frása" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "Comhoiriúnaigh Gach Focal" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "Comhoiriúnaigh Focal Ar Bith" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "Roghanna Scagaire" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Certificates" +msgstr "Cumraigh an tAmharcán" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, fuzzy, kde-format +#| msgid "Allow" +msgid "All" +msgstr "Ceadaigh" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Only QES certificates" +msgstr "Cumraigh an tAmharcán" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, fuzzy, kde-format +#| msgid "Options" +msgid "optional" +msgstr "Roghanna" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Location:" +msgstr "Anótáil" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, fuzzy, kde-format +#| msgid "Background color:" +msgid "Background:" +msgstr "Dath an chúlra:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, fuzzy, kde-format +#| msgid "Background color:" +msgid "Recent backgrounds:" +msgstr "Dath an chúlra:" + +#: part/side_reviews.cpp:66 +#, fuzzy, kde-format +#| msgid "" +#| "

No annotations

To create new annotations press " +#| "F6 or select Tools -> Review from the menu.
" +msgid "" +"

No annotations

To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
" +msgstr "" +"

Gan anótáil

Le hanótáil, brúigh F6 nó roghnaigh " +"Uirlisí -> Anótáil ón roghchlár.
" + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "Grúpáil de réir leathanaigh" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "Grúpáil de réir údair" + +#: part/side_reviews.cpp:155 +#, fuzzy, kde-format +#| msgid "Show reviews for current page only" +msgid "Show annotations for current page only" +msgstr "Taispeáin anótáil ar an leathanach reatha amháin" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "" + +#: part/signaturepanel.cpp:101 +#, fuzzy, kde-format +#| msgid "&Properties" +msgid "Properties" +msgstr "&Airíonna" + +#: part/signaturepartutils.cpp:180 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Leathanaigh: %1" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "" + +#: part/signaturepartutils.cpp:244 +#, fuzzy, kde-format +#| msgid "Password" +msgid "Enter document password" +msgstr "Focal Faire" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:60 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Document Modifications:" +msgstr "Cáipéis le hoscailt" + +#: part/signaturepropertiesdialog.cpp:63 +#, fuzzy, kde-format +#| msgid "Information" +msgid "Additional Information" +msgstr "Eolas" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:83 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Document Version" +msgstr "Cáipéis le hoscailt" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:95 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "View Certificate…" +msgstr "Cumraigh an tAmharcán" + +#: part/signaturepropertiesdialog.cpp:97 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "View in Certificate Manager" +msgstr "Cumraigh an tAmharcán" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "Taispeáin leathanaigh leabharmharcáilte amháin" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "Seinn" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Cuir ar Shos" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "Stad" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, fuzzy, kde-format +#| msgid "&Edit" +msgid "&Edit…" +msgstr "&Eagar" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, fuzzy, kde-format +#| msgid "Wipe Down" +msgid "Move &Down" +msgstr "Síobán Anuas" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "Leathanach na cáipéise le taispeáint" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "Tosaigh an cháipéis sa mód láithreoireachta" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "" + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "" + +#: shell/shell.cpp:207 +#, fuzzy, kde-format +#| msgid "Unable to find the Okular component." +msgid "Unable to find the Okular component: %1" +msgstr "Ní féidir comhpháirt okular a aimsiú." + +#: shell/shell.cpp:250 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgid "Sidebar" +msgstr "Taispeáin scroll&bharraí" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "Ní féidir comhpháirt okular a aimsiú." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"Cliceáil chun comhad a oscailt\n" +"Cliceáil agus coinnigh an cnaipe síos chun comhad le déanaí a oscailt" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"Cliceáil chun comhad a oscailt nó Cliceáil agus coinnigh an cnaipe " +"síos chun comhad le déanaí a oscailt" + +#: shell/shell.cpp:582 +#, fuzzy, kde-format +#| msgid "Next Page" +msgid "Next Tab" +msgstr "An Chéad Leathanach Eile" + +#: shell/shell.cpp:588 +#, fuzzy, kde-format +#| msgid "Previous Page" +msgid "Previous Tab" +msgstr "An Leathanach Roimhe Seo" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "" + +#: shell/shell.cpp:603 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgid "Lock Sidebar" +msgstr "Taispeáin scroll&bharraí" + +#: shell/shell.cpp:703 +#, fuzzy, kde-format +#| msgid "*|All Files" +msgid "All files (*)" +msgstr "*|Gach Comhad" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "Oscail Cáipéis" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "" + +#: shell/shell.cpp:826 +#, fuzzy, kde-format +#| msgid "Close" +msgid "Close Tabs" +msgstr "Dún" + +#: shell/shell.cpp:833 +#, fuzzy, kde-format +#| msgid "" +#| "A file named \"%1\" already exists. Are you sure you want to overwrite it?" +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "" +"Tá comhad darb ainm \"%1\" ann cheana. An bhfuil tú cinnte gur mian leat " +"scríobh air?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "" + +#: shell/welcomescreen.cpp:64 +#, fuzzy, kde-format +#| msgid "Copy Text" +msgid "&Copy Path" +msgstr "Cóipeáil Téacs" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "" + +#: shell/welcomescreen.cpp:137 +#, fuzzy, kde-format +#| msgid "Current document only" +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "Cáipéis reatha amháin" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, fuzzy, kde-format +#| msgid "Open Document" +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Oscail Cáipéis" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, fuzzy, kde-format +#| msgid "Current document only" +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Cáipéis reatha amháin" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "" + +#, fuzzy +#~| msgid "Underline" +#~ msgid "Geometry with Comment" +#~ msgstr "Líne Faoi" + +#~ msgid "Geometry" +#~ msgstr "Céimseata" + +#~ msgid "Modified: %1" +#~ msgstr "Athraithe: %1" + +#~ msgid "Find..." +#~ msgstr "Aimsigh..." + +#~ msgid "Go To Page..." +#~ msgstr "Téigh go Leathanach..." + +#~ msgid "Play movie..." +#~ msgstr "Seinn scannán..." + +#, fuzzy +#~| msgid "S&earch:" +#~ msgid "Search..." +#~ msgstr "C&uardaigh:" + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "&Sábháil Mar..." + +#, fuzzy +#~| msgid "&View" +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "&Amharc" + +#~ msgid "Configure Viewer..." +#~ msgstr "Cumraigh an tAmharcán..." + +#~ msgid "Configure Viewer Backends..." +#~ msgstr "Cumraigh Innill Amharcáin..." + +#~ msgid "Configure Backends..." +#~ msgstr "Cumraigh Innill..." + +#, fuzzy +#~| msgid "&Edit" +#~ msgid "&Edit..." +#~ msgstr "&Eagar" + +#, fuzzy +#~| msgctxt "Unknown author" +#~| msgid "Unknown" +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "Anaithnid" + +#, fuzzy +#~| msgid "%" +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr "%" + +#, fuzzy +#~| msgid "%" +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%" + +#, fuzzy +#~| msgid "Fit Width" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "Laghdaigh go leithead leathanaigh" + +#, fuzzy +#~| msgid "Fit Page" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "Laghdaigh go dtí an Leathanach" + +#~ msgid "*|All Files" +#~ msgstr "*|Gach Comhad" + +#, fuzzy +#~| msgid "Show scroll&bars" +#~ msgid "Show Sidebar" +#~ msgstr "Taispeáin scroll&bharraí" + +#, fuzzy +#~| msgid "Experimental" +#~ msgctxt "@title:window" +#~ msgid "Experimental feature" +#~ msgstr "Turgnamhach" + +#~ msgid "Form" +#~ msgstr "Foirm" + +#~ msgid "Remove Bookmarks" +#~ msgstr "Bain Leabharmharcanna" + +#, fuzzy +#~| msgid "Annotation" +#~| msgid_plural "%1 Annotations" +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "Anótáil" + +#, fuzzy +#~| msgid "Highlight" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "Aibhsigh" + +#, fuzzy +#~| msgid "Underline" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Underline" +#~ msgstr "Líne Faoi" + +#, fuzzy +#~| msgid "Insert" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "Ionsáigh" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "Nóta Inlíne" + +#, fuzzy +#~| msgid "&Open Pop-up Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "&Oscail Preabnóta" + +#, fuzzy +#~| msgid "Straight Yellow Line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Straight line" +#~ msgstr "Líne Dhíreach Bhuí" + +#, fuzzy +#~| msgid "Rectangle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Rectangle" +#~ msgstr "Dronuilleog" + +#, fuzzy +#~| msgid "Cyan Ellipse" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Ellipse" +#~ msgstr "Éilips Chian" + +#, fuzzy +#~| msgid "Blue Polygon" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Polygon" +#~ msgstr "Polagán Gorm" + +#, fuzzy +#~| msgid "Highlight" +#~ msgid "Highlight in Yellow" +#~ msgstr "Aibhsigh" + +#, fuzzy +#~| msgid "Highlight" +#~ msgid "Highlight in Green" +#~ msgstr "Aibhsigh" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgid "Insert Inline Note" +#~ msgstr "Nóta Inlíne" + +#, fuzzy +#~| msgid "&Open Pop-up Note" +#~ msgid "Insert Popup Note" +#~ msgstr "&Oscail Preabnóta" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "Roghnaigh téacs" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "Roghnaigh téacs" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "Roghnaigh téacs" + +#, fuzzy +#~| msgid "Annotation" +#~| msgid_plural "%1 Annotations" +#~ msgid "Bookmark annotation" +#~ msgstr "Anótáil" + +#, fuzzy +#~| msgid "Change &colors" +#~ msgid "&Toggle Change Colors" +#~ msgstr "Athraigh &dathanna" + +#, fuzzy +#~| msgid "Default transition:" +#~ msgctxt "@option:check Config dialog, presentation page, transitions" +#~ msgid "Enable transitions" +#~ msgstr "Trasdul réamhshocraithe:" + +#, fuzzy +#~| msgid "Advance every:" +#~ msgctxt "@label:spinbox Config dialog, presentation page" +#~ msgid "Advance every:" +#~ msgstr "Téigh ar aghaidh gach:" + +#, fuzzy +#~| msgid "Background color:" +#~ msgctxt "@label:listbox Config dialog, general page" +#~ msgid "Custom background color:" +#~ msgstr "Dath an chúlra:" + +#~ msgid "Identity" +#~ msgstr "Aitheantas" + +#, fuzzy +#~| msgid "&Author:" +#~ msgid "Au&thor:" +#~ msgstr "Úd&ar:" + +#~ msgid "View Options" +#~ msgstr "Roghanna Amhairc" + +#~ msgid "Navigation" +#~ msgstr "Nascleanúint" + +#~ msgid "Placement" +#~ msgstr "Láithriú" + +#~ msgid "&Get Books From Internet..." +#~ msgstr "Fai&gh Leabhair Ón Idirlíon..." + +#~ msgid "Reviews" +#~ msgstr "Anótálacha" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "@item:inlistbox Color name" +#~ msgid "%1" +#~ msgstr "%1:" + +#~ msgid "Hide Forms" +#~ msgstr "Folaigh Foirmeacha" + +# annotate is much better than "review" or "commentary" or "exegesis" or +# whatever here +#~ msgid "&Review" +#~ msgstr "&Anótáil" + +#~ msgid "Annotations author" +#~ msgstr "Údar na n-anótálacha" + +#~ msgid "Show &Navigation Panel" +#~ msgstr "Taispeáin an Painéal &Nascleanúna" + +#~ msgid "Show Text" +#~ msgstr "Taispeáin Téacs" + +#~ msgid "Small Icons" +#~ msgstr "Deilbhíní Beaga" + +#~ msgid "Large Icons" +#~ msgstr "Deilbhíní Móra" + +#, fuzzy +#~| msgid "" +#~| "Click to use the current selection tool\n" +#~| "Click and hold to choose another selection tool" +#~ msgid "" +#~ "Click to use the current selection tool\n" +#~ "Click on the arrow to choose another selection tool" +#~ msgstr "" +#~ "Cliceáil chun an uirlis reatha roghnúcháin a úsáid\n" +#~ "Cliceáil agus coinnigh síos chun uirlis roghnúchán eile a úsáid" + +#~ msgid "Created: %1" +#~ msgstr "Cruthaithe: %1" + +#~ msgid "Style" +#~ msgstr "Stíl" + +#~ msgid "&Size:" +#~ msgstr "&Méid:" + +#~ msgid "Name: %1" +#~ msgstr "Ainm: %1" + +#~ msgid "Size: %1" +#~ msgstr "Méid: %1" + +#~ msgid "&Browse Tool" +#~ msgstr "Uirlis &Bhrabhsála" + +#~ msgid "&Zoom Tool" +#~ msgstr "Uirlis &Súmála" + +# #-#-#-#-# kdelibs4.po (kdelibs4) #-#-#-#-# +# hopefully this will become view zoom, not just text zoom +# #-#-#-#-# kdvi.po (kdegraphics/kdvi.po) #-#-#-#-# +# #-#-#-#-# kdelibs4.po (kdelibs4) #-#-#-#-# +# hopefully this will become view zoom, not just text zoom +# #-#-#-#-# kxsconfig.po (kxsconfig) #-#-#-#-# +# hopefully this will become view zoom, not just text zoom +# #-#-#-#-# kxsconfig.po (kxsconfig) #-#-#-#-# +# hopefully this will become view zoom, not just text zoom +#~ msgctxt "Zoom Tool" +#~ msgid "Zoom" +#~ msgstr "Súmáil" + +#~ msgid "&Selection Tool" +#~ msgstr "Uirlis &Roghnaithe" + +#~ msgctxt "Select Tool" +#~ msgid "Selection" +#~ msgstr "Roghnú" + +#~ msgid "&Text Selection Tool" +#~ msgstr "Uirlis &Roghnaithe Téacs" + +#~ msgid "T&able Selection Tool" +#~ msgstr "Uirlis &Roghnaithe Tábla" + +#~ msgid "Allow the presentation mode" +#~ msgstr "Ceadaigh an mód láithreoireachta" + +#~ msgid "Do Not Allow" +#~ msgstr "Ná Ceadaigh" + +#~ msgid "Do not allow the presentation mode" +#~ msgstr "Ná ceadaigh an mód láithreoireachta" + +#~ msgid "Save &Copy As..." +#~ msgstr "Sábháil &Cóip Mar..." + +#~ msgid "" +#~ "End of document reached.\n" +#~ "Continue from the beginning?" +#~ msgstr "" +#~ "Tá deireadh na cáipéise sroichte.\n" +#~ "Lean ar aghaidh ón tús?" + +#~ msgid "" +#~ "Beginning of document reached.\n" +#~ "Continue from the bottom?" +#~ msgstr "" +#~ "Tá tús na cáipéise sroichte.\n" +#~ "Lean ar aghaidh ón deireadh?" + +#~ msgid "Current maintainer" +#~ msgstr "Cothaitheoir reatha" + +#~ msgid " sec." +#~ msgstr " s." + +#~ msgid "Starting Jovie Text-to-Speech service Failed: %1" +#~ msgstr "Theip ar thosú sheirbhís Téacs-go-Caint Jovie: %1" + +#~ msgid "Search Columns" +#~ msgstr "Cuardaigh Colúin" + +#~ msgid "All Visible Columns" +#~ msgstr "Gach Colún Infheicthe" + +#~ msgid "No matches found for '%1'." +#~ msgstr "Níor aimsíodh aon rud comhoiriúnach do '%1'." + +#~ msgid "Search in progress..." +#~ msgstr "Cuardach ar siúl..." + +#~ msgid "Searching for %1" +#~ msgstr "%1 á lorg" + +#~ msgid "Identity Settings" +#~ msgstr "Socruithe Aitheantais" + +#~ msgctxt "Annotation tool" +#~ msgid "Text Annotation" +#~ msgstr "Anótáil Téacs" + +#~ msgctxt "Annotation tool" +#~ msgid "Green Ink" +#~ msgstr "Dúch Uaine" + +#~ msgctxt "Annotation tool" +#~ msgid "Yellow Highlight" +#~ msgstr "Aibhsiú Buí" + +#~ msgctxt "Annotation tool" +#~ msgid "Straight Yellow Line" +#~ msgstr "Líne Dhíreach Bhuí" + +#~ msgid "Black Underlining" +#~ msgstr "Línte Faoi: Dubh" + +#~ msgctxt "Annotation tool" +#~ msgid "A cyan ellipse" +#~ msgstr "Éilips chian" + +#~ msgid "Ink" +#~ msgstr "Dúch" + +#~ msgid "Moves to the first page of the document" +#~ msgstr "Téigh go dtí an chéad leathanach sa cháipéis" + +#~ msgid "You must set this name:" +#~ msgstr "Ní mór duit an t-ainm seo a shocrú:" + +#~ msgctxt "%1 is \"Title\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#~ msgctxt "%1 is \"File Path\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#~ msgctxt "@action:button" +#~ msgid "&Overwrite" +#~ msgstr "&Forscríobh" + +#~ msgid "Pages:" +#~ msgstr "Leathanaigh:" + +#~ msgid "okular" +#~ msgstr "okular" + +#~ msgid "&Properties..." +#~ msgstr "&Airíonna..." + +#~ msgctxt "Annotation tool" +#~ msgid "Pink Ink" +#~ msgstr "Dúch Bándearg" + +#~ msgid "Pink Highlighter" +#~ msgstr "Peann Aibhsithe Bándearg" + +#~ msgid "&Advanced" +#~ msgstr "&Casta" + +#~ msgid "Contents:" +#~ msgstr "Ábhar:" + +#~ msgid "" +#~ "File Error! Could not create temporary file." +#~ msgstr "" +#~ "Earráid Chomhaid! Ní féidir comhad sealadach a " +#~ "chruthú." + +#~ msgid "okularpart" +#~ msgstr "okularpart" + +#~ msgid "Wilco Greven" +#~ msgstr "Wilco Greven" + +#~ msgid "Hide &Navigation Panel" +#~ msgstr "Folaigh an Painéal &Nascleanúna" + +#~ msgid "page %1" +#~ msgstr "leathanach %1" + +#~ msgid "DlgGeneral" +#~ msgstr "DlgGeneral" + +#~ msgid "Reading Aids" +#~ msgstr "Áiseanna Léimh" + +#~ msgid "Christophe Devriese" +#~ msgstr "Christophe Devriese" + +#~ msgid "Laurent Montel" +#~ msgstr "Laurent Montel" + +#~ msgid "&Watch file" +#~ msgstr "Coinnigh &súil ar chomhad" + +#~ msgid "Topic" +#~ msgstr "Topaic" + +#~ msgid "&Two Pages" +#~ msgstr "&Dhá Leathanach" + +#~ msgid "Security" +#~ msgstr "Slándáil" + +#~ msgid "Optimized" +#~ msgstr "Optamaithe" + +#~ msgid "Unknown Encryption" +#~ msgstr "Scéim Anaithnid Criptiúcháin" + +#~ msgid "Unknown Optimization" +#~ msgstr "Optamúchán Anaithnid" + +#~ msgid "unknown" +#~ msgstr "anaithnid" + +#~ msgid "-" +#~ msgstr "-" + +#~ msgid "KPDF::Part" +#~ msgstr "KPDF::Páirt" + +#~ msgid "Text found: \"%1\"." +#~ msgstr "Aimsíodh téacs: \"%1\"." + +#~ msgid "Text not found: \"%1\"." +#~ msgstr "Téacs gan aimsiú: \"%1\"." + +#~ msgctxt "PDF v. " +#~ msgid "PDF v. %1" +#~ msgstr "PDF leagan %1" + +#~ msgid "Xpdf author" +#~ msgstr "Údar Xpdf" diff --git a/po/ga/okular_comicbook.po b/po/ga/okular_comicbook.po new file mode 100644 index 0000000..bef083c --- /dev/null +++ b/po/ga/okular_comicbook.po @@ -0,0 +1,58 @@ +# Irish translation of okular_comicbook +# Copyright (C) 2009 This_file_is_part_of_KDE +# This file is distributed under the same license as the okular_comicbook package. +# Kevin Scannell , 2009. +msgid "" +msgstr "" +"Project-Id-Version: kdegraphics/okular_comicbook.po\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-03-22 08:52-0500\n" +"Last-Translator: Kevin Scannell \n" +"Language-Team: Irish \n" +"Language: ga\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n < 11 ? " +"3 : 4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Kevin Scannell" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kscanne@gmail.com" + +#: document.cpp:97 +#, fuzzy, kde-format +#| msgid "Cannot open document, unrar was not found." +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "Ní féidir an cháipéis a oscailt, 'unrar' gan aimsiú." + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "" +"Níl an leagan de 'unrar' atá agat oiriúnach do leabhair ghrafacha a oscailt." + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "Formáid anaithnid ComicBook." + +#~ msgid "ComicBook Backend" +#~ msgstr "Inneall ComicBook" + +#~ msgid "A renderer for various comic book formats" +#~ msgstr "Ríomhchlár a rindreálann formáidí éagsúla de leabhair ghrafacha" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/ga/okular_djvu.po b/po/ga/okular_djvu.po new file mode 100644 index 0000000..672743a --- /dev/null +++ b/po/ga/okular_djvu.po @@ -0,0 +1,148 @@ +# Irish translation of okular_djvu +# Copyright (C) 2009 This_file_is_part_of_KDE +# This file is distributed under the same license as the okular_djvu package. +# Kevin Scannell , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_djvu\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2007-04-15 19:05-0500\n" +"Last-Translator: Kevin Scannell \n" +"Language-Team: Irish \n" +"Language: ga\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n < 11 ? " +"3 : 4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Kevin Scannell" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kscanne@gmail.com" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "Eagarthóir" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "Foilsitheoir" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "Imleabhar" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "Cineál na cáipéise" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "Anaithnid" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "Comhaid Chomhpháirte" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "Anaithnid" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "Leathanach Aonair" + +# FRTF: bundled software bogearraí mpl cuachta +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "Cuachta" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "Indíreach" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "Cuachta (sean)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "Innéacsaithe (sean)" + +#~ msgid "DjVu Backend" +#~ msgstr "Inneall DjVu" + +#~ msgid "DjVu backend based on DjVuLibre." +#~ msgstr "Inneall DjVu bunaithe ar DjVuLibre." + +#~ msgid "© 2006-2008 Pino Toscano" +#~ msgstr "© 2006-2008 Pino Toscano" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgctxt "Unknown title" +#~ msgid "Unknown" +#~ msgstr "Anaithnid" + +#~ msgctxt "Unknown author" +#~ msgid "Unknown" +#~ msgstr "Anaithnid" + +#~ msgctxt "Unknown editor" +#~ msgid "Unknown" +#~ msgstr "Anaithnid" + +#~ msgctxt "Unknown publisher" +#~ msgid "Unknown" +#~ msgstr "Anaithnid" + +#~ msgctxt "Unknown creation date" +#~ msgid "Unknown" +#~ msgstr "Anaithnid" + +#~ msgctxt "Unknown volume information" +#~ msgid "Unknown" +#~ msgstr "Anaithnid" + +#~ msgctxt "Unknown type of document" +#~ msgid "Unknown" +#~ msgstr "Anaithnid" + +#~ msgid "A DjVu backend" +#~ msgstr "Inneall DjVu" + +#~ msgid "Title" +#~ msgstr "Teideal" + +#~ msgid "Author" +#~ msgstr "Údar" + +#~ msgid "Year" +#~ msgstr "Bliain" diff --git a/po/ga/okular_dvi.po b/po/ga/okular_dvi.po new file mode 100644 index 0000000..1a4b2da --- /dev/null +++ b/po/ga/okular_dvi.po @@ -0,0 +1,566 @@ +# Irish translation of okular_dvi +# Copyright (C) 2009 This_file_is_part_of_KDE +# This file is distributed under the same license as the okular_dvi package. +# Kevin Scannell , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_dvi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2007-04-15 19:05-0500\n" +"Last-Translator: Kevin Scannell \n" +"Language-Team: Irish \n" +"Language: ga\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n < 11 ? " +"3 : 4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Kevin Scannell" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kscanne@gmail.com" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

" +msgstr "" + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

" +msgstr "" + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "" + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "" + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "" + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "" + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "" + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

PATH: %2

" +msgstr "" + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

%2

" +msgstr "" + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, fuzzy, kde-format +#| msgid "" +#| "File not found: \n" +#| " %1" +msgid "File corruption. %1" +msgstr "" +"Comhad gan aimsiú: \n" +" %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "" + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "" + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "" + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "" + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "" + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "" + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "" + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "" + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "" + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "%1 á leabú" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
" +msgstr "" + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
" +msgstr "" + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "" + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

PATH: %1

%2

" +msgstr "" + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

PATH: %1

%2

" +msgstr "" + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" + +#: fontpool.cpp:482 +#, kde-format +msgid "Currently generating %1 at %2 dpi…" +msgstr "" + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "Gineadóir/Dáta" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "Comhad cló gan aimsiú" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "portráid" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "tírdhreach" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "" + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"Comhad gan aimsiú: \n" +" %1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "" + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "" + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "" + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "" + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "Is folamh í glif #%1." + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "" + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "" + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "Ní féidir comhad cló %1 a oscailt." + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "%1 gan choinne i gcomhad PK %2" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "Droch-chomhad pk (%1), an iomarca giotáin" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "" + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "Ní féidir cló %1, comhad %2 a aimsiú." + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"Earráid mharfach.\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "" + +#~ msgid "Abort" +#~ msgstr "Tobscoir" + +#~ msgid "%v of %m" +#~ msgstr "%v as %m" + +#~ msgid "Please be patient" +#~ msgstr "Fan go fóill, le do thoil..." + +#~ msgid "*.pdf|Portable Document Format (*.pdf)" +#~ msgstr "*.pdf|Formáid Doiciméad Iniompartha (*.pdf)" + +#~ msgid "Export File As" +#~ msgstr "Easpórtáil Comhad Mar" + +#~ msgid "Overwrite File" +#~ msgstr "Forscríobh Comhad" + +#~ msgid "Overwrite" +#~ msgstr "Forscríobh" + +#~ msgid "Using dvipdfm to export the file to PDF" +#~ msgstr "Ag úsáid dvipdfm chun an comhad a easpórtáil go PDF" + +#~ msgid "Waiting for dvipdfm to finish..." +#~ msgstr "Ag feitheamh le dvipdfm..." + +#~ msgid "*.ps|PostScript (*.ps)" +#~ msgstr "*.ps|PostScript (*.ps)" + +#~ msgid "Using dvips to export the file to PostScript" +#~ msgstr "Ag úsáid dvips chun an comhad a easpórtáil go PostScript" + +#~ msgid "Waiting for dvips to finish..." +#~ msgstr "Ag feitheamh le dvips..." + +#~ msgid "Not All Font Files Found" +#~ msgstr "Níorbh fhéidir gach cló a aimsiú" + +#~ msgid "Locating fonts..." +#~ msgstr "Clónna á lorg..." + +#~ msgid "Export: %1 to PDF" +#~ msgstr "Easpórtáil: %1 go PDF" + +#~ msgid "Export: %1 to PostScript" +#~ msgstr "Easpórtáil: %1 go PostScript" + +#~ msgid "TeX Name" +#~ msgstr "Ainm TeX" + +#~ msgid "Zoom" +#~ msgstr "Súmáil" + +#~ msgid "Type" +#~ msgstr "Cineál" + +#~ msgid "Encoding" +#~ msgstr "Ionchódú" + +#~ msgid "Comment" +#~ msgstr "Nóta" + +#~ msgid "FreeType" +#~ msgstr "FreeType" + +#~ msgid "Could not load the DVI-file." +#~ msgstr "Ní féidir an comhad DVI a luchtú." + +#~ msgid " in font file " +#~ msgstr " i gcomhad cló " + +#~ msgid "Virtual character " +#~ msgstr "Carachtar fíorúil " + +#~ msgid " in font " +#~ msgstr " i gcló " + +#~ msgid " ignored." +#~ msgstr ": rinneadh neamhshuim air." + +#~ msgid "Fatal Error" +#~ msgstr "Earráid Mharfach" + +#~ msgid "KDVI: Information" +#~ msgstr "KDVI: Eolas" + +#~ msgid "Do not show this message again" +#~ msgstr "Ná taispeáin an teachtaireacht seo arís" + +#~ msgid "File Error" +#~ msgstr "Earráid Chomhaid" + +#~ msgid "Pages" +#~ msgstr "Leathanaigh" diff --git a/po/ga/okular_epub.po b/po/ga/okular_epub.po new file mode 100644 index 0000000..8fcb67d --- /dev/null +++ b/po/ga/okular_epub.po @@ -0,0 +1,56 @@ +# Irish translation of okular_epub +# Copyright (C) 2009 This_file_is_part_of_KDE +# This file is distributed under the same license as the okular_epub package. +# Kevin Scannell , 2009. +msgid "" +msgstr "" +"Project-Id-Version: kdereview/okular_epub.po\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-03-22 08:52-0500\n" +"Last-Translator: Kevin Scannell \n" +"Language-Team: Irish \n" +"Language: ga\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n < 11 ? " +"3 : 4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Kevin Scannell" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kscanne@gmail.com" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "Earráid agus an cháipéis EPub á hoscailt." + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "" + +#: generator_epub.cpp:30 +#, fuzzy, kde-format +#| msgid "EPub Backend" +msgid "EPub Backend Configuration" +msgstr "Inneall EPub" + +#~ msgid "EPub Backend" +#~ msgstr "Inneall EPub" + +#~ msgid "An EPub backend" +#~ msgstr "Inneall EPub" + +#~ msgid "© 2008 Ely Levy" +#~ msgstr "© 2008 Ely Levy" + +#~ msgid "Ely Levy" +#~ msgstr "Ely Levy" diff --git a/po/ga/okular_fax.po b/po/ga/okular_fax.po new file mode 100644 index 0000000..cba3356 --- /dev/null +++ b/po/ga/okular_fax.po @@ -0,0 +1,45 @@ +# Irish translation of okular_fax +# Copyright (C) 2009 This_file_is_part_of_KDE +# This file is distributed under the same license as the okular_fax package. +# Kevin Scannell , 2009. +msgid "" +msgstr "" +"Project-Id-Version: kdegraphics/okular_fax.po\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-01-20 10:11-0500\n" +"Last-Translator: Kevin Scannell \n" +"Language-Team: Irish \n" +"Language: ga\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n < 11 ? " +"3 : 4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Kevin Scannell" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kscanne@gmail.com" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "Ní féidir an cháipéis a luchtú" + +#~ msgid "Fax Backend" +#~ msgstr "Inneall Facs" + +#~ msgid "A G3/G4 fax document backend" +#~ msgstr "Inneall cáipéisí facs G3/G4" + +#~ msgid "© 2008 Tobias Koenig" +#~ msgstr "© 2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/ga/okular_fictionbook.po b/po/ga/okular_fictionbook.po new file mode 100644 index 0000000..fa19035 --- /dev/null +++ b/po/ga/okular_fictionbook.po @@ -0,0 +1,97 @@ +# Irish translation of okular_fictionbook +# Copyright (C) 2009 This_file_is_part_of_KDE +# This file is distributed under the same license as the okular_fictionbook package. +# Kevin Scannell , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_fictionbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2007-04-15 19:05-0500\n" +"Last-Translator: Kevin Scannell \n" +"Language-Team: Irish \n" +"Language: ga\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n < 11 ? " +"3 : 4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Kevin Scannell" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kscanne@gmail.com" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "Ní comhad bailí FictionBook é seo" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "Ní féidir an cháipéis a oscailt: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "Ní cartlann bhailí ZIP é seo" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "Struchtúr neamhbhailí cáipéise (príomhchomhadlann ar iarraidh)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "Níor aimsíodh inneachar ar bith sa cháipéis" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "Cáipéis neamhbhailí XML: %1" + +#: generator_fb.cpp:26 +#, fuzzy, kde-format +#| msgid "Fiction Book Backend" +msgid "FictionBook" +msgstr "Inneall FictionBook" + +#: generator_fb.cpp:26 +#, fuzzy, kde-format +#| msgid "Fiction Book Backend" +msgid "FictionBook Backend Configuration" +msgstr "Inneall FictionBook" + +#~ msgid "Fiction Book Backend" +#~ msgstr "Inneall FictionBook" + +#~ msgid "A renderer for FictionBook eBooks" +#~ msgstr "Rindreálaí r-leabhair FictionBook" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" + +#~ msgid "Creator" +#~ msgstr "Cruthaitheoir" + +#~ msgid "Title" +#~ msgstr "Teideal" + +#~ msgid "Author" +#~ msgstr "Údar" + +#~ msgid "Producer" +#~ msgstr "Táirgeoir" + +#~ msgid "Created" +#~ msgstr "Cruthaithe" diff --git a/po/ga/okular_ghostview.po b/po/ga/okular_ghostview.po new file mode 100644 index 0000000..def1d3c --- /dev/null +++ b/po/ga/okular_ghostview.po @@ -0,0 +1,119 @@ +# Irish translation of okular_ghostview +# Copyright (C) 2009 This_file_is_part_of_KDE +# This file is distributed under the same license as the okular_ghostview package. +# Kevin Scannell , 2009. +msgid "" +msgstr "" +"Project-Id-Version: kdegraphics/okular_ghostview.po\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2007-06-27 10:27-0500\n" +"Last-Translator: Kevin Scannell \n" +"Language-Team: Irish \n" +"Language: ga\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n < 11 ? " +"3 : 4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Kevin Scannell" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kscanne@gmail.com" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "Úsáid Clónna an Chórais" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"An bhfuil cead ag Ghostscript clónna an chórais a úsáid? Mura bhfuil, ní " +"úsáidfear ach na clónna atá leabaithe sa cháipéis." + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "Socruithe Ginearálta" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "Ú&sáid clónna an chórais" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Cumraíocht Innill Ghostscript" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "Leagan na cáipéise" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "Leibhéal Teanga" + +#~ msgid "PS Backend" +#~ msgstr "Inneall PostScript" + +#~ msgid "A PostScript file renderer." +#~ msgstr "Rindreálaí comhad PostScript." + +#~ msgid "© 2007-2008 Albert Astals Cid" +#~ msgstr "© 2007-2008 Albert Astals Cid" + +#~ msgid "Based on the Spectre library." +#~ msgstr "Bunaithe ar an leabharlann Spectre." + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "" +#~ "Anti-aliasing makes the result look better, but it makes the display take " +#~ "longer" +#~ msgstr "" +#~ "Feabhsaíonn frithailiasáil cuma na dtorthaí, ach tógfaidh an taispeáint " +#~ "seal níos faide" + +#~ msgid "&Enable anti-aliasing of fonts" +#~ msgstr "&Cumasaigh frithailiasáil de chlónna" + +#~ msgid "&Enable anti-aliasing of graphics" +#~ msgstr "&Cumasaigh frithailiasáil d'íomhánna" + +#~ msgid "" +#~ "Ghostscript is the basic renderer (the program which draws the " +#~ "picture)
\n" +#~ "In case of problems you might want to see its error messages" +#~ msgstr "" +#~ "Is é Ghostscript an bunchlár rindreála (an clár a tharraingíonn an " +#~ "pictiúr)
\n" +#~ "Má tá fadhbanna ann, ba chóir duit na hearráidí ó Ghostscript a scrúdú" + +#~ msgid "&Show Ghostscript messages in a separate box" +#~ msgstr "Tai&speáin teachtaireachtaí Ghostscript i mbosca faoi leith" + +#~ msgid "Ghostscript Configuration" +#~ msgstr "Cumraíocht Ghostscript" diff --git a/po/ga/okular_kimgio.po b/po/ga/okular_kimgio.po new file mode 100644 index 0000000..c149edd --- /dev/null +++ b/po/ga/okular_kimgio.po @@ -0,0 +1,67 @@ +# Irish translation of okular_kimgio +# Copyright (C) 2009 This_file_is_part_of_KDE +# This file is distributed under the same license as the okular_kimgio package. +# Kevin Scannell , 2009. +msgid "" +msgstr "" +"Project-Id-Version: kdegraphics/okular_kimgio.po\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2007-06-27 10:27-0500\n" +"Last-Translator: Kevin Scannell \n" +"Language-Team: Irish \n" +"Language: ga\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n < 11 ? " +"3 : 4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Kevin Scannell" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kscanne@gmail.com" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "Ní féidir an cháipéis a luchtú: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" + +#~ msgid "Image Backend" +#~ msgstr "Inneall Íomhá" + +#~ msgid "A simple image backend" +#~ msgstr "Inneall simplí íomhá" + +#~ msgid "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" +#~ msgstr "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" + +#~ msgid "Main Toolbar" +#~ msgstr "Príomhbharra Uirlisí" diff --git a/po/ga/okular_mobi.po b/po/ga/okular_mobi.po new file mode 100644 index 0000000..8517c77 --- /dev/null +++ b/po/ga/okular_mobi.po @@ -0,0 +1,65 @@ +# Irish translation of okular_mobi +# Copyright (C) 2009 This_file_is_part_of_KDE +# This file is distributed under the same license as the okular_mobi package. +# Kevin Scannell , 2009. +msgid "" +msgstr "" +"Project-Id-Version: playground-graphics/okular_mobi.po\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-01-20 10:11-0500\n" +"Last-Translator: Kevin Scannell \n" +"Language-Team: Irish \n" +"Language: ga\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n < 11 ? " +"3 : 4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Kevin Scannell" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kscanne@gmail.com" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Earráid agus cáipéis Mobipocket á hoscailt." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "" +"Tá an leabhar seo faoi chosaint ag DRM agus ní féidir é a thaispeáint ach ar " +"ghléas ceadaithe" + +#: generator_mobi.cpp:25 +#, fuzzy, kde-format +#| msgid "Mobipocket Backend" +msgid "Mobipocket" +msgstr "Inneall Mobipocket" + +#: generator_mobi.cpp:25 +#, fuzzy, kde-format +#| msgid "Mobipocket Backend" +msgid "Mobipocket Backend Configuration" +msgstr "Inneall Mobipocket" + +#~ msgid "Mobipocket Backend" +#~ msgstr "Inneall Mobipocket" + +#~ msgid "A mobipocket backend" +#~ msgstr "Inneall mobipocket" + +#~ msgid "© 2008-2009 Jakub Stachowski" +#~ msgstr "© 2008-2009 Jakub Stachowski" + +#~ msgid "Jakub Stachowski" +#~ msgstr "Jakub Stachowski" diff --git a/po/ga/okular_poppler.po b/po/ga/okular_poppler.po new file mode 100644 index 0000000..edd78a7 --- /dev/null +++ b/po/ga/okular_poppler.po @@ -0,0 +1,444 @@ +# Irish translation of okular_poppler +# Copyright (C) 2009 This_file_is_part_of_KDE +# This file is distributed under the same license as the okular_poppler package. +# Kevin Scannell , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_poppler\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2007-04-15 19:05-0500\n" +"Last-Translator: Kevin Scannell \n" +"Language-Team: Irish \n" +"Language: ga\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n < 11 ? " +"3 : 4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Kevin Scannell" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kscanne@gmail.com" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "" + +# boolean: optimized? +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "Níl" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "Roghanna PDF" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "Prionáil anótálacha" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "Cuir anótálacha san áireamh sa cháipéis phriontáilte" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"Cuir anótálacha san áireamh sa cháipéis phriontáilte. Díchumasaigh an rogha " +"seo más mian leat an bhuncháipéis gan anótálacha a phriontáil." + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "Fórsáil rastarú" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "Rastaraigh roimh phriontáil" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"Tiontaigh gach leathanach go híomhá rastair sula bpriontálfar é. Go hiondúil " +"tugann sé seo torthaí beagán níos measa, ach tá sé áisiúil nuair nach " +"bpriontálann an cháipéis mar is ceart." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF leagan %1.%2" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "Formáid" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "Criptithe" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "Gan Criptiú" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "Slándáil" + +# boolean: optimized? +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "Tá" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "Optamaithe" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "" + +#: generator_pdf.cpp:1758 +#, fuzzy, kde-format +#| msgid "PDF Backend" +msgid "PDF Backend Configuration" +msgstr "Inneall PDF" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "" + +#: pdfsignatureutils.cpp:239 +#, fuzzy, kde-format +#| msgid "Document Password" +msgid "Enter Password" +msgstr "Focal Faire na Cáipéise" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "" + +#~ msgid "PDF Backend" +#~ msgstr "Inneall PDF" + +#~ msgid "A PDF file renderer" +#~ msgstr "Rindreálaí comhad PDF" + +#~ msgid "© 2005-2008 Albert Astals Cid" +#~ msgstr "© 2005-2008 Albert Astals Cid" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Saving files with /Encrypt is not supported." +#~ msgstr "Ní féidir comhaid a shábháil le /Encrypt." + +#~ msgid "Unknown" +#~ msgstr "Anaithnid" + +#~ msgid "Unknown Date" +#~ msgstr "Dáta Anaithnid" + +#~ msgid "Unknown Encryption" +#~ msgstr "Scéim Anaithnid Criptiúcháin" + +#~ msgid "Unknown Optimization" +#~ msgstr "Optamúchán Anaithnid" + +#~ msgid "Please enter the password to read the document:" +#~ msgstr "Iontráil an focal faire chun an cháipéis a léamh:" + +#~ msgid "Incorrect password. Try again:" +#~ msgstr "Focal faire mícheart. Triail arís é:" + +#~ msgid "unknown" +#~ msgstr "anaithnid" + +#~ msgid "Type 1" +#~ msgstr "Cineál 1" + +#~ msgid "Type 3" +#~ msgstr "Cineál 3" + +#~ msgid "Title" +#~ msgstr "Teideal" + +#~ msgid "Subject" +#~ msgstr "Ábhar" + +#~ msgid "Author" +#~ msgstr "Údar" + +#~ msgid "Keywords" +#~ msgstr "Lorgfhocail" + +#~ msgid "Creator" +#~ msgstr "Cruthaitheoir" + +#~ msgid "Producer" +#~ msgstr "Táirgeoir" + +#~ msgid "Created" +#~ msgstr "Cruthaithe" + +#~ msgid "Modified" +#~ msgstr "Athraithe" + +#~ msgid "Pages" +#~ msgstr "Leathanaigh" diff --git a/po/ga/okular_xps.po b/po/ga/okular_xps.po new file mode 100644 index 0000000..8df0d68 --- /dev/null +++ b/po/ga/okular_xps.po @@ -0,0 +1,83 @@ +# Irish translation of okular_xps +# Copyright (C) 2009 This_file_is_part_of_KDE +# This file is distributed under the same license as the okular_xps package. +# Kevin Scannell , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_xps\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2007-04-15 19:05-0500\n" +"Last-Translator: Kevin Scannell \n" +"Language-Team: Irish \n" +"Language: ga\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n < 11 ? " +"3 : 4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Kevin Scannell" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kscanne@gmail.com" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "Leasú" + +#~ msgid "XPS Backend" +#~ msgstr "Inneall XPS" + +#~ msgid "An XPS backend" +#~ msgstr "Inneall XPS" + +#~ msgid "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" +#~ msgstr "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement© 2008 Pino Toscano" + +#~ msgid "Brad Hards" +#~ msgstr "Brad Hards" + +#~ msgid "Jiri Klement" +#~ msgstr "Jiri Klement" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgid "Title" +#~ msgstr "Teideal" + +#~ msgid "Subject" +#~ msgstr "Ábhar" + +#~ msgid "Description" +#~ msgstr "Cur Síos" + +#~ msgid "Author" +#~ msgstr "Údar" + +#~ msgid "Category" +#~ msgstr "Catagóir" + +#~ msgid "Created" +#~ msgstr "Cruthaithe" + +#~ msgid "Modified" +#~ msgstr "Athraithe" + +#~ msgid "Keywords" +#~ msgstr "Lorgfhocail" + +#~ msgid "Pages" +#~ msgstr "Leathanaigh" diff --git a/po/ga/org.kde.active.documentviewer.po b/po/ga/org.kde.active.documentviewer.po new file mode 100644 index 0000000..2c59b7c --- /dev/null +++ b/po/ga/org.kde.active.documentviewer.po @@ -0,0 +1,219 @@ +# Irish translation of org.kde.active.documentviewer +# Copyright (C) 2012 This_file_is_part_of_KDE +# This file is distributed under the same license as the org.kde.active.documentviewer package. +# Kevin Scannell , 2012. +msgid "" +msgstr "" +"Project-Id-Version: org.kde.active.documentviewer\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2012-11-29 14:59-0500\n" +"Last-Translator: Kevin Scannell \n" +"Language-Team: Irish \n" +"Language: ga\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n < 11 ? " +"3 : 4\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "Leabharmharcanna" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +msgid "Export…" +msgstr "" + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "" + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "" + +#: ui/Main.qml:49 +msgid "About" +msgstr "" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "" + +#: ui/MainView.qml:29 +#, fuzzy +#| msgid "Bookmarks" +msgid "Bookmark this page" +msgstr "Leabharmharcanna" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "Mionsamhlacha" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "Clár ábhair" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:96 +msgid "Document Version" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:108 +msgid "Save Signed Version…" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +msgid "View Certificate…" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "" + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "Níor aimsíodh aon rud." + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "" + +#: ui/WelcomeView.qml:108 +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "" + +#~ msgid "Reader" +#~ msgstr "Léitheoir" + +#~ msgid "Copyright 2012 Marco Martin" +#~ msgstr "© 2012 Marco Martin" + +#~ msgid "Marco Martin" +#~ msgstr "Marco Martin" + +#~ msgid "URL of the file to open" +#~ msgstr "URL an chomhaid le hoscailt" diff --git a/po/gl/docs/okular/index.docbook b/po/gl/docs/okular/index.docbook new file mode 100644 index 0000000..a4921c5 --- /dev/null +++ b/po/gl/docs/okular/index.docbook @@ -0,0 +1,2107 @@ + + + + KPDF"> + PDF"> + + +]> + + + + Manual do &okular; + + Albert Astals Cid
aacid@kde.org
+
+
+ Pino Toscano
pino@kde.org
+
+
+ XoséCalvo
Tradutor do proxecto Trasno
+
+ &FDLNotice; + 2009-05-22 + 0.9 + + + O &okular; é un visor universal de documentos para o &kde; baseado no código do &kpdf;. + + + KDE + okular + pdf + ps + postscript + tiff + djvu + dvi + chm + xps + comicbook + fictionbook + mobipocket + plucker + annotation + +
+ + Introdución + O &okular; é un visor universal de documentos parao &kde; baseado no código da aplicación &kpdf;. Apesar de se basear no código do &kpdf;, o &okular; ten certas características únicas, como o modo XXX, XXX e que permite anotación. + + + + Uso básico + + Abrir ficheiros + To view any supported file in &okular;, select FileOpen... , choose a supported file in the dialog and click Open. Your file should now be displayed in the main window. + Se xa se teñen aberto ficheiros no &okular;, pódese chegar rápido a eles seleccionándoos no menú FicheiroAbir recente. + Despois de abrir un ficheiro, o máis seguro e que o queira ler e, polo tanto, navegar por el. Vaia á vindeira sección para aprender máis sobre isto. + + + Navegación + Esta sección describe como se pode navegar por un documento no &okular;. + + Existen varias maneiras de se desprazar pola área de visualización. Unha é empregar as teclas Frecha para riba e Frecha para baixo. Tamén se pode empregar a barra de desprazamento, a rodiña do rato ou as teclas Retroceder páxina e Avanzar páxina. + Outra maneira é manter premido o &LMB; en calquera sitio do documento ao tempo que se arrastra o rato en sentido oposto ao que se quere mover. Este procedemento só funciona se a ferramenta Navegación está activada, o que se pode facer escollendo FerramentasFerramenta Navegación. + O panel de navegación da parte esquerda da pantalla permite dúas maneiras máis de navegar por un documento: + + + Cando se preme a miniatura dunha páxina, a área de visualización pasa para esa páxina. + + + If the document has a table of contents, clicking on a table of contents item will bring the document to the page linked to that item. + + + Some documents have links. In this case you can click on them and the view will change to the page it links to. If the link is to a web page or some other document the default &kde; handler for that format will be invoked. For example, clicking on a link pointing to http://www.kde.org will open the web page in the default &kde;'s web browser. + Alén disto, pódese empregar a funcionalidade seguinte para se mover rapidamente a lugares específicos do documento: + + + You can go to the first page of the document using &Ctrl;Home or using Go First Page . + + + You can go to the last page of the document using &Ctrl;End or using Go Last Page . + + + You can go forward in the document using Space or Page Down. To go to the next page of the document use the Next Page Toolbar button or Go Next Page in the menubar. + + + You can go back in the document using &Backspace; or Page Up. To go to the previous page of the document use Previous Page Toolbar button or Go Previous Page in the menubar. + + + + + Modo de presentación + O modo de presentación representa outra maneira de ver os documentos no &okular;. Pódese activar en VistaPresentación. Mostra o documento páxina tras páxina. As páxinas móstranse ocupando toda a páxina, quérese dicir que é visíbel toda a páxina. + + Os documentos &PDF; poden mesmo especificar que se abran sempre no modo de presentación. + + No modo de presentación pode haber unha barra de axuda situada na parte superior da pantalla. Só hai que mover o cursor para a parte superior da pantalla para que apareza. + Para se desprazar estre as páxinas pódense empregar o &LMB; (páxina seguinte ) e o &RMB; (páxina anterior), a rodiña do rato, as iconas das frechas ou a liña de edición da barra superior ou as teclas que se especifican na sección Navegación. + You can exit presentation mode at any time by pressing the &Esc; key or clicking the Quit icon in the top bar. + You can also draw on the current page with a pencil. Click on the Toggle Drawing Mode icon in the top bar to enable or disable the possibility of draw in the presentation mode. The drawings are cleared automatically when switching to another page, or manually selecting the Erase Drawings icon in the top bar. + O modo de presentación permite máis de unha pantalla nunha configuración con varios monitores. Con máis de unha pantalla aparece un botón novo da barra superior coa icona dunha pantalla: esta é unha caixiña que permite mover a presentación para calquera das outras pantallas disponíbeis. + O modo de presentación ten algunhas opcións de configuración, cuxa descrición se pode atopar no capítulo Configuración do &okular;. + + + + + Características avanzadas do &okular; + + Ficheiros embebidos + Se o documento actual ten ficheiros embebidos dentro, cando se tente abrir aparece unha barra amarela por riba da visualización da páxina para notificar sobre os ficheiros incrustados. + + A barra de ficheiros incrustrados + + + + + + A barra de ficheiros incrustrados + + + + Neste caso, pódese premer a ligazón do texto da barra ou escoller FicheiroFicheiros incrustrados para abrir o diálogo de ficheiros incrustados. O diálogo permite ver e extraer os ficheiros incrustrados. + + + Anotacións + &okular; allows you to review and annotate your documents. Annotations created in &okular; are automatically saved in the internal local data folder for each user. &okular; does not implicitly change any document it opens. + Since &kde; 4.2, &okular; has the "document archiving" feature. This is an &okular;-specific format for carrying the document plus various metadata related to it (currently only annotations). You can save a "document archive" from the open document by choosing FileExport AsDocument Archive. To open an &okular; document archive, just open it with &okular; as it would be ⪚ a &PDF; document. + + Debido a limitacións de DRM (tipicamente cos documentos &PDF;), non vai ser posíbel engadir, modificar algunhas propiedades ou eliminar anotacións. + + + Engadir anotacións + Para engadir anotacións ao documento hai que activar a barra de ferramentas de anotacións. Isto faise seleccionando FerramentasRevisar ou premendo F6. Cando apareza a barra de ferramentas de anotacións abonda con premer un dos botóns para comezar a construir esa anotación. + + A barra de ferramentas de anotacións pódese ancorar en calquer lateral da área de visualización: simplemente arrástrea para movela para outro lugar. + + + Activating the annotating toolbar will make you switch to the Normal Mode. + + You can stop the construction any time by pressing again on the button of the annotation you are constructing, or by pressing the &Esc; key. + A nova anotación construída ten como autor o autor que se designe na páxina Identidade do diálogo de &okular;configuración do . + + + Eliminación das anotacións + Para eliminar unha anotación abonda con premela co &RMB; e seleccionar Borrar. + Cando se elimina unha anotación féchase a súa xanela, se estaba aberta. + + Esta opción non se puido activar porque o documento non permite eliminar as anotacións. + + + + Modificación das anotacións + To edit an annotation, click on it with the &RMB; and select Properties. A dialog will appear with the general annotation settings (like color and opacity, author, &etc;) and the settings specific to that annotation type. + Para mover unha anotación, manteña premida a tecla &Ctrl;, mova o punteiro do rato sobre ela e comece a arrastrala co &LMB;. + + Dependendo dos permisos do documento (tipicamente cos documentos &PDF;), algunhas opcións poden estar desactivadas. + + + + + + + A barra de menú + + + The <guimenu +>File</guimenu +> Menu + + + + &Ctrl;O Ficheiro Abrir... + + + Open a supported file or &okular; archive. If there is already an opened file it will be closed. For more information, see the section about Opening Files. + + + + + + Ficheiro Abrir un recente + + + Abrir, mediante un submenú, un ficheiro que xa se usara . Se nese momento se está a mostrar un ficheiro, este féchase. Para máis información consulte a sección sobre como abrir ficheiros. + + + + + + File Import PostScript as &PDF;... + + + Abrir un ficheiro PostScript e convertelo en &PDF;. + + + + + + Ficheiro Gardar como... + + + Gravar o ficheiro aberto cun nome diferente empregando o proceso de fondo para ese documento. Co proceso de fondo dos &PDF; (requírese Popler +>=0.8), é posíbel gravar o documento cos valores modificados dos campos dos formularios. + + + + + + Ficheiro Gardar unha copia como... + + + Save a copy of the currently open file under a different name without using the current document backend. + + + + + + F5 Ficheiro Cargar de novo + + + Volver a cargar o ficheiro que está aberto. + + + + + + &Ctrl;P Ficheiro Imprimir... + + + Imprimir o documento que se está a mostrar. + + + + + + Ficheiro Antever o impreso... + + + Mostrar unha previsualización de como se imprimiría o documento actual coas opcións predeterminadas. + + + + + + Ficheiro Propiedades + + + Mostrar información básica acerca do documento, como o título, o autor, a data de creación e detalles acerca dos tipos de letra empregados. A información disponíbel depende do tipo de documento. + + + + + Ficheiro Ficheiros incrustrados... + + + Mostrar os ficheiros incrustrados no documento, se tiver algún. Para máis información consulte a sección sobre os ficheiros incrustados. + + + + + + Ficheiro Exportar como + + + O elemento contén os formatos de exportación aos que se pode exportar o documento. A primeira entrada para todos os tipos de documentos é sempre Texto simple... + The second entry is Document Archive, which allows you to save the document with your annotations into an &okular;-specific archive format. Thus it is easily possible to share the original document and your annotations with other &okular; users or work with them collaboratively. + + + + + + &Ctrl;Q Ficheiro Sair + + + Fechar o &okular; + + + + + + + The <guimenu +>Edit</guimenu +> Menu + + + + &Ctrl;C Editar Copiar + + + Copiar para o portarretallos o texto seleccionado no modo Selección de texto. + + + + + + + + &Ctrl;A Editar Seleccionar todo + + + Selecciona todo o texto (se o documento tiver). Isto só funciona no mdoo Selección de texto. + + + + + + + + &Ctrl;F Editar Procurar... + + + Mostrar a barra de pesquisas na parte inferior da área de visualización, que permite procurar unha cadea no documento. + + + + + + F3 Editar Procurar a seguinte + + + Tentar atopar de novo a cadea que se procurou no documento. + + + + + + &Shift;F3 Edit Find Previous + + + Goes to the previous occurrence of the search string in the document. + + + + + + + The <guimenu +>View</guimenu +> Menu + + + + &Ctrl;&Shift;P Vista Presentación + + + Activa o modo Presentación. Para máis información consulte a sección sobre o modo Presentación. + + + + + &Ctrl;+Vista Achegar + + + Incrementar o aumento da vista do documento. + + + + + + &Ctrl;-Vista Alonxar + + + Diminuir o aumento da vista do documento. + + + + + Vista Axustar ao ancho + + + Mudar o aumento da vista do documento para un valor que faga que a largura das páxinas sexa igual á largura da vista do documento. + + + + + Vista Axustar á páxina + + + Mudar o aumento da vista do documento para un valor que faga visíbel ao menos unha páxina enteira. + + + + + Vista Continuo + + + Activar o modo de páxina continuo. No modo continuo móstranse todas as páxinas e pódese andar por elas sen ter que empregar as opcións Ir Páxina anterior e IrPáxina seguinte. + + + + + Vista Modo da vista + + + This submenu makes you choose the view mode for the pages. The possible options are: Single Page (only one page per row), Facing Pages (two pages per row, in a book style) and Overview (the number of columns is the one specified in the &okular; settings). + + + + + Vista Orientación + + + Este submenú permite mudar a orientación das páxinas do documento. + + A rotación aplícase á orientación de todas as páxinas. + + Pódese seleccionar Orientación orixinal para volver á orientación orixinal do documento, rexeitando todas as rotacións que se aplicasen manualmente. + + + + + Vista Tamaño da páxina + + + Muda o tamaño das páxinas do documento. + + Este submenú só está activo se o tipo de documento permite tamaños de páxina diferentes. + + + + + + View Trim Margins + + + Eliminar o bordo branco das páxinas ao velas. + + + + + Vista Mostrar/Acochar os formularios + + + Mostrar ou acochar a visualización dos campos de formulario do documento. + + Este elemento do menú só está activo se o documento ten campos de formulario. + + + + + + + + The <guimenu +>Go</guimenu +> Menu + + + + &Backspace; Go Previous Page + + + Ver a páxina anterior do documento. + + + + + Space Go Next Page + + + Ver a páxina seguinte do documento. + + + + + &Ctrl;Home Go First Page + + + Go to the first page of the document. + + + + + &Ctrl;End Go Last Page + + + Go to the last page of the document. + + + + + Go Back in the Document + + + Recuar para a vista anterior do documento. + + + + + Go Forward in the Document + + + Avanzar para a seguinte vista do documento. Isto só funciona se xa se recuou antes. + + + + + &Ctrl;G Ir Ir á páxina... + + + Abrir un diálogo que permite ir a calquera páxina do documento. + + + + + + + The <guimenu +>Bookmarks</guimenu +> Menu + + + + &Ctrl;B Marcadores Engadir/Eliminar un marcador + + + Engadir ou eliminar un marcador da páxina actual. + + + + + Marcadores Anterior marcador + + + Ir á páxina marcada anterior ou non facer nada se non hai páxinas marcadas antes da actual. + + + + + Marcadores Seguinte marcador + + + Ir á seguinte páxina marcada ou non facer nada se non hai páxinas marcadas despois da actual. + + + + + Marcadores Sen marcadores + + + Esta é unha acción que está sempre desactivada que aparece neste menú só se o documento actual non ten marcadores. Se non, aquí aparece unha lista de todas as páxinas marcadas. Premer estes marcadores permite ir directamente ás páxinas asociadas. + + + + + + + The <guimenu +>Tools</guimenu +> Menu + + + + &Ctrl;1 Ferramentas Ferramenta de navegación + + + The mouse will have its normal behavior, &LMB; for dragging the document and following links and &RMB; for adding bookmarks and fit to width. + + + + + &Ctrl;2 Ferramentas Ferramenta de ampliación + + + O rato funciona como ferramenta de ampliación. Premer o &LMB; arrastrar amplía a vista para a área seleccionada, premer &RMB; devolve o documento á ampliación anterior. + + + + + &Ctrl;3 Ferramentas Ferramenta de selección + + + O rato funciona como ferramenta de selección. Neste modo, premer o &LMB; e arrastrar dá a opción de copiar o texto ou imaxe da área seleccionada para o portarretallos, ler un texto ou gravar unha imaxe nun ficheiro. + + + + + &Ctrl;4 Ferramentas Ferramenta de selección de texto + + + O rato funciona como ferramenta de selección de texto. Neste modo, premer o &LMB; e arrastrar dá a opción de seleccionar o texto do documento. Despois, simplemente preme co &RMB; para copiasr para o portarretallos ou para ler a selección. + + + + + F6 Ferramentas Revisar + + + Abrir a barra de ferramentas de revisión. A barra de ferramentas de revisión permite engadir anotacións ao documento que se está a ler. Para máis información consulte a selección sobre as anotación. + + + + + Ferramentas Ler todo o documento + + + Ferramentas Ler a páxina actual + + + Ferramentas Deter a locución + + + These items allow you to speak the whole document or just the current page and stop speaking using the &kde; Text-to-Speech system KTTS. + The Speak ... actions are enabled only if KTTS is available in the system. + + + + + + + The <guimenu +>Settings</guimenu +> Menu + + + + &Ctrl;M Configuración Mostrar a barra de menú + + + Toggle the Menubar display on and off. Once hidden it can be made visible using the shortcut &Ctrl;M again. + + + + + Configuración Mostrar barra de ferramentas + + + Conmutar que se vexa a barra de ferramentas. + + + + + F7 Configuración Mostrar o panel de navegación + + + Conmutar que se vexa o panel de navegación. + + + + + &Ctrl;&Shift;F Configuración Modo a pantalla completa + + + Activa o modo a pantalla completa. Lembre que o modo a pantalla completa é diferente do modo de presentación polo feito de que a única peculiaridade do modo a pantalla completa é que este acocha as decoracións da xanela, a barra de menú e a barra de ferramentas. + + + + + Configuración Configurar os atallos de teclado... + + + Abre unha xanela que permite configurar os atallos do teclado para moitos comandos do menú. + + + + + Configuración Configurar as barras de ferramentas... + + + Abre unha xanela que permite escoller as iconas que ficarán visíbeis na barra de ferramentas. + + + + + Configuración Configurar as infraestruturas... + + + Abre a xanela Configuración das infraestruturas + + + + + Configuración Configurar &okular;... + + + Abre a xanela de configuración. + + + + + + + The <guimenu +>Help</guimenu +> Menu +&help.menu.documentation; + + + + Configuración do &okular; + + Configuración xeral + You can configure &okular; by choosing Settings Configure &okular;.... The configuration dialog is split into six sections. This chapter describes the available options in detail. + + + General + + + Accessibility + + + Performance + + + Presentation + + + Identity + + + Editor + + + + The configuration dialog + + + + + + The configuration dialog + + + + Depending on the currently installed backends, the Settings Configure Backends... menu item could be enabled. This particular configuration dialog holds the configurations of the backends that can actually be configured. + + + Xeral + + + Mostrar barras de desprazamento + + Se mostrar as barras de desprazamento na vista do documento. + + + + Ligar as miniaturas coa páxina + + Se a vista de miniaturas debería mostrar a páxina actual ou non. + + + + Mostrar os consellos e mensaxes de información + + Se mostrar algunhas mensaxes informativas ao incio, cando se cargue un ficheiro, &etc;. + + + + Obedecer as limitacións DRM + + Se o &okular; debe obedecer as restricións de DRM (Xestión de dereitos dixitais, Digial Rights Management). As limitacións DRM empréganse para que sexa imposíbel realizar determinadas accións cos documentos &PDF;, como copiar o contido para o portarretallos. Nalgunhas configuracións do &okular; non se dispón desta opción. + + + + Cargar de novo o documento ao cambiar de ficheiro + + Se hai que comprobar automaticamente se se modificaron os ficheiros abertos e actualizalos, de ser o caso. + + + + Mostrar o diálogo de escolla de infraestrutura + + Se o &okular; lle debe preguntar ao usuario que infraestrutura empregar no caso de que se dispoña de máis dunha para abrir o ficheiro. Se non se selecciona, o &okular; emprega a infraestrutura que teña maior prioridade. + + + + Center first page + + Whether the first page should be centered or aligned to the left when displaying the pages in facing and overview mode. + + + + Colunas de resumo + + Esta opción representa o número de columnas que se han empregar no modo de resumo. + + + + + + Accesibilidade + + + Debuxar un bordo arredor das ligazóns + + Se debuxar un bordo arredor das ligazóns. + + + + Change colors + + Activa as opcións para alterar as cores. + + + + Invert Colors + + Inverte as cores na visualización, &ie; os obxectos negros móstranse en branco. + + + + Change Paper Color + + Muda a cor do papel, &ie; o fondo do documento. + + + + Cambiar as cores escuras e claras + + Muda a cor escura e a clara ao que prefira vostede, o que significa que o negro non se mostra como negro, senón como a cor escura seleccionada, e o branco non se mostra como branco, senón como a cor clara seleccionada. + + + + Converter a branco e negro + + Converts the document to black and white. You can set the threshold and the contrast. Setting the threshold to a higher value will result in darker grays used. + + + + + + Rendemento + + + Habilitar os efectos de transparencia + + Debuxar as seleccións e outros gráficos especiais empregando efectos de transparencia. Desactive esta opción para que se debuxen con estilos de bordo e de recheo opacos e se incremente a velocidade das seleccións. + + + + Habilitar a xeración de fondo + + Empregar un fío de fondo para xerar as páxinas. Se se desactiva esta opción a interface do usuario tórnase menos áxil (bloquéase se é preciso), mais as páxinas móstranse un pouco máis rápido. + + + + Memory Usage + + O &okular; pode lograr o mellor desempeño se se axusta o uso da memoria baseándose no sistema e nos gostos do usuario. Canta máis memoria se lle permita empregar, máis rápido se comportará o programa. O perfil Normal é bon para todos os sistemas, mais pódese evitar que o &okular; empregue máis memoria da precisa seleccionando o perfil Baixo ou permitir obter o máximo do sistema co Agresivo. + + + + + + Presentación + + + Avanzar cada + + Activa o avanzo automático das páxinas dado un período de tempo. + + + + Recomezar despois da última páxina + + Nos modos de navegación e de presentación, cando se passa da derradeira páxina aparece a primeira. + + + + Cor do fondo + + A cor que enche a parte da pantalla que non cobre a páxina no modo de presentación. + + + + Cor do lapis + + A cor do lapis que se emprega cando se debuxa nas páxinas durante o modo de presentación. + + + + Cursor do rato + + Se o rato debe estar sempre acochado, sempre visíbel ou se debe acocharse despois dun breve período de inactividade. + + + + Mostrar o indicador de progreso + + Whether to show a progress circle that shows the current page and the total number of pages on the upper right corner of the presentation screen every time you change the page. + + + + Mostrar a páxina de resumo + + Se mostrar unha páxina de resumo ao comezo da presentación co título, autor e número de páxinas do documento. + + + + Transición por omisión + + O efecto de transición entre páxina e páxina se o documento non especifica un. Configure isto como Transición aleatoria para que o &okular; escolla un dos efectos disponíbeis ao chou. + + + + Situación + + Nesta sección pódese seleccionar a Pantalla que se quere empregar para mostrar a presentación. + Pantalla actual é a mesma pantalla da xanela do &okular; que inicia o modo de presentación. + Pantalla predeterminada é a pantalla marcada por omisión na configuración do xinerama. + Pantalla 0, Pantalla 1, &etc; son as pantallas disponíbeis. + + + + + + Identidade + + + Autor + + The author of the contents added on a document. + + + + + + Editor + + + Editor + + Choose the editor you want to launch when &okular; wants to open a source file. This is the case when the document has references to the various points (usually row and column number) of sources it was generated from. The &DVI; format supports natively the addition of the information about the sources the LaTeX document was generated from. A similar system exists for &PDF; documents, called pdfsync, which stores these extra information in an external file named after the &PDF; file itself (for example mydocument.pdfsync for mydocument.pdf). + + + + Command + + This is the command and its parameters to invoke the selected editor with the source file of the actual document. + + + + + + + Créditos e licenza + + + Copyright do programa: + Albert Astals Cidaacid@kde.org + Pino Toscano pino@kde.org Mantedor actual + Enrico Roseros.kde@email.it programador de &kpdf; + + + + Copyright da documentación: + Albert Astals Cidaacid@kde.org Autor + Titus Laskatitus.laska@gmx.de Algunhas actualizacións e engadidos + Pino Toscano pino@kde.org + + Xosé Calvo xose.calvo@gmail.com +&underFDL; &underGPL; + + + Instalación + + Como obter o &okular; +&install.intro.documentation; + + Compilación e instalación + + Se está a ler esta axuda no &khelpcenter;, o &okular; xa está instalado neste sistema e non hai por que instalalo máis. + &install.compile.documentation; + + &documentation.index; +
+ + + diff --git a/po/gl/okular.po b/po/gl/okular.po new file mode 100644 index 0000000..f061e1b --- /dev/null +++ b/po/gl/okular.po @@ -0,0 +1,6900 @@ +# translation of okular.po to galician +# Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +# Xabi García , 2003. +# Martina Ramilo Pereira , 2004, 2005. +# Xabi G. Feal , 2006, 2007. +# mvillarino , 2007, 2008, 2009. +# Xosé , 2008, 2012. +# Marce Villarino , 2009. +# Miguel Branco , 2010, 2013. +# Marce Villarino , 2012, 2013, 2014. +# Adrián Chaves Fernández , 2015, 2016, 2017. +# SPDX-FileCopyrightText: 2023, 2024, 2025 Adrián Chaves (Gallaecio) +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-06-19 10:16+0200\n" +"Last-Translator: Adrián Chaves (Gallaecio) \n" +"Language-Team: Proxecto Trasno (proxecto@trasno.gal)\n" +"Language: gl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 25.04.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" +"Martina Ramilo Pereira, mvillarino, Xosé Calvo, Adrián Chaves (Gallaecio)" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" +"martina.ramilo@hispalinux.es, mvillarino@gmail.com, proxecto@trasno.gal, " +"adrian@chaves.gal" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Okular, un visor universal de documentos" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"© 2002 Wilco Greven, Christophe Devriese\n" +"© 2004-2005 Enrico Ros\n" +"© 2005 Piotr Szymanski\n" +"© 2004-2017 Albert Astals Cid\n" +"© 2006-2009 Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "Mantemento anterior." + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "" +"Moito traballo de infraestruturas, motor de FictionBook e anterior motor de " +"ODT" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "Desenvolvemento." + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymanski" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "Creou Okular a partir de código de KPDF" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "Enrico Ros" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "Desenvolvemento de KPDF" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "Eugene Trounev" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "Traballo gráfico das anotacións" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "Jiri Baum — NICTA" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "Ferramenta de selección de táboas" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "Fabio D'Urso" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "Melloras nas anotacións" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "Ir á páxina %1" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "Abrir un ficheiro externo" + +#: core/action.cpp:197 +#, fuzzy, kde-format +#| msgid "Execute '%1'..." +msgid "Execute '%1'…" +msgstr "Executar «%1»…" + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "Primeira páxina" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "Páxina anterior" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "Seguinte páxina" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "Última páxina" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "Atrás" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "Adiante" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Saír" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "Comezar a presentación" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "Finalizar a presentación" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go To Page…" +msgstr "Ir á páxina" + +#: core/action.cpp:365 +#, fuzzy, kde-format +#| msgid "Play sound..." +msgid "Play sound…" +msgstr "Reproducir un son…" + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "Guión de JavaScript" + +#: core/action.cpp:483 +#, fuzzy, kde-format +#| msgid "Play movie" +msgid "Play movie…" +msgstr "Reproducir un filme" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "Reproducir un filme" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "Parar o filme" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "Parar o filme…" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "Continuar o filme" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "Esta construción de Okular non permite son." + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "Escolla de motor" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
%1 (%2).

Please select which one to use:
" +msgstr "" +"Atopouse máis dun motor para o tipo MIME:
%1 (%2).

Escolla o que queira usar:
" + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "A maioría das páxinas ten %1." + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "Retrato %1" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "Apaisado %1" + +#: core/document.cpp:246 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 × %2 polgadas (%3)" + +#: core/document.cpp:248 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 × %2 mm (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "Continúase a busca polo principio." + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "Continuar a busca desde o final" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "" +"Non é posíbel atopar un complemento que sexa capaz de xestionar o documento " +"que se pasou." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "Retirar as anotacións" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"O documento intenta executar unha aplicación externa e para a súa seguridade " +"Okular non llo permite." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "Non se atopou unha aplicación para abrir o ficheiro de tipo MIME %1." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "Non foi posíbel abrir un ficheiro temporal." + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "Fallou a conversión da impresión" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "O proceso de impresión quebrou" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "Non foi posíbel comezar o proceso de impresión" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "Produciuse un erro ao imprimir nun ficheiro." + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "A impresora estaba nun estado incorrecto" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "Non é posíbel atopar o ficheiro que imprimir" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "Non había ficheiro que imprimir" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"Non foi posíbel atopar un binario axeitado para imprimir. Asegúrese de que o " +"binario lpr de CUPS estea dispoñíbel" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "O tamaño de impresión da páxina é incorrecto." + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "Non foi posíbel abrir «%1». Non existe ese ficheiro." + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Título" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Asunto" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Descrición" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "Autoría" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Creador" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Produtor" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "Copyright" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "Páxinas" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Creado" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Modificado" + +#: core/document.cpp:6032 +#, kde-format +msgid "MIME Type" +msgstr "Tipo MIME" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "Categoría" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Palabras clave" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "Ruta ao ficheiro" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "Tamaño do ficheiro" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "Tamaño da páxina" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "Engadir unha anotación" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "Retirar a anotación" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "Modificar as propiedades da anotación" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "Traducir a anotación" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "axustar a anotación" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "Editar o texto" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "Editar o contido da anotación" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "Editar o contido do formulario" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "Editar a selección da lista do formulario" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "Editar a selección do combo do formulario" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "Editar os estados do botón do formulario" + +#: core/generator.cpp:790 +#, fuzzy, kde-format +#| msgid "Plain &Text..." +msgid "Plain &Text…" +msgstr "Te&xto simple…" + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "Texto de OpenDocument" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "Opcións de impresión" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "Axustar á zona imprimíbel" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "Axustar á páxina completa" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "Modo de cambio de dimensións:" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "Non volver amosar esta mensaxe" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "Non dispoñíbel" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" +"Erro interno de sinatura. Informe do fallo, incluíndo os pasos para " +"reproducilo. O código de erro é: %1." + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "Non foi posíbel asinar o documento %1." + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "A persoa usuaria cancelou a sinatura." + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "Non foi posíbel asinar. A frase de paso é incorrecta." + +#: core/signatureutils.cpp:504 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" +"Non foi posíbel escribir o documento asinado en %1. " +"Asegúrese de que seleccionou un cartafol no que ten permisos de escritura." + +#: core/signatureutils.cpp:506 +#, kde-format +msgid "Unknown signing error" +msgstr "Erro de sinatura descoñecido" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Fonte: %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "Fonte &predeterminada:" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "Versión" + +#: gui/certificatemodel.cpp:41 +#, kde-format +msgid "Serial Number" +msgstr "Número de serie" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "Expedidor" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "Expedido o" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "Caduca o" + +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Asunto" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "Chave pública" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "Uso de chave" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "V%1" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "%1 (%2 bits)" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "Propiedade" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "Valor" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "Nota emerxente" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "Escritura" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "Nota in situ" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +#| msgid "Polygon with Comment" +msgid "Arrow with Comment" +msgstr "Polígono con comentario" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "Frecha" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "Liña recta con comentario" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "Liña recta" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "Polígono con comentario" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "Polígono" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgid "Stamp with Comment" +msgid "Rectangle with Comment" +msgstr "Selo con comentario" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "Rectángulo" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgid "Underline with Comment" +msgid "Ellipse with Comment" +msgstr "Subliñar con comentario" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "Elipse" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "Realzar con comentario" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "Realzar" + +#: gui/guiutils.cpp:87 +#, kde-format +msgid "Squiggle with Comment" +msgstr "Borrancho con comentario" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "Borrancho" + +#: gui/guiutils.cpp:91 +#, kde-format +msgid "Underline with Comment" +msgstr "Subliñar con comentario" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "Subliñado" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out with Comment" +msgstr "Riscar con comentario" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "Riscado" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "Selo con comentario" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "Selo" + +#: gui/guiutils.cpp:106 +#, kde-format +msgid "Freehand Line with Comment" +msgstr "Liña a man alzada con comentario" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "Liña a man alzada" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "Cursor" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "Anexo do ficheiro" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "Son" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "Filme" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Pantalla" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "Trebello" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "Multimedia" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation" +msgstr "Anotación" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "Descoñecido" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Autoría: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "Onde quere gardar %1?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "Non foi posíbel abrir «%1» para escritura. Non se gardou o ficheiro." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "A sinatura ten validez criptográfica." + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "A sinatura é incorrecta a nivel criptográfico." + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "Produciuse un conflito de resumos." + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "A estrutura CMS ou PKCS7 da sinatura é incorrecta." + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "A sinatura solicitada non está presente no documento." + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "Non foi posíbel verificar a sinatura." + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "Confíase no certificado." + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "Non se confía no expedidor do certificado." + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "Descoñécese o expedidor do certificado." + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "O certificado revogouse." + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "O certificado caducou." + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "Aínda non se verificou o certificado." + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "Validación de certificado en progreso" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "Problema descoñecido co expedidor ou datos corruptos." + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "MD2" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "MD5" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "SHA1" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "SHA256" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "SHA384" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "SHA512" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "SHA224" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "Descoñécese o algoritmo" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "RSA" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "DSA" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "EC" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "Tipo descoñecido" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "Sinatura dixital" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "Non repudiación" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "Cifrar chaves" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "Descifrar chaves" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "Acordo de chave" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "Asinar o certificado" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "Asinar o CRL" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "Só cifrar" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "Non se indicou ningún uso" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr ", " + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "O documento non se modificou desde que se asinou." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" +"A revisión do documento que recibiu esta sinatura non se modificou;\n" +"porén o documento recibiu cambios subsecuentes." + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" +"O documento modificouse dun xeito que a autoría dunha sinatura anterior non " +"permite." + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "Non foi posíbel completar a verificación da integridade do documento." + +#: gui/signatureguiutils.cpp:208 +#, kde-format +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "Este documento ten campos de posición de sinatura." + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "Este documento está asinado dixitalmente." + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "" +"Este documento está asinado dixitalmente. Cambiou desde a última sinatura." + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" +"Este documento está asinado dixitalmente. Non foi posíbel validar " +"correctamente algunhas das sinaturas." + +#: gui/signaturemodel.cpp:141 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "Posicións de sinatura: %1" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "Campo: %1 na páxina %2" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "Rev. %1: asinada por %2" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "Hora da sinatura: %1" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "Motivo: %1" + +#: gui/signaturemodel.cpp:177 +#, kde-format +msgid "Location: %1" +msgstr "Localización: %1" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "Sinatura de PGP" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "PKCS7 de Adobe" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "SHA1 de PKCS7 de Adobe" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "CAdES de ETSI" + +#: gui/signaturemodel.cpp:193 +#, kde-format +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "Descoñecido" + +#: gui/signaturemodel.cpp:195 +#, kde-format +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "Posición de sinatura:" + +#: gui/signaturemodel.cpp:201 +#, kde-format +msgid "Signature Type: %1" +msgstr "Tipo de sinatura: %1" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "Vermello" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "Laranxa" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "Amarelo" + +#: part/annotationactionhandler.cpp:151 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "Verde" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "Ciano" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "Azul" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "Maxenta" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "Branco" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "Gris" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "Negro" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "Anchura %1" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1%" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "Anchura da liña de anotación (non se seleccionaron anotacións)." + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "Cor da anotación (non se seleccionaron anotacións)." + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "Cor de recheo da anotación (non se seleccionaron anotacións)." + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "Opacidade da anotación (non se seleccionaron anotacións)." + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "Tipo de letra da anotación (non se seleccionaron anotacións)." + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" +"Engadir a anotación actual ao menú de anotacións rápidas (non se " +"seleccionaron anotacións)." + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" +"Restrinxir a proporción da forma a 1:1 ou o ángulo da liña a pasos de 15° " +"(non se seleccionaron anotacións)." + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" +"Configuración avanzada para a ferramenta de anotacións actual (non se " +"seleccionaron anotacións)." + +#: part/annotationactionhandler.cpp:308 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Anchura da liña de anotación." + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "" +"Anchura da liña de anotación (a anotación actual non ten anchura de liña)." + +#: part/annotationactionhandler.cpp:314 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Cor do texto da anotación." + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "Cor do bordo da anotación." + +#: part/annotationactionhandler.cpp:318 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Cor da anotación." + +#: part/annotationactionhandler.cpp:322 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Cor de recheo da anotación." + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "Cor de recheo da anotación (a anotación actual non ten cor de recheo)." + +#: part/annotationactionhandler.cpp:328 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "Tipo de letra da anotación." + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "Tipo de letra da anotación (a anotación actual non ten tipo de letra)." + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "Restrinxir o ángulo da liña a pasos de 15°." + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "Restrinxir as proporcións da forma a 1:1." + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" +"Restrinxir a proporción da forma a 1:1 ou o ángulo da liña a pasos de 15° (a " +"anotación actual non o permite)." + +#: part/annotationactionhandler.cpp:341 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Opacidade da anotación." + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "Engadir a anotación actual ao menú de anotacións rápidas." + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "Configuración avanzada para a ferramenta de anotacións actual." + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "Cor" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "Cor de recheo" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "Transparente" + +#: part/annotationactionhandler.cpp:445 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "Custom Color..." +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "Cor personalizada…" + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "Seleccionar a cor" + +#: part/annotationactionhandler.cpp:552 +#, kde-format +msgid "&Annotations" +msgstr "&Anotacións" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "Agochar" + +#: part/annotationactionhandler.cpp:554 +#, kde-format +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Amosar máis ferramentas de anotación" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "Realzador" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "Subliñar" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "Borrancho" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "Tachar" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Escritura" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "Nota in situ" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "Nota emerxente" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "Liña a man alzada" + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "Liña recta" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "Frecha" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "Rectángulo" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "Elipse" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "Polígono" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "Formas xeométricas" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "Selo" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Anotacións rápidas" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "Escolla unha ferramenta de anotación de entre as anotacións rápidas." + +#: part/annotationactionhandler.cpp:651 +#, kde-format +msgid "Quick Annotation Bar" +msgstr "Barra de anotacións rápidas" + +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "Engadir ás anotacións rápidas" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "Manter activa" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "Manter a ferramenta de anotación activa tras usala." + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "Restrinxir as proporcións e o ángulo das ferramentas de anotación" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "Tipo de letra" + +#: part/annotationactionhandler.cpp:681 +#, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Configuración das anotacións" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "Anchura da liña" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "Opacidade" + +#: part/annotationactionhandler.cpp:696 +#, kde-format +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1%" + +#: part/annotationmodel.cpp:320 +#, kde-format +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "Páxina %1 (%2)" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "Páxina %1" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "Anotación" +msgstr[1] "%1 anotacións" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "&Abrir a nota emerxente" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Retirar o marcador" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Engadir un marcador" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, kde-format +msgid "Copy Text to Clipboard" +msgstr "Copiar o texto no portapapeis" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "O DRM prohibe a copia" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "&Eliminar" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "&Propiedades" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, fuzzy, kde-format +#| msgctxt "%1 is the name of the file to save" +#| msgid "&Save '%1'..." +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "&Gardar «%1»…" + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "&Aparencia" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "&Xeral" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&Autoría:" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "Creado:" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "Modificado:" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "Propiedades da nota emerxente" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "Propiedades de escritura" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "Propiedades da nota in situ" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "Propiedades da liña recta" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "Propiedades do polígono" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "Propiedades da forma xeométrica" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "Propiedades das etiquetas de texto" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "Propiedades do selo" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "Propiedades da liña a man alzada" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "Propiedades do cursor" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "Propiedades do ficheiro anexo" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "Propiedades do son" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "Propiedades do filme" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "Propiedades da anotación" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "Seleccionar un símbolo de selo personalizado dun ficheiro." + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "Seleccionar un símbolo de selo personalizado" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" +"*.ico *.png *.xpm *.svg *.svgz | Ficheiros de iconas (*.ico *.png *.xpm *." +"svg *.svgz)" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "Non foi posíbel cargar o ficheiro %1" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "Ficheiro incorrecto" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&Cor:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, kde-format +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%v%" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "&Opacidade:" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "Icona:" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "Comentario" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "Axuda" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "Inserir" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "Chave" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "Novo parágrafo" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "Nota" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "Parágrafo" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Fonte:" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "&Cor do texto:" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "&Aliñado:" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "Á esquerda" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "Centrar" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "Á dereita" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "&Anchura do bordo:" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "Aprobado" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "Como é" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "Confidencial" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "Por departamentos" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "Borrador" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "Experimental" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "Caducado" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "Final" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "Para comentar" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "Para publicar" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "Non aprobado" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "Non publicar" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "Vendido" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "Máximo segredo" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "Marcador" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "Información" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "Símbolo do selo:" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "&Anchura:" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "Inicio de liña:" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "Fin de liña:" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "Cadrado" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "Círculo" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "Rombo" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "Frecha aberta" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "Frecha pechada" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "Nada" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "Cu" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "Frecha aberta dereita" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "Frecha pechada dereita" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "Barra inclinada" + +#: part/annotationwidgets.cpp:531 +#, kde-format +msgid "Leader line length:" +msgstr "Lonxitude da liña directriz:" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "Lonxitude das extensión da liña directriz:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "Activada" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "Recheo da forma:" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Tipo:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "Riscado" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "Símbolo de ficheiro anexo:" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "Gráfico" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "Chincheta" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "Clip" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "Etiqueta" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "Ficheiro" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "N/D" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "Non hai ningunha descrición dispoñíbel." + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "Nome:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "Descrición:" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "Símbolo do cursor:" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "Ningún" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "Pechar esta nota" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "Opcións" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"Esta anotación pode conter texto en LaTeX.\n" +"Prema aquí para amosalo." + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "Non é posíbel atopar o executábel de latex." + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "Produciuse un erro ao renderizar LaTeX." + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "Non é posíbel atopar o executábel de dvipng." + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "Produciuse un problema durante a execución da orde «latex»." + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "Produciuse un problema durante a execución da orde dvipng»." + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"Un marcador" +msgstr[1] "" +"%1\n" +"\n" +"%2 marcadores" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Marcadores" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "Amosar para todos os documentos" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, fuzzy, kde-format +#| msgid "S&earch:" +msgid "Search…" +msgstr "&Buscar:" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, fuzzy, kde-format +#| msgid "Expand all" +msgid "Expand All" +msgstr "Expandilas todas" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, fuzzy, kde-format +#| msgid "Collapse all" +msgid "Collapse All" +msgstr "Pregalo todo" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "Ir a este marcador" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "Renomear o marcador" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Abrir un documento" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "Retirar todos os marcadores deste documento" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "Visor de certificados" + +#: part/certificateviewer.cpp:50 +#, fuzzy, kde-format +#| msgid "Export..." +msgid "Export…" +msgstr "Exportar…" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "Xeral" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "Expedido por" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "Nome común (CN)" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "Correo electrónico" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "Organización (O)" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "Expedido a" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "Validez" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "Pegadas dixitais" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "Pegada dixital SHA-1" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "Pegada dixital SHA-256" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "Detalles" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "Datos do certificado:" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "Onde quere gardar o certificado?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "Ficheiro de certificado (*.cer)" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "Non foi posíbel exportar o certificado" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "Modo de &cor" + +#: part/colormodemenu.cpp:21 +#, kde-format +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "Cambiar as cores" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "Cores &normais" + +#: part/colormodemenu.cpp:41 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "&Inverter as cores" + +#: part/colormodemenu.cpp:42 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "Cambiar a cor do &papel" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "Cambiar as cores &escuras e claras" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "Converter a &branco e negro" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "Inverter o brillo" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "Inverter o l&uma (sRGB linear)" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "Inverter o luma (&simétrico)" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "Cambiar o ton a p&ositivo" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "Cambiar o ton a n&egativo" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "Vermello" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "Verde" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "Azul" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "Amarelo" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "Negro" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "Branco" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "Realzador amarelo" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "Realzador verde" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "Inserir texto" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "Debuxar un bordo arredor das ligazóns." + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "Cambiar as cores." + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "" +"Aviso: estas opcións poden afectar negativamente á velocidade de " +"debuxado." + +#: part/dlgaccessibility.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "Inverter as cores" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "Cambiar a cor do papel" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "Cambiar as cores escuras e claras" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "Converter a branco e negro" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "Inverter o brillo" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "Inverter o luma (sRGB linear)" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "Inverter o luma (simétrico)" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "Cambiar o ton a positivo" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "Cambiar o ton a negativo" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "Modo de cor:" + +#: part/dlgaccessibility.cpp:87 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Cor do papel:" + +#: part/dlgaccessibility.cpp:99 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Cor escura:" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "Cor clara:" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "Limiar:" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Contraste:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "Motor de fala:" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "Voz de fala:" + +#: part/dlgannotations.cpp:25 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Barra de ferramentas completa de anotación" + +#: part/dlgannotations.cpp:26 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Barra de ferramentas rápida de anotación" + +#: part/dlgannotations.cpp:28 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Barra de ferramentas de anotación:" + +#: part/dlgannotations.cpp:34 +#, kde-format +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "Autoría:" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"Nota: esta información úsase só para anotacións. A información " +"gárdase en documentos anotados, e polo tanto transmitirase xunto co " +"documento." + +#: part/dlgannotations.cpp:48 +#, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

Quick Annotation Tools

" +msgstr "

Ferramentas rápidas de anotación

" + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" +"Escolla o editor que queira iniciar cando Okular queira abrir un ficheiro " +"fonte." + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "Editor de texto personalizado" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Cliente do Emacs" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "Cliente de Lyx" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "TeXstudio" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "TeXiFy IDEA" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "Editor:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
\n" +"You can also put few placeholders:\n" +"
    \n" +"
  • %f - the file name
  • \n" +"
  • %l - the line of the file to be reached
  • \n" +"
  • %c - the column of the file to be reached
  • \n" +"
\n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"Indique a orde do editor de texto personalizado a iniciar.
\n" +"Tamén pode usar caracteres de substitución:\n" +"
    \n" +"
  • %f : o nome do ficheiro
  • \n" +"
  • %l : a liña a acadar no ficheiro
  • \n" +"
  • %c : a columna a acadar no ficheiro
  • \n" +"
\n" +"Se non se indica %f, entón engadirase o nome do ficheiro á orde indicada." + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "Orde:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "Usar desprazamento suave." + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "Aparencia:" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "Amosar as barras de desprazamento." + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "Ligar as miniaturas coa páxina." + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "Amosar os consellos e mensaxes de información." + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "Avisar de ficheiros incrustados, formularios ou sinaturas." + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "Amosar o título do documento na barra de título de estar dispoñíbel." + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "Amosar só o nome do ficheiro" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "Amosar a ruta completa ao ficheiro" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "Cando non se amose o título do documento:" + +#: part/dlggeneral.cpp:92 +#, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "Usar unha cor de fondo personalizada:" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "Funcionalidades do programa:" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "Abrir os ficheiros novos en lapelas." + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "Ir á lapela existente se o ficheiro xa está aberto." + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "Obedecer as limitacións de DRM." + +#: part/dlggeneral.cpp:148 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "Cargar de novo o documento cando o ficheiro cambie." + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "Amosar o diálogo de escolla de motor." + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "Dirección de lectura de dereita a esquerda." + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" +"Usar información do ficheiro para determinar se abrir en modo continuo de " +"maneira predeterminada." + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" +"Abrir os ficheiros sen información no modo continuo de maneira " +"predeterminada." + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "Abrir no modo continuo de maneira predeterminada." + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" +"Ao usar a ferramenta de exploración, envolver o cursor nos límites da " +"pantalla." + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "Columnas de resumo:" + +#: part/dlggeneral.cpp:220 +#, kde-format +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%v%" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" +"Define a porcentaxe da área de visualización actual que debería ser visíbel " +"ao premer as teclas Páxina arriba/abaixo." + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "Solapamento de páxina arriba/abaixo:" + +#: part/dlggeneral.cpp:228 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%v%" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "100%" + +#: part/dlggeneral.cpp:233 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "Axustar á anchura" + +#: part/dlggeneral.cpp:234 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "Axustar á páxina" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "Axuste automático" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "Personalizada" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" +"Define o modo de ampliación predeterminado dos ficheiros que non se abrisen " +"nunca. Para os ficheiros que se abrisen antes úsase o modo de ampliación " +"anterior." + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "Ampliación predeterminada:" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "Activar os efectos de transparencia." + +#: part/dlgperformance.cpp:28 +#, kde-format +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "Uso do procesador:" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "Baixo" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "Normal (predeterminado)" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "Agresivo" + +#: part/dlgperformance.cpp:38 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "Egoísta" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "Uso da memoria:" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "Activar o suavizado do texto." + +#: part/dlgperformance.cpp:56 +#, kde-format +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "Opcións de debuxado:" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "Activar o suavizado das imaxes." + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "Activar o axuste do texto." + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"Mantén a memoria usada tan baixa como sexa posíbel. Non reutiliza nada. " +"(Para sistemas con pouca memoria)" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"Un bo compromiso entre a memoria usada e o aumento de velocidade. Precargar " +"a seguinte páxina e tamén as buscas. (Tipicamente para sistemas con 2 GB de " +"memoria)." + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"Mantén todo na memoria. Precargar as páxinas seguintes. Acelerar as buscas " +"(Para sistemas con máis de 4 GB de memoria)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" +"Carga e mantén todo na memoria. Precargar todas as páxinas ñ(usa un máximo " +"do 50% da memoria total ou da memoria libre, a que sexa maior)." + +#: part/dlgpresentation.cpp:38 +#, kde-format +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] "cada %v segundo" +msgstr[1] "cada %v segundos" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "Avanzar automaticamente:" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "Volver ao principio tras a última páxina." + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "Tocar os lados esquerdo e dereito para ir cara atrás e cara adiante" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "Toque en calquera parte para ir cara adiante" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "Desactivado" + +#: part/dlgpresentation.cpp:63 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Navegación táctil:" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "Cor de fondo:" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "Agochar despois do retardo" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "Sempre visíbel" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "Sempre agochado" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "Cursor do rato:" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "Amosar o indicador de progreso." + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "Amosar a páxina de resumo." + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "Instantánea (non usar animacións)" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "Substituír" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "Transición aleatoria" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "Contras verticais" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "Contras horizontais" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "Caixa cara dentro" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "Caixa cara fóra" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "Disolver" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "Esvaer" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "Cortina baixando" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "Cortina cara á dereita" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "Cortina dereita e baixando" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "Dividir horizontalmente" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "Sacar a división horizontal" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "Dividir verticalmente" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "Sacar a división vertical" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "Limpar cara a abaixo" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "Limpar cara á dereita" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "Limpar cara á esquerda" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "Limpar cara a arriba" + +#: part/dlgpresentation.cpp:121 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Transición predeterminada:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "Pantalla preferida:" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

Drawing Tools

" +msgstr "

Ferramentas de debuxo

" + +#: part/dlgpresentation.cpp:171 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Pantalla actual" + +#: part/dlgpresentation.cpp:172 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Pantalla predeterminada" + +#: part/dlgpresentation.cpp:178 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "Pantalla %1 (%2 %3 %4)" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "Pantalla %1 (desconectada)" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "Ferramenta de debuxo: %1" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "Borrador" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "&Nome:" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "&Tipo:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "Aparencia" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "Etiquetas de texto" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "Forma xeométrica" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "Ferramenta de creación de anotacións" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "Ferramenta de edición de anotacións" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "Cor:" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "Anchura do &bolígrafo:" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "%v px" + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "Ferramenta de creación de debuxos" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "Ferramenta de edición de debuxos" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "Descoñecido" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Ficheiros incrustados" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "Ver" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "Nome" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "Descrición" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "Tamaño" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "Creado" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "Modificado" + +#: part/embeddedfilesdialog.cpp:154 +#, fuzzy, kde-format +#| msgid "Save As" +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "Gardar como" + +#: part/embeddedfilesdialog.cpp:155 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "&Vista" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "Non foi posíbel cargar a compoñente de vista de impresión." + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "Vista de impresión" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "Pechar" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "&Atopar:" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "Texto a buscar" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Seguinte" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "Salta á coincidencia seguinte" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Anterior" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "Saltar á coincidencia anterior" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "Modificar o comportamento da busca" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "Distinguir as maiúsculas" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "Da páxina actual" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "Atopar a medida que escribe" + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "Todos os ficheiros (*)" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "Posición de sinatura (prema para asinar)" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, fuzzy, kde-format +#| msgctxt "@action:button" +#| msgid "Sign" +msgid "&Sign…" +msgstr "Asinar" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "Propiedades da sinatura" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "Opcións da busca" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "Distinguir as maiúsculas" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "Expresión regular" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "Capas" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "de" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "Ampliar" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "Ampliar ao 100%" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "Rota&r á dereita" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "Á dereita" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "Rotar á &esquerda" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "Á esquerda" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "Orientación orixinal" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "Recor&tar a vista" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "Recor&tar as marxes" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "Recortar á &selección" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "Axustar á &anchura" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "Axustar á &páxina" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "&Axuste automático" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "Axustar a &xanela á páxina" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "Modo da &vista" + +#: part/pageview.cpp:594 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "Pá&xina única" + +#: part/pageview.cpp:595 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "Páxinas &opostas" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "Páxinas opostas (¢rar a primeira páxina)" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "Resum&o" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "&Continuo" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "Usar a dirección de lectura de dereita a esquerda." + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "&Examinar" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "&Ampliar" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "&Selección de zona" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "Selección de &texto" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "Selección de &táboas" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "&Lupa" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "Ferramentas de selección" + +#: part/pageview.cpp:711 +#, fuzzy, kde-format +#| msgid "Digitally &Sign..." +msgid "Digitally &Sign…" +msgstr "A&sinar dixitalmente…" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "Pronunciar todo o documento" + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "Pronunciar da páxina actual" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "Pronunciar a páxina actual" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "Deixar de pronunciar" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "Deter ou continuar a pronuncia" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "Desprazar cara riba" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Desprazar cara embaixo" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "Desprazarse unha páxina cara riba" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "Desprazarse unha páxina cara baixo" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "Amosar os formularios" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] " Cargouse un documento dunha páxina." +msgstr[1] " Cargouse un documento de %1 páxinas." + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "Copiar o contido da táboa ao portapapeis" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "Texto (1 carácter)" +msgstr[1] "Texto (%1 caracteres)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "Copiar no portapapeis" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "Pronunciar o texto" + +#: part/pageview.cpp:2863 +#, kde-format +msgid "Image (%1 × %2 pixels)" +msgstr "Imaxe (%1 × %2 píxeles)" + +#: part/pageview.cpp:2865 +#, kde-format +msgid "Save to File…" +msgstr "Gardar nun ficheiro…" + +#: part/pageview.cpp:2885 +#, kde-format +msgid "Image [%1 × %2] copied to clipboard." +msgstr "A imaxe [%1 × %2] copiouse no portapapeis." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "Gardar o ficheiro" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "Imaxes (*.png *.jpeg)" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "Ficheiro non gardado." + +#: part/pageview.cpp:2901 +#, kde-format +msgid "Image [%1 × %2] saved to %3 file." +msgstr "A imaxe [%1 × %2] gardouse no ficheiro %3." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "Copiar o texto" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "Ir a «%1»" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "Axustar á anchura" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "Axustar á páxina" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "Axuste automático" + +#: part/pageview.cpp:4107 +#, kde-format +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1%" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "Buscar «%1» con" + +#: part/pageview.cpp:4404 +#, fuzzy, kde-format +#| msgid "Configure Web Shortcuts..." +msgid "Configure Web Shortcuts…" +msgstr "Configurar os atallos da web…" + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "Seguir esta ligazón" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "Reproducir este son" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "Deter o son" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "Copiar o enderezo da ligazón" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "Buscar «%1» no documento" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Benvida" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "Seleccione a zona para ampliar. Faga clic dereito para afastar." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "Prema para usar a vista de lupa." + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "Debuxe un rectángulo arredor do texto ou dos gráficos a copiar." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "Escolla texto" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" +"Debuxe un rectángulo arredor da táboa e a continuación prema preto dos " +"bordos para dividir; prema Esc para limpar." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" + +#: part/pageview.cpp:5188 +#, fuzzy, kde-format +#| msgid "Only QES certificates" +msgid "No valid certificates" +msgstr "Só os certificados QES" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, fuzzy, kde-format +#| msgid "View in Certificate Manager" +msgid "Open Certificate Manager" +msgstr "Ver no xestor de certificados" + +#: part/pageview.cpp:5200 +#, fuzzy, kde-format +#| msgid "" +#| "There are no available signing certificates.
For more information, " +#| "please see the section about Adding Digital Signatures " +#| "in the manual." +msgid "" +"There are no available signing certificates.
Launch Certificate Manager " +"to import or manage certificates
For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" +"Non hai certificados de sinatura dispoñíbeis.
Para máis información, " +"consulte a sección sobre engadir sinaturas dixitais no " +"manual." + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, fuzzy, kde-format +#| msgid "Certificates" +msgid "No certificates found" +msgstr "Certificados" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" +"Non hai certificados de sinatura dispoñíbeis.
Para máis información, " +"consulte a sección sobre engadir sinaturas dixitais no " +"manual." + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "Ten cambios sen gardar. Garde o documento antes de asinalo." + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "Debuxe un rectángulo para inserir o campo de sinatura" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "" +"Debuxe un rectángulo arredor da zona da páxina que quere manter visíbel." + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "Nova nota de texto" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "O texto da nova nota:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Asinado por: %1\n" +"\n" +"Data: %2" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" +"Unha sinatura deste tamaño podería ser demasiado pequena para lerse. Se " +"quere crear unha sinatura potencialmente máis lexíbel, prema " +"Comezar de novo e debuxe un rectángulo máis grande." + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "Comezar de novo" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "Asinar" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name" +msgstr "Nome da persoa autora" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name for the annotation:" +msgstr "Nome da persoa autora para a anotación:" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "Debuxar unha elipse (arrastre para escoller unha zona)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "Realzar texto" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "Debuxar unha liña a man alzada" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "Anotación de texto na liña (arrastre para escoller unha zona)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "Colocar unha nota emerxente" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "Debuxar un polígono (prema o primeiro punto para pechalo)" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "Debuxar un rectángulo" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "Texto de borrancho" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "Pór un selo" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "Debuxar unha liña recta" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "Riscar texto" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "Subliñar texto" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "Anotación de escritura (arrastre para seleccionar unha zona)" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "Realzador" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "Engadir a anotación ás favoritas" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Custom annotation name:" +msgstr "Nome de anotación personalizado:" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&Ficheiro" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "&Configuración" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "&Axuda" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "&Orientación" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "&Marcadores" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "Barra de ferramentas do visor" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Miniaturas" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "Anotacións" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" +"Este documento contén anotacións ou datos de formulario que se gardaron " +"internamente cunha versión anterior de Okular. O almacenamento interno xa " +"non se permite.
Garde nun ficheiro para mover eses datos se quere " +"continuar editando o documento." + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"Este documento ten ficheiros incrustados. Prema aquí para velos ou vaia a «Ficheiro → Ficheiros incrustados»." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "Asinando. Pode axustar a posición e o tamaño da sinatura." + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "Rematar a sinatura" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "Anterior" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "Ir á páxina anterior" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "Moverse á páxina anterior do documento" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "Seguinte" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "Avanzar para a seguinte páxina" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "Moverse á vindeira páxina do documento" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "Inicio do documento" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "Móvese ao inicio do documento" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "Final do documento" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "Móvese ao final do documento" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "Renomear este marcador" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "Marcador anterior" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "Ir ao marcador anterior" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "Marcador seguinte" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "Ir ao seguinte marcador" + +#: part/part.cpp:748 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgid "Configure Okular…" +msgstr "Configurar Okular…" + +#: part/part.cpp:751 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Configure Viewer…" +msgstr "Configurar o visor" + +#: part/part.cpp:757 +#, fuzzy, kde-format +#| msgid "Configure Viewer Backends" +msgid "Configure Viewer Backends…" +msgstr "Configurar os motores do visor" + +#: part/part.cpp:759 +#, fuzzy, kde-format +#| msgid "Configure Backends" +msgid "Configure Backends…" +msgstr "Configurar os motores" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "Sobre o motor" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "Cargar de &novo" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "Recargar o documento actual do disco." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "Pechar a barra de &atopar" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "Número de páxina" + +#: part/part.cpp:817 +#, fuzzy, kde-format +#| msgctxt "@action" +#| msgid "Configure Color Modes..." +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "Configurar os modos de cor…" + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "Seleccionar todo o texto da páxina actual" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "Amosar a barra &lateral" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "Amosar a barra de &páxina" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "Amosar o panel das sinaturas" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "Ficheiros &incrustados" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "E&xportar como" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "&Compartir" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "P&resentación" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "Abrir o cartafol con&tedor" + +#: part/part.cpp:945 +#, fuzzy, kde-format +#| msgid "&Import PostScript as PDF..." +msgid "&Import PostScript as PDF…" +msgstr "&Importar un PostScript como PDF…" + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "Cambiar o modo de pantalla en negro" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "Borrar o debuxo" + +#: part/part.cpp:962 +#, fuzzy, kde-format +#| msgid "Configure Annotations..." +msgid "Configure Annotations…" +msgstr "Configurar as anotacións…" + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "Reproducir ou deter a presentación" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" +"Acaba de modificar o documento aberto, pero non é posíbel gardar este tipo " +"de documento.\n" +"Calquera modificación perderase ao pechar Okular." + +#: part/part.cpp:1123 +#, kde-format +msgid "Document can't be saved" +msgstr "Non é posíbel gardar o documento" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "Non foi posíbel abrir «%1» (%2)" + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "Cancelouse a carga de %1." + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "Non foi posíbel abrir %1. Motivo: %2" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "Configurar os motores do visor" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "Configurar os motores" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"Non se atopou o programa «ps2pdf», polo que Okular non pode importar " +"ficheiros PS mediante el." + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "non se atopou ps2pdf" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "Ficheiros PostScript (%1)" + +#: part/part.cpp:1357 +#, fuzzy, kde-format +#| msgid "Importing PS file as PDF (this may take a while)..." +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "Importando o ficheiro PS como PDF (pode tardar un tempo)…" + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "Insira o contrasinal para ler o documento:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "O contrasinal é incorrecto. Vólvao intentar:" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "Contrasinal do documento" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" +"Este documento ten formularios XFA, que actualmente non se permiten." + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"Este documento ten formularios. Prema o botón para interactuar con eles ou " +"use «Vista → Amosar os formularios»." + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" +"Desactiváronse todas as funcionalidades de edición e interacción deste " +"documento. Garde unha copia e reábrao para editar o documento." + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" +"Este documento solicita amosarse a pantalla completa.\n" +"Quere saír do modo normal e entrar no modo de presentación?" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "Solicitude para cambiar o modo de visualización" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "Entrar no modo de presentación" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "Denegar a solicitude" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "Non foi posíbel abrir %1. %2" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" +"O ficheiro %1 ten cambios sen gardar, pero modificouno " +"outro programa. Cargalo de novo substituirá os cambios sen gardar polo " +"cambios feitos nese outro programa. Quere cargar de novo o " +"ficheiro aínda así?" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "Ficheiro cambiado" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "Continuar recargando" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "Interromper a recarga" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" +"O ficheiro %1 ten cambios sen gardar, pero modificouno " +"outro programa. Pechalo substituirá os cambios sen gardar polo cambios " +"feitos nese outro programa. Quere pechar o ficheiro aínda así?" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "Continuar pechando" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "Interromper o peche" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "Quere gardar os cambios que fixo en «%1» ou descartalos?" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "Pechar o documento" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"Esta ligazón apunta a unha acción de peche de documento que non funciona " +"cando se usa o visor incrustado." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"Esta ligazón apunta a unha acción de saída da aplicación que non funciona " +"cando se usa o visor incrustado." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Reloading the document…" +msgstr "Recargando o documento…" + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "Contido" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "Sinaturas" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Ir á páxina" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "&Páxina:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "Insira o novo nome do marcador:" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "Renomear este marcador" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "Retirar este marcador" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "Gardar como" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" +"Escoller gardar un arquivo de Okular sen que o nome de ficheiro remate coa " +"extensión «%1». Iso non está permitido, quere escoller outro nome?" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "Extensión incompatíbel" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "Escolla un novo nome" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" +"O ficheiro %1 modificouno outro programa. Se o garda, " +"calquera cambio que fixese o outro programa perderase. Seguro que quere " +"continuar?" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "Gardar — Aviso" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "Gardar unha copia noutro lugar…" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
Do you want to continue?" +msgstr "" +"O documento actual está protexido cun contrasinal.
Para gardar hai que " +"recargar o ficheiro. Preguntaráselle o contrasinal de novo e perderá o " +"historial de desfacer e refacer.
Quere continuar?" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "Non foi posíbel abrir o ficheiro temporal para gardar." + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" +"Non foi posíbel substituír %1 por ser un ficheiro de só " +"lectura. Probe a gardar noutra localización ou a cambiar os permisos do " +"ficheiro." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
Do you want to continue?" +msgstr "" +"Tras gardar, o formado do documento actual require recargar o ficheiro. " +"Perderá o seu historial de desfacer e refacer.
Quere continuar?" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "" +"Non foi posíbel gardar o ficheiro en «%1». Inténteo gardar noutro sitio." + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "Contido de formulario completado." + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "Anotacións de persoa usuaria." + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" +"Está a piques de gardar cambios, pero o formato de ficheiro actual non " +"permite gardar os seguintes elementos. Use o formato de arquivo de " +"documento de Okular para preservalos." + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "Aviso" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, fuzzy, kde-format +#| msgid "Save as Okular document archive..." +msgid "Save as Okular document archive…" +msgstr "Gardar como arquivo de documento de Okular…" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" +"Está a piques de gardar cambios, pero o formato de ficheiro actual non " +"permite gardar os seguintes elementos. Use o formato de arquivo de " +"documento de Okular para preservalos. Prema Continuar para gardar " +"o documento e descartar estes elementos." + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" +"Está a piques de gardar cambios, pero o formato de ficheiro actual non " +"permite gardar os seguintes elementos. Use o formato de arquivo de " +"documento de Okular para preservalos. Prema Continuar para " +"gardar, pero perderá tanto estes elementos como o historial de desfacer e " +"refacer." + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "Continuar" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "Continuar perdendo os cambios." + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "Non foi posíbel gardar o ficheiro en «%1». %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"Okular non pode copiar %1 no lugar indicado.\n" +"\n" +"O documento non existe máis." + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" +"Non foi posíbel gardar o ficheiro en «%1». Erro: «%2». Inténteo gardar " +"noutro sitio." + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "Expand whole section" +msgid "Expand Whole Section" +msgstr "Expandir toda a sección" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "Collapse whole section" +msgid "Collapse Whole Section" +msgstr "Pregar a sección" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "Sincronizar as miniaturas coa páxina" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Ferramentas" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "Falar" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "Imprimir" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "Non se permite imprimir este documento." + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"Non foi posíbel imprimir o documento. Descoñécese o erro. Informe del en " +"bugs.kde.org" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"Non foi posíbel imprimir o documento. O erro detallado é «%1». Informe del " +"en bugs.kde.org." + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "Ir a onde estaba antes" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "Ir a onde estivo despois" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"Erro de ficheiro! Non se puido crear o ficheiro " +"temporal %1." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"Erro de ficheiro! Non se puido abrir o ficheiro " +"%1 para descomprimilo. Non se puido cargar o " +"ficheiro." + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"Este erro ocorre polo xeral se non ten permisos de abondo para ler o " +"ficheiro. Pode comprobar a propiedade e permisos se fai clic dereito no " +"ficheiro en Dolphin, escoller a opción «Propiedades» e seleccionar a lapela " +"«Permisos» na xanela que se abre." + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"Erro de ficheiro! Non se puido descomprimir o ficheiro " +"%1. Non se puido cargar o ficheiro." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"Este erro ocorre polo xeral se o ficheiro está corrompido. Se quere " +"asegurarse, probe a descomprimilo manualmente usando ferramentas da liña de " +"ordes." + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "Sen marcadores" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "Produciuse un problema ao compartir o documento: %1" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "Compartir" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "Compartiuse o documento." + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "Pode atopar o documento compartido en %1." + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "&Editar" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "&Vista" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&Ir a" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "&Utilidades" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "Barra de ferramentas principal" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "Barra de ferramentas de anotación" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, kde-format +msgid "Quick Annotation Toolbar" +msgstr "Barra de ferramentas rápida de anotación" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "Opcións xerais" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Accesibilidade" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "Axudas para facer accesíbel a lectura" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Rendemento" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "Optimización do rendemento" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "Configurar o visor" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Presentación" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "Opcións para o modo de presentación" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "Opcións das anotacións" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "Editor" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "Configuración do editor" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" +"O editor definiuse na liña de ordes como\n" +" %1 \n" +"Se quere usar a opción, inicie Okular sen a opción «--editor-cmd»." + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "Atopar a seguinte" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 – Presentación" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "Cambiar de pantalla" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "Pantalla %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "Saír do modo de presentación" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Título: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Páxinas: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "Premer para comezar" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "Deter" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "Reproducir" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"Hai dous xeitos de saír do modo de presentación: pode premer a tecla ESC ou " +"premer o botón de saír que aparece cando se pon o rato na esquina superior " +"dereita. Por suposto, tamén pode circular polas xanelas (Alt+Tab de maneira " +"predeterminada)." + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "Nunha presentación" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "Ficheiro descoñecido" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "Propiedades de %1" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "&Fontes" + +#: part/propertiesdialog.cpp:145 +#, fuzzy, kde-format +#| msgid "Reading font information..." +msgid "Reading font information…" +msgstr "Lendo a información da fonte…" + +#: part/propertiesdialog.cpp:158 +#, kde-format +msgid "&Page Sizes" +msgstr "Tamaños de &páxina" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "&Extraer a fonte" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Tipo 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Tipo 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "Tipo 1C (OT)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Tipo 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType (OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID Tipo 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID Tipo 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID Tipo 0C (OT)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType (OT)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "TeX PK" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "TeX virtual" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "Métrica de fonte de TeX" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "TeX manexado por FreeType" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "Descoñecida" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "Incrustada (subconxunto)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "Incrustada por completo" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "Non" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "Si (subconxunto)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "Si" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "%1 (substituíndo por %2)" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "[n/d]" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "Fonte descoñecida" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "Incrustada: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "Nome" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "Tipo" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "Ficheiro" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "Páxina" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "Tamaño" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "Vista previa da revisión" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "Onde quere gardar a revisión?" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "Non foi posíbel gardar o ficheiro %1." + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "Non foi posíbel ver a revisión." + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "Insira polo menos tres letras para filtrar as páxinas" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "Distinguir as maiúsculas" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "Coincidir coa frase" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "Coincidir con todas as palabras" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "Coincidir con calquera palabra" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "Opcións de filtro" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, kde-format +msgid "Certificates" +msgstr "Certificados" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "Seleccione o certificado co que asinar:" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "Todo" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, kde-format +msgid "Only QES certificates" +msgstr "Só os certificados QES" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "Só chaves PGP" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "Motivo:" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, kde-format +msgid "optional" +msgstr "opcional" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "Lugar:" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, kde-format +msgid "Background:" +msgstr "Fondo:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "Escoller…" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, kde-format +msgid "Recent backgrounds:" +msgstr "Fondos recentes:" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

No annotations

To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
" +msgstr "" +"

Sen anotacións

Para crear novas anotacións prema " +"F6 ou escolla Utilidades → Anotacións no menú.
" + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "Agrupar segundo a páxina" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "Agrupar segundo a autoría" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "Amosar só as anotacións da páxina actual" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "Expandir todos os elementos" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "Pregar todos os elementos" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "Propiedades" + +#: part/signaturepartutils.cpp:180 +#, kde-format +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Imaxes (%1)" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "Seleccionar unha imaxe de fondo" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "Esquecelo a imaxe" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "Esquecer todas as imaxes" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "Introduza o contrasinal (se existe) para desbloquear o certificado: %1" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "Introduza o contrasinal do certificado" + +#: part/signaturepartutils.cpp:244 +#, kde-format +msgid "Enter document password" +msgstr "Introduza o contrasinal do documento" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "Gardar o ficheiro asinado como" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "%1_asinado.%2" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "Estado da validez" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "Validez da sinatura:" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "Modificacións do documento:" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "Información adicional" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "Asinado por:" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "Hora da sinatura:" + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "Versión do documento" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Revisión %1 de %2 do documento" + +#: part/signaturepropertiesdialog.cpp:88 +#, fuzzy, kde-format +#| msgid "View Signed Version..." +msgid "View Signed Version…" +msgstr "Ver a versión asinada…" + +#: part/signaturepropertiesdialog.cpp:95 +#, fuzzy, kde-format +#| msgid "View Certificate..." +msgid "View Certificate…" +msgstr "Ver o certificado…" + +#: part/signaturepropertiesdialog.cpp:97 +#, kde-format +msgid "View in Certificate Manager" +msgstr "Ver no xestor de certificados" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "Non se atopou o xestor de certificados de KDE (kleopatra)." + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "Cualificada" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "PGP" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "Amosar só as páxinas marcadas" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "Reproducir" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Pausar" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "Deter" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "Esta construción de Okular non permite vídeo." + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "Esta construción de Okular non permite vídeo." + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, fuzzy, kde-format +#| msgid "&Edit" +msgid "&Edit…" +msgstr "&Editar" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "&Retirar" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "&Subir" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "&Baixar" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "Ferramenta de debuxo predeterminada número %1" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "Xa hai unha ferramenta con ese nome. Usarase un nome predeterminado." + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "Nome duplicado" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "Páxina a amosar do documento" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "Iniciar o documento no modo presentación" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "Iniciar co diálogo de impresión" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "Iniciar co diálogo de impresión e saír tras imprimir." + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "Control de «sesión única»" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "Non elevar a xanela" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "Atopar unha cadea no texto" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "Define a orde do editor externo" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "Os documentos para abrir. Indique «-» para ler da entrada estándar." + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" +"Non pode definir a orde do editor externo nunha instancia de Okular que xa " +"está en execución. Desactive as lapelas e inténteo de novo. Teña en conta " +"que «unique» tampouco se permite ao definir a orde do editor na liña de " +"ordes.\n" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "Erro: Non é posíbel abrir máis dun documento coa opción «--unique»." + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" +"Erro: Non é posíbel abrir máis dun documento coa opción «--presentation»." + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "Erro: Non é posíbel abrir máis dun documento coa opción «--print»." + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "Erro: Non é posíbel abrir máis dun documento coa opción «--page»." + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "Erro: Non é posíbel abrir máis dun documento coa opción «--find»." + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "Non é posíbel atopar o compoñente de Okular: %1" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "Barra lateral" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" +"Xa se está a executar unha instancia de Okular única. Esta instancia non " +"será a única." + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "Non é posíbel atopar o compoñente de Okular." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"Prema para abrir un ficheiro\n" +"Prema e manteña premido para abrir un ficheiro recente" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"Prema para abrir un ficheiro ou Prema e manteña premido para " +"escoller un ficheiro recente" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "Seguinte lapela" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "Lapela anterior" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "Desfacer o peche de lapela" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "Bloquear a barra lateral" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "Todos os ficheiros (*)" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "Todos os ficheiros compatíbeis (%1)" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "Abrir un documento" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "Confirmar o peche" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "Pechar as lapelas" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "Está a piques de pechar %1 lapelas. Seguro que quere continuar?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "Avisarme cando intente pechar varias lapelas." + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "&Copiar a ruta" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "Abrir o cartafol c&ontedor…" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "&Esquecer este elemento" + +#: shell/welcomescreen.cpp:137 +#, kde-format +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "Non hai documentos recentes" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "Benvida a Okular" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Abrir un documento…" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, kde-format +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Documentos recentes" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "Esquecelo todo" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "Agochar a pantalla de benvida." + +#~ msgid "Geometry with Comment" +#~ msgstr "Xeometría con comentario" + +#~ msgid "Geometry" +#~ msgstr "Xeometría" + +#~ msgctxt "Annotation type: contents" +#~ msgid "%1: %2" +#~ msgstr "%1: %2" + +#~ msgid "Modified: %1" +#~ msgstr "Modificado: %1" + +#~ msgid "Find..." +#~ msgstr "Atopar…" + +#~ msgid "Go To Page..." +#~ msgstr "Ir á páxina…" + +#~ msgid "Play movie..." +#~ msgstr "Reproducir un filme…" + +#~ msgid "Search..." +#~ msgstr "Buscar…" + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "Gardar &como…" + +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "&Ver…" + +#~ msgid "&Sign..." +#~ msgstr "A&sinar…" + +#~ msgid "Configure Viewer..." +#~ msgstr "Configurar o visor…" + +#~ msgid "Configure Viewer Backends..." +#~ msgstr "Configurar os motores do visor…" + +#~ msgid "Configure Backends..." +#~ msgstr "Configurar os motores…" + +#~ msgid "&Add..." +#~ msgstr "&Engadir…" + +#~ msgid "&Edit..." +#~ msgstr "&Editar…" + +#~ msgctxt "%1 is a file path" +#~ msgid "" +#~ "Could not sign. Invalid certificate password or could not write to '%1'" +#~ msgstr "" +#~ "Non foi posíbel asinar. O contrasinal do certificado non é correcto ou " +#~ "non se puido escribir en «%1»" + +#, fuzzy +#~| msgid "" +#~| "All your signing certificates are either not valid yet or are past their " +#~| "validity date." +#~ msgid "All your signing certificates are invalid" +#~ msgstr "" +#~ "Todos os seus certificados de sinatura ou non son válidos ou superaron a " +#~ "súa data de validez." + +#~ msgid "Unsigned Signature %1" +#~ msgstr "Sinatura sen asinar %1" + +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "Descoñecida" + +#~ msgctxt "Signature type" +#~ msgid "Unsigned signature" +#~ msgstr "Sinatura sen asinar" + +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "Spinbox prefix: Advance automatically: every n seconds" +#~ msgid "every " +#~ msgstr "cada" + +#~ msgctxt "Suffix for the pen width, eg '10 px'" +#~ msgid " px" +#~ msgstr " px" + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " %" + +#~ msgctxt "%1 is a file path" +#~ msgid "Could not sign. Could not write to '%1'" +#~ msgstr "Non foi posíbel asinar. Non se puido escribir en «%1»." + +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "Axustar á anchura" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "Axustar á páxina" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Auto Fit" +#~ msgstr "Axuste automático" + +#~ msgid "*|All Files" +#~ msgstr "*|Todos os ficheiros" + +#~ msgid "Missing alert type" +#~ msgstr "Falta o tipo de alerta" + +#~ msgid "" +#~ "The file '%1' has been modified by another program, which means it can no " +#~ "longer be saved." +#~ msgstr "" +#~ "Outro programa modificou o ficheiro «%1», o que significa que xa non se " +#~ "pode gardar." + +#~ msgid "Show Sidebar" +#~ msgstr "Mostrar a barra lateral" + +#~ msgctxt "@info" +#~ msgid "" +#~ "experimental feature.Stamps inserted in PDF documents are " +#~ "not visible in PDF readers other than Okular." +#~ msgstr "" +#~ "Funcionalidade experimental.Os selos inseridos en " +#~ "documentos PDF non se poden ver noutros lectores de PDF, só en Okular." + +#, fuzzy +#~| msgctxt "@info" +#~| msgid "" +#~| "experimental feature.Stamps inserted in PDF documents are " +#~| "not visible in PDF readers other than Okular." +#~ msgctxt "@info" +#~ msgid "" +#~ "Stamps inserted in PDF documents are not visible in PDF readers other " +#~ "than Okular" +#~ msgstr "" +#~ "Funcionalidade experimental.Os selos inseridos en " +#~ "documentos PDF non se poden ver noutros lectores de PDF, só en Okular." + +#, fuzzy +#~| msgid "Experimental" +#~ msgctxt "@title:window" +#~ msgid "Experimental feature" +#~ msgstr "Experimental" + +#~ msgid "Remove Bookmarks" +#~ msgstr "Retirar os marcadores" + +#, fuzzy +#~| msgid "Annotations" +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "Anotacións" + +#, fuzzy +#~| msgid "Highlight" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "Realzar" + +#, fuzzy +#~| msgid "Underline" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Underline" +#~ msgstr "Subliñado" + +#, fuzzy +#~| msgid "Squiggle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Squiggle" +#~ msgstr "Borrancho" + +#, fuzzy +#~| msgid "Strike Out" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Strike Out" +#~ msgstr "Riscado" + +#, fuzzy +#~| msgid "Insert" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "Inserir" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "Nota incluída" + +#, fuzzy +#~| msgid "Pop-up Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "Nota emerxente" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a freehand line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Freehand Line" +#~ msgstr "Debuxar unha liña a man alzada" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a straight line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Straight line" +#~ msgstr "Debuxar unha liña recta" + +#, fuzzy +#~| msgid "Open Arrow" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Arrow" +#~ msgstr "Frecha aberta" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a rectangle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Rectangle" +#~ msgstr "Debuxar un rectángulo" + +#, fuzzy +#~| msgid "Cyan Ellipse" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Ellipse" +#~ msgstr "Elipse cian" + +#, fuzzy +#~| msgid "Polygon" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Polygon" +#~ msgstr "Polígono" + +#, fuzzy +#~| msgid "Highlighter" +#~ msgid "Highlight in Yellow" +#~ msgstr "Realzador" + +#, fuzzy +#~| msgid "Highlight with Comment" +#~ msgid "Highlight in Green" +#~ msgstr "Realzar con comentario" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgid "Insert Inline Note" +#~ msgstr "Nota incluída" + +#, fuzzy +#~| msgid "Pop-up Note" +#~ msgid "Insert Popup Note" +#~ msgstr "Nota emerxente" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "Escolla texto" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "Escolla texto" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "Escolla texto" + +#, fuzzy +#~| msgid "&Magnifier" +#~ msgctxt "verb" +#~ msgid "&Magnify" +#~ msgstr "&Lupa" + +#, fuzzy +#~| msgctxt "Add an annotation to the page" +#~| msgid "add annotation" +#~ msgid "Bookmark annotation" +#~ msgstr "Engadir unha anotación" + +#~ msgid "&Toggle Change Colors" +#~ msgstr "C&onmutar o cambiar as cores" + +#, fuzzy +#~| msgid "Enable transitions" +#~ msgctxt "@option:check Config dialog, presentation page, transitions" +#~ msgid "Enable transitions" +#~ msgstr "Activar as transicións" + +#, fuzzy +#~| msgid "Advance every:" +#~ msgctxt "@label:spinbox Config dialog, presentation page" +#~ msgid "Advance every:" +#~ msgstr "Avanzar cada:" + +#, fuzzy +#~| msgid "Use custom background color" +#~ msgctxt "@label:listbox Config dialog, general page" +#~ msgid "Custom background color:" +#~ msgstr "Usar unha cor de fondo personalizada." + +#~ msgid "Draw border around &Images" +#~ msgstr "Debuxar un bordo arredor das &imaxes" + +#~ msgid "Speech" +#~ msgstr "Fala" + +#~ msgid "Engine" +#~ msgstr "Motor" + +#~ msgid "Identity" +#~ msgstr "Identidade" + +#~ msgid "Au&thor:" +#~ msgstr "Au&tor:" + +#~ msgid "View Options" +#~ msgstr "Opcións da vista" + +#~ msgctxt "@info:whatsthis" +#~ msgid "" +#~ "Defines the default zoom mode for files which were never opened before.\n" +#~ "For files which were opened before the previous zoom is applied." +#~ msgstr "" +#~ "Define o modo de ampliación predeterminado dos ficheiros que non se " +#~ "abrisen nunca antes.\n" +#~ "Para os ficheiros que se abrisen antes emprégase o modo de ampliación " +#~ "anterior." + +#~ msgid "Navigation" +#~ msgstr "Navegación" + +#~ msgid "Placement" +#~ msgstr "Situación" + +#~ msgid "Screen:" +#~ msgstr "Pantalla:" + +#~ msgid "Drawing Tool Configuration" +#~ msgstr "Configuración da ferramenta de debuxo" + +#~ msgid "&Get Books From Internet..." +#~ msgstr "&Obter libros de Internet…" + +#~ msgid "Reviews" +#~ msgstr "Revisións" + +#, fuzzy +#~| msgid "V%1" +#~ msgctxt "@item:inlistbox Color name" +#~ msgid "%1" +#~ msgstr "V%1" + +#~ msgid "Hide Forms" +#~ msgstr "Agochar os formularios" + +#~ msgid "&Review" +#~ msgstr "&Revisar" + +#~ msgid "Annotations author" +#~ msgstr "Autor das anotacións" + +#~ msgid "Please insert your name or initials:" +#~ msgstr "Insira o seu nome ou iniciais:" + +#~ msgid "Show &Navigation Panel" +#~ msgstr "Mostrar o panel de &navegación" + +#~ msgid "Show Text" +#~ msgstr "Mostrar o texto" + +#~ msgid "Small Icons" +#~ msgstr "Iconas pequenas" + +#~ msgid "Large Icons" +#~ msgstr "Iconas grandes" + +#~ msgid "" +#~ "Click to use the current selection tool\n" +#~ "Click on the arrow to choose another selection tool" +#~ msgstr "" +#~ "Prema para usar a utilidade de selección escollida\n" +#~ "Prema na frecha para escoller outra utilidade de selección" + +#~ msgid "Created: %1" +#~ msgstr "Creado: %1" + +#~ msgid "Style" +#~ msgstr "Estilo" + +#~ msgid "&Size:" +#~ msgstr "Dimen&sións:" + +#~ msgid "Inner color:" +#~ msgstr "Cor interna:" + +#~ msgid "Name: %1" +#~ msgstr "Nome: %1" + +#~ msgid "Size: %1" +#~ msgstr "Tamaño: %1" + +#~ msgid "&Browse Tool" +#~ msgstr "Utilidade de &navegación" + +#~ msgid "&Zoom Tool" +#~ msgstr "Utilidade de &liación" + +#~ msgctxt "Zoom Tool" +#~ msgid "Zoom" +#~ msgstr "Ampliar" + +#~ msgctxt "Select Tool" +#~ msgid "Selection" +#~ msgstr "Selección" + +#~ msgid "&Text Selection Tool" +#~ msgstr "Utilidade de selección de te&xto" + +#~ msgid "T&able Selection Tool" +#~ msgstr "Utilidade de &selección de táboas" + +#, fuzzy +#~| msgctxt "Symbol for caret annotations" +#~| msgid "None" +#~ msgid " None" +#~ msgstr "Ningún" + +#~ msgid "" +#~ "The document requested to be launched in presentation mode.\n" +#~ "Do you want to allow it?" +#~ msgstr "" +#~ "O documento pediu ser iniciado en modo de presentación.\n" +#~ "Quere permitirllo?" + +#~ msgid "Presentation Mode" +#~ msgstr "Modo de presentación" + +#~ msgid "Allow the presentation mode" +#~ msgstr "Permite o modo de presentación" + +#~ msgid "Do Not Allow" +#~ msgstr "Non permitir" + +#~ msgid "Do not allow the presentation mode" +#~ msgstr "Non permitir o modo presentación" + +#~ msgid "" +#~ "Your annotation changes will not be saved automatically. Use File -> Save " +#~ "As...\n" +#~ "or your changes will be lost once the document is closed" +#~ msgstr "" +#~ "Os cambios nas anotacións non se van gardar automaticamente. Empregue " +#~ "«Ficheiro → Gardar como…»\n" +#~ "ou os cambios perderanse ao pechar o documento." + +#~ msgid "" +#~ "Your annotations are saved internally by Okular.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" +#~ msgstr "" +#~ "Okular garda automaticamente as anotacións.\n" +#~ "Pode exportar o documento anotado empregando «Ficheiro → Exportar como → " +#~ "Arquivo de documento»." + +#~ msgid "Save &Copy As..." +#~ msgstr "Gardar unha &copia como…" + +#~ msgid "" +#~ "Your annotations will not be exported.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" +#~ msgstr "" +#~ "As anotacións non se exportarán.\n" +#~ "Pode exportar o documento anotado empregando «Ficheiro → Exportar como → " +#~ "Arquivo de documento»." + +#~ msgid "" +#~ "End of document reached.\n" +#~ "Continue from the beginning?" +#~ msgstr "" +#~ "Acadouse a fin do documento.\n" +#~ "Desexa continuar desde o inicio?" + +#~ msgid "" +#~ "Beginning of document reached.\n" +#~ "Continue from the bottom?" +#~ msgstr "" +#~ "Acadouse o comezo do documento.\n" +#~ "Desexa continuar desde o final?" + +#~ msgid "Current maintainer" +#~ msgstr "Mantedor actual" + +#~ msgid " sec." +#~ msgstr " seg." + +#~ msgid "Pencil color:" +#~ msgstr "Cor do lapis:" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A0" +#~ msgstr "DIN/ISO A0 horizontal" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A0" +#~ msgstr "DIN/ISO A0 vertical" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A1" +#~ msgstr "DIN/ISO A1 horizontal" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A1" +#~ msgstr "DIN/ISO A1 vertical" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A2" +#~ msgstr "DIN/ISO A2 horizontal" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A2" +#~ msgstr "DIN/ISO A2 vertical" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A3" +#~ msgstr "DIN/ISO A3 horizontal" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A3" +#~ msgstr "DIN/ISO A3 vertical" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A4" +#~ msgstr "DIN/ISO A4 horizontal" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A4" +#~ msgstr "DIN/ISO A4 vertical" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A5" +#~ msgstr "DIN/ISO A5 horizontal" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A5" +#~ msgstr "DIN/ISO A5 vertical" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A6" +#~ msgstr "DIN/ISO A6 horizontal" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A6" +#~ msgstr "DIN/ISO A6 vertical" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A7" +#~ msgstr "DIN/ISO A7 horizontal" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A7" +#~ msgstr "DIN/ISO A7 vertical" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A8" +#~ msgstr "DIN/ISO A8 horizontal" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A8" +#~ msgstr "DIN/ISO A8 vertical" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A9" +#~ msgstr "DIN/ISO A9 horizontal" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A9" +#~ msgstr "DIN/ISO A9 vertical" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B0" +#~ msgstr "DIN/ISO B0 horizontal" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B0" +#~ msgstr "DIN/ISO B0 vertical" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B1" +#~ msgstr "DIN/ISO B1 horizontal" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B1" +#~ msgstr "DIN/ISO B1 vertical" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B2" +#~ msgstr "DIN/ISO B2 horizontal" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B2" +#~ msgstr "DIN/ISO B2 vertical" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B3" +#~ msgstr "DIN/ISO B3 horizontal" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B3" +#~ msgstr "DIN/ISO B3 vertical" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B4" +#~ msgstr "DIN/ISO B4 horizontal" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B4" +#~ msgstr "DIN/ISO B4 vertical" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B5" +#~ msgstr "DIN/ISO B5 horizontal" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B5" +#~ msgstr "DIN/ISO B5 vertical" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B6" +#~ msgstr "DIN/ISO B6 horizontal" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B6" +#~ msgstr "DIN/ISO B6 vertical" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B7" +#~ msgstr "DIN/ISO B7 horizontal" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B7" +#~ msgstr "DIN/ISO B7 vertical" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B8" +#~ msgstr "DIN/ISO B8 horizontal" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B8" +#~ msgstr "DIN/ISO B8 vertical" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B9" +#~ msgstr "DIN/ISO B9 horizontal" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B9" +#~ msgstr "DIN/ISO B9 vertical" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B10" +#~ msgstr "DIN/ISO B10 horizontal" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B10" +#~ msgstr "DIN/ISO B10 vertical" + +#~ msgctxt "paper size" +#~ msgid "landscape letter" +#~ msgstr "Carta horizontal" + +#~ msgctxt "paper size" +#~ msgid "portrait letter" +#~ msgstr "Carta vertical" + +#~ msgctxt "paper size" +#~ msgid "landscape legal" +#~ msgstr "Legal horizontal" + +#~ msgctxt "paper size" +#~ msgid "portrait legal" +#~ msgstr "Legal vertical" + +#~ msgctxt "paper size" +#~ msgid "landscape executive" +#~ msgstr "Executivo horizontal" + +#~ msgctxt "paper size" +#~ msgid "portrait executive" +#~ msgstr "Executivo vertical" + +#~ msgctxt "paper size" +#~ msgid "landscape Comm10E" +#~ msgstr "Comm10E horizontal" + +#~ msgctxt "paper size" +#~ msgid "portrait Comm10E" +#~ msgstr "Comm10E vertical" + +#~ msgctxt "paper size" +#~ msgid "landscape DLE" +#~ msgstr "DLE horizontal" + +#~ msgctxt "paper size" +#~ msgid "portrait DLE" +#~ msgstr "DLE vertical" + +#~ msgctxt "paper size" +#~ msgid "landscape folio" +#~ msgstr "Folio horizontal" + +#~ msgctxt "paper size" +#~ msgid "portrait folio" +#~ msgstr "Folio vertical" + +#~ msgctxt "paper size" +#~ msgid "ledger" +#~ msgstr "Libro maior" + +#~ msgctxt "paper size" +#~ msgid "tabloid" +#~ msgstr "Tabloide" + +#~ msgctxt "paper size" +#~ msgid "unknown landscape paper size" +#~ msgstr "Folla horizontal de tamaño descoñecido" + +#~ msgctxt "paper size" +#~ msgid "unknown portrait paper size" +#~ msgstr "Folla vertical de tamaño descoñecido" + +#~ msgid "Toggle Drawing Mode" +#~ msgstr "Conmutar o modo de debuxo" + +#~ msgid "Starting Jovie Text-to-Speech service Failed: %1" +#~ msgstr "Fallou o arranque do servizo Jovie de texto lido: %1" + +#~ msgid "Search Columns" +#~ msgstr "Columnas de busca" + +#~ msgid "All Visible Columns" +#~ msgstr "Todas as columnas visíbeis" + +#~ msgid "No document opened." +#~ msgstr "Non hai ningún documento aberto." + +#~ msgid "Can't open more than one document in the unique Okular instance." +#~ msgstr "" +#~ "Non é posíbel abrir máis de un documento na instancia única de Okular." + +#~ msgid "No matches found for '%1'." +#~ msgstr "Non se atoparon coincidencias con «%1»." + +#~ msgid "Search in progress..." +#~ msgstr "Busca en marcha..." + +#~ msgid "Searching for %1" +#~ msgstr "Estase a buscar %1" + +#~ msgid "Identity Settings" +#~ msgstr "Configuración da identidade" + +#~ msgid "Highlight Properties" +#~ msgstr "Propiedades do realce" + +#~ msgid "Ink Properties" +#~ msgstr "Propiedades da tinta" + +#~ msgctxt "Annotation tool" +#~ msgid "Text Annotation" +#~ msgstr "Anotación de texto" + +#~ msgctxt "Annotation tool" +#~ msgid "Green Ink" +#~ msgstr "Tinta verde" + +#~ msgctxt "Annotation tool" +#~ msgid "Yellow Highlight" +#~ msgstr "Realzado amarelo" + +#~ msgctxt "Annotation tool" +#~ msgid "Straight Yellow Line" +#~ msgstr "Liña recta amarela " + +#~ msgid "Black Underlining" +#~ msgstr "Subliñado en negro" + +#~ msgctxt "Annotation tool" +#~ msgid "Underline the text with a black line" +#~ msgstr "Subliñar o texto cunha liña negra" + +#~ msgctxt "Annotation tool" +#~ msgid "A cyan ellipse" +#~ msgstr "Unha elipse cian" + +#~ msgid "Ink" +#~ msgstr "Tinta" diff --git a/po/gl/okular_comicbook.po b/po/gl/okular_comicbook.po new file mode 100644 index 0000000..4c66752 --- /dev/null +++ b/po/gl/okular_comicbook.po @@ -0,0 +1,60 @@ +# translation of okular_comicbook.po to galician +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# mvillarino , 2008. +# Xosé , 2008. +# Marce Villarino , 2009, 2014. +# Adrián Chaves (Gallaecio) , 2018. +msgid "" +msgstr "" +"Project-Id-Version: okular_comicbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2018-11-17 20:29+0100\n" +"Last-Translator: Adrián Chaves (Gallaecio) \n" +"Language-Team: Galician \n" +"Language: gl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Marce Villarino" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "mvillarino@users.sourceforge.net" + +#: document.cpp:97 +#, kde-format +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "" +"Non é posíbel abrir o documento, non se atoparon nin unrar nin unarchiver." + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "A versión de unrar no sistema non é axeitada para abrir comicbooks." + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "Formato ComicBook descoñecido." + +#~ msgid "ComicBook Backend" +#~ msgstr "Infraestrutura para ComicBook" + +#~ msgid "A renderer for various comic book formats" +#~ msgstr "Un visor de varios formatos de banda deseñada" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/gl/okular_djvu.po b/po/gl/okular_djvu.po new file mode 100644 index 0000000..2023c48 --- /dev/null +++ b/po/gl/okular_djvu.po @@ -0,0 +1,138 @@ +# translation of okular_djvu.po to Galician +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# mvillarino , 2007, 2008. +# Marce Villarino , 2009. +# Adrián Chaves (Gallaecio) , 2023. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_djvu\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2023-04-06 21:45+0200\n" +"Last-Translator: Adrián Chaves (Gallaecio) \n" +"Language-Team: Galician \n" +"Language: gl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 22.12.3\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Marce Villarino" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "mvillarino@users.sourceforge.net" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "Editor" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "Editor" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "Volume" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "Tipo de documento" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "Descoñecido" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "Ficheiros compoñentes" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "Descoñecido" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "Páxina única" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "Feixe" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "Indirecto" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "Feixe (vello)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "Indexado (vello)" + +#~ msgid "DjVu Backend" +#~ msgstr "Infraestrutura para DjVu" + +#~ msgid "DjVu backend based on DjVuLibre." +#~ msgstr "Infraestrutura de DjVu baseada en DjVuLibre." + +#~ msgid "© 2006-2008 Pino Toscano" +#~ msgstr "© 2006-2008 Pino Toscano" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgctxt "Unknown title" +#~ msgid "Unknown" +#~ msgstr "Descoñecido" + +#~ msgctxt "Unknown author" +#~ msgid "Unknown" +#~ msgstr "Descoñecido" + +#~ msgctxt "Unknown editor" +#~ msgid "Unknown" +#~ msgstr "Descoñecido" + +#~ msgctxt "Unknown publisher" +#~ msgid "Unknown" +#~ msgstr "Descoñecido" + +#~ msgctxt "Unknown creation date" +#~ msgid "Unknown" +#~ msgstr "Descoñecida" + +#~ msgctxt "Unknown volume information" +#~ msgid "Unknown" +#~ msgstr "Descoñecido" + +#~ msgctxt "Unknown type of document" +#~ msgid "Unknown" +#~ msgstr "Descoñecido" diff --git a/po/gl/okular_dvi.po b/po/gl/okular_dvi.po new file mode 100644 index 0000000..f834efd --- /dev/null +++ b/po/gl/okular_dvi.po @@ -0,0 +1,755 @@ +# translation of okular_dvi.po to galician +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# mvillarino , 2007, 2008, 2009. +# Marce Villarino , 2009, 2013, 2014. +# Adrián Chaves Fernández , 2015, 2017. +# SPDX-FileCopyrightText: 2024 Adrián Chaves (Gallaecio) +# +msgid "" +msgstr "" +"Project-Id-Version: okular_dvi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-08-19 15:18+0200\n" +"Last-Translator: Adrián Chaves (Gallaecio) \n" +"Language-Team: Proxecto Trasno (proxecto@trasno.gal)\n" +"Language: gl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 24.05.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Marce Villarino, Xosé Calvo" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "mvillarino@users.sourceforge.net, xosecalvo@gmail.com" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

" +msgstr "" +"

Okular non puido localizar o programa dvipdfm no computador. " +"Ese programa é esencial para que funcione a exportación. Porén, pode " +"converter o ficheiro DVI nun PDF usando a función de impresión de Okular, " +"pero iso a miúdo dá ficheiros que se imprimen correctamente pero teñen unha " +"calidade menor se son vistos no Acrobat Reader. Poida que lle conveña anovar " +"a unha versión máis moderna da súa distribución TeX que inclúa o programa " +"dvipdfm.

Axuda para administradores sorprendidos: Okular usar " +"a variábel de contorno PATH para atopar os programas.

" + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"O programa externo «dvipdfm», usado para exportar o ficheiro, informou " +"dun erro. Se desexa un informe preciso do erro o atopará no diálogo " +"de información do documento." + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" +"Este ficheiro DVI refírese a ficheiros gráficos externos que non están " +"en formato PostScript, e o programa dvips non pode manexalo, que " +"Okular usa internamente para imprimir ou exportar a PostScript. A " +"funcionalidade que vostede require non está dispoñíbel nesta versión de " +"Okular." + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

" +msgstr "" +"

Okular non puido atopar no computador o programa dvips. Ese " +"programa é esencial para a función de exportación.

Axuda para o " +"administrador sorprendido: Okular usa a variábel de contorno PATH para " +"atopar os programas.

" + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"O programa externo «dvips», que se usou para exportar o ficheiro, " +"informou dun erro. Se desexa un informe de erro preciso, consulte o " +"diálogo de información do ficheiro que pode atopar no menú " +"Ficheiro." + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "O ficheiro DVI non comeza polo preámbulo." + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" +"O ficheiro DVI contén a versión errada para este programa da saída de DVI. " +"Consello: Se usa o sistema de configuracións de tipos Omega, terá que usar " +"un programa especial, como oxdvi." + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "" +"O ficheiro DVI está corrompido. Okular non foi capaz de atopar a conclusión." + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "A conclusión non comeza pola orde POST." + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "A conclusión contiña unha orde distinta de FNTDEF." + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "A páxina %1 non comeza pola orde BOP." + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

PATH: %2

" +msgstr "" +"

Non se puido iniciar o programa externo pdf2ps. Como " +"resultado, non se puido converter o ficheiro PDF %1 en PostScript. Polo " +"tanto non se amosarán algúns dos elementos gráficos do documento.

Posíbel causa: Poida que o programa pdf2ps non " +"estea instalado ou que non se poida atopar na ruta de busca actual.

Como solucionalo: Polo xeral o programa pdf2ps " +"vai incluído nas distribucións do sistema intérprete de PostScript " +"«ghostscript». Se non ten «ghostscript» instalado no sistema, instáleo. Se " +"ten a certeza de que «ghostscript» está instalado, probe a usar " +"pdf2ps na liña de ordes para comprobar se realmente " +"funciona.

Ruta de busca (variábel «PATH»): %2

" + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

%2

" +msgstr "" +"

Non se puido converter o ficheiro PDF %1 en PostScript. Polo tanto " +"algúns elementos gráficos do documento non se amosarán.

Posíbel " +"razón: Poida que o ficheiro %1 estea estragado, ou que non sexa un " +"ficheiro PDF. Esta é a saída do programa pdf2ps que Okular " +"usa:

%2

" + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "Corrupción no ficheiro. %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "" +"Non todos os ficheiros PostScript externos se incorporaron ao documento. %1" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "Todos os ficheiros PostScript externos se incorporaron ao documento." + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "O ficheiro indicado, «%1», non existe." + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" +"Pediulle a Okular que atope o lugar do ficheiro DVI que corresponde coa liña " +"%1 do ficheiro de TeX %2. Aparentemente, o ficheiro DVI non contén a " +"información necesaria sobre o ficheiro fonte." + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" +"Okular non foi capaz de atopar o lugar do ficheiro DVI que corresponde á " +"liña %1 no ficheiro de TeX %2." + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "O código DVI definiu un carácter dunha fonte descoñecida." + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "" +"O código DVI referíase á fonte n.º %1, que non se definiu con anterioridade." + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "A meda non estaba baleira cando se atopou a orde EOP." + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "A meda estaba baleira cando se atopou unha orde POP." + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "O código DVI referíase a unha fonte non definida previamente." + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "Atopouse unha orde inaceptábel." + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "Atopouse o código de operación descoñecido %1." + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "Incrustando %1" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
" +msgstr "" +"Páxina %1: Non se puido converter o ficheiro PDF %2 en " +"PostScript.
" + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
" +msgstr "" +"Páxina %1: Non se puido atopar o ficheiro PostScript %2.
" + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "Non foi posíbel procesar os datos de tamaño de papel «%1»." + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

PATH: %1

%2

" +msgstr "" +"

Okular non foi capaz de atopar todos os ficheiros de fonte que son " +"precisos para amosar este ficheiro DVI. O documento pode ser ilexíbel.

PATH: %1

%2

" + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

PATH: %1

%2

" +msgstr "" +"

Producíronse problemas ao executar kpsewhich. En " +"consecuencia, non se puideron atopar algúns ficheiros de fonte e o documento " +"podería non ser lexíbel.
Posíbel causa: O programa kpsewhich " +"podería non estar instalado no sistema ou non pode atoparse na ruta de busca " +"actual.

Ruta de busca (variábel «PATH»): %1

%2

" + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" +"Interrompeuse a xeración das fontes mediante kpsewhich(código " +"de saída %1, erro %2). En consecuencia, non se puideron atopar algúns " +"ficheiros de fonte e o documento podería ser ilexíbel." + +#: fontpool.cpp:482 +#, fuzzy, kde-format +#| msgid "Currently generating %1 at %2 dpi..." +msgid "Currently generating %1 at %2 dpi…" +msgstr "Xerando %1 con %2 ppp…" + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "Xerador/Data" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "Non se atopou o ficheiro da fonte" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "%1 × %2" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "%1 × %2 mm" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "%1 × %2 pol" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "retrato" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "apaisado" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" +"A versión de Ghostview que está instalada neste computador non contén ningún " +"dos controladores de dispositivo de Ghostview que coñece Okular. Polo tanto " +"desactivouse a compatibilidade con PostScript en Okular." + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "" +"Con este van 25 erros. Non se imprimirán as mensaxes de erro que sigan." + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" +"Erro no ficheiro DVI «%1», páxina %2. Emitiuse unha orde «pop» de cor pero a " +"pila de cores está baleira." + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" +"Parámetro mal formado na orde especial «epsf».\n" +"Agardábase un valor de coma flotante tras %1 en %2" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"Ficheiro non atopado: \n" +" %1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" +"Erro no ficheiro DVI «%1», páxina %2. Non se puido interpretar o ángulo na " +"rotación do texto especial." + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "A orde especial «%1» non está realizada." + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" +"Foi posíbel abrir e ler o ficheiro de fonte %1, pero o formato de fonte non " +"se permite." + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "O ficheiro de fonte %1 está estragado ou non se puido abrir ou lelo." + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" +"FreeType informou dun erro ao axustar o tamaño dos caracteres do ficheiro de " +"fonte %1." + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "FreeType non pode cargar o glifo n.º %1 do ficheiro de fonte %2." + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "FreeType non pode cargar o glifo n.º %1 do ficheiro de fonte %2." + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "O glifo n.º %1 está baleiro." + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "O glifo n.º %1 do ficheiro de fonte %2 está baleiro." + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "" +"FreeType non pode cargar a métrica do glifo n.º %1 do ficheiro de fonte %2." + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "Non é posíbel abrir o ficheiro de fonte %1." + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "TexFont_PK::operator[]: O carácter %1 non está definido na fonte %2" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "%1 inesperado no ficheiro PK %2" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "O carácter %1 é grande de máis no ficheiro %2" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "Número incorrecto de bits almacenados: carácter %1, tipo de letra %2" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "Ficheiro pk incorrecto (%1), demasiados bits" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "A fonte ten unhas proporcións non cadradas" + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "Non é posíbel atopar a fonte %1, ficheiro %2." + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "Erro na suma de comprobación do ficheiro de fonte %1" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "Non é posíbel recoñecer o formato do ficheiro de fonte %1" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"Erro fatal.\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" +"\n" +"\n" +"Isto probabelmente signifique que ou atopou un fallo en Okular,\n" +"ou que o ficheiro DVI, ou os auxiliares (como ficheiros de fonte ou de fonte " +"virtual) estaban realmente corruptos.\n" +"Okular vaise interromper tras esta mensaxe. Se pensa que acabade atopar un " +"fallo ou que\n" +"Okular debería comportarse dun modo distinto nesta situación, informe do\n" +"problema." + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "" +"Atopouse un byte incorrecto de orde na lista de macro da fonte virtual: %1" + +#~ msgid "" +#~ "

The Ghostview program, which Okular uses internally to display the " +#~ "PostScript graphics that is included in this DVI file, is generally able " +#~ "to write its output in a variety of formats. The sub-programs that " +#~ "Ghostview uses for these tasks are called 'device drivers'; there is one " +#~ "device driver for each format that Ghostview is able to write. Different " +#~ "versions of Ghostview often have different sets of device drivers " +#~ "available. It seems that the version of Ghostview that is installed on " +#~ "this computer does not contain any of the device drivers " +#~ "that are known to Okular.

It seems unlikely that a regular " +#~ "installation of Ghostview would not contain these drivers. This error may " +#~ "therefore point to a serious misconfiguration of the Ghostview " +#~ "installation on your computer.

If you want to fix the problems with " +#~ "Ghostview, you can use the command gs --help to display " +#~ "the list of device drivers contained in Ghostview. Among others, Okular " +#~ "can use the 'png256', 'jpeg' and 'pnm' drivers. Note that Okular needs to " +#~ "be restarted to re-enable PostScript support.

" +#~ msgstr "" +#~ "

O programa Ghostview, que se usa internamente para mostrar os " +#~ "gráficos PostScript que se inclúen neste ficheiro DVI, polo xeral é capaz " +#~ "de escribir a súa saída en distintos formatos. Os subprogramas que " +#~ "Ghostview usa para estas tarefas son chamados «controladores de " +#~ "dispositivo»; hai un destes por cada formato que poida escribir " +#~ "Ghostview. Distintas versións de Ghostview a miúdo teñen conxuntos de " +#~ "controladores distintos. Semella que a versión que está instalada neste " +#~ "computador non contén ningún dos controladores coñecidos " +#~ "por Okular.

É moi improbábel que unha instalación normal de " +#~ "Ghostview non conteña ningún destes controladores. Este erro pode en " +#~ "consecuencia indicar un problema grave na configuración da instalación de " +#~ "Ghostview no computador.

Se quere corrixir os problemas con " +#~ "Ghostview, pode usar a orde gs --help para mostrar a " +#~ "lista de controladores contidos en Ghostview. Entre outros, Okular pode " +#~ "usar «png256», «jpeg» e «pnm». Lembre que Okular precisa reiniciarse para " +#~ "activar de novo a compatibilidade con PostScript.

" + +#~ msgid "DVI Backend" +#~ msgstr "Infraestrutura de DVI" + +#~ msgid "A DVI file renderer" +#~ msgstr "Un visor de ficheiros DVI" + +#~ msgid "© 2006 Luigi Toscano" +#~ msgstr "© 2006 Luigi Toscano" + +#~ msgid "" +#~ "

Okular relies on the kpsewhich program to locate font files on " +#~ "your hard disk and to generate PK fonts, if necessary.

" +#~ msgstr "" +#~ "

Okular depende do programa kpsewhich para localizar os " +#~ "ficheiros de tipos de letra no disco duro e para xerar os tipos PK, se é " +#~ "preciso.

" + +#~ msgid "Okular is currently generating bitmap fonts..." +#~ msgstr "Okular está a xerar as fontes tipográficas en mapa de bits..." + +#~ msgid "Aborts the font generation. Do not do this." +#~ msgstr "Interrompe a xeración da fonte tipográfica. Non o faga." + +#~ msgid "" +#~ "Okular is currently generating bitmap fonts which are needed to display " +#~ "your document. For this, Okular uses a number of external programs, such " +#~ "as MetaFont. You can find the output of these programs later in the " +#~ "document info dialog." +#~ msgstr "" +#~ "Okular está a xerar as fontes tipográficas de mapas de bit precisas para " +#~ "mostrar o documento. Para isto Okular usa varios programas externos, como " +#~ "MetaFont. Pode atopar a saída destes programas máis tarde no diálogo de " +#~ "información do documento." + +#~ msgid "Okular is generating fonts. Please wait." +#~ msgstr "Okular está a xerar as fontes tipográficas. Agarde un momento." + +#~ msgid "Font Generation Progress Dialog" +#~ msgstr "Diálogo de progreso da xeración das fontes tipográficas" + +#~ msgid "Abort" +#~ msgstr "Interromper" + +#~ msgid "What is happening here?" +#~ msgstr "Que está a pasar?" + +#~ msgid "%v of %m" +#~ msgstr "%v de %m" + +#~ msgid "Please be patient" +#~ msgstr "Agarde, por favor" + +#~ msgid "*.pdf|Portable Document Format (*.pdf)" +#~ msgstr "*.pdf|Formato de documento portábel (*.pdf)" + +#~ msgid "Export File As" +#~ msgstr "Exportar o ficheiro como" + +#~ msgid "" +#~ "The file %1\n" +#~ "exists. Do you want to overwrite it?" +#~ msgstr "" +#~ "Xa existe o ficheiro %1.\n" +#~ "Desexa sobrescribilo?" + +#~ msgid "Overwrite File" +#~ msgstr "Sobrescribir o ficheiro" + +#~ msgid "Overwrite" +#~ msgstr "Sobrescribir" + +#~ msgid "Using dvipdfm to export the file to PDF" +#~ msgstr "Estase a usar dvipdfm para exportar o ficheiro a PDF" + +#~ msgid "" +#~ "Okular is currently using the external program 'dvipdfm' to convert your " +#~ "DVI-file to PDF. Sometimes that can take a while because dvipdfm needs to " +#~ "generate its own bitmap fonts Please be patient." +#~ msgstr "" +#~ "Okular está a usar o programa externo «dvipdfm» para converter o ficheiro " +#~ "DVI en PDF. Ás veces iso pode levar un tempo porque dvipdfm precisa xerar " +#~ "os seus propios mapas de bits das fontes tipográficas. Teña paciencia." + +#~ msgid "Waiting for dvipdfm to finish..." +#~ msgstr "Á espera de que dvipdfm remate..." + +#~ msgid "*.ps|PostScript (*.ps)" +#~ msgstr "*.ps|PostScript (*.ps)" + +#~ msgid "Using dvips to export the file to PostScript" +#~ msgstr "Estase a usar dvips para exportar o ficheiro a PostScript" + +#~ msgid "" +#~ "Okular is currently using the external program 'dvips' to convert your " +#~ "DVI-file to PostScript. Sometimes that can take a while because dvips " +#~ "needs to generate its own bitmap fonts Please be patient." +#~ msgstr "" +#~ "Okular está a usar o programa externo «dvips» para converter o ficheiro " +#~ "DVI en PostScript. Ás veces iso pode tardar porque dvips precisa xerar os " +#~ "seus propios mapas de bits das fontes tipográficas, sexa paciente." + +#~ msgid "Waiting for dvips to finish..." +#~ msgstr "Á espera de que dvips termine..." + +#~ msgid "Functionality Unavailable" +#~ msgstr "Funcionalidade non dispoñíbel" + +#~ msgid "" +#~ "File corruption Okular could not interpret your DVI " +#~ "file. This is most commonly caused by a corrupted file." +#~ msgstr "" +#~ "Ficheiro corrupto Okular non foi capaz de " +#~ "interpretar o ficheiro DVI. Polo xeral isto é causado por un ficheiro " +#~ "corrompido." + +#~ msgid "DVI File Error" +#~ msgstr "Erro no ficheiro DVI" + +#~ msgid "Not All Font Files Found" +#~ msgstr "Non se atoparon todas as fontes tipográficas" + +#~ msgid "Locating fonts..." +#~ msgstr "Estanse a localizar as fontes tipográficas..." + +#~ msgid "" +#~ "

There were problems running kpsewhich. As a result, some font " +#~ "files could not be located, and your document might be unreadable.

Possible reason: The kpsewhich program is perhaps not " +#~ "installed on your system, or it cannot be found in the current search " +#~ "path.

What you can do: The kpsewhich program is normally " +#~ "contained in distributions of the TeX typesetting system. If TeX is not " +#~ "installed on your system, you could install the TeX Live distribution " +#~ "(www.tug.org/texlive). If you are sure that TeX is installed, please try " +#~ "to use the kpsewhich program from the command line to check if it really " +#~ "works.

" +#~ msgstr "" +#~ "

Xurdiron problemas ao executar kpsewhich. Como resultado, non " +#~ "foi posíbel localizar algúns tipos de letra e o documento podería ser " +#~ "ilexíbel.

Posíbeis razóns: Pode ser que non teña instalado o " +#~ "programa kpsewhich ou que non se poda atopar na dirección actual indicada." +#~ "

Que pode facer: Polo xeral ese programa está contido nas " +#~ "distribucións do sistema de configuración de tipos de TeX. Se non ten " +#~ "instalado a TeX no sistema, pode instalar a distribución TeX Live(www.tug." +#~ "org/texlive). Se está seguro de ter a TeX instalado, probe a usar o " +#~ "programa kpsewhich desde a liña de ordes para ver se funciona realmente." + +#~ msgid "Problem locating fonts" +#~ msgstr "Problemas ao localizar fontes tipográficas" + +#~ msgid "Font generation aborted" +#~ msgstr "Interrompeuse a xeración de fontes tipográficas" + +#~ msgid "Export: %1 to PDF" +#~ msgstr "Exportar: %1 para PDF" + +#~ msgid "Export: %1 to PostScript" +#~ msgstr "Exportar: %1 a PostScript" diff --git a/po/gl/okular_epub.po b/po/gl/okular_epub.po new file mode 100644 index 0000000..a05115d --- /dev/null +++ b/po/gl/okular_epub.po @@ -0,0 +1,56 @@ +# translation of okular_epub.po to galician +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# mvillarino , 2008. +# Marce Villarino , 2009, 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_epub\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-08-10 11:24+0200\n" +"Last-Translator: Marce Villarino \n" +"Language-Team: Galician \n" +"Language: gl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Marce Villarino" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "mvillarino@users.sourceforge.net" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "Produciuse un erro ao abrir o documento EPub." + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "EPub" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "Configuración da infraestrutura de EPub" + +#~ msgid "EPub Backend" +#~ msgstr "Infraestrutura de EPub" + +#~ msgid "An EPub backend" +#~ msgstr "Unha infraestrutura para EPub" + +#~ msgid "© 2008 Ely Levy" +#~ msgstr "© 2008 Ely Levy" + +#~ msgid "Ely Levy" +#~ msgstr "Ely Levy" diff --git a/po/gl/okular_fax.po b/po/gl/okular_fax.po new file mode 100644 index 0000000..5617b33 --- /dev/null +++ b/po/gl/okular_fax.po @@ -0,0 +1,48 @@ +# translation of okular_fax.po to Galician +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# mvillarino , 2008. +# Xosé , 2008. +# Marce Villarino , 2009. +# Marce Villarino , 2012. +msgid "" +msgstr "" +"Project-Id-Version: okular_fax\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2012-01-09 13:10+0100\n" +"Last-Translator: Marce Villarino \n" +"Language-Team: Galician \n" +"Language: gl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Marce Villarino, Xosé Calvo" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "mvillarino@kde-espana.es, proxecto@trasno.gal" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "Non é posíbel cargar o documento" + +#~ msgid "Fax Backend" +#~ msgstr "Infraestrutura de fax" + +#~ msgid "A G3/G4 fax document backend" +#~ msgstr "Unha infraestrutura de documentos de fax G3/G4" + +#~ msgid "© 2008 Tobias Koenig" +#~ msgstr "© 2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/gl/okular_fictionbook.po b/po/gl/okular_fictionbook.po new file mode 100644 index 0000000..2d57492 --- /dev/null +++ b/po/gl/okular_fictionbook.po @@ -0,0 +1,81 @@ +# translation of okular_fictionbook.po to galician +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# mvillarino , 2007, 2008. +# Marce Villarino , 2009, 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_fictionbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-10-28 22:11+0100\n" +"Last-Translator: Marce Villarino \n" +"Language-Team: Galician \n" +"Language: gl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Marce Villarino" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "mvillarino@users.sourceforge.net" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "O documento non é un FictionBook correcto." + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "Non é posíbel abrir o documento: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "O documento non é un arquivo ZIP correcto." + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "A estrutura do documento é incorrecta, falta o directorio principal." + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "Non se atopou contido no documento." + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "Documento XML incorrecto: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "FictionBook" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "Configuración da infraestrutura de FictionBook" + +#~ msgid "Fiction Book Backend" +#~ msgstr "Infraestrutura para libros FictionBook" + +#~ msgid "A renderer for FictionBook eBooks" +#~ msgstr "Un visor de libros electrónicos FictionBook." + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/gl/okular_ghostview.po b/po/gl/okular_ghostview.po new file mode 100644 index 0000000..9556874 --- /dev/null +++ b/po/gl/okular_ghostview.po @@ -0,0 +1,94 @@ +# translation of okular_ghostview.po to galician +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# mvillarino , 2007, 2008. +# Marce Villarino , 2009. +# Adrián Chaves (Gallaecio) , 2017, 2019, 2023. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_ghostview\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2023-08-06 05:33+0200\n" +"Last-Translator: Adrián Chaves (Gallaecio) \n" +"Language-Team: Galician \n" +"Language: gl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 23.04.3\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "mvillarino" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "mvillarino@users.sourceforge.net" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "Usar as fontes da plataforma" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"Determina se debe permitírselle a Ghostscript usar as fontes da plataforma. " +"Se é falso só se permitirá usar as fontes incrustadas no documento." + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "Configuración xeral" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "&Usar as fontes da plataforma." + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Configuración da infraestrutura de Ghostscript" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "Versión do documento" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "Nivel da linguaxe" + +#~ msgid "PS Backend" +#~ msgstr "Infraestrutura para PS" + +#~ msgid "A PostScript file renderer." +#~ msgstr "Un renderizador de ficheiros PostScript" + +#~ msgid "© 2007-2008 Albert Astals Cid" +#~ msgstr "© 2007-2008 Albert Astals Cid" + +#~ msgid "Based on the Spectre library." +#~ msgstr "Baseado na biblioteca Spectre." + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" diff --git a/po/gl/okular_kimgio.po b/po/gl/okular_kimgio.po new file mode 100644 index 0000000..6ce9025 --- /dev/null +++ b/po/gl/okular_kimgio.po @@ -0,0 +1,71 @@ +# translation of okular_kimgio.po to galician +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# mvillarino , 2007. +# Marce Villarino , 2009. +# Adrián Chaves (Gallaecio) , 2018. +msgid "" +msgstr "" +"Project-Id-Version: okular_kimgio\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2018-01-07 17:20+0100\n" +"Last-Translator: Adrián Chaves (Gallaecio) \n" +"Language-Team: Galician \n" +"Language: gl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Marce Villarino" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "mvillarino@users.sourceforge.net" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "Non é posíbel cargar o documento: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" +"Este documento parece estar malformado. Esta é a mellor aproximación á " +"aparencia intencionada do documento." + +#~ msgid "Image Backend" +#~ msgstr "Infraestrutura de imaxe" + +#~ msgid "A simple image backend" +#~ msgstr "Unha infraestrutura simple para imaxes" + +#~ msgid "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" +#~ msgstr "" +#~ "© 2005 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" + +#~ msgid "Main Toolbar" +#~ msgstr "Barra de ferramentas Principal" diff --git a/po/gl/okular_markdown.po b/po/gl/okular_markdown.po new file mode 100644 index 0000000..d8f235d --- /dev/null +++ b/po/gl/okular_markdown.po @@ -0,0 +1,53 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Adrián Chaves (Gallaecio) , 2018, 2019, 2023. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2023-04-06 21:43+0200\n" +"Last-Translator: Adrián Chaves (Gallaecio) \n" +"Language-Team: Galician \n" +"Language: gl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 22.12.3\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Adrian Chaves (Gallaecio)" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "adrian@chaves.gal" + +#: converter.cpp:59 converter.cpp:93 +#, kde-format +msgid "Failed to open the document" +msgstr "Non foi posíbel compilar o documento" + +#: converter.cpp:106 converter.cpp:124 +#, kde-format +msgid "Failed to compile the Markdown document." +msgstr "Non foi posíbel compilar o documento de Markdown." + +#: generator_md.cpp:58 +#, kde-format +msgid "Enable SmartyPants formatting" +msgstr "Activar o formatado SmartyPants" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown" +msgstr "Markdown" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown Backend Configuration" +msgstr "Configuración da infraestrutura de Markdown" diff --git a/po/gl/okular_mobi.po b/po/gl/okular_mobi.po new file mode 100644 index 0000000..cb55bfd --- /dev/null +++ b/po/gl/okular_mobi.po @@ -0,0 +1,64 @@ +# translation of okular_mobi.po to Galician +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# mvillarino , 2008. +# Marce Villarino , 2009, 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_mobi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-10-28 22:29+0100\n" +"Last-Translator: Marce Villarino \n" +"Language-Team: Galician \n" +"Language: gl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Marce Villarino, Xosé" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "mvillarino@users.sourceforge.net, xosecalvo@gmail.com" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Produciuse un erro ao abrir o documento Mobipocket." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "" +"Este libro está protexido por DRM e só se pode amosar no dispositivo " +"designado" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "Mobipocket" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "Configuración da infraestrutura para Mobipocket" + +#~ msgid "Mobipocket Backend" +#~ msgstr "Infraestrutura para Mobipocket" + +#~ msgid "A mobipocket backend" +#~ msgstr "Unha infraestrutura para mobipocket" + +#~ msgid "© 2008-2009 Jakub Stachowski" +#~ msgstr "© 2008-2009 Jakub Stachowski" + +#~ msgid "Jakub Stachowski" +#~ msgstr "Jakub Stachowski" diff --git a/po/gl/okular_poppler.po b/po/gl/okular_poppler.po new file mode 100644 index 0000000..ce2c090 --- /dev/null +++ b/po/gl/okular_poppler.po @@ -0,0 +1,440 @@ +# translation of okular_poppler.po to galician +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# mvillarino , 2007, 2008. +# Marce Villarino , 2009, 2013. +# Xosé , 2012. +# SPDX-FileCopyrightText: 2025 Adrián Chaves (Gallaecio) +# +msgid "" +msgstr "" +"Project-Id-Version: okular_poppler\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-03-20 08:07+0100\n" +"Last-Translator: Adrián Chaves (Gallaecio) \n" +"Language-Team: Proxecto Trasno (proxecto@trasno.gal)\n" +"Language: gl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 24.12.3\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" +"Marce Villarino,\n" +"Xosé Calvo,\n" +"Adrián Chaves (Gallaecio)" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" +"mvillarino@users.sourceforge.net,\n" +"xosecalvo@gmail.com,\n" +"adrian@chaves.gal" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "Activar a vista previa de sobreimpresión:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "Nunca" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "Sempre" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "Automático" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "Mellorar as liñas delgadas:" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "Non" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "Sólido" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "Forma" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "Modo de cambio de dimensións predeterminado ao imprimir:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "Axustar á zona imprimíbel" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "Axustar á páxina completa" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "Ningún; imprimir co tamaño orixinal" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" +"Activar esta opción permitirá a Okular contactar con servidores de OCSP de " +"terceiras partes para comprobar se os certificados que se usaron para asinar " +"dixitalmente foron revogados despois de crearse." + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" +"Comprobar a revogación dos certificados de sinaturas dixitais mediante " +"servidores de terceiras partes." + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "Motor de sinatura:" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" +"Estas sinaturas só se poden validar con versións modernas de Okular que " +"teñan activado o motor de GnuPG." + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "Permitir chaves PGP para sinaturas (extensión de Okular)." + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "Base de datos de certificados" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "Predeterminada:" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "Personalizada:" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "Certificados dispoñíbeis" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "&Cargar as sinaturas" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "Opcións de PDF" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "Imprimir as anotacións" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "Incluír as anotacións no documento impreso" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"Inclúe as anotacións no documento impreso. Isto pódese desactivar se se " +"quere imprimir o documento sen anotacións orixinal." + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "Forzar o debuxado" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "Plasmar nunha imaxe antes de imprimir" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"Obriga a que se converta cada páxina nunha imaxe antes de imprimila. Isto dá " +"polo xeral peores resultados, pero é útil cando se imprimen documentos que " +"parecen mal ao ser impresos." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "Modo de cambio de dimensións das páxinas impresas" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "Modo de cambio de dimensións:" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF v. %1.%2" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "Formato" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "Cifrado" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "Descifrado" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "Seguridade" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "Si" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "Optimizado" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Asinado por: %1\n" +"\n" +"Data: %2" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "Usando Poppler %1" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" +"Usando Poppler %1\n" +"\n" +"Construído con Poppler %2" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "Configuración do motor de PDF" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" +"Atopáronse algúns erros no documento, Okular quizais non poida amosar o " +"contido correctamente." + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" +"Estas sinaturas só funcionan entre versións modernas de Okular co motor de " +"GnuPG activado." + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "Activar as sinaturas de PGP" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "Emitido a" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "Correo electrónico" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "Data de caducidade" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" +"Está a usar a biblioteca Poppler construída sen compatibilidade con NSS.\n" +"Por ese motivo non pode engadir sinaturas dixitais" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "para sempre" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "Requírese reiniciar" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "" +"Ten que reiniciar Okular tras cambias a configuración do cartafol de NSS." + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter Password" +msgstr "Introduza o contrasinal" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "Introduza o contrasinal para abrir %1:" + +#~ msgid "Not Available" +#~ msgstr "Non dispoñíbel" + +#~ msgid "Select rasterization to enable this!" +#~ msgstr "Seleccione debuxado para activar isto!" + +#~ msgid "PDF Backend" +#~ msgstr "Infraestrutura de PDF" + +#~ msgid "A PDF file renderer" +#~ msgstr "Un visor de ficheiros PDF" + +#~ msgid "© 2005-2008 Albert Astals Cid" +#~ msgstr "© 2005-2008 Albert Astals Cid" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Saving files with /Encrypt is not supported." +#~ msgstr "Non é posíbel gardar ficheiros con /Encrypt." + +#~ msgid "Unknown" +#~ msgstr "Descoñecido" + +#~ msgid "Unknown Date" +#~ msgstr "Data descoñecida" + +#~ msgid "Unknown Encryption" +#~ msgstr "Cifrado descoñecido" + +#~ msgid "Unknown Optimization" +#~ msgstr "Optimización descoñecida" + +#~ msgid "Please enter the password to read the document:" +#~ msgstr "Insira o contrasinal para ler o documento:" + +#~ msgid "Incorrect password. Try again:" +#~ msgstr "O contrasinal é incorrecto. Ténteo de novo:" diff --git a/po/gl/okular_tiff.po b/po/gl/okular_tiff.po new file mode 100644 index 0000000..95b7bae --- /dev/null +++ b/po/gl/okular_tiff.po @@ -0,0 +1,28 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# Adrián Chaves (Gallaecio) , 2023. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2023-03-26 18:12+0200\n" +"Last-Translator: Adrián Chaves (Gallaecio) \n" +"Language-Team: Galician \n" +"Language: gl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 22.12.3\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Adrian Chaves (Gallaecio)" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "adrian@chaves.gal" diff --git a/po/gl/okular_txt.po b/po/gl/okular_txt.po new file mode 100644 index 0000000..054fb84 --- /dev/null +++ b/po/gl/okular_txt.po @@ -0,0 +1,49 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Marce Villarino , 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-06-05 08:16+0200\n" +"Last-Translator: Marce Villarino \n" +"Language-Team: Galician \n" +"Language: gl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Marce Villarino" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "mvillarino@kde-espana.es" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "Txt" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "Configuración da infraestrutura para Txt" + +#~ msgid "Txt Backend" +#~ msgstr "Infraestrutura para txt" + +#~ msgid "Txt backend." +#~ msgstr "Infraestrutura para txt." + +#~ msgid "© 2013 Azat Khuzhin" +#~ msgstr "© 2013 Azat Khuzhin" + +#~ msgid "Azat Khuzhin" +#~ msgstr "Azat Khuzhin" diff --git a/po/gl/okular_xps.po b/po/gl/okular_xps.po new file mode 100644 index 0000000..a09be12 --- /dev/null +++ b/po/gl/okular_xps.po @@ -0,0 +1,58 @@ +# translation of okular_xps.po to galician +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# mvillarino , 2007, 2008. +# Marce Villarino , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_xps\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-06-22 21:44+0200\n" +"Last-Translator: Marce Villarino \n" +"Language-Team: Galician \n" +"Language: gl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Marce Villarino" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "mvillarino@users.sourceforge.net" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "Revisión" + +#~ msgid "XPS Backend" +#~ msgstr "Infraestrutura para XPS" + +#~ msgid "An XPS backend" +#~ msgstr "Unha infraestrutura para XPS" + +#~ msgid "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" +#~ msgstr "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" + +#~ msgid "Brad Hards" +#~ msgstr "Brad Hards" + +#~ msgid "Jiri Klement" +#~ msgstr "Jiri Klement" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" diff --git a/po/gl/org.kde.active.documentviewer.po b/po/gl/org.kde.active.documentviewer.po new file mode 100644 index 0000000..79f2a0f --- /dev/null +++ b/po/gl/org.kde.active.documentviewer.po @@ -0,0 +1,240 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Marce Villarino , 2013. +# Miguel Branco , 2013. +# SPDX-FileCopyrightText: 2024 Adrián Chaves (Gallaecio) +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-12-19 21:49+0100\n" +"Last-Translator: Adrián Chaves (Gallaecio) \n" +"Language-Team: Proxecto Trasno (proxecto@trasno.gal)\n" +"Language: gl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 24.12.0\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "Marcadores" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "Visor de certificados" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "Emitido por" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "Nome común:" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "Correo electrónico:" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "Organización:" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "Emitido a" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "Validez" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "Concedido o:" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "Caduca o:" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "Pegadas dixitais" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "Pegada dixital SHA-1:" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "Pegada dixital SHA-256:" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +msgid "Export…" +msgstr "Exportar…" + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "Pechar" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "Ficheiro de certificado (*.cer)" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "Erro" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "Non foi posíbel exportar o certificado." + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "Okular" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "" + +#: ui/Main.qml:49 +msgid "About" +msgstr "Sobre" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "Necesítase o contrasinal" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "Retirar o marcador" + +#: ui/MainView.qml:29 +msgid "Bookmark this page" +msgstr "Marcar esta páxina" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "Miniaturas" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "Táboa de contido" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "Sinaturas" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "Propiedades da sinatura" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "Estado da validez" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "Validez da sinatura:" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "Modificacións do documento:" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "Información adicional" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "Asinado por:" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "Hora da sinatura:" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "Motivo:" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "Localización:" + +#: ui/SignaturePropertiesPage.qml:96 +msgid "Document Version" +msgstr "Versión do documento" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Revisión %1 de %2 do documento" + +#: ui/SignaturePropertiesPage.qml:108 +msgid "Save Signed Version…" +msgstr "Gardar a versión asinada…" + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +msgid "View Certificate…" +msgstr "Ver o certificado…" + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "Non foi posíbel gardar a sinatura." + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "Non dispoñíbel" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "Non se atopou ningún resultado." + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "Non hai ningún documento aberto" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "" + +#: ui/WelcomeView.qml:108 +#, fuzzy +#| msgid "Document Version" +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "Versión do documento" + +#~ msgid "Open..." +#~ msgstr "Abrir…" + +#~ msgid "Search..." +#~ msgstr "Buscar…" + +#~ msgid "Open Android..." +#~ msgstr "Abrir Android…" + +#~ msgid "" +#~ "No Documents found. To start to read, put some files in the Documents " +#~ "folder of your device." +#~ msgstr "" +#~ "Non se atoparon documentos. Para comezar a ler, coloque ficheiros no " +#~ "cartafol de documentos do dispositivo." + +#~ msgid "Document viewer for Plasma Active using Okular" +#~ msgstr "Visualizador de documentos para Plasma Active empregando Okular" + +#~ msgid "Reader" +#~ msgstr "Lector" + +#~ msgid "Copyright 2012 Marco Martin" +#~ msgstr "Copyright 2012 Marco Martin" + +#~ msgid "Marco Martin" +#~ msgstr "Marco Martin" + +#~ msgid "URL of the file to open" +#~ msgstr "URL do ficheiro para abrir" diff --git a/po/he/okular.po b/po/he/okular.po new file mode 100644 index 0000000..8738fe2 --- /dev/null +++ b/po/he/okular.po @@ -0,0 +1,6393 @@ +# translation of okular.po to Hebrew +# translation of kpdf.po to +# Igal , 2004. +# Diego Iastrubni , 2004. +# Garry Lachman , 2004. +# Diego Iastrubni , 2005, 2006, 2009, 2012, 2013. +# Ely Levy , 2007. +# Elkana Bardugo , 2017. #zanata +# SPDX-FileCopyrightText: 2023, 2024, 2025 Yaron Shahrabani +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-11-13 11:24+0200\n" +"Last-Translator: Yaron Shahrabani \n" +"Language-Team: צוות התרגום של KDE ישראל\n" +"Language: he\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 && " +"n % 10 == 0) ? 2 : 3));\n" +"X-Launchpad-Export-Date: 2010-12-24 00:32+0000\n" +"X-Generator: Lokalize 25.08.3\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" +"Koala - גארי לכמן, ,Diego Iastrubni,Ofir Klinger,צוות התרגום של KDE ישראל" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" +"koala@linux.net,garry@nunex.co.il,elcuco@kde.org,klinger.ofir@gmail.com,kde-" +"l10n-he@kde.org" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Okular, מציג מסמכים אוניברסלי" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"(C) 2002 וליקו גריבן, כריסטוף דבריאז\n" +"(C) 2004-2005 אנריקו רוס\n" +"(C) 2005 פיוטר ז׳ימנסקי\n" +"(C) 2004-2017 אלברט אסטלס סיד\n" +"(C) 2006-2009 פינו טוסקנו" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "פינו טוסקנו" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "מתחזק קודם" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "טוביאס קניג" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "הרבה עבודה על קוד התשתית, ומנגנוני ODT ו־FictionBook" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "אלברט אסטלס סיד" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "מפתח" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "פיוטר ז׳ימנסקי" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "ייצר את Okular מקוד הבסיס של KPDF" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "אנריקו רוס" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "מפתח KPDF" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "יוג׳ין טרונב" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "עבודת אומנות של הסברי הצד" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "ג׳ירי באום - NICTA" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "כלי לבחירת טבלאות" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "פאביו ד׳אורסו" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "שיפורי פירושים" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "מעבר לעמוד %1" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "פתיחת קובץ חיצוני" + +#: core/action.cpp:197 +#, kde-format +msgid "Execute '%1'…" +msgstr "הרצת ‚%1’…" + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "עמוד ראשון" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "עמוד קודם" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "עמוד הבא" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "עמוד אחרון" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "אחורה" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "קדימה" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "יציאה" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "התחלת המצגת" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "סיום המצגת" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "איתור…" + +#: core/action.cpp:314 +#, kde-format +msgid "Go To Page…" +msgstr "מעבר לעמוד…" + +#: core/action.cpp:365 +#, kde-format +msgid "Play sound…" +msgstr "ניגון קטע שמע…" + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "סקריפט JavaScript" + +#: core/action.cpp:483 +#, kde-format +msgid "Play movie…" +msgstr "ניגון סרטון…" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "ניגון סרטון" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "עצירת הסרטון" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "השהיית סרטון" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "המשך צפייה בסרטון" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "ה־Okular הזה נבנה ללא תמיכה בשמע" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "בחירת מנגנון" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
%1 (%2).

Please select which one to use:
" +msgstr "" +"קיים יותר ממנגנון אחד לסוג הקובץ:
%1 (%2).

נא " +"לבחור באיזה להשתמש:
" + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "רוב הדפים הם %1." + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "לאורך %1" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "לרוחב %1" + +#: core/document.cpp:246 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 × %2 אינץ׳ (%3)" + +#: core/document.cpp:248 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 × %2 מ״מ (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "החיפוש ממשיך מההתחלה" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "החיפוש ממשיך מהסוף" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "לא ניתן למצוא תוסף אשר יכול לטפל במסמך שהועבר." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "לא מומשה חתימה לסוג המסמכים הזה" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "הסרת פירושים" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "המסמך מנסה להריץ יישום חיצוני, ולמען ביטחונך, Okular לא מרשה זאת." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "לא נמצא יישום לפתיחה של קובץ מסוג %1." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "לא ניתן לפתוח קובץ זמני" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "המרה להדפסה נכשלה" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "תהליך ההדפסה קרס" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "לא ניתן להתחיל את תהליך ההתחלה" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "ההדפסה לקובץ נכשלה" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "המדפסת הייתה במצב לא תקין" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "לא ניתן למצוא את הקובץ להדפסה" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "לא היה שום קובץ להדפסה" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "לא נמצא קובץ בינרי מתאים להדפסה. נא לוודא שהבינרי של CUPS בשם lpr זמין" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "גודל הדפסת העמוד שגוי" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "לא ניתן לפתוח את ‚%1’. הקובץ לא קיים" + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "כותרת" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "נושא" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "תיאור" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "מחבר" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "יוצר" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "מפיק" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "זכויות יוצרים" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "עמודים" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "נוצר" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "שונה" + +#: core/document.cpp:6032 +#, kde-format +msgid "MIME Type" +msgstr "טיפוס נתונים" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "קטגוריה" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "מילות מפתח" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "נתיב הקובץ" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "גודל הקובץ" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "גודל הדף" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "הוספת פירוש" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "הסרת פירוש" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "שינוי תוכן פירוש" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "תרגום פירוש" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "כוונון פירוש" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "עריכת טקסט" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "עריכת תוכן פירוש" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "עריכת תוכן טופס" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "עריכת רשימת בחירות בטופס" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "עריכת ברירות בתיבות משולבות בטופס" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "עריכת מצבי כפתורים בטופס" + +#: core/generator.cpp:790 +#, kde-format +msgid "Plain &Text…" +msgstr "טקסט &פשוט…" + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "OpenDocument Text" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "אפשרויות הדפסה" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "התאמה לאזור ההדפסה" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "התאמה לעמוד מלא" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "מצב קנה מידה:" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "לא להציג את ההודעה הזאת שוב" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "לא זמין" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" +"שגיאת חתימה פנימית. נא לדווח על תקלה עם השלבים שהובילו אליה. קוד שגיאה: %1" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "לא ניתן לחתום על המסמך: %1" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "החתימה בוטלה על ידי המשתמש" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "לא ניתן לחתום. מילת הצופן שגויה" + +#: core/signatureutils.cpp:504 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" +"לא ניתן לכתוב את המסמך חתום אל %1, נא לוודא שבחרת " +"תיקייה עם הרשאת כתיבה" + +#: core/signatureutils.cpp:506 +#, kde-format +msgid "Unknown signing error" +msgstr "שגיאת חתימה לא ידועה" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "מקור: %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "&גופן ברירת מחדל:" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "גרסה" + +#: gui/certificatemodel.cpp:41 +#, kde-format +msgid "Serial Number" +msgstr "מספר סידורי" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "מנפיק" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "הונפק ב־" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "תפוגת התוקף" + +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "נושא" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "מפתח ציבורי" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "שימוש במפתח" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "גרסה %1" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "%1 (%2 סיביות)" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "מאפיין" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "ערך" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "הערה קופצת" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "מכונת כתיבה" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "הערה פנימית" + +#: gui/guiutils.cpp:56 +#, kde-format +msgid "Arrow with Comment" +msgstr "חץ עם הערה" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "חץ" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "קו ישר עם הערה" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "קו ישר" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "מצולע עם הערה" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "מצולע" + +#: gui/guiutils.cpp:71 +#, kde-format +msgid "Rectangle with Comment" +msgstr "מרובע עם הערה" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "מלבן" + +#: gui/guiutils.cpp:74 +#, kde-format +msgid "Ellipse with Comment" +msgstr "אליפסה עם הערה" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "אליפסה" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "הדגשה עם הערה" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "הדגשה" + +#: gui/guiutils.cpp:87 +#, kde-format +msgid "Squiggle with Comment" +msgstr "שרבוט עם הערה" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "שרבוט" + +#: gui/guiutils.cpp:91 +#, kde-format +msgid "Underline with Comment" +msgstr "קו תחתון עם הערה" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "קו תחתון" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out with Comment" +msgstr "קו חוצה עם הערה" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "קו חוצה" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "חותמת עם הערה" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "חותמת" + +#: gui/guiutils.cpp:106 +#, kde-format +msgid "Freehand Line with Comment" +msgstr "ציור ביד חופשית עם הערה" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "ציור ביד חופשית" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "סמן כתיבה" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "קובץ מצורף" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "שמע" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "סרטון" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "מסך" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "יישומון" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "מדיה עשירה" + +#: gui/guiutils.cpp:144 +#, kde-format +msgid "Annotation" +msgstr "פירוש" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "לא ידוע" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "מחבר: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "היכן לשמור את %1?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "לא ניתן לפתוח את „%1” לכתיבה. הקובץ לא נשמר." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "החתימה תקפה קריפטוגרפית." + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "החתימה שגויה קריפטוגרפית." + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "אין התאמת תקציר." + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "מבנה ה־CMS/PKCS7 של החתימה מעורער." + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "החתימה המבוקשת לא נמצאת במסמך." + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "לא ניתן לאמת את החתימה." + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "האישור מהימן." + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "מנפיק האישור לא מהימן." + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "מנפיק האישור לא מוכר." + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "האישור נשלל." + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "תוקף האישור פג." + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "האישור עדיין לא תוקף." + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "מתבצע תיקוף אישור" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "תקלה לא ידועה באישור או שנתוניו הושחתו." + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "MD2" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "MD5" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "SHA1" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "SHA256" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "SHA384" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "SHA512" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "SHA224" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "אלגוריתם לא ידוע" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "RSA" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "DSA" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "EC" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "סוג לא ידוע" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "חתימה דיגיטלית" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "אי־התכחשות" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "הצפנת מפתחות" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "פענוח מפתחות" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "הסכם מפתח" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "חתימת אישור" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "חתימת אישורים בטלים" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "הצפנה בלבד" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "לא צוין שימוש" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr ", " + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "המסמך לא נערך מאז שנחתם." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" +"מהדורת המסמך שכוסתה על ידי החתימה הזאת לא נערכה,\n" +"אם זאת היו שינויים למסמך לאחר החתימה." + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "המסמך נערך בדרך שלא מוסכמת על מי שחתם קודם לכן." + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "אימות שלמות המסמך לא הושלם." + +#: gui/signatureguiutils.cpp:208 +#, kde-format +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "במסמך יש שדות חתימה ממלאי מקום." + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "המסמך הזה חתום דיגיטלית." + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "המסמך הזה חתום דיגיטלית. נערכו שינויים מאז החתימה האחרונה." + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "המסמך הזה חתום דיגיטלית. את חלק מהחתימות לא ניתן לתקף כראוי." + +#: gui/signaturemodel.cpp:141 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "ממלא מקום חתימה %1" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "שדה: %1 בעמוד %2" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "מהדורה %1: נחתמה על ידי %2" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "מועד החתימה: %1" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "סיבה: %1" + +#: gui/signaturemodel.cpp:177 +#, kde-format +msgid "Location: %1" +msgstr "מקום: %1" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "חתימת PGP" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "‏PKCS7 של Adobe" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "‏Sha1 של PKCS7 של Adobe" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "ETSI CAdES" + +#: gui/signaturemodel.cpp:193 +#, kde-format +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "לא ידוע" + +#: gui/signaturemodel.cpp:195 +#, kde-format +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "ממלא מקום חתימה" + +#: gui/signaturemodel.cpp:201 +#, kde-format +msgid "Signature Type: %1" +msgstr "סוג חתימה: %1" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "אדום" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "כתום" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "צהוב" + +#: part/annotationactionhandler.cpp:151 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "ירוק" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "ציאן" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "כחול" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "מג׳נטה" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "לבן" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "אפור" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "שחור" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "רוחב %1" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1%" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "עובי שורת פירוש (לא נבחר פירוש)" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "צבע פירוש (לא נבחר פירוש)" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "צבע מילוי פירוש (לא נבחר פירוש)" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "אטימות פירוש (לא נבחר פירוש)" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "גופן פירוש (לא נבחר פירוש)" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "הוספת הפירוש הנוכחי לתפריט הפירושים המהירים (לא נבחר פירוש)" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" +"הגבלת יחס גובה־רוחב של הצורה ל־1:1 או זווית קווית בצעדים של 15° (לא נבחר " +"פירוש)" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "הגדרות מתקדמות לכלי הפירוש הנוכחי (לא נבחר פירוש)" + +#: part/annotationactionhandler.cpp:308 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "עובי קו פירוש" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "עובי קו פירוש (לפירוש הנוכחי אין עובי קו)" + +#: part/annotationactionhandler.cpp:314 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "צבע טקסט פירוש" + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "צבע גבול פירוש" + +#: part/annotationactionhandler.cpp:318 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "צבע פירוש" + +#: part/annotationactionhandler.cpp:322 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "צבע מילוי פירוש" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "צבע מילוי פירוש (לפירוש הנוכחי אין צבע מילוי)" + +#: part/annotationactionhandler.cpp:328 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "גופן פירוש" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "גופן פירוש (לפירוש הנוכחי אין גופן)" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "הגבלת זווית הקו לצעדים של 15°" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "הגבלת יחס הצורה ל־1:1" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" +"הגבלת יחס הצורה ל־1:1 או לזווית של בצעדים של 15° (אין תמיכה בפירוש הנוכחי)" + +#: part/annotationactionhandler.cpp:341 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "אטימות פירוש" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "הוספת הפירוש הנוכחי לתפריט הפירושים המהירים" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "הגדרות מתקדמות לכלי הפירוש הנוכחי" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "צבע" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "צבע מילוי" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "שקוף" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "צבע בהתאמה אישית…" + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "בחירת צבע" + +#: part/annotationactionhandler.cpp:552 +#, kde-format +msgid "&Annotations" +msgstr "&פירושים" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "הסתרה" + +#: part/annotationactionhandler.cpp:554 +#, kde-format +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "הצגת כלי פירוש נוספים" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "מדגיש" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "קו תחתון" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "שרבוט" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "קו חוצה" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "מכונת כתיבה" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "הערה פנימית" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "הערה קופצת" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "ציור ביד חופשית" + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "קו ישר" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "חץ" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "מרובע" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "אליפסה" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "מצולע" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "צורות הנדסיות" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "חותמת" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "פירושים זריזים" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "נא לבחור כלי פירוש מהפירושים המהירים" + +#: part/annotationactionhandler.cpp:651 +#, kde-format +msgid "Quick Annotation Bar" +msgstr "סרגל פירושים זרירים" + +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "הוספה לפירושים הזריזים" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "להשאיר פעיל" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "לשמור את כלי הפירושים פעיל לאחר השימוש" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "הגבלת היחס וזווית כלי הפירוש" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "גופן" + +#: part/annotationactionhandler.cpp:681 +#, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "הגדרות פירושים" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "עובי קו" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "אטימות" + +#: part/annotationactionhandler.cpp:696 +#, kde-format +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1%" + +#: part/annotationmodel.cpp:320 +#, kde-format +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "עמוד %1 (%2)" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "עמוד %1" + +#: part/annotationpopup.cpp:85 +#, kde-format +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "פירוש" +msgstr[1] "שני פירושים" +msgstr[2] "%1 פירושים" +msgstr[3] "%1 פירושים" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "&פתיחת הערה בחלונית" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "הסרת הסימנייה" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "הוספת סימנייה" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, kde-format +msgid "Copy Text to Clipboard" +msgstr "העתקת טקסט ללוח הגזירים" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "ה־DRM אוסר העתקה" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "מ&חיקה" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "מ&אפיינים" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, kde-format +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "&שמירת ‚%1’…" + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "מ&ראה" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "&כללי" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&מחבר:" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "נוצר:" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "נערך:" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "מאפייני הערה קופצת" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "מאפייני מכונת כתיבה" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "מאפייני הערה פנימית" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "מאפייני קו ישר" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "מאפייני מצולע" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "מאפייני גאומטריה" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "מאפייני סימון טקסט" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "מאפייני חותמת" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "מאפייני ציור ביד חופשית" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "מאפייני סמן כתיבה" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "מאפייני קובץ מצורף" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "מאפייני שמע" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "מאפייני סרטון" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "מאפייני פירוש" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "נא לבחור סמל חותמת מותאם מקובץ" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "בחירת סימן חותמת משלך" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" +"*.ico *.png *.xpm *.svg *.svgz | קובצי סמלים (‎*.ico‏ ‎*.png‏ ‎*.xpm‏ ‎*.svg‏ ‎*.svgz)" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "לא ניתן לטעון את הקובץ %1" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "קובץ שגוי" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&צבע:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, kde-format +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%v%" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "&שקיפות:" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "סמל:" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "הערה" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "עזרה" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "הוספה" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "מפתח" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "פסקה חדשה" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "הערה" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "פסקה" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "גופן:" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "&צבע טקסט:" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "יי&שור:" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "שמאל" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "מרכז" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "ימין" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "&עובי מסגרת:" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "אושר" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "כמו שהוא" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "חסוי" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "מחלקתי" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "טיוטה" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "ניסוי" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "פג תוקף" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "סופי" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "להערות" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "לקהל הרחב" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "לא מאושר" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "לא לקהל הרחב" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "נמכר" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "סודי ביותר" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "סימנייה" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "מידע" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "סימן חותמת:" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "&רוחב:" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "התחלת שורה:" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "סוף שורה:" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "ריבוע" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "עיגול" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "יהלום" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "חץ פתוח" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "חץ סגור" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "ללא" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "חסום" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "חץ פתוח ימני" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "חץ פתוח שמאלי" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "לוכסן" + +#: part/annotationwidgets.cpp:531 +#, kde-format +msgid "Leader line length:" +msgstr "אורך קו מוביל:" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "אורך הרחבות קו מוביל:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "פעיל" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "מילוי צורה:" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "סוג:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "קו חוצה" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "סמל קובץ מצורף:" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "תרשים" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "נעץ" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "מהדק" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "תגית" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "קובץ" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "לא קיים" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "אין תיאור זמין." + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "שם:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "תיאור:" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "סמל סמן כתיבה:" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "ללא" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "סגירת הערה" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "אפשרויות" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"פירוש זה עשוי להכיל קוד LaTeX.\n" +"לחיצה כאן תעבד אותו." + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "לא ניתן למצוא את קובץ ההפעלה של latex." + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "עיבוד ה־LaTeX נכשל" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "לא ניתן למצוא את קובץ ההפעלה של dvipng." + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "אירעה שגיאה בהפעלת פקודת ‚latex’." + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "אירעה שגיאה בהפעלת פקודת ‚dvipng’." + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"סימנייה אחת" +msgstr[1] "" +"%1\n" +"\n" +"שתי סימניות" +msgstr[2] "" +"%1\n" +"\n" +"%2 סימניות" +msgstr[3] "" +"%1\n" +"\n" +"%2 סימניות" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "סימניות" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "הצגה לכל המסמכים" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, kde-format +msgid "Search…" +msgstr "חיפוש…" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, kde-format +msgid "Expand All" +msgstr "להרחיב הכול" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, kde-format +msgid "Collapse All" +msgstr "לצמצם הכול" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "מעבר לסימנייה הזו" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "שינוי שם הסימנייה" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "פתיחת מסמך" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "הסרת כל הסימניות מהמסמך הזה" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "מציג אישורים" + +#: part/certificateviewer.cpp:50 +#, kde-format +msgid "Export…" +msgstr "ייצוא…" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "כללי" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "הונפק על ידי" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "שם נפוץ(CN)" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "דוא״ל" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "ארגון(O)" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "הונפק לטובת" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "תוקף" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "טביעות אצבע" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "טביעת אצבע SHA-1" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "טביעת אצבע SHA-256" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "פרטים" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "נתוני אישור:" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "איפה לשמור את האישור הזה?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "קובץ אישור (‎*.cer)" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "לא ניתן לייצא את האישור" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "מצב &צבע" + +#: part/colormodemenu.cpp:21 +#, kde-format +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "שינוי צבעים" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "צבעים &רגילים" + +#: part/colormodemenu.cpp:41 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "הי&פוך צבעים" + +#: part/colormodemenu.cpp:42 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "החלפת &צבע הדף" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "החלפת צבעים &כהים ובהירים" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "המרה לשחור לבן" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "היפוך &בהירות" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "היפוך &לומה (sRGB קווי)" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "היפוך לומה (&סימטרי)" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "העברת הגוון ל&חיוב" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "העברת הגוון ל&שלילה" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "אדום" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "ירוק" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "כחול" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "צהוב" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "שחור" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "לבן" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "מדגיש צהוב" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "מדגיש ירוק" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "הוספת טקסט" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "ציור מסגרת מסביב לקישורים" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "שינוי צבעים" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "אזהרה: אפשרויות אלו יכולות לפגוע במהירות הציור באופן חמור." + +#: part/dlgaccessibility.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "היפוך צבעים" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "החלפת צבע הנייר" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "החלפת צבעים כהים ובהירים" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "המרה לשחור לבן" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "היפוך בהירות" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "היפוך לומה (sRGB קווי)" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "היפוך לומה (סימטרי)" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "העברת הגוון לחיוב" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "העברת הגוון לשלילה" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "מצב צבע:" + +#: part/dlgaccessibility.cpp:87 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "צבע הנייר:" + +#: part/dlgaccessibility.cpp:99 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "צבע כהה:" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "צבע בהיר:" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "סף:" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "ניגודיות:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "מנוע טקסט לדיבור:" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "קול מקריא טקסט:" + +#: part/dlgannotations.cpp:25 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "סרגל כלי פירוש מלא" + +#: part/dlgannotations.cpp:26 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "סרגל כלי פירוש זריז" + +#: part/dlgannotations.cpp:28 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "סרגל כלי פירוש:" + +#: part/dlgannotations.cpp:34 +#, kde-format +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "יוצר:" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"לתשומת לבך: המידע כאן משמש רק את הפירושים. המידע נשמר במסמכים עם " +"הפירושים ויועבר יחד עם המסמך." + +#: part/dlgannotations.cpp:48 +#, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

Quick Annotation Tools

" +msgstr "

כלי פירוש זריזים

" + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "נא לבחור את העורך שיופעל כש־Okular רוצה לפתוח קובץ מקור." + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "עורך טקסט מותאם אישית" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "לקוח Emacs" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "לקוח Lyx" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "TeXstudio" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "TeXiFy IDEA" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "עורך:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
\n" +"You can also put few placeholders:\n" +"
    \n" +"
  • %f - the file name
  • \n" +"
  • %l - the line of the file to be reached
  • \n" +"
  • %c - the column of the file to be reached
  • \n" +"
\n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"הגדרת הפקודה שתריץ עורך טקסט מותאם אישית.
\n" +"ניתן להוסיף גם כן כמה שומרי מקום:\n" +"
    \n" +"
  • %f - עבור שם הקובץ
  • \n" +"
  • %l - השורה שאליה יש להגיע בתוך הקובץ
  • \n" +"
  • %c - העמודה שאליה יש להגיע בתוך הקובץ
  • \n" +"
\n" +"אם לא צויין שומר המקום %f, שם הקובץ יתווסף לסוף הפקודה שצויינה." + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "פקודה:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "להשתמש בגלילה חלקה" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "מראה:" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "הצגת פסי גלילה" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "קישור התמונות הממוזערות עם העמוד" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "הצגת רמזים והודעות מידע" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "להודיע על קבצים מוטמעים, טפסים או חתימות" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "הצגת כותרת המסמך בשורת הכותרת אם ניתן" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "הצגת שם הקובץ בלבד" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "הצגת נתיב הקובץ המלא" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "כשכותרת המסמך לא מוצגת:" + +#: part/dlggeneral.cpp:92 +#, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "להשתמש בצבע רקע בהתאמה אישית:" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "יכולות התוכנית:" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "פתיחת קבצים חדשים בלשוניות" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "מעבר ללשונית הקיימת אם הקובץ כבר פתוח" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "ציות למגבלות DRM (ניהול זכויות דיגיטליות)" + +#: part/dlggeneral.cpp:148 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "ריענון המסמך עם שינוי הקובץ" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "הצגת חלונית בחירת מנגנון" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "כיוון קריאה מימין לשמאל" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "להשתמש בפרטי קובץ כדי לקבוע האם לפתוח במצב רציף כברירת מחדל" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "לקבצים בלי פרטי קובץ, לפתוח במצב רציף כברירת מחדל" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "פתיחה במצב רציף כברירת מחדל" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "בעת שימוש בכלי העיון, לגרום לסמן לגלוש בקצוות המסך" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "פריטים בהיסטוריה האחרונה:" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "עמודות סקירה:" + +#: part/dlggeneral.cpp:220 +#, kde-format +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%v%" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "מגדיר כמה מאזור התצוגה עדיין יהיה גלוי בלחיצה על המקשים Page Up/Down." + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "חפיפת Page Up/Down:" + +#: part/dlggeneral.cpp:228 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%v%" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "100%" + +#: part/dlggeneral.cpp:233 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "התאמה לרוחב" + +#: part/dlggeneral.cpp:234 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "התאמה לעמוד" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "התאמה אוטומטית" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "מותאם אישית" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" +"מגדיר את רמת התקריב כברירת המחדל לקבצים שנפתחים לראשונה. על קבצים שכבר נפתחו " +"בעבר חלה רמת התקריב מהפעם הקודמת." + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "תקריב אוטומטי:" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "הפעלת אפקטי שקיפות" + +#: part/dlgperformance.cpp:28 +#, kde-format +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "ניצולת מעבד:" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "נמוכה" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "רגילה (ברירת מחדל)" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "כוחנית" + +#: part/dlgperformance.cpp:38 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "חמדנית" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "שימוש בזיכרון:" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "הפעלת החלקת קצוות גופנים" + +#: part/dlgperformance.cpp:56 +#, kde-format +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "אפשרויות עיבוד:" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "הפעלת החלקת קצוות גרפיים" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "הפעלת רימוז טקסט" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"כמה שפחות זיכרון בשימוש. לא נעשה שימוש חוזר בפריטים. (עבור מערכות עם מגבלת " +"זיכרון.)" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"הפשרה הטובה ביותר בין שימוש בזיכרון למהירות. הדף הבא נטען מראש והחיפוש מואץ. " +"(לרוב, עבור מערכות עם 2G זיכרון)" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"הכל נשמר בזיכרון. הדפים הבאים נטענים מראש. החיפוש מואץ. (עבור מערכות עם יותר " +"מ־4G זיכרון)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" +"טוען ושומר הכול בזיכרון. טעינה מראש של כל העמודים. (ישתמש בעד 50% מסך " +"הזיכרון הכולל או הפנוי שלך, מה שגדול יותר.)" + +#: part/dlgpresentation.cpp:38 +#, kde-format +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] "כל שנייה" +msgstr[1] "כל שתי שניות" +msgstr[2] "כל %v שניות" +msgstr[3] "כל %v שניות" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "התקדמות אוטומטית:" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "חזרה בלולאה אחרי העמוד האחרון" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "יש לגעת בצדדים השמאלי/ימני כדי להתקדם/לחזור" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "נגיעה בכל מיקום תקדם קדימה" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "מושבת" + +#: part/dlgpresentation.cpp:63 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "ניווט במגע:" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "צבע רקע:" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "הסתרה לאחר השהיה" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "תמיד גלוי" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "תמיד מוסתר" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "סמן העכבר:" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "הצגת מחוון התקדמות" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "הצגת עמוד סיכום" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "מיידי (לעולם לא להשתמש בהנפשות)" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "החלפה" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "מעברון אקראי" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "התמזגות אופקית" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "התמזגות אנכית" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "מסגור פנימה" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "מסגור החוצה" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "התמוססות" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "עמעום" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "נצנוץ מטה" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "נצנוץ ימינה" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "נצנוץ ימינה־מטה" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "פיצול אופקי פנימה" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "פיצול אנכי החוצה" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "פיצול אנכי פנימה" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "פיצול אופקי החוצה" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "ניגוב מטה" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "ניגוב ימינה" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "ניגוב שמאלה" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "ניגוב מעלה" + +#: part/dlgpresentation.cpp:121 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "מעברון ברירת מחדל:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "מסך מועדף:" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

Drawing Tools

" +msgstr "

כלי ציור

" + +#: part/dlgpresentation.cpp:171 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "המסך הנוכחי" + +#: part/dlgpresentation.cpp:172 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "מסך ברירת המחדל" + +#: part/dlgpresentation.cpp:178 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "מסך %1 (%2 %3 %4)" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "מסך %1 (מנותק)" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "כלי ציור: %1" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "מוחק" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "&שם:" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "&סוג:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "מראה" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "סימון טקסט" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "צורה הנדסית" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "יצירת כלי פירוש" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "עריכת כלי פירוש" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "צבע:" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "עובי &עט:" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "%v פיקסלים" + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "יצירת כלי ציור" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "עריכת כלי ציור" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "לא ידוע" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "קבצים משובצים" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "תצוגה" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "שם" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "תיאור" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "גודל" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "נוצר" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "שונה" + +#: part/embeddedfilesdialog.cpp:154 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "&שמירה בשם…" + +#: part/embeddedfilesdialog.cpp:155 +#, kde-format +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "&תצוגה…" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "אין אפשרות לטעון את רכיב התצוגה המקדימה" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "תצוגה מקדימה לפני הדפסה" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "סגירה" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "&חיפוש:" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "טקסט לחיפוש" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "הבא" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "מעבר לתוצאה הבאה" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "הקודם" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "קפיצה לתוצאה הבאה" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "שינוי התנהגות החיפוש" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "תלוי רישיות" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "מהדף הנוכחי" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "איתור בזמן הקלדה" + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "כל הקבצים (*)" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "ממלא מקום חתימה (לחיצה לחתימה)" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "&חתימה…" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "מאפייני חתימה" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "אפשרויות חיפוש" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "תלוי רישיות" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "ביטוי רגולרי" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "שכבות" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "מתוך" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "הגדלה" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "תקריב של 100%" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "סיבוב &ימינה" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "ימינה" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "סיבוב &שמאלה" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "שמאלה" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "כיוון תצוגה מקורי" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "קיצוץ &תצוגה" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "&הורדת שוליים" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "קיצוץ ל&בחירה" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "התאמה &לרוחב" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "התאמה ל&עמוד" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "ה&תאמה אוטומטית" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "התאמת חלון ל&עמוד" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "מצב &תצוגה" + +#: part/pageview.cpp:594 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "עמוד י&חיד" + +#: part/pageview.cpp:595 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "עמודים &זה מול זה" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "עמודים זה מול זה (&מרכוז העמוד הראשון)" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "&סקירה" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "&מתמשך" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "להשתמש בכיוון קריאה מימין לשמאל" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "&עיון" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "&תקריב" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "בחירת &אזור" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "בחירת &טקסט" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "בחירת &טבלה" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "מ&גדיל" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "כלי בחירה" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "חתימה &דיגיטלית…" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "הקראת המסמך כולו" + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "הקראה מהעמוד הנוכחי" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "הקראת העמוד הנוכחי" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "הפסקת הקראה" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "השהיית/המשך דיבור" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "דפדוף כלפי מעלה" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "דפדוף כלפי מטה" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "גלילת עמוד מעלה" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "גלילת עמוד מטה" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "הצגת טפסים" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] " נטען מסמך של עמוד אחד." +msgstr[1] " נטען מסמך של שני עמודים." +msgstr[2] " נטען מסמך של %1 עמודים." +msgstr[3] " נטען מסמך של %1 עמודים." + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "העתקת תוכן הטבלה ללוח הגזירים" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "טקסט (תו אחד)" +msgstr[1] "טקסט (שני תווים)" +msgstr[2] "טקסט (%1 תווים)" +msgstr[3] "טקסט (%1 תווים)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "העתקה ללוח הגזירים" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "הקראת הטקסט" + +#: part/pageview.cpp:2863 +#, kde-format +msgid "Image (%1 × %2 pixels)" +msgstr "תמונה (%1 × %2 פיקסלים)" + +#: part/pageview.cpp:2865 +#, kde-format +msgid "Save to File…" +msgstr "שמירה לקובץ…" + +#: part/pageview.cpp:2885 +#, kde-format +msgid "Image [%1 × %2] copied to clipboard." +msgstr "התמונה [%1 × %2] הועתקה ללוח הגזירים." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "שמירת קובץ" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "תמונות (‎*.png‏ ‎*.jpeg)" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "הקובץ לא נשמר." + +#: part/pageview.cpp:2901 +#, kde-format +msgid "Image [%1 × %2] saved to %3 file." +msgstr "התמונה [%1 × %2] נשמרה לקובץ %3." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "העתקת הטקסט" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "מעבר אל ‚%1’" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "התאמה לרוחב" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "התאמה לעמוד" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "התאמה אוטומטית" + +#: part/pageview.cpp:4107 +#, kde-format +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1%" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "חיפוש אחר '%1' בעזרת" + +#: part/pageview.cpp:4404 +#, kde-format +msgid "Configure Web Shortcuts…" +msgstr "הגדרת קיצורי רשת…" + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "מעקב אחר הקישור הזה" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "השמעת הצליל הזה" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "עצירת שמע" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "העתקת כתובת הקישור" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "חיפוש אחר ‚%1’ במסמך הזה" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "ברוך בואך" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "בחירת אזור להגדלה. לחיצה ימנית להקטנה." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "לחיצה תעביר לתצוגה המוגדלת." + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "יש לצייר מלבן סביב הטקסט/הגרפיקה להעתקה." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "בחירת טקסט" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" +"יש לצייר מלבן סביב הטבלה, לאחר מכן ללחוץ ליד הקצבות כדי לחלק לחלקים קטנים " +"יותר, Esc לפינוי." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" +"כל אישורי החתימה שלך אינם תקפים. אם החתימה עבדה בעבר, נא לבדוק את תאריכי " +"התפוגה שלהם." + +#: part/pageview.cpp:5188 +#, kde-format +msgid "No valid certificates" +msgstr "אין אישורים תקפים" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, kde-format +msgid "Open Certificate Manager" +msgstr "פתיחת מנהל האישורים" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
Launch Certificate Manager " +"to import or manage certificates
For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" +"אין אישורים זמינים לחתימה.
יש להפעיל את מנהל האישורים כדי לייבא או לנהל " +"אישורים
למידע נוסף, נא לקרוא את הסעיף הוספת חתימות " +"דיגיטליות במדריך." + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, kde-format +msgid "No certificates found" +msgstr "לא נמצאו אישורים" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" +"אין אישורים זמינים לחתימה.
למידע נוסף, נא לקרוא את הסעיף הוספת חתימות דיגיטליות במדריך." + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "יש שינויים שלא שמרת. נא לשמור את המסמך טרם חתימתו." + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "יש לצייר ריבוע כדי להוסיף את שדה החתימה" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "נא לצייר מרובע סביב האזור בעמוד שאמור להישאר גלוי" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "הערת טקסט חדשה" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "טקסט להערה החדשה:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"נחתם על ידי: %1\n" +"\n" +"תאריך: %2" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" +"חתימה בגודל הזה תהיה קטנה מכדי לקרוא. כדי ליצור חתימה שכנראה תהיה קריאה " +"יותר, יש ללחוץ על התחלה מחדש ולצייר מרובע גדול יותר." + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "התחלה מחדש" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "חתימה" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name" +msgstr "שם היוצר/ת" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name for the annotation:" +msgstr "שם יוצר/ת הפירוש:" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "ציור אליפסה (יש לגרור כדי לבחור אזור)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "הדגשת טקסט" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "ציור קו ביד חופשית" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "הסבר צד עם טקסט פנימי (גרירה לבחירת אזור)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "הצגת הערה קופצת" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "ציור מצולע (יש לחזור לנקודה הראשונה כדי לסגור אותו)" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "ציור מלבן" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "שרבוט טקסט" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "חותמת" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "ציור קו ישר" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "חציית טקסט בקו" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "קו תחתון לטקסט" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "פירוש מכונת כתיבה (יש לגרור כדי לבחור אזור)" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "מדגיש" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "הוספת פירוש מועדף" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Custom annotation name:" +msgstr "שם פירוש מותאם אישית:" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&קובץ" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "ה&גדרות" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "ע&זרה" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "&כיוון תצוגה" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "&סימניות" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "הצגת סרגל כלים" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "תמונות ממוזערות" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "פירושים" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" +"המסמך מכיל פירושים או נתוני טפסים שנשמרו פנימית בגרסה קודמת של Okular. אחסון " +"פנימי לא נתמך עוד.
נא לשמור לקובץ כדי להעביר אותם ולהמשיך לערוך " +"את המסמך." + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"מסמך זה מכיל קבצים משובצים. ניתן ללחוץ כאן " +"כדי לראות אותם או לגשת לתפריט קובץ -> קבצים משובצים." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "מתבצעת חתימה. אפשר לכוון את מקום החתימה ואת גודלה" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "סיום חתימה" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "הקודם" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "חזרה לדף הקודם" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "מעבר לדף הקודם במסמך" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "הבא" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "מעבר לדף הבא" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "מעבר לדף הבא במסמך" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "תחילת המסמך" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "מעבר לתחילת המסמך" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "סוף המסמך" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "מעבר לסוף המסמך" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "שינוי שם הסימנייה הנוכחית" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "הסימנייה הקודמת" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "מעבר לסימנייה הקודמת" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "הסימנייה הבאה" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "מעבר לסימנייה הבאה" + +#: part/part.cpp:748 +#, kde-format +msgid "Configure Okular…" +msgstr "הגדרת Okular…" + +#: part/part.cpp:751 +#, kde-format +msgid "Configure Viewer…" +msgstr "הגדרת המציג…" + +#: part/part.cpp:757 +#, kde-format +msgid "Configure Viewer Backends…" +msgstr "הגדרת מנגנוני ההצגה…" + +#: part/part.cpp:759 +#, kde-format +msgid "Configure Backends…" +msgstr "הגדרת מנגנונים…" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "על המנגנון" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "&טעינה מחדש" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "ריענון המסמך הנוכחי מהכונן." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "סגירת &סרגל החיפוש" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "מספר העמוד" + +#: part/part.cpp:817 +#, kde-format +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "הגדרת מצבי צבע…" + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "בחירת כל הטקסט בעמוד הנוכחי" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "הצגת סרגל &צד" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "הצגת סרגל &עמוד" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "הצגת לוח &חתימות" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "&קבצים משובצים" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "יי&צוא כקובץ" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "&שיתוף" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "&מצגת" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "&פתיחת התיקייה המכילה" + +#: part/part.cpp:945 +#, kde-format +msgid "&Import PostScript as PDF…" +msgstr "יי&בוא PostScript כ־PDF…" + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "החלפת מצב מסך שחור" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "מחיקת ציורים" + +#: part/part.cpp:962 +#, kde-format +msgid "Configure Annotations…" +msgstr "הגדרת פירושים…" + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "הצגת/השהיית מצגת" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" +"ערכת את המסמך הפתוח אך לא ניתן לשמור סוג כזה של מסמך.\n" +"השינויים ילכו לאיבוד עם סגירת Okular." + +#: part/part.cpp:1123 +#, kde-format +msgid "Document can't be saved" +msgstr "אי אפשר לשמור את המסמך" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "לא ניתן לפתוח את ‚%1’ (%2) " + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "הטעינה של %1 בוטלה." + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "לא ניתן לפתוח את %1. הסיבה: %2" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "הגדרת מנגנוני צפייה" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "הגדרת מנגנונים" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "היישום „ps2pdf” לא נמצא, ולכן Okular לא יכול לייבא קובצי PS." + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "ps2pdf לא נמצא" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "קובצי PostScript‏ (%1)" + +#: part/part.cpp:1357 +#, kde-format +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "ייבוא קובץ PS כקובץ PDF (יכול לארוך זמן מה)…" + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "נא למלא את הסיסמה כדי לקרוא את המסמך:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "סיסמה שגויה. נא לנסות שוב:" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "סיסמת המסמך" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "במסמך הזה יש טופסי XFA, כרגע אין תמיכה בהם." + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"מסמך זה מכיל טפסים. ניתן ללחוץ על הלחצן כדי להשתמש בהם, או להשתמש בתפריט " +"תצוגה -> הצגת טפסים." + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" +"כל יכולות העריכה והתפעול של המסמך הזה מושבתות. נא לשמור עותק ולפתוח אותו " +"מחדש כדי לערוך את המסמך הזה." + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" +"המסמך רוצה למלא את המסך.\n" +"לצאת מהמצב הרגיל ולעבור למצב מצגת?" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "בקשה לשינוי מצב תצוגה" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "כניסה למצב מצגת" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "דחיית הבקשה" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "לא ניתן לפתוח את %1. %2" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" +"בקובץ %1 יש שינויים שלא נשמרו אבל הוא נערך בתוכנית " +"אחרת. טעינתו מחדש תחליף את השינויים שלא נשמרו בשינויים שנערכו בתוכנית השנייה." +"להמשיך לטעון את הקובץ מחדש?" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "קובץ נערך" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "להמשיך לטעון מחדש" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "ביטול טעינה מחדש" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" +"בקובץ %1 יש שינויים שלא נשמרו אבל הוא נערך בתוכנית " +"אחרת. סגירתו תחליף את השינויים שלא נשמרו בשינויים שנערכו בתוכנית השנייה.להמשיך לסגור את הקובץ?" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "להמשיך לסגור" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "ביטול סגירה" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "לשמור את השינויים שנערכו ב־„%1” או להשליך אותם?" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "סגירת מסמך" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "הקישור מצביע על פעולת סגירת מסמך, אשר לא עובדת בשימוש במציג המשובץ." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "הקישור מצביע על פעולת יציאה מיישום, אשר לא עובדת בשימוש במציג המשובץ." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, kde-format +msgid "Reloading the document…" +msgstr "המסמך נטען מחדש…" + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "תכנים" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "חתימות" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "מעבר לעמוד" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "&עמוד:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "נא למלא שם לסימנייה:" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "שינוי שם הסימנייה הזאת" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "הסרת הסימנייה" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "שמירה בשם" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" +"בחרת לשמור ארכיון Okular ללא שם קובץ שמסתיים ב־‚%1’. זה אסור, שנבחר שם חדש?" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "סיומת קובץ לא נתמכת" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "בחירת שם חדש" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" +"הקובץ %1 נערך בתוכנית אחרת. בחירה בשמירה כעת תוביל " +"לאובדן השינויים שנערכו בתוכנית השנייה. להמשיך?" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "שמירה - אזהרה" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "שמירת עותק במקום אחר" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
Do you want to continue?" +msgstr "" +"המסמך הנוכחי מוגן בסיסמה.
כדי לשמור, יש לטעון את הקובץ מחדש. תופיע בקשה " +"למילוי הסיסמה שוב והיסטוריית הביטול/שחזור שלך תלך לאיבוד.
להמשיך?" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "לא ניתן לפתוח את הקובץ הזמני לשמירה." + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" +"לא ניתן לדרוס את %1 כיוון שזה קובץ לקריאה בלבד. כדאי " +"לנסות לשמור למקום אחר או לשנות את הרשאות הקובץ הזה." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
Do you want to continue?" +msgstr "" +"לאחר שמירה, סוג המסמך הנוכחית דורש את טעינת הקובץ מחדש. היסטוריית " +"הביטול/שחזור שלך תלך לאיבוד.
להמשיך?" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "לא ניתן לשמור את הקובץ ב־'%1'. ניתן לנסות לשמור אותו במיקום אחר." + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "תוכני הטופס שמולאו" + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "פירושי משתמש" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" +"פעולה זו תשמור את השינויים אך סוג הקובץ הנוכחי לא תומך בשמירת הרכיבים הבאים. " +"נא להשתמש בסוג ארכיון מסמכים של Okular כדי לשמור אותם." + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "אזהרה" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "שמירה כארכיון מסמכים של Okular…" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" +"פעולה זו תשמור את השינויים אך סוג הקובץ הנוכחי לא תומך בשמירת הרכיבים הבאים. " +"נא להשתמש בסוג ארכיון מסמכים של Okular כדי לשמור אותם. לחיצה על " +"המשך תשמור את המסמך ותתעלם מהרכיבים האלה." + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" +"פעולה זו תשמור את השינויים אך סוג הקובץ הנוכחי לא תומך בשמירת הרכיבים הבאים. " +"נא להשתמש בסוג ארכיון מסמכים של Okular כדי לשמור אותם. לחיצה על " +"המשך תשמור את הקובץ, אך תגרום לאובדן הרכיבים האלה לרבות היסטוריית " +"ביטול/שחזור." + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "להמשיך" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "להמשיך על אף איבוד השינויים" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "הקובץ לא ניתן לשמירה ב־'%1'. %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"Okular לא יכול להעתיק את %1 למיקום המבוקש.\n" +"\n" +"המסמך לא קיים יותר." + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" +"לא ניתן לשמור את הקובץ ב־‚%1’. שגיאה: ‚%2’. ניתן לנסות לשמור אותו במקום אחר." + +#: part/part.cpp:3158 +#, kde-format +msgid "Expand Whole Section" +msgstr "להרחיב את כל המקטע" + +#: part/part.cpp:3159 +#, kde-format +msgid "Collapse Whole Section" +msgstr "לצמצם את כל המקטע" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "סנכרון תמונה ממוזערת עם העמוד" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "כלים" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "הקראה" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "הדפסה" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "הדפסת המסמך הזה אסורה." + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"לא ניתן להדפיס את המסמך. שגיאה לא ידועה. מומלץ לדווח זאת לאתר שבכתובת bugs." +"kde.org" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"לא ניתן להדפיס את המסמך. השגיאה המפורטת היא „%1”. מומלץ לדווח על זה מול bugs." +"kde.org" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "מעבר למיקום הקודם שהיית בו" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "מעבר למיקום הבא שהיית בו" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"שגיאת קובץ! לא ניתן ליצור קובץ זמני %1." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"שגיאת קובץ! לא ניתן לפתוח את הקובץ %1 לפריסה. הקובץ לא יטען." + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"שגיאה זו מתרחשת בדרך כלל אם אין לך מספיק הרשאות לקרוא את הקובץ. אפשר " +"לבדוק את הבעלות ואת ההרשאות בלחיצה ימנית על הקובץ במנהל הקבצים, לאחר מכן " +"לבחור באפשרות ‚מאפיינים’ ואז בלשונית ‚הרשאות’ בחלון שנפתח." + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"שגיאת קובץ! לא ניתן לפרוש את הקובץ %1. הקובץ לא יטען." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"שגיאה זו מתרחשת בדרך כלל כשהקובץ פגום. על מנת לוודא זאת, ניתן לפרוש את " +"הקובץ ידנית בעזרת כלי שורת־הפקודה." + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "אין סימניות" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "אירעה בעיה בשיתוף המסמך: %1" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "שיתוף" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "המסמך שותף בהצלחה" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "אפשר למצוא את המסמך המשותף תחת: %1" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "&עריכה" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "&תצוגה" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&מעבר אל" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "כ&לים" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "סרגל הכלים הראשי" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "כלי פירוש" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, kde-format +msgid "Quick Annotation Toolbar" +msgstr "כלי פירושים זריזים" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "אפשרויות כלליות" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "נגישות" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "עזרי קריאה" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "ביצועים" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "כוונון ביצועים" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "הגדרת המציג" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "מצגת" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "אפשרויות עבור מצב מצגת" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "אפשרויות פירושים" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "עורך" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "אפשרויות עורך" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" +"העורך הוגדר על ידי שורת הפקודות לכדי\n" +"%1 \n" +"כדי להשתמש בהגדרה הזאת, יש להפעיל את okular בלי האפשרות ‎--editor-cmd" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "חיפוש הבא" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 - מצגת" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "החלפת מסך" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "מסך %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "יציאה ממצב מצגת" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "כותרת: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "עמודים: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "לחיצה להתחלה" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "השהיה" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "ניגון" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"ישנן שתי דרכים לצאת ממצב מצגת. לחיצה על ESC או על לחצן היציאה שמופיע כאשר " +"ממקמים את סמן העכבר בפינה הימנית־עליונה. כמובן שניתן לעבור בין חלונות (Alt" +"+TAB כברירת מחדל)" + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "הצגת מצגת" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "קובץ לא ידוע" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "מאפיינים של %1" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "&גופנים" + +#: part/propertiesdialog.cpp:145 +#, kde-format +msgid "Reading font information…" +msgstr "נטען מידע על הגופן…" + +#: part/propertiesdialog.cpp:158 +#, kde-format +msgid "&Page Sizes" +msgstr "&גודלי הדף" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "&חילוץ גופן" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "סוג 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "סוג 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "סוג 1C (OT)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "סוג 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType (OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID סוג 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID סוג 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID סוג 0C (OT)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType (OT)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "TeX PK" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "TeX virtual" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "TeX Font Metric" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "TeX FreeType-handled" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "לא ידוע" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "משובץ (חלקית)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "משובץ מלא" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "לא" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "כן (תת־קבוצה)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "כן" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "%1 (מוחלף ב־%2)" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "לא זמין" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "גופן לא ידוע" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "משובץ: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "שם" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "סוג" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "קובץ" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "עמוד" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "גודל" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "תצוגת מהדורה מקדימה" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "איפה לשמור את המהדורה הזאת?" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "לא ניתן לשמור את הקובץ %1." + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "לא ניתן להציג מהדורה." + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "יש להכניס לפחות של אותיות לסינון דפים" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "תלוי רישיות" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "חיפוש ביטוי" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "התאמה לכל המילים ביחד" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "התאמה לכל מלה" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "אפשרויות סינון" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, kde-format +msgid "Certificates" +msgstr "אישורים" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "נא לבחור אישור לחתום איתו:" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "הכול" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, kde-format +msgid "Only QES certificates" +msgstr "אישורי QES (חתימה אלקטרונית מוסמכת) בלבד" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "מפתחות PGP בלבד" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "סיבה:" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, kde-format +msgid "optional" +msgstr "רשות" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "מקום:" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, kde-format +msgid "Background:" +msgstr "רקע:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "בחירה…" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, kde-format +msgid "Recent backgrounds:" +msgstr "רקעים אחרונים:" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

No annotations

To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
" +msgstr "" +"

אין פירושים

כדי ליצור פירושים חדשים יש ללחוץ על F6 " +"או לבחור בכלים -> פירושים מהתפריט.
" + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "קיבוץ על־פי דף" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "קיבוץ על־פי מחבר" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "הצגת פירושים לעמוד הנוכחי בלבד" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "הרחבת כל הרכיבים" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "צמצום כל הרכיבים" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "מאפיינים" + +#: part/signaturepartutils.cpp:180 +#, kde-format +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "תמונות (%1)" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "בחירת תמונת רקע" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "לשכוח תמונה" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "לשכוח את כל התמונות" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "נא למלא סיסמה (אם יש) לשחרור האישור: %1" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "מילוי סיסמת האישור" + +#: part/signaturepartutils.cpp:244 +#, kde-format +msgid "Enter document password" +msgstr "נא למלא סיסמה למסמך" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "לשמור את הקובץ החתום בשם" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "%1_חתום.%2" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "מצב תוקף" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "תוקף חתימה:" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "שינויים במסמך:" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "מידע נוסף" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "נחתם ע״י:" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "מועד החתימה:" + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "גרסת מסמך" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "מהדורת מסמך %1 מתוך %2" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "הצגת גרסה חתומה…" + +#: part/signaturepropertiesdialog.cpp:95 +#, kde-format +msgid "View Certificate…" +msgstr "הצגת האישור…" + +#: part/signaturepropertiesdialog.cpp:97 +#, kde-format +msgid "View in Certificate Manager" +msgstr "הצגה במנהל האישורים" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "מנהל האישורים של KDE‏ (kleopatra) לא נמצא" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "מוסמך" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "PGP" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "הצגת דפים עם סימניות בלבד" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "ניגון" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "השהיה" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "הפסקה" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "ב־okular הזה אין תמיכה בסרטונים" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "ב־Okular הזה אין תמיכה בסרטונים" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "הו&ספה…" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, kde-format +msgid "&Edit…" +msgstr "&עריכה…" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "הס&רה" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "העברה למ&עלה" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "הו&רדה" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "כלי ציור ברירת המחדל מס׳ %1" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "כבר יש כלי בשם הזה. נעשה שימוש בברירת המחדל" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "שם משוכפל" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "עמוד המסמך להצגה" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "פתיחת המסמך במצב מצגת" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "התחלה בחלונית הדפסה" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "התחלה עם חלונית הדפסה ולצאת לאחר ההדפסה" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "פקד „מופיע ייחודי”" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "לא להגביה חלון" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "איתור מחרוזת בטקסט" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "מגדיר את פקודה העורך החיצוני" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "מסמכים לפתיחה. נא לציין ‚-’ כדי לקרוא מקלט שורת הפקודות (stdin)." + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" +"אי אפשר להגדיר את פקודת העורך בעותק של okular שכבר פועל. נא להשבית את " +"הלשוניות ולנסות שוב. לתשומת ליבך, אין תמיכה בייחודי גם בהגדרת פקודת העורך " +"בשורת הפקודות.\n" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "שגיאה: אי אפשר לפתוח יותר מקובץ אחד עם הארגומנט ‎--unique" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "שגיאה: אי אפשר לפתוח יותר מקובץ אחד עם הארגומנט ‎--presentation" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "שגיאה: אי אפשר לפתוח יותר מקובץ אחד עם הארגומנט ‎--print" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "שגיאה: אי אפשר לפתוח יותר מקובץ אחד עם הארגומנט ‎--page" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "שגיאה: אי אפשר לפתוח יותר מקובץ אחד עם הארגומנט ‎--find" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "לא ניתן למצוא את רכיב ה־Okular:‏ %1" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "סרגל צד" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "כבר יש עותק ייחודי פעיל של Okular. העותק הזה לא יהיה הייחודי." + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "לא ניתן למצוא את הרכיב Okular." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"לחיצה לפתיחת קובץ\n" +"לחיצה והחזקה לפתיחת קובץ שנפתח לאחרונה" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"לחיצה לפתיחת קובץ או לחיצה והחזקה לפתיחת קובץ שנפתח לאחרונה" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "הלשונית הבאה" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "הלשונית הקודמת" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "ביטול סגירת לשונית" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "נעילת סרגל הצד" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "כל הקבצים (*)" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "כל הקבצים הנתמכים (%1)" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "פתיחת מסמך" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "אישור סגירה" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "סגירת לשוניות" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "פעולה זו תסגור %1 לשוניות. להמשיך?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "להזהיר אותי בעת ניסיון לסגור מספר לשוניות יחד" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "ה&עתקת נתיב" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "&פתיחת התיקייה המכילה" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "ל&שכוח את הפריט הזה" + +#: shell/welcomescreen.cpp:137 +#, kde-format +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "אין מסמכים אחרונים" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "ברוך בואך ל־Okular" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "פתיחת מסמך…" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, kde-format +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "מסמכים אחרונים" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "לשכוח הכול" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "הסתרת מסך קבלת הפנים" + +#~ msgid "Geometry with Comment" +#~ msgstr "צורה הנדסית עם הערה" + +#~ msgid "Geometry" +#~ msgstr "גאומטריה" + +#~ msgctxt "Annotation type: contents" +#~ msgid "%1: %2" +#~ msgstr "%1: %2" + +#~ msgid "Modified: %1" +#~ msgstr "שונה: %1" + +#~ msgid "Find..." +#~ msgstr "חיפוש…" + +#~ msgid "Go To Page..." +#~ msgstr "מעבר לעמוד…" + +#~ msgid "Play movie..." +#~ msgstr "ניגון סרטון…" + +#~ msgid "Search..." +#~ msgstr "חיפוש…" + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "&שמירה בשם…" + +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "&תצוגה…" + +#~ msgid "&Sign..." +#~ msgstr "&חתימה…" + +#~ msgid "Configure Viewer..." +#~ msgstr "הגדרת מציג…" + +#~ msgid "Configure Viewer Backends..." +#~ msgstr "הגדרת מנגנוני הצפייה…" + +#~ msgid "Configure Backends..." +#~ msgstr "הגדרת מנגנונים…" + +#~ msgid "&Add..." +#~ msgstr "הו&ספה…" + +#~ msgid "&Edit..." +#~ msgstr "&עריכה…" + +#~ msgctxt "%1 is a file path" +#~ msgid "" +#~ "Could not sign. Invalid certificate password or could not write to '%1'" +#~ msgstr "לא ניתן לחתום. סיסמת האישור שגויה או שאי אפשר לכתוב אל ‚%1’" + +#, fuzzy +#~| msgid "" +#~| "All your signing certificates are either not valid yet or are past their " +#~| "validity date." +#~ msgid "All your signing certificates are invalid" +#~ msgstr "כל אישורי החתימה שלך לא תקפים עדיין או שתאריך התפוגה שלהם חלף." + +#~ msgid "Unsigned Signature %1" +#~ msgstr "חתימה לא חתומה %1" + +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "לא ידוע" + +#~ msgctxt "Signature type" +#~ msgid "Unsigned signature" +#~ msgstr "חתימה לא חתומה" + +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "Spinbox prefix: Advance automatically: every n seconds" +#~ msgid "every " +#~ msgstr "כל " + +#~ msgctxt "Suffix for the pen width, eg '10 px'" +#~ msgid " px" +#~ msgstr " פיקסלים" + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " %" + +#~ msgctxt "%1 is a file path" +#~ msgid "Could not sign. Could not write to '%1'" +#~ msgstr "לא ניתן לחתום. לא ניתן לכתוב אל ‚%1’" + +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "התאמה לרוחב" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "התאמה לעמוד" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Auto Fit" +#~ msgstr "התאמה אוטומטית" + +#~ msgid "*|All Files" +#~ msgstr "*|כל הקבצים" + +#, fuzzy +#~| msgid "Show &Page Bar" +#~ msgid "Show Sidebar" +#~ msgstr "הצגת סרגל &עמוד" + +#, fuzzy +#~| msgid "Experimental" +#~ msgctxt "@title:window" +#~ msgid "Experimental feature" +#~ msgstr "ניסוי" + +#~ msgid "Remove Bookmarks" +#~ msgstr "הסרת הסימניות" + +#, fuzzy +#~| msgid "Annotations" +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "הערות צד" + +#, fuzzy +#~| msgid "Highlight" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "הדגשה" + +#, fuzzy +#~| msgid "Underline" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Underline" +#~ msgstr "קו תחתון" + +#, fuzzy +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Squiggle" +#~ msgstr "שרבוט" + +#, fuzzy +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Strike Out" +#~ msgstr "קו חוצה" + +#, fuzzy +#~| msgid "Insert" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "הוספה" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "הערה פנימית" + +#, fuzzy +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "&פתיחת הערה בחלונית" + +#, fuzzy +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Freehand Line" +#~ msgstr "קו ירוק בציור חופשי" + +#, fuzzy +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Straight line" +#~ msgstr "קו צהוב ישר" + +#, fuzzy +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Rectangle" +#~ msgstr "מלבן" + +#, fuzzy +#~| msgid "Ellipse" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Ellipse" +#~ msgstr "אליפסה" + +#, fuzzy +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Polygon" +#~ msgstr "מצולע כחול" + +#, fuzzy +#~ msgid "Highlight in Yellow" +#~ msgstr "הדגשה" + +#, fuzzy +#~ msgid "Highlight in Green" +#~ msgstr "הדגשה" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgid "Insert Inline Note" +#~ msgstr "הערה פנימית" + +#, fuzzy +#~ msgid "Insert Popup Note" +#~ msgstr "&פתיחת הערה בחלונית" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "בחירת טקסט" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "בחירת טקסט" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "בחירת טקסט" + +#, fuzzy +#~| msgctxt "Add an annotation to the page" +#~| msgid "add annotation" +#~ msgid "Bookmark annotation" +#~ msgstr "הוסף הערת צד" + +#, fuzzy +#~ msgid "&Toggle Change Colors" +#~ msgstr "שינוי &צבעים" + +#, fuzzy +#~| msgid "Enable transitions" +#~ msgctxt "@option:check Config dialog, presentation page, transitions" +#~ msgid "Enable transitions" +#~ msgstr "איפשור מעברים" + +#, fuzzy +#~| msgid "Advance every:" +#~ msgctxt "@label:spinbox Config dialog, presentation page" +#~ msgid "Advance every:" +#~ msgstr "התקדמות כל:" + +#, fuzzy +#~| msgid "Background color:" +#~ msgctxt "@label:listbox Config dialog, general page" +#~ msgid "Custom background color:" +#~ msgstr "צבע רקע:" + +#~ msgid "Draw border around &Images" +#~ msgstr "ציור מסגרת מסביב ל&תמונות" + +#~ msgid "Identity" +#~ msgstr "זהות" + +#, fuzzy +#~| msgid "&Author:" +#~ msgid "Au&thor:" +#~ msgstr "&מחבר:" + +#~ msgid "View Options" +#~ msgstr "אפשרויות תצוגה" + +#~ msgid "Navigation" +#~ msgstr "ניווט" + +#~ msgid "Placement" +#~ msgstr "מיקום" + +#~ msgid "Screen:" +#~ msgstr "מסך:" + +#~ msgid "&Get Books From Internet..." +#~ msgstr "הורדת &ספרים מהאינטרנט..." + +#~ msgid "Reviews" +#~ msgstr "סקירות" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "@item:inlistbox Color name" +#~ msgid "%1" +#~ msgstr "%1:" + +#~ msgid "Hide Forms" +#~ msgstr "הסתרת טפסים" + +#~ msgid "&Review" +#~ msgstr "&סקירה" + +#~ msgid "Annotations author" +#~ msgstr "מחבר הערות צד" + +#~ msgid "Please insert your name or initials:" +#~ msgstr "יש להכניס את השם או ראשי־התיבות:" + +#~ msgid "Show &Navigation Panel" +#~ msgstr "הצגת סרגל &ניווט" + +#~ msgid "Show Text" +#~ msgstr "הצג טקסט" + +#~ msgid "Small Icons" +#~ msgstr "סמלים קטנים" + +#~ msgid "Large Icons" +#~ msgstr "סמלים גדולים" + +#, fuzzy +#~| msgid "" +#~| "Click to use the current selection tool\n" +#~| "Click and hold to choose another selection tool" +#~ msgid "" +#~ "Click to use the current selection tool\n" +#~ "Click on the arrow to choose another selection tool" +#~ msgstr "" +#~ "לחיצה כדי להשתמש בכלי הבחירה הנוכחי\n" +#~ "לחיצה והחזקה כדי לבחור כלי בחירה אחר" + +#~ msgid "Created: %1" +#~ msgstr "נוצר: %1" + +#~ msgid "Style" +#~ msgstr "סגנון" + +#~ msgid "&Size:" +#~ msgstr "&גודל:" + +#~ msgid "Inner color:" +#~ msgstr "צבע פנימי:" + +#~ msgid "Name: %1" +#~ msgstr "שם: %1" + +#~ msgid "Size: %1" +#~ msgstr "גודל: %1" + +#~ msgid "&Browse Tool" +#~ msgstr "כלי &עיון" + +#~ msgid "&Zoom Tool" +#~ msgstr "כלי ה&גדלה" + +#~ msgctxt "Zoom Tool" +#~ msgid "Zoom" +#~ msgstr "הגדלה" + +#~ msgctxt "Select Tool" +#~ msgid "Selection" +#~ msgstr "בחירה" + +#~ msgid "&Text Selection Tool" +#~ msgstr "כלי בחירת &טקסט" + +#, fuzzy +#~ msgid "T&able Selection Tool" +#~ msgstr "כלי &בחירה" + +#, fuzzy +#~| msgctxt "Symbol for caret annotations" +#~| msgid "None" +#~ msgid " None" +#~ msgstr "ללא" + +#~ msgid "" +#~ "The document requested to be launched in presentation mode.\n" +#~ "Do you want to allow it?" +#~ msgstr "" +#~ "המסמך מבקש לעבור למצב מצגת.\n" +#~ "האם לאפשר זאת?" + +#~ msgid "Presentation Mode" +#~ msgstr "מצב מצגת" + +#~ msgid "Allow the presentation mode" +#~ msgstr "איפשור מעבר למצב מצגת" + +#~ msgid "Do Not Allow" +#~ msgstr "מניעה" + +#~ msgid "Do not allow the presentation mode" +#~ msgstr "מניעת המעבר למצב מצגת" + +#~ msgid "Save &Copy As..." +#~ msgstr "שמירת עו&תק בשם..." + +#~ msgid "" +#~ "End of document reached.\n" +#~ "Continue from the beginning?" +#~ msgstr "" +#~ "זהו סוף המסמך.\n" +#~ "האם להמשיך מההתחלה?" + +#~ msgid "" +#~ "Beginning of document reached.\n" +#~ "Continue from the bottom?" +#~ msgstr "" +#~ "זהו תחילת המסמך.\n" +#~ "האם להמשיך מהסוף?" diff --git a/po/he/okular_comicbook.po b/po/he/okular_comicbook.po new file mode 100644 index 0000000..21006e3 --- /dev/null +++ b/po/he/okular_comicbook.po @@ -0,0 +1,45 @@ +# Copyright (C) 2024 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# SPDX-FileCopyrightText: 2024 Yaron Shahrabani +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-02-02 11:58+0200\n" +"Last-Translator: Yaron Shahrabani \n" +"Language-Team: צוות התרגום של KDE ישראל\n" +"Language: he\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 && " +"n % 10 == 0) ? 2 : 3));\n" +"X-Generator: Lokalize 23.08.4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "צוות התרגום של KDE ישראל" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde-l10n-he@kde.org" + +#: document.cpp:97 +#, kde-format +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "לא ניתן לפתוח את המסמך, לא נמצאו rar או unarchiver." + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "גרסת ה־unrar שבמערכת שלך לא מתאימה לפתיחת ספרי קומיקס." + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "תסדיר ספר הקומיקס לא מוכר." diff --git a/po/he/okular_djvu.po b/po/he/okular_djvu.po new file mode 100644 index 0000000..97f0ce1 --- /dev/null +++ b/po/he/okular_djvu.po @@ -0,0 +1,96 @@ +# Copyright (C) 2024 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# SPDX-FileCopyrightText: 2024 Yaron Shahrabani +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-02-02 12:04+0200\n" +"Last-Translator: Yaron Shahrabani \n" +"Language-Team: צוות התרגום של KDE ישראל\n" +"Language: he\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 && " +"n % 10 == 0) ? 2 : 3));\n" +"X-Generator: Lokalize 23.08.4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "צוות התרגום של KDE ישראל" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde-l10n-he@kde.org" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "עורך" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "מפיץ" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "כרך" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "סוג מסמך" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "לא ידוע" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "קובצי רכיבים" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "לא ידוע" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "עמוד בודד" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "מאוגד" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "עקיף" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "מאוגד (ישן)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "מסודר במפתח (ישן)" diff --git a/po/he/okular_dvi.po b/po/he/okular_dvi.po new file mode 100644 index 0000000..4cb48e3 --- /dev/null +++ b/po/he/okular_dvi.po @@ -0,0 +1,533 @@ +# Copyright (C) 2024 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# SPDX-FileCopyrightText: 2024, 2025 Yaron Shahrabani +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-10-05 12:01+0300\n" +"Last-Translator: Yaron Shahrabani \n" +"Language-Team: צוות התרגום של KDE ישראל\n" +"Language: he\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 && " +"n % 10 == 0) ? 2 : 3));\n" +"X-Generator: Lokalize 25.08.1\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "צוות התרגום של KDE ישראל" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde-l10n-he@kde.org" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

" +msgstr "" +"

Okular לא הצליח לאתר את התוכנית dvipdfm במחשב שלך. התוכנית " +"הזאת חיונית לפעילות של יכולת הייצוא. אפשרבכל זאת, להמיר את קובץ ה־DVI ל־PDF " +"דרך יכולת ההדפסה של Okular, אך ככה נוצרים בדרך כלל קבצים שמתאימים להדפסה אך " +"איכותם נחותה אם הם מוצגים ב־Acrobat Reader. כנראה ששווה לך לשדרג לגרסה " +"עדכנית יותר של מערכת TeX (טך) שכוללת את התוכנית dvipdfm.

רמז " +"למנהלי המערכת המתוסכלים: Okular משתמש במשתנה הסביבה PATH לטובת איתור תוכניות." +"

" + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"התוכנית החיצונית ‚dvipdfm’, ששישמה לייצוא הקובץ, דיווחה על שגיאה. אולי " +"כדאי לעיין בחלונית פרטי המסמך שאותה ניתן למצוא בקובץ-תפריט " +"לדוח מפורט על השגיאה." + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" +"קובץ ה־DVI הזה מפנה לקובצי גרפיקה חיצוניים שאינם בתסדיר PostScript, " +"והתוכנית dvips שבה משתמש Okular באופן פנימי כדי להדפיס או לייצא ל־" +"PostScript לא יכולה לטפל בהם. היכולת שנחוצה לך אינה זמינה בגרסה הזו של " +"Okular." + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

" +msgstr "" +"

Okular לא הצליח לאתר את הפקודה dvips במחשב שלך. התוכנית הזאת " +"חיונית לפעילות יכולת הייצוא.

רמז למנהלי המערכת המתוסכלים: Okular משתמש " +"במשתנה הסביבה PATH לטובת איתור תוכניות.

" + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"התוכנית החיצונית ‚dvips’, ששישמה לייצוא הקובץ, דיווחה על שגיאה. אולי " +"כדאי לעיין בחלונית פרטי המסמך שאותה ניתן למצוא בקובץ-תפריט " +"לדוח מפורט על השגיאה." + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "קובץ ה־DVI לא מתחיל עם ההקדמה." + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" +"קובץ ה־DVI מכיל את גרסת פלט ה־DVI השגויה לתוכנית הזאת. רמז: אם בחרת להשתמש " +"במערכת סידור הדפוס Omega, צריך להשתמש בתוכנית מיוחדת כגון oxdvi." + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "קובץ ה־DVI פגום לחלוטין. Okular לא הצליח למצוא את אחרית הסנכרון." + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "אחרית הסנכרון לא מתחילה בפקודת POST." + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "אחרית הסנכרון הכילה פקודה שונה מ־FNTDEF." + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "העמוד %1 לא מתחיל בפקודת BOP (תחילת עמוד)." + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

PATH: %2

" +msgstr "" +"ב

לא ניתן להפעיל את התוכנית החיצונית pdf2ps. כתוצאה " +"מכך, לא ניתן להמיר את קובץ ה־PDF‏ %1 ל־PostScript. חלק מהרכיבים הגרפיים המסמך " +"שלך לא יוצגו.

סיבה אפשרית לכך: כנראה שהתוכנית pdf2ps לא מותקנת במערכת שלך או שאי אפשר למצוא אותה בנתיבי החיפוש הנוכחיים.

מה ניתן לעשות בנדון: התוכנית pdf2ps היא בדרך " +"כלל חלק מממערכת חבילות פענוח ה־PostScript של ghostscript. אם ghostscript לא " +"מותקן במערכת שלך, אפשר להתקין אותו כעת. במקרה של ספק בנוגע להתקנת " +"ghostscript, כדאי לנסות להשתמש ב־pdf2ps משורת הפקודות כדי " +"לבדוק אם הוא אכן עובד.

PATH: %2

" + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

%2

" +msgstr "" +"

לא ניתן להמיר את קובץ ה־PDF‏ %1 ל־PostScript. חלק מהרכיבים הגרפיים " +"במסמך שלך לא יוצגו.

סיבה אפשרית: יכול להיות שהקובץ %1 פגום, או " +"שזה בכלל לא קובץ PDF. זה הפלט של התוכנית pdf2ps בה השתמש " +"Okular:

%2

" + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "פגם בקובץ. %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "לא את כל קובצי ה־PostScript אפשר להטמיע למסמך שלך. %1" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "כל קובצי ה־PostScript החיצוניים הוטמעו לתוך המסמך שלך." + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "הקובץ שצוין ‚%1’ לא קיים." + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" +"ביקשת מ־Okular לאתר את המיקום בקובץ ה־DVI שמתאים לשורה %1 בקובץ ה־TeX (טך) " +"%2. אך נראה שקובץ ה־DVI לא מכיל את פרטי קובץ המקור ההכרחיים." + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" +"Okular לא הצליח לאתר את המיקום בקובץ ה־DVI שמתאים לשורה %1 בקובץ ה־TeX (טך) " +"%2." + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "קוד ה־DVI הגדיר תו מגופן לא ידוע." + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "קוד ה־DVI הפנה לגופן מס׳ %1, שלא הוגדר קודם לכן." + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "הערמה לא הייתה ריקה כשהתקבלה פקודת EOP (סוף עמוד)." + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "הערמה הייתה ריקה כשהתקבלה פקודת POP (שליפה)." + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "קוד ה־DVI הפנה לגופן שלא הוגדר קודם לכן." + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "התקבלה פקודה שגויה." + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "התקבל קוד ההפעלה הבלתי־מוכר %1." + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "%1 מוטמע" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
" +msgstr "" +"עמוד %1: אי אפשר להמיר את קובץ ה־ PDF‏ %2 ל־PostScript.
" + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
" +msgstr "עמוד %1: לא ניתן למצוא את קובץ ה־ PostScript‏ %2.
" + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "לא ניתן לפענח את נתוני גודל העמוד ‚%1’." + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

PATH: %1

%2

" +msgstr "" +"

Okular לא הצליח לאתר את כל הגופנים הנחוצים להצגת קובץ ה־DVI הנוכחי. " +"כנראה שהקובץ שלך יהיה בלתי־קריא.

PATH: %1

%2

" + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

PATH: %1

%2

" +msgstr "" +"

התחוללו כל מיני תקלות עקב הרצת kpsewhich. כתוצאה מכך, חלק " +"מקובצי הגופנים לא נמצאו, ויכול להיות שהמסמך שלך יהיה בלתי־קריא.
הסיבות " +"האפשריות לכך הן: כנראה שהתוכנית kpsewhich לא מותקנת במערכת שלך או " +"שהיא לא נמצאת בנתיב החיפוש הנוכחי.

PATH: %1

%2

" + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" +"יצירת הגופנים על ידי kpsewhich בוטלה (קוד יציאה %1, שגיאה %2). " +"כתוצאה מכך, האיתור של חלק מקובצי הגופנים נכשל, ויכול להיות שהמסמך שלך יהיה " +"בלתי־קריא." + +#: fontpool.cpp:482 +#, kde-format +msgid "Currently generating %1 at %2 dpi…" +msgstr "%1 נוצר כרגע באיכות של %2 נק׳ לאינטש…" + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "יוצר/תאריך" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "קובץ הגופן לא נמצא" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "%1 × %2" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "%1 × %2 מ״מ" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "%1 × %2 אינ׳" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "לאורך" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "לרוחב" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" +"גרסת ה־Ghostview שמותקנת במחשב הזה לא מכילה מנהלי התקני Ghostview שמוכרים ל־" +"Okular. לכן התמיכה ב־PostScript הושבתה ב־Okular." + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "הגענו ל־25 שגיאות. הודעות שגיאה נוספות לא תוצגנה." + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" +"שגיאה בקובץ ה־DVI‏ ‚%1’, בעמוד %2. פקודת שליפת צבע (color pop) נקראה כאשר " +"ערמת הצבעים ריקה." + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" +"משתנה פגום בפקודת ה־espf המיוחדת.\n" +"אמור היה להיות מספר עם נקודה צפה לפי %1 ב־%2" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"קובץ לא נמצא: \n" +" %1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" +"שגיאה בקובץ ה־DVI‏ ‚%1’, בעמוד %2. לא ניתן לפענח את הזווית בהטיית זווית " +"מיוחדת." + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "הפקודה המיוחדת ‚%1’ לא ממומשת." + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "אפשר לפתוח ולקרוא את קובץ הגופן %1, אך תסדיר הגופן לא נתמך." + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "קובץ הגופן %1 פגום, או שאי אפשר לפתוח או לקרוא אותו." + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "FreeType דיווח על שגיאה בעת הגדרת גודל התווים לקובץ הגופן %1." + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "FreeType לא הצליח לטעון את גליף מס׳ %1 מקובץ הגופן %2." + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "FreeType לא הצליח לעבד את גליף מס׳ %1 מקובץ הגופן %2." + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "גליף מס׳ %1 ריק." + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "גליף מס׳ %1 מקובץ הגופן %2 ריק." + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "FreeType לא הצליח לטעון את המדד לגליף מס׳ %1 מקובץ הגופן %2." + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "לא ניתן למצוא את קובץ הגופן %1." + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "TexFont_PK::operator[]‎: התו %1 לא מוגדר בגופן %2" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "%1 לא צפוי בקובץ ה־PK‏ %2" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "התו %1 גדול מדי לקובץ %2" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "אוחסן מספר שגוי של סיביות: תו %1, גופן %2" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "קובץ pk פגום (%1), יותר מדי סיביות" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "לגופן יש יחס גובה־רוחב שאינו מרובע" + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "לא ניתן למצוא את הגופן %1, קובץ %2." + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "חוסר התאמה של סיכום הביקורת לקובץ הגופן %1" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "לא ניתן לזהות את תסדיר קובץ הגופן %1" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"שגיאה משמעותית.\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" +"\n" +"\n" +"זה אומר שאו שמצאת תקלה ב־Okular,\n" +"או שקובץ ה־DVI, או הקבצים המלווים (כגון קובצי גופנים, \n" +"או קובצי גופנים וירטואליים) נפגמו כהוגן.\n" +"Okular ייסגר אחרי ההודעה הזאת. אם להערכת\n" +"מצאת תקלה, או ש־Okular אמור להתנהל בצורה טובה יותר במקרים כאלה\n" +"נא לדווח על הבעיה הזאת." + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "נמצא בית פקודה שגוי ברשימת תסריטי המאקרו של הגופנים הווירטואליים: %1" diff --git a/po/he/okular_epub.po b/po/he/okular_epub.po new file mode 100644 index 0000000..304604f --- /dev/null +++ b/po/he/okular_epub.po @@ -0,0 +1,44 @@ +# Copyright (C) 2024 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# SPDX-FileCopyrightText: 2024 Yaron Shahrabani +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-02-02 11:59+0200\n" +"Last-Translator: Yaron Shahrabani \n" +"Language-Team: צוות התרגום של KDE ישראל\n" +"Language: he\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 && " +"n % 10 == 0) ? 2 : 3));\n" +"X-Generator: Lokalize 23.08.4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "צוות התרגום של KDE ישראל" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde-l10n-he@kde.org" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "שגיאה בפתיחת מסמך הספר האלקטרוני (EPub)." + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "EPub" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "הגדרות מנגנון EPub" diff --git a/po/he/okular_fax.po b/po/he/okular_fax.po new file mode 100644 index 0000000..9a42abd --- /dev/null +++ b/po/he/okular_fax.po @@ -0,0 +1,34 @@ +# Copyright (C) 2024 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# SPDX-FileCopyrightText: 2024 Yaron Shahrabani +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-02-02 11:55+0200\n" +"Last-Translator: Yaron Shahrabani \n" +"Language-Team: צוות התרגום של KDE ישראל\n" +"Language: he\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 && " +"n % 10 == 0) ? 2 : 3));\n" +"X-Generator: Lokalize 23.08.4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "צוות התרגום של KDE ישראל" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde-l10n-he@kde.org" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "לא ניתן לטעון את המסמך" diff --git a/po/he/okular_fictionbook.po b/po/he/okular_fictionbook.po new file mode 100644 index 0000000..02c6350 --- /dev/null +++ b/po/he/okular_fictionbook.po @@ -0,0 +1,69 @@ +# Copyright (C) 2024 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# SPDX-FileCopyrightText: 2024 Yaron Shahrabani +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-02-02 12:02+0200\n" +"Last-Translator: Yaron Shahrabani \n" +"Language-Team: צוות התרגום של KDE ישראל\n" +"Language: he\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 && " +"n % 10 == 0) ? 2 : 3));\n" +"X-Generator: Lokalize 23.08.4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "צוות התרגום של KDE ישראל" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde-l10n-he@kde.org" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "המסמך אינו FictionBook תקף" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "לא ניתן לפתוח את המסמך: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "המסמך אינו ארכיון ZIP תקף" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "מבנה המסמך שגוי (חסרה התיקייה הראשית)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "לא נמצא תוכן במסמך" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "מסמך XML שגוי: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "FictionBook" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "הגדרות מנגנון FictionBook" diff --git a/po/he/okular_ghostview.po b/po/he/okular_ghostview.po new file mode 100644 index 0000000..e5a1b36 --- /dev/null +++ b/po/he/okular_ghostview.po @@ -0,0 +1,77 @@ +# Copyright (C) 2024 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# SPDX-FileCopyrightText: 2024 Yaron Shahrabani +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-02-02 12:03+0200\n" +"Last-Translator: Yaron Shahrabani \n" +"Language-Team: צוות התרגום של KDE ישראל\n" +"Language: he\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 && " +"n % 10 == 0) ? 2 : 3));\n" +"X-Generator: Lokalize 23.08.4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "צוות התרגום של KDE ישראל" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde-l10n-he@kde.org" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "להשתמש בגופנים של הפלטפורמה" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"מגדיר האם Ghostscript יורשה להשתמש בגופני הפלטפורמה, אם לא אז יותר לו להשתמש " +"רק בגופנים שמוטמעים במסמך." + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "הגדרות כלליות" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "להשתמש ב&גופנים של הפלטפורמה" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "הגדרות מנגנון Ghostscript" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "גרסת מסמך" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "דרגת שפה" diff --git a/po/he/okular_kimgio.po b/po/he/okular_kimgio.po new file mode 100644 index 0000000..44f977e --- /dev/null +++ b/po/he/okular_kimgio.po @@ -0,0 +1,42 @@ +# Copyright (C) 2024 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# SPDX-FileCopyrightText: 2024 Yaron Shahrabani +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-02-02 11:57+0200\n" +"Last-Translator: Yaron Shahrabani \n" +"Language-Team: צוות התרגום של KDE ישראל\n" +"Language: he\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 && " +"n % 10 == 0) ? 2 : 3));\n" +"X-Generator: Lokalize 23.08.4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "צוות התרגום של KDE ישראל" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde-l10n-he@kde.org" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "לא ניתן לטעון את המסמך: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" +"המסמך הזה נראה פגום. הנה השערוך המיטבי לאיך המסמך הזה אמור היה להיראות." diff --git a/po/he/okular_markdown.po b/po/he/okular_markdown.po new file mode 100644 index 0000000..2854cde --- /dev/null +++ b/po/he/okular_markdown.po @@ -0,0 +1,54 @@ +# Copyright (C) 2024 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# SPDX-FileCopyrightText: 2024 Yaron Shahrabani +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-02-02 12:01+0200\n" +"Last-Translator: Yaron Shahrabani \n" +"Language-Team: צוות התרגום של KDE ישראל\n" +"Language: he\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 && " +"n % 10 == 0) ? 2 : 3));\n" +"X-Generator: Lokalize 23.08.4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "צוות התרגום של KDE ישראל" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde-l10n-he@kde.org" + +#: converter.cpp:59 converter.cpp:93 +#, kde-format +msgid "Failed to open the document" +msgstr "פתיחת המסמך נכשלה" + +#: converter.cpp:106 converter.cpp:124 +#, kde-format +msgid "Failed to compile the Markdown document." +msgstr "הידור מסמך ה־Markdown נכשל." + +#: generator_md.cpp:58 +#, kde-format +msgid "Enable SmartyPants formatting" +msgstr "הפעלת עיצוב SmartyPants" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown" +msgstr "Markdown" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown Backend Configuration" +msgstr "הגדרות מנגנון Markdown" diff --git a/po/he/okular_mobi.po b/po/he/okular_mobi.po new file mode 100644 index 0000000..d7f509c --- /dev/null +++ b/po/he/okular_mobi.po @@ -0,0 +1,52 @@ +# Copyright (C) 2024 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# SPDX-FileCopyrightText: 2024 Yaron Shahrabani +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-02-02 12:00+0200\n" +"Last-Translator: Yaron Shahrabani \n" +"Language-Team: צוות התרגום של KDE ישראל\n" +"Language: he\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 && " +"n % 10 == 0) ? 2 : 3));\n" +"X-Generator: Lokalize 23.08.4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "צוות התרגום של KDE ישראל" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde-l10n-he@kde.org" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "שגיאה בפתיחת מסמך ה־Mobipocket." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "" +"הספר הזה מוגן ב־DRM (ניהול זכויות דיגיטליות) ואפשר להציג אותו רק במכשיר " +"ייעודי" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "Mobipocket" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "הגדרות מנגנון Mobipocket" diff --git a/po/he/okular_poppler.po b/po/he/okular_poppler.po new file mode 100644 index 0000000..42615aa --- /dev/null +++ b/po/he/okular_poppler.po @@ -0,0 +1,385 @@ +# Copyright (C) 2024 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# SPDX-FileCopyrightText: 2024, 2025 Yaron Shahrabani +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-11 10:02+0300\n" +"Last-Translator: Yaron Shahrabani \n" +"Language-Team: צוות התרגום של KDE ישראל\n" +"Language: he\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 && " +"n % 10 == 0) ? 2 : 3));\n" +"X-Generator: Lokalize 25.04.3\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "צוות התרגום של KDE ישראל" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde-l10n-he@kde.org" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "הפעלת תצוגת הדפסת על:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "אף פעם" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "תמיד" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "אוטומטי" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "חידוד קווים דקים:" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "ללא" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "אחיד" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "צורה" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "שיטת שינוי קנה מידה כברירת מחדל בעת הדפסה:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "התאמה לאזור המודפס" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "התאמה לעמוד מלא" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "ללא, הדפסת הגודל המקורי" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" +"הפעלת אפשרות זו תאפשר ל־Okular ליצור קשר עם שרתי OCSP של גורמי צ־שלישי כדי " +"לבדוק אם האישורים ששימשו לחתימות דיגיטליות נשללו מאז שנוצרו." + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "בדיקת שלילת אישורי חתימות דיגיטליות באמצעות שרתי צד־שלישי" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "מנגנון חתימות:" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" +"את החתימות האלו יכולים לאמת משתמשים של גרסאות עדכניות של Okular עם מנגנון " +"GnuPG פעיל" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "לאפשר מפתחות PGP לחתימות (הרחבה של Okular)" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "מסד נתוני אישורים" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "ברירת מחדל:" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "התאמה אישית:" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "אישורים זמינים" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "&טעינת חתימות" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "אפשרויות PDF" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "הדפסת הסברים" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "לכלול הסברים במסמך המודפס" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"כולל הסברים במסמך המודפס. אפשר להשבית כדי להדפיס את המסמך המקורי ללא ההסברים." + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "אילוץ המרה לתמונה" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "המרת וקטורים לתמונה לפני ההדפסה" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"מאלץ המרה של כל עמוד לתמונה לפני ההדפסה שלו. בדרך כלל ההגדרה הזאת מייצרת " +"תוצאות נחותות אך היא חיונית להדפסת מסמכים שמודפסים לא נכון." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "מצב קנה־מידה לעמודים המודפסים" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "מצב קנה־מידה:" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF בגרסה %1.%2" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "תסדיר" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "מוצפן" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "גלוי" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "אבטחה" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "כן" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "ממוטבת" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"נחתם על ידי: %1\n" +"\n" +"תאריך: %2" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "נעשה שימוש ב־Poppler %1" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" +"נעשה שימוש ב־Poppler %1\n" +"\n" +"נבנה כנגד Poppler %2" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "הגדרות מנגנון PDF" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "הכתיבה לקובץ הזמני נכשלה" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "שינוי שם הקובץ הזמני נכשל" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" +"נמצאו כל מיני שגיאות במסמך, יכול להיות ש־Okular לא יוכל להציג את התוכן כראוי" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" +"החתימות האלה עובדות רק בין גרסאות עדכניות של Okular עם מנגנון מבוסס GnuPG " +"פעיל" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "הפעלת חתימות PGP" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "הונפק לטובת" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "דוא״ל" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "תאריך תפוגה" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" +"נעשה שימוש בספריית Poppler שנבנתה ללא תמיכה ב־NSS.\n" +"הוספת חתימות דיגיטליות אינה אפשרית בדיוק מהסיבה הזאת" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "לעד" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "צריך להפעיל מחדש" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "צריך להפעיל את Okular מחדש לאחר שינוי הגדרות תיקיית ה־NSS" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter Password" +msgstr "נא למלא סיסמה" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "נא למלא סיסמה כדי לפתוח את %1:" diff --git a/po/he/okular_tiff.po b/po/he/okular_tiff.po new file mode 100644 index 0000000..a27ff0b --- /dev/null +++ b/po/he/okular_tiff.po @@ -0,0 +1,29 @@ +# Copyright (C) 2024 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# SPDX-FileCopyrightText: 2024 Yaron Shahrabani +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-02-02 11:29+0200\n" +"Last-Translator: Yaron Shahrabani \n" +"Language-Team: צוות התרגום של KDE ישראל\n" +"Language: he\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 && " +"n % 10 == 0) ? 2 : 3));\n" +"X-Generator: Lokalize 23.08.4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "צוות התרגום של KDE ישראל" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde-l10n-he@kde.org" diff --git a/po/he/okular_txt.po b/po/he/okular_txt.po new file mode 100644 index 0000000..5f0360f --- /dev/null +++ b/po/he/okular_txt.po @@ -0,0 +1,39 @@ +# Copyright (C) 2024 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# SPDX-FileCopyrightText: 2024 Yaron Shahrabani +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-02-02 11:57+0200\n" +"Last-Translator: Yaron Shahrabani \n" +"Language-Team: צוות התרגום של KDE ישראל\n" +"Language: he\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 && " +"n % 10 == 0) ? 2 : 3));\n" +"X-Generator: Lokalize 23.08.4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "צוות התרגום של KDE ישראל" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde-l10n-he@kde.org" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "טקסט" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "הגדרות מנגנון טקסט" diff --git a/po/he/okular_xps.po b/po/he/okular_xps.po new file mode 100644 index 0000000..a5b01c3 --- /dev/null +++ b/po/he/okular_xps.po @@ -0,0 +1,34 @@ +# Copyright (C) 2024 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# SPDX-FileCopyrightText: 2024 Yaron Shahrabani +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-02-02 11:55+0200\n" +"Last-Translator: Yaron Shahrabani \n" +"Language-Team: צוות התרגום של KDE ישראל\n" +"Language: he\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 && " +"n % 10 == 0) ? 2 : 3));\n" +"X-Generator: Lokalize 23.08.4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "צוות התרגום של KDE ישראל" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde-l10n-he@kde.org" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "מהדורה" diff --git a/po/he/org.kde.active.documentviewer.po b/po/he/org.kde.active.documentviewer.po new file mode 100644 index 0000000..243341e --- /dev/null +++ b/po/he/org.kde.active.documentviewer.po @@ -0,0 +1,209 @@ +# Copyright (C) 2024 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# SPDX-FileCopyrightText: 2024, 2025 Yaron Shahrabani +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-29 08:23+0300\n" +"Last-Translator: Yaron Shahrabani \n" +"Language-Team: צוות התרגום של KDE ישראל\n" +"Language: he\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 && " +"n % 10 == 0) ? 2 : 3));\n" +"X-Generator: Lokalize 25.04.3\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "סימניות" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "מציג אישורים" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "הונפק על ידי" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "שם נפוץ:" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "דוא״ל:" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "ארגון:" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "הונפק לטובת" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "תוקף" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "הונפק ב־:" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "תום התוקף:" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "טביעות אצבע" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "טביעת אצבע SHA-1:" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "טביעת אצבע SHA-256:" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +msgid "Export…" +msgstr "ייצוא…" + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "סגירה" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "קובץ אישור (‎*.cer)" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "שגיאה" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "לא ניתן לייצא את האישור." + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "Okular" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "פתיחה…" + +#: ui/Main.qml:49 +msgid "About" +msgstr "על אודות" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "דורש סיסמה" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "הסרת סימנייה" + +#: ui/MainView.qml:29 +msgid "Bookmark this page" +msgstr "סימון העמוד הזה" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "תמונות ממוזערות" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "תוכן עניינים" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "חתימות" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "מאפייני חתימה" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "מצב תוקף" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "תוקף חתימה:" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "שינויים למסמך:" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "מידע נוסף" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "נחתם על ידי:" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "זמן החתימה:" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "סיבה:" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "מקום:" + +#: ui/SignaturePropertiesPage.qml:96 +msgid "Document Version" +msgstr "גרסת מסמך" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "מהדורת מסמך %1 מתוך %2" + +#: ui/SignaturePropertiesPage.qml:108 +msgid "Save Signed Version…" +msgstr "שמירת הגרסה החתומה…" + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +msgid "View Certificate…" +msgstr "הצגת אישור…" + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "לא ניתן לשמור את החתימה." + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "לא זמין" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "לא נמצאה תוצאה." + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "אין מסמך פתוח" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "מסמכים אחרונים" + +#: ui/WelcomeView.qml:108 +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "המסמכים שלי" + +#~ msgid "Open..." +#~ msgstr "פתיחה…" diff --git a/po/hi/okular.po b/po/hi/okular.po new file mode 100644 index 0000000..9dd037d --- /dev/null +++ b/po/hi/okular.po @@ -0,0 +1,6770 @@ +# translation of okular.po to Hindi +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Ravishankar Shrivastava , 2007. +# rawkoder , 2020. +# Raghavendra Kamath , 2020, 2021. +# SPDX-FileCopyrightText: 2024 kali +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-12-15 19:31+0530\n" +"Last-Translator: kali \n" +"Language-Team: Sanskrit \n" +"Language: hi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" +"X-Generator: Lokalize 24.08.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "रविशंकर श्रीवास्तव, जी. करूणाकर, राॅकोडर, राघवेंद्र कामत" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "raviratlami@aol.in, rawkoder@fastmail.in, raghu@raghukamath.com" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "ऑकुलर" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "ऑकुलर, एक सार्वजनीन दस्तावेज़ प्रदर्शक" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"(C) 2002 विल्को ग्रेवेन, क्रिस्टोफ़ डेवराइस\n" +"(C) 2004-2005 एनरिको रोस\n" +"(C) 2005 पियोत्र स्जाइमंस्की\n" +"(C) 2004-2017 अलबर्ट एस्टल्स सिड\n" +"(C) 2006-2009 पिनो तोस्कानो" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "पिनो टोसकानो" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "भूतपूर्व अनुरक्षक" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "टॉबियस कोएनिग" + +#: aboutdata.h:32 +#, fuzzy, kde-format +#| msgid "Lots of framework work, ODT and FictionBook backends" +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "अनेक फ्रेमवर्क कार्य, ओडीटी तथा फ़िक्शनबुक बैकएण्ड" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "अलबर्ट एस्टल्स सिड" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "विकासकर्ता" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "पियोत्र स्जाइमंस्की" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "केपीडीएफ कोडबेस से ऑकुलर निर्मित किया" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "एनरिको रॉस" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "केपीडीएफ़ विकासकर्ता" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "टीका संबंधित कलाकृति" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "तालिका चयन उपकरण" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "टीका सुधार" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "पृष्ठ %1 पर जाएं" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "बाहरी फ़ाइल खोलें" + +#: core/action.cpp:197 +#, fuzzy, kde-format +#| msgid "Execute '%1'..." +msgid "Execute '%1'…" +msgstr "चलाएँ '%1'..." + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "प्रथम पृष्ठ" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "पिछला पृष्ठ" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "अगला पृष्ठ" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "अंतिम पृष्ठ" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "पीछे" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "आगे" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "बाहर जाएँ" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "प्रस्तुतीकरण चालू करें" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "प्रस्तुतीकरण बन्द करें" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go To Page…" +msgstr "पृष्ठ पर जाएं" + +#: core/action.cpp:365 +#, fuzzy, kde-format +#| msgid "Play sound..." +msgid "Play sound…" +msgstr "ध्वनि बजाएं..." + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "जावास्क्रिप्ट स्क्रिप्ट" + +#: core/action.cpp:483 +#, fuzzy, kde-format +#| msgid "Play movie" +msgid "Play movie…" +msgstr "चलचित्र चलाएँ" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "चलचित्र चलाएँ" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "चलचित्र बंद करें" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "चलचित्र रोकें" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "बैकएण्ड चयन" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
%1 (%2).

Please select which one to use:
" +msgstr "" + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "अधिकतर पृष्ठ %1 आकार के हैं।" + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "खड़ा %1" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "आड़ा %1" + +#: core/document.cpp:246 +#, fuzzy, kde-format +#| msgctxt "%1 is width, %2 is height, %3 is paper size name" +#| msgid "%1 x %2 in (%3)" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 x %2 इंच (%3)" + +#: core/document.cpp:248 +#, fuzzy, kde-format +#| msgctxt "%1 is width, %2 is height, %3 is paper size name" +#| msgid "%1 x %2 mm (%3)" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 x %2 मिमी (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "प्रारंभ से खोज चालू कर रहें हैं" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "अंत से खोज चालू कर रहें हैं" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "" + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "टीकाएं हटाएँ" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "माइमप्रकार %1 युक्त फ़ाइल को खोलने के लिए कोई अनुप्रयोग नहीं मिला." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "एक अस्थायी फ़ाइल को नहीं खोला जा सका" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "छापने हेतु फ़ाइल ढूंढ पाने में अक्षम" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "%1 को खोला नहीं जा सका। फ़ाइल अस्तित्व में नहीं है" + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "शीर्षक" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "विषय" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "वर्णन" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "लेखक" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "निर्माता" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "निर्माता" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "सर्वाधिकार सुरक्षित" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "पृष्ठ" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "निर्मित" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "परिवर्धित" + +#: core/document.cpp:6032 +#, fuzzy, kde-format +#| msgid "Mime Type" +msgid "MIME Type" +msgstr "माइम प्रकार" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "श्रेणी" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "संकेतशब्द" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "फ़ाइल पथ" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "फ़ाइल आकार" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "पृष्ठ आकार" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "टीका जोड़ें" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "टीकाएं हटाएँ" + +#: core/documentcommands.cpp:155 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "एन्नोटेशन गुण" + +#: core/documentcommands.cpp:190 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Text Annotation" +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "पाठ एन्नोटेशन" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "टीका समायोजित करें" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "पाठ संपादन" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "टीका विषय संपादित करें" + +#: core/documentcommands.cpp:447 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "एन्नोटेशन गुण" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "" + +#: core/generator.cpp:790 +#, fuzzy, kde-format +#| msgid "Plain &Text..." +msgid "Plain &Text…" +msgstr "सादा पाठ... (&T) " + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "पीडीएफ" + +# This is a document format like ODF +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "मुक्त-दस्तावेज़ पाठ" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "एचटीएमएल" + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "छपाई के विकल्प" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "आकार विधि :" + +#: core/script/js_app.cpp:206 +#, fuzzy, kde-format +#| msgid "Close this message" +msgid "Do not show this message again" +msgstr "इस संदेश को बंद करें" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "उपलब्ध नहींं" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "" + +#: core/signatureutils.cpp:504 +#, fuzzy, kde-kuit-format +#| msgid "File not saved." +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "फ़ाइल को सहेजा नहीं गया." + +#: core/signatureutils.cpp:506 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown signing error" +msgstr "अज्ञात फ़ाइल" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "स्रोत: %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "पूर्वन्यस्त फ़ॉन्ट (&D):" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "संस्करण" + +#: gui/certificatemodel.cpp:41 +#, fuzzy, kde-format +#| msgid "Pages Size" +msgid "Serial Number" +msgstr "पृष्ठ आकार" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "जारीकर्ता" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, fuzzy, kde-format +#| msgid "Expired" +msgid "Expires On" +msgstr "मियाद ख़त्म" + +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "विषय" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "सार्वजनिक चाभी:" + +#: gui/certificatemodel.cpp:53 +#, fuzzy, kde-format +#| msgid "Memory Usage" +msgid "Key Usage" +msgstr "मेमोरी उपयोग" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "सं%1" + +#: gui/certificatemodel.cpp:84 +#, fuzzy, kde-format +#| msgctxt "File type name and pattern" +#| msgid "%1 (%2)" +msgid "%1 (%2 bits)" +msgstr "%1 (%2)" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "गुण" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "मूल्य" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "पॉप अप नोट" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "टाईपराइटर" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "इनलाइन टिप्पणी" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +#| msgid "Polygon with Comment" +msgid "Arrow with Comment" +msgstr "टिप्पणी के संग बहुभुज" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, fuzzy, kde-format +#| msgctxt "@action:intoolbar Annotation tool" +#| msgid "Arrow" +msgid "Arrow" +msgstr "तीर" + +#: gui/guiutils.cpp:59 +#, fuzzy, kde-format +#| msgid "Line Properties" +msgid "Straight Line with Comment" +msgstr "रेखा गुण" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "सीधी रेखा" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "टिप्पणी के संग बहुभुज" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "बहुभुज" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgid "Stamp with Comment" +msgid "Rectangle with Comment" +msgstr "टिप्पणी संग मुद्रांकित करें" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "चतुर्भुज" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgid "Underline" +msgid "Ellipse with Comment" +msgstr "रेखांकित" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "दीर्घवृत्त" + +#: gui/guiutils.cpp:83 +#, fuzzy, kde-format +#| msgid "Highlight" +msgid "Highlight with Comment" +msgstr "उभारें" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "उभारें" + +#: gui/guiutils.cpp:87 +#, fuzzy, kde-format +#| msgid "Squiggly" +msgid "Squiggle with Comment" +msgstr "स्क्विग्ली" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr " टेढ़ा मेढ़ा" + +#: gui/guiutils.cpp:91 +#, fuzzy, kde-format +#| msgid "Underline" +msgid "Underline with Comment" +msgstr "रेखांकित" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "रेखांकित" + +#: gui/guiutils.cpp:95 +#, fuzzy, kde-format +#| msgid "Strike out" +msgid "Strike Out with Comment" +msgstr "लिखकर काटें" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "लिखकर काटें" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "टिप्पणी संग मुद्रांकित करें" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "मुद्रांकन" + +#: gui/guiutils.cpp:106 +#, fuzzy, kde-format +#| msgid "Line Properties" +msgid "Freehand Line with Comment" +msgstr "रेखा गुण" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "मुक्तहस्त रेखा" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "हंसपद" + +#: gui/guiutils.cpp:114 +#, fuzzy, kde-format +#| msgid "Inline Note Properties" +msgid "File Attachment" +msgstr "इनलाइन नोट गुण" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "ध्वनि" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "चलचित्र" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "स्क्रीन" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "विजेट" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation" +msgstr "टीका" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "अज्ञात" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "लेखक: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "%1 को आप कहाँ सहेजना चाहते हैं?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "फ़ाइल \"%1\" को खोला नहीं जा सका। फ़ाइल को संरक्षित नहीं किया गया।" + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "" + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "" + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "" + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "" + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "" + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "" + +#: gui/signatureguiutils.cpp:60 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Certificate is Trusted." +msgstr "प्रदर्शक कॉन्फ़िगर करें..." + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "" + +#: gui/signatureguiutils.cpp:64 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Certificate issuer is unknown." +msgstr "प्रदर्शक कॉन्फ़िगर करें..." + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "" + +#: gui/signatureguiutils.cpp:68 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Certificate has Expired." +msgstr "प्रदर्शक कॉन्फ़िगर करें..." + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "" + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "" + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "एमडी२" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "एमडी५" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "एसएचए१" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "एसएचए२५६" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "एसएचए३८४" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "एसएचए५१२" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "एसएचए२२४" + +#: gui/signatureguiutils.cpp:96 +#, fuzzy, kde-format +#| msgctxt "Unknown author" +#| msgid "Unknown" +msgid "Unknown Algorithm" +msgstr "अज्ञात" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "आरएसए" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "डीएसए" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "EC" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "अज्ञात प्रकार" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "डिजिटल हस्ताक्षर" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "" + +#: gui/signatureguiutils.cpp:135 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Sign Certificate" +msgstr "प्रदर्शक कॉन्फ़िगर करें..." + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "सीआरएल हस्ताक्षरित करें" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr ", " + +#: gui/signatureguiutils.cpp:165 +#, fuzzy, kde-format +#| msgid "This document is digitally signed." +msgid "The document has not been modified since it was signed." +msgstr "यह दस्तावेज़ डिजिटल रूप से हस्ताक्षरित है।" + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "" + +#: gui/signatureguiutils.cpp:208 +#, fuzzy, kde-format +#| msgid "This document is digitally signed." +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "यह दस्तावेज़ डिजिटल रूप से हस्ताक्षरित है।" + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "यह दस्तावेज़ डिजिटल रूप से हस्ताक्षरित है।" + +#: gui/signatureguiutils.cpp:213 +#, fuzzy, kde-format +#| msgid "This document is digitally signed." +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "यह दस्तावेज़ डिजिटल रूप से हस्ताक्षरित है।" + +#: gui/signatureguiutils.cpp:216 +#, fuzzy, kde-format +#| msgid "This document is digitally signed." +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "यह दस्तावेज़ डिजिटल रूप से हस्ताक्षरित है।" + +#: gui/signaturemodel.cpp:141 +#, fuzzy, kde-format +#| msgid "Signature Validity:" +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "हस्ताक्षर की वैधता :" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "कारण : %1" + +#: gui/signaturemodel.cpp:177 +#, fuzzy, kde-format +#| msgid "Location:" +msgid "Location: %1" +msgstr "स्थान :" + +#: gui/signaturemodel.cpp:185 +#, fuzzy, kde-format +#| msgid "Signatures" +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "हस्ताक्षरें" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "" + +#: gui/signaturemodel.cpp:193 +#, fuzzy, kde-format +#| msgctxt "Unknown author" +#| msgid "Unknown" +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "अज्ञात" + +#: gui/signaturemodel.cpp:195 +#, fuzzy, kde-format +#| msgid "Signature Validity:" +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "हस्ताक्षर की वैधता :" + +#: gui/signaturemodel.cpp:201 +#, fuzzy, kde-format +#| msgid "Signature Validity:" +msgid "Signature Type: %1" +msgstr "हस्ताक्षर की वैधता :" + +#: part/annotationactionhandler.cpp:148 +#, fuzzy, kde-format +#| msgid "Red" +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "लाल" + +#: part/annotationactionhandler.cpp:149 +#, fuzzy, kde-format +#| msgid "Orange" +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "नारंगी" + +#: part/annotationactionhandler.cpp:150 +#, fuzzy, kde-format +#| msgid "Yellow" +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "पीला" + +#: part/annotationactionhandler.cpp:151 +#, fuzzy, kde-format +#| msgid "Green" +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "हरा" + +#: part/annotationactionhandler.cpp:152 +#, fuzzy, kde-format +#| msgid "Cyan" +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "सियान" + +#: part/annotationactionhandler.cpp:153 +#, fuzzy, kde-format +#| msgid "Blue" +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "नीला" + +#: part/annotationactionhandler.cpp:154 +#, fuzzy, kde-format +#| msgid "Magenta" +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "रानी रंग" + +#: part/annotationactionhandler.cpp:155 +#, fuzzy, kde-format +#| msgid "White" +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "सफेद" + +#: part/annotationactionhandler.cpp:156 +#, fuzzy, kde-format +#| msgid "Gray" +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "धूसर" + +#: part/annotationactionhandler.cpp:157 +#, fuzzy, kde-format +#| msgid "Black" +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "काला" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "चौड़ाई %1" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1%" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:308 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "एन्नोटेशन गुण" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "" + +#: part/annotationactionhandler.cpp:314 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "टीका पाठ रंग" + +#: part/annotationactionhandler.cpp:316 +#, fuzzy, kde-format +#| msgid "Annotation" +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "एनोटेशन" + +#: part/annotationactionhandler.cpp:318 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "टीका रंग" + +#: part/annotationactionhandler.cpp:322 +#, fuzzy, kde-format +#| msgid "Annotation" +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "एनोटेशन" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "" + +#: part/annotationactionhandler.cpp:328 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "टीका फ़ॉन्ट" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" + +#: part/annotationactionhandler.cpp:341 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "एन्नोटेशन गुण" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "रंग" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "भराव रंग" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "" + +#: part/annotationactionhandler.cpp:445 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "Custom Color..." +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "तदनुकूल रंग..." + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "रंग चुनें" + +#: part/annotationactionhandler.cpp:552 +#, fuzzy, kde-format +#| msgid "Annotations" +msgid "&Annotations" +msgstr "टीकाएं" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "छुपाएँ" + +#: part/annotationactionhandler.cpp:554 +#, fuzzy, kde-format +#| msgid "Create annotation tool" +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "टीका उपकरण बनाएँ" + +#: part/annotationactionhandler.cpp:557 +#, fuzzy, kde-format +#| msgid "Highlight" +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "उभारें" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "रेखांकित" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "टेढ़ा मेढ़ा" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "लिखकर काटें" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "टाईपराइटर" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "इनलाइन टिप्पणी" + +#: part/annotationactionhandler.cpp:564 +#, fuzzy, kde-format +#| msgid "Pop-up Note" +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "पॉप अप नोट" + +#: part/annotationactionhandler.cpp:565 +#, fuzzy, kde-format +#| msgid "Line Properties" +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "रेखा गुण" + +#: part/annotationactionhandler.cpp:567 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Straight Yellow Line" +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "सीधी पीली लकीर" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "तीर" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "चतुर्भुज" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "दीर्घवृत्त" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "बहुभुज" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "मुद्रांकन" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "द्रुत टीकाएं" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "" + +#: part/annotationactionhandler.cpp:651 +#, fuzzy, kde-format +#| msgctxt "@action:intoolbar Show list of quick annotation tools" +#| msgid "Quick Annotations" +msgid "Quick Annotation Bar" +msgstr "द्रुत टीकाएं" + +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "द्रुत टीकाओं में जोड़ें" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "" + +#: part/annotationactionhandler.cpp:669 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "प्रस्तुतीकरण" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "फ़ॉन्टः" + +#: part/annotationactionhandler.cpp:681 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "एन्नोटेशन गुण" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "लकीर की चौड़ाई" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "अपारदर्शिता" + +#: part/annotationactionhandler.cpp:696 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1%" + +#: part/annotationmodel.cpp:320 +#, fuzzy, kde-format +#| msgid "Page %1" +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "पृष्ठ %1" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "पृष्ठ %1" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "टीका" +msgstr[1] "%1 टीकाएं" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "पॉप अप नोट खोलें (&O)" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "पुस्तचिन्ह हटाएँ" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "पुस्तचिन्ह जोड़ें" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Text to Clipboard" +msgstr "क्लिपबोर्ड पर नकल बनाएं" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "डीआरएम द्वारा नक़ल किया जाना प्रतिबंधित है" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "मिटाएँ (&D)" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "गुण (&P)" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, fuzzy, kde-format +#| msgctxt "%1 is the name of the file to save" +#| msgid "&Save '%1'..." +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "'%1' को संरक्षित करें (&S)" + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "रूप (&A)" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "सामान्य (&G)" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "लेखकः (&A)" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "निर्मित :" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "परिवर्धित :" + +#: part/annotationpropertiesdialog.cpp:108 +#, fuzzy, kde-format +#| msgid "Note Properties" +msgid "Pop-up Note Properties" +msgstr "नोट गुण" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "टाईपराइटर गुण" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "इनलाइन नोट गुण" + +#: part/annotationpropertiesdialog.cpp:119 +#, fuzzy, kde-format +#| msgid "Line Properties" +msgid "Straight Line Properties" +msgstr "रेखा गुण" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "बहुभुज गुण" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "ज्यामितीय गुण" + +#: part/annotationpropertiesdialog.cpp:128 +#, fuzzy, kde-format +#| msgid "Stamp Properties" +msgid "Text Markup Properties" +msgstr "स्टैम्प गुण" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "मुद्रांकन गुण" + +#: part/annotationpropertiesdialog.cpp:134 +#, fuzzy, kde-format +#| msgid "Line Properties" +msgid "Freehand Line Properties" +msgstr "रेखा गुण" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "हंसपद गुण" + +#: part/annotationpropertiesdialog.cpp:140 +#, fuzzy, kde-format +#| msgid "Inline Note Properties" +msgid "File Attachment Properties" +msgstr "इनलाइन नोट गुण" + +#: part/annotationpropertiesdialog.cpp:143 +#, fuzzy, kde-format +#| msgid "Ink Properties" +msgid "Sound Properties" +msgstr "स्याही गुण" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "चलचित्र के गुण" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "एन्नोटेशन गुण" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "तदनुकूल मुद्रांकन चिह्न फ़ाइल से चुने" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "तदनुकूल मुद्रांकन चिह्न चुने" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "अमान्य फ़ाइल" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "रंग (&C) :" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%1%" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "अपारदर्शिता: (&O)" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "प्रतीक :" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "टिप्पणी" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "सहायता" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "प्रविष्ट" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "कुंजी" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "नया अनुच्छेद" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "टिप्पणी" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "पैराग्राफ" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "फ़ॉन्टः" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "पाठ रंग (&C) :" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "संरेखण करें: (&A)" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "बाएँ" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "मध्य" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "दाएँ" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "स्वीकृत" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "जैसा है" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "गोपनीय" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "विभागीय" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "प्रारूप" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "परीक्षणाधीन" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "मियाद ख़त्म" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "अंतिम" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "टिप्पणियों के लिए" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "सार्वजनिक प्रकाशन करने के लिए" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "स्वीकृत नहीं" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "सार्वजनिक प्रकाशन करने के लिए नहीं" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "बिक गया" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "अत्यंत गुप्त" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "पुस्तचिन्ह" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "जानकारी" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "केडीई" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "मुद्रांकन चिह्न :" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "चौड़ाई: (&W)" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "रेखा प्रारंभ" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "रेखा समाप्त:" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "वर्ग" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "वृत्त" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "हीरा" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "कुछ भी नहीं" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "बट" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "स्लैश" + +#: part/annotationwidgets.cpp:531 +#, fuzzy, kde-format +#| msgid "Leader Line Length:" +msgid "Leader line length:" +msgstr "लीडर लाइन लंबाई:" + +#: part/annotationwidgets.cpp:533 +#, fuzzy, kde-format +#| msgid "Leader Line Extensions Length:" +msgid "Leader line extensions length:" +msgstr "लीडर लाइन एक्सटेंशन लंबाई:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "सक्षम" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Shape fill:" +msgstr "फ़ाइल में सहेजें..." + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "प्रकार :" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "लिखकर काटें" + +#: part/annotationwidgets.cpp:745 +#, fuzzy, kde-format +#| msgid "Inline Note Properties" +msgid "File attachment symbol:" +msgstr "इनलाइन नोट गुण" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "लेखाचित्र\t" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "पुश पिन" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "कागज़ क्लिप" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "टैग" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "फ़ाइल" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "लागू नहीं" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "" + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "नाम:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "वर्णन :" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "हंसपद चिन्ह" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "कुछ भी नहीं" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, fuzzy, kde-format +#| msgid "Close this message" +msgid "Close this note" +msgstr "इस संदेश को बंद करें" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "विकल्प" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "" + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "" + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "" + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "" + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"%2 पुस्तचिन्ह" +msgstr[1] "" +"%1\n" +"\n" +"%2 पसंदीदा" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "पुस्तचिन्ह" + +#: part/bookmarklist.cpp:136 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Show for all documents" +msgstr "प्रलेख को रीलोड किया जा रहा है..." + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, fuzzy, kde-format +#| msgid "S&earch:" +msgid "Search…" +msgstr "ढूंढें: (&e)" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, fuzzy, kde-format +#| msgid "Expand all" +msgid "Expand All" +msgstr "सभी फैलाएँ" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, kde-format +msgid "Collapse All" +msgstr "" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "इस पुस्तचिन्ह पर जाएँ" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "पुस्तचिन्ह का नाम बदलें" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "दस्तावेज़ खोलें" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "" + +#: part/certificateviewer.cpp:47 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Certificate Viewer" +msgstr "प्रदर्शक कॉन्फ़िगर करें..." + +#: part/certificateviewer.cpp:50 +#, fuzzy, kde-format +#| msgid "Export..." +msgid "Export…" +msgstr "निर्यात..." + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "सामान्य" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "ईमेल" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "वैधता" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "विवरण" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "" + +#: part/certificateviewer.cpp:159 +#, fuzzy, kde-format +#| msgid "Where do you want to save %1?" +msgid "Where do you want to save this certificate?" +msgstr "%1 को आप कहाँ सहेजना चाहते हैं?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "" + +#: part/colormodemenu.cpp:19 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "रंग रीति :" + +#: part/colormodemenu.cpp:21 +#, fuzzy, kde-format +#| msgid "Change &colors" +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "रंग बदलें (&C)" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "" + +#: part/colormodemenu.cpp:41 +#, fuzzy, kde-format +#| msgid "Invert colors" +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "रंग उलटें" + +#: part/colormodemenu.cpp:42 +#, fuzzy, kde-format +#| msgid "Change Paper Color" +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "कागज़ का रंग बदलें" + +#: part/colormodemenu.cpp:44 +#, fuzzy, kde-format +#| msgid "Change dark and light colors" +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "गहरे तथा हल्के रंग बदलें" + +#: part/colormodemenu.cpp:46 +#, fuzzy, kde-format +#| msgid "Convert to black and white" +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "श्वेत श्याम में बदलें" + +#: part/colormodemenu.cpp:49 +#, fuzzy, kde-format +#| msgid "Invert Lightness" +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "उजालापन उलटें" + +#: part/colormodemenu.cpp:52 +#, fuzzy, kde-format +#| msgid "Invert Luma (sRGB Linear)" +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "लूमा उलटें (एसआरजीबी लिनियर)" + +#: part/colormodemenu.cpp:55 +#, fuzzy, kde-format +#| msgid "Invert Luma (Symmetric)" +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "लूमा उलटें (सममित)" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "लाल" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "हरा" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "नीला" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "पीला" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "काला" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "सफेद" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Yellow Highlight" +msgid "Yellow Highlighter" +msgstr "पीला उभारें" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, fuzzy, kde-format +#| msgid "Highlight" +msgid "Green Highlighter" +msgstr "उभारें" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, fuzzy, kde-format +#| msgid "Insert" +msgid "Insert Text" +msgstr "प्रविष्ट" + +#: part/dlgaccessibility.cpp:38 +#, fuzzy, kde-format +#| msgid "Draw border around &Links" +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "कड़ियों के चारों ओर सीमारेखा बनाएँ (&L)" + +#: part/dlgaccessibility.cpp:48 +#, fuzzy, kde-format +#| msgid "Change &colors" +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "रंग बदलें (&C)" + +#: part/dlgaccessibility.cpp:54 +#, fuzzy, kde-format +#| msgid "Warning: these options can badly affect drawing speed." +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "चेतावनी: ये विकल्प दस्तावेज़ प्रदर्शन की गति को बुरी तरह प्रभावित करेंगे।" + +#: part/dlgaccessibility.cpp:60 +#, fuzzy, kde-format +#| msgid "Invert colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "रंग उलटें" + +#: part/dlgaccessibility.cpp:61 +#, fuzzy, kde-format +#| msgid "Change Paper Color" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "कागज़ का रंग बदलें" + +#: part/dlgaccessibility.cpp:62 +#, fuzzy, kde-format +#| msgid "Change dark and light colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "गहरे तथा हल्के रंग बदलें" + +#: part/dlgaccessibility.cpp:63 +#, fuzzy, kde-format +#| msgid "Convert to black and white" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "श्वेत श्याम में बदलें" + +#: part/dlgaccessibility.cpp:64 +#, fuzzy, kde-format +#| msgid "Invert Lightness" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "उजालापन उलटें" + +#: part/dlgaccessibility.cpp:65 +#, fuzzy, kde-format +#| msgid "Invert Luma (sRGB Linear)" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "लूमा उलटें (एसआरजीबी लिनियर)" + +#: part/dlgaccessibility.cpp:66 +#, fuzzy, kde-format +#| msgid "Invert Luma (Symmetric)" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "लूमा उलटें (सममित)" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "" + +#: part/dlgaccessibility.cpp:70 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "रंग रीति :" + +#: part/dlgaccessibility.cpp:87 +#, fuzzy, kde-format +#| msgid "Paper color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "कागज़ का रंग:" + +#: part/dlgaccessibility.cpp:99 +#, fuzzy, kde-format +#| msgid "Dark color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "गहरा रंग:" + +#: part/dlgaccessibility.cpp:104 +#, fuzzy, kde-format +#| msgid "Light color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "हल्का रंग:" + +#: part/dlgaccessibility.cpp:119 +#, fuzzy, kde-format +#| msgid "Threshold:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "देहलीज :" + +#: part/dlgaccessibility.cpp:127 +#, fuzzy, kde-format +#| msgid "Contrast:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "रंगभेद :" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "" + +#: part/dlgaccessibility.cpp:165 +#, fuzzy, kde-format +#| msgid "Text to search for" +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "ढूंढा जाने वाला पाठ" + +#: part/dlgannotations.cpp:25 +#, fuzzy, kde-format +#| msgid "Annotation Toolbar" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "टीका औज़ारपट्टी" + +#: part/dlgannotations.cpp:26 +#, fuzzy, kde-format +#| msgid "Annotation Toolbar" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "टीका औज़ारपट्टी" + +#: part/dlgannotations.cpp:28 +#, fuzzy, kde-format +#| msgid "Annotation Toolbar" +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "टीका औज़ारपट्टी" + +#: part/dlgannotations.cpp:34 +#, fuzzy, kde-format +#| msgid "&Author:" +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "लेखकः (&A)" + +#: part/dlgannotations.cpp:38 +#, fuzzy, kde-format +#| msgid "" +#| "Note: the information here is used only for annotations. The " +#| "information is saved in annotated documents, and so will be transmitted " +#| "together with the document." +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"ध्यान दें: इस जानकारी का उपयोग केवल टीकाकरण हेतु किया जाता है। यह जानकारी " +"टीकाकृत दस्तावेज़ में संरक्षित की जाती है और इसलिए दस्तावेज़ के संग ही प्रसारित की जाएगी।" + +#: part/dlgannotations.cpp:48 +#, fuzzy, kde-format +#| msgid "Quick annotation tools" +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

Quick Annotation Tools

" +msgstr "द्रुत टीका औज़ार" + +#: part/dlgeditor.cpp:28 +#, fuzzy, kde-format +#| msgctxt "@info:whatsthis" +#| msgid "" +#| "Choose the editor you want to launch when Okular wants to open a source " +#| "file." +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "वह संपादक चुनें जिसका उपयोग ऑकुलर स्रोत फ़ाइल खोलने हेतु करेगा।" + +#: part/dlgeditor.cpp:29 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Custom Text Editor" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "तदनुकूल पाठ संपादक" + +#: part/dlgeditor.cpp:30 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Kate" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "केट" + +#: part/dlgeditor.cpp:31 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Kile" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "काइल" + +#: part/dlgeditor.cpp:32 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "SciTE" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "साइटीइ" + +#: part/dlgeditor.cpp:33 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Emacs client" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "इमैक्स क्लाएंट" + +#: part/dlgeditor.cpp:34 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Lyx client" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "लिक्स क्लाएंट" + +#: part/dlgeditor.cpp:35 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "TeXstudio" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "टैकस्टूडियो" + +#: part/dlgeditor.cpp:36 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "TeXiFy IDEA" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "टैकिफ़ाइ आई-डी-ई-ए" + +#: part/dlgeditor.cpp:37 +#, fuzzy, kde-format +#| msgid "Editor:" +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "संपादक:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
\n" +"You can also put few placeholders:\n" +"
    \n" +"
  • %f - the file name
  • \n" +"
  • %l - the line of the file to be reached
  • \n" +"
  • %c - the column of the file to be reached
  • \n" +"
\n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" + +#: part/dlgeditor.cpp:63 +#, fuzzy, kde-format +#| msgid "Command:" +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "कमांडः" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "" + +#: part/dlggeneral.cpp:37 +#, fuzzy, kde-format +#| msgid "Appearance" +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "रूप" + +#: part/dlggeneral.cpp:41 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "स्क्रॉल पट्टियाँ दिखाएँ (&b)" + +#: part/dlggeneral.cpp:48 +#, fuzzy, kde-format +#| msgid "Link the &thumbnails with the page" +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "लघुछवियों को पृष्ठ से जोड़े (&t)" + +#: part/dlggeneral.cpp:55 +#, fuzzy, kde-format +#| msgid "Show &hints and info messages" +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "संकेत तथा जानकारी संदेश दिखाएँ (&h)" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "" + +#: part/dlggeneral.cpp:68 +#, fuzzy, kde-format +#| msgid "Display document title in titlebar if available" +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "दस्तावेज़ का शीर्षक, यदि उपलब्ध हो, शीर्षक पट्टी में दिखाएँ" + +#: part/dlggeneral.cpp:74 +#, fuzzy, kde-format +#| msgid "Display file name only" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "केवल फ़ाइल का नाम दिखाएँ" + +#: part/dlggeneral.cpp:75 +#, fuzzy, kde-format +#| msgid "Display full file path" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "फ़ाइल का पूर्ण पथ दिखाएँ" + +#: part/dlggeneral.cpp:77 +#, fuzzy, kde-format +#| msgid "When not displaying document title:" +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "जब दस्तावेज़ का शीर्षक नहीं दिखा रहें हो तब:" + +#: part/dlggeneral.cpp:92 +#, fuzzy, kde-format +#| msgid "Use custom background color" +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "तदनुकूल पृष्ठभूमि रंग का प्रयोग करें" + +#: part/dlggeneral.cpp:114 +#, fuzzy, kde-format +#| msgid "Program Features" +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "अनुप्रयोग विशेषताएँ" + +#: part/dlggeneral.cpp:121 +#, fuzzy, kde-format +#| msgid "Open new files in &tabs" +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "नई फ़ाइलें नए टैब में खोलें (&t)" + +#: part/dlggeneral.cpp:126 +#, fuzzy, kde-format +#| msgid "Switch to existing tab if file is already open" +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "यदि फ़ाइल पहले से खुली है तो वर्तमान टैब में जाएँ" + +#: part/dlggeneral.cpp:139 +#, fuzzy, kde-format +#| msgid "&Obey DRM limitations" +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "डीआरएम सीमाएँ मानें (&O)" + +#: part/dlggeneral.cpp:148 +#, fuzzy, kde-format +#| msgid "&Reload document on file change" +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "फ़ाइल बदलने पर दस्तावेज़ को पुनः लोड करें (&R)" + +#: part/dlggeneral.cpp:155 +#, fuzzy, kde-format +#| msgid "Show backend selection dialog" +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "बैकएण्ड चयन संवाद दिखाएँ" + +#: part/dlggeneral.cpp:162 +#, fuzzy, kde-format +#| msgid "Right to left reading direction" +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "दाँए से बाँए पढ़ने की दिशा" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, fuzzy, kde-format +#| msgid "Overview &columns:" +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "विहंगावलोकन स्तम्भ (&c):" + +#: part/dlggeneral.cpp:220 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%1%" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "" + +#: part/dlggeneral.cpp:228 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%1%" + +#: part/dlggeneral.cpp:232 +#, fuzzy, kde-format +#| msgid "100%" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "१००%" + +#: part/dlggeneral.cpp:233 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "चौड़ाई फिट करें" + +#: part/dlggeneral.cpp:234 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "पृष्ठ में फिट करें" + +#: part/dlggeneral.cpp:235 +#, fuzzy, kde-format +#| msgid "Auto Fit" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "स्वतः फिट" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" + +#: part/dlggeneral.cpp:241 +#, fuzzy, kde-format +#| msgid "&Default Zoom:" +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "पूर्वन्यस्त जूम (&d):" + +#: part/dlgperformance.cpp:26 +#, fuzzy, kde-format +#| msgid "Enable &transparency effects" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "पारदर्शिता प्रभाव को सक्षम करें (&t)" + +#: part/dlgperformance.cpp:28 +#, fuzzy, kde-format +#| msgid "CPU Usage" +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "सीपीयू उपयोग" + +#: part/dlgperformance.cpp:35 +#, fuzzy, kde-format +#| msgid "&Low" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "कम (&L)" + +#: part/dlgperformance.cpp:36 +#, fuzzy, kde-format +#| msgid "Nor&mal (default)" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "सामान्य (पूर्वन्यस्त) (&N)" + +#: part/dlgperformance.cpp:37 +#, fuzzy, kde-format +#| msgid "Aggr&essive" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "आक्रामक (&e)" + +#: part/dlgperformance.cpp:38 +#, fuzzy, kde-format +#| msgid "G&reedy" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "लोभी (&r)" + +#: part/dlgperformance.cpp:40 +#, fuzzy, kde-format +#| msgid "Memory Usage" +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "मेमोरी उपयोग" + +#: part/dlgperformance.cpp:54 +#, fuzzy, kde-format +#| msgid "Enable Text Antialias" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "पाठ ऐंटीऐलिय्स सक्षम करें" + +#: part/dlgperformance.cpp:56 +#, fuzzy, kde-format +#| msgid "Rendering" +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "रेंडरिंग" + +#: part/dlgperformance.cpp:59 +#, fuzzy, kde-format +#| msgid "Enable Graphics Antialias" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "ग्राफ़िक्स ऐंटीऐलिय्स सक्षम करें" + +#: part/dlgperformance.cpp:64 +#, fuzzy, kde-format +#| msgid "Enable Text Hinting" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "पाठ संकेत सक्षम करें" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"प्रयोग की मेमोरी को न्यूनतम बनाए रखता है। पुनः प्रयोग नहीं करता। (कम मेमोरी युक्त तंत्रों " +"हेतु)" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"प्रयोग की मेमोरी को न्यूनतम बनाए रखता है. फिर से इस्तेमाल कुछ नहीं करें (कम मेमोरी युक्त " +"सिस्टम के लिए)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" + +#: part/dlgpresentation.cpp:38 +#, fuzzy, kde-format +#| msgctxt "Advance every %1 seconds" +#| msgid " second" +#| msgid_plural " seconds" +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] " सेकंड" +msgstr[1] " सेकंड" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "" + +#: part/dlgpresentation.cpp:53 +#, fuzzy, kde-format +#| msgid "Loop after last page" +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "अंतिम पृष्ठ के बाद लूप करें" + +#: part/dlgpresentation.cpp:59 +#, fuzzy, kde-format +#| msgid "Tap left/right side to go back/forward" +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "आगे/पीछे जाने हेतु पर भी दाएँ/बाएँ थपथपाएँ" + +#: part/dlgpresentation.cpp:60 +#, fuzzy, kde-format +#| msgid "Tap anywhere to go forward" +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "आगे बढ़ने हेतु कहीं पर भी थपथपाएँ" + +#: part/dlgpresentation.cpp:61 +#, fuzzy, kde-format +#| msgid "Disabled" +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "निष्क्रिय" + +#: part/dlgpresentation.cpp:63 +#, fuzzy, kde-format +#| msgid "Navigation" +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "नेविगेशन" + +#: part/dlgpresentation.cpp:72 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "पृष्ठभूमि का रंगः" + +#: part/dlgpresentation.cpp:76 +#, fuzzy, kde-format +#| msgid "Hidden After Delay" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "थोड़ी देरी के पश्चात छिपें" + +#: part/dlgpresentation.cpp:77 +#, fuzzy, kde-format +#| msgid "Always Visible" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "हमेशा दृष्टिगोचर" + +#: part/dlgpresentation.cpp:78 +#, fuzzy, kde-format +#| msgid "Always Hidden" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "हमेशा छिपे रहें" + +#: part/dlgpresentation.cpp:80 +#, fuzzy, kde-format +#| msgid "Mouse cursor:" +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "माउस संकेतक:" + +#: part/dlgpresentation.cpp:84 +#, fuzzy, kde-format +#| msgid "Show &progress indicator" +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "प्रगति सूचक दिखाएं (&p)" + +#: part/dlgpresentation.cpp:90 +#, fuzzy, kde-format +#| msgid "Show s&ummary page" +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "सारांश पृष्ठ दिखाएँ (&u)" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "" + +#: part/dlgpresentation.cpp:101 +#, fuzzy, kde-format +#| msgid "Replace" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "बदलें" + +#: part/dlgpresentation.cpp:102 +#, fuzzy, kde-format +#| msgid "Random Transition" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "रेंडम ट्रांज़ीशन" + +#: part/dlgpresentation.cpp:103 +#, fuzzy, kde-format +#| msgid "Blinds Vertical" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "लंबवत चकाचौंध" + +#: part/dlgpresentation.cpp:104 +#, fuzzy, kde-format +#| msgid "Blinds Horizontal" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "क्षितिजिय चकाचौंध" + +#: part/dlgpresentation.cpp:105 +#, fuzzy, kde-format +#| msgid "Box In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "बॉक्स इन" + +#: part/dlgpresentation.cpp:106 +#, fuzzy, kde-format +#| msgid "Box Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "बॉक्स आउट" + +#: part/dlgpresentation.cpp:107 +#, fuzzy, kde-format +#| msgid "Dissolve" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "विलय" + +#: part/dlgpresentation.cpp:108 +#, fuzzy, kde-format +#| msgid "Fade" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "विवर्ण" + +#: part/dlgpresentation.cpp:109 +#, fuzzy, kde-format +#| msgid "Glitter Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "ग्लिटर नीचे" + +#: part/dlgpresentation.cpp:110 +#, fuzzy, kde-format +#| msgid "Glitter Right" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "ग्लिटर दायाँ" + +#: part/dlgpresentation.cpp:111 +#, fuzzy, kde-format +#| msgid "Glitter Right-Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "ग्लिटर नीचे, दायाँ" + +#: part/dlgpresentation.cpp:112 +#, fuzzy, kde-format +#| msgid "Split Horizontal In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "आड़े में भीतरी ओर विभाजित करें" + +#: part/dlgpresentation.cpp:113 +#, fuzzy, kde-format +#| msgid "Split Horizontal Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "आड़े में बाहरी ओर विभाजित करें" + +#: part/dlgpresentation.cpp:114 +#, fuzzy, kde-format +#| msgid "Split Vertical In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "खड़े में भीतरी ओर विभाजित करें" + +#: part/dlgpresentation.cpp:115 +#, fuzzy, kde-format +#| msgid "Split Vertical Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "खड़े में बाहरी ओर विभाजित करें" + +#: part/dlgpresentation.cpp:116 +#, fuzzy, kde-format +#| msgid "Wipe Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "नीचे की तरफ वाइप" + +#: part/dlgpresentation.cpp:117 +#, fuzzy, kde-format +#| msgid "Wipe Right" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "दायीं तरफ से वाइप" + +#: part/dlgpresentation.cpp:118 +#, fuzzy, kde-format +#| msgid "Wipe Left" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "बायीं तरफ से वाइप" + +#: part/dlgpresentation.cpp:119 +#, fuzzy, kde-format +#| msgid "Wipe Up" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "ऊपर की तरफ वाइप" + +#: part/dlgpresentation.cpp:121 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "डिफ़ॉल्ट ट्रांज़ीशन:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "" + +#: part/dlgpresentation.cpp:137 +#, fuzzy, kde-format +#| msgid "Drawing" +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

Drawing Tools

" +msgstr "ड्राइंग" + +#: part/dlgpresentation.cpp:171 +#, fuzzy, kde-format +#| msgctxt "@label:listbox The current screen, for the presentation mode" +#| msgid "Current Screen" +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "वर्तमान स्क्रीन" + +#: part/dlgpresentation.cpp:172 +#, fuzzy, kde-format +#| msgctxt "@label:listbox The default screen for the presentation mode" +#| msgid "Default Screen" +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "पूर्वन्यस्त स्क्रीन" + +#: part/dlgpresentation.cpp:178 +#, fuzzy, kde-format +#| msgctxt "@label:listbox %1 is the screen number (0, 1, ...)" +#| msgid "Screen %1" +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "स्क्रीन %1" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "" + +#: part/drawingtoolactions.cpp:192 +#, fuzzy, kde-format +#| msgid "Drawing" +msgid "Drawing Tool: %1" +msgstr "ड्राइंग" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "रबड़" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "नाम (&N):" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "प्रकार (&T):" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "रूप" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "पाठ मार्कअप" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "टीका उपकरण बनाएँ" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "टीका उपकरण संपादित करें" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "रंग:" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "लेखनी की चौड़ाई: (&P)" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "" + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "चित्रकला उपकरण बनाएँ" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "चित्रकला उपकरण संपादित करें" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "अज्ञात" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "सन्निहित फ़ाइलें" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "देखें" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "नाम" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "वर्णन" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "आकार" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "निर्मित" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "परिवर्धित" + +#: part/embeddedfilesdialog.cpp:154 +#, fuzzy, kde-format +#| msgid "Save As" +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "ऐसे सहेजें" + +#: part/embeddedfilesdialog.cpp:155 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "दृश्य (&V)" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "बंद करें" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "ढूंढें: (&i)" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "ढूंढा जाने वाला पाठ" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "अगला" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "अगले मेल-खाते पाठ में जाएँ" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "पिछला" + +#: part/findbar.cpp:59 +#, fuzzy, kde-format +#| msgid "Jump to next match" +msgid "Jump to previous match" +msgstr "अगले मेल-खाते पाठ में जाएँ" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "खोज व्यवहार परिवर्धित करें" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "केस सेंसिटिव" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "आप टाइप करते हुए पाठ ढूंढें" + +#: part/formwidgets.cpp:870 +#, fuzzy, kde-format +#| msgid "All files (*)" +msgid "All Files (*)" +msgstr "सभी फ़ाइलें (*)" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, fuzzy, kde-format +#| msgid "Sign CRL" +msgid "&Sign…" +msgstr "सीआरएल हस्ताक्षरित करें" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, fuzzy, kde-format +#| msgid "Note Properties" +msgid "Signature Properties" +msgstr "नोट गुण" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "खोज के विकल्प" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "अक्षर संवेदनशील" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "रेगुलर एक्सप्रेशन" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "परतें" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "का" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "ज़ूम" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "" + +#: part/pageview.cpp:530 +#, fuzzy, kde-format +#| msgid "Rotate Right" +msgid "Rotate &Right" +msgstr "दाएँ मुड़ें" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "दाएँ" + +#: part/pageview.cpp:535 +#, fuzzy, kde-format +#| msgid "Rotate Left" +msgid "Rotate &Left" +msgstr "बाएँ मुड़ें" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "बाएँ" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "मूल दिशा" + +#: part/pageview.cpp:546 +#, fuzzy, kde-format +#| msgid "&View" +msgid "&Trim View" +msgstr "देखें (&V)" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "चयन के अनुसार काट-छाँट करें" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "चौड़ाई में फिट करें (&W)" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "पृष्ठ में फिट करें (&P)" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "&स्वतः फिट" + +#: part/pageview.cpp:575 +#, fuzzy, kde-format +#| msgid "Fit &Page" +msgid "Fit Wi&ndow to Page" +msgstr "पृष्ठ में फिट करें (&P)" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "दृश्य मोड (&V)" + +#: part/pageview.cpp:594 +#, fuzzy, kde-format +#| msgid "Single Page" +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "एकल पृष्ठ" + +#: part/pageview.cpp:595 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "आमने सामने के पृष्ठ" + +#: part/pageview.cpp:596 +#, fuzzy, kde-format +#| msgid "Center &first page" +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "प्रथम पृष्ठ बीचोंबीच करें (&f)" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "विहंगावलोकन (&O)" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "लगातार (&C)" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "विचरण (&B)" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "ज़ूम (&Z)" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "क्षेत्र का चयन (&S)" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "पाठ चयन (&T)" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "तालिका चयन (&a)" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "चयन औज़ार" + +#: part/pageview.cpp:711 +#, fuzzy, kde-format +#| msgid "Digital Signature" +msgid "Digitally &Sign…" +msgstr "डिजिटल हस्ताक्षर" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "पुरे दस्तावेज़ को पढ़कर सुनाएं" + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "ऊपर स्क्रॉल करें" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "नीचे स्क्रॉल करें" + +#: part/pageview.cpp:761 +#, fuzzy, kde-format +#| msgid "Scroll Up" +msgid "Scroll Page Up" +msgstr "ऊपर स्क्रॉल करें" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "पृष्ठ नीचे स्क्रॉल करें" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "फ़ॉर्म दिखाएँ" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] " पृष्ठ का दस्तावेज़ लोड किया गया." +msgstr[1] " %1 पृष्ठों का दस्तावेज़ लोड किया गया." + +#: part/pageview.cpp:2526 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Table Contents to Clipboard" +msgstr "क्लिपबोर्ड पर नकल बनाएं" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "पाठ (%1 अक्षर)" +msgstr[1] "पाठ (%1 अक्षर)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "क्लिपबोर्ड पर नकल बनाएं" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "पाठ बोलें" + +#: part/pageview.cpp:2863 +#, fuzzy, kde-format +#| msgid "Image (%1 by %2 pixels)" +msgid "Image (%1 × %2 pixels)" +msgstr "छवि (%1 x %2 पिक्सेल्स)" + +#: part/pageview.cpp:2865 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save to File…" +msgstr "फ़ाइल में सहेजें…" + +#: part/pageview.cpp:2885 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] copied to clipboard." +msgid "Image [%1 × %2] copied to clipboard." +msgstr "छवि [%1x%2] क्लिपबोर्ड पर नक़ल किया गया." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "फ़ाइल सहेजें" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "फ़ाइल को सहेजा नहीं गया." + +#: part/pageview.cpp:2901 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] saved to %3 file." +msgid "Image [%1 × %2] saved to %3 file." +msgstr "छवि [%1x%2] को %3 फ़ाइल में सहेजा." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "पाठ की नक़ल बनाएं" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "'%1' पर जाएं" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "चौड़ाई फिट करें" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "पृष्ठ में फिट करें" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "स्वतः फिट" + +#: part/pageview.cpp:4107 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1%" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "'%1' को ढूंढें इसके साथ" + +#: part/pageview.cpp:4404 +#, fuzzy, kde-format +#| msgid "Configure Web Shortcuts..." +msgid "Configure Web Shortcuts…" +msgstr "वेब शार्टकटों को विन्यस्त करें..." + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "इस लिंक पर जाएँ" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "यह ध्वनि बजाएं..." + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "ध्वनि बन्द करें" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "कड़ी का पता नक़ल करें" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "इस दस्तावेज़ में %1 को ढूंढें" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "सुस्वागतम" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "जूमिंग क्षेत्र चुनें. ज़ूम-आउट होने के लिए क्लिक करें." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "" + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "नक़ल करने के लिए पाठ/चित्र के चारों ओर एक आयताकार बनाएँ." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "पाठ चुनें" + +#: part/pageview.cpp:5172 +#, fuzzy, kde-format +#| msgid "Draw a rectangle around the text/graphics to copy." +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "नक़ल करने के लिए पाठ/चित्र के चारों ओर एक आयताकार बनाएँ." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" + +#: part/pageview.cpp:5188 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "No valid certificates" +msgstr "प्रदर्शक कॉन्फ़िगर करें..." + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, fuzzy, kde-format +#| msgid "View Certificate..." +msgid "Open Certificate Manager" +msgstr "प्रमाणपत्र देखें..." + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
Launch Certificate Manager " +"to import or manage certificates
For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "No certificates found" +msgstr "प्रदर्शक कॉन्फ़िगर करें..." + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "" + +#: part/pageview.cpp:5405 +#, fuzzy, kde-format +#| msgid "Draw a rectangle around the text/graphics to copy." +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "नक़ल करने के लिए पाठ/चित्र के चारों ओर एक आयताकार बनाएँ." + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "नया पाठ नोट" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "नए नोट का पाठ:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "" + +#: part/pageviewannotator.cpp:492 +#, fuzzy, kde-format +#| msgid "Sign CRL" +msgctxt "@action:button" +msgid "Sign" +msgstr "सीआरएल हस्ताक्षरित करें" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgid "Author" +msgid "Author name" +msgstr "लेखक" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgid "Add favorite annotation" +msgid "Author name for the annotation:" +msgstr "पसंदीदा टीका जोड़ें" + +#: part/pageviewannotator.cpp:1390 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Inline Text Annotation (drag to select a zone)" +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "इनलाइन पाठ एन्नोटेशन (किसी जोन को चुनने के लिए माउस क्लिक कर खींचें)" + +#: part/pageviewannotator.cpp:1392 +#, fuzzy, kde-format +#| msgid "Highlight" +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "उभारें" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "इनलाइन पाठ एन्नोटेशन (किसी जोन को चुनने के लिए माउस क्लिक कर खींचें)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "पॉलीगान बनाएं (इसे बन्द करने के लिए पहले बिन्दु पर क्लिक करें)" + +#: part/pageviewannotator.cpp:1402 +#, fuzzy, kde-format +#| msgid "Rectangle" +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "चतुर्भुज" + +#: part/pageviewannotator.cpp:1404 +#, fuzzy, kde-format +#| msgid "Squiggly" +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "स्क्विग्ली" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "एक मुद्रांकन चिह्न लगाएँ" + +#: part/pageviewannotator.cpp:1408 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Straight Yellow Line" +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "सीधी पीली लकीर" + +#: part/pageviewannotator.cpp:1410 +#, fuzzy, kde-format +#| msgid "Strike out" +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "लिखकर काटें" + +#: part/pageviewannotator.cpp:1412 +#, fuzzy, kde-format +#| msgid "Underline" +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "रेखांकित" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "टाईपराइटर टीका (किसी जोन को चुनने के लिए माउस क्लिक कर खींचें)" + +#: part/pageviewannotator.cpp:1473 +#, fuzzy, kde-format +#| msgid "Highlight" +msgid "Highlighter" +msgstr "उभारें" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "पसंदीदा टीका जोड़ें" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgid "Annotation" +msgid "Custom annotation name:" +msgstr "एनोटेशन" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "फ़ाइल (&F)" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "विन्यास (&S)" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "सहायता (&H)" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "दिशा-स्थिति (&O)" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "पुस्तचिन्ह (&B)" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, fuzzy, kde-format +#| msgid "Main Toolbar" +msgid "Viewer Toolbar" +msgstr "मुख्य औज़ार पट्टी" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "लघु छवि" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "टीकाएं" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"दस्तावेज़ में सन्निहित फ़ाइलें हैं. उन्हें देखने के लिए यहाँ " +"क्लिक करें या फ़ाइल -> सन्निहित फ़ाइलें में जाएँ." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "पिछला" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "पिछले पृष्ठ पर जाएँ" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "दस्तावेज़ के पिछले पृष्ठ पर जाता है" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "अगला" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "अगले पृष्ठ में जाएँ" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "दस्तावेज़ के अगले पृष्ठ पर जाता है" + +#: part/part.cpp:687 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Beginning of the document" +msgstr "दस्तावेज़ को रीलोड किया जा रहा है..." + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "दस्तावेज़ के प्रारंभ पर ले जाता है" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "दस्तावेज़ का अंत" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "दस्तावेज़ के अंत पर ले जाता है" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "वर्तमान पुस्तचिन्ह का नाम बदलें" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "पिछला पुस्तचिन्ह" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "पिछले पुस्तचिन्ह पर जाएँ" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "अगला पुस्तचिन्ह" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "अगले पुस्तचिन्ह पर जाएँ" + +#: part/part.cpp:748 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgid "Configure Okular…" +msgstr "ऑकुलर को विन्यस्त करें..." + +#: part/part.cpp:751 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Configure Viewer…" +msgstr "प्रदर्शक विन्यस्त करें" + +#: part/part.cpp:757 +#, fuzzy, kde-format +#| msgid "Configure Viewer Backends" +msgid "Configure Viewer Backends…" +msgstr "प्रदर्शक बैकएण्ड्स विन्यस्त करें" + +#: part/part.cpp:759 +#, fuzzy, kde-format +#| msgid "Configure Backends" +msgid "Configure Backends…" +msgstr "बैकएण्ड्स विन्यस्त करें" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "बैकएण्ड के बारे में..." + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "पुनः लोड करें (&d)" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "वर्तमान दस्तावेज़ डिस्क से पुनः लोड करें।" + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "खोज पट्टी बन्द करें (&F)" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "पृष्ठ क्रमांक" + +#: part/part.cpp:817 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "ऑकुलर को विन्यस्त करें..." + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "बाजूपट्टी दिखाएँ (&i)" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "हस्ताक्षरों का फलक दिखाएँ (&S)" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "सन्निहित फ़ाइलें (&E)" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "इस रूप में निर्यात करें (&x)" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "साझा करें (&h)" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "प्रेजेन्टेशन (&r)" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "" + +#: part/part.cpp:945 +#, fuzzy, kde-format +#| msgid "&Import Postscript as PDF..." +msgid "&Import PostScript as PDF…" +msgstr "पोस्ट-स्क्रिप्ट को पीडीएफ के रूप में आयात करें...(&I)" + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "" + +#: part/part.cpp:957 +#, fuzzy, kde-format +#| msgid "Erase Drawings" +msgid "Erase Drawing" +msgstr "ड्राइंग मिटाएँ" + +#: part/part.cpp:962 +#, fuzzy, kde-format +#| msgid "Configure Annotations..." +msgid "Configure Annotations…" +msgstr "टीका विन्यस्त करें..." + +#: part/part.cpp:967 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Play/Pause Presentation" +msgstr "प्रस्तुतीकरण" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" + +#: part/part.cpp:1123 +#, fuzzy, kde-format +#| msgid "Document Password" +msgid "Document can't be saved" +msgstr "दस्तावेज़ कूटशब्द" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "\"'%1\" को खोल नहीं सकते (%2) " + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "" + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "%1 को खोला नहीं जा सका. कारण: %2" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "प्रदर्शक बैकएण्ड्स विन्यस्त करें" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "बैकएण्ड्स विन्यस्त करें" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "ps2pdf नहीं मिला" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "" + +#: part/part.cpp:1357 +#, fuzzy, kde-format +#| msgid "Importing PS file as PDF (this may take a while)..." +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "" +"पीएस फ़ाइल को पीडीएफ़ के रूप में आयात किया जा रहा है (इसमें कुछ समय लग सकता है)..." + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "दस्तावेज़ को पढ़ने के लिए कूटशब्द को प्रविष्ट करें :" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "गलत कूटशब्द। फिर से कोशिश करें :" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "दस्तावेज़ कूटशब्द" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "" + +#: part/part.cpp:1739 +#, fuzzy, kde-format +#| msgid "Exit Presentation Mode" +msgid "Enter Presentation Mode" +msgstr "प्रस्तुतीकरण मोड से बाहर हों" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "\"'%1\" को खोल नहीं सकते। %2" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "फिर से लोड करना जारी रखें" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" + +#: part/part.cpp:1875 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue Closing" +msgstr "लगातार (&C)" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "" + +#: part/part.cpp:1883 +#, fuzzy, kde-format +#| msgid "Open a document" +msgid "Close Document" +msgstr "दस्तावेज़ खोलें" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" + +#: part/part.cpp:2113 part/part.cpp:2131 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Reloading the document…" +msgstr "दस्तावेज़ को रीलोड किया जा रहा है..." + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "विषय सूची" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "हस्ताक्षरें" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "पृष्ठ पर जाएं" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "पृष्ठ: (&P)" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "पुस्तचिन्ह के लिए नया नाम प्रविष्ट करें :" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "इस पुस्तचिन्ह का नाम बदलें" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "यह पुस्तचिन्ह हटाएँ" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "ऐसे सहेजें" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" + +#: part/part.cpp:2621 +#, fuzzy, kde-format +#| msgid "Line Extensions" +msgid "Unsupported extension" +msgstr "लाइन एक्सटेंशन्स" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "संरक्षण - चेतावनी" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
Do you want to continue?" +msgstr "" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "अस्थायी फ़ाइल को सहेजने के लिए नहीं खोला जा सका।" + +#: part/part.cpp:2726 +#, fuzzy, kde-kuit-format +#| msgid "File not saved." +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "फ़ाइल को सहेजा नहीं गया." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
Do you want to continue?" +msgstr "" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "" + +#: part/part.cpp:2766 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgid "Filled form contents" +msgstr "एन्नोटेशन गुण" + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "उपयोक्ता टीकाएं" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "चेतावनी" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "जारी रखें" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "फ़ाइल को '%1' में सहेजा नहीं जा सका. %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" + +#: part/part.cpp:2899 +#, fuzzy, kde-format +#| msgid "File not saved." +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "फ़ाइल को सहेजा नहीं गया." + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "End Presentation" +msgid "Expand Whole Section" +msgstr "प्रस्तुतीकरण बन्द करें" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "End Presentation" +msgid "Collapse Whole Section" +msgstr "प्रस्तुतीकरण बन्द करें" + +#: part/part.cpp:3172 +#, fuzzy, kde-format +#| msgid "Link the &thumbnails with the page" +msgid "Sync Thumbnail with Page" +msgstr "लघुछवियों को पृष्ठ से जोड़े (&t)" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "औज़ार" + +#: part/part.cpp:3381 +#, fuzzy, kde-format +#| msgid "Speak Text" +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "पाठ बोलें" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "छापें" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "इस दस्तावेज़ को छापने की अनुमति नहीं है।" + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "दस्तावेज़ छापा नहीं जा सका। अज्ञात त्रुटि। कृपया bugs.kde.org में रिपोर्ट दर्ज करें." + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"दस्तावेज़ छापा नहीं जा सका। विस्तृत त्रुटि है \"%1\" । कृपया bugs.kde.org में रिपोर्ट दर्ज " +"करें।" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "उस जगह पर जाएं जहाँ आप पहले जा चुके हैं" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "उस जगह पर जाएँ जहाँ आप जाना चाहते हैं" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"फ़ाइल त्रुटि! अस्थायी फ़ाइल तैयार नहीं कर सका%1." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"फ़ाइल त्रुटि! फ़ाइल %1को " +"असंपीडित करने के लिए खोल नहीं सका. फ़ाइल को लोड नहीं किया जा सका." + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"फ़ाइल त्रुटि! फ़ाइल %1 को " +"असंपीडित नहीं किया जा सकता. फ़ाइल को लोड नहीं किया जा सका." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "कोई पुस्तचिन्ह नहीं" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "साझा करें" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "दस्तावेज़ सफलतापूर्वक साझा किया गया" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "संपादन (&E)" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "दृश्य (&V)" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "जाएँ (&G)" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "औज़ार (&T)" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "मुख्य औज़ारपट्टी" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "टीका औज़ारपट्टी" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, fuzzy, kde-format +#| msgid "Annotation Toolbar" +msgid "Quick Annotation Toolbar" +msgstr "टीका औज़ारपट्टी" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "सामान्य विकल्प" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "अभिगम्‍यता" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "पढ़ने में सहायक" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "परफार्मेंस" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "परफ़ॉर्मेंस ट्यूनिंग" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "प्रदर्शक विन्यस्त करें" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "प्रस्तुतीकरण" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "प्रेजेन्टेशन मोड के लिए विकल्प" + +#: part/preferencesdialog.cpp:50 +#, fuzzy, kde-format +msgid "Annotation Options" +msgstr "टीकाकरण संबंधी विकल्प" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "संपादक" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "संपादक संबंधी विकल्प" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "अगला ढूंढें" + +#: part/presentationwidget.cpp:174 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "प्रस्तुतीकरण" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "स्क्रीन %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "प्रस्तुतीकरण मोड से बाहर हों" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "शीर्षक: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "पृष्ठ: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "प्रारंभ करने के लिए क्लिक करें" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "रोकें" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "चलाएँ" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "प्रस्तुतीकरण दिया जा रहा है" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "अज्ञात फ़ाइल" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "%1 गुण" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "फ़ॉन्ट्स (&F)" + +#: part/propertiesdialog.cpp:145 +#, fuzzy, kde-format +#| msgid "Reading font information..." +msgid "Reading font information…" +msgstr "फ़ॉन्ट जानकारी पढ़ी जा रही है..." + +#: part/propertiesdialog.cpp:158 +#, fuzzy, kde-format +#| msgid "&Page Size" +msgid "&Page Sizes" +msgstr "पृष्ठ आकार (&P)" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "" + +# type is font +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "टाइप १" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "टाइप १सी" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "टाइप १सी (ओटी)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "टाइप ३" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "ट्रू-टाइप" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "ट्रूटाइप (ओटी)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "सीआईडी टाइप o" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "सीआईडी टाइप 0सी" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "सीआईडी टाइप 0सी (ओटी)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "सीआईडी ट्रूटाइप" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "सीआईडी ट्रू टाइप (ओटी)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "टैक पीके" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "अज्ञात" + +#: part/propertiesdialog.cpp:331 +#, fuzzy, kde-format +#| msgid "Yes (subset)" +msgid "Embedded (subset)" +msgstr "हाँ (सबसेट)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "पूर्णता: सन्निहित" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "नहीं" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "हाँ (सबसेट)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "हाँ" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "[लागू नहीं]" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "अज्ञात फ़ॉन्ट" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "सन्निहित : %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "नाम" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "प्रकार" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "फ़ाइल" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "पृष्ठ" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "आकार" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "" + +#: part/revisionviewer.cpp:53 +#, fuzzy, kde-format +#| msgid "Where do you want to save %1?" +msgid "Where do you want to save this revision?" +msgstr "%1 को आप कहाँ सहेजना चाहते हैं?" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "%1 फ़ाइल को सहेज नहीं सका।" + +#: part/revisionviewer.cpp:75 +#, fuzzy, kde-format +#| msgid "Could not open %1. Reason: %2" +msgid "Could not view revision." +msgstr "%1 को खोला नहीं जा सका. कारण: %2" + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "पृष्ठों को फिल्टर करने के लिए कम से कम तीन अक्षर भरने होंगे" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "केस सेंसिटिव" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "वाक्यांश मिलाएँ" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "सभी शब्दों को मिलाएँ" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "कोई भी शब्द को मिलाएँ" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "फ़िल्टर विकल्प" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Certificates" +msgstr "प्रदर्शक कॉन्फ़िगर करें..." + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Only QES certificates" +msgstr "प्रदर्शक कॉन्फ़िगर करें..." + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "कारण :" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, fuzzy, kde-format +#| msgid "Options" +msgid "optional" +msgstr "विकल्प" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "स्थान :" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, fuzzy, kde-format +#| msgid "Background color:" +msgid "Background:" +msgstr "पृष्ठभूमि का रंगः" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, fuzzy, kde-format +#| msgid "Use custom background color" +msgid "Recent backgrounds:" +msgstr "तदनुकूल पृष्ठभूमि रंग का प्रयोग करें" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

No annotations

To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
" +msgstr "" + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "पृष्ठ आधार पर समूहबद्ध करें" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "लेखक के आधार पर समूहबद्ध करें" + +#: part/side_reviews.cpp:155 +#, fuzzy, kde-format +#| msgid "Show reviews for current page only" +msgid "Show annotations for current page only" +msgstr "सिर्फ वर्तमान पृष्ठ के लिए रीव्यू दिखाएं" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "गुण" + +#: part/signaturepartutils.cpp:180 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "पृष्ठ: %1" + +#: part/signaturepartutils.cpp:181 +#, fuzzy, kde-format +#| msgid "Enable &background generation" +msgid "Select background image" +msgstr "पृष्ठभूमि बनाना सक्षम करें (&b)" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "" + +#: part/signaturepartutils.cpp:244 +#, fuzzy, kde-format +#| msgid "Document Password" +msgid "Enter document password" +msgstr "दस्तावेज़ कूटशब्द" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "वैधता स्थिति" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "हस्ताक्षर की वैधता :" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "अतिरिक्त जानकारी" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "हस्ताक्षरित :" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "दस्तावेज़ संस्करण" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "दस्तावेज़ संशोधन, %2 में से %1" + +#: part/signaturepropertiesdialog.cpp:88 +#, fuzzy, kde-format +#| msgid "View Signed Version..." +msgid "View Signed Version…" +msgstr "हस्ताक्षरित संस्करण देखें..." + +#: part/signaturepropertiesdialog.cpp:95 +#, fuzzy, kde-format +#| msgid "View Certificate..." +msgid "View Certificate…" +msgstr "प्रमाणपत्र देखें..." + +#: part/signaturepropertiesdialog.cpp:97 +#, fuzzy, kde-format +#| msgid "View Certificate..." +msgid "View in Certificate Manager" +msgstr "प्रमाणपत्र देखें..." + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "केवल पुस्तचिन्हित पृष्ठों को ही दिखाएँ" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "चलाएँ" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "रोकें" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "बंद करें" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, fuzzy, kde-format +#| msgid "&Edit" +msgid "&Edit…" +msgstr "संपादन (&E)" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "हटाएँ (&R)" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "ऊपर की ओर ले जाएँ" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "नीचे ले जाएँ (&D)" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "पूर्वन्यस्त चित्रकला औज़ार #%1" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "दस्तावेज़ का दिखाया जाने वाला पृष्ठ" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "दस्तावेज को प्रस्तुतीकरण मोड में प्रारंभ करें" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "" + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "" + +#: shell/shell.cpp:207 +#, fuzzy, kde-format +#| msgid "Unable to find okular part." +msgid "Unable to find the Okular component: %1" +msgstr "ऑकुलर पार्ट ढूंढ पाने में अक्षम." + +#: shell/shell.cpp:250 +#, fuzzy, kde-format +#| msgid "Show S&idebar" +msgid "Sidebar" +msgstr "बाजूपट्टी दिखाएँ (&i)" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" + +#: shell/shell.cpp:315 +#, fuzzy, kde-format +#| msgid "Unable to find okular part." +msgid "Unable to find the Okular component." +msgstr "ऑकुलर पार्ट ढूंढ पाने में अक्षम." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"किसी फ़ाइल को खोलने के लिए क्लिक करें\n" +"किसी हालिया फ़ाइल को खोलने के लिए क्लिक कर दबाए रखें" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"किसी फ़ाइल को खोलने के लिए क्लिक करें या फिर किसी हालिया फ़ाइल को चुनने के लिए " +"क्लिक कर दबाए रखें" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "अगला टैब" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "पिछला टैब" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "" + +#: shell/shell.cpp:603 +#, fuzzy, kde-format +#| msgid "Show S&idebar" +msgid "Lock Sidebar" +msgstr "बाजूपट्टी दिखाएँ (&i)" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "सभी फ़ाइलें (*)" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "दस्तावेज़ खोलें" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "टैबों को बंद करें" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "आप %1 टैबों को बंद करने वाले हैं। क्या आप वाकई जारी रखना चाहते हें?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "" + +#: shell/welcomescreen.cpp:64 +#, fuzzy, kde-format +#| msgid "Copy Text" +msgid "&Copy Path" +msgstr "पाठ की नक़ल बनाएं" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "" + +#: shell/welcomescreen.cpp:137 +#, fuzzy, kde-format +#| msgid "Current document only" +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "सिर्फ वर्तमान दस्तावेज़" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, fuzzy, kde-format +#| msgid "Open Document" +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "दस्तावेज़ खोलें" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, fuzzy, kde-format +#| msgid "Current document only" +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "सिर्फ वर्तमान दस्तावेज़" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "" + +#, fuzzy +#~| msgid "For Comment" +#~ msgid "Geometry with Comment" +#~ msgstr "टिप्पणियों के लिए" + +#~ msgid "Geometry" +#~ msgstr "ज्यामिति" + +#~ msgid "Modified: %1" +#~ msgstr "परिवर्धित : %1" + +#~ msgid "Find..." +#~ msgstr "ढूंढें..." + +#~ msgid "Go To Page..." +#~ msgstr "पृष्ठ पर जाएं..." + +#~ msgid "Play movie..." +#~ msgstr "चलचित्र चलाएँ..." + +#~ msgid "Search..." +#~ msgstr "ढूंढें..." + +#, fuzzy +#~| msgid "Save As..." +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "ऐसे सहेजें..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "दृश्य... (&V)" + +#, fuzzy +#~| msgid "Sign CRL" +#~ msgid "&Sign..." +#~ msgstr "सीआरएल हस्ताक्षरित करें" + +#~ msgid "Configure Viewer..." +#~ msgstr "प्रदर्शक विन्यस्त करें..." + +#~ msgid "Configure Viewer Backends..." +#~ msgstr "प्रदर्शक बैकएण्ड्स विन्यस्त करें..." + +#~ msgid "Configure Backends..." +#~ msgstr "बैकएण्ड्स विन्यस्त करें..." + +#~ msgid "&Add..." +#~ msgstr "जोड़ें... (&A)" + +#~ msgid "&Edit..." +#~ msgstr "संपादन... (&E)" + +#, fuzzy +#~| msgid "Digital Signature" +#~ msgid "Unsigned Signature %1" +#~ msgstr "डिजिटल हस्ताक्षर" + +#, fuzzy +#~| msgctxt "Unknown author" +#~| msgid "Unknown" +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "अज्ञात" + +#, fuzzy +#~| msgid "Digital Signature" +#~ msgctxt "Signature type" +#~ msgid "Unsigned signature" +#~ msgstr "डिजिटल हस्ताक्षर" + +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr " %" + +#~ msgctxt "Suffix for the pen width, eg '10 px'" +#~ msgid " px" +#~ msgstr " पीएक्स" + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " %" + +#, fuzzy +#~| msgid "%" +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%" + +#, fuzzy +#~| msgid "Fit Width" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "चौड़ाई फिट करें" + +#, fuzzy +#~| msgid "Fit Page" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "पृष्ठ में फिट करें" + +#, fuzzy +#~| msgid "Auto Fit" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Auto Fit" +#~ msgstr "स्वतः फिट" + +#~ msgid "*|All Files" +#~ msgstr "*|सभी फ़ाइलें" + +#, fuzzy +#~| msgid "Show S&idebar" +#~ msgid "Show Sidebar" +#~ msgstr "बाजूपट्टी दिखाएँ (&i)" + +#, fuzzy +#~| msgid "Experimental" +#~ msgctxt "@title:window" +#~ msgid "Experimental feature" +#~ msgstr "परीक्षणाधीन" + +#~ msgid "Remove Bookmarks" +#~ msgstr "पुस्तचिन्ह हटाएँ" + +#, fuzzy +#~| msgid "&Annotations" +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "टीकाएं (&A)" + +#, fuzzy +#~| msgid "Highlight" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "उभारें" + +#, fuzzy +#~| msgid "Underline" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Underline" +#~ msgstr "रेखांकित" + +#, fuzzy +#~| msgid "Squiggle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Squiggle" +#~ msgstr " टेढ़ा मेढ़ा" + +#, fuzzy +#~| msgid "Strike Out" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Strike Out" +#~ msgstr "लिखकर काटें" + +#, fuzzy +#~| msgid "Insert" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "प्रविष्ट" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "इनलाइन टिप्पणी" + +#, fuzzy +#~| msgctxt "@action:intoolbar Annotation tool" +#~| msgid "Popup Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "पॉपअप टिप्पणी" + +#, fuzzy +#~| msgid "Freehand Line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Freehand Line" +#~ msgstr "मुक्तहस्त रेखा" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Straight Yellow Line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Straight line" +#~ msgstr "सीधी पीली लकीर" + +#, fuzzy +#~| msgctxt "@action:intoolbar Annotation tool" +#~| msgid "Arrow" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Arrow" +#~ msgstr "तीर" + +#, fuzzy +#~| msgid "Rectangle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Rectangle" +#~ msgstr "चतुर्भुज" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "A cyan ellipse" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Ellipse" +#~ msgstr "क्यान दीर्घवृत्त" + +#, fuzzy +#~| msgid "Polygon" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Polygon" +#~ msgstr "बहुभुज" + +#, fuzzy +#~| msgid "Highlight" +#~ msgid "Highlight in Yellow" +#~ msgstr "उभारें" + +#, fuzzy +#~| msgid "Highlight" +#~ msgid "Highlight in Green" +#~ msgstr "उभारें" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgid "Insert Inline Note" +#~ msgstr "इनलाइन टिप्पणी" + +#, fuzzy +#~| msgctxt "@action:intoolbar Annotation tool" +#~| msgid "Popup Note" +#~ msgid "Insert Popup Note" +#~ msgstr "पॉपअप टिप्पणी" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "पाठ चुनें" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "पाठ चुनें" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "पाठ चुनें" + +#~ msgid "Bookmark annotation" +#~ msgstr "पुस्तचिन्ह टीका" + +#, fuzzy +#~| msgid "Change &Colors" +#~ msgid "&Toggle Change Colors" +#~ msgstr "रंग बदलें (&C)" + +#, fuzzy +#~ msgctxt "@option:check Config dialog, presentation page, transitions" +#~ msgid "Enable transitions" +#~ msgstr "डिफ़ॉल्ट ट्रांज़ीशन:" + +#, fuzzy +#~| msgid "Advance every:" +#~ msgctxt "@label:spinbox Config dialog, presentation page" +#~ msgid "Advance every:" +#~ msgstr "प्रत्येक के बाद आगे बढ़ें:" + +#, fuzzy +#~| msgid "Use custom background color" +#~ msgctxt "@label:listbox Config dialog, general page" +#~ msgid "Custom background color:" +#~ msgstr "तदनुकूल पृष्ठभूमि रंग का प्रयोग करें" + +#~ msgid "Draw border around &Images" +#~ msgstr "छवियों के चारों ओर सीमारेखा बनाएँ (&I)" + +#~ msgid "Speech" +#~ msgstr "कथन" + +#~ msgid "Engine" +#~ msgstr "इंजन" + +#~ msgid "Identity" +#~ msgstr "पहचान" + +#~ msgid "Au&thor:" +#~ msgstr "लेखक (&t):" + +#~ msgid "View Options" +#~ msgstr "विकल्प दिखाएँ" + +#~ msgid "Navigation" +#~ msgstr "नेविगेशन" + +#~ msgid "Screen:" +#~ msgstr "स्क्रीन :" + +#~ msgid "&Get Books From Internet..." +#~ msgstr "इंटरनेट से किताबें लाएँ... (&G)" + +#~ msgid "Reviews" +#~ msgstr "समीक्षा" + +#~ msgctxt "@item:inlistbox Color name" +#~ msgid "%1" +#~ msgstr "%1" + +#~ msgid "Hide Forms" +#~ msgstr "फ़ॉर्म छुपाएँ" + +#~ msgid "&Review" +#~ msgstr "समीक्षा (&R)" + +#~ msgid "Annotations author" +#~ msgstr "एन्नोटेशन लेखक" + +#~ msgid "Please insert your name or initials:" +#~ msgstr "कृपया अपना नाम या आद्याक्षर भरें:" + +#~ msgid "Show &Navigation Panel" +#~ msgstr "नेविगेशन फलक दिखाएँ (&N)" + +#~ msgid "Show Text" +#~ msgstr "पाठ दिखाएँ" + +#, fuzzy +#~| msgid "Icon" +#~ msgid "Large Icons" +#~ msgstr "प्रतीक" + +#~ msgid "Created: %1" +#~ msgstr "निर्मित: %1" + +#, fuzzy +#~| msgid "Title" +#~ msgid "Style" +#~ msgstr "शीर्षक" + +#, fuzzy +#~| msgid "Size" +#~ msgid "&Size:" +#~ msgstr "आकार" + +#~ msgid "Inner color:" +#~ msgstr "आंतरिक रंग:" + +#, fuzzy +#~| msgid "Pages: %1" +#~ msgid "Name: %1" +#~ msgstr "पृष्ठ: %1" + +#, fuzzy +#~| msgid "Size" +#~ msgid "Size: %1" +#~ msgstr "आकार" + +#~ msgid "&Browse Tool" +#~ msgstr "ब्राउज़ औज़ार (&B)" + +#~ msgid "&Zoom Tool" +#~ msgstr "ज़ूम औज़ार (&Z)" + +#~ msgctxt "Zoom Tool" +#~ msgid "Zoom" +#~ msgstr "ज़ूम" + +#, fuzzy +#~| msgid "Selection Tools" +#~ msgid "&Selection Tool" +#~ msgstr "चयन औज़ार" + +#, fuzzy +#~| msgctxt "Select Tool" +#~| msgid "Select" +#~ msgctxt "Select Tool" +#~ msgid "Selection" +#~ msgstr "चुनें" + +#~ msgid "&Text Selection Tool" +#~ msgstr "पाठ चयन औजार (&T)" + +#, fuzzy +#~| msgid "Selection Tools" +#~ msgid "T&able Selection Tool" +#~ msgstr "चयन औज़ार" + +#, fuzzy +#~| msgid "Note" +#~ msgid " None" +#~ msgstr "टिप्पणी" + +#, fuzzy +#~| msgid "Exit Presentation Mode" +#~ msgid "Presentation Mode" +#~ msgstr "प्रस्तुतीकरण मोड से बाहर हों" + +#, fuzzy +#~| msgid "Exit Presentation Mode" +#~ msgid "Allow the presentation mode" +#~ msgstr "प्रस्तुतीकरण मोड से बाहर हों" + +#, fuzzy +#~| msgid "Start the document in presentation mode" +#~ msgid "Do not allow the presentation mode" +#~ msgstr "दस्तावेज को प्रस्तुतीकरण मोड में प्रारंभ करें" + +#, fuzzy +#~| msgid "Save As..." +#~ msgid "Save &Copy As..." +#~ msgstr "ऐसे सहेजें..." + +#~ msgid "" +#~ "End of document reached.\n" +#~ "Continue from the beginning?" +#~ msgstr "" +#~ "प्रलेख का अंत आ पहुँचा\n" +#~ "प्रारंभ से जारी रखें?" + +#, fuzzy +#~| msgid "" +#~| "End of document reached.\n" +#~| "Continue from the beginning?" +#~ msgid "" +#~ "Beginning of document reached.\n" +#~ "Continue from the bottom?" +#~ msgstr "" +#~ "प्रलेख का अंत आ पहुँचा\n" +#~ "प्रारंभ से जारी रखें?" + +#~ msgid "Current maintainer" +#~ msgstr "वर्तमान मेंटेनर" + +#~ msgid " sec." +#~ msgstr " सेक." + +#~ msgid "Pencil color:" +#~ msgstr "पेंसिल रंग:" + +#~ msgid "Toggle Drawing Mode" +#~ msgstr "ड्राइंग मोड टॉगल करें" + +#, fuzzy +#~| msgid "Starting KTTSD Failed: %1" +#~ msgid "Starting Jovie Text-to-Speech service Failed: %1" +#~ msgstr "केटीटीएसडी शुरु करने में असफल: %1" + +#~ msgid "Search Columns" +#~ msgstr "खोज स्तम्भ" + +#~ msgid "All Visible Columns" +#~ msgstr "सभी द्ष्टिगोचर स्तम्भ" + +#~ msgid "No document opened." +#~ msgstr "कोई प्रलेख खुला नहीं." + +#~ msgid "No matches found for '%1'." +#~ msgstr " '%1' के लिए कोई जोड़ नहीं मिला." + +#~ msgid "Search in progress..." +#~ msgstr "ढूंढा जा रहा है..." + +#~ msgid "Searching for %1" +#~ msgstr "%1 के लिए ढूंढा जा रहा है" + +#~ msgid "Identity Settings" +#~ msgstr "पहचान विन्यास" + +#~ msgid "Highlight Properties" +#~ msgstr "गुणों को उभारें" + +#~ msgid "Ink Properties" +#~ msgstr "स्याही गुण" + +#~ msgctxt "Annotation tool" +#~ msgid "Text Annotation" +#~ msgstr "पाठ एन्नोटेशन" + +#~ msgctxt "Annotation tool" +#~ msgid "Green Ink" +#~ msgstr "हरी स्याही" + +#~ msgctxt "Annotation tool" +#~ msgid "Yellow Highlight" +#~ msgstr "पीला उभारें" + +#~ msgctxt "Annotation tool" +#~ msgid "Straight Yellow Line" +#~ msgstr "सीधी पीली लकीर" + +#, fuzzy +#~| msgid "Underline" +#~ msgid "Black Underlining" +#~ msgstr "रेखांकित" + +#~ msgctxt "Annotation tool" +#~ msgid "Underline the text with a black line" +#~ msgstr "पाठ को काली लकीर से रेखांकित करें" + +#~ msgctxt "Annotation tool" +#~ msgid "A cyan ellipse" +#~ msgstr "क्यान दीर्घवृत्त" + +#~ msgid "Ink" +#~ msgstr "स्याही" + +#, fuzzy +#~| msgid "Hide Forms" +#~ msgid "Reset Forms" +#~ msgstr "फ़ॉर्म छुपाएँ" + +#~ msgid "Moves to the first page of the document" +#~ msgstr "प्रलेख के प्रथम पृष्ठ पर जाता है" + +#~ msgid "You must set this name:" +#~ msgstr "आपको यह नाम सेट करना आवश्यक है:" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "%1 is \"Title\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "%1 is \"File Path\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#, fuzzy +#~| msgid "Overwrite" +#~ msgctxt "@action:button" +#~ msgid "&Overwrite" +#~ msgstr "मिटाकर लिखें" + +#~ msgid "Pages:" +#~ msgstr "पृष्ठ:" + +#~ msgid "okular" +#~ msgstr "ऑकुलर" + +#~ msgid "&Properties..." +#~ msgstr "गुण...(&P)" + +#~ msgid "Could not load the necessary plugin to view the document." +#~ msgstr "प्रलेख देखने के लिए आवश्यक प्लगइन को लोड नहीं कर सकता." + +#~ msgid "Fit &Text" +#~ msgstr "पाठ के अनुसार फिट करें (&T)" + +#~ msgid "Copy Link Location" +#~ msgstr "लिंक स्थान नक़ल करें" + +#~ msgid "*|All the Files" +#~ msgstr "*|सभी फ़ाइलें" + +#~ msgctxt "Annotation tool" +#~ msgid "Pink Ink" +#~ msgstr "गुलाबी स्याही" diff --git a/po/hi/okular_comicbook.po b/po/hi/okular_comicbook.po new file mode 100644 index 0000000..c9198c4 --- /dev/null +++ b/po/hi/okular_comicbook.po @@ -0,0 +1,44 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Raghavendra Kamath , 2021. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2021-08-21 16:47+0530\n" +"Last-Translator: Raghavendra Kamath \n" +"Language-Team: kde-hindi\n" +"Language: hi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" +"X-Generator: Lokalize 21.08.0\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "राघवेंद्र कामत" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "raghu@raghukamath.com" + +#: document.cpp:97 +#, kde-format +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "दस्तावेज़ नहीं खोल सकते, न तो अनरार और न ही अनारखैवर पाए गए।" + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "आपके तंत्र पर अनरार का संस्करण कॉमिक पुस्तक खोलने के लिए उपयुक्त नहीं है।" + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "अज्ञात कॉमिक पुस्तक प्रारूप।" diff --git a/po/hi/okular_djvu.po b/po/hi/okular_djvu.po new file mode 100644 index 0000000..4d1b7dd --- /dev/null +++ b/po/hi/okular_djvu.po @@ -0,0 +1,153 @@ +# translation of okular_djvu.po to Hindi +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Ravishankar Shrivastava , 2007. +# Raghavendra Kamath , 2021. +msgid "" +msgstr "" +"Project-Id-Version: okular_djvu\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2021-08-21 16:36+0530\n" +"Last-Translator: Raghavendra Kamath \n" +"Language-Team: kde-hindi\n" +"Language: hi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 21.08.0\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "रविशंकर श्रीवास्तव, जी. करूणाकर" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "raviratlami@aol.in," + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "संपादक" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "प्रकाशक" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "आवाज़ निर्धारक" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "दस्तावेज़ का प्रकार" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "अज्ञात" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "अवयव फ़ाइलें" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "अज्ञात" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "एकल पृष्ठ" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "बंडल्ड" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "अप्रत्यक्ष" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "बंडल्ड (पुराना)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "इंडेक्स्ड (पुराना)" + +#~ msgid "DjVu Backend" +#~ msgstr "डीजेवीयू बैकएण्ड" + +#, fuzzy +#~| msgid "© 2006-2007 Pino Toscano" +#~ msgid "© 2006-2008 Pino Toscano" +#~ msgstr "(C) 2006-2007 पिनो टोस्कानो" + +#~ msgid "Pino Toscano" +#~ msgstr "पिनो टोसकानो" + +#, fuzzy +#~| msgid "Unknown" +#~ msgctxt "Unknown title" +#~ msgid "Unknown" +#~ msgstr "अज्ञात" + +#, fuzzy +#~| msgid "Unknown" +#~ msgctxt "Unknown author" +#~ msgid "Unknown" +#~ msgstr "अज्ञात" + +#, fuzzy +#~| msgid "Unknown" +#~ msgctxt "Unknown editor" +#~ msgid "Unknown" +#~ msgstr "अज्ञात" + +#, fuzzy +#~| msgid "Unknown" +#~ msgctxt "Unknown publisher" +#~ msgid "Unknown" +#~ msgstr "अज्ञात" + +#, fuzzy +#~| msgid "Unknown" +#~ msgctxt "Unknown creation date" +#~ msgid "Unknown" +#~ msgstr "अज्ञात" + +#, fuzzy +#~| msgid "Unknown" +#~ msgctxt "Unknown volume information" +#~ msgid "Unknown" +#~ msgstr "अज्ञात" + +#, fuzzy +#~| msgid "Unknown" +#~ msgctxt "Unknown type of document" +#~ msgid "Unknown" +#~ msgstr "अज्ञात" + +#~ msgid "A DjVu backend" +#~ msgstr "एक डीजेवीयू बैकएण्ड" diff --git a/po/hi/okular_dvi.po b/po/hi/okular_dvi.po new file mode 100644 index 0000000..6659cd2 --- /dev/null +++ b/po/hi/okular_dvi.po @@ -0,0 +1,659 @@ +# translation of okular_dvi.po to Hindi +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Ravishankar Shrivastava , 2007. +# Raghavendra Kamath , 2021. +msgid "" +msgstr "" +"Project-Id-Version: okular_dvi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2021-08-22 14:18+0530\n" +"Last-Translator: Raghavendra Kamath \n" +"Language-Team: kde-hindi\n" +"Language: hi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 21.08.0\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "राघवेंद्र कामत" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

" +msgstr "" + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

" +msgstr "" + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "डीवीआई फ़ाइल प्रीएम्बल के साथ प्रारंभ नहीं होती." + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" + +#: dviFile.cpp:134 +#, fuzzy, kde-format +#| msgid "" +#| "The DVI file is badly corrupted. KDVI was not able to find the postamble." +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "डीवीआई फ़ाइल बहुत ज्यादा खराब है. केडीवीआई को पोस्टेम्बल नहीं मिला." + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "पोस्टेम्बल - पोस्ट कमांड के साथ प्रारंभ नहीं होता." + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "पोस्टएम्बल में कमांड FNTDEF के बजाए अन्य कमांड है." + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "पृष्ठ %1 बीओपी कमांड के साथ प्रारंभ नहीं होता है." + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

PATH: %2

" +msgstr "" + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

%2

" +msgstr "" + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, fuzzy, kde-format +#| msgid "" +#| "File not found: \n" +#| " %1" +msgid "File corruption. %1" +msgstr "" +"फ़ाइल नहीं मिलाः\n" +"%1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "" + +#: dviRenderer.cpp:419 +#, fuzzy, kde-format +#| msgid "The special command '%1' is not implemented." +msgid "The specified file '%1' does not exist." +msgstr "विशेष कमांड '%1' कार्यान्वित नहीं है." + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "अज्ञात फ़ॉन्ट का डीवीआई कोड सेट अक्षर." + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "" + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "जब ईओपी कमांड से सामना हुआ, स्टैक खाली नहीं था." + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "जब पीओपी कमांड से सामना हुआ, स्टैक खाली था." + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "डीवीआई कोड में फ़ॉन्ट संदर्भ है जो कि पहले से पारिभाषित नहीं है." + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "एक अवैध कमांड से सामना हुआ." + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "अज्ञात ऑप-कोड %1 से सामना हुआ." + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "सन्निहित किया जा रहा है %1" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
" +msgstr "" +"पृष्ठ %1: पीडीएफ फ़ाइल %2 को पोस्टस्क्रिप्ट में परिवर्ति नहीं किया जा " +"सकता.
" + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
" +msgstr "पृष्ठ %1: पोस्टस्क्रिप्ट फ़ाइल %2 नहीं मिला.
" + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "पेपरसाइज डाटा '%1' पार्स नहीं की जा सकी." + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

PATH: %1

%2

" +msgstr "" + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

PATH: %1

%2

" +msgstr "" + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" + +#: fontpool.cpp:482 +#, fuzzy, kde-format +#| msgid "Currently generating %1 at %2 dpi" +msgid "Currently generating %1 at %2 dpi…" +msgstr "वर्तमान में बनाया जा रहा है %1 को %2 डीपीआई पर" + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "जेनरेटर/तारीख़" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "फ़ॉन्ट फ़ाइल नहीं मिला" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "खड़ा" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "आड़ा" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "इसे मिलाकर 25 त्रुटियाँ हो गईं. अब आगे के त्रुटि संदेशों को छापा नहीं जाएगा." + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"फ़ाइल नहीं मिलाः\n" +"%1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "विशेष कमांड '%1' कार्यान्वित नहीं है." + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "फ़ॉन्ट फ़ाइल %1 टूटा है, या इसे खोला या पढ़ा नहीं जा सकता." + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" +"फ़ॉन्ट फ़ाइल %1 के लिए अक्षर आकार सेट करने के दौरा फ्रीटाइप ने एक त्रुटि की रपट दी." + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "फ्रीटाइप ग्लिफ #%1 को फ़ॉन्ट फ़ाइल %2 से लोड करने में अक्षम है." + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "फ्रीटाइप ग्लिफ #%1 को फ़ॉन्ट फ़ाइल %2 से रेंडर करने में अक्षम है." + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "Glyph #%1 खाली है" + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "ग्लिफ़ #%1 फ़ॉन्ट फ़ाइल %2 में खाली है." + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "फ़ॉन्ट फ़ाइल %2 से ग्लिफ #%1 को लोड करने में फ्रीटाइप असफल रहा." + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "फ़ॉन्ट फ़ाइल %1 खोल नहीं सका." + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "TexFont_PK::operator[]: अक्षर %1 फ़ॉन्ट %2 में पारिभाषित नहीं है" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "अप्रत्याशित %1 पीके फ़ाइल %2 में" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "अक्षर %1 फ़ाइल %2 में बहुत बड़ा है" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "भंडारित किए बिट्स की गलत संख्या: अक्षर. %1, फ़ॉन्ट %2" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "खराब पीके फ़ाइल (%1), बहुत सारे बिट्स" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "फ़ॉन्ट में नॉन-स्कवेयर आस्पेक्ट रेशो है" + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "फ़ॉन्ट फ़ाइल %1 ढूंढ नहीं सका %2." + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "फ़ॉन्ट फ़ाइल %1 के लिए चेकसम मिसमैच" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "फ़ाइल %1 के लिए फ़ॉन्ट फ़ाइल प्रारूप पहचाना नहीं जा सकता" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"गंभीर त्रुटि.\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "वीएफ मेक्रो सूची : %1 में गलत कमांड बाइट मिला" + +#, fuzzy +#~| msgid "DVI File Error" +#~ msgid "A DVI file renderer" +#~ msgstr "डीवीआई फ़ाइल त्रुटि" + +#, fuzzy +#~| msgid "KDVI is currently generating bitmap fonts..." +#~ msgid "Okular is currently generating bitmap fonts..." +#~ msgstr "केडीवीआई वर्तमान में बिटमैप फ़ॉन्ट तैयार कर रहा है..." + +#, fuzzy +#~| msgid "Aborts the font generation. Don't do this." +#~ msgid "Aborts the font generation. Do not do this." +#~ msgstr "फ़ॉन्ट तैयार करना छोड़ें. इसे नहीं बनाएँ." + +#, fuzzy +#~| msgid "KDVI is generating fonts. Please wait." +#~ msgid "Okular is generating fonts. Please wait." +#~ msgstr "कृपया रूकें... केडीवीआई फ़ॉन्ट तैयार कर रहा है." + +#~ msgid "Font Generation Progress Dialog" +#~ msgstr "फ़ॉन्ट जनरेशन प्रगति संवाद" + +#~ msgid "Abort" +#~ msgstr "छोड़ें" + +#, fuzzy +#~| msgid "What's going on here?" +#~ msgid "What is happening here?" +#~ msgstr "यहाँ क्या चल रहा है?" + +#~ msgid "%v of %m" +#~ msgstr "%m का %v " + +#~ msgid "Please be patient" +#~ msgstr "कृपया धैर्य रखें" + +#~ msgid "*.pdf|Portable Document Format (*.pdf)" +#~ msgstr "*.pdf|पोर्टेबल दस्तावेज़ फॉर्मेट (*.pdf)" + +#~ msgid "Export File As" +#~ msgstr "फ़ाइल ऐसे निर्यात करें" + +#, fuzzy +#~| msgid "" +#~| "The file %1\n" +#~| "exists. Do you want to overwrite that file?" +#~ msgid "" +#~ "The file %1\n" +#~ "exists. Do you want to overwrite it?" +#~ msgstr "" +#~ "फ़ाइल %1 \n" +#~ "पहले से ही मौजूद है. क्या आप इसके ऊपर लिखना चाहते हैं?" + +#~ msgid "Overwrite File" +#~ msgstr "फ़ाइल के ऊपर लिखें" + +#~ msgid "Overwrite" +#~ msgstr "मिटाकर लिखें" + +#~ msgid "Using dvipdfm to export the file to PDF" +#~ msgstr "" +#~ "फ़ाइल को पीडीएफ़ में निर्यात करने के लिए डीवीआईपीडीएफएम इस्तेमाल किया जा रहा है" + +#~ msgid "Waiting for dvipdfm to finish..." +#~ msgstr "डीवीआईपीडीएफएम पूरा होने के इंतजार में..." + +#~ msgid "*.ps|PostScript (*.ps)" +#~ msgstr "*.ps|पोस्टस्क्रिप्ट (*.ps)" + +#~ msgid "Using dvips to export the file to PostScript" +#~ msgstr "" +#~ "फ़ाइल को पोस्टस्र्किप्ट में निर्यात करने के लिए डीवीआईपीएस इस्तेमाल किया जा रहा है" + +#~ msgid "Waiting for dvips to finish..." +#~ msgstr "डीवीआईपीएस पूरा होने के इंतजार में..." + +#~ msgid "Functionality Unavailable" +#~ msgstr "फंक्शनलिटी अनुपलब्ध" + +#~ msgid "DVI File Error" +#~ msgstr "डीवीआई फ़ाइल त्रुटि" + +#~ msgid "Not All Font Files Found" +#~ msgstr "सभी फ़ॉन्ट फ़ाइलें नहीं मिलीं" + +#~ msgid "Locating fonts..." +#~ msgstr "फ़ॉन्ट्स लोकेट किया जा रहा है..." + +#, fuzzy +#~| msgid "Problem locating fonts - KDVI" +#~ msgid "Problem locating fonts" +#~ msgstr "फ़ॉन्ट ढूंढने में समस्या - केडीवीआई" + +#, fuzzy +#~| msgid "Font generation aborted - KDVI" +#~ msgid "Font generation aborted" +#~ msgstr "फ़ॉन्ट बनाना छोड़ा - केडीवीआई" + +#~ msgid "Export: %1 to PDF" +#~ msgstr "%1 को पीडीएफ में निर्यात करें" + +#~ msgid "Export: %1 to PostScript" +#~ msgstr "%1 को पोस्टस्क्रिप्ट में निर्यात करें" + +#~ msgid "The fontlist is currently empty." +#~ msgstr "फ़ॉन्टलिस्ट वर्तमान में खाली है." + +#~ msgid "TeX Name" +#~ msgstr "टीईएक्स नाम" + +#~ msgid "Family" +#~ msgstr "परिवार" + +#~ msgid "Zoom" +#~ msgstr "ज़ूम" + +#~ msgid "Type" +#~ msgstr "क़िस्म" + +#~ msgid "Encoding" +#~ msgstr "एनकोडिंग" + +#~ msgid "Comment" +#~ msgstr "टिप्पणी" + +#~ msgid "TeX virtual" +#~ msgstr "TeX काल्पनिक" + +#~ msgid "TeX Font Metric" +#~ msgstr "TeX फ़ॉन्ट मीट्रिक" + +#~ msgid "FreeType" +#~ msgstr "फ्री-टाइप" + +#~ msgid "Could not allocate memory for a font structure" +#~ msgstr "फ़ॉन्ट ढांचा के लिए मेमोरी आबंटित नहीं की जा सकती" + +#~ msgid "Not enough memory to load the DVI-file." +#~ msgstr "DVI फ़ाइल को लोड करने के लिए पर्याप्त मेमोरी नहीं है" + +#~ msgid "Could not load the DVI-file." +#~ msgstr "DVI फ़ाइल लोड नहीं कर सका." + +#~ msgid "Checksum mismatch" +#~ msgstr "चेकसम मिसमैच" + +#~ msgid " in font file " +#~ msgstr "फ़ॉन्ट फ़ाइल में" + +#~ msgid "Could not allocate memory for a macro table." +#~ msgstr "मेक्रो टेबल के लिए मेमोरी आवंटित नहीं की जा सकती." + +#~ msgid "Virtual character " +#~ msgstr "आभासी कैरेक्टर" + +#~ msgid " in font " +#~ msgstr "फ़ॉन्ट में" + +#~ msgid " ignored." +#~ msgstr "उपेक्षित." + +#~ msgid "Fatal Error" +#~ msgstr "गंभीर त्रुटि" + +#~ msgid "KDVI: Information" +#~ msgstr "केडीवीआईः जानकारी" + +#~ msgid "Do not show this message again" +#~ msgstr "यह संदेश फिर से न दिखाएँ" + +#~ msgid "Explain in more detail..." +#~ msgstr "अधिक विवरण के साथ स्पस्ट करें... " + +#~ msgid "File Error" +#~ msgstr "फ़ाइल त्रुटि" + +#~ msgid "Could Not Find Reference" +#~ msgstr "सन्दर्भ नहीं मिला" diff --git a/po/hi/okular_epub.po b/po/hi/okular_epub.po new file mode 100644 index 0000000..7ca212b --- /dev/null +++ b/po/hi/okular_epub.po @@ -0,0 +1,43 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Raghavendra Kamath , 2021. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2021-08-21 16:48+0530\n" +"Last-Translator: Raghavendra Kamath \n" +"Language-Team: kde-hindi\n" +"Language: hi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" +"X-Generator: Lokalize 21.08.0\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "राघवेंद्र कामत" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "raghu@raghukamath.com" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "ईपब दस्तावेज़ खोलते समय त्रुटि।" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "ईपब" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "ईपब पृष्ठभाग विन्यास" diff --git a/po/hi/okular_fax.po b/po/hi/okular_fax.po new file mode 100644 index 0000000..a366a18 --- /dev/null +++ b/po/hi/okular_fax.po @@ -0,0 +1,33 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Raghavendra Kamath , 2021. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2021-08-21 16:45+0530\n" +"Last-Translator: Raghavendra Kamath \n" +"Language-Team: kde-hindi\n" +"Language: hi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" +"X-Generator: Lokalize 21.08.0\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "राघवेंद्र कामत" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "raghu@raghukamath.com" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "दस्तावेज लोड करने में अक्षम" diff --git a/po/hi/okular_fictionbook.po b/po/hi/okular_fictionbook.po new file mode 100644 index 0000000..7058f5b --- /dev/null +++ b/po/hi/okular_fictionbook.po @@ -0,0 +1,85 @@ +# translation of okular_fictionbook.po to Hindi +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Ravishankar Shrivastava , 2007. +# Raghavendra Kamath , 2021. +msgid "" +msgstr "" +"Project-Id-Version: okular_fictionbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2021-08-21 16:45+0530\n" +"Last-Translator: Raghavendra Kamath \n" +"Language-Team: kde-hindi\n" +"Language: hi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 21.08.0\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "राघवेंद्र कामत" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "raghu@raghukamath.com" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "दस्तावेज़ एक वैध फिक्शनबुक नहीं है" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "दस्तावेज़ खोलने में असफल: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "दस्तावेज़ वैध जिप आर्काइव नहीं है" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "अवैध दस्तावेज़ स्ट्रक्चर (मुख्य डिरेक्ट्री गुम है)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "दस्तावेज़ में कोई सामग्री नहीं मिली" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "अवैध एक्सएमएल दस्तावेज़: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "फिक्शनबुक" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "फिक्शनबुक पृष्ठभाग विन्यास" + +#~ msgid "Creator" +#~ msgstr "निर्माता" + +#~ msgid "Title" +#~ msgstr "शीर्षक" + +#~ msgid "Author" +#~ msgstr "लेखक" + +#~ msgid "Producer" +#~ msgstr "निर्माता" + +#~ msgid "Created" +#~ msgstr "निर्मित" diff --git a/po/hi/okular_ghostview.po b/po/hi/okular_ghostview.po new file mode 100644 index 0000000..bc83245 --- /dev/null +++ b/po/hi/okular_ghostview.po @@ -0,0 +1,104 @@ +# translation of okular_ghostview.po to Hindi +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Ravishankar Shrivastava , 2007. +# Raghavendra Kamath , 2021. +msgid "" +msgstr "" +"Project-Id-Version: okular_ghostview\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2021-08-21 16:51+0530\n" +"Last-Translator: Raghavendra Kamath \n" +"Language-Team: kde-hindi\n" +"Language: hi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 21.08.0\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "राघवेंद्र कामत" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "raghu@raghukamath.com" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "प्लेटफ़ॉर्म फ़ॉन्ट्स उपयोग में लें" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"यह निर्धारित करता है कि क्या घोस्टस्क्रिप्ट को प्लेटफ़ॉर्म फोंट का उपयोग करने की अनुमति दी " +"जानी चाहिए, यदि \"फॉस्ल\" है तो केवल दस्तावेज़ में अंतर्निहित फोंट के उपयोग की अनुमति " +"होगी।" + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "सामान्य विन्यास" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "प्लेटफ़ॉर्म फ़ॉन्ट्स उपयोग में लें (&U)" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "घोस्ट-स्क्रिप्ट" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "घोस्टस्क्रिप्ट पृष्ठभाग विन्यास" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "दस्तावेज़ संस्करण" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "भाषा स्तर" + +#~ msgid "" +#~ "Anti-aliasing makes the result look better, but it makes the display take " +#~ "longer" +#~ msgstr "" +#~ "एंटीएलियासिंग से परिणाम बेहतर दिखता है, परंतु इससे डिस्प्ले दिखाने में लंबा समय लेता है." + +#, fuzzy +#~| msgid "&Enable anti-aliasing of fonts and images" +#~ msgid "&Enable anti-aliasing of fonts" +#~ msgstr "फ़ॉन्ट्स तथा छवियों के एन्टीअलाएसिंग सक्षम करें (&E)" + +#, fuzzy +#~| msgid "&Enable anti-aliasing of fonts and images" +#~ msgid "&Enable anti-aliasing of graphics" +#~ msgstr "फ़ॉन्ट्स तथा छवियों के एन्टीअलाएसिंग सक्षम करें (&E)" + +#~ msgid "&Show Ghostscript messages in a separate box" +#~ msgstr "अलग बक्से में घोस्टस्क्रिप्ट संदेश दिखाएँ (&S)" + +#~ msgid "Ghostscript Configuration" +#~ msgstr "घोस्टस्क्रिप्ट कॉन्फ़िगरेशन" + +#~ msgid "Additional parameters to Ghostscript" +#~ msgstr "घोस्टस्क्रिप्ट के लिए अतिरिक्त पैरामीटर" diff --git a/po/hi/okular_kimgio.po b/po/hi/okular_kimgio.po new file mode 100644 index 0000000..1258ef0 --- /dev/null +++ b/po/hi/okular_kimgio.po @@ -0,0 +1,76 @@ +# translation of okular_kimgio.po to Hindi +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Ravishankar Shrivastava , 2007. +# Raghavendra Kamath , 2021. +msgid "" +msgstr "" +"Project-Id-Version: okular_kimgio\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2021-08-21 16:36+0530\n" +"Last-Translator: Raghavendra Kamath \n" +"Language-Team: kde-hindi\n" +"Language: hi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 21.08.0\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "रविशंकर श्रीवास्तव, जी. करूणाकर" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "raviratlami@aol.in," + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "दस्तावेज लोड करने में अक्षम:%1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" +"यह दस्तावेज़ विकृत प्रतीत होता है। दस्तावेज़ के इच्छित स्वरूप का सबसे अच्छा अनुमान यहां दिया " +"गया है।" + +#~ msgid "Image Backend" +#~ msgstr "इमेज बैकएण्ड" + +#~ msgid "A simple image backend" +#~ msgstr "एक सरल चित्र बैकएण्ड" + +#, fuzzy +#~| msgid "" +#~| "© 2005 Albert Astals Cid\n" +#~| "© 2006-2007 Pino Toscano\n" +#~| "© 2006-2007 Tobias Koenig" +#~ msgid "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" +#~ msgstr "" +#~ "© 2005 अलबर्ट एस्टल्स सिड\n" +#~ "© 2006-2007 पिनो टोस्कानो\n" +#~ "© 2006-2007 टॉबियस कोएनिग" + +#~ msgid "Albert Astals Cid" +#~ msgstr "अलबर्ट एस्टल्स सिड" + +#~ msgid "Pino Toscano" +#~ msgstr "पिनो टोसकानो" + +#~ msgid "Tobias Koenig" +#~ msgstr "टॉबियस कोएनिग" + +#~ msgid "Main Toolbar" +#~ msgstr "मुख्य औज़ार पट्टी" diff --git a/po/hi/okular_markdown.po b/po/hi/okular_markdown.po new file mode 100644 index 0000000..181e44c --- /dev/null +++ b/po/hi/okular_markdown.po @@ -0,0 +1,53 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Raghavendra Kamath , 2021. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2021-08-21 16:54+0530\n" +"Last-Translator: Raghavendra Kamath \n" +"Language-Team: kde-hindi\n" +"Language: hi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" +"X-Generator: Lokalize 21.08.0\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "राघवेंद्र कामत" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "raghu@raghukamath.com" + +#: converter.cpp:59 converter.cpp:93 +#, kde-format +msgid "Failed to open the document" +msgstr "दस्तावेज़ खोलने में असफल" + +#: converter.cpp:106 converter.cpp:124 +#, kde-format +msgid "Failed to compile the Markdown document." +msgstr "मार्कडाउन दस्तावेज़ को संकलित करने में विफल।" + +#: generator_md.cpp:58 +#, kde-format +msgid "Enable SmartyPants formatting" +msgstr "स्मार्टीपेन्ट्स प्रारूपण सक्षम करें" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown" +msgstr "मार्कडाउन" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown Backend Configuration" +msgstr "मार्कडाउन पृष्ठभाग विन्यास" diff --git a/po/hi/okular_mobi.po b/po/hi/okular_mobi.po new file mode 100644 index 0000000..e3ac0fd --- /dev/null +++ b/po/hi/okular_mobi.po @@ -0,0 +1,51 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Raghavendra Kamath , 2021. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2021-08-21 16:52+0530\n" +"Last-Translator: Raghavendra Kamath \n" +"Language-Team: kde-hindi\n" +"Language: hi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" +"X-Generator: Lokalize 21.08.0\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "राघवेंद्र कामत" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "raghu@raghukamath.com" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "मोबिपोकेट दस्तावेज़ खोलते समय त्रुटि।" + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "" +"यह पुस्तक डीआरएम द्वारा संरक्षित है और इसे केवल निर्दिष्ट डिवाइस पर प्रदर्शित किया जा " +"सकता है" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "मोबिपोकेट" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "मोबीपॉकेट पृष्ठभाग विन्यास" diff --git a/po/hi/okular_poppler.po b/po/hi/okular_poppler.po new file mode 100644 index 0000000..dc3409a --- /dev/null +++ b/po/hi/okular_poppler.po @@ -0,0 +1,400 @@ +# translation of okular_poppler.po to Hindi +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Ravishankar Shrivastava , 2007. +# Raghavendra Kamath , 2021, 2022. +msgid "" +msgstr "" +"Project-Id-Version: okular_poppler\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2022-02-26 11:47+0530\n" +"Last-Translator: Raghavendra Kamath \n" +"Language-Team: Hindi \n" +"Language: hi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 21.12.2\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "राघवेंद्र कामत" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "नहीं" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "तदनुकूल :" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "पीडीएफ़ विकल्प" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "रास्टराइजेशन बाध्य करें" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "छपाई से पहले छवि में रास्टराइज करें" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "" + +#: generator_pdf.cpp:1031 +#, fuzzy, kde-format +#| msgctxt "PDF v. " +#| msgid "PDF v. %1" +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "पीडीएफ सं. %1" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "फॉर्मेट" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "एनक्रिप्टेड" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "अनएनक्रिप्टेड" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "सुरक्षा" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "हाँ" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "ऑप्टीमाइज़्ड" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "" + +#: pdfsignatureutils.cpp:239 +#, fuzzy, kde-format +#| msgid "Document Password" +msgid "Enter Password" +msgstr "दस्तावेज़ पासवर्ड" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "" + +#~ msgid "Unknown" +#~ msgstr "अज्ञात" + +#~ msgid "Unknown Date" +#~ msgstr "अज्ञात तारीख़" + +#~ msgid "Unknown Encryption" +#~ msgstr "अज्ञात एनक्रिप्शन" + +#~ msgid "Unknown Optimization" +#~ msgstr "अज्ञात ऑप्टीमाइज़ेशन" + +#, fuzzy +#~| msgid "Please insert the password to read the document:" +#~ msgid "Please enter the password to read the document:" +#~ msgstr "दस्तावेज़ को पढ़ने के लिए कृपया पासवर्ड प्रविष्ट करें:" + +#~ msgid "Incorrect password. Try again:" +#~ msgstr "गलत पासवर्ड. कृपया पुनः कोशिश करें:" + +#~ msgid "Aspect ratio change" +#~ msgstr "आस्पेक्ट रेशो परिवर्तन" + +#~ msgid "Print with specified margins" +#~ msgstr "निर्दिष्ट हाशिया के साथ छापें" + +#~ msgid "Print adapting margins to keep aspect ratio" +#~ msgstr "ऑस्पेक्ट रेशो को बनाए रखते हुए हाशिया के साथ छापें" diff --git a/po/hi/okular_tiff.po b/po/hi/okular_tiff.po new file mode 100644 index 0000000..ff35c36 --- /dev/null +++ b/po/hi/okular_tiff.po @@ -0,0 +1,28 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Raghavendra Kamath , 2021. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2021-08-21 16:38+0530\n" +"Last-Translator: Raghavendra Kamath \n" +"Language-Team: kde-hindi\n" +"Language: hi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" +"X-Generator: Lokalize 21.08.0\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "राघवेंद्र कामत" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "raghu@raghukamath.com" diff --git a/po/hi/okular_txt.po b/po/hi/okular_txt.po new file mode 100644 index 0000000..cc7635c --- /dev/null +++ b/po/hi/okular_txt.po @@ -0,0 +1,38 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Raghavendra Kamath , 2021. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2021-08-21 16:46+0530\n" +"Last-Translator: Raghavendra Kamath \n" +"Language-Team: kde-hindi\n" +"Language: hi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" +"X-Generator: Lokalize 21.08.0\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "राघवेंद्र कामत" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "raghu@raghukamath.com" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "टीएकसटी" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "टीएकसटी पृष्ठभाग विन्यास" diff --git a/po/hi/okular_xps.po b/po/hi/okular_xps.po new file mode 100644 index 0000000..5345b1a --- /dev/null +++ b/po/hi/okular_xps.po @@ -0,0 +1,59 @@ +# translation of okular_xps.po to Hindi +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Ravishankar Shrivastava , 2007. +# Raghavendra Kamath , 2021. +msgid "" +msgstr "" +"Project-Id-Version: okular_xps\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2021-08-21 16:37+0530\n" +"Last-Translator: Raghavendra Kamath \n" +"Language-Team: kde-hindi\n" +"Language: hi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 21.08.0\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "रविशंकर श्रीवास्तव, जी. करूणाकर, राघवेंद्र कामत" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "raviratlami@aol.in, karunakar@indlinux.org, raghu@raghukamath.com" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "संशोधन" + +#~ msgid "XPS Backend" +#~ msgstr "एक्सपीएस बैकएण्ड" + +#~ msgid "An XPS backend" +#~ msgstr "एक एक्सपीएस बैकएण्ड" + +#, fuzzy +#~| msgid "" +#~| "© 2006-2007 Brad Hards\n" +#~| "© 2007 Jiri Klement" +#~ msgid "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" +#~ msgstr "" +#~ "© 2006-2007 ब्रैड हैर्ड्स\n" +#~ "© 2007 जिरि क्लीमेंट" + +#~ msgid "Brad Hards" +#~ msgstr "ब्रेड हार्ड्स" + +#~ msgid "Jiri Klement" +#~ msgstr "जिरि क्लीमेंट" diff --git a/po/hi/org.kde.active.documentviewer.po b/po/hi/org.kde.active.documentviewer.po new file mode 100644 index 0000000..4ae13f3 --- /dev/null +++ b/po/hi/org.kde.active.documentviewer.po @@ -0,0 +1,215 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Raghavendra Kamath , 2021. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2021-08-21 17:02+0530\n" +"Last-Translator: Raghavendra Kamath \n" +"Language-Team: kde-hindi\n" +"Language: hi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" +"X-Generator: Lokalize 21.08.0\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "पुस्तचिन्ह" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +msgid "Export…" +msgstr "" + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "" + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "ऑकुलर" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "" + +#: ui/Main.qml:49 +msgid "About" +msgstr "परिचय" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "पुस्तचिन्ह हटाएँ" + +#: ui/MainView.qml:29 +msgid "Bookmark this page" +msgstr "इस पृष्ठ को पुस्तचिन्हित करें" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "लघुछवियाँ" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "विषयसूची तालिका" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:96 +#, fuzzy +#| msgid "No document open" +msgid "Document Version" +msgstr "कोई दस्तावेज़ खुला नहीं" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:108 +msgid "Save Signed Version…" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +msgid "View Certificate…" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "" + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "कोई परिणाम नहीं मिला।" + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "कोई दस्तावेज़ खुला नहीं" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "" + +#: ui/WelcomeView.qml:108 +#, fuzzy +#| msgid "No document open" +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "कोई दस्तावेज़ खुला नहीं" + +#~ msgid "Open..." +#~ msgstr "खोलें..." + +#~ msgid "Search..." +#~ msgstr "खोजें..." diff --git a/po/hne/okular.po b/po/hne/okular.po new file mode 100644 index 0000000..146563f --- /dev/null +++ b/po/hne/okular.po @@ -0,0 +1,6846 @@ +# translation of okular.po to Hindi +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Ravishankar Shrivastava , 2007. +# Ravishankar Shrivastava , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-02-26 16:58+0530\n" +"Last-Translator: Ravishankar Shrivastava \n" +"Language-Team: Hindi \n" +"Language: hne\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" +"X-Generator: Lokalize 0.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "रविसंकर सिरीवास्तव, जी. करूनाकर" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "raviratlami@aol.in," + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "ओकुलर" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "ओकुलर, एक यूनिवर्सल कागद प्रदर्सक" + +#: aboutdata.h:23 +#, fuzzy, kde-format +#| msgid "" +#| "(C) 2002 Wilco Greven, Christophe Devriese\n" +#| "(C) 2004-2005 Enrico Ros\n" +#| "(C) 2005 Piotr Szymanski\n" +#| "(C) 2004-2008 Albert Astals Cid\n" +#| "(C) 2006-2008 Pino Toscano" +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"(C) 2002 विल्को ग्रेवेन, क्रिस्टोफ डेवराइस\n" +"(C) 2004-2005 अलबर्ट एस्टल्स सिड\n" +"(C) 2004-2005 एनरिको रोस\n" +"(C) 2005 पियोत्र स्जाइमंस्की\n" +"(C) 2006-2008 पिनो तोस्कानो" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "पिनो टोसकिसनो" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "पहिली के मेंटेनर" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "टाबियस कोएनिग" + +#: aboutdata.h:32 +#, fuzzy, kde-format +#| msgid "Lots of framework work, ODT and FictionBook backends" +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "बहुत से फ्रेमवर्क काम, ओडीटी अउ फिक्सनबुक बैकएन्ड" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "अलबर्ट एस्टल्स सिड" + +#: aboutdata.h:33 +#, fuzzy, kde-format +#| msgid "KPDF developer" +msgid "Developer" +msgstr "केपीडीएफ डेवलपर" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "पियोत्र स्जाइमंस्की" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "केपीडीएफ कोडबेस से ओकुलर बनाइस" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "एनरिको रास" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "केपीडीएफ डेवलपर" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "" + +#: aboutdata.h:36 +#, fuzzy, kde-format +#| msgid "Annotations author" +msgid "Annotations artwork" +msgstr "एन्नोटेसन लेखक" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "" + +#: aboutdata.h:37 +#, fuzzy, kde-format +#| msgid "&Text Selection Tool" +msgid "Table selection tool" +msgstr "पाठ चयन औजार (&T)" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "" + +#: aboutdata.h:38 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgid "Annotation improvements" +msgstr "एन्नोटेसन गुन" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "पेज %1 मं जाव" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "बाहिरी फाइल खोलव" + +#: core/action.cpp:197 +#, fuzzy, kde-format +#| msgid "Execute '%1'..." +msgid "Execute '%1'…" +msgstr "चलाव '%1'..." + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "पहिली पेज" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "पिछला पेज" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "अगला पेज" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "आखरी पेज" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "पीछू" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "आगू" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "बाहिर जाव" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "प्रस्तुतीकरन चालू करव" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "प्रस्तुतीकरन बन्द करव" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go To Page…" +msgstr "पेज मं जाव" + +#: core/action.cpp:365 +#, fuzzy, kde-format +#| msgid "Play sound..." +msgid "Play sound…" +msgstr "अवाज बजाव..." + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "जावा-स्क्रिप्ट स्क्रिप्ट" + +#: core/action.cpp:483 +#, fuzzy, kde-format +#| msgid "Play movie..." +msgid "Play movie…" +msgstr "चलचित्र देखाव..." + +#: core/action.cpp:554 +#, fuzzy, kde-format +#| msgid "Play movie..." +msgid "Play movie" +msgstr "चलचित्र देखाव..." + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "" + +#: core/action.cpp:558 +#, fuzzy, kde-format +#| msgid "Play movie..." +msgid "Pause movie" +msgstr "चलचित्र देखाव..." + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "बैकएन्ड चयन" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
%1 (%2).

Please select which one to use:
" +msgstr "" + +#: core/document.cpp:200 +#, fuzzy, kde-format +#| msgid "Go to page %1" +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "पेज %1 मं जाव" + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "" + +#: core/document.cpp:246 +#, fuzzy, kde-format +#| msgid "%1 x %2 in" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 x %2 इंच" + +#: core/document.cpp:248 +#, fuzzy, kde-format +#| msgid "%1 x %2 mm" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 x %2 मिमी" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "" + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "प्रस्तुतीकरन" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "माइमकिसिम %1 सहित फाइल ल खोले बर कोनो अनुपरयोग नइ मिलिस." + +#: core/document.cpp:4801 +#, fuzzy, kde-format +#| msgid "Could not open the temporary file for saving." +msgid "Could not open a temporary file" +msgstr "अस्थायी फाइल ल सहेजे बर खोल नइ सकिस." + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "" + +#: core/document.cpp:4813 +#, fuzzy, kde-format +#| msgid "Unable to find the Okular component." +msgid "Unable to find file to print" +msgstr "ओकुलर अवयव खोज पाय मं अक्छम." + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, fuzzy, kde-format +#| msgid "Could not open \"%1\" for writing. File was not saved." +msgid "Could not open '%1'. File does not exist" +msgstr "लिखे बर \"%1\" ल खोल नइ सकिस. फाइल सहेजे नइ गे हे." + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "सीर्सक" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "विसय" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "वर्नन" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "लेखक" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "बनइया" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "बनइया" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "कापीराइट" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "पेज" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "निर्मित" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "परिवर्धित" + +#: core/document.cpp:6032 +#, fuzzy, kde-format +#| msgid "Mime Type" +msgid "MIME Type" +msgstr "माइम किसिम" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "स्रेनी" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "की-वर्डस" + +#: core/document.cpp:6041 +#, fuzzy, kde-format +#| msgid "File" +msgid "File Path" +msgstr "फाइल" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "फाइल आकार" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "पेज आकार" + +#: core/documentcommands.cpp:62 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "एनोटेसन" + +#: core/documentcommands.cpp:108 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "प्रस्तुतीकरन" + +#: core/documentcommands.cpp:155 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "एन्नोटेसन गुन" + +#: core/documentcommands.cpp:190 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Text Annotation" +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "पाठ एन्नोटेसन" + +#: core/documentcommands.cpp:263 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "एनोटेसन" + +#: core/documentcommands.cpp:333 +#, fuzzy, kde-format +#| msgid "Select text" +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "पाठ चुनव" + +#: core/documentcommands.cpp:398 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "एन्नोटेसन गुन" + +#: core/documentcommands.cpp:447 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "एन्नोटेसन गुन" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "" + +#: core/generator.cpp:790 +#, fuzzy, kde-format +#| msgid "Plain &Text..." +msgid "Plain &Text…" +msgstr "सादा पाठ... (&T) " + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "पीडीएफ" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "ओपनडाकुमेंट पाठ" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "एचटीएमएल" + +#: core/printoptionswidget.cpp:19 +#, fuzzy, kde-format +#| msgid "Editor Options" +msgid "Print Options" +msgstr "संपादक विकल्प" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#: core/printoptionswidget.cpp:25 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgid "Scale mode:" +msgstr "रंग विधि:" + +#: core/script/js_app.cpp:206 +#, fuzzy, kde-format +#| msgid "Close this message" +msgid "Do not show this message again" +msgstr "ये संदेस ल बंद करव" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, fuzzy, kde-format +#| msgid "No description available." +msgid "Not Available" +msgstr "कोई वर्नन नइ मिलत." + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "" + +#: core/signatureutils.cpp:504 +#, fuzzy, kde-kuit-format +#| msgid "File not saved." +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "फाइल ल सहेजे नइ गिस." + +#: core/signatureutils.cpp:506 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown signing error" +msgstr "अग्यात फाइल" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "स्रोत: %1" + +#: core/textdocumentsettings.cpp:34 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgid "&Default Font:" +msgstr "डिफाल्ट ट्रांजीसन:" + +#: gui/certificatemodel.cpp:39 +#, fuzzy, kde-format +#| msgctxt "A document format, Okular-specific" +#| msgid "Document Archive" +msgid "Version" +msgstr "कागद आर्काइव" + +#: gui/certificatemodel.cpp:41 +#, fuzzy, kde-format +#| msgid "Page Size" +msgid "Serial Number" +msgstr "पेज आकार" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, fuzzy, kde-format +#| msgid "Expired" +msgid "Expires On" +msgstr "मियाद खतम" + +#: gui/certificatemodel.cpp:49 +#, fuzzy, kde-format +#| msgid "Subject" +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "विसय" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "" + +#: gui/certificatemodel.cpp:53 +#, fuzzy, kde-format +#| msgid "Memory Usage" +msgid "Key Usage" +msgstr "मेमोरी उपयोग" + +#: gui/certificatemodel.cpp:72 +#, fuzzy, kde-format +#| msgid "%1:" +msgid "V%1" +msgstr "%1:" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "" + +#: gui/certificatemodel.cpp:146 +#, fuzzy, kde-format +#| msgid "&Properties" +msgid "Property" +msgstr "गुन (&P)" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, fuzzy, kde-format +#| msgid "&Open Pop-up Note" +msgid "Pop-up Note" +msgstr "पाप अप नोट खोलव (&O)" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, fuzzy, kde-format +#| msgid "Overwrite" +msgid "Typewriter" +msgstr "मेटाय के लिखव" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "इनलाइन टिप्पनी" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +#| msgid "For Comment" +msgid "Arrow with Comment" +msgstr "टिप्पनियों बर" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "" + +#: gui/guiutils.cpp:59 +#, fuzzy, kde-format +#| msgid "Line Properties" +msgid "Straight Line with Comment" +msgstr "रेखा गुन" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, fuzzy, kde-format +#| msgid "Straight Yellow Line" +msgid "Straight Line" +msgstr "सीधा पीली लकीर" + +#: gui/guiutils.cpp:63 +#, fuzzy, kde-format +#| msgid "For Comment" +msgid "Polygon with Comment" +msgstr "टिप्पनियों बर" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, fuzzy, kde-format +#| msgid "Blue Polygon" +msgid "Polygon" +msgstr "नीला बहुभुज" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgid "Strike out" +msgid "Rectangle with Comment" +msgstr "लिखकर काटव" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "चतुर्भुज" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgid "Underline" +msgid "Ellipse with Comment" +msgstr "रेखांकित" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "दीर्घवृत्त" + +#: gui/guiutils.cpp:83 +#, fuzzy, kde-format +#| msgid "Highlight" +msgid "Highlight with Comment" +msgstr "चमकाव" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "चमकाव" + +#: gui/guiutils.cpp:87 +#, fuzzy, kde-format +#| msgid "Squiggly" +msgid "Squiggle with Comment" +msgstr "स्क्विग्ली" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, fuzzy, kde-format +#| msgid "Squiggly" +msgid "Squiggle" +msgstr "स्क्विग्ली" + +#: gui/guiutils.cpp:91 +#, fuzzy, kde-format +#| msgid "Underline" +msgid "Underline with Comment" +msgstr "रेखांकित" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "रेखांकित" + +#: gui/guiutils.cpp:95 +#, fuzzy, kde-format +#| msgid "Strike out" +msgid "Strike Out with Comment" +msgstr "लिखकर काटव" + +#: gui/guiutils.cpp:95 +#, fuzzy, kde-format +#| msgid "Strike out" +msgid "Strike Out" +msgstr "लिखकर काटव" + +#: gui/guiutils.cpp:102 +#, fuzzy, kde-format +#| msgid "Strike out" +msgid "Stamp with Comment" +msgstr "लिखकर काटव" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "स्टैम्प" + +#: gui/guiutils.cpp:106 +#, fuzzy, kde-format +#| msgid "Line Properties" +msgid "Freehand Line with Comment" +msgstr "रेखा गुन" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "केरट" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "फाइल संलग्नक" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "अवाज" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "सिनेमा" + +#: gui/guiutils.cpp:126 +#, fuzzy, kde-format +#| msgid "Screen:" +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "स्क्रीन:" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation" +msgstr "एनोटेसन" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "अग्यात" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "लेखक: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "%1 ल आप मन कहाँ सहेजना चाहथो ?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "लिखे बर \"%1\" ल खोल नइ सकिस. फाइल सहेजे नइ गे हे." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "" + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "" + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "" + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "" + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "" + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "" + +#: gui/signatureguiutils.cpp:60 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Certificate is Trusted." +msgstr "प्रदर्सक कान्फिगर करव..." + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "" + +#: gui/signatureguiutils.cpp:64 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Certificate issuer is unknown." +msgstr "प्रदर्सक कान्फिगर करव..." + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "" + +#: gui/signatureguiutils.cpp:68 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Certificate has Expired." +msgstr "प्रदर्सक कान्फिगर करव..." + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "" + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "" + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "" + +#: gui/signatureguiutils.cpp:96 +#, fuzzy, kde-format +#| msgid "Unknown font" +msgid "Unknown Algorithm" +msgstr "अग्यात फोंट" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown Type" +msgstr "अग्यात फाइल" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "" + +#: gui/signatureguiutils.cpp:135 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Sign Certificate" +msgstr "प्रदर्सक कान्फिगर करव..." + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr "" + +#: gui/signatureguiutils.cpp:165 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "The document has not been modified since it was signed." +msgstr "ये कागद ल छापना स्वीकार नइ हे." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "" + +#: gui/signatureguiutils.cpp:208 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "ये कागद ल छापना स्वीकार नइ हे." + +#: gui/signatureguiutils.cpp:211 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "This document is digitally signed." +msgstr "ये कागद ल छापना स्वीकार नइ हे." + +#: gui/signatureguiutils.cpp:213 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "ये कागद ल छापना स्वीकार नइ हे." + +#: gui/signatureguiutils.cpp:216 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "ये कागद ल छापना स्वीकार नइ हे." + +#: gui/signaturemodel.cpp:141 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "केरट गुन" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "" + +#: gui/signaturemodel.cpp:172 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgid "Reason: %1" +msgstr "पेज: %1" + +#: gui/signaturemodel.cpp:177 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Location: %1" +msgstr "एनोटेसन" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "" + +#: gui/signaturemodel.cpp:193 +#, fuzzy, kde-format +#| msgctxt "Unknown author" +#| msgid "Unknown" +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "अग्यात" + +#: gui/signaturemodel.cpp:195 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "केरट गुन" + +#: gui/signaturemodel.cpp:201 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgid "Signature Type: %1" +msgstr "केरट गुन" + +#: part/annotationactionhandler.cpp:148 +#, fuzzy, kde-format +#| msgid "Reloa&d" +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "फिर से लोड करव (&d)" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "" + +#: part/annotationactionhandler.cpp:150 +#, fuzzy, kde-format +#| msgid "Allow" +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "स्वीकारव" + +#: part/annotationactionhandler.cpp:151 +#, fuzzy, kde-format +#| msgid "Screen:" +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "स्क्रीन:" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "चौड़ाई जमाव" + +#: part/annotationactionhandler.cpp:252 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1:" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:308 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "एन्नोटेसन गुन" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "" + +#: part/annotationactionhandler.cpp:314 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "एनोटेसन" + +#: part/annotationactionhandler.cpp:316 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "एनोटेसन" + +#: part/annotationactionhandler.cpp:318 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "एनोटेसन" + +#: part/annotationactionhandler.cpp:322 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "एनोटेसन" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "" + +#: part/annotationactionhandler.cpp:328 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "एनोटेसन" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" + +#: part/annotationactionhandler.cpp:341 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "एन्नोटेसन गुन" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "" + +#: part/annotationactionhandler.cpp:432 +#, fuzzy, kde-format +#| msgid "&Color:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "रंग: (&C)" + +#: part/annotationactionhandler.cpp:434 +#, fuzzy, kde-format +#| msgid "&Color:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "रंग: (&C)" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "" + +#: part/annotationactionhandler.cpp:499 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgctxt "@title:window" +msgid "Select color" +msgstr "चयन औजार (&S)" + +#: part/annotationactionhandler.cpp:552 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "&Annotations" +msgstr "एनोटेसन" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "" + +#: part/annotationactionhandler.cpp:554 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "प्रस्तुतीकरन" + +#: part/annotationactionhandler.cpp:557 +#, fuzzy, kde-format +#| msgid "Highlight" +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "चमकाव" + +#: part/annotationactionhandler.cpp:558 +#, fuzzy, kde-format +#| msgid "Underline" +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "रेखांकित" + +#: part/annotationactionhandler.cpp:559 +#, fuzzy, kde-format +#| msgid "Squiggly" +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "स्क्विग्ली" + +#: part/annotationactionhandler.cpp:560 +#, fuzzy, kde-format +#| msgid "Strike out" +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "लिखकर काटव" + +#: part/annotationactionhandler.cpp:562 +#, fuzzy, kde-format +#| msgid "Overwrite" +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "मेटाय के लिखव" + +#: part/annotationactionhandler.cpp:563 +#, fuzzy, kde-format +#| msgid "Inline Note" +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "इनलाइन टिप्पनी" + +#: part/annotationactionhandler.cpp:564 +#, fuzzy, kde-format +#| msgid "&Open Pop-up Note" +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "पाप अप नोट खोलव (&O)" + +#: part/annotationactionhandler.cpp:565 +#, fuzzy, kde-format +#| msgid "Line Properties" +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "रेखा गुन" + +#: part/annotationactionhandler.cpp:567 +#, fuzzy, kde-format +#| msgid "Straight Yellow Line" +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "सीधा पीली लकीर" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "" + +#: part/annotationactionhandler.cpp:569 +#, fuzzy, kde-format +#| msgid "Rectangle" +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "चतुर्भुज" + +#: part/annotationactionhandler.cpp:570 +#, fuzzy, kde-format +#| msgid "Ellipse" +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "दीर्घवृत्त" + +#: part/annotationactionhandler.cpp:571 +#, fuzzy, kde-format +#| msgid "Blue Polygon" +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "नीला बहुभुज" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "" + +#: part/annotationactionhandler.cpp:618 +#, fuzzy, kde-format +#| msgid "Stamp" +msgctxt "@action" +msgid "Stamp" +msgstr "स्टैम्प" + +#: part/annotationactionhandler.cpp:638 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "एनोटेसन" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "" + +#: part/annotationactionhandler.cpp:651 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Quick Annotation Bar" +msgstr "एनोटेसन" + +#: part/annotationactionhandler.cpp:665 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "एनोटेसन" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "" + +#: part/annotationactionhandler.cpp:669 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "प्रस्तुतीकरन" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "" + +#: part/annotationactionhandler.cpp:680 +#, fuzzy, kde-format +#| msgid "Font:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "फोंटः" + +#: part/annotationactionhandler.cpp:681 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "एन्नोटेसन गुन" + +#: part/annotationactionhandler.cpp:684 +#, fuzzy, kde-format +#| msgid "Line" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "पंक्ति" + +#: part/annotationactionhandler.cpp:693 +#, fuzzy, kde-format +#| msgid "&Opacity:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "अपारदर्सिता: (&O)" + +#: part/annotationactionhandler.cpp:696 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1:" + +#: part/annotationmodel.cpp:320 +#, fuzzy, kde-format +#| msgid "Page %1" +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "पेज %1" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "पेज %1" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "एनोटेसन" +msgstr[1] "%1 एनोटेसन" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "पाप अप नोट खोलव (&O)" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr " निसानी मेटाव" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "पसंद जोड़व" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Text to Clipboard" +msgstr "क्लिपबोर्ड मं नकल बनाव" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "डीआरएम से नकल करे जाना प्रतिबंधित हे" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "मेटाव (&D)" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "गुन (&P)" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, fuzzy, kde-format +#| msgctxt "%1 is the name of the file to save" +#| msgid "&Save '%1'..." +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "सहेजव '%1'...(&S)" + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "सक्ल-सूरत (&A)" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "सामान्य (&G)" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "लेखकः (&A)" + +#: part/annotationpropertiesdialog.cpp:69 +#, fuzzy, kde-format +#| msgid "Created" +msgid "Created:" +msgstr "निर्मित" + +#: part/annotationpropertiesdialog.cpp:74 +#, fuzzy, kde-format +#| msgid "Modified" +msgid "Modified:" +msgstr "परिवर्धित" + +#: part/annotationpropertiesdialog.cpp:108 +#, fuzzy, kde-format +#| msgid "Note Properties" +msgid "Pop-up Note Properties" +msgstr "नोट गुन" + +#: part/annotationpropertiesdialog.cpp:111 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgid "Typewriter Properties" +msgstr "केरट गुन" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "इनलाइन नोट गुन" + +#: part/annotationpropertiesdialog.cpp:119 +#, fuzzy, kde-format +#| msgid "Line Properties" +msgid "Straight Line Properties" +msgstr "रेखा गुन" + +#: part/annotationpropertiesdialog.cpp:121 +#, fuzzy, kde-format +#| msgid "Sound Properties" +msgid "Polygon Properties" +msgstr "अवाज गुन" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "ज्यामितीय गुन" + +#: part/annotationpropertiesdialog.cpp:128 +#, fuzzy, kde-format +#| msgid "Stamp Properties" +msgid "Text Markup Properties" +msgstr "स्टैम्प गुन" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "स्टैम्प गुन" + +#: part/annotationpropertiesdialog.cpp:134 +#, fuzzy, kde-format +#| msgid "Line Properties" +msgid "Freehand Line Properties" +msgstr "रेखा गुन" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "केरट गुन" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "फाइल अटेचमेंट गुन" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "अवाज गुन" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "सिनेमा गुन" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "एन्नोटेसन गुन" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Put a stamp symbol" +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "स्टैम्प चिनहा लगाव" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "रंग: (&C)" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%1:" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "अपारदर्सिता: (&O)" + +#: part/annotationwidgets.cpp:363 +#, fuzzy, kde-format +#| msgid "Icon" +msgid "Icon:" +msgstr "चिनहा" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "टिप्पनी" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "मदद" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "प्रविस्ट" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "कुंजी" + +#: part/annotationwidgets.cpp:368 +#, fuzzy, kde-format +#| msgid "New Paragraph" +msgid "New paragraph" +msgstr "नवा पैराग्राफ" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "टिप्पनी" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "पैराग्राफ" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "फोंटः" + +#: part/annotationwidgets.cpp:387 +#, fuzzy, kde-format +#| msgid "&Color:" +msgid "Text &color:" +msgstr "रंग: (&C)" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "" + +#: part/annotationwidgets.cpp:395 +#, fuzzy, kde-format +#| msgctxt "Rotate left" +#| msgid "Left" +msgid "Left" +msgstr "डेरी" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "" + +#: part/annotationwidgets.cpp:397 +#, fuzzy, kde-format +#| msgctxt "Rotate right" +#| msgid "Right" +msgid "Right" +msgstr "जेवनी" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "स्वीकृत" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "जैसा हे" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "गोपनीय" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "विभागीय" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "ड्राफ्ट" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "परीक्छनाधीन" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "मियाद खतम" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "आखरी" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "टिप्पनियों बर" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "सार्वजनिक जारी करे बर" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "स्वीकृत नइ" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "सार्वजनिक जारी करे बर नइ" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "बिक गिस" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "बहुत गुप्त" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr " निसानी " + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "जानकारी" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "केडीई" + +#: part/annotationwidgets.cpp:451 +#, fuzzy, kde-format +#| msgid "Stamp Symbol" +msgid "Stamp symbol:" +msgstr "स्टैम्प चिनहा" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgid "&Width:" +msgstr "चौड़ाई जमाव" + +#: part/annotationwidgets.cpp:504 +#, fuzzy, kde-format +#| msgid "Line" +msgid "Line start:" +msgstr "पंक्ति" + +#: part/annotationwidgets.cpp:506 +#, fuzzy, kde-format +#| msgid "Line" +msgid "Line end:" +msgstr "पंक्ति" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:514 +#, fuzzy, kde-format +#| msgctxt "Symbol for caret annotations" +#| msgid "None" +msgid "None" +msgstr "कुछ नइ" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "" + +#: part/annotationwidgets.cpp:531 +#, fuzzy, kde-format +#| msgid "Leader Line Length:" +msgid "Leader line length:" +msgstr "लीडर लाइन लंबाई:" + +#: part/annotationwidgets.cpp:533 +#, fuzzy, kde-format +#| msgid "Leader Line Extensions Length:" +msgid "Leader line extensions length:" +msgstr "लीडर लाइन एक्सटेंसन लंबाई:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Shape fill:" +msgstr "फाइल मं सहेजव..." + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "किसिमः" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "लिखकर काटव" + +#: part/annotationwidgets.cpp:745 +#, fuzzy, kde-format +#| msgid "File Attachment Symbol" +msgid "File attachment symbol:" +msgstr "फाइल संलग्नक चिनहा" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "ग्राफ " + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "पुस पिन" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "आलपिन" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "टैग" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "फाइल" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "लागू नइ" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "कोई वर्नन नइ मिलत." + +#: part/annotationwidgets.cpp:773 +#, fuzzy, kde-format +#| msgid "Name" +msgid "Name:" +msgstr "नाम" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "वर्नन:" + +#: part/annotationwidgets.cpp:843 +#, fuzzy, kde-format +#| msgid "Caret Symbol" +msgid "Caret symbol:" +msgstr "कैरट चिनहा" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "कुछ नइ" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "पी" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "ये नोट ल बंद करव" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "विकल्प" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "" + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "" + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "" + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "" + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"%2 निसानी" +msgstr[1] "" +"%1\n" +"\n" +"%2 निसानी" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr " निसानी " + +#: part/bookmarklist.cpp:136 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Show for all documents" +msgstr "कागद ल रीलोड करत हे..." + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, fuzzy, kde-format +#| msgid "S&earch:" +msgid "Search…" +msgstr "खोजव: (&e)" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, kde-format +msgid "Expand All" +msgstr "" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, kde-format +msgid "Collapse All" +msgstr "" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "ये निसानी मं जाव" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "निसानी ल नवा नाम देव" + +#: part/bookmarklist.cpp:299 +#, fuzzy, kde-format +#| msgid "Open Document" +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "कागद खोलव" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "" + +#: part/certificateviewer.cpp:47 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Certificate Viewer" +msgstr "प्रदर्सक कान्फिगर करव..." + +#: part/certificateviewer.cpp:50 +#, fuzzy, kde-format +#| msgid "E&xport As" +msgid "Export…" +msgstr "ये रूप मं निर्यात करव (&x)" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "सामान्य" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "" + +#: part/certificateviewer.cpp:159 +#, fuzzy, kde-format +#| msgid "Where do you want to save %1?" +msgid "Where do you want to save this certificate?" +msgstr "%1 ल आप मन कहाँ सहेजना चाहथो ?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "" + +#: part/colormodemenu.cpp:19 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "रंग विधि:" + +#: part/colormodemenu.cpp:21 +#, fuzzy, kde-format +#| msgid "Change &colors" +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "रंग बदलव (&c)" + +#: part/colormodemenu.cpp:29 +#, fuzzy, kde-format +#| msgid "Normal Icons" +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "सामान्य चिनहा" + +#: part/colormodemenu.cpp:41 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "रंग उलटव" + +#: part/colormodemenu.cpp:42 +#, fuzzy, kde-format +#| msgid "Change Paper Color" +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "कागज के रंग बदलव" + +#: part/colormodemenu.cpp:44 +#, fuzzy, kde-format +#| msgid "Change Dark & Light Colors" +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "गहरा अउ हल्का रंग बदलव" + +#: part/colormodemenu.cpp:46 +#, fuzzy, kde-format +#| msgid "Convert to Black & White" +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "काला सफेद मं बदलव" + +#: part/colormodemenu.cpp:49 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "रंग उलटव" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, fuzzy, kde-format +#| msgid "Reloa&d" +msgid "Red" +msgstr "फिर से लोड करव (&d)" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, fuzzy, kde-format +#| msgid "Screen:" +msgid "Green" +msgstr "स्क्रीन:" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, fuzzy, kde-format +#| msgid "Allow" +msgid "Yellow" +msgstr "स्वीकारव" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "पीला चमकइया" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "हरियर चमकइया" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, fuzzy, kde-format +#| msgid "Insert" +msgid "Insert Text" +msgstr "प्रविस्ट" + +#: part/dlgaccessibility.cpp:38 +#, fuzzy, kde-format +#| msgid "Draw border around &Links" +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "संकली के चारों तरफ किनारा बनाव (&L)" + +#: part/dlgaccessibility.cpp:48 +#, fuzzy, kde-format +#| msgid "Change &colors" +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "रंग बदलव (&c)" + +#: part/dlgaccessibility.cpp:54 +#, fuzzy, kde-format +#| msgid "Warning: these options can badly affect drawing speed." +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "चेतावनी: ये विकल्प ड्राइंग के गति ल बुरी जइसन प्रभावित करही." + +#: part/dlgaccessibility.cpp:60 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "रंग उलटव" + +#: part/dlgaccessibility.cpp:61 +#, fuzzy, kde-format +#| msgid "Change Paper Color" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "कागज के रंग बदलव" + +#: part/dlgaccessibility.cpp:62 +#, fuzzy, kde-format +#| msgid "Change Dark & Light Colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "गहरा अउ हल्का रंग बदलव" + +#: part/dlgaccessibility.cpp:63 +#, fuzzy, kde-format +#| msgid "Convert to Black & White" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "काला सफेद मं बदलव" + +#: part/dlgaccessibility.cpp:64 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "रंग उलटव" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "" + +#: part/dlgaccessibility.cpp:70 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "रंग विधि:" + +#: part/dlgaccessibility.cpp:87 +#, fuzzy, kde-format +#| msgid "Paper color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "कागज रंग:" + +#: part/dlgaccessibility.cpp:99 +#, fuzzy, kde-format +#| msgid "Dark color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "गहरा रंग:" + +#: part/dlgaccessibility.cpp:104 +#, fuzzy, kde-format +#| msgid "Light color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "हल्का रंग:" + +#: part/dlgaccessibility.cpp:119 +#, fuzzy, kde-format +#| msgid "Threshold:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "देहलीज:" + +#: part/dlgaccessibility.cpp:127 +#, fuzzy, kde-format +#| msgid "Contrast:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "कंट्रास्टः" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "" + +#: part/dlgaccessibility.cpp:165 +#, fuzzy, kde-format +#| msgid "Text to search for" +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "खोजइया पाठ" + +#: part/dlgannotations.cpp:25 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "एनोटेसन" + +#: part/dlgannotations.cpp:26 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "एनोटेसन" + +#: part/dlgannotations.cpp:28 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "एनोटेसन" + +#: part/dlgannotations.cpp:34 +#, fuzzy, kde-format +#| msgid "&Author:" +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "लेखकः (&A)" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" + +#: part/dlgannotations.cpp:48 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

Quick Annotation Tools

" +msgstr "एन्नोटेसन गुन" + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" + +#: part/dlgeditor.cpp:29 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Custom Text Editor" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "मनमाफिक पाठ संपादक" + +#: part/dlgeditor.cpp:30 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Kate" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "के-एटीई" + +#: part/dlgeditor.cpp:31 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Kile" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "काइल" + +#: part/dlgeditor.cpp:32 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "SciTE" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "साईटीई" + +#: part/dlgeditor.cpp:33 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Emacs client" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "ईमेक्स क्लायंट" + +#: part/dlgeditor.cpp:34 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Emacs client" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "ईमेक्स क्लायंट" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "" + +#: part/dlgeditor.cpp:37 +#, fuzzy, kde-format +#| msgid "Editor:" +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "संपादक: (&E)" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
\n" +"You can also put few placeholders:\n" +"
    \n" +"
  • %f - the file name
  • \n" +"
  • %l - the line of the file to be reached
  • \n" +"
  • %c - the column of the file to be reached
  • \n" +"
\n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" + +#: part/dlgeditor.cpp:63 +#, fuzzy, kde-format +#| msgid "Command:" +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "कमांड:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "" + +#: part/dlggeneral.cpp:37 +#, fuzzy, kde-format +#| msgid "Appearance" +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "रूप" + +#: part/dlggeneral.cpp:41 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "स्क्राल पट्टी मन देखाव (&b)" + +#: part/dlggeneral.cpp:48 +#, fuzzy, kde-format +#| msgid "Link the &thumbnails with the page" +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "छोटेफोटू मन ल पेज से संकली करव (&t)" + +#: part/dlggeneral.cpp:55 +#, fuzzy, kde-format +#| msgid "Show &hints and info messages" +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "संकेत अउ जानकारी संदेस देखाव (&h)" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "" + +#: part/dlggeneral.cpp:92 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "पिछोत अंगना के रंगः" + +#: part/dlggeneral.cpp:114 +#, fuzzy, kde-format +#| msgid "Program Features" +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "प्रोग्राम विसेसता" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "" + +#: part/dlggeneral.cpp:139 +#, fuzzy, kde-format +#| msgid "&Obey DRM limitations" +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "डीआरएम सीमा मानें (&O)" + +#: part/dlggeneral.cpp:148 +#, fuzzy, kde-format +#| msgid "&Reload document on file change" +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "फाइल बदले मं कागद ल फिर से लोड करव (&R)" + +#: part/dlggeneral.cpp:155 +#, fuzzy, kde-format +#| msgid "Show backend selection dialog" +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "बैकएन्ड चयन गोठ देखाव" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, fuzzy, kde-format +#| msgid "Overview columns:" +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "ओवरव्यू खंभा:" + +#: part/dlggeneral.cpp:220 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%1:" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "" + +#: part/dlggeneral.cpp:228 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%1:" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "" + +#: part/dlggeneral.cpp:233 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "चौड़ाई जमाव" + +#: part/dlggeneral.cpp:234 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "पेज मं जमाव" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" + +#: part/dlggeneral.cpp:241 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "डिफाल्ट ट्रांजीसन:" + +#: part/dlgperformance.cpp:26 +#, fuzzy, kde-format +#| msgid "Enable &transparency effects" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "पारदर्सिता प्रभाव ल सक्छम करव (t)" + +#: part/dlgperformance.cpp:28 +#, fuzzy, kde-format +#| msgid "CPU Usage" +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "सीपीयू उपयोग" + +#: part/dlgperformance.cpp:35 +#, fuzzy, kde-format +#| msgid "&Low" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "कम (&L)" + +#: part/dlgperformance.cpp:36 +#, fuzzy, kde-format +#| msgid "&Normal (default)" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "सामान्य (डिफाल्ट) (&N)" + +#: part/dlgperformance.cpp:37 +#, fuzzy, kde-format +#| msgid "&Aggressive" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "आक्रामक (&A)" + +#: part/dlgperformance.cpp:38 +#, fuzzy, kde-format +#| msgid "Screen:" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "स्क्रीन:" + +#: part/dlgperformance.cpp:40 +#, fuzzy, kde-format +#| msgid "Memory Usage" +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "मेमोरी उपयोग" + +#: part/dlgperformance.cpp:54 +#, fuzzy, kde-format +#| msgid "Enable transitions" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "ट्रांजीसन सक्छम करव" + +#: part/dlgperformance.cpp:56 +#, fuzzy, kde-format +#| msgid "Underline" +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "रेखांकित" + +#: part/dlgperformance.cpp:59 +#, fuzzy, kde-format +#| msgid "Enable transitions" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "ट्रांजीसन सक्छम करव" + +#: part/dlgperformance.cpp:64 +#, fuzzy, kde-format +#| msgid "Enable transitions" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "ट्रांजीसन सक्छम करव" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"परयोग के मेमोरी ल सबसे कम बनाए रखथे . फिर से उपयोग कुछ नइ करव (कम मेमोरी सहित सिसटम " +"बर)" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" + +#: part/dlgperformance.cpp:83 +#, fuzzy, kde-format +#| msgid "" +#| "Keeps used memory as low as possible. Do not reuse anything. (For systems " +#| "with low memory.)" +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"परयोग के मेमोरी ल सबसे कम बनाए रखथे . फिर से उपयोग कुछ नइ करव (कम मेमोरी सहित सिसटम " +"बर)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" + +#: part/dlgpresentation.cpp:38 +#, fuzzy, kde-format +#| msgid " sec." +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] " सेक." +msgstr[1] " सेक." + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "" + +#: part/dlgpresentation.cpp:53 +#, fuzzy, kde-format +#| msgid "Loop after last page" +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "आखरी पेज के बाद लूप करव" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "" + +#: part/dlgpresentation.cpp:63 +#, fuzzy, kde-format +#| msgid "Navigation" +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "नेविगेसन" + +#: part/dlgpresentation.cpp:72 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "पिछोत अंगना के रंगः" + +#: part/dlgpresentation.cpp:76 +#, fuzzy, kde-format +#| msgid "Hidden After Delay" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "थोड़ी देरी के बाद छिपें" + +#: part/dlgpresentation.cpp:77 +#, fuzzy, kde-format +#| msgid "Always Visible" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "हमेसा दिखत" + +#: part/dlgpresentation.cpp:78 +#, fuzzy, kde-format +#| msgid "Always Hidden" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "हमेसा छिपे रहें" + +#: part/dlgpresentation.cpp:80 +#, fuzzy, kde-format +#| msgid "Mouse cursor:" +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "मुसुवा संकेतक:" + +#: part/dlgpresentation.cpp:84 +#, fuzzy, kde-format +#| msgid "Show &progress indicator" +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "प्रगति सूचक दिखाव (&p)" + +#: part/dlgpresentation.cpp:90 +#, fuzzy, kde-format +#| msgid "Show s&ummary page" +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "सारांस पेज देखाव (&u)" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "" + +#: part/dlgpresentation.cpp:101 +#, fuzzy, kde-format +#| msgid "Replace" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "बदलव" + +#: part/dlgpresentation.cpp:102 +#, fuzzy, kde-format +#| msgid "Random Transition" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "रेंडम ट्रांजीसन" + +#: part/dlgpresentation.cpp:103 +#, fuzzy, kde-format +#| msgid "Blinds Vertical" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "खड़े मं ब्लाइंड्स" + +#: part/dlgpresentation.cpp:104 +#, fuzzy, kde-format +#| msgid "Blinds Horizontal" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "आड़े मं ब्लाइंड्स" + +#: part/dlgpresentation.cpp:105 +#, fuzzy, kde-format +#| msgid "Box In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "बाक्स इन" + +#: part/dlgpresentation.cpp:106 +#, fuzzy, kde-format +#| msgid "Box Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "बाक्स आउट" + +#: part/dlgpresentation.cpp:107 +#, fuzzy, kde-format +#| msgid "Dissolve" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "डिजाल्व" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "" + +#: part/dlgpresentation.cpp:109 +#, fuzzy, kde-format +#| msgid "Glitter Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "ग्लिटर नीचे" + +#: part/dlgpresentation.cpp:110 +#, fuzzy, kde-format +#| msgid "Glitter Right" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "ग्लिटर जेवनी" + +#: part/dlgpresentation.cpp:111 +#, fuzzy, kde-format +#| msgid "Glitter Right-Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "ग्लिटर नीचे, जेवनी" + +#: part/dlgpresentation.cpp:112 +#, fuzzy, kde-format +#| msgid "Split Horizontal In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "आड़े मं भीतरी तरफ विभाजित करव" + +#: part/dlgpresentation.cpp:113 +#, fuzzy, kde-format +#| msgid "Split Horizontal Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "आड़े मं बाहिरी तरफ विभाजित करव" + +#: part/dlgpresentation.cpp:114 +#, fuzzy, kde-format +#| msgid "Split Vertical In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "खड़े मं भीतरी तरफ विभाजित करव" + +#: part/dlgpresentation.cpp:115 +#, fuzzy, kde-format +#| msgid "Split Vertical Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "खड़े मं बाहिरी तरफ विभाजित करव" + +#: part/dlgpresentation.cpp:116 +#, fuzzy, kde-format +#| msgid "Wipe Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "नीचे के तरफ से मेटाव" + +#: part/dlgpresentation.cpp:117 +#, fuzzy, kde-format +#| msgid "Wipe Right" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "दायीं तरफ से मेटाव" + +#: part/dlgpresentation.cpp:118 +#, fuzzy, kde-format +#| msgid "Wipe Left" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "बायीं तरफ से मेटाव" + +#: part/dlgpresentation.cpp:119 +#, fuzzy, kde-format +#| msgid "Wipe Up" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "ऊपर के तरफ मेटाव" + +#: part/dlgpresentation.cpp:121 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "डिफाल्ट ट्रांजीसन:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "" + +#: part/dlgpresentation.cpp:137 +#, fuzzy, kde-format +#| msgid "Drawing" +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

Drawing Tools

" +msgstr "ड्राइंग" + +#: part/dlgpresentation.cpp:171 +#, fuzzy, kde-format +#| msgctxt "@label:listbox The current screen, for the presentation mode" +#| msgid "Current Screen" +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "अभी हाल के स्क्रीन" + +#: part/dlgpresentation.cpp:172 +#, fuzzy, kde-format +#| msgctxt "@label:listbox The default screen for the presentation mode" +#| msgid "Default Screen" +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "डिफाल्ट स्क्रीन" + +#: part/dlgpresentation.cpp:178 +#, fuzzy, kde-format +#| msgctxt "@label:listbox %1 is the screen number (0, 1, ...)" +#| msgid "Screen %1" +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "स्क्रीन %1" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "" + +#: part/drawingtoolactions.cpp:192 +#, fuzzy, kde-format +#| msgid "Drawing" +msgid "Drawing Tool: %1" +msgstr "ड्राइंग" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, fuzzy, kde-format +#| msgid "Erase Drawings" +msgid "Eraser" +msgstr "ड्राइंग मेटाव" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, fuzzy, kde-format +#| msgid "Name" +msgid "&Name:" +msgstr "नाम" + +#: part/editannottooldialog.cpp:69 +#, fuzzy, kde-format +#| msgid "Type:" +msgid "&Type:" +msgstr "किसिमः" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "रूप" + +#: part/editannottooldialog.cpp:93 +#, fuzzy, kde-format +#| msgid "Next Bookmark" +msgid "Text markup" +msgstr "अगला निसानी " + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "" + +#: part/editannottooldialog.cpp:101 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Create annotation tool" +msgstr "प्रस्तुतीकरन" + +#: part/editannottooldialog.cpp:103 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgid "Edit annotation tool" +msgstr "एन्नोटेसन गुन" + +#: part/editdrawingtooldialog.cpp:51 +#, fuzzy, kde-format +#| msgid "&Color:" +msgid "Color:" +msgstr "रंग: (&C)" + +#: part/editdrawingtooldialog.cpp:58 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgid "&Pen Width:" +msgstr "चौड़ाई जमाव" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "" + +#: part/editdrawingtooldialog.cpp:79 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Create drawing tool" +msgstr "प्रस्तुतीकरन" + +#: part/editdrawingtooldialog.cpp:84 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgid "Edit drawing tool" +msgstr "एन्नोटेसन गुन" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "अग्यात" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "भीतर मं बने फाइल" + +#: part/embeddedfilesdialog.cpp:62 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:button" +msgid "View" +msgstr "देखव (&V)" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "नाम" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "वर्नन" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "आकार" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "बनिस" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "सुधरिस" + +#: part/embeddedfilesdialog.cpp:154 +#, fuzzy, kde-format +#| msgctxt "@action:inmenu" +#| msgid "&Save As..." +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "अइसन सहेजव... (&S)" + +#: part/embeddedfilesdialog.cpp:155 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "देखव (&V)" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "छपाई प्रिव्यू हिस्सा लोड नइ कर सकिस" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "छपाई नमूना" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "बंद करव" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "खोजव: (&i)" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "खोजइया पाठ" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "अगला" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "अगले मेल-खाते पाठ मं जाव" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "पिछला" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "पिछला मेल-खाते मं जाव" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "खोज बर्ताव सुधारव" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "केस सेंसिटिव" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "मौजूदा पेज से" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "" + +#: part/formwidgets.cpp:870 +#, fuzzy, kde-format +#| msgid "*|All Files" +msgid "All Files (*)" +msgstr "*|सब्बो फाइल" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgid "Signature Properties" +msgstr "केरट गुन" + +#: part/ktreeviewsearchline.cpp:283 +#, fuzzy, kde-format +#| msgid "Search Columns" +msgid "Search Options" +msgstr "खोज खंभा" + +#: part/ktreeviewsearchline.cpp:284 +#, fuzzy, kde-format +#| msgid "Case Sensitive" +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "केस सेंसिटिव" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "का" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "जूम" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "" + +#: part/pageview.cpp:530 +#, fuzzy, kde-format +#| msgid "Rotate Right" +msgid "Rotate &Right" +msgstr "जेवनी मुड़ें" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "जेवनी" + +#: part/pageview.cpp:535 +#, fuzzy, kde-format +#| msgid "Rotate Left" +msgid "Rotate &Left" +msgstr "डेरी मुड़ें" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "डेरी" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "मूल दिसा" + +#: part/pageview.cpp:546 +#, fuzzy, kde-format +#| msgid "&View" +msgid "&Trim View" +msgstr "देखव (&V)" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "हासिया कम करव (&T)" + +#: part/pageview.cpp:557 +#, fuzzy, kde-format +#| msgctxt "Text Selection Tool" +#| msgid "Text Selection" +msgid "Trim To &Selection" +msgstr "पाठ चयन" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "चौड़ाई मं जमाव (&W)" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "पेज मं जमाव (&P)" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "" + +#: part/pageview.cpp:575 +#, fuzzy, kde-format +#| msgid "Fit &Page" +msgid "Fit Wi&ndow to Page" +msgstr "पेज मं जमाव (&P)" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "दृस्य मोड (&V)" + +#: part/pageview.cpp:594 +#, fuzzy, kde-format +#| msgid "Single Page" +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "एकल पेज" + +#: part/pageview.cpp:595 +#, fuzzy, kde-format +#| msgid "Facing Pages" +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "आमने सामने के पेज" + +#: part/pageview.cpp:596 +#, fuzzy, kde-format +#| msgid "Center &first page" +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "पहिली पेज बीचोंबीच करव (&f)" + +#: part/pageview.cpp:599 +#, fuzzy, kde-format +#| msgid "Overview" +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "ओवरव्यू" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "लगातार (&C)" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "" + +#: part/pageview.cpp:627 +#, fuzzy, kde-format +#| msgctxt "Browse Tool" +#| msgid "Browse" +msgid "&Browse" +msgstr "ब्राउज" + +#: part/pageview.cpp:635 +#, fuzzy, kde-format +#| msgid "Zoom" +msgid "&Zoom" +msgstr "जूम" + +#: part/pageview.cpp:655 +#, fuzzy, kde-format +#| msgctxt "Text Selection Tool" +#| msgid "Text Selection" +msgid "Area &Selection" +msgstr "पाठ चयन" + +#: part/pageview.cpp:662 +#, fuzzy, kde-format +#| msgctxt "Text Selection Tool" +#| msgid "Text Selection" +msgid "&Text Selection" +msgstr "पाठ चयन" + +#: part/pageview.cpp:669 +#, fuzzy, kde-format +#| msgctxt "Text Selection Tool" +#| msgid "Text Selection" +msgid "T&able Selection" +msgstr "पाठ चयन" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "" + +#: part/pageview.cpp:685 +#, fuzzy, kde-format +#| msgid "Selection Tools" +msgctxt "@action" +msgid "Selection Tools" +msgstr "चयन औजार" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "पूरा कागद बजाव" + +#: part/pageview.cpp:722 +#, fuzzy, kde-format +#| msgid "Speak Current Page" +msgid "Speak From Current Page" +msgstr "मौजूदा पेज ल बोलव" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "मौजूदा पेज ल बोलव" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "बोलना बंद करव" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "ऊपर स्क्राल करव" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "नीचे स्क्राल करव" + +#: part/pageview.cpp:761 +#, fuzzy, kde-format +#| msgid "Scroll Up" +msgid "Scroll Page Up" +msgstr "ऊपर स्क्राल करव" + +#: part/pageview.cpp:767 +#, fuzzy, kde-format +#| msgid "Scroll Down" +msgid "Scroll Page Down" +msgstr "नीचे स्क्राल करव" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "फारम देखाव" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] "%1 पेज के कागद लोड करिस." +msgstr[1] "%1 पेज के कागद लोड करिस." + +#: part/pageview.cpp:2526 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Table Contents to Clipboard" +msgstr "क्लिपबोर्ड मं नकल बनाव" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "पाठ (%1 अक्छर)" +msgstr[1] "पाठ (%1 अक्छर)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "क्लिपबोर्ड मं नकल बनाव" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "पाठ बोलव" + +#: part/pageview.cpp:2863 +#, fuzzy, kde-format +#| msgid "Image (%1 by %2 pixels)" +msgid "Image (%1 × %2 pixels)" +msgstr "फोटू (%1 x %2 पिक्सेल्स)" + +#: part/pageview.cpp:2865 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save to File…" +msgstr "फाइल मं सहेजव..." + +#: part/pageview.cpp:2885 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] copied to clipboard." +msgid "Image [%1 × %2] copied to clipboard." +msgstr "फोटू [%1x%2] क्लिपबोर्ड मं नकल करिस." + +#: part/pageview.cpp:2888 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save file" +msgstr "फाइल मं सहेजव..." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "फाइल ल सहेजे नइ गिस." + +#: part/pageview.cpp:2901 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] saved to %3 file." +msgid "Image [%1 × %2] saved to %3 file." +msgstr "फोटू [%1x%2] ल %3 फाइल मं सहेजिस." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "पाठ के नकल बनाव" + +#: part/pageview.cpp:3062 +#, fuzzy, kde-format +#| msgid "Go to page %1" +msgid "Go to '%1'" +msgstr "पेज %1 मं जाव" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "चौड़ाई जमाव" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "पेज मं जमाव" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "" + +#: part/pageview.cpp:4107 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1:" + +#: part/pageview.cpp:4390 +#, fuzzy, kde-format +#| msgid "Searching for %1" +msgid "Search for '%1' with" +msgstr "%1 बर खोजत हे" + +#: part/pageview.cpp:4404 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Configure Web Shortcuts…" +msgstr "प्रदर्सक कान्फिगर करव..." + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "ये संकली मं जाव" + +#: part/pageview.cpp:4433 +#, fuzzy, kde-format +#| msgid "Play sound..." +msgid "Play this Sound" +msgstr "अवाज बजाव..." + +#: part/pageview.cpp:4435 +#, fuzzy, kde-format +#| msgid "Sound" +msgid "Stop Sound" +msgstr "अवाज" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "संकली पता नकल करव" + +#: part/pageview.cpp:4462 +#, fuzzy, kde-format +#| msgid "Searching for %1" +msgid "Search for '%1' in this document" +msgstr "%1 बर खोजत हे" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "सुस्वागतम" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "जूमिंग छेत्र चुनव. जूम-आउट होए बर किलिक करव." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "" + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "नकल करे बर पाठ/चित्र के चारों तरफ एक आयताकार बनाव." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "पाठ चुनव" + +#: part/pageview.cpp:5172 +#, fuzzy, kde-format +#| msgid "Draw a rectangle around the text/graphics to copy." +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "नकल करे बर पाठ/चित्र के चारों तरफ एक आयताकार बनाव." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" + +#: part/pageview.cpp:5188 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "No valid certificates" +msgstr "प्रदर्सक कान्फिगर करव..." + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Open Certificate Manager" +msgstr "प्रदर्सक कान्फिगर करव..." + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
Launch Certificate Manager " +"to import or manage certificates
For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "No certificates found" +msgstr "प्रदर्सक कान्फिगर करव..." + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "" + +#: part/pageview.cpp:5405 +#, fuzzy, kde-format +#| msgid "Draw a rectangle around the text/graphics to copy." +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "नकल करे बर पाठ/चित्र के चारों तरफ एक आयताकार बनाव." + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "नवा पाठ नोट" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "नवा नोट के पाठ:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgid "Author" +msgid "Author name" +msgstr "लेखक" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Author name for the annotation:" +msgstr "एनोटेसन" + +#: part/pageviewannotator.cpp:1390 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Inline Text Annotation (drag to select a zone)" +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "इनलाइन पाठ एन्नोटेसन (कोनो जोन ल चुने बर मुसुवा किलिक कर खींचव)" + +#: part/pageviewannotator.cpp:1392 +#, fuzzy, kde-format +#| msgid "Highlight" +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "चमकाव" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "इनलाइन पाठ एन्नोटेसन (कोनो जोन ल चुने बर मुसुवा किलिक कर खींचव)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "पालीगान बनाव (एला बन्द करे बर पहिली बिन्दु मं किलिक करव)" + +#: part/pageviewannotator.cpp:1402 +#, fuzzy, kde-format +#| msgid "Rectangle" +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "चतुर्भुज" + +#: part/pageviewannotator.cpp:1404 +#, fuzzy, kde-format +#| msgid "Squiggly" +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "स्क्विग्ली" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "स्टैम्प चिनहा लगाव" + +#: part/pageviewannotator.cpp:1408 +#, fuzzy, kde-format +#| msgid "Straight Yellow Line" +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "सीधा पीली लकीर" + +#: part/pageviewannotator.cpp:1410 +#, fuzzy, kde-format +#| msgid "Strike out" +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "लिखकर काटव" + +#: part/pageviewannotator.cpp:1412 +#, fuzzy, kde-format +#| msgid "Underline" +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "रेखांकित" + +#: part/pageviewannotator.cpp:1414 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Inline Text Annotation (drag to select a zone)" +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "इनलाइन पाठ एन्नोटेसन (कोनो जोन ल चुने बर मुसुवा किलिक कर खींचव)" + +#: part/pageviewannotator.cpp:1473 +#, fuzzy, kde-format +#| msgid "Highlight" +msgid "Highlighter" +msgstr "चमकाव" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Add favorite annotation" +msgstr "एनोटेसन" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Custom annotation name:" +msgstr "एनोटेसन" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "फाइल (&F)" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "सेटिंग (&S)" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "मदद (&H)" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "दिसा-स्थिति (&O)" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr " निसानी (&B)" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, fuzzy, kde-format +#| msgid "Main Toolbar" +msgid "Viewer Toolbar" +msgstr "मुख्य औजार पट्टी" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "छोटे फोटू" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotations" +msgstr "एनोटेसन" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"कागद मं भीतर मं बने फाइल मन ल हे. ओ मन ल देखे बर " +"इहां किलिक करव या फाइल -> भीतर मं बने फाइल मन जाव." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "पिछला" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "पिछले पेज मं जाव" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "कागद के पिछले पेज मं जाथे " + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "अगला" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "अगले पेज मं जाव" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "कागद के अगले पेज मं जाथे " + +#: part/part.cpp:687 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Beginning of the document" +msgstr "कागद ल रीलोड करत हे..." + +#: part/part.cpp:688 +#, fuzzy, kde-format +#| msgid "Moves to the next page of the document" +msgid "Moves to the beginning of the document" +msgstr "कागद के अगले पेज मं जाथे " + +#: part/part.cpp:692 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "End of the document" +msgstr "कागद ल रीलोड करत हे..." + +#: part/part.cpp:693 +#, fuzzy, kde-format +#| msgid "Moves to the next page of the document" +msgid "Moves to the end of the document" +msgstr "कागद के अगले पेज मं जाथे " + +#: part/part.cpp:707 +#, fuzzy, kde-format +#| msgid "Reload the current document from disk." +msgid "Rename the current bookmark" +msgstr "अभी हाल के कागद डिस्क से फिर से लोड करव" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "पिछला निसानी " + +#: part/part.cpp:713 +#, fuzzy, kde-format +#| msgid "Go to the previous bookmarked page" +msgid "Go to the previous bookmark" +msgstr "पिछले निसानी पेज मं जाव" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "अगला निसानी " + +#: part/part.cpp:719 +#, fuzzy, kde-format +#| msgid "Go to the next bookmarked page" +msgid "Go to the next bookmark" +msgstr "अगले निसानी पेज मं जाव" + +#: part/part.cpp:748 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgid "Configure Okular…" +msgstr "ओकुलर कान्फिगर करव..." + +#: part/part.cpp:751 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Configure Viewer…" +msgstr "प्रदर्सक कान्फिगर करव..." + +#: part/part.cpp:757 +#, fuzzy, kde-format +#| msgid "Configure Backends" +msgid "Configure Viewer Backends…" +msgstr "बैकएन्ड्स कान्फिगर करव" + +#: part/part.cpp:759 +#, fuzzy, kde-format +#| msgid "Configure Backends" +msgid "Configure Backends…" +msgstr "बैकएन्ड्स कान्फिगर करव" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "बैकएन्ड के बारे में..." + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "फिर से लोड करव (&d)" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "अभी हाल के कागद डिस्क से फिर से लोड करव" + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "खोज पट्टी बन्द करव (&F)" + +#: part/part.cpp:813 +#, fuzzy, kde-format +#| msgid "Page Size" +msgid "Page Number" +msgstr "पेज आकार" + +#: part/part.cpp:817 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "ओकुलर कान्फिगर करव..." + +#: part/part.cpp:858 +#, fuzzy, kde-format +#| msgid "Speak Current Page" +msgid "Select All Text on Current Page" +msgstr "मौजूदा पेज ल बोलव" + +#: part/part.cpp:871 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgid "Show S&idebar" +msgstr "स्क्राल पट्टी मन देखाव (&b)" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "" + +#: part/part.cpp:886 +#, fuzzy, kde-format +#| msgid "Show &Navigation Panel" +msgid "Show &Signatures Panel" +msgstr "नेविगेसन पेनल देखाव (&N)" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "भीतर मं बने फाइल मन ल (&E)" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "ये रूप मं निर्यात करव (&x)" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "प्रेजेन्टेसन (&r)" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "" + +#: part/part.cpp:945 +#, fuzzy, kde-format +#| msgid "&Import PostScript as PDF..." +msgid "&Import PostScript as PDF…" +msgstr "पोस्ट-स्क्रिप्ट ल पीडीएफ के रूप मं आयात करव...(&I)" + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "ब्लेकस्क्रीन मोड मं स्विच करव" + +#: part/part.cpp:957 +#, fuzzy, kde-format +#| msgid "Erase Drawings" +msgid "Erase Drawing" +msgstr "ड्राइंग मेटाव" + +#: part/part.cpp:962 +#, fuzzy, kde-format +#| msgid "Configure Backends..." +msgid "Configure Annotations…" +msgstr "बैकएन्ड्स कान्फिगर करव..." + +#: part/part.cpp:967 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Play/Pause Presentation" +msgstr "प्रस्तुतीकरन" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" + +#: part/part.cpp:1123 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Document can't be saved" +msgstr "कागद जऊन ल खोलना हे" + +#: part/part.cpp:1152 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not open '%1' (%2) " +msgstr "%1 ल खोल नइ सकिस" + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "" + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "%1 ल खोले नइ जा सकिस. कारन: %2" + +#: part/part.cpp:1249 +#, fuzzy, kde-format +#| msgid "Configure Backends" +msgid "Configure Viewer Backends" +msgstr "बैकएन्ड्स कान्फिगर करव" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "बैकएन्ड्स कान्फिगर करव" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "ps2pdf नइ मिलिस" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "" + +#: part/part.cpp:1357 +#, fuzzy, kde-format +#| msgid "Importing PS file as PDF (this may take a while)..." +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "पीएस फाइल ल पीडीएफ बर आयात करत हे (ये मां कुछ समय लग सकथे )..." + +#: part/part.cpp:1489 +#, fuzzy, kde-format +#| msgid "Moves to the last page of the document" +msgid "Please enter the password to read the document:" +msgstr "कागद के आखरी पेज मं जाथे " + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "" + +#: part/part.cpp:1502 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Document Password" +msgstr "कागद जऊन ल खोलना हे" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "" + +#: part/part.cpp:1739 +#, fuzzy, kde-format +#| msgid "Exit Presentation Mode" +msgid "Enter Presentation Mode" +msgstr "प्रस्तुतीकरन मोड से बाहिर हों" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "" + +#: part/part.cpp:1830 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not open %1. %2" +msgstr "%1 ल खोल नइ सकिस" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "" + +#: part/part.cpp:1865 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue Reloading" +msgstr "लगातार (&C)" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" + +#: part/part.cpp:1875 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue Closing" +msgstr "लगातार (&C)" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "" + +#: part/part.cpp:1883 +#, fuzzy, kde-format +#| msgid "Open Document" +msgid "Close Document" +msgstr "कागद खोलव" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" + +#: part/part.cpp:2113 part/part.cpp:2131 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Reloading the document…" +msgstr "कागद ल रीलोड करत हे..." + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "विसय सूची" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "पेज मं जाव" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "पेज: (&P)" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "" + +#: part/part.cpp:2506 +#, fuzzy, kde-format +#| msgid "Rename Bookmark" +msgid "Rename this Bookmark" +msgstr "निसानी ल नवा नाम देव" + +#: part/part.cpp:2509 +#, fuzzy, kde-format +#| msgid "Rename Bookmark" +msgid "Remove this Bookmark" +msgstr "निसानी ल नवा नाम देव" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, fuzzy, kde-format +#| msgctxt "@action:inmenu" +#| msgid "&Save As..." +msgid "Save As" +msgstr "अइसन सहेजव... (&S)" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" + +#: part/part.cpp:2621 +#, fuzzy, kde-format +#| msgid "Line Extensions" +msgid "Unsupported extension" +msgstr "लाए एक्सटेंसन्स" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
Do you want to continue?" +msgstr "" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "अस्थायी फाइल ल सहेजे बर खोल नइ सकिस." + +#: part/part.cpp:2726 +#, fuzzy, kde-kuit-format +#| msgid "File not saved." +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "फाइल ल सहेजे नइ गिस." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
Do you want to continue?" +msgstr "" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "" + +#: part/part.cpp:2766 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgid "Filled form contents" +msgstr "एन्नोटेसन गुन" + +#: part/part.cpp:2769 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "User annotations" +msgstr "प्रस्तुतीकरन" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" + +#: part/part.cpp:2796 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue" +msgstr "लगातार (&C)" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "" + +#: part/part.cpp:2824 +#, fuzzy, kde-format +#| msgid "File not saved." +msgid "File could not be saved in '%1'. %2" +msgstr "फाइल ल सहेजे नइ गिस." + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" + +#: part/part.cpp:2899 +#, fuzzy, kde-format +#| msgid "File not saved." +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "फाइल ल सहेजे नइ गिस." + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "End Presentation" +msgid "Expand Whole Section" +msgstr "प्रस्तुतीकरन बन्द करव" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "End Presentation" +msgid "Collapse Whole Section" +msgstr "प्रस्तुतीकरन बन्द करव" + +#: part/part.cpp:3172 +#, fuzzy, kde-format +#| msgid "Link the &thumbnails with the page" +msgid "Sync Thumbnail with Page" +msgstr "छोटेफोटू मन ल पेज से संकली करव (&t)" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "औजार" + +#: part/part.cpp:3381 +#, fuzzy, kde-format +#| msgid "Speak Text" +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "पाठ बोलव" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "ये कागद ल छापना स्वीकार नइ हे." + +#: part/part.cpp:3615 +#, fuzzy, kde-format +#| msgid "Could not print the document. Please report to bugs.kde.org" +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "कागद छाप नइ सकिस. किरपा करके, bugs.kde.org ल बग रिपोट करव." + +#: part/part.cpp:3617 +#, fuzzy, kde-format +#| msgid "Could not print the document. Please report to bugs.kde.org" +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "कागद छाप नइ सकिस. किरपा करके, bugs.kde.org ल बग रिपोट करव." + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "उस जगह मं जाव जहाँ आप मन पहिली जा गे हे" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "उस जगह मं जाव जहाँ आप मन जाना चाहथो " + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"फाइल गलती! अस्थायी फाइल तैयार नइ कर सकिस%1." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"फाइल गलती! फाइल %1को " +"असंपीडित करे बर खोल नइ सकिस. फाइल ल लोड नइ कर सकिस." + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"फाइल गलती! फाइल %1 को " +"असंपीडित नइ कर सकिस. फाइल ल लोड नइ कर सकिस." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "कोई निसानी नइ" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "संपादन (&E)" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "देखव (&V)" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "जाव (&G)" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "औजार (&T)" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "मुख्य औजार पट्टी" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation Toolbar" +msgstr "एनोटेसन" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Quick Annotation Toolbar" +msgstr "एनोटेसन" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "सामान्य विकल्प" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "पहुंच" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "पढ़े मं सहायक" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "परफार्मेंस" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "परफारमेंस ट्यूनिंग" + +#: part/preferencesdialog.cpp:45 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Configure Viewer" +msgstr "प्रदर्सक कान्फिगर करव..." + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "प्रस्तुतीकरन" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "प्रेजेन्टेसन मोड बर विकल्प" + +#: part/preferencesdialog.cpp:50 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgid "Annotation Options" +msgstr "एन्नोटेसन गुन" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "संपादक" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "संपादक विकल्प" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "अगला खोजव" + +#: part/presentationwidget.cpp:174 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "प्रस्तुतीकरन" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "स्क्रीन स्विच करव" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "स्क्रीन %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "प्रस्तुतीकरन मोड से बाहिर हों" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "सीर्सक: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "पेज: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "सुरू करे बर किलिक करव" + +#: part/presentationwidget.cpp:521 +#, fuzzy, kde-format +#| msgctxt "pause the movie playback" +#| msgid "Pause" +msgctxt "For Presentation" +msgid "Pause" +msgstr "ठहरव" + +#: part/presentationwidget.cpp:524 +#, fuzzy, kde-format +#| msgctxt "start the movie playback" +#| msgid "Play" +msgctxt "For Presentation" +msgid "Play" +msgstr "चलाव" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "प्रस्तुतीकरन देना" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "अग्यात फाइल" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "%1 गुन" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "फोंट (&F)" + +#: part/propertiesdialog.cpp:145 +#, fuzzy, kde-format +#| msgid "Reading font information..." +msgid "Reading font information…" +msgstr "फोंट जानकारी पढ़ी जा रही हे..." + +#: part/propertiesdialog.cpp:158 +#, fuzzy, kde-format +#| msgid "&Page Size" +msgid "&Page Sizes" +msgstr "पेज आकार (&P)" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "फोंट एक्सट्रेक्ट करव (&E)" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "किसिम 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "टाइप १सी" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "टाइप १सी (ओटी)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "टाइप ३" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "ट्रू टाइप" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "ट्रूटाइप (ओटी)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "सीआईडी टाइप o" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "सीआईडी टाइप 0सी" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "सीआईडी टाइप 0सी (ओटी)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "सीआईडी ट्रूटाइप" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "सीआईडी ट्रू टाइप (ओटी)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "अग्यात" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "भीतर मं बने (सबसेट)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "पूरा भीतर मं बने" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "नइ" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "हाँ (सबसेट)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "हाँ" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "[लागू नइ]" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "अग्यात फोंट" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "भीतर मं बने: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "नाम" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "किसिम" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "फाइल" + +#: part/propertiesdialog.cpp:498 +#, fuzzy, kde-format +#| msgid "Pages" +msgid "Page" +msgstr "पेज" + +#: part/propertiesdialog.cpp:501 +#, fuzzy, kde-format +#| msgctxt "@title:column" +#| msgid "Size" +msgid "Size" +msgstr "आकार" + +#: part/revisionviewer.cpp:41 +#, fuzzy, kde-format +#| msgid "Print Preview" +msgid "Revision Preview" +msgstr "छपाई नमूना" + +#: part/revisionviewer.cpp:53 +#, fuzzy, kde-format +#| msgid "Where do you want to save %1?" +msgid "Where do you want to save this revision?" +msgstr "%1 ल आप मन कहाँ सहेजना चाहथो ?" + +#: part/revisionviewer.cpp:56 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not save file %1." +msgstr "%1 ल खोल नइ सकिस" + +#: part/revisionviewer.cpp:75 +#, fuzzy, kde-format +#| msgid "Could not open %1. Reason: %2" +msgid "Could not view revision." +msgstr "%1 ल खोले नइ जा सकिस. कारन: %2" + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "पेज मन ल छनइया करे बर कम से कम तीन अक्छर भरे होही" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "केस सेंसिटिव" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "वाक्यांस मिलाव" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "सब्बो सब्द मन ल मिलाव" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "कोई सब्द ल मिलाव" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "फिल्टर विकल्प" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Certificates" +msgstr "प्रदर्सक कान्फिगर करव..." + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, fuzzy, kde-format +#| msgid "Allow" +msgid "All" +msgstr "स्वीकारव" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Only QES certificates" +msgstr "प्रदर्सक कान्फिगर करव..." + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, fuzzy, kde-format +#| msgid "Options" +msgid "optional" +msgstr "विकल्प" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Location:" +msgstr "एनोटेसन" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, fuzzy, kde-format +#| msgid "Background color:" +msgid "Background:" +msgstr "पिछोत अंगना के रंगः" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, fuzzy, kde-format +#| msgid "Background color:" +msgid "Recent backgrounds:" +msgstr "पिछोत अंगना के रंगः" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

No annotations

To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
" +msgstr "" + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "पेज आधार मं समूहबद्ध करव" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "लेखक के आधार मं समूहबद्ध करव" + +#: part/side_reviews.cpp:155 +#, fuzzy, kde-format +#| msgid "Show reviews for current page only" +msgid "Show annotations for current page only" +msgstr "सिरिफ अभी हाल के पेज बर रीव्यू दिखाव" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "" + +#: part/signaturepanel.cpp:101 +#, fuzzy, kde-format +#| msgid "&Properties" +msgid "Properties" +msgstr "गुन (&P)" + +#: part/signaturepartutils.cpp:180 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "पेज: %1" + +#: part/signaturepartutils.cpp:181 +#, fuzzy, kde-format +#| msgid "Enable &background generation" +msgid "Select background image" +msgstr "पिछोत अंगना बनाना सक्छम करव (&b)" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "" + +#: part/signaturepartutils.cpp:244 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Enter document password" +msgstr "कागद जऊन ल खोलना हे" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:63 +#, fuzzy, kde-format +#| msgid "Information" +msgid "Additional Information" +msgstr "जानकारी" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:83 +#, fuzzy, kde-format +#| msgctxt "A document format, Okular-specific" +#| msgid "Document Archive" +msgid "Document Version" +msgstr "कागद आर्काइव" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:95 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "View Certificate…" +msgstr "प्रदर्सक कान्फिगर करव..." + +#: part/signaturepropertiesdialog.cpp:97 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "View in Certificate Manager" +msgstr "प्रदर्सक कान्फिगर करव..." + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "सिरिफ निसानी पेज मन ल ही देखाव" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "चलाव" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "ठहरव" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "रुकव" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, fuzzy, kde-format +#| msgid "&Edit" +msgid "&Edit…" +msgstr "संपादन (&E)" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, fuzzy, kde-format +#| msgid "Wipe Down" +msgid "Move &Down" +msgstr "नीचे के तरफ से मेटाव" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "देखाय जाय वाले कागद के पेज" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "दस्तावेज ल प्रस्तुतीकरन मोड मं चालू करव" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "" + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "" + +#: shell/shell.cpp:207 +#, fuzzy, kde-format +#| msgid "Unable to find the Okular component." +msgid "Unable to find the Okular component: %1" +msgstr "ओकुलर अवयव खोज पाय मं अक्छम." + +#: shell/shell.cpp:250 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgid "Sidebar" +msgstr "स्क्राल पट्टी मन देखाव (&b)" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "ओकुलर अवयव खोज पाय मं अक्छम." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"कोनो फाइल ल खोले बर किलिक करव\n" +"कोनो वाले फाइल ल खोले बर किलिक कर दबाए रखव" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"कोनो फाइल ल खोले बर किलिक करव या फिर कोनो वाले फाइल ल चुने बर किलिक कर " +"दबाए रखव" + +#: shell/shell.cpp:582 +#, fuzzy, kde-format +#| msgid "Next Page" +msgid "Next Tab" +msgstr "अगला पेज" + +#: shell/shell.cpp:588 +#, fuzzy, kde-format +#| msgid "Previous Page" +msgid "Previous Tab" +msgstr "पिछला पेज" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "" + +#: shell/shell.cpp:603 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgid "Lock Sidebar" +msgstr "स्क्राल पट्टी मन देखाव (&b)" + +#: shell/shell.cpp:703 +#, fuzzy, kde-format +#| msgid "*|All Files" +msgid "All files (*)" +msgstr "*|सब्बो फाइल" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "कागद खोलव" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "" + +#: shell/shell.cpp:826 +#, fuzzy, kde-format +#| msgid "Close" +msgid "Close Tabs" +msgstr "बंद करव" + +#: shell/shell.cpp:833 +#, fuzzy, kde-format +#| msgid "" +#| "A file named \"%1\" already exists. Are you sure you want to overwrite it?" +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "" +"फाइल नाम \"%1\" पहिली से ही अस्तित्व मं हे. का आप मन एखर ऊपर ही मेटाय के लिखना चाहू?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "" + +#: shell/welcomescreen.cpp:64 +#, fuzzy, kde-format +#| msgid "Copy Text" +msgid "&Copy Path" +msgstr "पाठ के नकल बनाव" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "" + +#: shell/welcomescreen.cpp:137 +#, fuzzy, kde-format +#| msgid "Current document only" +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "सिरिफ अभी हाल के कागद" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, fuzzy, kde-format +#| msgid "Open Document" +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "कागद खोलव" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, fuzzy, kde-format +#| msgid "Current document only" +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "सिरिफ अभी हाल के कागद" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "" + +#, fuzzy +#~| msgid "For Comment" +#~ msgid "Geometry with Comment" +#~ msgstr "टिप्पनियों बर" + +#~ msgid "Geometry" +#~ msgstr "ज्यामिति" + +#~ msgid "Modified: %1" +#~ msgstr "परिवर्धित: %1" + +#~ msgid "Find..." +#~ msgstr "खोजव..." + +#~ msgid "Go To Page..." +#~ msgstr "पेज मं जाव..." + +#~ msgid "Play movie..." +#~ msgstr "चलचित्र देखाव..." + +#, fuzzy +#~| msgid "S&earch:" +#~ msgid "Search..." +#~ msgstr "खोजव: (&e)" + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "अइसन सहेजव... (&S)" + +#, fuzzy +#~| msgid "&View" +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "देखव (&V)" + +#~ msgid "Configure Viewer..." +#~ msgstr "प्रदर्सक कान्फिगर करव..." + +#, fuzzy +#~| msgid "Configure Backends..." +#~ msgid "Configure Viewer Backends..." +#~ msgstr "बैकएन्ड्स कान्फिगर करव..." + +#~ msgid "Configure Backends..." +#~ msgstr "बैकएन्ड्स कान्फिगर करव..." + +#, fuzzy +#~| msgid "&Edit" +#~ msgid "&Edit..." +#~ msgstr "संपादन (&E)" + +#, fuzzy +#~| msgctxt "Unknown author" +#~| msgid "Unknown" +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "अग्यात" + +#, fuzzy +#~| msgctxt "Suffix for the opacity level, eg '80 %'" +#~| msgid " %" +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr " %" + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " %" + +#, fuzzy +#~| msgctxt "Suffix for the opacity level, eg '80 %'" +#~| msgid " %" +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr " %" + +#, fuzzy +#~| msgid "Fit Width" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "चौड़ाई जमाव" + +#, fuzzy +#~| msgid "Fit Page" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "पेज मं जमाव" + +#~ msgid "*|All Files" +#~ msgstr "*|सब्बो फाइल" + +#, fuzzy +#~| msgid "Show scroll&bars" +#~ msgid "Show Sidebar" +#~ msgstr "स्क्राल पट्टी मन देखाव (&b)" + +#, fuzzy +#~| msgid "Experimental" +#~ msgctxt "@title:window" +#~ msgid "Experimental feature" +#~ msgstr "परीक्छनाधीन" + +#, fuzzy +#~| msgid "Remove Bookmark" +#~ msgid "Remove Bookmarks" +#~ msgstr " निसानी मेटाव" + +#, fuzzy +#~| msgid "Annotation" +#~| msgid_plural "%1 Annotations" +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "एनोटेसन" + +#, fuzzy +#~| msgid "Highlight" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "चमकाव" + +#, fuzzy +#~| msgid "Underline" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Underline" +#~ msgstr "रेखांकित" + +#, fuzzy +#~| msgid "Squiggly" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Squiggle" +#~ msgstr "स्क्विग्ली" + +#, fuzzy +#~| msgid "Strike out" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Strike Out" +#~ msgstr "लिखकर काटव" + +#, fuzzy +#~| msgid "Insert" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "प्रविस्ट" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "इनलाइन टिप्पनी" + +#, fuzzy +#~| msgid "&Open Pop-up Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "पाप अप नोट खोलव (&O)" + +#, fuzzy +#~| msgid "Straight Yellow Line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Straight line" +#~ msgstr "सीधा पीली लकीर" + +#, fuzzy +#~| msgid "Rectangle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Rectangle" +#~ msgstr "चतुर्भुज" + +#, fuzzy +#~| msgid "Cyan Ellipse" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Ellipse" +#~ msgstr "क्यान दीर्घवृत्त" + +#, fuzzy +#~| msgid "Blue Polygon" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Polygon" +#~ msgstr "नीला बहुभुज" + +#, fuzzy +#~| msgid "Highlight" +#~ msgid "Highlight in Yellow" +#~ msgstr "चमकाव" + +#, fuzzy +#~| msgid "Highlight" +#~ msgid "Highlight in Green" +#~ msgstr "चमकाव" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgid "Insert Inline Note" +#~ msgstr "इनलाइन टिप्पनी" + +#, fuzzy +#~| msgid "&Open Pop-up Note" +#~ msgid "Insert Popup Note" +#~ msgstr "पाप अप नोट खोलव (&O)" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "पाठ चुनव" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "पाठ चुनव" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "पाठ चुनव" + +#, fuzzy +#~| msgid "Annotation" +#~| msgid_plural "%1 Annotations" +#~ msgid "Bookmark annotation" +#~ msgstr "एनोटेसन" + +#, fuzzy +#~| msgid "Change &colors" +#~ msgid "&Toggle Change Colors" +#~ msgstr "रंग बदलव (&c)" + +#, fuzzy +#~| msgid "Enable transitions" +#~ msgctxt "@option:check Config dialog, presentation page, transitions" +#~ msgid "Enable transitions" +#~ msgstr "ट्रांजीसन सक्छम करव" + +#, fuzzy +#~| msgid "Advance every:" +#~ msgctxt "@label:spinbox Config dialog, presentation page" +#~ msgid "Advance every:" +#~ msgstr "हर एक के बाद आगू बढ़व:" + +#, fuzzy +#~| msgid "Background color:" +#~ msgctxt "@label:listbox Config dialog, general page" +#~ msgid "Custom background color:" +#~ msgstr "पिछोत अंगना के रंगः" + +#~ msgid "Draw border around &Images" +#~ msgstr "फोटू मन के चारों तरफ किनारा बनाव (&I)" + +#~ msgid "Identity" +#~ msgstr "कमइया" + +#, fuzzy +#~| msgid "&Author:" +#~ msgid "Au&thor:" +#~ msgstr "लेखकः (&A)" + +#~ msgid "View Options" +#~ msgstr "विकल्प देखाव" + +#~ msgid "Navigation" +#~ msgstr "नेविगेसन" + +#~ msgid "Placement" +#~ msgstr "निरधारित जगह" + +#~ msgid "Screen:" +#~ msgstr "स्क्रीन:" + +#~ msgid "&Get Books From Internet..." +#~ msgstr "इंटरनेट से किताबें लाव... (&G)" + +#~ msgid "Reviews" +#~ msgstr "समीक्छा" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "@item:inlistbox Color name" +#~ msgid "%1" +#~ msgstr "%1:" + +#~ msgid "Hide Forms" +#~ msgstr "फारम लुकाव" + +#~ msgid "&Review" +#~ msgstr "समीक्छा (&R)" + +#~ msgid "Annotations author" +#~ msgstr "एन्नोटेसन लेखक" + +#~ msgid "Please insert your name or initials:" +#~ msgstr "किरपा करके, अपन नाम या आद्याक्छर भरव:" + +#~ msgid "Show &Navigation Panel" +#~ msgstr "नेविगेसन पेनल देखाव (&N)" + +#~ msgid "Show Text" +#~ msgstr "पाठ देखाव" + +#~ msgid "Small Icons" +#~ msgstr "छोटे चिनहा" + +#~ msgid "Large Icons" +#~ msgstr "बड़े चिनहा" + +#~ msgid "Created: %1" +#~ msgstr "निर्मित: %1" + +#~ msgid "Style" +#~ msgstr "सैली" + +#~ msgid "&Size:" +#~ msgstr "आकार: (&S)" + +#~ msgid "Inner color:" +#~ msgstr "अंदर के रंग:" + +#~ msgid "Name: %1" +#~ msgstr "नांव: %1" + +#~ msgid "Size: %1" +#~ msgstr "आकारः %1" + +#~ msgid "&Browse Tool" +#~ msgstr "ब्राउज औजार (&B)" + +#~ msgid "&Zoom Tool" +#~ msgstr "जूम औजार (&Z)" + +#~ msgctxt "Zoom Tool" +#~ msgid "Zoom" +#~ msgstr "जूम" + +#~ msgid "&Selection Tool" +#~ msgstr "चयन औजार (&S)" + +#~ msgctxt "Select Tool" +#~ msgid "Selection" +#~ msgstr "चयन" + +#~ msgid "&Text Selection Tool" +#~ msgstr "पाठ चयन औजार (&T)" + +#, fuzzy +#~| msgid "&Selection Tool" +#~ msgid "T&able Selection Tool" +#~ msgstr "चयन औजार (&S)" + +#, fuzzy +#~| msgctxt "Symbol for caret annotations" +#~| msgid "None" +#~ msgid " None" +#~ msgstr "कुछ नइ" + +#~ msgid "Presentation Mode" +#~ msgstr "प्रस्तुतीकरन मोड" + +#~ msgid "Allow the presentation mode" +#~ msgstr "प्रस्तुतीकरन मोड स्वीकारव" + +#~ msgid "Do Not Allow" +#~ msgstr "अनुमति नइ देव" + +#~ msgid "Do not allow the presentation mode" +#~ msgstr "प्रस्तुतीकरन मोड स्वीकार नइ करव" + +#~ msgid "Save &Copy As..." +#~ msgstr "नकल अइसन सहेजव... (&C)" + +#~ msgid "" +#~ "End of document reached.\n" +#~ "Continue from the beginning?" +#~ msgstr "" +#~ "कागद के आखरी आ गिस \n" +#~ "सुरू से जारी रखव?" + +#~ msgid "" +#~ "Beginning of document reached.\n" +#~ "Continue from the bottom?" +#~ msgstr "" +#~ "कागद के चालू आ गिस.\n" +#~ "नीचे से जारी रखव?" + +#~ msgid "Current maintainer" +#~ msgstr "अभी हाल के मेंटेनर" + +#~ msgid " sec." +#~ msgstr " सेक." + +#~ msgid "Pencil color:" +#~ msgstr "पेंसिल रंग:" + +#~ msgid "Toggle Drawing Mode" +#~ msgstr "ड्राइंग मोड टागल करव" + +#, fuzzy +#~| msgid "Starting KTTSD Failed: %1" +#~ msgid "Starting Jovie Text-to-Speech service Failed: %1" +#~ msgstr "केटीटीएसडी सुरु करे मं फेल: %1" + +#~ msgid "Search Columns" +#~ msgstr "खोज खंभा" + +#~ msgid "All Visible Columns" +#~ msgstr "सब्बो दिखत खंभा" + +#~ msgid "No document opened." +#~ msgstr "कोई कागद खुले नइ." + +#~ msgid "No matches found for '%1'." +#~ msgstr " '%1' बर कोनो जोड़ नइ मिलिस." + +#~ msgid "Search in progress..." +#~ msgstr "खोजत हे..." + +#~ msgid "Searching for %1" +#~ msgstr "%1 बर खोजत हे" + +#~ msgid "Identity Settings" +#~ msgstr "पहिचान सेटिंग" + +#~ msgid "Highlight Properties" +#~ msgstr "गुन मन ल चमकाव" + +#~ msgid "Ink Properties" +#~ msgstr "स्याही गुन" + +#~ msgctxt "Annotation tool" +#~ msgid "Text Annotation" +#~ msgstr "पाठ एन्नोटेसन" + +#~ msgctxt "Annotation tool" +#~ msgid "Green Ink" +#~ msgstr "हरी स्याही" + +#~ msgctxt "Annotation tool" +#~ msgid "Yellow Highlight" +#~ msgstr "पीला चमकाव" + +#~ msgctxt "Annotation tool" +#~ msgid "Straight Yellow Line" +#~ msgstr "सीधी पीली लकीर" + +#~ msgid "Black Underlining" +#~ msgstr "काला रेखांकित" + +#~ msgctxt "Annotation tool" +#~ msgid "Underline the text with a black line" +#~ msgstr "पाठ ल काली लकीर से रेखांकित करव" + +#~ msgctxt "Annotation tool" +#~ msgid "A cyan ellipse" +#~ msgstr "क्यान दीर्घवृत्त" + +#~ msgid "Ink" +#~ msgstr "स्याही" + +#, fuzzy +#~| msgid "Hide Forms" +#~ msgid "Reset Forms" +#~ msgstr "फारम लुकाव" + +#~ msgid "Moves to the first page of the document" +#~ msgstr "कागद के पहिली पेज मं जाथे " + +#~ msgid "You must set this name:" +#~ msgstr "आप मन ल ए नाम सेट करना जरूरी हे:" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "%1 is \"Title\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "%1 is \"File Path\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#~ msgctxt "@action:button" +#~ msgid "&Overwrite" +#~ msgstr "मेटाय के लिखव (&O)" + +#~ msgid "Pages:" +#~ msgstr "पेज:" + +#~ msgid "okular" +#~ msgstr "ओकुलर" + +#~ msgid "&Properties..." +#~ msgstr "गुन...(&P)" + +#~ msgid "Could not load the necessary plugin to view the document." +#~ msgstr "कागद देखे बर जरूरी प्लगइन ल लोड नइ कर सके." + +#~ msgid "Fit &Text" +#~ msgstr "पाठ के अनुसार जमाव (&T)" + +#~ msgid "Copy Link Location" +#~ msgstr "संकली जगह नकल करव" + +#~ msgid "*|All the Files" +#~ msgstr "*|सब्बो फाइल मन ल" + +#~ msgctxt "Annotation tool" +#~ msgid "Pink Ink" +#~ msgstr "गुलाबी स्याही" diff --git a/po/hne/okular_djvu.po b/po/hne/okular_djvu.po new file mode 100644 index 0000000..40e19a3 --- /dev/null +++ b/po/hne/okular_djvu.po @@ -0,0 +1,157 @@ +# translation of okular_djvu.po to Hindi +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Ravishankar Shrivastava , 2007. +# Ravishankar Shrivastava , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_djvu\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-02-26 15:52+0530\n" +"Last-Translator: Ravishankar Shrivastava \n" +"Language-Team: Hindi \n" +"Language: hne\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.2\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "रविसंकर सिरीवास्तव, जी. करूनाकर" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "raviratlami@aol.in," + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "संपादक" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "प्रकासक" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "अवाज निर्धारक" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "कागद के किसम" + +#: generator_djvu.cpp:141 +#, fuzzy, kde-format +#| msgid "Unknown" +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "अग्यात" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "अवयव फाइल" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "अग्यात" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "एकल पेज" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "बंडल्ड" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "अप्रत्यक्छ" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "बंडल्ड (जुन्ना)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "इंडेक्स्ड (जुन्ना)" + +#~ msgid "DjVu Backend" +#~ msgstr "डीजेवीयू बैकएन्ड" + +#~ msgid "DjVu backend based on DjVuLibre." +#~ msgstr "डीजेवीयूलिब्रे आधारित डीजेवीयू बैकएन्ड" + +#, fuzzy +#~| msgid "© 2006-2007 Pino Toscano" +#~ msgid "© 2006-2008 Pino Toscano" +#~ msgstr "(C) 2006-2007 पिनो टोस्कानो" + +#~ msgid "Pino Toscano" +#~ msgstr "पिनो टोसकिसनो" + +#, fuzzy +#~| msgid "Unknown" +#~ msgctxt "Unknown title" +#~ msgid "Unknown" +#~ msgstr "अग्यात" + +#, fuzzy +#~| msgid "Unknown" +#~ msgctxt "Unknown author" +#~ msgid "Unknown" +#~ msgstr "अग्यात" + +#, fuzzy +#~| msgid "Unknown" +#~ msgctxt "Unknown editor" +#~ msgid "Unknown" +#~ msgstr "अग्यात" + +#, fuzzy +#~| msgid "Unknown" +#~ msgctxt "Unknown publisher" +#~ msgid "Unknown" +#~ msgstr "अग्यात" + +#, fuzzy +#~| msgid "Unknown" +#~ msgctxt "Unknown creation date" +#~ msgid "Unknown" +#~ msgstr "अग्यात" + +#, fuzzy +#~| msgid "Unknown" +#~ msgctxt "Unknown volume information" +#~ msgid "Unknown" +#~ msgstr "अग्यात" + +#, fuzzy +#~| msgid "Unknown" +#~ msgctxt "Unknown type of document" +#~ msgid "Unknown" +#~ msgstr "अग्यात" + +#~ msgid "A DjVu backend" +#~ msgstr "एक डीजेवीयू बैकएन्ड" diff --git a/po/hne/okular_dvi.po b/po/hne/okular_dvi.po new file mode 100644 index 0000000..4ca309a --- /dev/null +++ b/po/hne/okular_dvi.po @@ -0,0 +1,638 @@ +# translation of okular_dvi.po to Hindi +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Ravishankar Shrivastava , 2007. +# Ravishankar Shrivastava , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_dvi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-02-26 15:55+0530\n" +"Last-Translator: Ravishankar Shrivastava \n" +"Language-Team: Hindi \n" +"Language: hne\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.2\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

" +msgstr "" + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

" +msgstr "" + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "डीवीआई फाइल प्रीएम्बल के साथ चालू नइ होय." + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "डीवीआई फाइल बहुत जादा खराब हे. ओकुलर ल पोस्टेम्बल नइ मिलिस." + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "पोस्टेम्बल - पोस्ट कमांड के साथ चालू नइ होय." + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "पोस्टएम्बल मं कमांड FNTDEF के बदला मा अउ कमांड हे." + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "पेज %1 बीओपी कमांड के साथ चालू नइ होथे ." + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

PATH: %2

" +msgstr "" + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

%2

" +msgstr "" + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, fuzzy, kde-format +#| msgid "" +#| "File not found: \n" +#| " %1" +msgid "File corruption. %1" +msgstr "" +"फाइल नइ मिलिसः\n" +"%1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "" + +#: dviRenderer.cpp:419 +#, fuzzy, kde-format +#| msgid "The special command '%1' is not implemented." +msgid "The specified file '%1' does not exist." +msgstr "विसेस कमांड '%1' लागू नइ हे." + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "अग्यात फोंट के डीवीआई कोड सेट अक्छर." + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "" + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "जब ईओपी कमांड से सामना होइस, स्टैक खाली नइ था." + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "जब पीओपी कमांड से सामना होइस, स्टैक खाली था." + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "डीवीआई कोड मं फोंट संदर्भ हे जऊन कि पहिली से परिभासित नइ हे." + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "एक अवैध कमांड से सामना होइस." + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "अग्यात ओप-कोड %1 से सामना होइस." + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "सन्निहित करत हे %1" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
" +msgstr "" +"पेज %1: पीडीएफ फाइल %2 ल पोस्टस्क्रिप्ट मं परिवर्ति नइ करे जा सके." +"
" + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
" +msgstr "पेज %1: पोस्टस्क्रिप्ट फाइल %2 नइ मिलिस.
" + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "पेपरसाइज डाटा '%1' पार नइ कर सकिस." + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

PATH: %1

%2

" +msgstr "" + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

PATH: %1

%2

" +msgstr "" + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" + +#: fontpool.cpp:482 +#, fuzzy, kde-format +#| msgid "Currently generating %1 at %2 dpi" +msgid "Currently generating %1 at %2 dpi…" +msgstr "अभी हाल के मं बनात हे %1 ल %2 डीपीआई पर" + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "जेनरेटर/तारीक" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "फोंट फाइल नइ मिलिस" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "खड़ा" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "आड़ा" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "एला मिला के 25 गलती होइस. अब आगू के गलती संदेस मन ल छापे नइ जाही." + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"फाइल नइ मिलिसः\n" +"%1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "विसेस कमांड '%1' लागू नइ हे." + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "फोंट फाइल %1 टूटा हे, या एला खोलेया पढ़िस नइ जा सके." + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "फोंट फाइल %1 बर अक्छर आकार सेट करे के दौरा फ्रीटाइप ह एक गलती के रिपोट दीस." + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "फ्रीटाइप ग्लिफ #%1 ल फोंट फाइल %2 से लोड करे मं अक्छम हे." + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "फ्रीटाइप ग्लिफ #%1 ल फोंट फाइल %2 से रेंडर करे मं अक्छम हे." + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "Glyph #%1 खाली हे" + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "ग्लिफ #%1 फोंट फाइल %2 मं खाली हे." + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "फोंट फाइल %2 से ग्लिफ #%1 ल लोड करे मं फ्रीटाइप फेल रहा." + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "फोंट फाइल %1 खोल नइ सकिस." + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "TexFont_PK::operator[]: अक्छर %1 फोंट %2 मं परिभासित नइ हे" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "अप्रत्यासित %1 पीके फाइल %2 में" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "अक्छर %1 फाइल %2 मं बहुत बड़ा हे" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "भंडारित करे बिट्स के गलत संख्या: अक्छर. %1, फोंट %2" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "खराब पीके फाइल (%1), बहुत अकन बिट्स" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "फोंट मं नान-स्कवेयर आस्पेक्ट रेसो हे" + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "फोंट फाइल %1 खोज नइ सकिस %2." + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "फोंट फाइल %1 बर चेकसम मिसमैच" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "फाइल %1 बर फोंट फाइल प्रारूप नइ पहिचान सकिस" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"गंभीर गलती.\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "वीएफ मेक्रो सूची : %1 मं गलत कमांड बाइट मिलिस" + +#, fuzzy +#~| msgid "DVI File Error" +#~ msgid "A DVI file renderer" +#~ msgstr "डीवीआई फाइल गलती" + +#~ msgid "Okular is currently generating bitmap fonts..." +#~ msgstr "ओकुलर अभी हाल मं बिटमैप फोंट तैयार करत हे..." + +#~ msgid "Aborts the font generation. Do not do this." +#~ msgstr "फोंट तैयार करना छोड़व. एला नइ बनाव." + +#~ msgid "Okular is generating fonts. Please wait." +#~ msgstr "किरपा करके, रुकव... ओकुलर फोंट तैयार करत हे." + +#~ msgid "Font Generation Progress Dialog" +#~ msgstr "फोंट जनरेसन प्रगति गोठ" + +#~ msgid "Abort" +#~ msgstr "छोड़व" + +#~ msgid "What is happening here?" +#~ msgstr "इहां का चलत हे?" + +#~ msgid "%v of %m" +#~ msgstr "%m के %v " + +#~ msgid "Please be patient" +#~ msgstr "किरपा करके, धैर्य रखव" + +#~ msgid "*.pdf|Portable Document Format (*.pdf)" +#~ msgstr "*.pdf|पोर्टेबल कागद फार्मेट (*.pdf)" + +#~ msgid "Export File As" +#~ msgstr "फाइल अइसन निर्यात करव" + +#~ msgid "" +#~ "The file %1\n" +#~ "exists. Do you want to overwrite it?" +#~ msgstr "" +#~ "फाइल %1 \n" +#~ "पहिली से ही मौजूद हे. का आप मन एखर ऊपर लिखना चाहथो ?" + +#~ msgid "Overwrite File" +#~ msgstr "फाइल के ऊपर लिखव" + +#~ msgid "Overwrite" +#~ msgstr "मेटाय के लिखव" + +#~ msgid "Using dvipdfm to export the file to PDF" +#~ msgstr "फाइल ल पीडीएफ मं निर्यात करे बर डीवीआईपीडीएफएम उपयोग करत हे" + +#~ msgid "Waiting for dvipdfm to finish..." +#~ msgstr "डीवीआईपीडीएफएम पूरा होए के इंतजार में..." + +#~ msgid "*.ps|PostScript (*.ps)" +#~ msgstr "*.ps|पोस्टस्क्रिप्ट (*.ps)" + +#~ msgid "Using dvips to export the file to PostScript" +#~ msgstr "फाइल ल पोस्टस्र्किप्ट मं निर्यात करे बर डीवीआईपीएस उपयोग करत हे" + +#~ msgid "Waiting for dvips to finish..." +#~ msgstr "डीवीआईपीएस पूरा होए के इंतजार में..." + +#~ msgid "Functionality Unavailable" +#~ msgstr "फंक्सनलिटी नइ मिलत" + +#~ msgid "DVI File Error" +#~ msgstr "डीवीआई फाइल गलती" + +#~ msgid "Not All Font Files Found" +#~ msgstr "सब्बो फोंट फाइल नइ मिलिस" + +#~ msgid "Locating fonts..." +#~ msgstr "फोंट लोकेट करत हे..." + +#~ msgid "Problem locating fonts" +#~ msgstr "फोंट खोजे मं समस्या" + +#~ msgid "Font generation aborted" +#~ msgstr "फोंट बनाना छोड़िस" + +#~ msgid "Export: %1 to PDF" +#~ msgstr "%1 ल पीडीएफ मं निर्यात करव" + +#~ msgid "Export: %1 to PostScript" +#~ msgstr "%1 ल पोस्टस्क्रिप्ट मं निर्यात करव" + +#~ msgid "The fontlist is currently empty." +#~ msgstr "फोंटलिस्ट अभी हाल मं खाली हे." + +#~ msgid "TeX Name" +#~ msgstr "टीईएक्स नाम" + +#~ msgid "Family" +#~ msgstr "कुटुंब" + +#~ msgid "Zoom" +#~ msgstr "जूम" + +#~ msgid "Type" +#~ msgstr "किसिम" + +#~ msgid "Encoding" +#~ msgstr "एनकोडिंग" + +#~ msgid "Comment" +#~ msgstr "टिप्पनी" + +#~ msgid "TeX virtual" +#~ msgstr "TeX काल्पनिक" + +#~ msgid "TeX Font Metric" +#~ msgstr "TeX फोंट मीट्रिक" + +#~ msgid "FreeType" +#~ msgstr "फ्री-टाइप" + +#~ msgid "Could not allocate memory for a font structure" +#~ msgstr "फोंट ढांचा बर मेमोरी आबंटित नइ करे जा सके" + +#~ msgid "Not enough memory to load the DVI-file." +#~ msgstr "DVI फाइल ल लोड करे बर बहुत मेमोरी नइ हे" + +#~ msgid "Could not load the DVI-file." +#~ msgstr "DVI फाइल लोड नइ कर सकिस." + +#~ msgid "Checksum mismatch" +#~ msgstr "चेकसम मिसमैच" + +#~ msgid " in font file " +#~ msgstr "फोंट फाइल में" + +#~ msgid "Could not allocate memory for a macro table." +#~ msgstr "मेक्रो टेबल बर मेमोरी आवंटित नइ करे जा सके." + +#~ msgid "Virtual character " +#~ msgstr "आभासी कैरेक्टर" + +#~ msgid " in font " +#~ msgstr "फोंट में" + +#~ msgid " ignored." +#~ msgstr "उपेक्छित." + +#~ msgid "Fatal Error" +#~ msgstr "गंभीर गलती" + +#~ msgid "KDVI: Information" +#~ msgstr "केडीवीआईः जानकारी" + +#~ msgid "Do not show this message again" +#~ msgstr "ये संदेस फिर से नइ देखाव" + +#~ msgid "Explain in more detail..." +#~ msgstr "अधिक विवरन के साथ स्पस्ट करव... " + +#~ msgid "File Error" +#~ msgstr "फाइल गलती" + +#~ msgid "Could Not Find Reference" +#~ msgstr "सन्दर्भ नइ मिलिस" diff --git a/po/hne/okular_fictionbook.po b/po/hne/okular_fictionbook.po new file mode 100644 index 0000000..ff83b0a --- /dev/null +++ b/po/hne/okular_fictionbook.po @@ -0,0 +1,91 @@ +# translation of okular_fictionbook.po to Hindi +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Ravishankar Shrivastava , 2007. +# Ravishankar Shrivastava , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_fictionbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-02-26 15:56+0530\n" +"Last-Translator: Ravishankar Shrivastava \n" +"Language-Team: Hindi \n" +"Language: hne\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.2\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "रविसंकर सिरीवास्तव, जी. करूनाकर" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "raviratlami@aol.in," + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "कागद एक वैध फिक्सनबुक नइ हे" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "कागद खोले मं फेल: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "कागद वैध जिप आर्काइव नइ हे" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "अवैध कागद स्ट्रक्चर (मुख्य डिरेक्टरी गंवा गे हे)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "कागद तिर कोनो सामान नइ मिलिस" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "अवैध एक्सएमएल कागद: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 टाबियस कोएनिग" + +#~ msgid "Tobias Koenig" +#~ msgstr "टाबियस कोएनिग" + +#~ msgid "Creator" +#~ msgstr "बनइया" + +#~ msgid "Title" +#~ msgstr "सीर्सक" + +#~ msgid "Author" +#~ msgstr "लेखक" + +#~ msgid "Producer" +#~ msgstr "बनइया" + +#~ msgid "Created" +#~ msgstr "निर्मित" diff --git a/po/hne/okular_ghostview.po b/po/hne/okular_ghostview.po new file mode 100644 index 0000000..95cc9e8 --- /dev/null +++ b/po/hne/okular_ghostview.po @@ -0,0 +1,113 @@ +# translation of okular_ghostview.po to Hindi +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Ravishankar Shrivastava , 2007. +# Ravishankar Shrivastava , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_ghostview\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-02-26 15:57+0530\n" +"Last-Translator: Ravishankar Shrivastava \n" +"Language-Team: Hindi \n" +"Language: hne\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.2\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "रविसंकर सिरीवास्तव, जी. करूनाकर" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "raviratlami@aol.in," + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, fuzzy, kde-format +#| msgid "&Use platform fonts" +msgid "Use Platform Fonts" +msgstr "प्लेटफारम फोंट मन उपयोग मं लेव (&U)" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "सामान्य सेटिंग" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "प्लेटफारम फोंट मन उपयोग मं लेव (&U)" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "घोस्ट-स्क्रिप्ट" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "घोस्टस्क्रिप्ट बैकएन्ड कान्फिगरेसन" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "कागद संस्करन" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "भाखा स्तर" + +#~ msgid "PS Backend" +#~ msgstr "पीएस बैकएन्ड" + +#~ msgid "A PostScript file renderer." +#~ msgstr "पोस्ट-स्क्रिप्ट फाइल रेंडरर." + +#~ msgid "© 2007-2008 Albert Astals Cid" +#~ msgstr "© 2007-2008 अल्बर्ट एस्टल्स सिड" + +#~ msgid "Albert Astals Cid" +#~ msgstr "अलबर्ट एस्टल्स सिड" + +#~ msgid "" +#~ "Anti-aliasing makes the result look better, but it makes the display take " +#~ "longer" +#~ msgstr "वटीएलियासिंग से परिनाम बेहतर दिखथे , फेर एखर से डिस्प्ले देखाय मं लंबा समय लेथे ." + +#, fuzzy +#~| msgid "&Enable anti-aliasing of fonts and images" +#~ msgid "&Enable anti-aliasing of fonts" +#~ msgstr "फोंट अउ फोटू मन के एन्टीअलाएसिंग सक्छम करव (&E)" + +#, fuzzy +#~| msgid "&Enable anti-aliasing of fonts and images" +#~ msgid "&Enable anti-aliasing of graphics" +#~ msgstr "फोंट अउ फोटू मन के एन्टीअलाएसिंग सक्छम करव (&E)" + +#~ msgid "&Show Ghostscript messages in a separate box" +#~ msgstr "अलग डब्बा मं घोस्टस्क्रिप्ट संदेस देखाव (&S)" + +#~ msgid "Ghostscript Configuration" +#~ msgstr "घोस्टस्क्रिप्ट कान्फिगरेसन" + +#~ msgid "Additional parameters to Ghostscript" +#~ msgstr "घोस्टस्क्रिप्ट बर अतिरिक्त पैरामीटर" diff --git a/po/hne/okular_kimgio.po b/po/hne/okular_kimgio.po new file mode 100644 index 0000000..1f36cf4 --- /dev/null +++ b/po/hne/okular_kimgio.po @@ -0,0 +1,73 @@ +# translation of okular_kimgio.po to Hindi +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Ravishankar Shrivastava , 2007. +msgid "" +msgstr "" +"Project-Id-Version: okular_kimgio\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2007-12-27 17:18+0530\n" +"Last-Translator: Ravishankar Shrivastava \n" +"Language-Team: Hindi \n" +"Language: hne\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "रविसंकर सिरीवास्तव, जी. करूनाकर" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "raviratlami@aol.in," + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "दस्तावेज लोड करे मं अक्छम:%1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" + +#~ msgid "Image Backend" +#~ msgstr "इमेज बैकएन्ड" + +#~ msgid "A simple image backend" +#~ msgstr "एक सरल फोटू बैकएन्ड" + +#, fuzzy +#~| msgid "" +#~| "© 2005 Albert Astals Cid\n" +#~| "© 2006-2007 Pino Toscano\n" +#~| "© 2006-2007 Tobias Koenig" +#~ msgid "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" +#~ msgstr "" +#~ "© 2005 अलबर्ट एस्टल्स सिड\n" +#~ "© 2006-2007 पिनो टोस्कानो\n" +#~ "© 2006-2007 टाबियस कोएनिग" + +#~ msgid "Albert Astals Cid" +#~ msgstr "अलबर्ट एस्टल्स सिड" + +#~ msgid "Pino Toscano" +#~ msgstr "पिनो टोसकिसनो" + +#~ msgid "Tobias Koenig" +#~ msgstr "टाबियस कोएनिग" + +#~ msgid "Main Toolbar" +#~ msgstr "मुख्य औजार पट्टी" diff --git a/po/hne/okular_poppler.po b/po/hne/okular_poppler.po new file mode 100644 index 0000000..97f896f --- /dev/null +++ b/po/hne/okular_poppler.po @@ -0,0 +1,413 @@ +# translation of okular_poppler.po to Hindi +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Ravishankar Shrivastava , 2007. +# Ravishankar Shrivastava , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_poppler\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-02-26 16:59+0530\n" +"Last-Translator: Ravishankar Shrivastava \n" +"Language-Team: Hindi \n" +"Language: hne\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.2\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "रविसंकर सिरीवास्तव, जी. करूनाकर" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "raviratlami@aol.in," + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "नइ" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "पीडीएफ विकल्प" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "रास्टराइजेसन बाध्य करव" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "छपाई से पहिली फोटू मं रास्टराइज करव" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "" + +#: generator_pdf.cpp:1031 +#, fuzzy, kde-format +#| msgctxt "PDF v. " +#| msgid "PDF v. %1" +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "पीडीएफ सं. %1" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "फार्मेट" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "एनक्रिप्टेड" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "अनएनक्रिप्टेड" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "सुरक्छा" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "हाँ" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "ओप्टीमाइज्ड" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "" + +#: generator_pdf.cpp:1758 +#, fuzzy, kde-format +#| msgid "PDF Backend" +msgid "PDF Backend Configuration" +msgstr "पीडीएफ बैकएन्ड" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "" + +#: pdfsignatureutils.cpp:239 +#, fuzzy, kde-format +#| msgid "Document Password" +msgid "Enter Password" +msgstr "कागद पासवर्ड" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "" + +#~ msgid "PDF Backend" +#~ msgstr "पीडीएफ बैकएन्ड" + +#~ msgid "A PDF file renderer" +#~ msgstr "पीडीएफ फाइल रेंडरर" + +#~ msgid "© 2005-2008 Albert Astals Cid" +#~ msgstr "© 2005-2008 अल्बर्ट एस्टल्स सिड" + +#~ msgid "Albert Astals Cid" +#~ msgstr "अलबर्ट एस्टल्स सिड" + +#~ msgid "Unknown" +#~ msgstr "अग्यात" + +#~ msgid "Unknown Date" +#~ msgstr "अग्यात तारीक" + +#~ msgid "Unknown Encryption" +#~ msgstr "अग्यात एनक्रिप्सन" + +#~ msgid "Unknown Optimization" +#~ msgstr "अग्यात ओप्टीमाइजेसन" + +#, fuzzy +#~| msgid "Please insert the password to read the document:" +#~ msgid "Please enter the password to read the document:" +#~ msgstr "कागद ल पढ़े बर किरपा करके, पासवर्ड भरव:" + +#~ msgid "Incorrect password. Try again:" +#~ msgstr "गलत पासवर्ड. किरपा करके, फिर से कोसिस करव:" + +#~ msgid "Aspect ratio change" +#~ msgstr "आस्पेक्ट रेसो बदलाव" + +#~ msgid "Print with specified margins" +#~ msgstr "निरधारित हासिया के साथ छापव" + +#~ msgid "Print adapting margins to keep aspect ratio" +#~ msgstr "ओस्पेक्ट रेसो ल बनाए रखते हुए हासिया के साथ छापव" diff --git a/po/hne/okular_xps.po b/po/hne/okular_xps.po new file mode 100644 index 0000000..3273bcb --- /dev/null +++ b/po/hne/okular_xps.po @@ -0,0 +1,59 @@ +# translation of okular_xps.po to Hindi +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Ravishankar Shrivastava , 2007. +# Ravishankar Shrivastava , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_xps\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-02-26 17:01+0530\n" +"Last-Translator: Ravishankar Shrivastava \n" +"Language-Team: Hindi \n" +"Language: hne\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.2\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "रविसंकर सिरीवास्तव, जी. करूनाकर" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "raviratlami@aol.in," + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "संसोधन" + +#~ msgid "XPS Backend" +#~ msgstr "एक्सपीएस बैकएन्ड" + +#~ msgid "An XPS backend" +#~ msgstr "एक एक्सपीएस बैकएन्ड" + +#~ msgid "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" +#~ msgstr "" +#~ "© 2006-2007 ब्रैड हेर्ड्स\n" +#~ "© 2007 जिरि क्लीमेंट\n" +#~ "© 2008 पिनो टोस्कानो" + +#~ msgid "Brad Hards" +#~ msgstr "ब्रेड हार्ड्स" + +#~ msgid "Jiri Klement" +#~ msgstr "जिरि क्लीमेंट" + +#~ msgid "Pino Toscano" +#~ msgstr "पिनो टोसकिसनो" diff --git a/po/hr/okular.po b/po/hr/okular.po new file mode 100644 index 0000000..43f314b --- /dev/null +++ b/po/hr/okular.po @@ -0,0 +1,6900 @@ +# Translation of okular to Croatian +# +# Zarko Pintar , 2009. +# Marko Dimjasevic , 2010, 2011. +# Andrej Dundovic , 2010. +# Marko Dimjašević , 2011. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2011-08-25 19:25+0200\n" +"Last-Translator: Marko Dimjašević \n" +"Language-Team: Croatian \n" +"Language: hr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Generator: Lokalize 1.2\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Marko Dimjašević" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "marko@dimjasevic.net" + +# pmap: =/nom=Okular/gen=Okulara/dat=Okularu/aku=Okular/lok=Okularu/ins=Okularom/_r=m/_b=j/ +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Okular, univerzalni preglednik dokumenata" + +#: aboutdata.h:23 +#, fuzzy, kde-format +#| msgid "" +#| "(C) 2002 Wilco Greven, Christophe Devriese\n" +#| "(C) 2004-2005 Enrico Ros\n" +#| "(C) 2005 Piotr Szymanski\n" +#| "(C) 2004-2009 Albert Astals Cid\n" +#| "(C) 2006-2009 Pino Toscano" +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2009 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "Bivši održavatelj" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, fuzzy, kde-format +#| msgid "Lots of framework work, ODT and FictionBook backends" +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "Puno rada u \"frameworku\", pozadinski servisi za ODT i FictionBook" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, fuzzy, kde-format +#| msgid "KPDF developer" +msgid "Developer" +msgstr "Razvijatelj KPDF-a" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymanski" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "Izradio Okular iz kôda KPDF-a" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "Enrico Ros" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "Razvijatelj KPDF-a" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "Eugene Trounev" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "Ilustracije napomena" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "" + +#: aboutdata.h:37 +#, fuzzy, kde-format +#| msgid "&Text Selection Tool" +msgid "Table selection tool" +msgstr "Alat za označavanje &teksta" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "" + +#: aboutdata.h:38 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgid "Annotation improvements" +msgstr "Svojstva opaske" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "Idi na stranicu %1" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "Otvori vanjsku datoteku" + +#: core/action.cpp:197 +#, fuzzy, kde-format +#| msgid "Execute '%1'..." +msgid "Execute '%1'…" +msgstr "Izvrši '%1'…" + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "Prva stranica" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "Prethodna stranica" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "Sljedeća stranica" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "Zadnja stranica" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "Nazad" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "Naprijed" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Izlaz" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "Pokreni prezentaciju" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "Završi prezentaciju" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go To Page…" +msgstr "Idi na stranicu" + +#: core/action.cpp:365 +#, fuzzy, kde-format +#| msgid "Play sound..." +msgid "Play sound…" +msgstr "Reproduciraj zvuk…" + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "Skripta u JavaScriptu" + +#: core/action.cpp:483 +#, fuzzy, kde-format +#| msgid "Play movie..." +msgid "Play movie…" +msgstr "Reproduciraj film…" + +#: core/action.cpp:554 +#, fuzzy, kde-format +#| msgid "Play movie..." +msgid "Play movie" +msgstr "Reproduciraj film…" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "" + +#: core/action.cpp:558 +#, fuzzy, kde-format +#| msgid "Play movie..." +msgid "Pause movie" +msgstr "Reproduciraj film…" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "Odabir pozadinskog servisa" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
%1 (%2).

Please select which one to use:
" +msgstr "" +"Pronađen je više od jednog pozadinskog servisa za MIME-vrstu:
" +"%1 (%2).

Molim odaberite koji želite koristiti:
" + +#: core/document.cpp:200 +#, fuzzy, kde-format +#| msgid "Go to page %1" +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "Idi na stranicu %1" + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "" + +#: core/document.cpp:246 +#, fuzzy, kde-format +#| msgid "%1 x %2 in" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 x %2 in" + +#: core/document.cpp:248 +#, fuzzy, kde-format +#| msgid "%1 x %2 mm" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 x %2 mm" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "Ne mogu pronaći priključak koji može obraditi proslijeđen dokument." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "Prezentacija" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"Dokument pokušava izvršiti vanjsku aplikaciju pa to Okular, radi vaše " +"sigurnosti, ne dozvoljava." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "Nije pronađena aplikacija za otvaranje datoteke mime-vrste %1." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "Nije moguće otvoriti privremenu datoteku" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "Konverzija ispisa nije uspjela" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "Proces ispisa se srušio" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "Proces ispisivanja nije moguće pokrenuti" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "Ispis u datoteku nije uspio" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "Pisač je bio u neispravnom stanju" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "Nije moguće pronaći datoteku za ispis." + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "Nema datoteke za ispis" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"Ne mogu pronaći prikladan program za ispis. Pobrinite se da je CUPS-ov " +"program lpr dostupan" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "Nije moguće otvoriti '%1'. Datoteka ne postoji" + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Naslov" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Predmet" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Opis" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "Autor" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Stvaralac" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Producent" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "Autorska prava" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "Stranice" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Izrađeno" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Mijenjano" + +#: core/document.cpp:6032 +#, fuzzy, kde-format +#| msgid "Mime Type" +msgid "MIME Type" +msgstr "Mime-vrsta" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "Kategorija" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Ključne riječi" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "Putanja datoteke" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "Veličina datoteke" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "Veličina stranice" + +#: core/documentcommands.cpp:62 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "%1 opaska" + +#: core/documentcommands.cpp:108 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "Prezentacija" + +#: core/documentcommands.cpp:155 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "Svojstva opaske" + +#: core/documentcommands.cpp:190 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Text Annotation" +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "Tekstualna opaska" + +#: core/documentcommands.cpp:263 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "%1 opaska" + +#: core/documentcommands.cpp:333 +#, fuzzy, kde-format +#| msgid "Select text" +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "Označi tekst" + +#: core/documentcommands.cpp:398 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "Svojstva opaske" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "" + +#: core/generator.cpp:790 +#, fuzzy, kde-format +#| msgid "Plain &Text..." +msgid "Plain &Text…" +msgstr "Čisti &tekst…" + +# pmap: =/nom=PDF/gen=PDF-a/dat=PDF-u/aku=PDF/lok=PDF-u/ins=PDF-om/_r=m/_b=j/ +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "OpenDocument Text" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, fuzzy, kde-format +#| msgid "Editor Options" +msgid "Print Options" +msgstr "Opcije uređivača" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#: core/printoptionswidget.cpp:25 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgid "Scale mode:" +msgstr "Način boja:" + +#: core/script/js_app.cpp:206 +#, fuzzy, kde-format +#| msgid "Close this message" +msgid "Do not show this message again" +msgstr "Zatvori ovu poruku" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, fuzzy, kde-format +#| msgid "No description available." +msgid "Not Available" +msgstr "Nedostupan opis." + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "" + +#: core/signatureutils.cpp:504 +#, fuzzy, kde-kuit-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" +"Datoteku nije moguće spremiti u '%1'. Pokušajte ju spremiti na drugo mjesto." + +#: core/signatureutils.cpp:506 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown signing error" +msgstr "Nepoznata datoteka" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Izvor: %1" + +#: core/textdocumentsettings.cpp:34 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgid "&Default Font:" +msgstr "Zadan prijelaz:" + +#: gui/certificatemodel.cpp:39 +#, fuzzy, kde-format +#| msgctxt "A document format, Okular-specific" +#| msgid "Document Archive" +msgid "Version" +msgstr "Document Archive" + +#: gui/certificatemodel.cpp:41 +#, fuzzy, kde-format +#| msgid "Page Size" +msgid "Serial Number" +msgstr "Veličina stranice" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, fuzzy, kde-format +#| msgid "Expired" +msgid "Expires On" +msgstr "Isteklo" + +#: gui/certificatemodel.cpp:49 +#, fuzzy, kde-format +#| msgid "Subject" +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Predmet" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "" + +#: gui/certificatemodel.cpp:53 +#, fuzzy, kde-format +#| msgid "Memory Usage" +msgid "Key Usage" +msgstr "Iskorištenost memorije" + +#: gui/certificatemodel.cpp:72 +#, fuzzy, kde-format +#| msgid "%1:" +msgid "V%1" +msgstr "%1:" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "" + +#: gui/certificatemodel.cpp:146 +#, fuzzy, kde-format +#| msgid "&Properties" +msgid "Property" +msgstr "&Svojstva" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, fuzzy, kde-format +#| msgid "&Open Pop-up Note" +msgid "Pop-up Note" +msgstr "&Otvori skočnu bilješku" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "Unutarlinijske bilješke" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +#| msgid "For Comment" +msgid "Arrow with Comment" +msgstr "Za komentiranje" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "" + +#: gui/guiutils.cpp:59 +#, fuzzy, kde-format +#| msgid "Line Properties" +msgid "Straight Line with Comment" +msgstr "Svojstva linije" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, fuzzy, kde-format +#| msgid "Straight Yellow Line" +msgid "Straight Line" +msgstr "Ravna žuta linija" + +#: gui/guiutils.cpp:63 +#, fuzzy, kde-format +#| msgid "For Comment" +msgid "Polygon with Comment" +msgstr "Za komentiranje" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, fuzzy, kde-format +#| msgid "Blue Polygon" +msgid "Polygon" +msgstr "Plavi poligon" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgid "Strike out" +msgid "Rectangle with Comment" +msgstr "Prekriži" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "Pravokutnik" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgid "Underline" +msgid "Ellipse with Comment" +msgstr "Podvuci" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "Elipsa" + +#: gui/guiutils.cpp:83 +#, fuzzy, kde-format +#| msgid "Highlight" +msgid "Highlight with Comment" +msgstr "Označeno" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "Označeno" + +#: gui/guiutils.cpp:87 +#, fuzzy, kde-format +#| msgid "Squiggly" +msgid "Squiggle with Comment" +msgstr "Črčkarija" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, fuzzy, kde-format +#| msgid "Squiggly" +msgid "Squiggle" +msgstr "Črčkarija" + +#: gui/guiutils.cpp:91 +#, fuzzy, kde-format +#| msgid "Underline" +msgid "Underline with Comment" +msgstr "Podvuci" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "Podvuci" + +#: gui/guiutils.cpp:95 +#, fuzzy, kde-format +#| msgid "Strike out" +msgid "Strike Out with Comment" +msgstr "Prekriži" + +#: gui/guiutils.cpp:95 +#, fuzzy, kde-format +#| msgid "Strike out" +msgid "Strike Out" +msgstr "Prekriži" + +#: gui/guiutils.cpp:102 +#, fuzzy, kde-format +#| msgid "Strike out" +msgid "Stamp with Comment" +msgstr "Prekriži" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "Pečat" + +#: gui/guiutils.cpp:106 +#, fuzzy, kde-format +#| msgid "Line Properties" +msgid "Freehand Line with Comment" +msgstr "Svojstva linije" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, fuzzy, kde-format +#| msgid "Green Freehand Line" +msgid "Freehand Line" +msgstr "Zelena linija prostom rukom" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "Uspravna strelica" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "Datotečni privitak" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "Zvuk" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "Film" + +#: gui/guiutils.cpp:126 +#, fuzzy, kde-format +#| msgid "Screen:" +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Zaslon:" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation" +msgstr "%1 opaska" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "Nepoznat" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Autor: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "Gdje želite spremiti %1?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "Ne mogu otvoriti \"%1\" za pisanje. Datoteka nije spremljena." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "" + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "" + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "" + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "" + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "" + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "" + +#: gui/signatureguiutils.cpp:60 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Certificate is Trusted." +msgstr "Konfiguriraj preglednik…" + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "" + +#: gui/signatureguiutils.cpp:64 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Certificate issuer is unknown." +msgstr "Konfiguriraj preglednik…" + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "" + +#: gui/signatureguiutils.cpp:68 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Certificate has Expired." +msgstr "Konfiguriraj preglednik…" + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "" + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "" + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "" + +#: gui/signatureguiutils.cpp:96 +#, fuzzy, kde-format +#| msgid "Unknown font" +msgid "Unknown Algorithm" +msgstr "Nepoznato pismo" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown Type" +msgstr "Nepoznata datoteka" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "" + +#: gui/signatureguiutils.cpp:135 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Sign Certificate" +msgstr "Konfiguriraj preglednik…" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr "" + +#: gui/signatureguiutils.cpp:165 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "The document has not been modified since it was signed." +msgstr "Ispisivanje dokumenta nije dozvoljeno." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "" + +#: gui/signatureguiutils.cpp:208 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "Ispisivanje dokumenta nije dozvoljeno." + +#: gui/signatureguiutils.cpp:211 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "This document is digitally signed." +msgstr "Ispisivanje dokumenta nije dozvoljeno." + +#: gui/signatureguiutils.cpp:213 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "Ispisivanje dokumenta nije dozvoljeno." + +#: gui/signatureguiutils.cpp:216 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "Ispisivanje dokumenta nije dozvoljeno." + +#: gui/signaturemodel.cpp:141 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "Svojstva uspravne strelice" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "" + +#: gui/signaturemodel.cpp:172 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgid "Reason: %1" +msgstr "Stranica: %1" + +#: gui/signaturemodel.cpp:177 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Location: %1" +msgstr "%1 opaska" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "" + +#: gui/signaturemodel.cpp:193 +#, fuzzy, kde-format +#| msgctxt "Unknown author" +#| msgid "Unknown" +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "Nepoznat" + +#: gui/signaturemodel.cpp:195 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "Svojstva uspravne strelice" + +#: gui/signaturemodel.cpp:201 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgid "Signature Type: %1" +msgstr "Svojstva uspravne strelice" + +#: part/annotationactionhandler.cpp:148 +#, fuzzy, kde-format +#| msgid "Reloa&d" +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "Ponovno &učitaj" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "" + +#: part/annotationactionhandler.cpp:150 +#, fuzzy, kde-format +#| msgid "Allow" +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "Dopusti" + +#: part/annotationactionhandler.cpp:151 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Green Ink" +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "Zelena tinta" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "Prilagodi širini" + +#: part/annotationactionhandler.cpp:252 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1:" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:308 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Svojstva opaske" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "" + +#: part/annotationactionhandler.cpp:314 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "%1 opaska" + +#: part/annotationactionhandler.cpp:316 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "%1 opaska" + +#: part/annotationactionhandler.cpp:318 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "%1 opaska" + +#: part/annotationactionhandler.cpp:322 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "%1 opaska" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "" + +#: part/annotationactionhandler.cpp:328 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "%1 opaska" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" + +#: part/annotationactionhandler.cpp:341 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Svojstva opaske" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "" + +#: part/annotationactionhandler.cpp:432 +#, fuzzy, kde-format +#| msgid "&Color:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "&Boja:" + +#: part/annotationactionhandler.cpp:434 +#, fuzzy, kde-format +#| msgid "&Color:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "&Boja:" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "" + +#: part/annotationactionhandler.cpp:499 +#, fuzzy, kde-format +#| msgid "&Selection Tool" +msgctxt "@title:window" +msgid "Select color" +msgstr "Alat za označa&vanje" + +#: part/annotationactionhandler.cpp:552 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "&Annotations" +msgstr "%1 opaska" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "" + +#: part/annotationactionhandler.cpp:554 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Text Annotation" +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Tekstualna opaska" + +#: part/annotationactionhandler.cpp:557 +#, fuzzy, kde-format +#| msgid "Highlight" +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "Označeno" + +#: part/annotationactionhandler.cpp:558 +#, fuzzy, kde-format +#| msgid "Underline" +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "Podvuci" + +#: part/annotationactionhandler.cpp:559 +#, fuzzy, kde-format +#| msgid "Squiggly" +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "Črčkarija" + +#: part/annotationactionhandler.cpp:560 +#, fuzzy, kde-format +#| msgid "Strike out" +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "Prekriži" + +#: part/annotationactionhandler.cpp:562 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Svojstva uspravne strelice" + +#: part/annotationactionhandler.cpp:563 +#, fuzzy, kde-format +#| msgid "Inline Note" +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "Unutarlinijske bilješke" + +#: part/annotationactionhandler.cpp:564 +#, fuzzy, kde-format +#| msgid "&Open Pop-up Note" +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "&Otvori skočnu bilješku" + +#: part/annotationactionhandler.cpp:565 +#, fuzzy, kde-format +#| msgid "Green Freehand Line" +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "Zelena linija prostom rukom" + +#: part/annotationactionhandler.cpp:567 +#, fuzzy, kde-format +#| msgid "Straight Yellow Line" +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "Ravna žuta linija" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "" + +#: part/annotationactionhandler.cpp:569 +#, fuzzy, kde-format +#| msgid "Rectangle" +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "Pravokutnik" + +#: part/annotationactionhandler.cpp:570 +#, fuzzy, kde-format +#| msgid "Ellipse" +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "Elipsa" + +#: part/annotationactionhandler.cpp:571 +#, fuzzy, kde-format +#| msgid "Blue Polygon" +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "Plavi poligon" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "" + +#: part/annotationactionhandler.cpp:618 +#, fuzzy, kde-format +#| msgid "Stamp" +msgctxt "@action" +msgid "Stamp" +msgstr "Pečat" + +#: part/annotationactionhandler.cpp:638 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "%1 opaska" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "" + +#: part/annotationactionhandler.cpp:651 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Quick Annotation Bar" +msgstr "%1 opaska" + +#: part/annotationactionhandler.cpp:665 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "%1 opaska" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "" + +#: part/annotationactionhandler.cpp:669 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Text Annotation" +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "Tekstualna opaska" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "" + +#: part/annotationactionhandler.cpp:680 +#, fuzzy, kde-format +#| msgid "Font:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "Pismo:" + +#: part/annotationactionhandler.cpp:681 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Svojstva opaske" + +#: part/annotationactionhandler.cpp:684 +#, fuzzy, kde-format +#| msgid "Line" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "Linija" + +#: part/annotationactionhandler.cpp:693 +#, fuzzy, kde-format +#| msgid "&Opacity:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "Nepr&ozirnost:" + +#: part/annotationactionhandler.cpp:696 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1:" + +#: part/annotationmodel.cpp:320 +#, fuzzy, kde-format +#| msgid "Page %1" +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "Stranica %1" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "Stranica %1" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "%1 opaska" +msgstr[1] "%1 opaske" +msgstr[2] "%1 opaski" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "&Otvori skočnu bilješku" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Ukloni oznaku" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Dodaj oznaku" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Text to Clipboard" +msgstr "Kopiraj u odlagalište." + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "Kopiranje je zabranio DRM" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "&Izbriši" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "&Svojstva" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, fuzzy, kde-format +#| msgctxt "%1 is the name of the file to save" +#| msgid "&Save '%1'..." +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "&Spremi '%1'…" + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "&Izgled" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "&Općenito" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&Autor:" + +#: part/annotationpropertiesdialog.cpp:69 +#, fuzzy, kde-format +#| msgid "Created" +msgid "Created:" +msgstr "Izrađeno" + +#: part/annotationpropertiesdialog.cpp:74 +#, fuzzy, kde-format +#| msgid "Modified" +msgid "Modified:" +msgstr "Mijenjano" + +#: part/annotationpropertiesdialog.cpp:108 +#, fuzzy, kde-format +#| msgid "Note Properties" +msgid "Pop-up Note Properties" +msgstr "Svojstva bilješke" + +#: part/annotationpropertiesdialog.cpp:111 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgid "Typewriter Properties" +msgstr "Svojstva uspravne strelice" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "Svojstva unutarlinijskih bilješki" + +#: part/annotationpropertiesdialog.cpp:119 +#, fuzzy, kde-format +#| msgid "Line Properties" +msgid "Straight Line Properties" +msgstr "Svojstva linije" + +#: part/annotationpropertiesdialog.cpp:121 +#, fuzzy, kde-format +#| msgid "Sound Properties" +msgid "Polygon Properties" +msgstr "Svojstva zvuka" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "Geometrijska svojstva" + +#: part/annotationpropertiesdialog.cpp:128 +#, fuzzy, kde-format +#| msgid "Stamp Properties" +msgid "Text Markup Properties" +msgstr "Svojstva pečata" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "Svojstva pečata" + +#: part/annotationpropertiesdialog.cpp:134 +#, fuzzy, kde-format +#| msgid "Line Properties" +msgid "Freehand Line Properties" +msgstr "Svojstva linije" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "Svojstva uspravne strelice" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "Svojstva datotečnog privitka" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "Svojstva zvuka" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "Svojstva filma" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "Svojstva opaske" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Put a stamp symbol" +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "Stavi pečatni simbol" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&Boja:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%1:" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "Nepr&ozirnost:" + +#: part/annotationwidgets.cpp:363 +#, fuzzy, kde-format +#| msgid "Icon" +msgid "Icon:" +msgstr "Ikona" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "Komentar" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "Pomoć" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "Umetni" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "Ključ" + +#: part/annotationwidgets.cpp:368 +#, fuzzy, kde-format +#| msgid "New Paragraph" +msgid "New paragraph" +msgstr "Novi odlomak" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "Bilješka" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "Odlomak" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Pismo:" + +#: part/annotationwidgets.cpp:387 +#, fuzzy, kde-format +#| msgid "&Color:" +msgid "Text &color:" +msgstr "&Boja:" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "" + +#: part/annotationwidgets.cpp:395 +#, fuzzy, kde-format +#| msgctxt "Rotate left" +#| msgid "Left" +msgid "Left" +msgstr "Ulijevo" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "" + +#: part/annotationwidgets.cpp:397 +#, fuzzy, kde-format +#| msgctxt "Rotate right" +#| msgid "Right" +msgid "Right" +msgstr "Udesno" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "Odobren" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "Kakav je" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "Povjerljivo" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "Resorno" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "Nacrt" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "Eksperimentalno" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "Isteklo" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "Završno" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "Za komentiranje" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "Za javno izdavanje" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "Nije odobreno" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "Nije za javno izdavanje" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "Prodano" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "Stroga tajna" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "Oznaka" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "Informacije" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, fuzzy, kde-format +#| msgid "Stamp Symbol" +msgid "Stamp symbol:" +msgstr "Pečatni simbol" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgid "&Width:" +msgstr "Prilagodi širini" + +#: part/annotationwidgets.cpp:504 +#, fuzzy, kde-format +#| msgid "Line" +msgid "Line start:" +msgstr "Linija" + +#: part/annotationwidgets.cpp:506 +#, fuzzy, kde-format +#| msgid "Line" +msgid "Line end:" +msgstr "Linija" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:514 +#, fuzzy, kde-format +#| msgctxt "Symbol for caret annotations" +#| msgid "None" +msgid "None" +msgstr "Ništa" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "" + +#: part/annotationwidgets.cpp:531 +#, fuzzy, kde-format +#| msgid "Leader Line Length:" +msgid "Leader line length:" +msgstr "Duljina uvodne linije:" + +#: part/annotationwidgets.cpp:533 +#, fuzzy, kde-format +#| msgid "Leader Line Extensions Length:" +msgid "Leader line extensions length:" +msgstr "Duljina nastavaka uvodne linije:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Shape fill:" +msgstr "Spremi u datoteku…" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Vrsta:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "Prekriži" + +#: part/annotationwidgets.cpp:745 +#, fuzzy, kde-format +#| msgid "File Attachment Symbol" +msgid "File attachment symbol:" +msgstr "Simbol datotečnog privitka" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "Graf" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "Pribadača" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "Spajalica" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "Oznaka" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "Datoteka" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "N/A" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "Nedostupan opis." + +#: part/annotationwidgets.cpp:773 +#, fuzzy, kde-format +#| msgid "Name" +msgid "Name:" +msgstr "Ime" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "Opis:" + +#: part/annotationwidgets.cpp:843 +#, fuzzy, kde-format +#| msgid "Caret Symbol" +msgid "Caret symbol:" +msgstr "Simbol uspravne strelice" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "Ništa" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "Zatvori ovu bilješku" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "Opcije" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "" + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "" + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "" + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "" + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"%2 oznaka" +msgstr[1] "" +"%1\n" +"\n" +"%2 oznake" +msgstr[2] "" +"%1\n" +"\n" +"%2 oznaka" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Oznake" + +#: part/bookmarklist.cpp:136 +#, fuzzy, kde-format +#| msgid "End of the document" +msgid "Show for all documents" +msgstr "Kraj dokumenta" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, fuzzy, kde-format +#| msgid "S&earch:" +msgid "Search…" +msgstr "&Traži:" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, kde-format +msgid "Expand All" +msgstr "" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, kde-format +msgid "Collapse All" +msgstr "" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "Idi na ovu oznaku" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "Preimenuj oznaku" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Otvori dokument" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "" + +#: part/certificateviewer.cpp:47 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Certificate Viewer" +msgstr "Konfiguriraj preglednik…" + +#: part/certificateviewer.cpp:50 +#, fuzzy, kde-format +#| msgid "E&xport As" +msgid "Export…" +msgstr "I&zvezi kao" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "Opće" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "" + +#: part/certificateviewer.cpp:159 +#, fuzzy, kde-format +#| msgid "Where do you want to save %1?" +msgid "Where do you want to save this certificate?" +msgstr "Gdje želite spremiti %1?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "" + +#: part/colormodemenu.cpp:19 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "Način boja:" + +#: part/colormodemenu.cpp:21 +#, fuzzy, kde-format +#| msgid "Change &colors" +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "Promijeni &boje" + +#: part/colormodemenu.cpp:29 +#, fuzzy, kde-format +#| msgid "Normal Icons" +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "Normalne ikone" + +#: part/colormodemenu.cpp:41 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "Obrni boje" + +#: part/colormodemenu.cpp:42 +#, fuzzy, kde-format +#| msgid "Change Paper Color" +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "Promijeni boju papira" + +#: part/colormodemenu.cpp:44 +#, fuzzy, kde-format +#| msgid "Change Dark & Light Colors" +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "Promijeni tamne i svijetle boje" + +#: part/colormodemenu.cpp:46 +#, fuzzy, kde-format +#| msgid "Convert to Black & White" +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "Pretvori u crno – bijelo" + +#: part/colormodemenu.cpp:49 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "Obrni boje" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, fuzzy, kde-format +#| msgid "Reloa&d" +msgid "Red" +msgstr "Ponovno &učitaj" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Green Ink" +msgid "Green" +msgstr "Zelena tinta" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, fuzzy, kde-format +#| msgid "Allow" +msgid "Yellow" +msgstr "Dopusti" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "Žuta označnica" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, fuzzy, kde-format +#| msgid "Highlight" +msgid "Green Highlighter" +msgstr "Označeno" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, fuzzy, kde-format +#| msgid "Insert" +msgid "Insert Text" +msgstr "Umetni" + +#: part/dlgaccessibility.cpp:38 +#, fuzzy, kde-format +#| msgid "Draw border around &Links" +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "Iscrtaj rub oko &linkova" + +#: part/dlgaccessibility.cpp:48 +#, fuzzy, kde-format +#| msgid "Change &colors" +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "Promijeni &boje" + +#: part/dlgaccessibility.cpp:54 +#, fuzzy, kde-format +#| msgid "Warning: these options can badly affect drawing speed." +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "" +"Upozorenje: ove opcije mogu poprilično negativno utjecati na brzinu " +"iscrtavanja." + +#: part/dlgaccessibility.cpp:60 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "Obrni boje" + +#: part/dlgaccessibility.cpp:61 +#, fuzzy, kde-format +#| msgid "Change Paper Color" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "Promijeni boju papira" + +#: part/dlgaccessibility.cpp:62 +#, fuzzy, kde-format +#| msgid "Change Dark & Light Colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "Promijeni tamne i svijetle boje" + +#: part/dlgaccessibility.cpp:63 +#, fuzzy, kde-format +#| msgid "Convert to Black & White" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "Pretvori u crno – bijelo" + +#: part/dlgaccessibility.cpp:64 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "Obrni boje" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "" + +#: part/dlgaccessibility.cpp:70 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "Način boja:" + +#: part/dlgaccessibility.cpp:87 +#, fuzzy, kde-format +#| msgid "Paper color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Boja papira:" + +#: part/dlgaccessibility.cpp:99 +#, fuzzy, kde-format +#| msgid "Dark color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Tamna boja:" + +#: part/dlgaccessibility.cpp:104 +#, fuzzy, kde-format +#| msgid "Light color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "Svijetla boja:" + +#: part/dlgaccessibility.cpp:119 +#, fuzzy, kde-format +#| msgid "Threshold:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "Prag:" + +#: part/dlgaccessibility.cpp:127 +#, fuzzy, kde-format +#| msgid "Contrast:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Kontrast:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "" + +#: part/dlgaccessibility.cpp:165 +#, fuzzy, kde-format +#| msgid "Text to search for" +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "Tekst koji treba tražiti" + +#: part/dlgannotations.cpp:25 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "%1 opaska" + +#: part/dlgannotations.cpp:26 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "%1 opaska" + +#: part/dlgannotations.cpp:28 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "%1 opaska" + +#: part/dlgannotations.cpp:34 +#, fuzzy, kde-format +#| msgid "&Author:" +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "&Autor:" + +#: part/dlgannotations.cpp:38 +#, fuzzy, kde-format +#| msgid "" +#| "Note: the information here is used only for comments and reviews. " +#| "Information inserted here will not be transmitted without your knowledge." +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"Napomena: informacije se ovdje koriste samo za komentare i osvrte. " +"Ovdje umetnute informacije neće se slati bez vašeg znanja." + +#: part/dlgannotations.cpp:48 +#, fuzzy, kde-format +#| msgid "Annotations author" +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

Quick Annotation Tools

" +msgstr "Autor opaski" + +#: part/dlgeditor.cpp:28 +#, fuzzy, kde-format +#| msgctxt "@info:whatsthis" +#| msgid "" +#| "Choose the editor you want to launch when Okular wants to open a source " +#| "file." +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" +"Izaberite uređivač koji želite da se pokrene kad Okular želi otvoriti " +"izvornu datoteku." + +#: part/dlgeditor.cpp:29 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Custom Text Editor" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "Posebni uređivač teksta" + +#: part/dlgeditor.cpp:30 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Kate" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Kile" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "SciTE" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Emacs client" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Emacs-klijent" + +#: part/dlgeditor.cpp:34 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Lyx client" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "Lyx-klijent" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "" + +#: part/dlgeditor.cpp:37 +#, fuzzy, kde-format +#| msgid "Editor:" +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "Uređivač:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
\n" +"You can also put few placeholders:\n" +"
    \n" +"
  • %f - the file name
  • \n" +"
  • %l - the line of the file to be reached
  • \n" +"
  • %c - the column of the file to be reached
  • \n" +"
\n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"Postavlja naredbu prilagođenog uređivača teksta koju treba izvršiti.
\n" +"Ovdje također možete staviti nekoliko mjesnih simbola:\n" +"
    \n" +"
  • %f – ime datoteke
  • \n" +"
  • %l – linija datoteke koju treba doseći
  • \n" +"
  • %c – stupac datoteke kojeg treba doseći
  • \n" +"
\n" +"Ako %f nije naveden, ime datoteke bit će nadodano navedenoj naredbi." + +#: part/dlgeditor.cpp:63 +#, fuzzy, kde-format +#| msgid "Command:" +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "Naredba:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "" + +#: part/dlggeneral.cpp:37 +#, fuzzy, kde-format +#| msgid "Appearance" +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "Izgled" + +#: part/dlggeneral.cpp:41 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "Prikaži &klizač" + +#: part/dlggeneral.cpp:48 +#, fuzzy, kde-format +#| msgid "Link the &thumbnails with the page" +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "Poveži &sličice sa stranicom" + +#: part/dlggeneral.cpp:55 +#, fuzzy, kde-format +#| msgid "Show &hints and info messages" +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "Prikaži sa&vjete i informacijske poruke" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "" + +#: part/dlggeneral.cpp:68 +#, fuzzy, kde-format +#| msgid "Display document title in title bar" +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "Prikaži naslov dokumenta u naslovnoj traci" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "" + +#: part/dlggeneral.cpp:77 +#, fuzzy, kde-format +#| msgid "Display document title in title bar" +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "Prikaži naslov dokumenta u naslovnoj traci" + +#: part/dlggeneral.cpp:92 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "Boja pozadine:" + +#: part/dlggeneral.cpp:114 +#, fuzzy, kde-format +#| msgid "Program Features" +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "Mogućnosti programa" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "" + +#: part/dlggeneral.cpp:139 +#, fuzzy, kde-format +#| msgid "&Obey DRM limitations" +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "P&okori se ograničenjima DRM-a" + +#: part/dlggeneral.cpp:148 +#, fuzzy, kde-format +#| msgid "&Reload document on file change" +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "Ponovno učitaj dokument kad se p&romijeni datoteka" + +#: part/dlggeneral.cpp:155 +#, fuzzy, kde-format +#| msgid "Show backend selection dialog" +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "Prikaži dijalog pozadinskog servisa za odabir" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, fuzzy, kde-format +#| msgid "Overview columns:" +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "Prikaz stupaca:" + +#: part/dlggeneral.cpp:220 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%1:" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "" + +#: part/dlggeneral.cpp:228 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%1:" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "" + +#: part/dlggeneral.cpp:233 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "Prilagodi širini" + +#: part/dlggeneral.cpp:234 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "Prilagodi stranici" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" + +#: part/dlggeneral.cpp:241 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "Zadan prijelaz:" + +#: part/dlgperformance.cpp:26 +#, fuzzy, kde-format +#| msgid "Enable &transparency effects" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "Omogući efekte &transparentnosti" + +#: part/dlgperformance.cpp:28 +#, fuzzy, kde-format +#| msgid "CPU Usage" +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "Iskorištenost CPU-a" + +#: part/dlgperformance.cpp:35 +#, fuzzy, kde-format +#| msgid "&Low" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "Nis&ko" + +#: part/dlgperformance.cpp:36 +#, fuzzy, kde-format +#| msgid "&Normal (default)" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "&Normalno (zadano)" + +#: part/dlgperformance.cpp:37 +#, fuzzy, kde-format +#| msgid "&Aggressive" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "&Agresivno" + +#: part/dlgperformance.cpp:38 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Green Ink" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "Zelena tinta" + +#: part/dlgperformance.cpp:40 +#, fuzzy, kde-format +#| msgid "Memory Usage" +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "Iskorištenost memorije" + +#: part/dlgperformance.cpp:54 +#, fuzzy, kde-format +#| msgid "Enable transitions" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "Omogući prijelaze" + +#: part/dlgperformance.cpp:56 +#, fuzzy, kde-format +#| msgid "Underline" +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "Podvuci" + +#: part/dlgperformance.cpp:59 +#, fuzzy, kde-format +#| msgid "Enable transitions" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "Omogući prijelaze" + +#: part/dlgperformance.cpp:64 +#, fuzzy, kde-format +#| msgid "Enable transitions" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "Omogući prijelaze" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"Drži korištenu memoriju na najnižoj mogućoj razini. Nemoj išta ponovno " +"koristiti (za sustave s malo memorije)." + +#: part/dlgperformance.cpp:80 +#, fuzzy, kde-format +#| msgid "" +#| "A good compromise between memory usage and speed gain. Preload next page " +#| "and boost searches. (For systems with 256MB of memory, typically.)" +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"Dobar kompromis između korištene memorije i brzine izvođenja. Unaprijed " +"učitaj sljedeću stranicu i ubrzaj pretraživanje (tipično za sustave s 256MB " +"memorije)." + +#: part/dlgperformance.cpp:83 +#, fuzzy, kde-format +#| msgid "" +#| "Keeps everything in memory. Preload next pages. Boost searches. (For " +#| "systems with more than 512MB of memory.)" +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"Sve čuva u memoriji. Unaprijed učitava stranice. Ubrzava pretraživanje (za " +"sustave s više od 512MB memorije)." + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" + +#: part/dlgpresentation.cpp:38 +#, fuzzy, kde-format +#| msgctxt "Advance every %1 seconds" +#| msgid " second" +#| msgid_plural " seconds" +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] " sekunda" +msgstr[1] " sekunde" +msgstr[2] " sekundi" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "" + +#: part/dlgpresentation.cpp:53 +#, fuzzy, kde-format +#| msgid "Loop after last page" +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "Ponavljaj nakon zadnje stranice" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "" + +#: part/dlgpresentation.cpp:63 +#, fuzzy, kde-format +#| msgid "Navigation" +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Navigacija" + +#: part/dlgpresentation.cpp:72 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "Boja pozadine:" + +#: part/dlgpresentation.cpp:76 +#, fuzzy, kde-format +#| msgid "Hidden After Delay" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "Sakriven nakon odgode" + +#: part/dlgpresentation.cpp:77 +#, fuzzy, kde-format +#| msgid "Always Visible" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "Uvijek vidljiv" + +#: part/dlgpresentation.cpp:78 +#, fuzzy, kde-format +#| msgid "Always Hidden" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "Uvijek sakriven" + +#: part/dlgpresentation.cpp:80 +#, fuzzy, kde-format +#| msgid "Mouse cursor:" +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "Pokazivač miša:" + +#: part/dlgpresentation.cpp:84 +#, fuzzy, kde-format +#| msgid "Show &progress indicator" +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "Prikaži indikator na&pretka" + +#: part/dlgpresentation.cpp:90 +#, fuzzy, kde-format +#| msgid "Show s&ummary page" +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "Prikaži stranic&u sa sažetkom" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "" + +#: part/dlgpresentation.cpp:101 +#, fuzzy, kde-format +#| msgid "Replace" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "Zamijeni" + +#: part/dlgpresentation.cpp:102 +#, fuzzy, kde-format +#| msgid "Random Transition" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "Nasumičan prijelaz" + +#: part/dlgpresentation.cpp:103 +#, fuzzy, kde-format +#| msgid "Blinds Vertical" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "Uspravne rolete" + +#: part/dlgpresentation.cpp:104 +#, fuzzy, kde-format +#| msgid "Blinds Horizontal" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "Vodoravne rolete" + +#: part/dlgpresentation.cpp:105 +#, fuzzy, kde-format +#| msgid "Box In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "Dolazeći okvir" + +#: part/dlgpresentation.cpp:106 +#, fuzzy, kde-format +#| msgid "Box Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "Odlazeći okvir" + +#: part/dlgpresentation.cpp:107 +#, fuzzy, kde-format +#| msgid "Dissolve" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "Rastopi" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "" + +#: part/dlgpresentation.cpp:109 +#, fuzzy, kde-format +#| msgid "Glitter Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "Blijesak prema dolje" + +#: part/dlgpresentation.cpp:110 +#, fuzzy, kde-format +#| msgid "Glitter Right" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "Blijesak prema desno" + +#: part/dlgpresentation.cpp:111 +#, fuzzy, kde-format +#| msgid "Glitter Right-Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "Blijesak prema dolje-desno" + +#: part/dlgpresentation.cpp:112 +#, fuzzy, kde-format +#| msgid "Split Horizontal In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "Razdvoji vodoravno prema unutra " + +#: part/dlgpresentation.cpp:113 +#, fuzzy, kde-format +#| msgid "Split Horizontal Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "Razdvoji vodoravno prema van" + +#: part/dlgpresentation.cpp:114 +#, fuzzy, kde-format +#| msgid "Split Vertical In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "Razdvoji uspravno prema unutra" + +#: part/dlgpresentation.cpp:115 +#, fuzzy, kde-format +#| msgid "Split Vertical Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "Razdvoji uspravno prema van" + +#: part/dlgpresentation.cpp:116 +#, fuzzy, kde-format +#| msgid "Wipe Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "Briši prema dolje" + +#: part/dlgpresentation.cpp:117 +#, fuzzy, kde-format +#| msgid "Wipe Right" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "Briši prema desno" + +#: part/dlgpresentation.cpp:118 +#, fuzzy, kde-format +#| msgid "Wipe Left" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "Briši prema lijevo" + +#: part/dlgpresentation.cpp:119 +#, fuzzy, kde-format +#| msgid "Wipe Up" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "Briši prema gore" + +#: part/dlgpresentation.cpp:121 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Zadan prijelaz:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

Drawing Tools

" +msgstr "" + +#: part/dlgpresentation.cpp:171 +#, fuzzy, kde-format +#| msgctxt "@label:listbox The current screen, for the presentation mode" +#| msgid "Current Screen" +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Trenutni zaslon" + +#: part/dlgpresentation.cpp:172 +#, fuzzy, kde-format +#| msgctxt "@label:listbox The default screen for the presentation mode" +#| msgid "Default Screen" +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Zadani zaslon" + +#: part/dlgpresentation.cpp:178 +#, fuzzy, kde-format +#| msgctxt "@label:listbox %1 is the screen number (0, 1, ...)" +#| msgid "Screen %1" +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "Zaslon %1" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, fuzzy, kde-format +#| msgid "Erase Drawings" +msgid "Eraser" +msgstr "Izbriši crteže" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, fuzzy, kde-format +#| msgid "Name" +msgid "&Name:" +msgstr "Ime" + +#: part/editannottooldialog.cpp:69 +#, fuzzy, kde-format +#| msgid "Type:" +msgid "&Type:" +msgstr "Vrsta:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "Izgled" + +#: part/editannottooldialog.cpp:93 +#, fuzzy, kde-format +#| msgid "Next Bookmark" +msgid "Text markup" +msgstr "Sljedeća oznaka" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "" + +#: part/editannottooldialog.cpp:101 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Text Annotation" +msgid "Create annotation tool" +msgstr "Tekstualna opaska" + +#: part/editannottooldialog.cpp:103 +#, fuzzy, kde-format +#| msgid "Annotations author" +msgid "Edit annotation tool" +msgstr "Autor opaski" + +#: part/editdrawingtooldialog.cpp:51 +#, fuzzy, kde-format +#| msgid "&Color:" +msgid "Color:" +msgstr "&Boja:" + +#: part/editdrawingtooldialog.cpp:58 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgid "&Pen Width:" +msgstr "Prilagodi širini" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "" + +#: part/editdrawingtooldialog.cpp:79 +#, fuzzy, kde-format +#| msgid "Erase Drawings" +msgid "Create drawing tool" +msgstr "Izbriši crteže" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "Nepoznat" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Ugrađene datoteke" + +#: part/embeddedfilesdialog.cpp:62 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:button" +msgid "View" +msgstr "&Prikaz" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "Ime" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "Opis" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "Veličina" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "Izrađeno" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "Izmijenjeno" + +#: part/embeddedfilesdialog.cpp:154 +#, fuzzy, kde-format +#| msgctxt "@action:inmenu" +#| msgid "&Save As..." +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "&Spremi kao…" + +#: part/embeddedfilesdialog.cpp:155 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "&Prikaz" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "Ne mogu učitati dio za izgled ispisa" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "Pogled prije ispisa" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "Zatvori" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "Traž&i:" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "Tekst koji treba tražiti" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Sljedeće" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "Skoči na sljedeće podudaranje" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Prethodno" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "Skoči na prijašnje podudaranje" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "Izmijeni ponašanje pretrage" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "Osjetljivost na veličinu slova" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "Od trenutne stranice" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "" + +#: part/formwidgets.cpp:870 +#, fuzzy, kde-format +#| msgid "*|All Files" +msgid "All Files (*)" +msgstr "*|Sve datoteke" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgid "Signature Properties" +msgstr "Svojstva uspravne strelice" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "Opcije pretraživanja" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "Osjetljivost na veličinu slova" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "Regularni izraz" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "od" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "Zoom" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "Ok&reni udesno" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "Udesno" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "Okreni u&lijevo" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "Ulijevo" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "Prvobitna orijentacija" + +#: part/pageview.cpp:546 +#, fuzzy, kde-format +#| msgid "&View" +msgid "&Trim View" +msgstr "&Prikaz" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "O&dreži margine" + +#: part/pageview.cpp:557 +#, fuzzy, kde-format +#| msgctxt "Text Selection Tool" +#| msgid "Text Selection" +msgid "Trim To &Selection" +msgstr "Označavanje teksta" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "Prilagodi širi&ni" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "&Prilagodi stranici" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "" + +#: part/pageview.cpp:575 +#, fuzzy, kde-format +#| msgid "Fit &Page" +msgid "Fit Wi&ndow to Page" +msgstr "&Prilagodi stranici" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "Način pri&kaza" + +#: part/pageview.cpp:594 +#, fuzzy, kde-format +#| msgid "Single Page" +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "Jedna stranica" + +#: part/pageview.cpp:595 +#, fuzzy, kde-format +#| msgid "Facing Pages" +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "Nasuprotne stranice" + +#: part/pageview.cpp:596 +#, fuzzy, kde-format +#| msgid "Facing Pages (Center First Page)" +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "Nasuprotne stranice (centriraj prvu stranicu)" + +#: part/pageview.cpp:599 +#, fuzzy, kde-format +#| msgid "Overview" +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "Pregled" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "&Neprekidno" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "" + +#: part/pageview.cpp:627 +#, fuzzy, kde-format +#| msgctxt "Browse Tool" +#| msgid "Browse" +msgid "&Browse" +msgstr "Listanje" + +#: part/pageview.cpp:635 +#, fuzzy, kde-format +#| msgid "Zoom" +msgid "&Zoom" +msgstr "Zoom" + +#: part/pageview.cpp:655 +#, fuzzy, kde-format +#| msgctxt "Text Selection Tool" +#| msgid "Text Selection" +msgid "Area &Selection" +msgstr "Označavanje teksta" + +#: part/pageview.cpp:662 +#, fuzzy, kde-format +#| msgctxt "Text Selection Tool" +#| msgid "Text Selection" +msgid "&Text Selection" +msgstr "Označavanje teksta" + +#: part/pageview.cpp:669 +#, fuzzy, kde-format +#| msgctxt "Text Selection Tool" +#| msgid "Text Selection" +msgid "T&able Selection" +msgstr "Označavanje teksta" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "" + +#: part/pageview.cpp:685 +#, fuzzy, kde-format +#| msgid "Selection Tools" +msgctxt "@action" +msgid "Selection Tools" +msgstr "Alati za odabir" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "Izgovori cijeli dokument" + +#: part/pageview.cpp:722 +#, fuzzy, kde-format +#| msgid "Speak Current Page" +msgid "Speak From Current Page" +msgstr "Izgovori trenutnu stranicu" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "Izgovori trenutnu stranicu" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "Prestani izgovarati" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "Kliži prema gore" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Kliži prema dolje" + +#: part/pageview.cpp:761 +#, fuzzy, kde-format +#| msgid "Scroll Up" +msgid "Scroll Page Up" +msgstr "Kliži prema gore" + +#: part/pageview.cpp:767 +#, fuzzy, kde-format +#| msgid "Scroll Down" +msgid "Scroll Page Down" +msgstr "Kliži prema dolje" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "Prikaži obrasce" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] " Učitan je dokument od %1 stranice." +msgstr[1] " Učitan je dokument od %1 stranice." +msgstr[2] " Učitan je dokument od %1 stranica." + +#: part/pageview.cpp:2526 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Table Contents to Clipboard" +msgstr "Kopiraj u odlagalište." + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "Tekst (%1 znak)" +msgstr[1] "Tekst (%1 znaka)" +msgstr[2] "Tekst (%1 znakova)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "Kopiraj u odlagalište." + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "Izgovori tekst" + +#: part/pageview.cpp:2863 +#, fuzzy, kde-format +#| msgid "Image (%1 by %2 pixels)" +msgid "Image (%1 × %2 pixels)" +msgstr "Slika (%1 sa %2 piksela)" + +#: part/pageview.cpp:2865 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save to File…" +msgstr "Spremi u datoteku…" + +#: part/pageview.cpp:2885 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] copied to clipboard." +msgid "Image [%1 × %2] copied to clipboard." +msgstr "Slika [%1x%2] je kopirana u odlagalište." + +#: part/pageview.cpp:2888 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save file" +msgstr "Spremi u datoteku…" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "Datoteka nije spremljena." + +#: part/pageview.cpp:2901 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] saved to %3 file." +msgid "Image [%1 × %2] saved to %3 file." +msgstr "Slika [%1x%2] je spremljena u datoteku %3." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "Kopiraj tekst" + +#: part/pageview.cpp:3062 +#, fuzzy, kde-format +#| msgid "Go to page %1" +msgid "Go to '%1'" +msgstr "Idi na stranicu %1" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "Prilagodi širini" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "Prilagodi stranici" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "" + +#: part/pageview.cpp:4107 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1:" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "Traži '%1' pomoću" + +#: part/pageview.cpp:4404 +#, fuzzy, kde-format +#| msgid "Configure Web Shortcuts..." +msgid "Configure Web Shortcuts…" +msgstr "Podesi web kratice…" + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "Slijedi ovaj link" + +#: part/pageview.cpp:4433 +#, fuzzy, kde-format +#| msgid "Play sound..." +msgid "Play this Sound" +msgstr "Reproduciraj zvuk…" + +#: part/pageview.cpp:4435 +#, fuzzy, kde-format +#| msgid "Sound" +msgid "Stop Sound" +msgstr "Zvuk" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "Kopiraj adresu linka" + +#: part/pageview.cpp:4462 +#, fuzzy, kde-format +#| msgid "Search for '%1' with" +msgid "Search for '%1' in this document" +msgstr "Traži '%1' pomoću" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Dobrodošli" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "Označite područje uvećanja. Desni klik za umanjenje." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "" + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "Nacrtaj pravokutnik oko teksta/grafike koje treba kopirati." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "Označi tekst" + +#: part/pageview.cpp:5172 +#, fuzzy, kde-format +#| msgid "Draw a rectangle around the text/graphics to copy." +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "Nacrtaj pravokutnik oko teksta/grafike koje treba kopirati." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" + +#: part/pageview.cpp:5188 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "No valid certificates" +msgstr "Konfiguriraj preglednik…" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Open Certificate Manager" +msgstr "Konfiguriraj preglednik…" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
Launch Certificate Manager " +"to import or manage certificates
For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "No certificates found" +msgstr "Konfiguriraj preglednik…" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "" + +#: part/pageview.cpp:5405 +#, fuzzy, kde-format +#| msgid "Draw a rectangle around the text/graphics to copy." +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "Nacrtaj pravokutnik oko teksta/grafike koje treba kopirati." + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "Nova tekstualna bilješka" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "Tekst nove bilješke:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgid "Author" +msgid "Author name" +msgstr "Autor" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Author name for the annotation:" +msgstr "%1 opaska" + +#: part/pageviewannotator.cpp:1390 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Inline Text Annotation (drag to select a zone)" +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "Unutarlinijska tekstualna opaska (povuci za označavanje područja)" + +#: part/pageviewannotator.cpp:1392 +#, fuzzy, kde-format +#| msgid "Highlight" +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "Označeno" + +#: part/pageviewannotator.cpp:1394 +#, fuzzy, kde-format +#| msgid "Green Freehand Line" +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "Zelena linija prostom rukom" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "Unutarlinijska tekstualna opaska (povuci za označavanje područja)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "Nacrtaj poligon (kliknite na prvu točku da ga zatvorite)" + +#: part/pageviewannotator.cpp:1402 +#, fuzzy, kde-format +#| msgid "Rectangle" +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "Pravokutnik" + +#: part/pageviewannotator.cpp:1404 +#, fuzzy, kde-format +#| msgid "Squiggly" +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "Črčkarija" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "Stavi pečatni simbol" + +#: part/pageviewannotator.cpp:1408 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Straight Yellow Line" +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "Ravna žuta linija" + +#: part/pageviewannotator.cpp:1410 +#, fuzzy, kde-format +#| msgid "Strike out" +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "Prekriži" + +#: part/pageviewannotator.cpp:1412 +#, fuzzy, kde-format +#| msgid "Underline" +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "Podvuci" + +#: part/pageviewannotator.cpp:1414 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Inline Text Annotation (drag to select a zone)" +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "Unutarlinijska tekstualna opaska (povuci za označavanje područja)" + +#: part/pageviewannotator.cpp:1473 +#, fuzzy, kde-format +#| msgid "Highlight" +msgid "Highlighter" +msgstr "Označeno" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Add favorite annotation" +msgstr "%1 opaska" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Custom annotation name:" +msgstr "%1 opaska" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&Datoteka" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "Po&stavke" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "Po&moć" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "&Orijentacija" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "&Oznake" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, fuzzy, kde-format +#| msgid "Main Toolbar" +msgid "Viewer Toolbar" +msgstr "Glavna alatna traka" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Sličice" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotations" +msgstr "%1 opaska" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"Ovaj dokument ima ugrađene datoteke. Ovdje " +"kliknite kako biste ih vidjeli ili idite na Datoteke → Ugrađene datoteke." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "Prethodna" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "Idi na prethodnu stranicu" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "Pomiče se na prethodnu stranicu dokumenta" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "Sljedeća" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "Idi na sljedeću stranicu" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "Pomiče se na sljedeću stranicu dokumenta" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "Početak dokumenta" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "Pomiče se na početak dokumenta" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "Kraj dokumenta" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "Pomiče se na kraj dokumenta" + +#: part/part.cpp:707 +#, fuzzy, kde-format +#| msgid "Rename Bookmark" +msgid "Rename the current bookmark" +msgstr "Preimenuj oznaku" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "Prethodna oznaka" + +#: part/part.cpp:713 +#, fuzzy, kde-format +#| msgid "Go to the previous bookmarked page" +msgid "Go to the previous bookmark" +msgstr "Idi na prethodnu označenu stranicu" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "Sljedeća oznaka" + +#: part/part.cpp:719 +#, fuzzy, kde-format +#| msgid "Go to the next bookmarked page" +msgid "Go to the next bookmark" +msgstr "Idi na sljedeću označenu stranicu" + +#: part/part.cpp:748 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgid "Configure Okular…" +msgstr "Konfiguriraj Okular…" + +#: part/part.cpp:751 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Configure Viewer…" +msgstr "Konfiguriraj preglednik…" + +#: part/part.cpp:757 +#, fuzzy, kde-format +#| msgid "Configure Backends" +msgid "Configure Viewer Backends…" +msgstr "Konfiguriraj pozadinske servise" + +#: part/part.cpp:759 +#, fuzzy, kde-format +#| msgid "Configure Backends" +msgid "Configure Backends…" +msgstr "Konfiguriraj pozadinske servise" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "O pozadinskom servisu" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "Ponovno &učitaj" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "Ponovno učitavaj trenutni dokument s diska." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "Zatvori &traku za pretraživanje" + +#: part/part.cpp:813 +#, fuzzy, kde-format +#| msgid "Page Size" +msgid "Page Number" +msgstr "Veličina stranice" + +#: part/part.cpp:817 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "Konfiguriraj Okular…" + +#: part/part.cpp:858 +#, fuzzy, kde-format +#| msgid "Speak Current Page" +msgid "Select All Text on Current Page" +msgstr "Izgovori trenutnu stranicu" + +#: part/part.cpp:871 +#, fuzzy, kde-format +#| msgid "Show &Page Bar" +msgid "Show S&idebar" +msgstr "Prikaži traku is&pod stranice" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "Prikaži traku is&pod stranice" + +#: part/part.cpp:886 +#, fuzzy, kde-format +#| msgid "Show &Navigation Panel" +msgid "Show &Signatures Panel" +msgstr "Prikaži &navigacijski panel" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "Ugrađ&ene datoteke" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "I&zvezi kao" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "P&rezentacija" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "" + +#: part/part.cpp:945 +#, fuzzy, kde-format +#| msgid "&Import PostScript as PDF..." +msgid "&Import PostScript as PDF…" +msgstr "Uvez&i PostScript kao PDF…" + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "Zamijeni način Blackscreena" + +#: part/part.cpp:957 +#, fuzzy, kde-format +#| msgid "Erase Drawings" +msgid "Erase Drawing" +msgstr "Izbriši crteže" + +#: part/part.cpp:962 +#, fuzzy, kde-format +#| msgid "Configure Backends..." +msgid "Configure Annotations…" +msgstr "Konfiguriraj pozadinske servise…" + +#: part/part.cpp:967 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Play/Pause Presentation" +msgstr "Prezentacija" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" + +#: part/part.cpp:1123 +#, fuzzy, kde-format +#| msgctxt "A document format, Okular-specific" +#| msgid "Document Archive" +msgid "Document can't be saved" +msgstr "Document Archive" + +#: part/part.cpp:1152 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not open '%1' (%2) " +msgstr "Ne mogu otvoriti %1" + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "Učitavanje %1 je prekinuto." + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "Ne mogu otvoriti %1. Razlog: %2" + +#: part/part.cpp:1249 +#, fuzzy, kde-format +#| msgid "Configure Backends" +msgid "Configure Viewer Backends" +msgstr "Konfiguriraj pozadinske servise" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "Konfiguriraj pozadinske servise" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"Program \"ps2pdf\" nije pronađen pa Okular pomoću njega ne može uvesti " +"datoteke vrste PS." + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "ps2pdf nije pronađen" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "" + +#: part/part.cpp:1357 +#, fuzzy, kde-format +#| msgid "Importing PS file as PDF (this may take a while)..." +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "Uvozim datoteke PS kao PDF (ovo može potrajati)…" + +#: part/part.cpp:1489 +#, fuzzy, kde-format +#| msgid "Moves to the last page of the document" +msgid "Please enter the password to read the document:" +msgstr "Pomiče se na zadnju stranicu dokumenta" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "" + +#: part/part.cpp:1502 +#, fuzzy, kde-format +#| msgctxt "A document format, Okular-specific" +#| msgid "Document Archive" +msgid "Document Password" +msgstr "Document Archive" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"Ovaj dokument ima obrasce. Kliknite na gumb za interakciju ili koristite " +"Prikaz → Prikaži obrasce" + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "" + +#: part/part.cpp:1739 +#, fuzzy, kde-format +#| msgid "Exit Presentation Mode" +msgid "Enter Presentation Mode" +msgstr "Izađi iz prezentacijskog načina" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "" + +#: part/part.cpp:1830 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not open %1. %2" +msgstr "Ne mogu otvoriti %1" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "" + +#: part/part.cpp:1865 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue Reloading" +msgstr "&Neprekidno" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" + +#: part/part.cpp:1875 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue Closing" +msgstr "&Neprekidno" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "" + +#: part/part.cpp:1883 +#, fuzzy, kde-format +#| msgid "Open Document" +msgid "Close Document" +msgstr "Otvori dokument" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"Ovaj link pokazuje na akciju za zatvaranje dokumenta koja ne radi kad se " +"koristi ugrađeni preglednik." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"Ovaj link pokazuje na akciju za izlaz iz aplikacije koja ne radi kad se " +"koristi ugrađeni preglednik." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Reloading the document…" +msgstr "Ponovno učitavam dokument…" + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "Sadržaj" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Idi na stranicu" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "&Stranica:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "" + +#: part/part.cpp:2506 +#, fuzzy, kde-format +#| msgid "Rename Bookmark" +msgid "Rename this Bookmark" +msgstr "Preimenuj oznaku" + +#: part/part.cpp:2509 +#, fuzzy, kde-format +#| msgid "Rename Bookmark" +msgid "Remove this Bookmark" +msgstr "Preimenuj oznaku" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, fuzzy, kde-format +#| msgctxt "@action:inmenu" +#| msgid "&Save As..." +msgid "Save As" +msgstr "&Spremi kao…" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" + +#: part/part.cpp:2621 +#, fuzzy, kde-format +#| msgid "Line Extensions" +msgid "Unsupported extension" +msgstr "Nastavci linije" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
Do you want to continue?" +msgstr "" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "Ne mogu otvoriti privremenu datoteku za spremanje." + +#: part/part.cpp:2726 +#, fuzzy, kde-kuit-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" +"Datoteku nije moguće spremiti u '%1'. Pokušajte ju spremiti na drugo mjesto." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
Do you want to continue?" +msgstr "" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "" +"Datoteku nije moguće spremiti u '%1'. Pokušajte ju spremiti na drugo mjesto." + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "" + +#: part/part.cpp:2769 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "User annotations" +msgstr "Prezentacija" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" + +#: part/part.cpp:2796 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue" +msgstr "&Neprekidno" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "Datoteka nije mogla biti spremljena u '%1'. %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"Okular ne može kopirati %1 na navedeno mjesto.\n" +"\n" +"Dokument više ne postoji." + +#: part/part.cpp:2899 +#, fuzzy, kde-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" +"Datoteku nije moguće spremiti u '%1'. Pokušajte ju spremiti na drugo mjesto." + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "End Presentation" +msgid "Expand Whole Section" +msgstr "Završi prezentaciju" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "End Presentation" +msgid "Collapse Whole Section" +msgstr "Završi prezentaciju" + +#: part/part.cpp:3172 +#, fuzzy, kde-format +#| msgid "Link the &thumbnails with the page" +msgid "Sync Thumbnail with Page" +msgstr "Poveži &sličice sa stranicom" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Alati" + +#: part/part.cpp:3381 +#, fuzzy, kde-format +#| msgid "Speak Text" +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "Izgovori tekst" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "Ispisivanje dokumenta nije dozvoljeno." + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"Ne mogu ispisati dokument. Nepoznata pogreška. Molim prijavite ovo na bugs." +"kde.org" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"Ne mogu ispisati dokument. Detaljna pogreška je \"%1\". Molim prijavite ovo " +"na bugs.kde.org" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "Idi na mjesto gdje si bio prije" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "Idi na mjesto gdje si bio nakon" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"Pogreška datoteke! Ne mogu stvoriti privremenu datoteku " +"%1." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"Pogreška datoteke! Ne mogu otvoriti datoteku " +"%1 za dekompresiju. Datoteka neće biti učitana." +"" + +#: part/part.cpp:3751 +#, fuzzy, kde-format +#| msgid "" +#| "This error typically occurs if you do not have enough permissions to " +#| "read the file. You can check ownership and permissions if you right-click " +#| "on the file in the Dolphin file manager and then choose the 'Properties' " +#| "tab." +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"Ova pogreška tipično se pojavljuje ako nema dovoljno prava za čitanje " +"datoteke. Možete provjeriti vlasništvo i prava ako desno kliknete na " +"datoteku u upravitelju datoteka Dolphin i tada odaberete stavku 'Svojstva'." + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"Pogreška datoteke! Ne mogu dekomprimirati datoteku " +"%1. Datoteka neće biti učitana." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"Ova pogreška tipično se pojavljuje ako je datoteka oštećena. Ako želite " +"biti sigurni, pokušajte ručno dekomprimirati datoteku koristeći alate " +"komandne linije." + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "Nema oznaka" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "&Uredi" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "&Prikaz" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&Kreni" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "&Alati" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "Glavna alatna traka" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation Toolbar" +msgstr "%1 opaska" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Quick Annotation Toolbar" +msgstr "%1 opaska" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "Opće opcije" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Pristupačnost" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "Pomoć za pristupačnost pri čitanju" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Performanse" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "Podešavanje performansi" + +#: part/preferencesdialog.cpp:45 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Configure Viewer" +msgstr "Konfiguriraj preglednik…" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Prezentacija" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "Opcije za prezentacijski način" + +#: part/preferencesdialog.cpp:50 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgid "Annotation Options" +msgstr "Svojstva opaske" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "Uređivač" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "Opcije uređivača" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "Nađi sljedeći" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 – Prezentacija" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "Zamijeni zaslon" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "Zaslon %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "Izađi iz prezentacijskog načina" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Naslov: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Stranica: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "Kliknite za početak" + +#: part/presentationwidget.cpp:521 +#, fuzzy, kde-format +#| msgctxt "pause the movie playback" +#| msgid "Pause" +msgctxt "For Presentation" +msgid "Pause" +msgstr "Pauziraj" + +#: part/presentationwidget.cpp:524 +#, fuzzy, kde-format +#| msgctxt "start the movie playback" +#| msgid "Play" +msgctxt "For Presentation" +msgid "Play" +msgstr "Reproduciraj" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"Postoje dva načina za izlaz iz prezentacijskog načina – možete pritisnuti " +"ili tipku ESC ili kliknuti na gumb za izlaz koji se pokaže kad pomaknete miš " +"u gornji-desni kut. Možete i kružiti kroz prozore (zadano je Alt+TAB)." + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "Prezentacija u tijeku" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "Nepoznata datoteka" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "Svojstva %1 |/|Svojstva $[gen %1]" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "&Pisma" + +#: part/propertiesdialog.cpp:145 +#, fuzzy, kde-format +#| msgid "Reading font information..." +msgid "Reading font information…" +msgstr "Čitam informacije o pismu…" + +#: part/propertiesdialog.cpp:158 +#, fuzzy, kde-format +#| msgid "&Page Size" +msgid "&Page Sizes" +msgstr "Veličina &stranice" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "&Otpakiraj pismo" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Vrsta 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Vrsta 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "Vrsta 1C (OT)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Vrsta 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType (OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID Type 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID Type 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID Type 0C (OT)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType (OT)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "TeX PK" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "TeX virtual" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "Metrika pisma TeXa" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "Rukovan TeX FreeTypeom" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "Nepoznata" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "Ugrađeno (podskup)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "Potpuno ugrađeno" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "Ne" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "Da (podskup)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "Da" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "[n/a]" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "Nepoznato pismo" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "Ugrađeno: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "Ime" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "Vrsta" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "Datoteka" + +#: part/propertiesdialog.cpp:498 +#, fuzzy, kde-format +#| msgid "Pages" +msgid "Page" +msgstr "Stranice" + +#: part/propertiesdialog.cpp:501 +#, fuzzy, kde-format +#| msgctxt "@title:column" +#| msgid "Size" +msgid "Size" +msgstr "Veličina" + +#: part/revisionviewer.cpp:41 +#, fuzzy, kde-format +#| msgid "Print Preview" +msgid "Revision Preview" +msgstr "Pogled prije ispisa" + +#: part/revisionviewer.cpp:53 +#, fuzzy, kde-format +#| msgid "Where do you want to save %1?" +msgid "Where do you want to save this revision?" +msgstr "Gdje želite spremiti %1?" + +#: part/revisionviewer.cpp:56 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not save file %1." +msgstr "Ne mogu otvoriti %1" + +#: part/revisionviewer.cpp:75 +#, fuzzy, kde-format +#| msgid "Could not open %1. Reason: %2" +msgid "Could not view revision." +msgstr "Ne mogu otvoriti %1. Razlog: %2" + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "Unesite barem 3 slova za filtriranje stranica" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "Osjetljivost na veličinu slova" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "Podudaranje u izrazu" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "Podudaranje u svim riječima" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "Podudaranje u bilo kojoj riječi" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "Opcije filtra" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Certificates" +msgstr "Konfiguriraj preglednik…" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, fuzzy, kde-format +#| msgid "Allow" +msgid "All" +msgstr "Dopusti" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Only QES certificates" +msgstr "Konfiguriraj preglednik…" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, fuzzy, kde-format +#| msgid "Options" +msgid "optional" +msgstr "Opcije" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Location:" +msgstr "%1 opaska" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, fuzzy, kde-format +#| msgid "Background color:" +msgid "Background:" +msgstr "Boja pozadine:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, fuzzy, kde-format +#| msgid "Background color:" +msgid "Recent backgrounds:" +msgstr "Boja pozadine:" + +#: part/side_reviews.cpp:66 +#, fuzzy, kde-format +#| msgid "" +#| "

No annotations

To create new annotations press " +#| "F6 or select Tools -> Review from the menu.
" +msgid "" +"

No annotations

To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
" +msgstr "" +"

Nema opaski

Da biste dodali opaske, pritisnite F6 " +"ili iz izbornika odaberite Alati → Osvrt.
" + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "Grupiraj po stranici" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "Grupiraj po autoru" + +#: part/side_reviews.cpp:155 +#, fuzzy, kde-format +#| msgid "Show reviews for current page only" +msgid "Show annotations for current page only" +msgstr "Prikaži pregled samo za trenutnu stranicu" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "" + +#: part/signaturepanel.cpp:101 +#, fuzzy, kde-format +#| msgid "&Properties" +msgid "Properties" +msgstr "&Svojstva" + +#: part/signaturepartutils.cpp:180 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Stranica: %1" + +#: part/signaturepartutils.cpp:181 +#, fuzzy, kde-format +#| msgid "Enable &background generation" +msgid "Select background image" +msgstr "Omogući stvaranje po&zadine" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "" + +#: part/signaturepartutils.cpp:244 +#, fuzzy, kde-format +#| msgctxt "A document format, Okular-specific" +#| msgid "Document Archive" +msgid "Enter document password" +msgstr "Document Archive" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:63 +#, fuzzy, kde-format +#| msgid "Information" +msgid "Additional Information" +msgstr "Informacije" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:83 +#, fuzzy, kde-format +#| msgctxt "A document format, Okular-specific" +#| msgid "Document Archive" +msgid "Document Version" +msgstr "Document Archive" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:95 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "View Certificate…" +msgstr "Konfiguriraj preglednik…" + +#: part/signaturepropertiesdialog.cpp:97 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "View in Certificate Manager" +msgstr "Konfiguriraj preglednik…" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "Prikaži samo označene stranice" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "Reproduciraj" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Pauziraj" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "Zaustavi" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, fuzzy, kde-format +#| msgid "&Edit" +msgid "&Edit…" +msgstr "&Uredi" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, fuzzy, kde-format +#| msgid "Wipe Down" +msgid "Move &Down" +msgstr "Briši prema dolje" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "Stranica dokumenta koju treba prikazati" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "Pokreni dokument u prezentacijskom načinu" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "Kontrola \"Jedinstvena instanca\"" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "" + +#: shell/main.cpp:83 +#, fuzzy, kde-format +#| msgid "Document to open. Specify '-' to read from stdin." +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "Dokument kojeg treba otvoriti. Navedite '-' za čitanje iz stdin-a." + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "" + +#: shell/shell.cpp:207 +#, fuzzy, kde-format +#| msgid "Unable to find the Okular component." +msgid "Unable to find the Okular component: %1" +msgstr "Nije moguće pronaći komponentu Okulara." + +#: shell/shell.cpp:250 +#, fuzzy, kde-format +#| msgid "Show &Page Bar" +msgid "Sidebar" +msgstr "Prikaži traku is&pod stranice" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "Nije moguće pronaći komponentu Okulara." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"Kliknite za otvaranje datoteke\n" +"Kliknite i zadržite za otvaranje nedavne datoteke" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"Kliknite za otvaranje datoteke ili kliknite i zadržite za " +"odabir nedavne datoteke" + +#: shell/shell.cpp:582 +#, fuzzy, kde-format +#| msgid "Next Page" +msgid "Next Tab" +msgstr "Sljedeća stranica" + +#: shell/shell.cpp:588 +#, fuzzy, kde-format +#| msgid "Previous Page" +msgid "Previous Tab" +msgstr "Prethodna stranica" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "" + +#: shell/shell.cpp:603 +#, fuzzy, kde-format +#| msgid "Show &Page Bar" +msgid "Lock Sidebar" +msgstr "Prikaži traku is&pod stranice" + +#: shell/shell.cpp:703 +#, fuzzy, kde-format +#| msgid "*|All Files" +msgid "All files (*)" +msgstr "*|Sve datoteke" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "Otvori dokument" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "" + +#: shell/shell.cpp:826 +#, fuzzy, kde-format +#| msgid "Close" +msgid "Close Tabs" +msgstr "Zatvori" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "" + +#: shell/welcomescreen.cpp:64 +#, fuzzy, kde-format +#| msgid "Copy Text" +msgid "&Copy Path" +msgstr "Kopiraj tekst" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "" + +#: shell/welcomescreen.cpp:137 +#, fuzzy, kde-format +#| msgid "Current document only" +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "Samo trenutni dokument" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, fuzzy, kde-format +#| msgid "Open Document" +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Otvori dokument" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, fuzzy, kde-format +#| msgid "Current document only" +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Samo trenutni dokument" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "" + +#, fuzzy +#~| msgid "For Comment" +#~ msgid "Geometry with Comment" +#~ msgstr "Za komentiranje" + +#~ msgid "Geometry" +#~ msgstr "Geometrija" + +#~ msgid "Modified: %1" +#~ msgstr "Izmijenjeno: %1" + +#~ msgid "Find..." +#~ msgstr "Traži…" + +#~ msgid "Go To Page..." +#~ msgstr "Idi na stranicu…" + +#~ msgid "Play movie..." +#~ msgstr "Reproduciraj film…" + +#, fuzzy +#~| msgid "S&earch:" +#~ msgid "Search..." +#~ msgstr "&Traži:" + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "&Spremi kao…" + +#, fuzzy +#~| msgid "&View" +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "&Prikaz" + +#~ msgid "Configure Viewer..." +#~ msgstr "Konfiguriraj preglednik…" + +#, fuzzy +#~| msgid "Configure Backends..." +#~ msgid "Configure Viewer Backends..." +#~ msgstr "Konfiguriraj pozadinske servise…" + +#~ msgid "Configure Backends..." +#~ msgstr "Konfiguriraj pozadinske servise…" + +#, fuzzy +#~| msgid "&Edit" +#~ msgid "&Edit..." +#~ msgstr "&Uredi" + +#, fuzzy +#~| msgctxt "Unknown author" +#~| msgid "Unknown" +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "Nepoznat" + +#, fuzzy +#~| msgctxt "Suffix for the opacity level, eg '80 %'" +#~| msgid " %" +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr " %" + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " %" + +#, fuzzy +#~| msgctxt "Suffix for the opacity level, eg '80 %'" +#~| msgid " %" +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr " %" + +#, fuzzy +#~| msgid "Fit Width" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "Prilagodi širini" + +#, fuzzy +#~| msgid "Fit Page" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "Prilagodi stranici" + +#~ msgid "*|All Files" +#~ msgstr "*|Sve datoteke" + +#, fuzzy +#~| msgid "Show &Page Bar" +#~ msgid "Show Sidebar" +#~ msgstr "Prikaži traku is&pod stranice" + +#, fuzzy +#~| msgid "Experimental" +#~ msgctxt "@title:window" +#~ msgid "Experimental feature" +#~ msgstr "Eksperimentalno" + +#~ msgid "Remove Bookmarks" +#~ msgstr "Ukloni oznake" + +#, fuzzy +#~| msgid "Annotation" +#~| msgid_plural "%1 Annotations" +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "%1 opaska" + +#, fuzzy +#~| msgid "Highlight" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "Označeno" + +#, fuzzy +#~| msgid "Underline" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Underline" +#~ msgstr "Podvuci" + +#, fuzzy +#~| msgid "Squiggly" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Squiggle" +#~ msgstr "Črčkarija" + +#, fuzzy +#~| msgid "Strike out" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Strike Out" +#~ msgstr "Prekriži" + +#, fuzzy +#~| msgid "Insert" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "Umetni" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "Unutarlinijske bilješke" + +#, fuzzy +#~| msgid "&Open Pop-up Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "&Otvori skočnu bilješku" + +#, fuzzy +#~| msgid "Green Freehand Line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Freehand Line" +#~ msgstr "Zelena linija prostom rukom" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Straight Yellow Line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Straight line" +#~ msgstr "Ravna žuta linija" + +#, fuzzy +#~| msgid "Rectangle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Rectangle" +#~ msgstr "Pravokutnik" + +#, fuzzy +#~| msgid "Cyan Ellipse" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Ellipse" +#~ msgstr "Cijan elipsa" + +#, fuzzy +#~| msgid "Blue Polygon" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Polygon" +#~ msgstr "Plavi poligon" + +#, fuzzy +#~| msgid "Highlight" +#~ msgid "Highlight in Yellow" +#~ msgstr "Označeno" + +#, fuzzy +#~| msgid "Highlight" +#~ msgid "Highlight in Green" +#~ msgstr "Označeno" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgid "Insert Inline Note" +#~ msgstr "Unutarlinijske bilješke" + +#, fuzzy +#~| msgid "&Open Pop-up Note" +#~ msgid "Insert Popup Note" +#~ msgstr "&Otvori skočnu bilješku" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "Označi tekst" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "Označi tekst" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "Označi tekst" + +#, fuzzy +#~| msgid "Annotation" +#~| msgid_plural "%1 Annotations" +#~ msgid "Bookmark annotation" +#~ msgstr "%1 opaska" + +#, fuzzy +#~| msgid "Change &colors" +#~ msgid "&Toggle Change Colors" +#~ msgstr "Promijeni &boje" + +#, fuzzy +#~| msgid "Enable transitions" +#~ msgctxt "@option:check Config dialog, presentation page, transitions" +#~ msgid "Enable transitions" +#~ msgstr "Omogući prijelaze" + +#, fuzzy +#~| msgid "Advance every:" +#~ msgctxt "@label:spinbox Config dialog, presentation page" +#~ msgid "Advance every:" +#~ msgstr "Pomakni naprijed svakih:" + +#, fuzzy +#~| msgid "Background color:" +#~ msgctxt "@label:listbox Config dialog, general page" +#~ msgid "Custom background color:" +#~ msgstr "Boja pozadine:" + +#~ msgid "Draw border around &Images" +#~ msgstr "Iscrtaj rub oko sl&ika" + +#~ msgid "Identity" +#~ msgstr "Identitet" + +#, fuzzy +#~| msgid "&Author:" +#~ msgid "Au&thor:" +#~ msgstr "&Autor:" + +#~ msgid "View Options" +#~ msgstr "Prikaži opcije" + +#~ msgid "Navigation" +#~ msgstr "Navigacija" + +#~ msgid "Placement" +#~ msgstr "Položaj" + +#~ msgid "Screen:" +#~ msgstr "Zaslon:" + +#~ msgid "&Get Books From Internet..." +#~ msgstr "Dohvati knji&ge s Interneta…" + +#~ msgid "Reviews" +#~ msgstr "Osvrti" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "@item:inlistbox Color name" +#~ msgid "%1" +#~ msgstr "%1:" + +#~ msgid "Hide Forms" +#~ msgstr "Sakrij obrasce" + +#~ msgid "&Review" +#~ msgstr "Osv&rt" + +#~ msgid "Annotations author" +#~ msgstr "Autor opaski" + +#~ msgid "Please insert your name or initials:" +#~ msgstr "Molim unesite vaše ime ili inicijale:" + +#~ msgid "Show &Navigation Panel" +#~ msgstr "Prikaži &navigacijski panel" + +#~ msgid "Show Text" +#~ msgstr "Prikaži tekst" + +#~ msgid "Small Icons" +#~ msgstr "Male ikone" + +#~ msgid "Large Icons" +#~ msgstr "Velike ikone" + +#, fuzzy +#~| msgid "" +#~| "Click to use the current selection tool\n" +#~| "Click and hold to choose another selection tool" +#~ msgid "" +#~ "Click to use the current selection tool\n" +#~ "Click on the arrow to choose another selection tool" +#~ msgstr "" +#~ "Kliknite za korištenje trenutnog alata za označavanje\n" +#~ "Kliknite i zadržite za odabir drugog alata za označavanje" + +#~ msgid "Created: %1" +#~ msgstr "Izrađeno: %1" + +#~ msgid "Style" +#~ msgstr "Stil" + +#~ msgid "&Size:" +#~ msgstr "&Veličina:" + +#~ msgid "Inner color:" +#~ msgstr "Unutarnja boja:" + +#~ msgid "Name: %1" +#~ msgstr "Ime: %1" + +#~ msgid "Size: %1" +#~ msgstr "Veličina: %1" + +#~ msgid "&Browse Tool" +#~ msgstr "Alat za &listanje" + +#~ msgid "&Zoom Tool" +#~ msgstr "Alat za &zoom" + +#~ msgctxt "Zoom Tool" +#~ msgid "Zoom" +#~ msgstr "Zoom" + +#~ msgctxt "Select Tool" +#~ msgid "Selection" +#~ msgstr "Označavanje" + +#~ msgid "&Text Selection Tool" +#~ msgstr "Alat za označavanje &teksta" + +#, fuzzy +#~| msgid "&Selection Tool" +#~ msgid "T&able Selection Tool" +#~ msgstr "Alat za označa&vanje" + +#, fuzzy +#~| msgctxt "Symbol for caret annotations" +#~| msgid "None" +#~ msgid " None" +#~ msgstr "Ništa" + +#~ msgid "" +#~ "The document requested to be launched in presentation mode.\n" +#~ "Do you want to allow it?" +#~ msgstr "" +#~ "Dobiven je zahtjev za pokretanje dokumenta u prezentacijskom načinu.\n" +#~ "Želite li ga odobriti?" + +#~ msgid "Presentation Mode" +#~ msgstr "Prezentacijski način" + +#~ msgid "Allow the presentation mode" +#~ msgstr "Dozvoli prezentacijski način" + +#~ msgid "Do Not Allow" +#~ msgstr "Ne dopusti" + +#~ msgid "Do not allow the presentation mode" +#~ msgstr "Nemoj dozvoliti prezentacijski način" + +#~ msgid "Save &Copy As..." +#~ msgstr "Spremi &kopiju kao…" + +#~ msgid "" +#~ "End of document reached.\n" +#~ "Continue from the beginning?" +#~ msgstr "" +#~ "Dosegnut je kraj dokumenta.\n" +#~ "Da li da nastavim od početka?" + +#~ msgid "" +#~ "Beginning of document reached.\n" +#~ "Continue from the bottom?" +#~ msgstr "" +#~ "Dosegnut je početak dokumenta.\n" +#~ "Da li da nastavim od dna?" + +#~ msgid "Current maintainer" +#~ msgstr "Trenutni održavatelj" + +#~ msgid "Identity Settings" +#~ msgstr "Postavke identiteta" + +#, fuzzy +#~| msgid "Hide Forms" +#~ msgid "Reset Forms" +#~ msgstr "Sakrij obrasce" + +#~ msgid "No matches found for '%1'." +#~ msgstr "Nisu pronađene podudarnosti za '%1'." + +#~ msgid "Search in progress..." +#~ msgstr "Pretraživanje u tijeku…" + +#~ msgid "Searching for %1" +#~ msgstr "Tražim %1" + +#~ msgid "Ink" +#~ msgstr "Tinta" + +#~ msgid "Highlight Properties" +#~ msgstr "Svojstva označavanja" + +#~ msgid "Ink Properties" +#~ msgstr "Svojstva tinte" + +#~ msgid "Search Columns" +#~ msgstr "Pretraži stupce" + +#~ msgid "All Visible Columns" +#~ msgstr "Svi vidljivi stupci" + +#~ msgid "No document opened." +#~ msgstr "Nije otvoren nijedan dokument." + +#~ msgid "Starting Jovie Text-to-Speech service Failed: %1" +#~ msgstr "Neuspjelo pokretanje usluge Jovie za pretvorbu teksta u govor: %1" + +#~ msgid "Toggle Drawing Mode" +#~ msgstr "Promijeni način crtanja" + +#~ msgid " sec." +#~ msgstr " sec." + +#~ msgid "Pencil color:" +#~ msgstr "Boja olovke:" + +#~ msgctxt "Annotation tool" +#~ msgid "Yellow Highlight" +#~ msgstr "Žuta označnica" + +#~ msgctxt "Annotation tool" +#~ msgid "Underline the text with a black line" +#~ msgstr "Podcrtava tekst crnom linijom" + +#~ msgctxt "Annotation tool" +#~ msgid "A cyan ellipse" +#~ msgstr "Cijan elipsa" + +#~ msgid "Black Underlining" +#~ msgstr "Crno podcrtavanje" + +#~ msgid "Moves to the first page of the document" +#~ msgstr "Pomiče se na prvu stranicu dokumenta" + +#~ msgid "You must set this name:" +#~ msgstr "Morate postaviti ovo ime:" + +#~ msgid "Toggles between File Path and Title" +#~ msgstr "Mijenja se između putanje datoteke i naslova" + +#~ msgctxt "%1 is \"Title\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#~ msgctxt "%1 is \"File Path\"" +#~ msgid "%1:" +#~ msgstr "%1:" diff --git a/po/hr/okular_comicbook.po b/po/hr/okular_comicbook.po new file mode 100644 index 0000000..db3f25e --- /dev/null +++ b/po/hr/okular_comicbook.po @@ -0,0 +1,62 @@ +# Translation of okular_comicbook to Croatian +# +# Zarko Pintar , 2009. +# Marko Dimjasevic , 2010. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-01-22 23:50+0100\n" +"Last-Translator: Marko Dimjasevic \n" +"Language-Team: Croatian \n" +"Language: hr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Marko Dimjašević" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "marko@dimjasevic.net" + +#: document.cpp:97 +#, fuzzy, kde-format +#| msgid "Cannot open document, unrar was not found." +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "Nije moguće otvoriti dokument, unrar nije pronađen." + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "" +"Inačica unrara na vašem sustavu nije odgovarajuća za otvaranje stripova." + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "Nepoznati oblik ComicBooka." + +#~ msgid "ComicBook Backend" +#~ msgstr "Podrška za ComicBook" + +#~ msgid "A renderer for various comic book formats" +#~ msgstr "Preglednik za razne oblike stripova" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007–2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/hr/okular_djvu.po b/po/hr/okular_djvu.po new file mode 100644 index 0000000..a9b271e --- /dev/null +++ b/po/hr/okular_djvu.po @@ -0,0 +1,139 @@ +# Translation of okular_djvu to Croatian +# +# Zarko Pintar , 2009. +# Marko Dimjasevic , 2010. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-02-25 18:58+0100\n" +"Last-Translator: Marko Dimjasevic \n" +"Language-Team: Croatian \n" +"Language: hr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Marko Dimjašević" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "marko@dimjasevic.net" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "Uređivač" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "Izdavač" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "Svezak" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "Vrsta dokumenta" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "Nepoznat" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "Datoteke komponente" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "Nepoznato" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "Jednostrani dokument" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "Grupiran" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "Indirektan" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "Grupiran (staro)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "Indeksiran (staro)" + +#~ msgid "DjVu Backend" +#~ msgstr "Podrška za DjVu" + +#~ msgid "DjVu backend based on DjVuLibre." +#~ msgstr "Podrška za DjVu bazirana na DjVuLibre." + +#~ msgid "© 2006-2008 Pino Toscano" +#~ msgstr "© 2006–2008 Pino Toscano" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgctxt "Unknown title" +#~ msgid "Unknown" +#~ msgstr "Nepoznat" + +#~ msgctxt "Unknown author" +#~ msgid "Unknown" +#~ msgstr "Nepoznat" + +#~ msgctxt "Unknown editor" +#~ msgid "Unknown" +#~ msgstr "Nepoznat" + +#~ msgctxt "Unknown publisher" +#~ msgid "Unknown" +#~ msgstr "Nepoznat" + +#~ msgctxt "Unknown creation date" +#~ msgid "Unknown" +#~ msgstr "Nepoznat" + +#~ msgctxt "Unknown volume information" +#~ msgid "Unknown" +#~ msgstr "Nepoznato" + +#~ msgctxt "Unknown type of document" +#~ msgid "Unknown" +#~ msgstr "Nepoznata" diff --git a/po/hr/okular_dvi.po b/po/hr/okular_dvi.po new file mode 100644 index 0000000..bcd089a --- /dev/null +++ b/po/hr/okular_dvi.po @@ -0,0 +1,601 @@ +# Translation of okular_dvi to Croatian +# +# Zarko Pintar , 2009. +# Marko Dimjasevic , 2010. +# Andrej Dundovic , 2010. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-06-05 20:38+0200\n" +"Last-Translator: Andrej Dundovic \n" +"Language-Team: Croatian \n" +"Language: hr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Marko Dimjašević" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "marko@dimjasevic.net" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

" +msgstr "" + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

" +msgstr "" + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "Datoteka DVI ne započinje početnim nizom." + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "Datoteka DVI je veoma oštećena. Okular nije mogao pronaći završni niz." + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "Završni niz ne započinje naredbom POST." + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "Završni niz sadržavao je naredbu koja nije FNTDEF." + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "Stranica %1 ne počinje naredbom BOP." + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

PATH: %2

" +msgstr "" + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

%2

" +msgstr "" + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, fuzzy, kde-format +#| msgid "" +#| "File not found: \n" +#| " %1" +msgid "File corruption. %1" +msgstr "" +"Datoteka nije pronađena:\n" +" %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "" + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "" + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "DVI-kôd postavio je znak nepoznatog pisma." + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "DVI-kôd je upućivao na pismo #%1 koje nije prethodno definirano." + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "Stog nije bio prazan kada je pozvana naredba EOP." + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "Stog je bio prazan kada je pozvana naredba POP." + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "DVI-kôd je upućivao na pismo koje nije prethodno definirano." + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "Naiđena je nedopuštena naredba." + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "Naiđen je nepoznati op-kôd %1." + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "Ugrađujem %1" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
" +msgstr "" +"Stranica %1: datoteka PDF %2 ne može se pretvoriti u " +"PostScript.
" + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
" +msgstr "" +"Stranica %1: datoteka PostScript %2 nije pronađena.
" + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "Podaci o veličini papira '%1' ne mogu biti obrađeni." + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

PATH: %1

%2

" +msgstr "" + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

PATH: %1

%2

" +msgstr "" + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" + +#: fontpool.cpp:482 +#, fuzzy, kde-format +#| msgid "Currently generating %1 at %2 dpi" +msgid "Currently generating %1 at %2 dpi…" +msgstr "Trenutno stvaram %1 u %2 dpi" + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "Generator/Datum" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "Datoteka pisma nije pronađena" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "uspravno" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "vodoravno" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "" +"To je ukupno 25 pogreški. Daljnje poruke o pogreškama neće se ispisati." + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" +"Pogreška u DVI-datoteci '%1', stranica %2. Naiđena je naredba za preuzimanje " +"boje kad je stog boja bio prazan." + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" +"Izobličen parametar u posebnoj naredbi epsf.\n" +"Očekivano je da nakon %1 slijedi \"float\" u %2" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"Datoteka nije pronađena:\n" +" %1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" +"Pogreška u DVI-datoteci '%1', stranica %2. Ne mogu interpretirati kut u " +"posebnoj rotaciji teksta." + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "" + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "" + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "" + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "" + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "" + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "" + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "" + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "Ne mogu otvoriti datoteku pisma %1." + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "TexFont_PK::operator[]: znak %1 nije definiran u pismu %2" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "Neočekivano %1 u PK datoteci %2" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "Loša datoteka pk (%1), previše bitova" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "" + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "Nije moguće naći pismo %1, datoteku %2." + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "Nije moguće prepoznati format datoteke pisma %1" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"Fatalna pogreška.\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "" + +#~ msgid "Font Generation Progress Dialog" +#~ msgstr "Dijalog napretka stvaranja pisama" + +#~ msgid "Abort" +#~ msgstr "Prekid" + +#~ msgid "What is happening here?" +#~ msgstr "Što se ovdje događa?" + +#~ msgid "%v of %m" +#~ msgstr "%v od %m" + +#~ msgid "Please be patient" +#~ msgstr "Molim budite strpljivi" + +#~ msgid "*.pdf|Portable Document Format (*.pdf)" +#~ msgstr "*.pdf|Portable Document Format (*.pdf)" + +#~ msgid "Export File As" +#~ msgstr "Izvezi datoteku kao" + +#~ msgid "" +#~ "The file %1\n" +#~ "exists. Do you want to overwrite it?" +#~ msgstr "" +#~ "Datoteka %1\n" +#~ "postoji. Želite li ju prepisati?" + +#~ msgid "Overwrite File" +#~ msgstr "Prepiši datoteku" + +#~ msgid "Overwrite" +#~ msgstr "Prepiši" + +#~ msgid "Using dvipdfm to export the file to PDF" +#~ msgstr "Koristim dvipdfm za izvoz datoteke u PDF" + +#~ msgid "" +#~ "Okular is currently using the external program 'dvipdfm' to convert your " +#~ "DVI-file to PDF. Sometimes that can take a while because dvipdfm needs to " +#~ "generate its own bitmap fonts Please be patient." +#~ msgstr "" +#~ "Okular trenutno koristi vanjski program 'dvipdfm' za pretvorbu vaše DVI-" +#~ "datoteke u PDF. Ponekad to može potrajati jer dvipdfm treba stvoriti " +#~ "vlastita bitmap-pisma. Molim bude strpljivi." + +#~ msgid "Waiting for dvipdfm to finish..." +#~ msgstr "Čekam da dvipdfm završi…" + +#~ msgid "Export: %1 to PDF" +#~ msgstr "Izvoz: %1 u PDF" + +#~ msgid "Functionality Unavailable" +#~ msgstr "Nedostupna funkcionalnost" + +#~ msgid "*.ps|PostScript (*.ps)" +#~ msgstr "*.ps|PostScript (*.ps)" + +#~ msgid "Using dvips to export the file to PostScript" +#~ msgstr "Koristim dvips za izvoz datoteke u PostScript" + +#~ msgid "Waiting for dvips to finish..." +#~ msgstr "Čekam da dvips završi…" + +#~ msgid "Export: %1 to PostScript" +#~ msgstr "Izvoz: %1 u PostScript" + +#~ msgid "DVI Backend" +#~ msgstr "Pozadinski servis za DVI" + +#~ msgid "A DVI file renderer" +#~ msgstr "Preglednik datoteka vrste DVI" + +#~ msgid "© 2006 Luigi Toscano" +#~ msgstr "© 2006 Luigi Toscano" + +#~ msgid "" +#~ "File corruption Okular could not interpret your DVI " +#~ "file. This is most commonly caused by a corrupted file." +#~ msgstr "" +#~ "Oštećenje datoteke Okular nije uspio protumačiti " +#~ "vašu DVI-datoteku. Najčešći razlog tome je oštećena datoteka." + +#~ msgid "DVI File Error" +#~ msgstr "Pogreška datoteke DVI" + +#~ msgid "Okular is currently generating bitmap fonts..." +#~ msgstr "Okular trenutno stvara bitmap-pisma…" + +#~ msgid "Aborts the font generation. Do not do this." +#~ msgstr "Prekida stvaranje pisama. Nemojte to činiti." + +#~ msgid "Okular is generating fonts. Please wait." +#~ msgstr "Okular stvara pisma. Molim pričekajte." + +#~ msgid "Not All Font Files Found" +#~ msgstr "Nisu pronađene sve datoteke pisama" + +#~ msgid "Locating fonts..." +#~ msgstr "Lociram pisma…" + +#~ msgid "" +#~ "

Okular relies on the kpsewhich program to locate font files on " +#~ "your hard disk and to generate PK fonts, if necessary.

" +#~ msgstr "" +#~ "

Okular se oslanja na program kpsewhich za lociranje datoteka " +#~ "pisama na vašem tvrdom disku i za stvaranje PK-pisama ako je to potrebno." +#~ "

" + +#~ msgid "Problem locating fonts" +#~ msgstr "Problem u lociranju pisama" + +#~ msgid "Font generation aborted" +#~ msgstr "Prekinuto stvaranje pisama" diff --git a/po/hr/okular_epub.po b/po/hr/okular_epub.po new file mode 100644 index 0000000..3d2fd58 --- /dev/null +++ b/po/hr/okular_epub.po @@ -0,0 +1,57 @@ +# Translation of okular_epub to Croatian +# +# Zarko Pintar , 2009. +# Marko Dimjasevic , 2010. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-01-26 16:15+0100\n" +"Last-Translator: Marko Dimjasevic \n" +"Language-Team: Croatian \n" +"Language: hr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Marko Dimjašević" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "marko@dimjasevic.net" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "Greška pri otvaranju dokumenta vrste EPub" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "" + +#: generator_epub.cpp:30 +#, fuzzy, kde-format +#| msgid "EPub Backend" +msgid "EPub Backend Configuration" +msgstr "Podrška za EPub" + +#~ msgid "An EPub backend" +#~ msgstr "Podrška za EPub" + +#~ msgid "© 2008 Ely Levy" +#~ msgstr "© 2008 Ely Levy" + +#~ msgid "Ely Levy" +#~ msgstr "Ely Levy" diff --git a/po/hr/okular_fax.po b/po/hr/okular_fax.po new file mode 100644 index 0000000..0499c0d --- /dev/null +++ b/po/hr/okular_fax.po @@ -0,0 +1,49 @@ +# Translation of okular_fax to Croatian +# +# Zarko Pintar , 2009. +# Marko Dimjasevic , 2010. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-01-28 21:03+0100\n" +"Last-Translator: Marko Dimjasevic \n" +"Language-Team: Croatian \n" +"Language: hr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Marko Dimjašević" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "marko@dimjasevic.net" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "Neuspjelo učitavanje dokumenta" + +#~ msgid "Fax Backend" +#~ msgstr "Podrška za faks" + +#~ msgid "A G3/G4 fax document backend" +#~ msgstr "Podrška za dokumente faksa grupa G3/G4" + +#~ msgid "© 2008 Tobias Koenig" +#~ msgstr "© 2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/hr/okular_fictionbook.po b/po/hr/okular_fictionbook.po new file mode 100644 index 0000000..3e19d07 --- /dev/null +++ b/po/hr/okular_fictionbook.po @@ -0,0 +1,83 @@ +# Translation of okular_fictionbook to Croatian +# +# Zarko Pintar , 2009. +# Marko Dimjasevic , 2010. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-01-28 21:07+0100\n" +"Last-Translator: Marko Dimjasevic \n" +"Language-Team: Croatian \n" +"Language: hr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Marko Dimjašević" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "marko@dimjasevic.net" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "Dokument nije valjani FictionBook" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "Neuspjelo otvaranje dokumenta: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "Dokument nije valjana arhiva tipa ZIP" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "Nevaljana struktura dokumenta (nedostaje glavni direktorij)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "U dokumentu nije pronađen sadržaj" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "Nevaljan dokument tipa XML: %1" + +#: generator_fb.cpp:26 +#, fuzzy, kde-format +#| msgid "Fiction Book Backend" +msgid "FictionBook" +msgstr "Podrška za Fiction Book" + +#: generator_fb.cpp:26 +#, fuzzy, kde-format +#| msgid "Fiction Book Backend" +msgid "FictionBook Backend Configuration" +msgstr "Podrška za Fiction Book" + +#~ msgid "A renderer for FictionBook eBooks" +#~ msgstr "Preglednik za e-knjige FictionBook" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007–2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/hr/okular_ghostview.po b/po/hr/okular_ghostview.po new file mode 100644 index 0000000..a308b82 --- /dev/null +++ b/po/hr/okular_ghostview.po @@ -0,0 +1,96 @@ +# Translation of okular_ghostview to Croatian +# +# Zarko Pintar , 2009. +# Marko Dimjasevic , 2010. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-01-30 15:52+0100\n" +"Last-Translator: Marko Dimjasevic \n" +"Language-Team: Croatian \n" +"Language: hr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Marko Dimjašević" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "marko@dimjasevic.net" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "Koristi platformsko pismo" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"Određuje smije li Ghostscript koristiti platformska pisma. Ako nije " +"omogućeno, koristit će se samo pisma ugrađena u dokument." + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "Opće postavke" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "&Koristi platformska pisma" + +# pmap: =/nom=Ghostscript/gen=Ghostscripta/dat=Ghostscriptu/aku=Ghostscript/lok=Ghostscriptu/ins=Ghostscriptom/_r=m/_b=j/ +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Konfiguracija podrške za Ghostscript" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "Inačica dokumenta" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "Razina jezika" + +#~ msgid "PS Backend" +#~ msgstr "Podrška za PS" + +#~ msgid "A PostScript file renderer." +#~ msgstr "Preglednik za datoteke tipa PostScript" + +#~ msgid "© 2007-2008 Albert Astals Cid" +#~ msgstr "© 2007–2008 Albert Astals Cid" + +#~ msgid "Based on the Spectre library." +#~ msgstr "Bazirano na biblioteci Spectre." + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" diff --git a/po/hr/okular_kimgio.po b/po/hr/okular_kimgio.po new file mode 100644 index 0000000..a605509 --- /dev/null +++ b/po/hr/okular_kimgio.po @@ -0,0 +1,71 @@ +# Translation of okular_kimgio to Croatian +# +# Zarko Pintar , 2009. +# Marko Dimjasevic , 2010. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-01-28 20:49+0100\n" +"Last-Translator: Marko Dimjasevic \n" +"Language-Team: Croatian \n" +"Language: hr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Marko Dimjašević" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "marko@dimjasevic.net" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "Neuspjelo učitavanje dokumenta: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" + +#~ msgid "Image Backend" +#~ msgstr "Podrška za sliku" + +#~ msgid "A simple image backend" +#~ msgstr "Jednostavna podrška za sliku" + +#~ msgid "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" +#~ msgstr "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" + +#~ msgid "Main Toolbar" +#~ msgstr "Glavna alatna traka" diff --git a/po/hr/okular_mobi.po b/po/hr/okular_mobi.po new file mode 100644 index 0000000..f72d93b --- /dev/null +++ b/po/hr/okular_mobi.po @@ -0,0 +1,66 @@ +# Translation of okular_mobi to Croatian +# +# Zarko Pintar , 2009. +# Marko Dimjasevic , 2010. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-01-28 21:11+0100\n" +"Last-Translator: Marko Dimjasevic \n" +"Language-Team: Croatian \n" +"Language: hr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Marko Dimjašević" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "marko@dimjasevic.net" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Greška pri otvaranju dokumenta tipa Mobipocket." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "" +"Ova knjiga je pod DRM-om i stoga može biti prikazana samo na određenom " +"uređaju" + +#: generator_mobi.cpp:25 +#, fuzzy, kde-format +#| msgid "Mobipocket Backend" +msgid "Mobipocket" +msgstr "Podrška za Mobipocket" + +#: generator_mobi.cpp:25 +#, fuzzy, kde-format +#| msgid "Mobipocket Backend" +msgid "Mobipocket Backend Configuration" +msgstr "Podrška za Mobipocket" + +#~ msgid "A mobipocket backend" +#~ msgstr "Podrška za mobipocket" + +#~ msgid "© 2008-2009 Jakub Stachowski" +#~ msgstr "© 2008–2009 Jakub Stachowski" + +#~ msgid "Jakub Stachowski" +#~ msgstr "Jakub Stachowski" diff --git a/po/hr/okular_poppler.po b/po/hr/okular_poppler.po new file mode 100644 index 0000000..fce798f --- /dev/null +++ b/po/hr/okular_poppler.po @@ -0,0 +1,407 @@ +# Translation of okular_poppler to Croatian +# +# Zarko Pintar , 2009. +# Marko Dimjasevic , 2010. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-05-12 11:07+0200\n" +"Last-Translator: Marko Dimjasevic \n" +"Language-Team: Croatian \n" +"Language: hr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Marko Dimjašević" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "marko@dimjasevic.net" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "Ne" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "Opcije PDF-a" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "Nametni rasterizaciju" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "Rasteriziraj u sliku prije ispisa" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"Prije ispisa nameće rasterizaciju svake stranice u sliku. Ovo uglavnom daje " +"lošije rezultate, no korisno je pri ispisu dokumenata koji se nepravilno " +"ispisuju." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "" + +#: generator_pdf.cpp:1031 +#, fuzzy, kde-format +#| msgctxt "PDF v. " +#| msgid "PDF v. %1" +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF v. %1" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "Oblik" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "Kriptirano" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "Nekriptirano" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "Sigurnost" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "Da" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "Optimizirano" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "" + +#: generator_pdf.cpp:1758 +#, fuzzy, kde-format +#| msgid "PDF Backend" +msgid "PDF Backend Configuration" +msgstr "Podrška za PDF" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "" + +#: pdfsignatureutils.cpp:239 +#, fuzzy, kde-format +#| msgid "Document Password" +msgid "Enter Password" +msgstr "Zaporka dokumenta" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "" + +#~ msgid "A PDF file renderer" +#~ msgstr "Preglednik datoteka tipa PDF" + +#~ msgid "© 2005-2008 Albert Astals Cid" +#~ msgstr "© 2005–2008 Albert Astals Cid" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Please enter the password to read the document:" +#~ msgstr "Unesite zaporku kako biste čitali dokument:" + +#~ msgid "Incorrect password. Try again:" +#~ msgstr "Netočna zaporka. Pokušajte ponovno:" + +#~ msgid "Unknown" +#~ msgstr "Nepoznato" + +#~ msgid "Unknown Date" +#~ msgstr "Nepoznat datum" + +#~ msgid "Unknown Encryption" +#~ msgstr "Nepoznato kriptiranje" + +#~ msgid "Unknown Optimization" +#~ msgstr "Nepoznata optimizacija" + +#~ msgid "Saving files with /Encrypt is not supported." +#~ msgstr "Spremanje datoteka s /Kriptiraj nije podržano." diff --git a/po/hr/okular_xps.po b/po/hr/okular_xps.po new file mode 100644 index 0000000..275d459 --- /dev/null +++ b/po/hr/okular_xps.po @@ -0,0 +1,61 @@ +# Translation of okular_xps to Croatian +# +# Zarko Pintar , 2009. +# Marko Dimjasevic , 2010. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-01-22 23:55+0100\n" +"Last-Translator: Marko Dimjasevic \n" +"Language-Team: Croatian \n" +"Language: hr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Marko Dimjašević" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "marko@dimjasevic.net" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "Izdanje" + +#~ msgid "XPS Backend" +#~ msgstr "Podrška za XPS" + +#~ msgid "An XPS backend" +#~ msgstr "Podrška za XPS" + +#~ msgid "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" +#~ msgstr "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" + +#~ msgid "Brad Hards" +#~ msgstr "Brad Hards" + +#~ msgid "Jiri Klement" +#~ msgstr "Jiri Klement" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" diff --git a/po/hsb/okular.po b/po/hsb/okular.po new file mode 100644 index 0000000..7bffdd0 --- /dev/null +++ b/po/hsb/okular.po @@ -0,0 +1,6170 @@ +# translation of kdelibs4.po to Upper Sorbian +# translation of kdelibs4.po to +# Copyright (C) 2003,2004, 2005, 2007 Free Software Foundation, Inc. +# Eduard Werner , 2003. +# Prof. Dr. Eduard Werner , 2003,2004. +# Eduard Werner , 2005. +# Eduard Werner/Edward Wornar , 2007, 2008. +# Bianka Šwejdźic , 2007, 2008. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2021-11-10 15:49+0100\n" +"Last-Translator: Eduard Werner \n" +"Language-Team: en_US \n" +"Language: hsb\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Edward Wornar" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "edi.werner@gmx.de" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Okular, uniwerselny přehladowar za dokumenty" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "Prjedawši zastarowar" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "KPDF wuwiwar" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "Wuměłske dźěła za přispomnjenja" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "Grat za wuzwolenje tabulki" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "Polěpšenja za přispomnjenja" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "Dźi na stronu %1" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "Eksternu dataju wočinić" + +#: core/action.cpp:197 +#, fuzzy, kde-format +#| msgid "Execute '%1'..." +msgid "Execute '%1'…" +msgstr "'%1' wuwjesć ..." + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "Prěnja strona" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "Předchadna strona" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "Přichodna strona" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "Poslednja strona" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "Wróćo" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "Doprědka" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Kónc" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "Prezentaciju započeć" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "Prezentaciju zakónčić" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go To Page…" +msgstr "Dźi na stronu" + +#: core/action.cpp:365 +#, fuzzy, kde-format +#| msgid "Play sound..." +msgid "Play sound…" +msgstr "Zwuk wothrać ..." + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "JavaScript skript" + +#: core/action.cpp:483 +#, fuzzy, kde-format +#| msgid "Play movie" +msgid "Play movie…" +msgstr "Widejo wothrać" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "Widejo wothrać" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "Widejo zastajić" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "Widejo pozastajić" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "Widejo dale hrać" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "Wuzwolenje backenda" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
%1 (%2).

Please select which one to use:
" +msgstr "" +"Wjace hač jedyn backend za MIME typ:
%1 (%2).

Prajće, kotry ma so wužiwać:
" + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "Wjetšina stronow je %1." + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "Portret %1" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "Krajina %1" + +#: core/document.cpp:246 +#, fuzzy, kde-format +#| msgctxt "%1 is width, %2 is height, %3 is paper size name" +#| msgid "%1 x %2 in (%3)" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 x %2 in (%3)" + +#: core/document.cpp:248 +#, fuzzy, kde-format +#| msgctxt "%1 is width, %2 is height, %3 is paper size name" +#| msgid "%1 x %2 mm (%3)" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 x %2 mm (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "Wot započatka dale pytać" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "Wot deleka dale pytać" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "Njemóžu plugin namakać, kotryž so za tutón dokument hodźi." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "přispomnjenja wotstronić" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"Dokument spyta eksterny program wuwjesć, štož okular z wěstotnych přičin " +"njedowoli." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "Žana aplikacija definowana za wočinjenje datajow mimetypa %1." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "Njemóžu temporarnu dataju wočinić" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "Konwertěrowanje za ćišć zwrěšćiło" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "Ćišćenski proces je znjezbožił" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "Ćišćenski proces njehodźi so startować" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "Njemóžu do dataje ćišćeć" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "Ćišćak njeje w korektnym stawje" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "Njemóžu dataju za ćišć namakać" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "Njebě žaneje dataje za ćišć" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"Njemóžach kmany binary namakać za ćišć. Hladajće, zo steji CUPS lpr k " +"dispoziciji" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "Wulkosć strony za ćišć njeje prawa" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "Njemóžach '%1' wočinić. Dataja njeeksistuje" + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Titl" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Tema" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Wopisanje" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "Awtor" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Originalny awtor" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Producent" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "Copyright" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "Strony" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Wutworjene" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Změnjene" + +#: core/document.cpp:6032 +#, kde-format +msgid "MIME Type" +msgstr "MIME-typ" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "Kategorija" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Klučowe słowa" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "Puć k dataji" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "Wulkosć dataje" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "Wulkosć strony" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "přispomnjenje dodać" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "přispomnjenje wumazać" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "swójstwa přispomnjenja změnić" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "přispomnjenje přesunyć" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "přispomnjenje připrawić" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "tekst wobdźěłać" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "wobsah přispomnjenja změnić" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "wobsah formulara wobdźěłać" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "formular wobdźěłać" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "staw kneflow na formularje wobdźěłać" + +#: core/generator.cpp:790 +#, fuzzy, kde-format +#| msgid "Plain &Text..." +msgid "Plain &Text…" +msgstr "Jednory &tekst..." + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "OpenDocument Tekst" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "Opcije za ćišć" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "Najwjetša móžna wulkosć" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "Na cyłu stronu" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "Skalěrować:" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "Njepokaž tutu zdźělenku hišće raz" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "" + +#: core/signatureutils.cpp:504 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" + +#: core/signatureutils.cpp:506 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown signing error" +msgstr "Njeznata dataja" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Žórło: %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "Stan&dardne pismo:" + +#: gui/certificatemodel.cpp:39 +#, fuzzy, kde-format +#| msgid "Document Version" +msgid "Version" +msgstr "Wersija dokumenta" + +#: gui/certificatemodel.cpp:41 +#, kde-format +msgid "Serial Number" +msgstr "Serijowe čisło" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "Njepłaćiwe wot" + +#: gui/certificatemodel.cpp:49 +#, fuzzy, kde-format +#| msgid "Subject" +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Tema" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "" + +#: gui/certificatemodel.cpp:72 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgid "V%1" +msgstr "%1%" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "" + +#: gui/certificatemodel.cpp:146 +#, fuzzy, kde-format +#| msgid "Properties" +msgid "Property" +msgstr "Swójstwa" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "Wuskakowate přispomnjenje (pop-up)" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "Pisanska mašina" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "Inline-přispomnjenje" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +#| msgid "Polygon with Comment" +msgid "Arrow with Comment" +msgstr "Polygon z přispomnjenjom" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "Kłok" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "Runa linija z přispomnjenjom" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "Runa linija" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "Polygon z přispomnjenjom" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "Polygon" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgid "Straight Line with Comment" +msgid "Rectangle with Comment" +msgstr "Runa linija z přispomnjenjom" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "Praworóžk" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgid "Polygon with Comment" +msgid "Ellipse with Comment" +msgstr "Polygon z přispomnjenjom" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "Elipsa" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "Tekst wuzběhnyć z komentarom" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "Wuzběhnjenje" + +#: gui/guiutils.cpp:87 +#, fuzzy, kde-format +#| msgid "Highlight with Comment" +msgid "Squiggle with Comment" +msgstr "Tekst wuzběhnyć z komentarom" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "Kwakla" + +#: gui/guiutils.cpp:91 +#, fuzzy, kde-format +#| msgid "Polygon with Comment" +msgid "Underline with Comment" +msgstr "Polygon z přispomnjenjom" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "Podšmórnjenje" + +#: gui/guiutils.cpp:95 +#, fuzzy, kde-format +#| msgid "Straight Line with Comment" +msgid "Strike Out with Comment" +msgstr "Runa linija z přispomnjenjom" + +#: gui/guiutils.cpp:95 +#, fuzzy, kde-format +#| msgctxt "@action:intoolbar Annotation tool" +#| msgid "Strike Out" +msgid "Strike Out" +msgstr "Přešmórnyć" + +#: gui/guiutils.cpp:102 +#, fuzzy, kde-format +#| msgid "Straight Line with Comment" +msgid "Stamp with Comment" +msgstr "Runa linija z přispomnjenjom" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "Kołk" + +#: gui/guiutils.cpp:106 +#, fuzzy, kde-format +#| msgid "Straight Line with Comment" +msgid "Freehand Line with Comment" +msgstr "Runa linija z přispomnjenjom" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "Z ruku sćehnjena linija" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "" + +#: gui/guiutils.cpp:114 +#, fuzzy, kde-format +#| msgid "File attachment symbol:" +msgid "File Attachment" +msgstr "Symbol za přiwěšk:" + +#: gui/guiutils.cpp:118 +#, fuzzy, kde-format +#| msgid "Stop Sound" +msgid "Sound" +msgstr "Zwuk zastajić" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Wobrazowka" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation" +msgstr "%1 přispomnjenje" + +#: gui/guiutils.cpp:168 +#, fuzzy, kde-format +#| msgctxt "Unknown date" +#| msgid "Unknown" +msgctxt "Unknown author" +msgid "Unknown" +msgstr "Njeznaty" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Awtor: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "Hdźe chceće %1 zawěsćić?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "Njemóžach '%1' za pisanje wočinić. Dataja so njeje zawěsćiła." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "" + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "" + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "" + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "" + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "" + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "" + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "" + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "" + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "" + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "" + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "" + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "" + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "" + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "" + +#: gui/signatureguiutils.cpp:96 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown Algorithm" +msgstr "Njeznata dataja" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown Type" +msgstr "Njeznata dataja" + +#: gui/signatureguiutils.cpp:120 +#, fuzzy, kde-format +#| msgid "Digitally &Sign..." +msgid "Digital Signature" +msgstr "Digitalnje &podpisać..." + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr "" + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "" + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "" + +#: gui/signatureguiutils.cpp:208 +#, kde-format +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "" + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "" + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "" + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" + +#: gui/signaturemodel.cpp:141 +#, fuzzy, kde-format +#| msgid "Signature Properties" +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "Swójstwa signatury" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "" + +#: gui/signaturemodel.cpp:172 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgid "Reason: %1" +msgstr "Strony: %1" + +#: gui/signaturemodel.cpp:177 +#, fuzzy, kde-format +#| msgid "Location:" +msgid "Location: %1" +msgstr "Pozicija teksta:" + +#: gui/signaturemodel.cpp:185 +#, fuzzy, kde-format +#| msgid "Digitally &Sign..." +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "Digitalnje &podpisać..." + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "" + +#: gui/signaturemodel.cpp:193 +#, fuzzy, kde-format +#| msgctxt "Unknown date" +#| msgid "Unknown" +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "Njeznaty" + +#: gui/signaturemodel.cpp:195 +#, fuzzy, kde-format +#| msgid "Signature Properties" +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "Swójstwa signatury" + +#: gui/signaturemodel.cpp:201 +#, fuzzy, kde-format +#| msgid "Signature Properties" +msgid "Signature Type: %1" +msgstr "Swójstwa signatury" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "Čerwjeń" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "Oranž" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "Žołć" + +#: part/annotationactionhandler.cpp:151 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "Zeleń" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "Cyan" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "Módr" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "Magenta" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "Běl" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "Šěr" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "Čorń" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "Šěrokosć %1" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1%" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "Šěrokosć linije přispomnjenja (žane přispomnjenje wuzwolene)" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "Barba přispomnjenja (žane přispomnjenje wuzwolene)" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "Pozadkowa barba přispomnjenja (žane přispomnjenje wuzwolene)" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "Stopjeń transparency přispomnjenja (žane přispomnjenje wuzwolene)" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "Pismo přispomnjenja (žane přispomnjenje wuzwolene)" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" +"Aktualne přispomnjenje k menijej za spěšne přispomnjenja dodać (žane " +"přispomnjenje wuzwolene)" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" +"Poměr na 1:1 wobmjezować a stopnje nuhele na kročele 15 stopnjow (žane " +"přispomnjenje wuzwolene)" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" +"Nadrobne postajenja za aktualny grat za přispomnjenje (žane přispomnjenje " +"wuzwolene)" + +#: part/annotationactionhandler.cpp:308 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Šěrokosć linije přispomnjenja" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "Šěrokosć linije přispomnjenja (aktualne přispomnjenje nima žanu)" + +#: part/annotationactionhandler.cpp:314 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Barba teksta přispomnjenja" + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "Barba kromy přispomnjenja" + +#: part/annotationactionhandler.cpp:318 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Barba přispomnjenja" + +#: part/annotationactionhandler.cpp:322 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Pozadkowa barba přispomnjenja" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "Pozadkowa barba přispomnjenja (aktualne přispomnjenje nima žanu)" + +#: part/annotationactionhandler.cpp:328 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "Pismo přispomnjenja" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "Pismo přispomnjenja (aktualne přispomnjenje nima žane)" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "Nuhel linijow na 15-stopnjowe kroki wobmjezować" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "Poměr na 1:1 wobmjezować" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" +"Poměr na 1:1 wobmjezować a stopnje na 15-stopnjowe kroki (aktualne " +"přispomnjenje to njepodpěruje)" + +#: part/annotationactionhandler.cpp:341 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Transparenca přispomnjenja" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "" + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "" + +#: part/annotationactionhandler.cpp:552 +#, kde-format +msgid "&Annotations" +msgstr "Přispomnjenja" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "Schować" + +#: part/annotationactionhandler.cpp:554 +#, kde-format +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Wjace gratow za přispomnjenja pokazać" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "Wuzběhowanje teksta" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "Podšmórnjenje" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "Kwakla" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "Přešmórnyć" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Pisanska mašina" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "Inline-přispomnjenje" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "Wuskakowate přispomnjenje (pop-up)" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "Z ruku sćehnjena linija" + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "Runa linija" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "Kłok" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "Praworóžk" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "Elipsa" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "Polygon" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "Geometriska forma" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "Kołk" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Spěšne přispomnjenja" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "" + +#: part/annotationactionhandler.cpp:651 +#, kde-format +msgid "Quick Annotation Bar" +msgstr "Pas za spěšne přispomnjenja" + +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "K spěšnym přispomnjenjam dodać" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "Grat za anotacije po wužiwanju aktiwny wostajić" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "" + +#: part/annotationactionhandler.cpp:681 +#, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Nastajenja za přispomnjenja" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "Šěrokosć linije" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "Transparenca" + +#: part/annotationactionhandler.cpp:696 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1%" + +#: part/annotationmodel.cpp:320 +#, fuzzy, kde-format +#| msgid "Page %1" +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "Strona %1" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "Strona %1" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "%1 přispomnjenje" +msgstr[1] "%1 přispomnjeni" +msgstr[2] "%1 přispomnjenja" +msgstr[3] "%1 přispomnjenjow" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "Wuskakowančko w&wočinić" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Zapołožku wumaznyć" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Zapołožku dodać" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Text to Clipboard" +msgstr "Do zapisnika kopěrować" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "Kopěrowanje zakazane wot DRM" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "Z&ničić" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "Swó&jstwa" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, fuzzy, kde-format +#| msgctxt "%1 is the name of the file to save" +#| msgid "&Save '%1'..." +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "'%1' zawěsćić..." + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "N&apohlad" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "Powšit&kownje" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&Awtor" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "Wutworjene:" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "Změnjene:" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "Swójstwa wuskakowančka" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "Swójstwa pisanskeje mašiny" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "Swójstwa polygona" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&Barba:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%1%" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "Tra&nsparenca:" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "Piktogram:" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "Komentar" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "Pomoc" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "Zasunyć" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "Kluč" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "Nowy wotrězk" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "Přispomnjenje" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "Wotrězk" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Pismo:" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "Barba te&ksta:" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "W&usměrić:" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "Nalěwo" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "Srjedźa" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "Naprawo" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "Šěrokosć &kromy:" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "Schwalene" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "kaž je" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "Dowěrliwe" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "Za interne wužiwanje" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "Naćisk" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "Eksperimentalna wersija" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "hižo njepłaći" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "Skónčna wersija" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "Z próstwu wo komentary" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "Za zjawne wužiwanje" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "Njeschwalene" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "Nic za zjawnosć" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "Zapołožka" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "Informacija" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "Šěrokosć:" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "Započatk linki:" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "Kónc linki:" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "" + +#: part/annotationwidgets.cpp:531 +#, kde-format +msgid "Leader line length:" +msgstr "" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Družina:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "Přešmórnjenje" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "Symbol za přiwěšk:" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "Grafika" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "Připinawka" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "Běrowowa klamorčka" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "Etiket" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "Dataja" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "Njeje k dispoziciji" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "Žane wopisanje." + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "Mjeno:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "Wopisanje:" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "Tute přispomnjenje začinić" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "Opcije" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"Tute přispomnjenje snano LaTeX-kod wobsahuje.\n" +"Klikńće tu za kompilowanje." + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "Njemóžu LaTeX-program namakać." + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "Kompilowanje z LaTeXom zwrěšćene." + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "Njemóžu dvipng-program namakać." + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "Problem je so stał při wuwjedźenju přikaza 'latex'." + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "Problem je so stał při wuwjedźenju přikaza 'dvipng'." + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"%2 zapołožka" +msgstr[1] "" +"%1\n" +"\n" +"%2 zapołožce" +msgstr[2] "" +"%1\n" +"\n" +"%2 zapołožki" +msgstr[3] "" +"%1\n" +"\n" +"%2 zapołožkow" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Moje zapołožki" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, fuzzy, kde-format +#| msgid "S&earch:" +msgid "Search…" +msgstr "P&ytać:" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, kde-format +msgid "Expand All" +msgstr "" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, kde-format +msgid "Collapse All" +msgstr "" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "Dźi k tutej zapołožce" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "Zapołožku přemjenować" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Wočini wubrany dokument" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "" + +#: part/certificateviewer.cpp:50 +#, fuzzy, kde-format +#| msgid "E&xport As" +msgid "Export…" +msgstr "E&ksportować jako" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "Generelnje" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "" + +#: part/colormodemenu.cpp:21 +#, kde-format +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "" + +#: part/colormodemenu.cpp:41 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "" + +#: part/colormodemenu.cpp:42 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "Čerwjeń" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "Zeleń" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "Módr" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "Žołć" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "Čorń" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "Běl" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "Ze žołtej barbu wuzběhnyć" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "Ze zelenej barbu wuzběhnyć" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "Tekst zasunyć" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "" + +#: part/dlgaccessibility.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "" + +#: part/dlgaccessibility.cpp:87 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "" + +#: part/dlgaccessibility.cpp:99 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "" + +#: part/dlgaccessibility.cpp:165 +#, fuzzy, kde-format +#| msgid "Text to search for" +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "Tekst, za kotrymž ma so pytać" + +#: part/dlgannotations.cpp:25 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Kompletny nastrojowy pas za přispomnjenja" + +#: part/dlgannotations.cpp:26 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Pas za spěšne přispomnjenja" + +#: part/dlgannotations.cpp:28 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Nastrojowy pas za přispomnjenja:" + +#: part/dlgannotations.cpp:34 +#, kde-format +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "Awtor:" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" + +#: part/dlgannotations.cpp:48 +#, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

Quick Annotation Tools

" +msgstr "" + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "Postajeny wobdźěłar teksta" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "Wobdźěłar teksta:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
\n" +"You can also put few placeholders:\n" +"
    \n" +"
  • %f - the file name
  • \n" +"
  • %l - the line of the file to be reached
  • \n" +"
  • %c - the column of the file to be reached
  • \n" +"
\n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "Přikaz:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "" + +#: part/dlggeneral.cpp:92 +#, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "" + +#: part/dlggeneral.cpp:148 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "" + +#: part/dlggeneral.cpp:220 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%1%" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "" + +#: part/dlggeneral.cpp:228 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%1%" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "" + +#: part/dlggeneral.cpp:233 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "Šěrokosć připrawić" + +#: part/dlggeneral.cpp:234 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "Stronu připrawić" + +#: part/dlggeneral.cpp:235 +#, fuzzy, kde-format +#| msgid "Auto Fit" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "Awtomatisce připrawić" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "" + +#: part/dlgperformance.cpp:28 +#, kde-format +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "" + +#: part/dlgperformance.cpp:38 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "" + +#: part/dlgperformance.cpp:56 +#, kde-format +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "Wužiwa tak mało pomjatka kaž móžno. (Za systemy z mało pomjatkom.)" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"Dobry kompromis mjez trěbnym pomjatkom a spěšnosću. Začita přichodnu stronu " +"a pospěši pytanje. (Typisce za systemy z 256MB pomjatka.)" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"Dźerži wšitko w pomjatku. Začita přichodne strony a pospěši pytanje. (Za " +"systemy z wjace hač 512 MB.)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" + +#: part/dlgpresentation.cpp:38 +#, kde-format +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "" + +#: part/dlgpresentation.cpp:63 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "Hnydom (žane animacije)" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "Narunać" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "" + +#: part/dlgpresentation.cpp:121 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Standardny přechod:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

Drawing Tools

" +msgstr "" + +#: part/dlgpresentation.cpp:171 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Aktualna wobrazowka" + +#: part/dlgpresentation.cpp:172 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Standardna wobrazowka" + +#: part/dlgpresentation.cpp:178 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "Wobrazowka %1 (%2 %3 %4)" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "Mjen&o:" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "&Typ:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "Napohlad" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "Geometriska forma" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "Grat za anotacije wutworić" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "Grat za anotacije připrawić" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "Barba:" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "Šěrokosć &pjera:" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "" + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "Grat za rysowanje wutworić" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "Grat za rysowanje připrawić" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "Njeznaty" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Zawjazane dataje" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "Napohlad" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "Mjeno" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "Wopisanje" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "Wulkosć" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "Wutworjene" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "Změnjene" + +#: part/embeddedfilesdialog.cpp:154 +#, fuzzy, kde-format +#| msgctxt "@action:inmenu" +#| msgid "&Save As..." +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "Zawě&sćić jako..." + +#: part/embeddedfilesdialog.cpp:155 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "&Napohlad" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "Njemóžach dźěl ćišćoweje přehladki začitać" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "Ćišćowa přehladka" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "Začinić" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "Na&makać:" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "Tekst, za kotrymž ma so pytać" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Přichodna namakanka" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "K přichodnej namakance skočić" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Předchadna namakanka" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "K předchadnej namakance skočić" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "Swójstwa pytanja změnić" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "Na wulko/małopisanje dźiwać" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "Wot aktualneje strony" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "Pytać, jako so zapodawa" + +#: part/formwidgets.cpp:870 +#, fuzzy, kde-format +#| msgid "All files (*)" +msgid "All Files (*)" +msgstr "WÅ¡itke dataje (*)" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, fuzzy, kde-format +#| msgid "Digitally &Sign..." +msgid "&Sign…" +msgstr "Digitalnje &podpisać..." + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "Swójstwa signatury" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "Opcije za pytanje" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "z" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "Zoom na 100%" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "Naprawo rotěrować" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "Naprawo" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "Nalěwo rotěrować" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "Nalěwo" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "Originalna orientacija" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "&Napohlad připrawić" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "Kromy při&třihać" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "Na wuzwo&lenje přitřihać" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "Šě&rokosć připrawić" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "&Stronu připrawić" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "&Awtomatisce připrawić" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "&Wokno na stronu připrawić" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "Modus napo&hlada" + +#: part/pageview.cpp:594 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "" + +#: part/pageview.cpp:595 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "Å pi&helowanej stronje" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "Å pihelowanej stronje (prěnja ¢rowana)" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "Pře&hlad" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "ČuÅ¡lić" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "&Region markěrować" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "&Tekst markěrować" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "T&abulku marǩěrować" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "&PowjetÅ¡aca Å¡kleńca" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "Graty za wuzwolenje" + +#: part/pageview.cpp:711 +#, fuzzy, kde-format +#| msgid "Digitally &Sign..." +msgid "Digitally &Sign…" +msgstr "Digitalnje &podpisać..." + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "Cyły dokument přečitać" + +#: part/pageview.cpp:722 +#, fuzzy, kde-format +#| msgid "Speak Current Page" +msgid "Speak From Current Page" +msgstr "Aktualnu stronu přečitać" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "Aktualnu stronu přečitać" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "Womjelknyć" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "Dale čitać/pozastać" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "Horje suwać" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Dele suwać" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "Formulary pokazać" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] "%1 strona začitana" +msgstr[1] "%1 stronje začitanej" +msgstr[2] "%1 strony začitane" +msgstr[3] "%1 stron začitanych" + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "Tekst (%1 pismik)" +msgstr[1] "Tekst (%1 pismikaj)" +msgstr[2] "Tekst (%1 pismiki)" +msgstr[3] "Tekst (%1 pismikow)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "Do zapisnika kopěrować" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "Tekst přečitać" + +#: part/pageview.cpp:2863 +#, fuzzy, kde-format +#| msgid "Image (%1 by %2 pixels)" +msgid "Image (%1 × %2 pixels)" +msgstr "Wobraz (%1x%2)" + +#: part/pageview.cpp:2865 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save to File…" +msgstr "Do dataje zawěsćić..." + +#: part/pageview.cpp:2885 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] copied to clipboard." +msgid "Image [%1 × %2] copied to clipboard." +msgstr "Wobraz [%1x%2] do zapisnika kopěrowany." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "Dataju zawěsćić" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "Dataja so njeje zawěsćiła." + +#: part/pageview.cpp:2901 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] copied to clipboard." +msgid "Image [%1 × %2] saved to %3 file." +msgstr "Wobraz [%1x%2] do zapisnika kopěrowany." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "Tekst kopěrować" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "Dźi na '%1'" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "Šěrokosć připrawić" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "Stronu připrawić" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "Awtomatisce připrawić" + +#: part/pageview.cpp:4107 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1%" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "'%1' pytać z pomocu " + +#: part/pageview.cpp:4404 +#, kde-format +msgid "Configure Web Shortcuts…" +msgstr "" + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "Tutón wotkaz sćěhować" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "Tutón zwuk wothrać" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "Zwuk zastajić" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "Adresu wotkaza kopěrować" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "'%1' pytać w tutym dokumenće" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Witajće!" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "Dźěl wuzwolić, kiž ma so zoomować. Prawy klik za pomjeńšenje." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "Klikńće za powjetÅ¡eny napohlad." + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "Wućehńće praworóžk wokoło teksta/grafiki za kopěrowanje." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "Tekst wubrać" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" + +#: part/pageview.cpp:5188 +#, kde-format +msgid "No valid certificates" +msgstr "" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, kde-format +msgid "Open Certificate Manager" +msgstr "" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
Launch Certificate Manager " +"to import or manage certificates
For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, kde-format +msgid "No certificates found" +msgstr "" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "" + +#: part/pageviewannotator.cpp:492 +#, fuzzy, kde-format +#| msgid "Digitally &Sign..." +msgctxt "@action:button" +msgid "Sign" +msgstr "Digitalnje &podpisać..." + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name" +msgstr "Mjeno awtora" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name for the annotation:" +msgstr "Awtorowe mjeno za přispomnjenje" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "Tekst wuzběhnyć" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "Runu liniju sćahnyć" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "Wuzběhowanje teksta" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "Woblubowane přispomnjenje dodać" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Custom annotation name:" +msgstr "Postajene mjeno přispomnjenja" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&Dataja" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "&Nastajenja" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "Po&moc" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "&Orientacija" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "&Zapołožki" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "Nastrojowy pas za napohlad" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Mini-strony" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "Přispomnjenja" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "Předchadna" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "Dźe na předchadnu stronu dokumenta" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "Přichodna" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "Dźe na přichodnu stronu dokumenta" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "Dźe na přichodnu stronu dokumenta" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "Započatk dokumenta" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "Kónc dokumenta" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "Dźe ke kóncej dokumenta" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "Aktualnu zapołožku přemjenować" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "Předchadna zapołožka" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "Dźi k předchadnej zapołožce" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "Přichodna zapołožka" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "Dźi k přichodnej zapołožce" + +#: part/part.cpp:748 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgid "Configure Okular…" +msgstr "Okular připrawić..." + +#: part/part.cpp:751 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Configure Viewer…" +msgstr "Přehladowar připrawić" + +#: part/part.cpp:757 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Configure Viewer Backends…" +msgstr "Přehladowar připrawić" + +#: part/part.cpp:759 +#, kde-format +msgid "Configure Backends…" +msgstr "" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "Wo backendźe" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "&Znowa začitać" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "Aktualny dokument znowa začitać." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "Čisło strony" + +#: part/part.cpp:817 +#, fuzzy, kde-format +#| msgctxt "@action" +#| msgid "Configure Color Modes..." +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "Barbowe modusy připrawić..." + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "Cyły tekst na tutej stronje markěrować" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "Zawjazane dataj&e" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "E&ksportować jako" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "Dźě&lić z" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "P&rezentacija" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "Zapisk z tu&tej dataju wočinić" + +#: part/part.cpp:945 +#, fuzzy, kde-format +#| msgid "&Import PostScript as PDF..." +msgid "&Import PostScript as PDF…" +msgstr "PostScript jako PDF &importować..." + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "Rysowanku wumazać" + +#: part/part.cpp:962 +#, fuzzy, kde-format +#| msgid "Configure Annotations..." +msgid "Configure Annotations…" +msgstr "Přispomnjenja připrawić..." + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "Prezentaciju wothrawać/pozastajić" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" + +#: part/part.cpp:1123 +#, fuzzy, kde-format +#| msgid "Document Password" +msgid "Document can't be saved" +msgstr "Hesło za dokument" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "" + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "" + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "" + +#: part/part.cpp:1357 +#, kde-format +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "" + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "Hesło za dokument" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "Prezentaciski modus" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" + +#: part/part.cpp:2113 part/part.cpp:2131 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Reloading the document…" +msgstr "Dyrbju dokument znowa začitać..." + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "Wobsah" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Dźi na stronu" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "Zapodajće nowe mjeno zapołožki:" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "Tutu zapołožku přemjenować" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "Tutu zapołožku wumaznyć" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
Do you want to continue?" +msgstr "" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "" + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
Do you want to continue?" +msgstr "" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "" + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "Wobsah wupjelnjeneho formulara" + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "Přispomnjenja wužiwarja" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "Expand whole section" +msgid "Expand Whole Section" +msgstr "Cyły dźěl rozćahnyć" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "Expand whole section" +msgid "Collapse Whole Section" +msgstr "Cyły dźěl rozćahnyć" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Pomhadła" + +#: part/part.cpp:3381 +#, fuzzy, kde-format +#| msgid "Speak Text" +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "Tekst přečitać" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "" + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "Žane zapołožki" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "Bě problem z dźělenjom dokumenta: %1" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "Dźělić" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "Dokument wuspěšnje dźěleny" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "Móžeće dźěleny dokument namakać na: %1" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "&Wobdźěłać" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "&Napohlad" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&Dźi" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "&Nastroje" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "Hłowny nastrojowy pas" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "Nastrojowy pas za přispomnjenja" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, kde-format +msgid "Quick Annotation Toolbar" +msgstr "Pas za spěšne přispomnjenja" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "Powšitkowne opcije" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Přistupnosć" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "Pomhadła za čitanje" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Spěšnosć" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "Připrawjenje spěšnosće" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "Přehladowar připrawić" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Prezentacija" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "Opcije za prezentaciju" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "Opcije za přispomnjenja" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "Wobdźěłar teksta" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "Opcije za wobdźěłar teksta" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "Dale pytać" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 – Presentacija" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "Na tamnu wobrazowku" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "Wobrazowka %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "Prezentaciski modus wopušćić" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Titl: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Strony: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "Klikńće, hdyž chceće započeć" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "Pozastajić" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "Wothrawać" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"Stej dwě móžnosći prezentaciski modus wopušćić, móžeće pak ESC stłóčić abo " +"na knefl stłóčić, kotryž so zjewi na hornim prawym kućiku, hdyž z myšku tam " +"jědźeće. Wězo móžeće tež po woknach chodźić (standard je Alt+TAB za to)" + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "Prezentaciju pokazać" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "Njeznata dataja" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "%1 Swójstwa" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "Pis&ma" + +#: part/propertiesdialog.cpp:145 +#, fuzzy, kde-format +#| msgid "Additional Information" +msgid "Reading font information…" +msgstr "Dodatna informacija" + +#: part/propertiesdialog.cpp:158 +#, kde-format +msgid "&Page Sizes" +msgstr "Wulkosće st&ronow" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "Ně" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "Haj" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "Mjeno" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "Dataja" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "Strona" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "Wulkosć" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "Přehladka wersije" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "" + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "" + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, kde-format +msgid "Certificates" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, fuzzy, kde-format +#| msgid "Allow" +msgid "All" +msgstr "dowolić" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, kde-format +msgid "Only QES certificates" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, fuzzy, kde-format +#| msgid "Options" +msgid "optional" +msgstr "Opcije" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "Pozicija teksta:" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, kde-format +msgid "Background:" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, fuzzy, kde-format +#| msgid "Current document only" +msgid "Recent backgrounds:" +msgstr "Jenož aktualny dokument" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

No annotations

To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
" +msgstr "" +"

Žane přispomnjenja

Za wutworjenje přispomnjenja " +"stłóčće F6 abo wuzwolće Nastroje -> Přispomnjenja z menija.
" + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "Swójstwa" + +#: part/signaturepartutils.cpp:180 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Strony: %1" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "" + +#: part/signaturepartutils.cpp:244 +#, fuzzy, kde-format +#| msgid "Document Password" +msgid "Enter document password" +msgstr "Hesło za dokument" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "Dodatna informacija" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "Wersija dokumenta" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:95 +#, kde-format +msgid "View Certificate…" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:97 +#, kde-format +msgid "View in Certificate Manager" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, fuzzy, kde-format +#| msgid "&Edit" +msgid "&Edit…" +msgstr "&Wobdźěłać" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "" + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "" + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "Přichodny jězdnik" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "Předchadny jězdnik" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "Wšitke dataje (*)" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "Jězdniki zezačinjeć" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "To začini %1 jězdnikow. Chceće woprawdźe pokročować?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "" + +#: shell/welcomescreen.cpp:64 +#, fuzzy, kde-format +#| msgid "Copy Text" +msgid "&Copy Path" +msgstr "Tekst kopěrować" + +#: shell/welcomescreen.cpp:77 +#, fuzzy, kde-format +#| msgid "Open Con&taining Folder" +msgid "&Open Containing Folder" +msgstr "Zapisk z tu&tej dataju wočinić" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "" + +#: shell/welcomescreen.cpp:137 +#, fuzzy, kde-format +#| msgid "Current document only" +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "Jenož aktualny dokument" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, fuzzy, kde-format +#| msgctxt "Opens the selected document" +#| msgid "Open Document" +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Wočini wubrany dokument" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, fuzzy, kde-format +#| msgid "Current document only" +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Jenož aktualny dokument" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "" + +#, fuzzy +#~| msgid "Polygon with Comment" +#~ msgid "Geometry with Comment" +#~ msgstr "Polygon z přispomnjenjom" + +#~ msgid "Geometry" +#~ msgstr "Geometrija" + +#~ msgid "Modified: %1" +#~ msgstr "Změnjene: %1" + +#~ msgid "Find..." +#~ msgstr "Pytać ..." + +#~ msgid "Go To Page..." +#~ msgstr "Dźi na stronu ..." + +#~ msgid "Play movie..." +#~ msgstr "Widejo wothrać ..." + +#~ msgid "Search..." +#~ msgstr "Pytać..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "&Napohlad..." + +#, fuzzy +#~| msgid "Digitally &Sign..." +#~ msgid "&Sign..." +#~ msgstr "Digitalnje &podpisać..." + +#~ msgid "&Edit..." +#~ msgstr "Wo&bdźěłać..." + +#, fuzzy +#~| msgctxt "Unknown date" +#~| msgid "Unknown" +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "Njeznaty" + +#, fuzzy +#~| msgid "Digitally &Sign..." +#~ msgctxt "Signature type" +#~ msgid "Unsigned signature" +#~ msgstr "Digitalnje &podpisać..." + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "Šěrokosć připrawić" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "Stronu připrawić" + +#~ msgid "*|All Files" +#~ msgstr "*|Wšitke dataje" + +#~ msgid "Missing alert type" +#~ msgstr "Falowaca družina alarma" + +#~ msgid "Remove Bookmarks" +#~ msgstr "Zapołožki wumazać" + +# #: part/annotationactionhandler.cpp:536 +# #, kde-format +# msgctxt "@info" +# msgid "Stamps inserted in PDF documents are not visible in PDF readers other than Okular" +# msgstr "" +# #: part/annotationactionhandler.cpp:536 +# #, kde-format +# msgctxt "@title:window" +# msgid "Experimental feature" +# msgstr "" +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "Přispomnjenj&a" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "Wuzběhnyć" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "Tekst zasunyć" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "Inline-přispomnjenje zasunyć" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "Wuskakowate přispomnjenje zasunyć" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Freehand Line" +#~ msgstr "Z ruku sćehnjena linija" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Straight line" +#~ msgstr "Runu liniju sćahnyć" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Arrow" +#~ msgstr "Kłok rysować" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Polygon" +#~ msgstr "Polygon rysować" + +#~ msgid "Highlight in Yellow" +#~ msgstr "Ze žołtej barbu wuzběhnyć" + +#~ msgid "Highlight in Green" +#~ msgstr "Ze zelenej barbu wuzběhnyć" + +#~ msgid "Insert Inline Note" +#~ msgstr "Inline-přispomnjenje zasunyć" + +#~ msgid "Insert Popup Note" +#~ msgstr "Wuskakowate přispomnjenje zasunyć" + +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "Tekst markěrować" + +#~ msgid "Reviews" +#~ msgstr "Přispomnjenja" + +#~ msgid "Review" +#~ msgstr "Přispomnić" + +#, fuzzy +#~| msgid "Text Position" +#~ msgid "Bookmark annotation" +#~ msgstr "Pozicija teksta" + +#~ msgid "Identity" +#~ msgstr "Identita" + +#, fuzzy +#~ msgid "Small Icons" +#~ msgstr "Jenož piktogramy" + +#, fuzzy +#~ msgid "Large Icons" +#~ msgstr "Jenož piktogramy" + +#~ msgid "Do Not Allow" +#~ msgstr "nic dowolić" + +#~ msgid "" +#~ "End of document reached.\n" +#~ "Continue from the beginning?" +#~ msgstr "" +#~ "Kónc dokumenta.\n" +#~ "Wot spočatka pokročować?" + +#~ msgid "" +#~ "Beginning of document reached.\n" +#~ "Continue from the bottom?" +#~ msgstr "" +#~ "Započatk dokumenta.\n" +#~ "Wot kónca pokročować?" + +#~ msgid "Search Columns" +#~ msgstr "W špaltach pytać" + +#~ msgid "All Visible Columns" +#~ msgstr "Wšitke widźomne špalty" + +#~ msgid "No matches found for '%1'." +#~ msgstr "Žane namakanki za '%1'." + +#~ msgid "Search in progress..." +#~ msgstr "Pytam ..." + +#~ msgid "Searching for %1" +#~ msgstr "Pytam %1" + +#~ msgid "Identity Settings" +#~ msgstr "Nastajenja identity" + +#, fuzzy +#~| msgctxt "@item Text character set" +#~| msgid "Greek" +#~ msgctxt "Annotation tool" +#~ msgid "Green Ink" +#~ msgstr "Grjekske" diff --git a/po/hu/okular.po b/po/hu/okular.po new file mode 100644 index 0000000..d2c1ad2 --- /dev/null +++ b/po/hu/okular.po @@ -0,0 +1,6917 @@ +# +# Tamas Szanto , 2003. +# Kiszel Kristóf , 2010. +# Kristóf Kiszel , 2010, 2011, 2012, 2022. +# Balázs Úr , 2012, 2013, 2014, 2015. +# SPDX-FileCopyrightText: 2021, 2022, 2024, 2025 Kristof Kiszel +msgid "" +msgstr "" +"Project-Id-Version: KDE 4.3\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-11-26 21:08+0100\n" +"Last-Translator: Kristof Kiszel \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 25.08.3\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Kiszel Kristóf" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "ulysses@fsf.hu" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Okular dokumentumnézegető" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"© Wilco Greven, Christophe Devriese, 2002.\n" +"© Enrico Ros, 2004-2005.\n" +"© Piotr Szymanski, 2005.\n" +"© Albert Astals Cid, 2004-2017.\n" +"© Pino Toscano, 2006-2009." + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "Korábbi karbantartó" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "" +"Sok kód a keretrendszerhez, a FictionBook-modulhoz és a korábbi ODT-modulhoz" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "Fejlesztő" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymanski" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "A KPDF-ből kiindulva létrehozta az Okular alapkódját" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "Enrico Ros" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "KPDF-fejlesztő" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "Eugene Trounev" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "A jegyzet grafikájának készítője" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "Jiri Baum - NICTA" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "Táblázatkijelölő eszköz" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "Fabio D'Urso" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "Jegyzet tökéletesítések" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "Ugrás a(z) %1. oldalra" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "Külső fájl megnyitása" + +#: core/action.cpp:197 +#, fuzzy, kde-format +#| msgid "Execute '%1'..." +msgid "Execute '%1'…" +msgstr "Végrehajtás: „%1”…" + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "Első oldal" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "Előző oldal" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "Következő oldal" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "Utolsó oldal" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "Vissza" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "Előre" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Kilépés" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "Bemutató" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "A bemutató leállítása" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go To Page…" +msgstr "Ugrás egy oldalra" + +#: core/action.cpp:365 +#, fuzzy, kde-format +#| msgid "Play sound..." +msgid "Play sound…" +msgstr "Hang lejátszása..." + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "Javascript-fájl" + +#: core/action.cpp:483 +#, fuzzy, kde-format +#| msgid "Play movie" +msgid "Play movie…" +msgstr "Film lejátszása" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "Film lejátszása" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "Film leállítása" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "Film szüneteltetése" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "Film folytatása" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "Ez az Okular csomag hangtámogatás nélkül lett összeállítva" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "Háttérmodul kiválasztása" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
%1 (%2).

Please select which one to use:
" +msgstr "" +"Egynél több lehetséges megjelenítőmodul található ehhez a MIME-típushoz:" +"
%1 (%2).

Válasszon ki egyet:
" + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "A legtöbb oldal mérete %1. " + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "%1 álló" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "%1 fekvő" + +#: core/document.cpp:246 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 × %2 hüvelyk (%3)" + +#: core/document.cpp:248 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 × %2 mm (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "Keresés folytatása fentről" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "Keresés folytatása alulról" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "Nem található a dokumentum kezelésére alkalmas modul." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "Az aláírás nincs megvalósítva ehhez a dokumentumtípushoz" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "jegyzetek eltávolítása" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"A dokumentum egy külső alkalmazást próbált elindítani, ezt biztonsági " +"okokból a program nem engedélyezi." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "Nincs kezelőalkalmazás %1 MIME-típusú fájlokhoz." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "Nem sikerült megnyitni egy ideiglenes fájlt" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "A nyomtatáskonverzió nem sikerült" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "A nyomtatási folyamat összeomlott" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "Nem sikerült elindítani a nyomtatási folyamatot" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "Nem sikerült nyomtatni a fájlba" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "A nyomtató érvénytelen állapotban voltcén" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "Nem található nyomtatandó fájlfájl a ny" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "Nem volt nyomtatandó fájl" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"Nem található megfelelő bináris a nyomtatáshoz. Ellenőrizze hogy a CUPS lpr " +"bináris elérhető-e" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "Az oldal nyomtatási mérete érvénytelen" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "Nem sikerült megnyitni ezt a fájlt: „%1”. A fájl nem létezik" + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Cím" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Tárgy" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Leírás" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "Szerző" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Létrehozó" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Készítő" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "Szerzői jog" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "Oldalszám" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Létrehozási dátum" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Utolsó módosítás" + +#: core/document.cpp:6032 +#, kde-format +msgid "MIME Type" +msgstr "MIME-típus" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "Kategória" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Kulcsszavak" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "Fájl útvonalaó" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "Fájlméret" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "Oldalméret" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "jegyzet hozzáadása" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "jegyzet eltávolítása" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "jegyzet tulajdonságainak módosítása" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "jegyzet fordítása" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "jegyzet igazítása" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "szöveg szerkesztése" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "jegyzet tartalmának szerkesztése" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "űrlap tartalmának szerkesztése" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "listaűrlap választásainak szerkesztése" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "lenyíló űrlap kijelölés szerkesztése" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "űrlap gombok állapotának szerkesztése" + +#: core/generator.cpp:790 +#, fuzzy, kde-format +#| msgid "Plain &Text..." +msgid "Plain &Text…" +msgstr "&Egyszerű szöveg..." + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "Szöveges OpenDocument-fájl" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "Nyomtatási beállítások" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "Illesztés a nyomtatási területhez" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "Illesztés teljes oldalra" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "Méretezés mód:" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "Ne jelenjen meg többet ez az üzenet" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "Nem érhető el" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" +"Belső aláírási hiba. Jelezze ezt a hibát a reprodukálás lépéseivel együtt. " +"Hibakód: %1" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "Nem sikerült aláírni a(z) %1 dokumentumot" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "A felhasználó megszakította az aláírást" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "Nem sikerült aláírni. Hibás jelszó" + +#: core/signatureutils.cpp:504 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" +"Nem sikerült az aláírt dokumentum írása a(z) %1 fájlba, " +"ellenőrizze, hogy van írási jogosultsága a kiválasztott mappához." + +#: core/signatureutils.cpp:506 +#, kde-format +msgid "Unknown signing error" +msgstr "Ismeretlen aláírás hiba" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Forrás: %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "&Alapértelmezett betűkészlet:" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "Verzió" + +#: gui/certificatemodel.cpp:41 +#, kde-format +msgid "Serial Number" +msgstr "Sorozatszám" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "Kibocsátó" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "Kibocsátva" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "Lejárat" + +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Tulajdonos" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "Nyilvános kulcs" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "Kulcshasználat" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "V%1" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "%1 (%2 bit)" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "Tulajdonság" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "Érték" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "Felugró megjegyzés" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "Írógép betű" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "Beszúrt megjegyzés" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +#| msgid "Polygon with Comment" +msgid "Arrow with Comment" +msgstr "Sokszög megjegyzéssel" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "Nyíl" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "Egyenes vonal megjegyzéssel" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "Egyenes vonal" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "Sokszög megjegyzéssel" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "Sokszög" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgid "Stamp with Comment" +msgid "Rectangle with Comment" +msgstr "Pecsét megjegyzéssel" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "Téglalap" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgid "Underline with Comment" +msgid "Ellipse with Comment" +msgstr "Aláhúzás megjegyzéssel" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "Ellipszis" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "Kiemelés megjegyzéssel" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "Kiemelés" + +#: gui/guiutils.cpp:87 +#, kde-format +msgid "Squiggle with Comment" +msgstr "Hurkos vonal megjegyzéssel" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "Hurkos vonal" + +#: gui/guiutils.cpp:91 +#, kde-format +msgid "Underline with Comment" +msgstr "Aláhúzás megjegyzéssel" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "Aláhúzás" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out with Comment" +msgstr "Áthúzás megjegyzéssel" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "Áthúzás" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "Pecsét megjegyzéssel" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "Pecsét" + +#: gui/guiutils.cpp:106 +#, kde-format +msgid "Freehand Line with Comment" +msgstr "Szabadkézi vonal megjegyzéssel" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "Szabadkézi vonal" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "Beszúrásjel" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "Fájlmelléklet" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "Hang" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "Videó" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Képernyő" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "Widget" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "Multimédia" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation" +msgstr "Jegyzet" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "Ismeretlen" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Szerző: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "Hová szeretné menteni: %1?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "" +"Nem sikerült megnyitni olvasásra ezt a fájlt: „%1”. A fájl nem lett elmentve." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "Az aláírás kriptográfiailag érvényes." + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "Az aláírás kriptográfiailag érvénytelen." + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "Kivonateltérés történt." + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "Az aláírás CMS/PKCS7 struktúrája rosszul formázott." + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "A kért aláírás nem található meg a dokumentumban." + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "Az aláírás nem ellenőrizhető." + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "A tanúsítvány megbízható." + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "A tanúsítvány kibocsátója nem megbízható." + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "A tanúsítvány kibocsátója ismeretlen." + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "A tanúsítványt visszavonták." + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "A tanúsítvány érvényessége lejárt." + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "A tanúsítványt még nem ellenőrizték." + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "Tanúsítvány ellenőrzése folyamatban" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "Ismeretlen tanúsítványhiba, vagy sérült adat." + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "MD2" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "MD5" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "SHA1" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "SHA256" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "SHA384" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "SHA512" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "SHA224" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "Ismeretlen algoritmus" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "RSA" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "DSA" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "EC" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "Ismeretlen típus" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "Digitális aláírás" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "Letagadhatatlanság" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "Titkosító kulcsok" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "Visszafejtő kulcsok" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "Kulcscsere" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "Tanúsítvány aláírása" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "Aláírás-visszavonási lista" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "Csak titkosítás" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "Nincs megadva használat" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr ", " + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "A dokumentum nem változott a legutóbbi aláírás óta." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" +"A dokumentum aláírás által lefedett alverziója nem módosult;\n" +"ugyanakkor később történtek változtatások a dokumentumban." + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" +"A dokumentum olyan módon változott, ami nem engedélyezett a korábbi aláírá " +"által." + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "A dokumentum integráció-ellenőrzése nem fejezhető be." + +#: gui/signatureguiutils.cpp:208 +#, kde-format +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "A dokumentumnak aláírás-helykitöltő mezői vannak." + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "A dokumentum digitálisan aláírt." + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "" +"A dokumentum digitálisan aláírt. Az utolsó aláírás óta történtek " +"változtatások." + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" +"A dokumentum digitálisan aláírt. Néhány aláírás nem ellenőrizhető " +"megfelelően." + +#: gui/signaturemodel.cpp:141 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "Aláírás helykitöltő %1" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "Mező: %1 az %2. oldalon" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "Alverzió %1: aláírva %2 által" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "Aláírás ideje: %1" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "Ok: %1" + +#: gui/signaturemodel.cpp:177 +#, kde-format +msgid "Location: %1" +msgstr "Hely: %1" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "PGP-aláírás" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "Adobe PKCS7" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "Adobe PKCS7 Sha1" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "ETSI CAdES" + +#: gui/signaturemodel.cpp:193 +#, kde-format +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "Ismeretlen" + +#: gui/signaturemodel.cpp:195 +#, kde-format +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "Aláírás helykitöltő" + +#: gui/signaturemodel.cpp:201 +#, kde-format +msgid "Signature Type: %1" +msgstr "Aláírástípus: %1" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "Piros" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "Narancssárga" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "Sárga" + +#: part/annotationactionhandler.cpp:151 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "Zöld" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "Cián" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "Kék" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "Magenta" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "Fehér" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "Szürke" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "Fekete" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "Szélesség %1" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1%" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "Vonalvastagság (nincs kijelölve jegyzet)" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "Szín (nincs kijelölve jegyzet)" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "Kitöltőszín (nincs kijelölve jegyzet)" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "Átlátszatlanság (nincs kijelölve jegyzet)" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "Betűtípus (nincs kijelölve jegyzet)" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" +"Jelenlegi jegyzet hozzáadása a gyorsjegyzetek menühöz (nincs kijelölve " +"jegyzet)" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" +"Az alakzatarány 1:1-re, vagy a vonalszögek 15°-os lépésekre korlátozása " +"(nincs kijelölve jegyzet)" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" +"Speciális beállítások a jelenlegi jegyzeteszközhöz (nincs kijelölve jegyzet)" + +#: part/annotationactionhandler.cpp:308 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Vonalvastagság" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "Vonalvastagság (a jelenlegi jegyzetnek nincs vonalvastagsága)" + +#: part/annotationactionhandler.cpp:314 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Szövegszín" + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "Szegélyszín" + +#: part/annotationactionhandler.cpp:318 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Szín" + +#: part/annotationactionhandler.cpp:322 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Kitöltőszín" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "Kitöltőszín (a jelenlegi jegyzetnek nincs kitöltőszíne)" + +#: part/annotationactionhandler.cpp:328 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "Betűtípus" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "Betűtípus (a jelenlegi jegyzetnek nincs betűtípusa)" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "Vonalszög korlátozása 15°-os lépésekre" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "Alakzatarány korlátozása 1:1-re" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" +"Az alakzatarány 1:1-re, vagy a vonalszögek 15°-os lépésekre korlátozása (a " +"jelenlegi jegyzet nem támogatja)" + +#: part/annotationactionhandler.cpp:341 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Átlátszatlanság" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "Jelenlegi jegyzet hozzáadása a gyorsjegyzetek menühöz" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "Speciális beállítások a jelenlegi jegyzeteszközhöz" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "Szín" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "Kitöltőszín" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "Áttetsző" + +#: part/annotationactionhandler.cpp:445 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "Custom Color..." +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "Egyéni szín…" + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "Színválasztás" + +#: part/annotationactionhandler.cpp:552 +#, kde-format +msgid "&Annotations" +msgstr "&Jegyzetek" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "Elrejtés" + +#: part/annotationactionhandler.cpp:554 +#, kde-format +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Több jegyzet eszköz megjelenítése" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "Kiemelő" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "Aláhúzás" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "Hurkos vonal" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "Áthúzás" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Gépírás" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "Beszúrt jegyzet" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "Felugró megjegyzés" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "Szabadkézi vonal" + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "Egyenes vonal" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "Nyíl" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "Téglalap" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "Ellipszis" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "Sokszög" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "Geometrikus alakzatok" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "Pecsét" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Gyorsjegyzetek" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "Válasszon egy jegyzeteszközt a gyorsjegyzetekből" + +#: part/annotationactionhandler.cpp:651 +#, kde-format +msgid "Quick Annotation Bar" +msgstr "Gyorsjegyzet eszköztár" + +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "Hozzáadás a gyorsjegyzetekhez" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "Maradjon aktív" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "A jegyzeteszköz maradjon aktív használat után is" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "Jegyzeteszközök arányának és szögének korlátozása" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "Betűtípus" + +#: part/annotationactionhandler.cpp:681 +#, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Jegyzetbeállítások" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "Vonalvastagság" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "Átlátszatlanság" + +#: part/annotationactionhandler.cpp:696 +#, kde-format +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1%" + +#: part/annotationmodel.cpp:320 +#, kde-format +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "%1. oldal (%2)" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "%1. oldal" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "Jegyzet" +msgstr[1] "%1 jegyzet" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "Megnyitás fel&ugró ablakban" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Könyvjelző eltávolítása" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Könyvjelző hozzáadása" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, kde-format +msgid "Copy Text to Clipboard" +msgstr "Szöveg másolása a vágólapra" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "DRM-korlátozás miatt nem lehet másolni" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "&Törlés" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "&Tulajdonságok" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, fuzzy, kde-format +#| msgctxt "%1 is the name of the file to save" +#| msgid "&Save '%1'..." +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "Men&tés: „%1”…" + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "Meg&jelenés" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "Á<alános" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "Sze&rző:" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "Létrehozva:" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "Módosítva:" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "Felugró jegyzet tulajdonságai" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "Gépírás tulajdonságai" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "Beszúrt jegyzet tulajdonságai" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "Egyenes vonal tulajdonságai" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "Sokszög tulajdonságai" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "Geometria alakzat tulajdonságai" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "Szövegjelölő tulajdonságai" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "Pecsét tulajdonságai" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "Szabadkézi vonal tulajdonságai" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "Beszúrási jel tulajdonságai" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "Fájlcsatolmány tulajdonságai" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "Hangbeállítások" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "Videobeállítások" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "Jegyzet tulajdonságai" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "Egyéni pecsétszimbólum kiválasztása fájlból" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "Egyéni pecsétszimbólum választása" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" +"*.ico *.png *.xpm *.svg *.svgz | Ikonfájlok (*.ico *.png *.xpm *.svg *.svgz)" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "Nem sikerült betölteni a(z) %1 fájlt" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "Érvénytelen fájl" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "S&zín:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, kde-format +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%v%" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "Á&tlátszatlanság:" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "Ikon:" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "Megjegyzés" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "Súgó" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "Beszúrás" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "Kulcs" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "Új bekezdés" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "Feljegyzés" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "Bekezdés" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Betűtípus:" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "Szöveg&szín:" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "Ig&azítás:" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "Balra" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "Középre" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "Jobbra" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "Szegély&vastagság:" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "Jóváhagyva" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "Így ahogy van" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "Bizalmas" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "Szervezeti egységi" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "Vázlat" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "Kísérleti" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "Lejárt" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "Végleges" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "Megjegyzésre" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "Nyilvános kibocsátásra" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "Nincs jóváhagyva" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "Nem bocsátható nyilvánosságra" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "Eladva" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "Szigorúan titkos" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "Könyvjelző" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "Információ" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "Pecsétszimbólum:" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "&Szélesség:" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "Sor kezdete:" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "Sor vége:" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "Négyzet" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "Kör" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "Gyémánt" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "Nyitott nyíl" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "Zárt nyíl" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "Nincs" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "Illesztő" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "Jobbra mutató nyitott nyíl" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "Jobbra mutató zárt nyíl" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "Per jel" + +#: part/annotationwidgets.cpp:531 +#, kde-format +msgid "Leader line length:" +msgstr "Vezetővonal hossza:" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "Vezetővonal kiterjesztésének hossza:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "Bekapcsolva" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "Alakzat kitöltése:" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Típus:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "Áthúzás" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "Fájlmelléklet szimbóluma:" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "Grafikon" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "Rajzszög" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "Iratkapocs" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "Címke" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "Fájl" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "-" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "Nincs leírás." + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "Név:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "Leírás:" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "Beszúrásjel:" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "Nincs" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "Bezárás" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "Beállítások" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"Ez a jegyzet LaTeX kódot tartalmazhat.\n" +"Kattintson ide a rendereléshez." + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "A latex programfájl nem található." + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "A LaTeX renderelés nem sikerült" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "A dvipng programfájl nem található." + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "Probléma történt a „latex” parancs végrehajtása közben." + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "Probléma történt a „dvipng” parancs végrehajtása közben." + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"Egy könyvjelző" +msgstr[1] "" +"%1\n" +"\n" +"%2 könyvjelző" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Könyvjelzők" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "Megjelenítés minden dokumentumnál" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, fuzzy, kde-format +#| msgid "S&earch:" +msgid "Search…" +msgstr "K&eresés:" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, fuzzy, kde-format +#| msgid "Expand all" +msgid "Expand All" +msgstr "Minden kibontása" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, fuzzy, kde-format +#| msgid "Collapse all" +msgid "Collapse All" +msgstr "Minden összecsukása" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "Ugrás" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "Könyvjelző átnevezése" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Dokumentum megnyitása" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "A dokumentum összes könyvjelzőjének törlése" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "Tanúsítványmegjelenítő" + +#: part/certificateviewer.cpp:50 +#, fuzzy, kde-format +#| msgid "Export..." +msgid "Export…" +msgstr "Exportálás…" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "Általános" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "Kibocsátó" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "Köznapi név (CN)" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "E-mail" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "Szervezet (O)" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "Kérelmező" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "Érvényesség" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "Ujjlenyomatok" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "SHA-1 ujjlenyomat" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "SHA-256 ujjlenyomat" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "Részletek" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "Tanúsítvány dátuma:" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "Hová szeretné menteni ezt a tanúsítványt?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "Tanúsítványfájl (*.cer)" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "Nem sikerült exportálni a tanúsítványt" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "&Színmód" + +#: part/colormodemenu.cpp:21 +#, kde-format +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "Színek módosítása" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "&Normál színek" + +#: part/colormodemenu.cpp:41 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "Színek &invertálása" + +#: part/colormodemenu.cpp:42 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "&Papírszin módosítása" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "&Sötét és világos színek felcserélése" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "Konvertálás &fekete-fehérre" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "&Világosság invertálása" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "Fé&nyesség invertálása (sRGB lineáris)" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "Fényesség invertálása (&szimmetrikus)" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "Színezet eltolása p&ozitív irányba" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "Színezet eltolása n&egatív irányba" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "Piros" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "Zöld" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "Kék" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "Sárga" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "Fekete" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "Fehér" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "Sárga színű kiemelés" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "Zöld színű kiemelés" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "Szöveg beszúrása" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "Keret rajzolása a linkek körül" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "Színek módosítása" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "" +"Figyelem: ezek az opciók le tudják lassítani a kirajzolási sebességet." + +#: part/dlgaccessibility.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "Színek invertálása" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "Papírszin módosítása" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "Sötét és világos színek felcserélése" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "Konvertálás fekete-fehérre" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "Világosság invertálása" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "Fényesség invertálása (sRGB lineáris)" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "Fényesség invertálása (szimmetrikus)" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "Színezet eltolása pozitív irányba" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "Színezet eltolása negatív irányba" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "Színmód:" + +#: part/dlgaccessibility.cpp:87 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Papír szine:" + +#: part/dlgaccessibility.cpp:99 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Sötét szín:" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "Világos szín:" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "Küszöbérték:" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Kontraszt:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "Szövegfelolvasó motor:" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "Szövegfelolvasó hang:" + +#: part/dlgannotations.cpp:25 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Teljes jegyzet eszköztár" + +#: part/dlgannotations.cpp:26 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Gyorsjegyzet eszköztár" + +#: part/dlgannotations.cpp:28 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Jegyzet eszköztár:" + +#: part/dlgannotations.cpp:34 +#, kde-format +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "Szerző:" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"Megjegyzés: ez a szöveg csak jegyzetként lesz felhasználva. A szöveg " +"a jegyzetelt dokumentumban kerül mentésre, így azzal együtt továbbítódik." + +#: part/dlgannotations.cpp:48 +#, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

Quick Annotation Tools

" +msgstr "

Gyorsjegyzet eszköztár

" + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" +"Válassza ki, melyik szövegszerkesztő induljon el forrásfájl megnyitásakor." + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "Más szövegszerkesztő" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Emacs-kliens" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "Lyx-kliens" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "TeXstudio" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "TeXiFy IDEA" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "Szerkesztő:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
\n" +"You can also put few placeholders:\n" +"
    \n" +"
  • %f - the file name
  • \n" +"
  • %l - the line of the file to be reached
  • \n" +"
  • %c - the column of the file to be reached
  • \n" +"
\n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"A használni kívánt szövegszerkesztő indítóparancsa.
\n" +"Az alábbi szimbólumok használhatók:\n" +"
    \n" +"
  • %f - fájlnév
  • \n" +"
  • %l - sorszám a szövegben
  • \n" +"
  • %c - oszlopszám a szövegben
  • \n" +"
\n" +"Ha az %f nincs megadva, akkor a fájlnév hozzá lesz fűzve az indítóparancshoz." + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "Parancs:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "Finomgörgetés használata" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "Megjelenés:" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "Görgetősávok megjelenítése" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "A bélyegképek kapcsolása az oldalhoz" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "Tippek és tájékoztató üzenetek megjelenítése" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "Értesítés beágyazott fájlokról, űrlapokról vagy aláírásokról" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "A dokumentum címének megjelenítése a címsoron, ha elérhető" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "Csak fájlnév megjelenítése" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "Teljes elérési út megjelenítése" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "Ha nem jelenik meg a dokumentum címe:" + +#: part/dlggeneral.cpp:92 +#, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "Egyéni háttérszín használata:" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "A program jellemzői:" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "Új fájlok megnyitása lapokon" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "Váltás a meglévő lapra, ha a fájl már meg van nyitva" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "A DRM-korlátozások betartása" + +#: part/dlggeneral.cpp:148 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "A dokumentum újratöltése, ha a fájl megváltozik" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "Választóablak a háttérmodul kijelöléséhez" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "Jobbról-balra olvasási irány" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" +"Fájlinformációk használata az alapértelmezés szerint folyamatos módban " +"megnyitás meghatározásához" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" +"Fájlinformáció nélküli fájlok esetén megnyitás folyamatos módban " +"alapértelmezés szerint" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "Megnyitás folyamatos módban alapértelmezés szerint" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" +"A kurzor körbefuttatása a képernyőszéleken a Böngészés eszköz használatakor" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "Elemek a közeli előzményekben:" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "Áttekintő oszlopok:" + +#: part/dlggeneral.cpp:220 +#, kde-format +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%v%" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" +"Meghatározza, hogy a jelenlegi nézetterületből mennyi látszódjon még a " +"PageUp/Down gombok lenyomásakor." + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "Page Up/Down átfedés:" + +#: part/dlggeneral.cpp:228 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%v%" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "100%" + +#: part/dlggeneral.cpp:233 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "Teljes szélességre" + +#: part/dlggeneral.cpp:234 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "Teljes oldal" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "Automatikus igazítás" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "Egyéni" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" +"Meghatározza az alapértelmezett nagyítási módot azokra a fájlokra, amelyek " +"még nem voltak eddig megnyitva. A korábban már megnyitott fájlokra az előző " +"nagyítás lesz alkalmazva." + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "Alapértelmezett nagyítás:" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "Átlátszóság engedélyezése" + +#: part/dlgperformance.cpp:28 +#, kde-format +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "CPU-használat:" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "Alacsony" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "Normál (alapértelmezés)" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "Agresszív" + +#: part/dlgperformance.cpp:38 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "Mohó" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "Memóriahasználat:" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "Szöveg élsimításának bekapcsolása" + +#: part/dlgperformance.cpp:56 +#, kde-format +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "Renderelési beállítások:" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "Grafika élsimításának bekapcsolása" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "Szöveghinting bekapcsolása" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"A memóriahasználat minimalizálása. Az újrafelhasználás kikapcsolása. (Kevés " +"memóriájú gépeknél ajánlott.)" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"Közepes memóriaigény, kompromisszum a kis memóriahasználat és a sebesség " +"között. A következő oldal előre betöltése és a keresések felgyorsítása. (Kb. " +"2 GB memória esetén ajánlott.)" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"Megnövelt memóriahasználat a sebesség érdekében. A következő oldal előre " +"betöltése és a keresések felgyorsítása. (4 GB memória fölött ajánlott.)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" +"Betölt és mindent a memóriában tart. Minden oldal előtöltése. (Maximum a " +"teljes vagy a szabad memória 50%-át használja, amelyik nagyobb.)" + +#: part/dlgpresentation.cpp:38 +#, kde-format +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] "%v másodpercenként" +msgstr[1] "%v másodpercenként" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "Automatikus továbblépés:" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "Az utolsó oldal után folytatás az elsőtől" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "Koppintás bal/jobb oldalon a visszalépéshez/előrehaladáshoz" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "Koppintás bárhol az előrehaladáshoz" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "Kikapcsolva" + +#: part/dlgpresentation.cpp:63 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Érintéses navigáció:" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "Háttérszín:" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "Várakozás, majd elrejtés" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "Mindig látható" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "Mindig rejtett" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "Egérmutató:" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "Állapotjelző mutatása" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "Áttekintő oldal mutatása" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "Azonnali (ne használjon animációkat)" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "Csere" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "Véletlenszerű átmenet" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "Függőleges rácsok" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "Vízszintes rácsok" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "Csökkenő keret" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "Növekvő keret" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "Szétoszlás" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "Elhalványulás" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "Csillogás lefelé" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "Csillogás jobbra" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "Csillogás jobbra, lefelé" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "Hasadás vízszintesen befelé" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "Hasadás vízszintesen kifelé" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "Hasadás függőlegesen befelé" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "Hasadás függőlegesen kifelé" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "Kitakarás lefelé" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "Kitakarás jobbra" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "Kitakarás balra" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "Kitakarás felfelé" + +#: part/dlgpresentation.cpp:121 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Alapértelmezett átmenet:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "Elsődleges képernyő:" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

Drawing Tools

" +msgstr "

Rajzeszközök

" + +#: part/dlgpresentation.cpp:171 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Jelenlegi képernyő" + +#: part/dlgpresentation.cpp:172 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Alapértelmezett képernyő" + +#: part/dlgpresentation.cpp:178 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "%1. képernyő (%2 %3 %4)" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "%1. képernyő (leválasztva)" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "Rajzeszköz: %1" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "Radír" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "&Név:" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "&Típus:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "Megjelenés" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "Szövegjelölő" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "Geometrikus alakzat" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "Megjegyzés eszköz létrehozása" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "Megjegyzés eszköz szerkesztése" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "Szín:" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "&Vonalvastagság:" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "%v px" + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "Rajzeszköz létrehozása" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "Rajzeszköz szerkesztése" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "Ismeretlen" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Beágyazott fájlok" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "Nézet" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "Név" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "Leírás" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "Méret" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "Létrehozva" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "Módosítva" + +#: part/embeddedfilesdialog.cpp:154 +#, fuzzy, kde-format +#| msgid "Save As" +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "Mentés másként" + +#: part/embeddedfilesdialog.cpp:155 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "Né&zet" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "Nem sikerült betölteni a nyomtatási előnézet objektumát" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "Nyomtatási előnézet" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "Bezárás" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "&Keresés:" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "A keresett szöveg" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Következő" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "Ugrás a következő találatra" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Előző" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "Ugrás az előző találatra" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "A keresési beállítások módosítása" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "Nagybetűérzékeny" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "Az aktuális oldaltól" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "Keresés gépelés közben" + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "Minden fájl (*)" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "Aláírás helykitöltő (kattintson az aláíráshoz)" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, fuzzy, kde-format +#| msgctxt "@action:button" +#| msgid "Sign" +msgid "&Sign…" +msgstr "Aláírás" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "Aláírás-tulajdonságok" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "Keresési beállítások" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "Nagybetűérzékeny" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "Reguláris kifejezés" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "Rétegek" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "/" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "Nagyítás" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "Nagyítás 100%-ra" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "Forgatás &jobbra" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "Jobbra" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "Forgatás &balra" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "Balra" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "Eredeti tájolás" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "Né&zet levágása" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "Szegélyek levá&gása" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "Levágás &kijelölésre" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "Te&ljes szélesség" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "Teljes ol&dal" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "&Automatikus igazítás" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "Oldalméretnyi a&blak" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "Né&zetmód" + +#: part/pageview.cpp:594 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "&Egy oldal" + +#: part/pageview.cpp:595 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "Sze&mközti oldalak" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "Két oldal (első oldal &középre)" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "Á&ttekintés" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "&Folyamatos" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "Jobbról-balra olvasási irány használata" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "&Böngészés" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "Na&gyítás" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "Területkijelölé&s" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "S&zövegkijelölés" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "Tábláz&atkijelölés" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "&Nagyító" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "Kijelölő eszközök" + +#: part/pageview.cpp:711 +#, fuzzy, kde-format +#| msgid "Digitally &Sign..." +msgid "Digitally &Sign…" +msgstr "Digitális aláírá&s…" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "Felolvasás (a teljes dokumentumot)" + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "Felolvasás a jelenlegi oldaltól" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "Felolvasás (a jelenlegi oldalt)" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "Állj" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "Felolvasás szüneteltetése/folytatása" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "Gördítés felfelé" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Gördítés lefelé" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "Egy oldallal feljebb görgetés" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "Egy oldallal lejjebb görgetés" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "Űrlapok megjelenítése" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] " Betöltve egy 1 oldalas dokumentum." +msgstr[1] " Betöltve egy %1 oldalas dokumentum." + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "Táblázat tartalmának másolása a vágólapra" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "Szöveg (1 karakter)" +msgstr[1] "Szöveg (%1 karakter)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "Másolás a vágólapra" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "Szöveg felolvasása" + +#: part/pageview.cpp:2863 +#, kde-format +msgid "Image (%1 × %2 pixels)" +msgstr "Kép (%1 × %2 képpont)" + +#: part/pageview.cpp:2865 +#, kde-format +msgid "Save to File…" +msgstr "Mentés fájlba…" + +#: part/pageview.cpp:2885 +#, kde-format +msgid "Image [%1 × %2] copied to clipboard." +msgstr "Egy kép [%1 × %2] kimásolva a vágólapra." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "Fájl mentése" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "Képek (*.png *.jpeg)" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "A fájl nincs elmentve." + +#: part/pageview.cpp:2901 +#, kde-format +msgid "Image [%1 × %2] saved to %3 file." +msgstr "Egy kép [%1 × %2] elmentve ebbe a fájlba: %3." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "Szöveg másolása" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "Ugrás erre: „%1”" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "Teljes szélességre" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "Teljes oldal" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "Automatikus igazítás" + +#: part/pageview.cpp:4107 +#, kde-format +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1%" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "„%1” keresése ezzel:" + +#: part/pageview.cpp:4404 +#, fuzzy, kde-format +#| msgid "Configure Web Shortcuts..." +msgid "Configure Web Shortcuts…" +msgstr "Keresőazonosítók beállítása…" + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "A link követése" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "Hang lejátszása" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "Hang leállítása" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "Hivatkozás címének másolása" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "„%1” keresése a dokumentumban" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Üdvözöljük" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "Válassza ki a kinagyítandó területet. Kicsinyítés: jobb kattintással." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "Kattintson a nagyított nézet megtekintéséhez." + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "Húzzon keretet a másolandó szöveg vagy grafika köré." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "Szöveg kijelölése" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" +"Rajzoljon egy téglalapot a táblázat köré, majd kattintson a sarkok közelébe " +"a felosztáshoz; nyomja meg az Esc gombot a törléshez." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" +"Az összes aláírási tanúsítványa érvénytelen. Amennyiben az aláírás korábban " +"működött, ellenőrizze az érvényességi dátumokat." + +#: part/pageview.cpp:5188 +#, kde-format +msgid "No valid certificates" +msgstr "Nincsenek érvényes tanúsítványok" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, kde-format +msgid "Open Certificate Manager" +msgstr "Tanúsítványkezelő megnyitása" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
Launch Certificate Manager " +"to import or manage certificates
For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" +"Nincsenek aláíró tanúsítványok.
Indítsa el a Tanúsítványkezelőt " +"tanúsítványok importálásához vagy kezeléséhez
További információkért " +"lásd a kézikönyv Digitális aláírások fejezetét." + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, kde-format +msgid "No certificates found" +msgstr "Nem találhatók tanúsítványok" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" +"Nincsenek aláíró tanúsítványok.
További információkért lásd a kézikönyv " +"Digitális aláírások fejezetét." + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" +"Nem mentett módosításai vannak. Mentse a dokumentumot, mielőtt aláírja." + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "Rajzoljon egy téglalapot aláírásmező beszúrásához" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "Húzzon egy keretet a láthatóvá tenni kívánt oldalterület köré" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "Új szöveges megjegyzés" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "Az új megjegyzés szövege:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Aláíró: %1\n" +"\n" +"Dátum: %2" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" +"Az aláírás mérete túl kicsi, lehet, hogy olvashatatlan lesz. Ha szeretne egy " +"biztosan olvashatóbb aláírást készíteni, nyomja meg az " +"Újrakezdés gombot, és rajzoljon egy nagyobb " +"téglalapot." + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "Újrakezdés" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "Aláírás" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name" +msgstr "Szerző neve" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name for the annotation:" +msgstr "A jegyzet szerzőjének neve:" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "Ellipszis rajzolása (zóna kijelölése húzással)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "Szöveg kiemelése" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "Szabadkézi vonal rajzolása" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "Közvetlen megjegyzések (zóna kijelölése húzással)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "Felugró megjegyzés elhelyezése" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "Sokszög rajzolása (bezáráshoz kattintson az első pontra)" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "Téglalap rajzolása" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "Hurokvonalas szöveg" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "Pecsétszimbólum" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "Egyenes vonal rajzolása" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "Szöveg áthúzása" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "Szöveg aláhúzása" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "Gépírás jegyzet (zóna kijelölése húzással)" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "Kiemelő" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "Kedvenc jegyzet hozzáadása" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Custom annotation name:" +msgstr "Egyéni jegyzetnév:" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&Fájl" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "&Beállítások" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "&Súgó" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "&Tájolás" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "&Könyvjelzők" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "Megjelenítő eszköztár" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Bélyegképek" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "Jegyzetek" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" +"A dokumentum egy korábbi Okular verzióval belsőleg mentett jegyzeteket vagy " +"űrlapadatokat tartalmaz. A belső tárhely már nem támogatott.
Mentse a fájlt az áthelyezésükhöz, ha szeretné folytatni a dokumentum " +"szerkesztését." + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"A dokumentum beágyazott fájlt is tartalmaz. Kattintson ide azok megtekintéséhez vagy válassza a Fájl -> " +"Beágyazott fájlok menüpontot." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "Aláírás folyamatban. Beállíthatja az aláírás pozícióját és méretét" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "Aláírás bejefezése" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "Előző" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "Ugrás az előző oldalra" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "Visszalépés a dokumentum előző oldalára" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "Következő" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "Következő oldal" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "Előrelépés a dokumentum következő oldalára" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "A dokumentum eleje" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "Előrelépés a dokumentum elejére" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "A dokumentum vége" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "Előrelépés a dokumentum végére" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "A jelenlegi könyvjelző átnevezése" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "Előző könyvjelző" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "Ugrás az előző könyvjelzőre" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "Következő könyvjelző" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "Ugrás a következő könyvjelzőre" + +#: part/part.cpp:748 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgid "Configure Okular…" +msgstr "Az Okular beállításai…" + +#: part/part.cpp:751 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Configure Viewer…" +msgstr "A megjelenítő beállítása" + +#: part/part.cpp:757 +#, fuzzy, kde-format +#| msgid "Configure Viewer Backends" +msgid "Configure Viewer Backends…" +msgstr "Megjelenítő háttérmodul beállítása" + +#: part/part.cpp:759 +#, fuzzy, kde-format +#| msgid "Configure Backends" +msgid "Configure Backends…" +msgstr "Háttérmodul beállítása" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "A háttérmodul névjegye" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "Új&ratöltés" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "A dokumentum újratöltése." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "A keresősáv be&zárása" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "Oldalszám" + +#: part/part.cpp:817 +#, fuzzy, kde-format +#| msgctxt "@action" +#| msgid "Configure Color Modes..." +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "A színmódok beállítása…" + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "Az összes szöveg kijelölése az aktuális oldalon" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "Old&alsáv megjelenítése" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "&Lapsáv megjelenítése" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "Aláí&ráspanel megjelenítése" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "Beá&gyazott fájlok" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "E&xportálás mint" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "Me&gosztás" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "&Bemutató" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "Tartal&mazó mappa megnyitása" + +#: part/part.cpp:945 +#, fuzzy, kde-format +#| msgid "&Import PostScript as PDF..." +msgid "&Import PostScript as PDF…" +msgstr "Postscript-fájl importálása P&DF formátumban…" + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "Váltás feketeképernyő-módba" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "Rajz törlése" + +#: part/part.cpp:962 +#, fuzzy, kde-format +#| msgid "Configure Annotations..." +msgid "Configure Annotations…" +msgstr "Jegyzetek beállítása…" + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "Bemutató indítása/szüneteltetése" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" +"Módosította a megnyitott dokumentumot, de ez a dokumentumtípus nem " +"menthető.\n" +"Minden módosítás el fog veszni az Okular bezárásakor." + +#: part/part.cpp:1123 +#, kde-format +msgid "Document can't be saved" +msgstr "A dokumentumot nem lehet menteni" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "Nem sikerült megnyitni: „%1” (%2) " + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "A(z) %1 betöltése meg lett szakítva." + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "Nem sikerült megnyitni: %1. A hiba oka: %2" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "Megjelenítő háttérmodul beállítása" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "Háttérmodul beállítása" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"Nem található a „ps2pdf” programfájl, ezért az Okular nem tud PS-fájlokat " +"importálni." + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "A ps2pdf nem található" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "PostScript fájlok (%1)" + +#: part/part.cpp:1357 +#, fuzzy, kde-format +#| msgid "Importing PS file as PDF (this may take a while)..." +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "PS-fájl importálása PDF formátumban (sokáig eltarthat)…" + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "Adja meg a jelszót a dokumentum olvasásához:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "Hibás jelszó. Próbálja újra:" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "Dokumentumjelszó" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" +"Ennek a dokumentumnak XFA űrlapjai vannak, amelyek jelenleg nem " +"támogatottak." + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"A dokumentum űrlapot is tartalmaz. A gombra kattintva (vagy a Nézet -> " +"Űrlapok menüponttal) lehet kezelni azokat." + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" +"Minden szerkesztés és interaktív funkció le van tiltva ennél a " +"dokumentumnál. Mentsen egy másolatot, és nyissa meg újra a dokumentum " +"szerkesztéséhez." + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" +"A dokumentum teljes képernyős módban akar megjelenni.\n" +"Kilép a normál módból, és belép a bemutató módba?" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "Kérés a nézetmód megváltoztatására" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "Belépés bemutató módba" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "Kérés elutasítása" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "A(z) %1 nem nyitható meg. %2" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" +"A(z) %1 fájlnak nem mentett módosításai vannak, de egy " +"másik program módosította. Az újratöltés kicseréli a nem mentett " +"változtatásokat a másik program módosításaival.Szeretné folytatni " +"a fájl újratöltését?" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "A fájl megváltozott" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "Újratöltés folytatása" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "Újratöltés megszakítása" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" +"A(z) %1 fájlnak nem mentett módosításai vannak, de egy " +"másik program módosította. A bezárás kicseréli a nem mentett változtatásokat " +"a másik program módosításaival.Szeretné folytatni a fájl bezárását?" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "Bezárás folytatása" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "Bezárás megszakítása" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "Szeretné elmenteni a(z) „%1” változásait vagy elveti azokat?" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "Dokumentum bezárása" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"Ez a link dokumentumbezárási műveletre mutat, mely nem működik beágyazott " +"megjelenítő használatakor." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"Ez a link alkalmazáskilépési műveletre mutat, mely nem működik beágyazott " +"megjelenítő használatakor." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Reloading the document…" +msgstr "A dokumentum újratöltése…" + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "Tartalomjegyzék" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "Aláírások" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Ugrás egy oldalra" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "&Oldalszám:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "Adja meg a könyvjelző új nevét:" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "Könyvjelző átnevezése" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "Könyvjelző eltávolítása" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "Mentés másként" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" +"Egy Okular archívum mentését választotta olyan fájlnévvel, ami nem a(z) „%1” " +"kiterjesztésre végződik. Ez nem megengedett, szeretne választani egy új " +"nevet?" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "Nem támogatott kiterjesztés" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "Új név választása" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" +"A(z) %1 fájlt egy másik program módosította. Ha most " +"menti, a másik program változtatásai elvesznek. Biztosan folytatni szeretné?" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "Mentés - figyelmeztetés" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "Másolat mentése máshová" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
Do you want to continue?" +msgstr "" +"A jelenlegi dokumentum jelszóval védett.
A mentéshez a fájlt újra kell " +"tölteni. A jelszót ismét meg kell adnia, a visszavonás/újra előzmények pedig " +"elvesznek.
Szeretné folytatni?" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "Nem sikerült megnyitni egy ideiglenes fájlt mentésre." + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" +"Nem sikerült a(z) %1 felülírása, mert a fájl csak " +"olvasható. Próbálja máshová menteni, vagy módosítsa a fájl jogosultságait." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
Do you want to continue?" +msgstr "" +"Mentés után a jelenlegi dokumentumformátum a fájl újratöltését igényli. A " +"visszavonás/újra előzmények elvesznek.
Szeretné folytatni?" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "Nem sikerült elmenteni a fájlt ide: „%1”. Próbálja máshová menteni." + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "Kitöltött űrlapok tartalma" + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "Felhasználói jegyzetek" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" +"A változtatások mentésére készül, de a jelenlegi fáljformátum nem támogatja " +"a következő elemeket Kérjük, használja az Okular dokumentumarchívum " +"formátumot a megőrzésükhöz." + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "Figyelmeztetés" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, fuzzy, kde-format +#| msgid "Save as Okular document archive..." +msgid "Save as Okular document archive…" +msgstr "Mentés Okular dokumentumarchívumként…" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" +"A változtatások mentésére készül, de a jelenlegi fáljformátum nem támogatja " +"a következő elemeket. Kérjük, használja az Okular dokumentumarchívum " +"formátumot a megőrzésükhöz. Kattintson a Folytatás gombra a " +"dokumentum mentéséhez és ezen elemek eldobásához." + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" +"A változtatások mentésére készül, de a jelenlegi fáljformátum nem támogatja " +"a következő elemeket. Kérjük, használja az Okular dokumentumarchívum " +"formátumot a megőrzésükhöz. Kattintson a Folytatás gombra a " +"mentéshez, ekkor azonban elveszíti ezeket az elemeket, és a visszavonás/újra " +"előzményeket." + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "Folytatás" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "Folytatás a változtatások elvesztésével" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "Nem sikerült elmenteni a fájlt ide: „%1”. %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"Nem sikerült átmásolni a megadott helyre ezt a fájlt: %1.\n" +"\n" +"Nem létezik ilyen nevű dokumentum." + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" +"Nem sikerült elmenteni a fájlt ide: „%1”. Hiba: „%2”. Próbálja máshová " +"menteni." + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "Expand whole section" +msgid "Expand Whole Section" +msgstr "Teljes szakasz kibontása" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "Collapse whole section" +msgid "Collapse Whole Section" +msgstr "Teljes szakasz összecsukása" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "Bélyegképek szinkronizálása az oldallal" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Eszközök" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "Felolvasás" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "Nyomtatás" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "A dokumentum nyomtatása nincs engedélyezve." + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"Ismeretlen hiba miatt nem sikerült kinyomtatni a dokumentumot. Kérjük " +"jelentse be a hibát itt: bugs.kde.org" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"A következő hiba miatt nem sikerült kinyomtatni a dokumentumot: „%1”. Kérjük " +"jelentse be a hibát itt: bugs.kde.org" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "Ugrás az előző pozícióra" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "Ugrás a következő pozícióra" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"Fájlhiba Nem sikerült létrehozni ezt az ideiglenes " +"fájlt: %1." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"Fájlhiba Nem sikerült megnyitni ezt a fájlt " +"kitömörítésre: %1. A fájlt nem sikerült " +"betölteni." + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"Ez a hiba általában akkor fordul elő, ha nincs jogosultsága a fájl " +"megnyitásához. Ha a jobb gombbal rákattint a fájlra a Dolphin fájlkezelőben, " +"kiválasztja a „Tulajdonságok” opciót, és a „Jogosultsáok” fület a megnyitott " +"ablakban." + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"Fájlhiba Nem sikerült kitömöríteni a fájlt " +"%1. A fájlt nem sikerült betölteni." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"Ez a hiba általában akkor jelentkezik, ha a fájl megsérült. A fájl " +"integritásának ellenőrzéséhez tömörítse ki azt parancssoros eszközökkel." + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "Nincs könyvjelző" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "Hiba történt a dokumentum megosztásakor: %1" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "Megosztás" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "Dokumentum sikeresen megosztva" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "A megosztott dokumentumot itt találhatja meg: %1" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "S&zerkesztés" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "Né&zet" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&Ugrás" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "&Eszközök" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "Alap eszköztár" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "Jegyzet eszköztár" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, kde-format +msgid "Quick Annotation Toolbar" +msgstr "Gyorsjegyzet eszköztár" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "Általános beállítások" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Kezelési segítség" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "Olvasási segítség" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Teljesítmény" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "Teljesítménytuning" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "A megjelenítő beállítása" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Bemutató" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "A bemutató mód beállításai" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "Jegyzet tulajdonságai" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "Szövegszerkesztő" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "Szerkesztőbeállítások" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" +"A szerkesztőt a parancssorban a következőre állították:\n" +"%1 \n" +"Ha szeretné ezt a beállítást használni, indítsa az Okulart a --editor-cmd " +"kapcsolóval" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "Következő találat" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 - bemutató" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "Képernyőváltás" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "%1. képernyő" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "Kilépés bemutató módból" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Cím: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Oldalszám: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "Kattintson ide a kezdéshez" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "Szünet" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "Indítás" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"Két módon lehet kilépni a bemutatóból: nyomja meg az Esc billentyűt vagy " +"kattintson az egérrel a Kilépés gombra, mely a jobb felső sarokban jelenik " +"meg, ha odaviszi az egérmutatót. Az ablakváltás is használható természetesen " +"(Alt+Tab alapértelmezés szerint)." + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "Egy bemutató tart" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "Ismeretlen fájl" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "%1 - tulajdonságok" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "&Betűtípusok" + +#: part/propertiesdialog.cpp:145 +#, kde-format +msgid "Reading font information…" +msgstr "A betűtípusok jellemzőinek feldolgozása folyik…" + +#: part/propertiesdialog.cpp:158 +#, kde-format +msgid "&Page Sizes" +msgstr "&Oldalméretek" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "Betűtípus ki&bontása" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Type 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Type 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "Type 1C (OT)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Type 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType (OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID Type 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID Type 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID Type 0C (OT)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType (OT)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "TeX PK" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "TeX virtual" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "TeX Font Metric" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "TeX FreeType-handled" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "Ismeretlen" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "Beágyazott (részben)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "Beágyazott" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "Nem" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "Igen (részben)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "Igen" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "%1 (helyettesítve ezzel: %2)" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "[-]" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "Ismeretlen betűtípus" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "Beágyazott: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "Név" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "Típus" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "Fájl" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "Oldal" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "Méret" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "Alverzió előnézete" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "Hová szeretné menteni ezt az alverziót?" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "Nem sikerült menteni a(z) %1 fájlt." + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "Nem sikerült megnyitni az alverziót." + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "Oldalszűrés legalább 3 betűvel" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "Nagybetűérzékeny" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "Kifejezés illesztése" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "Minden szó illeszkedjen" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "Elég egy szó illeszkedése is" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "Szűrőbeállítások" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, kde-format +msgid "Certificates" +msgstr "Tanúsítványok" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "Válassza ki az aláíró tanúsítványt:" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "Mind" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, kde-format +msgid "Only QES certificates" +msgstr "Csak QES-tanúsítványok" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "Csak PGP-kulcsok" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "Ok:" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, kde-format +msgid "optional" +msgstr "opcionális" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "Hely:" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, kde-format +msgid "Background:" +msgstr "Háttér:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "Választás…" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, kde-format +msgid "Recent backgrounds:" +msgstr "Legutóbbi hátterek:" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

No annotations

To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
" +msgstr "" +"

Nincs megjegyzés

Új megjegyzés készítéséhez nyomja " +"meg az F6 billentyűt vagy válassza az Eszközök -> Jegyzetek " +"menüpontot.
" + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "Csoportosítás oldalanként" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "Csoportosítás szerzőnként" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "Csak az aktuális oldal jegyzeteinek mutatása" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "Minden elem kibontása" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "Minden elem összecsukása" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "Tulajdonságok" + +#: part/signaturepartutils.cpp:180 +#, kde-format +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Képek (%1)" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "Válasszon háttérképet" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "Kép elfelejtése" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "Összes kép elfelejtése" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "Adja meg a jelszót (ha van) a tanúsítvány feloldásához: %1" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "Adja meg a tanúsítvány jelszavát" + +#: part/signaturepartutils.cpp:244 +#, kde-format +msgid "Enter document password" +msgstr "Adja meg a dokumentumjelszót" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "Aláírt fájl mentése másként" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "%1_alairt.%2" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "Aláírás állapota" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "Aláírás érvényessége:" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "Dokumentum módosításai:" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "Egyéb jellemzők" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "Aláíró:" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "Aláírás ideje:" + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "Dokumentumverzió" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Dokumentumváltozat %1 / %2" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "Aláírt verzió megtekintése…" + +#: part/signaturepropertiesdialog.cpp:95 +#, kde-format +msgid "View Certificate…" +msgstr "Tanúsítvány megtekintése…" + +#: part/signaturepropertiesdialog.cpp:97 +#, kde-format +msgid "View in Certificate Manager" +msgstr "Megtekintés a Tanúsítványkezelőben" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "A KDE Tanúsítványkezelő (kleopatra) nem található" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "Minősített" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "PGP" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "Csak a könyvjelzős oldalak mutatása" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "Lejátszás" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Szünet" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "Leállítás" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "Az Okular ezen összeállítása nem támogatja a videókat" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "Az Okular ezen összeállítása nem támogatja a videókat" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, kde-format +msgid "&Edit…" +msgstr "S&zerkesztés…" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "&Eltávolítás" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "Mozgatás &felfelé" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "Mozgatás &lefelé" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "Alapértelmezett rajzeszköz #%1" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "Már létezik eszköz ezzel a névvel. Helyette egy alapértelmezett lesz" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "Duplikált név" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "A megjelenítendő dokumentum egy oldala" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "Bemutató indítása a dokumentummal" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "Kezdés a nyomtatás párbeszédablakkal" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "Kezdés a nyomtatás párbeszédablakkal és kilépés nyomtatás után" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "„Egyedi példány” kezelése" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "Ne hozza előre az ablakot" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "Karakterlánc keresése a szövegben" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "Beállítja a külső szerkesztő parancsát" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "" +"A megnyitandó dokumentumok. '-' megadása esetén a standard bemenetről olvas." + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" +"A szerkesztő parancsot nem lehet megadni egy már futó Okular példányban. " +"Kapcsolja ki a lapokat, és próbálja meg újra. Vegye figyelembe, hogy az " +"egyedi nem támogatott a szerkesztő parancs parancssorban beállításakor.\n" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "" +"Hiba: Nem lehet egynél több dokumentumot megnyitni a --unique kapcsolóval" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" +"Hiba: Nem lehet egynél több dokumentumot megnyitni a --presentation " +"kapcsolóval" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "" +"Hiba: Nem lehet egynél több dokumentumot megnyitni a --print kapcsolóval" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "" +"Hiba: Nem lehet egynél több dokumentumot megnyitni a --page kapcsolóval" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "" +"Hiba: Nem lehet egynél több dokumentumot megnyitni a --find kapcsolóval" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "Nem található az Okular objektum: %1" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "Oldalsáv" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "Már fut egy egyedi Okular példány. Ez a példány nem lesz egyedi." + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "Nem található az Okular objektum." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"Kattintson ide fájl megnyitásához\n" +"Kattintson ide és tartsa lenyomva a gombot nemrég használt fájl megnyitásához" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"Kattintson ide fájl megnyitásához vagy kattintson ide és tartsa " +"lenyomva a gombot nemrég használt fájl kiválasztásához" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "Következő lap" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "Előző lap" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "Lap bezárásának visszavonása" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "Oldalsáv zárolása" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "Minden fájl (*)" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "Minden támogatott fájl (%1)" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "Dokumentum megnyitása" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "Bezárás megerősítése" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "Lapok bezárása" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "%1 lap bezárására készül. Biztosan szeretné folytatni?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "Figyelmeztetés több lap bezárása előtt" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "Elérési út más&olása" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "Tartal&mazó mappa megnyitása" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "Elem el&felejtése" + +#: shell/welcomescreen.cpp:137 +#, kde-format +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "Nincsenek legutóbbi dokumentumok" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "Üdvözli az Okular" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Dokumentum megnyitása…" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, kde-format +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Legutóbbi dokumentumok" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "Összes elfelejtése" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "Kezdőképernyő elrejtése" + +#~ msgid "Geometry with Comment" +#~ msgstr "Geometriai alakzat megjegyzéssel" + +#~ msgid "Geometry" +#~ msgstr "Geometriai alakzat" + +#~ msgctxt "Annotation type: contents" +#~ msgid "%1: %2" +#~ msgstr "%1: %2" + +#~ msgid "Modified: %1" +#~ msgstr "Módosítva: %1" + +#~ msgid "Find..." +#~ msgstr "Keresés..." + +#~ msgid "Go To Page..." +#~ msgstr "Ugrás egy oldalra..." + +#~ msgid "Play movie..." +#~ msgstr "Film lejátszása..." + +#~ msgid "Search..." +#~ msgstr "Keresés…" + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "Mentés más&ként…" + +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "Né&zet…" + +#~ msgid "&Sign..." +#~ msgstr "Aláírá&s…" + +#~ msgid "Configure Viewer..." +#~ msgstr "A megjelenítő beállítása…" + +#~ msgid "Configure Viewer Backends..." +#~ msgstr "A megjelenítő háttérmodul beállításai…" + +#~ msgid "Configure Backends..." +#~ msgstr "A háttérmodul beállításai…" + +#~ msgid "&Add..." +#~ msgstr "&Hozzáadás…" + +#~ msgid "&Edit..." +#~ msgstr "S&zerkesztés…" + +#~ msgctxt "%1 is a file path" +#~ msgid "" +#~ "Could not sign. Invalid certificate password or could not write to '%1'" +#~ msgstr "" +#~ "Nem sikerült aláírni. A tanúsítvány jelszava érvénytelen, vagy nem " +#~ "sikerült írni ide: „%1”" + +#, fuzzy +#~| msgid "" +#~| "All your signing certificates are either not valid yet or are past their " +#~| "validity date." +#~ msgid "All your signing certificates are invalid" +#~ msgstr "Az összes aláíró tanúsítványa lejárt, vagy még nem érvényes." + +#~ msgid "Unsigned Signature %1" +#~ msgstr "Üres aláírás %1" + +#, fuzzy +#~| msgctxt "Unknown author" +#~| msgid "Unknown" +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "Ismeretlen" + +#, fuzzy +#~| msgid "Unsigned Signature %1" +#~ msgctxt "Signature type" +#~ msgid "Unsigned signature" +#~ msgstr "Üres aláírás %1" + +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "Spinbox prefix: Advance automatically: every n seconds" +#~ msgid "every " +#~ msgstr "minden " + +#~ msgctxt "Suffix for the pen width, eg '10 px'" +#~ msgid " px" +#~ msgstr " px" + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " %" + +#, fuzzy +#~| msgctxt "%1 is a file path" +#~| msgid "" +#~| "Could not sign. Invalid certificate password or could not write to '%1'" +#~ msgctxt "%1 is a file path" +#~ msgid "Could not sign. Could not write to '%1'" +#~ msgstr "" +#~ "Nem sikerült aláírni. A tanúsítvány jelszava érvénytelen, vagy nem " +#~ "sikerült írni ide: „%1”" + +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "Teljes szélességre" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "Teljes oldal" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Auto Fit" +#~ msgstr "Automatikus igazítás" + +#~ msgid "*|All Files" +#~ msgstr "*|Minden fájl" + +#~ msgid "Missing alert type" +#~ msgstr "Hiányzó figyelmeztetéstípus" + +#~ msgid "" +#~ "The file '%1' has been modified by another program, which means it can no " +#~ "longer be saved." +#~ msgstr "" +#~ "A(z) „%1” fájlt egy másik program módosította, ez azt jelenti, hogy többé " +#~ "nem lehet menteni." + +#, fuzzy +#~| msgid "Show S&idebar" +#~ msgid "Show Sidebar" +#~ msgstr "Old&alsáv megjelenítése" + +#~ msgctxt "@info" +#~ msgid "" +#~ "experimental feature.Stamps inserted in PDF documents are " +#~ "not visible in PDF readers other than Okular." +#~ msgstr "" +#~ "kísérleti funkció.A PDF-dokumentumokba beszúrt pecsétek nem " +#~ "láthatók más PDF-olvasókban, csak az Okularban." + +#~ msgctxt "@info" +#~ msgid "" +#~ "The version of the Poppler library this Okular was compiled with does not " +#~ "support signing documents with passwords. Please ask your provider to " +#~ "update it to 22.02 or later." +#~ msgstr "" +#~ "Az Okular összeállításakor használt Poppler függvénykönyvtár verziója nem " +#~ "támogatja dokumentumok jelszóval aláírását. Kérje meg a szolgáltatóját, " +#~ "hogy frissítsen 22.02-re vagy újabbra." + +#~ msgctxt "@title:window" +#~ msgid "Poppler library is too old" +#~ msgstr "A Poppler függvénykönyvtár túl régi" + +#~ msgctxt "@info" +#~ msgid "" +#~ "Stamps inserted in PDF documents are not visible in PDF readers other " +#~ "than Okular" +#~ msgstr "" +#~ "A PDF-dokumentumokba beszúrt pecsétek nem láthatók más PDF-olvasókban, " +#~ "csak az Okularban" + +#~ msgctxt "@title:window" +#~ msgid "Experimental feature" +#~ msgstr "Kísérleti funkció" + +#~ msgid "Remove Bookmarks" +#~ msgstr "Könyvjelzők eltávolítása" + +#, fuzzy +#~| msgid "&Annotations" +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "&Jegyzetek" + +#, fuzzy +#~| msgid "Highlight" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "Kiemelés" + +#, fuzzy +#~| msgid "Underline" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Underline" +#~ msgstr "Aláhúzás" + +#, fuzzy +#~| msgid "Squiggle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Squiggle" +#~ msgstr "Hurkos vonal" + +#, fuzzy +#~| msgid "Strike Out" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Strike Out" +#~ msgstr "Áthúzás" + +#, fuzzy +#~| msgid "Insert Text" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "Szöveg beszúrása" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "Beszúrt megjegyzés" + +#, fuzzy +#~| msgctxt "@action:intoolbar Annotation tool" +#~| msgid "Popup Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "Felugró megjegyzés" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a freehand line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Freehand Line" +#~ msgstr "Szabadkézi vonal rajzolása" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a straight line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Straight line" +#~ msgstr "Egyenes vonal rajzolása" + +#, fuzzy +#~| msgid "Arrow" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Arrow" +#~ msgstr "Nyíl" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a rectangle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Rectangle" +#~ msgstr "Téglalap rajzolása" + +#, fuzzy +#~| msgid "Cyan Ellipse" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Ellipse" +#~ msgstr "Ciánkék ellipszis" + +#, fuzzy +#~| msgid "Polygon" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Polygon" +#~ msgstr "Sokszög" + +#, fuzzy +#~| msgid "Highlighter" +#~ msgid "Highlight in Yellow" +#~ msgstr "Kiemelő" + +#, fuzzy +#~| msgid "Highlight with Comment" +#~ msgid "Highlight in Green" +#~ msgstr "Kiemelés megjegyzéssel" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgid "Insert Inline Note" +#~ msgstr "Beszúrt megjegyzés" + +#, fuzzy +#~| msgctxt "@action:intoolbar Annotation tool" +#~| msgid "Popup Note" +#~ msgid "Insert Popup Note" +#~ msgstr "Felugró megjegyzés" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "Szöveg kijelölése" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "Szöveg kijelölése" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "Szöveg kijelölése" + +#, fuzzy +#~| msgid "&Magnifier" +#~ msgctxt "verb" +#~ msgid "&Magnify" +#~ msgstr "&Nagyító" + +#~ msgid "Bookmark annotation" +#~ msgstr "Jegyzet könyvjelzőbe" + +#~ msgid "&Toggle Change Colors" +#~ msgstr "Színek &módosításának váltása" + +#, fuzzy +#~| msgid "Enable transitions" +#~ msgctxt "@option:check Config dialog, presentation page, transitions" +#~ msgid "Enable transitions" +#~ msgstr "Átmenetek engedélyezése" + +#, fuzzy +#~| msgid "Advance every:" +#~ msgctxt "@label:spinbox Config dialog, presentation page" +#~ msgid "Advance every:" +#~ msgstr "Léptetési időköz:" + +#, fuzzy +#~| msgid "Background color:" +#~ msgctxt "@label:listbox Config dialog, general page" +#~ msgid "Custom background color:" +#~ msgstr "Háttérszín:" + +#~ msgid "Draw border around &Images" +#~ msgstr "&Keret rajzolása a képek körül" + +#~ msgid "Identity" +#~ msgstr "Azonosító" + +#, fuzzy +#~| msgid "&Author:" +#~ msgid "Au&thor:" +#~ msgstr "Sze&rző:" + +#~ msgid "View Options" +#~ msgstr "Nézetbeállítások" + +#~ msgctxt "@info:whatsthis" +#~ msgid "" +#~ "Defines the default zoom mode for files which were never opened before.\n" +#~ "For files which were opened before the previous zoom is applied." +#~ msgstr "" +#~ "Meghatározza az alapértelmezett nagyítási módot azokra a fájlokra, " +#~ "amelyek még nem voltak eddig megnyitva.\n" +#~ "A korábban már megnyitott fájlokra az előző nagyítás lesz alkalmazva." + +#~ msgid "Navigation" +#~ msgstr "Navigáció" + +#~ msgid "Placement" +#~ msgstr "Elhelyezés" + +#~ msgid "Screen:" +#~ msgstr "Képernyő:" + +#~ msgid "&Get Books From Internet..." +#~ msgstr "Könyv &letöltése az internetről..." + +#~ msgid "Reviews" +#~ msgstr "Áttekintők" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "@item:inlistbox Color name" +#~ msgid "%1" +#~ msgstr "%1:" + +#~ msgid "Hide Forms" +#~ msgstr "Az űrlapok elrejtése" + +#~ msgid "&Review" +#~ msgstr "&Ellenőrzés" + +#~ msgid "Annotations author" +#~ msgstr "A megjegyzések készítője" + +#~ msgid "Please insert your name or initials:" +#~ msgstr "Adja meg nevét vagy monogramját:" + +#~ msgid "Show &Navigation Panel" +#~ msgstr "A na&vigációs panel megjelenítése" + +#~ msgid "Show Text" +#~ msgstr "A szöveg megjelenítése" + +#~ msgid "Small Icons" +#~ msgstr "Kis ikonok" + +#~ msgid "Large Icons" +#~ msgstr "Nagy ikonok" + +#, fuzzy +#~| msgid "" +#~| "Click to use the current selection tool\n" +#~| "Click and hold to choose another selection tool" +#~ msgid "" +#~ "Click to use the current selection tool\n" +#~ "Click on the arrow to choose another selection tool" +#~ msgstr "" +#~ "Kattintson ide az aktuális kijelölő használatához\n" +#~ "Kattintson ide és tartsa lenyomva a gombot más kijelölő választásához" + +#~ msgid "Created: %1" +#~ msgstr "Létrehozási dátum: %1" + +#~ msgid "Style" +#~ msgstr "Stílus" + +#~ msgid "&Size:" +#~ msgstr "Mé&ret:" + +#~ msgid "Inner color:" +#~ msgstr "Belső szín:" + +#~ msgid "Name: %1" +#~ msgstr "Név: %1" + +#~ msgid "Size: %1" +#~ msgstr "Méret: %1" + +#~ msgid "&Browse Tool" +#~ msgstr "Bön&gésző" + +#~ msgid "&Zoom Tool" +#~ msgstr "Na&gyító" + +#~ msgctxt "Zoom Tool" +#~ msgid "Zoom" +#~ msgstr "Nagyító" + +#~ msgctxt "Select Tool" +#~ msgid "Selection" +#~ msgstr "Kijelölő" + +#~ msgid "&Text Selection Tool" +#~ msgstr "Szö&vegkijelölő" + +#~ msgid "T&able Selection Tool" +#~ msgstr "Táblázatki&jelölő eszköz" + +#, fuzzy +#~| msgctxt "Symbol for caret annotations" +#~| msgid "None" +#~ msgid " None" +#~ msgstr "Nincs" + +#~ msgid "" +#~ "The document requested to be launched in presentation mode.\n" +#~ "Do you want to allow it?" +#~ msgstr "" +#~ "A dokumentum bemutatóként fog megnyílni.\n" +#~ "Biztosan ezt szeretné?" + +#~ msgid "Presentation Mode" +#~ msgstr "Bemutató mód" + +#~ msgid "Allow the presentation mode" +#~ msgstr "Bemutató mód engedélyezése" + +#~ msgid "Do Not Allow" +#~ msgstr "Nem engedélyezem" + +#~ msgid "Do not allow the presentation mode" +#~ msgstr "A bemutató mód tiltása" + +#~ msgid "" +#~ "Your annotation changes will not be saved automatically. Use File -> Save " +#~ "As...\n" +#~ "or your changes will be lost once the document is closed" +#~ msgstr "" +#~ "A megjegyzés változásai nem lesznek automatikusan elmentve. Használja a " +#~ "Fájl -> Mentés másként...\n" +#~ "menüt, különben a változásai elvesznek a dokumentum bezárásakor" + +#~ msgid "" +#~ "Your annotations are saved internally by Okular.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" +#~ msgstr "" +#~ "A megjegyzései az Okularon belül lettek elmentve.\n" +#~ "Exportálhatja a megjegyzéssel ellátott dokumentumot a Fájl -> Exportálás " +#~ "mint > Dokumentumarchívum használatával." + +#~ msgid "Save &Copy As..." +#~ msgstr "Másolat m&entése..." + +#~ msgid "" +#~ "Your annotations will not be exported.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" +#~ msgstr "" +#~ "A megjegyzései nem lesznek exportálva.\n" +#~ "Exportálhatja a megjegyzéssel ellátott dokumentumot a Fájl -> Exportálás " +#~ "mint > Dokumentumarchívum használatával" + +#~ msgid "" +#~ "End of document reached.\n" +#~ "Continue from the beginning?" +#~ msgstr "" +#~ "A dokumentum végére ért a keresés.\n" +#~ "Folytatni szeretné a dokumentum elejétől?" + +#~ msgid "" +#~ "Beginning of document reached.\n" +#~ "Continue from the bottom?" +#~ msgstr "" +#~ "A dokumentum elejére ért a keresés.\n" +#~ "Folytatni szeretné a dokumentum végétől?" + +#~ msgid "Current maintainer" +#~ msgstr "Jelenlegi karbantartó" + +#~ msgid " sec." +#~ msgstr " mp." + +#~ msgid "Pencil color:" +#~ msgstr "A ceruza színe:" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A0" +#~ msgstr "fekvő DIN/ISO A0" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A0" +#~ msgstr "álló DIN/ISO A0" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A1" +#~ msgstr "fekvő DIN/ISO A1" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A1" +#~ msgstr "álló DIN/ISO A1" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A2" +#~ msgstr "fekvő DIN/ISO A2" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A2" +#~ msgstr "álló DIN/ISO A2" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A3" +#~ msgstr "fekvő DIN/ISO A3" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A3" +#~ msgstr "álló DIN/ISO A3" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A4" +#~ msgstr "fekvő DIN/ISO A4" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A4" +#~ msgstr "álló DIN/ISO A4" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A5" +#~ msgstr "fekvő DIN/ISO A5" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A5" +#~ msgstr "álló DIN/ISO A5" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A6" +#~ msgstr "fekvő DIN/ISO A6" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A6" +#~ msgstr "álló DIN/ISO A6" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A7" +#~ msgstr "fekvő DIN/ISO A7" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A7" +#~ msgstr "álló DIN/ISO A7" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A8" +#~ msgstr "fekvő DIN/ISO A8" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A8" +#~ msgstr "álló DIN/ISO A8" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A9" +#~ msgstr "fekvő DIN/ISO A9" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A9" +#~ msgstr "álló DIN/ISO A9" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B0" +#~ msgstr "fekvő DIN/ISO B0" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B0" +#~ msgstr "álló DIN/ISO B0" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B1" +#~ msgstr "fekvő DIN/ISO B1" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B1" +#~ msgstr "álló DIN/ISO B1" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B2" +#~ msgstr "fekvő DIN/ISO B2" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B2" +#~ msgstr "álló DIN/ISO B2" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B3" +#~ msgstr "fekvő DIN/ISO B3" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B3" +#~ msgstr "álló DIN/ISO B3" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B4" +#~ msgstr "fekvő DIN/ISO B4" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B4" +#~ msgstr "álló DIN/ISO B4" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B5" +#~ msgstr "fekvő DIN/ISO B5" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B5" +#~ msgstr "álló DIN/ISO B5" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B6" +#~ msgstr "fekvő DIN/ISO B6" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B6" +#~ msgstr "álló DIN/ISO B6" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B7" +#~ msgstr "fekvő DIN/ISO B7" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B7" +#~ msgstr "álló DIN/ISO B7" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B8" +#~ msgstr "fekvő DIN/ISO B8" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B8" +#~ msgstr "álló DIN/ISO B8" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B9" +#~ msgstr "fekvő DIN/ISO B9" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B9" +#~ msgstr "álló DIN/ISO B9" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B10" +#~ msgstr "fekvő DIN/ISO B10" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B10" +#~ msgstr "álló DIN/ISO B10" + +#~ msgctxt "paper size" +#~ msgid "landscape letter" +#~ msgstr "fekvő levél" + +#~ msgctxt "paper size" +#~ msgid "portrait letter" +#~ msgstr "álló levél" + +#~ msgctxt "paper size" +#~ msgid "landscape legal" +#~ msgstr "fekvő legal" + +#~ msgctxt "paper size" +#~ msgid "portrait legal" +#~ msgstr "álló legal" + +#~ msgctxt "paper size" +#~ msgid "landscape executive" +#~ msgstr "fekvő vezető" + +#~ msgctxt "paper size" +#~ msgid "portrait executive" +#~ msgstr "álló vezető" + +#~ msgctxt "paper size" +#~ msgid "landscape Comm10E" +#~ msgstr "fekvő Comm10E" + +#~ msgctxt "paper size" +#~ msgid "portrait Comm10E" +#~ msgstr "álló Comm10E" + +#~ msgctxt "paper size" +#~ msgid "landscape DLE" +#~ msgstr "fekvő DLE" + +#~ msgctxt "paper size" +#~ msgid "portrait DLE" +#~ msgstr "álló DLE" + +#~ msgctxt "paper size" +#~ msgid "landscape folio" +#~ msgstr "fekvő ívlap" + +#~ msgctxt "paper size" +#~ msgid "portrait folio" +#~ msgstr "álló ívlap" + +#~ msgctxt "paper size" +#~ msgid "ledger" +#~ msgstr "ledger" + +#~ msgctxt "paper size" +#~ msgid "tabloid" +#~ msgstr "tabloid" + +#~ msgctxt "paper size" +#~ msgid "unknown landscape paper size" +#~ msgstr "ismeretlen fekvő papírméret" + +#~ msgctxt "paper size" +#~ msgid "unknown portrait paper size" +#~ msgstr "ismeretlen álló papírméret" + +#~ msgid "Toggle Drawing Mode" +#~ msgstr "Rajzolás mód" + +#~ msgid "Starting Jovie Text-to-Speech service Failed: %1" +#~ msgstr "Nem sikerült elindítani a Jovie szövegfelolvasó szolgáltatást: %1" + +#~ msgid "Search Columns" +#~ msgstr "Oszlop keresése" + +#~ msgid "All Visible Columns" +#~ msgstr "Minden látható oszlop" + +#~ msgid "No document opened." +#~ msgstr "Nincs megnyitva dokumentum." + +#~ msgid "Can't open more than one document in the unique Okular instance." +#~ msgstr "" +#~ "Nem lehet egynél több dokumentumot megnyitni az egyedi Okular példányban." + +#~ msgid "No matches found for '%1'." +#~ msgstr "Nincs találat: „%1”." + +#~ msgid "Search in progress..." +#~ msgstr "Keresés folyik..." + +#~ msgid "Searching for %1" +#~ msgstr "Keresés: %1" + +#~ msgid "Identity Settings" +#~ msgstr "Az azonosító beállításai" + +#~ msgid "Highlight Properties" +#~ msgstr "A kiemelés tulajdonságai" + +#~ msgid "Ink Properties" +#~ msgstr "A tinta tulajdonságai" + +#~ msgctxt "Annotation tool" +#~ msgid "Text Annotation" +#~ msgstr "Megjegyzések" + +#~ msgctxt "Annotation tool" +#~ msgid "Green Ink" +#~ msgstr "Zöld tinta" + +#~ msgctxt "Annotation tool" +#~ msgid "Yellow Highlight" +#~ msgstr "Sárga színű kiemelés" + +#~ msgctxt "Annotation tool" +#~ msgid "Straight Yellow Line" +#~ msgstr "Sárga egyenes vonal" + +#~ msgid "Black Underlining" +#~ msgstr "Fekete aláhúzás" + +#~ msgctxt "Annotation tool" +#~ msgid "Underline the text with a black line" +#~ msgstr "Szöveg aláhúzása fekete vonallal" + +#~ msgctxt "Annotation tool" +#~ msgid "A cyan ellipse" +#~ msgstr "Ciánkék ellipszis" + +#~ msgid "Ink" +#~ msgstr "Tinta" + +#~ msgid "Reset Forms" +#~ msgstr "Az űrlapok törlése" + +#~ msgid "Moves to the first page of the document" +#~ msgstr "Ugrás a dokumentum első oldalára" + +#~ msgid "You must set this name:" +#~ msgstr "Ezt a nevet be kell állítani:" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "%1 is \"Title\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "%1 is \"File Path\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#~ msgctxt "@action:button" +#~ msgid "&Overwrite" +#~ msgstr "&Felülírás" + +#~ msgid "Pages:" +#~ msgstr "Oldalszám:" diff --git a/po/hu/okular_comicbook.po b/po/hu/okular_comicbook.po new file mode 100644 index 0000000..1069a52 --- /dev/null +++ b/po/hu/okular_comicbook.po @@ -0,0 +1,61 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Tamas Szanto , 2009. +# Kristóf Kiszel , 2020. +msgid "" +msgstr "" +"Project-Id-Version: KDE 4.2\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-12-30 11:16+0100\n" +"Last-Translator: Kristóf Kiszel \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 21.03.70\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Kiszel Kristóf" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kiszel.kristof@gmail.com" + +#: document.cpp:97 +#, kde-format +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "" +"Nem sikerült megnyitni a dokumentumot, sem az „unrar”, sem az „unarchiver” " +"program nem található." + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "" +"A telepített „unrar” program nem megfelelő verziójú ComicBook-fájlok " +"kezeléséhez." + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "Ismeretlen ComicBook-formátum." + +#~ msgid "ComicBook Backend" +#~ msgstr "ComicBook-kezelő" + +#~ msgid "A renderer for various comic book formats" +#~ msgstr "Megjelenítőmodul különféle képregényformátumokhoz" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "(c) Tobias Koenig, 2007-2008." + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/hu/okular_djvu.po b/po/hu/okular_djvu.po new file mode 100644 index 0000000..4c13a6f --- /dev/null +++ b/po/hu/okular_djvu.po @@ -0,0 +1,136 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Tamas Szanto , 2008. +# Kristóf Kiszel , 2020. +msgid "" +msgstr "" +"Project-Id-Version: KDE 4.2\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-12-30 11:16+0100\n" +"Last-Translator: Kristóf Kiszel \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 21.03.70\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Kiszel Kristóf" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kiszel.kristof@gmail.com" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "Szerkesztő" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "Kiadó" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "Kötet" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "Dokumentumtípus" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "Ismeretlen" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "Összetett fájlok" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "Ismeretlen" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "Egy oldal" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "Kötegelt" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "Közvetett" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "Kötegelt (régi)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "Indexelt (régi)" + +#~ msgid "DjVu Backend" +#~ msgstr "DjVu modul" + +#~ msgid "DjVu backend based on DjVuLibre." +#~ msgstr "DjVu-kezelő a DjVuLibre programkönyvtár felhasználásával." + +#~ msgid "© 2006-2008 Pino Toscano" +#~ msgstr "(c) Pino Toscano, 2006-2008." + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgctxt "Unknown title" +#~ msgid "Unknown" +#~ msgstr "Ismeretlen" + +#~ msgctxt "Unknown author" +#~ msgid "Unknown" +#~ msgstr "Ismeretlen" + +#~ msgctxt "Unknown editor" +#~ msgid "Unknown" +#~ msgstr "Ismeretlen" + +#~ msgctxt "Unknown publisher" +#~ msgid "Unknown" +#~ msgstr "Ismeretlen" + +#~ msgctxt "Unknown creation date" +#~ msgid "Unknown" +#~ msgstr "Ismeretlen" + +#~ msgctxt "Unknown volume information" +#~ msgid "Unknown" +#~ msgstr "Ismeretlen" + +#~ msgctxt "Unknown type of document" +#~ msgid "Unknown" +#~ msgstr "Ismeretlen" diff --git a/po/hu/okular_dvi.po b/po/hu/okular_dvi.po new file mode 100644 index 0000000..6791895 --- /dev/null +++ b/po/hu/okular_dvi.po @@ -0,0 +1,747 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Tamas Szanto , 2008. +# Kristóf Kiszel , 2010, 2020. +# Balázs Úr , 2013, 2014. +# SPDX-FileCopyrightText: 2024, 2025 Kristof Kiszel +msgid "" +msgstr "" +"Project-Id-Version: KDE 4.3\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-11-26 21:08+0100\n" +"Last-Translator: Kristof Kiszel \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 25.08.3\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Kiszel Kristóf" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kiszel.kristof@gmail.com" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

" +msgstr "" +"

Nem található a dvipdfm nevű program. Erre a programra " +"szükség van exportálásnál. A nyomtatási funkcióval ugyan minden DVI-fájl " +"átalakítható PDF formátumúvá, de sok esetben a kapott fájl Acrobat Readerben " +"megtekintve gyenge minőségű. Célszerű a TeX lehető legújabb változatát " +"használni, amelyben biztosan megtalálható a dvipdfm program.

Megjegyzés: a programok keresése mindig az elérési útban (PATH változó " +"értéke) történik.

" + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"A fájl exportálását végző „dvipdfm” program hibajelzést adott. A pontos " +"hibaüzenet megtalálható a Fájl menü dokumentumjellemzők " +"ablakában." + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" +"Ez a DVI-fájl külső, nem PostScript formátumú grafikus fájlokra " +"hivatkozik, ezeket nem tudja kezelni a dvips program, mely a fájlok " +"kinyomtatását és PostScript formátumú exportálását végzi. A kért funkció " +"ezért nem érhető el az Okular ezen verziójában." + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

" +msgstr "" +"

Nem található a dvips nevű program. Erre szükség van " +"exportálási műveletekhez.

Megjegyzés: a program az elérési útban (PATH " +"változó) keresi a programokat.

" + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"A fájl exportálását végző „dvips” nevű program hibajelzést adott. A " +"pontos hibaüzenet a Fájl menü Dokumentumjellemzők ablakában " +"található." + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "A DVI-fájl nem preamble résszel kezdődik." + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" +"A DVI-fájl nem kezelhető verziójú DVI-adatokat tartalmaz. Tipp: ha az Omega " +"szerkesztőprogramot használja, speciális megjelenítőre van szükség, például " +"az oxdvi-re." + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "A DVI-fájl hibás, nem található a postamble rész." + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "A postamble rész nem POST paranccsal kezdődik." + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "A postamble rész az FNTDEF-től eltérő parancsot tartalmaz." + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "A(z) %1 oldal nem BOP paranccsal kezdődik." + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

PATH: %2

" +msgstr "" +"

Nem sikerült elindítani a pdf2ps nevű programot, " +"ezért a(z) %1 PDF-fájlt nem sikerült PostScript formátumúra alakítani. " +"Emiatt a dokumentum egyes grafikai elemei esetleg nem jelennek meg.

A hiba lehetséges okai: a pdf2ps program nincs " +"telepítve vagy nem szerepel az elérési útban.

Elhárítási mód: a " +"pdf2ps program általában a Ghostscript csomag része, ezért " +"azt telepíteni kell. Ha az telepítve van, ellenőrizze egy terminálban, hogy " +"a pdf2ps program működik-e.

Elérési út: %2" + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

%2

" +msgstr "" +"

A(z) %1 PDF-fájlt nem sikerült PostScript formátumúra konvertálni, " +"ezért a dokumentum néhány grafikai eleme esetleg nem fog megjelenni.

A hiba lehetséges okai: A fájl (%1) megsérült vagy valójában nem " +"is PDF-fájl. A pdf2ps program kimenete ez volt:

%2

" + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "Fájl sérülés. %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "Nem minden PostScript fájl ágyazható be a dokumentumba. %1" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "Minden külső PostScript fájl be lett ágyazva a dokumentumba." + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "A megadott „%1” fájl nem létezik." + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" +"Arra kérte az Okular programot, hogy keresse meg a DVI-fájlban azt a helyet, " +"amely a(z) %2 TeX-fájl %1. sorának felel meg. Habár úgy tűnik, a DVI-fájl " +"nem tartalmazza a szükséges forrásfájl információkat." + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" +"Az Okular nem volt képes megtalálni azt a helyet a DVI-fájlban, amely a(z) " +"%2 nevű TeX fájl %1. sorának felel meg." + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "A DVI-kód ismeretlen betűtípusú karakterre vonatkozik." + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "A DVI-kód olyan betűtípusra hivatkozik (#%1), amely nincs definiálva." + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "A verem nem volt üres egy EOP utasítás előtt." + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "A verem üres volt egy POP utasítás előtt." + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "A DVI-kód nem definiált betűtípusra hivatkozik." + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "Érvénytelen parancs." + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "Ismeretlen műveletkód: %1" + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "Beágyazás: %1" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
" +msgstr "" +"%1. oldal: a PDF-fájlt (%2) nem sikerült PostScript " +"formátumúra alakítani.
" + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
" +msgstr "%1. oldal: a PostScript-fájl (%2) nem található.
" + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "A papírméret értékét nem sikerült értelmezni („%1”)." + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

PATH: %1

%2

" +msgstr "" +"

Az Okular nem volt képes a DVI-fájl megjelenítéséhez szükséges összes " +"betűtípust megtalálni, ezért esetleg a dokumentumot nem lehet olvasni.

ÚTVONAL: %1

%2

" + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

PATH: %1

%2

" +msgstr "" +"

Problémák adódtak a kpsewhich futtatásakor. Ennek " +"eredményeként néhány betűkészlet fájlt nem sikerült megtalálni, és a " +"dokumentumai olvashatatlanok lehetnek.
Lehetséges ok: a kpsewhich program talán nincs telepítve a rendszerre, van nem található a " +"jelenlegi keresési útvonalon.

ÚTVONAL: %1

%2

" + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" +"A kpsewhich megszakította a betűtípus előállítást (kilépési " +"kód: %1, hiba: %2). Ennek eredményeképpen néhány betűtípusfájl nem " +"található, és a dokumentum olvashatatlan lehet." + +#: fontpool.cpp:482 +#, kde-format +msgid "Currently generating %1 at %2 dpi…" +msgstr "Betűtípus készítése: %1 (%2 dpi)…" + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "Készítő/dátum" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "Nem található egy betűtípusfájl" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "%1 × %2" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "%1 × %2 mm" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "%1 × %2 hüvelyk" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "álló" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "fekvő" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" +"A számítógépre telepített Ghostview verziója semmilyen Ghostview " +"eszközmeghajtót sem tartalmaz, amelyet az Okular ismerne. Ezért a PostScript-" +"támogatás ki lesz kapcsolva a programban." + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "25-nél több hiba történt, nem jelenik meg több hibaüzenet." + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" +"Hiba a(z) „%1” nevű DVI-fájlban (%2. oldal). A színverem üres volt egy " +"színre vonatkozó POP művelet előtt." + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" +"Hibás paraméter szerepel egy epsf speciális parancsban.\n" +"Lebegőpontos számnak kell következnie %1 után ebben: %2" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"Nem található ez a fájl: \n" +" %1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" +"Hiba a(z) „%1” nevű DVI-fájlban (%2. oldal). Nem sikerült értelmezni a " +"szöget egy szövegforgatási műveletben." + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "Nem támogatott speciális parancs: „%1”." + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" +"Hibás betűtípusfájl: %1. Sikerült megnyitni a fájlt, az olvasás is sikerült, " +"de nem támogatott formátumú betűtípust tartalmaz." + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "" +"Hibás betűtípusfájl: %1. A fájl hibás adatokat tartalmaz vagy megnyitási/" +"olvasási hiba történt." + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "FreeType-hiba történt a betűméret beállításakor. Betűtípusfájl: %1." + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "" +"A FreeType nem tudja beolvasni a(z) #%1 karaktert a(z) %2 betűtípusfájlból." + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "" +"A FreeType nem tudja megjeleníteni a(z) #%1 karakert a(z) %2 " +"betűtípusfájlból." + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "#%1 karakter: üres." + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "Üres a(z) #%1 karakter a(z) %2 betűtípusfájlban." + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "" +"A FreeType nem tudta betölteni a metrikát. Karakter: #%1, betűtípusfájl: %2." + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "Nem sikerült megnyitni ezt a betűtípusfájlt: %1." + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "TexFont_PK::operator[]: nincs %1 karakter a(z) %2 betűtípusban" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "Nem várt %1 a(z) %2 PK-fájlban" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "Túl nagy karakter: %1 (fájlnév: %2)" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "Hibás számú bit van eltárolva. Karakter: %1, betűtípus: %2" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "Hibás PK-fájl (%1): túl sok bit" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "A betűtípus nem 1:1 arányú " + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "Nem található betűtípus: %1. Fájlnév: %2." + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "Hibás ellenőrző összeg: %1" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "Ismeretlen formátumú betűtípusfájl: %1" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"Végzetes hiba.\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" +"\n" +"\n" +"Ha nem programhibáról van szó, akkor\n" +"vagy a DVI-fájl vagy a kiegészítő fájlok (virtuális vagy nem virtuális\n" +"betűtípusfájlok) valamelyike feltehetően megsérült.\n" +"A program futása befejeződik. Ha úgy gondolja, hogy programhibát talált,\n" +"vagy nem találja megfelelőnek a hiba kezelési módját, kérjük készítsen\n" +"hibajelentést." + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "Hibás parancsbájt található a VF makrólistában: %1" + +#~ msgid "" +#~ "

The Ghostview program, which Okular uses internally to display the " +#~ "PostScript graphics that is included in this DVI file, is generally able " +#~ "to write its output in a variety of formats. The sub-programs that " +#~ "Ghostview uses for these tasks are called 'device drivers'; there is one " +#~ "device driver for each format that Ghostview is able to write. Different " +#~ "versions of Ghostview often have different sets of device drivers " +#~ "available. It seems that the version of Ghostview that is installed on " +#~ "this computer does not contain any of the device drivers " +#~ "that are known to Okular.

It seems unlikely that a regular " +#~ "installation of Ghostview would not contain these drivers. This error may " +#~ "therefore point to a serious misconfiguration of the Ghostview " +#~ "installation on your computer.

If you want to fix the problems with " +#~ "Ghostview, you can use the command gs --help to display " +#~ "the list of device drivers contained in Ghostview. Among others, Okular " +#~ "can use the 'png256', 'jpeg' and 'pnm' drivers. Note that Okular needs to " +#~ "be restarted to re-enable PostScript support.

" +#~ msgstr "" +#~ "

A Ghostview program, mely a DVI-fájlban levő PostScript formátumú " +#~ "grafikus adatok megjelenítését végzi, több formátumban képes kimenetet " +#~ "készíteni. Ezeket a kimeneti egységeket eszközmeghajtónak nevezik. Minden " +#~ "támogatott, írható formátumhoz tartozik egy eszközmeghajtó. Különböző " +#~ "verziójú Ghostscript programok eltérő eszközmeghajtókat tartalmazhatnak. " +#~ "A telepített Ghostview egyetlen, az Okularral " +#~ "kompatibilis eszközmeghajtót sem tartalmaz.

Nem valószínű, hogy a " +#~ "disztribúció Ghostscript csomagja nem tartalmaz megfelelő " +#~ "eszközmeghajtót, ezért feltehetően valamilyen telepítési hiba " +#~ "történhetett.

A hiba elhárításához adja ki a gs --help parancsot, melynek hatására kiíródnak a tartalmazott " +#~ "eszközmeghajtók. Az Okular a \"png256\", \"jpeg\" és \"pnm\" nevű " +#~ "eszközmeghajtókat tudja kezelni. A PostScript-támogatás csak a program " +#~ "újraindítása után aktiválódik.

" + +#~ msgid "DVI Backend" +#~ msgstr "DVI-modul" + +#~ msgid "A DVI file renderer" +#~ msgstr "DVI-fájlmegjelenítő" + +#~ msgid "© 2006 Luigi Toscano" +#~ msgstr "(c) Luigi Toscano, 2006." + +#~ msgid "" +#~ "

Okular relies on the kpsewhich program to locate font files on " +#~ "your hard disk and to generate PK fonts, if necessary.

" +#~ msgstr "" +#~ "

Szükség van a kpsewhich nevű programra a megfelelő betűtípusok " +#~ "megkereséséhez és a szükséges PK típusú betűtípusok elkészítéséhez.

" + +#~ msgid "Okular is currently generating bitmap fonts..." +#~ msgstr "Bittérképes betűtípusok készítése folyik..." + +#~ msgid "Aborts the font generation. Do not do this." +#~ msgstr "" +#~ "Megszakítja a betűtípusok készítését (csak indokolt esetben használandó)." + +#~ msgid "" +#~ "Okular is currently generating bitmap fonts which are needed to display " +#~ "your document. For this, Okular uses a number of external programs, such " +#~ "as MetaFont. You can find the output of these programs later in the " +#~ "document info dialog." +#~ msgstr "" +#~ "Bittérképes betűtípusok készítése folyik. Ezek szükségesek a dokumentum " +#~ "megjelenítéséhez. A készítés során külső programok (például a MetaFont) " +#~ "is végrehajtódnak. Később a dokumentum tulajdonságablakában " +#~ "megtekinthetők a külső programok üzenetei." + +#~ msgid "Okular is generating fonts. Please wait." +#~ msgstr "Betűtípusok készítése folyik, egy kis türelmet..." + +#~ msgid "Font Generation Progress Dialog" +#~ msgstr "Betűtípuskészítési állapot" + +#~ msgid "Abort" +#~ msgstr "Állj" + +#~ msgid "What is happening here?" +#~ msgstr "Állapotjelző" + +#~ msgid "%v of %m" +#~ msgstr "%v / %m" + +#~ msgid "Please be patient" +#~ msgstr "Egy kis türelmet" + +#~ msgid "*.pdf|Portable Document Format (*.pdf)" +#~ msgstr "*.pdf|PDF-fájl (*.pdf)" + +#~ msgid "Export File As" +#~ msgstr "Exportálás mint" + +#~ msgid "" +#~ "The file %1\n" +#~ "exists. Do you want to overwrite it?" +#~ msgstr "" +#~ "Már létezik %1\n" +#~ "nevű fájl, felül szeretné írni?" + +#~ msgid "Overwrite File" +#~ msgstr "A fájl felülírása" + +#~ msgid "Overwrite" +#~ msgstr "Felülírás" + +#~ msgid "Using dvipdfm to export the file to PDF" +#~ msgstr "Exportálás PDF formátumban a dvipdfm program segítségével" + +#~ msgid "" +#~ "Okular is currently using the external program 'dvipdfm' to convert your " +#~ "DVI-file to PDF. Sometimes that can take a while because dvipdfm needs to " +#~ "generate its own bitmap fonts Please be patient." +#~ msgstr "" +#~ "A program PDF formátumúra konvertálja a DVI-fájlt a 'dvipdfm' program " +#~ "használatával. A művelet sokáig eltarthat, mert a dvipdfm létrehozza a " +#~ "szükséges betűtípusokat. Egy kis türelmet..." + +#~ msgid "Waiting for dvipdfm to finish..." +#~ msgstr "A dvipdfm konvertálóprogram fut..." + +#~ msgid "*.ps|PostScript (*.ps)" +#~ msgstr "*.ps|PostScript-fájl (*.ps)" + +#~ msgid "Using dvips to export the file to PostScript" +#~ msgstr "Exportálás PostScript formátumban a dvips programmal" + +#~ msgid "" +#~ "Okular is currently using the external program 'dvips' to convert your " +#~ "DVI-file to PostScript. Sometimes that can take a while because dvips " +#~ "needs to generate its own bitmap fonts Please be patient." +#~ msgstr "" +#~ "A DVI-fájl PostScript formátumúvá alakítása folyik a 'dvips' program " +#~ "használatával. A művelet sokáig eltarthat, mert a dvips létrehozza előbb " +#~ "a szükséges betűtípusokat. Egy kis türelmet..." + +#~ msgid "Waiting for dvips to finish..." +#~ msgstr "Program végrehajtása: dvips..." + +#~ msgid "Functionality Unavailable" +#~ msgstr "Nem érhető el egy funkció" + +#~ msgid "" +#~ "File corruption Okular could not interpret your DVI " +#~ "file. This is most commonly caused by a corrupted file." +#~ msgstr "" +#~ "Hibás DVI-fájl Nem sikerült feldolgozni ezt a DVI-" +#~ "fájlt, lehet, hogy a fájl megsérült." + +#~ msgid "DVI File Error" +#~ msgstr "DVI fájlhiba" + +#~ msgid "Not All Font Files Found" +#~ msgstr "Nem található minden szükséges betűtípusfájl" + +#~ msgid "Locating fonts..." +#~ msgstr "Betűtípusok betöltése..." + +#~ msgid "Problem locating fonts" +#~ msgstr "Nem található néhány betűtípus" + +#~ msgid "Font generation aborted" +#~ msgstr "A betűtípusok készítése megszakadt" + +#~ msgid "Export: %1 to PDF" +#~ msgstr "Exportálás PDF formátumban: %1" + +#~ msgid "Export: %1 to PostScript" +#~ msgstr "Exportálás PostScript formátumban: %1" + +#~ msgid "The fontlist is currently empty." +#~ msgstr "A betűtípuslista üres." + +#~ msgid "TeX Name" +#~ msgstr "TeX-név" + +#~ msgid "Family" +#~ msgstr "Betűcsalád" + +#~ msgid "Zoom" +#~ msgstr "Nagyítás" + +#~ msgid "Type" +#~ msgstr "Típus" + +#~ msgid "Encoding" +#~ msgstr "Kódolás" + +#~ msgid "Comment" +#~ msgstr "Megjegyzés" + +#~ msgid "TeX virtual" +#~ msgstr "TeX virtuális" + +#~ msgid "TeX Font Metric" +#~ msgstr "TeX betűmetrika" + +#~ msgid "FreeType" +#~ msgstr "FreeType" diff --git a/po/hu/okular_epub.po b/po/hu/okular_epub.po new file mode 100644 index 0000000..3d9eca0 --- /dev/null +++ b/po/hu/okular_epub.po @@ -0,0 +1,57 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Tamas Szanto , 2009. +# Balázs Úr , 2013. +# Kristóf Kiszel , 2020. +msgid "" +msgstr "" +"Project-Id-Version: KDE 4.2\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-12-30 11:18+0100\n" +"Last-Translator: Kristóf Kiszel \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 21.03.70\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Kiszel Kristóf" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kiszel.kristof@gmail.com" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "Hiba történt egy EPub-dokumentum megnyitásakor." + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "EPub" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "EPub háttérprogram beállítás" + +#~ msgid "EPub Backend" +#~ msgstr "EPub-megjelenítő" + +#~ msgid "An EPub backend" +#~ msgstr "EPub-kezelő modul" + +#~ msgid "© 2008 Ely Levy" +#~ msgstr "Ely Levy, 2008." + +#~ msgid "Ely Levy" +#~ msgstr "Ely Levy" diff --git a/po/hu/okular_fax.po b/po/hu/okular_fax.po new file mode 100644 index 0000000..4705745 --- /dev/null +++ b/po/hu/okular_fax.po @@ -0,0 +1,46 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Tamas Szanto , 2009. +# Kristóf Kiszel , 2020. +msgid "" +msgstr "" +"Project-Id-Version: KDE 4.2\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-12-30 11:18+0100\n" +"Last-Translator: Kristóf Kiszel \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 21.03.70\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Kiszel Kristóf" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kiszel.kristof@gmail.com" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "Nem sikerült betölteni a dokumentumot" + +#~ msgid "Fax Backend" +#~ msgstr "Faxkezelő modul" + +#~ msgid "A G3/G4 fax document backend" +#~ msgstr "Kezelőmodul G3/G4 formátumú faxokhoz" + +#~ msgid "© 2008 Tobias Koenig" +#~ msgstr "(c) Tobias Koenig, 2008." + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/hu/okular_fictionbook.po b/po/hu/okular_fictionbook.po new file mode 100644 index 0000000..44b41fa --- /dev/null +++ b/po/hu/okular_fictionbook.po @@ -0,0 +1,82 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Tamas Szanto , 2008. +# Balázs Úr , 2013. +# Kristóf Kiszel , 2020. +msgid "" +msgstr "" +"Project-Id-Version: KDE 4.2\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-12-30 11:18+0100\n" +"Last-Translator: Kristóf Kiszel \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 21.03.70\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Kiszel Kristóf" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kiszel.kristof@gmail.com" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "Nem FictionBook-formátumú a dokumentum" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "Nem sikerült megnyitni: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "A dokumentum nem ZIP formátumú" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "Érvénytelen dokumentumstruktúra (az alapkönyvtár hiányzik)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "Nincs adattartalom a dokumentumban" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "Érvénytelen XML-dokumentum: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "FictionBook" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "FictionBook háttérprogram beállítás" + +#~ msgid "Fiction Book Backend" +#~ msgstr "Kezelőmodul FictionBook-fájlokhoz" + +#~ msgid "A renderer for FictionBook eBooks" +#~ msgstr "Megjelenítő FictionBook eBook-dokumentumokhoz" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "(c) Tobias Koenig, 2007-2008." + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/hu/okular_ghostview.po b/po/hu/okular_ghostview.po new file mode 100644 index 0000000..de46c04 --- /dev/null +++ b/po/hu/okular_ghostview.po @@ -0,0 +1,92 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Tamas Szanto , 2008. +# Kristóf Kiszel , 2020. +msgid "" +msgstr "" +"Project-Id-Version: KDE 4.3\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-12-30 11:18+0100\n" +"Last-Translator: Kristóf Kiszel \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 21.03.70\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Kiszel Kristóf" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kiszel.kristof@gmail.com" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "A platform betűtípusainak használata" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"Eldönti, hogy a Ghostscript használni tudja-e a platform betűtípusait. Ha " +"nem, akkor csak a dokumentumba ágyazott betűtípusokat fogja használni." + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "Általános beállítások" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "A &platform betűtípusainak használata" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Beállítások: Ghostscript-megjelenítő modul" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "Dokumentumverzió" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "Nyelvi szint" + +#~ msgid "PS Backend" +#~ msgstr "PS-kezelő modul" + +#~ msgid "A PostScript file renderer." +#~ msgstr "Megjelenítő PostScript-fájlokhoz." + +#~ msgid "© 2007-2008 Albert Astals Cid" +#~ msgstr "(c) Albert Astals Cid, 2007-2008." + +#~ msgid "Based on the Spectre library." +#~ msgstr "A modul a Spectre programkönyvtárra épül." + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" diff --git a/po/hu/okular_kimgio.po b/po/hu/okular_kimgio.po new file mode 100644 index 0000000..9e77f18 --- /dev/null +++ b/po/hu/okular_kimgio.po @@ -0,0 +1,70 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Tamas Szanto , 2008. +# Kristóf Kiszel , 2010, 2020. +msgid "" +msgstr "" +"Project-Id-Version: KDE 4.2\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-12-30 11:19+0100\n" +"Last-Translator: Kristóf Kiszel \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 21.03.70\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Kiszel Kristóf" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kiszel.kristof@gmail.com" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "Nem sikerült megnyitni ezt a dokumentumot: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" +"A dokumentum formázása hibásnak tűnik. Itt van a legjobb közelítése a " +"dokumentum szándékolt megjelenésének." + +#~ msgid "Image Backend" +#~ msgstr "Képmegjelenítő modul" + +#~ msgid "A simple image backend" +#~ msgstr "Egyszerű képmegjelenítő" + +#~ msgid "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" +#~ msgstr "" +#~ "(c) Albert Astals Cid, 2005, 2009.\n" +#~ "(c) Pino Toscano, 2006-2007.\n" +#~ "(c) Tobias Koenig, 2006-2007." + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" + +#~ msgid "Main Toolbar" +#~ msgstr "Alap eszköztár" diff --git a/po/hu/okular_markdown.po b/po/hu/okular_markdown.po new file mode 100644 index 0000000..b9990bf --- /dev/null +++ b/po/hu/okular_markdown.po @@ -0,0 +1,53 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Kristóf Kiszel , 2020. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-12-30 11:20+0100\n" +"Last-Translator: Kristóf Kiszel \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 21.03.70\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Kiszel Kristóf" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kiszel.kristof@gmail.com" + +#: converter.cpp:59 converter.cpp:93 +#, kde-format +msgid "Failed to open the document" +msgstr "A dokumentum megnyitása meghiúsult" + +#: converter.cpp:106 converter.cpp:124 +#, kde-format +msgid "Failed to compile the Markdown document." +msgstr "A Markdown dokumentum fordítása meghiúsult." + +#: generator_md.cpp:58 +#, kde-format +msgid "Enable SmartyPants formatting" +msgstr "SmartyPants formázás engedélyezése" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown" +msgstr "Markdown" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown Backend Configuration" +msgstr "Markdown háttérprogram beállítás" diff --git a/po/hu/okular_mobi.po b/po/hu/okular_mobi.po new file mode 100644 index 0000000..fd983fe --- /dev/null +++ b/po/hu/okular_mobi.po @@ -0,0 +1,65 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Tamas Szanto , 2009. +# Balázs Úr , 2013. +# Kristóf Kiszel , 2020. +msgid "" +msgstr "" +"Project-Id-Version: KDE 4.3\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-12-30 11:20+0100\n" +"Last-Translator: Kristóf Kiszel \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 21.03.70\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Kiszel Kristóf" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kiszel.kristof@gmail.com" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Hiba történt a Mobipocket-dokumentum megnyitásakor." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "" +"A könyv jogvédett, csak a jogvédelem kezelésére alkalmas eszközön tekinthető " +"meg." + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "Mobipocket" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "Mobipocket háttérprogram beállítás" + +#~ msgid "Mobipocket Backend" +#~ msgstr "Mobipocket-modul" + +#~ msgid "A mobipocket backend" +#~ msgstr "Egy Mobipocket-modul" + +#~ msgid "© 2008-2009 Jakub Stachowski" +#~ msgstr "(c) Jakub Stachowski, 2008-2009." + +#~ msgid "Jakub Stachowski" +#~ msgstr "Jakub Stachowski" diff --git a/po/hu/okular_poppler.po b/po/hu/okular_poppler.po new file mode 100644 index 0000000..a893c9b --- /dev/null +++ b/po/hu/okular_poppler.po @@ -0,0 +1,431 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Tamas Szanto , 2008. +# Kristóf Kiszel , 2010, 2020. +# Balázs Úr , 2012, 2013. +# SPDX-FileCopyrightText: 2021, 2024, 2025 Kristof Kiszel +msgid "" +msgstr "" +"Project-Id-Version: KDE 4.2\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-12 22:26+0200\n" +"Last-Translator: Kristof Kiszel \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 25.04.3\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Kiszel Kristóf" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "ulysses@fsf.hu" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "Felülnyomási előnézet bekapcsolása:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "Soha" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "Mindig" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "Automatikus" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "Vékony vonalak növelése:" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "Nem" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "Egyszínű" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "Alakzat" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "Alapértelmezett méretezési mód nyomtatáskor:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "Illesztés a nyomtatási területhez" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "Illesztés teljes oldalra" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "Nincs; nyomtatás eredeti méretben" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" +"A beállítás engedélyezésével megengedi az Okularnak, hogy harmadik fél OCSP " +"kiszolgálóihoz csatlakozzon a digitális aláírásokhoz használt tanúsítványok " +"ellenőrzéséhez, nem-e vonták vissza azokat." + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" +"Digitális aláírások tanúsítványai érvényességének ellenőrzése harmadik fél " +"bevonásával" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "Aláíró alrendszer:" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" +"Ezeket az aláírások csak modern Okular felhasználói érvényesíthetik " +"bekapcsolt GnuPG modul mellett" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "PGP-kulcsok engedélyezése aláírásokhoz (Okular kiterjesztés)" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "Tanúsítvány-adatbázis" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "Alapértelmezett:" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "Egyéni:" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "Elérhető tanúsítványok" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "Aláírások betö<ése" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "PDF-beállítások" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "Megjegyzések nyomtatása" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "Megjegyzések felvétele a nyomtatott dokumentumba" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"Megjegyzések felvétele a nyomtatott dokumentumba. Letilthatja ezt, ha az " +"eredeti, megjegyzés nélküli dokumentumot akarja nyomtatni." + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "Raszterizálás mindig" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "Raszterizált kép készítése nyomtatás előtt" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"Nyomtatás előtt a program mindenből raszterizált képet készít. Ez néha " +"minőségcsökkenést okoz, de így egyes esetekben kiküszöbölhetők más " +"nyomtatási hibák." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "A nyomtatott oldalak méretezési módja" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "Méretezési mód:" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF v. %1.%2" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "Formátum" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "Titkosított" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "Nem titkosított" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "Biztonság" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "Igen" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "Optimalizált" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Aláírta: %1\n" +"\n" +"Dátum: %2" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "A Poppler %1 használata" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" +"A Poppler %1 használata\n" +"\n" +"A Poppler %2 verziójával fordítva" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "PDF háttérprogram beállítás" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "Az átmeneti fájl írása sikertelen" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "Az átmeneti fájl átnevezése sikertelen" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" +"Hibák találhatók a dokumentumban, az Okular nem biztos, hogy helyesen " +"jeleníti meg annak tartalmát" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" +"Ezek az aláírások csak az Okular modern verziói között működnek bekapcsolt " +"GnuPG-alapú modul mellett" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "PGP aláírások engedélyezése" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "Kiállítva neki:" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "E-mail" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "Lejárati dátum" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" +"Az Ön által használt Poppler programkönyvtárat NSS támogatás nélkül " +"fordították.\n" +"Ezért nem lehetséges digitális aláírások hozzáadása" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "örökké" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "Újraindítás szükséges" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "" +"Újra kell indítani az Okulart az NSS mappabeállítások megváltoztatása után." + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter Password" +msgstr "Adja meg a jelszót" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "Adja meg a jelszót a(z) %1 megnyitásához:" + +#~ msgid "Not Available" +#~ msgstr "Nem érhető el" + +#~ msgid "PDF Backend" +#~ msgstr "PDF-kezelő" + +#~ msgid "A PDF file renderer" +#~ msgstr "Megjelenítő PDF-fájlokhoz" + +#~ msgid "© 2005-2008 Albert Astals Cid" +#~ msgstr "(c) Albert Astals Cid, 2005-2008." + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Saving files with /Encrypt is not supported." +#~ msgstr "Fájlok mentése /Encrypt-tel nem támogatott." + +#~ msgid "Unknown" +#~ msgstr "Ismeretlen" + +#~ msgid "Unknown Date" +#~ msgstr "Ismeretlen dátum" + +#~ msgid "Unknown Encryption" +#~ msgstr "Ismeretlen titkosítás" + +#~ msgid "Unknown Optimization" +#~ msgstr "Ismeretlen titkosítás" + +#~ msgid "Please enter the password to read the document:" +#~ msgstr "Adja meg a jelszót a dokumentum olvasásához:" + +#~ msgid "Incorrect password. Try again:" +#~ msgstr "A jelszó hibás, próbálja meg még egyszer:" diff --git a/po/hu/okular_tiff.po b/po/hu/okular_tiff.po new file mode 100644 index 0000000..a217fbf --- /dev/null +++ b/po/hu/okular_tiff.po @@ -0,0 +1,28 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Kristóf Kiszel , 2020. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-12-30 11:25+0100\n" +"Last-Translator: Kristóf Kiszel \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 21.03.70\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Kiszel Kristóf" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kiszel.kristof@gmail.com" diff --git a/po/hu/okular_txt.po b/po/hu/okular_txt.po new file mode 100644 index 0000000..8f26de2 --- /dev/null +++ b/po/hu/okular_txt.po @@ -0,0 +1,51 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Balázs Úr , 2013. +# Kristóf Kiszel , 2020. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-12-30 11:25+0100\n" +"Last-Translator: Kristóf Kiszel \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 21.03.70\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Kiszel Kristóf" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kiszel.kristof@gmail.com" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "Txt" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "Txt háttérprogram beállítás" + +#~ msgid "Txt Backend" +#~ msgstr "Txt háttérprogram" + +#~ msgid "Txt backend." +#~ msgstr "Txt háttérprogram." + +#~ msgid "© 2013 Azat Khuzhin" +#~ msgstr "© Azat Khuzhin, 2013." + +#~ msgid "Azat Khuzhin" +#~ msgstr "Azat Khuzhin" diff --git a/po/hu/okular_xps.po b/po/hu/okular_xps.po new file mode 100644 index 0000000..d7a467d --- /dev/null +++ b/po/hu/okular_xps.po @@ -0,0 +1,58 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Tamas Szanto , 2008. +# Kristóf Kiszel , 2020. +msgid "" +msgstr "" +"Project-Id-Version: KDE 4.2\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-12-30 11:25+0100\n" +"Last-Translator: Kristóf Kiszel \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 21.03.70\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Kiszel Kristóf" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kiszel.kristof@gmail.com" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "Verzió" + +#~ msgid "XPS Backend" +#~ msgstr "XPS-megjelenítő modul" + +#~ msgid "An XPS backend" +#~ msgstr "XPS-kezelő" + +#~ msgid "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" +#~ msgstr "" +#~ "(c) Brad Hards, 2006-2007.\n" +#~ "(c) Jiri Klement, 2007.\n" +#~ "(c) Pino Toscano, 2008." + +#~ msgid "Brad Hards" +#~ msgstr "Brad Hards" + +#~ msgid "Jiri Klement" +#~ msgstr "Jiri Klement" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" diff --git a/po/hu/org.kde.active.documentviewer.po b/po/hu/org.kde.active.documentviewer.po new file mode 100644 index 0000000..7cf574f --- /dev/null +++ b/po/hu/org.kde.active.documentviewer.po @@ -0,0 +1,227 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Balázs Úr , 2012. +# SPDX-FileCopyrightText: 2021, 2024, 2025 Kristof Kiszel +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-11-22 22:40+0100\n" +"Last-Translator: Kristof Kiszel \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 25.08.3\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "Könyvjelzők" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "Tanúsítványmegjelenítő" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "Kibocsátó" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "Köznapi név:" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "E-mail:" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "Szervezet:" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "Kérelmező" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "Érvényesség" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "Kibocsátva:" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "Lejárat:" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "Ujjlenyomatok" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "SHA-1 ujjlenyomat:" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "SHA-256 ujjlenyomat:" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +msgid "Export…" +msgstr "Exportálás…" + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "Bezárás" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "Tanúsítványfájl (*.cer)" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "Hiba" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "Nem sikerült exportálni a tanúsítványt." + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "Okular" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "Megnyitás…" + +#: ui/Main.qml:49 +msgid "About" +msgstr "Névjegy" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "Jelszó szükséges" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "Könyvjelző eltávolítása" + +#: ui/MainView.qml:29 +msgid "Bookmark this page" +msgstr "Könyvjelző erre az oldalra" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "Bélyegképek" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "Tartalomjegyzék" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "Aláírások" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "Aláírás-tulajdonságok" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "Aláírás állapota" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "Aláírás érvényessége:" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "Dokumentum módosításai:" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "Egyéb jellemzők" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "Aláíró:" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "Aláírás ideje:" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "Ok:" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "Hely:" + +#: ui/SignaturePropertiesPage.qml:96 +msgid "Document Version" +msgstr "Dokumentumverzió" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Dokumentumváltozat %1 / %2" + +#: ui/SignaturePropertiesPage.qml:108 +msgid "Save Signed Version…" +msgstr "Aláírt verzió mentése…" + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +msgid "View Certificate…" +msgstr "Tanúsítvány megtekintése…" + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "Nem sikerült elmenteni az aláírást." + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "Nem érhető el" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "Nincs találat." + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "Nincs megnyitva dokumentum" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "Legutóbbi dokumentumok" + +#: ui/WelcomeView.qml:108 +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "Saját dokumentumok" + +#~ msgid "Open..." +#~ msgstr "Megnyitás…" + +#~ msgid "Search..." +#~ msgstr "Keresés…" + +#~ msgid "Document viewer for Plasma Active using Okular" +#~ msgstr "Dokumentummegjelenítő a Plasma Aktívhoz az Okular használatával" + +#~ msgid "Reader" +#~ msgstr "Olvasó" + +#~ msgid "Copyright 2012 Marco Martin" +#~ msgstr "Copyright Marco Martin, 2012." + +#~ msgid "Marco Martin" +#~ msgstr "Marco Martin" + +#~ msgid "URL of the file to open" +#~ msgstr "Ez a megnyitandó fájl URL-je" diff --git a/po/ia/okular.po b/po/ia/okular.po new file mode 100644 index 0000000..76958a7 --- /dev/null +++ b/po/ia/okular.po @@ -0,0 +1,6853 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# SPDX-FileCopyrightText: 2013, 2014, 2016, 2017, 2020, 2021, 2022, 2023, 2024, 2025 Giovanni Sora +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-09-02 17:17+0200\n" +"Last-Translator: giovanni \n" +"Language-Team: Interlingua \n" +"Language: ia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 23.08.5\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Giovanni Sora" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "g.sora@tiscali.it" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Okular, un visor universal de documento" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "Mantenitor Precedente" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "" +"Multe travalio sur le structura, retro administration de FictionBook e " +"precedente ODT" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "Developpator" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymański" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "Creava Okular ex codice basic de KPDF" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "Enrico Ros" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "Developpator de KPDF" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "Eugene Trounev" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "Graphica de annotationes" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "Jiri Baum - NICTA" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "Instrumento de selection de tabula" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "Fabio d'Urso" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "Melioramentos de annotation" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "Va a pagina %1" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "Aperi file externe" + +#: core/action.cpp:197 +#, kde-format +msgid "Execute '%1'…" +msgstr "Executa '%1'..." + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "Prime Pagina" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "Pagina Precedente" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "Pagina Proxime" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "Ultime pagina" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "Retro" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "Avante" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Quita" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "Initia presentation" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "Termina presentation" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "Trova..." + +#: core/action.cpp:314 +#, kde-format +msgid "Go To Page…" +msgstr "Va a pagina…" + +#: core/action.cpp:365 +#, kde-format +msgid "Play sound…" +msgstr "Reproduce sono..." + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "Script de Javascript" + +#: core/action.cpp:483 +#, kde-format +msgid "Play movie…" +msgstr "Reproduce film…" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "Reproduce film" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "Stoppa film" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "Pausa film" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "Resume film" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "Iste Okular es construite sin supporto audio" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "Selection de retroadministration" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
%1 (%2).

Please select which one to use:
" +msgstr "" +"Il trovava plus que un retroadministration pro le typo MIME
%1(%2).

Pro favor inserta qual tu vole usar.
" + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "Plus paginas es %1." + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "Vertical %1" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "Orientation horizontal %1" + +#: core/document.cpp:246 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 × %2 in (%3)" + +#: core/document.cpp:248 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 × %2 mm (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "Continuante le cerca ab le initio" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "Continuante le cerca ab le fundo" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "" +"Non pote trovar un plugin que es capace de manear le documento que es " +"passate." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "Signarnon es actuate per iste typo de documento" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "remove annotationes" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"Le documento es essayanteexecutar un appliocation externe e, pro tu " +"securitate, Okular non permitte lo." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "il non trovava alcun application pro aper file de typo mime %1." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "Il non pote aperir un file temporanee" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "Il falleve conversion de imprimer" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "Processo de imprimer fracassava" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "Processo de imprimer non startava" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "Il falleva imprimer a un file" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "Imprimitor essev in un stato invalide" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "Incapace de tovar le file de imprimer" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "Il non habeva alcun file de imprimer" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"Il non pote trovar un binari convenibile pro imprimer. Tu assecura te que le " +"codice binari lpr de CUPS es disponibile" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "Le grandor de pagina de imprimer es invalide" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "Non pote aperir '%1': Le file non existe" + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Titulo" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Subjecto" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Description" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "Autor" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Creator" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Productor" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "Copyright" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "Paginas" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Create" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Modificate" + +#: core/document.cpp:6032 +#, kde-format +msgid "MIME Type" +msgstr "Typo MIME" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "Categoria" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Parolas clave" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "Percurso de file" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "Grandor de file" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "Dimension de Pagina" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "adde annotation" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "remove annotation" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "modifica proprietates de annotation" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "traduce annotation" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "adjusta annotation" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "modifica texto" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "modifica contentos de annotation" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "modifica contentos de formulario" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "modifica selectiones de formulario de lista" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "modifica selection de formulario combinate" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "modific statos de button del formulario" + +#: core/generator.cpp:790 +#, kde-format +msgid "Plain &Text…" +msgstr "&Texto simplice..." + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "Texto de OpenDocument" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "Optiones de imprimer" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "Adapta a area imprimibile" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "Adapta a pagina complete" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "Modo de scalar:" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "Non monstra iste message de nove" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "Non disponibile" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" +"Error interne a signar. Pro favor tu reporta un bug con le passos per " +"reproducer lo.Codice de error %1" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "Non poteva signar le documento: %1" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "Signar cancellate per le usator" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "Il non pote signar. Phrase de contrasigno errate" + +#: core/signatureutils.cpp:504 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" +"Non poteva scriber le documento signate a %1, pro " +"favor tu assecura te que tu ha seligite un dossier con permission a scriber" + +#: core/signatureutils.cpp:506 +#, kde-format +msgid "Unknown signing error" +msgstr "Error de signar Incognite" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Fonte: %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "Font pre&definite:" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "Version" + +#: gui/certificatemodel.cpp:41 +#, kde-format +msgid "Serial Number" +msgstr "Numero serial" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "Emettitor" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "Emittite le" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "Termina le" + +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Subjecto" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "Clave public" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "Uso de Clave" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "V%1" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "%1 (%2 bits)" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "Proprietate" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "Valor" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "Nota de popup" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "Mono-spatio" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "Nota in linea" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +#| msgid "Polygon with Comment" +msgid "Arrow with Comment" +msgstr "Polygono con commento" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "Flecha" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "Linea recte con commento" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "Linea recte" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "Polygono con commento" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "Polygono" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgid "Stamp with Comment" +msgid "Rectangle with Comment" +msgstr "Timbro con commento" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "Rectangulo" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgid "Underline with Comment" +msgid "Ellipse with Comment" +msgstr "Sublinea con commento" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "Ellipse" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "Evidentia con commento" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "Evidentia" + +#: gui/guiutils.cpp:87 +#, kde-format +msgid "Squiggle with Comment" +msgstr "Squiggle con commento" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "Linea a serpentin" + +#: gui/guiutils.cpp:91 +#, kde-format +msgid "Underline with Comment" +msgstr "Sublinea con commento" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "Sublinea" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out with Comment" +msgstr "Strike Out con commento" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "Strike Out" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "Timbro con commento" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "Timbro" + +#: gui/guiutils.cpp:106 +#, kde-format +msgid "Freehand Line with Comment" +msgstr "Linea a mano libere con commento" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "Linea a mano libere" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "Symbolo de omission (caret)" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "Attachamento de file" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "Sono" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "Film" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Schermo" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "Widget" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "Rich Media" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation" +msgstr "Annotation" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "Incognite" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Autor: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "Ubi tu vole salveguardar %1?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "Non pote aperir \"%1\" pro scriber. Le file non esseva salveguardate." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "Le signatura es cryptographicamente valide." + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "Le signatura es cryptographicamente invalide." + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "Il occurreva un discrepantia de summario." + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "Le structura de signatura CMS/PKCS7 es malformate." + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "Le requirite signatura non es presente in le documento." + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "Le signatura non poteva esser verificate." + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "Certificato es digne de fide." + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "Emissor de certificato non es digne de fide." + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "Emissor de certificato es incognoscite" + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "Certificato ha essite revocate." + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "Certificato ha expirate." + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "Certificato ancora non ha essite verificate." + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "Validation de certificato in progresso" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "Emissor incognoscite con Certificato o datos corrumpite." + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "MD2" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "MD5" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "SHA1" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "SHA256" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "SHA384" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "SHA512" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "SHA224" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "Algoritmo incognite" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "RSA" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "DSA" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "EC" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "Typo incognite" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "Signatura digital" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "Non-Repudiation" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "Crypta claves" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "DEcrypta claves" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "Accordo de clave" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "Signa certificato" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "Signa CRL" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "Crypta solmente" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "Nulle uso specificate" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr ", " + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "Le documento non ha essite modificate proque illo esseva signate." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" +"Le revisione del documento que esseva coperite per iste signatura non ha " +"essite modificate;\n" +"totevia il ha essite modificationes subsequente al documento." + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" +"Le documento ha essite modificate in un modo non permittite per un previe " +"signator." + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "" +"Le veification de integritate del documento non poteva esser completate." + +#: gui/signatureguiutils.cpp:208 +#, kde-format +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "Iste documento ha campos substituto de signatura." + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "Iste documento es signate digitalmente." + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "" +"Iste documento es signate digitalmente. Il ha essite modificationes usque le " +"ultime signate." + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" +"Iste documento es signate digitalmente. Alcun del signaturas poteres non " +"esser validate propriemente." + +#: gui/signaturemodel.cpp:141 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "Substituto de signatura: %1" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "Campo:%1 sur pagina %2" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "Rev. %1: Signate per %2" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "Tempore de signar: %1" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "Motivo: %1" + +#: gui/signaturemodel.cpp:177 +#, kde-format +msgid "Location: %1" +msgstr "Location: %1" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "Signaturas PGP" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "Adobe PKCS7" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "Adobe PKCS7 Sha1" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "ETSI CAdES" + +#: gui/signaturemodel.cpp:193 +#, kde-format +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "Incognite" + +#: gui/signaturemodel.cpp:195 +#, kde-format +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "Substituto de signatura" + +#: gui/signaturemodel.cpp:201 +#, kde-format +msgid "Signature Type: %1" +msgstr "Typo de signatura: %1" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "Rubie" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "Orange" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "Jalne" + +#: part/annotationactionhandler.cpp:151 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "Verde" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "Cyano" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "Blau" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "Magenta" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "Blanco" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "Gris" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "Nigre" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "Latitude %1" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1%" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "Largessa de linea de annotation 8nulle annotation seligite)" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "Color de Annotation (nulle annotation seligite)" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "Color de reimpler de Annotation (nulle annotation seligite)" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "Opacitate de annotation (nulle annotation seligite)" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "Font de Annotation (nulle annotation seligite)" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" +"Adde le annotation currente al menu de annotationes rapide (Nulle annotation " +"selectionate)" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" +"Constringe rata de forma a 1:1 o angulo de linea a passos de 15° (Nulle " +"annotation selectionate)" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" +"Preferentias avantiate per le instrumento de annotation currente (nulle " +"annotation seligite)" + +#: part/annotationactionhandler.cpp:308 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Largessa de linea de annotation " + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "Largessa de linea de annotation (annotation non ha largessa de linea)" + +#: part/annotationactionhandler.cpp:314 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Color de texto de annotation " + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "Color de bordo de annotation " + +#: part/annotationactionhandler.cpp:318 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Color de annotation " + +#: part/annotationactionhandler.cpp:322 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Color de reimpler de annotation" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "" +"Color de reimpler de annotation (Annotation currente non ha color de " +"reimpler)" + +#: part/annotationactionhandler.cpp:328 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "Font de annotation" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "Font de reimpler de annotation (Annotation currente non ha font)" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "Constringe angulo de linea a passos de 15° " + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "Constringe proportiones (rata de aspecto) 1:1" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" +"Constringe rata de forma 1:1 o angulo de linea a passos de 15° (Non " +"supportate per annotation currente)" + +#: part/annotationactionhandler.cpp:341 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Opacitate de annotation" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "Adde le annotation currente al menu de annotationes rapide" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "Preferentias avantiate per le instrumento de annotation currente" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "Color" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "Reimple Color" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "Transparente" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "Color personalisate..." + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "Selectiona Color" + +#: part/annotationactionhandler.cpp:552 +#, kde-format +msgid "&Annotations" +msgstr "&Annotationes" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "Cela" + +#: part/annotationactionhandler.cpp:554 +#, kde-format +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Crea plus instrumentos de annotation" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "Evidentiator" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "Sublinea" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "Linea a serpentin" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "Strike Out" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Mono-spatio" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "Nota in linea" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "Nota de popup" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "Linea a mano libere" + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "Linea recte" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "Flecha" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "Rectangulo" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "Ellipse" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "Polygono" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "Formas geometric" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "Timbro" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Annotationes rapide" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "Selige un instrumento de annotation ex le annotationes rapide" + +#: part/annotationactionhandler.cpp:651 +#, kde-format +msgid "Quick Annotation Bar" +msgstr "Barra de annotation rapide" + +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "Adde a annotationes rapide" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "Mantene active" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "Mantene le instrumento de annotation active postea usage" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "Instrumentos de annotationes d constringer ratio e angulo" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "Font" + +#: part/annotationactionhandler.cpp:681 +#, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Preferentias de annotation" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "Largessa de linea" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "Opacitate" + +#: part/annotationactionhandler.cpp:696 +#, kde-format +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1%" + +#: part/annotationmodel.cpp:320 +#, kde-format +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "Pagina %1 (%2)" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "Pagina %1" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "Annotation" +msgstr[1] "%1 Annotationes" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "&Aperi un nota de popup" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Remove iste marcator de libro" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Adde marcator de libro" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, kde-format +msgid "Copy Text to Clipboard" +msgstr "Copia texto in area de transferentia" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "Copia prohibite per DRM" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "&Dele" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "&Proprietates" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, kde-format +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "&Salveguarda '%1'…" + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "&Apparentia" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "&General" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&Autor:" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "Create:" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "Modificate:" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "Proprietates de nota de popup" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "Proprietates de Typewriter" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "Proprietates de nota in linea" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "Proprietates de linea recte" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "Proprietates de polygono" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "Proprietates de geometria" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "Proprietates de marcation de texto" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "Proprietates de timbro" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "Proprietates de linea a mano libere" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "Proprietates del signo de omission (caret)" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "Proprietates de attachamento de file" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "Proprietates de sono" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "Proprietates de film" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "Proprietates de annotation" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "Selige un symbolo de timbro personalisate ex file" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "Selige un symbolo de timbro personaliste" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "Non poteva cargar file %1" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "File invalide" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&Color:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, kde-format +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%v%" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "&Opacitate:" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "Icone:" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "Commento" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "Adjuta" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "Inserta" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "Clave" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "Nove paragrapho" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "Nota" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "Paragrapho" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Font:" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "&Color de texto :" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "&Alinea :" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "Sinistra" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "Al centro" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "Dextera" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "Largessa de &bordo:" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "Approbate" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "Como es" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "Confidential" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "Departimental" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "Version provisori" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "Experimental" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "Expirate" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "Final" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "Pro commento" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "Pro liberation public" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "Non approbate" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "Non pro liberation public" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "Vendite" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "Secrete Maxime" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "Marcator de libro" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "Information" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "Symbolo de timbro:" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "Lar&gessa:" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "Initio de Linea:" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "Fin de Linea" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "Quadrato" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "Circulo" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "Diamante (Quadro)" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "Aperi flecha" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "Flecha claudite" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "Necun" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "Botte (Butt)" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "Flecha aperite dextere" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "Flecha claudite dextere" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "Barra oblique" + +#: part/annotationwidgets.cpp:531 +#, kde-format +msgid "Leader line length:" +msgstr "Longitude de linea principal:" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "Longitude de extensiones de linea principal:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "Habilitate" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "Reimple forma:" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Typo:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "Strike Out" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "Symbolo de attachamento de file:" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "Graphico" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "Spinula de premer" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "Crampa de papiro" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "Etiquetta" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "File" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "n/d" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "Nulle description disponibile." + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "Nomine:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "Description:" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "Symbolo de omission (caret):" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "Necun" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "Claude iste nota" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "Optiones" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"Iste annotation pote continer codice LaTeX.\n" +"Pulsa hic pro render lo." + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "Non pote trovar executabile de latex." + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "Il falleva render LaTeX" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "Non pote trovar executabile de dvipng." + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "Un problema occurreva durante que on executava le commando 'latex'." + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "Un problema occurreva durante que on executava le commando 'dvipng'." + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"Un marcator de libro" +msgstr[1] "" +"%1\n" +"\n" +"%2 marcatores de libro" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Marcatores de libro" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "Monstra per omne documentos" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, kde-format +msgid "Search…" +msgstr "Cerca…" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, fuzzy, kde-format +#| msgid "Expand all" +msgid "Expand All" +msgstr "Expande omne" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, fuzzy, kde-format +#| msgid "Collapse all" +msgid "Collapse All" +msgstr "Plica omne" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "Va a iste marcator" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "Renomina marcator de libro" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Aperi documento " + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "Remove omne marcatores de libro per iste Documento" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "Certifica Visor" + +#: part/certificateviewer.cpp:50 +#, kde-format +msgid "Export…" +msgstr "Exporta..." + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "General" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "Emittite per" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "Nomine commun (CN)" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "E-posta" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "Organization (O)" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "Emittite a" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "Validitate" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "Impressiones digital" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "Impression digital SHA-1" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "Impression digital SHA-256" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "Detalios" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "Datos de certificato:" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "Ubi tu vole salveguardar iste certificato?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "File de Certificato (*.cer)" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "Non poteva exportar le certificato" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "Modo de &Color" + +#: part/colormodemenu.cpp:21 +#, kde-format +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "Cambia colores" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "Colores &Normal" + +#: part/colormodemenu.cpp:41 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "&Inverte colores" + +#: part/colormodemenu.cpp:42 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "Cambia color de &Papiro" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "Cambia colores &Obscur && Clar" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "Converte in &Blanco && Nigre" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "Inverte bri&llantia" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "Inverte nitor (L&uma) (sRGB Linear)" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "Inverte nitor (Luma) (&Symmetric)" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "Displacia Tinta (HUE) P&ositive" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "Displacia Tinta (HUE) N&egative" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "Rubie" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "Verde" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "Blau" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "Jalne" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "Nigre" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "Blanco" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "Evidentiator jalne" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "Evidentiator Verde" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "Inserta Texto" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "Designa bordo circa ligamines" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "Cambia colores" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "" +"Aviso: iste optiones pote afficer de mal modo le velocitate de " +"designar." + +#: part/dlgaccessibility.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "Inverte colores" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "Cambia color de papiro" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "Cambia colores Obscur & Clar" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "Converte in blanco & nigre" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "Inverte brillantia" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "Inverte nitor (Luma) (sRGB Linear)" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "Inverte nitor (Luma) (Symmetric)" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "Displacia Tinta Positive" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "Displacia Tinta Negative" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "Modo de color:" + +#: part/dlgaccessibility.cpp:87 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Color de papiro:" + +#: part/dlgaccessibility.cpp:99 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Color obscur:" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "Color clar:" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "Limine:" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Contrasto:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "Motor de Texto-a-Parola (TextToSpeech):" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "Voce de Texto-a-Parola (TextToSpeech):" + +#: part/dlgannotations.cpp:25 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Barra de Instrumentos de Annotation Complete" + +#: part/dlgannotations.cpp:26 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Barra de Instrumentos de Annotation Rapide" + +#: part/dlgannotations.cpp:28 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Barra de Instrumentos de Annotation:" + +#: part/dlgannotations.cpp:34 +#, kde-format +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "Autor:" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"Nota: Le information hic es usate solmente pro annotationes. Le " +"information es salveguardate in documentos annotate, e assi essera " +"transmittite insimul le documento." + +#: part/dlgannotations.cpp:48 +#, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

Quick Annotation Tools

" +msgstr "

Instrumentos de annotation rapide

" + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" +"Selige le editor que tu vole lancear quando Okular vole aperir un file de " +"fonte." + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "Editor de texto personalisate" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Cliente de Emacs" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "Cliente de Lyx" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "TeXstudio" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "TeXiFy IDEA" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "Editor:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
\n" +"You can also put few placeholders:\n" +"
    \n" +"
  • %f - the file name
  • \n" +"
  • %l - the line of the file to be reached
  • \n" +"
  • %c - the column of the file to be reached
  • \n" +"
\n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"Fixa le commando de un editor de texto personalisate que on debe lancear." +"
\n" +"Tu anque pote poner alcun substitutos:\n" +"
    \n" +"
  • %f - le nomine de file
  • \n" +"
  • %l - le linea del file que on debe attinger
  • \n" +"
  • %c - le columna del file que on debe attinger
  • \n" +"
\n" +"Si %f non es specificate, alora le nomine de file es appendite al commando " +"specificate." + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "Commando:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "Usa Rolar lisie" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "Apparentia:" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "Monstra barras de rolar" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "Liga le miniaturas con le pagina" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "Monstra insinuationes e messages de information" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "Notifica re files incorporate, formas, o signaturas" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "Monstra titulo de documento in l ebarra de titulo, si disponibile" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "Monstra solmente nomine de file" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "Monstra percurso complete de file" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "Quando non monstrante titulo de documento:" + +#: part/dlggeneral.cpp:92 +#, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "Usa color de fundo personalisate:" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "Characteristicas de programma:" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "Aperi nove files in schedas" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "Displacia a scheda existente si ja aperite" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "Obedi a restrictiones de DRM" + +#: part/dlggeneral.cpp:148 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "Recarga le documento quando on modifica le file" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "Monstra le dialogo de selection de retroadministration" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "Direction de lectura ex dextra a sinistra" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" +"Usa information de file per determinar si aperir in modo continue per " +"definition" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" +"Per file sin information de file, aperi in modo continue per definition" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "Aperi in modo continue per definition" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" +"Quando on usa Instrumento de Navigator, inveloppa le cursor al margines de " +"schermo " + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "Elementos in chronologia recente:" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "Vision de juncto de columnas:" + +#: part/dlggeneral.cpp:220 +#, kde-format +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%v%" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" +"Il define quanto del area de vision currente ancora essera visibile quando " +"on pressa le clave de Pagina in Alto/Pagina a Basso." + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "Imbrication de Pagina in alto/Pagina a basso:" + +#: part/dlggeneral.cpp:228 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%v%" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "100%" + +#: part/dlggeneral.cpp:233 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "Adapta in largessa" + +#: part/dlggeneral.cpp:234 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "Adapta al pagina" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "Adjusta automaticamente" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "Personalisate" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" +"Il define le modo de zoom predefinite pro file que jammais esseva aperite " +"ante. Pro files que esseva aperite ante il applica le previe zoom." + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "Zoom predefinite:" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "Habilita effectos de trasnparentia" + +#: part/dlgperformance.cpp:28 +#, kde-format +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "Uso de CPU:" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "Basse" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "Normal (predefinite)" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "Aggressive" + +#: part/dlgperformance.cpp:38 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "Avide" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "Uso de Memoria:" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "Habilita antialias de texto" + +#: part/dlgperformance.cpp:56 +#, kde-format +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "Optiones de rendition:" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "Habilita antialias de graphiches" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "Habilita insinuar de texto" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"Il mantene le memoria usate le plus basse possibile. No reusa alcun cosa " +"(pro systemas con basse memoria)." + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"Un bon compromisso inter usage de memoria e ganio de velocitate. Precarga " +"proxime pagina e stimula cercas (typicamente pro systemas con memoria de " +"2GB)." + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"Mantene toto in memoria. Precarga proxime paginas. Stimula cercas (pro " +"systemas con un memoria de plus que 4GB)." + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" +"Carga e mantene toto in memoria. Precarga omne paginas (il usara al maximo " +"le 50% de tu memoria tortal o de tu memoria libere, qualcunque grande illo " +"es)." + +#: part/dlgpresentation.cpp:38 +#, kde-format +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] "cata %v secunda" +msgstr[1] "cata %v secundas" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "Avantia automaticamente:" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "Anella post le ultime pagina" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "Tocca latere sinistre/dextere per vader retro/avante" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "Tocca ubique per vader avante" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "Dishabilitate" + +#: part/dlgpresentation.cpp:63 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Navigation per Touch:" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "Color de fundo:" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "Celate post retardo" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "Sempre visibile" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "Sempre celate" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "Cursor de mus:" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "Monstra indicator de progresso" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "Monstra pagina de summario" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "Instante (Jammais usa animationes)" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "Reimplacia" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "Transition aleatori" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "Cortinas vertical" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "Cortinas horizontal" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "Restringe (Box in)" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "Expande (Box out)" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "Dissolve" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "Distinger" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "Reluce a basso" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "Reluce in alto" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "Reluce a dextere a basso" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "Divide horizontalmente (Split in)" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "Divide horizontalmente (split out)" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "Divide verticalmente (split in)" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "Divide verticalmente (split out)" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "Netta a basso" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "Netta a dextera" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "Netta a sinistra" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "Netta in alto" + +#: part/dlgpresentation.cpp:121 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Transitione predefinite:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "Schermo preferite:" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

Drawing Tools

" +msgstr "

Instrumento de Designar

" + +#: part/dlgpresentation.cpp:171 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Schermo currente" + +#: part/dlgpresentation.cpp:172 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Schermo predefinite" + +#: part/dlgpresentation.cpp:178 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "Schermo %1 (%2 %3 %4)" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "Schermo %1 (disconnectite)" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "Instrumento de designar: %1" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "Eradicator" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "&Nomine:" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "&Typo:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "Apparentia" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "Marcation de texto" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "Forma geometric" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "Crea instrumento de annotation" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "Modifica instrumento de annotation" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "Color:" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "Largessa de &Pluma:" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "%v px" + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "Crea instrumento de designar" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "Modifica instrumento de designar" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "Incognite" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Files incorporate" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "Vista" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "Nomine" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "Description" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "Dimension" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "Create" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "Modificate" + +#: part/embeddedfilesdialog.cpp:154 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "&Salveguarda como..." + +#: part/embeddedfilesdialog.cpp:155 +#, kde-format +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "&Vide…" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "Il non pote cargar le parte del vista preliminar de impression" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "Vista preliminar de imprimer" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "Claude" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "Tro&va:" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "Texto de cercar" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Proxime" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "Salta al proxime objecto coincidente" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Precedente" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "Salta al previe objecto coincidente" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "Modificar comportamento de cerca" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "Sensibile al differentia inter majusculas e minusculas" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "Ex le pagina currente" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "Trova durante que tu typa" + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "Omne files (*)" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "Substituto de Signatura (clicca per signar)" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "&Signa…" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "Proprietates del signatura" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "Optiones de cerca" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "Sensibile al differentia inter majusculas e minusculas" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "Expression Regular" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "Stratos o layers" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "de" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "Zoom" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "Exeque zoom a 100%" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "Rota a &dextera" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "Dextera" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "Rota a &sinistra" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "Sinistra" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "Orientation original" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "Vista de pu&tar" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "&Tonde margines" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "Putar a &Selection" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "Adapta in &largessa" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "Adapta al &pagina" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "&Adjusta automaticamente" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "Adapta Fe&nestra a Pagina" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "Modo de &Vider" + +#: part/pageview.cpp:594 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "Pagina &singule" + +#: part/pageview.cpp:595 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "Paginas &flancate" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "Paginas flancate (prime pagina al ¢ro)" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "Vision de &juncto" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "&Continue" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "Usa direction de lectura ex dextra a sinistra" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "&Naviga " + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "&Zoom (aggrandir)" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "&Selection de Area" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "Selection de &Texto" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "Selection de T&abula" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "A&ggranditor" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "Instrumentos de selection" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "&Signa digitalmente…" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "Pronuncia le documento complete" + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "Pronuncia ex le pagina currente" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "Pronuncia le pagina currente" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "Stoppa pronunciar" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "Pausa/Restabili Pronunciar" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "Rola in alto" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Rola a basso" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "Rola pagina in alto" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "Rola pagina a basso" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "Monstra formularios" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] " Cargate un documento de un pagina." +msgstr[1] " Cargate un documento de %1-paginas" + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "Copia contentos de tabella in area de transferentia" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "Texto(1 character)" +msgstr[1] "Texto(%1 characteres)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "Copia in area de transferentia" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "Pronuncia texto" + +#: part/pageview.cpp:2863 +#, kde-format +msgid "Image (%1 × %2 pixels)" +msgstr "Imagine (%1 per %2 pixeles)" + +#: part/pageview.cpp:2865 +#, kde-format +msgid "Save to File…" +msgstr "Salveguarda a File..." + +#: part/pageview.cpp:2885 +#, kde-format +msgid "Image [%1 × %2] copied to clipboard." +msgstr "Imagine [%1x%2] copiate in area de transferentia." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "Salveguarda file" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "Images (*.png *.jpeg)" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "File non salveguardate." + +#: part/pageview.cpp:2901 +#, kde-format +msgid "Image [%1 × %2] saved to %3 file." +msgstr "Imagine [%1x%2] salveguardate in file %3." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "Copia texto" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "Va a '%1'" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "Adapta in largessa" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "Adapta al pagina" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "Adjusta automaticamente" + +#: part/pageview.cpp:4107 +#, kde-format +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1%" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "Cerca de '%1' con" + +#: part/pageview.cpp:4404 +#, kde-format +msgid "Configure Web Shortcuts…" +msgstr "Configura vias breve de Web..." + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "Seque iste ligamine" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "Reproduce iste sono..." + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "Stoppa sono" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "Copia adresse de ligamine" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "Cerca de '%1' in iste documento" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Benvenite" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "Selige area de zoom. Pulsa a dextere pro aggrandir." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "Pulsa pro vider le vista aggrandite." + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "Designa un rectangulo circa le texto/graphiches de copiar." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "Selectiona texto" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" +"Designa un rectangulo circa le tabula, post pulsa bordos vicin pro divider; " +"pressa Esc pro nettar." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" +"Omne tu certificatos de signar es invalide.In casoque lesignar functionava " +"ante pro favor tu verifica lor datas de validitate." + +#: part/pageview.cpp:5188 +#, kde-format +msgid "No valid certificates" +msgstr "Nulle certificatos valide" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, kde-format +msgid "Open Certificate Manager" +msgstr "Aperi gerente de certificat&o " + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
Launch Certificate Manager " +"to import or manage certificates
For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" +"Il non ha certificatos de signar disponibile.
Per plus information, pro " +"favor tu vide le section re Adder Signaturas Digital in " +"le manual." + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, kde-format +msgid "No certificates found" +msgstr "Nulle certificatos trovate" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" +"Il non ha certificatos de signar disponibile.
Per plus information, pro " +"favor tu vide le section re Adder Signaturas Digital in " +"le manual." + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" +"Tu ha modificationes non salveguardate. Pro favor tu salveguarda le " +"documento ante signar lo." + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "Designa un rectangulo per inertar le campo de signatura" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "" +"Designa un rectangulo circa le area de pagina que tu vole mantener visibile" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "Nove nota de texto" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "Texto del nove nota" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Signate per: %1\n" +"\n" +"Data: %2" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" +"Un signatura de iste grandor poterea esser troppo parve de leger. Si tu " +"volerea crear un signatura potentialmente plus legibile, pressa " +"Recomincia e designa un rectangulo plus grande." + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "Recomenciar" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "Signa" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name" +msgstr "Nomine de autor" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name for the annotation:" +msgstr "Nomine de autor per le annotation:" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "Designa un ellipse (trahe pro seliger un zona)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "Evidentia texto" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "Designa un linea a mano libere" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "Annotation de texto in linea (trahe pro seliger un zona)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "Mitte un nota de popup" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "Designa un polygono (pulsa sur le prime puncto pro clauder lo)" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "Designa un rectangulo" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "Texto a serpentin" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "Placia un symbolo de timbro" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "Designa un linea recte" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "Pone le texto in Strike Out" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "Sublinea texto" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "Annotation de texto in linea (Typewriter) (trahe pro seliger un zona)" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "Evidentiator" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "Adde annotation favorite" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Custom annotation name:" +msgstr "Nomine personalisate de annotation:" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&File" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "Preferentia&s" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "Ad&juta" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "&Orientation" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "Marcatores de li&bro" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "barra de instrumento de visor" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Miniaturas" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "Annotationes" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" +"Iste documento contine annotationes o datos de formulario que essera " +"salveguardate internemente per un previe version de Okular. Immagazinage " +"interne es non plus supportate.
Pro favor salveguarda a un file " +"per mover los si tu vole continuar a modificar le documento." + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"Iste documento ha files incorporate. Pulsa " +"ci pro vider los o va a File->Files Incorporate." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" +"Signar in progresso. Tu pote adaptar le position e grandor del signatura" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "Termina signar" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "Precedente" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "Va retro al pagina previe" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "Il move al pagina precedente del documento" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "Proxime" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "Avantia al proxime pagina" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "Il move al pagina proxime del documento" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "Initio del documento" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "Move al initio del documento" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "Fin del documento" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "Move al fin del documento" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "Renomina le marcator currente" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "Previe marcator de libro" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "Va al previe marcator de libro" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "Proxime marcator de libro" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "Va al proxime marcator de libro" + +#: part/part.cpp:748 +#, kde-format +msgid "Configure Okular…" +msgstr "Configura Okular ..." + +#: part/part.cpp:751 +#, kde-format +msgid "Configure Viewer…" +msgstr "Configura visor…" + +#: part/part.cpp:757 +#, kde-format +msgid "Configure Viewer Backends…" +msgstr "Configura retroadministrationes de visor…" + +#: part/part.cpp:759 +#, kde-format +msgid "Configure Backends…" +msgstr "Configura retroadministrationes…" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "Re retroadministration" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "Recar&ga" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "Recarga le documento currente ex le disco." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "Claude barra de &trovar" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "Numero de Pagina" + +#: part/part.cpp:817 +#, kde-format +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "Configura Modos de Color de Okular …" + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "Selige omne texto sur le pagina currente" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "Monstra barra &lateral" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "Monstra barra de &pagina" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "Monstra pannello de &Signaturas" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "Files incorporat&e" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "E&xporta como" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "I&mparti" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "P&resentation" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "Aperi dossier con&tinente" + +#: part/part.cpp:945 +#, kde-format +msgid "&Import PostScript as PDF…" +msgstr "&Importa PostScript como PDF…" + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "Commuta modo de schermo nigre" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "Rade designos" + +#: part/part.cpp:962 +#, kde-format +msgid "Configure Annotations…" +msgstr "Configura annotationes…" + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "Reproduce/Pausa Presentation" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" +"Tu ha tosto modificate le documento aperite, ma iste genere de documento non " +"pote esser salveguardate.\n" +"Ulle modificationes essera perdite un vice que Okular es claudite." + +#: part/part.cpp:1123 +#, kde-format +msgid "Document can't be saved" +msgstr "Documento non pote esser salveguardate" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "Non pote aperir \"'%1' (%2) " + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "Le cargamento de %1 ha essite cancellate." + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "Non pote aperir %1: Motivo: %2" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "Configura retroadministrationes de visor" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "Configura retroadministrationes" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"Le programma \"ps2pdf\"non esseva trovate, dunque Okular non pote importar " +"files PS per usar illo." + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "ps2pdf non trovate" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "Files PostScript (%1)" + +#: part/part.cpp:1357 +#, kde-format +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "Importante file PS como PDF (isto pote prender del tempore)…" + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "Pro favor inserta le contrasigno per leger le documento:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "Contrasigno incorrecte. Essaya de nove:" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "Contrasigno de documento" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" +"Iste documento ha formularios XFA, que currentemente non es supportate." + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"Iste documento ha formularios. Pulsa sur le button pro interager con illos, " +"o usa Vista->Monstra formularios." + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" +"Omne characteristicas interactive e de modificar per iste documento es " +"dishabilitate. Pro favor salveguarda un copia e reaperi per modificar iste " +"documento." + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" +"Iste documentovole esser monstrate a schermo plen.\n" +"Lassa modo normal e inserta modo de presentation?" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "Requesta per cambiar modo de vider" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "Inserta modo de presentation" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "Nega requesta" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "Non pote aperir %1. %2" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" +"Le file %1 ha modificationes non salveguardate, ma ha " +"essite modificate per un altere programma. Recargar lo reimplacera le " +"modificationes non salveguardate con le modificationes facite in le altere " +"programma. Tu vole continuar a recargar iste file?" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "File modificate" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "Continua recargar" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "Abandona recargar" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" +"Le file %1 ha modificationes non salveguardate, ma ha " +"essite modificate per un altere programma. Clauder lo reimplacera le " +"modificationes non salveguardate con le modificationes facite in le altere " +"programma. Tu vole continuar a clauder le file?" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "Continue cluder" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "Abndona clauder" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "Tu vole salveguardar tu modificationes \"%1\" o annullar los?" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "Claude documento" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"Isto ligamine puncta a un action de clauder documento que non functiona " +"quando on usa le visor incorporate." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"Isto ligamine puncta a un action de clauder application que non functiona " +"quando on usa le visor incorporate." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, kde-format +msgid "Reloading the document…" +msgstr "Recargante le documento…" + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "Contentos" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "Signaturas" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Va a pagina" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "&Pagina:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "Inserta le nove nomine del marcator de libro:" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "Renomina iste marcator de libro" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "Remove iste marcator de libro" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "Salveguarda como" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" +"Tu ha seligit salveguardar un Archivo de Okular sin que le nomine de file " +"termina con le extension '%1'. Illo non es permittite, tu vole seliger un " +"nove nomine?" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "Extension non supportate" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "Selige nove nomine" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" +"Le file %1 ha essite modificate per un altere " +"programma. SiTuu salveguarda nunc, omne modificationes facite in le altere " +"programma essera perdite. Tu es secur que tu vole continuar?" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "Salveguarda - Aviso" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "Salveguarda un copia alibi" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
Do you want to continue?" +msgstr "" +"Le documento currente es protegite con un contrasigno.
Pro " +"salveguardar, le file necessita esser recargate. Tu essera demandate de novo " +"de contrasigno e tu chronologia de annullar/refacer essera perdite,
Tu " +"vole continuar?" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "Il non pote aperir le file temporanee pro salveguardar." + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" +"File non poteva superscriber %1 proque illo es de sol " +"lectura. Essaya salveguardar lo in un altere location o cambia permissiones " +"de ille file." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
Do you want to continue?" +msgstr "" +"Postea salveguardar, le formto de documento currente require que le file es " +"recargate. Tu chronologia de annullar/refacer essera perdite.
Tu vole " +"continuar?" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "" +"File non poteva esser salveguardate in '%1'. Essaya salveguardar lo in un " +"altere location." + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "Contentos de formulario plene" + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "Annotationes de usator" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" +"Tu es per salveguardar modificationes, ma le formato de file currente non " +"supporta salveguardar le elementos sequente. Pro favor usa le formato de " +"archivo de docuento de Okular per preservar los." + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "Aviso" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "Salveguarda como archivo de documento de Okular…" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" +"Tu es per salveguardar modificationes, male formato de file currente non " +"supporta salveguardar le elementos sequente. Pro favor usa le formato " +"archivo de documento de Okular per preservar los. Pulsa Continua per salveguardar le documento e abandona iste elementos." + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" +"Tu es per salveguardar mdificationes, ma le formato de file currente non " +"supporta salveguardar le elementos sequente. Pro favor usa le formato " +"archivo de documento de Okular per preservar los. Pulsa Continua per salveguardar, ma tu perdera tanto iste elementos como le chronologia " +"de annullar/refacer." + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "Continua" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "Continua perder modifiationes" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "File non poteva esser salveguardate in '%1'. %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"Okula non pote copiar %1 in location specificate.\n" +"\n" +"Le documento non existe plus." + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" +"File non poteva esser salveguardate in '%1'. Error: '%2' .Essaya " +"salveguardar lo in un altere location." + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "Expand whole section" +msgid "Expand Whole Section" +msgstr "Expande complete section" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "Collapse whole section" +msgid "Collapse Whole Section" +msgstr "Plica section integre" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "Synchronisa miniaturas con le pagina" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Instrumentos" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "Pronuncia" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "Imprime" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "Il non es permittite imprimer iste documento." + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"Non pote imprimer le documento. Error incognite. Pro favor tu reporta le " +"falta a bugs.kde.org" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"Non pote imprimer le documento Error detaliate es \"%1\". Pro favor tu " +"reporta le falta a bugs.kde.org" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "Vade al placia ubi tu esseva ante" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "Vade al placia ubi tu esseva post" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"Error de File! Non pote crear file temporanee " +"%1." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"Error de File! Non pote aperir le file " +"%1 pro decomprimer lo. Le file non essera cargate." + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"Iste error typicamente occurre si tu non ha assatis permissiones pro " +"leger le file. Tu pote verificar tu permissiones e proprietate si tu pulsa " +"con le clave dextere sur le file in le gerente de file Dolphin e post selige " +"le scheda de \"Proprietates\" e selige le scheda 'Permissiones' in le " +"fenestra aperite" + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"Error de File! Nonn pote decomprimer le file " +"%1. Le file non essera cargate." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"Iste error typicamente occurre si le file es corrumpite. Si tu vole " +"esser secur, essaya decomprimer le file manualmente per usar le instrumentos " +"de commando de linea." + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "Necun marcator de libros" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "Il ha un problema a impartir le documento: %1" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "Impartir" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "Documento impartite con successo" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "Tu pote trovar le documento impartite in: %1" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "&Edita" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "&Vide" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&Vade" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "Ins&trumentos" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "Barra de instrumento principal" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "Barra de Instrumentos de Annotation" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, kde-format +msgid "Quick Annotation Toolbar" +msgstr "Barra de Instrumentos de Annotation Rapide" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "Optiones General" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Accessibilitate" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "Auxilios de lectura pro accessibilitate" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Prestation" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "Syntonisation de prestation" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "Configura visor" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Presentation" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "Optiones pro modo de presentation" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "Optiones de annotation" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "Editor" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "Optiones de editor" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" +"Le editor esseva fixate per le linea de commando a \n" +" %1 \n" +"Si tu vole usar le preferentia, tu initia okular sin le option -editor-cmd" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "Trova proxime" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 – Presentation" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "Commuta schermo" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "Schermo %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "Termina modo de presentation" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Titulo: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Paginas: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "Pulsa pro initiar" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "Pausa" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "Reproduce" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"Il ha duo modos pro exir del modo de presentation, tu pote pressar o le " +"clave de ESC o pressa le button de abandonar que appare quando on placia le " +"mus in le angulo in alto a dextera. Naturalmente tu pote cyclar fenestras " +"(Alt+TAB como modo predefinite)" + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "Da un presentation" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "File incognite" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "%1 Proprietates" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "&Fonts" + +#: part/propertiesdialog.cpp:145 +#, kde-format +msgid "Reading font information…" +msgstr "Legente information de font…" + +#: part/propertiesdialog.cpp:158 +#, kde-format +msgid "&Page Sizes" +msgstr "Dimensiones de &Pagina" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "&Extrahe font" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Typo 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Typo 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "Typo 1C (OT)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Typo 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType (OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID Type 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID Type 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID Type 0C (OT)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType (OT)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "TeX PK" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "TeX virtual" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "Metric de Font de TeX" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "TeX maneate per Typo libere " + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "Incognite" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "Incorporate (subinsimul)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "Completemente incorporate" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "No" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "Si(subinsimul)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "Si" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "%1 (substituente con %2)" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "[n/d]" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "Font incognite" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "Incorporate: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "Nomine" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "Typo" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "File" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "Pagina" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "Dimension" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "Vista preliminar de revision" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "Ubi tu vole salveguardar iste revision?" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "Il non pote salveguardar file '%1." + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "Non pote vider iste revision." + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "Inserta al minus 3 litteras pro filtrar paginas" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "Sensibile al differentia inter majusculas e minusculas" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "Phrase in correspondentia" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "Omne parolas in correspondentia" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "Ulle parolas in correspondentia" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "Optiones de filtro" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, kde-format +msgid "Certificates" +msgstr "Certificatos" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "Selige certificato con le qual signar:" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "Omne" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, kde-format +msgid "Only QES certificates" +msgstr "Solmente Certificatos QES" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "Solmente claves de PGP" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "Motivo:" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, kde-format +msgid "optional" +msgstr "optional" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "Location:" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, kde-format +msgid "Background:" +msgstr "Fundo:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "Selige..." + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, kde-format +msgid "Recent backgrounds:" +msgstr "Fundos recente:" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

No annotations

To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
" +msgstr "" +"

Nulle annotationes

Pro crear nove annotationes " +"pressa F6 o selectiona Instrumentos -> Annotationes ex le menu." + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "Gruppa per pagina" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "Gruppa per autor" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "Monstra annotationes solmente pro pagina currente" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "Expande omne elementos" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "Plica omne elementos" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "Proprietates" + +#: part/signaturepartutils.cpp:180 +#, kde-format +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Images (%1)" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "Selige Imagine de fundo" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "Oblida Imagine" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "Oblida Omne Imagines" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "Inserta contrasigno ( si ulle) per disblocar certificato: %1" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "Inserta le contrasigno del certificato" + +#: part/signaturepartutils.cpp:244 +#, kde-format +msgid "Enter document password" +msgstr "Inserta contrasigno de documento" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "Salveguarda file signate como" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "%1_signate.%2" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "Stato valide" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "Validitate de signatura:" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "Modificationes de documento:" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "Information additional" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "Signate per :" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "Tempore de signar:" + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "Version de documento" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Revision de documento %1 de %2" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "Vide version signate…" + +#: part/signaturepropertiesdialog.cpp:95 +#, kde-format +msgid "View Certificate…" +msgstr "Vide certificato..." + +#: part/signaturepropertiesdialog.cpp:97 +#, kde-format +msgid "View in Certificate Manager" +msgstr "Vide in Gerente de Certificato (Certificate Manager)" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "" +"KDE Certificate Manager - Gestor de Cerificato de KDE (kleopatra) non " +"trovate" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "Qualificate" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "PGP" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "Monstra solmente paginas que es ponite in marcatores de libro" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "Reproduce" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Pausa" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "Stoppa" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "Video non supportate in iste okular" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "Video non supportate in iste okular" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "&Adde..." + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, kde-format +msgid "&Edit…" +msgstr "&Edita…" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "&Remove" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "Move in &alto" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "Move a &basso " + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "Instrumento de designar predefinita: #%1" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "In ha ja un instrumento con illo nomine. On usa lo que es predefinite" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "Nomine duplicate" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "Pagina del documento que on debe monstrar" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "Initia le documento in modo de presentation" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "Initia con dialogo pro imprimer" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "Initia con dialogo pro imprimer e abandona post imprimer" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "Controlo de \"Instantia unic\"" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "Non altia fenestra" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "Trova una catena sur le texto" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "Assigna le commando de editor externe" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "Documento de aperir. Specifica '-' pro leger ex stdin." + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" +"Tu non pote fixar le commando de edito in un instantia de okular ja " +"executante. Pro favor dishabilita le schedas e essaya novemente. Pro favor " +"tu nota, que unic es anque non supportate quando fixa le commando de editor " +"al linea de commando.\n" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "" +"Error: Il non pote aperir plus que un documento con le commutator --unique" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" +"Error: Il non pote aperir plus que un documento con le commutator --" +"presentation" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "" +"Error: Il non pote aperir plus que un documento con le commutator --print" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "" +"Error: Il non pote aperir plus que un documento con le commutator --page" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "" +"Error: Il non pote aperir plus que un documento con le commutator --find" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "Incapace de trovar le componente de Okular: %1" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "Barra Lateral" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" +"Il ha ja un unic instantia de Okular executante. Iste instantia non essera " +"le unic." + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "Incapace de trovar le componente de Okular." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"Pulsa pro aperir un file\n" +"Pulsa a mentene pro aperir un file recente" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"Pulsa pro aperir un file o Pulsa e mentene pro seliger un file " +"recente" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "Proxime scheda" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "Previe scheda" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "Annulla operation de clauder scheda" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "Bloca Barra lateral" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "Omne files (*)" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "Omne files supportate (%1)" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "Aperi documento " + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "Confirma Clausura" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "Claude schedas" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "Tu es per clauder %1 schedas. Tu es secur que tu vole continuar?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "Adverte me quando on cerca clauder multiple schedas" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "&Copia Percurso" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "&Aperi dossier continente" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "&Oblida iste elemento" + +#: shell/welcomescreen.cpp:137 +#, kde-format +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "Nulle documento recente" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "Benvenite a Okular" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Aperi Documento..." + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, kde-format +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Documentos recente" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "Oblida Toto" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "Cela schermo de benvenite" + +#~ msgid "Geometry with Comment" +#~ msgstr "Gometria con commento" + +#~ msgid "Geometry" +#~ msgstr "Geometria" + +#~ msgctxt "Annotation type: contents" +#~ msgid "%1: %2" +#~ msgstr "%1: %2" + +#~ msgid "Modified: %1" +#~ msgstr "Modificate: %1" + +#~ msgid "Find..." +#~ msgstr "Trova..." + +#~ msgid "Go To Page..." +#~ msgstr "Va a pagina..." + +#~ msgid "Play movie..." +#~ msgstr "Reproduce film" + +#~ msgid "Search..." +#~ msgstr "Il cerca ..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "&Salveguarda como..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "&Vista" + +#~ msgid "&Sign..." +#~ msgstr "&Signa..." + +#~ msgid "Configure Viewer..." +#~ msgstr "Configura visor..." + +#~ msgid "Configure Viewer Backends..." +#~ msgstr "Configura retroadministrationes de visor..." + +#~ msgid "Configure Backends..." +#~ msgstr "Configura retroadministrationes..." + +#~ msgid "&Add..." +#~ msgstr "&Adde..." + +#~ msgid "&Edit..." +#~ msgstr "&Edita..." + +#~ msgctxt "%1 is a file path" +#~ msgid "" +#~ "Could not sign. Invalid certificate password or could not write to '%1'" +#~ msgstr "" +#~ "Non potev signar. Contrasigno de certificato invalide o non poteva " +#~ "scriber a '%1'" + +#, fuzzy +#~| msgid "" +#~| "All your signing certificates are either not valid yet or are past their " +#~| "validity date." +#~ msgid "All your signing certificates are invalid" +#~ msgstr "" +#~ "Omne tu certificatos de signar es o ancora invalide o ha passate lor data " +#~ "de validitate. " + +#~ msgid "Unsigned Signature %1" +#~ msgstr "Signatura non signate %1" + +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "Incognite" + +#~ msgctxt "Signature type" +#~ msgid "Unsigned signature" +#~ msgstr "Signatura non signate " + +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "Spinbox prefix: Advance automatically: every n seconds" +#~ msgid "every " +#~ msgstr "cata " + +#~ msgctxt "Suffix for the pen width, eg '10 px'" +#~ msgid " px" +#~ msgstr "px" + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " %" + +#~ msgctxt "%1 is a file path" +#~ msgid "Could not sign. Could not write to '%1'" +#~ msgstr "Non poteva signar. Non poteva scriber a '%1'" + +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "Adapta in largessa" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "Adapta al pagina" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Auto Fit" +#~ msgstr "Adjusta automaticamente" + +#~ msgid "*|All Files" +#~ msgstr "*|Omne Files" + +#~ msgid "Missing alert type" +#~ msgstr "Mancante typo de alerta" + +#~ msgid "" +#~ "The file '%1' has been modified by another program, which means it can no " +#~ "longer be saved." +#~ msgstr "" +#~ "Le file '%1' ha essite modificate per un altere programma, que significa " +#~ "que illo non pote plus esser salveguardate." + +#~ msgid "Show Sidebar" +#~ msgstr "Monstra barra lateral" + +#~ msgctxt "@info" +#~ msgid "" +#~ "experimental feature.Stamps inserted in PDF documents are " +#~ "not visible in PDF readers other than Okular." +#~ msgstr "" +#~ "characteristica experimental.Timbros isertate in documentos " +#~ "PDF non es visibile in lectores PDF altere que Okular." + +#~ msgctxt "@info" +#~ msgid "" +#~ "The version of the Poppler library this Okular was compiled with does not " +#~ "support signing documents with passwords. Please ask your provider to " +#~ "update it to 22.02 or later." +#~ msgstr "" +#~ "Le version del bibliotheca de Poppler con le quql iste verion de Okular " +#~ "esseva compilate con supporta signar documentos con contrasignos. Pro " +#~ "favor tu demanda a tu fornitor actualisar lo a 22.0.2 o plus ulterior." + +#~ msgctxt "@title:window" +#~ msgid "Poppler library is too old" +#~ msgstr "Bibliotheca de Poppler es troppoo vetule" + +#~ msgctxt "@info" +#~ msgid "" +#~ "Stamps inserted in PDF documents are not visible in PDF readers other " +#~ "than Okular" +#~ msgstr "" +#~ "timpros isertate in documentos PDF non es visibile in lectores PDF altere " +#~ "que Okular" + +#~ msgctxt "@title:window" +#~ msgid "Experimental feature" +#~ msgstr "Characteristica Experimental" + +#~ msgid "Remove Bookmarks" +#~ msgstr "Remove marcatores de libro" + +#~| msgid "&Annotations" +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "&Annota" + +#~| msgid "Highlight" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "Evidentia" + +#~| msgid "Underline" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Underline" +#~ msgstr "Sublinea" + +#~| msgid "Squiggle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Squiggle" +#~ msgstr "Linea a serpentin" + +#~| msgid "Strike Out" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Strike Out" +#~ msgstr "Strike Out" + +#~| msgid "Insert Text" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "Inserta Texto" + +#~| msgid "Inline Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "Inserta Nota in linea" + +#~| msgctxt "@action:intoolbar Annotation tool" +#~| msgid "Popup Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "Inserta Nota de popup" + +#~| msgctxt "Annotation tool" +#~| msgid "Draw a freehand line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Freehand Line" +#~ msgstr "Designa linea a mano libere" + +#~| msgctxt "Annotation tool" +#~| msgid "Draw a straight line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Straight line" +#~ msgstr "Designa linea recte" + +#~| msgid "Arrow" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Arrow" +#~ msgstr "Dessigna flecha" + +#~| msgctxt "Annotation tool" +#~| msgid "Draw a rectangle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Rectangle" +#~ msgstr "Designa un rectangulo" + +#~| msgid "Cyan Ellipse" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Ellipse" +#~ msgstr "Ellipse" + +#~| msgid "Polygon" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Polygon" +#~ msgstr "Dessigna Polygono" + +#~| msgid "Highlighter" +#~ msgid "Highlight in Yellow" +#~ msgstr "Evidentia in jalne" + +#~| msgid "Highlight with Comment" +#~ msgid "Highlight in Green" +#~ msgstr "Evidentia con verde" + +#~| msgid "Inline Note" +#~ msgid "Insert Inline Note" +#~ msgstr "Inserta Nota in linea" + +#~| msgctxt "@action:intoolbar Annotation tool" +#~| msgid "Popup Note" +#~ msgid "Insert Popup Note" +#~ msgstr "Inserta Nota de popup" + +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "&Selectiona Area" + +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "Selectiona &Texto" + +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "Selectiona T&abella" + +#~| msgid "&Magnifier" +#~ msgctxt "verb" +#~ msgid "&Magnify" +#~ msgstr "&Aggrandi" + +#~ msgid "Bookmark annotation" +#~ msgstr "Annotation de marcator de libro" + +#~ msgid "&Toggle Change Colors" +#~ msgstr "Commu&ta Cambia colores" + +#~ msgctxt "@option:check Config dialog, presentation page, transitions" +#~ msgid "Enable transitions" +#~ msgstr "Habilita transitiones" + +#, fuzzy +#~| msgid "Advance every:" +#~ msgctxt "@label:spinbox Config dialog, presentation page" +#~ msgid "Advance every:" +#~ msgstr "Avantia cata:" + +#, fuzzy +#~| msgid "Use custom background color" +#~ msgctxt "@label:listbox Config dialog, general page" +#~ msgid "Custom background color:" +#~ msgstr "Usa color de fundo personalisate" + +#~ msgid "Draw border around &Images" +#~ msgstr "Designa bordo circa &imagines" + +#~ msgid "Speech" +#~ msgstr "Voce" + +#~ msgid "Engine" +#~ msgstr "Motor" + +#~ msgid "Identity" +#~ msgstr "Identitate" + +#~ msgid "Au&thor:" +#~ msgstr "Au&tor:" + +#~ msgid "View Options" +#~ msgstr "Optiones de vista" + +#~ msgctxt "@info:whatsthis" +#~ msgid "" +#~ "Defines the default zoom mode for files which were never opened before.\n" +#~ "For files which were opened before the previous zoom is applied." +#~ msgstr "" +#~ "Il define le modo de zoom predefinite pro file que jammais esseva aperite " +#~ "ante.\n" +#~ "Pro files que esseva aperite ante il applica le previe zoom." + +#~ msgid "Navigation" +#~ msgstr "Navigation" + +#~ msgid "Placement" +#~ msgstr "Placiamento" + +#~ msgid "Screen:" +#~ msgstr "Schermo:" + +#~ msgid "Drawing Tool Configuration" +#~ msgstr "Configuration deinstrumento de designar" + +#~ msgid "&Get Books From Internet..." +#~ msgstr "&Obtene libros ex internet..." + +#~ msgid "Reviews" +#~ msgstr "Revisiones" + +#, fuzzy +#~| msgid "V%1" +#~ msgctxt "@item:inlistbox Color name" +#~ msgid "%1" +#~ msgstr "V%1" + +#~ msgid "Hide Forms" +#~ msgstr "Cela formularios" + +#~ msgid "&Review" +#~ msgstr "&Revide" + +#~ msgid "Annotations author" +#~ msgstr "Autor de annotation" + +#~ msgid "Please insert your name or initials:" +#~ msgstr "Pro favor inserta tu nomine o initiales:" + +#~ msgid "Show &Navigation Panel" +#~ msgstr "Monstra pannello de &navigation" + +#~ msgid "Show Text" +#~ msgstr "Monstra texto" + +#~ msgid "Small Icons" +#~ msgstr "Icones parve" + +#~ msgid "Large Icons" +#~ msgstr "Icones grande" + +#~ msgid "" +#~ "Click to use the current selection tool\n" +#~ "Click on the arrow to choose another selection tool" +#~ msgstr "" +#~ "Pulsa pro usar le instrumento de selection currente\n" +#~ "Pulsa sur le flecha pro seliger un altere instrumento de selection" + +#~ msgid "Created: %1" +#~ msgstr "Create: %1" + +#~ msgid "Style" +#~ msgstr "Stilo" + +#~ msgid "&Size:" +#~ msgstr "Dimen&sion:" + +#~ msgid "Inner color:" +#~ msgstr "Color Interne:" + +#~ msgid "Name: %1" +#~ msgstr "Nomine: %1" + +#~ msgid "Size: %1" +#~ msgstr "Dimension: %1" + +#~ msgid "&Browse Tool" +#~ msgstr "Instrumento de &navigation" + +#~ msgid "&Zoom Tool" +#~ msgstr "Instrumento de &Zoom" + +#~ msgctxt "Zoom Tool" +#~ msgid "Zoom" +#~ msgstr "Zoom" + +#~ msgctxt "Select Tool" +#~ msgid "Selection" +#~ msgstr "Selection" + +#~ msgid "&Text Selection Tool" +#~ msgstr "Instrumento de selection de &Texto" + +#~ msgid "T&able Selection Tool" +#~ msgstr "Instrumento de selection de t&abula" + +#, fuzzy +#~| msgctxt "Symbol for caret annotations" +#~| msgid "None" +#~ msgid " None" +#~ msgstr "Necun" + +#~ msgid "" +#~ "The document requested to be launched in presentation mode.\n" +#~ "Do you want to allow it?" +#~ msgstr "" +#~ "Le documento requiriva esser lanceate de modo presentation.\n" +#~ "Tu vole permitter lo?" + +#~ msgid "Presentation Mode" +#~ msgstr "Modo de presentation" + +#~ msgid "Allow the presentation mode" +#~ msgstr "Permitte l emodo de presentation" + +#~ msgid "Do Not Allow" +#~ msgstr "Non permitte" + +#~ msgid "Do not allow the presentation mode" +#~ msgstr "Non permitte le modo de presentation" + +#~ msgid "" +#~ "Your annotation changes will not be saved automatically. Use File -> Save " +#~ "As...\n" +#~ "or your changes will be lost once the document is closed" +#~ msgstr "" +#~ "Tu cambios de annotation non essera salveguardate automaticamente. Usa " +#~ "File-> Salveguarda como..\n" +#~ "O tu modificationes essera perdite un vice que le deocumento es claudite." + +#~ msgid "" +#~ "Your annotations are saved internally by Okular.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" +#~ msgstr "" +#~ "Tu annotationes es salveguardate internemente per Okular.\n" +#~ "Tu pote exportar le documento annotate per usar File -> Exporta como -> " +#~ "Archivo de documento" + +#~ msgid "Save &Copy As..." +#~ msgstr "Salveguarda &Copia como..." + +#~ msgid "" +#~ "Your annotations will not be exported.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" +#~ msgstr "" +#~ "Tu annotationes non essera exportate.\n" +#~ "Tu pote exportar le documento annotate per usar File -> Exporta como -> " +#~ "Archivo de documento" + +#~ msgid "" +#~ "End of document reached.\n" +#~ "Continue from the beginning?" +#~ msgstr "" +#~ "Fin de documento attingite.\n" +#~ "On continua ab le initio?" + +#~ msgid "" +#~ "Beginning of document reached.\n" +#~ "Continue from the bottom?" +#~ msgstr "" +#~ "Initio de documento attingite.\n" +#~ "On continua ab le fin?" + +#~ msgid "Current maintainer" +#~ msgstr "Mantenitor Currente" + +#~ msgid " sec." +#~ msgstr "sec." + +#~ msgid "Pencil color:" +#~ msgstr "Color de stilo:" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A0" +#~ msgstr "horizontal (landscape) DIN/ISO A0" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A0" +#~ msgstr "vertical (portrait) DIN/ISO A0" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A1" +#~ msgstr "horizontal (landscape) DIN/ISO A1" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A1" +#~ msgstr "vertical (portrait) DIN/ISO A1" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A2" +#~ msgstr "horizontal (landscape) DIN/ISO A2" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A2" +#~ msgstr "vertical (portrait) DIN/ISO A2" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A3" +#~ msgstr "horizontal (landscape) DIN/ISO A3" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A3" +#~ msgstr "vertical (portrait) DIN/ISO A3" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A4" +#~ msgstr "horizontal (landscape) DIN/ISO A4" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A4" +#~ msgstr "vertical (portrait) DIN/ISO A4" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A5" +#~ msgstr "horizontal (landscape) DIN/ISO A5" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A5" +#~ msgstr "vertical (portrait) DIN/ISO A5" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A6" +#~ msgstr "horizontal (landscape) DIN/ISO A6" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A6" +#~ msgstr "vertical (portrait) DIN/ISO A6" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A7" +#~ msgstr "horizontal (landscape) DIN/ISO A7" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A7" +#~ msgstr "vertical (portrait) DIN/ISO A7" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A8" +#~ msgstr "horizontal (landscape) DIN/ISO A8" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A8" +#~ msgstr "vertical (portrait) DIN/ISO A8" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A9" +#~ msgstr "horizontal (landscape) DIN/ISO A9" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A9" +#~ msgstr "vertical (portrait) DIN/ISO A9" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B0" +#~ msgstr "horizontal (landscape) DIN/ISO B0" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B0" +#~ msgstr "vertical (portrait) DIN/ISO B0" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B1" +#~ msgstr "horizontal (landscape) DIN/ISO B1" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B1" +#~ msgstr "vertical (portrait) DIN/ISO B1" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B2" +#~ msgstr "horizontal (landscape) DIN/ISO B2" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B2" +#~ msgstr "vertical (portrait) DIN/ISO B2" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B3" +#~ msgstr "horizontal (landscape) DIN/ISO B3" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B3" +#~ msgstr "vertical (portrait) DIN/ISO B3" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B4" +#~ msgstr "horizontal (landscape) DIN/ISO B4" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B4" +#~ msgstr "vertical (portrait) DIN/ISO B4" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B5" +#~ msgstr "horizontal (landscape) DIN/ISO B5" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B5" +#~ msgstr "vertical (portrait) DIN/ISO B5" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B6" +#~ msgstr "horizontal (landscape) DIN/ISO B6" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B6" +#~ msgstr "vertical (portrait) DIN/ISO B6" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B7" +#~ msgstr "horizontal (landscape) DIN/ISO B7" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B7" +#~ msgstr "vertical (portrait) DIN/ISO B7" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B8" +#~ msgstr "horizontal (landscape) DIN/ISO B8" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B8" +#~ msgstr "vertical (portrait) DIN/ISO B8" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B9" +#~ msgstr "horizontal (landscape) DIN/ISO B9" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B9" +#~ msgstr "vertical (portrait) DIN/ISO B9" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B10" +#~ msgstr "horizontal (landscape) DIN/ISO B10" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B10" +#~ msgstr "vertical (portrait) DIN/ISO B10" + +#~ msgctxt "paper size" +#~ msgid "landscape letter" +#~ msgstr "horizontal (landscape) littera" + +#~ msgctxt "paper size" +#~ msgid "portrait letter" +#~ msgstr "vertical (portrait) littera" + +#~ msgctxt "paper size" +#~ msgid "landscape legal" +#~ msgstr "horizontal (landscape) legal" + +#~ msgctxt "paper size" +#~ msgid "portrait legal" +#~ msgstr "vertical (portrait) legal" + +#~ msgctxt "paper size" +#~ msgid "landscape executive" +#~ msgstr "horizontal (landscape) executive" + +#~ msgctxt "paper size" +#~ msgid "portrait executive" +#~ msgstr "vertical (portrait) executive" + +#~ msgctxt "paper size" +#~ msgid "landscape Comm10E" +#~ msgstr "horizontal (landscape) Comm10E" + +#~ msgctxt "paper size" +#~ msgid "portrait Comm10E" +#~ msgstr "vertical (portrait) Comm10E" + +#~ msgctxt "paper size" +#~ msgid "landscape DLE" +#~ msgstr "horizontal (landscape) DLE" + +#~ msgctxt "paper size" +#~ msgid "portrait DLE" +#~ msgstr "vertical (portrait) DLE" + +#~ msgctxt "paper size" +#~ msgid "landscape folio" +#~ msgstr "folio horizontal (landscape)" + +#~ msgctxt "paper size" +#~ msgid "portrait folio" +#~ msgstr "folio vertical (portrait)" + +#~ msgctxt "paper size" +#~ msgid "ledger" +#~ msgstr "libro major" + +#~ msgctxt "paper size" +#~ msgid "tabloid" +#~ msgstr "tabloid" + +#~ msgctxt "paper size" +#~ msgid "unknown landscape paper size" +#~ msgstr "grandor de papiro horizontal (landscape) incognite" + +#~ msgctxt "paper size" +#~ msgid "unknown portrait paper size" +#~ msgstr "dimension de papiro vertical (portrait) incognite" + +#~ msgid "Toggle Drawing Mode" +#~ msgstr "Commuta modo de designar" + +#~ msgid "Starting Jovie Text-to-Speech service Failed: %1" +#~ msgstr "Il falleva a initiar le servicio texto-a-Voce Jovie: %1" + +#~ msgid "Search Columns" +#~ msgstr "Cerca columnas" + +#~ msgid "All Visible Columns" +#~ msgstr "Tote le columnas visibile" + +#~ msgid "No document opened." +#~ msgstr "Necun documento aperite" + +#~ msgid "Can't open more than one document in the unique Okular instance." +#~ msgstr "" +#~ "Il non pote aperir plus que un documento in le instantia de unic de " +#~ "Okular." + +#~ msgid "No matches found for '%1'." +#~ msgstr "Necun Objecto equal trovate pro '%1'." + +#~ msgid "Search in progress..." +#~ msgstr "Cerca in progresso..." + +#~ msgid "Searching for %1" +#~ msgstr "Cercante %1" + +#~ msgid "Identity Settings" +#~ msgstr "Preferentias de identitate" + +#~ msgid "Highlight Properties" +#~ msgstr "Proprietates de evidentiation" + +#~ msgid "Ink Properties" +#~ msgstr "Proprietates de tinta" + +#~ msgctxt "Annotation tool" +#~ msgid "Text Annotation" +#~ msgstr "Annotation de texto" + +#~ msgctxt "Annotation tool" +#~ msgid "Green Ink" +#~ msgstr "Tinta verde" + +#~ msgctxt "Annotation tool" +#~ msgid "Yellow Highlight" +#~ msgstr "Evidentia in jalne" + +#~ msgctxt "Annotation tool" +#~ msgid "Straight Yellow Line" +#~ msgstr "Linea jalne recte" + +#~ msgid "Black Underlining" +#~ msgstr "Sublinea nigre" + +#~ msgctxt "Annotation tool" +#~ msgid "Underline the text with a black line" +#~ msgstr "Sublinea le texto con un linea nigre" + +#~ msgctxt "Annotation tool" +#~ msgid "A cyan ellipse" +#~ msgstr "Un ellipse azur" + +#~ msgid "Ink" +#~ msgstr "Tinta" diff --git a/po/ia/okular_comicbook.po b/po/ia/okular_comicbook.po new file mode 100644 index 0000000..2035414 --- /dev/null +++ b/po/ia/okular_comicbook.po @@ -0,0 +1,57 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Giovanni Sora , 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-09-27 10:26+0100\n" +"Language-Team: Interlingua \n" +"Language: ia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Giovanni Sora" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "g.sora@tiscali.it" + +#: document.cpp:97 +#, kde-format +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "Non pote aperir documento, il non trovava ni unrar ni unarchiver." + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "" +"Le version de unrar sur tu systema non es convenibile pro aperir libros de " +"comic" + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "Formato incognite de libros de comic" + +#~ msgid "ComicBook Backend" +#~ msgstr "Retro-Administration de libros de comic" + +#~ msgid "A renderer for various comic book formats" +#~ msgstr "Un rendition pro varie formatos de libros comic" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/ia/okular_djvu.po b/po/ia/okular_djvu.po new file mode 100644 index 0000000..61b2183 --- /dev/null +++ b/po/ia/okular_djvu.po @@ -0,0 +1,135 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Giovanni Sora , 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-02-07 10:35+0100\n" +"Last-Translator: Giovanni Sora \n" +"Language-Team: Interlingua \n" +"Language: ia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 1.4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Giovanni Sora" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "g.sora@tiscali.it" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "Editor" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "Editor (Publisher)" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "Tomo" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "Typo de documento" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "Incognite" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "Files de componente" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "Incognite" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "Pagina singule" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "Impacchettate" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "Indirecte" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "Impacchettate(vetere)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "Indicisate (vetere)" + +#~ msgid "DjVu Backend" +#~ msgstr "Retro-Administration de DjVu" + +#~ msgid "DjVu backend based on DjVuLibre." +#~ msgstr "Retro-Administration de DjVu basate sur DjVuLibre." + +#~ msgid "© 2006-2008 Pino Toscano" +#~ msgstr "© 2006-2008 Pino Toscano" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgctxt "Unknown title" +#~ msgid "Unknown" +#~ msgstr "Incognite" + +#~ msgctxt "Unknown author" +#~ msgid "Unknown" +#~ msgstr "Incognite" + +#~ msgctxt "Unknown editor" +#~ msgid "Unknown" +#~ msgstr "Incognite" + +#~ msgctxt "Unknown publisher" +#~ msgid "Unknown" +#~ msgstr "Incognite" + +#~ msgctxt "Unknown creation date" +#~ msgid "Unknown" +#~ msgstr "Incognite" + +#~ msgctxt "Unknown volume information" +#~ msgid "Unknown" +#~ msgstr "Incognite" + +#~ msgctxt "Unknown type of document" +#~ msgid "Unknown" +#~ msgstr "Incognite" diff --git a/po/ia/okular_dvi.po b/po/ia/okular_dvi.po new file mode 100644 index 0000000..b6bb210 --- /dev/null +++ b/po/ia/okular_dvi.po @@ -0,0 +1,756 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# SPDX-FileCopyrightText: 2013, 2014, 2021, 2024, 2025 Giovanni Sora +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-09-02 17:19+0200\n" +"Last-Translator: giovanni \n" +"Language-Team: Interlingua \n" +"Language: ia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 23.08.5\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Giovanni Sora" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "g.sora@tiscali.it" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

" +msgstr "" +"

Okular poterea non locar le programma dvipdfmsur tu " +"computator. Isto programma es essential proque le function de exportar " +"functiona. Totevia, tu pote converter le file DVI in PDF per usar le " +"function de imprimer de Okular, ma illo producera un documento que essera " +"imprimite ben, ma que il essera de qualitate inferior si visualisate con " +"Acrobat Reader. Il poterea esser bon cosa actualisar tu version de " +"distribution de TeX que includerea un version plus recente del programma " +"dvipdfm.

Insinuation pro un administrator de systema " +"perplexe: Okular usa le variabile de ambiente PATH quando il cerca " +"programmas.

" + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Le programma externe 'dvipdfm', que esseva usate pro exportar le file, " +"reportava un error. Tu poterea desirar guardar le dialogo de info de " +"documento que tu trovara in le Menu de file pro un precise reporto " +"de error." + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" +"Iste file DVI refere se al files graphic externe que non es in formato " +"PostScript, e que non pote esser maneate per le programma dvips que " +"Okular usa internemente pro imprimer o exportar in PostScript. Le " +"functionalitate que tu require ergo non es disponibile in iste version de " +"Okular." + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

" +msgstr "" +"

Okular non poteva locar le programma dvips sur tu " +"computator. Celle programma es essential proque le function de exportar pote " +"functionar.

I

Insinuation pro le administrator de systema perplexe: " +"Okular usa le variabile de ambiente PATH quando il cerca programmas.

" + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Le programma externe 'dvips', que esseva usate pro exportar le file, " +"reportava un error. Tu poterea desirar guardar le dialogo de info de " +"documento que tu trovara in le Menu de file pro un precise reporto " +"de error." + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "Le file DVI initia con le preambulo." + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" +"Le file DVI contine le version errate de exito de DVI pro iste programma. " +"Insinuation: si tu usa le systema de dactylographar Omega, tu debe usar un " +"programma special tal como oxdvi." + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "" +"Le file DVI es corrumpite de mal modo. Okular non esseva capace de trovar " +"le postambulo." + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "Le postambulo non initia con le commando POST." + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "Le posambulo contineva un commando a parte que FNTDEF." + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "Le pagina %1 non initia con le commando BOP." + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

PATH: %2

" +msgstr "" +"

Le programma externe pdf2ps non poteva esser " +"initiate. Como exito, le file-PDF %1 non poteva esser convertite a " +"PostScript. Alcun elementos graphic in tu documento dunque non essera " +"monstrate.

Possibile ration: Le programma pdf2ps poterea non esser installate sur tu systema, o non pote esser " +"trovate in le percurso currente de cerca.

Cosa tu pote facer: " +"Le programma pdf2ps normalmente es continite in " +"distributiones del systema interprete de PostScript ghostscript. Si " +"ghostscript non es installate sur tu systema, tu poterea installar lo nunc. " +"Si tu es secur que ghostscript es installate, essaya usar pdf2ps ab le linea de commando pro verificar si illo functiona vermente.

PATH: %2

" + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

%2

" +msgstr "" +"

Le file-PDF %1 non poteva esser convertite in PostScript. Alcun " +"elementos graphic in tu documento dunque non essera monstrate.

Possibile ration: Le file %1 poterea esser corrumpite, o " +"poterea non esser un file-PDF del toto. Isto es le exito del programma " +"pdf2ps que Okular usava:

%2

" + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "Corruption de file. %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "Non omne files Postscript poterea esser includite in tu documento, %1" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "Omne files externe de Postscript esseva includite in tu documento," + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "Le commando specificate '%1' non es actuate." + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" +"Tu demandava Okular de locar le placia in le file DVI que corresponde al " +"rango %1 il le file de TeX %2. Totevia, il sembla que le file DVI non " +"contine le necessari information de file de fonte. " + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" +"Okular esseva incapace de locar le placia del file DVI que corresponde al " +"rango %1 in le file de TeX %2." + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "Le codice DVI fixava un character de un font incognite." + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "" +"Le codice de DVI refereva al font #%1, que non esseva definite previemente." + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "Le pila non esseva vacue quando on incontrava le commando EOP." + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "Le pila non esseva vacue quando on incontrava le commando POP." + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "" +"Le codice de DVI refereva aun font que non esseva definite previemente." + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "Il incontrava un commando illegal." + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "Il incontrava le op-code incognite %1." + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "&Embedding (Il lo pone interne) %1" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
" +msgstr "" +"Pagina %1: Le file PDF %2non pote esser convertite a " +"PostScript.
" + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
" +msgstr "" +"Pagina %1: Le file Postscript %2 non poteva esser trovate." +"
" + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "" +"Le dato de dimension de papiro (papersize) '%1' non poteva esser analysate." + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

PATH: %1

%2

" +msgstr "" +"

Okular non esseva capace de locar omne files de font que es necessari " +"pro monstrar le file DVI currente. Tu documento poterea esser illegibile.

PATH: %1

%2

" + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

PATH: %1

%2

" +msgstr "" +"

Il habeva un problema quando on executava kpsewhich. Como " +"resultato, alcun files de fonte non poterea esser locate, e tu documento " +"poterea esser illegibile.
Motivation possibile: Le programma " +"kpsewhich forsan non es installate sur tu systema, o il non pote " +"esser trovate in le percurso de cerca.

PATH; %1

%2

" + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" +"Le generation de font per kpsewhich esseva abortate (codice de " +"exito %1, error %2). Como exito, alcun files de font non poterea esser " +"locate, e tu documento poterea esser illegibile." + +#: fontpool.cpp:482 +#, kde-format +msgid "Currently generating %1 at %2 dpi…" +msgstr "Currentemente generante %1 a %2 dpi…" + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "Generator/Data" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "File de font non trovate" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "%1 × %2" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "%1 × %2 mm" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "%1 × %2 in" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "vertical" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "horizontal" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" +"Le version de Ghostview que es installate sur iste computator non contine " +"alcun del drivers de dispositivo de Ghostsript que es conoscite per Okular. " +"Supporto de Postscript, dunque, ha essite dishabilitate in Okular" + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "Isto da 25 errores. Ulterior messages de errores non essera imprimite." + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" +"Error in file DVI '%1', pagina %2. Commando de pop de color emettite quando " +"le pila de color es vacue." + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" +"Paramatro malformate in le commando special epsf.\n" +"On expectava que un float sequeva %1 in %2" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"File non trovate:\n" +" %1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" +"Errot in file DVI '%1', pagina %2. Il non pote interpretar le angulo in le " +"special rotation de texto." + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "Le commando special '%1' non es actuate." + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" +"Le file de font %1 poteva esser aperite e legite, ma su formato de font non " +"es supportate." + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "" +"Le file de font %1 es imperfecte, o il non poteva esser aperite o legite." + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" +"FreeType reportava un error quando on fixava le grandor de character per le " +"file de font %1." + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "FreeType es incapace de cargar glypho #%1 ex file de font %2." + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "FreeType es incapace de render glypho #%1 ex file de font %2." + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "Glypho #%1 es vacue." + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "Glypho #%1 ex fil de font %2 es vacue." + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "" +"FreeType es incapace de cargar metric pro glypho #%1 ex file de font %2." + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "Il non pote aperir file de font %1." + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "TexFont_PK::operator[]: Character %1 non definite in font %2" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "Inexpectate %1 in file PK %2" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "Le character %1 es troppo grande in le file %2" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "Numero errate de bits immagazinate: char. %1, font %2" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "Mal file PK (%1), nimie bits" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "Font non ha proportiones non-quadrate " + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "Il non pote trovar font %1, file %2." + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "Discrepantia de summa de controlo pro le file de font %1" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "Non pote recognoscer formato pro fil de font %1" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"Error fatal.\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" +"\n" +"\n" +"Isto probabilemente significa que o tu ha trovate un falta in Okular,\n" +"o que le file DVI, o su files auxiliari (tal como files de font, o files de\n" +"font virtual) esseva vermente corrumpite de mal modo.\n" +"Okular abortara post iste message. Si tu crede que tu ha trovate\n" +"un falta, o que Okular deberea comportar se de modo melior in\n" +"iste situation pro favor tu reporta le problema." + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "Il trovava byte de commando errate in lista de macro VF %1" + +#~ msgid "" +#~ "

The Ghostview program, which Okular uses internally to display the " +#~ "PostScript graphics that is included in this DVI file, is generally able " +#~ "to write its output in a variety of formats. The sub-programs that " +#~ "Ghostview uses for these tasks are called 'device drivers'; there is one " +#~ "device driver for each format that Ghostview is able to write. Different " +#~ "versions of Ghostview often have different sets of device drivers " +#~ "available. It seems that the version of Ghostview that is installed on " +#~ "this computer does not contain any of the device drivers " +#~ "that are known to Okular.

It seems unlikely that a regular " +#~ "installation of Ghostview would not contain these drivers. This error may " +#~ "therefore point to a serious misconfiguration of the Ghostview " +#~ "installation on your computer.

If you want to fix the problems with " +#~ "Ghostview, you can use the command gs --help to display " +#~ "the list of device drivers contained in Ghostview. Among others, Okular " +#~ "can use the 'png256', 'jpeg' and 'pnm' drivers. Note that Okular needs to " +#~ "be restarted to re-enable PostScript support.

" +#~ msgstr "" +#~ "

Le programma Ghostview, que Okular usa internemente pro monstrar " +#~ "le graphicos de PostScript que es includite in iste file DVI, es " +#~ "generalmente capace de scriber su exitos in un varietate de formatos. Le " +#~ "sub-programmas que Ghostview usa pro iste cargas es appellate ' device " +#~ "drivers' (drivers de dispositivo), il ha un device driver pro omne " +#~ "formato que Ghostview es capace de scriber. Versiones differente de " +#~ "Ghostview sovente ha differente insimules de device drivers disponibile. " +#~ "Il appare que le version de Ghostview que es installate sur iste " +#~ "computator non contine alcun del device drivers que es " +#~ "cognoscite ab Okular.

Il appare improbabile que un installation " +#~ "regular de Ghostview non contine iste drivers. Dunque iste error pote " +#~ "indicar un serie mal configuration del installation de Ghostscript sur tu " +#~ "computator.

Si tu vole fixar le problemas con Gjostview, tu pote " +#~ "usar le commando gs --help pro monstrar le lista de " +#~ "device drivers continite in Ghostview. Inter alteres, Okular pote usar le " +#~ "drivers 'png256','jpeg' e 'pnm'. Nota que okular necessita un re-initio " +#~ "pro re-habilitar le supporto de PostScript.

" + +#~ msgid "DVI Backend" +#~ msgstr "Retro-administration de DVI" + +#~ msgid "A DVI file renderer" +#~ msgstr "Un renditor de file de DVI" + +#~ msgid "© 2006 Luigi Toscano" +#~ msgstr "© 2006 Pino Toscano" + +#~ msgid "" +#~ "

Okular relies on the kpsewhich program to locate font files on " +#~ "your hard disk and to generate PK fonts, if necessary.

" +#~ msgstr "" +#~ "

Okular conta super le programma kpsewhich pro locar files de " +#~ "font sur tu disco dur e pro generar fonts PK, si necessari.

" + +#~ msgid "Okular is currently generating bitmap fonts..." +#~ msgstr "Okular es currentemente generante fonts de bitmap..." + +#~ msgid "Aborts the font generation. Do not do this." +#~ msgstr "Aborta le generation de font. Non facer isto." + +#~ msgid "" +#~ "Okular is currently generating bitmap fonts which are needed to display " +#~ "your document. For this, Okular uses a number of external programs, such " +#~ "as MetaFont. You can find the output of these programs later in the " +#~ "document info dialog." +#~ msgstr "" +#~ "Okular es currentemente generante fonts de bitmap que es necessari pro " +#~ "monstrar tu documento. Pro isto, Okular usa un quantitate de programmas " +#~ "externe, tal como MetaFont. Tu pote trovar le exito de iste programmas " +#~ "plus tarde in le dialogo de information de documento." + +#~ msgid "Okular is generating fonts. Please wait." +#~ msgstr "Okular es currentemente generante fonts. Pro favor tu attende." + +#~ msgid "Font Generation Progress Dialog" +#~ msgstr "Dialogo de progresso de generation de font" + +#~ msgid "Abort" +#~ msgstr "Aborta" + +#~ msgid "What is happening here?" +#~ msgstr "Cosa accade hic?" + +#~ msgid "%v of %m" +#~ msgstr "%v de %m" + +#~ msgid "Please be patient" +#~ msgstr "Pro favor, tu sia patiente" + +#~ msgid "*.pdf|Portable Document Format (*.pdf)" +#~ msgstr "*.pdf|Portable Document Format (*.pdf)" + +#~ msgid "Export File As" +#~ msgstr "Exporta file como" + +#~ msgid "" +#~ "The file %1\n" +#~ "exists. Do you want to overwrite it?" +#~ msgstr "" +#~ "Le file %1\n" +#~ "existe. Tu vole super scriber lo?" + +#~ msgid "Overwrite File" +#~ msgstr "Super scribe file" + +#~ msgid "Overwrite" +#~ msgstr "Super scribe" + +#~ msgid "Using dvipdfm to export the file to PDF" +#~ msgstr "Usante dvipdfm pro exportar le file in PDF" + +#~ msgid "" +#~ "Okular is currently using the external program 'dvipdfm' to convert your " +#~ "DVI-file to PDF. Sometimes that can take a while because dvipdfm needs to " +#~ "generate its own bitmap fonts Please be patient." +#~ msgstr "" +#~ "Okular currentemente es usante le programma externe 'dvipdfm' pro " +#~ "converter tu file DVI in PDF. Tal vice illo pote prender un pauc de " +#~ "tempore proque dvipdfm necessita generar su proprie font de bitmap. Tu " +#~ "sia patiente, pro favor." + +#~ msgid "Waiting for dvipdfm to finish..." +#~ msgstr "Attendente que dvipdfm fini ..." + +#~ msgid "*.ps|PostScript (*.ps)" +#~ msgstr "*ps|PostScript (*.ps)" + +#~ msgid "Using dvips to export the file to PostScript" +#~ msgstr "usante dvips pro exportar le file a PostScript" + +#~ msgid "" +#~ "Okular is currently using the external program 'dvips' to convert your " +#~ "DVI-file to PostScript. Sometimes that can take a while because dvips " +#~ "needs to generate its own bitmap fonts Please be patient." +#~ msgstr "" +#~ "Okular currentemente es usante le programma externe 'dvips' pro converter " +#~ "tu file DVI in PostScript. Tal vice illo pote prender un pauc de tempore " +#~ "proque dvipdfm necessita generar su proprie font de bitmap. Tu sia " +#~ "patiente, pro favor." + +#~ msgid "Waiting for dvips to finish..." +#~ msgstr "Attendente que dvips fini ..." + +#~ msgid "Functionality Unavailable" +#~ msgstr "Functionalitate non disponibile" + +#~ msgid "" +#~ "File corruption Okular could not interpret your DVI " +#~ "file. This is most commonly caused by a corrupted file." +#~ msgstr "" +#~ "Corruption de file Okular non pteva interpretar tu " +#~ "file DVI. Isto es plus communemente causate per un file corrupte." + +#~ msgid "DVI File Error" +#~ msgstr "Error de file de DVI" + +#~ msgid "Not All Font Files Found" +#~ msgstr "Il non trovava omne files de font." + +#~ msgid "Locating fonts..." +#~ msgstr "Locante fonts..." + +#~ msgid "" +#~ "

There were problems running kpsewhich. As a result, some font " +#~ "files could not be located, and your document might be unreadable.

Possible reason: The kpsewhich program is perhaps not " +#~ "installed on your system, or it cannot be found in the current search " +#~ "path.

What you can do: The kpsewhich program is normally " +#~ "contained in distributions of the TeX typesetting system. If TeX is not " +#~ "installed on your system, you could install the TeX Live distribution " +#~ "(www.tug.org/texlive). If you are sure that TeX is installed, please try " +#~ "to use the kpsewhich program from the command line to check if it really " +#~ "works.

" +#~ msgstr "" +#~ "

Il habeva problemas quando on executava kpsewhich. Como exito, " +#~ "alcun files non poteva esser locate, e tu documento poterea esser " +#~ "illegibile.

Ration possibile: Le programma kpsewhich forsan " +#~ "non es installate sur tu systema, o il non pote esser trovate in le " +#~ "percurso currente de cerca.

Cosa tu pote facer: Le programma " +#~ "kpsewhich normalmente es continite in distributiones del systema de " +#~ "dactylographar TeX. Si TeX non es installate sur tu systema, tu poterea " +#~ "installar le distribution TexLive (www.tug.org/texlive). Si tu es secur " +#~ "que TeX es installate, pro favor tu essaya usar le programma kpsewhich ab " +#~ "le linea de commando pro overificar si illo functiona realmente.

" + +#~ msgid "Problem locating fonts" +#~ msgstr "Il ha problemas durante que on locava fonts" + +#~ msgid "Font generation aborted" +#~ msgstr "Generation de font abortite" + +#~ msgid "Export: %1 to PDF" +#~ msgstr "Exporta %1 a PDF" + +#~ msgid "Export: %1 to PostScript" +#~ msgstr "Exporta: %1 a PostScript" diff --git a/po/ia/okular_epub.po b/po/ia/okular_epub.po new file mode 100644 index 0000000..03bfdee --- /dev/null +++ b/po/ia/okular_epub.po @@ -0,0 +1,55 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Giovanni Sora , 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-05-21 18:59+0200\n" +"Last-Translator: Giovanni Sora \n" +"Language-Team: Interlingua \n" +"Language: ia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 1.5\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Giovanni Sora" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "g.sora@tiscali.it" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "Error durante que on aperiva le documento EPub." + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "EPub" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "Retro-Administration de configuration de EPub" + +#~ msgid "EPub Backend" +#~ msgstr "Retro-Administration de EPub" + +#~ msgid "An EPub backend" +#~ msgstr "Un retro-administration de EPub" + +#~ msgid "© 2008 Ely Levy" +#~ msgstr "© 2008 Ely Levy" + +#~ msgid "Ely Levy" +#~ msgstr "Ely Levy" diff --git a/po/ia/okular_fax.po b/po/ia/okular_fax.po new file mode 100644 index 0000000..573c12e --- /dev/null +++ b/po/ia/okular_fax.po @@ -0,0 +1,45 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Giovanni Sora , 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-02-07 10:36+0100\n" +"Last-Translator: Giovanni Sora \n" +"Language-Team: Interlingua \n" +"Language: ia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 1.4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Giovanni Sora" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "g.sora@tiscali.it" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "Incapace de cargar documento" + +#~ msgid "Fax Backend" +#~ msgstr "Retro-Administration de fax" + +#~ msgid "A G3/G4 fax document backend" +#~ msgstr "UN retro-administration de documento fax G3/G4" + +#~ msgid "© 2008 Tobias Koenig" +#~ msgstr "© 2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/ia/okular_fictionbook.po b/po/ia/okular_fictionbook.po new file mode 100644 index 0000000..69c8011 --- /dev/null +++ b/po/ia/okular_fictionbook.po @@ -0,0 +1,80 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Giovanni Sora , 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-05-21 19:00+0200\n" +"Last-Translator: Giovanni Sora \n" +"Language-Team: Interlingua \n" +"Language: ia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 1.5\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Giovanni Sora" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "g.sora@tiscali.it" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "Le docuemnto non es un valide FictionBook" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "Incapace de aperir documento: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "Documento non es un valide archivo ZIP" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "Structura de documento invalide (directorio principal es mancante)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "Il non trovava alcun contento in le documento" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "Invalide documento XML: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "Fiction Book" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "Configuration de retro administration de Fiction Book" + +#~ msgid "Fiction Book Backend" +#~ msgstr "Retro adminisration de Fiction Book" + +#~ msgid "A renderer for FictionBook eBooks" +#~ msgstr "Un rendition pro eBooks (Libros electronic) de FictionBook" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/ia/okular_ghostview.po b/po/ia/okular_ghostview.po new file mode 100644 index 0000000..a44612a --- /dev/null +++ b/po/ia/okular_ghostview.po @@ -0,0 +1,92 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Giovanni Sora , 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-02-07 10:39+0100\n" +"Last-Translator: Giovanni Sora \n" +"Language-Team: Interlingua \n" +"Language: ia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 1.4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Giovanni Sora" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "g.sora@tiscali.it" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "Usa fonts de platteforma" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"Determina si a Ghostscript deberea esser permittite de usar fonts de " +"platteforma, si false solmente le fonts includite in le documento essera " +"permittite." + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "Preferentias General" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "&Usa fonts de platteforma" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Configuration de retro-administration de Ghostscript" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "Version de documento" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "Nivello de linguage" + +#~ msgid "PS Backend" +#~ msgstr "Retro-Administration de PS" + +#~ msgid "A PostScript file renderer." +#~ msgstr "Un rendition de file de PostScript" + +#~ msgid "© 2007-2008 Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Based on the Spectre library." +#~ msgstr "Basate sur le bibliotheca Spectre." + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" diff --git a/po/ia/okular_kimgio.po b/po/ia/okular_kimgio.po new file mode 100644 index 0000000..810dc16 --- /dev/null +++ b/po/ia/okular_kimgio.po @@ -0,0 +1,69 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Giovanni Sora , 2013, 2020. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-05-10 21:14+0100\n" +"Last-Translator: Giovanni Sora \n" +"Language-Team: Interlingua \n" +"Language: ia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Giovanni Sora" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "g.sora@tiscali.it" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "Incapace de cargar documento: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" +"Iste documento appare malformate. Hic il ha un melior approximation del " +"apparentia intendite del documento." + +#~ msgid "Image Backend" +#~ msgstr "Retro-Administration de Image" + +#~ msgid "A simple image backend" +#~ msgstr "Un simplice retroadministration de image" + +#~ msgid "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" +#~ msgstr "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" + +#~ msgid "Main Toolbar" +#~ msgstr "Barra de instrumento principal" diff --git a/po/ia/okular_markdown.po b/po/ia/okular_markdown.po new file mode 100644 index 0000000..5e3d5ea --- /dev/null +++ b/po/ia/okular_markdown.po @@ -0,0 +1,52 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# giovanni , 2017. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-09-27 10:26+0100\n" +"Language-Team: Interlingua \n" +"Language: ia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Giovanni Sora" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "g.sora@tiscali.it" + +#: converter.cpp:59 converter.cpp:93 +#, kde-format +msgid "Failed to open the document" +msgstr "Falleva aperir le documento " + +#: converter.cpp:106 converter.cpp:124 +#, kde-format +msgid "Failed to compile the Markdown document." +msgstr "Falleva compilar le documento de Markdown." + +#: generator_md.cpp:58 +#, kde-format +msgid "Enable SmartyPants formatting" +msgstr "Habilita formattation de SmartyPants" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown" +msgstr "Markdown" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown Backend Configuration" +msgstr "Configuration de Retro-administration de Markdown" diff --git a/po/ia/okular_mobi.po b/po/ia/okular_mobi.po new file mode 100644 index 0000000..2846ff4 --- /dev/null +++ b/po/ia/okular_mobi.po @@ -0,0 +1,63 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Giovanni Sora , 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-05-21 19:01+0200\n" +"Last-Translator: Giovanni Sora \n" +"Language-Team: Interlingua \n" +"Language: ia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 1.5\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Giovanni Sora" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "g.sora@tiscali.it" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Error durante que on aperiva le documento Mobipocket." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "" +"Iste libro es protegite per DRM e pote esser monstrate solmente sur un " +"dispositivo designate" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "Mobipocket" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "Configuration de retro-administration de Mobipocket" + +#~ msgid "Mobipocket Backend" +#~ msgstr "Retro-administration de Mobipocket" + +#~ msgid "A mobipocket backend" +#~ msgstr "Un retro-administration de Mobipocket" + +#~ msgid "© 2008-2009 Jakub Stachowski" +#~ msgstr "© 2008-2009 Jakub Stachowski" + +#~ msgid "Jakub Stachowski" +#~ msgstr " Jakub Stachowski" diff --git a/po/ia/okular_poppler.po b/po/ia/okular_poppler.po new file mode 100644 index 0000000..ecbb97c --- /dev/null +++ b/po/ia/okular_poppler.po @@ -0,0 +1,428 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# SPDX-FileCopyrightText: 2013, 2020, 2021, 2023, 2025 Giovanni Sora +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-09-02 17:18+0200\n" +"Last-Translator: giovanni \n" +"Language-Team: Interlingua \n" +"Language: ia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 23.08.5\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Giovanni Sora" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "g.sora@tiscali.it" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "Habilita vista preliminar de super imprimer:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "Jammais" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "Sempre" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "Automatic" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "Intensifica lineas tenue:" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "No" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "Solido" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "Forma" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "Modo de scalar quando on imprime:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "Adapta a area imprimibile" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "Adapta a pagina complete" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "Necun; imprime grandor original" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" +"Habilitar iste option permittera que Okular contacta servitores de 3tie " +"partes per verificar si le certificate usate per signar digital ha essite " +"revocate a partir de lor creation." + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" +"Verifica revocation de certificatos de signaturas digital usante servitores " +"de 3tie partes" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "Retro Administration de signatura:" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" +"Iste signaturas pote solmente esser validate per usatores de moderne Okular " +"con retro administration de GnuPG activate" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "Permitte claves de PGP per signaturas (Extension de Okular)" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "Base de datos de certificato" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "Predefinite:" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "Personalisa:" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "Certificatos disponibile" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "Car&ga Signaturas" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "Optiones de PDF" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "Imprime annotationes" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "Include annotationes in le documento imprimite" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"Include annotationes in le documento imprimite. Tu pote dishabilitar isto si " +"tu vole imprimer le documento original sin annotationes." + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "Fortia le rasterization" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "rasteriza in un imagine ante imprimer" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"Fortia le rasterization de cata pagina in un image ante imprimer lo. Isto " +"usualmente da tal vice mal exitos, ma il es utile quando on imprime " +"documentos que pare imprimer se incorrectemente." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "Modo de scalar per le paginas imprimite" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "Modo de scalar:" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF v. %1.%2" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "Formato" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "Cryptate" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "Non cryptate" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "Securitate" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "Si" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "Optimisate" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Signate per: %1\n" +"\n" +"Data: %2" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "Usante Poppler %1" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" +"Usante Poppler %1\n" +"\n" +"Construite contra Poppler %2" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "Configuration de Retro-administration de PDF" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "Ilfalleva a scriber file temporanee" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "Il falleva a renominar file temporanee" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" +"Alcun errores esseva trovate in le documento, Okular poterea non esser " +"capace de monstrar le contento correctemente" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" +"Iste signaturas pote solmente functionar inter moderne versiones de Okular " +"con le retro administration de GnuPG activate" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "Habilita Signaturas de PGP" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "Emittite a" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "E-Posta" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "Data de expiration" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" +"Tu es usante bibliotheca de Poppler construite sin supporto de NSS.\n" +"Addes signaturas digital non es possibile per ille ration" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "pro sempre" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "Necessita re-initiar" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "" +"Tu necessita reinitiar Okular postea modificar le preferentias de directorio " +"NSS." + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter Password" +msgstr "Inserta contrasigno" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "Inserta contrasigno per aperir %1:" + +#~ msgid "Not Available" +#~ msgstr "Non disponibile" + +#~ msgid "PDF Backend" +#~ msgstr "Retro-administration de PDF" + +#~ msgid "A PDF file renderer" +#~ msgstr "Un renditor de file de PDF" + +#~ msgid "© 2005-2008 Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Saving files with /Encrypt is not supported." +#~ msgstr "Il non es supportate salveguardar files con /Encrypt." + +#~ msgid "Unknown" +#~ msgstr "Incognite" + +#~ msgid "Unknown Date" +#~ msgstr "Data incognite" + +#~ msgid "Unknown Encryption" +#~ msgstr "Cryptation incognite" + +#~ msgid "Unknown Optimization" +#~ msgstr "Optimisation incognite" + +#~ msgid "Please enter the password to read the document:" +#~ msgstr "Pro favor tu entra un contrasigno pro leger le documento" + +#~ msgid "Incorrect password. Try again:" +#~ msgstr "Contrasigno incorrecte. Essaya de nove:" diff --git a/po/ia/okular_tiff.po b/po/ia/okular_tiff.po new file mode 100644 index 0000000..6b8de98 --- /dev/null +++ b/po/ia/okular_tiff.po @@ -0,0 +1,28 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Giovanni Sora , 2020. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-09-23 23:13+0100\n" +"Last-Translator: Giovanni Sora \n" +"Language-Team: Interlingua \n" +"Language: ia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Giovanni Sora" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "g.sora@tiscali.it" diff --git a/po/ia/okular_txt.po b/po/ia/okular_txt.po new file mode 100644 index 0000000..4788af9 --- /dev/null +++ b/po/ia/okular_txt.po @@ -0,0 +1,50 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Giovanni Sora , 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-05-21 19:03+0200\n" +"Last-Translator: Giovanni Sora \n" +"Language-Team: Interlingua \n" +"Language: ia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 1.5\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Giovanni Sora" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "g.sora@tiscali.it" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "Ttxt" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "Configuration de Retro-administration de Txt" + +#~ msgid "Txt Backend" +#~ msgstr "Retro-administration per Txt " + +#~ msgid "Txt backend." +#~ msgstr "Retro-administration per Txt ." + +#~ msgid "© 2013 Azat Khuzhin" +#~ msgstr "© 2013 Azat Khuzhin" + +#~ msgid "Azat Khuzhin" +#~ msgstr "Azat Khuzhin" diff --git a/po/ia/okular_xps.po b/po/ia/okular_xps.po new file mode 100644 index 0000000..aa08a94 --- /dev/null +++ b/po/ia/okular_xps.po @@ -0,0 +1,57 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Giovanni Sora , 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-02-07 10:41+0100\n" +"Last-Translator: Giovanni Sora \n" +"Language-Team: Interlingua \n" +"Language: ia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 1.4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Giovanni Sora" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "g.sora@tiscali.it" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "Revision" + +#~ msgid "XPS Backend" +#~ msgstr "Retro-Administration de XPS" + +#~ msgid "An XPS backend" +#~ msgstr "Un retro-administration de XPS" + +#~ msgid "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" +#~ msgstr "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" + +#~ msgid "Brad Hards" +#~ msgstr "Brad Hards" + +#~ msgid "Jiri Klement" +#~ msgstr "Jiri Klement" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" diff --git a/po/ia/org.kde.active.documentviewer.po b/po/ia/org.kde.active.documentviewer.po new file mode 100644 index 0000000..912b432 --- /dev/null +++ b/po/ia/org.kde.active.documentviewer.po @@ -0,0 +1,233 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# SPDX-FileCopyrightText: 2013, 2017, 2021, 2022, 2024, 2025 Giovanni Sora +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-09-02 17:18+0200\n" +"Last-Translator: giovanni \n" +"Language-Team: Interlingua \n" +"Language: ia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 23.08.5\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "Marcatores de libro" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "Visor de Certificato" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "Emittite per" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "Nomine commun:" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "E-posta:" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "Organization:" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "Emittite a" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "Validitate" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "Emittite le:" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "Termina le:" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "Impressiones digital" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "Impression digital SHA-1:" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "Impression digital SHA-256:" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +msgid "Export…" +msgstr "Exporta..." + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "Claude" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "File de Certificato (*.cer)" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "Error" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "Non poteva exportar le certificato." + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "Okular" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "Aperi…" + +#: ui/Main.qml:49 +msgid "About" +msgstr "A proposito" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "Il necessita un contrasigno" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "Remove marcator de libro" + +#: ui/MainView.qml:29 +msgid "Bookmark this page" +msgstr "Adjunge iste pagina al marcatores de libro" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "Miniaturas" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "Indice o Tabula de contentos" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "Signaturas" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "Proprietates del signatura" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "Stato valide" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "Validitate de signatura:" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "Modificationes de documento:" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "Information additional" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "Signate per :" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "Tempore de signar:" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "Motivo:" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "Location:" + +#: ui/SignaturePropertiesPage.qml:96 +msgid "Document Version" +msgstr "Version de documento" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Revision de documento %1 de %2" + +#: ui/SignaturePropertiesPage.qml:108 +msgid "Save Signed Version…" +msgstr "Salveguarda version signate ..." + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +msgid "View Certificate…" +msgstr "Vide certificato..." + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "Non poteva salveguardar le signatura." + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "Non disponibile" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "Necun resultatos trovate." + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "Necun Documento de aperir" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "Documentos recente" + +#: ui/WelcomeView.qml:108 +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "Mi documentos" + +#~ msgid "Open..." +#~ msgstr "Aperi..." + +#~ msgid "Search..." +#~ msgstr "Cerca..." + +#~ msgid "" +#~ "No Documents found. To start to read, put some files in the Documents " +#~ "folder of your device." +#~ msgstr "" +#~ "Necun documento trovate. Po initiar leger, pone alcun files in le dossier " +#~ "de Documentos de tu dispositivo." + +#~ msgid "Document viewer for Plasma Active using Okular" +#~ msgstr "Visor de documento pro Plasma Avtive usante Okular" + +#~ msgid "Reader" +#~ msgstr "Lector" + +#~ msgid "Copyright 2012 Marco Martin" +#~ msgstr "Copyright 2012 Marco Martin" + +#~ msgid "Marco Martin" +#~ msgstr "Marco Martin" + +#~ msgid "URL of the file to open" +#~ msgstr "URL del file de aperir" diff --git a/po/id/okular.po b/po/id/okular.po new file mode 100644 index 0000000..9e5e9fa --- /dev/null +++ b/po/id/okular.po @@ -0,0 +1,6598 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Wantoyo , 2016, 2018, 2019, 2020, 2021. +# Linerly , 2022, 2023. +# SPDX-FileCopyrightText: 2022, 2024 Wantoyèk +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-10-03 20:41+0700\n" +"Last-Translator: Wantoyèk \n" +"Language-Team: https://t.me/Localizations_KDE_Indonesia\n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 24.05.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Wantoyèk,Linerly" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "wantoyek@gmail.com,linerly@protonmail.com" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Okular, sebuah peninjau dokumen universal" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "Pemelihara yang dahulu" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "Banyaknya perkerjaan framework, ODT dan backend FictionBook" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "Pengembang" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymanski" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "Okular diciptakan dari codebase KPDF" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "Enrico Ros" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "Pengembang KPDF" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "Eugene Trounev" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "Karya seni anotasi" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "Jiri Baum - NICTA" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "Alat pemilihan tabel" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "Fabio D'Urso" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "Perbaikan anotasi" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "Menuju ke halaman %1" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "Buka file external" + +#: core/action.cpp:197 +#, fuzzy, kde-format +#| msgid "Execute '%1'..." +msgid "Execute '%1'…" +msgstr "Eksekusi '%1'..." + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "Halaman Pertama" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "Halaman Sebelumnya" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "Halaman Selanjutnya" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "Halaman Terakhir" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "Kembali" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "Maju" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Berhenti" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "Mulai Presentasi" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "Akhiri Presentasi" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go To Page…" +msgstr "Menuju ke Halaman" + +#: core/action.cpp:365 +#, fuzzy, kde-format +#| msgid "Play sound..." +msgid "Play sound…" +msgstr "Bunyikan suara..." + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "Skrip JavaScript" + +#: core/action.cpp:483 +#, fuzzy, kde-format +#| msgid "Play movie" +msgid "Play movie…" +msgstr "Putar filem" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "Putar filem" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "Hentikan filem" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "Jeda filem" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "Melanjutkan filem" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "Pemilihan Backend" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
%1 (%2).

Please select which one to use:
" +msgstr "" +"Lebih dari satu backend ditemukan untuk tipe MIME:
%1 (%2)." +"

Silakan pilih salah satu yang mana untuk digunakan:
" + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "Sebagian besar halaman %1." + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "Potret %1" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "Lanskap %1" + +#: core/document.cpp:246 +#, fuzzy, kde-format +#| msgctxt "%1 is width, %2 is height, %3 is paper size name" +#| msgid "%1 x %2 in (%3)" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 x %2 in (%3)" + +#: core/document.cpp:248 +#, fuzzy, kde-format +#| msgctxt "%1 is width, %2 is height, %3 is paper size name" +#| msgid "%1 x %2 mm (%3)" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 x %2 mm (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "Meneneruskan pencarian dari awal" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "Meneruskan pencarian dari bagian bawah" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "" +"Tak bisa menemukan plugin yang mampu menangani dokumen yang sedang berlalu." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "hapus anotasi" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"Dokumen telah mencoba untuk mengeksekusi sebuah aplikasi external dan, untuk " +"keamanan Anda, Okular tidak membolehkan hal itu." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "Tidak ada aplikasi yang ditemukan untuk membuka file dari mimetype %1." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "Tidak bisa membuka file temporer" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "Konversi cetak gagal" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "Proses pencetakan mogok" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "Proses pencetakan tidak bisa dimulai" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "Pencetakan ke file gagal" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "Pencetak telah dalam keadaan tidak absah" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "Tak mampu menemukan file untuk cetak" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "Tidak adanya file untuk mencetak" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"Tidak bisa menemukan biner yang cocok untuk pencetakan. Pastikan biner CUPS " +"lpr telah tersedia" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "Ukuran cetak halaman tak absah" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "Tidak bisa membuka file '%1'. File tidak ada" + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Judul" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Subjek" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Deskripsi" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "Penulis" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Pencipta" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Produsen" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "Hak Cipta" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "Halaman" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Diciptakan" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Dimodifikasi" + +#: core/document.cpp:6032 +#, kde-format +msgid "MIME Type" +msgstr "Tipe MIME" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "Kategori" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Katakunci" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "Alur File" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "Ukuran File" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "Ukuran Halaman" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "tambah anotasi" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "hapus anotasi" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "modifikasi properti anotasi" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "terjemah anotasi" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "sesuaikan anotasi" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "edit teks" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "edit daftar konten anotasi" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "edit daftar konten formulir" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "edit daftar dari pilihan" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "edit combo dari pilihan" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "edit formulir keadaan tombol" + +#: core/generator.cpp:790 +#, fuzzy, kde-format +#| msgid "Plain &Text..." +msgid "Plain &Text…" +msgstr "Tanam &Teks..." + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "Teks OpenDocument" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "Opsi Cetak" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "Paskan ke area dapat-dicetak" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "Paskan ke halaman penuh" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "Mode skala:" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "Jangan tampilkan pesan ini lagi" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "Tidak tersedia" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" + +#: core/signatureutils.cpp:498 +#, fuzzy, kde-kuit-format +#| msgctxt "@info" +#| msgid "Could not load the file %1" +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "Tidak bisa memuat file %1" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "" + +#: core/signatureutils.cpp:504 +#, fuzzy, kde-kuit-format +#| msgctxt "@info" +#| msgid "" +#| "Could not overwrite %1 because that file is read-" +#| "only. Try saving to another location or changing that file's permissions." +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" +"Tidak dapat menimpa %1 karena file itu hanya-baca. Coba " +"simpan ke lokasi yang lain atau ubah izin file itu." + +#: core/signatureutils.cpp:506 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown signing error" +msgstr "File Tak Diketahui" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Sumber: %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "&Font Baku:" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "Versi" + +#: gui/certificatemodel.cpp:41 +#, kde-format +msgid "Serial Number" +msgstr "Nomor Serial" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "Penerbit" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "Diterbitkan Pada" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "Kedaluwarsa Pada" + +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Subjek" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "Kunci Publik" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "Penggunaan Kunci" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "V%1" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "%1 (%2 bit)" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "Properti" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "Nilai" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "Catatan Sembul" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "Mesin-ketik" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "Catatan Dalam Baris" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +#| msgid "Polygon with Comment" +msgid "Arrow with Comment" +msgstr "Segibanyak dengan Komentar" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "Panah" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "Garis Lurus dengan Komentar" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "Garis Lurus" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "Segibanyak dengan Komentar" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "Segibanyak" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgid "Stamp with Comment" +msgid "Rectangle with Comment" +msgstr "Stempel dengan Komentar" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "Persegi" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgid "Underline with Comment" +msgid "Ellipse with Comment" +msgstr "Garis-bawah dengan Komentar" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "Bulat" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "Sorotan dengan Komentar" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "Sorot" + +#: gui/guiutils.cpp:87 +#, kde-format +msgid "Squiggle with Comment" +msgstr "Garis-lekuk dengan Komentar" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "Garis Berlekuk-lekuk" + +#: gui/guiutils.cpp:91 +#, kde-format +msgid "Underline with Comment" +msgstr "Garis-bawah dengan Komentar" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "Garisbawahi" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out with Comment" +msgstr "Garis-tengah dengan Komentar" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "Garis-tengah" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "Stempel dengan Komentar" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "Stempel" + +#: gui/guiutils.cpp:106 +#, kde-format +msgid "Freehand Line with Comment" +msgstr "Garis-bidang dengan Komentar" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "Garis Bidang Tangan" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "Tanda Sisipan" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "Lampiran File" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "Suara" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "Filem" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Layar" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "Widget" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "Media Rich" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation" +msgstr "Anotasi" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "Tak diketahui" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Penulis: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "Di mana Anda ingin menyimpan %1?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "Tidak bisa membuka \"%1\" untuk penulisan. File tidak akan disimpan." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "Tandatangan ini adalah kriptografikal yang absah." + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "Tandatangan ini adalah kriptografikal yang tidak absah." + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "Terjadi Ketidakcocokan Intisari." + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "Struktur tandatangan CMS/PKCS7 telah salah bentuk." + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "Tandatangan yang diminta tidak ada dalam dokumen." + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "Tandatangan tidak bisa diverifikasi." + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "Sertifikat telah Dipercaya." + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "Penerbit sertifikat tidaklah Terpercaya." + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "Penerbit sertifikat takdiketahui." + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "Sertifikat telah Dicabut Kembali." + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "Sertifikat telah Kedaluwarsa." + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "Sertifikat belum diverifikasi." + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "Takdiketahuinya penerbit Sertifikat atau data terkorup." + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "MD2" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "MD5" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "SHA1" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "SHA256" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "SHA384" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "SHA512" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "SHA224" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "Algoritma Takdiketahui" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "RSA" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "DSA" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "EC" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "Tipe Takdiketahui" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "Tandatangan Digital" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "Non Penyangkalan" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "Enkripsi Kunci" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "Dekripsi Kunci" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "Kunci Perjanjian" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "Tandatangan Sertifikat" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "Tandatangan CRL" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "Hanya Enkripsi" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "Tidak Ada Penggunaan Yang Ditentukan" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr ", " + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "Dokumen belum dimodifikasi sejak ditandatangani." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" +"Revisi dokumen yang dicakup oleh tandatangan ini belum dimodifikasi;\n" +"namun ada perubahan selanjutnya pada dokumen." + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" +"Dokumen telah dimodifikasi dengan cara tidak diizinkan oleh penandatangan " +"sebelumnya." + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "Verifikasi integritas dokumen tidak dapat diselesaikan." + +#: gui/signatureguiutils.cpp:208 +#, fuzzy, kde-format +#| msgid "This document has unsigned signature fields." +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "Dokumen ini memiliki kolom tanda tangan yang belum ditandatangani." + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "Dokumen ini telah ditandatangani secara digital." + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "" +"Dokumen ini telah ditandatangani secara digital. Ada perubahan sejak " +"terakhir ditandatangani." + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" +"Dokumen ini ditandatangani secara digital. Beberapa tanda tangan tidak bisa " +"divalidasi secara benar." + +#: gui/signaturemodel.cpp:141 +#, fuzzy, kde-format +#| msgid "Signature Validity:" +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "Keabsahan Tandatangan:" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "Bidang: %1 pada halaman %2" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "Rev. %1: Ditandatangani Oleh %2" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "Waktu Penadatanganan: %1" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "Alasan: %1" + +#: gui/signaturemodel.cpp:177 +#, fuzzy, kde-format +#| msgid "Location:" +msgid "Location: %1" +msgstr "Lokasi:" + +#: gui/signaturemodel.cpp:185 +#, fuzzy, kde-format +#| msgid "Signatures" +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "Tandatangan" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "" + +#: gui/signaturemodel.cpp:193 +#, fuzzy, kde-format +#| msgctxt "Unknown author" +#| msgid "Unknown" +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "Tak diketahui" + +#: gui/signaturemodel.cpp:195 +#, fuzzy, kde-format +#| msgid "Signature Validity:" +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "Keabsahan Tandatangan:" + +#: gui/signaturemodel.cpp:201 +#, fuzzy, kde-format +#| msgid "Signature Validity:" +msgid "Signature Type: %1" +msgstr "Keabsahan Tandatangan:" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "Merah" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "Jingga" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "Kuning" + +#: part/annotationactionhandler.cpp:151 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "Hijau" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "Sian" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "Biru" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "Magenta" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "Putih" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "Kelabu" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "Hitam" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "Lebar %1" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1%" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "Lebar garis anotasi (Tidak ada anotasi yang dipilih)" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "Warna anotasi (Tidak ada anotasi yang dipilih)" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "Isi warna anotasi (Tidak ada anotasi yang dipilih)" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "Opasitas anotasi (Tidak ada anotasi yang dipilih)" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "Font anotasi (Tidak ada anotasi yang dipilih)" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" +"Tambahkan anotasi saat ini ke menu anotasi cepat (Tidak ada anotasi yang " +"dipilih)" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" +"Batasi rasio bentuk hingga 1:1 atau sudut garis hingga langkah 15° (Tidak " +"ada anotasi yang dipilih)" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" +"Pengaturan tingkat lanjut untuk alat anotasi saat ini (tidak ada anotasi " +"yang dipilih)" + +#: part/annotationactionhandler.cpp:308 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Lebar garis anotasi" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "Kebar baris anotasi (Anotasi saat ini tidak memiliki lebar baris)" + +#: part/annotationactionhandler.cpp:314 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Warna teks anotasi" + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "Warna tepi anotasi" + +#: part/annotationactionhandler.cpp:318 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Warna anotasi" + +#: part/annotationactionhandler.cpp:322 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Warna isi anotasi" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "Warna isian anotasi (Anotasi saat ini tidak memiliki warna isian)" + +#: part/annotationactionhandler.cpp:328 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "Font anotasi" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "Font anotasi (Anotasi saat ini tidak memiliki font)" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "Batasi sudutpandang baris ke langkah 15°" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "Batasi rasio bentuk ke 1:1" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" +"Batasi rasio bentuk ke 1:1 atau sudutpandang baris ke lamgkah 15° (Tidak " +"didukung oleh anotasi saat ini)" + +#: part/annotationactionhandler.cpp:341 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Opasitas anotasi" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "Tambahkan anotasi saat ini ke menu anotasi cepat" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "Pengaturan tingkat lanjut untuk alat anotasi saat ini" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "Warna" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "Warna Isi" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "Transparan" + +#: part/annotationactionhandler.cpp:445 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "Custom Color..." +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "Warna Kustom..." + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "Pilih warna" + +#: part/annotationactionhandler.cpp:552 +#, kde-format +msgid "&Annotations" +msgstr "&Anotasi" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "Sembunyikan" + +#: part/annotationactionhandler.cpp:554 +#, kde-format +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Tampilkan alat anotasi lainnya" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "Penyorot" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "Garis bawah" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "Berlekuk-lekuk" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "Garis Tengah" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Tulisan ketik" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "Catatan Dalam Baris" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "Catatan Sembul" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "Garisan Tangan" + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "Garis Lurus" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "Panah" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "Persegi" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "Bulatan" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "Segibanyak" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "Bentuk geometri" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "Stempel" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Anotasi Cepat" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "Pilih sebuah alat anotasi dari anotasi-anotasi cepat" + +#: part/annotationactionhandler.cpp:651 +#, kde-format +msgid "Quick Annotation Bar" +msgstr "Bilah Anotasi Cepat" + +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "Tambahkan ke Anotasi Cepat" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "Biarkan Aktif" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "Biarkan alat anotasi aktif setelah digunakan" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "Batasi Rasio dan Sudutpandang pada Alat-alat Anotasi" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "Font" + +#: part/annotationactionhandler.cpp:681 +#, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Pengaturan Anotasi" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "Lebar garis" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "Opasitas" + +#: part/annotationactionhandler.cpp:696 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1%" + +#: part/annotationmodel.cpp:320 +#, fuzzy, kde-format +#| msgid "Page %1" +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "Halaman %1" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "Halaman %1" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "Anotasi" +msgstr[1] " %1 Anotasi" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "&Buka Catatan Sembul" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Buang Markah" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Tambah Markah" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Text to Clipboard" +msgstr "Salin ke Clipboard" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "Salinan dilarang oleh DRM" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "&Hapus" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "&Properti" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, fuzzy, kde-format +#| msgctxt "%1 is the name of the file to save" +#| msgid "&Save '%1'..." +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "&Simpan '%1'..." + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "&Penampilan" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "&Umum" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&Penulis:" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "Diciptakan:" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "Dimodifikasi:" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "Properti Catatan Sembul" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "Properti Mesin-ketik" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "Properti Catatan Dalam Baris" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "Properti Garis Lurus" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "Properti Segibanyak" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "Properti Geometri" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "Properti Tanda Baca Teks" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "Properti Stempel" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "Properti Garis Bidang Tangan" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "Properti Tanda Sisipan" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "Properti Lampiran File" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "Properti Suara" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "Properti Filem" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "Properti Anotasi" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "Pilih sebuah simbol stempel kustom dari file" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "Pilih simbol stempel kustom" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" +"*.ico *.png *.xpm *.svg *.svgz | File Ikon (*.ico *.png *.xpm *.svg *.svgz)" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "Tidak bisa memuat file %1" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "File tidak absah" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&Warna:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%1%" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "&Opasitas:" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "Ikon:" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "Komentar" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "Bantuan" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "Sisispkan" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "Kunci" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "Paragraf baru" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "Catatan" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "Paragraf" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Font:" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "&Warna teks:" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "Se&jajar:" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "Kiri" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "Pusat" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "Kanan" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "&Lebar bingkai:" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "Diperkenankan" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "Apa Adanya" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "Diberi Kepercayaan" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "Departemen" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "Draft" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "Experimental" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "Kadaluarsa" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "Final" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "Untuk Komentar" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "Untuk Rilis Publik" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "Tidak Diperkenankan" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "Tidak Untuk Rilis Publik" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "Terjual" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "Sangat Rahasia" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "Markah" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "Informasi" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "Simbol Stempel:" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "&Lebar:" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "Awal Baris:" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "Akhir Baris:" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "Persegi" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "Lingkaran" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "Berlian" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "Panah Buka" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "Panah Tutup" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "Nihil" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "Gagang" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "Panah Buka Kanan" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "Panah Tutup Kiri" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "Setrip" + +#: part/annotationwidgets.cpp:531 +#, kde-format +msgid "Leader line length:" +msgstr "Panjang garis leader:" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "Panjang ekstensi garis leader:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "Difungsikan" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "Isi bentuk:" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Tipe:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "Garis tengah" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "Simbol lampiran file:" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "Graph" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "Push Pin" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "Paperclip" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "Tag" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "File" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "N/A" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "Tidak ada deskripsi yang tersedia." + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "Nama:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "Deskripsi:" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "Simbol tanda sisipan:" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "Nihil" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "Tutup catatan ini" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "Opsi" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"Anotasi ini mungkin berisi kode LaTeX.\n" +"Klik di sini untuk me-render." + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "Tak bisa menemukan latex yang dapat dieksekusi." + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "Pe-render-an LaTeX gagal" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "Tak bisa menemukan dvipng yang dapat dieksekusi." + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "Masalah terjadi selagi pengeksekusian perintah 'latex'." + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "Masalah terjadi selagi pengeksekusian perintah 'dvipng'." + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"Satu markah" +msgstr[1] "" +"%1\n" +"\n" +"%2 markah" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Markah" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "Tampilkan untuk semua dokumen" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, fuzzy, kde-format +#| msgid "S&earch:" +msgid "Search…" +msgstr "&Cari:" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, fuzzy, kde-format +#| msgid "Expand all" +msgid "Expand All" +msgstr "Besarkan semua" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, fuzzy, kde-format +#| msgid "Collapse all" +msgid "Collapse All" +msgstr "Kecilkan semua" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "Menuju ke Markah Ini" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "Ubah Nama Markah" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Buka Dokumen" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "Hapus semua Markah untuk Dokumen ini" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "Penampil Sertifikat" + +#: part/certificateviewer.cpp:50 +#, fuzzy, kde-format +#| msgid "Export..." +msgid "Export…" +msgstr "Ekspor..." + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "Umum" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "Diterbitkan Oleh" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "Nama Umum (CN)" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "Email" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "Organisasi (O)" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "Diterbitkan Kepada" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "Keabsahan" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "Sidikjari" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "Sidikjari SHA-1" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "Sidikjari SHA-256" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "Perincian" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "Data Sertifikat:" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "Di mana Anda ingin menyimpan sertifikat ini?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "File Sertifikat (*.cer)" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "Tidak bisa mengekspor sertifikat" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "&Mode Warna" + +#: part/colormodemenu.cpp:21 +#, kde-format +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "Ubah Warna" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "&Warna Normal" + +#: part/colormodemenu.cpp:41 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "&Balikkan Warna" + +#: part/colormodemenu.cpp:42 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "Ubah Warna &Kertas" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "Ubah Warna &Gelap && Terang" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "Ubah ke &Hitam && Putih" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "Balikkan &Kecerahan" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "Balikkan L&uma (Linier sRGB)" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "Balikkan Luma (&Simetris)" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "Geser Rona P&ositif" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "Geser Rona N&egatif" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "Merah" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "Hijau" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "Biru" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "Kuning" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "Hitam" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "Putih" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "Penyorot Berwarna Kuning" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "Penyorot Berwarna Hijau" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "Sisipkan" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "Gambari bingkai sekitar tautan" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "Ubah warna" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "" +"Peringatan: opsi tersebut bisa secara buruk mempengaruhi kecepatan " +"menggambar." + +#: part/dlgaccessibility.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "Warna kebalikan" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "Ubah warna kertas" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "Ubah warna gelap & terang" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "Konversikan ke hitam & putih" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "Cahaya kebalikan" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "Kebalikan luma (sRGB linier)" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "Kebalikan luma (simetris)" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "Geser rona positif" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "Geser rona negatif" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "Mode warna:" + +#: part/dlgaccessibility.cpp:87 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Warna kertas:" + +#: part/dlgaccessibility.cpp:99 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Warna gelap:" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "Warna terang:" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "Ambang:" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Kontras:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "Mesin lisan teks:" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "Suara lisan teks:" + +#: part/dlgannotations.cpp:25 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Bilah Alat Anotasi Lengkap" + +#: part/dlgannotations.cpp:26 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Bilah Alat Anotasi Cepat" + +#: part/dlgannotations.cpp:28 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Bilah Alat anotasi:" + +#: part/dlgannotations.cpp:34 +#, kde-format +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "Penulis:" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"Catatan: informasi di sini hanya digunakan untuk komentar dan " +"tinjauan. Informasi yang tersisip di sini tidak akan dipancarkan tanpa " +"sepengetahuan Anda." + +#: part/dlgannotations.cpp:48 +#, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

Quick Annotation Tools

" +msgstr "

Alat Anotasi Cepat

" + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" +"Pilihlah editor yang ingin Anda luncurkan ketika Okular hendak membuka " +"sebuah file sumber." + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "Pengedit Teks Kustom" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Klien Emacs" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "Klien Lyx" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "TeXstudio" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "TeXiFy IDEA" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "Pengedit:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
\n" +"You can also put few placeholders:\n" +"
    \n" +"
  • %f - the file name
  • \n" +"
  • %l - the line of the file to be reached
  • \n" +"
  • %c - the column of the file to be reached
  • \n" +"
\n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"Set perintah pada suai pengedit teks untuk diluncurkan.
\n" +"Anda juga dapat menaruh beberapa placeholders:\n" +"
    \n" +"
  • %f - nama file
  • \n" +"
  • %l - garis dari file untuk tercapai
  • \n" +"
  • %c - kolom dari file untuk tercapai
  • \n" +"
\n" +"Jika %f tidak ditentukan, maka nama file ditambahkan ke perintah yang " +"ditentukan." + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "Perintah:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "Gunakan pengguliran lembut" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "Penampilan:" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "Tampilkan bilah gulir" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "Tautan thumbnail dengan halaman" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "Tampilkan petunjuk dan pesan info" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "Beritahu tentang file, formulir, atau tanda tangan yang disematkan" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "Tampilkan judul dokumen di bilah judul jika tersedia" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "Tampilan nama file saja" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "Tampilan alur file penuh" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "Ketika tidak menampilkan judul dokumen:" + +#: part/dlggeneral.cpp:92 +#, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "Gunakan warna latarbelakang kustom:" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "Fitur-fitur program:" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "Buka file-file baru di tab-tab" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "Beralih ke tab yang ada jika file sudah dibuka" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "Keterbatasan Obey DRM" + +#: part/dlggeneral.cpp:148 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "Muat ulang dokumen saat perubahan file" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "Tampilkan dialog pemilihan backend" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "Arah pembacaan kanan ke kiri" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" + +#: part/dlggeneral.cpp:178 +#, fuzzy, kde-format +#| msgctxt "@option:check Config dialog, general page" +#| msgid "Open in continuous mode by default" +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "Buka dalam mode berlanjut berdasarkan baku" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "Buka dalam mode berlanjut berdasarkan baku" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "Kolom ikhtisar:" + +#: part/dlggeneral.cpp:220 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%1%" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" +"Menegaskan berapa banyak area peninjauan saat ini yang akan selalu terlihat " +"ketika menekan tuts Halaman Naik/Turun." + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "Overlap Naik/Turun Halaman:" + +#: part/dlggeneral.cpp:228 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%1%" + +#: part/dlggeneral.cpp:232 +#, fuzzy, kde-format +#| msgctxt "item:inlistbox Config dialog, general page, default zoom" +#| msgid "100%" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "100%" + +#: part/dlggeneral.cpp:233 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "Pas Lebar" + +#: part/dlggeneral.cpp:234 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "Pas Halaman" + +#: part/dlggeneral.cpp:235 +#, fuzzy, kde-format +#| msgid "Auto Fit" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "Auto Pas" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "" + +#: part/dlggeneral.cpp:237 +#, fuzzy, kde-format +#| msgctxt "item:inlistbox Config dialog, general page, default zoom" +#| msgid "" +#| "Defines the default zoom mode for files which were never opened before. " +#| "For files which were opened before the previous zoom is applied." +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" +"Menentukan mode zoom baku untuk file yang sebelumnya tidak pernah dibuka. " +"Untuk file yang sebelumnya dibuka sebelum zoom diterapkan." + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "Zoom baku:" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "Fungsikan efek transparan" + +#: part/dlgperformance.cpp:28 +#, kde-format +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "Penggunaan CPU:" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "Rendah" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "Normal (baku)" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "Lahap" + +#: part/dlgperformance.cpp:38 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "Rakus" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "Penggunaan memori:" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "Fungsikan antialias teks" + +#: part/dlgperformance.cpp:56 +#, kde-format +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "Opsi perenderan:" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "Fungsikan antialias grafik" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "Fungsikan hinting teks" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"Memori serendah mungkin tetap digunakan. Jangan gunakan apa pun. (Untuk " +"sistem dengan memori rendah.)" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"Kompromi yang baik antara penggunaan memori dan raih kecepatan. Permuat " +"halaman selanjutnya dan meningkatkan pencarian. (Untuk sistem dengan memori " +"2GB, khususnya.)" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"Jaga semuanya di memori. Pramuat halaman selanjutnya. Percepat pencarian. " +"(Untuk sistem dengan memori lebih dari 4GB.)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" +"Muat dan tetap segalanya di memori. Permuat semua halaman. (Akan menggunakan " +"di maksimum 50% pada memori total Anda atau memori bebas Anda, apa pun yang " +"lebih besar.)" + +#: part/dlgpresentation.cpp:38 +#, fuzzy, kde-format +#| msgctxt "Advance every %1 seconds" +#| msgid " second" +#| msgid_plural " seconds" +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] " detik" +msgstr[1] " detik" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "Tingkat lanjut secara otomatis:" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "Lambung setelah halaman terakhir" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "Ketuk sisi kiri/kanan untuk menuju mundur/maju" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "Ketuk di mana saja untuk menuju maju" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "Dinonfungsikan" + +#: part/dlgpresentation.cpp:63 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Navigasi sentuh:" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "Warna latarbelakang:" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "Sembunyi setelah tundaan" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "Selalu terlihat" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "Selalu sembunyi" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "Kursor mouse:" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "Tampilkan indikator progres" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "Tampilkan halaman ringkasan" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "Instan (Tidak pernah gunakan animasi)" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "Ganti" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "Transisi acak" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "Krepyak tegak" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "Krepyak mendatar" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "Kotak masuk" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "Kotak keluar" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "Larut" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "Lesap" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "Kerlap turun" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "Kerlap kanan" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "Kerlap kanan-turun" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "Belah mendatar masuk" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "Belah mendatar keluar" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "Belah tegak masuk" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "Belah tegak keluar" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "Usap turun" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "Usap kanan" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "Usap kiri" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "Usap naik" + +#: part/dlgpresentation.cpp:121 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Transisi baku:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "Layar yang disukai:" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

Drawing Tools

" +msgstr "

Alat Menggambar

" + +#: part/dlgpresentation.cpp:171 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Layar Saat Ini" + +#: part/dlgpresentation.cpp:172 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Layar Baku" + +#: part/dlgpresentation.cpp:178 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "Layar %1 (%2 %3 %4)" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "Layar %1 (terdiskoneksi)" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "Alat Menggambar: %1" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "Penghapus" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "&Nama:" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "&Tipe:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "Penampilan" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "Tanda baca teks" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "Bentuk geometri" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "Ciptakan alat anotasi" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "Edit alat anotasi" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "&Warna:" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "Lebar &Pena:" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "" + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "Ciptakan alat penggambaran" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "Edit alat penggambaran" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "Tak diketahui" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "File Tersemat" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "Tampilan" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "Nama" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "Deskripsi" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "Ukuran" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "Diciptakan" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "Dimodifikasi" + +#: part/embeddedfilesdialog.cpp:154 +#, fuzzy, kde-format +#| msgid "Save As" +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "Simpan Sebagai" + +#: part/embeddedfilesdialog.cpp:155 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "&Tampilan" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "Tidak dapat memuat bagian pratinjau cetak" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "Pratinjau Cetak" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "Tutup" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "T&emukan:" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "Teks untuk pencarian" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Selanjutnya" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "Lompat ke cocok selanjutnya" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Sebelumnya" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "Lompat ke cocok sebelumnya" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "Modifikasi perilaku pencarian" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "Sensitif huruf" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "Dari halaman saat ini" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "Temukan saat Anda mengetik" + +#: part/formwidgets.cpp:870 +#, fuzzy, kde-format +#| msgid "All files (*)" +msgid "All Files (*)" +msgstr "Semua file (*)" + +#: part/formwidgets.cpp:1280 +#, fuzzy, kde-format +#| msgid "Unsigned Signature Field (Click to Sign)" +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "Kolom Tandatangan Belum Ditandatangani (Klik untuk Menandatangani)" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, fuzzy, kde-format +#| msgctxt "@action:button" +#| msgid "Sign" +msgid "&Sign…" +msgstr "Tanda" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "Properti Tandatangan" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "Opsi Pencarian" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "Sensitif Huruf" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "Ekspresi Reguler" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "Lapisan" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "dari" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "Zoom " + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "Zoom ke 100%" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "Rotasikan &Kanan" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "Kanan" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "Rotasikan &Kiri" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "Kiri" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "Orientasi Asli" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "Tampilan &Trim" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "&Trim Pinggiran" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "Trim Ke &Pilihan" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "Pas &Lebar" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "Pas &Halaman" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "&Auto Pas" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "Paskan &Jendela ke Halaman" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "&Mode Tampilan" + +#: part/pageview.cpp:594 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "Halaman Tung&gal" + +#: part/pageview.cpp:595 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "Halaman Gan&da" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "Halaman Ganda (Halaman Pertama di &Tengah)" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "&Ikhtisar" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "&Terus-menerus" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "Gunakan Arah Pembacaan Kanan ke Kiri" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "&Telusuri" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "&Zoom" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "Pemilihan &Area" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "Pemilihan &Teks" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "Pemilihan Ta&bel" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "&Kaca Pembesar" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "Peralatan Pemilihan" + +#: part/pageview.cpp:711 +#, fuzzy, kde-format +#| msgid "Digitally &Sign..." +msgid "Digitally &Sign…" +msgstr "Tandatangan &Digital..." + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "Bicarakan Seluruh Dokumen" + +#: part/pageview.cpp:722 +#, fuzzy, kde-format +#| msgid "Speak Current Page" +msgid "Speak From Current Page" +msgstr "Bicara Halaman Saat Ini" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "Bicara Halaman Saat Ini" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "Hentikan Bicara" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "Jeda/Lanjutkan Bicara" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "Gulir Naik" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Gulir Turun" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "Gulir Halaman Naik" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "Gulir Halaman Turun" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "Tampilkan Formulir" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] " Termuat dokumen satu halaman." +msgstr[1] " Termuat dokumen %1 halaman." + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "Salin Konten Tabel ke Clipboard" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "Teks (1 karakter)" +msgstr[1] "Teks (%1 karakter)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "Salin ke Clipboard" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "Teks Bicara" + +#: part/pageview.cpp:2863 +#, fuzzy, kde-format +#| msgid "Image (%1 by %2 pixels)" +msgid "Image (%1 × %2 pixels)" +msgstr "Citra (%1 oleh %2 pixel)" + +#: part/pageview.cpp:2865 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save to File…" +msgstr "Simpan ke File..." + +#: part/pageview.cpp:2885 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] copied to clipboard." +msgid "Image [%1 × %2] copied to clipboard." +msgstr "Citra [%1x%2] disalin ke papan-klip." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "Simpan file" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "Citra (*.png *.jpeg)" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "File tidak tersimpan." + +#: part/pageview.cpp:2901 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] saved to %3 file." +msgid "Image [%1 × %2] saved to %3 file." +msgstr "Citra [%1x%2] disimpan ke %3 file." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "Salin Teks" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "Menuju ke '%1'" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "Pas Lebar" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "Pas Halaman" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "Auto Pas" + +#: part/pageview.cpp:4107 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1%" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "Pencarian untuk '%1% dengan" + +#: part/pageview.cpp:4404 +#, fuzzy, kde-format +#| msgid "Configure Web Shortcuts..." +msgid "Configure Web Shortcuts…" +msgstr "Konfigurasikan Pintasan Web..." + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "Ikuti Tautan Ini" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "Bunyikan Suara ini" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "Hentikan Suara" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "Salin Alamat Tautan" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "Mencari '%1' dalam dokumen ini" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Selamat Datang" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "Pilih area pengezooman. Klik kanan untuk mengezoom perkecil." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "Klik untuk melihat tinjauan diperbesar." + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "Gambari sebuah persegi di sekitar teks/grafik untuk menyalin." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "Pilih teks" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" +"Gambari sebuah persegi di sekitar tabel, kemudian klik dekat pinggiran untuk " +"membaginya; tekan Esc untuk membersihkan." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" + +#: part/pageview.cpp:5188 +#, fuzzy, kde-format +#| msgid "Certificates:" +msgid "No valid certificates" +msgstr "Sertifikat:" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, fuzzy, kde-format +#| msgid "View Certificate..." +msgid "Open Certificate Manager" +msgstr "Tampilan Sertifikat..." + +#: part/pageview.cpp:5200 +#, fuzzy, kde-format +#| msgid "" +#| "There are no available signing certificates.
For more information, " +#| "please see the section about Adding Digital Signatures " +#| "in the manual." +msgid "" +"There are no available signing certificates.
Launch Certificate Manager " +"to import or manage certificates
For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" +"Tidak ada sertifikat penandatanganan yang tersedia.
Untuk informasi " +"lebih lanjut, silakan lihat bagian tentang Menambahkan " +"Tandatangan Digital dalam manual." + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, fuzzy, kde-format +#| msgid "Certificates:" +msgid "No certificates found" +msgstr "Sertifikat:" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" +"Tidak ada sertifikat penandatanganan yang tersedia.
Untuk informasi " +"lebih lanjut, silakan lihat bagian tentang Menambahkan " +"Tandatangan Digital dalam manual." + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" +"Anda memiliki perubahan yang tak disimpan. Mohon simpan dokumen sebelum " +"menandatanganinya." + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "Gambari sebuah persegi untuk menyisipkan bidang tandatangan" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "" +"Gambari sebuah persegi di sekitar area halaman yang Anda inginkan untuk " +"tetap terlihat" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "Catatan Teks Baru" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "Teks dari catatan baru:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" +"Tanda tangan dengan ukuran ini mungkin terlalu kecil untuk dibaca. Jika Anda " +"ingin membuat tanda tangan yang berpotensi lebih mudah dibaca, tekan " +"Mulailah dari awal dan gambari sebuah persegi yang " +"besar." + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "Mulai Ulang" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "Tanda" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name" +msgstr "Nama penulis" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name for the annotation:" +msgstr "Nama penulis untuk anotasi:" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "Gambari sebuah bulatan (seret untuk memilih wilayah)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "Sorot teks" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "Gambari sebuah garis bidang tangan" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "Anotasi Teks Dalam Baris (seret untuk memilih wilayah)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "Taruh sebuah catatan sembul" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "Gambari sebuah segibanyak (klik pada titik pertama untuk menutupnya)" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "Gambari sebuah persegi" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "Garis-lekuk teks" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "Taruh sebuah simbol stempel" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "Gambari sebuah garis lurus" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "Garis-tengah teks" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "Garis-bawah teks" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "Anotasi Mesin-ketik (seret untuk memilih zona)" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "Penyorot" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "Tambahkan anotasi faforit" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Custom annotation name:" +msgstr "Nama anotasi kustom:" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&File" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "Peng&aturan" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "&Bantuan" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "&Orientasi" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "&Markah" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "Bilah Alat Penampil" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Thumbnail" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "Anotasi" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" +"Dokumen ini berisi anotasi atau data formulir yang disimpan secara internal " +"oleh versi Okular sebelumnya. Penyimpanan internal adalah tidak lagi " +"didukung.
Silakan simpan ke sebuah file untuk memindahkan mereka " +"jika Anda ingin lanjut mengedit dokumen." + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"Dokumen ini memiliki file tersemat. Klik " +"di sini untuk melihatnya atau menuju ke File -> File Tersemat." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "Sebelumnya" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "Menuju kembali ke Halaman Sebelumnya" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "Pindah ke halaman sebelumnya dari dokumen" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "Selanjutnya" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "Lanjut ke Halaman Selanjutnya" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "Pindah ke halaman selanjutnya di dokumen" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "Pangkal dokumen" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "Pindah ke pangkal dari dokumen" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "Ujung dokumen" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "Pindah ke ujung dari dokumen" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "Ubah nama markah saat ini" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "Markah Sebelumnya" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "Menuju ke markah sebelumnya" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "Markah Selanjutnya" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "Menuju ke markah selanjutnya" + +#: part/part.cpp:748 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgid "Configure Okular…" +msgstr "Konfigurasikan Okular..." + +#: part/part.cpp:751 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Configure Viewer…" +msgstr "Konfigurasikan Penampil" + +#: part/part.cpp:757 +#, fuzzy, kde-format +#| msgid "Configure Viewer Backends" +msgid "Configure Viewer Backends…" +msgstr "Konfigurasikan Backend Penampil" + +#: part/part.cpp:759 +#, fuzzy, kde-format +#| msgid "Configure Backends" +msgid "Configure Backends…" +msgstr "Konfigurasikan Backend" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "Tentang Backend" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "&Muat ulang" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "Muat ulang dokumen saat ini dari disk." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "Tutup &Bilah Temukan" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "Nomor Halaman" + +#: part/part.cpp:817 +#, fuzzy, kde-format +#| msgctxt "@action" +#| msgid "Configure Color Modes..." +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "Konfigurasikan Mode Warna..." + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "Pilih Semua Teks pada Halaman Saat Ini" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "Tampilkan S&idebar" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "Tampilkan &Bilah Halaman" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "Tampilkan Panel &Tandatangan" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "&File-file Tertanam" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "&Ekspor Sebagai" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "&Bagikan" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "P&resentasi" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "Buka Folder Kon&ten" + +#: part/part.cpp:945 +#, fuzzy, kde-format +#| msgid "&Import PostScript as PDF..." +msgid "&Import PostScript as PDF…" +msgstr "&Import PostScript sebagai PDF..." + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "Peralihan Mode Blackscreen" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "Hapus Penggambaran" + +#: part/part.cpp:962 +#, fuzzy, kde-format +#| msgid "Configure Annotations..." +msgid "Configure Annotations…" +msgstr "Konfigurasikan Anotasi..." + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "Play/Jeda Presentasi" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" +"Anda telah mengubah dokumen yang terbuka, tetapi jenis dokumen ini tidak " +"dapat disimpan.\n" +"Perubahan apa pun akan hilang ketika Okular ditutup." + +#: part/part.cpp:1123 +#, kde-format +msgid "Document can't be saved" +msgstr "Dokumen tidak dapat disimpan" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "Tidak bisa membuka '%1' (%2) " + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "Pemuatan %1 telah dibatalkan." + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "Tidak bisa membuka %1. Alasan: %2" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "Konfigurasikan Backend Penampil" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "Konfigurasikan Backend" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"Program \"ps2pdf\" tidak ditemukan, sehingga Okular tidak bisa mengimport " +"file PS menggunakan itu." + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "ps2pdf tidak ditemukan" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "File PostScript (%1)" + +#: part/part.cpp:1357 +#, fuzzy, kde-format +#| msgid "Importing PS file as PDF (this may take a while)..." +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "" +"Pengimporan file PS sebagai PDF (ini mungkin membutuhkan beberapa saat)..." + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "Silakan masukkan sandi untuk membaca dokumen:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "Sandi salah. Coba lagi:" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "Sandi Dokumen" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" +"Dokumen ini memiliki formulir XFA, yang baru-baru ini tidak didukung." + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"Dokumen ini memiliki formulir. Klik pada tombol untuk berinteraksi " +"dengannya, atau gunakan Tampilan -> Tampilkan Formulir." + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" +"Semua fitur pengeditan dan interaktif untuk dokumen ini dinonaktifkan. " +"Silahkan simpan salinan dan buka kembali untuk mengedit dokumen ini." + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" +"Dokumen ini ingin ditampilkan pada layar penuh.\n" +"Biarkan mode normal dan masuk ke mode presentasi?" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "Minta untuk Mode Menampilkan Perubahan" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "Masuk Mode Presentasi" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "Sangkal Permintaan" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "Tidak bisa membuka %1. %2" + +#: part/part.cpp:1860 +#, fuzzy, kde-kuit-format +#| msgid "" +#| "There are unsaved changes, and the file '%1' has been modified by another " +#| "program. Your changes will be lost, because the file can no longer be " +#| "saved.
Do you want to continue reloading the file?" +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" +"Ada perubahan yang tidak tersimpan, dan file '%1' telah dimodifikasi oleh " +"program lainnya. Perubahan Anda akan hilang, karena file tidak bisa lagi " +"disimpan.
Apakah Anda ingin melanjutkan pemuatan ulang file?" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "File Terubah" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "Lanjutkan Pemuatan-ulang" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "Gugurkan Pemuatan-ulang" + +#: part/part.cpp:1870 +#, fuzzy, kde-kuit-format +#| msgid "" +#| "There are unsaved changes, and the file '%1' has been modified by another " +#| "program. Your changes will be lost, because the file can no longer be " +#| "saved.
Do you want to continue closing the file?" +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" +"Ada perubahan yang tidak tersimpan, dan file '%1' telah dimodifikasi oleh " +"program lainnya. Perubahan Anda akan hilang, karena file tidak bisa lagi " +"disimpan.
Apakah Anda ingin melanjutkan penutupan file?" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "Lanjutkan Penutupan" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "Gugurkan Penutupan" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "Apakan Anda ingin menyimpan perubahan \"%1\" atau membuangnya?" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "Tutup Dokumen" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"Titik tautan ini untuk tindakan menutup dokumen yang tidak bekerja ketika " +"menggunakan peninjau tersemat." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"Titik tautan ini untuk tindakan mengeluarkan aplikasi yang tidak bekerja " +"ketika menggunakan peninjau tersemat." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Reloading the document…" +msgstr "Memuat ulang dokumen..." + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "Daftar Isi" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "Tandatangan" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Menuju ke Halaman" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "&Halaman:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "Masukkan nama barunya markah:" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "Ubah nama Markah ini" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "Buang Markah ini" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "Simpan Sebagai" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" +"Anda telah memilih untuk menyimpan Arsip Okular tanpa nama file yang " +"diakhiri dengan ekstensi '%1'. Itu tidak diperbolehkan, apakah Anda ingin " +"memilih nama baru?" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "Ekstensi tidak didukung" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "Simpan - Peringatan" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
Do you want to continue?" +msgstr "" +"Dokumen saat ini dilindungi dengan kata sandi.
Agar bisa menyimpan, " +"file tersebut perlu dimuat ulang. Anda akan dimintai kata sandi lagi dan " +"riwayat urungan/ulangan Anda akan hilang.
Apakah Anda ingin melanjutkan?" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "Tidak bisa membuka file temporer untuk penyimpanan." + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" +"Tidak dapat menimpa %1 karena file itu hanya-baca. Coba " +"simpan ke lokasi yang lain atau ubah izin file itu." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
Do you want to continue?" +msgstr "" +"Setelah menyimpan, format dokumen saat ini memerlukan file untuk dimuat " +"ulang. Riwayat urung/ulang Anda akan hilang.
Apakah Anda ingin " +"melanjutkan?" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "" +"File tidak bisa disimpan di '%1'. Coba untuk menyimpannya ke lokasi yang " +"lain." + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "Pengisian formulir konten" + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "Anotasi pengguna" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" +"Anda akan menyimpan perubahan, namun format file saat ini tidak mendukung " +"penyimpanan elemen ini. Silakan gunakan format arsip dokumen Okular " +"untuk mengamankannya." + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "Peringatan" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, fuzzy, kde-format +#| msgid "Save as Okular document archive..." +msgid "Save as Okular document archive…" +msgstr "Simpan sebagai arsip dokumen Okular..." + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" +"Anda akan menyimpan perubahan, namun format file saat ini tidak mendukung " +"penyimpanan elemen ini. Silakan gunakan format arsip dokumen Okular " +"untuk mengamankannya. Klik Lanjutkan untuk menyimpan dokumen dan " +"membuang elemen tersebut." + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" +"Anda akan menyimpan perubahan, namun format file saat ini tidak mendukung " +"penyimpanan elemen ini. Silakan gunakan format arsip dokumen Okular " +"untuk mengamankannya. Klik Lanjutkan untuk menyimpannya, tapi Anda " +"akan kehilangan elemen ini serta riwayat urung/ulang." + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "Lanjutkan" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "Lanjutkan kehilangan perubahan" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "File tidak bisa disimpan di '%1'. %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"Okular tidak bisa menyalin %1 ke lokasi yang ditentukan.\n" +"\n" +"Dokumen sudah tidak ada lagi." + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" +"File tidak bisa disimpan di '%1'. Galat: '%2'. Cobalah untuk menyimpannya ke " +"lokasi yang lain." + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "Expand whole section" +msgid "Expand Whole Section" +msgstr "Bentangkan seluruh bagian" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "Collapse whole section" +msgid "Collapse Whole Section" +msgstr "Ciutkan seluruh bagian" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "Sinkronkan Thumbnail dengan Halaman" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Peralatan" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "Bacakan" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "Cetak" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "Mencetak dokumen ini tidak dibolehkan." + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"Tidak bisa mencetak dokumen. Galat tidak diketahui. Silakan laporkan ke bugs." +"kde.org" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"Tidak bisa mencetak dokumen. Rincian error adalah \"%1\". Silakan laporkan " +"ke bugs.kde.org" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "Menuju ke tempat di mana Anda sebelumnya" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "Menuju ke tempat di mana Anda sesudahnya" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"Galat File! Tidak bisa menciptakan file temporer " +"%1." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"Galat File! Tidak bisa membuka file %1 untuk uncompression. File tidak akan dimuat." + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"Galat ini biasanya terjadi jika Anda tidak memiliki perizinan yang cukup " +"untuk membaca file. Anda dapat memeriksa kepemilikan dan perizinan jika Anda " +"klik kanan pada file di pengelola file Dolphin, kemudian pilihlah opsi " +"'Properti', dan pilih tab 'Perizinan' di dalam jendela yang terbuka." + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"Galat File! Tidak bisa meng-uncompress file " +"%1. File tidak akan dimuat." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"Galat ini khususnya terjadi jika file telah korup. Jika Anda ingin " +"memastikan, coba decompress file secara manual menggunakan alat baris-" +"perintah." + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "Tidak ada Markah" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "Ada masalah berbagi dengan dokumen: %1" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "Bagikan" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "Sukses membagikan dokumen" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "Anda dapat menemukan dokumen yang dibagikan di: %1" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "&Edit" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "&Tampilan" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&Menuju" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "Pera&latan" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "Bilah Alat Utama" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "Bilah Alat Anotasi" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, kde-format +msgid "Quick Annotation Toolbar" +msgstr "Bilah Alat Anotasi Cepat" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "Opsi Umum" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Aksesibilitas" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "Aksesibilitas Alat Bantu Pembacaan" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Kinerja" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "Tala Kinerja" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "Konfigurasikan Penampil" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Presentasi" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "Opsi untuk Mode Presentasi" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "Opsi Anotasi" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "Editor" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "Opsi Editor" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" +"Editor ditetapkan oleh baris perintah ke \n" +" %1 \n" +"Jika Anda ingin menggunakan pengaturan, mulai okular tanpa opsi --editor-cmd" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "Temukan Selanjutnya" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 – Presentasi" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "Saklar Layar" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "Layar %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "Keluarkan Mode Presentasi" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Judul: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Halaman: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "Klik untuk lagi" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "Jedakan" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "Putarkan" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"Ada dua cara mode mengeluarkan presentasi, Anda dapat antara menekan tombol " +"ESC atau dengan mengklik tombol berhenti yang muncul ketika mouse " +"ditempatkan di sudut atas kanan. Tentu saja Anda dapat mendaur jendela (Alt" +"+TAB secara baku)" + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "Memberikan sebuah presentasi" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "File Tak Diketahui" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "%1 Properti" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "&Font" + +#: part/propertiesdialog.cpp:145 +#, fuzzy, kde-format +#| msgid "Reading font information..." +msgid "Reading font information…" +msgstr "Membaca informasi fon..." + +#: part/propertiesdialog.cpp:158 +#, kde-format +msgid "&Page Sizes" +msgstr "&Ukuran Halaman" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "&Ekstrak Font" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Tipe 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Tipe 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "Tipe 1C (OT)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Tipe 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType (OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID Tipe 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID Tipe 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID Tipe 0C (OT)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType (OT)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "TeX PK" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "TeX virtual" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "TeX Font Metric" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "TeX FreeType-handled" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "Tak diketahui" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "Tersemat (subset)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "Tersemat secara penuh" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "Tidak" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "Ya (subset)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "Ya" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "%1 (menggantikan dengan %2)" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "[n/a]" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "Font tak diketahui" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "Tersemat: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "Nama" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "Tipe" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "File" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "Halaman" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "Ukuran" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "Pratinjau Revisi" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "Di mana Anda ingin menyimpan revisi ini?" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "Tidak bisa menyimpan file %1." + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "Tidak bisa menampilkan revisi." + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "Masukkan setidaknya 3 huruf untuk memfilter halaman" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "Sensitif Huruf" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "Frasa Cocok" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "Cocok Semua Kata" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "Cocok Kata Apapun" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "Opsi Filter" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, fuzzy, kde-format +#| msgid "Certificates:" +msgid "Certificates" +msgstr "Sertifikat:" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, fuzzy, kde-format +#| msgid "Select certificate to sign with" +msgid "Select certificate to sign with:" +msgstr "Pilih sertifikat untuk ditandatangani" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, fuzzy, kde-format +#| msgid "Certificates:" +msgid "Only QES certificates" +msgstr "Sertifikat:" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "Alasan:" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, fuzzy, kde-format +#| msgid "Options" +msgid "optional" +msgstr "Opsi" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "Lokasi:" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, fuzzy, kde-format +#| msgctxt "@label:chooser Config dialog, presentation page" +#| msgid "Background color:" +msgid "Background:" +msgstr "Warna latarbelakang:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, fuzzy, kde-format +#| msgctxt "@label:listbox Config dialog, general page" +#| msgid "Use custom background color:" +msgid "Recent backgrounds:" +msgstr "Gunakan warna latarbelakang kustom:" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

No annotations

To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
" +msgstr "" +"

Tanpa anotasi

Untuk menciptakan anotasi baru tekan " +"F6 atau pilih Peralatan -> Anotasi dari menu.
" + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "Kelompok oleh Halaman" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "Kelompok oleh Penulis" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "Tampilkan anotasi-anotasi untuk halaman saat ini saja" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "Besarkan semua elemen" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "Kecilkan semua elemen" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "Properti" + +#: part/signaturepartutils.cpp:180 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Halaman: %1" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "" + +#: part/signaturepartutils.cpp:186 +#, fuzzy, kde-format +#| msgctxt "on welcome screen (recent document list)" +#| msgid "Forget All" +msgid "Forget image" +msgstr "Lupakan Semuanya" + +#: part/signaturepartutils.cpp:187 +#, fuzzy, kde-format +#| msgctxt "on welcome screen (recent document list)" +#| msgid "Forget All" +msgid "Forget all images" +msgstr "Lupakan Semuanya" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "Masukkan sandi (jika ada) untuk membuka kunci sertifikat: %1" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "Masukkan sandi sertifikat" + +#: part/signaturepartutils.cpp:244 +#, kde-format +msgid "Enter document password" +msgstr "Masukkan sandi dokumen" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "Simpan File Yang Ditandatangani Sebagai" + +#: part/signaturepartutils.h:62 +#, fuzzy, kde-format +#| msgctxt "" +#| "Used when suggesting a new name for a digitally signed file. %1 is the " +#| "old file name and %2 it's extension" +#| msgid "%1_signed.%2" +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "%1_ditandatangani. %2" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "Status Keabsahan" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "Keabsahan Tandatangan:" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "Modifikasi Dokumen:" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "Informasi Tambahan" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "Ditandatangani Oleh:" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "Waktu Penandatanganan:" + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "Versi Dokumen" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Revisi Dokumen %1 dari %2" + +#: part/signaturepropertiesdialog.cpp:88 +#, fuzzy, kde-format +#| msgid "View Signed Version..." +msgid "View Signed Version…" +msgstr "Tampilan Versi Tertandatangan" + +#: part/signaturepropertiesdialog.cpp:95 +#, fuzzy, kde-format +#| msgid "View Certificate..." +msgid "View Certificate…" +msgstr "Tampilan Sertifikat..." + +#: part/signaturepropertiesdialog.cpp:97 +#, fuzzy, kde-format +#| msgid "View Certificate..." +msgid "View in Certificate Manager" +msgstr "Tampilan Sertifikat..." + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "Tampilkan hanya halaman yang dimarkahi" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "Putar" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Jeda" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "Henti" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, fuzzy, kde-format +#| msgid "&Edit" +msgid "&Edit…" +msgstr "&Edit" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "&Hapus" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "Pindah &Naik" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "Pindah &Turun" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "Alat Baku Menggambar #%1" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "Sudah ada alat dengan nama itu. Gunakanlah bakunya" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "Nama Terduplikat" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "Halaman dokumen untuk ditampilkan" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "Mulai dokumen dalam mode presentasi" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "Mulai dengan dialog cetak" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "Jalankan dengan dialog cetak dan keluarkan sesudah pencetakan" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "Kontrol \"instansi unik\"" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "Tidak angkat jendela" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "Temukan string pada teks" + +#: shell/main.cpp:82 +#, fuzzy, kde-format +#| msgid "sets the external editor command" +msgid "Sets the external editor command" +msgstr "menetapkan perintah editor eksternal" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "Dokumen kebuka. Tentukan '-' untuk membaca dari stdin." + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" +"Anda tidak dapat mengatur perintah editor dalam instansi okular yang sudah " +"berjalan. Nonaktifkan tab dan coba lagi. Harap dicatat, unik itu juga tidak " +"didukung saat mengatur perintah editor di baris perintah.\n" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "" +"Galat: Tidak bisa membuka lebih dari satu dokumen dengan --unique switch" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" +"Galat: Tidak bisa membuka lebih dari satu dokumen dengan --presentation " +"switch" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "" +"Galat: Tidak bisa membuka lebih dari satu dokumen dengan --print switch" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "Galat: Tidak bisa membuka lebih dari satu dokumen dengan --page switch" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "Galat: Tidak bisa membuka lebih dari satu dokumen dengan --find switch" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "Tak bisa menemukan komponen Okular: %1" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "Bilah Samping" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" +"Sudah ada instansi Okular unik yang berjalan. Instansi ini tidak akan " +"menjadi yang unik." + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "Tak mampu menemukan komponen Okular." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"Klik untuk membuka file\n" +"Klik dan tahan untuk membuka file saat ini" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"Klik untuk membuka sebuah file atau Klik dan tahan untuk " +"memilih sebuah file yang terkini" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "Tab Selanjutnya" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "Tab Sebelumnya" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "Urung penutupan tab" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "Kunci Bilah Samping" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "Semua file (*)" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "Semua file didukung (%1)" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "Buka Dokumen" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "Konfirmasi Penutupan" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "Tutup Tab" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "Anda akan menutup %1 tab. Apakah Anda yakin ingin melanjutkan?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "Ingatkan saya ketika saya berusaha menutup beberapa tab" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "&Salin Jalur" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "&Buka Folder Konten" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "&Lupakan Item Ini" + +#: shell/welcomescreen.cpp:137 +#, kde-format +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "Tidak ada dokumen baru-baru ini" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "Selamat Datang di Okular" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Buka Dokumen..." + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, kde-format +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Dokumen baru-baru ini" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "Lupakan Semuanya" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "Sembunyikan layar selamat datang" + +#~ msgid "Geometry with Comment" +#~ msgstr "Geometri dengan Komentar" + +#~ msgid "Geometry" +#~ msgstr "Geometri" + +#~ msgid "Modified: %1" +#~ msgstr "Dimodifikasi: %1" + +#~ msgid "Find..." +#~ msgstr "Temukan..." + +#~ msgid "Go To Page..." +#~ msgstr "Menuju Ke Halaman..." + +#~ msgid "Play movie..." +#~ msgstr "Putar filem..." + +#~ msgid "Search..." +#~ msgstr "Cari..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "&Simpan Sebagai..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "&Tampilan..." + +#~ msgid "&Sign..." +#~ msgstr "&Tandatangani..." + +#~ msgid "Configure Viewer..." +#~ msgstr "Konfigurasikan Penampil..." + +#~ msgid "Configure Viewer Backends..." +#~ msgstr "Konfigurasikan Backend Penampil..." + +#~ msgid "Configure Backends..." +#~ msgstr "Konfigurasikan Backend..." + +#~ msgid "&Add..." +#~ msgstr "&Tambah..." + +#~ msgid "&Edit..." +#~ msgstr "&Edit..." + +#~ msgctxt "%1 is a file path" +#~ msgid "" +#~ "Could not sign. Invalid certificate password or could not write to '%1'" +#~ msgstr "" +#~ "Tidak bisa ditandatangani. Sandi sertifikat tidak absah atau tidak bisa " +#~ "ditulis ke '%1'" + +#, fuzzy +#~| msgid "" +#~| "All your signing certificates are either not valid yet or are past their " +#~| "validity date." +#~ msgid "All your signing certificates are invalid" +#~ msgstr "" +#~ "Semua sertifikat tandatangan Anda antara tidak valid atau tanggal " +#~ "kebasaannya sudah kedaluwarsa" + +#~ msgid "Unsigned Signature %1" +#~ msgstr "Tanda Tangan Tidak Tertandatangani %1" + +#, fuzzy +#~| msgctxt "Unknown author" +#~| msgid "Unknown" +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "Tak diketahui" + +#, fuzzy +#~| msgid "Unsigned Signature %1" +#~ msgctxt "Signature type" +#~ msgid "Unsigned signature" +#~ msgstr "Tanda Tangan Tidak Tertandatangani %1" + +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "Spinbox prefix: Advance automatically: every n seconds" +#~ msgid "every " +#~ msgstr "setiap " + +#~ msgctxt "Suffix for the pen width, eg '10 px'" +#~ msgid " px" +#~ msgstr " px" + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " %" + +#, fuzzy +#~| msgctxt "%1 is a file path" +#~| msgid "" +#~| "Could not sign. Invalid certificate password or could not write to '%1'" +#~ msgctxt "%1 is a file path" +#~ msgid "Could not sign. Could not write to '%1'" +#~ msgstr "" +#~ "Tidak bisa ditandatangani. Sandi sertifikat tidak absah atau tidak bisa " +#~ "ditulis ke '%1'" + +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "Pas Lebar" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "Pas Halaman" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Auto Fit" +#~ msgstr "Auto Pas" + +#~ msgid "*|All Files" +#~ msgstr "*|Semua File" + +#~ msgid "Missing alert type" +#~ msgstr "Tipe sinyal hilang" + +#~ msgid "" +#~ "The file '%1' has been modified by another program, which means it can no " +#~ "longer be saved." +#~ msgstr "" +#~ "File '%1' telah dimodifikasi oleh program lainnya, yang berati itu tidak " +#~ "bisa lagi disimpan." + +#~ msgid "Show Sidebar" +#~ msgstr "Tampilkan Bilah Samping" + +#~ msgctxt "@info" +#~ msgid "" +#~ "experimental feature.Stamps inserted in PDF documents are " +#~ "not visible in PDF readers other than Okular." +#~ msgstr "" +#~ "fitur percobaan.Stempel yang disisipkan dalam dokumen PDF " +#~ "belumlah terlihat dalam pembaca PDF lain selain Okular." + +#~ msgctxt "@info" +#~ msgid "" +#~ "The version of the Poppler library this Okular was compiled with does not " +#~ "support signing documents with passwords. Please ask your provider to " +#~ "update it to 22.02 or later." +#~ msgstr "" +#~ "Versi pustaka Poppler yang dikompilasi dengan Okular ini tidak mendukung " +#~ "penandatanganan dokumen dengan kata sandi. Silakan minta penyedia Anda " +#~ "untuk memperbaruinya ke 22.02 atau lebih baru." + +#~ msgctxt "@title:window" +#~ msgid "Poppler library is too old" +#~ msgstr "Pustaka Poppler terlalu usang" + +#~ msgctxt "@info" +#~ msgid "" +#~ "Stamps inserted in PDF documents are not visible in PDF readers other " +#~ "than Okular" +#~ msgstr "" +#~ "Stampel yang dimasukkan ke dalam dokumen PDF tidak terlihat di pembaca " +#~ "PDF selain Okular" + +#~ msgctxt "@title:window" +#~ msgid "Experimental feature" +#~ msgstr "Fitur eksperimental" + +#~ msgid "Remove Bookmarks" +#~ msgstr "Buang Markah" + +#, fuzzy +#~| msgid "&Annotations" +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "&Anotasi" + +#, fuzzy +#~| msgid "Highlight" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "Sorot" + +#, fuzzy +#~| msgid "Underline" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Underline" +#~ msgstr "Garisbawahi" + +#, fuzzy +#~| msgid "Squiggle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Squiggle" +#~ msgstr "Garis Berlekuk-lekuk" + +#, fuzzy +#~| msgid "Strike Out" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Strike Out" +#~ msgstr "Garis-tengah" + +#, fuzzy +#~| msgid "Insert" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "Sisispkan" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "Catatan Dalam Baris" + +#, fuzzy +#~| msgctxt "@action:intoolbar Annotation tool" +#~| msgid "Popup Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "Catatan Sembul" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a freehand line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Freehand Line" +#~ msgstr "Gambari sebuah garis bidang tangan" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a straight line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Straight line" +#~ msgstr "Gambari sebuah garis lurus" + +#, fuzzy +#~| msgctxt "@action:intoolbar Annotation tool" +#~| msgid "Arrow" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Arrow" +#~ msgstr "Panah" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a rectangle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Rectangle" +#~ msgstr "Gambari sebuah persegi" + +#, fuzzy +#~| msgid "Ellipse" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Ellipse" +#~ msgstr "Bulat" + +#, fuzzy +#~| msgid "Polygon" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Polygon" +#~ msgstr "Segibanyak" + +#, fuzzy +#~| msgid "Highlighter" +#~ msgid "Highlight in Yellow" +#~ msgstr "Penyorot" + +#, fuzzy +#~| msgid "Highlight with Comment" +#~ msgid "Highlight in Green" +#~ msgstr "Sorotan dengan Komentar" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgid "Insert Inline Note" +#~ msgstr "Catatan Dalam Baris" + +#, fuzzy +#~| msgctxt "@action:intoolbar Annotation tool" +#~| msgid "Popup Note" +#~ msgid "Insert Popup Note" +#~ msgstr "Catatan Sembul" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "Pilih teks" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "Pilih teks" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "Pilih teks" + +#, fuzzy +#~| msgid "&Magnifier" +#~ msgctxt "verb" +#~ msgid "&Magnify" +#~ msgstr "&Suryakanta" + +#~ msgid "Bookmark annotation" +#~ msgstr "Markah anotasi" + +#~ msgid "&Toggle Change Colors" +#~ msgstr "&Toggle Perubahan Warna" + +#, fuzzy +#~| msgid "Enable transitions" +#~ msgctxt "@option:check Config dialog, presentation page, transitions" +#~ msgid "Enable transitions" +#~ msgstr "Fungsikan transisi" + +#, fuzzy +#~| msgid "Advance every:" +#~ msgctxt "@label:spinbox Config dialog, presentation page" +#~ msgid "Advance every:" +#~ msgstr "Lanjut setiap:" + +#, fuzzy +#~| msgid "Use custom background color" +#~ msgctxt "@label:listbox Config dialog, general page" +#~ msgid "Custom background color:" +#~ msgstr "Gunakan kustom warna latarbelakang" + +#~ msgid "Draw border around &Images" +#~ msgstr "Gambari bingkai sekitar &Citra" + +#~ msgid "Speech" +#~ msgstr "Ucapan" + +#~ msgid "Engine" +#~ msgstr "Mesin" + +#~ msgid "Identity" +#~ msgstr "Identitas" + +#~ msgid "Au&thor:" +#~ msgstr "Pe&nulis:" + +#~ msgid "View Options" +#~ msgstr "Opsi Tampilan" + +#~ msgctxt "@info:whatsthis" +#~ msgid "" +#~ "Defines the default zoom mode for files which were never opened before.\n" +#~ "For files which were opened before the previous zoom is applied." +#~ msgstr "" +#~ "Menentukan mode zoom baku untuk file yang sebelumnya tisak pernah " +#~ "dibuka.\n" +#~ "Untuk file yang sebelumnya dibuka zoom sebelumnya diterapkan." + +#~ msgid "Navigation" +#~ msgstr "Navigasi" + +#~ msgid "Placement" +#~ msgstr "Penempatan" + +#~ msgid "Screen:" +#~ msgstr "Layar:" + +#~ msgid "Drawing Tool Configuration" +#~ msgstr "Konfigurasi Alat Penggambaran" + +#~ msgid "&Get Books From Internet..." +#~ msgstr "&Dapatkan Buku Dari Internet..." + +#~ msgid "Reviews" +#~ msgstr "Tinjauan" + +#, fuzzy +#~| msgid "V%1" +#~ msgctxt "@item:inlistbox Color name" +#~ msgid "%1" +#~ msgstr "V%1" + +#~ msgid "Hide Forms" +#~ msgstr "Sembunyikan Formulir" + +#~ msgid "&Review" +#~ msgstr "&Tinjauan" + +#~ msgid "Annotations author" +#~ msgstr "Penulis anotasi" + +#~ msgid "Please insert your name or initials:" +#~ msgstr "Silakan sisipkan nama atau inisialmu:" + +#~ msgid "Show &Navigation Panel" +#~ msgstr "Tampilkan &Panel Navigasi" + +#~ msgid "Show Text" +#~ msgstr "Tampilkan Teks" + +#~ msgid "Small Icons" +#~ msgstr "Ikon Kecil" + +#~ msgid "Large Icons" +#~ msgstr "Ikon Besar" + +#~ msgid "" +#~ "Click to use the current selection tool\n" +#~ "Click on the arrow to choose another selection tool" +#~ msgstr "" +#~ "Klik untuk menggunakan alat pemilihan saat ini\n" +#~ "Klik pada panah untuk memilih alat pemilihan lainnya" + +#~ msgid "Created: %1" +#~ msgstr "Diciptakan: %1" + +#~ msgid "Style" +#~ msgstr "Gaya" + +#~ msgid "&Size:" +#~ msgstr "&Ukuran:" + +#~ msgid "Inner color:" +#~ msgstr "Warna dalam:" + +#~ msgid "Name: %1" +#~ msgstr "Nama: %1" + +#~ msgid "Size: %1" +#~ msgstr "Ukuran: %1" + +#~ msgid "&Browse Tool" +#~ msgstr "&Alat Telusur" + +#~ msgid "&Zoom Tool" +#~ msgstr "&Alat Zoom " + +#~ msgctxt "Zoom Tool" +#~ msgid "Zoom" +#~ msgstr "Zoom " + +#~ msgctxt "Select Tool" +#~ msgid "Selection" +#~ msgstr "Pemilihan" + +#~ msgid "&Text Selection Tool" +#~ msgstr "&Alat Pemilihan Teks" + +#~ msgid "T&able Selection Tool" +#~ msgstr "&Alat Pemilihan Tabel" + +#, fuzzy +#~| msgctxt "Symbol for caret annotations" +#~| msgid "None" +#~ msgid " None" +#~ msgstr "Nihil" diff --git a/po/ie/okular.po b/po/ie/okular.po new file mode 100644 index 0000000..6c1e3fe --- /dev/null +++ b/po/ie/okular.po @@ -0,0 +1,6018 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2022-11-01 00:05+0700\n" +"Last-Translator: OIS \n" +"Language-Team: Interlingue \n" +"Language: ie\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 1.8.12\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "OIS" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "mistresssilvara@hotmail.com" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Okular, un universal visor de documentes" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "Anteyan mantenetor" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "Developator" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymanski" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "Enrico Ros" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "Developator de KPDF" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "Eugene Trounev" + +#: aboutdata.h:36 +#, fuzzy, kde-format +msgid "Annotations artwork" +msgstr "Null anotationes" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "Jiri Baum - NICTA" + +#: aboutdata.h:37 +#, fuzzy, kde-format +msgid "Table selection tool" +msgstr "Utensile" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "Fabio D'Urso" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "Ameliorationes de anotationes" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "Ear a págine %1" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "Aperter un extern file" + +#: core/action.cpp:197 +#, fuzzy, kde-format +#| msgid "Execute '%1'..." +msgid "Execute '%1'…" +msgstr "Executer «%1»..." + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "Prim págine" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "Sequent linea" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "Sequent págine" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "Ultim págine" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "Retro" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "Avan" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Surtir" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "Iniciar un presentation" + +#: core/action.cpp:310 +#, fuzzy, kde-format +msgid "End Presentation" +msgstr "Li presentation es finit. Clicca por salir." + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go To Page…" +msgstr "Ear a págine" + +#: core/action.cpp:365 +#, fuzzy, kde-format +#| msgid "Play sound..." +msgid "Play sound…" +msgstr "Reproducter un son..." + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "Scripte JavaScript" + +#: core/action.cpp:483 +#, fuzzy, kde-format +msgid "Play movie…" +msgstr "Reproducter o pausar li film" + +#: core/action.cpp:554 +#, fuzzy, kde-format +msgid "Play movie" +msgstr "Reproducter o pausar li film" + +#: core/action.cpp:556 +#, fuzzy, kde-format +msgid "Stop movie" +msgstr "_Film" + +#: core/action.cpp:558 +#, fuzzy, kde-format +msgid "Pause movie" +msgstr "Reproducter o pausar li film" + +#: core/action.cpp:560 +#, fuzzy, kde-format +msgid "Resume movie" +msgstr "&Reprender" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "" + +#: core/chooseenginedialog.cpp:22 +#, fuzzy, kde-format +msgid "Backend Selection" +msgstr "Infrastructura:" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
%1 (%2).

Please select which one to use:
" +msgstr "" + +#: core/document.cpp:200 +#, fuzzy, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "Págines" + +#: core/document.cpp:221 +#, fuzzy, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "portrete" + +#: core/document.cpp:223 +#, fuzzy, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "paisage" + +#: core/document.cpp:246 +#, fuzzy, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1, %2 (%3)" + +#: core/document.cpp:248 +#, fuzzy, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1, %2 (%3)" + +#: core/document.cpp:1702 +#, fuzzy, kde-format +msgid "Continuing search from beginning" +msgstr "Remover ti-ci criterie ex li sercha" + +#: core/document.cpp:1705 +#, fuzzy, kde-format +msgid "Continuing search from bottom" +msgstr "In li inicie, continuar del fine?" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "" + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, fuzzy, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "Null anotationes" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "" + +#: core/document.cpp:4801 +#, fuzzy, kde-format +msgid "Could not open a temporary file" +msgstr "Ne successat remover li temporari file" + +#: core/document.cpp:4803 +#, fuzzy, kde-format +msgid "Print conversion failed" +msgstr "Ne successat converter caracteres por «%s»" + +#: core/document.cpp:4805 +#, fuzzy, kde-format +msgid "Printing process crashed" +msgstr "Processe" + +#: core/document.cpp:4807 +#, fuzzy, kde-format +msgid "Printing process could not start" +msgstr "Ne successat lansar li processu %1." + +#: core/document.cpp:4809 +#, fuzzy, kde-format +msgid "Printing to file failed" +msgstr "" +"Un errore evenit printante li file:\n" +"%s" + +#: core/document.cpp:4811 +#, fuzzy, kde-format +msgid "Printer was in invalid state" +msgstr "Printator" + +#: core/document.cpp:4813 +#, fuzzy, kde-format +msgid "Unable to find file to print" +msgstr "&Trovar un file" + +#: core/document.cpp:4815 +#, fuzzy, kde-format +msgid "There was no file to print" +msgstr "Printar a file..." + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" + +#: core/document.cpp:4819 +#, fuzzy, kde-format +msgid "The page print size is invalid" +msgstr "Printar numerós de págines" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, fuzzy, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "Li file o fólder %1 ne existe." + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Titul" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Subjecte" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Descrition" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "Autor" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Creator" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Productor" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "Jure editorial" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "Págines" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Creat" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Modificat" + +#: core/document.cpp:6032 +#, kde-format +msgid "MIME Type" +msgstr "MIME-tip" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "Categorie" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Clav-paroles" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "Rute de file" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "Grandore de file" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "Dimension de págine" + +#: core/documentcommands.cpp:62 +#, fuzzy, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "Adjunter un anotation textual" + +#: core/documentcommands.cpp:108 +#, fuzzy, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "Remover anotation" + +#: core/documentcommands.cpp:155 +#, fuzzy, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "Proprietás del anotation..." + +#: core/documentcommands.cpp:190 +#, fuzzy, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "Anotation" + +#: core/documentcommands.cpp:263 +#, fuzzy, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "Anotation" + +#: core/documentcommands.cpp:333 +#, fuzzy, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "Redacte files textual" + +#: core/documentcommands.cpp:398 +#, fuzzy, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "Anotation" + +#: core/documentcommands.cpp:447 +#, fuzzy, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "_Contenete" + +#: core/documentcommands.cpp:494 +#, fuzzy, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "Modificar li liste" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "" + +#: core/generator.cpp:790 +#, fuzzy, kde-format +#| msgid "Plain &Text..." +msgid "Plain &Text…" +msgstr "Simplic &textu..." + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "Textu OpenDocument" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, fuzzy, kde-format +msgid "Print Options" +msgstr "Printar ye" + +#: core/printoptionswidget.cpp:23 +#, fuzzy, kde-format +msgid "Fit to printable area" +msgstr "Area" + +#: core/printoptionswidget.cpp:24 +#, fuzzy, kde-format +msgid "Fit to full page" +msgstr "Ajustar al págine" + +#: core/printoptionswidget.cpp:25 +#, fuzzy, kde-format +msgid "Scale mode:" +msgstr "_Scale:" + +#: core/script/js_app.cpp:206 +#, fuzzy, kde-format +msgid "Do not show this message again" +msgstr "Ne monstrar ti missage denov" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "Índisponibil" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" + +#: core/signatureutils.cpp:498 +#, fuzzy, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "Ark ne successat extraer %1." + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "" + +#: core/signatureutils.cpp:504 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" + +#: core/signatureutils.cpp:506 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown signing error" +msgstr "Ínconosset file" + +#: core/sourcereference.cpp:103 +#, fuzzy, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Orígin" + +#: core/textdocumentsettings.cpp:34 +#, fuzzy, kde-format +msgid "&Default Font:" +msgstr "Fonde predefinit:" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "Version" + +#: gui/certificatemodel.cpp:41 +#, kde-format +msgid "Serial Number" +msgstr "Nró serial" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "Emissor" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, fuzzy, kde-format +msgid "Issued On" +msgstr "Emisset de" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, fuzzy, kde-format +msgid "Expires On" +msgstr "Expira:" + +#: gui/certificatemodel.cpp:49 +#, fuzzy, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Subjecte" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "Clave public" + +#: gui/certificatemodel.cpp:53 +#, fuzzy, kde-format +msgid "Key Usage" +msgstr "Usage:\n" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "V%1" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "%1 (%2 bits)" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "Proprietá" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "Valore" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, fuzzy, kde-format +msgid "Pop-up Note" +msgstr "POP" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "Scri-machine" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, fuzzy, kde-format +msgid "Inline Note" +msgstr "PGP/In linea" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +msgid "Arrow with Comment" +msgstr "Poligon" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "Flechette" + +#: gui/guiutils.cpp:59 +#, fuzzy, kde-format +msgid "Straight Line with Comment" +msgstr "Proprietás del rect linea" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "Rect linea" + +#: gui/guiutils.cpp:63 +#, fuzzy, kde-format +msgid "Polygon with Comment" +msgstr "Poligon" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "Poligon" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +msgid "Rectangle with Comment" +msgstr "Proprietás del stampa" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "Rectangul" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +msgid "Ellipse with Comment" +msgstr "(Null nota)" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "Ellipse" + +#: gui/guiutils.cpp:83 +#, fuzzy, kde-format +msgid "Highlight with Comment" +msgstr "Note:" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "Marca" + +#: gui/guiutils.cpp:87 +#, fuzzy, kde-format +msgid "Squiggle with Comment" +msgstr "Sublinea undeatri" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "Sublinea undeatri" + +#: gui/guiutils.cpp:91 +#, fuzzy, kde-format +msgid "Underline with Comment" +msgstr "(Null nota)" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "Sublinea" + +#: gui/guiutils.cpp:95 +#, fuzzy, kde-format +msgid "Strike Out with Comment" +msgstr "Trastrec" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "Trastrec" + +#: gui/guiutils.cpp:102 +#, fuzzy, kde-format +msgid "Stamp with Comment" +msgstr "Proprietás del stampa" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, fuzzy, kde-format +msgid "Stamp" +msgstr "Proprietás del stampa" + +#: gui/guiutils.cpp:106 +#, fuzzy, kde-format +msgid "Freehand Line with Comment" +msgstr "In_commentar linea(s)" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, fuzzy, kde-format +msgid "Freehand Line" +msgstr "Lineal - intrada" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "" + +#: gui/guiutils.cpp:114 +#, fuzzy, kde-format +msgid "File Attachment" +msgstr "Atachament:" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "Son" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "Film" + +#: gui/guiutils.cpp:126 +#, fuzzy, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Ecran" + +#: gui/guiutils.cpp:130 +#, fuzzy, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "Widget" + +#: gui/guiutils.cpp:134 +#, fuzzy, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "Formatat textu" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation" +msgstr "Anotation" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "Ínconosset" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Autor: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, fuzzy, kde-format +msgid "Where do you want to save %1?" +msgstr "Esque vu vole gardar li modificationes?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, fuzzy, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "Ne successat aperter un file por scrition: %1" + +#: gui/signatureguiutils.cpp:42 +#, fuzzy, kde-format +msgid "The signature is cryptographically valid." +msgstr "Ínfidet signature valid" + +#: gui/signatureguiutils.cpp:44 +#, fuzzy, kde-format +msgid "The signature is cryptographically invalid." +msgstr "Signature ínvalid" + +#: gui/signatureguiutils.cpp:46 +#, fuzzy, kde-format +msgid "Digest Mismatch occurred." +msgstr "Identificator ne es egal" + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "" + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "" + +#: gui/signatureguiutils.cpp:52 +#, fuzzy, kde-format +msgid "The signature could not be verified." +msgstr "Signature" + +#: gui/signatureguiutils.cpp:60 +#, fuzzy, kde-format +msgid "Certificate is Trusted." +msgstr "Ne fidet" + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "" + +#: gui/signatureguiutils.cpp:64 +#, fuzzy, kde-format +msgid "Certificate issuer is unknown." +msgstr "Emissor" + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "Li certificate esset revocat." + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "Li certificate ha expirat." + +#: gui/signatureguiutils.cpp:70 +#, fuzzy, kde-format +msgid "Certificate has not yet been verified." +msgstr "Li certificate esset revocat." + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "" + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "MD2" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "MD5" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "SHA1" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "SHA256" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "SHA384" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "SHA512" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "SHA224" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "Ínconosset algoritme" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "RSA" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "DSA" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "EC" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "Ínconosset tip" + +#: gui/signatureguiutils.cpp:120 +#, fuzzy, kde-format +msgid "Digital Signature" +msgstr "Digital signature OpenPGP" + +#: gui/signatureguiutils.cpp:123 +#, fuzzy, kde-format +msgid "Non-Repudiation" +msgstr "Li titul deve esser present.\n" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "Ciffrar claves" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "Deciffrar claves" + +#: gui/signatureguiutils.cpp:132 +#, fuzzy, kde-format +msgid "Key Agreement" +msgstr "Acorde de licentie" + +#: gui/signatureguiutils.cpp:135 +#, fuzzy, kde-format +msgid "Sign Certificate" +msgstr "&Signar..." + +#: gui/signatureguiutils.cpp:138 +#, fuzzy, kde-format +msgid "Sign CRL" +msgstr "&Signar..." + +#: gui/signatureguiutils.cpp:141 +#, fuzzy, kde-format +msgid "Encrypt Only" +msgstr "RSA (solmen ciffrar)" + +#: gui/signatureguiutils.cpp:144 +#, fuzzy, kde-format +msgid "No Usage Specified" +msgstr "Ínspecificat" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr "" + +#: gui/signatureguiutils.cpp:165 +#, fuzzy, kde-format +msgid "The document has not been modified since it was signed." +msgstr "Li file %s ha esset modificat pos que it esset cargat." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "" + +#: gui/signatureguiutils.cpp:208 +#, fuzzy, kde-format +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "Signat de:" + +#: gui/signatureguiutils.cpp:211 +#, fuzzy, kde-format +msgid "This document is digitally signed." +msgstr "Signat de:" + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "" + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" + +#: gui/signaturemodel.cpp:141 +#, fuzzy, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "" +"\n" +"Validita del signature: %s" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, fuzzy, kde-format +msgid "Field: %1 on page %2" +msgstr "Reconossente págine %1 (%2 de %3)" + +#: gui/signaturemodel.cpp:152 +#, fuzzy, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "%1, o '%2'" + +#: gui/signaturemodel.cpp:167 +#, fuzzy, kde-format +msgid "Signing Time: %1" +msgstr "Signation" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "Cause: %1" + +#: gui/signaturemodel.cpp:177 +#, fuzzy, kde-format +#| msgid "Location:" +msgid "Location: %1" +msgstr "Localisation:" + +#: gui/signaturemodel.cpp:185 +#, fuzzy, kde-format +#| msgid "Signatures" +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "Signatures" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "" + +#: gui/signaturemodel.cpp:193 +#, fuzzy, kde-format +#| msgctxt "Unknown author" +#| msgid "Unknown" +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "Ínconosset" + +#: gui/signaturemodel.cpp:195 +#, fuzzy, kde-format +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "" +"\n" +"Validita del signature: %s" + +#: gui/signaturemodel.cpp:201 +#, fuzzy, kde-format +msgid "Signature Type: %1" +msgstr "" +"\n" +"Validita del signature: %s" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "Rubi" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "Orangi" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "Yelb" + +#: part/annotationactionhandler.cpp:151 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "Verdi" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "Cian" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "Blu" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "Magenta" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "Blanc" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "Gris" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "Nigri" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "Largore %1" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1%" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:297 +#, fuzzy, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "Ameliorationes de anotationes" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:299 +#, fuzzy, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "Ameliorationes de anotationes" + +#: part/annotationactionhandler.cpp:300 +#, fuzzy, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "Ameliorationes de anotationes" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:308 +#, fuzzy, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Anotation" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "" + +#: part/annotationactionhandler.cpp:314 +#, fuzzy, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Adjunter un anotation textual" + +#: part/annotationactionhandler.cpp:316 +#, fuzzy, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "Color de borde del activ element" + +#: part/annotationactionhandler.cpp:318 +#, fuzzy, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Anotation" + +#: part/annotationactionhandler.cpp:322 +#, fuzzy, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Anotation" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "" + +#: part/annotationactionhandler.cpp:328 +#, fuzzy, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "Anotation" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" + +#: part/annotationactionhandler.cpp:341 +#, fuzzy, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Anotation" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "Color" + +#: part/annotationactionhandler.cpp:434 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "Color de funde del activ element" + +#: part/annotationactionhandler.cpp:435 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "Transparent" + +#: part/annotationactionhandler.cpp:445 +#, fuzzy, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "Quam un color personalisat:" + +#: part/annotationactionhandler.cpp:499 +#, fuzzy, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "Selecter un color" + +#: part/annotationactionhandler.cpp:552 +#, kde-format +msgid "&Annotations" +msgstr "&Anotationes" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "Celar" + +#: part/annotationactionhandler.cpp:554 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Monstrar li contenete con plu detallies" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "Sublinear" + +#: part/annotationactionhandler.cpp:559 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "Sublinea undeatri" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "Trastrecar" + +#: part/annotationactionhandler.cpp:562 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Scri-machine" + +#: part/annotationactionhandler.cpp:563 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "PGP/In linea" + +#: part/annotationactionhandler.cpp:564 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "Localisation de popup" + +#: part/annotationactionhandler.cpp:565 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "Lineal - intrada" + +#: part/annotationactionhandler.cpp:567 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "Rect linea" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "Flechette" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "Rectangul" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "Ellipse" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "Poligon" + +#: part/annotationactionhandler.cpp:572 +#, fuzzy, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "Optim f_ormas" + +#: part/annotationactionhandler.cpp:618 +#, fuzzy, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "Proprietás del stampa" + +#: part/annotationactionhandler.cpp:638 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "&Rapid" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "" + +#: part/annotationactionhandler.cpp:651 +#, fuzzy, kde-format +msgid "Quick Annotation Bar" +msgstr "Anotation" + +#: part/annotationactionhandler.cpp:665 +#, fuzzy, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "&Anotationes" + +#: part/annotationactionhandler.cpp:668 +#, fuzzy, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "&Activ" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "Fonde" + +#: part/annotationactionhandler.cpp:681 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Anotation" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "Largore de linea" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "Opacitá" + +#: part/annotationactionhandler.cpp:696 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1%" + +#: part/annotationmodel.cpp:320 +#, fuzzy, kde-format +#| msgid "Page %1" +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "Págine %1" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "Págine %1" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "Anotation" +msgstr[1] "%1 anotationes" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, fuzzy, kde-format +msgid "&Open Pop-up Note" +msgstr "Monstrar li menú (al apuntator)" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, fuzzy, kde-format +msgid "Remove Bookmark" +msgstr "Remover li marca-págine" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Adjuncter un marca-págine" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Text to Clipboard" +msgstr "Copiar al Paperiere" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, fuzzy, kde-format +msgid "Copy forbidden by DRM" +msgstr " (DRM)" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "&Remover" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "&Proprietás" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, fuzzy, kde-format +#| msgctxt "%1 is the name of the file to save" +#| msgid "&Save '%1'..." +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "&Gardar «%1»..." + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "&Aspecte" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "&General" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&Autor:" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "Creat:" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "Modificat:" + +#: part/annotationpropertiesdialog.cpp:108 +#, fuzzy, kde-format +msgid "Pop-up Note Properties" +msgstr "Proprietas del note" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "Proprietás del scri-machine" + +#: part/annotationpropertiesdialog.cpp:113 +#, fuzzy, kde-format +msgid "Inline Note Properties" +msgstr "Proprietas del note" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "Proprietás del rect linea" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "Proprietás del poligon" + +#: part/annotationpropertiesdialog.cpp:125 +#, fuzzy, kde-format +msgid "Geometry Properties" +msgstr "Geometrie" + +#: part/annotationpropertiesdialog.cpp:128 +#, fuzzy, kde-format +msgid "Text Markup Properties" +msgstr "Proprietás del textu" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "Proprietás del stampa" + +#: part/annotationpropertiesdialog.cpp:134 +#, fuzzy, kde-format +msgid "Freehand Line Properties" +msgstr "Proprietás del rect linea" + +#: part/annotationpropertiesdialog.cpp:137 +#, fuzzy, kde-format +msgid "Caret Properties" +msgstr "&Proprietás..." + +#: part/annotationpropertiesdialog.cpp:140 +#, fuzzy, kde-format +msgid "File Attachment Properties" +msgstr "_Proprietás..." + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "Proprietás del son" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "Proprietás del film" + +#: part/annotationpropertiesdialog.cpp:149 +#, fuzzy, kde-format +msgid "Annotation Properties" +msgstr "Proprietás del anotation" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, fuzzy, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "_Selecter un personal icone" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, fuzzy, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "Ark ne successat extraer %1." + +#: part/annotationwidgets.cpp:158 +#, fuzzy, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "File es ínvalid" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&Color:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%1%" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "&Opacitá:" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "Icone:" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "Comenta" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "Auxilie" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "Inserter" + +#: part/annotationwidgets.cpp:367 +#, fuzzy, kde-format +msgid "Key" +msgstr "Clave" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "Nov paragraf" + +#: part/annotationwidgets.cpp:369 +#, fuzzy, kde-format +msgid "Note" +msgstr "Nota" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "Paragraf" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Fonde:" + +#: part/annotationwidgets.cpp:387 +#, fuzzy, kde-format +msgid "Text &color:" +msgstr "Color de _textu:" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "&Alignament:" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "Levul" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "Centre" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "Dextri" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "Largore de &borde:" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "Aprobat" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "Quam es" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "Confidential" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "Esquisse" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "Experimental" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "Expirat" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "Final" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "Por comentas" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "Por publication" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "Ne aprobat" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "Ne por publication" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "Vendit" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "Ultrasecret" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "Marca-págine" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "Information" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, fuzzy, kde-format +msgid "Stamp symbol:" +msgstr "Simbol" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, fuzzy, kde-format +msgid "&Width:" +msgstr "_Largore:" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "Inicie del linea:" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "Fine del linea:" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "Quadrat" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "Circul" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "Rombe" + +#: part/annotationwidgets.cpp:512 +#, fuzzy, kde-format +msgid "Open Arrow" +msgstr "Flechette" + +#: part/annotationwidgets.cpp:513 +#, fuzzy, kde-format +msgid "Closed Arrow" +msgstr "Flechette" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "Null" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "" + +#: part/annotationwidgets.cpp:516 +#, fuzzy, kde-format +msgid "Right Open Arrow" +msgstr "Flechette" + +#: part/annotationwidgets.cpp:517 +#, fuzzy, kde-format +msgid "Right Closed Arrow" +msgstr "Flechette" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "" + +#: part/annotationwidgets.cpp:531 +#, fuzzy, kde-format +msgid "Leader line length:" +msgstr "_Max longore de linea:" + +#: part/annotationwidgets.cpp:533 +#, fuzzy, kde-format +msgid "Leader line extensions length:" +msgstr "_Max longore de linea:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, fuzzy, kde-format +msgid "Enabled" +msgstr "Permisset" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, fuzzy, kde-format +msgid "Shape fill:" +msgstr "Forma:" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Tip: " + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, fuzzy, kde-format +msgid "Strike out" +msgstr "Trastrecat" + +#: part/annotationwidgets.cpp:745 +#, fuzzy, kde-format +msgid "File attachment symbol:" +msgstr "Atachament:" + +#: part/annotationwidgets.cpp:748 +#, fuzzy, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "Grafico" + +#: part/annotationwidgets.cpp:749 +#, fuzzy, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "Git Push" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "" + +#: part/annotationwidgets.cpp:751 +#, fuzzy, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "Etiquette" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "File" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, fuzzy, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "-" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "Null descrition disponibil" + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "Nómine:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "Descrition:" + +#: part/annotationwidgets.cpp:843 +#, fuzzy, kde-format +msgid "Caret symbol:" +msgstr "Simbol and" + +#: part/annotationwidgets.cpp:845 +#, fuzzy, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "null" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, fuzzy, kde-format +msgid "Close this note" +msgstr "cluder" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, fuzzy, kde-format +msgid "Options" +msgstr "Optiones..." + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" + +#: part/annotwindow.cpp:439 +#, fuzzy, kde-format +msgid "Cannot find latex executable." +msgstr "Ne successat trovar li file lsof in PATH:" + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, fuzzy, kde-format +msgid "LaTeX rendering failed" +msgstr "Presentation" + +#: part/annotwindow.cpp:444 +#, fuzzy, kde-format +msgid "Cannot find dvipng executable." +msgstr "Ne successat trovar li file lsof in PATH:" + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "" + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "" + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +msgstr[1] "" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Marca-págines" + +#: part/bookmarklist.cpp:136 +#, fuzzy, kde-format +msgid "Show for all documents" +msgstr "Cluder omni apertet documentes." + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, fuzzy, kde-format +#| msgid "S&earch:" +msgid "Search…" +msgstr "S&ercha:" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, fuzzy, kde-format +#| msgid "Expand all" +msgid "Expand All" +msgstr "Expander omni" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, fuzzy, kde-format +#| msgid "Collapse all" +msgid "Collapse All" +msgstr "Contraer omni" + +#: part/bookmarklist.cpp:263 +#, fuzzy, kde-format +msgid "Go to This Bookmark" +msgstr "Ear a marca-págines" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, fuzzy, kde-format +msgid "Rename Bookmark" +msgstr "_Renominar" + +#: part/bookmarklist.cpp:299 +#, fuzzy, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Aperter un document" + +#: part/bookmarklist.cpp:302 +#, fuzzy, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "Remover ex marca-págines" + +#: part/certificateviewer.cpp:47 +#, fuzzy, kde-format +msgid "Certificate Viewer" +msgstr "Un _visor..." + +#: part/certificateviewer.cpp:50 +#, fuzzy, kde-format +#| msgid "Export..." +msgid "Export…" +msgstr "Exportar..." + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "General" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "Emisset de" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "Nómine comun (CN):" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "E-post" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "Organisation (O):" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "Emisset a" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "Validitá" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "Fingre-printes" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "Fingre-print SHA-1" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "Fingre-print SHA-256" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "Detallies" + +#: part/certificateviewer.cpp:107 +#, fuzzy, kde-format +msgid "Certificate Data:" +msgstr "Data" + +#: part/certificateviewer.cpp:159 +#, fuzzy, kde-format +msgid "Where do you want to save this certificate?" +msgstr "Catalog esset modificat. Esque vu vole salvar li modificationes?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "File de certificate (*.cer)" + +#: part/certificateviewer.cpp:163 +#, fuzzy, kde-format +msgid "Could not export the certificate" +msgstr "_Exportar li certificate" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "Mode de &color" + +#: part/colormodemenu.cpp:21 +#, fuzzy, kde-format +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "Colores:" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "&Normal colores" + +#: part/colormodemenu.cpp:41 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "&Inverter colores" + +#: part/colormodemenu.cpp:42 +#, fuzzy, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "Color del apere" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "" + +#: part/colormodemenu.cpp:46 +#, fuzzy, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "Monocrom" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "Inverter &luciditá" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "Inverter l&uma (sRGB lineari)" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "Inverter luma (&simetric)" + +#: part/colormodemenu.cpp:58 +#, fuzzy, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "C_olor:" + +#: part/colormodemenu.cpp:61 +#, fuzzy, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "C_olor:" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "Rubi" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "Verdi" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "Blu" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "Yelb" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "Nigri" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "Blanc" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, fuzzy, kde-format +msgid "Yellow Highlighter" +msgstr "Yelb" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, fuzzy, kde-format +msgid "Green Highlighter" +msgstr "&Verdi:" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "Inserter textu" + +#: part/dlgaccessibility.cpp:38 +#, fuzzy, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "Incadrar miniaturas" + +#: part/dlgaccessibility.cpp:48 +#, fuzzy, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "Colores:" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "" + +#: part/dlgaccessibility.cpp:60 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "Inverter colores" + +#: part/dlgaccessibility.cpp:61 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "Color del apere" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "" + +#: part/dlgaccessibility.cpp:63 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "Monocrom" + +#: part/dlgaccessibility.cpp:64 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "Inverter &luciditá" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "Inverter luma (sRGB lineari)" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "Inverter luma (simetric)" + +#: part/dlgaccessibility.cpp:67 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "C_olor:" + +#: part/dlgaccessibility.cpp:68 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "Negative" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "Mode de color:" + +#: part/dlgaccessibility.cpp:87 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Color del apere" + +#: part/dlgaccessibility.cpp:99 +#, fuzzy, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Obscur:" + +#: part/dlgaccessibility.cpp:104 +#, fuzzy, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "Selecte un clar rubi color" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "Límite:" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Contraste:" + +#: part/dlgaccessibility.cpp:158 +#, fuzzy, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "Parlation:" + +#: part/dlgaccessibility.cpp:165 +#, fuzzy, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "Parlation:" + +#: part/dlgannotations.cpp:25 +#, fuzzy, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Anotation" + +#: part/dlgannotations.cpp:26 +#, fuzzy, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "&Rapid" + +#: part/dlgannotations.cpp:28 +#, fuzzy, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Anotation" + +#: part/dlgannotations.cpp:34 +#, kde-format +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "Autor:" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" + +#: part/dlgannotations.cpp:48 +#, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

Quick Annotation Tools

" +msgstr "" + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" + +#: part/dlgeditor.cpp:29 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "Personalisat textu" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Cliente Emacs" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "Cliente LyX" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "TeXstudio" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "TeXiFy IDEA" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "Redactor:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
\n" +"You can also put few placeholders:\n" +"
    \n" +"
  • %f - the file name
  • \n" +"
  • %l - the line of the file to be reached
  • \n" +"
  • %c - the column of the file to be reached
  • \n" +"
\n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "Comande:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "Usar glissid rulament" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "Aspecte:" + +#: part/dlggeneral.cpp:41 +#, fuzzy, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "_Monstrar..." + +#: part/dlggeneral.cpp:48 +#, fuzzy, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "Copiar li ligament al págine" + +#: part/dlggeneral.cpp:55 +#, fuzzy, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "Monstrar panel de information" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "" + +#: part/dlggeneral.cpp:74 +#, fuzzy, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "Solmen nómine" + +#: part/dlggeneral.cpp:75 +#, fuzzy, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "Monstrar li rute" + +#: part/dlggeneral.cpp:77 +#, fuzzy, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "Un error evenit monstrante un document de auxilie" + +#: part/dlggeneral.cpp:92 +#, fuzzy, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "Usar un color del funde personalisat" + +#: part/dlggeneral.cpp:114 +#, fuzzy, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "_Caracteristicas" + +#: part/dlggeneral.cpp:121 +#, fuzzy, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "Aperter fólderes in nov cartes per un medial clic" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "" + +#: part/dlggeneral.cpp:139 +#, fuzzy, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr " (DRM)" + +#: part/dlggeneral.cpp:148 +#, fuzzy, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "Automaticmen recargar li document si li file es modificat." + +#: part/dlggeneral.cpp:155 +#, fuzzy, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "Monstrar un dialog" + +#: part/dlggeneral.cpp:162 +#, fuzzy, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "Fender li vise verticalmen" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" + +#: part/dlggeneral.cpp:178 +#, fuzzy, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "Aperter in li mode de exhibition" + +#: part/dlggeneral.cpp:180 +#, fuzzy, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "Aperter in li mode de exhibition" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, fuzzy, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "Columnes" + +#: part/dlggeneral.cpp:220 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%1%" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" + +#: part/dlggeneral.cpp:223 +#, fuzzy, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "Mover li subtitules ad-up/-bass" + +#: part/dlggeneral.cpp:228 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%1%" + +#: part/dlggeneral.cpp:232 +#, fuzzy, kde-format +#| msgctxt "item:inlistbox Config dialog, general page, default zoom" +#| msgid "100%" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "100%" + +#: part/dlggeneral.cpp:233 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "Ajustar a largore" + +#: part/dlggeneral.cpp:234 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "Ajustar al págine" + +#: part/dlggeneral.cpp:235 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "Auto" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "Scale predefinit:" + +#: part/dlgperformance.cpp:26 +#, fuzzy, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "Permisser efectes de transparentie" + +#: part/dlgperformance.cpp:28 +#, kde-format +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "Usage de CPU:" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "Bass" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "Normal" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "Agressiv" + +#: part/dlgperformance.cpp:38 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "Voraci" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "Usage de memorie:" + +#: part/dlgperformance.cpp:54 +#, fuzzy, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "R_upter lineas" + +#: part/dlgperformance.cpp:56 +#, fuzzy, kde-format +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "Presentation" + +#: part/dlgperformance.cpp:59 +#, fuzzy, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "Grafica:" + +#: part/dlgperformance.cpp:64 +#, fuzzy, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "Hinting" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" + +#: part/dlgpresentation.cpp:38 +#, fuzzy, kde-format +#| msgctxt "Advance every %1 seconds" +#| msgid " second" +#| msgid_plural " seconds" +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] " seconde" +msgstr[1] " secondes" + +#: part/dlgpresentation.cpp:45 +#, fuzzy, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "Automaticmen mover al sequent track" + +#: part/dlgpresentation.cpp:53 +#, fuzzy, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "Appender pos li ultim págine" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "" + +#: part/dlgpresentation.cpp:60 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "Ear avan/retro in li playlist" + +#: part/dlgpresentation.cpp:61 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "Despermisset" + +#: part/dlgpresentation.cpp:63 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Navigation per tuchas:" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "Color de funde:" + +#: part/dlgpresentation.cpp:76 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "Capturar pos un ret_arde de" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "Sempre visibil" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "Sempre celat" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "Apuntator del mus:" + +#: part/dlgpresentation.cpp:84 +#, fuzzy, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "Monstrar li LEDs del tastatura" + +#: part/dlgpresentation.cpp:90 +#, fuzzy, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "Monstrar li págine de auxilie" + +#: part/dlgpresentation.cpp:100 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "Usar animationes de menú" + +#: part/dlgpresentation.cpp:101 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "_Vicear" + +#: part/dlgpresentation.cpp:102 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "Efecte de transition:" + +#: part/dlgpresentation.cpp:103 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "Persiane" + +#: part/dlgpresentation.cpp:104 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "Persiane" + +#: part/dlgpresentation.cpp:105 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "Lettre-_bux" + +#: part/dlgpresentation.cpp:106 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "Lettre-_bux" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "Evanescer" + +#: part/dlgpresentation.cpp:109 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "A-_bass" + +#: part/dlgpresentation.cpp:110 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "A _dextri" + +#: part/dlgpresentation.cpp:111 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "Infra" + +#: part/dlgpresentation.cpp:112 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "Horizontal" + +#: part/dlgpresentation.cpp:113 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "Extraher _version ex titul" + +#: part/dlgpresentation.cpp:114 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "Vertical" + +#: part/dlgpresentation.cpp:115 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "Extraher _version ex titul" + +#: part/dlgpresentation.cpp:116 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "A-_bass" + +#: part/dlgpresentation.cpp:117 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "A _dextri" + +#: part/dlgpresentation.cpp:118 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "A levul de A" + +#: part/dlgpresentation.cpp:119 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "Ad-s_upra" + +#: part/dlgpresentation.cpp:121 +#, fuzzy, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Efecte de transition:" + +#: part/dlgpresentation.cpp:130 +#, fuzzy, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "Preferet" + +#: part/dlgpresentation.cpp:137 +#, fuzzy, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

Drawing Tools

" +msgstr "Rubricas H3" + +#: part/dlgpresentation.cpp:171 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Ti ecran" + +#: part/dlgpresentation.cpp:172 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Ti ecran" + +#: part/dlgpresentation.cpp:178 +#, fuzzy, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "1, 2, 3, 4" + +#: part/dlgpresentation.cpp:190 +#, fuzzy, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "Deconexet" + +#: part/drawingtoolactions.cpp:192 +#, fuzzy, kde-format +msgid "Drawing Tool: %1" +msgstr "Dessine" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "Erasor" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "&Nómine:" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "&Tip" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "Aspecte" + +#: part/editannottooldialog.cpp:93 +#, fuzzy, kde-format +msgid "Text markup" +msgstr "" +"Chascun tag posse esser usat per $tag o ${tag}. Internal tags " +"quam $__length deve haver du substrecs in li inicie.\n" +"Li attributes de textu de Pango es supportat." + +#: part/editannottooldialog.cpp:94 +#, fuzzy, kde-format +msgid "Geometrical shape" +msgstr "Forma:" + +#: part/editannottooldialog.cpp:101 +#, fuzzy, kde-format +msgid "Create annotation tool" +msgstr "Anotation" + +#: part/editannottooldialog.cpp:103 +#, fuzzy, kde-format +msgid "Edit annotation tool" +msgstr "Anotation" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "Color:" + +#: part/editdrawingtooldialog.cpp:58 +#, fuzzy, kde-format +msgid "&Pen Width:" +msgstr "Plum (absolut)" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "" + +#: part/editdrawingtooldialog.cpp:79 +#, fuzzy, kde-format +msgid "Create drawing tool" +msgstr "Dessine" + +#: part/editdrawingtooldialog.cpp:84 +#, fuzzy, kde-format +msgid "Edit drawing tool" +msgstr "Dessine" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "Ínconosset" + +#: part/embeddedfilesdialog.cpp:48 +#, fuzzy, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Inb&edat files" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "Vise" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "Nómine" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "Descrition" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "Grandore" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "Creat" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "Modificat" + +#: part/embeddedfilesdialog.cpp:154 +#, fuzzy, kde-format +#| msgid "Save As" +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "Gardar quam" + +#: part/embeddedfilesdialog.cpp:155 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "&Vise" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "" + +#: part/fileprinterpreview.cpp:125 +#, fuzzy, kde-format +msgid "Print Preview" +msgstr "_Previder" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "Cluder" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "" + +#: part/findbar.cpp:49 +#, fuzzy, kde-format +msgid "Text to search for" +msgstr "Provide li textu por sercha in li fil-nómines." + +#: part/findbar.cpp:54 +#, fuzzy, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Seq" + +#: part/findbar.cpp:55 +#, fuzzy, kde-format +msgid "Jump to next match" +msgstr "Ear al sequent correspondentie" + +#: part/findbar.cpp:58 +#, fuzzy, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Precedent" + +#: part/findbar.cpp:59 +#, fuzzy, kde-format +msgid "Jump to previous match" +msgstr "Ear al precedent correspondentie" + +#: part/findbar.cpp:64 +#, fuzzy, kde-format +msgid "Modify search behavior" +msgstr "Conduida" + +#: part/findbar.cpp:66 +#, fuzzy, kde-format +msgid "Case sensitive" +msgstr "Imyandikire y'inyuguti nkuru/nto" + +#: part/findbar.cpp:68 +#, fuzzy, kde-format +msgid "From current page" +msgstr "Págine actual" + +#: part/findbar.cpp:70 +#, fuzzy, kde-format +msgid "Find as you type" +msgstr "_Trovar" + +#: part/formwidgets.cpp:870 +#, fuzzy, kde-format +#| msgid "All files (*)" +msgid "All Files (*)" +msgstr "Omni files (*)" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, fuzzy, kde-format +#| msgctxt "@action:button" +#| msgid "Sign" +msgid "&Sign…" +msgstr "Signar" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "Proprietás del signatura" + +#: part/ktreeviewsearchline.cpp:283 +#, fuzzy, kde-format +msgid "Search Options" +msgstr "Parametres de sercha" + +#: part/ktreeviewsearchline.cpp:284 +#, fuzzy, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "Atenter a MAJ/min" + +#: part/ktreeviewsearchline.cpp:287 +#, fuzzy, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "Expression regulari" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "Strates" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "ex" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "Scalar" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "Scale de 100%" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "&Rotar a dextri" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "Dextri" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "Rotar a &levul" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "Levul" + +#: part/pageview.cpp:540 +#, fuzzy, kde-format +msgid "Original Orientation" +msgstr "_Orientation:" + +#: part/pageview.cpp:546 +#, fuzzy, kde-format +msgid "&Trim View" +msgstr "_Tonder" + +#: part/pageview.cpp:550 +#, fuzzy, kde-format +msgid "&Trim Margins" +msgstr "Márgines:" + +#: part/pageview.cpp:557 +#, fuzzy, kde-format +msgid "Trim To &Selection" +msgstr "_Tonder" + +#: part/pageview.cpp:563 +#, fuzzy, kde-format +msgid "Fit &Width" +msgstr "Ajustar a _largore" + +#: part/pageview.cpp:567 +#, fuzzy, kde-format +msgid "Fit &Page" +msgstr "Ajustar al págine" + +#: part/pageview.cpp:571 +#, fuzzy, kde-format +msgid "&Auto Fit" +msgstr "Auto" + +#: part/pageview.cpp:575 +#, fuzzy, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "Ajustar a largore" + +#: part/pageview.cpp:582 +#, fuzzy, kde-format +msgid "&View Mode" +msgstr "Mode de &vise" + +#: part/pageview.cpp:594 +#, fuzzy, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "Singul _págine" + +#: part/pageview.cpp:595 +#, fuzzy, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "Págines:" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "" + +#: part/pageview.cpp:599 +#, fuzzy, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "Compendie" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "&Continuosi" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "" + +#: part/pageview.cpp:627 +#, fuzzy, kde-format +msgid "&Browse" +msgstr "_Trovar" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "&Scale" + +#: part/pageview.cpp:655 +#, fuzzy, kde-format +msgid "Area &Selection" +msgstr "Li area de notificationes perdit li selection" + +#: part/pageview.cpp:662 +#, fuzzy, kde-format +msgid "&Text Selection" +msgstr "Selection de textu:" + +#: part/pageview.cpp:669 +#, fuzzy, kde-format +msgid "T&able Selection" +msgstr "Selection a" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "&Lupe" + +#: part/pageview.cpp:685 +#, fuzzy, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "selection" + +#: part/pageview.cpp:711 +#, fuzzy, kde-format +msgid "Digitally &Sign…" +msgstr "&Signar..." + +#: part/pageview.cpp:717 +#, fuzzy, kde-format +msgid "Speak Whole Document" +msgstr "Dir" + +#: part/pageview.cpp:722 +#, fuzzy, kde-format +msgid "Speak From Current Page" +msgstr "Págine actual" + +#: part/pageview.cpp:727 +#, fuzzy, kde-format +msgid "Speak Current Page" +msgstr "Págine actual" + +#: part/pageview.cpp:732 +#, fuzzy, kde-format +msgid "Stop Speaking" +msgstr " --stop Stoppar li reproduction\n" + +#: part/pageview.cpp:737 +#, fuzzy, kde-format +msgid "Pause/Resume Speaking" +msgstr "Pausar o reprender li reproduction" + +#: part/pageview.cpp:749 +#, fuzzy, kde-format +msgid "Scroll Up" +msgstr "Rular ad-alt" + +#: part/pageview.cpp:755 +#, fuzzy, kde-format +msgid "Scroll Down" +msgstr "Rular a-bass" + +#: part/pageview.cpp:761 +#, fuzzy, kde-format +msgid "Scroll Page Up" +msgstr "Rular un págine ad-alt" + +#: part/pageview.cpp:767 +#, fuzzy, kde-format +msgid "Scroll Page Down" +msgstr "Rular un págine a-bass" + +#: part/pageview.cpp:773 +#, fuzzy, kde-format +msgid "Show Forms" +msgstr "Formas JIS78" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] "" +msgstr[1] "" + +#: part/pageview.cpp:2526 +#, fuzzy, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "&Copiar al Paperiere" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "" +msgstr[1] "" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "Copiar al Paperiere" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, fuzzy, kde-format +msgid "Speak Text" +msgstr "Dir" + +#: part/pageview.cpp:2863 +#, fuzzy, kde-format +msgid "Image (%1 × %2 pixels)" +msgstr "Dimension de icone: %1 px" + +#: part/pageview.cpp:2865 +#, fuzzy, kde-format +msgid "Save to File…" +msgstr "_Salvar ad-in file..." + +#: part/pageview.cpp:2885 +#, kde-format +msgid "Image [%1 × %2] copied to clipboard." +msgstr "" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "Gardar li file" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "Images (*.png *.jpeg)" + +#: part/pageview.cpp:2890 +#, fuzzy, kde-format +msgid "File not saved." +msgstr "Provider un file contenent un salvat configuration" + +#: part/pageview.cpp:2901 +#, kde-format +msgid "Image [%1 × %2] saved to %3 file." +msgstr "" + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "Copiar li textu" + +#: part/pageview.cpp:3062 +#, fuzzy, kde-format +msgid "Go to '%1'" +msgstr "Ear 1 minute retro" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "Ajustar a largore" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "Ajustar al págine" + +#: part/pageview.cpp:4084 +#, fuzzy, kde-format +msgid "Auto Fit" +msgstr "Auto" + +#: part/pageview.cpp:4107 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1%" + +#: part/pageview.cpp:4390 +#, fuzzy, kde-format +msgid "Search for '%1' with" +msgstr "Serchar por «%1» med" + +#: part/pageview.cpp:4404 +#, fuzzy, kde-format +msgid "Configure Web Shortcuts…" +msgstr "Configurar abreviationes de web..." + +#: part/pageview.cpp:4430 +#, fuzzy, kde-format +msgid "Follow This Link" +msgstr "Adherer" + +#: part/pageview.cpp:4433 +#, fuzzy, kde-format +msgid "Play this Sound" +msgstr "Reproducter un _son pos completion" + +#: part/pageview.cpp:4435 +#, fuzzy, kde-format +msgid "Stop Sound" +msgstr "Stoppar" + +#: part/pageview.cpp:4441 +#, fuzzy, kde-format +msgid "Copy Link Address" +msgstr "Copiar li adresse del ligament" + +#: part/pageview.cpp:4462 +#, fuzzy, kde-format +msgid "Search for '%1' in this document" +msgstr "Ne successat cargar li document: %1" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Benevenit" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "" + +#: part/pageview.cpp:5129 +#, fuzzy, kde-format +msgid "Click to see the magnified view." +msgstr "Monstrar proprietás del archive" + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "" + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "Selecter textu" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" + +#: part/pageview.cpp:5188 +#, fuzzy, kde-format +#| msgid "Certificates:" +msgid "No valid certificates" +msgstr "Certificates:" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, fuzzy, kde-format +msgid "Open Certificate Manager" +msgstr "_Monstrar li certificate" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
Launch Certificate Manager " +"to import or manage certificates
For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, fuzzy, kde-format +#| msgid "Certificates:" +msgid "No certificates found" +msgstr "Certificates:" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "" + +#: part/pageviewannotator.cpp:262 +#, fuzzy, kde-format +msgid "New Text Note" +msgstr "Inviar un textual note" + +#: part/pageviewannotator.cpp:262 +#, fuzzy, kde-format +msgid "Text of the new note:" +msgstr "Inviar un textual note" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" + +#: part/pageviewannotator.cpp:491 +#, fuzzy, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "_Inicial valore:" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "Signar" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name" +msgstr "Nómine de autor" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +msgid "Author name for the annotation:" +msgstr "Anotation" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1392 +#, fuzzy, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "Marca alcun textu por adjunter anotation." + +#: part/pageviewannotator.cpp:1394 +#, fuzzy, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "OpenOffice.org Draw" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1398 +#, fuzzy, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "Monstrar ombres sub fenestres pop_up" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "" + +#: part/pageviewannotator.cpp:1402 +#, fuzzy, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "Rectangul" + +#: part/pageviewannotator.cpp:1404 +#, fuzzy, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "Sublinea undeatri" + +#: part/pageviewannotator.cpp:1406 +#, fuzzy, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "put" + +#: part/pageviewannotator.cpp:1408 +#, fuzzy, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "Rect linea" + +#: part/pageviewannotator.cpp:1410 +#, fuzzy, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "Trastrec" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "Sublinear textu" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +msgid "Add favorite annotation" +msgstr "Adjunter un anotation textual" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +msgid "Custom annotation name:" +msgstr "Anotation" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&File" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "&Parametres" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "Au&xilie" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "&Orientation" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "&Marca-págines" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, fuzzy, kde-format +msgid "Viewer Toolbar" +msgstr "Panel de _instrumentarium" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Miniaturas" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "Anotationes" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "Precedent" + +#: part/part.cpp:663 +#, fuzzy, kde-format +msgid "Go back to the Previous Page" +msgstr "Retornar al precedent localisation" + +#: part/part.cpp:664 +#, fuzzy, kde-format +msgid "Moves to the previous page of the document" +msgstr "_Precedent págine" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "Sequent" + +#: part/part.cpp:675 +#, fuzzy, kde-format +msgid "Advance to the Next Page" +msgstr "Monstrar li sequent tapete sur li actual labor-spacie" + +#: part/part.cpp:676 +#, fuzzy, kde-format +msgid "Moves to the next page of the document" +msgstr "_Sequent págine" + +#: part/part.cpp:687 +#, fuzzy, kde-format +msgid "Beginning of the document" +msgstr "&Initie" + +#: part/part.cpp:688 +#, fuzzy, kde-format +msgid "Moves to the beginning of the document" +msgstr "&Initie" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "Fin del document" + +#: part/part.cpp:693 +#, fuzzy, kde-format +msgid "Moves to the end of the document" +msgstr "Fin del document" + +#: part/part.cpp:707 +#, fuzzy, kde-format +msgid "Rename the current bookmark" +msgstr "_Renominar" + +#: part/part.cpp:711 +#, fuzzy, kde-format +msgid "Previous Bookmark" +msgstr "Precedent marca-págine" + +#: part/part.cpp:713 +#, fuzzy, kde-format +msgid "Go to the previous bookmark" +msgstr "Ear a marca-págines" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "Sequent marca-págine" + +#: part/part.cpp:719 +#, fuzzy, kde-format +msgid "Go to the next bookmark" +msgstr "Sequent marca-págine" + +#: part/part.cpp:748 +#, fuzzy, kde-format +msgid "Configure Okular…" +msgstr "Okular" + +#: part/part.cpp:751 +#, fuzzy, kde-format +msgid "Configure Viewer…" +msgstr "Configurar" + +#: part/part.cpp:757 +#, fuzzy, kde-format +msgid "Configure Viewer Backends…" +msgstr "Configurar" + +#: part/part.cpp:759 +#, fuzzy, kde-format +msgid "Configure Backends…" +msgstr "Configurar..." + +#: part/part.cpp:795 +#, fuzzy, kde-format +msgid "About Backend" +msgstr "Infrastructura:" + +#: part/part.cpp:800 +#, fuzzy, kde-format +msgid "Reloa&d" +msgstr "Rec&argar" + +#: part/part.cpp:802 +#, fuzzy, kde-format +msgid "Reload the current document from disk." +msgstr "Recargar li actual file del disco" + +#: part/part.cpp:808 +#, fuzzy, kde-format +msgid "Close &Find Bar" +msgstr "Cluder li panel de sercha" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "Numeró de págine" + +#: part/part.cpp:817 +#, fuzzy, kde-format +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "Cambiar modes" + +#: part/part.cpp:858 +#, fuzzy, kde-format +msgid "Select All Text on Current Page" +msgstr "Selecter omni textu in li camp" + +#: part/part.cpp:871 +#, fuzzy, kde-format +msgid "Show S&idebar" +msgstr "_Monstrar..." + +#: part/part.cpp:880 +#, fuzzy, kde-format +msgid "Show &Page Bar" +msgstr "Monstrar li panel del statu" + +#: part/part.cpp:886 +#, fuzzy, kde-format +msgid "Show &Signatures Panel" +msgstr "Panel _lateral" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "Inb&edat files" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "E&xportar quam" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "" + +#: part/part.cpp:931 +#, fuzzy, kde-format +msgid "Open Con&taining Folder" +msgstr "Aperter un &fólder..." + +#: part/part.cpp:945 +#, fuzzy, kde-format +msgid "&Import PostScript as PDF…" +msgstr "PDF / PostScript" + +#: part/part.cpp:949 +#, fuzzy, kde-format +msgid "Switch Blackscreen Mode" +msgstr "mode:" + +#: part/part.cpp:957 +#, fuzzy, kde-format +msgid "Erase Drawing" +msgstr "Dessine" + +#: part/part.cpp:962 +#, fuzzy, kde-format +msgid "Configure Annotations…" +msgstr "Null anotationes" + +#: part/part.cpp:967 +#, fuzzy, kde-format +msgid "Play/Pause Presentation" +msgstr "Reproducter (e pausar)" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" + +#: part/part.cpp:1123 +#, fuzzy, kde-format +msgid "Document can't be saved" +msgstr "Document sta gardat." + +#: part/part.cpp:1152 +#, fuzzy, kde-format +msgid "Could not open '%1' (%2) " +msgstr "Ne successat leer %1: %2." + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "" + +#: part/part.cpp:1221 +#, fuzzy, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "Ne successat trovar li nómine %1 in %2." + +#: part/part.cpp:1249 +#, fuzzy, kde-format +msgid "Configure Viewer Backends" +msgstr "Configurar" + +#: part/part.cpp:1251 +#, fuzzy, kde-format +msgid "Configure Backends" +msgstr "Configurar..." + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "ps2pdf ne esset trovat" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "Files Postscript (%1)" + +#: part/part.cpp:1357 +#, kde-format +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "" + +#: part/part.cpp:1489 +#, fuzzy, kde-format +msgid "Please enter the password to read the document:" +msgstr "Ples intrar li contrasigne:" + +#: part/part.cpp:1491 +#, fuzzy, kde-format +msgid "Incorrect password. Try again:" +msgstr "Contrasigne es íncorect. Ples repena denov." + +#: part/part.cpp:1502 +#, fuzzy, kde-format +msgid "Document Password" +msgstr "Contrasigne del document" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" + +#: part/part.cpp:1738 +#, fuzzy, kde-format +msgid "Request to Change Viewing Mode" +msgstr "Cambiar li mode de coloration" + +#: part/part.cpp:1739 +#, fuzzy, kde-format +msgid "Enter Presentation Mode" +msgstr "_Mode de presentation" + +#: part/part.cpp:1740 +#, fuzzy, kde-format +msgid "Deny Request" +msgstr "Refusar:" + +#: part/part.cpp:1830 +#, fuzzy, kde-format +msgid "Could not open %1. %2" +msgstr "Ne successat leer %1: %2." + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "Un file sta modificat" + +#: part/part.cpp:1865 +#, fuzzy, kde-format +msgid "Continue Reloading" +msgstr "Continuar" + +#: part/part.cpp:1866 +#, fuzzy, kde-format +msgid "Abort Reloading" +msgstr "In&terrupter" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" + +#: part/part.cpp:1875 +#, fuzzy, kde-format +msgid "Continue Closing" +msgstr "ante que cluder?" + +#: part/part.cpp:1876 +#, fuzzy, kde-format +msgid "Abort Closing" +msgstr "In&terrupter" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "Cluder li document" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" + +#: part/part.cpp:2113 part/part.cpp:2131 +#, fuzzy, kde-format +msgid "Reloading the document…" +msgstr "Recargante un document ex «%s»" + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "Contenete" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "Signatures" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Ear a págine" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "&Págine" + +#: part/part.cpp:2460 +#, fuzzy, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "Un nómine de marca-págine es mancant." + +#: part/part.cpp:2506 +#, fuzzy, kde-format +msgid "Rename this Bookmark" +msgstr "_Renominar" + +#: part/part.cpp:2509 +#, fuzzy, kde-format +msgid "Remove this Bookmark" +msgstr "_Remover" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "Gardar quam" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" + +#: part/part.cpp:2621 +#, fuzzy, kde-format +msgid "Unsupported extension" +msgstr "Extension:" + +#: part/part.cpp:2622 +#, fuzzy, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "Selecte un nov nómine" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, fuzzy, kde-format +msgid "Save - Warning" +msgstr "Avise: " + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
Do you want to continue?" +msgstr "" + +#: part/part.cpp:2713 +#, fuzzy, kde-format +msgid "Could not open the temporary file for saving." +msgstr "Ne successat remover li temporari file" + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
Do you want to continue?" +msgstr "" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, fuzzy, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "" +"Li archive ne posser esser gardat quam %1. Prova gardar " +"it a un altri loc." + +#: part/part.cpp:2766 +#, fuzzy, kde-format +msgid "Filled form contents" +msgstr "Forme" + +#: part/part.cpp:2769 +#, fuzzy, kde-format +msgid "User annotations" +msgstr "Null anotationes" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "Avise" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, fuzzy, kde-format +msgid "Save as Okular document archive…" +msgstr "archive de document de Okular" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "Continuar" + +#: part/part.cpp:2796 +#, fuzzy, kde-format +msgid "Continue losing changes" +msgstr "Continuar" + +#: part/part.cpp:2824 +#, fuzzy, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "Li file ne posset esser salvat quam «%s»." + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" + +#: part/part.cpp:3158 +#, fuzzy, kde-format +msgid "Expand Whole Section" +msgstr "Section" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +msgid "Collapse Whole Section" +msgstr "Section" + +#: part/part.cpp:3172 +#, fuzzy, kde-format +msgid "Sync Thumbnail with Page" +msgstr "Sinc" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Utensiles" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "Pronunciar" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "Printar" + +#: part/part.cpp:3602 +#, fuzzy, kde-format +msgid "Printing this document is not allowed." +msgstr "Proprietás de printation" + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "Null marca-págines" + +#: part/part.cpp:3874 +#, fuzzy, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "Ne successat cargar li document: %1" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "Partir" + +#: part/part.cpp:3878 +#, fuzzy, kde-format +msgid "Document shared successfully" +msgstr "Extration successat" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, fuzzy, kde-format +msgid "&Edit" +msgstr "_Modificar" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "&Vise" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, fuzzy, kde-format +msgid "&Go" +msgstr "Go" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "U&tensiles" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "Panel de instrumentarium" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, fuzzy, kde-format +msgid "Annotation Toolbar" +msgstr "Anotation" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, fuzzy, kde-format +msgid "Quick Annotation Toolbar" +msgstr "&Rapid" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "General parametres" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Accessibilitá" + +#: part/preferencesdialog.cpp:42 +#, fuzzy, kde-format +msgid "Accessibility Reading Aids" +msgstr "Letion" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Productivitá" + +#: part/preferencesdialog.cpp:43 +#, fuzzy, kde-format +msgid "Performance Tuning" +msgstr "Ajustar productivitá del gerente de fenestres." + +#: part/preferencesdialog.cpp:45 +#, fuzzy, kde-format +msgid "Configure Viewer" +msgstr "Configurar" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Presentation" + +#: part/preferencesdialog.cpp:49 +#, fuzzy, kde-format +msgid "Options for Presentation Mode" +msgstr "In li mode de presentation" + +#: part/preferencesdialog.cpp:50 +#, fuzzy, kde-format +msgid "Annotation Options" +msgstr "Anotation" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "Redactor" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, fuzzy, kde-format +msgid "Editor Options" +msgstr "Parametres del redactor" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" + +#: part/presentationsearchbar.cpp:77 +#, fuzzy, kde-format +msgid "Find Next" +msgstr "Trovar sequent" + +#: part/presentationwidget.cpp:174 +#, fuzzy, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "Presentation" + +#: part/presentationwidget.cpp:228 +#, fuzzy, kde-format +msgid "Switch Screen" +msgstr "Ti ecran" + +#: part/presentationwidget.cpp:233 +#, fuzzy, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "Ti ecran" + +#: part/presentationwidget.cpp:240 +#, fuzzy, kde-format +msgid "Exit Presentation Mode" +msgstr "Li presentation es finit. Clicca por salir." + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Titul: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Págines: %1" + +#: part/presentationwidget.cpp:379 +#, fuzzy, kde-format +msgid "Click to begin" +msgstr "Comense:" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "Pausar" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "Reproducter" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" + +#: part/presentationwidget.cpp:1718 +#, fuzzy, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "Presentation" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "Ínconosset file" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "Proprietás de %1" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "&Fondes" + +#: part/propertiesdialog.cpp:145 +#, fuzzy, kde-format +msgid "Reading font information…" +msgstr "Collectente information pri fondes... %3d%%" + +#: part/propertiesdialog.cpp:158 +#, fuzzy, kde-format +msgid "&Page Sizes" +msgstr "Grandores" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "Extraer li &fonde..." + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Tip 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Tip 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "Tip 1C (OT)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Tip 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType (OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID Tip 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID Tip 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID Tip 0C (OT)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType (OT)" + +#: part/propertiesdialog.cpp:306 +#, fuzzy, kde-format +msgid "TeX PK" +msgstr "TeX → PDF" + +#: part/propertiesdialog.cpp:309 +#, fuzzy, kde-format +msgid "TeX virtual" +msgstr "TeX" + +#: part/propertiesdialog.cpp:312 +#, fuzzy, kde-format +msgid "TeX Font Metric" +msgstr "Metrica:" + +#: part/propertiesdialog.cpp:315 +#, fuzzy, kde-format +msgid "TeX FreeType-handled" +msgstr "Behandeln" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "Ínconosset" + +#: part/propertiesdialog.cpp:331 +#, fuzzy, kde-format +msgid "Embedded (subset)" +msgstr "Ne inbedat" + +#: part/propertiesdialog.cpp:334 +#, fuzzy, kde-format +msgid "Fully embedded" +msgstr "Inbedat" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "No" + +#: part/propertiesdialog.cpp:347 +#, fuzzy, kde-format +msgid "Yes (subset)" +msgstr " (yes o no)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "Yes" + +#: part/propertiesdialog.cpp:370 +#, fuzzy, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "Substituet per" + +#: part/propertiesdialog.cpp:372 +#, fuzzy, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "-" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "Ínconosset fonde" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "Inbedat: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "Nómine" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "Tip" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "File" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "Págine" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "Dimension" + +#: part/revisionviewer.cpp:41 +#, fuzzy, kde-format +msgid "Revision Preview" +msgstr "Version A:" + +#: part/revisionviewer.cpp:53 +#, fuzzy, kde-format +msgid "Where do you want to save this revision?" +msgstr "Esque vu vole gardar li modificationes?" + +#: part/revisionviewer.cpp:56 +#, fuzzy, kde-format +msgid "Could not save file %1." +msgstr "Ne successat gardar li file %s." + +#: part/revisionviewer.cpp:75 +#, fuzzy, kde-format +msgid "Could not view revision." +msgstr "Version A:" + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "" + +#: part/searchwidget.cpp:49 +#, fuzzy, kde-format +msgid "Case Sensitive" +msgstr "Atenter a MAJ/min" + +#: part/searchwidget.cpp:51 +#, fuzzy, kde-format +msgid "Match Phrase" +msgstr "frase" + +#: part/searchwidget.cpp:52 +#, fuzzy, kde-format +msgid "Match All Words" +msgstr "Paroles in:" + +#: part/searchwidget.cpp:53 +#, fuzzy, kde-format +msgid "Match Any Word" +msgstr "Integri paroles" + +#: part/searchwidget.cpp:72 +#, fuzzy, kde-format +msgid "Filter Options" +msgstr "_Filtre" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, fuzzy, kde-format +#| msgid "Certificates:" +msgid "Certificates" +msgstr "Certificates:" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, fuzzy, kde-format +msgid "Select certificate to sign with:" +msgstr "_Certificate:" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, fuzzy, kde-format +#| msgid "Certificates:" +msgid "Only QES certificates" +msgstr "Certificates:" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "Cause:" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, fuzzy, kde-format +msgid "optional" +msgstr "Optiones..." + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "Localisation:" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, fuzzy, kde-format +#| msgctxt "@label:chooser Config dialog, presentation page" +#| msgid "Background color:" +msgid "Background:" +msgstr "Color de funde:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, fuzzy, kde-format +msgid "Recent backgrounds:" +msgstr "Usar un color del funde personalisat" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

No annotations

To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
" +msgstr "" + +#: part/side_reviews.cpp:142 +#, fuzzy, kde-format +msgid "Group by Page" +msgstr "Gruppar secun..." + +#: part/side_reviews.cpp:147 +#, fuzzy, kde-format +msgid "Group by Author" +msgstr "de {author}" + +#: part/side_reviews.cpp:155 +#, fuzzy, kde-format +msgid "Show annotations for current page only" +msgstr "Monstrar s_olmen li actual labor-spacie" + +#: part/side_reviews.cpp:165 +#, fuzzy, kde-format +msgid "Expand all elements" +msgstr "_Expander omni" + +#: part/side_reviews.cpp:167 +#, fuzzy, kde-format +msgid "Collapse all elements" +msgstr "_Contraer omni" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "Proprietás" + +#: part/signaturepartutils.cpp:180 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Págines: %1" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "" + +#: part/signaturepartutils.cpp:186 +#, fuzzy, kde-format +msgid "Forget image" +msgstr "_Obliviar" + +#: part/signaturepartutils.cpp:187 +#, fuzzy, kde-format +msgid "Forget all images" +msgstr "_Obliviar" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "" + +#: part/signaturepartutils.cpp:231 +#, fuzzy, kde-format +msgid "Enter certificate password" +msgstr "Intra li contrasigne por li archive «%s»." + +#: part/signaturepartutils.cpp:244 +#, fuzzy, kde-format +msgid "Enter document password" +msgstr "Contrasigne del document" + +#: part/signaturepartutils.cpp:267 +#, fuzzy, kde-format +msgid "Save Signed File As" +msgstr "Gardar li file quam..." + +#: part/signaturepartutils.h:62 +#, fuzzy, kde-format +#| msgctxt "" +#| "Used when suggesting a new name for a digitally signed file. %1 is the " +#| "old file name and %2 it's extension" +#| msgid "%1_signed.%2" +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "%1_signat.%2" + +#: part/signaturepropertiesdialog.cpp:56 +#, fuzzy, kde-format +msgid "Validity Status" +msgstr "Validitá" + +#: part/signaturepropertiesdialog.cpp:59 +#, fuzzy, kde-format +msgid "Signature Validity:" +msgstr "" +"\n" +"Validita del signature: %s" + +#: part/signaturepropertiesdialog.cpp:60 +#, fuzzy, kde-format +msgid "Document Modifications:" +msgstr "Gardar li modificationes?" + +#: part/signaturepropertiesdialog.cpp:63 +#, fuzzy, kde-format +msgid "Additional Information" +msgstr "
  • Extra information: %1
  • " + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "Signat de:" + +#: part/signaturepropertiesdialog.cpp:67 +#, fuzzy, kde-format +msgid "Signing Time:" +msgstr "Signation" + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "Version del document" + +#: part/signaturepropertiesdialog.cpp:86 +#, fuzzy, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "%1, o '%2'" + +#: part/signaturepropertiesdialog.cpp:88 +#, fuzzy, kde-format +msgid "View Signed Version…" +msgstr "Signat de:" + +#: part/signaturepropertiesdialog.cpp:95 +#, fuzzy, kde-format +msgid "View Certificate…" +msgstr "_Monstrar li certificate" + +#: part/signaturepropertiesdialog.cpp:97 +#, fuzzy, kde-format +msgid "View in Certificate Manager" +msgstr "_Monstrar li certificate" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "" + +#: part/thumbnaillist.cpp:1015 +#, fuzzy, kde-format +msgid "Show bookmarked pages only" +msgstr "Li document contene solmen vacui págines" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "Reproducter" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Pausar" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "Stoppar" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, fuzzy, kde-format +msgid "&Edit…" +msgstr "_Modificar" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "&Remover" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, fuzzy, kde-format +msgid "Move &Up" +msgstr "Mover ad-_up" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, fuzzy, kde-format +msgid "Move &Down" +msgstr "Mover a-bass" + +#: part/widgetdrawingtools.cpp:105 +#, fuzzy, kde-format +msgid "Default Drawing Tool #%1" +msgstr "1 (predefinit)" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, fuzzy, kde-format +msgid "Duplicated Name" +msgstr "Deleter %d duplicat elementes" + +#: shell/main.cpp:75 +#, fuzzy, kde-format +msgid "Page of the document to be shown" +msgstr "Appender li document pos li ultim págine" + +#: shell/main.cpp:76 +#, fuzzy, kde-format +msgid "Start the document in presentation mode" +msgstr "_Mode de presentation" + +#: shell/main.cpp:77 +#, fuzzy, kde-format +msgid "Start with print dialog" +msgstr "&Printar" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "" + +#: shell/main.cpp:79 +#, fuzzy, kde-format +msgid "\"Unique instance\" control" +msgstr "_Instantie" + +#: shell/main.cpp:80 +#, fuzzy, kde-format +msgid "Not raise window" +msgstr "Levar li fenestre" + +#: shell/main.cpp:81 +#, fuzzy, kde-format +msgid "Find a string on the text" +msgstr "Trovar textu sur li págine" + +#: shell/main.cpp:82 +#, fuzzy, kde-format +msgid "Sets the external editor command" +msgstr "Comande del redactor de textus: " + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "" + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "" + +#: shell/shell.cpp:250 +#, fuzzy, kde-format +msgid "Sidebar" +msgstr "_Monstrar..." + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "" + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "Sequent carte" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "Precedent carte" + +#: shell/shell.cpp:594 +#, fuzzy, kde-format +msgid "Undo close tab" +msgstr "Defar: Cluder un carte" + +#: shell/shell.cpp:603 +#, fuzzy, kde-format +msgid "Lock Sidebar" +msgstr "_Monstrar..." + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "Omni files (*)" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "Omni suportat files (%1)" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "Aperter un document" + +#: shell/shell.cpp:822 +#, fuzzy, kde-format +msgid "Confirm Close" +msgstr "Confirmar clusion" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "Cluder li cartes" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "&Copiar li rute" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "&Aperter li contenent fólder" + +#: shell/welcomescreen.cpp:89 +#, fuzzy, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "_Obliviar" + +#: shell/welcomescreen.cpp:137 +#, fuzzy, kde-format +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "Null recent documentes" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "Benevenit a Okular" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Aperter un document..." + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, fuzzy, kde-format +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Documentes recent" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, fuzzy, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "_Obliviar" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, fuzzy, kde-format +msgid "Hide welcome screen" +msgstr "Inicial ecran" + +#, fuzzy +#~ msgid "Geometry with Comment" +#~ msgstr "Nota" + +#, fuzzy +#~ msgid "Geometry" +#~ msgstr "Geometrie" + +#~ msgid "Modified: %1" +#~ msgstr "Modificat: %1" + +#~ msgid "Find..." +#~ msgstr "Trovar..." + +#, fuzzy +#~ msgid "Go To Page..." +#~ msgstr "Ear a págine" + +#, fuzzy +#~ msgid "Play movie..." +#~ msgstr "Reproducter o pausar li film" + +#, fuzzy +#~ msgid "Search..." +#~ msgstr "Serchar: " + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "&Gardar quam..." + +#, fuzzy +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "_Vider quam" + +#~ msgid "&Sign..." +#~ msgstr "&Signar..." + +#, fuzzy +#~ msgid "Configure Viewer..." +#~ msgstr "Configurar" + +#, fuzzy +#~ msgid "Configure Viewer Backends..." +#~ msgstr "Configurar" + +#, fuzzy +#~ msgid "Configure Backends..." +#~ msgstr "Configurar..." + +#~ msgid "&Add..." +#~ msgstr "&Adjunter..." + +#, fuzzy +#~ msgid "&Edit..." +#~ msgstr "_Modificar..." + +#, fuzzy +#~ msgid "Unsigned Signature %1" +#~ msgstr "Signature" + +#, fuzzy +#~| msgctxt "Unknown author" +#~| msgid "Unknown" +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "Ínconosset" + +#, fuzzy +#~ msgctxt "Signature type" +#~ msgid "Unsigned signature" +#~ msgstr "Signature" + +#~ msgctxt "Spinbox prefix: Advance automatically: every n seconds" +#~ msgid "every " +#~ msgstr "chascun " + +#, fuzzy +#~ msgctxt "Suffix for the pen width, eg '10 px'" +#~ msgid " px" +#~ msgstr " px" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "Ajustar a largore" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "Ajustar al págine" + +#, fuzzy +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Auto Fit" +#~ msgstr "Auto" + +#~ msgid "*|All Files" +#~ msgstr "*|Omni files" + +#, fuzzy +#~ msgid "Missing alert type" +#~ msgstr "Avise de cookie" + +#, fuzzy +#~ msgid "Show Sidebar" +#~ msgstr "_Monstrar..." + +#~ msgctxt "@title:window" +#~ msgid "Poppler library is too old" +#~ msgstr "Li biblioteca poppler es tro old" + +#, fuzzy +#~ msgctxt "@title:window" +#~ msgid "Experimental feature" +#~ msgstr "Experimental" diff --git a/po/ie/okular_comicbook.po b/po/ie/okular_comicbook.po new file mode 100644 index 0000000..fbb6396 --- /dev/null +++ b/po/ie/okular_comicbook.po @@ -0,0 +1,46 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2022-10-27 20:39+0700\n" +"Last-Translator: OIS \n" +"Language-Team: Interlingue \n" +"Language: ie\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 1.8.12\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "OIS" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "mistresssilvara@hotmail.com" + +#: document.cpp:97 +#, kde-format +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "Ne successat aperter li document, ni unrar ni unarchiver esset trovat." + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "" +"Li version de unrar in vor sistema ne es apt por aperter files de ComicBook." + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "Ínconosset formate de ComicBook" diff --git a/po/ie/okular_djvu.po b/po/ie/okular_djvu.po new file mode 100644 index 0000000..f089ac3 --- /dev/null +++ b/po/ie/okular_djvu.po @@ -0,0 +1,96 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2022-10-27 20:12+0700\n" +"Last-Translator: OIS \n" +"Language-Team: Interlingue \n" +"Language: ie\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 1.8.12\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "OIS" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "mistresssilvara@hotmail.com" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "Redactor" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "Publicator" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "Tom" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "Tip de document" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "Ínconosset" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "Files de componentes" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "Ínconosset" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "Singul págine" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "Índirect" + +#: kdjvu.cpp:684 +#, fuzzy, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "Antiqui hungarian" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "Indexat (old)" diff --git a/po/ie/okular_epub.po b/po/ie/okular_epub.po new file mode 100644 index 0000000..a6bfd35 --- /dev/null +++ b/po/ie/okular_epub.po @@ -0,0 +1,44 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2022-10-27 20:21+0700\n" +"Last-Translator: OIS \n" +"Language-Team: Interlingue \n" +"Language: ie\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 1.8.12\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "OIS" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "mistresssilvara@hotmail.com" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "Un error evenit apertente li document EPub." + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "EPub" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "Configuration del infrastructura EPub" diff --git a/po/ie/okular_fax.po b/po/ie/okular_fax.po new file mode 100644 index 0000000..aa82dab --- /dev/null +++ b/po/ie/okular_fax.po @@ -0,0 +1,34 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2022-10-29 21:51+0700\n" +"Last-Translator: OIS \n" +"Language-Team: Interlingue \n" +"Language: ie\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 1.8.12\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "OIS" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "mistresssilvara@hotmail.com" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "Ne successat cargar li document" diff --git a/po/ie/okular_fictionbook.po b/po/ie/okular_fictionbook.po new file mode 100644 index 0000000..2c718e9 --- /dev/null +++ b/po/ie/okular_fictionbook.po @@ -0,0 +1,69 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2022-10-27 20:33+0700\n" +"Last-Translator: OIS \n" +"Language-Team: Interlingue \n" +"Language: ie\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 1.8.12\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "OIS" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "mistresssilvara@hotmail.com" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "Li document ne es un valid FictionBook" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "Ne successat aperter un document: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "Documente ne es un valid archive ZIP" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "Ínvalid structura de document (li primari directoria manca)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "Null contenete esset trovat in li document" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "Ínvalid document XML: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "FictionBook" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "Configuration del infrastructura FictionBook" diff --git a/po/ie/okular_ghostview.po b/po/ie/okular_ghostview.po new file mode 100644 index 0000000..3164770 --- /dev/null +++ b/po/ie/okular_ghostview.po @@ -0,0 +1,77 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2022-10-29 22:02+0700\n" +"Last-Translator: OIS \n" +"Language-Team: Interlingue \n" +"Language: ie\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 1.8.12\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "OIS" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "mistresssilvara@hotmail.com" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "Usar li fondes del platform" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"Esque Ghostscript es permisset usar li fondes del platforme; altrimen, " +"solmen li fonder inbedat in li document va esser usat." + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "General parametres" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "&Usar li fondes del platform" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Configuration del infrastructura Ghostscript" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "Version del document" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "Nivelle de lingue" diff --git a/po/ie/okular_kimgio.po b/po/ie/okular_kimgio.po new file mode 100644 index 0000000..9431309 --- /dev/null +++ b/po/ie/okular_kimgio.po @@ -0,0 +1,43 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2022-10-29 21:50+0700\n" +"Last-Translator: OIS \n" +"Language-Team: Interlingue \n" +"Language: ie\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 1.8.12\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "OIS" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "mistresssilvara@hotmail.com" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "Ne successat cargar li document: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" +"Ti document sembla ínvalid. Vi li melior aproximation del intentet aspecte " +"del document." diff --git a/po/ie/okular_markdown.po b/po/ie/okular_markdown.po new file mode 100644 index 0000000..119dd56 --- /dev/null +++ b/po/ie/okular_markdown.po @@ -0,0 +1,54 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2022-10-27 20:35+0700\n" +"Last-Translator: OIS \n" +"Language-Team: Interlingue \n" +"Language: ie\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 1.8.12\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "OIS" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "mistresssilvara@hotmail.com" + +#: converter.cpp:59 converter.cpp:93 +#, kde-format +msgid "Failed to open the document" +msgstr "Ne posset aperter li document" + +#: converter.cpp:106 converter.cpp:124 +#, kde-format +msgid "Failed to compile the Markdown document." +msgstr "Ne successat compilar li document markdown." + +#: generator_md.cpp:58 +#, kde-format +msgid "Enable SmartyPants formatting" +msgstr "Usar li formate SmartyPants" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown" +msgstr "Markdown" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown Backend Configuration" +msgstr "Configuration del infrastructura Markdown" diff --git a/po/ie/okular_mobi.po b/po/ie/okular_mobi.po new file mode 100644 index 0000000..78cd2da --- /dev/null +++ b/po/ie/okular_mobi.po @@ -0,0 +1,52 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2022-10-27 20:24+0700\n" +"Last-Translator: OIS \n" +"Language-Team: Interlingue \n" +"Language: ie\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 1.8.12\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "OIS" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "mistresssilvara@hotmail.com" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Un error evenit apertente li document Mobipocket." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "" +"Ti libre es protectet per DRM e posse esser monstrat solmen sur li intentet " +"aparate" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "Mobipocket" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "Configuration del infrastructura Mobipocket" diff --git a/po/ie/okular_txt.po b/po/ie/okular_txt.po new file mode 100644 index 0000000..215a6eb --- /dev/null +++ b/po/ie/okular_txt.po @@ -0,0 +1,39 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2022-10-27 20:22+0700\n" +"Last-Translator: OIS \n" +"Language-Team: Interlingue \n" +"Language: ie\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 1.8.12\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "OIS" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "mistresssilvara@hotmail.com" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "Textu" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "Configuration del infrastructura Txt" diff --git a/po/ie/okular_xps.po b/po/ie/okular_xps.po new file mode 100644 index 0000000..6fc45ca --- /dev/null +++ b/po/ie/okular_xps.po @@ -0,0 +1,34 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2022-10-27 20:35+0700\n" +"Last-Translator: OIS \n" +"Language-Team: Interlingue \n" +"Language: ie\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 1.8.12\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "OIS" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "mistresssilvara@hotmail.com" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "Version" diff --git a/po/is/okular.po b/po/is/okular.po new file mode 100644 index 0000000..2e88b37 --- /dev/null +++ b/po/is/okular.po @@ -0,0 +1,6778 @@ +# translation of okular.po to Icelandic +# íslensk þýðing okular.po +# Stígur Snæsson , 2004. +# Þröstur Svanbergsson , 2004. +# Arnar Leosson , 2005. +# Arnar Leósson , 2005. +# Björgvin Ragnarsson , 2005. +# SPDX-FileCopyrightText: 2008, 2009, 2010, 2011, 2014, 2016, 2017, 2018, 2022, 2025 Sveinn í Felli +# SPDX-FileCopyrightText: 2023, 2024, 2025 Guðmundur Erlingsson +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-10-23 14:55+0000\n" +"Last-Translator: Sveinn í Felli \n" +"Language-Team: Icelandic\n" +"Language: is\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 23.08.5\n" +"Plural-Forms: Plural-Forms: nplurals=2; plural=n != 1;\n" +"\n" +"\n" +"\n" +"\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Arnar Leósson, Sveinn í Felli, Guðmundur Erlingsson" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "leosson@frisurf.no, sv1@fellsnet.is, gudmundure@gmail.com" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Okular, fjölhæft skjalaskoðunarforrit" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "Fyrrverandi umsjónarmaður" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "Mikið af kerfisvinnu, FictionBook-bakendi og áður ODT-bakendi" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "Forritari" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymanski" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "Bjó til Okular út frá KPDF-kóða" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "Enrico Ros" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "KPDF forritari" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "Eugene Trounev" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "Myndræn hönnun á glósum" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "Jiri Baum - NICTA" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "Töfluvalsverkfæri" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "Fabio D'Urso" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "Endurbætur á glósum" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "Fara á síðu %1" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "Opna ytri skrá" + +#: core/action.cpp:197 +#, kde-format +msgid "Execute '%1'…" +msgstr "Keyra '%1'…" + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "Fyrsta síða" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "Fyrri síða" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "Næsta síða" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "Síðasta síða" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "Til baka" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "Áfram" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Hætta" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "Byrja kynningu" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "Ljúka kynningu" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "Finna…" + +#: core/action.cpp:314 +#, kde-format +msgid "Go To Page…" +msgstr "Fara á síðu…" + +#: core/action.cpp:365 +#, kde-format +msgid "Play sound…" +msgstr "Spila hljóð…" + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "JavaScript-skrifta" + +#: core/action.cpp:483 +#, kde-format +msgid "Play movie…" +msgstr "Spila myndskeið…" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "Spila myndskeið" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "Stöðva myndskeið" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "Gera hlé á myndskeiði" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "Halda áfram með myndskeið" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "Þessi útgáfa af Okular styður ekki hljóð" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "Val á bakenda" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
    %1 (%2).

    Please select which one to use:
    " +msgstr "" +"Fleiri einn bakendi fannst fyrir MIME-gerðina:
    %1 (%2).

    Veldu hvern þeirra á að nota:
    " + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "Flestar síður eru %1" + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "Skammsnið %1" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "Langsnið %1" + +#: core/document.cpp:246 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 x %2 in (%3)" + +#: core/document.cpp:248 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 x %2 mm (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "Halda leit áfram frá byrjun" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "Halda leit áfram neðan frá" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "Finn enga viðbót sem getur unnið með skjalið sem um ræðir." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "Undirritun er ekki útfært enn fyrir þessa tegund skjala" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "fjarlægja glósu" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"Skjalið er að reyna að keyra ytra forrit og af öryggisástæðum leyfir Okular " +"það ekki." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "Ekkert forrit fannst sem getur opnað skrá af gerðinni %1." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "Gat ekki opnað bráðabirgðaskrá" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "Umbreyting fyrir prentun mistókst" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "Prentferlið hrundi" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "Ekki var hægt að ræsa prentferlið" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "Prentun í skrá mistókst" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "Prentarinn var í ógildu ástandi" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "Get ekki fundið skrá til að prenta" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "Það var engin skrá til að prenta" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"Gat ekki fundið hentugt forrit til að prenta með. Gakktu úr skugga um að " +"CUPS lpr-tvíundaskráin (forritið) sé tiltæk" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "Prentstærð síðunnar er ógild" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "Gat ekki opnað '%1'. Skráin er ekki til." + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Titill" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Efni" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Lýsing" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "Höfundur" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Skapari" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Framleiðandi" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "Höfundarréttur" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "Síður" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Búið til" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Breytt" + +#: core/document.cpp:6032 +#, kde-format +msgid "MIME Type" +msgstr "Mime-gerð" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "Flokkur" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Stikkorð" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "Skráarslóð" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "Skráarstærð" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "Síðustærð" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "bæta við glósu" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "fjarlægja glósu" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "breyta eiginleikum glósu" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "þýða glósu" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "laga glósu" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "breyta texta" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "breyta efni glósu" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "breyta innihaldi forms" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "breyta valkostum listaforms" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "breyta vali á fellilistareit" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "breyta stöðu formhnapps" + +#: core/generator.cpp:790 +#, kde-format +msgid "Plain &Text…" +msgstr "Hreinn &texti…" + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "OpenDocument-texti" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "Prentvalkostir" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "Laga að prentanlegu svæði" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "Laga að síðu" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "Stærðarsnið:" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "Ekki sýna þessi skilaboð aftur" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "Ekki tiltækt" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" +"Innri undirskriftarvilla. Sendu villuskýrslu og lýstu því hvernig hægt er að " +"kalla hana fram. Villuboð %1" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "Gat ekki undirritað skjalið: %1" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "Notandi hætti við undirritun" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "Gat ekki undirritað. Röng lykilsetning" + +#: core/signatureutils.cpp:504 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" +"Gat ekki skrifað undirritað skjal á %1, gakktu úr " +"skugga um að þú hafir valið möppu sem má skrifa í." + +#: core/signatureutils.cpp:506 +#, kde-format +msgid "Unknown signing error" +msgstr "Óþekkt undirritunarvilla" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Upprunaskrá: %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "Sjálf&gefið letur:" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr " Útgáfa " + +#: gui/certificatemodel.cpp:41 +#, kde-format +msgid "Serial Number" +msgstr "Raðnúmer" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "Útgefandi" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "Gefið út" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "Gildir til" + +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Efni" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "Dreifilykill" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "Notkun lykils" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "V%1" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "%1 (%2 bita)" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "Eiginleiki" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "Gildi" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "Gulur minnismiði" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "Innsláttur" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "Innfelldur minnismiði" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +#| msgid "Polygon with Comment" +msgid "Arrow with Comment" +msgstr "Marghyrningur með athugasemd" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "Ör" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "Bein lína með athugasemd" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "Bein lína" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "Marghyrningur með athugasemd" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "Marghyrningur" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgid "Stamp with Comment" +msgid "Rectangle with Comment" +msgstr "Stimpill með athugasemd" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "Rétthyrningur" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgid "Underline with Comment" +msgid "Ellipse with Comment" +msgstr "Undirstrikun með athugasemd" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "Sporbaugur" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "Áherslulitur með athugasemd" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "Áherslulitur" + +#: gui/guiutils.cpp:87 +#, kde-format +msgid "Squiggle with Comment" +msgstr "Hlykkjalína með athugasemd" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "Hlykkjalína" + +#: gui/guiutils.cpp:91 +#, kde-format +msgid "Underline with Comment" +msgstr "Undirstrikun með athugasemd" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "Undirstrikun" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out with Comment" +msgstr "Yfirstrikun með athugasemd" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "Yfirstrikun" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "Stimpill með athugasemd" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "Stimpill" + +#: gui/guiutils.cpp:106 +#, kde-format +msgid "Freehand Line with Comment" +msgstr "Fríhendislína með athugasemd" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "Fríhendislína" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "Innskotsmerki" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "Viðhengi" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "Hljóð" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "Myndskeið" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Skjár" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "Græja" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "Margmiðlaefni" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation" +msgstr "Glósa" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "Óþekkt" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Höfundur: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "Hvar viltu vista %1?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "Gat ekki opnað \"%1\" til að skrifa. Skráin var ekki vistuð." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "Undirskriftin er dulritunarlega gild." + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "Undirskriftin er dulritunarlega ógild." + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "Misræmi í tætingu kom upp." + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "CMS/PKCS7-strúktúr undirskriftarinnar er gallaður." + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "Umbeðin undirskrift er ekki til staðar í skjalinu." + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "Ekki tókst að sannprófa undirskriftina." + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "Skilríki er treyst." + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "Útgefandi skilríkis er ekki traustur." + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "Útgefandi skilríkis er óþekktur." + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "Skilríkið hefur verið afturkallað." + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "Skilríkið er útrunnið." + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "Skilríkið hefur ekki verið sannprófað." + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "Sannprófun skilríkis í gangi" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "Óþekkt vandamál með Skilríki eða skemmd gögn." + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "MD2" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "MD5" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "SHA1" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "SHA256" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "SHA384" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "SHA512" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "SHA224" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "Óþekktur algóritmi" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "RSA" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "DSA" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "EC" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "Óþekkt gerð" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "Rafræn undirritun" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "Óhrekjanleiki (non-repudiation)" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "Dulrita lykla" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "Afkóða lykla" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "Skilmálar lykils" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "Undirrita skilríki" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "Afturköllunarlisti undirskriftar (CRL)" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "Dulrita eingöngu" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "Engin notkun tilgreind" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr ", " + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "Skjalinu hefur ekki verið breytt síðan það var undirritað." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" +"Endurskoðaðri útgáfu skjalsins sem undirskriftin nær yfir hefur ekki verið " +"breytt;\n" +"hins vegar hafa verið gerðar breytingar á skjalinu eftir það." + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" +"Skjalinu hefur verið breytt á einhvern hátt sem fyrri undirritunaraðili " +"hefur ekki leyft." + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "Ekki tókst að ljúka sannprófun á heilleika skjalsins." + +#: gui/signatureguiutils.cpp:208 +#, kde-format +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "Það eru undirritunarreitir í þessu skjali." + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "Þetta skjal er með rafræna undirskrift." + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "" +"Þetta skjal er með rafræna undirskrift. Breytingar hafa verið gerðar frá " +"síðustu undirritun." + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" +"Þetta skjal er með rafræna undirskrift. Ekki tókst að sannprófa sumar " +"undirskriftirnar með tilhlýðilegum hætti." + +#: gui/signaturemodel.cpp:141 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "Frátökutákn undirritunar %1" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "Reitur: %1 á síðu %2" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "Endursk. útg. %1: Undirritari %2" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "Tími undirritunar: %1" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "Ástæða: %1" + +#: gui/signaturemodel.cpp:177 +#, kde-format +msgid "Location: %1" +msgstr "Staðsetning: %1" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "PGP-undirritun" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "Adobe PKCS7" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "Adobe PKCS7 Sha1" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "ETSI CAdES" + +#: gui/signaturemodel.cpp:193 +#, kde-format +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "Óþekkt" + +#: gui/signaturemodel.cpp:195 +#, kde-format +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "Frátökutákn undirritunar" + +#: gui/signaturemodel.cpp:201 +#, kde-format +msgid "Signature Type: %1" +msgstr "Gerð undirskriftar: %1" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "Rauður" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "Appelsínugulur" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "Gulur" + +#: part/annotationactionhandler.cpp:151 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "Grænn" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "Blágrænn" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "Blár" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "Magenta" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "Hvítur" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "Grár" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "Svartur" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "Breidd %1" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1%" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "Línubreidd glósu (engin glósa valin)" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "Litur glósu (engin glósa valin)" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "Fyllilitur glósu (engin glósa valin)" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "Ógagnsæi glósu (engin glósa valin)" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "Leturgerð glósu (engin glósa valin)" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "Bæta þessari glósu við flýtivalmyndina (engin glósa valin)" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" +"Takmarka hlutföll forms við 1:1 eða horn línu við 15° þrep (engin glósa " +"valin)" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "Ítarlegar stillingar fyrir þetta glósuverkfæri (engin glósa valin)" + +#: part/annotationactionhandler.cpp:308 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Línubreidd glósu" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "Línubreidd glósu (núverandi glósa er ekki með neina línubreidd)" + +#: part/annotationactionhandler.cpp:314 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Textalitur glósu" + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "Útlínulitur glósu" + +#: part/annotationactionhandler.cpp:318 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Litur glósu" + +#: part/annotationactionhandler.cpp:322 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Fyllilitur glósu" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "Fyllilitur glósu (núverandi glósa er ekki með neinn fyllilit)" + +#: part/annotationactionhandler.cpp:328 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "Leturgerð glósu" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "Leturgerð glósu (núverandi glósa er ekki með neina línubreidd)" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "Takmarka horn línu við 15° þrep" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "Takmarka hlutföll forms við 1:1" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" +"Takmarka hlutföll forms við 1:1 eða horn línu við 15° þrep (núverandi glósa " +"styður þetta ekki)" + +#: part/annotationactionhandler.cpp:341 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Ógagnsæi glósu" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "Bæta núverandi glósu við flýtivalmyndina" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "Ítarlegar stillingar fyrir núverandi glósuverkfæri" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "Litur" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "Fyllilitur" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "Gagnsætt" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "Sérsniðinn litur…" + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "Velja lit" + +#: part/annotationactionhandler.cpp:552 +#, kde-format +msgid "&Annotations" +msgstr "&Glósur" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "Fela" + +#: part/annotationactionhandler.cpp:554 +#, kde-format +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Sýna fleiri glósuverkfæri" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "Áherslulitun" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "Undirstrika" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "Hlykkjalína" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "Yfirstrika" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Innsláttur" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "Innfelld glósa" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "Minnismiði" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "Fríhendislína" + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "Bein lína" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "Ör" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "Rétthyrningur" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "Sporbaugur" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "Marghyrningur" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "Rúmfræðileg form" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "Stimpill" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Flýtiglósur" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "Veldu glósuverkfæri af flýtistikunni" + +#: part/annotationactionhandler.cpp:651 +#, kde-format +msgid "Quick Annotation Bar" +msgstr "Flýtistika" + +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "Bæta við flýtistiku" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "Halda virku" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "Halda glósuverkfærinu virku eftir notkun" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "Takmarka hlutfall og horn glósuverkfæra" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "Letur" + +#: part/annotationactionhandler.cpp:681 +#, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Glósustillingar" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "Línubreidd" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "Ógagnsæi" + +#: part/annotationactionhandler.cpp:696 +#, kde-format +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1%" + +#: part/annotationmodel.cpp:320 +#, kde-format +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "Síða %1 (%2)" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "Síða %1" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "Glósa" +msgstr[1] "%1 glósur" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "&Opna minnismiða" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Fjarlægja bókamerki" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Setja bókamerki" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, kde-format +msgid "Copy Text to Clipboard" +msgstr "Afrita texta á klippispjald" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "Afritun bönnuð með DRM" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "&Eyða" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "&Eiginleikar" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, kde-format +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "Vi&sta '%1'…" + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "Ú&tlit" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "&Almennt" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&Höfundur:" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "Búið til:" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "Breytt:" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "Eiginleikar minnismiða" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "Eiginleikar innsláttar" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "Eiginleikar innfellds minnismiða" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "Eiginleikar beinnar línu" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "Eiginleikar marghyrnings" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "Eiginleikar forms" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "Eiginleikar textamerkingar" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "Eiginleikar stimpils" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "Eiginleikar fríhendislínu" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "Eiginleikar innskotsmerkis" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "Eiginleikar viðhengis" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "Eiginleikar hljóðs" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "Eiginleikar myndskeiða" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "Eiginleikar glósu" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "Velja sérsniðið stimpiltákn úr skrá" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "Velja sérsniðið stimpiltákn" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" +"*.ico *.png *.xpm *.svg *.svgz | táknaskrár (*.ico *.png *.xpm *.svg *.svgz)" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "Gat ekki hlaðið inn skrána %1" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "Ógild skrá" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&Litur:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, kde-format +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%v%" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "Óga&gnsæi:" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "Tákn:" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "Athugasemd" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "Hjálp" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "Setja inn" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "Lykill" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "Ný málsgrein" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "Minnismiði" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "Málsgrein" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Letur:" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "Te&xtalitur:" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "&Jafna:" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "Vinstri" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "Miðjað" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "Hægri" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "Breidd &ramma:" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "Samþykkt" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "Í núverandi ástandi" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "Trúnaðarmál" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "Deild" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "Uppkast" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "Á tilraunastigi" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "Útrunnið" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "Lokaútgáfa" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "Fyrir athugasemdir" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "Fyrir almenna útgáfu" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "Ósamþykkt" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "Ekki fyrir almenna útgáfu" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "Selt" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "Algjört leyndarmál" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "Bókamerki" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "Upplýsingar" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "Stimpiltákn:" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "&Breidd:" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "Byrjun línu:" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "Endir línu:" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "Ferningur" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "Hringur" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "Tígull" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "Opin ör" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "Lokuð ör" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "Ekkert" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "Endi" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "Opin hægri ör" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "Lokuð hægri ör" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "Skástrik" + +#: part/annotationwidgets.cpp:531 +#, kde-format +msgid "Leader line length:" +msgstr "Lengd leiðarlínu:" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "Lengd viðbótarleiðilínu:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "Virkjað" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "Formfylling:" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Tegund:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "Yfirstrikað" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "Tákn fyrir viðhengi:" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "Línurit" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "Teiknibóla" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "Bréfaklemma" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "Merki" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "Skrá" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "ekki tiltækt" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "Engin lýsing tiltæk." + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "Heiti:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "Lýsing:" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "Innskotstákn:" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "Enginn" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "Loka þessum minnismiða" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "Valkostir" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"Þessi glósa gæti innihaldið LaTeX-kóða.\n" +"Smelltu hér til að myndgera." + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "Fann ekki latex-keyrsluskrána." + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "LaTeX-myndgerð mistókst" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "Fann ekki dvipng-keyrsluskrána." + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "Vandamál kom upp við keyrslu á 'latex' skipuninni." + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "Vandamál kom upp við keyrslu á 'dvipng' skipuninni." + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"Eitt bókamerki" +msgstr[1] "" +"%1\n" +"\n" +"%2 bókamerki" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Bókamerki" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "Sýna fyrir öll skjöl" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, kde-format +msgid "Search…" +msgstr "Leita…" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, fuzzy, kde-format +#| msgid "Expand all" +msgid "Expand All" +msgstr "Víkka allt út" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, fuzzy, kde-format +#| msgid "Collapse all" +msgid "Collapse All" +msgstr "Fella allt saman" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "Fara á þetta bókamerki" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "Endurnefna bókamerki" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Opna skjal" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "Fjarlægja öll bókamerki úr núverandi skjali" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "Skilríkjaskoðari" + +#: part/certificateviewer.cpp:50 +#, kde-format +msgid "Export…" +msgstr "Flytja út…" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "Almennt" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "Útgefandi" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "Almennt heiti (CN)" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "Netfang" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "Stofnun/Samtök/Félag (O)" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "Handhafi" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "Gildistími" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "Fingraför" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "SHA-1 fingrafar" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "SHA-256 fingrafar" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "Nánar" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "Skilríkisgögn:" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "Hvar viltu vista þetta skilríki?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "Skilríkisskrá (*.cer)" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "Gat ekki flutt út skilríkið" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "Lita&snið" + +#: part/colormodemenu.cpp:21 +#, kde-format +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "Breyta litum" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "Ve&njulegair litir" + +#: part/colormodemenu.cpp:41 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "Umsnúa l&itum" + +#: part/colormodemenu.cpp:42 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "&Breyta blaðsíðulit" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "Breyta &dökkum og ljósum litum" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "Um&breyta í svarthvítt" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "Umsnúa &birtu" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "Umsnúa ljó&ma (sRGB Linear)" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "Umsnúa ljóma (&Symmetric)" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "Færa litblæ já&kvætt" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "Færa litblæ n&eikvætt" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "Rautt" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "Grænt" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "Blátt" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "Gult" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "Svart" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "Hvítt" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "Gul áherslulitun" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "Græn áherslulitun" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "Setja inn texta" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "Teikna ramma í kringum tengla" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "Breyta litum" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "" +"Viðvörun: þessir valkostir geta haft neikvæð áhrif á teiknihraða." + +#: part/dlgaccessibility.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "Umsnúa litum" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "Breyta blaðsíðulit" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "Breyta dökkum og ljósum litum" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "Umbreyta í svarthvítt" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "Umsnúa birtu" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "Umsnúa ljóma (sRGB Linear)" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "Umsnúa ljóma (symmetric)" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "Færa litblæ jákvætt" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "Færa litblæ neikvætt" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "Litasnið:" + +#: part/dlgaccessibility.cpp:87 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Blaðsíðulitur:" + +#: part/dlgaccessibility.cpp:99 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Dökkur litur:" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "Ljós litur:" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "Litmörk:" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Birtuskil:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "Vél fyrir upplestur:" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "Rödd fyrir upplestur:" + +#: part/dlgannotations.cpp:25 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Fullbúin glósustika" + +#: part/dlgannotations.cpp:26 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Flýtistika fyrir glósur" + +#: part/dlgannotations.cpp:28 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Glósustika:" + +#: part/dlgannotations.cpp:34 +#, kde-format +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "Höfundur:" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"Ath.: upplýsingarnar hér eru aðeins notaðar fyrir glósur. " +"Upplýsingarnar eru vistaðar í glósaða skjalinu og verða sendar áfram með því " +"skjali." + +#: part/dlgannotations.cpp:48 +#, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

    Quick Annotation Tools

    " +msgstr "

    Flýtiverkfæri fyrir glósur

    " + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" +"Veldu hvaða ritil á að nota þegar Okular þarf að opna skrá með upprunakóða." + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "Sérvalinn textaritill" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Emacs" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "Lyx" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "TeXstudio" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "TeXiFy IDEA" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "Ritill:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
    \n" +"You can also put few placeholders:\n" +"
      \n" +"
    • %f - the file name
    • \n" +"
    • %l - the line of the file to be reached
    • \n" +"
    • %c - the column of the file to be reached
    • \n" +"
    \n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"Stillir skipun fyrir sérvalinn textaritil sem á að keyra.
    \n" +"Þú getur líka sett inn nokkra staðgengla:\n" +"
      \n" +"
    • %f - nafn á skrá
    • \n" +"
    • %l - lína í skrá sem á að meðhöndla
    • \n" +"
    • %c - dálkur í skrá sem á að meðhöndla
    • \n" +"
    \n" +"Ef %f er ekki tekið fram verður nafninu bætt við tilgreindu skipunina." + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "Skipun:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "Nota mjúkt skrun" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "Útlit:" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "Sýna skrunstikur" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "Tengja smámyndirnar við síðuna" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "Sýna vísbendingar og upplýsingaboð" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "Tilkynna um innfelldar skrár, form eða undirskriftir" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "Birta titil skjals á titilstiku ef hann er tiltækur" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "Birta bara skrárheiti" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "Birta fulla slóð skráar" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "Þegar titill skjals er ekki birtur:" + +#: part/dlggeneral.cpp:92 +#, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "Nota sérsniðinn bakgrunnslit:" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "Eiginleikar forrits:" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "Opna nýjar skrár í flipum" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "Skipta í flipa sem er til staðar ef skráin er nú þegar opin" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "Lúta DRM-takmörkunum" + +#: part/dlggeneral.cpp:148 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "Endurhlaða skjal þegar skrá breytist" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "Sýna valglugga fyrir bakenda" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "Lesið frá hægri til vinstri" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" +"Nota skrárupplýsingar til að greina hvort opna eigi sjálfgefið í samfelldu " +"sniði" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "Fyrir skrár án skrárupplýsinga, opna sjálfgefið í samfelldu sniði" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "Opna sjálfgefið í samfelldu sniði" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "Bendill fer hringinn við skjábrúnir þegar færsluverkfæri er notað" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "Nýleg atriði í ferilskrá:" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "Yfirlitsdálkar:" + +#: part/dlggeneral.cpp:220 +#, kde-format +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%v%" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" +"Skilgreinir hversu mikið af núverandi skoðunarsvæði er enn sýnilegt þegar " +"ýtt er á lyklana fyrir Upp/niður um síðu." + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "Skörun á síðum við Upp/niður um síðu:" + +#: part/dlggeneral.cpp:228 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%v%" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "100%" + +#: part/dlggeneral.cpp:233 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "Passa á breidd" + +#: part/dlggeneral.cpp:234 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "Passa á síðu" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "Aðlaga sjálfvirkt" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "Sérsnið" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" +"Tilgreinir sjálfgefið aðdráttarsnið fyrir skrár sem hafa ekki verið opnaðar " +"áður. Fyrir skrár sem hafa verið opnaðar áður er fyrri aðdráttur notaður." + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "Sjálfgefinn aðdráttur:" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "Virkja gagnsæisáhrif" + +#: part/dlgperformance.cpp:28 +#, kde-format +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "Örgjörvanotkun:" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "Lítil" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "Venjuleg (sjálfgefið)" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "Mikil" + +#: part/dlgperformance.cpp:38 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "Gráðug" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "Minnisnotkun:" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "Virkja afstöllun texta" + +#: part/dlgperformance.cpp:56 +#, kde-format +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "Valkostir myndgerðar:" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "Virkja afstöllun myndefnis" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "Virkja hnikun texta" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"Heldur minnisnotkun í lágmarki. Ekki endurnýta neitt. (Fyrir kerfi með lítið " +"minni.)" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"Góð málamiðlun á milli minnisnotkunar og hraða. Forhlaða næstu síðu og bæta " +"leitir. (Venjulega fyrir kerfi með 2GB af minni.)" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"Heldur öllu í minni. Forhlaða næstu síður. Bæta leitir. (Fyrir kerfi með " +"meira en 4GB af minni.)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" +"Hleður og heldur öllu í minni. Forhlaða allar síður. (Notar að hámarki 50% " +"af heildarminni þínu eða laust minni, hvort sem er stærra.)" + +#: part/dlgpresentation.cpp:38 +#, kde-format +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] "á %v sekúndu fresti" +msgstr[1] "á %v sekúndna fresti" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "Fara sjálfkrafa áfram:" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "Aftur frá byrjun eftir síðustu síðu" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "Pikka á vinstri/hægri hlið til að fara til baka/áfram" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "Pikka hvar sem er til að fara áfram" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "Óvirkt" + +#: part/dlgpresentation.cpp:63 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Snertistýringar:" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "Bakgrunnslitur:" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "Fela eftir smástund" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "Alltaf sýnilegur" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "Alltaf falinn" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "Músarbendill:" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "Sýna &framvinduvísi" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "Sýna samantektar&síðu" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "Tafarlaus (aldrei nota hreyfiáhrif)" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "Skipta út" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "Slembin umbreyting" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "Lóðréttar rimlagardínur" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "Láréttar rimlagardínur" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "Kassi inn" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "Kassi út" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "Leysa upp" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "Dofna" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "Glitra niður" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "Glitra til vinstri" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "Glitra til hægri-niður" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "Kljúfa lárétt inn" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "Kljúfa lárétt út" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "Kljúfa lóðrétt inn" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "Kljúfa lóðrétt út" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "Renna niður" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "Renna til hægri" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "Renna til vinstri" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "Renna upp" + +#: part/dlgpresentation.cpp:121 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Sjálfgefin umbreyting:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "Valinn skjár:" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

    Drawing Tools

    " +msgstr "

    Teikniverkfæri

    " + +#: part/dlgpresentation.cpp:171 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Núverandi skjár" + +#: part/dlgpresentation.cpp:172 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Sjálfgefinn skjár" + +#: part/dlgpresentation.cpp:178 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "Skjár %1 (%2 %3 %4)" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "Skjár %1 (ótengdur)" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "Teikniverkfæri: %1" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "Strokleður" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "&Heiti:" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "&Tegund:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "Útlit" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "Textamerking" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "Rúmfræðiform" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "Búa til glósuverkfæri" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "Breyta glósuverkfæri" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "Litur:" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "&Pennabreidd:" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "%v px" + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "Búa til teikniverkfæri" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "Breyta teikniverkfæri" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "Óþekkt" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Innfelldar skrár" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "Skoða" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "Nafn" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "Lýsing" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "Stærð" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "Búið til" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "Breytt" + +#: part/embeddedfilesdialog.cpp:154 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "Vista &sem…" + +#: part/embeddedfilesdialog.cpp:155 +#, kde-format +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "S&koða…" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "Gat ekki opnað prentforskoðunarhlutann" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "Forskoðun prentunar" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "Loka" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "F&inna:" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "Texti til að leita eftir" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Næsta" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "Fara á næstu samsvörun" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Fyrri" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "Fara á fyrri samsvörun" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "Breyta leitarhegðun" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "Háð há-/lágstöfum" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "Af núverandi síðu" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "Leita við innslátt" + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "Allar skrár (*)" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "Óútfylltur undirritunarreitur (smelltu til að undirrita)" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "&Undirrita…" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "Eiginleikar undirskriftar" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "Leitarvalkostir" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "Háð há-/lágstöfum" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "Regluleg segð" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "Lög" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "af" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "Aðdráttur" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "Aðdráttur í 100%" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "Snúa til hæg&ri" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "Hægri" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "Snúa ti&l vinstri" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "Vinstri" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "Upprunaleg stefna" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "S&kera af yfirliti" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "S&kera af spássíum" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "&Skera að vali" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "Passa á &breidd" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "&Passa á síðu" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "&Aðlaga sjálfkrafa" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "Gluggi &passi við síðu" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "&Skoðunarsnið" + +#: part/pageview.cpp:594 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "&Ein síða" + +#: part/pageview.cpp:595 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "Síð&uopna" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "Síðuopna (&fyrsta síða miðjuð)" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "&Yfirlit" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "S&amfellt" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "Lesa frá hægri til vinstri" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "&Færa" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "&Aðdráttur" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "&Svæðisval" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "&Textaval" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "T&öfluval" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "Stæ&kkunargler" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "Valverkfæri" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "Undirrita &stafrænt…" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "Lesa upp allt skjalið" + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "Lesa upp af núverandi síðu" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "Lesa upp núverandi síðu" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "Stöðva upplestur" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "Pása/halda áfram upplestri" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "Skruna upp" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Skruna niður" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "Skruna upp um síðu" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "Skruna niður um síðu" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "Sýna form" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] " Hlóð inn skjali með einni síðu." +msgstr[1] " Hlóð inn skjali með %1 síðum." + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "Afrita innihald töflu á klippispjald" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "Texti (1 stafur)" +msgstr[1] "Texti (%1 stafir)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "Afrita á klippispjald" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "Lesa upp texta" + +#: part/pageview.cpp:2863 +#, kde-format +msgid "Image (%1 × %2 pixels)" +msgstr "Mynd (%1 x %2 pixlar)" + +#: part/pageview.cpp:2865 +#, kde-format +msgid "Save to File…" +msgstr "Vista í skrá..." + +#: part/pageview.cpp:2885 +#, kde-format +msgid "Image [%1 × %2] copied to clipboard." +msgstr "Mynd [%1 × %2] afrituð á klippispjald." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "Vista skrá" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "Myndir (*.png *.jpeg)" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "Skrá ekki vistuð." + +#: part/pageview.cpp:2901 +#, kde-format +msgid "Image [%1 × %2] saved to %3 file." +msgstr "Mynd [%1 × %2] vistuð í skrá %3." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "Afrita texta" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "Fara á '%1'" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "Passa á breidd" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "Passa á síðu" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "Aðlaga sjálfvirkt" + +#: part/pageview.cpp:4107 +#, kde-format +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1%" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "Leita að '%1' með" + +#: part/pageview.cpp:4404 +#, kde-format +msgid "Configure Web Shortcuts…" +msgstr "Grunnstilla vefskammstafanir…" + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "Fylgja þessum tengli" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "Spila þetta hljóð" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "Stöðva hljóð" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "Afrita vistfang tengils" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "Leita að '%1' í þessu skjali" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Velkomin" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "Veldu stækkunarsvæði. Hægrismelltu til að minnka aðdrátt." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "Smelltu til að opna stækkunarglerið." + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "Dragðu ferhyrning yfir textann/myndina sem þú vilt afrita." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "Velja texta" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" +"Dragðu ferhyrning í kringum töfluna, smelltu nálægt brúnunum til að skipta " +"upp; ýttu á Esc til að hreinsa." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" +"Öll skilríki þín til undirritunar eru ógild. Hafi undirritun virkað áður, " +"ættirðu að athuga gildistíma skilríkjanna." + +#: part/pageview.cpp:5188 +#, kde-format +msgid "No valid certificates" +msgstr "Engin gild skilríki" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, kde-format +msgid "Open Certificate Manager" +msgstr "Skoða í skilríkjastjórann" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
    Launch Certificate Manager " +"to import or manage certificates
    For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" +"Engin undirritunarskilríki eru tiltæk.
    Ræstu skilríkjastjórann til að " +"flytja inn eða sýsla með skilríki.
    Skoðaðu kaflann Adding " +"Digital Signatures (Bæta við rafrænum undirskriftum) í handbókinni." + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, kde-format +msgid "No certificates found" +msgstr "Engin skilríki fundust" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
    For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" +"Engin undirritunarskilríki eru tiltæk.
    Skoðaðu kaflann Adding Digital Signatures (Bæta við rafrænum undirskriftum) í " +"handbókinni." + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" +"Þú ert með óvistaðar breytingar. Vistaðu skjalið áður en það er undirritað." + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "Dragðu ferhyrning til að setja inn undirskriftarreit" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "Dragðu ferhyrning yfir svæðið á síðunni sem þú vilt halda sýnilegu." + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "Nýr textaminnismiði" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "Texti á nýjum minnismiða:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Undirritari: %1\n" +"\n" +"Dags.: %2" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" +"Undirskrift af þessari stærð er e.t.v. of lítil til að vera læsileg. Ef þú " +"vilt útbúa læsilegri undirskrift skaltu ýta á Byrja aftur og draga stærri ferhyrning." + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "Byrja aftur" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "Undirrita" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name" +msgstr "Nafn höfundar" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name for the annotation:" +msgstr "Nafn höfundar fyrir glósuna:" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "Teikna sporbaug (draga til að velja svæði)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "Áherslulita texta" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "Teikna fríhendislínu" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "Innfelld textaglósa (draga til að velja svæði)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "Setja inn gulan minnismiða" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "Teikna marghyrning (smella á fyrsta punkt til að loka)" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "Teikna rétthyrning" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "Hlykkjalínu undir texta" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "Setja stimpilmerki" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "Teikna beina línu" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "Yfirstrika texta" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "Undirstrika texta" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "Innsláttarglósa (draga til að velja svæði)" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "Áherslulitun" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "Bæta við eftirlætisglósu" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Custom annotation name:" +msgstr "Nafn á sérsniðna glósu:" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "S&krá" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "&Stillingar" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "&Hjálp" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "St&efna" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "&Bókamerki" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "Tækjastika skoðara" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Smámyndir" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "Glósur" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
    Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" +"Þetta skjal inniheldur glósur eða formgögn sem voru vistuð í skjalinu í " +"eldri útgáfu af Okular. Innri vistun er ekki lengur studd.
    Vistaðu skrána til að geta flutt gögnin ef þú vilt halda áfram að vinna í " +"skránni." + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"Þetta skjal inniheldur innfelldar skrár. Smelltu hér til að sjá þær eða farðu í 'Skrá -> Innfelldar skrár'." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" +"Undirritun í gangi. Þú getur breytt staðsetningu og stærð undirskriftarinnar" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "Ljúka undirritun" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "Fyrri" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "Fara til baka á síðuna á undan" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "Fer á síðuna á undan í skjalinu" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "Næsta" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "Fara á næstu síðu" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "Fer á næstu síðu í skjalinu" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "Byrjunin á skjalinu" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "Fer á byrjunina á skjalinu" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "Endir skjalsins" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "Fer á enda skjalsins" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "Endurnefna þetta bókamerki" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "Fyrra bókamerki" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "Fara á fyrra bókamerki" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "Næsta bókamerki" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "Fara á næsta bókamerki" + +#: part/part.cpp:748 +#, kde-format +msgid "Configure Okular…" +msgstr "Grunnstilla Okular…" + +#: part/part.cpp:751 +#, kde-format +msgid "Configure Viewer…" +msgstr "Grunnstilla skoðara…" + +#: part/part.cpp:757 +#, kde-format +msgid "Configure Viewer Backends…" +msgstr "Grunnstilla skoðunarbakenda…" + +#: part/part.cpp:759 +#, kde-format +msgid "Configure Backends…" +msgstr "Grunnstilla bakenda…" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "Um bakenda" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "En&durhlaða" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "Endurhlaða núverandi skjali af diski." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "Loka &leitarglugga" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "Blaðsíðutal" + +#: part/part.cpp:817 +#, kde-format +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "Grunnstilla litahami…" + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "Velja allan texta á þessari síðu" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "Sýna &hliðarstiku" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "Sýna &blaðsíðustiku" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "Sýna &undirskriftarstiku" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "&Innfelldar skrár" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "Fl&ytja út sem" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "&Deila" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "&Kynning" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "Opna &möppu sem skráin er í" + +#: part/part.cpp:945 +#, kde-format +msgid "&Import PostScript as PDF…" +msgstr "Flytja &inn PostScript sem PDF…" + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "Myrkva/afmyrkva skjá" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "Eyða teikningu" + +#: part/part.cpp:962 +#, kde-format +msgid "Configure Annotations…" +msgstr "Grunnstilla glósur…" + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "Spila/gera hlé á kynningu" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" +"Þú varst að breyta skjalinu sem er opið en það er ekki hægt að vista skjal " +"af þessu tagi.\n" +"Allar breytingar glatast þegar Okular er lokað." + +#: part/part.cpp:1123 +#, kde-format +msgid "Document can't be saved" +msgstr "Ekki hægt að vista skjal" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "Gat ekki opnað '%1' (%2) " + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "Hætt var við að hlaða inn %1." + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "Gat ekki opnað %1. Ástæða: %2" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "Grunnstilla skoðunarbakenda" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "Grunnstilla bakenda" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"Forritið \"ps2pdf\" fannst ekki og því getur Okular ekki notað það til að " +"flytja inn PS-skrár." + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "ps2pdf fannst ekki" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "PostScript-skrár (%1)" + +#: part/part.cpp:1357 +#, kde-format +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "Flyt inn PS-skrá sem PDF (þetta gæti tekið nokkurn tíma)…" + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "Sláðu inn lykilorðið til að lesa skjalið:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "Rangt lykilorð. Reyndu aftur:" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "Lykilorð skjals" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "Þetta skjal inniheldur XFA-form sem eru ekki studd eins og er." + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"Þetta skjal inniheldur form. Smelltu á hnappinn til að vinna með þau eða " +"notaðu 'Skoða -> Sýna form'." + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" +"Allir breytinga- og gagnvirknieiginleikar fyrir þetta skjal eru óvirkir. " +"Vistaðu afrit og opnaðu skjalið aftur til að breyta því." + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" +"Þetta skjal er gert til að það sé birt á öllum skjánum.\n" +"Hætta í venjulegu sniði og opna kynningarsnið?" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "Biðja um að breyta skoðunarsniði" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "Fara í kynningarsnið" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "Hafna beiðni" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "Gat ekki opnað %1. %2" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" +"Skráin %1 er með óvistaðar breytingar en henni hefur " +"verið breytt í öðru forriti. Ef henni er hlaðið aftur inn verður öllum " +"óvistuðum breytingum skipt út fyrir breytingar sem gerðar voru í hinu " +"forritinu.Viltu halda áfram að hlaða inn skránni?" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "Skrá breytt" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "Halda áfram að endurhlaða" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "Hætta við að endurhlaða" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" +"Skráin %1 er með óvistaðar breytingar en henni hefur " +"verið breytt í öðru forriti. Ef henni er lokað verður öllum óvistuðum " +"breytingum skipt út fyrir breytingar sem gerðar voru í hinu forritinu.Viltu halda áfram að loka skránni?" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "Halda áfram að loka" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "Hætta við að loka" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "Viltu vista breytingar þínar á \"%1\" eða henda þeim?" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "Loka skjali" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"Þessi tengill vísar á aðgerð sem lokar skjali og virkar ekki þegar " +"innfelldur skoðari er notaður." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"Þessi tengill vísar á aðgerð sem lokar forritum og virkar ekki þegar " +"innfelldur skoðari er notaður." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, kde-format +msgid "Reloading the document…" +msgstr "Endurhleð skjalinu…" + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "Efni" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "Undirritanir" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Fara á síðu" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "&Síða:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "Sláðu inn nýja nafnið á bókamerkinu:" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "Endurnefna þetta bókamerki" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "Fjarlægja þetta bókamerki" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "Vista sem" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" +"Þú hefur valið að vista Okular-safnskrá án þess að skrárheitið endi á '%1'. " +"Það er ekki heimilt. Viltu velja nýtt heiti?" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "Óstudd skráarending" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "Velja nýtt heiti" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" +"Skránni %1 hefur verið breytt í öðru forriti. Ef þú " +"vistar núna glatast allar breytingar sem voru gerðar í hinu forritinu. Ertu " +"viss um að þú viljir halda áfram?" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "Vistun - viðvörun" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "Vista afrit annars staðar" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
    In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" +"Þetta skjal er varið með lykilorði.
    Til að hægt sé að vista skjalið " +"þarf að endurhlaða skjalinu. Þú þarft að slá lykilorðið aftur inn og " +"breytingaferill þinn glatast.
    Viltu halda áfram?" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "Get ekki opnað bráðabirgðaskrá fyrir vistun." + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" +"Gat ekki skrifað yfir %1 þar sem skráin er skrifvarin. " +"Prófaðu að vista á öðrum stað eða breyttu heimildum skrárinnar." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" +"Eftir vistun krefst snið núverandi skjals þess að skráin sé endurhlaðin. " +"Breytingaferill þinn glatast.
    Viltu halda áfram?" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "Ekki tókst að vista skrána í '%1'. Reyndu að vista hana á öðrum stað." + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "Innihald útfyllts forms" + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "Glósur notandans" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" +"Þú ert u.þ.b. að fara að vista breytingar en núverandi skráarsnið styður " +"ekki vistun á eftirfarandi einingum. Notaðu Okular-skjalasafnssniðið " +"til að varðveita þær." + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "Viðvörun" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "Vista sem Okular-skjalasafn…" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" +"Þú ert u.þ.b. að fara að vista breytingar en núverandi skráarsnið styður " +"ekki vistun á eftirfarandi einingum. Notaðu Okular-skjalasafnssniðið " +"til að varðveita þær. Smelltu á Halda áfram til að vista skjalið og " +"fleygja þessum einingum." + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" +"Þú ert u.þ.b. að fara að vista breytingar en núverandi skráarsnið styður " +"ekki vistun á eftirfarandi einingum. Notaðu Okular-skjalasafnssniðið " +"til að varðveita þær. Smelltu á Halda áfram til að vista, en þá " +"glatarðu þessum einingum og breytingaferlinum að auki." + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "Halda áfram" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "Halda áfram og tapa breytingum" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "Ekki tókst að vista skrána í ''%1'. %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"Okular getur ekki afritað %1 á tilgreinda staðinn.\n" +"\n" +"Skjalið virðist ekki vera til lengur." + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" +"Ekki tókst að vista skrána í '%1'. Villa: '%2'. Reyndu að vista hana á " +"annarri staðsetningu." + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "Expand whole section" +msgid "Expand Whole Section" +msgstr "Víkka út allan hlutann" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "Collapse whole section" +msgid "Collapse Whole Section" +msgstr "Fella saman allan hlutann" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "Samstilla smámynd við síðu" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Verkfæri" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "Upplestur" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "Prenta" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "Prentun á skjalinu er ekki leyfð." + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"Gat ekki prentað skjalið. Óþekkt villa. Sendu villuskýrslu til bugs.kde.org" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"Gat ekki prentað skjalið. Útlistuð villa er \"%1\". Sendu villuskýrslu til " +"bugs.kde.org" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "Fara þangað sem þú varst síðast" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "Fara þangað sem þú varst eftir" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"Skráarvilla! Gat ekki búið til bráðabirgðaskrá " +"%1." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"Skráarvilla! Gat ekki opnað skrána %1 til að afþjappa hana. Skránni verður ekki hlaðið inn." + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"Þessi villa kemur venjulega upp ef þú ert ekki með nægar heimildir til " +"að lesa skrána. Þú getur athugað eiganda og heimildir með því að hægrismella " +"á skrána í Dolphin-skráastjóranum og velja síðan flipann 'Heimildir'." + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"Skráarvilla! Gat ekki afþjappað skrána " +"%1. Skránni verður ekki hlaðið inn." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"Þessi villa kemur venjulega upp þegar skráin er skemmd. Ef þú vilt " +"fullvissa þig um það skaltu reyna að afþjappa hana handvirkt með því að nota " +"skipanalínuforrit." + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "Engin bókamerki" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "Vandamál kom upp við að deila skjalinu: %1" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "Deila" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "Tókst að deila skjali" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "Þú getur fundið skjalið sem var deilt á: %1" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "&Breyta" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "S&koða" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&Fara" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "Verk&færi" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "Aðaltækjastika" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "Glósustika" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, kde-format +msgid "Quick Annotation Toolbar" +msgstr "Flýtistika fyrir glósur" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "Almennir valkostir" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Aðgengi" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "Lestraraðstoð" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Afköst" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "Fínstilling afkasta" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "Grunnstilla skoðara" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Kynning" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "Stillingar fyrir kynningarsnið" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "Valkostir fyrir glósur" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "Ritill" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "Valkostir ritils" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" +"Ritillinn var stilltur á skipanalínu á \n" +" %1 \n" +"Ef þú vilt nota stillinguna skaltu ræsa okular án valkostsins --editor-cmd" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "Finna næsta" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 - Kynning" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "Skipta um skjá" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "Skjár %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "Hætta í kynningarsniði" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Titill: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Síður: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "Smelltu til að byrja" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "Gera hlé" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "Spila" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"Það er hægt að hætta í kynningarsniði á tvo vegu. Þú getur annað hvort " +"smellt á ESC-hnappinn eða á lokunarhnappinn sem birtist þegar músin er færð " +"efstí hægra hornið. Þú getur auðvitað líka flett á milli glugga (Alt+TAB er " +"sjálfgefin skipun)" + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "Kynning í gangi" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "Óþekkt skrá" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "%1 eiginleikar" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "&Letur" + +#: part/propertiesdialog.cpp:145 +#, kde-format +msgid "Reading font information…" +msgstr "Les upplýsingar um letur…" + +#: part/propertiesdialog.cpp:158 +#, kde-format +msgid "&Page Sizes" +msgstr "&Blaðsíðustærðir" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "Afþjappa l&etri" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Type 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Type 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "Type 1C (OT)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Type 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType (OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID Type 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID Type 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID Type 0C (OT)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType (OT)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "TeX PK" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "TeX virtual" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "TeX Font Metric" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "TeX FreeType-meðhöndlað" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "Óþekkt" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "Innfellt (undirmengi)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "Allt innfellt" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "Nei" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "Já (undirmengi)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "Já" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "%1 (skipt út fyrir %2)" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "[n/a]" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "Óþekkt letur" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "Innfellt: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "Heiti" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "Tegund" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "Skrá" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "Síða" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "Stærð" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "Forskoða endurskoðaða útgáfu" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "Hvar viltu vista þessa endurskoðuðu útgáfu?" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "Gat ekki vistað skrána %1" + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "Gat ekki opnað endurskoðaða útgáfu." + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "Sláðu inn a.m.k. 3 stafi til að sía síðurnar" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "Háð há-/lágstöfum" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "Passa við setningu" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "Passa við öll orð" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "Passa við eitthvað orð" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "Valmöguleikar síu" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, kde-format +msgid "Certificates" +msgstr "Skilríki" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "Veldu skilríki til að undirrita með:" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "Allt" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, kde-format +msgid "Only QES certificates" +msgstr "Einungis QES-skilríki" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "Einungis PGP-lyklar" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "Ástæða:" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, kde-format +msgid "optional" +msgstr "valfrjálst" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "Staðsetning:" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, kde-format +msgid "Background:" +msgstr "Bakgrunnur:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "Velja..." + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, kde-format +msgid "Recent backgrounds:" +msgstr "Nýlegir bakgrunnar:" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

    No annotations

    To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
    " +msgstr "" +"

    Engar glósur

    Ýttu á F6 til að búa til nýjar " +"glósur eða veldu Verkfæri -> Glósur í valmyndinni
    " + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "Hópa eftir síðu" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "Hópa eftir höfundi" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "Aðeins sýna glósur fyrir núverandi síðu" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "Víkka út allar einingar" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "Fella saman allar einingar" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "Eiginleikar" + +#: part/signaturepartutils.cpp:180 +#, kde-format +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Myndir (%1)" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "Velja bakgrunnsmynd" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "Gleyma mynd" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "Gleyma öllum myndum" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "Settu inn lykilorð (ef eitthvað er) til að aflæsa skilríki: %1" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "Settu inn lykilorðið að skilríkinu" + +#: part/signaturepartutils.cpp:244 +#, kde-format +msgid "Enter document password" +msgstr "Sláðu inn lykilorð skjals" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "Vista undirritaða skrá sem" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "%1_undirritað.%2" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "Staða gildistíma" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "Gildi undirritunar:" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "Breytingar á skjali:" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "Viðbótarupplýsingar" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "Undirritari:" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "Tími undirritunar:" + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "Útgáfa skjals" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Endurskoðuð útgáfa skjals %1 af %2" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "Skoða undirritaða útgáfu…" + +#: part/signaturepropertiesdialog.cpp:95 +#, kde-format +msgid "View Certificate…" +msgstr "Skoða skilríki…" + +#: part/signaturepropertiesdialog.cpp:97 +#, kde-format +msgid "View in Certificate Manager" +msgstr "Skoða í skilríkjastjóra" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "Skilríkjastjórnun KDE (kleopatra) fannst ekki" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "Fullgilt (QES)" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "PGP" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "Aðeins sýna bókamerktar síður" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "Spila" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Gera hlé" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "Stöðva" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "Myndskeið eru ekki studd í þessari útgáfu af okular" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "Myndskeið eru ekki studd í þessari útgáfu af okular" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "Bæt&a við…" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, kde-format +msgid "&Edit…" +msgstr "Br&eyta…" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "Fja&rlægja" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "Færa &upp" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "Færa &niður" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "Sjálfgefið teikniverkfæri #%1" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "Það er þegar til verkfæri með þessu nafni. Nota það sjálfgefna" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "Endurtekið nafn" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "Síða skjalsins sem á að sýna" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "Opna skjalið í kynningarsniði" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "Byrja með prentglugga" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "Byrja með prentglugga og hætta eftir prentun" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "Stjórnun fyrir \"Sértækt tilvik\"" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "Ekki lyfta glugga" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "Finna textastreng í textanum" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "Stillir skipunina fyrir ytri ritil" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "Skjal sem á að opna. Tilgreindu '-' til að lesa frá stdin." + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" +"Þú getur ekki stillt ritilsskipunina í tilviki af okular sem er nú þegar í " +"gangi. Gerðu flipana óvirka og reyndu aftur. Athugaðu að valkosturinn " +"'unique' er ekki heldur studdur þegar ritilsskipunin er stillt á " +"skipanalínunni.\n" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "Villa: Get ekki opnað fleiri en eitt skjal með rofanum --unique" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "Villa: Get ekki opnað fleiri en eitt skjal með rofanum --presentation" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "Villa: Get ekki opnað fleiri en eitt skjal með rofanum --print" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "Villa: Get ekki opnað fleiri en eitt skjal með rofanum --page" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "Villa: Get ekki opnað fleiri en eitt skjal með rofanum --find" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "Get ekki fundið Okular-eininguna: %1" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "Hliðarstika" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" +"Það er nú þegar Okular-tilvik í gangi með rofanum 'unique'. Þetta tilvik " +"notast ekki við 'unique'." + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "Get ekki fundið Okular-einingu." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"Smelltu til að opna skrá\n" +"Smelltu og haltu niðri til að opna nýlega skrá" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"Smelltu til að opna skrá eða smelltu og haltu niðri til að " +"velja nýlega skrá" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "Næsti flipi" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "Fyrri flipi" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "Afturkalla lokun á flipa" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "Læsa hliðarstiku" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "Allar skrár (*)" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "Allar studdar skrár (%1)" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "Opna skjal" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "Staðfesta lokun" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "Loka flipum" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "" +"Þú ert að fara að loka %1 flipum. Ertu viss um að þú viljir halda áfram?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "Vara við þegar ég reyni að loka mörgum flipum" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "A&frita slóð" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "&Opna möppu sem skráin er í" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "&Gleyma þessu atriði" + +#: shell/welcomescreen.cpp:137 +#, kde-format +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "Engin nýleg skjöl" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "Velkomin í Okular" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Opna skjal..." + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, kde-format +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Nýleg skjöl" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "Gleyma öllu" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "Fela upphafsskjá" + +#~ msgid "Geometry with Comment" +#~ msgstr "Form með athugasemd" + +#~ msgid "Geometry" +#~ msgstr "Form" + +#~ msgctxt "Annotation type: contents" +#~ msgid "%1: %2" +#~ msgstr "%1: %2" + +#~ msgid "Modified: %1" +#~ msgstr "Breytt: %1" + +#~ msgid "Find..." +#~ msgstr "Finna..." + +#~ msgid "Go To Page..." +#~ msgstr "Fara á síðu..." + +#~ msgid "Play movie..." +#~ msgstr "Spila myndskeið..." + +#~ msgid "Search..." +#~ msgstr "Leita..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "Vista &sem..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "S&koða..." + +#~ msgid "&Sign..." +#~ msgstr "&Undirrita..." + +#~ msgid "Configure Viewer..." +#~ msgstr "Grunnstilla skoðara..." + +#~ msgid "Configure Viewer Backends..." +#~ msgstr "Grunnstilla skoðunarbakenda..." + +#~ msgid "Configure Backends..." +#~ msgstr "Grunnstilla bakenda..." + +#~ msgid "&Add..." +#~ msgstr "Bæt&a við..." + +#~ msgid "&Edit..." +#~ msgstr "Br&eyta..." + +#~ msgctxt "%1 is a file path" +#~ msgid "" +#~ "Could not sign. Invalid certificate password or could not write to '%1'" +#~ msgstr "" +#~ "Gat ekki undirritað. Ógilt lykilorð vottorðs eða ekki hægt að skrifa í " +#~ "'%1'" + +#, fuzzy +#~| msgid "" +#~| "All your signing certificates are either not valid yet or are past their " +#~| "validity date." +#~ msgid "All your signing certificates are invalid" +#~ msgstr "" +#~ "Öll undirritunarvottorð þín hafa annað hvort ekki enn tekið gildi eða eru " +#~ "útrunnin." + +#~ msgid "Unsigned Signature %1" +#~ msgstr "Óútfyllt undirskrift %1" + +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "Óþekkt" + +#~ msgctxt "Signature type" +#~ msgid "Unsigned signature" +#~ msgstr "Óútfyllt undirskrift" + +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "Spinbox prefix: Advance automatically: every n seconds" +#~ msgid "every " +#~ msgstr "á" + +#~ msgctxt "Suffix for the pen width, eg '10 px'" +#~ msgid " px" +#~ msgstr " px" + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " %" + +#, fuzzy +#~| msgctxt "%1 is a file path" +#~| msgid "" +#~| "Could not sign. Invalid certificate password or could not write to '%1'" +#~ msgctxt "%1 is a file path" +#~ msgid "Could not sign. Could not write to '%1'" +#~ msgstr "" +#~ "Gat ekki undirritað. Ógilt lykilorð vottorðs eða ekki hægt að skrifa í " +#~ "'%1'" + +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "Passa á breidd" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "Passa á síðu" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Auto Fit" +#~ msgstr "Aðlaga sjálfvirkt" + +#~ msgid "*|All Files" +#~ msgstr "*|Allar skrár" + +#~ msgid "" +#~ "The file '%1' has been modified by another program, which means it can no " +#~ "longer be saved." +#~ msgstr "" +#~ "Skránni '%1' hefur verið breytt af öðru forriti, sem þýðir að ekki er " +#~ "lengur hægt að vista hana." + +#, fuzzy +#~| msgid "Show &Page Bar" +#~ msgid "Show Sidebar" +#~ msgstr "Birta &blaðsíðustiku" + +#, fuzzy +#~| msgid "Experimental" +#~ msgctxt "@title:window" +#~ msgid "Experimental feature" +#~ msgstr "Á tilraunastigi" + +#~ msgid "Remove Bookmarks" +#~ msgstr "Fjarlægja bókamerki" + +#, fuzzy +#~| msgid "Annotations" +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "Glósur" + +#, fuzzy +#~| msgid "Highlight" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "Upplitun" + +#, fuzzy +#~| msgid "Underline" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Underline" +#~ msgstr "Undirstrikað" + +#, fuzzy +#~| msgid "Squiggle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Squiggle" +#~ msgstr "Beygla" + +#, fuzzy +#~| msgid "Strike Out" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Strike Out" +#~ msgstr "Gegnumstrikað" + +#, fuzzy +#~| msgid "Insert" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "Setja inn" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "Innfelldur minnismiði" + +#, fuzzy +#~| msgid "Pop-up Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "Sprett-athugasemd" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a freehand line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Freehand Line" +#~ msgstr "Teikna fríhendislínu" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a straight line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Straight line" +#~ msgstr "Teikna beina línu" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a rectangle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Rectangle" +#~ msgstr "Teikna rétthyrning" + +#, fuzzy +#~| msgid "Cyan Ellipse" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Ellipse" +#~ msgstr "Blágrænn sporbaugur" + +#, fuzzy +#~| msgid "Polygon" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Polygon" +#~ msgstr "Marghyrningur" + +#, fuzzy +#~| msgid "Highlighter" +#~ msgid "Highlight in Yellow" +#~ msgstr "Uppljómun" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Highlight text" +#~ msgid "Highlight in Green" +#~ msgstr "Uppljóma texta" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgid "Insert Inline Note" +#~ msgstr "Innfelldur minnismiði" + +#, fuzzy +#~| msgid "Pop-up Note" +#~ msgid "Insert Popup Note" +#~ msgstr "Sprett-athugasemd" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "Velja texta" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "Velja texta" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "Velja texta" + +#, fuzzy +#~| msgid "&Magnifier" +#~ msgctxt "verb" +#~ msgid "&Magnify" +#~ msgstr "&Skjástækkun" + +#, fuzzy +#~| msgctxt "Add an annotation to the page" +#~| msgid "add annotation" +#~ msgid "Bookmark annotation" +#~ msgstr "bæta við glósu" + +#~ msgid "&Toggle Change Colors" +#~ msgstr "Víxla li&tabreytingum" + +#, fuzzy +#~| msgid "Enable transitions" +#~ msgctxt "@option:check Config dialog, presentation page, transitions" +#~ msgid "Enable transitions" +#~ msgstr "Virkja umskiptingar" + +#, fuzzy +#~| msgid "Advance every:" +#~ msgctxt "@label:spinbox Config dialog, presentation page" +#~ msgid "Advance every:" +#~ msgstr "Áfram hverja:" + +#, fuzzy +#~| msgid "Use custom background color" +#~ msgctxt "@label:listbox Config dialog, general page" +#~ msgid "Custom background color:" +#~ msgstr "Nota sérsniðinn bakgrunnslit" + +#~ msgid "Draw border around &Images" +#~ msgstr "Teikna ramma í kr&ingum myndir" + +#~ msgid "Identity" +#~ msgstr "Auðkenni" + +#, fuzzy +#~| msgid "&Author:" +#~ msgid "Au&thor:" +#~ msgstr "&Höfundur:" + +#~ msgid "View Options" +#~ msgstr "Valmöguleikar skoðunar" + +#~ msgid "Navigation" +#~ msgstr "Leiðarstýring" + +#~ msgid "Placement" +#~ msgstr "Staðsetning" + +#~ msgid "Screen:" +#~ msgstr "Skjár:" + +#~ msgid "Drawing Tool Configuration" +#~ msgstr "Uppsetning teikniverkfæris" + +#~ msgid "&Get Books From Internet..." +#~ msgstr "Sæ&kja bækur af internetinu..." + +#~ msgid "Reviews" +#~ msgstr "Umsagnir" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "@item:inlistbox Color name" +#~ msgid "%1" +#~ msgstr "%1:" + +#~ msgid "Hide Forms" +#~ msgstr "Fela form" + +#~ msgid "&Review" +#~ msgstr "&Yfirfara" + +#~ msgid "Annotations author" +#~ msgstr "Höfundur glósa" + +#~ msgid "Please insert your name or initials:" +#~ msgstr "Settu inn nafn þitt eða upphafsstafi:" + +#~ msgid "Show &Navigation Panel" +#~ msgstr "Birta stjór&nunarspjald" + +#~ msgid "Show Text" +#~ msgstr "Birta texta" + +#~ msgid "Small Icons" +#~ msgstr "Litlar táknmyndir" + +#~ msgid "Large Icons" +#~ msgstr "Stórar táknmyndir" + +#, fuzzy +#~| msgid "" +#~| "Click to use the current selection tool\n" +#~| "Click and hold to choose another selection tool" +#~ msgid "" +#~ "Click to use the current selection tool\n" +#~ "Click on the arrow to choose another selection tool" +#~ msgstr "" +#~ "Smella til að nota núverandi valverkfæri\n" +#~ "Smelltu og haltu niðri til að velja annað valverkfæri" + +#~ msgid "Created: %1" +#~ msgstr "Búið til: %1" + +#~ msgid "Style" +#~ msgstr "Stíll" + +#~ msgid "&Size:" +#~ msgstr "&Stærð:" + +#~ msgid "Inner color:" +#~ msgstr "Innri litur:" + +#~ msgid "Name: %1" +#~ msgstr "Nafn: %1" + +#~ msgid "Size: %1" +#~ msgstr "Stærð: %1" + +#~ msgid "&Browse Tool" +#~ msgstr "&Skoðunarverkfæri" + +#~ msgid "&Zoom Tool" +#~ msgstr "S&tækkunarVverkfæri" + +#~ msgctxt "Zoom Tool" +#~ msgid "Zoom" +#~ msgstr "Aðdráttur" + +#~ msgctxt "Select Tool" +#~ msgid "Selection" +#~ msgstr "Val" + +#~ msgid "&Text Selection Tool" +#~ msgstr "&Textavalsverkfæri" + +#~ msgid "T&able Selection Tool" +#~ msgstr "Töfluv&alsverkfæri" + +#, fuzzy +#~| msgctxt "Symbol for caret annotations" +#~| msgid "None" +#~ msgid " None" +#~ msgstr "Enginn" + +#~ msgid "" +#~ "The document requested to be launched in presentation mode.\n" +#~ "Do you want to allow it?" +#~ msgstr "" +#~ "Þessi skrá verður opnuð í kynningarham því skráin bað um það.\n" +#~ "Viltu leyfa það?" + +#~ msgid "Presentation Mode" +#~ msgstr "Kynningarhamur" + +#~ msgid "Allow the presentation mode" +#~ msgstr "Leyfa kynningarham" + +#~ msgid "Do Not Allow" +#~ msgstr "Ekki leyfa" + +#~ msgid "Do not allow the presentation mode" +#~ msgstr "Ekki leyfa kynningarham" + +#~ msgid "Save &Copy As..." +#~ msgstr "&Vista afrit sem..." + +#~ msgid "" +#~ "End of document reached.\n" +#~ "Continue from the beginning?" +#~ msgstr "" +#~ "Enda skjals náð.\n" +#~ "Halda áfram frá byrjun?" + +#~ msgid "" +#~ "Beginning of document reached.\n" +#~ "Continue from the bottom?" +#~ msgstr "" +#~ "Byrjun skjals náð.\n" +#~ "Halda áfram frá enda?" + +#~ msgid "Current maintainer" +#~ msgstr "Núverandi umsjónarmaður" + +#~ msgid " sec." +#~ msgstr " sek." + +#~ msgid "Pencil color:" +#~ msgstr "Blýantslitur:" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A0" +#~ msgstr "lárétt DIN/ISO A0" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A0" +#~ msgstr "lóðrétt DIN/ISO A0" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A1" +#~ msgstr "lárétt DIN/ISO A1" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A1" +#~ msgstr "lóðrétt DIN/ISO A1" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A2" +#~ msgstr "lárétt DIN/ISO A2" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A2" +#~ msgstr "lóðrétt DIN/ISO A2" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A3" +#~ msgstr "lárétt DIN/ISO A3" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A3" +#~ msgstr "lóðrétt DIN/ISO A3" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A4" +#~ msgstr "lárétt DIN/ISO A4" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A4" +#~ msgstr "lóðrétt DIN/ISO A4" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A5" +#~ msgstr "lárétt DIN/ISO A5" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A5" +#~ msgstr "lóðrétt DIN/ISO A5" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A6" +#~ msgstr "lárétt DIN/ISO A6" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A6" +#~ msgstr "lóðrétt DIN/ISO A6" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A7" +#~ msgstr "lárétt DIN/ISO A7" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A7" +#~ msgstr "lóðrétt DIN/ISO A7" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A8" +#~ msgstr "lárétt DIN/ISO A8" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A8" +#~ msgstr "lóðrétt DIN/ISO A8" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A9" +#~ msgstr "lárétt DIN/ISO A9" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A9" +#~ msgstr "lóðrétt DIN/ISO A9" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B0" +#~ msgstr "lárétt DIN/ISO B0" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B0" +#~ msgstr "lóðrétt DIN/ISO B0" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B1" +#~ msgstr "lárétt DIN/ISO B1" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B1" +#~ msgstr "lóðrétt DIN/ISO B1" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B2" +#~ msgstr "lárétt DIN/ISO B2" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B2" +#~ msgstr "lóðrétt DIN/ISO B2" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B3" +#~ msgstr "lárétt DIN/ISO B3" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B3" +#~ msgstr "lóðrétt DIN/ISO B3" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B4" +#~ msgstr "lárétt DIN/ISO B4" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B4" +#~ msgstr "lóðrétt DIN/ISO B4" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B5" +#~ msgstr "lárétt DIN/ISO B5" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B5" +#~ msgstr "lóðrétt DIN/ISO B5" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B6" +#~ msgstr "lárétt DIN/ISO B6" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B6" +#~ msgstr "lóðrétt DIN/ISO B6" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B7" +#~ msgstr "lárétt DIN/ISO B7" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B7" +#~ msgstr "lóðrétt DIN/ISO B7" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B8" +#~ msgstr "lárétt DIN/ISO B8" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B8" +#~ msgstr "lóðrétt DIN/ISO B8" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B9" +#~ msgstr "lárétt DIN/ISO B9" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B9" +#~ msgstr "lóðrétt DIN/ISO B9" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B10" +#~ msgstr "lárétt DIN/ISO B10" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B10" +#~ msgstr "lóðrétt DIN/ISO B10" + +#~ msgctxt "paper size" +#~ msgid "landscape letter" +#~ msgstr "lárétt bréfsefni (letter)" + +#~ msgctxt "paper size" +#~ msgid "portrait letter" +#~ msgstr "lóðrétt bréfsefni (letter)" + +#~ msgctxt "paper size" +#~ msgid "landscape legal" +#~ msgstr "lárétt löggilt" + +#~ msgctxt "paper size" +#~ msgid "portrait legal" +#~ msgstr "lóðrétt löggilt" + +#~ msgctxt "paper size" +#~ msgid "landscape executive" +#~ msgstr "lárétt formlegt (executive)" + +#~ msgctxt "paper size" +#~ msgid "portrait executive" +#~ msgstr "lóðétt formlegt (executive)" + +#~ msgctxt "paper size" +#~ msgid "landscape Comm10E" +#~ msgstr "lárétt Comm10E" + +#~ msgctxt "paper size" +#~ msgid "portrait Comm10E" +#~ msgstr "lóðétt Comm10E" + +#~ msgctxt "paper size" +#~ msgid "landscape DLE" +#~ msgstr "lárétt DLE" + +#~ msgctxt "paper size" +#~ msgid "portrait DLE" +#~ msgstr "lóðétt DLE" + +#~ msgctxt "paper size" +#~ msgid "landscape folio" +#~ msgstr "lárétt folio" + +#~ msgctxt "paper size" +#~ msgid "portrait folio" +#~ msgstr "lóðétt folio" + +#~ msgctxt "paper size" +#~ msgid "ledger" +#~ msgstr "höfuðbók (ledger)" + +#~ msgctxt "paper size" +#~ msgid "tabloid" +#~ msgstr "dagblaðssnið (tabloid)" + +#~ msgctxt "paper size" +#~ msgid "unknown landscape paper size" +#~ msgstr "óþekkt lárétt pappírsstærð" + +#~ msgctxt "paper size" +#~ msgid "unknown portrait paper size" +#~ msgstr "óþekkt lóðrétt pappírsstærð" + +#~ msgid "Toggle Drawing Mode" +#~ msgstr "Víxla teikniham af/á" + +#~ msgid "Starting Jovie Text-to-Speech service Failed: %1" +#~ msgstr "Ræsing Jovie Texti-í-tal þjónustunnar mistókst: %1" + +#~ msgid "Search Columns" +#~ msgstr "Leitardálkar" + +#~ msgid "All Visible Columns" +#~ msgstr "Allir sýnilegir dálkar" + +#~ msgid "No document opened." +#~ msgstr "Ekkert skjal opnað." + +#~ msgid "No matches found for '%1'." +#~ msgstr "Engar samsvaranir fundust fyrir '%1'." + +#~ msgid "Search in progress..." +#~ msgstr "Leit í gangi..." + +#~ msgid "Searching for %1" +#~ msgstr "Leita að %1" + +#~ msgid "Identity Settings" +#~ msgstr "Stillingar auðkennis" + +#~ msgid "Highlight Properties" +#~ msgstr "Eiginleikar upplitunar" + +#~ msgid "Ink Properties" +#~ msgstr "Eiginleikar bleks" + +#~ msgctxt "Annotation tool" +#~ msgid "Text Annotation" +#~ msgstr "Athugasemd" + +#~ msgctxt "Annotation tool" +#~ msgid "Green Ink" +#~ msgstr "Grænt blek" + +#~ msgctxt "Annotation tool" +#~ msgid "Yellow Highlight" +#~ msgstr "Gul áherslustrikun" + +#~ msgctxt "Annotation tool" +#~ msgid "Straight Yellow Line" +#~ msgstr "Bein gul lína" + +#~ msgid "Black Underlining" +#~ msgstr "Svört undirlína" + +#~ msgctxt "Annotation tool" +#~ msgid "Underline the text with a black line" +#~ msgstr "Undirstrika texta með svartri línu" + +#~ msgctxt "Annotation tool" +#~ msgid "A cyan ellipse" +#~ msgstr "Blágrænn sporbaugur" + +#~ msgid "Ink" +#~ msgstr "Blek" + +#~ msgid "Reset Forms" +#~ msgstr "Frumstilla eyðublað" diff --git a/po/is/okular_comicbook.po b/po/is/okular_comicbook.po new file mode 100644 index 0000000..0413572 --- /dev/null +++ b/po/is/okular_comicbook.po @@ -0,0 +1,61 @@ +# translation of okular_comicbook.po to Icelandic +# Copyright (C) 2008 This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Sveinn í Felli , 2008, 2015. +# SPDX-FileCopyrightText: 2023 Guðmundur Erlingsson +msgid "" +msgstr "" +"Project-Id-Version: okular_comicbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2023-12-20 22:02+0000\n" +"Last-Translator: Guðmundur Erlingsson \n" +"Language-Team: Icelandic \n" +"Language: is\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 23.08.3\n" +"Plural-Forms: Plural-Forms: nplurals=2; plural=n != 1;\n" +"\n" +"\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Sveinn í Felli,Guðmundur Erlingsson" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sv1@fellsnet.is,gudmundure@gmail.com" + +#: document.cpp:97 +#, kde-format +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "Get ekki opnað skjalið, hvorki unrar né unarchiver fundust." + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "" +"Útgáfan af unrar í tölvunni þinni er ekki nothæf til að opna myndasöguskrár." + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "Óþekkt ComicBook-snið." + +#~ msgid "ComicBook Backend" +#~ msgstr "ComicBook bakendi" + +#~ msgid "A renderer for various comic book formats" +#~ msgstr "Myndgerir ýmsar tegundir comic book skráasniða" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/is/okular_djvu.po b/po/is/okular_djvu.po new file mode 100644 index 0000000..3c703e1 --- /dev/null +++ b/po/is/okular_djvu.po @@ -0,0 +1,139 @@ +# translation of okular_djvu.po to Icelandic +# Copyright (C) 2008 This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Sveinn í Felli , 2008, 2015. +# SPDX-FileCopyrightText: 2023 Guðmundur Erlingsson +msgid "" +msgstr "" +"Project-Id-Version: okular_djvu\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2023-12-20 22:03+0000\n" +"Last-Translator: Guðmundur Erlingsson \n" +"Language-Team: Icelandic \n" +"Language: is\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 23.08.3\n" +"Plural-Forms: Plural-Forms: nplurals=2; plural=n != 1;\n" +"\n" +"\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Sveinn í Felli,Guðmundur Erlingsson" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sv1@fellsnet.is,gudmundure@gmail.com" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "Ritill" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "Útgefandi" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "Bindi" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "Tegund skjals" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "Óþekkt" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "Byggt á skrám" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "Óþekkt" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "Stök síða" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "Í vöndli" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "Óbeint" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "Í vöndli (gamalt)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "Flokkað (gamalt)" + +#~ msgid "DjVu Backend" +#~ msgstr "DjVu bakendi" + +#~ msgid "DjVu backend based on DjVuLibre." +#~ msgstr "DjVu bakendi byggður á DjVuLibre." + +#~ msgid "© 2006-2008 Pino Toscano" +#~ msgstr "© 2006-2008 Pino Toscano" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgctxt "Unknown title" +#~ msgid "Unknown" +#~ msgstr "Óþekkt" + +#~ msgctxt "Unknown author" +#~ msgid "Unknown" +#~ msgstr "Óþekkt" + +#~ msgctxt "Unknown editor" +#~ msgid "Unknown" +#~ msgstr "Óþekkt" + +#~ msgctxt "Unknown publisher" +#~ msgid "Unknown" +#~ msgstr "Óþekkt" + +#~ msgctxt "Unknown creation date" +#~ msgid "Unknown" +#~ msgstr "Óþekkt" + +#~ msgctxt "Unknown volume information" +#~ msgid "Unknown" +#~ msgstr "Óþekkt" + +#~ msgctxt "Unknown type of document" +#~ msgid "Unknown" +#~ msgstr "Óþekkt" diff --git a/po/is/okular_dvi.po b/po/is/okular_dvi.po new file mode 100644 index 0000000..f509ccd --- /dev/null +++ b/po/is/okular_dvi.po @@ -0,0 +1,751 @@ +# translation of okular_dvi.po to icelandic +# Copyright (C) 2008, 2009 This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# SPDX-FileCopyrightText: 2008, 2009, 2013, 2014, 2015, 2025 Sveinn í Felli +# SPDX-FileCopyrightText: 2023, 2024, 2025 Guðmundur Erlingsson +msgid "" +msgstr "" +"Project-Id-Version: okular_dvi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-10-23 14:58+0000\n" +"Last-Translator: Sveinn í Felli \n" +"Language-Team: Icelandic\n" +"Language: is\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 23.08.5\n" +"Plural-Forms: Plural-Forms: nplurals=2; plural=n != 1;\n" +"\n" +"\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Sveinn í Felli,Guðmundur Erlingsson" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sv1@fellsnet.is,gudmundure@gmail.com" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

    Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

    Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

    " +msgstr "" +"

    Okular fann ekki dvipdfm-forritið á tölvunni. Þetta forrit " +"er nauðsynlegt til að útflutningseiginleikinn virki sem skyldi. Þú gætir " +"hinsvegar umbreytt DVI-skránni í PDF með því að nota prentskipunina í " +"Okular, en það býr oft til skjöl sem koma vel út í prentun en koma ekki vel " +"út þegar þau eru skoðuð Acrobat Reader. Það gæti verið gáfulegt að uppfæra " +"útgáfu þína af TeX-hugbúnaðinum sem ætti að innihalda dvipdfm-" +"forritið.

    Vísbending til ráðvilltra kerfisstjóra: Okular notar PATH-" +"umhverfisbreytuna við að leita að forritum.

    " + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Forritið 'dvipdfm', sem var notað til að flytja út DVI-skrána, skilaði " +"villu. Þú gætir viljað líta á upplýsingagluggann fyrir skjalið sem er að finna í valmyndinni Skrá til að fá nákvæma villumeldingu. " + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" +"Þessi DVI-skrá er með tilvísanir í ytri myndskrár sem ekki eru á " +"PostScript-sniði og því ekki hægt að meðhöndla með dvips-forritinu " +"sem Okular notar til að prenta eða flytja út í PostScript. Virknin sem þú " +"þarft er því ekki í boði í þessari útgáfu af Okular." + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

    Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

    Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

    " +msgstr "" +"

    Okular fann ekki dvips-forritið á tölvunni. Þetta forrit er " +"nauðsynlegt til að útflutningsaðgerðin virki sem skyldi.\n" +"Vísbending til ráðvilltra kerfisstjóra: Okular notar PATH-umhverfisbreytuna " +"við leit að forritum.

    " + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Forritið 'dvips', sem var notað til að flytja út DVI-skrána, skilaði " +"villu. Þú gætir viljað líta á upplýsingagluggann um skjalið " +"sem þú finnur í valmyndinni Skrá til að fá nákvæma villumeldingu. " + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "Formála (e. preamble) vantar í DVI-skrána." + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" +"DVI-skráin inniheldur ranga útgáfu af DVI-úttaki fyrir þetta forrit. " +"Vísbending: Ef þú notar letursetningarkerfið Omega verðurðu að nota sérstakt " +"forrit, til dæmis oxdvi." + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "" +"DVI-skráin er illa skemmd. Okular gat ekki fundið eftirmálann (e. postamble)." + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "Eftirmálinn (e. postamble) byrjar ekki á POST-skipuninni." + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "Eftirmálinn (e. postamble) innihélt aðra skipun en FNTDEF." + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "Síðan %1 hefst ekki á BOP-skipuninni." + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

    The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

    What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

    PATH: %2

    " +msgstr "" +"

    Ekki tókst að ræsa forrritið pdf2ps. Þar af leiðandi " +"tókst ekki að umbreyta PDF-skránni %1 í PostScript. Sumt af myndefninu í " +"skjalinu þínu verður því ekki birt.

    Hugsanleg ástæða: Forritið " +"pdf2ps er kannski ekki uppsett í tölvunni þinni eða það " +"finnst ekki á núverandi leitarslóð.

    Það sem þú getur gert: " +"Forritið pdf2ps fylgir venjulega með í helstu dreifingum á " +"PostScript-túlkunarkerfinu ghostscript. Ef ghostscript er ekki uppsett í " +"tölvunni þá gætirðu sett það upp núna. Ef þú ert viss um að ghostscript sé " +"þegar uppsett skaltu reyna að slá inn pdf2ps á skipanalínu " +"til að athuga hvort það virki í raun og veru.

    SLÓÐ: %2

    " + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

    The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

    %2

    " +msgstr "" +"

    Ekki var hægt að umbreyta PDF-skránni %1 í PostScript. Eitthvað af " +"myndefni skjalsins verður því ekki birt.

    Hugsanleg ástæða: " +"Skráin %1 gæti verið skemmd eða er kannski alls ekki PDF-skrá. Þetta er " +"úttak pdf2ps-forritsins sem Okular notaði:

    " +"%2

    " + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "Skemmd skrá. %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "Ekki var hægt að fella allar PostScript-skrár inn í skjalið þitt. %1" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "Allar ytri PostScript-skrár voru felldar inn í skjalið þitt." + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "Umbeðna skráin '%1' er ekki til." + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" +"Þú baðst Okular um að finna staðinn í DVI-skránni sem samsvarar línu %1 í " +"TeX-skránni %2. DVI-skráin virðist hins vegar ekki innihalda nauðsynlegar " +"upplýsingar hvað það varðar. " + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" +"Okular tókst ekki að finna staðinn í DVI-skránni sem samsvarar línu %1 í TeX-" +"skránni %2." + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "DVI-kóði setti tákn af óþekktri leturgerð." + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "DVI kóðinn vísaði í leturgerð #%1 sem hefur ekki verið skilgreind." + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "Staflinn var ekki tómur þegar komið var að EOP-skipuninni." + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "Staflinn var tómur þegar komið var að POP-skipuninni." + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "DVI-kóðinn vísaði í leturgerð sem hefur ekki verið skilgreind." + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "Ólögleg skipun fundin." + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "Óþekkti op-kóðinn %1 fannst." + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "Felli inn %1" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
    " +msgstr "" +"Síða %1: Ekki tókst að umbreyta PDF-skránni %2 í PostScript." +"
    " + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
    " +msgstr "Síða %1: PostScript-skráin %2 fannst ekki.
    " + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "Ekki tókst að þátta pappírsstærðargögnin '%1'." + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

    Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

    PATH: %1

    %2

    " +msgstr "" +"

    Okular gat ekki fundið allar þær leturskrár sem þarf til að birta " +"þessa DVI-skrá. Skjalið þitt gæti verið ólesanlegt.

    SLÓÐ: %1

    %2

    " + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

    There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
    Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

    PATH: %1

    %2

    " +msgstr "" +"

    Upp komu vandamál við að keyra kpsewhich. Þar af leiðandi " +"fundust ekki sumar leturskrárnar og skjalið þitt gæti verið ólesanlegt.
    " +"Hugsanleg ástæða: Kannski er kpsewhich-forritið ekki sett upp í " +"tölvunni eða að það finnst ekki á núverandi leitarslóð.

    SLÓÐ:" +" %1

    %2

    " + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" +"Hætt var við að mynda letur með kpsewhich (lokunarkóði %1, " +"villa %2). Þar af leiðandi fundust ekki sumar leturskrárnar og skjalið " +"þittgæti verið ólesanlegt." + +#: fontpool.cpp:482 +#, kde-format +msgid "Currently generating %1 at %2 dpi…" +msgstr "Bý nú til %1 í %2 pát…" + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "Myndunarforrit/dagsetning" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "Leturskrá fannst ekki" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "%1 × %2" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "%1 × %2 mm" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "%1 × %2 in" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "skammsnið" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "langsnið" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" +"Útgáfan af Ghostview sem er uppsett í tölvunni er ekki með neina Ghostview-" +"tækjarekla sem Okular þekkir. Þess vegna er búið að slökkva á PostScript-" +"stuðningi í Okular." + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "Það gera 25 villur. Fleiri villuboð verða ekki prentuð." + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" +"Villa í DVI-skrá '%1', síðu %2. 'Color pop'-skipun gefin þegar litastafli er " +"tómur." + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" +"Gallað viðfang í 'special'-skipuninni epsf.\n" +"Átti von á tölu á eftir %1 í %2" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"Skráin fannst ekki:\n" +" %1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" +"Villa í DVI-skrá '%1', síða %2. Gat ekki túlkað horn í 'special'-skipun " +"fyrir textasnúning." + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "'Special'-skipunin '%1' er ekki studd." + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" +"Leturgerðarskráin %1 var opnuð og lesin, en enginn stuðningur er fyrir " +"letursnið hennar." + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "Leturgerðarskráin %1 er biluð eða ekki hægt að opna hana eða lesa." + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" +"FreeType tilkynnti villu við að setja stafastærð fyrir leturgerðarskrá %1." + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "FreeType getur ekki hlaðið inn stafbrigði #%1 úr leturskrá %2." + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "FreeType getur ekki myndað stafbrigði #%1 úr leturskrá %2." + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "Stafbrigði #%1 er tómt." + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "Stafbrigði #%1 úr leturgerðarskrá %2 er tómt." + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "" +"FreeType getur ekki hlaðið inn leturmálum fyrir stafbrigði #%1 úr " +"leturgerðarskrá %2." + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "Get ekki opnað leturskrá %1." + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "TexFont_PK::operator[]: Staftáknið %1 er ekki skilgreint í letri %2" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "Óvænt %1 í PK-skránni %2" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "Staftáknið %1 er of stórt í skránni %2" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "Rangur fjöldi bita vistaður: stafur %1, letur %2" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "Gölluð PK-skrá (%1), of margir bitar" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "Letrið er ekki í ferningshlutföllum " + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "Get ekki fundið letur %1, skrá %2." + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "Gátsumma stemmir ekki fyrir leturskrá %1" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "Þekki ekki snið leturskrárinnar %1" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"Banvæn villa.\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" +"\n" +"\n" +"Þetta þýðir líklega að annaðhvort hefur þú fundið galla í Okular,\n" +"eða þá að DVI-skráin, eða aukaskrár (svo sem leturskrár, \n" +"eða sýndarleturskrár) eru verulega skemmdar.\n" +"Okular mun lokast eftir þessi skilaboð. Ef þú heldur að þú \n" +"hafir fundið galla eða að Okular ætti að haga sér öðruvísi við\n" +"þessar aðstæður ættirðu að senda villuskýrslu." + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "Ógilt skipanabæti fannst í VF-fjölvalista: %1" + +#~ msgid "" +#~ "

    The Ghostview program, which Okular uses internally to display the " +#~ "PostScript graphics that is included in this DVI file, is generally able " +#~ "to write its output in a variety of formats. The sub-programs that " +#~ "Ghostview uses for these tasks are called 'device drivers'; there is one " +#~ "device driver for each format that Ghostview is able to write. Different " +#~ "versions of Ghostview often have different sets of device drivers " +#~ "available. It seems that the version of Ghostview that is installed on " +#~ "this computer does not contain any of the device drivers " +#~ "that are known to Okular.

    It seems unlikely that a regular " +#~ "installation of Ghostview would not contain these drivers. This error may " +#~ "therefore point to a serious misconfiguration of the Ghostview " +#~ "installation on your computer.

    If you want to fix the problems with " +#~ "Ghostview, you can use the command gs --help to display " +#~ "the list of device drivers contained in Ghostview. Among others, Okular " +#~ "can use the 'png256', 'jpeg' and 'pnm' drivers. Note that Okular needs to " +#~ "be restarted to re-enable PostScript support.

    " +#~ msgstr "" +#~ "

    Ghostview forritið, sem Okular notar til að sýna PostScript " +#~ "myndirnar sem eru í DVI skránni, er venjulega fært um að skrifa útkomuna " +#~ "í margar gerðir skráasniða. Undirforritin sem Ghostview notar til slíkra " +#~ "aðgerða eru oftast kölluð tækjareklar eða 'device drivers'; það er " +#~ "semsagt einn tækjarekill fyrir hvert snið sem Ghostview getur skrifað. " +#~ "Mismunandi útgáfur Ghostview innihalda oft mismunandi 'sett' af þessum " +#~ "reklum. Það lítur út fyrir að sú útgafa Ghostview sem er uppsett á " +#~ "þessari tölvu innihaldi engann af þeim tækjareklum sem " +#~ "Okular þekkir.

    Það er ólíklegt að nokkur almenn útgáfa af Ghostview " +#~ "myndi ekki innihalda þessa rekla. Þar með gæti þessi villa bent til " +#~ "alvarlegra vandamála eða galla á Ghostview uppsetningunni á tölvunni.

    Til að fá nánari hugmynd um vandamálið gætirðu gefið skipunina " +#~ "gs --help til að sjá hvaða reklar eru uppsettir fyrir " +#~ "Ghostview. Meðal rekla sem Okular getur notað eru 'png256', 'jpeg' og " +#~ "'pnm' reklarnir. Athugaðu að Okular verður að endurræsa til að koma á " +#~ "PostScript stuðningi.

    " + +#~ msgid "DVI Backend" +#~ msgstr "DVI bakendi" + +#~ msgid "A DVI file renderer" +#~ msgstr "Myndgerð DVI skráa" + +#~ msgid "© 2006 Luigi Toscano" +#~ msgstr "© 2006 Luigi Toscano" + +#~ msgid "" +#~ "

    Okular relies on the kpsewhich program to locate font files on " +#~ "your hard disk and to generate PK fonts, if necessary.

    " +#~ msgstr "" +#~ "

    Okular treystir á kpsewhich forritið til að finna leturskrár á " +#~ "harða disknum þínum og til að búa til PK letur ef það er nauðsynlegt.

    " + +#~ msgid "Okular is currently generating bitmap fonts..." +#~ msgstr "Okular er núna að búa til bitamyndaletur..." + +#~ msgid "Aborts the font generation. Do not do this." +#~ msgstr "Hættir við aðgerðina. Ekki gera það." + +#~ msgid "" +#~ "Okular is currently generating bitmap fonts which are needed to display " +#~ "your document. For this, Okular uses a number of external programs, such " +#~ "as MetaFont. You can find the output of these programs later in the " +#~ "document info dialog." +#~ msgstr "" +#~ "Okular er núna að búa til bitamyndaletur sem er nauðsynlegt til að birta " +#~ "skjalið. Okular þarf að nota ymis ytri forrit til þessarar aðgerðar, svo " +#~ "sem MetaFont. Hægt er að sjá síðar tilkynningar frá þessum forritum, í " +#~ "upplýsingaglugga skjalsins." + +#~ msgid "Okular is generating fonts. Please wait." +#~ msgstr "Okular er að búa til letur. Vinsamlega bíða." + +#~ msgid "Font Generation Progress Dialog" +#~ msgstr "Samskiptagluggi leturgerðarframvindu" + +#~ msgid "Abort" +#~ msgstr "Hætta við" + +#~ msgid "What is happening here?" +#~ msgstr "Hvað er í gangi hérna?" + +#~ msgid "%v of %m" +#~ msgstr "%v af %m" + +#~ msgid "Please be patient" +#~ msgstr "Sýndu þolinmæði" + +#~ msgid "*.pdf|Portable Document Format (*.pdf)" +#~ msgstr "*.pdf|Portable Document Format (*.pdf)" + +#~ msgid "Export File As" +#~ msgstr "Flytja skrá út sem" + +#~ msgid "" +#~ "The file %1\n" +#~ "exists. Do you want to overwrite it?" +#~ msgstr "" +#~ "Skráin %1\n" +#~ "er þegar til. Viltu skrifa yfir hana?" + +#~ msgid "Overwrite File" +#~ msgstr "Skrifa yfir skrá" + +#~ msgid "Overwrite" +#~ msgstr "Yfirskrifa" + +#~ msgid "Using dvipdfm to export the file to PDF" +#~ msgstr "Nota dvipdfm til að flytja skrána út sem PDF" + +#~ msgid "" +#~ "Okular is currently using the external program 'dvipdfm' to convert your " +#~ "DVI-file to PDF. Sometimes that can take a while because dvipdfm needs to " +#~ "generate its own bitmap fonts Please be patient." +#~ msgstr "" +#~ "Okular er að nota ytra forritið 'dvipdfm' til að umbreyta DVI-skránni " +#~ "yfir í PDF. Stundum tekur þetta þó nokkurn tíma því dvipdfm þarf að útbúa " +#~ "sér bitamyndaletur (e.bitmap fonts). Vinsamlega sýndu þolinmæði." + +#~ msgid "Waiting for dvipdfm to finish..." +#~ msgstr "Bíð eftir að dvipdfm ljúki vinnslu..." + +#~ msgid "*.ps|PostScript (*.ps)" +#~ msgstr "*.ps|PostScript (*.ps)" + +#~ msgid "Using dvips to export the file to PostScript" +#~ msgstr "Nota dvips til að flytja skrána út sem PostScript" + +#~ msgid "" +#~ "Okular is currently using the external program 'dvips' to convert your " +#~ "DVI-file to PostScript. Sometimes that can take a while because dvips " +#~ "needs to generate its own bitmap fonts Please be patient." +#~ msgstr "" +#~ "Okular er að nota ytra forritið 'dvips' til að umbreyta DVI-skránni yfir " +#~ "í PostScript. Stundum tekur þetta þó nokkurn tíma því dvips þarf að útbúa " +#~ "sér bitamyndaletur (e.bitmap fonts). Vinsamlega sýndu þolinmæði." + +#~ msgid "Waiting for dvips to finish..." +#~ msgstr "Bíð þess að dvips ljúki vinnslu..." + +#~ msgid "Functionality Unavailable" +#~ msgstr "Aðgerð ekki tiltæk" + +#~ msgid "" +#~ "File corruption Okular could not interpret your DVI " +#~ "file. This is most commonly caused by a corrupted file." +#~ msgstr "" +#~ "Skemmd skrá Okular tókst ekki að túlka DVI skrána. " +#~ "Þessu veldur venjulega skemmd í skrá." + +#~ msgid "DVI File Error" +#~ msgstr "DVI skráarvilla" + +#~ msgid "Not All Font Files Found" +#~ msgstr "Ekki fundust allar leturskrár" + +#~ msgid "Locating fonts..." +#~ msgstr "Leita að letri..." + +#~ msgid "Problem locating fonts" +#~ msgstr "Vandamál við staðsetningu leturs" + +#~ msgid "Font generation aborted" +#~ msgstr "Hætt við leturgerð" + +#~ msgid "Export: %1 to PDF" +#~ msgstr "Flytja út: %1 sem PDF" + +#~ msgid "Export: %1 to PostScript" +#~ msgstr "Flytja út: %1 sem PDF" + +#~ msgid "The fontlist is currently empty." +#~ msgstr "Leturlistinn er tómur í augnablikinu." + +#~ msgid "TeX Name" +#~ msgstr "TeX heiti" + +#~ msgid "Family" +#~ msgstr "Leturgerð" + +#~ msgid "Zoom" +#~ msgstr "Aðdráttur" + +#~ msgid "Type" +#~ msgstr "Tegund" + +#~ msgid "Encoding" +#~ msgstr "Stafatafla" + +#~ msgid "Comment" +#~ msgstr "Athugasemd" + +#~ msgid "TeX virtual" +#~ msgstr "TeX sýndar" + +#~ msgid "TeX Font Metric" +#~ msgstr "TeX leturmálsetningar" + +#~ msgid "FreeType" +#~ msgstr "FreeType" diff --git a/po/is/okular_epub.po b/po/is/okular_epub.po new file mode 100644 index 0000000..39f0fbb --- /dev/null +++ b/po/is/okular_epub.po @@ -0,0 +1,59 @@ +# translation of okular_epub.po to Icelandic +# Copyright (C) 2008 This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Sveinn í Felli , 2008, 2014, 2015. +# SPDX-FileCopyrightText: 2023 Guðmundur Erlingsson +msgid "" +msgstr "" +"Project-Id-Version: okular_epub\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2023-12-20 22:02+0000\n" +"Last-Translator: Guðmundur Erlingsson \n" +"Language-Team: Icelandic \n" +"Language: is\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 23.08.3\n" +"Plural-Forms: Plural-Forms: nplurals=2; plural=n != 1;\n" +"\n" +"\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Sveinn í Felli,Guðmundur Erlingsson" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sv1@fellsnet.is,gudmundure@gmail.com" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "Villa við að opna EPub-skjal." + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "EPub" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "Grunnstillingar EPub-bakenda" + +#~ msgid "EPub Backend" +#~ msgstr "EPub bakend" + +#~ msgid "An EPub backend" +#~ msgstr "EPub bakendi" + +#~ msgid "© 2008 Ely Levy" +#~ msgstr "© 2008 Ely Levy" + +#~ msgid "Ely Levy" +#~ msgstr "Ely Levy" diff --git a/po/is/okular_fax.po b/po/is/okular_fax.po new file mode 100644 index 0000000..853348c --- /dev/null +++ b/po/is/okular_fax.po @@ -0,0 +1,48 @@ +# translation of okular_fax.po to Icelandic +# Copyright (C) 2008 This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Sveinn í Felli , 2008, 2015. +msgid "" +msgstr "" +"Project-Id-Version: okular_fax\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2015-01-29 09:07+0000\n" +"Last-Translator: Sveinn í Felli \n" +"Language-Team: Icelandic \n" +"Language: is\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: Plural-Forms: nplurals=2; plural=n != 1;\n" +"\n" +"\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Sveinn í Felli" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sv1@fellsnet.is" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "Get ekki hlaðið inn skjalinu" + +#~ msgid "Fax Backend" +#~ msgstr "Fax bakendi" + +#~ msgid "A G3/G4 fax document backend" +#~ msgstr "G3/G4 faxskjala bakendi" + +#~ msgid "© 2008 Tobias Koenig" +#~ msgstr "© 2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/is/okular_fictionbook.po b/po/is/okular_fictionbook.po new file mode 100644 index 0000000..4e2dcb4 --- /dev/null +++ b/po/is/okular_fictionbook.po @@ -0,0 +1,84 @@ +# translation of okular_fictionbook.po to icelandic +# Copyright (C) 2008 This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Sveinn í Felli , 2008, 2014, 2015. +# SPDX-FileCopyrightText: 2023 Guðmundur Erlingsson +msgid "" +msgstr "" +"Project-Id-Version: okular_fictionbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2023-12-20 22:05+0000\n" +"Last-Translator: Guðmundur Erlingsson \n" +"Language-Team: Icelandic \n" +"Language: is\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 23.08.3\n" +"Plural-Forms: Plural-Forms: nplurals=2; plural=n != 1;\n" +"\n" +"\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Sveinn í Felli,Guðmundur Erlingsson" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sv1@fellsnet.is,gudmundure@gmail.com" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "Skjalið er ekki gild FictionBook-skrá" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "Get ekki opnað skjalið: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "Skjalið er ekki gild ZIP-skrá" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "Ógild uppbygging skjals (aðalmöppuna vantar)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "Ekkert innihald fannst í skjalinu" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "Ógilt XML-skjal: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "FictionBook" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "Grunnstillingar FictionBook-bakenda" + +#~ msgid "Fiction Book Backend" +#~ msgstr "Fiction Book bakendi" + +#~ msgid "A renderer for FictionBook eBooks" +#~ msgstr "Myndgerð FictionBook eBóka" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/is/okular_ghostview.po b/po/is/okular_ghostview.po new file mode 100644 index 0000000..c8a2097 --- /dev/null +++ b/po/is/okular_ghostview.po @@ -0,0 +1,95 @@ +# translation of okular_ghostview.po to icelandic +# Copyright (C) 2008 This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Sveinn í Felli , 2008, 2009, 2015. +# SPDX-FileCopyrightText: 2023 Guðmundur Erlingsson +msgid "" +msgstr "" +"Project-Id-Version: okular_ghostview\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2023-12-20 22:07+0000\n" +"Last-Translator: Guðmundur Erlingsson \n" +"Language-Team: Icelandic \n" +"Language: is\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 23.08.3\n" +"Plural-Forms: Plural-Forms: nplurals=2; plural=n != 1;\n" +"\n" +"\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Sveinn í Felli,Guðmundur Erlingsson" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sv1@fellsnet.is,gudmundure@gmail.com" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "Nota letur kerfisins" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"Skilgreinir hvort leyfa eigi Ghostscript að nota letur kerfisins. Ef ekki, " +"er eingöngu notast við það letur sem er innfellt í viðkomandi skrá." + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "Almennar stillingar" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "&Nota letur kerfisins" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Grunnstillingar Ghostscript-bakenda" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "Útgáfa skjals" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "Stig túlkunarmáls" + +#~ msgid "PS Backend" +#~ msgstr "PS bakendi" + +#~ msgid "A PostScript file renderer." +#~ msgstr "Myndgerð PostScript skráa." + +#~ msgid "© 2007-2008 Albert Astals Cid" +#~ msgstr "© 2007-2008 Albert Astals Cid" + +#~ msgid "Based on the Spectre library." +#~ msgstr "Byggt á Spectre aðgerðasafninu." + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" diff --git a/po/is/okular_kimgio.po b/po/is/okular_kimgio.po new file mode 100644 index 0000000..08ee532 --- /dev/null +++ b/po/is/okular_kimgio.po @@ -0,0 +1,73 @@ +# translation of okular_kimgio.po to Icelandic +# Copyright (C) 2008 This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Sveinn í Felli , 2008, 2009, 2015. +# SPDX-FileCopyrightText: 2023 Guðmundur Erlingsson +msgid "" +msgstr "" +"Project-Id-Version: okular_kimgio\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2023-12-20 22:08+0000\n" +"Last-Translator: Guðmundur Erlingsson \n" +"Language-Team: Icelandic \n" +"Language: is\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 23.08.3\n" +"Plural-Forms: Plural-Forms: nplurals=2; plural=n != 1;\n" +"\n" +"\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Sveinn í Felli,Guðmundur Erlingsson" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sv1@fellsnet.is,gudmundure@gmail.com" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "Get ekki opnað skjalið: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" +"Þetta skjal virðist vera gallað. Hér er skásta útgáfan af því hvernig " +"skjalinu er ætlað að líta út." + +#~ msgid "Image Backend" +#~ msgstr "Myndbirtingarbakend" + +#~ msgid "A simple image backend" +#~ msgstr "Einfaldur myndbyrtingarbakendi" + +#~ msgid "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" +#~ msgstr "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" + +#~ msgid "Main Toolbar" +#~ msgstr "Aðaltækjaslá" diff --git a/po/is/okular_markdown.po b/po/is/okular_markdown.po new file mode 100644 index 0000000..e5e5d28 --- /dev/null +++ b/po/is/okular_markdown.po @@ -0,0 +1,53 @@ +# Copyright (C) 2024 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# SPDX-FileCopyrightText: 2024 Guðmundur Erlingsson +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-02-19 15:40+0000\n" +"Last-Translator: Guðmundur Erlingsson \n" +"Language-Team: Icelandic \n" +"Language: is\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 23.08.3\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Guðmundur Erlingsson" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "gudmundure@gmail.com" + +#: converter.cpp:59 converter.cpp:93 +#, kde-format +msgid "Failed to open the document" +msgstr "Mistókst að opna skjalið" + +#: converter.cpp:106 converter.cpp:124 +#, kde-format +msgid "Failed to compile the Markdown document." +msgstr "Mistókst að vistþýða Markdown-skjal." + +#: generator_md.cpp:58 +#, kde-format +msgid "Enable SmartyPants formatting" +msgstr "Virkja SmartyPants-snið" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown" +msgstr "Markdown" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown Backend Configuration" +msgstr "Grunnstilling Markdown-bakenda" diff --git a/po/is/okular_mobi.po b/po/is/okular_mobi.po new file mode 100644 index 0000000..a5cbcc6 --- /dev/null +++ b/po/is/okular_mobi.po @@ -0,0 +1,67 @@ +# translation of okular_mobi.po to Icelandic +# Copyright (C) 2009 This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Sveinn í Felli , 2009, 2014, 2015. +# SPDX-FileCopyrightText: 2023 Guðmundur Erlingsson +msgid "" +msgstr "" +"Project-Id-Version: okular_mobi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2023-12-20 22:10+0000\n" +"Last-Translator: Guðmundur Erlingsson \n" +"Language-Team: Icelandic \n" +"Language: is\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 23.08.3\n" +"Plural-Forms: Plural-Forms: nplurals=2; plural=n != 1;\n" +"\n" +"\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Sveinn í Felli,Guðmundur Erlingsson" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sv1@fellsnet.is,gudmundure@gmail.com" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Villa við að opna Mobipocket-skjal." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "" +"Þessi bók er varin með rétthafalæsingu (DRM) og einungis hægt að birta á til " +"þess gerðu tæki" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "Mobipocket" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "Grunnstillingar Mobipocket-bakenda" + +#~ msgid "Mobipocket Backend" +#~ msgstr "Mobipocket bakendi" + +#~ msgid "A mobipocket backend" +#~ msgstr "Mobipocket bakendi" + +#~ msgid "© 2008-2009 Jakub Stachowski" +#~ msgstr "© 2008-2009 Jakub Stachowski" + +#~ msgid "Jakub Stachowski" +#~ msgstr "Jakub Stachowski" diff --git a/po/is/okular_poppler.po b/po/is/okular_poppler.po new file mode 100644 index 0000000..f51518b --- /dev/null +++ b/po/is/okular_poppler.po @@ -0,0 +1,426 @@ +# translation of okular_poppler.po to Icelandic +# Copyright (C) 2008 This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# SPDX-FileCopyrightText: 2008, 2009, 2010, 2013, 2015, 2025 Sveinn í Felli +# SPDX-FileCopyrightText: 2023, 2024, 2025 Guðmundur Erlingsson +msgid "" +msgstr "" +"Project-Id-Version: okular_poppler\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-10-23 14:57+0000\n" +"Last-Translator: Sveinn í Felli \n" +"Language-Team: Icelandic\n" +"Language: is\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 23.08.5\n" +"Plural-Forms: Plural-Forms: nplurals=2; plural=n != 1;\n" +"\n" +"\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Sveinn í Felli,Guðmundur Erlingsson" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sv1@fellsnet.is,gudmundure@gmail.com" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "Virkja forskoðun yfirprentunar:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "Aldrei" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "Alltaf" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "Sjálfvirkt" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "Bæta gæði mjórra lína:" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "Nei" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "Gegnheilt" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "Lögun" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "Sjálfgefið stærðarsnið við prentun:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "Laga að prentanlegu svæði" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "Laga að síðu" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "Ekkert; prenta upprunalega stærð" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" +"Ef þessi valkostur er virkjaður leyfir það Okular að tengjast OSCP-þjónum " +"utanaðkomandi aðila til að kanna hvort vottorðin sem eru notuð við stafræna " +"undirskrift hafi verið afturkölluð eftir að þau voru búin til." + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" +"Kanna afturköllun vottorða fyrir stafræna undirskrift með þjónum " +"utanaðkomandi aðila" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "Undirskriftarbakendi:" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" +"Notendur nýlegra útgáfna af Okular með virkan GPG-bakenda geta einir " +"auðkennt þessar undirskriftir" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "Leyfa PGP-lykla fyrir undirskriftir (Okular-viðbót)" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "Gagnagrunnur vottorða" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "Sjálfgefið:" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "Sérsniðið:" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "Vottorð í boði" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "&Hlaða undirskriftum" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "PDF-valkostir" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "Prenta glósur" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "Hafa glósur með í útprentun" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"Lætur glósur fylgja með í útprentuðu skjali. Þú getur slökkt á þessu ef þú " +"vilt prenta upprunalegt skjal án glósa." + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "Þvinga rastasnörun" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "Rastasnara yfir í mynd fyrir prentun" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"Þvingar rastasnörun á hverri síðu þannig að punktamynd verður til " +"fyrirprentun. Þetta skilar yfirleitt lélegri útkomu en er gagnlegt við " +"útprentuná skrám sem virðast ekki ekki prentast rétt." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "Stærðarsnið fyrir prentaðar síður" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "Stærðarsnið:" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF útg. %1. %2" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "Snið" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "Dulritað" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "Ódulritað" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "Öryggi" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "Já" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "Fínstillt" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Undirritari: %1\n" +"\n" +"Dags.: %2" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "Nota Poppler %1" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" +"Nota Poppler %1\n" +"\n" +"Gert með Poppler %2" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "Stillingar PDF-bakenda" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "Villa við að skrifa bráðabirgðaskrá" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "Villa við að endurnefna bráðabirgðaskrá" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" +"Villur fundust í skjalinu. Okular getur hugsanlega ekki birt efni þess rétt" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" +"Þessar undirskriftir virka einungis á milli nýlegra útgáfna af Okular með " +"GnuPG-bakenda virkan" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "Leyfa PGP-undirskriftir" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "Handhafi" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "Netfang" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "Rennur út" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" +"Þú ert að nota Poppler-safn sem styður ekki NSS.\n" +"Þess vegna er ekki hægt að bæta við stafrænum undirskriftum" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "að eilífu" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "Það þarf að endurræsa" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "Það þarf að endurræsa Okular þegar NSS-möppustillingum er breytt" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter Password" +msgstr "Sláðu inn lykilorð" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "Sláðu inn lykilorð til að opna %1:" + +#~ msgid "PDF Backend" +#~ msgstr "PDF bakendi" + +#~ msgid "A PDF file renderer" +#~ msgstr "Myndgerð PDF skráa" + +#~ msgid "© 2005-2008 Albert Astals Cid" +#~ msgstr "© 2005-2008 Albert Astals Cid" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Saving files with /Encrypt is not supported." +#~ msgstr "Vistun skráa með dulritun er ekki stutt." + +#~ msgid "Unknown" +#~ msgstr "Óþekkt" + +#~ msgid "Unknown Date" +#~ msgstr "Óþekkt dagsetning" + +#~ msgid "Unknown Encryption" +#~ msgstr "Óþekkt dulritun" + +#~ msgid "Unknown Optimization" +#~ msgstr "Óþekkt bestun" + +#~ msgid "Please enter the password to read the document:" +#~ msgstr "Vinsamlega gefðu upp lykilorðið til að lesa skjalið:" + +#~ msgid "Incorrect password. Try again:" +#~ msgstr "Rangt lykilorð. Reyndu aftur:" diff --git a/po/is/okular_tiff.po b/po/is/okular_tiff.po new file mode 100644 index 0000000..cea4a2d --- /dev/null +++ b/po/is/okular_tiff.po @@ -0,0 +1,28 @@ +# Copyright (C) 2024 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# SPDX-FileCopyrightText: 2024 Guðmundur Erlingsson +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-02-19 15:41+0000\n" +"Last-Translator: Guðmundur Erlingsson \n" +"Language-Team: Icelandic \n" +"Language: is\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 23.08.3\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Guðmundur Erlingsson" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "gudmundure@gmail.com" diff --git a/po/is/okular_txt.po b/po/is/okular_txt.po new file mode 100644 index 0000000..a7721a5 --- /dev/null +++ b/po/is/okular_txt.po @@ -0,0 +1,38 @@ +# Copyright (C) 2024 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# SPDX-FileCopyrightText: 2024 Guðmundur Erlingsson +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-02-19 15:54+0000\n" +"Last-Translator: Guðmundur Erlingsson \n" +"Language-Team: Icelandic \n" +"Language: is\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 23.08.3\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Guðmundur Erlingsson" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "gudmundure@gmail.com" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "Txt" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "Grunnstilling bakenda fyrir textaskjöl" diff --git a/po/is/okular_xps.po b/po/is/okular_xps.po new file mode 100644 index 0000000..58fc10a --- /dev/null +++ b/po/is/okular_xps.po @@ -0,0 +1,61 @@ +# translation of okular_xps.po to icelandic +# Copyright (C) 2008 This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Sveinn í Felli , 2007, 2008, 2015. +# SPDX-FileCopyrightText: 2023, 2024 Guðmundur Erlingsson +msgid "" +msgstr "" +"Project-Id-Version: okular_xps\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-01-26 20:33+0000\n" +"Last-Translator: Guðmundur Erlingsson \n" +"Language-Team: Icelandic \n" +"Language: is\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 23.08.3\n" +"Plural-Forms: Plural-Forms: nplurals=2; plural=n != 1;\n" +"\n" +"\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Sveinn í Felli,Guðmundur Erlingsson" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sv1@fellsnet.is,gudmundure@gmail.com" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "Endurskoðuð útgáfa" + +#~ msgid "XPS Backend" +#~ msgstr "XPS bakendi" + +#~ msgid "An XPS backend" +#~ msgstr "XPS bakendi" + +#~ msgid "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" +#~ msgstr "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" + +#~ msgid "Brad Hards" +#~ msgstr "Brad Hards" + +#~ msgid "Jiri Klement" +#~ msgstr "Jiri Klement" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" diff --git a/po/is/org.kde.active.documentviewer.po b/po/is/org.kde.active.documentviewer.po new file mode 100644 index 0000000..480aac0 --- /dev/null +++ b/po/is/org.kde.active.documentviewer.po @@ -0,0 +1,224 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# SPDX-FileCopyrightText: 2013, 2025 Sveinn í Felli +# SPDX-FileCopyrightText: 2023, 2024, 2025 Guðmundur Erlingsson +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-10-23 14:58+0000\n" +"Last-Translator: Sveinn í Felli \n" +"Language-Team: Icelandic\n" +"Language: is\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 23.08.5\n" +"Plural-Forms: Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "Bókamerki" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "Vottorðaskoðari" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "Útgefandi" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "Almennt heiti:" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "Netfang:" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "Fyrirtæki/stofnun:" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "Handhafi" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "Gildi" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "Gefið út:" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "Gildir til:" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "Fingraför" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "SHA-1 fingrafar:" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "SHA-256 fingrafar:" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +msgid "Export…" +msgstr "Flytja út..." + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "Loka" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "Vottorðaskrá (*.cer)" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "Villa" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "Gat ekki flutt út vottorðið." + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "Okular" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "Opna…" + +#: ui/Main.qml:49 +msgid "About" +msgstr "Um hugbúnaðinn" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "Lykilorðs er krafist" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "Fjarlægja bókamerki" + +#: ui/MainView.qml:29 +msgid "Bookmark this page" +msgstr "Bókamerkja þessa síðu" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "Smámyndir" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "Efnisyfirlit" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "Undirskriftir" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "Eiginleikar undirskrifta" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "Gildisstaða" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "Lögmæti undirskriftar:" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "Breytingar á skjali:" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "Viðbótarupplýsingar" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "Undirritari:" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "Tími undirritunar:" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "Ástæða:" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "Staðsetning:" + +#: ui/SignaturePropertiesPage.qml:96 +msgid "Document Version" +msgstr "Útgáfa skjals" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "%1. endurskoðuð útgáfa skjals af %2" + +#: ui/SignaturePropertiesPage.qml:108 +msgid "Save Signed Version…" +msgstr "Vista undirritaða útgáfu…" + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +msgid "View Certificate…" +msgstr "Skoða vottorð..." + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "Gat ekki vistað undirskriftina." + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "Ekki tiltækt" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "Engar niðurstöður fundust." + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "Ekkert skjal opið" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "Nýleg skjöl" + +#: ui/WelcomeView.qml:108 +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "Skjölin mín" + +#~ msgid "Open..." +#~ msgstr "Opna..." + +#~ msgid "Document viewer for Plasma Active using Okular" +#~ msgstr "Skjalaskoðari fyrir Plasma Active byggður á Okular" + +#~ msgid "Reader" +#~ msgstr "Lesari" + +#~ msgid "Copyright 2012 Marco Martin" +#~ msgstr "Höfundarréttur 2012 Marco Martin" + +#~ msgid "Marco Martin" +#~ msgstr "Marco Martin" + +#~ msgid "URL of the file to open" +#~ msgstr "Slóð skrárinnar sem á að opna" diff --git a/po/it/docs/okular/annotation-properties.png b/po/it/docs/okular/annotation-properties.png new file mode 100644 index 0000000000000000000000000000000000000000..a16c54fdfd4ecd2c6ab39440b63b14799715de24 GIT binary patch literal 12664 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 ZXW`nCiAG7^Xup7^qh+9pQ-2Whe*i(g#bW>f literal 0 HcmV?d00001 diff --git a/po/it/docs/okular/configure-backends.png b/po/it/docs/okular/configure-backends.png new file mode 100644 index 0000000000000000000000000000000000000000..4c7ef06bccc279e2734eae92968acce71414022a GIT binary patch literal 16603 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%0D{r~kbmZwY9d_s6r@ZS)4>jtN z`6d!iKj}C?ZB1>MhC{ob!Cqb_WHM{a!QY?mH3g6S zJ<|RYi{Q!hav<(ru%e}=t$q827)orq-h@`su0aMWx}L?5Xq4m(I+w>z)`r-gfVteE z@Irxu9cMiIuLid6Bh1qG)k<)tG}1&|W73{ME#{`QicD(o`mH6+<|39ItmzD4W(%YK zSiiFORY>r|0u>CWtn%K+dUJ?>T+jrURCJGH%T z*^0;#dG=4e+o!}pUhMC`x?ellxS>rm>g;B@5q6%D?;INvACAm(sr55FivT0@`_`uo zKtrUs!lbTSixltu;51WwG&B;eF4FlB>lA`jAC&uNB$^Wiag+v!(3~;rJT2in!U-UO zO`_j1#=3Ww_v@6|3N&C;6w2A9ADuYKore-pAQSVNQku+?A(O`;X>EoYcCb(u><=z; z8dI1NhgE8J*Q7{Dd&g96JaTSjro3ZIoKF-*2EcEuj?{JCAjdfcP>2%(&ZkzGM%4j< zk9q`2H%$3XCb;Cl>Ur&Il#zOdG*}f7&UtWHsQp-=GK{zCK%p{$4MW)l)}Vl`2Tx?E zC#wUc(0yf{a|(qh`Ma-z^&jXm@Wf!)4=Ma;)QT;nr05TAY<6}DD*jRlim`upbdWAV zH1BaD?3$&S&)OSEBvR?|LhJkK!w*XOr+3A93gzB}05B&>I?UitB&a zuk12R4dO4)Fk3}GvqLhNewpEvbdlGVx?;h%VMe{Z?PBm5iC%@U|?ey=sd+|FXUlqD)Gns&iMduWR5a*obVT0fp1)#0OERcr; zB)aCbt_q6-YVMZ#=e(DAJ_XWwK5zT<-7I<2Mr341R~7H3IV4df2KDuv!bNg&36w5) zi?%!^O)Xq3Xg9MvMRieXWxMldWpDdt9LVBY*Y2G>FI+&5zKVLf;X@?9fTxxWk9l0V zlXslu4jox;!7M9Jzc-n6@5PVr2XDG`yiAU)+~wjFyOsJU;+X^i5oS@37+6s^l!~o ztSO@Vm7q}I1StYIpax(882~VJ0+JZ*{~Fd&WIR?d92rzeaawerfVc^RU}dQ(T9AVl z$pI{w14QFMJS{^<0g0~bJ>mF}Fc?OF)4Smc&5ow?J z?*}O5`$TS&=b%$VXY`cK#k*u_YRkv`y?bK!@|m_QoXc0XB|Wd_mERBLHZAq{|&&fM{ElNahVOT(1KXmN}cdrIimHSPx) zqm32i`vM4b4QOFGKwPGgE+q_}AobpbRMwwCbVe8Q3JNI5nnp%uW%c!%&>SGuM1P6! z6zMwY>X1C_^FqdpnCn{y(spSKjzk-1p#$jmaB%)>L#YNmmN@*?WOgJX!jp%9Etke7 zFN+dNpSq+_ir>VRkw(xsMIia2Uq3Y;@K%w}g-x*xX;p9Iq?1_r(Dqr5i>!z~{(VhI zRy$hyHPPJ6HIueCaR1uY-l9-h+WuFEc%_bj!SIN+%)j=$-m>y$wZ+dK1?>rzHZmh? zkhkqDejrtQu5q`{wc+=op_i{u*^}V>tL>--dF%c2+&AG#qb-K3_&V0XhtS<`BB09Z z2yTDg#$%jxQY%l|j6}*Jt%rIe8t$9Sw!N{B^hbzr20Eipz!P&FuMVckl@L5KD9+s4 zG>lmJYL&AA7IPc9V8sw>BH|UjY5F+yA?#?_!gXhvd6ThM`zC|b{mM2>Vdi=?_wj!@ zLRam544ytn?;13P?qxd!-b8-@(cL?-Yp+dVqc`~|_`>o{O zP|`2zso$u~0%uOg#(SQ{@()%X%EOLUO^yE-IRDoR8ELh^b%NaCW9i-fe(V8uhNtuC)XsA?-%~1vmc4f%J0u{s}g0cJM@bj<| z20t4+RVE+Z$lU#dhUk&;(Ja|Dc5e-$h;gHO|1;IB1V*rf2F{WAyAvmXi0F_HLT>Bg&1qCB31Y_UlO0iK{ zb_m)C`td)={}&xt?UQudD#E-6WzC89zLIB%?SE)u9nI{2(>m5=rCyQ!>TKLxKyF7d zw)})9$^BsqPZ0p-$OwK&itR2yeK*UB&n!W3!^V)>+WL*WS@iiw1v~Olh~{;t1aqmw zf-3N1OLbnmP=9H&yseJYp!(#C_fcD2I~ocRi8>XelO(3_*;=&5)4+~b%aDE#cdZTtg?P(WjWbEv2^U}0}(OK4(^Df5r!EtJUj^5U{`Jt5&w6cU~bi78Ry*rTl zxIyA-Xif6%Ww6@Et;Z85`ao$}n|0>0+@I9ApNzQA{wTEn=9{{9puYPxGvjodEg0EE zNyEY4SZH%`!2;^r@!}SGHnMeBO>!I|`G@4MC*|BpNXPd5>CToSF-C`*k41^ez+ky7 zMfhyNj{U5J!d4QmstSJ%iw}XvyG;C9A8aeBn@1Hzu|<+|*6y;e@`G7+->Cq6y~5ab zCO>6(wXlC_9!KQoaaVV`x@+#WOI6m=v;b*xKkFB8-BHykynAwrOeauhz`1F^JZ1+i zzHO2>H0Ef;{zLeYnY)fnb-q$o1;4$g&rh+)c;drkzHYx{x=@C<%Q>AUcZ-0=<;*%v zQUyR8&HHEB*^x#5Q=JQolXXe@fgg-C=b2;C{@>LAF!rp7Ps;%2qkyPft;zpR zX&ixnF>RP~&_TkW-%|K{4ksOJWdi;CoZlI?Wrp^BTyY@r`17}^DMG9P;NNz>$7enm z=#1FCIO>C|aU!gLxO=*OJl~(E_`TjF%ww;xz2m2+F*ZoCILT4Z0n~6;fbjn4KW?}A zG|gswd>VWnR(fP@mTc>G?^UZ4Qdx!QWEcFOENcaZ22D2hb2wQpmgP&KG`_VNseKJrdZv5_^XRRPS+Wxr^L9swF_4RQ@a85`=tsL}V zH~0MVoT=Oasf}@^`FQ-J>}7xTn+d7BzD035PevoY@Cq*55;^0zYsKB_j)4Kar4Emf z<{_U;!(4+|9+TD6G(qLB`1yD0Ue#_qWla2XO71)3P4~goc8WTVvE1plcb34&&?hka z%Ln@3^XUx5AleU3IlvQMf&s0$U&Uwe4K687j(}IB`>OLOdxH9u^;3OiVq$2D3 z_eA#u6X5;aMSAGVcJvB^~=!?{YjXf&?0p`wXsL zFuzwid&Ru!sT~6TVpU1nB@&j;WcEgm7ySBGSzK(Di4CsW_Ye?Pw|d0#CAsm4+@uk8 z?e2AY*)C(OPNyr@qTOhy)H`5LUB2IDx3!E{6PlP^F+7~)=l{ZK4LW(9`=9!7$3xH( zx12claC$5)pYS}8#}rBJJ$b*HO^1;xaLir&#WpEgpPVny?Pa#*R<3}VcXm%0i{rgg zw402knA`aUwm7bNKHdK#t2SsY6kc4fQkpO-&y+P<3uV9kQ$c81jeS->Toq02%n`q( z2p5lc7=LmK)Kv@i1rwb=(Ud8x&ofVrWvM^A++5#R6ji=MZF1T;Ku^Hus8QB)rJ(e@ zf{xrV$F721$t|49#|E13UJ;cvUt`vn8 zthl+ox95A=ZzlD>MJT9u9RUUAxeeB88&XMO@ea7|19yGiuH2BZw+%Z4jtsF~aWXIq z1>__Dxc%Grrgvba)=7=_r=t#lIUM!c>zSPQ7k*1dM!~&vw^)6R>dDC^n1eiFurQw6 ze%7v?6qSRh|HN~NH?h6FvpUAQ#d>c<#N{hiu*yb1$?^{xepGlcN6M;@+PlO;K1~qP zgf`CnE{~oP^kZ-)C*wSc>_6I)bpt8^iS2|_ul4fe=($&N7ZBuV<&M)xIe5(f?23iN=VwJ_s6vOW1 zDf;Jq@$`Ir3ToMacQbZ=e(Lg|+g*ATeF;JTJ}|7y9>N#RDlPKBDtI@IElmpV{G6eO z-;4e+3C;lF4=^U`RW$(-yDgaIg})A#O!%6r+5G?w_(>`a{eVW`I#QU>U6tTS)AIr| z-PQ=!pdpKHqIk~pu3`Q4gEc~XPRx-*pLM$kXXPjD&pc2|Jq{ILH-Z$u=l3#@&%<%J zh!nKGO!z19igeY0+CnepJ6H)Z7XC+Z|LdUl3l)tEVQb)*-p~F&CHEggK>F9TcLWSa z*>sIY{JU^voN5Hy6bL9OaF95a!+eT%Y-!fmiqr_-OE7EAD=*{2L!BR^t35SmE*k++SV(jqu!UE6c-aB{S#H~ zi9T8}jAJvg&yZXvk8QXxbUo4%>?fQc2j~P)H-{q3vOCnj&y~#d7v=i|WxppdsU;RU z)pqEjxKx#BaqzIk%S-o-tt2SqSa(>Bf}#_+p;P4q(59%vif8{ zL6^|b=-h5ctm>0s?FF?hiE!J6ZRLnh-6xlC7wk)MebbhtLyo1=OeqqtV|NG-204}r z&YQn<_x16r+C5Gn4jaWl2hLaw+7{B!b>G?fM(@)rWDDX^=H_dn;gvdc*qu*rUy3Z= zKf7Fuy$sL4CveU=m2Q?P7$u0(|Ad2QQFJi*QZT+}((!$SpviSTN57-3RR2!GFXjsj zZ?g%z;^*~7KVhrW`Ew! zJRocA$XD80!QD;{EG=2A`n{j{7LA5}x3)smqEDQDUtphA|CpdHuGf93Q~1-nKYHJ5 zb9%o`cooij8l&gsJ6#m)776$Iqf9YsU?g^6C~RP}t*zM>aqPPY;}r@Go+!&eYL$Xv z0#!#7Z^uG$IbVF>cvG9b;M`Q*CzzwYIgd}o1MaWUGQFZ1MEQL^2hP!5upi`5sS+{G zG07=<5D<|G|6qGlwl_w_L?EEWz|KIy;1lRc<&uyDd%z9Vck6pD`5w2O9Gn_89G&!` zJb@3+UdQ#7>|pj&&gKi@aRB(I*x3>rLJ*Or|D z0{dSWMxvDAl9~EuqIOWK-C-{M=b}>;{G^LCeW}x$s91XarRZU;1t4xdayo7fd-daj z_TP-yA{|bux5-UWIT3ByAhzbOfg?p{s0}`;do8lED-XlM6>^fs%RBJfCM>}kdXBG% zh-Ks8Y}FKS5Pg1O@;r>Df;ojE+60$ZOdCu?rMRy}yVerah`ECguI)fI_u7Z&YksKX z6}+IQf;71?IwJ{7tes>{y^>lpea1vIy$3(p@$-}Hvrxw9F}fO2WcbLHJ!YY4P?(NGHP6T_8Y+e`NR*+9Yy*`0VEaE>j=*+@z>QB#MQCbZ&ONh!2r4oSl#H%Mo04 zMO`9nCs+f3iq6g07u`7>azlJ4`aHm*9=>#&{2qQ1GG#4Zthva zFlohLrKg?pFkV1x#hJs?JH+2 zmq}m^X_eIGnBA6_)50Eb6jr^~6oyMu2+La;HMU@&jU|6jNZ&xBRAmj+4P|HJX6or8 z5-%;a7S3|{tg#3({EVmZC%p#PAiscW747-T#fCgu>ZZ_ye7o7z6%{?xAT?D^D;}kh zyU|^_)fu?2pc889ld0dPWa^l2;W1ym^YX6tyU>ilO|2f*tM)v4@ZYnJBA5(#d z^U&fYh+^kMZT{x$P{;^RmWA|$$1y3Bnu)xVBuw*md2_J+ zrP~}XnaeR&OGxx_%vqe7x}V^RROZaND2sN8(zbpSh(JK+6gPg>T)VHD{o6b4xz^-z zYWp<l( z&}_G7jcH-s?|$;}yGyh=c-b3ALz0$dK*CqL_k5j@HNh|>nPO(=7r2fV2RRs6!aZyb znA9{us>FUVYDOPX3cBMtYc}^~b=5U+aAEi|>?J@>c4812!28A>@%e8j*`}nJ#|Pff@yT<-w&)&@l6nK8r8iQ<$^{oZ%r;3c2s33R4!BFG^RZ75i_E_phP8 z=9y@I?g~}DTcn*iTTuI2T(_b+Xur_m{}hjcR~}p+t!Fz!1$}iTbMf}ew6=<|ogODk ztwnf>Fgwq0%3{95Nq-JfE9MrOa^&6c~|zlUUgFa@A!w95nV^(%yuT5#H51o|&jSo zoUCV)v!dt#F_opI7}F@}G&(Iru~123t4~aJdwq%nv9k|;xTx7pg0B(`DkAY7)(=uB zUYN4zbmjJFB>_g2+dfm4<}vwejhrKR-@57gB1q%&e&cM=(zCtMz^@PC-~k?f><-V) zBQd4f-7?Y8?T;~Uk)c{4zJ=zSIRo{+Fy_QC4m2K)*@sj~AdB~>H+1uKCX|=752;6z zV*3?Y5aInDpq$i+BIRp(vL+IEeJ%DGpLZfXy{~G!(n|rBb>Dj(e&JI@5vUJcA4-X_ zl5#ImStq$?5eYk6XKZw(MBS8ECG3eq!OMVGJ3a^xZ0;4vS^hF`&p>_WzOc66ud<5vI4e@P2O$T(K70*$ejRrv&}0u>WRM>abfm(Jit1!hRqR1`!D-=Z z6vVyTy)xoh zQ_|zY0ocl%=ly~lQ^|mnA2lq;>A)}Os)6NMRSe3C&3!{gziQjP?e_YIjbHONgmJX% zo|~7d7YEnoEHxz`A5buZxz83X z#?*0aBm^XWy1ZWFW7mNe&sQ=+FT+n83R_&b0jPH@A^qB0mnJ7hDrmk_Jlz2iP%ic3 zKRWTJ+lTl+C!ka|B^dwm4K8ZyEgI~_CJAMXz;mWA-C=1>Fs1~lkJ!oywDR1J|Nc0> zX1+-##C`URkn$$-Rq5ey*F+=d;W;uQhh?Y6J;JtKiZ8p!aKq(!Q1Zk=VPR z!l4v6a7yOoJCAff+hYN&3)5@%s5H+-PQr%;g9w z*luVp_L*+IB%Aq-)%jXWR0q;am+o}?Gr;SjvfTbg1rlv4#vBR=0l3LZod$`$3Yte6 z;g*Y)pPZ82<{)xsis^APVVBk?$t87m(IlQ|rCi$)h$b5M3UZHyiD=b-r50nuNQLII zQs{d~ffY|2u={J}nv|Z<6Gd}G`(2}A?&%`|f{8#`gsIi;HZNef_a|&;Zpz5WptW|W zfV-b}is7%!Z3XR(@Iwzd7E8WFY!*%fSSW)`%O7Z0_~bSy7oGxq!#0D%? z%Jr)@XZR8VDxPMk(Hf!&#}!MAW{T(+BLSjUJ`}i0e8hLJuehdB(4tnHBbUJXmC*MI zkulfGV2)giK@$KZ6s)%z-w{|Rj60C@t|G|Cg9D0hz7CE=7->>8ZL zD9qvO)k{nxk<%}F4^!ZX&!r-y5ev=9VSfqqHvDy#p~d_qrl_JZf;Wb+dg^dKtseUf5`AQS<=50&Tj7W|L@=S6SC5|OwVO@f3He%x*J#&y@-pk{pffsJ{6ENw=4^pQLD!@(ur@Qh~X1pI#U2IRFz zKe@ObOM?X9s6-+~CPuAaNmrDl8mvXyIob15j1zIa5Wd2Lu3X22E;9$1qOC>UXth%4 z-7g0l9z|S(V&!^42 zk)$3)QjOI>`u5a|shBDblml1u0n%66^u9Jr@I_R@OO|Obf15haHNLR;!sem-2%TFv z+K`zZXS%0W2dCApAdH~etL6uNSa;_s{jgPapss)|Ao_i}9Y<;I2Cg>bU$Q?Q@LZ&(b?|hEL z^XK&ob1zovWZNbpVtGRQT^}SJCmx)CSU3+l#+*1g^TEmkE43h78|^Cc6J%1yl}fQX z@X!E#Q^d;6JH`<#IZU!hkH0JHdxUhNivgJ7%?<^V(@#v#>;@Ama{9+dh&9zoMzm>B z!1=X5;FDR-7$g%^<(I4tg3Xz+Yly=16aG-|0F$(byohv&^3^LnIMlF<m`AmLS78HQ2XVW;9s|a+(P(OvBpC+ zN4!2&pM>r2^0I~*DF(eJ;z)Mfq{ zL2h9^22ZI#luv*Z?5kC6Op6Vw!;aLK#^ui=8~o8I!(P(eg23-fA|MbcHDBFU@E49F zqiVAVf-f{9Pdcf?bsnlVN<t8f~Od?Gx-)hA^M7BQ2)DS&0gb8|5VU&TLq`Mx(^fOy3A5SWy#T<#=ty&S7 zBu=MA$?-B}e$@>Z{TDUf-_tx88i}5>TuMTZ7BYD&FbVDV8<|PHH~mw%w0V6HhvX$q zTu`$1H=4pE${l?w9Da*ct>#eGQ$xQy5KD~>4Bg@nDR_q;0`)$(u0Ps=RIMoFIGg9yLG0cUBd?0qKwg!Kx$# zu&bSr+Bu;DHd<;n3XWSqooXc)8~(@3v#&HLVAm35pS*!g4B*B)J%ojFh9$H6V0!%k zw<*eGT}vD!Z+duL!KyBmVqH@u%FhjeH6vRob4NT$HjX}w{x!AcC)ea#A}gfyYEqQ4 zK^b9`&O9e;x8mgUgsreunn6hW6pgn5hN z)VbdwS|OcOS*2PU{eIR}-p#G{GthZfW%8K1g*ZL*X)=5(94hHPSOqdOENV#5ci57$ zJqwQ+9=qn*?)|@oH%44lOf!^c(qs%1(__li!83Y4v0*<@M69-|8^)(A1aWH1IPX^^ zA#J|D7jSL1WTCxDqGsfCpC1C_4i!`-UmKlU`F;-3+-Am#Ml@|x?VJ3?H3E@~2<;F9 zDp)%$uMwEJq;uBTUAi4trA0>-q1-FCjmS9f`0~XwrN5wrnRBP31P$ZVo|Z(;(WoyASR#*x+u1yTjn_(73w}?k)p^I}Fyi+u-i*?yi^TeZIZ>?e4i} z|G=%2aVj!0Br`IyBC4yy73C$6;J?5F001N@Nl|4000IaAfEU6-d{TlJ6jDArGm5gR zVxQgr|N6grKukehRnP4G{r%~peJwHA^-rqmm-rn8Z-rn4NwwtS)o0Hq8tE-!f ztENeCyuH1Y_rA8Fp|-C6PieA}kvhs@JlG1{rV%?VW+`NLaw9L%x z9I1vgx$?WD)HI<#r~FmN?A3R%@d?DWPhTq@BBNt?vaWxIhZ7Y&1croq280r3-cn?) z`uO=91!TEq;cbaBHEy$0Gl5C*PWS=*S{I2oIn>6qH+>KmvVSg7iotLvGn z>YA(Qno(HhE9;sl>zF9%nEcSvR?;?B)H3RzcF%s;(igp)aSQE32+6qpriQ z<0!4FEv=$0rJ^OTq%5VZX(}!!sq{la@v~`2$;f>dlQ3fEZxd(|ihFt(a%v?%TSk-;`bVVC@@(oc;Y370b1MVjd z*bicwU^q1(Vd-M4r49G_0eCXWTG;=39j2o(;0}bv!LSArj)rxR7oe@J6imD3L1m5- z48giTg!SV6J|}XJBp+R)K(>NxZtX&nei5se4B7|waR5&_r?kJsxiK{Xt>W?uPt+c= zH(P4vM&D88w8yFtR-+da>b@-M=YbYNs@cqK9}Hxs{lx^q3|ZVDxXS;uD+b}c(YrG3 zTG`(hE=yZO)%%IgXynrM`wV2dbXJ6LY` z-kerrAGELA2x*Vd|4rbmpZe}GJ&!AU3f;C;!(r{PNB4};n9OGF>nc~z7k;B;H(z=N zsohu~r& zTL#9i(+4sL`jrtMb|~)?>(Awt%YXjp&u^ZZNP1!iPR|=5SWo0{N|~BOv1Kq%P@kQ` z8xloAXSM0>t6O7mXkxG@N+NMJP1UdJOw>|1qEp*9fHJf{Y!b`t3sumPWCbXHA2nwq zaZFwR=!05Q8Uy(P8#t6^>~s>jW^_~r7Gw{zJzRu?yJw09P0!FhBUgfEjq6X#_jn~+HF|Ga{@hJO7}!2A?538 zE;+`>3giwObsz8j@2-)NP1yABS{sEPQELXNEEw$;n)mVxm#{a3ZE+;t_;wJe>iaaL zIFzip_#w}`itwj>rzM)$)eGe2k!^TvUhZ?+ojjt+B6}VmvgvjZW$~d|5O6TW5u2Pb z>M-jZw$=+7RbLZzzMzVU;(Q4z*@Qqto097qWGo61_3n2gw@Ow&FSpazDsRPcJ-x|y zJa(m2Woq$r8TU~QIj^q0OFT|vso38;q3FGo3^35b9JedAn_3ih&R=6$frZ62y#bRI zXSx$tF2snbKfiDW(>!(|8Rka|NRP_zbF%PM2^DBgz7iU>ns4e^QB!3ePB{Rr zyPV8BL^d`TU?-770SbNYkxtuCVxHp|O=*ZhYOd=G`x*1}m};#wGSwL}PE#PpHPE{A zNTRk`W;uEP!^V(2yWwxw&7`d{8!2A3lAik&cnu}94$322`!)0x5=5mTnoNK21+SYa z9`oOxMTnH9Nfc2DNsP<8>Y`hLb^_uX&oh;owg&al+qM|YNC5yuxG_*2seJpJ9A4vU z%GZSIkB2kx{?=--Egw2*(UZx3&~uAvp$RaPRCriWg)cWJ`+CKxzOB{D%U<7UBf+t@ z6&RTFy+)+hA~P(V$2l(IbNF&H35`?|Lit((9|N!bSo{H_cn($_7u_g~`Az?EIIN3# z5>~R8Bv7T-dO8+J!Qvtexng1)1Z%KcqxXt*`(ZGJM^TSGVvc)$Q-s+R?#!h6M5a@CQtLaB|J>_D< zhtYcOF)>4qlsH`*;eul_S>^kdp@+Ye*z;~0mWKSStCEFfoBpEp&aQVhff!_2W~8^)mPO%!iI6Blb)m89yla#=UzullpKok@pRrOcXzyXZ!lT z<=-Nm*MIv1Wo?r#bb?$E7#z&x$HEy3c*$`y{)R-+b7UC83JxDH#2^9A`&QG{$0+19n$g8*#1(=13TxAh;8lN3+U z?XA|fWC%NecfVhK?6$gfD+Onba3R@$UB#4yFVDo~LdtS)zrRuVqA-bKwkb2Ie$&Hb zZZOF9hgFwGGP(+(u$8Xp>sz*3R<%}{NM}uyvak|ivh`&!XPNkIp8J>BY&@MpH75P7 z<)@YZaml2(IThi3Akhj)HbEw3@%#I|tKcqhnki$zN{4XWhI{Gg&U)02e1VMC%$VNu z?4HY<*!UZdlVv)>AAHbuJORo;`jb^k^wk!fop~Mzi1@LoHLw!n@_uJ`A({a;a7o?= zlfI`9F>35)x1Md%!OCy%5$b2%ookb-zYn2fIVD*~YfE1%qW1h^T1^f^N_tH-o#G#7 z3dJ%6NtO%|M;QG)PPO((`C?VcM=v$*L0RWhQc2lF;;nZC^d8ssVIk!#n5|39#+XWB zjQS;z*g|}G-0nM^3Sr@0wQ=LUyti8St??n(+)(3Tp?g<;HtviR&~YC7MM$CJq4}#F z+_hx~4mr=|tx$F9<;qC^JJ-1gB@#3nfR?q_Js zvA;T?Ik|IxJangsO9uGW)NDi+n`Sl<-O_T9(KnoA{f&FhLA%N)8WKs=~XXqTNaawH!H8$fY(LTG1- z=$e?XWqF5>>4howmHvIc;(stMrqoYol0wbj@78DOk~W z4F5AI1AKo58AaF}(X|QtdT@8*=+(?XHqR+$WoErUc#n_6XTpWV6BlAesBMdgwcYJ) zWhFnOcaQ7k{ze>U2aci8I-6J=N|xj)-c4%&zW#*Xg_OWrh{2b#rp_!A%*zVjO&O7( zEG&TD9uOUR=20doEv3m|T90VJrt&XUn>Ckl)VE1BaAiP(9M48bsQ(DuL50(`T-q;Q z9%_F(eJybj)`x6P-%ga6Anq+nXMeiqoI{02K@1jA9h);(`|iVdP#Qo|y|R0UAM7Uy z&bo+57;t7^*}mM!qaJmqc;~j7X28w}O;7lTGyze zCPY|+hQ3TS*u4*+6Jqqe$EcW&7pcnhpm=b}h^Of88=q}Ex#j)7Iaf9qMBCw+5IQ~a z{1G+p!Hty)X8+ZNo35Vo8{^in*TuCb=hZHjQn2hRZj&JyIbK@&qZ;lr1O;Uh8m+Rl z5|wBY7+!opygo*Hm&cgax>vHi+%SCq3!b!!%(!r_Ad3ATk%Zh;4S;Ins*%^FH=Hz zv~ITMkHNP{xAnTl_p1<`6}nlD&^j3N)ixd%_#eG@nNt0o9DXxz_)Mw!Zx?4@I=qf7 zALP*uOn34pe0&~&ZF*qfrys6o^A#*`HAAyj1Qz(Y{pdMUyxyMXEQnG}TptSURv1~|j^NIBs{p;h`lB_k<=R+Y8#VaBiZ8{8T4 zxq{yr*8`=$W8pCW>T`?2-U`G!%VBB23ki&xQydDj{Ijt~!MOhpM(#zT=cc;b0phN7q0HD{FhRiUdxlD4p zsb>GiQ)1vWm~rKq3{x0Zq38dIQ#ycIk)qI6m3m3i3Cq{8;a{P_cA(Gaj6X0`{>}8Y ziG%}MyYC&4&lM(mgxn=b&|wn&RjH&{qp`I|oHJh$H8+7}?csVPb1I`)BXv~jJF4f2zpC}qdZUXv&`R+T4s$f*Hps5(y zf=Q>vw63kHrCo`IKp`ht-+sSrWnHO$+`izY8!;q9xvhLJ7Dw2FE@Z+?if@t-XPP!T zisY1)CC}qQX-d`Bv-|LFyl*l->ZDhF!?(d_?laD=bfp@k5NN*6IqP^xvx7}Joz<3{ zX}Nw|V9!PLnezFUp}oQ*A9`wP;4Q1C)~ruHN7;HWtoM{hh3%Y} zeYAo2Hi+OJroT1R+HS-@gft$$wUH~>zq0;cSJ|8Qn zn&YW&n(|}1|LA?-lsCQo)r$M~PL58C2@qU|fs@hfe7d+m3c9hAIA&a?cz0w*CUajd zw%+>pdDM%LutqXYhD{&NTM`qU1Gh3O4Y;Jcdso0(=#fe;38)*|N+|KQtE*Q(3lB7e z`0bL^WkL8R3(dXB$Mr0x9d3gdJSyGx)yVv|7v5t0+*}`cZuuR@cksGDAo!(T|NeDB z;3u+l5Tb==tH$j&ce%_53tY=LBgI?A6ND>nJ9)QdkNYdp1vetx5!e`RFRF9s;83q8A3XuP3YvkOr#m8>cgE~PBrMK_fUd3OH2O%!;420=DF zVkjp(wz)Jg*Ogo=gm3_&!ty;*hG_4&qk*5UG<8=8F-;j9l(W>X%h7aynq5RuPHi3d zqKr!ZX{-Nn^f8HlOLRhG*TU^?-9zrv;3g|nmW1Rte~eBCfDU+*5T?+A zK}cDi8E0V9CfX*jM( zoZsUQY?P3{eO5xL$#EvJC;RWH#{NK1j=u@fsdg%sG1h0K|A z)4*i8{NsH%u(s4AHAgVjGYmBt37ks1#Hp*b!Ch{lNf0C1dXc+We=Im>DcY{dXXYIW z-}B+Q*(MzxE-oHgDC&++jcsOh;S^`(k2X<+5R^lPK_5zS_sKG@O69Y70&t&s8Kofu=REXkiP)2|fTUkCr7l#YQ zq-EYsSbcAdFj%{_H5IYIx_>^K$K8)4JIpce(K2iBjnhS(hr_`1x|~NMKL)Up3y^!y zS>*S|)NfzEb{(RijYdVPgf?uPsr^Q7x;1y)&xJ(adn3PSady`9!XAF6z(Zpb>{c zUvpHtIlU_pVg}y=x5abatQcSl_nI2s!@@gMbN==#lP>2OJ0077P&D+b*7FB-E1m&z^{iA^hcNXAzbdt17b`saR*0%~$D6BQ zu4p*Agj!6r4GI-M`WP#BU-Xo9If(X?-q8SQA`<;#mY-=({9cSzRHp90yS4y$;JWqJ z>)L)NGr7-=l9=A+EUlC>E)n>Dj#8X6+6>PCKk$m^aJmRp^eY{;#43E%2p6y-iT zah^~9UGCH{M?_-(>eA4lY?s%r(iWQU5+%T}pTYW2G@AjNRo{>yee#z*`uk%Ne6o7H z^_P%Ke)O;YqVllIeDID%GO+p$KC74>z|zAs?=OaG{WxcIj@=GEA(x$8L7iG{(wkvb z<2XGZWv%%LO-=o8T6I6*wS*GI;-D{iUc$3D8!EChkhq;;9TEiZup*qtP4NT z&_RuEyw%wiUq|Tt`zX1Oq~biRJ>@;g`sjzoGXR!u3Pa5+-=s0;gTmf9&#Q<87x$@-KyBGI7iNdPhzH zTI+Y%w^-0bp+jYD3{XGUaBnkecKi3 zxYuyvg430hkA;qoZV?j8Km&FsyrN>3r0LKAwByKTsvSXu_%je4pi=%u81s+ zNE|3NIxa?F&3t$88mZr1`q}H?;ivrkfV_2m^jB=+{m1scAYENu-Gu-CumEln2_2;Y zCl#&l1;37bC%6!_;w4*B2U1rIp^zR?O?FRl_xshLGPkcOlw<~mV+XDg@d%OU&xHDi z#KUk1#Gf3heFF8*M1xMXF6n$XXX_KS?U#d0rk=Bq?$Z5e#HEx&~HAy}SCtmPnv_9};9{zfW%3{y$2Q{$_(x8Wa41FE1wk0-AdV^X+(fD@2ui!}+w;&yFkAg3 zOTRGDIY01s`w$LDN>NE2Za@NC!qEgU$Xu&4TeaM@6u|d+;XO?7LwxF82N^#_elxy1c7R)0ZtRO0aAX{kk3A?ag4 z2aQl8r{W~x@|iVYlpS7@pl+M7d5>JXjOLCw_e@GcJE1z3^mWQwFs33NN3a+4g$l@& zi4IK)`I-u;5ZP_B*q3Rf36%T9#p8(O-U8Vz7&CJROyFaiRhPJArm2>ZC`q=}W6xQ1 z7@Ktrkl?4yqzDm?)?UlVBr(=eYj?|g{sf-n!!N^$#f*e^9j?Jo_Ng!0hj$lETo?O} z7)bd&Re$BNzfe~Vk|`d#Vdt=7L?_Y@l95B}$n4DP7G0fB>7uEc$_5EPDo6wl@F`|Q zHFa+f(6Z?o(@o@5A%;|C-{N(=(DU+ou>w7?x2YY@z7s9B;!ng`8x4OPUD4#pd9qfrR_XNnmtltV9PD_M!m}?GX$Jf+PU}!Qs9ZZAw zL&-WR*s3K3#J<0pgJ?xAaPN0bD7W>0y)Q|MLH?S2YR62~yAer-21Dn(U%u+;!1+)j zrhktWjD_6HM5*AeW)r|oeX`DBqNDwtT%=jjxW}FW#oqD%Uo!W7}Y=-NuKTI!0YapbeVl*?}%W&aDsL zri%wSN3SUP9oYx6jRTy0&nkXt%rxHf1z>WHpVrR=`yAlC?$qs#q~^evgZ%qff*eLH zk>)~rtC7A;T?*`WND#p(t17Co#tPi2)+!+pwy_sf3c0{#9kgbb%CJMUl(maJ zsx)-#h;e;6>u$pS1bGX7nYpqHEX=`)*J|ZoeTBI+uo-92*>(+YK&x1RHR=ciB8N8R7ubGeuge0Y#mime0TiRz~nC9A+W&= z_Gpv=N*DvA${V!JSJ?SVh}>tn&FdDIX*gI9@EBCb&dgPB($B>HpK~8AwUmbW-IMd5 z=Rnv!E+`%a{lOZ`pGcExf2`>_oa$(atLeQeZ7-Qd-4n9IwT$d$yn%=1QztacbdT`NlXAN`~XLJE66A6WoTXF4vgu zR{6yVZfI4Xzrxnv8<^*G3>@YQ?`i1zOpDur5B3>6|D;GNEJ_L>gEZ3kFp+>bWfOXC z-3j}@2~zdaDz?}hkC17O|NiZ~DXC|V1WSS0jlaXBb~Z7tTw2RST2~V;GL)zd9n1g@ zri9TG&EM(3XkX#E-utY$?!ptw9~dIKNWkU@E?fPcZ+og(N<-SNEu$*_pzx$8>9&3_1=ef9$v2? zso+Dv6jy3yq`$7O|}|4A43d5?QARcQ^(+9&oGrP~3@-;P42U%-gxJ|kKRTa{9u_JmJ^jDw^H z?`36eGzR5!&kcAJdG#C8JIOC=T9n{{q?il%@VVgdUm<7KN59Scdk%If0_y*$cNu`Y z%kL@dB>r#%AEWFtERdN%Ge7}zKUlBLBYQuoznoMeGQ1*vba^w zn%n#a=r_0sHdiXV!mmmnX52P9*PrNa;u4LHUawq^+m|!e5^~VoY-Cn!Gqv3&q3rm&D zp!J(+*3_6@!C??_j_~3VODI^XkzyyIb;v%Uvaxi4Gr#KlvfcXy!F%ogzLb{{3lUT0&uoxM?5k@9 zR)(9&*{eCLGQgg&Sx~n<_a0NOjVR?;`Y1Iuj`={l9!i|sX0ePi$|QaJf40%oxYlLW zQpF;up4oiDToGyt0|pn_w#4A*AW^oz8H7}!4~ivK;rZi1=cZ)@vp9bd?64F4V(lNF zDCc5*lQv?-XDXyi)dqVSn3#V4N8S0?PWdHAjT1ExO0(-lONt171Jd66l^JlcO*A1! zw};a;sMT$=ajukf0-AO#bhBHnDFaRx_9~Qa{@H2jV&>#KK5xj&& z#tRh;7i7=|+b=k51)U95!r|J8x>o_9269e#?$D1|n1lmb2z$}tM2DB?(fl0{LWQZI zaG(^!-jYg{l#r?4<9I>uLwoj&m@ykAQT#t3TEdlG?!|oe!aef_Hxr z^y=~erO~b}i4^-A5c_74TI%Lwo0)fxDUF!w9 zZ?1<$vv*Jd*mT3w$n)F!ALnM*xTYE=@wS}L`-f$MmsGvWb(7n2VJ(N>@EaGjyV$!N zK$vdGL4`ozr}OlY+t%aXvreyy`uEB4D_3RPYU3#6FApjHr>thhva>4W2=1$tLxfZA z;9r5>gbYhsM*XbGbN$y!vTbJ`Rti`?hmmMP99u(RTPKz;>(X z$EuTDvs9KU1=7KNW7QRgY{gn-qLQnxUsdK?AN}snNeW5i1270_An};YHp!bs?F2En;R=;5V09aGYep&oY;A3xRzADQ zkya9JpE!{3FlskD{nLcx=TnsxYFM8%M3b@?JmpTRz+&@DT;aC~W*zzvgYQu?o_?Wm z;sD)3z{|T$st&}j*0(9w29M%V($0fc-F7{@iB$<0P*Qc4(`_c#kN87pu?&J=5(+G6 zOj?}>lL~eOm&sz3|FRQJN9-X=r5n-?^N@fl4+YVG4awru5k$*UoMmx36(xP}88IZo z+g4iZJIIgoj2RYzeXKPe9u3VEWj=kqduD{*pVQr0!6~`U@}OICoy8Lmp>T=S;dET_ zV?p9-wbhGN=TD(v#Z4*@5=y{?m)Z$R&?^z4Yg1;!)p;qo(oRT??^;3vG=u%Kae`n% zz)zHf(|;8ZhyQ=zj|Wb?5BP}Sjw`OFnh~VsQNlvNmFf#aM4wYIM~F+oUDvpEVPLqj zuQ3z3|0+5Ks45Ff2nd&;tZi!u6Q>>cS+&OMpRW1I&fY-`UKP6?AU`_t(gZM>8_;ae zGD|w)e$`Y}wVqGfXQX3sF|ciJXgI|=IN+1ySYQEti*#gX)v(nR7aYx#g-J=rhFbbY znrC96!40@+GxKgfQjN9W{{U>JDo$$TixCs8AP#wRsvq3 zdY*&`RFVucFs=iqp+84N^_NAP!-qB|dIXK%z1#0UNyc@09-pk&cvZIZP zM9GHbKG9FI5|C{8Y{N(^#1(DNRe(shVfbv61fCUlUor9@ir&0n)3_tUL5dGn?`^#$ zjuP;IdiL$fJz~UsA&IqDO=YXgxqYj2yw^KuMMWUN=s+jdyo%P#Fz-*)6c#XcCTix} zs>}YiY23N9*RU;D6ncIU8PWh#b?L8yX3^$1IFfhgX{xBp~d7a0vul!}udb1Zn zG2J1$DM%JJRJdF22^`mmZJoETH|;-ev$Sz+UUq{9+lNx0*E|sVZdRG88P&4$_Oo%7 zN7^ggk++=kSHDlS$l>04;!`WHNUI8KjAqeti#I0wll*BqJhcF_#|jgPO)kT(bsfaa zU^~=ill#iw0F;}v8gf)F3*(+H;62oUCDW9gj`^K444|E~iR45XmWsgBYT#|m4n@oE z*H2nVK`>GT!)7tf!5LToozT!kz~3MUdw0=mR6SU#cpJB%rLuO>=IqD|MRGuP_R;vX zo3F*CpHOB@oDdd zAcR5GEl^Q<0>j2m8mz`8n4#`kA-OH37tB^vF0Ew%7J3r?M{9M{qyg^T2)ljZd| z5K=qiHx4^o1f3dgv__`ruOk-b>xRaI)i68s`wZfTb4@GOIPNusFU#DTUE2_m*eo#m z@0%LR<Fd;wCd2F3tp4|B-+vB6 z=&-VWIY|AziL`UNQ@$bGF_M<XvM@@EL5?Q<*Ui3T4F8_t|K0Z=O|qcm zt+E@oBpMJ+l&3S5pJ7C_;IRjJm%X;oT9Zc`k>@6kRY+Yd~oWS82epy)*p;iAL4E6O7fC{6Xd_MZA%R!Fbe8LX40p& z{1j1=nqazFwPggfp~{juE_c9qhX?O5{^+15{TBuU9TF{&yixd zoLHPmP?*Dl`zpvWQhmB6Bcp0a;D2=>Xbw$>IBfcYZ56al#i>j34CxbWF~?(LK2Lp! zP!H!;nSVlNn466(Hw~qe1Rns!J~aBxmD|Y-cW4>5BjWP4i~Ah;@nDOebHaOnlq)OS zN7~T%MtX0ze~+-3+-W5UZXGOp56^YU)Bb%uT7%u)@$5X@e8EoN6RB=569Iu05IK0U zYQ^u$b-f4YHDv*~gx&YoiXQ7uX?Vd*Nio==1fbB4cF&WAco-NX?`J3KtWl(AngA1; zrC2!su2K+ANBft*qfu)7({W1te+S+h8=r}N^=n2MLhhfRQ}5PT4oID3m>@QjZsMBb zeLGDz02EF#lq6~Av;yQ`!8)^ljxq%JMiK>&*7&lD1wia46LA1`TN2w^0>~pN(^wfBziNm$QHQ)jNAk?$d zlb+T|=I{*lDYo}hgU%Y2)81dOPoqvCQ8HL{Fm=K}oi)kMjc|ct5)DuRxb%`2ya2q0;u#=FYh`83Y(^%@ z(M85^cIQWP%fHV2Z;rhmEdKnG-Z7%KpE4SG(98irzSBLBuNRnR|S1Ims674#U+9zO#v}y z!gXfu?b+2$H=ESn?S-&ik11U@TW^f=PKvkHw}fa~w%lsDpz64c1;Oz|*{Ru+t3@UO zG1U6Sx_NvZ2uuVWjsMcT{I(P?m9UfAFFai6U7myN)o))L@2aW=)$FpDD|@X)b<}yF ztwiz0CbdE1o_0F#{kF3!m)K^F)a+7WyF$-5p}estv(~tGZM(8s{lbgmcrt6kN3_s? zzjNfAra;Ht`PXcmvDOf^t<~j-CI>o*LdqixQ(G!x>hNTdY6vL~|6kaJe$BrCQu~cZ zG_`&fWu4IA&7ZgbK)@=X`CkwM`mg>AB%DIP{|RyUB%J@ke^)q!v{(mz6pZ5Qm$G`SBgLGd!!pRUJxZe5lD~;%l7?sGZ=mJCwV1me;`pHmF z$ecCXoF7nWu(eY21W6!K2wUAYWOVslBharWnXe55F_FSI!*yI2v+oZc8+ltcCQLPS z*YWnVt1qI+|1EF-^Iq~_rSAV7|Ez&O-(whtqR7L{jON2uWus;%vqoj3BBeGLb!BTy zz(`dtC6P)r9EtpJ!6KaWL)_A0qM=ae&G!X3=~~h)!jTZUlcRWXm(Jd2^()*aOWz-- zGOJA5llw^y3Tao};v-2d#dMwM8d9)9){> zY)lJ^UprS=bFnE?$^5ezpULQFQYTU+R5{mI7*L(xa_I3|o#{2~oXr1X4L`Z_2Ol+o z`-9)0AAy5hknOhtbi>}kRS8nbf=JW+rEv!Pgl(uJ6|*jx`qQmjO6Fc?TADZmH`XAV zQ9~)4KZ|Z&2wn6O8kf(gE#-P79>|tnSkB}3CX)lD2wY}n@=MB7fJCULFhjnRjEqx0 zgC5uO#ZYYBK)bjixBP7IR(-@GpS39OHYs2H?~NK1PSS3$z}O0)$_~O9Ol>!<$u4ou920(ps0|UyRjE* zF!rgr>=f^3b^NBp#M5*Xl(d|GiKJF@xvaEEao5^>Xh})tbT#sON&UDw75F8X+F7ks zVJof|{`z~~+b^SOhwJ^k;U318)>vt9vf{g>IRiQs562-Q7wjQ+w?1nc+7kI+qRCms zls7PeA1Y?|{?Rq2Kyou#xWB8aQ6+U;A>8P@sWoEI5tD%hjUmbwUMF{+5^j}ifAgQE zt1i|#H@rK>4sJXiR@MpSo?1JzfS#&}aPWH)eyf|BjMzu(Le#~IIwjz;6W0tHRTXE7 z;))P!+pAmw%?N-$|Khbv_!rbuX)K0oFMoLv+jUPLKZsgtQ&6w$rp)!q{Z@P>csT)=@ z;%O9XlZpalfAlXoesyOqr%Vv5%5+682*ji{l|GM7fc_?#CO5XAo$tt+X6 zncU$@oQbu8OWAA50>F~Nxy+J8hGwiHDN}r|RuJT)GD;R#nVwoa?%J^%UAq`O@gIbJ zu??O1XCZs&yli+Wi`vM|^Dn@H&CUx+>9imuIpty|?By3moY@cmk#T+9Lk7jzYsZ!N zoHhdx=y%@iQ($Hny@9qmH^Abhh*_YZ4ot&4F38LhaIbe~U~zgU!21lZYBfP(^B_8O zi)=JoP6X(UF2-dL{jS1ujjDJWYmeVIlKTUbhM%Sf7H<9UVnP|{q<7y>qYAfxCcFCsT?Oj$(Qmj3m(mIKr*m z%(_hnJQ2aqwA5f3-%FvtuTk))1Ip21!04sJKcZ!YyiL~rbnTkLSYV4czEk3p=dM-t z@PJ`4P`X2>X8H39eg3HdfC5Hu^LtR4qZ90rGQz=XT}HIFf`~*k7_fB&1b@#J^&SXr zz1pvOx{u#3$?s(X1Zfa>=7{n@;WlY%yGOb;ug+}hEDf0%%TUF<`~5&@zDNd zg#>I>(Wm3~)sge+JAh#bcgnSWnfvrVd7Yg9U(brkiiRe90zX&*ztuyW@j3Ja0Z9sa zx371Tzqo#fbX+4_Oo!+<)O!~vLijV)s|1*FL!nYMcLnV^(V2JFv_ph;-mvu&6c{st5OTU)c9JDp+Wz74xz$ z!JV9J3$50{UaHlK30+*LyPHC!!3$1S%Ud#xPKT`R1n@x+>tv|cnJsB6U`n0PQlz<% zBBzrSGk5U|QcYBb{Pp*AiO$~QLp2lN!cv>#in0*ubxZKFbV7+f3rEh&R3Naf8G1a9 z5irmX`CQNs+GQ#EE6=Zo`uF1(lo2!$I|rkWOD%!up0zcN_vSPCvG|@O0 zeww=^vaHO8@+AG%7=LD9x=h})I+6@9sUY*ZpRD zIIp(5vCI|l_-xomM_oE%QK_!{7gPyoe0<0DFaX!G!}E3ci!Wn5K62DS(}^BZSZcn4 zd;>?y=4jCIJh`sF6G(dP+*sxA5_$~cKw3jhUd|GHmk+lp+A3E2}rgxI@D+PjXYznv)`BMl?7c2d8 zM~+EY)+Q%SnOq+&2B|GA)PjcA79wP^W1_RD2IsV&y|7~Tl1-2xSs-G+wiKo$USdCx zeh3#KK?zAjcsl_P3m5O(Cbs0cy)*`}BzO|N2NtXkO5Z8f>OfkL|kq%+xYs_}v2N&abMtSmbx88ze8ZgMIr5! zuB&Hc8`zX8HoLd}7}J;ci`mVUiVz*nn+CB=}nS3W?{4JrGB2yGoKVfO5#;__Uy z_QS=ZS=>mSdO4kGGmhNF1nuj05?*At>LT5zgM((ei;kRwgY&UAIy>Kvwh=Wta&S8Q zk_si)rQfVl(BG8Bd48B*@0@(N?#-pPvTCgR2~Lb3EPPxHcj{m0&F_^ZV}uDENM1r^lNzRRVXi8G|3eq&&(SOpD^Q83I&!y<~8o7juNb_qFu zB=g>Tw%4l{Q{NDH{RC>)asWX)oQn~|W3m^8*N`ktv-AkCGU;{{1 ztd8z+=_(S_-=Tc*iObp z@x~E#Hy(VDZ9(9=n&6LuLh^x;nmKm62H@|Vq+-H zlENlQeXYAPKIbuzvMk%63_%CaS}qnX5#m-@Wyd85E0c8YG>ey{+#)pvC}(qd8pNJu zOR*@kK7+vwQxv2?#(b&DCH9`)ZZ>S{z8Y=(suT=>B0__Klg%qEVwsY(gN(C$Nrg%U z|Bi}FQi88zcrMAp9*00WiH_zxP)MYM&ZCwiGrDb?MzLBc-AvjAXd#_9TQUI!^H9I6 z9beOlW*a4Jq067)B$J1*(Q|N7)GO(syJ&4n#z?iNg=lI5qCC^msMlnt-P1N z`{YPGAf=k(FqUa&huB&ugAnqdhEzrWs)KPdgpoKMM$5Ed5nV`3yYD(fj7UnVqXzzy?xN>MtF?GuR{F>gWBu2|`{!!sv~m0*lZvbq7Yg28npf|8|A($YtDyDt9-{avJf|=c9}UeQ3JXBKLPLs5Bm3vFG3Ph z5JDmPYO#NgHcS<;apnT#l4e3Z1SDk@QfB#9#_5Jgit)}!YsbmOW-jmtJ@~t3- z+btbzDM$<~p7{xK?-Wc#k_a;USe1fXQMTn{cSH?mbX(h74Ce^Nb|8H`Unsh*5+K3U zb2Af=bu$+sAxBq3-MExhRjM0+fJ~IzYpG#cB~|f?ZawzuQRdzb- z{)DOdLDusx`xL#6MllK!*y62E{dNp7tMcc%0dp-hzA1p1e9J_64+-Ly+t>7A0APIH z!7E5}1?F>->0<%eCo-zZBt_UlF(Y z2lR##a{=Jy8*O4 z0a|vy9cg}?(SLdZL;~uvVrtpCcvBY=sN!3<25NXv7eKc}%=iBp6E(xO0qtJ7wV7)+ zxEktQrK-LN5_J$`BFnai1t6Musk^Q1t)D#tAwpFmK@w;)UPFI0y^T}&A9|Q?2N=`@ zNe$bpLNy3wQdP~T$fT+<>W}|26%J zQxWxS2P8@=r z>vr7VrViHm)4ywnFWk&$UA}d?Sj9+3e%#wm=(gkAB3x&CjV;{W%oX7=d3q7I$aY}c z`?{^ZEyC^fweTgI`55Sty&kv7COW*Sn_@@3rNJGRt8C%7C(RY$dC6S$J^APsdpZ_O**V>gh1;E~ zq^s~U(p(JIYDD%L-LY(EbvyQLHSBm5Y01pR;do8C8LG0Cycm12s9>j002ov JPDHLkV1mfKi`W1F literal 0 HcmV?d00001 diff --git a/po/it/docs/okular/configure.png b/po/it/docs/okular/configure.png new file mode 100644 index 0000000000000000000000000000000000000000..7c89d04a7c57945b5ea927069d8b03a659727250 GIT binary patch literal 28676 zcmeFX_g|Ai6E8~dRi#R?&`XexQ~^N&L8+kxQ0YDN-ldC3jdVdnm7qv@=)E_op_722 zBfSgU;CbJ3&pG%0aQ}dt&u0nGlilyk?9R^2&TPypt!I>E%w#w?IFxG7pX%V?;6t$O zISD@Y&F=s*#1_bqKSvzKmH}`i7Lc7S zhuAR5nQM&D6(~8D&pxONR$(hS35$CFB7UI6^I1U1JH4o;G_TirE}G`Sg>F89EbsRV z>|`^ot&~EVA4c`0zj+#B1GaMZl<=y8L1aVBwLTarSyUbY(8NQY< zN;g)E)dHJ6HFSGnV5+VUQPVZHQ_;}U*7cIrdiDxzqGbK#S+tGh8)5Z0@n<30kNtF| zpvv-I&!4KvJTsJjVypB-`LX;{k;iHhk}`rqB3wLttZes8ZG612T5jZ_qos?3i-%7@ zNJLCRN=8mWNkvUVd+YWcI(i01=DV!y_Z~dtzz*RT6nZ2qDlRD{Ei0$+MCs|X=js|- zFLiVc42@09%->j8+dDzsJiUAaf@#OD^#uh<8Kj33Q zM5|90m6GSLIJ{u|x+YZJD5N*C=*({pxhnzuX%(f^*hQ}WQhf}LzO%K$dQsU1=G zUILR!N&dt`3B%0a%O5u>Tf(2On(-{Hv-Ck3D5Y~fqsYx@yzZAsxpZX~KjX-HqI(

    kfKiIa9_Juv#DSZcW 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 JI7N$~{{@XHJZ=C0 literal 0 HcmV?d00001 diff --git a/po/it/docs/okular/embedded-files-bar.png b/po/it/docs/okular/embedded-files-bar.png new file mode 100644 index 0000000000000000000000000000000000000000..73343fc88d69396503e6ce95f7b7cba3603fd0a8 GIT binary patch literal 2900 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 literal 0 HcmV?d00001 diff --git a/po/it/docs/okular/index.docbook b/po/it/docs/okular/index.docbook new file mode 100644 index 0000000..d947ae0 --- /dev/null +++ b/po/it/docs/okular/index.docbook @@ -0,0 +1,4469 @@ + +KPDF"> + + +]> + + + + Manuale di &okular; + + Albert Astals Cid

    &Albert.Astals.Cid.mail;
    + + + Pino Toscano
    pino@kde.org
    +
    +
    + Enrico Ros
    eros.kde@email.it
    Traduzione della documentazione
    Nicola Ruggero
    nicola@nxnt.org
    Revisione della documentazione
    LuigiToscano
    luigi.toscano@tiscali.it
    Revisione della documentazione (kpdf->okular)
    + + &FDLNotice; + 2022-02-19 + 22.04 + + + &okular; è un visualizzatore universale di documenti per &kde; basato sul codice di &kpdf;. + + + KDE + okular + pdf + ps + postscript + tiff + djvu + dvi + xps + comicbook + fictionbook + markdown + mobipocket + annotazione + + + + Introduzione + &okular; è un visualizzatore universale di documenti per &kde; basato sul programma &kpdf;. Nonostante tragga origine dal codice di &kpdf;, &okular; ha delle funzionalità uniche, come la modalità panoramica, un miglior supporto per le presentazioni e supporto per le annotazioni. + &okular; supporta molti formati diversi come &PDF;, &PostScript;, Tiff, DjVU, immagini (png, jpg, &etc;), XPS, Fiction Books, Comic Book, Plucker, EPub, Fax e Markdown. Per l'elenco dei formati supportati e delle relative funzionalità consultare la pagina dei gestori dei formati di documenti di &okular;. + + La finestra principale di &okular; + + + + + + La finestra principale di &okular; + + + + + + Uso di base + + Apertura dei file + Per aprire un qualsiasi file supportato in &okular;, scegli FileApri... , scegli un file supportato nella finestra di dialogo e fai clic sul pulsante Apri. Dovresti vedere ora il tuo file nella finestra principale. + + Il nuovo documento sarà aperto in una scheda se è selezionata l'opzione Apri i nuovi file nelle schede nella pagina di configurazione Generale. + Puoi chiudere le schede facendo clic su di esse con il &MMB;. + Il documento chiuso in precedenza nella scheda può essere riaperto usando la voce di menu &Ctrl;&Shift;TFile Annulla chiusura scheda. + + Se hai già aperto file in &okular;, puoi accedere velocemente ad essi selezionandoli nel menu FileApri recenti. + &okular; è il programma &kde; predefinito per i file &PDF; e &PostScript;, eseguito quando fai clic con il &LMB; su file di questo tipo nel gestore dei file. Se vuoi aprire un qualsiasi file il cui formato è supportato da &okular;, usa Apri con...&okular; dal menu contestuale nel gestore dei file. + Dopo avere aperto un file probabilmente vorrai leggerlo, e per questo motivo dovrai navigarci all'interno. Vai alla sezione successiva per saperne di più. + + + Navigazione + Questa sezione descrive come muoversi all'interno di un documento con &okular;. + Ci sono diversi modi di muoverti nell'area di visualizzazione. Uno è di usare i tasti &Up; e &Down;. Puoi anche usare la barra di scorrimento, la rotella del mouse o i tasti &PgUp; e &PgDn;. + Puoi anche usare i tasti di navigazione in stile vim, e in particolare H per spostarti all'estremità superiore della pagina precedente, L per spostarti all'estremità superiore della pagina successiva, J per spostarti in basso di una riga, e K per spostarti in alto di una riga. + Un altro modo è quello di premere il &LMB; su una qualunque parte del documento mentre trascini il mouse nella direzione opposta a quella in cui ti vuoi muovere. Questa procedura funziona solo se lo «Strumento navigazione» è attivato. In caso non lo fosse, puoi attivarlo da StrumentiNavigazione. + + Quando visualizzi un documento in modalità presentazione usa i tasti &Up; e &Down; per passare tra pagine o diapositive. Il numero e la posizione della diapositiva sarà mostrato nell'angolo in alto a destra del pannello a comparsa. + + Se vuoi leggere un documento con molte pagine puoi usare la funzione di scorrimento automatico di &okular;. Avvia lo scorrimento automatico con &Shift;&Down; o &Shift;&Up;. Quindi usa questi tasti per aumentare o diminuire la velocità di scorrimento. Puoi avviare o fermare temporaneamente lo scorrimento automatico premendo il tasto &Shift;; la pressione di un qualsiasi altro tasto disabilita questa funzione. + Un altro modo per navigare in un documento con svariate pagine prevede l'uso del puntatore del mouse. Trascina la pagina in alto o in basso, continua a trascinare anche dopo aver raggiunto e superato l'estremo inferiore o superiore. Quando superi il bordo di una pagina il puntatore appare nuovamente nell'estremità superiore o inferiore e puoi così semplicemente continuare a trascinare. + Attraverso la barra laterale a sinistra è possibile spostarsi nel documento in altri due modi: + + + Se fai clic sulla miniatura di una pagina, questa diverrà la pagina attiva. + + + Se il documento ha in indice dei contenuti, facendo clic su un elemento si andrà alla pagina corrispondente. + + + Se il documento ha livelli, puoi controllare quelli visualizzati selezionando o deselezionando gli elementi nell'elenco Livelli. + + + Se il documento ha dei segnalibri, abilita la vista Segnalibri e fai clic su di essi per accedere alla pagine associate. Se i segnalibri visualizzati non sono relativi solo al documento attuale, puoi passare rapidamente tra i segnalibri di tutti i file usati di recente. + + + Se il documento contiene delle annotazioni, abilita la vista Annotazioni e fai clic sulle annotazioni o selezionale con i tasti freccia &Up; e &Down; e premi &Enter; per andare alla pagina associata. + + + In alcuni documenti sono presenti dei collegamenti. In questo caso si può fare clic su di essi e la vista verrà spostata alla posizione a cui fanno riferimento. Se il collegamento punta ad una pagina web o qualche altro documento, verrà lanciato il gestore &kde; per quel tipo di documento. Ad esempio, facendo clic su un collegamento che punta a https://www.kde.org si aprirà questa pagina web nel browser web predefinito di &kde;. + + I collegamenti interni del documento funzionano solo quando viene usato lo Strumento navigazione. + + In più, puoi usare le seguenti funzioni per spostarti velocemente a parti specifiche del documento: + + + Puoi spostarti all'inizio del documento premendo &Ctrl;Home oppure usando Vai Inizio del documento . + + + Puoi spostarti alla fine del documento premendo &Ctrl;Fine oppure usando Vai Fine del documento . + + + Puoi spostarti in avanti nel documento premendo &Space; o &PgDn;. Per andare alla pagina successiva del documento puoi usare il pulsante Pagina successiva della barra degli strumenti oppure la voce di menu Vai Pagina successiva . + + + Puoi spostarti indietro nel documento premendo &Backspace; o &PgUp;. Per andare alla pagina precedente del documento puoi usare il pulsante Pagina precedente della barra degli strumenti oppure la voce di menu Vai Pagina precedente . + + + Puoi tornare indietro nel documento alle posizioni di provenienza in ordine cronologico. Ad esempio, stai leggendo la frase Come mostrato in [15], …, e vuoi controllare rapidamente la fonte [15]. Fai quindi clic su di essa, e &okular; passa all'elenco delle fonti. Usando &Alt;&Shift;&Left; o Vai Indietro nella barra dei menu verrai portato indietro alla posizione da dove sei arrivato. + + + Puoi spostarti avanti nel documento dopo il salto all'indietro descritto in precedenza usando &Alt;&Shift;&Right; oppure usando Vai Avanti nella barra dei menu. + + + Puoi spostarti alla corrispondenza successiva di una ricerca usando i tasti F3 o &Enter; (quando è evidenziato il campo di testo Trova) o la voce di menu Modifica Trova successivo ; o spostarti indietro alla corrispondenza precedente usando i tasti &Shift;F3 o &Shift;&Enter; (quando è evidenziato il campo di testo Trova) o la voce di menu Modifica Trova precedente . + + + + + Modalità Presentazione + La modalità presentazione rappresenta un altro modo di vedere i documenti in &okular;, e può essere attivata in VisualizzaPresentazione. Visualizza il documento pagina dopo pagina. Le pagine vengono visualizzate adattandole allo schermo, questo significa che ogni pagina è mostrata completamente. + + I documenti &PDF; possono anche specificare che devono essere aperti sempre in modalità di presentazione. + + In modalità presentazione è disponibile una barra di aiuto posizionata nella parte alta dello schermo. Basta muovere il puntatore del mouse nella parte alta dello schermo per farla apparire. + + &okular; in modalità presentazione + + + + + + &okular; in modalità presentazione + + + + Per muoverti tra le pagine puoi usare &LMB; (pagina successiva) e &RMB; (pagina precedente), la rotellina del mouse, le icone a forma di freccia o la casella di testo che appaiono quando sposti il puntatore nella parte più alta dello schermo, o con i tasti specificati nella sezione Navigazione. + Usa il pulsante Riproduci/metti in pausa nella barra superiore per avviare la presentazione o metterla in pausa, rispettivamente. + Puoi uscire dalla modalità presentazione in qualunque momento premendo il tasto &Esc; o facendo clic sull'icona Esci nella barra superiore. + Puoi anche disegnare con una matita sulla pagina corrente. Fai clic sull'icona Commuta modalità disegno nella barra in alto per abilitare o disabilitare la possibilità di disegnare in modalità presentazione. Gli schizzi saranno cancellati automaticamente uscendo dalla modalità presentazione. Puoi anche fare clic sull'icona Cancella disegni per rimuovere i disegni nella pagina corrente. + La modalità presentazione supporta la presenza di più schermi in configurazione multi-monitor. Se è presente più di uno schermo, sarà disponibile un ulteriore pulsante nella barra superiore, con l'icona di uno schermo: si tratta di una casella a cascata che consente di spostare la presentazione su uno degli schermi disponibili. + La modalità presentazione è configurabile. Puoi trovare ulteriori dettagli nel capitolo Configurare &okular;. + + + + Ricerca inversa tra editor &latex; e &okular; + + La ricerca inversa è una funzionalità utile quando scrivi un documento &latex;. Se tutto è a posto, puoi fare clic nella finestra di &okular; con il tasto sinistro del mouse tenendo premuto &Shift;. Dopodiché, l'editor caricherà il file sorgente &latex; e salterà al paragrafo giusto. + + La ricerca inversa non può funzionare a meno che: + + + Il file sorgente sia stato compilato correttamente. + &okular; sappia quale editor vuoi usare. + Lo «Strumento navigazione» sia attivato. In caso non lo fosse, puoi attivarlo da StrumentiNavigazione. + + + Con questa funzionalità di &okular;, un clic sul &LMB; tenendo premuto &Shift; nel documento &DVI; o &PDF; farà aprire all'editor il documento &latex; corrispondente, e gli farà cercare di raggiungere la riga corrispondente. Ricordati di dire a &okular; di usare un editor appropriato, tramite la voce ImpostazioniConfigura Okular... (sulla pagina Editor) del menu di &okular;. + + Per maggiori informazioni sulla configurazione dell'editor fai riferimento alla sezione corrispondente di questo manuale. + + + Configurazione di &okular; + + + + + + Configurazione dell'editor in &okular; + + Configurazione dell'editor in &okular; + + + + + + + Funzionalità avanzate di &okular; + + Allegati + Se il documento corrente contiene degli allegati, in fase di apertura apparirà una barra sopra la vista della pagina per informarti riguardo gli allegati presenti. + + La barra degli allegati + + + + + + La barra degli allegati + + + + In questo caso puoi fare clic sul collegamento nel testo della barra o scegliere FileAllegati per aprire la finestra di dialogo degli allegati. La finestra di dialogo consente di visualizzare gli allegati e di estrarli. + + + Moduli + Se il documento corrente contiene dei moduli, in fase di apertura apparirà una barra sopra la vista della pagina da cui potrai abilitare i moduli. + + La barra dei moduli + + + + + + La barra dei moduli + + + + In questo caso puoi fare clic su Mostra moduli nella barra o scegliere VisualizzaMostra moduli per inserire i dati nei campi del modulo. + + + Firme + Se il documento corrente contiene delle firme, apparirà una barra sopra la vista della pagina dopo l'apertura del documento. Permette ti aprire il pannello Firme. + + La barra delle firme + + + + + + La barra delle firme + + + + Usando il pannello Firme puoi esaminare la firma del documento ed il suo certificato. + + Il pannello delle firme + + + + + + Il pannello delle firme + + + + + Questa funzione è disponibile solo per documenti &PDF;. Devi installare almeno la versione 0.51 di Poppler per ottenere la maggior parte delle informazioni sulla firma, la versione 0.68 per ottenere le informazioni sulla posizione e motivazione della firma, e la versione 0.73 per ottenere le informazioni sul certificato di firma. + + + Aggiunta di firme digitali + Puoi aggiungere delle firme digitali ai documenti usando l'azione corrispondente nel menu Strumenti. + Per poter firmare un documento devi avere un certificato PKCS adatto di firma disponibile nel tuo sistema. &okular; non è in grado di creare tali certificati perché devono essere rilasciati da un'autorità di certificazione per essere utili per verifica, &etc; + Viene usata la libreria Poppler per la gestione della firma di documenti &PDF; e Popper usa la libreria NSS per la gestione dei certificati. Al momento della stesura di questo testo, Poppler tenta di usare uno dei seguenti archivi di certificati NSS nell'ordine (il primo che esiste): + + L'archivio attuale di certificati utente di Firefox + L'archivio di certificati di sistema /etc/pki/nssdb. + L'archivio utente $HOME/.pki/nssdb attuale + + Se vuoi usare un archivio di certificati personalizzato puoi farlo impostandolo nella sezione Configurazione del backend &PDF; della finestra di dialogo Configura backend.... + + Questa funzione è disponibile solo per documenti &PDF;. Devi installare almeno la versione 21.01 di Poppler per poter aggiungere delle firme digitali ad un documento. + + + + + Annotazioni + &okular; ti permette di revisionare e annotare i tuoi documenti. + + Le annotazioni in &okular; + + + + + + Le annotazioni in &okular; + + + + &okular; mette a disposizione due tipi di annotazioni: + Annotazioni del testo come l'evidenziatore giallo e la sottolineatura nera possono essere usate con file contenenti testo (⪚ &PDF;). + Annotazioni grafiche come la nota, la nota in linea, la linea a mano libera, la linea retta, il poligono, il timbro e l'ellisse e macchina da scrivere. + Le annotazioni grafiche non sono limitate ai file &PDF;, possono essere usate in ogni formato di file supportato da &okular;. + Usando il menu Annotazioni, puoi aggiungere una nota a comparsa o ogni altro tipo di annotazione per aggiungere o modificare commenti. + + &okular; dispone della funzione di "archiviazione del documento". Si tratta di un formato specifico di &okular; per immagazzinare il documento ed i relativi metadati (attualmente solo annotazioni). Puoi salvare un "archivio di documento" tramite la voce di menu FileSalva come e selezionando Archivio di documento Okular nel selettore Filtro. I documenti così salvati useranno .okular come estensione nel nome del file. Per aprire un archivio di documento di &okular; basta semplicemente aprirlo con &okular; come se fosse ⪚ un documento &PDF;. + Puoi anche salvare le annotazioni direttamente nei file &okular;. Puoi utilizzare File Salva per sovrascrivere il file attuale o File Salva come... per salvarlo in un nuovo file. + + Nota come aggiungere, modificare o rimuovere annotazioni potrebbe non essere possibile per i file con DRM abilitato. + + + È possibile annullare o rifare ogni annotazione usando la voce corrispondente del menu Modifica. È anche possibile annullare l'azione premendo &Ctrl;Z e rifare un'azione precedentemente annullata premendo &Ctrl;&Shift;Z. + + Puoi configurare le proprietà e l'aspetto predefiniti per ogni strumento di annotazione. Fai riferimento alla sezione corrispondente in questa documentazione. + + Aggiunta di annotazioni + Per aggiungere delle annotazioni ad un documento puoi usare il pulsante Annotazioni veloci nella barra degli strumenti principale di &okular; o attivare la barra degli strumenti delle annotazioni. Si può fare selezionando StrumentiAnnotazioni o premendo F6. Una volta che la barra degli strumenti di annotazione è visualizzata, è sufficiente premere uno dei suoi pulsanti o usare le scorciatoie di tastiera (i tasti da 1 a 9) per usare tale annotazione. + La barra degli strumenti di annotazione ti aiuta a creare delle annotazioni con disegni, forme e messaggi di testo. Puoi usare la barra degli strumenti di annotazione per contrassegnare un documento (⪚ aggiungere linee, ellissi, poligoni, timbri, evidenziatori, sottolineature, &etc;). La tabella di seguito descrive il comportamento dell'insieme predefinito di pulsanti della barra degli strumenti di annotazione. + + + + + Pulsante + Nome dello strumento + Descrizione + + + + + + + + + + + + + + + Evidenziatore + + + Evidenzia del testo nel documento con un determinato colore di sfondo. + Fai clic sul pulsante dello strumento, quindi fai clic con il &LMB; e trascina per evidenziare un frammento di testo. + È possibile definire il tipo (evidenziato, scarabocchiato, sottolineato o barrato), il colore e l'opacità per l'evidenziatore. Fai clic con il tasto destro del mouse sul testo evidenziato e seleziona la voce di menu Proprietà. + + + + + + + + + + + + + + Sottolineatura + + + Sottolinea del testo con una linea retta. + Fai clic sul pulsante dello strumento, quindi fai clic con il &LMB; e trascina per sottolineare un frammento di testo. + È possibile definire il tipo (evidenziato, scarabocchiato, sottolineato o barrato), il colore e l'opacità per il testo sottolineato. Fai clic con il tasto destro del mouse sul testo sottolineato e seleziona la voce di menu Proprietà. + + + + + + + + + + + + + + Scarabocchiato + + + Sottolinea del testo con una linea scarabocchiata. + Fai clic sul pulsante dello strumento, quindi fai clic con il &LMB; e trascina per sottolineare con una linea scarabocchiata un frammento di testo. + È possibile definire il tipo (evidenziato, scarabocchiato, sottolineato o barrato), il colore e l'opacità per il testo sottolineato. Fai clic con il tasto destro del mouse sul testo sottolineato e seleziona la voce di menu Proprietà. + + + + + + + + + + + + + + Barrato + + + Barra del testo. + Fai clic sul pulsante dello strumento, quindi fai clic con il &LMB; e trascina per barrare con una linea scarabocchiata un frammento di testo. + È possibile definire il tipo (evidenziato, scarabocchiato, sottolineato o barrato), il colore e l'opacità per il testo sottolineato. Fai clic con il tasto destro del mouse sul testo sottolineato e seleziona la voce di menu Proprietà. + + + + + + + + + + + + + + Macchina da scrivere + + + Aggiunge del testo su uno sfondo trasparente. Questo è utile per riempire dei moduli che non hanno dei campi di testo modificabili integrati. + Fai clic sul pulsante dello strumento, quindi fai clic con il &LMB; dove desideri aggiungere l'angolo superiore sinistro del testo, infine trascina per posizionare l'angolo inferiore destro. Digita del testo e fai clic sul pulsante OK per salvarlo, Pulisci per cancellare il testo e ricominciare, o Annulla per annullare. + È possibile definire il carattere ed il colore del testo per il testo. Basta fare clic con il pulsante destro sul testo creato e selezionare la voce di menu Proprietà. + + + + + + + + + + + + + + Nota in linea + + + Disegna una nota in linea. La nota sarà mostrata in linea così com'è. + Fai clic sul pulsante dello strumento, quindi fai clic con il &LMB; dove desideri aggiungere l'angolo superiore sinistro della nota; infine trascina per posizionare l'angolo inferiore destro. Inserisci il testo della nota e fai clic sul pulsante OK per salvare la nota, Pulisci per cancellare il testo della nota, o Annulla per annullare la creazione della nota. + È possibile definire il colore, l'opacità l'icona, il carattere, l'allineamento e la larghezza del bordo per la nota. Basta fare clic con il pulsante destro sull'icona della nota creata e selezionare la voce di menu Proprietà. + + + + + + + + + + + + + + Nota a comparsa + + + Disegna una nota su più righe. La nota può essere visualizzata facendo doppio clic sull'icona creata nel documento. + Fai clic sul pulsante dello strumento, quindi fai clic sulla posizione del documento dove aggiungere la nota a comparsa. Inserisci il testo della nota, quindi fai clic sul pulsante Chiudi questa nota nell'angolo superiore destro della finestra a comparsa. + È possibile definire il colore, l'opacità e l'icona per la nota. Basta fare clic con il pulsante destro sull'icona della nota creata e selezionare la voce di menu Proprietà. + + + + + + + + + + + + + + Linea a mano libera + + + Disegna delle linee a mano libera. + Fai clic sul pulsante dello strumento, quindi fai clic con il &LMB; e trascina per disegnare la riga. + È possibile definire il colore, l'opacità e la larghezza per la linea. Basta fare clic con il pulsante destro sulla linea creata e selezionare la voce di menu Proprietà. + + + + + + + + + + + + + + Freccia (elenco a discesa) + + + Disegna una freccia tra due punti. + Fai clic sul pulsante dello strumento, quindi fai clic con il &LMB; per posizionare il punto iniziale della freccia; infine trascina per posizionare il punto finale della linea e fai nuovamente clic. + È possibile definire il colore, l'opacità, la larghezza, l'inizio dalla linea, la fine della linea, la Lunghezza linea direzionale e la lunghezza estensioni linea direzionale per la linea. Basta fare clic con il pulsante destro sulla linea creata e selezionare la voce di menu Proprietà. + + + + + + + + + + + + + + Linea retta (elenco a discesa) + + + Disegna una linea tra due punti. + Fai clic sul pulsante dello strumento, quindi fai clic con il &LMB; per posizionare il punto iniziale della linea; infine trascina per posizionare il punto finale della linea e fai nuovamente clic. + È possibile definire il colore, l'opacità, la larghezza, l'inizio dalla linea, la fine della linea, la Lunghezza linea direzionale e la lunghezza estensioni linea direzionale per la linea. Basta fare clic con il pulsante destro sulla linea creata e selezionare la voce di menu Proprietà. + + + + + + + + + + + + + + Rettangolo (elenco a discesa) + + + Disegna un rettangolo attorno all'area scelta. + Fai clic sul pulsante dello strumento, quindi fai clic con il &LMB; per posizionare l'angolo superiore sinistro del rettangolo; infine trascina per posizionare l'angolo inferiore destro. + È possibile definire il tipo( rettangolo o ellisse), il colore, l'opacità, il riempimento forma (ed il suo colore) e la larghezza per il bordo. Basta fare clic con il pulsante destro sul bordo creato e selezionare la voce di menu Proprietà. + + + + + + + + + + + + + + Ellisse (elenco a discesa) + + + Disegna un'ellisse o un rettangolo attorno ad un'area scelta. + Fai clic sul pulsante dello strumento, quindi fai clic con il &LMB; e tienilo premuto per posizionare l'angolo superiore sinistro del rettangolo che racchiude l'ellisse; infine trascina il puntatore del mouse per posizionare l'angolo inferiore destro. + È possibile definire il tipo( rettangolo o ellisse), il colore, l'opacità, il riempimento forma (ed il suo colore) e la larghezza per il bordo. Basta fare clic con il pulsante destro sul bordo creato e selezionare la voce di menu Proprietà. + + + + + + + + + + + + + + Poligono (elenco a discesa) + + + Traccia una forma chiusa a partire da tre o più segmenti. La nota corrispondente può essere visualizzata facendo doppio clic all'interno del poligono. + Fai clic sul pulsante dello strumento, quindi fai clic con il &LMB; e tienilo premuto per posizionare il primo vertice del poligono; infine trascina per posizionare il secondo vertice. Procedi così finché non hai completato di tracciare l'intero poligono e di collegarlo nuovamente con il primo vertice. Fai clic due volte per aggiungere una nota al poligono. Inserisci il testo della nota e fai clic sul pulsante OK per salvare la nota, Pulisci per cancellare il testo della nota, o Annulla per annullare la creazione della nota. + È possibile definire il colore, l'opacità, il riempimento forma (ed il suo colore) e la larghezza per il poligono. Basta fare clic con il pulsante destro sul poligono creato e selezionare la voce di menu Proprietà. + + + + + + + + + + + + + + Timbro + + + Inserisce una forma predefinita nel documento. + Fai clic sul pulsante dello strumento per scegliere il timbro dall'elenco a discesa, quindi fai clic con il &LMB; per posizionare il timbro. + Un singolo clic posiziona esattamente un timbro quadrato (utile per le icone). Per aggiungere un timbro rettangolare puoi fare clic con il &LMB; e tenere premuto per posizionare il punto superiore sinistro, quindi trascinare per posizionare quello in basso a destra. + È possibile definire l'Opacità ed il Disegno del timbro per il timbro. Basta fare clic con il pulsante destro sull'icona del timbro creato e selezionare la voce di menu Proprietà. + + Questa funzione è sperimentale. I timbri personalizzati inseriti nei documenti &PDF; non saranno visibili in lettori &PDF; diversi da &okular;. + + + + + + + Queste sono le annotazioni predefinite fornite da &okular;. Usando la pagina Annotazioni della finestra di dialogo di configurazione puoi aggiungere delle annotazioni a tua scelta come timbri personalizzati, marcatori di testo, forme geometriche con un colore interno per evidenziare delle regioni, &etc; + + È possibile aggiungere del codice &latex; nel testo delle annotazioni. Per farlo, aggiungi $$codice$$ nel testo di una annotazione, dove codice è una qualsiasi equazione &latex; valida. Segui le istruzioni che appariranno sullo schermo perché tale equazione sia resa correttamente tramite una distribuzione &latex; installata nel sistema. + + È possibile configurare lo strumento selezionato usando la stessa barra delle applicazioni: + + + + + Pulsante + Nome opzione + Descrizione + + + + + + + + + + + + + + + Spessore della linea + + + Fai clic su questo pulsante per scegliere lo spessore dalla barra dall'elenco a discesa. + + + + + + + + + / + + + + + + + Colore dell'annotazione + + + Fai cli su questo pulsante per scegliere il colore del testo o del bordo dell'annotazione. Puoi scegliere uno dei colori predefiniti o fare clic su Colore personalizzato... per aprire la finestra di selezione del colore. + + + + + + + + + + + + + + Colore di riempimento dell'annotazione + + + Fai cli su questo pulsante per scegliere il colore di riempimento per l'annotazione. Puoi scegliere uno dei colori predefiniti o fare clic su Colore personalizzato per aprire la finestra di selezione del colore. + + + + + + + + + + + + + + Opacità dell'annotazione + + + Fai clic su questo pulsante per scegliere l'opacità dell'annotazione dall'elenco a discesa) (100% crea annotazioni opache). + + + + + + + + + + + + + + Carattere dell'annotazione + + + Fai clic su questo pulsante per aprire la finestra di selezione dei caratteri. + + + + + + + + + + + + + + Impostazioni avanzate per lo strumento di annotazione attuale + + + Fai clic su questo pulsante per aprire la finestra di dialogo generale per la tua annotazione. + + + + + + Ci sono tre ulteriori pulsante di utilità nella barra degli strumenti delle annotazioni. + + + + + Pulsante + Descrizione + + + + + + + + + + + + + + + Aggiungi l'annotazione attuale al menu Annotazioni veloci nella barra degli strumenti principale. + + Puoi usare le scorciatoie predefinite da &Alt;9 a &Alt;0 per selezionare le azioni di annotazione veloce quando vuoi, anche quando la barra degli strumenti delle annotazioni è nascosta. + + + + + + + + + + + + + + + Quando è selezionato, mantiene attivo lo strumento di annotazione attuale dopo l'uso. + + + + + + + + + + + + + + Nasconde la barra delle annotazioni. + + + + + + Premendo &Shift; puoi vincolare l'angolo di annotazioni di tipo linea e poligono a passi di 15°, ed il rapporto delle annotazioni di tipo forma (⪚ rettangolo, ellisse) ad 1:1. Puoi anche ottenere un pulsante della barra degli strumenti da Configure barre degli strumenti.... + I contenuti del menu Annotazioni veloci possono essere configurati usando la pagina Annotazioni della finestra di configurazione di &okular;. Questa pagina può essere aperta facendo clic sul pulsante Annotazioni veloci, selezionando quindi Configura annotazioni... dal menu a comparsa. + + L'attivazione della barra degli strumenti di annotazione fa tornare automaticamente in modalità navigazione. + + Puoi fermare la gestione delle annotazioni in un qualsiasi momento premendo nuovamente il pulsante dell'annotazione che stai usando, o premendo il tasto &Esc;. + L'annotazione appena creata avrà come autore/autrice il nominativo che hai impostato nella pagina Annotazioni della finestra di dialogo di configurazione di &okular;. La pagina Annotazioni può essere usata anche per configurare il contenuto della barra degli strumenti di annotazione. + + + Rimozione della annotazioni + Per rimuovere un'annotazione, seleziona innanzitutto lo «Strumento navigazione» (StrumentiNavigazione), quindi fai clic su di essa con il &RMB; e seleziona Elimina o seleziona un'annotazione usando il &LMB; e premi il pulsante ∇. + Quando un'annotazione viene rimossa, la sua finestra verrà chiusa se è aperta. + + + Modifica della annotazioni + Per modificare un'annotazione, seleziona innanzitutto lo «Strumento navigazione» (StrumentiNavigazione), quini fai clic su un'annotazione con il &RMB; e seleziona Proprietà. Sarà mostrata una finestra di dialogo con le impostazioni, sia generali per tutti i tipi di annotazioni (come colore e opacità, autore, &etc;) che specifiche per quel tipo di annotazione. + + La finestra delle proprietà delle annotazioni + + + + + + La finestra delle proprietà delle annotazioni + + + + Per spostare un'annotazione, tieni premuto il tasto &Ctrl;, sposta il puntatore del mouse su di essa e trascinala con il &LMB;. + Se fai clic con il &LMB; su un'annotazione, questa viene selezionata. Maniglie di ridimensionamento appariranno nel rettangolo di selezione. Quando il cursore viene spostato su una delle otto maniglie di ridimensionamento agli angoli o ai bordi, la forma del cursore cambia per indicare la modalità di ridimensionamento. Fai clic su qualunque altro punto nell'annotazione per spostarlo. La pressione del tasto &Esc; o un clic del mouse su un'area fuori dall'annotazione annulla la selezione. + Il ridimensionamento è disponibile solo per le annotazioni di tipo nota in linea, macchina da scrivere, timbro ed ellisse. + + + Alcune opzioni potrebbero essere disabilitate in base ai permessi del documento (questo normalmente succede solo con alcuni documenti &PDF;). + + + + + Gestione dei segnalibri + &okular; dispone di un sistema di segnalibri molto flessibile. &okular; salva in ogni segnalibro la posizione nella pagina e permette di definire più di un segnalibro per pagina. + Per gestire i segnalibri in &okular; puoi usare la vista Segnalibri dalla Barra laterale, dal menu Segnalibri o dal menu contestuale della vista del documento (fai clic con il &RMB; per aprirlo). + + La vista segnalibri + Per aprire la vista Segnalibri fai clic sulla scheda Segnalibri nella Barra laterale. Se la Barra laterale non è visibile, fai clic sul pulsante Mostra la barra laterale nella barra degli strumenti, o usa la voce di menu F7 ImpostazioniMostra la barra laterale per renderlo visibile. + + Menu contestuale della vista segnalibri + + + + + + Menu contestuale della vista segnalibri + + + + La casella Mostra per tutti i documenti può essere deselezionata per mostrare solo i segnalibri dal documento attuale. + La barra dei filtri nella parte alta della vista dei Segnalibri può essere usata per filtrare il contenuto del pannello della lista dei segnalibri usando il testo nella casella. + Il pannello con l'elenco consente di visualizzare la lista dei segnalibri in stile albero: ogni documento nella lista può essere espanso o contratto facendo clic sull'icona < o v accanto ad essa. + Il menu che appare facendo clic con il pulsante destro su una voce relativa ad un documento permette di aprire il documento, rinominare la voce relativa o rimuoverla dalla lista. Tieni conto che la rimozione di una voce di documento provoca la rimozione di tutti i segnalibri del corrispondente documento. + Il menu che appare facendo clic con il pulsante destro su un singolo segnalibro permette di passare a quel segnalibro, rinominarlo o rimuoverlo. + Il menu che appare con un clic del pulsante destro del mouse sugli elementi dell'indice dei contenuti può essere usato per creare segnalibri o passare al segnalibro precedente o successivo. + + + + + Opzioni dalla riga di comando + Anche se la maggior parte delle volte si lancia &okular; dal menu dei programmi di &kde; o da un'icona del desktop, può anche essere aperto dalla riga di comando in una finestra del terminale. Ci sono diverse opzioni utili disponibili in questa modalità. + + Specifica un file + Specificando il percorso e il nome di un particolare file l'utente può far sì che &okular; apra quel file immediatamente all'avvio. Questa opzione può assomigliare a questa: + % okular + + + Nel caso di documenti &PDF; il nome può essere specificato come nome_documento#nome_destinazione, dove nome_destinazione è l'identificativo di una destinazione presente nel documento. + + + + Altre opzioni dalla linea di comando + Sono disponibili le seguenti opzioni di aiuto dalla riga di comando + + + okular + Apre la pagina del documento identificata dal numero fornito. È disponibile anche attraverso okular + + + okular + Apre il documento in modalità presentazione + + + okular + Avvia mostrando la finestra di stampa. + + + okular + Avvia mostrando la finestra di stampa e termina dopo la stampa. + + + okular + Controllo "istanza unica". + + + okular + Permette di evitare che la finestra di &okular; si rialzi dopo l'avvio. + + + okular + Cerca di trovare ed evidenziare una stringa nel documento. Funziona solo viene passato un singolo documento come argomento del comando okular. + + + okular + Imposta il comando dell'editor esterno. Non puoi impostare il comando dell'editor in un'istanza di &okular; già in esecuzione. Nota come l'opzione non è supportata quando si imposta il comando dell'editor tramite riga di comando. + + + + + + Adatta finestra alla pagina + La funzione «Adatta finestra alla pagina» ridimensiona la finestra in modo che abbia la stessa dimensione della pagina al valore di ingrandimento attuale. Se la pagina non entra del tutto nello schermo, la finestra viene allargata in modo che venga massimizzata la parte di immagine mostrata. + Si può accedere a questa funzione tramite la scorciatoia di tastiera &Ctrl;J. + + + + + La barra dei menu + + + Il menu File + + + + &Ctrl;O File Apri... + + + Apre un file supportato od un archivio di documento &okular;. Se c'è già un file aperto, questo verrà chiuso. Per maggiori informazioni, vedi la sezione che riguarda l'apertura dei file. + + + + + + File Apri recenti + + + Apre un file che è stato usato di recente selezionandolo da una lista in un sottomenu. Se c'è già un file aperto, questo verrà chiuso. Per maggiori informazioni, vedi la sezione riguardante l'apertura dei file. + + + + + + File Importa PostScript come &PDF;... + + + Apre un file &PostScript; e lo converte in formato &PDF;. + + + + + + &Ctrl;&Shift;T File Annulla chiusura scheda + + + Riapre l'ultimo documento chiuso. Questa azione è attiva solo se hai chiuso qualche documento nelle schede durante la sessione corrente. + + + + + + File Apri cartella contenitore + + + Apre la cartella che contiene il documento attuale nel tuo gestore dei file preferito. Questa azione è utile in particolare nel caso in cui hai scaricato da Internet un file &PDF; che si apre in &okular;. La posizione di questo file potrebbe non essere chiara o facile da trovare senza questa funzione. + + + + + + &Ctrl;S File Salva + + + Salva il documento visualizzato incluse tutte le modifiche (annotazioni, contenuto dei moduli, &etc;), se il backend relativo ne supporta il salvataggio. Se il backend non supporta il salvataggio delle modifiche l'utente potrà scegliere di scartarle o salvare insieme al documento in un archivio di documento &okular;. + + + + + + &Ctrl;&Shift;S File Salva come... + + + Salva il documento visualizzato con un altro nome incluse tutte le modifiche (annotazioni, contenuto dei moduli, &etc;), se il backend relativo ne supporta il salvataggio. Se il backend non supporta il salvataggio delle modifiche l'utente potrà scegliere di scartarle o salvare insieme al documento in un archivio di documento &okular;. + + Nota bene che, per il modo in cui questa azione viene attuata, anche il file non ha modifiche, il nuovo file potrebbe non essere una copia esatta (bit per bit) del file originale (⪚ può avere un hash SHA-1 differente, &etc;). + + + + + + + F5 File Ricarica + + + Ricarica il documento aperto attualmente. + + + + + + &Ctrl;P File Stampa... + + + Stampa il documento attualmente visualizzato. Bisogna considerare che &okular; mette a disposizione alcune opzioni specifiche per la stampa di &PDF; che sono disponibili tramite il pulsante Opzioni +> +>, e quindi selezionando Opzioni &PDF;. Usa queste opzioni per stampare le tue annotazioni o configurare la modalità di trasformazione se hai dei problemi nella stampa di alcuni simboli o devi cambiare la modalità di scalatura. + + Le opzioni relative alla modalità di scalatura sono disponibili solo quando viene selezionata l'opzione Forza trasformazione. + + + + + + + File Anteprima di stampa... + + + Visualizza un'anteprima di come verrà stampato il documento con le opzioni di stampa di default. + + + + + + &Alt;Invio File Proprietà + + + Mostra alcune informazioni basilari sul documento, come il titolo, l'autore, la data di creazione, e dettagli sul tipo di carattere utilizzato. Le informazioni disponibili dipendono dal tipo del documento. + + Fai attenzione sulle informazioni sulla sostituzione dei caratteri nella scheda Caratteri nella finestra Proprietà. Vari problemi legati alla resa dei caratteri possono esseri risolti installando dei caratteri sostitutivi. + + + + + + File Allegati... + + + Mostra gli allegati nel documento, se presenti. Per maggiori informazioni, consulta la sezione sugli allegati. + + + + + + File Esporta come + + + Questa voce di menu mostra i formati verso cui è possibile esportare il documento corrente. La prima voce per qualsiasi tipo di documento è sempre Testo semplice.... + La seconda voce è Archivio di documento, che ti consente di salvare il documento con le annotazioni in un tipo di archivio specifico di &okular; In questo modo diventa semplice condividere con altri utenti di &okular;, e lavorare in collaborazione con loro, il documento originale e le tue annotazioni. + + + + + + File Condividi + + + Questa voce di menu contiene i servizi che possono essere usati per condividere il documento attuale con altre persone per inviarlo a dei dispositivi. Le voci in questo sotto-menu sono controllate dal sistema. Dipendono dal formato del documento attuale e dalle estensioni di KPurpose. + + + + + + &Ctrl;Q File Esci + + + Esce da &okular;. + + + + + + + Il menu Modifica + + + + + &Ctrl;Z Modifica Annulla + + + Annulla l'ultimo comando di modifica delle annotazioni (creazione e rimozione di annotazioni, modifica di proprietà arbitrarie di annotazioni, spostamento di annotazioni usando &Ctrl;+trascinamento, e modifica del contenuto del testo di un'annotazione). + + + + + + &Ctrl;&Shift;Z Modifica Rifai + + + Riesegue l'ultima annullamento durante la modifica delle annotazioni. + + + + + + + + &Ctrl;C Modifica Copia + + + Copia negli appunti il testo selezionato in modalità Selezione testo. + + + + + + + + &Ctrl;A Modifica Seleziona tutto + + + Seleziona tutto il testo (se presente nel documento). Funziona solo in modalità Selezione testo. + + + + + + + + Modifica Seleziona tutto il testo della pagina corrente + + + Seleziona tutto il testo (se presente nel documento) della pagina corrente. + + + + + + + + &Ctrl;F Modifica Trova... + + + Mostra una finestra di dialogo nella parte bassa dell'area di visualizzazione che ti permette di cercare del testo nel documento. + + + + + + F3 Modifica Cerca successivo + + + Cerca lo stesso testo cercato in precedenza nel documento. + + + + + + &Shift;F3 Modifica Trova precedente + + + Passa all'occorrenza precedente del testo cercato nel documento. + + + + + + + Il menu Visualizza + + + + &Ctrl;&Shift;P Visualizza Presentazione + + + Attiva la modalità di presentazione. Per maggiori informazioni, consulta la sezione sulla modalità presentazione. + + + + + &Ctrl;&Shift;F Visualizza Modalità a tutto schermo + + + Abilita la modalità schermo intero. Tale modalità è diversa dalla modalità presentazione, in quanto la peculiarità del modo schermo intero è che nasconde il bordo della finestra, il menu e la barra degli strumenti. + + + + + &Ctrl;+ Visualizza Zoom avanti + + + Aumenta l'ingrandimento del documento. + + + + + + &Ctrl;- Visualizza Zoom indietro + + + Diminuisce l'ingrandimento del documento. + + + + + Visualizza Ingrandisci al 100% + + + Ingrandisce la dimensione dell'immagine all'immagine reale come specificato nei parametri del documento. + + + + + Visualizza Larghezza pagina + + + Cambia l'ingrandimento del documento così da permettere alle pagine di riempire la dimensione orizzontale dello schermo. + + + + + Visualizza Pagina intera + + + Cambia l'ingrandimento del documento così da visualizzare completamente ciascuna pagina nello spazio disponibile. + + + + + Visualizza Adattamento automatico + + + Cambia l'ingrandimento della vista del documento in modo che, in base alla relazione tra le dimensioni della pagina e dell'area di visualizzazione, la larghezza della pagina sia uguale alla larghezza della vista del documento (adatta alla larghezza), oppure l'altezza della pagina sia uguale all'altezza della vista del documento (adatta all'altezza) oppure l'intera pagina sia visible (adatta alla pagina). + + + + + Visualizza Modalità di visualizzazione + + + Questo sottomenu ti consente di scegliere la modalità di visualizzazione per le pagine. Le possibili scelte sono: Pagina singola (una sola pagina per riga), Pagine affiancate (due pagine per riga, come in un libro), Pagine affiancate (centra la prima pagina) e Panoramica (il numero delle colonne è quello specificato nelle impostazioni di &okular;). + Inoltre puoi abilitare la modalità continua. Nella modalità continua vengono mostrate tutte le pagine del documento, e puoi scorrere in modo fluido tra di loro. Quando non è attiva viene mostrata solo una pagina (o una riga di pagine) alla volta. + + + + + Visualizza Orientazione + + + Questo sottomenu ti consente di cambiare l'orientazione delle pagine del documento. + + La rotazione è applicata all'orientazione di ogni pagina. + + Puoi selezionare Orientazione iniziale per ripristinare l'orientazione del documento, annullando tutte le rotazioni applicate manualmente. + + + + + Visualizza Ritaglia vista + + + Questo sottomenu permette di rimuovere i bordi bianchi dalle pagine durante la visualizzazione (voce Ritaglia margini) o ritagliare alla selezione l'area visualizzata (voce Ritaglia alla selezione). + La modalità ritaglia alla selezione ti permette di tracciare la selezione nella pagina per definire il riquadro visibile da applicare a tutte le pagine del documento. Selezionando un riquadro di ritaglio piccolo viene comunque forzata una dimensione minima (20% della dimensione totale della pagina). + La modalità ritaglia margini persiste al riavvio di &okular;. La modalità ritaglio alla selezione si annulla al riavvio di &okular;. + Quando cambi, in &okular;, dalla modalità ritaglia margini a ritaglia alla selezione, la vista esce dalla modalità ritaglia margini per la selezione interattiva del riquadro. + La modalità di ritaglio può essere disattivata selezionando nuovamente la stessa voce di menu che l'attiva. + + + + + Visualizza Mostra moduli + + + Mostra o nascondi i moduli del documento. + + Questo menu è attivo solo se il documento corrente contiene dei moduli. + + + + + + + + + Il menu Vai + + + + Vai Pagina precedente + + + Vedi la pagina precedente del documento. + + + + + Vai Pagina successiva + + + Vai all'ultima pagina del documento. + + + + + &Ctrl;&Home; Vai Inizio del documento + + + Vai all'inizio del documento. + + + + + &Ctrl;&End; Vai Fine del documento + + + Vai alla fine del documento. + + + + + &Alt;&Shift;&Left; Vai Indietro + + + Vai indietro alla vista precedente del documento. + + + + + &Alt;&Shift;&Right; Vai Avanti + + + Vai avanti alla vista successiva del documento. Funziona solo se ti sei già spostato all'indietro. + + + + + &Ctrl;G Vai Va alla pagina... + + + Apre una finestra di dialogo che ti fa andare su di una qualunque pagina a tua scelta del documento. + + + + + + + Il menu Segnalibri + + + + &Ctrl;B Segnalibri Aggiungi/Rimuovi segnalibro + + + Aggiungi o rimuovi un segnalibri per la posizione corrente. + + + + + Segnalibri Rinomina segnalibro + + + Rinomina un segnalibro per la posizione corrente. + + + + + Segnalibri Segnalibro precedente + + + Vai al segnalibro precedente, o non eseguire alcuna azione se non ci sono segnalibri precedenti a quello corrente. + + + + + Segnalibri Segnalibro successivo + + + Vai al segnalibro successivo, o non eseguire alcuna azione se non ci sono segnalibri successivi a quello corrente. + + + + + Segnalibri Nessun segnalibro + + + Si tratta di un'azione sempre disabilitata che appare in questo menu solo se non ci sono segnalibri per il documento corrente. In caso contrario qui viene mostrata la lista dei segnalibri. Facendo clic su ciascuno di questi segnalibri puoi spostarti direttamente alla posizione associata. + + + + + + + Il menu Strumenti + + + + &Ctrl;1 Strumenti Navigazione + + + Il mouse avrà il suo comportamento normale, &LMB; per scorrere il documento ed attivare i link e &RMB; per aggiungere i segnalibri e adattare alla dimensione della pagina. + + + + + &Ctrl;2 Strumenti Zoom + + + Il mouse servirà da strumento per lo zoom. Facendo clic con &LMB; e trascinando si attiverà lo zoom sull'area selezionata, con &RMB; invece sarà possibile riportare il documento al precedente livello di ingrandimento. + + + + + &Ctrl;3 Strumenti Selezione area + + + Il mouse servirà come strumento per la selezione di una regione rettangolare. In questa modalità, facendo clic con il &LMB; e trascinando verrà disegnato un rettangolo di selezione e si potrà copiare il contenuto selezionato negli appunti, pronunciarlo tramite sintesi vocale, o trasformare la regione selezionata in un'immagine e salvarla in un file. + + + + + &Ctrl;4 Strumenti Selezione testo + + + Il mouse servirà da strumento per la selezione del testo. Facendo clic con &LMB; e trascinando si potrà selezionare la porzione di documento dal quale selezionare il testo. Quindi, basta fare clic con il &RMB; per scegliere: il testo selezionato può essere copiato negli appunti oppure può anche essere pronunciato. + + + + + &Ctrl;5 Strumenti Selezione tabella + + + Disegna un rettangolo attorno al testo per la tabella, quindi fai clic con il &LMB; per dividere il blocco di testo in righe e colonne. Un clic con il &LMB; su una linea esistente la rimuove e unisce le righe o colonne adiacenti. Infine fai clic con il &RMB; per copiare la tabella negli appunti. + + + + + &Ctrl;6 Strumenti Lente d'ingrandimento + + + Attiva la modalità «ingrandimento» per il puntatore del mouse. Premi e tieni premuto il &LMB; per attivare la lente d'ingrandimento, sposta il puntatore per scorrere nel documento. Lo strumento riscala ogni pixel del documento in 10 pixel nella lente d'ingrandimento. + + + + + F6 Strumenti Annotazioni + + + Apri la barra degli strumenti delle annotazioni. La barra degli strumenti delle annotazioni ti consente di aggiungere annotazioni al documento che stai consultando. Per maggiori informazioni, consulta la sezione sulle annotazioni. + + + + + Strumenti Firma digitalmente... + + + Avvia il processo di creazione della firma digitale. Al momento l'aggiunta di firme digitali è supportata solo per file PDF. Per maggiori informazioni, consulta la sezione sull'aggiunta di firme digitali. + + + + + Strumenti Leggi tutto il documento + + + Strumenti Leggi la pagina corrente + + + Strumenti Interrompi lettura + + + Strumenti Metti in pausa/riprendi lettura + + + Queste voci di menu consentono di leggere l'intero documento o la sola pagina corrente, e di fermare la lettura, tramite il sistema di sintesi vocale di sistema. Il servizio è fornito da una libreria &Qt; che astrae da speech-dispatcher su &Linux;, e dal sistema di sintesi vocale nativo su altre piattaforme. È possibile scegliere la voce attuale tramite la pagina di configurazione Accessibilità di &okular;. + Le azioni Leggi... sono abilitate solo se un servizio di sintesi vocale è disponibile nel sistema. + + + + + + + I menu Impostazioni ed Aiuto + Oltre ai menu comuni di &kde; Impostazioni e Aiuto descritti nel capitolo Menu della documentazione Fondamentali di &kde;, &okular; contiene anche le seguenti voci di menu specifiche per il programma: + + + + F7 Impostazioni Mostra la barra laterale + + + Mostra o nasconde la barra laterale. + + + + + Impostazioni Mostra la barra delle pagine + + + Attiva o disattiva la barra delle pagine sul fondo dell'area del documento per risparmiare spazio verticale nella finestra di &okular;. Nota come i numeri di pagina verranno mostrati comunque nella barra degli strumenti predefinita. + + + + + Impostazioni Configura backend.. + + + Apre la finestra di configurazione backend. + + + + + + + + Configurazione dei backend di &okular; + Puoi configurare i backend di &okular; scegliendo Impostazioni Configura backend... . Attualmente sono disponibili delle opzioni di configurazione solo per i backend EPub, &PostScript;, FictionBook, Txt (testo), OpenDocument Text e &PDF;. + + La finestra di configurazione dei backend + + + + + + La finestra di configurazione dei backend + + + + Usando le pagine di configurazione dei backend per EPub, FictionBook, Mobipocket, Markdown, TXT e OpenDocument Text puoi definire il tipo di carattere per visualizzare il documento nel formato corrispondente. Il pulsante Scegli... in queste pagine apre la finestra standard di configurazione dei caratteri di &kde;. Fai riferimento al documento dei Fondamentali di &kde; per maggiori dettagli. + La descrizione delle pagine di configurazione dei backend Markdown, &PostScript; e &PDF; può essere consultata di seguito. + + Configurazione del backend Markdown + Puoi configurare il backend Markdown di visualizzazione per &okular; basato su Discount scegliendo Markdown dell'elenco nella parte sinistra della finestra di dialogo di configurazione. Un'ulteriore opzione configurabile è descritta di seguito. + + + + + Abilita la formattazione SmartyPants + + + Quando è selezionata, questa opzione permette ad &okular; di elaborare la formattazione SmartyPants. Tale formattazione può causare problemi nei testi tecnici per delle sostituzioni non volute (⪚ sostituisce (C) con un simbolo di copyright). Questa opzione è abilitata come impostazione predefinita. + + + + + + + Configurazione del backend &PostScript; + Puoi configurare il backend &PostScript; di visualizzazione per &okular; basato su Ghostscript scegliendo Ghostscript dell'elenco nella parte sinistra della finestra di dialogo di configurazione. L'unica opzione configurabile è descritta di seguito. + + + + + Usa i caratteri della piattaforma + + + Questa opzione determina se Ghostscript è autorizzato a usare i caratteri della piattaforma; se non marcata è permesso l'uso dei soli caratteri inseriti nel documento. L'opzione è attiva in modo predefinito. + + + + + + + Configurazione del backend &PDF; + Puoi configurare il backend &PDF; di visualizzazione per &okular; basato su Poppler scegliendo &PDF; dell'elenco nella parte sinistra della finestra di dialogo di configurazione. L'unica opzione configurabile è descritta di seguito. + + + + + Ottimizza linee sottili + + + Il disegno delle linee in &okular; è implementato in due passi: la generazione del tracciato di ritaglio ed il suo riempimento. Quando la linea nel documento originale è più stretta di un pixel l'esecuzione di questi due passi può causare dei problemi. Per queste linee il tracciato di ritaglio è riempito con un colore di riempimento legato allo spessore della parte della linea all'interno dell'area di ritaglio. Se la parte della linea dentro l'area di ritaglio diventa molto piccola, il contrasto tra la figura e il colore di sfondo può diventare troppo basso perché la linea sia riconoscibile. Le griglie di queste linee assumono quindi un aspetto poco gradevole. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Linea sottile (rossa), il relativo tracciato di ritaglio (linea tratteggiata) e i confini dei pixel (linee piene nere) + Linea sottile mostrata a basso contrasto + + + + + Per migliorare l'aspetto delle linee sottili &okular; implementa due opzioni. + La prima opzione è Pieno. Con questa opzione &okular; aggiusta il tracciato di ritaglio e la posizione della linea in modo tale che il tracciato di ritaglio e la linea condividano il confine dei pixel, &ie; &okular; ingrandisce la linea sottile ad un pixel sul dispositivo di output. Questo modo è simile alla modalità Ottimizza linee sottili in Adobe Reader. Se questa opzione viene selezionata, le linee sottili sono sempre allargate. + + + + + + + + Linea sottile con ottimizzazione Pieno + + + Linea sottile con ottimizzazione Pieno + + + + + La seconda opzione è Figura. Con questa opzione il tracciato di ritaglio e la linea sono ugualmente aggiustati al confine del pixel, ma l'intensità della linea è corretta in base alla sua larghezza. + + + + + + + + Linea sottile con ottimizzazione Figura + + + Linea sottile con ottimizzazione Figura + + + + + L'impostazione predefinita è non migliorare le linee sottili (opzione No). + + + + + + &PDF; Certificati per le firme digitali dei &PDF; + + Questa sezione ti permette di impostare un archivio di certificati personalizzato da usare per aggiungere delle firme digitali a file &PDF;. + Elenca inoltre i certificati disponibili nell'archivio di certificati attuale (se presente). + + + + + Configurazione di &okular; + + Configurazione generale + Puoi configurare &okular; scegliendo Impostazioni Configura &okular;.... La finestra di configurazione è divisa in sei sezioni. Questo capitolo descrive in dettaglio le opzioni disponibili. + + + Generale + + + Accessibilità + + + Prestazioni + + + Presentazione + + + Annotazioni + + + Editor + + + + La finestra di configurazione + + + + + + La finestra di configurazione + + + + In base ai backend installati, la voce di menu Impostazioni Configura backend... potrebbe essere abilitata o meno. Questa particolare finestra mantiene le impostazioni dei backend che possono essere configurati. + + + Generale + + + Usa scorrimento fluido + + Mostra o nasconde le transizioni animate allo scorrimento con la rotellina del mouse e la tastiera. + + + + Mostra barre di scorrimento + + Mostra o nasconde le barre di scorrimento della pagina per la vista del documento. + + + + Collega le miniature con la pagina + + Collega o meno lo scorrimento della lista delle miniature con la pagina corrente. + + + + Mostra messaggi di avviso ed informazione + + Mostra o nasconde i messaggi informativi all'avvio, al caricamento di un file, &etc; + + + + Notifica in caso di allegati, moduli o firme + + Se mostrare i pannelli informativi su allegati, moduli e firme + + + + Mostra il titolo del documento, se disponibile, nella barra del titolo + + Mostra o meno il titolo del documento aperto nella barra del titolo della finestra di &okular;. Se il documento non contiene i metadati relativi al titolo o questo elemento non è attivato in &okular;, mostra il nome del file del documento. + + + + Quando non viene mostrato il titolo del documento + + Puoi scegliere una delle due opzioni, Mostra solo il nome del file o Mostra il percorso completo del file. + + + + Usa un colore di sfondo personalizzato + + Abilita la scelta del colore di sfondo del documento (il colore attorno alla pagina visualizzata). Il valore predefinito usato quando questa opzione è deselezionata è quello delle librerie &Qt;. + + + + Apri i nuovi file nelle schede + + Se aprire nuovi documenti in schede. Come valore predefinito, le schede sono disabilitate. + Le scorciatoie predefinite per passare tra le schede sono &Ctrl;. (Scheda successiva) e &Ctrl;, (Scheda precedente). + + + + Passa alla scheda esistente se il file è già aperto + + Controlla se &okular; debba passare alla scheda esistente quando un file è già aperto invece di creare una nuova scheda. Questa opzione è abilitata come scelta predefinita. Può essere modificata solo se Apri i nuovi file nelle schede è abilitata. + + + + Rispetta le limitazioni DRM + + Fai in modo che &okular; obbedisca o meno alle restrizioni imposte dai DRM (Digital Rights Management, Gestione dei Diritti Digitali). Le limitazioni dei DRM sono usate per rendere impossibile effettuare alcune operazioni con i documenti &PDF;, come per esempio copiare del contenuto negli appunti. Nota che in alcune configurazione di &okular;, questa opzione potrebbe non essere disponibile. + + + + Ricarica il documento se il file viene modificato + + Se il file aperto deve essere sorvegliato per rilevare modifiche e aggiornamenti, se necessario. + + + + Mostra la finestra per la scelta del backend + + Se &okular; deve chiedere all'utente quale backend usare nel caso in cui più di un backend è in grado di aprire il file corrente. Se non marcata, &okular; userà il backend con la priorità più alta. + + + + Direzione di lettura da destra a sinistra + + Se impostare in modo predefinito la direzione di lettura da destra a sinistra quando viene aperto un file. Può essere utile per alcuni sistemi di scrittura. + + + + Apri in modalità continua per impostazione predefinita + + Se usare la modalità continua per impostazione predefinita. Nella modalità continua vengono mostrate tutte le pagine del documento, e puoi scorrere in modo fluido tra di loro. Quando non è attiva viene mostrata solo una pagina (o una riga di pagine) alla volta. + + + + Quando utilizzi lo strumento Sfoglia, riporta il cursore ai bordi dello schermo + + Consente lo scorrimento senza fine dell'intero documento con lo strumento Sfoglia. Se abilitata, il cursore del mouse si sposta all'estremità opposta dello schermo quando tocca i bordi durante il trascinamento del documento. Questa funzione è supportata solo su X11. + + + + Colonne in modalità panoramica + + Questa opzione rappresenta il numero di colonne da usare in modalità panoramica. + + + + Sovrapposizione PaginaSu/PaginaGiù + + Da qui puoi definire la percentuale dell'area di visualizzazione attuale che deve essere ancora visibile dopo la pressione dei tasti &PgUp;/&PgDn;. + + + + Ingrandimento predefinito + + Questa opzione specifica la modalità di ingrandimento predefinita per i file che non sono mai stati aperti in precedenza. Per i file che sono stati già aperti in passato viene usata la modalità di ingrandimento precedentemente usata. + + + + + + Accessibilità + + + Disegna il bordo attorno ai collegamenti + + Contorna o meno i collegamenti con un bordo colorato. + + + + Cambia i colori + + Abilita le opzioni di cambiamento del colore. + + + + Modalità di colore + + Definisce la modalità di cambiamento del colore. + + + Inverti i colori + + Inverte i colori delle pagine. &ie; il nero sarà visualizzato bianco. + + + + Cambia il colore della carta + + Cambia il colore della carta, &ie; il colore di sfondo del documento. + Il colore può essere selezionato usando il campione di colore Colore della carta in basso. + + + + Cambia i colori chiari e scuri + + Cambia i colori chiari e scuri. Questo significa che il nero non verrà visualizzato come nero ma sarà sostituito dal colore che tu imposti come colore scuro ed il bianco dal colore che imposti come colore chiaro. Le tonalità intermedie assumeranno un valore intermedio tra il colore chiaro e quello scuro. + + + + Converti in bianco e nero + + Converte il documento in bianco e nero. Puoi impostare la soglia e il contrasto. Se si imposta la soglia ad un valore più alto spostandola sulla destra, verranno usati dei toni di grigio più chiari. + + + + Inverte chiarezza + + Inverte la chiarezza di tutti i colori. I colori chiari e scuri saranno scambiati, ma tonalità e saturazione non saranno toccate. Il contrasto delle immagini sarà normalmente peggiore di quanto non sia con l'uso di Inverte luma (sRGB lineare). + + + + Inverte luma (sRGB lineare) + + Inverte il luma di tutti i colori. Chiari e scuri saranno scambiati, ma tonalità e saturazione non saranno toccate. Il contrasto delle immagini si preserva meglio rispetto all'uso di Inverte chiarezza, ma grafica e segni di marcatura di testo variopinti normalmente hanno un aspetto peggiore. Usa i coefficienti luma sRGB, ma senza correzione del gamma. + + + + Inverte luma (simmetrico) + + Inverte il luma di tutti i colori, usando coefficienti simmetrici luma. Chiari e scuri saranno scambiati, ma tonalità e saturazione non saranno toccate. Molto simile a Inverte chiarezza, ma il contrasto è migliore in alcuni casi. + + + + Sposta tonalità positivamente + + Sposta la tonalità di tutti colori di 120 gradi. Può mitigare alcuni problemi di contrasto con grafica variopinta. + + + + Sposta tonalità negativamente + + Sposta la tonalità di tutti colori di 240 gradi. Può mitigare alcuni problemi di contrasto con grafica variopinta. + + + + Puoi configurare le scorciatoie di tastiera e le azioni delle barre degli strumenti per le modalità dei colori usando le voci di menu corrispondenti nel menu Impostazioni della finestra principale di &okular;. + + + + Motore di sintesi vocale + + Permette di scegliere il motore di sintesi vocale (text-to-speech, TTS) che &okular; usa. Il valore predefinito è speechd TTS. + + + + Motore di sintesi vocale + + Permette di scegliere una voce per il motore di sintesi vocale (text-to-speech) che &okular; usa. Puoi usare tutte le lingue e le voci in base ai sintetizzatori disponibili per la tua piattaforma. Su &Linux; speech-dispatcher viene usato in modo predefinito per trovare le voci disponibili. + + + + + + Prestazioni + + + Abilita trasparenze + + Visualizza le selezioni ed altri elementi grafici usando le trasparenze. Disabilitare l'opzione per una visualizzazione opaca o del solo contorno della selezione ed aumentare la velocità di selezione. + + + + Utilizzo della memoria + + &okular; può ottimizzare le prestazioni, tramite la regolazione dell'utilizzo di memoria, basata sul tuo computer e le tue preferenze. Più memoria gli permetterai di usare, più veloce sarà il comportamento del programma. Il profilo predefinito è perfetto per tutti i computer, ma è possibile fare in modo che &okular; usi solo la memoria indispensabile selezionando il profilo Minimo, o ottenere di più dal proprio computer con il profilo Aggressivo. Usa il profilo Ingordo per precaricare tutte le pagine senza rischio di riempire tutte la memoria del sistema (sarà usato solo il 50% della memoria totale o della memoria libera). + + + + Opzioni di resa + + Tramite questo gruppo di opzioni puoi migliorare la resa del testo e delle immagini in &okular;. Il risultato dipende dal dispositivo usato per mostrare il documento. Le voci Abilita antialias del testo e Abilita antialias della grafica possono essere usate per attivare e disattivare l'antialiasing rispettivamente di testo e immagini nel documento. La voce Abilita antialias del testo è fatto per cambiare l'hinting del testo. L'antialias e l'hinting cambiano il modo in cui il documento viene mostrato, puoi modificarle secondo le tue preferenze. + + + + + + Presentazione + + + Avanza ogni + + Abilita l'avanzamento automatico delle pagine dopo un certo tempo. + + + + Torna all'inizio dopo l'ultima pagina + + Nella modalità presentazione dopo l'ultima pagina riparte dalla pagina iniziale. + + + + Navigazione tattile + + Ti permette di regolare la navigazione tattile tramite tocchi nella presentazione usando i seguenti tre possibili valori: + + + Tocco sul lato sinistro/destro per andare indietro/avanti: un tocco sulla metà sinistra (destra) dello schermo passa alla slide precedente (successiva) della presentazione. + + + Tocco in un qualsiasi punto per andare avanti (predefinito): un tocco sullo schermo passa alla slide successiva della presentazione, indipendentemente dalla posizione del tocco sullo schermo. + + + Disabilitato: un tocco sullo schermo non provoca nessun effetto. + + + + + + Colore di sfondo + + Imposta il colore che riempirà lo spazio lasciato vuoto dalle pagine. + + + + Puntatore del mouse + + Imposta se il puntatore dovrà essere sempre visibile, sempre invisibile oppure visibile ma nascosto dopo qualche secondo di inattività. + + + + Mostra l'indicatore di avanzamento + + Mostra o nasconde un indicatore circolare nell'angolo in alto a destra dello schermo della presentazione che visualizza il numero della pagina corrente ed il totale delle pagine ogni volta che cambi pagina. + + + + Mostra la pagina di riepilogo + + Mostra o nasconde una pagina che riepiloga le informazioni sulla presentazione che sta per iniziare. Le informazioni comprendono il titolo del documento, l'autore ed il numero di pagine del documento. + + + + Abilita transizioni + + Usa questa casella per abilitare o disabilitare gli effetti di transizione tra le pagine. + + + + Transizione predefinita + + Imposta l'effetto di transizione tra una pagina e la successiva se non definito nel documento. Imposta questo valore a Transizione casuale per fare sì che &okular; scelga a caso uno tra gli effetti disponibili. + + + + Posizionamento + + In questa sezione puoi selezionare lo Schermo da utilizzare per mostrare la presentazione. + Schermo corrente avvia la modalità presentazione nello stesso schermo in cui è presente la finestra di &okular;. + Schermo predefinito è lo schermo marcato come predefinito nella configurazione di xinerama. + Schermo 0, Schermo 1 &etc; sono gli schermi disponibili. + + + + Configurazione dello strumento di disegno + + Gestisce i colori della matita usata quando si disegna sulle pagine in modalità presentazione. + + + + + + Annotazioni + + La pagina Annotazioni della finestra di configurazione + + + + + + La pagina Annotazioni della finestra di configurazione + + + + + + Barra degli strumenti per le annotazioni + + Permette di passare tra Barra degli strumenti per le annotazioni complete (barra degli strumenti predefinita nella parte superiore della finestra di &okular;) e Barra degli strumenti per le annotazioni veloci (barra degli strumenti a scorrimento con i tuoi strumenti preferiti nella parte destra del pannello dei documenti). + + + + Autore + + L'autore dei contenuti aggiunti al documento. Il valore predefinito è il nome dalla pagina Password e account utente del modulo delle &systemsettings; Dettagli dell'account. + + + + Strumenti per le annotazioni + + Questo pannello è usato per configurare la tua barra degli strumenti di annotazione. + Ci sono cinque pulsanti (Aggiungi, Modifica, Rimuovi, Sposta in alto, Sposta in basso) ed una lista (che elenca i contenuti dell'attuale barra degli strumenti delle annotazioni) che sono usati per configurare la barra degli strumenti. + Se devi aggiungere alcuni pulsanti di strumenti nella barra degli strumenti, fai clic sul pulsante Aggiungi. Puoi scegliere il nome, il tipo e l'aspetto dello strumento appena creato. + + Ricordati che gli strumenti di annotazione in &okular; sono molto configurabili. Ad esempio, puoi avere due pulsanti con lo stesso strumento ma con colori diversi. Non esitare a sperimentare per scegliere un insieme di pulsanti che si adatta perfettamente al tuo modo di lavorare. + + Fai clic su alcuni elementi nell'elenco, quindi fai clic sul corrispondente pulsante nella parte destra della pagina per modificare, rimuovere, spostare in alto o in basso l'elemento. La scorciatoia di tastiera dello strumento (un tasto tra 1 e 9) dipende dalla posizione nell'elenco della barra di strumenti delle annotazioni. + + + + Usa timbri personalizzati + + + Crea l'icona che vuoi usare per i tuoi timbri e salvarla in uno dei formati grafici supportati da &okular; + Fai clic sul pulsante Aggiungi, seleziona il tipo Timbro ed inserisci un nome per il timbro. + Inserisci il percorso completo per l'icona personalizzata nella lista a cascata nel gruppo Disegno del timbro + + + + + + + Editor + + + Editor + + Scegli l'editor da eseguire quando &okular; cerca di aprire un file sorgente.Questo si verifica quando il documento contiene riferimenti a vari punti (solitamente numeri di riga e di colonna) del sorgente da cui è stato generato. Il formato &DVI; supporta in modo nativo la presenza di informazioni sui sorgenti del documento &latex; da cui è stato generato. Un sistema analogo esiste anche per i documenti &PDF;: si tratta di pdfsync, che memorizza queste ulteriori informazioni in un file esterno con un nome legato a quello del file &PDF; corrispondente (ad esempio miodocumento.pdfsync per miodocumento.pdf). + &okular; contiene impostazioni preconfigurate per i seguenti editor: &kate;, Kile, SciTE, client &Emacs;, LyX, TeXstudio e TeXiFy IDEA. + + Per usare la ricerca inversa in &kile; devi compilare il file &latex; usando la configurazione Moderna. + + + + + Comando + + Questo è il comando, con i relativi parametri, per invocare l'editor scelto con il file sorgente del documento corrente. + Questo campo sarà riempito automaticamente se usi uno degli editor preconfigurati. Altrimenti, scegli Editor di testo personalizzato nell'elenco a comparsa Editor e fai riferimento alla documentazione del tuo editor preferito per trovare il comando appropriato. + Puoi usare i seguenti segnaposti: + + + %f - il nome del file + + + %l - la riga da raggiungere nel file + + + %c - la colonna da raggiungere nel file + + + Se %f non è specificato, il nome del documento verrà aggiunto al comando specificato. + + + + + + + Riconoscimenti e licenza + + + Copyright del programma: + &Albert.Astals.Cid; &Albert.Astals.Cid.mail; Responsabile attuale + Pino Toscano pino@kde.org + Enrico Ros eros.kde@email.it Sviluppatore di &kpdf; + + + + Copyright della documentazione: + &Albert.Astals.Cid; &Albert.Astals.Cid.mail; Autore + Titus Laska titus.laska@gmx.de Alcuni aggiornamenti ed aggiunte + Pino Toscano pino@kde.org + + Enrico Ros eros.kde@email.it (Traduzione della documentazione per &kpdf;)Riccardo Iaconelli ruphy@fsfe.org (Seconda traduzione della documentazione per &kpdf;)Nicola Ruggero nicola@nxnt.org(Revisione della documentazione per &kpdf;)Luigi Toscano luigi.toscano@tiscali.it(Transizione &kpdf;->&okular;, manutenzione e revisione documentazione di &okular;) &underFDL; &underGPL; + + &documentation.index; + + + + diff --git a/po/it/docs/okular/mainwindow.png b/po/it/docs/okular/mainwindow.png new file mode 100644 index 0000000000000000000000000000000000000000..1d6bb893319043e7ffb37e3d05b5dc3c6b6e75b3 GIT binary patch literal 32021 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 + +]> + + + + +Manuale utente di Okular +YuriChornoivan Pagina di manuale di Okular. yurchor@ukr.net +2022-02-19 +Okular 22.04 +KDE Gear + + + +okular +1 + + + +okular +un visualizzatore universale di documenti + + + +okular opzioni di Okular URL + + + +Descrizione +okular ha lo scopo di mostrare documenti in vari formati. + + + +Opzioni di Okular + + + + + +Apre una pagina del documento con un numero specificato. + + + + + + +Apre il documento in modalità presentazione + + + + + + +Avvia mostrando la finestra di stampa. + + + + + + +Avvia mostrando la finestra di stampa e termina dopo la stampa. + + + + + + +Controllo "istanza unica". + + + + + + +Permette di evitare che la finestra di Okular si rialzi dopo l'avvio. + + + + + + +Cerca di trovare ed evidenziare una stringa nel documento. Funziona solo viene passato un singolo documento come argomento del comando okular. + + + + + + +Imposta il comando dell'editor esterno. Non puoi impostare il comando dell'editor in un'istanza di Okular già in esecuzione. Nota come l'opzione non è supportata quando si imposta il comando dell'editor tramite riga di comando. + + + + + +Argomenti + + + + +L'indirizzo del documento da aprire. Nel caso di documenti PDF, il nome può essere specificato come nome_documento#nome_destinazione, dove nome_destinazione è l'identificativo di una destinazione presente nel documento. + + + + + +Segnalazioni +Su IRC, irc.libera.chat #okular o tramite posta elettronica, okular-devel@kde.org o sul web, <https://okular.kde.org/>. + + + +Vedi anche + +Documentazione utente più dettagliata è disponibile da help:/okular (inserisci questo come URL in &konqueror;, o esegui khelpcenter help:/okular). +kf6options(7) +qt6options(7) +Ulteriori informazioni sono disponibili presso https://okular.kde.org/ + + + +Copyright +Copyright © 2002 Wilco Greven, Christophe Devriese +Copyright © 2004-2005 Enrico Ros +Copyright © 2005 Piotr Szymanski +Copyright © 2004-2012 Albert Astals Cid +Copyright © 2006-2009 Pino Toscano +Licenza: GNU General Public Version 2 <https://www.gnu.org/licenses/gpl-2.0.html> + + + diff --git a/po/it/docs/okular/presentation.png b/po/it/docs/okular/presentation.png new file mode 100644 index 0000000000000000000000000000000000000000..ddac89d04c57cf802b94e493f7d80ef858d0f8b3 GIT binary patch literal 13420 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 literal 0 HcmV?d00001 diff --git a/po/it/docs/okular/signatures-bar.png b/po/it/docs/okular/signatures-bar.png new file mode 100644 index 0000000000000000000000000000000000000000..78b23e6fcf3e55c8c265f3dfdce42372edfb9033 GIT binary patch literal 2922 zcmV-w3zhVVP)b>6X$I!$;RCPT*LvUJC$IP{TR6$8OaLdG$%iOM9HerX(@0#H6N;!DU$Cu0D z)`M6(W2fshJ3~4+Jvco=I&-r>e7$nF?{r8=%i+hU;qN|3i8Dur$E9_ATSADcm^odN zc1S*YNMMz=scckEyW8vR?Bk$jJ#DV*f4}X4Nl5JN$L;OMgGoq%!SC(v$?4|i?C+9H}Z0zjA?B%j$IANRF?&Iz5F=nR2;qS@e?qsFpf=NAqQ%pE%r8jM?iC;cXmD9D~ z@66!7%iy_ZJ5+kW@1M1vkYql+ww6>(NN}am-)?&A-{9VFdfG%&=C-unX>{97TT744 zKuLnjwS_)DXSSnzJW645p~hrCPUg+2+3M|3g}sSxTb|6yKVp}ET0c5MV{)_Pz2fal zi^#EjN9*kBv4K&+mt@bFU@>p7vyERiR+P}{?y~IdP&sz$%afdNPV48*>%D~R(U+I~E(&@|J-o@bUi_7QB-tCvf<;23I%i`_A&&#dh?&{2- zTtH84oyj{!U{yG3MLcvlKu$+PMAhl-Yn8V=M_OW_&O|#)b-M3%MN2g~OF}+CyM<3h zgvFkEPs`!xm}x+yVM2duS&m*kQ8;j^RCwC$-3xG3zZqq1e^}xoGm07VF3s)Bv@7@p^(z%oMzbse?9=kO$<7%@Z!KAqo#AN--Me*dY;JC7PE|%V&WLS@cw33uCtp4J{Hv`tLH`4Q zzMq_fY9RF*@hw-LEWdoQE6uU7<&%MAjEbV9L?yV-wvP!~*T6g@Uzq?66Sp8^@FJdf zL`?%Gi)BXfA@@XD7|G8YGb4)t;Qv(%BX>Jxz~0k`iU+;wX$kh`M0+z0z)odUh$9P;={v^sr7D>6~Hz{ExzG37(eV+JrvC+e-94DLCI3+_kz+0B~wrPYwYv za{`LLyJ4|dKEj!>Sy>FbIAVZ}WN(gOU>rHRcG&l!O?9TFQMo13!=CNopDqk$cv^zq zY+{C&m1uoZ4n8lqh|XjF@>K4O0gHkxZ_n=)MgZ;DRZ+0{R9IeOyLIEUhO9_5Q7u=L z7q%V%fOx$!Nb73JT#dU#rbqp9atXTbYP)V`Rr%cUZG zTX2|G{MMUqbfFu0rE|X7wTm)Q$~JoNL0;PD%p(5za4JkEd(SC0=L0C^0wYl-w60RF zqUf#KR3};*sN53iVb9hNU*2&@1UxOl(PT${bq3&dC2C(};wh3}#^Z--7~90~oRR0_H14!~3V59!l37m#;wl1@+(5hz_=;r!o@8TGqd2@6Hqe31i1Wk?{0yM_0a54m5@ucKb&~Zh^MN z#>|?Gr72KoY3-IDsfqj?E^&P)KAY1j-!-MCD7U&oxruF?YK~=ns*l%^2B;&Ojq04b zq~QEm|6?Vf2R3{ROT()(=IRnF4H(SNQw)@sX z4Ry2i>OJGjwc0k9*=(dMP-toG%@HN$c~c3_aeb$7I%W2L5`c26mTtpL?{%&mIyZ9? zYeSksfRTyV2#~x>^-~O8#f7#hbzg-5;C>X1oLA|5r?Tl?Za~pKW&$t>ISKVaaM9`{ zlIDdVNe#8yhIQ*EYg_KuFPc_e3I&|f0$>^u4HMuT*LI-LZ*?0!oQpS39M4aB@x=7T zA@Vs~z#?X zYDn1)nxb!K&yF3sl^cg^X^BW_KFO|eb%z=NL;#dqRdQi)E&-9+5RLO)V1Tu)98v?p z;6V?}2+svTXBminYzP)4UD&<@4)J_?K~IK@jvWCCU8{!NQIhG|B~;TvX9m^;XB6f0o4KA U3^M4DfdBvi07*qoM6N<$f}70HC;$Ke literal 0 HcmV?d00001 diff --git a/po/it/docs/okular/signatures-panel.png b/po/it/docs/okular/signatures-panel.png new file mode 100644 index 0000000000000000000000000000000000000000..4c0b64746f7d75198802b20f2e2896913ec59267 GIT binary patch literal 4824 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 literal 0 HcmV?d00001 diff --git a/po/it/okular.po b/po/it/okular.po new file mode 100644 index 0000000..d554224 --- /dev/null +++ b/po/it/okular.po @@ -0,0 +1,7058 @@ +# translation of okular.po to Italian +# Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. +# Daniele Medri , 2003. +# Federico Cozzi , 2004. +# Enrico Ros , 2005. +# Andrea Rizzi , 2005. +# Nicola Ruggero , 2005, 2006. +# Nicola Ruggero , 2006, 2007. +# SPDX-FileCopyrightText: 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025 Luigi Toscano +# Vincenzo Reale , 2022. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-11-09 23:36+0100\n" +"Last-Translator: Luigi Toscano \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 25.04.0\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Luigi Toscano,Nicola Ruggero,Enrico Ros,Daniele Medri" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "luigi.toscano@tiscali.it,,," + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Okular, visualizzatore universale di documenti" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"© 2002 Wilco Greven, Christophe Devriese\n" +"© 2004-2005 Enrico Ros\n" +"© 2005 Piotr Szymanski\n" +"© 2004-2017 Albert Astals Cid\n" +"© 2006-2009 Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "Responsabile precedente" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "" +"Molto lavoro sull'infrastruttura, backend FictionBook e precedente backend " +"ODT" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "Sviluppatore" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymanski" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "Ha creato Okular dal codice di KPDF" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "Enrico Ros" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "Sviluppatore di KPDF" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "Eugene Trounev" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "Grafica delle annotazioni" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "Jiri Baum - NICTA" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "Strumento selezione tabella" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "Fabio D'Urso" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "Miglioramenti alle annotazioni" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "Vai a pagina %1" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "Apri file esterno" + +#: core/action.cpp:197 +#, kde-format +msgid "Execute '%1'…" +msgstr "Esegui «%1»…" + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "Prima pagina" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "Pagina precedente" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "Pagina successiva" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "Ultima pagina" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "Indietro" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "Avanza" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Esci" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "Inizia presentazione" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "Termina presentazione" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "Trova…" + +#: core/action.cpp:314 +#, kde-format +msgid "Go To Page…" +msgstr "Vai alla pagina…" + +#: core/action.cpp:365 +#, kde-format +msgid "Play sound…" +msgstr "Riproduci suono…" + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "Script JavaScript" + +#: core/action.cpp:483 +#, kde-format +msgid "Play movie…" +msgstr "Riproduci filmato…" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "Riproduci il filmato" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "Ferma il filmato" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "Metti in pausa il filmato" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "Riprendi il filmato" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "Questa versione di Okular è compilata senza supporto audio" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "Selezione backend" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
    %1 (%2).

    Please select which one to use:
    " +msgstr "" +"È stato trovato più di un backend per il tipo MIME:
    %1 (%2)." +"

    Seleziona quello da utilizzare:
    " + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "La maggior parte delle pagine sono %1." + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "Verticale %1" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "Orizzontale %1" + +#: core/document.cpp:246 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 x %2 in (%3)" + +#: core/document.cpp:248 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 x %2 mm (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "La ricerca continua dall'inizio" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "La ricerca continua dalla fine" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "" +"Impossibile trovare un backend in grado di gestire il documento fornito." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "Le firme non sono implementate per questo tipo di documento" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "rimuovi annotazioni" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"Il documento sta cercando di eseguire un'applicazione esterna. Okular lo " +"impedisce per la tua sicurezza." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "Impossibile trovare un programma per aprire un file di tipo %1." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "Impossibile aprire un file temporaneo" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "Conversione della stampa non riuscita" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "Il processo di stampa è andato in crash" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "Impossibile avviare il processo di stampa" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "Stampa su file non riuscita" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "La stampante era in uno stato non valido" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "Impossibile trovare il file da stampare." + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "Non c'è nessun file da stampare" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"Impossibile trovare un eseguibile adatto per la stampa. Assicurati che il " +"programma lpr di CUPS sia disponibile" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "La dimensione di stampa della pagina non è valida" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "Impossibile aprire il file «%1». Il file non esiste" + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Titolo" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Oggetto" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Descrizione" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "Autore" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Creatore" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Produttore" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "Copyright" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "Pagine" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Creato" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Modificato" + +#: core/document.cpp:6032 +#, kde-format +msgid "MIME Type" +msgstr "Tipo MIME" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "Categoria" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Parole chiave" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "Percorso del file" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "Dimensione file" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "Dimensione pagina" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "aggiungi annotazione" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "rimuovi annotazione" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "modifica proprietà dell'annotazione" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "traduci annotazione" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "aggiusta annotazione" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "modifica testo" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "modifica contenuti dell'annotazione" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "modifica contenuti dei moduli" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "modifica scelte dell'elenco di un modulo" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "modifica selezione della casella combinata di un modulo" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "modifica stati dei pulsanti di un modulo" + +#: core/generator.cpp:790 +#, kde-format +msgid "Plain &Text…" +msgstr "&Testo semplice…" + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "OpenDocument Testo" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "Opzioni di stampa" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "Adatta all'area stampabile" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "Adatta alla pagina" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "Modalità di scala:" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "Non mostrare più questo messaggio" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "Non disponibile" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" +"Errore interno di firma. Segnalare il bug con i passaggi per riprodurlo. " +"Codice di errore %1" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "Impossibile firmare il documento: %1" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "Firma annullata dall'utente" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "Impossibile firmare. Frase segreta non valida" + +#: core/signatureutils.cpp:504 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" +"Impossibile scrivere il documento con firma alla posizione %1; assicurarsi di aver selezionato una cartella in cui si ha il " +"permesso di scrittura" + +#: core/signatureutils.cpp:506 +#, kde-format +msgid "Unknown signing error" +msgstr "Errore di firma sconosciuto" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Sorgente: %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "Carattere pre&definito:" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "Versione" + +#: gui/certificatemodel.cpp:41 +#, kde-format +msgid "Serial Number" +msgstr "Numero seriale" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "Emittente" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "Emesso il" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "Scade il" + +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Oggetto" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "Chiave pubblica" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "Utilizzo della chiave" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "V%1" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "%1 (%2 bit)" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "Proprietà" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "Valore" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "Nota a comparsa" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "Macchina da scrivere" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "Nota in linea" + +#: gui/guiutils.cpp:56 +#, kde-format +msgid "Arrow with Comment" +msgstr "Freccia con commento" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "Freccia" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "Linea retta con commento" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "Linea retta" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "Poligono con commento" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "Poligono" + +#: gui/guiutils.cpp:71 +#, kde-format +msgid "Rectangle with Comment" +msgstr "Rettangolo con commento" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "Rettangolo" + +#: gui/guiutils.cpp:74 +#, kde-format +msgid "Ellipse with Comment" +msgstr "Ellisse con commento" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "Ellisse" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "Evidenziazione con commento" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "Evidenziato" + +#: gui/guiutils.cpp:87 +#, kde-format +msgid "Squiggle with Comment" +msgstr "Scarabocchiato con commento" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "Scarabocchiato" + +#: gui/guiutils.cpp:91 +#, kde-format +msgid "Underline with Comment" +msgstr "Sottolineato con commento" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "Sottolineato" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out with Comment" +msgstr "Barrato con commento" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "Barrato" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "Timbro con commento" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "Timbro" + +#: gui/guiutils.cpp:106 +#, kde-format +msgid "Freehand Line with Comment" +msgstr "Linea a mano libera con commento" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "Linea a mano libera" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "Punto di inserimento" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "File allegato" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "Suono" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "Filmato" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Schermo" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "Oggetto" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "Oggetto multimediale (Rich Media)" + +#: gui/guiutils.cpp:144 +#, kde-format +msgid "Annotation" +msgstr "Annotazione" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "Sconosciuto" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Autore: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "Dove vuoi salvare %1?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "" +"Impossibile aprire il file «%1» in scrittura. Il file non è stato salvato." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "La firma è crittograficamente valida." + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "La firma non è crittograficamente valida." + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "Mancata corrispondenza dei sunti delle firme." + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "La struttura CMS/PKCS7 della firma non è ben formata." + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "La firma richiesta non è presente nel documento." + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "La firma non può essere verificata." + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "Il certificato è affidabile." + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "L'emittente del certificato non è affidabile." + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "L'emittente del certificato è sconosciuto." + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "Il certificato è stato revocato." + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "Il certificato è scaduto." + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "Il certificato non è ancora stato verificato." + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "Convalida del certificato in corso" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "Problema sconosciuto col certificato o dati danneggiati." + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "MD2" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "MD5" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "SHA1" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "SHA256" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "SHA384" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "SHA512" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "SHA224" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "Algoritmi sconosciuto" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "RSA" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "DSA" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "EC" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "Tipo sconosciuto" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "Firma digitale" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "Non ripudio" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "Chiavi di cifratura" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "Chiavi di decifrazione" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "Accordo delle chiavi" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "Certificato di firma" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "CRL di firma" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "Solo cifratura" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "Nessun uso specificato" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr ", " + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "Il documento non è stato modificato dopo la firma." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" +"La revisione del documento che è coperta da questa firma non è stata " +"modificata;\n" +"tuttavia il documento è stato modificato successivamente." + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" +"Il documento è stato modificato in un modo non permesso dal firmatario " +"precedente." + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "Impossibile completare la verifica dell'integrità del documento." + +#: gui/signatureguiutils.cpp:208 +#, kde-format +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "Questo documento ha campi segnaposti per la firma." + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "Questo documento è firmato digitalmente." + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "" +"Questo documento è firmato digitalmente. Ci sono state delle modifiche da " +"quando è stato firmato." + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" +"Questo documento è firmato digitalmente. Alcune delle firme non possono " +"essere convalidate correttamente." + +#: gui/signaturemodel.cpp:141 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "Segnaposto per la firma %1" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "Campo: %1 a pagina %2" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "Rev. %1: firmato da %2" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "Ora di firma: %1" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "Motivo: %1" + +#: gui/signaturemodel.cpp:177 +#, kde-format +msgid "Location: %1" +msgstr "Posizione: %1" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "Firma PGP" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "Adobe PKCS7" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "Adobe PKCS7 Sha1" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "ETSI CAdES" + +#: gui/signaturemodel.cpp:193 +#, kde-format +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "Sconosciuta" + +#: gui/signaturemodel.cpp:195 +#, kde-format +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "Segnaposto per la firma" + +#: gui/signaturemodel.cpp:201 +#, kde-format +msgid "Signature Type: %1" +msgstr "Tipo di firma: %1" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "Rosso" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "Arancione" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "Giallo" + +#: part/annotationactionhandler.cpp:151 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "Verde" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "Ciano" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "Blu" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "Magenta" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "Bianco" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "Grigio" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "Nero" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "Larghezza %1" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1%" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "Spessore di linea dell'annotazione (nessuna annotazione selezionata)" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "Colore dell'annotazione (nessuna annotazione selezionata)" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "" +"Colore di riempimento dell'annotazione (nessuna annotazione selezionata)" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "Opacità dell'annotazione (nessuna annotazione selezionata)" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "Carattere dell'annotazione (nessuna annotazione selezionata)" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" +"Aggiungi l'annotazione attuale al menu delle annotazioni veloci (nessuna " +"annotazione selezionata)" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" +"Vincola le proporzioni delle forme a 1:1 o gli angoli tra linee a passi di " +"15° (nessuna annotazione selezionata)" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" +"Impostazioni avanzate per lo strumento di annotazione attuale (nessuna " +"annotazione selezionata)" + +#: part/annotationactionhandler.cpp:308 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Spessore di linea dell'annotazione" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "Spessore di linea dell'annotazione (l'annotazione corrente non ha uno)" + +#: part/annotationactionhandler.cpp:314 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Colore del testo dell'annotazione" + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "Colore del bordo dell'annotazione" + +#: part/annotationactionhandler.cpp:318 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Colore dell'annotazione" + +#: part/annotationactionhandler.cpp:322 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Colore di riempimento dell'annotazione" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "" +"Colore di riempimento dell'annotazione (l'annotazione corrente non ne ha uno)" + +#: part/annotationactionhandler.cpp:328 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "Carattere dell'annotazione" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "Carattere dell'annotazione (l'annotazione corrente non ne ha uno)" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "Vincola gli angoli tra linee a passi di 15°" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "Vincola le proporzioni delle forme a 1:1" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" +"Vincola le proporzioni delle forme a 1:1 o gli angoli tra linee a passi di " +"15° (non supportato dal tipo di annotazione attuale)" + +#: part/annotationactionhandler.cpp:341 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Opacità dell'annotazione" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "Aggiungi l'annotazione attuale al menu delle annotazioni veloci" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "Impostazioni avanzate per lo strumento di annotazione attuale" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "Colore" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "Colore di riempimento" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "Trasparente" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "Colore personalizzato…" + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "Seleziona colore" + +#: part/annotationactionhandler.cpp:552 +#, kde-format +msgid "&Annotations" +msgstr "&Annotazioni" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "Nascondi" + +#: part/annotationactionhandler.cpp:554 +#, kde-format +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Mostra altri strumenti di annotazione" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "Evidenziatore" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "Sottolineato" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "Scarabocchiato" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "Barrato" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Macchina da scrivere" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "Nota in linea" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "Nota a comparsa" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "Linea a mano libera" + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "Linea retta" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "Freccia" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "Rettangolo" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "Ellisse" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "Poligono" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "Forme geometriche" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "Timbro" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Annotazioni veloci" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "Scegli uno strumento di annotazione dalle annotazioni veloci" + +#: part/annotationactionhandler.cpp:651 +#, kde-format +msgid "Quick Annotation Bar" +msgstr "Barra annotazioni veloci" + +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "Aggiungi alle annotazioni veloci" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "Mantieni attivo" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "Mantieni attivo lo strumento annotazioni dopo l'uso" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "Vincola proporzioni ed angolo degli strumenti per le annotazioni" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "Carattere" + +#: part/annotationactionhandler.cpp:681 +#, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Impostazioni delle annotazioni" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "Spessore della linea" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "Opacità" + +#: part/annotationactionhandler.cpp:696 +#, kde-format +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1%" + +#: part/annotationmodel.cpp:320 +#, kde-format +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "Pagina %1 (%2)" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "Pagina %1" + +#: part/annotationpopup.cpp:85 +#, kde-format +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "Annotazione" +msgstr[1] "%1 annotazioni" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "&Apri nota a comparsa" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Elimina segnalibro" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Aggiungi segnalibro" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, kde-format +msgid "Copy Text to Clipboard" +msgstr "Copia testo negli appunti" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "Copia non permessa dal DRM" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "&Elimina" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "&Proprietà" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, kde-format +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "&Salva «%1»…" + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "&Aspetto" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "&Generale" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&Autore:" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "Creato:" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "Modificato:" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "Proprietà della nota a comparsa" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "Proprietà della macchina da scrivere" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "Proprietà della nota in linea" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "Proprietà della linea retta" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "Proprietà del poligono" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "Proprietà della figura geometrica" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "Proprietà del marcatore del testo" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "Proprietà del timbro" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "Proprietà della linea a mano libera" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "Proprietà del punto di inserimento" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "Proprietà del file allegato" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "Proprietà del suono" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "Proprietà del filmato" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "Proprietà dell'annotazione" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "Seleziona simbolo per un timbro personalizzato da file" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "Seleziona un simbolo per un timbro personalizzato" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" +"*.ico *.png *.xpm *.svg *.svgz | File icona (*.ico *.png *.xpm *.svg *.svgz)" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "Impossibile caricare il file %1" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "File non valido" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&Colore:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, kde-format +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%v%" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "&Opacità:" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "Icona:" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "Commento" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "Aiuto" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "Inserisci" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "Chiave" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "Nuovo paragrafo" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "Nota" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "Paragrafo" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Carattere:" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "&Colore del testo:" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "&Allineamento:" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "Sinistra" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "Centro" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "Destra" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "Larg&hezza del bordo:" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "Approvato" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "Così com'è" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "Confidenziale" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "Dipartimentale" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "Bozza" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "Sperimentale" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "Scaduto" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "Finale" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "Per commenti" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "Per il rilascio pubblico" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "Non approvato" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "Non per il rilascio pubblico" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "Venduto" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "Top secret" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "Segnalibro" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "Informazione" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "Disegno del timbro:" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "&Larghezza:" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "Inizio dalla linea:" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "Fine della linea:" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "Quadrato" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "Cerchio" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "Diamante" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "Freccia aperta" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "Freccia chiusa" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "Nessuna" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "Interrotta" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "Freccia aperta a destra" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "Freccia chiusa a destra" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "Barra" + +#: part/annotationwidgets.cpp:531 +#, kde-format +msgid "Leader line length:" +msgstr "Lunghezza linea direzionale:" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "Lunghezza estensioni linea direzionale:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "Abilitato" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "Riempimento forma:" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Tipo:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "Barrato" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "Simbolo file allegato:" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "Grafico" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "Puntina da disegno" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "Graffetta" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "Etichetta" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "File" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "N/D" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "Nessuna descrizione disponibile." + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "Nome:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "Descrizione:" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "Simbolo del punto di inserimento:" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "Nessuno" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "Chiudi questa nota" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "Opzioni" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"Questa annotazione potrebbe contenere codice LaTeX.\n" +"Fai clic qui per effettuarne il rendering." + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "Impossibile trovare l'eseguibile latex." + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "Rendering LaTeX non riuscito" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "Impossibile trovare l'eseguibile dvipng." + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "Si è verificato un problema durante l'esecuzione del comando «latex»." + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "Si è verificato un problema durante l'esecuzione del comando «dvipng»." + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"Un segnalibro" +msgstr[1] "" +"%1\n" +"\n" +"%2 segnalibri" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Segnalibri" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "Mostra per tutti i documenti" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, kde-format +msgid "Search…" +msgstr "Cerca…" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, kde-format +msgid "Expand All" +msgstr "Espandi tutto" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, kde-format +msgid "Collapse All" +msgstr "Richiudi tutto" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "Vai a questo segnalibro" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "Rinomina segnalibro" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Apri documento" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "Rimuovi tutti i segnalibri per questo documento" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "Visualizzatore certificato" + +#: part/certificateviewer.cpp:50 +#, kde-format +msgid "Export…" +msgstr "Esporta…" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "Generale" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "Emesso da" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "Nome comune(CN)" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "Posta elettronica" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "Organizzazione(O)" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "Emesso a" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "Validità" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "Impronte digitali" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "Impronta digitale SHA-1" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "Impronta digitale SHA-256" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "Dettagli" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "Dati del certificato:" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "Dove vuoi salvare questo certificato?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "File di certificato (*.cer)" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "Impossibile esportare il certificato" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "Modalità &colore" + +#: part/colormodemenu.cpp:21 +#, kde-format +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "Cambia colori" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "Colori &normali" + +#: part/colormodemenu.cpp:41 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "&Inverti colori" + +#: part/colormodemenu.cpp:42 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "Cambia colore della &carta" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "Cambia colori chiari e &scuri" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "Converti in &bianco e nero" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "Inverti c&hiarezza" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "Inverti l&uma (sRGB lineare)" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "Inverti luma (&simmetrico)" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "Sposta tonalità p&ositivamente" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "Sposta tonalità n&egativamente" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "Rosso" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "Verde" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "Blu" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "Giallo" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "Nero" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "Bianco" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "Evidenziatore giallo" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "Evidenziatore verde" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "Inserisci testo" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "Disegna il bordo attorno ai collegamenti" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "Cambia colori" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "Attenzione: queste opzioni possono rallentare il programma." + +#: part/dlgaccessibility.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "Inverti colori" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "Cambia il colore della carta" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "Cambia i colori chiari e scuri" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "Converti in bianco e nero" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "Inverte chiarezza" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "Inverte luma (sRGB lineare)" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "Inverte luma (simmetrico)" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "Sposta tonalità positivamente" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "Sposta tonalità negativamente" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "Modalità colore:" + +#: part/dlgaccessibility.cpp:87 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Colore della carta:" + +#: part/dlgaccessibility.cpp:99 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Colore scuro:" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "Colore chiaro:" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "Soglia:" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Contrasto:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "Motore di sintesi vocale:" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "Voce di sintesi vocale:" + +#: part/dlgannotations.cpp:25 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Barra degli strumenti per le annotazioni complete" + +#: part/dlgannotations.cpp:26 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Barra degli strumenti per le annotazioni veloci" + +#: part/dlgannotations.cpp:28 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Barra degli strumenti per le annotazioni:" + +#: part/dlgannotations.cpp:34 +#, kde-format +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "Autore:" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"Nota: le informazioni qui presenti sono usate solo per le " +"annotazioni. Le informazioni sono salvate nei documenti con annotazioni e " +"saranno trasmesse assieme ai documenti." + +#: part/dlgannotations.cpp:48 +#, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

    Quick Annotation Tools

    " +msgstr "

    Strumenti di annotazione veloce

    " + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" +"Scegli l'editor da eseguire quando Okular cerca di aprire un file sorgente." + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "Editor di testo personalizzato" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Emacs client" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "Lyx client" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "TeXstudio" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "TeXiFy IDEA" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "Editor:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
    \n" +"You can also put few placeholders:\n" +"
      \n" +"
    • %f - the file name
    • \n" +"
    • %l - the line of the file to be reached
    • \n" +"
    • %c - the column of the file to be reached
    • \n" +"
    \n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"Imposta il comando per l'esecuzione di un editor di testo personalizzato." +"
    \n" +"Puoi anche utilizzare alcuni segnaposto:\n" +"
      \n" +"
    • %f - il nome del file
    • \n" +"
    • %l - la riga da visualizzare del file
    • \n" +"
    • %c - la colonna da visualizzare del file
    • \n" +"
    \n" +"Se %f non è specificato, il nome del file viene aggiunto al comando " +"specificato." + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "Comando:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "Usa scorrimento fluido" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "Aspetto:" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "Mostra barre di scorrimento" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "Collega le miniature con la pagina" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "Mostra messaggi di avviso ed informazione" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "Notifica in caso di allegati, moduli o firme" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "Mostra il titolo del documento, se disponibile, nella barra del titolo" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "Mostra solo il nome del file" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "Mostra il percorso completo del file" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "Quando non viene mostrato il titolo del documento:" + +#: part/dlggeneral.cpp:92 +#, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "Usa un colore di sfondo personalizzato:" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "Funzioni del programma:" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "Apri i nuovi file nelle schede" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "Passa alla scheda esistente se il file è già aperto" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "Rispetta limitazioni DRM" + +#: part/dlggeneral.cpp:148 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "Ricarica il documento se il file viene modificato" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "Mostra la finestra per la scelta del backend" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "Direzione di lettura da destra a sinistra" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" +"Usa le informazioni nel file per decidere se aprire usando la modalità " +"continua come predefinita" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" +"Per i file senza informazioni integrate, usa la modalità continua come " +"predefinita" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "Apri in modalità continua per impostazione predefinita" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" +"Quando utilizzi lo strumento Sfoglia, riporta il cursore ai bordi dello " +"schermo" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "Elementi nella cronologia recente:" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "Colonne in modalità panoramica:" + +#: part/dlggeneral.cpp:220 +#, kde-format +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%v%" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" +"Definisce quanto dell'area di visualizzazione attuale sarà ancora visibile " +"dopo la pressione dei tasti PaginaSu/PaginaGiù." + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "Sovrapposizione PaginaSu/PaginaGiù:" + +#: part/dlggeneral.cpp:228 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%v%" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "100%" + +#: part/dlggeneral.cpp:233 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "Larghezza pagina" + +#: part/dlggeneral.cpp:234 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "Pagina intera" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "Adattamento automatico" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "Personalizzato" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" +"Definisce la modalità di ingrandimento predefinita per i file che non sono " +"mai stati aperti prima. Per i file che sono stati già aperti viene " +"utilizzato l'ultimo livello di ingrandimento." + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "Ingrandimento predefinito:" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "Abilita trasparenze" + +#: part/dlgperformance.cpp:28 +#, kde-format +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "Utilizzo della CPU:" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "Basso" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "Normale (scelta predefinita)" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "Aggressivo" + +#: part/dlgperformance.cpp:38 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "Ingordo" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "Utilizzo della memoria:" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "Abilita antialias del testo" + +#: part/dlgperformance.cpp:56 +#, kde-format +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "Opzioni di resa:" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "Abilita antialias della grafica" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "Abilita hinting del testo" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"Utilizza solo la memoria indispensabile. Non riusa niente. (Per sistemi con " +"poca memoria)" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"Un buon compromesso tra utilizzo di memoria e prestazioni. Precarica la " +"pagina successiva e velocizza le ricerche. (Profilo tipico per sistemi con 2 " +"GB di memoria)" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"Mantiene tutto in memoria. Precarica le pagine successive. Velocizza le " +"ricerche. (Profilo consigliato per sistemi con 4 GB di memoria o superiore)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" +"Carica e mantiene tutto in memoria. Precarica tutte le pagine. (Userà al " +"massimo il 50% del maggiore tra memoria totale e memoria libera)" + +#: part/dlgpresentation.cpp:38 +#, kde-format +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] "ogni %v secondo" +msgstr[1] "ogni %v secondi" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "Avanza automaticamente:" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "Torna all'inizio dopo l'ultima pagina" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "Tocco sul lato sinistro/destro per andare indietro/avanti" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "Tocco in un qualsiasi punto per andare avanti" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "Disabilitato" + +#: part/dlgpresentation.cpp:63 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Navigazione tattile:" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "Colore di sfondo:" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "Nascosto se inattivo" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "Sempre visibile" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "Sempre nascosto" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "Puntatore del mouse:" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "Mostra l'indicatore di avanzamento" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "Mostra la pagina di riepilogo" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "Istantanea (senza animazioni)" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "Sostituzione" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "Transizione casuale" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "Ritagli verticali" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "Ritagli orizzontali" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "Implosione" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "Esplosione" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "Dissolvenza" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "Scomparsa" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "Glitter verticale" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "Glitter orizzontale" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "Glitter diagonale" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "Sipario orizzontale aperto" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "Sipario orizzontale chiuso" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "Sipario verticale aperto" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "Sipario verticale chiuso" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "Sostituzione verso il basso" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "Sostituzione verso destra" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "Sostituzione verso sinistra" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "Sostituzione verso l'alto" + +#: part/dlgpresentation.cpp:121 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Transizione predefinita:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "Schermo preferito:" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

    Drawing Tools

    " +msgstr "

    Strumento di disegno

    " + +#: part/dlgpresentation.cpp:171 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Schermo attuale" + +#: part/dlgpresentation.cpp:172 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Schermo predefinito" + +#: part/dlgpresentation.cpp:178 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "Schermo %1 (%2 %3 %4)" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "Schermo %1 (disconnesso)" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "Strumento di disegno: %1" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "Gomma" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "&Nome:" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "&Tipo:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "Aspetto" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "Marcatore del testo" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "Forma geometrica" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "Crea strumento di annotazione" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "Modifica strumento di annotazione" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "Colore:" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "Spessore della &penna:" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "%v px" + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "Crea strumento di disegno" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "Modifica strumento di disegno" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "Sconosciuto" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Allegati" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "Visualizza" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "Nome" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "Descrizione" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "Dimensione" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "Creato" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "Modificato" + +#: part/embeddedfilesdialog.cpp:154 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "&Salva come…" + +#: part/embeddedfilesdialog.cpp:155 +#, kde-format +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "&Visualizza…" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "Impossibile caricare la componente di anteprima di stampa" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "Anteprima di stampa" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "Chiudi" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "&Trova:" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "Testo da cercare" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Successiva" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "Passa alla corrispondenza successiva" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Precedente" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "Passa alla corrispondenza precedente" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "Modifica il comportamento della ricerca" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "Distingui maiuscole" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "Dalla pagina corrente" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "Cerca durante la digitazione" + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "Tutti i file (*)" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "Segnaposto per la firma (clic per firmare)" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "&Firma…" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "Proprietà della firma" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "Opzioni di ricerca" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "Distingui maiuscole" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "Espressione regolare" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "Livelli" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "di" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "Zoom" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "Ingrandisci al 100%" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "Ruota a dest&ra" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "Destra" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "Ruota a &sinistra" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "Sinistra" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "Orientazione iniziale" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "Ri&taglia vista" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "Ri&taglia margini" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "Ritaglia alla &selezione" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "Larg&hezza pagina" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "&Pagina intera" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "&Adattamento automatico" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "Adatta fi&nestra alla pagina" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "Modalità di &visualizzazione" + +#: part/pageview.cpp:594 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "Pagina &singola" + +#: part/pageview.cpp:595 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "Pagine a&ffiancate" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "Pagine affiancate (¢ra la prima pagina)" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "Pan&oramica" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "&Continua" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "Usa la direzione di lettura da destra a sinistra" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "Navi&gazione" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "&Zoom" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "&Selezione area" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "Selezione &testo" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "Selezione t&abella" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "&Lente d'ingrandimento" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "Strumenti di selezione" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "&Firma digitalmente…" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "Leggi tutto il documento" + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "Leggi dalla pagina corrente" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "Leggi la pagina corrente" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "Interrompi lettura" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "Metti in pausa/riprendi lettura" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "Scorri in su" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Scorri in giù" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "Scorri una pagina in su" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "Scorri una pagina in giù" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "Mostra moduli" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] "Caricato un documento con una pagina." +msgstr[1] "Caricato un documento con %1 pagine." + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "Copia il contenuto della tabella negli appunti" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "Testo (1 carattere)" +msgstr[1] "Testo (%1 caratteri)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "Copia negli appunti" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "Pronuncia il testo" + +#: part/pageview.cpp:2863 +#, kde-format +msgid "Image (%1 × %2 pixels)" +msgstr "Immagine (%1 × %2 pixel)" + +#: part/pageview.cpp:2865 +#, kde-format +msgid "Save to File…" +msgstr "Salva su file…" + +#: part/pageview.cpp:2885 +#, kde-format +msgid "Image [%1 × %2] copied to clipboard." +msgstr "Immagine [%1 × %2] copiata negli appunti." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "Salva file" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "Immagini (*.png *.jpeg)" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "Il file non è stato salvato." + +#: part/pageview.cpp:2901 +#, kde-format +msgid "Image [%1 × %2] saved to %3 file." +msgstr "Immagine [%1 × %2] salvata sul file %3." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "Copia il testo" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "Vai a «%1»" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "Larghezza pagina" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "Pagina intera" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "Adattamento automatico" + +#: part/pageview.cpp:4107 +#, kde-format +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1%" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "Ricerca di «%1» con" + +#: part/pageview.cpp:4404 +#, kde-format +msgid "Configure Web Shortcuts…" +msgstr "Configura scorciatoie web…" + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "Segui questo collegamento" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "Riproduci questo suono" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "Ferma il suono" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "Copia indirizzo collegamento" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "Cerca «%1» in questo documento" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Benvenuto" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "" +"Seleziona la regione da ingrandire. Fai clic con il pulsante destro per " +"rimpicciolire." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "Fai clic per la vista ingrandita." + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "Seleziona la regione di testo o grafica da copiare." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "Seleziona il testo" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" +"Traccia un rettangolo attorno alla tabella, quindi fai clic vicino ai bordi " +"per suddividerla; premi Esc per annullare." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" +"Tutti i certificati di firma non sono validi. Se la firma funzionava in " +"precedenza, verifica le date di validità dei certificati." + +#: part/pageview.cpp:5188 +#, kde-format +msgid "No valid certificates" +msgstr "Nessun certificato valido" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, kde-format +msgid "Open Certificate Manager" +msgstr "Apri il gestore dei certificati" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
    Launch Certificate Manager " +"to import or manage certificates
    For more information, please see the " +"section about
    Adding Digital Signatures in the manual." +msgstr "" +"Non ci sono certificati di firma disponibili.
    Avvia il gestore dei " +"certificati per importare o gestire i certificati
    Per maggiori " +"informazioni, consulta la sezione sull'Aggiunta di firme " +"digitali nel manuale." + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, kde-format +msgid "No certificates found" +msgstr "Nessun certificato trovato" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
    For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" +"Non ci sono certificati di firma disponibili.
    Per maggiori informazioni, " +"consulta la sezione sull'Aggiunta di firme digitali nel " +"manuale." + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "Hai delle modifiche non salvate. Salva il documento prima di firmarlo." + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "Disegna un rettangolo per inserire il campo della firma" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "Seleziona l'area della pagina che vuoi mantenere visibile" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "Nuova nota di testo" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "Testo della nuova nota:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Firmato da: %1\n" +"\n" +"Data: %2" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" +"Una firma di questa dimensione potrebbe essere troppo piccola da leggere. Se " +"vuoi creare una firma potenzialmente maggiormente leggibile, premi " +"Ricomincia e disegna un rettangolo più grande." + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "Ricomincia" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "Firma" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name" +msgstr "Nome dell'autore" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name for the annotation:" +msgstr "Nome dell'autore per l'annotazione:" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "Disegna un'ellisse (trascina per selezionare una zona)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "Testo evidenziato" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "Traccia una linea a mano libera" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "Annotazione di testo in linea (trascina per selezionare una zona)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "Inserisci una nota a comparsa" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "Disegna un poligono (clic sul primo punto per chiuderlo)" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "Disegna un rettangolo" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "Testo scarabocchiato" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "Inserisci un timbro" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "Disegna una linea retta" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "Barra il testo" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "Sottolinea il testo" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "Annotazione macchina da scrivere (trascina per selezionare una zona)" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "Evidenziatore" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "Aggiungi annotazione preferita" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Custom annotation name:" +msgstr "Nome annotazione personalizzato:" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&File" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "Imp&ostazioni" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "Ai&uto" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "&Orientazione" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "Segnali&bri" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "Barra degli strumenti visualizzazione" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Miniature" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "Annotazioni" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
    Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" +"Il documento contiene annotazioni o dati di moduli che sono stati salvati " +"internamente da una versione precedente di Okular. Il salvataggio interno " +"non è più supportato.
    Salva il file per poterlo spostare se vuoi " +"continuare a modificare il documento." + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"Questo documento contiene allegati. Fai " +"clic qui per visualizzarli o seleziona File -> Allegati." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" +"Firma in corso. È possibile aggiustare la posizione e la dimensione della " +"firma" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "Completa la firma" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "Precedente" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "Vai indietro alla pagina precedente" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "Vai alla pagina precedente nel documento" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "Successiva" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "Procedi alla pagina successiva" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "Vai alla pagina successiva nel documento" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "Inizio del documento" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "Vai all'inizio del documento" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "Fine del documento" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "Vai alla fine del documento" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "Rinomina il segnalibro attuale" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "Segnalibro precedente" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "Vai al segnalibro precedente" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "Segnalibro successivo" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "Vai al segnalibro successivo" + +#: part/part.cpp:748 +#, kde-format +msgid "Configure Okular…" +msgstr "Configura Okular…" + +#: part/part.cpp:751 +#, kde-format +msgid "Configure Viewer…" +msgstr "Configura visualizzatore…" + +#: part/part.cpp:757 +#, kde-format +msgid "Configure Viewer Backends…" +msgstr "Configura backend visualizzazione…" + +#: part/part.cpp:759 +#, kde-format +msgid "Configure Backends…" +msgstr "Configura backend…" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "Informazioni sul backend" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "&Ricarica" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "Ricarica il documento corrente dal disco." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "Chiudi la &barra di ricerca" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "Numero pagina" + +#: part/part.cpp:817 +#, kde-format +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "Configura modalità dei colori…" + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "Seleziona tutto il testo della pagina corrente" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "Mostra la barra lat&erale" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "Mostra la barra delle &pagine" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "Mostra il pannello delle &firme" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "All&egati" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "Esp&orta come" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "Cond&ividi" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "P&resentazione" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "Apri cartella con&tenitore" + +#: part/part.cpp:945 +#, kde-format +msgid "&Import PostScript as PDF…" +msgstr "&Importa PostScript come PDF…" + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "Attiva/disattiva modalità schermo nero" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "Cancella disegno" + +#: part/part.cpp:962 +#, kde-format +msgid "Configure Annotations…" +msgstr "Configura annotazioni…" + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "Riproduci/metti in pausa la presentazione" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" +"Hai appena modificato il documento aperto, ma questo tipo di documento non " +"può essere salvato.\n" +"Ogni modifica sarà persa alla chiusura di Okular." + +#: part/part.cpp:1123 +#, kde-format +msgid "Document can't be saved" +msgstr "Il documento non può essere salvato" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "Impossibile aprire «%1» (%2)" + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "Il caricamento di %1 è stato annullato." + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "Impossibile aprire %1. Motivo: %2" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "Configura backend visualizzazione" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "Configura backend" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"Il programma «ps2pdf» non è stato trovato, di conseguenza Okular non può " +"importare file PS tramite tale programma." + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "ps2pdf non trovato" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "File PostScript (%1)" + +#: part/part.cpp:1357 +#, kde-format +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "" +"Importazione di file PS come PDF (potrebbe richiedere un po' di tempo)…" + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "Inserisci la password per leggere il documento:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "Password non corretta. Riprova:" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "Password del documento" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" +"Questo documento contiene moduli XFA, che attualmente sono non " +"supportati." + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"Questo documento contiene dei moduli. Fai clic sul pulsante per interagire " +"con essi, oppure seleziona Visualizza -> Mostra moduli." + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" +"La modifica e le funzioni interattive di questo documento sono tutte " +"disabilitate. Per modificare questo documento, salvane una copia e riaprilo." + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" +"Questo documento vuole essere mostrato a tutto schermo.\n" +"Lasciare la modalità attuale e passare in modalità presentazione?" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "Richiesta di modifica modalità di visualizzazione" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "Passa in modalità presentazione" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "Blocca la richiesta" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "Impossibile aprire %1. %2" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" +"Il file %1 ha delle modifiche non salvate, ma è stato " +"modificato da un altro programma. Ricaricandolo, le modifiche non salvate " +"saranno sostituite dalle modifiche effettuate dall'altro programma.Vuoi " +"procedere con l'operazione di ricarica del file?" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "File modificato" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "Continua la ricarica" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "Interrompi la ricarica" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" +"Il file %1 ha delle modifiche non salvate, ma è stato " +"modificato da un altro programma. Chiudendolo, le modifiche non salvate " +"saranno sostituite dalle modifiche effettuate dall'altro programma.Vuoi " +"procedere con la chiusura del file?" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "Continua con la chiusura" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "Interrompi la chiusura" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "Vuoi salvare le modifiche ad «%1» o scartarle?" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "Chiudi documento" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"Questo collegamento punta ad un'azione di chiusura del documento che non " +"funziona quando si usa il visualizzatore in modalità integrata." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"Questo collegamento punta ad un'azione di chiusura dell'applicazione che non " +"funziona quando si usa il visualizzatore in modalità integrata." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, kde-format +msgid "Reloading the document…" +msgstr "Riapertura del documento…" + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "Contenuti" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "Firme" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Vai alla pagina" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "&Pagina:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "Inserisci il nuovo nome del segnalibro:" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "Rinomina questo segnalibro" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "Rimuovi questo segnalibro" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "Salva come" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" +"Hai scelto di salvare un archivio di documento Okular senza che il nome del " +"file termini con l'estensione «%1». Questo non è permesso, vuoi scegliere un " +"nuovo nome?" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "Estensione non supportata" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "Scegli un nuovo nome" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" +"Il file %1 è stato modificato da un altro programma. Se " +"salvi adesso, le modifiche effettuate nell'altro programma non saranno " +"salvate. Confermi di voler continuare?" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "Salva - Avviso" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "Salva una copia altrove" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
    In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" +"Il documento attuale è protetto da una password.
    Per poterlo salvare, " +"il file deve essere ricaricato. Ti verrà richiesta nuovamente la password e " +"la cronologia delle azioni verrà persa.
    Vuoi continuare?" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "Impossibile aprire il file temporaneo per il salvataggio." + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" +"Impossibile sovrascrivere %1 perché è un file in sola " +"lettura. Prova a salvarlo in un'altra posizione o a modificare i permessi " +"del file." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" +"Dopo il salvataggio, il formato del documento attuale richiede che il file " +"sia caricato nuovamente. La cronologia delle azioni verrà persa.
    Vuoi " +"continuare?" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "Impossibile salvare il file in «%1». Prova a salvarlo altrove." + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "Contenuti dei moduli compilati" + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "Annotazioni utente" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" +"Stai per salvare le modifiche, ma il formato del file attuale non supporta " +"il salvataggio dei seguenti elementi. Usa il formato Archivio di " +"documento Okular per preservarli." + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "Avviso" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "Salva come archivio di documento Okular…" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" +"Stai per salvare le modifiche, ma il formato del file attuale non supporta " +"il salvataggio dei seguenti elementi. Usa il formato Archivio di " +"documento Okular per preservarli. Fai clic su Continua per " +"salvare il documento e scartare tali elementi." + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" +"Stai per salvare le modifiche, ma il formato del file attuale non supporta " +"il salvataggio dei seguenti elementi. Usa il formato Archivio di " +"documento Okular per preservarli. Fai clic su Continua per " +"salvare, ma perderai questi elementi oltre alla cronologia delle azioni." + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "Continua" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "Continua perdendo le modifiche" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "Impossibile salvare il file in «%1». %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"Okular non può copiare «%1» nel percorso specificato.\n" +"\n" +"Il documento non esiste più." + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" +"Impossibile salvare il file in «%1». Errore: «%2». Prova a salvarlo altrove." + +#: part/part.cpp:3158 +#, kde-format +msgid "Expand Whole Section" +msgstr "Espandi l'intera sezione" + +#: part/part.cpp:3159 +#, kde-format +msgid "Collapse Whole Section" +msgstr "Richiudi l'intera sezione" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "Sincronizza le miniature con la pagina" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Strumenti" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "Pronuncia" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "Stampa" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "La stampa di questo documento non è permessa." + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"Non è stato possibile stampare il documento. Errore sconosciuto. Segnala il " +"problema su bugs.kde.org" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"Non è stato possibile stampare il documento. La descrizione dell'errore è " +"«%1». Segnala il problema su bugs.kde.org" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "Torna dove ti trovavi in precedenza" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "Vai dove sei andato successivamente" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"Errore di file! Impossibile creare il file temporaneo " +"%1." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"Errore di file! Impossibile aprire il file " +"%1 per la decompressione. Il file non sarà " +"caricato." + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"Questo errore di solito compare se non si hanno sufficienti permessi di " +"lettura sul file. Puoi controllare il proprietario e i permessi facendo clic " +"con il tasto destro sul file dal file manager Dolphin e poi scegliendo la " +"voce del menu «Proprietà» e selezionando la scheda «Permessi» nella finestra " +"che si apre." + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"Errore di file! Impossibile decomprimere il file " +"%1. Il file non sarà caricato." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"Questo errore appare tipicamente se il file è danneggiato. Se vuoi " +"esserne sicuro, prova a decomprimere il file manualmente usando gli " +"strumenti a riga di comando." + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "Nessun segnalibro" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "Si è verificato un problema durante la condivisione del documento: %1" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "Condividi" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "Documento condiviso correttamente" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "Puoi trovare il documento condiviso presso: %1" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "&Modifica" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "&Visualizza" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&Vai" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "S&trumenti" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "Barra degli strumenti principale" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "Barra degli strumenti per le annotazioni" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, kde-format +msgid "Quick Annotation Toolbar" +msgstr "Barra degli strumenti per le annotazioni veloci" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "Opzioni generali" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Accessibilità" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "Aiuti di accessibilità alla lettura " + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Prestazioni" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "Regolazione delle prestazioni" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "Configura visualizzatore" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Presentazione" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "Opzioni per la modalità presentazione" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "Opzioni annotazioni" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "Editor" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "Opzioni editor" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" +"L'editor è stato impostato tramite riga di comando a\n" +" %1\n" +"Se vuoi usare l'impostazione, avvia okular senza l'opzione --editor-cmd" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "Trova successivo" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 – presentazione" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "Cambia schermo" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "Schermo %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "Esci dalla modalità presentazione" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Titolo: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Pagine: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "Fai clic per iniziare" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "Metti in pausa" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "Riproduci" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"Ci sono due modi per uscire dalla modalità presentazione: puoi premere ESC " +"oppure puoi fare clic sul pulsante di uscita che compare quando posizioni il " +"mouse nell'angolo in alto a destra. Ovviamente puoi scorrere le finestre (Alt" +"+TAB è la combinazione predefinita)" + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "Presentazione in corso" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "File sconosciuto" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "Proprietà %1" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "&Caratteri" + +#: part/propertiesdialog.cpp:145 +#, kde-format +msgid "Reading font information…" +msgstr "Lettura delle informazioni sui caratteri…" + +#: part/propertiesdialog.cpp:158 +#, kde-format +msgid "&Page Sizes" +msgstr "Dimensioni &pagina" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "&Estrai carattere" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Tipo 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Tipo 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "Tipo 1C (OpenType)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Tipo 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType (OpenType)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID tipo 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID tipo 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID tipo 0C (OpenType)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType (OpenType)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "TeX PK" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "TeX virtuale" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "Metrica dei caratteri TeX" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "TeX, gestito da FreeType" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "Sconosciuto" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "Integrato (sottoinsieme)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "Totalmente integrato" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "No" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "Sì (sottoinsieme)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "Sì" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "%1 (sostituito da %2)" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "[n/d]" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "Carattere sconosciuto" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "Integrato: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "Nome" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "Tipo" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "File" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "Pagina" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "Dimensione" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "Anteprima della revisione" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "Dove vuoi salvare questa revisione?" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "Impossibile salvare il file %1." + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "Impossibile visualizzare la revisione." + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "Inserisci almeno 3 lettere per filtrare il testo" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "Distingui maiuscole" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "Corrisponde frase" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "Corrispondono tutte le parole" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "Corrisponde una parola qualsiasi" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "Opzioni filtro" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, kde-format +msgid "Certificates" +msgstr "Certificati" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "Seleziona il certificato con cui firmare:" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "Tutti" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, kde-format +msgid "Only QES certificates" +msgstr "Solo certificati QES" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "Vecchie chiavi PGP" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "Motivo:" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, kde-format +msgid "optional" +msgstr "facoltativo" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "Posizione:" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, kde-format +msgid "Background:" +msgstr "Sfondo:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "Scegli..." + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, kde-format +msgid "Recent backgrounds:" +msgstr "Sfondi recenti:" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

    No annotations

    To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
    " +msgstr "" +"

    Nessuna annotazione

    Per creare nuove annotazioni " +"premere F6 o selezionare Strumenti -> Annotazioni dal menu.
    " + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "Raggruppa per pagina" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "Raggruppa per autore" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "Mostra le sole annotazioni della pagina corrente" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "Espandi tutti gli elementi" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "Richiudi tutti gli elementi" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "Proprietà" + +#: part/signaturepartutils.cpp:180 +#, kde-format +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Immagini (%1)" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "Seleziona immagine di sfondo" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "Dimentica immagine" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "Dimentica tutte le immagini" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "Inserisci la password (se necessaria) per sbloccare il certificato: %1" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "Immetti la password del certificato" + +#: part/signaturepartutils.cpp:244 +#, kde-format +msgid "Enter document password" +msgstr "Inserisci la password del documento" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "Salva file firmato come" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "%1_firmato.%2" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "Stato della validità" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "Validità della firma:" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "Modifiche del documento:" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "Ulteriori informazioni" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "Firmato da:" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "Ora di firma:" + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "Versione del documento" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Revisione %1 di %2 del documento" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "Visualizza versione firmata…" + +#: part/signaturepropertiesdialog.cpp:95 +#, kde-format +msgid "View Certificate…" +msgstr "Visualizza certificato…" + +#: part/signaturepropertiesdialog.cpp:97 +#, kde-format +msgid "View in Certificate Manager" +msgstr "Visualizza nel gestore dei certificati" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "Gestore certificati di KDE (kleopatra) non trovato" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "Qualificata" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "PGP" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "Mostra solo le pagine segnate" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "Riproduci" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Metti in pausa" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "Interrompi" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "I video non sono supportati da questa versione di Okular" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "I video non sono supportati da questa versione di Okular" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "&Aggiungi…" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, kde-format +msgid "&Edit…" +msgstr "&Modifica…" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "&Rimuovi" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "Sposta in &alto" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "Sposta in &basso" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "Strumento di disegno predefinito #%1" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "" +"Esiste già uno strumento con questo nome. Viene usato il nome predefinito" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "Nome duplicato" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "Pagine da visualizzazione del documento" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "Apre il documento in modalità presentazione" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "Avvia mostrando la finestra di stampa" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "Avvia mostrando la finestra di stampa e termina dopo la stampa" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "Controllo \"istanza unica\"" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "Non alzare le finestra" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "Trova una stringa nel testo" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "Imposta il comando dell'editor esterno" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "I documenti da aprire. Specifica '-' per leggere da standard input." + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" +"Non puoi impostare il comando dell'editor in un'istanza di Okular già in " +"esecuzione. Disabilita le schede e riprova. Nota come neppure l'opzione " +"unique sia supportata quando si imposta il comando dell'editor tramite riga " +"di comando.\n" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "Errore: impossibile aprire più di un documento con l'opzione --unique" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" +"Errore: impossibile aprire più di un documento con l'opzione --presentation" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "Errore: impossibile aprire più di un documento con l'opzione --print" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "Errore: impossibile aprire più di un documento con l'opzione --page" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "Errore: impossibile aprire più di un documento con l'opzione --find" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "Impossibile trovare il componente di Okular: %1" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "Barra laterale" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" +"C'è già in esecuzione un'unica istanza di Okular. Questa istanza non sarà " +"l'unica." + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "Impossibile trovare il componente di Okular." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"Fai clic per aprire un file\n" +"Fai clic e tieni premuto per aprire un file recente" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"Fai clic per aprire un file o Tieni premuto per selezionare un " +"file recente" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "Scheda successiva" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "Scheda precedente" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "Annulla chiusura scheda" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "Blocca la barra laterale" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "Tutti i file (*)" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "Tutti i file supportati (%1)" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "Apri documento" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "Conferma chiusura" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "Chiudi schede" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "Stai per chiudere %1 schede. Sei sicuro di voler proseguire?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "Avvisa quando cerco di chiudere più schede" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "&Copia percorso" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "&Apri cartella contenitore" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "Di&mentica questo elemento" + +#: shell/welcomescreen.cpp:137 +#, kde-format +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "Nessun documento corrente" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "Benvenuto/a in Okular" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Apri documento..." + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, kde-format +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Documenti recenti" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "Dimentica tutti" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "Nascondo la schermata di benvenuto" + +#~ msgid "Geometry with Comment" +#~ msgstr "Geometria con commento" + +#~ msgid "Geometry" +#~ msgstr "Geometria" + +#~ msgctxt "Annotation type: contents" +#~ msgid "%1: %2" +#~ msgstr "%1: %2" + +#~ msgid "Modified: %1" +#~ msgstr "Modificato: %1" + +#~ msgid "Find..." +#~ msgstr "Trova..." + +#~ msgid "Go To Page..." +#~ msgstr "Vai alla pagina..." + +#~ msgid "Play movie..." +#~ msgstr "Riproduci filmato..." + +#~ msgid "Search..." +#~ msgstr "Cerca..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "&Salva come..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "&Visualizza..." + +#~ msgid "&Sign..." +#~ msgstr "&Firma..." + +#~ msgid "Configure Viewer..." +#~ msgstr "Configura visualizzatore..." + +#~ msgid "Configure Viewer Backends..." +#~ msgstr "Configura backend visualizzazione..." + +#~ msgid "Configure Backends..." +#~ msgstr "Configura backend..." + +#~ msgid "&Add..." +#~ msgstr "&Aggiungi..." + +#~ msgid "&Edit..." +#~ msgstr "&Modifica..." + +#~ msgctxt "%1 is a file path" +#~ msgid "" +#~ "Could not sign. Invalid certificate password or could not write to '%1'" +#~ msgstr "" +#~ "Impossibile firmate. Password del certificato non valida o impossibile " +#~ "scrivere in «%1»" + +#, fuzzy +#~| msgid "" +#~| "All your signing certificates are either not valid yet or are past their " +#~| "validity date." +#~ msgid "All your signing certificates are invalid" +#~ msgstr "Tutti i certificati di firma sono non ancora validi o già scaduti." + +#~ msgid "Unsigned Signature %1" +#~ msgstr "Firma non firmata %1" + +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "Sconosciuta" + +#~ msgctxt "Signature type" +#~ msgid "Unsigned signature" +#~ msgstr "Firma sconosciuta" + +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "Spinbox prefix: Advance automatically: every n seconds" +#~ msgid "every " +#~ msgstr "ogni" + +#~ msgctxt "Suffix for the pen width, eg '10 px'" +#~ msgid " px" +#~ msgstr " px" + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " %" + +#~ msgctxt "%1 is a file path" +#~ msgid "Could not sign. Could not write to '%1'" +#~ msgstr "Impossibile firmate. Impossibile scrivere in «%1»" + +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "Adatta alla larghezza" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "Adatta alla pagina" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Auto Fit" +#~ msgstr "Adattamento automatico" + +#~ msgid "*|All Files" +#~ msgstr "*|Tutti i file" + +#~ msgid "Missing alert type" +#~ msgstr "Tipo di avviso mancante" + +#~ msgid "" +#~ "The file '%1' has been modified by another program, which means it can no " +#~ "longer be saved." +#~ msgstr "" +#~ "Il file «%1» è stato modificato da un altro programma, e pertanto non può " +#~ "più essere salvato." + +#~ msgid "Show Sidebar" +#~ msgstr "Mostra la barra laterale" + +#~ msgctxt "@info" +#~ msgid "" +#~ "experimental feature.Stamps inserted in PDF documents are " +#~ "not visible in PDF readers other than Okular." +#~ msgstr "" +#~ "funzione sperimentale.I timbri inseriti nei documenti PDF " +#~ "non saranno visibili in lettori PDF diversi da Okular." + +#~ msgctxt "@info" +#~ msgid "" +#~ "The version of the Poppler library this Okular was compiled with does not " +#~ "support signing documents with passwords. Please ask your provider to " +#~ "update it to 22.02 or later." +#~ msgstr "" +#~ "La versione della libreria Poppler con cui è stato compilato questo " +#~ "Okular non permette di firmare i documenti con password. Chiedi al tuo " +#~ "fornitore di aggiornarla alla versione 22.02 o successiva." + +#~ msgctxt "@title:window" +#~ msgid "Poppler library is too old" +#~ msgstr "La libreria Poppler è troppo vecchia" + +#~ msgctxt "@info" +#~ msgid "" +#~ "Stamps inserted in PDF documents are not visible in PDF readers other " +#~ "than Okular" +#~ msgstr "" +#~ "I timbri inseriti nei documenti PDF non saranno visibili in lettori PDF " +#~ "diversi da Okular" + +#~ msgctxt "@title:window" +#~ msgid "Experimental feature" +#~ msgstr "Funzione sperimentale" + +#, fuzzy +#~ msgid "Form" +#~ msgstr "Formato" + +#~ msgid "Remove Bookmarks" +#~ msgstr "Elimina segnalibri" + +#, fuzzy +#~| msgid "&Annotations" +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "&Annotazioni" + +#, fuzzy +#~| msgid "Highlight" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "Evidenziato" + +#, fuzzy +#~| msgid "Underline" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Underline" +#~ msgstr "Sottolineato" + +#, fuzzy +#~| msgid "Squiggle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Squiggle" +#~ msgstr "Scarabocchiato" + +#, fuzzy +#~| msgid "Strike Out" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Strike Out" +#~ msgstr "Barrato" + +#, fuzzy +#~| msgid "Insert Text" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "Inserisci testo" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "Nota in linea" + +#, fuzzy +#~| msgctxt "@action:intoolbar Annotation tool" +#~| msgid "Popup Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "Nota a comparsa" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a freehand line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Freehand Line" +#~ msgstr "Traccia una linea a mano libera" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a straight line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Straight line" +#~ msgstr "Disegna una linea retta" + +#, fuzzy +#~| msgid "Arrow" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Arrow" +#~ msgstr "Freccia" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a rectangle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Rectangle" +#~ msgstr "Disegna un rettangolo" + +#, fuzzy +#~| msgid "Cyan Ellipse" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Ellipse" +#~ msgstr "Ellisse color ciano" + +#, fuzzy +#~| msgid "Polygon" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Polygon" +#~ msgstr "Poligono" + +#, fuzzy +#~| msgid "Highlighter" +#~ msgid "Highlight in Yellow" +#~ msgstr "Evidenziatore" + +#, fuzzy +#~| msgid "Highlight with Comment" +#~ msgid "Highlight in Green" +#~ msgstr "Evidenziazione con commento" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgid "Insert Inline Note" +#~ msgstr "Nota in linea" + +#, fuzzy +#~| msgctxt "@action:intoolbar Annotation tool" +#~| msgid "Popup Note" +#~ msgid "Insert Popup Note" +#~ msgstr "Nota a comparsa" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "Seleziona il testo" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "Seleziona il testo" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "Seleziona il testo" + +#, fuzzy +#~| msgid "&Magnifier" +#~ msgctxt "verb" +#~ msgid "&Magnify" +#~ msgstr "&Lente d'ingrandimento" + +#~ msgid "Bookmark annotation" +#~ msgstr "Annotazione segnalibro" + +#~ msgid "&Toggle Change Colors" +#~ msgstr "Attiva/disattiva l'opzione «Cambia colori»" + +#~ msgctxt "@option:check Config dialog, presentation page, transitions" +#~ msgid "Enable transitions" +#~ msgstr "Abilita transizioni" + +#, fuzzy +#~| msgid "Advance every:" +#~ msgctxt "@label:spinbox Config dialog, presentation page" +#~ msgid "Advance every:" +#~ msgstr "Avanza ogni:" + +#, fuzzy +#~| msgid "Use custom background color" +#~ msgctxt "@label:listbox Config dialog, general page" +#~ msgid "Custom background color:" +#~ msgstr "Usa un colore di sfondo personalizzato" + +#~ msgid "Draw border around &Images" +#~ msgstr "Disegna il bordo attorno alle &immagini" + +#~ msgid "Speech" +#~ msgstr "Pronuncia" + +#~ msgid "Engine" +#~ msgstr "Motore" + +#~ msgid "Identity" +#~ msgstr "Identità" + +#~ msgid "Au&thor:" +#~ msgstr "Au&tore:" + +#~ msgid "View Options" +#~ msgstr "Opzioni visualizzazione" + +#~ msgctxt "@info:whatsthis" +#~ msgid "" +#~ "Defines the default zoom mode for files which were never opened before.\n" +#~ "For files which were opened before the previous zoom is applied." +#~ msgstr "" +#~ "Definisce la modalità di ingrandimento predefinita per i file che non " +#~ "sono mai stati aperti prima.\n" +#~ "Per i file che sono stati già aperti viene utilizzato l'ultimo livello di " +#~ "ingrandimento." + +#~ msgid "Navigation" +#~ msgstr "Navigazione" + +#~ msgid "Placement" +#~ msgstr "Posizionamento" + +#~ msgid "Screen:" +#~ msgstr "Schermo:" + +#~ msgid "Drawing Tool Configuration" +#~ msgstr "Configurazione dello strumento di disegno" + +#~ msgid "&Get Books From Internet..." +#~ msgstr "Scarica li&bri da Internet..." + +#~ msgid "Reviews" +#~ msgstr "Revisioni" + +#~ msgctxt "@item:inlistbox Color name" +#~ msgid "%1" +#~ msgstr "%1" + +#~ msgid "Hide Forms" +#~ msgstr "Nascondi moduli" + +#~ msgid "&Review" +#~ msgstr "&Revisioni" + +#~ msgid "Annotations author" +#~ msgstr "Autore delle annotazioni" + +#~ msgid "Please insert your name or initials:" +#~ msgstr "Inserisci il tuo nome o le iniziali:" + +#~ msgid "Show &Navigation Panel" +#~ msgstr "Mostra il pannello di &navigazione" + +#~ msgid "Show Text" +#~ msgstr "Mostra testo" + +#~ msgid "Small Icons" +#~ msgstr "Icone piccole" + +#~ msgid "Large Icons" +#~ msgstr "Icone grandi" + +#~ msgid "" +#~ "Click to use the current selection tool\n" +#~ "Click on the arrow to choose another selection tool" +#~ msgstr "" +#~ "Fai clic per usare lo strumento di selezione corrente\n" +#~ "Fai sulla freccia per scegliere un altro strumento di selezione" + +#~ msgid "Created: %1" +#~ msgstr "Creato: %1" + +#~ msgid "Style" +#~ msgstr "Stile" + +#~ msgid "&Size:" +#~ msgstr "Dimen&sione:" + +#~ msgid "Inner color:" +#~ msgstr "Colore interno:" + +#~ msgid "Name: %1" +#~ msgstr "Nome: %1" + +#~ msgid "Size: %1" +#~ msgstr "Dimensione: %1" + +#~ msgid "&Browse Tool" +#~ msgstr "Strumento &navigazione" + +#~ msgid "&Zoom Tool" +#~ msgstr "Strumento &zoom" + +#~ msgctxt "Zoom Tool" +#~ msgid "Zoom" +#~ msgstr "Zoom" + +#~ msgid "&Selection Tool" +#~ msgstr "Strumento &selezione" + +#~ msgctxt "Select Tool" +#~ msgid "Selection" +#~ msgstr "Selezione" + +#~ msgid "&Text Selection Tool" +#~ msgstr "Strumento selezione &testo" + +#~ msgid "T&able Selection Tool" +#~ msgstr "Strumento selezione t&abella" + +#, fuzzy +#~| msgctxt "Symbol for caret annotations" +#~| msgid "None" +#~ msgid " None" +#~ msgstr "Nessuno" + +#~ msgid "" +#~ "The document requested to be launched in presentation mode.\n" +#~ "Do you want to allow it?" +#~ msgstr "" +#~ "Il documento ha richiesto di essere aperto in modalità presentazione.\n" +#~ "Vuoi consentirlo?" + +#~ msgid "Presentation Mode" +#~ msgstr "Modalità presentazione" + +#~ msgid "Allow the presentation mode" +#~ msgstr "Consenti la modalità presentazione" + +#~ msgid "Do Not Allow" +#~ msgstr "Non permettere" + +#~ msgid "Do not allow the presentation mode" +#~ msgstr "Non consentire la modalità presentazione" + +#~ msgid "" +#~ "Your annotation changes will not be saved automatically. Use File -> Save " +#~ "As...\n" +#~ "or your changes will be lost once the document is closed" +#~ msgstr "" +#~ "Le modifiche alle annotazioni non saranno salvate automaticamente. Usa " +#~ "File -> Salve come...\n" +#~ "o le tue modifiche verranno perse dopo la chiusura del documento" + +#~ msgid "" +#~ "Your annotations are saved internally by Okular.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" +#~ msgstr "" +#~ "Le annotazioni sono salvate internamente da Okular.\n" +#~ "Puoi esportare il documento con le annotazioni usando File -> Esporta " +#~ "come -> Archivio di documento" + +#~ msgid "Save &Copy As..." +#~ msgstr "Salva &copia come..." + +#~ msgid "" +#~ "Your annotations will not be exported.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" +#~ msgstr "" +#~ "Le annotazioni non saranno esportate.\n" +#~ "Puoi esportare il documento con le annotazioni usando File -> Esporta " +#~ "come -> Archivio di documento" + +#~ msgid "" +#~ "End of document reached.\n" +#~ "Continue from the beginning?" +#~ msgstr "" +#~ "Raggiunta la fine del documento.\n" +#~ "Continuare dall'inizio?" + +#~ msgid "" +#~ "Beginning of document reached.\n" +#~ "Continue from the bottom?" +#~ msgstr "" +#~ "Raggiunto l'inizio del documento.\n" +#~ "Continuare dalla fine?" + +#~ msgid "Current maintainer" +#~ msgstr "Responsabile attuale" + +#~ msgid " sec." +#~ msgstr " sec." + +#~ msgid "Pencil color:" +#~ msgstr "Colore della matita:" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A0" +#~ msgstr "DIN/ISO A0 orizzontale" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A0" +#~ msgstr "DIN/ISO A0 verticale" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A1" +#~ msgstr "DIN/ISO A1 orizzontale" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A1" +#~ msgstr "DIN/ISO A1 verticale" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A2" +#~ msgstr "DIN/ISO A2 orizzontale" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A2" +#~ msgstr "DIN/ISO A2 verticale" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A3" +#~ msgstr "DIN/ISO A3 orizzontale" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A3" +#~ msgstr "DIN/ISO A3 verticale" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A4" +#~ msgstr "DIN/ISO A4 orizzontale" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A4" +#~ msgstr "DIN/ISO A4 verticale" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A5" +#~ msgstr "DIN/ISO A5 orizzontale" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A5" +#~ msgstr "Verticale5" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A6" +#~ msgstr "DIN/ISO A6 orizzontale" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A6" +#~ msgstr "DIN/ISO A6 verticale" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A7" +#~ msgstr "DIN/ISO A7 orizzontale" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A7" +#~ msgstr "Verticale7" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A8" +#~ msgstr "DIN/ISO A8 orizzontale" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A8" +#~ msgstr "Verticale8" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A9" +#~ msgstr "DIN/ISO A9 orizzontale" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A9" +#~ msgstr "DIN/ISO A9 verticale" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B0" +#~ msgstr "DIN/ISO B0 orizzontale" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B0" +#~ msgstr "DIN/ISO B0 verticale" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B1" +#~ msgstr "DIN/ISO B1 orizzontale" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B1" +#~ msgstr "DIN/ISO B1 verticale" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B2" +#~ msgstr "DIN/ISO B2 orizzontale" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B2" +#~ msgstr "DIN/ISO B2 verticale" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B3" +#~ msgstr "DIN/ISO B3 orizzontale" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B3" +#~ msgstr "DIN/ISO B3 verticale" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B4" +#~ msgstr "DIN/ISO B4 orizzontale" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B4" +#~ msgstr "DIN/ISO B4 verticale" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B5" +#~ msgstr "DIN/ISO B5 orizzontale" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B5" +#~ msgstr "DIN/ISO B5 verticale" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B6" +#~ msgstr "DIN/ISO B6 orizzontale" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B6" +#~ msgstr "DIN/ISO B6 verticale" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B7" +#~ msgstr "DIN/ISO B7 orizzontale" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B7" +#~ msgstr "Verticale7" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B8" +#~ msgstr "DIN/ISO B8 orizzontale" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B8" +#~ msgstr "DIN/ISO B8 verticale" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B9" +#~ msgstr "DIN/ISO B9 orizzontale" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B9" +#~ msgstr "DIN/ISO B9 verticale" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B10" +#~ msgstr "DIN/ISO B10 orizzontale" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B10" +#~ msgstr "DIN/ISO B10 verticale" + +#~ msgctxt "paper size" +#~ msgid "landscape letter" +#~ msgstr "lettera orizzontale" + +#~ msgctxt "paper size" +#~ msgid "portrait letter" +#~ msgstr "lettera verticale" + +#~ msgctxt "paper size" +#~ msgid "landscape legal" +#~ msgstr "legale orizzontale" + +#~ msgctxt "paper size" +#~ msgid "portrait legal" +#~ msgstr "legale verticale" + +#~ msgctxt "paper size" +#~ msgid "landscape executive" +#~ msgstr "executive orizzontale" + +#~ msgctxt "paper size" +#~ msgid "portrait executive" +#~ msgstr "executive verticale" + +#~ msgctxt "paper size" +#~ msgid "landscape Comm10E" +#~ msgstr "Comm10E orizzontale" + +#~ msgctxt "paper size" +#~ msgid "portrait Comm10E" +#~ msgstr "Comm10E verticale" + +#~ msgctxt "paper size" +#~ msgid "landscape DLE" +#~ msgstr "DLE orizzontale" + +#~ msgctxt "paper size" +#~ msgid "portrait DLE" +#~ msgstr "DLE verticale" + +#~ msgctxt "paper size" +#~ msgid "landscape folio" +#~ msgstr "folio orizzontale" + +#~ msgctxt "paper size" +#~ msgid "portrait folio" +#~ msgstr "folio verticale" + +#~ msgctxt "paper size" +#~ msgid "ledger" +#~ msgstr "ledger" + +#~ msgctxt "paper size" +#~ msgid "tabloid" +#~ msgstr "tabloid" + +#~ msgctxt "paper size" +#~ msgid "unknown landscape paper size" +#~ msgstr "formato di carta sconosciuto orizzontale" + +#~ msgctxt "paper size" +#~ msgid "unknown portrait paper size" +#~ msgstr "formato di carta sconosciuto verticale" + +#~ msgid "Toggle Drawing Mode" +#~ msgstr "Commuta modalità disegno" + +#~ msgid "Starting Jovie Text-to-Speech service Failed: %1" +#~ msgstr "Avvio del servizio di sintesi vocale Jovie non riuscito: %1" + +#~ msgid "Search Columns" +#~ msgstr "Colonna in cui cercare" + +#~ msgid "All Visible Columns" +#~ msgstr "Tutte le colonne visibili" + +#~ msgid "No document opened." +#~ msgstr "Nessun documento aperto." + +#~ msgid "Can't open more than one document in the unique Okular instance." +#~ msgstr "" +#~ "Impossibile aprire più di un documento nell'unica istanza di Okular." + +#~ msgid "No matches found for '%1'." +#~ msgstr "Nessuna corrispondenza trovata per «%1»." + +#~ msgid "Search in progress..." +#~ msgstr "Ricerca in corso..." + +#~ msgid "Searching for %1" +#~ msgstr "Ricerca di %1" + +#~ msgid "Identity Settings" +#~ msgstr "Impostazioni identità" + +#~ msgid "Highlight Properties" +#~ msgstr "Proprietà dell'evidenziatore" + +#~ msgid "Ink Properties" +#~ msgstr "Proprietà dello stilo" + +#~ msgctxt "Annotation tool" +#~ msgid "Green Ink" +#~ msgstr "Stilo verde" + +#~ msgctxt "Annotation tool" +#~ msgid "Yellow Highlight" +#~ msgstr "Evidenziatore giallo" + +#~ msgctxt "Annotation tool" +#~ msgid "Straight Yellow Line" +#~ msgstr "Linea retta gialla" + +#~ msgid "Black Underlining" +#~ msgstr "Sottolineatura nera" + +#~ msgctxt "Annotation tool" +#~ msgid "Underline the text with a black line" +#~ msgstr "Sottolinea il testo con una riga nera" + +#~ msgctxt "Annotation tool" +#~ msgid "A cyan ellipse" +#~ msgstr "Un'ellisse color ciano" + +#~ msgid "Ink" +#~ msgstr "Stilo" + +#, fuzzy +#~| msgid "Hide Forms" +#~ msgid "Reset Forms" +#~ msgstr "Nascondi moduli" + +#~ msgid "You must set this name:" +#~ msgstr "Devi impostare questo nome:" + +#~ msgid "Moves to the first page of the document" +#~ msgstr "Vai alla prima pagina del documento" + +#~ msgid "Moves to the last page of the document" +#~ msgstr "Vai all'ultima pagina del documento" + +#~ msgid "Toggles between File Path and Title" +#~ msgstr "Commuta tra il percorso del file ed il titolo" + +#~ msgctxt "%1 is \"Title\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#~ msgctxt "%1 is \"File Path\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#~ msgctxt "@action:button" +#~ msgid "&Overwrite" +#~ msgstr "S&ovrascrivi" + +#~ msgid "Pages:" +#~ msgstr "Pagine:" + +#~ msgid "&Properties..." +#~ msgstr "&Proprietà..." + +#~ msgid "okular" +#~ msgstr "okular" + +#~ msgctxt "Annotation tool" +#~ msgid "Pink Ink" +#~ msgstr "Stilo rosa" + +#, fuzzy +#~| msgid "Highlight" +#~ msgid "Pink Highlighter" +#~ msgstr "Evidenziato" + +#~ msgid "Could not load the necessary plugin to view the document." +#~ msgstr "" +#~ "Impossibile caricare il plugin necessario per visualizzare il documento." + +#, fuzzy +#~ msgid "Fit &Text" +#~ msgstr "Adatta alla dimensione del &testo" + +#, fuzzy +#~ msgid "&Advanced" +#~ msgstr "Avanza ogni:" + +#, fuzzy +#~ msgid "Contents:" +#~ msgstr "&Continuo" + +#~ msgid "Hide &Navigation Panel" +#~ msgstr "Nascondi il pannello &navigazione" + +#, fuzzy +#~ msgid "page %1" +#~ msgstr "Pagina %1" + +#~ msgid "Show &search bar in thumbnails list" +#~ msgstr "Mostra la barra di r&icerca nella lista delle miniature" + +#, fuzzy +#~ msgid "Free Text" +#~ msgstr "Pronuncia il testo" + +#, fuzzy +#~ msgid "DlgGeneral" +#~ msgstr "Generale" + +#~ msgid "Program Look" +#~ msgstr "Aspetto del programma" + +#~ msgid "Reading Aids" +#~ msgstr "Aiuti alla lettura" + +#, fuzzy +#~ msgid "Click for Open %1" +#~ msgstr "Impossibile aprire %1" + +#, fuzzy +#~ msgid "flags:" +#~ msgstr "Pagine:" + +#~ msgid "&Watch file" +#~ msgstr "Sor&veglia il file" + +#~ msgid "Clear filter" +#~ msgstr "Cancella il filtro" + +#~ msgid "Topic" +#~ msgstr "Argomento" + +#~ msgid "Fit to Page &Width" +#~ msgstr "Adatta alla &larghezza della pagina" + +#~ msgid "&Two Pages" +#~ msgstr "&Due pagine" + +#~ msgid "Text found: \"%1\"." +#~ msgstr "Testo trovato: \"%1\"." + +#~ msgid "Text not found: \"%1\"." +#~ msgstr "Testo non trovato: \"%1\"." + +#~ msgid "Starting -- find text as you type" +#~ msgstr "Inizio -- ricerca mentre digiti" + +#~ msgctxt "PDF v. " +#~ msgid "PDF v. %1" +#~ msgstr "PDF v. %1" + +#~ msgid "Security" +#~ msgstr "Sicurezza" + +#~ msgid "Optimized" +#~ msgstr "Ottimizzato" + +#~ msgid "Unknown Encryption" +#~ msgstr "Cifratura sconosciuta" + +#~ msgid "Unknown Optimization" +#~ msgstr "Ottimizzazione sconosciuta" + +#~ msgid "" +#~ "The margins you specified change the page aspect ratio. Do you want to " +#~ "print with the aspect ratio changed or do you want the margins to be " +#~ "adapted so that the aspect ratio is preserved?" +#~ msgstr "" +#~ "I margini che hai specificato cambiano le proporzioni dell'aspetto della " +#~ "pagina. Vuoi stampare con le proporzioni modificate oppure vuoi che i " +#~ "margini vengano adattati in modo da rispettare le proporzioni originarie?" + +#~ msgid "Aspect ratio change" +#~ msgstr "Modifica proporzioni" + +#~ msgid "Print with specified margins" +#~ msgstr "Stampa usando i margini specificati" + +#~ msgid "Print adapting margins to keep aspect ratio" +#~ msgstr "Stampa adattando i margini per rispettare le proporzioni" + +#~ msgid "unknown" +#~ msgstr "sconosciuto" + +#~ msgid "-" +#~ msgstr "-" + +#~ msgid "[none]" +#~ msgstr "[nessuno]" + +#~ msgid "kpdf, a kde pdf viewer based on xpdf" +#~ msgstr "KPDF, un visualizzatore per PDF basato su xpdf" + +#~ msgid "Xpdf author" +#~ msgstr "Autore di xpdf" + +#~ msgid "Force rasterization" +#~ msgstr "Forza trasformazione" + +#~ msgid "Rasterize into an image before printing" +#~ msgstr "Trasforma in immagine prima di stampare" + +#~ msgid "" +#~ "Forces the rasterization of each page into an image before printing it. " +#~ "This usually gives somewhat worse results, but is useful when printing " +#~ "documents that appear to print incorrectly." +#~ msgstr "" +#~ "Forza la trasformazione di ciascuna pagina in immagine prima di " +#~ "stamparla. Normalmente questo produce dei pessimi risultati ma è utile " +#~ "quando si stampano documenti che appaiono stampati male." + +#~ msgid "KPDF::Part" +#~ msgstr "KPDF::Part" + +#~ msgid "Converting from ps to pdf..." +#~ msgstr "Conversione da ps a pdf..." + +#~ msgid "" +#~ "You do not have ps2pdf installed, so kpdf cannot open postscript files." +#~ msgstr "Impossibile aprire i file PostScript, ps2pdf non è installato." + +#~ msgid "" +#~ "You are trying to overwrite \"%1\" with itself. This is not allowed. " +#~ "Please save it in another location." +#~ msgstr "" +#~ "Stai per sovrascrivere \"%1\" con se stesso. Questo non è consentito. Per " +#~ "favore salvalo in un'altra posizione." diff --git a/po/it/okular_comicbook.po b/po/it/okular_comicbook.po new file mode 100644 index 0000000..cd5c007 --- /dev/null +++ b/po/it/okular_comicbook.po @@ -0,0 +1,61 @@ +# translation of okular_comicbook.po to Italian +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Luigi Toscano , 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_comicbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2018-11-18 22:49+0100\n" +"Last-Translator: Luigi Toscano \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 2.0\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Luigi Toscano" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "luigi.toscano@tiscali.it" + +#: document.cpp:97 +#, kde-format +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "" +"Impossibile aprire il documento, non sono stati trovati ne' unrar ne' " +"unarchiver." + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "" +"La versione di unrar presente nel sistema non è adatta per aprire file " +"comicbook." + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "Formato ComicBook sconosciuto." + +#~ msgid "ComicBook Backend" +#~ msgstr "Backend ComicBook" + +#~ msgid "A renderer for various comic book formats" +#~ msgstr "Un visualizzatore per vari formati di strisce a fumetti" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/it/okular_djvu.po b/po/it/okular_djvu.po new file mode 100644 index 0000000..166527a --- /dev/null +++ b/po/it/okular_djvu.po @@ -0,0 +1,138 @@ +# translation of okular_djvu.po to Italian +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Luigi Toscano , 2007. +msgid "" +msgstr "" +"Project-Id-Version: okular_djvu\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-11-18 19:28+0100\n" +"Last-Translator: Luigi Toscano \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Luigi Toscano" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "luigi.toscano@tiscali.it" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "Editor" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "Editore" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "Volume" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "Tipo del documento" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "Sconosciuto" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "File dei componenti" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "Sconosciuto" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "Pagina singola" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "Aggregato" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "Indiretto" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "Aggregato (vecchio formato)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "Indicizzato (vecchio formato)" + +#~ msgid "DjVu Backend" +#~ msgstr "Backend DjVu" + +#~ msgid "DjVu backend based on DjVuLibre." +#~ msgstr "Backend DjVu basato su DjVuLibre." + +#~ msgid "© 2006-2008 Pino Toscano" +#~ msgstr "© 2006-2008 Pino Toscano" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgctxt "Unknown title" +#~ msgid "Unknown" +#~ msgstr "Sconosciuto" + +#~ msgctxt "Unknown author" +#~ msgid "Unknown" +#~ msgstr "Sconosciuto" + +#~ msgctxt "Unknown editor" +#~ msgid "Unknown" +#~ msgstr "Sconosciuto" + +#~ msgctxt "Unknown publisher" +#~ msgid "Unknown" +#~ msgstr "Sconosciuto" + +#~ msgctxt "Unknown creation date" +#~ msgid "Unknown" +#~ msgstr "Sconosciuta" + +#~ msgctxt "Unknown volume information" +#~ msgid "Unknown" +#~ msgstr "Sconosciuto" + +#~ msgctxt "Unknown type of document" +#~ msgid "Unknown" +#~ msgstr "Sconosciuto" + +#~ msgid "A DjVu backend" +#~ msgstr "Un backend per DjVu" diff --git a/po/it/okular_dvi.po b/po/it/okular_dvi.po new file mode 100644 index 0000000..4c53619 --- /dev/null +++ b/po/it/okular_dvi.po @@ -0,0 +1,858 @@ +# translation of okular_dvi.po to Italian +# SPDX-FileCopyrightText: 2007, 2008, 2013, 2014, 2024, 2025 Luigi Toscano +# Luciano Montanaro , 2003, 2005, 2006. +# Andrea Rizzi , 2003, 2004. +# Daniele Medri , 2003. +# Federico Cozzi , 2004. +# Federico Zenith , 2004. +msgid "" +msgstr "" +"Project-Id-Version: okular_dvi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-11 13:14+0200\n" +"Last-Translator: Luigi Toscano \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 25.04.0\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Luigi Toscano" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "luigi.toscano@tiscali.it" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

    Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

    Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

    " +msgstr "" +"

    Okular non riesce a trovare sul tuo computer il programma " +"dvipdfm, che è indispensabile per le funzioni di esportazione. Puoi " +"comunque convertire i file DVI in file PDF utilizzando le funzioni di stampa " +"di Okular, ma questo spesso produce file accettabili per la stampa, ma che " +"sono di qualità inferiore se visualizzati con Acrobat Reader. Sarebbe meglio " +"aggiornare TeX ad una versione più recente che includa il programma " +"dvipdfm.

    Suggerimento per gli amministratori di sistema: " +"Okular utilizza la variabile d'ambiente PATH per cercare i programmi.

    " + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Il programma esterno «dvipdfm» usato per esportare il file ha segnalato " +"un errore. Puoi consultare la finestra con le informazioni sul " +"documento, che troverai nel menu File, per una descrizione " +"dettagliata dell'errore." + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" +"Questo file DVI fa riferimento a file grafici esterni che non sono in " +"formato PostScript, e che non sono gestiti dal programma dvips " +"usato internamente da Okular per stampare o esportare in PostScript. La " +"funzionalità richiesta non è quindi disponibile in questa versione di Okular." +"" + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

    Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

    Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

    " +msgstr "" +"

    Okular non riesce a trovare sul tuo computer il programma dvips, che è indispensabile per le funzioni di esportazione.

    Suggerimento per gli amministratori di sistema: Okular utilizza la " +"variabile d'ambiente PATH per cercare i programmi.

    " + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Il programma esterno «dvips» usato per esportare il file DVI ha " +"segnalato un errore. Puoi consultare la finestra con le informazioni " +"sul documento, che troverai nel menu File, per una descrizione " +"dettagliata dell'errore." + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "Il file DVI non inizia con il preambolo." + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" +"Il file DVI contiene la versione errata di output DVI per questo programma. " +"Suggerimento: se stai utilizzando il sistema di impaginazione Omega, devi " +"usare un programma speciale, come ad esempio oxdvi." + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "Il file DVI è molto rovinato. Okular non ha trovato il postambolo." + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "Il postambolo non inizia con il comando POST." + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "Il postambolo contiene un comando diverso da FNTDEF." + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "La pagina %1 non inizia con il comando BOP." + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

    The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

    What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

    PATH: %2

    " +msgstr "" +"

    Il programma pdf2ps non può essere avviato. Di " +"conseguenza il file PDF «%1» non può essere convertito in PostScript. Alcuni " +"elementi grafici nel documento non saranno quindi visualizzati.

    " +"Possibile causa: il programma pdf2ps potrebbe non " +"essere installato, o non è rintracciabile nel percorso di ricerca corrente.

    Che cosa puoi fare: il programma pdf2ps è " +"normalmente contenuto nelle distribuzioni di ghostscript, sistema di " +"interpretazione PostScript. Se ghostscript non è installato, puoi " +"installarlo adesso. Se sei sicuro che ghostscript sia installato, prova ad " +"usare il programma pdf2ps dalla linea di comando per " +"controllare se funziona correttamente.

    PATH: %2

    " + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

    The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

    %2

    " +msgstr "" +"

    Il file PDF «%1» non può essere convertito in PostScript. Alcuni " +"elementi grafici nel documento non saranno quindi visualizzati.

    " +"Possibile ragione: Il file «%1» potrebbe essere rovinato o potrebbe non " +"essere un file PDF. Questo è l'output del programma pdf2ps " +"utilizzato da Okular:

    %2

    " + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "File rovinato. %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "" +"Non è stato possibile integrare tutti i file PostScript nel tuo documento. %1" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "" +"Tutti i file PostScript esterni sono stati integrati nel tuo documento." + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "Il file «%1» specificato non esiste." + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" +"Hai chiesto ad Okular di trovare il punto del file DVI che corrisponde alla " +"riga %1 nel file TeX %2. Sembra che il file DVI non contenga le informazioni " +"necessarie nel file TeX sorgente. " + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" +"Okular non è stato in grado di localizzare il punto nel file DVI che " +"corrisponde alla riga %1 nel file TeX %2." + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "Il codice DVI ha impostato un carattere sconosciuto." + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "" +"Il codice DVI fa riferimento al carattere #%1, che non è stato " +"precedentemente definito." + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "Lo stack non era vuoto quando è stato incontrato il comando EOP." + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "Lo stack era vuoto quando è stato incontrato un comando POP." + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "" +"Il codice DVI fa riferimento ad un carattere che non è stato precedentemente " +"definito." + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "È stato incontrato un comando illegale." + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "È stato incontrato l'op-code sconosciuto %1." + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "Integrazione di %1" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
    " +msgstr "" +"Pagina %1: il file PDF %2 non può essere convertito in " +"PostScript.
    " + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
    " +msgstr "" +"Pagina %1: il file PostScript %2 non è stato trovato.
    " + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "" +"Non è stato possibile interpretare i dati sulla dimensione della carta «%1»." + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

    Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

    PATH: %1

    %2

    " +msgstr "" +"

    Okular non è riuscito a trovare tutti i tipi di carattere necessari " +"per mostrare il file DVI corrente. Il documento potrebbe risultare " +"illeggibile.

    PATH: %1

    %2" + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

    There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
    Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

    PATH: %1

    %2

    " +msgstr "" +"

    Ci sono stati problemi durante l'esecuzione di kpsewhich. " +"Come risultato alcuni file di caratteri non sono stati trovati e il tuo " +"documento potrebbe essere illeggibile.
    Possibili causa: il programma " +"kpsewhich forse non è installato nel tuo sistema, o non può essere " +"trovato nel percorso di ricerca attuale.

    PATH: %1

    %2

    " + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" +"La generazione dei caratteri da parte di«kpsewhich si è " +"interrotta (codice di uscita %1, errore %2). Di conseguenza alcuni file di " +"caratteri non sono stati trovati, e quindi il documento potrebbe essere " +"illeggibile." + +#: fontpool.cpp:482 +#, kde-format +msgid "Currently generating %1 at %2 dpi…" +msgstr "Generazione in corso di %1 a %2 dpi…" + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "Generatore/data" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "Il file del tipo di caratteri non è stato trovato" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "%1 × %2" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "%1 × %2 mm" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "%1 × %2 in" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "verticale" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "orizzontale" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" +"La versione di Ghostview che è installata su questo computer non contiene " +"nessuno dei dispositivi Ghostview noti a Okular. Il supporto PostScript è " +"quindi disattivato in Okular." + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "Incontrati 25 errori. Gli ulteriori messaggi non saranno stampati." + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" +"Errore nel file DVI «%1», pagina %2. Invocato comando di estrazione colore " +"quando lo stack dei colori era vuoto." + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" +"Parametro malformato nel comando speciale epsf.\n" +"Era atteso un inserto a seguito di %1 in %2" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"File non trovato: \n" +" %1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" +"Errore nel file DVI «%1», pagina %2. L'angolo nello special di rotazione del " +"testo non è interpretabile." + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "Il comando speciale «%1» non è implementato." + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" +"Il tipo carattere %1 può essere aperto e letto, ma il suo formato non è " +"supportato." + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "Il tipo carattere %1 è danneggiato o non può essere aperto in lettura." + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" +"FreeType riferisce un errore durante l'impostazione della dimensione del " +"carattere %1." + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "" +"FreeType non è in grado di caricare il glyph #%1 dal file di tipi di " +"carattere %2." + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "" +"FreeType non è in grado di fare il rendering del glyph #%1 dal carattere %2." + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "Glyph #%1 vuoto." + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "Glyph #%1 vuoto nel file di tipi di carattere %2." + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "" +"FreeType non può caricare la metrica per il glyph #%1 del carattere %2." + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "Non è possibile riconoscere il formato del file %1." + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "" +"TexFont_PK::operator[]: il carattere %1 non è definita nel tipo di caratteri " +"%2" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "%1 inaspettato nel file PK %2" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "Il carattere %1 è troppo grande nel file %2" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "Numero di bit salvati errato: carattere %1, carattere %2" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "File PK errato (%1), troppi bit" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "Il carattere ha proporzioni non quadrate " + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "Impossibile trovare il carattere %1, file %2." + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "Codice di controllo errato per il carattere %1" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "Il formato del file di carattere %1 è ignoto" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"Errore fatale.\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" +"\n" +"\n" +"Probabilmente ciò vuol dire che hai trovato un bug in Okular,\n" +"o che il file DVI o i file ausiliari (come i file dei caratteri,\n" +"o i file dei caratteri virtuali) sono molto rovinati.\n" +"Okular terminerà dopo questo messaggio. Se credi di avere trovato\n" +"un bug, o che Okular dovrebbe comportarsi meglio in questa situazione,\n" +"per piacere segnala il problema." + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "" +"Nella lista delle macro VF è stato trovato un byte di comando errato: %1" + +#~ msgid "" +#~ "

    The Ghostview program, which Okular uses internally to display the " +#~ "PostScript graphics that is included in this DVI file, is generally able " +#~ "to write its output in a variety of formats. The sub-programs that " +#~ "Ghostview uses for these tasks are called 'device drivers'; there is one " +#~ "device driver for each format that Ghostview is able to write. Different " +#~ "versions of Ghostview often have different sets of device drivers " +#~ "available. It seems that the version of Ghostview that is installed on " +#~ "this computer does not contain any of the device drivers " +#~ "that are known to Okular.

    It seems unlikely that a regular " +#~ "installation of Ghostview would not contain these drivers. This error may " +#~ "therefore point to a serious misconfiguration of the Ghostview " +#~ "installation on your computer.

    If you want to fix the problems with " +#~ "Ghostview, you can use the command gs --help to display " +#~ "the list of device drivers contained in Ghostview. Among others, Okular " +#~ "can use the 'png256', 'jpeg' and 'pnm' drivers. Note that Okular needs to " +#~ "be restarted to re-enable PostScript support.

    " +#~ msgstr "" +#~ "

    Il programma Ghostview, utilizzato internamente da Okular per " +#~ "mostrare la grafica PostScript contenuta nei file DVI, di solito è in " +#~ "grado di generare in uscita diversi formati di immagini. I sottoprogrammi " +#~ "che Ghostview usa a questo scopo sono chiamati «device driver»; ce n'è " +#~ "uno per ogni formato che Ghostview è in grado di scrivere. Le differenti " +#~ "versioni di Ghostview hanno spesso differenti insiemi di device driver " +#~ "disponibili. Sembra che la versione installata su questo computer non " +#~ "contenga nessuno dei device driver noti a Okular.

    È molto improbabile che un'installazione standard di Ghostview non " +#~ "contenga questi driver. Questo errore può essere dovuto ad un serio " +#~ "problema di configurazione dell'installazione di Ghostview sul tuo " +#~ "computer.

    Se vuoi correggere i problemi di Ghostview puoi usare il " +#~ "comando gs --help per vedere la lista dei device driver " +#~ "presenti. Tra gli altri, Okular può usare i driver «png256», «jpeg» e " +#~ "«pnm». Nota che Okular deve essere riavviato per riabilitare il supporto " +#~ "PostScript.

    " + +#~ msgid "DVI Backend" +#~ msgstr "Backend DVI" + +#~ msgid "A DVI file renderer" +#~ msgstr "Un visualizzatore di file DVI" + +#~ msgid "© 2006 Luigi Toscano" +#~ msgstr "© 2006 Luigi Toscano" + +#~ msgid "" +#~ "

    Okular relies on the kpsewhich program to locate font files on " +#~ "your hard disk and to generate PK fonts, if necessary.

    " +#~ msgstr "" +#~ "

    Okular dipende dal programma kpsewhich per trovare i file di " +#~ "tipi di carattere sul disco rigido e generare i file PK quando necessario." +#~ "

    " + +#~ msgid "Okular is currently generating bitmap fonts..." +#~ msgstr "Okular sta generando i caratteri bitmap..." + +#~ msgid "Aborts the font generation. Do not do this." +#~ msgstr "Interrompe la generazione dei caratteri. Non farlo." + +#~ msgid "" +#~ "Okular is currently generating bitmap fonts which are needed to display " +#~ "your document. For this, Okular uses a number of external programs, such " +#~ "as MetaFont. You can find the output of these programs later in the " +#~ "document info dialog." +#~ msgstr "" +#~ "Okular sta attualmente generando i caratteri bitmap necessari per la " +#~ "visualizzazione del documento. Per questa operazione, Okular usa alcuni " +#~ "programmi esterni, come MetaFont. In seguito potrai trovare l'output di " +#~ "questi programmi nella finestra con le informazioni sul documento." + +#~ msgid "Okular is generating fonts. Please wait." +#~ msgstr "Okular sta generando i caratteri. Attendere prego." + +#~ msgid "Font Generation Progress Dialog" +#~ msgstr "Progresso nella generazione dei caratteri" + +#~ msgid "Abort" +#~ msgstr "Interrompi" + +#~ msgid "What is happening here?" +#~ msgstr "Che cosa sta succedendo?" + +#~ msgid "%v of %m" +#~ msgstr "%v di %m" + +#~ msgid "Please be patient" +#~ msgstr "Per piacere sii paziente" + +#~ msgid "*.pdf|Portable Document Format (*.pdf)" +#~ msgstr "*.pdf|Portable Document Format (*.pdf)" + +#~ msgid "Export File As" +#~ msgstr "Esporta file con nome" + +#~ msgid "" +#~ "The file %1\n" +#~ "exists. Do you want to overwrite it?" +#~ msgstr "" +#~ "Il file «%1»\n" +#~ "esiste. Vuoi sovrascriverlo?" + +#~ msgid "Overwrite File" +#~ msgstr "Sovrascrivi file" + +#~ msgid "Overwrite" +#~ msgstr "Sovrascrivi" + +#~ msgid "Using dvipdfm to export the file to PDF" +#~ msgstr "Sto usando dvipdfm per esportare il file in formato PDF" + +#~ msgid "" +#~ "Okular is currently using the external program 'dvipdfm' to convert your " +#~ "DVI-file to PDF. Sometimes that can take a while because dvipdfm needs to " +#~ "generate its own bitmap fonts Please be patient." +#~ msgstr "" +#~ "Okular sta attualmente usando il programma esterno «dvipdfm» per " +#~ "convertire il file DVI in formato PDF. Talvolta questa operazione " +#~ "richiede tempo, perché dvipdfm deve generare i propri caratteri bitmap. " +#~ "Per piacere sii paziente." + +#~ msgid "Waiting for dvipdfm to finish..." +#~ msgstr "Sto attendendo che dvipdfm finisca..." + +#~ msgid "*.ps|PostScript (*.ps)" +#~ msgstr "*.ps|PostScript (*.ps)" + +#~ msgid "Using dvips to export the file to PostScript" +#~ msgstr "Sto usando dvips per esportare il file in formato PostScript" + +#~ msgid "" +#~ "Okular is currently using the external program 'dvips' to convert your " +#~ "DVI-file to PostScript. Sometimes that can take a while because dvips " +#~ "needs to generate its own bitmap fonts Please be patient." +#~ msgstr "" +#~ "Okular sta attualmente usando il programma esterno «dvips» per convertire " +#~ "il file DVI in formato PostScript. Talvolta questa operazione può " +#~ "richiedere parecchio tempo perché dvips deve generare i propri caratteri " +#~ "bitmap. Per piacere sii paziente." + +#~ msgid "Waiting for dvips to finish..." +#~ msgstr "Sto attendendo che dvips finisca..." + +#~ msgid "Functionality Unavailable" +#~ msgstr "Funzionalità non disponibile" + +#~ msgid "" +#~ "File corruption Okular could not interpret your DVI " +#~ "file. This is most commonly caused by a corrupted file." +#~ msgstr "" +#~ "File rovinato. Okular non riesce ad interpretare il " +#~ "file DVI. Probabilmente ciò significa che il file DVI è rovinato." + +#~ msgid "DVI File Error" +#~ msgstr "Errore nel file DVI" + +#~ msgid "Not All Font Files Found" +#~ msgstr "Non sono stati trovati tutti i tipi di carattere" + +#~ msgid "Locating fonts..." +#~ msgstr "Individuazione tipi di carattere..." + +#~ msgid "" +#~ "

    There were problems running kpsewhich. As a result, some font " +#~ "files could not be located, and your document might be unreadable.

    Possible reason: The kpsewhich program is perhaps not " +#~ "installed on your system, or it cannot be found in the current search " +#~ "path.

    What you can do: The kpsewhich program is normally " +#~ "contained in distributions of the TeX typesetting system. If TeX is not " +#~ "installed on your system, you could install the TeX Live distribution " +#~ "(www.tug.org/texlive). If you are sure that TeX is installed, please try " +#~ "to use the kpsewhich program from the command line to check if it really " +#~ "works.

    " +#~ msgstr "" +#~ "

    Si sono incontrati problemi ad eseguire kpsewhich. Di " +#~ "conseguenza, alcuni caratteri non sono stati trovati, e quindi il " +#~ "documento potrebbe essere illeggibile.

    Possibile ragione: Il " +#~ "programma kpsewhich potrebbe non essere installato, o non è " +#~ "rintracciabile nel percorso di ricerca corrente.

    Che cosa puoi " +#~ "fare: Il programma kpsewhich è normalmente contenuto nelle " +#~ "distribuzioni del sistema di composizione tipografica TeX. Se TeX non è " +#~ "installato, puoi installare la distribuzione TeX Live (www.tug.org/" +#~ "texlive). Se sei sicuro che TeX sia installato, prova ad usare il " +#~ "programma kpsewhich dalla linea di comando per controllare se funziona " +#~ "correttamente.

    " + +#~ msgid "Problem locating fonts" +#~ msgstr "Problema nel reperimento dei caratteri" + +#~ msgid "Font generation aborted" +#~ msgstr "Generazione dei tipi di carattere interrotta" + +#~ msgid "Export: %1 to PDF" +#~ msgstr "Esportazione: %1 in formato PDF" + +#~ msgid "Export: %1 to PostScript" +#~ msgstr "Esportazione: %1 in formato PostScript" + +#~ msgid "The fontlist is currently empty." +#~ msgstr "La lista dei tipi di carattere è attualmente vuota." + +#~ msgid "TeX Name" +#~ msgstr "Nome TeX" + +#~ msgid "Family" +#~ msgstr "Famiglia" + +#~ msgid "Zoom" +#~ msgstr "Zoom" + +#~ msgid "Type" +#~ msgstr "Tipo" + +#~ msgid "Encoding" +#~ msgstr "Codifica" + +#~ msgid "Comment" +#~ msgstr "Commento" + +#~ msgid "TeX virtual" +#~ msgstr "TeX virtuale" + +#~ msgid "TeX Font Metric" +#~ msgstr "Metrica dei caratteri TeX" + +#~ msgid "FreeType" +#~ msgstr "FreeType" + +#~ msgid "Could not allocate memory for a font structure" +#~ msgstr "" +#~ "Non è stato possibile allocare memoria per una struttura di caratteri" + +#~ msgid "Not enough memory to load the DVI-file." +#~ msgstr "Memoria insufficiente per caricare il file DVI." + +#~ msgid "Could not load the DVI-file." +#~ msgstr "Non è possibile caricare il file DVI." + +#~ msgid "Checksum mismatch" +#~ msgstr "Errore di checksum" + +#~ msgid " in font file " +#~ msgstr " nel file del tipo di carattere " + +#~ msgid "Could not allocate memory for a macro table." +#~ msgstr "Non è possibile allocare memoria per una tabella di macro." + +#~ msgid "Virtual character " +#~ msgstr "Carattere virtuale " + +#~ msgid " in font " +#~ msgstr " nel tipo di carattere " + +#~ msgid " ignored." +#~ msgstr " ignorato." + +#~ msgid "Fatal Error" +#~ msgstr "Errore fatale" + +#~ msgid "KDVI: Information" +#~ msgstr "KDVI: Informazioni" + +#~ msgid "" +#~ "This DVI file contains source file information. You may click into " +#~ "the text with the middle mouse button, and an editor will open the TeX-" +#~ "source file immediately." +#~ msgstr "" +#~ " Questo file DVI contiene informazioni sul file sorgente. Puoi fare " +#~ "clic con il tasto centrale del mouse sul testo e verrà immediatamente " +#~ "aperto un editor di testo con il sorgente TeX del file." + +#~ msgid "Do not show this message again" +#~ msgstr "Non mostrare nuovamente questo messaggio" + +#~ msgid "Explain in more detail..." +#~ msgstr "Spiega più in dettaglio..." + +#~ msgid "" +#~ "File error. The specified file '%1' does not exist. " +#~ "KDVI already tried to add the ending '.dvi'." +#~ msgstr "" +#~ "Errore di file. Il file specificato \"%1\" non " +#~ "esiste. KDVI ha già provato anche ad aggiungere l'estensione \".dvi\"" + +#~ msgid "File Error" +#~ msgstr "Errore di file" + +#~ msgid "Could Not Find Reference" +#~ msgstr "Non è possibile trovare il riferimento" diff --git a/po/it/okular_epub.po b/po/it/okular_epub.po new file mode 100644 index 0000000..3f4264a --- /dev/null +++ b/po/it/okular_epub.po @@ -0,0 +1,55 @@ +# translation of okular_epub.po to Italian +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Luigi Toscano , 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_epub\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-06-22 20:10+0200\n" +"Last-Translator: Luigi Toscano \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Luigi Toscano" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "luigi.toscano@tiscali.it" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "Errore durante l'apertura del documento EPub." + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "EPub" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "Configurazione del backend EPub" + +#~ msgid "EPub Backend" +#~ msgstr "Backend EPub" + +#~ msgid "An EPub backend" +#~ msgstr "Backend EPub" + +#~ msgid "© 2008 Ely Levy" +#~ msgstr "© 2008 Ely Levy" + +#~ msgid "Ely Levy" +#~ msgstr "Ely Levy" diff --git a/po/it/okular_fax.po b/po/it/okular_fax.po new file mode 100644 index 0000000..575642e --- /dev/null +++ b/po/it/okular_fax.po @@ -0,0 +1,45 @@ +# translation of okular_fax.po to Italian +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Luigi Toscano , 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_fax\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-12-09 12:28+0100\n" +"Last-Translator: Luigi Toscano \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Luigi Toscano" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "luigi.toscano@tiscali.it" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "Impossibile caricare il documento" + +#~ msgid "Fax Backend" +#~ msgstr "Backend fax" + +#~ msgid "A G3/G4 fax document backend" +#~ msgstr "Un backend per documenti fax G3/G4" + +#~ msgid "© 2008 Tobias Koenig" +#~ msgstr "© 2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/it/okular_fictionbook.po b/po/it/okular_fictionbook.po new file mode 100644 index 0000000..d1e4bf9 --- /dev/null +++ b/po/it/okular_fictionbook.po @@ -0,0 +1,95 @@ +# translation of okular_fictionbook.po to Italian +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Luigi Toscano , 2007, 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_fictionbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-06-22 20:11+0200\n" +"Last-Translator: Luigi Toscano \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Luigi Toscano" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "luigi.toscano@tiscali.it" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "Il documento non è un file FictionBook valido" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "Impossibile aprire il documento: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "Il documento non è un archivio ZIP valido" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "Struttura del documento non valida (manca la directory principale)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "Non è stato trovato alcun contenuto nel documento" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "Documento XML non valido: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "FictionBook" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "Configurazione del backend FictionBook" + +#~ msgid "Fiction Book Backend" +#~ msgstr "Backend Fiction Book" + +#~ msgid "A renderer for FictionBook eBooks" +#~ msgstr "Un visualizzatore per ebook FictionBook" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" + +#~ msgid "Title" +#~ msgstr "Titolo" + +#~ msgid "Author" +#~ msgstr "Autore" + +#~ msgid "Producer" +#~ msgstr "Produttore" + +#~ msgid "Created" +#~ msgstr "Creato" + +#~ msgid "Creator" +#~ msgstr "Creatore" diff --git a/po/it/okular_ghostview.po b/po/it/okular_ghostview.po new file mode 100644 index 0000000..458be60 --- /dev/null +++ b/po/it/okular_ghostview.po @@ -0,0 +1,122 @@ +# translation of okular_ghostview.po to Italian +# Luciano Montanaro , 2003, 2005. +# Daniele Medri , 2003. +# Andrea Rizzi , 2004. +# Federico Cozzi , 2004, 2005. +# Federico Zenith , 2004. +# Luigi Toscano , 2007. +msgid "" +msgstr "" +"Project-Id-Version: okular_ghostview\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-06-03 15:53+0200\n" +"Last-Translator: Luigi Toscano \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Luigi Toscano" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "luigi.toscano@tiscali.it" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "Usa i caratteri della piattaforma" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"Determina se Ghostscript è autorizzato a usare i caratteri della " +"piattaforma, se falsa è permesso l'uso dei soli caratteri inseriti nel " +"documento." + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "Impostazioni generali" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "&Usa i caratteri della piattaforma" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Configurazione del backend Ghostscript" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "Versione documento" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "Livello del linguaggio" + +#~ msgid "PS Backend" +#~ msgstr "Backend PS" + +#~ msgid "A PostScript file renderer." +#~ msgstr "Un visualizzatore di file PostScript." + +#~ msgid "© 2007-2008 Albert Astals Cid" +#~ msgstr "© 2007-2008 Albert Astals Cid" + +#~ msgid "Based on the Spectre library." +#~ msgstr "Basato sulla libreria Spectre." + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "" +#~ "Anti-aliasing makes the result look better, but it makes the display take " +#~ "longer" +#~ msgstr "" +#~ "L'antialias migliora l'aspetto del risultato, ma la visualizzazione " +#~ "richiede più tempo" + +#~ msgid "&Enable anti-aliasing of fonts" +#~ msgstr "&Abilita l'antialias dei caratteri" + +#~ msgid "&Enable anti-aliasing of graphics" +#~ msgstr "&Abilita l'antialias delle immagini" + +#~ msgid "" +#~ "Ghostscript is the basic renderer (the program which draws the " +#~ "picture)
    \n" +#~ "In case of problems you might want to see its error messages" +#~ msgstr "" +#~ "Ghostscript è il renderer (il programma che disegna l'immagine) di " +#~ "base
    \n" +#~ "In caso di problemi puoi provare a guardare i suoi messaggi di errore" + +#~ msgid "&Show Ghostscript messages in a separate box" +#~ msgstr "&Mostra i messaggi di Ghostscript in un riquadro a parte" + +#~ msgid "Ghostscript Configuration" +#~ msgstr "Configurazione di Ghostscript" diff --git a/po/it/okular_kimgio.po b/po/it/okular_kimgio.po new file mode 100644 index 0000000..69af015 --- /dev/null +++ b/po/it/okular_kimgio.po @@ -0,0 +1,70 @@ +# translation of okular_kimgio.po to Italian +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Luigi Toscano , 2007, 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_kimgio\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2017-11-19 19:51+0100\n" +"Last-Translator: Luigi Toscano \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 2.0\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Luigi Toscano" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "luigi.toscano@tiscali.it" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "Impossibile caricare il documento: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" +"Il documento sembra essere malformato. Questa è la migliore approssimazione " +"dell'aspetto desiderato del documento." + +#~ msgid "Image Backend" +#~ msgstr "Backend immagini" + +#~ msgid "A simple image backend" +#~ msgstr "Un semplice backend per le immagini" + +#~ msgid "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" +#~ msgstr "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" + +#~ msgid "Main Toolbar" +#~ msgstr "Barra degli strumenti principale" diff --git a/po/it/okular_markdown.po b/po/it/okular_markdown.po new file mode 100644 index 0000000..365e7f5 --- /dev/null +++ b/po/it/okular_markdown.po @@ -0,0 +1,53 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the okular package. +# Luigi Toscano , 2017, 2018, 2019. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-04-02 00:18+0100\n" +"Last-Translator: Luigi Toscano \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 2.0\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Luigi Toscano" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "luigi.toscano@tiscali.it" + +#: converter.cpp:59 converter.cpp:93 +#, kde-format +msgid "Failed to open the document" +msgstr "Impossibile aprire il documento" + +#: converter.cpp:106 converter.cpp:124 +#, kde-format +msgid "Failed to compile the Markdown document." +msgstr "Impossibile compilare il documento Markdown." + +#: generator_md.cpp:58 +#, kde-format +msgid "Enable SmartyPants formatting" +msgstr "Abilita la formattazione SmartyPants" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown" +msgstr "Markdown" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown Backend Configuration" +msgstr "Configurazione del backend Markdown" diff --git a/po/it/okular_mobi.po b/po/it/okular_mobi.po new file mode 100644 index 0000000..c05adc8 --- /dev/null +++ b/po/it/okular_mobi.po @@ -0,0 +1,63 @@ +# translation of okular_mobi.po to Italian +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Luigi Toscano , 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_mobi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-06-22 20:11+0200\n" +"Last-Translator: Luigi Toscano \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Luigi Toscano" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "luigi.toscano@tiscali.it" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Errore durante l'apertura di un documento Mobipocket." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "" +"Questo libro è protetto da sistemi di gestione di diritti d'autore (DRM) e " +"può essere visualizzato solo su particolari dispositivi scelti" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "Mobipocket" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "Configurazione del backend Mobipocket" + +#~ msgid "Mobipocket Backend" +#~ msgstr "Backend Mobipocket" + +#~ msgid "A mobipocket backend" +#~ msgstr "Un backend mobipocket" + +#~ msgid "© 2008-2009 Jakub Stachowski" +#~ msgstr "© 2008-2009 Jakub Stachowski" + +#~ msgid "Jakub Stachowski" +#~ msgstr "Jakub Stachowski" diff --git a/po/it/okular_poppler.po b/po/it/okular_poppler.po new file mode 100644 index 0000000..57b365a --- /dev/null +++ b/po/it/okular_poppler.po @@ -0,0 +1,443 @@ +# translation of okular_poppler.po to Italian +# Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. +# Daniele Medri , 2003. +# Federico Cozzi , 2004. +# Enrico Ros , 2005. +# Andrea Rizzi , 2005. +# Nicola Ruggero , 2005, 2006. +# Nicola Ruggero , 2006, 2007. +# SPDX-FileCopyrightText: 2007, 2008, 2009, 2010, 2012, 2013, 2018, 2019, 2020, 2021, 2023, 2025 Luigi Toscano +# +msgid "" +msgstr "" +"Project-Id-Version: okular_poppler\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-10 19:42+0200\n" +"Last-Translator: Luigi Toscano \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 25.04.0\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Luigi Toscano" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "luigi.toscano@tiscali.it" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "Abilita anteprima sovrastampa:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "Mai" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "Sempre" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "Automatica" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "Ottimizza linee sottili:" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "No" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "Pieno" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "Figura" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "Modalità di scala predefinita per la stampa:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "Adatta all'area stampabile" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "Adatta alla pagina" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "Nessuna; stampa la dimensione originale" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" +"Abilitando questa opzione permette ad Okular di contattare server OCSP di " +"terze parti per verificare se i certificati usati per la firma digitale sono " +"stati revocati successivamente alla loro creazione." + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" +"Verifica la revoca dei certificati di firme digitali usando server di terze " +"parti" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "Motore delle firme:" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" +"Queste firme possono essere validate solo da utenti moderni di Okular con il " +"motore GnuPG attivato" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "Permette l'uso di chiavi PHP per le firme (estensione di Okular)" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "Banca dati dei certificati" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "Predefinito:" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "Personalizzato:" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "Certificati disponibili" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "Carica &firme" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "Opzioni PDF" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "Stampa annotazioni" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "Includi le annotazioni nel documento stampato" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"Includi le annotazioni nel documento stampato. Puoi disabilitare questa " +"opzione se vuoi stampare il documento originale senza annotazioni." + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "Forza trasformazione" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "Trasforma in immagine prima di stampare" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"Forza la trasformazione di ciascuna pagina in immagine prima di stamparla. " +"Normalmente questo produce dei pessimi risultati ma è utile quando si " +"stampano documenti che appaiono stampati male." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "Modalità di scala per le pagine stampate" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "Modalità di scala:" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF v. %1.%2" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "Formato" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "Cifrato" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "Non cifrato" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "Sicurezza" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "Sì" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "Ottimizzato" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Firmato da: %1\n" +"\n" +"Data: %2" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "In uso Poppler %1" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" +"In uso Poppler %1\n" +"\n" +"Compilato usando Poppler %2" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "Configurazione del backend PDF" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "Impossibile scrivere il file temporaneo" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "Impossibile rinominare il file temporaneo" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" +"Sono stati trovati alcuni errori nel documento, Okular potrebbe non essere " +"in grado di mostrarne il contenuto correttamente" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" +"Queste firme funzionano solo tra versioni moderne di Okular con il motore " +"basato su GnuPG attivo" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "Abilita firme PGP" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "Rilasciato a" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "Posta elettronica" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "Data di scadenza" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" +"Stai usando una libraria Poppler compilata senza supporto NSS.\n" +"Per questo motivo l'aggiunta di firme digitali non è possibile" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "per sempre" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "Riavvio necessario" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "" +"Devi riavviare Okular dopo aver modificato le impostazioni della cartella di " +"NSS" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter Password" +msgstr "Inserisci password" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "Digita la password per aprire %1:" + +#~ msgid "Not Available" +#~ msgstr "Non disponibile" + +#~ msgid "PDF Certificates" +#~ msgstr "Certificati PDF" + +#~ msgid "PDF Digital Signature Certificates" +#~ msgstr "Certificati per le firme digitali dei PDF" + +#~ msgid "Select rasterization to enable this!" +#~ msgstr "Seleziona la rasterizzazione per abilitarlo." + +#~ msgid "PDF Backend" +#~ msgstr "Backend PDF" + +#~ msgid "A PDF file renderer" +#~ msgstr "Un visualizzatore di file PDF" + +#~ msgid "© 2005-2008 Albert Astals Cid" +#~ msgstr "© 2005-2008 Albert Astals Cid" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Saving files with /Encrypt is not supported." +#~ msgstr "Il salvataggio di file con /Encrypt non è supportato." + +#~ msgid "Unknown" +#~ msgstr "Sconosciuto" + +#~ msgid "Unknown Date" +#~ msgstr "Data sconosciuta" + +#~ msgid "Unknown Encryption" +#~ msgstr "Cifratura sconosciuta" + +#~ msgid "Unknown Optimization" +#~ msgstr "Ottimizzazione sconosciuta" + +#~ msgid "Please enter the password to read the document:" +#~ msgstr "Per favore inserisci la password per leggere il documento:" + +#~ msgid "Incorrect password. Try again:" +#~ msgstr "Password non corretta. Riprova:" diff --git a/po/it/okular_tiff.po b/po/it/okular_tiff.po new file mode 100644 index 0000000..8fee285 --- /dev/null +++ b/po/it/okular_tiff.po @@ -0,0 +1,28 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# Luigi Toscano , 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-07-15 23:41+0200\n" +"Last-Translator: Luigi Toscano \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 20.04.1\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Luigi Toscano" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "luigi.toscano@tiscali.it" diff --git a/po/it/okular_txt.po b/po/it/okular_txt.po new file mode 100644 index 0000000..b9008e0 --- /dev/null +++ b/po/it/okular_txt.po @@ -0,0 +1,49 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Luigi Toscano , 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_txt\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-06-22 20:46+0200\n" +"Last-Translator: Luigi Toscano \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Luigi Toscano" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "luigi.toscano@tiscali.it" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "Txt" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "Configurazione del backend di testo" + +#~ msgid "Txt Backend" +#~ msgstr "Backend di testo semplice" + +#~ msgid "Txt backend." +#~ msgstr "Backend di testo semplice." + +#~ msgid "© 2013 Azat Khuzhin" +#~ msgstr "© 2013 Azat Khuzhin" + +#~ msgid "Azat Khuzhin" +#~ msgstr "Azat Khuzhin" diff --git a/po/it/okular_xps.po b/po/it/okular_xps.po new file mode 100644 index 0000000..ddda5eb --- /dev/null +++ b/po/it/okular_xps.po @@ -0,0 +1,57 @@ +# translation of okular_xps.po to Italian +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Luigi Toscano , 2007. +msgid "" +msgstr "" +"Project-Id-Version: okular_xps\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-11-18 19:26+0100\n" +"Last-Translator: Luigi Toscano \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Luigi Toscano" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "luigi.toscano@tiscali.it" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "Revisione" + +#~ msgid "XPS Backend" +#~ msgstr "Backend XPS" + +#~ msgid "An XPS backend" +#~ msgstr "Un backend per XPS" + +#~ msgid "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" +#~ msgstr "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" + +#~ msgid "Brad Hards" +#~ msgstr "Brad Hards" + +#~ msgid "Jiri Klement" +#~ msgstr "Jiri Klement" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" diff --git a/po/it/org.kde.active.documentviewer.po b/po/it/org.kde.active.documentviewer.po new file mode 100644 index 0000000..89f8600 --- /dev/null +++ b/po/it/org.kde.active.documentviewer.po @@ -0,0 +1,233 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the okular package. +# SPDX-FileCopyrightText: 2012, 2016, 2018, 2019, 2020, 2022, 2024, 2025 Luigi Toscano +# +msgid "" +msgstr "" +"Project-Id-Version: org.kde.active.documentviewer\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-29 14:38+0200\n" +"Last-Translator: Luigi Toscano \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 25.04.0\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "Segnalibri" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "Visualizzatore certificato" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "Emesso da" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "Nome comune:" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "Posta elettronica:" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "Organizzazione:" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "Emesso a" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "Validità" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "Emesso il:" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "Scade il:" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "Impronte digitali" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "Impronta digitale SHA-1:" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "Impronta digitale SHA-256:" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +msgid "Export…" +msgstr "Esporta…" + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "Chiudi" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "File di certificato (*.cer)" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "Errore" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "Impossibile esportare il certificato." + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "Okular" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "Apri…" + +#: ui/Main.qml:49 +msgid "About" +msgstr "Informazioni" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "Password richiesta" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "Rimuovi il segnalibro" + +#: ui/MainView.qml:29 +msgid "Bookmark this page" +msgstr "Salva questa pagina nei segnalibri" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "Miniature" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "Indice" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "Firme" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "Proprietà della firma" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "Stato della validità" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "Validità della firma:" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "Modifiche del documento:" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "Informazioni aggiuntive" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "Firmato da:" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "Ora di firma:" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "Motivo:" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "Posizione:" + +#: ui/SignaturePropertiesPage.qml:96 +msgid "Document Version" +msgstr "Versione del documento" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Revisione %1 di %2 del documento" + +#: ui/SignaturePropertiesPage.qml:108 +msgid "Save Signed Version…" +msgstr "Salva versione firmata…" + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +msgid "View Certificate…" +msgstr "Visualizza certificato…" + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "Impossibile salvare la firma." + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "Non disponibile" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "Nessun risultato trovato." + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "Nessun documento aperto" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "Documenti recenti" + +#: ui/WelcomeView.qml:108 +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "I miei documenti" + +#~ msgid "Open..." +#~ msgstr "Apri..." + +#~ msgid "Search..." +#~ msgstr "Cerca..." + +#~ msgid "" +#~ "No Documents found. To start to read, put some files in the Documents " +#~ "folder of your device." +#~ msgstr "" +#~ "Nessun documento trovato. Per iniziare a leggere, metti alcuni file nella " +#~ "cartella Documenti del tuo dispositivo." + +#~ msgid "Document viewer for Plasma Active using Okular" +#~ msgstr "Visore di documenti basato su Okular per Plasma Active" + +#~ msgid "Reader" +#~ msgstr "Lettore" + +#~ msgid "Copyright 2012 Marco Martin" +#~ msgstr "Copyright 2012 Marco Martin" + +#~ msgid "Marco Martin" +#~ msgstr "Marco Martin" + +#~ msgid "URL of the file to open" +#~ msgstr "Indirizzo (URL) del file da aprire" diff --git a/po/ja/docs/okular/configure.png b/po/ja/docs/okular/configure.png new file mode 100644 index 0000000000000000000000000000000000000000..c25f780ed6de194ed4eef4189fdb44b9cbee1ca2 GIT binary patch literal 65433 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

    X$oM8)j$b2n9 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

    0&Go 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 Wn|E_wy_Yc1m!hniOqG;r$o~U%(DCX3 literal 0 HcmV?d00001 diff --git a/po/ja/docs/okular/embedded-files-bar.png b/po/ja/docs/okular/embedded-files-bar.png new file mode 100644 index 0000000000000000000000000000000000000000..399154a99073b00b0e33ab4f22832752dcabeb41 GIT binary patch literal 4678 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 literal 0 HcmV?d00001 diff --git a/po/ja/docs/okular/index.docbook b/po/ja/docs/okular/index.docbook new file mode 100644 index 0000000..fb80a2e --- /dev/null +++ b/po/ja/docs/okular/index.docbook @@ -0,0 +1,1908 @@ + + + + KPDF"> + PDF"> + + +]> + + + + &okular; ハンドブック + + Albert Astals Cid

    aacid@kde.org
    + + + Pino Toscano
    pino@kde.org
    +
    +
    + YukikoBando
    日本語翻訳
    + + &FDLNotice; + 2008-08-21 + 0.7 + + + &okular; は &kpdf; のコードを元にした &kde; の汎用文書ビューアです。 + + + KDE + okular + pdf + ps + tiff + djvu + dvi + chm + xps + + + + はじめに + &okular; は &kpdf; アプリケーションのコードを元にした &kde; の汎用文書ビューアです。&kpdf; のコードを元にしていますが、概観モード、注釈のサポート、より使いやすく改良されたプレゼンテーションモードといった &okular; 独自の機能も備えています。 + + + + 基本的な使い方 + + ファイルを開く + &okular; でファイルを見るには、ファイル開く... を選択し、ダイアログでサポートされているファイルを選択して 開く を押します。選択したファイルがメインビューに表示されます。 + 以前に &okular; で開いたファイルがあれば、ファイル最近のファイルを開く から素早く開くこともできます。 + ファイルを開いたら今度は文書を読むために文書内を移動したくなるでしょう。その方法については 次のセクション を参照してください。 + + + ナビゲーション + このセクションでは &okular; で文書内を移動する方法を説明します。 + メインビューをスクロールする方法はたくさんあります。その一つに 上矢印 と 下矢印 キーがあります。他にもスクロールバーやマウスホイール、Page Up と Page Down キーが使えます。 + また、閲覧ツールが有効になっているときは、文書のどこかをマウスの左ボタンでクリックし、ボタンを押したまま見たい個所と逆の方向にドラッグして移動することもできます。閲覧ツールは ツール閲覧ツール で有効にします。 + 左側のナビゲーションパネルを利用して文書内を移動する方法も 2 つあります。 + + + ページのサムネイルをクリックするとそのページに移動します。 + + + 文書に目次がある場合は、目次の項目をクリックするとその項目のページに移動します。 + + + ページにリンクが含まれている文書では、リンクをクリックするとリンク先のページに移動します。リンク先がウェブページや外部文書であれば、それぞれのフォーマットに関連付けられているデフォルトの &kde; アプリケーションが起動します。 + さらに、以下の機能を使って文書内の特定の場所に素早く移動することができます。 + + + &Ctrl;Home または 移動 最初のページ で文書の最初のページに移動します。 + + + &Ctrl;End または 移動 最後のページ で文書の最後のページに移動します。 + + + Space と Page Down キー、ツールバーの 次のページ ボタン、メニューの 移動 次のページ で次のページに移動します。 + + + Backspace と Page Up キー、ツールバーの 前のページ ボタン、メニューの 移動 前のページ で前のページに移動します。 + + + + + プレゼンテーションモード + &okular; で文書を見るもう一つの方法にプレゼンテーションモードがあります。プレゼンテーションモードは 表示プレゼンテーション で有効にします。このモードでは文書は 1 ページずつ表示されます。また、ページ全体が見えるように「ページに合わせる」表示モードが使われます。 + + &PDF; 文書は文書が常にプレゼンテーションモードで開くように指定することさえできます。 + + プレゼンテーションモードではスクリーンの上部に操作バーが配置されます。マウスカーソルをそこへ移動すると表示されます。 + ページを変更するには、マウスの左ボタン (次のページ) と右ボタン (前のページ)、マウスホイール、操作バーの矢印アイコンとページ番号を入力できる編集ボックス、および ナビゲーション のセクションに記載されているキーが使えます。 + プレゼンテーションモードは ESC キーを押すか操作バーの 終了 アイコンをクリックすることでいつでも終了できます。 + ペンシルを使って表示されているページに描画することもできます。操作バーの 描画モードの切り替え アイコンをクリックして描画モードを有効にしたり無効にしたりします。描画したものは他のページに移ると自動的に消えますが、操作バーの 描画を消す アイコンをクリックして手動で消すこともできます。 + マルチモニタ構成では、複数のスクリーンを使ってプレゼンテーションを行うことができます。複数のスクリーンが検出されると、操作バーにスクリーンのアイコンが現れます。このボタンのドロップダウンリストからスクリーンを選択することで、プレゼンテーションを別のスクリーンに移すことができます。 + プレゼンテーションモードにはいくつかの設定オプションがあります。詳しくは &okular; の設定 の章を参照してください。 + + + + + &okular; の高度な機能 + + 埋め込みファイル + 文書にファイルが埋め込まれていれば、文書を開いたときにそれを知らせるためにメインビューの上部に黄色いバーが現れます。 + + 埋め込みファイルバー + + + + + + 埋め込みファイルバー + + + + そのような場合は、バーのテキスト中のリンクをクリックするか、ファイル埋め込みファイル を選択して埋め込みファイルのダイアログを開くことができます。このダイアログを使って埋め込みファイルを見たり取り出したりします。 + + + 注釈 + &okular; では文書に注釈を加えることができます。 + + DRM (デジタル著作権管理) の制限により (主に &PDF; 文書で) 一部のプロパティの追加と編集および注釈の削除ができない場合があります。 + + + 注釈を加える + 文書に注釈を加えるには、ツール注釈 を選択するか F6 を押して注釈バーを有効にする必要があります。注釈バーが表示されたら、その上のボタンを押して注釈の作成を開始します。 + + 注釈バーはメインビューのどの辺にでも配置できます。ドラッグして好みの場所に移動してください。 + + + 注釈バーを有効にすると通常のモードに切り替わります。 + + 注釈の作成を中止するには、もう一度同じボタンを押します。 + 新しく追加した注釈の作者は、&okular; の 設定 ダイアログの 個人情報 のページで設定されている名前になります。 + + + 注釈を削除する + 注釈を削除するには、注釈をマウスの右ボタンでクリックして 削除 を選択します。 + 注釈を削除すると、そのウィンドウが開いていれば閉じられます。 + + このオプションは文書が注釈の削除を許可していないために使えない場合があります。 + + + + 注釈を編集する + 注釈を編集するには、注釈をマウスの右ボタンでクリックして プロパティ... を選択します。注釈の一般的な設定 (色、不透明度、作者など) と選択した注釈のタイプ特有の設定を含むダイアログが表示されます。 + 注釈を移動するには、&Ctrl; キーを押しながらマウスの左ボタンでクリックしてドラッグします。 + + 文書の制約により (主に &PDF; 文書で) 一部のオプションが使えない場合があります。 + + + + + + + メニューバー + + + <guimenu +>ファイル</guimenu +> メニュー + + + + &Ctrl;O ファイル 開く... + + + サポートされているファイルを開きます。既に開いているファイルは新しいファイルを開くと閉じられます。詳しくは ファイルを開く のセクションを参照してください。 + + + + + + ファイル 最近のファイルを開く + + + 以前に開いたファイルをサブメニューから選択して開きます。既に開いているファイルは新しいファイルを開くと閉じられます。詳しくは ファイルを開く のセクションを参照してください。 + + + + + + ファイル PostScript を PDF としてインポート... + + + PostScript ファイルを開いて &PDF; に変換します。 + + + + + + ファイル 名前を付けて保存... + + + 文書のバックエンドを用いて、現在開いているファイルを別名で保存します。&PDF; バックエンドの場合は、フォームのフィールドの値を変えて保存することも可能です (Poppler +>= 0.8 が必要)。 + + + + + + ファイル 名前を付けてコピーを保存... + + + 現在の文書のバックエンドを用いずに、開いているファイルのコピーを別名で保存します。 + + + + + + F5 ファイル 再読み込み + + + 現在開いているファイルを再読み込みします。 + + + + + + &Ctrl;P ファイル 印刷... + + + 表示されている文書を印刷します。 + + + + + + ファイル 印刷プレビュー... + + + 表示されている文書がデフォルトのオプションでどのように印刷されるかをプレビューできます。 + + + + + + ファイル プロパティ + + + 文書に関する基本的な情報 (タイトル、作者、作成日) と使用されているフォントの詳細を表示します。表示される情報は文書のタイプによって異なります。 + + + + + ファイル 埋め込みファイル... + + + 文書に埋め込まれているファイルがあれば表示します。詳しくは 埋め込みファイル のセクションを参照してください。 + + + + + + ファイル エクスポート + + + 現在の文書をエクスポートできるフォーマットがサブメニューに表示されます。最初のエントリは文書の種類にかかわらず常に プレーンテキスト です。 + + + + + + &Ctrl;Q ファイル 終了 + + + &okular; を終了します。 + + + + + + + <guimenu +>編集</guimenu +> メニュー + + + + &Ctrl;C 編集 コピー + + + テキスト選択 モードで選択したテキストをクリップボードにコピーします。 + + + + + + + + &Ctrl;A 編集 すべて選択 + + + 文書にテキストがある場合、すべてのテキストを選択します。これは テキスト選択 モードでのみ使えます。 + + + + + + + + &Ctrl;F 編集 検索... + + + メインビューの下部に検索バーを表示します。これを使って文書内の文字列を検索することができます。 + + + + + + F3 編集 次を検索 + + + 先に検索した文字列にマッチする次の個所を探します。 + + + + + + + <guimenu +>表示</guimenu +> メニュー + + + + &Ctrl;&Shift;P 表示 プレゼンテーション + + + プレゼンテーションモードに切り替えます。詳しくは プレゼンテーションモード のセクションを参照してください。 + + + + + &Ctrl;+ 表示 拡大 + + + メインビューのズーム率を上げます。 + + + + + + &Ctrl;- 表示 縮小 + + + メインビューのズーム率を下げます。 + + + + + 表示 幅に合わせる + + + ページの幅がメインビューの幅と同じになるようにメインビューのズーム率を調整します。 + + + + + 表示 ページに合わせる + + + 少なくとも 1 ページ全体が見えるようにメインビューのズーム率を調整します。 + + + + + 表示 連続 + + + 連続表示モードを有効にします。このモードでは文書の全ページがメインビューに表示されるので、移動 前のページ や 移動次のページ を使わずに文書内をスクロールできます。 + + + + + 表示 表示モード + + + サブメニューからページの表示モードを選択します。単一ページ (横 1 列に 1 ページのみ)、見開きページ (本を開いたときのように横 1 列に 2 ページ)、概観 (横 1 列に表示するページ数は &okular; の設定 で指定) の 3 つのモードがあります。 + + + + + 表示 向き + + + サブメニューから回転方向を選択して文書の向きを変更します。 + + 向きの変更はすべてのページに適用されます。 + + 文書を元の向きに戻すには、サブメニューから 元の向き を選択します。それまでに手動で行った向きの変更はすべて破棄されます。 + + + + + 表示 ページサイズ + + + 文書のページサイズを変更します。 + + このサブメニューは文書が複数の異なるページサイズをサポートしている場合にのみ有効になります。 + + + + + + 表示 余白を除去 + + + ページを表示するときに周りの余白を除去します。 + + + + + 表示 フォームを表示/隠す + + + 文書に含まれるフォームの表示/非表示を切り替えます。 + + このメニュー項目は、文書にフォームが含まれている場合にのみ有効になります。 + + + + + + + + <guimenu +>移動</guimenu +> メニュー + + + + Backspace 移動 前のページ + + + 文書の前のページに移動します。 + + + + + Space 移動 次のページ + + + 文書の次のページに移動します。 + + + + + &Ctrl;Home 移動 最初のページ + + + 文書の最初のページに移動します。 + + + + + &Ctrl;End 移動 最後のページ + + + 文書の最後のページに移動します。 + + + + + 移動 文書の閲覧履歴の前へ戻る + + + 文書の閲覧履歴の一つ前へ移動します。 + + + + + 移動 文書の閲覧履歴の先へ進む + + + 文書の閲覧履歴の一つ先へ移動します。これは 文書の閲覧履歴の前へ戻る を使った後にのみ動きます。 + + + + + &Ctrl;G 移動 ページに移動... + + + ダイアログが開き、文書のどのページに移動するかを指定できます。 + + + + + + + <guimenu +>ブックマーク</guimenu +> メニュー + + + + &Ctrl;B ブックマーク ブックマークを追加/削除 + + + 現在のページにブックマークを設定したり、既に設定されているブックマークを解除したりします。 + + + + + ブックマーク 前のブックマーク + + + ブックマークが設定されている前のページに移動します。現在のページより前にブックマークが設定されていなければ何も起こりません。 + + + + + ブックマーク 次のブックマーク + + + ブックマークが設定されている次のページに移動します。現在のページより後にブックマークが設定されていなければ何も起こりません。 + + + + + ブックマーク ブックマークなし + + + このメニュー項目は、現在の文書にブックマークされたページがない場合にのみ表示されます。それ以外の場合は、ブックマークされたすべてのページが表示されます。それをクリックすると、直接そのページに移動できます。 + + + + + + + <guimenu +>ツール</guimenu +> メニュー + + + + &Ctrl;1 ツール 閲覧ツール + + + マウスは通常どおりに動きます。左ボタンで文書をドラッグしたりリンクをクリックし、右ボタンでブックマークを追加したりページをビューの幅に合わせたりします。 + + + + + &Ctrl;2 ツール ズームツール + + + マウスはズームツールになります。左ボタンを押しながらドラッグして領域を選択すると、その領域がビューの幅または高さいっぱいに表示されます。右ボタンをクリックすると前のズーム率に戻ります。 + + + + + &Ctrl;3 選択 選択ツール + + + マウスは選択ツールになります。左ボタンを押しながらドラッグして領域を選択すると、選択した領域のテキストや画像をクリップボードにコピーしたり、テキストを読み上げたり、画像をファイルに保存したりできます。 + + + + + &Ctrl;4 ツール テキスト選択ツール + + + マウスはテキスト選択ツールになります。左ボタンを押しながらドラッグして文書のテキストを選択します。次に右ボタンを押して選択したテキストをクリップボードにコピーしたり読み上げたりできます。 + + + + + F6 ツール 注釈 + + + 注釈バーを開きます。注釈バーを使って現在の文書に注釈を加えます。詳しくは 注釈 のセクションを参照してください。 + + + + + ツール 文書全体を読み上げ + + + ツール 現在のページを読み上げ + + + ツール 読み上げを停止 + + + これらのメニュー項目は、&kde; のテキスト読み上げシステム KTTS を用いて文書全体あるいは現在のページを読み上げるときに使います。 + + + + + + + <guimenu +>設定</guimenu +> メニュー + + + + &Ctrl;M 設定 メニューバーを表示 + + + メニューバーの表示/非表示を切り替えます。非表示にしたメニューバーは右クリックメニューから再び表示させることができます。 + + + + + 設定 ツールバーを表示 + + + ツールバーの表示/非表示を切り替えます。 + + + + + F7 設定 ナビゲーションパネルを表示 + + + ナビゲーションパネルの表示/非表示を切り替えます。 + + + + + &Ctrl;&Shift;F 設定 フルスクリーンモード + + + フルスクリーンモードに切り替えます。このモードは プレゼンテーションモード とは別のものです。ウィンドウの装飾とメニューバーおよびツールバーが表示されないことを除けば、フルスクリーンモードは通常のモードと同じです。 + + + + + 設定 ショートカットを設定... + + + キーボードショートカットを設定するためのウィンドウを開きます。 + + + + + 設定 ツールバーを設定... + + + ツールバーに表示するボタンを選択するためのウィンドウを開きます。 + + + + + 設定 バックエンドを設定... + + + バックエンドの設定 ウィンドウを開きます。 + + + + + 設定 &okular; を設定... + + + 設定 ウィンドウを開きます。 + + + + + + + <guimenu +>ヘルプ</guimenu +> メニュー +&help.menu.documentation; + + + + &okular; の設定 + + 設定について + &okular; を設定するには、設定 &okular; を設定... を選択します。設定ダイアログは 5 つのセクションに分かれています。この章ではそれぞれのオプションについて詳しく説明します。 + + + 全般 + + + アクセシビリティ + + + パフォーマンス + + + プレゼンテーション + + + 個人情報 + + + + 設定ダイアログ + + + + + + 設定ダイアログ + + + + インストールされているバックエンドに応じて 設定 バックエンドを設定... が有効になります。この特別な設定ダイアログには、実際に設定可能なバックエンドのオプションのみが含まれます。 + + + 全般 + + + スクロールバーを表示する + + メインビューにスクロールバーを表示するかどうかを指定します。 + + + + サムネイルをページとリンクする + + このオプションを指定すると、メインビューに表示されているページが常にサムネイルリストに表示されます。 + + + + ヒントと情報メッセージを表示する + + 起動時やファイルを読み込んだときなどに情報メッセージを表示するかどうかを指定します。 + + + + DRM (デジタル著作権管理) の制限に従う + + &okular; が DRM (デジタル著作権管理) の制限に従うべきかどうかを指定します。DRM の制限は &PDF; 文書で一部の操作 (内容をクリップボードにコピーするなど) を不可能にするために用いられます。&okular; の設定によっては、このオプションがない場合があります。 + + + + ファイルが変更されたら文書を再読み込みする + + 既に開いているファイルが変更されていないか自動的にチェックし、必要であればファイルを更新します。 + + + + バックエンド選択ダイアログを表示する + + 文書を扱えるバックエンドが複数ある場合、文書を開く際にどのバックエンドを使うかをユーザに尋ねます。このオプションのチェックを外すと、&okular; は最も優先度の高いバックエンドを使います。 + + + + 最初のページは中央に配置する + + 「見開きページ」と「概観」表示モードで最初のページを中央に配置するか左寄せに配置するかを指定します。 + + + + 概観モードの列数 + + 概観モードで横 1 列に表示するページ数を指定します。 + + + + + + アクセシビリティ + + + リンクに縁取りを付ける + + リンクに縁取りを付けるかどうかを指定します。 + + + + 色を変更 + + 色を変更するオプションを有効にします。 + + + + 色を反転 + + ビューの色を反転します。黒いオブジェクトは白で表示されます。 + + + + 紙の色を変更 + + 紙の色 (文書の背景色) を変更します。 + + + + 暗い色と明るい色を変更 + + 暗い色と明るい色を好みの色に変更します。黒は黒ではなく指定された暗い色で、白は白ではなく指定された明るい色で表示されます。 + + + + 白黒に変換 + + 文書を白黒に変換します。しきい値とコントラストを設定できます。しきい値を高くするほど濃いグレーが使われます。 + + + + + + パフォーマンス + + + 透過効果を有効にする + + 透過効果を使って選択範囲や他の特殊なグラフィックスを描画します。アウトラインまたは不透明なスタイルを使って描画して選択の動作を速くするには、このオプションを無効にしてください。 + + + + バックグラウンドでページを生成する + + バックグラウンドスレッドを使ってページを生成します。このオプションを無効にするとページの生成とユーザインターフェースが同じスレッドで処理されます。そのためユーザインターフェースの反応が遅くなりますが、ページは少し速く表示されます。 + + + + メモリ使用のプロファイル + + お使いのシステムと好みに合わせてメモリの使用を調節することで &okular; のパフォーマンスを最適化することができます。メモリを多く使わせるほどプログラムは速く動作します。標準設定のプロファイルはあらゆるシステムに適していますが、メモリの使用をおさえた「低」プロファイルを選択して &okular; に必要以上のメモリを使わせないようにすることも、逆に「高」プロファイルを選択してシステムの能力を最大限に活用させることもできます。 + + + + + + プレゼンテーション + + + 一定時間ごとに進む + + 指定された時間ごとに自動的に次のページに進みます。 + + + + 最後まで行ったら最初のページに戻る + + プレゼンテーションモードで文書内を移動しているときに、最後のページの次に最初のページが表示されます。 + + + + 背景色 + + プレゼンテーションモードでページによってカバーされていないスクリーンの領域を埋める色です。 + + + + ペンシルの色 + + プレゼンテーションモードでページに描画するときに使うペンシルの色です。 + + + + マウスカーソル + + マウスカーソルを常に表示するか、操作がなければ一定時間後に隠すか、あるいは常に非表示にするかを指定します。 + + + + 進捗インジケータを表示する + + このオプションを指定すると、プレゼンテーションモードでページを変更するたびにスクリーンの右上に現在のページとページ総数を示す円形のインジケータが表示されます。 + + + + まとめページを表示する + + プレゼンテーションの最初に文書のタイトル、作者、ページ数が記載されたまとめページを表示するかどうかを指定します。 + + + + ページの入れ替え + + 文書自体に指定がない場合に使うページの入れ替え時の効果を選択します。&okular; に利用可能な効果をランダムに使わせるには、ランダム を選択してください。 + + + + 配置 + + ここでプレゼンテーションを表示する スクリーン を選択できます。 + 現在のスクリーン は、プレゼンテーションモードを開始した &okular; があるスクリーンです。 + デフォルトのスクリーン は、Xinerama の設定でデフォルトとして指定されているスクリーンです。 + スクリーン 0、スクリーン 1 などは、利用可能なスクリーンです。 + + + + + + 個人情報 + + + 作者 + + これが文書に追加したコンテンツの作者になります。 + + + + + + + クレジットとライセンス + + + プログラム Copyright: + Albert Astals Cidaacid@kde.org + Pino Toscano pino@kde.org 現在のメンテナ + Enrico Roseros.kde@email.it &kpdf; の開発者 + + + + ドキュメンテーション Copyright: + Albert Astals Cidaacid@kde.org 著者 + Titus Laskatitus.laska@gmx.de 更新と追加 + Pino Toscano pino@kde.org + + 日本語翻訳: Yukiko Bando +&underFDL; &underGPL; + + + インストール + + &okular; の入手方法 +&install.intro.documentation; + + コンパイルとインストール + + このハンドブックを &khelpcenter; でお読みになっているのであれば &okular; は既にあなたのシステムにインストールされています。したがって、インストールする必要はありません。 + &install.compile.documentation; + + &documentation.index; + + + + diff --git a/po/ja/okular.po b/po/ja/okular.po new file mode 100644 index 0000000..54daf66 --- /dev/null +++ b/po/ja/okular.po @@ -0,0 +1,6166 @@ +# Translation of okular into Japanese. +# This file is distributed under the same license as the kdegraphics package. +# Taiki Komoda , 2002,2003, 2004. +# Awashiro Ikuya , 2004, 2005. +# Kurose Shushi , 2004. +# Tsuda Eisuke , 2004. +# Yukiko Bando , 2005, 2006, 2007, 2008, 2009. +# Ryuichi Yamada , 2022. +# Fumiaki Okushi , 2006, 2010, 2011, 2014, 2022. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2022-08-28 21:16-0700\n" +"Last-Translator: Fumiaki Okushi \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Generator: Lokalize 22.04.1\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" +"Ikuya AWASHIRO,Yukiko Bando,Taiki Komoda,Noboru Sinohara,Tsuda Eisuke,Kurose " +"Shushi,Fumiaki Okushi,Ryuichi Yamada" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" +"ikuya@oooug.jp,ybando@k6.dion.ne.jp,kom@kde.gr.jp,shinobo@leo.bekkoame.ne.jp," +"eis-t@mue.biglobe.ne.jp,md81@bird.email.ne.jp,okushi@kde.gr.jp," +"ryuichi_ya220@outlook.jp" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Okular, 汎用文書ビューア" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "以前のメンテナ" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "" +"フレームワークの多くの作業、FictionBook バックエンドと以前の ODT バックエンド" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "開発者" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymanski" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "KPDF のコードを元に Okular を開発" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "Enrico Ros" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "KPDF の開発者" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "Eugene Trounev" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "注釈のアートワーク" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "Jiri Baum - NICTA" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "表選択ツール" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "Fabio D'Urso" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "注釈の改善" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "%1 ページに移動" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "外部ファイルを開く" + +#: core/action.cpp:197 +#, fuzzy, kde-format +#| msgid "Execute '%1'..." +msgid "Execute '%1'…" +msgstr "‘%1’ を実行..." + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "最初のページ" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "前のページ" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "次のページ" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "最後のページ" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "戻る" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "進む" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "終了" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "プレゼンテーションを開始" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "プレゼンテーションを終了" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go To Page…" +msgstr "ページに移動" + +#: core/action.cpp:365 +#, fuzzy, kde-format +#| msgid "Play sound..." +msgid "Play sound…" +msgstr "サウンドを再生..." + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "JavaScript スクリプト" + +#: core/action.cpp:483 +#, fuzzy, kde-format +#| msgid "Play movie" +msgid "Play movie…" +msgstr "動画を再生" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "動画を再生" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "動画を停止" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "動画を一時停止" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "動画を再開" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "バックエンドの選択" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
    %1 (%2).

    Please select which one to use:
    " +msgstr "" +"MIME タイプに複数のバックエンドが見つかりました:
    %1 (%2)

    使用するものを一つ選択してください:
    " + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "ほとんどのページは %1 です。" + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "縦 %1" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "横 %1" + +#: core/document.cpp:246 +#, fuzzy, kde-format +#| msgctxt "%1 is width, %2 is height, %3 is paper size name" +#| msgid "%1 x %2 in (%3)" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 x %2 インチ (%3)" + +#: core/document.cpp:248 +#, fuzzy, kde-format +#| msgctxt "%1 is width, %2 is height, %3 is paper size name" +#| msgid "%1 x %2 mm (%3)" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 x %2 mm (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "先頭から検索を続行します" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "末尾から検索を続行します" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "渡された文書を扱えるプラグインが見つかりません。" + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "注釈を削除" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"文書が外部アプリケーションを実行しようとしていますが、安全のために Okular は" +"これを許可しません。" + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "MIME タイプ %1 のファイルを開くアプリケーションが見つかりません。" + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "一時ファイルを開けませんでした" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "印刷プロセスがクラッシュしました" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "印刷プロセスを起動できませんでした" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "ファイルへ印刷できませんでした" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "プリンタの状態が不正です" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "印刷するファイルが見つかりません" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "印刷するファイルがありません" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"印刷に必要な実行ファイルがありません。CUPS の lpr があることを確認してくださ" +"い。" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "このページ印刷サイズは無効です" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "‘%1’ を開けませんでした。ファイルが存在しません。" + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "タイトル" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "主題" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "説明" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "作者" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "作成ソフト" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "生成ソフト" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "著作権" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "ページ数" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "作成日" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "変更日" + +#: core/document.cpp:6032 +#, kde-format +msgid "MIME Type" +msgstr "MIME タイプ" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "カテゴリ" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "キーワード" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "ファイルのパス" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "ファイルサイズ" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "ページサイズ" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "注釈を追加" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "注釈を削除" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "注釈のプロパティを変更" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "注釈を転移" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "注釈を調整" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "テキストを編集" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "注釈の内容を編集" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "フォームの内容を編集" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "" + +#: core/generator.cpp:790 +#, fuzzy, kde-format +#| msgid "Plain &Text..." +msgid "Plain &Text…" +msgstr "プレーンテキスト(&T)..." + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "OpenDocument テキスト" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "印刷のオプション" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "スケールモード:" + +# @info:tooltip +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "次回からこのメッセージを表示しない" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "利用できません" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "" + +#: core/signatureutils.cpp:504 +#, fuzzy, kde-kuit-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "‘%1’ にファイルを保存できませんでした。他の場所に保存してください。" + +#: core/signatureutils.cpp:506 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown signing error" +msgstr "不明なファイル" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "ソース: %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "デフォルトのフォント(&D):" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "バージョン" + +#: gui/certificatemodel.cpp:41 +#, kde-format +msgid "Serial Number" +msgstr "シリアルナンバー" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, fuzzy, kde-format +#| msgid "Expired" +msgid "Expires On" +msgstr "期限切れ" + +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "主題" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "" + +#: gui/certificatemodel.cpp:53 +#, fuzzy, kde-format +#| msgid "Memory Usage" +msgid "Key Usage" +msgstr "メモリの使用" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "V%1" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "プロパティ" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "ポップアップメモ" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "タイプライター" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "インラインメモ" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +#| msgid "Polygon with Comment" +msgid "Arrow with Comment" +msgstr "コメント付きの多角形" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "矢印" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "コメント付きの直線" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "直線" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "コメント付きの多角形" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "多角形" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgid "Stamp with Comment" +msgid "Rectangle with Comment" +msgstr "コメント付きのスタンプ" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "四角" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgid "Underline with Comment" +msgid "Ellipse with Comment" +msgstr "コメント付きの下線" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "楕円" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "コメント付きの強調表示" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "強調表示" + +#: gui/guiutils.cpp:87 +#, kde-format +msgid "Squiggle with Comment" +msgstr "コメント付きの波線" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "波線" + +#: gui/guiutils.cpp:91 +#, kde-format +msgid "Underline with Comment" +msgstr "コメント付きの下線" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "下線" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out with Comment" +msgstr "コメント付きの取り消し線" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "取り消し線" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "コメント付きのスタンプ" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "スタンプ" + +#: gui/guiutils.cpp:106 +#, kde-format +msgid "Freehand Line with Comment" +msgstr "コメント付きの手描きの線" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "手描きの線" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "キャレット" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "添付ファイル" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "サウンド" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "動画" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "スクリーン" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "ウィジェット" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "リッチメディア" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation" +msgstr "%1 個の注釈" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "不明" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "作者: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "‘%1’ をどこに保存しますか?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "" +"‘%1’ を書き込みのために開けませんでした。ファイルは保存されていません。" + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "" + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "" + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "" + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "" + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "" + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "" + +#: gui/signatureguiutils.cpp:60 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Certificate is Trusted." +msgstr "ビューアを設定" + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "" + +#: gui/signatureguiutils.cpp:64 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Certificate issuer is unknown." +msgstr "ビューアを設定" + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "" + +#: gui/signatureguiutils.cpp:68 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Certificate has Expired." +msgstr "ビューアを設定" + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "" + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "" + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "MD2" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "MD5" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "SHA1" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "SHA256" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "SHA384" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "SHA512" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "SHA224" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "不明なアルゴリズム" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "RSA" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "DSA" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "EC" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "不明なタイプ" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "" + +#: gui/signatureguiutils.cpp:135 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Sign Certificate" +msgstr "ビューアを設定" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr "" + +#: gui/signatureguiutils.cpp:165 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "The document has not been modified since it was signed." +msgstr "この文書は印刷が許可されていません。" + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "" + +#: gui/signatureguiutils.cpp:208 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "この文書は印刷が許可されていません。" + +#: gui/signatureguiutils.cpp:211 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "This document is digitally signed." +msgstr "この文書は印刷が許可されていません。" + +#: gui/signatureguiutils.cpp:213 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "この文書は印刷が許可されていません。" + +#: gui/signatureguiutils.cpp:216 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "この文書は印刷が許可されていません。" + +#: gui/signaturemodel.cpp:141 +#, fuzzy, kde-format +#| msgid "Signatures" +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "署名" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "理由: %1" + +#: gui/signaturemodel.cpp:177 +#, fuzzy, kde-format +#| msgid "Location:" +msgid "Location: %1" +msgstr "場所:" + +#: gui/signaturemodel.cpp:185 +#, fuzzy, kde-format +#| msgid "Signatures" +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "署名" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "" + +#: gui/signaturemodel.cpp:193 +#, fuzzy, kde-format +#| msgctxt "Unknown author" +#| msgid "Unknown" +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "不明" + +#: gui/signaturemodel.cpp:195 +#, fuzzy, kde-format +#| msgid "Signature Properties" +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "署名のプロパティ" + +#: gui/signaturemodel.cpp:201 +#, fuzzy, kde-format +#| msgid "Signatures" +msgid "Signature Type: %1" +msgstr "署名" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "赤" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "オレンジ" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "黃" + +#: part/annotationactionhandler.cpp:151 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "緑" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "シアン" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "青" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "マゼンタ" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "白" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "グレー" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "黒" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "幅 %1" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1%" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:308 +#, fuzzy, kde-format +#| msgid "Annotation Options" +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "注釈のオプション" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "" + +#: part/annotationactionhandler.cpp:314 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "注釈ツール" + +#: part/annotationactionhandler.cpp:316 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "注釈ツール" + +#: part/annotationactionhandler.cpp:318 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "注釈ツール" + +#: part/annotationactionhandler.cpp:322 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "注釈ツール" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "" + +#: part/annotationactionhandler.cpp:328 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "注釈のフォント" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" + +#: part/annotationactionhandler.cpp:341 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "注釈の透明度" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "色" + +# ACCELERATOR changed by translator +#: part/annotationactionhandler.cpp:434 +#, fuzzy, kde-format +#| msgid "&Color:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "色(&L):" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "" + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "色を選択" + +#: part/annotationactionhandler.cpp:552 +#, kde-format +msgid "&Annotations" +msgstr "注釈(&A)" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "隠す" + +#: part/annotationactionhandler.cpp:554 +#, kde-format +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "注釈ツールをさらに表示" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "マーカー" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "下線" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "波線" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "取り消し線" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "タイプライター" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "インラインメモ" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "ポップアップメモ" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "手描きの線" + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "直線" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "矢印" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "四角" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "楕円" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "多角形" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "スタンプ" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "クイック注釈" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "" + +#: part/annotationactionhandler.cpp:651 +#, kde-format +msgid "Quick Annotation Bar" +msgstr "クイック注釈バー" + +#: part/annotationactionhandler.cpp:665 +#, fuzzy, kde-format +#| msgctxt "Add an annotation to the page" +#| msgid "add annotation" +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "注釈を追加" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "" + +#: part/annotationactionhandler.cpp:669 +#, fuzzy, kde-format +#| msgid "Create annotation tool" +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "注釈ツールの作成" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "フォント" + +#: part/annotationactionhandler.cpp:681 +#, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "注釈の設定" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "線の幅" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "不透明度" + +#: part/annotationactionhandler.cpp:696 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1%" + +#: part/annotationmodel.cpp:320 +#, fuzzy, kde-format +#| msgid "Page %1" +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "ページ %1" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "ページ %1" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "%1 個の注釈" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "ポップアップメモを開く(&O)" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "ブックマークを削除" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "ブックマークを追加" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Text to Clipboard" +msgstr "クリップボードにコピー" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "コピーは DRM (デジタル著作権管理) によって禁止されています" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "削除(&D)" + +# ACCELERATOR changed by translator +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "プロパティ(&T)" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, fuzzy, kde-format +#| msgctxt "%1 is the name of the file to save" +#| msgid "&Save '%1'..." +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "‘%1’ を保存(&S)..." + +# ACCELERATOR changed by translator +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "外観(&P)" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "全般(&G)" + +# ACCELERATOR changed by translator +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "作者(&U):" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "作成日:" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "変更日:" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "ポップアップメモのプロパティ" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "タイプライターのプロパティ" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "インラインメモのプロパティ" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "直線のプロパティ" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "多角形のプロパティ" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "図形のプロパティ" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "テキストマークアップのプロパティ" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "スタンプのプロパティ" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "手描きの線のプロパティ" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "キャレットのプロパティ" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "添付ファイルのプロパティ" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "サウンドのプロパティ" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "動画のプロパティ" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "注釈のプロパティ" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Put a stamp symbol" +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "スタンプのシンボル" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "" + +# ACCELERATOR changed by translator +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "色(&L):" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%1%" + +# ACCELERATOR changed by translator +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "不透明度(&Y):" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "アイコン:" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "コメント" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "ヘルプ" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "挿入" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "キー" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "新しい段落" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "メモ" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "段落" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "フォント:" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "テキストの色(&C):" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "左" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "中央" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "右" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "承認済み" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "そのまま" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "機密" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "部門内" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "草稿" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "試験的" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "期限切れ" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "最終稿" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "コメント用" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "一般公開用" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "未承認" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "一般公開しない" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "販売済み" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "極秘" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "ブックマーク" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "情報" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "スタンプのシンボル:" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "幅(&W):" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "なし" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "" + +#: part/annotationwidgets.cpp:531 +#, fuzzy, kde-format +#| msgid "Leader Line Length:" +msgid "Leader line length:" +msgstr "引き出し線の長さ:" + +#: part/annotationwidgets.cpp:533 +#, fuzzy, kde-format +#| msgid "Leader Line Extensions Length:" +msgid "Leader line extensions length:" +msgstr "引き出し線の延長:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Shape fill:" +msgstr "ファイルに保存..." + +# ACCELERATOR added by translator +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "タイプ(&T):" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "取り消し線" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "添付ファイルのシンボル:" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "グラフ" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "押しピン" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "ペーパークリップ" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "タグ" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "ファイル" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "N/A" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "説明はありません。" + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "名前:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "説明:" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "キャレットのシンボル:" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "なし" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +# @info:tooltip +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "このメモを閉じます" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "オプション" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "" + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "" + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "" + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "" + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"ブックマーク %2 個" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "ブックマーク" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, fuzzy, kde-format +#| msgid "S&earch:" +msgid "Search…" +msgstr "検索(&E):" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, fuzzy, kde-format +#| msgid "Expand all" +msgid "Expand All" +msgstr "すべて展開" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, fuzzy, kde-format +#| msgid "Collapse all" +msgid "Collapse All" +msgstr "すべて折りたたむ" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "このブックマークに移動" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "ブックマークの名前を変更" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "文書を開く" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "証明書ビューア" + +#: part/certificateviewer.cpp:50 +#, fuzzy, kde-format +#| msgid "Export..." +msgid "Export…" +msgstr "エクスポート..." + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "全般" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "" + +#: part/certificateviewer.cpp:159 +#, fuzzy, kde-format +#| msgid "Where do you want to save %1?" +msgid "Where do you want to save this certificate?" +msgstr "‘%1’ をどこに保存しますか?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "" + +#: part/colormodemenu.cpp:19 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "変更モード:" + +#: part/colormodemenu.cpp:21 +#, kde-format +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "色を変更する" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "" + +#: part/colormodemenu.cpp:41 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "色を反転" + +#: part/colormodemenu.cpp:42 +#, fuzzy, kde-format +#| msgid "Change Paper Color" +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "紙の色を変更" + +#: part/colormodemenu.cpp:44 +#, fuzzy, kde-format +#| msgid "Change Dark & Light Colors" +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "暗い色と明るい色を変更" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "白黒に変換(&B)" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "明るさを反転(&L)" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "赤" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "緑" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "青" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "黃" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "黒" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "白" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "黄色のマーカー" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "緑のマーカー" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "テキストを挿入" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "リンクに縁取りを付ける" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "色を変更する" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "" +"【注意】これらのオプションを有効にすると描画速度が著しく遅くなる場合が" +"あります。" + +#: part/dlgaccessibility.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "色を反転" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "紙の色を変更" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "暗い色と明るい色を変更" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "白黒に変換" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "明るさを反転" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "カラーモード:" + +#: part/dlgaccessibility.cpp:87 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "紙の色:" + +#: part/dlgaccessibility.cpp:99 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "暗い色:" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "明るい色:" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "しきい値:" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "コントラスト:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "読み上げエンジン:" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "読み上げボイス:" + +#: part/dlgannotations.cpp:25 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "フル注釈ツールバー" + +#: part/dlgannotations.cpp:26 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "クイック注釈ツールバー" + +#: part/dlgannotations.cpp:28 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "注釈ツールバー:" + +#: part/dlgannotations.cpp:34 +#, kde-format +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "作者:" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"【注】この情報は注釈にのみ使用されます。情報は注釈した文書に保存され、" +"文書とともに移動されます。" + +#: part/dlgannotations.cpp:48 +#, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

    Quick Annotation Tools

    " +msgstr "

    クイック注釈ツール

    " + +#: part/dlgeditor.cpp:28 +#, fuzzy, kde-format +#| msgctxt "@info:whatsthis" +#| msgid "" +#| "Choose the editor you want to launch when Okular wants to open a source " +#| "file." +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "Okular がソースファイルを開くときに起動するエディタを選択します。" + +# skip-rule: text_editor +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "カスタム" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Emacs クライアント" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "Lyx クライアント" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "TeXstudio" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "TeXiFy IDEA" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "エディタ:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
    \n" +"You can also put few placeholders:\n" +"
      \n" +"
    • %f - the file name
    • \n" +"
    • %l - the line of the file to be reached
    • \n" +"
    • %c - the column of the file to be reached
    • \n" +"
    \n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"お好みのテキストエディタを起動するコマンドを設定します。
    \n" +"コマンドには以下のプレースホルダを含めることもできます。\n" +"
      \n" +"
    • %f - ファイル名
    • \n" +"
    • %l - ファイルの行番号
    • \n" +"
    • %c - ファイルの列番号
    • \n" +"
    \n" +"%f を指定しなければ、コマンドの最後にファイル名が追加されます。" + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "コマンド:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "スムーズスクロールを使用する" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "外観:" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "スクロールバーを表示する(&B)" + +#: part/dlggeneral.cpp:48 +#, fuzzy, kde-format +#| msgid "Link the &thumbnails with the page" +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "サムネイルをページとリンクする(&T)" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "ヒントと情報メッセージを表示する" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "" + +#: part/dlggeneral.cpp:92 +#, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "カスタム背景色を使用する:" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "プログラムの機能:" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "DRM (デジタル著作権管理) の制限に従う" + +#: part/dlggeneral.cpp:148 +#, fuzzy, kde-format +#| msgid "&Reload document on file change" +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "ファイルが変更されたら文書を再読み込みする(&R)" + +# ACCELERATOR added by translator +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "バックエンド選択ダイアログを表示する(&W)" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "概観モードの列数:" + +#: part/dlggeneral.cpp:220 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%1%" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "" + +#: part/dlggeneral.cpp:228 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%1%" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "" + +#: part/dlggeneral.cpp:233 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "幅に合わせる" + +#: part/dlggeneral.cpp:234 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "ページに合わせる" + +#: part/dlggeneral.cpp:235 +#, fuzzy, kde-format +#| msgid "Auto Fit" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "自動調整" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "デフォルトのズーム:" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "透過効果を有効にする" + +#: part/dlgperformance.cpp:28 +#, kde-format +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "CPU の使用:" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "低" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "普通 (標準設定)" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "高" + +#: part/dlgperformance.cpp:38 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "最高" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "メモリの使用:" + +#: part/dlgperformance.cpp:54 +#, fuzzy, kde-format +#| msgid "Enable transitions" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "ページの入れ替えを有効にする" + +#: part/dlgperformance.cpp:56 +#, fuzzy, kde-format +#| msgid "Rendering" +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "レンダー" + +#: part/dlgperformance.cpp:59 +#, fuzzy, kde-format +#| msgid "Enable transitions" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "ページの入れ替えを有効にする" + +#: part/dlgperformance.cpp:64 +#, fuzzy, kde-format +#| msgid "Enable transitions" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "ページの入れ替えを有効にする" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"メモリ使用をできるだけ低くおさえ、何も再利用しない。\n" +"メモリの少ないシステム向き。" + +#: part/dlgperformance.cpp:80 +#, fuzzy, kde-format +#| msgid "" +#| "A good compromise between memory usage and speed gain. Preload next page " +#| "and boost searches. (For systems with 256MB of memory, typically.)" +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"メモリ使用をおさえながらある程度のスピードを実現。\n" +"次のページを先行読み込みし検索を高速化。\n" +"典型例としてはメモリが 256MB のシステム向き。" + +#: part/dlgperformance.cpp:83 +#, fuzzy, kde-format +#| msgid "" +#| "Keeps everything in memory. Preload next pages. Boost searches. (For " +#| "systems with more than 512MB of memory.)" +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"すべてをメモリに保存。次のページを先行読み込みし検索を高速化。\n" +"メモリが 512MB より多いシステム向き。" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" + +#: part/dlgpresentation.cpp:38 +#, fuzzy, kde-format +#| msgctxt "Advance every %1 seconds" +#| msgid " second" +#| msgid_plural " seconds" +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] " 秒" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "" + +# ACCELERATOR added by translator +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "最後まで行ったら最初のページに戻る(&L)" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "無効" + +#: part/dlgpresentation.cpp:63 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "タッチナビゲーション:" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "背景色:" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "遅延して隠す" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "常に表示" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "常に隠す" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "マウスカーソル:" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "進捗インジケータを表示する" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "まとめページを表示する" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "即時 (アニメーションを使用しない)" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "置換" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "ランダム" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "垂直ブラインド" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "水平ブラインド" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "ボックス (内へ)" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "ボックス (外へ)" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "溶かす" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "フェード" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "キラキラ (下へ)" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "キラキラ (右へ)" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "キラキラ (右下へ)" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "水平分割 (内へ)" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "水平分割 (外へ)" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "垂直分割 (内へ)" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "垂直分割 (外へ)" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "拭き取る (下へ)" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "拭き取る (右へ)" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "拭き取る (左へ)" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "拭き取る (上へ)" + +#: part/dlgpresentation.cpp:121 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "デフォルトのページ入れ替え:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "優先されるスクリーン:" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

    Drawing Tools

    " +msgstr "

    描画ツール

    " + +#: part/dlgpresentation.cpp:171 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "現在のスクリーン" + +#: part/dlgpresentation.cpp:172 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "デフォルトのスクリーン" + +#: part/dlgpresentation.cpp:178 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "スクリーン %1 (%2 %3 %4)" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, fuzzy, kde-format +#| msgid "Erase Drawings" +msgid "Eraser" +msgstr "描画を消す" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "名前(&N):" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "タイプ(&T):" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "外観" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "テキストのマークアップ" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "注釈ツールの作成" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "注釈ツールの編集" + +# ACCELERATOR changed by translator +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "色(&L):" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "ペンの幅(&P):" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "" + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "描画ツールの作成" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "描画ツールの編集" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "不明" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "埋め込みファイル" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "表示" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "名前" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "説明" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "サイズ" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "作成日" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "変更日" + +#: part/embeddedfilesdialog.cpp:154 +#, fuzzy, kde-format +#| msgid "Save As" +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "名前を付けて保存" + +#: part/embeddedfilesdialog.cpp:155 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "表示(&V)" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "印刷プレビュー用コンポーネントをロードできませんでした" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "印刷プレビュー" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "閉じる" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "検索(&I):" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "検索するテキスト" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "次へ" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "次のマッチに移動" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "前へ" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "前のマッチに移動" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "検索の挙動を変更" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "大文字と小文字を区別する" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "現在のページから" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "" + +#: part/formwidgets.cpp:870 +#, fuzzy, kde-format +#| msgid "All files (*)" +msgid "All Files (*)" +msgstr "すべてのファイル (*)" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "署名のプロパティ" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "検索オプション" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "大文字と小文字を区別する" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "正規表現" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "レイヤ" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "/" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "ズーム" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "100% にズーム" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "右に回転(&R)" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "右に回転" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "左に回転(&L)" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "左に回転" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "元の向き" + +#: part/pageview.cpp:546 +#, fuzzy, kde-format +#| msgid "&View" +msgid "&Trim View" +msgstr "表示(&V)" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "余白を除去(&T)" + +#: part/pageview.cpp:557 +#, fuzzy, kde-format +#| msgctxt "Text Selection Tool" +#| msgid "Text Selection" +msgid "Trim To &Selection" +msgstr "テキスト選択" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "幅に合わせる(&W)" + +# ACCELERATOR changed by translator +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "ページに合わせる(&G)" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "" + +# ACCELERATOR changed by translator +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "ウィンドウをページに合わせる(&N)" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "表示モード(&V)" + +#: part/pageview.cpp:594 +#, fuzzy, kde-format +#| msgid "Single Page" +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "単一ページ" + +#: part/pageview.cpp:595 +#, fuzzy, kde-format +#| msgid "Facing Pages" +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "見開きページ" + +#: part/pageview.cpp:596 +#, fuzzy, kde-format +#| msgid "Center &first page" +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "最初のページは中央に配置する(&F)" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "概観(&O)" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "連続(&C)" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "閲覧(&B)" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "ズーム(&Z)" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "範囲選択(&S)" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "テキスト選択(&T)" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "表選択(&A)" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "拡大鏡(&M)" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "選択ツール" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "文書全体を読み上げ" + +#: part/pageview.cpp:722 +#, fuzzy, kde-format +#| msgid "Speak Current Page" +msgid "Speak From Current Page" +msgstr "現在のページを読み上げ" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "現在のページを読み上げ" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "読み上げを停止" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "読み上げを再開/一時停止" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "上にスクロール" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "下にスクロール" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "上にページをスクロール" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "下にページをスクロール" + +# ACCELERATOR added by translator +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "フォームを表示(&F)" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] " %1 ページの文書を読み込みました。" + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "表の内容をクリップボードにコピー" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "テキスト (%1 文字)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "クリップボードにコピー" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "テキストを読み上げる" + +#: part/pageview.cpp:2863 +#, fuzzy, kde-format +#| msgid "Image (%1 by %2 pixels)" +msgid "Image (%1 × %2 pixels)" +msgstr "画像 (%1 x %2 ピクセル)" + +#: part/pageview.cpp:2865 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save to File…" +msgstr "ファイルに保存..." + +#: part/pageview.cpp:2885 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] copied to clipboard." +msgid "Image [%1 × %2] copied to clipboard." +msgstr "画像 [%1x%2] をクリップボードにコピーしました。" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "ファイルを保存" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "画像 (*.png *.jpeg)" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "ファイルは保存されていません。" + +# %3=filetype +#: part/pageview.cpp:2901 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] saved to %3 file." +msgid "Image [%1 × %2] saved to %3 file." +msgstr "画像 [%1x%2] を %3 ファイルに保存しました。" + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "テキストをコピー" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "%1 へ移動" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "幅に合わせる" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "ページに合わせる" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "自動調整" + +#: part/pageview.cpp:4107 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1%" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "「%1」を検索" + +#: part/pageview.cpp:4404 +#, fuzzy, kde-format +#| msgid "Configure Web Shortcuts..." +msgid "Configure Web Shortcuts…" +msgstr "ウェブショートカットを設定..." + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "このリンクをたどる" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "このサウンドを再生" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "サウンドを停止" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "リンクアドレスをコピー" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "この文書で「%1」を検索" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "ようこそ" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "拡大する範囲を選択してください。右クリックで縮小できます。" + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "" + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "コピーするテキスト/画像を四角で囲ってください。" + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "テキストを選択" + +#: part/pageview.cpp:5172 +#, fuzzy, kde-format +#| msgid "Draw a rectangle around the text/graphics to copy." +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "コピーするテキスト/画像を四角で囲ってください。" + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" + +#: part/pageview.cpp:5188 +#, fuzzy, kde-format +#| msgid "Certificates:" +msgid "No valid certificates" +msgstr "証明書:" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Open Certificate Manager" +msgstr "ビューアを設定" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
    Launch Certificate Manager " +"to import or manage certificates
    For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, fuzzy, kde-format +#| msgid "Certificates:" +msgid "No certificates found" +msgstr "証明書:" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
    For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "" + +#: part/pageview.cpp:5405 +#, fuzzy, kde-format +#| msgid "Draw a rectangle around the text/graphics to copy." +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "コピーするテキスト/画像を四角で囲ってください。" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "新しいテキストメモ" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "新しいメモのテキスト:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name" +msgstr "作者の名前" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name for the annotation:" +msgstr "注釈の作者の名前:" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "楕円を描く (ドラッグで領域を選択します)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "テキストを強調表示" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "手描きの線を描く" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "インラインテキスト (ドラッグで領域を選択します)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "多角形 (最初の点をクリックして閉じます)" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "四角を描画" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "波状のテキスト" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "スタンプのシンボル" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "直線を描画" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "テキストを取り消す" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "テキストに下線" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "タイプライター注釈 (ドラッグで領域を選択します)" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "マーカー" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgctxt "Add an annotation to the page" +#| msgid "add annotation" +msgid "Add favorite annotation" +msgstr "注釈を追加" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgctxt "Add an annotation to the page" +#| msgid "add annotation" +msgid "Custom annotation name:" +msgstr "注釈を追加" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "ファイル(&F)" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "設定(&S)" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "ヘルプ(&H)" + +# ACCELERATOR changed by translator +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "向き(&E)" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "ブックマーク(&B)" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "ビューアツールバー" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "サムネイル" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "注釈" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
    Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"この文書には埋め込みファイルが含まれています。表示するには ここをクリック するか、「ファイル」メニューから「埋め込み" +"ファイル」を選択してください。" + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "前のページ" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "前のページに戻る" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "この文書の前のページに移動します。" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "次のページ" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "次のページに進む" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "この文書の次のページに移動します。" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "文書の先頭" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "文書の先頭へ移動します" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "文書の最後" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "文書の最後へ移動します" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "現在のブックマークの名前を変更" + +# ACCELERATOR added by translator +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "前のブックマーク(&P)" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "前のブックマークへ移動" + +# ACCELERATOR added by translator +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "次のブックマーク(&N)" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "次のブックマークへ移動" + +# ACCELERATOR added by translator +#: part/part.cpp:748 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgid "Configure Okular…" +msgstr "Okular を設定(&O)..." + +#: part/part.cpp:751 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Configure Viewer…" +msgstr "ビューアを設定" + +#: part/part.cpp:757 +#, fuzzy, kde-format +#| msgid "Configure Backends" +msgid "Configure Viewer Backends…" +msgstr "バックエンドを設定" + +#: part/part.cpp:759 +#, fuzzy, kde-format +#| msgid "Configure Backends" +msgid "Configure Backends…" +msgstr "バックエンドを設定" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "バックエンドについて" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "再読み込み(&D)" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "現在の文書をディスクから再読み込みします。" + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "検索バーを閉じる(&F)" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "ページ番号" + +#: part/part.cpp:817 +#, fuzzy, kde-format +#| msgctxt "@action" +#| msgid "Configure Color Modes..." +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "カラーモードを設定..." + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "現在のページのすべてのテキストを選択" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "サイドバーを表示(&S)" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "ページバーを表示(&P)" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "署名パネルを表示(&S)" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "埋め込みファイル(&E)" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "エクスポート(&X)" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "共有(&H)" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "プレゼンテーション(&R)" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "保存フォルダを開く(&T)" + +#: part/part.cpp:945 +#, fuzzy, kde-format +#| msgid "&Import PostScript as PDF..." +msgid "&Import PostScript as PDF…" +msgstr "PostScript を PDF としてインポート(&I)..." + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "ブラックスクリーンの切り替え" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "描画を消す" + +# ACCELERATOR added by translator +#: part/part.cpp:962 +#, fuzzy, kde-format +#| msgid "Configure Annotations..." +msgid "Configure Annotations…" +msgstr "注釈を設定(&C)..." + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "プレゼンテーションを再生/一次停止" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" + +#: part/part.cpp:1123 +#, kde-format +msgid "Document can't be saved" +msgstr "文書を保存できません" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "'%1' を開けませんでした (%2)" + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "%1 の読み込みをキャンセルしました。" + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "%1 を開けませんでした。理由: %2" + +#: part/part.cpp:1249 +#, fuzzy, kde-format +#| msgid "Configure Backends" +msgid "Configure Viewer Backends" +msgstr "バックエンドを設定" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "バックエンドを設定" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"プログラム ps2pdf が見つからなかったため、Okular は PS ファイルをインポートで" +"きません。" + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "ps2pdf が見つかりません" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "" + +#: part/part.cpp:1357 +#, fuzzy, kde-format +#| msgid "Importing PS file as PDF (this may take a while)..." +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "PS ファイルを PDF としてインポート中 (時間がかかる場合があります)..." + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "この文書のパスワードを入力してください:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "文書のパスワード" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"この文書にはフォームが含まれています。それらとやりとりするにはボタンをクリッ" +"クするか、「表示」メニューから「フォームを表示」を選択してください。" + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "プレゼンテーションモードに入る" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "" + +#: part/part.cpp:1830 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not open %1. %2" +msgstr "%1 を開けませんでした" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "" + +#: part/part.cpp:1865 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue Reloading" +msgstr "連続(&C)" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" + +#: part/part.cpp:1875 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue Closing" +msgstr "連続(&C)" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "文書を閉じる" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"これは文書を閉じる動作にリンクしていますが、埋め込みビューアでは機能しませ" +"ん。" + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"これはアプリケーションを終了する動作にリンクしていますが、埋め込みビューアで" +"は機能しません。" + +#: part/part.cpp:2113 part/part.cpp:2131 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Reloading the document…" +msgstr "文書を再読み込み中..." + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "目次" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "署名" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "ページに移動" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "ページ(&P):" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "ブックマークの新しい名前を入力:" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "ブックマークの名前を変更" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "ブックマークを削除" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "名前を付けて保存" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "サポートされていない拡張子" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
    In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "一時ファイルを保存のために開けませんでした。" + +#: part/part.cpp:2726 +#, fuzzy, kde-kuit-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "‘%1’ にファイルを保存できませんでした。他の場所に保存してください。" + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "‘%1’ にファイルを保存できませんでした。他の場所に保存してください。" + +#: part/part.cpp:2766 +#, fuzzy, kde-format +#| msgctxt "Edit an form's text contents" +#| msgid "edit form contents" +msgid "Filled form contents" +msgstr "フォームの内容を編集" + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "ユーザの注釈" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "続行" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "ファイルを ‘%1’ に保存できませんでした。%2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"‘%1’ を指定された場所にコピーできません。\n" +"\n" +"文書はもう存在しません。" + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" +"‘%1’ にファイルを保存できませんでした。エラー: '%2' 他の場所に保存してくださ" +"い。" + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "Expand whole section" +msgid "Expand Whole Section" +msgstr "セクション全体を展開" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "Collapse whole section" +msgid "Collapse Whole Section" +msgstr "セクション全体を折りたたむ" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "サムネイルをページと同期する(&T)" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "ツール" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "読み上げる" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "印刷" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "この文書は印刷が許可されていません。" + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"文書を印刷できませんでした。不明なエラー。bugs.kde.org に報告してください。" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"文書を印刷できませんでした。詳細なエラーは「%1」です。bugs.kde.org に報告して" +"ください。" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "前にいたところに移動" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "後にいたところに移動" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"ファイルのエラーです。一時ファイル ‘%1’ を作成できませんでした。" + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"ファイルのエラーです。ファイル ‘%1’ を展開するために開けませんでした。" +"ファイルは読み込まれません。" + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"このエラーはファイルを読む権限がないときによく起こります。Dolphin ファイ" +"ルマネージャでファイルを右クリックし、「プロパティ」オプションを選び、「パー" +"ミッション」タブを選択すると、ファイルの所有者とパーミッションを確認すること" +"ができます。" + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"ファイルのエラーです。ファイル ‘%1’ を展開できませんでした。ファイルは読" +"み込まれません。" + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"このエラーはファイルが壊れているときによく起こります。確認するには、コマ" +"ンドラインツールを使って手動でファイルを展開してみてください。" + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "ブックマークなし" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "共有" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "編集(&E)" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "表示(&V)" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "移動(&G)" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "ツール(&T)" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "メインツールバー" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "注釈ツールバー" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, kde-format +msgid "Quick Annotation Toolbar" +msgstr "クイック注釈ツールバー" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "全般オプション" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "アクセシビリティ" + +# skip-rule: accessibility +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "視覚補助" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "パフォーマンス" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "パフォーマンスの調整" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "ビューアを設定" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "プレゼンテーション" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "プレゼンテーションモードのオプション" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "注釈のオプション" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "エディタ" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "エディタのオプション" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "次を検索" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 - プレゼンテーション" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "スクリーンを切り替え" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "スクリーン %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "プレゼンテーションモードを終了" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "タイトル: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "ページ数: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "クリックで開始" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "一時停止" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "再生" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"プレゼンテーションモードは、Esc キーを押すか、マウスを右上に移動したときに表" +"示される終了ボタンをクリックすることで終了できます。キーボードショートカット " +"(標準設定では Alt+Tab) を使ってウィンドウを切り替えることもできます。" + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "プレゼンテーションを実行中" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "不明なファイル" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "%1 のプロパティ" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "フォント(&F)" + +#: part/propertiesdialog.cpp:145 +#, fuzzy, kde-format +#| msgid "Reading font information..." +msgid "Reading font information…" +msgstr "フォント情報を読み込み中..." + +#: part/propertiesdialog.cpp:158 +#, kde-format +msgid "&Page Sizes" +msgstr "ページサイズ(&P)" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "フォントを抽出(&E)" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Type 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Type 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "Type 1C (OT)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Type 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType (OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID Type 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID Type 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID Type 0C (OT)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType (OT)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "TeX PK" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "TeX virtual" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "TeX Font Metric" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "TeX FreeType-handled" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "不明" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "埋め込み (サブセット)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "埋め込み (完全)" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "いいえ" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "はい (サブセット)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "はい" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "[n/a]" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "不明なフォント" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "埋め込み: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "名前" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "タイプ" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "ファイル" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "ページ" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "サイズ" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "改訂プレビュー" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "この改訂をどこに保存しますか?" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "ファイル %1 を保存できませんでした。" + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "改訂を表示できませんでした。" + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "ページを検索するには最低 3 文字入力してください" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "大文字と小文字を区別する" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "フレーズを含む" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "すべての語を含む" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "いずれかの語を含む" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "フィルタのオプション" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, fuzzy, kde-format +#| msgid "Certificates:" +msgid "Certificates" +msgstr "証明書:" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, fuzzy, kde-format +#| msgid "Certificates:" +msgid "Only QES certificates" +msgstr "証明書:" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, fuzzy, kde-format +#| msgid "Options" +msgid "optional" +msgstr "オプション" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "場所:" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, fuzzy, kde-format +#| msgctxt "@label:chooser Config dialog, presentation page" +#| msgid "Background color:" +msgid "Background:" +msgstr "背景色:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, fuzzy, kde-format +#| msgctxt "@label:listbox Config dialog, general page" +#| msgid "Use custom background color:" +msgid "Recent backgrounds:" +msgstr "カスタム背景色を使用する:" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

    No annotations

    To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
    " +msgstr "" +"

    注釈はありません

    新しい注釈を作成するには F6 を押すか" +"「ツール」メニューから「注釈」を選択してください。
    " + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "ページでグループ化" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "作者でグループ化" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "現在のページの注釈のみを表示" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "プロパティ" + +#: part/signaturepartutils.cpp:180 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "ページ数: %1" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "" + +#: part/signaturepartutils.cpp:186 +#, fuzzy, kde-format +#| msgctxt "on welcome screen (recent document list)" +#| msgid "Forget All" +msgid "Forget image" +msgstr "すべて忘れる" + +#: part/signaturepartutils.cpp:187 +#, fuzzy, kde-format +#| msgctxt "on welcome screen (recent document list)" +#| msgid "Forget All" +msgid "Forget all images" +msgstr "すべて忘れる" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "" + +#: part/signaturepartutils.cpp:244 +#, kde-format +msgid "Enter document password" +msgstr "文書のパスワードを入力" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "追加の情報" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "文書のバージョン" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:95 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "View Certificate…" +msgstr "ビューアを設定" + +#: part/signaturepropertiesdialog.cpp:97 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "View in Certificate Manager" +msgstr "ビューアを設定" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "ブックマークされたページのみを表示" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "再生" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "一時停止" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "停止" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, fuzzy, kde-format +#| msgid "&Edit" +msgid "&Edit…" +msgstr "編集(&E)" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "削除(&R)" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "上へ移動(&U)" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "下へ移動(&D)" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "表示する文書のページ" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "文書をプレゼンテーションモードで開く" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "1 つのインスタンスのみ許可" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "開く文書。標準入力から読む場合は “-” を指定してください。" + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "Okular のコンポーネントが見つかりません: %1" + +#: shell/shell.cpp:250 +#, fuzzy, kde-format +#| msgid "Show S&idebar" +msgid "Sidebar" +msgstr "サイドバーを表示(&S)" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "Okular のコンポーネントが見つかりません。" + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"クリックしてファイルを開く\n" +"最近のファイルを開くにはクリックして保持" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "クリックしてファイルを開く、最近のファイルを開くにはクリックして保持" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "次のタブ" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "前のタブ" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "閉じたタブを戻す" + +#: shell/shell.cpp:603 +#, fuzzy, kde-format +#| msgid "Show S&idebar" +msgid "Lock Sidebar" +msgstr "サイドバーを表示(&S)" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "すべてのファイル (*)" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "すべてのサポートされたファイル (%1)" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "文書を開く" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "続行" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "タブを閉じる" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "%1 個のタブが閉じられます。本当に続行しますか?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "複数のタブが閉じられそうになったとき警告する" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "パスをコピー(&C)" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "保存フォルダを開く(&O)" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "このアイテムを忘れる(&F)" + +#: shell/welcomescreen.cpp:137 +#, kde-format +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "最近使用した文書はありません" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "Okular へようこそ" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "文書を開く..." + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, kde-format +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "最近の文書" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "すべて忘れる" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "ようこそスクリーンを隠す" + +#~ msgid "Geometry with Comment" +#~ msgstr "コメント付きの図形" + +#~ msgid "Geometry" +#~ msgstr "図形" + +#~ msgid "Modified: %1" +#~ msgstr "変更日: %1" + +#~ msgid "Find..." +#~ msgstr "検索..." + +#~ msgid "Go To Page..." +#~ msgstr "ページに移動..." + +#~ msgid "Play movie..." +#~ msgstr "動画を再生..." + +#~ msgid "Search..." +#~ msgstr "検索..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "名前を付けて保存(&S)..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "表示(&V)..." + +#~ msgid "Configure Viewer..." +#~ msgstr "ビューアを設定..." + +#~ msgid "Configure Viewer Backends..." +#~ msgstr "ビューアバックエンドを設定..." + +# ACCELERATOR added by translator +#~ msgid "Configure Backends..." +#~ msgstr "バックエンドを設定(&C)..." + +#~ msgid "&Add..." +#~ msgstr "追加(&A)..." + +#~ msgid "&Edit..." +#~ msgstr "編集(&E)..." + +#, fuzzy +#~| msgctxt "Unknown author" +#~| msgid "Unknown" +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "不明" + +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "Suffix for the pen width, eg '10 px'" +#~ msgid " px" +#~ msgstr "ピクセル" + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " %" + +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "幅に合わせる" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "ページに合わせる" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Auto Fit" +#~ msgstr "自動調整" diff --git a/po/ja/okular_comicbook.po b/po/ja/okular_comicbook.po new file mode 100644 index 0000000..a9acb62 --- /dev/null +++ b/po/ja/okular_comicbook.po @@ -0,0 +1,48 @@ +# Translation of okular_comicbook into Japanese. +# This file is distributed under the same license as the kdegraphics package. +# Yukiko Bando , 2008, 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_comicbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-01-11 00:49+0900\n" +"Last-Translator: Yukiko Bando \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Yukiko Bando" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "ybando@k6.dion.ne.jp" + +#: document.cpp:97 +#, fuzzy, kde-format +#| msgid "Cannot open document, unrar was not found." +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "文書を開けません。unrar が見つかりませんでした。" + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "" +"あなたのシステムにインストールされているバージョンの unrar は Comic Book " +"フォーマットのファイルを開けません。" + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "未知の Comic Book フォーマットです。" diff --git a/po/ja/okular_djvu.po b/po/ja/okular_djvu.po new file mode 100644 index 0000000..21f6713 --- /dev/null +++ b/po/ja/okular_djvu.po @@ -0,0 +1,96 @@ +# Translation of okular_djvu into Japanese. +# This file is distributed under the same license as the kdegraphics package. +# Yukiko Bando , 2007, 2008, 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_djvu\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-01-05 02:02+0900\n" +"Last-Translator: Yukiko Bando \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Yukiko Bando" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "ybando@k6.dion.ne.jp" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "編集者" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "出版者" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "巻" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "文書のタイプ" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "不明" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "コンポーネントファイル" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "不明" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "単一ページ" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "バンドル" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "インダイレクト" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "バンドル (旧)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "インデックス (旧)" diff --git a/po/ja/okular_dvi.po b/po/ja/okular_dvi.po new file mode 100644 index 0000000..b54c940 --- /dev/null +++ b/po/ja/okular_dvi.po @@ -0,0 +1,603 @@ +# translation of okular_dvi.po to Japanese +# This file is distributed under the same license as the kdegraphics package. +# Taiki Komoda , 2002,2003, 2004. +# Tsuda Eisuke , 2004. +# Kurose Shushi , 2004. +# Awashiro Ikuya , 2005. +# Yukiko Bando , 2006, 2007, 2009. +# Fumiaki Okushi , 2006, 2010, 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_dvi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2011-04-16 17:52-0700\n" +"Last-Translator: Fumiaki Okushi \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" +"Taiki Komoda,Noboru Sinohara,Tsuda Eisuke,Kurose Shushi,Ikuya Awashiro," +"Fumiaki Okushi,Yukiko Bando" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" +"kom@kde.gr.jp,shinobo@leo.bekkoame.ne.jp,eis-t@mue.biglobe.ne.jp,md81@bird." +"email.ne.jp,ikuya@oooug.jp,okushi@kde.gr.jp,ybando@k6.dion.ne.jp" + +#: dviexport.cpp:123 +#, fuzzy, kde-format +#| msgid "" +#| "Okular could not locate the program 'dvipdfm' on your computer. This " +#| "program is essential for the export function to work. You can, however, " +#| "convert the DVI-file to PDF using the print function of Okular, but that " +#| "will often produce documents which print okay, but are of inferior " +#| "quality if viewed in Acrobat Reader. It may be wise to upgrade to a more " +#| "recent version of your TeX distribution which includes the 'dvipdfm' " +#| "program.\n" +#| "Hint to the perplexed system administrator: Okular uses the PATH " +#| "environment variable when looking for programs." +msgid "" +"

    Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

    Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

    " +msgstr "" +"Okular はプログラム dvipdfm を見つけられませんでした。この" +"プログラムはエクスポート機能に必要です。Okular の印刷機能を使って DVI ファイ" +"ルを PDF に変換することもできますが、この方法を使うと印刷では問題なくても " +"Acrobat Reader で開いたときに表示の質が落ちることがよくあります。" +"dvipdfm が含まれているより新しい TeX ディストリビューショ" +"ンにアップグレードする方がよいでしょう。\n" +"当惑しているシステム管理者へのヒント: Okular はプログラムを探す際に PATH 環境" +"変数を使います。" + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"DVI ファイルのエクスポートに使用した外部プログラム dvipdfm がエ" +"ラーを返しました。「ファイル」メニューから「文書情報」ダイアログを開いてエ" +"ラーの詳細を確認した方がよいでしょう。" + +#: dviexport.cpp:168 +#, fuzzy, kde-format +#| msgid "" +#| "

    This DVI file refers to external graphic files which are not in " +#| "PostScript format, and cannot be handled by the dvips " +#| "program that Okular uses interally to print or to export to PostScript. " +#| "The functionality that you require is therefore unavailable in this " +#| "version of Okular.

    As a workaround, you can use the File/" +#| "Export As-Menu to save this file in PDF format, and then use a " +#| "PDF viewer.

    It is planned to add this functionality at a later date." +#| "

    " +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" +"

    この DVI ファイルは PostScript ではない外部グラフィックファイルを参照" +"しています。Okular が印刷や PostScript へのエクスポートに内部で使用する " +"dvips がこのファイルを扱えないため、このバージョンの " +"Okular では要求された処理を行うことができません。

    回避策として、メ" +"ニューのファイル|エクスポートから PDF で保存して、PDF " +"ビューアを使ってください。

    この機能は、いずれ追加する予定です。

    " + +#: dviexport.cpp:176 +#, fuzzy, kde-format +#| msgid "" +#| "Okular could not locate the program 'dvips' on your computer. That " +#| "program is essential for the export function to work.\n" +#| "Hint to the perplexed system administrator: Okular uses the PATH " +#| "environment variable when looking for programs." +msgid "" +"

    Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

    Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

    " +msgstr "" +"Okular はプログラム dvips を見つけられませんでした。このプ" +"ログラムはエクスポート機能に必要です。\n" +"当惑しているシステム管理者へのヒント: Okular はプログラムを探す際に PATH 環境" +"変数を使います。" + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"DVI ファイルのエクスポートに使用した外部プログラム dvips がエ" +"ラーを返しました。「ファイル」メニューから「文書情報」ダイアログを開いてエ" +"ラーの詳細を確認した方がよいでしょう。" + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "DVI ファイルがプリアンブルから始まっていません。" + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" +"DVI ファイルに、このプログラムでは扱えないバージョンの DVI 出力が含まれていま" +"す。ヒント: タイプセットに Omega を使っている場合は、専用のプログラム (oxdvi " +"など) を使う必要があります。" + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "" +"DVI ファイルはひどく壊れています。Okular はポストアンブルを見つけられませんで" +"した。" + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "ポストアンブルが POST コマンドで始まっていません。" + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "ポストアンブルに FNTDEF 以外のコマンドが含まれています。" + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "ページ %1 は BOP コマンドで始まっていません。" + +#: dviFile.cpp:354 +#, fuzzy, kde-format +#| msgid "" +#| "

    The external program pdf2ps could not be started. " +#| "As a result, the PDF-file %1 could not be converted to PostScript. Some " +#| "graphic elements in your document will therefore not be displayed.

    Possible reason: The program pdf2ps may not " +#| "be installed on your system, or cannot be found in the current search " +#| "path.

    What you can do: The program pdf2ps " +#| "is normally contained in distributions of the ghostscript PostScript " +#| "interpreter system. If ghostscipt is not installed on your system, you " +#| "could install it now. If you are sure that ghostscript is installed, try " +#| "to use pdf2ps from the command line to check if it " +#| "really works.

    PATH: %2

    " +msgid "" +"

    The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

    What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

    PATH: %2

    " +msgstr "" +"

    外部プログラム pdf2ps を起動できなかったため、PDF " +"ファイル %1 を PostScript に変換できませんでした。した" +"がって文書に含まれる一部のグラフィック要素は表示されません。

    考えられる" +"原因: pdf2ps プログラムがインストールされていないか、検索" +"パスにないためだと考えられます。

    対処法: pdf2ps プロ" +"グラムは通常 ghostscript PostScript インタプリタシステムの" +"一部として配布されています。ghostscript がインストールされ" +"ていない場合は、インストールしてください。ghostscript がイ" +"ンストールされている場合は、pdf2ps プログラムをコマンドラ" +"インから実行して動作を確認してください。

    パス: %2

    " + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

    The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

    %2

    " +msgstr "" +"

    PDF ファイル ‘%1’ を PostScript に変換できませんでした。したがって文書" +"に含まれる一部のグラフィック要素は表示されません。

    考えられる原因: ファ" +"イル ‘%1’ が壊れているか、PDF ファイルではないためだと考えられます。Okular が" +"使用した pdf2ps プログラムの出力は以下のとおりです:

    %2

    " + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, fuzzy, kde-format +#| msgid "" +#| "File not found: \n" +#| " %1" +msgid "File corruption. %1" +msgstr "" +"ファイルが見つかりません:\n" +" %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "" + +#: dviRenderer.cpp:419 +#, fuzzy, kde-format +#| msgid "The special command '%1' is not implemented." +msgid "The specified file '%1' does not exist." +msgstr "special コマンド %1 は実装されていません。" + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "DVI コードは未知のフォントの文字をセットしています。" + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "DVI コードはフォント #%1 を参照していますが、これは未定義です。" + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "スタックが空にならないうちに EOP コマンドが出現しました。" + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "スタックが空なのに POP コマンドが出現しました。" + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "DVI コードは未定義のフォントを参照しています。" + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "不正なコマンドが発生しました。" + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "未知の op-code %1 が発生しました。" + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "%1 を埋め込み" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
    " +msgstr "" +"ページ %1: PDF ファイル ‘%2’ を PostScript に変換できませんでした。
    " + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
    " +msgstr "ページ %1: PostScript ファイル ‘%2’ が見つかりませんでした。
    " + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "用紙サイズのデータ “%1” を解析できませんでした。" + +#: fontpool.cpp:209 +#, fuzzy, kde-format +#| msgid "" +#| "

    Okular was not able to locate all the font files which are " +#| "necessary to display the current DVI file. Your document might be " +#| "unreadable.

    " +msgid "" +"

    Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

    PATH: %1

    %2

    " +msgstr "" +"

    Okular は現在の DVI ファイルの表示に必要なすべてのフォントファイルを見" +"つけられませんでした。文書は読めないかもしれません。

    " + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

    There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
    Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

    PATH: %1

    %2

    " +msgstr "" + +#: fontpool.cpp:305 +#, fuzzy, kde-format +#| msgid "" +#| "

    The font generation by kpsewhich was aborted (exit code %1, " +#| "error %2). As a result, some font files could not be located, and your " +#| "document might be unreadable.

    " +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" +"

    kpsewhich によるフォント済々が中断されました (終了コード %1、エ" +"ラー %2)。このため、フォントファイルがたらず、文書が読めないかもしれません。" +"

    " + +#: fontpool.cpp:482 +#, fuzzy, kde-format +#| msgid "Currently generating %1 at %2 dpi" +msgid "Currently generating %1 at %2 dpi…" +msgstr "現在 %1 を %2 dpi で生成中" + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "ジェネレータ/日付" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "フォントファイルが見つかりません" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "縦長" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "横長" + +#: psgs.cpp:286 +#, fuzzy, kde-format +#| msgid "" +#| "The version of Ghostview that is installed on this computer does not " +#| "contain any of the Ghostview device drivers that are known to Okular. " +#| "PostScript support has therefore been turned off in Okular." +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" +"このコンピュータにインストールされているバージョンの Ghostview には、" +"Okular が認識する Ghostview デバイスドライバが含まれていません。そのため、" +"Okular での PostScript のサポートを無効にしました。" + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "" +"25 個のエラーが発生しました。これ以上のエラーメッセージは表示されません。" + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" +"DVI ファイル ‘%1’ のページ %2 でエラーが発生しました。カラースタックが空なの" +"に、カラー取り出しコマンドが呼ばれました。" + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" +"epsf special コマンドに不正なパラメータ。\n" +"%2 の中で %1 の後には float が期待されます。" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"ファイルが見つかりません:\n" +" %1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" +"DVI ファイル ‘%1’ のページ %2 でエラーが発生しました。テキストの回転で角度を" +"解釈できません。" + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "special コマンド %1 は実装されていません。" + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" +"フォントファイル ‘%1’ は読み込めましたが、フォントのフォーマットはサポートし" +"ていない形式です。" + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "フォントファイル ‘%1’ は読み込むことができないか、壊れています。" + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" +"FreeType はフォントファイル ‘%1’ の文字サイズを設定中にエラーを返しました。" + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "FreeType はフォントファイル ‘%2’ からグリフ #%1 を読み込めません。" + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "FreeType はフォントファイル ‘%2’ のグリフ #%1 を描画できません。" + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "グリフ #%1 が空です。" + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "フォントファイル ‘%2’ のグリフ #%1 が空です。" + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "" +"FreeType はフォントファイル ‘%2’ のグリフ #%1 のメトリックを読み込めません。" + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "フォントファイル ‘%1’ を開けません。" + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "TexFont_PK::operator[]: 文字 %1 はフォント %2 で定義されていません。" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "PK ファイル ‘%2’ に予期しない %1 " + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "文字 %1 はファイル ‘%2’ で大きすぎます" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "誤ったビット番号が格納されています: 文字 %1, フォント %2" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "不正な PK ファイル (%1)、ビットが多すぎます" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "フォントのアスペクト比が正方形ではありません。" + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "フォント %1, ファイル ‘%2’ が見つかりません。" + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "フォントファイル ‘%1’ のチェックサムが合いません" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "フォントファイル ‘%1’ のフォーマットを認識できません" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"致命的なエラー\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" +"\n" +"\n" +"これはおそらく Okular のバグか、DVI ファイルまたは補助ファイル\n" +"(フォントファイル、仮想フォントファイルなど) がひどく壊れている\n" +"ことを意味します。\n" +"Okular はこのメッセージの後で終了します。バグと思われる場合、\n" +"あるいは Okular はこのような状況でもっとうまく振る舞うべきだ\n" +"と思われる場合は、問題を報告してください。" + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "VF マクロリストに不正なコマンドバイトが見つかりました: %1" diff --git a/po/ja/okular_epub.po b/po/ja/okular_epub.po new file mode 100644 index 0000000..884b011 --- /dev/null +++ b/po/ja/okular_epub.po @@ -0,0 +1,44 @@ +# translation of okular_epub.po to Japanese +# This file is distributed under the same license as the kdegraphics package. +# Yukiko Bando , 2008. +# Fumiaki Okushi , 2014. +msgid "" +msgstr "" +"Project-Id-Version: okular_epub\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2014-09-28 22:58-0700\n" +"Last-Translator: Fumiaki Okushi \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Yukiko Bando" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "ybando@k6.dion.ne.jp" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "EPub 文書を開くときにエラーが発生しました。" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "EPub バックエンドの設定" diff --git a/po/ja/okular_fax.po b/po/ja/okular_fax.po new file mode 100644 index 0000000..efb0288 --- /dev/null +++ b/po/ja/okular_fax.po @@ -0,0 +1,34 @@ +# Translation of okular_fax into Japanese. +# This file is distributed under the same license as the kdegraphics package. +# Yukiko Bando , 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_fax\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-12-29 10:34+0900\n" +"Last-Translator: Yukiko Bando \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Yukiko Bando" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "ybando@k6.dion.ne.jp" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "文書を読み込めません" diff --git a/po/ja/okular_fictionbook.po b/po/ja/okular_fictionbook.po new file mode 100644 index 0000000..e5e1086 --- /dev/null +++ b/po/ja/okular_fictionbook.po @@ -0,0 +1,69 @@ +# translation of okular_fictionbook.po to Japanese +# This file is distributed under the same license as the kdegraphics package. +# Yukiko Bando , 2007. +# Fumiaki Okushi , 2014. +msgid "" +msgstr "" +"Project-Id-Version: okular_fictionbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2014-09-28 22:59-0700\n" +"Last-Translator: Fumiaki Okushi \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Yukiko Bando" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "ybando@k6.dion.ne.jp" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "文書は有効な FictionBook ではありません" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "文書を開けません: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "文書は有効な ZIP アーカイブではありません" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "不正な文書構造 (メインディレクトリがありません)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "この文書には中身がありません" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "不正な XML 文書: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "FictionBook" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "FictionBook バックエンドの設定" diff --git a/po/ja/okular_ghostview.po b/po/ja/okular_ghostview.po new file mode 100644 index 0000000..2cbe6e1 --- /dev/null +++ b/po/ja/okular_ghostview.po @@ -0,0 +1,78 @@ +# translation of okular_ghostview.po to Japanese +# This file is distributed under the same license as the kdegraphics package. +# Yukiko Bando , 2007. +# Fumiaki Okushi , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_ghostview\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-07-16 22:53-0700\n" +"Last-Translator: Fumiaki Okushi \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Yukiko Bando" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "ybando@k6.dion.ne.jp" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "プラットフォームフォントを使う" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"Ghostscript がプラットフォームフォントを使うかどうか決めます。無効な場合、文" +"書に埋め込まれたフォントのみを使います。" + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "全般設定" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "プラットフォームフォントを使う(&U)" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Ghostscript バックエンドの設定" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "文書のバージョン" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "言語レベル" diff --git a/po/ja/okular_kimgio.po b/po/ja/okular_kimgio.po new file mode 100644 index 0000000..8e5a656 --- /dev/null +++ b/po/ja/okular_kimgio.po @@ -0,0 +1,41 @@ +# translation of okular_kimgio.po to Japanese +# This file is distributed under the same license as the kdegraphics package. +# Yukiko Bando , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_kimgio\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2007-09-10 20:00+0900\n" +"Last-Translator: Yukiko Bando \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Yukiko Bando" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "ybando@k6.dion.ne.jp" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "文書を読み込めません: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" diff --git a/po/ja/okular_markdown.po b/po/ja/okular_markdown.po new file mode 100644 index 0000000..9504381 --- /dev/null +++ b/po/ja/okular_markdown.po @@ -0,0 +1,50 @@ +msgid "" +msgstr "" +"Project-Id-Version: okular_markdown\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2017-08-27 19:15-0700\n" +"Last-Translator: Japanese KDE translation team \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: converter.cpp:59 converter.cpp:93 +#, kde-format +msgid "Failed to open the document" +msgstr "" + +#: converter.cpp:106 converter.cpp:124 +#, kde-format +msgid "Failed to compile the Markdown document." +msgstr "" + +#: generator_md.cpp:58 +#, kde-format +msgid "Enable SmartyPants formatting" +msgstr "" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown" +msgstr "" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown Backend Configuration" +msgstr "" diff --git a/po/ja/okular_mobi.po b/po/ja/okular_mobi.po new file mode 100644 index 0000000..5daa4bb --- /dev/null +++ b/po/ja/okular_mobi.po @@ -0,0 +1,51 @@ +# Translation of okular_mobi into Japanese. +# Yukiko Bando , 2009. +# Fumiaki Okushi , 2014. +msgid "" +msgstr "" +"Project-Id-Version: okular_mobi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2014-09-28 22:59-0700\n" +"Last-Translator: Fumiaki Okushi \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Yukiko Bando" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "ybando@k6.dion.ne.jp" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Mobipocket 文書を開く途中でエラーが発生しました。" + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "" +"このブックは DRM (デジタル著作権管理) で保護されているため、指定されたデバイ" +"ス以外では表示できません。" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "Mobipocket" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "Mobipocket 用バックエンドの設定" diff --git a/po/ja/okular_poppler.po b/po/ja/okular_poppler.po new file mode 100644 index 0000000..f4ca9dd --- /dev/null +++ b/po/ja/okular_poppler.po @@ -0,0 +1,371 @@ +# translation of okular_poppler.po to Japanese +# This file is distributed under the same license as the kdegraphics package. +# Yukiko Bando , 2007. +# Fumiaki Okushi , 2010, 2014. +msgid "" +msgstr "" +"Project-Id-Version: okular_poppler\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2014-09-28 23:01-0700\n" +"Last-Translator: Fumiaki Okushi \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.1\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Yukiko Bando" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "ybando@k6.dion.ne.jp" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "いいえ" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "PDF オプション" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "強制的にラスター画像に変換する" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "印刷する前にラスター画像に変換" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"印刷する前に各ページをラスター画像に変換 (ラスタライズ) します。これを用いる" +"と一般的には少し品質が落ちますが、通常の方法で正しく印刷されない文書を印刷す" +"るときに役立ちます。" + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF v. %1.%2" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "フォーマット" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "暗号化あり" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "暗号化なし" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "セキュリティ" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "はい" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "最適化" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "PDF バックエンドの設定" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter Password" +msgstr "" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "" diff --git a/po/ja/okular_tiff.po b/po/ja/okular_tiff.po new file mode 100644 index 0000000..85d625c --- /dev/null +++ b/po/ja/okular_tiff.po @@ -0,0 +1,25 @@ +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-07-10 23:52-0700\n" +"Last-Translator: Japanese KDE translation team \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" diff --git a/po/ja/okular_txt.po b/po/ja/okular_txt.po new file mode 100644 index 0000000..bd7ac91 --- /dev/null +++ b/po/ja/okular_txt.po @@ -0,0 +1,35 @@ +msgid "" +msgstr "" +"Project-Id-Version: okular_txt\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-06-12 01:01-0700\n" +"Last-Translator: Japanese KDE translation team \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "" diff --git a/po/ja/okular_xps.po b/po/ja/okular_xps.po new file mode 100644 index 0000000..51a3d67 --- /dev/null +++ b/po/ja/okular_xps.po @@ -0,0 +1,34 @@ +# Translation of okular_xps into Japanese. +# This file is distributed under the same license as the kdegraphics package. +# Yukiko Bando , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_xps\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2007-03-14 23:00+0900\n" +"Last-Translator: Yukiko Bando \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Yukiko Bando" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "ybando@k6.dion.ne.jp" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "リビジョン" diff --git a/po/ja/org.kde.active.documentviewer.po b/po/ja/org.kde.active.documentviewer.po new file mode 100644 index 0000000..d86f4fb --- /dev/null +++ b/po/ja/org.kde.active.documentviewer.po @@ -0,0 +1,202 @@ +msgid "" +msgstr "" +"Project-Id-Version: org.kde.active.documentviewer\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2012-10-25 00:10-0700\n" +"Last-Translator: Japanese KDE translation team \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +msgid "Export…" +msgstr "" + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "" + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "" + +#: ui/Main.qml:49 +msgid "About" +msgstr "" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "" + +#: ui/MainView.qml:29 +msgid "Bookmark this page" +msgstr "" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:96 +msgid "Document Version" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:108 +msgid "Save Signed Version…" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +msgid "View Certificate…" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "" + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "" + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "" + +#: ui/WelcomeView.qml:108 +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "" diff --git a/po/ka/okular.po b/po/ka/okular.po new file mode 100644 index 0000000..ba2bf43 --- /dev/null +++ b/po/ka/okular.po @@ -0,0 +1,6137 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-11-14 10:02+0100\n" +"Last-Translator: Temuri Doghonadze \n" +"Language-Team: Georgian \n" +"Language: ka\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 3.8\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Temuri Doghonadze" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "Temuri.doghonadze@gmail.com" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Okular- უნივერსალური დოკუმენტების გამხსნელი" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "ყოფილი პროგრამისტი" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "" +"უკანაბოლოს ბიბლიოთეკის სტანდარტიზაცია, უკანაბოლო FicrionBook და ყოფილი ODT " +"უკანაბოლო" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "პროგრამისტი" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymanski" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "შექმნა Okular KPDF-ის კოდისგან" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "ენრიკო როსი" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "KPDF პროგრამისტი" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "Eugene Trounev" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "ანოტაციების დიზაინი" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "ჯიმი ბაუმი - NICTA" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "ცხრილის მონიშვნის ხელსაწყო" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "ფაბიო დ'ურსო" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "ანოტაციის გაუმჯობესებები" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "%1-ე გვერდზე გადასვლა" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "გარე ფაილის გახსნა" + +#: core/action.cpp:197 +#, kde-format +msgid "Execute '%1'…" +msgstr "'%1'-ის შესრულება…" + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "პირველი გვერდი" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "წინა გვერდი" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "შემდეგი გვერდი" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "ბოლო გვერდი" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "უკან" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "წინ" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "&გასვლა" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "პრეზენტაციის დაწყება" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "პრეზენტაციის დასასრული" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "ძებნა…" + +#: core/action.cpp:314 +#, kde-format +msgid "Go To Page…" +msgstr "გადასვლა გვერდზე…" + +#: core/action.cpp:365 +#, kde-format +msgid "Play sound…" +msgstr "ხმის დაკვრა…" + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "JavaScript-ის სკრიპტი" + +#: core/action.cpp:483 +#, kde-format +msgid "Play movie…" +msgstr "ფილმის დაკვრა…" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "ფილმის დაკვრა" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "ფილმის გაჩერება" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "ფილმის შეჩერება" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "ფილმის გაგრძელება" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "Okular-ის ეს ვერსია აუდიოს მხარდაჭერის გარეშეა აგებული" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "უკანბოლოს არჩევა" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
    %1 (%2).

    Please select which one to use:
    " +msgstr "" +"ამ MIME ტიპისთვის აღმოჩენილია ერთზე მეტი უკანაბოლო:
    %1 (%2)." +"

    აირჩიეთ, რომელი გნებავთ, გამოიყენოთ:
    " + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "გვერდების უმეტესობა %1-ია." + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "პორტრეტი %1" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "ლანდშაფტი %1" + +#: core/document.cpp:246 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 x %2 დუიმი (%3)" + +#: core/document.cpp:248 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 x %2 მმ (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "ძებნის თავიდან გაგრძელება" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "ძებნის ბოლოდან გაგრძელება" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "" +"დამატება, რომელიც გადმოცემული დოკუმენტის დასამუშავებლადაა საჭირო, აღმოჩენილი " +"არაა." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "ამ დოკუმენტის ტიპისთვის ხელმოწერა განხორციელებული არაა" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "ანოტაციების წაშლა" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"დოკუმენტი ცდილობს, გაუშვას გარე აპლიკაცია და თქვენი უსაფრთხოებისთვის Okular " +"მას ამის უფლებას არ აძლევს." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "MIME ტიპის, %1 მქონე ფაილის გასახსნელად აპლიკაცია აღმოჩენილი არაა." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "დროებითი ფაილის გახსნის შეცდომა" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "ბეჭდვის გადაყვანის შეცდომა" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "ბეჭდვის პროცესი ავარიულად დასრულდა" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "ბეჭდვის პროცესის გაშვების შეცდომა" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "ფაილში დაბეჭდვის შეცდომა" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "პრინტერი არასწორ მდგომარეობაშია" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "დასაბეჭდი ფაილის აღმოჩენის შეცდომა" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "დასაბეჭდი ფაილი ვერ ვიპოვე" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"დაბეჭდვისთვის საჭირო გამშვები ფაილი აღმოჩენილი არაა. დარწმუნდით, რომ CUPS-ის " +"lpr გამშვები ფაილი ხელმისაწვდომია" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "გვერდის დასაბეჭდი ზომა არასწორია" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "'%1' ვერ გავხსენი. ფალი არ არსებობს" + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "სათაური" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "თემა" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "აღწერა" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "ავტორი" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "შემქმნელი" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "პროდუსერი" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "საავტორო უფლებები" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "გვერდები" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "შექმნილია" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "შეიცვალა" + +#: core/document.cpp:6032 +#, kde-format +msgid "MIME Type" +msgstr "MIME ტიპი" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "კატეგორია" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "საკვანძო სიტყვები" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "ფაილის ბილიკი" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "ფაილის ზომა" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "Page Size" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "ანოტაციის დამატება" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "ანოტაციის წაშლა" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "ანოტაციის თვისებების შეცვლა" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "ანოტაციის თარგმანი" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "ანოტაციის სწორება" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "ტექსტის ჩასწორება" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "ანოტაციის შემცველობის ჩასწორება" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "ფორმის შემცველობის ჩასწორება" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "სიის ფორმის არჩევანების ჩასწორება" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "კომბო ფორმის მონიშნულების ჩასწორება" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "ფორმის ღილაკის მდგომარეობების ჩასწორება" + +#: core/generator.cpp:790 +#, kde-format +msgid "Plain &Text…" +msgstr "უბრალო &ტექსტი…" + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "OpenDocument Text" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "ბეჭდვის მორგება" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "დაბეჭდვად ფართობში ჩატევა" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "სრულ გვერდში ჩატევა" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "გადიდების რეჟიმი:" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "მეტჯერ აღარ აჩვენო ეს გაფრთხილება" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "ხელმიუწვდომელია" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" +"შიდა ხელმოწერის შეცდომა. მოგვწერეთ ამის შესახებ ნაბიჯებით, როგორ გავიმეოროთ " +"იგივე. შეცდომის კოდია %1" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "ხელმოწერის შეცდომა დოკუმენტისთვის: %1" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "ხელმოწერა გაუქმდა მომხმარებლის მიერ" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "ხელმოწერა შეუძლებელია. საკვანძო ფრაზა არასწორია" + +#: core/signatureutils.cpp:504 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" +"ხელმოწერილი დოკუმენტის ჩაწერის შეცდომა ფაილში %1. " +"დარწმუნდით, რომ არჩეული საქაღალდის ჩაწერის უფლებები სწორია" + +#: core/signatureutils.cpp:506 +#, kde-format +msgid "Unknown signing error" +msgstr "უცნობი ხელმოწერის შეცდომა" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "წყარო: %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "&ნაგულისხმევი ფონტი:" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "ვერსია" + +#: gui/certificatemodel.cpp:41 +#, kde-format +msgid "Serial Number" +msgstr "სერიული ნომერი" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "გამომცემელი" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "გამოცემის თარიღი" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "ვადა იწურება" + +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "თემა" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "საჯარო გასაღები" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "გასაღების გამოყენება" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "V%1" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "%1 (%2 ბიტი)" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "პარამეტრი" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "მნიშვნელობა" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "მხტუნარა სანიშნი" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "საბეჭდი მანქანა" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "სანიშნი ხაზშივე" + +#: gui/guiutils.cpp:56 +#, kde-format +msgid "Arrow with Comment" +msgstr "ისარი კომენტარით" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "ისარი" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "სწორი ხაზი კომენტარით" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "სწორი ხაზი" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "მრავალკუთხედი კომენტარით" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "მრავალკუთხედი" + +#: gui/guiutils.cpp:71 +#, kde-format +msgid "Rectangle with Comment" +msgstr "მართკუთხედი კომენტარით" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "მართკუთხედი" + +#: gui/guiutils.cpp:74 +#, kde-format +msgid "Ellipse with Comment" +msgstr "ოვალი კომენტარით" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "ოვალი" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "გამოკვეთა კომენტარით" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "მოუნიშნავის გაბუნდოვნება" + +#: gui/guiutils.cpp:87 +#, kde-format +msgid "Squiggle with Comment" +msgstr "კლაკნილი ხაზით გასმული, კომენტარით" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "დაკლაკნილი ხაზი" + +#: gui/guiutils.cpp:91 +#, kde-format +msgid "Underline with Comment" +msgstr "ხაზგასმა კომენტარით" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "ხაზგასმული" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out with Comment" +msgstr "ხაზის გადასმა კომენტარით" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "ხაზის გადასმა" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "შტამპი კომენტარით" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "შტამპი" + +#: gui/guiutils.cpp:106 +#, kde-format +msgid "Freehand Line with Comment" +msgstr "ხელით დახატული ხაზი კომენტარით" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "ხელით დახატული ხაზი" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "კარეტის დაბრუნება" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "დანართი ფაილი" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "ხმა" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "ფილმი" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "ეკრანი" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "ვიჯეტი" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "მდიდარი ტექსტი" + +#: gui/guiutils.cpp:144 +#, kde-format +msgid "Annotation" +msgstr "ანოტაცია" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "უცნობი" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "ავტორი: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "სად გნებავთ %1-ის შენახვა?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "\"%1\"-ის ჩასაწერად გახსნის შეცდომა. ფაილი არ აშენახულა." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "ხელმოწერა კრიპტოგრაფიულად სწორია." + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "ხელმოწერა კრიპტოგრაფიულად არასწორია." + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "დაიჯესტი არ ემთხვევა." + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "ხელმოწერის CMS/PKCS7 სტრუქტურა არასწორია." + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "მოთხოვნილი ხელმოწერა დოკუმენტში არ არსებობს." + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "ხელმოწერის შემოწმება შეუძლებელია." + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "სერტიფიკატი სანდოა." + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "სერთიფიკატის გამცემი სანდო არაა." + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "სერთიფიკატის გამცემი უცნობია." + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "სერტიფიკატი გაუქმებულია." + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "სერტიფიკატი ვადაგასულია." + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "სერტიფიკატი ჯერ არ შემოწმებულა." + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "მიმდინარეობს სერტიფიკატის გადამოწმება" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "სერტიფიკატის უცნობი გამომცემელი ან მონაცემები დაზიანებულია." + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "MD2" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "MD5" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "SHA1" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "SHA256" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "SHA384" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "SHA512" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "SHA224" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "უცნობ ალგორითმი" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "RSA" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "DSA" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "ეჩ" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "უცნობი ტიპი" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "ციფრული ხელმოწერა" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "არ გაანულო" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "დაშიფვრის გასაღებები" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "გაშიფვრის გასაღებები" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "გასაღების შეთანხმება" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "სერტიფიკატის ხელმწერა" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "გაუქმებული სერტიფიკატების სიის ხელმოწერა" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "მხოლოდ დაშიფვრა" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "გამოყენება მითითებული არაა" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr ", " + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "ხელმოწერის შემდეგ დოკუმენტი არ შეცვლილა." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" +"დოკუმენტის რევიზია დაცული იყო ხელმოწერით, რომელიც არ შეცვლილა.\n" +"მაგრამ დოკუმენტში მაინცაა აღმოჩენილი ცვლილებები." + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" +"დოკუმენტი შეიცვალა გზით, რომელიც წინა ხელმომწერის მიერ დაშვებული არ იყო." + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "დოკუმენტის მთლიანობის გადამოწმების დასრულება შეუძლებელია." + +#: gui/signatureguiutils.cpp:208 +#, kde-format +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "ამ დოკუმენტს ხელმოწერის ადგილმჭერის ველები გააჩნია." + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "დოკუმენტი ციფრულად ხელმოწერილია." + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "" +"ეს დოკუმენტი ციფრულადაა ხელმოწერილი. ის შეცვლილია ბოლო ხელმოწერის შემდეგ." + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" +"ეს დოკუმენტი ციფრულადაა ხელმოწერილი. ზოგიერთი ხელმოწერის სისწორის " +"გადამოწმება შეუძლებელია." + +#: gui/signaturemodel.cpp:141 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "ხელმოწერის ადგილმჭერი %1" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "ველი: %1 გვერდზე %2" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "რევ. %1: ხელმომწერი %2" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "ხელმოწერის დრო: %1" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "მიზეზი: %1" + +#: gui/signaturemodel.cpp:177 +#, kde-format +msgid "Location: %1" +msgstr "მდებარეობა: %1" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "PGP ხელმოწერა" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "Adobe PKCS7" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "Adobe PKCS7 Sha1" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "ETSI CAdES" + +#: gui/signaturemodel.cpp:193 +#, kde-format +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "უცნობი" + +#: gui/signaturemodel.cpp:195 +#, kde-format +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "ხელმოწერის ადგილმჭერი" + +#: gui/signaturemodel.cpp:201 +#, kde-format +msgid "Signature Type: %1" +msgstr "ხელმოწერის ტიპი: %1" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "წითელი" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "ნარინჯისფერი" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "ყვითელი" + +#: part/annotationactionhandler.cpp:151 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "მწვანე" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "ცისფერი" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "ლურჯი" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "ალისფერი" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "თეთრი" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "ნაცრისფერი" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "შავი" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "სიგანე %1" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1%" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "ანოტაციის ხაზის სიგანე (ანოტაცია მონიშნული არაა)" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "ანოტაციის ფერი (ანოტაცია მონიშნული არაა)" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "ანოტაციის შესავსები ფერი (ანოტაცია მონიშნული არაა)" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "ანოტაციის გაუმჭვირვალობა (ანოტაცია მონიშნული არაა)" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "ანოტაციის ფონტი (ანოტაცია მონიშნული არაა)" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" +"მიმდინარე ანოტაციის დამატება სწრაფი ანოტაციების მენიუში (ანოტაცია მონიშნული " +"არაა)" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" +"მოხაზულობის მასშტაბის 1:1-ზე ან ხაზის კუთხის 15° ბიჯებზე შეზღუდვა (ანოტაცია " +"არჩეული არაა)" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" +"დამატებითი პარამეტრები მიმდინარე ანოტაციის ხელსაწყოსთვის (ანოტაცია მონიშნული " +"არაა)" + +#: part/annotationactionhandler.cpp:308 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "ანოტაციის ხაზის სიგანე" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "ანიტაციის ხაზის სიგანე (მიმდინარე ანოტაციას ხაზის სიგანე არ გააჩნია)" + +#: part/annotationactionhandler.cpp:314 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "ანოტაციის ტექსტის ფერი" + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "ანოტაციის საზღვრის ფერი" + +#: part/annotationactionhandler.cpp:318 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "ანოტაციის ფერი" + +#: part/annotationactionhandler.cpp:322 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "ანოტაციის შესავსები ფერი" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "ანოტაციის შევსების ფერი (მიმდინარე ანოტაციას შემვსები ფერი არ გააჩნია)" + +#: part/annotationactionhandler.cpp:328 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "ანოტაციის ფონტი" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "ანოტაციის ფონტი (მიმდინარე ანოტაციას ფონტი არ გააჩნია)" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "ხაზის კუთხის 15° ბიჯებზე შეზღუდვა" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "მოხაზულობის ფარდობის 1:1-ზე შეზღუდვა" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" +"მოხაზულობის მასშტაბის 1:1-ზე ან ხაზის კუთხის 15° ბიჯებზე შეზღუდვა (მიმდინარე " +"ანოტაციის მიერ მხარდაჭერილი არაა)" + +#: part/annotationactionhandler.cpp:341 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "ანოტაციის გაუმჭვირვალობა" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "მიმდინარე ანოტაციის დამატება სწრაფი ანოტაციების მენიუში" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "დამატებითი პარამეტრები მიმდინარე ანოტაციის ხელსაწყოსთვის" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "ფერი" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "შემვსები ფერი" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "გამჭვირვალე" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "მორგებული ფერი…" + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "ფერის არჩევა" + +#: part/annotationactionhandler.cpp:552 +#, kde-format +msgid "&Annotations" +msgstr "&ანოტაციები" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "დამალვა" + +#: part/annotationactionhandler.cpp:554 +#, kde-format +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "მეტი ანოტაციის ხელსაწყოის ჩვენება" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "გამომკვეთი" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "ხაზგასმული" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "დაკლაკნილი ხაზი" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "ხაზის გადასმა" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "საბეჭდი მანქანა" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "სანიშნი ხაზშივე" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "მხტუნარა სანიშნე" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "ხელით დახატული ხაზი" + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "სწორი ხაზი" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "ისარი" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "მართკუთხედი" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "ოვალი" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "მრავალკუთხედი" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "გეომეტრიული ფიგურები" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "შტამპი" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "სწრაფი ანოტაციები" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "აირჩიეთ ანოტაციის ხელსაწყო სწრაფი ანოტაციებიდან" + +#: part/annotationactionhandler.cpp:651 +#, kde-format +msgid "Quick Annotation Bar" +msgstr "სწრაფი ანოტაციების ანელი" + +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "სწრაფი ანოტაციებისთვის დამატება" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "აქტიურად დატოვება" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "ანოტაციის ხელსაწყოს აქტიურად შენარჩუნება გამოყენების შემდეგ" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "ანოტაციის ხელსაწყოების მასშტაბისა და კუთხის შეზღუდვა" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "შრიფტი" + +#: part/annotationactionhandler.cpp:681 +#, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "ანოტაციის მორგება" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "ხაზის სიგანე" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "გაუმჭვირვალობა" + +#: part/annotationactionhandler.cpp:696 +#, kde-format +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1%" + +#: part/annotationmodel.cpp:320 +#, kde-format +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "გვერდი %1 (%2)" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "გვერდი %1" + +#: part/annotationpopup.cpp:85 +#, kde-format +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "ანოტაცია" +msgstr[1] "%1 ანოტაცია" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "მხტუნარა შეტყობინების &გახსნა" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "სანიშნეების ამოღება" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "სანიშნის დამატება" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, kde-format +msgid "Copy Text to Clipboard" +msgstr "ტექსტის კოპირება გაცვლის ბუფერში" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "კოპირება აკრძალულია DRM-ის მიერ" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "&წაშლა" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "&თვისებები" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, kde-format +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "'%1'-ის &შენახვა…" + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "&გარეგნობა" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "&ზოგადი" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&ავტორი:" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "შექმნილია:" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "შეცვლილია:" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "მხტუნარა შეტყობინების თვისებები" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "საბეჭდი მანქანის თვისებები" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "ხაზში ჩამატებული სანიშნის თვისებები" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "სწორი ხაზის თვისებები" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "მრავალკუთხედის თვისებები" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "გეომეტრიის თვისებები" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "ტექსტის ფორმატირების თვისებები" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "შტამპის თვისებები" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "ხელით დახატული ხაზის თვისებები" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "კარეტის თვისებები" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "მიბმული ფაილის თვისებები" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "ხმის თვისებები" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "ფილმის თვისებები" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "ანოტაციის თვისებები" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "შტამპის სიმბოლოს ფაილიდან არჩევა" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "შტამპის სიმბოლოს ფაილიდან არჩევა" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" +"*.ico *.png *.xpm *.svg *.svgz | ხატულის ფაილები (*.ico *.png *.xpm *.svg *." +"svgz)" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "შეცდომა %1 ფაილის ჩატვირთვისას" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "არასწორი ფაილი" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&ფერი:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, kde-format +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%v%" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "&გაუმჭვირვალობა:" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "ხატულა:" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "კომენტარი" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "დახმარება" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "ჩამატება" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "გასაღები" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "ახალი პარაგრაფი" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "შენიშვნა" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "პარაგრაფი" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "ფონტი:" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "&ტექსტის ფერი:" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "&სწორება:" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "მარცხენა" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "ცენტრი" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "მარჯვენა" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "საზღვრის &სიგანე:" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "დამტკიცებულია" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "როგორც არის" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "კონფიდენციალური" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "სამსახურეობრივი გამოყენებისთვის" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "მონახაზი" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "ექსპერიმენტალური" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "ვადაგასული" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "საბოლოო" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "კომენტარისთვის" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "საჯარო გამოყენებისთვის" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "დაუმტკიცებელია" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "არაა განკუთვნილი საჯარო გამოყენებისთვის" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "გაყიდულია" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "უმაღლესი დონის საიდუმლო" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "სანიშნი" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "ინფორმაცია" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "შამპის სიმბოლო:" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "&სიგანე:" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "ხაზის დასაწყისი:" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "ხაზის ბოლო:" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "კვადრატი" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "წრე" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "პრიზმა" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "ღია ისარი" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "დახურული ისარი" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "არც ერთი" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "სქელი" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "მარჯვენა ღია ისარი" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "მარჯვენა დახურული ისარი" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "დახრილი ხაზი" + +#: part/annotationwidgets.cpp:531 +#, kde-format +msgid "Leader line length:" +msgstr "ლიდერი ხაზის სიგრძე:" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "ლიდერის ხაზის სიგრძის გაფართოება:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "ჩართულია" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "ფორმის შევსება:" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Type:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "ხაზის გადასმა" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "მიმაგრებული ფაილის სიმბოლო:" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "გრაფიკი" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "ღილაკი" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "სამაგრი" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "იარლიყი" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "ფაილი" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "N/A" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "აღწერის გარეშე." + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "სახელი:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "აღწერა:" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "კარეტის სიმბოლო:" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "არაფერი" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "ამ შენიშვნის დახურვა" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "პარამეტრები" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"ანოტაცია, შეიძლება, LaTeX-ის კოდს შეიცავდეს.\n" +"დასარენდერებლად აქ დააწკაპუნეთ." + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "შეცდომა find პროგრამის გაშვებისას.." + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "LaTeX -ის რენდერის შეცდომა" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "შეცდომა dvipng პროგრამის გაშვებისას." + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "პრობლემა ბრძანება 'latex'-ის შესრულებისას." + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "პრობლემა ბრძანება 'dvipng'-ის შესრულებისას." + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"ერთი სანიშნე" +msgstr[1] "" +"%1\n" +"\n" +"%2 სანიშნე" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "სანიშნები" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "ყველა დოკუმენტისთვის ჩვენება" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, kde-format +msgid "Search…" +msgstr "ძებნა…" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, kde-format +msgid "Expand All" +msgstr "ყველას ამოკეცვა" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, kde-format +msgid "Collapse All" +msgstr "ყველას ჩაკეცვა" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "არჩეულ სანიშნზე გადასვლა" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "სანიშნის გადარქმევა" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "დოკუმენტის გახსნა" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "ამ დოკუმენტისთვის ყველა სანიშნის წაშლა" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "სერტიფიკატების ნახვა" + +#: part/certificateviewer.cpp:50 +#, kde-format +msgid "Export…" +msgstr "გატანა…" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "ძირითადი" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "გამომცემელი" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "საერთო სახელი(CN)" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "ელ-ფოსტა" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "ორგანიზაცია(O)" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "ვისთვისაა გამოცემული" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "სისწორე" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "ანაბეჭდები" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "SHA-1 ანაბეჭდი" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "SHA-256 ანაბეჭდი" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "დეტალები" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "სერტიფიკატის მონაცემები:" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "სად გნებავთ ამ სერტიფიკატის შენახვა?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "სერტიფიკატის ფაილი (* .cer)" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "სერტიფიკატის გატანის შეცდომა" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "&ფერის რეჟიმი" + +#: part/colormodemenu.cpp:21 +#, kde-format +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "ფერების შეცვლა" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "&ნორმალური ფერები" + +#: part/colormodemenu.cpp:41 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "&ინვერსიული ფერები" + +#: part/colormodemenu.cpp:42 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "&ქაღალდის ფერის შეცვლა" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "&მუქი და ღია ფერების შეცვლა" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "&შავთეთრში გადაყვანა" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "&განათების ინვერსია" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "&სიკაშკაშის ინვერსია (წრფივი sRGB)" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "სიკაშკაშის &ინვერსია (სიმეტრიული)" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "&ტონის დადებითი წანაცვლება" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "ტონის &უარყოფითი წანაცვლება" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "წითელი" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "მწვანე" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "ლურჯი" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "ყვითელი" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "შავი" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "თეთრი" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "ყვითელი გამოკვეთა" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "მვანე გამმოკვეთა" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "ტექსტის ჩასმა" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "ბმულებს გარშემო საზღვრის დახატვა" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "ფერების შეცვლა" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "" +"გაფრთხილება: ამ პარამეტრებს ხატვის სიჩქარეზე შეიძლება ცუდი გავლენა " +"ჰქონდეთ." + +#: part/dlgaccessibility.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "ფერების ინვერსია" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "ქაღალდის ფერის შეცვლა" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "მუქი და ღია ფერების შეცვლა" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "შავთეთრში გადაყვანა" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "განათების ინვერსია" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "სიკაშკაშის ინვერსია (წრფივი sRGB)" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "სიკაშკაშის ინვერსია (სიმეტრიული)" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "ტონის დადებითი წანაცვლება" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "ტონის უარყოფითი წანაცვლება" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "ფერის რეჟიმი:" + +#: part/dlgaccessibility.cpp:87 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "ქაღალდის ფერი:" + +#: part/dlgaccessibility.cpp:99 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "მუქი ფერი:" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "ღია ფერი:" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "ზღვარი:" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "კონტრასტი:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "ტექსტიდან-საუბრამდე ძრავა:" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "ტექსტიდან-საუბრამდე ხმა:" + +#: part/dlgannotations.cpp:25 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "ანოტაციის სრული ხელსაწყოების ზოლი" + +#: part/dlgannotations.cpp:26 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "ანოტაციის სწრაფი ხელსაწყოების ზოლი" + +#: part/dlgannotations.cpp:28 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "ანოტაციის ხელსაწყოების ზოლი:" + +#: part/dlgannotations.cpp:34 +#, kde-format +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "ავტორი:" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"შენიშვნა: ინფორმაცია, რომელსაც აქ შეიყვანთ, მხოლოდ, ანოტაციისთვის " +"იქნება გამოყენებული. ინფორმაცია ანოტაციების მქონე დოკუმენტში შეინახება, ასე " +"რომ, მას დოკუმენტთა ერთად გააგზავნით." + +#: part/dlgannotations.cpp:48 +#, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

    Quick Annotation Tools

    " +msgstr "

    სწრაფი ანოტაცის ხელსაწყოები

    " + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" +"აირჩიეთ რედაქტორი, რომელიც გნებავთ გაუშვათ, როცა Okular კოდის ფაილის გახსნას " +"შეეცდება." + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "რედაქტორის ხელით მითითება" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Emacs -ის კლიენტი" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "Lyx -ის კლიენტი" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "TeXstudio" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "TeXiFy IDEA" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "რედაქტორი:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
    \n" +"You can also put few placeholders:\n" +"
      \n" +"
    • %f - the file name
    • \n" +"
    • %l - the line of the file to be reached
    • \n" +"
    • %c - the column of the file to be reached
    • \n" +"
    \n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"დააყენეთ სასურველი ტექსტური რედაქტორის ბრძანება.
    \n" +"ასევე, შეგიძლიათ გამოიყენოთ რამდენიმე ადგილმჭერი:\n" +"
      \n" +"
    • %f - ფაილი სახელი
    • \n" +"
    • %l - ხაზი ფაილში, რომელზეც გადასვლა გნებავთ
    • \n" +"
    • %c - სვეტი ფაილში, რომელზეც გადასვლა გნებავთ.
    • \n" +"
    \n" +"თუ %f მითითებული არაა, ფაილი სახელი მითითებულ ბრძანებას ბოლოში მიეწერება." + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "ბრძანება:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "გლუვი გადახვევა" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "გარეგნობა:" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "ჩოჩიების ჩვენება" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "მინიატურის მიბმა გვერდზე" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "მინიშნებების და ინფორმაციის ჩვენება" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "გაფრთხილებები ჩაშენებული ფაილების, ფორმებისა და ხელმოწერების შესახებ" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "დოკუმენტის სათაურის სათაურის ზოლში ჩვენება, თუ ის ხელმისაწვდომა" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "მხოლოდ ფაილის სახელების ჩვენება" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "ფაილის სრული ბილიკის ჩვენება" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "როცა დოკუმენტის სათაური ნაჩვენები არაა:" + +#: part/dlggeneral.cpp:92 +#, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "ფონის ფერის მითითება:" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "პროგრამის თვისებები:" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "ახალი ფაილების ჩანართებში გახსნა" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "გადართვა არსებულ ჩანართზე, თუ ფაილი უკვე ღიაა" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "საავტორო უფლებების დაცვა" + +#: part/dlggeneral.cpp:148 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "დოკუმენტის თავიდან ჩატვირთვა მისი შეცვლისას" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "უკანაბოლოს არჩევის დიალოგის ჩვენება" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "მარჯვნიდან-მარცხნივ კითხვის მიმართულება" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" +"ფაილის ინფორმაციის გამოყენება დასადგენად, მოხდება თუ არა გახსნა უწყვეტ " +"რეჟიმში" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" +"ფაილების, რომლებსაც ინფორმაცია არ აქვთ, ნაგულისხმევად გახსნა უწყვეტ რეჟიმში" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "ნაგულისხმევად გახსნა უწყვეტ რეჟიმში" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "ძებნის ხელსაწყოს გამოყენებისას, ეკრანის გადატანა ეკრანის წიბოებთან" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "ელემენტები უახლეს ისტორიაში:" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "სვეტების მიმოხილვა:" + +#: part/dlggeneral.cpp:220 +#, kde-format +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%v%" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" +"განსაზღვრავს, მიმდინარე ხედის ფართობიდან რამდენი იქნება ჯერ კიდევ ხილული " +"Page Up/Down ღილაკებზე დაწოლისას." + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "Page Up/Down გადაფარვა:" + +#: part/dlggeneral.cpp:228 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%v%" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "100%" + +#: part/dlggeneral.cpp:233 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "სიგანის ჩატევა" + +#: part/dlggeneral.cpp:234 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "გვერდის ჩატევა" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "ავტომატური ჩატევა" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "მომხმარებლის" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" +"განსაზღვრავს ნაგულისხმევ გადიდების რეჟიმს ფაილებისთვის, რომლებიც აქამდე " +"არასდროს გახსნილა. ფაილებისთვის, რომლებიც უკვე გახსენით, წინა მასშტაბი " +"იქნება გამოყენებული." + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "ნაგულისხმევი მასშტაბირება:" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "გამჭვირვალობის ეფექტების ჩართვა" + +#: part/dlgperformance.cpp:28 +#, kde-format +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "CPU -ის გამოყენება:" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "დაბალი" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "ნორმალური (ნაგულისხმევი)" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "აგრესიული" + +#: part/dlgperformance.cpp:38 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "ხარბი" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "მეხსიერების გამოყენება:" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "ტექსტის მომრგვალების ჩართვა" + +#: part/dlgperformance.cpp:56 +#, kde-format +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "რენდერის მორგება:" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "გრაფიკის მომრგვალების ჩართვა" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "ტექსტის მომრგვალების ჩართვა" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"მინიმალური რაოდენობის მეხსიერების გამოყენება. თავიდან არაფერი იქნება " +"გამოყენებული. (მცირე რაოდენობის მეხსიერების მქონე სისტემებისთვის.)" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"კარგი კომპრომისი მეხსიერების გამოყენებასა და სიჩქარეს შორის. შემდეგი გვერდი " +"წინასწარ ჩაიტვირთება და ძებნა ასწრაფდება. (2გბ ან მეტი მეხსიერების მქონე " +"სისტემებისთვის.)" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"ყველაფრის მეხსიერებაში შენარჩუნება. შემდეგ გვერდების წინაწარი ჩატვირთვა. " +"სწრაფი ძებნა (4გბ ან მეტი მეხსიერების მქონე სისტემებისთვის.)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" +"ყველაფრის მეხსიერებაში ჩატვირთვა და იქ შენარჩუნება. ყველა გვერდის წინასწარი " +"ჩატვირთვა (გამოყენებს მაქსიმუმ 50% თქვენი კომპიუტერის სრული მეხსიერების ან " +"თავისუფალი მეხსიერების, რომელიც უფრო მეტია.)" + +#: part/dlgpresentation.cpp:38 +#, kde-format +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] "ყოველ %v წამში" +msgstr[1] "ყოველ %v წამში" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "გადაშლა ავტომატურად:" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "მარყუჟი ბოლო გვერდის შემდეგ" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "" +"დაატყაპუნეტ მარცხენა/მარჯვენა მხარეს შესაბამისად უკან/წინ გადასასვლელად" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "დაატყაპუნეთ სადმე წინა გადასასვლელად" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "გამორთულია" + +#: part/dlgpresentation.cpp:63 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "შეხებით მართვა:" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "ფონის ფერი:" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "დამალვა დაყოვნების შემდეგ" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "ყოველთვის ხილული" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "ყოველთვის დამალული" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "თაგუნას კურსორი:" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "მიმდინარეობის ინდიკატორის ჩვენება" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "შემაჯამებელი გვერდის ჩვენება" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "მყისი (ანიმაციების გარეშე)" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "ჩანაცვლება" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "შემთხვევითი გადასვლა" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "ვერტიკალური ჟალუზი" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "ჰორიზონტალური ჟალუზი" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "მართკუთხედი შიგნით" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "მართკუთხედი გარეთ" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "გახსნა" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "მინავლება" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "გამოსვლა ზემოდან" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "გამოსვლა მარჯვნივ" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "გამოსვლა მარჯვნივ-ზემოდან" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "ჰორიზონტალურად გაყოფა შიგნით" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "ჰორიზონტალურად გაყოფა გარეთ" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "ვერტიკალურად გაყოფა შიგნით" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "ვერტიკალურად გაყოფა გარეთ" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "გადაშლა ქვემოთ" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "გადაშლა მარჯვნივ" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "გადაშლა მარცხნივ" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "გადაშლა ზემოთ" + +#: part/dlgpresentation.cpp:121 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "ნაგულისხმევი გარდასვლა:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "რჩეული ეკრანი:" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

    Drawing Tools

    " +msgstr "

    ხატვის ხელსაწყოები

    " + +#: part/dlgpresentation.cpp:171 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "მიმდინარე ეკრანი" + +#: part/dlgpresentation.cpp:172 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "ნაგულისხმევი ეკრანი" + +#: part/dlgpresentation.cpp:178 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "ეკრანი %1 (%2 %3 %4)" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "ეკრანი %1 (გათიშულია)" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "ხატვის ხელსაწყო: %1" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "საშლელი" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "&სახელი:" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "&ტიპი:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "გარემოს იერსახე" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "ტექსტის ფორმატირება" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "გეომეტრიული ფიგურა" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "ანოტაციის ხელსაწყოს შექმნა" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "ანოტაციის ხელსაწყოს ჩასწორება" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "ფერი:" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "&ფანქრის სიგანე:" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "%v px" + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "ხატვის ხელსაწყოს შექმნა" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "ხატვის ხელსაწყოს ჩასწორება" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "უცნობი" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "ჩაშენებული ფაილები" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "ხედო" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "სახელი" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "აღწერა" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "ზომა" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "შექმნილია" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "შეიცვალა" + +#: part/embeddedfilesdialog.cpp:154 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "&შენახვა, როგორც…" + +#: part/embeddedfilesdialog.cpp:155 +#, kde-format +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "&ხედი…" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "ბეჭდვის მინიატურის ნაწილის ჩატვირთვის შეცდომა" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "დასაბეჭდის გადახედვა" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "დახურვა" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "&ძებნა:" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "მოსაძებნი ეტქსტი" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "შემდეგი" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "შემდეგ დამთხვევაზე გადასვლა" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "წინა" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "წინა დამთხვევაზე გადასვლა" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "ძებნის ქცევის შეცვლა" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "დიდი და პატარა ასოების განსხვავება" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "მიმდინარე გვერდიდან" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "ტექსტის პოვნა აკრეფისას" + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "ყველა ფაილი (*)" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "ხელმოწერის ადგილმჭერი (წკაპი ხელმოსაწერად)" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "ხელმო&წერა…" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "ხელმოწერის თვისებები" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "ძებნის მორგება" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "დიდი ასოს გმრძნობიარე" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "რეგულარული ექსპრესია" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "ფენები" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "დან" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "თემა" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "100%-მდე გადიდება" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "მარჯვნივ &შებრუნება" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "მარჯვენა" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "&მარცხნივ შებრუნება" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "მარცხენა" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "ორიგინალური ორიენტაცია" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "&წაკვეთა" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "&ველების წაკვეთა" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "&მონიშნულამდე წაკვეთა" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "სიგანეში &ჩატევა" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "&გვერდში ჩატევა" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "&ავტომატური ჩატევა" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "&ფანჯრის ჩატევა გვერდში" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "&ხედის რეჟიმი" + +#: part/pageview.cpp:594 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "&ერთი გვერდი" + +#: part/pageview.cpp:595 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "&გადაბრუნებები" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "გადაფურცვლა (&პირველი გვერდი ცალკე)" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "&გადახედვა" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "&უწყვეტი" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "მარჯვნიდან-მარცხნივ კითხვის მიმართულების გამოყენება" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "&არჩევა" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "&გადიდება" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "მონიშნული &მონაკვეთი" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "&მონიშნული ტექსტი" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "მონიშნული &ცხრილი" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "&გამადიდებელი" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "მონიშვნის ხელსაწყოები" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "ციფრული &ხელმოწერა…" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "მთელი დოკუმენტის თქმა" + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "წარმოთქმა მიმდინარე გვერდიდან" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "მიმდინარე გვერდის თქმა" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "ლაპარაკის დასრულება" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "თქმის შეჩერება/გაგრძელება" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "მაღლა აქაჩვა" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "ქვემოთ ჩამოწევა" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "გვერდის მაღლა აწევა" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "გვერდის ქვემოთ ჩამოწერვა" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "ფორმების ჩვენება" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] " ჩაიტვირთა ერთგვერდიანი დოკუმენტი." +msgstr[1] " ჩაიტვირთა %1-გვერდიანი დოკუმენტი." + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "ცხრილის შემცველობის კოპირება ბუფერში" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "ტექსტი (1 სიმბოლო)" +msgstr[1] "ტექსტი (%1 სიმბოლო)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "გაცვლის ბუფერში კოპირება" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "ტექსტის წაკითხვა" + +#: part/pageview.cpp:2863 +#, kde-format +msgid "Image (%1 × %2 pixels)" +msgstr "გამოსახულება (%1 x %2 პიქსელი)" + +#: part/pageview.cpp:2865 +#, kde-format +msgid "Save to File…" +msgstr "ფაილში შენახვა…" + +#: part/pageview.cpp:2885 +#, kde-format +msgid "Image [%1 × %2] copied to clipboard." +msgstr "გამოსახულება [%1 x %2] ბუფერში დაკოპირდა." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "ფაილის შენახვა" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "გამოსახულებები (*.png *.jpeg)" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "ფაილი არ შენახულა." + +#: part/pageview.cpp:2901 +#, kde-format +msgid "Image [%1 × %2] saved to %3 file." +msgstr "გამოსახულება [%1 x %2] შენახულია ფაილში %3." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "ტექსტის კოპირება" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "%1-ზე გადასვლა" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "სიგანის ჩატევა" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "გვერდის ჩატევა" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "ავტომატური ჩატევა" + +#: part/pageview.cpp:4107 +#, kde-format +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1%" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "'%1'-ის მოძებნა მოხდება" + +#: part/pageview.cpp:4404 +#, kde-format +msgid "Configure Web Shortcuts…" +msgstr "ვებ-მალსახმობების მორგება…" + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "ამ ბმულის მიყოლა" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "ამ ხმის დაკვრა" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "ხმის გაჩერება" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "ბმულის მისამართის კოპირება" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "'%1'-ის მოძებნა ამ დოკუმენტში" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "კეთილი იყოს თქვენი მობრძანება" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "აირჩიეთ გასადიდებელი ადგილი. მარჯვენა წკაპი დასაპატარავებლად." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "დააწკაპუნეთ გადიდებული ხედის სანახავად." + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "დახატეთ მართკუთხედი ტექსტის/გრაფიკის გარშემო, მის დასაკოპირებლად." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "ტექსტის მონიშვნა" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" +"დახატეთ მართკუთხედი ცხრილის გარშემო, შემდეგ დააწკაპუნეთ წიბოებთან, რომ " +"გაყოთ. დააწექით Esc-ს გასასუფთავებლად." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" +"ყველა თქვენი ხელმოწერის სერტიფიკატი არასწორია. თუ ხელმოწერა ადრე მუშაობდა, " +"შეამოწმეთ მათი ვარგისობის ვადა." + +#: part/pageview.cpp:5188 +#, kde-format +msgid "No valid certificates" +msgstr "სწორი სერტიფიკატების გარეშე" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, kde-format +msgid "Open Certificate Manager" +msgstr "სერტიფიკატების მმართველის გახსნა" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
    Launch Certificate Manager " +"to import or manage certificates
    For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" +"ხელმისაწვდომი ხელმოწერის სერტიფიკატები აღმოჩენილი არაა.
    გაუშვით " +"სერტიფიკატების მმართველი, რომ შემოიტანოთ, ან მართოთ ისინი
    მეტი " +"ინფორმაციისთვის სახელმძღვანელოში იხილეთ სექცია ციფრული " +"ხელმოწერების დამატება." + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, kde-format +msgid "No certificates found" +msgstr "სერტიფიკატები აღმოჩენილი არაა" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
    For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" +"ხელმოწერის სერტიფიკატები ვერ ვიპოვე.
    მეტი ინფორმაციისთვის იხილეთ სექცია " +"ციფრული ხელმოწერების დამატებაზე სახელმძღვანელოში." + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" +"გაქვთ შეუნახავი ცვლილებები. შეინახეთ დოკუმენტი, სანამ მას ხელს მოაწერთ." + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "დახატეთ მართკუთხედი ხელმოწერის ველის ჩასასმელად" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "დახატეთ მართკუთხედი იმ გვერდის გარშემო, რომელიც გნებავთ, ხილული დარჩეს" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "ახალი ტექსტური შენიშვნა" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "ახალი შენიშვნის ტექსტი:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"ხელმომწერი: %1\n" +"\n" +"თარიღი: %2" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" +"ამ ზომის ხელმოწერა წასაკითხად მეტისმეტად პატარაა. თუ გნებავთ, შექმნათ უფრო " +"კითხვადი ხელმოწერა, დააწექით თავიდან დაწყებას და უფრო " +"დიდი მართკუთხედი დახატეთ." + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "თავიდან დაწყება" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "ხელმოწერა" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name" +msgstr "ავტორის სახელი" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name for the annotation:" +msgstr "ავტორის სახელი ანოტაციისთვის:" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "ოვალის დახატვა (გადაათრიეთ ზონის მოსანიშნად)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "ტექსტის გამოკვეთა" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "ხელით დახატული ხაზი" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "ტექსტის ანოტაცია ხაზშივე (გადაათრიეთ ზონის მოსანიშნად)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "ხტუნარა შენიშვნის ჩამატება" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "მრავალკუთხედის დახატვა (დასახურად დააწკაპუნეთ პირველ წერტილს)" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "მართკუთხედის დახაზვა" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "ტექსტის ხაზგასმა კლაკნილით" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "შტამპის დასმა" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "სწორი ხაზის დახატვა" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "ტექსტზე ხაზის გადასმა" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "ტექსტის ხაზგასმა" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "საბეჭდი მანქანის ანოტაცია (გადაათრიეთ ზონის მოსანიშნად)" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "გამომკვეთი" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "რჩეული ანოტაციის დამატება" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Custom annotation name:" +msgstr "მომხმარებლის ანოტაციის სახელი:" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&ფაილი" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "&პარამეტრები" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "&დახმარება" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "&ორიენტაცია" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "&სანიშნეები" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "დათვალიერების ხელსაწყოთა ზოლი" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "ესკიზები" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "ანოტაციები" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
    Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" +"ეს დოკუმენტი შეიცავს ანოტაციებს ან ფორმის მონაცემებს, რომლებიც შიგნით იქნა " +"შენახული Okular-ის წინა ვერსიის მიერ. შიდა საცავი მხარდაჭერილი აღარაა." +"
    შენახეთ ფაილი იმისთვის, რომ გადააადგილოთ ისინი, თუ გნებავთ, მისი " +"ჩასწორება გააგრძელოთ." + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"ამ დოკუმენტს ჩაშენებული ფაილები გააჩნიათ. მათ სახანავად დააწკაპუნეთ აქ ან გადადით მენიუში ფაილი -> ჩაშენებული " +"ფაილები." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" +"მიმდინარეობს ხელმოწერა. შეგიძლიათ, ხელმოწერის მდებარეობა და ზომა გაასწოროთ" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "ხელმოწერის დასრულება" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "წინა" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "წინა გვერდზე დაბრუნება" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "დოკუმენტის წინა გვერდზე გადასვლა" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "შემდეგი" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "შემდეგ გვერდზე გაასვლა" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "დოკუმენტის შემდეგ გვერდზე გადასვლა" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "დოკუმენტის დასაწყისში" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "გადავა დოკუმენტის დასაწყისში" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "დოკუმენტის დასასრული" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "გადავა დოკუმენტის ბოლოში" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "მიმდინარე სანიშნეს სახელის გადარქმევა" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "წინა სანიშნი" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "წინა სანიშნზე გადასვლა" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "შემდეგი სანიშნი" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "შემდეგ სანიშნზე გადასვლა" + +#: part/part.cpp:748 +#, kde-format +msgid "Configure Okular…" +msgstr "Okular-ის მორგება…" + +#: part/part.cpp:751 +#, kde-format +msgid "Configure Viewer…" +msgstr "დამთვალიერებლის მორგება…" + +#: part/part.cpp:757 +#, kde-format +msgid "Configure Viewer Backends…" +msgstr "დამთვალიერებლის უკანაბოლოების მორგება…" + +#: part/part.cpp:759 +#, kde-format +msgid "Configure Backends…" +msgstr "უკანაბოლოების მორგება…" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "უკანაბოლოს შესახებ" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "&თავიდან ჩატვირთვა" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "მონიშნული დოკუმენტის დისკიდან თავიდან ჩატვირთვა." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "ძებნის &ზოლის დახურვა" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "გვერდის ნომერი" + +#: part/part.cpp:817 +#, kde-format +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "ფერის რეჟიმების მორგება…" + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "მიმდინარე გვერდის ტექსტის სრულად მონშვნა" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "&გვერდითი პანელის ჩვენება" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "&გვერდის პანელის ჩვენება" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "&ხელმოწერების პაჯნელის ჩვენება" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "&ჩაშენებული ფაილები" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "&გატანა, როგორც" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "&გაზიარება" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "&პრეზენტაცია" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "შ&ემცველი საქაღალდის ჩვენება" + +#: part/part.cpp:945 +#, kde-format +msgid "&Import PostScript as PDF…" +msgstr "PostScript-ის შ&ემოტანა PDF-ის სახით…" + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "შავი ეკრანის რეჟიმზე გადართვა" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "ნახატის წაშლა" + +#: part/part.cpp:962 +#, kde-format +msgid "Configure Annotations…" +msgstr "ანოტაციების მორგება…" + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "პრეზენტაციის დაკვრა/შეჩერება" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" +"ახლახანს ღია დოკუმენტი შეცვალეთ, მაგრამ ამნაირ დოკუმენტს ვერ შეინახავთ.\n" +"ყველა ცვლილება დაიკარგება, როცა Okular-ს დახურავთ." + +#: part/part.cpp:1123 +#, kde-format +msgid "Document can't be saved" +msgstr "დოკუმენტის შენახვა შეუძლებელია" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "'%1'-ის გახსნის შეცდომა (%2) " + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "%1-ის ჩატვირთვა გაუქმდა." + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "%1-ის გახსნის შეცდომა. მიზეზი: %2" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "დამთვალიერებლის უკანაბოლოების მორგება" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "უკანაბოლოების მორგება" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"პროგრამა \"ps2pdf\" ვერ ვიპოვე, ასე რომ Okular-ს PS ფაილების შემოტანა მისი " +"გამოყენებით არ შეუძლია." + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "ps2pdf ვერ ვიპოვე" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "PostScript ფაილები (%1)" + +#: part/part.cpp:1357 +#, kde-format +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "PS ფაილის შემოტანა PDF ფაილი სახით (ამას დიდი დრო შეიძლება დასჭირდეს)…" + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "შეიყვანეთ პაროლი დოკუმენტის წასაკითხად:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "არასწორი პაროლი. თავიდან სცადეთ:" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "დოკუმენტის პაროლი" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" +"ამ დოკუმენტს აქვს XFA ფორმები, რომლებიც ამჟამად მხარდაჭერილი არაა." + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"ამ დოკუმენტს ფორმები აქვს. დააწკაპუნეთ ღილაკზე, რათა მათთან ურთიერთობა " +"იქონიოთ. ან გამოიყენეთ მენიუ ხედი -> ფორმების ჩვენება." + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" +"ამ დოკუმენტისთვის ყველა ჩასწორებისა და ურთიერთობის ფუნქციები გამორთულია. ამ " +"დოკუმენტის ჩასასწორებლად შეინახეთ მისი ასლი და თავიდან გახსენით." + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" +"ეს დოკუმენტი მოითხოვს, სრულ ეკრანზე გაიშალოს.\n" +"გავიდე ნორმალური რეჟიმიდან და გადავიდე პრეზენტაციის რეჟიმზე?" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "თვალიერების რეჟიმის შეცვლის მოთხოვნა" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "პრეზენტაციის რეჟიმში გადასვლა" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "მოთხოვნის უარყოფა" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "%1-ის გახსნის შეცდომა. %2" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" +"ფაილს %1 შეუნახავი ცვლილებები აქვს, მაგრამ ის სხვა " +"პროგრამამ შეცვალა. თავიდან ჩატვირთვა შეუნახავ ცვლილებებს სხვა პროგრამის მიერ " +"შეტანილი ცვლილებებით ჩაანაცვლებს.გნებავთ ფაილის თავიდან ჩატვირთვის " +"გაგრძელება?" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "ფაილი შეცვლილია" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "თავიდან ჩატვირთვის გაგრძელება" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "თავიდან ჩატვირთვის გაუქმება" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" +"ფაილს %1 შეუნახავი ცვლილებები აქვს, მაგრამ ის სხვა " +"პროგრამამ შეცვალა. დახურვა შეუნახავ ცვლილებებს სხვა პროგრამის მიერ შეტანილი " +"ცვლილებებით ჩაანაცვლებს.გნებავთ ფაილის დახურვის გაგრძელება?" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "დახურვის გაგრძელება" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "დახურვის შეწყვეტა" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "გნებავთ, შეინახოთ ცვლილებები \"%1\"-ში თუ მოაცილოთ ისინი?" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "დოკუმენტის დახურვა" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"ეს ბმული მიუთითებს დოკუმენტის დახურვის ქმედებაზე, რომელიც არ მუშაობს, როცა " +"ჩაშენებულ დამთვალიერებელს იყენებთ." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"ეს ბმული მიუთითებს აპლიკაციიდან გასვლის ქმედებაზე, რომელიც არ მუშაობს, როცა " +"ჩაშენებულ დამთვალიერებელს იყენებთ." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, kde-format +msgid "Reloading the document…" +msgstr "დოკუმენტის თავიდან ჩატვირთვა…" + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "შიგთავსი" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "ხელმოწერები" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "გვერდზე გადასვლა" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "&გვერდი:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "შეიყვანეთ სანიშნეს ახალი სახელი:" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "სანიშნის გადარქმევა" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "სანიშნის წაშლა" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "შენახვა, როგორც" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" +"აირჩიეთ, რომ შეინახოთ Okular-ის არქივი ფაილის სახელის გარეშე, რომელიც '%1' " +"გაფართოებით სრულდება. ეს დაუშვებელია. გნებავთ, ახალი სახელი აირჩიოთ?" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "მხარდაუჭერელი გაფართოება" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "აირჩიეთ სახელი" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" +"ფაილი %1 სხვა პროგრამამ შეცვალა. თუ ახლა შეინახავთ, " +"სხვა პროგრამის მიერ შეტანილი ცვლილებები დაიკარგება. დარწმუნებული ბრძანდებით, " +"რომ გნებავთ, გააგრძელოთ?" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "შენახვა - გაფრტხილება" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "ასლის სადმე სხვაგან შენახვა" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
    In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" +"მიმდინარე დოკუმენტი პაროლითაა დაცული.
    იმისათვის, რომ შეინახოთ, ფაილი " +"თავიდან უნდა ჩატვირთოთ. პაროლს თავიდან გკითხავ და თქვენი გაუქმება/გამეორების " +"ისტორია დაიკარგება.
    გნებავთ, გააგრძელოთ?" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "დროებითი ფაილის შესანახად გახსნა შეუძლებელია." + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" +"ფაილს %1 თავზე ვერ გადავაწერე, რადგან ფაილ მხოლოდ-" +"კითხვადია. სცადეთ, სხვა ადგილას შეინახოთ, ან ფაილის წვდომები შეცვალეთ." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" +"შენახვის შემდეგ, მიმდინარე დოკუმენტის ფორმატი მოითხოვს, რომ ფაილი თავიდან " +"ჩატვირთოთ. თქვენი გაუქმება/გამეორების ისტორია დაიკარგება.
    გნებავთ, " +"გააგრძელოთ?" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "ფაილის შენახვა '%1'-ში შეუძლებელია. სცადეთ, სხვა ადგილას შეინახოთ." + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "შევსებული ფორმის შემცველობა" + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "მომხმარებლის ანოტაციები" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" +"აპირებთ, შეინახოთ ცვლილებები, მაგრამ მიმდინარე ფაილის ფორმატს შემდეგი " +"ელემენტების შენახვის მხარდაჭერა არ აქვს. მათ შესანახად შეგიძლიათ Okular-ი " +"დოკუმენტის არქივი გამოიყენოთ." + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "გაფრთხილება" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "შენახვა, როგორც Okular-ის დოკუმენტების არქივის…" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" +"აპირებთ, შეინახოთ ცვლილებები, მაგრამ მიმდინარე ფაილის ფორმატს შემდეგი " +"ელემენტების შენახვის მხარდაჭერა არ აქვს. მათ შესანახად შეგიძლიათ Okular-ი " +"დოკუმენტის არქივი გამოიყენოთ. დააწკაპუნეთ გაგრძელებაზე, რომ " +"დოკუმენტი შეინახოთ, ეს ელემენტები კი მოაცილოთ." + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" +"აპირებთ, შეინახოთ ცვლილებები, მაგრამ მიმდინარე ფაილის ფორმატს შემდეგი " +"ელემენტების შენახვის მხარდაჭერა არ აქვს. მათ შესანახად შეგიძლიათ Okular-ი " +"დოკუმენტის არქივი გამოიყენოთ. დააწკაპუნეთ გაგრძელებაზე, რომ " +"დოკუმენტი შეინახოთ, მაგრამ ამ ელემენტებს, ისევე, როგორც გაუქმება/გამეორების " +"ისტორიას, დაკარგავთ." + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "გაგრძელება" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "გაგრძელება ცვლილებების დაკარგვით" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "ფაილი '%1'-ში ვერ შევინახე: %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"Okular-მა %1 მითითებულ მდებარეობაზე ვერ დააკოპირა.\n" +"\n" +"დოკუმენტი აღარ არსებობს." + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" +"ფაილის შენახვა '%1'-ში შეუძლებელია. შეცდომა: '%2'. სცადეთ, სხვა ადგილას " +"შეინახოთ." + +#: part/part.cpp:3158 +#, kde-format +msgid "Expand Whole Section" +msgstr "მთელი სექციის ჩამოშლა" + +#: part/part.cpp:3159 +#, kde-format +msgid "Collapse Whole Section" +msgstr "მთელი სექციის აკეცვა" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "მინიატურის სინქრონიზაცია გვერდთან" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "ხელსაწყოები" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "ლაპარაკი" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "ამობეჭდვა" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "ამ დოკუმენტის დაბეჭდვა დაშვებული არაა." + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"დოკუმენტი ვერ დავბეჭდე. უცნობი შეცდომა. მოგვწერეთ შეცდომის შესახებ საიტზე " +"bugs.kde.org" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"დოკუმენტი ვერ დავბეჭდე. დეტალური შეცდომაა \"%1\". მოგვწერეთ შეცდომის შესახებ " +"საიტზე bugs.kde.org" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "გადასვლა ადგილზე, სადაც მანამდე იყავით" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "გადასვლა ადგილზე, სადაც შემდეგ იყავით" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"ფაილის შეცდომა! ვერ შევქმენი დროებითი ფაილი " +"%1." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"ფაილის შეცდომა! ვერ გავხსენი ფაილი %1 გასაშლელად. ფაილი არ ჩაიტვირთება." + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"ეს შეცდომა ჩვეულებრივ ნიშნავს, რომ თქვენ საკმარისი წვდომები არ " +"გაგაჩნიათ, რომ ფაილი წაიკითხოთ. მფლობლის და წვდომების შემოწმება შეგიძლიათ, " +"თუ Dolphin-ში ფაილზე მარჯვენა ღილაკით დააწკაპუნეთ, შემდეგ აირჩევთ " +"'თვისებებს' და 'წვდომების' ჩანართს ფანჯარაში, რომელიც გაიხსნება." + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"ფაილის შეცდომა! ვერ გავშალე ფაილი %1. ფაილი არ ჩაიტვირთება." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"ეს შეცდომა, ჩვეულებრივ, ხდება მაშინ, როცა ფაილი დაზიანებულია. თუ " +"გნებავთ, დარწმუნდეთ, სცადეთ, ფაილი ხელით, ბრძანების სტრიქონის ბრძანებებით " +"გაშალოთ" + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "სანიშნების გარეშე" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "პრობლემა დოკუმენტის გაზიარებისას: %1" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "გაზიარება" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "დოკუმენტი წარმატებით გაზიარდა" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "" +"გაზიარებული დოკუმენტის ხილვა შეგიძლიათ მისამართზე: %1" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "რ&ედაქტირება" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "&ხედი" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&გადასვლა" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "&ხელსაწყოები" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "ხელსაწყოთა მთავარი ზოლი" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "ანოტაციის ხელსაწყოების ზოლი" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, kde-format +msgid "Quick Annotation Toolbar" +msgstr "ანოტაციის სწრაფი ხელსაწყოების ზოლი" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "ზოგადი პარამეტრები" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "წვდომადობა" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "კითხვის დამხმარე შესაძლებლობები" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "წარმადობა" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "წარმადობის მორგება" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "დამთვალიერებლის მორგება" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "პრეზენტაცია" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "პარამეტრები პრეზენტაციის რეჟიმისთვის" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "ანოტაციის მორგება" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "რედაქტორი" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "რედაქტორის მორგება" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" +"რედაქტორი დაყენებულია ბრძანების სტრიქონით, მნიშვნელობაზე \n" +" %1 \n" +"თუ გნებავთ, ეს პარამეტრი გამოიყენოთ, Okular --editor-cmd პარამეტრის გარეშე " +"გაუშვით" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "მომდევნოს მოძებნა" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 – პრეზენტაცია" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "ეკრანის გადართვა" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "%1-ე ეკრანი" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "პრეზენტაციის რეჟიმიდან გასვლა" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "სათაური: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "გვერდები: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "დასაწყებად დააწკაპუნეთ" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "შეჩერება" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "დაკვრა" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"პრეზენტაციის რეჟიმიდან გასვლის ორი გზა გაქვთ. შეგიძლიათ, დააწვეთ ღილაკს Esc " +"ან დააწკაპუნოთ გასვლის ღილაკზე, რომელი გამოჩნდება, როცა თაგუნას კურსორს ზედა " +"მარჯვენა კუთხესთან მიიტანთ. რა თქმა უნდა, ფანჯრების გადართვაც (Alt-Tab " +"ნაგულისხმევად) მუშაობს)" + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "პრეზენტაციის წარდგენა" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "უცნობი ფაილი" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "%1 -ის თვისებები" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "&ფონტები" + +#: part/propertiesdialog.cpp:145 +#, kde-format +msgid "Reading font information…" +msgstr "ფონტის ინფორმაციის წაკითხვა…" + +#: part/propertiesdialog.cpp:158 +#, kde-format +msgid "&Page Sizes" +msgstr "&გვერდის ზომები" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "&ფონტის გაშლა" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "ტიპი 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "ტიპი 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "ტიპი 1C (OT)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "ტიპი 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType (OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID ტიპი 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID ტიპი 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID ტიპი 0C (OT)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType (OT)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "TeX PK" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "TeX ვირტუალური" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "TeX ფონტის მეტრიკა" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "FreeType TeX-სთვის" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "უცნობი" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "ჩაშენებული ქვესიმრავლე" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "სრულად ჩაშენებული" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "არა" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "დიახ (ქვესეტი)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "კი" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "%1 (ჩანაცვლება %2-ით)" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "[n/a]" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "უცნობი ფონტი" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "ჩაშენებული: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "სახელი" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "ტიპი" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "ფაილი" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "გვერდი" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "ზომა" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "რევზიის გადახედვა" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "სად გნებავთ, ეს რევიზია შეინახოთ?" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "ფაილის შენახვა შეუძლებელია: \"%1\"." + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "რევიზიის ნახვა შეუძლებელია." + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "გვერდების გასაფილტრად შეიყვანეთ სულ ცოტა 3 სიმბოლო" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "დიდი ასოს გმრძნობიარე" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "ფრაზის დამთხვევა" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "ყველა სიტყვის დამთხვევა" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "ნებისმიერი სიტყვის დამთხვევა" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "ფილტრის მორგება" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, kde-format +msgid "Certificates" +msgstr "სერტიფიკატები" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "აირჩიეთ ხელმოსაწერი სერტიფიკატი:" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "ყველა" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, kde-format +msgid "Only QES certificates" +msgstr "მხოლოდ QES სერთიფიკატები" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "მხოლოდ PGP გასაღებები" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "მიზეზი:" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, kde-format +msgid "optional" +msgstr "არასავალდებულო" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "მდებარეობა:" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, kde-format +msgid "Background:" +msgstr "ფონი:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "აირჩიეთ..." + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, kde-format +msgid "Recent backgrounds:" +msgstr "ბოლო ფონი:" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

    No annotations

    To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
    " +msgstr "" +"

    ანოტაციების გარეშე

    ახალი ანოტაციის შესაქმნელად " +"დააწექით ღილაკს F6, ან აირჩიეთ მენიუდან ხელსაწყოები -> ანოტაციები." +"
    " + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "გვერდით დაჯგუფება" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "ავტორით დაჯგუფება" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "ანოტაციების, მხოლოდ, მიმდინარე გვერდისთვის ჩვენება" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "ყველა ელემენტის ამოკეცვა" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "ყველა ელემენტის ჩაკეცვა" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "პარამეტრები" + +#: part/signaturepartutils.cpp:180 +#, kde-format +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "სურათები (%1)" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "აირჩიე ფონის გამოსახულება" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "გამოსახულების დავიწყება" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "ყველა გამოსახულების დავიწყება" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "შეიყვანეთ პაროლი (თუ არსებობს) სერტიფიკატის განსაბლოკად: %1" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "შეიყვანეთ სერტიფიკატის პაროლი" + +#: part/signaturepartutils.cpp:244 +#, kde-format +msgid "Enter document password" +msgstr "შეიყვანეთ დოკუმენტის პაროლი" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "ხელმოწერილი ფაილის შენახვა, როგორც" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "%1_signed.%2" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "გადამოწმების სტატუსი" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "ხელმოწერის სისწორე:" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "დოკუმენტის ცვლილებები:" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "დამატებითი ინფორმაცია" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "ხელმომწერი:" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "ხელმოწერის დრო:" + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "დოკუმენტის ვერსია" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "დოკუმენტის გადასინჯვა %1 %2-დან" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "ხელმოწერილი ვერსიის ნახვა…" + +#: part/signaturepropertiesdialog.cpp:95 +#, kde-format +msgid "View Certificate…" +msgstr "სერტიფიკატის ნახვა…" + +#: part/signaturepropertiesdialog.cpp:97 +#, kde-format +msgid "View in Certificate Manager" +msgstr "სერტიფიკატის მმართველში ნახვა" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "KDE-ის სერტიფიკატების მმართველი (kleopatra) აღმოჩენილი არაა" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "წინასწარ შეთანხმებული" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "PGP" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "მხოლოდ, სანიშნეებში ჩამატებული გვერდების ჩვენება" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "დაკვრა" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "შეჩერება" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "შეჩერება" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "ამ Okular-ში ვიდეოები მხარდაჭერილი არაა" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "ამ Okular-ში ვიდეოები მხარდაჭერილი არაა" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "დ&ამატება…" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, kde-format +msgid "&Edit…" +msgstr "&ჩასწორება…" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "&წაშლა" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "აწევა" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "ჩამოწევა" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "ნაგულისხმევი სახატავი პროგრამა #%1" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "პროგრამა ამ სახელით უკვე არსებობს. ვიყენებ ნაგულისხმევს" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "დუბლირებული სახელი" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "დოკუმენტის გვერდი საჩვენებლად" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "დოკუმენტის გაშვება პრეზენტაციის რეჟიმში" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "ბეჭდვის დიალოგით გაშვება" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "ბეჭდვის დიალოგით გაშვება და გასვლა დაბეჭდვის შემდეგ" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "\"უნიკალური გაშვებული ასლის\" კონტროლი" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "არ ასწიო ფანჯარა" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "სტრიქონის ძებნა ტექსტში" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "აყენებს გარე რედაქტორის ბრძანებას" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "გასახსნელი დოკუმენტი. სტანდარტული შეყვანიდან წასაკითხად მიუთითეთ '-'." + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" +"უკვე გაშვებულ Okular-ის ასლზე რედაქტორის ბრძანებას ვერ დააყენებთ. გამორთეთ " +"ჩანართები და თავიდან სცადეთ. დაიმახსოვრეთ, რომ უნიკალურიც არაა მხარდაჭერილი, " +"როცა რედაქტორს ბრძანებას ბრძანების სტრიქონიდან უთითებთ.\n" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "შეცდომა: პარამეტრით --unique ერთ დოკუმენტზე მეტს ვერ გავხსნი" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "შეცდომა: პარამეტრით --presentation ერთ დოკუმენტზე მეტს ვერ გავხსნი" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "შეცდომა: პარამეტრით --print ერთ დოკუმენტზე მეტს ვერ გავხსნი" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "შეცდომა: პარამეტრით --page ერთ დოკუმენტზე მეტს ვერ გავხსნი" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "შეცდომა: პარამეტრით --find ერთ დოკუმენტზე მეტს ვერ გავხსნი" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "ვერ ვიპოვე Okular-ის კომპონენტი: %1" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "გვერდითი ზოლი" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" +"უნიკალური Okular-ის გაშვებული ასლი უკვე არსებობს. ეს გაშვებული ასლი " +"უნიკალური არ იქნება." + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "Okualar-ის კომპონენტის პოვნა ვერ მოხერხდა." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"დააწკაპუნეთ ფაილის გასახსნელად\n" +"დააწკაპუნეთ და გეჭიროთ უახლესი ფაილის გასახსნელად" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"დააწკაპუნეთ ფაილის გასახსნელად, ან დააწკაპუნეთ და გეჭიროთ " +"უახლესი ფაილის ასარჩევად" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "შემდეგი ჩანართი" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "წინა ჩანართი" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "ჩანართის დახურვის გაუქმება" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "გვერდითი პანელის დაბლოკვა" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "ყველა ფაილი (*)" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "ყველა მხარდაჭერილი ფაილი (%1)" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "დოკუმენტის გახსნა" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "დახურვის დასტური" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "ჩანართების დახურვა" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "აპირებთ, დახუროთ %1 ჩანართი. დარწმუნებული ბრძანდებით?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "გამაფრთხილე, როცა ერთზე მეტი ჩანართის დახურვას დავაპირებ" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "ბილიკის &კოპირება" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "შემცველი საქაღალდის &გახსნა" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "&ამ ელემენტის დავიწყება" + +#: shell/welcomescreen.cpp:137 +#, kde-format +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "ახლახანს გახსნილი დოკუმენტების გარეშე" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "მოგესალმებათ Okular" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "დოკუმენტის გახსნა..." + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, kde-format +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "ახლახანს გასნილი დოკუმენტები" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "ყველას დავიწყება" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "საწყისი ეკრანის დამალვა" + +#~ msgid "Geometry with Comment" +#~ msgstr "გეომეტრია კომენტარით" + +#~ msgid "Geometry" +#~ msgstr "გეომეტრია" + +#~ msgctxt "Annotation type: contents" +#~ msgid "%1: %2" +#~ msgstr "%1: %2" + +#~ msgid "Modified: %1" +#~ msgstr "ცვლილება: %1" + +#~ msgid "Find..." +#~ msgstr "მოძებნა…" + +#~ msgid "Go To Page..." +#~ msgstr "გვერდზე გადასვლა..." + +#~ msgid "Play movie..." +#~ msgstr "ფილმის დაკვრა..." + +#~ msgid "Search..." +#~ msgstr "საძიებო სიტყვა..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "&შენახვა, როგორც..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "&ნახვა..." + +#~ msgid "&Sign..." +#~ msgstr "&ხელმოწერა..." + +#~ msgid "Configure Viewer..." +#~ msgstr "დამთვალიერებლის მორგება..." + +#~ msgid "Configure Viewer Backends..." +#~ msgstr "დამთვალიერებლის უკანაბოლოების მორგება..." + +#~ msgid "Configure Backends..." +#~ msgstr "უკანაბოლოების მორგება..." + +#~ msgid "&Add..." +#~ msgstr "&დამატება.." + +#~ msgid "&Edit..." +#~ msgstr "&ჩასწორება..." + +#~ msgctxt "%1 is a file path" +#~ msgid "" +#~ "Could not sign. Invalid certificate password or could not write to '%1'" +#~ msgstr "" +#~ "ხელმოწერა შეუძლებელია. სერტიფიკატის პაროლი არასწორია ან '%1'-ში ჩაწერა " +#~ "შეუძლებელია" + +#~ msgid "All your signing certificates are invalid" +#~ msgstr "ყველა თქვენი ხელმოწერის სერტიფიკატი არასწორია" + +#~ msgid "Unsigned Signature %1" +#~ msgstr "ხელმოუწერელი ხელმოწერა %1" + +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "უცნობი" + +#~ msgctxt "Signature type" +#~ msgid "Unsigned signature" +#~ msgstr "ხელმოუწერელი ხელმოწერა" + +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "Spinbox prefix: Advance automatically: every n seconds" +#~ msgid "every " +#~ msgstr "ყოველ " + +#~ msgctxt "Suffix for the pen width, eg '10 px'" +#~ msgid " px" +#~ msgstr " px" + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " %" + +#~ msgctxt "%1 is a file path" +#~ msgid "Could not sign. Could not write to '%1'" +#~ msgstr "ხელმოწერა შეუძლებელია. '%1'-ში ჩაწერა შეუძლებელია" + +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "სიგანის ჩატევა" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "გვერდის ჩატევა" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Auto Fit" +#~ msgstr "ავტომატური ჩატევა" + +#~ msgid "*|All Files" +#~ msgstr "*|ყველა ფაილი" + +#~ msgid "Missing alert type" +#~ msgstr "გაფრთხილების ტიპის გარეშე" + +#~ msgid "Show Sidebar" +#~ msgstr "გვერდითა ზოლის ჩვენება" diff --git a/po/ka/okular_comicbook.po b/po/ka/okular_comicbook.po new file mode 100644 index 0000000..5e4c989 --- /dev/null +++ b/po/ka/okular_comicbook.po @@ -0,0 +1,47 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2022-09-17 18:37+0200\n" +"Last-Translator: Temuri Doghonadze \n" +"Language-Team: Georgian \n" +"Language: ka\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 3.1.1\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Temuri Doghonadze" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "Temuri.doghonadze@gmail.com" + +#: document.cpp:97 +#, kde-format +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "დოკუმენტის გახსნის შეცდომა. არც unrar იქნა ნაპოვნი და არც unarchiver." + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "" +"თქვენ სისტემაში არსებული unrar-ის ვერსია comicbook-ის გასახსნელად საკმარისად " +"ახალი არაა." + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "ComicBook -ის უცნობი ფორმატი." diff --git a/po/ka/okular_djvu.po b/po/ka/okular_djvu.po new file mode 100644 index 0000000..874e124 --- /dev/null +++ b/po/ka/okular_djvu.po @@ -0,0 +1,96 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2022-09-17 18:35+0200\n" +"Last-Translator: Temuri Doghonadze \n" +"Language-Team: Georgian \n" +"Language: ka\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 3.1.1\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Temuri Doghonadze" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "Temuri.doghonadze@gmail.com" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "რედაქტორი" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "გამომცემელი" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "ტომი" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "დოკუმენტს ტიპი" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "უცნობი" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "კომპონენტის ფაილები" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "უცნობი" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "ცალკეული გვერდი" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "შეფუთული" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "არაპირდაპირი" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "შეფუთული (ძველი)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "ინდექსირებული (ძველი)" diff --git a/po/ka/okular_dvi.po b/po/ka/okular_dvi.po new file mode 100644 index 0000000..8bd6a0f --- /dev/null +++ b/po/ka/okular_dvi.po @@ -0,0 +1,547 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-11 03:43+0200\n" +"Last-Translator: Temuri Doghonadze \n" +"Language-Team: Georgian \n" +"Language: ka\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 3.6\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Temuri Doghonadze" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "Temuri.doghonadze@gmail.com" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

    Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

    Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

    " +msgstr "" +"

    " +"შენიშვნა დაბნეული სისტემური ადმინისტრატორებისთვის: Okular პროგრამების " +"მოსაძებნად გარემოს ცვლად PATH-ს იყენებს.

    Okular-მა თქვენს კომპიუტერზე პროგრამა dvipdfm ვერ იპოვა. ეს " +"პროგრამა აუცილებელია გატანის ფუნქციის სამუშაოდ. მაგრამ თქვენ შეგიძლიათ, DVI " +"ფაილები, PDF-ში, Okular-ის ბეჭდვის ფუნქციით გადაიტანოთ, რომელიც ხშირად ქმნის " +"დოკუმენტებს, რომლებიც ნორმალურად იბეჭდება, მაგრამ უფრო დაბალი ხარისხისაა, თუ " +"მათ Acrobat Reader-ში გახსნით. უკეთესი იქნებოდა, თუ განაახლებდით TeX-ის " +"დისტრიბუტივის ვერსიას რომელიც dvipdfm პროგრამას შეიცავს.

    " + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"გარე პროგრამა 'dvipdfm', რომელიც გამოყენებული იყო ფაილის გატანისთვის, " +"ავარიულად დასრულდა. შეცდომის მეტი დეტალების გასაგებად, შეგიძლიათ, შეხედოთ " +"დოკუმენტის ინფორმაციის დიალოგს რომელიც, შეგიძლიათ, ფაილის " +"მენიუში იხილოთ." + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" +"ეს DVI ფაილი მიმართავს გარე გრაფიკულ ფაილებს, რომლებიც PostScript " +"ფორმატში არაა და ამიტომ ვერ დამუშავდება dvips პროგრამის მიერ, " +"რომელსაც Okular იყენებს დასაბეჭდად და PostScript-ში გასატანად. ამიტომ " +"ფუნქციონალი, რომელსაც ის მოითხოვს, ხელმიუწვდომელია Okular-ის ამ ვერსიაში." + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

    Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

    Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

    " +msgstr "" +"

    Okular-მა თქვენს კომპიუტერზე პროგრამა dvips ვერ იპოვა. ეს " +"პროგრამა აუცილებელია გატანის ფუნქციის სამუშაოდ.

    შენიშვნა დაბნეული " +"სისტემური ადმინისტრატორებისთვის: Okular პროგრამების მოსაძებნად გარემოს ცვლად " +"PATH-ს იყენებს.

    " + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"გარე პროგრამა 'dvips', რომელიც გამოყენებული იყო ფაილის გატანისთვის, " +"ავარიულად დასრულდა. შეცდომის მეტი დეტალების გასაგებად, შეგიძლიათ, შეხედოთ " +"დოკუმენტის ინფორმაციის დიალოგს რომელიც, შეგიძლიათ, ფაილის " +"მენიუში იხილოთ." + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "DVI ფაილი შესავლის გარეშე იწყება." + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" +"DVI ფაილი ამ პროგრამისთვის არასწორ ვერსიას შეიცავს. მინიშნება. თუ იყენებთ " +"Omega-ს, oxdvi-ის მსგავსი სპეციალური პროგრამა დაგჭირდებათ." + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "" +"DVI ფაილი სასიკვდილოდაა დაჭრილი და სულს ღაფავს. Okular-მა მისი პოსტამბულაც " +"კი ვერ იპოვა." + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "პოსტამბულა POST ბრძანებით არ იწყება." + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "პოსტამბულა FNTDEF-ის გარდა სხვა ბრძანებასაც შეცავდა." + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "გვერდი %1 BOP ბრძანებით არ იწყება." + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

    The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

    What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

    PATH: %2

    " +msgstr "" +"

    გარე პროგრამა pdf2ps ვერ გავუშვი. შედეგად, PDF-ფაილი " +"%1 PostScript-ში ვერ გადავიყვანე. თქვენი დოკუმენტის ზოგიერთი გრაფიკული " +"ელემენტი ნაჩვენები არ იქნება.

    შესაძლო მიზეზი: პროგრამა " +"pdf2ps შეიძლება, დაყენებული არ გაქვთ, ან მიმდინარე ძებნის " +"ბილიკში არაა.

    რა შეგძლიათ, გააკეთოთ: პროგრამა pdf2ps დისტრიბუტივებში, ჩვეულებრივ, ghostscript PostScript სისტემის " +"ნაწილია. თუ ghostscript დაყენებული არ გაქვთ, დააყენეთ ის. თუ დარწმუნებული " +"ბრძანდებით, რომ ghostscript დაყენებული გავთ, სცადეთ, pdf2ps " +"ბრძანების სტრიქონიდან გაუშვათ, რომ შეამოწმოთ, მუშაობს თუ არა ის.

    ბილიკი: %2

    " + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

    The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

    %2

    " +msgstr "" +"

    PDF ფაილი %1 PostScript-ში ვერ გადავიყვანე. ამიტომ, თქვენი დოკუმენტის " +"ზოგიერთი გრაფიკული ელემენტი ნაჩვენები არ იქნება.

    შესაძლო მიზეზი: ფაილი %1 შეიძლება, დაზიანებულია ან შეიძლება საერთოდ არაა PDF ფაილი. ეს " +"ტექსტი გამოიტანა pdf2ps პროგრამამ, რომელსაც Okular იყენებს:" +"

    %2

    " + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "ფაილი დაზიანებულია: %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "თქვენ დოკუმენტში ყველა PostScript-ის ფაილის ჩასმა შეუძლებელია. %1" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "ყველა გარე PostScript-ის ფაილი ახლა თქვენს დოკუმენტშია ჩაშენებული." + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "მითითებული ფაილი '%1' არ არსებობს." + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" +"თქვენ ჰკითხეთ Okular-ს, იპოვოს ადგილი DVI ფაილში, რომელიც შეესაბამება ხაზს " +"%1 Tex ფაილში %2. როგორც ჩანს, DVI ფაილი შესაბამის კოდის ფაილის ინფორმაციას " +"არ შეიცავს. " + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" +"Okular-მა ვერ იპოვა ადგილი DVI ფაილში, რომელიც შეესაბამება ხაზს %1 TeX-" +"ფაილში %2." + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "DVI კოდის ფონტი უცნობ კოდირებას მიუთითებს." + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "DVI კოდი მიმართავს ფონტს #%1, რომელიც აღწერილი არ ყოფილა." + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "EOP ბრძანების შესრულებისას სტეკი ცარიელი არ იყო." + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "POP ბრძანების შესრულებისას სტეკი ცარიელი იყო." + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "DVI კოდი მიმართავს ფონტს, რომელიც აღწერილი არ ყოფილა." + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "შემჩნეულია არასწორი ბრძანება." + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "შეჩნეულია უცნობი ოპკოდი %1." + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "%1-ის ჩაშენება" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
    " +msgstr "" +"გვერდი %1: PDF ფაილი %2 PostScript-ში ვერ გადავიყვანე.
    " + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
    " +msgstr "გვერდი %1: PostScript ფაილი %2 ვერ ვიპოვე.
    " + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "ფურცლის მონაცემების ('%1') დამუშავება შეუძლებელია." + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

    Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

    PATH: %1

    %2

    " +msgstr "" +"

    Okular-მა ვერ იპოვა ყველა ფონტს ფაილი, რომელიც მიმდინარე DVI ფაილის " +"საჩვენებლადაა საჭირო. თქვენი დოკუმენტი, შეძლება, ვერ წავიკითხო.

    ბილიკი: %1

    %2

    " + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

    There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
    Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

    PATH: %1

    %2

    " +msgstr "" +"

    პრობლემა kpsewhich პროგრამის გაშვებისას. შედეგად, ზოგიერთი " +"ფონტის ფაილი აღმოჩენილი არ იქნება და თქვენი დოკუმენტის წაკითხვა, შეიძლება, " +"ვერ შეძლოთ.
    შესაძლო მიზეზი: kpsewhich პროგრამა, შეიძლება, " +"დაყენებული არც გაქვთ, ან ის მიმდინარე ძებნის ბილიკში არაა.

    ბილიკი: %1

    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≪A6^P7n1`=V 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 literal 0 HcmV?d00001 diff --git a/po/it/docs/okular/configure-annotations.png b/po/it/docs/okular/configure-annotations.png new file mode 100644 index 0000000000000000000000000000000000000000..6c0d9892e56a43208ed56f92542b7f90a85139ab GIT binary patch literal 27450 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

    %2

    " + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" +" ფონტების გენერაცია kpsewhich-ის მიერ ავარიულად დასრულდა " +"(გამოსვლის კოდი %1, შეცდომა %2). შედეგად, ზოგიერთი ფონტის ფაილის მოძებნა " +"შეუძლებელია და თქვენი დოკუმენტის წაკითხვა, შეიძლება, ვერ შეძლოთ." + +#: fontpool.cpp:482 +#, kde-format +msgid "Currently generating %1 at %2 dpi…" +msgstr "მიმდინარეობს გენერაცია %1 %2 dpi-ით…" + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "გენერატორი/თარიღი" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "ფონტის ფაილი ვერ ვიპოვე" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "%1 × %2" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "%1 × %2 მმ" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "%1 × %2 დუიმი" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "პორტრეტი" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "ლანდშაფტი" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" +"Ghostview-ის ვერსიას, რომელიც ამ კომპიუტერზეა დაყენებული, არ შეიცავს " +"Ghostview-ის მოწყობილობის დრაივერებს, რომლებსაც Okular იცნობს. ამიტომ, " +"Okular-ში PostScript-ის მხარდაჭერა გაითიშა." + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "სულ 25 შეცდომა. მეტი შეცდომაგამოტანილი აღარ იქნება." + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" +"შეცდომა DVI ფაილში '%1', გვერდზე %2. მითითებულია ფერის აღდგენის ბრძანება " +"მაშინ, როცა ფერების სტეკი ცარიელია." + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" +"დაუშვებელი პარამეტრი epsf-ის სპეციალურ ბრძანებაში.\n" +"მოველოდი მცურავმძიმიან რიცხვს %1-სთვის %2-ში" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "ფაილი %1 ნაპოვნი არაა" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" +"შეცდომა DVI ფაილში '%1', გვერდზე %2. ტექსტის ბრუნვის პარამეტრში კუთხის " +"დამუშავება შეუძლებელია." + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "სპეციალური ბრძანება '%1' ჯერ განხორციელებული არაა." + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" +"ფონტის ფაილის %1 გახსნა და წაკითხვა შესაძლებელია, მაგრამ მისი ფონტის ფორმატი " +"მხარდაჭერილი არაა." + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "ფონტის ფაილი %1 დაზიანებულია და მისი გახსნა და წაკითხვა შეუძლებელია." + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" +"FreeType-მა დააბრუნა შეცდომა, როცა აყენებდა სიმბოლოს ზომას ფონტის ფაილისთვის " +"%1." + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "FreeType-ის შეცდომა, წაეკითხა გლიფი #%1 ფონტის ფაილიდან %2." + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "FreeType-ის რენდერის შეცდომა გლიფისთვის #%1 ფონტის ფაილიდან %2." + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "გლიფი #%1 ცარიელია." + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "გლიფი #%1 ფონტის ფაილიდან %2 ცარიელია." + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "" +"FreeType-ის შეცდომა, ჩაეტვირთა მეტრიკა გლიფისთვის #%1 ფონტის ფაილიდან %2." + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "ფონტის ფაილის (%1) გახსნის შეცდომა." + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "TexFont_PK::operator[]: სიმბოლო %1 არაა აღწერილი ფონტში %2" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "მოულოდნელი %1 PK ფაილში %2" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "სიმბოლო %1 ძალიან დიდია ფაილში %2" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "დამახსოვრებული ბიტების რაოდენობა არასწორია: სიმბოლო. %1, ფონტი %2" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "არასწორი PK ფაილი (%1). მეტისმეტად ბევრი ბიტები" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "ფონტის ფორმა კვადრატული არაა " + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "ფონტის (%1) გახსნის შეცდომა. ფაილი: %2." + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "არასწორი საკონტროლო ჯამი ფონტის ფაილისთვის %1" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "ფაილის უცნობი ფორმატი ფონტის ფაილისთვის %1" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"ფატალური შეცდომა.\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" +"\n" +"\n" +"ეს, ალბათ, ნიშნავს, რომ თქვენ ან Okular-ის შეცდომა იპოვეთ,\n" +"ან DVI ფაილი, ან დამატებითი ფაილი (მაგალითად, ფონტის ფაილი,\n" +"ან ვირტუალური ფონტის ფაილები) ძალიანაა დაზიანებული.\n" +"ამ შეტყობინების შემდეგ Okular მუშაობას დაასრულებს. თუ გჯერათ, რომ\n" +"ეს შეცდომაა და Okular უკეთ უნდა მოქცეულიყო,\n" +"მოგვწერეთ ამ პრობლემის შესახებ." + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "ნაპოვნია არასწორი ბრძანების ბაიტი VF მაკროების სიაში: %1" diff --git a/po/ka/okular_epub.po b/po/ka/okular_epub.po new file mode 100644 index 0000000..fc14c37 --- /dev/null +++ b/po/ka/okular_epub.po @@ -0,0 +1,44 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2022-09-17 18:33+0200\n" +"Last-Translator: Temuri Doghonadze \n" +"Language-Team: Georgian \n" +"Language: ka\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 3.1.1\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Temuri Doghonadze" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "Temuri.doghonadze@gmail.com" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "შეცდომა EPub დოკუმენტის გახსნისას." + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "EPub" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "EPub-ის უკანაბოლოს მორგება" diff --git a/po/ka/okular_fax.po b/po/ka/okular_fax.po new file mode 100644 index 0000000..2596f20 --- /dev/null +++ b/po/ka/okular_fax.po @@ -0,0 +1,34 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2022-09-17 18:33+0200\n" +"Last-Translator: Temuri Doghonadze \n" +"Language-Team: Georgian \n" +"Language: ka\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 3.1.1\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Temuri Doghonadze" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "Temuri.doghonadze@gmail.com" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "დოკუმენტის ჩატვირთვის შეცდომა" diff --git a/po/ka/okular_fictionbook.po b/po/ka/okular_fictionbook.po new file mode 100644 index 0000000..5d33e55 --- /dev/null +++ b/po/ka/okular_fictionbook.po @@ -0,0 +1,69 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2022-09-17 18:32+0200\n" +"Last-Translator: Temuri Doghonadze \n" +"Language-Team: Georgian \n" +"Language: ka\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 3.1.1\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Temuri Doghonadze" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "Temuri.doghonadze@gmail.com" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "დოკუმენტი სწორ FictionBook-ს არ წარმოადგენს" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "დოკუმენტის გახსნის შეცდომა: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "დოკუმენტი სწორ ZIP არქივს არ წარმოადგენს" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "დოკუმენტის არასწორი სტრუქტურა (აკლია მთავარი საქაღალდე)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "დოკუმენტი შემცველობის გარეშეა" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "არასწორი XML დოკუმენტი: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "FictionBook" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "FictionBook -ის უკანაბოლოს მორგება" diff --git a/po/ka/okular_ghostview.po b/po/ka/okular_ghostview.po new file mode 100644 index 0000000..741b49d --- /dev/null +++ b/po/ka/okular_ghostview.po @@ -0,0 +1,77 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2022-09-17 18:31+0200\n" +"Last-Translator: Temuri Doghonadze \n" +"Language-Team: Georgian \n" +"Language: ka\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 3.1.1\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Temuri Doghonadze" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "Temuri.doghonadze@gmail.com" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "პლატფორმის ფონტების გამოყენება" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"განსაზღვრავს, უნდა გამოიყენოს Ghostscript-მა პლატფორმის ფონტები, თუ არა. თუ " +"გამორთულია, შესაძლებელი იქნება მხოლოდ დოკუმენტში ჩასმული ფონტების გამოყენება." + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "ზოგადი პარამეტრები" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "პლატფორმის ფონტების &გამოყენება" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Ghostscript -ის უკანაბოლოს მორგება" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "დოკუმენტის ვერსია" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "ენის დონე" diff --git a/po/ka/okular_kimgio.po b/po/ka/okular_kimgio.po new file mode 100644 index 0000000..3b801b5 --- /dev/null +++ b/po/ka/okular_kimgio.po @@ -0,0 +1,43 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2022-09-17 18:29+0200\n" +"Last-Translator: Temuri Doghonadze \n" +"Language-Team: Georgian \n" +"Language: ka\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 3.1.1\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Temuri Doghonadze" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "Temuri.doghonadze@gmail.com" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "დოკუმენტის ჩატვირთვის შეცდომა: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" +"დოკუმენტი, როგორც ჩანს, არასწორია. გაჩვენებთ, როგორ შეიძლებოდა, ეს დოკუმენტი " +"გამოჩენილიყო." diff --git a/po/ka/okular_markdown.po b/po/ka/okular_markdown.po new file mode 100644 index 0000000..87814f8 --- /dev/null +++ b/po/ka/okular_markdown.po @@ -0,0 +1,54 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2022-09-17 18:28+0200\n" +"Last-Translator: Temuri Doghonadze \n" +"Language-Team: Georgian \n" +"Language: ka\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 3.1.1\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Temuri Doghonadze" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "Temuri.doghonadze@gmail.com" + +#: converter.cpp:59 converter.cpp:93 +#, kde-format +msgid "Failed to open the document" +msgstr "დოკუმენტის გახსნის შეცდომა" + +#: converter.cpp:106 converter.cpp:124 +#, kde-format +msgid "Failed to compile the Markdown document." +msgstr "Markdown-ის დოკუმენტის კომპილაციის შეცდომა." + +#: generator_md.cpp:58 +#, kde-format +msgid "Enable SmartyPants formatting" +msgstr "SmartyPants-ის ფორმატირების ჩართვა" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown" +msgstr "Markdown" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown Backend Configuration" +msgstr "Markdown-ის უკანაბლოს მორგება" diff --git a/po/ka/okular_mobi.po b/po/ka/okular_mobi.po new file mode 100644 index 0000000..dcde1d0 --- /dev/null +++ b/po/ka/okular_mobi.po @@ -0,0 +1,52 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2022-09-17 18:27+0200\n" +"Last-Translator: Temuri Doghonadze \n" +"Language-Team: Georgian \n" +"Language: ka\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 3.1.1\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Temuri Doghonadze" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "Temuri.doghonadze@gmail.com" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Mobipocket-ის დოკუმენტის გახსნის შეცდომა." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "" +"ეს წიგნი დაცულია DRM-ით და მისი გახსნა მხოლოდ იმ მოწყობილობაზეა შესაძლებელი, " +"რომელსაც ის ეკუთვნის." + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "Mobipocket" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "Mobipocket-ის უკანაბოლოს მორგება" diff --git a/po/ka/okular_poppler.po b/po/ka/okular_poppler.po new file mode 100644 index 0000000..8905211 --- /dev/null +++ b/po/ka/okular_poppler.po @@ -0,0 +1,395 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-10 03:51+0200\n" +"Last-Translator: Temuri Doghonadze \n" +"Language-Team: Georgian \n" +"Language: ka\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 3.6\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Temuri Doghonadze" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "Temuri.doghonadze@gmail.com" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "გადაბეჭდვის მინიატურის ჩართვა:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "არასდროს" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "ყოველთვის" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "ავტომატური" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "თხელი ხაზების გაძლიერება:" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "არა" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "მყარი" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "ფორმა" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "დაბეჭდილი გვერდების გადიდების რეჟიმი:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "დაბეჭდვად ფართობში ჩატევა" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "სრულ გვერდში ჩატევა" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "არცერთი; ბეჭდვის ორიგინალური ზომა" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" +"ამ პარამეტრის ჩართვა საშუალებას მისცემს Okular-ს, დაუკავშირდეს მესამე " +"პირების მიერ მოწოდებულ OCSP სერვერებს, რათა შეამოწმოს, ხომ არ გაუქმებულა " +"ციფრული ხელმოწერისთვის გამოყენებული სერტიფიკატები მათი შექმნის შემდეგ." + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" +"ციფრული ხელმოწერის სერტიფიკატების გაუქმების სტატუსის შემოწმება მესამე " +"პირების სერვერების გამოყენებით" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "ხელმოწერის უკანაბოლო:" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" +"ამ ხელმოწერების გადამოწმება, მხოლოდ, თანამედროვე Okular-ის ვერსიებს " +"შეუძლიათ, თუ GnuPG უკანაბოლო ჩართულია" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "PGP გასაღებების დაშვება ხელმოწერებისთვის (Okular-ის გაფართოება)" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "სერტიფიკატის მონაცემთა ბაზა" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "ნაგულისხმევი:" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "ხელით:" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "ხელმისაწვდომი სერთიფიკატები" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "ხელმოწერების &ჩატვირთვა" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "PDF პარამეტრები" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "ანოტაციების დაბეჭდვა" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "დაბეჭდილ დოკუმენტებში ანოტაციების ჩართვა" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"დაბეჭდილ დოკუმენტში ანოტაციების ჩართვა. შეგიძლიათ გამორთოთ, თუ ორიგინალი " +"დოკუმენტები ანოტაციების გარეშე გნებავთ, დაბეჭდოთ." + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "ძალით რასტერიზაცია" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "ბეჭდვამდე გამოსახულების რასტერიზაცია" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"თითოეული გვერდის ნაძალადევი რასტერიზაცია გამოსახულებაში მათ დაბეჭდვამდე. ასე " +"მიღებული შედეგი ოდნავ უარესია, მაგრამ გამოსადეგია, როცა ბეჭდავთ დოკუმენტს, " +"რომელიც სხვა ხერხებით არასწორად იბეჭდება." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "დაბეჭდილი გვერდების გადიდების რეჟიმი" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "გადიდების რეჟიმი:" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF v. %1.%2" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "ფორმატი" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "დაშიფრული" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "დაუშიფრავი" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "უსაფრთხოება" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "დიახ" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "ოპტიმიზირებული" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"ხელმომწერი: %1\n" +"\n" +"თარიღი: %2" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "Poppler %1-ის გამოყენებით" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" +"Poppler %1-ის გამოყენებით\n" +"\n" +"აგებულია Poppler %2-ით" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "PDF უკანაბოლოს მორგება" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "დროებითი ფაილის ჩაწერა ჩავარდა" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "დროებითი ფაილის სახელის გადარქმევა ჩავარდა" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" +"დოკუმენტში აღმოჩენილია შეცდომები. Okular-მა, შეიძლება, მისი შემცველობა " +"სწორად ვერ აჩვენოს" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" +"ეს ხელმოწერები, მხოლოდ, Okular-ის თანამედროვე ვერსიებს შორის მუშაობს, ისიც, " +"თუ GnuPG უკანაბოლო გააქტიურებულია" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "PGP ხელმოწერების ჩართვა" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "ვისთვისაა გამოცემული" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "ელ-ფოსტა" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "ვადის გასვლის თარიღი" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" +"იყენებთ ბიბლიოთეკას Poppler, რომელიც NSS-ის მხარდაჭერის გარეშეა აგებული.\n" +"ამ მიზეზით ციფრული ხელმოწერების დამატება ხელმისაწვდომი არაა" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "სამუდამოდ" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "საჭიროა გადატვირთვა" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "" +"NSS-ის საქაღალდის პარამეტრების ცვლილების შემდეგ საჭიროა Okular-ის გადატვირთვა" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter Password" +msgstr "შეიყვანე პაროლი" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "შეიყვანეთ პაროლი %1- ის გასახსნელად:" + +#~ msgid "Not Available" +#~ msgstr "მიუწვდომელია" diff --git a/po/ka/okular_tiff.po b/po/ka/okular_tiff.po new file mode 100644 index 0000000..1c58c84 --- /dev/null +++ b/po/ka/okular_tiff.po @@ -0,0 +1,29 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2022-09-17 18:21+0200\n" +"Last-Translator: Temuri Doghonadze \n" +"Language-Team: Georgian \n" +"Language: ka\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 3.1.1\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Temuri Doghonadze" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "Temuri.doghonadze@gmail.com" diff --git a/po/ka/okular_txt.po b/po/ka/okular_txt.po new file mode 100644 index 0000000..073e323 --- /dev/null +++ b/po/ka/okular_txt.po @@ -0,0 +1,39 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2022-09-17 18:20+0200\n" +"Last-Translator: Temuri Doghonadze \n" +"Language-Team: Georgian \n" +"Language: ka\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 3.1.1\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Temuri Doghonadze" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "Temuri.doghonadze@gmail.com" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "Txt" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "ტექსტის უკანაბოლოს მორგება" diff --git a/po/ka/okular_xps.po b/po/ka/okular_xps.po new file mode 100644 index 0000000..c5edc79 --- /dev/null +++ b/po/ka/okular_xps.po @@ -0,0 +1,34 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2022-09-17 18:20+0200\n" +"Last-Translator: Temuri Doghonadze \n" +"Language-Team: Georgian \n" +"Language: ka\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 3.1.1\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Temuri Doghonadze" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "Temuri.doghonadze@gmail.com" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "რევიზია" diff --git a/po/ka/org.kde.active.documentviewer.po b/po/ka/org.kde.active.documentviewer.po new file mode 100644 index 0000000..337514e --- /dev/null +++ b/po/ka/org.kde.active.documentviewer.po @@ -0,0 +1,209 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-29 05:18+0200\n" +"Last-Translator: Temuri Doghonadze \n" +"Language-Team: Georgian \n" +"Language: ka\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 3.6\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "სანიშნები" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "სერტიფიკატების ნახვა" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "გამომცემელი" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "საერთო სახელი:" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "ელფოსტა:" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "ორგანიზაცია:" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "ვისთვისაა გამოცემული" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "სისწორე" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "გამოცემის თარიღი:" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "ვადის ამოწურვის თარიღი:" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "ანაბეჭდები" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "SHA-1 თითის ანაბეჭდი:" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "SHA-256 თითის ანაბეჭდი:" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +msgid "Export…" +msgstr "გატანა…" + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "დახურვა" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "სერტიფიკატის ფაილი (* .cer)" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "შეცდომა" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "სერტიფიკატის გატანის შეცდომა." + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "Okular" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "გახსნა…" + +#: ui/Main.qml:49 +msgid "About" +msgstr "შესახებ" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "საჭიროა პაროლი" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "სანიშნის წაშლა" + +#: ui/MainView.qml:29 +msgid "Bookmark this page" +msgstr "მიმდინარე გვერდის ჩანიშვნა" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "ესკიზები" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "Სარჩევი" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "ხელმოწერები" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "ხელმოწერის თვისებები" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "გადამოწმების სტატუსი" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "ხელმოწერის სისწორე:" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "დოკუმენტის ცვლილებები:" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "დამატებითი ინფორმაცია" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "ხელმომწერი:" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "ხელმოწერის დრო:" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "მიზეზი:" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "მდებარეობა:" + +#: ui/SignaturePropertiesPage.qml:96 +msgid "Document Version" +msgstr "დოკუმენტის ვერსია" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "დოკუმენტის გადასინჯვა %1 %2-დან" + +#: ui/SignaturePropertiesPage.qml:108 +msgid "Save Signed Version…" +msgstr "ხელმოწერილი ვერსიის შენახვა…" + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +msgid "View Certificate…" +msgstr "სერტიფიკატის ნახვა…" + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "ხელმოწერის შენახვის შეცდომა." + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "ხელმიუწვდომელია" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "შედეგების გარეშე." + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "გასახსნელი დოკუმენტის გარეშე" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "ახლახან გახსნილი დოკუმენტები" + +#: ui/WelcomeView.qml:108 +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "ჩემი დოკუმენტები" + +#~ msgid "Open..." +#~ msgstr "გახსნა..." diff --git a/po/kk/okular.po b/po/kk/okular.po new file mode 100644 index 0000000..6be5c15 --- /dev/null +++ b/po/kk/okular.po @@ -0,0 +1,7131 @@ +# translation of okular.po to Kazakh +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Sairan Kikkarin , 2008. +# Sairan Kikkarin , 2010, 2011. +# Sairan Kikkarin , 2010, 2012, 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-10-30 03:35+0600\n" +"Last-Translator: Sairan Kikkarin \n" +"Language-Team: Kazakh \n" +"Language: kk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"\n" +"X-Generator: Lokalize 1.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Сайран Киккарин" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sairan@computer.org" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Okular, әмбебап құжат қарау құралы" + +#: aboutdata.h:23 +#, fuzzy, kde-format +#| msgid "" +#| "(C) 2002 Wilco Greven, Christophe Devriese\n" +#| "(C) 2004-2005 Enrico Ros\n" +#| "(C) 2005 Piotr Szymanski\n" +#| "(C) 2004-2009 Albert Astals Cid\n" +#| "(C) 2006-2009 Pino Toscano" +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2009 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "Бұрынғы жетілдірушісі" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, fuzzy, kde-format +#| msgid "Lots of framework work, ODT and FictionBook backends" +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "Көп негізгі жұмыс, ODT және FictionBook тетігі" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, fuzzy, kde-format +#| msgid "KPDF developer" +msgid "Developer" +msgstr "KPDF жасаушысы" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymanski" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "Okular-ды KPDF негізінде жасаған" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "Enrico Ros" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "KPDF жасаушысы" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "Eugene Trounev" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "Аңдатпаның авторы" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "Jiri Baum - NICTA" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "Кесте таңдау құралы" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "Fabio D'Urso" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "Аңдатпа жақсартулары" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "%1-бетіне өту" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "Сыртқы файлды ашу" + +#: core/action.cpp:197 +#, fuzzy, kde-format +#| msgid "Execute '%1'..." +msgid "Execute '%1'…" +msgstr "'%1' дегенді жегу..." + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "Бірінші бет" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "Алдыңғы бет" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "Келесі бет" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "Соңғы бет" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "Артқа" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "Алға" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Шығу" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "Презентацияны бастау" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "Презентацияны аяқтау" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go To Page…" +msgstr "Бір бетке өту" + +#: core/action.cpp:365 +#, fuzzy, kde-format +#| msgid "Play sound..." +msgid "Play sound…" +msgstr "Дыбысты шығару..." + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "JavaScript скрипті" + +#: core/action.cpp:483 +#, fuzzy, kde-format +#| msgid "Play movie" +msgid "Play movie…" +msgstr "Фильмді көрсету" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "Фильмді көрсету" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "Фильмді тоқтату" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "Фильмді аялдау" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "Фильмді жалғастыру" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "Тетігін таңдау" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
    %1 (%2).

    Please select which one to use:
    " +msgstr "" +"%1 (%2).

    MIME түрімен айналысатын бірнеше тетіктер " +"табылды:
    Қайсын қолданатынын таңдаңыз:
    " + +#: core/document.cpp:200 +#, fuzzy, kde-format +#| msgid "Go to page %1" +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "%1-бетіне өту" + +#: core/document.cpp:221 +#, fuzzy, kde-format +#| msgctxt "paper size" +#| msgid "portrait C5E" +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "тік C5E" + +#: core/document.cpp:223 +#, fuzzy, kde-format +#| msgctxt "paper size" +#| msgid "landscape C5E" +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "көлденең C5E" + +#: core/document.cpp:246 +#, fuzzy, kde-format +#| msgctxt "%1 is width, %2 is height, %3 is paper size name" +#| msgid "%1 x %2 in (%3)" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 x %2 дюйм (%3)" + +#: core/document.cpp:248 +#, fuzzy, kde-format +#| msgctxt "%1 is width, %2 is height, %3 is paper size name" +#| msgid "%1 x %2 mm (%3)" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 x %2 мм (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "Тапсырылған құжатпен айналысатын плагині табылған жоқ." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "аңдатпаларды өшіру" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"Құжат бір сыртқы қолданбаны жегу әрекет жасауда, бірақ Okular қауіпсіздікті " +"қамтамасыз етіп оған жол бермеді." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "%1 MIME түрлі файлды ашатын қолданба табылған жоқ." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "EУақытша файлы ашылмады." + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "Басу үшін түрлендіру жаңылысы." + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "Басып шығару процесі қирады" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "Басып шығару процесі басталмады" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "Файлға басып шығару жаңылысы." + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "Принтер дұрыс емес күйде" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "Басып шығаратын файл табылмады" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "Басып шығаратын файл жоқ" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"Басып шығару үшін керек орындайтын файл табылған жоқ. CUPS-тың lpr " +"бағдарламасы бар екенін тексеріңіз." + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "\"%1\" деген ашылмады. Файл жоқ." + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Атауы" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Тақырыбы" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Сипаттамасы" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "Авторы" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Құрушысы" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Өндірушісі" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "Авторлық құқығы" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "Беттері" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Құрылған кезі" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Өзгертілген кезі" + +#: core/document.cpp:6032 +#, fuzzy, kde-format +#| msgid "Mime Type" +msgid "MIME Type" +msgstr "MIME түрі" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "Санаты" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Түйінді сөздері" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "Файл жолы" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "Файл өлшемі" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "Бет өлшемі" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "аңдатпаны қосу" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "аңдатпаны өшіру" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "аңдатпа қасиеттерін өзгерту" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "аңдатпаны аудару" + +#: core/documentcommands.cpp:263 +#, fuzzy, kde-format +#| msgctxt "Add an annotation to the page" +#| msgid "add annotation" +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "аңдатпаны қосу" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "мәтінді өңдеу" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "аңдатпа мазмұның өңдеу" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "пішін мазмұнын өңдеу" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "таңдаулар пішінің тізімін өңдеу" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "таңдау пішінің ашымалы тізімін өңдеу" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "пішін батырмасының күйін өңдеу" + +#: core/generator.cpp:790 +#, fuzzy, kde-format +#| msgid "Plain &Text..." +msgid "Plain &Text…" +msgstr "Кәдімгі &мәтін..." + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "OpenDocument мәтіні" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, fuzzy, kde-format +#| msgid "Editor Options" +msgid "Print Options" +msgstr "Редакторының параметрлері" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#: core/printoptionswidget.cpp:25 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgid "Scale mode:" +msgstr "Түстер режімі:" + +#: core/script/js_app.cpp:206 +#, fuzzy, kde-format +#| msgid "Close this message" +msgid "Do not show this message again" +msgstr "Хабарламаны жабу" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, fuzzy, kde-format +#| msgid "No description available." +msgid "Not Available" +msgstr "Сипатамасы жоқ." + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "" + +#: core/signatureutils.cpp:504 +#, fuzzy, kde-kuit-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "Файл '%1' дегенге сақталмады. Басқа орынға сақтап көріңіз." + +#: core/signatureutils.cpp:506 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown signing error" +msgstr "Беймәлім файл" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Көзі: %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "Әдетті қ&аріпі:" + +#: gui/certificatemodel.cpp:39 +#, fuzzy, kde-format +#| msgctxt "A document format, Okular-specific" +#| msgid "Document Archive" +msgid "Version" +msgstr "Құжат архиві" + +#: gui/certificatemodel.cpp:41 +#, fuzzy, kde-format +#| msgid "Page Number" +msgid "Serial Number" +msgstr "Бет нөмірі" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, fuzzy, kde-format +#| msgid "Expired" +msgid "Expires On" +msgstr "Ескірген" + +#: gui/certificatemodel.cpp:49 +#, fuzzy, kde-format +#| msgid "Subject" +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Тақырыбы" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "" + +#: gui/certificatemodel.cpp:53 +#, fuzzy, kde-format +#| msgid "Memory Usage" +msgid "Key Usage" +msgstr "Жадын жұмсау" + +#: gui/certificatemodel.cpp:72 +#, fuzzy, kde-format +#| msgid "%1:" +msgid "V%1" +msgstr "%1:" + +#: gui/certificatemodel.cpp:84 +#, fuzzy, kde-format +#| msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +#| msgid "%1 (%2)" +msgid "%1 (%2 bits)" +msgstr "%1 (%2)" + +#: gui/certificatemodel.cpp:146 +#, fuzzy, kde-format +#| msgid "&Properties" +msgid "Property" +msgstr "Қ&асиеттері" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "Қалқымалы жазба" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, fuzzy, kde-format +#| msgid "Overwrite" +msgid "Typewriter" +msgstr "Үстінен жазу" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "Құрамындағы жазба" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +#| msgid "For Comment" +msgid "Arrow with Comment" +msgstr "Пікір үшін" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "" + +#: gui/guiutils.cpp:59 +#, fuzzy, kde-format +#| msgid "Straight Line Properties" +msgid "Straight Line with Comment" +msgstr "Түзу сызық қасиеттері" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "Түзу сызығы" + +#: gui/guiutils.cpp:63 +#, fuzzy, kde-format +#| msgid "For Comment" +msgid "Polygon with Comment" +msgstr "Пікір үшін" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "Көпбұрыш" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Strike out text" +msgid "Rectangle with Comment" +msgstr "Мәтінді сызып тастау" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "Төртбұрыш" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Underline text" +msgid "Ellipse with Comment" +msgstr "Астын сызу" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "Эллипс" + +#: gui/guiutils.cpp:83 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Highlight text" +msgid "Highlight with Comment" +msgstr "Мәтінді бояулау" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "Бояулау" + +#: gui/guiutils.cpp:87 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Squiggle text" +msgid "Squiggle with Comment" +msgstr "Иректі сызылған мәтін" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "Иректі сызылған" + +#: gui/guiutils.cpp:91 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Underline text" +msgid "Underline with Comment" +msgstr "Астын сызу" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "Асты сызық" + +#: gui/guiutils.cpp:95 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Strike out text" +msgid "Strike Out with Comment" +msgstr "Мәтінді сызып тастау" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "Сызылып тастаған" + +#: gui/guiutils.cpp:102 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Strike out text" +msgid "Stamp with Comment" +msgstr "Мәтінді сызып тастау" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "Мөр" + +#: gui/guiutils.cpp:106 +#, fuzzy, kde-format +#| msgid "Freehand Line Properties" +msgid "Freehand Line with Comment" +msgstr "Қолсызық қасиеттері" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "Қолжазба сызығы" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "Енгізу белгісі" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "Файлды тіркемелеу" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "Дыбыс" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "Фильм" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Экран" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "Виджет" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation" +msgstr "%1 аңдатпа" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "Беймәлім" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Авторы: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "%1 дегенді қайда сақтамақсыз?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "\"%1\" деген жазуға ашылмады. Файл сақталған жоқ." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "" + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "" + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "" + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "" + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "" + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "" + +#: gui/signatureguiutils.cpp:60 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Certificate is Trusted." +msgstr "Қарау құралын баптау" + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "" + +#: gui/signatureguiutils.cpp:64 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Certificate issuer is unknown." +msgstr "Қарау құралын баптау" + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "" + +#: gui/signatureguiutils.cpp:68 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Certificate has Expired." +msgstr "Қарау құралын баптау" + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "" + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "" + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "" + +#: gui/signatureguiutils.cpp:96 +#, fuzzy, kde-format +#| msgid "Unknown font" +msgid "Unknown Algorithm" +msgstr "Беймәлім қаріп" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown Type" +msgstr "Беймәлім файл" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "" + +#: gui/signatureguiutils.cpp:135 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Sign Certificate" +msgstr "Қарау құралын баптау" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr "" + +#: gui/signatureguiutils.cpp:165 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "The document has not been modified since it was signed." +msgstr "Бұл құжатты басып шығаруға болмайды." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "" + +#: gui/signatureguiutils.cpp:208 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "Бұл құжатты басып шығаруға болмайды." + +#: gui/signatureguiutils.cpp:211 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "This document is digitally signed." +msgstr "Бұл құжатты басып шығаруға болмайды." + +#: gui/signatureguiutils.cpp:213 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "Бұл құжатты басып шығаруға болмайды." + +#: gui/signatureguiutils.cpp:216 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "Бұл құжатты басып шығаруға болмайды." + +#: gui/signaturemodel.cpp:141 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "Енгізу белгісінің қасиеттері" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "" + +#: gui/signaturemodel.cpp:172 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgid "Reason: %1" +msgstr "Беттер саны: %1" + +#: gui/signaturemodel.cpp:177 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Location: %1" +msgstr "%1 аңдатпа" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "" + +#: gui/signaturemodel.cpp:193 +#, fuzzy, kde-format +#| msgctxt "Unknown author" +#| msgid "Unknown" +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "Беймәлім" + +#: gui/signaturemodel.cpp:195 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "Енгізу белгісінің қасиеттері" + +#: gui/signaturemodel.cpp:201 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgid "Signature Type: %1" +msgstr "Енгізу белгісінің қасиеттері" + +#: part/annotationactionhandler.cpp:148 +#, fuzzy, kde-format +#| msgid "Reloa&d" +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "Қайта жүкт&еу" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "" + +#: part/annotationactionhandler.cpp:150 +#, fuzzy, kde-format +#| msgid "Allow" +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "Рұқсат ету" + +#: part/annotationactionhandler.cpp:151 +#, fuzzy, kde-format +#| msgctxt "Caption for a screen annotation" +#| msgid "Screen" +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "Экран" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "Енін шақтау" + +#: part/annotationactionhandler.cpp:252 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1:" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:308 +#, fuzzy, kde-format +#| msgid "Annotation Options" +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Аңдатпа параметрлері" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "" + +#: part/annotationactionhandler.cpp:314 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Аңдатпа құралдары" + +#: part/annotationactionhandler.cpp:316 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "Аңдатпа құралдары" + +#: part/annotationactionhandler.cpp:318 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Аңдатпа құралдары" + +#: part/annotationactionhandler.cpp:322 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Аңдатпа құралдары" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "" + +#: part/annotationactionhandler.cpp:328 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "%1 аңдатпа" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" + +#: part/annotationactionhandler.cpp:341 +#, fuzzy, kde-format +#| msgid "Annotation Options" +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Аңдатпа параметрлері" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "" + +#: part/annotationactionhandler.cpp:432 +#, fuzzy, kde-format +#| msgid "&Color:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "&Түсі:" + +#: part/annotationactionhandler.cpp:434 +#, fuzzy, kde-format +#| msgid "&Color:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "&Түсі:" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "" + +#: part/annotationactionhandler.cpp:499 +#, fuzzy, kde-format +#| msgid "&Selection Tool" +msgctxt "@title:window" +msgid "Select color" +msgstr "&Таңдау құралы" + +#: part/annotationactionhandler.cpp:552 +#, fuzzy, kde-format +#| msgid "Annotations" +msgid "&Annotations" +msgstr "Аңдатпалар" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "" + +#: part/annotationactionhandler.cpp:554 +#, fuzzy, kde-format +#| msgid "Create annotation tool" +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Аңдатпа құралын құру" + +#: part/annotationactionhandler.cpp:557 +#, fuzzy, kde-format +#| msgid "Highlighter" +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "Бояулағыш" + +#: part/annotationactionhandler.cpp:558 +#, fuzzy, kde-format +#| msgid "Underline" +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "Асты сызық" + +#: part/annotationactionhandler.cpp:559 +#, fuzzy, kde-format +#| msgid "Squiggle" +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "Иректі сызылған" + +#: part/annotationactionhandler.cpp:560 +#, fuzzy, kde-format +#| msgid "Strike Out" +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "Сызылып тастаған" + +#: part/annotationactionhandler.cpp:562 +#, fuzzy, kde-format +#| msgid "Overwrite" +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Үстінен жазу" + +#: part/annotationactionhandler.cpp:563 +#, fuzzy, kde-format +#| msgid "Inline Note" +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "Құрамындағы жазба" + +#: part/annotationactionhandler.cpp:564 +#, fuzzy, kde-format +#| msgid "Pop-up Note" +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "Қалқымалы жазба" + +#: part/annotationactionhandler.cpp:565 +#, fuzzy, kde-format +#| msgid "Freehand Line" +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "Қолжазба сызығы" + +#: part/annotationactionhandler.cpp:567 +#, fuzzy, kde-format +#| msgid "Straight Line" +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "Түзу сызығы" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "" + +#: part/annotationactionhandler.cpp:569 +#, fuzzy, kde-format +#| msgid "Rectangle" +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "Төртбұрыш" + +#: part/annotationactionhandler.cpp:570 +#, fuzzy, kde-format +#| msgid "Ellipse" +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "Эллипс" + +#: part/annotationactionhandler.cpp:571 +#, fuzzy, kde-format +#| msgid "Polygon" +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "Көпбұрыш" + +#: part/annotationactionhandler.cpp:572 +#, fuzzy, kde-format +#| msgid "Geometrical shape" +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "Геометриялық пішіні" + +#: part/annotationactionhandler.cpp:618 +#, fuzzy, kde-format +#| msgid "Stamp" +msgctxt "@action" +msgid "Stamp" +msgstr "Мөр" + +#: part/annotationactionhandler.cpp:638 +#, fuzzy, kde-format +#| msgid "Annotations" +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Аңдатпалар" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "" + +#: part/annotationactionhandler.cpp:651 +#, fuzzy, kde-format +#| msgid "Annotations" +msgid "Quick Annotation Bar" +msgstr "Аңдатпалар" + +#: part/annotationactionhandler.cpp:665 +#, fuzzy, kde-format +#| msgctxt "Add an annotation to the page" +#| msgid "add annotation" +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "аңдатпаны қосу" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "" + +#: part/annotationactionhandler.cpp:669 +#, fuzzy, kde-format +#| msgid "Create annotation tool" +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "Аңдатпа құралын құру" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "" + +#: part/annotationactionhandler.cpp:680 +#, fuzzy, kde-format +#| msgid "Font:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "Қаріпі:" + +#: part/annotationactionhandler.cpp:681 +#, fuzzy, kde-format +#| msgid "Annotation Options" +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Аңдатпа параметрлері" + +#: part/annotationactionhandler.cpp:684 +#, fuzzy, kde-format +#| msgid "Line" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "Сызық" + +#: part/annotationactionhandler.cpp:693 +#, fuzzy, kde-format +#| msgid "&Opacity:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "&Мөлдірсіздігі:" + +#: part/annotationactionhandler.cpp:696 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1:" + +#: part/annotationmodel.cpp:320 +#, fuzzy, kde-format +#| msgid "Page %1" +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "%1-бет" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "%1-бет" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "%1 аңдатпа" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "Қалқымалы жазбаны &ашу" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Бетбелгіні өшіру" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Бетбелгіні қосу" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Text to Clipboard" +msgstr "Алмасу буферіне көшіріп алу" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "Көшіруге DRM (авторлықты қорғау) тыйым салған" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "&Өшіру" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "Қ&асиеттері" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, fuzzy, kde-format +#| msgctxt "%1 is the name of the file to save" +#| msgid "&Save '%1'..." +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "'%1' дегенді &сақтау..." + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "&Көрініс" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "&Жалпы" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&Авторы:" + +#: part/annotationpropertiesdialog.cpp:69 +#, fuzzy, kde-format +#| msgid "Created" +msgid "Created:" +msgstr "Құрылған кезі" + +#: part/annotationpropertiesdialog.cpp:74 +#, fuzzy, kde-format +#| msgid "Modified" +msgid "Modified:" +msgstr "Өзгертілген кезі" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "Қалқымалы жазба қасиеттері" + +#: part/annotationpropertiesdialog.cpp:111 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgid "Typewriter Properties" +msgstr "Енгізу белгісінің қасиеттері" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "Құрамындағы жазба қасиеттері" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "Түзу сызық қасиеттері" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "Көпбұрыш қасиеттері" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "Фигура қасиеттері" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "Мәтін пішімдеу қасиеттері" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "Мөр қасиеттері" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "Қолсызық қасиеттері" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "Енгізу белгісінің қасиеттері" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "Тіркеме файл қасиеттері" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "Дыбыс қасиеттері" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "Фильм қасиеттері" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "Аңдатпа қасиеттері" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Put a stamp symbol" +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "Мөр таңбасын қою" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&Түсі:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%1:" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "&Мөлдірсіздігі:" + +#: part/annotationwidgets.cpp:363 +#, fuzzy, kde-format +#| msgid "Icon" +msgid "Icon:" +msgstr "Таңбашасы" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "Түсініктемесі" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "Анықтамасы" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "Ендіру" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "Перне" + +#: part/annotationwidgets.cpp:368 +#, fuzzy, kde-format +#| msgid "New Paragraph" +msgid "New paragraph" +msgstr "Жаңа абзац" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "Жазба" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "Абзац" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Қаріпі:" + +#: part/annotationwidgets.cpp:387 +#, fuzzy, kde-format +#| msgid "&Color:" +msgid "Text &color:" +msgstr "&Түсі:" + +#: part/annotationwidgets.cpp:394 +#, fuzzy, kde-format +#| msgid "Align:" +msgid "&Align:" +msgstr "Туралауы:" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "Солға" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "Ортаға" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "Оңға" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "Мақұлданған" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "Бар түрде" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "Сырлы" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "Қызметтік" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "Алдын-ала жобасы" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "Эксперименталды" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "Ескірген" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "Ақырғы" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "Пікір үшін" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "Ашық жариялау үшін" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "Мақұлданбаған" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "Ашық жариялау үшін емес" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "Сатылған" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "Аса құпиялы" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "Бетбелгі" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "Мәлімет" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, fuzzy, kde-format +#| msgid "Stamp Symbol" +msgid "Stamp symbol:" +msgstr "Мөр таңбасы" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgid "&Width:" +msgstr "Енін шақтау" + +#: part/annotationwidgets.cpp:504 +#, fuzzy, kde-format +#| msgid "Line" +msgid "Line start:" +msgstr "Сызық" + +#: part/annotationwidgets.cpp:506 +#, fuzzy, kde-format +#| msgid "Line" +msgid "Line end:" +msgstr "Сызық" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:514 +#, fuzzy, kde-format +#| msgctxt "Symbol for caret annotations" +#| msgid "None" +msgid "None" +msgstr "Жоқ" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "" + +#: part/annotationwidgets.cpp:531 +#, fuzzy, kde-format +#| msgid "Leader Line Length:" +msgid "Leader line length:" +msgstr "Жол сызығының ұзындығы:" + +#: part/annotationwidgets.cpp:533 +#, fuzzy, kde-format +#| msgid "Leader Line Extensions Length:" +msgid "Leader line extensions length:" +msgstr "Жол сызығының созылу ұзындығы:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Shape fill:" +msgstr "Файлға сақтау..." + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Түрі:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "Сызып тастаған" + +#: part/annotationwidgets.cpp:745 +#, fuzzy, kde-format +#| msgid "File Attachment Symbol" +msgid "File attachment symbol:" +msgstr "Тіркеме файлдың символы" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "График" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "Жапсырма шеге" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "Қыстырғыш" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "Жарлық" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "Файл" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "А/Ж" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "Сипатамасы жоқ." + +#: part/annotationwidgets.cpp:773 +#, fuzzy, kde-format +#| msgid "&Name:" +msgid "Name:" +msgstr "&Атауы:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "Сипаттамасы:" + +#: part/annotationwidgets.cpp:843 +#, fuzzy, kde-format +#| msgid "Caret Symbol" +msgid "Caret symbol:" +msgstr "Енгізу белгісі" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "Жоқ" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "Жазбаны жабу" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "Параметрлері" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"Бұл аңдатпада LaTeX коды болуы мүмкін.\n" +"Оны кескіндеу үшін осында түртіңіз." + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "latex орындау файлы табылмады." + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "LaTeX кескіндеу жаңылысы" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "dvipng орындау файлы табылмады." + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "'latex' командасын орындау кезінде бір мәселе орын алды." + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "'dvipng' командасын орындау кезінде бір мәселе орын алды." + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"%2 бетбелгі" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Бетбелгілер" + +#: part/bookmarklist.cpp:136 +#, fuzzy, kde-format +#| msgid "End of the document" +msgid "Show for all documents" +msgstr "Құжаттың соңы" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, fuzzy, kde-format +#| msgid "S&earch:" +msgid "Search…" +msgstr "&Іздейтіні:" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, kde-format +msgid "Expand All" +msgstr "" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, kde-format +msgid "Collapse All" +msgstr "" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "Осы бетбелгіге өту" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "Бетбелгінің атауын өзгерту" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Құжатты ашу" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "" + +#: part/certificateviewer.cpp:47 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Certificate Viewer" +msgstr "Қарау құралын баптау" + +#: part/certificateviewer.cpp:50 +#, fuzzy, kde-format +#| msgid "E&xport As" +msgid "Export…" +msgstr "Былай э&кспорттау" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "Жалпы" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "" + +#: part/certificateviewer.cpp:159 +#, fuzzy, kde-format +#| msgid "Where do you want to save %1?" +msgid "Where do you want to save this certificate?" +msgstr "%1 дегенді қайда сақтамақсыз?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "" + +#: part/colormodemenu.cpp:19 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "Түстер режімі:" + +#: part/colormodemenu.cpp:21 +#, fuzzy, kde-format +#| msgid "Change &colors" +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "&Түстерін өзгерту" + +#: part/colormodemenu.cpp:29 +#, fuzzy, kde-format +#| msgid "Normal Icons" +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "Қалыпты таңбашалар" + +#: part/colormodemenu.cpp:41 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "Түстерін терістеу" + +#: part/colormodemenu.cpp:42 +#, fuzzy, kde-format +#| msgid "Change Paper Color" +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "Қағазының түсін өзгерту" + +#: part/colormodemenu.cpp:44 +#, fuzzy, kde-format +#| msgid "Change Dark & Light Colors" +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "Қою мен ашық түстерін өзгерту" + +#: part/colormodemenu.cpp:46 +#, fuzzy, kde-format +#| msgid "Convert to Black & White" +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "Ақ пен қараға айналдыру" + +#: part/colormodemenu.cpp:49 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "Түстерін терістеу" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, fuzzy, kde-format +#| msgid "Reloa&d" +msgid "Red" +msgstr "Қайта жүкт&еу" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, fuzzy, kde-format +#| msgctxt "Caption for a screen annotation" +#| msgid "Screen" +msgid "Green" +msgstr "Экран" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, fuzzy, kde-format +#| msgid "Allow" +msgid "Yellow" +msgstr "Рұқсат ету" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "Сары бояулағыш" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "Жасыл бояулағыш" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, fuzzy, kde-format +#| msgid "Insert" +msgid "Insert Text" +msgstr "Ендіру" + +#: part/dlgaccessibility.cpp:38 +#, fuzzy, kde-format +#| msgid "Draw border around &Links" +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "&Сілтемелер қоршауға алынсын" + +#: part/dlgaccessibility.cpp:48 +#, fuzzy, kde-format +#| msgid "Change &colors" +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "&Түстерін өзгерту" + +#: part/dlgaccessibility.cpp:54 +#, fuzzy, kde-format +#| msgid "Warning: these options can badly affect drawing speed." +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "Ескерту: бұл параметрлер көрсету қарқынын едәуір бәсеңдетеді." + +#: part/dlgaccessibility.cpp:60 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "Түстерін терістеу" + +#: part/dlgaccessibility.cpp:61 +#, fuzzy, kde-format +#| msgid "Change Paper Color" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "Қағазының түсін өзгерту" + +#: part/dlgaccessibility.cpp:62 +#, fuzzy, kde-format +#| msgid "Change Dark & Light Colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "Қою мен ашық түстерін өзгерту" + +#: part/dlgaccessibility.cpp:63 +#, fuzzy, kde-format +#| msgid "Convert to Black & White" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "Ақ пен қараға айналдыру" + +#: part/dlgaccessibility.cpp:64 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "Түстерін терістеу" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "" + +#: part/dlgaccessibility.cpp:70 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "Түстер режімі:" + +#: part/dlgaccessibility.cpp:87 +#, fuzzy, kde-format +#| msgid "Paper color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Қағаздың түсі:" + +#: part/dlgaccessibility.cpp:99 +#, fuzzy, kde-format +#| msgid "Dark color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Қою түсі:" + +#: part/dlgaccessibility.cpp:104 +#, fuzzy, kde-format +#| msgid "Light color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "Ашық түсі:" + +#: part/dlgaccessibility.cpp:119 +#, fuzzy, kde-format +#| msgid "Threshold:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "Бөлу табалдырығы:" + +#: part/dlgaccessibility.cpp:127 +#, fuzzy, kde-format +#| msgid "Contrast:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Контрастылығы:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "" + +#: part/dlgaccessibility.cpp:165 +#, fuzzy, kde-format +#| msgid "Text to search for" +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "Іздейтін мәтін" + +#: part/dlgannotations.cpp:25 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Аңдатпа құралдары" + +#: part/dlgannotations.cpp:26 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Аңдатпа құралдары" + +#: part/dlgannotations.cpp:28 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Аңдатпа құралдары" + +#: part/dlgannotations.cpp:34 +#, fuzzy, kde-format +#| msgid "&Author:" +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "&Авторы:" + +#: part/dlgannotations.cpp:38 +#, fuzzy, kde-format +#| msgid "" +#| "Note: the information here is used only for comments and reviews. " +#| "Information inserted here will not be transmitted without your knowledge." +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"Жазба: мұндағы мәлімет тек түсініктеме мен шолу үшін ғана.Бұл мәлімет " +"ескерусіз ешқайда жіберілмейді." + +#: part/dlgannotations.cpp:48 +#, fuzzy, kde-format +#| msgid "Edit annotation tool" +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

    Quick Annotation Tools

    " +msgstr "Аңдатпа құралын өңдеу" + +#: part/dlgeditor.cpp:28 +#, fuzzy, kde-format +#| msgctxt "@info:whatsthis" +#| msgid "" +#| "Choose the editor you want to launch when Okular wants to open a source " +#| "file." +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "Okular бастапқы файлды ашам дегенде қолданатын редакторын таңаңыз." + +#: part/dlgeditor.cpp:29 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Custom Text Editor" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "Қалаған мәтін редакторы" + +#: part/dlgeditor.cpp:30 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Kate" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Kile" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "SciTE" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Emacs client" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Emacs клиенті" + +#: part/dlgeditor.cpp:34 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Lyx client" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "Lyx клиенті" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "" + +#: part/dlgeditor.cpp:37 +#, fuzzy, kde-format +#| msgid "Editor:" +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "Редакторы:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
    \n" +"You can also put few placeholders:\n" +"
      \n" +"
    • %f - the file name
    • \n" +"
    • %l - the line of the file to be reached
    • \n" +"
    • %c - the column of the file to be reached
    • \n" +"
    \n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"Қалаған мәтін редакторын жегу командасы.
    \n" +"Бірнеше қолдануға болатын орынбасарлары:\n" +"
      \n" +"
    • %f - файл атауы
    • \n" +"
    • %l - Файлдағы керек жолы
    • \n" +"
    • %c - Файлдағы керек бағаны
    • \n" +"
    \n" +"Егер %f келтірілмесе, файл атауы көрсетілген команданан кейін жалғасады." + +#: part/dlgeditor.cpp:63 +#, fuzzy, kde-format +#| msgid "Command:" +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "Командасы:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "" + +#: part/dlggeneral.cpp:37 +#, fuzzy, kde-format +#| msgid "Appearance" +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "Көрінісі" + +#: part/dlggeneral.cpp:41 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "Жүгірту ж&олақтары болсын" + +#: part/dlggeneral.cpp:48 +#, fuzzy, kde-format +#| msgid "Link the &thumbnails with the page" +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "&Нобайлар бетпен байланыстырылсын" + +#: part/dlggeneral.cpp:55 +#, fuzzy, kde-format +#| msgid "Show &hints and info messages" +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "&Ишара мен мәлімет хабарлары болсын" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "" + +#: part/dlggeneral.cpp:68 +#, fuzzy, kde-format +#| msgid "Display document title in titlebar if available" +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "Бар болса, айдарында құжаттың атауы жазылсын" + +#: part/dlggeneral.cpp:74 +#, fuzzy, kde-format +#| msgid "Display file name only" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "Файл атауы ғана көрсетілсін" + +#: part/dlggeneral.cpp:75 +#, fuzzy, kde-format +#| msgid "Display full file path" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "Файлдың толық жолы көрсетілсін" + +#: part/dlggeneral.cpp:77 +#, fuzzy, kde-format +#| msgid "When not displaying document title:" +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "Құжаттың атауы көрсетілмесе:" + +#: part/dlggeneral.cpp:92 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "Ая түсі:" + +#: part/dlggeneral.cpp:114 +#, fuzzy, kde-format +#| msgid "Program Features" +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "Бағдарлама мүмкіндіктері" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "" + +#: part/dlggeneral.cpp:139 +#, fuzzy, kde-format +#| msgid "&Obey DRM limitations" +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "DRM (авторлықты қорғау) шектеулері ұ&станылсын" + +#: part/dlggeneral.cpp:148 +#, fuzzy, kde-format +#| msgid "&Reload document on file change" +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "&Файлы өзгертілгенде құжат қайта жүктеп алынсын" + +#: part/dlggeneral.cpp:155 +#, fuzzy, kde-format +#| msgid "Show backend selection dialog" +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "Орындауышты таңдау диалогын көрсету" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, fuzzy, kde-format +#| msgid "Overview &columns:" +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "Шолу &бағандар:" + +#: part/dlggeneral.cpp:220 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%1:" + +#: part/dlggeneral.cpp:221 +#, fuzzy, kde-format +#| msgid "" +#| "Defines how much of the current viewing area will still be visible when " +#| "pressing the Page Up/Down keys." +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" +"Page Up/Page Down пернелерін басқан соң қазір көрсетіліп тұрған аумақтың " +"қандай бөлігі экранда қалатынын анықтау." + +#: part/dlggeneral.cpp:223 +#, fuzzy, kde-format +#| msgid "&Page Up/Down overlap:" +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "&Page Up/Down жиегі:" + +#: part/dlggeneral.cpp:228 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%1:" + +#: part/dlggeneral.cpp:232 +#, fuzzy, kde-format +#| msgid "100%" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "100%" + +#: part/dlggeneral.cpp:233 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "Енін шақтау" + +#: part/dlggeneral.cpp:234 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "Түгел бетке шақтау" + +#: part/dlggeneral.cpp:235 +#, fuzzy, kde-format +#| msgid "Auto Fit" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "Автошақтау" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "" + +#: part/dlggeneral.cpp:237 +#, fuzzy, kde-format +#| msgid "" +#| "Defines the default zoom mode for files which were never opened before.\n" +#| "For files which were opened before the previous zoom is applied." +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" +"Бұрын ашылмаған файлдарды әдетте қай масштабында ашу керегін анықтау.\n" +"Бұрын ашылғандар соңғы масштабында ашылады." + +#: part/dlggeneral.cpp:241 +#, fuzzy, kde-format +#| msgid "&Default Zoom:" +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "Ә&детті масштаб:" + +#: part/dlgperformance.cpp:26 +#, fuzzy, kde-format +#| msgid "Enable &transparency effects" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "&Мөлдірлік эффекті болсын" + +#: part/dlgperformance.cpp:28 +#, fuzzy, kde-format +#| msgid "CPU Usage" +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "Процессорды жұмсау" + +#: part/dlgperformance.cpp:35 +#, fuzzy, kde-format +#| msgid "&Low" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "&Аз" + +#: part/dlgperformance.cpp:36 +#, fuzzy, kde-format +#| msgid "&Normal (default)" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "Қа&лыпты (әдетті)" + +#: part/dlgperformance.cpp:37 +#, fuzzy, kde-format +#| msgid "&Aggressive" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "Кө&п" + +#: part/dlgperformance.cpp:38 +#, fuzzy, kde-format +#| msgid "&Greedy" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "&Тажал" + +#: part/dlgperformance.cpp:40 +#, fuzzy, kde-format +#| msgid "Memory Usage" +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "Жадын жұмсау" + +#: part/dlgperformance.cpp:54 +#, fuzzy, kde-format +#| msgid "Enable Text Antialias" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "Мәтінді тегістеу болсын" + +#: part/dlgperformance.cpp:56 +#, fuzzy, kde-format +#| msgid "Rendering" +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "Кескіндеу" + +#: part/dlgperformance.cpp:59 +#, fuzzy, kde-format +#| msgid "Enable Graphics Antialias" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "Графикалық тегістеу болсын" + +#: part/dlgperformance.cpp:64 +#, fuzzy, kde-format +#| msgid "Enable Text Hinting" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "Пішімдеу ишарасы болсын" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"Мейілінше жадын үнемдеу. Ештеңені қайта пайдаланбау. (Жады аз компьютерлерге " +"арналған.)" + +#: part/dlgperformance.cpp:80 +#, fuzzy, kde-format +#| msgid "" +#| "A good compromise between memory usage and speed gain. Preload next page " +#| "and boost searches. (For systems with 256MB of memory, typically.)" +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"Жадыны жұмсау мен жылдамдық арасындағы тиімді ымыра. Келесі бетті алдын-ала " +"жүктеу мен қарқынды іздеу. (Әдетте, жады 256Мб компьютерлерге арналған.)" + +#: part/dlgperformance.cpp:83 +#, fuzzy, kde-format +#| msgid "" +#| "Keeps everything in memory. Preload next pages. Boost searches. (For " +#| "systems with more than 512MB of memory.)" +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"Барлығын жадында сақтау. Келесі бетті алдын-ала жүктеу. Қарқынды іздеу. " +"(Жады 512Мб-тан артық компьютерлерге арналған.)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" +"Бүкілін жадында алып сақтау. Бүкіл беттерді алдын-ала жүктеу. (Бос жадының " +"50%-дан артық шықпайды.) " + +#: part/dlgpresentation.cpp:38 +#, fuzzy, kde-format +#| msgctxt "Advance every %1 seconds" +#| msgid " second" +#| msgid_plural " seconds" +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] " секунд" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "" + +#: part/dlgpresentation.cpp:53 +#, fuzzy, kde-format +#| msgid "Loop after last page" +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "Соңғы беттен кейін біріншіден қайталансын" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "" + +#: part/dlgpresentation.cpp:63 +#, fuzzy, kde-format +#| msgid "Navigation" +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Тәртібі" + +#: part/dlgpresentation.cpp:72 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "Ая түсі:" + +#: part/dlgpresentation.cpp:76 +#, fuzzy, kde-format +#| msgid "Hidden After Delay" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "Сәлден кейін жасырылсын" + +#: part/dlgpresentation.cpp:77 +#, fuzzy, kde-format +#| msgid "Always Visible" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "Әрқашанда көрсетілсін" + +#: part/dlgpresentation.cpp:78 +#, fuzzy, kde-format +#| msgid "Always Hidden" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "Әрқашанда жасырылсын" + +#: part/dlgpresentation.cpp:80 +#, fuzzy, kde-format +#| msgid "Mouse cursor:" +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "Тышқан меңзері:" + +#: part/dlgpresentation.cpp:84 +#, fuzzy, kde-format +#| msgid "Show &progress indicator" +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "&Барыс көрсеткіші болсын" + +#: part/dlgpresentation.cpp:90 +#, fuzzy, kde-format +#| msgid "Show s&ummary page" +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "Қ&ортынды бет көрсетілсін" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "" + +#: part/dlgpresentation.cpp:101 +#, fuzzy, kde-format +#| msgid "Replace" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "Алмастыру" + +#: part/dlgpresentation.cpp:102 +#, fuzzy, kde-format +#| msgid "Random Transition" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "Кездейсоқ ауыстыру" + +#: part/dlgpresentation.cpp:103 +#, fuzzy, kde-format +#| msgid "Blinds Vertical" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "Тік жалюзи секілді" + +#: part/dlgpresentation.cpp:104 +#, fuzzy, kde-format +#| msgid "Blinds Horizontal" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "Жатық жалюзи секілді" + +#: part/dlgpresentation.cpp:105 +#, fuzzy, kde-format +#| msgid "Box In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "Шаршы ішке" + +#: part/dlgpresentation.cpp:106 +#, fuzzy, kde-format +#| msgid "Box Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "Шаршы ішінен" + +#: part/dlgpresentation.cpp:107 +#, fuzzy, kde-format +#| msgid "Dissolve" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "Еріп кету" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "" + +#: part/dlgpresentation.cpp:109 +#, fuzzy, kde-format +#| msgid "Glitter Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "Жоғардан шығу" + +#: part/dlgpresentation.cpp:110 +#, fuzzy, kde-format +#| msgid "Glitter Right" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "Сол жақтан шығу" + +#: part/dlgpresentation.cpp:111 +#, fuzzy, kde-format +#| msgid "Glitter Right-Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "Жоғары сол жақтан шығу" + +#: part/dlgpresentation.cpp:112 +#, fuzzy, kde-format +#| msgid "Split Horizontal In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "Екі жақтан ортаға" + +#: part/dlgpresentation.cpp:113 +#, fuzzy, kde-format +#| msgid "Split Horizontal Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "Ортадан екі жаққа" + +#: part/dlgpresentation.cpp:114 +#, fuzzy, kde-format +#| msgid "Split Vertical In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "Жоғары-төменнен ортаға" + +#: part/dlgpresentation.cpp:115 +#, fuzzy, kde-format +#| msgid "Split Vertical Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "Ортадан жоғары-төменге" + +#: part/dlgpresentation.cpp:116 +#, fuzzy, kde-format +#| msgid "Wipe Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "Төменге шайып тастау" + +#: part/dlgpresentation.cpp:117 +#, fuzzy, kde-format +#| msgid "Wipe Right" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "Оңға шайып тастау" + +#: part/dlgpresentation.cpp:118 +#, fuzzy, kde-format +#| msgid "Wipe Left" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "Солға шайып тастау" + +#: part/dlgpresentation.cpp:119 +#, fuzzy, kde-format +#| msgid "Wipe Up" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "Жоғарға шайып тастау" + +#: part/dlgpresentation.cpp:121 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Әдетті ауысуы:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

    Drawing Tools

    " +msgstr "" + +#: part/dlgpresentation.cpp:171 +#, fuzzy, kde-format +#| msgctxt "@label:listbox The current screen, for the presentation mode" +#| msgid "Current Screen" +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Назардағы экраны" + +#: part/dlgpresentation.cpp:172 +#, fuzzy, kde-format +#| msgctxt "@label:listbox The default screen for the presentation mode" +#| msgid "Default Screen" +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Әдетті экраны" + +#: part/dlgpresentation.cpp:178 +#, fuzzy, kde-format +#| msgctxt "@label:listbox %1 is the screen number (0, 1, ...)" +#| msgid "Screen %1" +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "%1-экран" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, fuzzy, kde-format +#| msgid "Erase Drawings" +msgid "Eraser" +msgstr "Суреттерін өшіру" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "&Атауы:" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "&Түрі:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "Көрінісі" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "Мәтін пішімдеуі" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "Геометриялық пішіні" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "Аңдатпа құралын құру" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "Аңдатпа құралын өңдеу" + +#: part/editdrawingtooldialog.cpp:51 +#, fuzzy, kde-format +#| msgid "&Color:" +msgid "Color:" +msgstr "&Түсі:" + +#: part/editdrawingtooldialog.cpp:58 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgid "&Pen Width:" +msgstr "Енін шақтау" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "" + +#: part/editdrawingtooldialog.cpp:79 +#, fuzzy, kde-format +#| msgid "Create annotation tool" +msgid "Create drawing tool" +msgstr "Аңдатпа құралын құру" + +#: part/editdrawingtooldialog.cpp:84 +#, fuzzy, kde-format +#| msgid "Edit annotation tool" +msgid "Edit drawing tool" +msgstr "Аңдатпа құралын өңдеу" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "Беймәлім" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Ендірме файлдар" + +#: part/embeddedfilesdialog.cpp:62 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:button" +msgid "View" +msgstr "&Көрініс" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "Атауы" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "Сипаттамасы" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "Өлшемі" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "Құрылған кезі" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "Өзгертілген кезі" + +#: part/embeddedfilesdialog.cpp:154 +#, fuzzy, kde-format +#| msgctxt "@action:inmenu" +#| msgid "&Save As..." +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "&Былай сақтау..." + +#: part/embeddedfilesdialog.cpp:155 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "&Көрініс" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "Басып шығаратынды алдын-ала көрсету бөлшегі жүктелмеді" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "Басатынды алдын-ала қарау" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "Жабу" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "&Іздейтіні:" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "Іздейтін мәтін" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Келесі" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "Келесі табылғанына өту" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Алдыңғы" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "Алдыңғы табылғанына өту" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "Іздеу тәртібін өзгерту" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "Үлкен-кішілігін ескеріп" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "Назардағы беттен бастап" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "" + +#: part/formwidgets.cpp:870 +#, fuzzy, kde-format +#| msgid "*|All Files" +msgid "All Files (*)" +msgstr "*|Бүкіл файлдар" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgid "Signature Properties" +msgstr "Енгізу белгісінің қасиеттері" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "Іздеу параметрлері" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "Үлкен-кішілігін ескеріп" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "Үлгі өрнегі" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "/" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "Ұлғайту/кішірейту" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "&Оңға бұру" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "Оңға" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "&Солға бұру" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "Солға" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "Бастапқы бағдары" + +#: part/pageview.cpp:546 +#, fuzzy, kde-format +#| msgid "&View" +msgid "&Trim View" +msgstr "&Көрініс" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "&Жиектерін келтіру" + +#: part/pageview.cpp:557 +#, fuzzy, kde-format +#| msgctxt "Text Selection Tool" +#| msgid "Text Selection" +msgid "Trim To &Selection" +msgstr "Мәтінді таңдау" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "&Енін шақтау" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "Түгел &бетке шақтау" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "&Автошақтау" + +#: part/pageview.cpp:575 +#, fuzzy, kde-format +#| msgid "Fit &Page" +msgid "Fit Wi&ndow to Page" +msgstr "Түгел &бетке шақтау" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "&Көрініс режімі" + +#: part/pageview.cpp:594 +#, fuzzy, kde-format +#| msgid "Single Page" +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "Бір бет" + +#: part/pageview.cpp:595 +#, fuzzy, kde-format +#| msgid "Facing Pages" +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "Қатар беттерін" + +#: part/pageview.cpp:596 +#, fuzzy, kde-format +#| msgid "Facing Pages (Center First Page)" +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "Қатар беттерін (Алғашқысын ортаға)" + +#: part/pageview.cpp:599 +#, fuzzy, kde-format +#| msgid "Overview" +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "Шолу" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "&Тұтас таспа" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "" + +#: part/pageview.cpp:627 +#, fuzzy, kde-format +#| msgctxt "Browse Tool" +#| msgid "Browse" +msgid "&Browse" +msgstr "Ақтару" + +#: part/pageview.cpp:635 +#, fuzzy, kde-format +#| msgid "Zoom" +msgid "&Zoom" +msgstr "Ұлғайту/кішірейту" + +#: part/pageview.cpp:655 +#, fuzzy, kde-format +#| msgctxt "Text Selection Tool" +#| msgid "Text Selection" +msgid "Area &Selection" +msgstr "Мәтінді таңдау" + +#: part/pageview.cpp:662 +#, fuzzy, kde-format +#| msgctxt "Text Selection Tool" +#| msgid "Text Selection" +msgid "&Text Selection" +msgstr "Мәтінді таңдау" + +#: part/pageview.cpp:669 +#, fuzzy, kde-format +#| msgctxt "Table Selection Tool" +#| msgid "Table Selection" +msgid "T&able Selection" +msgstr "Кестені таңдау" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "" + +#: part/pageview.cpp:685 +#, fuzzy, kde-format +#| msgid "Selection Tools" +msgctxt "@action" +msgid "Selection Tools" +msgstr "Таңдау құралдары" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "Түгел құжатты даустау" + +#: part/pageview.cpp:722 +#, fuzzy, kde-format +#| msgid "Speak Current Page" +msgid "Speak From Current Page" +msgstr "Назардағы бетті даустау" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "Назардағы бетті даустау" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "Даустауды тоқтату" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "Жоғарға жүгірту" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Төменге жүгірту" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "Бетті жоғары жүгірту" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "Бетті төмен жүгірту" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "Пішіндерді көрсету" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] " %1-бетті құжат жүктелді." + +#: part/pageview.cpp:2526 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Table Contents to Clipboard" +msgstr "Алмасу буферіне көшіріп алу" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "Мәтін (таңбалар саны: %1)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "Алмасу буферіне көшіріп алу" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "Мәтінді дауыстау" + +#: part/pageview.cpp:2863 +#, fuzzy, kde-format +#| msgid "Image (%1 by %2 pixels)" +msgid "Image (%1 × %2 pixels)" +msgstr "Кескін (%1 x %2 пиксел)" + +#: part/pageview.cpp:2865 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save to File…" +msgstr "Файлға сақтау..." + +#: part/pageview.cpp:2885 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] copied to clipboard." +msgid "Image [%1 × %2] copied to clipboard." +msgstr "Кескін [%1x%2] алмасу буферіне көшіріп алынды." + +#: part/pageview.cpp:2888 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save file" +msgstr "Файлға сақтау..." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "Файл сақталмады." + +#: part/pageview.cpp:2901 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] saved to %3 file." +msgid "Image [%1 × %2] saved to %3 file." +msgstr "Кескін [%1x%2] %3 файлына сақталды." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "Мәтінді көшіріп алу" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "'%1' дегенге өту" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "Енін шақтау" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "Түгел бетке шақтау" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "Автошақтау" + +#: part/pageview.cpp:4107 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1:" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "Мынамен %1 дегенді іздеу:" + +#: part/pageview.cpp:4404 +#, fuzzy, kde-format +#| msgid "Configure Web Shortcuts..." +msgid "Configure Web Shortcuts…" +msgstr "Веб-қысқармаларын баптау..." + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "Осы сілтемеге еру" + +#: part/pageview.cpp:4433 +#, fuzzy, kde-format +#| msgid "Play sound..." +msgid "Play this Sound" +msgstr "Дыбысты шығару..." + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "Дыбысты тоқтату" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "Сілтеме адресін көшіріп алу" + +#: part/pageview.cpp:4462 +#, fuzzy, kde-format +#| msgid "Search for '%1' with" +msgid "Search for '%1' in this document" +msgstr "Мынамен %1 дегенді іздеу:" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Қош келдіңіз" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "Жақындататын аумақты таңдаңыз. Алыстау үшін оң батырманы түртіңіз." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "" + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "Көшірмелеу үшін мәтін/суретті төртбұрышпен қоршап алыңыз." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "Мәтінді таңдау" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" +"Кестені айнала төртбұрышты сызып, мәтінді бөлу үшін шетінен түртіңіз; " +"тазалау үшін Esc пернесін басыңыз." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" + +#: part/pageview.cpp:5188 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "No valid certificates" +msgstr "Қарау құралын баптау" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Open Certificate Manager" +msgstr "Қарау құралын баптау" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
    Launch Certificate Manager " +"to import or manage certificates
    For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "No certificates found" +msgstr "Қарау құралын баптау" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
    For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "" + +#: part/pageview.cpp:5405 +#, fuzzy, kde-format +#| msgid "Draw a rectangle around the text/graphics to copy." +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "Көшірмелеу үшін мәтін/суретті төртбұрышпен қоршап алыңыз." + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "Жаңа жазба" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "Жаңа жазбаның мәтіні:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgid "Author" +msgid "Author name" +msgstr "Авторы" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgctxt "Add an annotation to the page" +#| msgid "add annotation" +msgid "Author name for the annotation:" +msgstr "аңдатпаны қосу" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "Эллипсті салу (аумағын тышқанмен таңдаңыз)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "Мәтінді бояулау" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "Қолжазба сызығын салу" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "Құрамындағы мәтін аңдатпасы (аумағын тышқанмен таңдаңыз)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "Қалқымалы жазбаны орналастыру" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "Көпбұрышты салу (тұйық қылу үшін алғашқы нүктесін түртіңіз)" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "Төртбұрышты салу" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "Иректі сызылған мәтін" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "Мөр таңбасын қою" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "Түзу сызықты салу" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "Мәтінді сызып тастау" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "Астын сызу" + +#: part/pageviewannotator.cpp:1414 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Inline Text Annotation (drag to select a zone)" +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "Құрамындағы мәтін аңдатпасы (аумағын тышқанмен таңдаңыз)" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "Бояулағыш" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgctxt "Add an annotation to the page" +#| msgid "add annotation" +msgid "Add favorite annotation" +msgstr "аңдатпаны қосу" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgctxt "Add an annotation to the page" +#| msgid "add annotation" +msgid "Custom annotation name:" +msgstr "аңдатпаны қосу" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&Файл" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "&Баптау" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "&Анықтама" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "&Бағдары" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "&Бетбелгілер" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "Қарау құрал панелі" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Нобайлары" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "Аңдатпалар" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
    Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"Ендірме файлдары бар құжат. Көру үшін " +"түртіңіз немесе мәзірінен \"Файл->Ендірме файлдар\" дегенді таңдаңыз." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "Алдыңғы" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "Алдыңғы бетке қайту" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "Құжаттың алдыңғы бетіне ауысу" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "Келесі" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "Келесі бетке" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "Құжаттың келесі бетіне ауысу" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "Құжаттың басталуы" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "Құжаттың басына ауысу" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "Құжаттың соңы" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "Құжаттың соңына ауысу" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "Назардағы бетбелгіні қайта атау" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "Алдыңғы бетбелгіге" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "Алдыңғы бетбелгісіне өту" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "Келесі бетбелгіге" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "Келесі бетбелгісіне өту" + +#: part/part.cpp:748 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgid "Configure Okular…" +msgstr "Оkular-ды баптау..." + +#: part/part.cpp:751 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Configure Viewer…" +msgstr "Қарау құралын баптау" + +#: part/part.cpp:757 +#, fuzzy, kde-format +#| msgid "Configure Viewer Backends" +msgid "Configure Viewer Backends…" +msgstr "Карау құралы тетігін баптау" + +#: part/part.cpp:759 +#, fuzzy, kde-format +#| msgid "Configure Backends" +msgid "Configure Backends…" +msgstr "Тетігін баптау" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "Тетігі туралы..." + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "Қайта жүкт&еу" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "Назардағы құжатты дискіден қайта оқу." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "&Табу панелін жабу" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "Бет нөмірі" + +#: part/part.cpp:817 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "Оkular-ды баптау..." + +#: part/part.cpp:858 +#, fuzzy, kde-format +#| msgid "Speak Current Page" +msgid "Select All Text on Current Page" +msgstr "Назардағы бетті даустау" + +#: part/part.cpp:871 +#, fuzzy, kde-format +#| msgid "Show &Page Bar" +msgid "Show S&idebar" +msgstr "&Беттер панелін көрсету" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "&Беттер панелін көрсету" + +#: part/part.cpp:886 +#, fuzzy, kde-format +#| msgid "Show &Navigation Panel" +msgid "Show &Signatures Panel" +msgstr "&Шарлау панелін көрсету" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "&Ендірме файлдар" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "Былай э&кспорттау" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "П&резентация" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "" + +#: part/part.cpp:945 +#, fuzzy, kde-format +#| msgid "&Import PostScript as PDF..." +msgid "&Import PostScript as PDF…" +msgstr "Postscript-ті PDF-ке &импорттау..." + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "Қара экран режіміне ауысу" + +#: part/part.cpp:957 +#, fuzzy, kde-format +#| msgid "Erase Drawings" +msgid "Erase Drawing" +msgstr "Суреттерін өшіру" + +#: part/part.cpp:962 +#, fuzzy, kde-format +#| msgid "Configure Annotations..." +msgid "Configure Annotations…" +msgstr "Аңдатпаларды баптау..." + +#: part/part.cpp:967 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Play/Pause Presentation" +msgstr "Презентация" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" + +#: part/part.cpp:1123 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Document can't be saved" +msgstr "Ашатын құжат" + +#: part/part.cpp:1152 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not open '%1' (%2) " +msgstr "%1 ашылмады" + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "%1 жүктеуі доғарылды." + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "%1 ашылмады. Себебі: %2" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "Карау құралы тетігін баптау" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "Тетігін баптау" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"\"ps2pdf\" бағдарламасы табылмаған себебінен Okular онымен PS файлды импорт " +"ете алмайды." + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "ps2pdf табылмады" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "" + +#: part/part.cpp:1357 +#, fuzzy, kde-format +#| msgid "Importing PS file as PDF (this may take a while)..." +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "PS файлды PDF-ке импорттау (біршама уақыт алуы мүмкін)..." + +#: part/part.cpp:1489 +#, fuzzy, kde-format +#| msgid "Moves to the last page of the document" +msgid "Please enter the password to read the document:" +msgstr "Құжаттың соңғы бетіне ауысу" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "" + +#: part/part.cpp:1502 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Document Password" +msgstr "Ашатын құжат" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "Бұл құжатта XFA пішіндер бар, олардың әзірше қолдауы жоқ." + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"Пішіндері бар құжат. Олармен әрекеттесу үшін батырманы басыңыз немесе " +"мәзірінен \"Көрініс->Пішіндерді көрсету\" дегенді таңдаңыз." + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "" + +#: part/part.cpp:1739 +#, fuzzy, kde-format +#| msgid "Exit Presentation Mode" +msgid "Enter Presentation Mode" +msgstr "Презентация режімінен шығу" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "" + +#: part/part.cpp:1830 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not open %1. %2" +msgstr "%1 ашылмады" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "" + +#: part/part.cpp:1865 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue Reloading" +msgstr "&Тұтас таспа" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" + +#: part/part.cpp:1875 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue Closing" +msgstr "&Тұтас таспа" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "" + +#: part/part.cpp:1883 +#, fuzzy, kde-format +#| msgid "Do you want to save your annotation changes or discard them?" +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "Аңдатпа өзгерістеріңізді сақтайсыз ба, әлде ысырып тастайсыз ба?" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "Құжатты жабу" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"Бұл сілтеме құжатты жабу әрекетті жасайды, бірақ ол, басқа бағдарламаның " +"құрамындағы қарау құралы күйінде істемейді." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"Бұл сілтеме қолданбадан шығу әрекетін жасайды, бірақ ол, басқа бағдарламаның " +"құрамындағы қарау құралы күйінде істемейді." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Reloading the document…" +msgstr "Құжатты қайта жүктеу..." + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "Мазмұндары" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Бір бетке өту" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "Қай &бетке:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "Бетбелгінің жаңа атауы:" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "Бетбелгінің атауын өзгерту" + +#: part/part.cpp:2509 +#, fuzzy, kde-format +#| msgid "Rename this Bookmark" +msgid "Remove this Bookmark" +msgstr "Бетбелгінің атауын өзгерту" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, fuzzy, kde-format +#| msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +#| msgid "%1 (%2)" +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, fuzzy, kde-format +#| msgctxt "@action:inmenu" +#| msgid "&Save As..." +msgid "Save As" +msgstr "&Былай сақтау..." + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" + +#: part/part.cpp:2621 +#, fuzzy, kde-format +#| msgid "Line Extensions" +msgid "Unsupported extension" +msgstr "Сызық созылуы" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
    In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "Сақтау үшін уақытша файл ашылмады." + +#: part/part.cpp:2726 +#, fuzzy, kde-kuit-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "Файл '%1' дегенге сақталмады. Басқа орынға сақтап көріңіз." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "Файл '%1' дегенге сақталмады. Басқа орынға сақтап көріңіз." + +#: part/part.cpp:2766 +#, fuzzy, kde-format +#| msgctxt "Edit an form's text contents" +#| msgid "edit form contents" +msgid "Filled form contents" +msgstr "пішін мазмұнын өңдеу" + +#: part/part.cpp:2769 +#, fuzzy, kde-format +#| msgctxt "remove a collection of annotations from the page" +#| msgid "remove annotations" +msgid "User annotations" +msgstr "аңдатпаларды өшіру" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" + +#: part/part.cpp:2796 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue" +msgstr "&Тұтас таспа" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "Файл '%1' дегенге сақталмады. %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"Okular %1 дегенді көрсетілген орынға сақтай алмады.\n" +"\n" +"Құжат енді жоқ." + +#: part/part.cpp:2899 +#, fuzzy, kde-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "Файл '%1' дегенге сақталмады. Басқа орынға сақтап көріңіз." + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "End Presentation" +msgid "Expand Whole Section" +msgstr "Презентацияны аяқтау" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "End Presentation" +msgid "Collapse Whole Section" +msgstr "Презентацияны аяқтау" + +#: part/part.cpp:3172 +#, fuzzy, kde-format +#| msgid "Link the &thumbnails with the page" +msgid "Sync Thumbnail with Page" +msgstr "&Нобайлар бетпен байланыстырылсын" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Құралдар" + +#: part/part.cpp:3381 +#, fuzzy, kde-format +#| msgid "Speak Text" +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "Мәтінді дауыстау" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "Бұл құжатты басып шығаруға болмайды." + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"Құжат басып шығарылмады. Беймалім қате. bugs.kde.org дегенге хабарлаңыз" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"Құжат басып шығарылмады. Қатенің егжей-тегжейі \"%1\" дегенде. bugs.kde.org " +"дегенге хабарлаңыз" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "Бұдан алдында болған бетке қайту" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "Бұдан алдында қайтқан бетке қайта бару" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"Файл қатесі! %1 уақытша " +"файл құрылмады." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"Файл қатесі! %1 файлы " +"тарқатуға ашылмады. Файл жүктеуге келмейді." + +#: part/part.cpp:3751 +#, fuzzy, kde-format +#| msgid "" +#| "This error typically occurs if you do not have enough permissions to " +#| "read the file. You can check ownership and permissions if you right-click " +#| "on the file in the Dolphin file manager and then choose the 'Properties' " +#| "tab." +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"Бұл қате көбінде файлды оқуға рұқсат болмағанда пайда болады. Файлдың " +"иесі мен рұқсаттарын Dolphin файл менеджерінде файлды тышқанның оң " +"батырмасымен түртіп, ашылған мәзірінде 'Қасиеттері' деген арқылы тексере " +"аласыз." + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"Файл қатесі!%1 файлы " +"тарқатылмады. Файл жүктелмейді." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"Бұл қате көбінде файл бүлінгенде пайда болады. Күмәнданбау үшін команда " +"жолының құралымен тарқатып көріңіз." + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "Бетбелгілер жоқ" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "Өңд&еу" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "&Көрініс" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "Ө&ту" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "Құ&ралдар" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "Негізгі құралдар панелі" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgid "Annotation Toolbar" +msgstr "Аңдатпа құралдары" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgid "Quick Annotation Toolbar" +msgstr "Аңдатпа құралдары" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "Жалпы параметрлері" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Арнайы мүмкіндіктер" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "Оқуды жеңілдету" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Жылдамдығы" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "Жылдамдығын лайықтау" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "Қарау құралын баптау" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Презентация" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "Презентация режімінің параметрлері" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "Аңдатпа параметрлері" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "Редакторы" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "Редакторының параметрлері" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "Келесіні табу" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 - Презентация" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "Экранды ауыстыру" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "%1-экран" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "Презентация режімінен шығу" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Атауы: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Беттер саны: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "Түртіп бастаңыз" + +#: part/presentationwidget.cpp:521 +#, fuzzy, kde-format +#| msgid "Pages" +msgctxt "For Presentation" +msgid "Pause" +msgstr "Беттері" + +#: part/presentationwidget.cpp:524 +#, fuzzy, kde-format +#| msgctxt "start the movie playback" +#| msgid "Play" +msgctxt "For Presentation" +msgid "Play" +msgstr "Айдау" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"Презентация режімінен шығудың екі жолы бар: біріншісі - ESC пернесін басу; " +"екіншісі - тышқан меңзерін жоғарғы шетке апарғанда, жоғары оң жақ бұрышында " +"шыға келетін батырмасын түртіп. Сонымен қатар, әрине, басқа терезелерге " +"аусып шығуға да болады (әдетте Alt+TAB пернелер арқылы)" + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "Презентация" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "Беймәлім файл" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "%1 қасиеттері" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "Қ&аріптер" + +#: part/propertiesdialog.cpp:145 +#, fuzzy, kde-format +#| msgid "Reading font information..." +msgid "Reading font information…" +msgstr "Қаріп мәліметін оқу..." + +#: part/propertiesdialog.cpp:158 +#, fuzzy, kde-format +#| msgid "&Page Size" +msgid "&Page Sizes" +msgstr "&Беттің өлшемі" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "Қаріпті &тарқату" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Type 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Type 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "Type 1C (OT)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Type 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType (OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID Type 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID Type 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID Type 0C (OT)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType (OT)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "TeX PK" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "TeX виртуалды" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "TeX қаріп метрикасы" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "TeX FreeType-өңдеуі" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "Беймәлім" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "Ендірілген (ішжиын)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "Толық ендірілген" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "Жоқ" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "Иә (ішжиын)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "Иә" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "[а/ж]" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "Беймәлім қаріп" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "Ендірілген: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "Атауы" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "Түрі" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "Файл" + +#: part/propertiesdialog.cpp:498 +#, fuzzy, kde-format +#| msgid "Pages" +msgid "Page" +msgstr "Беттері" + +#: part/propertiesdialog.cpp:501 +#, fuzzy, kde-format +#| msgctxt "@title:column" +#| msgid "Size" +msgid "Size" +msgstr "Өлшемі" + +#: part/revisionviewer.cpp:41 +#, fuzzy, kde-format +#| msgid "Print Preview" +msgid "Revision Preview" +msgstr "Басатынды алдын-ала қарау" + +#: part/revisionviewer.cpp:53 +#, fuzzy, kde-format +#| msgid "Where do you want to save %1?" +msgid "Where do you want to save this revision?" +msgstr "%1 дегенді қайда сақтамақсыз?" + +#: part/revisionviewer.cpp:56 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not save file %1." +msgstr "%1 ашылмады" + +#: part/revisionviewer.cpp:75 +#, fuzzy, kde-format +#| msgid "Could not open %1. Reason: %2" +msgid "Could not view revision." +msgstr "%1 ашылмады. Себебі: %2" + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "Беттер сүзгі үшін кемінде 3 әріпті келтіріңіз" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "Үлкен-кішілігін ескеріп" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "Түгел сөйлем сәйкес болсын" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "Барлық сөздер сәйкес болсын" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "Кемінде бір сөз сәйкес болсын" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "Сүзгі параметрлері" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Certificates" +msgstr "Қарау құралын баптау" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, fuzzy, kde-format +#| msgid "Allow" +msgid "All" +msgstr "Рұқсат ету" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Only QES certificates" +msgstr "Қарау құралын баптау" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, fuzzy, kde-format +#| msgid "Options" +msgid "optional" +msgstr "Параметрлері" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Location:" +msgstr "%1 аңдатпа" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, fuzzy, kde-format +#| msgid "Background color:" +msgid "Background:" +msgstr "Ая түсі:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, fuzzy, kde-format +#| msgid "Background color:" +msgid "Recent backgrounds:" +msgstr "Ая түсі:" + +#: part/side_reviews.cpp:66 +#, fuzzy, kde-format +#| msgid "" +#| "

    No annotations

    To create new annotations press " +#| "F6 or select Tools -> Review from the menu.
    " +msgid "" +"

    No annotations

    To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
    " +msgstr "" +"

    Аңдатпалар жоқ

    Жаңа аңдатпаны жазу үшін F6 пернені " +"басыңыз немесе мәзірінен Құралдар->Шолу дегенді таңдаңыз.
    " + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "Беттер бойынша топтастыру" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "Авторлар бойынша топтастыру" + +#: part/side_reviews.cpp:155 +#, fuzzy, kde-format +#| msgid "Show reviews for current page only" +msgid "Show annotations for current page only" +msgstr "Тек назардағы беттің шолуы көрсетілсін" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "" + +#: part/signaturepanel.cpp:101 +#, fuzzy, kde-format +#| msgid "&Properties" +msgid "Properties" +msgstr "Қ&асиеттері" + +#: part/signaturepartutils.cpp:180 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Беттер саны: %1" + +#: part/signaturepartutils.cpp:181 +#, fuzzy, kde-format +#| msgid "Enable &background generation" +msgid "Select background image" +msgstr "&Аясы болсын" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "" + +#: part/signaturepartutils.cpp:244 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Enter document password" +msgstr "Ашатын құжат" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:63 +#, fuzzy, kde-format +#| msgid "Information" +msgid "Additional Information" +msgstr "Мәлімет" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:83 +#, fuzzy, kde-format +#| msgctxt "A document format, Okular-specific" +#| msgid "Document Archive" +msgid "Document Version" +msgstr "Құжат архиві" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:95 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "View Certificate…" +msgstr "Қарау құралын баптау" + +#: part/signaturepropertiesdialog.cpp:97 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "View in Certificate Manager" +msgstr "Қарау құралын баптау" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "Бетбелгісі бар беттер ғана көрсетілсін" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "Айдау" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Аялдау" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "Тоқтату" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, fuzzy, kde-format +#| msgid "&Edit" +msgid "&Edit…" +msgstr "Өңд&еу" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "Ө&шіру" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "&Жоғарлату" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "&Төмендету" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "Құжаттың көрсететін беті" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "Құжатты презентация режімінде көрсету" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "Басып шығару диалогынан бастау" + +#: shell/main.cpp:78 +#, fuzzy, kde-format +#| msgid "Start with print dialog" +msgid "Start with print dialog and exit after printing" +msgstr "Басып шығару диалогынан бастау" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "\"Жалғыз дана\" басқаруы" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "Терезені алға шығармау" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "" + +#: shell/main.cpp:83 +#, fuzzy, kde-format +#| msgid "Document to open. Specify '-' to read from stdin." +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "Ашатын құжат. stdin. құрылғысынан оқу үшін '-' деп келтіріңіз." + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "Қате: --unique параметрімен бір ғана құжатты ашуға болады" + +#: shell/okular_main.cpp:192 +#, fuzzy, kde-format +#| msgid "Error: Can't open more than one document with the --unique switch" +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "Қате: --unique параметрімен бір ғана құжатты ашуға болады" + +#: shell/okular_main.cpp:198 +#, fuzzy, kde-format +#| msgid "Error: Can't open more than one document with the --unique switch" +msgid "Error: Can't open more than one document with the --print switch" +msgstr "Қате: --unique параметрімен бір ғана құжатты ашуға болады" + +#: shell/okular_main.cpp:204 +#, fuzzy, kde-format +#| msgid "Error: Can't open more than one document with the --unique switch" +msgid "Error: Can't open more than one document with the --page switch" +msgstr "Қате: --unique параметрімен бір ғана құжатты ашуға болады" + +#: shell/okular_main.cpp:210 +#, fuzzy, kde-format +#| msgid "Error: Can't open more than one document with the --unique switch" +msgid "Error: Can't open more than one document with the --find switch" +msgstr "Қате: --unique параметрімен бір ғана құжатты ашуға болады" + +#: shell/shell.cpp:207 +#, fuzzy, kde-format +#| msgid "Unable to find the Okular component." +msgid "Unable to find the Okular component: %1" +msgstr "Okular бөлшегі табылмады." + +#: shell/shell.cpp:250 +#, fuzzy, kde-format +#| msgid "Show &Page Bar" +msgid "Sidebar" +msgstr "&Беттер панелін көрсету" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "Жегілген жалғыз деген Okular данасы бар. Бұл дана жалғыз бола алмайды." + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "Okular бөлшегі табылмады." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"Файлды ашу үшін түртіңіз\n" +"Жуырдағы файлды ашу үшін түртіп басып тұрыңыз" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"Файлды ашу үшін Түртіңіз немесе жуырдағы файлды ашу үшін Түртіп " +"басып тұрыңыз" + +#: shell/shell.cpp:582 +#, fuzzy, kde-format +#| msgid "Next Page" +msgid "Next Tab" +msgstr "Келесі бет" + +#: shell/shell.cpp:588 +#, fuzzy, kde-format +#| msgid "Previous Page" +msgid "Previous Tab" +msgstr "Алдыңғы бет" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "" + +#: shell/shell.cpp:603 +#, fuzzy, kde-format +#| msgid "Show &Page Bar" +msgid "Lock Sidebar" +msgstr "&Беттер панелін көрсету" + +#: shell/shell.cpp:703 +#, fuzzy, kde-format +#| msgid "*|All Files" +msgid "All files (*)" +msgstr "*|Бүкіл файлдар" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "Құжатты ашу" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "" + +#: shell/shell.cpp:826 +#, fuzzy, kde-format +#| msgid "Close" +msgid "Close Tabs" +msgstr "Жабу" + +#: shell/shell.cpp:833 +#, fuzzy, kde-format +#| msgid "" +#| "A file named \"%1\" already exists. Are you sure you want to overwrite it?" +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "\"%1\" деген файл бар ғой. Шынымен оның үстінен жазбақсыз ба?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "" + +#: shell/welcomescreen.cpp:64 +#, fuzzy, kde-format +#| msgid "Copy Text" +msgid "&Copy Path" +msgstr "Мәтінді көшіріп алу" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "" + +#: shell/welcomescreen.cpp:137 +#, fuzzy, kde-format +#| msgid "Current document only" +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "Тек назардағы құжат" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, fuzzy, kde-format +#| msgid "Open Document" +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Құжатты ашу" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, fuzzy, kde-format +#| msgid "Current document only" +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Тек назардағы құжат" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "" + +#, fuzzy +#~| msgid "For Comment" +#~ msgid "Geometry with Comment" +#~ msgstr "Пікір үшін" + +#~ msgid "Geometry" +#~ msgstr "Фигура" + +#~ msgid "Modified: %1" +#~ msgstr "Өзгертілген кезі: %1" + +#~ msgid "Find..." +#~ msgstr "Табу..." + +#~ msgid "Go To Page..." +#~ msgstr "Өтетін бет..." + +#~ msgid "Play movie..." +#~ msgstr "Фильмді көрсету..." + +#, fuzzy +#~| msgid "S&earch:" +#~ msgid "Search..." +#~ msgstr "&Іздейтіні:" + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "&Былай сақтау..." + +#, fuzzy +#~| msgid "&View" +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "&Көрініс" + +#~ msgid "Configure Viewer..." +#~ msgstr "Қарау құралын баптау..." + +#~ msgid "Configure Viewer Backends..." +#~ msgstr "Карау құралы тетігін баптау..." + +#~ msgid "Configure Backends..." +#~ msgstr "Тетігін баптау..." + +#~ msgid "&Add..." +#~ msgstr "Қ&осу..." + +#~ msgid "&Edit..." +#~ msgstr "Өңд&еу..." + +#, fuzzy +#~| msgctxt "Unknown author" +#~| msgid "Unknown" +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "Беймәлім" + +#, fuzzy +#~| msgid "%" +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " %" + +#, fuzzy +#~| msgid "%" +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%" + +#, fuzzy +#~| msgid "Fit Width" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "Енін шақтау" + +#, fuzzy +#~| msgid "Fit Page" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "Түгел бетке шақтау" + +#, fuzzy +#~| msgid "Auto Fit" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Auto Fit" +#~ msgstr "Автошақтау" + +#~ msgid "*|All Files" +#~ msgstr "*|Бүкіл файлдар" + +#, fuzzy +#~| msgid "Show &Page Bar" +#~ msgid "Show Sidebar" +#~ msgstr "&Беттер панелін көрсету" + +#, fuzzy +#~| msgid "Experimental" +#~ msgctxt "@title:window" +#~ msgid "Experimental feature" +#~ msgstr "Эксперименталды" + +#~ msgid "Remove Bookmarks" +#~ msgstr "Бетбелгілерді өшіру" + +#, fuzzy +#~| msgid "Annotations" +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "Аңдатпалар" + +#, fuzzy +#~| msgid "Highlight" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "Бояулау" + +#, fuzzy +#~| msgid "Underline" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Underline" +#~ msgstr "Асты сызық" + +#, fuzzy +#~| msgid "Squiggle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Squiggle" +#~ msgstr "Иректі сызылған" + +#, fuzzy +#~| msgid "Strike Out" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Strike Out" +#~ msgstr "Сызылып тастаған" + +#, fuzzy +#~| msgid "Insert" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "Ендіру" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "Құрамындағы жазба" + +#, fuzzy +#~| msgid "Pop-up Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "Қалқымалы жазба" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a freehand line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Freehand Line" +#~ msgstr "Қолжазба сызығын салу" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a straight line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Straight line" +#~ msgstr "Түзу сызықты салу" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a rectangle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Rectangle" +#~ msgstr "Төртбұрышты салу" + +#, fuzzy +#~| msgid "Cyan Ellipse" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Ellipse" +#~ msgstr "Циан эллипс" + +#, fuzzy +#~| msgid "Polygon" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Polygon" +#~ msgstr "Көпбұрыш" + +#, fuzzy +#~| msgid "Highlighter" +#~ msgid "Highlight in Yellow" +#~ msgstr "Бояулағыш" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Highlight text" +#~ msgid "Highlight in Green" +#~ msgstr "Мәтінді бояулау" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgid "Insert Inline Note" +#~ msgstr "Құрамындағы жазба" + +#, fuzzy +#~| msgid "Pop-up Note" +#~ msgid "Insert Popup Note" +#~ msgstr "Қалқымалы жазба" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "Мәтінді таңдау" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "Мәтінді таңдау" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "Мәтінді таңдау" + +#, fuzzy +#~| msgctxt "Add an annotation to the page" +#~| msgid "add annotation" +#~ msgid "Bookmark annotation" +#~ msgstr "аңдатпаны қосу" + +#~ msgid "&Toggle Change Colors" +#~ msgstr "&Түстерін өзгертуді қосу/ажырату" + +#, fuzzy +#~| msgid "Enable transitions" +#~ msgctxt "@option:check Config dialog, presentation page, transitions" +#~ msgid "Enable transitions" +#~ msgstr "Ауысуларды рұқсат ету" + +#, fuzzy +#~| msgid "Advance every:" +#~ msgctxt "@label:spinbox Config dialog, presentation page" +#~ msgid "Advance every:" +#~ msgstr "Бетті көрсету аралығы:" + +#, fuzzy +#~| msgid "Background color:" +#~ msgctxt "@label:listbox Config dialog, general page" +#~ msgid "Custom background color:" +#~ msgstr "Ая түсі:" + +#~ msgid "Draw border around &Images" +#~ msgstr "&Кескіндер қоршауға алынсын" + +#~ msgid "Identity" +#~ msgstr "Іс-әлпеті" + +#, fuzzy +#~| msgid "&Author:" +#~ msgid "Au&thor:" +#~ msgstr "&Авторы:" + +#~ msgid "View Options" +#~ msgstr "Көрініс параметрлері" + +#~ msgctxt "@info:whatsthis" +#~ msgid "" +#~ "Defines the default zoom mode for files which were never opened before.\n" +#~ "For files which were opened before the previous zoom is applied." +#~ msgstr "" +#~ "Бұрын ашылмаған файлдарды әдетте қай масштабында ашу керегін анықтау.\n" +#~ "Бұрын ашылғандар соңғы масштабында ашылады." + +#~ msgid "Navigation" +#~ msgstr "Тәртібі" + +#~ msgid "Placement" +#~ msgstr "Орналасу" + +#~ msgid "Screen:" +#~ msgstr "Экраны:" + +#~ msgid "&Get Books From Internet..." +#~ msgstr "Интернеттен кітаптарды &алу..." + +#~ msgid "Reviews" +#~ msgstr "Шолулар" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "@item:inlistbox Color name" +#~ msgid "%1" +#~ msgstr "%1:" + +#~ msgid "Hide Forms" +#~ msgstr "Пішіндерді жасыру" + +#~ msgid "&Review" +#~ msgstr "&Шолу" + +#~ msgid "Annotations author" +#~ msgstr "Аңдатпаның авторы" + +#~ msgid "Please insert your name or initials:" +#~ msgstr "Атыңыз не инициалдарыңыз:" + +#~ msgid "Show &Navigation Panel" +#~ msgstr "&Шарлау панелін көрсету" + +#~ msgid "Show Text" +#~ msgstr "Мәтінді көрсету" + +#~ msgid "Small Icons" +#~ msgstr "Шағын таңбашалар" + +#~ msgid "Large Icons" +#~ msgstr "Үлкен таңбашалар" + +#, fuzzy +#~| msgid "" +#~| "Click to use the current selection tool\n" +#~| "Click and hold to choose another selection tool" +#~ msgid "" +#~ "Click to use the current selection tool\n" +#~ "Click on the arrow to choose another selection tool" +#~ msgstr "" +#~ "Қолданыстағыны таңдау құралын пайдалану үшін түртіңіз\n" +#~ "Басқасын таңдау үшін түртіп ұстап тұрыңыз" + +#~ msgid "Created: %1" +#~ msgstr "Құрылған кезі: %1" + +#~ msgid "Style" +#~ msgstr "Стилі" + +#~ msgid "&Size:" +#~ msgstr "Ө&лшемі:" + +#~ msgid "Inner color:" +#~ msgstr "Ішкі түсі:" + +#~ msgid "Name: %1" +#~ msgstr "Атауы: %1" + +#~ msgid "Size: %1" +#~ msgstr "Өлшемі: %1" + +#~ msgid "&Browse Tool" +#~ msgstr "&Ақтару құралы" + +#~ msgid "&Zoom Tool" +#~ msgstr "&Жақындау/алыстау құралы" + +#~ msgctxt "Zoom Tool" +#~ msgid "Zoom" +#~ msgstr "Ұлғайту/кішірейту" + +#~ msgctxt "Select Tool" +#~ msgid "Selection" +#~ msgstr "Таңдау" + +#~ msgid "&Text Selection Tool" +#~ msgstr "&Мәтін таңдау құралы" + +#~ msgid "T&able Selection Tool" +#~ msgstr "К&есте таңдау құралы" + +#, fuzzy +#~| msgctxt "Symbol for caret annotations" +#~| msgid "None" +#~ msgid " None" +#~ msgstr "Жоқ" + +#~ msgid "" +#~ "The document requested to be launched in presentation mode.\n" +#~ "Do you want to allow it?" +#~ msgstr "" +#~ "Құжатты презентация күйінде көрсетуі сұралды.\n" +#~ "Рұқсат па?" + +#~ msgid "Presentation Mode" +#~ msgstr "Презентация режімі" + +#~ msgid "Allow the presentation mode" +#~ msgstr "Презентация режімін рұқсат ету" + +#~ msgid "Do Not Allow" +#~ msgstr "Рұқсат етпеу" + +#~ msgid "Do not allow the presentation mode" +#~ msgstr "Презентация режімін рұқсат етпеу" + +#~ msgid "" +#~ "Your annotation changes will not be saved automatically. Use File -> Save " +#~ "As...\n" +#~ "or your changes will be lost once the document is closed" +#~ msgstr "" +#~ "Аңдатпа өзгерістеріңіз автоматты түрде сақталмайды. Файл -> Былай " +#~ "сақтау...\n" +#~ "деп сақтаңыз, әйтпесе құжат жабылғанда өзгерістер жоғалады." + +#~ msgid "" +#~ "Your annotations are saved internally by Okular.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" +#~ msgstr "" +#~ "Аңдатпаларыңыз Okular ішінде сақтап алды.\n" +#~ "Аңдатпасы бар құжатты Файл -> Былай экспорттау -> Құжат архиві деп " +#~ "экспорттауға болады." + +#~ msgid "Save &Copy As..." +#~ msgstr "&Данасын былай сақтау..." + +#, fuzzy +#~| msgid "" +#~| "Your annotations are saved internally by Okular.\n" +#~| "You can export the annotated document using File -> Export As -> " +#~| "Document Archive" +#~ msgid "" +#~ "Your annotations will not be exported.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" +#~ msgstr "" +#~ "Аңдатпаларыңыз Okular ішінде сақтап алды.\n" +#~ "Аңдатпасы бар құжатты Файл -> Былай экспорттау -> Құжат архиві деп " +#~ "экспорттауға болады." + +#~ msgid "" +#~ "End of document reached.\n" +#~ "Continue from the beginning?" +#~ msgstr "" +#~ "Құжат соңына жетті.\n" +#~ "Басынан жалғастырылсын ба?" + +#~ msgid "" +#~ "Beginning of document reached.\n" +#~ "Continue from the bottom?" +#~ msgstr "" +#~ "Құжат басына жетті.\n" +#~ "Соңынан жалғастырылсын ба?" + +#~ msgid "Current maintainer" +#~ msgstr "Қазіргі жетілдірушісі" + +#~ msgid " sec." +#~ msgstr " сек." + +#~ msgid "Pencil color:" +#~ msgstr "Қарындаштың түсі:" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A0" +#~ msgstr "көлденең DIN/ISO A0" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A0" +#~ msgstr "тік DIN/ISO A0" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A1" +#~ msgstr "көлденең DIN/ISO A1" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A1" +#~ msgstr "тік DIN/ISO A1" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A2" +#~ msgstr "көлденең DIN/ISO A2" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A2" +#~ msgstr "тік DIN/ISO A2" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A3" +#~ msgstr "көлденең DIN/ISO A3" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A3" +#~ msgstr "тік DIN/ISO A3" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A4" +#~ msgstr "көлденең DIN/ISO A4" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A4" +#~ msgstr "тік DIN/ISO A4" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A5" +#~ msgstr "көлденең DIN/ISO A5" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A5" +#~ msgstr "тік DIN/ISO A5" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A6" +#~ msgstr "көлденең DIN/ISO A6" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A6" +#~ msgstr "тік DIN/ISO A6" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A7" +#~ msgstr "көлденең DIN/ISO A7" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A7" +#~ msgstr "тік DIN/ISO A7" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A8" +#~ msgstr "көлденең DIN/ISO A8" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A8" +#~ msgstr "тік DIN/ISO A8" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A9" +#~ msgstr "көлденең DIN/ISO A9" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A9" +#~ msgstr "тік DIN/ISO A9" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B0" +#~ msgstr "көлденең DIN/ISO B0" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B0" +#~ msgstr "тік DIN/ISO B0" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B1" +#~ msgstr "көлденең DIN/ISO B1" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B1" +#~ msgstr "тік DIN/ISO B1" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B2" +#~ msgstr "көлденең DIN/ISO B2" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B2" +#~ msgstr "тік DIN/ISO B2" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B3" +#~ msgstr "көлденең DIN/ISO B3" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B3" +#~ msgstr "тік DIN/ISO B3" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B4" +#~ msgstr "көлденең DIN/ISO B4" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B4" +#~ msgstr "тік DIN/ISO B4" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B5" +#~ msgstr "көлденең DIN/ISO B5" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B5" +#~ msgstr "тік DIN/ISO B5" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B6" +#~ msgstr "көлденең DIN/ISO B6" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B6" +#~ msgstr "тік DIN/ISO B6" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B7" +#~ msgstr "көлденең DIN/ISO B7" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B7" +#~ msgstr "тік DIN/ISO B7" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B8" +#~ msgstr "көлденең DIN/ISO B8" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B8" +#~ msgstr "тік DIN/ISO B8" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B9" +#~ msgstr "көлденең DIN/ISO B9" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B9" +#~ msgstr "тік DIN/ISO B9" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B10" +#~ msgstr "көлденең DIN/ISO B10" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B10" +#~ msgstr "тік DIN/ISO B10" + +#~ msgctxt "paper size" +#~ msgid "landscape letter" +#~ msgstr "көлденең letter" + +#~ msgctxt "paper size" +#~ msgid "portrait letter" +#~ msgstr "тік letter" + +#~ msgctxt "paper size" +#~ msgid "landscape legal" +#~ msgstr "көлденең legal" + +#~ msgctxt "paper size" +#~ msgid "portrait legal" +#~ msgstr "тік legal" + +#~ msgctxt "paper size" +#~ msgid "landscape executive" +#~ msgstr "көлденең executive" + +#~ msgctxt "paper size" +#~ msgid "portrait executive" +#~ msgstr "тік executive" + +#~ msgctxt "paper size" +#~ msgid "landscape Comm10E" +#~ msgstr "көлденең Comm10E" + +#~ msgctxt "paper size" +#~ msgid "portrait Comm10E" +#~ msgstr "тік Comm10E" + +#~ msgctxt "paper size" +#~ msgid "landscape DLE" +#~ msgstr "көлденең DLE" + +#~ msgctxt "paper size" +#~ msgid "portrait DLE" +#~ msgstr "тік DLE" + +#~ msgctxt "paper size" +#~ msgid "landscape folio" +#~ msgstr "көлденең folio" + +#~ msgctxt "paper size" +#~ msgid "portrait folio" +#~ msgstr "тік folio" + +#~ msgctxt "paper size" +#~ msgid "ledger" +#~ msgstr "ledger" + +#~ msgctxt "paper size" +#~ msgid "tabloid" +#~ msgstr "tabloid" + +#~ msgctxt "paper size" +#~ msgid "unknown landscape paper size" +#~ msgstr "көлденең, өлшемі беймәлім парақ" + +#~ msgctxt "paper size" +#~ msgid "unknown portrait paper size" +#~ msgstr "тік, өлшемі беймәлім парақ" + +#~ msgid "Toggle Drawing Mode" +#~ msgstr "Суреттеу режімін ауыстыру" + +#~ msgid "Starting Jovie Text-to-Speech service Failed: %1" +#~ msgstr "Jovie мәтінді дауыстап оқу қызметін жегу жаңылысы: %1" + +#~ msgid "Search Columns" +#~ msgstr "Іздейтін бағандар" + +#~ msgid "All Visible Columns" +#~ msgstr "Барлық көрінетін бағандарда" + +#~ msgid "No document opened." +#~ msgstr "Ашылған құжат жоқ." + +#~ msgid "Can't open more than one document in the unique Okular instance." +#~ msgstr "Жалғыз деген Okular данасында бір ғана құжатты ашуға болады." + +#~ msgid "No matches found for '%1'." +#~ msgstr "'%1' деген табылған жоқ." + +#~ msgid "Search in progress..." +#~ msgstr "Іздеуді жасау..." + +#~ msgid "Searching for %1" +#~ msgstr "%1 дегенді іздеу" + +#~ msgid "Identity Settings" +#~ msgstr "Іс-әлпеті параметрлері" + +#~ msgid "Highlight Properties" +#~ msgstr "Белгілеу қасиеттері" + +#~ msgid "Ink Properties" +#~ msgstr "Сия қасиеттері" + +#~ msgctxt "Annotation tool" +#~ msgid "Text Annotation" +#~ msgstr "Аңдатпа мәтіні" + +#~ msgctxt "Annotation tool" +#~ msgid "Green Ink" +#~ msgstr "Жасыл сия" + +#~ msgctxt "Annotation tool" +#~ msgid "Yellow Highlight" +#~ msgstr "Сары бояулау" + +#~ msgctxt "Annotation tool" +#~ msgid "Straight Yellow Line" +#~ msgstr "Сары түзу сызық" + +#~ msgid "Black Underlining" +#~ msgstr "Қарамен астын сызу" + +#~ msgctxt "Annotation tool" +#~ msgid "Underline the text with a black line" +#~ msgstr "Мәтіннің астын қара сызықпен сызу" + +#~ msgctxt "Annotation tool" +#~ msgid "A cyan ellipse" +#~ msgstr "Циан түсті эллипс" + +#~ msgid "Ink" +#~ msgstr "Сия" + +#~ msgid "Reset Forms" +#~ msgstr "Пішіндерді ысыру" + +#~ msgid "Moves to the first page of the document" +#~ msgstr "Құжаттың бірінші бетіне ауысу" + +#~ msgid "You must set this name:" +#~ msgstr "Мынау атты келтіру керек:" + +#~ msgid "Toggles between File Path and Title" +#~ msgstr "Файл жолы мен атауы арасында ауысу" + +#~ msgctxt "%1 is \"Title\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#~ msgctxt "%1 is \"File Path\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#, fuzzy +#~| msgid "Overwrite" +#~ msgctxt "@action:button" +#~ msgid "&Overwrite" +#~ msgstr "Үстінен жазу" + +#~ msgid "Pages:" +#~ msgstr "Беттері:" diff --git a/po/kk/okular_comicbook.po b/po/kk/okular_comicbook.po new file mode 100644 index 0000000..e878a21 --- /dev/null +++ b/po/kk/okular_comicbook.po @@ -0,0 +1,57 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Sairan Kikkarin , 2010. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-07-23 20:30+0600\n" +"Last-Translator: Sairan Kikkarin \n" +"Language-Team: Kazakh \n" +"Language: kk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Сайран Киккарин" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sairan@computer.org" + +#: document.cpp:97 +#, fuzzy, kde-format +#| msgid "Cannot open document, unrar was not found." +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "unrar бағдарламасы табылмай, құжат ашылмады, " + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "Жүйеңіздегі unrar нұсқасы комикс файлдарын ашуға жарамайды" + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "Беймәлім комикс пішімі" + +#~ msgid "ComicBook Backend" +#~ msgstr "Комикс көрсету тетігі" + +#~ msgid "A renderer for various comic book formats" +#~ msgstr "Түрлі пішімдегі комикстерін көрсету" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/kk/okular_djvu.po b/po/kk/okular_djvu.po new file mode 100644 index 0000000..f6f0784 --- /dev/null +++ b/po/kk/okular_djvu.po @@ -0,0 +1,135 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Sairan Kikkarin , 2010. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-07-23 21:01+0600\n" +"Last-Translator: Sairan Kikkarin \n" +"Language-Team: Kazakh \n" +"Language: kk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Сайран Киккарин" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sairan@computer.org" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "Редакторы" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "Баспашысы" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "Томы" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "Құжаттың түрі" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "Беймәлім" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "Компонент файлдары" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "Беймәлім" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "Жалғыз бет" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "Буылған" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "Тура емес" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "Буылған (ескі)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "Индекстелген (ескі)" + +#~ msgid "DjVu Backend" +#~ msgstr "DjVu тетігі" + +#~ msgid "DjVu backend based on DjVuLibre." +#~ msgstr "DjVuLibre.негіздегі DjVu тетігі." + +#~ msgid "© 2006-2008 Pino Toscano" +#~ msgstr "© 2006-2008 Pino Toscano" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgctxt "Unknown title" +#~ msgid "Unknown" +#~ msgstr "Беймәлім" + +#~ msgctxt "Unknown author" +#~ msgid "Unknown" +#~ msgstr "Беймәлім" + +#~ msgctxt "Unknown editor" +#~ msgid "Unknown" +#~ msgstr "Беймәлім" + +#~ msgctxt "Unknown publisher" +#~ msgid "Unknown" +#~ msgstr "Беймәлім" + +#~ msgctxt "Unknown creation date" +#~ msgid "Unknown" +#~ msgstr "Беймәлім" + +#~ msgctxt "Unknown volume information" +#~ msgid "Unknown" +#~ msgstr "Беймәлім" + +#~ msgctxt "Unknown type of document" +#~ msgid "Unknown" +#~ msgstr "Беймәлім" diff --git a/po/kk/okular_dvi.po b/po/kk/okular_dvi.po new file mode 100644 index 0000000..92ed755 --- /dev/null +++ b/po/kk/okular_dvi.po @@ -0,0 +1,835 @@ +# translation of okular_dvi.po to Kazakh +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Sairan Kikkarin , 2008. +# Sairan Kikkarin , 2010, 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_dvi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-06-28 02:44+0600\n" +"Last-Translator: Sairan Kikkarin \n" +"Language-Team: Kazakh \n" +"Language: kk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.2\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Сайран Киккарин" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sairan@computer.org" + +#: dviexport.cpp:123 +#, fuzzy, kde-format +#| msgid "" +#| "Okular could not locate the program 'dvipdfm' on your computer. This " +#| "program is essential for the export function to work. You can, however, " +#| "convert the DVI-file to PDF using the print function of Okular, but that " +#| "will often produce documents which print okay, but are of inferior " +#| "quality if viewed in Acrobat Reader. It may be wise to upgrade to a more " +#| "recent version of your TeX distribution which includes the 'dvipdfm' " +#| "program.\n" +#| "Hint to the perplexed system administrator: Okular uses the PATH " +#| "environment variable when looking for programs." +msgid "" +"

    Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

    Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

    " +msgstr "" +"Okular компьютеріңізде 'dvipdfm' бағдарламасын таба алмады. Бұл бағдарлама " +"экспорттауды орындауға керек еді. Бұндайда DVI-файлды PDF-ке Okular-дың " +"басып шығару мүмкіндігін пайдаланып аударуға болады, бірақ бұл жолымен " +"шығарылған құжат басқанда жақсы ал Acrobat Reader-мен қарағанда жаман болып " +"шығады. Сондықтан 'dvipdfm' бағдарламасы бар TeX дистрибутивіне көшу жөн " +"болар.\n" +"Сасып қалған жүйе әкімшісіне ишара: Okular бағдарламаларды іздегенде PATH " +"айнамалысы көрсететін жолдарды қарайды." + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Файлды экспорттау үшін қолданылған сыртқы 'dvipdfm' бағдарламасы қате " +"туралы хабарлады. Хабарламасын көру үшін \"Файл\" мәзіріндегі құжат " +"мәліметінің диалогы дегенге бару керек." + +#: dviexport.cpp:168 +#, fuzzy, kde-format +#| msgid "" +#| "

    This DVI file refers to external graphic files which are not in " +#| "PostScript format, and cannot be handled by the dvips " +#| "program that Okular uses internally to print or to export to PostScript. " +#| "The functionality that you require is therefore unavailable in this " +#| "version of Okular.

    As a workaround, you can use the File/" +#| "Export As-Menu to save this file in PDF format, and then use a " +#| "PDF viewer.

    It is planned to add this functionality at a later date." +#| "

    " +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" +"

    Бұл DVI файлы PostScript пішімідегі емес сыртқы графикалық файлдарға " +"сілтейді. Бұндай файлдармен айналасуға Okular PostScript файлдарды басып " +"шығару және PostScript файлға экспорттауға жұмсайтын dvips " +"бағдарламасы жарамайды. Сізге керек мүмкіндік бұл Okular нұсқасында іске " +"асырылмаған.

    Қиыншылықты айналып өту үшін Файл/Былай " +"экспорттау мәзірі арқылы файлыңызды PDF пішімінде сақтап, оны PDF " +"түрінде қараңыз.

    Бұл мүмкіншілік келешекте іске асырылады деп " +"жоспарланып отыр.

    " + +#: dviexport.cpp:176 +#, fuzzy, kde-format +#| msgid "" +#| "Okular could not locate the program 'dvips' on your computer. That " +#| "program is essential for the export function to work.\n" +#| "Hint to the perplexed system administrator: Okular uses the PATH " +#| "environment variable when looking for programs." +msgid "" +"

    Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

    Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

    " +msgstr "" +"Okular компьютеріңізде 'dvips' бағдарламасын таба алмады. Бұл бағдарлама " +"экспорттауды орындауға керек еді.\n" +"Сасып қалған жүйе әкімшісіне ишара: Okular бағдарламаларды іздегенде PATH " +"айнамалысы көрсететін жолдарды қарайды." + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Файлды экспорттауға жұмсалған сыртқы 'dvips' бағдарламасы қате туралы " +"хабарлады. Хабарламасын Файл-мәзіріндегі Құжат мәліметі диалогынан көре аласыз." + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "Бұл DVI файл кіріспе бөлімінен басталған емес." + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" +"DVI файлдың нұсқасы бұл бағдарламаның DVI шығару жүйесіне сәйкес келмейді. " +"Мәлімет: егер Omega терім жүйесін қолдансаңыз, oxdvi секілді арнаулы " +"бағдарламаны пайдалану керек." + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "DVI файлы жаман зақымдалған. Okular оның аяқтау бөлімін таба алмады." + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "DVI файлдың аяқтау бөлімі POST командасынан басталуға тиіс емес." + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "Файлдың аяқтау бөлімінде FNTDEF командасынан басқа команда бар." + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "%1-беті BOP командасынан басталмаған." + +#: dviFile.cpp:354 +#, fuzzy, kde-format +#| msgid "" +#| "

    The external program pdf2ps could not be started. " +#| "As a result, the PDF-file %1 could not be converted to PostScript. Some " +#| "graphic elements in your document will therefore not be displayed.

    Possible reason: The program pdf2ps may not " +#| "be installed on your system, or cannot be found in the current search " +#| "path.

    What you can do: The program pdf2ps " +#| "is normally contained in distributions of the ghostscript PostScript " +#| "interpreter system. If ghostscript is not installed on your system, you " +#| "could install it now. If you are sure that ghostscript is installed, try " +#| "to use pdf2ps from the command line to check if it " +#| "really works.

    PATH: %2

    " +msgid "" +"

    The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

    What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

    PATH: %2

    " +msgstr "" +"

    Сыртқы pdf2ps бағдарламасы жегілмеді. Соның " +"салдарынан %1 PDF-файлы PostScript-ке аударылмады. Сондықтан құжатыңыздың " +"кейбір графикалық нысандар дұрыс көрсетілмейді.

    Мүмкін себебі:pdf2ps бағдарламасы жүйеңізде оратылмаған не іздеу " +"жолдарыңызда жоқ.

    Не істеуге болады: Әдетте pdf2ps бағдарламасы ghostscript PostScript интерпретатор жүйесінің " +"дистрибутивіне кіреді. Егер жүйеңізде ghostscript орнатылмаған болса - оны " +"орнатып алыңыз. Егер ghostscript орнатылғанын білсеңіз, істейтінін тексеру " +"үшін pdf2ps бағдарламасын команда жолынан жегіп көріңіз.

    PATH: %2

    " + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

    The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

    %2

    " +msgstr "" +"

    %1 PDF-файлы PostScript-ке аударылмады. Сондықтан құжатыңыздың кейбір " +"графикалық нысандар дұрыс көрсетілмейді.

    Мүмкін себебі: Бәлкім " +"%1 файлы бүлінген, немесе ол мүлдем PDF-файлы емес. Мынау Okular пайдаланған " +"pdf2ps бағдарламасының шығыс хабарламасы:

    " +"%2

    " + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, fuzzy, kde-format +#| msgid "" +#| "File not found: \n" +#| " %1" +msgid "File corruption. %1" +msgstr "" +"Файл табылмады:\n" +" %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "" + +#: dviRenderer.cpp:419 +#, fuzzy, kde-format +#| msgid "The special command '%1' is not implemented." +msgid "The specified file '%1' does not exist." +msgstr "Арнаулы '%1' командасы іске асырылмаған." + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "DVI кодында беймәлім қаріптің таңбасы кездесті." + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "DVI кодының алдында анықталмаған #%1 қаріпі кездесті." + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "EOP командасы орындалғанда стек бос болған жоқ." + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "POP командасы орындалғанда стек бос болды." + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "DVI кодында алдында анықталмаған қаріпі кездесті." + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "Жарамсыз команда кездесті." + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "Беймәлім %1 оп-коды кездесті." + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "%1 ендіру" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
    " +msgstr "" +"%1-бет: %2 PDF-файлы PostScript-ке айналдырылмады.
    " + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
    " +msgstr "%1-бет: %2 PostScript файлы жасалмады.
    " + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "'%1' парақ өлшемінің деректері талдауға келмейді." + +#: fontpool.cpp:209 +#, fuzzy, kde-format +#| msgid "" +#| "

    Okular was not able to locate all the font files which are " +#| "necessary to display the current DVI file. Your document might be " +#| "unreadable.

    " +msgid "" +"

    Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

    PATH: %1

    %2

    " +msgstr "" +"

    Okular DVI файлыңызды көсетуге қажет қаріптерді түгелдеп ала алмады. " +"Құжатыңыз оқылмайтындай болу мүмкін.

    " + +#: fontpool.cpp:284 +#, fuzzy, kde-format +#| msgid "" +#| "

    There were problems running kpsewhich. As a result, some font " +#| "files could not be located, and your document might be unreadable.

    Possible reason: The kpsewhich program is perhaps not " +#| "installed on your system, or it cannot be found in the current search " +#| "path.

    What you can do: The kpsewhich program is normally " +#| "contained in distributions of the TeX typesetting system. If TeX is not " +#| "installed on your system, you could install the TeX Live distribution " +#| "(www.tug.org/texlive). If you are sure that TeX is installed, please try " +#| "to use the kpsewhich program from the command line to check if it really " +#| "works.

    " +msgid "" +"

    There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
    Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

    PATH: %1

    %2

    " +msgstr "" +"

    kpsewhich бағдарламасын жегу мәселелер тұғызды. Соның салдарынан " +"кейбір қажет қаріптері түгелдеп алынбады да құжатыңыз оқылмайтындай болу " +"мүмкін.

    Мүмкін себебі:kpsewhich бағдарламасы жүйеңізде " +"оратылмаған не іздеу жолдарыңызда жоқ.

    Не істеуге болады: " +"Әдетте kpsewhich бағдарламасы TeX терім жүйесінің дистрибутивіне кіреді. " +"Егер жүйеңізде TeX орнатылмаған болса - TeX Live дистрибутивін (www.tug.org/" +"texlive) орнатып алыңыз. Егер TeX орнатылғанын білсеңіз, істейтінін тексеру " +"үшін kpsewhich бағдарламасын команда жолынан жегіп көріңіз.

    " + +#: fontpool.cpp:305 +#, fuzzy, kde-format +#| msgid "" +#| "

    The font generation by kpsewhich was aborted (exit code %1, " +#| "error %2). As a result, some font files could not be located, and your " +#| "document might be unreadable.

    " +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" +"

    kpsewhich бағдарламасының қаріпті құру доғарылды (шығу коды: " +"%1, қатесі %2). Салдары: кейбір қаріп файлдар жетіспейді, сондықтан " +"құжатыңыз оқуға жарамауы мүмкін.

    " + +#: fontpool.cpp:482 +#, fuzzy, kde-format +#| msgid "Currently generating %1 at %2 dpi" +msgid "Currently generating %1 at %2 dpi…" +msgstr "%2 н/д айырымдылықты %1 құру" + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "Құрушысы/Құрылған кезі" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "Қаріптің файлы табылмады" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "тік" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "жатық" + +#: psgs.cpp:286 +#, fuzzy, kde-format +#| msgid "" +#| "The version of Ghostview that is installed on this computer does not " +#| "contain any of the Ghostview device drivers that are known to Okular. " +#| "PostScript support has therefore been turned off in Okular." +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" +"Бұл компьютерде орнатылған Ghostview нұсқасындағы Ghostview құрылғы " +"драйверлерінің бір де бірін Okular танымайды. Сондықтан Okular-дың " +"PostScript-ті қолдау мүмкіндігі өшіріледі." + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "Қателер саны 25-ке жетті. Келесілер енді шығарылмайды." + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" +"'%1' DVI файлында, %2 бетінде қате. Түстер стегі бос болғанда, стектен түсті " +"шығару бұйрығы берілді." + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" +"Арнаулы epsf командасында жарамсыз параметр.\n" +"%2 дегенде %1 дегеннен кейін қалқымалы нүктелі сан болу керек" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"Файл табылмады:\n" +" %1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" +"'%1' DVI файлында, %2 бетінде қате. Мәтінді бұрайтын бұрышы түсініксіз." + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "Арнаулы '%1' командасы іске асырылмаған." + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "%1 қаріп файлы ашылып оқылды, бірақ оның пішімі қолдау таппайтын." + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "%1 қаріп файлы бүлінген не ашылып оқылмайды." + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" +"FreeType %1 қаріп файлының таңба өлшемін орнатқанда қатеге тап болғанын " +"хабарлады." + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "FreeType %2 қаріп файлынан #%1-глифін ала алмады." + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "FreeType %2 қаріп файлынан #%1-глифін кескіндеп бере алмады." + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "#%1-глифі бос." + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "%2 файлдың #%1-глифі бос." + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "FreeType %2 қаріп файлынан #%1-глифінің метрикасын жүктеп ала алмады." + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "%1 қаріп файлы ашылмады." + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "TexFont_PK::operator[]: %1 таңбасы %2 қаріпінде жоқ" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "%2 PK файлындағы %1 күтпеген" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "%2 файлындағы %1 тым үлкен" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "Сақталған биттер саны қате: %2 файлдағы %1 таңбасы" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "Жарамсыз pk файлы (%1), артық биттер" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "Қаріптің ара қатынасы тең (шаршы) емес" + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "%1 қаріпі (%2 файлы) табылмады." + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "%1 қаріп файлдың бақылау қосындысы келіспейді" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "%1 қаріп файлының пішімі танылмады" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"Түзелмейтін қате.\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" +"\n" +"\n" +"Сіз Okular-дағы бір қатеге тап болдыңыз,\n" +"немесе DVI файлыңыз, немесе қосымша (қаріп файлдар, \n" +"виртуалды қаріп файлдары секілді) файлдары бүлінген.\n" +"Okular осы хабарламасынан кейін доғарылады. Егер қатені\n" +"таптым десеңіз, ол туралы хабарлаңыз." + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "Виртуалды қаріптің макро кестесінде қате команда байты: %1" + +#~ msgid "" +#~ "

    The Ghostview program, which Okular uses internally to display the " +#~ "PostScript graphics that is included in this DVI file, is generally able " +#~ "to write its output in a variety of formats. The sub-programs that " +#~ "Ghostview uses for these tasks are called 'device drivers'; there is one " +#~ "device driver for each format that Ghostview is able to write. Different " +#~ "versions of Ghostview often have different sets of device drivers " +#~ "available. It seems that the version of Ghostview that is installed on " +#~ "this computer does not contain any of the device drivers " +#~ "that are known to Okular.

    It seems unlikely that a regular " +#~ "installation of Ghostview would not contain these drivers. This error may " +#~ "therefore point to a serious misconfiguration of the Ghostview " +#~ "installation on your computer.

    If you want to fix the problems with " +#~ "Ghostview, you can use the command gs --help to display " +#~ "the list of device drivers contained in Ghostview. Among others, Okular " +#~ "can use the 'png256', 'jpeg' and 'pnm' drivers. Note that Okular needs to " +#~ "be restarted to re-enable PostScript support.

    " +#~ msgstr "" +#~ "

    Okular осы DVI файл құрамындағы PostScript пішімдегі графиканы " +#~ "бейнелеу үшін қолданатын Ghostview бағдарламасы жалпы бір қатар " +#~ "пішімдерде шығара алады. Бұл үшін Ghostview қолданатын ішкі " +#~ "бғдарламаларын 'құрылғы драйверлері' деп атайды; Ghostview шығара алатын " +#~ "әрбір пішіміне бір драйвер сәйкес келеді. Түрлі Ghostview нұсқлары түрлі " +#~ "құрылғы драйверлер жиынтығына ие. Осы компьютерде орнатылған Ghostview " +#~ "нұсқасындағы құрылғы драйверлер тізімі Okular танитын тізімінен " +#~ "кем болып шықты.

    Бірақ кәдімгі Ghostview " +#~ "орнатуының құрамына бұл драверлері кірмегені мүмкін емес сияқты. Бұл, " +#~ "бәлкім, Ghostview елеулі қатемен орнатылғанын көрсетеді.

    Қатені " +#~ "анықтау үшін gs --help командасымен Ghostview қолдайтын " +#~ "құрылғы драйверлерін түгелдеңіз. Басқаларымен қатар Okular 'png256', " +#~ "'jpeg' және 'pnm' драйверлерін қажет етеді. PostScript қолдауын жаңарту " +#~ "үшін Okular-ды қайта жегуі керек екенін ескеріңіз.

    " + +#~ msgid "DVI Backend" +#~ msgstr "DVI тетігі" + +#~ msgid "A DVI file renderer" +#~ msgstr "DVI файлды кескіндеу" + +#~ msgid "© 2006 Luigi Toscano" +#~ msgstr "© 2006 Luigi Toscano" + +#~ msgid "" +#~ "

    Okular relies on the kpsewhich program to locate font files on " +#~ "your hard disk and to generate PK fonts, if necessary.

    " +#~ msgstr "" +#~ "

    Okular PK қаріптерін түгелдеп қажет болғанда құру үшін kpsewhich бағдарламасына жүгінеді.

    " + +#~ msgid "Okular is currently generating bitmap fonts..." +#~ msgstr "Okular нүктелік қаріптерін құру..." + +#~ msgid "Aborts the font generation. Do not do this." +#~ msgstr "Қаріпті жасауды доғару. Доғармай ақ қойыңыз." + +#~ msgid "" +#~ "Okular is currently generating bitmap fonts which are needed to display " +#~ "your document. For this, Okular uses a number of external programs, such " +#~ "as MetaFont. You can find the output of these programs later in the " +#~ "document info dialog." +#~ msgstr "" +#~ "Okular құжатыңызды көрсетуге қажетті нүктелік қаріптерін құрып жатыр. Бұл " +#~ "үшін Okular бірнеше, MetaFont секілді, сыртқы бағдарламаларды жұмсайды. " +#~ "Олардың шығыс хабарламаларын кейін құжат мәліметі диалогынан көре аласыз." + +#~ msgid "Okular is generating fonts. Please wait." +#~ msgstr "Okular қаріптерін құрып жатыр. Күте тұрыңыз." + +#~ msgid "Font Generation Progress Dialog" +#~ msgstr "Қаріпті құру барысы" + +#~ msgid "Abort" +#~ msgstr "Доғару" + +#~ msgid "What is happening here?" +#~ msgstr "Мұнда не болып жатыр?" + +#~ msgid "%v of %m" +#~ msgstr "%v / %m" + +#~ msgid "Please be patient" +#~ msgstr "Шыдаңыз" + +#~ msgid "*.pdf|Portable Document Format (*.pdf)" +#~ msgstr "*.pdf|PDF файлдары (*.pdf)" + +#~ msgid "Export File As" +#~ msgstr "Файлды былай экспорттау" + +#~ msgid "" +#~ "The file %1\n" +#~ "exists. Do you want to overwrite it?" +#~ msgstr "" +#~ "%1 деген файл бар екен.\n" +#~ "Үстінен жазыла берсін бе?" + +#~ msgid "Overwrite File" +#~ msgstr "Үстінен жазу" + +#~ msgid "Overwrite" +#~ msgstr "Үстінен жазу" + +#~ msgid "Using dvipdfm to export the file to PDF" +#~ msgstr "Файлды PDF-ке экспорттау үшін dvipdfm-ды қолдану" + +#~ msgid "" +#~ "Okular is currently using the external program 'dvipdfm' to convert your " +#~ "DVI-file to PDF. Sometimes that can take a while because dvipdfm needs to " +#~ "generate its own bitmap fonts Please be patient." +#~ msgstr "" +#~ "Okular DVI-файлды PDF-ке сыртқы 'dvipdfm' деген бағдарламасының " +#~ "көмегімен аударып жатыр. Бұл кейбірде біраз уақытты алады, өйткені " +#~ "бағдарлама өзінің нүктелік қаріпін құрып алуды қажет етеді. Күте тұрыңыз." + +#~ msgid "Waiting for dvipdfm to finish..." +#~ msgstr "dvipdfm аяқтағанша күту..." + +#~ msgid "*.ps|PostScript (*.ps)" +#~ msgstr "*.ps|PostScript (*.ps)" + +#~ msgid "Using dvips to export the file to PostScript" +#~ msgstr "Файлды PostScript-ке экспорттау үшін dvips-ты қолдану" + +#~ msgid "" +#~ "Okular is currently using the external program 'dvips' to convert your " +#~ "DVI-file to PostScript. Sometimes that can take a while because dvips " +#~ "needs to generate its own bitmap fonts Please be patient." +#~ msgstr "" +#~ "Okular DVI-файлды PostScript-ке сыртқы 'dvips' деген бағдарламасының " +#~ "көмегімен аударып жатыр. Бұл кейбірде біраз уақытты алады, өйткені " +#~ "бағдарлама өзінің нүктелік қаріпін құрып алуды қажет етеді. Күте тұрыңыз." + +#~ msgid "Waiting for dvips to finish..." +#~ msgstr "dvips аяқтағанша күту..." + +#~ msgid "Functionality Unavailable" +#~ msgstr "Іске асрылмаған мүмкіндік" + +#~ msgid "" +#~ "File corruption Okular could not interpret your DVI " +#~ "file. This is most commonly caused by a corrupted file." +#~ msgstr "" +#~ "Файл бүлінген Okular DVI-файлыңызды түсінбейді. " +#~ "Бұндай көбінде файл бұзылғанда болады." + +#~ msgid "DVI File Error" +#~ msgstr "DVI файл қатесі" + +#~ msgid "Not All Font Files Found" +#~ msgstr "Керек қаріп файлдары түгел емес" + +#~ msgid "Locating fonts..." +#~ msgstr "Қаріптерді іздеу..." + +#~ msgid "Problem locating fonts" +#~ msgstr "Қаріптерді түгелдеу мәселесі" + +#~ msgid "Font generation aborted" +#~ msgstr "Қаріпті құру доғарылды" + +#~ msgid "Export: %1 to PDF" +#~ msgstr "Экспорттау: %1 -> PDF" + +#~ msgid "Export: %1 to PostScript" +#~ msgstr "Экспорттау: %1 -> PostScript" + +#~ msgid "The fontlist is currently empty." +#~ msgstr "Қаріптер тізімі әзірше бос." + +#~ msgid "TeX Name" +#~ msgstr "TeX атауы" + +#~ msgid "Family" +#~ msgstr "Шоғыры" + +#~ msgid "Zoom" +#~ msgstr "Ұлғайту/кішірейту" + +#~ msgid "Type" +#~ msgstr "Түрі" + +#~ msgid "Encoding" +#~ msgstr "Кодтамасы" + +#~ msgid "Comment" +#~ msgstr "Түсініктемесі" + +#~ msgid "TeX virtual" +#~ msgstr "TeX виртуалды" + +#~ msgid "TeX Font Metric" +#~ msgstr "TeX қаріп метрикасы" + +#~ msgid "FreeType" +#~ msgstr "FreeType" + +#~ msgid "Could not allocate memory for a font structure" +#~ msgstr "Қаріп құрылысына жады бөлінбеді." + +#~ msgid "Not enough memory to load the DVI-file." +#~ msgstr "DVI-файлды жүктеуге жады жетіспейді." + +#~ msgid "Could not load the DVI-file." +#~ msgstr "DVI-файлы жүктелмеді." + +#~ msgid "Checksum mismatch" +#~ msgstr "Бақылау қосындысы сәйкес келмейді" + +#~ msgid " in font file " +#~ msgstr " қаріп файлында " + +#~ msgid "Could not allocate memory for a macro table." +#~ msgstr "Макро кестесіне жады бөлінбеді." + +#~ msgid "Virtual character " +#~ msgstr "Виртуалды таңба " + +#~ msgid " in font " +#~ msgstr " қаріпте " + +#~ msgid " ignored." +#~ msgstr " еленбеген." + +#~ msgid "Fatal Error" +#~ msgstr "Түзелмейтін қате" diff --git a/po/kk/okular_epub.po b/po/kk/okular_epub.po new file mode 100644 index 0000000..7b77f04 --- /dev/null +++ b/po/kk/okular_epub.po @@ -0,0 +1,55 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Sairan Kikkarin , 2010, 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-06-23 03:39+0600\n" +"Last-Translator: Sairan Kikkarin \n" +"Language-Team: Kazakh \n" +"Language: kk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.2\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Сайран Киккарин" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sairan@computer.org" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "EPub құжатын ашқанда қате орын алды." + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "EPub" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "EPub тетігін баптау" + +#~ msgid "EPub Backend" +#~ msgstr "EPub тетігі" + +#~ msgid "An EPub backend" +#~ msgstr "EPub тетігі" + +#~ msgid "© 2008 Ely Levy" +#~ msgstr "© 2008 Ely Levy" + +#~ msgid "Ely Levy" +#~ msgstr "Ely Levy" diff --git a/po/kk/okular_fax.po b/po/kk/okular_fax.po new file mode 100644 index 0000000..cc127c2 --- /dev/null +++ b/po/kk/okular_fax.po @@ -0,0 +1,45 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Sairan Kikkarin , 2010. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-07-24 05:37+0600\n" +"Last-Translator: Sairan Kikkarin \n" +"Language-Team: Kazakh \n" +"Language: kk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Сайран Киккарин" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sairan@computer.org" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "Құжат жүктелмеді" + +#~ msgid "Fax Backend" +#~ msgstr "Факс тетігі" + +#~ msgid "A G3/G4 fax document backend" +#~ msgstr "G3/G4 факс құжатының тетігі" + +#~ msgid "© 2008 Tobias Koenig" +#~ msgstr "© 2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/kk/okular_fictionbook.po b/po/kk/okular_fictionbook.po new file mode 100644 index 0000000..8559bcd --- /dev/null +++ b/po/kk/okular_fictionbook.po @@ -0,0 +1,80 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Sairan Kikkarin , 2010, 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-06-23 03:37+0600\n" +"Last-Translator: Sairan Kikkarin \n" +"Language-Team: Kazakh \n" +"Language: kk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.2\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Сайран Киккарин" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sairan@computer.org" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "Құжат дұрыс FictionBook емес" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "Келесі құжат ашылмады: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "Құжат дұрыс ZIP архиві емес" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "Құжаттың жарамсыз құрылымы (негізгі қапшығы жоқ)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "Құжаттың мазмұны жоқ" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "Дұрыс емес XML құжатты: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "FictionBook" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "FictionBook тетігін баптау" + +#~ msgid "Fiction Book Backend" +#~ msgstr "Fiction Book тетігі" + +#~ msgid "A renderer for FictionBook eBooks" +#~ msgstr "FictionBook эл.кітабын көрсету" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/kk/okular_ghostview.po b/po/kk/okular_ghostview.po new file mode 100644 index 0000000..762fb9c --- /dev/null +++ b/po/kk/okular_ghostview.po @@ -0,0 +1,91 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Sairan Kikkarin , 2010. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-07-24 06:07+0600\n" +"Last-Translator: Sairan Kikkarin \n" +"Language-Team: Kazakh \n" +"Language: kk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Сайран Киккарин" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sairan@computer.org" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "Платформа қаріптерін қолдану" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"Ghostscript-ке платформа қаріптерін рұқсат етуі, рұқсат етілмесе тек " +"құжаттың құрамындағы қаріптер қолданылады." + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "Жалпы параметрлері" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "Платформа қаріптері қ&олданылсын" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Ghostscript тетігінің баптауы" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "Құжаттың нұсқасы" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "Тілінің деңгейі" + +#~ msgid "PS Backend" +#~ msgstr "PS тетігі" + +#~ msgid "A PostScript file renderer." +#~ msgstr "PostScript файлды көрсету" + +#~ msgid "© 2007-2008 Albert Astals Cid" +#~ msgstr "© 2007-2008 Albert Astals Cid" + +#~ msgid "Based on the Spectre library." +#~ msgstr "Spectre жиын файл негізіндн жасалған." + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" diff --git a/po/kk/okular_kimgio.po b/po/kk/okular_kimgio.po new file mode 100644 index 0000000..0c25e4f --- /dev/null +++ b/po/kk/okular_kimgio.po @@ -0,0 +1,67 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Sairan Kikkarin , 2010. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-07-24 06:10+0600\n" +"Last-Translator: Sairan Kikkarin \n" +"Language-Team: Kazakh \n" +"Language: kk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Сайран Киккарин" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sairan@computer.org" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "Кұжат жүктелмеді: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" + +#~ msgid "Image Backend" +#~ msgstr "Кескін тетігі" + +#~ msgid "A simple image backend" +#~ msgstr "Қарапайым кескін тетігі" + +#~ msgid "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" +#~ msgstr "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" + +#~ msgid "Main Toolbar" +#~ msgstr "Негізгі құралдар" diff --git a/po/kk/okular_mobi.po b/po/kk/okular_mobi.po new file mode 100644 index 0000000..5b44966 --- /dev/null +++ b/po/kk/okular_mobi.po @@ -0,0 +1,61 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Sairan Kikkarin , 2010, 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-06-23 03:33+0600\n" +"Last-Translator: Sairan Kikkarin \n" +"Language-Team: Kazakh \n" +"Language: kk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.2\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Сайран Киккарин" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sairan@computer.org" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Mobipocket құжатын ашқанда қате орын алды.." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "Бұл кітаб DRM-мен қорғалған, сондықтан тек арнаулы құрылғыда ашылады" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "Mobipocket" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "Mobipocket тетігін баптау" + +#~ msgid "Mobipocket Backend" +#~ msgstr "Mobipocket тетігі" + +#~ msgid "A mobipocket backend" +#~ msgstr "Mobipocket тетігі" + +#~ msgid "© 2008-2009 Jakub Stachowski" +#~ msgstr "© 2008-2009 Jakub Stachowski" + +#~ msgid "Jakub Stachowski" +#~ msgstr "Jakub Stachowski" diff --git a/po/kk/okular_poppler.po b/po/kk/okular_poppler.po new file mode 100644 index 0000000..5bb73df --- /dev/null +++ b/po/kk/okular_poppler.po @@ -0,0 +1,404 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Sairan Kikkarin , 2010, 2012, 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-06-23 03:28+0600\n" +"Last-Translator: Sairan Kikkarin \n" +"Language-Team: Kazakh \n" +"Language: kk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.2\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Сайран Киккарин" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sairan@computer.org" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "Жұқа сзықтарды күшейтуі:" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "Жоқ" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "Тұтас қылу" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "Қалыптастыру" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "PDF параметрлері" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "Аңдатпаларды басып шығару" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "Басылатын құжатына аңдатпаларды қосу" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"Басылатын құжатына аңдатпаларды қосу. Бастапқы, аңдатпасыз түрінде басылсын " +"десеңіз - қоспаңыз." + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "Растрға аудару" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "Басарда кескінге растрлау" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"Басар алдында әрбір бетті растрлап кескінге аудару. Бұл басу сапасын сәл " +"төмендетседе, дұрыс басып шығаруға көмектеседі." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF %1.%2 нұсқасы" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "Пішімі" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "Шифрланған" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "Шифрланбаған" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "Қауіпсіздігі" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "Иә" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "Оңтайлануы" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "PDF тетігінің баптауы" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "" + +#: pdfsignatureutils.cpp:239 +#, fuzzy, kde-format +#| msgid "Document Password" +msgid "Enter Password" +msgstr "Құжаттың паролі" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "" + +#~ msgid "PDF Backend" +#~ msgstr "PDF тетігі" + +#~ msgid "A PDF file renderer" +#~ msgstr "PDF файлды көрсету" + +#~ msgid "© 2005-2008 Albert Astals Cid" +#~ msgstr "© 2005-2008 Albert Astals Cid" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Saving files with /Encrypt is not supported." +#~ msgstr "Файлды /Encrypt деп сақтауының қолдауы жоқ." + +#~ msgid "Unknown" +#~ msgstr "Беймәлім" + +#~ msgid "Unknown Date" +#~ msgstr "Күні беймәлім" + +#~ msgid "Unknown Encryption" +#~ msgstr "Беймәлім шифрлауы" + +#~ msgid "Unknown Optimization" +#~ msgstr "Беймәлім оңтайлануы" + +#~ msgid "Please enter the password to read the document:" +#~ msgstr "Құжатты оқу үшін паролін келтіріңіз:" + +#~ msgid "Incorrect password. Try again:" +#~ msgstr "Жарамсыз пароль. Қайталап көріңіз." diff --git a/po/kk/okular_txt.po b/po/kk/okular_txt.po new file mode 100644 index 0000000..45bb640 --- /dev/null +++ b/po/kk/okular_txt.po @@ -0,0 +1,52 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Sairan Kikkarin , 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-06-24 01:15+0600\n" +"Last-Translator: Sairan Kikkarin \n" +"Language-Team: Kazakh \n" +"Language: kk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.2\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +# +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Сайран Киккарин" + +# +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sairan@computer.org" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "Txt" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "Txt тетігін баптау" + +#~ msgid "Txt Backend" +#~ msgstr "Txt тетігі" + +#~ msgid "Txt backend." +#~ msgstr "Txt тетігі." + +#~ msgid "© 2013 Azat Khuzhin" +#~ msgstr "© 2013 Azat Khuzhin" + +#~ msgid "Azat Khuzhin" +#~ msgstr "Azat Khuzhin" diff --git a/po/kk/okular_xps.po b/po/kk/okular_xps.po new file mode 100644 index 0000000..7dfbcf2 --- /dev/null +++ b/po/kk/okular_xps.po @@ -0,0 +1,57 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Sairan Kikkarin , 2010. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-07-24 07:07+0600\n" +"Last-Translator: Sairan Kikkarin \n" +"Language-Team: Kazakh \n" +"Language: kk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Сайран Киккарин" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sairan@computer.org" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "Жетілдірімі" + +#~ msgid "XPS Backend" +#~ msgstr "XPS тетігі" + +#~ msgid "An XPS backend" +#~ msgstr "XPS тетігі" + +#~ msgid "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" +#~ msgstr "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" + +#~ msgid "Brad Hards" +#~ msgstr "Brad Hards" + +#~ msgid "Jiri Klement" +#~ msgstr "Jiri Klement" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" diff --git a/po/kk/org.kde.active.documentviewer.po b/po/kk/org.kde.active.documentviewer.po new file mode 100644 index 0000000..9890ac3 --- /dev/null +++ b/po/kk/org.kde.active.documentviewer.po @@ -0,0 +1,222 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Sairan Kikkarin , 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-02-14 04:10+0600\n" +"Last-Translator: Sairan Kikkarin \n" +"Language-Team: Kazakh \n" +"Language: kk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.2\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "Бетбелгілер" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +msgid "Export…" +msgstr "" + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "" + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "" + +#: ui/Main.qml:49 +msgid "About" +msgstr "" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "" + +#: ui/MainView.qml:29 +#, fuzzy +#| msgid "Bookmarks" +msgid "Bookmark this page" +msgstr "Бетбелгілер" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "Нобайлар" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "Мазмұны тізімі" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:96 +msgid "Document Version" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:108 +msgid "Save Signed Version…" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +msgid "View Certificate…" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "" + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "Нәтижесі жоқ." + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "" + +#: ui/WelcomeView.qml:108 +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "" + +#~ msgid "Document viewer for Plasma Active using Okular" +#~ msgstr "Plasma Active-тің Okular-ды қолданатын құжат қарау құралы" + +#~ msgid "Reader" +#~ msgstr "Оқу құралы" + +#~ msgid "Copyright 2012 Marco Martin" +#~ msgstr "Copyright 2012 Marco Martin" + +#~ msgid "Marco Martin" +#~ msgstr "Marco Martin" + +#~ msgid "URL of the file to open" +#~ msgstr "Ашатын файлдың URL-адресі" diff --git a/po/km/okular.po b/po/km/okular.po new file mode 100644 index 0000000..fba96b6 --- /dev/null +++ b/po/km/okular.po @@ -0,0 +1,6869 @@ +# translation of okular.po to Khmer +# Khoem Sokhem , 2008, 2009, 2010, 2012. +# Seng Sutha, 2010. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2012-07-11 10:26+0700\n" +"Last-Translator: Khoem Sokhem \n" +"Language-Team: Khmer\n" +"Language: km\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"\n" +"X-Generator: KBabel 1.11.4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ខឹម សុខែម, ​អេង វណ្ណៈ, អោក ពិសិដ្ឋ​" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "khoemsokhem@khmeros.info,​​evannak@khmeros.info,piseth_dv@khmeros.info" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Okular ជា​កម្មវិធី​មើល​ឯកសារ​សកល" + +#: aboutdata.h:23 +#, fuzzy, kde-format +#| msgid "" +#| "(C) 2002 Wilco Greven, Christophe Devriese\n" +#| "(C) 2004-2005 Enrico Ros\n" +#| "(C) 2005 Piotr Szymanski\n" +#| "(C) 2004-2009 Albert Astals Cid\n" +#| "(C) 2006-2009 Pino Toscano" +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"រក្សាសិទ្ធិ​ឆ្នាំ ២០០២ ដោយ Wilco Greven, Christophe Devriese\n" +"រក្សាសិទ្ធិ​ឆ្នាំ ២០០៤-២០០៥ ដោយ Enrico Ros\n" +"រក្សាសិទ្ធិ​ឆ្នាំ ២០០៥ ដោយ Piotr Szymanski\n" +"រក្សាសិទ្ធិ​ឆ្នាំ ២០០៤-២០០៩ ដោយ Albert Astals Cid\n" +"រក្សាសិទ្ធិ​ឆ្នាំ ២០០៦-២០០៩ ដោយ Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "អតីត​អ្នក​ថែទាំ" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, fuzzy, kde-format +#| msgid "Lots of framework work, ODT and FictionBook backends" +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "ការងារ​គ្រោងការ​ច្រើន កម្មវិធី​ខាងក្រោយ ODT និង FictionBook" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, fuzzy, kde-format +#| msgid "KPDF developer" +msgid "Developer" +msgstr "អ្នក​អភិវឌ្ឍន៍ KPDF" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymanski" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "បង្កើត Okular ពី​មូលដ្ឋាន​កូដ KPDF" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "Enrico Ros" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "អ្នក​អភិវឌ្ឍន៍ KPDF" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "Eugene Trounev" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "សិល្បៈ​​ចំណារ​ពន្យល់" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "Jiri Baum - NICTA" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "ឧបករណ៍​ជ្រើស​តារាង" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "Fabio D'Urso" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "ការ​​ធ្វើ​ឲ្យ​​ចំណារ​ពន្យល់​ប្រសើរ​ឡើង" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "ទៅកាន់​ទំព័រ %1" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "បើក​ឯកសារ​ខាងក្រៅ" + +#: core/action.cpp:197 +#, fuzzy, kde-format +#| msgid "Execute '%1'..." +msgid "Execute '%1'…" +msgstr "ប្រតិបត្តិ '%1'..." + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "ទំព័រ​ទីមួយ" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "ទំព័រ​មុន" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "ទំព័រ​បន្ទាប់" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "ទំព័រ​ចុងក្រោយ" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "ថយក្រោយ" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "ទៅមុខ" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "ចេញ" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "ចាប់ផ្ដើម​ការ​បង្ហាញ" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "បញ្ចប់​ការ​បង្ហាញ" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go To Page…" +msgstr "ទៅ​ទំព័រ" + +#: core/action.cpp:365 +#, fuzzy, kde-format +#| msgid "Play sound..." +msgid "Play sound…" +msgstr "ចាក់​សំឡេង..." + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "ស្គ្រីប JavaScript" + +#: core/action.cpp:483 +#, fuzzy, kde-format +#| msgid "Play movie..." +msgid "Play movie…" +msgstr "ចាក់​ភាពយន្ត..." + +#: core/action.cpp:554 +#, fuzzy, kde-format +#| msgid "Play movie..." +msgid "Play movie" +msgstr "ចាក់​ភាពយន្ត..." + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "" + +#: core/action.cpp:558 +#, fuzzy, kde-format +#| msgid "Play movie..." +msgid "Pause movie" +msgstr "ចាក់​ភាពយន្ត..." + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "ជម្រើស​កម្មវិធី​ខាងក្រោយ" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
    %1 (%2).

    Please select which one to use:
    " +msgstr "" +"រកឃើញ​កម្មវិធី​ខាងក្រោយ​ច្រើន​សម្រាប់​ប្រភេទ MIME ៖
    %1 (%2).

    សូម​" +"ជ្រើស​កម្មវិធី​មួយ​ដើម្បី​ប្រើ ៖
    " + +#: core/document.cpp:200 +#, fuzzy, kde-format +#| msgid "Go to page %1" +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "ទៅកាន់​ទំព័រ %1" + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "" + +#: core/document.cpp:246 +#, fuzzy, kde-format +#| msgid "%1 x %2 in" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 x %2 អ៊ិន្ឈ៍" + +#: core/document.cpp:248 +#, fuzzy, kde-format +#| msgid "%1 x %2 mm" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 x %2 ម.ម." + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "មិនអាច​ស្វែងរក​កម្មវិធី​ជំនួយ​ដែល​អាច​ដោះស្រាយ​ឯកសារ​ដែល​បាន​ហុច​បានទេ ។" + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "ការ​បង្ហាញ" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"ឯកសារ​កំពុង​ប្រតិបត្តិ​កម្មវិធី​ខាងក្រៅ តែដើម្បី​ឲ្យ​មាន​សុវត្ថិភាព​ Okular មិន​អនុញ្ញាត​ឲ្យ​ធ្វើ​បែបនោះ​ទេ ។" + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "រក​មិនឃើញ​កម្មវិធី​សម្រាប់​បើក​ឯកសារ​ប្រភេទ mime %1 ទេ ។" + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "មិនអាច​បើក​រក្សាទុក​ឯកសារ​បណ្ដោះអាសន្ន​បាន​ទេ ។" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "បាន​បរាជ័យ​ក្នុងកា​របម្លែង" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "ដំណើរការ​បោះពុម្ព​បាន​គាំង" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "ដំណើរការ​បោះពុម្ព​មិនអាច​ចាប់ផ្ដើម​បាន​ទេ" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "បាន​បរាជ័យ​ក្នុងកា​របោះពុម្ព​ឯកសារ" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "ម៉ាស៊ីនបោះពុម្ព​​ស្ថិត​ក្នុង​សភាព​មិន​ត្រឹមត្រូវ" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "មិនអាច​រកឯកសារ​ដើម្បី​បោះពុម្ព​បាន​ទេ" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "គ្មាន​ឯកសារ​ត្រូវ​បោះពុម្ព​ទេ" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"រកមិនឃើញ​ប្រព័ន្ធគោលពីរ​ដែលសមស្រប​សម្រាប់បោះពុម្ព​ទេ ។ សូម​ប្រាកដ​ថា​ប្រព័ន្ធ​គោលពីរ CUPS lpr អាច​ប្រើ​" +"បាន" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "មិន​អាច​បើក '%1' បាន​ទេ ។ មិនទាន់មាន​ឯកសារ​ទេ" + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "ចំណងជើង" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "ប្រធានបទ" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "សេចក្ដី​ពិពណ៌នា" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "អ្នក​និពន្ធ" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "អ្នក​បង្កើត" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "អ្នក​ផលិត" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "រក្សាសិទ្ធិ" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "ទំព័រ" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "បាន​បង្កើត" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "បាន​កែប្រែ" + +#: core/document.cpp:6032 +#, fuzzy, kde-format +#| msgid "Mime Type" +msgid "MIME Type" +msgstr "ប្រភេទ Mime" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "ប្រភេទ" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "ពាក្យ​គន្លឹះ" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "ផ្លូវ​ឯកសា" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "ទំហំ​ឯកសារ" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "ទំហំ​ទំព័រ" + +#: core/documentcommands.cpp:62 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "%1 ចំណារពន្យល់" + +#: core/documentcommands.cpp:108 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "ការ​បង្ហាញ" + +#: core/documentcommands.cpp:155 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "លក្ខណៈ​សម្បត្តិ​ចំណារ​ពន្យល់" + +#: core/documentcommands.cpp:190 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Text Annotation" +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "ចំណារ​អត្ថបទ" + +#: core/documentcommands.cpp:263 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "%1 ចំណារពន្យល់" + +#: core/documentcommands.cpp:333 +#, fuzzy, kde-format +#| msgid "Select text" +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "ជ្រើស​អត្ថបទ" + +#: core/documentcommands.cpp:398 +#, fuzzy, kde-format +#| msgid "Annotation improvements" +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "ការ​​ធ្វើ​ឲ្យ​​ចំណារ​ពន្យល់​ប្រសើរ​ឡើង" + +#: core/documentcommands.cpp:447 +#, fuzzy, kde-format +#| msgid "Annotation improvements" +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "ការ​​ធ្វើ​ឲ្យ​​ចំណារ​ពន្យល់​ប្រសើរ​ឡើង" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "" + +#: core/generator.cpp:790 +#, fuzzy, kde-format +#| msgid "Plain &Text..." +msgid "Plain &Text…" +msgstr "អត្ថបទ​ធម្មតា..." + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "អត្ថបទ OpenDocument" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, fuzzy, kde-format +#| msgid "Editor Options" +msgid "Print Options" +msgstr "ជម្រើស​កម្មវិធី​និពន្ធ" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#: core/printoptionswidget.cpp:25 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgid "Scale mode:" +msgstr "របៀប​ពណ៌ ៖" + +#: core/script/js_app.cpp:206 +#, fuzzy, kde-format +#| msgid "Close this message" +msgid "Do not show this message again" +msgstr "បិទ​សារនេះ" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, fuzzy, kde-format +#| msgid "No description available." +msgid "Not Available" +msgstr "គ្មាន​សេចក្ដី​ពិពណ៌នា​ទេ ។" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "" + +#: core/signatureutils.cpp:504 +#, fuzzy, kde-kuit-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "មិន​អាច​រក្សាទុក​ឯកសារ​ក្នុង '%1' បាន​ឡើយ ។ សូម​ព្យាយាម​រក្សាទុក​វា​នៅ​ទីតាំង​មួយ​ទៀត ។" + +#: core/signatureutils.cpp:506 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown signing error" +msgstr "មិនស្គាល់​ឯកសារ" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "ប្រភទ ៖ %1" + +#: core/textdocumentsettings.cpp:34 +#, fuzzy, kde-format +#| msgid "&Default Zoom:" +msgid "&Default Font:" +msgstr "ការ​ពង្រីក​លំនាំដើម ៖" + +#: gui/certificatemodel.cpp:39 +#, fuzzy, kde-format +#| msgctxt "A document format, Okular-specific" +#| msgid "Document Archive" +msgid "Version" +msgstr "ប័ណ្ណសារ​ឯកសារ" + +#: gui/certificatemodel.cpp:41 +#, fuzzy, kde-format +#| msgid "Page Number" +msgid "Serial Number" +msgstr "ទំហំ​ទំព័រ" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, fuzzy, kde-format +#| msgid "Expired" +msgid "Expires On" +msgstr "ផុត​កំណត់" + +#: gui/certificatemodel.cpp:49 +#, fuzzy, kde-format +#| msgid "Subject" +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "ប្រធានបទ" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "" + +#: gui/certificatemodel.cpp:53 +#, fuzzy, kde-format +#| msgid "Memory Usage" +msgid "Key Usage" +msgstr "ការ​ប្រើប្រាស់​សតិ" + +#: gui/certificatemodel.cpp:72 +#, fuzzy, kde-format +#| msgid "%1:" +msgid "V%1" +msgstr "%1 ៖" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "" + +#: gui/certificatemodel.cpp:146 +#, fuzzy, kde-format +#| msgid "&Properties" +msgid "Property" +msgstr "លក្ខណៈ​សម្បត្តិ" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, fuzzy, kde-format +#| msgid "&Open Pop-up Note" +msgid "Pop-up Note" +msgstr "បើក​ចំណាំ​លេចឡើង" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "ចំណាំ​ក្នុង​តួ" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +#| msgid "For Comment" +msgid "Arrow with Comment" +msgstr "សម្រាប់​សេចក្ដី​អធិប្បាយ" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "" + +#: gui/guiutils.cpp:59 +#, fuzzy, kde-format +#| msgid "Line Properties" +msgid "Straight Line with Comment" +msgstr "លក្ខណៈ​សម្បត្តិ​បន្ទាត់" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, fuzzy, kde-format +#| msgid "Straight Yellow Line" +msgid "Straight Line" +msgstr "បន្ទាត់​ត្រង់​ពណ៌​លឿង" + +#: gui/guiutils.cpp:63 +#, fuzzy, kde-format +#| msgid "For Comment" +msgid "Polygon with Comment" +msgstr "សម្រាប់​សេចក្ដី​អធិប្បាយ" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, fuzzy, kde-format +#| msgid "Blue Polygon" +msgid "Polygon" +msgstr "ពហុកោណ​ពណ៌​ខៀវ" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgid "Strike out" +msgid "Rectangle with Comment" +msgstr "បន្ទាត់​ឆូត" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "ចតុកោណ​កែង" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgid "Underline" +msgid "Ellipse with Comment" +msgstr "គូស​បន្ទាត់​ពីក្រោម" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "រាង​ពងក្រពើ" + +#: gui/guiutils.cpp:83 +#, fuzzy, kde-format +#| msgid "Highlight" +msgid "Highlight with Comment" +msgstr "បន្លិច" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "បន្លិច" + +#: gui/guiutils.cpp:87 +#, fuzzy, kde-format +#| msgid "Squiggly" +msgid "Squiggle with Comment" +msgstr "គូស​វាស" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, fuzzy, kde-format +#| msgid "Squiggly" +msgid "Squiggle" +msgstr "គូស​វាស" + +#: gui/guiutils.cpp:91 +#, fuzzy, kde-format +#| msgid "Underline" +msgid "Underline with Comment" +msgstr "គូស​បន្ទាត់​ពីក្រោម" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "គូស​បន្ទាត់​ពីក្រោម" + +#: gui/guiutils.cpp:95 +#, fuzzy, kde-format +#| msgid "Strike out" +msgid "Strike Out with Comment" +msgstr "បន្ទាត់​ឆូត" + +#: gui/guiutils.cpp:95 +#, fuzzy, kde-format +#| msgid "Strike out" +msgid "Strike Out" +msgstr "បន្ទាត់​ឆូត" + +#: gui/guiutils.cpp:102 +#, fuzzy, kde-format +#| msgid "Strike out" +msgid "Stamp with Comment" +msgstr "បន្ទាត់​ឆូត" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "តែម" + +#: gui/guiutils.cpp:106 +#, fuzzy, kde-format +#| msgid "Line Properties" +msgid "Freehand Line with Comment" +msgstr "លក្ខណៈ​សម្បត្តិ​បន្ទាត់" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, fuzzy, kde-format +#| msgid "Green Freehand Line" +msgid "Freehand Line" +msgstr "បន្ទាត់​សេរី​ពណ៌​បៃតង" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "សញ្ញា​បន្ថែម​ពាក្យ​រំលង" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "ការ​ភ្ជាប់​ឯកសារ" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "សំឡេង" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "ភាព​យន្ដ" + +#: gui/guiutils.cpp:126 +#, fuzzy, kde-format +#| msgid "Screen:" +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "អេក្រង់ ៖" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation" +msgstr "%1 ចំណារពន្យល់" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "មិន​ស្គាល់" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "អ្នក​និពន្ធ ៖ %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "តើ​អ្នក​ចង់​រក្សាទុក​ %1 នៅ​ទីណា ?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "មិនអាច​បើក \"%1\" ដើម្បី​សរសេរ​បានទេ ។ ឯកសារ​មិនត្រូវបានរក្សាទុក​ទេ ។" + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "" + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "" + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "" + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "" + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "" + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "" + +#: gui/signatureguiutils.cpp:60 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Certificate is Trusted." +msgstr "កំណត់​រចនា​សម្ព័ន្ធ​កម្មវិធី​មើល" + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "" + +#: gui/signatureguiutils.cpp:64 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Certificate issuer is unknown." +msgstr "កំណត់​រចនា​សម្ព័ន្ធ​កម្មវិធី​មើល" + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "" + +#: gui/signatureguiutils.cpp:68 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Certificate has Expired." +msgstr "កំណត់​រចនា​សម្ព័ន្ធ​កម្មវិធី​មើល" + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "" + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "" + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "" + +#: gui/signatureguiutils.cpp:96 +#, fuzzy, kde-format +#| msgid "Unknown font" +msgid "Unknown Algorithm" +msgstr "មិន​ស្គាល់​ពុម្ពអក្សរ" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown Type" +msgstr "មិនស្គាល់​ឯកសារ" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "" + +#: gui/signatureguiutils.cpp:135 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Sign Certificate" +msgstr "កំណត់​រចនា​សម្ព័ន្ធ​កម្មវិធី​មើល" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr "" + +#: gui/signatureguiutils.cpp:165 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "The document has not been modified since it was signed." +msgstr "មិន​អនុញ្ញាត​ឲ្យ​បោះពុម្ព​ឯកសារ​នេះ​ឡើយ ។" + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "" + +#: gui/signatureguiutils.cpp:208 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "មិន​អនុញ្ញាត​ឲ្យ​បោះពុម្ព​ឯកសារ​នេះ​ឡើយ ។" + +#: gui/signatureguiutils.cpp:211 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "This document is digitally signed." +msgstr "មិន​អនុញ្ញាត​ឲ្យ​បោះពុម្ព​ឯកសារ​នេះ​ឡើយ ។" + +#: gui/signatureguiutils.cpp:213 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "មិន​អនុញ្ញាត​ឲ្យ​បោះពុម្ព​ឯកសារ​នេះ​ឡើយ ។" + +#: gui/signatureguiutils.cpp:216 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "មិន​អនុញ្ញាត​ឲ្យ​បោះពុម្ព​ឯកសារ​នេះ​ឡើយ ។" + +#: gui/signaturemodel.cpp:141 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "លក្ខណៈ​សម្បត្តិ​សញ្ញា​បន្ថែម​ពាក្យ​រំលង" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "" + +#: gui/signaturemodel.cpp:172 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgid "Reason: %1" +msgstr "ទំព័រ ៖ %1" + +#: gui/signaturemodel.cpp:177 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Location: %1" +msgstr "%1 ចំណារពន្យល់" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "" + +#: gui/signaturemodel.cpp:193 +#, fuzzy, kde-format +#| msgctxt "Unknown author" +#| msgid "Unknown" +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "មិន​ស្គាល់" + +#: gui/signaturemodel.cpp:195 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "លក្ខណៈ​សម្បត្តិ​សញ្ញា​បន្ថែម​ពាក្យ​រំលង" + +#: gui/signaturemodel.cpp:201 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgid "Signature Type: %1" +msgstr "លក្ខណៈ​សម្បត្តិ​សញ្ញា​បន្ថែម​ពាក្យ​រំលង" + +#: part/annotationactionhandler.cpp:148 +#, fuzzy, kde-format +#| msgid "Reloa&d" +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "ផ្ទុក​ឡើងវិញ" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "" + +#: part/annotationactionhandler.cpp:150 +#, fuzzy, kde-format +#| msgid "Allow" +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "អនុញ្ញាត" + +#: part/annotationactionhandler.cpp:151 +#, fuzzy, kde-format +#| msgid "Screen:" +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "អេក្រង់ ៖" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "សម​ទទឹង" + +#: part/annotationactionhandler.cpp:252 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1 ៖" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:308 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "លក្ខណៈ​សម្បត្តិ​ចំណារ​ពន្យល់" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "" + +#: part/annotationactionhandler.cpp:314 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "%1 ចំណារពន្យល់" + +#: part/annotationactionhandler.cpp:316 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "%1 ចំណារពន្យល់" + +#: part/annotationactionhandler.cpp:318 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "%1 ចំណារពន្យល់" + +#: part/annotationactionhandler.cpp:322 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "%1 ចំណារពន្យល់" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "" + +#: part/annotationactionhandler.cpp:328 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "%1 ចំណារពន្យល់" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" + +#: part/annotationactionhandler.cpp:341 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "លក្ខណៈ​សម្បត្តិ​ចំណារ​ពន្យល់" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "" + +#: part/annotationactionhandler.cpp:432 +#, fuzzy, kde-format +#| msgid "&Color:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "ពណ៌ ៖" + +#: part/annotationactionhandler.cpp:434 +#, fuzzy, kde-format +#| msgid "&Color:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "ពណ៌ ៖" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "" + +#: part/annotationactionhandler.cpp:499 +#, fuzzy, kde-format +#| msgid "&Selection Tool" +msgctxt "@title:window" +msgid "Select color" +msgstr "ឧបករណ៍​ជម្រើស" + +#: part/annotationactionhandler.cpp:552 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "&Annotations" +msgstr "%1 ចំណារពន្យល់" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "" + +#: part/annotationactionhandler.cpp:554 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "ការ​បង្ហាញ" + +#: part/annotationactionhandler.cpp:557 +#, fuzzy, kde-format +#| msgid "Highlight" +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "បន្លិច" + +#: part/annotationactionhandler.cpp:558 +#, fuzzy, kde-format +#| msgid "Underline" +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "គូស​បន្ទាត់​ពីក្រោម" + +#: part/annotationactionhandler.cpp:559 +#, fuzzy, kde-format +#| msgid "Squiggly" +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "គូស​វាស" + +#: part/annotationactionhandler.cpp:560 +#, fuzzy, kde-format +#| msgid "Strike out" +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "បន្ទាត់​ឆូត" + +#: part/annotationactionhandler.cpp:562 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "លក្ខណៈ​សម្បត្តិ​សញ្ញា​បន្ថែម​ពាក្យ​រំលង" + +#: part/annotationactionhandler.cpp:563 +#, fuzzy, kde-format +#| msgid "Inline Note" +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "ចំណាំ​ក្នុង​តួ" + +#: part/annotationactionhandler.cpp:564 +#, fuzzy, kde-format +#| msgid "&Open Pop-up Note" +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "បើក​ចំណាំ​លេចឡើង" + +#: part/annotationactionhandler.cpp:565 +#, fuzzy, kde-format +#| msgid "Green Freehand Line" +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "បន្ទាត់​សេរី​ពណ៌​បៃតង" + +#: part/annotationactionhandler.cpp:567 +#, fuzzy, kde-format +#| msgid "Straight Yellow Line" +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "បន្ទាត់​ត្រង់​ពណ៌​លឿង" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "" + +#: part/annotationactionhandler.cpp:569 +#, fuzzy, kde-format +#| msgid "Rectangle" +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "ចតុកោណ​កែង" + +#: part/annotationactionhandler.cpp:570 +#, fuzzy, kde-format +#| msgid "Ellipse" +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "រាង​ពងក្រពើ" + +#: part/annotationactionhandler.cpp:571 +#, fuzzy, kde-format +#| msgid "Blue Polygon" +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "ពហុកោណ​ពណ៌​ខៀវ" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "" + +#: part/annotationactionhandler.cpp:618 +#, fuzzy, kde-format +#| msgid "Stamp" +msgctxt "@action" +msgid "Stamp" +msgstr "តែម" + +#: part/annotationactionhandler.cpp:638 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "%1 ចំណារពន្យល់" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "" + +#: part/annotationactionhandler.cpp:651 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Quick Annotation Bar" +msgstr "%1 ចំណារពន្យល់" + +#: part/annotationactionhandler.cpp:665 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "%1 ចំណារពន្យល់" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "" + +#: part/annotationactionhandler.cpp:669 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "ការ​បង្ហាញ" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "" + +#: part/annotationactionhandler.cpp:680 +#, fuzzy, kde-format +#| msgid "Font:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "ពុម្ពអក្សរ ៖" + +#: part/annotationactionhandler.cpp:681 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "លក្ខណៈ​សម្បត្តិ​ចំណារ​ពន្យល់" + +#: part/annotationactionhandler.cpp:684 +#, fuzzy, kde-format +#| msgid "Line" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "បន្ទាត់" + +#: part/annotationactionhandler.cpp:693 +#, fuzzy, kde-format +#| msgid "&Opacity:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "ភាព​ស្រអាប់ ៖" + +#: part/annotationactionhandler.cpp:696 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1 ៖" + +#: part/annotationmodel.cpp:320 +#, fuzzy, kde-format +#| msgid "Page %1" +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "ទំព័រ %1" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "ទំព័រ %1" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "%1 ចំណារពន្យល់" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "បើក​ចំណាំ​លេចឡើង" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "យក​ចំណាំ​ចេញ" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "បន្ថែមចំណាំ" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Text to Clipboard" +msgstr "ចម្លង​ទៅ​ក្ដារ​តម្បៀត​ខ្ទាស់" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "ចម្លង​ការ​ហាមឃាត់​ដោយ DRM" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "លុប" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "លក្ខណៈ​សម្បត្តិ" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, fuzzy, kde-format +#| msgctxt "%1 is the name of the file to save" +#| msgid "&Save '%1'..." +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "រក្សាទុក '%1'..." + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "រូបរាង" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "ទូទៅ" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "អ្នក​និពន្ធ ៖" + +#: part/annotationpropertiesdialog.cpp:69 +#, fuzzy, kde-format +#| msgid "Created" +msgid "Created:" +msgstr "បាន​បង្កើត" + +#: part/annotationpropertiesdialog.cpp:74 +#, fuzzy, kde-format +#| msgid "Modified" +msgid "Modified:" +msgstr "បាន​កែប្រែ" + +#: part/annotationpropertiesdialog.cpp:108 +#, fuzzy, kde-format +#| msgid "Note Properties" +msgid "Pop-up Note Properties" +msgstr "លក្ខណៈ​សម្បត្តិ​ចំណាំ" + +#: part/annotationpropertiesdialog.cpp:111 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgid "Typewriter Properties" +msgstr "លក្ខណៈ​សម្បត្តិ​សញ្ញា​បន្ថែម​ពាក្យ​រំលង" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "លក្ខណៈ​សម្បត្តិ​ចំណាំ​ក្នុង​តួ" + +#: part/annotationpropertiesdialog.cpp:119 +#, fuzzy, kde-format +#| msgid "Line Properties" +msgid "Straight Line Properties" +msgstr "លក្ខណៈ​សម្បត្តិ​បន្ទាត់" + +#: part/annotationpropertiesdialog.cpp:121 +#, fuzzy, kde-format +#| msgid "Sound Properties" +msgid "Polygon Properties" +msgstr "លក្ខណៈ​សម្បត្តិ​សំឡេង" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "លក្ខណៈ​សម្បត្តិ​ធរណីមាត្រ" + +#: part/annotationpropertiesdialog.cpp:128 +#, fuzzy, kde-format +#| msgid "Stamp Properties" +msgid "Text Markup Properties" +msgstr "លក្ខណៈ​សម្បត្តិ​តែម" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "លក្ខណៈ​សម្បត្តិ​តែម" + +#: part/annotationpropertiesdialog.cpp:134 +#, fuzzy, kde-format +#| msgid "Line Properties" +msgid "Freehand Line Properties" +msgstr "លក្ខណៈ​សម្បត្តិ​បន្ទាត់" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "លក្ខណៈ​សម្បត្តិ​សញ្ញា​បន្ថែម​ពាក្យ​រំលង" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "លក្ខណៈ​សម្បត្តិ​ការ​ភ្ជាប់​ឯកសារ" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "លក្ខណៈ​សម្បត្តិ​សំឡេង" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "លក្ខណៈ​សម្បត្តិ​​ភាពយន្ត" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "លក្ខណៈ​សម្បត្តិ​ចំណារ​ពន្យល់" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Put a stamp symbol" +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "ដាក់​និមិត្តសញ្ញា​តែម" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "ពណ៌ ៖" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%1 ៖" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "ភាព​ស្រអាប់ ៖" + +#: part/annotationwidgets.cpp:363 +#, fuzzy, kde-format +#| msgid "Icon" +msgid "Icon:" +msgstr "រូប​តំណាង" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "សេចក្ដី​អធិប្បាយ" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "ជំនួយ" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "បញ្ចូល" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "សោ" + +#: part/annotationwidgets.cpp:368 +#, fuzzy, kde-format +#| msgid "New Paragraph" +msgid "New paragraph" +msgstr "កថាខណ្ឌ​ថ្មី" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "ចំណាំ" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "កថាខណ្ឌ" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "ពុម្ពអក្សរ ៖" + +#: part/annotationwidgets.cpp:387 +#, fuzzy, kde-format +#| msgid "&Color:" +msgid "Text &color:" +msgstr "ពណ៌ ៖" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "" + +#: part/annotationwidgets.cpp:395 +#, fuzzy, kde-format +#| msgctxt "Rotate left" +#| msgid "Left" +msgid "Left" +msgstr "ឆ្វេង" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "" + +#: part/annotationwidgets.cpp:397 +#, fuzzy, kde-format +#| msgctxt "Rotate right" +#| msgid "Right" +msgid "Right" +msgstr "ស្ដាំ" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "បាន​អនុម័ត" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "នៅ​ដដែល" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "សម្ងាត់​" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "ផ្នែក" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "ពង្រាង" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "សាកល្បង" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "ផុត​កំណត់" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "ចុងបញ្ចប់" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "សម្រាប់​សេចក្ដី​អធិប្បាយ" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "សម្រាប់​ការ​ចេញផ្សាយ​សាធារណៈ" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "មិនបាន​អនុម័ត" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "មិន​សម្រាប់​ការ​ចេញផ្សាយ​សាធារណៈ" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "លក់" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "សម្ងាត់​បំផុត" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "ចំណាំ" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "ព័ត៌មាន" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, fuzzy, kde-format +#| msgid "Stamp Symbol" +msgid "Stamp symbol:" +msgstr "និមិត្ត​សញ្ញាតែម" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgid "&Width:" +msgstr "សម​ទទឹង" + +#: part/annotationwidgets.cpp:504 +#, fuzzy, kde-format +#| msgid "Line" +msgid "Line start:" +msgstr "បន្ទាត់" + +#: part/annotationwidgets.cpp:506 +#, fuzzy, kde-format +#| msgid "Line" +msgid "Line end:" +msgstr "បន្ទាត់" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:514 +#, fuzzy, kde-format +#| msgctxt "Symbol for caret annotations" +#| msgid "None" +msgid "None" +msgstr "គ្មាន" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "" + +#: part/annotationwidgets.cpp:531 +#, fuzzy, kde-format +#| msgid "Leader Line Length:" +msgid "Leader line length:" +msgstr "ប្រវែង​បន្ទាត់​ដឹកនាំ ៖" + +#: part/annotationwidgets.cpp:533 +#, fuzzy, kde-format +#| msgid "Leader Line Extensions Length:" +msgid "Leader line extensions length:" +msgstr "ប្រែង​ផ្នែក​បន្ថែម​បន្ទាត់​ដឹកនាំ ៖" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Shape fill:" +msgstr "រក្សាទុក​ទៅ​ឯកសារ..." + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "ប្រភេទ" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "បន្ទាត់​ឆូត" + +#: part/annotationwidgets.cpp:745 +#, fuzzy, kde-format +#| msgid "File Attachment Symbol" +msgid "File attachment symbol:" +msgstr "និមិត្មសញ្ញា​ការ​ភ្ជាប់​ឯកសារ" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "ក្រាហ្វ" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "Push Pin" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "ខ្នៀប​ក្រដាស់" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "ស្លាក" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "ឯកសារ" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "គ្មាន" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "គ្មាន​សេចក្ដី​ពិពណ៌នា​ទេ ។" + +#: part/annotationwidgets.cpp:773 +#, fuzzy, kde-format +#| msgid "Name" +msgid "Name:" +msgstr "ឈ្មោះ" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "សេចក្ដី​ពិពណ៌នា ៖" + +#: part/annotationwidgets.cpp:843 +#, fuzzy, kde-format +#| msgid "Caret Symbol" +msgid "Caret symbol:" +msgstr "និមិត្ត​សញ្ញា​បន្ថែម​ពាក្យ" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "គ្មាន" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "បិទ​ចំណាំ​នេះ" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "ជម្រើស" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"ការ​ពន្យល់​នេះ​អាច​មាន​កូដ​ LaTeX ។\n" +"ចុច​ទីនេះ ដើម្បី​បង្ហាញ ។" + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "រក​មិន​ឃើញ latex ដែល​អាច​ប្រតិបត្តិ​បាន​ទេ ។" + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "បាន​បរាជ័យ​ក្នុងកា​របង្ហាញ LaTeX" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "រក​មិន​ឃើញ​ dvipng ដែល​អាច​ប្រតិបត្តិ​បាន ។" + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "បញ្ហា​មួយ​បានកើត​ឡើង​ក្នុង​អំឡុង​ពេល​ប្រតិបត្តិ​ពាក្យ​បញ្ជា 'latex' ។" + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "បញ្ហា​មួយ​បានកើត​ឡើង​ក្នុង​អំឡុង​ពេល​ប្រតិបត្តិ​ពាក្យ​បញ្ជា 'dvipng' ។" + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"%2 ចំណាំ" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "ចំណាំ" + +#: part/bookmarklist.cpp:136 +#, fuzzy, kde-format +#| msgid "End of the document" +msgid "Show for all documents" +msgstr "ចុង​ឯកសារ" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, fuzzy, kde-format +#| msgid "S&earch:" +msgid "Search…" +msgstr "ស្វែងរក ៖" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, kde-format +msgid "Expand All" +msgstr "" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, kde-format +msgid "Collapse All" +msgstr "" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "ទៅកាន់​ចំណាំ​នេះ" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "ប្ដូរ​ឈ្មោះ​ចំណាំ" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "បើក​ឯកសារ" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "" + +#: part/certificateviewer.cpp:47 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Certificate Viewer" +msgstr "កំណត់​រចនា​សម្ព័ន្ធ​កម្មវិធី​មើល" + +#: part/certificateviewer.cpp:50 +#, fuzzy, kde-format +#| msgid "E&xport As" +msgid "Export…" +msgstr "នាំចេញ​ជា" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "ទូទៅ" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "" + +#: part/certificateviewer.cpp:159 +#, fuzzy, kde-format +#| msgid "Where do you want to save %1?" +msgid "Where do you want to save this certificate?" +msgstr "តើ​អ្នក​ចង់​រក្សាទុក​ %1 នៅ​ទីណា ?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "" + +#: part/colormodemenu.cpp:19 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "របៀប​ពណ៌ ៖" + +#: part/colormodemenu.cpp:21 +#, fuzzy, kde-format +#| msgid "Change &colors" +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "ផ្លាស់ប្ដូរ​ពណ៌" + +#: part/colormodemenu.cpp:29 +#, fuzzy, kde-format +#| msgid "Normal Icons" +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "រូបតំណាង​ធម្មតា" + +#: part/colormodemenu.cpp:41 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "បញ្ច្រាស​ពណ៌" + +#: part/colormodemenu.cpp:42 +#, fuzzy, kde-format +#| msgid "Change Paper Color" +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "ផ្លាស់ប្ដូរ​ពណ៌​ក្រដាស" + +#: part/colormodemenu.cpp:44 +#, fuzzy, kde-format +#| msgid "Change Dark & Light Colors" +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "ផ្លាស់ប្ដូរ​ពណ៌​ងងឹត និង​ពណ៌​ភ្លឺ" + +#: part/colormodemenu.cpp:46 +#, fuzzy, kde-format +#| msgid "Convert to Black & White" +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "បម្លែង​ទៅ​ជា​សខ្មៅ​" + +#: part/colormodemenu.cpp:49 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "បញ្ច្រាស​ពណ៌" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, fuzzy, kde-format +#| msgid "Reloa&d" +msgid "Red" +msgstr "ផ្ទុក​ឡើងវិញ" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, fuzzy, kde-format +#| msgid "Screen:" +msgid "Green" +msgstr "អេក្រង់ ៖" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, fuzzy, kde-format +#| msgid "Allow" +msgid "Yellow" +msgstr "អនុញ្ញាត" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "ឧបករណ៍​បន្លិច​ពណ៌​លឿង" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, fuzzy, kde-format +#| msgid "Highlight" +msgid "Green Highlighter" +msgstr "បន្លិច" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, fuzzy, kde-format +#| msgid "Insert" +msgid "Insert Text" +msgstr "បញ្ចូល" + +#: part/dlgaccessibility.cpp:38 +#, fuzzy, kde-format +#| msgid "Draw border around &Links" +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "គូរ​ស៊ុម​ជុំ​វិញ​តំណ" + +#: part/dlgaccessibility.cpp:48 +#, fuzzy, kde-format +#| msgid "Change &colors" +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "ផ្លាស់ប្ដូរ​ពណ៌" + +#: part/dlgaccessibility.cpp:54 +#, fuzzy, kde-format +#| msgid "Warning: these options can badly affect drawing speed." +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "ព្រមាន ៖ ជម្រើស​ទាំងនេះ​អាច​នឹង​ប៉ះពាល់​ដល់​ល្បឿន​ក្នុង​ការ​គូរ​យ៉ាង​ធ្ងន់ធ្ងរ ។" + +#: part/dlgaccessibility.cpp:60 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "បញ្ច្រាស​ពណ៌" + +#: part/dlgaccessibility.cpp:61 +#, fuzzy, kde-format +#| msgid "Change Paper Color" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "ផ្លាស់ប្ដូរ​ពណ៌​ក្រដាស" + +#: part/dlgaccessibility.cpp:62 +#, fuzzy, kde-format +#| msgid "Change Dark & Light Colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "ផ្លាស់ប្ដូរ​ពណ៌​ងងឹត និង​ពណ៌​ភ្លឺ" + +#: part/dlgaccessibility.cpp:63 +#, fuzzy, kde-format +#| msgid "Convert to Black & White" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "បម្លែង​ទៅ​ជា​សខ្មៅ​" + +#: part/dlgaccessibility.cpp:64 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "បញ្ច្រាស​ពណ៌" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "" + +#: part/dlgaccessibility.cpp:70 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "របៀប​ពណ៌ ៖" + +#: part/dlgaccessibility.cpp:87 +#, fuzzy, kde-format +#| msgid "Paper color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "ពណ៌​ក្រដាស ៖" + +#: part/dlgaccessibility.cpp:99 +#, fuzzy, kde-format +#| msgid "Dark color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "ពណ៌​ងងឹត ៖" + +#: part/dlgaccessibility.cpp:104 +#, fuzzy, kde-format +#| msgid "Light color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "ពណ៌​ភ្លឺ ៖" + +#: part/dlgaccessibility.cpp:119 +#, fuzzy, kde-format +#| msgid "Threshold:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "កម្រិត​ពន្លឺ ៖" + +#: part/dlgaccessibility.cpp:127 +#, fuzzy, kde-format +#| msgid "Contrast:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "កម្រិត​ពណ៌ ៖" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "" + +#: part/dlgaccessibility.cpp:165 +#, fuzzy, kde-format +#| msgid "Text to search for" +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "អត្ថបទ​ដែល​ត្រូវ​រក" + +#: part/dlgannotations.cpp:25 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "%1 ចំណារពន្យល់" + +#: part/dlgannotations.cpp:26 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "%1 ចំណារពន្យល់" + +#: part/dlgannotations.cpp:28 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "%1 ចំណារពន្យល់" + +#: part/dlgannotations.cpp:34 +#, fuzzy, kde-format +#| msgid "&Author:" +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "អ្នក​និពន្ធ ៖" + +#: part/dlgannotations.cpp:38 +#, fuzzy, kde-format +#| msgid "" +#| "Note: the information here is used only for comments and reviews. " +#| "Information inserted here will not be transmitted without your knowledge." +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"ចំណាំ ៖ ព័ត៌មាន​នៅ​ទីនេះ គឺ​ត្រូវបាន​ប្រើ​តែ​សម្រាប់​សេចក្ដី​អធិប្បាយ និង​ការ​ពិនិត្យ​ឡើងវិញ ។ ព័ត៌មាន​" +"ដែលបាន​បញ្ចូល​នៅ​ទីនេះ នឹង​មិនត្រូវបាន​បញ្ជូន​ដោយ​គ្មាន​ការ​ទទួល​ស្គាល់​របស់​អ្នក​ទេ ។" + +#: part/dlgannotations.cpp:48 +#, fuzzy, kde-format +#| msgid "Annotation improvements" +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

    Quick Annotation Tools

    " +msgstr "ការ​​ធ្វើ​ឲ្យ​​ចំណារ​ពន្យល់​ប្រសើរ​ឡើង" + +#: part/dlgeditor.cpp:28 +#, fuzzy, kde-format +#| msgctxt "@info:whatsthis" +#| msgid "" +#| "Choose the editor you want to launch when Okular wants to open a source " +#| "file." +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "ជ្រើស​កម្មវិធី​និពន្ធ ដែល​អ្នក​ចង់​បើក ពេល Okular ចង់​បើក​ឯកសារ​ប្រភព ។" + +#: part/dlgeditor.cpp:29 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Custom Text Editor" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "កម្មវិធី​និពន្ធ​អត្ថបទ​ផ្ទាល់ខ្លួន" + +#: part/dlgeditor.cpp:30 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Kate" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Kile" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "SciTE" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Emacs client" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "កម្មវិធី Emacs" + +#: part/dlgeditor.cpp:34 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Lyx client" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "ម៉ាស៊ីន​ភ្ញៀវ​​​​​​​​​​ Lyx" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "" + +#: part/dlgeditor.cpp:37 +#, fuzzy, kde-format +#| msgid "Editor:" +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "កម្មវិធី​និពន្ធ ៖" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
    \n" +"You can also put few placeholders:\n" +"
      \n" +"
    • %f - the file name
    • \n" +"
    • %l - the line of the file to be reached
    • \n" +"
    • %c - the column of the file to be reached
    • \n" +"
    \n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"កំណត់​ពាក្យ​បញ្ជា​របស់​កម្មវិធី​និពន្ធ​អត្ថបទ​ផ្ទាល់ខ្លួន​ដើម្បី​បើក ។
    \n" +"អ្នក​អាច​ដាក់​កន្លែង​ដាក់​មួយ​ចំនួន ៖\n" +"
      \n" +"
    • %f - ឈ្មោះ​ឯកសារ
    • \n" +"
    • %l - ចំនួន​បន្ទាត់​របស់​ឯកសារ
    • \n" +"
    • %c - ចំនួន​ជួរ​ឈរ​របស់​ឯកសារ
    • \n" +"
    \n" +"បើ​មិន​បាន​បញ្ជាក់ %f ដូច្នេះ​ឈ្មោះ​ឯកសារ​ត្រូវ​បាន​បន្ថែម​ទៅ​ពាក្យ​បញ្ជា​ដែល​បាន​បញ្ជាក់ ។" + +#: part/dlgeditor.cpp:63 +#, fuzzy, kde-format +#| msgid "Command:" +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "ពាក្យ​បញ្ជា ៖" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "" + +#: part/dlggeneral.cpp:37 +#, fuzzy, kde-format +#| msgid "Appearance" +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "រូបរាង" + +#: part/dlggeneral.cpp:41 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "បង្ហាញ​របារ​រមូរ" + +#: part/dlggeneral.cpp:48 +#, fuzzy, kde-format +#| msgid "Link the &thumbnails with the page" +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "ភ្ជាប់​រូបភាព​តូចៗ​ជាមួយ​ទំព័រ" + +#: part/dlggeneral.cpp:55 +#, fuzzy, kde-format +#| msgid "Show &hints and info messages" +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "បង្ហាញ​ព័ត៌មាន​ជំនួយ និង​សារ​ព័ត៌មាន" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "" + +#: part/dlggeneral.cpp:68 +#, fuzzy, kde-format +#| msgid "Display document title in title bar" +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "បង្ហាញ​ចំណង​ជើង​ឯកសារ​នៅ​ក្នុង​របារ​ចំណង​ជើង" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "" + +#: part/dlggeneral.cpp:77 +#, fuzzy, kde-format +#| msgid "Display document title in title bar" +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "បង្ហាញ​ចំណង​ជើង​ឯកសារ​នៅ​ក្នុង​របារ​ចំណង​ជើង" + +#: part/dlggeneral.cpp:92 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "ពណ៌​ផ្ទៃ​ខាង​ក្រោយ ៖" + +#: part/dlggeneral.cpp:114 +#, fuzzy, kde-format +#| msgid "Program Features" +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "លក្ខណៈ​ពិសេស​របស់​កម្មវិធី" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "" + +#: part/dlggeneral.cpp:139 +#, fuzzy, kde-format +#| msgid "&Obey DRM limitations" +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "គោរព​តាម​ដែន​កំណត់ DRM" + +#: part/dlggeneral.cpp:148 +#, fuzzy, kde-format +#| msgid "&Reload document on file change" +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "ផ្ទុក​ឯកសារ​ឡើងវិញ​នៅពេល​ផ្លាស់ប្ដូរ​ឯកសារ" + +#: part/dlggeneral.cpp:155 +#, fuzzy, kde-format +#| msgid "Show backend selection dialog" +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "បង្ហាញ​ប្រអប់​ជម្រើស​កម្មវិធី​ខាងក្រោយ" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, fuzzy, kde-format +#| msgid "Overview &columns:" +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "ជួរ​ឈរ​ទិដ្ឋភាព​ទូទៅ ៖" + +#: part/dlggeneral.cpp:220 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%1 ៖" + +#: part/dlggeneral.cpp:221 +#, fuzzy, kde-format +#| msgid "" +#| "Defines how much of the current viewing area will still be visible when " +#| "pressing the Page Up/Down keys." +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "កំណត់​​តំបន់​បង្ហាញ​បច្ចុប្បន្ន​នឹង​អាច​មើល​ឃើញ​នៅ​ពេល​ចុច​គ្រាប់ចុច​ទំព័រ​លើ/ក្រោម ។" + +#: part/dlggeneral.cpp:223 +#, fuzzy, kde-format +#| msgid "&Page Up/Down overlap:" +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "ទំព័រ​លើ/ក្រោម​ត្រួតគ្នា ៖" + +#: part/dlggeneral.cpp:228 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%1 ៖" + +#: part/dlggeneral.cpp:232 +#, fuzzy, kde-format +#| msgid "100%" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "១០០ %" + +#: part/dlggeneral.cpp:233 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "សម​ទទឹង" + +#: part/dlggeneral.cpp:234 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "សម​ទំព័រ" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "" + +#: part/dlggeneral.cpp:237 +#, fuzzy, kde-format +#| msgid "" +#| "Defines the default zoom mode for files which were never opened before.\n" +#| "For files which were opened before the previous zoom is applied." +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" +"កំណត់​របៀប​ពង្រីក​លំនាំដើម​សម្រាប់​ឯកសារ​ដែល​មិន​បាន​បើក​ពី​មុន ។\n" +"សម្រាប់​ឯកសារ​ដែល​បានបើក​ពី​មុន ការ​ពង្រីក​ពីមុន​​ត្រូវ​បាន​អនុវត្ត ។" + +#: part/dlggeneral.cpp:241 +#, fuzzy, kde-format +#| msgid "&Default Zoom:" +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "ការ​ពង្រីក​លំនាំដើម ៖" + +#: part/dlgperformance.cpp:26 +#, fuzzy, kde-format +#| msgid "Enable &transparency effects" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "អនុញ្ញាត​បែបផែន​ថ្លា" + +#: part/dlgperformance.cpp:28 +#, fuzzy, kde-format +#| msgid "CPU Usage" +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "ការ​ប្រើប្រាស់​ស៊ីភីយូ" + +#: part/dlgperformance.cpp:35 +#, fuzzy, kde-format +#| msgid "&Low" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "ទាប" + +#: part/dlgperformance.cpp:36 +#, fuzzy, kde-format +#| msgid "&Normal (default)" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "ធម្មតា (លំនាំដើម)" + +#: part/dlgperformance.cpp:37 +#, fuzzy, kde-format +#| msgid "&Aggressive" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "បំពាន" + +#: part/dlgperformance.cpp:38 +#, fuzzy, kde-format +#| msgid "&Greedy" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "&Greedy" + +#: part/dlgperformance.cpp:40 +#, fuzzy, kde-format +#| msgid "Memory Usage" +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "ការ​ប្រើប្រាស់​សតិ" + +#: part/dlgperformance.cpp:54 +#, fuzzy, kde-format +#| msgid "Enable transitions" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "បើក​ការ​ផ្លាស់ប្ដូរ" + +#: part/dlgperformance.cpp:56 +#, fuzzy, kde-format +#| msgid "Underline" +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "គូស​បន្ទាត់​ពីក្រោម" + +#: part/dlgperformance.cpp:59 +#, fuzzy, kde-format +#| msgid "Enable transitions" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "បើក​ការ​ផ្លាស់ប្ដូរ" + +#: part/dlgperformance.cpp:64 +#, fuzzy, kde-format +#| msgid "Enable transitions" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "បើក​ការ​ផ្លាស់ប្ដូរ" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "ប្រើ​សតិ​តិច​បំផុត​តាម​តែ​អាច​ធ្វើ​បាន ។ កុំ​ប្រើ​អ្វីៗ​ឡើង​វិញ ។ (សម្រាប់​ប្រព័ន្ធ​ដែល​មាន​សតិ​ទាប ។)​​​" + +#: part/dlgperformance.cpp:80 +#, fuzzy, kde-format +#| msgid "" +#| "A good compromise between memory usage and speed gain. Preload next page " +#| "and boost searches. (For systems with 256MB of memory, typically.)" +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"ស៊ី​គ្នា​ឥត​ខ្ចោះ រវាង​ការ​ប្រើប្រាស់​សតិ និង ល្បឿន​ដែល​ទទួល​បាន ។ ផ្ទុក​ទំព័រ​បន្ទាប់​ជាមុន និង ជួយ​ជ្រោមជ្រែង​" +"ក្នុង​ការ​ស្វែងរក ។ (ជាទូទៅ សម្រាប់​ប្រព័ន្ធ​ដែល​មាន​សតិ​ច្រើន​ជាង ២៥៦ មេកាបៃ ។)" + +#: part/dlgperformance.cpp:83 +#, fuzzy, kde-format +#| msgid "" +#| "Keeps everything in memory. Preload next pages. Boost searches. (For " +#| "systems with more than 512MB of memory.)" +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"រក្សា​អ្វីៗ​ទាំងអស់​នៅ​ក្នុង​សតិ ។ ផ្ទុក​ទំព័រ​បន្ទាប់​ជាមុន និង ជួយ​ជ្រោមជ្រែង​ក្នុង​ការ​ស្វែងរក ។ (សម្រាប់​ប្រព័ន្ធ​" +"ដែល​មាន​សតិ​ច្រើន​ជាង ៥១២ មេកាបៃ ។)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" +"ផ្ទុក និង​រក្សា​ទុក​អ្វី​គ្រប់យ៉ាង​ក្នុង​អង្គចងចាំ ។ ផទុក​ទំព័រទាំង​​អស់ជា​មុន ។ (នឹង​ប្រើ​​នៅ​កម្រិត​អតិបរមា ៥០% នៃ​" +"អង្គចងចាំ​សរុប​របស់​អ្នក ឬ​អង្គចងចាំ​ទំនេរ​របស់​អ្នក អ្វី​ក័​ដោយ​ដែល​ធំ)" + +#: part/dlgpresentation.cpp:38 +#, fuzzy, kde-format +#| msgctxt "Advance every %1 seconds" +#| msgid " second" +#| msgid_plural " seconds" +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] " វិនាទី" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "" + +#: part/dlgpresentation.cpp:53 +#, fuzzy, kde-format +#| msgid "Loop after last page" +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "រង្វិល​ជុំ​បន្ទាប់​ពី​ទំព័រ​មុន" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "" + +#: part/dlgpresentation.cpp:63 +#, fuzzy, kde-format +#| msgid "Navigation" +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "ការ​រុករក" + +#: part/dlgpresentation.cpp:72 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "ពណ៌​ផ្ទៃ​ខាង​ក្រោយ ៖" + +#: part/dlgpresentation.cpp:76 +#, fuzzy, kde-format +#| msgid "Hidden After Delay" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "លាក់​បន្ទាប់​ពី​ពន្យារពេល" + +#: part/dlgpresentation.cpp:77 +#, fuzzy, kde-format +#| msgid "Always Visible" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "មើល​ឃើញ​ជានិច្ច" + +#: part/dlgpresentation.cpp:78 +#, fuzzy, kde-format +#| msgid "Always Hidden" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "លាក់​ជានិច្ច" + +#: part/dlgpresentation.cpp:80 +#, fuzzy, kde-format +#| msgid "Mouse cursor:" +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "ទស្សន៍​ទ្រនិច​កណ្ដុរ ៖" + +#: part/dlgpresentation.cpp:84 +#, fuzzy, kde-format +#| msgid "Show &progress indicator" +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "បង្ហាញ​ទ្រនិច​វឌ្ឍនភាព" + +#: part/dlgpresentation.cpp:90 +#, fuzzy, kde-format +#| msgid "Show s&ummary page" +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "បង្ហាញ​ទំព័រ​សង្ខេប" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "" + +#: part/dlgpresentation.cpp:101 +#, fuzzy, kde-format +#| msgid "Replace" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "ជំនួស" + +#: part/dlgpresentation.cpp:102 +#, fuzzy, kde-format +#| msgid "Random Transition" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "ដំណើរ​ផ្លាស់ប្ដូរ​ចៃដន្យ" + +#: part/dlgpresentation.cpp:103 +#, fuzzy, kde-format +#| msgid "Blinds Vertical" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "លារ​បញ្ឈរ" + +#: part/dlgpresentation.cpp:104 +#, fuzzy, kde-format +#| msgid "Blinds Horizontal" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "លារ​ផ្ដេក" + +#: part/dlgpresentation.cpp:105 +#, fuzzy, kde-format +#| msgid "Box In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "ប្រអប់​ចូល" + +#: part/dlgpresentation.cpp:106 +#, fuzzy, kde-format +#| msgid "Box Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "ប្រអប់​ចេញ" + +#: part/dlgpresentation.cpp:107 +#, fuzzy, kde-format +#| msgid "Dissolve" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "រំលាយ" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "" + +#: part/dlgpresentation.cpp:109 +#, fuzzy, kde-format +#| msgid "Glitter Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "ជះ​ចុះ​ក្រោម" + +#: part/dlgpresentation.cpp:110 +#, fuzzy, kde-format +#| msgid "Glitter Right" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "ជះ​ទៅ​ស្ដាំ" + +#: part/dlgpresentation.cpp:111 +#, fuzzy, kde-format +#| msgid "Glitter Right-Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "ជះ​ទៅ​ស្ដាំ ចុះ​ក្រោម" + +#: part/dlgpresentation.cpp:112 +#, fuzzy, kde-format +#| msgid "Split Horizontal In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "ពុះ​ផ្ដេក​ក្នុង" + +#: part/dlgpresentation.cpp:113 +#, fuzzy, kde-format +#| msgid "Split Horizontal Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "ពុះ​ផ្ដេក​ក្រៅ" + +#: part/dlgpresentation.cpp:114 +#, fuzzy, kde-format +#| msgid "Split Vertical In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "ពុះ​បញ្ឈរ​ក្នុង" + +#: part/dlgpresentation.cpp:115 +#, fuzzy, kde-format +#| msgid "Split Vertical Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "ពុះ​បញ្ឈរ​ក្រៅ" + +#: part/dlgpresentation.cpp:116 +#, fuzzy, kde-format +#| msgid "Wipe Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "លុប​ចុះ​ក្រោម" + +#: part/dlgpresentation.cpp:117 +#, fuzzy, kde-format +#| msgid "Wipe Right" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "លុប​ទៅ​ស្ដាំ" + +#: part/dlgpresentation.cpp:118 +#, fuzzy, kde-format +#| msgid "Wipe Left" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "លុប​ទៅ​ឆ្វេង" + +#: part/dlgpresentation.cpp:119 +#, fuzzy, kde-format +#| msgid "Wipe Up" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "លុប​ឡើង​លើ" + +#: part/dlgpresentation.cpp:121 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "ដំណើរការ​ផ្លាស់ប្ដូរ​លំនាំដើម ៖" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

    Drawing Tools

    " +msgstr "" + +#: part/dlgpresentation.cpp:171 +#, fuzzy, kde-format +#| msgctxt "@label:listbox The current screen, for the presentation mode" +#| msgid "Current Screen" +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "អេក្រង់​បច្ចុប្បន្ន" + +#: part/dlgpresentation.cpp:172 +#, fuzzy, kde-format +#| msgctxt "@label:listbox The default screen for the presentation mode" +#| msgid "Default Screen" +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "ដំណើរការ​ផ្លាស់ប្ដូរ​លំនាំដើម ៖" + +#: part/dlgpresentation.cpp:178 +#, fuzzy, kde-format +#| msgctxt "@label:listbox %1 is the screen number (0, 1, ...)" +#| msgid "Screen %1" +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "មិន​អាច​បើក %1 បាន​ឡើយ" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, fuzzy, kde-format +#| msgid "Erase Drawings" +msgid "Eraser" +msgstr "លុប​គំនូរ" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, fuzzy, kde-format +#| msgid "Name" +msgid "&Name:" +msgstr "ឈ្មោះ" + +#: part/editannottooldialog.cpp:69 +#, fuzzy, kde-format +#| msgid "Type:" +msgid "&Type:" +msgstr "ប្រភេទ" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "រូបរាង" + +#: part/editannottooldialog.cpp:93 +#, fuzzy, kde-format +#| msgid "Next Bookmark" +msgid "Text markup" +msgstr "ចំណាំ​បន្ទាប់" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "" + +#: part/editannottooldialog.cpp:101 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Create annotation tool" +msgstr "ការ​បង្ហាញ" + +#: part/editannottooldialog.cpp:103 +#, fuzzy, kde-format +#| msgid "Annotation improvements" +msgid "Edit annotation tool" +msgstr "ការ​​ធ្វើ​ឲ្យ​​ចំណារ​ពន្យល់​ប្រសើរ​ឡើង" + +#: part/editdrawingtooldialog.cpp:51 +#, fuzzy, kde-format +#| msgid "&Color:" +msgid "Color:" +msgstr "ពណ៌ ៖" + +#: part/editdrawingtooldialog.cpp:58 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgid "&Pen Width:" +msgstr "សម​ទទឹង" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "" + +#: part/editdrawingtooldialog.cpp:79 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Create drawing tool" +msgstr "ការ​បង្ហាញ" + +#: part/editdrawingtooldialog.cpp:84 +#, fuzzy, kde-format +#| msgid "Annotation improvements" +msgid "Edit drawing tool" +msgstr "ការ​​ធ្វើ​ឲ្យ​​ចំណារ​ពន្យល់​ប្រសើរ​ឡើង" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "មិន​ស្គាល់" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "ឯកសារ​ដែល​បាន​បង្កប់" + +#: part/embeddedfilesdialog.cpp:62 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:button" +msgid "View" +msgstr "មើល" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "ឈ្មោះ" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "សេចក្ដី​ពិពណ៌នា" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "ទំហំ" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "បាន​បង្កើត" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "បាន​កែប្រែ" + +#: part/embeddedfilesdialog.cpp:154 +#, fuzzy, kde-format +#| msgctxt "@action:inmenu" +#| msgid "&Save As..." +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "រក្សាទុក​ជា..." + +#: part/embeddedfilesdialog.cpp:155 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "មើល" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "មិនអាច​ផ្ទុក​ផ្នែក​មើល​មុន​បោះពុម្ព​បានទេ" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "មើលមុន​បោះពុម្ព" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "បិទ" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "រក ៖" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "អត្ថបទ​ដែល​ត្រូវ​រក" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "បន្ទាប់" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "ទៅកាន់​ដំណូច​បន្ទាប់" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "មុន" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "លោត​ទៅ​ដំណូច​ពីមុន" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "កែប្រែ​ឥរិយាបទ​ស្វែងរក" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "ប្រកាន់​តួ​អក្សរ​តូច​ធំ" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "ពី​ទំព័រ​បច្ចុប្បន្ន" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "" + +#: part/formwidgets.cpp:870 +#, fuzzy, kde-format +#| msgid "*|All Files" +msgid "All Files (*)" +msgstr "*|ឯកសារ​ទាំងអស់" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgid "Signature Properties" +msgstr "លក្ខណៈ​សម្បត្តិ​សញ្ញា​បន្ថែម​ពាក្យ​រំលង" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "ជម្រើស​ស្វែងរក" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "ប្រកាន់​តួ​អក្សរ​តូច​ធំ" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "កន្សោម​ធម្មតា" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "នៃ" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "ពង្រីក" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "បង្វិល​ទៅ​ស្ដាំ" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "ស្ដាំ" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "បង្វិលទៅ​ឆ្វេង" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "ឆ្វេង" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "ទិស​ដើម" + +#: part/pageview.cpp:546 +#, fuzzy, kde-format +#| msgid "&View" +msgid "&Trim View" +msgstr "មើល" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "ស៊ុម​ស៊ុម" + +#: part/pageview.cpp:557 +#, fuzzy, kde-format +#| msgctxt "Text Selection Tool" +#| msgid "Text Selection" +msgid "Trim To &Selection" +msgstr "ជម្រើស​អត្ថបទ" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "សម​ទទឹង" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "សម​ទំព័រ" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "" + +#: part/pageview.cpp:575 +#, fuzzy, kde-format +#| msgid "Fit &Page" +msgid "Fit Wi&ndow to Page" +msgstr "សម​ទំព័រ" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "របៀប​មើល" + +#: part/pageview.cpp:594 +#, fuzzy, kde-format +#| msgid "Single Page" +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "ទំព័រ​តែ​មួយ" + +#: part/pageview.cpp:595 +#, fuzzy, kde-format +#| msgid "Facing Pages" +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "ទំព័រ​ទល់មុខគ្នា" + +#: part/pageview.cpp:596 +#, fuzzy, kde-format +#| msgid "Facing Pages (Center First Page)" +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "ទំព័រ​ឆ្លុះ (កណ្ដាល​ទំព័រ​ដំបូង)" + +#: part/pageview.cpp:599 +#, fuzzy, kde-format +#| msgid "Overview" +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "ទិដ្ឋភាព​ទូទៅ" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "តគ្នា" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "" + +#: part/pageview.cpp:627 +#, fuzzy, kde-format +#| msgctxt "Browse Tool" +#| msgid "Browse" +msgid "&Browse" +msgstr "រុករក" + +#: part/pageview.cpp:635 +#, fuzzy, kde-format +#| msgid "Zoom" +msgid "&Zoom" +msgstr "ពង្រីក" + +#: part/pageview.cpp:655 +#, fuzzy, kde-format +#| msgctxt "Text Selection Tool" +#| msgid "Text Selection" +msgid "Area &Selection" +msgstr "ជម្រើស​អត្ថបទ" + +#: part/pageview.cpp:662 +#, fuzzy, kde-format +#| msgctxt "Text Selection Tool" +#| msgid "Text Selection" +msgid "&Text Selection" +msgstr "ជម្រើស​អត្ថបទ" + +#: part/pageview.cpp:669 +#, fuzzy, kde-format +#| msgctxt "Table Selection Tool" +#| msgid "Table Selection" +msgid "T&able Selection" +msgstr "ការ​ជ្រើស​តារាង" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "" + +#: part/pageview.cpp:685 +#, fuzzy, kde-format +#| msgid "Selection Tools" +msgctxt "@action" +msgid "Selection Tools" +msgstr "ឧបករណ៍​ជម្រើស" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "និយាយ​ឯកសារ​ទាំងមូល" + +#: part/pageview.cpp:722 +#, fuzzy, kde-format +#| msgid "Speak Current Page" +msgid "Speak From Current Page" +msgstr "និយាយ​ទំព័រ​បច្ចុប្បន្ន" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "និយាយ​ទំព័រ​បច្ចុប្បន្ន" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "ឈប់​និយាយ" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "រមូរ​ឡើង​លើ" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "រមូរ​ចុះ​ក្រោម" + +#: part/pageview.cpp:761 +#, fuzzy, kde-format +#| msgid "Scroll Up" +msgid "Scroll Page Up" +msgstr "រមូរ​ឡើង​លើ" + +#: part/pageview.cpp:767 +#, fuzzy, kde-format +#| msgid "Scroll Down" +msgid "Scroll Page Down" +msgstr "រមូរ​ចុះ​ក្រោម" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "បង្ហាញ​សំណុំបែបបទ" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] "បាន​ផ្ទុក​ឯកសារ​ដែល​មាន %1 ទំព័រ ។" + +#: part/pageview.cpp:2526 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Table Contents to Clipboard" +msgstr "ចម្លង​ទៅ​ក្ដារ​តម្បៀត​ខ្ទាស់" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "អត្ថបទ (%1 តួអក្សរ)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "ចម្លង​ទៅ​ក្ដារ​តម្បៀត​ខ្ទាស់" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "អាន​អត្ថបទ" + +#: part/pageview.cpp:2863 +#, fuzzy, kde-format +#| msgid "Image (%1 by %2 pixels)" +msgid "Image (%1 × %2 pixels)" +msgstr "រូបភាព (%1x%2 ភីកសែល)" + +#: part/pageview.cpp:2865 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save to File…" +msgstr "រក្សាទុក​ទៅ​ឯកសារ..." + +#: part/pageview.cpp:2885 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] copied to clipboard." +msgid "Image [%1 × %2] copied to clipboard." +msgstr "បាន​ចម្លង​រូបភាព [%1x%2] ទៅ​ក្ដារ​តម្បៀត​ខ្ទាស់ ។" + +#: part/pageview.cpp:2888 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save file" +msgstr "រក្សាទុក​ទៅ​ឯកសារ..." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "ឯកសារ​មិន​ត្រូវ​បាន​រក្សាទុក​ឡើយ ។" + +#: part/pageview.cpp:2901 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] saved to %3 file." +msgid "Image [%1 × %2] saved to %3 file." +msgstr "បាន​រក្សាទុក​រូបភាព [%1x%2] ទៅ​កាន់​ឯកសារ %3 ។" + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "ចម្លង​អត្ថបទ" + +#: part/pageview.cpp:3062 +#, fuzzy, kde-format +#| msgid "Go to page %1" +msgid "Go to '%1'" +msgstr "ទៅកាន់​ទំព័រ %1" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "សម​ទទឹង" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "សម​ទំព័រ" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "" + +#: part/pageview.cpp:4107 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1 ៖" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "ស្វែងរក '%1' ដោយ" + +#: part/pageview.cpp:4404 +#, fuzzy, kde-format +#| msgid "Configure Web Shortcuts..." +msgid "Configure Web Shortcuts…" +msgstr "កំណត់​រចនាសម្ព័ន្ធ​ផ្លូវកាត់​បណ្ដាញ..." + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "តាម​តំណ​នេះ" + +#: part/pageview.cpp:4433 +#, fuzzy, kde-format +#| msgid "Play sound..." +msgid "Play this Sound" +msgstr "ចាក់​សំឡេង..." + +#: part/pageview.cpp:4435 +#, fuzzy, kde-format +#| msgid "Sound" +msgid "Stop Sound" +msgstr "សំឡេង" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "ចម្លង​អាសយដ្ឋាន​តំណ" + +#: part/pageview.cpp:4462 +#, fuzzy, kde-format +#| msgid "Search for '%1' with" +msgid "Search for '%1' in this document" +msgstr "ស្វែងរក '%1' ដោយ" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "សូម​ស្វាគមន៍" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "ជ្រើស​តំបន់​ពង្រីក ។ ចុច​កណ្ដុរ​ស្ដាំ ដើម្បី​បង្រួម ។​" + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "" + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "គូរ​ចតុកោណកែង​​ជុំ​វិញ​អត្ថបទ/​ក្រាហ្វិក ដើម្បី​ចម្លង ។" + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "ជ្រើស​អត្ថបទ" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" +"គូរ​ចតុកោណកែង​​ជុំ​វិញតារាង បន្ទាប់​មក​ចុច​នៅជិត​គែម ដើម្បី​បែងចែក ចុច​ គេច (Esc) ដើម្បី​សម្អាត ។" + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" + +#: part/pageview.cpp:5188 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "No valid certificates" +msgstr "កំណត់​រចនា​សម្ព័ន្ធ​កម្មវិធី​មើល" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Open Certificate Manager" +msgstr "កំណត់​រចនា​សម្ព័ន្ធ​កម្មវិធី​មើល" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
    Launch Certificate Manager " +"to import or manage certificates
    For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "No certificates found" +msgstr "កំណត់​រចនា​សម្ព័ន្ធ​កម្មវិធី​មើល" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
    For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "" + +#: part/pageview.cpp:5405 +#, fuzzy, kde-format +#| msgid "Draw a rectangle around the text/graphics to copy." +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "គូរ​ចតុកោណកែង​​ជុំ​វិញ​អត្ថបទ/​ក្រាហ្វិក ដើម្បី​ចម្លង ។" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "ចំណាំ​អត្ថបទ​ថ្មី" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "អត្ថបទ​នៃ​ចំណាំ​ថ្មី ៖" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgid "Author" +msgid "Author name" +msgstr "អ្នក​និពន្ធ" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Author name for the annotation:" +msgstr "%1 ចំណារពន្យល់" + +#: part/pageviewannotator.cpp:1390 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Inline Text Annotation (drag to select a zone)" +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "ចំណារ​អត្ថបទ​ក្នុង​តួរ (អូស​ដើម្បី​ជ្រើស​តំបន់)" + +#: part/pageviewannotator.cpp:1392 +#, fuzzy, kde-format +#| msgid "Highlight" +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "បន្លិច" + +#: part/pageviewannotator.cpp:1394 +#, fuzzy, kde-format +#| msgid "Green Freehand Line" +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "បន្ទាត់​សេរី​ពណ៌​បៃតង" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "ចំណារ​អត្ថបទ​ក្នុង​តួរ (អូស​ដើម្បី​ជ្រើស​តំបន់)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "គូរ​ពហុកោណ (ចុច​​លើ​ចំណុច​ដំបូង​ដើម្បី​បិទ​វា)" + +#: part/pageviewannotator.cpp:1402 +#, fuzzy, kde-format +#| msgid "Rectangle" +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "ចតុកោណ​កែង" + +#: part/pageviewannotator.cpp:1404 +#, fuzzy, kde-format +#| msgid "Squiggly" +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "គូស​វាស" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "ដាក់​និមិត្តសញ្ញា​តែម" + +#: part/pageviewannotator.cpp:1408 +#, fuzzy, kde-format +#| msgid "Straight Yellow Line" +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "បន្ទាត់​ត្រង់​ពណ៌​លឿង" + +#: part/pageviewannotator.cpp:1410 +#, fuzzy, kde-format +#| msgid "Strike out" +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "បន្ទាត់​ឆូត" + +#: part/pageviewannotator.cpp:1412 +#, fuzzy, kde-format +#| msgid "Underline" +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "គូស​បន្ទាត់​ពីក្រោម" + +#: part/pageviewannotator.cpp:1414 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Inline Text Annotation (drag to select a zone)" +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "ចំណារ​អត្ថបទ​ក្នុង​តួរ (អូស​ដើម្បី​ជ្រើស​តំបន់)" + +#: part/pageviewannotator.cpp:1473 +#, fuzzy, kde-format +#| msgid "Highlight" +msgid "Highlighter" +msgstr "បន្លិច" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Add favorite annotation" +msgstr "%1 ចំណារពន្យល់" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Custom annotation name:" +msgstr "%1 ចំណារពន្យល់" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "ឯកសារ" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "ការកំណត់" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "ជំនួយ" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "ទិស" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "ចំណាំ" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "របារឧបករណ៍​កម្មវិធី​មើល" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "រូបភាព​តូចៗ" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotations" +msgstr "%1 ចំណារពន្យល់" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
    Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"ឯកសារ​នេះ​បាន​បង្កប់​ឯកសារ ។ ចុច​ទីនេះ​ដើម្បី​មើល​ពួកវា ឬ​ទៅកាន់ ឯកសារ -> ឯកសារ​បង្កប់ ។" + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "មុន" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "ត្រឡប់​ទៅ​ទំព័រ​មុន​វិញ" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "ផ្លាស់ទី​ទៅ​ទំព័រ​មុន​នៃ​ឯកសារ" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "បន្ទាប់" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "ទៅកាន់​ទំព័រ​បន្ទាប់" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "ផ្លាស់ទីទៅ​ទំព័រ​បន្ទាប់​នៃ​ឯកសារ" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "ដើម​ឯកសារ" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "ផ្លាស់ទី​ទៅ​ដើម​ឯកសារ" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "ចុង​ឯកសារ" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "ផ្លាស់ទី​ទៅ​ចុង​​ឯកសារ" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "ប្ដូរ​ឈ្មោះ​ចំណាំ​បច្ចុប្បន្ន" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "ចំណាំ​មុន" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "ទៅ​ទំព័រ​ដែល​បាន​ចំណាំ​មុន" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "ចំណាំ​បន្ទាប់" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "ទៅ​ទំព័រ​ដែលបាន​ចំណាំ​បន្ទាប់" + +#: part/part.cpp:748 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgid "Configure Okular…" +msgstr "កំណត់​រចនា​សម្ព័ន្ធ Okular..." + +#: part/part.cpp:751 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Configure Viewer…" +msgstr "កំណត់​រចនា​សម្ព័ន្ធ​កម្មវិធី​មើល" + +#: part/part.cpp:757 +#, fuzzy, kde-format +#| msgid "Configure Viewer Backends" +msgid "Configure Viewer Backends…" +msgstr "កំណត់​រចនាសម្ព័នធ​កម្មវិធី​ផ្នែក​ខា​ងក្រោយ​នៃ​កម្មវិធីមើល" + +#: part/part.cpp:759 +#, fuzzy, kde-format +#| msgid "Configure Backends" +msgid "Configure Backends…" +msgstr "កំណត់​រចនា​សម្ព័ន្ធ​កម្មវិធី​ខាងក្រោយ" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "អំពី​កម្មវិធី​ខាងក្រោយ" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "ផ្ទុក​ឡើងវិញ" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "ផ្ទុក​ឯកសារ​បច្ចុប្បន្ន​ពី​ថាស​ឡើងវិញ ។" + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "បិទ​របារ​ស្វែងរក" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "ទំហំ​ទំព័រ" + +#: part/part.cpp:817 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "កំណត់​រចនា​សម្ព័ន្ធ Okular..." + +#: part/part.cpp:858 +#, fuzzy, kde-format +#| msgid "Speak Current Page" +msgid "Select All Text on Current Page" +msgstr "និយាយ​ទំព័រ​បច្ចុប្បន្ន" + +#: part/part.cpp:871 +#, fuzzy, kde-format +#| msgid "Show &Page Bar" +msgid "Show S&idebar" +msgstr "បង្ហាញ​របារ​ទំព័រ" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "បង្ហាញ​របារ​ទំព័រ" + +#: part/part.cpp:886 +#, fuzzy, kde-format +#| msgid "Show &Navigation Panel" +msgid "Show &Signatures Panel" +msgstr "បង្ហាញ​បន្ទះ​រុករក" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "ឯកសារ​បង្កប់" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "នាំចេញ​ជា" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "ការ​បង្ហាញ" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "" + +#: part/part.cpp:945 +#, fuzzy, kde-format +#| msgid "&Import PostScript as PDF..." +msgid "&Import PostScript as PDF…" +msgstr "នាំចូល Postscript ជា PDF..." + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "ប្ដូរ​របៀប​អេក្រង់​ពណ៌ខ្មៅ" + +#: part/part.cpp:957 +#, fuzzy, kde-format +#| msgid "Erase Drawings" +msgid "Erase Drawing" +msgstr "លុប​គំនូរ" + +#: part/part.cpp:962 +#, fuzzy, kde-format +#| msgid "Configure Backends..." +msgid "Configure Annotations…" +msgstr "កំណត់​រចនា​សម្ព័ន្ធ​កម្មវិធី​ខាងក្រោយ..." + +#: part/part.cpp:967 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Play/Pause Presentation" +msgstr "ការ​បង្ហាញ" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" + +#: part/part.cpp:1123 +#, fuzzy, kde-format +#| msgctxt "A document format, Okular-specific" +#| msgid "Document Archive" +msgid "Document can't be saved" +msgstr "ប័ណ្ណសារ​ឯកសារ" + +#: part/part.cpp:1152 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not open '%1' (%2) " +msgstr "មិន​អាច​បើក %1 បាន​ឡើយ" + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "ការ​​ផ្ទុក %1 ត្រូវ​បានបោះបង់ ។" + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "មិនអាច​បើក %1 បានទេ ។ មូលហេតុ ៖ %2" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "កំណត់​រចនាសម្ព័នធ​កម្មវិធី​ផ្នែក​ខា​ងក្រោយ​នៃ​កម្មវិធីមើល" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "កំណត់​រចនា​សម្ព័ន្ធ​កម្មវិធី​ខាងក្រោយ" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"រក​កម្មវិធី \"ps2pdf\" មិនឃើញ​ទេ ដូច្នេះ Okular មិនអាច​នាំចូល​ឯកសារ PS ដោយប្រើ​វា​បានទេ ។" + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "រក​មិនឃើញ ps2pdf" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "" + +#: part/part.cpp:1357 +#, fuzzy, kde-format +#| msgid "Importing PS file as PDF (this may take a while)..." +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "កំពុង​នាំចូល​ឯកសារ PS ជា PDF (ចំណាយពេល​បន្តិច)..." + +#: part/part.cpp:1489 +#, fuzzy, kde-format +#| msgid "Moves to the end of the document" +msgid "Please enter the password to read the document:" +msgstr "ផ្លាស់ទី​ទៅ​ចុង​​ឯកសារ" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "" + +#: part/part.cpp:1502 +#, fuzzy, kde-format +#| msgctxt "A document format, Okular-specific" +#| msgid "Document Archive" +msgid "Document Password" +msgstr "ប័ណ្ណសារ​ឯកសារ" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"ឯកសារ​នេះ​មាន​សំណុំបែបបទ ។ ចុច​លើ​ប៊ូតុង​ដើម្បី​ធ្វើ​អន្តរកម្ម​ជាមួយ​ពួកវា ឬ​ប្រើ ទិដ្ឋភាព -> បង្ហាញ​" +"សំណុំបែបបទ ។" + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "" + +#: part/part.cpp:1739 +#, fuzzy, kde-format +#| msgid "Exit Presentation Mode" +msgid "Enter Presentation Mode" +msgstr "ចេញ​ពី​របៀប​បង្ហាញ" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "" + +#: part/part.cpp:1830 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not open %1. %2" +msgstr "មិន​អាច​បើក %1 បាន​ឡើយ" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "" + +#: part/part.cpp:1865 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue Reloading" +msgstr "តគ្នា" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" + +#: part/part.cpp:1875 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue Closing" +msgstr "តគ្នា" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "" + +#: part/part.cpp:1883 +#, fuzzy, kde-format +#| msgid "Do you want to save your annotation changes or discard them?" +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "តើ​អ្នក​ចង់​រក្សាទុក​ការ​ផ្លាស់ប្ដូរ​ការ​ពន្យល់ ឬ​បោះបង់​ពួក​វា ?" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "បិទ​​ឯកសារ" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "តំណ​នេះ​ចង្អុល​ទៅ​អំពើបិទ​ឯកសារ ដែល​មិន​ដំណើរការពេល​ប្រើ​កម្មវិធី​បង្កប់ ។" + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "តំណ​នេះ​ចង្អុល​ទៅ​អំពើចេញ​ពី​កម្មវិធី ដែល​មិន​ដំណើរការ​ឡើយ ពេល​ប្រើ​កម្មវិធី​បង្កប់ ។" + +#: part/part.cpp:2113 part/part.cpp:2131 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Reloading the document…" +msgstr "កំពុង​ផ្ទុក​ឯកសារ​ឡើង​វិញ..." + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "មាតិកា" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "ទៅ​ទំព័រ" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "ទំព័រ ៖" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "បញ្ចូល​ឈ្មោះ​ថ្មី​សម្រាប់​ចំណាំ ៖" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "ប្ដូរ​ឈ្មោះ​ចំណាំ​នេះ" + +#: part/part.cpp:2509 +#, fuzzy, kde-format +#| msgid "Rename this Bookmark" +msgid "Remove this Bookmark" +msgstr "ប្ដូរ​ឈ្មោះ​ចំណាំ​នេះ" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, fuzzy, kde-format +#| msgctxt "@action:inmenu" +#| msgid "&Save As..." +msgid "Save As" +msgstr "រក្សាទុក​ជា..." + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" + +#: part/part.cpp:2621 +#, fuzzy, kde-format +#| msgid "Line Extensions" +msgid "Unsupported extension" +msgstr "ផ្នែក​បន្ថែម​បន្ទាត់" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
    In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "មិនអាច​បើក​រក្សាទុក​ឯកសារ​បណ្ដោះអាសន្ន​បាន​ទេ ។" + +#: part/part.cpp:2726 +#, fuzzy, kde-kuit-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "មិន​អាច​រក្សាទុក​ឯកសារ​ក្នុង '%1' បាន​ឡើយ ។ សូម​ព្យាយាម​រក្សាទុក​វា​នៅ​ទីតាំង​មួយ​ទៀត ។" + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "មិន​អាច​រក្សាទុក​ឯកសារ​ក្នុង '%1' បាន​ឡើយ ។ សូម​ព្យាយាម​រក្សាទុក​វា​នៅ​ទីតាំង​មួយ​ទៀត ។" + +#: part/part.cpp:2766 +#, fuzzy, kde-format +#| msgid "Annotation improvements" +msgid "Filled form contents" +msgstr "ការ​​ធ្វើ​ឲ្យ​​ចំណារ​ពន្យល់​ប្រសើរ​ឡើង" + +#: part/part.cpp:2769 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "User annotations" +msgstr "ការ​បង្ហាញ" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" + +#: part/part.cpp:2796 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue" +msgstr "តគ្នា" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "ឯកសារ​មិនអាច​ត្រូវបាន​រក្សាទុក​ក្នុង '%1'. %2 បាន​ទេ" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"Okular មិន​អាច​ចម្លង %1 ទៅ​ទីតាំង​ដែល​បាន​បញ្ជាក់ ។\n" +"\n" +"លែង​មាន​ឯកសារ​ទៀត​ហើយ ។" + +#: part/part.cpp:2899 +#, fuzzy, kde-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "មិន​អាច​រក្សាទុក​ឯកសារ​ក្នុង '%1' បាន​ឡើយ ។ សូម​ព្យាយាម​រក្សាទុក​វា​នៅ​ទីតាំង​មួយ​ទៀត ។" + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "End Presentation" +msgid "Expand Whole Section" +msgstr "បញ្ចប់​ការ​បង្ហាញ" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "End Presentation" +msgid "Collapse Whole Section" +msgstr "បញ្ចប់​ការ​បង្ហាញ" + +#: part/part.cpp:3172 +#, fuzzy, kde-format +#| msgid "Link the &thumbnails with the page" +msgid "Sync Thumbnail with Page" +msgstr "ភ្ជាប់​រូបភាព​តូចៗ​ជាមួយ​ទំព័រ" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "ឧបករណ៍" + +#: part/part.cpp:3381 +#, fuzzy, kde-format +#| msgid "Speak Text" +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "អាន​អត្ថបទ" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "មិន​អនុញ្ញាត​ឲ្យ​បោះពុម្ព​ឯកសារ​នេះ​ឡើយ ។" + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "មិនអាច​​បោះពុម្ព​ឯកសារ​បានទេ ។ មិនស្គាល់​កំហុស ។ សូម​រាយការណ៍​កំហុស​នៅ bugs.kde.org" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "មិនអាច​បោះពុម្ព​ឯកសារ​បាន​ទេ ។ កំហុស​លម្អិត​គឺ \"%1\" ។ សូម​រាយការណ៍​កំហុស​នៅbugs.kde.org" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "ទៅ​កន្លែង​ដែល​អ្នក​ស្ថិត​នៅ​កាល​ពី​ពេល​មុន" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "ទៅ​កន្លែង​ដែល​អ្នក​ស្ថិត​នៅ​កាល​ពី​ពេល​បន្ទាប់" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"កំហុស​ឯកសារ ! មិនអាច​បង្កើត​ឯកសារ​បណ្ដោះអាសន្ន %1 បានឡើយ ។" + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"កំហុស​ឯកសារ ! មិនអាច​បើក​ឯកសារ %1 សម្រាប់​ពន្លា​បានទេ ។ ឯកសារ​នឹងមិនត្រូវ​បាន​ផ្ទុក​ឡើយ ។" + +#: part/part.cpp:3751 +#, fuzzy, kde-format +#| msgid "" +#| "This error typically occurs if you do not have enough permissions to " +#| "read the file. You can check ownership and permissions if you right-click " +#| "on the file in the Dolphin file manager and then choose the 'Properties' " +#| "tab." +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"ជា​ធម្មតា កំហុស​នេះ​កើតឡើង​នៅពេល​ដែល​អ្នក​មិនមាន​សិទ្ធិ​គ្រប់គ្រាន់​ក្នុងការ​អាន​ឯកសារ ។ អ្នកអាច​ពិនិត្យ​" +"មើល​សិទ្ធិ ដោយ​ចុច​កណ្ដុរ​ស្ដាំ​លើ​ឯកសារ​នៅ​ក្នុង​កម្មវិធី​គ្រប់គ្រង​ឯកសារ Dolphin ហើយ​បន្ទាប់មក​ជ្រើស​ផ្ទាំង " +"'លក្ខណៈ​សម្បត្តិ' ។" + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded.
    " +msgstr "" +"កំហុស​ឯកសារ ! មិនអាចពន្លា​ឯកសារ %1 បានទេ ។ ឯកសារ​នឹង​មិនត្រូវបាន​ផ្ទុក​ទេ ។" + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"ជា​ធម្មតា កំហុស​នេះ​កើតឡើង​នៅពេល​ដែល​ឯកសារ​ខូច ។ ប្រសិន​បើ​អ្នក​ចង់ឲ្យ​ប្រាកដ សូម​ព្យាយាម​ពន្លា​" +"ឯកសារ​ដោយដៃ ដោយប្រើឧបករណ៍​បន្ទាត់​ពាក្យ​បញ្ជា ។" + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "គ្មាន​ចំណាំ" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "កែសម្រួល" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "មើល" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "ទៅ" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "ឧបករណ៍" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "របារ​ឧបករណ៍​មេ" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation Toolbar" +msgstr "%1 ចំណារពន្យល់" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Quick Annotation Toolbar" +msgstr "%1 ចំណារពន្យល់" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "ជម្រើស​ទូទៅ" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "មធ្យោបាយ​ងាយស្រួល" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "ជំនួយ​​មធ្យោបាយ​ងាយស្រួល​ក្នុង​ការ​អាន" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "ដំណើរការ" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "ការ​លៃតម្រូវ​ដំណើរការ" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "កំណត់​រចនា​សម្ព័ន្ធ​កម្មវិធី​មើល" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "ការ​បង្ហាញ" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "ជម្រើស​សម្រាប់​របៀប​បង្ហាញ" + +#: part/preferencesdialog.cpp:50 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgid "Annotation Options" +msgstr "លក្ខណៈ​សម្បត្តិ​ចំណារ​ពន្យល់" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "កម្មវិធី​និពន្ធ" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "ជម្រើស​កម្មវិធី​និពន្ធ" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "រក​បន្ទាប់" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 – ការ​បង្ហាញ" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "ប្ដូរ​អេក្រង់" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "មិន​អាច​បើក %1 បាន​ឡើយ" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "ចេញ​ពី​របៀប​បង្ហាញ" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "ចំណងជើង ៖ %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "ទំព័រ ៖ %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "ចុច ដើម្បី​ចាប់ផ្ដើម" + +#: part/presentationwidget.cpp:521 +#, fuzzy, kde-format +#| msgctxt "pause the movie playback" +#| msgid "Pause" +msgctxt "For Presentation" +msgid "Pause" +msgstr "ផ្អាក" + +#: part/presentationwidget.cpp:524 +#, fuzzy, kde-format +#| msgctxt "start the movie playback" +#| msgid "Play" +msgctxt "For Presentation" +msgid "Play" +msgstr "ចាក់" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"មាន​វិធី​ពីរ​យ៉ាង​នៃ​​ចេញពីរៀប​បង្ហាញ គឺ​អ្នក​អាច​ចុច​គ្រប់ចុច ESC ឬ​ចុច​ប៊ូតុង ចេញ ​ដែល​មាន​នៅ​ពេល​ដាក់​កណ្ដុរ​នៅ​" +"ជ្រុង​កំពូល​ខាងស្ដាំ ។ តាម​ពិត អ្នក​អាច​ប្ដូរ​បង្អួច​បាន (ឆ្លាស់​(Alt)+ថេប តាម​លំនាំដើម)" + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "ផ្ដល់​កា​របង្ហាញ" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "មិនស្គាល់​ឯកសារ" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "លក្ខណៈ​សម្បត្តិ %1" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1 ៖" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "ពុម្ពអក្សរ" + +#: part/propertiesdialog.cpp:145 +#, fuzzy, kde-format +#| msgid "Reading font information..." +msgid "Reading font information…" +msgstr "កំពុង​ផ្ទុក​ព័ត៌មាន​ពុម្ព​អក្សរ..." + +#: part/propertiesdialog.cpp:158 +#, fuzzy, kde-format +#| msgid "&Page Size" +msgid "&Page Sizes" +msgstr "ទំហំ​ទំព័រ" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "ស្រង់​ពុម្ពអក្សរ​ចេញ" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "ប្រភេទ ១" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "ប្រភេទ 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "ប្រភេទ 1C (OT)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "ប្រភេទ 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType (OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID ប្រភេទ 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID ប្រភេទ 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID ប្រភេទ 0C (OT)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType (OT)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "TeX PK" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "TeX និម្មិត" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "ម៉ាទ្រីស​ពុម្ពអក្សរ TeX" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "TeX FreeType-handled" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "មិន​ស្គាល់" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "បាន​បង្កប់ (សំណុំ​រង)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "បានបង្កប់​ពេញលេញ" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "ទេ" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "បាទ​/​ចាស (សំណុំ​រង)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "បាទ​/​ចាស" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "[មិនមាន]" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "មិន​ស្គាល់​ពុម្ពអក្សរ" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "បាន​បង្កប់ ៖ %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "ឈ្មោះ" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "ប្រភេទ" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "ឯកសារ" + +#: part/propertiesdialog.cpp:498 +#, fuzzy, kde-format +#| msgid "Pages" +msgid "Page" +msgstr "ទំព័រ" + +#: part/propertiesdialog.cpp:501 +#, fuzzy, kde-format +#| msgctxt "@title:column" +#| msgid "Size" +msgid "Size" +msgstr "ទំហំ" + +#: part/revisionviewer.cpp:41 +#, fuzzy, kde-format +#| msgid "Print Preview" +msgid "Revision Preview" +msgstr "មើលមុន​បោះពុម្ព" + +#: part/revisionviewer.cpp:53 +#, fuzzy, kde-format +#| msgid "Where do you want to save %1?" +msgid "Where do you want to save this revision?" +msgstr "តើ​អ្នក​ចង់​រក្សាទុក​ %1 នៅ​ទីណា ?" + +#: part/revisionviewer.cpp:56 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not save file %1." +msgstr "មិន​អាច​បើក %1 បាន​ឡើយ" + +#: part/revisionviewer.cpp:75 +#, fuzzy, kde-format +#| msgid "Could not open %1. Reason: %2" +msgid "Could not view revision." +msgstr "មិនអាច​បើក %1 បានទេ ។ មូលហេតុ ៖ %2" + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "បញ្ចូល​អក្សរ​យ៉ាង​តិច ៣ តួ ដើម្បី​ត្រង​ទំព័រ" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "ប្រកាន់​តួ​អក្សរ​តូច​ធំ" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "ផ្គូផ្គង​ឃ្លា" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "ផ្គូផ្គង​គ្រប់​ពាក្យ" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "ផ្គូផ្គង​ពាក្យ​ណា​មួយ" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "ជម្រើស​តម្រង" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Certificates" +msgstr "កំណត់​រចនា​សម្ព័ន្ធ​កម្មវិធី​មើល" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, fuzzy, kde-format +#| msgid "Allow" +msgid "All" +msgstr "អនុញ្ញាត" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Only QES certificates" +msgstr "កំណត់​រចនា​សម្ព័ន្ធ​កម្មវិធី​មើល" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, fuzzy, kde-format +#| msgid "Options" +msgid "optional" +msgstr "ជម្រើស" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Location:" +msgstr "%1 ចំណារពន្យល់" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, fuzzy, kde-format +#| msgid "Background color:" +msgid "Background:" +msgstr "ពណ៌​ផ្ទៃ​ខាង​ក្រោយ ៖" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, fuzzy, kde-format +#| msgid "Background color:" +msgid "Recent backgrounds:" +msgstr "ពណ៌​ផ្ទៃ​ខាង​ក្រោយ ៖" + +#: part/side_reviews.cpp:66 +#, fuzzy, kde-format +#| msgid "" +#| "

    No annotations

    To create new annotations press " +#| "F6 or select Tools -> Review from the menu.
    " +msgid "" +"

    No annotations

    To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
    " +msgstr "" +"

    គ្មាន​ចំណារ​ពន្យល់

    ដើម្បី​បង្កើត​ចំណារ​ពន្យល់​ថ្មី ត្រូវ​សង្កត់ F6 ឬ​ជ្រើស " +"ឧបករណ៍ -> ពិនិត្យ​ឡើងវិញ ពី​ម៉ឺនុយ ។
    " + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "ដាក់​ក្រុម​តាម​ទំព័រ" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "ដាក់ក្រុម​តាម​អ្នក​និពន្ធ" + +#: part/side_reviews.cpp:155 +#, fuzzy, kde-format +#| msgid "Show reviews for current page only" +msgid "Show annotations for current page only" +msgstr "បង្ហាញ​ការ​ពិនិត្យ​មើល​ជាមុន​សម្រាប់​តែ​ទំព័រ​បច្ចុប្បន្ន​ប៉ុណ្ណោះ" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "" + +#: part/signaturepanel.cpp:101 +#, fuzzy, kde-format +#| msgid "&Properties" +msgid "Properties" +msgstr "លក្ខណៈ​សម្បត្តិ" + +#: part/signaturepartutils.cpp:180 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "ទំព័រ ៖ %1" + +#: part/signaturepartutils.cpp:181 +#, fuzzy, kde-format +#| msgid "Enable &background generation" +msgid "Select background image" +msgstr "បិទ​ការ​បង្កើត​ផ្ទៃ​ខាង​ក្រោយ" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "" + +#: part/signaturepartutils.cpp:244 +#, fuzzy, kde-format +#| msgctxt "A document format, Okular-specific" +#| msgid "Document Archive" +msgid "Enter document password" +msgstr "ប័ណ្ណសារ​ឯកសារ" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:63 +#, fuzzy, kde-format +#| msgid "Information" +msgid "Additional Information" +msgstr "ព័ត៌មាន" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:83 +#, fuzzy, kde-format +#| msgctxt "A document format, Okular-specific" +#| msgid "Document Archive" +msgid "Document Version" +msgstr "ប័ណ្ណសារ​ឯកសារ" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:95 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "View Certificate…" +msgstr "កំណត់​រចនា​សម្ព័ន្ធ​កម្មវិធី​មើល" + +#: part/signaturepropertiesdialog.cpp:97 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "View in Certificate Manager" +msgstr "កំណត់​រចនា​សម្ព័ន្ធ​កម្មវិធី​មើល" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "បង្ហាញ​តែ​ទំព័រ​ដែល​បាន​ចំណាំ​ប៉ុណ្ណោះ" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "ចាក់" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "ផ្អាក" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "បញ្ឈប់" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, fuzzy, kde-format +#| msgid "&Edit" +msgid "&Edit…" +msgstr "កែសម្រួល" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, fuzzy, kde-format +#| msgid "Wipe Down" +msgid "Move &Down" +msgstr "លុប​ចុះ​ក្រោម" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "ទំព័រ​ឯកសារ​ដែលត្រូវ​បង្ហាញ" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "ចាប់ផ្ដើម​ឯកសារ​ក្នុង​របៀប​បង្ហាញ" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "វត្ថុ​បញ្ជា \"វត្ថុ​តែ​មួយ​គត់\"" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "" + +#: shell/main.cpp:83 +#, fuzzy, kde-format +#| msgid "Document to open. Specify '-' to read from stdin." +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "ឯកសារ​ត្រូវ​បើក ។ បញ្ជាក់ '-' ដើម្បី​អាន​ពី stdin." + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "" + +#: shell/shell.cpp:207 +#, fuzzy, kde-format +#| msgid "Unable to find the Okular component." +msgid "Unable to find the Okular component: %1" +msgstr "មិនអាច​រក​ឃើញផ្នែក Okular ។" + +#: shell/shell.cpp:250 +#, fuzzy, kde-format +#| msgid "Show &Page Bar" +msgid "Sidebar" +msgstr "បង្ហាញ​របារ​ទំព័រ" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "មិនអាច​រក​ឃើញផ្នែក Okular ។" + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"ចុច ដើម្បី​បើក​ឯកសារ\n" +"ចុច​ឲ្យ​ជាប់ ដើម្បី​បើក​ឯកសារ​ថ្មីៗ​នេះ" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "ចុច ដើម្បី​បើក​ឯកសារ ឬ​ចុច​ឲ្យ​ជាប់ ដើម្បី​ជ្រើស​ឯកសារ​ថ្មីៗ​នេះ" + +#: shell/shell.cpp:582 +#, fuzzy, kde-format +#| msgid "Next Page" +msgid "Next Tab" +msgstr "ទំព័រ​បន្ទាប់" + +#: shell/shell.cpp:588 +#, fuzzy, kde-format +#| msgid "Previous Page" +msgid "Previous Tab" +msgstr "ទំព័រ​មុន" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "" + +#: shell/shell.cpp:603 +#, fuzzy, kde-format +#| msgid "Show &Page Bar" +msgid "Lock Sidebar" +msgstr "បង្ហាញ​របារ​ទំព័រ" + +#: shell/shell.cpp:703 +#, fuzzy, kde-format +#| msgid "*|All Files" +msgid "All files (*)" +msgstr "*|ឯកសារ​ទាំងអស់" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "បើក​ឯកសារ" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "" + +#: shell/shell.cpp:826 +#, fuzzy, kde-format +#| msgid "Close" +msgid "Close Tabs" +msgstr "បិទ" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "" + +#: shell/welcomescreen.cpp:64 +#, fuzzy, kde-format +#| msgid "Copy Text" +msgid "&Copy Path" +msgstr "ចម្លង​អត្ថបទ" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "" + +#: shell/welcomescreen.cpp:137 +#, fuzzy, kde-format +#| msgid "Current document only" +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "តែ​ឯកសារ​បច្ចុប្បន្ន" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, fuzzy, kde-format +#| msgid "Open Document" +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "បើក​ឯកសារ" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, fuzzy, kde-format +#| msgid "Current document only" +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "តែ​ឯកសារ​បច្ចុប្បន្ន" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "" + +#, fuzzy +#~| msgid "For Comment" +#~ msgid "Geometry with Comment" +#~ msgstr "សម្រាប់​សេចក្ដី​អធិប្បាយ" + +#~ msgid "Geometry" +#~ msgstr "ធរណីមាត្រ" + +#~ msgid "Modified: %1" +#~ msgstr "បានកែប្រែ ៖ %1" + +#~ msgid "Find..." +#~ msgstr "រក..." + +#~ msgid "Go To Page..." +#~ msgstr "ទៅកាន់​ទំព័រ..." + +#~ msgid "Play movie..." +#~ msgstr "ចាក់​ភាពយន្ត..." + +#, fuzzy +#~| msgid "S&earch:" +#~ msgid "Search..." +#~ msgstr "ស្វែងរក ៖" + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "រក្សាទុក​ជា..." + +#, fuzzy +#~| msgid "&View" +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "មើល" + +#~ msgid "Configure Viewer..." +#~ msgstr "កំណត់​រចនា​សម្ព័ន្ធ​កម្មវិធី​មើល..." + +#~ msgid "Configure Viewer Backends..." +#~ msgstr "កំណត់​រចនា​សម្ព័ន្ធ​កម្មវិធី​ខាងក្រោយ" + +#~ msgid "Configure Backends..." +#~ msgstr "កំណត់​រចនា​សម្ព័ន្ធ​កម្មវិធី​ខាងក្រោយ..." + +#, fuzzy +#~| msgid "&Edit" +#~ msgid "&Edit..." +#~ msgstr "កែសម្រួល" + +#, fuzzy +#~| msgctxt "Unknown author" +#~| msgid "Unknown" +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "មិន​ស្គាល់" + +#, fuzzy +#~| msgid "%" +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " %" + +#, fuzzy +#~| msgid "%" +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%" + +#, fuzzy +#~| msgid "Fit Width" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "សម​ទទឹង" + +#, fuzzy +#~| msgid "Fit Page" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "សម​ទំព័រ" + +#~ msgid "*|All Files" +#~ msgstr "*|ឯកសារ​ទាំងអស់" + +#, fuzzy +#~| msgid "Show &Page Bar" +#~ msgid "Show Sidebar" +#~ msgstr "បង្ហាញ​របារ​ទំព័រ" + +#, fuzzy +#~| msgid "Experimental" +#~ msgctxt "@title:window" +#~ msgid "Experimental feature" +#~ msgstr "សាកល្បង" + +#~ msgid "Remove Bookmarks" +#~ msgstr "យក​ចំណាំ​ចេញ" + +#, fuzzy +#~| msgid "Annotation" +#~| msgid_plural "%1 Annotations" +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "%1 ចំណារពន្យល់" + +#, fuzzy +#~| msgid "Highlight" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "បន្លិច" + +#, fuzzy +#~| msgid "Underline" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Underline" +#~ msgstr "គូស​បន្ទាត់​ពីក្រោម" + +#, fuzzy +#~| msgid "Squiggly" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Squiggle" +#~ msgstr "គូស​វាស" + +#, fuzzy +#~| msgid "Strike out" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Strike Out" +#~ msgstr "បន្ទាត់​ឆូត" + +#, fuzzy +#~| msgid "Insert" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "បញ្ចូល" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "ចំណាំ​ក្នុង​តួ" + +#, fuzzy +#~| msgid "&Open Pop-up Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "បើក​ចំណាំ​លេចឡើង" + +#, fuzzy +#~| msgid "Green Freehand Line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Freehand Line" +#~ msgstr "បន្ទាត់​សេរី​ពណ៌​បៃតង" + +#, fuzzy +#~| msgid "Straight Yellow Line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Straight line" +#~ msgstr "បន្ទាត់​ត្រង់​ពណ៌​លឿង" + +#, fuzzy +#~| msgid "Rectangle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Rectangle" +#~ msgstr "ចតុកោណ​កែង" + +#, fuzzy +#~| msgid "Cyan Ellipse" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Ellipse" +#~ msgstr "ពងក្រពើ​ពណ៌​ស៊ីយ៉ាន" + +#, fuzzy +#~| msgid "Blue Polygon" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Polygon" +#~ msgstr "ពហុកោណ​ពណ៌​ខៀវ" + +#, fuzzy +#~| msgid "Highlight" +#~ msgid "Highlight in Yellow" +#~ msgstr "បន្លិច" + +#, fuzzy +#~| msgid "Highlight" +#~ msgid "Highlight in Green" +#~ msgstr "បន្លិច" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgid "Insert Inline Note" +#~ msgstr "ចំណាំ​ក្នុង​តួ" + +#, fuzzy +#~| msgid "&Open Pop-up Note" +#~ msgid "Insert Popup Note" +#~ msgstr "បើក​ចំណាំ​លេចឡើង" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "ជ្រើស​អត្ថបទ" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "ជ្រើស​អត្ថបទ" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "ជ្រើស​អត្ថបទ" + +#, fuzzy +#~| msgid "Annotation" +#~| msgid_plural "%1 Annotations" +#~ msgid "Bookmark annotation" +#~ msgstr "%1 ចំណារពន្យល់" + +#, fuzzy +#~| msgid "Change &colors" +#~ msgid "&Toggle Change Colors" +#~ msgstr "ផ្លាស់ប្ដូរ​ពណ៌" + +#, fuzzy +#~| msgid "Enable transitions" +#~ msgctxt "@option:check Config dialog, presentation page, transitions" +#~ msgid "Enable transitions" +#~ msgstr "បើក​ការ​ផ្លាស់ប្ដូរ" + +#, fuzzy +#~| msgid "Advance every:" +#~ msgctxt "@label:spinbox Config dialog, presentation page" +#~ msgid "Advance every:" +#~ msgstr "មុន​រៀងរាល់ ៖" + +#, fuzzy +#~| msgid "Background color:" +#~ msgctxt "@label:listbox Config dialog, general page" +#~ msgid "Custom background color:" +#~ msgstr "ពណ៌​ផ្ទៃ​ខាង​ក្រោយ ៖" + +#~ msgid "Draw border around &Images" +#~ msgstr "គូរ​ស៊ុម​ជុំ​វិញ​រូបភាព" + +#~ msgid "Identity" +#~ msgstr "អត្តសញ្ញាណ" + +#, fuzzy +#~| msgid "&Author:" +#~ msgid "Au&thor:" +#~ msgstr "អ្នក​និពន្ធ ៖" + +#~ msgid "View Options" +#~ msgstr "មើល​ជម្រើស" + +#~ msgctxt "@info:whatsthis" +#~ msgid "" +#~ "Defines the default zoom mode for files which were never opened before.\n" +#~ "For files which were opened before the previous zoom is applied." +#~ msgstr "" +#~ "កំណត់​របៀប​ពង្រីក​លំនាំដើម​សម្រាប់​ឯកសារ​ ដែល​​មិន​ត្រូវបានបើក​ពី​មុន ។\n" +#~ "សម្រាប់​ឯកសារ​ដែល​ត្រូវ​បាន​បើក​ពី​មុន ការ​ពង្រីក​ពី​មុន​ត្រូវ​បាន​អនុវត្ត ។" + +#~ msgid "Navigation" +#~ msgstr "ការ​រុករក" + +#~ msgid "Placement" +#~ msgstr "ក្លែង​ដាក់" + +#~ msgid "Screen:" +#~ msgstr "អេក្រង់ ៖" + +#~ msgid "&Get Books From Internet..." +#~ msgstr "យក​សៀវភៅ​ពី​អ៊ីនធឺណិត..." + +#~ msgid "Reviews" +#~ msgstr "ពិនិត្យ​ឡើងវិញ" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "@item:inlistbox Color name" +#~ msgid "%1" +#~ msgstr "%1 ៖" + +#~ msgid "Hide Forms" +#~ msgstr "លាក់​សំណុំបែបបទ" + +#~ msgid "&Review" +#~ msgstr "ពិនិត្យ​ឡើងវិញ" + +#~ msgid "Annotations author" +#~ msgstr "អ្នកនិពន្ធ​ចំណារ​ពន្យល់" + +#~ msgid "Please insert your name or initials:" +#~ msgstr "សូម​បញ្ចូល​ឈ្មោះ ឬ​អទិសង្កេត​របស់​អ្នក ៖" + +#~ msgid "Show &Navigation Panel" +#~ msgstr "បង្ហាញ​បន្ទះ​រុករក" + +#~ msgid "Show Text" +#~ msgstr "បង្ហាញ​អត្ថបទ" + +#~ msgid "Small Icons" +#~ msgstr "រូបតំណាង​តូចៗ" + +#~ msgid "Large Icons" +#~ msgstr "រូបតំណាង​ធំ" + +#, fuzzy +#~| msgid "" +#~| "Click to use the current selection tool\n" +#~| "Click and hold to choose another selection tool" +#~ msgid "" +#~ "Click to use the current selection tool\n" +#~ "Click on the arrow to choose another selection tool" +#~ msgstr "" +#~ "ចុច​ដើម្បី​ប្រើ​ឧបករណ៍​ជម្រើស​បច្ចុប្បន្ន\n" +#~ "ចុច ហើយ​សង្កត់ ដើម្បី​ជ្រើស​ឧបករណ៍​ជម្រើស​ផ្សេងទៀត" + +#~ msgid "Created: %1" +#~ msgstr "បានបង្កើត ៖ %1" + +#~ msgid "Style" +#~ msgstr "រចនា​ប័ទ្ម" + +#~ msgid "&Size:" +#~ msgstr "ទំហំ ៖" + +#~ msgid "Inner color:" +#~ msgstr "ពណ៌​ខាងក្នុង ៖" + +#~ msgid "Name: %1" +#~ msgstr "ឈ្មោះ ៖ %1" + +#~ msgid "Size: %1" +#~ msgstr "ទំហំ ៖ %1" + +#~ msgid "&Browse Tool" +#~ msgstr "ឧបករណ៍​រុករក" + +#~ msgid "&Zoom Tool" +#~ msgstr "ឧបករណ៍​ពង្រីក" + +#~ msgctxt "Zoom Tool" +#~ msgid "Zoom" +#~ msgstr "ពង្រីក" + +#~ msgctxt "Select Tool" +#~ msgid "Selection" +#~ msgstr "ជម្រើស" + +#~ msgid "&Text Selection Tool" +#~ msgstr "ឧបករណ៍​ជម្រើស​អត្ថបទ" + +#~ msgid "T&able Selection Tool" +#~ msgstr "ឧបករណ៍​ជម្រើស​តារាង" + +#, fuzzy +#~| msgctxt "Symbol for caret annotations" +#~| msgid "None" +#~ msgid " None" +#~ msgstr "គ្មាន" + +#~ msgid "" +#~ "The document requested to be launched in presentation mode.\n" +#~ "Do you want to allow it?" +#~ msgstr "" +#~ "ឯកសារ បាន​ស្នើ​ឲ្យ​បង្ហាញជា​របៀប​បង្ហាញ ។\n" +#~ "តើអ្នក​ចង់​អនុញ្ញាត​វា​ឬទេ ?" + +#~ msgid "Presentation Mode" +#~ msgstr "របៀប​បង្ហាញ" + +#~ msgid "Allow the presentation mode" +#~ msgstr "អនុញ្ញាត​របៀប​បង្ហាញ" + +#~ msgid "Do Not Allow" +#~ msgstr "កុំអនុញ្ញាត" + +#~ msgid "Do not allow the presentation mode" +#~ msgstr "កុំ​អនុញ្ញាត​របៀប​បង្ហាញ" + +#~ msgid "" +#~ "Your annotation changes will not be saved automatically. Use File -> Save " +#~ "As...\n" +#~ "or your changes will be lost once the document is closed" +#~ msgstr "" +#~ "ការ​ផ្លាស់ប្ដូរ​ការ​ពន្យល់​របស់​អ្នកនឹង​មិន​ត្រូវ​បាន​រក្សាទុក​ដោយ​ស្វ័យ​ប្រវត្តិ​ទេ ។ ប្រើ ឯកសារ -> " +#~ "រក្សាទុកជា...\n" +#~ "ឬ​ការ​ផ្លាស់ប្ដូរ​របស់​អ្នក​នឹង​បាត់បង់​នៅ​ពេល​​បិទ​ឯកសារ" + +#~ msgid "" +#~ "Your annotations are saved internally by Okular.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" +#~ msgstr "" +#~ "ចំណារ​ពន្យល់​របស់​អ្នក​ត្រូ​វបាន​រក្សា​ខាង​ក្នុង​ដោយ Okular ។\n" +#~ "អ្នក​អាច​នាំចេញ​ឯកសារ​ដែល​មាន​ចំណារ​ ដោយ​ប្រើ ឯកសារ -> នាំចេញ​ជា -> ប័ណ្ណសារ​ឯកសារ" + +#~ msgid "Save &Copy As..." +#~ msgstr "រក្សាទុក​ច្បាប់​ចម្លង​ជា..." + +#, fuzzy +#~| msgid "" +#~| "Your annotations are saved internally by Okular.\n" +#~| "You can export the annotated document using File -> Export As -> " +#~| "Document Archive" +#~ msgid "" +#~ "Your annotations will not be exported.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" +#~ msgstr "" +#~ "ចំណារ​ពន្យល់​របស់​អ្នក​ត្រូ​វបាន​រក្សា​ខាង​ក្នុង​ដោយ Okular ។\n" +#~ "អ្នក​អាច​នាំចេញ​ឯកសារ​ដែល​មាន​ចំណារ​ ដោយ​ប្រើ ឯកសារ -> នាំចេញ​ជា -> ប័ណ្ណសារ​ឯកសារ" + +#~ msgid "" +#~ "End of document reached.\n" +#~ "Continue from the beginning?" +#~ msgstr "" +#~ "បាន​មក​ដល់​ចុង​ឯកសារ ។\n" +#~ "បន្ត​ពី​ដើម​មក​វិញឬ ?" + +#~ msgid "" +#~ "Beginning of document reached.\n" +#~ "Continue from the bottom?" +#~ msgstr "" +#~ "បាន​មកដល់​ដើម​ឯកសារ​ហើយ ។\n" +#~ "បន្ត​ពី​ក្រោម​មកវិញ​ឬ ?" + +#~ msgid "Current maintainer" +#~ msgstr "​​អ្នក​ថែទាំ​បច្ចុប្បន្ន" + +#~ msgid " sec." +#~ msgstr " វិ." + +#~ msgid "Pencil color:" +#~ msgstr "ពណ៌​ខ្មៅដៃ ៖" + +#~ msgid "Toggle Drawing Mode" +#~ msgstr "បិទ​បើក​របៀប​គំនូរ" + +#~ msgid "Starting Jovie Text-to-Speech service Failed: %1" +#~ msgstr "បាន​បរាជ័យ​ក្នុងកា​រចាប់ផ្ដើមសេវា Jovie Text-to-Speech ៖ %1" + +#~ msgid "Search Columns" +#~ msgstr "ស្វែងរក​ជួរ​ឈរ" + +#~ msgid "All Visible Columns" +#~ msgstr "ជួរ​ឈរ​មើលឃើញ​ទាំងអស់" + +#~ msgid "No document opened." +#~ msgstr "គ្មាន​ឯកសារ​ដែលបាន​បើក​ឡើយ ។" + +#~ msgid "No matches found for '%1'." +#~ msgstr "រក​មិន​ឃើញ​ដំណូច '%1' ឡើយ ។" + +#~ msgid "Search in progress..." +#~ msgstr "កំពុង​ស្វែងរក..." + +#~ msgid "Searching for %1" +#~ msgstr "កំពុង​រកមើល %1" + +#~ msgid "Identity Settings" +#~ msgstr "ការ​កំណត់​អត្តសញ្ញាណ" + +#~ msgid "Highlight Properties" +#~ msgstr "លក្ខណៈ​សម្បត្តិ​ការ​បន្លិច" + +#~ msgid "Ink Properties" +#~ msgstr "លក្ខណៈ​សម្បត្តិ​ទឹកខ្មៅ" + +#~ msgctxt "Annotation tool" +#~ msgid "Text Annotation" +#~ msgstr "ចំណារ​អត្ថបទ" + +#~ msgctxt "Annotation tool" +#~ msgid "Green Ink" +#~ msgstr "ទឹក​ថ្នាំ​បៃតង" + +#~ msgctxt "Annotation tool" +#~ msgid "Yellow Highlight" +#~ msgstr "បន្លិច​ពណ៌​លឿង" + +#~ msgctxt "Annotation tool" +#~ msgid "Straight Yellow Line" +#~ msgstr "បន្ទាត់​ត្រង់​ពណ៌​លឿង" + +#~ msgid "Black Underlining" +#~ msgstr "គូស​បន្ទាត់​ពីក្រោម​ពណ៌​ខ្មៅ" + +#~ msgctxt "Annotation tool" +#~ msgid "Underline the text with a black line" +#~ msgstr "គូស​បន្ទាត់​ពីក្រោម​អត្ថបទ​ដោយ​បន្ទាត់​ខ្មៅ" + +#~ msgctxt "Annotation tool" +#~ msgid "A cyan ellipse" +#~ msgstr "ពងក្រពើ​ពណ៌​ស៊ីយ៉ាន" + +#~ msgid "Ink" +#~ msgstr "ទឹកខ្មៅ" diff --git a/po/km/okular_comicbook.po b/po/km/okular_comicbook.po new file mode 100644 index 0000000..6eb84d7 --- /dev/null +++ b/po/km/okular_comicbook.po @@ -0,0 +1,59 @@ +# translation of okular_comicbook.po to Khmer +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Khoem Sokhem , 2008. +msgid "" +msgstr "" +"Project-Id-Version: okular_comicbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-12-16 08:13+0700\n" +"Last-Translator: Khoem Sokhem \n" +"Language-Team: Khmer \n" +"Language: km\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ខឹម សុខែម, អេង វណ្ណៈ, អោក ពិសិដ្ឋ" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "khoemsokhem@khmeros.info,​​evannak@khmeros.info,piseth_dv@khmeros.info" + +#: document.cpp:97 +#, fuzzy, kde-format +#| msgid "Cannot open document, unrar was not found." +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "មិន​អាច​បើក​ឯកសារ រក​មិន​ឃើញ unrar ។" + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "កំណែ​របស់ unrar នៅ​ក្នុង​ប្រព័ន្ធ​របស់​អ្នក​គឺ​មិន​សម​នឹង​សម្រាប់​បើក ComicBook ។" + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "មិនស្គាល់​ទ្រង់ទ្រាយ ComicBook" + +#~ msgid "ComicBook Backend" +#~ msgstr "កម្មវិធី​ខាងក្រោយ​របស់ ComicBook" + +#~ msgid "A renderer for various comic book formats" +#~ msgstr "កម្មវិធី​បង្ហាញ​សម្រាប់​ទ្រង់ទ្រាយ comic book" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "រក្សាសិទ្ធិ​ឆ្នាំ ២០០៧-២០០៨ ដោយ Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/km/okular_djvu.po b/po/km/okular_djvu.po new file mode 100644 index 0000000..30bc06b --- /dev/null +++ b/po/km/okular_djvu.po @@ -0,0 +1,138 @@ +# translation of okular_djvu.po to Khmer +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Khoem Sokhem , 2008. +# Auk Piseth , 2008. +msgid "" +msgstr "" +"Project-Id-Version: okular_djvu\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-12-19 09:39+0700\n" +"Last-Translator: Khoem Sokhem \n" +"Language-Team: Khmer \n" +"Language: km\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ខឹម សុខែម, ​អេង វណ្ណៈ, អោក ពិសិដ្ឋ​" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "khoemsokhem@khmeros.info,​​evannak@khmeros.info,piseth_dv@khmeros.info" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "អ្នក​​​កែ​​សម្រួល​​" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "អ្នក​​បោះពុម្ព​​ផ្សាយ" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "កម្រិត​សំឡេង" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "ប្រភេទ​ឯកសារ" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "មិន​ស្គាល់" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "ឯកសារ​សមាសភាគ" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "មិន​ស្គាល់" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "ទំព័រ​តែមួយ​" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "បាច់" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "មិនផ្ទាល់" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "បាច់ (ចាស់)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "ចង​ជា​លិបិក្រម (ចាស់)" + +#~ msgid "DjVu Backend" +#~ msgstr "ផ្នែកខាងក្រោយ DjVu" + +#~ msgid "DjVu backend based on DjVuLibre." +#~ msgstr "DjVu backend based on DjVuLibre." + +#~ msgid "© 2006-2008 Pino Toscano" +#~ msgstr "រក្សាសិទ្ធិ​ឆ្នាំ ២០០៦-២០០៨ ដោយ Pino Toscano" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgctxt "Unknown title" +#~ msgid "Unknown" +#~ msgstr "មិន​ស្គាល់" + +#~ msgctxt "Unknown author" +#~ msgid "Unknown" +#~ msgstr "មិន​ស្គាល់" + +#~ msgctxt "Unknown editor" +#~ msgid "Unknown" +#~ msgstr "មិន​ស្គាល់" + +#~ msgctxt "Unknown publisher" +#~ msgid "Unknown" +#~ msgstr "មិន​ស្គាល់" + +#~ msgctxt "Unknown creation date" +#~ msgid "Unknown" +#~ msgstr "មិន​ស្គាល់" + +#~ msgctxt "Unknown volume information" +#~ msgid "Unknown" +#~ msgstr "មិន​ស្គាល់" + +#~ msgctxt "Unknown type of document" +#~ msgid "Unknown" +#~ msgstr "មិន​ស្គាល់" diff --git a/po/km/okular_dvi.po b/po/km/okular_dvi.po new file mode 100644 index 0000000..2a0e96d --- /dev/null +++ b/po/km/okular_dvi.po @@ -0,0 +1,793 @@ +# translation of okular_dvi.po to Khmer +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Khoem Sokhem , 2008, 2009. +# Auk Piseth , 2008. +msgid "" +msgstr "" +"Project-Id-Version: okular_dvi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-05-26 10:18+0700\n" +"Last-Translator: Khoem Sokhem \n" +"Language-Team: Khmer \n" +"Language: km\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ខឹម សុខែម, ​អេង វណ្ណៈ, អោក ពិសិដ្ឋ​" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "khoemsokhem@khmeros.info,​​evannak@khmeros.info,piseth_dv@khmeros.info" + +#: dviexport.cpp:123 +#, fuzzy, kde-format +#| msgid "" +#| "Okular could not locate the program 'dvipdfm' on your computer. This " +#| "program is essential for the export function to work. You can, however, " +#| "convert the DVI-file to PDF using the print function of Okular, but that " +#| "will often produce documents which print okay, but are of inferior " +#| "quality if viewed in Acrobat Reader. It may be wise to upgrade to a more " +#| "recent version of your TeX distribution which includes the 'dvipdfm' " +#| "program.\n" +#| "Hint to the perplexed system administrator: Okular uses the PATH " +#| "environment variable when looking for programs." +msgid "" +"

    Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

    Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

    " +msgstr "" +"Okular មិន​អាច​កំណត់​ទីតាំង​កម្មវិធី 'dvipdfm' នៅ​ក្នុង​កុំព្យូទ័រ​របស់​អ្នក​បាន​ឡើយ ។ កម្មវិធី​នេះ​​ចាំបាច់​" +"សម្រាប់​មុខងារ​នាំចេញ​ដើម្បី​ដំណើរការ ។ ទោះ​ជា​យ៉ាង​ណា​ក៏​ដោយ អ្នក​អាច​បម្លែង​ឯកសារ DVI​ ទៅ​ជា PDF ដោយ​" +"ប្រើ​មុខងារ​បោះពុម្ព​របស់ Okular ប៉ុន្តែ​ជា​រឿយៗ​វា​នឹង​បង្កើត​ឯកសារ​ដែល​បោះពុម្ព​ដោយ​គ្មាន​បញ្ហា ប៉ុន្តែ​មាន​" +"គុណភាព​ទាប​ជាង ប្រសិនបើ​បានបង្ហាញ​នៅ​ក្នុង Acrobat Reader ។ វា​ជា​ការ​ល្អ​ដែល​ត្រូវ​ធ្វើ​ឲ្យ​ប្រសើរ​ឡើង​" +"ទៅ​កំណែ​បច្ចុប្បន្ន​របស់​ការ​ចែកចាយ TeX របស់​​ដែល​រួម​មាន​កម្មវិធី 'dvipdfm' ។\n" +"ជំនួយ​ទៅ​អ្នក​គ្រប់គ្រង​ប្រព័ន្ធ​ដែល​មិន​ទាន់​ច្បាស់ ៖ Okular ប្រើ​បរិស្ថានអថេរ PATH នៅ​ពេល​មើល​កម្មវិធី ។" + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"កម្មវិធី​ខាង​ក្រៅ 'dvipdfm' ដែល​ត្រូវ​បាន​ប្រើ​ដើម្បី​នាំចេញ​ឯកសារ​ដែល​បានរាយការ​ក៍​កំហុស ។ អ្នក​អាច​" +"ចង់​មើល​ ប្រអប់ព័ត៌មាន​ឯកសារ ដែល​អ្នក​នឹង​រក​បាន​នៅ​ក្នុង​ម៉ឺនុយ​ឯកសារ សម្រាប់​" +"ការរាយការណ៍​ដ៏​មាន​តម្លៃ ។" + +#: dviexport.cpp:168 +#, fuzzy, kde-format +#| msgid "" +#| "

    This DVI file refers to external graphic files which are not in " +#| "PostScript format, and cannot be handled by the dvips " +#| "program that Okular uses interally to print or to export to PostScript. " +#| "The functionality that you require is therefore unavailable in this " +#| "version of Okular.

    As a workaround, you can use the File/" +#| "Export As-Menu to save this file in PDF format, and then use a " +#| "PDF viewer.

    It is planned to add this functionality at a later date." +#| "

    " +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" +"

    ឯកសារ DVI សំដៅលើ​ឯកសារ​ក្រាហ្វិក​ខាង​ក្រៅ​ដែល​មិន​នៅ​ក្នុង​ទ្រង់ទ្រាយ​PostScript និង​មិន​អាច​ត្រូវ​" +"បានគ្រប់គ្រង​ដោយ​កម្មវិធី dvips ដែល Okular ប្រើ​​ដើម្បីបោះពុម្ព ឬ​នាំចេញ​ទៅ​ជា " +"PostScript ។ ដូច្នេះ មុខងារ​​ដែលអ្នក​ត្រូវការ​​មិន​អាច​ប្រើ​បាន​នៅ​ក្នុងកំណែ​​របស់Okular នេះ​ទេ ។

    ជា​កា​រឆ្ពោះ​ទី​រក​វា អ្នក​អាច​ប្រើម៉ឺនុយ ឯកសារ/នាំចេញ​ជាដើម្បី​រក្សាទុក​" +"ឯកសារ​ជាទ្រង់ទ្រាយ PDF ហើយ​បន្ទាប់​មក​ប្រើ​កម្មវិធី​មើល PDF ។

    ប្រសិន​បើ​មាន​អ្នក​ប្រើ​​តវ៉ា​" +"គ្រប់គ្រាន់ មុខងារ​ដែល​បាត់​អាច​ត្រូវ​បាន​បន្ថែម​ពេល​ក្រោយ ។

    " + +#: dviexport.cpp:176 +#, fuzzy, kde-format +#| msgid "" +#| "Okular could not locate the program 'dvips' on your computer. That " +#| "program is essential for the export function to work.\n" +#| "Hint to the perplexed system administrator: Okular uses the PATH " +#| "environment variable when looking for programs." +msgid "" +"

    Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

    Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

    " +msgstr "" +"Okular មិនអាច​កំណត់​ទីតាំង​កម្មវិធី 'dvips' នៅ​ក្នុង​កុំព្យូទ័រ​របស់​អ្នក​បាន​ទេ ។ កម្មវិធី​នោះ​គឺ​សំខាន់​សម្រាប់​" +"មុខងារ​នាំចេញ​ដើម្បី​ដំណើរការ ។\n" +"ជំនួយ​ទៅ​អ្នក​គ្រប់គ្រង​ប្រព័ន្ធ​ដែល​មិន​ច្បាស់ ៖ Okular ប្រើ​អថេរ​បរិស្ថាន​ផ្លូវ​នៅ​ពេល​រក​មើល​កម្មវិធី ។" + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"កម្មវិធី​ខាង​ក្រៅ 'dvips' ដែល​ត្រូវ​បានប្រើ​ដើម្បី​នាំចេញ​ឯកសារ បាន​រាយការណ៍​កំហុស​មួយ ។ អ្នក​អាច​ចង់​" +"មើល​នៅ ប្រអប់​ព័ត៌មាន​ឯកសារ ដែល​អ្នក​នឹង​អាច​រក​បាន​នៅ​ក្នុង​ម៉ឺនុយ​ ឯកសារ​សម្រាប់​" +"របាយការណ៍​កំហុស​ច្បាស់លាស់ ។" + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "ឯកសារ DVI មិន​ចាប់ផ្ដើម​ជាមួយ​នឹង​លំនាំដើម​ទេ ។" + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" +"ឯកសារ​ DVI មាន​កំណែ​ខុស​របស់លទ្ធផល DVI សម្រាប់​កម្មវិធី​នេះ ​។ ជំនួយ ៖ បើ​អ្នកប្រើ​ប្រព័ន្ធ​ការកំណត់​ប្រភេទ​" +"អ៉ូម៉េហ្គា​ អ្នក​បានប្រើ​កម្មវិធី​ពិសេស​ ដូចជា​ oxdvi ។​" + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "ឯកសារ DVI បាន​ខូច​យ៉ាង​ធ្ងន់ធ្ងរ ។ Okular មិន​អាច​រក postamble ។" + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr " postamble មិន​អាច​ចាប់​ផ្តើម​ជា​មួយ​បញ្ជា POST បាន​ឡើយ​​។​" + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "postamble មាន​ពាក្យ​បញ្ជា​ក្រៅ​ពី FNTDEF ។" + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "ទំព័រ %1 មិន​ចាប់​ផ្ដើម​ជាមួយ​នឹង​ពាក្យ​បញ្ជា BOP ឡើយ ។" + +#: dviFile.cpp:354 +#, fuzzy, kde-format +#| msgid "" +#| "

    The external program pdf2ps could not be started. " +#| "As a result, the PDF-file %1 could not be converted to PostScript. Some " +#| "graphic elements in your document will therefore not be displayed.

    Possible reason: The program pdf2ps may not " +#| "be installed on your system, or cannot be found in the current search " +#| "path.

    What you can do: The program pdf2ps " +#| "is normally contained in distributions of the ghostscript PostScript " +#| "interpreter system. If ghostscipt is not installed on your system, you " +#| "could install it now. If you are sure that ghostscript is installed, try " +#| "to use pdf2ps from the command line to check if it " +#| "really works.

    PATH: %2

    " +msgid "" +"

    The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

    What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

    PATH: %2

    " +msgstr "" +"

    មិន​អាច​ត្រូវ​បាន​ចាប់ផ្ដើម​កម្មវិធី​ខាង​ក្រៅ pdf2ps បានទេ ។ ជា​លទ្ធផល " +"ឯកសារ PDF %1 មិន​អាច​ត្រូវ​បាន​បម្លែង​ទៅជា PostScript ឡើយ ។ ដូច្នេះ​ធាតុ​ក្រាហ្វិក​មួយ​ចំនួន​នៅ​ក្នុង​" +"ឯកសារ​របស់​អ្នក​​នឹង​មិន​ត្រូវ​បានបង្ហាញ​ទេ ។

    មូលហេតុ​គឺ ៖ កម្មវិធី pdf2ps ប្រហែល​ជា​មិន​បាន​ដំឡើង​នៅ​ក្នុង​ប្រព័ន្ធ​របស់​អ្នក ឬ​មិន​អាច​រក​ឃើញ​នៅ​ក្នុង​ផ្លូវ​ស្វែងរក​បច្ចុប្បន្ន ។

    អ្វីដែល​ត្រូវ​ធ្វើ​ ៖តាម​ធម្មតា កម្មវិធី pdf2ps មាននៅ​ក្នុង​ការ​" +"ចែកចាយ​​របស់​ប្រព័ន្ធ​​កម្មវិធី​បកប្រែ PostScript របស់ ghostscript ។ ប្រសិនបើ​មិនទាន់​បាន​ដំឡើង " +"ghostscript នៅ​ក្នុង​ប្រព័ន្ធ​របស់​អ្នក​ទេ អ្នកអាច​ដំឡើង​វា​ឥឡូវ ។ ប្រសិន​បើ​អ្នក​ច្បាស់​ថា​បាន​ដំឡើង " +"ghostscript រួចហើយ សូម​ប្រើ pdf2ps ពី​បន្ទាត់​ពាក្យ​បញ្ជា ដើម្បី​ពិនិត្យ​មើល​​" +"ថាតើ​វា​ពិត​ជា​ដំណើរការ​ឬអត់ ។

    ផ្លូវ ៖ %2

    " + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

    The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

    %2

    " +msgstr "" +"

    ឯកសារ PDF %1 មិន​អាច​ត្រូវ​បាន​ដំឡើង​ទៅ PostScript ។ ធាតុ​ក្រាហ្វិក​មួយ​ចំនួន​នៅ​ក្នុង​ឯកសារ​" +"របស់​អ្នក នឹង​មិន​ត្រូវ​បានបង្ហាញ​ទេ ។

    មូលហេតុ​ដែល​មាន ៖ ឯកាសរ %1 អាច​ខូច ឬ​មិន​​មែន​ជា​" +"ឯកសារ PDF ទាល់តែសោះ ។នេះ​គឺ​ជា​លទ្ធផល​របស់​កម្មវិធី pdf2ps ដែល Okular " +"បាន​ប្រើ ៖

    %2

    " + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, fuzzy, kde-format +#| msgid "" +#| "File not found: \n" +#| " %1" +msgid "File corruption. %1" +msgstr "" +"រក​មិន​ឃើញ​ឯកសារ ៖ \n" +" %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "" + +#: dviRenderer.cpp:419 +#, fuzzy, kde-format +#| msgid "The special command '%1' is not implemented." +msgid "The specified file '%1' does not exist." +msgstr "ពាក្យ​បញ្ជា​ពិសេស '%1' មិន​ត្រូវ​បាន​អនុវត្ត ។" + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "កូដ DVI កំណត់​តួអក្សរ​នៃ​ពុម្ពអក្សរ​ដែល​មិន​ស្គាល់ ។" + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "កូដ DVI យោង​តាម​ពុម្ពអក្សរ #%1 ដែល​មិន​ត្រូវ​បាន​កំណត់​ពីមុន ។" + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "ជង់​មិន​ទទេ នៅ​ពេល​ជួប​​ពាក្យ​បញ្ជា EOP ។" + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "ជង់​ទទេ​នៅ​ពេល​ជួប​ពាក្យ​បញ្ជា POP ។" + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "កូដ DVI សំអាង​លើ​ពុម្ពអក្សរ​ដែល​មិន​ត្រូវ​បាន​កំណត់​ពី​មុន ។" + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "បានជួប​ប្រទះ​ពាក្យ​បញ្ជា​ដែល​មិន​ត្រឹមត្រូវ​ ។​​" + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "មិនស្គាល់​កូដ​ op- %1 ត្រូវ​បាន​ជួប​ប្រទះ​ ។​" + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "បង្កប់​ %1" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
    " +msgstr "" +"ទំព័រ %1 ៖ ឯកសារ PDF %2 មិន​អាច​ត្រូវ​បាន​បម្លែង​ទៅ PostScript ។
    " + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
    " +msgstr "ទំព័រ​ %1 ៖ ឯកសារ​ PostScript %2 មិន​អាច​រក​ឃើញ​ឡើយ​ ​។​
    " + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "ទំហំ​ក្រដាស​ទិន្នន័យ​ '%1' មិន​អាច​ញែក​បាន​ឡើយ​ ។​" + +#: fontpool.cpp:209 +#, fuzzy, kde-format +#| msgid "" +#| "

    Okular was not able to locate all the font files which are " +#| "necessary to display the current DVI file. Your document might be " +#| "unreadable.

    " +msgid "" +"

    Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

    PATH: %1

    %2

    " +msgstr "" +"

    ​Okular មិន​អាច​បម្រុង​ទុក​ឯកសារ​ពុម្ពអក្សរ​ទាំងអស់​ដែល​ចាំបាច់​ដើម្បីបង្ហាញ​ឯកសារ DVI បច្ចុប្បន្ន​" +"បានទេ ។ ឯកសារ​របស់​អ្នក​ប្រហែល​ជា​មិនអាច​អាន​បាន ។

    " + +#: fontpool.cpp:284 +#, fuzzy, kde-format +#| msgid "" +#| "

    There were problems running kpsewhich. As a result, some font " +#| "files could not be located, and your document might be unreadable.

    Possible reason: The kpsewhich program is perhaps not " +#| "installed on your system, or it cannot be found in the current search " +#| "path.

    What you can do: The kpsewhich program is normally " +#| "contained in distributions of the TeX typesetting system. If TeX is not " +#| "installed on your system, you could install the TeX Live distribution " +#| "(www.tug.org/texlive). If you are sure that TeX is installed, please try " +#| "to use the kpsewhich program from the command line to check if it really " +#| "works.

    " +msgid "" +"

    There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
    Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

    PATH: %1

    %2

    " +msgstr "" +"

    មានបញ្ហា​ក្នុង​ការត់ kpsewhich ។ ជា​លទ្ធផល ឯកសារ​ពុម្ពអក្សរ​មួយ​មិន​អាច​ត្រូវ​បានកំណត់​" +"ទីតាំង និង​ឯកសារ​របស់​អ្នក​ប្រហែលជា​មិនអាច​អាន​បាន ។

    មូលហេតុ​ដែលមាន ៖ កម្មវិធី " +"kpsewhich ប្រហែល​ជា​មិន​​បាន​ដំឡើង​នៅ​ក្នុង​ប្រព័ន្ធ​របស់​អ្នក ឬ​វា​មិន​អាច​រក​ឃើញ​នៅ​ក្នុង​ផ្លូវ​ស្វែងរក​" +"បច្ចុប្បន្ន ។

    អ្វី​ដែល​អ្នក​អាច​ធ្វើ ៖ កម្មវិធី kpsewhich តាម​ធម្មតា​មាន​នៅ​ក្នុង​ការ​" +"ចែកចាយ​របស់​ប្រព័ន្ធ​កំណត់​ការ​វាយ​របស់ TeX ។ ប្រសិនបើ TeX មិន​បានដំឡើង​នៅ​ក្នុងប្រព័ន្ធ​របស់​អ្នក អ្នក​អាច​" +"ដំឡើង​ការ​ចែកចាយ​ផ្ទាល់​របស់ TeX (www.tug.org/texlive) ។ ប្រសិន​បើ​អ្នក​ប្រាកដ​ថា TeX ត្រូវ​" +"បានដំឡើង សូម​ព្យាយាម​ប្រើ​​កម្មវិធី kpsewhich ពី​បន្ទាត់​ពាក្យ​បញ្ជា​ដើម្បី​ពិនិត្យ​ប្រសិន​បើ​វា​ពិត​ជា​" +"ដំណើរការ ។

    " + +#: fontpool.cpp:305 +#, fuzzy, kde-format +#| msgid "" +#| "

    The font generation by kpsewhich was aborted (exit code %1, " +#| "error %2). As a result, some font files could not be located, and your " +#| "document might be unreadable.

    " +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" +"

    ការ​បង្កើត​ពុម្ពអក្សរ​ដោយ kpsewhich ត្រូវ​បានបោះបង់ (កូដ​ចេញ %1កំហុស %2) ។ ជា​" +"លទ្ធផល ឯកសារ​ពុម្ពអក្សរ​មួយ​ចំនួន​មិនអាច​ត្រូវ​បាន​កំណត់​ទីតាំង​ឯកសារ​របស់អ្នក​ទេ អាច​​អាន​បាន ។

    " + +#: fontpool.cpp:482 +#, fuzzy, kde-format +#| msgid "Currently generating %1 at %2 dpi" +msgid "Currently generating %1 at %2 dpi…" +msgstr "បច្ចុប្បន្ន​កំពុង​បង្កើត %1 នៅ %2 dpi" + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "ឧបករណ៍​បង្កើត/កាលបរិច្ឆេទ" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "រក​មិន​ឃើញ​ឯកសារ​​ពុម្ពអក្សរ​" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "បញ្ឈរ​" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "ផ្ដេក" + +#: psgs.cpp:286 +#, fuzzy, kde-format +#| msgid "" +#| "The version of Ghostview that is installed on this computer does not " +#| "contain any of the Ghostview device drivers that are known to Okular. " +#| "PostScript support has therefore been turned off in Okular." +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" +"កំណែ​របស់​ Ghostview ដែល​ត្រូវ​បានដំឡើង​នៅ​ក្នុង​កុំព្យូទ័រ​នេះ មិន​មាន​កម្មបញ្ហា​ឧបករណ៍​ Ghostview " +"ណា​មួយ​ដែល​ត្រូវ​បាន​ស្គាល់​ថា​ជា Okular នោះ​ទេ ។ ដូច្នេះ​ការ​គាំទ្រ PostScript ត្រូវ​បាន​បិទ​នៅ​ក្នុង " +"Okular ។" + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "វា​បណ្ដាល​ឲ្យ​មាន​កំហុស ២៥ ។ សារ​កំហុស​ផ្សេង​ទៀត​នឹង​មិន​ត្រូវ​បាន​បោះពុម្ព​ទេ ។" + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" +"កំហុស​នៅ​ក្នុង DVIfile '%1' ទំព័រ %2 ។ ពាក្យ​បញ្ជា​លេច​ឡើង​មាន​ពណ៌​បាន​ចេញ​ នៅ​ពេល​​ជង់​ពណ៌​ទទេ ។" + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" +"ប៉ារ៉ាម៉ែត្រ Malformed នៅ​ក្នុង​ពាក្យ​បញ្ជា epsf ជា​ពិសេស ។\n" +"សង្ឃឹម​ថា​ចំនួន​ពិត​នឹង​តាម %1 នៅ​ក្នុង %2" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"រក​មិន​ឃើញ​ឯកសារ ៖ \n" +" %1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "កំហុស​នៅ​ក្នុង DVIfile '%1' ទំព័រ %2 ។ មិន​អាច​បកប្រែ​មុំ​នៅ​ក្នុង​ទិស​អត្ថបទ​ពិសេស ។" + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "ពាក្យ​បញ្ជា​ពិសេស '%1' មិន​ត្រូវ​បាន​អនុវត្ត ។" + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" +"អាចបើក និង​អាន​ឯកសារ​ពុម្ពអក្សរ %1 បានទេ ប៉ុន្តែ​ទ្រង់ទ្រាយ​ពុម្ពអក្សរ​របស់វា​គឺ​មិន​ត្រូវ​បាន​គាំទ្រ​ទេ ។" + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "ឯកសារ​ពុម្ពអក្សរ %1 ខូច ឬ​មិន​អាច​បើក ឬ​អាន​វា​បាន" + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "FreeType ​បាន​រាយការណ៍​កំហុស នៅ​ពេល​កំណត់​ទំហំ​តួអក្សរ​សម្រាប់​ឯកសារ​ពុម្ពអក្សរ %1 ។" + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "FreeType ​មិន​អាច​ផ្ទុក​ glyph #%1ពី​ឯកសារ​ពុម្ពអក្សរ​ %2 បាន​ឡើយ​ ។​" + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "FreeType ​មិន​អាច​ផ្ទុក​ glyph #%1ពី​ឯកសារ​ពុម្ពអក្សរ​ %2 បានឡើយ​ ។​" + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "Glyph #%1 គឺ​ទទេ ។​" + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "Glyph #%1 ពី​ឯកសារ​ពុម្ពអក្សរ %2 គឺ​ទទេ ។" + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "FreeType ​អាច​ផ្ទុក​​ម៉ែត្រ​របស់ glyph #%1 ពី​ឯកសារ​ពុម្ពអក្សរ ​%2 បាន​ឡើយ​ ។​" + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "មិនអាច​បើក​ឯកសារ​ពុម្ពអក្សរ %1 បានទេ ។" + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "TexFont_PK::operator[] ៖ តួអក្សរ​ %1 ពុំ​បាន​កំណត់​ក្នុង​ពុម្ពអក្សរ​ %2 ឡើយ​​។​" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "%1 ដែល​មិន​បាន​រំពឹង​ក្នុង​ឯកសារ PK %2" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "តួអក្សរ​ %1 ធំពេក​នៅ​ក្នុង​ឯកសារ %2" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "ខុស​លេខ​​​​ប៊ីត​ដែ​ល​បាន​ផ្ទុក​ ៖ តួអក្សរ %1, ពុម្ពអក្សរ​ %2" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "ឯកសារ​ pk មិន​ត្រឹមត្រូវ (%1) គឺ​ដោយ​មាន​​ប៊ីត​ច្រើន​ពេក" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "ពុម្ពអក្សរ​មាន​សមាមាត្រ​ដែល​មិន​មែន​ជា​ការេ​" + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "មិនអាច​រក​ពុម្ពអក្សរ %1 ឯកសារ %2 បានទេ ។" + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "ឆេកសាំ​មិនផ្គូរផ្គង សម្រាប់​ឯកសារ​ពុម្ពអក្សរ %1" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "មិន​អាច​ស្គាល់​ទ្រង់ទ្រាយ​សម្រាប់​ឯកសារ​ពុម្ពអក្សរ %1 បានទេ" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"កំហុស​ធ្ងន់ធ្ងរ ។\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" +"\n" +"\n" +"នេះ​ប្រហែល​ជា​មានន័យ​ថា ង្កន​រកឃើញ​កំហុស​នៅ​ក្នុង Okular\n" +"ឬ​ឯកសារ DVI ឬ​ឯកសារ​បន្ថែម (ដូច​ជា​ឯកសារ​ពុម្ពអក្សរ \n" +"ឬ​ឯកសារ​ពុម្ពអក្សរ​និម្មិត) ពិត​ជា​ខូច​ធ្ងន់ធ្ងរ ។\n" +"Okular នឹង​បោះបង់​បន្ទាប់ពី​សារ​នេះ ។ ប្រសិន​បើអ្នក​ជឿថា​ រក​ឃើញ​កំហុស \n" +" ឬ​ Okular គួរ​មាន​ឥរិយាបថ​ប្រសើរ​ជាង​នៅ​ក្នុង​ស្ថានភាព​នេះ\n" +"សូម​រាយការណ៍​អំពី​បញ្ហា​នេះ ។" + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "រក​ឃើញ​បៃ​ពាក្យ​បញ្ជា​មិន​ត្រឹមត្រូវ​នៅ​ក្នុង​បញ្ជី​ម៉ាក្រូ VF ៖ %1" + +#~ msgid "" +#~ "

    The Ghostview program, which Okular uses internally to display the " +#~ "PostScript graphics that is included in this DVI file, is generally able " +#~ "to write its output in a variety of formats. The sub-programs that " +#~ "Ghostview uses for these tasks are called 'device drivers'; there is one " +#~ "device driver for each format that Ghostview is able to write. Different " +#~ "versions of Ghostview often have different sets of device drivers " +#~ "available. It seems that the version of Ghostview that is installed on " +#~ "this computer does not contain any of the device drivers " +#~ "that are known to Okular.

    It seems unlikely that a regular " +#~ "installation of Ghostview would not contain these drivers. This error may " +#~ "therefore point to a serious misconfiguration of the Ghostview " +#~ "installation on your computer.

    If you want to fix the problems with " +#~ "Ghostview, you can use the command gs --help to display " +#~ "the list of device drivers contained in Ghostview. Among others, Okular " +#~ "can use the 'png256', 'jpeg' and 'pnm' drivers. Note that Okular needs to " +#~ "be restarted to re-enable PostScript support.

    " +#~ msgstr "" +#~ "

    កម្មវិធី Ghostview ដែល Okular ប្រើ​ដើម្បីបង្ហាញ​ក្រាហ្វិក​របស់ PostScript ដែល​ត្រូវ​" +#~ "បាន​រួម​បញ្ចូល​នៅ​ក្នុង​ឯកសារ DVI នេះ ជា​ទូទៅ​អាច​សរសេរ​លទ្ធផល​របស់​វា​នៅ​ក្នុង​ទ្រង់ទ្រាយ​ផ្សេងៗ ។ " +#~ "កម្មវិធី​រងដែល Ghostview ប្រើ​សម្រាប់​ភារកិច្ច​ទាំង​នេះ​ត្រូវ​បាន​ហៅ​ថា 'កម្មវិធី​បញ្ជា​ឧបករណ៍' ដែល​" +#~ "មាន​កម្មវិធី​បញ្ជា​ឧបករណ៍​សម្រាប់​ទ្រង់ទ្រាយ​នីមួយៗ​ដែល Ghostview អាច​សរសេរ​បាន ។ កំណែ​ខុស​គ្នា​របស់ " +#~ "Ghostview ជា​រឿយៗ​មាន​សំណុំ​កម្មវិធីបញ្ជា​ឧបករណ៍​ខុសៗគ្នា​អាច​ប្រើ​បាន ។ វា​ហាក់បី​ដូច​ជា​កំណែ​របស់ " +#~ "Ghostview នោះ ​ត្រូវ​បាន​ដំឡើង​ក្នុង​កំព្យូទ័រ​នេះ​ទេ​មិន​មាន កម្មវិធី​បញ្ជា​ឧបករណ៍​ណាមួយ ដែល​ត្រូវ​បាន​ស្គាល់​ថា​ជា Okular ទេ ។

    វា​ហាក់បី​ដូច​ជា​មិន​ដូច​នឹង​ការ​ដំឡើង​ធម្មតា​" +#~ "របស់ Ghostview ដែល​នឹង​មិនមាន​កម្មវិធី​បញ្ជា​ទាំងនេះ ។ ដូច្នេះ​កំហុស​​នេះ​​ចង្អុល​ទៅ​រក​កា​រកំណត់​" +#~ "រចនាសម្ព័ន្ធ​មិន​ត្រឹត្រូវ​ដ៏ធ្ងន់ធ្ងរ​​នៃ​ការ​ដំឡើង Ghostview នៅ​ក្នុ​ងកុំព្យូទ័រ​របស់​ទេ ។

    ប្រសិន​" +#~ "បើអ្នក​ចង់​ជួសជុល​បញ្ហា​នេះ​ជា​មួយ Ghostview អ្នក​អាច​ប្រើ​ពាក្យ​បញ្ជាgs --help ដើម្បីបង្ហាញ​បញ្ជី​​កម្មវិធី​បញ្ជា​ឧបករណ៍​ដែល​មាននៅ​ក្នុង Ghostview ។ ក្នុង​ចំណោម​នោះ " +#~ "Okular អាច​ប្រើ​កម្មវិធី​បញ្ជា 'png256', 'jpeg' និង 'pnm' ។ ចំណាំ​ថា Okular តម្រូវ​ឲ្យ​" +#~ "ចាប់ផ្ដើម​ឡើង​វិញ​ដើម្បី​អនុញ្ញាតការ​គាំទ្រ PostScript ឡើងវិញ ។

    " + +#~ msgid "DVI Backend" +#~ msgstr "កម្មវិធី​ខាងក្រោយ DVI" + +#~ msgid "A DVI file renderer" +#~ msgstr "កម្មវិធី​បង្ហាញ​ឯកសារ DVI" + +#~ msgid "© 2006 Luigi Toscano" +#~ msgstr "រក្សាសិទ្ធិ​ឆ្នាំ ២០០៦ ដោយ Luigi Toscano" + +#~ msgid "" +#~ "

    Okular relies on the kpsewhich program to locate font files on " +#~ "your hard disk and to generate PK fonts, if necessary.

    " +#~ msgstr "" +#~ "

    Okular អាស្រ័យយ​លើ​កម្មវិធី kpsewhich ដើម្បី​បម្រុង​ទុក​ឯកសារ​ពុម្ពអក្សរ​នៅ​លើ​ថាស​រឹង​" +#~ "របស់​អ្នក និង​ដើម្បីបង្កើត​ពុម្ពអក្សរ PK ប្រសិន​បើ​ចាំបាច់ ។

    " + +#~ msgid "Okular is currently generating bitmap fonts..." +#~ msgstr "Okular បច្ចុប្បន្ន​កំពុង​បង្កើត​ពុម្ពអក្សរ​រូបភាព..." + +#~ msgid "Aborts the font generation. Do not do this." +#~ msgstr "បោះបង់​​​ការ​បង្កើត​ពុម្ពអក្សរ ។ កុំ​ធ្វើ​ដូច្នេះ​ ។" + +#~ msgid "" +#~ "Okular is currently generating bitmap fonts which are needed to display " +#~ "your document. For this, Okular uses a number of external programs, such " +#~ "as MetaFont. You can find the output of these programs later in the " +#~ "document info dialog." +#~ msgstr "" +#~ "Okular បច្ចុប្បន្ន​កំពុង​បង្កើត​ពុម្ពអក្សរ​រូបភាព​ដែល​ត្រូវ​ការ​ដើម្បី​បង្ហាញ​ឯកសារ​របស់​អ្នក ។ សសម្រាប់​" +#~ "បញ្ហានេះ Okular ប្រើ​កម្មវិធី​ខាង​ក្រោយ​ជា​ច្រើន ដូចជា​MetaFont ។ អ្នក​អាច​រក​លទ្ធផល​របស់​កម្មវិធី​" +#~ "ទាំងនេះ​ពេលក្រោយ​ក្នុង​ប្រអប់​ព័ត៌មាន​ឯកសារ ។" + +#~ msgid "Okular is generating fonts. Please wait." +#~ msgstr "Okular កំពុង​បង្កើត​ពុម្ពអក្សរ ។ សូម​រង់ចាំ..." + +#~ msgid "Font Generation Progress Dialog" +#~ msgstr "ប្រអប់​វឌ្ឍនភាព​បង្កើត​ពុម្ពអក្សរ" + +#~ msgid "Abort" +#~ msgstr "បោះបង់" + +#~ msgid "What is happening here?" +#~ msgstr "មាន​អ្វី​​កើត​ឡើង​នៅ​ទីនេះ ?" + +#~ msgid "%v of %m" +#~ msgstr "%v នៃ %m" + +#~ msgid "Please be patient" +#~ msgstr "សូម​មេត្តា​​អត់ធ្មត់" + +#~ msgid "*.pdf|Portable Document Format (*.pdf)" +#~ msgstr "*.pdf|ទ្រង់ទ្រាយ​ឯកសារ​ចល័ត (*.pdf)" + +#~ msgid "Export File As" +#~ msgstr "នាំចេញ​ឯកសារ​ជា​" + +#~ msgid "" +#~ "The file %1\n" +#~ "exists. Do you want to overwrite it?" +#~ msgstr "" +#~ "មាន​ឯកសារ​ %1\n" +#~ "រួចហើយ​ ។ ​តើ​អ្នក​ចង់​សរសេរ​ជាន់​ពីលើ​ឯកសារ​នោះ​ឬ ?" + +#~ msgid "Overwrite File" +#~ msgstr "សរសេរ​ជាន់​លើ​ឯកសារ" + +#~ msgid "Overwrite" +#~ msgstr "សរសេរ​ជាន់​លើ" + +#~ msgid "Using dvipdfm to export the file to PDF" +#~ msgstr "ដោយ​ប្រើ​ dvipdfm ដើម្បី​នាំចេញ​ឯកសារ​ទៅជា PDF" + +#~ msgid "" +#~ "Okular is currently using the external program 'dvipdfm' to convert your " +#~ "DVI-file to PDF. Sometimes that can take a while because dvipdfm needs to " +#~ "generate its own bitmap fonts Please be patient." +#~ msgstr "" +#~ "Okular បច្ចុប្បន្ន​កំពុង​ប្រើ​កម្មវិធី​ខាង​ក្រៅ 'dvipdfm' ដើម្បី​បម្លែង​ឯកសារ DVI-ទៅ​ជា PDF ។ " +#~ "ជួនកាល​អាច​ចំណាយ​ពេល​មួយរយៈ ពីព្រោះ dvipdfm ត្រូវ​តែ​បង្កើត​ពុម្ពអក្សរ​រូបភាព​ផ្ទាល់​របស់​វា សូម​" +#~ "អត់ធ្មត់ ។" + +#~ msgid "Waiting for dvipdfm to finish..." +#~ msgstr "កំពុង​រង់ចាំ​ dvipdfm ដើម្បី​បញ្ចប់​..." + +#~ msgid "*.ps|PostScript (*.ps)" +#~ msgstr "*.ps|PostScript (*.ps)" + +#~ msgid "Using dvips to export the file to PostScript" +#~ msgstr "ដោយ​ប្រើ​ dvips ដើម្បី​នាំចេញ​ឯកសារ​ទៅ​ជា PostScript" + +#~ msgid "" +#~ "Okular is currently using the external program 'dvips' to convert your " +#~ "DVI-file to PostScript. Sometimes that can take a while because dvips " +#~ "needs to generate its own bitmap fonts Please be patient." +#~ msgstr "" +#~ "Okular បច្ចុប្បន្ន​កំពុង​ប្រើ​កម្មវិធីខាង​ក្រៅ 'dvips' ដើម្បី​បម្លែង​ឯកសារ DVI របស់​អ្នក​ទៅ​ជា " +#~ "PostScript ។ ពេលខ្លះ​អាច​ចំណាយ​ពេល​មួយ​រយៈ ពីព្រោះ dvips ត្រូវ​បង្កើត​ពុម្ពអក្សរ​​រូបភាព​ផ្ទាល់​របស់​" +#~ "វា សូម​មេត្តា​អត់ធ្មត់ ។" + +#~ msgid "Waiting for dvips to finish..." +#~ msgstr "កំពុង​រង់ចាំ​ dvips ដើម្បី​បញ្ចប់​..." + +#~ msgid "Functionality Unavailable" +#~ msgstr "មុខងារ​ដែល​មិន​អាច​​ប្រើ​បាន​" + +#~ msgid "" +#~ "File corruption Okular could not interpret your DVI " +#~ "file. This is most commonly caused by a corrupted file." +#~ msgstr "" +#~ "ឯកសារ​ខូច Okular មិនអាច​បកប្រែ​ឯកសារ DVI របស់​អ្នក​បានទេ ។ តាម​" +#~ "ធម្មតា​ បណ្ដាល​មកពី​ឯកសារ​ដែល​ខូច​នោះ ។" + +#~ msgid "DVI File Error" +#~ msgstr "កំហុស​ឯកសារ​ DVI" + +#~ msgid "Not All Font Files Found" +#~ msgstr "រក​មិន​ឃើញ​ឯកសារ​ពុម្ពអក្សរ​ទាំង​អស់​" + +#~ msgid "Locating fonts..." +#~ msgstr "កំពុង​រក​ទីតាំង​​ពុម្ពអក្សរ​..." + +#~ msgid "Problem locating fonts" +#~ msgstr "បញ្ហា​ក្នុង​កា​ររកទីតាំង​ពុម្ពអក្សរ" + +#~ msgid "Font generation aborted" +#~ msgstr "បានបោះបង់កា​របង្កើត​ពុម្ពអក្សរ" + +#~ msgid "Export: %1 to PDF" +#~ msgstr "នាំចេញ ៖ %1 ទៅ​ជា PDF" + +#~ msgid "Export: %1 to PostScript" +#~ msgstr "នាំចេញ ៖ %1 ទៅ​ជា​ PostScript" + +#~ msgid "The fontlist is currently empty." +#~ msgstr "បញ្ជី​ពុម្ពអក្សរ​បច្ចុប្បន្នគឺ​​ទទេ ។​" + +#~ msgid "TeX Name" +#~ msgstr "ឈ្មោះ TeX" + +#~ msgid "Family" +#~ msgstr "គ្រួសារ" + +#~ msgid "Zoom" +#~ msgstr "ពង្រីក​" + +#~ msgid "Type" +#~ msgstr "ប្រភេទ" + +#~ msgid "Encoding" +#~ msgstr "ការ​អ៊ិនកូដ" + +#~ msgid "Comment" +#~ msgstr "សេចក្តី​អធិប្បាយ" + +#~ msgid "TeX virtual" +#~ msgstr "TeX និម្មិត​" + +#~ msgid "TeX Font Metric" +#~ msgstr "រង្វាស់​ម៉ែត្រ​ពុម្ព​អក្សរ TeX" + +#~ msgid "FreeType" +#~ msgstr "FreeType" diff --git a/po/km/okular_epub.po b/po/km/okular_epub.po new file mode 100644 index 0000000..1203beb --- /dev/null +++ b/po/km/okular_epub.po @@ -0,0 +1,58 @@ +# translation of okular_epub.po to Khmer +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Khoem Sokhem , 2008. +msgid "" +msgstr "" +"Project-Id-Version: okular_epub\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-12-16 08:15+0700\n" +"Last-Translator: Khoem Sokhem \n" +"Language-Team: Khmer \n" +"Language: km\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ខឹម សុខែម, អេង វណ្ណៈ, អោក ពិសិដ្ឋ" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "khoemsokhem@khmeros.info,​​evannak@khmeros.info,piseth_dv@khmeros.info" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "កំហុស​ខណៈពេល​បើក​​ឯកសារ EPub ។" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "" + +#: generator_epub.cpp:30 +#, fuzzy, kde-format +#| msgid "EPub Backend" +msgid "EPub Backend Configuration" +msgstr "កម្មវិធី​ខាងក្រោយ EPub" + +#~ msgid "EPub Backend" +#~ msgstr "កម្មវិធី​ខាងក្រោយ EPub" + +#~ msgid "An EPub backend" +#~ msgstr "កម្មវិធី​ខាងក្រោយ EPub" + +#~ msgid "© 2008 Ely Levy" +#~ msgstr "រក្សាសិទ្ធិ​ឆ្នាម ២០០៨ ដោយ Ely Levy" + +#~ msgid "Ely Levy" +#~ msgstr "Ely Levy" diff --git a/po/km/okular_fax.po b/po/km/okular_fax.po new file mode 100644 index 0000000..15c11d8 --- /dev/null +++ b/po/km/okular_fax.po @@ -0,0 +1,47 @@ +# translation of okular_fax.po to Khmer +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Khoem Sokhem , 2008. +msgid "" +msgstr "" +"Project-Id-Version: okular_fax\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-12-16 08:17+0700\n" +"Last-Translator: Khoem Sokhem \n" +"Language-Team: Khmer \n" +"Language: km\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ខឹម សុខែម, អេង វណ្ណៈ, អោក ពិសិដ្ឋ" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "khoemsokhem@khmeros.info,​​evannak@khmeros.info,piseth_dv@khmeros.info" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "មិនអាច​ផ្ទុក​ឯកសារ" + +#~ msgid "Fax Backend" +#~ msgstr "កម្មវិធី​ខាងក្រោយ​ទូរសារ" + +#~ msgid "A G3/G4 fax document backend" +#~ msgstr "កម្មវិធី​ខាងក្រោយ​ឯកសារ G3/G4" + +#~ msgid "© 2008 Tobias Koenig" +#~ msgstr "រក្សាសិទ្ធិ​ឆ្នាំ ២០០៨ ដោយ Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/km/okular_fictionbook.po b/po/km/okular_fictionbook.po new file mode 100644 index 0000000..242dde7 --- /dev/null +++ b/po/km/okular_fictionbook.po @@ -0,0 +1,85 @@ +# translation of okular_fictionbook.po to Khmer +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Khoem Sokhem , 2008. +# Auk Piseth , 2008. +msgid "" +msgstr "" +"Project-Id-Version: okular_fictionbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-12-19 09:39+0700\n" +"Last-Translator: Khoem Sokhem \n" +"Language-Team: Khmer \n" +"Language: km\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ខឹម សុខែម, ​អេង វណ្ណៈ, អោក ពិសិដ្ឋ​" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "khoemsokhem@khmeros.info,​​evannak@khmeros.info,piseth_dv@khmeros.info" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "ឯកសារ​មិនមែន​ជា FictionBook ដែល​ត្រឹមត្រូវ​ទេ" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "មិនអាចបើក​ឯកសារ ៖ %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "ឯកសារ​មិនមែន​ជា​ប័ណ្ណសារ ZIP ត្រឹមត្រូវ​ទេ" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "រចនាសម្ព័ន្ធ​ឯកសារ​មិនត្រឹមត្រូវ (បាត់​ថត​មេ)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "រក​មិនឃើញ​មាតិកា​នៅ​ក្នុង​ឯកសារ​ទេ" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "ឯកសារ XML មិនត្រឹមត្រូវ ៖ %1" + +#: generator_fb.cpp:26 +#, fuzzy, kde-format +#| msgid "Fiction Book Backend" +msgid "FictionBook" +msgstr "កម្មវិធី​ខាងក្រោយ​របស់ Fiction Book" + +#: generator_fb.cpp:26 +#, fuzzy, kde-format +#| msgid "Fiction Book Backend" +msgid "FictionBook Backend Configuration" +msgstr "កម្មវិធី​ខាងក្រោយ​របស់ Fiction Book" + +#~ msgid "Fiction Book Backend" +#~ msgstr "កម្មវិធី​ខាងក្រោយ​របស់ Fiction Book" + +#~ msgid "A renderer for FictionBook eBooks" +#~ msgstr "កម្មវិធី​បង្ហាញ​សម្រាប់ eBooks របស់ FictionBook" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "រក្សាសិទ្ធិ​ឆ្នាំ ២០០៧-២០០៨ ដោយ Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/km/okular_ghostview.po b/po/km/okular_ghostview.po new file mode 100644 index 0000000..199f17b --- /dev/null +++ b/po/km/okular_ghostview.po @@ -0,0 +1,94 @@ +# translation of okular_ghostview.po to Khmer +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Khoem Sokhem , 2008, 2009. +# Auk Piseth , 2008. +msgid "" +msgstr "" +"Project-Id-Version: okular_ghostview\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-05-26 10:10+0700\n" +"Last-Translator: Khoem Sokhem \n" +"Language-Team: Khmer \n" +"Language: km\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ខឹម សុខែម, ​អេង វណ្ណៈ, អោក ពិសិដ្ឋ​" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "khoemsokhem@khmeros.info,​​evannak@khmeros.info,piseth_dv@khmeros.info" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "ប្រើពុម្ពអក្សរវេទិកា" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"កំណត់​ថាតើ​ Ghostscript គួរ​ត្រូវ​បាន​អនុញ្ញាត​ឲ្យ​ប្រើ​ពុម្ពអក្សរ​វេទិកា​ដែរឬទេ ប្រសិនបើបរាជ័យ ប្រើ​តែ​" +"ពុម្ពអក្សរ​ដែលបានបង្កប់​ក្នុង​េកសារ​នឹង​ត្រូវ​បាន​អនុញ្ញាត ។" + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "ការ​កំណត់​ទូទៅ" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "ប្រើពុម្ពអក្សរវេទិកា" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "ការ​កំណត់​រចនា​សម្ព័ន្ធ​ផ្នែក​ខាងក្រោយ Ghostscript" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "កំណែ​ឯកសារ" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "កម្រិត​ភាសា" + +#~ msgid "PS Backend" +#~ msgstr "កម្មវិធី​ខាងក្រោយ PS" + +#~ msgid "A PostScript file renderer." +#~ msgstr "កម្មវិធី​បង្ហាញ​ឯកសារ PostScript ។" + +#~ msgid "© 2007-2008 Albert Astals Cid" +#~ msgstr "រក្សាសិទ្ធិ​ឆ្នាំ ២០០៧-២០០៨ ដោយ Albert Astals Cid" + +#~ msgid "Based on the Spectre library." +#~ msgstr "មានមូលដ្ឋាន​លើ​បណ្ណាល័យ Spectre ។" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" diff --git a/po/km/okular_kimgio.po b/po/km/okular_kimgio.po new file mode 100644 index 0000000..7dee057 --- /dev/null +++ b/po/km/okular_kimgio.po @@ -0,0 +1,70 @@ +# translation of okular_kimgio.po to Khmer +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Khoem Sokhem , 2008, 2010. +# Auk Piseth , 2008. +msgid "" +msgstr "" +"Project-Id-Version: okular_kimgio\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-01-25 11:28+0700\n" +"Last-Translator: Khoem Sokhem \n" +"Language-Team: Khmer \n" +"Language: km\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ខឹម សុខែម, ​អេង វណ្ណៈ, អោក ពិសិដ្ឋ​" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "khoemsokhem@khmeros.info,​​evannak@khmeros.info,piseth_dv@khmeros.info" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "មិនអាច​ផ្ទុក​ឯកសារ ៖ %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" + +#~ msgid "Image Backend" +#~ msgstr "ផ្នែក​ខាងក្រោយ​រូបភាព" + +#~ msgid "A simple image backend" +#~ msgstr "ផ្នែក​ខាងក្រោយ​រូបភាព​ធម្មតា" + +#~ msgid "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" +#~ msgstr "" +#~ "រក្សាសិទ្ធិ​ឆ្នាំ ២០០៥ ២០០៩ ដោយ Albert Astals Cid\n" +#~ "រក្សាសិទ្ធិ​ឆ្នាំ ២០០៦-២០០៧ ដោយ Pino Toscano\n" +#~ "រក្សាសិទ្ធិ​ឆ្នាំ ២០០៦-២០០៧ ដោយ Tobias Koenig" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" + +#~ msgid "Main Toolbar" +#~ msgstr "របារ​ឧបករណ៍​មេ" diff --git a/po/km/okular_mobi.po b/po/km/okular_mobi.po new file mode 100644 index 0000000..2923939 --- /dev/null +++ b/po/km/okular_mobi.po @@ -0,0 +1,65 @@ +# translation of okular_mobi.po to Khmer +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Khoem Sokhem , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_mobi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-05-26 10:09+0700\n" +"Last-Translator: Khoem Sokhem \n" +"Language-Team: Khmer \n" +"Language: km\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ខឹម សុខែម,​អេង វណ្ណៈ, អោក ពិសិដ្ឋ​" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "khoemsokhem@khmeros.info,vannak@khmeros.info,piseth_dv@khmeros.info" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "កំហុស​ខណៈពេល​បើក​ឯកសារ Mobipocket ។" + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "សៀវភៅ​នេះ​ត្រូវ​បានការពារ​ដោយ DRM និង​អាច​ត្រូវ​បាន​បង្ហាញ​តែ​លើ​ឧបករណ៍​ដែល​បាន​កំណត់" + +#: generator_mobi.cpp:25 +#, fuzzy, kde-format +#| msgid "Mobipocket Backend" +msgid "Mobipocket" +msgstr "កម្មវិធី​ខាងក្រោយ Mobipocket" + +#: generator_mobi.cpp:25 +#, fuzzy, kde-format +#| msgid "Mobipocket Backend" +msgid "Mobipocket Backend Configuration" +msgstr "កម្មវិធី​ខាងក្រោយ Mobipocket" + +#~ msgid "Mobipocket Backend" +#~ msgstr "កម្មវិធី​ខាងក្រោយ Mobipocket" + +#~ msgid "A mobipocket backend" +#~ msgstr "កម្មវិធី​ខាង​ក្រោយ mobipocket" + +#~ msgid "© 2008-2009 Jakub Stachowski" +#~ msgstr "រក្សាសិទ្ធិ​ឆ្នាំ 2008-2009 ដោយ Jakub Stachowski" + +#~ msgid "Jakub Stachowski" +#~ msgstr "Jakub Stachowski" diff --git a/po/km/okular_poppler.po b/po/km/okular_poppler.po new file mode 100644 index 0000000..72c1f05 --- /dev/null +++ b/po/km/okular_poppler.po @@ -0,0 +1,411 @@ +# translation of okular_poppler.po to Khmer +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Khoem Sokhem , 2008, 2010, 2012. +# Auk Piseth , 2008. +# Seng Sutha, 2010. +msgid "" +msgstr "" +"Project-Id-Version: okular_poppler\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2012-06-11 14:24+0700\n" +"Last-Translator: Khoem Sokhem \n" +"Language-Team: Khmer\n" +"Language: km\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ខឹម សុខែម, ​អេង វណ្ណៈ, អោក ពិសិដ្ឋ​" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "khoemsokhem@khmeros.info,​​evannak@khmeros.info,piseth_dv@khmeros.info" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "ទេ" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "ជម្រើស PDF" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "បោះបង់​ការ​ពន្យល់" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "ដាក់​បញ្ចូល​ការពន្យល់​ក្នុង​ឯកសារ​ដែល​បានបោះពុម្ព" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"ដាក់​បញ្ចូល​ការ​ពន្យល់​ក្នុង​​ឯកសារ​ដែលបានបោះពុម្ព ។ អ្នក​អាច​បិទ​វា ប្រសិន​បើ​អ្នក​ចង់​បោះពុម្ព​ឯកសារ​ដែល​គ្មាន​​" +"ការ​ពន្យល់​ដើម ។" + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "បង្ខំ​ការ​បម្លែង" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "បម្លែង​ទៅជា​រូបភាព​មុន​ពេល​បោះពុម្ព" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"បង្ខំ​ការ​បម្លែង​ទំព័រ​នីមួយៗ​ទៅ​ជា​រូបភាព​មុន​ពេល​បោះពុម្ព​វា ។ វា​តាមធម្មតា​ផ្ដល់នូវ​លទ្ធផល​មិន​ល្អ ប៉ុន្តែ​មាន​" +"ប្រយោជន៍​នៅ​ពេល​បោះពុម្ព​ឯកសារ ដែល​បង្ហាញ​ដើម្បី​បោះពុម្ព​មិន​ត្រឹមត្រូវ ។" + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "" + +#: generator_pdf.cpp:1031 +#, fuzzy, kde-format +#| msgctxt "PDF v. " +#| msgid "PDF v. %1" +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF v. %1" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "ទ្រង់ទ្រាយ" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "បាន​អ៊ិនគ្រីប" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "មិន​បាន​អ៊ិនគ្រីប" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "សុវត្ថិភាព" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "បាទ/ចាស" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "បង្កើន​ប្រសិទ្ធិភាព" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "" + +#: generator_pdf.cpp:1758 +#, fuzzy, kde-format +#| msgid "PDF Backend" +msgid "PDF Backend Configuration" +msgstr "ផ្នែក​ខាង​ក្រោយ​របស់ PDF" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "" + +#: pdfsignatureutils.cpp:239 +#, fuzzy, kde-format +#| msgid "Document Password" +msgid "Enter Password" +msgstr "ពាក្យ​សម្ងាត់​ឯកសារ" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "" + +#~ msgid "PDF Backend" +#~ msgstr "ផ្នែក​ខាង​ក្រោយ​របស់ PDF" + +#~ msgid "A PDF file renderer" +#~ msgstr "កម្មវិធី​បង្ហាញ​ឯកសារ PDF" + +#~ msgid "© 2005-2008 Albert Astals Cid" +#~ msgstr "រក្សាសិទ្ធិ​ឆ្នាំ ២០០៥-២០០៨ ដោយ Albert Astals Cid" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Saving files with /Encrypt is not supported." +#~ msgstr "ការ​​រក្សាឯកសារ​ដោយ​មាន /Encrypt ​មិនបាន​គាំទ្រ ។" + +#~ msgid "Unknown" +#~ msgstr "មិន​ស្គាល់" + +#~ msgid "Unknown Date" +#~ msgstr "មិន​ស្គាល់​កាលបរិច្ឆេទ" + +#~ msgid "Unknown Encryption" +#~ msgstr "មិន​ស្គាល់​ការ​អ៊ិនគ្រីប" + +#~ msgid "Unknown Optimization" +#~ msgstr "មិន​ស្គាល់​ការ​បង្កើន​ប្រសិទ្ធិភាព" + +#~ msgid "Please enter the password to read the document:" +#~ msgstr "សូម​បញ្ចូល​ពាក្យសម្ងាត់ ដើម្បី​អាន​ឯកសារ ៖" + +#~ msgid "Incorrect password. Try again:" +#~ msgstr "ពាក្យ​សម្ងាត់​មិន​ត្រឹមត្រូវ​ឡើយ ។ សូម​ព្យាយាម​ម្ដង​ទៀត ៖" diff --git a/po/km/okular_xps.po b/po/km/okular_xps.po new file mode 100644 index 0000000..34228e1 --- /dev/null +++ b/po/km/okular_xps.po @@ -0,0 +1,59 @@ +# translation of okular_xps.po to Khmer +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Khoem Sokhem , 2008. +msgid "" +msgstr "" +"Project-Id-Version: okular_xps\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-12-19 09:57+0700\n" +"Last-Translator: Khoem Sokhem \n" +"Language-Team: Khmer \n" +"Language: km\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ខឹម សុខែម, ​អេង វណ្ណៈ, អោក ពិសិដ្ឋ​" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "khoemsokhem@khmeros.info,​​evannak@khmeros.info,piseth_dv@khmeros.info" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "ការ​ពិនិត្យ​ឡើង​វិញ" + +#~ msgid "XPS Backend" +#~ msgstr "ផ្នែក​ខាង​ក្រោយ​របស់ XPS" + +#~ msgid "An XPS backend" +#~ msgstr "ផ្នែក​ខាង​ក្រោយ​របស់ XPS មួយ" + +#~ msgid "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" +#~ msgstr "" +#~ "រក្សាសិទ្ធិ​ឆ្នាំ ២០០៦-២០០៧ ដោយ Brad Hards\n" +#~ "រក្សាសិទ្ធិ​ឆ្នាំ​ ២០០៧ ដោយ Jiri Klement\n" +#~ "រក្សាសិទ្ធិ​ឆ្នាំ ២០០៨ ដោយ Pino Toscano" + +#~ msgid "Brad Hards" +#~ msgstr "Brad Hards" + +#~ msgid "Jiri Klement" +#~ msgstr "Jiri Klement" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" diff --git a/po/ko/okular.po b/po/ko/okular.po new file mode 100644 index 0000000..ab9fc6e --- /dev/null +++ b/po/ko/okular.po @@ -0,0 +1,6790 @@ +# Translation of okular.po to Korean +# Copyright (C) 2007-2008 This_file_is_part_of_KDE +# This file is distributed under the same license as the kdegraphics package. +# SPDX-FileCopyrightText: 2007, 2008, 2009, 2010, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025 Shinjo Park +# JungHee Lee , 2019. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-20 01:33+0200\n" +"Last-Translator: Shinjo Park \n" +"Language-Team: Korean \n" +"Language: ko\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Lokalize 24.12.3\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "박신조" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde@peremen.name" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Okular, 만능 문서 뷰어" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "이전 관리자" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "프레임워크 작업, FinctionBook 백엔드, 이전 ODT 백엔드" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "개발자" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymanski" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "KPDF 코드 기반에서 Okular 최초 작성" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "Enrico Ros" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "KPDF 개발자" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "Eugene Trounev" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "주석 그림" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "Jiri Baum - NICTA" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "표 선택 도구" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "Fabio D'Urso" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "주석 개선" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "%1쪽으로 가기" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "외부 파일 열기" + +#: core/action.cpp:197 +#, kde-format +msgid "Execute '%1'…" +msgstr "'%1' 실행…" + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "첫 쪽" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "이전 쪽" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "다음 쪽" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "마지막 쪽" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "뒤로" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "앞으로" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "끝내기" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "프레젠테이션 시작" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "프레젠테이션 끝" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "찾기…" + +#: core/action.cpp:314 +#, kde-format +msgid "Go To Page…" +msgstr "쪽으로 이동…" + +#: core/action.cpp:365 +#, kde-format +msgid "Play sound…" +msgstr "소리 재생…" + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "자바스크립트 스크립트" + +#: core/action.cpp:483 +#, kde-format +msgid "Play movie…" +msgstr "동영상 재생…" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "동영상 재생" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "동영상 정지" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "동영상 일시 정지" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "동영상 다시 시작" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "이 Okular는 오디오 지원 없이 빌드됨" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "백엔드 선택" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
    %1 (%2).

    Please select which one to use:
    " +msgstr "" +"MIME 형식 %1 (%2)에 대한 백엔드가 하나 이상 존재합니다.

    사용할 백엔드를 선택하십시오:
    " + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "대부분 쪽 크기는 %1입니다." + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "세로 %1" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "가로 %1" + +#: core/document.cpp:246 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 × %2인치(%3)" + +#: core/document.cpp:248 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 × %2 mm(%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "처음부터 계속 검색" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "아래에서부터 계속 검색" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "전달된 문서를 처리할 플러그인을 찾을 수 없습니다." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "이 문서 형식에 서명하는 것은 구현되지 않았음" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "주석 삭제" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "이 문서는 외부 앱을 실행하려고 하며, 안전을 위해서 허용하지 않습니다." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "MIME 형식이 %1인 파일에 필요한 앱을 찾을 수 없습니다." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "임시 파일을 열 수 없습니다" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "인쇄 변환 실패" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "인쇄 프로세스 충돌함" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "인쇄 프로세스를 시작할 수 없음" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "파일로 인쇄할 수 없음" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "프린터 상태가 올바르지 않음" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "인쇄할 파일을 찾을 수 없음" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "인쇄할 파일이 없음" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"인쇄할 수 있는 실행 파일을 찾을 수 없습니다. CUPS lpr 실행 파일이 있는지 확인" +"하십시오" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "인쇄 용지 크기가 잘못됨" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "'%1'을(를) 열 수 없습니다. 파일이 없습니다" + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "제목" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "주제" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "설명" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "작성자" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "제작 도구" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "생성 도구" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "저작권자" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "쪽 수" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "만든 날짜" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "수정한 날짜" + +#: core/document.cpp:6032 +#, kde-format +msgid "MIME Type" +msgstr "MIME 형식" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "분류" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "키워드" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "파일 경로" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "파일 크기" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "쪽 크기" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "주석 추가" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "주석 삭제" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "주석 속성 수정" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "주석 번역" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "주석 조정" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "텍스트 편집" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "주석 내용 편집" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "양식 내용 편집" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "목록 양식 선택 편집" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "콤보 양식 선택 편집" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "양식 단추 상태 편집" + +#: core/generator.cpp:790 +#, kde-format +msgid "Plain &Text…" +msgstr "일반 텍스트(&T)…" + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "OpenDocument 텍스트" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "인쇄 설정" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "인쇄 가능한 영역으로 맞춤" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "전체 페이지 맞춤" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "크기 조정 모드:" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "이 메시지를 다시 표시하지 않기" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "사용할 수 없음" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" +"내부 서명 오류입니다. 재현 과정을 포함하여 버그를 보고해 주십시오. 오류 코드 " +"%1" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "문서에 서명할 수 없음: %1" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "사용자가 서명을 취소함" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "서명할 수 없습니다. 암구호가 잘못되었습니다" + +#: core/signatureutils.cpp:504 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" +"서명된 문서를 %1 파일로 기록할 수 없습니다. 쓰기 권한이 " +"있는 폴더를 선택했는지 확인하십시오" + +#: core/signatureutils.cpp:506 +#, kde-format +msgid "Unknown signing error" +msgstr "알 수 없는 서명 오류" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "원본: %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "기본 글꼴(&D):" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "버전" + +#: gui/certificatemodel.cpp:41 +#, kde-format +msgid "Serial Number" +msgstr "일련 번호" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "발급자" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "발급 시간" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "만료 시간" + +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "발급 대상" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "공개 키" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "키 용도" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "V%1" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "%1(%2비트)" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "속성" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "값" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "팝업 노트" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "타자기" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "인라인 노트" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +#| msgid "Polygon with Comment" +msgid "Arrow with Comment" +msgstr "주석이 있는 다각형" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "화살표" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "주석이 있는 직선" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "직선" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "주석이 있는 다각형" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "다각형" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgid "Stamp with Comment" +msgid "Rectangle with Comment" +msgstr "주석이 있는 스탬프" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "직사각형" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgid "Underline with Comment" +msgid "Ellipse with Comment" +msgstr "주석이 있는 밑줄" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "타원" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "주석이 있는 강조" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "하이라이트" + +#: gui/guiutils.cpp:87 +#, kde-format +msgid "Squiggle with Comment" +msgstr "주석이 있는 휘어진 모양" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "곡선" + +#: gui/guiutils.cpp:91 +#, kde-format +msgid "Underline with Comment" +msgstr "주석이 있는 밑줄" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "밑줄" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out with Comment" +msgstr "주석이 있는 취소선" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "취소선" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "주석이 있는 스탬프" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "스탬프" + +#: gui/guiutils.cpp:106 +#, kde-format +msgid "Freehand Line with Comment" +msgstr "주석이 있는 자유형 곡선" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "자유형 선" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "캐럿" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "파일 첨부" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "소리" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "동영상" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "화면" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "위젯" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "리치 미디어" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation" +msgstr "주석 %1개" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "알 수 없음" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "작성자: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "%1을(를) 어디에 저장하시겠습니까?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "파일 \"%1\"에 쓰려고 열 수 없습니다. 파일이 저장되지 않았습니다." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "암호학적 서명이 올바릅니다." + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "암호학적 서명이 올바르지 않습니다." + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "다이제스트가 일치하지 않습니다." + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "서명 CMS/PKCS7 구조가 잘못되었습니다." + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "요청한 서명이 문서에 없습니다." + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "서명을 검증할 수 없습니다." + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "인증서를 신뢰합니다." + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "인증서 발급자를 신뢰할 수 없습니다." + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "인증서 발급자를 알 수 없습니다." + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "인증서가 취소되었습니다." + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "인증서가 만료되었습니다." + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "인증서가 검증되지 않았습니다." + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "인증서 검증 중" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "인증서에 알 수 없는 문제가 있거나 데이터가 잘못되었습니다." + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "MD2" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "MD5" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "SHA1" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "SHA256" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "SHA384" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "SHA512" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "SHA224" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "알 수 없는 알고리즘" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "RSA" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "DSA" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "EC" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "알 수 없는 형식" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "디지털 서명" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "부인 방지" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "키 암호화" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "키 복호화" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "키 동의" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "서명 인증서" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "서명 CRL" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "암호화만" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "용도 지정되지 않음" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr ", " + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "문서가 서명된 후 수정되지 않았습니다." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" +"이 서명에 해당하는 문서 리비전은 수정되지 않았으나\n" +"문서에 추가적인 변경 사항이 있습니다." + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "이전에 서명한 사람이 허용하지 않은 형태로 문서가 변경되었습니다." + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "문서 무결성 검사를 완료할 수 없습니다." + +#: gui/signatureguiutils.cpp:208 +#, kde-format +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "이 문서에 서명 필드 자리 비움자가 있습니다." + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "이 문서가 디지털 서명되어 있습니다." + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "" +"이 문서가 디지털 서명되어 있습니다. 마지막으로 서명된 후 변경 사항이 있습니" +"다." + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" +"이 문서가 디지털 서명되어 있습니다. 일부 디지털 서명을 검증할 수 없습니다." + +#: gui/signaturemodel.cpp:141 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "서명 자리 비움자 %1" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "필드: %2쪽의 %1" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "리비전 %1: %2이(가) 서명함" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "서명 시간: %1" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "이유: %1" + +#: gui/signaturemodel.cpp:177 +#, kde-format +msgid "Location: %1" +msgstr "위치: %1" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "PGP 서명" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "Adobe PKCS7" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "Adobe PKCS7 SHA1" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "ETSI CAdES" + +#: gui/signaturemodel.cpp:193 +#, kde-format +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "알 수 없음" + +#: gui/signaturemodel.cpp:195 +#, kde-format +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "서명 자리 비움자" + +#: gui/signaturemodel.cpp:201 +#, kde-format +msgid "Signature Type: %1" +msgstr "서명 형식: %1" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "빨간색" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "주황색" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "노란색" + +#: part/annotationactionhandler.cpp:151 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "녹색" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "청록색" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "파란색" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "자홍색" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "흰색" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "회색" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "검은색" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "너비 %1" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1%" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "주석 선 폭(선택한 주석 없음)" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "주석 색상(선택한 주석 없음)" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "주석 채우기 색상(선택한 주석 없음)" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "주석 불투명도(선택한 주석 없음)" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "주석 글꼴(선택한 주석 없음)" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "현재 주석을 빠른 주석 메뉴에 추가(선택한 주석 없음)" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "도형 비율을 1:1이나 선 각도를 15°의 배수로 제한(선택한 주석 없음)" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "현재 주석 도구 고급 설정(선택한 주석 없음)" + +#: part/annotationactionhandler.cpp:308 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "주석 선 폭" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "주석 선 폭(현재 주선에 선 폭 없음)" + +#: part/annotationactionhandler.cpp:314 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "주석 글자색" + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "주석 테두리 색" + +#: part/annotationactionhandler.cpp:318 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "주석 색" + +#: part/annotationactionhandler.cpp:322 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "주석 채우기 색" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "주석 채우기 색(현재 주석에 채우기 색 없음)" + +#: part/annotationactionhandler.cpp:328 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "주석 글꼴" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "주석 글꼴(현재 주석에 글꼴 없음)" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "선 각도를 15°의 배수로 제한" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "도형 비율을 1:1로 제한" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" +"도형 비율을 1:1이나 선 각도를 15°의 배수로 제한(현재 주석에서는 지원하지 않" +"음)" + +#: part/annotationactionhandler.cpp:341 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "주석 불투명도" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "현재 주석을 빠른 주석 메뉴에 추가" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "현재 주석 도구 고급 설정" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "색상" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "채우기 색상" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "투명" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "사용자 정의 색상…" + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "색 선택" + +#: part/annotationactionhandler.cpp:552 +#, kde-format +msgid "&Annotations" +msgstr "주석(&A)" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "숨기기" + +#: part/annotationactionhandler.cpp:554 +#, kde-format +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "더 많은 주석 도구 표시" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "강조 도구" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "밑줄" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "곡선" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "취소선" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "타자기" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "인라인 노트" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "팝업 노트" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "자유형 선" + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "직선" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "화살표" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "직사각형" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "타원" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "다각형" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "기하학적 도형" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "스탬프" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "빠른 주석" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "빠른 주석에서 주석 도구 선택" + +#: part/annotationactionhandler.cpp:651 +#, kde-format +msgid "Quick Annotation Bar" +msgstr "빠른 주석 표시줄" + +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "빠른 주석에 추가" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "계속 유지" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "주석 도구를 사용한 후 계속 활성 상태로 유지" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "주석 도구의 비율과 각도 제한" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "글꼴" + +#: part/annotationactionhandler.cpp:681 +#, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "주석 설정" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "선 폭" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "불투명도" + +#: part/annotationactionhandler.cpp:696 +#, kde-format +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1%" + +#: part/annotationmodel.cpp:320 +#, kde-format +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "%1쪽(%2)" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "%1쪽" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "주석 %1개" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "팝업 노트 열기(&O)" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "책갈피 삭제" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "책갈피에 추가" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, kde-format +msgid "Copy Text to Clipboard" +msgstr "문자열을 클립보드에 복사" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "DRM 때문에 복사 제한됨" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "삭제(&D)" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "속성(&P)" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, kde-format +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "'%1' 저장(&S)…" + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "모양(&A)" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "일반(&G)" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "작성자(&A):" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "만든 날짜:" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "수정한 날짜:" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "팝업 노트 설정" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "타자기 속성" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "인라인 노트 속성" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "직선 속성" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "다각형 속성" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "도형 속성" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "텍스트 마크업 속성" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "스탬프 속성" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "자유형 속성" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "캐럿 속성" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "파일 첨부 속성" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "소리 속성" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "동영상 속성" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "주석 속성" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "파일에서 사용자 정의 스탬프 기호 선택" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "사용자 정의 스탬프 기호 선택" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" +"*.ico *.png *.xpm *.svg *.svgz | 아이콘 파일 (*.ico *.png *.xpm *.svg *.svgz)" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "파일 %1을(를) 불러올 수 없음" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "잘못된 파일" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "색상(&C):" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, kde-format +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%v%" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "불투명도(&O):" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "아이콘:" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "설명" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "도움말" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "삽입" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "키" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "새 문단" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "노트" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "문단" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "글꼴:" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "글자색(&C):" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "정렬(&A):" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "왼쪽" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "가운데" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "오른쪽" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "경계선 넓이(&W):" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "승인됨" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "그대로" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "기밀" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "중요" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "초안" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "실험적" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "만료됨" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "최종" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "주석 필요" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "공개용" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "승인되지 않음" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "비공개용" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "팔렸음" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "일급 기밀" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "책갈피" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "정보" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "스탬프 기호:" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "너비(&W):" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "선 시작:" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "선 끝:" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "사각형" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "원형" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "마름모꼴" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "열린 화살표" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "닫힌 화살표" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "없음" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "끝부분" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "오른쪽으로 열린 화살표" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "오른쪽으로 닫힌 화살표" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "/" + +#: part/annotationwidgets.cpp:531 +#, kde-format +msgid "Leader line length:" +msgstr "위쪽 연장선 길이:" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "아래쪽 연장선 길이:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "사용함" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "도형 채우기:" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "종류:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "취소선" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "첨부 파일 기호:" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "그래프" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "압핀" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "종이 클립" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "태그" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "파일" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "N/A" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "설명이 없습니다." + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "이름:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "설명:" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "캐럿 기호:" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "없음" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "이 노트 닫기" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "설정" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"이 주석에는 LaTeX 코드가 들어 있을 수도 있습니다.\n" +"클릭하면 수식을 표시합니다." + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "latex 실행 파일을 찾을 수 없습니다." + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "LaTeX 처리 실패" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "dvipng 실행 파일을 찾을 수 없습니다." + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "'latex' 명령을 실행하는 동안 문제가 발생했습니다." + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "'dvipng' 명령을 실행하는 동안 문제가 발생했습니다." + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"책갈피 %2개" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "책갈피" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "모든 문서에 표시" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, kde-format +msgid "Search…" +msgstr "찾기…" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, fuzzy, kde-format +#| msgid "Expand all" +msgid "Expand All" +msgstr "모두 펴기" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, fuzzy, kde-format +#| msgid "Collapse all" +msgid "Collapse All" +msgstr "모두 접기" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "이 책갈피로 가기" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "책갈피 이름 바꾸기" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "문서 열기" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "이 문서의 모든 책갈피 삭제" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "인증서 뷰어" + +#: part/certificateviewer.cpp:50 +#, kde-format +msgid "Export…" +msgstr "내보내기…" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "일반" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "발급자" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "일반 이름(CN)" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "이메일" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "조직(O)" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "발급 대상:" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "유효 기간" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "지문" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "SHA-1 지문" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "SHA-256 지문" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "자세한 정보" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "인증서 데이터:" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "인증서를 어디에 저장하시겠습니까?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "인증서 파일 (*.cer)" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "인증서를 내보낼 수 없음" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "색상 모드(&C)" + +#: part/colormodemenu.cpp:21 +#, kde-format +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "색상 변경" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "일반 색상(&N)" + +#: part/colormodemenu.cpp:41 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "색 반전(&I)" + +#: part/colormodemenu.cpp:42 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "종이 색 바꾸기(&P)" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "어두운 색과 밝은 색 바꾸기(&D)" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "흑백으로 바꾸기(&B)" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "광도 반전(&L)" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "루마 반전(sRGB 선형)(&U)" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "루마 반전(대칭)(&S)" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "색조를 양으로 전환(&O)" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "색조를 음으로 전환(&E)" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "빨간색" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "녹색" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "파란색" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "노란색" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "검은색" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "흰색" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "노란색 강조 도구" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "녹색 강조 도구" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "텍스트 삽입" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "링크의 테두리 그리기" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "색상 변경" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "경고: 이 옵션은 그리기 속도에 영향을 끼칠 수 있습니다." + +#: part/dlgaccessibility.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "색 반전" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "종이 색 바꾸기" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "어두운 색과 밝은 색 바꾸기" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "흑백으로 바꾸기" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "광도 반전" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "루마 반전(sRGB 선형)" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "루마 반전(대칭)" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "색조를 양으로 전환" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "색조를 음으로 전환" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "색상 모드:" + +#: part/dlgaccessibility.cpp:87 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "배경색:" + +#: part/dlgaccessibility.cpp:99 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "어두운 색:" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "밝은 색:" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "임곗값:" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "명암:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "텍스트 음성 변환 엔진:" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "텍스트 음성 변환 음성:" + +#: part/dlgannotations.cpp:25 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "전체 주석 도구 모음" + +#: part/dlgannotations.cpp:26 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "빠른 주석 도구 모음" + +#: part/dlgannotations.cpp:28 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "주석 도구 모음:" + +#: part/dlgannotations.cpp:34 +#, kde-format +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "작성자:" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"메모: 여기에 입력한 주석과 검토에만 사용됩니다. 이 곳에 삽입된 정보는 " +"여러분의 통제 범위 안에서 전송됩니다." + +#: part/dlgannotations.cpp:48 +#, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

    Quick Annotation Tools

    " +msgstr "

    빠른 주석 도구

    " + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "Okular에서 원본 파일을 편집하는 데 사용할 편집기를 선택하십시오." + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "사용자 정의 텍스트 편집기" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "이맥스 클라이언트" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "Lyx 클라이언트" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "TeXstudio" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "TeXiFy IDEA" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "편집기:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
    \n" +"You can also put few placeholders:\n" +"
      \n" +"
    • %f - the file name
    • \n" +"
    • %l - the line of the file to be reached
    • \n" +"
    • %c - the column of the file to be reached
    • \n" +"
    \n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"사용자 정의 텍스트 편집기를 설정할 수 있습니다.
    \n" +"대체 문자열을 사용할 수 있습니다:\n" +"
      \n" +"
    • %f - 파일 이름
    • \n" +"
    • %l - 텍스트가 있는 줄 번호
    • \n" +"
    • %c - 텍스트가 있는 칸 번호
    • \n" +"
    \n" +"%f가 없으면 명령의 맨 뒤에 파일 이름을 추가합니다." + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "명령:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "부드러운 스크롤 사용" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "모양:" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "스크롤바 표시" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "미리 보기 그림과 쪽 연결" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "힌트와 정보 메시지 표시" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "임베드된 파일, 폼, 서명 알림 표시" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "사용 가능한 경우 제목 표시줄에 문서 제목 표시" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "파일 이름만 표시" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "전체 파일 경로 표시" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "제목 표시줄에 문서 제목을 보이지 않을 때:" + +#: part/dlggeneral.cpp:92 +#, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "사용자 정의 배경색 사용:" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "프로그램 기능:" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "새 파일을 탭으로 열기" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "파일이 이미 열려 있을 때 기존 탭으로 전환" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "DRM 제한 받아들이기" + +#: part/dlggeneral.cpp:148 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "파일 변경 시 문서 새로 읽기" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "백엔드 선택 대화 상자 표시" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "오른쪽에서 왼쪽 방향으로 읽기" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "파일 정보를 사용하여 기본값으로 연속 모드에서 열지 결정하기" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "정보가 없는 파일에 대해서 기본값으로 연속 모드에서 열기" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "기본값으로 연속 모드에서 열기" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "탐색 도구를 사용할 때 화면 경계에서 커서 둘러싸기" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "최근 기록의 항목:" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "한눈에 보기 열:" + +#: part/dlggeneral.cpp:220 +#, kde-format +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%v%" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "Page Up/Down 키를 누를 때 현재 보기 영역의 얼마까지 보일지 설정합니다." + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "Page Up/Down 겹침 정도:" + +#: part/dlggeneral.cpp:228 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%v%" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "100%" + +#: part/dlggeneral.cpp:233 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "폭 맞춤" + +#: part/dlggeneral.cpp:234 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "쪽 맞춤" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "자동 맞춤" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "사용자 정의" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" +"이전에 연 적이 없는 파일의 기본 확대/축소 모드를 설정합니다. 이전에 연 적이 " +"있는 파일은 닫았을 때의 크기를 사용합니다." + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "기본 확대/축소 배율:" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "투명도 효과 사용" + +#: part/dlgperformance.cpp:28 +#, kde-format +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "CPU 사용량" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "낮음" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "보통(기본값)" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "적극적" + +#: part/dlgperformance.cpp:38 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "최대한 많이" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "메모리 사용량:" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "텍스트 앤티에일리어싱 활성화" + +#: part/dlgperformance.cpp:56 +#, kde-format +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "렌더링 옵션:" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "그래픽 앤티에일리어싱 활성화" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "텍스트 힌팅 활성화" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"메모리 사용량을 최소 한도로 유지합니다. 아무것도 다시 사용하지 않습니다. (메" +"모리 용량이 적은 시스템에 좋음)" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"메모리 사용량과 속도 사이에서 균형을 유지합니다. 다음 페이지를 미리 불러오고 " +"검색을 가속시킵니다. (대개 2GB 메모리 시스템에 좋음)" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"모든 것을 메모리에 유지합니다. 다음 페이지를 미리 불러오고 검색을 가속시킵니" +"다. (4GB 이상 메모리 시스템에 좋음)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" +"메모리에 모든 것을 불러오고 저장합니다. 모든 쪽을 미리 불러옵니다. (총 메모" +"리 양의 50%나 현재 남은 메모리 중 더 작은 값을 사용합니다.)" + +#: part/dlgpresentation.cpp:38 +#, kde-format +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] "매 %v초마다" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "자동으로 진행:" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "첫 쪽에서 다시 반복하기" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "왼쪽/오른쪽을 탭해서 이전/다음으로 이동" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "어디든지 탭해서 다음으로 이동" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "비활성화됨" + +#: part/dlgpresentation.cpp:63 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "터치 탐색:" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "배경색:" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "일정 시간 후 숨기기" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "항상 표시" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "항상 숨김" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "마우스 커서:" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "진행 표시기 표시" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "요약 페이지 표시" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "즉시(애니메이션 사용 안 함)" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "바꾸기" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "무작위 효과" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "수직 블라인드" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "수평 블라인드" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "들어가는 상자" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "나가는 상자" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "용해" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "페이드" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "아래로 반짝임" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "오른쪽으로 반짝임" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "오른쪽 아래로 반짝임" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "수평 안쪽으로 나누기" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "수평 바깥쪽으로 나누기" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "수직 안쪽으로 나누기" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "수직 바깥쪽으로 나누기" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "아래쪽으로 닦아내기" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "오른쪽으로 닦아내기" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "왼쪽으로 닦아내기" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "위로 닦아내기" + +#: part/dlgpresentation.cpp:121 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "기본 전환 효과:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "선호하는 화면:" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

    Drawing Tools

    " +msgstr "

    그리기 도구

    " + +#: part/dlgpresentation.cpp:171 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "현재 화면" + +#: part/dlgpresentation.cpp:172 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "기본 화면" + +#: part/dlgpresentation.cpp:178 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "화면 %1(%2 %3 %4)" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "화면 %1(연결 해제됨)" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "그리기 도구: %1" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "지우개" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "이름(&N):" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "종류(&T):" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "모양" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "텍스트 마크업" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "기하학적 도형" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "주석 생성 도구" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "주석 편집 도구" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "색상:" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "펜 굵기(&P):" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "%v픽셀" + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "그리기 도구 만들기" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "그리기 도구 편집" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "알 수 없음" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "첨부된 파일" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "보기" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "이름" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "설명" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "크기" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "만든 날짜" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "수정한 날짜" + +#: part/embeddedfilesdialog.cpp:154 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "다른 이름으로 저장(&S)…" + +#: part/embeddedfilesdialog.cpp:155 +#, kde-format +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "보기(&V)…" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "미리 보기 부분을 불러올 수 없습니다" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "인쇄 미리 보기" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "닫기" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "찾기(&I):" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "찾을 텍스트입니다" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "다음 일치" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "다음 일치로 이동" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "이전" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "이전 일치로 이동" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "검색 방식 변경" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "대소문자 구분" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "현재 쪽부터" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "입력하는 대로 검색" + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "모든 파일 (*)" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "서명 자리 비움자(클릭하여 서명)" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "서명(&S)…" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "인증서 속성" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "찾기 옵션" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "대소문자 구분" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "정규 표현식" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "레이어" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "중" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "확대/축소" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "100%로 크기 조절" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "오른쪽으로 회전(&R)" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "오른쪽" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "왼쪽으로 회전(&L)" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "왼쪽" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "원래 방향" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "보기 잘라내기(&T)" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "여백 잘라내기(&T)" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "선택 영역으로 잘라내기(&S)" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "폭 맞춤(&W)" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "쪽 맞춤(&P)" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "자동 맞춤(&A)" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "창을 쪽에 맞춤(&N)" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "보기 모드(&V)" + +#: part/pageview.cpp:594 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "한 쪽(&S)" + +#: part/pageview.cpp:595 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "맞쪽(&F)" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "맞쪽(첫 쪽 가운데로)(&C)" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "한눈에 보기(&O)" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "연속적(&C)" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "오른쪽에서 왼쪽 방향으로 읽기" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "탐색(&B)" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "확대/축소(&Z)" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "영역 선택(&S)" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "텍스트 선택(&T)" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "표 선택(&A)" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "돋보기(&M)" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "선택 도구" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "디지털 서명(&S)…" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "전체 문서 말하기" + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "현재 쪽부터 말하기" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "현재 쪽 말하기" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "그만 말하기" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "말하기 일시 정지/다시 시작" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "위로 스크롤" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "아래로 스크롤" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "한 페이지 위로 스크롤" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "한 페이지 아래로 스크롤" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "양식 표시" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] " %1쪽 문서를 불러왔습니다." + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "클립보드에 표 내용 복사" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "텍스트 (%1자)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "클립보드에 복사" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "텍스트 말하기" + +#: part/pageview.cpp:2863 +#, kde-format +msgid "Image (%1 × %2 pixels)" +msgstr "그림(%1 x %2 픽셀)" + +#: part/pageview.cpp:2865 +#, kde-format +msgid "Save to File…" +msgstr "파일로 저장…" + +#: part/pageview.cpp:2885 +#, kde-format +msgid "Image [%1 × %2] copied to clipboard." +msgstr "[%1 x %2] 크기 그림이 클립보드에 복사되었습니다." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "파일 저장" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "그림 (*.png *.jpeg)" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "파일이 저장되지 않았습니다." + +#: part/pageview.cpp:2901 +#, kde-format +msgid "Image [%1 × %2] saved to %3 file." +msgstr "[%1 x %2] 크기 그림이 %3 파일로 저장되었습니다." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "텍스트 복사" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "'%1'(으)로 가기" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "폭 맞춤" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "쪽 맞춤" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "자동 맞춤" + +#: part/pageview.cpp:4107 +#, kde-format +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1%" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "다음으로 '%1' 찾기" + +#: part/pageview.cpp:4404 +#, kde-format +msgid "Configure Web Shortcuts…" +msgstr "웹 바로 가기 설정…" + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "이 링크 따라가기" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "이 소리 재생" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "소리 끄기" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "링크 주소 복사하기" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "현재 문서에서 '%1' 검색" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "환영합니다" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "확대할 구역을 선택하십시오. 오른쪽으로 클릭하면 축소합니다." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "확대해서 보려면 클릭하십시오." + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "복사할 텍스트나 그림 주위로 사각형을 그리십시오." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "텍스트를 선택하십시오" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" +"복사할 표 주위로 사각형을 그린 다음 경계선을 클릭해서 나누십시오. Esc 키를 누" +"르면 다시 시작합니다." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" +"모든 서명용 인증서가 잘못되었습니다. 이전에 서명을 사용한 적이 있다면 유효 기" +"간을 사용하십시오." + +#: part/pageview.cpp:5188 +#, kde-format +msgid "No valid certificates" +msgstr "올바른 인증서가 없음" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, kde-format +msgid "Open Certificate Manager" +msgstr "인증서 관리자 열기" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
    Launch Certificate Manager " +"to import or manage certificates
    For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" +"서명용 인증서를 사용할 수 없습니다.
    인증서 관리자를 실행하여 인증서를 가" +"져오거나 관리할 수 있습니다.
    자세한 정보를 보려면 도움말의 디지털 서명 추가를 참조하십시오." + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, kde-format +msgid "No certificates found" +msgstr "인증서를 찾을 수 없음" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
    For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" +"서명용 인증서를 사용할 수 없습니다.
    자세한 정보를 보려면 도움말의 디지털 서명 추가를 참조하십시오." + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "저장하지 않은 변경 사항이 있습니다. 문서에 서명하기 전에 저장하십시오." + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "서명 필드를 삽입하려면 직사각형 그리기" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "표시할 텍스트나 그림 주위로 사각형을 그리십시오." + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "새 텍스트 노트" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "새 노트의 본문:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"서명한 사람: %1\n" +"\n" +"날짜: %2" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" +"서명 크기가 너무 작아서 읽기 어려울 수도 있습니다. 더 큰 서명을 만들려면 " +"다시 시작을 클릭하고 더 큰 직사각형을 그리십시오." + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "다시 시작" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "서명" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name" +msgstr "작성자 이름" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name for the annotation:" +msgstr "주석을 단 사용자 이름:" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "타원 그리기(드래그로 영역 설정)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "텍스트 강조" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "자유형 곡선 그리기" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "인라인 텍스트 주석(드래그해서 영역 선택)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "팝업 노트 붙이기" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "다각형 그리기(첫 번째 점을 클릭해서 닫기)" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "직사각형 그리기" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "휘어진 텍스트" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "스탬프 기호 삽입" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "직선 그리기" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "취소선 긋기" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "밑줄 긋기" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "타자기 형태 메모(드래그해서 영역 선택)" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "강조 도구" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "책갈피에 주석 추가" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Custom annotation name:" +msgstr "사용자 정의 주석 이름:" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "파일(&F)" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "설정(&S)" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "도움말(&H)" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "방향(&O)" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "책갈피(&B)" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "뷰어 도구 모음" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "섬네일" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "주석" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
    Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" +"이 문서에는 Okular 이전 버전에서 내부적으로 저장된 주석이나 양식 데이터가 들" +"어 있습니다. 내부 저장소는 더 이상 지원하지 않습니다.
    이 문서를 계" +"속 편집하려면 파일을 다시 저장하여 데이터를 이동시키십시오." + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"이 문서에는 첨부된 파일이 있습니다. 여기를 " +"클릭해서 내용을 보거나 파일 -> 첨부된 파일로 가십시오." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "서명 중입니다. 서명의 위치와 크기를 조정할 수 있습니다" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "서명 끝내기" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "이전" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "이전 쪽으로 갑니다" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "문서의 이전 쪽으로 이동합니다" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "다음" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "다음 쪽으로 갑니다" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "문서의 다음 쪽으로 갑니다" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "문서의 시작" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "문서의 시작으로 갑니다" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "문서의 끝" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "문서의 끝으로 갑니다" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "현재 책갈피 이름 바꾸기" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "이전 책갈피" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "이전 책갈피로 가기" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "다음 책갈피" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "다음 책갈피로 가기" + +#: part/part.cpp:748 +#, kde-format +msgid "Configure Okular…" +msgstr "Okular 설정…" + +#: part/part.cpp:751 +#, kde-format +msgid "Configure Viewer…" +msgstr "뷰어 설정…" + +#: part/part.cpp:757 +#, kde-format +msgid "Configure Viewer Backends…" +msgstr "뷰어 백엔드 설정…" + +#: part/part.cpp:759 +#, kde-format +msgid "Configure Backends…" +msgstr "백엔드 설정…" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "백엔드 정보..." + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "새로 고침(&D)" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "현재 문서를 디스크에서 새로 읽어옵니다." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "검색 바 닫기(&F)" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "쪽 번호" + +#: part/part.cpp:817 +#, kde-format +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "색상 모드 설정…" + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "현재 쪽의 모든 텍스트 선택" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "사이드바 표시(&I)" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "페이지 표시줄 표시(&P)" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "서명 패널 표시(&S)" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "첨부된 파일(&E)" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "다음으로 내보내기(&X)" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "공유(&H)" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "프레젠테이션(&R)" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "포함하는 폴더 열기(&T)" + +#: part/part.cpp:945 +#, kde-format +msgid "&Import PostScript as PDF…" +msgstr "포스트스크립트를 PDF로 불러오기(&I)…" + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "화면 검게 바꾸기" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "그리기 삭제" + +#: part/part.cpp:962 +#, kde-format +msgid "Configure Annotations…" +msgstr "주석 설정…" + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "프레젠테이션 재생/일시 정지" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" +"열린 문서를 수정했으나 이 형식의 문서를 저장할 수는 없습니다.\n" +"Okular를 닫으면 변경 사항이 손실됩니다." + +#: part/part.cpp:1123 +#, kde-format +msgid "Document can't be saved" +msgstr "문서를 저장할 수 없음" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "'%1'을(를) 열 수 없음(%2)" + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "%1 불러오기가 취소되었습니다." + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "%1을(를) 열 수 없습니다. 이유: %2" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "뷰어 백엔드 설정" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "백엔드 설정" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "프로그램 \"ps2pdf\"를 찾을 수 없어서 PS 파일을 불러올 수 없습니다." + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "ps2pdf를 찾을 수 없음" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "포스트스크립트 파일(%1)" + +#: part/part.cpp:1357 +#, kde-format +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "PS 파일을 PDF로 불러오는 중 (이 작업은 시간이 걸릴 수 있습니다)…" + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "문서를 읽으려면 암호를 입력하십시오:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "암호가 잘못되었습니다. 다시 시도하십시오:" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "문서 암호" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "이 문서에는 현재 지원되지 않는 XFA 양식이 있습니다." + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"이 문서에는 양식이 있습니다. 양식을 편집하려면 단추를 누르시거나, 보기 -> 양" +"식 표시를 클릭하십시오." + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" +"이 문서에서 편집 및 인터랙티브 기능이 비활성화되었습니다. 문서를 편집하려면 " +"복사본을 저장한 후 다시 여십시오." + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" +"이 문서에서 전체 화면으로 볼 것을 요구했습니다.\n" +"일반 모드를 벗어나서 프레젠테이션 모드를 사용하시겠습니까?" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "보기 모드 전환 요청" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "프레젠테이션 모드 진입" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "요청 거부" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "%1을(를) 열 수 없습니다. %2" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" +"%1 파일에 저장되지 않은 변경 사항이 있으나 다른 프로그램" +"에서 변경했습니다. 파일을 새로 고치면 다른 프로그램에서의 변경 사항을 불러 옵" +"니다.그래도 이 파일을 새로 고치시겠습니까?" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "파일 변경됨" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "새로 고침 계속" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "새로 고침 중단" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" +"%1 파일에 저장되지 않은 변경 사항이 있으나 다른 프로그램" +"에서 변경했습니다. 파일을 닫으면 다른 프로그램에서의 변경 사항만이 저장됩니" +"다.그래도 이 파일을 닫으시겠습니까?" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "닫기 계속" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "닫기 중단" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "\"%1\"의 변경 사항을 저장하거나 무시하겠습니까?" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "문서 닫기" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"이 링크는 임베드된 뷰어를 사용할 때 작동하지 않는 문서 닫기 동작을 가리킵니" +"다." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"이 링크는 임베드된 뷰어를 사용할 때 작동하지 않는 앱 종료 동작을 가리킵니다." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, kde-format +msgid "Reloading the document…" +msgstr "문서 새로 읽는 중…" + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "내용" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "서명" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "쪽으로 가기" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "쪽(&P):" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "책갈피의 새로운 이름을 입력하십시오:" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "이 책갈피 이름 바꾸기" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "이 책갈피 삭제" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "다른 이름으로 저장" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" +"Okular 문서 압축 파일에 '%1' 확장자를 사용하지 않고 저장하려고 했습니다. 그 " +"이름으로는 저장할 수 없습니다. 다른 이름으로 변경하시겠습니까?" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "지원하지 않는 확장 기능" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "새 이름 선택" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" +"다른 프로그램에서 %1 파일을 수정했습니다. 지금 저장하면 " +"다른 프로그램에서의 변경 사항이 손실됩니다. 계속 진행하시겠습니까?" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "저장 - 경고" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "다른 곳에 복사본 저장" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
    In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" +"현재 문서가 암호로 보호되어 있습니다.
    문서를 저장하려면 파일을 다시 불러" +"와야 합니다. 다시 한 번 암호를 입력해야 하며 실행 취소/다시 실행 기록이 지워" +"집니다.
    계속 진행하시겠습니까?" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "임시 파일에 저장하려고 열 수 없습니다." + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" +"%1 파일이 읽기 전용이므로 덮어쓸 수 없습니다. 다른 위치" +"에 저장하거나 권한을 변경하십시오." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" +"현재 문서 형식은 문서를 저장한 후 다시 불러와야 합니다. 실행 취소/다시 실행 " +"기록이 지워집니다.
    계속 진행하시겠습니까?j" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "파일이 '%1' 안에 저장될 수 없습니다. 다른 경로에 저장해 보십시오." + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "채워 넣은 양식 내용" + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "사용자 주석" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" +"현재 문서 파일 형식에서 다음 구성 요소 저장을 지원하지 않습니다. 구성 요소를 " +"보존하려면 Okular 문서 압축 파일로 저장하십시오." + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "경고" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "Okular 문서 압축 파일로 저장…" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" +"현재 문서 파일 형식에서 다음 구성 요소 저장을 지원하지 않습니다. 구성 요소를 " +"보존하려면 Okular 문서 압축 파일로 저장하십시오. 계속을 클릭하" +"면 같은 파일 형식으로 저장하지만 해당 구성 요소는 저장하지 않습니다." + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" +"현재 문서 파일 형식에서 다음 구성 요소 저장을 지원하지 않습니다. 구성 요소를 " +"보존하려면 Okular 문서 압축 파일로 저장하십시오. 계속을 클릭하" +"면 같은 파일 형식으로 저장하지만 해당 구성 요소는 저장하지 않으며 실행 취소/" +"다시 실행 기록이 초기화됩니다." + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "계속" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "변경 사항을 지우고 계속" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "파일을 '%1' 안에 저장할 수 없습니다. %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"%1을(를) 지정한 위치에 복사할 수 없습니다.\n" +"\n" +"문서가 더 이상 없습니다." + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" +"파일을 '%1' 안에 저장할 수 없습니다. 오류: '%2'. 다른 경로에 저장해 보십시오." + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "Expand whole section" +msgid "Expand Whole Section" +msgstr "전체 선택 펼치기" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "Collapse whole section" +msgid "Collapse Whole Section" +msgstr "전체 선택 접기" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "섬네일과 쪽 동기화" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "도구" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "말하기" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "인쇄" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "이 문서를 인쇄하는 것이 허가되어 있지 않습니다." + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"이 문서를 인쇄할 수 없습니다. 알 수 없는 오류입니다. bugs.kde.org에 버그를 보" +"고하십시오." + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"이 문서를 인쇄할 수 없습니다. 오류 정보: \"%1\". bugs.kde.org에 버그를 보고하" +"십시오." + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "이전에 있었던 장소로 갑니다" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "이후에 있었던 장소로 갑니다" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"
    %1.
    " +msgstr "" +"파일 오류! 임시 파일 %1을" +"(를) 만들 수 없습니다." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"파일 오류! 파일 %1의 압축" +"을 해제하려고 열 수 없습니다. 파일을 불러올 수 없습니다." + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"이 오류는 이 파일을 읽을 수 있는 충분한 권한이 없을 때 발생합니다. " +"Dolphin 파일 관리자에서 파일을 선택한 다음 오른쪽 클릭을 하여 나오는 속성 옵" +"션을 선택한 다음 대화 상자의 권한 탭에서 소유권과 권한을 확인해 보십시오." + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"파일 오류! 파일 %1의 압축" +"을 해제할 수 없습니다. 파일을 불러올 수 없습니다." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"이 오류는 파일이 잘못되었을 때 발생합니다. 만약 확인해 보고 싶으면, 명령" +"행 유틸리티를 사용해서 압축을 풀어 보십시오." + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "책갈피 없음" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "문서 공유 중 문제 발생: %1" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "공유" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "문서를 성공적으로 공유함" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "다음에서 공유된 문서를 확인할 수 있습니다: %1" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "편집(&E)" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "보기(&V)" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "이동(&G)" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "도구(&T)" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "주 도구 모음" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "주석 도구 모음" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, kde-format +msgid "Quick Annotation Toolbar" +msgstr "빠른 주석 도구 모음" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "일반 옵션" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "접근성" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "접근성을 제공하는 읽기 도움" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "성능" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "성능 튜닝" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "뷰어 설정" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "프레젠테이션" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "프레젠테이션 모드 설정" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "주석 설정" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "편집기" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "편집기 설정" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" +"명령행에서 편집기를 \n" +" %1 \n" +"(으)로 지정했습니다. 설정을 사용하려면 Okular를 --editor-cmd 설정을 지정하지 " +"않고 시작하십시오" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "다음 찾기" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 – 프레젠테이션" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "화면 바꾸기" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "화면 %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "프레젠테이션 모드 끝내기" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "제목: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "쪽: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "시작하려면 클릭하십시오" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "일시 정지" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "재생" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"프레젠테이션 모드를 끝낼 수 있는 방법은 두 가지 있습니다. ESC 키를 누르거나, " +"오른쪽 위 모서리에 나타나는 종료 버튼을 클릭하십시오. 물론 창 사이를 전환할 " +"수도 있습니다.(Alt+Tab이 기본값)" + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "프레젠테이션 시작" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "알 수 없는 파일" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "%1 속성" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1(%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "글꼴(&F)" + +#: part/propertiesdialog.cpp:145 +#, kde-format +msgid "Reading font information…" +msgstr "글꼴 정보 읽는 중…" + +#: part/propertiesdialog.cpp:158 +#, kde-format +msgid "&Page Sizes" +msgstr "쪽 크기(&P)" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "글꼴 추출(&E)" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "타입 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "타입 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "타입 1C(OpenType)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "타입 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType(OpenType)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID 타입 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID 타입 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID 타입 0C(OpenType)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType(OpenType)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "TeX PK" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "TeX 가상" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "TeX 글꼴 메트릭" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "TeX FreeType 처리됨" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "알 수 없음" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "포함됨(부분적)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "모두 포함됨" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "아니요" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "예(부분 집합)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "예" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "%1(%2(으)로 대체됨)" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "[없음]" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "알 수 없는 글꼴" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "포함됨: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "이름" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "종류" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "파일" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "쪽" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "크기" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "리비전 미리 보기" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "리비전을 어디에 저장하시겠습니까?" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "파일 %1을(를) 저장할 수 없습니다." + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "리비전을 볼 수 없습니다." + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "페이지를 필터하려면 최소한 3글자를 입력하십시오" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "대소문자 구분" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "구문 일치" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "모든 단어 일치" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "일부 단어만 일치" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "필터 설정" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, kde-format +msgid "Certificates" +msgstr "인증서" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "서명할 인증서 선택:" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "모두" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, kde-format +msgid "Only QES certificates" +msgstr "QES 인증서만" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "PGP 키만" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "이유:" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, kde-format +msgid "optional" +msgstr "선택 사항" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "위치:" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, kde-format +msgid "Background:" +msgstr "배경:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "선택..." + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, kde-format +msgid "Recent backgrounds:" +msgstr "최근 배경:" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

    No annotations

    To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
    " +msgstr "" +"

    주석 없음

    새 주석을 만들려면 F6 키를 누르거나 도" +"구 -> 주석 메뉴 항목을 선택하십시오.
    " + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "쪽으로 묶기" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "작성자로 묶기" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "현재 쪽에 있는 주석만 표시" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "모든 구성 요소 펼치기" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "모든 구성 요소 접기" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "속성" + +#: part/signaturepartutils.cpp:180 +#, kde-format +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "이미지(%1)" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "배경 이미지 선택" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "이미지 잊기" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "모든 이미지 잊기" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "인증서 잠금을 해제할 암호 입력(존재하는 경우): %1" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "인증서 암호 입력" + +#: part/signaturepartutils.cpp:244 +#, kde-format +msgid "Enter document password" +msgstr "문서 암호 입력" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "서명된 파일 다른 이름으로 저장" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "%1_서명됨.%2" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "유효 상태" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "인증서 유효성:" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "문서 수정:" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "추가 정보" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "서명한 사람:" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "서명 시간:" + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "문서 버전" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "문서 리비전 %2 중 %1" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "서명된 버전 보기…" + +#: part/signaturepropertiesdialog.cpp:95 +#, kde-format +msgid "View Certificate…" +msgstr "인증서 보기…" + +#: part/signaturepropertiesdialog.cpp:97 +#, kde-format +msgid "View in Certificate Manager" +msgstr "인증서 관리자에서 보기" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "KDE 인증서 관리자(kleopatra)를 찾을 수 없음" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "적합함" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "PGP" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "책갈피에 추가한 페이지만 표시" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "재생" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "일시 정지" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "정지" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "이 Okular에서는 동영상을 지원하지 않음" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "이 Okular에서는 동영상을 지원하지 않음" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "추가(&A)…" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, kde-format +msgid "&Edit…" +msgstr "편집(&E)…" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "삭제(&R)" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "위로 이동(&U)" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "아래로 이동(&D)" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "기본 그리기 도구 #%1" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "이름이 같은 도구가 이미 있습니다. 기본값을 사용합니다" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "중복된 이름" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "문서의 표시할 쪽" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "문서를 프레젠테이션 모드에서 시작" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "인쇄 대화 상자로 시작" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "인쇄 대화 상자로 시작해서 인쇄 후 끝내기" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "\"단일 실행\" 제어" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "창 올리지 않음" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "텍스트에서 문자열 찾기" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "외부 편집기 명령 설정" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "열 문서입니다. 표준 입력에서 읽으려면 '-'를 사용하십시오." + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" +"이미 실행 중인 Okular 인스턴스의 편집기 명령을 설정할 수 없습니다. 탭을 비활" +"성화한 후 다시 시도하십시오. 편집기 명령을 명령행에서 지정했다면 unique는 지" +"원하지 않습니다.\n" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "오류: --unique 스위치가 있을 때에는 하나 이상의 문서를 열 수 없음" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" +"오류: --presentation 스위치가 있을 때에는 하나 이상의 문서를 열 수 없음" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "오류: --print 스위치가 있을 때에는 하나 이상의 문서를 열 수 없음" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "오류: --page 스위치가 있을 때에는 하나 이상의 문서를 열 수 없음" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "오류: --find 스위치가 있을 때에는 하나 이상의 문서를 열 수 없음" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "Okular 구성 요소를 찾을 수 없음: %1" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "사이드바" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" +"유일한 Okular 인스턴스가 실행 중입니다. 이 인스턴스는 유일한 인스턴스가 될 " +"수 없습니다." + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "Okular 구성 요소를 찾을 수 없습니다." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"파일을 열려면 클릭하십시오\n" +"누르고 있으면 최근 파일을 열 수 있습니다" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"클릭하면 파일을 열 수 있으며 클릭하고 있으면 최근 파일을 열 수 " +"있습니다" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "다음 탭" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "이전 탭" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "탭 닫기 실행 취소" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "사이드바 잠금" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "모든 파일 (*)" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "모든 지원하는 파일 (%1)" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "문서 열기" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "닫기 확인" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "탭 닫기" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "탭 %1개를 닫으려고 합니다. 계속 진행하시겠습니까?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "탭 여러 개를 닫을 때 물어보기" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "경로 복사(&C)" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "포함하는 폴더 열기(&O)" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "이 항목 잊어버리기(&F)" + +#: shell/welcomescreen.cpp:137 +#, kde-format +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "최근 문서 없음" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "Okular에 오신 것을 환영합니다 " + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "문서 열기..." + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, kde-format +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "최근 문서" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "모두 잊기" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "시작 화면 숨기기" + +#~ msgid "Geometry with Comment" +#~ msgstr "주석이 있는 기하학적 모양" + +#~ msgid "Geometry" +#~ msgstr "도형" + +#~ msgctxt "Annotation type: contents" +#~ msgid "%1: %2" +#~ msgstr "%1: %2" + +#~ msgid "Modified: %1" +#~ msgstr "수정한 날짜: %1" + +#~ msgid "Find..." +#~ msgstr "찾기..." + +#~ msgid "Go To Page..." +#~ msgstr "쪽으로 가기..." + +#~ msgid "Play movie..." +#~ msgstr "동영상 재생..." + +#~ msgid "Search..." +#~ msgstr "찾기..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "다른 이름으로 저장(&S)..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "보기(&V)..." + +#~ msgid "&Sign..." +#~ msgstr "서명(&S)..." + +#~ msgid "Configure Viewer..." +#~ msgstr "뷰어 설정..." + +#~ msgid "Configure Viewer Backends..." +#~ msgstr "뷰어 백엔드 설정..." + +#~ msgid "Configure Backends..." +#~ msgstr "백엔드 설정..." + +#~ msgid "&Add..." +#~ msgstr "추가(&A)..." + +#~ msgid "&Edit..." +#~ msgstr "편집(&E)..." + +#~ msgctxt "%1 is a file path" +#~ msgid "" +#~ "Could not sign. Invalid certificate password or could not write to '%1'" +#~ msgstr "" +#~ "서명할 수 없습니다. 인증서 암호가 잘못되었거나 '%1'에 쓸 수 없습니다" + +#, fuzzy +#~| msgid "" +#~| "All your signing certificates are either not valid yet or are past their " +#~| "validity date." +#~ msgid "All your signing certificates are invalid" +#~ msgstr "모든 서명용 인증서의 유효 기간이 시작되지 않았거나 만료되었습니다." + +#~ msgid "Unsigned Signature %1" +#~ msgstr "서명되지 않은 서명 %1" + +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "알 수 없음" + +#~ msgctxt "Signature type" +#~ msgid "Unsigned signature" +#~ msgstr "서명되지 않은 서명" + +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "Spinbox prefix: Advance automatically: every n seconds" +#~ msgid "every " +#~ msgstr "매 " + +#~ msgctxt "Suffix for the pen width, eg '10 px'" +#~ msgid " px" +#~ msgstr "픽셀" + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " %" + +#, fuzzy +#~| msgctxt "%1 is a file path" +#~| msgid "" +#~| "Could not sign. Invalid certificate password or could not write to '%1'" +#~ msgctxt "%1 is a file path" +#~ msgid "Could not sign. Could not write to '%1'" +#~ msgstr "" +#~ "서명할 수 없습니다. 인증서 암호가 잘못되었거나 '%1'에 쓸 수 없습니다" + +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "폭 맞춤" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "쪽 맞춤" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Auto Fit" +#~ msgstr "자동 맞춤" + +#~ msgid "*|All Files" +#~ msgstr "*|모든 파일" + +#~ msgid "Missing alert type" +#~ msgstr "경고 형식 없음" + +#~ msgid "" +#~ "The file '%1' has been modified by another program, which means it can no " +#~ "longer be saved." +#~ msgstr "'%1' 파일이 다른 프로그램에서 수정되어 더 이상 저장할 수 없습니다." + +#~ msgid "Show Sidebar" +#~ msgstr "사이드바 표시" + +#~ msgctxt "@info" +#~ msgid "" +#~ "experimental feature.Stamps inserted in PDF documents are " +#~ "not visible in PDF readers other than Okular." +#~ msgstr "" +#~ "실험적 기능입니다.PDF 문서에 삽입한 스탬프는 Okular가 아닌 " +#~ "다른 PDF 리더에서 보이지 않을 수도 있습니다." + +#~ msgctxt "@info" +#~ msgid "" +#~ "The version of the Poppler library this Okular was compiled with does not " +#~ "support signing documents with passwords. Please ask your provider to " +#~ "update it to 22.02 or later." +#~ msgstr "" +#~ "이 Okular를 컴파일할 때 사용한 Poppler 라이브러리 버전에서 암호를 적용한 " +#~ "문서 서명을 지원하지 않습니다. 배포자에게 22.02 이상의 버전으로 업데이트" +#~ "해 줄 것을 요청하십시오." + +#~ msgctxt "@title:window" +#~ msgid "Poppler library is too old" +#~ msgstr "Poppler 라이브러리가 너무 오래됨" + +#~ msgctxt "@info" +#~ msgid "" +#~ "Stamps inserted in PDF documents are not visible in PDF readers other " +#~ "than Okular" +#~ msgstr "" +#~ "PDF 문서에 삽입한 스탬프는 Okular가 아닌 다른 PDF 리더에서 보이지 않을 수" +#~ "도 있습니다" + +#~ msgctxt "@title:window" +#~ msgid "Experimental feature" +#~ msgstr "실험적 기능" + +#~ msgid "Remove Bookmarks" +#~ msgstr "책갈피 삭제" + +#, fuzzy +#~| msgid "&Annotations" +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "주석(&A)" + +#, fuzzy +#~| msgid "Highlight" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "하이라이트" + +#, fuzzy +#~| msgid "Underline" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Underline" +#~ msgstr "밑줄" + +#, fuzzy +#~| msgid "Squiggle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Squiggle" +#~ msgstr "곡선" + +#, fuzzy +#~| msgid "Strike Out" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Strike Out" +#~ msgstr "취소선" + +#, fuzzy +#~| msgid "Insert Text" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "텍스트 삽입" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "인라인 노트" + +#, fuzzy +#~| msgctxt "@action:intoolbar Annotation tool" +#~| msgid "Popup Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "팝업 노트" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a freehand line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Freehand Line" +#~ msgstr "자유형 곡선 그리기" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a straight line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Straight line" +#~ msgstr "직선 그리기" + +#, fuzzy +#~| msgid "Arrow" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Arrow" +#~ msgstr "화살표" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a rectangle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Rectangle" +#~ msgstr "직사각형 그리기" + +#, fuzzy +#~| msgid "Cyan Ellipse" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Ellipse" +#~ msgstr "파란 타원" + +#, fuzzy +#~| msgid "Polygon" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Polygon" +#~ msgstr "다각형" + +#, fuzzy +#~| msgid "Highlighter" +#~ msgid "Highlight in Yellow" +#~ msgstr "강조 도구" + +#, fuzzy +#~| msgid "Highlight with Comment" +#~ msgid "Highlight in Green" +#~ msgstr "주석이 있는 강조" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgid "Insert Inline Note" +#~ msgstr "인라인 노트" + +#, fuzzy +#~| msgctxt "@action:intoolbar Annotation tool" +#~| msgid "Popup Note" +#~ msgid "Insert Popup Note" +#~ msgstr "팝업 노트" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "텍스트를 선택하십시오" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "텍스트를 선택하십시오" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "텍스트를 선택하십시오" + +#, fuzzy +#~| msgid "&Magnifier" +#~ msgctxt "verb" +#~ msgid "&Magnify" +#~ msgstr "돋보기(&M)" + +#~ msgid "Bookmark annotation" +#~ msgstr "책갈피에 주석 추가" + +#~ msgid "&Toggle Change Colors" +#~ msgstr "색상 변경 전환(&T)" + +#, fuzzy +#~| msgid "Enable transitions" +#~ msgctxt "@option:check Config dialog, presentation page, transitions" +#~ msgid "Enable transitions" +#~ msgstr "전환 효과 사용하기" + +#, fuzzy +#~| msgid "Advance every:" +#~ msgctxt "@label:spinbox Config dialog, presentation page" +#~ msgid "Advance every:" +#~ msgstr "다음 시간마다 진행하기:" + +#, fuzzy +#~| msgid "Use custom background color" +#~ msgctxt "@label:listbox Config dialog, general page" +#~ msgid "Custom background color:" +#~ msgstr "사용자 정의 배경색 사용" + +#~ msgid "Draw border around &Images" +#~ msgstr "그림의 경계선 그리기(&I)" + +#~ msgid "Speech" +#~ msgstr "말하기" + +#~ msgid "Engine" +#~ msgstr "엔진" + +#~ msgid "Identity" +#~ msgstr "정체성" + +#~ msgid "Au&thor:" +#~ msgstr "작성자(&T):" + +#~ msgid "View Options" +#~ msgstr "보기 옵션" + +#~ msgctxt "@info:whatsthis" +#~ msgid "" +#~ "Defines the default zoom mode for files which were never opened before.\n" +#~ "For files which were opened before the previous zoom is applied." +#~ msgstr "" +#~ "이전에 연 적이 없는 파일의 기본 확대/축소 모드를 설정합니다.\n" +#~ "이전에 연 적이 있는 파일은 닫았을 때의 크기를 사용합니다." + +#~ msgid "Navigation" +#~ msgstr "탐색" + +#~ msgid "Placement" +#~ msgstr "위치" + +#~ msgid "Screen:" +#~ msgstr "화면:" + +#~ msgid "Drawing Tool Configuration" +#~ msgstr "그리기 도구 설정" + +#~ msgid "&Get Books From Internet..." +#~ msgstr "인터넷에서 책 가져오기(&G)..." + +#~ msgid "Reviews" +#~ msgstr "검토" + +#~ msgctxt "@item:inlistbox Color name" +#~ msgid "%1" +#~ msgstr "%1" + +#~ msgid "Hide Forms" +#~ msgstr "양식 숨기기" + +#~ msgid "&Review" +#~ msgstr "검토(&R)" + +#~ msgid "Annotations author" +#~ msgstr "주석 작성자" + +#~ msgid "Please insert your name or initials:" +#~ msgstr "이름을 입력하십시오:" + +#~ msgid "Show &Navigation Panel" +#~ msgstr "탐색 패널 표시(&N)" + +#~ msgid "Show Text" +#~ msgstr "텍스트 표시" + +#~ msgid "Small Icons" +#~ msgstr "작은 아이콘" + +#~ msgid "Large Icons" +#~ msgstr "큰 아이콘" + +#~ msgid "" +#~ "Click to use the current selection tool\n" +#~ "Click on the arrow to choose another selection tool" +#~ msgstr "" +#~ "누르면 현재 선택 도구를 사용합니다\n" +#~ "화살표를 누르면 다른 선택 도구를 선택할 수 있습니다" + +#~ msgid "Created: %1" +#~ msgstr "만든 날짜: %1" + +#~ msgid "Style" +#~ msgstr "스타일" + +#~ msgid "&Size:" +#~ msgstr "크기(&S):" + +#~ msgid "Inner color:" +#~ msgstr "내부 색:" + +#~ msgid "Name: %1" +#~ msgstr "이름: %1" + +#~ msgid "Size: %1" +#~ msgstr "크기: %1" + +#~ msgid "&Browse Tool" +#~ msgstr "탐색 도구(&B)" + +#~ msgid "&Zoom Tool" +#~ msgstr "확대/축소 도구(&Z)" + +#~ msgctxt "Zoom Tool" +#~ msgid "Zoom" +#~ msgstr "확대/축소" + +#~ msgctxt "Select Tool" +#~ msgid "Selection" +#~ msgstr "선택" + +#~ msgid "&Text Selection Tool" +#~ msgstr "텍스트 선택 도구(&T)" + +#~ msgid "T&able Selection Tool" +#~ msgstr "표 선택 도구(&A)" + +#~ msgid " None" +#~ msgstr " 없음" + +#~ msgid "" +#~ "The document requested to be launched in presentation mode.\n" +#~ "Do you want to allow it?" +#~ msgstr "" +#~ "파일에서 프레젠테이션 모드를 실행하기를 요청했습니다.\n" +#~ "허용하시겠습니까?" + +#~ msgid "Presentation Mode" +#~ msgstr "프레젠테이션 모드" + +#~ msgid "Allow the presentation mode" +#~ msgstr "프레젠테이션 모드 허용하기" + +#~ msgid "Do Not Allow" +#~ msgstr "허용하지 않음" + +#~ msgid "Do not allow the presentation mode" +#~ msgstr "프레젠테이션 모드를 허용하지 않기" + +#~ msgid "" +#~ "Your annotation changes will not be saved automatically. Use File -> Save " +#~ "As...\n" +#~ "or your changes will be lost once the document is closed" +#~ msgstr "" +#~ "주석에 대한 변경 사항을 자동으로 저장하지 않습니다. 파일 -> 다른 이름으로 " +#~ "저장... 을\n" +#~ "선택하지 않으면 변경 사항을 저장하지 않습니다" + +#~ msgid "" +#~ "Your annotations are saved internally by Okular.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" +#~ msgstr "" +#~ "주석은 Okular 내부에 저장됩니다.\n" +#~ "주석을 단 문서를 파일 -> 다음으로 내보내기 -> 문서 보관 파일로 저장할 수 " +#~ "있습니다" + +#~ msgid "Save &Copy As..." +#~ msgstr "복사본을 다른 이름으로 저장(&C)..." + +#~ msgid "" +#~ "Your annotations will not be exported.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" +#~ msgstr "" +#~ "주석은 외부에 저장되지 않습니다..\n" +#~ "주석을 단 문서를 파일 -> 다음으로 내보내기 -> 문서 보관 파일로 저장할 수 " +#~ "있습니다" + +#~ msgid "" +#~ "End of document reached.\n" +#~ "Continue from the beginning?" +#~ msgstr "" +#~ "문서의 끝입니다.\n" +#~ "처음부터 다시 시작하시겠습니까?" + +#~ msgid "" +#~ "Beginning of document reached.\n" +#~ "Continue from the bottom?" +#~ msgstr "" +#~ "문서의 시작입니다.\n" +#~ "끝에서부터 다시 시작하시겠습니까?" + +#~ msgid "Current maintainer" +#~ msgstr "현재 관리자" + +#~ msgid " sec." +#~ msgstr " 초." + +#~ msgid "Pencil color:" +#~ msgstr "연필 색:" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A0" +#~ msgstr "가로 DIN/ISO A0" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A0" +#~ msgstr "세로 DIN/ISO A0" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A1" +#~ msgstr "가로 DIN/ISO A1" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A1" +#~ msgstr "세로 DIN/ISO A1" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A2" +#~ msgstr "가로 DIN/ISO A2" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A2" +#~ msgstr "세로 DIN/ISO A2" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A3" +#~ msgstr "가로 DIN/ISO A3" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A3" +#~ msgstr "세로 DIN/ISO A3" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A4" +#~ msgstr "가로 DIN/ISO A4" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A4" +#~ msgstr "세로 DIN/ISO A4" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A5" +#~ msgstr "가로 DIN/ISO A5" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A5" +#~ msgstr "세로 DIN/ISO A5" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A6" +#~ msgstr "가로 DIN/ISO A6" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A6" +#~ msgstr "세로 DIN/ISO A6" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A7" +#~ msgstr "가로 DIN/ISO A7" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A7" +#~ msgstr "세로 DIN/ISO A7" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A8" +#~ msgstr "가로 DIN/ISO A8" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A8" +#~ msgstr "세로 DIN/ISO A8" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A9" +#~ msgstr "가로 DIN/ISO A9" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A9" +#~ msgstr "세로 DIN/ISO A9" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B0" +#~ msgstr "가로 DIN/ISO B0" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B0" +#~ msgstr "세로 DIN/ISO B0" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B1" +#~ msgstr "가로 DIN/ISO B1" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B1" +#~ msgstr "세로 DIN/ISO B1" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B2" +#~ msgstr "가로 DIN/ISO B2" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B2" +#~ msgstr "세로 DIN/ISO B2" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B3" +#~ msgstr "가로 DIN/ISO B3" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B3" +#~ msgstr "세로 DIN/ISO B3" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B4" +#~ msgstr "가로 DIN/ISO B4" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B4" +#~ msgstr "세로 DIN/ISO B4" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B5" +#~ msgstr "가로 DIN/ISO B5" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B5" +#~ msgstr "세로 DIN/ISO B5" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B6" +#~ msgstr "가로 DIN/ISO B6" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B6" +#~ msgstr "세로 DIN/ISO B6" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B7" +#~ msgstr "가로 DIN/ISO B7" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B7" +#~ msgstr "세로 DIN/ISO B7" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B8" +#~ msgstr "가로 DIN/ISO B8" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B8" +#~ msgstr "세로 DIN/ISO B8" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B9" +#~ msgstr "가로 DIN/ISO B9" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B9" +#~ msgstr "세로 DIN/ISO B9" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B10" +#~ msgstr "가로 DIN/ISO B10" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B10" +#~ msgstr "세로 DIN/ISO B10" + +#~ msgctxt "paper size" +#~ msgid "landscape letter" +#~ msgstr "가로 레터" + +#~ msgctxt "paper size" +#~ msgid "portrait letter" +#~ msgstr "세로 레터" + +#~ msgctxt "paper size" +#~ msgid "landscape legal" +#~ msgstr "가로 리갈" + +#~ msgctxt "paper size" +#~ msgid "portrait legal" +#~ msgstr "세로 리갈" + +#~ msgctxt "paper size" +#~ msgid "landscape executive" +#~ msgstr "가로 이그지큐티브" + +#~ msgctxt "paper size" +#~ msgid "portrait executive" +#~ msgstr "세로 이그지큐티브" + +#~ msgctxt "paper size" +#~ msgid "landscape Comm10E" +#~ msgstr "가로 Comm10E" + +#~ msgctxt "paper size" +#~ msgid "portrait Comm10E" +#~ msgstr "세로 Comm10E" + +#~ msgctxt "paper size" +#~ msgid "landscape DLE" +#~ msgstr "가로 DLE" + +#~ msgctxt "paper size" +#~ msgid "portrait DLE" +#~ msgstr "세로 DLE" + +#~ msgctxt "paper size" +#~ msgid "landscape folio" +#~ msgstr "가로 폴리오" + +#~ msgctxt "paper size" +#~ msgid "portrait folio" +#~ msgstr "세로 폴리오" + +#~ msgctxt "paper size" +#~ msgid "ledger" +#~ msgstr "레저" + +#~ msgctxt "paper size" +#~ msgid "tabloid" +#~ msgstr "타블로이드" + +#~ msgctxt "paper size" +#~ msgid "unknown landscape paper size" +#~ msgstr "알 수 없는 가로 종이 크기" + +#~ msgctxt "paper size" +#~ msgid "unknown portrait paper size" +#~ msgstr "알 수 없는 세로 종이 크기" + +#~ msgid "Toggle Drawing Mode" +#~ msgstr "그리기 모드 전환" + +#~ msgid "Starting Jovie Text-to-Speech service Failed: %1" +#~ msgstr "Jovie TTS 시작 실패: %1" + +#~ msgid "Search Columns" +#~ msgstr "열에서 찾기" + +#~ msgid "All Visible Columns" +#~ msgstr "모든 보이는 열" + +#~ msgid "No document opened." +#~ msgstr "문서가 열리지 않았습니다." + +#~ msgid "Can't open more than one document in the unique Okular instance." +#~ msgstr "유일한 Okular 인스턴스에서는 하나 이상의 문서를 열 수 없습니다." + +#~ msgid "No matches found for '%1'." +#~ msgstr "'%1'에 대한 일치를 찾을 수 없습니다." + +#~ msgid "Search in progress..." +#~ msgstr "검색 중..." + +#~ msgid "Searching for %1" +#~ msgstr "%1 찾는 중" + +#~ msgid "Identity Settings" +#~ msgstr "정체성 설정" + +#~ msgid "Highlight Properties" +#~ msgstr "하이라이트 속성" + +#~ msgid "Ink Properties" +#~ msgstr "잉크 속성" + +#~ msgctxt "Annotation tool" +#~ msgid "Text Annotation" +#~ msgstr "텍스트 주석" + +#~ msgctxt "Annotation tool" +#~ msgid "Green Ink" +#~ msgstr "녹색 잉크" + +#~ msgctxt "Annotation tool" +#~ msgid "Yellow Highlight" +#~ msgstr "노란 형광펜" + +#~ msgctxt "Annotation tool" +#~ msgid "Straight Yellow Line" +#~ msgstr "노란 직선" + +#~ msgid "Black Underlining" +#~ msgstr "검은 밑줄" + +#~ msgctxt "Annotation tool" +#~ msgid "Underline the text with a black line" +#~ msgstr "텍스트에 검은 밑줄 긋기" + +#~ msgctxt "Annotation tool" +#~ msgid "A cyan ellipse" +#~ msgstr "파란 타원 그리기" + +#~ msgid "Ink" +#~ msgstr "잉크" diff --git a/po/ko/okular_comicbook.po b/po/ko/okular_comicbook.po new file mode 100644 index 0000000..0343050 --- /dev/null +++ b/po/ko/okular_comicbook.po @@ -0,0 +1,57 @@ +# Translation of okular_comicbook to Korean. +# Copyright (C) 2008 This_file_is_part_of_KDE +# This file is distributed under the same license as the kdegraphics package. +# Shinjo Park , 2008, 2009, 2019. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_comicbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-04-12 00:46+0100\n" +"Last-Translator: Shinjo Park \n" +"Language-Team: Korean \n" +"Language: ko\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Lokalize 2.0\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "박신조" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde@peremen.name" + +#: document.cpp:97 +#, kde-format +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "문서를 열 수 없습니다. unrar 또는 unarchiver를 찾을 수 없습니다." + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "시스템에 설치된 unrar은 만화책을 여는 데 적합하지 않습니다." + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "알 수 없는 만화책 형식입니다." + +#~ msgid "ComicBook Backend" +#~ msgstr "만화책 백엔드" + +#~ msgid "A renderer for various comic book formats" +#~ msgstr "다양한 만화책 형식 렌더러" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/ko/okular_djvu.po b/po/ko/okular_djvu.po new file mode 100644 index 0000000..4cdc58e --- /dev/null +++ b/po/ko/okular_djvu.po @@ -0,0 +1,135 @@ +# Translation of okular_djvu.po to Korean. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the kdegraphics package. +# +# Shinjo Park , 2007, 2008. +msgid "" +msgstr "" +"Project-Id-Version: okular_djvu\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-10-17 13:13+0900\n" +"Last-Translator: Shinjo Park \n" +"Language-Team: Korean \n" +"Language: ko\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "박신조" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde@peremen.name" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "편집자" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "출판자" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "권" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "문서 종류" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "알 수 없음" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "구성 요소 파일" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "알 수 없음" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "단일 페이지" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "꾸러미" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "간접적" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "꾸러미 (구형)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "색인된 (구형)" + +#~ msgid "DjVu Backend" +#~ msgstr "DjVu 백엔드" + +#~ msgid "DjVu backend based on DjVuLibre." +#~ msgstr "DjVuLibre 기반 DjVu 백엔드." + +#~ msgid "© 2006-2008 Pino Toscano" +#~ msgstr "© 2006-2008 Pino Toscano" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgctxt "Unknown title" +#~ msgid "Unknown" +#~ msgstr "알 수 없음" + +#~ msgctxt "Unknown author" +#~ msgid "Unknown" +#~ msgstr "알 수 없음" + +#~ msgctxt "Unknown editor" +#~ msgid "Unknown" +#~ msgstr "알 수 없음" + +#~ msgctxt "Unknown publisher" +#~ msgid "Unknown" +#~ msgstr "알 수 없음" + +#~ msgctxt "Unknown creation date" +#~ msgid "Unknown" +#~ msgstr "알 수 없음" + +#~ msgctxt "Unknown volume information" +#~ msgid "Unknown" +#~ msgstr "알 수 없음" + +#~ msgctxt "Unknown type of document" +#~ msgid "Unknown" +#~ msgstr "알 수 없음" diff --git a/po/ko/okular_dvi.po b/po/ko/okular_dvi.po new file mode 100644 index 0000000..155432c --- /dev/null +++ b/po/ko/okular_dvi.po @@ -0,0 +1,715 @@ +# Translation of okular_dvi.po to Korean. +# Copyright (C) 2007 This_file_is_part_of_KDE +# This file is distributed under the same license as the kdegraphics package. +# SPDX-FileCopyrightText: 2007, 2009, 2013, 2014, 2020, 2022, 2024, 2025 Shinjo Park +# +msgid "" +msgstr "" +"Project-Id-Version: okular_dvi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-20 01:33+0200\n" +"Last-Translator: Shinjo Park \n" +"Language-Team: Korean \n" +"Language: ko\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Lokalize 24.12.3\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "박신조" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde@peremen.name" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

    Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

    Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

    " +msgstr "" +"

    컴퓨터에서 프로그램 dvipdfm을 찾을 수 없습니다. 이 프로그램" +"은 내보내기 기능을 사용하는 데 필요합니다. 그러나 DVI 파일을 인쇄 기능을 사용" +"하여 PDF로 내보내면, 문서를 인쇄하기는 충분할 수 있으나 보는 데는 충분하지 못" +"할 수도 있습니다. TeX 배포판을 dvipdfm 프로그램이 들어 있는 버전으" +"로 업그레이드하십시오.

    시스템 관리자에게: PATH 환경 변수에 프로그램의 " +"경로를 추가하십시오.

    " + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"파일을 내보내는 데 사용한 외부 프로그램 'dvipdfm'이 오류를 냈습니다. 파" +"일 메뉴에 있는 문서 정보 대화 상자에서 자세한 오류를 확인할 " +"수 있습니다." + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" +"이 DVI 파일은 PostScript 형식이 아닌 외부 그래픽 파일을 참고하므로 Okular" +"가 PostScript 형식을 내부적으로 처리하거나 내보내는 데 사용하는 dvips 프로그램에서 처리할 수 없습니다. 따라서 이 버전의 Okular에서는 요청한 기" +"능을 사용할 수 없습니다." + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

    Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

    Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

    " +msgstr "" +"

    컴퓨터에서 dvips 프로그램을 찾을 수 없습니다. 내보내기 기능" +"을 사용하려면 이 프로그램이 필요합니다.

    시스템 관리자에게: PATH 환경 변" +"수에 프로그램의 경로를 추가하십시오.

    " + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"외부 프로그램 dvips에서 오류가 발생했습니다. 파일 메뉴에 있는 문" +"서 정보 대화 상자에서 자세한 오류를 알 수 있습니다." + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "DVI 파일이 머리말로 시작하지 않습니다." + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" +"DVI 파일이 이 프로그램으로 처리할 수 없는 버전입니다. 만약 Omega 조판 프로그" +"램을 사용한다면 oxdvi와 같은 특별한 프로그램을 사용해야 합니다." + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "DVI 파일이 심하게 손상되어서 꼬리말 부분을 찾을 수 없습니다." + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "꼬리말이 POST 명령으로 시작하지 않습니다." + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "꼬리말에 FNTDEF 이외의 명령이 들어 있습니다." + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "%1쪽이 BOP 명령으로 시작하지 않습니다." + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

    The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

    What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

    PATH: %2

    " +msgstr "" +"

    외부 프로그램 pdf2ps를 실행할 수 없습니다. 그래서 " +"PDF 파일 %1을(를) PostScript로 변환할 수 없습니다. 문서의 일부 그래픽 구성 요" +"소가 표시되지 않을 수도 있습니다.

    가능한 이유: pdf2ps 프로그램이 시스템에 설치되지 않았거나 현재 검색 경로에 없을 수도 있습" +"니다.

    할 수 있는 일: pdf2ps 프로그램은 " +"ghostscript PostScript 인터프리터의 일부분입니다. ghostscript가 시스템에 설치" +"되어 있지 않다면 설치하십시오. ghostscript가 설치되어 있다면 pdf2ps 프로그램을 명령행에서 실행시켜서 작동하는가 확인해 주십시오.

    PATH: %2

    " + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

    The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

    %2

    " +msgstr "" +"

    PDF 파일 %1이(가) 포스트스크립트로 변환될 수 없습니다. 문서의 일부 그" +"래픽 구성 요소가 표시되지 않을 수도 있습니다.

    가능한 이유: 파일 " +"%1이(가) 손상되었거나 PDF 파일이 아닐 수도 있습니다. 이 과정에 사용한 " +"pdf2ps 프로그램의 출력입니다:

    %2" + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "파일 잘못됨: %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "모든 포스트스크립트 파일을 문서에 첨부할 수 없습니다. %1" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "모든 외부 포스트스크립트 파일을 문서에 첨부했습니다." + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "지정한 파일 '%1'이(가) 없습니다." + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" +"Okular에서 TeX 파일 %2의 %1줄에 해당하는 DVI 파일의 위치를 찾을 것을 요청했습" +"니다. DVI 파일에 올바른 원본 파일 정보가 없는 것 같습니다." + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" +"Okular에서 TeX 파일 %2의 %1번째 줄에 해당하는 DVI 파일의 위치를 찾을 수 없습" +"니다." + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "DVI 코드에서 알 수 없는 글꼴의 문자를 설정했습니다." + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "DVI 코드에서 정의되지 않은 글꼴 #%1을(를) 참조했습니다." + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "EOP 명령을 실행했을 때 스택이 비어 있지 않습니다." + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "POP 명령을 실행했을 때 스택이 비었습니다." + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "DVI 코드에서 정의되지 않은 글꼴을 참고합니다." + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "잘못된 명령어를 만났습니다." + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "알 수 없는 OP 코드 %1을(를) 만났습니다." + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "%1 임베드 중" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
    " +msgstr "" +"%1쪽: PDF 파일 %2을(를) 포스트스크립트 파일로 변환할 수 없습" +"니다." + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
    " +msgstr "%1쪽: 포스트스크립트 파일 %2을(를) 찾을 수 없습니다." + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "종이 크기 데이터 '%1'을(를) 해석할 수 없습니다." + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

    Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

    PATH: %1

    %2

    " +msgstr "" +"

    Okular에서 현재 DVI 파일을 표시할 글꼴 파일 중 일부를 찾을 수 없습니" +"다. 문서가 제대로 보이지 않을 수도 있습니다.

    PATH: %1

    %2

    " + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

    There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
    Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

    PATH: %1

    %2

    " +msgstr "" +"

    kpsewhich를 실행하는 데 문제가 발생했습니다. 일부 글꼴 파일" +"의 위치를 찾을 수 없었으며 문서를 읽지 못할 수도 있습니다.
    가능한 원인: " +"kpsewhich 프로그램이 시스템에 설치되어 있지 않거나 현재 검색 경로에 " +"포함되어 있지 않을 수도 있습니다.

    PATH: %1

    %2

    " + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" +"kpsewhich가 담당하는 글꼴 생성 과정이 중단되었습니다. (종료 코" +"드 %1, 오류 %2) 일부 글꼴 파일을 찾을 수 없으므로 문서의 일부분을 읽지 못할 " +"수도 있습니다." + +#: fontpool.cpp:482 +#, kde-format +msgid "Currently generating %1 at %2 dpi…" +msgstr "%1을(를) %2 dpi로 생성 중…" + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "작성자/일자" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "글꼴 파일을 찾을 수 없음" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "%1 × %2" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "%1 × %2 mm" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "%1 × %2인치" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "세로" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "가로" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" +"이 컴퓨터에 설치된 Ghostview에는 Okular에서 지원하는 Ghostview 장치 드라이버" +"가 없습니다. Okular의 포스트스크립트 지원을 끕니다." + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "오류 25개가 발생했습니다. 더 이상의 메시지는 표시되지 않습니다." + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" +"DVI 파일 '%1'의 %2쪽에서 오류 발생. 색상 스택이 비어 있을 때 색상 pop 명령 실" +"행됨." + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" +"epsf 특수 명령의 인자가 잘못되었습니다.\n" +"%2에서 %1 다음에 실수가 나오는 것을 예상했습니다" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"파일을 찾을 수 없음: \n" +" %1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "DVI 파일 '%1'의 %2쪽에서 오류 발생. 텍스트 회전 각도를 처리할 수 없음." + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "특수 명령 '%1'은(는) 구현되지 않았습니다." + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" +"글꼴 파일 %1을(를) 불러오고 읽을 수 있지만 글꼴 형식을 지원하지 않습니다." + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "글꼴 파일 %1이(가) 깨졌거나, 읽거나 열 수 없습니다." + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" +"FreeType에서 글꼴 파일 %1의 글자 크기를 설정하는 중 오류가 발생했습니다." + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "FreeType에서 글꼴 파일 %2의 문자 #%1을(를) 불러올 수 없습니다." + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "FreeType에서 글꼴 파일 %2의 문자 #%1을(를) 그릴 수 없습니다." + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "문자 #%1이(가) 비어 있습니다." + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "글꼴 파일 %2의 문자 #%1이(가) 비어 있습니다." + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "FreeType에서 글꼴 파일 %2의 문자 #%1의 크기를 불러올 수 없습니다." + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "글꼴 파일 %1을(를) 열 수 없음." + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "TexFont_PK::operator[]: 글자 %1이(가) 글꼴 %2에 정의되어 있지 않음" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "PK 파일 %2의 예상하지 않은 %1" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "파일 %2의 문자 %1이(가) 너무 큼" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "잘못된 비트 수만큼 저장됨: 글자 %1, 글꼴 %2" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "잘못된 pk 파일 (%1), 비트가 너무 많음" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "글꼴이 정사각형이 아닌 비율을 가지고 있음 " + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "글꼴 %1, 파일 %2을(를) 찾을 수 없습니다." + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "글꼴 파일 %1의 합계가 맞지 않음" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "글꼴 파일 %1의 형식을 알 수 없음" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"치명적 오류.\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" +"\n" +"\n" +"Okular에 버그가 있거나 DVI 파일, 또는 글꼴과 가상 글꼴 파일\n" +"과 같은 외부 파일이 심각하게 손상되었다는 뜻입니다.\n" +"이 메시지가 출력된 후 중단합니다. 버그를 찾았거나, 이 상황에서\n" +"좀 더 좋게 대처해야 한다면 문제를 보고해 주십시오." + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "VF 매크로 목록에서 잘못된 명령 바이트: %1" + +#~ msgid "" +#~ "

    The Ghostview program, which Okular uses internally to display the " +#~ "PostScript graphics that is included in this DVI file, is generally able " +#~ "to write its output in a variety of formats. The sub-programs that " +#~ "Ghostview uses for these tasks are called 'device drivers'; there is one " +#~ "device driver for each format that Ghostview is able to write. Different " +#~ "versions of Ghostview often have different sets of device drivers " +#~ "available. It seems that the version of Ghostview that is installed on " +#~ "this computer does not contain any of the device drivers " +#~ "that are known to Okular.

    It seems unlikely that a regular " +#~ "installation of Ghostview would not contain these drivers. This error may " +#~ "therefore point to a serious misconfiguration of the Ghostview " +#~ "installation on your computer.

    If you want to fix the problems with " +#~ "Ghostview, you can use the command gs --help to display " +#~ "the list of device drivers contained in Ghostview. Among others, Okular " +#~ "can use the 'png256', 'jpeg' and 'pnm' drivers. Note that Okular needs to " +#~ "be restarted to re-enable PostScript support.

    " +#~ msgstr "" +#~ "

    이 DVI 파일에 들어 있는 포스트스크립트 그래픽을 표시할 때 내부적으" +#~ "로 사용하는 Ghostview 프로그램은 다양한 형식으로 출력할 수 있습니다. " +#~ "Ghostview 프로그램에서 이 작업에 사용하는 프로그램은 장치 드라이버라고 불" +#~ "리며, 각각의 형식에 대한 장치 드라이버가 존재합니다. 다른 버전의 Ghostview" +#~ "에는 서로 다른 장치 드라이버가 들어 있습니다. 이 컴퓨터에 설치되어 있는 " +#~ "Ghostview에는 알려지지 않은 버전의 드라이버만 설치되어 있" +#~ "습니다.

    Ghostview가 올바르게 설치되었다면 이러한 드라이버가 없습니" +#~ "다. 컴퓨터에 Ghostview가 잘못 설치되었거나 설정된 것 같습니다.

    이 문" +#~ "제를 해결하려면, gs --help 명령으로 현재 설치된 Ghostview" +#~ "의 장치 드라이버를 확인해 보십시오. 'png256', 'jpeg', 'pnm' 드라이버가 설" +#~ "치되어 있어야 합니다. 이 문제를 해결했으면 Okular를 다시 시작하십시오." + +#~ msgid "DVI Backend" +#~ msgstr "DVI 백엔드" + +#~ msgid "A DVI file renderer" +#~ msgstr "DVI 파일 렌더러" + +#~ msgid "© 2006 Luigi Toscano" +#~ msgstr "© 2006 Luigi Toscano" + +#~ msgid "" +#~ "

    Okular relies on the kpsewhich program to locate font files on " +#~ "your hard disk and to generate PK fonts, if necessary.

    " +#~ msgstr "" +#~ "

    Okular에서 필요하다면 PK 글꼴을 찾고 만드는 과정에서 kpseswitch " +#~ "프로그램이 필요할 수도 있습니다.

    " + +#~ msgid "Okular is currently generating bitmap fonts..." +#~ msgstr "Okular에서 비트맵 글꼴을 만드는 중..." + +#~ msgid "Aborts the font generation. Do not do this." +#~ msgstr "글꼴 생성을 중단합니다. 하지 마십시오." + +#~ msgid "" +#~ "Okular is currently generating bitmap fonts which are needed to display " +#~ "your document. For this, Okular uses a number of external programs, such " +#~ "as MetaFont. You can find the output of these programs later in the " +#~ "document info dialog." +#~ msgstr "" +#~ "Okular에서 문서를 표시하기 위한 비트맵 글꼴을 만들고 있습니다. 이 과정을 " +#~ "위해서 MetaFont 같은 많은 외부 프로그램을 사용합니다. 이 프로그램의 출력" +#~ "은 나중에 문서 정보 대화상자에서 찾을 수 있습니다." + +#~ msgid "Okular is generating fonts. Please wait." +#~ msgstr "Okular에서 글꼴을 만들고 있습니다. 기다려 주십시오." + +#~ msgid "Font Generation Progress Dialog" +#~ msgstr "글꼴 생성 진행 대화 상자" + +#~ msgid "Abort" +#~ msgstr "중지" + +#~ msgid "What is happening here?" +#~ msgstr "무슨 일이 일어나고 있습니까?" + +#~ msgid "%v of %m" +#~ msgstr "%m의 %v" + +#~ msgid "Please be patient" +#~ msgstr "참고 기다리십시오" + +#~ msgid "*.pdf|Portable Document Format (*.pdf)" +#~ msgstr "*.pdf|Portable Document Format (*.pdf)" + +#~ msgid "Export File As" +#~ msgstr "다른 이름으로 파일 내보내기" + +#~ msgid "" +#~ "The file %1\n" +#~ "exists. Do you want to overwrite it?" +#~ msgstr "" +#~ "파일 %1이(가)\n" +#~ "이미 존재합니다. 덮어쓰시겠습니까?" + +#~ msgid "Overwrite File" +#~ msgstr "파일 덮어쓰기" + +#~ msgid "Overwrite" +#~ msgstr "덮어쓰기" + +#~ msgid "Using dvipdfm to export the file to PDF" +#~ msgstr "dvipdfm으로 파일을 PDF로 내보내기" + +#~ msgid "" +#~ "Okular is currently using the external program 'dvipdfm' to convert your " +#~ "DVI-file to PDF. Sometimes that can take a while because dvipdfm needs to " +#~ "generate its own bitmap fonts Please be patient." +#~ msgstr "" +#~ "'dvipdfm' 프로그램을 사용하여 DVI 파일을 PDF로 변환하고 있습니다. dvipdfm " +#~ "프로그램에서 비트맵 글꼴을 만들어야 하므로 시간이 오래 걸릴 수 있습니다. " +#~ "기다려 주십시오." + +#~ msgid "Waiting for dvipdfm to finish..." +#~ msgstr "dvipdfm이 끝나기를 기다리는 중..." + +#~ msgid "*.ps|PostScript (*.ps)" +#~ msgstr "*.ps|포스트스크립트 (*.ps)" + +#~ msgid "Using dvips to export the file to PostScript" +#~ msgstr "dvips로 파일을 포스트스크립트로 내보내기" + +#~ msgid "" +#~ "Okular is currently using the external program 'dvips' to convert your " +#~ "DVI-file to PostScript. Sometimes that can take a while because dvips " +#~ "needs to generate its own bitmap fonts Please be patient." +#~ msgstr "" +#~ "'dvips' 프로그램을 사용하여 DVI 파일을 포스트스크립트로 처리하고 있습니" +#~ "다. dvips 프로그램에서 비트맵 글꼴을 만들어야 하므로 시간이 오래 걸릴 수 " +#~ "있습니다. 기다려 주십시오." + +#~ msgid "Waiting for dvips to finish..." +#~ msgstr "dvips가 끝나기를 기다리는 중..." + +#~ msgid "Functionality Unavailable" +#~ msgstr "기능을 사용할 수 없음" + +#~ msgid "" +#~ "File corruption Okular could not interpret your DVI " +#~ "file. This is most commonly caused by a corrupted file." +#~ msgstr "" +#~ "파일 잘못됨DVI 파일을 처리할 수 없습니다. 파일이 잘못" +#~ "되었을 수도 있습니다." + +#~ msgid "DVI File Error" +#~ msgstr "DVI 파일 오류" + +#~ msgid "Not All Font Files Found" +#~ msgstr "일부 글꼴 파일을 찾을 수 없음" + +#~ msgid "Locating fonts..." +#~ msgstr "글꼴 찾는 중..." + +#~ msgid "" +#~ "

    There were problems running kpsewhich. As a result, some font " +#~ "files could not be located, and your document might be unreadable.

    Possible reason: The kpsewhich program is perhaps not " +#~ "installed on your system, or it cannot be found in the current search " +#~ "path.

    What you can do: The kpsewhich program is normally " +#~ "contained in distributions of the TeX typesetting system. If TeX is not " +#~ "installed on your system, you could install the TeX Live distribution " +#~ "(www.tug.org/texlive). If you are sure that TeX is installed, please try " +#~ "to use the kpsewhich program from the command line to check if it really " +#~ "works.

    " +#~ msgstr "" +#~ "

    kpsewhich를 실행하는 중 오류가 발생했습니다. 그 결과로 일부 글" +#~ "꼴 파일을 찾을 수 없었고 문서를 읽지 못할 수도 있습니다.

    가능한 " +#~ "이유: kpsewhich 프로그램이 설치되어 있지 않거나 현재 검색 경로에 없습" +#~ "니다.

    할 수 있는 일: kpsewhich 프로그램은 TeX 조판 시스템과 " +#~ "같이 배포됩니다. TeX이 시스템에 설치되어 있지 않다면 TeX Live 배포판 (www." +#~ "tug.org/texlive)을 설치하십시오. 만약 실제로 TeX이 설치되어 있다면 명령줄" +#~ "에서 kpsewhich 명령을 실행해서 제대로 작동하는지 확인하십시오.

    " + +#~ msgid "Problem locating fonts" +#~ msgstr "글꼴 찾는 중 오류 발생" + +#~ msgid "Font generation aborted" +#~ msgstr "글꼴 생성 중단됨" + +#~ msgid "Export: %1 to PDF" +#~ msgstr "내보내기: %1을(를) PDF로" + +#~ msgid "Export: %1 to PostScript" +#~ msgstr "내보내기: %1을(를) 포스트스크립트로" diff --git a/po/ko/okular_epub.po b/po/ko/okular_epub.po new file mode 100644 index 0000000..0663f89 --- /dev/null +++ b/po/ko/okular_epub.po @@ -0,0 +1,55 @@ +# Translation of okular_epub to Korean. +# Copyright (C) 2008 This_file_is_part_of_KDE +# This file is distributed under the same license as the kdegraphics package. +# +# Shinjo Park , 2008, 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_epub\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-07-30 02:10+0900\n" +"Last-Translator: Shinjo Park \n" +"Language-Team: Korean \n" +"Language: ko\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "박신조" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde@peremen.name" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "EPub 문서를 여는 중 오류가 발생했습니다." + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "EPub" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "EPub 백엔드 설정" + +#~ msgid "EPub Backend" +#~ msgstr "EPub 백엔드" + +#~ msgid "An EPub backend" +#~ msgstr "EPub 백엔드" + +#~ msgid "© 2008 Ely Levy" +#~ msgstr "© 2008 Ely Levy" + +#~ msgid "Ely Levy" +#~ msgstr "Ely Levy" diff --git a/po/ko/okular_fax.po b/po/ko/okular_fax.po new file mode 100644 index 0000000..ae4d23d --- /dev/null +++ b/po/ko/okular_fax.po @@ -0,0 +1,44 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Shinjo Park , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_fax\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-01-05 23:21+0900\n" +"Last-Translator: Shinjo Park \n" +"Language-Team: Korean \n" +"Language: ko\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "박신조" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde@peremen.name" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "문서를 불러올 수 없습니다" + +#~ msgid "Fax Backend" +#~ msgstr "팩스 백엔드" + +#~ msgid "A G3/G4 fax document backend" +#~ msgstr "G3/G4 팩스 문서 백엔드" + +#~ msgid "© 2008 Tobias Koenig" +#~ msgstr "© 2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/ko/okular_fictionbook.po b/po/ko/okular_fictionbook.po new file mode 100644 index 0000000..939ba39 --- /dev/null +++ b/po/ko/okular_fictionbook.po @@ -0,0 +1,80 @@ +# Translation of okular_fictionbook.po to Korean. +# Copyright (C) 2007-2008 This_file_is_part_of_KDE +# This file is distributed under the same license as the kdegraphics package. +# +# Shinjo Park , 2007, 2008, 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_fictionbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-07-30 02:10+0900\n" +"Last-Translator: Shinjo Park \n" +"Language-Team: Korean \n" +"Language: ko\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "박신조" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde@peremen.name" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "문서는 올바른 FinctionBook이 아닙니다" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "문서를 열 수 없음: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "문서는 올바른 ZIP 압축 파일이 아닙니다" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "잘못된 문서 구조입니다 (주 디렉터리가 없습니다)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "문서의 내용이 없습니다" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "잘못된 XML 문서: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "FictionBook" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "FictionBook 백엔드 설정" + +#~ msgid "Fiction Book Backend" +#~ msgstr "Fiction Book 백엔드" + +#~ msgid "A renderer for FictionBook eBooks" +#~ msgstr "FictionBook 전자책 렌더러" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/ko/okular_ghostview.po b/po/ko/okular_ghostview.po new file mode 100644 index 0000000..3a828e4 --- /dev/null +++ b/po/ko/okular_ghostview.po @@ -0,0 +1,91 @@ +# Translation of okular_ghostview.po to Korean. +# Copyright (C) 2007 This_file_is_part_of_KDE +# This file is distributed under the same license as the kdegraphics package. +# +# Shinjo Park , 2007, 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_ghostview\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-06-01 17:23+0900\n" +"Last-Translator: Shinjo Park \n" +"Language-Team: Korean \n" +"Language: ko\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "박신조" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde@peremen.name" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "플랫폼 글꼴 사용하기" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"Ghostscript에서 플랫폼 글꼴을 사용할지 여부입니다. 사용하지 않으면 문서에 첨" +"부된 글꼴만 사용합니다." + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "일반 설정" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "플랫폼 글꼴 사용하기(&U)" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Ghostscript 백엔드 설정" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "문서 버전" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "언어 수준" + +#~ msgid "PS Backend" +#~ msgstr "PS 백엔드" + +#~ msgid "A PostScript file renderer." +#~ msgstr "포스트스크립트 파일 렌더러." + +#~ msgid "© 2007-2008 Albert Astals Cid" +#~ msgstr "© 2007-2008 Albert Astals Cid" + +#~ msgid "Based on the Spectre library." +#~ msgstr "Spectre 라이브러리에 기반함." + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" diff --git a/po/ko/okular_kimgio.po b/po/ko/okular_kimgio.po new file mode 100644 index 0000000..8f4b60d --- /dev/null +++ b/po/ko/okular_kimgio.po @@ -0,0 +1,69 @@ +# Translation of okular_kimgio.po to Korean. +# Copyright (C) 2007 This_file_is_part_of_KDE +# This file is distributed under the same license as the kdegraphics package. +# Shinjo Park , 2007, 2009, 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_kimgio\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2017-12-03 12:02+0100\n" +"Last-Translator: Shinjo Park \n" +"Language-Team: Korean \n" +"Language: ko\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Lokalize 2.0\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "박신조" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde@peremen.name" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "문서를 불러올 수 없음: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" +"이 문서가 잘못된 것 같습니다. 문서를 최대한 원래 의도된 대로 표시한 것입니다." + +#~ msgid "Image Backend" +#~ msgstr "그림 백엔드" + +#~ msgid "A simple image backend" +#~ msgstr "간단한 그림 백엔드" + +#~ msgid "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" +#~ msgstr "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" + +#~ msgid "Main Toolbar" +#~ msgstr "주 도구 모음" diff --git a/po/ko/okular_markdown.po b/po/ko/okular_markdown.po new file mode 100644 index 0000000..829761c --- /dev/null +++ b/po/ko/okular_markdown.po @@ -0,0 +1,53 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Shinjo Park , 2017, 2018, 2019. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-04-12 00:46+0100\n" +"Last-Translator: Shinjo Park \n" +"Language-Team: Korean \n" +"Language: ko\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Lokalize 2.0\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "박신조" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde@peremen.name" + +#: converter.cpp:59 converter.cpp:93 +#, kde-format +msgid "Failed to open the document" +msgstr "문서를 열 수 없음" + +#: converter.cpp:106 converter.cpp:124 +#, kde-format +msgid "Failed to compile the Markdown document." +msgstr "Markdown 문서를 컴파일할 수 없습니다." + +#: generator_md.cpp:58 +#, kde-format +msgid "Enable SmartyPants formatting" +msgstr "SmartyPants 형식 사용" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown" +msgstr "Markdown" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown Backend Configuration" +msgstr "Markdown 백엔드 설정" diff --git a/po/ko/okular_mobi.po b/po/ko/okular_mobi.po new file mode 100644 index 0000000..dc2602e --- /dev/null +++ b/po/ko/okular_mobi.po @@ -0,0 +1,60 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Shinjo Park , 2009, 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-07-30 02:10+0900\n" +"Last-Translator: Shinjo Park \n" +"Language-Team: Korean \n" +"Language: ko\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "박신조" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde@peremen.name" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Mobipocket 문서를 여는 중 오류가 발생했습니다." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "이 책은 DRM으로 보호되어 있어서 특정한 장치에서만 볼 수 있습니다" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "Mobipocket" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "Mobipocket 백엔드 설정" + +#~ msgid "Mobipocket Backend" +#~ msgstr "Mobipocket 백엔드" + +#~ msgid "A mobipocket backend" +#~ msgstr "Mobipocket 백엔드" + +#~ msgid "© 2008-2009 Jakub Stachowski" +#~ msgstr "© 2008-2009 Jakub Stachowski" + +#~ msgid "Jakub Stachowski" +#~ msgstr "Jakub Stachowski" diff --git a/po/ko/okular_poppler.po b/po/ko/okular_poppler.po new file mode 100644 index 0000000..4cbf26f --- /dev/null +++ b/po/ko/okular_poppler.po @@ -0,0 +1,422 @@ +# translation of okular_poppler.po to Korean +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the kdegraphics package. +# SPDX-FileCopyrightText: 2007, 2009, 2010, 2012, 2013, 2019, 2020, 2021, 2023, 2025 Shinjo Park +# +msgid "" +msgstr "" +"Project-Id-Version: okular_poppler\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-20 01:33+0200\n" +"Last-Translator: Shinjo Park \n" +"Language-Team: Korean \n" +"Language: ko\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Lokalize 24.12.3\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "박신조" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde@peremen.name" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "오버프린트 미리 보기 활성화:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "하지 않음" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "항상" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "자동" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "얇은 선 강화:" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "아니요" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "단색" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "도형" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "기본 인쇄 크기 조절 모드:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "인쇄 가능한 영역으로 맞춤" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "전체 페이지 맞춤" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "없음, 원래 크기 인쇄" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" +"이 옵션을 사용하면 Okular에서 제3자 OCSP 서버에 연결하여 디지털 서명 인증서" +"가 생성 이후 취소되었는지 확인합니다." + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "제3자 서버를 사용하여 디지털 서명 취소 확인" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "서명 백엔드:" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "이 서명은 GnuPG 백엔드가 활성화된 Okular 버전에서만 검증할 수 있습니다" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "PGP 키로 서명 허용(Okular 확장)" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "인증서 데이터베이스" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "기본값:" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "사용자 정의:" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "사용 가능한 인증서" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "서명 불러오기(&L)" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "PDF 설정" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "주석 인쇄" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "인쇄된 문서에 주석 포함" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"주석도 같이 인쇄합니다. 주석이 없는 원본 문서를 인쇄하려면 해제하십시오." + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "강제 래스터화" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "그림을 인쇄하기 전에 래스터화합니다" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"인쇄하기 전에 각각 페이지를 래스터화합니다. 출력 결과가 안 좋을 수도 있지만, " +"올바르게 인쇄되지 않는 문서에 사용해 보십시오." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "인쇄된 쪽의 크기 조절 모드" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "크기 조정 모드:" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF 버전 %1.%2" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "형식" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "암호화됨" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "암호화되지 않음" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "보안" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "예" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "최적화됨" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"서명한 사람: %1\n" +"\n" +"날짜: %2" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "Poppler %1 사용" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" +"Poppler %1 사용\n" +"\n" +"Poppler %2(으)로 빌드됨" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "PDF 백엔드 설정" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "임시 파일에 기록할 수 없음" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "임시 파일의 이름을 변경할 수 없음" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" +"문서에서 일부 오류를 발견했습니다. Okular에서 내용을 올바르게 표시하지 못할 " +"수도 있습니다" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" +"이 서명은 GnuPG 기반 백엔드가 활성화된 Okular 버전에서만 사용할 수 있습니다" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "PGP 서명 활성화" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "발급 대상" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "이메일" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "만료 날짜" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" +"Poppler 라이브러리에서 NSS를 지원하지 않도록 빌드되었습니다.\n" +"디지털 서명을 추가할 수 없습니다" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "영구" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "다시 시작 필요함" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "NSS 디렉터리 설정을 변경한 후 Okular를 다시 시작해야 적용됨" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter Password" +msgstr "암호 입력" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "%1을 열려면 암호를 입력하십시오:" + +#~ msgid "Not Available" +#~ msgstr "사용할 수 없음" + +#~ msgid "Select rasterization to enable this!" +#~ msgstr "이 옵션을 사용하려면 래스터화를 선택하십시오!" + +#~ msgid "PDF Backend" +#~ msgstr "PDF 백엔드" + +#~ msgid "A PDF file renderer" +#~ msgstr "PDF 파일 렌더러" + +#~ msgid "© 2005-2008 Albert Astals Cid" +#~ msgstr "© 2005-2008 Albert Astals Cid" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Saving files with /Encrypt is not supported." +#~ msgstr "암호화된 파일 저장은 지원되지 않습니다." + +#~ msgid "Unknown" +#~ msgstr "알 수 없음" + +#~ msgid "Unknown Date" +#~ msgstr "알 수 없는 날짜" + +#~ msgid "Unknown Encryption" +#~ msgstr "알 수 없는 암호화" + +#~ msgid "Unknown Optimization" +#~ msgstr "알 수 없는 최적화" + +#~ msgid "Please enter the password to read the document:" +#~ msgstr "이 문서를 읽기 위한 암호를 입력하십시오:" + +#~ msgid "Incorrect password. Try again:" +#~ msgstr "암호가 잘못되었습니다. 다시 시도하십시오:" diff --git a/po/ko/okular_tiff.po b/po/ko/okular_tiff.po new file mode 100644 index 0000000..6b8a822 --- /dev/null +++ b/po/ko/okular_tiff.po @@ -0,0 +1,28 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# Shinjo Park , 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-09-06 00:49+0200\n" +"Last-Translator: Shinjo Park \n" +"Language-Team: Korean \n" +"Language: ko\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Lokalize 19.12.3\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "박신조" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde@peremen.name" diff --git a/po/ko/okular_txt.po b/po/ko/okular_txt.po new file mode 100644 index 0000000..1c53666 --- /dev/null +++ b/po/ko/okular_txt.po @@ -0,0 +1,49 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Shinjo Park , 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-07-30 02:11+0900\n" +"Last-Translator: Shinjo Park \n" +"Language-Team: Korean \n" +"Language: ko\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "박신조" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde@peremen.name" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "Txt" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "TXT 백엔드 설정" + +#~ msgid "Txt Backend" +#~ msgstr "TXT 백엔드" + +#~ msgid "Txt backend." +#~ msgstr "TXT 백엔드" + +#~ msgid "© 2013 Azat Khuzhin" +#~ msgstr "© 2013 Azat Khuzhin" + +#~ msgid "Azat Khuzhin" +#~ msgstr "Azat Khuzhin" diff --git a/po/ko/okular_xps.po b/po/ko/okular_xps.po new file mode 100644 index 0000000..10ca9dd --- /dev/null +++ b/po/ko/okular_xps.po @@ -0,0 +1,57 @@ +# Translation of okular_xps.po to Korean +# Copyright (C) 2007 This_file_is_part_of_KDE +# This file is distributed under the same license as the kdegraphics package. +# +# Shinjo Park , 2007, 2008, 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_xps\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-01-05 23:20+0900\n" +"Last-Translator: Shinjo Park \n" +"Language-Team: Korean \n" +"Language: ko\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "박신조" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde@peremen.name" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "리비전" + +#~ msgid "XPS Backend" +#~ msgstr "XPS 백엔드" + +#~ msgid "An XPS backend" +#~ msgstr "XPS 백엔드" + +#~ msgid "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" +#~ msgstr "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "
© 2008 Pino Toscano" + +#~ msgid "Brad Hards" +#~ msgstr "Brad Hards" + +#~ msgid "Jiri Klement" +#~ msgstr "Jiri Klement" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" diff --git a/po/ko/org.kde.active.documentviewer.po b/po/ko/org.kde.active.documentviewer.po new file mode 100644 index 0000000..b38fa05 --- /dev/null +++ b/po/ko/org.kde.active.documentviewer.po @@ -0,0 +1,233 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# SPDX-FileCopyrightText: 2013, 2016, 2018, 2019, 2020, 2021, 2022, 2025 Shinjo Park +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-10-09 01:08+0200\n" +"Last-Translator: Shinjo Park \n" +"Language-Team: Korean \n" +"Language: ko\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Lokalize 24.12.3\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "책갈피" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "인증서 뷰어" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "발급자" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "일반 이름" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "이메일" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "조직:" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "발급 대상:" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "유효성" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "발급 시간:" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "만료 시간:" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "지문" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "SHA-1 지문:" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "SHA-256 지문:" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +msgid "Export…" +msgstr "내보내기…" + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "닫기" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "인증서 파일 (*.cer)" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "오류" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "인증서를 내보낼 수 없습니다." + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "Okular" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "열기…" + +#: ui/Main.qml:49 +msgid "About" +msgstr "정보" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "암호가 필요함" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "책갈피 삭제" + +#: ui/MainView.qml:29 +msgid "Bookmark this page" +msgstr "이 페이지 책갈피" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "섬네일" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "목차" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "서명" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "인증서 속성" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "유효 상태" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "인증서 유효성:" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "문서 수정:" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "추가 정보" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "서명한 사람:" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "서명 시간:" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "이유:" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "위치:" + +#: ui/SignaturePropertiesPage.qml:96 +msgid "Document Version" +msgstr "문서 버전" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "문서 리비전 %2 중 %1" + +#: ui/SignaturePropertiesPage.qml:108 +msgid "Save Signed Version…" +msgstr "서명된 버전 저장…" + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +msgid "View Certificate…" +msgstr "인증서 보기…" + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "서명을 저장할 수 없습니다." + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "사용할 수 없음" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "결과가 없습니다." + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "연 문서 없음" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "최근 문서" + +#: ui/WelcomeView.qml:108 +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "내 문서" + +#~ msgid "Open..." +#~ msgstr "열기..." + +#~ msgid "Search..." +#~ msgstr "검색..." + +#~ msgid "" +#~ "No Documents found. To start to read, put some files in the Documents " +#~ "folder of your device." +#~ msgstr "" +#~ "문서를 찾을 수 없습니다. 문서를 읽으려면 장치의 '문서' 폴더에 파일을 저장" +#~ "하십시오." + +#~ msgid "Document viewer for Plasma Active using Okular" +#~ msgstr "Okular 기반 Plasma Active 문서 뷰어" + +#~ msgid "Reader" +#~ msgstr "리더" + +#~ msgid "Copyright 2012 Marco Martin" +#~ msgstr "Copyright 2012 Marco Martin" + +#~ msgid "Marco Martin" +#~ msgstr "Marco Martin" + +#~ msgid "URL of the file to open" +#~ msgstr "열 파일 URL" diff --git a/po/ku/okular.po b/po/ku/okular.po new file mode 100644 index 0000000..4403431 --- /dev/null +++ b/po/ku/okular.po @@ -0,0 +1,6192 @@ +# translation of okular2.po to Kurdish +# Kurdish translation for kdegraphics +# Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 +# This file is distributed under the same license as the kdegraphics package. +# +# FIRST AUTHOR , 2007. +# Erdal Ronahi , 2007. +# Erdal Ronahi , 2008. +msgid "" +msgstr "" +"Project-Id-Version: okular2\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-11-07 17:14+0100\n" +"Last-Translator: Erdal Ronahi \n" +"Language-Team: Kurdish \n" +"Language: ku\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Launchpad-Export-Date: 2007-11-26 10:56+0000\n" +"X-Generator: Lokalize 0.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymanski" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "Enrico Ros" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "" + +#: aboutdata.h:37 +#, fuzzy, kde-format +#| msgid "&Selection Tool" +msgid "Table selection tool" +msgstr "Amûra &Hilbijartinê" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "" + +#: core/action.cpp:197 +#, kde-format +msgid "Execute '%1'…" +msgstr "" + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Derketin" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, kde-format +msgid "Go To Page…" +msgstr "" + +#: core/action.cpp:365 +#, kde-format +msgid "Play sound…" +msgstr "" + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "" + +#: core/action.cpp:483 +#, fuzzy, kde-format +#| msgid "Pages" +msgid "Play movie…" +msgstr "Rûpel" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "" + +#: core/action.cpp:558 +#, fuzzy, kde-format +#| msgid "Pages" +msgid "Pause movie" +msgstr "Rûpel" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
    %1 (%2).

    Please select which one to use:
    " +msgstr "" + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "" + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "" + +#: core/document.cpp:246 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "" + +#: core/document.cpp:248 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "" + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "Pêşkêşî" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "" + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "" + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Sernav" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Mijar" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Rave" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "Nivîskar" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Afirînêr" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Hilberîner" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "Rûpel" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Afirandî" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Guhartî" + +#: core/document.cpp:6032 +#, fuzzy, kde-format +#| msgid "Type" +msgid "MIME Type" +msgstr "Cure" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "Kategorî" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Peyvên mifte" + +#: core/document.cpp:6041 +#, fuzzy, kde-format +#| msgid "File" +msgid "File Path" +msgstr "Pel" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "Mezinahiya Pelî" + +#: core/document.cpp:6047 +#, fuzzy, kde-format +#| msgid "File Size" +msgid "Page Size" +msgstr "Mezinahiya Pelî" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "" + +#: core/documentcommands.cpp:108 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "Pêşkêşî" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "" + +#: core/documentcommands.cpp:190 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "Pêşkêşî" + +#: core/documentcommands.cpp:263 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "Pêşkêşî" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "" + +#: core/generator.cpp:790 +#, kde-format +msgid "Plain &Text…" +msgstr "" + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "Nivîsara OpenDocument" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, fuzzy, kde-format +#| msgctxt "Select Tool" +#| msgid "Selection" +msgid "Print Options" +msgstr "Hilbijartin " + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#: core/printoptionswidget.cpp:25 +#, fuzzy, kde-format +#| msgid "&Color:" +msgid "Scale mode:" +msgstr "&Reng:" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "" + +#: core/signatureutils.cpp:504 +#, fuzzy, kde-kuit-format +#| msgid "File not saved." +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "Pel nehatiye tomarkirin." + +#: core/signatureutils.cpp:506 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown signing error" +msgstr "Pelê nenas" + +#: core/sourcereference.cpp:103 +#, fuzzy, kde-format +#| msgid "&Size:" +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "&Mezinahî:" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "" + +#: gui/certificatemodel.cpp:39 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Version" +msgstr "Belgeya were vekirin" + +#: gui/certificatemodel.cpp:41 +#, fuzzy, kde-format +#| msgid "File Size" +msgid "Serial Number" +msgstr "Mezinahiya Pelî" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "" + +#: gui/certificatemodel.cpp:49 +#, fuzzy, kde-format +#| msgid "Subject" +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Mijar" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "" + +#: gui/certificatemodel.cpp:72 +#, fuzzy, kde-format +#| msgid "%1:" +msgid "V%1" +msgstr "%1:" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "" + +#: gui/certificatemodel.cpp:146 +#, fuzzy, kde-format +#| msgid "&Properties" +msgid "Property" +msgstr "&Taybetmendî" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgid "Arrow with Comment" +msgstr "Taybetmendiyên %1" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "" + +#: gui/guiutils.cpp:59 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgid "Straight Line with Comment" +msgstr "Taybetmendiyên %1" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "" + +#: gui/guiutils.cpp:63 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgid "Polygon with Comment" +msgstr "Taybetmendiyên %1" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgid "Rectangle with Comment" +msgstr "Taybetmendiyên %1" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgid "Ellipse with Comment" +msgstr "Taybetmendiyên %1" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "" + +#: gui/guiutils.cpp:83 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgid "Highlight with Comment" +msgstr "Taybetmendiyên %1" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "" + +#: gui/guiutils.cpp:87 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgid "Squiggle with Comment" +msgstr "Taybetmendiyên %1" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "" + +#: gui/guiutils.cpp:91 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgid "Underline with Comment" +msgstr "Taybetmendiyên %1" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "" + +#: gui/guiutils.cpp:95 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgid "Strike Out with Comment" +msgstr "Taybetmendiyên %1" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "" + +#: gui/guiutils.cpp:102 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgid "Stamp with Comment" +msgstr "Taybetmendiyên %1" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "" + +#: gui/guiutils.cpp:106 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgid "Freehand Line with Comment" +msgstr "Taybetmendiyên %1" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "" + +#: gui/guiutils.cpp:110 +#, fuzzy, kde-format +#| msgid "Creator" +msgid "Caret" +msgstr "Afirînêr" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "" + +#: gui/guiutils.cpp:122 +#, fuzzy, kde-format +#| msgid "Modified" +msgid "Movie" +msgstr "Guhartî" + +#: gui/guiutils.cpp:126 +#, fuzzy, kde-format +#| msgctxt "@label:listbox %1 is the screen number (0, 1, ...)" +#| msgid "Screen %1" +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Ekrana %1" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "" + +#: gui/guiutils.cpp:144 +#, kde-format +msgid "Annotation" +msgstr "" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "Nenas" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Nivîskar: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "" + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "" + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "" + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "" + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "" + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "" + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "" + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "" + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "" + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "" + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "" + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "" + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "" + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "" + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "" + +#: gui/signatureguiutils.cpp:96 +#, fuzzy, kde-format +#| msgctxt "Unknown author" +#| msgid "Unknown" +msgid "Unknown Algorithm" +msgstr "Nenas" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown Type" +msgstr "Pelê nenas" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr "" + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "" + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "" + +#: gui/signatureguiutils.cpp:208 +#, kde-format +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "" + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "" + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "" + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" + +#: gui/signaturemodel.cpp:141 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "Taybetmendiyên %1" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "" + +#: gui/signaturemodel.cpp:172 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgid "Reason: %1" +msgstr "Rûpel: %1" + +#: gui/signaturemodel.cpp:177 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Location: %1" +msgstr "Pêşkêşî" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "" + +#: gui/signaturemodel.cpp:193 +#, fuzzy, kde-format +#| msgctxt "Unknown author" +#| msgid "Unknown" +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "Nenas" + +#: gui/signaturemodel.cpp:195 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "Taybetmendiyên %1" + +#: gui/signaturemodel.cpp:201 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgid "Signature Type: %1" +msgstr "Taybetmendiyên %1" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "" + +#: part/annotationactionhandler.cpp:151 +#, fuzzy, kde-format +#| msgctxt "@label:listbox %1 is the screen number (0, 1, ...)" +#| msgid "Screen %1" +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "Ekrana %1" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "" + +#: part/annotationactionhandler.cpp:252 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1:" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:308 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Pêşkêşî" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "" + +#: part/annotationactionhandler.cpp:314 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Pêşkêşî" + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "" + +#: part/annotationactionhandler.cpp:318 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Pêşkêşî" + +#: part/annotationactionhandler.cpp:322 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Pêşkêşî" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "" + +#: part/annotationactionhandler.cpp:328 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "Pêşkêşî" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" + +#: part/annotationactionhandler.cpp:341 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Pêşkêşî" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "" + +#: part/annotationactionhandler.cpp:432 +#, fuzzy, kde-format +#| msgid "&Color:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "&Reng:" + +#: part/annotationactionhandler.cpp:434 +#, fuzzy, kde-format +#| msgid "&Color:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "&Reng:" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "" + +#: part/annotationactionhandler.cpp:499 +#, fuzzy, kde-format +#| msgid "&Selection Tool" +msgctxt "@title:window" +msgid "Select color" +msgstr "Amûra &Hilbijartinê" + +#: part/annotationactionhandler.cpp:552 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "&Annotations" +msgstr "Pêşkêşî" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "" + +#: part/annotationactionhandler.cpp:554 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Pêşkêşî" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "" + +#: part/annotationactionhandler.cpp:562 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Taybetmendiyên %1" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "" + +#: part/annotationactionhandler.cpp:564 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "Taybetmendiyên %1" + +#: part/annotationactionhandler.cpp:565 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "Taybetmendiyên %1" + +#: part/annotationactionhandler.cpp:567 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "Taybetmendiyên %1" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "" + +#: part/annotationactionhandler.cpp:569 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "Taybetmendiyên %1" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "" + +#: part/annotationactionhandler.cpp:638 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Pêşkêşî" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "" + +#: part/annotationactionhandler.cpp:651 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Quick Annotation Bar" +msgstr "Pêşkêşî" + +#: part/annotationactionhandler.cpp:665 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "Pêşkêşî" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "" + +#: part/annotationactionhandler.cpp:669 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "Pêşkêşî" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "" + +#: part/annotationactionhandler.cpp:680 +#, fuzzy, kde-format +#| msgid "Font:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "Curenivîs:" + +#: part/annotationactionhandler.cpp:681 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Pêşkêşî" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "" + +#: part/annotationactionhandler.cpp:696 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1:" + +#: part/annotationmodel.cpp:320 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "Rûpel: %1" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "Pêşkêşî" +msgstr[1] "Pêşkêşî" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, kde-format +msgid "Copy Text to Clipboard" +msgstr "" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "&Jêbirin " + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "&Taybetmendî" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, fuzzy, kde-format +#| msgid "Save As..." +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "Tomarkirin wekî..." + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "Xuyanî" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "Giştî" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:69 +#, fuzzy, kde-format +#| msgid "Created" +msgid "Created:" +msgstr "Afirandî" + +#: part/annotationpropertiesdialog.cpp:74 +#, fuzzy, kde-format +#| msgid "Modified" +msgid "Modified:" +msgstr "Guhartî" + +#: part/annotationpropertiesdialog.cpp:108 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgid "Pop-up Note Properties" +msgstr "Taybetmendiyên %1" + +#: part/annotationpropertiesdialog.cpp:111 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgid "Typewriter Properties" +msgstr "Taybetmendiyên %1" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:119 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgid "Straight Line Properties" +msgstr "Taybetmendiyên %1" + +#: part/annotationpropertiesdialog.cpp:121 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgid "Polygon Properties" +msgstr "Taybetmendiyên %1" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:128 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgid "Text Markup Properties" +msgstr "Taybetmendiyên %1" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:134 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgid "Freehand Line Properties" +msgstr "Taybetmendiyên %1" + +#: part/annotationpropertiesdialog.cpp:137 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgid "Caret Properties" +msgstr "Taybetmendiyên %1" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:143 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgid "Sound Properties" +msgstr "Taybetmendiyên %1" + +#: part/annotationpropertiesdialog.cpp:146 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgid "Movie Properties" +msgstr "Taybetmendiyên %1" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&Reng:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%1:" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "" + +#: part/annotationwidgets.cpp:363 +#, fuzzy, kde-format +#| msgid "Icon" +msgid "Icon:" +msgstr "Îkon" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "Alîkarî" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "" + +#: part/annotationwidgets.cpp:368 +#, fuzzy, kde-format +#| msgid "New Paragraph" +msgid "New paragraph" +msgstr "Paragrafa Nû" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "Paragraf" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Curenivîs:" + +#: part/annotationwidgets.cpp:387 +#, fuzzy, kde-format +#| msgid "&Color:" +msgid "Text &color:" +msgstr "&Reng:" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "" + +#: part/annotationwidgets.cpp:395 +#, fuzzy, kde-format +#| msgctxt "Rotate left" +#| msgid "Left" +msgid "Left" +msgstr "Çep" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "" + +#: part/annotationwidgets.cpp:397 +#, fuzzy, kde-format +#| msgctxt "Rotate right" +#| msgid "Right" +msgid "Right" +msgstr "Rast" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:514 +#, fuzzy, kde-format +#| msgid "No" +msgid "None" +msgstr "Na" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "" + +#: part/annotationwidgets.cpp:531 +#, kde-format +msgid "Leader line length:" +msgstr "" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Cure:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "" + +#: part/annotationwidgets.cpp:760 +#, fuzzy, kde-format +#| msgid "File" +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "Pel" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "" + +#: part/annotationwidgets.cpp:773 +#, fuzzy, kde-format +#| msgid "Name" +msgid "Name:" +msgstr "Nav" + +#: part/annotationwidgets.cpp:784 +#, fuzzy, kde-format +#| msgid "Description" +msgid "Description:" +msgstr "Rave" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "" + +#: part/annotationwidgets.cpp:845 +#, fuzzy, kde-format +#| msgid "No" +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "Na" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "" + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "" + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "" + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "" + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +msgstr[1] "" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "" + +#: part/bookmarklist.cpp:136 +#, fuzzy, kde-format +#| msgctxt "This is the document format" +#| msgid "OpenDocument Text" +msgid "Show for all documents" +msgstr "Nivîsara OpenDocument" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, kde-format +msgid "Search…" +msgstr "" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, kde-format +msgid "Expand All" +msgstr "" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, kde-format +msgid "Collapse All" +msgstr "" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "" + +#: part/bookmarklist.cpp:299 +#, fuzzy, kde-format +#| msgctxt "This is the document format" +#| msgid "OpenDocument Text" +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Nivîsara OpenDocument" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "" + +#: part/certificateviewer.cpp:50 +#, kde-format +msgid "Export…" +msgstr "" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "Giştî" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "" + +#: part/colormodemenu.cpp:19 +#, fuzzy, kde-format +#| msgid "&Color:" +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "&Reng:" + +#: part/colormodemenu.cpp:21 +#, fuzzy, kde-format +#| msgid "&Color:" +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "&Reng:" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "" + +#: part/colormodemenu.cpp:41 +#, fuzzy, kde-format +#| msgid "&Color:" +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "&Reng:" + +#: part/colormodemenu.cpp:42 +#, fuzzy, kde-format +#| msgid "&Color:" +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "&Reng:" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, fuzzy, kde-format +#| msgctxt "@label:listbox %1 is the screen number (0, 1, ...)" +#| msgid "Screen %1" +msgid "Green" +msgstr "Ekrana %1" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "" + +#: part/dlgaccessibility.cpp:60 +#, fuzzy, kde-format +#| msgid "&Color:" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "&Reng:" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "" + +#: part/dlgaccessibility.cpp:70 +#, fuzzy, kde-format +#| msgid "&Color:" +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "&Reng:" + +#: part/dlgaccessibility.cpp:87 +#, fuzzy, kde-format +#| msgid "&Color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "&Reng:" + +#: part/dlgaccessibility.cpp:99 +#, fuzzy, kde-format +#| msgid "&Color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "&Reng:" + +#: part/dlgaccessibility.cpp:104 +#, fuzzy, kde-format +#| msgid "&Color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "&Reng:" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "" + +#: part/dlgannotations.cpp:25 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Pêşkêşî" + +#: part/dlgannotations.cpp:26 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Pêşkêşî" + +#: part/dlgannotations.cpp:28 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Pêşkêşî" + +#: part/dlgannotations.cpp:34 +#, fuzzy, kde-format +#| msgid "Author" +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "Nivîskar" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" + +#: part/dlgannotations.cpp:48 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

    Quick Annotation Tools

    " +msgstr "Pêşkêşî" + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "" + +#: part/dlgeditor.cpp:31 +#, fuzzy, kde-format +#| msgid "File" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Pel" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "" + +#: part/dlgeditor.cpp:37 +#, fuzzy, kde-format +#| msgid "&Edit" +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "&Sererastkirin" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
    \n" +"You can also put few placeholders:\n" +"
      \n" +"
    • %f - the file name
    • \n" +"
    • %l - the line of the file to be reached
    • \n" +"
    • %c - the column of the file to be reached
    • \n" +"
    \n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "" + +#: part/dlggeneral.cpp:37 +#, fuzzy, kde-format +#| msgid "&Appearance" +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "Xuyanî" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "" + +#: part/dlggeneral.cpp:92 +#, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "" + +#: part/dlggeneral.cpp:148 +#, fuzzy, kde-format +#| msgid "No document opened." +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "Ti belge nehat vekirin." + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "" + +#: part/dlggeneral.cpp:220 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%1:" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "" + +#: part/dlggeneral.cpp:228 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%1:" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "" + +#: part/dlggeneral.cpp:233 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "" + +#: part/dlggeneral.cpp:234 +#, fuzzy, kde-format +#| msgid "Pages" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "Rûpel" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "" + +#: part/dlgperformance.cpp:28 +#, fuzzy, kde-format +#| msgid "&Page:" +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "&Rûpel:" + +#: part/dlgperformance.cpp:35 +#, fuzzy, kde-format +#| msgid "&Low" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "&Nizim" + +#: part/dlgperformance.cpp:36 +#, fuzzy, kde-format +#| msgid "&Normal (default)" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "&Asayî (standard)" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "" + +#: part/dlgperformance.cpp:38 +#, fuzzy, kde-format +#| msgctxt "@label:listbox %1 is the screen number (0, 1, ...)" +#| msgid "Screen %1" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "Ekrana %1" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "" + +#: part/dlgperformance.cpp:56 +#, fuzzy, kde-format +#| msgctxt "Select Tool" +#| msgid "Selection" +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "Hilbijartin " + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" + +#: part/dlgpresentation.cpp:38 +#, kde-format +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] "" +msgstr[1] "" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "" + +#: part/dlgpresentation.cpp:63 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Pêşkêşî" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "" + +#: part/dlgpresentation.cpp:121 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

    Drawing Tools

    " +msgstr "" + +#: part/dlgpresentation.cpp:171 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "" + +#: part/dlgpresentation.cpp:172 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "" + +#: part/dlgpresentation.cpp:178 +#, fuzzy, kde-format +#| msgctxt "@label:listbox %1 is the screen number (0, 1, ...)" +#| msgid "Screen %1" +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "Ekrana %1" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, fuzzy, kde-format +#| msgid "Name" +msgid "&Name:" +msgstr "Nav" + +#: part/editannottooldialog.cpp:69 +#, fuzzy, kde-format +#| msgid "Type:" +msgid "&Type:" +msgstr "Cure:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "" + +#: part/editannottooldialog.cpp:101 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Create annotation tool" +msgstr "Pêşkêşî" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "" + +#: part/editdrawingtooldialog.cpp:51 +#, fuzzy, kde-format +#| msgid "&Color:" +msgid "Color:" +msgstr "&Reng:" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "" + +#: part/editdrawingtooldialog.cpp:79 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Create drawing tool" +msgstr "Pêşkêşî" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "Nenas" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "" + +#: part/embeddedfilesdialog.cpp:62 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:button" +msgid "View" +msgstr "&Dîmen" + +#: part/embeddedfilesdialog.cpp:70 +#, fuzzy, kde-format +#| msgid "Name" +msgctxt "@title:column" +msgid "Name" +msgstr "Nav" + +#: part/embeddedfilesdialog.cpp:71 +#, fuzzy, kde-format +#| msgid "Description" +msgctxt "@title:column" +msgid "Description" +msgstr "Rave" + +#: part/embeddedfilesdialog.cpp:72 +#, fuzzy, kde-format +#| msgid "Size" +msgctxt "@title:column" +msgid "Size" +msgstr "Mezinahî" + +#: part/embeddedfilesdialog.cpp:73 +#, fuzzy, kde-format +#| msgid "Created" +msgctxt "@title:column" +msgid "Created" +msgstr "Afirandî" + +#: part/embeddedfilesdialog.cpp:74 +#, fuzzy, kde-format +#| msgid "Modified" +msgctxt "@title:column" +msgid "Modified" +msgstr "Guhartî" + +#: part/embeddedfilesdialog.cpp:154 +#, fuzzy, kde-format +#| msgid "Save As..." +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "Tomarkirin wekî..." + +#: part/embeddedfilesdialog.cpp:155 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "&Dîmen" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "Dadan" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "" + +#: part/findbar.cpp:58 +#, fuzzy, kde-format +#| msgctxt "Previous page" +#| msgid "Previous" +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Paşve" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "" + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgid "Signature Properties" +msgstr "Taybetmendiyên %1" + +#: part/ktreeviewsearchline.cpp:283 +#, fuzzy, kde-format +#| msgctxt "Select Tool" +#| msgid "Selection" +msgid "Search Options" +msgstr "Hilbijartin " + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "ji" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "Rast" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "Çep" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "" + +#: part/pageview.cpp:546 +#, fuzzy, kde-format +#| msgid "&View" +msgid "&Trim View" +msgstr "&Dîmen" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "" + +#: part/pageview.cpp:557 +#, fuzzy, kde-format +#| msgctxt "Select Tool" +#| msgid "Selection" +msgid "Trim To &Selection" +msgstr "Hilbijartin " + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "" + +#: part/pageview.cpp:594 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "" + +#: part/pageview.cpp:595 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "&Bê navber" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "" + +#: part/pageview.cpp:655 +#, fuzzy, kde-format +#| msgctxt "Select Tool" +#| msgid "Selection" +msgid "Area &Selection" +msgstr "Hilbijartin " + +#: part/pageview.cpp:662 +#, fuzzy, kde-format +#| msgctxt "Select Tool" +#| msgid "Selection" +msgid "&Text Selection" +msgstr "Hilbijartin " + +#: part/pageview.cpp:669 +#, fuzzy, kde-format +#| msgctxt "Select Tool" +#| msgid "Selection" +msgid "T&able Selection" +msgstr "Hilbijartin " + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "" + +#: part/pageview.cpp:685 +#, fuzzy, kde-format +#| msgid "Selection Tools" +msgctxt "@action" +msgid "Selection Tools" +msgstr "Amûrên Hilbijartinê" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "" + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] "" +msgstr[1] "" + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "" +msgstr[1] "" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "" + +#: part/pageview.cpp:2863 +#, kde-format +msgid "Image (%1 × %2 pixels)" +msgstr "" + +#: part/pageview.cpp:2865 +#, kde-format +msgid "Save to File…" +msgstr "" + +#: part/pageview.cpp:2885 +#, kde-format +msgid "Image [%1 × %2] copied to clipboard." +msgstr "" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "Pel nehatiye tomarkirin." + +#: part/pageview.cpp:2901 +#, kde-format +msgid "Image [%1 × %2] saved to %3 file." +msgstr "" + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "" + +#: part/pageview.cpp:4107 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1:" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "" + +#: part/pageview.cpp:4404 +#, kde-format +msgid "Configure Web Shortcuts…" +msgstr "" + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Bi xêr hatî" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "" + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "" + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "" + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" + +#: part/pageview.cpp:5188 +#, kde-format +msgid "No valid certificates" +msgstr "" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, kde-format +msgid "Open Certificate Manager" +msgstr "" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
    Launch Certificate Manager " +"to import or manage certificates
    For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, kde-format +msgid "No certificates found" +msgstr "" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
    For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgid "Author" +msgid "Author name" +msgstr "Nivîskar" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Author name for the annotation:" +msgstr "Pêşkêşî" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Add favorite annotation" +msgstr "Pêşkêşî" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Custom annotation name:" +msgstr "Pêşkêşî" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&Pel" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "&Mîheng" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "&Alîkarî" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Wêneyên biçûk" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Annotations" +msgstr "Pêşkêşî" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
    Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "Paşve" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "Pêşve" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "" + +#: part/part.cpp:748 +#, kde-format +msgid "Configure Okular…" +msgstr "" + +#: part/part.cpp:751 +#, kde-format +msgid "Configure Viewer…" +msgstr "" + +#: part/part.cpp:757 +#, kde-format +msgid "Configure Viewer Backends…" +msgstr "" + +#: part/part.cpp:759 +#, kde-format +msgid "Configure Backends…" +msgstr "" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "" + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "" + +#: part/part.cpp:813 +#, fuzzy, kde-format +#| msgid "File Size" +msgid "Page Number" +msgstr "Mezinahiya Pelî" + +#: part/part.cpp:817 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "Pêşkêşî" + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "" + +#: part/part.cpp:945 +#, kde-format +msgid "&Import PostScript as PDF…" +msgstr "" + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "" + +#: part/part.cpp:957 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Erase Drawing" +msgstr "Pêşkêşî" + +#: part/part.cpp:962 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Configure Annotations…" +msgstr "Pêşkêşî" + +#: part/part.cpp:967 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Play/Pause Presentation" +msgstr "Pêşkêşî" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" + +#: part/part.cpp:1123 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Document can't be saved" +msgstr "Belgeya were vekirin" + +#: part/part.cpp:1152 +#, fuzzy, kde-format +#| msgid "File not saved." +msgid "Could not open '%1' (%2) " +msgstr "Pel nehatiye tomarkirin." + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "" + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "" + +#: part/part.cpp:1357 +#, kde-format +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "" + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "" + +#: part/part.cpp:1502 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Document Password" +msgstr "Belgeya were vekirin" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "" + +#: part/part.cpp:1739 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Enter Presentation Mode" +msgstr "Pêşkêşî" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "" + +#: part/part.cpp:1830 +#, fuzzy, kde-format +#| msgid "File not saved." +msgid "Could not open %1. %2" +msgstr "Pel nehatiye tomarkirin." + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "" + +#: part/part.cpp:1865 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue Reloading" +msgstr "&Bê navber" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" + +#: part/part.cpp:1875 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue Closing" +msgstr "&Bê navber" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "" + +#: part/part.cpp:1883 +#, fuzzy, kde-format +#| msgctxt "This is the document format" +#| msgid "OpenDocument Text" +msgid "Close Document" +msgstr "Nivîsara OpenDocument" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" + +#: part/part.cpp:2113 part/part.cpp:2131 +#, fuzzy, kde-format +#| msgctxt "This is the document format" +#| msgid "OpenDocument Text" +msgid "Reloading the document…" +msgstr "Nivîsara OpenDocument" + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "Naverok" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "&Rûpel:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, fuzzy, kde-format +#| msgid "Save As..." +msgid "Save As" +msgstr "Tomarkirin wekî..." + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
    In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "" + +#: part/part.cpp:2726 +#, fuzzy, kde-kuit-format +#| msgid "File not saved." +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "Pel nehatiye tomarkirin." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "" + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "" + +#: part/part.cpp:2769 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "User annotations" +msgstr "Pêşkêşî" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" + +#: part/part.cpp:2796 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue" +msgstr "&Bê navber" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "" + +#: part/part.cpp:2824 +#, fuzzy, kde-format +#| msgid "File not saved." +msgid "File could not be saved in '%1'. %2" +msgstr "Pel nehatiye tomarkirin." + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" + +#: part/part.cpp:2899 +#, fuzzy, kde-format +#| msgid "File not saved." +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "Pel nehatiye tomarkirin." + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgctxt "Select Tool" +#| msgid "Selection" +msgid "Expand Whole Section" +msgstr "Hilbijartin " + +#: part/part.cpp:3159 +#, kde-format +msgid "Collapse Whole Section" +msgstr "" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Amûr" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "" + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "&Sererastkirin" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "&Dîmen" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&Biçe" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "&Amûr" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Annotation Toolbar" +msgstr "Pêşkêşî" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Quick Annotation Toolbar" +msgstr "Pêşkêşî" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Performans" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Pêşkêşî" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, fuzzy, kde-format +#| msgid "&Edit" +msgid "Editor" +msgstr "&Sererastkirin" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "" + +#: part/presentationwidget.cpp:174 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "Pêşkêşî" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Sernav: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Rûpel: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "" + +#: part/presentationwidget.cpp:521 +#, fuzzy, kde-format +#| msgid "Pages" +msgctxt "For Presentation" +msgid "Pause" +msgstr "Rûpel" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" + +#: part/presentationwidget.cpp:1718 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "Pêşkêşî" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "Pelê nenas" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "Taybetmendiyên %1" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "&Curenivîs" + +#: part/propertiesdialog.cpp:145 +#, kde-format +msgid "Reading font information…" +msgstr "" + +#: part/propertiesdialog.cpp:158 +#, fuzzy, kde-format +#| msgid "File Size" +msgid "&Page Sizes" +msgstr "Mezinahiya Pelî" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Cureyê 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Cureyê 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Cureyê 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "Na" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "Erê" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "" + +#: part/propertiesdialog.cpp:385 +#, fuzzy, kde-format +#| msgctxt "Unknown author" +#| msgid "Unknown" +msgid "Unknown font" +msgstr "Nenas" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "Nav" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "Cure" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "Pel" + +#: part/propertiesdialog.cpp:498 +#, fuzzy, kde-format +#| msgid "Pages" +msgid "Page" +msgstr "Rûpel" + +#: part/propertiesdialog.cpp:501 +#, fuzzy, kde-format +#| msgid "Size" +msgid "Size" +msgstr "Mezinahî" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "" + +#: part/revisionviewer.cpp:56 +#, fuzzy, kde-format +#| msgid "File not saved." +msgid "Could not save file %1." +msgstr "Pel nehatiye tomarkirin." + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "" + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, kde-format +msgid "Certificates" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, kde-format +msgid "Only QES certificates" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, kde-format +msgid "optional" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Location:" +msgstr "Pêşkêşî" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, kde-format +msgid "Background:" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, fuzzy, kde-format +#| msgctxt "This is the document format" +#| msgid "OpenDocument Text" +msgid "Recent backgrounds:" +msgstr "Nivîsara OpenDocument" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

    No annotations

    To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
    " +msgstr "" + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "" + +#: part/signaturepanel.cpp:101 +#, fuzzy, kde-format +#| msgid "&Properties" +msgid "Properties" +msgstr "&Taybetmendî" + +#: part/signaturepartutils.cpp:180 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Rûpel: %1" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "" + +#: part/signaturepartutils.cpp:244 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Enter document password" +msgstr "Belgeya were vekirin" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:83 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Document Version" +msgstr "Belgeya were vekirin" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:95 +#, kde-format +msgid "View Certificate…" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:97 +#, kde-format +msgid "View in Certificate Manager" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "" + +#: part/videowidget.cpp:146 +#, fuzzy, kde-format +#| msgid "Pages" +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Rûpel" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, fuzzy, kde-format +#| msgid "&Edit" +msgid "&Edit…" +msgstr "&Sererastkirin" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "" + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "" + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" + +#: shell/shell.cpp:582 +#, fuzzy, kde-format +#| msgctxt "Next page" +#| msgid "Next" +msgid "Next Tab" +msgstr "Pêşve" + +#: shell/shell.cpp:588 +#, fuzzy, kde-format +#| msgctxt "Previous page" +#| msgid "Previous" +msgid "Previous Tab" +msgstr "Paşve" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "" + +#: shell/shell.cpp:826 +#, fuzzy, kde-format +#| msgid "Close" +msgid "Close Tabs" +msgstr "Dadan" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "" + +#: shell/welcomescreen.cpp:137 +#, fuzzy, kde-format +#| msgctxt "This is the document format" +#| msgid "OpenDocument Text" +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "Nivîsara OpenDocument" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, fuzzy, kde-format +#| msgctxt "This is the document format" +#| msgid "OpenDocument Text" +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Nivîsara OpenDocument" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, fuzzy, kde-format +#| msgctxt "This is the document format" +#| msgid "OpenDocument Text" +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Nivîsara OpenDocument" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "" + +#, fuzzy +#~| msgid "%1 Properties" +#~ msgid "Geometry with Comment" +#~ msgstr "Taybetmendiyên %1" + +#, fuzzy +#~| msgid "Save As..." +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "Tomarkirin wekî..." + +#, fuzzy +#~| msgid "&View" +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "&Dîmen" + +#, fuzzy +#~| msgid "&Edit" +#~ msgid "&Edit..." +#~ msgstr "&Sererastkirin" + +#, fuzzy +#~| msgctxt "Unknown author" +#~| msgid "Unknown" +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "Nenas" + +#, fuzzy +#~| msgctxt "Suffix for the opacity level, eg '80 %'" +#~| msgid " %" +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr "%" + +#, fuzzy +#~| msgctxt "Suffix for the opacity level, eg '80 %'" +#~| msgid " %" +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%" + +#, fuzzy +#~| msgid "Presentation" +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "Pêşkêşî" + +#, fuzzy +#~| msgid "%1 Properties" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "Taybetmendiyên %1" + +#, fuzzy +#~| msgid "&Selection Tool" +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "Amûra &Hilbijartinê" + +#, fuzzy +#~| msgid "Selection Tools" +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "Amûrên Hilbijartinê" + +#, fuzzy +#~| msgid "Presentation" +#~ msgid "Bookmark annotation" +#~ msgstr "Pêşkêşî" + +#~ msgid "Identity" +#~ msgstr "Nasname" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "@item:inlistbox Color name" +#~ msgid "%1" +#~ msgstr "%1:" + +#~ msgid "&Size:" +#~ msgstr "&Mezinahî:" + +#, fuzzy +#~| msgid "Pages: %1" +#~ msgid "Name: %1" +#~ msgstr "Rûpel: %1" + +#, fuzzy +#~| msgid "&Size:" +#~ msgid "Size: %1" +#~ msgstr "&Mezinahî:" + +#, fuzzy +#~| msgid "&Selection Tool" +#~ msgid "T&able Selection Tool" +#~ msgstr "Amûra &Hilbijartinê" + +#, fuzzy +#~| msgid "No" +#~ msgid " None" +#~ msgstr "Na" + +#, fuzzy +#~| msgid "Save As..." +#~ msgid "Save &Copy As..." +#~ msgstr "Tomarkirin wekî..." + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "%1 is \"Title\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "%1 is \"File Path\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#~ msgid "Pages:" +#~ msgstr "Rûpel:" + +#~ msgid "okular" +#~ msgstr "okular" + +#~ msgid "&Properties..." +#~ msgstr "&Taybetmendî..." diff --git a/po/ku/okular_comicbook.po b/po/ku/okular_comicbook.po new file mode 100644 index 0000000..3a35d56 --- /dev/null +++ b/po/ku/okular_comicbook.po @@ -0,0 +1,59 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_comicbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-01-22 04:44+0200\n" +"Last-Translator: Omer Ensari \n" +"Language-Team: Kurdish \n" +"Language: ku\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Poedit-Language: Kurdish\n" +"X-Poedit-SourceCharset: utf8\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Omer Ensari" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "oensari@gmail.com" + +#: document.cpp:97 +#, fuzzy, kde-format +#| msgid "Cannot open document, unrar was not found." +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "Nikare belgeyê veke, unrar (vekerê arşîvê) nayê dîtin." + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "Guhertoya unrar ya di pergal te de têra vekirina pirtûkên qerfî neke." + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "Teşeya PirtûkênQerfî yê nenas." + +#~ msgid "ComicBook Backend" +#~ msgstr "Binesazî ya ComicBook" + +#~ msgid "A renderer for various comic book formats" +#~ msgstr "Modelkerek ji bo cur bi cur teşe yên pirtûkên qerfî" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/ku/okular_djvu.po b/po/ku/okular_djvu.po new file mode 100644 index 0000000..19d8b23 --- /dev/null +++ b/po/ku/okular_djvu.po @@ -0,0 +1,137 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_djvu\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-01-22 04:51+0200\n" +"Last-Translator: Omer Ensari \n" +"Language-Team: Kurdish \n" +"Language: ku\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Poedit-Language: Kurdish\n" +"X-Poedit-SourceCharset: utf8\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Omer Ensari" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "oensari@gmail.com" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "Edîtor" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "Weşanger" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "Deng" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "Teşeyê belgeyê" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "Nayê Zanîn" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "Pêkhênana Pelên" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "Nayê Zanîn" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "Yek Rûpel" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "Pêçayî" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "Nerasterast" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "Pêçayî (kevn)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "Pêristî (kevn)" + +#~ msgid "DjVu Backend" +#~ msgstr "Binesazî ya DjVu" + +#~ msgid "DjVu backend based on DjVuLibre." +#~ msgstr "Binesazî ya DjVu ya di bingeha DjVuLibre de." + +#~ msgid "© 2006-2008 Pino Toscano" +#~ msgstr "© 2006-2008 Pino Toscano" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgctxt "Unknown title" +#~ msgid "Unknown" +#~ msgstr "Nenas" + +#~ msgctxt "Unknown author" +#~ msgid "Unknown" +#~ msgstr "Nenas" + +#~ msgctxt "Unknown editor" +#~ msgid "Unknown" +#~ msgstr "Nenas" + +#~ msgctxt "Unknown publisher" +#~ msgid "Unknown" +#~ msgstr "Nenas" + +#~ msgctxt "Unknown creation date" +#~ msgid "Unknown" +#~ msgstr "Nayê Zanîn" + +#~ msgctxt "Unknown volume information" +#~ msgid "Unknown" +#~ msgstr "Nayê Zanîn" + +#~ msgctxt "Unknown type of document" +#~ msgid "Unknown" +#~ msgstr "Nayê Zanîn" diff --git a/po/ku/okular_epub.po b/po/ku/okular_epub.po new file mode 100644 index 0000000..dc9223d --- /dev/null +++ b/po/ku/okular_epub.po @@ -0,0 +1,58 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_epub\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-01-22 04:53+0200\n" +"Last-Translator: Omer Ensari \n" +"Language-Team: Kurdish \n" +"Language: ku\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Poedit-Language: Kurdish\n" +"X-Poedit-SourceCharset: utf8\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Omer Ensari" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "oensari@gmail.com" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "Demê vekirina belgeya EPub de çewtî derket." + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "" + +#: generator_epub.cpp:30 +#, fuzzy, kde-format +#| msgid "EPub Backend" +msgid "EPub Backend Configuration" +msgstr "Binesazî ya EPub" + +#~ msgid "EPub Backend" +#~ msgstr "Binesazî ya EPub" + +#~ msgid "An EPub backend" +#~ msgstr "Binesazî yekê EPub" + +#~ msgid "© 2008 Ely Levy" +#~ msgstr "© 2008 Ely Levy" + +#~ msgid "Ely Levy" +#~ msgstr "Ely Levy" diff --git a/po/ku/okular_fax.po b/po/ku/okular_fax.po new file mode 100644 index 0000000..4122b8e --- /dev/null +++ b/po/ku/okular_fax.po @@ -0,0 +1,47 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_fax\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-01-22 04:54+0200\n" +"Last-Translator: Omer Ensari \n" +"Language-Team: Kurdish \n" +"Language: ku\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Poedit-Language: Kurdish\n" +"X-Poedit-SourceCharset: utf8\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Omer Ensari" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "oensari@gmail.com" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "Nekarî belgeyê bar bike" + +#~ msgid "Fax Backend" +#~ msgstr "Binesazî ya Fax" + +#~ msgid "A G3/G4 fax document backend" +#~ msgstr "Binesazî ya belgeya G3/G4 fax " + +#~ msgid "© 2008 Tobias Koenig" +#~ msgstr "© 2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/ku/okular_fictionbook.po b/po/ku/okular_fictionbook.po new file mode 100644 index 0000000..af5a45f --- /dev/null +++ b/po/ku/okular_fictionbook.po @@ -0,0 +1,84 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_fictionbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-01-22 05:01+0200\n" +"Last-Translator: Omer Ensari \n" +"Language-Team: Kurdish \n" +"Language: ku\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Poedit-Language: Kurdish\n" +"X-Poedit-SourceCharset: utf8\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Omer Ensari" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "oensari@gmail.com" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "Belge FictionBook a derbasdar nîn e" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "Nekarî veke belgeya: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "Arşîva belgeyê ZIP a derbasdar nîn e" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "Avahiya belgeyê nederbasdar e (pelrêça mak winda ye)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "Tu naverok di belgeyê de nehat dîtin" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "Belgeya XML ya nederbasdar: %1" + +#: generator_fb.cpp:26 +#, fuzzy, kde-format +#| msgid "Fiction Book Backend" +msgid "FictionBook" +msgstr "Binesazî ya Fiction Book" + +#: generator_fb.cpp:26 +#, fuzzy, kde-format +#| msgid "Fiction Book Backend" +msgid "FictionBook Backend Configuration" +msgstr "Binesazî ya Fiction Book" + +#~ msgid "Fiction Book Backend" +#~ msgstr "Binesazî ya Fiction Book" + +#~ msgid "A renderer for FictionBook eBooks" +#~ msgstr "Modelkerek ji bo FictionBook eBook an" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/ku/okular_ghostview.po b/po/ku/okular_ghostview.po new file mode 100644 index 0000000..8985802 --- /dev/null +++ b/po/ku/okular_ghostview.po @@ -0,0 +1,92 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_ghostview\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-01-22 05:04+0200\n" +"Last-Translator: Omer Ensari \n" +"Language-Team: Kurdish \n" +"Language: ku\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Poedit-Language: Kurdish\n" +"X-Poedit-SourceCharset: utf8\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Omer Ensari" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "oensari@gmail.com" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, fuzzy, kde-format +#| msgid "&Use platform fonts" +msgid "Use Platform Fonts" +msgstr "Cure-nivîsên platformê &bi kar bîne" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "Mîhengên Giştî" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "Cure-nivîsên platformê &bi kar bîne" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Veavakirina Binesazî ya Ghostscript" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "Guhertoya belgeyê" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "Asta Zimanê" + +#~ msgid "PS Backend" +#~ msgstr "Binesazî ya PS" + +#~ msgid "A PostScript file renderer." +#~ msgstr "Modelkerê pela PostScript" + +#~ msgid "© 2007-2008 Albert Astals Cid" +#~ msgstr "© 2007-2008 Albert Astals Cid" + +#~ msgid "Based on the Spectre library." +#~ msgstr "Di bingeha pirtûkxane ya Spectre de." + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" diff --git a/po/ku/okular_kimgio.po b/po/ku/okular_kimgio.po new file mode 100644 index 0000000..aca1a88 --- /dev/null +++ b/po/ku/okular_kimgio.po @@ -0,0 +1,74 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_kimgio\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-01-22 05:06+0200\n" +"Last-Translator: Omer Ensari \n" +"Language-Team: Kurdish \n" +"Language: ku\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Poedit-Language: Kurdish\n" +"X-Poedit-SourceCharset: utf8\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Omer Ensari" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "oensari@gmail.com" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "Nekarî bar bike belgeya: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" + +#~ msgid "Image Backend" +#~ msgstr "Binesazî ya Wêne" + +#~ msgid "A simple image backend" +#~ msgstr "Binesazî ya wêne yê hêsanî" + +#, fuzzy +#~| msgid "" +#~| "© 2005 Albert Astals Cid\n" +#~| "© 2006-2007 Pino Toscano\n" +#~| "© 2006-2007 Tobias Koenig" +#~ msgid "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" +#~ msgstr "" +#~ "© 2005 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" + +#~ msgid "Main Toolbar" +#~ msgstr "Darika Amûran yê Mak" diff --git a/po/ku/okular_xps.po b/po/ku/okular_xps.po new file mode 100644 index 0000000..44d6649 --- /dev/null +++ b/po/ku/okular_xps.po @@ -0,0 +1,59 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: okukar_xps\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-01-22 05:15+0200\n" +"Last-Translator: Omer Ensari \n" +"Language-Team: Kurdish \n" +"Language: ku\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Poedit-Language: Kurdish\n" +"X-Poedit-SourceCharset: utf8\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Omer Ensari" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "oensari@gmail.com" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "Revîzyon" + +#~ msgid "XPS Backend" +#~ msgstr "Binesazî ya XPS" + +#~ msgid "An XPS backend" +#~ msgstr "Binesazî yekê XPS" + +#~ msgid "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" +#~ msgstr "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" + +#~ msgid "Brad Hards" +#~ msgstr "Brad Hards" + +#~ msgid "Jiri Klement" +#~ msgstr "Jiri Klement" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" diff --git a/po/lt/okular.po b/po/lt/okular.po new file mode 100644 index 0000000..dda5ebd --- /dev/null +++ b/po/lt/okular.po @@ -0,0 +1,6899 @@ +# translation of okular.po to Lithuanian +# Donatas Glodenis , 2005-2009. +# Tomas Straupis , 2011. +# Remigijus Jarmalavičius , 2011. +# Liudas Ališauskas , 2011, 2012, 2014. +# Liudas Alisauskas , 2013. +# Mindaugas Baranauskas , 2017, 2019. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-11-07 21:03+0200\n" +"Last-Translator: Moo <<>>\n" +"Language-Team: Lithuanian \n" +"Language: lt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : n%10>=2 && (n%100<10 || n" +"%100>=20) ? 1 : n%10==0 || (n%100>10 && n%100<20) ? 2 : 3);\n" +"X-Generator: Poedit 3.8\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Andrius Štikonas, Donatas Glodenis, Liudas Ališauskas, Moo" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "andrius@stikonas.eu, dgvirtual@akl.lt, liudas@akmc.lt, <>" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Okular, universali dokumentų žiūryklė" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "Ankstesnysis prižiūrėtojas" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "" +"Darbas su daugeliu karkasų, FictionBook programinė sąsaja ir buvusi ODT " +"programinė sąsaja" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "Programuotojas" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymanski" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "Sukūrė Okular iš KPDF kodo" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "Enrico Ros" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "KPDF programuotojas" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "Eugene Trounev" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "Anotacijų iliustracijos" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "Jiri Baum - NICTA" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "Lentelės žymėjimo įrankis" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "Fabio D'Urso" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "Anotacijų patobulinimai" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "Eiti į puslapį %1" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "Atverti išorinį failą" + +#: core/action.cpp:197 +#, kde-format +msgid "Execute '%1'…" +msgstr "Vykdyti „%1“…" + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "Pirmas puslapis" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "Ankstesnis puslapis" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "Kitas puslapis" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "Paskutinis puslapis" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "Atgal" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "Pirmyn" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Išjungti" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "Pradėti pateiktį" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "Baigti pateiktį" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "Rasti…" + +#: core/action.cpp:314 +#, kde-format +msgid "Go To Page…" +msgstr "Eiti į puslapį…" + +#: core/action.cpp:365 +#, kde-format +msgid "Play sound…" +msgstr "Atkurti garsą…" + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "JavaScript scenarijus" + +#: core/action.cpp:483 +#, kde-format +msgid "Play movie…" +msgstr "Atkurti filmą…" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "Atkurti filmą" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "Stabdyti filmą" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "Pristabdyti filmą" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "Pratęsti filmą" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "Šis Okular yra sudarytas be garso įrašų palaikymo" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "Programinės sąsajos pasirinkimas" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
    %1 (%2).

    Please select which one to use:
    " +msgstr "" +"Aptikta daugiau nei viena programinė sąsaja MIME tipui:
    %1 " +"(%2).

    Pasirinkite, kurią naudoti:
    " + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "Daugelis puslapių yra %1." + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "Stačias %1" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "Gulsčias %1" + +#: core/document.cpp:246 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 × %2 col. (%3)" + +#: core/document.cpp:248 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 × %2 mm (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "Tęsiama paiešką nuo pradžios" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "Tęsiama paiešką nuo apačios" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "Nepavyksta rasti įskiepio, kuris galėtų apdoroti perduodamą dokumentą." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "Šiam dokumentų tipui pasirašymas neįgyvendintas" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "šalinti anotacijas" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"Dokumentas bando paleisti išorinę programą ir, jūsų saugumo sumetimais, " +"Okular to neleidžia." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "Nepavyko rasti programos, skirtos atverti mime tipą %1." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "Nepavyko atverti laikinojo failo" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "Spausdinimo keitimas nepavyko" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "Spausdinimo procesas užstrigo" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "Nepavyko pradėti spausdinimo proceso" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "Nepavyko spausdinti į failą" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "Spausdintuvas buvo neteisingoje būsenoje" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "Nepavyko rasti failo, kurį spausdinti" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "Nebuvo jokio failo, kurį spausdinti" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"Nepavyko rasti tinkamo dvejetainio failo spausdinimui. Įsitikinkite, kad " +"CUPS lpr dvejetainis failas yra prieinamas" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "Puslapio spaudinio dydis yra neteisingas" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "Nepavyko atverti „%1“. Failas nėra" + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Pavadinimas" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Tema" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Aprašas" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "Autorius" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Kūrėjas" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Gamintojas" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "Autorių teisės" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "Puslapiai" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Sukurta" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Modifikuota" + +#: core/document.cpp:6032 +#, kde-format +msgid "MIME Type" +msgstr "MIME tipas" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "Kategorija" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Raktažodžiai" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "Failo kelias" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "Failo dydis" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "Puslapio dydis" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "pridėti anotaciją" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "šalinti anotaciją" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "modifikuoti anotacijos savybes" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "išversti anotaciją" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "reguliuoti anotaciją" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "redaguoti tekstą" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "redaguoti anotacijos turinį" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "redaguoti formos turinį" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "taisyti sąrašo formos pasirinkimus" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "taisyti jungtinės formos pasirinkimą" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "redaguoti formos mygtuko būsenas" + +#: core/generator.cpp:790 +#, kde-format +msgid "Plain &Text…" +msgstr "Grynasis &tekstas…" + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "OpenDocument tekstas" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "Spausdinimo parinktys" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "Talpinti į spausdintiną sritį" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "Talpinti į visą puslapį" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "Mastelio keitimo veiksena:" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "Daugiau neberodyti šio pranešimo" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "Neprieinama" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" +"Vidinė pasirašymo klaida. Prašome apie ją pranešti kartu nurodant žingsnius, " +"kaip ją galima būtų pakartoti. Klaidos kodas %1" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "Nepavyko pasirašyti dokumento: %1" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "Naudotojas atsisakė pasirašymo" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "Nepavyko pasirašyti. Neteisinga slaptafrazė" + +#: core/signatureutils.cpp:504 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" +"Nepavyko rašyti pasirašyto dokumento į %1, " +"įsitikinkite, kad pasirinkote aplanką, į kurį turite leidimą rašyti" + +#: core/signatureutils.cpp:506 +#, kde-format +msgid "Unknown signing error" +msgstr "Nežinoma pasirašymo klaida" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Šaltinis: %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "&Numatytasis šriftas:" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "Versija" + +#: gui/certificatemodel.cpp:41 +#, kde-format +msgid "Serial Number" +msgstr "Serijos numeris" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "Išdavėjas" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "Išdavė" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "Baigia galioti" + +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Objektas" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "Viešasis raktas" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "Rakto naudojimas" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "V%1" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "%1 (%2 bitų)" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "Savybė" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "Reikšmė" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "Iškylančioji pastaba" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "Rašomoji mašinėlė" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "Įterpta pastaba" + +#: gui/guiutils.cpp:56 +#, kde-format +msgid "Arrow with Comment" +msgstr "Rodyklė su komentaru" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "Rodyklė" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "Tiesi linija su komentaru" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "Tiesi linija" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "Stačiakampis su komentaru" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "Daugiakampis" + +#: gui/guiutils.cpp:71 +#, kde-format +msgid "Rectangle with Comment" +msgstr "Stačiakampis su komentaru" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "Stačiakampis" + +#: gui/guiutils.cpp:74 +#, kde-format +msgid "Ellipse with Comment" +msgstr "Elipsė su komentaru" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "Elipsė" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "Paryškinimas su komentaru" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "Paryškinimas" + +#: gui/guiutils.cpp:87 +#, kde-format +msgid "Squiggle with Comment" +msgstr "Išraitymas su komentaru" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "Išraitymas" + +#: gui/guiutils.cpp:91 +#, kde-format +msgid "Underline with Comment" +msgstr "Pabraukimas su komentaru" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "Pabraukimas" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out with Comment" +msgstr "Išbraukimas su komentaru" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "Išbraukti" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "Antspaudas su komentaru" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "Antspaudas" + +#: gui/guiutils.cpp:106 +#, kde-format +msgid "Freehand Line with Comment" +msgstr "Laisvo piešimo linija su komentaru" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "Laisvo piešimo linija" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "Žymeklis" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "Failo priedas" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "Garsas" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "Filmas" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Ekranas" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "Valdiklis" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "Raiškioji medija" + +#: gui/guiutils.cpp:144 +#, kde-format +msgid "Annotation" +msgstr "Anotacija" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "Nežinomas" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Autorius: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "Kur norite įrašyti %1?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "Nepavyko atverti „%1“ įrašymui. Failas nebuvo įrašytas." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "Parašas yra kriptografiškai galiojantis." + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "Parašas yra kriptografiškai negaliojantis." + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "Atsirado maišos reikšmės neatitikimas." + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "Parašo CMS/PKCS7 struktūra yra netaisyklinga." + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "Užklausto parašo dokumente nėra." + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "Nepavyko patikrinti parašo." + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "Liudijimas yra patikimas." + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "Liudijimo išdavėjas nėra patikimas." + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "Liudijimo išdavėjas yra nežinomas." + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "Liudijimas panaikintas." + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "Liudijimas nebegalioja." + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "Liudijimas kol kas nebuvo patikrintas." + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "Vyksta liudijimo patikrinimas" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "Nežinoma problema su liudijimu arba sugadinti duomenys." + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "MD2" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "MD5" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "SHA1" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "SHA256" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "SHA384" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "SHA512" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "SHA224" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "Nežinomas algoritmas" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "RSA" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "DSA" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "EC" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "Nežinomas tipas" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "Skaitmeninis parašas" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "Nepaneigimas" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "Šifruoti raktus" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "Iššifruoti raktus" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "Rakto sutartis" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "Pasirašyti liudijimą" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "Pasirašyti CRL" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "Tik šifruoti" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "Naudojimas nenurodytas" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr ", " + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "Dokumentas nebuvo modifikuotas nuo pasirašymo." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" +"Šiuo parašu aprėpta dokumento revizija nebuvo modifikuota;\n" +"vis dėlto, dokumente buvo atlikti vėlesni pakeitimai." + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" +"Dokumentas buvo modifikuotas tokiu būdu, kokiu to neleido anksčiau pasirašęs " +"asmuo." + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "Nepavyko užbaigti dokumento vientisumo patikrinimo." + +#: gui/signatureguiutils.cpp:208 +#, kde-format +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "Šiame dokumente yra parašui rezervuotų vietų." + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "Šis dokumentas yra skaitmeniškai pasirašytas." + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "" +"Šis dokumentas yra skaitmeniškai pasirašytas. Yra pakeitimų nuo paskutinio " +"pasirašymo." + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" +"Šis dokumentas yra skaitmeniškai pasirašytas. Kai kurių parašų nepavyko " +"tinkamai patikrinti." + +#: gui/signaturemodel.cpp:141 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "Parašui rezervuota vieta %1" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "Laukas: %1, %2-ame puslapyje" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "Rev. %1: Pasirašė %2" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "Pasirašymo laikas: %1" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "Priežastis: %1" + +#: gui/signaturemodel.cpp:177 +#, kde-format +msgid "Location: %1" +msgstr "Vieta: %1" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "PGP parašai" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "Adobe PKCS7" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "Adobe PKCS7 Sha1" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "ETSI CAdES" + +#: gui/signaturemodel.cpp:193 +#, kde-format +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "Nežinomas" + +#: gui/signaturemodel.cpp:195 +#, kde-format +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "Parašui rezervuota vieta" + +#: gui/signaturemodel.cpp:201 +#, kde-format +msgid "Signature Type: %1" +msgstr "Parašo tipas: %1" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "Raudona" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "Oranžinė" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "Geltona" + +#: part/annotationactionhandler.cpp:151 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "Žalia" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "Žydra" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "Mėlyna" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "Purpurinė" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "Balta" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "Pilka" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "Juoda" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "Plotis %1" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1%" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "Anotacijos linijos plotis (Nepasirinkta jokia anotacija)" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "Anotacijos spalva (Nepasirinkta jokia anotacija)" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "Anotacijos užpildo spalva (Nepasirinkta jokia anotacija)" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "Anotacijos nepermatomumas (Nepasirinkta jokia anotacija)" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "Anotacijos šriftas (Nepasirinkta jokia anotacija)" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" +"Pridėti dabartinę anotaciją į sparčiųjų anotacijų meniu (Nepasirinkta jokia " +"anotacija)" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" +"Suvaržyti formos proporcijas iki 1:1 arba linijos kampus iki žingsnių po 15° " +"(Nepasirinkta jokia anotacija)" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" +"Išplėstinės dabartinio anotacijos įrankio nuostatos (Nepasirinkta jokia " +"anotacija)" + +#: part/annotationactionhandler.cpp:308 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Anotacijos linijos plotis" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "" +"Anotacijos linijos plotis (Dabartinė anotacija neturi jokio linijos pločio)" + +#: part/annotationactionhandler.cpp:314 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Anotacijos teksto spalva" + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "Anotacijos rėmelio spalva" + +#: part/annotationactionhandler.cpp:318 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Anotacijos spalva" + +#: part/annotationactionhandler.cpp:322 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Anotacijos užpildo spalva" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "" +"Anotacijos užpildo spalva (Dabartinė anotacija neturi jokios užpildo spalvos)" + +#: part/annotationactionhandler.cpp:328 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "Anotacijos šriftas" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "Anotacijos šriftas (Dabartinė anotacija neturi jokio šrifto)" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "Suvaržyti linijos kampus iki žingsnių po 15°" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "Suvaržyti formos proporcijas iki 1:1" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" +"Suvaržyti formos proporcijas iki 1:1 arba linijos kampus iki žingsnių po 15° " +"(Dabartinė anotacija to nepalaiko)" + +#: part/annotationactionhandler.cpp:341 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Anotacijos nepermatomumas" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "Pridėti dabartinę anotaciją į sparčiųjų anotacijų meniu" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "Išplėstinės dabartinio anotacijos įrankio nuostatos" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "Spalva" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "Užpildo spalva" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "Permatoma" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "Tinkinta spalva…" + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "Pasirinkite spalvą" + +#: part/annotationactionhandler.cpp:552 +#, kde-format +msgid "&Annotations" +msgstr "&Anotacijos" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "Slėpti" + +#: part/annotationactionhandler.cpp:554 +#, kde-format +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Rodyti daugiau anotacijų įrankių" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "Markeris" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "Pabraukimas" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "Išraitymas" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "Išbraukimas" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Rašomoji mašinėlė" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "Įterpta pastaba" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "Iškylančioji pastaba" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "Laisvo piešimo linija" + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "Tiesi linija" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "Rodyklė" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "Stačiakampis" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "Elipsė" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "Daugiakampis" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "Geometrinės formos" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "Antspaudas" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Sparčiosios anotacijos" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "Pasirinkti anotacijos įrankį iš sparčiųjų anotacijų" + +#: part/annotationactionhandler.cpp:651 +#, kde-format +msgid "Quick Annotation Bar" +msgstr "Sparčiųjų anotacijų juosta" + +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "Pridėti į sparčiąsias anotacijas" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "Palikti aktyvų" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "Po naudojimo, palikti anotacijos įrankį aktyvų" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "Suvaržyti anotacijų įrankių proporcijas ir kampus" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "Šriftas" + +#: part/annotationactionhandler.cpp:681 +#, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Anotacijų nuostatos" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "Linijos plotis" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "Nepermatomumas" + +#: part/annotationactionhandler.cpp:696 +#, kde-format +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1%" + +#: part/annotationmodel.cpp:320 +#, kde-format +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "Puslapis %1 (%2)" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "Puslapis %1" + +#: part/annotationpopup.cpp:85 +#, kde-format +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "Anotacija" +msgstr[1] "%1 anotacijos" +msgstr[2] "%1 anotacijų" +msgstr[3] "%1 anotacija" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "&Atverti iškylančiąją pastabą" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Šalinti žymelę" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Pridėti žymelę" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, kde-format +msgid "Copy Text to Clipboard" +msgstr "Kopijuoti tekstą į iškarpinę" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "DRM draudžia kopijavimą" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "&Ištrinti" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "&Savybės" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, kde-format +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "Į&rašyti „%1“…" + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "Iš&vaizda" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "&Bendra" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&Autorius:" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "Sukurta:" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "Modifikuota:" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "Iškylančiosios pastabos savybės" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "Rašomosios mašinėlės savybės" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "Įterptos pastabos savybės" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "Tiesios linijos savybės" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "Daugiakampio savybės" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "Geometrijos savybės" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "Teksto ženklinimo savybės" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "Antspaudo savybės" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "Laisvos piešimo linijos savybės" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "Žymeklio savybės" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "Failo priedo savybės" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "Garso savybės" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "Filmo savybės" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "Anotacijos savybės" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "Pasirinkti tinkintą antspaudo simbolį iš failo" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "Pasirinkite tinkintą antspaudo simbolį" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" +"*.ico *.png *.xpm *.svg *.svgz | Piktogramų failai (*.ico *.png *.xpm *.svg " +"*.svgz)" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "Nepavyko įkelti failo %1" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "Neteisingas failas" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&Spalva:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, kde-format +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%v%" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "Nepermat&omumas:" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "Piktograma:" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "Komentaras" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "Pagalba" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "Įterpti" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "Klavišas" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "Nauja pastraipa" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "Pastaba" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "Pastraipa" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Šriftas:" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "&Teksto spalva:" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "Lygiuoti:" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "Kairėje" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "Centre" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "Dešinėje" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "Rėmelio &plotis:" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "Patvirtintas" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "Toks, koks yra" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "Konfidencialu" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "Departamento" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "Juodraštis" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "Eksperimentinis" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "Nebegaliojantis" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "Galutinis" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "Komentarams" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "Viešam paskelbimui" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "Nepatvirtintas" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "Viešai neskelbtina" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "Parduota" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "Visiškai slapta" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "Žymelė" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "Informacija" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "Antspaudo simbolis:" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "&Plotis:" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "Linijos pradžia:" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "Linijos pabaiga:" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "Kvadratas" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "Apskritimas" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "Rombas" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "Atvira rodyklė" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "Uždara rodyklė" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "Nėra" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "Sudūrimas" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "Atvira rodyklė dešinėn" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "Uždara rodyklė dešinėn" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "Pasvirasis brūkšnys" + +#: part/annotationwidgets.cpp:531 +#, kde-format +msgid "Leader line length:" +msgstr "Nurodančios linijos ilgis:" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "Nurodančios linijos išplėtimo ilgis:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "Įjungta" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "Formos užpildas:" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Tipas:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "Išbraukimas" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "Failo priedo simbolis:" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "Grafikas" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "Smeigtukas" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "Sąvaržėlė" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "Žymė" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "Failas" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "Nėra" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "Aprašas neprieinamas." + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "Pavadinimas:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "Aprašas:" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "Žymeklio simbolis:" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "Nėra" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "Užverti šią pastabą" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "Parinktys" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"Šioje anotacijoje gali būti LaTeX kodo.\n" +"Spustelėkite čia, norėdami atvaizduoti." + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "Nepavyksta rasti latex vykdomojo failo." + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "LaTeX atvaizdavimas nepavyko" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "Nepavyksta rasti dvipng vykdomojo failo." + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "Vykdant „latex“ komandą, atsirado problema." + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "Vykdant „dvipng“ komandą, atsirado problema." + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"Viena žymelė" +msgstr[1] "" +"%1\n" +"\n" +"%2 žymelės" +msgstr[2] "" +"%1\n" +"\n" +"%2 žymelių" +msgstr[3] "" +"%1\n" +"\n" +"%2 žymelė" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Žymelės" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "Rodyti visiems dokumentams" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, kde-format +msgid "Search…" +msgstr "Ieškoti…" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, fuzzy, kde-format +#| msgid "Expand all" +msgid "Expand All" +msgstr "Išskleisti viską" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, fuzzy, kde-format +#| msgid "Collapse all" +msgid "Collapse All" +msgstr "Suskleisti viską" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "Eiti prie šios žymelės" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "Pervadinti žymelę" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Atverti dokumentą" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "Šalinti visas žymeles šiam dokumentui" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "Liudijimų žiūryklė" + +#: part/certificateviewer.cpp:50 +#, kde-format +msgid "Export…" +msgstr "Eksportuoti…" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "Bendra" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "Išdavė" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "Pavadinimas (CN)" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "El. paštas" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "Organizacija (O)" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "Kam išduotas" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "Galiojimas" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "Kontroliniai kodai" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "SHA-1 kontrolinis kodas" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "SHA-256 kontrolinis kodas" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "Išsamiau" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "Liudijimo duomenys:" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "Kur norite įrašyti šį liudijimą?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "Liudijimo failas (*.cer)" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "Nepavyko eksportuoti liudijimo" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "&Spalvos veiksena" + +#: part/colormodemenu.cpp:21 +#, kde-format +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "Keisti spalvas" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "Įp&rastos spalvos" + +#: part/colormodemenu.cpp:41 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "&Invertuoti spalvas" + +#: part/colormodemenu.cpp:42 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "Keisti &popieriaus spalvą" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "Keisti &tamsias ir šviesias spalvas" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "Konvertuoti į &juodą ir baltą" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "Invertuoti š&viesumą" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "Invertuoti L&uma (linijinė sRGB)" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "Invertuoti Luma (&Simetrinė)" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "Pastumti atspalvio p&ozityvą" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "Pastumti atspalvio n&egatyvą" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "Raudona" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "Žalia" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "Mėlyna" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "Geltona" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "Juoda" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "Balta" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "Geltonas markeris" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "Žalias markeris" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "Įterpti tekstą" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "Piešti rėmelį aplink nuorodas" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "Keisti spalvas" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "Įspėjimas: šios parinktys gali blogai paveikti piešimo greitį." + +#: part/dlgaccessibility.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "Invertuoti spalvas" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "Keisti popieriaus spalvą" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "Keisti tamsias ir šviesias spalvas" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "Konvertuoti į juodą ir baltą" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "Invertuoti šviesumą" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "Invertuoti luma (linijinė sRGB)" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "Invertuoti luma (simetrinė)" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "Pastumti atspalvio pozityvą" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "Pastumti atspalvio negatyvą" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "Spalvos veiksena:" + +#: part/dlgaccessibility.cpp:87 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Popieriaus spalva:" + +#: part/dlgaccessibility.cpp:99 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Tamsi spalva:" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "Šviesi spalva:" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "Slenkstis:" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Kontrastas:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "Garsinio teksto atkūrimo modulis:" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "Garsinio teksto atkūrimo balsas:" + +#: part/dlgannotations.cpp:25 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Pilna anotacijų įrankių juosta" + +#: part/dlgannotations.cpp:26 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Sparčiųjų anotacijų įrankių juosta" + +#: part/dlgannotations.cpp:28 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Anotacijų įrankių juosta:" + +#: part/dlgannotations.cpp:34 +#, kde-format +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "Autorius:" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"Pastaba: čia pateikiama informacija yra naudojama tik anotacijoms. " +"Informacija yra įrašoma į dokumentą su anotacijomis ir tokiu būdu bus " +"perduota kartu su dokumentu." + +#: part/dlgannotations.cpp:48 +#, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

    Quick Annotation Tools

    " +msgstr "

    Sparčiųjų anotacijų įrankiai

    " + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" +"Pasirinkite redaktorių, kurį norite paleisti tais atvejais, kai Okular norės " +"atverti šaltinio failą." + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "Tinkintas tekstų redaktorius" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Emacs kliento programa" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "Lyx kliento programa" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "TeXstudio" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "TeXiFy IDEA" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "Redaktorius:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
    \n" +"You can also put few placeholders:\n" +"
      \n" +"
    • %f - the file name
    • \n" +"
    • %l - the line of the file to be reached
    • \n" +"
    • %c - the column of the file to be reached
    • \n" +"
    \n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"Nustatykite paleidžiamo tinkinto tekstų redaktoriaus komandą.
    \n" +"Taip pat po komandos galite įrašyti kelis vietaženklius:\n" +"
      \n" +"
    • %f – failo pavadinimas
    • \n" +"
    • %l – failo eilutės, ties kuria jį atverti, numeris
    • \n" +"
    • %c – failo stulpelio, ties kuriuo failą atverti, numeris
    • \n" +"
    \n" +"Jei %f nebus nurodytas, tuomet prie nurodytos komandos bus prijungtas failo " +"pavadinimas." + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "Komanda:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "Naudoti glotnų slinkimą" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "Išvaizda:" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "Rodyti slankjuostes" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "Susieti miniatiūras su puslapiu" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "Rodyti patarimus ir informacinius pranešimus" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "Pranešti apie įterptus failus, formas ar parašus" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "Jei prieinama, rodyti antraštės juostoje dokumento pavadinimą" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "Rodyti tik failo pavadinimą" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "Rodyti pilną failo kelią" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "Nerodant dokumento pavadinimo:" + +#: part/dlggeneral.cpp:92 +#, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "Naudoti tinkintą fono spalvą:" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "Programos ypatybės:" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "Atverti naujus failus kortelėse" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "Perjungti į esamą kortelę, jeigu failas jau yra atvertas" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "Paklusti DRM apribojimams" + +#: part/dlggeneral.cpp:148 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "Pasikeitus failui, įkelti dokumentą iš naujo" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "Rodyti programinės sąsajos pasirinkimo dialogą" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "Skaitymo kryptis iš dešinės į kairę" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" +"Naudoti informaciją apie failą, kad būtų nustatyta, ar atverti pagal " +"numatymą nuoseklioje veiksenoje" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" +"Failus, kuriuose nėra informacijos apie failą, pagal numatymą atverti " +"nuoseklioje veiksenoje" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "Pagal numatymą, atverti nuoseklioje veiksenoje" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" +"Naudojant naršymo įrankį, cikliškai perkėlinėti žymeklį ties ekrano kraštais" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "Paskiausiai naudotų elementų istorijoje:" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "Apžvalgos stulpeliai:" + +#: part/dlggeneral.cpp:220 +#, kde-format +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%v%" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" +"Apibrėžia kiek šiuo metu rodomos srities bus matoma, paspaudžiant klavišus " +"Psl. aukštyn/Psl. žemyn." + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "Puslapio aukštyn/žemyn persiklojimas:" + +#: part/dlggeneral.cpp:228 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%v%" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "100%" + +#: part/dlggeneral.cpp:233 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "Talpinti į plotį" + +#: part/dlggeneral.cpp:234 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "Talpinti į puslapį" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "Automatiškai talpinti" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "Tinkintas" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" +"Apibrėžia numatytojo mastelio veikseną failams, kurie dar niekada nebuvo " +"atverti. Failams, kurie jau buvo atverti anksčiau, bus taikomas ankstesnis " +"mastelis." + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "Numatytasis mastelis:" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "Įjungti permatomumo efektus" + +#: part/dlgperformance.cpp:28 +#, kde-format +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "Procesoriaus naudojimas:" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "Žemas" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "Normalus (numatytasis)" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "Agresyvus" + +#: part/dlgperformance.cpp:38 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "Godus" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "Atminties naudojimas:" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "Įjungti teksto glodinimą" + +#: part/dlgperformance.cpp:56 +#, kde-format +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "Atvaizdavimo parinktys:" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "Įjungti grafikos glodinimą" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "Įjungti teksto taškinę korekciją" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"Naudoja kaip įmanoma mažiau atminties. Nenaudoti nieko iš naujo. (Sistemoms " +"su mažai atminties.)" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"Geras kompromisas tarp atminties naudojimo ir greičio gavimo. Iš anksto " +"įkelia kitą puslapį ir pagreitiną paieškas. (Paprastai sistemoms su 256MB " +"atminties ir daugiau)" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"Laiko viską atmintyje. Iš anksti įkelia kitus puslapius. Pagreitina " +"paieškas. (Sistemoms su daugiau nei 512MB atminties.)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" +"Įkelia ir laiko viską atmintyje. Iš anksto įkelti puslapius. (Naudos " +"daugiausiai 50% jūsų visos atminties arba jūsų laisvos atminties, " +"priklausomai nuo to, kurios yra daugiau.)" + +#: part/dlgpresentation.cpp:38 +#, kde-format +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] "kas %v sekundę" +msgstr[1] "kas %v sekundes" +msgstr[2] "kas %v sekundžių" +msgstr[3] "kas %v sekundę" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "Automatiškai pereiti toliau:" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "Po paskutinio puslapio rodyti iš naujo" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "Bakstelėti kairiajame/dešiniajame šone norint eiti atgal/pirmyn" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "Bakstelėti bet kur norint eiti pirmyn" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "Išjungtas" + +#: part/dlgpresentation.cpp:63 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Naršymas prilietimais:" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "Fono spalva:" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "Slepiamas po delsos" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "Visada matomas" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "Visada slepiamas" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "Pelės žymeklis:" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "Rodyti eigos indikatorių" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "Rodyti santraukos puslapį" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "Nedelsiant (Niekada nenaudoti animacijų)" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "Pakeitimas" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "Atsitiktinis perėjimas" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "Vertikalios žaliuzės" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "Horizontalios žaliuzės" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "Mažėjanti dėžutė" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "Didėjanti dėžutė" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "Skaidymas" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "Laipsniškas išnykimas" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "Mirgėjimas žemyn" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "Mirgėjimas į dešinę" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "Mirgėjimas į apatinę dešinę" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "Horizontalus uždarymas" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "Horizontalus atidarymas" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "Vertikalus uždarymas" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "Vertikalus atidarymas" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "Išvalymas žemyn" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "Išvalymas dešinėn" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "Išvalymas kairėn" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "Išvalymas aukštyn" + +#: part/dlgpresentation.cpp:121 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Numatytasis perėjimas:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "Pageidaujamas ekranas:" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

    Drawing Tools

    " +msgstr "

    Piešimo įrankiai

    " + +#: part/dlgpresentation.cpp:171 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Dabartinis ekranas" + +#: part/dlgpresentation.cpp:172 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Numatytasis ekranas" + +#: part/dlgpresentation.cpp:178 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "Ekranas %1 (%2 %3 %4)" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "Ekranas %1 (atjungtas)" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "Piešimo įrankis: %1" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "Trintukas" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "&Pavadinimas:" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "&Tipas:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "Išvaizda" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "Teksto ženklinimas" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "Geometrinė forma" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "Sukurti anotacijos įrankį" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "Taisyti anotacijos įrankį" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "Spalva:" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "Rašiklio &storis:" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "%v piks." + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "Sukurti piešimo įrankį" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "Taisyti piešimo įrankį" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "Nežinoma" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Įterpti failai" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "Rodyti" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "Pavadinimas" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "Aprašas" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "Dydis" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "Sukurta" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "Modifikuota" + +#: part/embeddedfilesdialog.cpp:154 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "Į&rašyti kaip…" + +#: part/embeddedfilesdialog.cpp:155 +#, kde-format +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "&Rodinys…" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "Nepavyko įkelti spaudinio peržiūros dalies" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "Spaudinio peržiūra" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "Užverti" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "&Rasti:" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "Tekstas, kurio ieškoti" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Kitas" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "Peršokti prie kito atitikmens" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Ankstesnis" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "Peršokti prie ankstesnio atitikmens" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "Modifikuoti paieškos elgseną" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "Skirti raidžių dydį" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "Nuo esamo puslapio" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "Paieška renkant tekstą" + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "Visi failai (*)" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "Parašui rezervuota vieta (Spustelėkite norėdami pasirašyti)" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "Pa&sirašyti…" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "Parašo savybės" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "Paieškos parinktys" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "Skirti raidžių dydį" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "Reguliarusis reiškinys" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "Sluoksniai" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "iš" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "Mastelis" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "100% mastelis" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "Pasukti &dešinėn" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "Dešinėn" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "Pasukti &kairėn" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "Kairėn" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "Pradinė orientacija" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "Ap&kirptas rodinys" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "&Apkirpti paraštes" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "Apkirpti iki ž&ymėjimo" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "Talpinti į &plotį" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "Talpinti į p&uslapį" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "&Automatiškai talpinti" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "Talpinti langą į &puslapį" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "&Rodinio veiksena" + +#: part/pageview.cpp:594 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "&Vienas puslapis" + +#: part/pageview.cpp:595 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "&Puslapiai poromis" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "Puslapiai poromis (&Centruoti pirmą puslapį)" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "&Apžvalga" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "&Nuosekliai" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "Naudoti skaitymo kryptį iš dešinės į kairę" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "&Naršyti" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "&Mastelis" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "Srities ž&ymėjimas" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "&Teksto žymėjimas" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "&Lentelės žymėjimas" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "&Didinamasis stiklas" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "Žymėjimo įrankiai" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "Skaitmeniškai pa&sirašyti…" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "Skaityti balsu visą dokumentą" + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "Skaityti balsu nuo dabartinio puslapio" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "Skaityti balsu dabartinį puslapį" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "Baigti skaitymą balsu" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "Pristabdyti/Pratęsti skaitymą balsu" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "Slinkti aukštyn" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Slinkti žemyn" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "Slinkti puslapį aukštyn" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "Slinkti puslapį žemyn" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "Rodyti formas" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] " Įkeltas vieno puslapio dokumentas." +msgstr[1] " Įkeltas %1 puslapių dokumentas." +msgstr[2] " Įkeltas %1 puslapių dokumentas." +msgstr[3] " Įkeltas %1 puslapio dokumentas." + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "Kopijuoti lentelės turinį į iškarpinę" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "Tekstas (1 simbolis)" +msgstr[1] "Tekstas (%1 simboliai)" +msgstr[2] "Tekstas (%1 simbolių)" +msgstr[3] "Tekstas (%1 simbolis)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "Kopijuoti į iškarpinę" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "Pradėti skaitymą balsu" + +#: part/pageview.cpp:2863 +#, kde-format +msgid "Image (%1 × %2 pixels)" +msgstr "Paveikslas (%1 × %2 pikselių)" + +#: part/pageview.cpp:2865 +#, kde-format +msgid "Save to File…" +msgstr "Įrašyti į failą…" + +#: part/pageview.cpp:2885 +#, kde-format +msgid "Image [%1 × %2] copied to clipboard." +msgstr "Paveikslas [%1 × %2] nukopijuotas į iškarpinę." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "Įrašyti failą" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "Paveikslai (*.png *.jpeg)" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "Failas neįrašytas." + +#: part/pageview.cpp:2901 +#, kde-format +msgid "Image [%1 × %2] saved to %3 file." +msgstr "Paveikslas [%1 × %2] įrašytas į failą %3." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "Kopijuoti tekstą" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "Eiti į „%1“" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "Talpinti į plotį" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "Talpinti į puslapį" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "Automatiškai talpinti" + +#: part/pageview.cpp:4107 +#, kde-format +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1%" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "Ieškoti „%1“ naudojant" + +#: part/pageview.cpp:4404 +#, kde-format +msgid "Configure Web Shortcuts…" +msgstr "Konfigūruoti saityno trumpinius…" + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "Eiti šia nuoroda" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "Atkurti šį garsą" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "Stabdyti garsą" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "Kopijuoti nuorodos adresą" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "Ieškoti „%1“ šiame dokumente" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Sveiki" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "" +"Pažymėkite didinamą sritį. Norėdami mažinti, spustelėkite dešiniuoju pelės " +"mygtuku." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "Spustelėkite norėdami matyti padidintą vaizdą." + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "" +"Norėdami kopijuoti, apibrėžkite stačiakampį aplink tekstą ar grafikos " +"objektą." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "Žymėti tekstą" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" +"Apibrėžkite stačiakampį aplink lentelę, tada spustelėkite šalia kraštų " +"norėdami perskirti; paspauskite Grįžimo (Esc) klavišą norėdami išvalyti." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" +"Visi jūsų pasirašymo liudijimai yra negaliojantys. Tuo atveju, jei " +"pasirašymas anksčiau veikdavo, patikrinkite jų galiojimo datas." + +#: part/pageview.cpp:5188 +#, kde-format +msgid "No valid certificates" +msgstr "Nėra galiojančių liudijimų" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, kde-format +msgid "Open Certificate Manager" +msgstr "Atverti liudijimų tvarkytuvę" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
    Launch Certificate Manager " +"to import or manage certificates
    For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" +"Nėra prieinamų pasirašymo liudijimų.
    Paleiskite liudijimų tvarkytuvę, " +"kad importuotumėte ar tvarkytumėte liudijimus
    Išsamesnei informacijai " +"programos vadove žiūrėkite dalį apie Skaitmeninių parašų " +"pridėjimą." + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, kde-format +msgid "No certificates found" +msgstr "Nerasta jokių liudijimų" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
    For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" +"Nėra prieinamų pasirašymo liudijimų.
    Išsamesnei informacijai, programos " +"vadove žiūrėkite sekciją apie Skaitmeninių parašų pridėjimą." + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" +"Yra neįrašytų pakeitimų. Prieš pasirašydami dokumentą, įrašykite pakeitimus." + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "Pieškite stačiakampį, norėdami įterpti parašo lauką" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "" +"Apibrėžkite stačiakampį aplink puslapio sritį, kurią norite palikti matomą" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "Nauja tekstinė pastaba" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "Naujos pastabos tekstas:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Pasirašė: %1\n" +"\n" +"Data: %2" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" +"Tokio dydžio parašas gali būti neįskaitomas. Jei norėtumėte sukurti galimai " +"labiau įskaitomą parašą, paspauskite Pradėti iš naujo " +"ir nupieškite didesnį stačiakampį." + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "Pradėti iš naujo" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "Pasirašyti" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name" +msgstr "Autoriaus vardas" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name for the annotation:" +msgstr "Anotacijos autoriaus vardas:" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "Piešti elipsę (tempkite norėdami pažymėti sritį)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "Paryškinti tekstą" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "Piešti laisvo piešimo liniją" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "Įterpta tekstinė anotacija (tempkite norėdami pažymėti sritį)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "Padėti iškylančiąją pastabą" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "" +"Piešti daugiakampį (spustelėkite ant pirmojo taško norėdami stačiakampį " +"uždaryti)" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "Piešti stačiakampį" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "Pabraukti tekstą išraitymu" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "Uždėti antspaudą" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "Piešti tiesią liniją" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "Išbraukti tekstą" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "Pabraukti tekstą" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "Rašomosios mašinėlės anotacija (tempkite norėdami pažymėti sritį)" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "Markeris" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "Pridėti mėgstamą anotaciją" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Custom annotation name:" +msgstr "Tinkintos anotacijos pavadinimas:" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&Failas" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "&Nuostatos" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "&Pagalba" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "&Orientacija" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "Žy&melės" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "Žiūryklės įrankių juosta" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Miniatiūros" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "Anotacijos" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
    Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" +"Šiame dokumente yra anotacijų ar formų duomenų, kuriuos ankstesnė Okular " +"versija įrašė dokumento viduje. Vidinė saugykla yra daugiau " +"nebepalaikoma.
    Jei norite tęsti redaguoti šį dokumentą, įrašykite į " +"failą, kad perkeltumėte tuos duomenis." + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files.
    Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"Å iame dokumente yra įterptų failų. Spustelėkite čia, norėdami juos pamatyti arba eikite į Failas -> " +"Ä®terpti failai." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "Vyksta pasiraÅ¡ymas. Galite derinti paraÅ¡o dydį ir vietą" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "Užbaigti pasiraÅ¡ymą" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "Ankstesnis" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "Grįžti į ankstesnį puslapį" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "Pereina į ankstesnį dokumento puslapį" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "Kitas" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "Pereiti į kitą puslapį" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "Pereina į kitą dokumento puslapį" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "Dokumento pradžia" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "Pereina į dokumento pradžią" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "Dokumento pabaiga" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "Pereina į dokumento pabaigą" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "Pervadinti esamą žymelę" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "Ankstesnė žymelė" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "Eiti į ankstesnę žymelę" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "Kita žymelė" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "Eiti į kitą žymelę" + +#: part/part.cpp:748 +#, kde-format +msgid "Configure Okular…" +msgstr "KonfigÅ«ruoti Okular…" + +#: part/part.cpp:751 +#, kde-format +msgid "Configure Viewer…" +msgstr "KonfigÅ«ruoti žiÅ«ryklę…" + +#: part/part.cpp:757 +#, kde-format +msgid "Configure Viewer Backends…" +msgstr "KonfigÅ«ruoti žiÅ«ryklės programines sąsajas…" + +#: part/part.cpp:759 +#, kde-format +msgid "Configure Backends…" +msgstr "KonfigÅ«ruoti programines sąsajas…" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "Apie programinę sąsają" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "Ä®kelti iÅ¡ &naujo" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "Pakartotinai įkelti esamą dokumentą iÅ¡ disko." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "Užverti &paieÅ¡kos juostą" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "Puslapio numeris" + +#: part/part.cpp:817 +#, kde-format +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "KonfigÅ«ruoti spalvos veiksenas…" + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "Pažymėti visą tekstą esamame puslapyje" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "Rodyti Å¡&oninę juostą" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "Rodyti &puslapių juostą" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "Rodyti ¶Å¡Å³ skydelį" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "Ä®&terpti failai" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "E&ksportuoti kaip" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "&Bendrinti" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "&Pateiktis" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "Atverti &vidinį aplanką" + +#: part/part.cpp:945 +#, kde-format +msgid "&Import PostScript as PDF…" +msgstr "&Importuoti PostScript kaip PDF…" + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "Perjungti juodo ekrano veikseną" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "IÅ¡trinti pieÅ¡inį" + +#: part/part.cpp:962 +#, kde-format +msgid "Configure Annotations…" +msgstr "KonfigÅ«ruoti anotacijas…" + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "Rodyti/pristabdyti pateiktį" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" +"JÅ«s ką tik modifikavote atvertą dokumentą, bet Å¡io tipo dokumento negalima " +"įraÅ¡yti.\n" +"Užvėrus Okular, bet kokie pakeitimai bus prarasti." + +#: part/part.cpp:1123 +#, kde-format +msgid "Document can't be saved" +msgstr "Dokumentas negali bÅ«ti įraÅ¡ytas" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "Nepavyko atverti „%1“ (%2) " + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "%1 įkėlimo buvo atsisakyta." + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "Nepavyko atverti %1. Priežastis: %2" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "KonfigÅ«ruoti žiÅ«ryklės programines sąsajas" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "KonfigÅ«ruoti programines sąsajas" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"Programa „ps2pdf“ nerasta, todėl jos nenaudodama programa Okular negali " +"importuoti PS failų." + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "Nerasta ps2pdf" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "PostScript failai (%1)" + +#: part/part.cpp:1357 +#, kde-format +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "Importuojamas PS failas kaip PDF (tai gali užtrukti)…" + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "Norėdami skaityti dokumentą, įveskite slaptažodį:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "Neteisingas slaptažodis. Bandykite dar kartą:" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "Dokumento slaptažodis" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" +"Å iame dokumente yra XFA formos, kurios Å¡iuo metu yra nepalaikomos." + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"Å iame dokumente yra formos. Spauskite ant mygtuko norėdami su jomis " +"sąveikauti arba naudokite meniu Rodinys -> Rodyti formas." + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" +"Visos Å¡io dokumento redagavimo ir interaktyvios ypatybės yra iÅ¡jungtos. " +"Ä®raÅ¡ykite Å¡io dokumento kopiją ir, norėdami jį redaguoti, atverkite " +"dokumentą iÅ¡ naujo." + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" +"Å is dokumentas nori bÅ«ti rodomas visame ekrane.\n" +"IÅ¡eiti iÅ¡ normalios veiksenos ir įjungti pateikties veikseną?" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "Užklausa pakeisti rodinio veikseną" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "Ä®jungti pateikties veikseną" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "Drausti užklausą" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "Nepavyko atverti %1. %2" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" +"Faile %1 yra neįraÅ¡ytų pakeitimų, bet jis buvo " +"modifikuotas kitos programos. Ä®kėlus failą iÅ¡ naujo, pakeitimai, kuriuos " +"atlikote Å¡ioje programoje, dings, o atsiras pakeitimai, kuriuos atlikote " +"kitoje programoje.Ar norite tęsti ir įkelti failą iÅ¡ naujo?" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "Failas pasikeitė" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "Tęsti įkėlimą iÅ¡ naujo" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "Nutraukti įkėlimą iÅ¡ naujo" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" +"Faile %1 yra neįraÅ¡ytų pakeitimų, bet jis buvo " +"modifikuotas kitos programos. Užvėrus failą, pakeitimai, kuriuos atlikote " +"Å¡ioje programoje, dings, o atsiras pakeitimai, kuriuos atlikote kitoje " +"programoje.Ar norite tęsti ir užverti failą?" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "Tęsti užvėrimą" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "Nutraukti užvėrimą" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "Ar norite įraÅ¡yti savo pakeitimus į \"%1\", ar juos atmesti?" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "Užverti dokumentą" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"Å i nuoroda nurodo į dokumento užvėrimo veiksmą, kuris neveikia naudojant " +"įtaisytąją žiÅ«ryklę." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"Å i nuoroda nurodo į programos iÅ¡jungimo veiksmą, kuris neveikia naudojant " +"įtaisytąją žiÅ«ryklę." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, kde-format +msgid "Reloading the document…" +msgstr "Dokumentas įkeliamas iÅ¡ naujo…" + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "Turinys" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "ParaÅ¡ai" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Eiti į puslapį" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "&Puslapis:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "Ä®veskite naują žymelės pavadinimą:" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "Pervadinti Å¡ią žymelę" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "Å alinti Å¡ią žymelę" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "Ä®raÅ¡yti kaip" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" +"JÅ«s pasirinkote įraÅ¡yti Okular archyvą be failo pavadinimo galÅ«nės su „%1“ " +"prievardžiu. Tai neleistina, ar norite pasirinkti naują pavadinimą?" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "Nepalaikomas prievardis" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "Pasirinkti naują pavadinimą" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" +"Failas %1 buvo modifikuotas kitos programos. Jei dabar " +"įraÅ¡ysite, visi pakeitimai, atlikti kitoje programoje, bus prarasti. Ar " +"tikrai norite tęsti?" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "Ä®raÅ¡yti - Ä®spėjimas" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "Ä®raÅ¡yti kopiją kitur" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
    In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" +"Dabartinis dokumentas yra apsaugotas slaptažodžiu.
    Norint įrašyti " +"dokumentą, jis turi būti įkeltas iš naujo. Jūsų bus paklausta slaptažodžio " +"dar kartą, o jūsų atšaukimo/grąžinimo istorija bus prarasta.
    Ar norite " +"tęsti?" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "Nepavyko atverti laikinojo failo įrašymui." + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" +"Nepavyko perrašyti %1, nes tas failas yra skirtas tik " +"skaitymui. Pabandykite įrašyti failą į kitą vietą arba pakeisti jo leidimus." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" +"Dabartinis dokumento formatas reikalauja, kad įrašius, failas turės būti " +"įkeltas iš naujo. Jūsų atšaukimo/grąžinimo istorija bus prarasta.
    Ar " +"norite tęsti?" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "Nepavyko įrašyti failo į \"%1\". Pabandykite jį įrašyti į kitą vietą." + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "Užpildytų formų turinys" + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "Naudotojo anotacijos" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" +"Ketinate įrašyti pakeitimus, tačiau dabartinis failo formatas nepalaiko šių " +"elementų įrašymo. Norėdami juos išsaugoti, naudokite Okular dokumento " +"archyvo formatą." + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "Įspėjimas" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "Įrašyti kaip Okular dokumento archyvą…" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" +"Ketinate įrašyti pakeitimus, tačiau dabartinis failo formatas nepalaiko šių " +"elementų įrašymo. Norėdami juos išsaugoti, naudokite Okular dokumento " +"archyvo formatą. Spustelėkite Tęsti norėdami atmesti minėtus " +"elementus ir įrašyti dabartinį dokumentą." + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" +"Ketinate įrašyti pakeitimus, tačiau dabartinis failo formatas nepalaiko šių " +"elementų įrašymo. Norėdami juos išsaugoti, naudokite Okular dokumento " +"archyvo formatą. Norėdami įrašyti, spustelėkite Tęsti, tačiau " +"prarasite minėtus elementus ir atšaukimo/grąžinimo istoriją." + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "Tęsti" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "Tęsti prarandant pakeitimus" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "Nepavyko įrašyti failą į „%1“. %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"Okular negali nukopijuoti %1 į nurodytą vietą.\n" +"\n" +"Dokumento daugiau nebėra." + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" +"Nepavyko įrašyti failo į \"%1\". Klaida: \"%2\". Pabandykite jį įrašyti į " +"kitą vietą." + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "Expand whole section" +msgid "Expand Whole Section" +msgstr "Išskleisti visą sekciją" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "Collapse whole section" +msgid "Collapse Whole Section" +msgstr "Suskleisti visą sekciją" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "Sinchronizuoti miniatiūrą su puslapiu" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Įrankiai" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "Skaityti balsu" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "Spausdinti" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "Šio dokumento spausdinti neleidžiama." + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"Nepavyko spausdinti dokumento. Nežinoma klaida. Prašome pranešti į bugs.kde." +"org" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"Nepavyko spausdinti dokumento. Išsamesnis klaidos aprašas yra „%1“. Prašome " +"pranešti į bugs.kde.org" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "Eiti į vietą, kurioje buvote anksčiau" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "Eiti į vietą, kurios ieškojote" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"Failo klaida! Nepavyko sukurti laikinojo failo " +"%1." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"Failo klaida! Nepavyko išglaudinimui atverti failo " +"%1. Failas nebus įkeltas." + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"Ši klaida įprastai atsiranda tuo atveju, jei neturite pakankamai leidimų " +"skaityti failą. Galite patikrinti nuosavybę ir leidimus, Dolphin failų " +"tvarkytuvėje spustelėję dešiniuoju pelės mygtuku ant failo ir pasirinkę " +"\"Savybių\" parinktį, o tuomet atsivėrusiame lange pasirinkę \"Leidimų\" " +"kortelę." + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"Failo klaida! Nepavyko išglaudinti failo " +"%1. Failas nebus įkeltas." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"Ši klaida įprastai reiškia, kad failas yra sugadintas. Jei norite " +"įsitikinti, pabandykite rankiniu būdu išglaudinti failą naudodami komandų " +"eilutės įrankius." + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "Nėra žymelių" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "Bendrinant dokumentą atsirado problemų: %1" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "Bendrinti" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "Dokumentas sėkmingai pradėtas bendrinti" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "Bendrinamą dokumentą galite rasti, adresu: %1" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "&Taisyti" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "&Rodinys" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&Eiti" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "Į&rankiai" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "Pagrindinė įrankių juosta" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "Anotacijų įrankių juosta" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, kde-format +msgid "Quick Annotation Toolbar" +msgstr "Sparčiųjų anotacijų įrankių juosta" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "Bendros parinktys" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Prieinamumas" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "Pagalbinės skaitymo priemonės" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Našumas" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "Našumo derinimas" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "Konfigūruoti žiūryklę" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Pateiktis" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "Pateikties veiksenos parinktys" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "Anotacijos parinktys" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "Redaktorius" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "Redaktoriaus parinktys" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" +"Redaktorius komandų eilutės pagalba buvo nustatytas į \n" +" %1 \n" +"Jei norite naudoti nuostatą, paleiskite okular be --editor-cmd parinkties" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "Rasti kitą" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 – pateiktis" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "Perjungti ekraną" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "Ekranas %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "Išeiti iš pateikties veiksenos" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Pavadinimas: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Puslapių: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "Spustelėkite norėdami pradėti" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "Pristabdyti" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "Rodyti pateiktį" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"Yra du būdai kaip išeiti iš pateikties veiksenos: galite paspausti Grįžimo " +"(ESC) klavišą arba spustelėti išjungimo mygtuką, kuris atsiranda nuvedus " +"pelės žymeklį į viršutinį dešinįjį kampą. Žinoma, galite perjunginėti langus " +"(pagal numatymą Alt+TAB)" + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "Rodoma pateiktis" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "Nežinomas failas" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "%1 savybės" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "Šri&ftai" + +#: part/propertiesdialog.cpp:145 +#, kde-format +msgid "Reading font information…" +msgstr "Skaitoma šriftų informacija…" + +#: part/propertiesdialog.cpp:158 +#, kde-format +msgid "&Page Sizes" +msgstr "&Puslapių dydis" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "Išskl&eisti šriftą" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Tipas 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Tipas 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "Tipas 1C (OT)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Tipas 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType (OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID Type 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID Type 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID Type 0C (OT)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType (OT)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "TeX PK" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "TeX virtualus" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "TeX šrifto metrika" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "TeX FreeType apdorotas" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "Nežinomas" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "Įterptas (poaibis)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "Pilnai įterptas" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "Ne" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "Taip (poaibis)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "Taip" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "%1 (pakeičiamas šriftu %2)" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "(nėra)" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "Nežinomas šriftas" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "Įterptas: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "Pavadinimas" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "Tipas" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "Failas" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "Puslapis" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "Dydis" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "Revizijos peržiūra" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "Kur norite įrašyti šią reviziją?" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "Nepavyko įrašyti failo %1." + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "Nepavyko rodyti revizijos." + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "Puslapiams filtruoti, įrašykite bent 3 raides" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "Skirti raidžių dydį" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "Atitinka frazę" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "Atitinka visus žodžius" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "Atitinka bet kurį žodį" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "Filtro parinktys" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, kde-format +msgid "Certificates" +msgstr "Liudijimai" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "Pasirinkite liudijimą, kuriuo pasirašyti:" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "Visi" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, kde-format +msgid "Only QES certificates" +msgstr "Tik kvalifikuotų elektroninių parašų liudijimai" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "Tik PGP raktai" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "Priežastis:" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, kde-format +msgid "optional" +msgstr "nebūtina" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "Vieta:" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, kde-format +msgid "Background:" +msgstr "Fonas:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "Pasirinkti..." + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, kde-format +msgid "Recent backgrounds:" +msgstr "Paskiausiai naudoti fonai:" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

    No annotations

    To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
    " +msgstr "" +"

    Anotacijų nėra

    Norėdami sukurti naujas anotacijas, " +"paspauskite klavišą F6 arba meniu pasirinkite Įrankiai -> Anotacijos.
    " + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "Grupuoti pagal puslapį" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "Grupuoti pagal autorių" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "Rodyti tik šiam puslapiui sukurtas anotacijas" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "Išskleisti visus elementus" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "Suskleisti visus elementus" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "Savybės" + +#: part/signaturepartutils.cpp:180 +#, kde-format +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Paveikslai (%1)" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "Pasirinkti foninį paveikslą" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "Išvalyti paveikslą" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "Išvalyti visus paveikslus" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "Įveskite slaptažodį (jeigu yra), kad atrakintumėte liudijimą: %1" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "Įveskite liudijimo slaptažodį" + +#: part/signaturepartutils.cpp:244 +#, kde-format +msgid "Enter document password" +msgstr "Įveskite dokumento slaptažodį" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "Įrašyti pasirašytą failą kaip" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "%1_pasirašytas.%2" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "Galiojimo būsena" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "Parašo galiojimas:" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "Dokumento modifikacijos:" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "Papildoma informacija" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "Pasirašė:" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "Pasirašymo laikas:" + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "Dokumento versija" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Dokumento revizija %1 iš %2" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "Rodyti pasirašytą versiją…" + +#: part/signaturepropertiesdialog.cpp:95 +#, kde-format +msgid "View Certificate…" +msgstr "Rodyti liudijimą…" + +#: part/signaturepropertiesdialog.cpp:97 +#, kde-format +msgid "View in Certificate Manager" +msgstr "Rodyti liudijimų tvarkytuvėje" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "KDE liudijimų tvarkytuvė (kleopatra) nerasta" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "Kvalifikuotas" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "PGP" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "Rodyti tik puslapius su žymelėmis" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "Atkurti" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Pristabdyti" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "Stabdyti" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "Šioje Okular vaizdo įrašai yra nepalaikomi" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "Šioje Okular vaizdo įrašai yra nepalaikomi" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "&Pridėti…" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, kde-format +msgid "&Edit…" +msgstr "&Taisyti…" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "Ša&linti" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "Pa&kelti" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "Nu&leisti" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "Numatytasis piešimo įrankis #%1" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "Įrankis tokiu pavadinimu jau yra. Naudojamas numatytasis" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "Dubliuotas pavadinimas" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "Dokumento puslapis, kurį rodyti" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "Atverti dokumentą pateikties veiksenoje" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "Pradėti nuo spausdinimo dialogo" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "Pradėti nuo spausdinimo dialogo ir po spausdinimo išeiti" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "„Unikalaus egzemplioriaus“ valdymas" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "Neiškelti lango" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "Rasti tekste eilutę" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "Nustato išorinio redaktoriaus komandą" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "" +"Dokumentai, kuriuos atverti. Skaitymui iš „stdin“ nurodykite brūkšnelį „-“." + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" +"Jūs negalite jau veikiančiame okular egzemplioriuje nustatyti redaktoriaus " +"komandos. Išjunkite korteles ir bandykite dar kartą. Turėkite omenyje, kad " +"unikumas taip pat nėra palaikomas nustatant redaktoriaus komandą komandų " +"eilutėje.\n" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "" +"Klaida: Nepavyksta atverti daugiau kaip vieną dokumentą naudojant --unique " +"perjungiklį" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" +"Klaida: Nepavyksta atverti daugiau kaip vieną dokumentą naudojant --" +"presentation perjungiklį" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "" +"Klaida: Nepavyksta atverti daugiau kaip vieną dokumentą naudojant --print " +"perjungiklį" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "" +"Klaida: Nepavyksta atverti daugiau kaip vieną dokumentą naudojant --page " +"perjungiklį" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "" +"Klaida: Nepavyksta atverti daugiau kaip vieną dokumentą naudojant --find " +"perjungiklį" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "Nepavyko rasti Okular komponento: %1" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "Šoninė juosta" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" +"Jau veikia unikalus Okular egzempliorius. Šis egzempliorius nebus unikalus." + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "Nepavyko rasti Okular komponento." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"Spustelėkite norėdami atverti failą\n" +"Spustelėkite ir laikykite norėdami atverti paskiausią failą" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"Spustelėkite norėdami atverti failą, arba spustelėkite ir " +"laikykite norėdami pasirinkti paskiausiai naudotą failą" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "Kita kortelė" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "Ankstesnė kortelė" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "Atšaukti kortelės užvėrimą" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "Užrakinti šoninę juostą" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "Visi failai (*)" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "Visi palaikomi failai (%1)" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "Atverti dokumentą" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "Patvirtinti užvėrimą" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "Užverti korteles" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "Ketinate užverti %1 korteles. Ar tikrai norite tęsti?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "Įspėti mane, kai aš bandau užverti kelias korteles" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "&Kopijuoti kelią" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "A&tverti vidinį aplanką" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "&Išvalyti šį elementą" + +#: shell/welcomescreen.cpp:137 +#, kde-format +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "Nėra paskiausiai naudotų dokumentų" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "Jus sveikina Okular" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Atverti dokumentą..." + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, kde-format +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Paskiausiai naudoti dokumentai" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "Išvalyti visus" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "Slėpti pasisveikinimo langą" + +#~ msgid "Geometry with Comment" +#~ msgstr "Geometrija su komentaru" + +#~ msgid "Geometry" +#~ msgstr "Geometrija" + +#~ msgctxt "Annotation type: contents" +#~ msgid "%1: %2" +#~ msgstr "%1: %2" + +#~ msgid "Modified: %1" +#~ msgstr "Modifikuota: %1" + +#~ msgid "Find..." +#~ msgstr "Rasti..." + +#~ msgid "Go To Page..." +#~ msgstr "Eiti į puslapį..." + +#~ msgid "Play movie..." +#~ msgstr "Atkurti filmą..." + +#~ msgid "Search..." +#~ msgstr "Ieškoti..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "Į&rašyti kaip..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "&Rodinys..." + +#~ msgid "&Sign..." +#~ msgstr "&Pasirašyti..." + +#~ msgid "Configure Viewer..." +#~ msgstr "Konfigūruoti žiūryklę..." + +#~ msgid "Configure Viewer Backends..." +#~ msgstr "Konfigūruoti žiūryklės programines sąsajas..." + +#~ msgid "Configure Backends..." +#~ msgstr "Konfigūruoti programines sąsajas..." + +#~ msgid "&Add..." +#~ msgstr "&Pridėti..." + +#~ msgid "&Edit..." +#~ msgstr "&Taisyti..." + +#~ msgctxt "%1 is a file path" +#~ msgid "" +#~ "Could not sign. Invalid certificate password or could not write to '%1'" +#~ msgstr "" +#~ "Nepavyko pasirašyti. Neteisingas liudijimo slaptažodis arba nepavyko " +#~ "rašyti į „%1“" + +#, fuzzy +#~| msgid "" +#~| "All your signing certificates are either not valid yet or are past their " +#~| "validity date." +#~ msgid "All your signing certificates are invalid" +#~ msgstr "" +#~ "Visi jūsų pasirašymo liudijimai arba dar kol kas nepradėjo galioti, arba " +#~ "jau nebegalioja." + +#~ msgid "Unsigned Signature %1" +#~ msgstr "Nepasirašytas parašas %1" + +#, fuzzy +#~| msgctxt "Unknown author" +#~| msgid "Unknown" +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "Nežinomas" + +#, fuzzy +#~| msgid "Unsigned Signature %1" +#~ msgctxt "Signature type" +#~ msgid "Unsigned signature" +#~ msgstr "Nepasirašytas parašas %1" + +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "Spinbox prefix: Advance automatically: every n seconds" +#~ msgid "every " +#~ msgstr "kas " + +#~ msgctxt "Suffix for the pen width, eg '10 px'" +#~ msgid " px" +#~ msgstr " piks." + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " %" + +#, fuzzy +#~| msgctxt "%1 is a file path" +#~| msgid "" +#~| "Could not sign. Invalid certificate password or could not write to '%1'" +#~ msgctxt "%1 is a file path" +#~ msgid "Could not sign. Could not write to '%1'" +#~ msgstr "" +#~ "Nepavyko pasirašyti. Neteisingas liudijimo slaptažodis arba nepavyko " +#~ "rašyti į „%1“" + +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "Talpinti į plotį" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "Talpinti į puslapį" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Auto Fit" +#~ msgstr "Automatiškai talpinti" + +#~ msgid "*|All Files" +#~ msgstr "*|Visi failai" + +#~ msgid "Missing alert type" +#~ msgstr "Trūksta signalo tipo" + +#~ msgid "" +#~ "The file '%1' has been modified by another program, which means it can no " +#~ "longer be saved." +#~ msgstr "" +#~ "Failas \"%1\" buvo modifikuotas kitos programos, o tai reiškia, kad jis " +#~ "daugiau nebegali būti įrašytas." + +#, fuzzy +#~| msgid "Show S&idebar" +#~ msgid "Show Sidebar" +#~ msgstr "Rodyti š&oninę juostą" + +#~ msgctxt "@info" +#~ msgid "" +#~ "experimental feature.Stamps inserted in PDF documents are " +#~ "not visible in PDF readers other than Okular." +#~ msgstr "" +#~ "eksperimentinė ypatybė.Į PDF dokumentus įterpti antspaudai " +#~ "yra nematomi visose kitose PDF žiūryklėse, išskyrus Okular." + +#~ msgctxt "@info" +#~ msgid "" +#~ "The version of the Poppler library this Okular was compiled with does not " +#~ "support signing documents with passwords. Please ask your provider to " +#~ "update it to 22.02 or later." +#~ msgstr "" +#~ "Poppler versija, su kuria buvo sukompiliuota Okular, nepalaiko dokumentų " +#~ "su slaptažodžiu pasirašymo. Paprašykite teikėjo, kad atnaujintų Poppler " +#~ "iki 22.02 ar naujesnės versijos." + +#~ msgctxt "@title:window" +#~ msgid "Poppler library is too old" +#~ msgstr "Poppler biblioteka yra per sena" + +#~ msgctxt "@info" +#~ msgid "" +#~ "Stamps inserted in PDF documents are not visible in PDF readers other " +#~ "than Okular" +#~ msgstr "" +#~ "Į PDF dokumentus įterpti antspaudai yra nematomi visose kitose PDF " +#~ "žiūryklėse, išskyrus Okular" + +#~ msgctxt "@title:window" +#~ msgid "Experimental feature" +#~ msgstr "Eksperimentinė ypatybė" + +#~ msgid "Remove Bookmarks" +#~ msgstr "Šalinti žymeles" + +#, fuzzy +#~| msgid "&Annotations" +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "&Anotacijos" + +#, fuzzy +#~| msgid "Highlight" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "Paryškinimas" + +#, fuzzy +#~| msgid "Underline" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Underline" +#~ msgstr "Pabraukimas" + +#, fuzzy +#~| msgid "Squiggle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Squiggle" +#~ msgstr "Išraitymas" + +#, fuzzy +#~| msgid "Strike Out" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Strike Out" +#~ msgstr "Išbraukti" + +#, fuzzy +#~| msgid "Insert Text" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "Įterpti tekstą" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "Įterpta pastaba" + +#, fuzzy +#~| msgctxt "@action:intoolbar Annotation tool" +#~| msgid "Popup Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "Iškylančioji pastaba" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a freehand line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Freehand Line" +#~ msgstr "Piešti laisvo piešimo liniją" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a straight line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Straight line" +#~ msgstr "Piešti tiesią liniją" + +#, fuzzy +#~| msgid "Arrow" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Arrow" +#~ msgstr "Rodyklė" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a rectangle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Rectangle" +#~ msgstr "Piešti stačiakampį" + +#, fuzzy +#~| msgid "Cyan Ellipse" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Ellipse" +#~ msgstr "Žalsva elipsė" + +#, fuzzy +#~| msgid "Polygon" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Polygon" +#~ msgstr "Daugiakampis" + +#, fuzzy +#~| msgid "Highlighter" +#~ msgid "Highlight in Yellow" +#~ msgstr "Markeris" + +#, fuzzy +#~| msgid "Highlight with Comment" +#~ msgid "Highlight in Green" +#~ msgstr "Paryškinimas su komentaru" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgid "Insert Inline Note" +#~ msgstr "Įterpta pastaba" + +#, fuzzy +#~| msgctxt "@action:intoolbar Annotation tool" +#~| msgid "Popup Note" +#~ msgid "Insert Popup Note" +#~ msgstr "Iškylančioji pastaba" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "Žymėti tekstą" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "Žymėti tekstą" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "Žymėti tekstą" + +#, fuzzy +#~| msgid "&Magnifier" +#~ msgctxt "verb" +#~ msgid "&Magnify" +#~ msgstr "&Didintuvas" + +#~ msgid "Bookmark annotation" +#~ msgstr "Pridėti anotaciją į žymeles" + +#~ msgid "&Toggle Change Colors" +#~ msgstr "&Perjungti spalvų keitimą" + +#, fuzzy +#~| msgid "Enable transitions" +#~ msgctxt "@option:check Config dialog, presentation page, transitions" +#~ msgid "Enable transitions" +#~ msgstr "Įjungti perėjimus" + +#, fuzzy +#~| msgid "Advance every:" +#~ msgctxt "@label:spinbox Config dialog, presentation page" +#~ msgid "Advance every:" +#~ msgstr "Pereiti pirmyn kas:" + +#, fuzzy +#~| msgid "Use custom background color" +#~ msgctxt "@label:listbox Config dialog, general page" +#~ msgid "Custom background color:" +#~ msgstr "Naudoti tinkintą fono spalvą" + +#~ msgid "Draw border around &Images" +#~ msgstr "Piešti rėmelį aplink &paveikslus" + +#~ msgid "Speech" +#~ msgstr "Šneka" + +#~ msgid "Engine" +#~ msgstr "Variklis" + +#~ msgid "Identity" +#~ msgstr "Tapatybė" + +#~ msgid "Au&thor:" +#~ msgstr "Au&torius:" + +#~ msgid "View Options" +#~ msgstr "Rodinio parinktys" + +#~ msgctxt "@info:whatsthis" +#~ msgid "" +#~ "Defines the default zoom mode for files which were never opened before.\n" +#~ "For files which were opened before the previous zoom is applied." +#~ msgstr "" +#~ "Apibrėžia numatytojo mastelio veikseną failams, kurie dar niekada nebuvo " +#~ "atverti.\n" +#~ "Failams, kurie jau buvo atverti, bus taikomas ankstesnis mastelis." + +#~ msgid "Navigation" +#~ msgstr "Naršymas" + +#~ msgid "Placement" +#~ msgstr "Išdėstymas" + +#~ msgid "Screen:" +#~ msgstr "Ekranas:" + +#~ msgid "Drawing Tool Configuration" +#~ msgstr "Piešimo įrankio konfigūracija" + +#~ msgid "&Get Books From Internet..." +#~ msgstr "&Gauti knygas iš interneto..." + +#~ msgid "Reviews" +#~ msgstr "Atsiliepimai" + +#, fuzzy +#~| msgid "V%1" +#~ msgctxt "@item:inlistbox Color name" +#~ msgid "%1" +#~ msgstr "V%1" + +#~ msgid "Hide Forms" +#~ msgstr "Slėpti formas" + +#~ msgid "&Review" +#~ msgstr "&Rašyti atsiliepimus" + +#~ msgid "Annotations author" +#~ msgstr "Anotacijų autorius" + +#~ msgid "Please insert your name or initials:" +#~ msgstr "Įrašykite savo vardą arba inicialus:" + +#~ msgid "Show &Navigation Panel" +#~ msgstr "Rodyti &naršymo skydelį" + +#~ msgid "Show Text" +#~ msgstr "Rodyti tekstą" + +#~ msgid "Small Icons" +#~ msgstr "Mažos piktogramos" + +#~ msgid "Large Icons" +#~ msgstr "Didelės piktogramos" + +#~ msgid "" +#~ "Click to use the current selection tool\n" +#~ "Click on the arrow to choose another selection tool" +#~ msgstr "" +#~ "Spustelėkite norėdami naudoti dabartinį žymėjimo įrankį\n" +#~ "Spustelėkite ant rodyklės norėdami pasirinkti kitą žymėjimo įrankį" + +#~ msgid "Created: %1" +#~ msgstr "Sukurta: %1" + +#~ msgid "Style" +#~ msgstr "Stilius" + +#~ msgid "&Size:" +#~ msgstr "&Dydis:" + +#~ msgid "Inner color:" +#~ msgstr "Vidaus spalva:" + +#~ msgid "Name: %1" +#~ msgstr "Pavadinimas: %1" + +#~ msgid "Size: %1" +#~ msgstr "Dydis: %1" + +#~ msgid "&Browse Tool" +#~ msgstr "&Naršymo įrankis" + +#~ msgid "&Zoom Tool" +#~ msgstr "&Didinimo įrankis" + +#~ msgctxt "Zoom Tool" +#~ msgid "Zoom" +#~ msgstr "Didinti" + +#~ msgctxt "Select Tool" +#~ msgid "Selection" +#~ msgstr "Žymėjimas" + +#~ msgid "&Text Selection Tool" +#~ msgstr "&Teksto žymėjimo įrankis" + +#~ msgid "T&able Selection Tool" +#~ msgstr "&Lentelės žymėjimo įrankis" + +#, fuzzy +#~| msgctxt "Symbol for caret annotations" +#~| msgid "None" +#~ msgid " None" +#~ msgstr "Nieko" + +#~ msgid "" +#~ "The document requested to be launched in presentation mode.\n" +#~ "Do you want to allow it?" +#~ msgstr "" +#~ "Dokumentas prašo jį atverti kaip pateiktį.\n" +#~ "Ar norite tai leisti?" + +#~ msgid "Presentation Mode" +#~ msgstr "Pateikties veiksena" + +#~ msgid "Allow the presentation mode" +#~ msgstr "Leisti pateikties veikseną" + +#~ msgid "Do Not Allow" +#~ msgstr "Neleisti" + +#~ msgid "Do not allow the presentation mode" +#~ msgstr "Neleisti pateikties veiksenos" + +#~ msgid "" +#~ "Your annotation changes will not be saved automatically. Use File -> Save " +#~ "As...\n" +#~ "or your changes will be lost once the document is closed" +#~ msgstr "" +#~ "Jūsų anotacijos pakeitimai nebus saugomi automatiškai. Naudokite Failas -" +#~ "> Saugoti kaip...\n" +#~ "arba pakeitimai bus prarasti uždarius dokumentą" + +#~ msgid "" +#~ "Your annotations are saved internally by Okular.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" +#~ msgstr "" +#~ "Jūsų anotacijos yra išsaugotos vietoje programos Okuar.\n" +#~ "Galite eksportuoti anotuotą dokumentą naudojant Failas -> Eksportuoti " +#~ "kaip -> Documento archyvas" + +#~ msgid "Save &Copy As..." +#~ msgstr "Išsaugoti &kopiją kaip..." + +#~ msgid "" +#~ "Your annotations will not be exported.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" +#~ msgstr "" +#~ "Jūsų anotacijos nebus eksportuotos.\n" +#~ "Galite eksportuoti anotuotą dokumentą naudojant Failas -> Eksportuoti " +#~ "kaip -> Dokumento archyvas" + +#~ msgid "" +#~ "End of document reached.\n" +#~ "Continue from the beginning?" +#~ msgstr "" +#~ "Pasiekta dokumento pabaiga.\n" +#~ "Ar tęsti nuo pradžios?" + +#~ msgid "" +#~ "Beginning of document reached.\n" +#~ "Continue from the bottom?" +#~ msgstr "" +#~ "Pasiekta dokumento pradžia.\n" +#~ "Ar tęsti nuo apačios?" + +#~ msgid "Current maintainer" +#~ msgstr "Dabartinis prižiūrėtojas" + +#~ msgid " sec." +#~ msgstr " sek." + +#~ msgid "Pencil color:" +#~ msgstr "Pieštuko spalva:" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A0" +#~ msgstr "gulsčias DIN/ISO A0" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A0" +#~ msgstr "stačias DIN/ISO A0" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A1" +#~ msgstr "gulsčias DIN/ISO A1" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A1" +#~ msgstr "stačias DIN/ISO A1" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A2" +#~ msgstr "gulsčias DIN/ISO A2" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A2" +#~ msgstr "stačias DIN/ISO A2" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A3" +#~ msgstr "gulsčias DIN/ISO A3" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A3" +#~ msgstr "stačias DIN/ISO A3" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A4" +#~ msgstr "gulsčias DIN/ISO A4" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A4" +#~ msgstr "stačias DIN/ISO A4" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A5" +#~ msgstr "gulsčias DIN/ISO A5" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A5" +#~ msgstr "stačias DIN/ISO A5" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A6" +#~ msgstr "gulsčias DIN/ISO A6" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A6" +#~ msgstr "stačias DIN/ISO A6" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A7" +#~ msgstr "gulsčias DIN/ISO A7" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A7" +#~ msgstr "stačias DIN/ISO A7" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A8" +#~ msgstr "gulsčias DIN/ISO A8" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A8" +#~ msgstr "stačias DIN/ISO A8" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A9" +#~ msgstr "gulsčias DIN/ISO A9" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A9" +#~ msgstr "stačias DIN/ISO A9" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B0" +#~ msgstr "gulsčias DIN/ISO B0" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B0" +#~ msgstr "stačias DIN/ISO B0" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B1" +#~ msgstr "gulsčias DIN/ISO B1" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B1" +#~ msgstr "stačias DIN/ISO B1" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B2" +#~ msgstr "gulsčias DIN/ISO B2" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B2" +#~ msgstr "stačias DIN/ISO B2" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B3" +#~ msgstr "gulsčias DIN/ISO B3" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B3" +#~ msgstr "stačias DIN/ISO B3" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B4" +#~ msgstr "gulsčias DIN/ISO B4" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B4" +#~ msgstr "stačias DIN/ISO B4" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B5" +#~ msgstr "gulsčias DIN/ISO B5" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B5" +#~ msgstr "stačias DIN/ISO B5" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B6" +#~ msgstr "gulsčias DIN/ISO B6" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B6" +#~ msgstr "stačias DIN/ISO B6" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B7" +#~ msgstr "stačias DIN/ISO B6" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B7" +#~ msgstr "stačias DIN/ISO B7" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B8" +#~ msgstr "stačias DIN/ISO B6" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B8" +#~ msgstr "stačias DIN/ISO B8" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B9" +#~ msgstr "gulsčias DIN/ISO B9" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B9" +#~ msgstr "stačias DIN/ISO B9" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B10" +#~ msgstr "gulsčias DIN/ISO B10" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B10" +#~ msgstr "stačias DIN/ISO B10" + +#~ msgctxt "paper size" +#~ msgid "landscape letter" +#~ msgstr "gulsčias laiškas" + +#~ msgctxt "paper size" +#~ msgid "portrait letter" +#~ msgstr "stačias laiškas" + +#~ msgctxt "paper size" +#~ msgid "landscape legal" +#~ msgstr "gulsčias oficialus" + +#~ msgctxt "paper size" +#~ msgid "portrait legal" +#~ msgstr "stačias oficialus" + +#~ msgctxt "paper size" +#~ msgid "landscape executive" +#~ msgstr "gulsčias vykdomasis" + +#~ msgctxt "paper size" +#~ msgid "portrait executive" +#~ msgstr "stačias vykdomasis" + +#~ msgctxt "paper size" +#~ msgid "landscape Comm10E" +#~ msgstr "gulsčias Comm10E" + +#~ msgctxt "paper size" +#~ msgid "portrait Comm10E" +#~ msgstr "stačias Comm10E" + +#~ msgctxt "paper size" +#~ msgid "landscape DLE" +#~ msgstr "gulsčias DLE" + +#~ msgctxt "paper size" +#~ msgid "portrait DLE" +#~ msgstr "stačias DLE" + +#~ msgctxt "paper size" +#~ msgid "landscape folio" +#~ msgstr "gulsčias folio" + +#~ msgctxt "paper size" +#~ msgid "portrait folio" +#~ msgstr "stačias folio" + +#~ msgctxt "paper size" +#~ msgid "ledger" +#~ msgstr "ledger" + +#~ msgctxt "paper size" +#~ msgid "tabloid" +#~ msgstr "tabloid" + +#~ msgctxt "paper size" +#~ msgid "unknown landscape paper size" +#~ msgstr "nežinomas gulsčio lapo dydis" + +#~ msgctxt "paper size" +#~ msgid "unknown portrait paper size" +#~ msgstr "nežinomas stačio lapo dydis" + +#~ msgid "Toggle Drawing Mode" +#~ msgstr "Perjungti piešimo veikseną" + +#~ msgid "Starting Jovie Text-to-Speech service Failed: %1" +#~ msgstr "Nepavyko paleisti Jovie – teksto vertimo į kalbą paslaugos: %1" + +#~ msgid "Search Columns" +#~ msgstr "Ieškoti stulpeliuose" + +#~ msgid "All Visible Columns" +#~ msgstr "Visi matomi stulpeliai" + +#~ msgid "No document opened." +#~ msgstr "Neatvertas joks dokumentas." + +#~ msgid "Can't open more than one document in the unique Okular instance." +#~ msgstr "" +#~ "Nepavyksta atverti daugiau nei vieno dokumento atskirame Okular lange." + +#~ msgid "No matches found for '%1'." +#~ msgstr "Nerasta „%1“ atitikmenų." + +#~ msgid "Search in progress..." +#~ msgstr "Ieškoma..." + +#~ msgid "Searching for %1" +#~ msgstr "Ieškoma %1" + +#~ msgid "Identity Settings" +#~ msgstr "Tapatybės nuostatos" + +#~ msgid "Highlight Properties" +#~ msgstr "Paryškinimo savybės" + +#~ msgid "Ink Properties" +#~ msgstr "Rašalo savybės" + +#~ msgctxt "Annotation tool" +#~ msgid "Text Annotation" +#~ msgstr "Teksto anotacija" + +#~ msgctxt "Annotation tool" +#~ msgid "Green Ink" +#~ msgstr "Žalias rašalas" + +#~ msgctxt "Annotation tool" +#~ msgid "Yellow Highlight" +#~ msgstr "Geltonas paryškinimas" + +#~ msgctxt "Annotation tool" +#~ msgid "Straight Yellow Line" +#~ msgstr "Tiesi geltona linija" + +#~ msgid "Black Underlining" +#~ msgstr "Juodas pabraukimas" + +#~ msgctxt "Annotation tool" +#~ msgid "Underline the text with a black line" +#~ msgstr "Teksto pabraukimas juoda linija" + +#~ msgctxt "Annotation tool" +#~ msgid "A cyan ellipse" +#~ msgstr "Žalsva elipsė" + +#~ msgid "Ink" +#~ msgstr "Rašalas" diff --git a/po/lt/okular_comicbook.po b/po/lt/okular_comicbook.po new file mode 100644 index 0000000..fad3be7 --- /dev/null +++ b/po/lt/okular_comicbook.po @@ -0,0 +1,60 @@ +# Lithuanian translations for okular_comicbook package. +# This file is distributed under the same license as the okular_comicbook package. +# +# Andrius Štikonas , 2009. +# Remigijus Jarmalavičius , 2011. +# Liudas Ališauskas , 2011. +msgid "" +msgstr "" +"Project-Id-Version: okular_comicbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-12-16 20:29+0200\n" +"Last-Translator: Liudas Ališauskas \n" +"Language-Team: Lithuanian \n" +"Language: lt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : n%10>=2 && (n%100<10 || n" +"%100>=20) ? 1 : n%10==0 || (n%100>10 && n%100<20) ? 2 : 3);\n" +"X-Generator: Poedit 2.2.4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Andrius Štikonas, Liudas Ališauskas, Moo" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "andrius@stikonas.eu, liudas@akmc.lt, <>" + +#: document.cpp:97 +#, kde-format +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "Nepavyksta atverti dokumento, nerasta nei unrar, nei unarchiver." + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "" +"Komandos unrar versija jūsų sistemoje nėra tinkama comicbooks atvėrimui." + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "Nežinomas ComicBook formatas" + +#~ msgid "ComicBook Backend" +#~ msgstr "ComicBook duomenų bazė" + +#~ msgid "A renderer for various comic book formats" +#~ msgstr "Generatorius įvairiems komiksų knygų formatams" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/lt/okular_djvu.po b/po/lt/okular_djvu.po new file mode 100644 index 0000000..30acb30 --- /dev/null +++ b/po/lt/okular_djvu.po @@ -0,0 +1,137 @@ +# Lithuanian translations for okular_djvu package. +# This file is distributed under the same license as the okular_djvu package. +# Andrius Štikonas , 2008. +# Remigijus Jarmalavičius , 2011. +# Liudas Ališauskas , 2011. +msgid "" +msgstr "" +"Project-Id-Version: okular_djvu\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-12-16 20:31+0200\n" +"Last-Translator: Liudas Ališauskas \n" +"Language-Team: Lithuanian \n" +"Language: lt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : n%10>=2 && (n%100<10 || n" +"%100>=20) ? 1 : n%10==0 || (n%100>10 && n%100<20) ? 2 : 3);\n" +"X-Generator: Poedit 2.2.4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Andrius Štikonas, Liudas Ališauskas, Moo" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "andrius@stikonas.eu, liudas@akmc.lt, <>" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "Redaktorius" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "Leidėjas" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "Tomas" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "Dokumento tipas" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "Nežinomas" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "Komponentų failai" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "Nežinomas" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "Vieno puslapio" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "Sugrupuotas" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "Netiesioginis" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "Sugrupuotas (senas)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "Suindeksuotas (senas)" + +#~ msgid "DjVu Backend" +#~ msgstr "DjVu programinė sąsaja" + +#~ msgid "DjVu backend based on DjVuLibre." +#~ msgstr "DjVu programinė sąsaja paremta DjVuLibre." + +#~ msgid "© 2006-2008 Pino Toscano" +#~ msgstr "© 2006-2008 Pino Toscano" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgctxt "Unknown title" +#~ msgid "Unknown" +#~ msgstr "Nežinomas" + +#~ msgctxt "Unknown author" +#~ msgid "Unknown" +#~ msgstr "Nežinomas" + +#~ msgctxt "Unknown editor" +#~ msgid "Unknown" +#~ msgstr "Nežinomas" + +#~ msgctxt "Unknown publisher" +#~ msgid "Unknown" +#~ msgstr "Nežinomas" + +#~ msgctxt "Unknown creation date" +#~ msgid "Unknown" +#~ msgstr "Nežinoma" + +#~ msgctxt "Unknown volume information" +#~ msgid "Unknown" +#~ msgstr "Nežinoma" + +#~ msgctxt "Unknown type of document" +#~ msgid "Unknown" +#~ msgstr "Nežinomas" diff --git a/po/lt/okular_dvi.po b/po/lt/okular_dvi.po new file mode 100644 index 0000000..ae7b464 --- /dev/null +++ b/po/lt/okular_dvi.po @@ -0,0 +1,649 @@ +# Lithuanian translations for okular_dvi package. +# This file is distributed under the same license as the okular_dvi package. +# Andrius Štikonas , 2008. +# Remigijus Jarmalavičius , 2011. +# Liudas Ališauskas , 2011, 2012. +msgid "" +msgstr "" +"Project-Id-Version: okular_dvi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-08-16 14:36+0300\n" +"Last-Translator: Liudas Ališauskas \n" +"Language-Team: Lithuanian \n" +"Language: lt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : n%10>=2 && (n%100<10 || n" +"%100>=20) ? 1 : n%10==0 || (n%100>10 && n%100<20) ? 2 : 3);\n" +"X-Generator: Poedit 3.6\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Andrius Štikonas, Moo" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "andrius@stikonas.eu, <>" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

    Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

    Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

    " +msgstr "" +"

    Programai Okular nepavyko jūsų kompiuteryje nustatyti programos " +"dvipdfm vietos. Ši programa yra būtina norint, kad veiktų " +"eksportavimo funkcija. Vis dėlto, galite konvertuoti DVI failą į PDF " +"naudodami Okular spausdinimo funkciją, bet tai, dažniausiai, sukuria " +"dokumentus, kurie yra spausdinami gerai, tačiau peržiūrint juos Acrobat " +"Reader žiūryklėje, yra blogesnės kokybės. Būtų protinga atsinaujinti į " +"naujesnį TeX platinamąjį paketą, į kurį įeina dvipdfm programa.

    Užsiminkite sumišusiam sistemos administratoriui: Kad Okular programų " +"paieškai naudoja PATH aplinkos kintamąjį.

    " + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Išorinė programa \"dvipdfm\", kuri buvo naudota failo eksportavimui, " +"pranešė apie klaidą. Norėdami rasti išsamesnį klaidos pranešimą, galite " +"pageidauti pažiūrėti į dokumento informacijos dialogą, kurį " +"rasite \"Failo\" meniu." + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" +"Šis DVI failas nurodo į išorinius grafikos failus, kurie nėra PostScript " +"formato ir negali būti apdoroti dvips programos, kurią Okular " +"naudoja savo viduje, kad spausdintų ar eksportuotų į PostScript. Todėl, jūsų " +"prašomas funkcionalumas nėra prieinamas šioje Okular versijoje." + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

    Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

    Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

    " +msgstr "" +"

    Programai Okular nepavyko jūsų kompiuteryje nustatyti programos " +"dvips vietos. Ši programa yra būtina norint, kad veiktų " +"eksportavimo funkcija.

    Užsiminkite sumišusiam sistemos " +"administratoriui: Kad Okular programų paieškai naudoja PATH aplinkos " +"kintamąjį.

    " + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Išorinė programa \"dvips\", kuri buvo naudota failo eksportavimui, " +"pranešė apie klaidą. Norėdami rasti išsamesnį klaidos pranešimą, galite " +"pageidauti pažiūrėti į dokumento informacijos dialogą, kurį " +"rasite \"Failo\" meniu." + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "DVI failas neprasideda preambule." + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" +"DVI faile yra neteisinga šiai programai skirta DVI išvesties versija. " +"Patarimas: Jei naudojate rinkimo sistemą Omega, turite naudoti specialią " +"programą, tokią kaip oxdvi." + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "" +"DVI failas yra labai sugadintas. Okular nepavyko rasti baigiamosios dalies." + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "Baigiamoji dalis neprasideda POST komanda." + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "Baigiamojoje dalyje buvo kitokia komanda, nei FNTDEF." + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "Puslapis %1 neprasideda BOP komanda." + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

    The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

    What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

    PATH: %2

    " +msgstr "" +"

    Nepavyko paleisti programos pdf2ps. Dėl to, nepavyko " +"konvertuoti PDF failo %1 į PostScript. Todėl, kai kurie grafikos elementai " +"jūsų dokumente nebus rodomi.

    Galima priežastis: Gali būti, kad " +"programa pdf2ps nėra įdiegta jūsų sistemoje arba jos " +"nepavyksta rasti esamame paieškos kelyje.

    Ką galite padaryti: " +"Programa pdf2ps įprastai būna ghostscript PostScript " +"interpretacinės sistemos platinamuosiuose paketuose. Jeigu jūsų sistemoje " +"nėra įdiegtas ghostscript, galite įdiegti jį dabar. Jei esate tikri, kad " +"ghostscript yra įdiegtas, pabandykite naudoti pdf2ps " +"komandų eilutėje, kad patikrintumėte ar ji tikrai veikia.

    KELIAS: %2

    " + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

    The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

    %2

    " +msgstr "" +"

    Nepavyko konvertuoti PDF failo %1 į PostScript. Todėl, kai kurie " +"grafikos elementai jūsų dokumente nebus rodomi.

    Galima priežastis: Gali būti, kad failas %1 yra sugadintas arba iš viso nėra PDF failas. " +"Štai pdf2ps programos, kurią Okular naudojo, išvestis:

    %2

    " + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "Failo pažeidimas. %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "Ne visus PostScript failus pavyko įterpti į jūsų dokumentą. %1" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "Visi išoriniai PostScript failai buvo įterpti į jūsų dokumentą." + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "Nurodyto failo \"%1\" nėra." + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" +"Jūs paprašėte Okular nustatyti DVI failo, kuris atitinka TeX faile %2 eilutę " +"%1, vietą. Vis dėlto, atrodo, kad DVI faile nėra reikiamos šaltinio failo " +"informacijos. " + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" +"Okular nepavyko nustatyti DVI failo, kuris atitinka TeX faile %2 eilutę %1, " +"vietos." + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "DVI kodas nustatė nežinomo šrifto simbolį." + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "DVI kodas nurodė į šriftą #%1, kuris anksčiau nebuvo apibrėžtas." + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "Dėklas nebuvo tuščias, kai buvo susidurta su EOP komanda." + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "Dėklas nebuvo tuščias, kai buvo susidurta su POP komanda." + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "DVI kodas nurodė į šriftą, kuris anksčiau nebuvo apibrėžtas." + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "Sutikta neleistina komanda." + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "Buvo susidurta su nežinomo operatoriaus kodu %1." + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "Įterpiama %1" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
    " +msgstr "" +"Puslapis %1: Nepavyko konvertuoti PDF failo %2 į PostScript." +"
    " + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
    " +msgstr "Puslapis %1: Nepavyko rasti PostScript failo %2.
    " + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "Nepavyko išnagrinėti lapo matmenų duomenų \"%1\"." + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

    Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

    PATH: %1

    %2

    " +msgstr "" +"

    Okular nepavyko nustatyti visų šriftų failų, reikalingų esamo DVI " +"failo atvaizdavimui, vietos. Jūsų dokumentas gali būti neįskaitomas.

    KELIAS: %1

    %2

    " + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

    There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
    Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

    PATH: %1

    %2

    " +msgstr "" +"

    Atsirado problemų paleidžiant kpsewhich. Dėl to, nepavyko " +"nustatyti kai kurių šriftų failų vietos ir jūsų dokumentas gali būti " +"neįskaitomas.
    Galima priežastis: Tikriausiai, programa kpsewhich jūsų sistemoje nėra įdiegta arba jos nepavyksta rasti esamame paieškos " +"kelyje.

    KELIAS: %1

    %2

    " + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" +"kpsewhich inicijuotas šrifto generavimas buvo nutrauktas " +"(išėjimo kodas %1, klaida %2). Dėl to, nepavyko nustatyti kai kurių šriftų " +"failų vietos ir jūsų dokumentas gali būti neįskaitomas." + +#: fontpool.cpp:482 +#, kde-format +msgid "Currently generating %1 at %2 dpi…" +msgstr "Dabar generuojama %1 – %2 dpi…" + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "Generatorius/Data" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "Šrifto failas nerastas" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "%1 × %2" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "%1 × %2 mm" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "%1 × %2 col." + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "Stačias" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "Gulsčias" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" +"Šiame kompiuteryje įdiegtoje Ghostview versijoje nėra jokių Okular žinomų " +"Ghostview įrenginio tvarkyklių. Todėl, programje Okular buvo išjungtas " +"PostScript palaikymas." + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "Tai jau 25 klaidos. Tolimesni klaidų pranešimai nebus išvedami." + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" +"Klaida DVI faile \"%1\", puslapyje %2. Išduota spalvota pop komanda, kai tuo " +"tarpu spalvų dėklas yra tuščias." + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" +"Netaisyklingas parametras specialioje epsf komandoje.\n" +"Tikėtasi svyravimo, kad būtų sekama %1 į %2" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"Failas nerastas: \n" +" %1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" +"Klaida DVI faile \"%1\", puslapyje %2. Specialiame teksto pasukime nepavyko " +"interpretuoti kampo." + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "Speciali komanda \"%1\" nėra įgyvendinta." + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" +"Šrifto failą %1 pavyko atverti ir perskaityti, tačiau jo šrifto formatas yra " +"nepalaikomas." + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "" +"Šriftų failas %1 yra sugadintas arba negali būti atvertas, ar perskaitytas." + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "FreeType pranešė apie klaidą nustatant šriftų failo %1 simbolių dydį." + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "FreeType nepavyko įkelti glifo #%1 iš šriftų failo %2." + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "FreeType nepavyko atvaizduoti glifo #%1 iš šriftų failo %2." + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "Glifas #%1 yra tuščias." + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "Glifas #%1 iš šriftų failo %2 yra tuščias." + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "FreeType nepavyko įkelti glifo #%1metrikos iš šriftų failo %2." + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "Nepavyksta atverti šriftų failo %1." + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "TexFont_PK::operator[]: Simbolis %1 nėra apibrėžtas šrifte %2" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "Netikėta %1 PK faile %2" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "Simbolis %1 yra per didelis faile %2" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "Saugomas neteisingas bitų skaičius: simb. %1, šriftas %2" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "Blogas pk failas (%1), per daug bitų" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "Šriftas yra ne kvadrato proporcijų " + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "Nepavyksta rasto šrifto %1, failas %2." + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "Šrifto failo %1 kontrolinės sumos neatitikimas" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "Nepavyksta atpažinti šriftų failo %1 formato" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"Lemtingoji klaida.\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" +"\n" +"\n" +"Tai, tikriausiai, reiškia, kad arba jūs programoje Okular radote klaidą,\n" +"arba DVI failas ar pagalbiniai failai (tokie kaip šriftų failai, \n" +"ar virtualiųjų šriftų failai) buvo labai sugadinti.\n" +"Po šio pranešimo Okular nutrauks savo darbą. Jei manote,\n" +"kad radote klaidą ar, kad Okular tokioje situacijoje turėtų elgtis geriau,\n" +"tuomet praneškite apie problemą." + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "VF makrokomandų sąraše rastas neteisingas komandos baitas: %1" + +#~ msgid "" +#~ "

    The Ghostview program, which Okular uses internally to display the " +#~ "PostScript graphics that is included in this DVI file, is generally able " +#~ "to write its output in a variety of formats. The sub-programs that " +#~ "Ghostview uses for these tasks are called 'device drivers'; there is one " +#~ "device driver for each format that Ghostview is able to write. Different " +#~ "versions of Ghostview often have different sets of device drivers " +#~ "available. It seems that the version of Ghostview that is installed on " +#~ "this computer does not contain any of the device drivers " +#~ "that are known to Okular.

    It seems unlikely that a regular " +#~ "installation of Ghostview would not contain these drivers. This error may " +#~ "therefore point to a serious misconfiguration of the Ghostview " +#~ "installation on your computer.

    If you want to fix the problems with " +#~ "Ghostview, you can use the command gs --help to display " +#~ "the list of device drivers contained in Ghostview. Among others, Okular " +#~ "can use the 'png256', 'jpeg' and 'pnm' drivers. Note that Okular needs to " +#~ "be restarted to re-enable PostScript support.

    " +#~ msgstr "" +#~ "

    Ghostview programa, kurią Okular naudoja savo viduje, kad " +#~ "atvaizduotų į šį DVI failą įtrauktą PostScript grafiką, paprastai gali " +#~ "rašyti savo išvestį įvairiais formatais. Paprogramės, kurias šiai " +#~ "užduočiai naudoja Ghostview, yra vadinamos \"įrenginio tvarkyklėmis\"; " +#~ "kiekvienam formatui, kuriuo Ghostview gali rašyti, yra po vieną įrenginio " +#~ "tvarkyklę. Dažnai, įvairios Ghostview versijos turi skirtingus prieinamus " +#~ "įrenginio tvarkyklių rinkinius. Atrodo, kad šiame kompiuteryje įdiegtoje " +#~ "Ghostview versijoje nėra jokių Okular žinomų įrenginio " +#~ "tvarkyklių.

    Atrodo neįtikėtina, kad įprastame Ghostview diegime " +#~ "nebūtų šių tvarkyklių. Štai kodėl ši klaida gali nurodyti į rimtą " +#~ "neteisingą Ghostview diegimo konfigūraciją jūsų kompiuteryje.

    Jei " +#~ "norite pataisyti problemas su Ghostview, galite naudoti komandą " +#~ "gs --help, kad būtų atvaizduotas Ghostview esančių " +#~ "tvarkyklių sąrašas. Be kitų tvarkyklių, Okular gali naudoti \"png256\", " +#~ "\"jpeg\" ir \"pnm\" tvarkykles. Turėkite omenyje, kad norint iš naujo " +#~ "įjungti PostScript palaikymą, programą Okular reikia paleisti iš naujo." + +#~ msgid "Aborts the font generation. Do not do this." +#~ msgstr "Nutraukia šriftų generavimą. Nedarykite šito." + +#~ msgid "Okular is generating fonts. Please wait." +#~ msgstr "Okular generuoja šriftus. Prašome palaukti." + +#~ msgid "Abort" +#~ msgstr "Nutraukti" + +#~ msgid "What is happening here?" +#~ msgstr "Kas čia vyksta?" + +#~ msgid "%v of %m" +#~ msgstr "%v iš %m" + +#~ msgid "Please be patient" +#~ msgstr "Prašome būti kantriems" + +#~ msgid "*.pdf|Portable Document Format (*.pdf)" +#~ msgstr "*.pdf|Portable Document formatas (*.pdf)" + +#~ msgid "Export File As" +#~ msgstr "Eksportuoti failą kaip" + +#~ msgid "" +#~ "The file %1\n" +#~ "exists. Do you want to overwrite it?" +#~ msgstr "" +#~ "Failas %1 egzistuoja.\n" +#~ "Ar norite jį perrašyti?" + +#~ msgid "Overwrite File" +#~ msgstr "Perrašyti failą" + +#~ msgid "Overwrite" +#~ msgstr "Perrašyti" + +#~ msgid "*.ps|PostScript (*.ps)" +#~ msgstr "*.ps|PostScript (*.ps)" + +#~ msgid "DVI File Error" +#~ msgstr "DVI failo klaida" + +#~ msgid "Not All Font Files Found" +#~ msgstr "Rasti ne visi šriftų failai" + +#~ msgid "Locating fonts..." +#~ msgstr "Ieškoma šriftų..." + +#~ msgid "Problem locating fonts" +#~ msgstr "Problema, aptinkant šriftus" + +#~ msgid "Font generation aborted" +#~ msgstr "Nutraukas šriftų generavimas" + +#~ msgid "Export: %1 to PDF" +#~ msgstr "Eksportuoti: %1 į PDF" + +#~ msgid "Export: %1 to PostScript" +#~ msgstr "Eksportuoti: %1 į PostScript" diff --git a/po/lt/okular_epub.po b/po/lt/okular_epub.po new file mode 100644 index 0000000..fec7001 --- /dev/null +++ b/po/lt/okular_epub.po @@ -0,0 +1,57 @@ +# Lithuanian translations for okular_epub package. +# This file is distributed under the same license as the okular_epub package. +# +# Andrius Štikonas , 2009. +# Liudas , 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_epub\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-12-16 20:33+0200\n" +"Last-Translator: Liudas \n" +"Language-Team: Lithuanian \n" +"Language: lt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : n%10>=2 && (n%100<10 || n" +"%100>=20) ? 1 : n%10==0 || (n%100>10 && n%100<20) ? 2 : 3);\n" +"X-Generator: Poedit 2.2.4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Andrius Štikonas" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "andrius@stikonas.eu" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "Įvyko klaida, atveriant EPub dokumentą." + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "EPub" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "EPub programinės sąsajos konfigūracija" + +#~ msgid "EPub Backend" +#~ msgstr "EPub programinė sąsaja" + +#~ msgid "An EPub backend" +#~ msgstr "EPub programinė sąsaja" + +#~ msgid "© 2008 Ely Levy" +#~ msgstr "© 2008 Ely Levy" + +#~ msgid "Ely Levy" +#~ msgstr "Ely Levy" diff --git a/po/lt/okular_fax.po b/po/lt/okular_fax.po new file mode 100644 index 0000000..97188bc --- /dev/null +++ b/po/lt/okular_fax.po @@ -0,0 +1,46 @@ +# Lithuanian translations for okular_fax package. +# This file is distributed under the same license as the okular_fax package. +# Andrius Štikonas , 2009. +# Donatas Glodenis , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_fax\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-12-16 20:33+0200\n" +"Last-Translator: Donatas Glodenis \n" +"Language-Team: Lithuanian \n" +"Language: lt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : n%10>=2 && (n%100<10 || n" +"%100>=20) ? 1 : n%10==0 || (n%100>10 && n%100<20) ? 2 : 3);\n" +"X-Generator: Poedit 2.2.4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Donatas Glodenis" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "dgvirtual@akl.lt" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "Nepavyko įkelti dokumento" + +#~ msgid "Fax Backend" +#~ msgstr "Faksų programinė sąsaja" + +#~ msgid "A G3/G4 fax document backend" +#~ msgstr "G3/G4 faksų dokumentų programinė sąsaja" + +#~ msgid "© 2008 Tobias Koenig" +#~ msgstr "© 2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/lt/okular_fictionbook.po b/po/lt/okular_fictionbook.po new file mode 100644 index 0000000..08f22a5 --- /dev/null +++ b/po/lt/okular_fictionbook.po @@ -0,0 +1,82 @@ +# Lithuanian translations for okular_fictionbook package. +# This file is distributed under the same license as the okular_fictionbook package. +# Andrius Štikonas , 2008. +# Donatas Glodenis , 2009. +# Liudas Ališauskas , 2011, 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_fictionbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-12-16 20:35+0200\n" +"Last-Translator: Liudas \n" +"Language-Team: Lithuanian \n" +"Language: lt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : n%10>=2 && (n%100<10 || n" +"%100>=20) ? 1 : n%10==0 || (n%100>10 && n%100<20) ? 2 : 3);\n" +"X-Generator: Poedit 2.2.4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Andrius Štikonas, Liudas Ališauskas" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "andrius@stikonas.eu, liudas@akmc.lt" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "Dokumentas nėra teisingo FictionBook formato" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "Nepavyko atverti dokumento: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "Dokumentas nėra tinkamas ZIP archyvas" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "Netinkama dokumento struktūra (trūksta pagrindinio katalogo)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "Šiame dokumente nerasto jokio turinio" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "Netinkamas XML dokumentas: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "FictionBook" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "FictionBook programinės sąsajos konfigūracija" + +#~ msgid "Fiction Book Backend" +#~ msgstr "FictionBook duomenų bazė" + +#~ msgid "A renderer for FictionBook eBooks" +#~ msgstr "FictionBook darytojas" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/lt/okular_ghostview.po b/po/lt/okular_ghostview.po new file mode 100644 index 0000000..5101f34 --- /dev/null +++ b/po/lt/okular_ghostview.po @@ -0,0 +1,92 @@ +# Lithuanian translations for okular_ghostview package. +# This file is distributed under the same license as the okular_ghostview package. +# +# Liudas Ališauskas , 2011. +msgid "" +msgstr "" +"Project-Id-Version: okular_ghostview\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-12-16 20:36+0200\n" +"Last-Translator: Liudas Ališauskas \n" +"Language-Team: Lithuanian \n" +"Language: lt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : n%10>=2 && (n%100<10 || n" +"%100>=20) ? 1 : n%10==0 || (n%100>10 && n%100<20) ? 2 : 3);\n" +"X-Generator: Poedit 2.2.4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Andrius Štikonas, Liudas Ališauskas, Moo" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "andrius@stikonas.eu, liudas@akmc.lt, <>" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "Naudoti platformos šriftus" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"Nustato ar Ghostscript turėtų būti leista naudoti platformos šriftus, jei ne " +"- bus leista naudoti tik dokumente įtaisytus šriftus." + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "Bendrosios nuostatos" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "&Naudoti platformos šriftus" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Ghostscript programinės sąsajos konfigūravimas" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "Dokumento versija" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "Kalbos lygis" + +#~ msgid "PS Backend" +#~ msgstr "PS programinė sąsaja" + +#~ msgid "A PostScript file renderer." +#~ msgstr "PostScript failų generatorius." + +#~ msgid "© 2007-2008 Albert Astals Cid" +#~ msgstr "© 2007-2008 Albert Astals Cid" + +#~ msgid "Based on the Spectre library." +#~ msgstr "Paremtas Spectre biblioteka." + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" diff --git a/po/lt/okular_kimgio.po b/po/lt/okular_kimgio.po new file mode 100644 index 0000000..ed58271 --- /dev/null +++ b/po/lt/okular_kimgio.po @@ -0,0 +1,70 @@ +# Lithuanian translations for okular_kimgio package. +# This file is distributed under the same license as the okular_kimgio package. +# Andrius Štikonas , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_kimgio\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-12-16 20:38+0200\n" +"Last-Translator: Andrius Štikonas \n" +"Language-Team: Lithuanian \n" +"Language: lt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : n%10>=2 && (n%100<10 || n" +"%100>=20) ? 1 : n%10==0 || (n%100>10 && n%100<20) ? 2 : 3);\n" +"X-Generator: Poedit 2.2.4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Andrius Štikonas, Moo" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "andrius@stikonas.eu, <>" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "Nepavyko įkelti dokumento: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" +"Atrodo, kad šis dokumentas yra netaisyklingas. Čia yra geriausias artinys " +"to, kaip dokumentas turėjo atrodyti." + +#~ msgid "Image Backend" +#~ msgstr "Paveikslėlių programinė sąsaja" + +#~ msgid "A simple image backend" +#~ msgstr "Paprasta paveikslėlių programinė sąsaja" + +#~ msgid "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" +#~ msgstr "" +#~ "© 2005 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" + +#~ msgid "Main Toolbar" +#~ msgstr "Pagrindinė įrankinė" diff --git a/po/lt/okular_markdown.po b/po/lt/okular_markdown.po new file mode 100644 index 0000000..30c57c1 --- /dev/null +++ b/po/lt/okular_markdown.po @@ -0,0 +1,55 @@ +# Lithuanian translations for okular package. +# Copyright (C) 2019 This file is copyright: +# This file is distributed under the same license as the okular package. +# Automatically generated, 2019. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-12-16 20:40+0200\n" +"Last-Translator: Automatically generated\n" +"Language-Team: lt\n" +"Language: lt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : n%10>=2 && (n%100<10 || n" +"%100>=20) ? 1 : n%10==0 || (n%100>10 && n%100<20) ? 2 : 3);\n" +"X-Generator: Poedit 2.2.4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Moo" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "<>" + +#: converter.cpp:59 converter.cpp:93 +#, kde-format +msgid "Failed to open the document" +msgstr "Nepavyko atverti dokumento" + +#: converter.cpp:106 converter.cpp:124 +#, kde-format +msgid "Failed to compile the Markdown document." +msgstr "Nepavyko kompiliuoti Markdown dokumento." + +#: generator_md.cpp:58 +#, kde-format +msgid "Enable SmartyPants formatting" +msgstr "Įjungti SmartyPants formatavimą" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown" +msgstr "Markdown" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown Backend Configuration" +msgstr "Markdown programinės sąsajos konfigūracija" diff --git a/po/lt/okular_mobi.po b/po/lt/okular_mobi.po new file mode 100644 index 0000000..976b719 --- /dev/null +++ b/po/lt/okular_mobi.po @@ -0,0 +1,65 @@ +# Lithuanian translations for okular_mobi package. +# This file is distributed under the same license as the okular_mobi package. +# +# Andrius Štikonas , 2009. +# Liudas Ališauskas , 2011, 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_mobi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-12-16 20:41+0200\n" +"Last-Translator: Liudas \n" +"Language-Team: Lithuanian \n" +"Language: lt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : n%10>=2 && (n%100<10 || n" +"%100>=20) ? 1 : n%10==0 || (n%100>10 && n%100<20) ? 2 : 3);\n" +"X-Generator: Poedit 2.2.4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Andrius Štikonas, Moo" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "andrius@stikonas.eu, <>" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Įvyko klaida, atveriant Mobipocket dokumentą." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "" +"Ši knyga yra apsaugota naudojant DRM ir gali būti rodoma tik paskirtame " +"įrenginyje" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "Mobipocket" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "Mobipocket programinės sąsajos konfigūracija" + +#~ msgid "Mobipocket Backend" +#~ msgstr "Mobipocket programinė sąsaja" + +#~ msgid "A mobipocket backend" +#~ msgstr "Mobipocket programinė sąsaja" + +#~ msgid "© 2008-2009 Jakub Stachowski" +#~ msgstr "© 2008-2009 Jakub Stachowski" + +#~ msgid "Jakub Stachowski" +#~ msgstr "Jakub Stachowski" diff --git a/po/lt/okular_poppler.po b/po/lt/okular_poppler.po new file mode 100644 index 0000000..66ab577 --- /dev/null +++ b/po/lt/okular_poppler.po @@ -0,0 +1,429 @@ +# Lithuanian translations for okular_poppler package. +# This file is distributed under the same license as the okular_poppler package. +# Andrius Štikonas , 2008. +# Donatas Glodenis , 2009. +# Remigijus Jarmalavičius , 2011. +# Liudas Ališauskas , 2012, 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_poppler\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-08-16 14:35+0300\n" +"Last-Translator: Liudas \n" +"Language-Team: Lithuanian \n" +"Language: lt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : n%10>=2 && (n%100<10 || n" +"%100>=20) ? 1 : n%10==0 || (n%100>10 && n%100<20) ? 2 : 3);\n" +"X-Generator: Poedit 3.6\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Andrius Štikonas, Liudas Ališauskas, Moo" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "andrius@stikonas.eu, liudas@akmc.lt, Moo" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "Įjungti užspausdinimo peržiūrą:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "Niekada" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "Visada" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "Automatiškai" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "Pagerinti plonas linijas:" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "Ne" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "Vientisa" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "Forma" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "Numatytoji mastelio keitimo veiksena spausdinant:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "Talpinti į spausdintiną sritį" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "Talpinti į visą puslapį" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "Nėra; spausdinti pradinį dydį" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" +"Įjungus šią parinktį, programai Okular bus leidžiama susisiekti su trečiųjų " +"šalių OCSP serveriais, kad būtų tikrinama, ar skaitmeniniam pasirašymui " +"naudojami liudijimai nuo jų sukūrimo laiko buvo panaikinti, ar ne." + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" +"Tikrinti skaitmeninių parašų liudijimų panaikinimą naudojant trečiųjų šalių " +"serverius" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "Parašo vidinė pusė:" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" +"Šiuos parašus gali patikrinti tik šiuolaikinės Okular programos naudotojai, " +"kurie yra aktyvavę GnuPG vidinę pusę" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "Leisti naudoti PGP raktus parašams (Okular plėtinys)" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "Liudijimų duomenų bazė" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "Numatytasis:" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "Tinkintas:" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "Prieinami liudijimai" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "Įke<i parašus" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "PDF parinktys" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "Spausdinti anotacijas" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "Įtraukti anotacijas į išspausdintą dokumentą" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"Įtraukti anotacijas į išspausdintą dokumentą. Galite tai išjungti, jei " +"norite spausdinti pradinį neanotuotą dokumentą." + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "Priverstinis keitimas į rastrinį vaizdą" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "Prieš spausdinant, keisti į rastrinį paveikslą" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"Prieš spausdinant, priverstinai keičia kiekvieną puslapį į rastrinį " +"paveikslą. Dėl to, rezultatai paprastai būna prastesni, tačiau tai naudinga " +"tais atvejais, jei atrodo, kad dokumentas spausdinamas netiksliai." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "Spausdinamų puslapių mastelio keitimo veiksena" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "Mastelio keitimo veiksena:" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF v. %1.%2" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "Formatas" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "Šifruotas" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "Nešifruotas" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "Saugumas" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "Taip" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "Optimizuotas" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Pasirašė: %1\n" +"\n" +"Data: %2" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "Naudojama Poppler %1" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" +"Naudojama Poppler %1\n" +"\n" +"Sukompiliuota su Poppler %2" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "PDF programinės sąsajos konfigūracija" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "Nepavyko rašyti laikinojo failo" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "Nepavyko pervadinti laikinojo failo" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" +"Dokumente buvo rasta tam tikrų klaidų. Gali būti, kad Okular negalės " +"tinkamai atvaizduoti dokumento turinio" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" +"Šie parašai veikia tik tarp šiuolaikinių Okular versijų, kuriose yra " +"aktyvuota GnuPG pagrįsta vidinė pusė" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "Įjungti PGP parašus" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "Kam išduotas:" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "El. paštas" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "Galioja iki" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" +"Jūs naudojate Poppler biblioteką, sudarytą be NSS palaikymo.\n" +"Dėl šios priežasties, skaitmeninių parašų pridėjimas yra neprieinamas" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "amžinai" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "Reikia paleisti iš naujo" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "Pakeitę NSS katalogo nuostatas, turite paleisti Okular iš naujo" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter Password" +msgstr "Įveskite slaptažodį" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "Norėdami atverti %1, įveskite slaptažodį:" + +#~ msgid "Not Available" +#~ msgstr "Neprieinama" + +#~ msgid "PDF Backend" +#~ msgstr "PDF programinė sąsaja" + +#~ msgid "A PDF file renderer" +#~ msgstr "PDF failų rodymo priemonė" + +#~ msgid "© 2005-2008 Albert Astals Cid" +#~ msgstr "© 2005-2008 Albert Astals Cid" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Saving files with /Encrypt is not supported." +#~ msgstr "Failų įrašymas su /Encrypt parinktimi nepalaikomas." + +#~ msgid "Unknown" +#~ msgstr "Nežinoma" + +#~ msgid "Unknown Date" +#~ msgstr "Nežinoma data" + +#~ msgid "Unknown Encryption" +#~ msgstr "Nežinomas šifravimas" + +#~ msgid "Unknown Optimization" +#~ msgstr "Nežinoma optimizacija" + +#~ msgid "Please enter the password to read the document:" +#~ msgstr "Prašome įvesti slaptažodį, kad galima būtų perskaityti dokumentą:" + +#~ msgid "Incorrect password. Try again:" +#~ msgstr "Neteisingas slaptažodis. Bandykite dar kartą:" diff --git a/po/lt/okular_tiff.po b/po/lt/okular_tiff.po new file mode 100644 index 0000000..ccb4695 --- /dev/null +++ b/po/lt/okular_tiff.po @@ -0,0 +1,30 @@ +# Lithuanian translations for okular package. +# Copyright (C) 2020 This file is copyright: +# This file is distributed under the same license as the okular package. +# Automatically generated, 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-11-02 15:16+0200\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: lt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : n%10>=2 && (n%100<10 || n" +"%100>=20) ? 1 : n%10==0 || (n%100>10 && n%100<20) ? 2 : 3);\n" +"X-Generator: Poedit 2.4.1\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Moo" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "<>" diff --git a/po/lt/okular_txt.po b/po/lt/okular_txt.po new file mode 100644 index 0000000..d5f7c1a --- /dev/null +++ b/po/lt/okular_txt.po @@ -0,0 +1,53 @@ +# Lithuanian translations for l package. +# Copyright (C) 2014 This_file_is_part_of_KDE +# This file is distributed under the same license as the l package. +# +# Automatically generated, 2014. +# Liudas Ališauskas , 2014. +msgid "" +msgstr "" +"Project-Id-Version: l 10n\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2014-03-16 23:38+0200\n" +"Last-Translator: Liudas Ališauskas \n" +"Language-Team: Lithuanian \n" +"Language: lt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : n%10>=2 && (n%100<10 || n" +"%100>=20) ? 1 : n%10==0 || (n%100>10 && n%100<20) ? 2 : 3);\n" +"X-Generator: Lokalize 1.5\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Liudas Ališauskas" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "liudas@akmc.lt" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "Txt" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "Txt programinės sąsajos konfigūracija" + +#~ msgid "Txt Backend" +#~ msgstr "Txt programinė sąsaja" + +#~ msgid "Txt backend." +#~ msgstr "Txt programinė sąsaja." + +#~ msgid "© 2013 Azat Khuzhin" +#~ msgstr "© 2013 Azat Khuzhin" + +#~ msgid "Azat Khuzhin" +#~ msgstr "Azat Khuzhin" diff --git a/po/lt/okular_xps.po b/po/lt/okular_xps.po new file mode 100644 index 0000000..cc075a2 --- /dev/null +++ b/po/lt/okular_xps.po @@ -0,0 +1,57 @@ +# Lithuanian translations for okular_xps package. +# This file is distributed under the same license as the okular_xps package. +# Andrius Štikonas , 2008. +# Donatas Glodenis , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_xps\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-09-05 23:24+0300\n" +"Last-Translator: Donatas Glodenis \n" +"Language-Team: Lithuanian \n" +"Language: lt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : n%10>=2 && (n%100<10 || n" +"%100>=20) ? 1 : n%10==0 || (n%100>10 && n%100<20) ? 2 : 3);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Andrius Štikonas" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "andrius@stikonas.eu" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "Revizija" + +#~ msgid "XPS Backend" +#~ msgstr "XPS programinė sąsaja" + +#~ msgid "An XPS backend" +#~ msgstr "XPS programinė sąsaja" + +#~ msgid "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" +#~ msgstr "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" + +#~ msgid "Brad Hards" +#~ msgstr "Brad Hards" + +#~ msgid "Jiri Klement" +#~ msgstr "Jiri Klement" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" diff --git a/po/lt/org.kde.active.documentviewer.po b/po/lt/org.kde.active.documentviewer.po new file mode 100644 index 0000000..8eda96b --- /dev/null +++ b/po/lt/org.kde.active.documentviewer.po @@ -0,0 +1,229 @@ +# Lithuanian translations for l package. +# Copyright (C) 2012 This_file_is_part_of_KDE +# This file is distributed under the same license as the l package. +# +# Automatically generated, 2012. +# Liudas , 2013. +msgid "" +msgstr "" +"Project-Id-Version: l 10n\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-08-16 14:27+0300\n" +"Last-Translator: Moo <<>>\n" +"Language-Team: Lithuanian \n" +"Language: lt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : n%10>=2 && (n%100<10 || n" +"%100>=20) ? 1 : n%10==0 || (n%100>10 && n%100<20) ? 2 : 3);\n" +"X-Generator: Poedit 3.6\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "Žymelės" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "Liudijimų žiūryklė" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "Išdavė" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "Bendrasis pavadinimas:" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "El. paštas:" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "Organizacija:" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "Kam išduotas" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "Tikrumas" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "Išduotas:" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "Galioja iki:" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "Kontroliniai kodai" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "SHA-1 kontrolinis kodas:" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "SHA-256 kontrolinis kodas:" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +msgid "Export…" +msgstr "Eksportuoti…" + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "Užverti" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "Liudijimo failas (*.cer)" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "Klaida" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "Nepavyko eksportuoti liudijimo." + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "Okular" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "Atverti…" + +#: ui/Main.qml:49 +msgid "About" +msgstr "Apie" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "Reikia slaptažodžio" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "Šalinti žymelę" + +#: ui/MainView.qml:29 +msgid "Bookmark this page" +msgstr "Įtraukti šį puslapį į žymeles" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "Miniatiūros" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "Turinys" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "Parašai" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "Parašo savybės" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "Tikrumo būsena" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "Parašo tikrumas:" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "Dokumento modifikacijų:" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "Papildoma informacija" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "Pasirašė:" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "Pasirašymo laikas:" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "Priežastis:" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "Vieta:" + +#: ui/SignaturePropertiesPage.qml:96 +msgid "Document Version" +msgstr "Dokumento versija" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Dokumento revizija %1 iš %2" + +#: ui/SignaturePropertiesPage.qml:108 +msgid "Save Signed Version…" +msgstr "Įrašyti pasirašytą versiją…" + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +msgid "View Certificate…" +msgstr "Rodyti liudijimą…" + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "Nepavyko įrašyti parašo." + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "Neprieinama" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "Rezultatų nerasta." + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "Neatvertas joks dokumentas" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "Paskiausiai naudoti dokumentai" + +#: ui/WelcomeView.qml:108 +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "Mano dokumentai" + +#~ msgid "Open..." +#~ msgstr "Atverti..." + +#~ msgid "Search..." +#~ msgstr "Ieškoti..." + +#~ msgid "Document viewer for Plasma Active using Okular" +#~ msgstr "Dokumentų žiūryklė skirta Plasma Active naudojant Okular" + +#~ msgid "Reader" +#~ msgstr "Skaitytuvas" + +#~ msgid "Copyright 2012 Marco Martin" +#~ msgstr "Autorinės teisės 2012 Marco Martin" + +#~ msgid "Marco Martin" +#~ msgstr "Marco Martin" + +#~ msgid "URL of the file to open" +#~ msgstr "Atidaromo failo URL" diff --git a/po/lv/okular.po b/po/lv/okular.po new file mode 100644 index 0000000..4794490 --- /dev/null +++ b/po/lv/okular.po @@ -0,0 +1,6618 @@ +# translation of okular.po to Lavtian +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# SPDX-FileCopyrightText: 2023, 2024, 2025 Toms Trasūns +# Viesturs Zarins , 2007, 2008, 2010. +# Maris Nartiss , 2007, 2008, 2020, 2024. +# Viesturs Zariņš , 2009. +# Einars Sprugis , 2012. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-08-21 15:39+0300\n" +"Last-Translator: Toms Trasuns \n" +"Language-Team: Latvian \n" +"Language: lv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " +"2);\n" +"X-Generator: Lokalize 25.08.0\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Viesturs Zariņš, Toms Trasūns" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "viesturs.zarins@mii.lu.lv, toms.trasuns@posteo.net" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Okular, universāls dokumentu skatītājs" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004—2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004—2017 Albert Astals Cid\n" +"(C) 2006—2009 Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "Iepriekšējais uzturētājs" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "" +"Daudz satvara uzlabošanas darbu, „FictionBook“ aizmugursistēma un kādreizējā " +"ODT aizmugursistēma" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "Izstrādātājs" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymanski" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "Izveidoja „Okular“ no KPDF pirmkoda" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "Enrico Ros" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "KPDF izstrādātājs" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "Eugene Trounev" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "Anotāciju noformējums" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "Jiri Baum — NICTA" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "Tabulas atlasīšanas rīks" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "Fabio D'Urso" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "Anotācijas uzlabojumi" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "Iet uz %1. lapu" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "Atvērt ārēju datni" + +#: core/action.cpp:197 +#, kde-format +msgid "Execute '%1'…" +msgstr "Izpildīt „%1“…" + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "Pirmā lapa" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "Iepriekšējā lapa" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "Nākamā lapa" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "Pēdējā lapa" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "Atpakaļ" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "Uz priekšu" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Iziet" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "Sākt prezentāciju" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "Beigt prezentāciju" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "Meklēt…" + +#: core/action.cpp:314 +#, kde-format +msgid "Go To Page…" +msgstr "Iet uz lapu…" + +#: core/action.cpp:365 +#, kde-format +msgid "Play sound…" +msgstr "Atskaņot skaņu…" + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "„JavaScript“ skripts" + +#: core/action.cpp:483 +#, kde-format +msgid "Play movie…" +msgstr "Atskaņot filmu…" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "Atskaņot filmu" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "Apturēt filmu" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "Pauzēt filmu" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "Turpināt atskaņot filmu" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "Šim „Okular“ būvējumam nav skaņas atbalsta" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "Aizmugursistēmas izvēle" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
    %1 (%2).

    Please select which one to use:
    " +msgstr "" +"Atrasta vairāk nekā viena aizmugursistēma MIME tipam:
    %1 " +"(%2).

    Lūdzu izvēlieties, kuru izmantot:
    " + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "Lielākā daļa lapu ir %1." + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "Portreta %1" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "Ainavas %1" + +#: core/document.cpp:246 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 × %2 collas (%3)" + +#: core/document.cpp:248 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 × %2 mm (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "Turpināt meklēšanu no sākuma" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "Turpināt meklēšanu no beigām" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "Neizdevās atrast spraudni, kas spētu apstrādāt padoto dokumentu." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "Šāda tipa dokumenta parakstīšana vēl nav atbalstīta" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "noņemt anotācijas" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"Dokuments mēģina palaist ārēju programmu, bet jūsu drošībai „Okular“ to " +"neatļauj." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "Nav atrasta neviena programma datnes ar %1 mime tipu atvēršanai." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "Neizdevās atvērt pagaidu datni" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "Drukāšanas pārveide neizdevās" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "Drukāšanas process avarēja" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "Drukāšanas procesu neizdevās palaist" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "Drukāšana uz datni neizdevās" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "Printeris atradās neatļautā stāvoklī" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "Neizdevās atrast drukājamo datni" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "Nebija datnes, ko drukāt" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"Neizdevās atrast piemērotu bināro datni drukāšanai. Pārliecinieties, ka CUPS " +"lpr binārā datne ir pieejama" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "Nederīgs lapas drukas izmērs" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "Neizdevās atvērt „%1“. Datne nepastāv" + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Virsraksts" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Tēma" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Apraksts" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "Autors" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Izveidotājs" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Ražotājs" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "Autortiesības" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "Lapas" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Izveidots" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Mainīts" + +#: core/document.cpp:6032 +#, kde-format +msgid "MIME Type" +msgstr "MIME tips" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "Kategorija" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Atslēgvārdi" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "Datnes ceļš" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "Datnes izmērs" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "Lapas izmērs" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "pievienot anotāciju" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "noņemt anotāciju" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "mainīt anotācijas īpašības" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "tulkot anotāciju" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "pielāgot anotāciju" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "rediģēt tekstu" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "rediģēt anotācijas saturu" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "rediģēt formas saturu" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "rediģēt formas saraksta izvēles" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "rediģēt formas kombinētā lodziņa izvēlnes" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "rediģēt formas pogas stāvokļus" + +#: core/generator.cpp:790 +#, kde-format +msgid "Plain &Text…" +msgstr "Vienkāršs &teksts…" + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "OpenDocument Text" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "Drukas iespējas" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "Ietilpināt drukas zonā" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "Ietilpināt līdz pilnai lapai" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "Tālummaiņas režīms:" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "Turpmāk vairs nerādīt šo paziņojumu" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "Nav pieejams" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" +"Iekšējā parakstīšanas kļūda. Lūdzu, informējiet par šo kļūdu un soļiem, kā " +"to atkārtot. Kļūdas kods %1" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "Neizdevās parakstīt dokumentu: %1" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "Lietotājs atcēla parakstīšanu" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "Neizdevās parakstīt. Nepareiza parole" + +#: core/signatureutils.cpp:504 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" +"Neizdevās %1 datnē rakstīt parakstītu dokumentu. " +"Pārliecinieties, ka norādītajā mapē jums ir rakstīšanas atļaujas." + +#: core/signatureutils.cpp:506 +#, kde-format +msgid "Unknown signing error" +msgstr "Nezināma parakstīšanas kļūda" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Avots: %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "&Noklusētais fonts:" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "Versija" + +#: gui/certificatemodel.cpp:41 +#, kde-format +msgid "Serial Number" +msgstr "Sērijas numurs" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "Izdevējs" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "Izdots" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "Derīgs līdz" + +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Tēma" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "Publiskā atslēga" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "Atslēgas izmantošana" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "V%1" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "%1 (%2 biti)" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "Īpašība" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "Vērtība" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "Izlecoša piezīme" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "Rakstāmmašīna" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "Iegulta piezīme" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +#| msgid "Polygon with Comment" +msgid "Arrow with Comment" +msgstr "Daudzstūris ar komentāru" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "Bulta" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "Taisna līnija ar komentāru" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "Taisna līnija" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "Daudzstūris ar komentāru" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "Daudzstūris" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgid "Stamp with Comment" +msgid "Rectangle with Comment" +msgstr "Spiedogs ar komentāru" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "Taisnstūris" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgid "Underline with Comment" +msgid "Ellipse with Comment" +msgstr "Pasvītrojums ar komentāru" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "Elipse" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "Izcelts ar komentāru" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "Izcelts" + +#: gui/guiutils.cpp:87 +#, kde-format +msgid "Squiggle with Comment" +msgstr "Vilnītis ar komentāru" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "Vilnītis" + +#: gui/guiutils.cpp:91 +#, kde-format +msgid "Underline with Comment" +msgstr "Pasvītrojums ar komentāru" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "Pasvītrojums" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out with Comment" +msgstr "Pārsvītrojums ar komentāru" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "Pārsvītrots" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "Spiedogs ar komentāru" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "Spiedogs" + +#: gui/guiutils.cpp:106 +#, kde-format +msgid "Freehand Line with Comment" +msgstr "Brīvas formas līnija ar komentāru" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "Brīvas formas līnija" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "Kursors" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "Datnes pielikums" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "Skaņa" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "Video" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Ekrāns" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "Logdaļa" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "Paplašināta multivide" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation" +msgstr "%1 anotācija" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "Nezināms" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Autors: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "Kur vēlaties saglabāt %1?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "Neizdevās atvērt rakstīšanai „%1“. Datne netika saglabāta." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "Paraksts ir kriptogrāfiski derīgs." + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "Paraksts nav kriptogrāfiski derīgs." + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "Īssavilkuma nesaderība." + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "Nepareizs CMS/PKCS7 paraksta struktūras formāts." + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "Dokuments nesatur pieprasīto parakstu." + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "Parakstu nav iespējams pārbaudīt." + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "Sertifikāts ir uzticams." + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "Sertifikāta izdevējs nav uzticams." + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "Sertifikāta izdevējs nav zināms." + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "Sertifikāts ir atsaukts." + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "Sertifikāta derīgums ir beidzies." + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "Sertifikāts vēl nav pārbaudīts." + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "Notiek sertifikāta pārbaude" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "Nezināma problēma ar sertifikātu vai bojāti dati." + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "MD2" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "MD5" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "SHA1" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "SHA256" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "SHA384" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "SHA512" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "SHA224" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "Nezināms algoritms" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "RSA" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "DSA" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "EC" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "Nezināms tips" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "Digitālais paraksts" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "Augstas ticamības apliecinājums" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "Šifrēt atslēgas" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "Atšifrēt atslēgas" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "Atslēgu vienošanās" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "Parakstīt sertifikātu" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "Parakstīt CRL" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "Tikai šifrēt" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "Nav norādīts lietojums" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr ", " + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "Kopš parakstīšanas brīža šis dokuments nav mainīts." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" +"Ar šo parakstu apstiprinātā dokumenta revīzija nav mainīta.\n" +"Bet kopš revīzijas datuma dokumentā ir veiktas būtiskas izmaiņas." + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "Dokuments ir mainīts tā, kā to nav atļāvis iepriekšējais parakstītājs." + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "Neizdevās veikt dokumenta integritātes apstiprināšanu." + +#: gui/signatureguiutils.cpp:208 +#, kde-format +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "Šim dokumentam ir paraksta laukumi." + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "Šis dokuments ir digitāli parakstīts." + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "" +"Šis dokuments ir digitāli parakstīts. Kopš pēdējās parakstīšanas reizes tas " +"ir mainīts." + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" +"Šis dokuments ir digitāli parakstīts. Atsevišķus tā parakstus nav iespējams " +"droši apstiprināt." + +#: gui/signaturemodel.cpp:141 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "Paraksta lauks %1" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "Lauks: %1 %2. lapā" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "Rev. %1: parakstīja %2" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "Parakstīšanas laiks: %1" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "Iemesls: %1" + +#: gui/signaturemodel.cpp:177 +#, kde-format +msgid "Location: %1" +msgstr "Vieta: %1" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "PGP paraksts" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "Adobe PKCS7" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "Adobe PKCS7 Sha1" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "ETSI CAdES" + +#: gui/signaturemodel.cpp:193 +#, kde-format +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "Nezināms" + +#: gui/signaturemodel.cpp:195 +#, kde-format +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "Paraksta lauks" + +#: gui/signaturemodel.cpp:201 +#, kde-format +msgid "Signature Type: %1" +msgstr "Paraksta veids: %1" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "Sarkans" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "Oranžs" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "Dzeltens" + +#: part/annotationactionhandler.cpp:151 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "Zaļš" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "Ciāna" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "Zils" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "Fuksīns" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "Balts" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "Pelēks" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "Melns" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "Platums %1" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1%" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "Anotācijas līnijas platums (nav atlasīta anotācija)" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "Anotācijas krāsa (nav atlasīta anotācija)" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "Anotācijas aizpildījuma krāsa (nav atlasīta anotācija)" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "Anotācijas caurspīdība (nav atlasīta anotācija)" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "Anotācijas fonts (nav atlasīta anotācija)" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" +"Pievienot atlasīto anotāciju ātrās anotēšanas izvēlnei (nav atlasīta " +"anotācija)" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" +"Ierobežot objekta formu līdz attiecībai 1:1 vai līnijas leņķi līdz 15° " +"soļiem (nav atlasīta anotācija)" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" +"Papildu iestatījumi pašreizējam anotāciju rīkam (nav atlasīta anotācija)" + +#: part/annotationactionhandler.cpp:308 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Anotācijas līnijas platums" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "" +"Anotācijas līnijas platums (atlasītajai anotācijai nav līnijas platuma)" + +#: part/annotationactionhandler.cpp:314 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Anotācijas teksta krāsa" + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "Anotācijas malas krāsa" + +#: part/annotationactionhandler.cpp:318 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Anotācijas krāsa" + +#: part/annotationactionhandler.cpp:322 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Anotācijas aizpildījuma krāsa" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "" +"Anotācijas aizpildījuma krāsa (atlasītajai anotācijai nav aizpildījuma " +"krāsas)" + +#: part/annotationactionhandler.cpp:328 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "Anotācijas fonts" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "Anotācijas fonts (atlasītajai anotācijai nav fonta)" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "Ierobežot līniju leņķi līdz 15° soļiem" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "Ierobežot objektu formu līdz 1:1 attiecībai" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" +"Ierobežot objekta formu līdz 1:1 attiecībai vai līnijas leņķi līdz 15° " +"soļiem (atlasītā anotācija neatbalsta)" + +#: part/annotationactionhandler.cpp:341 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Anotācijas caurspīdīgums" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "Pievienot atlasīto anotāciju ātrās anotēšanas izvēlnei" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "Atlasītā anotācijas rīka papildu iestatījumi" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "Krāsa" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "Aizpildījuma krāsa" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "Caurspīdīgs" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "Pielāgota krāsa…" + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "Izvēlies krāsu" + +#: part/annotationactionhandler.cpp:552 +#, kde-format +msgid "&Annotations" +msgstr "&Anotācijas" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "Paslēpt" + +#: part/annotationactionhandler.cpp:554 +#, kde-format +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Parādīt vairāk anotācijas rīku" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "Izcelšanas rīks" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "Pasvītrots" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "Vilnītis" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "Pārsvītrots" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Rakstāmmašīna" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "Iegulta piezīme" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "Izlecoša piezīme" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "Brīvas formas līnija" + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "Taisna līnija" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "Bulta" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "Taisnstūris" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "Elipse" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "Daudzstūris" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "Ģeometriskas figūras" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "Spiedogs" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Ātrās anotēšanas rīki" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "Izvēlieties anotācijas rīku starp ātrās anotēšanas rīkiem" + +#: part/annotationactionhandler.cpp:651 +#, kde-format +msgid "Quick Annotation Bar" +msgstr "Ātras anotēšanas josla" + +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "Pievienot ātrās anotēšanas izvēlnei" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "Paturēt aktīvu" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "Anotēšanas rīku paturēt aktīvu pēc tā lietošanas" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "Anotēšanas rīku ierobežota attiecība un leņķis" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "Fonts" + +#: part/annotationactionhandler.cpp:681 +#, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Anotēšanas iestatījumi" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "Līnijas platums" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "Caurspīdīgums" + +#: part/annotationactionhandler.cpp:696 +#, kde-format +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1%" + +#: part/annotationmodel.cpp:320 +#, kde-format +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "%1. lapa (%2)" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "%1. lapa" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "%1 anotācija" +msgstr[1] "%1 anotācijas" +msgstr[2] "%1 anotāciju" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "&Atvērt izlecošo piezīmi" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Aizvākt grāmatzīmi" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Pievienot grāmatzīmi" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, kde-format +msgid "Copy Text to Clipboard" +msgstr "Kopēt tekstu uz starpliktuvi" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "Kopēšana ir aizliegta ar DRM" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "&Dzēst" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "Ī&pašības" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, kde-format +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "&Saglabāt „%1“…" + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "&Izskats" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "&Pamata" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&Autors:" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "Izveidots:" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "Mainīts:" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "Uzlecošās piezīmes īpašības" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "Rakstāmmašīnas īpašības" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "Iegultās piezīmes īpašības" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "Taisnas līnijas īpašības" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "Daudzstūra īpašības" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "Ģeometrijas īpašības" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "Teksta iezīmes īpašības" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "Spiedoga īpašības" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "Brīvas līnijas īpašības" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "Kursora īpašības" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "Datnes pielikuma īpašības" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "Skaņas īpašības" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "Video īpašības" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "Anotācijas īpašības" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "Izvēlēties pielāgotu simbolu spiedogam no datnes" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "Izvēlēties pielāgotu simbolu spiedogam" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" +"*.ico *.png *.xpm *.svg *.svgz | Ikonu datnes (*.ico *.png *.xpm *.svg *." +"svgz)" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "Neizdevās ielādēt datni %1" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "Nederīga datne" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&Krāsa:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, kde-format +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%v %" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "I&ntensitāte:" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "Ikona:" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "Komentārs" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "Palīdzība" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "Ievietot" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "Atslēga" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "Jauna rindkopa" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "Piezīme" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "Rindkopa" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Fonts:" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "Teksta &krāsa:" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "&Līdzināt:" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "Pa kreisi" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "Centrēt" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "Pa labi" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "&Malas platums:" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "Apstiprināts" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "Kā ir" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "Konfidenciāls" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "Struktūrvienības" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "Uzmetums" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "Eksperimentāls" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "Izbeidzies" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "Pabeigts" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "Komentēšanai" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "Publiskai izplatīšanai" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "Nav apstiprināts" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "Nav paredzēts publiskai izplatīšanai" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "Pārdots" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "Pilnīgi slepens" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "Grāmatzīme" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "Informācija" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "Spiedoga simbols:" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "&Platums:" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "Līnijas sākums:" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "Līnijas beigas:" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "Kvadrāts" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "Aplis" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "Rombs" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "Atvērta bulta" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "Slēgta bulta" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "Nav" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "Nogrieznis" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "Atvērta bulta pa labi" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "Slēgta bulta pa labi" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "Slīpsvītra" + +#: part/annotationwidgets.cpp:531 +#, kde-format +msgid "Leader line length:" +msgstr "Palīglīnijas garums:" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "Palīglīnijas pagarinājuma garums:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "Ieslēgts" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "Figūras aizpildījums:" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Tips:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "Pārsvītrots" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "Datnes pielikuma simbols:" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "Diagramma" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "Piespraude" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "Papīra saspraude" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "Birka" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "Datne" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "NP" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "Apraksts nav pieejams." + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "Nosaukums:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "Apraksts:" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "Kursora simbols:" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "Nav" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "Aizvērt šo piezīmi" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "Iespējas" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"Šī anotācija var saturēt LaTeX kodu.\n" +"Noklikšķiniet šeit, lai to atveidotu." + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "Neizdevās atrast „latex“ izpildāmo programmu." + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "LaTeX atveidošana neizdevās" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "Neizdevās atrast „dvipng“ izpildāmo programmu." + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "Komandas „latex“ izpildes laikā radās kļūda." + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "Komandas „dvipng“ izpildes laikā radās kļūda." + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"%2 grāmatzīme" +msgstr[1] "" +"%1\n" +"\n" +"%2 grāmatzīmes" +msgstr[2] "" +"%1\n" +"\n" +"%2 grāmatzīmju" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Grāmatzīmes" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "Parādīt visiem dokumentiem" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, kde-format +msgid "Search…" +msgstr "Meklēt…" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, fuzzy, kde-format +#| msgid "Expand all" +msgid "Expand All" +msgstr "Izvērst visu" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, fuzzy, kde-format +#| msgid "Collapse all" +msgid "Collapse All" +msgstr "Sakļaut visu" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "Iet uz šo grāmatzīmi" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "Pārdēvēt grāmatzīmi" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Atvērt dokumentu" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "Noņemt visas šī dokumenta grāmatzīmes" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "Sertifikātu skatītājs" + +#: part/certificateviewer.cpp:50 +#, kde-format +msgid "Export…" +msgstr "Eksportēt…" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "Pamata" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "Izdevējs" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "Vispārīgs nosaukums(CN)" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "E-pasts" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "Organizācija(O)" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "Izdots priekš" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "Derīgums" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "Digitālnospiedumi" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "SHA-1 digitālnospiedums" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "SHA-256 digitālnospiedums" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "Papildinformācija" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "Sertifikāta dati:" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "Kur vēlaties saglabāt šo sertifikātu?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "Sertifikāta datne (*.cer)" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "Sertifikāta eksports neizdevās" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "&Krāsu režīms" + +#: part/colormodemenu.cpp:21 +#, kde-format +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "Mainīt krāsas" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "&Normālas krāsas" + +#: part/colormodemenu.cpp:41 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "&Invertēt krāsas" + +#: part/colormodemenu.cpp:42 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "Mainīt &papīra krāsu" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "Mainīt &tumšās un gaišās krāsas" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "Pārveidot par &melnbaltu" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "Invertēt &gaišumu" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "Invertēt L&uma (lineārs sRGB)" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "Invertēt Luma (&simetrisks)" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "Nobīdīt nokrāsu &pozitīvi" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "Nobīdīt nokrāsu n&egatīvi" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "Sarkans" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "Zaļš" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "Zils" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "Dzeltens" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "Melns" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "Balts" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "Dzeltens izcēlums" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "Zaļa izcēlums" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "Ievietot tekstu" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "Zīmēt rāmi ap &saitēm" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "Mainīt krāsas" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "" +"Brīdinājums: šīs iespējas var nelāgi ietekmēt attēlošanas ātrumu." + +#: part/dlgaccessibility.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "Invertēt krāsas" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "Mainīt papīra krāsu" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "Mainīt tumšās un gaišās krāsas" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "Pārveidot par melnbaltu" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "Invertēt krāsas" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "Invertēt „luma“ (lineārs sRGB)" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "Invertēt „luma“ (simetrisks)" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "Nobīdīt nokrāsu pozitīvi" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "Nobīdīt nokrāsu negatīvi" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "Krāsu režīms:" + +#: part/dlgaccessibility.cpp:87 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Papīra krāsa:" + +#: part/dlgaccessibility.cpp:99 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Tumša krāsa:" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "Gaiša krāsa:" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "Slieksnis:" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Kontrasts:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "Teksta pārvēršanas runā dzinis:" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "Teksta pārvēršanas runā balss:" + +#: part/dlgannotations.cpp:25 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Pilna anotāciju rīkjosla" + +#: part/dlgannotations.cpp:26 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Ātrās anotēšanas rīkjosla" + +#: part/dlgannotations.cpp:28 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Anotāciju rīkjosla:" + +#: part/dlgannotations.cpp:34 +#, kde-format +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "Autors:" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"Piezīme: šī informācija tiek izmantota tikai anotācijām. Tā tiks " +"saglabāta anotētajā dokumentā un nodota kopā ar dokumentu." + +#: part/dlgannotations.cpp:48 +#, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

    Quick Annotation Tools

    " +msgstr "

    Ātrās anotēšanas rīki

    " + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" +"Izvēlieties redaktoru, ko palaist kad „Okular“ vēlas atvērt pirmkoda datni." + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "Pielāgots teksta redaktors" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Emacs klients" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "Lyx klients" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "TeXstudio" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "TeXiFy IDEA" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "Redaktors:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
    \n" +"You can also put few placeholders:\n" +"
      \n" +"
    • %f - the file name
    • \n" +"
    • %l - the line of the file to be reached
    • \n" +"
    • %c - the column of the file to be reached
    • \n" +"
    \n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"Norādiet komandu, ar ko palaist pielāgotu teksta redaktoru.
    \n" +"Varat izmantot šādus vietturus:\n" +"
      \n" +"
    • %f — datnes nosaukums
    • \n" +"
    • %l — parādāmā rinda datnē
    • \n" +"
    • %c — parādāmā kolona datnē
    • \n" +"
    \n" +"Nenorādot „%f“, datnes nosaukums tiks pievienots norādītās komandas galā." + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "Komanda:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "Lietot laideno ritināšanu" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "Izskats:" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "Rādīt ritjoslas" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "Sasaistīt sīktēlus ar lapu" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "Rādīt padomus un informācijas ziņojumus" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "Informēt par iegultām datnēm, formām un parakstiem" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "Nosaukuma joslā parādīt dokumenta nosaukumu" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "Rādīt tikai datnes nosaukumu" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "Rādīt pilnu ceļu uz datni" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "Kad netiek parādīts dokumenta nosaukums:" + +#: part/dlggeneral.cpp:92 +#, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "Lietot pielāgotu fona krāsu:" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "Programmas iespējas:" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "Jaunas datnes atvērt cilnēs" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "Pārslēgties uz cilni, ja datne jau ir atvērta" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "Respektēt DRM ierobežojumus" + +#: part/dlggeneral.cpp:148 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "Pārlādēt dokumentu ja datne izmainās" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "Rādīt aizmugursistēmas izvēles lodziņu" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "Lasīšanas virziens no labās uz kreiso pusi" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" +"Lietot datnes informāciju, lai noteiktu, vai pēc noklusējuma atvērt " +"nepārtrauktā režīmā" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" +"Datņu bez datnes informācijas gadījumā pēc noklusējuma atvērt nepārtrauktā " +"režīmā" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "Pēc noklusējuma atvērt nepārtrauktas lapu plūsmas režīmā" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" +"Izmantojot pārlūkošanas rīku, automātiski pārnest kursoru nākamajā rindā" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "Vienumi nesenajā vēsturē:" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "Pārskata kolonnas:" + +#: part/dlggeneral.cpp:220 +#, kde-format +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%v %" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" +"Nosaka, cik daudz no pašreizējā skata apgabala joprojām būs redzams, " +"nospiežot taustiņus „Page Up“/„Page Down“." + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "„Page Up/Page Down“ pārklāšanās:" + +#: part/dlggeneral.cpp:228 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%v %" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "100 %" + +#: part/dlggeneral.cpp:233 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "Pilnā platumā" + +#: part/dlggeneral.cpp:234 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "Ietilpināt lapu" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "Automātiski ietilpināt" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "Pielāgots" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" +"Nosaka noklusējuma tālummaiņas režīmu datnēm, kas nekad iepriekš nav " +"atvērtas. Iepriekš atvērtām datnēm programma izmantos iepriekšējo tuvinājumu." + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "Noklusētais tuvinājums:" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "Ieslēgt caurspīdīguma efektus" + +#: part/dlgperformance.cpp:28 +#, kde-format +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "CPU lietojums:" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "Zems" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "Normāls (noklusējuma)" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "Agresīvs" + +#: part/dlgperformance.cpp:38 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "Alkatīgs" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "Atmiņas lietojums:" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "Ieslēgt teksta kropļojumnovērsi" + +#: part/dlgperformance.cpp:56 +#, kde-format +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "Attēlošanas opcijas:" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "Ieslēgt zīmējumu kropļojumnovērsi" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "Ieslēgt fontu izlīdzināšanu" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"Izmanto pēc iespējas mazāk atmiņas. Neko neizmanto vēlreiz. (Sistēmām ar maz " +"atmiņas.)" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"Labs kompromiss starp atmiņas patēriņu un ātrumu. Iepriekš ielādē nākamo " +"lapu un paātrina meklēšanu. (Sistēmām ar apmēram 2 GB atmiņas.)" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"Atmiņā patur visu. Iepriekš ielādē nākamās lapas. Paātrina meklēšanu. " +"(Sistēmām ar vairāk nekā 4 GB atmiņas.)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" +"Ielādē un patur atmiņā visu. Iepriekš ielādē visas lapas. (Izmantos ne " +"vairāk kā 50% no kopējās vai brīvās atmiņas — atkarībā no tā, kura ir " +"lielāka.)" + +#: part/dlgpresentation.cpp:38 +#, kde-format +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] "katru %v sekundi" +msgstr[1] "katras %v sekundes" +msgstr[2] "katras %v sekundes" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "Pāršķirt automātiski:" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "Pēc pēdējās lapas sākt no sākuma" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "Uzsist kreisajā/labajā pusē, lai ietu uz priekšu/atpakaļ" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "Uzsist jebkur, lai ietu uz priekšu" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "Izslēgts" + +#: part/dlgpresentation.cpp:63 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Skārienu navigācija:" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "Fona krāsa:" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "Noslēpt pēc laika" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "Vienmēr redzams" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "Vienmēr noslēpts" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "Peles kursors:" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "Rādīt progresa indikatoru" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "Rādīt kopsavilkuma lapu" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "Nekavējoties (nekad neizmantot animācijas)" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "Aizstāt" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "Nejauša pāreja" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "Vertikālas žalūzijas" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "Horizontālas žalūzijas" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "Kastes pāreja uz iekšpusi" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "Kastes pāreja uz ārpusi" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "Pa gabaliņiem" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "Izgaist" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "Ar mirdzumiem lejup" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "Ar mirdzumiem pa labi" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "Ar mirdzumiem no labās puses un uz leju" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "Aizvērt horizontāli" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "Atvērt horizontāli" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "Aizvērt vertikāli" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "Atvērt vertikāli" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "Noslaucīt lejup" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "Noslaucīt pa labi" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "Noslaucīt pa kreisi" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "Noslaucīt augšup" + +#: part/dlgpresentation.cpp:121 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Noklusētā pāreja:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "Priekšroka ekrānam:" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

    Drawing Tools

    " +msgstr "

    Zīmēšanas rīki

    " + +#: part/dlgpresentation.cpp:171 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "AktÄ«vais ekrāns" + +#: part/dlgpresentation.cpp:172 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Noklusētais ekrāns" + +#: part/dlgpresentation.cpp:178 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "Ekrāns %1 (%2 %3 %4)" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "Ekrāns %1 (atvienots)" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "ZÄ«mēšanas rÄ«ks: %1" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "Dzēšgumija" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "&Nosaukums:" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "&Tips:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "Izskats" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "Teksta marķēšana" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "Ä¢eometriska figÅ«ra" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "Izveidot anotāciju rÄ«ku" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "Rediģēt anotāciju rÄ«ku" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "Krāsa:" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "&ZÄ«muļa platums:" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "%v piks." + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "Izveidot zÄ«mēšanas rÄ«ku" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "Rediģēt zÄ«mēšanas rÄ«ku" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "Nezināms" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Iegultās datnes" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "Skats" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "Nosaukums" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "Apraksts" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "Izmērs" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "Izveidots" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "MainÄ«ts" + +#: part/embeddedfilesdialog.cpp:154 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "&Saglabāt kā…" + +#: part/embeddedfilesdialog.cpp:155 +#, kde-format +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "&Skats…" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "Neizdevās ielādēt drukas priekÅ¡skatÄ«juma daļu" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "Drukas priekÅ¡skatÄ«jums" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "Aizvērt" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "&Meklēt:" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "Meklējamais teksts" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Nākamais" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "Nākamā atbilstÄ«ba" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Iepriekšējais" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "Iepriekšējā atbilstÄ«ba" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "MainÄ«t meklēšanas uzvedÄ«bu" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "ReÄ£istrjutÄ«ga" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "No paÅ¡reizējās lapas" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "Meklēt rakstīšanas laikā" + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "Visas datnes (*)" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "Paraksta lauks (klikšķiniet, lai parakstÄ«tu)" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "&ParakstÄ«t…" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "Paraksta Ä«pašības" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "Meklēšanas opcijas" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "ReÄ£istrjutÄ«ga" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "Regulārā izteiksme" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "Slāņi" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "no" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "Tālummaiņa" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "Tuvināt lÄ«dz 100%" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "Griezt pa &labi" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "Pa labi" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "Griezt pa &kreisi" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "Pa kreisi" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "Sākotnējā orientācija" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "&Apcirst skatu" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "Ap&cirst apmales" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "Apcirst lÄ«dz &izvēlei" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "Pilnā &platumā" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "Visa &lapa" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "&Automātiski ietilpināt" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "&Mērogot logu pret lapu" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "&Skata režīms" + +#: part/pageview.cpp:594 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "&Viena lapa" + +#: part/pageview.cpp:595 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "&Atvērums" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "Atvērums (¢rēt pirmo lapu)" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "&Pārskats" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "&Nepārtraukts" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "Lasīšanas virziens no labās uz kreiso pusi" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "Pār&lÅ«kot" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "&Tuvināt/tālināt" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "&Zonas iezÄ«mēšana" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "&Teksta iezÄ«mēšana" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "T&abulu iezÄ«mēšana" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "&Palielinātājs" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "IezÄ«mēšanas rÄ«ki" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "Digitāli ¶kstÄ«t…" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "Izrunāt visu dokumentu" + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "Izrunāt no atvērtās lapas" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "Izrunāt atvērto lapu" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "Apturēt izrunāšanu" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "Pauzēt/turpināt runāšanu" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "Ritināt augÅ¡up" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Ritināt lejup" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "Ritināt lapu augÅ¡up" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "Ritināt lapu lejup" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "RādÄ«t formas" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] " Ielādēts %1 lapu garÅ¡ dokuments." +msgstr[1] " Ielādēts %1 lapas garÅ¡ dokuments." +msgstr[2] " Ielādēts %1 lapu garÅ¡ dokuments." + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "Tabulas saturu kopēt uz starpliktuvi" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "Teksts (%1 rakstzÄ«me)" +msgstr[1] "Teksts (%1 rakstzÄ«mes)" +msgstr[2] "Teksts (%1 rakstzÄ«mju)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "Kopēt uz starpliktuvi" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "Izrunāt tekstu" + +#: part/pageview.cpp:2863 +#, kde-format +msgid "Image (%1 × %2 pixels)" +msgstr "Attēls (%1 × %2 pikseļi)" + +#: part/pageview.cpp:2865 +#, kde-format +msgid "Save to File…" +msgstr "Saglabāt datnē…" + +#: part/pageview.cpp:2885 +#, kde-format +msgid "Image [%1 × %2] copied to clipboard." +msgstr "Attēls [%1 × %2] ir iekopēts starpliktuvē." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "Saglabāt datni" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "Attēli (*.png *.jpeg)" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "Datne nav saglabāta." + +#: part/pageview.cpp:2901 +#, kde-format +msgid "Image [%1 × %2] saved to %3 file." +msgstr "Attēls [%1 × %2] ir saglabāts datnē „%3“." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "Kopēt tekstu" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "Iet uz „%1“" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "Pilnā platumā" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "Ietilpināt lapu" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "Automātiski ietilpināt" + +#: part/pageview.cpp:4107 +#, kde-format +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1%" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "Meklēt „%1“ ar" + +#: part/pageview.cpp:4404 +#, kde-format +msgid "Configure Web Shortcuts…" +msgstr "PārvaldÄ«t tÄ«mekļa saÄ«snes…" + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "Atvērt Å¡o saiti" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "Atskaņot skaņu" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "Apturēt skaņu" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "Kopēt saites adresi" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "Meklēt „%1“ Å¡ajā dokumentā" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Laipni lÅ«dzam" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "" +"Izvēlieties tālummaiņas apgabalu. Ar peles labās pogas klikšķi varat " +"attālināt (samazināt)." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "Klikšķiniet, lai skatÄ«tu palielinātu skatu." + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "Apvelciet taisnstÅ«ri ap tekstu/grafiku, ko vēlaties nokopēt." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "IezÄ«mēt tekstu" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" +"Apvelciet taisnstÅ«ri ap tabulu, tad noklikšķiniet netālu no malām, lai " +"veiktu sadalīšanu; nospiediet „Esc“, lai notÄ«rÄ«tu." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" +"Visi jÅ«su parakstīšanas sertifikāti ir nederÄ«gi. GadÄ«jumā, ja parakstīšana " +"agrāk strādāja, pārbaudiet derÄ«guma datumus." + +#: part/pageview.cpp:5188 +#, kde-format +msgid "No valid certificates" +msgstr "Bez derÄ«ga sertifikāta" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, kde-format +msgid "Open Certificate Manager" +msgstr "Atvērt sertifikāta pārvaldnieku" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
    Launch Certificate Manager " +"to import or manage certificates
    For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" +"Nav pieejami parakstīšanas sertifikāti.
    Lai importētu vai pārvaldītu " +"sertifikātus, ieslēdziet sertifikātu pārvaldnieku
    Lai iegūtu vairāk " +"informācijas, lasiet rokasgrāmatas sadaļu Digitālo parakstu " +"pievienošana" + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, kde-format +msgid "No certificates found" +msgstr "Sertifikāti nav atrasti" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
    For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" +"Nav pieejami paraksta sertifikāti
    Lai iegūtu vairāk informācijas, lasiet " +"rokasgrāmatas sadaļu Digitālo parakstu pievienošana" + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" +"Jums ir nesaglabātas izmaiņas. Pirms parakstīšanas dokuments ir jāsaglabā." + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "Iezīmējiet četrstūri, lai ievietotu paraksta lauciņu" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "Apvelciet taisnstūri ap vietu lapā, kuru vēlaties paturēt redzamu" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "Jauna teksta piezīme" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "Jaunās piezīmes teksts:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Parakstīja: %1\n" +"\n" +"Datums: %2" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" +"Šādu mazu parakstu var būt grūtības izlasīt. Ja vēlaties izveidot, " +"iespējams, izlasāmāku parakstu, spiediet Sākt no sākuma un iezīmējiet lielāku četrstūri." + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "Sākt no sākuma" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "Parakstīt" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name" +msgstr "Autora vārds" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name for the annotation:" +msgstr "Autora vārds anotācijām:" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "Iezīmējiet elipsi (klikšķiniet un velciet)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "Izcelts teksts" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "Zīmēt brīvas formas līniju" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "Iegulta teksta anotēšana (klikšķiniet un velciet)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "Ievietot izlecošu piezīmi" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "Zīmēt daudzstūri (nospiediet uz pirmā punkta, lai to pabeigtu)" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "Zīmēt taisnstūri" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "Teksts ar vilnīti" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "Uzlikt spiedogu" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "Zīmēt taisnu līniju" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "Pārsvītrots teksts" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "Pasvītrots teksts" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "Rakstāmmašīnas anotēšana (klikšķiniet un velciet apgabalu)" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "Izcelšanas rīks" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "Pievienojiet iecienītāko anotāciju" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Custom annotation name:" +msgstr "Pielāgotās anotācijas nosaukums:" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&Datne" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "Ie&statījumi" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "P&alīdzība" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "&Orientācija" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "&Grāmatzīmes" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "Skatītāja rīkjosla" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Sīktēli" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "Anotācijas" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
    Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" +"Šis dokuments satur anotācijas vai formas lauku datus, kas ir saglabāti " +"iekšēji ar vecāku „Okular“ versiju. Iekšējā saglabāšana vairs netiek " +"atbalstīta.
    Ja vēlaties turpināt rediģēt Å¡o dokumentu, saglabājiet " +"to datnē, lai Å¡o informāciju pārvietotu." + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"Å is dokuments satur iegultas datnes. Nospiediet Å¡eit, lai tās apskatÄ«tu vai ejiet uz Datne -> Iegultās " +"datnes." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "Notiek parakstīšana. Varat pielāgot paraksta novietojumu un izmēru" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "Pabeigt parakstīšanu" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "Iepriekšējā" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "Iet atpakaļ uz iepriekšējo lapu" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "Doties uz iepriekšējo dokumenta lapu" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "Nākamā" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "Iet uz nākamo lapu" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "Doties uz nākamo dokumenta lapu" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "Dokumenta sākums" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "Doties uz dokumenta sākumu" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "Dokumenta beigas" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "Doties uz dokumenta beigām" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "Pārdēvēt paÅ¡reizējo grāmatzÄ«mi" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "Iepriekšējā grāmatzÄ«me" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "Iet uz iepriekšējo grāmatzÄ«mi" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "Nākamā grāmatzÄ«me" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "Iet uz nākamo grāmatzÄ«mi" + +#: part/part.cpp:748 +#, kde-format +msgid "Configure Okular…" +msgstr "Konfigurēt „Okular“…" + +#: part/part.cpp:751 +#, kde-format +msgid "Configure Viewer…" +msgstr "Konfigurēt skatÄ«tāju…" + +#: part/part.cpp:757 +#, kde-format +msgid "Configure Viewer Backends…" +msgstr "Konfigurēt skatÄ«tāja aizmugursistēmas…" + +#: part/part.cpp:759 +#, kde-format +msgid "Configure Backends…" +msgstr "PārvaldÄ«t aizmugursistēmas…" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "Par aizmugursistēmu" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "Pārlā&dēt" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "Pārlādēt aktÄ«vo dokumentu no diska." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "Aizvērt &meklēšanas joslu" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "Lapas numurs" + +#: part/part.cpp:817 +#, kde-format +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "PārvaldÄ«t krāsu režīmus…" + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "IezÄ«mēt visu tekstu Å¡ajā lapā" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "RādÄ«t &sānjoslu" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "RādÄ«t la&pas joslu" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "RādÄ«t ¶kstu paneli" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "&Iegultās datnes" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "&Eksportēt kā" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "&KopÄ«got" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "P&rezentācija" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "Atvērt &saturoÅ¡o mapi" + +#: part/part.cpp:945 +#, kde-format +msgid "&Import PostScript as PDF…" +msgstr "&Importēt „PostScript“ kā PDF…" + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "Pārslēgt melnā ekrāna režīmu" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "Dzēst zÄ«mējumu" + +#: part/part.cpp:962 +#, kde-format +msgid "Configure Annotations…" +msgstr "PārvaldÄ«t anotācijas…" + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "Atskaņot/pauzēt prezentāciju" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" +"JÅ«s izmainÄ«jāt atvērtu dokumentu, tomēr šāda veida dokumentu nav iespējams " +"saglabāt.\n" +"Visas veiktās modifikācijas pazudÄ«s pēc „Okular“ aizvērÅ¡anas." + +#: part/part.cpp:1123 +#, kde-format +msgid "Document can't be saved" +msgstr "Dokumentu nevar saglabāt" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "Neizdevās atvērt „%1“ (%2) " + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "%1 ielāde ir atcelta." + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "Neizdevās atvērt %1. Iemesls: %2" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "PārvaldÄ«t skatÄ«tāja aizmugursistēmas" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "PārvaldÄ«t aizmugursistēmas" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"Nav atrasta programma „ps2pdf“, kas „Okular“ ir vajadzÄ«ga PS datņu importam." + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "neizdevās atrast ps2pdf" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "„PostScript“ datnes (%1)" + +#: part/part.cpp:1357 +#, kde-format +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "Importē PS datni kā PDF (tas var prasÄ«t kādu laiku)…" + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "Ievadiet paroli, lai atvērtu Å¡o dokumentu:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "Parole nav pareiza. Mēģiniet vēlreiz:" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "Dokumenta parole" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "Å im dokumentam ir XFA formas lauki, kas Å¡obrÄ«d nav atbalstÄ«tas." + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"Å is dokuments satur formas. Lai ar tām darbotos, nospiediet uz pogas vai " +"izmantojiet „Skats —> RādÄ«t formas“." + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" +"Å im dokumentam ir izslēgtas visas rediģēšanas un interaktÄ«vās iespējas. Lai " +"dokumentu rediģētu, saglabājiet tā kopiju un atveriet to no jauna." + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" +"Å is dokuments pieprasa, lai tiktu parādÄ«ts pilnekrāna režīmā.\n" +"Vai tiešām vēlaties atstāt normālo režīmu un ieslēgt prezentācijas režīmu?" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "PieprasÄ«juma mainÄ«t skata režīmu" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "Ieiet prezentācijas režīmā" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "NoraidÄ«t pieprasÄ«jumu" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "Neizdevās atvērt %1. %2" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" +"Datne %1 satur nesaglabātas izmaiņas, bet to ir " +"izmanÄ«jusi cita programma. Tās pārlādēšana nomainÄ«s nesaglabātās izmaiņas ar " +"tām, ko ir veikusi cita programma.Vai vēlaties turpināt pārlādēt " +"datni?" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "Datne ir mainÄ«ta" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "Turpināt pārlādēšanu" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "Atcelt pārlādēšanu" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" +"Datne %1 satur nesaglabātas izmaiņas, bet to ir " +"izmanÄ«jusi cita programma. Tās aizvērÅ¡ana nomainÄ«s nesaglabātās izmaiņas ar " +"tām, ko ir veikusi cita programma.Vai vēlaties turpināt pārlādēt " +"datni?" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "Turpināt aizvērÅ¡anu" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "Atcelt aizvērÅ¡anu" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "Vai vēlaties saglabāt vai noraidÄ«t veiktās izmaiņas datnē „%1“?" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "Aizvērt dokumentu" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"Å Ä« saite rāda uz dokumenta aizvērÅ¡anas darbÄ«bu un tas nestrādā, izmantojot " +"iegulto skatÄ«tāju." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"Å Ä« saite rāda uz programmas aizvērÅ¡anas darbÄ«bu un tas nestrādā, izmantojot " +"iegulto skatÄ«tāju." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, kde-format +msgid "Reloading the document…" +msgstr "Pārlādē dokumentu…" + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "Saturs" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "Paraksti" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Iet uz lapu" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "&Lapa:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "Ievadiet grāmatzÄ«mes jauno nosaukumu:" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "Pārdēvēt Å¡o grāmatzÄ«mi" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "Noņemt Å¡o grāmatzÄ«mi" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "Saglabāt kā" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" +"JÅ«s izvēlējāties saglabāt „Okular“ arhÄ«vā ar datnes nosaukumu, kas nebeidzas " +"ar paplaÅ¡inājumu „%1“. Tas nav atļauts, vai vēlaties izvēlēties jaunu " +"nosaukumu?" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "NeatbalstÄ«ts pagarinājums" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "Izvēlieties jaunu nosaukumu" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" +"Datni %1 ir izmainÄ«jusi citu programma. Ja tagad " +"saglabāsiet, tad šīs citas programmas veiktās izmaiņas bÅ«s zuduÅ¡as. Vai " +"tiešām vēlaties turpināt?" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "Saglabāt — brÄ«dinājums" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "Saglabāt kopiju citur" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
    In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" +"Šo dokumentu aizsargā parole.
    Lai to saglabātu, datne ir jāpārlādē. Jums " +"tiks lūgts vēlreiz ievadīt paroli, kā arī būs zudusi atsaukšanas vēsture.
    Vai vēlaties turpināt?" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "Neizdevās atvērt pagaidu datni saglabāšanai." + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" +"Neizdevās pārrakstīt %1, jo šī datne ir tikai lasāma. " +"Mēģiniet saglabāt citā vietā vai mainīt šīs datnes atļaujas." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" +"Pašreizējais dokumenta formāts pieprasa datni pēc saglabāšanas pārlādēt. " +"Jūsu atsaukšanas vēsture pazudīs.
    Vai vēlaties turpināt?" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "Neizdevās saglabāt datni mapē „%1“. Mēģiniet saglabāt citā vietā." + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "Aizpildīto veidņu saturs" + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "Lietotāja anotācijas" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" +"Jūs grasāties saglabāt izmaiņas, tomēr pašreizējais datnes formāts " +"neatbalsta šo elementu saglabāšanu. Izmantojiet „Okular“ dokumentu " +"arhīva formātu, lai tos saglabātu." + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "Brīdinājums" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "Saglabāt kā „Okular“ dokumentu arhīvu…" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" +"Jūs grasāties saglabāt izmaiņas, tomēr pašreizējas datnes formāts neatbalsta " +"šo elementu saglabāšanu. Izmantojiet „Okular“ dokumentu arhīva " +"formātu, lai tos saglabātu. Vai klikšķiniet Turpināt, lai saglabātu " +"dokumentu un izmestu šos elementus." + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" +"Jūs grasāties saglabāt izmaiņas, tomēr pašreizējais datnes formāts " +"neatbalsta šo elementu saglabāšanu. Izmantojiet „Okular“ dokumentu " +"arhīva formātu, lai tos saglabātu. Klikšķiniet Turpināt, lai " +"dokumentu saglabātu, tomēr tādējādi zaudēsiet šos elementus, kā arī " +"atsaukšanas darbību vēsturi." + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "Turpināt" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "Turpināt zaudēt izmaiņas" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "Datni neizdevās saglabāt mapē „%1“. %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"„Okular“ neizdodas nokopēt „%1“ uz norādīto vietu.\n" +"\n" +"Dokuments vairs nepastāv." + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" +"Datni neizdevās saglabāt mapē „%1“. Kļūda: „%2“. Mēģiniet saglabāt citā " +"vietā." + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "Expand whole section" +msgid "Expand Whole Section" +msgstr "Izvērst visu sadaļu" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "Collapse whole section" +msgid "Collapse Whole Section" +msgstr "Sakļaut visu sadaļu" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "Sinhronizēt sīktēlu ar lapu" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Rīki" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "Izrunāt" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "Drukāt" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "Šī dokumenta drukāšana nav atļauta." + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"Neizdevās izdrukāt dokumentu. Nezināma kļūda. Ziņojiet par to lapā bugs.kde." +"org" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"Neizdevās izdrukāt dokumentu. Sīkāka kļūda ir „%1“. Ziņojiet par to lapā " +"bugs.kde.org" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "Iet uz vietu, kur bijāt iepriekš" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "Iet uz vietu, kur bijāt vēlāk" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"Datnes kļūda! Neizdevās izveidot pagaidu datni " +"%1." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"Datnes kļūda! Neizdevās atvērt datni %1 atspiešanai. Datne netiks ielādēta." + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"Šī kļūda parasti gadās, ja jums nav atļaujas nolasīt datni. Jūs varat " +"apskatīt datnes īpašnieku un atļaujas datņupārvaldniekā „Dolphin“, " +"klikšķinot peles labo pogu uz datnes un izvēloties „Īpašības“, bet pēc tam " +"ejot uz cilni „Atļaujas“." + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"Datnes kļūda! Neizdevās atspiest datni " +"%1. Datne netiks ielādēta." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"Šī kļūda parasti gadās ja datne ir bojāta. Ja vēlaties pārliecināties, " +"mēģiniet datni atspiest, izmantojot komandrindas rīkus." + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "Nav grāmatzīmju" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "Radās kļūme, mēģinot kopīgot dokumentu: %1" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "Kopīgot" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "Dokumenta kopīgošana veikta sekmīgi" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "Dokumentu, kuru kopīgojāt, varat atrast: %1" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "R&ediģēt" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "&Skats" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&Iet" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "&Rīki" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "Galvenā rīkjosla " + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "Anotāciju rīkjosla" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, kde-format +msgid "Quick Annotation Toolbar" +msgstr "Ātrās anotēšanas rīkjosla" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "Pamata opcijas" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Pieejamība" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "Lasīšanas palīglīdzekļi" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Veiktspēja" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "Veiktspējas regulēšana" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "Pārvaldīt skatītāju" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Prezentācija" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "Prezentācijas režīma opcijas" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "Anotācijas īpašības" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "Redaktors" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "Redaktora opcijas" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" +"Komandrinda redaktoru iestatīja uz \n" +" %1 \n" +"Ja vēlaties izmantot šos iestatījumos, sāciet „Okular“ bez parametra „--" +"editor-cmd“" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "Meklēt nākamo" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 — Prezentācija" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "Pārslēgt ekrānu" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "%1. ekrāns" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "Iziet no prezentācijas režīma" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Nosaukums: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Lapas: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "Nospiediet lai sāktu" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "Pauze" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "Atskaņot" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"No prezentācijas režīma var iziet divos veidos: vai nu nospiežot ESC " +"taustiņu, vai nospiežot uz iziešanas pogas, kas parādās, novietojot peles " +"kursoru augšējā labajā stūrī. Tāpat varat brīvi pārslēgties starp logiem " +"(parasti ar Alt+Tab)" + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "Prezentācijas laikā" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "Nezināma datne" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "%1 īpašības" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "&Fonti" + +#: part/propertiesdialog.cpp:145 +#, kde-format +msgid "Reading font information…" +msgstr "Nolasa fontu informāciju…" + +#: part/propertiesdialog.cpp:158 +#, kde-format +msgid "&Page Sizes" +msgstr "&Lapu izmēri" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "&Izvilkt fontu" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Tips 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Tips 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "Tips 1C (OT)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Tips 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType (OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID tips 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID tips 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID tips 0C (OT)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType (OT)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "TeX PK" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "TeX virtual" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "TeX Font Metric" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "TeX FreeType-handled" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "Nezināms" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "Iegults (apakškopa)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "Pilnībā iegults" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "Nav" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "Jā (apakškopa)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "Jā" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "%1 (tiek aizvietots ar %2)" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "[n/p]" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "Nezināms fonts" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "Iegults: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "Nosaukums" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "Tips" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "Datne" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "Lapa" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "Izmērs" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "Revīzijas priekšskatījums" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "Kur vēlaties saglabāt šo revīziju?" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "Neizdevās saglabāt datni „%1“." + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "Neizdevās apskatīt revīziju." + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "Ievadiet vismaz 3 burtus lai filtrētu lapas" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "Reģistrjutīgs" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "Precīza frāze" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "Atrast visus vārdus" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "Atrast jebkuru vārdu" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "Filtrēšanas opcijas" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, kde-format +msgid "Certificates" +msgstr "Sertifikāti" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "Izvēlieties sertifikātu, ar kuru parakstīt:" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "Visi" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, kde-format +msgid "Only QES certificates" +msgstr "Tikai QES sertifikāti" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "Tiki PGP atslēgas" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "Iemesls:" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, kde-format +msgid "optional" +msgstr "pēc izvēles" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "Vieta:" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, kde-format +msgid "Background:" +msgstr "Fons:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "Izvēlēties..." + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, kde-format +msgid "Recent backgrounds:" +msgstr "Pēdējie foni:" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

    No annotations

    To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
    " +msgstr "" +"

    Nav anotāciju

    Lai izveidotu jaunu anotāciju, " +"spiediet F6 vai izvēlnē Rīki -> Anotācijas.
    " + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "Grupēt pēc lapas" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "Grupēt pēc autora" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "Rādīt tikai aktīvās lapas anotācijas" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "Izvērst visus elementus" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "Sakļaut visus elementus" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "Īpašības" + +#: part/signaturepartutils.cpp:180 +#, kde-format +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Attēli (%1)" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "Izvēlēties fona attēlu" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "Aizmirst attēlu" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "Aizmirst visus attēlus" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "Ievadīt paroli (ja tāda ir), lai piekļūtu sertifikātam: %1" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "Ievadiet sertifikāta paroli" + +#: part/signaturepartutils.cpp:244 +#, kde-format +msgid "Enter document password" +msgstr "Ievadiet dokumenta paroli" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "Parakstīto datni saglabāt kā" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "%1_parakstīts.%2" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "Derīguma statuss" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "Paraksta derīgums:" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "Dokumenta izmaiņas:" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "Papildu informācija" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "Parakstītājs:" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "Parakstīšanas laiks:" + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "Dokumenta versija" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Dokumenta revīzija %1. no %2" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "Aplūkot parakstīto versiju…" + +#: part/signaturepropertiesdialog.cpp:95 +#, kde-format +msgid "View Certificate…" +msgstr "Aplūkot sertifikātu…" + +#: part/signaturepropertiesdialog.cpp:97 +#, kde-format +msgid "View in Certificate Manager" +msgstr "Aplūkot sertifikātu pārvaldniekā" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "KDE sertifikātu pārvaldnieks (kleopatra) nav atrasts" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "Kvalificēts" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "PGP" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "Rādīt tikai grāmatzīmēm pievienotās lapas" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "Atskaņot" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Pauze" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "Apturēt" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "Šajā „Okular“ būvējumā video atskaņošana nav atbalstīta" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "Šajā „Okular“ būvējumā video atskaņošana nav atbalstīta" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "&Pievienot…" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, kde-format +msgid "&Edit…" +msgstr "R&ediģēt…" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "&Noņemt" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "Pārvietot &augšup" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "Pārvietot &lejup" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "Noklusējuma zīmēšanas rīks #%1" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "Rīks ar šādu nosaukumu jau pastāv. Tiek izmantots noklusējuma" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "Kopēts nosaukums" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "Parādāmā dokumenta lapa" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "Atvērt dokumentu prezentācijas režīmā" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "Atvērta ar drukāšanas lodziņu" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "Atvērt ar drukāšanas lodziņu un iziet pēc drukāšanas" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "„Unikālas instances“ kontrole" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "Nepacelt logu" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "Atrast virkni tekstā" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "Iestata ārējā redaktora komandu" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "Atveramie dokumenti. Norādiet „-“, lai lasītu no „stdin“." + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" +"Jūs nevarat iestatīt redaktora komandu jau atvērtā „Okular“ instancē. " +"Izslēdziet cilnes un mēģiniet vēlreiz. Ievērojiet, ka „unique“ netiek " +"atbalstīts arī tad, ja redaktora komandu iestatiet komandrindā.\n" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "" +"Kļūda: Nevar atvērt vairāk par vienu dokumentu, izmantojot slēdzi „--unique“" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" +"Kļūda: Nevar atvērt vairāk par vienu dokumentu, izmantojot slēdzi „--" +"presentation“" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "" +"Kļūda: Nevar atvērt vairāk par vienu dokumentu, izmantojot slēdzi „--print“" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "" +"Kļūda: Nevar atvērt vairāk par vienu dokumentu, izmantojot slēdzi „--page“" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "" +"Kļūda: Nevar atvērt vairāk par vienu dokumentu, izmantojot slēdzi „--find“" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "Neizdevās atrast „Okular“ komponentu: %1" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "Sānjosla" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "Jau ir ieslēgta unikāla „Okular“ instance. Šī instance nebūs unikāla." + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "Neizdevās atrast „Okular“ komponentu." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"Nospiediet, lai atvērtu datni\n" +"Nospiediet un paturiet, lai atvērtu nesen lietotu datni" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"Nospiediet, lai atvērtu datni, vai Nospiediet un paturiet, lai " +"izvēlētos nesen lietotu datni" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "Nākamā cilne" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "Iepriekšējā cilne" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "Atsaukt cilnes aizvēršanu" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "Slēgt sānjoslu" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "Visas datnes (*)" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "Visas atbalstītās datnes (%1)" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "Atvērt dokumentu" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "Apstiprināt aizvēršanu" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "Aizvērt cilnes" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "Tiks aizvērtas %1 cilnes. Vai tiešām vēlaties turpināt?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "Brīdināt, kad mēģinu aizvērt vairākas cilnes" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "&Kopēt ceļu" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "&Atvērt saturošu mapi" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "&Aizmirst šo vienumu" + +#: shell/welcomescreen.cpp:137 +#, kde-format +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "Nav neseno dokumentu" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "Laipni lūgti programmā „Okular“!" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Atvērt dokumentu..." + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, kde-format +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Nesenie dokumenti" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "Aizmirst visus" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "Paslēpt sveiciena ekrānu" + +#~ msgid "Geometry with Comment" +#~ msgstr "Ģeometrija ar komentāru" + +#~ msgid "Geometry" +#~ msgstr "Ģeometrija" + +#~ msgctxt "Annotation type: contents" +#~ msgid "%1: %2" +#~ msgstr "%1: %2" + +#~ msgid "Modified: %1" +#~ msgstr "Mainīts: %1" + +#~ msgid "Find..." +#~ msgstr "Meklēt..." + +#~ msgid "Go To Page..." +#~ msgstr "Iet uz lapu..." + +#~ msgid "Play movie..." +#~ msgstr "Atskaņot filmu..." + +#~ msgid "Search..." +#~ msgstr "Meklēt..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "&Saglabāt kā..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "&Skats..." + +#~ msgid "&Sign..." +#~ msgstr "&Parakstīt..." + +#~ msgid "Configure Viewer..." +#~ msgstr "Pārvaldīt skatītāju..." + +#~ msgid "Configure Viewer Backends..." +#~ msgstr "Pārvaldīt skatītāja aizmugursistēmas..." + +#~ msgid "Configure Backends..." +#~ msgstr "Pārvaldīt aizmugursistēmas..." + +#~ msgid "&Add..." +#~ msgstr "&Pievienot..." + +#~ msgid "&Edit..." +#~ msgstr "R&ediģēt..." + +#~ msgctxt "%1 is a file path" +#~ msgid "" +#~ "Could not sign. Invalid certificate password or could not write to '%1'" +#~ msgstr "" +#~ "Neizdevās parakstīt. Nederīga sertifikāta parole vai neizdevās ierakstīt " +#~ "datnē „%1“" + +#, fuzzy +#~| msgid "" +#~| "All your signing certificates are either not valid yet or are past their " +#~| "validity date." +#~ msgid "All your signing certificates are invalid" +#~ msgstr "" +#~ "Atļaut parakstīt sertifikātus, kas vai nu nav derīgi, vai arī ar " +#~ "izbeigušos derīguma termiņu." + +#~ msgid "Unsigned Signature %1" +#~ msgstr "Neparakstīts paraksts %1" + +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "Nezināms" + +#~ msgctxt "Signature type" +#~ msgid "Unsigned signature" +#~ msgstr "Neparakstīts paraksts" + +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "Spinbox prefix: Advance automatically: every n seconds" +#~ msgid "every " +#~ msgstr "ik pēc " + +#~ msgctxt "Suffix for the pen width, eg '10 px'" +#~ msgid " px" +#~ msgstr "px" + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " %" + +#~ msgctxt "%1 is a file path" +#~ msgid "Could not sign. Could not write to '%1'" +#~ msgstr "Neizdevās parakstīt. Neizdevās rakstīt uz „%1“" + +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "Ietilpināt platumā" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "Ietilpināt lapu" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Auto Fit" +#~ msgstr "Automātiska ietilpināšana" + +#~ msgid "*|All Files" +#~ msgstr "*|Visi faili" + +#, fuzzy +#~| msgid "Show S&idebar" +#~ msgid "Show Sidebar" +#~ msgstr "Rādīt &sānjoslu" + +#~ msgctxt "@title:window" +#~ msgid "Experimental feature" +#~ msgstr "Eksperimentāla iespēja" + +#~ msgid "Remove Bookmarks" +#~ msgstr "Izņemt grāmatzīmes" + +#, fuzzy +#~| msgid "&Annotations" +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "&Anotācijas" + +#, fuzzy +#~| msgid "Highlight" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "Izcelts" + +#, fuzzy +#~| msgid "Underline" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Underline" +#~ msgstr "Pasvītrots" + +#, fuzzy +#~| msgid "Squiggly" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Squiggle" +#~ msgstr "Vilnītis" + +#, fuzzy +#~| msgid "Strike out" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Strike Out" +#~ msgstr "Pārsvīrtots" + +#, fuzzy +#~| msgid "Insert" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "Ievietot" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "Iegulta piezīme" + +#, fuzzy +#~| msgctxt "@action:intoolbar Annotation tool" +#~| msgid "Popup Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "Izlecoša piezīme" + +#, fuzzy +#~| msgid "Green Freehand Line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Freehand Line" +#~ msgstr "Zaļa brīvas formas līija" + +#, fuzzy +#~| msgid "Straight Yellow Line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Straight line" +#~ msgstr "Taisna dzeltena līnija" + +#, fuzzy +#~| msgctxt "@action:intoolbar Annotation tool" +#~| msgid "Arrow" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Arrow" +#~ msgstr "Bulta" + +#, fuzzy +#~| msgid "Rectangle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Rectangle" +#~ msgstr "Taisnstūris" + +#, fuzzy +#~| msgid "Cyan Ellipse" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Ellipse" +#~ msgstr "Ciāna krāsas elipse" + +#, fuzzy +#~| msgid "Polygon" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Polygon" +#~ msgstr "Daudzstūris" + +#, fuzzy +#~| msgid "Highlighter" +#~ msgid "Highlight in Yellow" +#~ msgstr "Izgaismotājs" + +#, fuzzy +#~| msgid "Highlight" +#~ msgid "Highlight in Green" +#~ msgstr "Izcelts" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgid "Insert Inline Note" +#~ msgstr "Iegulta piezīme" + +#, fuzzy +#~| msgctxt "@action:intoolbar Annotation tool" +#~| msgid "Popup Note" +#~ msgid "Insert Popup Note" +#~ msgstr "Izlecoša piezīme" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "Iezīmēt tekstu" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "Iezīmēt tekstu" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "Iezīmēt tekstu" + +#, fuzzy +#~| msgid "Annotation" +#~| msgid_plural "%1 Annotations" +#~ msgid "Bookmark annotation" +#~ msgstr "%1 anotācija" + +#, fuzzy +#~| msgid "Change &colors" +#~ msgid "&Toggle Change Colors" +#~ msgstr "Mainīt &krāsas" + +#, fuzzy +#~| msgid "Enable transitions" +#~ msgctxt "@option:check Config dialog, presentation page, transitions" +#~ msgid "Enable transitions" +#~ msgstr "Ieslēgt pārejas" + +#, fuzzy +#~| msgid "Advance every:" +#~ msgctxt "@label:spinbox Config dialog, presentation page" +#~ msgid "Advance every:" +#~ msgstr "Iet uz nākamo ik pēc:" + +#, fuzzy +#~| msgid "Background color:" +#~ msgctxt "@label:listbox Config dialog, general page" +#~ msgid "Custom background color:" +#~ msgstr "Fona krāsa:" + +#~ msgid "Draw border around &Images" +#~ msgstr "Zīmēt rāmi apkārt &attēliem" + +#~ msgid "Speech" +#~ msgstr "Runa" + +#~ msgid "Engine" +#~ msgstr "Dzinējs" + +#~ msgid "Identity" +#~ msgstr "Identitāte" + +#~ msgid "Au&thor:" +#~ msgstr "Au&tors:" + +#~ msgid "View Options" +#~ msgstr "Skata opcijas" + +#~ msgctxt "@info:whatsthis" +#~ msgid "" +#~ "Defines the default zoom mode for files which were never opened before.\n" +#~ "For files which were opened before the previous zoom is applied." +#~ msgstr "" +#~ "Definē noklusēto mērogošanas režīmu failiem, kuri nekad iepriekš nav " +#~ "tikuši atvērti.\n" +#~ "Failiem, kuri atvērti jau iepriekš, tiek pielietots iepriekšējais " +#~ "mērogojums." + +#~ msgid "Navigation" +#~ msgstr "Navigācija" + +#~ msgid "Placement" +#~ msgstr "Novietojums" + +#~ msgid "Screen:" +#~ msgstr "Ekrāns:" + +#~ msgid "Drawing Tool Configuration" +#~ msgstr "Zīmēšanas rīka konfigurācija" + +#~ msgid "&Get Books From Internet..." +#~ msgstr "&Iegūt grāmatzīmes no Interneta..." + +#~ msgid "Reviews" +#~ msgstr "Recenzijas" + +#~ msgctxt "@item:inlistbox Color name" +#~ msgid "%1" +#~ msgstr "%1" + +#~ msgid "Hide Forms" +#~ msgstr "Slēpt formas" + +#~ msgid "&Review" +#~ msgstr "&Recenzija" + +#~ msgid "Annotations author" +#~ msgstr "Anotāciju autors" + +#~ msgid "Please insert your name or initials:" +#~ msgstr "Lūdzu ievadiet jūsu vārdu vai iniciāļus:" + +#~ msgid "Show &Navigation Panel" +#~ msgstr "Rādīt &navigācijas joslu" + +#~ msgid "Show Text" +#~ msgstr "Rādīt tekstu" + +#~ msgid "Small Icons" +#~ msgstr "Mazas ikonas" + +#~ msgid "Large Icons" +#~ msgstr "Lielas ikonas" + +#, fuzzy +#~| msgid "" +#~| "Click to use the current selection tool\n" +#~| "Click and hold to choose another selection tool" +#~ msgid "" +#~ "Click to use the current selection tool\n" +#~ "Click on the arrow to choose another selection tool" +#~ msgstr "" +#~ "Nospiediet, lai lietotu aktīvo iezīmēšanas rīku\n" +#~ "Nospiediet un paturiet, lai izvēlētos citu iezīmēšanas rīku" + +#~ msgid "Created: %1" +#~ msgstr "Izveidots: %1" + +#~ msgid "Style" +#~ msgstr "Stils" + +#~ msgid "&Size:" +#~ msgstr "Izmēr&s:" + +#~ msgid "Inner color:" +#~ msgstr "Iekšpuses krāsa:" + +#~ msgid "Name: %1" +#~ msgstr "Nosaukums: %1" + +#~ msgid "Size: %1" +#~ msgstr "Izmērs: %1" + +#~ msgid "&Browse Tool" +#~ msgstr "&Pārlūkošanas rīks" + +#~ msgid "&Zoom Tool" +#~ msgstr "&Mērogošanas rīks" + +#~ msgctxt "Zoom Tool" +#~ msgid "Zoom" +#~ msgstr "Mērogs" + +#~ msgctxt "Select Tool" +#~ msgid "Selection" +#~ msgstr "Iezīmēšana" + +#~ msgid "&Text Selection Tool" +#~ msgstr "&Teksta iezīmēšanas rīks" + +#~ msgid "T&able Selection Tool" +#~ msgstr "T&abulu iezīmēšanas rīks" + +#, fuzzy +#~| msgctxt "Symbol for caret annotations" +#~| msgid "None" +#~ msgid " None" +#~ msgstr "Nav" + +#~ msgid "" +#~ "The document requested to be launched in presentation mode.\n" +#~ "Do you want to allow it?" +#~ msgstr "" +#~ "Dokuments pieprasa lai to atver prezentācijas režīmā.\n" +#~ "Vai vēlaties atļaut to?" + +#~ msgid "Presentation Mode" +#~ msgstr "Prezentācijas režīms" + +#~ msgid "Allow the presentation mode" +#~ msgstr "Atļaut prezentācijas režīmu" + +#~ msgid "Do Not Allow" +#~ msgstr "Nepieļaut" + +#~ msgid "Do not allow the presentation mode" +#~ msgstr "Nepieļaut prezentācijas režīmu" + +#~ msgid "" +#~ "Your annotation changes will not be saved automatically. Use File -> Save " +#~ "As...\n" +#~ "or your changes will be lost once the document is closed" +#~ msgstr "" +#~ "Jūsu anotācijas izmaiņas netiks saglabātas automātiski. Izmantojiet Fails " +#~ "-> Saglabāt kā...\n" +#~ "vai arī izmaiņas tiks zaudētas, dokumentu aizverot" + +#~ msgid "" +#~ "Your annotations are saved internally by Okular.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" +#~ msgstr "" +#~ "Jūsu anotācijas Okular saglabā iekšēji.\n" +#~ "Anotēto dokumentu varat eksportēt, izmantojot Fails -> Eksportēt kā -> " +#~ "Dokumentu arhīvs" + +#~ msgid "Save &Copy As..." +#~ msgstr "Saglabāt &kopiju kā..." + +#, fuzzy +#~| msgid "" +#~| "Your annotations are saved internally by Okular.\n" +#~| "You can export the annotated document using File -> Export As -> " +#~| "Document Archive" +#~ msgid "" +#~ "Your annotations will not be exported.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" +#~ msgstr "" +#~ "Jūsu anotācijas Okular saglabā iekšēji.\n" +#~ "Anotēto dokumentu varat eksportēt, izmantojot Fails -> Eksportēt kā -> " +#~ "Dokumentu arhīvs" + +#~ msgid "" +#~ "End of document reached.\n" +#~ "Continue from the beginning?" +#~ msgstr "" +#~ "Sasniegtas dokumenta beigas.\n" +#~ "Turpināt no sākuma?" + +#~ msgid "" +#~ "Beginning of document reached.\n" +#~ "Continue from the bottom?" +#~ msgstr "" +#~ "Sasniegts dokumenta sākums.\n" +#~ "Turpināt no beigām?" + +#~ msgid "Current maintainer" +#~ msgstr "Pašreizējais uzturētājs" + +#~ msgid " sec." +#~ msgstr "sek." + +#~ msgid "Pencil color:" +#~ msgstr "Zīmuļa krāsa:" + +#~ msgid "Toggle Drawing Mode" +#~ msgstr "Pārslēgt zīmēšanas režīmu" + +#~ msgid "Starting Jovie Text-to-Speech service Failed: %1" +#~ msgstr "Neizdevās palaist Jovie teksts-uz-runu servisu: %1" + +#~ msgid "Search Columns" +#~ msgstr "Meklēt kolonās" + +#~ msgid "All Visible Columns" +#~ msgstr "Visās redzamājās kolonās" + +#~ msgid "No document opened." +#~ msgstr "Nav atvērts dokuments." + +#~ msgid "No matches found for '%1'." +#~ msgstr "'%1' nav atrasts." + +#~ msgid "Search in progress..." +#~ msgstr "Notiek meklēšana..." + +#~ msgid "Searching for %1" +#~ msgstr "Meklē '%1'" + +#~ msgid "Identity Settings" +#~ msgstr "Identitātes iestatījumi" + +#~ msgid "Highlight Properties" +#~ msgstr "Izcelšanas īpašības" + +#~ msgid "Ink Properties" +#~ msgstr "Tintes īpašības" + +#~ msgctxt "Annotation tool" +#~ msgid "Text Annotation" +#~ msgstr "Teksta anotēšana" + +#~ msgctxt "Annotation tool" +#~ msgid "Green Ink" +#~ msgstr "Zaļa tinte" + +#~ msgctxt "Annotation tool" +#~ msgid "Yellow Highlight" +#~ msgstr "Dzeltena izcelšana" + +#~ msgctxt "Annotation tool" +#~ msgid "Straight Yellow Line" +#~ msgstr "Taisna dzeltena līnija" + +#~ msgid "Black Underlining" +#~ msgstr "Melns pasvītrojums" + +#~ msgctxt "Annotation tool" +#~ msgid "Underline the text with a black line" +#~ msgstr "Pasvītrot tekstu ar melnu līniju" + +#~ msgctxt "Annotation tool" +#~ msgid "A cyan ellipse" +#~ msgstr "Ciāna krāsas elipse" + +#~ msgid "Ink" +#~ msgstr "Tinte" + +#~ msgid "You must set this name:" +#~ msgstr "Jums jāuzstāda šis vārds:" + +#~ msgid "Moves to the first page of the document" +#~ msgstr "Pārvieto uz pirmo dokumenta lapu" + +#~ msgid "Toggles between File Path and Title" +#~ msgstr "Pārslēdz starp faila ceļu un virsrakstu" + +#~ msgctxt "%1 is \"Title\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#~ msgctxt "%1 is \"File Path\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#~ msgctxt "@action:button" +#~ msgid "&Overwrite" +#~ msgstr "&Pārrakstīt" + +#~ msgid "Pages:" +#~ msgstr "Lapas:" diff --git a/po/lv/okular_comicbook.po b/po/lv/okular_comicbook.po new file mode 100644 index 0000000..c9ffd23 --- /dev/null +++ b/po/lv/okular_comicbook.po @@ -0,0 +1,61 @@ +# translation of okular_comicbook.po to Latvian +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Viesturs Zarins , 2008. +# SPDX-FileCopyrightText: 2023 Toms Trasuns +msgid "" +msgstr "" +"Project-Id-Version: okular_comicbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2023-12-28 22:47+0200\n" +"Last-Translator: Toms Trasuns \n" +"Language-Team: Latvian \n" +"Language: lv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 23.08.4\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " +"2);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Viesturs Zariņš, Toms Trasūns" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "viesturs.zarins@mi.lu.lv, toms.trasuns@posteo.net" + +#: document.cpp:97 +#, kde-format +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "" +"Neizdevās atvērt dokumentu, nav atrastas ne „unrar“, ne arī „unarchiver“ " +"komandas." + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "Jūsu sistēmā esošā „unrar“ versija nav derīga „comicbook“ atvēršanai." + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "Nezināms „ComicBook“ formāts." + +#~ msgid "ComicBook Backend" +#~ msgstr "ComicBook aizmugure" + +#~ msgid "A renderer for various comic book formats" +#~ msgstr "Dažādu komiksu grāmatu formātu renderētājs" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/lv/okular_djvu.po b/po/lv/okular_djvu.po new file mode 100644 index 0000000..9fad76a --- /dev/null +++ b/po/lv/okular_djvu.po @@ -0,0 +1,143 @@ +# translation of okular_djvu.po to Latvian +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Maris Nartiss , 2007. +# Viesturs Zarins , 2007, 2008. +# SPDX-FileCopyrightText: 2023 Toms Trasuns +msgid "" +msgstr "" +"Project-Id-Version: okular_djvu\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2023-12-29 15:33+0200\n" +"Last-Translator: Toms Trasuns \n" +"Language-Team: Latvian \n" +"Language: lv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 23.08.4\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " +"2);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Māris Nartišs, Viesturs Zariņš, Toms Trasūns" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" +"maris.kde@gmail.com, viesturs.zarins@mii.lu.lv, toms.trasuns@posteo.net" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "Redaktors" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "Publicētājs" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "Sējums" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "Dokumenta tips" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "Nezināms" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "Komponentu datnes" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "Nezināms" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "Viena lapa" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "Sapakots" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "Netiešs" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "Sapakots (vecs)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "Indeksēts (vecs)" + +#~ msgid "DjVu Backend" +#~ msgstr "DjVu aizmugure" + +#~ msgid "DjVu backend based on DjVuLibre." +#~ msgstr "DjVu aizmugure, balstīta uz DjVuLibre." + +#~ msgid "© 2006-2008 Pino Toscano" +#~ msgstr "© 2006-2007 Pino Toscano" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgctxt "Unknown title" +#~ msgid "Unknown" +#~ msgstr "Nezināms" + +#~ msgctxt "Unknown author" +#~ msgid "Unknown" +#~ msgstr "Nezināms" + +#~ msgctxt "Unknown editor" +#~ msgid "Unknown" +#~ msgstr "Nezināms" + +#~ msgctxt "Unknown publisher" +#~ msgid "Unknown" +#~ msgstr "Nezināms" + +#~ msgctxt "Unknown creation date" +#~ msgid "Unknown" +#~ msgstr "Nezināms" + +#~ msgctxt "Unknown volume information" +#~ msgid "Unknown" +#~ msgstr "Nezināms" + +#~ msgctxt "Unknown type of document" +#~ msgid "Unknown" +#~ msgstr "Nezināms" + +#~ msgid "A DjVu backend" +#~ msgstr "DjVu aizmugures programma" diff --git a/po/lv/okular_dvi.po b/po/lv/okular_dvi.po new file mode 100644 index 0000000..14c012b --- /dev/null +++ b/po/lv/okular_dvi.po @@ -0,0 +1,745 @@ +# translation of okular_dvi.po to Latvian +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# SPDX-FileCopyrightText: 2023, 2024, 2025 Toms Trasuns +# Viesturs Zarins , 2007, 2008. +# Viesturs Zariņš , 2009. +# Māris Nartišs , 2024. +msgid "" +msgstr "" +"Project-Id-Version: okular_dvi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-08-21 15:00+0300\n" +"Last-Translator: Toms Trasuns \n" +"Language-Team: Latvian \n" +"Language: lv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 25.08.0\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " +"2);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Viesturs Zariņš, Toms Trasūns" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "viesturs.zarins@mi.lu.lv, toms.trasuns@posteo.net" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

    Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

    Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

    " +msgstr "" +"

    Okular nevar jūsu sistēmā atrast dvipdfm programmu. Šī " +"programma ir nepieciešama eksporta funkcijai. Arī bez tās jūs varat " +"pārveidot DVI datni par PDF, izmantojot Okular drukāšanas funkciju, bet tādi " +"izveidotie dokumenti bieži vien labi drukājas, bet ir sliktā kvalitātē, ja " +"tos atver ar „Acrobat Reader“. Būtu vērtīgi atjaunot jūsu „TeX“ pakotni uz " +"jaunāku versiju, kas satur dvipdfm programmu.

    Padoms " +"apjukušajam sistēmas administratoram: Okular programmu meklēšanai izmanto " +"PATH vides mainīgo.

    " + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Ārējā programma „dvipdfm“, kura tika izmantota datnes eksportēšanai, " +"ziņoja par kļūdu. Precīzāku kļūdas ziņojumu var apskatīt dokumenta " +"informācijas dialogā, ko var atrast „Datne“ izvēlnē." + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" +"Šī DVI datne atsaucas uz ārēju grafikas datni, kura nav „PostScript“ " +"formātā, un to nevar apstrādāt ar dvips programmu, ko „Okular“ " +"izmanto lai drukātu un eksportētu uz „PostScript“. Tāpēc jums nepieciešamā " +"funkcionalitāte nav pieejama šajā „Okular“ versijā." + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

    Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

    Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

    " +msgstr "" +"

    „Okular“ neizdevās jūsu datorā atrast dvips programmu. Šī " +"programma ir nepieciešama lai strādātu eksporta funkcija.

    Padoms " +"apjukušajam sistēmas administratoram: „Okular“ programmu meklēšanai izmanto " +"PATH vides mainīgo.

    " + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Ārējā programma „dvips“, kas tika izmantota lai eksportētu datni, ziņoja " +"par kļūdu. Precīzāks kļūdas ziņojums atrodams dokumenta informācijas " +"dialogā, kuru var atrast zem „Datne“ izvēlnes." + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "DVI datne nesākas ar preambulu." + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" +"DVI datne satur ar šo programmu nesaderīgu DVI izvada versiju. Padoms: Ja " +"jūs lietojat tipogrāfijas sistēmu „Omega“, jums jāizmanto speciāla " +"programma, tāda kā „oxdvi“." + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "DVI datne ir stipri bojāta. „Okular“ nespēj atrast postambulu." + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "Postambula nesākas ar POST komandu." + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "Postambula satur komandu, kas nav FNTDEF." + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "Lapa %1 nesākas ar BOP komandu." + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

    The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

    What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

    PATH: %2

    " +msgstr "" +"

    Neizdevās palaist ārējo programmu pdf2ps. Tā " +"rezultātā nevar pārveidot PDF datni „%1“ uz „PostScript“. Rezultātā netiks " +"parādīti daži jūsu dokumenta grafiskie elementi.

    Iespējamie iemesli:" +" Iespējams, programma pdf2ps nav instalēta jūsu sistēmā " +"vai to nevar atrast norādītajā meklēšanas ceļā.

    Ko jūs varat darīt:" +" Programma pdf2ps parasti tiek iekļauta " +"„ghostscript“ „PostScript“ interpretatora pakotnē. Ja „ghostscript“ nav " +"instalēts, varat to instalēt. Ja esat pārliecināts ka „ghostscript“ ir " +"instalēts, mēģiniet palaist pdf2ps programmu no " +"komandrindas, lai pārbaudītu, ka tā tiešām strādā.

    PATH: %2" + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

    The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

    %2

    " +msgstr "" +"

    Nevar pārveidot PDF datni „%1“ uz „PostScript“. Rezultātā netiks " +"parādīti daži jūsu dokumenta grafiskie elementi.

    Iespējamie cēloņi:" +" Datne „%1“ varētu būt bojāta, vai varbūt vispār nav PDF datne. „Okular“ " +"izsauktās pdf2ps programmas izvads:

    %2

    " + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "Datne ir bojāta. %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "Ne visas „PostScript“ datnes ir iespējams iegult šajā dokumentā. %1" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "Visas ārējās „PostScript“ datnes ir iegultas dokumentā." + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "Norādītā datne „%1“ neeksistē." + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" +"Jūs lūdzāt „Okular“ atrast vietu DVI datnē, kas atbilst „%1“ rindiņai " +"„%2“ „TeX“ datnē. Diemžēl DVI datne acīmredzot nesatur nepieciešamo avota " +"datnes informāciju. " + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" +"„Okular“ nespēja atrast vietu DVi datnē, kas atbilst „%1“ rindiņa „%2“ „TeX“ " +"datnē." + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "DVI komanda lieto rakstzīmi no nezināma fonta." + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "DVI komanda atsaucās uz fontu #%1, kas iepriekš nav definēts." + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "Steks nebija tukšs, kad sastapta EOP komanda." + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "Steks bija tukšs, kad sastapta POP komanda." + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "DVI komanda atsaucās uz fontu, kas iepriekš nav definēts." + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "Sastapta nepareiza komanda." + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "Sastapts nezināms komandas kods „%1“." + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "Ieguldina %1" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
    " +msgstr "" +"Lapa %1: Neizdevās konvertēt PDF datni %2 uz „PostScript“." +"
    " + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
    " +msgstr "Lapa %1: Nevar atrast „PostScript“ datni %2.
    " + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "Neizdevās parsēt papīra izmēra datus „%1“." + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

    Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

    PATH: %1

    %2

    " +msgstr "" +"

    „Okular“ nespēja atrast visas nepieciešamās fonta datnes šīs DVI " +"datnes attēlošanai. Jūsu dokuments varētu būt nelasāms.

    CEĻŠ:" +" %1

    %2

    " + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

    There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
    Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

    PATH: %1

    %2

    " +msgstr "" +"

    Radās problēma darbinot kpsewhich. Tā rezultātā neizdevās " +"atrast dažas fontu datnes, tāpēc jūsu dokuments varētu būt nelasāms.
    Iespējamie iemesli: iespējams, programma kpsewich nav instalēta " +"jūsu ierīcē vai to nav iespējams atrast meklēšanas ceļā.

    CEĻŠ: %1

    %2

    " + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" +"Fontu ģenerēšana ar kpsewhich tika pārtraukta (izejas kods " +"„%1“, kļūda „%2“). Tā rezultātā dažas fontu datnes nebija atrodamas un jūsu " +"dokuments varētu būt nelasāms." + +#: fontpool.cpp:482 +#, kde-format +msgid "Currently generating %1 at %2 dpi…" +msgstr "Šobrīd ģenerē „%1“ ar „%2“ dpi…" + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "Ģenerators/Datums" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "Fonta datne nav atrasta" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "%1 × %2" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "%1 × %2 mm" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "%1 × %2 collas" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "portrets" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "ainava" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" +"Jūsu datorā instalētā „Ghostview“ versija nesatur nevienu „Okular“ pazīstamu " +"„Ghostview“ ierīces dzini. Tāpēc „Okluar“ „PostScript“ atbalsts ir izslēgts." + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "Jau ir 25 kļūdas. Turpmākie kļūdu ziņojumi netiks izdrukāti." + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" +"Kļūda DVI datnes „%1“ %2. lapā. Izsaukta krāsas izņemšanas komanda kad krāsu " +"steks ir tukšs." + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" +"Nederīgs parametrs „epsf“ speciālajai komandai.\n" +"Prasīts lai %2 pēc „%1“ sekotu „float“" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"Datne nav atrasta:\n" +" %1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" +"Kļūda DVI datnes „%1“ %2. lapā. Nevar interpretēt leņķi teksta pagriešanas " +"speciālajā komandā." + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "Speciālā komanda „%1“ nav ieviesta." + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" +"Fonta datni „%1“ izdevās atvērt no nolasīt, bet tās formāts nav atbalstīts." + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "Fonta datne „%1“ ir bojāta, vai arī to neizdevās atvērt vai nolasīt." + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" +"„FreeType“ ziņoja par kļūdu uzstādot rakstzīmes izmēru fonta datnei %1." + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "„FreeType“ neizdevās ielādēt glifu #%1 no fontu datnes „%2“." + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "„FreeType“ neizdevās atveidot glifu #%1 no fontu datnes „%2“." + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "Glifs #%1 ir tukšs." + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "Glifs #%1 no fontu datnes „%2“ ir tukšs." + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "„FreeType“ neizdevās ielādēt metriku glifam #%1 no fontu datnes %2." + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "Nevar atvērt fonta datni %1." + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "TexFont_PK::operator[]: Rakstzīme „%1“ fontam „%2“ nav definēta." + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "Negaidīts %1 PK datnē %2" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "Rakstzīme %1 ir par lielu datnē %2" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "Saglabāts nepareizs bitu skaits: rakstz. %1, fonts %2" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "Bojāta pk datne (%1), par daudz bitu" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "Fonta platuma/augstuma attiecība nav kvadrāts " + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "Nevar atrast fontu „%1“, datne „%2“." + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "Kontrolsummas neatbilstība fonta datnei „%1“" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "Nevar atpazīt formātu fonta datnei „%1“" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"Fatāla kļūda.\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" +"\n" +"\n" +"Tas droši vien nozīmē, ka vai nu jūs atradāt kļūdu programmā „Okular“,\n" +"vai ka DVI datne vai papildus datnes (piemēram, fontu datnes, \n" +"vai virtuālo fontu datnes) ir stipri bojātas.\n" +"Pēc šī paziņojuma „Okular“ izslēgsies. Ja uzskatāt,\n" +"ka atradāt kļūdu vai ka Okular šajā situācijā vajadzētu\n" +"uzvesties savādāk, ziņojiet par to." + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "VF makro sarakstā atrasts nepareizs komandas baits: %1" + +#~ msgid "" +#~ "

    The Ghostview program, which Okular uses internally to display the " +#~ "PostScript graphics that is included in this DVI file, is generally able " +#~ "to write its output in a variety of formats. The sub-programs that " +#~ "Ghostview uses for these tasks are called 'device drivers'; there is one " +#~ "device driver for each format that Ghostview is able to write. Different " +#~ "versions of Ghostview often have different sets of device drivers " +#~ "available. It seems that the version of Ghostview that is installed on " +#~ "this computer does not contain any of the device drivers " +#~ "that are known to Okular.

    It seems unlikely that a regular " +#~ "installation of Ghostview would not contain these drivers. This error may " +#~ "therefore point to a serious misconfiguration of the Ghostview " +#~ "installation on your computer.

    If you want to fix the problems with " +#~ "Ghostview, you can use the command gs --help to display " +#~ "the list of device drivers contained in Ghostview. Among others, Okular " +#~ "can use the 'png256', 'jpeg' and 'pnm' drivers. Note that Okular needs to " +#~ "be restarted to re-enable PostScript support.

    " +#~ msgstr "" +#~ "

    Ghostview programma, ko Okular iekšēji izmanto PostScript grafikas " +#~ "attēlošanai - tāda ir iekļauta šajā DVI failā, parasti spēj izvadīt " +#~ "rezultātu dažādos formātos. Ghostview apakšprogrammas, kas veic izvadi, " +#~ "sauc par 'ierīču draiveriem'; katram Ghostview izvada formātam ir savs " +#~ "'ierīces draiveris'. Dažādas Ghostview versijas bieži vien satur dažādus " +#~ "'ierīču draiveru' komplektus. Izskatās ka šajā datorā instalētais " +#~ "Ghostview nesatur nevienu no 'ierīču draiveriem', ko " +#~ "Okular pazīst.

    Maz ticams ka normālā Ghostview instalācijā nebūtu " +#~ "šo draiveru. Tāpēc šī kļūda varētu nozīmēt nopietnu konfigurācijas " +#~ "problēmu Ghostview instalācijā uz jūsu datora.

    Ja vēlaties izlabot " +#~ "Ghostview problēmas, jūs varat izmantot komandu gs --help, kas parāda Ghostview pieejamo ierīču draiveru sarakstu. No tiem " +#~ "Okular spēj izmantot 'png256', 'jpeg' un 'pnm' draiverus. Ņemiet vērā ka " +#~ "nepieciešams Okular palaist no jauna, lai ieslēgtu PostScript atbalstu." + +#~ msgid "DVI Backend" +#~ msgstr "DVI aizmugure" + +#~ msgid "A DVI file renderer" +#~ msgstr "DVI failu attēlotājs" + +#~ msgid "© 2006 Luigi Toscano" +#~ msgstr "© 2006 Luigi Toscano" + +#~ msgid "" +#~ "

    Okular relies on the kpsewhich program to locate font files on " +#~ "your hard disk and to generate PK fonts, if necessary.

    " +#~ msgstr "" +#~ "

    Okular izmanto kpsewhich programmu, lai noteiktu fontu " +#~ "atrašanās vietu jūsu sistēmā un, ja nepieciešams, ģenerētu PK fontus.

    " + +#~ msgid "Okular is currently generating bitmap fonts..." +#~ msgstr "Okular šobrīd ģenerē bitkaršu fontus..." + +#~ msgid "Aborts the font generation. Do not do this." +#~ msgstr "Pārtrauc fontu ģenerēšanu. Nedariet tā." + +#~ msgid "" +#~ "Okular is currently generating bitmap fonts which are needed to display " +#~ "your document. For this, Okular uses a number of external programs, such " +#~ "as MetaFont. You can find the output of these programs later in the " +#~ "document info dialog." +#~ msgstr "" +#~ "Okular šobrīd ģenerē bitkaršu fontus. Tie ir nepieciešamu lai parādītu " +#~ "jūsu dokumentu. Šim nolūkam Okular izmanto dažas ārējas programmas, tādas " +#~ "kā MetaFont. Šo programmu izvadu jūs varēsiet vēlāk apskatīt dokumenta " +#~ "informācijas dialogā." + +#~ msgid "Okular is generating fonts. Please wait." +#~ msgstr "Okular ģenerē fontus. Lūdzu uzgaidiet." + +#~ msgid "Font Generation Progress Dialog" +#~ msgstr "Fonu ģenerēšanas progrese dialogs" + +#~ msgid "Abort" +#~ msgstr "Pārtraukt" + +#~ msgid "What is happening here?" +#~ msgstr "Kas te notiek?" + +#~ msgid "%v of %m" +#~ msgstr "%v no %m" + +#~ msgid "Please be patient" +#~ msgstr "Lūdzu esiet pacietīgs" + +#~ msgid "*.pdf|Portable Document Format (*.pdf)" +#~ msgstr "*.pdf|Portable Document Format (*.pdf)" + +#~ msgid "Export File As" +#~ msgstr "Eksportēt failu kā" + +#~ msgid "" +#~ "The file %1\n" +#~ "exists. Do you want to overwrite it?" +#~ msgstr "" +#~ "Fails %1\n" +#~ "jau eksistē. Vai vēlaties to pārrakstīt?" + +#~ msgid "Overwrite File" +#~ msgstr "Pārrakstīt failu" + +#~ msgid "Overwrite" +#~ msgstr "Pārrakstīt" + +#~ msgid "Using dvipdfm to export the file to PDF" +#~ msgstr "Izmanto dvipdfm faila eksportēšanai uz PDF" + +#~ msgid "" +#~ "Okular is currently using the external program 'dvipdfm' to convert your " +#~ "DVI-file to PDF. Sometimes that can take a while because dvipdfm needs to " +#~ "generate its own bitmap fonts Please be patient." +#~ msgstr "" +#~ "Okular šobrīt izmanto ārēju programmu 'dvipdfm' lai pārveidotu jūsu DVI " +#~ "failu uz PDF. Dažreiz tas var aizņemt ilgāku laiku, jo dvipdfm " +#~ "nepieciešams ģenerēt bitkaršu fontus. Esiet pacietīgs." + +#~ msgid "Waiting for dvipdfm to finish..." +#~ msgstr "Gaida kamēr dvipdfm pabeigs..." + +#~ msgid "*.ps|PostScript (*.ps)" +#~ msgstr "*.ps|PostScript (*.ps)" + +#~ msgid "Using dvips to export the file to PostScript" +#~ msgstr "Darbina dvips lai eksportētu failu uz PostScript" + +#~ msgid "" +#~ "Okular is currently using the external program 'dvips' to convert your " +#~ "DVI-file to PostScript. Sometimes that can take a while because dvips " +#~ "needs to generate its own bitmap fonts Please be patient." +#~ msgstr "" +#~ "Okular šobrīd darbina ārēju programmu 'dvips' lai pārveidotu jūsu DVI " +#~ "failu uz PostScript. Dažreiz tas var aizņemt kādu brīdi ko dvips " +#~ "nepieciešams ģenerēt iekšējos bitkaršu fontus. Lūdzu pacietību." + +#~ msgid "Waiting for dvips to finish..." +#~ msgstr "Gaida kamēr dvips pabeigs..." + +#~ msgid "Functionality Unavailable" +#~ msgstr "Funkcionalitāte nav pieejama" + +#~ msgid "" +#~ "File corruption Okular could not interpret your DVI " +#~ "file. This is most commonly caused by a corrupted file." +#~ msgstr "" +#~ "Fails bojāts Okular neizdevās interpretēt jūsu DVI " +#~ "failu. To parasti izraisa bojāts fails." + +#~ msgid "DVI File Error" +#~ msgstr "DVI faila kļūda" + +#~ msgid "Not All Font Files Found" +#~ msgstr "Ne visi fontu faili atrasti" + +#~ msgid "Locating fonts..." +#~ msgstr "Atrod fontus..." + +#~ msgid "Problem locating fonts" +#~ msgstr "Problēma fontu atrašanā" + +#~ msgid "Font generation aborted" +#~ msgstr "Fontu ģenerēšana pārtraukta" + +#~ msgid "Export: %1 to PDF" +#~ msgstr "Eksportēt: %1 uz PDF" + +#~ msgid "Export: %1 to PostScript" +#~ msgstr "Eksportēt: %1 uz PostScript" + +#~ msgid "The fontlist is currently empty." +#~ msgstr "Fonu saraksts šobrīd ir tukšs." + +#~ msgid "TeX Name" +#~ msgstr "TeX nosaukums" + +#~ msgid "Family" +#~ msgstr "Ģimene" + +#~ msgid "Zoom" +#~ msgstr "Mērogs" + +#~ msgid "Type" +#~ msgstr "Tips" + +#~ msgid "Encoding" +#~ msgstr "Encoding" + +#~ msgid "Comment" +#~ msgstr "Komentārs" + +#~ msgid "TeX virtual" +#~ msgstr "TeX virtual" + +#~ msgid "TeX Font Metric" +#~ msgstr "TeX Font Metric" + +#~ msgid "FreeType" +#~ msgstr "FreeType" diff --git a/po/lv/okular_epub.po b/po/lv/okular_epub.po new file mode 100644 index 0000000..2a6cfae --- /dev/null +++ b/po/lv/okular_epub.po @@ -0,0 +1,58 @@ +# translation of okular_epub.po to Latvian +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Viesturs Zarins , 2008. +# SPDX-FileCopyrightText: 2023 Toms Trasuns +msgid "" +msgstr "" +"Project-Id-Version: okular_epub\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2023-12-29 16:10+0200\n" +"Last-Translator: Toms Trasuns \n" +"Language-Team: Latvian \n" +"Language: lv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 23.08.4\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " +"2);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Viesturs Zariņš, Toms Trasūns" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "viesturs.zarins@mi.lu.lv, toms.trasuns@posteo.net" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "Kļūda atverot „EPub“ dokumentu." + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "EPub" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "„EPub“ aizmugursistēmas konfigurācija" + +#~ msgid "EPub Backend" +#~ msgstr "EPub aizmugure" + +#~ msgid "An EPub backend" +#~ msgstr "EPub aizmugure" + +#~ msgid "© 2008 Ely Levy" +#~ msgstr "© 2008 Ely Levy" + +#~ msgid "Ely Levy" +#~ msgstr "Ely Levy" diff --git a/po/lv/okular_fax.po b/po/lv/okular_fax.po new file mode 100644 index 0000000..9a10b99 --- /dev/null +++ b/po/lv/okular_fax.po @@ -0,0 +1,46 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Viesturs Zarins , 2008. +msgid "" +msgstr "" +"Project-Id-Version: okular_fax\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-11-21 19:19+0200\n" +"Last-Translator: Viesturs Zarins \n" +"Language-Team: Latvian \n" +"Language: lv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.2\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " +"2);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Viesturs Zariņš" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "viesturs.zarins@mii.lu.lv" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "Nevar ielādēt dokumentu" + +#~ msgid "Fax Backend" +#~ msgstr "Faksa aizmugure" + +#~ msgid "A G3/G4 fax document backend" +#~ msgstr "A G3/G4 faksa dokumentu aizmugure" + +#~ msgid "© 2008 Tobias Koenig" +#~ msgstr "© 2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/lv/okular_fictionbook.po b/po/lv/okular_fictionbook.po new file mode 100644 index 0000000..ad90bde --- /dev/null +++ b/po/lv/okular_fictionbook.po @@ -0,0 +1,84 @@ +# translation of okular_fictionbook.po to Latvian +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Maris Nartiss , 2007. +# Viesturs Zarins , 2008. +# SPDX-FileCopyrightText: 2023 Toms Trasuns +msgid "" +msgstr "" +"Project-Id-Version: okular_fictionbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2023-12-29 16:12+0200\n" +"Last-Translator: Toms Trasuns \n" +"Language-Team: Latvian \n" +"Language: lv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 23.08.4\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " +"2);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Māris Nartišs, Toms Trasūns" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "maris.kde@gmail.com, toms.trasuns@posteo.net" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "Dokuments nav derīgs „FictionBook“" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "Neizdevās atvērt dokumentu: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "Dokuments nav derīgs ZIP arhīvs" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "Nederīga dokumenta struktūra (trūkst galvenās mapes)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "Dokumentā netika atrasts saturs" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "Nederīgs XML dokuments: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "FictionBook" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "„FictionBook“ aizmugursistēmas konfigurācija" + +#~ msgid "Fiction Book Backend" +#~ msgstr "Fiction Book aizmugure" + +#~ msgid "A renderer for FictionBook eBooks" +#~ msgstr "FictionBook e-grāmatu attēlotājs" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/lv/okular_ghostview.po b/po/lv/okular_ghostview.po new file mode 100644 index 0000000..ad453ab --- /dev/null +++ b/po/lv/okular_ghostview.po @@ -0,0 +1,96 @@ +# translation of okular_ghostview.po to Lavtian +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Maris Nartiss , 2007. +# Viesturs Zarins , 2008. +# Viesturs Zariņš , 2009. +# SPDX-FileCopyrightText: 2023 Toms Trasuns +msgid "" +msgstr "" +"Project-Id-Version: okular_ghostview\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2023-12-29 16:13+0200\n" +"Last-Translator: Toms Trasuns \n" +"Language-Team: Latvian \n" +"Language: lv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 23.08.4\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " +"2);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Māris Nartišs, Toms Trasūns" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "maris.kde@gmail.com, toms.trasuns@posteo.net" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "Lietot platformas fontus" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"Nosaka vai Ghostscript atļaut izmantot platformas fontus, ja nē, tiks " +"izmantoti tikai dokumentā iegultie fonti." + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "Pamata iestatījumi" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "&Lietot platformas fontus" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Ghostscript aizmugursistēmas konfigurēšana" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "Dokumenta versija" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "Valodas līmenis" + +#~ msgid "PS Backend" +#~ msgstr "PS aizmugure" + +#~ msgid "A PostScript file renderer." +#~ msgstr "PostScript failu attēlotājs." + +#~ msgid "© 2007-2008 Albert Astals Cid" +#~ msgstr "© 2007-2008 Albert Astals Cid" + +#~ msgid "Based on the Spectre library." +#~ msgstr "Balstīts uz Spectre bibliotēku." + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" diff --git a/po/lv/okular_kimgio.po b/po/lv/okular_kimgio.po new file mode 100644 index 0000000..1e327d3 --- /dev/null +++ b/po/lv/okular_kimgio.po @@ -0,0 +1,73 @@ +# translation of okular_kimgio.po to Latvian +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Maris Nartiss , 2007. +# Viesturs Zarins , 2010. +# SPDX-FileCopyrightText: 2023 Toms Trasuns +msgid "" +msgstr "" +"Project-Id-Version: okular_kimgio\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2023-12-29 16:14+0200\n" +"Last-Translator: Toms Trasuns \n" +"Language-Team: Latvian \n" +"Language: lv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 23.08.4\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " +"2);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Māris Nartišs, Toms Trasūns" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "maris.kde@gmail.com, toms.trasuns@posteo.net" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "Nav iespējams ielādēt dokumentu: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" +"Iespējams, dokuments ir nepareizi formatēts. Programma sniedz labāko " +"iespējamo versiju par dokumenta oriģinālo izskatu." + +#~ msgid "Image Backend" +#~ msgstr "Attēlu aizmugure" + +#~ msgid "A simple image backend" +#~ msgstr "Vienkārša attēlu aizmugure" + +#~ msgid "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" +#~ msgstr "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" + +#~ msgid "Main Toolbar" +#~ msgstr "Galvenā rīkjosla" diff --git a/po/lv/okular_markdown.po b/po/lv/okular_markdown.po new file mode 100644 index 0000000..d98ec84 --- /dev/null +++ b/po/lv/okular_markdown.po @@ -0,0 +1,54 @@ +# Copyright (C) 2023 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# SPDX-FileCopyrightText: 2023 Toms Trasuns +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2023-12-29 16:16+0200\n" +"Last-Translator: Toms Trasuns \n" +"Language-Team: Latvian \n" +"Language: lv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " +"2);\n" +"X-Generator: Lokalize 23.08.4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Toms Trasūns" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "toms.trasuns@posteo.net" + +#: converter.cpp:59 converter.cpp:93 +#, kde-format +msgid "Failed to open the document" +msgstr "Neizdevās atvērt dokumentu" + +#: converter.cpp:106 converter.cpp:124 +#, kde-format +msgid "Failed to compile the Markdown document." +msgstr "Neizdevās kompilēt „Markdown“ dokumentu." + +#: generator_md.cpp:58 +#, kde-format +msgid "Enable SmartyPants formatting" +msgstr "Ieslēgt „SmartyPants“ formatēšanu" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown" +msgstr "Markdown" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown Backend Configuration" +msgstr "„Markdown“ aizmugursistēmas konfigurācija" diff --git a/po/lv/okular_mobi.po b/po/lv/okular_mobi.po new file mode 100644 index 0000000..5bbc719 --- /dev/null +++ b/po/lv/okular_mobi.po @@ -0,0 +1,65 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Viesturs Zariņš , 2009. +# SPDX-FileCopyrightText: 2023 Toms Trasuns +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2023-12-29 16:17+0200\n" +"Last-Translator: Toms Trasuns \n" +"Language-Team: Latvian \n" +"Language: lv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 23.08.4\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " +"2);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Viesturs Zariņš, Toms Trasūns" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "viesturs.zarins@mii.lu.lv, toms.trasuns@posteo.net" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Kļūda atverot „Mobipocket“ dokumentu." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "" +"Šī grāmata ir aizsargāta ar DRM un to var atvērt tikai ar tam paredzētu " +"ierīci." + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "Mobipocket" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "„Mobipocket“ aizmugursistēmas konfigurācija" + +#~ msgid "Mobipocket Backend" +#~ msgstr "Mobipocket aizmugure" + +#~ msgid "A mobipocket backend" +#~ msgstr "Mobipocket aizmugure" + +#~ msgid "© 2008-2009 Jakub Stachowski" +#~ msgstr "© 2008-2009 Jakub Stachowski" + +#~ msgid "Jakub Stachowski" +#~ msgstr "Jakub Stachowski" diff --git a/po/lv/okular_poppler.po b/po/lv/okular_poppler.po new file mode 100644 index 0000000..b89de72 --- /dev/null +++ b/po/lv/okular_poppler.po @@ -0,0 +1,431 @@ +# translation of okular_poppler.po to Latvian +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Maris Nartiss , 2007, 2020. +# Viesturs Zarins , 2008, 2010. +# Einars Sprugis , 2012. +# SPDX-FileCopyrightText: 2023, 2025 Toms Trasuns +msgid "" +msgstr "" +"Project-Id-Version: okular_poppler\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-08-21 15:00+0300\n" +"Last-Translator: Toms Trasuns \n" +"Language-Team: Latvian \n" +"Language: lv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 25.08.0\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " +"2);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Māris Nartišs, Toms Trasūns" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "maris.kde@gmail.com, toms.trasuns@posteno.net" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "Ieslēgt virsiespieduma priekšskatījumu:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "Nekad" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "Vienmēr" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "Automātiski" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "Uzlabot tievas līnijas:" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "Nē" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "Vienlaidus" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "Forma" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "Drukājamo lapu mērogošanas metode:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "Ietilpināt drukas apgabalā" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "Ietilpināt visā lapā" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "Nav; drukāt oriģinālo izmēru" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" +"Šīs iespējas ieslēgšana ļaus „Okular“ sazināties ar trešo pušu OCSP " +"serveriem un pārbaudīt, vai digitālajiem parakstiem izmantotie sertifikāti " +"nav atsaukti kopš to izveidošanas." + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" +"Pārbaudīt digitālo parakstu sertifikātu atsaukšanas statusu, izmantojot " +"trešo pušu serverus." + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "Paraksta aizmugursistēma:" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" +"Šos parakstus var validēt tikai moderni „Okular“ lietotāji ar ieslēgtu " +"„GnuPG“ aizmugursistēmu" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "Ļauj parakstiem izmantot PGP atslēgas („Okular“ paplašinājums)" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "Sertifikātu datubāze" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "Noklusējuma:" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "Pielāgota:" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "Pieejamie sertifikāti" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "&Ielādēt parakstus" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "PDF iespējas" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "Drukāt anotācijas" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "Drukājamā dokumentā iekļaut anotācijas" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"Drukājamā dokumentā iekļauj anotācijas. Varat šo atslēgt, ja vēlaties drukāt " +"oriģinālo, neanotēto dokumentu." + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "Piespiedu pārvēršana par rastru" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "Pirms drukāšanas pārvērst par rastru piespiedu kārtā" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"Piespiedu kārtā pirms drukāšanas katru lapu pārvērš par attēlu. Šī opcija " +"parasti dod sliktāku rezultātu, bet var palīdzēt gadījumos, kad izdruka " +"izskatās nepareizi." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "Drukājamo lapu mērogošanas metode" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "Mērogošanas režīms:" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF v. %1.%2" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "Formāts" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "Šifrēts" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "Nešifrēts" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "Drošība" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "Jā" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "Optimizēts" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Parakstīja: %1\n" +"\n" +"Datums: %2" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "Izmanto „Poppler“ %1" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" +"Izmanto „Poppler“ %1\n" +"\n" +"Būvēts ar „Poppler“ %2" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "PDF aizmugursistēmas pielāgošana" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "Neizdevās rakstīt pagaidu datni" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "Neizdevās pārdēvēt pagaidu datni" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" +"Dokumentā ir atrastas kļūdas, „Okular“ var rasties grūtības dokumentu " +"pareizi atveidot" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" +"Šie paraksti darbojas tikai starp modernam „Okular“ versijām ar ieslēgtu " +"„GnuPG“ balstītu aizmugursistēmu" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "Ieslēgt PGP parakstus" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "Izdots" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "E-pasts" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "Derīgs līdz" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" +"Jūs izmantojat „Poppler“ bibliotēka, kas ir būvēta bez NSS atbalsta.\n" +"Šī iemesla dēļ digitālo parakstu pievienošana nav pieejama" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "mūžīgi" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "Nepieciešams pārstartēt" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "„Okular“ ir jāpārstartē pēc NSS direktorija iestatījumu izmaiņām" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter Password" +msgstr "Ievadiet paroli" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "Ievadiet paroli, lai atvērtu %1:" + +#~ msgid "Not Available" +#~ msgstr "Nav pieejams" + +#~ msgid "PDF Backend" +#~ msgstr "PDF aizmugure" + +#~ msgid "A PDF file renderer" +#~ msgstr "PDF failu attēlotājs" + +#~ msgid "© 2005-2008 Albert Astals Cid" +#~ msgstr "© 2005-2008 Albert Astals Cid" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Saving files with /Encrypt is not supported." +#~ msgstr "Failu saglabāšana ar /Encrypt nav atbalstīta." + +#~ msgid "Unknown" +#~ msgstr "Nezināms" + +#~ msgid "Unknown Date" +#~ msgstr "Nezināms datums" + +#~ msgid "Unknown Encryption" +#~ msgstr "Nezināma šifrēšana" + +#~ msgid "Unknown Optimization" +#~ msgstr "Nezināma optimizācija" + +#~ msgid "Please enter the password to read the document:" +#~ msgstr "Lai lasītu dokumentu, ievadiet paroli:" + +#~ msgid "Incorrect password. Try again:" +#~ msgstr "Nepareiza parole. Mēģiniet vēlreiz:" diff --git a/po/lv/okular_tiff.po b/po/lv/okular_tiff.po new file mode 100644 index 0000000..af8037b --- /dev/null +++ b/po/lv/okular_tiff.po @@ -0,0 +1,29 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Māris Nartišs , 2024. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-01-06 15:53+0200\n" +"Last-Translator: Māris Nartišs \n" +"Language-Team: \n" +"Language: lv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " +"2);\n" +"X-Generator: Lokalize 22.12.3\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Toms Trasūns" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "toms.trasuns@posteo.net" diff --git a/po/lv/okular_txt.po b/po/lv/okular_txt.po new file mode 100644 index 0000000..1b38b2e --- /dev/null +++ b/po/lv/okular_txt.po @@ -0,0 +1,39 @@ +# Copyright (C) 2023 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# SPDX-FileCopyrightText: 2023 Toms Trasuns +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2023-12-29 16:56+0200\n" +"Last-Translator: Toms Trasuns \n" +"Language-Team: Latvian \n" +"Language: lv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " +"2);\n" +"X-Generator: Lokalize 23.08.4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Toms Trasūns" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "toms.trasuns@posteo.net" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "Txt" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "Txt aizmugursistēmas konfigurācija" diff --git a/po/lv/okular_xps.po b/po/lv/okular_xps.po new file mode 100644 index 0000000..ec6f911 --- /dev/null +++ b/po/lv/okular_xps.po @@ -0,0 +1,60 @@ +# translation of okular_xps.po to Latvian +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Maris Nartiss , 2007. +# Viesturs Zarins , 2008. +msgid "" +msgstr "" +"Project-Id-Version: okular_xps\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-11-21 19:24+0200\n" +"Last-Translator: Viesturs Zarins \n" +"Language-Team: Latvian \n" +"Language: lv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.2\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " +"2);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Māris Nartišs" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "maris.kde@gmail.com" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "Revīzija" + +#~ msgid "XPS Backend" +#~ msgstr "XPS aizmugure" + +#~ msgid "An XPS backend" +#~ msgstr "XPS aizmugures programma" + +#~ msgid "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" +#~ msgstr "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" + +#~ msgid "Brad Hards" +#~ msgstr "Brad Hards" + +#~ msgid "Jiri Klement" +#~ msgstr "Jiri Klement" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" diff --git a/po/lv/org.kde.active.documentviewer.po b/po/lv/org.kde.active.documentviewer.po new file mode 100644 index 0000000..e79c7d1 --- /dev/null +++ b/po/lv/org.kde.active.documentviewer.po @@ -0,0 +1,209 @@ +# Copyright (C) 2023 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# SPDX-FileCopyrightText: 2023, 2025 Toms Trasūns +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-08-21 15:02+0300\n" +"Last-Translator: Toms Trasuns \n" +"Language-Team: Latvian \n" +"Language: lv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " +"2);\n" +"X-Generator: Lokalize 25.08.0\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "Grāmatzīmes" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "Sertifikāta skatītājs" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "Izdevējs" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "Vispārīgs nosaukums:" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "E-pasts:" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "Organizācija:" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "Izdots:" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "Derīgums" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "Izdošanas datums:" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "Derīgs līdz:" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "Digitālnospiedumi" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "SHA-1 digitālnospiedums:" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "SHA-256 digitālnospiedums:" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +msgid "Export…" +msgstr "Eksportēt…" + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "Aizvērt" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "Sertifikāta datne (*.cer)" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "Kļūda" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "Neizdevās eksportēt sertifikātu." + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "Okular" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "Atvērt…" + +#: ui/Main.qml:49 +msgid "About" +msgstr "Par" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "Nepieciešama parole" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "Noņemt grāmatzīmi" + +#: ui/MainView.qml:29 +msgid "Bookmark this page" +msgstr "Saglabāt lapu grāmatzīmēs" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "Sīktēli" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "Satura rādītājs" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "Paraksti" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "Paraksta īpašības" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "Derīguma statuss" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "Paraksta derīgums:" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "Dokumenta modifikācijas:" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "Papildu informācija" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "Parakstītājs:" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "Parakstīšanas laiks:" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "Iemesls:" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "Atrašanās vieta:" + +#: ui/SignaturePropertiesPage.qml:96 +msgid "Document Version" +msgstr "Dokumenta versija:" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Dokumenta revīzija %1. no %2" + +#: ui/SignaturePropertiesPage.qml:108 +msgid "Save Signed Version…" +msgstr "Saglabāt parakstīto versiju…" + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +msgid "View Certificate…" +msgstr "Apskatīt sertifikātu…" + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "Neizdevās saglabāt parakstu." + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "Nav pieejams" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "Rezultāti nav atrasti." + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "Nav atvērtu dokumentu" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "Nesenie dokumenti" + +#: ui/WelcomeView.qml:108 +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "Mani dokumenti" + +#~ msgid "Open..." +#~ msgstr "Atvērt..." diff --git a/po/mk/okular.po b/po/mk/okular.po new file mode 100644 index 0000000..33c688e --- /dev/null +++ b/po/mk/okular.po @@ -0,0 +1,6735 @@ +# Copyright (C) 2006, 2007 Free Software Foundation, Inc. +# Zoran Dimovski , 2005. +# Bozidar Proevski , 2005, 2006, 2007. +# translation of kpdf.po to Macedonian +msgid "" +msgstr "" +"Project-Id-Version: kpdf\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2007-02-26 22:17+0100\n" +"Last-Translator: Bozidar Proevski \n" +"Language-Team: Macedonian \n" +"Language: mk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: Plural-Forms: nplurals=3; plural=n%10==1 ? 0 : n%10==2 ? 1 : " +"2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Зоран Димовски,Божидар Проевски" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "decata@mt.net.mk,bobibobi@freemail.com.mk" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "" + +#: aboutdata.h:31 +#, fuzzy, kde-format +#| msgid "Current mantainer" +msgid "Former maintainer" +msgstr "Тековен одржувач" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "" + +#: aboutdata.h:36 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgid "Annotations artwork" +msgstr "Својства за %1" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "" + +#: aboutdata.h:37 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "Table selection tool" +msgstr "Алатка за &избирање" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "" + +#: aboutdata.h:38 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgid "Annotation improvements" +msgstr "Својства за %1" + +#: core/action.cpp:137 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go to page %1" +msgstr "Одење на страница" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "" + +#: core/action.cpp:197 +#, kde-format +msgid "Execute '%1'…" +msgstr "" + +#: core/action.cpp:294 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgid "First Page" +msgstr "Сразмерно на страница" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, fuzzy, kde-format +msgid "Next Page" +msgstr "Сразмерно на страница" + +#: core/action.cpp:300 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgid "Last Page" +msgstr "Сразмерно на страница" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "" + +#: core/action.cpp:304 +#, fuzzy, kde-format +#| msgid "Format" +msgid "Forward" +msgstr "Формат" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "" + +#: core/action.cpp:308 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Start Presentation" +msgstr "Презентација" + +#: core/action.cpp:310 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "End Presentation" +msgstr "Презентација" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go To Page…" +msgstr "Одење на страница" + +#: core/action.cpp:365 +#, kde-format +msgid "Play sound…" +msgstr "" + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "" + +#: core/action.cpp:483 +#, fuzzy, kde-format +msgid "Play movie…" +msgstr "Страници" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "" + +#: core/action.cpp:558 +#, fuzzy, kde-format +msgid "Pause movie" +msgstr "Страници" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
    %1 (%2).

    Please select which one to use:
    " +msgstr "" + +#: core/document.cpp:200 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "Одење на страница" + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "" + +#: core/document.cpp:246 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "" + +#: core/document.cpp:248 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "" + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "Презентација" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, fuzzy, kde-format +#| msgid "" +#| "The pdf file is trying to execute an external application and for your " +#| "safety kpdf does not allow that." +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"pdf-датотеката се обидува да изврши надворешна апликација и поради Ваша " +"безбедност kpdf не го дозволува тоа." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "Нема најдена апликација за отворање на датотека од mime-типот %1." + +#: core/document.cpp:4801 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not open a temporary file" +msgstr "Не можев да отворам %1" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "" + +#: core/document.cpp:4813 +#, fuzzy, kde-format +#| msgid "Unable to find kpdf part." +msgid "Unable to find file to print" +msgstr "Не можам да го пронајдам делот kpdf." + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "" + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Наслов" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Тема" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "" + +#: core/document.cpp:6011 +#, fuzzy, kde-format +#| msgid "Author" +msgid "Author" +msgstr "Автор" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Креатор" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Производител" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "" + +#: core/document.cpp:6023 +#, fuzzy, kde-format +#| msgid "Pages:" +msgid "Pages" +msgstr "Страници:" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Креирано" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Изменето" + +#: core/document.cpp:6032 +#, fuzzy, kde-format +#| msgid "Type" +msgid "MIME Type" +msgstr "Тип" + +#: core/document.cpp:6035 +#, fuzzy, kde-format +#| msgid "Creator" +msgid "Category" +msgstr "Креатор" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Клучни зборови" + +#: core/document.cpp:6041 +#, fuzzy, kde-format +msgid "File Path" +msgstr "Наслов" + +#: core/document.cpp:6044 +#, fuzzy, kde-format +#| msgid "Pages" +msgid "File Size" +msgstr "Страници" + +#: core/document.cpp:6047 +#, fuzzy, kde-format +#| msgid "Pages" +msgid "Page Size" +msgstr "Страници" + +#: core/documentcommands.cpp:62 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "Презентација" + +#: core/documentcommands.cpp:108 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "Презентација" + +#: core/documentcommands.cpp:155 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "Својства за %1" + +#: core/documentcommands.cpp:190 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "Презентација" + +#: core/documentcommands.cpp:263 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "Презентација" + +#: core/documentcommands.cpp:333 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "Алатка за &избирање" + +#: core/documentcommands.cpp:398 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "Својства за %1" + +#: core/documentcommands.cpp:447 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "Својства за %1" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "" + +#: core/generator.cpp:790 +#, fuzzy, kde-format +#| msgid "Fit to &Text" +msgid "Plain &Text…" +msgstr "Сразмерно со &текстот" + +#: core/generator.cpp:793 +#, fuzzy, kde-format +#| msgid "KPDF" +msgid "PDF" +msgstr "KPDF" + +#: core/generator.cpp:797 +#, fuzzy, kde-format +#| msgid "Current mantainer" +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "Тековен одржувач" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "" + +#: core/printoptionswidget.cpp:19 +#, fuzzy, kde-format +#| msgid "Filter Options" +msgid "Print Options" +msgstr "Опции за филтер" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "" + +#: core/signatureutils.cpp:504 +#, fuzzy, kde-kuit-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" +"Датотеката не можеше да се зачува во „%1“. Обидете се да ја зачувате на " +"друга локација." + +#: core/signatureutils.cpp:506 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown signing error" +msgstr "Непозната датотека" + +#: core/sourcereference.cpp:103 +#, fuzzy, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Наслов" + +#: core/textdocumentsettings.cpp:34 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgid "&Default Font:" +msgstr "Стандарден преод:" + +#: gui/certificatemodel.cpp:39 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Version" +msgstr "Документ за отворање" + +#: gui/certificatemodel.cpp:41 +#, fuzzy, kde-format +#| msgid "Pages" +msgid "Serial Number" +msgstr "Страници" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "" + +#: gui/certificatemodel.cpp:49 +#, fuzzy, kde-format +#| msgid "Subject" +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Тема" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "" + +#: gui/certificatemodel.cpp:53 +#, fuzzy, kde-format +#| msgid "Memory Usage" +msgid "Key Usage" +msgstr "Употреба на меморија" + +#: gui/certificatemodel.cpp:72 +#, fuzzy, kde-format +#| msgid "%1:" +msgid "V%1" +msgstr "%1:" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "" + +#: gui/certificatemodel.cpp:146 +#, fuzzy, kde-format +#| msgid "&Properties" +msgid "Property" +msgstr "&Својства" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, fuzzy, kde-format +#| msgid "Overwrite" +msgid "Typewriter" +msgstr "Запиши" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +msgid "Arrow with Comment" +msgstr "&Својства" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "" + +#: gui/guiutils.cpp:59 +#, fuzzy, kde-format +msgid "Straight Line with Comment" +msgstr "&Својства" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "" + +#: gui/guiutils.cpp:63 +#, fuzzy, kde-format +msgid "Polygon with Comment" +msgstr "&Својства" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "Rectangle with Comment" +msgstr "Алатка за &избирање" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "Ellipse with Comment" +msgstr "Алатка за &избирање" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "" + +#: gui/guiutils.cpp:83 +#, fuzzy, kde-format +msgid "Highlight with Comment" +msgstr "&Својства" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "" + +#: gui/guiutils.cpp:87 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "Squiggle with Comment" +msgstr "Алатка за &избирање" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "" + +#: gui/guiutils.cpp:91 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "Underline with Comment" +msgstr "Алатка за &избирање" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "" + +#: gui/guiutils.cpp:95 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "Strike Out with Comment" +msgstr "Алатка за &избирање" + +#: gui/guiutils.cpp:95 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "Strike Out" +msgstr "Алатка за &избирање" + +#: gui/guiutils.cpp:102 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "Stamp with Comment" +msgstr "Алатка за &избирање" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "" + +#: gui/guiutils.cpp:106 +#, fuzzy, kde-format +msgid "Freehand Line with Comment" +msgstr "&Својства" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "" + +#: gui/guiutils.cpp:110 +#, fuzzy, kde-format +#| msgid "Creator" +msgid "Caret" +msgstr "Креатор" + +#: gui/guiutils.cpp:114 +#, fuzzy, kde-format +msgid "File Attachment" +msgstr "&Својства" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "" + +#: gui/guiutils.cpp:122 +#, fuzzy, kde-format +#| msgid "Modified" +msgid "Movie" +msgstr "Изменето" + +#: gui/guiutils.cpp:126 +#, fuzzy, kde-format +#| msgid "Created" +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Креирано" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Annotation" +msgstr "Презентација" + +#: gui/guiutils.cpp:168 +#, fuzzy, kde-format +#| msgid "Unknown" +msgctxt "Unknown author" +msgid "Unknown" +msgstr "Непознато" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Автор: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "" + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "" + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "" + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "" + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "" + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "" + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "" + +#: gui/signatureguiutils.cpp:60 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Certificate is Trusted." +msgstr "Конфигурирај KPDF..." + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "" + +#: gui/signatureguiutils.cpp:64 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Certificate issuer is unknown." +msgstr "Конфигурирај KPDF..." + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "" + +#: gui/signatureguiutils.cpp:68 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Certificate has Expired." +msgstr "Конфигурирај KPDF..." + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "" + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "" + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "" + +#: gui/signatureguiutils.cpp:96 +#, fuzzy, kde-format +#| msgid "Unknown Date" +msgid "Unknown Algorithm" +msgstr "Непознат датум" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown Type" +msgstr "Непозната датотека" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "" + +#: gui/signatureguiutils.cpp:126 +#, fuzzy, kde-format +#| msgid "Encrypted" +msgid "Encrypt Keys" +msgstr "Криптирано" + +#: gui/signatureguiutils.cpp:129 +#, fuzzy, kde-format +#| msgid "Unencrypted" +msgid "Decrypt Keys" +msgstr "Некриптирано" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "" + +#: gui/signatureguiutils.cpp:135 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Sign Certificate" +msgstr "Конфигурирај KPDF..." + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "" + +#: gui/signatureguiutils.cpp:141 +#, fuzzy, kde-format +#| msgid "Encrypted" +msgid "Encrypt Only" +msgstr "Криптирано" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr "" + +#: gui/signatureguiutils.cpp:165 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "The document has not been modified since it was signed." +msgstr "Печатењето на овој документ не е дозволено." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "" + +#: gui/signatureguiutils.cpp:208 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "Печатењето на овој документ не е дозволено." + +#: gui/signatureguiutils.cpp:211 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "This document is digitally signed." +msgstr "Печатењето на овој документ не е дозволено." + +#: gui/signatureguiutils.cpp:213 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "Печатењето на овој документ не е дозволено." + +#: gui/signatureguiutils.cpp:216 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "Печатењето на овој документ не е дозволено." + +#: gui/signaturemodel.cpp:141 +#, fuzzy, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "&Својства" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "" + +#: gui/signaturemodel.cpp:172 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgid "Reason: %1" +msgstr "Страници: %1" + +#: gui/signaturemodel.cpp:177 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Location: %1" +msgstr "Презентација" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "" + +#: gui/signaturemodel.cpp:193 +#, fuzzy, kde-format +#| msgid "Unknown" +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "Непознато" + +#: gui/signaturemodel.cpp:195 +#, fuzzy, kde-format +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "&Својства" + +#: gui/signaturemodel.cpp:201 +#, fuzzy, kde-format +msgid "Signature Type: %1" +msgstr "&Својства" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "" + +#: part/annotationactionhandler.cpp:151 +#, fuzzy, kde-format +#| msgid "Created" +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "Креирано" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "Сразмерно со ширината" + +#: part/annotationactionhandler.cpp:252 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1:" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:308 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Својства за %1" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "" + +#: part/annotationactionhandler.cpp:314 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Презентација" + +#: part/annotationactionhandler.cpp:316 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "Презентација" + +#: part/annotationactionhandler.cpp:318 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Презентација" + +#: part/annotationactionhandler.cpp:322 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Презентација" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "" + +#: part/annotationactionhandler.cpp:328 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "Презентација" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" + +#: part/annotationactionhandler.cpp:341 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Својства за %1" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "" + +#: part/annotationactionhandler.cpp:434 +#, fuzzy, kde-format +#| msgid "Paper color:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "Боја на хартија:" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "" + +#: part/annotationactionhandler.cpp:499 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgctxt "@title:window" +msgid "Select color" +msgstr "Алатка за &избирање" + +#: part/annotationactionhandler.cpp:552 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "&Annotations" +msgstr "Презентација" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "" + +#: part/annotationactionhandler.cpp:554 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Презентација" + +#: part/annotationactionhandler.cpp:557 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "&Својства" + +#: part/annotationactionhandler.cpp:558 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "Алатка за &избирање" + +#: part/annotationactionhandler.cpp:559 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "Алатка за &избирање" + +#: part/annotationactionhandler.cpp:560 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "Алатка за &избирање" + +#: part/annotationactionhandler.cpp:562 +#, fuzzy, kde-format +#| msgid "Overwrite" +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Запиши" + +#: part/annotationactionhandler.cpp:563 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "&Својства" + +#: part/annotationactionhandler.cpp:564 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "&Својства" + +#: part/annotationactionhandler.cpp:565 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "&Својства" + +#: part/annotationactionhandler.cpp:567 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "&Својства" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "" + +#: part/annotationactionhandler.cpp:569 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "&Својства" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "" + +#: part/annotationactionhandler.cpp:638 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Презентација" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "" + +#: part/annotationactionhandler.cpp:651 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Quick Annotation Bar" +msgstr "Презентација" + +#: part/annotationactionhandler.cpp:665 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "Презентација" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "" + +#: part/annotationactionhandler.cpp:669 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "Презентација" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "" + +#: part/annotationactionhandler.cpp:681 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Својства за %1" + +#: part/annotationactionhandler.cpp:684 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "Сразмерно со ширината" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "" + +#: part/annotationactionhandler.cpp:696 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1:" + +#: part/annotationmodel.cpp:320 +#, fuzzy, kde-format +#| msgid "Page %1" +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "Страница %1" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "Страница %1" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "Презентација" +msgstr[1] "Презентација" +msgstr[2] "Презентација" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Отстрани обележувач" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Додај обележувач" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Text to Clipboard" +msgstr "Копирај на табла со исечоци" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "&Својства" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "Зачувај во датотека..." + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:59 +#, fuzzy, kde-format +#| msgid "General" +msgid "&General" +msgstr "Општо" + +#: part/annotationpropertiesdialog.cpp:64 +#, fuzzy, kde-format +#| msgid "Author" +msgid "&Author:" +msgstr "Автор" + +#: part/annotationpropertiesdialog.cpp:69 +#, fuzzy, kde-format +#| msgid "Created" +msgid "Created:" +msgstr "Креирано" + +#: part/annotationpropertiesdialog.cpp:74 +#, fuzzy, kde-format +#| msgid "Modified" +msgid "Modified:" +msgstr "Изменето" + +#: part/annotationpropertiesdialog.cpp:108 +#, fuzzy, kde-format +msgid "Pop-up Note Properties" +msgstr "&Својства" + +#: part/annotationpropertiesdialog.cpp:111 +#, fuzzy, kde-format +msgid "Typewriter Properties" +msgstr "&Својства" + +#: part/annotationpropertiesdialog.cpp:113 +#, fuzzy, kde-format +msgid "Inline Note Properties" +msgstr "&Својства" + +#: part/annotationpropertiesdialog.cpp:119 +#, fuzzy, kde-format +msgid "Straight Line Properties" +msgstr "&Својства" + +#: part/annotationpropertiesdialog.cpp:121 +#, fuzzy, kde-format +msgid "Polygon Properties" +msgstr "&Својства" + +#: part/annotationpropertiesdialog.cpp:125 +#, fuzzy, kde-format +msgid "Geometry Properties" +msgstr "&Својства" + +#: part/annotationpropertiesdialog.cpp:128 +#, fuzzy, kde-format +msgid "Text Markup Properties" +msgstr "&Својства" + +#: part/annotationpropertiesdialog.cpp:131 +#, fuzzy, kde-format +msgid "Stamp Properties" +msgstr "&Својства" + +#: part/annotationpropertiesdialog.cpp:134 +#, fuzzy, kde-format +msgid "Freehand Line Properties" +msgstr "&Својства" + +#: part/annotationpropertiesdialog.cpp:137 +#, fuzzy, kde-format +msgid "Caret Properties" +msgstr "&Својства" + +#: part/annotationpropertiesdialog.cpp:140 +#, fuzzy, kde-format +msgid "File Attachment Properties" +msgstr "&Својства" + +#: part/annotationpropertiesdialog.cpp:143 +#, fuzzy, kde-format +msgid "Sound Properties" +msgstr "&Својства" + +#: part/annotationpropertiesdialog.cpp:146 +#, fuzzy, kde-format +msgid "Movie Properties" +msgstr "&Својства" + +#: part/annotationpropertiesdialog.cpp:149 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgid "Annotation Properties" +msgstr "Својства за %1" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%1:" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "" + +#: part/annotationwidgets.cpp:363 +#, fuzzy, kde-format +#| msgid "Icon" +msgid "Icon:" +msgstr "Икона" + +#: part/annotationwidgets.cpp:364 +#, fuzzy, kde-format +msgid "Comment" +msgstr "&Континуално" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "" + +#: part/annotationwidgets.cpp:387 +#, fuzzy, kde-format +#| msgid "&Invert colors" +msgid "Text &color:" +msgstr "&Инвертирај бои" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "" + +#: part/annotationwidgets.cpp:395 +#, fuzzy, kde-format +#| msgid "Wipe Left" +msgid "Left" +msgstr "Бришење налево" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "" + +#: part/annotationwidgets.cpp:397 +#, fuzzy, kde-format +#| msgid "Wipe Right" +msgid "Right" +msgstr "Бришење надесно" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "" + +#: part/annotationwidgets.cpp:416 +#, fuzzy, kde-format +msgid "Confidential" +msgstr "&Континуално" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "" + +#: part/annotationwidgets.cpp:421 +#, fuzzy, kde-format +msgid "Final" +msgstr "Наслов" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "" + +#: part/annotationwidgets.cpp:428 +#, fuzzy, kde-format +#| msgid "Add Bookmark" +msgid "Bookmark" +msgstr "Додај обележувач" + +#: part/annotationwidgets.cpp:429 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Information" +msgstr "Презентација" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgid "&Width:" +msgstr "Сразмерно со ширината" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:514 +#, fuzzy, kde-format +#| msgid "[none]" +msgid "None" +msgstr "[нема]" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "" + +#: part/annotationwidgets.cpp:531 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "Leader line length:" +msgstr "Алатка за &избирање" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Shape fill:" +msgstr "Зачувај во датотека..." + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, fuzzy, kde-format +#| msgid "Type" +msgid "Type:" +msgstr "Тип" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "" + +#: part/annotationwidgets.cpp:745 +#, fuzzy, kde-format +msgid "File attachment symbol:" +msgstr "&Својства" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "" + +#: part/annotationwidgets.cpp:750 +#, fuzzy, kde-format +#| msgid "Paper color:" +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "Боја на хартија:" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "" + +#: part/annotationwidgets.cpp:760 +#, fuzzy, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "Наслов" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "" + +#: part/annotationwidgets.cpp:773 +#, fuzzy, kde-format +#| msgid "Name" +msgid "Name:" +msgstr "Име" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "" + +#: part/annotationwidgets.cpp:845 +#, fuzzy, kde-format +#| msgid "[none]" +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "[нема]" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, fuzzy, kde-format +#| msgid "Filter Options" +msgid "Options" +msgstr "Опции за филтер" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "" + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "" + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "" + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "" + +#: part/bookmarklist.cpp:116 +#, fuzzy, kde-format +#| msgid "Remove Bookmark" +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "Отстрани обележувач" +msgstr[1] "Отстрани обележувач" +msgstr[2] "Отстрани обележувач" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, fuzzy, kde-format +#| msgid "Add Bookmark" +msgid "Bookmarks" +msgstr "Додај обележувач" + +#: part/bookmarklist.cpp:136 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Show for all documents" +msgstr "Го превчитувам документот..." + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, kde-format +msgid "Search…" +msgstr "" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, kde-format +msgid "Expand All" +msgstr "" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, kde-format +msgid "Collapse All" +msgstr "" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, fuzzy, kde-format +#| msgid "Remove Bookmark" +msgid "Rename Bookmark" +msgstr "Отстрани обележувач" + +#: part/bookmarklist.cpp:299 +#, fuzzy, kde-format +#| msgid "Current mantainer" +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Тековен одржувач" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "" + +#: part/certificateviewer.cpp:47 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Certificate Viewer" +msgstr "Конфигурирај KPDF..." + +#: part/certificateviewer.cpp:50 +#, kde-format +msgid "Export…" +msgstr "" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "Општо" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "" + +#: part/colormodemenu.cpp:21 +#, fuzzy, kde-format +#| msgid "Change &Colors" +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "Смени &бои" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "" + +#: part/colormodemenu.cpp:41 +#, fuzzy, kde-format +#| msgid "&Invert colors" +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "&Инвертирај бои" + +#: part/colormodemenu.cpp:42 +#, fuzzy, kde-format +#| msgid "Change &paper color" +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "Смени боја на &хартија" + +#: part/colormodemenu.cpp:44 +#, fuzzy, kde-format +#| msgid "&Change dark and light colors" +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "&Смени темни и светли бои" + +#: part/colormodemenu.cpp:46 +#, fuzzy, kde-format +#| msgid "Convert to &black and white" +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "Конвертирај во црно-&бело" + +#: part/colormodemenu.cpp:49 +#, fuzzy, kde-format +#| msgid "&Invert colors" +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "&Инвертирај бои" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, fuzzy, kde-format +#| msgid "Created" +msgid "Green" +msgstr "Креирано" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, fuzzy, kde-format +msgid "Yellow Highlighter" +msgstr "&Својства" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, fuzzy, kde-format +msgid "Green Highlighter" +msgstr "&Својства" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, fuzzy, kde-format +#| msgid "Speak Text" +msgid "Insert Text" +msgstr "Изговори текст" + +#: part/dlgaccessibility.cpp:38 +#, fuzzy, kde-format +#| msgid "Draw border around &Links" +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "Исцртај рамка околу &врските" + +#: part/dlgaccessibility.cpp:48 +#, fuzzy, kde-format +#| msgid "Change &Colors" +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "Смени &бои" + +#: part/dlgaccessibility.cpp:54 +#, fuzzy, kde-format +#| msgid "Warning: these options can badly affect drawing speed." +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "" +"Внимание: овие опции може сериозно да влијаат\n" +"на брзината на исцртување." + +#: part/dlgaccessibility.cpp:60 +#, fuzzy, kde-format +#| msgid "&Invert colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "&Инвертирај бои" + +#: part/dlgaccessibility.cpp:61 +#, fuzzy, kde-format +#| msgid "Change &paper color" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "Смени боја на &хартија" + +#: part/dlgaccessibility.cpp:62 +#, fuzzy, kde-format +#| msgid "&Change dark and light colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "&Смени темни и светли бои" + +#: part/dlgaccessibility.cpp:63 +#, fuzzy, kde-format +#| msgid "Convert to &black and white" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "Конвертирај во црно-&бело" + +#: part/dlgaccessibility.cpp:64 +#, fuzzy, kde-format +#| msgid "&Invert colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "&Инвертирај бои" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "" + +#: part/dlgaccessibility.cpp:87 +#, fuzzy, kde-format +#| msgid "Paper color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Боја на хартија:" + +#: part/dlgaccessibility.cpp:99 +#, fuzzy, kde-format +#| msgid "Dark color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Темна боја:" + +#: part/dlgaccessibility.cpp:104 +#, fuzzy, kde-format +#| msgid "Light color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "Светла боја:" + +#: part/dlgaccessibility.cpp:119 +#, fuzzy, kde-format +#| msgid "Threshold:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "Праг:" + +#: part/dlgaccessibility.cpp:127 +#, fuzzy, kde-format +#| msgid "Contrast:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Контраст:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "" + +#: part/dlgannotations.cpp:25 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Презентација" + +#: part/dlgannotations.cpp:26 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Презентација" + +#: part/dlgannotations.cpp:28 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Презентација" + +#: part/dlgannotations.cpp:34 +#, fuzzy, kde-format +#| msgid "Author" +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "Автор" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" + +#: part/dlgannotations.cpp:48 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

    Quick Annotation Tools

    " +msgstr "Својства за %1" + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "" + +#: part/dlgeditor.cpp:31 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Наслов" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
    \n" +"You can also put few placeholders:\n" +"
      \n" +"
    • %f - the file name
    • \n" +"
    • %l - the line of the file to be reached
    • \n" +"
    • %c - the column of the file to be reached
    • \n" +"
    \n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" + +#: part/dlgeditor.cpp:63 +#, fuzzy, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "&Континуално" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "" + +#: part/dlggeneral.cpp:41 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "Прикажи ленти за &движење" + +#: part/dlggeneral.cpp:48 +#, fuzzy, kde-format +#| msgid "Link the &thumbnails with the page" +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "Поврзи ги сликичките со с&траницата" + +#: part/dlggeneral.cpp:55 +#, fuzzy, kde-format +#| msgid "Show &hints and info messages" +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "Прикажи совети и &инфо. пораки" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "" + +#: part/dlggeneral.cpp:92 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "Боја на подлога:" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "" + +#: part/dlggeneral.cpp:139 +#, fuzzy, kde-format +#| msgid "&Obey DRM limitations" +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "П&очитувај ограничувања на DRM" + +#: part/dlggeneral.cpp:148 +#, fuzzy, kde-format +#| msgid "No document opened." +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "Нема отворен документ." + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, fuzzy, kde-format +#| msgid "Overwrite" +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "Запиши" + +#: part/dlggeneral.cpp:220 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%1:" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "" + +#: part/dlggeneral.cpp:228 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%1:" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "" + +#: part/dlggeneral.cpp:233 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "Сразмерно со ширината" + +#: part/dlggeneral.cpp:234 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "Сразмерно на страница" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" + +#: part/dlggeneral.cpp:241 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "Стандарден преод:" + +#: part/dlgperformance.cpp:26 +#, fuzzy, kde-format +#| msgid "Enable &transparency effects" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "Овозможи ефекти на проѕирнос&т" + +#: part/dlgperformance.cpp:28 +#, fuzzy, kde-format +#| msgid "CPU Usage" +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "Употреба на процесор" + +#: part/dlgperformance.cpp:35 +#, fuzzy, kde-format +#| msgid "&Low" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "Н&иска" + +#: part/dlgperformance.cpp:36 +#, fuzzy, kde-format +#| msgid "&Normal (default)" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "&Нормална (стандардно)" + +#: part/dlgperformance.cpp:37 +#, fuzzy, kde-format +#| msgid "&Aggressive" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "&Агресивна" + +#: part/dlgperformance.cpp:38 +#, fuzzy, kde-format +#| msgid "Created" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "Креирано" + +#: part/dlgperformance.cpp:40 +#, fuzzy, kde-format +#| msgid "Memory Usage" +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "Употреба на меморија" + +#: part/dlgperformance.cpp:54 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "Стандарден преод:" + +#: part/dlgperformance.cpp:56 +#, fuzzy, kde-format +#| msgid "General Options" +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "Општи опции" + +#: part/dlgperformance.cpp:59 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "Стандарден преод:" + +#: part/dlgperformance.cpp:64 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "Стандарден преод:" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"Задржува колку што е можно помалку од користената меморија. Не употребува " +"ништо повторно. (за системи со малку меморија.)" + +#: part/dlgperformance.cpp:80 +#, fuzzy, kde-format +#| msgid "" +#| "A good compromise between memory usage and speed gain. Preload next page " +#| "and boost searches. (For systems with 256MB of memory, typically.)" +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"Добар компромис меѓу користењето на меморијата и забрзувањето. Ја вчитува " +"претходно наредната страница и ги забрзува пребарувањата. (типично за " +"системи со 256MB меморија.)" + +#: part/dlgperformance.cpp:83 +#, fuzzy, kde-format +#| msgid "" +#| "Keeps everything in memory. Preload next pages. Boost searches. (For " +#| "systems with more than 512MB of memory.)" +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"Задржува сѐ во меморија. Ги вчитува претходно наредните страници. Ги " +"забрзува пребарувањата. (за системи со повеќе од 512MB меморија.)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" + +#: part/dlgpresentation.cpp:38 +#, fuzzy, kde-format +#| msgid " sec." +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] " сек." +msgstr[1] " сек." +msgstr[2] " сек." + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "" + +#: part/dlgpresentation.cpp:53 +#, fuzzy, kde-format +#| msgid "Loop after last page" +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "Кружи по последната страница" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "" + +#: part/dlgpresentation.cpp:63 +#, fuzzy, kde-format +#| msgid "Navigation" +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Навигација" + +#: part/dlgpresentation.cpp:72 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "Боја на подлога:" + +#: part/dlgpresentation.cpp:76 +#, fuzzy, kde-format +#| msgid "Hidden After Delay" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "Скриен по одредено време" + +#: part/dlgpresentation.cpp:77 +#, fuzzy, kde-format +#| msgid "Always Visible" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "Секогаш видлив" + +#: part/dlgpresentation.cpp:78 +#, fuzzy, kde-format +#| msgid "Always Hidden" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "Секогаш скриен" + +#: part/dlgpresentation.cpp:80 +#, fuzzy, kde-format +#| msgid "Mouse cursor:" +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "Покажувач на глушецот:" + +#: part/dlgpresentation.cpp:84 +#, fuzzy, kde-format +#| msgid "Show &progress indicator" +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "Прикажи индикатор за про&грес" + +#: part/dlgpresentation.cpp:90 +#, fuzzy, kde-format +#| msgid "Show s&ummary page" +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "Прикажи &страница со преглед" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "" + +#: part/dlgpresentation.cpp:102 +#, fuzzy, kde-format +#| msgid "Random Transition" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "Случаен преод" + +#: part/dlgpresentation.cpp:103 +#, fuzzy, kde-format +#| msgid "Blinds Vertical" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "Вертикални ролетни" + +#: part/dlgpresentation.cpp:104 +#, fuzzy, kde-format +#| msgid "Blinds Horizontal" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "Хоризонтални ролетни" + +#: part/dlgpresentation.cpp:105 +#, fuzzy, kde-format +#| msgid "Box In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "Квадрат навнатре" + +#: part/dlgpresentation.cpp:106 +#, fuzzy, kde-format +#| msgid "Box Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "Квадрат нанадвор" + +#: part/dlgpresentation.cpp:107 +#, fuzzy, kde-format +#| msgid "Dissolve" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "Растворање" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "" + +#: part/dlgpresentation.cpp:109 +#, fuzzy, kde-format +#| msgid "Glitter Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "Сјаење надолу" + +#: part/dlgpresentation.cpp:110 +#, fuzzy, kde-format +#| msgid "Glitter Right" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "Сјаење надесно" + +#: part/dlgpresentation.cpp:111 +#, fuzzy, kde-format +#| msgid "Glitter Right-Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "Сјаење надолу надесно" + +#: part/dlgpresentation.cpp:112 +#, fuzzy, kde-format +#| msgid "Split Horizontal In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "Хоризонтално поделување навнатре" + +#: part/dlgpresentation.cpp:113 +#, fuzzy, kde-format +#| msgid "Split Horizontal Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "Хоризонтално поделување нанадвор" + +#: part/dlgpresentation.cpp:114 +#, fuzzy, kde-format +#| msgid "Split Vertical In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "Вертикално поделување навнатре" + +#: part/dlgpresentation.cpp:115 +#, fuzzy, kde-format +#| msgid "Split Vertical Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "Вертикално поделување нанадвор" + +#: part/dlgpresentation.cpp:116 +#, fuzzy, kde-format +#| msgid "Wipe Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "Бришење надолу" + +#: part/dlgpresentation.cpp:117 +#, fuzzy, kde-format +#| msgid "Wipe Right" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "Бришење надесно" + +#: part/dlgpresentation.cpp:118 +#, fuzzy, kde-format +#| msgid "Wipe Left" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "Бришење налево" + +#: part/dlgpresentation.cpp:119 +#, fuzzy, kde-format +#| msgid "Wipe Up" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "Бришење нагоре" + +#: part/dlgpresentation.cpp:121 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Стандарден преод:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

    Drawing Tools

    " +msgstr "" + +#: part/dlgpresentation.cpp:171 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Стандарден преод:" + +#: part/dlgpresentation.cpp:172 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Стандарден преод:" + +#: part/dlgpresentation.cpp:178 +#, fuzzy, kde-format +#| msgid "Created" +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "Креирано" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, fuzzy, kde-format +#| msgid "Name" +msgid "&Name:" +msgstr "Име" + +#: part/editannottooldialog.cpp:69 +#, fuzzy, kde-format +#| msgid "Type" +msgid "&Type:" +msgstr "Тип" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "" + +#: part/editannottooldialog.cpp:93 +#, fuzzy, kde-format +#| msgid "Add Bookmark" +msgid "Text markup" +msgstr "Додај обележувач" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "" + +#: part/editannottooldialog.cpp:101 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Create annotation tool" +msgstr "Презентација" + +#: part/editannottooldialog.cpp:103 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgid "Edit annotation tool" +msgstr "Својства за %1" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "" + +#: part/editdrawingtooldialog.cpp:58 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgid "&Pen Width:" +msgstr "Сразмерно со ширината" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "" + +#: part/editdrawingtooldialog.cpp:79 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Create drawing tool" +msgstr "Презентација" + +#: part/editdrawingtooldialog.cpp:84 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgid "Edit drawing tool" +msgstr "Својства за %1" + +#: part/embeddedfilesdialog.cpp:42 +#, fuzzy, kde-format +#| msgid "Unknown" +msgctxt "Unknown date" +msgid "Unknown" +msgstr "Непознато" + +#: part/embeddedfilesdialog.cpp:48 +#, fuzzy, kde-format +#| msgid "Embedded" +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Вградено" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "" + +#: part/embeddedfilesdialog.cpp:70 +#, fuzzy, kde-format +#| msgid "Name" +msgctxt "@title:column" +msgid "Name" +msgstr "Име" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "" + +#: part/embeddedfilesdialog.cpp:72 +#, fuzzy, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "Наслов" + +#: part/embeddedfilesdialog.cpp:73 +#, fuzzy, kde-format +#| msgid "Created" +msgctxt "@title:column" +msgid "Created" +msgstr "Креирано" + +#: part/embeddedfilesdialog.cpp:74 +#, fuzzy, kde-format +#| msgid "Modified" +msgctxt "@title:column" +msgid "Modified" +msgstr "Изменето" + +#: part/embeddedfilesdialog.cpp:154 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "Зачувај во датотека..." + +#: part/embeddedfilesdialog.cpp:155 +#, kde-format +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "" + +#: part/findbar.cpp:38 +#, fuzzy, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "Наслов" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "" + +#: part/findbar.cpp:54 +#, fuzzy, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Сразмерно на страница" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "" + +#: part/findbar.cpp:58 +#, fuzzy, kde-format +#| msgid "Remove Bookmark" +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Отстрани обележувач" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "" + +#: part/findbar.cpp:66 +#, fuzzy, kde-format +#| msgid "Case Sensitive" +msgid "Case sensitive" +msgstr "Разликува гол. на букви" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "" + +#: part/findbar.cpp:70 +#, fuzzy, kde-format +#| msgid "Find stopped." +msgid "Find as you type" +msgstr "Барањето е запрено." + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, fuzzy, kde-format +msgid "Signature Properties" +msgstr "&Својства" + +#: part/ktreeviewsearchline.cpp:283 +#, fuzzy, kde-format +#| msgid "Filter Options" +msgid "Search Options" +msgstr "Опции за филтер" + +#: part/ktreeviewsearchline.cpp:284 +#, fuzzy, kde-format +#| msgid "Case Sensitive" +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "Разликува гол. на букви" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "" + +#: part/pageview.cpp:530 +#, fuzzy, kde-format +#| msgid "Glitter Right" +msgid "Rotate &Right" +msgstr "Сјаење надесно" + +#: part/pageview.cpp:531 +#, fuzzy, kde-format +#| msgid "Wipe Right" +msgctxt "Rotate right" +msgid "Right" +msgstr "Бришење надесно" + +#: part/pageview.cpp:535 +#, fuzzy, kde-format +#| msgid "Wipe Left" +msgid "Rotate &Left" +msgstr "Бришење налево" + +#: part/pageview.cpp:536 +#, fuzzy, kde-format +#| msgid "Wipe Left" +msgctxt "Rotate left" +msgid "Left" +msgstr "Бришење налево" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "" + +#: part/pageview.cpp:557 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "Trim To &Selection" +msgstr "Алатка за &избирање" + +#: part/pageview.cpp:563 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgid "Fit &Width" +msgstr "Сразмерно со ширината" + +#: part/pageview.cpp:567 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgid "Fit &Page" +msgstr "Сразмерно на страница" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "" + +#: part/pageview.cpp:575 +#, fuzzy, kde-format +#| msgid "Fit to &Page" +msgid "Fit Wi&ndow to Page" +msgstr "Сразмерно со &страницата" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "" + +#: part/pageview.cpp:594 +#, fuzzy, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "Наслов" + +#: part/pageview.cpp:595 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "Сразмерно на страница" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "" + +#: part/pageview.cpp:599 +#, fuzzy, kde-format +#| msgid "Overwrite" +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "Запиши" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "&Континуално" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "" + +#: part/pageview.cpp:627 +#, fuzzy, kde-format +#| msgid "&Browse Tool" +msgid "&Browse" +msgstr "&Алатка за прелистување" + +#: part/pageview.cpp:635 +#, fuzzy, kde-format +#| msgid "&Zoom Tool" +msgid "&Zoom" +msgstr "Алатка за &зумирање" + +#: part/pageview.cpp:655 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "Area &Selection" +msgstr "Алатка за &избирање" + +#: part/pageview.cpp:662 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "&Text Selection" +msgstr "Алатка за &избирање" + +#: part/pageview.cpp:669 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "T&able Selection" +msgstr "Алатка за &избирање" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "" + +#: part/pageview.cpp:685 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgctxt "@action" +msgid "Selection Tools" +msgstr "Алатка за &избирање" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "" + +#: part/pageview.cpp:717 +#, fuzzy, kde-format +#| msgid "Current mantainer" +msgid "Speak Whole Document" +msgstr "Тековен одржувач" + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "Движи нагоре" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Движи надолу" + +#: part/pageview.cpp:761 +#, fuzzy, kde-format +#| msgid "Scroll Up" +msgid "Scroll Page Up" +msgstr "Движи нагоре" + +#: part/pageview.cpp:767 +#, fuzzy, kde-format +#| msgid "Scroll Down" +msgid "Scroll Page Down" +msgstr "Движи надолу" + +#: part/pageview.cpp:773 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgid "Show Forms" +msgstr "Прикажи ленти за &движење" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] " Вчитан е документ со %1 страница." +msgstr[1] " Вчитан е документ со %1 страници." +msgstr[2] " Вчитан е документ со %1 страници." + +#: part/pageview.cpp:2526 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Table Contents to Clipboard" +msgstr "Копирај на табла со исечоци" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "Текст (%1 знак)" +msgstr[1] "Текст (%1 знаци)" +msgstr[2] "Текст (%1 знаци)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "Копирај на табла со исечоци" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "Изговори текст" + +#: part/pageview.cpp:2863 +#, fuzzy, kde-format +#| msgid "Image (%1 by %2 pixels)" +msgid "Image (%1 × %2 pixels)" +msgstr "Слика (%1 на %2 пиксели)" + +#: part/pageview.cpp:2865 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save to File…" +msgstr "Зачувај во датотека..." + +#: part/pageview.cpp:2885 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] copied to clipboard." +msgid "Image [%1 × %2] copied to clipboard." +msgstr "Сликата [%1x%2] е копирана на таблата со исечоци." + +#: part/pageview.cpp:2888 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save file" +msgstr "Зачувај во датотека..." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "Датотеката не е зачувана." + +#: part/pageview.cpp:2901 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] saved to %3 file." +msgid "Image [%1 × %2] saved to %3 file." +msgstr "Сликата [%1x%2] е зачувана во %3-датотеката." + +#: part/pageview.cpp:3042 +#, fuzzy, kde-format +#| msgid "Speak Text" +msgid "Copy Text" +msgstr "Изговори текст" + +#: part/pageview.cpp:3062 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go to '%1'" +msgstr "Одење на страница" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "Сразмерно со ширината" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "Сразмерно на страница" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "" + +#: part/pageview.cpp:4107 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1:" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "" + +#: part/pageview.cpp:4404 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Configure Web Shortcuts…" +msgstr "Конфигурирај KPDF..." + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Добредојдовте" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "Изберете површина за зумирање. Десен клик за одзумирање." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "" + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "Нацртајте правоаголник околу текстот/графиката за копирање." + +#: part/pageview.cpp:5158 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "Select text" +msgstr "Алатка за &избирање" + +#: part/pageview.cpp:5172 +#, fuzzy, kde-format +#| msgid "Draw a rectangle around the text/graphics to copy." +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "Нацртајте правоаголник околу текстот/графиката за копирање." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" + +#: part/pageview.cpp:5188 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "No valid certificates" +msgstr "Конфигурирај KPDF..." + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Open Certificate Manager" +msgstr "Конфигурирај KPDF..." + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
    Launch Certificate Manager " +"to import or manage certificates
    For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "No certificates found" +msgstr "Конфигурирај KPDF..." + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
    For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "" + +#: part/pageview.cpp:5405 +#, fuzzy, kde-format +#| msgid "Draw a rectangle around the text/graphics to copy." +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "Нацртајте правоаголник околу текстот/графиката за копирање." + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgid "Author" +msgid "Author name" +msgstr "Автор" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Author name for the annotation:" +msgstr "Презентација" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1392 +#, fuzzy, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "&Својства" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "" + +#: part/pageviewannotator.cpp:1404 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "Алатка за &избирање" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "" + +#: part/pageviewannotator.cpp:1410 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "Алатка за &избирање" + +#: part/pageviewannotator.cpp:1412 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "Алатка за &избирање" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1473 +#, fuzzy, kde-format +msgid "Highlighter" +msgstr "&Својства" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Add favorite annotation" +msgstr "Презентација" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Custom annotation name:" +msgstr "Презентација" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, fuzzy, kde-format +msgid "&File" +msgstr "Наслов" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, fuzzy, kde-format +#| msgid "P&resentation" +msgid "&Orientation" +msgstr "П&резентација" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, fuzzy, kde-format +#| msgid "Add Bookmark" +msgid "&Bookmarks" +msgstr "Додај обележувач" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Сликички" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Annotations" +msgstr "Презентација" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
    Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "" + +#: part/part.cpp:662 +#, fuzzy, kde-format +#| msgid "Remove Bookmark" +msgctxt "Previous page" +msgid "Previous" +msgstr "Отстрани обележувач" + +#: part/part.cpp:663 +#, fuzzy, kde-format +#| msgid "Go to the place you were after" +msgid "Go back to the Previous Page" +msgstr "Оди на местото каде што сте биле потоа" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "Оди на претходната страница од документот" + +#: part/part.cpp:674 +#, fuzzy, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "Сразмерно на страница" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "Оди на наредната страница од документот" + +#: part/part.cpp:687 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Beginning of the document" +msgstr "Го превчитувам документот..." + +#: part/part.cpp:688 +#, fuzzy, kde-format +#| msgid "Moves to the next page of the document" +msgid "Moves to the beginning of the document" +msgstr "Оди на наредната страница од документот" + +#: part/part.cpp:692 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "End of the document" +msgstr "Го превчитувам документот..." + +#: part/part.cpp:693 +#, fuzzy, kde-format +#| msgid "Moves to the next page of the document" +msgid "Moves to the end of the document" +msgstr "Оди на наредната страница од документот" + +#: part/part.cpp:707 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Rename the current bookmark" +msgstr "Го превчитувам документот..." + +#: part/part.cpp:711 +#, fuzzy, kde-format +#| msgid "Remove Bookmark" +msgid "Previous Bookmark" +msgstr "Отстрани обележувач" + +#: part/part.cpp:713 +#, fuzzy, kde-format +#| msgid "Go to the place you were after" +msgid "Go to the previous bookmark" +msgstr "Оди на местото каде што сте биле потоа" + +#: part/part.cpp:717 +#, fuzzy, kde-format +#| msgid "Add Bookmark" +msgid "Next Bookmark" +msgstr "Додај обележувач" + +#: part/part.cpp:719 +#, fuzzy, kde-format +#| msgid "Show bookmarked pages only" +msgid "Go to the next bookmark" +msgstr "Прикажи само обележани страници" + +#: part/part.cpp:748 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Configure Okular…" +msgstr "Конфигурирај KPDF..." + +#: part/part.cpp:751 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Configure Viewer…" +msgstr "Конфигурирај KPDF..." + +#: part/part.cpp:757 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Configure Viewer Backends…" +msgstr "Конфигурирај KPDF..." + +#: part/part.cpp:759 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Configure Backends…" +msgstr "Конфигурирај KPDF..." + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "" + +#: part/part.cpp:802 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Reload the current document from disk." +msgstr "Го превчитувам документот..." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "" + +#: part/part.cpp:813 +#, fuzzy, kde-format +#| msgid "Pages" +msgid "Page Number" +msgstr "Страници" + +#: part/part.cpp:817 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "Конфигурирај KPDF..." + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "" + +#: part/part.cpp:871 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgid "Show S&idebar" +msgstr "Прикажи ленти за &движење" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "" + +#: part/part.cpp:886 +#, fuzzy, kde-format +#| msgid "Show &Navigation Panel" +msgid "Show &Signatures Panel" +msgstr "Прикажи панел за &навигација" + +#: part/part.cpp:897 +#, fuzzy, kde-format +#| msgid "Embedded" +msgid "&Embedded Files" +msgstr "Вградено" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "П&резентација" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "" + +#: part/part.cpp:945 +#, kde-format +msgid "&Import PostScript as PDF…" +msgstr "" + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "" + +#: part/part.cpp:957 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Erase Drawing" +msgstr "Презентација" + +#: part/part.cpp:962 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Configure Annotations…" +msgstr "Конфигурирај KPDF..." + +#: part/part.cpp:967 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Play/Pause Presentation" +msgstr "Презентација" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" + +#: part/part.cpp:1123 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Document can't be saved" +msgstr "Документ за отворање" + +#: part/part.cpp:1152 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not open '%1' (%2) " +msgstr "Не можев да отворам %1" + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "" + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "" + +#: part/part.cpp:1249 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Configure Viewer Backends" +msgstr "Конфигурирај KPDF..." + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "" + +#: part/part.cpp:1357 +#, kde-format +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "" + +#: part/part.cpp:1489 +#, fuzzy, kde-format +#| msgid "Please insert the password to read the document:" +msgid "Please enter the password to read the document:" +msgstr "Внесете ја лозинката за читање на документот:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "Погрешна лозинка. Обидете се повторно:" + +#: part/part.cpp:1502 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Document Password" +msgstr "Документ за отворање" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "" + +#: part/part.cpp:1739 +#, fuzzy, kde-format +msgid "Enter Presentation Mode" +msgstr "Опции за режимот Презентација" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "" + +#: part/part.cpp:1830 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not open %1. %2" +msgstr "Не можев да отворам %1" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "" + +#: part/part.cpp:1865 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue Reloading" +msgstr "&Континуално" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" + +#: part/part.cpp:1875 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue Closing" +msgstr "&Континуално" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "" + +#: part/part.cpp:1883 +#, fuzzy, kde-format +#| msgid "Current mantainer" +msgid "Close Document" +msgstr "Тековен одржувач" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"Оваа врска покажува кон дејство „затвори документ“ што не работи кога се " +"користи вградениот прегледувач." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"Оваа врска покажува кон дејство „напушти апликација“ што не работи кога се " +"користи вградениот прегледувач." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Reloading the document…" +msgstr "Го превчитувам документот..." + +#: part/part.cpp:2288 part/toc.cpp:38 +#, fuzzy, kde-format +msgid "Contents" +msgstr "&Континуално" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Одење на страница" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "Ст&раница:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "" + +#: part/part.cpp:2506 +#, fuzzy, kde-format +#| msgid "Remove Bookmark" +msgid "Rename this Bookmark" +msgstr "Отстрани обележувач" + +#: part/part.cpp:2509 +#, fuzzy, kde-format +#| msgid "Remove Bookmark" +msgid "Remove this Bookmark" +msgstr "Отстрани обележувач" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save As" +msgstr "Зачувај во датотека..." + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
    In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "" + +#: part/part.cpp:2726 +#, fuzzy, kde-kuit-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" +"Датотеката не можеше да се зачува во „%1“. Обидете се да ја зачувате на " +"друга локација." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "" +"Датотеката не можеше да се зачува во „%1“. Обидете се да ја зачувате на " +"друга локација." + +#: part/part.cpp:2766 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgid "Filled form contents" +msgstr "Својства за %1" + +#: part/part.cpp:2769 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "User annotations" +msgstr "Презентација" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" + +#: part/part.cpp:2796 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue" +msgstr "&Континуално" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "" + +#: part/part.cpp:2824 +#, fuzzy, kde-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgid "File could not be saved in '%1'. %2" +msgstr "" +"Датотеката не можеше да се зачува во „%1“. Обидете се да ја зачувате на " +"друга локација." + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" + +#: part/part.cpp:2899 +#, fuzzy, kde-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" +"Датотеката не можеше да се зачува во „%1“. Обидете се да ја зачувате на " +"друга локација." + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Expand Whole Section" +msgstr "Презентација" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Collapse Whole Section" +msgstr "Презентација" + +#: part/part.cpp:3172 +#, fuzzy, kde-format +#| msgid "Link the &thumbnails with the page" +msgid "Sync Thumbnail with Page" +msgstr "Поврзи ги сликичките со с&траницата" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Алатки" + +#: part/part.cpp:3381 +#, fuzzy, kde-format +#| msgid "Speak Text" +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "Изговори текст" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "Печатењето на овој документ не е дозволено." + +#: part/part.cpp:3615 +#, fuzzy, kde-format +#| msgid "Could not print the document. Please report to bugs.kde.org" +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "Не можев да го испечатам овој документ. Известете на bugs.kde.org" + +#: part/part.cpp:3617 +#, fuzzy, kde-format +#| msgid "Could not print the document. Please report to bugs.kde.org" +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "Не можев да го испечатам овој документ. Известете на bugs.kde.org" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "Оди на местото каде што сте биле претходно" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "Оди на местото каде што сте биле потоа" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" + +#: part/part.cpp:3803 +#, fuzzy, kde-format +#| msgid "Add Bookmark" +msgid "No Bookmarks" +msgstr "Додај обележувач" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&Оди" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, fuzzy, kde-format +msgid "&Tools" +msgstr "Алатки" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Annotation Toolbar" +msgstr "Презентација" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Quick Annotation Toolbar" +msgstr "Презентација" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "Општи опции" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Пристапливост" + +#: part/preferencesdialog.cpp:42 +#, fuzzy, kde-format +#| msgid "Accessibility" +msgid "Accessibility Reading Aids" +msgstr "Пристапливост" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Перформанси" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "Местење на перформанси" + +#: part/preferencesdialog.cpp:45 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Configure Viewer" +msgstr "Конфигурирај KPDF..." + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Презентација" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "Опции за режимот Презентација" + +#: part/preferencesdialog.cpp:50 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgid "Annotation Options" +msgstr "Својства за %1" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, fuzzy, kde-format +#| msgid "Filter Options" +msgid "Editor Options" +msgstr "Опции за филтер" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "" + +#: part/presentationwidget.cpp:174 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "Презентација" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "" + +#: part/presentationwidget.cpp:233 +#, fuzzy, kde-format +#| msgid "Created" +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "Креирано" + +#: part/presentationwidget.cpp:240 +#, fuzzy, kde-format +msgid "Exit Presentation Mode" +msgstr "Опции за режимот Презентација" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Наслов: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Страници: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "Кликнете за да почнете" + +#: part/presentationwidget.cpp:521 +#, fuzzy, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "Страници" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"Има два начини да се излезе од режимот презентација. Можете да го притиснете " +"тастерот ESC или да кликнете на копчето за напуштање што се појавува кога ќе " +"го поставите глушецот во горниот десен агол. Секако, може да се движите низ " +"прозорците (стандардно со Alt+TAB)" + +#: part/presentationwidget.cpp:1718 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "Презентација" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "Непозната датотека" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "Својства за %1" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "" + +#: part/propertiesdialog.cpp:145 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Reading font information…" +msgstr "Го превчитувам документот..." + +#: part/propertiesdialog.cpp:158 +#, fuzzy, kde-format +#| msgid "&Page:" +msgid "&Page Sizes" +msgstr "Ст&раница:" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Type 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Type 1C" + +#: part/propertiesdialog.cpp:279 +#, fuzzy, kde-format +#| msgid "Type 1C" +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "Type 1C" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Type 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, fuzzy, kde-format +#| msgid "TrueType" +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID Type 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID Type 0C" + +#: part/propertiesdialog.cpp:297 +#, fuzzy, kde-format +#| msgid "CID Type 0C" +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID Type 0C" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, fuzzy, kde-format +#| msgid "CID TrueType" +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "" + +#: part/propertiesdialog.cpp:318 +#, fuzzy, kde-format +#| msgid "Unknown" +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "Непознато" + +#: part/propertiesdialog.cpp:331 +#, fuzzy, kde-format +#| msgid "Embedded" +msgid "Embedded (subset)" +msgstr "Вградено" + +#: part/propertiesdialog.cpp:334 +#, fuzzy, kde-format +#| msgid "Embedded" +msgid "Fully embedded" +msgstr "Вградено" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "" + +#: part/propertiesdialog.cpp:385 +#, fuzzy, kde-format +#| msgid "Unknown Date" +msgid "Unknown font" +msgstr "Непознат датум" + +#: part/propertiesdialog.cpp:391 +#, fuzzy, kde-format +#| msgid "Embedded" +msgid "Embedded: %1" +msgstr "Вградено" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "Име" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "Тип" + +#: part/propertiesdialog.cpp:430 +#, fuzzy, kde-format +msgid "File" +msgstr "Наслов" + +#: part/propertiesdialog.cpp:498 +#, fuzzy, kde-format +#| msgid "Pages:" +msgid "Page" +msgstr "Страници:" + +#: part/propertiesdialog.cpp:501 +#, fuzzy, kde-format +msgid "Size" +msgstr "Наслов" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "" + +#: part/revisionviewer.cpp:56 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not save file %1." +msgstr "Не можев да отворам %1" + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "" + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "Внесете барем три букви за да ги филтрирате страниците" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "Разликува гол. на букви" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "Совпаѓање со фраза" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "Совпаѓање со сите зборови" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "Совпаѓање со кој било збор" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "Опции за филтер" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Certificates" +msgstr "Конфигурирај KPDF..." + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Only QES certificates" +msgstr "Конфигурирај KPDF..." + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, fuzzy, kde-format +#| msgid "Filter Options" +msgid "optional" +msgstr "Опции за филтер" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Location:" +msgstr "Презентација" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, fuzzy, kde-format +#| msgid "Background color:" +msgid "Background:" +msgstr "Боја на подлога:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, fuzzy, kde-format +#| msgid "Background color:" +msgid "Recent backgrounds:" +msgstr "Боја на подлога:" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

    No annotations

    To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
    " +msgstr "" + +#: part/side_reviews.cpp:142 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Group by Page" +msgstr "Одење на страница" + +#: part/side_reviews.cpp:147 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Group by Author" +msgstr "Одење на страница" + +#: part/side_reviews.cpp:155 +#, fuzzy, kde-format +#| msgid "Show bookmarked pages only" +msgid "Show annotations for current page only" +msgstr "Прикажи само обележани страници" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "" + +#: part/signaturepanel.cpp:101 +#, fuzzy, kde-format +#| msgid "&Properties" +msgid "Properties" +msgstr "&Својства" + +#: part/signaturepartutils.cpp:180 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Страници: %1" + +#: part/signaturepartutils.cpp:181 +#, fuzzy, kde-format +#| msgid "Enable &background generation" +msgid "Select background image" +msgstr "Овозможи генерирање во &заднина" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "" + +#: part/signaturepartutils.cpp:244 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Enter document password" +msgstr "Документ за отворање" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:63 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Additional Information" +msgstr "Презентација" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:83 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Document Version" +msgstr "Документ за отворање" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:95 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "View Certificate…" +msgstr "Конфигурирај KPDF..." + +#: part/signaturepropertiesdialog.cpp:97 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "View in Certificate Manager" +msgstr "Конфигурирај KPDF..." + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "Прикажи само обележани страници" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "" + +#: part/videowidget.cpp:146 +#, fuzzy, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Страници" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, kde-format +msgid "&Edit…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, fuzzy, kde-format +#| msgid "Wipe Down" +msgid "Move &Down" +msgstr "Бришење надолу" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "" + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "" + +#: shell/shell.cpp:207 +#, fuzzy, kde-format +#| msgid "Unable to find kpdf part." +msgid "Unable to find the Okular component: %1" +msgstr "Не можам да го пронајдам делот kpdf." + +#: shell/shell.cpp:250 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgid "Sidebar" +msgstr "Прикажи ленти за &движење" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" + +#: shell/shell.cpp:315 +#, fuzzy, kde-format +#| msgid "Unable to find kpdf part." +msgid "Unable to find the Okular component." +msgstr "Не можам да го пронајдам делот kpdf." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"Кликнете за да отворите датотека\n" +"Кликнете и задржете за да отворите неодамнешна датотека" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"Кликнете за да отворите датотека или кликнете и задржете за да " +"отворите неодамнешна датотека" + +#: shell/shell.cpp:582 +#, fuzzy, kde-format +msgid "Next Tab" +msgstr "Сразмерно на страница" + +#: shell/shell.cpp:588 +#, fuzzy, kde-format +#| msgid "Remove Bookmark" +msgid "Previous Tab" +msgstr "Отстрани обележувач" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "" + +#: shell/shell.cpp:603 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgid "Lock Sidebar" +msgstr "Прикажи ленти за &движење" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "" + +#: shell/shell.cpp:708 +#, fuzzy, kde-format +#| msgid "Current mantainer" +msgid "Open Document" +msgstr "Тековен одржувач" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "" + +#: shell/shell.cpp:833 +#, fuzzy, kde-format +#| msgid "" +#| "A file named \"%1\" already exists. Are you sure you want to overwrite it?" +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "" +"Веќе постои датотека со име „%1“. Дали навистина сакате да запишете врз неа?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "" + +#: shell/welcomescreen.cpp:64 +#, fuzzy, kde-format +#| msgid "Speak Text" +msgid "&Copy Path" +msgstr "Изговори текст" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "" + +#: shell/welcomescreen.cpp:137 +#, fuzzy, kde-format +#| msgid "Current mantainer" +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "Тековен одржувач" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, fuzzy, kde-format +#| msgid "Current mantainer" +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Тековен одржувач" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, fuzzy, kde-format +#| msgid "Current mantainer" +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Тековен одржувач" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "" + +#, fuzzy +#~ msgid "Geometry with Comment" +#~ msgstr "&Својства" + +#, fuzzy +#~| msgid "Modified" +#~ msgid "Modified: %1" +#~ msgstr "Изменето" + +#, fuzzy +#~| msgid "Go to Page" +#~ msgid "Go To Page..." +#~ msgstr "Одење на страница" + +#, fuzzy +#~| msgid "Save to File..." +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "Зачувај во датотека..." + +#, fuzzy +#~| msgid "Configure KPDF..." +#~ msgid "Configure Viewer..." +#~ msgstr "Конфигурирај KPDF..." + +#, fuzzy +#~| msgid "Configure KPDF..." +#~ msgid "Configure Viewer Backends..." +#~ msgstr "Конфигурирај KPDF..." + +#, fuzzy +#~| msgid "Unknown" +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "Непознато" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%1:" + +#, fuzzy +#~| msgid "Fit Width" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "Сразмерно со ширината" + +#, fuzzy +#~| msgid "Fit Page" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "Сразмерно на страница" + +#, fuzzy +#~| msgid "Show scroll&bars" +#~ msgid "Show Sidebar" +#~ msgstr "Прикажи ленти за &движење" + +#, fuzzy +#~| msgid "Format" +#~ msgid "Form" +#~ msgstr "Формат" + +#, fuzzy +#~| msgid "Remove Bookmark" +#~ msgid "Remove Bookmarks" +#~ msgstr "Отстрани обележувач" + +#, fuzzy +#~| msgid "Presentation" +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "Презентација" + +#, fuzzy +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "&Својства" + +#, fuzzy +#~| msgid "Speak Text" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "Изговори текст" + +#, fuzzy +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "&Својства" + +#, fuzzy +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "&Својства" + +#, fuzzy +#~ msgid "Highlight in Yellow" +#~ msgstr "&Својства" + +#, fuzzy +#~ msgid "Highlight in Green" +#~ msgstr "&Својства" + +#, fuzzy +#~| msgid "&Select Tool" +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "Алатка за &избирање" + +#, fuzzy +#~| msgid "&Select Tool" +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "Алатка за &избирање" + +#, fuzzy +#~| msgid "&Select Tool" +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "Алатка за &избирање" + +#, fuzzy +#~| msgid "Presentation" +#~ msgid "Bookmark annotation" +#~ msgstr "Презентација" + +#, fuzzy +#~| msgid "Change &Colors" +#~ msgid "&Toggle Change Colors" +#~ msgstr "Смени &бои" + +#, fuzzy +#~| msgid "Default transition:" +#~ msgctxt "@option:check Config dialog, presentation page, transitions" +#~ msgid "Enable transitions" +#~ msgstr "Стандарден преод:" + +#, fuzzy +#~| msgid "Advance every:" +#~ msgctxt "@label:spinbox Config dialog, presentation page" +#~ msgid "Advance every:" +#~ msgstr "Напредувај на секои:" + +#, fuzzy +#~| msgid "Background color:" +#~ msgctxt "@label:listbox Config dialog, general page" +#~ msgid "Custom background color:" +#~ msgstr "Боја на подлога:" + +#~ msgid "Draw border around &Images" +#~ msgstr "Исцртај рамка околу &сликите" + +#, fuzzy +#~| msgid "Author" +#~ msgid "Au&thor:" +#~ msgstr "Автор" + +#, fuzzy +#~| msgid "Filter Options" +#~ msgid "View Options" +#~ msgstr "Опции за филтер" + +#~ msgid "Navigation" +#~ msgstr "Навигација" + +#~ msgid "Show &Navigation Panel" +#~ msgstr "Прикажи панел за &навигација" + +#, fuzzy +#~| msgid "Speak Text" +#~ msgid "Show Text" +#~ msgstr "Изговори текст" + +#, fuzzy +#~| msgid "Icon" +#~ msgid "Large Icons" +#~ msgstr "Икона" + +#, fuzzy +#~| msgid "Created" +#~ msgid "Created: %1" +#~ msgstr "Креирано" + +#, fuzzy +#~| msgid "Title" +#~ msgid "Style" +#~ msgstr "Наслов" + +#, fuzzy +#~ msgid "&Size:" +#~ msgstr "Наслов" + +#, fuzzy +#~| msgid "&Invert colors" +#~ msgid "Inner color:" +#~ msgstr "&Инвертирај бои" + +#, fuzzy +#~| msgid "Pages: %1" +#~ msgid "Name: %1" +#~ msgstr "Страници: %1" + +#, fuzzy +#~ msgid "Size: %1" +#~ msgstr "Наслов" + +#~ msgid "&Browse Tool" +#~ msgstr "&Алатка за прелистување" + +#, fuzzy +#~| msgid "&Select Tool" +#~ msgctxt "Select Tool" +#~ msgid "Selection" +#~ msgstr "Алатка за &избирање" + +#, fuzzy +#~| msgid "&Select Tool" +#~ msgid "&Text Selection Tool" +#~ msgstr "Алатка за &избирање" + +#, fuzzy +#~| msgid "&Select Tool" +#~ msgid "T&able Selection Tool" +#~ msgstr "Алатка за &избирање" + +#, fuzzy +#~| msgid "[none]" +#~ msgid " None" +#~ msgstr "[нема]" + +#, fuzzy +#~| msgid "" +#~| "The document is going to be launched on presentation mode because the " +#~| "file requested it." +#~ msgid "" +#~ "The document requested to be launched in presentation mode.\n" +#~ "Do you want to allow it?" +#~ msgstr "" +#~ "Документот ќе биде стартуван во режим презентација затоа што датотеката " +#~ "тоа го бараше." + +#, fuzzy +#~ msgid "Presentation Mode" +#~ msgstr "Опции за режимот Презентација" + +#, fuzzy +#~ msgid "Allow the presentation mode" +#~ msgstr "Опции за режимот Презентација" + +#, fuzzy +#~| msgid "Options for Presentation Mode" +#~ msgid "Do not allow the presentation mode" +#~ msgstr "Опции за режимот Презентација" + +#, fuzzy +#~| msgid "Save to File..." +#~ msgid "Save &Copy As..." +#~ msgstr "Зачувај во датотека..." + +#~ msgid "" +#~ "End of document reached.\n" +#~ "Continue from the beginning?" +#~ msgstr "" +#~ "Достигнат е крајот на документот.\n" +#~ "Да продолжам од почеток?" + +#, fuzzy +#~| msgid "" +#~| "End of document reached.\n" +#~| "Continue from the beginning?" +#~ msgid "" +#~ "Beginning of document reached.\n" +#~ "Continue from the bottom?" +#~ msgstr "" +#~ "Достигнат е крајот на документот.\n" +#~ "Да продолжам од почеток?" + +#, fuzzy +#~| msgid "Current mantainer" +#~ msgid "Current maintainer" +#~ msgstr "Тековен одржувач" + +#~ msgid " sec." +#~ msgstr " сек." + +#, fuzzy +#~| msgid "Starting KTTSD Failed: %1" +#~ msgid "Starting Jovie Text-to-Speech service Failed: %1" +#~ msgstr "Стартувањето на KTTSD не успеа: %1" + +#, fuzzy +#~| msgid "Always Visible" +#~ msgid "All Visible Columns" +#~ msgstr "Секогаш видлив" + +#~ msgid "No document opened." +#~ msgstr "Нема отворен документ." + +#~ msgid "No matches found for '%1'." +#~ msgstr "Нема најдени совпаѓања за „%1“." + +#, fuzzy +#~ msgid "Ink Properties" +#~ msgstr "&Својства" + +#, fuzzy +#~| msgid "Presentation" +#~ msgctxt "Annotation tool" +#~ msgid "Text Annotation" +#~ msgstr "Презентација" + +#~ msgid "Moves to the first page of the document" +#~ msgstr "Оди на првата страница од документот" + +#~ msgid "Moves to the last page of the document" +#~ msgstr "Оди на последната страница од документот" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "%1 is \"Title\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "%1 is \"File Path\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#, fuzzy +#~| msgid "Overwrite" +#~ msgctxt "@action:button" +#~ msgid "&Overwrite" +#~ msgstr "Запиши" + +#~ msgid "Pages:" +#~ msgstr "Страници:" + +#, fuzzy +#~| msgid "&Properties" +#~ msgid "&Properties..." +#~ msgstr "&Својства" + +#, fuzzy +#~| msgid "Moves to the next page of the document" +#~ msgid "Could not load the necessary plugin to view the document." +#~ msgstr "Оди на наредната страница од документот" + +#, fuzzy +#~| msgid "Advance every:" +#~ msgid "&Advanced" +#~ msgstr "Напредувај на секои:" + +#, fuzzy +#~ msgid "Contents:" +#~ msgstr "&Континуално" + +#~ msgid "Hide &Navigation Panel" +#~ msgstr "Скриј панел за &навигација" + +#, fuzzy +#~| msgid "Page %1" +#~ msgid "page %1" +#~ msgstr "Страница %1" + +#~ msgid "Show &search bar in thumbnails list" +#~ msgstr "Прикажи лента за барање во листата со &сликички" + +#, fuzzy +#~| msgid "General" +#~ msgid "DlgGeneral" +#~ msgstr "Општо" + +#~ msgid "Program Look" +#~ msgstr "Изглед на програмата" + +#~ msgid "Reading Aids" +#~ msgstr "Помагала за читање" + +#, fuzzy +#~| msgid "Could not open %1" +#~ msgid "Click for Open %1" +#~ msgstr "Не можев да отворам %1" + +#, fuzzy +#~ msgid "contents:" +#~ msgstr "&Континуално" + +#, fuzzy +#~| msgid "Pages:" +#~ msgid "flags:" +#~ msgstr "Страници:" + +#~ msgid "&Watch file" +#~ msgstr "Сле&ди датотека" + +#~ msgid "Clear filter" +#~ msgstr "Исчисти филтер" + +#~ msgid "Topic" +#~ msgstr "Тема" + +#~ msgid "Fit to Page &Width" +#~ msgstr "Сразмерно со &ширината на страницата" + +#~ msgid "&Two Pages" +#~ msgstr "&Две страници" + +#~ msgid "Starting -- find text as you type" +#~ msgstr "Стартувам -- барам текст како што пишувате" + +#~ msgid "Security" +#~ msgstr "Безбедност" + +#~ msgid "Optimized" +#~ msgstr "Оптимизирано" + +#~ msgid "Unknown Encryption" +#~ msgstr "Непознато криптирање" + +#~ msgid "Unknown Optimization" +#~ msgstr "Непозната оптимизација" + +#~ msgid "unknown" +#~ msgstr "непознато" + +#~ msgid "-" +#~ msgstr "-" + +#, fuzzy +#~ msgid "kpdf, a kde pdf viewer based on poppler" +#~ msgstr "kpdf е прегледувач на KDE за pdf-датотеки, базиран на xpdf" + +#~ msgid "KPDF::Part" +#~ msgstr "KPDF::Part" + +#~ msgid "Converting from ps to pdf..." +#~ msgstr "Конвертирам од ps во pdf..." + +#~ msgid "" +#~ "You do not have ps2pdf installed, so kpdf cannot open postscript files." +#~ msgstr "" +#~ "Го немате инсталирано ps2pdf и поради тоа kpdf не може да отвора " +#~ "postscript-датотеки." + +#~ msgid "Text found: \"%1\"." +#~ msgstr "Пронајден е текстот: „%1“." + +#~ msgid "Text not found: \"%1\"." +#~ msgstr "Не е пронајден текстот: „%1“." + +#~ msgctxt "PDF v. " +#~ msgid "PDF v. %1" +#~ msgstr "PDF v. %1" + +#~ msgid "" +#~ "The margins you specified change the page aspect ratio. Do you want to " +#~ "print with the aspect ratio changed or do you want the margins to be " +#~ "adapted so that the aspect ratio is preserved?" +#~ msgstr "" +#~ "Маргините што ги наведовте го менуваат размерот на страницата. Дали " +#~ "сакате да печатите со изменетиот размер или сакате да се адаптираат " +#~ "маргините за да се зачува размерот?" + +#~ msgid "Aspect ratio change" +#~ msgstr "Менување размер" + +#~ msgid "Print with specified margins" +#~ msgstr "Печати со наведените маргини" + +#~ msgid "Print adapting margins to keep aspect ratio" +#~ msgstr "Печати со адаптирани маргини за да се задржи размерот" + +#~ msgid "Xpdf author" +#~ msgstr "Автор на Xpdf" + +#~ msgid "" +#~ "You are trying to overwrite \"%1\" with itself. This is not allowed. " +#~ "Please save it in another location." +#~ msgstr "" +#~ "Се обидувате да го пребришете „%1“ со самото себе. Ова не е дозволено. " +#~ "Зачувајте го на друга локација." diff --git a/po/mk/okular_djvu.po b/po/mk/okular_djvu.po new file mode 100644 index 0000000..29cafa1 --- /dev/null +++ b/po/mk/okular_djvu.po @@ -0,0 +1,154 @@ +# translation of okular_djvu.po to Macedonian +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Bozidar Proevski , 2007. +msgid "" +msgstr "" +"Project-Id-Version: okular_djvu\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2007-12-02 22:32+0100\n" +"Last-Translator: Bozidar Proevski \n" +"Language-Team: Macedonian \n" +"Language: mk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: Plural-Forms: nplurals=3; plural=n%10==1 ? 0 : n%10==2 ? 1 : " +"2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Божидар Проевски" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "bobibobi@freemail.com.mk" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "Уредувач" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "Објавувач" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "Гласност" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "Тип документ" + +#: generator_djvu.cpp:141 +#, fuzzy, kde-format +#| msgid "Unknown" +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "Непознато" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "Непознато" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "Единечна страница" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "Индиректен" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "Индексиран (старо)" + +#~ msgid "DjVu Backend" +#~ msgstr "Заден крај за DjVu" + +#, fuzzy +#~| msgid "© 2006-2007 Pino Toscano" +#~ msgid "© 2006-2008 Pino Toscano" +#~ msgstr "© 2006-2007 Pino Toscano" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#, fuzzy +#~| msgid "Unknown" +#~ msgctxt "Unknown title" +#~ msgid "Unknown" +#~ msgstr "Непознато" + +#, fuzzy +#~| msgid "Unknown" +#~ msgctxt "Unknown author" +#~ msgid "Unknown" +#~ msgstr "Непознато" + +#, fuzzy +#~| msgid "Unknown" +#~ msgctxt "Unknown editor" +#~ msgid "Unknown" +#~ msgstr "Непознато" + +#, fuzzy +#~| msgid "Unknown" +#~ msgctxt "Unknown publisher" +#~ msgid "Unknown" +#~ msgstr "Непознато" + +#, fuzzy +#~| msgid "Unknown" +#~ msgctxt "Unknown creation date" +#~ msgid "Unknown" +#~ msgstr "Непознато" + +#, fuzzy +#~| msgid "Unknown" +#~ msgctxt "Unknown volume information" +#~ msgid "Unknown" +#~ msgstr "Непознато" + +#, fuzzy +#~| msgid "Unknown" +#~ msgctxt "Unknown type of document" +#~ msgid "Unknown" +#~ msgstr "Непознато" + +#~ msgid "A DjVu backend" +#~ msgstr "Заден крај за DjVu" diff --git a/po/mk/okular_fictionbook.po b/po/mk/okular_fictionbook.po new file mode 100644 index 0000000..1a7570c --- /dev/null +++ b/po/mk/okular_fictionbook.po @@ -0,0 +1,85 @@ +# translation of okular_fictionbook.po to Macedonian +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Bozidar Proevski , 2007. +msgid "" +msgstr "" +"Project-Id-Version: okular_fictionbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2007-12-02 22:30+0100\n" +"Last-Translator: Bozidar Proevski \n" +"Language-Team: Macedonian \n" +"Language: mk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: Plural-Forms: nplurals=3; plural=n%10==1 ? 0 : n%10==2 ? 1 : " +"2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Божидар Проевски" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "bobibobi@freemail.com.mk" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "Документот не е валидна FictionBook-датотека" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "Не можам да го отворам документот: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "Документот не е валидна ZIP-архива" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "Невалидна структура на документот (недостасува главната папка)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "Нема содржина во документот" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "Невалиден XML-документ: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "" + +#~ msgid "Creator" +#~ msgstr "Креатор" + +#~ msgid "Title" +#~ msgstr "Наслов" + +#~ msgid "Author" +#~ msgstr "Автор" + +#~ msgid "Producer" +#~ msgstr "Производител" + +#~ msgid "Created" +#~ msgstr "Креирано" diff --git a/po/mk/okular_ghostview.po b/po/mk/okular_ghostview.po new file mode 100644 index 0000000..dbce80a --- /dev/null +++ b/po/mk/okular_ghostview.po @@ -0,0 +1,91 @@ +# translation of okular_ghostview.po to Macedonian +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Bozidar Proevski , 2007. +msgid "" +msgstr "" +"Project-Id-Version: okular_ghostview\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2007-12-02 22:27+0100\n" +"Last-Translator: Bozidar Proevski \n" +"Language-Team: Macedonian \n" +"Language: mk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: Plural-Forms: nplurals=3; plural=n%10==1 ? 0 : n%10==2 ? 1 : " +"2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Божидар Проевски" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "bobibobi@freemail.com.mk" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, fuzzy, kde-format +#| msgid "&Use platform fonts" +msgid "Use Platform Fonts" +msgstr "&Користи фонтови од платформата" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "Општи поставувања" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "&Користи фонтови од платформата" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, fuzzy, kde-format +#| msgid "Ghostscript backend configuration" +msgid "Ghostscript Backend Configuration" +msgstr "Конфигурација на задниот крај за Ghostscript" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "Верзија на документот" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "Ниво на јазик" + +#~ msgid "" +#~ "Anti-aliasing makes the result look better, but it makes the display take " +#~ "longer" +#~ msgstr "" +#~ "Измазнувањето го прави резултатот да изгледа подобар, но за прикажувањето " +#~ "е потребно повеќе време" + +#~ msgid "&Enable anti-aliasing of fonts" +#~ msgstr "&Овозможи измазнување на фонтови" + +#~ msgid "&Enable anti-aliasing of graphics" +#~ msgstr "&Овозможи измазнување на графики" diff --git a/po/mk/okular_kimgio.po b/po/mk/okular_kimgio.po new file mode 100644 index 0000000..400750e --- /dev/null +++ b/po/mk/okular_kimgio.po @@ -0,0 +1,74 @@ +# translation of okular_kimgio.po to Macedonian +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Bozidar Proevski , 2007. +msgid "" +msgstr "" +"Project-Id-Version: okular_kimgio\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2007-12-02 22:23+0100\n" +"Last-Translator: Bozidar Proevski \n" +"Language-Team: Macedonian \n" +"Language: mk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: Plural-Forms: nplurals=3; plural=n%10==1 ? 0 : n%10==2 ? 1 : " +"2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Божидар Проевски" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "bobibobi@freemail.com.mk" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "Не можам да го вчитам документот: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" + +#~ msgid "Image Backend" +#~ msgstr "Заден крај за слики" + +#~ msgid "A simple image backend" +#~ msgstr "Едноставен заден крај за слики" + +#, fuzzy +#~| msgid "" +#~| "© 2005 Albert Astals Cid\n" +#~| "© 2006-2007 Pino Toscano\n" +#~| "© 2006-2007 Tobias Koenig" +#~ msgid "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" +#~ msgstr "" +#~ "© 2005 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" + +#~ msgid "Main Toolbar" +#~ msgstr "Главен алатник" diff --git a/po/mk/okular_poppler.po b/po/mk/okular_poppler.po new file mode 100644 index 0000000..2122e07 --- /dev/null +++ b/po/mk/okular_poppler.po @@ -0,0 +1,394 @@ +# translation of okular_poppler.po to Macedonian +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Bozidar Proevski , 2007. +msgid "" +msgstr "" +"Project-Id-Version: okular_poppler\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2007-12-02 22:16+0100\n" +"Last-Translator: Bozidar Proevski \n" +"Language-Team: Macedonian \n" +"Language: mk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: Plural-Forms: nplurals=3; plural=n%10==1 ? 0 : n%10==2 ? 1 : " +"2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Божидар Проевски" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "bobibobi@freemail.com.mk" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "Не" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "Опции за PDF" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "Форсирај растеризација" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "Растеризирај во слика пред печатење" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"Форсира растеризација на секоја страница во слика пред да ја испечати. Ова " +"вообичаено дава нешто полоши резултати, но е корисно кога се печатат " +"документи што изгледаат погрешно испечатени." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "" + +#: generator_pdf.cpp:1031 +#, fuzzy, kde-format +#| msgctxt "PDF v. " +#| msgid "PDF v. %1" +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF в. %1" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "Формат" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "Криптирано" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "Некриптирано" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "Безбедност" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "Да" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "Оптимизирано" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "" + +#: pdfsignatureutils.cpp:239 +#, fuzzy, kde-format +#| msgid "Document Password" +msgid "Enter Password" +msgstr "Лозинка за документот" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "" + +#~ msgid "Unknown" +#~ msgstr "Непознато" + +#~ msgid "Unknown Date" +#~ msgstr "Непознат датум" + +#~ msgid "Unknown Encryption" +#~ msgstr "Непознато криптирање" + +#~ msgid "Unknown Optimization" +#~ msgstr "Непозната оптимизација" + +#, fuzzy +#~| msgid "Please insert the password to read the document:" +#~ msgid "Please enter the password to read the document:" +#~ msgstr "Внесете ја лозинката за читање на документот:" + +#~ msgid "Incorrect password. Try again:" +#~ msgstr "Погрешна лозинка. Обидете се повторно:" diff --git a/po/mk/okular_xps.po b/po/mk/okular_xps.po new file mode 100644 index 0000000..b3a613c --- /dev/null +++ b/po/mk/okular_xps.po @@ -0,0 +1,59 @@ +# translation of okular_xps.po to Macedonian +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Bozidar Proevski , 2007. +msgid "" +msgstr "" +"Project-Id-Version: okular_xps\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2007-12-02 22:21+0100\n" +"Last-Translator: Bozidar Proevski \n" +"Language-Team: Macedonian \n" +"Language: mk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: Plural-Forms: nplurals=3; plural=n%10==1 ? 0 : n%10==2 ? 1 : " +"2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Божидар Проевски" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "bobibobi@freemail.com.mk" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "" + +#~ msgid "XPS Backend" +#~ msgstr "Заден крај за XPS" + +#~ msgid "An XPS backend" +#~ msgstr "Заден крај за XPS" + +#, fuzzy +#~| msgid "" +#~| "© 2006-2007 Brad Hards\n" +#~| "© 2007 Jiri Klement" +#~ msgid "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" +#~ msgstr "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement" + +#~ msgid "Brad Hards" +#~ msgstr "Brad Hards" + +#~ msgid "Jiri Klement" +#~ msgstr "Jiri Klement" diff --git a/po/ml/okular.po b/po/ml/okular.po new file mode 100644 index 0000000..883438f --- /dev/null +++ b/po/ml/okular.po @@ -0,0 +1,5917 @@ +# Malayalam translations for okular package. +# Copyright (C) 2019 This file is copyright: +# This file is distributed under the same license as the okular package. +# Automatically generated, 2019. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-11-28 11:51+0000\n" +"Last-Translator: Weblate Admin \n" +"Language-Team: Swathanthra|സ്വതന്ത്ര Malayalam|മലയാളം Computing|കമ്പ്യൂട്ടിങ്ങ് \n" +"Language: ml\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "അതുൽ രാജ്‌, Muhammed Rustham, സുബിന്‍ സിബി,ആദിത്യ ആർ പൈ" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "arpapps843@gmail.com" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "ഒക്യുലർ" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "ഒക്യുലർ,ഒരു പരിപൂര്‍ണ്ണമായ ഡോക്യുമെന്റ് വ്യൂവർ " + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"(C) 2002 വിൽകോ ഗ്രെവൻ,ക്രിസ്റ്റോഫ് ദിവ്യീസ്\n" +"(C) 2004-2005 എൻറിക്ക റോസ്\n" +"(C) 2005 പിയൂർ സീംമാൻസ്കി\n" +"(C) 2004-2017 ആൽബർട്ട് അസ്റ്റൽസ് സിഡ്\n" +"(C) 2006-2009 പിനോ ടോസ്കാനോ" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "മുൻ പരിപാലകൻ" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "ഡെവലപ്പർ" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "ഒക്യുലർ കെ.പി.ഡി.ഫ് കോഡ് ബേസിൽ നിന്ന് നിർമിക്കപ്പെട്ടതാണ്" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "കെ.പി.ഡി.ഫ് ഡെവലപ്പർ" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "ടേബിൾ സെലെക്ഷൻ ടൂൾ" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "" + +#: core/action.cpp:197 +#, kde-format +msgid "Execute '%1'…" +msgstr "" + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, kde-format +msgid "Go To Page…" +msgstr "" + +#: core/action.cpp:365 +#, kde-format +msgid "Play sound…" +msgstr "" + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "" + +#: core/action.cpp:483 +#, kde-format +msgid "Play movie…" +msgstr "" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
    %1 (%2).

    Please select which one to use:
    " +msgstr "" + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "" + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "" + +#: core/document.cpp:246 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "" + +#: core/document.cpp:248 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "" + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "" + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "" + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "" + +#: core/document.cpp:6032 +#, kde-format +msgid "MIME Type" +msgstr "" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "" + +#: core/generator.cpp:790 +#, kde-format +msgid "Plain &Text…" +msgstr "" + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "" + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "" + +#: core/signatureutils.cpp:504 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" + +#: core/signatureutils.cpp:506 +#, kde-format +msgid "Unknown signing error" +msgstr "" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "" + +#: gui/certificatemodel.cpp:41 +#, kde-format +msgid "Serial Number" +msgstr "" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "" + +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "" + +#: gui/certificatemodel.cpp:53 +#, fuzzy, kde-format +#| msgid "Memory Usage" +msgid "Key Usage" +msgstr "മെമ്മറി ഉപയോഗം " + +#: gui/certificatemodel.cpp:72 +#, fuzzy, kde-format +msgid "V%1" +msgstr "%" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +#| msgid "Draw border around &Images" +msgid "Arrow with Comment" +msgstr "ചിത്രങ്ങളുടെ ചുറ്റും ബോർഡർ വരക്കുക " + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgid "Draw border around &Images" +msgid "Rectangle with Comment" +msgstr "ചിത്രങ്ങളുടെ ചുറ്റും ബോർഡർ വരക്കുക " + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgid "Draw border around &Images" +msgid "Ellipse with Comment" +msgstr "ചിത്രങ്ങളുടെ ചുറ്റും ബോർഡർ വരക്കുക " + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "" + +#: gui/guiutils.cpp:87 +#, kde-format +msgid "Squiggle with Comment" +msgstr "" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "" + +#: gui/guiutils.cpp:91 +#, kde-format +msgid "Underline with Comment" +msgstr "" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out with Comment" +msgstr "" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "" + +#: gui/guiutils.cpp:106 +#, fuzzy, kde-format +#| msgid "Draw border around &Images" +msgid "Freehand Line with Comment" +msgstr "ചിത്രങ്ങളുടെ ചുറ്റും ബോർഡർ വരക്കുക " + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "" + +#: gui/guiutils.cpp:144 +#, kde-format +msgid "Annotation" +msgstr "" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "" + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "" + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "" + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "" + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "" + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "" + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "" + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "" + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "" + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "" + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "" + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "" + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "" + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "" + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "" + +#: gui/signatureguiutils.cpp:151 +#, fuzzy, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr ", " + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "" + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "" + +#: gui/signatureguiutils.cpp:208 +#, kde-format +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "" + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "" + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "" + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" + +#: gui/signaturemodel.cpp:141 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "" + +#: gui/signaturemodel.cpp:177 +#, kde-format +msgid "Location: %1" +msgstr "" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "" + +#: gui/signaturemodel.cpp:193 +#, kde-format +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "" + +#: gui/signaturemodel.cpp:195 +#, kde-format +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "" + +#: gui/signaturemodel.cpp:201 +#, kde-format +msgid "Signature Type: %1" +msgstr "" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "" + +#: part/annotationactionhandler.cpp:151 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:308 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "" + +#: part/annotationactionhandler.cpp:314 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "" + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "" + +#: part/annotationactionhandler.cpp:318 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "" + +#: part/annotationactionhandler.cpp:322 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "" + +#: part/annotationactionhandler.cpp:328 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" + +#: part/annotationactionhandler.cpp:341 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "" + +#: part/annotationactionhandler.cpp:499 +#, fuzzy, kde-format +#| msgid "Paper color:" +msgctxt "@title:window" +msgid "Select color" +msgstr "പേപ്പർ കളർ:" + +#: part/annotationactionhandler.cpp:552 +#, kde-format +msgid "&Annotations" +msgstr "" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "" + +#: part/annotationactionhandler.cpp:554 +#, kde-format +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "" + +#: part/annotationactionhandler.cpp:565 +#, fuzzy, kde-format +#| msgid "Draw border around &Images" +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "ചിത്രങ്ങളുടെ ചുറ്റും ബോർഡർ വരക്കുക " + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "" + +#: part/annotationactionhandler.cpp:651 +#, kde-format +msgid "Quick Annotation Bar" +msgstr "" + +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "" + +#: part/annotationactionhandler.cpp:681 +#, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "" + +#: part/annotationactionhandler.cpp:696 +#, fuzzy, kde-format +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%" + +#: part/annotationmodel.cpp:320 +#, kde-format +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "" + +#: part/annotationpopup.cpp:85 +#, kde-format +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "" +msgstr[1] "" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, kde-format +msgid "Copy Text to Clipboard" +msgstr "" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, kde-format +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, fuzzy, kde-format +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "" + +#: part/annotationwidgets.cpp:387 +#, fuzzy, kde-format +#| msgid "Paper color:" +msgid "Text &color:" +msgstr "പേപ്പർ കളർ:" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "" + +#: part/annotationwidgets.cpp:531 +#, kde-format +msgid "Leader line length:" +msgstr "" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "" + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "" + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "" + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "" + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "" + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +msgstr[1] "" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, kde-format +msgid "Search…" +msgstr "" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, kde-format +msgid "Expand All" +msgstr "" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, kde-format +msgid "Collapse All" +msgstr "" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "" + +#: part/certificateviewer.cpp:50 +#, kde-format +msgid "Export…" +msgstr "" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "" + +#: part/colormodemenu.cpp:21 +#, fuzzy, kde-format +#| msgid "Change &colors" +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "കളർ മാറ്റുക " + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "" + +#: part/colormodemenu.cpp:41 +#, fuzzy, kde-format +#| msgid "Change &colors" +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "കളർ മാറ്റുക " + +#: part/colormodemenu.cpp:42 +#, fuzzy, kde-format +#| msgid "Change Paper Color" +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "പേപ്പർ കളർ മാറ്റുക" + +#: part/colormodemenu.cpp:44 +#, fuzzy, kde-format +#| msgid "Change &colors" +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "കളർ മാറ്റുക " + +#: part/colormodemenu.cpp:46 +#, fuzzy, kde-format +#| msgid "Convert to Black & White" +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "കറുപ്പും വെള്ളയും ആക്കുക " + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "" + +#: part/dlgaccessibility.cpp:38 +#, fuzzy, kde-format +#| msgid "Draw border around &Images" +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "ചിത്രങ്ങളുടെ ചുറ്റും ബോർഡർ വരക്കുക " + +#: part/dlgaccessibility.cpp:48 +#, fuzzy, kde-format +#| msgid "Change &colors" +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "കളർ മാറ്റുക " + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "" + +#: part/dlgaccessibility.cpp:60 +#, fuzzy, kde-format +#| msgid "Change &colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "കളർ മാറ്റുക " + +#: part/dlgaccessibility.cpp:61 +#, fuzzy, kde-format +#| msgid "Change Paper Color" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "പേപ്പർ കളർ മാറ്റുക" + +#: part/dlgaccessibility.cpp:62 +#, fuzzy, kde-format +#| msgid "Change &colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "കളർ മാറ്റുക " + +#: part/dlgaccessibility.cpp:63 +#, fuzzy, kde-format +#| msgid "Convert to Black & White" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "കറുപ്പും വെള്ളയും ആക്കുക " + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "" + +#: part/dlgaccessibility.cpp:87 +#, fuzzy, kde-format +#| msgid "Paper color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "പേപ്പർ കളർ:" + +#: part/dlgaccessibility.cpp:99 +#, fuzzy, kde-format +#| msgid "Dark color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "ഇരുണ്ട നിറം:" + +#: part/dlgaccessibility.cpp:104 +#, fuzzy, kde-format +#| msgid "Light color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "നേരിയ നിറം:" + +#: part/dlgaccessibility.cpp:119 +#, fuzzy, kde-format +#| msgid "Threshold:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "അതിര്‌:" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "" + +#: part/dlgannotations.cpp:25 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "" + +#: part/dlgannotations.cpp:26 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "" + +#: part/dlgannotations.cpp:28 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "" + +#: part/dlgannotations.cpp:34 +#, kde-format +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "" + +#: part/dlgannotations.cpp:38 +#, fuzzy, kde-format +#| msgid "" +#| "Note: the information here is used only for comments and reviews. " +#| "Information inserted here will not be transmitted without your knowledge." +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"അറിയിപ്പ്: ഇവിടെ കൊടുത്തിരിക്കുന്ന വിവരങ്ങൾ അഭിപ്രായപ്രകടനത്തിനും നിരൂപണത്തിനും " +"വേണ്ടി മാത്രം ഉപയോഗപ്പെടുത്തുന്നതാണ്. ഇവിടെ കൊടുത്ത വിവരങ്ങൾ നിങ്ങളുടെ അറിവോടെ അല്ലാതെ " +"ഉപയോഗപെടുത്തില്ല." + +#: part/dlgannotations.cpp:48 +#, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

    Quick Annotation Tools

    " +msgstr "" + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "" + +#: part/dlgeditor.cpp:30 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Kate" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "കെയ്റ്റ്" + +#: part/dlgeditor.cpp:31 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Kile" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "കൈൽ" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "" + +#: part/dlgeditor.cpp:35 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "TeXstudio" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "ടെക്സ്സ്റ്റുഡിയോ" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "" + +#: part/dlgeditor.cpp:37 +#, fuzzy, kde-format +#| msgid "Editor:" +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "എഡിറ്റര്‍:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
    \n" +"You can also put few placeholders:\n" +"
      \n" +"
    • %f - the file name
    • \n" +"
    • %l - the line of the file to be reached
    • \n" +"
    • %c - the column of the file to be reached
    • \n" +"
    \n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" + +#: part/dlgeditor.cpp:63 +#, fuzzy, kde-format +#| msgid "Command:" +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "ആജ്ഞ" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "" + +#: part/dlggeneral.cpp:55 +#, fuzzy, kde-format +#| msgid "Show &hints and info messages" +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "&സൂചനകളും അറിയിപ്പുകളും കാണിക്കുക" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "" + +#: part/dlggeneral.cpp:74 +#, fuzzy, kde-format +#| msgid "Display file name only" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "ഫയലിന്റെ പേര് മാത്രം കാണിക്കുക" + +#: part/dlggeneral.cpp:75 +#, fuzzy, kde-format +#| msgid "Display file name only" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "ഫയലിന്റെ പേര് മാത്രം കാണിക്കുക" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "" + +#: part/dlggeneral.cpp:92 +#, fuzzy, kde-format +#| msgid "Dark color:" +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "ഇരുണ്ട നിറം:" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "" + +#: part/dlggeneral.cpp:121 +#, fuzzy, kde-format +#| msgid "Open new files in &tabs" +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "ഫയലുകള്‍ പുതിയ &ടാബുകളില്‍ തുറക്കുക" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "" + +#: part/dlggeneral.cpp:148 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "" + +#: part/dlggeneral.cpp:220 +#, fuzzy, kde-format +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "" + +#: part/dlggeneral.cpp:228 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%" + +#: part/dlggeneral.cpp:232 +#, fuzzy, kde-format +#| msgid "100%" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "നൂറു ശതമാനം " + +#: part/dlggeneral.cpp:233 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "" + +#: part/dlggeneral.cpp:234 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "" + +#: part/dlgperformance.cpp:28 +#, fuzzy, kde-format +#| msgid "CPU Usage" +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "സി.പി.യു ഉപയോഗം " + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "" + +#: part/dlgperformance.cpp:38 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "" + +#: part/dlgperformance.cpp:40 +#, fuzzy, kde-format +#| msgid "Memory Usage" +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "മെമ്മറി ഉപയോഗം " + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "" + +#: part/dlgperformance.cpp:56 +#, kde-format +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" + +#: part/dlgpresentation.cpp:38 +#, kde-format +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] "" +msgstr[1] "" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "" + +#: part/dlgpresentation.cpp:63 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "" + +#: part/dlgpresentation.cpp:72 +#, fuzzy, kde-format +#| msgid "Dark color:" +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "ഇരുണ്ട നിറം:" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "" + +#: part/dlgpresentation.cpp:121 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

    Drawing Tools

    " +msgstr "" + +#: part/dlgpresentation.cpp:171 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "" + +#: part/dlgpresentation.cpp:172 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "" + +#: part/dlgpresentation.cpp:178 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "" + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "" + +#: part/embeddedfilesdialog.cpp:154 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "" + +#: part/embeddedfilesdialog.cpp:155 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "കാഴ്ച (&V)" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "" + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "" + +#: part/pageview.cpp:594 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "" + +#: part/pageview.cpp:595 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "" + +#: part/pageview.cpp:655 +#, fuzzy, kde-format +#| msgid "Table selection tool" +msgid "Area &Selection" +msgstr "ടേബിൾ സെലെക്ഷൻ ടൂൾ" + +#: part/pageview.cpp:662 +#, fuzzy, kde-format +#| msgid "Table selection tool" +msgid "&Text Selection" +msgstr "ടേബിൾ സെലെക്ഷൻ ടൂൾ" + +#: part/pageview.cpp:669 +#, fuzzy, kde-format +#| msgid "Table selection tool" +msgid "T&able Selection" +msgstr "ടേബിൾ സെലെക്ഷൻ ടൂൾ" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "" + +#: part/pageview.cpp:685 +#, fuzzy, kde-format +#| msgid "Table selection tool" +msgctxt "@action" +msgid "Selection Tools" +msgstr "ടേബിൾ സെലെക്ഷൻ ടൂൾ" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "" + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] "" +msgstr[1] "" + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "" +msgstr[1] "" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "" + +#: part/pageview.cpp:2863 +#, kde-format +msgid "Image (%1 × %2 pixels)" +msgstr "" + +#: part/pageview.cpp:2865 +#, kde-format +msgid "Save to File…" +msgstr "" + +#: part/pageview.cpp:2885 +#, kde-format +msgid "Image [%1 × %2] copied to clipboard." +msgstr "" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "" + +#: part/pageview.cpp:2901 +#, kde-format +msgid "Image [%1 × %2] saved to %3 file." +msgstr "" + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "" + +#: part/pageview.cpp:4107 +#, fuzzy, kde-format +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "" + +#: part/pageview.cpp:4404 +#, kde-format +msgid "Configure Web Shortcuts…" +msgstr "" + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "" + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "" + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "" + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" + +#: part/pageview.cpp:5188 +#, kde-format +msgid "No valid certificates" +msgstr "" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, kde-format +msgid "Open Certificate Manager" +msgstr "" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
    Launch Certificate Manager " +"to import or manage certificates
    For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, kde-format +msgid "No certificates found" +msgstr "" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
    For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgctxt "NAME OF TRANSLATORS" +#| msgid "Your names" +msgid "Author name" +msgstr "അതുൽ രാജ്‌, Muhammed Rustham, സുബിന്‍ സിബി,ആദിത്യ ആർ പൈ" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name for the annotation:" +msgstr "" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Custom annotation name:" +msgstr "" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "ഫയല്‍ (&F)" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "സജ്ജീകരണങ്ങള്‍ (&S)" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
    Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "" + +#: part/part.cpp:748 +#, kde-format +msgid "Configure Okular…" +msgstr "" + +#: part/part.cpp:751 +#, kde-format +msgid "Configure Viewer…" +msgstr "" + +#: part/part.cpp:757 +#, kde-format +msgid "Configure Viewer Backends…" +msgstr "" + +#: part/part.cpp:759 +#, kde-format +msgid "Configure Backends…" +msgstr "" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "" + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "" + +#: part/part.cpp:817 +#, kde-format +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "" + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "" + +#: part/part.cpp:945 +#, kde-format +msgid "&Import PostScript as PDF…" +msgstr "" + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "" + +#: part/part.cpp:962 +#, kde-format +msgid "Configure Annotations…" +msgstr "" + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" + +#: part/part.cpp:1123 +#, kde-format +msgid "Document can't be saved" +msgstr "" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "" + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "" + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "" + +#: part/part.cpp:1357 +#, kde-format +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "" + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" + +#: part/part.cpp:2113 part/part.cpp:2131 +#, kde-format +msgid "Reloading the document…" +msgstr "" + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
    In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "" + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "" + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "" + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "Table selection tool" +msgid "Expand Whole Section" +msgstr "ടേബിൾ സെലെക്ഷൻ ടൂൾ" + +#: part/part.cpp:3159 +#, kde-format +msgid "Collapse Whole Section" +msgstr "" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "" + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "തിരുത്തുക (&E)" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "കാഴ്ച (&V)" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "ഉപകരണങ്ങള്‍ (&T)" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, kde-format +msgid "Quick Annotation Toolbar" +msgstr "" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "എഡിറ്റര്‍" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "" + +#: part/propertiesdialog.cpp:145 +#, kde-format +msgid "Reading font information…" +msgstr "" + +#: part/propertiesdialog.cpp:158 +#, kde-format +msgid "&Page Sizes" +msgstr "" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "" + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "" + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, kde-format +msgid "Certificates" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, kde-format +msgid "Only QES certificates" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, kde-format +msgid "optional" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, fuzzy, kde-format +#| msgid "Dark color:" +msgid "Background:" +msgstr "ഇരുണ്ട നിറം:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, fuzzy, kde-format +#| msgid "Dark color:" +msgid "Recent backgrounds:" +msgstr "ഇരുണ്ട നിറം:" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

    No annotations

    To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
    " +msgstr "" + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "" + +#: part/signaturepartutils.cpp:180 +#, kde-format +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "" + +#: part/signaturepartutils.cpp:244 +#, kde-format +msgid "Enter document password" +msgstr "" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:95 +#, kde-format +msgid "View Certificate…" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:97 +#, kde-format +msgid "View in Certificate Manager" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, fuzzy, kde-format +#| msgid "&Edit" +msgid "&Edit…" +msgstr "തിരുത്തുക (&E)" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "" + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "" + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "" + +#: shell/welcomescreen.cpp:137 +#, kde-format +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, kde-format +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "" + +#, fuzzy +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr "%" + +#, fuzzy +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " %" + +#, fuzzy +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%" + +#, fuzzy +#~| msgid "Paper color:" +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "പേപ്പർ കളർ:" + +#, fuzzy +#~| msgid "Table selection tool" +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "ടേബിൾ സെലെക്ഷൻ ടൂൾ" diff --git a/po/ml/okular_comicbook.po b/po/ml/okular_comicbook.po new file mode 100644 index 0000000..481144f --- /dev/null +++ b/po/ml/okular_comicbook.po @@ -0,0 +1,45 @@ +# Malayalam translations for okular package. +# Copyright (C) 2019 This file is copyright: +# This file is distributed under the same license as the okular package. +# Automatically generated, 2019. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-12-12 21:07+0000\n" +"Last-Translator: Vivek KJ Pazhedath \n" +"Language-Team: Swathanthra|സ്വതന്ത്ര Malayalam|മലയാളം Computing|കമ്പ്യൂട്ടിങ്ങ് \n" +"Language: ml\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "shijualexonline@gmail.com,snalledam@dataone.in,vivekkj2004@gmail.com" + +#: document.cpp:97 +#, kde-format +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "" + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "" + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "" diff --git a/po/ml/okular_djvu.po b/po/ml/okular_djvu.po new file mode 100644 index 0000000..6c0eaf5 --- /dev/null +++ b/po/ml/okular_djvu.po @@ -0,0 +1,96 @@ +# Malayalam translations for okular package. +# Copyright (C) 2019 This file is copyright: +# This file is distributed under the same license as the okular package. +# Automatically generated, 2019. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-12-12 21:05+0000\n" +"Last-Translator: Vivek KJ Pazhedath \n" +"Language-Team: Swathanthra|സ്വതന്ത്ര Malayalam|മലയാളം Computing|കമ്പ്യൂട്ടിങ്ങ് \n" +"Language: ml\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "shijualexonline@gmail.com,snalledam@dataone.in,vivekkj2004@gmail.com" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "പ്രസാധകൻ" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "ഒച്ച " + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "രേഖയുടെ തരം" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "അജ്ഞാതം" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "ഒറ്റ പേജ് " + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "കെട്ടു " + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "പരോക്ഷമായ" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "" diff --git a/po/ml/okular_dvi.po b/po/ml/okular_dvi.po new file mode 100644 index 0000000..0199961 --- /dev/null +++ b/po/ml/okular_dvi.po @@ -0,0 +1,462 @@ +# Malayalam translations for okular package. +# Copyright (C) 2019 This file is copyright: +# This file is distributed under the same license as the okular package. +# Automatically generated, 2019. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-12-12 21:12+0000\n" +"Last-Translator: Vivek KJ Pazhedath \n" +"Language-Team: Swathanthra|സ്വതന്ത്ര Malayalam|മലയാളം Computing|കമ്പ്യൂട്ടിങ്ങ് \n" +"Language: ml\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "shijualexonline@gmail.com,snalledam@dataone.in,vivekkj2004@gmail.com" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

    Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

    Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

    " +msgstr "" + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

    Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

    Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

    " +msgstr "" + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "" + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "" + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "" + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "" + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "" + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

    The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

    What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

    PATH: %2

    " +msgstr "" + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

    The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

    %2

    " +msgstr "" + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "" + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "" + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "" + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "" + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "" + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "" + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "" + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "" + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "" + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
    " +msgstr "" + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
    " +msgstr "" + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "" + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

    Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

    PATH: %1

    %2

    " +msgstr "" + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

    There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
    Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

    PATH: %1

    %2

    " +msgstr "" + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" + +#: fontpool.cpp:482 +#, kde-format +msgid "Currently generating %1 at %2 dpi…" +msgstr "" + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "" + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "" + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "" + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "" + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "" + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "" + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "" + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "" + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "" + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "" + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "" + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "" diff --git a/po/ml/okular_epub.po b/po/ml/okular_epub.po new file mode 100644 index 0000000..841792a --- /dev/null +++ b/po/ml/okular_epub.po @@ -0,0 +1,44 @@ +# Malayalam translations for okular package. +# Copyright (C) 2019 This file is copyright: +# This file is distributed under the same license as the okular package. +# Automatically generated, 2019. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-12-12 21:11+0000\n" +"Last-Translator: Vivek KJ Pazhedath \n" +"Language-Team: Swathanthra|സ്വതന്ത്ര Malayalam|മലയാളം Computing|കമ്പ്യൂട്ടിങ്ങ് \n" +"Language: ml\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "shijualexonline@gmail.com,snalledam@dataone.in,vivekkj2004@gmail.com" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "" diff --git a/po/ml/okular_fax.po b/po/ml/okular_fax.po new file mode 100644 index 0000000..3404976 --- /dev/null +++ b/po/ml/okular_fax.po @@ -0,0 +1,34 @@ +# Malayalam translations for okular package. +# Copyright (C) 2019 This file is copyright: +# This file is distributed under the same license as the okular package. +# Automatically generated, 2019. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-12-12 21:05+0000\n" +"Last-Translator: Vivek KJ Pazhedath \n" +"Language-Team: Swathanthra|സ്വതന്ത്ര Malayalam|മലയാളം Computing|കമ്പ്യൂട്ടിങ്ങ് \n" +"Language: ml\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "അതുൽ രാജ്‌" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "shijualexonline@gmail.com,snalledam@dataone.in,vivekkj2004@gmail.com" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "പ്രമാണം ലോഡുചെയ്യാൻ സാധിച്ചില്ല" diff --git a/po/ml/okular_fictionbook.po b/po/ml/okular_fictionbook.po new file mode 100644 index 0000000..dde612e --- /dev/null +++ b/po/ml/okular_fictionbook.po @@ -0,0 +1,69 @@ +# Malayalam translations for okular package. +# Copyright (C) 2019 This file is copyright: +# This file is distributed under the same license as the okular package. +# Automatically generated, 2019. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-12-12 21:07+0000\n" +"Last-Translator: Vivek KJ Pazhedath \n" +"Language-Team: Swathanthra|സ്വതന്ത്ര Malayalam|മലയാളം Computing|കമ്പ്യൂട്ടിങ്ങ് \n" +"Language: ml\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "shijualexonline@gmail.com,snalledam@dataone.in,vivekkj2004@gmail.com" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "ഡോക്യുമെന്റ് തുറക്കാനായില്ല :%1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "ഫിക്ഷൻ ബുക്ക്" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "" diff --git a/po/ml/okular_ghostview.po b/po/ml/okular_ghostview.po new file mode 100644 index 0000000..100e2c5 --- /dev/null +++ b/po/ml/okular_ghostview.po @@ -0,0 +1,75 @@ +# Malayalam translations for okular package. +# Copyright (C) 2019 This file is copyright: +# This file is distributed under the same license as the okular package. +# Automatically generated, 2019. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-12-12 21:08+0000\n" +"Last-Translator: Vivek KJ Pazhedath \n" +"Language-Team: Swathanthra|സ്വതന്ത്ര Malayalam|മലയാളം Computing|കമ്പ്യൂട്ടിങ്ങ് \n" +"Language: ml\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "shijualexonline@gmail.com,snalledam@dataone.in,vivekkj2004@gmail.com" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "പൊതുവായ ക്രമീകരണങ്ങൾ" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "" diff --git a/po/ml/okular_kimgio.po b/po/ml/okular_kimgio.po new file mode 100644 index 0000000..47b005b --- /dev/null +++ b/po/ml/okular_kimgio.po @@ -0,0 +1,41 @@ +# Malayalam translations for okular package. +# Copyright (C) 2019 This file is copyright: +# This file is distributed under the same license as the okular package. +# Automatically generated, 2019. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-12-12 21:13+0000\n" +"Last-Translator: Vivek KJ Pazhedath \n" +"Language-Team: Swathanthra|സ്വതന്ത്ര Malayalam|മലയാളം Computing|കമ്പ്യൂട്ടിങ്ങ് \n" +"Language: ml\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "shijualexonline@gmail.com,snalledam@dataone.in,vivekkj2004@gmail.com" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "ഡോക്യുമെന്റ് തുറക്കാനായില്ല :%1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" diff --git a/po/ml/okular_markdown.po b/po/ml/okular_markdown.po new file mode 100644 index 0000000..b28ecc1 --- /dev/null +++ b/po/ml/okular_markdown.po @@ -0,0 +1,54 @@ +# Malayalam translations for okular package. +# Copyright (C) 2019 This file is copyright: +# This file is distributed under the same license as the okular package. +# Automatically generated, 2019. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-12-12 21:11+0000\n" +"Last-Translator: Vivek KJ Pazhedath \n" +"Language-Team: Swathanthra|സ്വതന്ത്ര Malayalam|മലയാളം Computing|കമ്പ്യൂട്ടിങ്ങ് \n" +"Language: ml\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "shijualexonline@gmail.com,snalledam@dataone.in,vivekkj2004@gmail.com" + +#: converter.cpp:59 converter.cpp:93 +#, kde-format +msgid "Failed to open the document" +msgstr "" + +#: converter.cpp:106 converter.cpp:124 +#, kde-format +msgid "Failed to compile the Markdown document." +msgstr "" + +#: generator_md.cpp:58 +#, kde-format +msgid "Enable SmartyPants formatting" +msgstr "" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown" +msgstr "" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown Backend Configuration" +msgstr "" diff --git a/po/ml/okular_mobi.po b/po/ml/okular_mobi.po new file mode 100644 index 0000000..03aa27e --- /dev/null +++ b/po/ml/okular_mobi.po @@ -0,0 +1,50 @@ +# Malayalam translations for okular package. +# Copyright (C) 2019 This file is copyright: +# This file is distributed under the same license as the okular package. +# Automatically generated, 2019. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-12-12 21:10+0000\n" +"Last-Translator: Vivek KJ Pazhedath \n" +"Language-Team: Swathanthra|സ്വതന്ത്ര Malayalam|മലയാളം Computing|കമ്പ്യൂട്ടിങ്ങ് \n" +"Language: ml\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "shijualexonline@gmail.com,snalledam@dataone.in,vivekkj2004@gmail.com" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "" + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "" diff --git a/po/ml/okular_poppler.po b/po/ml/okular_poppler.po new file mode 100644 index 0000000..baffec5 --- /dev/null +++ b/po/ml/okular_poppler.po @@ -0,0 +1,370 @@ +# Malayalam translations for okular package. +# Copyright (C) 2019 This file is copyright: +# This file is distributed under the same license as the okular package. +# Automatically generated, 2019. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-12-12 21:10+0000\n" +"Last-Translator: Vivek KJ Pazhedath \n" +"Language-Team: Swathanthra|സ്വതന്ത്ര Malayalam|മലയാളം Computing|കമ്പ്യൂട്ടിങ്ങ് \n" +"Language: ml\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "shijualexonline@gmail.com,snalledam@dataone.in,vivekkj2004@gmail.com" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "നേർത്ത വരികൾ വർദ്ധിപ്പിക്കുക" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "ആകൃതി" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "മുഴുവൻ പേജിലേക്കും വ്യാപിപ്പിക്കുക " + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "മുഴുവൻ പേജിലേക്കും വ്യാപിപ്പിക്കുക " + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "എൻക്രിപ്റ്റ് ചെയ്തിരിക്കുന്നു" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "സുരക്ഷ" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter Password" +msgstr "" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "" + +#~ msgid "Not Available" +#~ msgstr "ലഭ്യമല്ല " diff --git a/po/ml/okular_txt.po b/po/ml/okular_txt.po new file mode 100644 index 0000000..7b84b93 --- /dev/null +++ b/po/ml/okular_txt.po @@ -0,0 +1,39 @@ +# Malayalam translations for okular package. +# Copyright (C) 2019 This file is copyright: +# This file is distributed under the same license as the okular package. +# Automatically generated, 2019. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-12-12 21:08+0000\n" +"Last-Translator: Vivek KJ Pazhedath \n" +"Language-Team: Swathanthra|സ്വതന്ത്ര Malayalam|മലയാളം Computing|കമ്പ്യൂട്ടിങ്ങ് \n" +"Language: ml\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "അതുൽ രാജ്‌" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "shijualexonline@gmail.com,snalledam@dataone.in,vivekkj2004@gmail.com" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "ടി എക്സ് ടി" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "ടി എക്സ് ടി ബാക്ഈഎൻഡ് ക്രമീകരണങ്ങൾ" diff --git a/po/ml/okular_xps.po b/po/ml/okular_xps.po new file mode 100644 index 0000000..7b9e579 --- /dev/null +++ b/po/ml/okular_xps.po @@ -0,0 +1,34 @@ +# Malayalam translations for okular package. +# Copyright (C) 2019 This file is copyright: +# This file is distributed under the same license as the okular package. +# Automatically generated, 2019. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-12-12 21:07+0000\n" +"Last-Translator: Vivek KJ Pazhedath \n" +"Language-Team: Swathanthra|സ്വതന്ത്ര Malayalam|മലയാളം Computing|കമ്പ്യൂട്ടിങ്ങ് \n" +"Language: ml\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "അതുൽ രാജ്" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "shijualexonline@gmail.com,snalledam@dataone.in,vivekkj2004@gmail.com" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "പുനക്രമീകരണം" diff --git a/po/ml/org.kde.active.documentviewer.po b/po/ml/org.kde.active.documentviewer.po new file mode 100644 index 0000000..70de43b --- /dev/null +++ b/po/ml/org.kde.active.documentviewer.po @@ -0,0 +1,209 @@ +# Malayalam translations for okular package. +# Copyright (C) 2019 This file is copyright: +# This file is distributed under the same license as the okular package. +# Automatically generated, 2019. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-12-12 21:14+0000\n" +"Last-Translator: Sabu Siyad \n" +"Language-Team: Swathanthra|സ്വതന്ത്ര Malayalam|മലയാളം Computing|കമ്പ്യൂട്ടിങ്ങ് \n" +"Language: ml\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +msgid "Export…" +msgstr "" + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "" + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "" + +#: ui/Main.qml:49 +msgid "About" +msgstr "" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "" + +#: ui/MainView.qml:29 +msgid "Bookmark this page" +msgstr "" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:96 +msgid "Document Version" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:108 +msgid "Save Signed Version…" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +msgid "View Certificate…" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "" + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "" + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "" + +#: ui/WelcomeView.qml:108 +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "" + +#~ msgid "Search..." +#~ msgstr "തിരയുക..." diff --git a/po/mr/okular.po b/po/mr/okular.po new file mode 100644 index 0000000..7ffa443 --- /dev/null +++ b/po/mr/okular.po @@ -0,0 +1,7130 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Chetan Khona , 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-04-06 13:06+0530\n" +"Last-Translator: Chetan Khona \n" +"Language-Team: Marathi \n" +"Language: mr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" +"X-Generator: Lokalize 1.5\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "चेतन खोना" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "chetan@kompkin.com" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "ओक्युलर" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "ओक्युलर, वैश्विक दस्तऐवज वाचक" + +#: aboutdata.h:23 +#, fuzzy, kde-format +#| msgid "" +#| "(C) 2002 Wilco Greven, Christophe Devriese\n" +#| "(C) 2004-2005 Enrico Ros\n" +#| "(C) 2005 Piotr Szymanski\n" +#| "(C) 2004-2009 Albert Astals Cid\n" +#| "(C) 2006-2009 Pino Toscano" +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"(C) 2002 विल्को ग्रेवेन, ख्रिस्तोप देव्रिश\n" +"(C) 2004-2005 एन्रिको रॉस\n" +"(C) 2005 पायोत्र झिमान्स्की\n" +"(C) 2004-2009 अल्बर्ट अस्ताल्स सिद\n" +"(C) 2006-2009 पिनो तोस्कानो" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "पिनो तोस्कानो" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "माजी देखरेख करणारा" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "तोबियास कोनिंग" + +#: aboutdata.h:32 +#, fuzzy, kde-format +#| msgid "Lots of framework work, ODT and FictionBook backends" +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "बरेचसे चौकटीचे काम, ओडीटी व कादंबरीची पार्श्वभूमी" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "अल्बर्ट अस्ताल्स सिद" + +#: aboutdata.h:33 +#, fuzzy, kde-format +#| msgid "KPDF developer" +msgid "Developer" +msgstr "केपीडीएफ विकसक (डेव्हलपर)" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "पायोत्र झिमान्स्की" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "केपीडीएफ प्रणाली आधारे ओक्युलरची निर्मिती" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "एनरिको रॉस" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "केपीडीएफ विकसक (डेव्हलपर)" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "यूजिन ट्रौनेव्ह" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "टिप्पणीचे कलाकौशल्य" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "जिरी बॉम - निक्ता (एनआयसीटीए)" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "कोष्टक निवड साधन" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "फाबिओ डी उर्सो" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "टिप्पणी सुधारणा" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "%1 या पानावर जा " + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "बाह्य फाईल उघडा" + +#: core/action.cpp:197 +#, fuzzy, kde-format +#| msgid "Execute '%1'..." +msgid "Execute '%1'…" +msgstr "'%1' अंमलात आणा ..." + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "पहिले पान" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "मागचे पान" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "पुढचे पान" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "शेवटचे पान" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "मागे" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "पुढे" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "बंद करा" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "सादरीकरण सुरु करा" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "सादरीकरण बंद करा" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go To Page…" +msgstr "या पानावर जा" + +#: core/action.cpp:365 +#, fuzzy, kde-format +#| msgid "Play sound..." +msgid "Play sound…" +msgstr "ध्वनी वापरा" + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "जावास्क्रिप्ट स्क्रिप्ट" + +#: core/action.cpp:483 +#, fuzzy, kde-format +#| msgid "Play movie" +msgid "Play movie…" +msgstr "मूव्ही चालू करा" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "मूव्ही चालू करा" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "मूव्ही थांबवा" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "मूव्ही थांबवा" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "मूव्ही सुरु करा" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "पार्श्वभूमी निवड" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
    %1 (%2).

    Please select which one to use:
    " +msgstr "" +"माईमटाईपसाठी एकाहून अधिक बॅकएन्ड सापडलेः
    %1 (%2).

    कृपया त्यापैकी कोणता वापरायचा ते निवडा :
    " + +#: core/document.cpp:200 +#, fuzzy, kde-format +#| msgid "Go to page %1" +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "%1 या पानावर जा " + +#: core/document.cpp:221 +#, fuzzy, kde-format +#| msgctxt "paper size" +#| msgid "portrait C5E" +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "पोर्ट्रेट C5E" + +#: core/document.cpp:223 +#, fuzzy, kde-format +#| msgctxt "paper size" +#| msgid "landscape C5E" +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "लँडस्केप C5E" + +#: core/document.cpp:246 +#, fuzzy, kde-format +#| msgctxt "%1 is width, %2 is height, %3 is paper size name" +#| msgid "%1 x %2 in (%3)" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 x %2 आत (%3)" + +#: core/document.cpp:248 +#, fuzzy, kde-format +#| msgctxt "%1 is width, %2 is height, %3 is paper size name" +#| msgid "%1 x %2 mm (%3)" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 x %2 mm (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "दस्तऐवजास मंजुरी मिळेल अशी प्लग इन सापडू शकली नाही." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "टीपा काढून टाका" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"हे दस्तऐवजाचे पान बाह्य उपयोजन चालवण्याचा प्रयत्न करत आहे व, तुमच्या सुरक्षिततेसाठी ओक्युलर " +"याला परवानगी देत नाही." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "माइमटाईप %1 प्रकारची फाईल उघडण्यासाठी कोणताही अनुप्रयोग सापडला नाही." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "तात्पुरती फाईल उघडता आली नाही." + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "छपाई बदल अयशस्वी" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "छपाई प्रक्रीया नष्ट" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "छपाई प्रक्रीया सुरु होऊ शकत नाही" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "फाईलमध्ये छपाई करणे अयशस्वी" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "प्रिंटर अयोग्य स्थितीत" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "छपाईसाठी फाईल सापडू शकत नाही" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "छपाईसाठी कोणतीही फाईल नाही" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"छपाईसाठी योग्य बायनरी सापडले नाही. सीयूपीएस १पीआर बायनरी उपलब्ध असल्याची खात्री " +"करून घ्या" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "'%1' उघडता आले नाही. फाईल अस्तित्वात नाही" + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "शिर्षक" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "विषय" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "वर्णन" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "लेखक" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "उत्पादक" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "निर्माता" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "कॉपीराईट" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "पाने" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "बनविले" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "सुधारले" + +#: core/document.cpp:6032 +#, fuzzy, kde-format +#| msgid "Mime Type" +msgid "MIME Type" +msgstr "माईमटाईप" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "वर्ग" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "परवलीचे शब्द" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "फाईलचा मार्ग" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "फाईलचा आकार" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "पानाचा आकार" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "टीप जोडा" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "टीप काढून टाका" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "टीपा गुणधर्म बदला" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "टीप भाषांतरण करा" + +#: core/documentcommands.cpp:263 +#, fuzzy, kde-format +#| msgctxt "Add an annotation to the page" +#| msgid "add annotation" +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "टीप जोडा" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "मजकूर संपादित करा" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "टीप मजकूर संपादित करा" + +#: core/documentcommands.cpp:447 +#, fuzzy, kde-format +#| msgctxt "Edit an annotation's text contents" +#| msgid "edit annotation contents" +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "टीप मजकूर संपादित करा" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "" + +#: core/generator.cpp:790 +#, fuzzy, kde-format +#| msgid "Plain &Text..." +msgid "Plain &Text…" +msgstr "साधा मजकूर (&T) ..." + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "पीडीएफ" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "ओपनडोक्युमेंट मजकूर" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "एचटीएमएल" + +#: core/printoptionswidget.cpp:19 +#, fuzzy, kde-format +#| msgid "Editor Options" +msgid "Print Options" +msgstr "संपादकाचे पर्याय" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#: core/printoptionswidget.cpp:25 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgid "Scale mode:" +msgstr "रंग पध्दत:" + +#: core/script/js_app.cpp:206 +#, fuzzy, kde-format +#| msgid "Close this message" +msgid "Do not show this message again" +msgstr "हा संदेश बंद करा" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, fuzzy, kde-format +#| msgid "No description available." +msgid "Not Available" +msgstr "वर्णन उपलब्ध नाही" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "" + +#: core/signatureutils.cpp:504 +#, fuzzy, kde-kuit-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "'%1' मध्ये फाईल साठवता आली नाही. दुसऱ्या ठिकाणी साठवण्याचा प्रयत्न करा." + +#: core/signatureutils.cpp:506 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown signing error" +msgstr "अपरिचीत फाईल" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "स्रोत : %1" + +#: core/textdocumentsettings.cpp:34 +#, fuzzy, kde-format +#| msgid "&Default Zoom:" +msgid "&Default Font:" +msgstr "सुरुवातीचे वर्धन (&D)" + +#: gui/certificatemodel.cpp:39 +#, fuzzy, kde-format +#| msgctxt "A document format, Okular-specific" +#| msgid "Document Archive" +msgid "Version" +msgstr "दस्तऐवजाची साठवण" + +#: gui/certificatemodel.cpp:41 +#, fuzzy, kde-format +#| msgid "Page Number" +msgid "Serial Number" +msgstr "पान क्रमांक" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, fuzzy, kde-format +#| msgid "Expired" +msgid "Expires On" +msgstr "मुदतबाह्य" + +#: gui/certificatemodel.cpp:49 +#, fuzzy, kde-format +#| msgid "Subject" +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "विषय" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "" + +#: gui/certificatemodel.cpp:53 +#, fuzzy, kde-format +#| msgid "Memory Usage" +msgid "Key Usage" +msgstr "मेमरीचा वापर" + +#: gui/certificatemodel.cpp:72 +#, fuzzy, kde-format +#| msgid "%1:" +msgid "V%1" +msgstr "%1" + +#: gui/certificatemodel.cpp:84 +#, fuzzy, kde-format +#| msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +#| msgid "%1 (%2)" +msgid "%1 (%2 bits)" +msgstr "%1 (%2)" + +#: gui/certificatemodel.cpp:146 +#, fuzzy, kde-format +#| msgid "&Properties" +msgid "Property" +msgstr "गुणधर्म (&P)" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, fuzzy, kde-format +#| msgid "&Open Pop-up Note" +msgid "Pop-up Note" +msgstr "पॉप-अप टीप उघडा (&O)" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "इनलाईन नोंद" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +#| msgid "For Comment" +msgid "Arrow with Comment" +msgstr "प्रतिक्रियेसाठी" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "" + +#: gui/guiutils.cpp:59 +#, fuzzy, kde-format +#| msgid "Line Properties" +msgid "Straight Line with Comment" +msgstr "रेषा गुणधर्म" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, fuzzy, kde-format +#| msgid "Straight Yellow Line" +msgid "Straight Line" +msgstr "सरळ पिवळी रेषा" + +#: gui/guiutils.cpp:63 +#, fuzzy, kde-format +#| msgid "For Comment" +msgid "Polygon with Comment" +msgstr "प्रतिक्रियेसाठी" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, fuzzy, kde-format +#| msgid "Blue Polygon" +msgid "Polygon" +msgstr "निळी बहुभुजाकृती" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgid "Strike out" +msgid "Rectangle with Comment" +msgstr "रद्द करा" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "चौकोन" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgid "Underline" +msgid "Ellipse with Comment" +msgstr "अधोरेखित" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "लंबवर्तुळ" + +#: gui/guiutils.cpp:83 +#, fuzzy, kde-format +#| msgid "Highlight" +msgid "Highlight with Comment" +msgstr "ठसवा" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "ठसवा" + +#: gui/guiutils.cpp:87 +#, fuzzy, kde-format +#| msgid "Squiggly" +msgid "Squiggle with Comment" +msgstr "वक्र" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, fuzzy, kde-format +#| msgid "Squiggly" +msgid "Squiggle" +msgstr "वक्र" + +#: gui/guiutils.cpp:91 +#, fuzzy, kde-format +#| msgid "Underline" +msgid "Underline with Comment" +msgstr "अधोरेखित" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "अधोरेखित" + +#: gui/guiutils.cpp:95 +#, fuzzy, kde-format +#| msgid "Strike out" +msgid "Strike Out with Comment" +msgstr "रद्द करा" + +#: gui/guiutils.cpp:95 +#, fuzzy, kde-format +#| msgid "Strike out" +msgid "Strike Out" +msgstr "रद्द करा" + +#: gui/guiutils.cpp:102 +#, fuzzy, kde-format +#| msgid "Strike out" +msgid "Stamp with Comment" +msgstr "रद्द करा" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "छापा" + +#: gui/guiutils.cpp:106 +#, fuzzy, kde-format +#| msgid "Line Properties" +msgid "Freehand Line with Comment" +msgstr "रेषा गुणधर्म" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, fuzzy, kde-format +#| msgid "Green Freehand Line" +msgid "Freehand Line" +msgstr "हिरवी मुक्तहस्त रेषा" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "कॅरेट" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "फाईलची जुळवणी" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "ध्वनी" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "चित्रपट" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "स्क्रीन" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "विजेट" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation" +msgstr "टीप" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "अपरिचीत" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "लेखक %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "तुम्हाला %1 कोठे साठवायचे आहे?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "लिहिण्यासाठी \"%1\" उघडता आले नाही. फाईल साठवली नव्हती" + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "" + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "" + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "" + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "" + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "" + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "" + +#: gui/signatureguiutils.cpp:60 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Certificate is Trusted." +msgstr "वाचकाचे संमिलीकरण" + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "" + +#: gui/signatureguiutils.cpp:64 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Certificate issuer is unknown." +msgstr "वाचकाचे संमिलीकरण" + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "" + +#: gui/signatureguiutils.cpp:68 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Certificate has Expired." +msgstr "वाचकाचे संमिलीकरण" + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "" + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "" + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "" + +#: gui/signatureguiutils.cpp:96 +#, fuzzy, kde-format +#| msgid "Unknown font" +msgid "Unknown Algorithm" +msgstr "अपरिचीत फॉंट" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown Type" +msgstr "अपरिचीत फाईल" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "" + +#: gui/signatureguiutils.cpp:135 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Sign Certificate" +msgstr "वाचकाचे संमिलीकरण" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr "" + +#: gui/signatureguiutils.cpp:165 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "The document has not been modified since it was signed." +msgstr "या दस्तऐवजाच्या छपाईची परवानगी नाही" + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "" + +#: gui/signatureguiutils.cpp:208 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "या दस्तऐवजाच्या छपाईची परवानगी नाही" + +#: gui/signatureguiutils.cpp:211 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "This document is digitally signed." +msgstr "या दस्तऐवजाच्या छपाईची परवानगी नाही" + +#: gui/signatureguiutils.cpp:213 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "या दस्तऐवजाच्या छपाईची परवानगी नाही" + +#: gui/signatureguiutils.cpp:216 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "या दस्तऐवजाच्या छपाईची परवानगी नाही" + +#: gui/signaturemodel.cpp:141 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "कॅरेट गुणधर्म" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "" + +#: gui/signaturemodel.cpp:172 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgid "Reason: %1" +msgstr "पानेः %1" + +#: gui/signaturemodel.cpp:177 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Location: %1" +msgstr "टीप" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "" + +#: gui/signaturemodel.cpp:193 +#, fuzzy, kde-format +#| msgctxt "Unknown author" +#| msgid "Unknown" +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "अपरिचीत" + +#: gui/signaturemodel.cpp:195 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "कॅरेट गुणधर्म" + +#: gui/signaturemodel.cpp:201 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgid "Signature Type: %1" +msgstr "कॅरेट गुणधर्म" + +#: part/annotationactionhandler.cpp:148 +#, fuzzy, kde-format +#| msgid "Reloa&d" +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "पुन्हा दाखल करा (D)" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "" + +#: part/annotationactionhandler.cpp:150 +#, fuzzy, kde-format +#| msgid "Allow" +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "परवानगी द्या" + +#: part/annotationactionhandler.cpp:151 +#, fuzzy, kde-format +#| msgctxt "Caption for a screen annotation" +#| msgid "Screen" +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "स्क्रीन" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "रुंदीप्रमाणे समर्पक बसवा" + +#: part/annotationactionhandler.cpp:252 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:308 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "टीपा गुणधर्म" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "" + +#: part/annotationactionhandler.cpp:314 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "टीप" + +#: part/annotationactionhandler.cpp:316 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "टीप" + +#: part/annotationactionhandler.cpp:318 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "टीप" + +#: part/annotationactionhandler.cpp:322 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "टीप" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "" + +#: part/annotationactionhandler.cpp:328 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "टीप" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" + +#: part/annotationactionhandler.cpp:341 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "टीपा गुणधर्म" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "" + +#: part/annotationactionhandler.cpp:432 +#, fuzzy, kde-format +#| msgid "&Color:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "रंग (&C):" + +#: part/annotationactionhandler.cpp:434 +#, fuzzy, kde-format +#| msgid "&Color:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "रंग (&C):" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "" + +#: part/annotationactionhandler.cpp:499 +#, fuzzy, kde-format +#| msgid "&Selection Tool" +msgctxt "@title:window" +msgid "Select color" +msgstr "निवड साधन (&S)" + +#: part/annotationactionhandler.cpp:552 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "&Annotations" +msgstr "टीप" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "" + +#: part/annotationactionhandler.cpp:554 +#, fuzzy, kde-format +#| msgctxt "Remove an annotation from the page" +#| msgid "remove annotation" +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "टीप काढून टाका" + +#: part/annotationactionhandler.cpp:557 +#, fuzzy, kde-format +#| msgid "Highlight" +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "ठसवा" + +#: part/annotationactionhandler.cpp:558 +#, fuzzy, kde-format +#| msgid "Underline" +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "अधोरेखित" + +#: part/annotationactionhandler.cpp:559 +#, fuzzy, kde-format +#| msgid "Squiggly" +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "वक्र" + +#: part/annotationactionhandler.cpp:560 +#, fuzzy, kde-format +#| msgid "Strike out" +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "रद्द करा" + +#: part/annotationactionhandler.cpp:562 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "कॅरेट गुणधर्म" + +#: part/annotationactionhandler.cpp:563 +#, fuzzy, kde-format +#| msgid "Inline Note" +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "इनलाईन नोंद" + +#: part/annotationactionhandler.cpp:564 +#, fuzzy, kde-format +#| msgid "&Open Pop-up Note" +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "पॉप-अप टीप उघडा (&O)" + +#: part/annotationactionhandler.cpp:565 +#, fuzzy, kde-format +#| msgid "Green Freehand Line" +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "हिरवी मुक्तहस्त रेषा" + +#: part/annotationactionhandler.cpp:567 +#, fuzzy, kde-format +#| msgid "Straight Yellow Line" +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "सरळ पिवळी रेषा" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "" + +#: part/annotationactionhandler.cpp:569 +#, fuzzy, kde-format +#| msgid "Rectangle" +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "चौकोन" + +#: part/annotationactionhandler.cpp:570 +#, fuzzy, kde-format +#| msgid "Ellipse" +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "लंबवर्तुळ" + +#: part/annotationactionhandler.cpp:571 +#, fuzzy, kde-format +#| msgid "Blue Polygon" +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "निळी बहुभुजाकृती" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "" + +#: part/annotationactionhandler.cpp:618 +#, fuzzy, kde-format +#| msgid "Stamp" +msgctxt "@action" +msgid "Stamp" +msgstr "छापा" + +#: part/annotationactionhandler.cpp:638 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "टीप" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "" + +#: part/annotationactionhandler.cpp:651 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Quick Annotation Bar" +msgstr "टीप" + +#: part/annotationactionhandler.cpp:665 +#, fuzzy, kde-format +#| msgctxt "Add an annotation to the page" +#| msgid "add annotation" +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "टीप जोडा" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "" + +#: part/annotationactionhandler.cpp:669 +#, fuzzy, kde-format +#| msgctxt "Remove an annotation from the page" +#| msgid "remove annotation" +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "टीप काढून टाका" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "" + +#: part/annotationactionhandler.cpp:680 +#, fuzzy, kde-format +#| msgid "Font:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "फॉन्ट" + +#: part/annotationactionhandler.cpp:681 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "टीपा गुणधर्म" + +#: part/annotationactionhandler.cpp:684 +#, fuzzy, kde-format +#| msgid "Line" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "रेषा" + +#: part/annotationactionhandler.cpp:693 +#, fuzzy, kde-format +#| msgid "&Opacity:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "पारदर्शिता (&O):" + +#: part/annotationactionhandler.cpp:696 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1" + +#: part/annotationmodel.cpp:320 +#, fuzzy, kde-format +#| msgid "Page %1" +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "पान %1" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "पान %1" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "टीप" +msgstr[1] "%1 टीपा" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "पॉप-अप टीप उघडा (&O)" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "ओळखचिन्ह काढून टाका" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "ओळखचिन्ह जोडा" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Text to Clipboard" +msgstr "चिकटपट्टीवर प्रत करा" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "डीआरएमकडून प्रत बनविण्यास बंदी" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "काढून टाका (&D)" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "गुणधर्म (&P)" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, fuzzy, kde-format +#| msgctxt "%1 is the name of the file to save" +#| msgid "&Save '%1'..." +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "'%1' साठवा (&S) ..." + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "प्रकटन (&A)" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "सामान्य (&G)" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "लेखक (&A):" + +#: part/annotationpropertiesdialog.cpp:69 +#, fuzzy, kde-format +#| msgid "Created" +msgid "Created:" +msgstr "बनविले" + +#: part/annotationpropertiesdialog.cpp:74 +#, fuzzy, kde-format +#| msgid "Modified" +msgid "Modified:" +msgstr "सुधारले" + +#: part/annotationpropertiesdialog.cpp:108 +#, fuzzy, kde-format +#| msgid "Note Properties" +msgid "Pop-up Note Properties" +msgstr "नोंद गुणधर्म" + +#: part/annotationpropertiesdialog.cpp:111 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgid "Typewriter Properties" +msgstr "कॅरेट गुणधर्म" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "इनलाईन नोंद गुणधर्म" + +#: part/annotationpropertiesdialog.cpp:119 +#, fuzzy, kde-format +#| msgid "Line Properties" +msgid "Straight Line Properties" +msgstr "रेषा गुणधर्म" + +#: part/annotationpropertiesdialog.cpp:121 +#, fuzzy, kde-format +#| msgid "Sound Properties" +msgid "Polygon Properties" +msgstr "ध्वनी गुणधर्म" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "भूमिती गुणधर्म" + +#: part/annotationpropertiesdialog.cpp:128 +#, fuzzy, kde-format +#| msgid "Stamp Properties" +msgid "Text Markup Properties" +msgstr "गुणधर्म ठसवा" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "गुणधर्म ठसवा" + +#: part/annotationpropertiesdialog.cpp:134 +#, fuzzy, kde-format +#| msgid "Line Properties" +msgid "Freehand Line Properties" +msgstr "रेषा गुणधर्म" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "कॅरेट गुणधर्म" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "फाईल जुळवणीचे गुणधर्म" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "ध्वनी गुणधर्म" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "चलचित्र गुणधर्म" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "टीपा गुणधर्म" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Put a stamp symbol" +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "छापण्याचे चिन्ह ठेवा" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "रंग (&C):" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%1" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "पारदर्शिता (&O):" + +#: part/annotationwidgets.cpp:363 +#, fuzzy, kde-format +#| msgid "Icon" +msgid "Icon:" +msgstr "चिन्ह" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "प्रतिक्रिया" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "मदत" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "अंतर्भूत करा" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "कळ" + +#: part/annotationwidgets.cpp:368 +#, fuzzy, kde-format +#| msgid "New Paragraph" +msgid "New paragraph" +msgstr "नवीन परिच्छेद" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "नोंद" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "परिच्छेद" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "फॉन्ट" + +#: part/annotationwidgets.cpp:387 +#, fuzzy, kde-format +#| msgid "&Color:" +msgid "Text &color:" +msgstr "रंग (&C):" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "" + +#: part/annotationwidgets.cpp:395 +#, fuzzy, kde-format +#| msgctxt "Rotate left" +#| msgid "Left" +msgid "Left" +msgstr "डावीकडे" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "" + +#: part/annotationwidgets.cpp:397 +#, fuzzy, kde-format +#| msgctxt "Rotate right" +#| msgid "Right" +msgid "Right" +msgstr "उजवीकडे" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "मंजूर" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "आहे तसे" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "गोपनीय" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "विभागीय" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "मसुदा" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "प्रायोगिक" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "मुदतबाह्य" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "अंतिम" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "प्रतिक्रियेसाठी" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "सार्वजनिक आवृत्ती" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "मंजुरी नाही" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "सार्वजनिक आवृत्तीसाठी नाही" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "विकले" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "परम गोपनीय" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "ओळखचिन्ह" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "माहिती" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "केडीई" + +#: part/annotationwidgets.cpp:451 +#, fuzzy, kde-format +#| msgid "Stamp Symbol" +msgid "Stamp symbol:" +msgstr "प्रतीक ठसा" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgid "&Width:" +msgstr "रुंदीप्रमाणे समर्पक बसवा" + +#: part/annotationwidgets.cpp:504 +#, fuzzy, kde-format +#| msgid "Line" +msgid "Line start:" +msgstr "रेषा" + +#: part/annotationwidgets.cpp:506 +#, fuzzy, kde-format +#| msgid "Line" +msgid "Line end:" +msgstr "रेषा" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:514 +#, fuzzy, kde-format +#| msgctxt "Symbol for caret annotations" +#| msgid "None" +msgid "None" +msgstr "काही नाही" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "" + +#: part/annotationwidgets.cpp:531 +#, fuzzy, kde-format +#| msgid "Leader Line Length:" +msgid "Leader line length:" +msgstr "मुख्य रेषेची लांबी :" + +#: part/annotationwidgets.cpp:533 +#, fuzzy, kde-format +#| msgid "Leader Line Extensions Length:" +msgid "Leader line extensions length:" +msgstr "मुख्य रेषेच्या वृध्दीची लांबी :" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Shape fill:" +msgstr "फाईल मध्ये साठवा..." + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "प्रकार :" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "रद्द करा" + +#: part/annotationwidgets.cpp:745 +#, fuzzy, kde-format +#| msgid "File Attachment Symbol" +msgid "File attachment symbol:" +msgstr "फाईल जुळवणीचे चिन्ह" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "आलेख" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "पिन दाबा" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "पेपर क्लिप" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "टॅग" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "फाईल" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "उपलब्ध नाही" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "वर्णन उपलब्ध नाही" + +#: part/annotationwidgets.cpp:773 +#, fuzzy, kde-format +#| msgid "Name" +msgid "Name:" +msgstr "नाव" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "वर्णन :" + +#: part/annotationwidgets.cpp:843 +#, fuzzy, kde-format +#| msgid "Caret Symbol" +msgid "Caret symbol:" +msgstr "कॅरेटची खूण" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "काही नाही" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "पी" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "ही नोंद बंद करा" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "पर्याय" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"या टीपेमध्ये लॅटेक्स प्रणाली असू शकते.\n" +"ती वापरण्यासाठी येथे क्लिक करा." + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "लॅटेक्सचा क्रियाप्रेरक सापडला नाही." + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "लॅटेक्स वापरण्यात अपयश" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "dvipngचा क्रियाप्रेरक सापडला नाही." + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "लॅटेक्सची आज्ञा वापरताना समस्या." + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "'dvipng'ची आज्ञा वापरताना समस्या." + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"एक ओळखचिन्ह" +msgstr[1] "" +"%1\n" +"\n" +"%2 ओळखचिन्हे" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "ओळखचिन्ह" + +#: part/bookmarklist.cpp:136 +#, fuzzy, kde-format +#| msgid "End of the document" +msgid "Show for all documents" +msgstr "दस्तऐवजाचा शेवट" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, fuzzy, kde-format +#| msgid "S&earch:" +msgid "Search…" +msgstr "शोध (&E):" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, kde-format +msgid "Expand All" +msgstr "" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, kde-format +msgid "Collapse All" +msgstr "" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "या ओळखचिन्हाकडे जा" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "ओळखचिन्हाचे नाव बदला" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "दस्तऐवज उघडा" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "" + +#: part/certificateviewer.cpp:47 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Certificate Viewer" +msgstr "वाचकाचे संमिलीकरण" + +#: part/certificateviewer.cpp:50 +#, fuzzy, kde-format +#| msgid "E&xport As" +msgid "Export…" +msgstr "अशाप्रकारे पाठवा (&X)" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "सामान्य" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "" + +#: part/certificateviewer.cpp:159 +#, fuzzy, kde-format +#| msgid "Where do you want to save %1?" +msgid "Where do you want to save this certificate?" +msgstr "तुम्हाला %1 कोठे साठवायचे आहे?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "" + +#: part/colormodemenu.cpp:19 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "रंग पध्दत:" + +#: part/colormodemenu.cpp:21 +#, fuzzy, kde-format +#| msgid "Change &colors" +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "बदल व रंग" + +#: part/colormodemenu.cpp:29 +#, fuzzy, kde-format +#| msgid "Normal Icons" +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "मध्यमअल्पचित्रप्रतीके" + +#: part/colormodemenu.cpp:41 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "उलटे रंग" + +#: part/colormodemenu.cpp:42 +#, fuzzy, kde-format +#| msgid "Change Paper Color" +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "कागदाचा रंग बदल" + +#: part/colormodemenu.cpp:44 +#, fuzzy, kde-format +#| msgid "Change Dark & Light Colors" +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "गडद व हलके रंग बदल" + +#: part/colormodemenu.cpp:46 +#, fuzzy, kde-format +#| msgid "Convert to Black & White" +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "काळ्या पांढऱ्यामध्ये बदल" + +#: part/colormodemenu.cpp:49 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "उलटे रंग" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, fuzzy, kde-format +#| msgid "Reloa&d" +msgid "Red" +msgstr "पुन्हा दाखल करा (D)" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, fuzzy, kde-format +#| msgctxt "Caption for a screen annotation" +#| msgid "Screen" +msgid "Green" +msgstr "स्क्रीन" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, fuzzy, kde-format +#| msgid "Allow" +msgid "Yellow" +msgstr "परवानगी द्या" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "पिवळा हायलायटर" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, fuzzy, kde-format +#| msgid "Highlight" +msgid "Green Highlighter" +msgstr "ठसवा" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, fuzzy, kde-format +#| msgid "Insert" +msgid "Insert Text" +msgstr "अंतर्भूत करा" + +#: part/dlgaccessibility.cpp:38 +#, fuzzy, kde-format +#| msgid "Draw border around &Links" +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "सभोवताली व दुव्यांच्याभोवती(लिंक्स) सीमारेखा काढा " + +#: part/dlgaccessibility.cpp:48 +#, fuzzy, kde-format +#| msgid "Change &colors" +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "बदल व रंग" + +#: part/dlgaccessibility.cpp:54 +#, fuzzy, kde-format +#| msgid "Warning: these options can badly affect drawing speed." +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "इशाराः हे पर्याय आरेखनाचा वेग खूपच मंद करू शकतात" + +#: part/dlgaccessibility.cpp:60 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "उलटे रंग" + +#: part/dlgaccessibility.cpp:61 +#, fuzzy, kde-format +#| msgid "Change Paper Color" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "कागदाचा रंग बदल" + +#: part/dlgaccessibility.cpp:62 +#, fuzzy, kde-format +#| msgid "Change Dark & Light Colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "गडद व हलके रंग बदल" + +#: part/dlgaccessibility.cpp:63 +#, fuzzy, kde-format +#| msgid "Convert to Black & White" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "काळ्या पांढऱ्यामध्ये बदल" + +#: part/dlgaccessibility.cpp:64 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "उलटे रंग" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "" + +#: part/dlgaccessibility.cpp:70 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "रंग पध्दत:" + +#: part/dlgaccessibility.cpp:87 +#, fuzzy, kde-format +#| msgid "Paper color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "कागदाचा रंग:" + +#: part/dlgaccessibility.cpp:99 +#, fuzzy, kde-format +#| msgid "Dark color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "गडद रंग:" + +#: part/dlgaccessibility.cpp:104 +#, fuzzy, kde-format +#| msgid "Light color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "हलका रंग:" + +#: part/dlgaccessibility.cpp:119 +#, fuzzy, kde-format +#| msgid "Threshold:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "मर्यादा:" + +#: part/dlgaccessibility.cpp:127 +#, fuzzy, kde-format +#| msgid "Contrast:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "विरोधाभास:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "" + +#: part/dlgaccessibility.cpp:165 +#, fuzzy, kde-format +#| msgid "Text to search for" +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "शोधावयाचा मजकूर" + +#: part/dlgannotations.cpp:25 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "टीप" + +#: part/dlgannotations.cpp:26 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "टीप" + +#: part/dlgannotations.cpp:28 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "टीप" + +#: part/dlgannotations.cpp:34 +#, fuzzy, kde-format +#| msgid "&Author:" +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "लेखक (&A):" + +#: part/dlgannotations.cpp:38 +#, fuzzy, kde-format +#| msgid "" +#| "Note: the information here is used only for comments and reviews. " +#| "Information inserted here will not be transmitted without your knowledge." +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"नोंद : येथे वापरलेली माहिती फक्त प्रतिक्रिया व सूचनांसाठी आहे.येथे वापरलेली माहिती " +"तुमच्या संमतीशिवाय प्रसारित केली जाणार नाही." + +#: part/dlgannotations.cpp:48 +#, fuzzy, kde-format +#| msgctxt "Edit an annotation's text contents" +#| msgid "edit annotation contents" +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

    Quick Annotation Tools

    " +msgstr "टीप मजकूर संपादित करा" + +#: part/dlgeditor.cpp:28 +#, fuzzy, kde-format +#| msgctxt "@info:whatsthis" +#| msgid "" +#| "Choose the editor you want to launch when Okular wants to open a source " +#| "file." +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" +"जेव्हा ओक्युलरला स्रोत फाईल उघडायची असेल तेव्हा तुम्हाला सुरु करायचा असलेला संपादक निवडा" + +#: part/dlgeditor.cpp:29 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Custom Text Editor" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "ऐच्छिक मजकूर संपादक" + +#: part/dlgeditor.cpp:30 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Kate" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "केट" + +#: part/dlgeditor.cpp:31 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Kile" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "काईल" + +#: part/dlgeditor.cpp:32 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "SciTE" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "सायटे" + +#: part/dlgeditor.cpp:33 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Emacs client" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "एमॅक्स ग्राहक" + +#: part/dlgeditor.cpp:34 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Lyx client" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "लिक्स ग्राहक" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "" + +#: part/dlgeditor.cpp:37 +#, fuzzy, kde-format +#| msgid "Editor:" +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "संपादकः" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
    \n" +"You can also put few placeholders:\n" +"
      \n" +"
    • %f - the file name
    • \n" +"
    • %l - the line of the file to be reached
    • \n" +"
    • %c - the column of the file to be reached
    • \n" +"
    \n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "आज्ञा" + +#: part/dlgeditor.cpp:63 +#, fuzzy, kde-format +#| msgid "Command:" +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "आज्ञाः" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "" + +#: part/dlggeneral.cpp:37 +#, fuzzy, kde-format +#| msgid "Appearance" +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "अवतरण (हजेरी)" + +#: part/dlggeneral.cpp:41 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "स्क्रोलबार दर्शवा" + +#: part/dlggeneral.cpp:48 +#, fuzzy, kde-format +#| msgid "Link the &thumbnails with the page" +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "लघुप्रतिमा पानावर जोडा (&T)" + +#: part/dlggeneral.cpp:55 +#, fuzzy, kde-format +#| msgid "Show &hints and info messages" +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "संकेत व माहिती संदेश दर्शवा (&H)" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "" + +#: part/dlggeneral.cpp:68 +#, fuzzy, kde-format +#| msgid "Display document title in titlebar if available" +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "उपलब्ध असल्यास दस्तऐवजाचा मथळा, मथळा पट्टीत दर्शवा" + +#: part/dlggeneral.cpp:74 +#, fuzzy, kde-format +#| msgid "Display file name only" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "फक्त फाईलचे नाव दर्शवा" + +#: part/dlggeneral.cpp:75 +#, fuzzy, kde-format +#| msgid "Display full file path" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "फाईलचा पूर्ण मार्ग दर्शवा" + +#: part/dlggeneral.cpp:77 +#, fuzzy, kde-format +#| msgid "When not displaying document title:" +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "जेव्हा दस्तऐवजाचा मथळा दाखवीत नाही :" + +#: part/dlggeneral.cpp:92 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "पार्श्वभूमीचा रंग" + +#: part/dlggeneral.cpp:114 +#, fuzzy, kde-format +#| msgid "Program Features" +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "कार्यक्रमाचे वैशिष्ट्य" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "" + +#: part/dlggeneral.cpp:139 +#, fuzzy, kde-format +#| msgid "&Obey DRM limitations" +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "डीआरएस मर्यादांचे आज्ञापालन करा (&O)" + +#: part/dlggeneral.cpp:148 +#, fuzzy, kde-format +#| msgid "&Reload document on file change" +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "फाईल बदलल्यावर दस्तऐवज पुन्हा दाखल करा (&R)" + +#: part/dlggeneral.cpp:155 +#, fuzzy, kde-format +#| msgid "Show backend selection dialog" +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "पार्श्वभूमी निवड पर्याय दर्शवा" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, fuzzy, kde-format +#| msgid "Overview &columns:" +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "स्तंभांचा आढावा (&C)" + +#: part/dlggeneral.cpp:220 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%1" + +#: part/dlggeneral.cpp:221 +#, fuzzy, kde-format +#| msgid "" +#| "Defines how much of the current viewing area will still be visible when " +#| "pressing the Page Up/Down keys." +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "पेज अप/डाउन बटने दाबलावर वर्तमान किती प्रदर्शित क्षेत्र दिसत राहील ते ठरवितो." + +#: part/dlggeneral.cpp:223 +#, fuzzy, kde-format +#| msgid "&Page Up/Down overlap:" +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "पेज अप/डाउन ओव्हरलैप (&P):" + +#: part/dlggeneral.cpp:228 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%1" + +#: part/dlggeneral.cpp:232 +#, fuzzy, kde-format +#| msgid "100%" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "100%" + +#: part/dlggeneral.cpp:233 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "रुंदीप्रमाणे समर्पक बसवा" + +#: part/dlggeneral.cpp:234 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "पानाप्रमाणे समर्पक बसवा" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "" + +#: part/dlggeneral.cpp:237 +#, fuzzy, kde-format +#| msgid "" +#| "Defines the default zoom mode for files which were never opened before.\n" +#| "For files which were opened before the previous zoom is applied." +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" +"पूर्वी कधीही न उघडलेल्या फाईलींसाठी सुरुवातीची वर्धित पध्दत ठरवितो (झूम मोड ठरवितो). \n" +"आधी उघडलेल्या फाईलींसाठी आधीची वर्धित पध्दत वापरतो." + +#: part/dlggeneral.cpp:241 +#, fuzzy, kde-format +#| msgid "&Default Zoom:" +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "सुरुवातीचे वर्धन (&D)" + +#: part/dlgperformance.cpp:26 +#, fuzzy, kde-format +#| msgid "Enable &transparency effects" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "ट्रान्स्परन्सी परिणामाला प्रेरित करतो" + +#: part/dlgperformance.cpp:28 +#, fuzzy, kde-format +#| msgid "CPU Usage" +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "सीपीयूचा वापर" + +#: part/dlgperformance.cpp:35 +#, fuzzy, kde-format +#| msgid "&Low" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "कमी (&L)" + +#: part/dlgperformance.cpp:36 +#, fuzzy, kde-format +#| msgid "&Normal (default)" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "सामान्य (सुरुवातीचे) (&N)" + +#: part/dlgperformance.cpp:37 +#, fuzzy, kde-format +#| msgid "&Aggressive" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "आक्रमक (&A)" + +#: part/dlgperformance.cpp:38 +#, fuzzy, kde-format +#| msgid "&Greedy" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "लोभी (&G)" + +#: part/dlgperformance.cpp:40 +#, fuzzy, kde-format +#| msgid "Memory Usage" +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "मेमरीचा वापर" + +#: part/dlgperformance.cpp:54 +#, fuzzy, kde-format +#| msgid "Enable Text Antialias" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "पाठ्य एंटिएलायस कार्यान्वित करा" + +#: part/dlgperformance.cpp:56 +#, fuzzy, kde-format +#| msgid "Rendering" +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "रेंडरींग" + +#: part/dlgperformance.cpp:59 +#, fuzzy, kde-format +#| msgid "Enable Graphics Antialias" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "ग्राफिक्स एंटिएलायस कार्यान्वित करा" + +#: part/dlgperformance.cpp:64 +#, fuzzy, kde-format +#| msgid "Enable Text Hinting" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "पाठ्य हिंटींग कार्यान्वित करा" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "वापरलेली मेमरी शक्य तितकी कमी ठेवा. कशाचाही फेरवापर करू नका." + +#: part/dlgperformance.cpp:80 +#, fuzzy, kde-format +#| msgid "" +#| "A good compromise between memory usage and speed gain. Preload next page " +#| "and boost searches. (For systems with 256MB of memory, typically.)" +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"स्मृतीचा वापर व वाढणारा वेग यांचे चांगले सामंजस्य पुढचे पान पुन्हा दाखल करा व शोधक्रिया " +"गतिमान करतो. (विशेषतः मेमरी २५६MB असणाऱ्या संगणकांसाठी)" + +#: part/dlgperformance.cpp:83 +#, fuzzy, kde-format +#| msgid "" +#| "Keeps everything in memory. Preload next pages. Boost searches. (For " +#| "systems with more than 512MB of memory.)" +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"प्रत्येक गोष्ट स्मृतीत ठेवतो. पुढची पाने अगोदरच दाखल करतो. शोधक्रिया गतिमान करतो. " +"(विशेषतः मेमरी ५१२एमबी असणाऱ्या संगणकांसाठी)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" +"दाखल करून प्रत्येक गोष्ट स्मृतीत ठेवतो. सर्व पाने अगोदरच दाखल करतो. (फक्त एकूण स्मृतीच्या " +"५०% किंवा खुली स्मृती यांतील जे जास्त असेल ते)" + +#: part/dlgpresentation.cpp:38 +#, fuzzy, kde-format +#| msgctxt "Advance every %1 seconds" +#| msgid " second" +#| msgid_plural " seconds" +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] "सेकंद" +msgstr[1] "सेकंद" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "" + +#: part/dlgpresentation.cpp:53 +#, fuzzy, kde-format +#| msgid "Loop after last page" +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "शेवटच्या पानानंतर लूप करा" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "" + +#: part/dlgpresentation.cpp:63 +#, fuzzy, kde-format +#| msgid "Navigation" +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "मार्गक्रमण" + +#: part/dlgpresentation.cpp:72 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "पार्श्वभूमीचा रंग" + +#: part/dlgpresentation.cpp:76 +#, fuzzy, kde-format +#| msgid "Hidden After Delay" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "विलंबानंतर लपविला जातो" + +#: part/dlgpresentation.cpp:77 +#, fuzzy, kde-format +#| msgid "Always Visible" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "नेहमी दृग्गोचर" + +#: part/dlgpresentation.cpp:78 +#, fuzzy, kde-format +#| msgid "Always Hidden" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "नेहमी लपलेला" + +#: part/dlgpresentation.cpp:80 +#, fuzzy, kde-format +#| msgid "Mouse cursor:" +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "माऊसचा कर्सर" + +#: part/dlgpresentation.cpp:84 +#, fuzzy, kde-format +#| msgid "Show &progress indicator" +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "प्रगती मापदंड दर्शवा (&P)" + +#: part/dlgpresentation.cpp:90 +#, fuzzy, kde-format +#| msgid "Show s&ummary page" +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "सारांश पान दर्शवा (&U)" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "" + +#: part/dlgpresentation.cpp:101 +#, fuzzy, kde-format +#| msgid "Replace" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "बदला" + +#: part/dlgpresentation.cpp:102 +#, fuzzy, kde-format +#| msgid "Random Transition" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "विनाक्रम ट्रांझिशन" + +#: part/dlgpresentation.cpp:103 +#, fuzzy, kde-format +#| msgid "Blinds Vertical" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "उभे ब्लाइंडस्" + +#: part/dlgpresentation.cpp:104 +#, fuzzy, kde-format +#| msgid "Blinds Horizontal" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "आडवे ब्लाइंडस्" + +#: part/dlgpresentation.cpp:105 +#, fuzzy, kde-format +#| msgid "Box In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "बॉक्स इन" + +#: part/dlgpresentation.cpp:106 +#, fuzzy, kde-format +#| msgid "Box Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "बॉक्स आउट" + +#: part/dlgpresentation.cpp:107 +#, fuzzy, kde-format +#| msgid "Dissolve" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "विरघळवा" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "" + +#: part/dlgpresentation.cpp:109 +#, fuzzy, kde-format +#| msgid "Glitter Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "ग्लिटर डाउन" + +#: part/dlgpresentation.cpp:110 +#, fuzzy, kde-format +#| msgid "Glitter Right" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "ग्लिटर राईट" + +#: part/dlgpresentation.cpp:111 +#, fuzzy, kde-format +#| msgid "Glitter Right-Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "ग्लिटर राईट-डाउन" + +#: part/dlgpresentation.cpp:112 +#, fuzzy, kde-format +#| msgid "Split Horizontal In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "हॉरिझॉंटल इन विभागा" + +#: part/dlgpresentation.cpp:113 +#, fuzzy, kde-format +#| msgid "Split Horizontal Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "हॉरिझॉंटलआउट विभागा" + +#: part/dlgpresentation.cpp:114 +#, fuzzy, kde-format +#| msgid "Split Vertical In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "व्हर्टिकल इन विभागा" + +#: part/dlgpresentation.cpp:115 +#, fuzzy, kde-format +#| msgid "Split Vertical Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "व्हर्टिकल आउट विभागा" + +#: part/dlgpresentation.cpp:116 +#, fuzzy, kde-format +#| msgid "Wipe Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "खालचे पुसा" + +#: part/dlgpresentation.cpp:117 +#, fuzzy, kde-format +#| msgid "Wipe Right" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "उजवीकडचे पुसा" + +#: part/dlgpresentation.cpp:118 +#, fuzzy, kde-format +#| msgid "Wipe Left" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "डावीकडचे पुसा" + +#: part/dlgpresentation.cpp:119 +#, fuzzy, kde-format +#| msgid "Wipe Up" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "वरचे पुसा" + +#: part/dlgpresentation.cpp:121 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "सुरुवातीचा बदल :" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

    Drawing Tools

    " +msgstr "" + +#: part/dlgpresentation.cpp:171 +#, fuzzy, kde-format +#| msgctxt "@label:listbox The current screen, for the presentation mode" +#| msgid "Current Screen" +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "वर्तमान स्क्रीन" + +#: part/dlgpresentation.cpp:172 +#, fuzzy, kde-format +#| msgctxt "@label:listbox The default screen for the presentation mode" +#| msgid "Default Screen" +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "सुरुवातीची स्क्रीन" + +#: part/dlgpresentation.cpp:178 +#, fuzzy, kde-format +#| msgctxt "@label:listbox %1 is the screen number (0, 1, ...)" +#| msgid "Screen %1" +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "स्क्रीन %1" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, fuzzy, kde-format +#| msgid "Erase Drawings" +msgid "Eraser" +msgstr "आरेखने पुसा" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, fuzzy, kde-format +#| msgid "Name" +msgid "&Name:" +msgstr "नाव" + +#: part/editannottooldialog.cpp:69 +#, fuzzy, kde-format +#| msgid "Type:" +msgid "&Type:" +msgstr "प्रकार :" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "अवतरण (हजेरी)" + +#: part/editannottooldialog.cpp:93 +#, fuzzy, kde-format +#| msgid "Next Bookmark" +msgid "Text markup" +msgstr "पुढील ओळखचिन्ह" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "" + +#: part/editannottooldialog.cpp:101 +#, fuzzy, kde-format +#| msgctxt "Remove an annotation from the page" +#| msgid "remove annotation" +msgid "Create annotation tool" +msgstr "टीप काढून टाका" + +#: part/editannottooldialog.cpp:103 +#, fuzzy, kde-format +#| msgctxt "Edit an annotation's text contents" +#| msgid "edit annotation contents" +msgid "Edit annotation tool" +msgstr "टीप मजकूर संपादित करा" + +#: part/editdrawingtooldialog.cpp:51 +#, fuzzy, kde-format +#| msgid "&Color:" +msgid "Color:" +msgstr "रंग (&C):" + +#: part/editdrawingtooldialog.cpp:58 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgid "&Pen Width:" +msgstr "रुंदीप्रमाणे समर्पक बसवा" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "" + +#: part/editdrawingtooldialog.cpp:79 +#, fuzzy, kde-format +#| msgctxt "Remove an annotation from the page" +#| msgid "remove annotation" +msgid "Create drawing tool" +msgstr "टीप काढून टाका" + +#: part/editdrawingtooldialog.cpp:84 +#, fuzzy, kde-format +#| msgctxt "Edit an annotation's text contents" +#| msgid "edit annotation contents" +msgid "Edit drawing tool" +msgstr "टीप मजकूर संपादित करा" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "अपरिचीत" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "अंतर्गत फाईल्स" + +#: part/embeddedfilesdialog.cpp:62 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:button" +msgid "View" +msgstr "पहा (&V)" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "नाव" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "वर्णन" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "आकार" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "निर्माण केले" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "सुधारले" + +#: part/embeddedfilesdialog.cpp:154 +#, fuzzy, kde-format +#| msgctxt "@action:inmenu" +#| msgid "&Save As..." +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "असे साठवा (&S)..." + +#: part/embeddedfilesdialog.cpp:155 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "पहा (&V)" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "छपाई पूर्वावलोकनचा भाग दाखल होऊ शकला नाही" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "छपाई पूर्वावलोकन" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "बंद करा" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "शोधा (&I):" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "शोधावयाचा मजकूर" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "पुढे" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "पुढील जुळणीवर थेट जा" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "आधीचे" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "आधीच्या जुळणीवर थेट जा" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "शोध पध्दती सुधारा" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "लिपी संवेदनशील" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "वर्तमान पानापासून" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "" + +#: part/formwidgets.cpp:870 +#, fuzzy, kde-format +#| msgid "*|All Files" +msgid "All Files (*)" +msgstr "*|सर्व फाईल्स" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgid "Signature Properties" +msgstr "कॅरेट गुणधर्म" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "शोध पर्याय" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "लिपी संवेदनशील" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "नियमित आविर्भाव" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "क्रमांकाचे पान - एकुण पाने :" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "वर्धन" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "उजवीकडे फिरवा (&R)" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "उजवीकडे" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "डावीकडे फिरवा (&L)" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "डावीकडे" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "मूळ स्थिती" + +#: part/pageview.cpp:546 +#, fuzzy, kde-format +#| msgid "&View" +msgid "&Trim View" +msgstr "पहा (&V)" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "समास छोटे करा (&T)" + +#: part/pageview.cpp:557 +#, fuzzy, kde-format +#| msgctxt "Text Selection Tool" +#| msgid "Text Selection" +msgid "Trim To &Selection" +msgstr "मजकूर निवड" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "रुंदीप्रमाणे समर्पक बसवा (&W)" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "पानाप्रमाणे समर्पक बसवा (&P)" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "" + +#: part/pageview.cpp:575 +#, fuzzy, kde-format +#| msgid "Fit &Page" +msgid "Fit Wi&ndow to Page" +msgstr "पानाप्रमाणे समर्पक बसवा (&P)" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "दृश्य पद्धती (&V)" + +#: part/pageview.cpp:594 +#, fuzzy, kde-format +#| msgid "Single Page" +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "एकच पान" + +#: part/pageview.cpp:595 +#, fuzzy, kde-format +#| msgid "Facing Pages" +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "समोरील पाने" + +#: part/pageview.cpp:596 +#, fuzzy, kde-format +#| msgid "Facing Pages (Center First Page)" +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "समोरील पाने (पहिले पान मध्यभागी ठेवा)" + +#: part/pageview.cpp:599 +#, fuzzy, kde-format +#| msgid "Overview" +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "आढावा" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "निरंतर (&C)" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "" + +#: part/pageview.cpp:627 +#, fuzzy, kde-format +#| msgctxt "Browse Tool" +#| msgid "Browse" +msgid "&Browse" +msgstr "संचारण" + +#: part/pageview.cpp:635 +#, fuzzy, kde-format +#| msgid "Zoom" +msgid "&Zoom" +msgstr "वर्धन" + +#: part/pageview.cpp:655 +#, fuzzy, kde-format +#| msgctxt "Text Selection Tool" +#| msgid "Text Selection" +msgid "Area &Selection" +msgstr "मजकूर निवड" + +#: part/pageview.cpp:662 +#, fuzzy, kde-format +#| msgctxt "Text Selection Tool" +#| msgid "Text Selection" +msgid "&Text Selection" +msgstr "मजकूर निवड" + +#: part/pageview.cpp:669 +#, fuzzy, kde-format +#| msgctxt "Table Selection Tool" +#| msgid "Table Selection" +msgid "T&able Selection" +msgstr "कोष्टक निवड" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "" + +#: part/pageview.cpp:685 +#, fuzzy, kde-format +#| msgid "Selection Tools" +msgctxt "@action" +msgid "Selection Tools" +msgstr "निवड साधने" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "संपूर्ण दस्तऐवज बोला" + +#: part/pageview.cpp:722 +#, fuzzy, kde-format +#| msgid "Speak Current Page" +msgid "Speak From Current Page" +msgstr "वर्तमान पान बोला" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "वर्तमान पान बोला" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "बोलणे थांबवा" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "वर गुंडाळा" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "खाली गुंडाळा" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "पान वर गुंडाळा" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "पान खाली गुंडाळा" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "फॉर्म्स दर्शवा" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] "एक पानी दस्तऐवज दाखल केला" +msgstr[1] "%1 - पानी दस्तऐवज दाखल केला" + +#: part/pageview.cpp:2526 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Table Contents to Clipboard" +msgstr "चिकटपट्टीवर प्रत करा" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "मजकूर (१ अक्षर)" +msgstr[1] "मजकूर (%1 अक्षरे)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "चिकटपट्टीवर प्रत करा" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "मजकूर बोला" + +#: part/pageview.cpp:2863 +#, fuzzy, kde-format +#| msgid "Image (%1 by %2 pixels)" +msgid "Image (%1 × %2 pixels)" +msgstr "प्रतिमा (%1 गुणिले %2 पिक्सल्स)" + +#: part/pageview.cpp:2865 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save to File…" +msgstr "फाईल मध्ये साठवा..." + +#: part/pageview.cpp:2885 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] copied to clipboard." +msgid "Image [%1 × %2] copied to clipboard." +msgstr "[%1x%2] प्रतिमा चिकटपट्टीवर साठवली" + +#: part/pageview.cpp:2888 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save file" +msgstr "फाईल मध्ये साठवा..." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "फाईल साठवली नाही " + +#: part/pageview.cpp:2901 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] saved to %3 file." +msgid "Image [%1 × %2] saved to %3 file." +msgstr "[%1x%2] प्रतिमा %3 फाईलवर साठवली " + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "मजकूराची प्रत करा" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "'%1' येथे जा" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "रुंदीप्रमाणे समर्पक बसवा" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "पानाप्रमाणे समर्पक बसवा" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "" + +#: part/pageview.cpp:4107 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "'%1' चा ने शोध घ्या" + +#: part/pageview.cpp:4404 +#, fuzzy, kde-format +#| msgid "Configure Web Shortcuts..." +msgid "Configure Web Shortcuts…" +msgstr "वेब शॉर्टकट्स संरचित करा" + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "या लिंकमागे या" + +#: part/pageview.cpp:4433 +#, fuzzy, kde-format +#| msgid "Play sound..." +msgid "Play this Sound" +msgstr "ध्वनी वापरा" + +#: part/pageview.cpp:4435 +#, fuzzy, kde-format +#| msgid "Sound" +msgid "Stop Sound" +msgstr "ध्वनी" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "लिंकच्या पत्त्याची प्रत करा" + +#: part/pageview.cpp:4462 +#, fuzzy, kde-format +#| msgid "Search for '%1' with" +msgid "Search for '%1' in this document" +msgstr "'%1' चा ने शोध घ्या" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "स्वागत" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "वर्धन प्रदेश निवडा. वर्धन वाढविण्यासाठी राईट क्लिक करा" + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "" + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "प्रत करण्यासाठी मजकूर/चित्राभोवती चौकोन काढा" + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "मजकूर निवडा" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" +"कोष्टकाभोवती चौकोन काढा, नंतर कडेजवळ विभाजनासाठी क्लिक करा, रद्द करण्यासाठी ईएससी " +"टू क्लिअर दाबा" + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" + +#: part/pageview.cpp:5188 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "No valid certificates" +msgstr "वाचकाचे संमिलीकरण" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Open Certificate Manager" +msgstr "वाचकाचे संमिलीकरण" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
    Launch Certificate Manager " +"to import or manage certificates
    For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "No certificates found" +msgstr "वाचकाचे संमिलीकरण" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
    For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "" + +#: part/pageview.cpp:5405 +#, fuzzy, kde-format +#| msgid "Draw a rectangle around the text/graphics to copy." +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "प्रत करण्यासाठी मजकूर/चित्राभोवती चौकोन काढा" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "नवीन मजकूराची टीप" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "नव्या टिपेचा मजकूरः" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgid "Author" +msgid "Author name" +msgstr "लेखक" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgctxt "Add an annotation to the page" +#| msgid "add annotation" +msgid "Author name for the annotation:" +msgstr "टीप जोडा" + +#: part/pageviewannotator.cpp:1390 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Inline Text Annotation (drag to select a zone)" +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "इनलाईन मजकूर टीप (झोन निवडण्यासाठी ओढा)" + +#: part/pageviewannotator.cpp:1392 +#, fuzzy, kde-format +#| msgid "Highlight" +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "ठसवा" + +#: part/pageviewannotator.cpp:1394 +#, fuzzy, kde-format +#| msgid "Green Freehand Line" +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "हिरवी मुक्तहस्त रेषा" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "इनलाईन मजकूर टीप (झोन निवडण्यासाठी ओढा)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "बहुभुजाकृती काढा (बंद करण्यासाठी पहिल्या बिंदूवर क्लिक करा)" + +#: part/pageviewannotator.cpp:1402 +#, fuzzy, kde-format +#| msgid "Rectangle" +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "चौकोन" + +#: part/pageviewannotator.cpp:1404 +#, fuzzy, kde-format +#| msgid "Squiggly" +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "वक्र" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "छापण्याचे चिन्ह ठेवा" + +#: part/pageviewannotator.cpp:1408 +#, fuzzy, kde-format +#| msgid "Straight Yellow Line" +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "सरळ पिवळी रेषा" + +#: part/pageviewannotator.cpp:1410 +#, fuzzy, kde-format +#| msgid "Strike out" +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "रद्द करा" + +#: part/pageviewannotator.cpp:1412 +#, fuzzy, kde-format +#| msgid "Underline" +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "अधोरेखित" + +#: part/pageviewannotator.cpp:1414 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Inline Text Annotation (drag to select a zone)" +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "इनलाईन मजकूर टीप (झोन निवडण्यासाठी ओढा)" + +#: part/pageviewannotator.cpp:1473 +#, fuzzy, kde-format +#| msgid "Highlight" +msgid "Highlighter" +msgstr "ठसवा" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgctxt "Add an annotation to the page" +#| msgid "add annotation" +msgid "Add favorite annotation" +msgstr "टीप जोडा" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgctxt "Add an annotation to the page" +#| msgid "add annotation" +msgid "Custom annotation name:" +msgstr "टीप जोडा" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "फाईल (&F)" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "व्यवस्था (&S)" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "मदत (&H)" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "कल (&O)" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "ओळखचिन्ह (&B)" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "प्रेक्षकांची साधनपट्टी" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "लघुप्रतिमा" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotations" +msgstr "टीप" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
    Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"या दस्तऐवजात अंतर्गत जोडलेल्या फाईल आहेत. यावर " +"क्लिक करा म्हणजे तुम्हाला त्या पाहता येतील. किंवा फाईल -> अंतर्गत फाईल्स येथे जा." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "मागील" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "मागील पानावर जा" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "दस्तऐवजाच्या मागील पानावर नेते" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "पुढील " + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "पुढील पानावर जा" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "दस्तऐवजाच्या पुढील पानावर नेते" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "दस्तऐवजाची सुरुवात" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "दस्तऐवजाच्या सुरुवातीला नेते" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "दस्तऐवजाचा शेवट" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "दस्तऐवजाच्या शेवटी नेते" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "वर्तमान ओळखचिन्हाचे नाव बदला" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "आधीचे ओळखचिन्ह" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "आधीच्या ओळखचिन्हाकडे जा" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "पुढील ओळखचिन्ह" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "पुढील ओळखचिन्हाकडे जा" + +#: part/part.cpp:748 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgid "Configure Okular…" +msgstr "ओक्युलरची संरचना करा...." + +#: part/part.cpp:751 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Configure Viewer…" +msgstr "वाचकाचे संमिलीकरण" + +#: part/part.cpp:757 +#, fuzzy, kde-format +#| msgid "Configure Viewer Backends" +msgid "Configure Viewer Backends…" +msgstr "प्रेक्षकाचे बॅकएन्डस् संरचित करा" + +#: part/part.cpp:759 +#, fuzzy, kde-format +#| msgid "Configure Backends" +msgid "Configure Backends…" +msgstr "बॅकएन्डस् संरचित करा" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "बॅकएन्डविषयी" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "पुन्हा दाखल करा (D)" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "डिस्कवरून वर्तमान दस्तऐवज पुन्हा दाखल करा" + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "शोध पट्टी बंद करा (&F)" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "पान क्रमांक" + +#: part/part.cpp:817 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "ओक्युलरची संरचना करा...." + +#: part/part.cpp:858 +#, fuzzy, kde-format +#| msgid "Speak Current Page" +msgid "Select All Text on Current Page" +msgstr "वर्तमान पान बोला" + +#: part/part.cpp:871 +#, fuzzy, kde-format +#| msgid "Show &Page Bar" +msgid "Show S&idebar" +msgstr "पानाची पट्टी दर्शवा (&P)" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "पानाची पट्टी दर्शवा (&P)" + +#: part/part.cpp:886 +#, fuzzy, kde-format +#| msgid "Show &Navigation Panel" +msgid "Show &Signatures Panel" +msgstr "संचारण पटल दर्शवा (&N)" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "अंतर्गत फाईल्स (&E)" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "अशाप्रकारे पाठवा (&X)" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "सादरीकरण (&R)" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "" + +#: part/part.cpp:945 +#, fuzzy, kde-format +#| msgid "&Import PostScript as PDF..." +msgid "&Import PostScript as PDF…" +msgstr "पोस्ट स्क्रिप्ट पीडीएफ प्रमाणे आयात करा (&I)..." + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "कृष्णपटल पध्दती बदला" + +#: part/part.cpp:957 +#, fuzzy, kde-format +#| msgid "Erase Drawings" +msgid "Erase Drawing" +msgstr "आरेखने पुसा" + +#: part/part.cpp:962 +#, fuzzy, kde-format +#| msgid "Configure Backends..." +msgid "Configure Annotations…" +msgstr "बॅकएन्डची संरचना करा..." + +#: part/part.cpp:967 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Play/Pause Presentation" +msgstr "सादरीकरण" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" + +#: part/part.cpp:1123 +#, fuzzy, kde-format +#| msgctxt "A document format, Okular-specific" +#| msgid "Document Archive" +msgid "Document can't be saved" +msgstr "दस्तऐवजाची साठवण" + +#: part/part.cpp:1152 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not open '%1' (%2) " +msgstr "%1 उघडता आले नाही" + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "'%1' चे दाखलन रद्द झाले." + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "'%1' उघडता येत नाही. कारणः '%2" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "प्रेक्षकाचे बॅकएन्डस् संरचित करा" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "बॅकएन्डस् संरचित करा" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"\"ps2pdf\" हा कार्यक्रम सापडला नाही त्यामुळे ओक्युलर पीएस फाईल आयात करू शकत नाही" + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "पीएस२पीडीएफ सापडला नाही" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "" + +#: part/part.cpp:1357 +#, fuzzy, kde-format +#| msgid "Importing PS file as PDF (this may take a while)..." +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "पीएस फाईल पीडीएफ प्रमाणे आयात करत आहे (याला थोडा जास्त वेळ लागू शकतो)..." + +#: part/part.cpp:1489 +#, fuzzy, kde-format +#| msgid "Moves to the end of the document" +msgid "Please enter the password to read the document:" +msgstr "दस्तऐवजाच्या शेवटी नेते" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "" + +#: part/part.cpp:1502 +#, fuzzy, kde-format +#| msgctxt "A document format, Okular-specific" +#| msgid "Document Archive" +msgid "Document Password" +msgstr "दस्तऐवजाची साठवण" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "या दस्तऐवजात एक्सएफए फॉर्म्स आहेत, त्यांना आता आधार नाही." + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"या दस्तऐवजात फॉर्म्स आहेत. त्यांच्यावर प्रक्रीया करण्यासाठी बटनावर क्लिक करा, किंवा पहा -" +"> फॉर्म्स दर्शवा वापरा." + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "" + +#: part/part.cpp:1739 +#, fuzzy, kde-format +#| msgid "Exit Presentation Mode" +msgid "Enter Presentation Mode" +msgstr "सादरीकरण पध्दतीच्या बाहेर या" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "" + +#: part/part.cpp:1830 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not open %1. %2" +msgstr "%1 उघडता आले नाही" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "" + +#: part/part.cpp:1865 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue Reloading" +msgstr "निरंतर (&C)" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" + +#: part/part.cpp:1875 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue Closing" +msgstr "निरंतर (&C)" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "" + +#: part/part.cpp:1883 +#, fuzzy, kde-format +#| msgid "Do you want to save your annotation changes or discard them?" +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "तुम्ही टीपांमध्ये केलेले बदल तुम्हाला साठवून ठेवायचे आहेत की रद्द करायचे आहेत?" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "दस्तऐवज बंद करा" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"अंतर्गत प्रेक्षकाचा वापर करताना दस्तऐवज बंद करण्यासाठी दाखवलेली ही लिंक काम करीत नाही" + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"अंतर्गत प्रेक्षकाचा वापर करताना मजकूरातून बाहेर येण्यासाठी दाखवलेली ही लिंक काम करीत नाही" + +#: part/part.cpp:2113 part/part.cpp:2131 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Reloading the document…" +msgstr "दस्तऐवज पुन्हा दाखल करत आहे..." + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "मजकूर" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "या पानावर जा" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "पान (&P):" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "ओळखचिन्हाचे नवे नाव भरा" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "या ओळखचिन्हाला नवे नाव द्या" + +#: part/part.cpp:2509 +#, fuzzy, kde-format +#| msgid "Rename this Bookmark" +msgid "Remove this Bookmark" +msgstr "या ओळखचिन्हाला नवे नाव द्या" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, fuzzy, kde-format +#| msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +#| msgid "%1 (%2)" +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, fuzzy, kde-format +#| msgctxt "@action:inmenu" +#| msgid "&Save As..." +msgid "Save As" +msgstr "असे साठवा (&S)..." + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" + +#: part/part.cpp:2621 +#, fuzzy, kde-format +#| msgid "Line Extensions" +msgid "Unsupported extension" +msgstr "रेषावृध्दी" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
    In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "साठवण्यासाठी तात्पुरती फाईल उघडता आली नाही" + +#: part/part.cpp:2726 +#, fuzzy, kde-kuit-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "'%1' मध्ये फाईल साठवता आली नाही. दुसऱ्या ठिकाणी साठवण्याचा प्रयत्न करा." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "'%1' मध्ये फाईल साठवता आली नाही. दुसऱ्या ठिकाणी साठवण्याचा प्रयत्न करा." + +#: part/part.cpp:2766 +#, fuzzy, kde-format +#| msgctxt "Edit an annotation's text contents" +#| msgid "edit annotation contents" +msgid "Filled form contents" +msgstr "टीप मजकूर संपादित करा" + +#: part/part.cpp:2769 +#, fuzzy, kde-format +#| msgctxt "remove a collection of annotations from the page" +#| msgid "remove annotations" +msgid "User annotations" +msgstr "टीपा काढून टाका" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" + +#: part/part.cpp:2796 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue" +msgstr "निरंतर (&C)" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "'%1' मध्ये फाईल साठवता आली नाही. %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"या विशिष्ठ ठिकाणी ओक्युलर %1 फाईलीची प्रत बनवू शकत नाही. \n" +"\n" +"हा दस्तऐवज आता अस्तित्वात नाही." + +#: part/part.cpp:2899 +#, fuzzy, kde-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "'%1' मध्ये फाईल साठवता आली नाही. दुसऱ्या ठिकाणी साठवण्याचा प्रयत्न करा." + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "End Presentation" +msgid "Expand Whole Section" +msgstr "सादरीकरण बंद करा" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "End Presentation" +msgid "Collapse Whole Section" +msgstr "सादरीकरण बंद करा" + +#: part/part.cpp:3172 +#, fuzzy, kde-format +#| msgid "Link the &thumbnails with the page" +msgid "Sync Thumbnail with Page" +msgstr "लघुप्रतिमा पानावर जोडा (&T)" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "साधने" + +#: part/part.cpp:3381 +#, fuzzy, kde-format +#| msgid "Speak Text" +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "मजकूर बोला" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "या दस्तऐवजाच्या छपाईची परवानगी नाही" + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "हा दस्तऐवज छापू शकत नाही. अपरिचीत चूक. कृपया बग्ज.केडीई.ओआरजीकडे तक्रार करा." + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"हा दस्तऐवज छापू शकत नाही. तपशीलवार चूक \"%1\" आहे.. कृपया bugs.kde.org कडे तक्रार " +"करा." + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "पूर्वी होता त्या ठिकाणी परत जा" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "नंतर होता त्या ठिकाणी परत जा" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"फाईल त्रुटी ! तात्पुरती फाईल निर्माण करू शकत नाही " +"%1." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"फाईल त्रुटी ! फाईल अनकॉम्प्रेस करण्याकरिता उघडू शकत नाही " +"%1 फाईल दाखल होऊ शकणार नाही " + +#: part/part.cpp:3751 +#, fuzzy, kde-format +#| msgid "" +#| "This error typically occurs if you do not have enough permissions to " +#| "read the file. You can check ownership and permissions if you right-click " +#| "on the file in the Dolphin file manager and then choose the 'Properties' " +#| "tab." +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"जेव्हा तुम्हाला ही फाईल वाचण्याची पुरेशी परवानगी नसते तेव्हा ही विशिष्ठ चूक आढळून येते. " +"जर तुम्ही डॉल्फिन फाईल व्यवस्थापक मध्ये उजवा क्लिक करून प्रॉपर्टीज निवडले, तर तुम्ही मालकी " +"व परवाने तपासू शकता." + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"फाईल त्रुटी ! %1 फाईल " +"अनकॉम्प्रेस होऊ शकली नाही म्हणून ती दाखल होणार नाही." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"जर फाईल खराब असेल तेव्हा ही विशिष्ठ चूक आढळून येते. तुम्हाला खात्री करून घ्यायची असेल " +"ही फाईल तुम्ही कमांड लाईन टूल्स वापरून मॅन्युअली डिकॉम्प्रेस करण्याचा प्रयत्न करा." + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "ओळखचिन्हे नाहीत" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "संपादित करा (&E)" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "पहा (&V)" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "जा (&G)" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "साधने (&T)" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "मुख्य साधनपट्टी" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation Toolbar" +msgstr "टीप" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Quick Annotation Toolbar" +msgstr "टीप" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "सामान्य पर्याय" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "सुलभता" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "सुलभतेने वाचण्यासाठी मदत" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "कामगिरी" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "कामगिरीचे ट्यूनिंग" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "वाचकाचे संमिलीकरण" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "सादरीकरण" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "सादरीकरण पध्दतीचे पर्याय" + +#: part/preferencesdialog.cpp:50 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgid "Annotation Options" +msgstr "टीपा गुणधर्म" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "संपादक" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "संपादकाचे पर्याय" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "मजकूर शोधा" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 –सादरीकरण " + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "स्क्रीन स्विच करा" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "स्क्रीन %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "सादरीकरण पध्दतीच्या बाहेर या" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "शिर्षकः %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "पानेः %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "सुरुवात करण्यासाठी क्लिक करा" + +#: part/presentationwidget.cpp:521 +#, fuzzy, kde-format +#| msgctxt "pause the movie playback" +#| msgid "Pause" +msgctxt "For Presentation" +msgid "Pause" +msgstr "थांबवा" + +#: part/presentationwidget.cpp:524 +#, fuzzy, kde-format +#| msgctxt "start the movie playback" +#| msgid "Play" +msgctxt "For Presentation" +msgid "Play" +msgstr "सुरु करा" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"सादरीकरण पध्दतीतून बाहेर येण्यासाठी दोन मार्ग आहेत, तुम्ही ईएससी बटन दाबू शकता किंवा " +"वरच्या उजव्या कोपऱ्यात माऊस ठेवून क्विट बटन आल्यावर क्लिक करू शकता. अर्थातच नेहमीच्या " +"चौकट सायकल पध्दतीनुसार(अल्ट+टॅब)चाही वापर करू शकता" + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "सादरीकरण करणे" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "अपरिचीत फाईल" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "%1 गुणधर्म" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "फॉंन्टस् (&F)" + +#: part/propertiesdialog.cpp:145 +#, fuzzy, kde-format +#| msgid "Reading font information..." +msgid "Reading font information…" +msgstr "फॉंन्टची माहिती वाचत आहे..." + +#: part/propertiesdialog.cpp:158 +#, fuzzy, kde-format +#| msgid "&Page Size" +msgid "&Page Sizes" +msgstr "पानाचा आकार (&P)" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "फॉंन्ट काढा (&E)" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "प्रकार १" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "प्रकार १सी" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "प्रकार १सी (ओटी)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "प्रकार ३" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "ट्रूटाईप" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "ट्रूटाईप (ओटी)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "सिड टाईप 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "सिड टाईप 0सी" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "सिड टाईप 0सी (ओटी)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "सिड ट्रूटाईप" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "सिड ट्रूटाईप (ओटी)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "टेक्स पीके" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "टेक्स व्हर्च्युअल" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "टेक्स फॉंट मेट्रिक" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "टेक्स फ्रीटाईप-हॅंडल्ड" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "अपरिचीत" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "अंगीभूत (सबसेट)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "पूर्णतः अंगीभूत" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "नाही" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "होय (सबसेट)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "होय" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "[उपलब्ध नाही]" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "अपरिचीत फॉंट" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "अंगीभूतः %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "नाव" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "प्रकार" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "फाईल" + +#: part/propertiesdialog.cpp:498 +#, fuzzy, kde-format +#| msgid "Pages" +msgid "Page" +msgstr "पाने" + +#: part/propertiesdialog.cpp:501 +#, fuzzy, kde-format +#| msgctxt "@title:column" +#| msgid "Size" +msgid "Size" +msgstr "आकार" + +#: part/revisionviewer.cpp:41 +#, fuzzy, kde-format +#| msgid "Print Preview" +msgid "Revision Preview" +msgstr "छपाई पूर्वावलोकन" + +#: part/revisionviewer.cpp:53 +#, fuzzy, kde-format +#| msgid "Where do you want to save %1?" +msgid "Where do you want to save this revision?" +msgstr "तुम्हाला %1 कोठे साठवायचे आहे?" + +#: part/revisionviewer.cpp:56 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not save file %1." +msgstr "%1 उघडता आले नाही" + +#: part/revisionviewer.cpp:75 +#, fuzzy, kde-format +#| msgid "Could not open %1. Reason: %2" +msgid "Could not view revision." +msgstr "'%1' उघडता येत नाही. कारणः '%2" + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "पाने गाळण्यासाठी किमान ३ अक्षरे भरा" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "लिपी संवेदनशील" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "वाक्यांश जुळवा" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "सर्व शब्द जुळवा" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "कोणताही शब्द जुळवा" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "गाळणी पर्याय" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Certificates" +msgstr "वाचकाचे संमिलीकरण" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, fuzzy, kde-format +#| msgid "Allow" +msgid "All" +msgstr "परवानगी द्या" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Only QES certificates" +msgstr "वाचकाचे संमिलीकरण" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, fuzzy, kde-format +#| msgid "Options" +msgid "optional" +msgstr "पर्याय" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Location:" +msgstr "टीप" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, fuzzy, kde-format +#| msgid "Background color:" +msgid "Background:" +msgstr "पार्श्वभूमीचा रंग" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, fuzzy, kde-format +#| msgid "Background color:" +msgid "Recent backgrounds:" +msgstr "पार्श्वभूमीचा रंग" + +#: part/side_reviews.cpp:66 +#, fuzzy, kde-format +#| msgid "" +#| "

    No annotations

    To create new annotations press " +#| "F6 or select Tools -> Review from the menu.
    " +msgid "" +"

    No annotations

    To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
    " +msgstr "" +"

    टीपा नाहीत

    टीपा बनविण्यासाठी एफ६ दाबा किंवा " +"Tools -> निवडा मेन्यूवर
    जाऊन पहा " + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "पानाप्रमाणे एकत्र करा" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "लेखकानुसार एकत्र करा" + +#: part/side_reviews.cpp:155 +#, fuzzy, kde-format +#| msgid "Show reviews for current page only" +msgid "Show annotations for current page only" +msgstr "वर्तमान पानापुरतीच अभिमते दर्शवा" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "" + +#: part/signaturepanel.cpp:101 +#, fuzzy, kde-format +#| msgid "&Properties" +msgid "Properties" +msgstr "गुणधर्म (&P)" + +#: part/signaturepartutils.cpp:180 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "पानेः %1" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "" + +#: part/signaturepartutils.cpp:244 +#, fuzzy, kde-format +#| msgctxt "A document format, Okular-specific" +#| msgid "Document Archive" +msgid "Enter document password" +msgstr "दस्तऐवजाची साठवण" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:63 +#, fuzzy, kde-format +#| msgid "Information" +msgid "Additional Information" +msgstr "माहिती" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:83 +#, fuzzy, kde-format +#| msgctxt "A document format, Okular-specific" +#| msgid "Document Archive" +msgid "Document Version" +msgstr "दस्तऐवजाची साठवण" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:95 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "View Certificate…" +msgstr "वाचकाचे संमिलीकरण" + +#: part/signaturepropertiesdialog.cpp:97 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "View in Certificate Manager" +msgstr "वाचकाचे संमिलीकरण" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "बुकमार्क केलेली पानेच फक्त दर्शवा" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "सुरु करा" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "थांबवा" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "थांबा" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, fuzzy, kde-format +#| msgid "&Edit" +msgid "&Edit…" +msgstr "संपादित करा (&E)" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, fuzzy, kde-format +#| msgid "Wipe Down" +msgid "Move &Down" +msgstr "खालचे पुसा" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "दस्तऐवजाचे पान दाखविणे" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "सादरीकरण पध्दतीने दस्तऐवजास सुरुवात करा" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "छपाई संवादाने सुरवात करा" + +#: shell/main.cpp:78 +#, fuzzy, kde-format +#| msgid "Start with print dialog" +msgid "Start with print dialog and exit after printing" +msgstr "छपाई संवादाने सुरवात करा" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "\"असामान्य प्रसंग\" नियंत्रण" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "चौकट वर आणू नका" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "" + +#: shell/main.cpp:83 +#, fuzzy, kde-format +#| msgid "Document to open. Specify '-' to read from stdin." +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "दस्तऐवज उघडणे. stdin मधून वाचण्यास '-' उल्लेख करा." + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "चूक : --unique switch ने एकापेक्षा अधिक दस्तऐवजाची पाने उघडता येत नाहीत." + +#: shell/okular_main.cpp:192 +#, fuzzy, kde-format +#| msgid "Error: Can't open more than one document with the --unique switch" +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "चूक : --unique switch ने एकापेक्षा अधिक दस्तऐवजाची पाने उघडता येत नाहीत." + +#: shell/okular_main.cpp:198 +#, fuzzy, kde-format +#| msgid "Error: Can't open more than one document with the --unique switch" +msgid "Error: Can't open more than one document with the --print switch" +msgstr "चूक : --unique switch ने एकापेक्षा अधिक दस्तऐवजाची पाने उघडता येत नाहीत." + +#: shell/okular_main.cpp:204 +#, fuzzy, kde-format +#| msgid "Error: Can't open more than one document with the --unique switch" +msgid "Error: Can't open more than one document with the --page switch" +msgstr "चूक : --unique switch ने एकापेक्षा अधिक दस्तऐवजाची पाने उघडता येत नाहीत." + +#: shell/okular_main.cpp:210 +#, fuzzy, kde-format +#| msgid "Error: Can't open more than one document with the --unique switch" +msgid "Error: Can't open more than one document with the --find switch" +msgstr "चूक : --unique switch ने एकापेक्षा अधिक दस्तऐवजाची पाने उघडता येत नाहीत." + +#: shell/shell.cpp:207 +#, fuzzy, kde-format +#| msgid "Unable to find the Okular component." +msgid "Unable to find the Okular component: %1" +msgstr "ओक्युलरचा कॉम्पोनंट सापडला नाही." + +#: shell/shell.cpp:250 +#, fuzzy, kde-format +#| msgid "Show &Page Bar" +msgid "Sidebar" +msgstr "पानाची पट्टी दर्शवा (&P)" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "ओक्युलर आधीच चालू आहे. हा प्रयत्न एकमेव ठरू शकत नाही." + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "ओक्युलरचा कॉम्पोनंट सापडला नाही." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"फाईल उघडण्यासाठी क्लिक करा.\n" +"अलीकडील फाईल उघडण्यासाठी क्लिक करून धरून ठेवा" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"फाईल उघडण्यासाठी Click किंवा Click and hold करून अलीकडील फाईल " +"निवडा." + +#: shell/shell.cpp:582 +#, fuzzy, kde-format +#| msgid "Next Page" +msgid "Next Tab" +msgstr "पुढचे पान" + +#: shell/shell.cpp:588 +#, fuzzy, kde-format +#| msgid "Previous Page" +msgid "Previous Tab" +msgstr "मागचे पान" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "" + +#: shell/shell.cpp:603 +#, fuzzy, kde-format +#| msgid "Show &Page Bar" +msgid "Lock Sidebar" +msgstr "पानाची पट्टी दर्शवा (&P)" + +#: shell/shell.cpp:703 +#, fuzzy, kde-format +#| msgid "*|All Files" +msgid "All files (*)" +msgstr "*|सर्व फाईल्स" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "दस्तऐवज उघडा" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "" + +#: shell/shell.cpp:826 +#, fuzzy, kde-format +#| msgid "Close" +msgid "Close Tabs" +msgstr "बंद करा" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "" + +#: shell/welcomescreen.cpp:64 +#, fuzzy, kde-format +#| msgid "Copy Text" +msgid "&Copy Path" +msgstr "मजकूराची प्रत करा" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "" + +#: shell/welcomescreen.cpp:137 +#, fuzzy, kde-format +#| msgid "Current document only" +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "फक्त वर्तमान दस्तऐवज" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, fuzzy, kde-format +#| msgid "Open Document" +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "दस्तऐवज उघडा" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, fuzzy, kde-format +#| msgid "Current document only" +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "फक्त वर्तमान दस्तऐवज" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "" + +#, fuzzy +#~| msgid "For Comment" +#~ msgid "Geometry with Comment" +#~ msgstr "प्रतिक्रियेसाठी" + +#~ msgid "Geometry" +#~ msgstr "भूमिती" + +#~ msgid "Modified: %1" +#~ msgstr "सुधारित केले : %1" + +#~ msgid "Find..." +#~ msgstr "शोधा..." + +#~ msgid "Go To Page..." +#~ msgstr "पानावर जा..." + +#~ msgid "Play movie..." +#~ msgstr "मूव्ही चालू करा..." + +#, fuzzy +#~| msgid "S&earch:" +#~ msgid "Search..." +#~ msgstr "शोध (&E):" + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "असे साठवा (&S)..." + +#, fuzzy +#~| msgid "&View" +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "पहा (&V)" + +#~ msgid "Configure Viewer..." +#~ msgstr "प्रेक्षकाची संरचना करा" + +#~ msgid "Configure Viewer Backends..." +#~ msgstr "प्रेक्षकाच्या बॅकएन्डची संरचना करा..." + +#~ msgid "Configure Backends..." +#~ msgstr "बॅकएन्डची संरचना करा..." + +#, fuzzy +#~| msgid "&Edit" +#~ msgid "&Edit..." +#~ msgstr "संपादित करा (&E)" + +#, fuzzy +#~| msgctxt "Unknown author" +#~| msgid "Unknown" +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "अपरिचीत" + +#, fuzzy +#~| msgid "%" +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " %" + +#, fuzzy +#~| msgid "%" +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%" + +#, fuzzy +#~| msgid "Fit Width" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "रुंदीप्रमाणे समर्पक बसवा" + +#, fuzzy +#~| msgid "Fit Page" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "पानाप्रमाणे समर्पक बसवा" + +#~ msgid "*|All Files" +#~ msgstr "*|सर्व फाईल्स" + +#, fuzzy +#~| msgid "Show &Page Bar" +#~ msgid "Show Sidebar" +#~ msgstr "पानाची पट्टी दर्शवा (&P)" + +#, fuzzy +#~| msgid "Experimental" +#~ msgctxt "@title:window" +#~ msgid "Experimental feature" +#~ msgstr "प्रायोगिक" + +#~ msgid "Remove Bookmarks" +#~ msgstr "ओळखचिन्हे काढा" + +#, fuzzy +#~| msgid "Annotation" +#~| msgid_plural "%1 Annotations" +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "टीप" + +#, fuzzy +#~| msgid "Highlight" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "ठसवा" + +#, fuzzy +#~| msgid "Underline" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Underline" +#~ msgstr "अधोरेखित" + +#, fuzzy +#~| msgid "Squiggly" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Squiggle" +#~ msgstr "वक्र" + +#, fuzzy +#~| msgid "Strike out" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Strike Out" +#~ msgstr "रद्द करा" + +#, fuzzy +#~| msgid "Insert" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "अंतर्भूत करा" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "इनलाईन नोंद" + +#, fuzzy +#~| msgid "&Open Pop-up Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "पॉप-अप टीप उघडा (&O)" + +#, fuzzy +#~| msgid "Green Freehand Line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Freehand Line" +#~ msgstr "हिरवी मुक्तहस्त रेषा" + +#, fuzzy +#~| msgid "Straight Yellow Line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Straight line" +#~ msgstr "सरळ पिवळी रेषा" + +#, fuzzy +#~| msgid "Rectangle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Rectangle" +#~ msgstr "चौकोन" + +#, fuzzy +#~| msgid "Cyan Ellipse" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Ellipse" +#~ msgstr "सायन लंबवर्तुळ" + +#, fuzzy +#~| msgid "Blue Polygon" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Polygon" +#~ msgstr "निळी बहुभुजाकृती" + +#, fuzzy +#~| msgid "Highlight" +#~ msgid "Highlight in Yellow" +#~ msgstr "ठसवा" + +#, fuzzy +#~| msgid "Highlight" +#~ msgid "Highlight in Green" +#~ msgstr "ठसवा" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgid "Insert Inline Note" +#~ msgstr "इनलाईन नोंद" + +#, fuzzy +#~| msgid "&Open Pop-up Note" +#~ msgid "Insert Popup Note" +#~ msgstr "पॉप-अप टीप उघडा (&O)" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "मजकूर निवडा" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "मजकूर निवडा" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "मजकूर निवडा" + +#, fuzzy +#~| msgctxt "Add an annotation to the page" +#~| msgid "add annotation" +#~ msgid "Bookmark annotation" +#~ msgstr "टीप जोडा" + +#, fuzzy +#~| msgid "Change &colors" +#~ msgid "&Toggle Change Colors" +#~ msgstr "बदल व रंग" + +#, fuzzy +#~| msgid "Enable transitions" +#~ msgctxt "@option:check Config dialog, presentation page, transitions" +#~ msgid "Enable transitions" +#~ msgstr "बदल प्रेरित करा" + +#, fuzzy +#~| msgid "Advance every:" +#~ msgctxt "@label:spinbox Config dialog, presentation page" +#~ msgid "Advance every:" +#~ msgstr "सर्वकाही पुढे करा :" + +#, fuzzy +#~| msgid "Background color:" +#~ msgctxt "@label:listbox Config dialog, general page" +#~ msgid "Custom background color:" +#~ msgstr "पार्श्वभूमीचा रंग" + +#~ msgid "Draw border around &Images" +#~ msgstr "सभोवताली व आकृत्यांच्या भोवती सीमारेखा काढा" + +#~ msgid "Identity" +#~ msgstr "ओळख" + +#, fuzzy +#~| msgid "&Author:" +#~ msgid "Au&thor:" +#~ msgstr "लेखक (&A):" + +#~ msgid "View Options" +#~ msgstr "पर्याय दर्शवा" + +#~ msgctxt "@info:whatsthis" +#~ msgid "" +#~ "Defines the default zoom mode for files which were never opened before.\n" +#~ "For files which were opened before the previous zoom is applied." +#~ msgstr "" +#~ "पूर्वी कधीही न उघडलेल्या फाईलींसाठी सुरुवातीची वर्धित पध्दत ठरवितो (झूम मोड " +#~ "ठरवितो).\n" +#~ "आधी उघडलेल्या फाईलींसाठी आधीची वर्धित पध्दत वापरतो." + +#~ msgid "Navigation" +#~ msgstr "मार्गक्रमण" + +#~ msgid "Placement" +#~ msgstr "जागा" + +#~ msgid "Screen:" +#~ msgstr "स्क्रीन :" + +#~ msgid "&Get Books From Internet..." +#~ msgstr "इंटरनेटवरून पुस्तके घ्या (&G)..." + +#~ msgid "Reviews" +#~ msgstr "प्रतिक्रिया" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "@item:inlistbox Color name" +#~ msgid "%1" +#~ msgstr "%1" + +#~ msgid "Hide Forms" +#~ msgstr "फॉर्म्स लपवा" + +#~ msgid "&Review" +#~ msgstr "समीक्षा (&R)" + +#~ msgid "Annotations author" +#~ msgstr "टिप्पणी लेखक" + +#~ msgid "Please insert your name or initials:" +#~ msgstr "कृपया तुमचे नाव किंवा आद्याक्षरे घालाः" + +#~ msgid "Show &Navigation Panel" +#~ msgstr "संचारण पटल दर्शवा (&N)" + +#~ msgid "Show Text" +#~ msgstr "मजकूर दर्शवा" + +#~ msgid "Small Icons" +#~ msgstr "छोटी अल्पचित्रप्रतीके" + +#~ msgid "Large Icons" +#~ msgstr "मोठी अल्पचित्रप्रतीके" + +#, fuzzy +#~| msgid "" +#~| "Click to use the current selection tool\n" +#~| "Click and hold to choose another selection tool" +#~ msgid "" +#~ "Click to use the current selection tool\n" +#~ "Click on the arrow to choose another selection tool" +#~ msgstr "" +#~ "वर्तमान निवड साधने वापरण्यासाठी क्लिक करा\n" +#~ "दुसरे निवड साधन वापण्यासाठी क्लिक करून धरून ठेवा" + +#~ msgid "Created: %1" +#~ msgstr "निर्माण केले : %1" + +#~ msgid "Style" +#~ msgstr "शैली" + +#~ msgid "&Size:" +#~ msgstr "आकार (&S):" + +#~ msgid "Inner color:" +#~ msgstr "आतील रंग :" + +#~ msgid "Name: %1" +#~ msgstr "नाव : %1" + +#~ msgid "Size: %1" +#~ msgstr "आकार : %1" + +#~ msgid "&Browse Tool" +#~ msgstr "संचारण साधन (&B)" + +#~ msgid "&Zoom Tool" +#~ msgstr "वर्धन साधन (&Z)" + +#~ msgctxt "Zoom Tool" +#~ msgid "Zoom" +#~ msgstr "वर्धन" + +#~ msgctxt "Select Tool" +#~ msgid "Selection" +#~ msgstr "निवड" + +#~ msgid "&Text Selection Tool" +#~ msgstr "मजकूर निवड साधन (&T)" + +#~ msgid "T&able Selection Tool" +#~ msgstr "कोष्टक निवड साधन (&A)" + +#, fuzzy +#~| msgctxt "Symbol for caret annotations" +#~| msgid "None" +#~ msgid " None" +#~ msgstr "काही नाही" + +#~ msgid "" +#~ "The document requested to be launched in presentation mode.\n" +#~ "Do you want to allow it?" +#~ msgstr "" +#~ "सादरीकरण पध्दतीने उघडण्याची विनंती या दस्तऐवजाने केली आहे.\n" +#~ "तुम्हाला हे मान्य आहे का?" + +#~ msgid "Presentation Mode" +#~ msgstr "सादरीकरण पध्दती" + +#~ msgid "Allow the presentation mode" +#~ msgstr "सादरीकरण पध्दतीस परवानगी द्या" + +#~ msgid "Do Not Allow" +#~ msgstr "परवानगी देऊ नका" + +#~ msgid "Do not allow the presentation mode" +#~ msgstr "सादरीकरण पध्दतीला परवानगी देऊ नका " + +#~ msgid "" +#~ "Your annotation changes will not be saved automatically. Use File -> Save " +#~ "As...\n" +#~ "or your changes will be lost once the document is closed" +#~ msgstr "" +#~ "तुमच्या टीपांमधील बदल आपोआप सेव्ह होणार नाहीत. वापरा फाईल -> या स्वरूपात " +#~ "साठवा ...\n" +#~ "नाहीतर तुमचे बदल दस्तऐवज बंद करताच रद्द होतील" + +#~ msgid "" +#~ "Your annotations are saved internally by Okular.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" +#~ msgstr "" +#~ "ओक्युलर ने तुमच्या टीपा अंतर्गत रीतीने साठवल्या आहेत.\n" +#~ "तुम्ही तुमच्या टीपा फाईल -> अशाप्रकारे पाठवा -> मजकूराची साठवण या पध्दतीने दुसरीकडे " +#~ "पाठवू शकता." + +#~ msgid "Save &Copy As..." +#~ msgstr "साठवा व याप्रकारे प्रत करा (&C)..." + +#, fuzzy +#~| msgid "" +#~| "Your annotations are saved internally by Okular.\n" +#~| "You can export the annotated document using File -> Export As -> " +#~| "Document Archive" +#~ msgid "" +#~ "Your annotations will not be exported.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" +#~ msgstr "" +#~ "ओक्युलर ने तुमच्या टीपा अंतर्गत रीतीने साठवल्या आहेत.\n" +#~ "तुम्ही तुमच्या टीपा फाईल -> अशाप्रकारे पाठवा -> मजकूराची साठवण या पध्दतीने दुसरीकडे " +#~ "पाठवू शकता." + +#~ msgid "" +#~ "End of document reached.\n" +#~ "Continue from the beginning?" +#~ msgstr "" +#~ "दस्तऐवजाचा शेवट आला.\n" +#~ " पुन्हा प्रथमपासून सुरु करायचे का?" + +#~ msgid "" +#~ "Beginning of document reached.\n" +#~ "Continue from the bottom?" +#~ msgstr "" +#~ "दस्तऐवजाची सुरुवात आली.\n" +#~ " पुन्हा तळापासून सुरु ठेवायचे का?" + +#~ msgid "Current maintainer" +#~ msgstr "वर्तमान नियंत्रक" + +#~ msgid " sec." +#~ msgstr "सेक." + +#~ msgid "Pencil color:" +#~ msgstr "पेन्सिलीचा रंग" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A0" +#~ msgstr "लँडस्केप DIN/ISO A0" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A0" +#~ msgstr "पोर्ट्रेट DIN/ISO A0" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A1" +#~ msgstr "लँडस्केप DIN/ISO A1" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A1" +#~ msgstr "पोर्ट्रेट DIN/ISO A1" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A2" +#~ msgstr "लँडस्केप DIN/ISO A2" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A2" +#~ msgstr "पोर्ट्रेट DIN/ISO A2" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A3" +#~ msgstr "लँडस्केप DIN/ISO A3" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A3" +#~ msgstr "पोर्ट्रेट DIN/ISO A3" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A4" +#~ msgstr "लँडस्केप DIN/ISO A4" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A4" +#~ msgstr "पोर्ट्रेट DIN/ISO A4" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A5" +#~ msgstr "लँडस्केप DIN/ISO A5" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A5" +#~ msgstr "पोर्ट्रेट DIN/ISO A5" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A6" +#~ msgstr "लँडस्केप DIN/ISO A6" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A6" +#~ msgstr "पोर्ट्रेट DIN/ISO A6" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A7" +#~ msgstr "लँडस्केप DIN/ISO A7" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A7" +#~ msgstr "पोर्ट्रेट DIN/ISO A7" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A8" +#~ msgstr "लँडस्केप DIN/ISO A8" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A8" +#~ msgstr "पोर्ट्रेट DIN/ISO A8" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A9" +#~ msgstr "लँडस्केप DIN/ISO A9" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A9" +#~ msgstr "पोर्ट्रेट DIN/ISO A9" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B0" +#~ msgstr "लँडस्केप DIN/ISO B0" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B0" +#~ msgstr "पोर्ट्रेट DIN/ISO B0" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B1" +#~ msgstr "लँडस्केप DIN/ISO B1" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B1" +#~ msgstr "पोर्ट्रेट DIN/ISO B1" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B2" +#~ msgstr "लँडस्केप DIN/ISO B2" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B2" +#~ msgstr "पोर्ट्रेट DIN/ISO B2" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B3" +#~ msgstr "लँडस्केप DIN/ISO B3" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B3" +#~ msgstr "पोर्ट्रेट DIN/ISO B3" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B4" +#~ msgstr "लँडस्केप DIN/ISO B4" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B4" +#~ msgstr "पोर्ट्रेट DIN/ISO B4" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B5" +#~ msgstr "लँडस्केप DIN/ISO B5" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B5" +#~ msgstr "पोर्ट्रेट DIN/ISO B5" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B6" +#~ msgstr "लँडस्केप DIN/ISO B6" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B6" +#~ msgstr "पोर्ट्रेट DIN/ISO B6" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B7" +#~ msgstr "लँडस्केप DIN/ISO B7" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B7" +#~ msgstr "पोर्ट्रेट DIN/ISO B7" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B8" +#~ msgstr "लँडस्केप DIN/ISO B8" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B8" +#~ msgstr "पोर्ट्रेट DIN/ISO B8" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B9" +#~ msgstr "लँडस्केप DIN/ISO B9" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B9" +#~ msgstr "पोर्ट्रेट DIN/ISO B9" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B10" +#~ msgstr "लँडस्केप DIN/ISO B10" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B10" +#~ msgstr "पोर्ट्रेट DIN/ISO B10" + +#~ msgctxt "paper size" +#~ msgid "landscape letter" +#~ msgstr "लँडस्केप letter" + +#~ msgctxt "paper size" +#~ msgid "portrait letter" +#~ msgstr "पोर्ट्रेट letter" + +#~ msgctxt "paper size" +#~ msgid "landscape legal" +#~ msgstr "लँडस्केप लीगल" + +#~ msgctxt "paper size" +#~ msgid "portrait legal" +#~ msgstr "पोर्ट्रेट लीगल" + +#~ msgctxt "paper size" +#~ msgid "landscape executive" +#~ msgstr "लँडस्केप एक्सिक्युटिव्ह" + +#~ msgctxt "paper size" +#~ msgid "portrait executive" +#~ msgstr "पोर्ट्रेट एक्सिक्युटिव्ह" + +#~ msgctxt "paper size" +#~ msgid "landscape Comm10E" +#~ msgstr "लँडस्केप Comm10E" + +#~ msgctxt "paper size" +#~ msgid "portrait Comm10E" +#~ msgstr "पोर्ट्रेट Comm10E" + +#~ msgctxt "paper size" +#~ msgid "landscape DLE" +#~ msgstr "लँडस्केप DLE" + +#~ msgctxt "paper size" +#~ msgid "portrait DLE" +#~ msgstr "पोर्ट्रेट DLE" + +#~ msgctxt "paper size" +#~ msgid "landscape folio" +#~ msgstr "लँडस्केप फोलिओ" + +#~ msgctxt "paper size" +#~ msgid "portrait folio" +#~ msgstr "पोर्ट्रेट फोलिओ" + +#~ msgctxt "paper size" +#~ msgid "ledger" +#~ msgstr "लेजर" + +#~ msgctxt "paper size" +#~ msgid "tabloid" +#~ msgstr "टेब्लोइड" + +#~ msgctxt "paper size" +#~ msgid "unknown landscape paper size" +#~ msgstr "अपरिचीत लँडस्केप कागद आकार" + +#~ msgctxt "paper size" +#~ msgid "unknown portrait paper size" +#~ msgstr "अपरिचीत पोर्ट्रेट कागद आकार" + +#~ msgid "Toggle Drawing Mode" +#~ msgstr "आरेखन पध्दती जोडा" + +#~ msgid "Starting Jovie Text-to-Speech service Failed: %1" +#~ msgstr "जोव्ही मजकूर वाचन सेवा सुरु करण्यात अपयशः %1" + +#~ msgid "Search Columns" +#~ msgstr "शोध स्तंभ" + +#~ msgid "All Visible Columns" +#~ msgstr "सर्व दृश्य स्तंभ" + +#~ msgid "No document opened." +#~ msgstr "कोणताही दस्तऐवज उघडला नाही." + +#~ msgid "Can't open more than one document in the unique Okular instance." +#~ msgstr "यूनिक ओक्युलर इन्स्टंट मध्ये एकापेक्षा जास्त दस्तऐवज उघडता येत नाहीत." + +#~ msgid "No matches found for '%1'." +#~ msgstr "'%1' साठी सुसंगती सापडली नाही." + +#~ msgid "Search in progress..." +#~ msgstr "शोध चालू आहे..." + +#~ msgid "Searching for %1" +#~ msgstr "'%1'ला शोधत आहे" + +#~ msgid "Identity Settings" +#~ msgstr "ओळख व्यवस्था" + +#~ msgid "Highlight Properties" +#~ msgstr "गुणधर्म अंकित करा." + +#~ msgid "Ink Properties" +#~ msgstr "शाईचे गुणधर्म" + +#~ msgctxt "Annotation tool" +#~ msgid "Text Annotation" +#~ msgstr "मजकूरावरील टीप" + +#~ msgctxt "Annotation tool" +#~ msgid "Green Ink" +#~ msgstr "हिरवी शाई" + +#~ msgctxt "Annotation tool" +#~ msgid "Yellow Highlight" +#~ msgstr "पिवळे हायलाईट" + +#~ msgctxt "Annotation tool" +#~ msgid "Straight Yellow Line" +#~ msgstr "सरळ पिवळी रेषा" + +#~ msgid "Black Underlining" +#~ msgstr "काळे रेखांकन" + +#~ msgctxt "Annotation tool" +#~ msgid "Underline the text with a black line" +#~ msgstr "मजकूर काळ्या रेघेने रेखांकित करा" + +#~ msgctxt "Annotation tool" +#~ msgid "A cyan ellipse" +#~ msgstr "एक सायन लंबवर्तुळ" + +#~ msgid "Ink" +#~ msgstr "शाई" diff --git a/po/mr/okular_comicbook.po b/po/mr/okular_comicbook.po new file mode 100644 index 0000000..4d29b06 --- /dev/null +++ b/po/mr/okular_comicbook.po @@ -0,0 +1,57 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Chetan Khona , 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-03-20 12:21+0530\n" +"Last-Translator: Chetan Khona \n" +"Language-Team: Marathi \n" +"Language: mr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" +"X-Generator: Lokalize 1.5\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "चेतन खोना" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "chetan@kompkin.com" + +#: document.cpp:97 +#, fuzzy, kde-format +#| msgid "Cannot open document, unrar was not found." +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "दस्तऐवज उघडू शकत नाही, अनरार सापडले नाही." + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "तुमच्या प्रणालीतील अनरार कार्यक्रमाची आवृत्ती कॉमिकबूक उघडण्याकरिता योग्य नाही." + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "अपरिचीत कॉमिकबूक स्वरूप." + +#~ msgid "ComicBook Backend" +#~ msgstr "कॉमिकबूक बॅकएन्ड" + +#~ msgid "A renderer for various comic book formats" +#~ msgstr "विविध कॉमिकबूक स्वरूपांकरिता रेंडरर" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 टोबीआस कोएनींग" + +#~ msgid "Tobias Koenig" +#~ msgstr "टोबीआस कोएनींग" diff --git a/po/mr/okular_djvu.po b/po/mr/okular_djvu.po new file mode 100644 index 0000000..a505965 --- /dev/null +++ b/po/mr/okular_djvu.po @@ -0,0 +1,135 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Chetan Khona , 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-03-20 12:24+0530\n" +"Last-Translator: Chetan Khona \n" +"Language-Team: Marathi \n" +"Language: mr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" +"X-Generator: Lokalize 1.5\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "चेतन खोना" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "chetan@kompkin.com" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "संपादक" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "प्रकाशक" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "आवाज" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "दस्तऐवजाचा प्रकार" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "अपरिचीत" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "घटक फाईल्स" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "अपरिचीत" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "एकच पान" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "एकत्रित केलेले" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "अप्रत्यक्ष" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "एकत्रित केलेले (जुने)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "अनुक्रमीत केलेले (जुने)" + +#~ msgid "DjVu Backend" +#~ msgstr "डीजेव्हीयू बॅकएन्ड" + +#~ msgid "DjVu backend based on DjVuLibre." +#~ msgstr "डीजेव्हीयूलिब्रे वर आधारित डीजेव्हीयू बॅकएन्ड." + +#~ msgid "© 2006-2008 Pino Toscano" +#~ msgstr "© 2006-2008 पिनो तोस्कानो" + +#~ msgid "Pino Toscano" +#~ msgstr "पिनो तोस्कानो" + +#~ msgctxt "Unknown title" +#~ msgid "Unknown" +#~ msgstr "अपरिचीत" + +#~ msgctxt "Unknown author" +#~ msgid "Unknown" +#~ msgstr "अपरिचीत" + +#~ msgctxt "Unknown editor" +#~ msgid "Unknown" +#~ msgstr "अपरिचीत" + +#~ msgctxt "Unknown publisher" +#~ msgid "Unknown" +#~ msgstr "अपरिचीत" + +#~ msgctxt "Unknown creation date" +#~ msgid "Unknown" +#~ msgstr "अपरिचीत" + +#~ msgctxt "Unknown volume information" +#~ msgid "Unknown" +#~ msgstr "अपरिचीत" + +#~ msgctxt "Unknown type of document" +#~ msgid "Unknown" +#~ msgstr "अपरिचीत" diff --git a/po/mr/okular_dvi.po b/po/mr/okular_dvi.po new file mode 100644 index 0000000..6913d65 --- /dev/null +++ b/po/mr/okular_dvi.po @@ -0,0 +1,485 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Chetan Khona , 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-03-28 12:50+0530\n" +"Last-Translator: Chetan Khona \n" +"Language-Team: Marathi \n" +"Language: mr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" +"X-Generator: Lokalize 1.5\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "चेतन खोना" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "chetan@kompkin.com" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

    Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

    Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

    " +msgstr "" + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

    Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

    Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

    " +msgstr "" + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "" + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "" + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "" + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "" + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "" + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

    The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

    What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

    PATH: %2

    " +msgstr "" + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

    The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

    %2

    " +msgstr "" + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "" + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "" + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "" + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "" + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "" + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "" + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "" + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "" + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "" + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "अंतर्भूत करत आहे %1" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
    " +msgstr "" + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
    " +msgstr "" + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "" + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

    Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

    PATH: %1

    %2

    " +msgstr "" + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

    There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
    Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

    PATH: %1

    %2

    " +msgstr "" + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" + +#: fontpool.cpp:482 +#, kde-format +msgid "Currently generating %1 at %2 dpi…" +msgstr "" + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "पोर्ट्रेट" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "लँडस्केप" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "" + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "" + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "" + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "" + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "" + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "" + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "" + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "" + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "" + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "" + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "" + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "" + +#~ msgid "Please be patient" +#~ msgstr "कृपया धीर धरा" + +#~ msgid "*.pdf|Portable Document Format (*.pdf)" +#~ msgstr "*.pdf|पोर्टेबल दस्तऐवज फॉर्मेट (*.pdf))" + +#~ msgid "Export File As" +#~ msgstr "फाईल याप्रकारे निर्यात करा" + +#~ msgid "Overwrite File" +#~ msgstr "फाईल खोडून पुन्हा लिहा" + +#~ msgid "Overwrite" +#~ msgstr "खोडून लिहा" + +#~ msgid "*.ps|PostScript (*.ps)" +#~ msgstr "*.ps|पोस्टस्क्रिप्ट (*.ps))" + +#~ msgid "Functionality Unavailable" +#~ msgstr "फंक्शनलिटी अनुपलब्ध" + +#~ msgid "Export: %1 to PostScript" +#~ msgstr "%1 ला पोस्टस्क्रिप्ट मध्ये निर्यात करा" diff --git a/po/mr/okular_epub.po b/po/mr/okular_epub.po new file mode 100644 index 0000000..53fe070 --- /dev/null +++ b/po/mr/okular_epub.po @@ -0,0 +1,56 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Chetan Khona , 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-03-20 12:26+0530\n" +"Last-Translator: Chetan Khona \n" +"Language-Team: Marathi \n" +"Language: mr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" +"X-Generator: Lokalize 1.5\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "चेतन खोना" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "chetan@kompkin.com" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "इ-पब दस्तऐवज उघडताना त्रुटी." + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "" + +#: generator_epub.cpp:30 +#, fuzzy, kde-format +#| msgid "EPub Backend" +msgid "EPub Backend Configuration" +msgstr "इ-पब बॅकएन्ड" + +#~ msgid "EPub Backend" +#~ msgstr "इ-पब बॅकएन्ड" + +#~ msgid "An EPub backend" +#~ msgstr "इ-पब बॅकएन्ड" + +#~ msgid "© 2008 Ely Levy" +#~ msgstr "© 2008 एली लेव्ही" + +#~ msgid "Ely Levy" +#~ msgstr "एली लेव्ही" diff --git a/po/mr/okular_fax.po b/po/mr/okular_fax.po new file mode 100644 index 0000000..71e240a --- /dev/null +++ b/po/mr/okular_fax.po @@ -0,0 +1,45 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Chetan Khona , 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-03-20 12:27+0530\n" +"Last-Translator: Chetan Khona \n" +"Language-Team: Marathi \n" +"Language: mr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" +"X-Generator: Lokalize 1.5\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "चेतन खोना" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "chetan@kompkin.com" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "दस्तऐवज दाखल करू शकत नाही" + +#~ msgid "Fax Backend" +#~ msgstr "फेक्स बॅकएन्ड" + +#~ msgid "A G3/G4 fax document backend" +#~ msgstr "G3/G4 फेक्स दस्तऐवज बॅकएन्ड" + +#~ msgid "© 2008 Tobias Koenig" +#~ msgstr "© 2008 टोबीआस कोएनींग" + +#~ msgid "Tobias Koenig" +#~ msgstr "टोबीआस कोएनींग" diff --git a/po/mr/okular_fictionbook.po b/po/mr/okular_fictionbook.po new file mode 100644 index 0000000..d1b2635 --- /dev/null +++ b/po/mr/okular_fictionbook.po @@ -0,0 +1,82 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Chetan Khona , 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-03-20 12:31+0530\n" +"Last-Translator: Chetan Khona \n" +"Language-Team: Marathi \n" +"Language: mr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" +"X-Generator: Lokalize 1.5\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "चेतन खोना" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "chetan@kompkin.com" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "दस्तऐवज एक वैध फिक्शनबूक नाही" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "दस्तऐवज उघडू शकत नाही : %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "दस्तऐवज एक वैध झिप संग्रह नाही" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "अवैध दस्तऐवज स्ट्रक्चर (मुख्य संचयीका सापडत नाही)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "दस्तऐवजात मजकूर सापडला नाही" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "अवैध एक्सएमएल दस्तऐवज : %1" + +#: generator_fb.cpp:26 +#, fuzzy, kde-format +#| msgid "Fiction Book Backend" +msgid "FictionBook" +msgstr "फिक्शन बूक बॅकएन्ड" + +#: generator_fb.cpp:26 +#, fuzzy, kde-format +#| msgid "Fiction Book Backend" +msgid "FictionBook Backend Configuration" +msgstr "फिक्शन बूक बॅकएन्ड" + +#~ msgid "Fiction Book Backend" +#~ msgstr "फिक्शन बूक बॅकएन्ड" + +#~ msgid "A renderer for FictionBook eBooks" +#~ msgstr "फिक्शनबूक इ-पुस्तकां करिता रेंडरर" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 टोबीआस कोएनींग" + +#~ msgid "Tobias Koenig" +#~ msgstr "टोबीआस कोएनींग" diff --git a/po/mr/okular_ghostview.po b/po/mr/okular_ghostview.po new file mode 100644 index 0000000..81d23b1 --- /dev/null +++ b/po/mr/okular_ghostview.po @@ -0,0 +1,91 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Chetan Khona , 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-03-28 12:29+0530\n" +"Last-Translator: Chetan Khona \n" +"Language-Team: Marathi \n" +"Language: mr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" +"X-Generator: Lokalize 1.5\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "चेतन खोना" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "chetan@kompkin.com" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "प्लेटफ़ॉर्म फ़ॉन्ट्स वापरा" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"घोस्ट-स्क्रिप्ट मंचावरील फ़ॉन्ट्स वापरू शकेल का ते ठरवितो, जर चूक असेल तर फक्त दस्तऐवजातील " +"अंतर्भूत फ़ॉन्ट्स वापरता येतील." + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "सामान्य संयोजना" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "प्लेटफ़ॉर्म फ़ॉन्ट्स वापरा (&U)" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "घोस्ट-स्क्रिप्ट" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "घोस्ट-स्क्रिप्ट बॅकएन्ड संयोजना" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "दस्तऐवज आवृत्ती" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "भाषा स्तर" + +#~ msgid "PS Backend" +#~ msgstr "पीएस बॅकएन्ड" + +#~ msgid "A PostScript file renderer." +#~ msgstr "पोस्टस्क्रिप्ट फाईल रेंडरर." + +#~ msgid "© 2007-2008 Albert Astals Cid" +#~ msgstr "© 2007-2008 आल्बर्ट आस्टल्स किड" + +#~ msgid "Based on the Spectre library." +#~ msgstr "स्पेक्ट्रे लायब्ररी वर आधारित." + +#~ msgid "Albert Astals Cid" +#~ msgstr "आल्बर्ट आस्टल्स किड" diff --git a/po/mr/okular_kimgio.po b/po/mr/okular_kimgio.po new file mode 100644 index 0000000..1d29805 --- /dev/null +++ b/po/mr/okular_kimgio.po @@ -0,0 +1,67 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Chetan Khona , 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-03-20 12:36+0530\n" +"Last-Translator: Chetan Khona \n" +"Language-Team: Marathi \n" +"Language: mr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" +"X-Generator: Lokalize 1.5\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "चेतन खोना" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "chetan@kompkin.com" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "दस्तऐवज दाखल करू शकत नाही : %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" + +#~ msgid "Image Backend" +#~ msgstr "प्रतिमा बॅकएन्ड" + +#~ msgid "A simple image backend" +#~ msgstr "एक सोपे प्रतिमा बॅकएन्ड" + +#~ msgid "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" +#~ msgstr "" +#~ "© 2005, 2009 आल्बर्ट आस्टल्स किड\n" +#~ "© 2006-2007 पिनो तोस्कानो\n" +#~ "© 2006-2007 टोबीआस कोएनींग" + +#~ msgid "Albert Astals Cid" +#~ msgstr "आल्बर्ट आस्टल्स किड" + +#~ msgid "Pino Toscano" +#~ msgstr "पिनो तोस्कानो" + +#~ msgid "Tobias Koenig" +#~ msgstr "टोबीआस कोएनींग" + +#~ msgid "Main Toolbar" +#~ msgstr "मुख्य साधनपट्टी" diff --git a/po/mr/okular_mobi.po b/po/mr/okular_mobi.po new file mode 100644 index 0000000..189ce4f --- /dev/null +++ b/po/mr/okular_mobi.po @@ -0,0 +1,63 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Chetan Khona , 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-03-28 12:26+0530\n" +"Last-Translator: Chetan Khona \n" +"Language-Team: Marathi \n" +"Language: mr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" +"X-Generator: Lokalize 1.5\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "चेतन खोना" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "chetan@kompkin.com" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "मोबिपोकेट दस्तऐवज उघडताना त्रुटी." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "हे पुस्तक डीआरएमकडून सुरक्षित आहे व ते फक्त ठरविलेल्या साधनावरच दर्शविता येईल" + +#: generator_mobi.cpp:25 +#, fuzzy, kde-format +#| msgid "Mobipocket Backend" +msgid "Mobipocket" +msgstr "मोबिपोकेट बॅकएन्ड" + +#: generator_mobi.cpp:25 +#, fuzzy, kde-format +#| msgid "Mobipocket Backend" +msgid "Mobipocket Backend Configuration" +msgstr "मोबिपोकेट बॅकएन्ड" + +#~ msgid "Mobipocket Backend" +#~ msgstr "मोबिपोकेट बॅकएन्ड" + +#~ msgid "A mobipocket backend" +#~ msgstr "मोबिपोकेट बॅकएन्ड" + +#~ msgid "© 2008-2009 Jakub Stachowski" +#~ msgstr "© 2008-2009 जेकब स्टाचोव्स्की" + +#~ msgid "Jakub Stachowski" +#~ msgstr "जेकब स्टाचोव्स्की" diff --git a/po/mr/okular_poppler.po b/po/mr/okular_poppler.po new file mode 100644 index 0000000..23c0ab1 --- /dev/null +++ b/po/mr/okular_poppler.po @@ -0,0 +1,404 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Chetan Khona , 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-03-28 12:46+0530\n" +"Last-Translator: Chetan Khona \n" +"Language-Team: Marathi \n" +"Language: mr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" +"X-Generator: Lokalize 1.5\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "चेतन खोना" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "chetan@kompkin.com" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "बारिक ओळी वाढवा :" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "नाही" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "घन" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "आकार" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "पीडीएफ पर्याय" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "छपाई टीपा" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "छापलेल्या दस्तऐवजात टीपा अंतर्भूत करा" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"छापलेल्या दस्तऐवजात टीपा अंतर्भूत करतो. जर तुम्हाला मूळ विनाटीपाचा दस्तऐवज छापायचा असेल " +"तर हे अकार्यान्वित करा." + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "बळपूर्वक रेस्टरायझेशन" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "छपाई पूर्वी प्रतिमेत रेस्टराइझ करा" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"छपाई पूर्वी प्रत्येक प्रतिमेत रेस्टराइझ करतो. हे नेहमी काहिसे खराब दिसते पण जे दस्तऐवज चुकीचे " +"छापले जातात तेथे हे उपयोगी आहे." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "पीडीएफ आवृत्ती %1.%2" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "स्वरूप" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "कुटलिपीबद्ध" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "विनाकुटलिपी" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "सुरक्षा" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "हो" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "ऑप्टीमाइज्ड" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "पीडीएफ" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "पीडीएफ बॅकएन्ड संयोजना" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "" + +#: pdfsignatureutils.cpp:239 +#, fuzzy, kde-format +#| msgid "Document Password" +msgid "Enter Password" +msgstr "दस्तऐवज गुप्तशब्द" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "" + +#~ msgid "PDF Backend" +#~ msgstr "पीडीएफ बॅकएन्ड" + +#~ msgid "A PDF file renderer" +#~ msgstr "पीडीएफ फाईल रेंडरर" + +#~ msgid "© 2005-2008 Albert Astals Cid" +#~ msgstr "© 2005-2008 आल्बर्ट आस्टल्स किड" + +#~ msgid "Albert Astals Cid" +#~ msgstr "आल्बर्ट आस्टल्स किड" + +#~ msgid "Saving files with /Encrypt is not supported." +#~ msgstr "कुटलिपी सह साठवणे समर्थीत नाही." + +#~ msgid "Unknown" +#~ msgstr "अपरिचीत" + +#~ msgid "Unknown Date" +#~ msgstr "अपरिचीत दिनांक" + +#~ msgid "Unknown Encryption" +#~ msgstr "अपरिचीत कुटलिपी" + +#~ msgid "Unknown Optimization" +#~ msgstr "अपरिचीत ऑप्टीमाइजेशन" + +#~ msgid "Please enter the password to read the document:" +#~ msgstr "दस्तऐवज वाचण्याकरिता कृपया गुप्तशब्द दाखल करा :" + +#~ msgid "Incorrect password. Try again:" +#~ msgstr "अयोग्य गुप्तशब्द. पुन्हा प्रयत्न करा :" diff --git a/po/mr/okular_xps.po b/po/mr/okular_xps.po new file mode 100644 index 0000000..47a116f --- /dev/null +++ b/po/mr/okular_xps.po @@ -0,0 +1,57 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Chetan Khona , 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-03-20 12:51+0530\n" +"Last-Translator: Chetan Khona \n" +"Language-Team: Marathi \n" +"Language: mr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" +"X-Generator: Lokalize 1.5\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "चेतन खोना" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "chetan@kompkin.com" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "आवृत्ती" + +#~ msgid "XPS Backend" +#~ msgstr "एक्सपीएस बॅकएन्ड" + +#~ msgid "An XPS backend" +#~ msgstr "एक्सपीएस बॅकएन्ड" + +#~ msgid "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" +#~ msgstr "" +#~ "© 2006-2007 ब्रेड हार्डस्\n" +#~ "© 2007 जिरि क्लीमेंट\n" +#~ "© 2008 पिनो तोस्कानो" + +#~ msgid "Brad Hards" +#~ msgstr "ब्रेड हार्डस्" + +#~ msgid "Jiri Klement" +#~ msgstr "जिरि क्लीमेंट" + +#~ msgid "Pino Toscano" +#~ msgstr "पिनो तोस्कानो" diff --git a/po/mr/org.kde.active.documentviewer.po b/po/mr/org.kde.active.documentviewer.po new file mode 100644 index 0000000..9f4c69b --- /dev/null +++ b/po/mr/org.kde.active.documentviewer.po @@ -0,0 +1,222 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Chetan Khona , 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-03-23 15:32+0530\n" +"Last-Translator: Chetan Khona \n" +"Language-Team: American English \n" +"Language: mr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" +"X-Generator: Lokalize 1.5\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "ओळखचिन्हे" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +msgid "Export…" +msgstr "" + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "" + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "" + +#: ui/Main.qml:49 +msgid "About" +msgstr "" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "" + +#: ui/MainView.qml:29 +#, fuzzy +#| msgid "Bookmarks" +msgid "Bookmark this page" +msgstr "ओळखचिन्हे" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "लघुप्रतिमा" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "मचकूराची यादी" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:96 +msgid "Document Version" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:108 +msgid "Save Signed Version…" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +msgid "View Certificate…" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "" + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "सापडले नाही." + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "" + +#: ui/WelcomeView.qml:108 +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "" + +#~ msgid "Document viewer for Plasma Active using Okular" +#~ msgstr "प्लाज्मा एक्टिव्ह करिता ओक्युलर वापरणारा दस्तऐवज प्रदर्शक" + +#~ msgid "Reader" +#~ msgstr "वाचक" + +#~ msgid "Copyright 2012 Marco Martin" +#~ msgstr "सर्वाधिकार 2012 मार्को मार्टिन" + +#~ msgid "Marco Martin" +#~ msgstr "मार्को मार्टिन" + +#~ msgid "URL of the file to open" +#~ msgstr "उघडावयाच्या फाईलचे URL" diff --git a/po/ms/okular.po b/po/ms/okular.po new file mode 100644 index 0000000..996915c --- /dev/null +++ b/po/ms/okular.po @@ -0,0 +1,6504 @@ +# translation of okular.po to Malay +# Malay translation. +# +# FIRST AUTHOR MIMOS , 2005. +# Muhammad Najmi bin Ahmad Zabidi , 2010. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-12-13 13:37+0800\n" +"Last-Translator: Muhammad Najmi bin Ahmad Zabidi \n" +"Language-Team: Malay \n" +"Language: ms\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=1;\n" +"X-Generator: KBabel 1.11.4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "MIMOS" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "opensource@mimos.my" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "" + +#: aboutdata.h:31 +#, fuzzy, kde-format +#| msgid "Current mantainer" +msgid "Former maintainer" +msgstr "Penyelenggara semasa" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "" + +#: aboutdata.h:36 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgid "Annotations artwork" +msgstr "Ciri %1" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "" + +#: aboutdata.h:37 +#, fuzzy, kde-format +msgid "Table selection tool" +msgstr "&Pilih" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "" + +#: aboutdata.h:38 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgid "Annotation improvements" +msgstr "Ciri %1" + +#: core/action.cpp:137 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go to page %1" +msgstr "Pergi ke Halaman" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "" + +#: core/action.cpp:197 +#, kde-format +msgid "Execute '%1'…" +msgstr "" + +#: core/action.cpp:294 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgid "First Page" +msgstr "Muat Halaman" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, fuzzy, kde-format +msgid "Next Page" +msgstr "Muat Halaman" + +#: core/action.cpp:300 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgid "Last Page" +msgstr "Muat Halaman" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "" + +#: core/action.cpp:304 +#, fuzzy, kde-format +#| msgid "Format" +msgid "Forward" +msgstr "Format" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "" + +#: core/action.cpp:308 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Start Presentation" +msgstr "Persembahan" + +#: core/action.cpp:310 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "End Presentation" +msgstr "Persembahan" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go To Page…" +msgstr "Pergi ke Halaman" + +#: core/action.cpp:365 +#, kde-format +msgid "Play sound…" +msgstr "" + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "" + +#: core/action.cpp:483 +#, fuzzy, kde-format +msgid "Play movie…" +msgstr "Halaman" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "" + +#: core/action.cpp:558 +#, fuzzy, kde-format +msgid "Pause movie" +msgstr "Halaman" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
    %1 (%2).

    Please select which one to use:
    " +msgstr "" + +#: core/document.cpp:200 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "Pergi ke Halaman" + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "" + +#: core/document.cpp:246 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "" + +#: core/document.cpp:248 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "" + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "Persembahan" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, fuzzy, kde-format +#| msgid "" +#| "The pdf file is trying to execute an external application and for your " +#| "safety kpdf does not allow that." +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"Fail pdf cuba melaksana aplikasi luaran dan untuk keselamatan anda, kpdf " +"tidak membenarkannya." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "Tiada aplikasi ditemui untuk membuka fail mimetaip %1." + +#: core/document.cpp:4801 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not open a temporary file" +msgstr "Tidak boleh buka %1" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "" + +#: core/document.cpp:4813 +#, fuzzy, kde-format +#| msgid "Unable to find kpdf part." +msgid "Unable to find file to print" +msgstr "Tak dapat mencari bahagian kpdf." + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "" + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Judul" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Perkara" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "" + +#: core/document.cpp:6011 +#, fuzzy, kde-format +#| msgid "Author" +msgid "Author" +msgstr "Pengarang" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Pencipta" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Pengeluar" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "" + +#: core/document.cpp:6023 +#, fuzzy, kde-format +#| msgid "Pages:" +msgid "Pages" +msgstr "Halaman:" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Dicipta" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Terubah suai" + +#: core/document.cpp:6032 +#, fuzzy, kde-format +#| msgid "Type" +msgid "MIME Type" +msgstr "Jenis" + +#: core/document.cpp:6035 +#, fuzzy, kde-format +#| msgid "Creator" +msgid "Category" +msgstr "Pencipta" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Kata Kunci" + +#: core/document.cpp:6041 +#, fuzzy, kde-format +msgid "File Path" +msgstr "Judul" + +#: core/document.cpp:6044 +#, fuzzy, kde-format +#| msgid "Pages" +msgid "File Size" +msgstr "Halaman" + +#: core/document.cpp:6047 +#, fuzzy, kde-format +#| msgid "Pages" +msgid "Page Size" +msgstr "Halaman" + +#: core/documentcommands.cpp:62 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "Persembahan" + +#: core/documentcommands.cpp:108 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "Persembahan" + +#: core/documentcommands.cpp:155 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "Ciri %1" + +#: core/documentcommands.cpp:190 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "Persembahan" + +#: core/documentcommands.cpp:263 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "Persembahan" + +#: core/documentcommands.cpp:333 +#, fuzzy, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "&Pilih" + +#: core/documentcommands.cpp:398 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "Ciri %1" + +#: core/documentcommands.cpp:447 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "Ciri %1" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "" + +#: core/generator.cpp:790 +#, kde-format +msgid "Plain &Text…" +msgstr "" + +#: core/generator.cpp:793 +#, fuzzy, kde-format +#| msgid "KPDF" +msgid "PDF" +msgstr "KPDF" + +#: core/generator.cpp:797 +#, fuzzy, kde-format +#| msgid "Current mantainer" +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "Penyelenggara semasa" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "" + +#: core/printoptionswidget.cpp:19 +#, fuzzy, kde-format +#| msgid "Editor Options" +msgid "Print Options" +msgstr "Opsyen Penyunting" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "" + +#: core/signatureutils.cpp:504 +#, fuzzy, kde-kuit-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "Fail tidak dapat disimpan dalam '%1'. Cuba simpannya ke lokasi lain." + +#: core/signatureutils.cpp:506 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown signing error" +msgstr "Fail Tidak Diketahui" + +#: core/sourcereference.cpp:103 +#, fuzzy, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Judul" + +#: core/textdocumentsettings.cpp:34 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgid "&Default Font:" +msgstr "Peralihan piawai:" + +#: gui/certificatemodel.cpp:39 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Version" +msgstr "Dokumen yang hendak dibuka" + +#: gui/certificatemodel.cpp:41 +#, fuzzy, kde-format +#| msgid "Pages" +msgid "Serial Number" +msgstr "Halaman" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "" + +#: gui/certificatemodel.cpp:49 +#, fuzzy, kde-format +#| msgid "Subject" +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Perkara" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "" + +#: gui/certificatemodel.cpp:53 +#, fuzzy, kde-format +#| msgid "Memory Usage" +msgid "Key Usage" +msgstr "Penggunaan Ingatan" + +#: gui/certificatemodel.cpp:72 +#, fuzzy, kde-format +#| msgid "%1:" +msgid "V%1" +msgstr "%1:" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "" + +#: gui/certificatemodel.cpp:146 +#, fuzzy, kde-format +#| msgid "&Properties" +msgid "Property" +msgstr "&Ciri" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +msgid "Arrow with Comment" +msgstr "&Ciri" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "" + +#: gui/guiutils.cpp:59 +#, fuzzy, kde-format +msgid "Straight Line with Comment" +msgstr "&Ciri" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "" + +#: gui/guiutils.cpp:63 +#, fuzzy, kde-format +msgid "Polygon with Comment" +msgstr "&Ciri" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +msgid "Rectangle with Comment" +msgstr "&Pilih" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +msgid "Ellipse with Comment" +msgstr "&Pilih" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "" + +#: gui/guiutils.cpp:83 +#, fuzzy, kde-format +msgid "Highlight with Comment" +msgstr "&Ciri" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "" + +#: gui/guiutils.cpp:87 +#, fuzzy, kde-format +msgid "Squiggle with Comment" +msgstr "&Pilih" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "" + +#: gui/guiutils.cpp:91 +#, fuzzy, kde-format +msgid "Underline with Comment" +msgstr "&Pilih" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "" + +#: gui/guiutils.cpp:95 +#, fuzzy, kde-format +msgid "Strike Out with Comment" +msgstr "&Pilih" + +#: gui/guiutils.cpp:95 +#, fuzzy, kde-format +msgid "Strike Out" +msgstr "&Pilih" + +#: gui/guiutils.cpp:102 +#, fuzzy, kde-format +msgid "Stamp with Comment" +msgstr "&Pilih" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "" + +#: gui/guiutils.cpp:106 +#, fuzzy, kde-format +msgid "Freehand Line with Comment" +msgstr "&Ciri" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "" + +#: gui/guiutils.cpp:110 +#, fuzzy, kde-format +#| msgid "Creator" +msgid "Caret" +msgstr "Pencipta" + +#: gui/guiutils.cpp:114 +#, fuzzy, kde-format +msgid "File Attachment" +msgstr "&Ciri" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "" + +#: gui/guiutils.cpp:122 +#, fuzzy, kde-format +#| msgid "Modified" +msgid "Movie" +msgstr "Terubah suai" + +#: gui/guiutils.cpp:126 +#, fuzzy, kde-format +#| msgctxt "@label:listbox %1 is the screen number (0, 1, ...)" +#| msgid "Screen %1" +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Skrin %1" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Annotation" +msgstr "Persembahan" + +#: gui/guiutils.cpp:168 +#, fuzzy, kde-format +#| msgid "Unknown" +msgctxt "Unknown author" +msgid "Unknown" +msgstr "tak diketahui" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Pengarang: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "" + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "" + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "" + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "" + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "" + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "" + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "" + +#: gui/signatureguiutils.cpp:60 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Certificate is Trusted." +msgstr "Konfigur KPDF..." + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "" + +#: gui/signatureguiutils.cpp:64 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Certificate issuer is unknown." +msgstr "Konfigur KPDF..." + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "" + +#: gui/signatureguiutils.cpp:68 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Certificate has Expired." +msgstr "Konfigur KPDF..." + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "" + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "" + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "" + +#: gui/signatureguiutils.cpp:96 +#, fuzzy, kde-format +#| msgid "Unknown Date" +msgid "Unknown Algorithm" +msgstr "Tarikh Tak Diketahui" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown Type" +msgstr "Fail Tidak Diketahui" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "" + +#: gui/signatureguiutils.cpp:135 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Sign Certificate" +msgstr "Konfigur KPDF..." + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr "" + +#: gui/signatureguiutils.cpp:165 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "The document has not been modified since it was signed." +msgstr "Mencetak dokumen ini tak dibenarkan." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "" + +#: gui/signatureguiutils.cpp:208 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "Mencetak dokumen ini tak dibenarkan." + +#: gui/signatureguiutils.cpp:211 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "This document is digitally signed." +msgstr "Mencetak dokumen ini tak dibenarkan." + +#: gui/signatureguiutils.cpp:213 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "Mencetak dokumen ini tak dibenarkan." + +#: gui/signatureguiutils.cpp:216 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "Mencetak dokumen ini tak dibenarkan." + +#: gui/signaturemodel.cpp:141 +#, fuzzy, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "&Ciri" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "" + +#: gui/signaturemodel.cpp:172 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgid "Reason: %1" +msgstr "Halaman: %1" + +#: gui/signaturemodel.cpp:177 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Location: %1" +msgstr "Persembahan" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "" + +#: gui/signaturemodel.cpp:193 +#, fuzzy, kde-format +#| msgid "Unknown" +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "tak diketahui" + +#: gui/signaturemodel.cpp:195 +#, fuzzy, kde-format +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "&Ciri" + +#: gui/signaturemodel.cpp:201 +#, fuzzy, kde-format +msgid "Signature Type: %1" +msgstr "&Ciri" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "" + +#: part/annotationactionhandler.cpp:151 +#, fuzzy, kde-format +#| msgctxt "@label:listbox %1 is the screen number (0, 1, ...)" +#| msgid "Screen %1" +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "Skrin %1" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "Muat Lebar" + +#: part/annotationactionhandler.cpp:252 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1:" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:308 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Ciri %1" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "" + +#: part/annotationactionhandler.cpp:314 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Persembahan" + +#: part/annotationactionhandler.cpp:316 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "Persembahan" + +#: part/annotationactionhandler.cpp:318 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Persembahan" + +#: part/annotationactionhandler.cpp:322 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Persembahan" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "" + +#: part/annotationactionhandler.cpp:328 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "Persembahan" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" + +#: part/annotationactionhandler.cpp:341 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Ciri %1" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "" + +#: part/annotationactionhandler.cpp:434 +#, fuzzy, kde-format +#| msgid "Paper color:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "Kertas warna:" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "" + +#: part/annotationactionhandler.cpp:499 +#, fuzzy, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "&Pilih" + +#: part/annotationactionhandler.cpp:552 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "&Annotations" +msgstr "Persembahan" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "" + +#: part/annotationactionhandler.cpp:554 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Persembahan" + +#: part/annotationactionhandler.cpp:557 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "&Ciri" + +#: part/annotationactionhandler.cpp:558 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "&Pilih" + +#: part/annotationactionhandler.cpp:559 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "&Pilih" + +#: part/annotationactionhandler.cpp:560 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "&Pilih" + +#: part/annotationactionhandler.cpp:562 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "&Ciri" + +#: part/annotationactionhandler.cpp:563 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "&Ciri" + +#: part/annotationactionhandler.cpp:564 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "&Ciri" + +#: part/annotationactionhandler.cpp:565 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "&Ciri" + +#: part/annotationactionhandler.cpp:567 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "&Ciri" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "" + +#: part/annotationactionhandler.cpp:569 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "&Ciri" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "" + +#: part/annotationactionhandler.cpp:638 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Persembahan" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "" + +#: part/annotationactionhandler.cpp:651 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Quick Annotation Bar" +msgstr "Persembahan" + +#: part/annotationactionhandler.cpp:665 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "Persembahan" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "" + +#: part/annotationactionhandler.cpp:669 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "Persembahan" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "" + +#: part/annotationactionhandler.cpp:681 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Ciri %1" + +#: part/annotationactionhandler.cpp:684 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "Muat Lebar" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "" + +#: part/annotationactionhandler.cpp:696 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1:" + +#: part/annotationmodel.cpp:320 +#, fuzzy, kde-format +#| msgid "Page %1" +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "Halaman %1" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "Halaman %1" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "Persembahan" +msgstr[1] "Persembahan" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Buang Tanda Buku" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Tambah Tanda buku" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Text to Clipboard" +msgstr "Salin ke Klipbod" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "&Ciri" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "Simpan ke Fail..." + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:59 +#, fuzzy, kde-format +#| msgid "General" +msgid "&General" +msgstr "Umum" + +#: part/annotationpropertiesdialog.cpp:64 +#, fuzzy, kde-format +#| msgid "Author" +msgid "&Author:" +msgstr "Pengarang" + +#: part/annotationpropertiesdialog.cpp:69 +#, fuzzy, kde-format +#| msgid "Created" +msgid "Created:" +msgstr "Dicipta" + +#: part/annotationpropertiesdialog.cpp:74 +#, fuzzy, kde-format +#| msgid "Modified" +msgid "Modified:" +msgstr "Terubah suai" + +#: part/annotationpropertiesdialog.cpp:108 +#, fuzzy, kde-format +msgid "Pop-up Note Properties" +msgstr "&Ciri" + +#: part/annotationpropertiesdialog.cpp:111 +#, fuzzy, kde-format +msgid "Typewriter Properties" +msgstr "&Ciri" + +#: part/annotationpropertiesdialog.cpp:113 +#, fuzzy, kde-format +msgid "Inline Note Properties" +msgstr "&Ciri" + +#: part/annotationpropertiesdialog.cpp:119 +#, fuzzy, kde-format +msgid "Straight Line Properties" +msgstr "&Ciri" + +#: part/annotationpropertiesdialog.cpp:121 +#, fuzzy, kde-format +msgid "Polygon Properties" +msgstr "&Ciri" + +#: part/annotationpropertiesdialog.cpp:125 +#, fuzzy, kde-format +msgid "Geometry Properties" +msgstr "&Ciri" + +#: part/annotationpropertiesdialog.cpp:128 +#, fuzzy, kde-format +msgid "Text Markup Properties" +msgstr "&Ciri" + +#: part/annotationpropertiesdialog.cpp:131 +#, fuzzy, kde-format +msgid "Stamp Properties" +msgstr "&Ciri" + +#: part/annotationpropertiesdialog.cpp:134 +#, fuzzy, kde-format +msgid "Freehand Line Properties" +msgstr "&Ciri" + +#: part/annotationpropertiesdialog.cpp:137 +#, fuzzy, kde-format +msgid "Caret Properties" +msgstr "&Ciri" + +#: part/annotationpropertiesdialog.cpp:140 +#, fuzzy, kde-format +msgid "File Attachment Properties" +msgstr "&Ciri" + +#: part/annotationpropertiesdialog.cpp:143 +#, fuzzy, kde-format +msgid "Sound Properties" +msgstr "&Ciri" + +#: part/annotationpropertiesdialog.cpp:146 +#, fuzzy, kde-format +msgid "Movie Properties" +msgstr "&Ciri" + +#: part/annotationpropertiesdialog.cpp:149 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgid "Annotation Properties" +msgstr "Ciri %1" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%1:" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "" + +#: part/annotationwidgets.cpp:363 +#, fuzzy, kde-format +#| msgid "Icon" +msgid "Icon:" +msgstr "Ikon" + +#: part/annotationwidgets.cpp:364 +#, fuzzy, kde-format +msgid "Comment" +msgstr "&Bersambung" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "" + +#: part/annotationwidgets.cpp:387 +#, fuzzy, kde-format +#| msgid "&Invert colors" +msgid "Text &color:" +msgstr "&Songsangkan warna" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "" + +#: part/annotationwidgets.cpp:395 +#, fuzzy, kde-format +#| msgid "Wipe Left" +msgid "Left" +msgstr "Lap Kiri" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "" + +#: part/annotationwidgets.cpp:397 +#, fuzzy, kde-format +#| msgid "Wipe Right" +msgid "Right" +msgstr "Lap Kanan" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "" + +#: part/annotationwidgets.cpp:416 +#, fuzzy, kde-format +msgid "Confidential" +msgstr "&Bersambung" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "" + +#: part/annotationwidgets.cpp:421 +#, fuzzy, kde-format +msgid "Final" +msgstr "Judul" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "" + +#: part/annotationwidgets.cpp:428 +#, fuzzy, kde-format +#| msgid "Add Bookmark" +msgid "Bookmark" +msgstr "Tambah Tanda buku" + +#: part/annotationwidgets.cpp:429 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Information" +msgstr "Persembahan" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgid "&Width:" +msgstr "Muat Lebar" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:514 +#, fuzzy, kde-format +#| msgid "[none]" +msgid "None" +msgstr "[tiada]" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "" + +#: part/annotationwidgets.cpp:531 +#, fuzzy, kde-format +msgid "Leader line length:" +msgstr "&Pilih" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Shape fill:" +msgstr "Simpan ke Fail..." + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, fuzzy, kde-format +#| msgid "Type" +msgid "Type:" +msgstr "Jenis" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "" + +#: part/annotationwidgets.cpp:745 +#, fuzzy, kde-format +msgid "File attachment symbol:" +msgstr "&Ciri" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "" + +#: part/annotationwidgets.cpp:750 +#, fuzzy, kde-format +#| msgid "Paper color:" +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "Kertas warna:" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "" + +#: part/annotationwidgets.cpp:760 +#, fuzzy, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "Judul" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "" + +#: part/annotationwidgets.cpp:773 +#, fuzzy, kde-format +#| msgid "Name" +msgid "Name:" +msgstr "Nama" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "" + +#: part/annotationwidgets.cpp:845 +#, fuzzy, kde-format +#| msgid "[none]" +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "[tiada]" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, fuzzy, kde-format +#| msgid "Filter Options" +msgid "Options" +msgstr "Tapis Opsyen" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "" + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "" + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "" + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "" + +#: part/bookmarklist.cpp:116 +#, fuzzy, kde-format +#| msgid "Remove Bookmark" +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "Buang Tanda Buku" +msgstr[1] "Buang Tanda Buku" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, fuzzy, kde-format +#| msgid "Add Bookmark" +msgid "Bookmarks" +msgstr "Tambah Tanda buku" + +#: part/bookmarklist.cpp:136 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Show for all documents" +msgstr "Memuat semula dokumen..." + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, kde-format +msgid "Search…" +msgstr "" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, kde-format +msgid "Expand All" +msgstr "" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, kde-format +msgid "Collapse All" +msgstr "" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, fuzzy, kde-format +#| msgid "Remove Bookmark" +msgid "Rename Bookmark" +msgstr "Buang Tanda Buku" + +#: part/bookmarklist.cpp:299 +#, fuzzy, kde-format +#| msgid "Current mantainer" +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Penyelenggara semasa" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "" + +#: part/certificateviewer.cpp:47 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Certificate Viewer" +msgstr "Konfigur KPDF..." + +#: part/certificateviewer.cpp:50 +#, kde-format +msgid "Export…" +msgstr "" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "Umum" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "" + +#: part/colormodemenu.cpp:21 +#, fuzzy, kde-format +#| msgid "Change &Colors" +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "Tukar &Warna" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "" + +#: part/colormodemenu.cpp:41 +#, fuzzy, kde-format +#| msgid "&Invert colors" +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "&Songsangkan warna" + +#: part/colormodemenu.cpp:42 +#, fuzzy, kde-format +#| msgid "Change &paper color" +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "Tukar &kertas warna" + +#: part/colormodemenu.cpp:44 +#, fuzzy, kde-format +#| msgid "&Change dark and light colors" +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "&Tukar warna gelap dan lembut" + +#: part/colormodemenu.cpp:46 +#, fuzzy, kde-format +#| msgid "Convert to &black and white" +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "Tukar kepada &hitam dan putih" + +#: part/colormodemenu.cpp:49 +#, fuzzy, kde-format +#| msgid "&Invert colors" +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "&Songsangkan warna" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, fuzzy, kde-format +#| msgctxt "@label:listbox %1 is the screen number (0, 1, ...)" +#| msgid "Screen %1" +msgid "Green" +msgstr "Skrin %1" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, fuzzy, kde-format +msgid "Yellow Highlighter" +msgstr "&Ciri" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, fuzzy, kde-format +msgid "Green Highlighter" +msgstr "&Ciri" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "" + +#: part/dlgaccessibility.cpp:38 +#, fuzzy, kde-format +#| msgid "Draw border around &Links" +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "Lukis sempadan keliling &Pautan" + +#: part/dlgaccessibility.cpp:48 +#, fuzzy, kde-format +#| msgid "Change &Colors" +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "Tukar &Warna" + +#: part/dlgaccessibility.cpp:54 +#, fuzzy, kde-format +#| msgid "Warning: these options can badly affect drawing speed." +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "Amaran: opsyen ini boleh memberikan kesan buruk kelajuan melukis." + +#: part/dlgaccessibility.cpp:60 +#, fuzzy, kde-format +#| msgid "&Invert colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "&Songsangkan warna" + +#: part/dlgaccessibility.cpp:61 +#, fuzzy, kde-format +#| msgid "Change &paper color" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "Tukar &kertas warna" + +#: part/dlgaccessibility.cpp:62 +#, fuzzy, kde-format +#| msgid "&Change dark and light colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "&Tukar warna gelap dan lembut" + +#: part/dlgaccessibility.cpp:63 +#, fuzzy, kde-format +#| msgid "Convert to &black and white" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "Tukar kepada &hitam dan putih" + +#: part/dlgaccessibility.cpp:64 +#, fuzzy, kde-format +#| msgid "&Invert colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "&Songsangkan warna" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "" + +#: part/dlgaccessibility.cpp:87 +#, fuzzy, kde-format +#| msgid "Paper color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Kertas warna:" + +#: part/dlgaccessibility.cpp:99 +#, fuzzy, kde-format +#| msgid "Dark color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Warna gelap:" + +#: part/dlgaccessibility.cpp:104 +#, fuzzy, kde-format +#| msgid "Light color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "Warna cerah:" + +#: part/dlgaccessibility.cpp:119 +#, fuzzy, kde-format +#| msgid "Threshold:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "Ambang:" + +#: part/dlgaccessibility.cpp:127 +#, fuzzy, kde-format +#| msgid "Contrast:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Kontras:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "" + +#: part/dlgannotations.cpp:25 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Persembahan" + +#: part/dlgannotations.cpp:26 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Persembahan" + +#: part/dlgannotations.cpp:28 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Persembahan" + +#: part/dlgannotations.cpp:34 +#, fuzzy, kde-format +#| msgid "Author" +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "Pengarang" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" + +#: part/dlgannotations.cpp:48 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

    Quick Annotation Tools

    " +msgstr "Ciri %1" + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" + +#: part/dlgeditor.cpp:29 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Custom Text Editor" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "Penyunting Teks Sendiri" + +#: part/dlgeditor.cpp:30 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Kate" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Kile" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "SciTE" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Emacs client" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Klien Emacs" + +#: part/dlgeditor.cpp:34 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Lyx client" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "Klien Lyx" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
    \n" +"You can also put few placeholders:\n" +"
      \n" +"
    • %f - the file name
    • \n" +"
    • %l - the line of the file to be reached
    • \n" +"
    • %c - the column of the file to be reached
    • \n" +"
    \n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" + +#: part/dlgeditor.cpp:63 +#, fuzzy, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "&Bersambung" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "" + +#: part/dlggeneral.cpp:41 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "Papar bar &skrol" + +#: part/dlggeneral.cpp:48 +#, fuzzy, kde-format +#| msgid "Link the &thumbnails with the page" +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "Pautkan &thumbnail dengan halaman" + +#: part/dlggeneral.cpp:55 +#, fuzzy, kde-format +#| msgid "Show &hints and info messages" +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "Papar &panduan dan maklumat mesej" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "" + +#: part/dlggeneral.cpp:92 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "Warna latar belakang:" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "" + +#: part/dlggeneral.cpp:139 +#, fuzzy, kde-format +#| msgid "&Obey DRM limitations" +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "&Patuhi had DRM" + +#: part/dlggeneral.cpp:148 +#, fuzzy, kde-format +#| msgid "No document opened." +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "Tiada dokumen dibuka." + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "" + +#: part/dlggeneral.cpp:220 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%1:" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "" + +#: part/dlggeneral.cpp:228 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%1:" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "" + +#: part/dlggeneral.cpp:233 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "Muat Lebar" + +#: part/dlggeneral.cpp:234 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "Muat Halaman" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" + +#: part/dlggeneral.cpp:241 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "Peralihan piawai:" + +#: part/dlgperformance.cpp:26 +#, fuzzy, kde-format +#| msgid "Enable &transparency effects" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "Aktifkan kesan &kelutsinaran " + +#: part/dlgperformance.cpp:28 +#, fuzzy, kde-format +#| msgid "CPU Usage" +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "Penggunaan CPU" + +#: part/dlgperformance.cpp:35 +#, fuzzy, kde-format +#| msgid "&Low" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "&Rendah" + +#: part/dlgperformance.cpp:36 +#, fuzzy, kde-format +#| msgid "&Normal (default)" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "&Normal (piawai)" + +#: part/dlgperformance.cpp:37 +#, fuzzy, kde-format +#| msgid "&Aggressive" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "&Agresif" + +#: part/dlgperformance.cpp:38 +#, fuzzy, kde-format +#| msgctxt "@label:listbox %1 is the screen number (0, 1, ...)" +#| msgid "Screen %1" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "Skrin %1" + +#: part/dlgperformance.cpp:40 +#, fuzzy, kde-format +#| msgid "Memory Usage" +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "Penggunaan Ingatan" + +#: part/dlgperformance.cpp:54 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "Peralihan piawai:" + +#: part/dlgperformance.cpp:56 +#, fuzzy, kde-format +#| msgid "General Options" +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "Opsyen Umum" + +#: part/dlgperformance.cpp:59 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "Peralihan piawai:" + +#: part/dlgperformance.cpp:64 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "Peralihan piawai:" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"Pastikan ingatan yang diguna serendah yang mungkin. Jangan guna semula apa-" +"apa. (Bagi sistem dengan ingatan rendah.)" + +#: part/dlgperformance.cpp:80 +#, fuzzy, kde-format +#| msgid "" +#| "A good compromise between memory usage and speed gain. Preload next page " +#| "and boost searches. (For systems with 256MB of memory, typically.)" +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"Tolak ansur yang baik antara gunaan ingatan dengan dapatan kelajuan. Pramuat " +"halaman selanjutnya dan galakkan carian. (Bagi sistem dengan ingatan 256MB, " +"biasanya) " + +#: part/dlgperformance.cpp:83 +#, fuzzy, kde-format +#| msgid "" +#| "Keeps everything in memory. Preload next pages. Boost searches. (For " +#| "systems with more than 512MB of memory.)" +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"Kekalkan semuanya dalam ingatan. Pramuat halaman selanjutnya. Mengalak " +"carian.(Bagi sistem dengan ingatan lebih daripada 512MB.)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" + +#: part/dlgpresentation.cpp:38 +#, fuzzy, kde-format +#| msgid " sec." +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] " saat" +msgstr[1] " saat" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "" + +#: part/dlgpresentation.cpp:53 +#, fuzzy, kde-format +#| msgid "Loop after last page" +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "Gelung selepas halaman akhir" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "" + +#: part/dlgpresentation.cpp:63 +#, fuzzy, kde-format +#| msgid "Navigation" +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Navigasi" + +#: part/dlgpresentation.cpp:72 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "Warna latar belakang:" + +#: part/dlgpresentation.cpp:76 +#, fuzzy, kde-format +#| msgid "Hidden After Delay" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "Sembunyi Selepas Lengah" + +#: part/dlgpresentation.cpp:77 +#, fuzzy, kde-format +#| msgid "Always Visible" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "Sentiasa Dapat Dilihat" + +#: part/dlgpresentation.cpp:78 +#, fuzzy, kde-format +#| msgid "Always Hidden" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "Sentiasa Sembunyi" + +#: part/dlgpresentation.cpp:80 +#, fuzzy, kde-format +#| msgid "Mouse cursor:" +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "Kursor tetikus:" + +#: part/dlgpresentation.cpp:84 +#, fuzzy, kde-format +#| msgid "Show &progress indicator" +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "Papar petunjuk &kemajuan" + +#: part/dlgpresentation.cpp:90 +#, fuzzy, kde-format +#| msgid "Show s&ummary page" +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "Papar halaman &ringkasan" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "" + +#: part/dlgpresentation.cpp:102 +#, fuzzy, kde-format +#| msgid "Random Transition" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "Peralihan Rawak" + +#: part/dlgpresentation.cpp:103 +#, fuzzy, kde-format +#| msgid "Blinds Vertical" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "Buta tuli Menegak" + +#: part/dlgpresentation.cpp:104 +#, fuzzy, kde-format +#| msgid "Blinds Horizontal" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "Buta tuli Mendatar" + +#: part/dlgpresentation.cpp:105 +#, fuzzy, kde-format +#| msgid "Box In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "Kotak Dalam" + +#: part/dlgpresentation.cpp:106 +#, fuzzy, kde-format +#| msgid "Box Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "Kotak Luar" + +#: part/dlgpresentation.cpp:107 +#, fuzzy, kde-format +#| msgid "Dissolve" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "Bubar" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "" + +#: part/dlgpresentation.cpp:109 +#, fuzzy, kde-format +#| msgid "Glitter Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "Kilauan Bawah" + +#: part/dlgpresentation.cpp:110 +#, fuzzy, kde-format +#| msgid "Glitter Right" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "Kilauan Kanan" + +#: part/dlgpresentation.cpp:111 +#, fuzzy, kde-format +#| msgid "Glitter Right-Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "Kilauan Kanan-Bawah" + +#: part/dlgpresentation.cpp:112 +#, fuzzy, kde-format +#| msgid "Split Horizontal In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "Cerai Mendatar Dalam" + +#: part/dlgpresentation.cpp:113 +#, fuzzy, kde-format +#| msgid "Split Horizontal Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "Cerai Mendatar Keluar" + +#: part/dlgpresentation.cpp:114 +#, fuzzy, kde-format +#| msgid "Split Vertical In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "Cerai Tegak Dalam" + +#: part/dlgpresentation.cpp:115 +#, fuzzy, kde-format +#| msgid "Split Vertical Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "Cerai Tegak Luar" + +#: part/dlgpresentation.cpp:116 +#, fuzzy, kde-format +#| msgid "Wipe Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "Lap Bawah" + +#: part/dlgpresentation.cpp:117 +#, fuzzy, kde-format +#| msgid "Wipe Right" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "Lap Kanan" + +#: part/dlgpresentation.cpp:118 +#, fuzzy, kde-format +#| msgid "Wipe Left" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "Lap Kiri" + +#: part/dlgpresentation.cpp:119 +#, fuzzy, kde-format +#| msgid "Wipe Up" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "Lap Atas" + +#: part/dlgpresentation.cpp:121 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Peralihan piawai:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

    Drawing Tools

    " +msgstr "" + +#: part/dlgpresentation.cpp:171 +#, fuzzy, kde-format +#| msgctxt "@label:listbox The current screen, for the presentation mode" +#| msgid "Current Screen" +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Skrin Sekarang" + +#: part/dlgpresentation.cpp:172 +#, fuzzy, kde-format +#| msgctxt "@label:listbox The default screen for the presentation mode" +#| msgid "Default Screen" +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Skrin Asal" + +#: part/dlgpresentation.cpp:178 +#, fuzzy, kde-format +#| msgctxt "@label:listbox %1 is the screen number (0, 1, ...)" +#| msgid "Screen %1" +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "Skrin %1" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, fuzzy, kde-format +#| msgid "Name" +msgid "&Name:" +msgstr "Nama" + +#: part/editannottooldialog.cpp:69 +#, fuzzy, kde-format +#| msgid "Type" +msgid "&Type:" +msgstr "Jenis" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "" + +#: part/editannottooldialog.cpp:93 +#, fuzzy, kde-format +#| msgid "Add Bookmark" +msgid "Text markup" +msgstr "Tambah Tanda buku" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "" + +#: part/editannottooldialog.cpp:101 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Create annotation tool" +msgstr "Persembahan" + +#: part/editannottooldialog.cpp:103 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgid "Edit annotation tool" +msgstr "Ciri %1" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "" + +#: part/editdrawingtooldialog.cpp:58 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgid "&Pen Width:" +msgstr "Muat Lebar" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "" + +#: part/editdrawingtooldialog.cpp:79 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Create drawing tool" +msgstr "Persembahan" + +#: part/editdrawingtooldialog.cpp:84 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgid "Edit drawing tool" +msgstr "Ciri %1" + +#: part/embeddedfilesdialog.cpp:42 +#, fuzzy, kde-format +#| msgid "Unknown" +msgctxt "Unknown date" +msgid "Unknown" +msgstr "tak diketahui" + +#: part/embeddedfilesdialog.cpp:48 +#, fuzzy, kde-format +#| msgid "Embedded" +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Terbenam" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "" + +#: part/embeddedfilesdialog.cpp:70 +#, fuzzy, kde-format +#| msgid "Name" +msgctxt "@title:column" +msgid "Name" +msgstr "Nama" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "" + +#: part/embeddedfilesdialog.cpp:72 +#, fuzzy, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "Judul" + +#: part/embeddedfilesdialog.cpp:73 +#, fuzzy, kde-format +#| msgid "Created" +msgctxt "@title:column" +msgid "Created" +msgstr "Dicipta" + +#: part/embeddedfilesdialog.cpp:74 +#, fuzzy, kde-format +#| msgid "Modified" +msgctxt "@title:column" +msgid "Modified" +msgstr "Terubah suai" + +#: part/embeddedfilesdialog.cpp:154 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "Simpan ke Fail..." + +#: part/embeddedfilesdialog.cpp:155 +#, kde-format +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "" + +#: part/findbar.cpp:38 +#, fuzzy, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "Judul" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "" + +#: part/findbar.cpp:54 +#, fuzzy, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Muat Halaman" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "" + +#: part/findbar.cpp:58 +#, fuzzy, kde-format +#| msgid "Remove Bookmark" +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Buang Tanda Buku" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "" + +#: part/findbar.cpp:66 +#, fuzzy, kde-format +#| msgid "Case Sensitive" +msgid "Case sensitive" +msgstr "Sensitif huruf besar/kecil" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "" + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, fuzzy, kde-format +msgid "Signature Properties" +msgstr "&Ciri" + +#: part/ktreeviewsearchline.cpp:283 +#, fuzzy, kde-format +#| msgid "Filter Options" +msgid "Search Options" +msgstr "Tapis Opsyen" + +#: part/ktreeviewsearchline.cpp:284 +#, fuzzy, kde-format +#| msgid "Case Sensitive" +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "Sensitif huruf besar/kecil" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "" + +#: part/pageview.cpp:530 +#, fuzzy, kde-format +#| msgid "Glitter Right" +msgid "Rotate &Right" +msgstr "Kilauan Kanan" + +#: part/pageview.cpp:531 +#, fuzzy, kde-format +#| msgid "Wipe Right" +msgctxt "Rotate right" +msgid "Right" +msgstr "Lap Kanan" + +#: part/pageview.cpp:535 +#, fuzzy, kde-format +#| msgid "Wipe Left" +msgid "Rotate &Left" +msgstr "Lap Kiri" + +#: part/pageview.cpp:536 +#, fuzzy, kde-format +#| msgid "Wipe Left" +msgctxt "Rotate left" +msgid "Left" +msgstr "Lap Kiri" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "" + +#: part/pageview.cpp:557 +#, fuzzy, kde-format +msgid "Trim To &Selection" +msgstr "&Pilih" + +#: part/pageview.cpp:563 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgid "Fit &Width" +msgstr "Muat Lebar" + +#: part/pageview.cpp:567 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgid "Fit &Page" +msgstr "Muat Halaman" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "" + +#: part/pageview.cpp:575 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgid "Fit Wi&ndow to Page" +msgstr "Muat Halaman" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "" + +#: part/pageview.cpp:594 +#, fuzzy, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "Judul" + +#: part/pageview.cpp:595 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "Muat Halaman" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "&Bersambung" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "" + +#: part/pageview.cpp:627 +#, fuzzy, kde-format +msgid "&Browse" +msgstr "&Alat Zum" + +#: part/pageview.cpp:635 +#, fuzzy, kde-format +#| msgid "&Zoom Tool" +msgid "&Zoom" +msgstr "&Alat Zum" + +#: part/pageview.cpp:655 +#, fuzzy, kde-format +msgid "Area &Selection" +msgstr "&Pilih" + +#: part/pageview.cpp:662 +#, fuzzy, kde-format +msgid "&Text Selection" +msgstr "&Pilih" + +#: part/pageview.cpp:669 +#, fuzzy, kde-format +msgid "T&able Selection" +msgstr "&Pilih" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "" + +#: part/pageview.cpp:685 +#, fuzzy, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "&Pilih" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "" + +#: part/pageview.cpp:717 +#, fuzzy, kde-format +#| msgid "Current mantainer" +msgid "Speak Whole Document" +msgstr "Penyelenggara semasa" + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "Skrol Atas" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Skrol Bawah" + +#: part/pageview.cpp:761 +#, fuzzy, kde-format +#| msgid "Scroll Up" +msgid "Scroll Page Up" +msgstr "Skrol Atas" + +#: part/pageview.cpp:767 +#, fuzzy, kde-format +#| msgid "Scroll Down" +msgid "Scroll Page Down" +msgstr "Skrol Bawah" + +#: part/pageview.cpp:773 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgid "Show Forms" +msgstr "Papar bar &skrol" + +#: part/pageview.cpp:1278 +#, fuzzy, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] "_n: Muat dokumen satu halaman." +msgstr[1] " Muat dokumen %1 halaman." + +#: part/pageview.cpp:2526 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Table Contents to Clipboard" +msgstr "Salin ke Klipbod" + +#: part/pageview.cpp:2845 +#, fuzzy, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "_n: Teks (1 aksara)" +msgstr[1] "Teks (%1 aksara)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "Salin ke Klipbod" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "Teks Tutur" + +#: part/pageview.cpp:2863 +#, fuzzy, kde-format +#| msgid "Image (%1 by %2 pixels)" +msgid "Image (%1 × %2 pixels)" +msgstr "Imej (%1 by %2 piksel)" + +#: part/pageview.cpp:2865 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save to File…" +msgstr "Simpan ke Fail..." + +#: part/pageview.cpp:2885 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] copied to clipboard." +msgid "Image [%1 × %2] copied to clipboard." +msgstr "Imej [%1x%2] disalin ke klipbod." + +#: part/pageview.cpp:2888 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save file" +msgstr "Simpan ke Fail..." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "Fail tidak disimpan." + +#: part/pageview.cpp:2901 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] saved to %3 file." +msgid "Image [%1 × %2] saved to %3 file." +msgstr "Imej [%1x%2] simpan ke fail %3." + +#: part/pageview.cpp:3042 +#, fuzzy, kde-format +#| msgid "Speak Text" +msgid "Copy Text" +msgstr "Teks Tutur" + +#: part/pageview.cpp:3062 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go to '%1'" +msgstr "Pergi ke Halaman" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "Muat Lebar" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "Muat Halaman" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "" + +#: part/pageview.cpp:4107 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1:" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "" + +#: part/pageview.cpp:4404 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Configure Web Shortcuts…" +msgstr "Konfigur KPDF..." + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Selamat Datang" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "Pilih kawasan zum. Klik kanan untuk zum keluar." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "" + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "Lukis segi empat tepat keliling teks/grafik untuk salin." + +#: part/pageview.cpp:5158 +#, fuzzy, kde-format +msgid "Select text" +msgstr "&Pilih" + +#: part/pageview.cpp:5172 +#, fuzzy, kde-format +#| msgid "Draw a rectangle around the text/graphics to copy." +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "Lukis segi empat tepat keliling teks/grafik untuk salin." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" + +#: part/pageview.cpp:5188 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "No valid certificates" +msgstr "Konfigur KPDF..." + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Open Certificate Manager" +msgstr "Konfigur KPDF..." + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
    Launch Certificate Manager " +"to import or manage certificates
    For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "No certificates found" +msgstr "Konfigur KPDF..." + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
    For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "" + +#: part/pageview.cpp:5405 +#, fuzzy, kde-format +#| msgid "Draw a rectangle around the text/graphics to copy." +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "Lukis segi empat tepat keliling teks/grafik untuk salin." + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgid "Author" +msgid "Author name" +msgstr "Pengarang" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Author name for the annotation:" +msgstr "Persembahan" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1392 +#, fuzzy, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "&Ciri" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "" + +#: part/pageviewannotator.cpp:1404 +#, fuzzy, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "&Pilih" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "" + +#: part/pageviewannotator.cpp:1410 +#, fuzzy, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "&Pilih" + +#: part/pageviewannotator.cpp:1412 +#, fuzzy, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "&Pilih" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1473 +#, fuzzy, kde-format +msgid "Highlighter" +msgstr "&Ciri" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Add favorite annotation" +msgstr "Persembahan" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Custom annotation name:" +msgstr "Persembahan" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, fuzzy, kde-format +msgid "&File" +msgstr "Judul" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, fuzzy, kde-format +#| msgid "P&resentation" +msgid "&Orientation" +msgstr "P&ersembahan" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, fuzzy, kde-format +#| msgid "Add Bookmark" +msgid "&Bookmarks" +msgstr "Tambah Tanda buku" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Thumbnails" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Annotations" +msgstr "Persembahan" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
    Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "" + +#: part/part.cpp:662 +#, fuzzy, kde-format +#| msgid "Remove Bookmark" +msgctxt "Previous page" +msgid "Previous" +msgstr "Buang Tanda Buku" + +#: part/part.cpp:663 +#, fuzzy, kde-format +#| msgid "Go to the place you were after" +msgid "Go back to the Previous Page" +msgstr "Pergi ke tempat anda berada selepasnya" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "Alih ke halaman dokumen sebelumnya" + +#: part/part.cpp:674 +#, fuzzy, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "Muat Halaman" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "Alih ke halaman dokument berikutnya " + +#: part/part.cpp:687 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Beginning of the document" +msgstr "Memuat semula dokumen..." + +#: part/part.cpp:688 +#, fuzzy, kde-format +#| msgid "Moves to the next page of the document" +msgid "Moves to the beginning of the document" +msgstr "Alih ke halaman dokument berikutnya " + +#: part/part.cpp:692 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "End of the document" +msgstr "Memuat semula dokumen..." + +#: part/part.cpp:693 +#, fuzzy, kde-format +#| msgid "Moves to the next page of the document" +msgid "Moves to the end of the document" +msgstr "Alih ke halaman dokument berikutnya " + +#: part/part.cpp:707 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Rename the current bookmark" +msgstr "Memuat semula dokumen..." + +#: part/part.cpp:711 +#, fuzzy, kde-format +#| msgid "Remove Bookmark" +msgid "Previous Bookmark" +msgstr "Buang Tanda Buku" + +#: part/part.cpp:713 +#, fuzzy, kde-format +#| msgid "Go to the place you were after" +msgid "Go to the previous bookmark" +msgstr "Pergi ke tempat anda berada selepasnya" + +#: part/part.cpp:717 +#, fuzzy, kde-format +#| msgid "Add Bookmark" +msgid "Next Bookmark" +msgstr "Tambah Tanda buku" + +#: part/part.cpp:719 +#, fuzzy, kde-format +#| msgid "Show bookmarked pages only" +msgid "Go to the next bookmark" +msgstr "Papar hanya halaman yang ditanda buku" + +#: part/part.cpp:748 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Configure Okular…" +msgstr "Konfigur KPDF..." + +#: part/part.cpp:751 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Configure Viewer…" +msgstr "Konfigur KPDF..." + +#: part/part.cpp:757 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Configure Viewer Backends…" +msgstr "Konfigur KPDF..." + +#: part/part.cpp:759 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Configure Backends…" +msgstr "Konfigur KPDF..." + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "" + +#: part/part.cpp:802 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Reload the current document from disk." +msgstr "Memuat semula dokumen..." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "" + +#: part/part.cpp:813 +#, fuzzy, kde-format +#| msgid "Pages" +msgid "Page Number" +msgstr "Halaman" + +#: part/part.cpp:817 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "Konfigur KPDF..." + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "" + +#: part/part.cpp:871 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgid "Show S&idebar" +msgstr "Papar bar &skrol" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "" + +#: part/part.cpp:886 +#, fuzzy, kde-format +#| msgid "Show &Navigation Panel" +msgid "Show &Signatures Panel" +msgstr "Papar Panel &Navigasi" + +#: part/part.cpp:897 +#, fuzzy, kde-format +#| msgid "Embedded" +msgid "&Embedded Files" +msgstr "Terbenam" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "P&ersembahan" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "" + +#: part/part.cpp:945 +#, kde-format +msgid "&Import PostScript as PDF…" +msgstr "" + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "" + +#: part/part.cpp:957 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Erase Drawing" +msgstr "Persembahan" + +#: part/part.cpp:962 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Configure Annotations…" +msgstr "Konfigur KPDF..." + +#: part/part.cpp:967 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Play/Pause Presentation" +msgstr "Persembahan" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" + +#: part/part.cpp:1123 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Document can't be saved" +msgstr "Dokumen yang hendak dibuka" + +#: part/part.cpp:1152 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not open '%1' (%2) " +msgstr "Tidak boleh buka %1" + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "" + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "" + +#: part/part.cpp:1249 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Configure Viewer Backends" +msgstr "Konfigur KPDF..." + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "" + +#: part/part.cpp:1357 +#, kde-format +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "" + +#: part/part.cpp:1489 +#, fuzzy, kde-format +#| msgid "Moves to the next page of the document" +msgid "Please enter the password to read the document:" +msgstr "Alih ke halaman dokument berikutnya " + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "" + +#: part/part.cpp:1502 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Document Password" +msgstr "Dokumen yang hendak dibuka" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "" + +#: part/part.cpp:1739 +#, fuzzy, kde-format +msgid "Enter Presentation Mode" +msgstr "Opsyen untuk Mod Persembahan" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "" + +#: part/part.cpp:1830 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not open %1. %2" +msgstr "Tidak boleh buka %1" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "" + +#: part/part.cpp:1865 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue Reloading" +msgstr "&Bersambung" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" + +#: part/part.cpp:1875 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue Closing" +msgstr "&Bersambung" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "" + +#: part/part.cpp:1883 +#, fuzzy, kde-format +#| msgid "Current mantainer" +msgid "Close Document" +msgstr "Penyelenggara semasa" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" + +#: part/part.cpp:2113 part/part.cpp:2131 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Reloading the document…" +msgstr "Memuat semula dokumen..." + +#: part/part.cpp:2288 part/toc.cpp:38 +#, fuzzy, kde-format +msgid "Contents" +msgstr "&Bersambung" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Pergi ke Halaman" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "&Halaman:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "" + +#: part/part.cpp:2506 +#, fuzzy, kde-format +#| msgid "Remove Bookmark" +msgid "Rename this Bookmark" +msgstr "Buang Tanda Buku" + +#: part/part.cpp:2509 +#, fuzzy, kde-format +#| msgid "Remove Bookmark" +msgid "Remove this Bookmark" +msgstr "Buang Tanda Buku" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save As" +msgstr "Simpan ke Fail..." + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
    In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "" + +#: part/part.cpp:2726 +#, fuzzy, kde-kuit-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "Fail tidak dapat disimpan dalam '%1'. Cuba simpannya ke lokasi lain." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "Fail tidak dapat disimpan dalam '%1'. Cuba simpannya ke lokasi lain." + +#: part/part.cpp:2766 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgid "Filled form contents" +msgstr "Ciri %1" + +#: part/part.cpp:2769 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "User annotations" +msgstr "Persembahan" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" + +#: part/part.cpp:2796 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue" +msgstr "&Bersambung" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "" + +#: part/part.cpp:2824 +#, fuzzy, kde-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgid "File could not be saved in '%1'. %2" +msgstr "Fail tidak dapat disimpan dalam '%1'. Cuba simpannya ke lokasi lain." + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" + +#: part/part.cpp:2899 +#, fuzzy, kde-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "Fail tidak dapat disimpan dalam '%1'. Cuba simpannya ke lokasi lain." + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Expand Whole Section" +msgstr "Persembahan" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Collapse Whole Section" +msgstr "Persembahan" + +#: part/part.cpp:3172 +#, fuzzy, kde-format +#| msgid "Link the &thumbnails with the page" +msgid "Sync Thumbnail with Page" +msgstr "Pautkan &thumbnail dengan halaman" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Alat" + +#: part/part.cpp:3381 +#, fuzzy, kde-format +#| msgid "Speak Text" +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "Teks Tutur" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "Mencetak dokumen ini tak dibenarkan." + +#: part/part.cpp:3615 +#, fuzzy, kde-format +#| msgid "Could not print the document. Please report to bugs.kde.org" +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "Tidak boleh cetak dokumen. Laporkan ke bugs.kde.org" + +#: part/part.cpp:3617 +#, fuzzy, kde-format +#| msgid "Could not print the document. Please report to bugs.kde.org" +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "Tidak boleh cetak dokumen. Laporkan ke bugs.kde.org" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "Pergi ke tempat anda berada sebelumnya" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "Pergi ke tempat anda berada selepasnya" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" + +#: part/part.cpp:3803 +#, fuzzy, kde-format +#| msgid "Add Bookmark" +msgid "No Bookmarks" +msgstr "Tambah Tanda buku" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&Pergi" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, fuzzy, kde-format +msgid "&Tools" +msgstr "Alat" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Annotation Toolbar" +msgstr "Persembahan" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Quick Annotation Toolbar" +msgstr "Persembahan" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "Opsyen Umum" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Kebolehaksesan" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "Bantuan Membaca" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Prestasi" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "Pelarasan Prestasi" + +#: part/preferencesdialog.cpp:45 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Configure Viewer" +msgstr "Konfigur KPDF..." + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Persembahan" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "Opsyen untuk Mod Persembahan" + +#: part/preferencesdialog.cpp:50 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgid "Annotation Options" +msgstr "Ciri %1" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "Opsyen Penyunting" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "" + +#: part/presentationwidget.cpp:174 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "Persembahan" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "" + +#: part/presentationwidget.cpp:233 +#, fuzzy, kde-format +#| msgid "Created" +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "Dicipta" + +#: part/presentationwidget.cpp:240 +#, fuzzy, kde-format +msgid "Exit Presentation Mode" +msgstr "Opsyen untuk Mod Persembahan" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Judul: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Halaman: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "Klik untuk mula" + +#: part/presentationwidget.cpp:521 +#, fuzzy, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "Halaman" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"Terdapat dua cara untuk keluar dari mod persembahan, anda boleh tekan " +"kekunci ESC atau klik pada butang keluar yang muncul apabila menempatkan " +"tetikus di sudut kanan atas. Sudah tentu anda boleh kitar tetingkap (Alt+TAB " +"menurut piawai)" + +#: part/presentationwidget.cpp:1718 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "Persembahan" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "Fail Tidak Diketahui" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "Ciri %1" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "" + +#: part/propertiesdialog.cpp:145 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Reading font information…" +msgstr "Memuat semula dokumen..." + +#: part/propertiesdialog.cpp:158 +#, fuzzy, kde-format +#| msgid "&Page:" +msgid "&Page Sizes" +msgstr "&Halaman:" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Jenis 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Jenis 1C" + +#: part/propertiesdialog.cpp:279 +#, fuzzy, kde-format +#| msgid "Type 1C" +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "Jenis 1C" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Jenis 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, fuzzy, kde-format +#| msgid "TrueType" +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID Jenis 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID Jenis 0C" + +#: part/propertiesdialog.cpp:297 +#, fuzzy, kde-format +#| msgid "CID Type 0C" +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID Jenis 0C" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, fuzzy, kde-format +#| msgid "CID TrueType" +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "" + +#: part/propertiesdialog.cpp:318 +#, fuzzy, kde-format +#| msgid "Unknown" +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "tak diketahui" + +#: part/propertiesdialog.cpp:331 +#, fuzzy, kde-format +#| msgid "Embedded" +msgid "Embedded (subset)" +msgstr "Terbenam" + +#: part/propertiesdialog.cpp:334 +#, fuzzy, kde-format +#| msgid "Embedded" +msgid "Fully embedded" +msgstr "Terbenam" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "" + +#: part/propertiesdialog.cpp:385 +#, fuzzy, kde-format +#| msgid "Unknown Date" +msgid "Unknown font" +msgstr "Tarikh Tak Diketahui" + +#: part/propertiesdialog.cpp:391 +#, fuzzy, kde-format +#| msgid "Embedded" +msgid "Embedded: %1" +msgstr "Terbenam" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "Nama" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "Jenis" + +#: part/propertiesdialog.cpp:430 +#, fuzzy, kde-format +msgid "File" +msgstr "Judul" + +#: part/propertiesdialog.cpp:498 +#, fuzzy, kde-format +#| msgid "Pages:" +msgid "Page" +msgstr "Halaman:" + +#: part/propertiesdialog.cpp:501 +#, fuzzy, kde-format +msgid "Size" +msgstr "Judul" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "" + +#: part/revisionviewer.cpp:56 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not save file %1." +msgstr "Tidak boleh buka %1" + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "" + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "Masukkan sekurang-kurangnya 3 abjad untuk menapis halaman" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "Sensitif huruf besar/kecil" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "Padan Fasa" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "Padan Semua Perkataan" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "Padan Sebarang Perkataan" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "Tapis Opsyen" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Certificates" +msgstr "Konfigur KPDF..." + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Only QES certificates" +msgstr "Konfigur KPDF..." + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, fuzzy, kde-format +#| msgid "Filter Options" +msgid "optional" +msgstr "Tapis Opsyen" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Location:" +msgstr "Persembahan" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, fuzzy, kde-format +#| msgid "Background color:" +msgid "Background:" +msgstr "Warna latar belakang:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, fuzzy, kde-format +#| msgid "Background color:" +msgid "Recent backgrounds:" +msgstr "Warna latar belakang:" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

    No annotations

    To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
    " +msgstr "" + +#: part/side_reviews.cpp:142 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Group by Page" +msgstr "Pergi ke Halaman" + +#: part/side_reviews.cpp:147 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Group by Author" +msgstr "Pergi ke Halaman" + +#: part/side_reviews.cpp:155 +#, fuzzy, kde-format +#| msgid "Show bookmarked pages only" +msgid "Show annotations for current page only" +msgstr "Papar hanya halaman yang ditanda buku" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "" + +#: part/signaturepanel.cpp:101 +#, fuzzy, kde-format +#| msgid "&Properties" +msgid "Properties" +msgstr "&Ciri" + +#: part/signaturepartutils.cpp:180 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Halaman: %1" + +#: part/signaturepartutils.cpp:181 +#, fuzzy, kde-format +#| msgid "Enable &background generation" +msgid "Select background image" +msgstr "Aktifkan penjanaan &latar belakang" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "" + +#: part/signaturepartutils.cpp:244 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Enter document password" +msgstr "Dokumen yang hendak dibuka" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:63 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Additional Information" +msgstr "Persembahan" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:83 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Document Version" +msgstr "Dokumen yang hendak dibuka" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:95 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "View Certificate…" +msgstr "Konfigur KPDF..." + +#: part/signaturepropertiesdialog.cpp:97 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "View in Certificate Manager" +msgstr "Konfigur KPDF..." + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "Papar hanya halaman yang ditanda buku" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "" + +#: part/videowidget.cpp:146 +#, fuzzy, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Halaman" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, kde-format +msgid "&Edit…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, fuzzy, kde-format +#| msgid "Wipe Down" +msgid "Move &Down" +msgstr "Lap Bawah" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "" + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "" + +#: shell/shell.cpp:207 +#, fuzzy, kde-format +#| msgid "Unable to find kpdf part." +msgid "Unable to find the Okular component: %1" +msgstr "Tak dapat mencari bahagian kpdf." + +#: shell/shell.cpp:250 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgid "Sidebar" +msgstr "Papar bar &skrol" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" + +#: shell/shell.cpp:315 +#, fuzzy, kde-format +#| msgid "Unable to find kpdf part." +msgid "Unable to find the Okular component." +msgstr "Tak dapat mencari bahagian kpdf." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"Klik untuk buka fail\n" +"Klik dan pegang untuk buka fail terkini" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"Klik untuk buka fail atau Klik dan tekan untuk memilih fail " +"terkini" + +#: shell/shell.cpp:582 +#, fuzzy, kde-format +msgid "Next Tab" +msgstr "Muat Halaman" + +#: shell/shell.cpp:588 +#, fuzzy, kde-format +#| msgid "Remove Bookmark" +msgid "Previous Tab" +msgstr "Buang Tanda Buku" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "" + +#: shell/shell.cpp:603 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgid "Lock Sidebar" +msgstr "Papar bar &skrol" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "" + +#: shell/shell.cpp:708 +#, fuzzy, kde-format +#| msgid "Current mantainer" +msgid "Open Document" +msgstr "Penyelenggara semasa" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "" + +#: shell/welcomescreen.cpp:64 +#, fuzzy, kde-format +#| msgid "Speak Text" +msgid "&Copy Path" +msgstr "Teks Tutur" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "" + +#: shell/welcomescreen.cpp:137 +#, fuzzy, kde-format +#| msgid "Current mantainer" +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "Penyelenggara semasa" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, fuzzy, kde-format +#| msgid "Current mantainer" +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Penyelenggara semasa" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, fuzzy, kde-format +#| msgid "Current mantainer" +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Penyelenggara semasa" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "" + +#, fuzzy +#~ msgid "Geometry with Comment" +#~ msgstr "&Ciri" + +#, fuzzy +#~| msgid "Modified" +#~ msgid "Modified: %1" +#~ msgstr "Terubah suai" + +#, fuzzy +#~| msgid "Go to Page" +#~ msgid "Go To Page..." +#~ msgstr "Pergi ke Halaman" + +#, fuzzy +#~| msgid "Save to File..." +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "Simpan ke Fail..." + +#, fuzzy +#~| msgid "Configure KPDF..." +#~ msgid "Configure Viewer..." +#~ msgstr "Konfigur KPDF..." + +#, fuzzy +#~| msgid "Configure KPDF..." +#~ msgid "Configure Viewer Backends..." +#~ msgstr "Konfigur KPDF..." + +#, fuzzy +#~| msgid "Unknown" +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "tak diketahui" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%1:" + +#, fuzzy +#~| msgid "Fit Width" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "Muat Lebar" + +#, fuzzy +#~| msgid "Fit Page" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "Muat Halaman" + +#, fuzzy +#~| msgid "Show scroll&bars" +#~ msgid "Show Sidebar" +#~ msgstr "Papar bar &skrol" + +#, fuzzy +#~| msgid "Remove Bookmark" +#~ msgid "Remove Bookmarks" +#~ msgstr "Buang Tanda Buku" + +#, fuzzy +#~| msgid "Presentation" +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "Persembahan" + +#, fuzzy +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "&Ciri" + +#, fuzzy +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "&Ciri" + +#, fuzzy +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "&Ciri" + +#, fuzzy +#~ msgid "Highlight in Yellow" +#~ msgstr "&Ciri" + +#, fuzzy +#~ msgid "Highlight in Green" +#~ msgstr "&Ciri" + +#, fuzzy +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "&Pilih" + +#, fuzzy +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "&Pilih" + +#, fuzzy +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "&Pilih" + +#, fuzzy +#~| msgid "Presentation" +#~ msgid "Bookmark annotation" +#~ msgstr "Persembahan" + +#, fuzzy +#~| msgid "Change &Colors" +#~ msgid "&Toggle Change Colors" +#~ msgstr "Tukar &Warna" + +#, fuzzy +#~| msgid "Default transition:" +#~ msgctxt "@option:check Config dialog, presentation page, transitions" +#~ msgid "Enable transitions" +#~ msgstr "Peralihan piawai:" + +#, fuzzy +#~| msgid "Advance every:" +#~ msgctxt "@label:spinbox Config dialog, presentation page" +#~ msgid "Advance every:" +#~ msgstr "Lanjutan setiap:" + +#, fuzzy +#~| msgid "Background color:" +#~ msgctxt "@label:listbox Config dialog, general page" +#~ msgid "Custom background color:" +#~ msgstr "Warna latar belakang:" + +#~ msgid "Draw border around &Images" +#~ msgstr "Lukis sempadan keliling &Imej" + +#, fuzzy +#~| msgid "Author" +#~ msgid "Au&thor:" +#~ msgstr "Pengarang" + +#, fuzzy +#~| msgid "Filter Options" +#~ msgid "View Options" +#~ msgstr "Tapis Opsyen" + +#~ msgid "Navigation" +#~ msgstr "Navigasi" + +#~ msgid "Show &Navigation Panel" +#~ msgstr "Papar Panel &Navigasi" + +#, fuzzy +#~| msgid "Speak Text" +#~ msgid "Show Text" +#~ msgstr "Teks Tutur" + +#, fuzzy +#~| msgid "Icon" +#~ msgid "Large Icons" +#~ msgstr "Ikon" + +#, fuzzy +#~| msgid "Created" +#~ msgid "Created: %1" +#~ msgstr "Dicipta" + +#, fuzzy +#~| msgid "Title" +#~ msgid "Style" +#~ msgstr "Judul" + +#, fuzzy +#~ msgid "&Size:" +#~ msgstr "Judul" + +#, fuzzy +#~| msgid "&Invert colors" +#~ msgid "Inner color:" +#~ msgstr "&Songsangkan warna" + +#, fuzzy +#~| msgid "Pages: %1" +#~ msgid "Name: %1" +#~ msgstr "Halaman: %1" + +#, fuzzy +#~ msgid "Size: %1" +#~ msgstr "Judul" + +#, fuzzy +#~ msgid "&Browse Tool" +#~ msgstr "&Alat Zum" + +#, fuzzy +#~ msgctxt "Select Tool" +#~ msgid "Selection" +#~ msgstr "&Pilih" + +#, fuzzy +#~ msgid "&Text Selection Tool" +#~ msgstr "&Pilih" + +#, fuzzy +#~ msgid "T&able Selection Tool" +#~ msgstr "&Pilih" + +#, fuzzy +#~| msgid "[none]" +#~ msgid " None" +#~ msgstr "[tiada]" + +#, fuzzy +#~| msgid "" +#~| "The document is going to be launched on presentation mode because the " +#~| "file requested it." +#~ msgid "" +#~ "The document requested to be launched in presentation mode.\n" +#~ "Do you want to allow it?" +#~ msgstr "Dokumen akan dilancar dalam mod persembahan kerana fail memintanya." + +#, fuzzy +#~ msgid "Presentation Mode" +#~ msgstr "Opsyen untuk Mod Persembahan" + +#, fuzzy +#~ msgid "Allow the presentation mode" +#~ msgstr "Opsyen untuk Mod Persembahan" + +#, fuzzy +#~| msgid "Options for Presentation Mode" +#~ msgid "Do not allow the presentation mode" +#~ msgstr "Opsyen untuk Mod Persembahan" + +#, fuzzy +#~| msgid "Save to File..." +#~ msgid "Save &Copy As..." +#~ msgstr "Simpan ke Fail..." + +#~ msgid "" +#~ "End of document reached.\n" +#~ "Continue from the beginning?" +#~ msgstr "" +#~ "Sampai ke penghujung dokumen.\n" +#~ "Sambung dari permulaan?" + +#, fuzzy +#~| msgid "" +#~| "End of document reached.\n" +#~| "Continue from the beginning?" +#~ msgid "" +#~ "Beginning of document reached.\n" +#~ "Continue from the bottom?" +#~ msgstr "" +#~ "Sampai ke penghujung dokumen.\n" +#~ "Sambung dari permulaan?" + +#, fuzzy +#~| msgid "Current mantainer" +#~ msgid "Current maintainer" +#~ msgstr "Penyelenggara semasa" + +#~ msgid " sec." +#~ msgstr " saat" + +#, fuzzy +#~| msgid "Starting KTTSD Failed: %1" +#~ msgid "Starting Jovie Text-to-Speech service Failed: %1" +#~ msgstr "Memulakan KTTSD Gagal: %1" + +#, fuzzy +#~| msgid "Always Visible" +#~ msgid "All Visible Columns" +#~ msgstr "Sentiasa Dapat Dilihat" + +#~ msgid "No document opened." +#~ msgstr "Tiada dokumen dibuka." + +#~ msgid "No matches found for '%1'." +#~ msgstr "Tiada padanan ditemui bagi '%1'. " + +#, fuzzy +#~ msgid "Ink Properties" +#~ msgstr "&Ciri" + +#, fuzzy +#~| msgid "Presentation" +#~ msgctxt "Annotation tool" +#~ msgid "Text Annotation" +#~ msgstr "Persembahan" diff --git a/po/nb/okular.po b/po/nb/okular.po new file mode 100644 index 0000000..d8b442f --- /dev/null +++ b/po/nb/okular.po @@ -0,0 +1,5924 @@ +# Translation of okular to Norwegian Bokmål +# +# Knut Yrvin , 2003. +# Nils Kristian Tomren , 2004, 2005. +# Bjørn Steensrud , 2004, 2008, 2009, 2010, 2011, 2012, 2013, 2014. +# Axel Bojer , 2006. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2014-10-29 17:37+0100\n" +"Last-Translator: Bjørn Steensrud \n" +"Language-Team: Norwegian Bokmål \n" +"Language: nb\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Bjørn Steensrud,Nils Kristian Tomren" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "bjornst@skogkatt.homelinux.org,slx@nilsk.net" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Okular, en universell dokumentviser" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "Tidligere vedlikeholder" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "Utvikler" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "Laget Okular fra KPDF-koden" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "KPDF-utvikler" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "Merknadsgrafikk" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "Tabellutvalgsverktøy" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "Forbedringer i merknader" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "Gå til side %1" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "Åpne ekstern fil" + +#: core/action.cpp:197 +#, fuzzy, kde-format +#| msgid "Execute '%1'..." +msgid "Execute '%1'…" +msgstr "Kjør «%1» …" + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "Første side" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "Forrige side" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "Neste side" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "Siste side" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "Tilbake" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "Forover" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Avslutt" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "Start presentasjon" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "Avslutt presentasjon" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go To Page…" +msgstr "Gå til side" + +#: core/action.cpp:365 +#, fuzzy, kde-format +#| msgid "Play sound..." +msgid "Play sound…" +msgstr "Spill lyd …" + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "JavaScript-skript" + +#: core/action.cpp:483 +#, fuzzy, kde-format +#| msgid "Play movie" +msgid "Play movie…" +msgstr "Kjør film" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "Kjør film" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "Stopp film" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "Pause film" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "Fortsett film" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "Valg av bakgrunnsmotor" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
    %1 (%2).

    Please select which one to use:
    " +msgstr "" +"Fant mer enn en motor for MIME-typen:
    %1 (%2).

    Velg den som skal brukes.
    " + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "" + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "" + +#: core/document.cpp:246 +#, fuzzy, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 x %2 i (%3)" + +#: core/document.cpp:248 +#, fuzzy, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 x %2 mm (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "Fortsetter søket fra bunnen" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "" +"Fant ikke noe programtillegg som kan håndtere det oversendte dokumentet." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "fjern merknader" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"Dokumentet prøver å kjøre et eksternt program, men av sikkerhetsgrunner " +"tillater ikke Okular det." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "Fant ingen program som kan åpne filer av Mime-typen %1." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "Klarte ikke åpne en midlertidig fil" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "Konvertering for utskrift mislyktes" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "Utskriftsprosessen krasjet" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "Utskriftsprosessen kunne ikke starte" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "Klarte ikke skrive ut til fil" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "Skriveren var i en ugyldig tilstand" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "Klarte ikke finne fil å skrive ut" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "Det var ingen fil å skrive ut" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"Klarte ikke finne et passende program for utskrift. Se etter at CUPS-" +"programmet lpr er tilgjengelig" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "Utskriftsstørrelsen for sida er ugyldig." + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "Klarte ikke åpne «%1». Fila finnes ikke." + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Tittel" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Emne" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Beskrivelse" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "Forfatter" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Opphavsprogram" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Produsent" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "Opphavsrett" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "Sider" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Opprettet" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Endret" + +#: core/document.cpp:6032 +#, kde-format +msgid "MIME Type" +msgstr "" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "Kategori" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Nøkkelord" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "Filsti" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "Filstørrelse" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "Sidestørrelse" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "Legg til merknad" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "fjern merknad" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "Endre merknadsegenskaper" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "oversett merknad" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "rediger tekst" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "rediger merknadsinnhold" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "rediger skjemainnhold" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "rediger skjemavalg" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "rediger valg i kombinasjonsboks" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "rediger tilstander for skjemaknapper" + +#: core/generator.cpp:790 +#, fuzzy, kde-format +#| msgid "Plain &Text..." +msgid "Plain &Text…" +msgstr "Ren &tekst …" + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "OpenDocument-tekst" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "" + +#: core/signatureutils.cpp:504 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" + +#: core/signatureutils.cpp:506 +#, fuzzy, kde-format +msgid "Unknown signing error" +msgstr "Ukjent fil" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Kilde: %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "Stan&dard skrift:" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "" + +#: gui/certificatemodel.cpp:41 +#, kde-format +msgid "Serial Number" +msgstr "" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "" + +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "Sprettoppnotat" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "Notat i tekst" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +#| msgid "For Comment" +msgid "Arrow with Comment" +msgstr "For kommentar" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "Rett linje" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "Polygon" + +#: gui/guiutils.cpp:71 +#, kde-format +msgid "Rectangle with Comment" +msgstr "" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "Rektangel" + +#: gui/guiutils.cpp:74 +#, kde-format +msgid "Ellipse with Comment" +msgstr "" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "Ellipse" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "Uthev" + +#: gui/guiutils.cpp:87 +#, kde-format +msgid "Squiggle with Comment" +msgstr "" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "Krusedull" + +#: gui/guiutils.cpp:91 +#, kde-format +msgid "Underline with Comment" +msgstr "" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "Understrek" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out with Comment" +msgstr "" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "Stempel" + +#: gui/guiutils.cpp:106 +#, kde-format +msgid "Freehand Line with Comment" +msgstr "" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "Frihåndslinje" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "Skrivemerke" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "Filvedlegg" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "Lyd" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "Film" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Skjerm" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "Widget" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation" +msgstr "Merknad" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "Ukjent" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Forfatter: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "Hvor skal %1 lagres?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "Klarte ikke åpne «%1» for skriving. Fila ble ikke lagret." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "" + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "" + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "" + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "" + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "" + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "" + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "" + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "" + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "" + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "" + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "" + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "" + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "" + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr "" + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "" + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "" + +#: gui/signatureguiutils.cpp:208 +#, kde-format +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "" + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "" + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "" + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" + +#: gui/signaturemodel.cpp:141 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "" + +#: gui/signaturemodel.cpp:177 +#, kde-format +msgid "Location: %1" +msgstr "" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "" + +#: gui/signaturemodel.cpp:193 +#, fuzzy, kde-format +#| msgctxt "Unknown author" +#| msgid "Unknown" +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "Ukjent" + +#: gui/signaturemodel.cpp:195 +#, kde-format +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "" + +#: gui/signaturemodel.cpp:201 +#, kde-format +msgid "Signature Type: %1" +msgstr "" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "" + +#: part/annotationactionhandler.cpp:151 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:308 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "" + +#: part/annotationactionhandler.cpp:314 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "" + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "" + +#: part/annotationactionhandler.cpp:318 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "" + +#: part/annotationactionhandler.cpp:322 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "" + +#: part/annotationactionhandler.cpp:328 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" + +#: part/annotationactionhandler.cpp:341 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "" + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "" + +#: part/annotationactionhandler.cpp:552 +#, kde-format +msgid "&Annotations" +msgstr "" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "" + +#: part/annotationactionhandler.cpp:554 +#, kde-format +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "" + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "" + +#: part/annotationactionhandler.cpp:651 +#, kde-format +msgid "Quick Annotation Bar" +msgstr "" + +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "" + +#: part/annotationactionhandler.cpp:681 +#, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "" + +#: part/annotationactionhandler.cpp:696 +#, kde-format +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "" + +#: part/annotationmodel.cpp:320 +#, kde-format +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "Side %1" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "Merknad" +msgstr[1] "%1 merknader" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "Å&pne sprettoppnotat" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Fjern bokmerke" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Legg til bokmerke" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, kde-format +msgid "Copy Text to Clipboard" +msgstr "" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "DRM forbyr kopiering" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "&Slett" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "&Egenskaper" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, fuzzy, kde-format +#| msgctxt "%1 is the name of the file to save" +#| msgid "&Save '%1'..." +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "&Lagre «%1» …" + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "&Utseende" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "&Generelt" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "Forf&atter:" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "Egenskaper for sprettoppnotat" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "Egenskaper for notater i tekst" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "Egenskaper for rett linje" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "Polygonegenskaper" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "Geometriegenskaper" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "Egenskaper for tekstoppmerking" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "Stempelegenskaper" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "Egenskaper for frihåndslinje" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "Skrivemerke-egenskaper" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "Egenskaper for filvedlegg" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "Lyd-egenskaper" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "Filmegenskaper" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "Merknadsegenskaper" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&Farge:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, kde-format +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "&Ugjennomsiktighet:" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "Kommentar" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "Hjelp" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "Sett inn" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "Tast" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "Notat" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "Avsnitt" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Skrift:" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "Venstre" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "Sentrert" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "Høyre" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "Godkjent" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "Som det er" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "Konfidensielt" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "For avdelingen" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "Utkast" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "Eksperimentell" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "Utløpt" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "Endelig" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "For kommentar" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "Til offentliggjøring" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "Ikke godkjent" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "Ikke til offentliggjøring" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "Solgt" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "Strengt hemmelig" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "Bokmerke" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "Informasjon" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "" + +#: part/annotationwidgets.cpp:531 +#, kde-format +msgid "Leader line length:" +msgstr "" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Type:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "Gjennomstrekning" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "Graf" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "Tegnestift" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "Binders" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "Merke" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "Fil" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "I/T" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "Ingen beskrivelse tilgjengelig." + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "Beskrivelse:" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "Ingen" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "Lukk denne meldinga" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "Valg" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"Denne merknaden kan inneholde LaTeX-kode.\n" +"Trykk her for å tegne den opp." + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "Kan ikke finne latex-programmet." + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "LaTeX-opptegning mislyktes" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "Kan ikke finne dvipng-programmet." + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "Det oppsto et problem da kommandoen «latex» ble kjørt." + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "Det oppsto et problem da kommandoen «dvipng» ble kjørt." + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"Ett bokmerke" +msgstr[1] "" +"%1\n" +"\n" +"%2 bokmerker" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Bokmerker" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, kde-format +msgid "Search…" +msgstr "" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, kde-format +msgid "Expand All" +msgstr "" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, kde-format +msgid "Collapse All" +msgstr "" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "Gå til dette bokmerket" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "Gi bokmerke nytt navn" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Åpne et dokument" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "" + +#: part/certificateviewer.cpp:50 +#, fuzzy, kde-format +#| msgid "E&xport As" +msgid "Export…" +msgstr "E&ksporter som" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "Generelt" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "" + +#: part/colormodemenu.cpp:21 +#, kde-format +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "" + +#: part/colormodemenu.cpp:41 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "" + +#: part/colormodemenu.cpp:42 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "Rød" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "Grønn" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "Blå" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "Gul" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "" + +#: part/dlgaccessibility.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "" + +#: part/dlgaccessibility.cpp:87 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "" + +#: part/dlgaccessibility.cpp:99 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "" + +#: part/dlgannotations.cpp:25 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "" + +#: part/dlgannotations.cpp:26 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "" + +#: part/dlgannotations.cpp:28 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "" + +#: part/dlgannotations.cpp:34 +#, kde-format +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" + +#: part/dlgannotations.cpp:48 +#, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

    Quick Annotation Tools

    " +msgstr "" + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "" + +#: part/dlgeditor.cpp:31 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
    \n" +"You can also put few placeholders:\n" +"
      \n" +"
    • %f - the file name
    • \n" +"
    • %l - the line of the file to be reached
    • \n" +"
    • %c - the column of the file to be reached
    • \n" +"
    \n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"Oppgi her kommandoen som starter en egendefinert tekstredigerer.
    \n" +"Du kan også sette inn noen plassholdere:\n" +"
      \n" +"
    • %f ‒ filnavnet
    • %l ‒ linjenummeret som skal nÃ¥s i fila
    • " +"
    • %c ‒ kolonnenummeret som skal nÃ¥s i fila
    • \n" +"
    Hvis %f ikke er oppgitt blir filnavnet lagt til den oppgitte " +"kommandoen." + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "" + +#: part/dlggeneral.cpp:92 +#, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "" + +#: part/dlggeneral.cpp:148 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "" + +#: part/dlggeneral.cpp:220 +#, kde-format +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "" + +#: part/dlggeneral.cpp:228 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "" + +#: part/dlggeneral.cpp:233 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "Tilpass til bredden" + +#: part/dlggeneral.cpp:234 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "Tilpass til siden" + +#: part/dlggeneral.cpp:235 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "Tilpass automatisk" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "" + +#: part/dlgperformance.cpp:28 +#, kde-format +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "" + +#: part/dlgperformance.cpp:38 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "" + +#: part/dlgperformance.cpp:56 +#, kde-format +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"Bruker så lite minne som mulig. Bruker ikke noe om igjen. (Passer til system " +"med lite minne.)" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" +"Laster inn og holder alt i minnet. Forhåndslast alle sider. (Dette bruker " +"opptil 50% av alt minnet eller alt fritt minne, etter hva som er størst.)" + +#: part/dlgpresentation.cpp:38 +#, fuzzy, kde-format +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] " sekund" +msgstr[1] " sekunder" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "" + +#: part/dlgpresentation.cpp:63 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "" + +#: part/dlgpresentation.cpp:121 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

    Drawing Tools

    " +msgstr "" + +#: part/dlgpresentation.cpp:171 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "" + +#: part/dlgpresentation.cpp:172 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "" + +#: part/dlgpresentation.cpp:178 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "&Navn:" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "&Type:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "Utseende" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "Tekstoppmerking" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "Geometrisk figur" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "Opprett merknadsverktøy" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "Rediger merknadsverktøy" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "Farge:" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "" + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "Ukjent" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Innebygde filer" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "Navn" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "Beskrivelse" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "Størrelse" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "Opprettet" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "Endret" + +#: part/embeddedfilesdialog.cpp:154 +#, fuzzy, kde-format +#| msgid "Save As" +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "Lagre som" + +#: part/embeddedfilesdialog.cpp:155 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "&Vis" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "Klarte ikke laste inn del for forhåndsvisning av utskrift" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "Forhåndsvis utskrift" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "Lukk" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "F&inn:" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "Tekst å søke etter" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Neste" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "Hopp til neste treff" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Forrige" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "Hopp til forrige treff" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "Endre søkeoppførsel" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "Skill mellom store og små bokstaver" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "Fra gjeldende side" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "" + +#: part/formwidgets.cpp:870 +#, fuzzy, kde-format +msgid "All Files (*)" +msgstr "Alle filer (*)" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "Søkevalg" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "Skill store/små bokstaver" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "Regulært uttrykk" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "Lag" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "av" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "Forstørre/-minske" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "&Roter mot høyre" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "Høyre" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "Roter mot &venstre" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "Venstre" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "Opprinnelig orientering" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "&Trim marger" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "Tilpass til &bredden" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "Tilpass til &siden" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "&Auto-tilpass" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "&Visningsmodus" + +#: part/pageview.cpp:594 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "" + +#: part/pageview.cpp:595 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "Sammen&hengende" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "&Lupe" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "Si fram hele dokumentet" + +#: part/pageview.cpp:722 +#, fuzzy, kde-format +msgid "Speak From Current Page" +msgstr "Si fram gjeldende side" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "Si fram gjeldende side" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "Slutt å snakke" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "Rull opp" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Rull ned" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "Rull en side opp" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "Rull en side ned" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "Vis skjemaer" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] " Lastet inn et 1-sides dokument." +msgstr[1] " Lastet inn et %1-siders dokument." + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "Tekst (1 tegn)" +msgstr[1] "Tekst (%1 tegn)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "Kopier til utklippstavla" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "Uttal teksten" + +#: part/pageview.cpp:2863 +#, fuzzy, kde-format +msgid "Image (%1 × %2 pixels)" +msgstr "Bilde (%1 ganger %2 piksler)" + +#: part/pageview.cpp:2865 +#, fuzzy, kde-format +msgid "Save to File…" +msgstr "Lagre til fil …" + +#: part/pageview.cpp:2885 +#, fuzzy, kde-format +msgid "Image [%1 × %2] copied to clipboard." +msgstr "Bilde (%1×%2) kopiert til utklippstavla." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "Fil ikke lagret." + +#: part/pageview.cpp:2901 +#, fuzzy, kde-format +msgid "Image [%1 × %2] saved to %3 file." +msgstr "Bilde (%1×%2) lagret til fila %3." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "Kopier teksten" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "Gå til «%1»" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "Tilpass til bredden" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "Tilpass til siden" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "Tilpass automatisk" + +#: part/pageview.cpp:4107 +#, kde-format +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "Søker etter «%1» med" + +#: part/pageview.cpp:4404 +#, fuzzy, kde-format +#| msgid "Configure Web Shortcuts..." +msgid "Configure Web Shortcuts…" +msgstr "Sett opp nettsnarveier …" + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "Følg denne lenka" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "Stopp lyd" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "Kopier lenkeadresse" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Velkommen" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "Velg visningsområde. Høyreklikk for å vise i mindre størrelse." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "Trykk for å se den forstørrede visningen." + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "Tegn en firkant rundt teksten/grafikken som skal kopieres." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "Velg tekst" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" +"Tegn en firkant rundt tabellen, klikk så nær kantene for å dele opp, trykk " +"Esc for å tømme." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" + +#: part/pageview.cpp:5188 +#, kde-format +msgid "No valid certificates" +msgstr "" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, kde-format +msgid "Open Certificate Manager" +msgstr "" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
    Launch Certificate Manager " +"to import or manage certificates
    For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, kde-format +msgid "No certificates found" +msgstr "" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
    For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "Nytt notat" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "Tekst i det nye notatet:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name" +msgstr "" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name for the annotation:" +msgstr "" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "Tegn en ellipse (dra for å velge en sone)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "Fremhev tekst" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "Tegn en frihåndslinje" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "Merknad inne i teksten (dra for å velge en sone)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "Åpne et sprettoppnotat" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "Tegn et polygon (trykk på første punkt for å lukke det) " + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "Tegn et rektangel" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "Krusedulltekst" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "Sett på et stempelsymbol" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "Tegn en rett linje" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "Strek gjennom tekst" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "Understrek tekst" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "Fremhever" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Custom annotation name:" +msgstr "" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&Fil" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "&Innstillinger" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "&Hjelp" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "&Retning" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "&Bokmerker" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "Verktøylinje for viser" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Miniatyrbilder" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "Merknader" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
    Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"Dette dokumentet har innebygde filer. Trykk her for å se dem eller gå til Fil → Innebygde filer." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "Forrige" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "Gå tilbake til forrige side" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "Går til forrige side i dokumentet" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "Neste" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "Gå videre til neste side" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "Går til neste side i dokumentet" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "Begynnelsen på dokumentet" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "Går til begynnelsen på dokumentet" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "Slutten på dokumentet" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "Går til slutten på dokumentet" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "Gi nytt navn til gjeldende bokmerke" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "Forrige bokmerke" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "Gå til foregående bokmerke." + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "Neste bokmerke" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "Gå til neste bokmerke." + +#: part/part.cpp:748 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgid "Configure Okular…" +msgstr "Sett opp Okular …" + +#: part/part.cpp:751 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Configure Viewer…" +msgstr "Sett opp viser" + +#: part/part.cpp:757 +#, fuzzy, kde-format +#| msgid "Configure Viewer Backends" +msgid "Configure Viewer Backends…" +msgstr "Sett opp visningsmotorer" + +#: part/part.cpp:759 +#, fuzzy, kde-format +#| msgid "Configure Backends" +msgid "Configure Backends…" +msgstr "Sett opp visningsmotorer" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "Om motoren" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "La&st inn på nytt" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "Last gjeldende dokument fra disk på nytt." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "Lukk &søkelinja" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "Sidenummer" + +#: part/part.cpp:817 +#, kde-format +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "" + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "Vis &side-stolpe" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "&Innebygde filer" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "E&ksporter som" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "P&resentasjon" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "" + +#: part/part.cpp:945 +#, fuzzy, kde-format +#| msgid "&Import PostScript as PDF..." +msgid "&Import PostScript as PDF…" +msgstr "&Importer PostScript som PDF …" + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "Bytt om svartskjerm-modus" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "" + +#: part/part.cpp:962 +#, fuzzy, kde-format +#| msgid "Configure Annotations..." +msgid "Configure Annotations…" +msgstr "Sett opp merknader …" + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "Spill/pause presentasjon" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" + +#: part/part.cpp:1123 +#, kde-format +msgid "Document can't be saved" +msgstr "" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "" + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "Innlasting av %1 er avbrutt." + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "Kunne ikke åpne %1. Grunn: %2" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "Sett opp visningsmotorer" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "Sett opp visningsmotorer" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"Programmet «ps2pdf» fantes ikke, så Okular kan ikke bruke det til å " +"importere PS-filer." + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "Fant ikke ps2pdf" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "" + +#: part/part.cpp:1357 +#, fuzzy, kde-format +#| msgid "Importing PS file as PDF (this may take a while)..." +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "Importerer PS-fil som PDF (dette kan ta en stund) …" + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "Oppgi passord for å lese dokumentet." + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "Feil passord. Forsøk igjen:" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "Dokumentpassord" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" +"Dette dokumentet har XFA-.skjemaer, som for tiden ikke er støttet." + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"Dette dokumentet inneholder skjemaer. Trykk på knappen for å bruke " +"skjemaene, eller bruk Vis->Vis skjemaer." + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "Fila er endret" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "Lukk dokumentet" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"Denne lenka peker på en handling for å lukke dokumentet, som ikke virker når " +"den innebygde framviseren brukes." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"Denne lenka peker på en handling for å avslutte programmet, som ikke virker " +"når den innebygde framviseren brukes." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Reloading the document…" +msgstr "Laster dokument på nytt …" + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "Innhold" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Gå til side" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "&Side:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "Oppgi det nye navnet på bokmerket:" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "Gi dette bokmerket nytt navn" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "Lagre som" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
    In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "Klarte ikke åpne den midlertidige fila for lagring." + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "Kunne ikke lagre fila i «%1». Prøv å lagre den et annet sted." + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "" + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "Advarsel" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "Fortsett" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "Kunne ikke lagre fila i «%1». %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"Okular kan ikke kopiere %1 til oppgitt sted.\n" +"\n" +"Dokumentet finnes ikke lenger." + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" + +#: part/part.cpp:3158 +#, kde-format +msgid "Expand Whole Section" +msgstr "" + +#: part/part.cpp:3159 +#, kde-format +msgid "Collapse Whole Section" +msgstr "" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Verktøy" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "Skriv ut" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "Det er ikke lov å skrive ut dette dokumentet." + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"Kunne ikke skrive ut dokumentet. Ukjent feil. Rapporter gjerne feilen til " +"bugs.kde.org" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"Kunne ikke skrive ut dokumentet. Detaljert feil er «%1». Rapporter gjerne " +"feilen til bugs.kde.org" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "Gå til der du var før" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "Gå til der du var etter" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"Fil-feil!Klarte ikke lage midlertidig fil " +"%1." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"Fil-feil! Klarte ikke åpne fila%1 for dekomprimering. Fila blir ikke lest inn." + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"Filfeil! Klarte ikke dekomprimere fila " +"%1. Fila blir ikke lastet inn." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"Denne feilen oppstår oftest hvis fila er ødelagt. Hvis du vil være " +"sikker, prøv å dekomprimere fila manuelt med verktøy på kommandolinja." + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "Ingen bokmerker" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "Del" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "&Rediger" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "&Vis" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&Gå" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "Verk&tøy" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "Hovedverktøylinje" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, kde-format +msgid "Quick Annotation Toolbar" +msgstr "" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "Generelle valg" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Tilgjengelighet" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "Lesehjelp for tilgjengelighet" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Ytelse" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "Tilpassing av ytelse" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "Sett opp viser" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Presentasjon" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "Valg for presentasjonsmodus" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "Valg for merknader" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "Redigerer" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "Valg for redigeringsprogram" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "Finn neste" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 – Presentasjon" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "Bytt skjerm" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "Skjerm %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "Avslutt presentasjonsmodus" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Tittel: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Sider: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "Klikk for å starte" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "Pause" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "Spill av" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"Det er to måter å avslutte visningsmodus, du kan enten trykke ESC-tasten " +"eller trykke på avslutt-knappen som vises når du plasserer musepekeren i " +"øvre høyre hjørne. Du kan naturligvis bytte vinduer (Standard er Alt+TAB)" + +# unreviewed-context +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "Gir en presentasjon" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "Ukjent fil" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "Egenskaper for %1" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "&Skrifter" + +#: part/propertiesdialog.cpp:145 +#, fuzzy, kde-format +#| msgid "Reading font information..." +msgid "Reading font information…" +msgstr "Leser skriftinformasjon …" + +#: part/propertiesdialog.cpp:158 +#, kde-format +msgid "&Page Sizes" +msgstr "" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "Tr&ekk ut skrift" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Type 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Type 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "Type 1C (OT)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Type 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType (OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID Type 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID Type 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID Type 0C (OT)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType (OT)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "TeX PK" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "TeX-virtuell" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "TeX-skriftmål" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "Håndtert med TeX FreeType" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "Ukjent" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "Innebygget (delmengde)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "Fullt innebygget" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "Nei" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "Ja (delmengde)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "Ja" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "[i/t]" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "Ukjent skrift" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "Innebygget: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "Navn" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "Type" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "Fil" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "" + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "" + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "Skriv minst tre bokstaver for å filtrere sider" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "Skill store/små bokstaver" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "Treff utsagn" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "Treff alle ord" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "Treff et ord" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "Filterinnstillinger" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, kde-format +msgid "Certificates" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, kde-format +msgid "Only QES certificates" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, kde-format +msgid "optional" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, kde-format +msgid "Background:" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, kde-format +msgid "Recent backgrounds:" +msgstr "" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

    No annotations

    To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
    " +msgstr "" + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "Grupper etter side" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "Grupper etter forfatter" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "" + +#: part/signaturepartutils.cpp:180 +#, kde-format +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "" + +#: part/signaturepartutils.cpp:244 +#, kde-format +msgid "Enter document password" +msgstr "" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:95 +#, kde-format +msgid "View Certificate…" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:97 +#, kde-format +msgid "View in Certificate Manager" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "Vis bare bokmerkede sider" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "Spill av" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Pause" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "Stopp" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, fuzzy, kde-format +#| msgid "&Edit" +msgid "&Edit…" +msgstr "&Rediger" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "&Fjern" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "Flytt &opp" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "Flytt ne&d" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "Dokumentside som skal vises" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "Start dokumentet i presentasjonsmodus" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "Start med utskriftsdialog" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "«Entydig økt»-styring" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "Ikke hev vindu" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "" + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "Feil: Kan ikke åpne mer enn ett dokument med --unique-valget" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "Feil: Kan ikke åpne mer enn ett dokument med --presentation-valget" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" +"Det kjører fra før en unik instans av Okular. Denne instansen vil ikke være " +"den unike." + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "Klarer ikke finne Okular-komponenten." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"Trykk for å åpne en fil.\n" +"Trykk og hold for å åpne en nylig brukt fil" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"Trykk for å åpne en fil eller Trykk og hold for å åpne en " +"nylig brukt fil" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "Neste fane" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "Forrige fane" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "Alle filer (*)" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "Åpne et dokument" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "Bekreft lukking" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "" + +#: shell/welcomescreen.cpp:137 +#, kde-format +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, kde-format +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "" diff --git a/po/nb/okular_comicbook.po b/po/nb/okular_comicbook.po new file mode 100644 index 0000000..2c53972 --- /dev/null +++ b/po/nb/okular_comicbook.po @@ -0,0 +1,47 @@ +# Translation of okular_comicbook to Norwegian Bokmål +# +# Bjørn Steensrud , 2008, 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_comicbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-03-02 09:36+0100\n" +"Last-Translator: Bjørn Steensrud \n" +"Language-Team: Norwegian Bokmål \n" +"Language: nb\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.3\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Bjørn Steensrud" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "bjornst@skogkatt.homelinux.org" + +#: document.cpp:97 +#, kde-format +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "" + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "" +"«unrar»-versjonen på dette systemet passer ikke for å åpne tegneserier." + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "Ukjent ComicBook-format." diff --git a/po/nb/okular_djvu.po b/po/nb/okular_djvu.po new file mode 100644 index 0000000..a309434 --- /dev/null +++ b/po/nb/okular_djvu.po @@ -0,0 +1,97 @@ +# Translation of okular_djvu to Norwegian Bokmål +# +# Bjørn Steensrud , 2008, 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_djvu\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-03-02 09:48+0100\n" +"Last-Translator: Bjørn Steensrud \n" +"Language-Team: Norwegian Bokmål \n" +"Language: nb\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.3\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Bjørn Steensrud" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "bjornst@skogkatt.homelinux.org" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "Redaktør" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "Utgiver" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "Bind" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "Type dokument" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "Ukjent" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "Komponentfiler" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "Ukjent" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "Enkel side" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "Buntet" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "Indirekte" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "Buntet (gammel)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "Inseksert (gammel)" diff --git a/po/nb/okular_dvi.po b/po/nb/okular_dvi.po new file mode 100644 index 0000000..0f0321d --- /dev/null +++ b/po/nb/okular_dvi.po @@ -0,0 +1,549 @@ +# Translation of okular_dvi to Norwegian Bokmål +# +# Bjørn Steensrud , 2008, 2009, 2013, 2014. +msgid "" +msgstr "" +"Project-Id-Version: okular_dvi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2014-10-29 17:45+0100\n" +"Last-Translator: Bjørn Steensrud \n" +"Language-Team: Norwegian Bokmål \n" +"Language: nb\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Bjørn Steensrud" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "bjornst@skogkatt.homelinux.org" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

    Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

    Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

    " +msgstr "" +"

    Okular kunne ikke finne programmet dvipdfm på maskinen. Det " +"programmet er helt nødvendig for at eksportfunksjonen skal virke. Du kan " +"likevel konvertere DVI-fila til PDF med utskriftsfunksjonen i Okular, men " +"det vil ofte produsere dokumenter som er OK i utskrift, men er av dårlig " +"kvalitet når de vises i Acrobat Reader. Det kan være klokt å oppgradere til " +"en nyere versjon av TeX-distribusjonen som inneholder programmet dvipfm.

    Tips til den perplekse systemadministrator: Okular bruker " +"miljøvariablen PATH til å søke etter programmer.

    " + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Det eksterne programmet «dvipdfm»som ble brukt til å eksportere fila " +"meldte en feil. Du bør kanskje se etter om dialogvinduet for " +"dokumentinformasjon, som du finner i Filmenyen, har en presis " +"feilmelding." + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" +"Denne DVI fila refererer til eksterne bildefiler som ikke er i " +"PostScript format og ikke kan håndteres av programmet dvips som " +"Okular bruker internt til å skrive ut eller eksportere til PostScript. " +"Funksjonaliteten du ber om er derfor ikke tilgjengelig i denne versjonen av " +"Okular." + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

    Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

    Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

    " +msgstr "" +"

    Okular fant ikke programmet dvips på maskinen. Det " +"programmet er helt nødvendig for at eksportfunksjonen skal virke.

    Tips " +"for den perplekse systemadministrator: Okular bruker miljøvariablen PATH til " +"å søke etter programmer.

    " + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Det eksterne programmet «dvips»som ble brukt til å eksportere fila " +"meldte en feil. Du bør kanskje se etter om dialogvinduet for " +"dokumentinformasjon, som du finner i Filmenyen, har en presis " +"feilmelding." + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "DVI-fila starter ikke med innledning." + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" +"DVI-fila har feil utgave av DVI-utdata for dette programmet. Hint: Om du " +"bruker typografisystemet Omega, må du bruke et spesialprogram som for " +"eksempel oxdvi." + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "DVI-fila er ødelagt. Okular fant ikke avslutningen." + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "Avslutningen starter ikke med POST-kommandoen." + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "Avslutningen inneholdt en annen kommando enn FNTDEF." + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "Siden %1 starter ikke med kommandoen BOP." + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

    The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

    What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

    PATH: %2

    " +msgstr "" +"

    Det eksterne programmet pdf2ps kunne ikke startes. " +"Derfor kunne ikke PDF-fila %1 konverteres til PostScript. Noen grafiske " +"elementer i dokumentet vil derfor ikke bli vist.

    Mulig årsak: " +"Programmet pdf2ps er kanskje ikke installert på systemet, " +"eller finnes ikke i nåværende søkesti.

    Hva kan gjøres: " +"Programmet pdf2ps følger vanligvis med distribusjoner av " +"PostScript-systemet ghostscript. Hvis ghostscript ikke er installert på " +"systemet ditt, så kunne du installere det nå. Hvis du er sikker på at " +"ghostscript er installert, så forsøk å bruke pdf2ps fra " +"kommandolinja for å se etter at det faktisk virker.

    PATH:%2" + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

    The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

    %2

    " +msgstr "" +"

    PDF-fila %1 kunne ikke konverteres til PostScript, derfor blir " +"enkelte grafiske elementer i dokumentet ikke vist.

    Mulig årsak: " +"Fila %1 kan være ødelagt, eller er kanskje ikke en PDF-fil i det hele tatt. " +"Dette er utdata fra programmet pdf2ps som Okular brukte:

    %2

    " + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "Ødelagt fil. %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "Kunne ikke bygge inn alle PostScript-filer i dokumentet, %1" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "Alle eksterne PostScript-filer ble bygd inn i dokumentet." + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "Den oppgitte fila «%1» finnes ikke." + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" +"Du har bedt Okular om å finne stedet i DVI-fila som tilsvarer linje %1 i TeX-" +"fila %2. Det ser imidlertid ut til at DVI-fila ikke inneholder de nødvendige " +"opplysningene om kildefila. " + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" +"Okular klarte ikke å finne stedet i DVI-fila som tilsvarer linje %1 i TeX-" +"fila %2." + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "DVI-koden anga et tegn i en ukjent skrift." + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "DVI-koden henviser til skrift nr. %1 som ikke var definert tidligere." + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "Stakken var ikke tom når EOP-kommandoen inntraff." + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "Stakken var tom når POP-kommandoen inntraff." + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "DVI-koden henviste til en skrift som ikke var definert fra før." + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "En ulovlig kommando ble påtruffet." + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "En ukjent op-kode %1 ble påtruffet." + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "Bygger inn %1" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
    " +msgstr "" +"Side %1: PDF-fila %2 kunne ikke konverteres til PostScript." +"
    " + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
    " +msgstr "Side %1: PostScript-file %2 fantes ikke.
    " + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "Klarte ikke tolke papirstørrelsesdata «%1»." + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

    Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

    PATH: %1

    %2

    " +msgstr "" +"

    Okular klarte ikke å finne alle skrifttype-filene som er nødvendige " +"for å vise den gjeldende DVI-fila. Dokumentet ditt kan kanskje ikke leses.

    PATH:%1

    %2

    " + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

    There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
    Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

    PATH: %1

    %2

    " +msgstr "" +"

    Det oppsto problemer med å kjøre kpsewhich, derfor var det " +"noen skriftfiler som ikke ble funnet, og dokumentet kan være uleselig.
    Mulige årsaker: Kanskje kpsewhich-programmet ikke er installert, " +"eller ikke finnes i den gjeldende søkestien.

    PATH: %1

    %2

    " + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" +"Skriftgenerering med kpsewhich ble avbrutt (sluttkode %1, " +"feil %2). På grunn av dette ble noen av skriftfilene ikke funnet, og " +"dokumentet kan være uleselig." + +#: fontpool.cpp:482 +#, fuzzy, kde-format +#| msgid "Currently generating %1 at %2 dpi..." +msgid "Currently generating %1 at %2 dpi…" +msgstr "Lager nå %1 med %2 dpi …" + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "Generator/Dato" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "Skriftfila ikke funnet" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "stående" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "liggende" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" +"Den Ghostview-versjonen som er installert på denne maskinen inneholder ingen " +"av de Ghostview-enhetsdriverne som Okular kjenner til. Derfor er støtte for " +"PostScript nå slått av i Okular." + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "Det blir 25 feil hittil. Flere feilmeldinger blir ikke skrevet ut." + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" +"Feil i DVI-fil «%1», side %2. Farge «pop»-kommando gitt når fargestakken er " +"tom." + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" +"Ødelagt parameter i epsf-spesialkommandoen.\n" +"Forventet et kommatall etter %1 i %2" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"Fil ikke funnet: \n" +"%1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" +"Feil i DVI-fil «%1», side %2. Kunne ikke tolke vinkelen i tekstrotasjonen." + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "Spesialkommandoen «%1» er ikke implementert." + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" +"Skriftfila %1 kunne åpnes og leses, men det er ikke støtte for det " +"skriftformatet." + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "Skriftfila %1 er ødelagt, eller kunne ikke åpnes og leses." + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" +"FreeType meldte om feil ved oppsett av tegnstørrelsen for skriftfila %1." + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "FreeType kan ikke laste inn tegn nr. %1 fra skriftfila %2." + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "FreeType kan ikke gjengi tegn nr. %1 fra skriftfila %2." + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "Tegn nr. %1 er tomt." + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "Tegn nr. %1 fra skriftfila %2 er tomt." + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "FreeType kan ikke laste inn mål for tegn nr. %1 fra skriftfila %2." + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "Kan ikke åpne skriftfila %1." + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "TexFont_PK::operator[]: Tegnet %1 er ikke angitt i skrifttypen %2" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "Uventet %1 i PK-fil %2" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "Tegnet %1 er for stort i fila %2" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "Feil antall bits lagret: tegn %1, skrifttype %2" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "Ødelagt pk-fil (%1), for mange bits" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "Skrifttype har ikke-kvadratisk forhold " + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "Kan ikke finne skrift %1, fil %2." + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "Sjekksum stemmer ikke for skriftfila %1" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "Kan ikke gjenkjenne formatet til skriftfila %1" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"Kritisk feil.\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" +"\n" +"\n" +"Dette betyr trolig at du enten har funnet en feil i Okular,\n" +"eller at DVI-fila eller hjelpefilene (slik som skriftene,\n" +"eller virtuelle skrifter) er ødelagt.\n" +"Okular vil avbryte etter denne meldinga. Hvis du tror du\n" +"har funnet en feil eller mener at Okular bør takle denne\n" +"situasjonen bedre, vennligst rapporter problemet." + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "Feil kommandobyte funnet i VF-makroliste: %1" diff --git a/po/nb/okular_epub.po b/po/nb/okular_epub.po new file mode 100644 index 0000000..c2fed12 --- /dev/null +++ b/po/nb/okular_epub.po @@ -0,0 +1,45 @@ +# Translation of okular_epub to Norwegian Bokmål +# +# Bjørn Steensrud , 2008, 2009, 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_epub\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-08-16 18:50+0200\n" +"Last-Translator: Bjørn Steensrud \n" +"Language-Team: Norwegian Bokmål \n" +"Language: nb\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Bjørn Steensrud" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "bjornst@skogkatt.homelinux.org" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "Feil under åpning av EPub-dokumentet." + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "EPub" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "Oppsett for EPub-motoren" diff --git a/po/nb/okular_fax.po b/po/nb/okular_fax.po new file mode 100644 index 0000000..c7d30bd --- /dev/null +++ b/po/nb/okular_fax.po @@ -0,0 +1,35 @@ +# Translation of okular_fax to Norwegian Bokmål +# +# Bjørn Steensrud , 2008, 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_fax\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-03-02 09:49+0100\n" +"Last-Translator: Bjørn Steensrud \n" +"Language-Team: Norwegian Bokmål \n" +"Language: nb\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.3\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Bjørn Steensrud" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "bjornst@skogkatt.homelinux.org" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "Klarte ikke laste inn dokumentet" diff --git a/po/nb/okular_fictionbook.po b/po/nb/okular_fictionbook.po new file mode 100644 index 0000000..81b60c2 --- /dev/null +++ b/po/nb/okular_fictionbook.po @@ -0,0 +1,70 @@ +# Translation of okular_fictionbook to Norwegian Bokmål +# +# Bjørn Steensrud , 2008, 2009, 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_fictionbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-08-16 18:51+0200\n" +"Last-Translator: Bjørn Steensrud \n" +"Language-Team: Norwegian Bokmål \n" +"Language: nb\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Bjørn Steensrud" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "bjornst@skogkatt.homelinux.org" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "Dokumentet er ikke en gyldig FictionBook" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "Klarer ikke åpne dokumentet: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "Dokumentet er ikke et gyldig ZIP-arkiv" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "Ugyldig dokumentstruktur (hovedkatalog mangler)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "Fant ikke noe innhold i dokumentet" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "Ugyldig XML-dokument: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "FictionBook" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "Oppsett for FictionBook-motor" diff --git a/po/nb/okular_ghostview.po b/po/nb/okular_ghostview.po new file mode 100644 index 0000000..1709905 --- /dev/null +++ b/po/nb/okular_ghostview.po @@ -0,0 +1,78 @@ +# Translation of okular_ghostview to Norwegian Bokmål +# +# Bjørn Steensrud , 2008, 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_ghostview\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-04-19 23:03+0200\n" +"Last-Translator: Bjørn Steensrud \n" +"Language-Team: Norwegian Bokmål \n" +"Language: nb\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.3\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Bjørn Steensrud" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "bjornst@skogkatt.homelinux.org" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "Bruk plattformskrifter" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"Bestemmer om Ghostscript skal få lov til å bruke plattformskrifter, hvis " +"dette er av blir det bare tillatt å bruke skrifter innebygget i dokumentet." + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "Generelle innstillinger" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "Bruk &plattformskrifter" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Oppsett for Ghostscript-motoren" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "Dokumentversjon" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "PostScript-nivå" diff --git a/po/nb/okular_kimgio.po b/po/nb/okular_kimgio.po new file mode 100644 index 0000000..8333d3d --- /dev/null +++ b/po/nb/okular_kimgio.po @@ -0,0 +1,42 @@ +# Translation of okular_kimgio to Norwegian Bokmål +# +# Bjørn Steensrud , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_kimgio\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-10-27 17:57+0100\n" +"Last-Translator: Bjørn Steensrud \n" +"Language-Team: Norwegian Bokmål \n" +"Language: nb\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Bjørn Steensrud" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "bjornst@skogkatt.homelinux.org" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "Kan ikke laste inn dokumentet: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" diff --git a/po/nb/okular_mobi.po b/po/nb/okular_mobi.po new file mode 100644 index 0000000..75239f9 --- /dev/null +++ b/po/nb/okular_mobi.po @@ -0,0 +1,53 @@ +# Translation of okular_mobi to Norwegian Bokmål +# +# Bjørn Steensrud , 2009, 2013. +msgid "" +msgstr "" +"Project-Id-Version: KDE 4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-08-16 18:52+0200\n" +"Last-Translator: Bjørn Steensrud \n" +"Language-Team: Norwegian Bokmål \n" +"Language: nb\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 1.5\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Bjørn Steensrud" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "bjornst@skogkatt.homelinux.org" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Feil ved åpning av Mobipocket-dokument." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "" +"Denne boka er beskyttet med DRM og kan bare vises på den enheten som er " +"bestemt" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "Mobipocket" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "Oppsett for Mobipocket-motor" diff --git a/po/nb/okular_poppler.po b/po/nb/okular_poppler.po new file mode 100644 index 0000000..d94305f --- /dev/null +++ b/po/nb/okular_poppler.po @@ -0,0 +1,373 @@ +# Translation of okular_poppler to Norwegian Bokmål +# +# Bjørn Steensrud , 2008, 2009, 2010, 2012, 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_poppler\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-04-02 17:27+0200\n" +"Last-Translator: Bjørn Steensrud \n" +"Language-Team: Norwegian Bokmål \n" +"Language: nb\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.4\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Bjørn Steensrud" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "bjornst@skogkatt.homelinux.org" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "Forbedre tynne linjer:" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "Nei" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "Solid" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "Form" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "PDF-valg" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "Skriv ut merknader" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "Ta med merknader i utskriften av dokumentet" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"Tar med merknader i dokumentutskriften. Du kan slå av dette hvis du vil " +"skrive ut originaldokumentet uten merknader." + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "Tving fram rasterisering" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "Rasteriser til et bilde før utskrift" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"Rasteriserer hver side til et bilde før den skrives ut. Dette gir som regel " +"litt dårligere utskrift, men kan brukes for dokumenter som ser ut til å bli " +"skrevet ut feil." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF v. %1.%2" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "Format" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "Kryptert" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "Ukryptert" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "Sikkerhet" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "Ja" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "Optimert" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "Oppsett for PDF-motoren" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter Password" +msgstr "" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "" diff --git a/po/nb/okular_txt.po b/po/nb/okular_txt.po new file mode 100644 index 0000000..6068d15 --- /dev/null +++ b/po/nb/okular_txt.po @@ -0,0 +1,40 @@ +# Translation of okular_txt to Norwegian Bokmål +# +# Bjørn Steensrud , 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-06-02 16:09+0200\n" +"Last-Translator: Bjørn Steensrud \n" +"Language-Team: Norwegian Bokmål \n" +"Language: nb\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 1.4\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Bjørn Steensrud" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "bjornst@skogkatt.homelinux.org" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "Txt" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "Oppsett for Txt-motoren" diff --git a/po/nb/okular_xps.po b/po/nb/okular_xps.po new file mode 100644 index 0000000..763a825 --- /dev/null +++ b/po/nb/okular_xps.po @@ -0,0 +1,35 @@ +# Translation of okular_xps to Norwegian Bokmål +# +# Bjørn Steensrud , 2008, 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_xps\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-03-02 09:35+0100\n" +"Last-Translator: Bjørn Steensrud \n" +"Language-Team: Norwegian Bokmål \n" +"Language: nb\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.3\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Bjørn Steensrud" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "bjornst@skogkatt.homelinux.org" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "Revisjon" diff --git a/po/nb/org.kde.active.documentviewer.po b/po/nb/org.kde.active.documentviewer.po new file mode 100644 index 0000000..4da4904 --- /dev/null +++ b/po/nb/org.kde.active.documentviewer.po @@ -0,0 +1,207 @@ +# Translation of org.kde.active.documentviewer to Norwegian Bokmål +# +# Bjørn Steensrud , 2012. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2012-11-25 12:29+0100\n" +"Last-Translator: Bjørn Steensrud \n" +"Language-Team: Norwegian Bokmål \n" +"Language: nb\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 1.4\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "Bokmerker" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +msgid "Export…" +msgstr "" + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "" + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "Okular" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "" + +#: ui/Main.qml:49 +msgid "About" +msgstr "" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "" + +#: ui/MainView.qml:29 +msgid "Bookmark this page" +msgstr "" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "Minibilder" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "Innholdsfortegnelse" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:96 +msgid "Document Version" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:108 +msgid "Save Signed Version…" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +msgid "View Certificate…" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "" + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "Ingen resultater funnet." + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "" + +#: ui/WelcomeView.qml:108 +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "" diff --git a/po/nds/okular.po b/po/nds/okular.po new file mode 100644 index 0000000..b519b2e --- /dev/null +++ b/po/nds/okular.po @@ -0,0 +1,7194 @@ +# Translation of okular.po to Low Saxon +# +# Manfred Wiese , 2006, 2007, 2008, 2009, 2010, 2011, 2012. +# Sönke Dibbern , 2006, 2007, 2008, 2009, 2014. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2014-08-11 13:37+0200\n" +"Last-Translator: Sönke Dibbern \n" +"Language-Team: Low Saxon \n" +"Language: nds\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.4\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Manfred Wiese, Sönke Dibbern" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "m.j.wiese@web.de, s_dibbern@web.de" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Okular, en allmeen Dokmentkieker" + +#: aboutdata.h:23 +#, fuzzy, kde-format +#| msgid "" +#| "(C) 2002 Wilco Greven, Christophe Devriese\n" +#| "(C) 2004-2005 Enrico Ros\n" +#| "(C) 2005 Piotr Szymanski\n" +#| "(C) 2004-2009 Albert Astals Cid\n" +#| "(C) 2006-2009 Pino Toscano" +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"© 2002 Wilco Greven, Christophe Devriese\n" +"© 2004-2005 Enrico Ros\n" +"© 2005 Piotr Szymanski\n" +"© 2004-2009 Albert Astals Cid\n" +"© 2006-2009 Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "Verleden Pleger" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, fuzzy, kde-format +#| msgid "Lots of framework work, ODT and FictionBook backends" +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "En Barg vun Arbeit an't Rahmenwark, ODT un FictionBook-Hülpprogrammen" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, fuzzy, kde-format +#| msgid "KPDF developer" +msgid "Developer" +msgstr "KPDF-Programmschriever" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymanski" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "Hett \"Okular\" ut den KPDF-Bornkode opstellt" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "Enrico Ros" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "KPDF-Programmschriever" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "Eugene Trounev" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "Anmarken-Billerwark" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "Jiri Baum - NICTA" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "Tabellenköör" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "Fabio D'Urso" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "Anmarken-Verbetern" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "Na Siet %1 gahn" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "Extern Datei opmaken" + +#: core/action.cpp:197 +#, fuzzy, kde-format +#| msgid "Execute '%1'..." +msgid "Execute '%1'…" +msgstr "\"%1\" utföhren..." + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "Eerst Siet" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "Verleden Siet" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "Nakamen Siet" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "Lest Siet" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "Torüch" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "Vörut" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Verlaten" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "Presentatschoon starten" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "Presentatschoon beennen" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go To Page…" +msgstr "Na Siet gahn" + +#: core/action.cpp:365 +#, fuzzy, kde-format +#| msgid "Play sound..." +msgid "Play sound…" +msgstr "Klang afspelen..." + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "JavaScript-Skript" + +#: core/action.cpp:483 +#, fuzzy, kde-format +#| msgid "Play movie" +msgid "Play movie…" +msgstr "Film afspelen..." + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "Film afspelen..." + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "Film anhollen" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "Film utsetten" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "Film wiederspelen" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "Hülpprogramm-Köör" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
    %1 (%2).

    Please select which one to use:
    " +msgstr "" +"Mehr as een Hülpprpgramm för den MIME Typ funnen:
    %1 (%2)." +"

    Bitte söök Di een ut:
    " + +#: core/document.cpp:200 +#, fuzzy, kde-format +#| msgid "Go to page %1" +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "Na Siet %1 gahn" + +#: core/document.cpp:221 +#, fuzzy, kde-format +#| msgctxt "paper size" +#| msgid "portrait C5E" +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "Hoochkant C5E" + +#: core/document.cpp:223 +#, fuzzy, kde-format +#| msgctxt "paper size" +#| msgid "landscape C5E" +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "Dwars C5E" + +#: core/document.cpp:246 +#, fuzzy, kde-format +#| msgctxt "%1 is width, %2 is height, %3 is paper size name" +#| msgid "%1 x %2 in (%3)" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 x %2 Toll (%3)" + +#: core/document.cpp:248 +#, fuzzy, kde-format +#| msgctxt "%1 is width, %2 is height, %3 is paper size name" +#| msgid "%1 x %2 mm (%3)" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 x %2 mm (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "För't Verarbeiden vun't övergeven Dokment lett sik keen Moduul finnen." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "Anmarken wegmaken" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"Dat Dokment will en extern Programm utföhren, man to Dien Sekerheit lett " +"Okular dat nich to." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "" +"För't Opmaken vun en Datei mit den MIME-Typ \"%1\" lett sik keen Programm " +"finnen." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "Temporeerdatei lett sik nich opmaken." + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "Ümwanneln för't Drucken is fehlslaan." + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "Druckperzess is afstört" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "Druckperzess lett sik nich starten." + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "Drucken na Datei fehlslaan." + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "Druckertostand is leeg." + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "Datei för't Drucken lett sik nich finnen." + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "Dat gifft keen Datei för't Drucken." + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"Keen bruukbor Druckprogramm to finnen. Bitte kiek, wat dat CUPS-Programm " +"\"lpr\" vörhannen is." + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "De Sieden-Druckgrött is leeg" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "Datei \"%1\" lett sik nich opmaken. De Datei gifft dat nich." + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Titel" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Thema" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Beschrieven" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "Autor" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Opsteller" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Maker" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "Copyright" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "Sieden" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Opstellt" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Ännert" + +#: core/document.cpp:6032 +#, fuzzy, kde-format +#| msgid "Mime Type" +msgid "MIME Type" +msgstr "MIME-Typ" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "Kategorie" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Slötelwöör" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "Dateipadd" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "Dateigrött" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "Siedengrött" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "Anmarken tofögen" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "Anmarken wemaken" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "Anmarken-Egenschappen bewerken" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "Anmarken översetten" + +#: core/documentcommands.cpp:263 +#, fuzzy, kde-format +#| msgctxt "Add an annotation to the page" +#| msgid "add annotation" +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "Anmarken tofögen" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "Text bewerken" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "Anmarken-Inholt bewerken" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "Formular-Inholt bewerken" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "Formulorlist bewerken" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "Formulor-Utsöökfeld bewerken" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "Formulor-Knooptostänn bewerken" + +#: core/generator.cpp:790 +#, fuzzy, kde-format +#| msgid "Plain &Text..." +msgid "Plain &Text…" +msgstr "Eenfach &Text..." + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "OpenDocument-Text" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, fuzzy, kde-format +#| msgid "Editor Options" +msgid "Print Options" +msgstr "Editoroptschonen" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#: core/printoptionswidget.cpp:25 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgid "Scale mode:" +msgstr "Klöörbedrief:" + +#: core/script/js_app.cpp:206 +#, fuzzy, kde-format +#| msgid "Close this message" +msgid "Do not show this message again" +msgstr "Disse Naricht tomaken" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, fuzzy, kde-format +#| msgid "No description available." +msgid "Not Available" +msgstr "Keen Beschrieven verföögbor." + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "" + +#: core/signatureutils.cpp:504 +#, fuzzy, kde-kuit-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" +"Datei lett sik nich na \"%1\" sekern. Versöök, ehr na en anner Steed to " +"sekern." + +#: core/signatureutils.cpp:506 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown signing error" +msgstr "Datei nich begäng" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Born: %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "&Standardschriftoort:" + +#: gui/certificatemodel.cpp:39 +#, fuzzy, kde-format +#| msgctxt "A document format, Okular-specific" +#| msgid "Document Archive" +msgid "Version" +msgstr "Dokmentenarchiv" + +#: gui/certificatemodel.cpp:41 +#, fuzzy, kde-format +#| msgid "Page Number" +msgid "Serial Number" +msgstr "Sietnummer" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, fuzzy, kde-format +#| msgid "Expired" +msgid "Expires On" +msgstr "Aflopen" + +#: gui/certificatemodel.cpp:49 +#, fuzzy, kde-format +#| msgid "Subject" +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Thema" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "" + +#: gui/certificatemodel.cpp:53 +#, fuzzy, kde-format +#| msgid "Memory Usage" +msgid "Key Usage" +msgstr "Spieker-Bruuk" + +#: gui/certificatemodel.cpp:72 +#, fuzzy, kde-format +#| msgid "%1:" +msgid "V%1" +msgstr "%1:" + +#: gui/certificatemodel.cpp:84 +#, fuzzy, kde-format +#| msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +#| msgid "%1 (%2)" +msgid "%1 (%2 bits)" +msgstr "%1 (%2)" + +#: gui/certificatemodel.cpp:146 +#, fuzzy, kde-format +#| msgid "&Properties" +msgid "Property" +msgstr "&Egenschappen" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "Opduknotiz" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, fuzzy, kde-format +#| msgid "Overwrite" +msgid "Typewriter" +msgstr "Överschrieven" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "Inbett Notiz" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +#| msgid "For Comment" +msgid "Arrow with Comment" +msgstr "För Kommentaren" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "" + +#: gui/guiutils.cpp:59 +#, fuzzy, kde-format +#| msgid "Straight Line Properties" +msgid "Straight Line with Comment" +msgstr "Liek-Streek-Egenschappen" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "Liek Streek" + +#: gui/guiutils.cpp:63 +#, fuzzy, kde-format +#| msgid "For Comment" +msgid "Polygon with Comment" +msgstr "För Kommentaren" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "Veeleck" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Strike out text" +msgid "Rectangle with Comment" +msgstr "Text dörstreken" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "Rechteck" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Underline text" +msgid "Ellipse with Comment" +msgstr "Text ünnerstreken" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "Ellips" + +#: gui/guiutils.cpp:83 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Highlight text" +msgid "Highlight with Comment" +msgstr "Text markeren" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "Markeren" + +#: gui/guiutils.cpp:87 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Squiggle text" +msgid "Squiggle with Comment" +msgstr "Text versnörkeln" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "Versnörkeln" + +#: gui/guiutils.cpp:91 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Underline text" +msgid "Underline with Comment" +msgstr "Text ünnerstreken" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "Ünnerstreken" + +#: gui/guiutils.cpp:95 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Strike out text" +msgid "Strike Out with Comment" +msgstr "Text dörstreken" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "Dörstreken" + +#: gui/guiutils.cpp:102 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Strike out text" +msgid "Stamp with Comment" +msgstr "Text dörstreken" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "Mark" + +#: gui/guiutils.cpp:106 +#, fuzzy, kde-format +#| msgid "Freehand Line Properties" +msgid "Freehand Line with Comment" +msgstr "Freehannlien-Egenschappen" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "Freehannig Lien" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "Blinker" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "Dateibilaag" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "Klang" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "Film" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Schirm" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "Stüerelement" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation" +msgstr "Anmarken" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "Nich begäng" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Autor: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "Woneem wullt Du \"%1\" sekern?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "\"%1\" lett sik nich schrieven. Datei wöör nich sekert." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "" + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "" + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "" + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "" + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "" + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "" + +#: gui/signatureguiutils.cpp:60 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Certificate is Trusted." +msgstr "Kieker instellen" + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "" + +#: gui/signatureguiutils.cpp:64 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Certificate issuer is unknown." +msgstr "Kieker instellen" + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "" + +#: gui/signatureguiutils.cpp:68 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Certificate has Expired." +msgstr "Kieker instellen" + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "" + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "" + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "" + +#: gui/signatureguiutils.cpp:96 +#, fuzzy, kde-format +#| msgid "Unknown font" +msgid "Unknown Algorithm" +msgstr "Nich begäng Schriftoort" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown Type" +msgstr "Datei nich begäng" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "" + +#: gui/signatureguiutils.cpp:135 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Sign Certificate" +msgstr "Kieker instellen" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr "" + +#: gui/signatureguiutils.cpp:165 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "The document has not been modified since it was signed." +msgstr "Dat Drucken vun dit Dokment is nich verlöövt." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "" + +#: gui/signatureguiutils.cpp:208 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "Dat Drucken vun dit Dokment is nich verlöövt." + +#: gui/signatureguiutils.cpp:211 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "This document is digitally signed." +msgstr "Dat Drucken vun dit Dokment is nich verlöövt." + +#: gui/signatureguiutils.cpp:213 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "Dat Drucken vun dit Dokment is nich verlöövt." + +#: gui/signatureguiutils.cpp:216 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "Dat Drucken vun dit Dokment is nich verlöövt." + +#: gui/signaturemodel.cpp:141 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "Blinker-Egenschappen" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "" + +#: gui/signaturemodel.cpp:172 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgid "Reason: %1" +msgstr "Sieden: %1" + +#: gui/signaturemodel.cpp:177 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Location: %1" +msgstr "Anmarken" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "" + +#: gui/signaturemodel.cpp:193 +#, fuzzy, kde-format +#| msgctxt "Unknown author" +#| msgid "Unknown" +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "Nich begäng" + +#: gui/signaturemodel.cpp:195 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "Blinker-Egenschappen" + +#: gui/signaturemodel.cpp:201 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgid "Signature Type: %1" +msgstr "Blinker-Egenschappen" + +#: part/annotationactionhandler.cpp:148 +#, fuzzy, kde-format +#| msgid "Reloa&d" +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "&Nieg laden" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "" + +#: part/annotationactionhandler.cpp:150 +#, fuzzy, kde-format +#| msgid "Allow" +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "Verlöven" + +#: part/annotationactionhandler.cpp:151 +#, fuzzy, kde-format +#| msgctxt "Caption for a screen annotation" +#| msgid "Screen" +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "Schirm" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "Na Breed topassen" + +#: part/annotationactionhandler.cpp:252 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1:" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:308 +#, fuzzy, kde-format +#| msgid "Annotation Options" +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Anmarken-Optschonen" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "" + +#: part/annotationactionhandler.cpp:314 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Anmarkwarktüüch" + +#: part/annotationactionhandler.cpp:316 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "Anmarkwarktüüch" + +#: part/annotationactionhandler.cpp:318 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Anmarkwarktüüch" + +#: part/annotationactionhandler.cpp:322 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Anmarkwarktüüch" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "" + +#: part/annotationactionhandler.cpp:328 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "Anmarken" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" + +#: part/annotationactionhandler.cpp:341 +#, fuzzy, kde-format +#| msgid "Annotation Options" +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Anmarken-Optschonen" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "" + +#: part/annotationactionhandler.cpp:432 +#, fuzzy, kde-format +#| msgid "&Color:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "&Klöör:" + +#: part/annotationactionhandler.cpp:434 +#, fuzzy, kde-format +#| msgid "&Color:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "&Klöör:" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "" + +#: part/annotationactionhandler.cpp:499 +#, fuzzy, kde-format +#| msgid "&Selection Tool" +msgctxt "@title:window" +msgid "Select color" +msgstr "&Utsöök-Warktüüch" + +#: part/annotationactionhandler.cpp:552 +#, fuzzy, kde-format +#| msgid "Annotations" +msgid "&Annotations" +msgstr "Anmarken" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "" + +#: part/annotationactionhandler.cpp:554 +#, fuzzy, kde-format +#| msgid "Create annotation tool" +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Anmarkwarktüüch opstellen" + +#: part/annotationactionhandler.cpp:557 +#, fuzzy, kde-format +#| msgid "Highlighter" +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "Markeren" + +#: part/annotationactionhandler.cpp:558 +#, fuzzy, kde-format +#| msgid "Underline" +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "Ünnerstreken" + +#: part/annotationactionhandler.cpp:559 +#, fuzzy, kde-format +#| msgid "Squiggle" +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "Versnörkeln" + +#: part/annotationactionhandler.cpp:560 +#, fuzzy, kde-format +#| msgid "Strike Out" +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "Dörstreken" + +#: part/annotationactionhandler.cpp:562 +#, fuzzy, kde-format +#| msgid "Overwrite" +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Överschrieven" + +#: part/annotationactionhandler.cpp:563 +#, fuzzy, kde-format +#| msgid "Inline Note" +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "Inbett Notiz" + +#: part/annotationactionhandler.cpp:564 +#, fuzzy, kde-format +#| msgid "Pop-up Note" +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "Opduknotiz" + +#: part/annotationactionhandler.cpp:565 +#, fuzzy, kde-format +#| msgid "Freehand Line" +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "Freehannig Lien" + +#: part/annotationactionhandler.cpp:567 +#, fuzzy, kde-format +#| msgid "Straight Line" +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "Liek Streek" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "" + +#: part/annotationactionhandler.cpp:569 +#, fuzzy, kde-format +#| msgid "Rectangle" +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "Rechteck" + +#: part/annotationactionhandler.cpp:570 +#, fuzzy, kde-format +#| msgid "Ellipse" +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "Ellips" + +#: part/annotationactionhandler.cpp:571 +#, fuzzy, kde-format +#| msgid "Polygon" +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "Veeleck" + +#: part/annotationactionhandler.cpp:572 +#, fuzzy, kde-format +#| msgid "Geometrical shape" +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "Form" + +#: part/annotationactionhandler.cpp:618 +#, fuzzy, kde-format +#| msgid "Stamp" +msgctxt "@action" +msgid "Stamp" +msgstr "Mark" + +#: part/annotationactionhandler.cpp:638 +#, fuzzy, kde-format +#| msgid "Annotations" +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Anmarken" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "" + +#: part/annotationactionhandler.cpp:651 +#, fuzzy, kde-format +#| msgid "Annotations" +msgid "Quick Annotation Bar" +msgstr "Anmarken" + +#: part/annotationactionhandler.cpp:665 +#, fuzzy, kde-format +#| msgctxt "Add an annotation to the page" +#| msgid "add annotation" +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "Anmarken tofögen" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "" + +#: part/annotationactionhandler.cpp:669 +#, fuzzy, kde-format +#| msgid "Create annotation tool" +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "Anmarkwarktüüch opstellen" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "" + +#: part/annotationactionhandler.cpp:680 +#, fuzzy, kde-format +#| msgid "Font:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "Schriftoort:" + +#: part/annotationactionhandler.cpp:681 +#, fuzzy, kde-format +#| msgid "Annotation Options" +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Anmarken-Optschonen" + +#: part/annotationactionhandler.cpp:684 +#, fuzzy, kde-format +#| msgid "Line" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "Lien" + +#: part/annotationactionhandler.cpp:693 +#, fuzzy, kde-format +#| msgid "&Opacity:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "&Deckstärk:" + +#: part/annotationactionhandler.cpp:696 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1:" + +#: part/annotationmodel.cpp:320 +#, fuzzy, kde-format +#| msgid "Page %1" +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "Siet: %1" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "Siet: %1" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "Anmarken" +msgstr[1] "%1 Anmarken" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "Opduknotiz &opmaken" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Leesteken wegdoon" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Leesteken tofögen" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Text to Clipboard" +msgstr "Na Twischenaflaag koperen" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "DVP lett keen Kopie to" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "&Wegdoon" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "&Egenschappen" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, fuzzy, kde-format +#| msgctxt "%1 is the name of the file to save" +#| msgid "&Save '%1'..." +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "\"%1\" &sekern..." + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "&Utsehn" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "&Allgemeen" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&Autor:" + +#: part/annotationpropertiesdialog.cpp:69 +#, fuzzy, kde-format +#| msgid "Created" +msgid "Created:" +msgstr "Opstellt" + +#: part/annotationpropertiesdialog.cpp:74 +#, fuzzy, kde-format +#| msgid "Modified" +msgid "Modified:" +msgstr "Ännert" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "Opduknotiz-Egenschappen" + +#: part/annotationpropertiesdialog.cpp:111 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgid "Typewriter Properties" +msgstr "Blinker-Egenschappen" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "Inbett Notiz-Egenschappen" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "Liek-Streek-Egenschappen" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "Veeleck-Egenschappen" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "Grött-Egenschappen" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "Textrutheven-Egenschappen" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "Mark-Egenschappen" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "Freehannlien-Egenschappen" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "Blinker-Egenschappen" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "Dateibilaag-Egenschappen" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "Klang-Egenschappen" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "Film-Egenschappen" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "Anmarken-Egenschappen" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Put a stamp symbol" +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "En Mark-Symbool platzeren" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&Klöör:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%1:" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "&Deckstärk:" + +#: part/annotationwidgets.cpp:363 +#, fuzzy, kde-format +#| msgid "Icon" +msgid "Icon:" +msgstr "Lüttbild" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "Kommentar" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "Hülp" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "Infögen" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "Slötel" + +#: part/annotationwidgets.cpp:368 +#, fuzzy, kde-format +#| msgid "New Paragraph" +msgid "New paragraph" +msgstr "Nieg Afsnitt" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "Notiz" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "Afsnitt" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Schriftoort:" + +#: part/annotationwidgets.cpp:387 +#, fuzzy, kde-format +#| msgid "&Color:" +msgid "Text &color:" +msgstr "&Klöör:" + +#: part/annotationwidgets.cpp:394 +#, fuzzy, kde-format +#| msgid "Align:" +msgid "&Align:" +msgstr "Utrichten:" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "Links" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "Merrn" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "Rechts" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "Tostimmt" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "As dat is" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "Vertrolich" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "Afdelen" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "Vöransicht" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "Testwies" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "Aflopen" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "Redig" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "För Kommentaren" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "För apen Bruuk" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "Nich tostimmt" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "Nich för apen Bruuk" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "Verköfft" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "Hööchst Geheem" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "Leesteken" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "Informatschoon" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, fuzzy, kde-format +#| msgid "Stamp Symbol" +msgid "Stamp symbol:" +msgstr "Mark-Symbool" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgid "&Width:" +msgstr "Na Breed topassen" + +#: part/annotationwidgets.cpp:504 +#, fuzzy, kde-format +#| msgid "Line" +msgid "Line start:" +msgstr "Lien" + +#: part/annotationwidgets.cpp:506 +#, fuzzy, kde-format +#| msgid "Line" +msgid "Line end:" +msgstr "Lien" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:514 +#, fuzzy, kde-format +#| msgctxt "Symbol for caret annotations" +#| msgid "None" +msgid "None" +msgstr "Keen" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "" + +#: part/annotationwidgets.cpp:531 +#, fuzzy, kde-format +#| msgid "Leader Line Length:" +msgid "Leader line length:" +msgstr "Längde vun de Hööftlien:" + +#: part/annotationwidgets.cpp:533 +#, fuzzy, kde-format +#| msgid "Leader Line Extensions Length:" +msgid "Leader line extensions length:" +msgstr "Längde vun de Hööftlien-Afmeten:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Shape fill:" +msgstr "As Datei sekern..." + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Typ:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "Dörstreken" + +#: part/annotationwidgets.cpp:745 +#, fuzzy, kde-format +#| msgid "File Attachment Symbol" +msgid "File attachment symbol:" +msgstr "Dateibilaag-Symbool" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "Grafik" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "Pinn" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "Kontoornadel" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "Beteker" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "Datei" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "k.A." + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "Keen Beschrieven verföögbor." + +#: part/annotationwidgets.cpp:773 +#, fuzzy, kde-format +#| msgid "&Name:" +msgid "Name:" +msgstr "&Naam:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "Beschrieven:" + +#: part/annotationwidgets.cpp:843 +#, fuzzy, kde-format +#| msgid "Caret Symbol" +msgid "Caret symbol:" +msgstr "Blinker-Symbool" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "Keen" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "Disse Notiz tomaken" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "Optschonen" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"Disse Anmarken bargt mööglicherwies LaTeX-Kode.\n" +"Klick hier, wenn Du ehr dorstellen wullt." + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "Utföhrbor Programm \"latex\" lett sik nich finnen." + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "LaTeX-Dorstellen fehlslaan" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "Utföhrbor Programm \"dvipng\" lett sik nich finnen." + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "Dat geev en Problem bi't Utföhren vun den Befehl \"latex\"." + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "Dat geev en Problem bi't Utföhren vun den Befehl \"dvipng\"." + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"Een Leesteken" +msgstr[1] "" +"%1\n" +"\n" +"%2 Leestekens" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Leestekens" + +#: part/bookmarklist.cpp:136 +#, fuzzy, kde-format +#| msgid "End of the document" +msgid "Show for all documents" +msgstr "Enn vun't Dokment" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, fuzzy, kde-format +#| msgid "S&earch:" +msgid "Search…" +msgstr "&Söken:" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, kde-format +msgid "Expand All" +msgstr "" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, kde-format +msgid "Collapse All" +msgstr "" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "Na dit Leesteken gahn" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "Leesteken ümnömen" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Dokment opmaken" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "" + +#: part/certificateviewer.cpp:47 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Certificate Viewer" +msgstr "Kieker instellen" + +#: part/certificateviewer.cpp:50 +#, fuzzy, kde-format +#| msgid "E&xport As" +msgid "Export…" +msgstr "E&xporteren as" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "Allgemeen" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "" + +#: part/certificateviewer.cpp:159 +#, fuzzy, kde-format +#| msgid "Where do you want to save %1?" +msgid "Where do you want to save this certificate?" +msgstr "Woneem wullt Du \"%1\" sekern?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "" + +#: part/colormodemenu.cpp:19 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "Klöörbedrief:" + +#: part/colormodemenu.cpp:21 +#, fuzzy, kde-format +#| msgid "Change &colors" +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "&Klören ännern" + +#: part/colormodemenu.cpp:29 +#, fuzzy, kde-format +#| msgid "Normal Icons" +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "Normaal Lüttbiller" + +#: part/colormodemenu.cpp:41 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "Klören ümdreihen" + +#: part/colormodemenu.cpp:42 +#, fuzzy, kde-format +#| msgid "Change Paper Color" +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "Papeerklöör ännern" + +#: part/colormodemenu.cpp:44 +#, fuzzy, kde-format +#| msgid "Change Dark & Light Colors" +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "Hell un düüster Klören ännern" + +#: part/colormodemenu.cpp:46 +#, fuzzy, kde-format +#| msgid "Convert to Black & White" +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "Na Swattwitt wanneln" + +#: part/colormodemenu.cpp:49 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "Klören ümdreihen" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, fuzzy, kde-format +#| msgid "Reloa&d" +msgid "Red" +msgstr "&Nieg laden" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, fuzzy, kde-format +#| msgctxt "Caption for a screen annotation" +#| msgid "Screen" +msgid "Green" +msgstr "Schirm" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, fuzzy, kde-format +#| msgid "Allow" +msgid "Yellow" +msgstr "Verlöven" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "Geel Marker" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "Gröön Marker" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, fuzzy, kde-format +#| msgid "Insert" +msgid "Insert Text" +msgstr "Infögen" + +#: part/dlgaccessibility.cpp:38 +#, fuzzy, kde-format +#| msgid "Draw border around &Links" +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "Rand rund &Links wiesen" + +#: part/dlgaccessibility.cpp:48 +#, fuzzy, kde-format +#| msgid "Change &colors" +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "&Klören ännern" + +#: part/dlgaccessibility.cpp:54 +#, fuzzy, kde-format +#| msgid "Warning: these options can badly affect drawing speed." +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "Wohrschoen: Disse Optschonen köönt de Dorstellgauheit bannig minnern." + +#: part/dlgaccessibility.cpp:60 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "Klören ümdreihen" + +#: part/dlgaccessibility.cpp:61 +#, fuzzy, kde-format +#| msgid "Change Paper Color" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "Papeerklöör ännern" + +#: part/dlgaccessibility.cpp:62 +#, fuzzy, kde-format +#| msgid "Change Dark & Light Colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "Hell un düüster Klören ännern" + +#: part/dlgaccessibility.cpp:63 +#, fuzzy, kde-format +#| msgid "Convert to Black & White" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "Na Swattwitt wanneln" + +#: part/dlgaccessibility.cpp:64 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "Klören ümdreihen" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "" + +#: part/dlgaccessibility.cpp:70 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "Klöörbedrief:" + +#: part/dlgaccessibility.cpp:87 +#, fuzzy, kde-format +#| msgid "Paper color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Papeerklöör:" + +#: part/dlgaccessibility.cpp:99 +#, fuzzy, kde-format +#| msgid "Dark color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Düüster Klöör:" + +#: part/dlgaccessibility.cpp:104 +#, fuzzy, kde-format +#| msgid "Light color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "Hell Klöör:" + +#: part/dlgaccessibility.cpp:119 +#, fuzzy, kde-format +#| msgid "Threshold:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "Grenzweert:" + +#: part/dlgaccessibility.cpp:127 +#, fuzzy, kde-format +#| msgid "Contrast:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Kontrast:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "" + +#: part/dlgaccessibility.cpp:165 +#, fuzzy, kde-format +#| msgid "Text to search for" +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "Sööktext" + +#: part/dlgannotations.cpp:25 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Anmarkwarktüüch" + +#: part/dlgannotations.cpp:26 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Anmarkwarktüüch" + +#: part/dlgannotations.cpp:28 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Anmarkwarktüüch" + +#: part/dlgannotations.cpp:34 +#, fuzzy, kde-format +#| msgid "&Author:" +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "&Autor:" + +#: part/dlgannotations.cpp:38 +#, fuzzy, kde-format +#| msgid "" +#| "Note: the information here is used only for comments and reviews. " +#| "Information inserted here will not be transmitted without your knowledge." +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"Henwies: Disse Informatschonen hier warrt bloots för Kommentaren un " +"Nakieken bruukt. Hier inföögt Informatschonen warrt ahn Dien Weten nich " +"wiedergeven." + +#: part/dlgannotations.cpp:48 +#, fuzzy, kde-format +#| msgid "Edit annotation tool" +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

    Quick Annotation Tools

    " +msgstr "Anmarkwarktüüch bewerken" + +#: part/dlgeditor.cpp:28 +#, fuzzy, kde-format +#| msgctxt "@info:whatsthis" +#| msgid "" +#| "Choose the editor you want to launch when Okular wants to open a source " +#| "file." +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" +"Hier kannst Du den Editor utsöken, den Okular bi't Opmaken vun Borndateien " +"opröppt." + +#: part/dlgeditor.cpp:29 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Custom Text Editor" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "Anner Texteditor" + +#: part/dlgeditor.cpp:30 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Kate" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Kile" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "SciTE" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Emacs client" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Emacs-Client" + +#: part/dlgeditor.cpp:34 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Lyx client" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "Lyx-Client" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "" + +#: part/dlgeditor.cpp:37 +#, fuzzy, kde-format +#| msgid "Editor:" +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "Editor:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
    \n" +"You can also put few placeholders:\n" +"
      \n" +"
    • %f - the file name
    • \n" +"
    • %l - the line of the file to be reached
    • \n" +"
    • %c - the column of the file to be reached
    • \n" +"
    \n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"Hier kannst Du den Befehl för den Texteditor fastleggen, den Du opropen " +"wullt.
    \n" +"Du kannst disse Platzhollers bruken:\n" +"
      \n" +"
    • %f - de Dateinaam
    • \n" +"
    • %l - binnen de Datei de Reeg, bi de Du ankamen wullt
    • \n" +"
    • %c - binnen de Datei de Striep, bi den Du ankamen wullt
    • \n" +"
    \n" +"Is %f nich angeven, warrt de Dateinaam den angeven Befehl anföögt." + +#: part/dlgeditor.cpp:63 +#, fuzzy, kde-format +#| msgid "Command:" +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "Befehl:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "" + +#: part/dlggeneral.cpp:37 +#, fuzzy, kde-format +#| msgid "Appearance" +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "Utsehn" + +#: part/dlggeneral.cpp:41 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "&Rullbalkens wiesen" + +#: part/dlggeneral.cpp:48 +#, fuzzy, kde-format +#| msgid "Link the &thumbnails with the page" +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "&Vöransichten mit de Siet verlinken" + +#: part/dlggeneral.cpp:55 +#, fuzzy, kde-format +#| msgid "Show &hints and info messages" +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "&Tipps un Informatschonen wiesen" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "" + +#: part/dlggeneral.cpp:68 +#, fuzzy, kde-format +#| msgid "Display document title in titlebar if available" +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "Titel vun't Dokment op'n Titelbalken wiesen, wenn verföögbor" + +#: part/dlggeneral.cpp:74 +#, fuzzy, kde-format +#| msgid "Display file name only" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "Bloots Dateinaam wiesen" + +#: part/dlggeneral.cpp:75 +#, fuzzy, kde-format +#| msgid "Display full file path" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "Heel Dateipadd wiesen" + +#: part/dlggeneral.cpp:77 +#, fuzzy, kde-format +#| msgid "When not displaying document title:" +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "Wenn de Dokmenttitel nich wiest warrt:" + +#: part/dlggeneral.cpp:92 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "Achtergrundklöör:" + +#: part/dlggeneral.cpp:114 +#, fuzzy, kde-format +#| msgid "Program Features" +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "Programm-Markmalen" + +#: part/dlggeneral.cpp:121 +#, fuzzy, kde-format +#| msgid "Open new files in &tabs" +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "Nieg Dateien in Paneels opmaken" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "" + +#: part/dlggeneral.cpp:139 +#, fuzzy, kde-format +#| msgid "&Obey DRM limitations" +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "DVP-Ingrenzen be&achten" + +#: part/dlggeneral.cpp:148 +#, fuzzy, kde-format +#| msgid "&Reload document on file change" +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "Dokment na Dateiännern &nieg laden" + +#: part/dlggeneral.cpp:155 +#, fuzzy, kde-format +#| msgid "Show backend selection dialog" +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "Dialoog för de Hülpprogramm-Köör wiesen" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, fuzzy, kde-format +#| msgid "Overview &columns:" +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "Översicht&striepen:" + +#: part/dlggeneral.cpp:220 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%1:" + +#: part/dlggeneral.cpp:221 +#, fuzzy, kde-format +#| msgid "" +#| "Defines how much of the current viewing area will still be visible when " +#| "pressing the Page Up/Down keys." +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" +"Leggt dat aktuell sichtbor Kiekrebeet bi drückt SietRop- oder SietDaal-Tast " +"fast." + +#: part/dlggeneral.cpp:223 +#, fuzzy, kde-format +#| msgid "&Page Up/Down overlap:" +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "&SietRop/-Daal-Överlappen:" + +#: part/dlggeneral.cpp:228 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%1:" + +#: part/dlggeneral.cpp:232 +#, fuzzy, kde-format +#| msgid "100%" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "100%" + +#: part/dlggeneral.cpp:233 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "Na Breed topassen" + +#: part/dlggeneral.cpp:234 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "Op Siet topassen" + +#: part/dlggeneral.cpp:235 +#, fuzzy, kde-format +#| msgid "Auto Fit" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "Automaatsch topassen" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "" + +#: part/dlggeneral.cpp:237 +#, fuzzy, kde-format +#| msgid "" +#| "Defines the default zoom mode for files which were never opened before.\n" +#| "For files which were opened before the previous zoom is applied." +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" +"Leggt de Standard-Ansichtgrött för vördem noch nienich opmaakte Dateien " +"fast.\n" +"De bruukte Ansichtgrött för al vördem maal opmaakt Dateien warrt övernahmen." + +#: part/dlggeneral.cpp:241 +#, fuzzy, kde-format +#| msgid "&Default Zoom:" +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "&Standardansicht:" + +#: part/dlgperformance.cpp:26 +#, fuzzy, kde-format +#| msgid "Enable &transparency effects" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "&Transparenzeffekten anmaken" + +#: part/dlgperformance.cpp:28 +#, fuzzy, kde-format +#| msgid "CPU Usage" +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "CPU-Bruuk: " + +#: part/dlgperformance.cpp:35 +#, fuzzy, kde-format +#| msgid "&Low" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "&Siet" + +#: part/dlgperformance.cpp:36 +#, fuzzy, kde-format +#| msgid "&Normal (default)" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "&Normaal (Standard)" + +#: part/dlgperformance.cpp:37 +#, fuzzy, kde-format +#| msgid "&Aggressive" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "&Freetsch" + +#: part/dlgperformance.cpp:38 +#, fuzzy, kde-format +#| msgid "&Greedy" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "&Freetsch" + +#: part/dlgperformance.cpp:40 +#, fuzzy, kde-format +#| msgid "Memory Usage" +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "Spieker-Bruuk" + +#: part/dlgperformance.cpp:54 +#, fuzzy, kde-format +#| msgid "Enable Text Antialias" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "Text-Kantstreken bruken" + +#: part/dlgperformance.cpp:56 +#, fuzzy, kde-format +#| msgid "Rendering" +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "Dorstellen" + +#: part/dlgperformance.cpp:59 +#, fuzzy, kde-format +#| msgid "Enable Graphics Antialias" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "Grafik-Kantstreken bruken" + +#: part/dlgperformance.cpp:64 +#, fuzzy, kde-format +#| msgid "Enable Text Hinting" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "Text-Dorstellhenwiesen bruken" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"Spiekerbruuk as siet as mööglich hollen. Nix wedderbruken. (För Systemen mit " +"minn Spieker.)" + +#: part/dlgperformance.cpp:80 +#, fuzzy, kde-format +#| msgid "" +#| "A good compromise between memory usage and speed gain. Preload next page " +#| "and boost searches. (For systems with 256MB of memory, typically.)" +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"En goot Kompromiss twischen Spiekerbruuk un Gauheit. De nakamen Siet warrt " +"vörlaadt, un de Söök warrt gauer. (Normalerwies för Systemen mit 256MB " +"Spieker)" + +#: part/dlgperformance.cpp:83 +#, fuzzy, kde-format +#| msgid "" +#| "Keeps everything in memory. Preload next pages. Boost searches. (For " +#| "systems with more than 512MB of memory.)" +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"Wohrt allens in'n Spieker. De nakamen Siet warrt vörlaadt, un de Söök warrt " +"gauer. (För Systemen mit mehr as 512 MB Spieker.)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" +"Laadt un wohrt allens in'n Spieker. Laadt all Sieden vörweg. (Bruukt " +"tohööchst 50% vun Dien helen oder Dien free'n Spieker, wat jüst grötter ist.)" + +#: part/dlgpresentation.cpp:38 +#, fuzzy, kde-format +#| msgctxt "Advance every %1 seconds" +#| msgid " second" +#| msgid_plural " seconds" +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] " Sekunn" +msgstr[1] " Sekunnen" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "" + +#: part/dlgpresentation.cpp:53 +#, fuzzy, kde-format +#| msgid "Loop after last page" +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "Na de leste Siet wedderhalen" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "" + +#: part/dlgpresentation.cpp:63 +#, fuzzy, kde-format +#| msgid "Navigation" +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Navigatschoon" + +#: part/dlgpresentation.cpp:72 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "Achtergrundklöör:" + +#: part/dlgpresentation.cpp:76 +#, fuzzy, kde-format +#| msgid "Hidden After Delay" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "Na Töövtiet versteken" + +#: part/dlgpresentation.cpp:77 +#, fuzzy, kde-format +#| msgid "Always Visible" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "Jümmers sichtbor" + +#: part/dlgpresentation.cpp:78 +#, fuzzy, kde-format +#| msgid "Always Hidden" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "Nienich sichtbor" + +#: part/dlgpresentation.cpp:80 +#, fuzzy, kde-format +#| msgid "Mouse cursor:" +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "Muuswieser:" + +#: part/dlgpresentation.cpp:84 +#, fuzzy, kde-format +#| msgid "Show &progress indicator" +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "&Vörankamen wiesen" + +#: part/dlgpresentation.cpp:90 +#, fuzzy, kde-format +#| msgid "Show s&ummary page" +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "&Tosamenfaten-Siet wiesen" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "" + +#: part/dlgpresentation.cpp:101 +#, fuzzy, kde-format +#| msgid "Replace" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "Utwesseln" + +#: part/dlgpresentation.cpp:102 +#, fuzzy, kde-format +#| msgid "Random Transition" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "Tofällig Övergang" + +#: part/dlgpresentation.cpp:103 +#, fuzzy, kde-format +#| msgid "Blinds Vertical" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "Pielrecht överblennen" + +#: part/dlgpresentation.cpp:104 +#, fuzzy, kde-format +#| msgid "Blinds Horizontal" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "Kimmrecht överblennen" + +#: part/dlgpresentation.cpp:105 +#, fuzzy, kde-format +#| msgid "Box In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "Rechteckig na binnen" + +#: part/dlgpresentation.cpp:106 +#, fuzzy, kde-format +#| msgid "Box Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "Rechteckig na buten" + +#: part/dlgpresentation.cpp:107 +#, fuzzy, kde-format +#| msgid "Dissolve" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "Oplösen" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "" + +#: part/dlgpresentation.cpp:109 +#, fuzzy, kde-format +#| msgid "Glitter Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "Na nerrn glinstern" + +#: part/dlgpresentation.cpp:110 +#, fuzzy, kde-format +#| msgid "Glitter Right" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "Na rechts glinstern" + +#: part/dlgpresentation.cpp:111 +#, fuzzy, kde-format +#| msgid "Glitter Right-Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "Na rechts nerrn glinstern" + +#: part/dlgpresentation.cpp:112 +#, fuzzy, kde-format +#| msgid "Split Horizontal In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "Kimmrecht deelt na binnen" + +#: part/dlgpresentation.cpp:113 +#, fuzzy, kde-format +#| msgid "Split Horizontal Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "Kimmrecht deelt na buten" + +#: part/dlgpresentation.cpp:114 +#, fuzzy, kde-format +#| msgid "Split Vertical In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "Pielrecht deelt na binnen" + +#: part/dlgpresentation.cpp:115 +#, fuzzy, kde-format +#| msgid "Split Vertical Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "Pielrecht deelt na buten" + +#: part/dlgpresentation.cpp:116 +#, fuzzy, kde-format +#| msgid "Wipe Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "Na nerrn utwischen" + +#: part/dlgpresentation.cpp:117 +#, fuzzy, kde-format +#| msgid "Wipe Right" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "Na rechts utwischen" + +#: part/dlgpresentation.cpp:118 +#, fuzzy, kde-format +#| msgid "Wipe Left" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "Na links utwischen" + +#: part/dlgpresentation.cpp:119 +#, fuzzy, kde-format +#| msgid "Wipe Up" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "Na baven utwischen" + +#: part/dlgpresentation.cpp:121 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Standardövergang:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "" + +#: part/dlgpresentation.cpp:137 +#, fuzzy, kde-format +#| msgid "Drawing" +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

    Drawing Tools

    " +msgstr "Teken" + +#: part/dlgpresentation.cpp:171 +#, fuzzy, kde-format +#| msgctxt "@label:listbox The current screen, for the presentation mode" +#| msgid "Current Screen" +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Aktuell Schirm" + +#: part/dlgpresentation.cpp:172 +#, fuzzy, kde-format +#| msgctxt "@label:listbox The default screen for the presentation mode" +#| msgid "Default Screen" +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Standardschirm" + +#: part/dlgpresentation.cpp:178 +#, fuzzy, kde-format +#| msgctxt "@label:listbox %1 is the screen number (0, 1, ...)" +#| msgid "Screen %1" +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "Schirm %1" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "" + +#: part/drawingtoolactions.cpp:192 +#, fuzzy, kde-format +#| msgid "Drawing" +msgid "Drawing Tool: %1" +msgstr "Teken" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, fuzzy, kde-format +#| msgid "Erase Drawings" +msgid "Eraser" +msgstr "Tekens leddig maken" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "&Naam:" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "&Typ:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "Utsehn" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "Text-Rutheven" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "Form" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "Anmarkwarktüüch opstellen" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "Anmarkwarktüüch bewerken" + +#: part/editdrawingtooldialog.cpp:51 +#, fuzzy, kde-format +#| msgid "&Color:" +msgid "Color:" +msgstr "&Klöör:" + +#: part/editdrawingtooldialog.cpp:58 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgid "&Pen Width:" +msgstr "Na Breed topassen" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "" + +#: part/editdrawingtooldialog.cpp:79 +#, fuzzy, kde-format +#| msgid "Create annotation tool" +msgid "Create drawing tool" +msgstr "Anmarkwarktüüch opstellen" + +#: part/editdrawingtooldialog.cpp:84 +#, fuzzy, kde-format +#| msgid "Edit annotation tool" +msgid "Edit drawing tool" +msgstr "Anmarkwarktüüch bewerken" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "Nich begäng" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Inbett Dateien" + +#: part/embeddedfilesdialog.cpp:62 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:button" +msgid "View" +msgstr "&Ansicht" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "Naam" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "Beschrieven" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "Grött" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "Opstellt" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "Ännert" + +#: part/embeddedfilesdialog.cpp:154 +#, fuzzy, kde-format +#| msgctxt "@action:inmenu" +#| msgid "&Save As..." +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "&Sekern as..." + +#: part/embeddedfilesdialog.cpp:155 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "&Ansicht" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "Druckvöransicht-Komponent lett sik nich laden" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "Druckvöransicht" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "Tomaken" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "Sö&ken:" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "Sööktext" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Nakamen" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "Na den nakamen Dreper jumpen" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Verleden" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "Na den verleden Dreper jumpen" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "Söökbedregen ännern" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "Op Groot-/Lüttschrieven oppassen" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "Ut aktuelle Siet" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "" + +#: part/formwidgets.cpp:870 +#, fuzzy, kde-format +#| msgid "*|All Files" +msgid "All Files (*)" +msgstr "*|All Dateien" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgid "Signature Properties" +msgstr "Blinker-Egenschappen" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "Söökoptschonen" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "Op Groot- un Lüttschrieven kieken" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "Reguleer Utdruck" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "vun" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "Ansichtgrött" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "Na &rechts dreihen" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "Na Rechts" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "Na &links dreihen" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "Na Links" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "Orginaal-Utrichten" + +#: part/pageview.cpp:546 +#, fuzzy, kde-format +#| msgid "&View" +msgid "&Trim View" +msgstr "&Ansicht" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "Ränners &topassen" + +#: part/pageview.cpp:557 +#, fuzzy, kde-format +#| msgctxt "Text Selection Tool" +#| msgid "Text Selection" +msgid "Trim To &Selection" +msgstr "Textköör" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "&Breed topassen" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "&Siet topassen" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "&Automaatsch topassen" + +#: part/pageview.cpp:575 +#, fuzzy, kde-format +#| msgid "Fit &Page" +msgid "Fit Wi&ndow to Page" +msgstr "&Siet topassen" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "&Ansicht-Bedrief" + +#: part/pageview.cpp:594 +#, fuzzy, kde-format +#| msgid "Single Page" +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "Enkelsiet" + +#: part/pageview.cpp:595 +#, fuzzy, kde-format +#| msgid "Facing Pages" +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "Güntsieden" + +#: part/pageview.cpp:596 +#, fuzzy, kde-format +#| msgid "Facing Pages (Center First Page)" +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "Güntsieden (Eerst Siet na de Merrn utrichten)" + +#: part/pageview.cpp:599 +#, fuzzy, kde-format +#| msgid "Overview" +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "Översicht" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "&Dörgahn" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "" + +#: part/pageview.cpp:627 +#, fuzzy, kde-format +#| msgctxt "Browse Tool" +#| msgid "Browse" +msgid "&Browse" +msgstr "Dörkieken" + +#: part/pageview.cpp:635 +#, fuzzy, kde-format +#| msgid "Zoom" +msgid "&Zoom" +msgstr "Ansichtgrött" + +#: part/pageview.cpp:655 +#, fuzzy, kde-format +#| msgctxt "Text Selection Tool" +#| msgid "Text Selection" +msgid "Area &Selection" +msgstr "Textköör" + +#: part/pageview.cpp:662 +#, fuzzy, kde-format +#| msgctxt "Text Selection Tool" +#| msgid "Text Selection" +msgid "&Text Selection" +msgstr "Textköör" + +#: part/pageview.cpp:669 +#, fuzzy, kde-format +#| msgctxt "Table Selection Tool" +#| msgid "Table Selection" +msgid "T&able Selection" +msgstr "Tabellenköör" + +#: part/pageview.cpp:676 +#, fuzzy, kde-format +#| msgctxt "Magnifier Tool" +#| msgid "Magnifier" +msgid "&Magnifier" +msgstr "Kiekglas" + +#: part/pageview.cpp:685 +#, fuzzy, kde-format +#| msgid "Selection Tools" +msgctxt "@action" +msgid "Selection Tools" +msgstr "Köörwarktüüch" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "Heel Dokment vörlesen" + +#: part/pageview.cpp:722 +#, fuzzy, kde-format +#| msgid "Speak Current Page" +msgid "Speak From Current Page" +msgstr "Aktuelle Siet vörlesen" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "Aktuelle Siet vörlesen" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "Vörlesen anhollen" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "Na baven rullen" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Na nerrn rullen" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "Siet na baven rullen" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "Siet na nerrn rullen" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "Formuloren wiesen" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] "En Dokment mit een Siet wöör laadt." +msgstr[1] "En Dokment mit %1 Sieden wöör laadt." + +#: part/pageview.cpp:2526 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Table Contents to Clipboard" +msgstr "Na Twischenaflaag koperen" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "Text (1 Bookstaav)" +msgstr[1] "Text (%1 Bookstaven)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "Na Twischenaflaag koperen" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "Text vörlesen" + +#: part/pageview.cpp:2863 +#, fuzzy, kde-format +#| msgid "Image (%1 by %2 pixels)" +msgid "Image (%1 × %2 pixels)" +msgstr "Bild (%1 x %2 Pixels)" + +#: part/pageview.cpp:2865 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save to File…" +msgstr "As Datei sekern..." + +#: part/pageview.cpp:2885 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] copied to clipboard." +msgid "Image [%1 × %2] copied to clipboard." +msgstr "Bild [%1x%2] wöör na de Twischenaflaag kopeert." + +#: part/pageview.cpp:2888 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save file" +msgstr "As Datei sekern..." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "Datei nich sekert." + +#: part/pageview.cpp:2901 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] saved to %3 file." +msgid "Image [%1 × %2] saved to %3 file." +msgstr "Bild [%1x%2] wöör na %3-Datei sekert." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "Text koperen" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "Na \"%1\" gahn" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "Na Breed topassen" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "Op Siet topassen" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "Automaatsch topassen" + +#: part/pageview.cpp:4107 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1:" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "Na \"%1\" söken mit" + +#: part/pageview.cpp:4404 +#, fuzzy, kde-format +#| msgid "Configure Web Shortcuts..." +msgid "Configure Web Shortcuts…" +msgstr "Nett-Tastkombinatschonen instellen..." + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "Dissen Link nagahn" + +#: part/pageview.cpp:4433 +#, fuzzy, kde-format +#| msgid "Play sound..." +msgid "Play this Sound" +msgstr "Klang afspelen..." + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "Afspelen anhollen" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "Linkadress koperen" + +#: part/pageview.cpp:4462 +#, fuzzy, kde-format +#| msgid "Search for '%1' with" +msgid "Search for '%1' in this document" +msgstr "Na \"%1\" söken mit" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Willkamen" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "Söök dat Rebeet för't Gröttermaken ut. Lütter mit Rechtsklick." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "Klick hier, wenn Du dat Kiekglas hier bruken wullt." + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "Treck en Rahmen üm den Text oder de Biller to, de(n) Du koperen wullt." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "Text utsöken" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" +"Treck en Rechteck üm de Tabell to, klick neegst de Kanten, wenn Du ehr " +"ünnerdelen wullt, drück de Utknieptast, wenn Du de Köör leddigmaken wullt." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" + +#: part/pageview.cpp:5188 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "No valid certificates" +msgstr "Kieker instellen" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Open Certificate Manager" +msgstr "Kieker instellen" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
    Launch Certificate Manager " +"to import or manage certificates
    For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "No certificates found" +msgstr "Kieker instellen" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
    For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "" + +#: part/pageview.cpp:5405 +#, fuzzy, kde-format +#| msgid "Draw a rectangle around the text/graphics to copy." +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "Treck en Rahmen üm den Text oder de Biller to, de(n) Du koperen wullt." + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "Nieg Textnotiz" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "Text för de nieg Notiz:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgid "Author" +msgid "Author name" +msgstr "Autor" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgctxt "Add an annotation to the page" +#| msgid "add annotation" +msgid "Author name for the annotation:" +msgstr "Anmarken tofögen" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "En Ellips teken (mit den Wieser dat Reebet utsöken)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "Text markeren" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "En freehannig Lien teken" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "Inbett Text-Anmarken (Treck, wenn Du en Rebeet utsöken wullt)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "En Opduknotiz tofögen" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "En Veeleck teken (för't Sluten op den eersten Punkt klicken)" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "En Rechteck teken" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "Text versnörkeln" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "En Mark-Symbool platzeren" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "En liek Streek teken" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "Text dörstreken" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "Text ünnerstreken" + +#: part/pageviewannotator.cpp:1414 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Inline Text Annotation (drag to select a zone)" +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "Inbett Text-Anmarken (Treck, wenn Du en Rebeet utsöken wullt)" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "Markeren" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgctxt "Add an annotation to the page" +#| msgid "add annotation" +msgid "Add favorite annotation" +msgstr "Anmarken tofögen" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgctxt "Add an annotation to the page" +#| msgid "add annotation" +msgid "Custom annotation name:" +msgstr "Anmarken tofögen" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&Datei" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "&Instellen" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "&Hülp" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "&Utrichten" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "&Leestekens" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "Kieker-Warktüüchbalken" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Vöransichten" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "Anmarken" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
    Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"Dit Dokment bargt inbett Dateien. Klick " +"hier, wenn Du ehr ankieken wullt oder gah na Datei -> Inbett Dateien." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "Verleden" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "Na de verleden Siet gahn" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "Na de verleden Siet vun dat Dokment gahn" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "Nakamen" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "Wieder na de nakamen Siet" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "Na de nakamen Siet vun dat Dokment gahn" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "Anfang vun't Dokment" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "Na den Anfang vun dat Dokment gahn" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "Enn vun't Dokment" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "Na't Enn vun dat Dokment gahn" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "Dat aktuelle Leesteken ümnömen" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "Verleden Leesteken" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "Na't verleden Leesteken gahn" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "Nakamen Leesteken" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "Na't nakamen Leesteken gahn" + +#: part/part.cpp:748 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgid "Configure Okular…" +msgstr "Okular instellen..." + +#: part/part.cpp:751 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Configure Viewer…" +msgstr "Kieker instellen" + +#: part/part.cpp:757 +#, fuzzy, kde-format +#| msgid "Configure Viewer Backends" +msgid "Configure Viewer Backends…" +msgstr "Kieker-Hülpprogrammen instellen" + +#: part/part.cpp:759 +#, fuzzy, kde-format +#| msgid "Configure Backends" +msgid "Configure Backends…" +msgstr "Hülpprogrammen instellen" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "Över't Hülpprogramm" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "&Nieg laden" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "Aktuell Dokment nieg vun Fastplaat laden." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "&Söökbalken tomaken" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "Sietnummer" + +#: part/part.cpp:817 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "Okular instellen..." + +#: part/part.cpp:858 +#, fuzzy, kde-format +#| msgid "Speak Current Page" +msgid "Select All Text on Current Page" +msgstr "Aktuelle Siet vörlesen" + +#: part/part.cpp:871 +#, fuzzy, kde-format +#| msgid "Show &Page Bar" +msgid "Show S&idebar" +msgstr "&Siedenbalken wiesen" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "&Siedenbalken wiesen" + +#: part/part.cpp:886 +#, fuzzy, kde-format +#| msgid "Show &Navigation Panel" +msgid "Show &Signatures Panel" +msgstr "&Stüerpaneel wiesen" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "&Inbett Dateien" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "E&xporteren as" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "&Presentatschoon" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "" + +#: part/part.cpp:945 +#, fuzzy, kde-format +#| msgid "&Import PostScript as PDF..." +msgid "&Import PostScript as PDF…" +msgstr "PostScript as PDF &importeren..." + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "Swattschirm-Bedriefoort wesseln" + +#: part/part.cpp:957 +#, fuzzy, kde-format +#| msgid "Erase Drawings" +msgid "Erase Drawing" +msgstr "Tekens leddig maken" + +#: part/part.cpp:962 +#, fuzzy, kde-format +#| msgid "Configure Annotations..." +msgid "Configure Annotations…" +msgstr "Anmarken instellen..." + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "Presentatschoon anhollen/wiedermaken" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" + +#: part/part.cpp:1123 +#, fuzzy, kde-format +#| msgid "Document Password" +msgid "Document can't be saved" +msgstr "Dokment-Passwoort" + +#: part/part.cpp:1152 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not open '%1' (%2) " +msgstr "\"%1\" lett sik nich opmaken" + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "Dat Laden vun \"%1\" wöör afbraken." + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "\"%1\" lett sik nich opmaken. Grund: %2" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "Kieker-Hülpprogrammen instellen" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "Hülpprogrammen instellen" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"Dat Programm \"ps2pdf\" lett sik nich finnen. PS-Dateien laat sik ahn disse " +"Datei nich importeren." + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "\"ps2pdf\" lett sik nich finnen" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "" + +#: part/part.cpp:1357 +#, fuzzy, kde-format +#| msgid "Importing PS file as PDF (this may take a while)..." +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "PS-Datei warrt as PDF importeert (Dat kann wat duern)..." + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "Giff bitte dat Passwoort in, wenn Du dat Dokment lesen wullt:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "Leeg Passwoort. Versöök dat nochmaal:" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "Dokment-Passwoort" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" +"Dit Dokment bargt XFA-Formuloren. De warrt opstunns nich ünnerstütt." + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"Dit Dokment bargt Formuloren. Klick op den Knoop, wenn Du se bewerken wullt, " +"oder bruuk Ansicht -> Formuloren wiesen." + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "" + +#: part/part.cpp:1739 +#, fuzzy, kde-format +#| msgid "Exit Presentation Mode" +msgid "Enter Presentation Mode" +msgstr "Ut Presentatschoon utstiegen" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "" + +#: part/part.cpp:1830 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not open %1. %2" +msgstr "\"%1\" lett sik nich opmaken" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "" + +#: part/part.cpp:1865 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue Reloading" +msgstr "&Dörgahn" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" + +#: part/part.cpp:1875 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue Closing" +msgstr "&Dörgahn" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "" + +#: part/part.cpp:1883 +#, fuzzy, kde-format +#| msgid "Do you want to save your annotation changes or discard them?" +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "Wullt Du de ännerten Anmarken sekern oder wegsmieten?" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "Dokment tomaken" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"Disse Link wiest na en \"Dokment tomaken\"-Akschoon, de sik mit den inbett " +"Kieker nich utföhren lett." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"Disse Link wiest na en \"Programm tomaken\"-Akschoon, de sik mit den inbett " +"Kieker nich utföhren lett." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Reloading the document…" +msgstr "Dokment warrt nieg laadt..." + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "Inholt" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Na Siet gahn" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "&Siet:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "Giff den niegen Naam för dat Leesteken in:" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "Dit Leesteken ümnömen" + +#: part/part.cpp:2509 +#, fuzzy, kde-format +#| msgid "Rename this Bookmark" +msgid "Remove this Bookmark" +msgstr "Dit Leesteken ümnömen" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, fuzzy, kde-format +#| msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +#| msgid "%1 (%2)" +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, fuzzy, kde-format +#| msgctxt "@action:inmenu" +#| msgid "&Save As..." +msgid "Save As" +msgstr "&Sekern as..." + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" + +#: part/part.cpp:2621 +#, fuzzy, kde-format +#| msgid "Line Extensions" +msgid "Unsupported extension" +msgstr "Lien-Afmeten" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
    In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "De Temporeerdatei lett sik nich schrieven." + +#: part/part.cpp:2726 +#, fuzzy, kde-kuit-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" +"Datei lett sik nich na \"%1\" sekern. Versöök, ehr na en anner Steed to " +"sekern." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "" +"Datei lett sik nich na \"%1\" sekern. Versöök, ehr na en anner Steed to " +"sekern." + +#: part/part.cpp:2766 +#, fuzzy, kde-format +#| msgctxt "Edit an form's text contents" +#| msgid "edit form contents" +msgid "Filled form contents" +msgstr "Formular-Inholt bewerken" + +#: part/part.cpp:2769 +#, fuzzy, kde-format +#| msgctxt "remove a collection of annotations from the page" +#| msgid "remove annotations" +msgid "User annotations" +msgstr "Anmarken wegmaken" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" + +#: part/part.cpp:2796 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue" +msgstr "&Dörgahn" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "Datei lett sik nich na \"%1\" sekern. %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"Okular kann \"%1\" nich na de angeven Steed koperen.\n" +"\n" +"Dat gifft dat Dokment nich mehr." + +#: part/part.cpp:2899 +#, fuzzy, kde-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" +"Datei lett sik nich na \"%1\" sekern. Versöök, ehr na en anner Steed to " +"sekern." + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "End Presentation" +msgid "Expand Whole Section" +msgstr "Presentatschoon beennen" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "End Presentation" +msgid "Collapse Whole Section" +msgstr "Presentatschoon beennen" + +#: part/part.cpp:3172 +#, fuzzy, kde-format +#| msgid "Link the &thumbnails with the page" +msgid "Sync Thumbnail with Page" +msgstr "&Vöransichten mit de Siet verlinken" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Warktüüch" + +#: part/part.cpp:3381 +#, fuzzy, kde-format +#| msgid "Speak Text" +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "Text vörlesen" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "Dat Drucken vun dit Dokment is nich verlöövt." + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"Dat Dokment lett sik nich drucken. Nich begäng Fehler. Bitte mell dat na " +"http://bugs.kde.org" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"Dat Dokment lett sik nich drucken. Utföhrlich Fehlermellen is \"%1\". Bitte " +"mell dat na http://bugs.kde.org" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "Na de verleden Steed gahn" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "Na de nakamen Steed gahn" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"Dateifehler! De Temporeerdatei %1 lett sik nich opstellen." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"Dateifehler! De Datei %1 " +"lett sik nich för't Utpacken opmaken. De Datei warrt nich laadt." + +#: part/part.cpp:3751 +#, fuzzy, kde-format +#| msgid "" +#| "This error typically occurs if you do not have enough permissions to " +#| "read the file. You can check ownership and permissions if you right-click " +#| "on the file in the Dolphin file manager and then choose the 'Properties' " +#| "tab." +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"Disse Fehler kummt normalerwies vör, wenn Du keen Leesverlööf för de " +"Datei hest. Du kannst den Eegner vun de Datei un ehr Verlöven bekieken, wenn " +"Du binnen den Dateipleger \"Dolphin\" mit den rechten Muusknoop op de Datei " +"klickst un den Indrag \"Egenschappen\" bruukst." + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"Dateifehler! De Datei %1 " +"lett sik nich utpacken. De Datei warrt nich laadt." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"Disse Fehler kummt normalerwies vör, wenn de Datei schaadhaftig is. Wenn " +"Du seker gahn wullt, denn versöök dat Utpacken vun Hand op de Befehlsreeg." + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "Keen Leestekens" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "&Bewerken" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "&Ansicht" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&Gah na" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "&Warktüüch" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "Hööft-Warktüüchbalken" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgid "Annotation Toolbar" +msgstr "Anmarkwarktüüch" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgid "Quick Annotation Toolbar" +msgstr "Anmarkwarktüüch" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "Allgemeen Optschonen" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Toganghülp" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "Toganghülp - Leeshülp" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Leisten" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "Leistenverbetern" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "Kieker instellen" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Presentatschoon" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "Optschonen för Presentatschoonbedrief" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "Anmarken-Optschonen" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "Editor" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "Editoroptschonen" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "Nakamen söken" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 – Presentatschoon" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "Schirm wesseln" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "Schirm %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "Ut Presentatschoon utstiegen" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Titel: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Sieden: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "Klick, wenn Du anfangen wullt" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "Anhollen" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "Wiesen" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"De Presentatschoon-Bedrief lett sik op twee Oorden verlaten: Du kannst de " +"\"Esc\"-Tast drücken, oder op den \"Verlaten\"-Knoop klicken, de wiest " +"warrt, wenn Du mit de Muus na de Eck baven rechts geihst. Du kannst " +"natüürlich ok de Finstern wesseln. (Alt+Tab as Standard)" + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "Presentatschoon warrt wiest" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "Datei nich begäng" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "%1-Egenschappen" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "Schri&ftoorden" + +#: part/propertiesdialog.cpp:145 +#, fuzzy, kde-format +#| msgid "Reading font information..." +msgid "Reading font information…" +msgstr "Schriftinformatschonen warrt laadt..." + +#: part/propertiesdialog.cpp:158 +#, fuzzy, kde-format +#| msgid "&Page Size" +msgid "&Page Sizes" +msgstr "&Siedengrött" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "Schriftoort &ruttrecken" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Typ 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Typ 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "Typ 1C (OT)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Typ 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType (OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID-Typ 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID-Type 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID-Type 0C (OT)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID-TrueType" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID-TrueType (OT)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "TeX PK" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "TeX virtuell" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "TeX Schriftoort-Metrik" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "TeX FreeType-bewerkt" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "Nich begäng" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "Inbett (Deelkoppel)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "Heel inbett" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "Nee" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "Jo (Deelmengde)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "Jo" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "[n.v.]" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "Nich begäng Schriftoort" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "Inbett: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "Naam" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "Typ" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "Datei" + +#: part/propertiesdialog.cpp:498 +#, fuzzy, kde-format +#| msgid "Pages" +msgid "Page" +msgstr "Sieden" + +#: part/propertiesdialog.cpp:501 +#, fuzzy, kde-format +#| msgctxt "@title:column" +#| msgid "Size" +msgid "Size" +msgstr "Grött" + +#: part/revisionviewer.cpp:41 +#, fuzzy, kde-format +#| msgid "Print Preview" +msgid "Revision Preview" +msgstr "Druckvöransicht" + +#: part/revisionviewer.cpp:53 +#, fuzzy, kde-format +#| msgid "Where do you want to save %1?" +msgid "Where do you want to save this revision?" +msgstr "Woneem wullt Du \"%1\" sekern?" + +#: part/revisionviewer.cpp:56 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not save file %1." +msgstr "\"%1\" lett sik nich opmaken" + +#: part/revisionviewer.cpp:75 +#, fuzzy, kde-format +#| msgid "Could not open %1. Reason: %2" +msgid "Could not view revision." +msgstr "\"%1\" lett sik nich opmaken. Grund: %2" + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "Giff tominnst dree Bookstaven för't Siedenfiltern in" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "Op Groot- un Lüttschrieven kieken" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "Utdruck söken" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "All Wöör söken" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "Jichtenseen Woort söken" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "Filteroptschonen" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Certificates" +msgstr "Kieker instellen" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, fuzzy, kde-format +#| msgid "Allow" +msgid "All" +msgstr "Verlöven" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Only QES certificates" +msgstr "Kieker instellen" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, fuzzy, kde-format +#| msgid "Options" +msgid "optional" +msgstr "Optschonen" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Location:" +msgstr "Anmarken" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, fuzzy, kde-format +#| msgid "Background color:" +msgid "Background:" +msgstr "Achtergrundklöör:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, fuzzy, kde-format +#| msgid "Background color:" +msgid "Recent backgrounds:" +msgstr "Achtergrundklöör:" + +#: part/side_reviews.cpp:66 +#, fuzzy, kde-format +#| msgid "" +#| "

    No annotations

    To create new annotations press " +#| "F6 or select Tools -> Review from the menu.
    " +msgid "" +"

    No annotations

    To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
    " +msgstr "" +"

    Keen Anmarken

    Nieg Anmarken laat sik mit de Tast " +"F6 oder mit Warktüüch -> Nakiek ut dat Menü opstellen.
    " + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "Na Siet ornen" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "Na Autor ornen" + +#: part/side_reviews.cpp:155 +#, fuzzy, kde-format +#| msgid "Show reviews for current page only" +msgid "Show annotations for current page only" +msgstr "Bloots Nakieken för de aktuelle Siet wiesen" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "" + +#: part/signaturepanel.cpp:101 +#, fuzzy, kde-format +#| msgid "&Properties" +msgid "Properties" +msgstr "&Egenschappen" + +#: part/signaturepartutils.cpp:180 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Sieden: %1" + +#: part/signaturepartutils.cpp:181 +#, fuzzy, kde-format +#| msgid "Enable &background generation" +msgid "Select background image" +msgstr "&Opstellen in Achtergrund anmaken" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "" + +#: part/signaturepartutils.cpp:244 +#, fuzzy, kde-format +#| msgid "Document Password" +msgid "Enter document password" +msgstr "Dokment-Passwoort" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:63 +#, fuzzy, kde-format +#| msgid "Information" +msgid "Additional Information" +msgstr "Informatschoon" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:83 +#, fuzzy, kde-format +#| msgctxt "A document format, Okular-specific" +#| msgid "Document Archive" +msgid "Document Version" +msgstr "Dokmentenarchiv" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:95 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "View Certificate…" +msgstr "Kieker instellen" + +#: part/signaturepropertiesdialog.cpp:97 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "View in Certificate Manager" +msgstr "Kieker instellen" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "Bloots Sieden mit Leestekens wiesen" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "Afspelen" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Paus" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "Anhollen" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, fuzzy, kde-format +#| msgid "&Edit" +msgid "&Edit…" +msgstr "&Bewerken" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "&Wegdoon" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "Na ba&ven" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "Na &nerrn" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "Siet vun't Dokment, de wiest warrn schall" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "Dokment in'n Presentatschoonbedrief starten" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "Mit Druckdialoog starten" + +#: shell/main.cpp:78 +#, fuzzy, kde-format +#| msgid "Start with print dialog" +msgid "Start with print dialog and exit after printing" +msgstr "Mit Druckdialoog starten" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "\"Eenkennig Utgaav\"-Kuntrull" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "Finster nich na vörn stellen" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "" + +#: shell/main.cpp:83 +#, fuzzy, kde-format +#| msgid "Document to open. Specify '-' to read from stdin." +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "" +"Dokment, dat opmaakt warrn schall. Bruuk \"-\", wenn Du ut de Standardingaav " +"lesen wullt." + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "" +"Fehler: Mit de Optschoon \"--unique\" lett sik nich mehr as een Dokment " +"opmaken" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" +"Fehler: Mit de Optschoon „--presentation“ lett sik nich mehr as een Dokment " +"opmaken" + +#: shell/okular_main.cpp:198 +#, fuzzy, kde-format +#| msgid "" +#| "Error: Can't open more than one document with the --presentation switch" +msgid "Error: Can't open more than one document with the --print switch" +msgstr "" +"Fehler: Mit de Optschoon „--presentation“ lett sik nich mehr as een Dokment " +"opmaken" + +#: shell/okular_main.cpp:204 +#, fuzzy, kde-format +#| msgid "Error: Can't open more than one document with the --unique switch" +msgid "Error: Can't open more than one document with the --page switch" +msgstr "" +"Fehler: Mit de Optschoon \"--unique\" lett sik nich mehr as een Dokment " +"opmaken" + +#: shell/okular_main.cpp:210 +#, fuzzy, kde-format +#| msgid "" +#| "Error: Can't open more than one document with the --presentation switch" +msgid "Error: Can't open more than one document with the --find switch" +msgstr "" +"Fehler: Mit de Optschoon „--presentation“ lett sik nich mehr as een Dokment " +"opmaken" + +#: shell/shell.cpp:207 +#, fuzzy, kde-format +#| msgid "Unable to find the Okular component." +msgid "Unable to find the Okular component: %1" +msgstr "Okular-Komponent lett sik nich finnen." + +#: shell/shell.cpp:250 +#, fuzzy, kde-format +#| msgid "Show &Page Bar" +msgid "Sidebar" +msgstr "&Siedenbalken wiesen" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" +"Dat gifft al en eenkennig (\"unique\") Utgaav vun Okular. Disse Utgaav warrt " +"nich eenkennig." + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "Okular-Komponent lett sik nich finnen." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"Klick, wenn Du en Datei opmaken wullt\n" +"Klick, un holl de Muustast daal, wenn Du en annerlest bruukt Datei opmaken " +"wullt" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"Klick, wenn Du en Datei opmaken wullt oder Klick, un holl de " +"Muustast daal, wenn Du en annerlest bruukt Datei opmaken wullt" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "Nakamen Paneel" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "Verleden Paneel" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "" + +#: shell/shell.cpp:603 +#, fuzzy, kde-format +#| msgid "Show &Page Bar" +msgid "Lock Sidebar" +msgstr "&Siedenbalken wiesen" + +#: shell/shell.cpp:703 +#, fuzzy, kde-format +#| msgid "*|All Files" +msgid "All files (*)" +msgstr "*|All Dateien" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "Dokment opmaken" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "" + +#: shell/shell.cpp:826 +#, fuzzy, kde-format +#| msgid "Close" +msgid "Close Tabs" +msgstr "Tomaken" + +#: shell/shell.cpp:833 +#, fuzzy, kde-format +#| msgid "" +#| "A file named \"%1\" already exists. Are you sure you want to overwrite it?" +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "" +"Dat gifft al en Datei mit den Naam \"%1\". Wullt Du ehr redig överschrieven?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "" + +#: shell/welcomescreen.cpp:64 +#, fuzzy, kde-format +#| msgid "Copy Text" +msgid "&Copy Path" +msgstr "Text koperen" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "" + +#: shell/welcomescreen.cpp:137 +#, fuzzy, kde-format +#| msgid "Current document only" +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "Bloots aktuell Dokment" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, fuzzy, kde-format +#| msgid "Open Document" +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Dokment opmaken" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, fuzzy, kde-format +#| msgid "Current document only" +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Bloots aktuell Dokment" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "" + +#, fuzzy +#~| msgid "For Comment" +#~ msgid "Geometry with Comment" +#~ msgstr "För Kommentaren" + +#~ msgid "Geometry" +#~ msgstr "Afmeten" + +#~ msgid "Modified: %1" +#~ msgstr "Ännert: %1" + +#~ msgid "Find..." +#~ msgstr "Söken..." + +#~ msgid "Go To Page..." +#~ msgstr "Na Siet gahn..." + +#~ msgid "Play movie..." +#~ msgstr "Film afspelen..." + +#, fuzzy +#~| msgid "S&earch:" +#~ msgid "Search..." +#~ msgstr "&Söken:" + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "&Sekern as..." + +#, fuzzy +#~| msgid "&View" +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "&Ansicht" + +#~ msgid "Configure Viewer..." +#~ msgstr "Kieker instellen..." + +#~ msgid "Configure Viewer Backends..." +#~ msgstr "Kieker-Hülpprogrammen instellen..." + +#~ msgid "Configure Backends..." +#~ msgstr "Hülpprogrammen instellen..." + +#~ msgid "&Add..." +#~ msgstr "&Tofögen..." + +#~ msgid "&Edit..." +#~ msgstr "&Bewerken" + +#, fuzzy +#~| msgctxt "Unknown author" +#~| msgid "Unknown" +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "Nich begäng" + +#, fuzzy +#~| msgid "%" +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " %" + +#, fuzzy +#~| msgid "%" +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%" + +#, fuzzy +#~| msgid "Fit Width" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "Na Breed topassen" + +#, fuzzy +#~| msgid "Fit Page" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "Op Siet topassen" + +#, fuzzy +#~| msgid "Auto Fit" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Auto Fit" +#~ msgstr "Automaatsch topassen" + +#~ msgid "*|All Files" +#~ msgstr "*|All Dateien" + +#, fuzzy +#~| msgid "Show &Page Bar" +#~ msgid "Show Sidebar" +#~ msgstr "&Siedenbalken wiesen" + +#, fuzzy +#~| msgid "Experimental" +#~ msgctxt "@title:window" +#~ msgid "Experimental feature" +#~ msgstr "Testwies" + +#~ msgid "Remove Bookmarks" +#~ msgstr "Leestekens wegmaken" + +#, fuzzy +#~| msgid "Annotations" +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "Anmarken" + +#, fuzzy +#~| msgid "Highlight" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "Markeren" + +#, fuzzy +#~| msgid "Underline" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Underline" +#~ msgstr "Ünnerstreken" + +#, fuzzy +#~| msgid "Squiggle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Squiggle" +#~ msgstr "Versnörkeln" + +#, fuzzy +#~| msgid "Strike Out" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Strike Out" +#~ msgstr "Dörstreken" + +#, fuzzy +#~| msgid "Insert" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "Infögen" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "Inbett Notiz" + +#, fuzzy +#~| msgid "Pop-up Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "Opduknotiz" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a freehand line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Freehand Line" +#~ msgstr "En freehannig Lien teken" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a straight line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Straight line" +#~ msgstr "En liek Streek teken" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a rectangle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Rectangle" +#~ msgstr "En Rechteck teken" + +#, fuzzy +#~| msgid "Cyan Ellipse" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Ellipse" +#~ msgstr "Zyansch Ellips" + +#, fuzzy +#~| msgid "Polygon" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Polygon" +#~ msgstr "Veeleck" + +#, fuzzy +#~| msgid "Highlighter" +#~ msgid "Highlight in Yellow" +#~ msgstr "Markeren" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Highlight text" +#~ msgid "Highlight in Green" +#~ msgstr "Text markeren" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgid "Insert Inline Note" +#~ msgstr "Inbett Notiz" + +#, fuzzy +#~| msgid "Pop-up Note" +#~ msgid "Insert Popup Note" +#~ msgstr "Opduknotiz" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "Text utsöken" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "Text utsöken" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "Text utsöken" + +#, fuzzy +#~| msgid "&Magnifier" +#~ msgctxt "verb" +#~ msgid "&Magnify" +#~ msgstr "&Kiekglas" + +#, fuzzy +#~| msgctxt "Add an annotation to the page" +#~| msgid "add annotation" +#~ msgid "Bookmark annotation" +#~ msgstr "Anmarken tofögen" + +#~ msgid "&Toggle Change Colors" +#~ msgstr "&Klörenännern an-/utmaken" + +#, fuzzy +#~| msgid "Enable transitions" +#~ msgctxt "@option:check Config dialog, presentation page, transitions" +#~ msgid "Enable transitions" +#~ msgstr "Övergäng bruken" + +#, fuzzy +#~| msgid "Advance every:" +#~ msgctxt "@label:spinbox Config dialog, presentation page" +#~ msgid "Advance every:" +#~ msgstr "Wiedergahn jümmers na:" + +#, fuzzy +#~| msgid "Background color:" +#~ msgctxt "@label:listbox Config dialog, general page" +#~ msgid "Custom background color:" +#~ msgstr "Achtergrundklöör:" + +#~ msgid "Draw border around &Images" +#~ msgstr "Rand rund &Biller wiesen" + +#~ msgid "Identity" +#~ msgstr "Identiteet" + +#, fuzzy +#~| msgid "&Author:" +#~ msgid "Au&thor:" +#~ msgstr "&Autor:" + +#~ msgid "View Options" +#~ msgstr "Ansicht-Optschonen" + +#~ msgctxt "@info:whatsthis" +#~ msgid "" +#~ "Defines the default zoom mode for files which were never opened before.\n" +#~ "For files which were opened before the previous zoom is applied." +#~ msgstr "" +#~ "Leggt de Standard-Ansichtgrött för vördem noch nienich opmaakte Dateien " +#~ "fast.\n" +#~ "De bruukte Ansichtgrött för al vördem maal opmaakt Dateien warrt " +#~ "övernahmen." + +#~ msgid "Navigation" +#~ msgstr "Navigatschoon" + +#~ msgid "Placement" +#~ msgstr "Steed" + +#~ msgid "Screen:" +#~ msgstr "Schirm:" + +#~ msgid "&Get Books From Internet..." +#~ msgstr "Böker ut Internet &halen..." + +#~ msgid "Reviews" +#~ msgstr "Nakieken" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "@item:inlistbox Color name" +#~ msgid "%1" +#~ msgstr "%1:" + +#~ msgid "Hide Forms" +#~ msgstr "Formuloren versteken" + +#~ msgid "&Review" +#~ msgstr "&Nakiek" + +#~ msgid "Annotations author" +#~ msgstr "Anmarken-Schriever" + +#~ msgid "Please insert your name or initials:" +#~ msgstr "Bitte Dien Naam oder Anfangbookstaven infögen:" + +#~ msgid "Show &Navigation Panel" +#~ msgstr "&Stüerpaneel wiesen" + +#~ msgid "Show Text" +#~ msgstr "Text wiesen" + +#~ msgid "Small Icons" +#~ msgstr "Lütt Lüttbiller" + +#~ msgid "Large Icons" +#~ msgstr "Groot Lüttbiller" + +#, fuzzy +#~| msgid "" +#~| "Click to use the current selection tool\n" +#~| "Click and hold to choose another selection tool" +#~ msgid "" +#~ "Click to use the current selection tool\n" +#~ "Click on the arrow to choose another selection tool" +#~ msgstr "" +#~ "Klick, wenn Du dat aktuell Köörwarktüüch bruken wullt\n" +#~ "Klick un holl de Tast drückt, wenn Du en anner Köörwarktüüch utsöken wullt" + +#~ msgid "Created: %1" +#~ msgstr "Opstellt: %1" + +#~ msgid "Style" +#~ msgstr "Stil" + +#~ msgid "&Size:" +#~ msgstr "&Grött:" + +#~ msgid "Inner color:" +#~ msgstr "Klöör binnen:" + +#~ msgid "Name: %1" +#~ msgstr "Naam: %1" + +#~ msgid "Size: %1" +#~ msgstr "Grött: %1" + +#~ msgid "&Browse Tool" +#~ msgstr "&Dörkiek-Warktüüch" + +#~ msgid "&Zoom Tool" +#~ msgstr "&Ansichtgrött-Warktüüch" + +#~ msgctxt "Zoom Tool" +#~ msgid "Zoom" +#~ msgstr "Ansichtgrött" + +#~ msgctxt "Select Tool" +#~ msgid "Selection" +#~ msgstr "Köör" + +#~ msgid "&Text Selection Tool" +#~ msgstr "&Textköör-Warktüüch" + +#~ msgid "T&able Selection Tool" +#~ msgstr "T&abellenköör" + +#, fuzzy +#~| msgctxt "Symbol for caret annotations" +#~| msgid "None" +#~ msgid " None" +#~ msgstr "Keen" + +#~ msgid "" +#~ "The document requested to be launched in presentation mode.\n" +#~ "Do you want to allow it?" +#~ msgstr "" +#~ "Dat Dokment will den Presentatschoonbedrief opropen.\n" +#~ "Wullt Du dat verlöven?" + +#~ msgid "Presentation Mode" +#~ msgstr "Presentatschoonbedrief" + +#~ msgid "Allow the presentation mode" +#~ msgstr "Presentatschoonbedrief bruken" + +#~ msgid "Do Not Allow" +#~ msgstr "Nich verlöven" + +#~ msgid "Do not allow the presentation mode" +#~ msgstr "Den Presentatschoonbedrief nich bruken" + +#~ msgid "" +#~ "Your annotation changes will not be saved automatically. Use File -> Save " +#~ "As...\n" +#~ "or your changes will be lost once the document is closed" +#~ msgstr "" +#~ "Dien Anmarken warrt nich automaatsch sekert. Bruuk Datei -> Sekern as...\n" +#~ "anners warrt de Ännern bi't Tomaken vun't Dokment wegdaan." + +#~ msgid "" +#~ "Your annotations are saved internally by Okular.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" +#~ msgstr "" +#~ "Dien Anmarken warrt intern vun Okular sekert.\n" +#~ "Du kannst dat Dokment mit de Anmarken över Datei -> Exporteren as -> " +#~ "Dokmentenarchiev exporteren" + +#~ msgid "Save &Copy As..." +#~ msgstr "&Kopie sekern as..." + +#~ msgid "" +#~ "Your annotations will not be exported.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" +#~ msgstr "" +#~ "Dien Anmarken warrt nich exporteert.\n" +#~ "Du kannst dat Dokment mit de Anmarken över Datei -> Exporteren as -> " +#~ "Dokmentenarchiev exporteren." + +#~ msgid "" +#~ "End of document reached.\n" +#~ "Continue from the beginning?" +#~ msgstr "" +#~ "Bi't Enn vun't Dokment ankamen.\n" +#~ "Baven wiedermaken?" + +#~ msgid "" +#~ "Beginning of document reached.\n" +#~ "Continue from the bottom?" +#~ msgstr "" +#~ "Bi den Anfang vun't Dokment ankamen.\n" +#~ "Nerrn wiedermaken?" + +#~ msgid "Current maintainer" +#~ msgstr "Pleger opstunns" + +#~ msgid " sec." +#~ msgstr " s" + +#~ msgid "Pencil color:" +#~ msgstr "Stiftklöör:" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A0" +#~ msgstr "Dwars DIN/ISO A0" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A0" +#~ msgstr "Hoochkant DIN/ISO A0" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A1" +#~ msgstr "Dwars DIN/ISO A1" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A1" +#~ msgstr "Hoochkant DIN/ISO A1" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A2" +#~ msgstr "Dwars DIN/ISO A2" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A2" +#~ msgstr "Hoochkant DIN/ISO A2" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A3" +#~ msgstr "Dwars DIN/ISO A3" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A3" +#~ msgstr "Hoochkant DIN/ISO A3" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A4" +#~ msgstr "Dwars DIN/ISO A4" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A4" +#~ msgstr "Hoochkant DIN/ISO A4" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A5" +#~ msgstr "Dwars DIN/ISO A5" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A5" +#~ msgstr "Hoochkant DIN/ISO A5" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A6" +#~ msgstr "Dwars DIN/ISO A6" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A6" +#~ msgstr "Hoochkant DIN/ISO A6" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A7" +#~ msgstr "Dwars DIN/ISO A7" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A7" +#~ msgstr "Hoochkant DIN/ISO A7" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A8" +#~ msgstr "Dwars DIN/ISO A8" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A8" +#~ msgstr "Hoochkant DIN/ISO A8" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A9" +#~ msgstr "Dwars DIN/ISO A9" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A9" +#~ msgstr "Hoochkant DIN/ISO A9" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B0" +#~ msgstr "Dwars DIN/ISO B0" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B0" +#~ msgstr "Hoochkant DIN/ISO B0" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B1" +#~ msgstr "Dwars DIN/ISO B1" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B1" +#~ msgstr "Hoochkant DIN/ISO B1" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B2" +#~ msgstr "Dwars DIN/ISO B2" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B2" +#~ msgstr "Hoochkant DIN/ISO B2" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B3" +#~ msgstr "Dwars DIN/ISO B3" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B3" +#~ msgstr "Hoochkant DIN/ISO B3" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B4" +#~ msgstr "Dwars DIN/ISO B4" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B4" +#~ msgstr "Hoochkant DIN/ISO B4" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B5" +#~ msgstr "Dwars DIN/ISO B5" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B5" +#~ msgstr "Hoochkant DIN/ISO B5" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B6" +#~ msgstr "Dwars DIN/ISO B6" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B6" +#~ msgstr "Hoochkant DIN/ISO B6" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B7" +#~ msgstr "Dwars DIN/ISO B7" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B7" +#~ msgstr "Hoochkant DIN/ISO B7" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B8" +#~ msgstr "Dwars DIN/ISO B8" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B8" +#~ msgstr "Hoochkant DIN/ISO B8" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B9" +#~ msgstr "Dwars DIN/ISO B9" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B9" +#~ msgstr "Hoochkant DIN/ISO B9" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B10" +#~ msgstr "Dwars DIN/ISO B10" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B10" +#~ msgstr "Hoochkant DIN/ISO B10" + +#~ msgctxt "paper size" +#~ msgid "landscape letter" +#~ msgstr "Dwars US-Letter" + +#~ msgctxt "paper size" +#~ msgid "portrait letter" +#~ msgstr "Hoochkant US-Letter" + +#~ msgctxt "paper size" +#~ msgid "landscape legal" +#~ msgstr "Dwars US-Legal" + +#~ msgctxt "paper size" +#~ msgid "portrait legal" +#~ msgstr "Hoochkant US-Legal" + +#~ msgctxt "paper size" +#~ msgid "landscape executive" +#~ msgstr "Dwars US-Executive" + +#~ msgctxt "paper size" +#~ msgid "portrait executive" +#~ msgstr "Hoochkant US-Executive" + +#~ msgctxt "paper size" +#~ msgid "landscape Comm10E" +#~ msgstr "Dwars Comm10E" + +#~ msgctxt "paper size" +#~ msgid "portrait Comm10E" +#~ msgstr "Hoochkant Comm10E" + +#~ msgctxt "paper size" +#~ msgid "landscape DLE" +#~ msgstr "Dwars DLE" + +#~ msgctxt "paper size" +#~ msgid "portrait DLE" +#~ msgstr "Hoochkant DLE" + +#~ msgctxt "paper size" +#~ msgid "landscape folio" +#~ msgstr "Dwars Folio" + +#~ msgctxt "paper size" +#~ msgid "portrait folio" +#~ msgstr "Hoochkant Folio" + +#~ msgctxt "paper size" +#~ msgid "ledger" +#~ msgstr "US-Ledger" + +#~ msgctxt "paper size" +#~ msgid "tabloid" +#~ msgstr "US-Tabloid" + +#~ msgctxt "paper size" +#~ msgid "unknown landscape paper size" +#~ msgstr "Nich begäng dwars Papeerformaat" + +#~ msgctxt "paper size" +#~ msgid "unknown portrait paper size" +#~ msgstr "Nich begäng hoochkant Papeerformaat" + +#~ msgid "Toggle Drawing Mode" +#~ msgstr "Tekenbedrief an-/utmaken" + +#~ msgid "Starting Jovie Text-to-Speech service Failed: %1" +#~ msgstr "Starten vun Vörleesdeenst \"Jovie\" fehlslaan: %1" + +#~ msgid "Search Columns" +#~ msgstr "Striepen dörsöken" + +#~ msgid "All Visible Columns" +#~ msgstr "All sichtbor Striepen" + +#~ msgid "No document opened." +#~ msgstr "Keen Dokment opmaakt." + +#~ msgid "Can't open more than one document in the unique Okular instance." +#~ msgstr "" +#~ "Binnen de eenkennige (\"unique\") Okular-Utgaav lett sik nich mehr as een " +#~ "Dokment opmaken." + +#~ msgid "No matches found for '%1'." +#~ msgstr "För \"%1\" lett sik keen Övereenstimmen finnen." + +#~ msgid "Search in progress..." +#~ msgstr "Söök löppt..." + +#~ msgid "Searching for %1" +#~ msgstr "Söök na \"%1\"" + +#~ msgid "Identity Settings" +#~ msgstr "Identiteet-Instellen" + +#~ msgid "Highlight Properties" +#~ msgstr "Markeren-Egenschappen" + +#~ msgid "Ink Properties" +#~ msgstr "Stift-Egenschappen" + +#~ msgctxt "Annotation tool" +#~ msgid "Text Annotation" +#~ msgstr "Textanmarken" + +#~ msgctxt "Annotation tool" +#~ msgid "Green Ink" +#~ msgstr "Gröön Stift" + +#~ msgctxt "Annotation tool" +#~ msgid "Yellow Highlight" +#~ msgstr "Geel Marker" + +#~ msgctxt "Annotation tool" +#~ msgid "Straight Yellow Line" +#~ msgstr "Liek geel Streek" + +#~ msgid "Black Underlining" +#~ msgstr "Swatt Ünnerstreek" + +#~ msgctxt "Annotation tool" +#~ msgid "Underline the text with a black line" +#~ msgstr "Text swatt ünnerstreken" + +#~ msgctxt "Annotation tool" +#~ msgid "A cyan ellipse" +#~ msgstr "En zyansch Ellips" + +#~ msgid "Ink" +#~ msgstr "Dint" + +#~ msgid "Reset Forms" +#~ msgstr "Formuloren torüchsetten" + +#~ msgid "latex failed." +#~ msgstr "LaTeX lett sik nich utföhren" + +#~ msgid "dvipng failed." +#~ msgstr "\"dvipng\" lett sik nich utföhren" + +#~ msgid "Moves to the first page of the document" +#~ msgstr "Na de eerste Siet vun dat Dokment gahn" + +#~ msgid "You must set this name:" +#~ msgstr "Du muttst dissen Naam fastleggen:" + +#~ msgid "Toggles between File Path and Title" +#~ msgstr "Wesselt twischen Dateipadd un Titel" + +#~ msgctxt "%1 is \"Title\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#~ msgctxt "%1 is \"File Path\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#~ msgctxt "@action:button" +#~ msgid "&Overwrite" +#~ msgstr "Ö&verschrieven" + +#~ msgid "Pages:" +#~ msgstr "Sieden:" + +#~ msgid "okular" +#~ msgstr "Okular" + +#~ msgid "&Properties..." +#~ msgstr "&Egenschappen..." + +#~ msgctxt "Annotation tool" +#~ msgid "Pink Ink" +#~ msgstr "Rosa Dint" + +#, fuzzy +#~| msgid "Highlight" +#~ msgid "Pink Highlighter" +#~ msgstr "Markeren" + +#~ msgid "Could not load the necessary plugin to view the document." +#~ msgstr "Nödig Moduul för de Dokmentansicht lett sik nich laden." diff --git a/po/nds/okular_comicbook.po b/po/nds/okular_comicbook.po new file mode 100644 index 0000000..3b1d3b7 --- /dev/null +++ b/po/nds/okular_comicbook.po @@ -0,0 +1,60 @@ +# Translation of okular_comicbook.po to Low Saxon +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Sönke Dibbern , 2008. +msgid "" +msgstr "" +"Project-Id-Version: okular_comicbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-11-12 02:47+0100\n" +"Last-Translator: Sönke Dibbern \n" +"Language-Team: Low Saxon \n" +"Language: nds\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Sönke Dibbern" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "s_dibbern@web.de" + +#: document.cpp:97 +#, fuzzy, kde-format +#| msgid "Cannot open document, unrar was not found." +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "Dokment lett sik nich opmaken, \"unrar\" lett sik nich finnen." + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "" +"Comicböker laat sik mit de Verschoon vun \"unrar\" op Dien Systeem nich " +"opmaken." + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "Nich begäng ComicBook-Formaat." + +#~ msgid "ComicBook Backend" +#~ msgstr "ComicBook-Hülpprogramm" + +#~ msgid "A renderer for various comic book formats" +#~ msgstr "En Wieser för en Reeg Comicbook-Formaten" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/nds/okular_djvu.po b/po/nds/okular_djvu.po new file mode 100644 index 0000000..1f88cd3 --- /dev/null +++ b/po/nds/okular_djvu.po @@ -0,0 +1,141 @@ +# translation of okular_djvu.po to Low Saxon +# Translation of okular_djvu.po to Low Saxon +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Sönke Dibbern , 2007, 2008. +# Manfred Wiese , 2007. +msgid "" +msgstr "" +"Project-Id-Version: okular_djvu\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-09-02 20:29+0200\n" +"Last-Translator: Sönke Dibbern \n" +"Language-Team: Low Saxon \n" +"Language: nds\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Sönke Dibbern, Manfred Wiese" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "s_dibbern@web.de, m.j.wiese@web.de" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "Bewerker" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "Rutgever" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "Sett" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "Dokment-Typ" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "Nich begäng" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "Komponent-Dateien" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "Nich begäng" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "Enkelsiet" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "Tosamenfaat" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "Indirekt" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "Tosamenfaat (oolt)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "Indizeert (oolt)" + +#~ msgid "DjVu Backend" +#~ msgstr "DjVu-Hülpprogramm" + +#~ msgid "DjVu backend based on DjVuLibre." +#~ msgstr "DjVu-Hülpprogramm, op DjVuLibre opbuut." + +#~ msgid "© 2006-2008 Pino Toscano" +#~ msgstr "© 2006-2008 Pino Toscano" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgctxt "Unknown title" +#~ msgid "Unknown" +#~ msgstr "Nich begäng" + +#~ msgctxt "Unknown author" +#~ msgid "Unknown" +#~ msgstr "Nich begäng" + +#~ msgctxt "Unknown editor" +#~ msgid "Unknown" +#~ msgstr "Nich begäng" + +#~ msgctxt "Unknown publisher" +#~ msgid "Unknown" +#~ msgstr "Nich begäng" + +#~ msgctxt "Unknown creation date" +#~ msgid "Unknown" +#~ msgstr "Nich begäng" + +#~ msgctxt "Unknown volume information" +#~ msgid "Unknown" +#~ msgstr "Nich begäng" + +#~ msgctxt "Unknown type of document" +#~ msgid "Unknown" +#~ msgstr "Nich begäng" + +#~ msgid "A DjVu backend" +#~ msgstr "En DjVu-Hülpprogramm" diff --git a/po/nds/okular_dvi.po b/po/nds/okular_dvi.po new file mode 100644 index 0000000..7fcbd25 --- /dev/null +++ b/po/nds/okular_dvi.po @@ -0,0 +1,820 @@ +# translation of okular_dvi.po to Low Saxon +# Translation of okular_dvi.po to Low Saxon +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Sönke Dibbern , 2007, 2008, 2009, 2014. +# Manfred Wiese , 2007, 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_dvi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2014-05-13 17:46+0200\n" +"Last-Translator: Sönke Dibbern \n" +"Language-Team: Low Saxon \n" +"Language: nds\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.4\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Manfred Wiese, Sönke Dibbern" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "m.j.wiese@web.de, s_dibbern@web.de" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

    Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

    Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

    " +msgstr "" +"

    Dat Programm dvipdfm lett sik op Dien Reekner nich finnen. " +"Dat Programm deit för't Exporteren noot. Du kannst de DVI-Dateien liekers " +"mit de Druckfunkschoon vun Okular na PDF ümwanneln, man dat stellt faken " +"Dokmenten op, de sik wull fien drucken laat, man wenn Een disse mit den " +"Acrobat-Reader ankiekt, hebbt se bloots leeg Gööd. Dat is wull beter, Du " +"frischst Dien TeX-Utgaav op en nieger Verschoon op, de dat Programm " +"dvipdfm bargt.

    Tipp för verbaast Systeemplegers: Okular " +"bruukt de Ümgevenvariabel „PATH“ bi de Programmsöök.

    " + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Dat externe Programm \"dvipdfm\", mit dat de Datei exporteert wöör, hett " +"en Fehler meldt. En utföhrlich Fehlerbericht lett sik in den " +"Dokmentinfo-Dialoog binnen dat Menü \"Datei\" finnen." + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" +"Disse DVI-Datei verwiest op extern Bilddateien, de nich in't PostScript-" +"Formaat sünd. Dat Programm dvips, dat Okular intern för't Drucken " +"oder Exporteren na PostScript bruukt, kann dor nich mit üm. De vun Di " +"bruukte Funkschoon is also in disse Verschoon vun Okular nich verföögbor." + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

    Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

    Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

    " +msgstr "" +"

    Dat Programm dvips lett sik op Dien Reekner nich finnen. Dat " +"Programm deit för't Exporteren noot.

    Tipp för verbaast Systeemplegers: " +"Okular bruukt de Ümgevenvariable „PATH“ bi de Programmsöök.

    " + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Dat externe Programm \"dvips\", mit dat de Datei exporteert wöör, hett " +"en Fehler meldt. En utföhrlich Fehlerbericht lett sik in den " +"Dokmentinfo-Dialoog binnen dat Menü \"Datei\" finnen." + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "De DVI-Datei hett en legen Kopp." + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" +"För dit Programm is de Verschoon vun de DVI-Utgaven binnen disse Datei leeg. " +"Henwies: Wenn Du dat Schriftsettsysteem \"Omega\" bruukst, muttst Du en " +"besünner Programm bruken, as a.B. \"oxdvi\"." + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "" +"De DVI-Datei is swoor schaadhaftig. Okular kunn den Dateifoot nich finnen." + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "De Dateifoot fangt nich mit den \"POST\"-Befehl an." + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "De Dateifoot bargt en anner Befehl as \"FNTDEF\"." + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "Siet %1 fangt nich mit den \"BOP\"-Befehl an." + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

    The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

    What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

    PATH: %2

    " +msgstr "" +"

    Dat externe Programm pdf2pslett sik nich opropen. As " +"Resultaat lett sik de PDF-Datei \"%1\" nich na PostScript ümwanneln. Ut " +"dissen Grund warrt en poor Bildelementen in Dien Dokment nich dorstellt.

    Mööglich Grünnen: Dat Programm pdf2ps is " +"villicht nich op Dien Reekner installeert oder lett sik nich över Dien PATH-" +"Variabel finnen.

    Wat Du doon kannst: Dat Programm " +"pdf2ps is normalerwies Deel vun de Utgaven vun't PostScript-" +"Interpretersysteem \"ghostscript\". Wenn \"ghostscript\" op Dien Systeem " +"nich installeert is, kunnst Du dat nu installeren. Büst Du seker, " +"\"ghostscript\" is installeert, versöök bitte, wat sik dat Programm " +"pdf2ps vun de Konsool utföhren lett, so dat Du pröven " +"kannst, wat dat redig löppt.

    PATH: %2

    " + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

    The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

    %2

    " +msgstr "" +"

    De PDF-Datei \"%1\" lett sik nich na PostScript ümwanneln. Ut dissen " +"Grund warrt en poor Bildelementen in Dien Dokment nich dorstellt.

    Mööglich Grünnen: De Datei \"%1\" is villicht schaadhaftig, oder " +"dat is gor keen PDF-Datei. Dit is de Utgaav vun't Programm pdf2ps, dat Okular bruukt hett:

    %2

    " + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "Schaadhaftig Datei. %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "Nich all PostScript-Dateien laat sik na Dien Datei inbetten. %1" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "All extern PostScript-Dateien wöörn na Dien Datei inbett." + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "De angeven Datei \"%1\" gifft dat nich." + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" +"Du hest Okular anwiest, binnen de DVI-Datei de Steed to finnen, de de Reeg " +"%1 binnen de TeX-Datei \"%2\" tohöört. Man as dat lett, bargt de DVI-Datei " +"de dor för nödigen Informatschonen nich. " + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" +"Okular kunn de Steed binnen de DVI-Datei, de de Reeg %1 binnen de TeX-Datei " +"\"%2\" tohöört, nich finnen." + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "De DVI-Kode hett en Teken mit en nich begäng Schriftoort bruukt." + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "" +"De DVI-Kode verwiest na Schriftoort Nr.%1, de vördem nich defineert wöör." + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "De Stapelspieker weer bi't Finnen vun den EOP-Befehl nich leddig." + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "De Stapelspieker weer bi't Finnen vun en POP-Befehl leddig." + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "De DVI-Kode verwiest na en Schriftoort, de vördem nich defineert wöör." + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "Leeg Befehl funnen." + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "De nich begäng Befehlkode \"%1\" wöör funnen." + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "An't Inbetten vun \"%1\"" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
    " +msgstr "" +"Siet %1: De PDF-Datei %2 lett sik nich na PostScript " +"ümwanneln.
    " + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
    " +msgstr "" +"Siet %1: De PostScript-Datei %2 lett sik nich finnen.
    " + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "De Papeergrött-Daten \"%1\" laat sik nich inlesen." + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

    Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

    PATH: %1

    %2

    " +msgstr "" +"

    Okular kunn nich all nödige Schriftoort-Dateien finnen, de för't " +"Dorstellen vun de aktuelle DVI-Datei noot doot. Dien Dokment lett sik " +"villicht nich lesen.

    PATH: %1

    %2

    " + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

    There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
    Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

    PATH: %1

    %2

    " +msgstr "" +"

    Dat geev Problemen bi't Utföhren vun kpsewhich. As Resultaat " +"laat sik en Reeg Schriftoortdateien nich finnen, Dien Dokment mag nich " +"leesbor wesen.
    Mööglich Grund: Dat Programm kpsewhich is " +"villicht op Dien Reekner nich installeert, oder dat lett sik nich över Dien " +"PATH-Variabel finnen.

    PATH: %1

    %2

    " + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" +"Dat Opstellen vun Schriftoorden vun kpsewhich wöör afbraken " +"(Utstieg-Kode: %1, Fehler: %2). As Resultaat laat sik en en poor Schriftoort-" +"Dateien nich finnen, Dien Dokment mag nich leesbor wesen." + +#: fontpool.cpp:482 +#, fuzzy, kde-format +#| msgid "Currently generating %1 at %2 dpi..." +msgid "Currently generating %1 at %2 dpi…" +msgstr "Opstunns bi to opstellen vun „%1“ mit %2 dpi ..." + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "Opsteller/Datum" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "Schriftoortdatei lett sik nich finnen" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "Hoochformaat" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "Dwarsformaat" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" +"De Verschoon vun Ghostview op Dien Reekner bargt keen vun de " +"Reedschapdrievers, de Okular kennt. Ut dissen Grund wöör Okular sien " +"Ünnerstütten för PostScript utmaakt." + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "Dat sünd 25 Fehlers. Mehr Fehlermellen warrt nich wiest." + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" +"Fehler binnen DVI-Datei \"%1\", Siet %2. Klörenhaalbefehl wöör bi leddig " +"Klören-Stapel utgeven." + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" +"Leeg Parameter in \"epsf\"-Sünnerbefehl.\n" +"Verwacht wöör en Fleetkommatall na %1 binnen %2" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"Datei lett sik nich finnen: \n" +" %1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" +"Fehler binnen DVI-Datei \"%1\", Siet %2. Winkel in Textdreihbefehl lett sik " +"nich düden." + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "De Sünnerbefehl \"%1\" is nich inbuut." + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" +"De Tekensettdatei \"%1\" lett sik opmaken un lesen, man ehr " +"Schriftoortformaat warrt nich ünnerstütt." + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "" +"De Schriftoortdatei \"%1\" is schaadhaftig oder lett sik nich opmaken oder " +"lesen." + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" +"FreeType hett en Fehler bi't Fastleggen vun de Tekengrött för " +"Schriftoortdatei \"%1\" meldt." + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "" +"FreeType kann dat Teken Nr.%1 ut de Schriftoortdatei \"%2\" nich laden." + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "" +"FreeType kann dat Teken Nr.%1 ut de Schriftoortdatei \"%2\" nich dorstellen." + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "Teken Nr.%1 is leddig." + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "Teken Nr.%1 ut de Schriftoortdatei \"%2\" is leddig." + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "" +"FreeType kann de Metrik för dat Teken Nr.%1 ut de Schriftoortdatei \"%2\" " +"nich laden." + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "Schriftoortdatei \"%1\" lett sik nich opmaken." + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "" +"TexFont_PK::operator[]: Teken %1 is nich binnen Schriftoort %2 defineert" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "Nich verwacht %1 in PK-Datei \"%2\"" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "Dat Teken %1 in Datei \"%2\" is to groot" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "Leeg Tall vun Bits sekert: Teken %1, Schriftoort %2" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "Leeg \"pk\"-Datei (%1), to vele Bits" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "Schriftoort-Proportschoon is nich quadraatsch" + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "Schrift \"%1\" ut Datei \"%2\" lett sik nich finnen." + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "Pröövsummfehler in Schriftoortdatei \"%1\"" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "Formaat vun Schriftoortdatei \"%1\" nich begäng" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"Swoor Fehler.\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" +"\n" +"\n" +"Dit bedüüdt wohrschienlich, dat Du en Fehler in Okular funnen hest,\n" +"oder dat de DVI-Datei oder Hülpdateien (as Schriftoortdateien oder\n" +"virtuell Schriftoortdateien) redig böös schaadhaftig sünd.\n" +"Okular warrt na disse Mellen afbreken. Wenn Du meenst, dat Du en\n" +"Fehler funnen hest, oder dat Okular sik in disse Situatschoon beter\n" +"bedregen kunn, stüer uns bitte en Fehlerbericht to." + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "Falsch Befehl-Byte in VF-Makrolist funnen: %1" + +#~ msgid "" +#~ "

    The Ghostview program, which Okular uses internally to display the " +#~ "PostScript graphics that is included in this DVI file, is generally able " +#~ "to write its output in a variety of formats. The sub-programs that " +#~ "Ghostview uses for these tasks are called 'device drivers'; there is one " +#~ "device driver for each format that Ghostview is able to write. Different " +#~ "versions of Ghostview often have different sets of device drivers " +#~ "available. It seems that the version of Ghostview that is installed on " +#~ "this computer does not contain any of the device drivers " +#~ "that are known to Okular.

    It seems unlikely that a regular " +#~ "installation of Ghostview would not contain these drivers. This error may " +#~ "therefore point to a serious misconfiguration of the Ghostview " +#~ "installation on your computer.

    If you want to fix the problems with " +#~ "Ghostview, you can use the command gs --help to display " +#~ "the list of device drivers contained in Ghostview. Among others, Okular " +#~ "can use the 'png256', 'jpeg' and 'pnm' drivers. Note that Okular needs to " +#~ "be restarted to re-enable PostScript support.

    " +#~ msgstr "" +#~ "

    Dat Programm \"Ghostview\", dat Okular intern för't Wiesen vun de " +#~ "binnen disse Datei angeven PostScript-Biller bruukt, kann sien Utgaav " +#~ "allgemeen in verscheden Formaten schrieven. De för disse Opgaven bruukten " +#~ "Ünnerprogrammen vun Ghostview warrt \"Reedschapdrievers\" nöömt. Dat " +#~ "gifft een Reedschapdriever för elk Formaat, dat Ghostview schrieven kann. " +#~ "Verscheden Verschonen vun Ghostview bargt faken verscheden Setten vun " +#~ "Reedschapdrievers. As't lett bargt de Verschoon vun Ghostview, de op " +#~ "dissen Reekner installeert is, keen vun de " +#~ "Reedschapdrievers, de Okular kennt.

    Dat is nich wohrschienlich, dat " +#~ "en normaal Installatschoon vun Ghostview keen vun disse Drievers bargt. " +#~ "Disse Fehler wiest op en böös Fehlinstellen vun Dien Ghostview-" +#~ "Installatschoon hen.

    Wenn Du de Problemen mit Ghostview lösen " +#~ "wullt, kannst Du Di mit den Befehl gs --help de List vun " +#~ "Ghostview sien Reedschapdrievers ankieken. Okular kann de Drievers " +#~ "\"png256\", \"jpeg\" un \"pnm\" bruken, man ok annere. Beacht, dat Du " +#~ "Okular nieg starten muttst, dormit de PostScript-Ünnerstütten wedder " +#~ "anmaakt warrt.

    " + +#~ msgid "DVI Backend" +#~ msgstr "DVI-Hülpprogramm" + +#~ msgid "A DVI file renderer" +#~ msgstr "En Wieser för DVI-Dateien" + +#~ msgid "© 2006 Luigi Toscano" +#~ msgstr "© 2006 Luigi Toscano" + +#~ msgid "" +#~ "

    Okular relies on the kpsewhich program to locate font files on " +#~ "your hard disk and to generate PK fonts, if necessary.

    " +#~ msgstr "" +#~ "

    Okular bruukt dat Programm kpsewhich för't Söken na " +#~ "Schriftoortdateien op Dien Fastplaat un för't Opstellen vun PK-" +#~ "Schriftoorden, wenn nödig.

    " + +#~ msgid "Okular is currently generating bitmap fonts..." +#~ msgstr "Okular stellt opstunns Bitmap-Schriftoorden op..." + +#~ msgid "Aborts the font generation. Do not do this." +#~ msgstr "Brickt dat Schriftoortopstellen af. Maak dat nich." + +#~ msgid "" +#~ "Okular is currently generating bitmap fonts which are needed to display " +#~ "your document. For this, Okular uses a number of external programs, such " +#~ "as MetaFont. You can find the output of these programs later in the " +#~ "document info dialog." +#~ msgstr "" +#~ "Okular stellt opstunns Bitmap-Schriftoorden op, de för't Dorstellen vun " +#~ "Dien Dokment nödig sünd. Dor bruukt Okular en Reeg vun extern Programmen " +#~ "för, a.B. \"MetaFont\". Du kannst disse Programmen ehr Utgaven later in " +#~ "den Dokmentinfo-Dialoog finnen." + +#~ msgid "Okular is generating fonts. Please wait." +#~ msgstr "Okular stellt Schriftoorden op. Tööv bitte." + +#~ msgid "Font Generation Progress Dialog" +#~ msgstr "Vörankamen-Dialoog för't Schriftoort-Opstellen" + +#~ msgid "Abort" +#~ msgstr "Afbreken" + +#~ msgid "What is happening here?" +#~ msgstr "Wat löppt hier?" + +#~ msgid "%v of %m" +#~ msgstr "%v vun %m" + +#~ msgid "Please be patient" +#~ msgstr "Bitte tööv en beten" + +#~ msgid "*.pdf|Portable Document Format (*.pdf)" +#~ msgstr "*.pdf|Porteerbor Dokmentformaat (*.pdf)" + +#~ msgid "Export File As" +#~ msgstr "Datei exporteren as" + +#~ msgid "" +#~ "The file %1\n" +#~ "exists. Do you want to overwrite it?" +#~ msgstr "" +#~ "De Datei \"%1\"\n" +#~ "gifft dat al. Wullt Du ehr överschrieven?" + +#~ msgid "Overwrite File" +#~ msgstr "Datei överschrieven" + +#~ msgid "Overwrite" +#~ msgstr "Överschrieven" + +#~ msgid "Using dvipdfm to export the file to PDF" +#~ msgstr "De Datei warrt mit \"dvipdfm\" na PDF exporteert" + +#~ msgid "" +#~ "Okular is currently using the external program 'dvipdfm' to convert your " +#~ "DVI-file to PDF. Sometimes that can take a while because dvipdfm needs to " +#~ "generate its own bitmap fonts Please be patient." +#~ msgstr "" +#~ "Okular bruukt opstunns dat externe Programm \"dvipdfm\" för't Ümwanneln " +#~ "vun Dien DVI-Datei na PDF. Mennigmaal kann dat en Wiel duern, wiel " +#~ "\"dvipdfm\" sien egen Bitmap-Schriftoorden opstellen mutt. Bitte tööv en " +#~ "beten." + +#~ msgid "Waiting for dvipdfm to finish..." +#~ msgstr "An't Töven, dat \"dvipdfm\" fardig warrt..." + +#~ msgid "*.ps|PostScript (*.ps)" +#~ msgstr "*.ps|PostScript (*.ps)" + +#~ msgid "Using dvips to export the file to PostScript" +#~ msgstr "De Datei warrt mit \"dvips\" na PostScript exporteert" + +#~ msgid "" +#~ "Okular is currently using the external program 'dvips' to convert your " +#~ "DVI-file to PostScript. Sometimes that can take a while because dvips " +#~ "needs to generate its own bitmap fonts Please be patient." +#~ msgstr "" +#~ "Okular bruukt opstunns dat externe Programm \"dvips\" för't Ümwanneln vun " +#~ "Dien DVI-Datei na PostScript. Mennigmaal kann dat en Wiel duern, wiel " +#~ "\"dvips\" sien egen Bitmap-Schriftoorden opstellen mutt. Bitte tööv en " +#~ "beten." + +#~ msgid "Waiting for dvips to finish..." +#~ msgstr "An't Töven, dat \"dvips\" fardig warrt..." + +#~ msgid "Functionality Unavailable" +#~ msgstr "Funkschoon nich verföögbor" + +#~ msgid "" +#~ "File corruption Okular could not interpret your DVI " +#~ "file. This is most commonly caused by a corrupted file." +#~ msgstr "" +#~ "Schaadhaftig Datei Okular hett Problemen bi't " +#~ "Afarbeiden vun Dien DVI-Datei. Dat bedüüdt normalerwies, de Datei is " +#~ "schaadhaftig." + +#~ msgid "DVI File Error" +#~ msgstr "DVI-Dateifehler" + +#~ msgid "Not All Font Files Found" +#~ msgstr "Nich all Schriftoorden funnen" + +#~ msgid "Locating fonts..." +#~ msgstr "Schriftoorden warrt söcht..." + +#~ msgid "" +#~ "

    There were problems running kpsewhich. As a result, some font " +#~ "files could not be located, and your document might be unreadable.

    Possible reason: The kpsewhich program is perhaps not " +#~ "installed on your system, or it cannot be found in the current search " +#~ "path.

    What you can do: The kpsewhich program is normally " +#~ "contained in distributions of the TeX typesetting system. If TeX is not " +#~ "installed on your system, you could install the TeX Live distribution " +#~ "(www.tug.org/texlive). If you are sure that TeX is installed, please try " +#~ "to use the kpsewhich program from the command line to check if it really " +#~ "works.

    " +#~ msgstr "" +#~ "

    Dat hett Problemen bi't Utföhren vun \"kpsewhich\" geven. As Resultaat " +#~ "leten sik en Reeg Schriftoortdateien nich finnen, un Dien Dokment is " +#~ "villicht nich leesbor.

    Mööglich Grünnen:Dat Programm " +#~ "\"kpsewhich\" is villicht op Dien Reekner nich installeert, oder lett sik " +#~ "nich över Dien PATH-Variable finnen.

    Wat Du doon kannst: Dat " +#~ "Programm \"kpsewhich\" is normalerwies Deel vun de Utgaven vun dat " +#~ "Schriftsettsysteem \"TeX\". Wenn TeX op Dien Systeem nich installeert is, " +#~ "kannst Du de Utgaav \"TeX Live\" installeren (www.tug.org/texlive). Wenn " +#~ "Du seker büst, dat TeX installeert is, versöök bitte, wat sik dat " +#~ "Programm \"kpsewhich\" vun de Befehlsreeg utföhren lett, so dat Du pröven " +#~ "kannst, wat dat redig löppt.

    " + +#~ msgid "Problem locating fonts" +#~ msgstr "Problem bi de Schriftoortsöök" + +#~ msgid "Font generation aborted" +#~ msgstr "Schriftoort-Opstellen afbraken" + +#~ msgid "Export: %1 to PDF" +#~ msgstr "Export: %1 na PDF" + +#~ msgid "Export: %1 to PostScript" +#~ msgstr "Export: %1 na PostScript" + +#~ msgid "The fontlist is currently empty." +#~ msgstr "De Schriftoordenlist is opstunns leddig." + +#~ msgid "TeX Name" +#~ msgstr "TeX-Naam" + +#~ msgid "Family" +#~ msgstr "Familie" + +#~ msgid "Zoom" +#~ msgstr "Ansichtgrött" + +#~ msgid "Type" +#~ msgstr "Typ" + +#~ msgid "Encoding" +#~ msgstr "Koderen" + +#~ msgid "Comment" +#~ msgstr "Kommentar" + +#~ msgid "TeX virtual" +#~ msgstr "TeX virtuell" + +#~ msgid "TeX Font Metric" +#~ msgstr "TeX Schriftoort-Metrik" + +#~ msgid "FreeType" +#~ msgstr "FreeType" + +#~ msgid "Could not allocate memory for a font structure" +#~ msgstr "De Spieker för en Schriftoort-Struktuur lett sik nich towiesen" + +#~ msgid "Not enough memory to load the DVI-file." +#~ msgstr "Nich noog Spieker för't Laden vun de DVI-Datei." + +#~ msgid "Could not load the DVI-file." +#~ msgstr "DVI-Datei lett sik nich laden." + +#~ msgid "Checksum mismatch" +#~ msgstr "Pröövsummfehler" + +#~ msgid " in font file " +#~ msgstr " in Schriftoortdatei " + +#~ msgid "Could not allocate memory for a macro table." +#~ msgstr "De Spieker för en Makrotabell lett sik nich towiesen." + +#~ msgid "Virtual character " +#~ msgstr "Virtuell Teken " + +#~ msgid " in font " +#~ msgstr " in Schriftoort " + +#~ msgid " ignored." +#~ msgstr "övergahn." + +#~ msgid "Fatal Error" +#~ msgstr "Swoor Fehler" diff --git a/po/nds/okular_epub.po b/po/nds/okular_epub.po new file mode 100644 index 0000000..20d0dac --- /dev/null +++ b/po/nds/okular_epub.po @@ -0,0 +1,56 @@ +# Translation of okular_epub.po to Low Saxon +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Sönke Dibbern , 2008, 2014. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_epub\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2014-02-23 19:40+0100\n" +"Last-Translator: Sönke Dibbern \n" +"Language-Team: Low Saxon \n" +"Language: nds\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.4\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Sönke Dibbern" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "s_dibbern@web.de" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "Fehler bi't Opmaken vun't EPub-Dokment" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "EPub" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "EPub-Hülpprogramminstellen" + +#~ msgid "EPub Backend" +#~ msgstr "EPub-Hülpprogramm" + +#~ msgid "An EPub backend" +#~ msgstr "En Hülpprogramm för EPub" + +#~ msgid "© 2008 Ely Levy" +#~ msgstr "© 2008 Ely Levy" + +#~ msgid "Ely Levy" +#~ msgstr "Ely Levy" diff --git a/po/nds/okular_fax.po b/po/nds/okular_fax.po new file mode 100644 index 0000000..0a69ad7 --- /dev/null +++ b/po/nds/okular_fax.po @@ -0,0 +1,47 @@ +# Translation of okular_fax.po to Low Saxon +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Sönke Dibbern , 2008. +# Manfred Wiese , 2008. +msgid "" +msgstr "" +"Project-Id-Version: okular_fax\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-11-21 07:26+0100\n" +"Last-Translator: Manfred Wiese \n" +"Language-Team: Low Saxon \n" +"Language: nds\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.3\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Sönke Dibbern" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "s_dibbern@web.de" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "Dokment lett sik nich laden" + +#~ msgid "Fax Backend" +#~ msgstr "Fax-Hülpprogramm" + +#~ msgid "A G3/G4 fax document backend" +#~ msgstr "En G3-/G4-Faxdokment-Hülpprogramm" + +#~ msgid "© 2008 Tobias Koenig" +#~ msgstr "© 2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/nds/okular_fictionbook.po b/po/nds/okular_fictionbook.po new file mode 100644 index 0000000..83808e4 --- /dev/null +++ b/po/nds/okular_fictionbook.po @@ -0,0 +1,97 @@ +# translation of okular_fictionbook.po to Low Saxon +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Sönke Dibbern , 2007, 2008, 2014. +# Manfred Wiese , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_fictionbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2014-02-23 19:43+0100\n" +"Last-Translator: Sönke Dibbern \n" +"Language-Team: Low Saxon \n" +"Language: nds\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.4\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Manfred Wiese" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "m.j.wiese@web.de" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "Dokment gellt nich as FictionBook" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "Dokment \"%1\" lett sik nich opmaken" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "Dokment gellt nich as ZIP-Archiv" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "Leeg Dokmentstrukruur (Hööftorner fehlt)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "Dat Dokment bargt keen Inholt" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "Leeg XML-Dokment: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "Fiction-Book" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "Fiction-Book-Hülpprogramminstellen" + +#~ msgid "Fiction Book Backend" +#~ msgstr "Fiction-Book-Hülpprogramm" + +#~ msgid "A renderer for FictionBook eBooks" +#~ msgstr "En Wieser för FictionBook-eBöker" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" + +#~ msgid "Creator" +#~ msgstr "Opsteller" + +#~ msgid "Title" +#~ msgstr "Titel" + +#~ msgid "Author" +#~ msgstr "Autor" + +#~ msgid "Producer" +#~ msgstr "Maker" + +#~ msgid "Created" +#~ msgstr "Opstellt" diff --git a/po/nds/okular_ghostview.po b/po/nds/okular_ghostview.po new file mode 100644 index 0000000..9311dbf --- /dev/null +++ b/po/nds/okular_ghostview.po @@ -0,0 +1,106 @@ +# translation of okular_ghostview.po to Low Saxon +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Sönke Dibbern , 2007, 2008, 2009. +# Manfred Wiese , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_ghostview\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-05-18 23:28+0200\n" +"Last-Translator: Sönke Dibbern \n" +"Language-Team: Low Saxon \n" +"Language: nds\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.3\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Manfred Wiese" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "m.j.wiese@web.de" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "Systeemschriftoorden bruken" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"Leggt fast, wat Ghostscript de Systeemschriftoorden bruken dörv. Wenn nich, " +"bruukt dat bloots Schriftoorden, de na't Dokment inbett sünd." + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "Allgemeen Instellen" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "Systeemschriftoorden &bruken" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Ghostscript-Hülpprogramm instellen" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "Dokment-Verschoon" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "Spraakstoop" + +#~ msgid "PS Backend" +#~ msgstr "PS-Hülpprogramm" + +#~ msgid "A PostScript file renderer." +#~ msgstr "En Wieser för PostScript-Dateien" + +#~ msgid "© 2007-2008 Albert Astals Cid" +#~ msgstr "© 2007-2008 Albert Astals Cid" + +#~ msgid "Based on the Spectre library." +#~ msgstr "Opbuut op de Bibliotheek \"Spectre\"." + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "" +#~ "Anti-aliasing makes the result look better, but it makes the display take " +#~ "longer" +#~ msgstr "" +#~ "Mit Kantstreken süht dat Resultaat beter ut, man dat Dorstellen duert ok " +#~ "wat länger" + +#~ msgid "&Enable anti-aliasing of fonts" +#~ msgstr "Kantstreken för Schriftoorden &bruken" + +#~ msgid "&Enable anti-aliasing of graphics" +#~ msgstr "Kantstreken för Biller &bruken" diff --git a/po/nds/okular_kimgio.po b/po/nds/okular_kimgio.po new file mode 100644 index 0000000..646e2fa --- /dev/null +++ b/po/nds/okular_kimgio.po @@ -0,0 +1,70 @@ +# translation of okular_kimgio.po to Low Saxon +# Translation of okular_kimgio.po to Low Saxon +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Sönke Dibbern , 2007. +# Manfred Wiese , 2007, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_kimgio\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-01-25 06:53+0100\n" +"Last-Translator: Manfred Wiese \n" +"Language-Team: Low Saxon \n" +"Language: nds\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Sönke Dibbern, Manfred Wiese" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "s_dibbern@web.de, m.j.wiese@web.de" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "Dokment \"%1\" lett sik nich laden" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" + +#~ msgid "Image Backend" +#~ msgstr "Biller-Hülpprogramm" + +#~ msgid "A simple image backend" +#~ msgstr "En eenfach Biller-Hülpprogramm" + +#~ msgid "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" +#~ msgstr "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" + +#~ msgid "Main Toolbar" +#~ msgstr "Hööft-Warktüüchbalken" diff --git a/po/nds/okular_mobi.po b/po/nds/okular_mobi.po new file mode 100644 index 0000000..c95912e --- /dev/null +++ b/po/nds/okular_mobi.po @@ -0,0 +1,63 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Sönke Dibbern , 2008, 2014. +# Manfred Wiese , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_mobi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2014-02-23 19:44+0100\n" +"Last-Translator: Sönke Dibbern \n" +"Language-Team: Low Saxon \n" +"Language: nds\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.4\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Sönke Dibbern, Manfred Wiese" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "s_dibbern@web.de, m.j.wiese@web.de" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Fehler bi't Opmaken vun't Mobipocket-Dokment" + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "" +"Dit Book is vun DVP schuult un lett sik bloots op de tohören Reedschap wiesen" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "Mobipocket" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "Mobipocket-Hülpprogramminstellen" + +#~ msgid "Mobipocket Backend" +#~ msgstr "Mobipocket-Hülpprogramm" + +#~ msgid "A mobipocket backend" +#~ msgstr "En Mobipocket-Hülpprogramm" + +#~ msgid "© 2008-2009 Jakub Stachowski" +#~ msgstr "© 2008-2009 Jakub Stachowski" + +#~ msgid "Jakub Stachowski" +#~ msgstr "Jakub Stachowski" diff --git a/po/nds/okular_poppler.po b/po/nds/okular_poppler.po new file mode 100644 index 0000000..d14d110 --- /dev/null +++ b/po/nds/okular_poppler.po @@ -0,0 +1,408 @@ +# translation of okular_poppler.po to Low Saxon +# Translation of okular_poppler.po to Low Saxon +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Sönke Dibbern , 2007, 2008, 2014. +# Manfred Wiese , 2007, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_poppler\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2014-02-23 19:51+0100\n" +"Last-Translator: Sönke Dibbern \n" +"Language-Team: Low Saxon \n" +"Language: nds\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.4\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Manfred Wiese, Sönke Dibbern" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "m.j.wiese@web.de, s_dibbern@web.de" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "Dünn Lienen verbetern" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "Nee" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "Utfüllt" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "Form" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "PDF-Optschonen" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "Anmarken drucken" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "Anmarken na't druckte Dokment infögen" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"Föögt de Anmarken na't druckte Dokment in. Du kannst dat utmaken un dat " +"Orginaaldokment ahn Anmarken drucken." + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "Rastern verdwingen" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "Ehr't Drucken dat Dokment as Bild rastern" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"Elk Siet warrt as Bild rastert, ehr se druckt warrt. Normalerwies is de Gööd " +"vun't Resultaat denn wat leger, man wenn sik dat Dokment anners nich ahn " +"Fehlers drucken lett, is dat liekers klook." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF V. %1.%2" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "Formaat" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "Verslötelt" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "Ahn Verslöteln" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "Sekerheit" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "Jo" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "Optimeert" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "PDF-Hülpprogramminstellen" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "" + +#: pdfsignatureutils.cpp:239 +#, fuzzy, kde-format +#| msgid "Document Password" +msgid "Enter Password" +msgstr "Dokment-Passwoort" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "" + +#~ msgid "PDF Backend" +#~ msgstr "PDF-Hülpprogramm" + +#~ msgid "A PDF file renderer" +#~ msgstr "En Wieser för PDF-Dateien" + +#~ msgid "© 2005-2008 Albert Astals Cid" +#~ msgstr "© 2005-2008 Albert Astals Cid" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Saving files with /Encrypt is not supported." +#~ msgstr "Sekern vun Dateien mit \"/Encrypt\" warrt nich ünnerstütt." + +#~ msgid "Unknown" +#~ msgstr "Nich begäng" + +#~ msgid "Unknown Date" +#~ msgstr "Datum nich begäng" + +#~ msgid "Unknown Encryption" +#~ msgstr "Verslöteln nich begäng" + +#~ msgid "Unknown Optimization" +#~ msgstr "Optimeren nich begäng" + +#~ msgid "Please enter the password to read the document:" +#~ msgstr "Giff bitte dat Passwoort in, wenn Du dat Dokment lesen wullt:" + +#~ msgid "Incorrect password. Try again:" +#~ msgstr "Leeg Passwoort. Versöök dat nochmaal:" diff --git a/po/nds/okular_txt.po b/po/nds/okular_txt.po new file mode 100644 index 0000000..eaa31c4 --- /dev/null +++ b/po/nds/okular_txt.po @@ -0,0 +1,50 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Sönke Dibbern , 2014. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2014-02-24 23:50+0100\n" +"Last-Translator: Sönke Dibbern \n" +"Language-Team: Low Saxon \n" +"Language: nds\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 1.5\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Sönke Dibbern" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "s_dibbern@web.de" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "TXT" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "TXT-Hülpprogramminstellen" + +#~ msgid "Txt Backend" +#~ msgstr "TXT-Hülpprogramm" + +#~ msgid "Txt backend." +#~ msgstr "TXT-Hülpprogramm." + +#~ msgid "© 2013 Azat Khuzhin" +#~ msgstr "© 2013 Azat Khuzhin" + +#~ msgid "Azat Khuzhin" +#~ msgstr "Azat Khuzhin" diff --git a/po/nds/okular_xps.po b/po/nds/okular_xps.po new file mode 100644 index 0000000..01160ed --- /dev/null +++ b/po/nds/okular_xps.po @@ -0,0 +1,60 @@ +# translation of okular_xps.po to Low Saxon +# Translation of okular_xps.po to Low Saxon +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Sönke Dibbern , 2007, 2008. +# Manfred Wiese , 2007. +msgid "" +msgstr "" +"Project-Id-Version: okular_xps\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-08-06 21:50+0200\n" +"Last-Translator: Sönke Dibbern \n" +"Language-Team: Low Saxon \n" +"Language: nds\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Sönke Dibbern, Manfred Wiese" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "s_dibbern@web.de, m.j.wiese@web.de" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "Revischoon" + +#~ msgid "XPS Backend" +#~ msgstr "XPS-Hülpprogramm" + +#~ msgid "An XPS backend" +#~ msgstr "En XPS-Hülpprogramm" + +#~ msgid "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" +#~ msgstr "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" + +#~ msgid "Brad Hards" +#~ msgstr "Brad Hards" + +#~ msgid "Jiri Klement" +#~ msgstr "Jiri Klement" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" diff --git a/po/nds/org.kde.active.documentviewer.po b/po/nds/org.kde.active.documentviewer.po new file mode 100644 index 0000000..79a65e9 --- /dev/null +++ b/po/nds/org.kde.active.documentviewer.po @@ -0,0 +1,222 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Sönke Dibbern , 2014. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2014-02-24 23:52+0100\n" +"Last-Translator: Sönke Dibbern \n" +"Language-Team: Low Saxon \n" +"Language: nds\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 1.5\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "Leestekens" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +msgid "Export…" +msgstr "" + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "" + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "" + +#: ui/Main.qml:49 +msgid "About" +msgstr "" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "" + +#: ui/MainView.qml:29 +#, fuzzy +#| msgid "Bookmarks" +msgid "Bookmark this page" +msgstr "Leestekens" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "Vöransichten" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "Inholtverteken" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:96 +msgid "Document Version" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:108 +msgid "Save Signed Version…" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +msgid "View Certificate…" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "" + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "Nix funnen." + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "" + +#: ui/WelcomeView.qml:108 +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "" + +#~ msgid "Document viewer for Plasma Active using Okular" +#~ msgstr "Dokmentkieker för Plasma-Aktiev, de Okular bruukt" + +#~ msgid "Reader" +#~ msgstr "Leser" + +#~ msgid "Copyright 2012 Marco Martin" +#~ msgstr "Copyright 2012 Marco Martin" + +#~ msgid "Marco Martin" +#~ msgstr "Marco Martin" + +#~ msgid "URL of the file to open" +#~ msgstr "URL vun de Datei, de Du opmaken wullt" diff --git a/po/ne/okular.po b/po/ne/okular.po new file mode 100644 index 0000000..b75c888 --- /dev/null +++ b/po/ne/okular.po @@ -0,0 +1,6607 @@ +# translation of okular.po to Nepali +# shyam krishna ball , 2006. +# Nabin Gautam , 2007. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2007-08-20 12:25+0545\n" +"Last-Translator: Nabin Gautam \n" +"Language-Team: Nepali \n" +"Language: ne\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n !=1\n" +"\n" +"X-Generator: KBabel 1.11.4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "श्यामकृष्ण बल" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "shyamkrishna_bal@yahoo.com" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "" + +#: aboutdata.h:31 +#, fuzzy, kde-format +#| msgid "Current mantainer" +msgid "Former maintainer" +msgstr "हालको सम्भारकर्ता" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "" + +#: aboutdata.h:36 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgid "Annotations artwork" +msgstr "%1 गुण" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "" + +#: aboutdata.h:37 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "Table selection tool" +msgstr "उपकरण चयन गर्नुहोस्" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "" + +#: aboutdata.h:38 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgid "Annotation improvements" +msgstr "%1 गुण" + +#: core/action.cpp:137 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go to page %1" +msgstr "पृष्ठमा जानुहोस्" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "" + +#: core/action.cpp:197 +#, kde-format +msgid "Execute '%1'…" +msgstr "" + +#: core/action.cpp:294 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgid "First Page" +msgstr "पृष्ठ ठीक पार्नुहोस्" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, fuzzy, kde-format +msgid "Next Page" +msgstr "पृष्ठ ठीक पार्नुहोस्" + +#: core/action.cpp:300 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgid "Last Page" +msgstr "पृष्ठ ठीक पार्नुहोस्" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "" + +#: core/action.cpp:304 +#, fuzzy, kde-format +#| msgid "Format" +msgid "Forward" +msgstr "ढाँचा" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "" + +#: core/action.cpp:308 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Start Presentation" +msgstr "प्रस्तुतिकरण" + +#: core/action.cpp:310 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "End Presentation" +msgstr "प्रस्तुतिकरण" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go To Page…" +msgstr "पृष्ठमा जानुहोस्" + +#: core/action.cpp:365 +#, kde-format +msgid "Play sound…" +msgstr "" + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "" + +#: core/action.cpp:483 +#, fuzzy, kde-format +#| msgid "Pages:" +msgid "Play movie…" +msgstr "पृष्ठहरू:" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "" + +#: core/action.cpp:558 +#, fuzzy, kde-format +#| msgid "Pages:" +msgid "Pause movie" +msgstr "पृष्ठहरू:" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
    %1 (%2).

    Please select which one to use:
    " +msgstr "" + +#: core/document.cpp:200 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "पृष्ठमा जानुहोस्" + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "" + +#: core/document.cpp:246 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "" + +#: core/document.cpp:248 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "" + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "प्रस्तुतिकरण" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, fuzzy, kde-format +#| msgid "" +#| "The pdf file is trying to execute an external application and for your " +#| "safety kpdf does not allow that." +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"पीडीएफ फाइल एउटा बाह्य अनुप्रयोग कार्यन्वयन गर्न प्रयास गरिरहेको छ र तपाईँको सुरक्षाका " +"लागि केपीडीएफ ले त्यो अनुमति दिदैन ।" + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "%1 माइमप्रकारको खुला फाइलका लागि कुनै अनुप्रयोग फेला परेन ।" + +#: core/document.cpp:4801 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not open a temporary file" +msgstr "%1 खोल्न सकेन" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "" + +#: core/document.cpp:4813 +#, fuzzy, kde-format +#| msgid "Unable to find kpdf part." +msgid "Unable to find file to print" +msgstr "केपीडीएफ भाग फेला पार्न अक्षम भयो ।" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "" + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "शीर्षक" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "विषय" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "" + +#: core/document.cpp:6011 +#, fuzzy, kde-format +#| msgid "Author" +msgid "Author" +msgstr "लेखक" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "सर्जक" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "निर्माता" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "" + +#: core/document.cpp:6023 +#, fuzzy, kde-format +#| msgid "Pages:" +msgid "Pages" +msgstr "पृष्ठहरू:" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "सिर्जित" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "परिमार्जित" + +#: core/document.cpp:6032 +#, fuzzy, kde-format +#| msgid "Type" +msgid "MIME Type" +msgstr "प्रकार" + +#: core/document.cpp:6035 +#, fuzzy, kde-format +#| msgid "Creator" +msgid "Category" +msgstr "सर्जक" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "शब्दकुञ्जी" + +#: core/document.cpp:6041 +#, fuzzy, kde-format +msgid "File Path" +msgstr "शीर्षक" + +#: core/document.cpp:6044 +#, fuzzy, kde-format +#| msgid "Pages" +msgid "File Size" +msgstr "पृष्ठहरू" + +#: core/document.cpp:6047 +#, fuzzy, kde-format +#| msgid "Pages" +msgid "Page Size" +msgstr "पृष्ठहरू" + +#: core/documentcommands.cpp:62 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "प्रस्तुतिकरण" + +#: core/documentcommands.cpp:108 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "प्रस्तुतिकरण" + +#: core/documentcommands.cpp:155 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "%1 गुण" + +#: core/documentcommands.cpp:190 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "प्रस्तुतिकरण" + +#: core/documentcommands.cpp:263 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "प्रस्तुतिकरण" + +#: core/documentcommands.cpp:333 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "उपकरण चयन गर्नुहोस्" + +#: core/documentcommands.cpp:398 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "%1 गुण" + +#: core/documentcommands.cpp:447 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "%1 गुण" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "" + +#: core/generator.cpp:790 +#, fuzzy, kde-format +#| msgid "Fit to &Text" +msgid "Plain &Text…" +msgstr "पाठमा मिलाउनुहोस्" + +#: core/generator.cpp:793 +#, fuzzy, kde-format +#| msgid "KPDF" +msgid "PDF" +msgstr "केपीडीएफ" + +#: core/generator.cpp:797 +#, fuzzy, kde-format +#| msgid "Current mantainer" +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "हालको सम्भारकर्ता" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "" + +#: core/printoptionswidget.cpp:19 +#, fuzzy, kde-format +#| msgid "Filter Options" +msgid "Print Options" +msgstr "फिल्टर विकल्प" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "" + +#: core/signatureutils.cpp:504 +#, fuzzy, kde-kuit-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "फाइल '%1' मा बचत हुन सकिने छैन । यसलाई अर्को स्थानमा बचत गर्ने प्रयास गर्नुहोस् ।" + +#: core/signatureutils.cpp:506 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown signing error" +msgstr "अज्ञात फाइल" + +#: core/sourcereference.cpp:103 +#, fuzzy, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "शीर्षक" + +#: core/textdocumentsettings.cpp:34 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgid "&Default Font:" +msgstr "पूर्वानिर्धारित परिवर्तन:" + +#: gui/certificatemodel.cpp:39 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Version" +msgstr "खोल्नका लागि कागजात" + +#: gui/certificatemodel.cpp:41 +#, fuzzy, kde-format +#| msgid "Pages" +msgid "Serial Number" +msgstr "पृष्ठहरू" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "" + +#: gui/certificatemodel.cpp:49 +#, fuzzy, kde-format +#| msgid "Subject" +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "विषय" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "" + +#: gui/certificatemodel.cpp:53 +#, fuzzy, kde-format +#| msgid "Memory Usage" +msgid "Key Usage" +msgstr "स्मृति प्रयोग" + +#: gui/certificatemodel.cpp:72 +#, fuzzy, kde-format +#| msgid "%1:" +msgid "V%1" +msgstr "%1:" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "" + +#: gui/certificatemodel.cpp:146 +#, fuzzy, kde-format +#| msgid "&Properties" +msgid "Property" +msgstr "गुण" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, fuzzy, kde-format +#| msgid "Overwrite" +msgid "Typewriter" +msgstr "अधिलेखन गर्नुहोस्" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +msgid "Arrow with Comment" +msgstr "गुण" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "" + +#: gui/guiutils.cpp:59 +#, fuzzy, kde-format +msgid "Straight Line with Comment" +msgstr "गुण" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "" + +#: gui/guiutils.cpp:63 +#, fuzzy, kde-format +msgid "Polygon with Comment" +msgstr "गुण" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "Rectangle with Comment" +msgstr "उपकरण चयन गर्नुहोस्" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "Ellipse with Comment" +msgstr "उपकरण चयन गर्नुहोस्" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "" + +#: gui/guiutils.cpp:83 +#, fuzzy, kde-format +msgid "Highlight with Comment" +msgstr "गुण" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "" + +#: gui/guiutils.cpp:87 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "Squiggle with Comment" +msgstr "उपकरण चयन गर्नुहोस्" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "" + +#: gui/guiutils.cpp:91 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "Underline with Comment" +msgstr "उपकरण चयन गर्नुहोस्" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "" + +#: gui/guiutils.cpp:95 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "Strike Out with Comment" +msgstr "उपकरण चयन गर्नुहोस्" + +#: gui/guiutils.cpp:95 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "Strike Out" +msgstr "उपकरण चयन गर्नुहोस्" + +#: gui/guiutils.cpp:102 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "Stamp with Comment" +msgstr "उपकरण चयन गर्नुहोस्" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "" + +#: gui/guiutils.cpp:106 +#, fuzzy, kde-format +msgid "Freehand Line with Comment" +msgstr "गुण" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "" + +#: gui/guiutils.cpp:110 +#, fuzzy, kde-format +#| msgid "Creator" +msgid "Caret" +msgstr "सर्जक" + +#: gui/guiutils.cpp:114 +#, fuzzy, kde-format +msgid "File Attachment" +msgstr "गुण" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "" + +#: gui/guiutils.cpp:122 +#, fuzzy, kde-format +#| msgid "Modified" +msgid "Movie" +msgstr "परिमार्जित" + +#: gui/guiutils.cpp:126 +#, fuzzy, kde-format +#| msgid "Created" +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "सिर्जित" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Annotation" +msgstr "प्रस्तुतिकरण" + +#: gui/guiutils.cpp:168 +#, fuzzy, kde-format +#| msgid "Unknown" +msgctxt "Unknown author" +msgid "Unknown" +msgstr "अज्ञात" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "लेखक: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "" + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "" + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "" + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "" + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "" + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "" + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "" + +#: gui/signatureguiutils.cpp:60 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Certificate is Trusted." +msgstr "केपीडीएफ कन्फिगर गर्नुहोस्..." + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "" + +#: gui/signatureguiutils.cpp:64 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Certificate issuer is unknown." +msgstr "केपीडीएफ कन्फिगर गर्नुहोस्..." + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "" + +#: gui/signatureguiutils.cpp:68 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Certificate has Expired." +msgstr "केपीडीएफ कन्फिगर गर्नुहोस्..." + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "" + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "" + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "" + +#: gui/signatureguiutils.cpp:96 +#, fuzzy, kde-format +#| msgid "Unknown" +msgid "Unknown Algorithm" +msgstr "अज्ञात" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown Type" +msgstr "अज्ञात फाइल" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "" + +#: gui/signatureguiutils.cpp:135 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Sign Certificate" +msgstr "केपीडीएफ कन्फिगर गर्नुहोस्..." + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr "" + +#: gui/signatureguiutils.cpp:165 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "The document has not been modified since it was signed." +msgstr "यो कागजातको मुद्रण अनुमति दिएको छैन ।" + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "" + +#: gui/signatureguiutils.cpp:208 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "यो कागजातको मुद्रण अनुमति दिएको छैन ।" + +#: gui/signatureguiutils.cpp:211 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "This document is digitally signed." +msgstr "यो कागजातको मुद्रण अनुमति दिएको छैन ।" + +#: gui/signatureguiutils.cpp:213 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "यो कागजातको मुद्रण अनुमति दिएको छैन ।" + +#: gui/signatureguiutils.cpp:216 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "यो कागजातको मुद्रण अनुमति दिएको छैन ।" + +#: gui/signaturemodel.cpp:141 +#, fuzzy, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "गुण" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "" + +#: gui/signaturemodel.cpp:172 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgid "Reason: %1" +msgstr "पृष्ठ: %1" + +#: gui/signaturemodel.cpp:177 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Location: %1" +msgstr "प्रस्तुतिकरण" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "" + +#: gui/signaturemodel.cpp:193 +#, fuzzy, kde-format +#| msgid "Unknown" +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "अज्ञात" + +#: gui/signaturemodel.cpp:195 +#, fuzzy, kde-format +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "गुण" + +#: gui/signaturemodel.cpp:201 +#, fuzzy, kde-format +msgid "Signature Type: %1" +msgstr "गुण" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "" + +#: part/annotationactionhandler.cpp:151 +#, fuzzy, kde-format +#| msgid "Created" +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "सिर्जित" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "चौडाइ ठीक गर्नुहोस्" + +#: part/annotationactionhandler.cpp:252 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1:" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:308 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "%1 गुण" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "" + +#: part/annotationactionhandler.cpp:314 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "प्रस्तुतिकरण" + +#: part/annotationactionhandler.cpp:316 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "प्रस्तुतिकरण" + +#: part/annotationactionhandler.cpp:318 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "प्रस्तुतिकरण" + +#: part/annotationactionhandler.cpp:322 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "प्रस्तुतिकरण" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "" + +#: part/annotationactionhandler.cpp:328 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "प्रस्तुतिकरण" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" + +#: part/annotationactionhandler.cpp:341 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "%1 गुण" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "" + +#: part/annotationactionhandler.cpp:434 +#, fuzzy, kde-format +#| msgid "Paper color:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "कागज रङ:" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "" + +#: part/annotationactionhandler.cpp:499 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgctxt "@title:window" +msgid "Select color" +msgstr "उपकरण चयन गर्नुहोस्" + +#: part/annotationactionhandler.cpp:552 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "&Annotations" +msgstr "प्रस्तुतिकरण" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "" + +#: part/annotationactionhandler.cpp:554 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "प्रस्तुतिकरण" + +#: part/annotationactionhandler.cpp:557 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "गुण" + +#: part/annotationactionhandler.cpp:558 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "उपकरण चयन गर्नुहोस्" + +#: part/annotationactionhandler.cpp:559 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "उपकरण चयन गर्नुहोस्" + +#: part/annotationactionhandler.cpp:560 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "उपकरण चयन गर्नुहोस्" + +#: part/annotationactionhandler.cpp:562 +#, fuzzy, kde-format +#| msgid "Overwrite" +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "अधिलेखन गर्नुहोस्" + +#: part/annotationactionhandler.cpp:563 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "गुण" + +#: part/annotationactionhandler.cpp:564 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "गुण" + +#: part/annotationactionhandler.cpp:565 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "गुण" + +#: part/annotationactionhandler.cpp:567 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "गुण" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "" + +#: part/annotationactionhandler.cpp:569 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "गुण" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "" + +#: part/annotationactionhandler.cpp:638 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "प्रस्तुतिकरण" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "" + +#: part/annotationactionhandler.cpp:651 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Quick Annotation Bar" +msgstr "प्रस्तुतिकरण" + +#: part/annotationactionhandler.cpp:665 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "प्रस्तुतिकरण" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "" + +#: part/annotationactionhandler.cpp:669 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "प्रस्तुतिकरण" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "" + +#: part/annotationactionhandler.cpp:681 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "%1 गुण" + +#: part/annotationactionhandler.cpp:684 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "चौडाइ ठीक गर्नुहोस्" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "" + +#: part/annotationactionhandler.cpp:696 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1:" + +#: part/annotationmodel.cpp:320 +#, fuzzy, kde-format +#| msgid "Page %1" +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "पृष्ठ %1" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "पृष्ठ %1" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "प्रस्तुतिकरण" +msgstr[1] "प्रस्तुतिकरण" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "पुस्तकचिनो हटाउनुहोस्" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "पुस्तकचिनो थप्नुहोस्" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Text to Clipboard" +msgstr "क्लिपबोर्डमा प्रतिलिपि बनाउनुहोस्" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "गुण" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "फाइलमा बचत गर्नुहोस्..." + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:59 +#, fuzzy, kde-format +#| msgid "General" +msgid "&General" +msgstr "साधारण" + +#: part/annotationpropertiesdialog.cpp:64 +#, fuzzy, kde-format +#| msgid "Author" +msgid "&Author:" +msgstr "लेखक" + +#: part/annotationpropertiesdialog.cpp:69 +#, fuzzy, kde-format +#| msgid "Created" +msgid "Created:" +msgstr "सिर्जित" + +#: part/annotationpropertiesdialog.cpp:74 +#, fuzzy, kde-format +#| msgid "Modified" +msgid "Modified:" +msgstr "परिमार्जित" + +#: part/annotationpropertiesdialog.cpp:108 +#, fuzzy, kde-format +msgid "Pop-up Note Properties" +msgstr "गुण" + +#: part/annotationpropertiesdialog.cpp:111 +#, fuzzy, kde-format +msgid "Typewriter Properties" +msgstr "गुण" + +#: part/annotationpropertiesdialog.cpp:113 +#, fuzzy, kde-format +msgid "Inline Note Properties" +msgstr "गुण" + +#: part/annotationpropertiesdialog.cpp:119 +#, fuzzy, kde-format +msgid "Straight Line Properties" +msgstr "गुण" + +#: part/annotationpropertiesdialog.cpp:121 +#, fuzzy, kde-format +msgid "Polygon Properties" +msgstr "गुण" + +#: part/annotationpropertiesdialog.cpp:125 +#, fuzzy, kde-format +msgid "Geometry Properties" +msgstr "गुण" + +#: part/annotationpropertiesdialog.cpp:128 +#, fuzzy, kde-format +msgid "Text Markup Properties" +msgstr "गुण" + +#: part/annotationpropertiesdialog.cpp:131 +#, fuzzy, kde-format +msgid "Stamp Properties" +msgstr "गुण" + +#: part/annotationpropertiesdialog.cpp:134 +#, fuzzy, kde-format +msgid "Freehand Line Properties" +msgstr "गुण" + +#: part/annotationpropertiesdialog.cpp:137 +#, fuzzy, kde-format +msgid "Caret Properties" +msgstr "गुण" + +#: part/annotationpropertiesdialog.cpp:140 +#, fuzzy, kde-format +msgid "File Attachment Properties" +msgstr "गुण" + +#: part/annotationpropertiesdialog.cpp:143 +#, fuzzy, kde-format +msgid "Sound Properties" +msgstr "गुण" + +#: part/annotationpropertiesdialog.cpp:146 +#, fuzzy, kde-format +msgid "Movie Properties" +msgstr "गुण" + +#: part/annotationpropertiesdialog.cpp:149 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgid "Annotation Properties" +msgstr "%1 गुण" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%1:" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "" + +#: part/annotationwidgets.cpp:363 +#, fuzzy, kde-format +#| msgid "Icon" +msgid "Icon:" +msgstr "प्रतिमा" + +#: part/annotationwidgets.cpp:364 +#, fuzzy, kde-format +msgid "Comment" +msgstr "निरन्तर" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "" + +#: part/annotationwidgets.cpp:387 +#, fuzzy, kde-format +#| msgid "&Invert colors" +msgid "Text &color:" +msgstr "रङ उल्टा पार्नुहोस्" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "" + +#: part/annotationwidgets.cpp:395 +#, fuzzy, kde-format +#| msgid "Wipe Left" +msgid "Left" +msgstr "बाँया सफा गर्नुहोस्" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "" + +#: part/annotationwidgets.cpp:397 +#, fuzzy, kde-format +#| msgid "Wipe Right" +msgid "Right" +msgstr "दाँया सफा गर्नुहोस्" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "" + +#: part/annotationwidgets.cpp:416 +#, fuzzy, kde-format +msgid "Confidential" +msgstr "निरन्तर" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "" + +#: part/annotationwidgets.cpp:421 +#, fuzzy, kde-format +msgid "Final" +msgstr "शीर्षक" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "" + +#: part/annotationwidgets.cpp:428 +#, fuzzy, kde-format +#| msgid "Add Bookmark" +msgid "Bookmark" +msgstr "पुस्तकचिनो थप्नुहोस्" + +#: part/annotationwidgets.cpp:429 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Information" +msgstr "प्रस्तुतिकरण" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgid "&Width:" +msgstr "चौडाइ ठीक गर्नुहोस्" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "" + +#: part/annotationwidgets.cpp:531 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "Leader line length:" +msgstr "उपकरण चयन गर्नुहोस्" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Shape fill:" +msgstr "फाइलमा बचत गर्नुहोस्..." + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, fuzzy, kde-format +#| msgid "Type" +msgid "Type:" +msgstr "प्रकार" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "" + +#: part/annotationwidgets.cpp:745 +#, fuzzy, kde-format +msgid "File attachment symbol:" +msgstr "गुण" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "" + +#: part/annotationwidgets.cpp:750 +#, fuzzy, kde-format +#| msgid "Paper color:" +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "कागज रङ:" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "" + +#: part/annotationwidgets.cpp:760 +#, fuzzy, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "शीर्षक" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "" + +#: part/annotationwidgets.cpp:773 +#, fuzzy, kde-format +#| msgid "Name" +msgid "Name:" +msgstr "नाम" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, fuzzy, kde-format +#| msgid "Filter Options" +msgid "Options" +msgstr "फिल्टर विकल्प" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "" + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "" + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "" + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "" + +#: part/bookmarklist.cpp:116 +#, fuzzy, kde-format +#| msgid "Remove Bookmark" +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "पुस्तकचिनो हटाउनुहोस्" +msgstr[1] "पुस्तकचिनो हटाउनुहोस्" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, fuzzy, kde-format +#| msgid "Add Bookmark" +msgid "Bookmarks" +msgstr "पुस्तकचिनो थप्नुहोस्" + +#: part/bookmarklist.cpp:136 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Show for all documents" +msgstr "कागजात पुन: लोडिङ हुदैछ..." + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, kde-format +msgid "Search…" +msgstr "" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, kde-format +msgid "Expand All" +msgstr "" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, kde-format +msgid "Collapse All" +msgstr "" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, fuzzy, kde-format +#| msgid "Remove Bookmark" +msgid "Rename Bookmark" +msgstr "पुस्तकचिनो हटाउनुहोस्" + +#: part/bookmarklist.cpp:299 +#, fuzzy, kde-format +#| msgid "Current mantainer" +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "हालको सम्भारकर्ता" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "" + +#: part/certificateviewer.cpp:47 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Certificate Viewer" +msgstr "केपीडीएफ कन्फिगर गर्नुहोस्..." + +#: part/certificateviewer.cpp:50 +#, kde-format +msgid "Export…" +msgstr "" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "साधारण" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "" + +#: part/colormodemenu.cpp:21 +#, fuzzy, kde-format +#| msgid "Change &Colors" +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "रङ परिवर्तन गर्नुहोस्" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "" + +#: part/colormodemenu.cpp:41 +#, fuzzy, kde-format +#| msgid "&Invert colors" +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "रङ उल्टा पार्नुहोस्" + +#: part/colormodemenu.cpp:42 +#, fuzzy, kde-format +#| msgid "Change &paper color" +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "कागज रङ परिवर्तन गर्नुहोस्" + +#: part/colormodemenu.cpp:44 +#, fuzzy, kde-format +#| msgid "&Change dark and light colors" +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "गाढा र हल्का रङ परिवर्तन गर्नुहोस्" + +#: part/colormodemenu.cpp:46 +#, fuzzy, kde-format +#| msgid "Convert to &black and white" +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "कालो र सेतोमा रूपान्तरण गर्नुहोस्" + +#: part/colormodemenu.cpp:49 +#, fuzzy, kde-format +#| msgid "&Invert colors" +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "रङ उल्टा पार्नुहोस्" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, fuzzy, kde-format +#| msgid "Created" +msgid "Green" +msgstr "सिर्जित" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, fuzzy, kde-format +msgid "Yellow Highlighter" +msgstr "गुण" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, fuzzy, kde-format +msgid "Green Highlighter" +msgstr "गुण" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, fuzzy, kde-format +#| msgid "Speak Text" +msgid "Insert Text" +msgstr "पाठ उच्चारण गर्नुहोस्" + +#: part/dlgaccessibility.cpp:38 +#, fuzzy, kde-format +#| msgid "Draw border around &Links" +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "लिङ्क वरिपरि किनारा कोर्नुहोस्" + +#: part/dlgaccessibility.cpp:48 +#, fuzzy, kde-format +#| msgid "Change &Colors" +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "रङ परिवर्तन गर्नुहोस्" + +#: part/dlgaccessibility.cpp:54 +#, fuzzy, kde-format +#| msgid "Warning: these options can badly affect drawing speed." +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "चेतावनी: यी विकल्पले रेखाचित्र गतिलाई खराब असर गर्न सक्छ ।" + +#: part/dlgaccessibility.cpp:60 +#, fuzzy, kde-format +#| msgid "&Invert colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "रङ उल्टा पार्नुहोस्" + +#: part/dlgaccessibility.cpp:61 +#, fuzzy, kde-format +#| msgid "Change &paper color" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "कागज रङ परिवर्तन गर्नुहोस्" + +#: part/dlgaccessibility.cpp:62 +#, fuzzy, kde-format +#| msgid "&Change dark and light colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "गाढा र हल्का रङ परिवर्तन गर्नुहोस्" + +#: part/dlgaccessibility.cpp:63 +#, fuzzy, kde-format +#| msgid "Convert to &black and white" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "कालो र सेतोमा रूपान्तरण गर्नुहोस्" + +#: part/dlgaccessibility.cpp:64 +#, fuzzy, kde-format +#| msgid "&Invert colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "रङ उल्टा पार्नुहोस्" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "" + +#: part/dlgaccessibility.cpp:87 +#, fuzzy, kde-format +#| msgid "Paper color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "कागज रङ:" + +#: part/dlgaccessibility.cpp:99 +#, fuzzy, kde-format +#| msgid "Dark color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "गाढा रङ:" + +#: part/dlgaccessibility.cpp:104 +#, fuzzy, kde-format +#| msgid "Light color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "हल्का रङ:" + +#: part/dlgaccessibility.cpp:119 +#, fuzzy, kde-format +#| msgid "Threshold:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "थ्रेसहोल्ड:" + +#: part/dlgaccessibility.cpp:127 +#, fuzzy, kde-format +#| msgid "Contrast:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "व्यतिरेक:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "" + +#: part/dlgannotations.cpp:25 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "प्रस्तुतिकरण" + +#: part/dlgannotations.cpp:26 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "प्रस्तुतिकरण" + +#: part/dlgannotations.cpp:28 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "प्रस्तुतिकरण" + +#: part/dlgannotations.cpp:34 +#, fuzzy, kde-format +#| msgid "Author" +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "लेखक" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" + +#: part/dlgannotations.cpp:48 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

    Quick Annotation Tools

    " +msgstr "%1 गुण" + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "" + +#: part/dlgeditor.cpp:31 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "शीर्षक" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
    \n" +"You can also put few placeholders:\n" +"
      \n" +"
    • %f - the file name
    • \n" +"
    • %l - the line of the file to be reached
    • \n" +"
    • %c - the column of the file to be reached
    • \n" +"
    \n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" + +#: part/dlgeditor.cpp:63 +#, fuzzy, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "निरन्तर" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "" + +#: part/dlggeneral.cpp:41 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "स्क्रोलपट्टी देखाउनुहोस्" + +#: part/dlggeneral.cpp:48 +#, fuzzy, kde-format +#| msgid "Link the &thumbnails with the page" +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "पृष्ठमा थम्बनेल लिङ्क गर्नुहोस्" + +#: part/dlggeneral.cpp:55 +#, fuzzy, kde-format +#| msgid "Show &hints and info messages" +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "सङ्केत र सूचना सन्देश देखाउनुहोस्" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "" + +#: part/dlggeneral.cpp:92 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "पृष्ठभूमि रङ:" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "" + +#: part/dlggeneral.cpp:139 +#, fuzzy, kde-format +#| msgid "&Obey DRM limitations" +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "डीआरएम सीमा पालना गर्नुहोस्" + +#: part/dlggeneral.cpp:148 +#, fuzzy, kde-format +#| msgid "No document opened." +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "कुनै कागजात खोलिएको छैन ।" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, fuzzy, kde-format +#| msgid "Overwrite" +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "अधिलेखन गर्नुहोस्" + +#: part/dlggeneral.cpp:220 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%1:" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "" + +#: part/dlggeneral.cpp:228 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%1:" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "" + +#: part/dlggeneral.cpp:233 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "चौडाइ ठीक गर्नुहोस्" + +#: part/dlggeneral.cpp:234 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "पृष्ठ ठीक पार्नुहोस्" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" + +#: part/dlggeneral.cpp:241 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "पूर्वानिर्धारित परिवर्तन:" + +#: part/dlgperformance.cpp:26 +#, fuzzy, kde-format +#| msgid "Enable &transparency effects" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "पारदर्शी प्रभावहरू सक्षम पार्नुहोस्" + +#: part/dlgperformance.cpp:28 +#, fuzzy, kde-format +#| msgid "CPU Usage" +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "सीपीयू प्रयोग" + +#: part/dlgperformance.cpp:35 +#, fuzzy, kde-format +#| msgid "&Low" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "न्यून" + +#: part/dlgperformance.cpp:36 +#, fuzzy, kde-format +#| msgid "&Normal (default)" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "सामान्य (पूर्वानिर्धारित)" + +#: part/dlgperformance.cpp:37 +#, fuzzy, kde-format +#| msgid "&Aggressive" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "आक्रामक" + +#: part/dlgperformance.cpp:38 +#, fuzzy, kde-format +#| msgid "Created" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "सिर्जित" + +#: part/dlgperformance.cpp:40 +#, fuzzy, kde-format +#| msgid "Memory Usage" +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "स्मृति प्रयोग" + +#: part/dlgperformance.cpp:54 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "पूर्वानिर्धारित परिवर्तन:" + +#: part/dlgperformance.cpp:56 +#, fuzzy, kde-format +#| msgid "General Options" +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "साधारण विकल्पहरू" + +#: part/dlgperformance.cpp:59 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "पूर्वानिर्धारित परिवर्तन:" + +#: part/dlgperformance.cpp:64 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "पूर्वानिर्धारित परिवर्तन:" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"जति सक्दो कम प्रयोग गरिएको स्मृति राख्दछ । केहि पनि पुन: प्रयोग नगर्नुहोस् । (न्यून " +"स्मृतिको प्रणालीका लागि ।)" + +#: part/dlgperformance.cpp:80 +#, fuzzy, kde-format +#| msgid "" +#| "A good compromise between memory usage and speed gain. Preload next page " +#| "and boost searches. (For systems with 256MB of memory, typically.)" +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"स्मृति उपयोग र गति फाइदा बीच राम्रो समझदारी । पछिल्लो पृष्ठ र बुस्ट खोजीहरू पहिल्यै लोड " +"गर्नुहोस् । (विशिष्ट रूपमा, २५६ मेगाबाइट स्मृति भएको प्रणालीका लागि ।)" + +#: part/dlgperformance.cpp:83 +#, fuzzy, kde-format +#| msgid "" +#| "Keeps everything in memory. Preload next pages. Boost searches. (For " +#| "systems with more than 512MB of memory.)" +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"स्मृतिमा सबै वस्तु राख्दछ । पछिल्ला पृष्ठ पहिल्यै लोड गर्नुहोस् । बुस्टले खोजी गर्दछ । (५१२ " +"मेगाबाइट स्मृति भन्दा बढी भएको प्रणालीका लागि ।)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" + +#: part/dlgpresentation.cpp:38 +#, fuzzy, kde-format +#| msgid " sec." +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] " सेकेन्ड" +msgstr[1] " सेकेन्ड" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "" + +#: part/dlgpresentation.cpp:53 +#, fuzzy, kde-format +#| msgid "Loop after last page" +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "अन्तिम पृष्ठ पछि लुप गर्नुहोस्" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "" + +#: part/dlgpresentation.cpp:63 +#, fuzzy, kde-format +#| msgid "Navigation" +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "नेभिगेसन" + +#: part/dlgpresentation.cpp:72 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "पृष्ठभूमि रङ:" + +#: part/dlgpresentation.cpp:76 +#, fuzzy, kde-format +#| msgid "Hidden After Delay" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "विलम्ब पछि हराएको" + +#: part/dlgpresentation.cpp:77 +#, fuzzy, kde-format +#| msgid "Always Visible" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "सधै दृश्यात्मक" + +#: part/dlgpresentation.cpp:78 +#, fuzzy, kde-format +#| msgid "Always Hidden" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "सधै अदृश्य" + +#: part/dlgpresentation.cpp:80 +#, fuzzy, kde-format +#| msgid "Mouse cursor:" +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "माउस कर्सर:" + +#: part/dlgpresentation.cpp:84 +#, fuzzy, kde-format +#| msgid "Show &progress indicator" +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "प्रगति सूचक देखाउनुहोस्" + +#: part/dlgpresentation.cpp:90 +#, fuzzy, kde-format +#| msgid "Show s&ummary page" +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "सारांश पृष्ठ देखाउनुहोस्" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "" + +#: part/dlgpresentation.cpp:102 +#, fuzzy, kde-format +#| msgid "Random Transition" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "अनियमित परिवर्तन" + +#: part/dlgpresentation.cpp:103 +#, fuzzy, kde-format +#| msgid "Blinds Vertical" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "ठाडो ब्लाइन्ड गदर्छ" + +#: part/dlgpresentation.cpp:104 +#, fuzzy, kde-format +#| msgid "Blinds Horizontal" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "तेर्सो ब्लाइन्ड गर्दछ" + +#: part/dlgpresentation.cpp:105 +#, fuzzy, kde-format +#| msgid "Box In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "बाकस भित्र" + +#: part/dlgpresentation.cpp:106 +#, fuzzy, kde-format +#| msgid "Box Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "बाकस बाहिर" + +#: part/dlgpresentation.cpp:107 +#, fuzzy, kde-format +#| msgid "Dissolve" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "घोल्नुहोस्" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "" + +#: part/dlgpresentation.cpp:109 +#, fuzzy, kde-format +#| msgid "Glitter Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "चमक तल" + +#: part/dlgpresentation.cpp:110 +#, fuzzy, kde-format +#| msgid "Glitter Right" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "चमक दायाँ" + +#: part/dlgpresentation.cpp:111 +#, fuzzy, kde-format +#| msgid "Glitter Right-Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "चमक दायाँ-तल" + +#: part/dlgpresentation.cpp:112 +#, fuzzy, kde-format +#| msgid "Split Horizontal In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "तेर्सो भित्र विभाजन गर्नुहोस्" + +#: part/dlgpresentation.cpp:113 +#, fuzzy, kde-format +#| msgid "Split Horizontal Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "तेर्सो बाहिर विभाजन गर्नुहोस्" + +#: part/dlgpresentation.cpp:114 +#, fuzzy, kde-format +#| msgid "Split Vertical In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "ठाडो भित्र विभाजन गर्नुहोस्" + +#: part/dlgpresentation.cpp:115 +#, fuzzy, kde-format +#| msgid "Split Vertical Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "ठाडो बाहिर विभाजन गर्नुहोस्" + +#: part/dlgpresentation.cpp:116 +#, fuzzy, kde-format +#| msgid "Wipe Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "तल सफा गर्नुहोस्" + +#: part/dlgpresentation.cpp:117 +#, fuzzy, kde-format +#| msgid "Wipe Right" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "दाँया सफा गर्नुहोस्" + +#: part/dlgpresentation.cpp:118 +#, fuzzy, kde-format +#| msgid "Wipe Left" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "बाँया सफा गर्नुहोस्" + +#: part/dlgpresentation.cpp:119 +#, fuzzy, kde-format +#| msgid "Wipe Up" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "माथि सफा गर्नुहोस्" + +#: part/dlgpresentation.cpp:121 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "पूर्वानिर्धारित परिवर्तन:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

    Drawing Tools

    " +msgstr "" + +#: part/dlgpresentation.cpp:171 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "पूर्वानिर्धारित परिवर्तन:" + +#: part/dlgpresentation.cpp:172 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "पूर्वानिर्धारित परिवर्तन:" + +#: part/dlgpresentation.cpp:178 +#, fuzzy, kde-format +#| msgid "Created" +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "सिर्जित" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, fuzzy, kde-format +#| msgid "Name" +msgid "&Name:" +msgstr "नाम" + +#: part/editannottooldialog.cpp:69 +#, fuzzy, kde-format +#| msgid "Type" +msgid "&Type:" +msgstr "प्रकार" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "" + +#: part/editannottooldialog.cpp:93 +#, fuzzy, kde-format +#| msgid "Add Bookmark" +msgid "Text markup" +msgstr "पुस्तकचिनो थप्नुहोस्" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "" + +#: part/editannottooldialog.cpp:101 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Create annotation tool" +msgstr "प्रस्तुतिकरण" + +#: part/editannottooldialog.cpp:103 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgid "Edit annotation tool" +msgstr "%1 गुण" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "" + +#: part/editdrawingtooldialog.cpp:58 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgid "&Pen Width:" +msgstr "चौडाइ ठीक गर्नुहोस्" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "" + +#: part/editdrawingtooldialog.cpp:79 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Create drawing tool" +msgstr "प्रस्तुतिकरण" + +#: part/editdrawingtooldialog.cpp:84 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgid "Edit drawing tool" +msgstr "%1 गुण" + +#: part/embeddedfilesdialog.cpp:42 +#, fuzzy, kde-format +#| msgid "Unknown" +msgctxt "Unknown date" +msgid "Unknown" +msgstr "अज्ञात" + +#: part/embeddedfilesdialog.cpp:48 +#, fuzzy, kde-format +#| msgid "Embedded" +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "सम्मिलित भएको" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "" + +#: part/embeddedfilesdialog.cpp:70 +#, fuzzy, kde-format +#| msgid "Name" +msgctxt "@title:column" +msgid "Name" +msgstr "नाम" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "" + +#: part/embeddedfilesdialog.cpp:72 +#, fuzzy, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "शीर्षक" + +#: part/embeddedfilesdialog.cpp:73 +#, fuzzy, kde-format +#| msgid "Created" +msgctxt "@title:column" +msgid "Created" +msgstr "सिर्जित" + +#: part/embeddedfilesdialog.cpp:74 +#, fuzzy, kde-format +#| msgid "Modified" +msgctxt "@title:column" +msgid "Modified" +msgstr "परिमार्जित" + +#: part/embeddedfilesdialog.cpp:154 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "फाइलमा बचत गर्नुहोस्..." + +#: part/embeddedfilesdialog.cpp:155 +#, kde-format +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "" + +#: part/findbar.cpp:54 +#, fuzzy, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "पृष्ठ ठीक पार्नुहोस्" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "" + +#: part/findbar.cpp:58 +#, fuzzy, kde-format +#| msgid "Remove Bookmark" +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "पुस्तकचिनो हटाउनुहोस्" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "" + +#: part/findbar.cpp:66 +#, fuzzy, kde-format +#| msgid "Case Sensitive" +msgid "Case sensitive" +msgstr "केस सम्वेदनशील" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "" + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, fuzzy, kde-format +msgid "Signature Properties" +msgstr "गुण" + +#: part/ktreeviewsearchline.cpp:283 +#, fuzzy, kde-format +#| msgid "Filter Options" +msgid "Search Options" +msgstr "फिल्टर विकल्प" + +#: part/ktreeviewsearchline.cpp:284 +#, fuzzy, kde-format +#| msgid "Case Sensitive" +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "केस सम्वेदनशील" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "" + +#: part/pageview.cpp:530 +#, fuzzy, kde-format +#| msgid "Glitter Right" +msgid "Rotate &Right" +msgstr "चमक दायाँ" + +#: part/pageview.cpp:531 +#, fuzzy, kde-format +#| msgid "Wipe Right" +msgctxt "Rotate right" +msgid "Right" +msgstr "दाँया सफा गर्नुहोस्" + +#: part/pageview.cpp:535 +#, fuzzy, kde-format +#| msgid "Wipe Left" +msgid "Rotate &Left" +msgstr "बाँया सफा गर्नुहोस्" + +#: part/pageview.cpp:536 +#, fuzzy, kde-format +#| msgid "Wipe Left" +msgctxt "Rotate left" +msgid "Left" +msgstr "बाँया सफा गर्नुहोस्" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "" + +#: part/pageview.cpp:557 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "Trim To &Selection" +msgstr "उपकरण चयन गर्नुहोस्" + +#: part/pageview.cpp:563 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgid "Fit &Width" +msgstr "चौडाइ ठीक गर्नुहोस्" + +#: part/pageview.cpp:567 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgid "Fit &Page" +msgstr "पृष्ठ ठीक पार्नुहोस्" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "" + +#: part/pageview.cpp:575 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgid "Fit Wi&ndow to Page" +msgstr "पृष्ठ ठीक पार्नुहोस्" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "" + +#: part/pageview.cpp:594 +#, fuzzy, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "शीर्षक" + +#: part/pageview.cpp:595 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "पृष्ठ ठीक पार्नुहोस्" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "" + +#: part/pageview.cpp:599 +#, fuzzy, kde-format +#| msgid "Overwrite" +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "अधिलेखन गर्नुहोस्" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "निरन्तर" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "" + +#: part/pageview.cpp:627 +#, fuzzy, kde-format +#| msgid "&Browse Tool" +msgid "&Browse" +msgstr "उपकरण ब्राउज गर्नुहोस्" + +#: part/pageview.cpp:635 +#, fuzzy, kde-format +#| msgid "&Zoom Tool" +msgid "&Zoom" +msgstr "उपकरण जुम गर्नुहोस्" + +#: part/pageview.cpp:655 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "Area &Selection" +msgstr "उपकरण चयन गर्नुहोस्" + +#: part/pageview.cpp:662 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "&Text Selection" +msgstr "उपकरण चयन गर्नुहोस्" + +#: part/pageview.cpp:669 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "T&able Selection" +msgstr "उपकरण चयन गर्नुहोस्" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "" + +#: part/pageview.cpp:685 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgctxt "@action" +msgid "Selection Tools" +msgstr "उपकरण चयन गर्नुहोस्" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "" + +#: part/pageview.cpp:717 +#, fuzzy, kde-format +#| msgid "Current mantainer" +msgid "Speak Whole Document" +msgstr "हालको सम्भारकर्ता" + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "माथि स्क्रोल गर्नुहोस्" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "तल स्क्रोल गर्नुहोस्" + +#: part/pageview.cpp:761 +#, fuzzy, kde-format +#| msgid "Scroll Up" +msgid "Scroll Page Up" +msgstr "माथि स्क्रोल गर्नुहोस्" + +#: part/pageview.cpp:767 +#, fuzzy, kde-format +#| msgid "Scroll Down" +msgid "Scroll Page Down" +msgstr "तल स्क्रोल गर्नुहोस्" + +#: part/pageview.cpp:773 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgid "Show Forms" +msgstr "स्क्रोलपट्टी देखाउनुहोस्" + +#: part/pageview.cpp:1278 +#, fuzzy, kde-format +#| msgid " Loaded a one-page document." +#| msgid_plural " Loaded a %1-page document." +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] " एक-पृष्ठ कागजात लोड गरियो ।" +msgstr[1] " %1-पृष्ठ कागजात लोड गरियो ।" + +#: part/pageview.cpp:2526 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Table Contents to Clipboard" +msgstr "क्लिपबोर्डमा प्रतिलिपि बनाउनुहोस्" + +#: part/pageview.cpp:2845 +#, fuzzy, kde-format +#| msgid "Text (1 character)" +#| msgid_plural "Text (%1 characters)" +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "पाठ (१ क्यारेक्टर)" +msgstr[1] "पाठ (%1 क्यारेक्टर)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "क्लिपबोर्डमा प्रतिलिपि बनाउनुहोस्" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "पाठ उच्चारण गर्नुहोस्" + +#: part/pageview.cpp:2863 +#, fuzzy, kde-format +#| msgid "Image (%1 by %2 pixels)" +msgid "Image (%1 × %2 pixels)" +msgstr "छवि (%2 पिक्सेलद्वारा %1)" + +#: part/pageview.cpp:2865 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save to File…" +msgstr "फाइलमा बचत गर्नुहोस्..." + +#: part/pageview.cpp:2885 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] copied to clipboard." +msgid "Image [%1 × %2] copied to clipboard." +msgstr "छवि [%1x%2] क्लिपबोर्डमा प्रतिलिपि गरियो ।" + +#: part/pageview.cpp:2888 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save file" +msgstr "फाइलमा बचत गर्नुहोस्..." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "फाइल बचत भएन ।" + +#: part/pageview.cpp:2901 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] saved to %3 file." +msgid "Image [%1 × %2] saved to %3 file." +msgstr "%3 फाइलमा [%1x%2] छवि बचत गरियो ।" + +#: part/pageview.cpp:3042 +#, fuzzy, kde-format +#| msgid "Speak Text" +msgid "Copy Text" +msgstr "पाठ उच्चारण गर्नुहोस्" + +#: part/pageview.cpp:3062 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go to '%1'" +msgstr "पृष्ठमा जानुहोस्" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "चौडाइ ठीक गर्नुहोस्" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "पृष्ठ ठीक पार्नुहोस्" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "" + +#: part/pageview.cpp:4107 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1:" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "" + +#: part/pageview.cpp:4404 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Configure Web Shortcuts…" +msgstr "केपीडीएफ कन्फिगर गर्नुहोस्..." + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "स्वागतम" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "जुम गरिरहेको क्षेत्र चयन गर्नुहोस् । जुम घटाउन दायाँ-क्लिक गर्नुहोस् ।" + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "" + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "प्रतिलिपि गर्न पाठ/ग्राफिक्स वरिपरि आयात कोर्नुहोस् ।" + +#: part/pageview.cpp:5158 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "Select text" +msgstr "उपकरण चयन गर्नुहोस्" + +#: part/pageview.cpp:5172 +#, fuzzy, kde-format +#| msgid "Draw a rectangle around the text/graphics to copy." +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "प्रतिलिपि गर्न पाठ/ग्राफिक्स वरिपरि आयात कोर्नुहोस् ।" + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" + +#: part/pageview.cpp:5188 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "No valid certificates" +msgstr "केपीडीएफ कन्फिगर गर्नुहोस्..." + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Open Certificate Manager" +msgstr "केपीडीएफ कन्फिगर गर्नुहोस्..." + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
    Launch Certificate Manager " +"to import or manage certificates
    For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "No certificates found" +msgstr "केपीडीएफ कन्फिगर गर्नुहोस्..." + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
    For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "" + +#: part/pageview.cpp:5405 +#, fuzzy, kde-format +#| msgid "Draw a rectangle around the text/graphics to copy." +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "प्रतिलिपि गर्न पाठ/ग्राफिक्स वरिपरि आयात कोर्नुहोस् ।" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgid "Author" +msgid "Author name" +msgstr "लेखक" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Author name for the annotation:" +msgstr "प्रस्तुतिकरण" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1392 +#, fuzzy, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "गुण" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "" + +#: part/pageviewannotator.cpp:1404 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "उपकरण चयन गर्नुहोस्" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "" + +#: part/pageviewannotator.cpp:1410 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "उपकरण चयन गर्नुहोस्" + +#: part/pageviewannotator.cpp:1412 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "उपकरण चयन गर्नुहोस्" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1473 +#, fuzzy, kde-format +msgid "Highlighter" +msgstr "गुण" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Add favorite annotation" +msgstr "प्रस्तुतिकरण" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Custom annotation name:" +msgstr "प्रस्तुतिकरण" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, fuzzy, kde-format +msgid "&File" +msgstr "शीर्षक" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, fuzzy, kde-format +#| msgid "P&resentation" +msgid "&Orientation" +msgstr "प्रस्तुतिकरण" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, fuzzy, kde-format +#| msgid "Add Bookmark" +msgid "&Bookmarks" +msgstr "पुस्तकचिनो थप्नुहोस्" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "थम्बनेलहरू" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Annotations" +msgstr "प्रस्तुतिकरण" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
    Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "" + +#: part/part.cpp:662 +#, fuzzy, kde-format +#| msgid "Remove Bookmark" +msgctxt "Previous page" +msgid "Previous" +msgstr "पुस्तकचिनो हटाउनुहोस्" + +#: part/part.cpp:663 +#, fuzzy, kde-format +#| msgid "Go to the place you were after" +msgid "Go back to the Previous Page" +msgstr "तपाईँ पछि भएको ठाउँमा जानुहोस्" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "कागजातको अघिल्लो पृष्ठमा सर्दछ" + +#: part/part.cpp:674 +#, fuzzy, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "पृष्ठ ठीक पार्नुहोस्" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "कागजातको पछिल्लो पृष्ठमा सर्दछ" + +#: part/part.cpp:687 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Beginning of the document" +msgstr "कागजात पुन: लोडिङ हुदैछ..." + +#: part/part.cpp:688 +#, fuzzy, kde-format +#| msgid "Moves to the next page of the document" +msgid "Moves to the beginning of the document" +msgstr "कागजातको पछिल्लो पृष्ठमा सर्दछ" + +#: part/part.cpp:692 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "End of the document" +msgstr "कागजात पुन: लोडिङ हुदैछ..." + +#: part/part.cpp:693 +#, fuzzy, kde-format +#| msgid "Moves to the next page of the document" +msgid "Moves to the end of the document" +msgstr "कागजातको पछिल्लो पृष्ठमा सर्दछ" + +#: part/part.cpp:707 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Rename the current bookmark" +msgstr "कागजात पुन: लोडिङ हुदैछ..." + +#: part/part.cpp:711 +#, fuzzy, kde-format +#| msgid "Remove Bookmark" +msgid "Previous Bookmark" +msgstr "पुस्तकचिनो हटाउनुहोस्" + +#: part/part.cpp:713 +#, fuzzy, kde-format +#| msgid "Go to the place you were after" +msgid "Go to the previous bookmark" +msgstr "तपाईँ पछि भएको ठाउँमा जानुहोस्" + +#: part/part.cpp:717 +#, fuzzy, kde-format +#| msgid "Add Bookmark" +msgid "Next Bookmark" +msgstr "पुस्तकचिनो थप्नुहोस्" + +#: part/part.cpp:719 +#, fuzzy, kde-format +#| msgid "Show bookmarked pages only" +msgid "Go to the next bookmark" +msgstr "पुस्तकचिनो लगाइएका पृष्ठ मात्र देखाउनुहोस्" + +#: part/part.cpp:748 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Configure Okular…" +msgstr "केपीडीएफ कन्फिगर गर्नुहोस्..." + +#: part/part.cpp:751 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Configure Viewer…" +msgstr "केपीडीएफ कन्फिगर गर्नुहोस्..." + +#: part/part.cpp:757 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Configure Viewer Backends…" +msgstr "केपीडीएफ कन्फिगर गर्नुहोस्..." + +#: part/part.cpp:759 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Configure Backends…" +msgstr "केपीडीएफ कन्फिगर गर्नुहोस्..." + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "" + +#: part/part.cpp:802 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Reload the current document from disk." +msgstr "कागजात पुन: लोडिङ हुदैछ..." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "" + +#: part/part.cpp:813 +#, fuzzy, kde-format +#| msgid "Pages" +msgid "Page Number" +msgstr "पृष्ठहरू" + +#: part/part.cpp:817 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "केपीडीएफ कन्फिगर गर्नुहोस्..." + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "" + +#: part/part.cpp:871 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgid "Show S&idebar" +msgstr "स्क्रोलपट्टी देखाउनुहोस्" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "" + +#: part/part.cpp:886 +#, fuzzy, kde-format +#| msgid "Show &Navigation Panel" +msgid "Show &Signatures Panel" +msgstr "नेभिगेसन प्यानल देखाउनुहोस्" + +#: part/part.cpp:897 +#, fuzzy, kde-format +#| msgid "Embedded" +msgid "&Embedded Files" +msgstr "सम्मिलित भएको" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "प्रस्तुतिकरण" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "" + +#: part/part.cpp:945 +#, kde-format +msgid "&Import PostScript as PDF…" +msgstr "" + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "" + +#: part/part.cpp:957 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Erase Drawing" +msgstr "प्रस्तुतिकरण" + +#: part/part.cpp:962 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Configure Annotations…" +msgstr "केपीडीएफ कन्फिगर गर्नुहोस्..." + +#: part/part.cpp:967 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Play/Pause Presentation" +msgstr "प्रस्तुतिकरण" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" + +#: part/part.cpp:1123 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Document can't be saved" +msgstr "खोल्नका लागि कागजात" + +#: part/part.cpp:1152 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not open '%1' (%2) " +msgstr "%1 खोल्न सकेन" + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "" + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "" + +#: part/part.cpp:1249 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Configure Viewer Backends" +msgstr "केपीडीएफ कन्फिगर गर्नुहोस्..." + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "" + +#: part/part.cpp:1357 +#, kde-format +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "" + +#: part/part.cpp:1489 +#, fuzzy, kde-format +#| msgid "Moves to the last page of the document" +msgid "Please enter the password to read the document:" +msgstr "कागजातको अन्तिम पृष्ठमा सर्दछ" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "" + +#: part/part.cpp:1502 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Document Password" +msgstr "खोल्नका लागि कागजात" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "" + +#: part/part.cpp:1739 +#, fuzzy, kde-format +msgid "Enter Presentation Mode" +msgstr "प्रस्तुतिकरण मोडका लागि विकल्प" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "" + +#: part/part.cpp:1830 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not open %1. %2" +msgstr "%1 खोल्न सकेन" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "" + +#: part/part.cpp:1865 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue Reloading" +msgstr "निरन्तर" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" + +#: part/part.cpp:1875 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue Closing" +msgstr "निरन्तर" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "" + +#: part/part.cpp:1883 +#, fuzzy, kde-format +#| msgid "Current mantainer" +msgid "Close Document" +msgstr "हालको सम्भारकर्ता" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"यो लिङ्कले बन्द कागजात कार्यमा सङ्केत गर्दछ त्यसले सम्मिलित दर्शक प्रयोग गर्दा काम गर्दैन ।" + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"यो लिङ्कले अनुप्रयोगको अन्त्य कार्यमा सङ्केत गर्दछ जसले सम्मिलित दर्शक प्रयोग गर्दा काम " +"गर्दैन ।" + +#: part/part.cpp:2113 part/part.cpp:2131 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Reloading the document…" +msgstr "कागजात पुन: लोडिङ हुदैछ..." + +#: part/part.cpp:2288 part/toc.cpp:38 +#, fuzzy, kde-format +msgid "Contents" +msgstr "निरन्तर" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "पृष्ठमा जानुहोस्" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "पृष्ठ:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "" + +#: part/part.cpp:2506 +#, fuzzy, kde-format +#| msgid "Remove Bookmark" +msgid "Rename this Bookmark" +msgstr "पुस्तकचिनो हटाउनुहोस्" + +#: part/part.cpp:2509 +#, fuzzy, kde-format +#| msgid "Remove Bookmark" +msgid "Remove this Bookmark" +msgstr "पुस्तकचिनो हटाउनुहोस्" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save As" +msgstr "फाइलमा बचत गर्नुहोस्..." + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
    In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "" + +#: part/part.cpp:2726 +#, fuzzy, kde-kuit-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "फाइल '%1' मा बचत हुन सकिने छैन । यसलाई अर्को स्थानमा बचत गर्ने प्रयास गर्नुहोस् ।" + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "फाइल '%1' मा बचत हुन सकिने छैन । यसलाई अर्को स्थानमा बचत गर्ने प्रयास गर्नुहोस् ।" + +#: part/part.cpp:2766 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgid "Filled form contents" +msgstr "%1 गुण" + +#: part/part.cpp:2769 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "User annotations" +msgstr "प्रस्तुतिकरण" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" + +#: part/part.cpp:2796 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue" +msgstr "निरन्तर" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "" + +#: part/part.cpp:2824 +#, fuzzy, kde-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgid "File could not be saved in '%1'. %2" +msgstr "फाइल '%1' मा बचत हुन सकिने छैन । यसलाई अर्को स्थानमा बचत गर्ने प्रयास गर्नुहोस् ।" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" + +#: part/part.cpp:2899 +#, fuzzy, kde-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "फाइल '%1' मा बचत हुन सकिने छैन । यसलाई अर्को स्थानमा बचत गर्ने प्रयास गर्नुहोस् ।" + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Expand Whole Section" +msgstr "प्रस्तुतिकरण" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Collapse Whole Section" +msgstr "प्रस्तुतिकरण" + +#: part/part.cpp:3172 +#, fuzzy, kde-format +#| msgid "Link the &thumbnails with the page" +msgid "Sync Thumbnail with Page" +msgstr "पृष्ठमा थम्बनेल लिङ्क गर्नुहोस्" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "उपकरणहरू" + +#: part/part.cpp:3381 +#, fuzzy, kde-format +#| msgid "Speak Text" +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "पाठ उच्चारण गर्नुहोस्" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "यो कागजातको मुद्रण अनुमति दिएको छैन ।" + +#: part/part.cpp:3615 +#, fuzzy, kde-format +#| msgid "Could not print the document. Please report to bugs.kde.org" +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "कागजात मुद्रण गर्न सकेन । कृपया bugs.kde.org मा प्रतिवेदन गर्नुहोस्" + +#: part/part.cpp:3617 +#, fuzzy, kde-format +#| msgid "Could not print the document. Please report to bugs.kde.org" +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "कागजात मुद्रण गर्न सकेन । कृपया bugs.kde.org मा प्रतिवेदन गर्नुहोस्" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "तपाईँ पहिले भएको ठाउँमा जानुहोस्" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "तपाईँ पछि भएको ठाउँमा जानुहोस्" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" + +#: part/part.cpp:3803 +#, fuzzy, kde-format +#| msgid "Add Bookmark" +msgid "No Bookmarks" +msgstr "पुस्तकचिनो थप्नुहोस्" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "जानुहोस्" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, fuzzy, kde-format +msgid "&Tools" +msgstr "उपकरणहरू" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Annotation Toolbar" +msgstr "प्रस्तुतिकरण" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Quick Annotation Toolbar" +msgstr "प्रस्तुतिकरण" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "साधारण विकल्पहरू" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "पहुँचता" + +#: part/preferencesdialog.cpp:42 +#, fuzzy, kde-format +#| msgid "Accessibility" +msgid "Accessibility Reading Aids" +msgstr "पहुँचता" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "कार्य" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "टुनिङ कार्य" + +#: part/preferencesdialog.cpp:45 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Configure Viewer" +msgstr "केपीडीएफ कन्फिगर गर्नुहोस्..." + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "प्रस्तुतिकरण" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "प्रस्तुतिकरण मोडका लागि विकल्प" + +#: part/preferencesdialog.cpp:50 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgid "Annotation Options" +msgstr "%1 गुण" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, fuzzy, kde-format +#| msgid "Filter Options" +msgid "Editor Options" +msgstr "फिल्टर विकल्प" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "" + +#: part/presentationwidget.cpp:174 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "प्रस्तुतिकरण" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "" + +#: part/presentationwidget.cpp:233 +#, fuzzy, kde-format +#| msgid "Created" +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "सिर्जित" + +#: part/presentationwidget.cpp:240 +#, fuzzy, kde-format +msgid "Exit Presentation Mode" +msgstr "प्रस्तुतिकरण मोडका लागि विकल्प" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "शीर्षक: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "पृष्ठ: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "सुरुआत गर्न क्लिक गर्नुहोस्" + +#: part/presentationwidget.cpp:521 +#, fuzzy, kde-format +#| msgid "Pages:" +msgctxt "For Presentation" +msgid "Pause" +msgstr "पृष्ठहरू:" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"त्यहाँ प्रस्तुतिकरण मोडबाट बाहिरिनका लागि दुई तरिकाहरू छन्, तपाईँ या त ESC कुञ्जी थिच्न " +"सक्नुहुन्छ वा माथिल्लो-दायाँ कुनामा माउस राख्दा देखापर्ने अन्त्य बटनमा क्लिक गर्न सक्नुहुन्छ । " +"वास्तवमै तपाईँ सञ्झ्याल परिक्रमण गर्न सक्नुहुन्छ (पूर्वानिर्धारित Alt+TAB हो)" + +#: part/presentationwidget.cpp:1718 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "प्रस्तुतिकरण" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "अज्ञात फाइल" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "%1 गुण" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "" + +#: part/propertiesdialog.cpp:145 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Reading font information…" +msgstr "कागजात पुन: लोडिङ हुदैछ..." + +#: part/propertiesdialog.cpp:158 +#, fuzzy, kde-format +#| msgid "&Page:" +msgid "&Page Sizes" +msgstr "पृष्ठ:" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "प्रकार १" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "प्रकार १C" + +#: part/propertiesdialog.cpp:279 +#, fuzzy, kde-format +#| msgid "Type 1C" +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "प्रकार १C" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "प्रकार ३" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "ठीक प्रकार" + +#: part/propertiesdialog.cpp:288 +#, fuzzy, kde-format +#| msgid "TrueType" +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "ठीक प्रकार" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "सीआईडी प्रकार 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "सीआईडी प्रकार 0C" + +#: part/propertiesdialog.cpp:297 +#, fuzzy, kde-format +#| msgid "CID Type 0C" +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "सीआईडी प्रकार 0C" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "ठीक प्रकारको सीआईडी" + +#: part/propertiesdialog.cpp:303 +#, fuzzy, kde-format +#| msgid "CID TrueType" +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "ठीक प्रकारको सीआईडी" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "" + +#: part/propertiesdialog.cpp:318 +#, fuzzy, kde-format +#| msgid "Unknown" +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "अज्ञात" + +#: part/propertiesdialog.cpp:331 +#, fuzzy, kde-format +#| msgid "Embedded" +msgid "Embedded (subset)" +msgstr "सम्मिलित भएको" + +#: part/propertiesdialog.cpp:334 +#, fuzzy, kde-format +#| msgid "Embedded" +msgid "Fully embedded" +msgstr "सम्मिलित भएको" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "" + +#: part/propertiesdialog.cpp:385 +#, fuzzy, kde-format +#| msgid "Unknown" +msgid "Unknown font" +msgstr "अज्ञात" + +#: part/propertiesdialog.cpp:391 +#, fuzzy, kde-format +#| msgid "Embedded" +msgid "Embedded: %1" +msgstr "सम्मिलित भएको" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "नाम" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "प्रकार" + +#: part/propertiesdialog.cpp:430 +#, fuzzy, kde-format +msgid "File" +msgstr "शीर्षक" + +#: part/propertiesdialog.cpp:498 +#, fuzzy, kde-format +#| msgid "Pages:" +msgid "Page" +msgstr "पृष्ठहरू:" + +#: part/propertiesdialog.cpp:501 +#, fuzzy, kde-format +msgid "Size" +msgstr "शीर्षक" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "" + +#: part/revisionviewer.cpp:56 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not save file %1." +msgstr "%1 खोल्न सकेन" + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "" + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "फिल्टर पृष्ठमा कम्तिमा ३ अक्षरहरू प्रविष्ट गर्नुहोस्" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "केस सम्वेदनशील" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "वाक्यांश मिलाउनुहोस्" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "सबै शब्दहरू मिलाउनुहोस्" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "कुनै पनि शब्द मिलाउनुहोस्" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "फिल्टर विकल्प" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Certificates" +msgstr "केपीडीएफ कन्फिगर गर्नुहोस्..." + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Only QES certificates" +msgstr "केपीडीएफ कन्फिगर गर्नुहोस्..." + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, fuzzy, kde-format +#| msgid "Filter Options" +msgid "optional" +msgstr "फिल्टर विकल्प" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Location:" +msgstr "प्रस्तुतिकरण" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, fuzzy, kde-format +#| msgid "Background color:" +msgid "Background:" +msgstr "पृष्ठभूमि रङ:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, fuzzy, kde-format +#| msgid "Background color:" +msgid "Recent backgrounds:" +msgstr "पृष्ठभूमि रङ:" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

    No annotations

    To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
    " +msgstr "" + +#: part/side_reviews.cpp:142 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Group by Page" +msgstr "पृष्ठमा जानुहोस्" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "" + +#: part/side_reviews.cpp:155 +#, fuzzy, kde-format +#| msgid "Show bookmarked pages only" +msgid "Show annotations for current page only" +msgstr "पुस्तकचिनो लगाइएका पृष्ठ मात्र देखाउनुहोस्" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "" + +#: part/signaturepanel.cpp:101 +#, fuzzy, kde-format +#| msgid "&Properties" +msgid "Properties" +msgstr "गुण" + +#: part/signaturepartutils.cpp:180 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "पृष्ठ: %1" + +#: part/signaturepartutils.cpp:181 +#, fuzzy, kde-format +#| msgid "Enable &background generation" +msgid "Select background image" +msgstr "पृष्ठभूमि सिर्जना सक्षम गर्नुहोस्" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "" + +#: part/signaturepartutils.cpp:244 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Enter document password" +msgstr "खोल्नका लागि कागजात" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:63 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Additional Information" +msgstr "प्रस्तुतिकरण" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:83 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Document Version" +msgstr "खोल्नका लागि कागजात" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:95 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "View Certificate…" +msgstr "केपीडीएफ कन्फिगर गर्नुहोस्..." + +#: part/signaturepropertiesdialog.cpp:97 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "View in Certificate Manager" +msgstr "केपीडीएफ कन्फिगर गर्नुहोस्..." + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "पुस्तकचिनो लगाइएका पृष्ठ मात्र देखाउनुहोस्" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "" + +#: part/videowidget.cpp:146 +#, fuzzy, kde-format +#| msgid "Pages:" +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "पृष्ठहरू:" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, kde-format +msgid "&Edit…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, fuzzy, kde-format +#| msgid "Wipe Down" +msgid "Move &Down" +msgstr "तल सफा गर्नुहोस्" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "" + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "" + +#: shell/shell.cpp:207 +#, fuzzy, kde-format +#| msgid "Unable to find kpdf part." +msgid "Unable to find the Okular component: %1" +msgstr "केपीडीएफ भाग फेला पार्न अक्षम भयो ।" + +#: shell/shell.cpp:250 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgid "Sidebar" +msgstr "स्क्रोलपट्टी देखाउनुहोस्" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" + +#: shell/shell.cpp:315 +#, fuzzy, kde-format +#| msgid "Unable to find kpdf part." +msgid "Unable to find the Okular component." +msgstr "केपीडीएफ भाग फेला पार्न अक्षम भयो ।" + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"फाइल खोल्न क्लिक गर्नुहोस्\n" +"हालैको फाइल खोल्न क्लिक गर्नुहोस् र होल्ड गर्नुहोस्" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"फाइल खोल्नक्लिक गर्नुहोस् वा हालैको फाइल चयन गर्न क्लिक गर्नुहोस् र होल्ड " +"गर्नुहोस्" + +#: shell/shell.cpp:582 +#, fuzzy, kde-format +msgid "Next Tab" +msgstr "पृष्ठ ठीक पार्नुहोस्" + +#: shell/shell.cpp:588 +#, fuzzy, kde-format +#| msgid "Remove Bookmark" +msgid "Previous Tab" +msgstr "पुस्तकचिनो हटाउनुहोस्" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "" + +#: shell/shell.cpp:603 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgid "Lock Sidebar" +msgstr "स्क्रोलपट्टी देखाउनुहोस्" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "" + +#: shell/shell.cpp:708 +#, fuzzy, kde-format +#| msgid "Current mantainer" +msgid "Open Document" +msgstr "हालको सम्भारकर्ता" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "" + +#: shell/shell.cpp:833 +#, fuzzy, kde-format +#| msgid "" +#| "A file named \"%1\" already exists. Are you sure you want to overwrite it?" +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "" +"\"%1\" नाम गरिएको फाइल पहिलेनै अवस्थित छ । के तपाईँ यसमा अधिलेखन गर्ने चाहानामा " +"निश्चित हुनुहुन्छ?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "" + +#: shell/welcomescreen.cpp:64 +#, fuzzy, kde-format +#| msgid "Speak Text" +msgid "&Copy Path" +msgstr "पाठ उच्चारण गर्नुहोस्" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "" + +#: shell/welcomescreen.cpp:137 +#, fuzzy, kde-format +#| msgid "Current mantainer" +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "हालको सम्भारकर्ता" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, fuzzy, kde-format +#| msgid "Current mantainer" +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "हालको सम्भारकर्ता" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, fuzzy, kde-format +#| msgid "Current mantainer" +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "हालको सम्भारकर्ता" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "" + +#, fuzzy +#~ msgid "Geometry with Comment" +#~ msgstr "गुण" + +#, fuzzy +#~| msgid "Modified" +#~ msgid "Modified: %1" +#~ msgstr "परिमार्जित" + +#, fuzzy +#~| msgid "Go to Page" +#~ msgid "Go To Page..." +#~ msgstr "पृष्ठमा जानुहोस्" + +#, fuzzy +#~| msgid "Save to File..." +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "फाइलमा बचत गर्नुहोस्..." + +#, fuzzy +#~| msgid "Configure KPDF..." +#~ msgid "Configure Viewer..." +#~ msgstr "केपीडीएफ कन्फिगर गर्नुहोस्..." + +#, fuzzy +#~| msgid "Configure KPDF..." +#~ msgid "Configure Viewer Backends..." +#~ msgstr "केपीडीएफ कन्फिगर गर्नुहोस्..." + +#, fuzzy +#~| msgid "Unknown" +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "अज्ञात" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%1:" + +#, fuzzy +#~| msgid "Fit Width" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "चौडाइ ठीक गर्नुहोस्" + +#, fuzzy +#~| msgid "Fit Page" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "पृष्ठ ठीक पार्नुहोस्" + +#, fuzzy +#~| msgid "Show scroll&bars" +#~ msgid "Show Sidebar" +#~ msgstr "स्क्रोलपट्टी देखाउनुहोस्" + +#, fuzzy +#~| msgid "Format" +#~ msgid "Form" +#~ msgstr "ढाँचा" + +#, fuzzy +#~| msgid "Remove Bookmark" +#~ msgid "Remove Bookmarks" +#~ msgstr "पुस्तकचिनो हटाउनुहोस्" + +#, fuzzy +#~| msgid "Presentation" +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "प्रस्तुतिकरण" + +#, fuzzy +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "गुण" + +#, fuzzy +#~| msgid "Speak Text" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "पाठ उच्चारण गर्नुहोस्" + +#, fuzzy +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "गुण" + +#, fuzzy +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "गुण" + +#, fuzzy +#~ msgid "Highlight in Yellow" +#~ msgstr "गुण" + +#, fuzzy +#~ msgid "Highlight in Green" +#~ msgstr "गुण" + +#, fuzzy +#~| msgid "&Select Tool" +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "उपकरण चयन गर्नुहोस्" + +#, fuzzy +#~| msgid "&Select Tool" +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "उपकरण चयन गर्नुहोस्" + +#, fuzzy +#~| msgid "&Select Tool" +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "उपकरण चयन गर्नुहोस्" + +#, fuzzy +#~| msgid "Presentation" +#~ msgid "Bookmark annotation" +#~ msgstr "प्रस्तुतिकरण" + +#, fuzzy +#~| msgid "Change &Colors" +#~ msgid "&Toggle Change Colors" +#~ msgstr "रङ परिवर्तन गर्नुहोस्" + +#, fuzzy +#~| msgid "Default transition:" +#~ msgctxt "@option:check Config dialog, presentation page, transitions" +#~ msgid "Enable transitions" +#~ msgstr "पूर्वानिर्धारित परिवर्तन:" + +#, fuzzy +#~| msgid "Advance every:" +#~ msgctxt "@label:spinbox Config dialog, presentation page" +#~ msgid "Advance every:" +#~ msgstr "प्रत्येक उन्नत:" + +#, fuzzy +#~| msgid "Background color:" +#~ msgctxt "@label:listbox Config dialog, general page" +#~ msgid "Custom background color:" +#~ msgstr "पृष्ठभूमि रङ:" + +#~ msgid "Draw border around &Images" +#~ msgstr "छवि वरिपरि किनारा कोर्नुहोस्" + +#, fuzzy +#~| msgid "Author" +#~ msgid "Au&thor:" +#~ msgstr "लेखक" + +#, fuzzy +#~| msgid "Filter Options" +#~ msgid "View Options" +#~ msgstr "फिल्टर विकल्प" + +#~ msgid "Navigation" +#~ msgstr "नेभिगेसन" + +#~ msgid "Show &Navigation Panel" +#~ msgstr "नेभिगेसन प्यानल देखाउनुहोस्" + +#, fuzzy +#~| msgid "Speak Text" +#~ msgid "Show Text" +#~ msgstr "पाठ उच्चारण गर्नुहोस्" + +#, fuzzy +#~| msgid "Icon" +#~ msgid "Large Icons" +#~ msgstr "प्रतिमा" + +#, fuzzy +#~| msgid "Created" +#~ msgid "Created: %1" +#~ msgstr "सिर्जित" + +#, fuzzy +#~| msgid "Title" +#~ msgid "Style" +#~ msgstr "शीर्षक" + +#, fuzzy +#~ msgid "&Size:" +#~ msgstr "शीर्षक" + +#, fuzzy +#~| msgid "&Invert colors" +#~ msgid "Inner color:" +#~ msgstr "रङ उल्टा पार्नुहोस्" + +#, fuzzy +#~| msgid "Pages: %1" +#~ msgid "Name: %1" +#~ msgstr "पृष्ठ: %1" + +#, fuzzy +#~ msgid "Size: %1" +#~ msgstr "शीर्षक" + +#~ msgid "&Browse Tool" +#~ msgstr "उपकरण ब्राउज गर्नुहोस्" + +#, fuzzy +#~| msgid "&Select Tool" +#~ msgctxt "Select Tool" +#~ msgid "Selection" +#~ msgstr "उपकरण चयन गर्नुहोस्" + +#, fuzzy +#~| msgid "&Select Tool" +#~ msgid "&Text Selection Tool" +#~ msgstr "उपकरण चयन गर्नुहोस्" + +#, fuzzy +#~| msgid "&Select Tool" +#~ msgid "T&able Selection Tool" +#~ msgstr "उपकरण चयन गर्नुहोस्" + +#, fuzzy +#~| msgid "" +#~| "The document is going to be launched on presentation mode because the " +#~| "file requested it." +#~ msgid "" +#~ "The document requested to be launched in presentation mode.\n" +#~ "Do you want to allow it?" +#~ msgstr "कागजात प्रस्तुतिकरण मोडमा सुरु हुन गइरहेछ किनभने फाइलले यसलाई अनुरोध गरेको छ ।" + +#, fuzzy +#~ msgid "Presentation Mode" +#~ msgstr "प्रस्तुतिकरण मोडका लागि विकल्प" + +#, fuzzy +#~ msgid "Allow the presentation mode" +#~ msgstr "प्रस्तुतिकरण मोडका लागि विकल्प" + +#, fuzzy +#~| msgid "Options for Presentation Mode" +#~ msgid "Do not allow the presentation mode" +#~ msgstr "प्रस्तुतिकरण मोडका लागि विकल्प" + +#, fuzzy +#~| msgid "Save to File..." +#~ msgid "Save &Copy As..." +#~ msgstr "फाइलमा बचत गर्नुहोस्..." + +#~ msgid "" +#~ "End of document reached.\n" +#~ "Continue from the beginning?" +#~ msgstr "" +#~ "कागजातको अन्त्यमा पुगियो ।\n" +#~ "सुरुआतबाट निरन्तरता दिनुहुन्छ?" + +#, fuzzy +#~| msgid "" +#~| "End of document reached.\n" +#~| "Continue from the beginning?" +#~ msgid "" +#~ "Beginning of document reached.\n" +#~ "Continue from the bottom?" +#~ msgstr "" +#~ "कागजातको अन्त्यमा पुगियो ।\n" +#~ "सुरुआतबाट निरन्तरता दिनुहुन्छ?" + +#, fuzzy +#~| msgid "Current mantainer" +#~ msgid "Current maintainer" +#~ msgstr "हालको सम्भारकर्ता" + +#~ msgid " sec." +#~ msgstr " सेकेन्ड" + +#, fuzzy +#~| msgid "Starting KTTSD Failed: %1" +#~ msgid "Starting Jovie Text-to-Speech service Failed: %1" +#~ msgstr "KTTSD सुरुआत असफल भयो: %1" + +#, fuzzy +#~| msgid "Always Visible" +#~ msgid "All Visible Columns" +#~ msgstr "सधै दृश्यात्मक" + +#~ msgid "No document opened." +#~ msgstr "कुनै कागजात खोलिएको छैन ।" + +#~ msgid "No matches found for '%1'." +#~ msgstr "'%1' का लागि कुनै जोडा फेला परेन ।" + +#, fuzzy +#~ msgid "Ink Properties" +#~ msgstr "गुण" + +#, fuzzy +#~| msgid "Presentation" +#~ msgctxt "Annotation tool" +#~ msgid "Text Annotation" +#~ msgstr "प्रस्तुतिकरण" + +#~ msgid "Moves to the first page of the document" +#~ msgstr "कागजातको पहिलो पृष्ठमा सर्दछ" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "%1 is \"Title\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "%1 is \"File Path\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#, fuzzy +#~| msgid "Overwrite" +#~ msgctxt "@action:button" +#~ msgid "&Overwrite" +#~ msgstr "अधिलेखन गर्नुहोस्" + +#~ msgid "Pages:" +#~ msgstr "पृष्ठहरू:" + +#, fuzzy +#~| msgid "&Properties" +#~ msgid "&Properties..." +#~ msgstr "गुण" + +#, fuzzy +#~| msgid "Moves to the next page of the document" +#~ msgid "Could not load the necessary plugin to view the document." +#~ msgstr "कागजातको पछिल्लो पृष्ठमा सर्दछ" + +#, fuzzy +#~| msgid "Advance every:" +#~ msgid "&Advanced" +#~ msgstr "प्रत्येक उन्नत:" + +#, fuzzy +#~ msgid "Contents:" +#~ msgstr "निरन्तर" + +#~ msgid "Hide &Navigation Panel" +#~ msgstr "नेभिगेसन प्यानल लुकाउनुहोस्" + +#~ msgid "Reading Aids" +#~ msgstr "सहायता पढ्दैछ" + +#, fuzzy +#~| msgid "Page %1" +#~ msgid "page %1" +#~ msgstr "पृष्ठ %1" + +#, fuzzy +#~| msgid "Could not open %1" +#~ msgid "Click for Open %1" +#~ msgstr "%1 खोल्न सकेन" + +#, fuzzy +#~| msgid "General" +#~ msgid "DlgGeneral" +#~ msgstr "साधारण" + +#~ msgid "Program Look" +#~ msgstr "कार्यक्रम हेराइ" + +#~ msgid "Show &search bar in thumbnails list" +#~ msgstr "थम्बनेल सूचीमा खोजी पट्टी देखाउनुहोस्" diff --git a/po/nl/docs/okular/index.docbook b/po/nl/docs/okular/index.docbook new file mode 100644 index 0000000..3a9eacc --- /dev/null +++ b/po/nl/docs/okular/index.docbook @@ -0,0 +1,4411 @@ + +KPDF"> + + +]> + + + + Het handboek van &okular; + + Albert Astals Cid
    &Albert.Astals.Cid.mail;
    +
    +
    + Pino Toscano
    pino@kde.org
    +
    +
    + &Freek.de.Kruijf;&Ruben.Van.Laerhoven; +
    + &FDLNotice; + 2022-02-19 + 22.04 + + + &okular; is een universeel &kde; programma om documenten weer te geven, gebaseerd op de &kpdf;-code. + + + KDE + okular + pdf + ps + postscript + tiff + djvu + dvi + xps + comicbook + fictionbook + markdown + mobipocket + annotaties + +
    + + Inleiding + &okular; is een universeel &kde; programma om documenten weer te geven, gebaseerd op de code van het &kpdf;-programma. Hoewel gebaseerd op de &kpdf;-code, heeft &okular; enige unieke mogelijkheden zoals een overzichtsmodus, een verbeterde ondersteuning voor het weergeven van verschillende formaten en ondersteuning voor annotatie. + &okular; ondersteunt heel wat verschillende formaten zoals &PDF;, &PostScript;, Tiff, DjVU, afbeeldingen (png, jpg, &etc;) XPS, Fiction Books, Comic Book, Plucker, EPub, Fax en Markdown. Voor alle ondersteunde formaten en hun features zie &okular; Document Format Handlers. + + Hoofdvenster van &okular; + + + + + + Hoofdvenster van &okular; + + + + + + Basishandelingen + + Bestanden openen + Selecteer, om een ondersteund bestand te openen in &okular;, BestandOpenen... , kies dan een ondersteund bestand in het dialoogvenster en klik op Openen. Nu kunt u uw bestand zien in het hoofdvenster. + + Het nieuwe document zal geopend worden in een nieuw tabblad als de optie Nieuwe bestanden in tabbladen openen op de Pagina voor algemene configuratie is geactiveerd. + U kunt het tabbladen sluiten door erop te klikken met de &MMB;. + Het eerder gesloten document in een tabbladen kan opnieuw geopend worden met het menu-item &Ctrl;&Shift;TBestand Sluiten tabbladen ongedaan maken. + + Indien u vroeger reeds bestanden hebt geopend in &okular;, kunt u deze snel bereiken door ze te selecteren in het menu BestandRecent geopend. + &okular; is de standaard toepassing van &kde; voor &PDF; en &PostScript; bestanden, die worden gestart wanneer u met de &LMB; op zo'n bestandstype klikt in de bestandsbeheerder. Als u elk bestand wilt openen, waarvan het format door &okular; wordt ondersteund, gebruik dan Openen met...&okular; uit het contextmenu in de bestandsbeheerder. + Nadat u een bestand geopend hebt, wilt u deze waarschijnlijk ook lezen, en er dus ook door willen navigeren. Ga naar de volgende sectie om hier meer over te weten. + + + Navigeren + Deze paragraaf beschrijft hoe u door een document kunt navigeren met &okular;. + Er zijn verschillende manieren om door het document te navigeren. Eén ervan is het gebruiken van de toetsen &Up; en &Down;. U kunt ook de schuifbalk, uw muiswiel of de toetsen &PgUp; en &PgDn; gebruiken. + U kunt ook vim-achtige navigatietoetsen gebruiken, namelijk H om naar de top van de vorige page te gaan, L naar de top van de volgende pagina, J één regel omlaag en K één regel omhoog. + Nog een manier is de &LMB; ingedrukt te houden op welke plaats dan ook in het document, en dan de muis te schuiven in de tegengestelde richting waar u naar toe wilt. Deze functie werkt alleen indien het bladergereedschap geactiveerd is; dit kunt u selecteren door te klikken op HulpmiddelenBladeren. + + Bij het bekijken van een document in de Presentatiemodus gebruikt u de pijltjestoetsen &Up; en &Down; om tussen pagina's of dia's te wisselen. Het nummer en de positie van de huidige dia zal getoond worden in de overlay de rechtsboven hoek van het scherm. + + Als u een document met verschillende pagina's wilt lezen gebruik dan de automatische mogelijkheid van doorschuiven van &okular;. Start het automatisch doorschuiven met &Shift;&Down; of &Shift;&Up;. Gebruik daarna deze toetsen om de schuifsnelheid te vergroten of te verkleinen. U kunt automatisch schuiven tijdelijk starten of stoppen door de &Shift;-toets in te drukken; elke andere knop indrukken schakelt deze functie uit. + Een andere manier om door een document met een aantal pagina's te lopen is om de muisaanwijzer te gebruiken. Sleep de pagina omhoog of omlaag, ga door met slepen zelfs als u de onder of bovenkant van het scherm hebt bereikt en blijf doorgaan. Nadat u de rand van een pagina hebt bereikt, verschijnt de muisaanwijzer weer boven of onderaan het scherm en kunt u gewoon doorgaan met slepen. + De zijbalk aan de linkerzijde van het scherm geeft nog twee extra mogelijkheden om door een document te navigeren: + + + Wanneer u op een miniatuur van een pagina klikt, zal die pagina getoond worden in het weergavegebied. + + + Indien het document een inhoudsopgave heeft, kunt u klikken op een item daarin, en dan gaat de weergave automatisch naar de pagina die daaraan gekoppeld is. + + + Als het document lagen heeft, dan kunt u de getoonde lagen kiezen door the items te activeren of te deactiveren in de lijst met Lagen. + + + Als het document bladwijzers heeft, schakel dan de weergave Bladwijzers in en klik erop om naar de bijbehorende pagina te gaan. Als bladwijzers niet alleen worden getoond voor het huidige document, dan kunt u snel schakelen naar bladwijzers in alle recente geopende bestanden. + + + Als het document annotaties heeft, schakel dan de weergave Annotaties in en klik op de annotaties of selecteer ze met de toetsen &Up; en &Down; en druk op &Enter; om naar de de bijbehorende pagina te gaan. + + + Sommige documenten bevatten koppelingen. U kunt deze aanklikken, en dan wordt automatisch de pagina weergegeven waarnaar de koppeling verwijst. Als de koppeling verwijst naar een webpagina of een niet ondersteund documentformaat, zal het standaard &kde; programma opgeroepen worden. Bijvoorbeeld, wanneer u klikt op een koppeling die verwijst naar https://www.kde.nl zal deze webpagina geopend worden in de standaard &kde; internetbrowser. + + De interne koppelingen van het document werken alleen wanneer Hulpmiddel Bladeren wordt gebruikt. + + Als aanvulling kunt u nog de volgende functionaliteit gebruiken om snel naar specifieke plaatsen te gaan in het document: + + + U kunt naar het begin van het document gaan door &Ctrl;Home of Ga Begin van het document te gebruiken. + + + U kunt naar het einde van het document gaan door &Ctrl;End of Ga Einde van het document te gebruiken. + + + U kunt verder door het document scrollen door de &Space; of de toets &PgDn; te gebruiken. Ga naar de volgende pagina van het document door de werkbalkknop Volgende of Ga Volgende pagina in de menubalk te gebruiken. + + + U kunt teruggaan in het document door de toets &Backspace; of &PgDn; te gebruiken. Ga naar de vorige pagina van het document door de werkbalkknop Vorige of Ga Vorige pagina in de menubalk te gebruiken. + + + U kunt teruggaan naar de posities in het document waar u vandaan kwam in een chronologische volgorde. Bekijk ⪚ het lezen van de zin Zoals getoond in [15], … en u wilt snel de referentie [15] opzoeken. Dan klikt u erop en &okular; zal naar de lijst met referenties springen. Met &Alt;&Shift;&Left; of Ga Terug in de menubalk zal u terugbrengen naar de exacte positie waar u vandaan kwam. + + + U kunt verder in het document gaan na het terugspringen zoals bovenstaand beschreven met &Alt;&Shift;&Right; of Ga Voorwaarts in de menubalk. + + + U kunt naar de volgende overeenkomst gaan bij het zoeken met de toetsen F3 of &Enter; (wanneer het tekstveld Zoeken focus heeft) of menu-item Bewerken Volgende zoeken of terug verplaatsen naar de vorige overeenkomst met de toetsen &Shift;F3 of &Enter; (wanneer het tekstveld Zoeken focus heeft) of menu-item Bewerken Vorige zoeken . + + + + + Presentatiemodus + De presentatiemodus is nog een andere manier om documenten te bekijken in &okular;. Deze kan geactiveerd worden in BeeldPresentatie. Deze toont het document pagina per pagina. De pagina's worden zo getoond dat steeds de hele pagina zichtbaar is. + + &PDF; documenten kunnen zelfs zo ingesteld worden dat ze altijd geopend worden in de presentatiemodus. + + Wanneer u de presentatiemodus gebruikt, is er een hulpbalk beschikbaar aan de bovenzijde van het scherm. Verplaats gewoon de muiscursor naar de bovenzijde van het scherm om deze te zien. + + &okular; in presentatiemodus + + + + + + &okular; in presentatiemodus + + + + Om te navigeren tussen de pagina's kunt u de &LMB; (volgende pagina) en de &RMB; (vorige pagina) gebruiken, of anders het muiswiel, of de pijlknoppen of paginanummer in de bovenbalk, of de toetsen zoals gespecificeerd in de Navigatiesectie. + Gebruik de knop Afspelen/Pauzeren in de bovenste balk om de presentatie respectievelijk af te spelen of te pauzeren. + U kan op elk moment de presentatie beëindigen door op de &Esc;-toets te drukken of door te klikken op het pictogram Afsluiten in de bovenbalk. + U kunt ook met een pen op de huidige pagina tekenen. Klik op het pictogram Tekenmodus aan/uit in de bovenbalk om de tekenfunctie aan of uit te zetten in de presentatiemodus. De tekeningen worden automatisch gewist bij het verlaten van de presentatiemodus. U kunt ook op het pictogram Tekeningen wissen klikken om de tekeningen op de huidige pagina te wissen. + De presentatiemodus biedt ondersteuning voor meer dan één scherm in een configuratie met meerdere schermen. Met meer dan één actief scherm, zal er een nieuwe knop verschijnen in de bovenbalk, met het pictogram van een scherm: dit is een afrolvak dat toelaat om de presentatie te verplaatsen naar een van de andere beschikbare schermen. + De presentatiemodus heeft enkele configuratie-instellingen, waarvan u de beschrijving kunt vinden in het hoofdstuk &okular; configureren. + + + + Terugzoeken tussen &latex;-bewerkers en &okular; + + Terugzoeken (inverse search) is een zeer handige functie als u zelf een &latex;-document schrijft. Als alles goed is opgezet kunt u met de linker muisknop klikken, terwijl &Shift; wordt ingedrukt, in het &okular;-venster. Daarna zal de bewerker het &latex;-bronbestand laden en naar de juiste alinea gaan. + + Terugzoeken werkt niet, tenzij: + + + Het broncode-bestand met succes is gecompileerd. + &okular; weet welke editor u wilt gebruiken. + Het hulpmiddel Bladeren moet geactiveerd zijn, wat kan als u HulpmiddelenBladeren kiest. + + + Met deze functie van &okular;, zal het klikken met de linker muisknop, terwijl &Shift; wordt ingedrukt, in het &DVI;- of &PDF;-document, resulteren in het openen van het bijbehorende &latex;-document en dan te proberen naar de bijhorende regel te gaan. Vergeet niet &okular; te vertellen de juiste editor te gebruiken in het menu-item van &okular; InstellingenOkular instellen... (op de pagina Editor). + + Voor meer details over configuratie van de editor ga naar de bijbehorende sectie van dit handboek. + + + &okular; configureren + + + + + + De editor instellen in &okular; + + De editor instellen in &okular; + + + + + + + Uitgebreide mogelijkheden van &okular; + + Ingebedde bestanden + Wanneer een document enkele ingebedde bestanden heeft, zal bij het openen een balk verschijnen boven de paginaweergave om u te melden dat er ingebedde bestanden aanwezig zijn. + + De ingebedde bestandenbalk + + + + + + De ingebedde bestandenbalk + + + + In dit geval kunt u ofwel klikken op de link in de tekst van de balk ofwelBestandIngebedde bestanden selecteren om het dialoogvenster voor ingebedde bestanden te openen. Via dit venster kunt u de ingebedde bestanden bekijken of uitpakken. + + + Formulieren + Als het huidige document formulieren heeft, dan zal bij het openen een balk verschijnen boven de bekeken pagina waar u de formulieren in kunt schakelen. + + De formulierenbalk + + + + + + De formulierenbalk + + + + In dit geval kunt u ofwel klikken op Formulieren tonen in de balk ofwel BeeldFormulieren tonen selecteren om gegevens in te voeren in de formuliervelden. + + + Ondertekeningen + Als het huidige document ondertekeningen heeft, zal er een balk verschijnen boven de bekeken pagina na het openen van het document. Het stelt u in staat het paneel Ondertekeningen te openen. + + De ondertekeningenbalk + + + + + + De ondertekeningenbalk + + + + Met het paneel Ondertekeningen kunt u de ondertekening van het document en zijn certificaat inspecteren. + + Het ondertekeningenpaneel + + + + + + Het ondertekeningenpaneel + + + + + Deze functie is alleen beschikbaar voor &PDF; documenten. U moet minstens versie 0.51 installeren van Poppler om de meeste informatie over ondertekening te krijgen, versie 0.68 om informatie over locatie/reden van ondertekening te krijgen en versie 0.73 om informatie over het certificaat van de ondertekening te krijgen. + + + Digitale ondertekeningen worden toegevoegd + U kunt digitale ondertekeningen aan documenten toevoegen met de overeenkomende actie in het menu Hulpmiddelen. + Om in staat te zijn een document te ondertekenen moet u een juist PKCS certificaat voor ondertekening beschikbaar te hebben op uw systeem. &okular; is niet in staat zulke certificaten aan te maken omdat ze uitgegeven moeten worden door certificaatautoriteiten om nuttig te zijn voor validatie, &etc; + We gebruiken de bibliotheek Poppler om ondertekening van &PDF;-documenten en Poppler gebruikt de bibliotheek NSS om certificaten te behandelen. Op het moment van schrijven zal Poppler proberen een van de volgende opslagruimten van NSS certificaten te gebruiken (de eerste die bestaat): + + De huidige opslag van Firefox voor gebruikerscertificaten. + De systeembrede opslag van certificaten /etc/pki/nssdb. + De huidige gebruiker $HOME/.pki/nssdb + + Als u een eigen opslag voor certificaten wilt gebruiken, dan kunt u dat doen in de sectie Backendconfiguratie van &PDF; van de dialoog Backends configureren.... + + Deze functie is alleen beschikbaar voor &PDF; documenten. U moet minstens versie 21.01 installeren van Poppler om digitale ondertekening aan een document toe te kunnen voegen. + + + + + Annotaties + &okular; stelt u in staat uw documenten te bekijken en te annoteren. + + Annotaties van &okular; + + + + + + Annotaties van &okular; + + + + &okular; heeft twee verschillende soorten of annotaties: + Tekstannotaties zoals Met geel accentueren en Zwart onderstrepen kan gebruikt worden voor bestanden met tekst zoals (⪚ &PDF;). + Grafische annotaties zoals Pop-up-notitie, Inline notitie, Lijn uit de vrije hand, Accentuering, Rechte lijn, Veelhoek, Stempel, Onderstreping, Ellips en Schrijfmachine. + Grafische annotaties zijn niet beperkt tot &PDF; bestanden, zij kunnen worden gebruikt voor elk format dat &okular; ondersteunt. + Met het menu Annotaties kunt u een Pop-up-notitie of een ander soort annotatie toevoegen of commentaar bewerken. + + &okular; de "documentenarchief"-functie. Dit is een specifiek formaat van &okular; om het document inclusief gerelateerde metadata (momenteel enkel annotaties) over te dragen. U kunt een "documentenarchief" van het geopende document opslaan door BestandOpslaan als en Okular-documentenarchief in de selectie Filter te selecteren. Documenten op deze manier opgeslagen zullen .okular als hun bestandsnaamextensie. Om een documentenarchief van &okular; te openen, opent u deze met &okular; net zoals u ⪚ een &PDF; document zou openen. + U kunt ook annotaties direct opslaan in &PDF;-bestanden. U kunt Bestand Opslaan gebruiken om het over het huidige bestand op te slaan of Bestand Opslaan als... om het op te slaan naar een nieuw bestand. + + Merk op dat toevoegen, bewerken of verwijderen van annotaties niet mogelijk kan zijn met ingeschakelde DRM in bestanden. + + + Het is mogelijk om elke annotatieactie ongedaante maken of opnieuw te doen door het overeenkomstige item uit het menu Bewerken te gebruiken. Het is ook mogelijk de actie ongedaan maken door op &Ctrl;Z te drukken en deze opnieuw te doen door op &Ctrl;&Shift;Z te drukken. + + U kunt de standaard eigenschappen en het uiterlijk van elk hulpmiddel voor annotaties instellen. Ga naar de bijbehorende sectie van dit handboek voor meer informatie. + + Annotaties toevoegen + Om annotaties toe te voegen aan het document, kunt u de knop Snelle annotaties gebruiken op de hoofdbalk van &okular; of de werkbalk voor annotaties activeren. Dit kunt u doen door HulpmiddelenAnnotaties te selecteren of door op F6 te drukken. Als eenmaal de werkbalk voor annotaties getoond wordt, kunt u één van de knoppen erop of sneltoetsen (de toetsen 1 tot 9) gebruiken om te beginnen die annotatie te maken. + De werkbalk voor annotaties helpt u om annotaties te maken bij tekeningen, vormen en tekstberichten. U kunt de werkbalk voor annotaties gebruiken om een document te markeren (⪚ lijnen, ellipsen, polygonen, stempels, accentueringen, onderstrepingen &etc; toe te voegen). De onderstaande tabel beschrijft exact wat de standaard set van knoppen op de werkbalk voor annotaties doet. + + + + + Knop + Naam hulpmiddel + Beschrijving + + + + + + + + + + + + + + + Accentuering + + + Accentueert tekst in het document met een gegeven achtergrondkleur. + Klik op de knop voor hulpmiddelen, klik daarna met de &LMB; sleep om een tekstfragment te accentueren. + Het is mogelijk om het Type (Accentuering, Krulling, Onderstreping of Doorstreping), Kleur en Dekking voor de accentuering te definiëren. Klik gewoon rechts op de geaccentueerde tekst en selecteer het menu-item Eigenschappen. + + + + + + + + + + + + + + Onderstrepen + + + Onderstreept tekst met een rechte lijn. + Klik op de knop voor hulpmiddelen, klik daarna met de &LMB; sleep om een tekstfragment te onderstrepen. + Het is mogelijk om het Type (Accentuering, Krulling, Onderstreping of Doorstreping), Kleur en Dekking voor de onderstreping te definiëren. Klik gewoon rechts op de onderstreepte tekst en selecteer het menu-item Eigenschappen. + + + + + + + + + + + + + + Golvend + + + Onderstreept tekst met een slingerlijn. + Klik op de knop voor hulpmiddelen, klik daarna met de &LMB; sleep om een tekstfragment met een slingerlijn te onderstrepen. + Het is mogelijk om het Type (Accentuering, Krulling, Onderstreping of Doorstreping), Kleur en Dekking voor de onderstreping te definiëren. Klik gewoon rechts op de onderstreepte tekst en selecteer het menu-item Eigenschappen. + + + + + + + + + + + + + + Doorstrepen + + + Streept enige tekst door. + Klik op de knop voor hulpmiddelen, klik daarna met de &LMB; sleep om een tekstfragment door te strepen. + Het is mogelijk om het Type (Accentuering, Krulling, Onderstreping of Doorstreping), Kleur en Dekking voor de onderstreping te definiëren. Klik gewoon rechts op de onderstreepte tekst en selecteer het menu-item Eigenschappen. + + + + + + + + + + + + + + Schrijfmachine + + + Voegt tekst toe op een doorzichtige achtergrond. Dit is nuttig voor het invullen van formulieren waarin geïntegreerde bewerkbare tekst velden ontbreken. + Klik op de knop hulpmiddel, klik daarna met de &LMB; op de hoek linksboven waar u de tekst wilt toevoegen, sleep daarna naar de plek rechtsonder. Type enige tekst en klik daarna op OK om het op te slaan, Wissen om de tekstte wissen of Annuleren om te annuleren. + Het is mogelijk om het Lettertype en Tekstkleur voor de test te definiëren. Klik gewoon rechts op de aangemaakte schrijfmachinetekst en selecteer het menu-item Eigenschappen. + + + + + + + + + + + + + + Inline-notitie + + + Maakt een inline-notitie. De notitie zal inline getoond worden zoals deze is. + Klik op de knop hulpmiddel, klik daarna met de &LMB; op de hoek linksboven van waar u de notitie wilt toevoegen, sleep daarna naar een plek rechtsonder. Voer de tekst in van de notitie en klik op OK om de notitie op te slaan, Wissen om de tekst van de notitie te wissen of Annuleren om het maken van de notitie te annuleren. + Het is mogelijk om de Kleur, Dekking, Lettertype, Uitlijning en Randbreedte voor de notitie te definiëren. Klik gewoon rechts op het aangemaakte notitiepictogram en selecteer het menu-item Eigenschappen. + + + + + + + + + + + + + + Pop-up-notitie + + + Maakt een notitie met meerdere regels. De notitie kan bekeken worden door dubbel te klikken op het aangemaakte pictogram in het document. + Klik op de knop hulpmiddel, klik daarna op de plaats in het document waar de pop-up-notitie zou moeten worden toegevoegd. Voer de tekst van pop-up-notitie in en klik daarna op de knop Deze notitie sluiten rechts bovenin de hoek van het pop-up-venster. + Het is mogelijk om de Kleur, Dekking en Pictogram voor de notitie te definiëren. Klik gewoon rechts op het aangemaakte notitiepictogram en selecteer het menu-item Eigenschappen. + + + + + + + + + + + + + + Lijn uit de vrije hand + + + Tekent vrij gevormde lijnen. + Klik op de knop voor hulpmiddelen, klik daarna met de &LMB; en sleep om de lijn te tekenen. + Het is mogelijk om de Kleur, Dekking en Breedte voor de lijn te definiëren. Klik gewoon rechts op de aangemaakte lijn en selecteer het menu-item Eigenschappen. + + + + + + + + + + + + + + Pijl (afrollijst) + + + Tekent een pijl tussen twee punten. + Klik op de knop voor hulpmiddelen, klik daarna met de &LMB; om het begin van de pijl in te stellen, sleep daarna naar het eindpunt van de lijn en klik nog eens. + Het is mogelijk om de Kleur, Dekking, Breedte, Lijnbegin, Lijneinde, Startlijnlengte en Lengte hoofdlijnextensies voor de lijn te definiëren. Klik gewoon op de aangemaakte lijn en selecteer het menu-item Eigenschappen. + + + + + + + + + + + + + + Rechte lijn (afrollijst) + + + Tekent een lijn tussen twee punten. + Klik op de knop voor hulpmiddelen, klik daarna met de &LMB; en houd deze omlaag om het begin van de lijn in te stellen, sleep daarna naar het eindpunt van de lijn en klik nog eens. + Het is mogelijk om de Kleur, Dekking, Breedte, Lijnbegin, Lijneinde, Startlijnlengte en Lengte hoofdlijnextensies voor de lijn te definiëren. Klik gewoon op de aangemaakte lijn en selecteer het menu-item Eigenschappen. + + + + + + + + + + + + + + Rechthoek (afrollijst) + + + Tekent een rechthoek rond een gekozen gebied. + Klik op de knop hulpmiddel, klik daarna met de &LMB; om de de linkerbovenhoek van de rechthoek te plaatsen, sleep daarna de plek voor de hoek rechtsonder. + Het is mogelijk om het Type (Rechthoek of Ellips), Kleur, Dekking, Vulling van vorm (en zijn kleur) en Breedte voor de rand te definiëren. Klik gewoon rechts op de aangemaakte rand en selecteer het menu-item Eigenschappen + + + + + + + + + + + + + + Ellips (afrollijst) + + + Tekent een ellips of rechthoek rond een gekozen gebied. + Klik op de knop hulpmiddel, klik daarna met de &LMB; en houd deze omlaag om de plek van de linkerbovenhoek van de omschreven rechthoek van de ellips, sleep daarna naar de plaats van de hoek rechtsonder. + Het is mogelijk om het Type (Rechthoek of Ellips), Kleur, Dekking, Vulling van vorm (en zijn kleur) en Breedte voor de rand te definiëren. Klik gewoon rechts op de aangemaakte rand en selecteer het menu-item Eigenschappen + + + + + + + + + + + + + + Veelhoek (afrollijst) + + + Tekent een gesloten figuur met drie of meer lijnsegmenten. De overeenkomstige notitie kan bekeken worden door dubbel te klikken binnen de veelhoek. + Klik op de knop voor hulpmiddelen, klik daarna met de &LMB; om de eerste hoek van de veelhoek te plaatsen, sleep daarna naar de plek van de tweede hoek. Ga door totdat u de gehele veelhoek hebt geplaatst, dus tot de eerste hoek. Dubbelklik als u een notitie aan de veelhoek wilt toevoegen. Voer de tekst van de notitie in en klik op OK om de notitie op te slaan, op Wissen om de notitie te wissen of Annuleren om het invoeren te annuleren. + Het is mogelijk om de Kleur, Dekking, Vulling van vorm (en zijn kleur) en Breedte voor de veelhoek te definiëren. Klik gewoon rechts op de aangemaakte veelhoek en selecteer het menu-item Eigenschappen + + + + + + + + + + + + + + Stempel + + + Voegt een voorgedefinieerde vorm in in het document. + Klik op de knop voor hulpmiddelen om het stempel uit de afrollijst te kiezen en klik daarna met de &LMB; om het stempel te plaatsen. + Een enkele klik plaatst eenvoudig een vierkant stempel (nuttig voor pictogrammen). Om een rechthoekig stempel te zetten kunt u klikken met de &LMB; en ingedrukt houden om het punt linksboven neer te zetten, sleep daarna naar de plaats van het punt rechtsonder. + Het is mogelijk om de Dekking en Stempelsymbool voor het stempel te definiëren. Klik gewoon rechts op het aangemaakte stempelpictogram en selecteer het menu-item Eigenschappen. + + Deze functie is experimenteel. Aangepaste postzegels ingevoegd in &PDF;-documenten zijn niet zichtbaar in &PDF;-lezers anders dan &okular;. + + + + + + + Dit zijn de standaard annotaties geleverd door &okular;. Met het tonen van de Annotatiespagina van de configuratiedialoog kunt u uw eigen annotaties toevoegen, zoals eigen stempels, tekstmarkeringen of een geometrische vorm met binnenkleur om gebieden te accentueren &etc; + + Het is mogelijk om &latex;-code toe te voegen aan de tekst met annotaties. Voeg $$code$$ toe aan de tekst van de annotatie, waar code elke geldige &latex;-vergelijking is. Volg de instructies op het scherm op om het te laten renderen door een &latex;-distributie geïnstalleerd in uw systeem. + + Het is mogelijk om het geselecteerde hulpmiddel te configureren met de werkbalk voor annotaties zelf: + + + + + Knop + Naam optie + Beschrijving + + + + + + + + + + + + + + + Lijndikte + + + Klik op deze knop om de breedte van de afrollijst te kiezen. + + + + + + + + + / + + + + + + + Annotatiekleur + + + Klik op deze knop om de kleur van de tekst of rand van uw annotatie te kiezen. U kunt een van de voorgedefinieerde kleuren kiezen of klikken op het item Aangepaste kleur... om de dialoog kleurselectie te openen. + + + + + + + + + + + + + + Annotatievulkleur + + + Klik op deze knop om de vulkleur van uw annotatie te kiezen. U kunt een van de voorgedefinieerde kleuren kiezen of klikken op het item Aangepaste kleur... om de dialoog kleurselectie te openen. + + + + + + + + + + + + + + Dekking van annotatie + + + Klik op deze knop om het niveau van de dekking uit de afrollijst te kiezen (100% is voor ondoorzichtige annotaties). + + + + + + + + + + + + + + Lettertype van annotatie + + + Klik op deze knop om de dialoog voor selecteren van lettertypen te openen. + + + + + + + + + + + + + + Geavanceerde instellingen voor het huidige hulpmiddel voor annotaties + + + Klik op deze knop om de algemene dialoog voor configuratie voor uw annotatie te openen. + + + + + + Er zijn drie extra hulpmiddelknoppen op de standaard werkbalk voor annotaties. + + + + + Knop + Beschrijving + + + + + + + + + + + + + + + De huidige annotatie aan het menu Snelle annotaties op de hoofdwerkbalk toevoegen. + + U kunt de standaard sneltoetsen uit &Alt;9 tot &Alt;0 gebruiken om de acties uit snelle annotatie op elk moment dat u wilt gebruiken zelfs met de verborgen werkbalk voor annotaties. + + + + + + + + + + + + + + + Indien geactiveerd, het huidige hulpmiddel voor annotatie blijft actief na gebruik. + + + + + + + + + + + + + + De werkbalk voor annotaties verbergen + + + + + + Door op &Shift; te drukken kunt u de hoek van de lijn en veelhoekannotaties beperken tot 15° stapjes en de verhouding van vorm-annotaties (⪚ rechthoek, ellips) tot 1:1. U kunt ook een werkbalkknop krijgen met Werkbalken configureren.... + De inhoud van het menu Snelle annotaties kan gecorrigeerd worden met de Annotatiepagina van de configuratiedialoog van &okular;. Deze pagina kan geopend worden door te klikken op de knop Snelle annotaties en daarna kiezen van Annotaties configureren... uit het pop-upmenu. + + Bij het activeren van de werkbalk voor annotaties wordt er automatisch gewisseld naar de modus bladeren. + + U kunt het maken van een annotatie op elk tijdstip stoppen door nog eens op de knop, die u gebruikt, te drukken of door de &Esc;-toets in te drukken. + De nieuw aangemaakte annotatie zal als auteur hebben die u ingesteld hebt in de Annotaties pagina in het dialoogvenster voor &okular; als auteur. De pagina Annotaties kan ook gebruikt worden om de inhoud van de werkbalk voor annotaties te configureren. + + + Annotaties verwijderen + Om een annotatie te verwijderen, ga eerst na dat het hulpmiddel Bladeren is geselecteerd (HulpmiddelenBladeren), daarna klikt u er gewoon op met de &RMB; en selecteert u Verwijderen of selecteer een annotatie met de &LMB; en druk op de toets ∇. + Indien het venster van de annotatie open staat bij het verwijderen van de annotatie, zal dit gesloten worden. + + + Annotaties bewerken + Om een annotatie te bewerken, ga eerst na dat het hulpmiddel Bladeren is geselecteerd (HulpmiddelenBladeren) daarna klikt u op een annotatie met de &RMB; en selecteert u Eigenschappen. Er zal dan een dialoogvenster verschijnen met de algemene annotatie-instellingen (zoals kleur, dekking, auteur, &etc;) en de specifieke instellingen voor dat type annotatie. + + Dialoogvenster voor annotatie-eigenschappen + + + + + + Dialoogvenster voor annotatie-eigenschappen + + + + Om een annotatie te verplaatsen, houdt u de &Ctrl; toets ingedrukt, zet u de muiscursor op de annotatie, en verplaatst u het met de &LMB;. + Als u met de &LMB; op een annotatie drukt wordt het geselecteerd. Handvatten wijzigen van grootte verschijnen op het selectievierkant. Wanneer de cursor is geplaatst boven een van de 8 handvatten voor wijziging van de grootte op de hoeken of de randen, zal de cursor van vorm veranderen om de modus wijzigen van grootte aan te geven. Klik ergens anders op de annotatie om het te verplaatsen. &Esc; indrukken of in een gebied klikken buiten de annotatie annuleert een selectie. + Grootte wijzigen is alleen beschikbaar op annotatietypen inlinenotitie, schrijfmachine, stempel en ellips. + + + Afhankelijk van de documentrechten (typisch alleen voor &PDF; documenten), kunnen sommige opties uitgeschakeld zijn. + + + + + Beheer van bladwijzers + &okular; heeft een zeer flexibel systeem voor bladwijzers. &okular; slaat de positie op de pagina op in de bladwijzer en laat u meer dan één bladwijzer per pagina maken. + Om bladwijzers in &okular; te beheren kunt u de Bladwijzerweergave uit de Zijbalk, Bladwijzermenu of contextmenu van de documentweergave (klik met &RMB; om het te openen) gebruiken.. + + Bladwijzerweergave + Om de Bladwijzerweergave te openen, klik op het tabblad Bladwijzers bovenaan de Zijbalk. Als de Zijbalk niet wordt getoond, klik op de knop Zijbalk tonen op de werkbalk of het menu-item F7 InstellingenZijbalk tonen om het zichtbaar te maken. + + Contextmenu van bladwijzerweergave + + + + + + Contextmenu van bladwijzerweergave + + + + Het keuzevakje Voor alle documenten tonen kan gedeactiveerd worden om alleen de bladwijzers uit het huidige document te tonen. + De filterbalk bovenaan de weergave van Bladwijzers kan gebruikt worden om de inhoud van het paneel met de lijst van bladwijzers te filteren volgens de tekst in het vak. + In het paneel met lijst ziet u de lijst met bladwijzers in een boomstructuur: elke submap van de huidige map kan worden uitgevouwen of ingeklapt door op het <-teken of v naast het pictogram te klikken. + Door rechts te klikken op een document-item kunt u het document-item openen en hernoemen of uit de lijst verwijderen. Bedenk dat het verwijderen van een document-item tot gevolg heeft dat alle bladwijzers in het bijbehorende document worden verwijderd. + Door rechts te klikken op een individuele bladwijzer krijgt u een contextmenu waarmee u naar die bladwijzer kunt gaan, het hernoemen of verwijderen. + Het menu na rechtsklikken met items in de inhoudsopgave kan gebruikt worden om bladwijzers te maken of naar de volgende of vorige bladwijzer te gaan. + + + + + Opdrachtregel-opties + In de meeste gevallen wordt &okular; gestart vanuit het &kde; programma-menu of door te klikken op een pictogram op het bureaublad, maar het kan ook worden geopend vanaf de commandoregel van een terminalvenster. Er is een aantal nuttige opties beschikbaar wanneer u het programma op deze manier start. + + Een bestand opgeven + Door een pad en bestandsnaam van een bepaald bestand op te geven, opent &okular; bij het opstarten dat bestand. De opdracht ziet er dan als volgt uit: + % okular + + + Voor &PDF; documenten kan de naam gegeven worden als documentnaam#benoemde_bestemming waar benoemde_bestemming een specifieke benoemde bestemming is ingebed in het document. + + + + Overige opdrachtregel-opties + De volgende commandoregel-opties zijn beschikbaar + + + okular + Opent een pagina met een gegeven nummer in het document. Is ook beschikbaar via okular + + + okular + Document in presentatiemodus starten. + + + okular + Met afdrukdialoog beginnen. + + + okular + Met afdrukdialoog beginnen en na afdrukken beëindigen. + + + okular + Controle over "unieke sessie". + + + okular + Stelt u in staat om te voorkomen dat &okular; het venster vooraan brengt na de start. + + + okular + Probeert een gegeven tekenreeks in het document te vinden en te accentueren. Werkt alleen als slechts één document is als argument gegeven in het commando okular. + + + okular + Stelt het externe commando voor de bewerker. U kunt het niet instellen in een al actief exemplaar van &okular;. Merk op dat niet wordt ondersteund bij instellen van het commando voor de bewerker op de opdrachtregel. + + + + + + Venster op pagina laten passen + De functie Venster op pagina laten passen maakt het venster zo groot dat het exact dezelfde grootte als de pagina op de huidige zoomfactor heeft. Als de pagina niet volledig op het scherm past zal het venster vergroot zijn zodat het grootst mogelijke deel van de pagina wordt getoond. + Deze functie kan uitgevoerd worden met de sneltoets &Ctrl;J. + + + + + De menubalk + + + Het menu Bestand + + + + &Ctrl;O Bestand Openen... + + + Open een ondersteund bestand of een &okular;-documentarchief. Indien er reeds een document geopend was, zal het worden gesloten. Kijk voor meer informatie in de sectie over Bestanden openen. + + + + + + Bestand Recent geopend + + + Open een bestand dat reeds gebruikt is geweest via een submenu. Indien er op dat moment een bestand getoond wordt, zal het worden gesloten. Kijk voor meer informatie in de sectie over Bestanden openen. + + + + + + Bestand PostScript als &PDF; importeren... + + + Open een &PostScript;-bestand en converteer het naar &PDF;. + + + + + + &Ctrl;&Shift;T Bestand Tabblad sluiten ongedaan maken + + + Opnieuw openen van het laatst gesloten document. Deze actie is alleen actief als u een document in een tabbladen hebt gesloten tijdens de huidige sessie. + + + + + + Bestand Map waarin het zich bevindt openen + + + Open de map die het huidige document in uw favoriete bestandsbeheerder bevat. Deze actie is speciaal nuttig voor het geval dat u een &PDF;-bestand uit het internet hebt gedownload die zichzelf in &okular; opent. De locatie van dit bestand kan niet helder zijn of gemakkelijk te vinden zonder deze functie. + + + + + + &Ctrl;S Bestand Opslaan + + + Sla op slaat het document op onder een nieuwe naam, inclusief alle wijzigingen (annotaties, inhoud van formulieren, &etc;), mits de backend van het document dit opslaan ondersteunt. Als de backend het opslaan van de wijzigingen niet ondersteunt, zal de gebruiker gevraagd worden om te kiezen uit de optie om ze te verwerpen of ze op te slaan samen met het document in een &okular;-documentarchief. + + + + + + &Ctrl;&Shift;S Bestand Opslaan als... + + + Sla op slaat het document op onder een nieuwe naam, inclusief alle wijzigingen (annotaties, inhoud van formulieren, &etc;), mits de backend van het document opslaan ondersteunt. Als de backend opslaan van wijzigingen niet ondersteunt, zal de gebruiker de optie krijgen om ze te verwerpen of ze samen op te slaan met het document in een &okular;-documentarchief. + + Merk op dat, vanwege de manier waarop dit is geïmplementeerd, zelfs wanneer er geen wijzigingen zijn in het bestand, hoeft het nieuwe bestand geen exacte bit-voor-bit kopie van het originele bestand (⪚ het kan een andere SHA-1 hash hebben, &etc;). + + + + + + + F5 Bestand Herladen + + + Herlaad het huidige geopende bestand. + + + + + + &Ctrl;P Bestand Afdrukken... + + + Afdrukken van het huidige getoonde document. Let erop dat &okular; enige specifieke opties voor afdrukken van &PDF; heeft die beschikbaar zijn via drukken op de knop Opties +> +> en daarna &PDF; opties te kiezen. Deze opties zijn er om uw annotaties af te drukken of modus rasteriseren te configureren als u problemen heeft met afdrukken van sommige symbolen of de modus schalen wilt wijzigen. + + De opties modus schalen zijn alleen beschikbaar wanneer u de optie Rasteriseren afdwingen activeert. + + + + + + + Bestand Afdrukvoorbeeld... + + + Toont een voorbeeld van hoe het huidig getoonde document afgedrukt zou worden met de standaard instellingen. + + + + + + &Alt;Enter Bestand Eigenschappen + + + Laat wat basisinformatie zien over het document, zoals titel, auteur, aanmaakdatum, en details over de gebruikte lettertypes. De beschikbare informatie hangt af van het type document. + + Neem notitie van de informatie over vervangen van lettertype in het tabblad Lettertypen van de dialoog Eigenschappen. Veel problemen met weergeven van lettertypen kan opgelost worden de installatie van de vervangende lettertypen. + + + + + + Bestand Ingebedde bestanden... + + + Toon de ingebedde bestanden in het document, indien het document er één of meer heeft. Kijk voor meer informatie in de sectie over Ingebedde bestanden. + + + + + + Bestand Exporteren als + + + Dit item bevat de formaten waarnaar het huidige document geëxporteerd kan worden. Het eerste item is altijd voor alle soorten documenten Platte tekst.... + Het tweede item is Documentenarchief, waarmee u het document met uw annotaties kunt opslaan in het specifieke archiefformaat van &okular;. Het is dus zeer gemakkelijk om het originele document samen met uw annotaties te delen met andere &okular;-gebruikers, of met hen samen te werken. + + + + + + Bestand Delen + + + Dit item bevat de services die gebruikt kunnen worden om het huidige document met andere mensen te delen of het naar uw apparaten te verzenden. De items in dit submenu worden gecontroleerd door het systeem. Ze hangen af van het huidige documentformaat en de geïnstalleerde KPurpose plug-ins. + + + + + + &Ctrl;Q Bestand Afsluiten + + + &okular; afsluiten. + + + + + + + Het menu Bewerken + + + + + &Ctrl;Z Bewerken Ongedaan maken + + + Ongedaan maken het commando voor bewerking van de laatste annotatie (maken en verwijderen van annotaties, bewerken van willekeurige annotatie-eigenschappen, verplaatsen van annotaties met &Ctrl;+verslepen en bewerken van de inhoud van een annotatie). + + + + + + &Ctrl;&Shift;Z Bewerken Opnieuw + + + Opnieuw de laatste opnieuwstap bij bewerken van annotaties. + + + + + + + + &Ctrl;C Bewerken Kopiëren + + + Kopieer de huidige geselecteerde tekst in de Tekstselecteermodus naar het klembord. + + + + + + + + &Ctrl;A BewerkenAlles selecteren + + + Selecteert alle tekst (indien aanwezig in het document). Dit werkt enkel in de Tekstselectiemodus. + + + + + + + + Bewerken Alle tekst op huidige pagina selecteren + + + Selecteert alle tekst (indien het document dit levert) van de huidige pagina. + + + + + + + + &Ctrl;F Bewerken Zoeken... + + + Toont de zoekbalk aan de onderkant van het weergavegebied, waarmee u kunt zoeken naar een rij opeenvolgende letters in het document. + + + + + + F3 BewerkenVolgende zoeken + + + Probeer om de vorige positie van de gezochte rij opeenvolgende tekens opnieuw te vinden in het document. + + + + + + &Shift;F3 BewerkenVorige zoeken + + + Gaat naar de vorige positie waar de gezochte rij opeenvolgende tekens voor komt in het document. + + + + + + + Het menu Beeld + + + + &Ctrl;&Shift;P Beeld Presentatie + + + Activeert de Presentatiemodus. Zie voor meer informatie in de sectie over Presentatiemodus. + + + + + &Ctrl;&Shift;F Beeld Volledig scherm + + + Volledig scherm modus activeren. Merk op dat deze modus anders is dan de presentatiemodus. Volledig scherm modus dient alleen maar om de vensterdecoratie en de menu- en werkbalk te verbergen. + + + + + &Ctrl;+ Beeld Inzoomen + + + Versterk de vergroting van de documentweergave. + + + + + + &Ctrl;- Beeld Uitzoomen + + + Verminder de vergroting van de documentweergave. + + + + + Beeld Inzoomen tot 100% + + + Zoom het afbeeldingsdocument tot op de actuele grootte zoals voorgeschreven door de parameters van het document. + + + + + Beeld Passend in de breedte + + + Verander de vergroting van de documentweergave naar een factor die ervoor zorgt dat de paginabreedte gelijk is aan de breedte van de documentweergave. + + + + + Beeld Pagina passend maken + + + Verander de vergroting van het documentweergave naar een factor die ervoor zorgt dat er minstens één volledige pagina tegelijk bekeken kan worden. + + + + + Beeld Automatisch passend maken + + + Wijzig de vergroting van het document naar een waarde die, afhankelijk van de relatie tussen de afmetingen van de pagina en het weergavegebied, automatisch de breedte van de pagina's' gelijk maakt aan de weergavebreedte van het document (zoals passend op de breedte), de hoogte van de pagina's gelijk maakt aan de hoogte van de weergave van het document (zoals passend in de hoogte) of de gehele pagina zichtbaar maakt (zoals passend op de pagina). + + + + + Beeld Weergavemodus + + + In dit submenu kunt u de weergavemodus kiezen voor de pagina's. De beschikbare opties zijn: Eén pagina (maar één pagina per rij), Overliggende pagina's (twee pagina's per rij, zoals in een boek), Overliggende pagina's (Eerste pagina centreren) en Overzicht (het aantal kolommen wordt gespecificeerd in de instellingen van &okular;). + Daarnaast kunt u de modus Continu inschakelen. In modus continu worden alle pagina's van het document getoond en kunt u er rustig doorheen schuiven. Anders wordt slechts één pagina (of één rij pagina's) tegelijk getoond. + + + + + Beeld Oriëntatie + + + In dit submenu kunt u de oriëntatie veranderen van de pagina's in het document. + + De rotatie die hier geselecteerd is, wordt toegepast op de oriëntatie van elke pagina. + + U kunt Oorspronkelijke oriëntatie selecteren om de oriëntatie van het document te herstellen, ongeacht welke rotaties handmatig toegepast zijn. + + + + + Beeld Weergave trimmen + + + Dit submenu stelt u in staat de witte randen aan de pagina's bij het bekijken te verwijderen van deze pagina's (item Marges trimmen) of zichtbare gedeelte trimmem op selectie (item Op selectie trimmem). + De modus Op selectie trimmen stelt u in staat om een selectie van de weergegeven pagina te maken om een zichtbaar gebied te definiëren toe te passen op alle pagina's in het document. Selectie van een klein trimgebied dwingt minimale afmetingen af (20% als percentage van de totale paginagrootte). + De modus trimmarges is blijvend over herstarts van &okular;. De modus Op selectie trimmen wordt vergeten over herstarts van &okular;. + Wanneer u &okular; schakelt van modus trimmarges naar modus Op selectie trimmen, springt het beeld uit de modus trimmarges naar de interactie voor selectie van het gebied. + De trimmodus kan gedeactiveerd worden door hetzelfde menu-item te kiezen dat het activeert. + + + + + Beeld Formulieren tonen/verbergen + + + Toont of verbergt de formuliervelden van het document. + + Dit menu-item is alleen geactiveerd indien het huidige document formuliervelden heeft. + + + + + + + + + Het menu Ga naar + + + + Ga naar Vorige pagina + + + De vorige pagina bekijken van het document. + + + + + Ga naar Volgende pagina + + + De volgende pagina bekijken van het document. + + + + + &Ctrl;&Home; Ga Begin van het document + + + Naar het begin gaan van het document. + + + + + &Ctrl;&End; Ga Einde van het document + + + Naar het einde gaan van het document. + + + + + &Shift;&Shift;&Left; Ga Terug + + + Teruggaan naar de vorige weergave van het document. + + + + + &Alt;&Shift;&Right; Ga Verder + + + Verdergaan naar de volgende weergave van het document. Dit zal alleen werken als u reeds een keer teruggegaan bent. + + + + + &Ctrl;G Ga Ga naar pagina... + + + Dit opent een dialoogvenster waarmee u naar eender welke pagina kunt gaan in het document. + + + + + + + Menu Bladwijzers + + + + &Ctrl;B Bladwijzers Bladwijzer toevoegen/verwijderen + + + Een bladwijzer toevoegen of verwijderen op de huidige positie. + + + + + Bladwijzers Bladwijzer hernoemen + + + Een bladwijzer op de huidige positie hernoemen. + + + + + Bladwijzers Vorige bladwijzer + + + Naar de vorige bladwijzer, of doe niets indien er geen voorgaande bladwijzer is ten opzichte van de huidige. + + + + + Bladwijzers Volgende bladwijzer + + + Ga naar de volgende bladwijzer of doe niets indien er geen bladwijzer is na de huidige. + + + + + Bladwijzers Geen bladwijzers + + + Dit is een actie die altijd inactief is en enkel zal verschijnen in dit menu wanneer het huidige document geen bladwijzers heeft. Anders is hier een lijst zichtbaar met alle bladwijzers. Door te klikken op deze bladwijzers, kunt u direct naar de bijbehorende positie gaan. + + + + + + + Het menu Hulpmiddelen + + + + &Ctrl;1 Hulpmiddelen Bladeren + + + Hier heeft de muis zijn normale gedrag: &LMB; om door het document te scrollen en koppelingen aan te klikken, en de &RMB; om bladwijzers toe te voegen en in de breedte te passen. + + + + + &Ctrl;2 Hulpmiddelen Zoomen + + + De muis zal werken als zoomgereedschap. Door op de &LMB; te klikken en de muis te verslepen, zal de weergave inzoomen naar het geselecteerde gebied. Wanneer u daarna klikt op de &RMB;, zal het document terug naar de vorige zoomfactor gezet worden. + + + + + &Ctrl;3 Hulpmiddelen Selecteren + + + De muis zal werken als een hulpmiddel voor selectie van een rechthoekig gebied. In die modus klikken met &LMB; en slepen tekent een selectievak en biedt de optie de geselecteerde inhoud naar het klembord te kopiëren, met uitspreken van de geselecteerde tekst of het geselecteerde gebied te transformeren in een afbeelding en het opslaan naar een bestand. + + + + + &Ctrl;4 Hulpmiddelen Tekstselectie + + + De muis dient hierbij als selectiehulpmiddel voor tekst. Als u dan klikt op de &LMB; en sleept met de muis, krijgt u de mogelijkheid om de tekst van het document te selecteren. Daarna moet u enkel op de &RMB; klikken om de tekst te kopiëren naar het klembord, of de huidige selectie uit te spreken. + + + + + &Ctrl;5 Hulpmiddelen Selectie voor tabel + + + Trek een rechthoek rond de tekst voor de tabel, klik daarna met de &LMB; om het tekstblok in rijen en kolommen te verdelen. Een klik met de &LMB; op een bestaande regel verwijdert het en mengt de naastliggende rijen of kolommen. Klik tenslotte met de &RMB; om de tabel naar het klembord te kopiëren. + + + + + &Ctrl;6 Hulpmiddelen Vergrootglas + + + Activeert de modus vergrootglas voor de muisaanwijzer. Houd de &LMB; ingedrukt om het vergrootglaswidget te activeren, beweeg de aanwijzer door het document. Het vergrootglas schaalt elk pixel in het document op naar 10 pixels in het vergrootglaswidget. + + + + + F6 Hulpmiddelen Annotaties + + + De werkbalk voor annotaties openen. Via de werkbalk voor annotaties kunt u annotaties toevoegen aan het document dat u aan het lezen bent. Kijk voor meer informatie in de sectie over Annotaties. + + + + + Hulpmiddelen Digitaal ondertekenen + + + Start de workflow voor aanmaken van digitaal ondertekenen. Toevoegen van digitale ondertekening wordt op dit moment alleen ondersteund voor PDF-bestanden. Voor meer informatie, bekijk de sectie over Digitale ondertekening toevoegen. + + + + + Hulpmiddelen Gehele document uitspreken + + + Hulpmiddelen Huidige pagina uitspreken + + + Hulpmiddelen Stoppen met spreken + + + Hulpmiddelen Spreken pauzeren/hervatten + + + Met deze items kunt u het gehele document of alleen de huidige pagina laten uitspreken, en ook laten stoppen met uitspreken, met de spraakservice van het systeem. Deze service wordt geleverd door een &Qt;-bibliotheek die de spraakgever op &Linux;, en inheemse spraaksystemen op andere platforms omgeeft. Het is mogelijk om de huidige stem via &okular; te kiezen configuratiepagina Toegankelijkheid. + De Spreek ... acties zijn enkel geactiveerd indien een spraakservice beschikbaar is op het systeem. + + + + + + + De menu's Instellingen en Help + Naast de standaard &kde;-menu's Instellingen en Help zoals beschreven in het hoofdstuk Menu van de documentatie in &kde; Fundamentals heeft &okular; specifieke menu-items van het programma: + + + + F7 Instellingen Zijbalk tonen + + + Toont of verbergt de Zijbalk. + + + + + Instellingen Paginabalk tonen + + + Schakel de paginabalk onderaan het documentgebied aan of uit voor verticale ruimte in het venster van &okular;. Merk op dat de paginanummers in elk geval getoond zullen worden in de standaard werkbalk. + + + + + Instellingen Backends instellen... + + + Dit opent het venster Backend-configuratie. + + + + + + + + Backends van &okular; configureren + U kunt backends van &okular; instellen door te klikken op Instellingen Backends instellen.... Op dit moment worden instellingsmogelijkheden alleen geboden voor backends van EPub, &PostScript;, FictionBook, Txt, OpenDocument-tekst en &PDF; + + Het dialoogvenster voor configuratie van backends + + + + + + Het dialoogvenster voor configuratie van backends + + + + Met het gebruik van de instellingenpagina van backends voor EPub, FictionBook, Mobipocket, Markdown, TXT and OpenDocument-tekst kunt u het lettertype definiëren om documenten weer te geven in de overeenkomstige formaten. De knop Kiezen... in deze pagina's opent het standaard instellingenvenster van &kde; voor lettertypen. Kijk in de &kde; Fundamentals documentatie voor de details. + De beschrijving van de instellingenpagina's van de backends van Markdown, &PostScript; en &PDF; zijn hier onder te vinden. + + Configuratie van Markdown-backend + U kunt rendering van &okular; Markdown-backend gebaseerd op Discount configureren door Markdown te kiezen uit de lijst in het linker deel van de configuratiedialoog. Een extra te configureren optie is als volgt. + + + + + SmartyPants formattering inschakelen + + + Indien geactiveerd staat deze optie toe aan &okular; om SmartyPants formattering toe te passen. Die formattering kan problemen geven in de technische teksten vanwege ongewenste substitutities (⪚, het vervangt (C) door een copyrightsymbool). Deze optie is standaard geactiveerd. + + + + + + + Backendinstellingen van &PostScript; + U kunt &PostScript; rendering backend van &okular; gebaseerd op Ghostscript instellen door Ghostscript te kiezen uit de lijst aan de linkerkant van de instellingendialoog. De enige in te stellen optie is als volgt. + + + + + Platformlettertypen gebruiken + + + Deze optie bepaalt of Ghostscript moet worden toegestaan platformlettertypen te gebruiken, zo niet dan zijn alleen lettertypen ingebed in het document toegestaan. De optie is standaard geactiveerd. + + + + + + + Configuratie van &PDF;-backend + U kunt de &PDF; rendering backend van &okular; gebaseerd op Poppler instellen door &PDF; te kiezen uit de lijst aan de linker van de instellingendialoog. De enige in te stellen optie is als volgt. + + + + + Maak dunne lijnen beter zichtbaar + + + Lijnen trekken is in &okular; geïmplementeerd in twee stappen: generatie van het pad voor clipping en dit opvullen. Wanneer de lijn in het originele document minder is dan één pixel dan kan deze implementatie in twee stappen problemen veroorzaken. Voor deze lijnen wordt het pad voor clipping gevuld met de vulkleur die afhangt van de dikte van de lijngedeelte binnen het clippinggebied. Als het deel van de lijn binnen het clippinggebied erg klein wordt dan zal het contrast tussen de vorm en de achtergrondkleur te laag worden om de lijn te kunnen herkennen. De rasters van zulke lijnen zien er erg onaangenaam uit. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Dunne lijn (rood), het knippad (gestreepte lijn) en pixelranden (zwarte volle lijnen) + Dunne lijn getoond in een laag contrast + + + + + Om dunne lijnen beter zichtbaar te maken implementeert &okular; twee opties. + De eerste optie is Vast. Met deze optie past &okular; het pad voor clipping en de lijnpositie aan zodat het pad voor clipping en lijn zich op dezelfde pixelgrens bevinden, &ie; &okular; vergroot de dunne lijnen tot één pixel op het uitvoerapparaat. Deze modus is vergelijkbaar met de Verbeter dunne lijnen in Adobe Reader. Als deze optie wordt gekozen, dan worden de dunne lijnen altijd vergroot. + + + + + + + + Dunne Volle lijn voor attentie + + + Dunne Volle lijn voor attentie + + + + + De tweede optie is Vorm. Met deze optie worden het pad van de clipping en lijn ook aangepast aan de pixelgrens, maar de lijnintensiteit wordt overeenkomstig zijn breedte gecorrigeerd. + + + + + + + + Dunne Vorm lijn voor attentie + + + Dunne Vorm lijn voor attentie + + + + + De dunne lijnen worden niet standaard verbeterd (optie Nee). + + + + + + &PDF; Digitale ondertekeningscertificaten + + Deze sectie biedt u het instellen van een eigen certificatendatabase om te gebruiken bij toevoegen van digitale ondertekening aan &PDF; bestanden. + Het kan ook een lijst maken van de beschikbare certificaten in de huidige certificatendatabase (indien aanwezig). + + + + + &okular; configureren + + Algemene instellingen + U kunt &okular; instellen door te klikken op Instellingen &okular; instellen.... Het dialoogvenster voor de configuratie is opgesplitst in 6 stukken. In dit hoofdstuk kunt u de beschikbare opties in detail terugvinden. + + + Algemeen + + + Toegankelijkheid + + + Prestatie + + + Presentatie + + + Annotaties + + + Bewerker + + + + De configuratiedialoog + + + + + + De configuratiedialoog + + + + Afhankelijk van de huidig geïnstalleerde backends, is het menu-item Instellingen Backends configureren... geactiveerd. In dit configuratievenster kunt u de instellingen van de backends terugvinden (indien deze een configuratie hebben). + + + Algemeen + + + Vloeiend schuiven gebruiken + + Of geanimeerde transities getoond worden bij schuiven met het muiswiel en toetsenbord. + + + + Schuifbalken weergeven + + Of er schuifbalken getoond moeten worden in de documentweergave. + + + + De miniaturen koppelen aan de bijbehorende pagina's + + Of de miniatuurweergave altijd de huidige pagina moet tonen of niet. + + + + Toon hints en informatieberichten + + Of er informatieberichten getoond moeten worden bij het opstarten, het laden van een bestand, &etc; + + + + Over ingebedde bestanden, formulieren of ondertekeningen een melding geven + + Of er informatiepanelen getoond moeten worden over ingebedde bestanden, formulieren of ondertekeningen &etc; + + + + Documenttitel in titelbalk tonen, indien beschikbaar + + Of de huidige documenttitel in de titelbalk van het venster van &okular; wordt getoond. Als er geen metagegevens voor de titel in het document zijn gevonden of dit item is niet geactiveerd, zal &okular; de bestandsnaam van het document tonen. + + + + Bij het niet tonen van de documenttitel + + Kunt u uit twee twee opties kiezen, Alleen bestandsnaam of Volledig pad van bestand tonen. + + + + Eigen achtergrondkleur gebruiken + + Schakelt achtergrondkleur van het document kiezen in (de kleur rond de getoonde pagina). Standaard wordt de kleur van de &Qt; hulpmiddelenkit gebruikt wanneer deze optie niet is geactiveerd. + + + + Nieuwe bestanden in tabbladen openen + + Of nieuwe documenten in tabbladen worden geopend. De tabbladen zijn standaard uitgeschakeld. + De standaard sneltoetsen om te schakelen tussen tabbladen zijn &Ctrl;. (Volgend tabblad) en &Ctrl;, (Vorig tabblad). + + + + Naar bestaand tabblad omschakelen als bestand al geopend is + + Of &okular; naar een tabblad zou moeten omschakelen als het bestand al geopend is in plaats van een nieuw tabblad te openen. Deze optie is standaard ingeschakeld. Kan alleen omgeschakeld worden als Nieuwe bestanden in tabbladen openen is ingeschakeld. + + + + DRM-beperkingen opvolgen + + Of &okular; de DRM (Digital Rights Management) beperkingen opgevolgd moeten worden. DRM-beperkingen worden gebruikt om ervoor te zorgen dat bepaalde acties met &PDF; documenten niet mogelijk zijn, zoals het kopiëren van inhoud naar het klembord. Merk op dat in sommige configuraties van &okular; deze optie niet beschikbaar is. + + + + Document bij bestandswijziging opnieuw laden + + Of geopende bestanden automatisch gecontroleerd moeten worden op wijzigingen, en indien nodig ook bijgewerkt moeten worden. + + + + Dialoog voor backend-selectie tonen + + Of &okular; aan de gebruiker moet vragen welke backend gebruikt moet worden, in het geval dat er meer dan één backend in staat is het huidige bestand te openen. Wanneer dit niet aangevinkt is, zal &okular; de backend met de hoogste prioriteit kiezen. + + + + Leesrichting rechts naar links + + Of leesrichting rechts naar links standaard wordt gebruikt voor geopende bestanden. Kan nuttig zijn voor bepaalde schrijfsystemen. + + + + Standaard in modus continu openen + + Of de modus continu standaard wordt gebruikt. In modus continu worden alle pagina's van het document getoond en kunt u er rustig doorheen schuiven. Anders wordt slechts één pagina (of één rij pagina's) tegelijk getoond. + + + + Bij gebruik van hulpmiddel Bladeren, laat cursor teruglopen bij schermranden + + Biedt eindeloos schuiven in het gehele document met het Hulpmiddel Bladeren. Indien ingeschakeld, zak de muiscursor teruglopen naar het andere einde van het scherm wanneer het de randen raakt tijdens het verslepen van het document. Deze functie wordt alleen ondersteund onder X11. + + + + Overzichtkolommen + + Deze instelling gaat over het aantal kolommen dat getoond moet worden bij gebruik van de overzichtsmodus. + + + + Overlap bij Page Up/Down + + Hier kunt u het percentage van het huidige weergavegebied definiëren dat zichtbaar zou moeten zijn na het indrukken van de toetsen &PgUp;/&PgDn;. + + + + Standaard zoom + + Deze optie specificeert de standaard zoommodus voor bestanden die nooit eerder zijn geopend. Voor eerder geopende bestanden wordt de vorige zoommodus gebruikt. + + + + + + Toegankelijkheid + + + Rand rond koppelingen tonen + + Of er een rand rond koppelingen getoond moet worden. + + + + Kleuren wijzigen + + Activeert de mogelijkheden om kleuren te wijzigen. + + + + Kleurmodus + + Definieert de modus kleuren wijzigen. + + + Kleuren omkeren + + Keert de kleuren in de weergave om, &ie; zwarte objecten zullen als witte getoond worden. + + + + Papierkleur wijzigen + + Verandert de papierkleur, &ie; de achtergrond van het document. + De kleur kan geselecteerd worden met het onderstaande patroon Papierkleur. + + + + Donkere & lichte kleuren wijzigen + + Verandert de donkere en lichte kleuren naar uw voorkeur. Dit betekent dat zwart niet als zwart getoond wordt, maar als de door u gekozen donkere kleur, en dat wit niet getoond zal worden als wit, maar als de lichte kleur die u hebt geselecteerd. + + + + Naar zwart-wit omzetten + + Zet het document om in zwart-wit. U kunt de drempelwaarde en het contrast instellen. Als u de drempelwaarde verhoogt (door het naar rechts te verplaatsen) zullen er lichtere tinten grijs gebruikt worden. + + + + Lichtheid inverteren + + Inverteert lichtheid van alle kleuren. Lichte en donkere kleuren zullen omgedraaid worden, maar tint en verzadiging zullen niet veranderen. Het contrast in afbeeldingen zullen gewoonlijk slechter zijn dan in Luma inverteren (sRGB lineair). + + + + Luma inverteren (sRGB Lineair) + + Inverteert luma van alle kleuren. Licht en donker zullen omgedraaid worden, maar verzadiging zal niet veranderen. Het contrast in afbeeldingen wordt beter bewaard dan in Lichtheid inverteren, maar illustraties en kleurrijke tekstopmaak lijken gewoonlijk slechter. Gebruikt sRGB luma-coëfficiënten, maar geen gammacorrectie. + + + + Luma inverteren (symmetrisch) + + Inverteert luma van alle kleuren, met symmetrische luma coëfficienten. Licht en donker zullen omgedraaid worden, maar tint en verzadiging zullen niet veranderen. Vrijwel gelijk aan Lichtheid inverteren, maar het contrast is in sommige gevallen beter. + + + + Tint positief verschuiven + + Verschuift tint van alle kleuren met 120 graden. Kan sommige problemen met contrast in kleurrijke illustraties verminderen. + + + + Tint negatief verschuiven + + Verschuift tint van alle kleuren met 120 graden. Kan sommige problemen met contrast in kleurrijke illustraties verminderen. + + + + U kunt sneltoetsen en werkbalk acties voor de kleurmodi met de overeenkomstige menu-items configureren in het menu Instellingen van het hoofdvenster van &okular;. + + + + Engine voor tekst-naar-spraak + + Biedt u de keuze van de engine tekst-naar-spraak (TTS) te gebruiken door &okular;. De standaard is speechd TTS. + + + + Stem tekst-naar-spraak + + Biedt u de keuze van een stem tekst-naar-spraak-engine te gebruiken door &okular;. U kunt alle talen en stemmen gebruiken afhankelijk van de beschikbaarheid van synthesizers op uw platform. In &Linux; wordt speech-dispatcher standaard gebruikt om beschikbare stemmen te bepalen. + + + + + + Snelheid + + + Transparantie-effecten inschakelen + + Maak gebruik van transparantie-effecten bij het aanmaken van selecties en andere grafische dingen. Schakel deze optie uit om deze aan te maken met behulp van de omtrek- en dekking-opvulstijlen; hiermee verhoogt u de snelheid bij het selecteren van iets. + + + + Geheugengebruik + + &okular; kan de grootste snelheid bereiken door het geheugengebruik af te stellen, afhankelijk van uw systeem en uw voorkeuren. Hoe meer geheugen u het laat gebruiken, hoe sneller het programma zal zijn. Het standaardprofiel is geschikt voor alle systemen, maar u kunt voorkomen dat &okular; meer geheugen dan echt nodig is gebruikt door "Laag profiel" te kiezen; in tegenstelling daarmee kunt u het meest uit uw systeem halen door "Agressief" te selecteren. Gebruik het profiel "Gulzig" om alle pagina's vooraf te laden zonder het risico dat te veel systeemgeheugen wordt gebruikt (slechts 50% van het totale geheugen of het het vrije geheugen wordt gebruikt). + + + + Renderingopties + + Met deze groep opties kunt u weergave van tekst en afbeeldingen in &okular; verbeteren. Het resultaat hangt af van het apparaat voor weergave van het document. De items Anti-aliasing van tekst inschakelen en Anti-aliasing van grafische elementen inschakelen kunnen gebruikt worden om anti-aliasing van tekst en afbeeldingen in het document in of uit te schakelen. Het item Hinten van tekst inschakelen is bedoeld om het hinten van lettertypen om te schakelen. Anti-aliasing en hinten wijzigen de weergave van documenten, u kunt ze naar uw voorkeur gebruiken. + + + + + + Presentatie + + + Verdergaan elke + + Activeert het verdergaan naar een volgende pagina bij het verstrijken van een bepaalde hoeveelheid tijd. + + + + Herhalen na de laatste pagina + + Bij het navigeren in de presentatiemodus zal bij het verder navigeren voorbij de laatste pagina, de eerste pagina weer verschijnen. + + + + Navigeren door aanraken + + Stelt u in staat om navigatie door aanraken fijn af te stemmen met tikken in de presentatie met de volgende drie mogelijke waarden: + + + Links/rechts aan de kant tikken om terug/vooruit te gaan: Op de linker(rechter)helft van het scherm tikken laat de presentatie naar de vorige (volgende) dia gaan. + + + Tik overal om vooruit te gaan (standaard): Tikken op het scherm laat de presentatie naar de volgende dia gaan, ongeacht waar op het scherm is getikt. + + + Uitgeschakeld: Tikken op het scherm doet niets. + + + + + + Achtergrondkleur + + De kleur die op het scherm in presentatiemodus getoond zal worden daar waar die niet bedekt wordt door de pagina zelf. + + + + Muiscursor + + Of de muiscursor altijd verborgen moet worden, altijd zichtbaar moet zijn, of verborgen moet worden na een vertraging (bij inactiviteit). + + + + Voortgangsindicator tonen + + Of er een voortgangscirkel getoond moet worden, welke telkens de huidige pagina en het totale aantal pagina's toont in de rechterbovenhoek van het presentatiescherm bij het verwisselen van de pagina. + + + + Pagina met samenvatting tonen + + Of er een pagina met samenvatting getoond moet worden bij het begin van de presentatie met de titel, de auteur en het aantal pagina's in het document. + + + + Overgangen activeren + + Dit keuzevakje gebruiken om overgangseffecten tussen pagina's in of uit te schakelen. + + + + Standaardovergang + + Het overgangseffect tussen de pagina's, indien het document zelf dit niet aangeeft. U kunt dit op Willekeurige overgang zetten, als u wilt dat &okular; zelf willekeurig een keuze maakt uit de beschikbare effecten. + + + + Plaatsing + + Op deze plaats kunt u het Scherm kiezen dat gebruikt wordt om de presentatie te tonen. + Huidig scherm is hetzelfde scherm dat gebruikt wordt om het &okular;venster zelf te tonen (en die de presentatie dus start). + Het standaardscherm is het scherm dat als standaard ingesteld is in de instellingen van xinerama. + Scherm 0, Scherm 1 &etc; zijn de beschikbare schermen. + + + + Instellingen van tekenhulpmiddel + + Beheer de kleuren van de pen die gebruikt wordt bij het tekenen op de pagina's tijdens de presentatiemodus. + + + + + + Annotaties + + De pagina Annotaties van de instellingendialoog + + + + + + De pagina Annotaties van de instellingendialoog + + + + + + Werkbalk voor annotaties + + Biedt het schakelen tussen Volledige werkbalk voor annotaties (standaard werkbalk in de bovenste sectie van het venster van &okular;) en Snelle werkbalk voor annotaties (schuivende werkbalk met uw favoriete hulpmiddelen in het rechter deel van het documentpaneel). + + + + Auteur + + De auteur van de inhoud die toegevoegd is aan het document. Standaard is het de naam uit de pagina met Wachtwoord & gebruikersbeheer uit de module &systemsettings; Accountdetails. + + + + Annotatie-hulpmiddelen + + Dit paneel wordt gebruikt om uw werkbalk voor annotaties in te stellen. + Er zijn vijf knoppen (Toevoegen, Bewerken, Verwijderen, Omhoog verplaatsen, Omlaag verplaatsen) en een lijstvak (die een lijst met de inhoud van de huidige werkbalk voor annotaties bevat) die gebruikt worden om de werkbalk in te stellen. + Als u behoefte heb om hulpmiddelknop aan de werkbalk toe te voegen, klik dan op de knop Toevoegen. U kunt kiezen uit de Naam, het Type en het Uiterlijk van het aangemaakte hulpmiddel. + + Denk er aan dat hulpmiddelen voor annotatie in &okular; makkelijk in te stellen zijn. U kunt bijvoorbeeld twee knoppen hebben voor hetzelfde hulpmiddel maar met een andere kleur. Aarzel niet om te experimenteren met het kiezen van de set knoppen die exact zijn toegespitst op uw workflow. + + Klik op een item in het lijstvak en klik daarna op de overeenkomstige knop in het rechter gedeelte van de pagina om het item te bewerken, te verwijderen, omhoog of omlaag te verplaatsen. De sneltoets van het hulpmiddel (toetsen 1 tot 9) hangen af van hun positie in de lijst van de werkbalk voor annotaties. + + + + Aangepaste stempels gebruiken + + + Maak het pictogram dat u wilt gebruiken voor uw eigen stempel en sla het op in elk grafisch formaat dat door &okular; wordt ondersteund + Klik op de knop Toevoegen, selecteer het type Stempel en voer een naam in voor uw stempel. + Voer het volledige pad naar uw aangepaste pictogram in in het uitklapvak in de groep Stempelsymbool + + + + + + + Editor + + + Editor + + Kies de editor die &okular; moet opstarten om een bronbestand te openen. Dit is het geval wanneer het document verwijzingen bevat naar verschillende punten (meestal rij- en kolomnummer) uit de bronnen waar het op gebaseerd is. Het &DVI;-formaat ondersteunt zelf de toevoeging van informatie over de bronnen waar het &latex;-document uit gegenereerd is. Er bestaat een gelijkaardig systeem voor &PDF;-documenten, pdfsync genaamd, die extra informatie opslaat in een apart bestand, genoemd naar het &PDF;-bestand zelf (bijvoorbeeld mijndocument.pdfsync voor mijndocument.pdf). + &okular; wordt geleverd met vooraf geconfigureerde instellingen voor de volgende editors: &kate;, Kile, SciTE, &Emacs; client, LyX client, TeXstudio en TeXiFy IDEA. + + Om terugzoeken in &kile; te gebruiken, moet u uw &latex;-bestand compileren met de configuratie Modern. + + + + + Commando + + Dit is het commando met bijbehorende parameters om de gekozen editor op te starten met het bronbestand van het document waar het om draait. + Dit veld zal automatisch gevuld worden als u een van de voorgeconfigureerde editors gebruikt. Kies anders Eigen teksteditor in het afrolvak Editor en verwijs naar de documentatie over uw favoriete editor om het juiste command te vinden. + U kunt de volgende plaatshouders gebruiken: + + + %f - de bestandsnaam + + + %l - de regel in het bestand waar naartoe gegaan moet worden + + + %c - de kolom in het bestand waar naartoe gegaan moet worden + + + Als %f niet is gespecificeerd, zal de naam van het document achter het gespecificeerde commando worden gevoegd. + + + + + + + Dankbetuiging en licentie + + + Copyright van het programma: + &Albert.Astals.Cid; &Albert.Astals.Cid.mail; huidige onderhouder + Pino Toscano pino@kde.org + Enrico Ros eros.kde@email.it &kpdf; ontwikkelaar + + + + Copyright van de documentatie: + &Albert.Astals.Cid; &Albert.Astals.Cid.mail; auteur + Titus Laska titus.laska@gmx.de Enkele herzieningen en toevoegingen + Pino Toscano pino@kde.org + + &meld.fouten;&vertaling.freek;&vertaling.ruben; &underFDL; &underGPL; + + &documentation.index; +
    + + + diff --git a/po/nl/docs/okular/man-okular.1.docbook b/po/nl/docs/okular/man-okular.1.docbook new file mode 100644 index 0000000..148fac7 --- /dev/null +++ b/po/nl/docs/okular/man-okular.1.docbook @@ -0,0 +1,252 @@ + + +]> + + + + +Okular gebruikershandleiding +YuriChornoivan Okular man page. yurchor@ukr.net +2022-02-19 +Okular 22.04 +KDE Gear + + + +okular +1 + + + +okular +een universele documentviewer + + + +okular Okular-opties URL + + + +Beschrijving +okular is bedoeld om documenten in verschillende formaten te tonen. + + + +Okular-opties + + + + + +Open een pagina met een gegeven nummer in het document. + + + + + + +Document in presentatiemodus starten. + + + + + + +Met afdrukdialoog beginnen. + + + + + + +Met afdrukdialoog beginnen en na afdrukken beëindigen. + + + + + + +Controle over "unieke sessie". + + + + + + +Stelt u in staat om te voorkomen dat Okular het venster vooraan brengt na de start. + + + + + + +Probeert een gegeven tekenreeks in het document te vinden en te accentueren. Werkt alleen als slechts één document als argument is gegeven in het commando okular. + + + + + + +Stelt het externe commando voor de bewerker. U kunt het niet instellen in een al actief exemplaar van Okular. Merk op dat niet wordt ondersteund bij instellen van het commando voor de bewerker op de opdrachtregel. + + + + + +Argumenten + + + + +Een adres van het te openen document. Voor PDF, kan het worden gegeven als documentnaam#benoemde_bestemming waar benoemde_bestemming een specifieke benoemde bestemming ingebed in het document. + + + + + +Terugkoppeling +Op IRC, irc.libera.chat #okular of via e-mail, okular-devel@kde.org of op het web, <https://okular.kde.org/>. + + + +Zie ook + +Meer uitgebreide informatie vindt u in help:/okular (voer deze URL in in &konqueror; of voer uit khelpcenter help:/okular). +kf6options(7) +qt6options(7) +Er is ook verdere informatie beschikbaar op https://okular.kde.org/ + + + +Copyright +Copyright © 2002 Wilco Greven, Christophe Devriese +Copyright © 2004-2005 Enrico Ros +Copyright © 2005 Piotr Szymanski +Copyright © 2004-2012 Albert Astals Cid +Copyright © 2006-2009 Pino Toscano +Licentie: GNU General Public Version 2 <https://www.gnu.org/licenses/gpl-2.0.html> + + + diff --git a/po/nl/okular.po b/po/nl/okular.po new file mode 100644 index 0000000..c7798e2 --- /dev/null +++ b/po/nl/okular.po @@ -0,0 +1,6850 @@ +# translation of okular.po to Dutch +# translation of kpdf.po to +# translation of kpdf.po to +# translation of kpdf.po to +# translation of kpdf.po to +# Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +# +# Wilbert Berendsen , 2003. +# Tom Albers , 2004. +# Rinse de Vries , 2004, 2005, 2007, 2008. +# Bram Schoenmakers , 2005, 2006. +# Kristof Bal , 2008. +# SPDX-FileCopyrightText: 2008, 2023, 2024, 2025 Freek de Kruijf +# Freek de Kruijf , 2008. +# Freek de Kruijf , 2009, 2010, 2011, 2012. +# Freek de Kruijf , 2011, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023. +# Luc Castermans , 2021. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-11-13 23:09+0100\n" +"Last-Translator: Freek de Kruijf \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 25.08.3\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" +"Wilbert Berendsen,Rinse de Vries,Luc Castermans - t/m 2021,Freek de Kruijf - " +"t/m 2025" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" +"wilbert@kde.nl,rinsedevries@kde.nl,luc.castermans@gmail.com," +"freekdekruijf@kde.nl" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Okular, een universele documentviewer" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "Voormalig onderhouder" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "" +"Veel werk aan framework en FictionBook-backend en voormalige ODT-backend" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "Ontwikkelaar" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymanski" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "Maakte Okular aan de hand van de KPDF-broncode" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "Enrico Ros" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "KPDF-ontwikkelaar" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "Eugene Trounev" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "Annotaties van tekenwerk" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "Jiri Baum - NICTA" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "Selectiehulpmiddel voor Table" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "Fabio D'Urso" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "Verbetering van annotaties" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "Ga naar pagina %1" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "Extern bestand openen" + +#: core/action.cpp:197 +#, kde-format +msgid "Execute '%1'…" +msgstr "'%1' uitvoeren…" + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "Eerste pagina" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "Vorige pagina" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "Volgende pagina" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "Laatste pagina" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "Terug" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "Vooruit" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Afsluiten" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "Presentatie starten" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "Presentatie beëindigen" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "Zoeken…" + +#: core/action.cpp:314 +#, kde-format +msgid "Go To Page…" +msgstr "Ga naar pagina…" + +#: core/action.cpp:365 +#, kde-format +msgid "Play sound…" +msgstr "Geluid afspelen…" + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "JavaScript-script" + +#: core/action.cpp:483 +#, kde-format +msgid "Play movie…" +msgstr "Film afspelen…" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "Film afspelen" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "Film stoppen" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "Film pauzeren" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "Film hervatten" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "Deze Okular is gebouwd zonder ondersteuning voor audio" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "Backend-selectie" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
    %1 (%2).

    Please select which one to use:
    " +msgstr "" +"Er is meer dan één backend gevonden voor het MIME-bestandstype:
    " +"%1 (%2).

    Selecteer degene die u wilt gebruiken:
    " + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "de meeste pagina's zijn %1." + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "Portret %1" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "Landschap %1" + +#: core/document.cpp:246 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 × %2 in (%3)" + +#: core/document.cpp:248 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 × %2 mm (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "Doorgaan met zoeken vanaf het begin" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "Doorgaan met zoeken vanaf het einde" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "Kon geen plugin vinden voor het openen van het aangeleverde document." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "Ondertekenen niet geïmplementeerd voor dit type document" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "annotaties verwijderen" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"Het document probeert een extern programma uit te voeren. Voor de veiligheid " +"van uw systeem laat Okular dit niet toe." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "Geen programma gevonden voor het openen van bestanden van het type %1." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "Kon geen tijdelijk bestand openen" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "De afdrukconversie is mislukt" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "Afdrukproces is onverwacht beëindigd" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "Afdrukproces kon niet beginnen" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "Afdrukken naar bestand is mislukt" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "Printer was in een ongeldige status" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "Af te drukken bestand is niet gevonden" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "Er was geen bestand om af te drukken" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"Een geschikt programma voor afdrukken is niet gevonden. Verzeker u ervan dat " +"het CUPS-programma lpr beschikbaar is" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "De afdrukgrootte van de pagina is ongeldig" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "Kon '%1' niet openen. Bestand bestaat niet" + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Titel" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Onderwerp" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Beschrijving" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "Auteur" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Aangemaakt door" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Producent" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "Copyright" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "Pagina's" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Aangemaakt" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Gewijzigd" + +#: core/document.cpp:6032 +#, kde-format +msgid "MIME Type" +msgstr "Mime-type" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "Categorie" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Trefwoorden" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "Bestandspad" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "Bestandsgrootte" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "Paginagrootte" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "annotatie toevoegen" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "annotatie verwijderen" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "eigenschappen van annotaties wijzigen" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "annotatie vertalen" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "annotatie aanpassen" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "tekst bewerken" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "inhoud van annotaties bewerken" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "inhoud van formulier bewerken" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "keuzes in lijstformulier bewerken" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "selectie in keuzeformulier bewerken" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "statussen van formulierknoppen bewerken" + +#: core/generator.cpp:790 +#, kde-format +msgid "Plain &Text…" +msgstr "Platte &tekst…" + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "OpenDocument-tekst" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "Afdrukopties" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "In afdrukgebied laten passen" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "Op volledige pagina laten passen" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "Schaalmodus:" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "Dit bericht niet meer tonen" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "Niet beschikbaar" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" +"Interne fout bij ondertekenen. Rapporteer een bug met de stappen om het te " +"reproduceren. Foutcode %1" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "Kon het document niet ondertekenen: %1" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "Ondertekenen geannuleerd door gebruiker" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "Kon niet ondertekenen. Verkeerde wachtwoordzin" + +#: core/signatureutils.cpp:504 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" +"Kon het ondertekende document niet naar %1 schrijven, " +"ga na dat u een map met schrijfrechten hebt geselecteerd." + +#: core/signatureutils.cpp:506 +#, kde-format +msgid "Unknown signing error" +msgstr "Onbekende fout met ondertekenen" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Bron: %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "&Standaard lettertype:" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "Versie" + +#: gui/certificatemodel.cpp:41 +#, kde-format +msgid "Serial Number" +msgstr "Serienummer" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "Uitgever" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "Uitgegeven op" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "Verloopt op" + +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Onderwerp" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "Publieke sleutel" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "Gebruik van sleutel" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "V%1" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "%1 (%2 bits)" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "Eigenschap" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "Waarde" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "Pop-up-notitie" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "Schrijfmachine" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "Inline-notitie" + +#: gui/guiutils.cpp:56 +#, kde-format +msgid "Arrow with Comment" +msgstr "Pijl met opmerking" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "Pijl" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "Rechte lijn met opmerking" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "Rechte lijn" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "Polygoon met opmerking" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "Veelhoek" + +#: gui/guiutils.cpp:71 +#, kde-format +msgid "Rectangle with Comment" +msgstr "Rechthoek met opmerking" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "Rechthoek" + +#: gui/guiutils.cpp:74 +#, kde-format +msgid "Ellipse with Comment" +msgstr "Ellips met opmerking" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "Ellips" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "Accentuering met opmerking" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "Accentuering" + +#: gui/guiutils.cpp:87 +#, kde-format +msgid "Squiggle with Comment" +msgstr "Krul met opmerking" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "Golvend" + +#: gui/guiutils.cpp:91 +#, kde-format +msgid "Underline with Comment" +msgstr "Onderstreping met opmerking" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "Onderstrepen" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out with Comment" +msgstr "Doorhaling met opmerking" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "Doorhalen" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "Stempel met opmerking" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "Postzegel" + +#: gui/guiutils.cpp:106 +#, kde-format +msgid "Freehand Line with Comment" +msgstr "Lijn uit de vrije hand met opmerking" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "Lijn uit de vrije hand" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "Dakje" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "Bestandsbijlage" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "Geluid" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "Film" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Scherm" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "Widget" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "Media met extra's" + +#: gui/guiutils.cpp:144 +#, kde-format +msgid "Annotation" +msgstr "Annotatie" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "Onbekend" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Auteur: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "Waar wilt u %1 opslaan?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "Kon \"%1\" niet voor schrijven openen. Bestand is niet opgeslagen." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "Deze ondertekening is cryptografisch geldig." + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "Deze ondertekening is cryptografisch ongeldig." + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "Er deed zich een niet overeenkomende samenvatting (digest) voor." + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "De structuur van ondertekening CMS/PKCS7 heeft een verkeerd formaat." + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "De vereiste ondertekening is niet aanwezig in het document." + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "Deze ondertekening kon niet geverifieerd worden." + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "Certificaat wordt vertrouwd." + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "De uitgever van het certificaat wordt niet vertrouwd." + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "De uitgever van het certificaat is onbekend." + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "Certificaat is ingetrokken." + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "Certificaat is verlopen." + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "Certificaat is niet geverifieerd." + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "Certificaatvalidatie is bezig" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "Onbekend probleem met certificaat of beschadigde gegevens." + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "MD2" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "MD5" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "SHA1" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "SHA256" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "SHA384" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "SHA512" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "SHA224" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "Onbekend algoritme" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "RSA" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "DSA" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "EC" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "Onbekend type" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "Digitale ondertekening" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "Kan-niet-ingetrokken-worden" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "Sleutels versleutelen" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "Sleutels ontcijferen" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "Sleutelovereenkomst" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "Certificaat ondertekenen" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "CRL ondertekenen" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "Alleen versleutelen" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "Geen gebruik gespecificeerd" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr ", " + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "Het document is niet gewijzigd sinds het was ondertekend." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" +"De revisie van het document dat gedekt was door deze ondertekening is niet " +"gewijzigd;\n" +"er zijn echter opvolgende wijzigingen aan het document." + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" +"Het document is gewijzigd op een manier die niet is toegestaan door een " +"vorige ondertekenaar." + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "" +"De verificatie van de integriteit van het document kon niet worden voltooid." + +#: gui/signatureguiutils.cpp:208 +#, kde-format +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "Dit document heeft plaatshoudervelden voor ondertekening." + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "Dit document is digitaal ondertekend." + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "" +"Dit document is digitaal ondertekend. Er zijn wijzigingen sinds de laatste " +"ondertekening." + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" +"Dit document is digitaal ondertekend. Enkele van de ondertekeningen konden " +"niet als juist worden geverifieerd." + +#: gui/signaturemodel.cpp:141 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "Plaatshouder voor ondertekening %1" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "Veld: %1 op pagina %2" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "Rev. %1: ondertekend door %2" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "Tijdstip van ondertekenen: %1" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "Reden:%1" + +#: gui/signaturemodel.cpp:177 +#, kde-format +msgid "Location: %1" +msgstr "Locatie: %1" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "PGP-handtekening" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "Adobe PKCS7" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "Adobe PKCS7 Sha1" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "ETSI CAdES" + +#: gui/signaturemodel.cpp:193 +#, kde-format +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "Onbekend" + +#: gui/signaturemodel.cpp:195 +#, kde-format +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "Plaatshouder voor ondertekening" + +#: gui/signaturemodel.cpp:201 +#, kde-format +msgid "Signature Type: %1" +msgstr "Type ondertekening: %1" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "Rood" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "Oranje" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "Geel" + +#: part/annotationactionhandler.cpp:151 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "Groen" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "Cyaan" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "Blauw" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "Magenta" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "Wit" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "Grijs" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "Zwart" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "Breedte %1" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1%" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "Lijnbreedte van annotatie (geen annotatie geselecteerd)" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "Kleur van annotatie (geen annotatie geselecteerd)" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "Vulkleur van annotatie (geen annotatie geselecteerd)" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "Dekking van annotatie (geen annotatie geselecteerd)" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "Lettertype van annotatie (geen annotatie geselecteerd)" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" +"De huidige annotatie toevoegen aan het menu snelle annotaties (geen " +"annotatie geselecteerd)" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" +"Vormverhouding beperken tot 1:1 of lijnhoek tot 15° stapjes (geen annotatie " +"geselecteerd)" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" +"Geavanceerde instellingen voor het huidige hulpmiddel voor annotaties (geen " +"annotatie geselecteerd)" + +#: part/annotationactionhandler.cpp:308 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Lijnbreedte van annotatie" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "Lijnbreedte van annotatie (huidige annotatie heeft geen lijnbreedte)" + +#: part/annotationactionhandler.cpp:314 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Tekstkleur van annotatie" + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "Randkleur van annotatie" + +#: part/annotationactionhandler.cpp:318 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Annotatiekleur" + +#: part/annotationactionhandler.cpp:322 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Annotatievulkleur" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "Vulkleur van annotatie (huidige annotatie heeft geen vulkleur)" + +#: part/annotationactionhandler.cpp:328 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "Lettertype van annotatie" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "Lettertype van annotatie (huidige annotatie heeft geen lettertype)" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "Lijnhoek beperken tot 15° stapjes" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "Vormverhouding beperken tot 1:1" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" +"Vormverhouding beperken tot 1:1 of lijnhoek tot 15° stapjes (niet " +"ondersteunt door huidige annotatie)" + +#: part/annotationactionhandler.cpp:341 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Dekking van annotatie" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "De huidige annotatie aan het menu snelle annotaties toevoegen" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "Geavanceerde instellingen voor het huidige hulpmiddel voor annotaties" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "Kleur" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "Vulkleur" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "Transparant" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "Aangepaste kleur…" + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "Kleur selecteren" + +#: part/annotationactionhandler.cpp:552 +#, kde-format +msgid "&Annotations" +msgstr "&Annotaties" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "Verbergen" + +#: part/annotationactionhandler.cpp:554 +#, kde-format +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Meer annotatie-hulpmiddelen tonen" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "Accentuering" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "Onderstrepen" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "Golvend" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "Doorhalen" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Schrijfmachine" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "Inline-notitie" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "Pop-up-notitie" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "Lijn uit de vrije hand" + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "Rechte lijn" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "Pijltje" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "Rechthoek" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "Ellips" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "Veelhoek" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "Geometrische vorm" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "Stempel" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Snelle annotaties" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "Een annotatiehulpmiddel kiezen uit de snelle annotaties" + +#: part/annotationactionhandler.cpp:651 +#, kde-format +msgid "Quick Annotation Bar" +msgstr "Balk voor snelle annotaties" + +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "Aan Snelle annotaties toevoegen" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "Actief houden" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "Het annotatie-hulpmiddel actief houden na gebruik" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "Verhouding en hoek van annotatiehulpmiddelen beperken" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "Lettertype" + +#: part/annotationactionhandler.cpp:681 +#, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Annotatie-instellingen" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "Lijndikte" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "Dekking" + +#: part/annotationactionhandler.cpp:696 +#, kde-format +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1%" + +#: part/annotationmodel.cpp:320 +#, kde-format +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "Pagina %1 (%2)" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "Pagina %1" + +#: part/annotationpopup.cpp:85 +#, kde-format +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "Annotatie" +msgstr[1] "%1 annotaties" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "Popup-notitie &openen" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Bladwijzer verwijderen" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Bladwijzer toevoegen" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, kde-format +msgid "Copy Text to Clipboard" +msgstr "Tekst naar klembord kopiëren" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "Kopiëren door middel van DRM verboden" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "Verwij&deren" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "Eigenscha&ppen" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, kde-format +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "'%1' op&slaan…" + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "&Uiterlijk" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "Al&gemeen" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&Auteur:" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "Aangemaakt:" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "Gewijzigd:" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "Eigenschappen van pop-up-notitie" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "Eigenschappen van schrijfmachine" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "Eigenschappen inline-notities" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "Eigenschappen van rechte lijnen" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "Eigenschappen van polygoon" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "Eigenschappen geometrie" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "Eigenschappen opmaak van tekst" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "Eigenschappen postzegel" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "Eigenschappen lijnen uit de vrije hand" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "Dakje-eigenschappen" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "Eigenschappen van bestandsbijlage" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "Geluidseigenschappen" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "Film-eigenschappen" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "Eigenschappen annotaties" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "Een aangepast postzegelsymbool uit bestand" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "Aangepast postzegelsymbool selecteren" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" +"*.ico *.png *.xpm *.svg *.svgz | Pictogrambestanden (*.ico *.png *.xpm *.svg " +"*.svgz)" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "Kon bestand het bestand %1 niet laden" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "Ongeldig bestand" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&Kleur:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, kde-format +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%v%" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "&Dekking:" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "Pictogram:" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "Commentaar" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "Help" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "Invoegen" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "Sleutel" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "Nieuwe alinea" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "Notitie" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "Alinea" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Lettertype:" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "&Tekstkleur:" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "&Uitlijning:" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "Links" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "Midden" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "Rechts" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "&Randbreedte:" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "Goedgekeurd" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "Zoals ze is" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "Vertrouwelijk" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "Departimentieel" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "Concept" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "Experimenteel" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "Verlopen" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "Definitief" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "Voor commentaar" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "Voor publieke uitgave" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "Niet goedgekeurd" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "Niet voor publieke uitgave" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "Verkocht" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "Zeer geheim" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "Bladwijzer" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "Informatie" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "Stempelsymbool:" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "&Breedte:" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "Regelbegin:" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "Regeleinde:" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "Vierkant" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "Cirkel" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "Diamant" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "Open pijl" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "Gesloten pijl" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "Geen" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "Onderkant" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "Open pijl rechts" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "Gesloten pijl rechts" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "Slash" + +#: part/annotationwidgets.cpp:531 +#, kde-format +msgid "Leader line length:" +msgstr "Lengte hoofdlijn:" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "Lengte hoofdlijnextensies:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "Ingeschakeld" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "Vulling van vorm:" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Type:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "Doorgehaald" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "Symbool voor bestandsbijlage:" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "Grafiek" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "Punaise" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "Paperclip" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "Tag" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "Bestand" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "N/A" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "Geen beschrijving beschikbaar." + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "Naam:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "Beschrijving:" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "Dakjesymbool:" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "Geen" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "Deze notitie sluiten" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "Opties" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"Deze annotatie kan LaTeX-code bevatten.\n" +"Hier klikken om het te verwerken." + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "Kan het programma latex niet vinden." + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "LaTeX verwerken is mislukt" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "Kan het programma dvipng niet vinden." + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "Er deed zich een probleem bij het uitvoeren van het commando 'latex'." + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "Er deed zich een probleem bij het uitvoeren van het commando 'dvipng'." + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"Eén bladwijzer" +msgstr[1] "" +"%1\n" +"\n" +"%2 bladwijzers" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Bladwijzers" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "Voor alle documenten tonen" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, kde-format +msgid "Search…" +msgstr "Zoeken…" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, kde-format +msgid "Expand All" +msgstr "Alles uitvouwen" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, kde-format +msgid "Collapse All" +msgstr "Alles invouwen" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "Ga naar deze bladwijzer" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "Bladwijzer hernoemen" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Document openen" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "Alle bladwijzers uit het dit document verwijderen" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "Certificaatviewer" + +#: part/certificateviewer.cpp:50 +#, kde-format +msgid "Export…" +msgstr "Exporteren…" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "Algemeen" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "Uitgegeven door" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "Algemene naam/common name (CN)" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "E-mail" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "Organisatie (O)" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "Uitgegeven aan" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "Geldigheid" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "Vingerafdrukken" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "SHA-1 Vingerafdruk" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "SHA-256 vingerafdruk" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "Details" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "Certificaatgegevens:" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "Waar wilt u dit certificaat opslaan?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "Certificaatbestand (*.cer)" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "Certificaat exporteren kon niet" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "&Kleurmodus" + +#: part/colormodemenu.cpp:21 +#, kde-format +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "Kleuren wijzigen" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "&Normale kleuren" + +#: part/colormodemenu.cpp:41 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "Kleuren omk&eren" + +#: part/colormodemenu.cpp:42 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "&Papierkleur wijzigen" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "&Donkere en lichte kleuren wijzigen" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "Naar &zwart-wit converteren" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "&Lichtheid inverteren" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "L&uma inverteren (sRGB lineair)" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "Luma inverteren (&symmetrisch)" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "Tint p&ositief verschuiven" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "Tint n&egatief verschuiven" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "Rood" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "Groen" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "Blauw" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "Geel" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "Zwart" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "Wit" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "Gele accentuering" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "Groene accentuering" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "Tekst invoegen" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "Rand rond koppelingen tekenen" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "Kleuren wijzigen" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "" +"Waarschuwing: deze opties kunnen de tekensnelheid negatief " +"beïnvloeden." + +#: part/dlgaccessibility.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "Kleuren omkeren" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "Papierkleur wijzigen" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "Donkere en lichte kleuren wijzigen" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "Naar zwart-wit omzetten" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "Lichtheid inverteren" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "Luma inverteren (sRGB Lineair)" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "Luma inverteren (symmetrisch)" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "Tint positief verschuiven" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "Tint negatief verschuiven" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "Kleurmodus:" + +#: part/dlgaccessibility.cpp:87 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Papierkleur:" + +#: part/dlgaccessibility.cpp:99 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Donkere kleur:" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "Lichte kleur:" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "Drempel:" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Contrast:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "Engine voor tekst-naar-spraak:" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "Stem voor tekst-naar-spraak:" + +#: part/dlgannotations.cpp:25 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Volledige werkbalk voor annotaties" + +#: part/dlgannotations.cpp:26 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Snelle werkbalk voor annotaties" + +#: part/dlgannotations.cpp:28 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Werkbalk voor annotaties:" + +#: part/dlgannotations.cpp:34 +#, kde-format +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "Auteur:" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"Opmerking: de informatie hier wordt alleen gebruikt voor annotaties. " +"De informatie wordt opgeslagen in van annotatie voorziene documenten en " +"worden verzonden samen met het document." + +#: part/dlgannotations.cpp:48 +#, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

    Quick Annotation Tools

    " +msgstr "

    Hulpmiddelen voor snel annoteren

    " + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" +"Kies de editor die u wilt starten wanneer Okular een bronbestand wil openen." + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "Eigen tekstbewerker" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Emacs-cliënt" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "Lyx-client" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "TeXstudio" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "TeXiFy IDEA" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "Editor:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
    \n" +"You can also put few placeholders:\n" +"
      \n" +"
    • %f - the file name
    • \n" +"
    • %l - the line of the file to be reached
    • \n" +"
    • %c - the column of the file to be reached
    • \n" +"
    \n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"Stelt het commando in van een te gebruiken eigen teksteditor.
    \n" +"U kunt ook een paar plaatshouders gebruiken:\n" +"
      \n" +"
    • %f - de bestandsnaam
    • \n" +"
    • %l - de te bereiken regel in het bestand
    • \n" +"
    • %c - de te bereiken kolom in de regel
    • \n" +"
    \n" +"Als %f niet is gespecificeerd dan wordt de bestandsnaam achter het commando " +"gevoegd." + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "Commando:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "Vloeiend schuiven gebruiken" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "Uiterlijk:" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "Schuifbalken weergeven" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "De miniaturen koppelen aan de bijbehorende pagina's" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "Toon hints en informatieberichten" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "" +"Over ingebedde bestanden, formulieren of ondertekeningen een melding geven" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "Documenttitel in titelbalk tonen, indien beschikbaar" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "Alleen bestandsnaam tonen" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "Volledig pad van bestand tonen" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "Bij het niet tonen van documenttitel:" + +#: part/dlggeneral.cpp:92 +#, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "Aangepaste achtergrondkleur gebruiken:" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "Programmafuncties:" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "Nieuwe bestanden in tabbladen openen" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "Naar bestaand tabblad omschakelen als bestand al geopend is" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "DRM-beperkingen opvolgen" + +#: part/dlggeneral.cpp:148 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "Document bij bestandswijziging opnieuw laden" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "Dialoog voor backend-selectie tonen" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "Leesrichting rechts naar links" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" +"Bestandsinformatie gebruiken om te bepalen of standaard te openen in modus " +"doorgaand" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" +"Voor bestanden zonder bestandsinformatie, standaard in modus doorgaand openen" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "Standaard in modus continu openen" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" +"Bij gebruik van hulpmiddel Bladeren, laat cursor teruglopen bij schermranden" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "Items in recente geschiedenis:" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "Overzicht kolommen:" + +#: part/dlggeneral.cpp:220 +#, kde-format +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%v%" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" +"Definieert hoeveel van het huidige weergavegebied nog steeds zichtbaar is " +"wanneer de toetsen Page Up/Down worden ingedrukt." + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "Overlap bij pagina omhoog/omlaag:" + +#: part/dlggeneral.cpp:228 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%v%" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "100%" + +#: part/dlggeneral.cpp:233 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "Breedte passend maken" + +#: part/dlggeneral.cpp:234 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "Pagina passend maken" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "Automatisch passend" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "Aangepast" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" +"Definieert de standaard zoommodus voor bestanden die nooit eerder zijn " +"geopend. Voor eerder geopende bestanden wordt de vorige zoominstelling " +"gebruikt." + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "Standaard zoom:" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "Transparantie-effecten inschakelen" + +#: part/dlgperformance.cpp:28 +#, kde-format +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "CPU-gebruik" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "Laag" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "Normaal (standaard)" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "Agressief" + +#: part/dlgperformance.cpp:38 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "Gretig" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "Geheugengebruik:" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "Anti-alias van tekst inschakelen" + +#: part/dlgperformance.cpp:56 +#, kde-format +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "Renderingopties:" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "Anti-alias van grafische elementen inschakelen" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "Hinten van tekst inschakelen" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"Houdt het geheugengebruik zo laag mogelijk. Niets wordt hergebruikt (voor " +"computers met weinig geheugen)." + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"Een goed compromis tussen geheugengebruik en snelheidswinst. Laadt de " +"volgende pagina vooraf en versnelt zoekacties. (Geschikt voor systemen met " +"rond de 2 GB geheugen.)" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"Behoudt alles in het geheugen. Laadt de volgende pagina's vooraf. Versnelt " +"zoekacties. (Voor computers met meer dan 4 GB geheugen.)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" +"Laadt en houdt alles in geheugen. Alle pagina's vooraf laden. (Zal maximaal " +"50% van uw totale geheugen of uw vrije geheugen, wat groter is, gebruiken.)" + +#: part/dlgpresentation.cpp:38 +#, kde-format +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] "elke %v seconde" +msgstr[1] "elke %v seconden" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "Automatisch doorgaan:" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "Herhalen na de laatste pagina" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "Op linker-/rechterkant tikken om terug/vooruit te gaan" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "Ergens tikken on vooruit te gaan" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "Uitgeschakeld" + +#: part/dlgpresentation.cpp:63 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Navigatie door aanraken:" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "Achtergrondkleur:" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "Verborgen na vertraging" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "Altijd zichtbaar" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "Altijd verborgen" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "Muiscursor:" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "Voortgangsindicator tonen" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "Pagina met samenvatting tonen" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "Meteen (Nooit animaties gebruiken)" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "Vervangen" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "Willekeurige overgang" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "Verticaal dichtgaan" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "Horizontaal dichtgaan" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "Rechthoekig naar binnen" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "Rechthoekig naar buiten" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "Oplossen" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "Vervagen" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "Omlaag glitteren" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "Rechts glitteren" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "Rechts omlaag glitteren" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "Horizontaal insplitsen" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "Horizontaal uitsplitsen" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "Verticaal insplitsen" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "Verticaal uitsplitsen" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "Omlaag vegen" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "Rechts vegen" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "Links vegen" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "Omhoog vegen" + +#: part/dlgpresentation.cpp:121 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Standaardovergang:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "Scherm met voorkeur:" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

    Drawing Tools

    " +msgstr "

    Tekenhulpmiddelen

    " + +#: part/dlgpresentation.cpp:171 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Huidig scherm" + +#: part/dlgpresentation.cpp:172 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Standaardscherm" + +#: part/dlgpresentation.cpp:178 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "Scherm %1 (%2 %3 %4)" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "Scherm %1 (verbroken verbinding)" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "Tekenhulpmiddel: %1" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "Gum" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "&Naam:" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "&Type:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "Uiterlijk" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "Opmaak van tekst" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "Geometrische vorm" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "Annotatie-hulpmiddel maken " + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "Annotatie-hulpmiddel bewerken" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "Kleur:" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "&Penbreedte:" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "%v px" + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "Tekenhulpmiddel aanmaken " + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "Tekenhulpmiddel bewerken" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "Onbekend" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Ingebedde bestanden" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "Beeld" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "Naam" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "Beschrijving" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "Grootte" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "Aangemaakt" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "Gewijzigd" + +#: part/embeddedfilesdialog.cpp:154 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "Opslaan &als…" + +#: part/embeddedfilesdialog.cpp:155 +#, kde-format +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "&Beeld…" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "Kon het deel voor het afdrukvoorbeeld niet laden" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "Afdrukvoorbeeld" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "Sluiten" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "Zo&eken:" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "Tekst om naar te zoeken" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Volgende" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "Ga naar volgende overeenkomst" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Vorige" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "Ga naar vorige overeenkomst" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "Zoekgedrag aanpassen" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "Hoofdlettergevoelig" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "Van huidige pagina" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "Zoeken tijdens typen" + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "Alle bestanden (*)" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "Plaatshouder voor ondertekening (klik om te ondertekenen)" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "&Ondertekenen…" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "Eigenschappen van ondertekening" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "Zoekopties" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "Hoofdlettergevoelig" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "Reguliere expressie" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "Lagen" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "van" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "Zoomen" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "Zoomen naar 100%" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "&Rechtsom draaien" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "Rechtsom" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "&Linksom draaien" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "Linksom" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "Oorspronkelijke oriëntatie" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "Beeld &trimmen" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "Randen &trimmen" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "Tot selectie terugbrengen" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "Passend op &breedte" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "Passend op &pagina" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "&Automatisch passend maken" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "Ve&nster passend op pagina" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "&Weergavemodus" + +#: part/pageview.cpp:594 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "&Enkele pagina" + +#: part/pageview.cpp:595 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "&Overliggende pagina's" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "Overliggende pagina's (eerste pagina ¢reren)" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "&Overzicht" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "&Doorlopend" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "Richting lezen rechts naar links gebruiken" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "&Bladeren" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "&Zoomen" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "&Selectie van gebied" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "&Tekstselectie" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "Selectie uit t&abel" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "&Vergrootglas" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "Selectiegereedschappen" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "Digitaal &ondertekenen…" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "Gehele document uitspreken" + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "Huidige pagina uitspreken" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "Huidige pagina uitspreken" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "Stoppen met spreken" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "Spreken pauzeren/hervatten" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "Omhoog schuiven" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Omlaag schuiven" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "Pagina omhoog schuiven" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "Pagina omlaag schuiven" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "Formulieren tonen" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] "Document met één pagina geladen." +msgstr[1] "Document met %1 pagina's geladen." + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "Inhoud van tabel naar klembord kopiëren" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "Tekst (1 teken)" +msgstr[1] "Tekst (%1 tekens)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "Naar klembord kopiëren" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "Tekst uitspreken" + +#: part/pageview.cpp:2863 +#, kde-format +msgid "Image (%1 × %2 pixels)" +msgstr "Afbeelding (%1 x %2 pixels)" + +#: part/pageview.cpp:2865 +#, kde-format +msgid "Save to File…" +msgstr "Naar bestand opslaan…" + +#: part/pageview.cpp:2885 +#, kde-format +msgid "Image [%1 × %2] copied to clipboard." +msgstr "Afbeelding [%1 x %2] gekopieerd naar klembord." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "Bestand opslaan" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "Afbeeldingen (*png *.jpeg)" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "Bestand niet opgeslagen." + +#: part/pageview.cpp:2901 +#, kde-format +msgid "Image [%1 × %2] saved to %3 file." +msgstr "Afbeelding [%1 x %2] opgeslagen in bestand %3." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "Tekst kopiëren" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "Ga naar '%1'" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "Breedte passend maken" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "Pagina passend maken" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "Automatisch passend" + +#: part/pageview.cpp:4107 +#, kde-format +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1%" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "Zoekt naar '%1' met" + +#: part/pageview.cpp:4404 +#, kde-format +msgid "Configure Web Shortcuts…" +msgstr "Websnelkoppelingen configureren…" + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "Deze koppeling volgen" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "Dit geluid afspelen" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "Geluid stoppen" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "Koppelingsadres kopiëren" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "Zoeken naar '%1' in dit document" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Welkom" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "Zoomgebied selecteren. Rechter muisklik zoomt uit." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "Klik om het vergrote beeld te bekijken." + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "Teken een rechthoek rond de tekst/afbeelding om te kopiëren." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "Tekst selecteren" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" +"Teken een rechthoek rond de tabel, klik daarna bij de randen om ze op te " +"delen; druk op Esc om te wissen." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" +"Al uw certificaten voor ondertekenen zijn ongeldig. In geval ondertekenen " +"eerder werkte, controleer kun geldigheidsdatums." + +#: part/pageview.cpp:5188 +#, kde-format +msgid "No valid certificates" +msgstr "Geen geldige certificaten" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, kde-format +msgid "Open Certificate Manager" +msgstr "Certificaatbeheerder &openen" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
    Launch Certificate Manager " +"to import or manage certificates
    For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" +"Er zijn geen beschikbare certificaten voor ondertekenen.
    Start de " +"Certificatenbeheerder om certificaten te importeren of certificaten
    Voor " +"meer informatie, bekijk de sectie over Digitale ondertekening " +"toevoegen in de handleiding." + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, kde-format +msgid "No certificates found" +msgstr "Geen certificaten gevonden" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
    For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" +"Er zijn geen beschikbare certificaten voor ondertekenen.
    Voor meer " +"informatie, bekijk de sectie over Digitale ondertekening " +"toevoegen in de handleiding." + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" +"U hebt niet opgeslagen wijzigingen. Het document opslaan alvorens het te " +"ondertekenen." + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "Een rechthoek tekenen voor het veld voor ondertekenen in te voegen" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "Teken een rechthoek rond het paginagebied dat u zichtbaar wilt laten" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "Nieuwe tekstnotitie:" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "Tekst voor de nieuwe notitie:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Ondertekend door: %1\n" +"\n" +"Datum: %2" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" +"Een ondertekening van deze grootte kan te klein om te leesbaar te zijn. Als " +"u een potentieel beter leesbare ondertekening wilt aanmaken, druk op " +"Opnieuw starten en teken een grotere rechthoek." + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "Opnieuw starten" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "Ondertekenen" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name" +msgstr "Naam van de auteur" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name for the annotation:" +msgstr "Naam van de auteur voor de annotatie:" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "Teken een ellips (sleep om een zone te selecteren)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "Accentueer tekst" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "Teken een lijn uit de vrije hand" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "" +"Inline-tekst-annotatie (sleep met de muisaanwijzer om een gebied te " +"selecteren)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "Popup-notitie invoegen" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "Teken een veelhoek (klik op het eerste punt om het te sluiten)" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "Een rechthoek tekenen" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "Tekst laten golven" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "Plaats een postzegelsymbool" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "Een rechte lijn tekenen" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "Tekst doorhalen" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "Tekst onderstrepen" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "Annotatie van schrijfmachine (sleep om een gebied te selecteren)" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "Accentuering" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "Favoriete annotatie toevoegen" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Custom annotation name:" +msgstr "Eigen annotatienaam:" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&Bestand" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "&Instellingen" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "&Help" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "&Oriëntatie" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "Bladwij&zers" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "Werkbalk van viewer" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Miniaturen" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "Annotaties" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
    Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" +"Dit document bevat annotaties of formuliergegevens die intern zijn " +"opgeslagen door een vorige versie van Okular. Interne opslag wordt niet " +"langer ondersteund.
    Sla het op in een bestand om ze te verplaatsen " +"als u door wilt gaan met het bewerken van het document." + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"Dit document bevat ingebedde bestanden. Klik hier om ze te bekijken of ga naar menuoptie Bestand -> Ingebedde " +"bestanden." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" +"Ondertekening bezig. U kunt de positie en grootte van de ondertekening " +"aanpassen" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "Ondertekenen beëindigen" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "Vorige" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "Ga terug naar de vorige pagina" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "Gaat naar de vorige pagina van het document" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "Volgende" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "Ga verder naar de volgende pagina" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "Gaat naar de volgende pagina van het document" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "Begin van het document" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "Gaat naar het begin van het document" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "Einde van het document" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "Gaat naar het einde van het document" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "Hernoem de huidige bladwijzer" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "Vorige bladwijzer" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "Ga na de vorige bladwijzer" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "Volgende bladwijzer" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "Ga naar de volgende bladwijzer" + +#: part/part.cpp:748 +#, kde-format +msgid "Configure Okular…" +msgstr "Okular configureren…" + +#: part/part.cpp:751 +#, kde-format +msgid "Configure Viewer…" +msgstr "Viewer configureren…" + +#: part/part.cpp:757 +#, kde-format +msgid "Configure Viewer Backends…" +msgstr "Viewer-backends configureren…" + +#: part/part.cpp:759 +#, kde-format +msgid "Configure Backends…" +msgstr "Backends configureren…" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "Info over backend" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "Herla&den" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "Herlaad het huidige document vanaf de schijf." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "&Zoekbalk sluiten" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "Paginanummer" + +#: part/part.cpp:817 +#, kde-format +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "Kleurmodi configureren…" + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "Alle tekst op de huidige pagina selecteren" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "Z&ijbalk tonen" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "&Paginabalk tonen" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "&Ondertekeningpaneel tonen" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "Ing&ebedde bestanden" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "E&xporteren als" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "&Delen" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "P&resentatie" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "Map waarin he&t zich bevindt openen" + +#: part/part.cpp:945 +#, kde-format +msgid "&Import PostScript as PDF…" +msgstr "PostScript als PDF &importeren…" + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "Zwartschermmodus wisselen" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "Tekening wissen" + +#: part/part.cpp:962 +#, kde-format +msgid "Configure Annotations…" +msgstr "Annotaties configureren…" + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "Speel af/pauzeer de presentatie" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" +"U hebt zojuist het geopende document gewijzigd, maar dit soort document kan " +"niet opgeslagen worden.\n" +"Elke wijziging zal verloren gaan nadat Okular is gesloten." + +#: part/part.cpp:1123 +#, kde-format +msgid "Document can't be saved" +msgstr "Document kan niet opgeslagen worden" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "Kan '%1' (%2) niet openen " + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "Het laden van %1 is geannuleerd." + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "Kon %1 niet openen. Reden: %2" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "Viewer-backends instellen" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "Backends instellen" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"Het programma \"ps2pdf\" is niet gevonden. Zonder dit programma kan Okular " +"geen PS-bestanden importeren." + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "ps2pdf niet gevonden" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "PostScriptbestanden (%1)" + +#: part/part.cpp:1357 +#, kde-format +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "PS-bestand wordt als PDF geïmporteerd (dit kan enige tijd duren)…" + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "Voer het wachtwoord in om het document te kunnen lezen:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "Onjuist wachtwoord. Probeer het nogmaals:" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "Documentwachtwoord" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" +"Dit document heeft XFA-formulieren, die op dit moment niet ondersteund " +"worden." + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"Dit document bevat formulieren. Klik op de knop om ze te kunnen gebruiken of " +"selecteer menuoptie: Beeld -> Formulieren tonen" + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" +"Alle functies voor bewerking en interactiviteit voor dit document zijn " +"uitgeschakeld. Sla een kopie op en open het opnieuw om dit document te " +"bewerken." + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" +"Dit document wil getoond worden in volledig-scherm.\n" +"Normale modus verlaten en presentatiemodus ingaan?" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "Verzoek om weergavemodus te wijzigen" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "Presentatiemodus ingaan" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "Verzoek weigeren" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "Kon %1 niet openen. %2" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" +"Het bestand %1 heeft niet opgeslagen wijzigingen maar " +"is gewijzigd door een ander programma. Opnieuw laden zal de niet opgeslagen " +"wijzigingen vervangen door de wijzigingen gemaakt door het andere programma." +"Wilt u doorgaan met het opnieuw laden van het bestand?" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "Bestand is gewijzigd" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "Doorgaan en herladen" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "Herladen afbreken" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" +"Het bestand %1 heeft niet opgeslagen wijzigingen maar " +"is gewijzigd door een ander programma. Sluiten zal de niet opgeslagen " +"wijzigingen vervangen door de wijzigingen gemaakt door het andere programma." +"Wilt u doorgaan met het sluiten van het bestand?" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "Doorgaan en sluiten" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "Sluiten afbreken" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "Wilt u uw wijzigingen opslaan in \"%1\" of ze verwerpen?" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "Document sluiten" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"De koppeling verwijst naar een actie die het document zal sluiten. Deze " +"werkt echter niet als u de viewer ingebed gebruikt." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"De koppeling verwijst naar een actie die het programma doet afsluiten. Deze " +"werkt echter niet als de viewer is ingebed." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, kde-format +msgid "Reloading the document…" +msgstr "Het document wordt opnieuw geladen…" + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "Inhoud" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "Handtekeningen" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Ga naar pagina" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "&Pagina:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "Geef de nieuwe naam in van de bladwijzer:" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "Deze bladwijzer hernoemen" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "Deze bladwijzer verwijderen" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "Opslaan als" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" +"U hebt gekozen om een Okular Archief op te slaan zonder dat de bestandsnaam " +"eindigt met de extensie '%1'. Dat is niet toegestaan, wilt u een nieuwe naam " +"kiezen?" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "Niet ondersteunde extensie" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "Nieuwe naam kiezen" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" +"Het bestand %1 is gewijzigd door een ander programma. " +"Als nu opslaat zullen alle wijzigingen gemaakt door het andere programma " +"verloren gaan. Wilt u doorgaan?" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "Opslaan - waarschuwing" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "Een kopie elders opslaan" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
    In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" +"Het huidige document is beschermd met een wachtwoord.
    Om het bestand op " +"te slaan is het nodig het opnieuw te laden. U zult opnieuw naar het " +"wachtwoord worden gevraagd en uw ongedaan maken/opnieuw doen geschiedenis " +"zal verloren gaan.
    Wilt u doorgaan?" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "Kon tijdelijk bestand niet opslaan." + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" +"Kon %1 niet overschrijven, omdat dat bestand alleen-" +"lezen is. Probeer het op te slaan op een andere locatie of de rechten van " +"dat bestand." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" +"Na opslaan vereist het huidige documentformaat dat het bestand wordt " +"herladen. Uw ongedaan maken/opnieuw doen geschiedenis zal verloren gaan.
    Wilt u doorgaan?" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "" +"Het bestand kon niet worden opgeslagen in '%1'. Probeer een andere locatie." + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "Inhoud van ingevuld formulier" + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "Gebruikersannotaties" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" +"U staat op het punt wijzigingen op te slaan, maar het huidige " +"bestandsformaat ondersteunt niet het opslaan van de volgende elementen. " +"Gebruik beter het formaat Okular-documentarchief om ze te bewaren." + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "Waarschuwing" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "Als Okular-documentarchief opslaan…" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" +"U staat op het punt wijzigingen op te slaan, maar het huidige " +"bestandsformaat ondersteunt niet het opslaan van de volgende elementen. " +"Gebruik beter het formaat Okular-documentarchief om ze te bewaren. " +"Druk op Doorgaan om het document op te slaan en deze elementen weg te " +"gooien." + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" +"U staat op het punt wijzigingen op te slaan, maar het huidige " +"bestandsformaat ondersteunt niet het opslaan van de volgende elementen. " +"Gebruik beter het formaat Okular-documentarchief om ze te bewaren. " +"Druk op Doorgaan om op te slaan, maar u zult deze elementen evenals " +"de geschiedenis van ongedaan maken/opnieuw doen verliezen." + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "Doorgaan" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "Doorgaan en wijzigingen verliezen" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "Bestand kon niet worden opgeslagen in '%1'. %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"Okular kan %1 niet kopiëren naar de opgegeven locatie.\n" +"\n" +"Het document bestaat niet meer." + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" +"Bestand kon niet worden opgeslagen in '%1'. Fout: '%2'. Probeer het op te " +"slaan op een andere locatie." + +#: part/part.cpp:3158 +#, kde-format +msgid "Expand Whole Section" +msgstr "Gehele sectie uitvouwen" + +#: part/part.cpp:3159 +#, kde-format +msgid "Collapse Whole Section" +msgstr "Gehele sectie invouwen" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "Miniatuur synchroniseren met pagina" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Hulpmiddelen" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "Uitspreken" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "Afdrukken" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "Het afdrukken van dit document is niet toegestaan." + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"Het document kan niet worden afgedrukt. Onbekende fout. Stuur bugrapport aan " +"bugs.kde.org. Zie menu 'Help'." + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"Het document kan niet worden afgedrukt. Gedetailleerde fout is \"%1\". Stuur " +"een bugrapport aan bugs.kde.org. Zie menu 'Help'." + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "Ga naar de plek waar u was voor" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "Ga naar de plek waar u was na" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"Bestandsfout! Kon tijdelijk bestand %1 niet aanmaken." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"Bestandsfout! Kon het bestand %1 niet openen om uit te pakken. Het bestand zal niet worden " +"geladen." + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"Deze fout komt meestal voor als u geen toegangsrechten hebt om het " +"bestand te lezen. U kunt deze toegangsrechten instellen als u rechts klikt " +"op het bestand in de bestandsbeheerder Dolphin en dan de optie " +"'Eigenschappen' kiest en tabblad 'Rechten' in het geopende venster." + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"Bestandsfout! Kon het bestand %1 niet uitpakken. Het bestand zal niet worden geladen." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"Deze fout treedt meestal op wanneer het bestand is beschadigd. Om daar " +"zeker van te zijn kunt u proberen het bestand handmatig uit te pakken met " +"commandoregelprogramma's." + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "Geen bladwijzers" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "Er was een probleem bij het delen van het document: %1" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "Delen" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "Document met succes gedeeld" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "U kunt het gedeelde document vinden op: %1" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "Be&werken" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "Beel&d" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&Ga naar" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "H&ulpmiddelen" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "Hoofdwerkbalk" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "Werkbalk voor annotaties" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, kde-format +msgid "Quick Annotation Toolbar" +msgstr "Snelle werkbalk voor annotaties" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "Algemene opties" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Toegankelijkheid" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "Leeshulpmiddelen voor toegankelijkheid" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Snelheid" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "Snelheidsinstellingen" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "Viewer instellen" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Presentatie" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "Opties voor de presentatiemodus" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "Annotatie-opties" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "Editor" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "Editoropties" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" +"De bewerker was ingesteld op de opdrachtregel op \n" +" %1 \n" +"Als u de instelling wilt gebruiken, start okular zonder de optie --editor-cmd" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "Volgende zoeken" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 - presentatie" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "Scherm wisselen" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "Scherm %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "Presentatiemodus beëindigen" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Titel: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Pagina's:%1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "Klik om te beginnen" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "Pauzeren" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "Afspelen" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"U kunt de presentatiemodus op twee manieren verlaten. Druk op de toets Esc " +"of klik op de knop Afsluiten die verschijnt als u de muis in de rechter " +"bovenhoek plaatst. Uiteraard kunt u door de vensters bladeren (standaard via " +"Alt+Tab)." + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "Een presentatie geven" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "Onbekend bestand" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "%1-eigenschappen" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "&Lettertypen" + +#: part/propertiesdialog.cpp:145 +#, kde-format +msgid "Reading font information…" +msgstr "Lettertype-informatie wordt gelezen…" + +#: part/propertiesdialog.cpp:158 +#, kde-format +msgid "&Page Sizes" +msgstr "&Paginagroottes" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "Lettertype &extraheren" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Type 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Type 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "Type 1C (OT)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Type 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType (OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID Type 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID Type 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID Type 0C (OT)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType (OT)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "TeX PK" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "TeX virtueel" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "TeX Font Metric" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "TeX FreeType-behandeld" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "Onbekend" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "Ingebed (subset)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "Volledig ingebed" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "Nee" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "Ja (subset)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "Ja" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "%1 (substitutie met %2)" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "[n/b]" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "Onbekend lettertype" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "Ingebed: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "Naam" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "Type" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "Bestand" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "Pagina" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "Grootte" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "Voorbeeldweergave van revisie" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "Waar wilt u deze revisie opslaan?" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "Kon het bestand %1 niet opslaan." + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "Kon revisie niet niet bekijken." + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "Voer tenminste 3 letters in om de pagina's te filteren" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "Hoofdlettergevoelig" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "Overeenkomst met uitdrukking" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "Overeenkomst met alle woorden" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "Overeenkomst met elk woord" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "Filteropties" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, kde-format +msgid "Certificates" +msgstr "Certificaten" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "Certificaat selecteren om mee te ondertekenen:" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "Alles" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, kde-format +msgid "Only QES certificates" +msgstr "Alleen CES-certificaten" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "Alleen PGP-sleutels" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "Reden:" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, kde-format +msgid "optional" +msgstr "optioneel" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "Locatie:" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, kde-format +msgid "Background:" +msgstr "Achtergrond:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "Kiezen..." + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, kde-format +msgid "Recent backgrounds:" +msgstr "Recente achtergronden:" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

    No annotations

    To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
    " +msgstr "" +"

    Geen annotaties

    Om nieuwe annotaties aan te maken, " +"druk op F6 of selecteer menuoptie Hulpmiddelen> Annotaties.
    " + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "Groeperen op pagina" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "Groeperen op auteur" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "Alleen annotaties voor huidige pagina tonen" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "Alle elementen uitvouwen" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "Alle elementen invouwen" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "Eigenschappen" + +#: part/signaturepartutils.cpp:180 +#, kde-format +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Afbeeldingen (%1)" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "Achtergrondafbeelding selecteren" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "Afbeelding vergeten" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "Alles afbeeldingen vergeten" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "" +"Wachtwoord invoeren (indien aanwezig) om het certificaat te ontgrendelen: %1" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "Certificaatwachtwoord invoeren" + +#: part/signaturepartutils.cpp:244 +#, kde-format +msgid "Enter document password" +msgstr "Documentwachtwoord invoeren" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "Ondertekend bestand opslaan als" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "%1_signed.%2" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "Geldigheidsstatus" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "Geldigheid ondertekening:" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "Wijzigingen aan document:" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "Aanvullende informatie" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "Ondertekend door:" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "Tijdstip van ondertekenen: " + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "Documentversie" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Documentrevisie %1 van %2" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "Ondertekende versie bekijken…" + +#: part/signaturepropertiesdialog.cpp:95 +#, kde-format +msgid "View Certificate…" +msgstr "Certificaat weergeven…" + +#: part/signaturepropertiesdialog.cpp:97 +#, kde-format +msgid "View in Certificate Manager" +msgstr "In certificatenbeheerder bekijken" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "Certificatenbeheerder van KDE (kleopatra) niet gevonden" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "Gekwalificeerd" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "PGP" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "Alleen pagina's met bladwijzer tonen" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "Afspelen" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Pauze" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "Stoppen" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "Videos worden in deze okular niet ondersteund" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "Videos worden in deze Okular niet ondersteund" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "&Toevoegen…" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, kde-format +msgid "&Edit…" +msgstr "B&ewerken…" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "&Verwijderen" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "Omhoog &verplaatsen" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "Om&laag verplaatsen" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "Standaard tekenhulpmiddel #%1" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "Er is al een hulpmiddel met die naam. De standaard wordt gebruikt" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "Gedupliceerde naam" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "Pagina van het document om te tonen" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "Document in presentatiemodus starten" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "Met afdrukdialoog beginnen" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "Met afdrukdialoog beginnen en na afdrukken beëindigen" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "Controle over \"unieke sessie\"" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "Venster niet naar voorgrond" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "Een tekenreeks zoeken in de tekst" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "Stelt het externe commando voor bewerker in" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "Te openen documenten. Specificeer '-' om van standaardinvoer te lezen." + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" +"U kunt geen commando voor bewerker instellen in een al actief exemplaar van " +"okular. Schakel de tabbladen uit en probeer opnieuw. Merk op dat uniek ook " +"niet ondersteund wordt bij instellen van het commando voor de bewerker in de " +"opdrachtregel.\n" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "Fout: kan niet meer dan één document openen met de --unique parameter" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" +"Fout: kan niet meer dan één document openen met de parameter --presentation" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "Fout: kan niet meer dan één document openen met de parameter --print" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "Fout: kan niet meer dan één document openen met de parameter --page" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "Fout: kan niet meer dan één document openen met de parameter --find" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "Niet gevonden de okular-component: %1" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "Zijbalk" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" +"Er is al een uniek exemplaar van Okular actief. Dit exemplaar zal niet de " +"unieke zijn." + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "Okular-component is niet gevonden." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"Klik om een bestand te openen\n" +"Houdt de muisknop ingedrukt om een recent bestand te openen" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"Klik om een bestand te openen, houd de muisknop ingedrukt om " +"een recent geopend bestand te openen" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "Volgend tabblad" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "Vorig tabblad" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "Tabblad sluiten ongedaan maken" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "Zijbalk vergrendelen" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "Alle bestanden (*)" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "Alle ondersteunde bestanden (%1)" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "Document openen" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "Sluiten bevestigen" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "Tabbladen sluiten" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "U staat op het punt %1 tabbladen te sluiten. Wilt u doorgaan?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "Waarschuw me wanneer ik meerdere tabbladen wil sluiten" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "Pad &kopiëren" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "Map waarin het zich bevindt &openen" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "Dit item &vergeten" + +#: shell/welcomescreen.cpp:137 +#, kde-format +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "Geen recente documenten" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "Welkom bij Okular" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Document openen..." + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, kde-format +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Recente documenten" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "Alles vergeten" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "Welkomstscherm verbergen" + +#~ msgid "Geometry with Comment" +#~ msgstr "Geometrie met opmerking" + +#~ msgid "Geometry" +#~ msgstr "Afmeting" + +#~ msgctxt "Annotation type: contents" +#~ msgid "%1: %2" +#~ msgstr "%1: %2" + +#~ msgid "Modified: %1" +#~ msgstr "Gewijzigd: %1" + +#~ msgid "Find..." +#~ msgstr "Zoeken..." + +#~ msgid "Go To Page..." +#~ msgstr "Ga naar pagina..." + +#~ msgid "Play movie..." +#~ msgstr "Film afspelen..." + +#~ msgid "Search..." +#~ msgstr "Zoeken..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "Op&slaan als..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "&Beeld..." + +#~ msgid "&Sign..." +#~ msgstr "&Ondertekenen..." + +#~ msgid "Configure Viewer..." +#~ msgstr "Viewer instellen..." + +#~ msgid "Configure Viewer Backends..." +#~ msgstr "Viewer-backends instellen..." + +#~ msgid "Configure Backends..." +#~ msgstr "Backends instellen..." + +#~ msgid "&Add..." +#~ msgstr "&Toevoegen..." + +#~ msgid "&Edit..." +#~ msgstr "B&ewerken..." + +#~ msgctxt "%1 is a file path" +#~ msgid "" +#~ "Could not sign. Invalid certificate password or could not write to '%1'" +#~ msgstr "" +#~ "Kon niet ondertekenen. Ongeldig certificaat wachtwoord of kon niet " +#~ "schrijven naar '%1'" + +#~| msgid "" +#~| "All your signing certificates are either not valid yet or are past their " +#~| "validity date." +#~ msgid "All your signing certificates are invalid" +#~ msgstr "Al uw certificaten voor ondertekenen zijn niet geldig" + +#~ msgid "Unsigned Signature %1" +#~ msgstr "Niet ondertekende ondertekening %1" + +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "Onbekend" + +#~ msgctxt "Signature type" +#~ msgid "Unsigned signature" +#~ msgstr "Niet ondertekende ondertekening" + +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "Spinbox prefix: Advance automatically: every n seconds" +#~ msgid "every " +#~ msgstr "iedere " + +#~ msgctxt "Suffix for the pen width, eg '10 px'" +#~ msgid " px" +#~ msgstr " px" + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " %" + +#~ msgctxt "%1 is a file path" +#~ msgid "Could not sign. Could not write to '%1'" +#~ msgstr "Kon niet ondertekenen. Kon niet schrijven naar '%1'" + +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "Breedte passend maken" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "Pagina passend maken" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Auto Fit" +#~ msgstr "Automatisch passend" + +#~ msgid "*|All Files" +#~ msgstr "*|Alle bestanden" + +#~ msgid "Missing alert type" +#~ msgstr "Ontbrekend type opletten" + +#~ msgid "" +#~ "The file '%1' has been modified by another program, which means it can no " +#~ "longer be saved." +#~ msgstr "" +#~ "Het bestand '%1' is gewijzigd door een ander programma, wat betekent dat " +#~ "u het niet langer op kunt slaan." + +#~ msgid "Show Sidebar" +#~ msgstr "Zijbalk tonen" + +#~ msgctxt "@info" +#~ msgid "" +#~ "experimental feature.Stamps inserted in PDF documents are " +#~ "not visible in PDF readers other than Okular." +#~ msgstr "" +#~ "experimentele functie.Ingevoegde postzegels in PDF-" +#~ "documenten zijn niet zichtbaar in PDF-lezers anders dan Okular." + +#~ msgctxt "@info" +#~ msgid "" +#~ "The version of the Poppler library this Okular was compiled with does not " +#~ "support signing documents with passwords. Please ask your provider to " +#~ "update it to 22.02 or later." +#~ msgstr "" +#~ "De versie van de Poppler bibliotheek waarmee deze Okular is gecompileerd " +#~ "ondersteunt het ondertekenen van documenten met wachtwoorden niet. Vraag " +#~ "uw leverancier om het bij te werken tot 22.02 of later." + +#~ msgctxt "@title:window" +#~ msgid "Poppler library is too old" +#~ msgstr "Poppler-bibliotheek is te oud" + +#~ msgctxt "@info" +#~ msgid "" +#~ "Stamps inserted in PDF documents are not visible in PDF readers other " +#~ "than Okular" +#~ msgstr "" +#~ "Ingevoegde stempels in PDF-documenten zijn niet zichtbaar in PDF-lezers " +#~ "anders dan Okular" + +#~ msgctxt "@title:window" +#~ msgid "Experimental feature" +#~ msgstr "Experimentele mogelijkheid" + +#~ msgid "Form" +#~ msgstr "Formulier" + +#~ msgid "Remove Bookmarks" +#~ msgstr "Bladwijzers verwijderen" + +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "&Annotatie maken" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "Accentuering" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Underline" +#~ msgstr "Onderstrepen" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Squiggle" +#~ msgstr "Golvend" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Strike Out" +#~ msgstr "Doorhalen" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "Tekst invoegen" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "Inline-notitie invoegen" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "Pop-up-notitie invoegen" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Freehand Line" +#~ msgstr "Lijn uit de vrije hand tekenen" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Straight line" +#~ msgstr "Rechte lijn tekenen" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Arrow" +#~ msgstr "Pijl tekenen" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Rectangle" +#~ msgstr "Rechthoek tekenen" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Ellipse" +#~ msgstr "Ellips tekenen" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Polygon" +#~ msgstr "Veelhoek tekenen" + +#~ msgid "Highlight in Yellow" +#~ msgstr "In geel accentueren" + +#~ msgid "Highlight in Green" +#~ msgstr "In groen accentueren" + +#~ msgid "Insert Inline Note" +#~ msgstr "Inline-notitie invoegen" + +#~ msgid "Insert Popup Note" +#~ msgstr "Pop-up-notitie invoegen" + +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "Gebied &selecteren" + +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "&Tekst selecteren" + +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "T&abel selecteren" + +#~ msgctxt "verb" +#~ msgid "&Magnify" +#~ msgstr "&Vergroten" + +#~ msgid "Bookmark annotation" +#~ msgstr "Bladwijzer maken van annotatie" + +#~ msgid "&Toggle Change Colors" +#~ msgstr "Kleuren wijzigen om&schakelen" + +#~ msgctxt "@option:check Config dialog, presentation page, transitions" +#~ msgid "Enable transitions" +#~ msgstr "Overgangen activeren" + +#~ msgctxt "@label:spinbox Config dialog, presentation page" +#~ msgid "Advance every:" +#~ msgstr "Verdergaan elke:" + +#~ msgctxt "@label:listbox Config dialog, general page" +#~ msgid "Custom background color:" +#~ msgstr "Eigen achtergrondkleur:" + +#~ msgid "Draw border around &Images" +#~ msgstr "Rand rond afbeeld&ingen tonen" + +#~ msgid "Speech" +#~ msgstr "Spraak" + +#~ msgid "Engine" +#~ msgstr "Engine" + +#~ msgid "Identity" +#~ msgstr "Identiteit" + +#~ msgid "Au&thor:" +#~ msgstr "Au&teur:" + +#~ msgid "View Options" +#~ msgstr "Weergave-opties" + +#~ msgctxt "@info:whatsthis" +#~ msgid "" +#~ "Defines the default zoom mode for files which were never opened before.\n" +#~ "For files which were opened before the previous zoom is applied." +#~ msgstr "" +#~ "Definieert de standaard zoommodus voor bestanden die nooit eerder zijn " +#~ "geopend.\n" +#~ "Voor eerder geopende bestanden wordt de vorige zoominstelling gebruikt." + +#~ msgid "Navigation" +#~ msgstr "Navigatie" + +#~ msgid "Placement" +#~ msgstr "Plaatsing" + +#~ msgid "Screen:" +#~ msgstr "Scherm:" + +#~ msgid "Drawing Tool Configuration" +#~ msgstr "Instellingen van tekenhulpmiddel" + +#~ msgid "&Get Books From Internet..." +#~ msgstr "Boeken van internet &halen..." + +#~ msgid "Reviews" +#~ msgstr "Recensies" + +#~ msgctxt "@item:inlistbox Color name" +#~ msgid "%1" +#~ msgstr "%1" + +#~ msgid "Hide Forms" +#~ msgstr "Formulieren verbergen" + +#~ msgid "&Review" +#~ msgstr "&Recenseren" + +#~ msgid "Annotations author" +#~ msgstr "Annotaties van auteur" + +#~ msgid "Please insert your name or initials:" +#~ msgstr "Voer uw naam of initialen in:" + +#~ msgctxt "Used in this context: 'Page sizes: Multiple'" +#~ msgid "Multiple" +#~ msgstr "Meervoud" + +#~ msgid "Show &Navigation Panel" +#~ msgstr "&Navigatiepaneel tonen" + +#~ msgid "Show Text" +#~ msgstr "Tekst tonen" + +#~ msgid "Small Icons" +#~ msgstr "Kleine pictogrammen" + +#~ msgid "Large Icons" +#~ msgstr "Grote pictogrammen" + +#~ msgid "" +#~ "Click to use the current selection tool\n" +#~ "Click on the arrow to choose another selection tool" +#~ msgstr "" +#~ "Klik om het huidige selectiehulpmiddel te gebruiken\n" +#~ "Klik op de pijl om een ander selectiehulpmiddel te kiezen" + +#~ msgid "Created: %1" +#~ msgstr "Aangemaakt: %1" + +#~ msgid "Style" +#~ msgstr "Stijl" + +#~ msgid "&Size:" +#~ msgstr "&Grootte:" + +#~ msgid "Inner color:" +#~ msgstr "Binnenste kleur:" + +#~ msgid "Name: %1" +#~ msgstr "Naam: %1" + +#~ msgid "Size: %1" +#~ msgstr "Grootte: %1" + +#~ msgid "&Browse Tool" +#~ msgstr "&Bladergereedschap" + +#~ msgid "&Zoom Tool" +#~ msgstr "&Zoomgereedschap" + +#~ msgctxt "Zoom Tool" +#~ msgid "Zoom" +#~ msgstr "Zoomen" + +#~ msgctxt "Select Tool" +#~ msgid "Selection" +#~ msgstr "Selectie" + +#~ msgid "&Text Selection Tool" +#~ msgstr "&Tekstselecteergereedschap" + +#~ msgid "T&able Selection Tool" +#~ msgstr "Selectiehulpmiddel voor T&abel" + +#~ msgid " None" +#~ msgstr " Geen" + +#~ msgid "" +#~ "The document requested to be launched in presentation mode.\n" +#~ "Do you want to allow it?" +#~ msgstr "" +#~ "Het document zal worden gestart in presentatiemodus.\n" +#~ "Wilt u dit toestaan?" + +#~ msgid "Presentation Mode" +#~ msgstr "Presentatiemodus" + +#~ msgid "Allow the presentation mode" +#~ msgstr "Sta toe dat het document als presentatie wordt weergegeven" + +#~ msgid "Do Not Allow" +#~ msgstr "Niet toestaan" + +#~ msgid "Do not allow the presentation mode" +#~ msgstr "Weiger dat het document als presentatie wordt weergegeven" + +#~ msgid "" +#~ "Your annotation changes will not be saved automatically. Use File -> Save " +#~ "As...\n" +#~ "or your changes will be lost once the document is closed" +#~ msgstr "" +#~ "Uw annotaties zullen niet automatisch opgeslagen worden. Gebruik Bestand -" +#~ "> Opslaan als...\n" +#~ "of uw wijzigingen zullen verloren gaan wanneer het document is gesloten" + +#~ msgid "" +#~ "Your annotations are saved internally by Okular.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" +#~ msgstr "" +#~ "Uw annotaties zijn intern opgeslagen door Okular.\n" +#~ "U kunt het geannoteerde document exporteren met Bestand -> Exporteren als " +#~ "-> Documentarchief" + +#~ msgid "Save &Copy As..." +#~ msgstr "&Kopie opslaan als..." + +#~ msgid "" +#~ "Your annotations will not be exported.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" +#~ msgstr "" +#~ "Uw annotaties zullen niet geëxporteerd worden.\n" +#~ "U kunt het geannoteerde document exporteren met Bestand -> Exporteren als " +#~ "-> Documentarchief" + +#~ msgid "" +#~ "End of document reached.\n" +#~ "Continue from the beginning?" +#~ msgstr "" +#~ "Einde van het document bereikt.\n" +#~ "Wilt u vanaf het begin doorgaan?" + +#~ msgid "" +#~ "Beginning of document reached.\n" +#~ "Continue from the bottom?" +#~ msgstr "" +#~ "Begin van het document bereikt.\n" +#~ "Wilt u vanaf het einde doorgaan?" + +#~ msgid "Current maintainer" +#~ msgstr "Huidige onderhouder" + +#~ msgid " sec." +#~ msgstr " sec." + +#~ msgid "Pencil color:" +#~ msgstr "Potloodkleur:" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A0" +#~ msgstr "landschap-DIN/ISO A0" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A0" +#~ msgstr "portret-DIN/ISO A0" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A1" +#~ msgstr "landschap-DIN/ISO A1" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A1" +#~ msgstr "portret-DIN/ISO A1" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A2" +#~ msgstr "landschap-DIN/ISO A2" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A2" +#~ msgstr "portret-DIN/ISO A2" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A3" +#~ msgstr "landschap-DIN/ISO A3" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A3" +#~ msgstr "portret-DIN/ISO A3" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A4" +#~ msgstr "landschap-DIN/ISO A4" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A4" +#~ msgstr "portret-DIN/ISO A4" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A5" +#~ msgstr "landschap-DIN/ISO A5" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A5" +#~ msgstr "portret-DIN/ISO A5" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A6" +#~ msgstr "landschap-DIN/ISO A6" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A6" +#~ msgstr "portret-DIN/ISO A6" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A7" +#~ msgstr "landschap-DIN/ISO A7" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A7" +#~ msgstr "portret-DIN/ISO A7" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A8" +#~ msgstr "landschap-DIN/ISO A8" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A8" +#~ msgstr "portret-DIN/ISO A8" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A9" +#~ msgstr "landschap-DIN/ISO A9" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A9" +#~ msgstr "portret-DIN/ISO A9" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B0" +#~ msgstr "landschap-DIN/ISO B0" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B0" +#~ msgstr "portret-DIN/ISO B0" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B1" +#~ msgstr "landschap-DIN/ISO B1" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B1" +#~ msgstr "portret-DIN/ISO B1" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B2" +#~ msgstr "landschap-DIN/ISO B2" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B2" +#~ msgstr "portret-DIN/ISO B2" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B3" +#~ msgstr "landschap-DIN/ISO B3" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B3" +#~ msgstr "portret-DIN/ISO B3" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B4" +#~ msgstr "landschap-DIN/ISO B4" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B4" +#~ msgstr "portret-DIN/ISO B4" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B5" +#~ msgstr "landschap-DIN/ISO B5" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B5" +#~ msgstr "portret-DIN/ISO B5" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B6" +#~ msgstr "landschap-DIN/ISO B6" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B6" +#~ msgstr "portret-DIN/ISO B6" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B7" +#~ msgstr "landschap-DIN/ISO B7" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B7" +#~ msgstr "portret-DIN/ISO B7" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B8" +#~ msgstr "landschap-DIN/ISO B8" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B8" +#~ msgstr "portret-DIN/ISO B8" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B9" +#~ msgstr "landschap-DIN/ISO B9" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B9" +#~ msgstr "portret-DIN/ISO B9" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B10" +#~ msgstr "landschap-DIN/ISO B10" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B10" +#~ msgstr "portret-DIN/ISO B10" + +#~ msgctxt "paper size" +#~ msgid "landscape letter" +#~ msgstr "landschap-letter" + +#~ msgctxt "paper size" +#~ msgid "portrait letter" +#~ msgstr "portret-letter" + +#~ msgctxt "paper size" +#~ msgid "landscape legal" +#~ msgstr "landschap-legal" + +#~ msgctxt "paper size" +#~ msgid "portrait legal" +#~ msgstr "portret-legal" + +#~ msgctxt "paper size" +#~ msgid "landscape executive" +#~ msgstr "landschap-executive" + +#~ msgctxt "paper size" +#~ msgid "portrait executive" +#~ msgstr "portret-executive" + +#~ msgctxt "paper size" +#~ msgid "landscape Comm10E" +#~ msgstr "landschap-Comm10E" + +#~ msgctxt "paper size" +#~ msgid "portrait Comm10E" +#~ msgstr "portret-Comm10E" + +#~ msgctxt "paper size" +#~ msgid "landscape DLE" +#~ msgstr "landschap-DLE" + +#~ msgctxt "paper size" +#~ msgid "portrait DLE" +#~ msgstr "portret-DLE" + +#~ msgctxt "paper size" +#~ msgid "landscape folio" +#~ msgstr "landschap-folio" + +#~ msgctxt "paper size" +#~ msgid "portrait folio" +#~ msgstr "portret-folio" + +#~ msgctxt "paper size" +#~ msgid "ledger" +#~ msgstr "ledger" + +#~ msgctxt "paper size" +#~ msgid "tabloid" +#~ msgstr "tabloid" + +#~ msgctxt "paper size" +#~ msgid "unknown landscape paper size" +#~ msgstr "onbekende landschap-papiergrootte" + +#~ msgctxt "paper size" +#~ msgid "unknown portrait paper size" +#~ msgstr "onbekende portret-papiergrootte" + +#~ msgid "Toggle Drawing Mode" +#~ msgstr "Tekenmodus aan/uit" + +#~ msgid "Starting Jovie Text-to-Speech service Failed: %1" +#~ msgstr "Opstarten van tekst-naar-spraak-service van Jovie is mislukt: %1" + +#~ msgid "Search Columns" +#~ msgstr "Kolommen zoeken" + +#~ msgid "All Visible Columns" +#~ msgstr "Alle zichtbare kolommen" + +#~ msgid "No document opened." +#~ msgstr "Geen document geopend." + +#~ msgid "Can't open more than one document in the unique Okular instance." +#~ msgstr "" +#~ "Kan niet meer dan één document openen met Okular als uniek exemplaar." + +#~ msgid "No matches found for '%1'." +#~ msgstr "Geen overeenkomsten gevonden voor '%1'." + +#~ msgid "Search in progress..." +#~ msgstr "Zoekopdracht loopt..." + +#~ msgid "Searching for %1" +#~ msgstr "Zoekt naar %1" + +#~ msgid "Identity Settings" +#~ msgstr "Identiteitsinstellingen" + +#~ msgid "Highlight Properties" +#~ msgstr "Eigenschappen accentueringen" + +#~ msgid "Ink Properties" +#~ msgstr "Eigenschappen inkt" + +#~ msgctxt "Annotation tool" +#~ msgid "Text Annotation" +#~ msgstr "Tekstannotatie" + +#~ msgctxt "Annotation tool" +#~ msgid "Green Ink" +#~ msgstr "Groene inkt" + +#~ msgctxt "Annotation tool" +#~ msgid "Yellow Highlight" +#~ msgstr "Gele accentuering" + +#~ msgctxt "Annotation tool" +#~ msgid "Straight Yellow Line" +#~ msgstr "Rechte gele lijn" + +#~ msgid "Black Underlining" +#~ msgstr "Blauwe onderlijning" + +#~ msgctxt "Annotation tool" +#~ msgid "Underline the text with a black line" +#~ msgstr "Onderstreep de tekst met een zwarte lijn" + +#~ msgctxt "Annotation tool" +#~ msgid "A cyan ellipse" +#~ msgstr "Een cyaankleurige ellips" + +#~ msgid "Ink" +#~ msgstr "Inkt" + +#~ msgid "Reset Forms" +#~ msgstr "Formulieren resetten" + +#~ msgid "latex failed." +#~ msgstr "latex uitvoeren is mislukt." + +#~ msgid "dvipng failed." +#~ msgstr "dvipng uitvoeren is mislukt." + +#~ msgid "Moves to the first page of the document" +#~ msgstr "Gaat naar de eerste pagina van het document" + +#~ msgid "You must set this name:" +#~ msgstr "Stel deze naam in:" + +#~ msgid "Toggles between File Path and Title" +#~ msgstr "Wisselt tussen bestandspad en titel" + +#~ msgctxt "%1 is \"Title\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#~ msgctxt "%1 is \"File Path\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#~ msgctxt "@action:button" +#~ msgid "&Overwrite" +#~ msgstr "&Overschrijven" + +#~ msgid "Pages:" +#~ msgstr "Pagina's:" diff --git a/po/nl/okular_comicbook.po b/po/nl/okular_comicbook.po new file mode 100644 index 0000000..004eb1b --- /dev/null +++ b/po/nl/okular_comicbook.po @@ -0,0 +1,61 @@ +# translation of okular_comicbook.po to Dutch +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Rinse de Vries , 2008. +# Freek de Kruijf , 2008. +# Freek de Kruijf , 2010, 2018. +msgid "" +msgstr "" +"Project-Id-Version: okular_comicbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2018-11-08 10:35+0100\n" +"Last-Translator: Freek de Kruijf \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 2.0\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Rinse de Vries - 2008,Freek de Kruijf" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "rinsedevries@kde.nl,freekdekruijf@kde.nl" + +#: document.cpp:97 +#, kde-format +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "Kan het document niet openen, unrar en unarchiver zijn niet gevonden." + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "" +"De versie van unrar op uw systeem is niet geschikt voor het openen van " +"comicbooks." + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "Onbekend ComicBook-formaat." + +#~ msgid "ComicBook Backend" +#~ msgstr "ComicBook-backend" + +#~ msgid "A renderer for various comic book formats" +#~ msgstr "Een viewer voor diverse ComicBook-formaten" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/nl/okular_djvu.po b/po/nl/okular_djvu.po new file mode 100644 index 0000000..1aaa391 --- /dev/null +++ b/po/nl/okular_djvu.po @@ -0,0 +1,143 @@ +# translation of okular_djvu.po to Dutch +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Rinse de Vries , 2007. +# Freek de Kruijf , 2008. +# Freek de Kruijf , 2010, 2019. +msgid "" +msgstr "" +"Project-Id-Version: okular_djvu\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-06-27 10:13+0200\n" +"Last-Translator: Freek de Kruijf \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 19.04.2\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Rinse de Vries, Freek de Kruijf" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "rinsedevries@kde.nl,freekdekruijf@kde.nl" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "Editor" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "Uitgever" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "Volume" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "Type document" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "Onbekend" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "Componentbestanden" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "Onbekend" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "Eén pagina" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "Gebundeld" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "Indirect" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "Gebundeld (oud)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "Geïndexeerd (oud)" + +#~ msgid "DjVu Backend" +#~ msgstr "DjVu-backend" + +#~ msgid "DjVu backend based on DjVuLibre." +#~ msgstr "DjVu-backend gebaseerd op DjVuLibre." + +#~ msgid "© 2006-2008 Pino Toscano" +#~ msgstr "© 2006-2008 Pino Toscano" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgctxt "Unknown title" +#~ msgid "Unknown" +#~ msgstr "Onbekend" + +#~ msgctxt "Unknown author" +#~ msgid "Unknown" +#~ msgstr "Onbekend" + +#~ msgctxt "Unknown editor" +#~ msgid "Unknown" +#~ msgstr "Onbekend" + +#~ msgctxt "Unknown publisher" +#~ msgid "Unknown" +#~ msgstr "Onbekend" + +#~ msgctxt "Unknown creation date" +#~ msgid "Unknown" +#~ msgstr "Onbekend" + +#~ msgctxt "Unknown volume information" +#~ msgid "Unknown" +#~ msgstr "Onbekend" + +#~ msgctxt "Unknown type of document" +#~ msgid "Unknown" +#~ msgstr "Onbekend" + +#, fuzzy +#~| msgid "DjVu Backend" +#~ msgid "A DjVu backend" +#~ msgstr "DjVu-backend" diff --git a/po/nl/okular_dvi.po b/po/nl/okular_dvi.po new file mode 100644 index 0000000..3cd4568 --- /dev/null +++ b/po/nl/okular_dvi.po @@ -0,0 +1,793 @@ +# translation of okular_dvi.po to Dutch +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Rinse de Vries , 2007, 2008. +# SPDX-FileCopyrightText: 2009, 2010, 2013, 2014, 2024, 2025 Freek de Kruijf +msgid "" +msgstr "" +"Project-Id-Version: okular_dvi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-11 22:44+0200\n" +"Last-Translator: Freek de Kruijf \n" +"Language-Team: \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 25.04.3\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Rinse de Vries - 2007, Freek de Kruijf - 2014 t/m 2025" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "rinsedevries@kde.nl,freekdekruijf@kde.nl" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

    Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

    Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

    " +msgstr "" +"

    Okular kon het programma dvipdfm niet op uw computer vinden. " +"Dit programma is essentieel voor de werking van de exportfunctie. U kunt " +"echter het DVI-bestand naar PDF omzetten met behulp van de afdrukfunctie van " +"Okular. Dit levert vaak bestanden op met een goede afdrukkwaliteit, maar er " +"slecht uit zien wanneer ze in Acrobat Reader worden bekeken. Het kan " +"verstandig zijn om uw versie van de TeX-distributie op te waarderen naar een " +"recentere versie die het programma dvipdfm bevat.

    Tip voor de " +"verbaasde systeembeheerder: Okular gebruikt de omgevingsvariabele PATH voor " +"het zoeken naar programma's.

    " + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Het externe programma 'dvipdfm', dat gebruikt werd voor het exporteren " +"van het bestand, gaf een foutmelding. Bekijk de " +"documentinformatiedialoog, die u kunt openen vanuit menu " +"Bestand, voor een foutrapport." + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" +"Dit DVI-bestand refereert naar externe illustraties die niet in " +"PostScript-formaat zijn en daardoor niet kunnen worden afgehandeld door het " +"programma dvips dat Okular intern gebruikt voor het afdrukken of " +"het exporteren naar PostScript. De functionaliteit die u nodig heb is daarom " +"in deze versie van Okular niet beschikbaar." + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

    Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

    Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

    " +msgstr "" +"

    Okular kon het programma dvips niet op uw computer vinden. " +"Dit programma is essentieel voor de werking van de exportfunctie.

    Hint " +"voor de verbaasde systeembeheerder: Okular gebruikt de omgevingsvariabele " +"PATH bij het zoeken naar programma's.

    " + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Het externe programma 'dvips', dat gebruik wordt om het DVI-bestand te " +"exporteren, meldde een fout. Voor een exact foutrapport kunt u het dialoog " +"documentinfo lezen. Deze vindt u in het menu 'Bestand'." + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "Het DVI-bestand begint niet met de preambule." + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" +"Het DVI-bestand bevat de verkeerde versie van DVI-uitvoer voor dit " +"programma. Tip: als u het typesetting-systeem Omega gebruikt, dan dient u " +"een speciaal programma te gebruiken, zoals oxdvi." + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "" +"Het DVI-bestand is ernstig beschadigd. Okular kon de postambule niet vinden." + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "De Postambule begint niet met het commando POST." + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "De postambule bevat een ander commando dan FNTDEF." + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "De pagina %1 begint niet met het commando BOP." + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

    The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

    What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

    PATH: %2

    " +msgstr "" +"

    Het externe programma pdf2ps kon niet worden " +"opgestart. Als gevolg daarvan kon het PDF-bestand %1 niet worden omgezet " +"naar PostScript. Enkele grafische elementen in uw document kunnen om die " +"reden niet worden weergegeven.

    Mogelijke reden: het programma " +"pdf2ps is misschien niet op uw computer geïnstalleerd of " +"kan niet worden gevonden in het huidige zoekpad.

    Wat kunt u doen: het programma pdf2ps wordt normaliter meegeleverd met " +"het GhostScript PostScript-interpreter-systeem. Als GhostScript niet op uw " +"systeem is geïnstalleerd, dan moet u dat alsnog doen. Als u er zeker van " +"bent dat GhostScript is geïnstalleerd, probeer dan het programma " +"pdf2ps vanaf de commandoregel te starten om te kijken of " +"het echt werkt.

    PATH: %2

    " + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

    The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

    %2

    " +msgstr "" +"

    Het PDF-bestand %1 kon niet worden omgezet naar PostScript. Enkele " +"grafische elementen in het document worden om die reden niet weergeven.

    Mogelijke reden: het bestand %1 is mogelijk beschadigd of het is " +"geen PDF-bestand. Dit is de uitvoer van het programma pdf2ps dat Okular gebruikte:

    %2

    " + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "Bestand is corrupt. %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "" +"Niet alle PostScript-bestanden konden ingebed worden in uw document. %1" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "Alle externe PostScript-bestanden zijn ingebed in uw document." + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "Dit opgegeven bestand '%1' bestaat niet." + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" +"U hebt aan Okular gevraagd om de plaats in het DVI-bestand te lokaliseren " +"dat overeenkomt met regel %1 in het TeX-bestand %2. Het lijkt er echter op " +"dat het DVI-bestand niet de nodige informatie over het bronbestand bevat. " + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" +"Okular was niet in staat de plaats in het DVI-bestand te lokaliseren wat " +"overeenkomt met regel %1 in het TeX-bestand %2." + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "De DVI-code zette een teken van een onbekend lettertype." + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "" +"De DVI-code verwees naar lettertype #%1, dat niet van te voren was " +"gedefinieerd." + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "De stack was nog niet leeg toen het commando EOP bereikt werd." + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "De stack was leeg toen een commando POP bereikt werd." + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "" +"De DVI-code verwees naar een lettertype dat niet eerder was gedefinieerd." + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "Een illegaal commando werd aangetroffen." + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "Een onbekende op-code %1 werd aangetroffen." + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "Bezig %1 in te bedden" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
    " +msgstr "" +"Pagina %1: het PDF-bestand %2 kon niet worden omgezet naar " +"PostScript.
    " + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
    " +msgstr "" +"Bladzij %1: Het PostScript bestand %2 is niet gevonden.
    " + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "Onbekend papierformaat: '%1'." + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

    Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

    PATH: %1

    %2

    " +msgstr "" +"

    Okular kon niet alle lettertypenbestanden vinden die nodig zijn om " +"het huidige DVI-bestand weer te geven. Uw document is daardoor mogelijk " +"onleesbaar.

    PATH: %1

    %2" + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

    There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
    Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

    PATH: %1

    %2

    " +msgstr "" +"

    Er zijn problemen met het uitvoeren van kpsewhich. Als " +"resultaat konden sommige lettertypebestanden niet gelokaliseerd worden en uw " +"document kan onleesbaar zijn.
    Mogelijke reden: het programma " +"kpsewhich is mogelijk niet geïnstalleerd op uw systeem of het kan " +"niet gevonden worden in het huidige zoekpad.

    PATH: %1

    %2

    " + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" +"De lettertype generatie door kpsewhich was afgebroken " +"(uitgangscode %1, fout %2). Het resultaat is dat enige lettertypebestanden " +"niet gelokaliseerd konden worden en dat uw document onleesbaar kan zijn." + +#: fontpool.cpp:482 +#, kde-format +msgid "Currently generating %1 at %2 dpi…" +msgstr "Momenteel bezig met genereren van %1 op %2 dpi…" + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "Generator/datum" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "Lettertypebestand niet gevonden" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "%1 × %2" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "%1 × %2 mm" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "%1 × %2 in" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "portret" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "landschap" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" +"De Ghostview-versie die op uw computer aanwezig is bevat geen enkel " +"stuurprogramma dat bekend is bij Okular. Hierdoor is PostScript-" +"ondersteuning nu uitgeschakeld." + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "" +"Inmiddels zijn er 25 fouten. Meer foutmeldingen zullen niet worden getoond." + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" +"Fout in DVI-bestand '%1', pagina %2. Kleur-pop-commando werd gegeven terwijl " +"de kleurenstapel leeg is." + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" +"Verkeerd geformuleerde parameter in het epsf special-commando.\n" +"Verwachtte een float die %1 volgt in %2" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"Dit bestand is niet gevonden:\n" +" %1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" +"Fout in DVI-bestand '%1', pagina %2. De angle in text rotation special kon " +"niet worden geïnterpreteerd." + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "Het speciale commando '%1' is niet geïmplementeerd." + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" +"Het lettertypebestand %1 is toegankelijk, maar het lettertypeformaat wordt " +"niet ondersteund." + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "Het lettertypebestand %1 is beschadigd, of ontoegankelijk." + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" +"Freetype gaf een fout bij het instellen van de lettergrootte voor het " +"lettertypebestand %1." + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "Freetype kan het teken #%1 uit lettertypebestand %2 niet laden." + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "Freetype kan het teken #%1 uit lettertypebestand %2 niet weergeven." + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "Teken #%1 is leeg." + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "Teken #%1 uit lettertypebestand %2 is leeg." + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "" +"Freetype kan de metrische gegevens voor teken #%1 uit lettertypebestand %2 " +"niet laden." + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "Kan lettertypebestand %1 niet openen." + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "" +"TexFont_PK::operator[]: Het teken %1 is niet gedefinieerd in lettertype %2." + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "Onverwachte %1 in PK-bestand %2." + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "Het teken %1 in bestand %2 is te groot." + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "Onjuist aantal bits opgeslagen: teken %1, lettertype %2" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "Ongelding pk-bestand (%1), teveel bits." + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "Lettertype heeft niet-vierkante verhouding " + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "Lettertype %1, bestand %2 is niet gevonden." + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "Controlesom onjuist voor lettertypebestand %1" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "Kan de opmaak voor lettertypebestand %1 niet herkennen." + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"Fatale fout.\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" +"\n" +"\n" +"Dit betekent waarschijnlijk dat u ofwel een programmafout in Okular\n" +"gevonden hebt, ofwel dat het DVI-bestand of de externe\n" +"bestanden (zoals lettertypebestanden of virtuele\n" +"lettertypebestanden) zeer ernstig beschadigd zijn.\n" +"Okular wordt na dit bericht beëindigd. Als u denkt dat u een\n" +"programmafout ontdekt hebt of vindt dat Okular zich in zo'n situatie beter\n" +"dient te gedragen, meldt dan a.u.b. het probleem." + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "Ongeldige commandobyte gevonden in VF-macro-lijst: %1" + +#~ msgid "" +#~ "

    The Ghostview program, which Okular uses internally to display the " +#~ "PostScript graphics that is included in this DVI file, is generally able " +#~ "to write its output in a variety of formats. The sub-programs that " +#~ "Ghostview uses for these tasks are called 'device drivers'; there is one " +#~ "device driver for each format that Ghostview is able to write. Different " +#~ "versions of Ghostview often have different sets of device drivers " +#~ "available. It seems that the version of Ghostview that is installed on " +#~ "this computer does not contain any of the device drivers " +#~ "that are known to Okular.

    It seems unlikely that a regular " +#~ "installation of Ghostview would not contain these drivers. This error may " +#~ "therefore point to a serious misconfiguration of the Ghostview " +#~ "installation on your computer.

    If you want to fix the problems with " +#~ "Ghostview, you can use the command gs --help to display " +#~ "the list of device drivers contained in Ghostview. Among others, Okular " +#~ "can use the 'png256', 'jpeg' and 'pnm' drivers. Note that Okular needs to " +#~ "be restarted to re-enable PostScript support.

    " +#~ msgstr "" +#~ "

    Het Ghostview-programma dat Okular intern gebruikt om PostScript-" +#~ "afbeeldingen die zijn ingesloten in dit DVI-bestand te tonen is " +#~ "normaliter in staat om haar uitvoer in verschillende formaten op te " +#~ "slaan. De subprogramma's die Ghostview hiervoor gebruikt worden 'device " +#~ "drivers' (stuurprogramma's) genoemd. Er is voor elk formaat dat Ghostview " +#~ "kan opslaan een apart stuurprogramma beschikbaar. Verschillende versies " +#~ "van Ghostview hebben vaak verschillende sets met stuurprogramma's " +#~ "beschikbaar. Uw versie van GhostView blijkt geen enkel " +#~ "stuurprogramma te bezitten dat bekend is bij Okular.

    Het " +#~ "is onwaarschijnlijk dat een normale installatie van GhostView geen " +#~ "geschikte stuurprogramma's heeft. Deze fout kan dus duiden op fouten in " +#~ "uw GhostView-installatie.

    Als u dit probleem met GhostView wilt " +#~ "oplossen, gebruik dan het commando gs --help om een " +#~ "lijst met stuurprogramma's op te vragen. Okular kan onder andere omgaan " +#~ "met de stuurprogramma's 'png256', 'jpeg' en 'pnm'. Opmerking: om de " +#~ "PostScript-ondersteuning opnieuw te activeren dient u Okular opnieuw te " +#~ "starten.

    " + +#~ msgid "DVI Backend" +#~ msgstr "DVI-backend" + +#~ msgid "A DVI file renderer" +#~ msgstr "Een DVI-bestandsweergever" + +#~ msgid "© 2006 Luigi Toscano" +#~ msgstr "© 2006 Luigi Toscano" + +#~ msgid "" +#~ "

    Okular relies on the kpsewhich program to locate font files on " +#~ "your hard disk and to generate PK fonts, if necessary.

    " +#~ msgstr "" +#~ "

    Okular is afhankelijk van het programma kpsewhich voor het " +#~ "lokaliseren van de lettertypebestanden op uw harde schijf en, indien " +#~ "nodig, het genereren van PK-lettertypen.

    " + +#~ msgid "Okular is currently generating bitmap fonts..." +#~ msgstr "Okular genereert op dit moment Bitmap-lettertypen..." + +#~ msgid "Aborts the font generation. Do not do this." +#~ msgstr "Hiermee annuleert u de lettergeneratie. Doe dit niet." + +#~ msgid "" +#~ "Okular is currently generating bitmap fonts which are needed to display " +#~ "your document. For this, Okular uses a number of external programs, such " +#~ "as MetaFont. You can find the output of these programs later in the " +#~ "document info dialog." +#~ msgstr "" +#~ "Okular op dit moment bezig met het genereren van bitmaplettertypen die " +#~ "nodig zijn om uw document te weergeven. Hiervoor gebruikt Okular enkele " +#~ "externe programma's, zoals MetaFont. U kunt de uitvoer van deze " +#~ "programma's later terug vinden in het informatievenster van het document." + +#~ msgid "Okular is generating fonts. Please wait." +#~ msgstr "" +#~ "Okular is bezig met het genereren van lettertypen. Wacht even a.u.b." + +#~ msgid "Font Generation Progress Dialog" +#~ msgstr "Voortgang van lettertypegeneratie" + +#~ msgid "Abort" +#~ msgstr "Afbreken" + +#~ msgid "What is happening here?" +#~ msgstr "Wat gebeurt hier?" + +#~ msgid "%v of %m" +#~ msgstr "%v van %m" + +#~ msgid "Please be patient" +#~ msgstr "Even geduld a.u.b." + +#~ msgid "*.pdf|Portable Document Format (*.pdf)" +#~ msgstr "*.pdf|Portable Document Format (*.pdf)" + +#~ msgid "Export File As" +#~ msgstr "Bestand exporteren als" + +#~ msgid "" +#~ "The file %1\n" +#~ "exists. Do you want to overwrite it?" +#~ msgstr "" +#~ "Het bestand %1\n" +#~ "bestaat. Wilt u het overschrijven?" + +#~ msgid "Overwrite File" +#~ msgstr "Bestand overschrijven" + +#~ msgid "Overwrite" +#~ msgstr "Overschrijven" + +#~ msgid "Using dvipdfm to export the file to PDF" +#~ msgstr "dvipdfm wordt gebruikt om het bestand te exporteren naar pdf" + +#~ msgid "" +#~ "Okular is currently using the external program 'dvipdfm' to convert your " +#~ "DVI-file to PDF. Sometimes that can take a while because dvipdfm needs to " +#~ "generate its own bitmap fonts Please be patient." +#~ msgstr "" +#~ "Okular gebruik momenteel het externe programma 'dvipdfm' om uw DVI-" +#~ "bestand te converteren naar pdf. Soms kan dit een tijdje duren doordat " +#~ "dvipdfm eerst haar eigen Bitmap-lettertypen dient te genereren. Even " +#~ "geduld a.u.b." + +#~ msgid "Waiting for dvipdfm to finish..." +#~ msgstr "Er wordt gewacht totdat dvipdfm klaar is..." + +#~ msgid "*.ps|PostScript (*.ps)" +#~ msgstr "*.ps|PostScript (*.ps)" + +#~ msgid "Using dvips to export the file to PostScript" +#~ msgstr "dvips wordt gebruikt om het bestand te exporteren naar PostScript" + +#~ msgid "" +#~ "Okular is currently using the external program 'dvips' to convert your " +#~ "DVI-file to PostScript. Sometimes that can take a while because dvips " +#~ "needs to generate its own bitmap fonts Please be patient." +#~ msgstr "" +#~ "Okular gebruikt momenteel het externe programma 'dvips' om uw DVI-bestand " +#~ "te converteren naar PostScript. Soms kan dit een tijdje duren doordat " +#~ "dvips eerst haar eigen Bitmap-lettertypen dient te genereren. Even geduld " +#~ "a.u.b." + +#~ msgid "Waiting for dvips to finish..." +#~ msgstr "Er wordt gewacht totdat dvips klaar is..." + +#~ msgid "Functionality Unavailable" +#~ msgstr "Functionaliteit niet beschikbaar" + +#~ msgid "" +#~ "File corruption Okular could not interpret your DVI " +#~ "file. This is most commonly caused by a corrupted file." +#~ msgstr "" +#~ "Bestandsbeschadiging Okular kon uw DVI-bestand niet " +#~ "interpreteren. Dit wordt meestal veroorzaakt door een beschadigd bestand." +#~ "" + +#~ msgid "DVI File Error" +#~ msgstr "DVI-bestandsfout" + +#~ msgid "Not All Font Files Found" +#~ msgstr "Niet alle lettertypen gevonden" + +#~ msgid "Locating fonts..." +#~ msgstr "Bezig lettertypen te lokaliseren..." + +#~ msgid "" +#~ "

    There were problems running kpsewhich. As a result, some font " +#~ "files could not be located, and your document might be unreadable.

    Possible reason: The kpsewhich program is perhaps not " +#~ "installed on your system, or it cannot be found in the current search " +#~ "path.

    What you can do: The kpsewhich program is normally " +#~ "contained in distributions of the TeX typesetting system. If TeX is not " +#~ "installed on your system, you could install the TeX Live distribution " +#~ "(www.tug.org/texlive). If you are sure that TeX is installed, please try " +#~ "to use the kpsewhich program from the command line to check if it really " +#~ "works.

    " +#~ msgstr "" +#~ "

    Er deden zich problemen voor bij het draaien van kpsewhich. Als " +#~ "gevolg daarvan konden enkele lettertypebestanden niet worden gevonden, " +#~ "waardoor het document mogelijk onleesbaar is.

    Mogelijke reden: het programma kpsewhich is misschien niet op uw computer geïnstalleerd " +#~ "of kan niet worden gevonden in het huidige zoekpad.

    Wat kunt u " +#~ "doen: het programma kpsewhich wordt door de meeste distributies " +#~ "meegeleverd met het TeX-typesetting-systeem. Als TeX niet op uw computer " +#~ "is geïnstalleerd, dan moet u TeX-Live-distributie installeren. Meer " +#~ "informatie over TeTeX vindt u op www.tug.org/texlive. Als u er zeker van " +#~ "bent dat TeX geïnstalleerd is, probeer dan het programma kpsewhich vanaf " +#~ "de commandoregel te starten om te kijken of het echt werkt.

    " + +#~ msgid "Problem locating fonts" +#~ msgstr "Probleem bij het lokaliseren van lettertypen" + +#~ msgid "Font generation aborted" +#~ msgstr "Genereren van lettertypen is afgebroken" + +#~ msgid "Export: %1 to PDF" +#~ msgstr "Exporteren: %1 naar pdf" + +#~ msgid "Export: %1 to PostScript" +#~ msgstr "Exporteren: %1 naar PostScript" + +#~ msgid "The fontlist is currently empty." +#~ msgstr "De lettertypenlijst is momenteel leeg." + +#~ msgid "TeX Name" +#~ msgstr "TeX-naam" + +#~ msgid "Family" +#~ msgstr "Familie" + +#~ msgid "Zoom" +#~ msgstr "Zoomen" + +#~ msgid "Type" +#~ msgstr "Type" + +#~ msgid "Encoding" +#~ msgstr "Codering" + +#~ msgid "Comment" +#~ msgstr "Toelichting" + +#~ msgid "TeX virtual" +#~ msgstr "TeX virtueel" + +#~ msgid "TeX Font Metric" +#~ msgstr "TeX Font Metric" + +#~ msgid "FreeType" +#~ msgstr "Freetype" diff --git a/po/nl/okular_epub.po b/po/nl/okular_epub.po new file mode 100644 index 0000000..9772237 --- /dev/null +++ b/po/nl/okular_epub.po @@ -0,0 +1,57 @@ +# translation of okular_epub.po to Dutch +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Rinse de Vries , 2008. +# Freek de Kruijf , 2010, 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_epub\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-05-19 22:47+0200\n" +"Last-Translator: Freek de Kruijf \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Rinse de Vries - 2008" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "rinsedevries@kde.nl" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "Fout tijdens het openen van het EPub-document." + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "EPub" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "Configuratie van EPub-backend" + +#~ msgid "EPub Backend" +#~ msgstr "EPub-backend" + +#~ msgid "An EPub backend" +#~ msgstr "Een EPub-backend" + +#~ msgid "© 2008 Ely Levy" +#~ msgstr "© 2008 Ely Levy" + +#~ msgid "Ely Levy" +#~ msgstr "Ely Levy" diff --git a/po/nl/okular_fax.po b/po/nl/okular_fax.po new file mode 100644 index 0000000..e86f3d0 --- /dev/null +++ b/po/nl/okular_fax.po @@ -0,0 +1,47 @@ +# translation of okular_fax.po to Dutch +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Freek de Kruijf , 2008. +# Freek de Kruijf , 2010. +msgid "" +msgstr "" +"Project-Id-Version: okular_fax\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-09-08 21:21+0200\n" +"Last-Translator: Freek de Kruijf \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.1\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Freek de Kruijf" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "f.de.kruijf@het.nl" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "Het document kan niet geladen worden" + +#~ msgid "Fax Backend" +#~ msgstr "Faxbackend" + +#~ msgid "A G3/G4 fax document backend" +#~ msgstr "Een backend voor een G3/G4 faxdocument" + +#~ msgid "© 2008 Tobias Koenig" +#~ msgstr "© 2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/nl/okular_fictionbook.po b/po/nl/okular_fictionbook.po new file mode 100644 index 0000000..bd37bde --- /dev/null +++ b/po/nl/okular_fictionbook.po @@ -0,0 +1,82 @@ +# translation of okular_fictionbook.po to Dutch +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Rinse de Vries , 2007, 2008. +# Freek de Kruijf , 2010, 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_fictionbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-05-19 22:48+0200\n" +"Last-Translator: Freek de Kruijf \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Rinse de Vries - 2007" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "rinsedevries@kde.nl" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "Document is geen geldig FictionBook" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "Kon dit document niet openen: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "Document is geen geldig ZIP-archief" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "Ongeldige documentstructuur (hoofdmap ontbreekt)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "Geen inhoud gevonden in het document" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "Ongeldig XML-document: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "FictionBook" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "Configuratie van FictionBook-backend" + +#~ msgid "Fiction Book Backend" +#~ msgstr "FictionBook-backend" + +#~ msgid "A renderer for FictionBook eBooks" +#~ msgstr "Een viewer voor FictionBooks eBooks" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/nl/okular_ghostview.po b/po/nl/okular_ghostview.po new file mode 100644 index 0000000..2a23336 --- /dev/null +++ b/po/nl/okular_ghostview.po @@ -0,0 +1,94 @@ +# translation of okular_ghostview.po to Dutch +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Rinse de Vries , 2007, 2008. +# Freek de Kruijf , 2009, 2010. +msgid "" +msgstr "" +"Project-Id-Version: okular_ghostview\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-09-08 21:22+0200\n" +"Last-Translator: Freek de Kruijf \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.1\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Rinse de Vries - 2007" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "rinsedevries@kde.nl" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "Platformlettertypen gebruiken" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"Bepaal of Ghostscript moet worden toegestaan platformlettertypen te " +"gebruiken, zo niet dan zijn alleen lettertypen ingebed in het document " +"toegestaan." + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "Algemene instellingen" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "Platformlettertypen gebr&uiken" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "GhostScript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Configuratie van GhostScript-backend" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "Documentversie" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "Taalniveau" + +#~ msgid "PS Backend" +#~ msgstr "PS-backend" + +#~ msgid "A PostScript file renderer." +#~ msgstr "Een PostScript-bestandsviewer." + +#~ msgid "© 2007-2008 Albert Astals Cid" +#~ msgstr "© 2007-2008 Albert Astals Cid" + +#~ msgid "Based on the Spectre library." +#~ msgstr "Gebaseerd op de Spectre-bibliotheek." + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" diff --git a/po/nl/okular_kimgio.po b/po/nl/okular_kimgio.po new file mode 100644 index 0000000..e431f5c --- /dev/null +++ b/po/nl/okular_kimgio.po @@ -0,0 +1,71 @@ +# translation of okular_kimgio.po to Dutch +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Rinse de Vries , 2007. +# Freek de Kruijf , 2009, 2010, 2017. +msgid "" +msgstr "" +"Project-Id-Version: okular_kimgio\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2017-11-16 15:10+0100\n" +"Last-Translator: Freek de Kruijf \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 2.0\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Rinse de Vries,Freek de Kruijf" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "rinsedevries@kde.nl,freekdekruijf@kde.nl" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "Kon dit document niet laden: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" +"Dit document lijkt misvormd. Hier is een beste benadering van hoe het " +"document er uit zou moeten zien." + +#~ msgid "Image Backend" +#~ msgstr "Afbeeldings-backend" + +#~ msgid "A simple image backend" +#~ msgstr "Een eenvoudige afbeeldingsbackend" + +#~ msgid "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" +#~ msgstr "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" + +#~ msgid "Main Toolbar" +#~ msgstr "Hoofdwerkbalk" diff --git a/po/nl/okular_markdown.po b/po/nl/okular_markdown.po new file mode 100644 index 0000000..df72a4f --- /dev/null +++ b/po/nl/okular_markdown.po @@ -0,0 +1,53 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Freek de Kruijf , 2017, 2018, 2019. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-03-31 14:36+0200\n" +"Last-Translator: Freek de Kruijf \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 18.12.3\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Freek de Kruijf - t/m 2019" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "freekdekruijf@kde.nl" + +#: converter.cpp:59 converter.cpp:93 +#, kde-format +msgid "Failed to open the document" +msgstr "Het document openen is mislukt" + +#: converter.cpp:106 converter.cpp:124 +#, kde-format +msgid "Failed to compile the Markdown document." +msgstr "Het Markdown-document compileren is mislukt." + +#: generator_md.cpp:58 +#, kde-format +msgid "Enable SmartyPants formatting" +msgstr "Formatteren met SmartyPants inschakelen" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown" +msgstr "Markdown" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown Backend Configuration" +msgstr "Configuratie Markdown-backend" diff --git a/po/nl/okular_mobi.po b/po/nl/okular_mobi.po new file mode 100644 index 0000000..13bca2d --- /dev/null +++ b/po/nl/okular_mobi.po @@ -0,0 +1,65 @@ +# translation of okular_mobi.po to Dutch +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Freek de Kruijf , 2008, 2009. +# Freek de Kruijf , 2010, 2013, 2019. +msgid "" +msgstr "" +"Project-Id-Version: okular_mobi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-06-27 10:13+0200\n" +"Last-Translator: Freek de Kruijf \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 19.04.2\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Freek de Kruijf" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "freekdekruijf@kde.nl" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Fout bij het openen van het Mobipocket-document." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "" +"Dit boek is beschermd door DRM (Digital Rights Management) en kan alleen " +"getoond worden op een daarvoor bestemd apparaat" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "Mobipocket" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "Configuratie van Mobipocket-backend" + +#~ msgid "Mobipocket Backend" +#~ msgstr "Mobipocket-backend" + +#~ msgid "A mobipocket backend" +#~ msgstr "Een mobipocket-backend" + +#~ msgid "© 2008-2009 Jakub Stachowski" +#~ msgstr "© 2008-2009 Jakub Stachowski" + +#~ msgid "Jakub Stachowski" +#~ msgstr "Jakub Stachowski" diff --git a/po/nl/okular_poppler.po b/po/nl/okular_poppler.po new file mode 100644 index 0000000..59c9acb --- /dev/null +++ b/po/nl/okular_poppler.po @@ -0,0 +1,439 @@ +# translation of okular_poppler.po to Dutch +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Rinse de Vries , 2007, 2008. +# SPDX-FileCopyrightText: 2009, 2010, 2012, 2013, 2018, 2019, 2020, 2021, 2023, 2025 Freek de Kruijf +msgid "" +msgstr "" +"Project-Id-Version: okular_poppler\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-10 12:47+0200\n" +"Last-Translator: Freek de Kruijf \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 25.04.3\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Rinse de Vries - 2007, Freek de Kruijf - 2013 t/m 2025" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "rinsedevries@kde.nl,freekdekruijf@kde.nl" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "Vooruitblik op overprint inschakelen:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "Nooit" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "Altijd" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "Automatisch" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "Maak dunne lijnen beter zichtbaar:" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "Nee" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "Vast" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "Vorm" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "Standaard modus schalen bij afdrukken:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "In afdrukgebied laten passen" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "Op volledige pagina laten passen" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "Geen; afdrukken op originele grootte" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" +"Deze optie inschakelen laat Okular contact opnemen met OCSP-servers van " +"derden om te controleren of de voor digitale ondertekening gebruikte " +"certificaten zijn ingetrokken na hun aanmaken." + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" +"Intrekking controleren van certificaten voor digitale ondertekening met " +"gebruik van servers van derden" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "Backend voor ondertekening:" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" +"Deze ondertekeningen kunnen alleen gevalideerd worden door moderne " +"gebruikers van Okular met geactiveerde GnuPG-backend" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "PGP-sleutels toestaan voor ondertekenen (extensie van Okular)" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "Database met certificaten" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "Standaard:" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "Aangepast:" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "Beschikbare certificaten" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "Ondertekeningen &laden" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "PDF-opties" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "Annotaties afdrukken" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "Annotaties in het afgedrukte document meenemen" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"Neemt annotaties in het afgedrukte document mee. U kunt dit uitschakelen als " +"u het oorspronkelijke document zonder annotaties wilt afdrukken." + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "Rasterisatie afdwingen" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "Naar afbeelding rasteren voor afdrukken" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"Dwingt af dat een pagina wordt gerasterd naar een afbeelding voordat het " +"wordt afgedrukt. Dit geeft vaak slechtere resultaten, maar kan handig zijn " +"wanneer documenten niet juist worden afgedrukt." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "Modus schalen voor de afgedrukte pagina's" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "Schaalmodus:" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF v. %1.%2" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "Opmaak" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "Versleuteld" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "Niet-versleuteld" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "Beveiliging" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "Ja" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "Geoptimaliseerd" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Ondertekend door: %1\n" +"\n" +"Datum: %2" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "Poppler %1 gebruiken" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" +"Poppler %1 gebruiken\n" +"\n" +"Gebouwd tegen Poppler %2" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "Configuratie van PDF-backend" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "Schrijven in tijdelijk bestand is mislukt" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "Hernoemen tijdelijk bestand is mislukt" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" +"Er zijn enige fouten in het document gevonden, Okular kan mogelijk de inhoud " +"niet juist tonen" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" +"Deze ondertekeningen werken alleen tussen moderne versies van Okular met de " +"backend gebaseerd op GnuPG geactiveerd" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "PGP-ondertekeningen inschakelen" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "Uitgegeven aan" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "E-mail" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "Vervaldatum" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" +"U gebruikt een Poppler bibliotheek gebouwd zonder ondersteuning van NSS.\n" +"Daarom is het toevoegen van digitale ondertekening niet beschikbaar" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "eeuwig" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "Herstart vereist" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "" +"U moet Okular opnieuw starten na het wijzigen van de instelling van de NSS-" +"map" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter Password" +msgstr "Wachtwoord invoeren" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "Wachtwoord invoeren om %1 te openen:" + +#~ msgid "Not Available" +#~ msgstr "Niet beschikbaar" + +#~ msgid "PDF Certificates" +#~ msgstr "PDF-certificaten" + +#~ msgid "PDF Digital Signature Certificates" +#~ msgstr "PDF-certificaten met digitale ondertekening" + +#~ msgid "Select rasterization to enable this!" +#~ msgstr "Rasterisatie selecteren om dit in te schakelen!" + +#~ msgid "PDF Backend" +#~ msgstr "PDF-backend" + +#~ msgid "A PDF file renderer" +#~ msgstr "Een PDF-bestandsviewer" + +#~ msgid "© 2005-2008 Albert Astals Cid" +#~ msgstr "© 2005-2008 Albert Astals Cid" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Saving files with /Encrypt is not supported." +#~ msgstr "Bestanden opslaan met /Encrypt is niet ondersteund." + +#~ msgid "Unknown" +#~ msgstr "Onbekend" + +#~ msgid "Unknown Date" +#~ msgstr "Onbekende datum" + +#~ msgid "Unknown Encryption" +#~ msgstr "Onbekende versleuteling" + +#~ msgid "Unknown Optimization" +#~ msgstr "Onbekende optimalisatie" + +#~ msgid "Please enter the password to read the document:" +#~ msgstr "Voer het wachtwoord in om het document te kunnen lezen:" + +#~ msgid "Incorrect password. Try again:" +#~ msgstr "Onjuist wachtwoord. Probeer het nogmaals:" diff --git a/po/nl/okular_tiff.po b/po/nl/okular_tiff.po new file mode 100644 index 0000000..860168d --- /dev/null +++ b/po/nl/okular_tiff.po @@ -0,0 +1,28 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Freek de Kruijf , 2020. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-07-09 12:26+0200\n" +"Last-Translator: Freek de Kruijf \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 20.04.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Freek de Kruijf - 2020" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "freekdekruijf@kde.nl" diff --git a/po/nl/okular_txt.po b/po/nl/okular_txt.po new file mode 100644 index 0000000..e6c3030 --- /dev/null +++ b/po/nl/okular_txt.po @@ -0,0 +1,50 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Freek de Kruijf , 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-05-21 14:24+0200\n" +"Last-Translator: Freek de Kruijf \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 1.5\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Freek de Kruijf" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "freekdekruijf@kde.nl" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "Txt" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "Configuratie van Txt-backend" + +#~ msgid "Txt Backend" +#~ msgstr "Txt-backend" + +#~ msgid "Txt backend." +#~ msgstr "Txt-backend." + +#~ msgid "© 2013 Azat Khuzhin" +#~ msgstr "© 2013 Azat Khuzhin" + +#~ msgid "Azat Khuzhin" +#~ msgstr "Azat Khuzhin" diff --git a/po/nl/okular_xps.po b/po/nl/okular_xps.po new file mode 100644 index 0000000..d30be55 --- /dev/null +++ b/po/nl/okular_xps.po @@ -0,0 +1,60 @@ +# translation of okular_xps.po to Dutch +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Rinse de Vries , 2007, 2008. +# Freek de Kruijf , 2008. +# Freek de Kruijf , 2010, 2019. +msgid "" +msgstr "" +"Project-Id-Version: okular_xps\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-06-27 10:13+0200\n" +"Last-Translator: Freek de Kruijf \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 19.04.2\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Rinse de Vries, Freek de Kruijf" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "rinsedevries@kde.nl,freekdekruijf@kde.nl" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "Revisie" + +#~ msgid "XPS Backend" +#~ msgstr "XPS-backend" + +#~ msgid "An XPS backend" +#~ msgstr "Een XPS-backend" + +#~ msgid "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" +#~ msgstr "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" + +#~ msgid "Brad Hards" +#~ msgstr "Brad Hards" + +#~ msgid "Jiri Klement" +#~ msgstr "Jiri Klement" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" diff --git a/po/nl/org.kde.active.documentviewer.po b/po/nl/org.kde.active.documentviewer.po new file mode 100644 index 0000000..2bbdb0f --- /dev/null +++ b/po/nl/org.kde.active.documentviewer.po @@ -0,0 +1,233 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# SPDX-FileCopyrightText: 2012, 2016, 2018, 2019, 2020, 2022, 2024, 2025 Freek de Kruijf +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-29 12:19+0200\n" +"Last-Translator: Freek de Kruijf \n" +"Language-Team: \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 25.04.3\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "Bladwijzers" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "Certificaatviewer" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "Uitgegeven door" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "Algemene naam:" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "E-mailadres:" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "Organisatie:" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "Uitgegeven aan" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "Geldigheid" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "Uitgegeven op:" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "Verloopt op:" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "Vingerafdrukken" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "SHA-1 vingerafdruk:" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "SHA-256 vingerafdruk:" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +msgid "Export…" +msgstr "Exporteren…" + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "Sluiten" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "Certificaatbestand (*.cer)" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "Fout" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "Kon certificaat niet exporteren." + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "Okular" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "Openen…" + +#: ui/Main.qml:49 +msgid "About" +msgstr "Info over" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "Wachtwoord vereist" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "Bladwijzer verwijderen" + +#: ui/MainView.qml:29 +msgid "Bookmark this page" +msgstr "Bladwijzer aanmaken voor deze pagina" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "Miniaturen" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "Inhoudsopgave" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "Ondertekeningen" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "Eigenschappen van ondertekening" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "Geldigheidsstatus" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "Geldigheid ondertekening:" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "Wijzigingen aan document:" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "Aanvullende informatie" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "Ondertekend door:" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "Tijdstip van ondertekenen: " + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "Reden:" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "Locatie:" + +#: ui/SignaturePropertiesPage.qml:96 +msgid "Document Version" +msgstr "Documentversie" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Documentrevisie %1 van %2" + +#: ui/SignaturePropertiesPage.qml:108 +msgid "Save Signed Version…" +msgstr "Ondertekende versie opslaan…" + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +msgid "View Certificate…" +msgstr "Certificaat weergeven…" + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "Kon handtekening niet opslaan." + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "Niet beschikbaar" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "Geen resultaten gevonden." + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "Geen geopend document" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "Recente documenten" + +#: ui/WelcomeView.qml:108 +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "Mijn documenten" + +#~ msgid "Open..." +#~ msgstr "Openen..." + +#~ msgid "Search..." +#~ msgstr "Zoeken..." + +#~ msgid "" +#~ "No Documents found. To start to read, put some files in the Documents " +#~ "folder of your device." +#~ msgstr "" +#~ "Geen documenten gevonden. Om met lezen te starten, zet enige bestanden in " +#~ "de map Documenten van uw apparaat." + +#~ msgid "Document viewer for Plasma Active using Okular" +#~ msgstr "Documentenviewer voor Plasma Active met gebruik van Okular" + +#~ msgid "Reader" +#~ msgstr "Lezer" + +#~ msgid "Copyright 2012 Marco Martin" +#~ msgstr "Copyright 2012 Marco Martin" + +#~ msgid "Marco Martin" +#~ msgstr "Marco Martin" + +#~ msgid "URL of the file to open" +#~ msgstr "URL-adres van te openen bestand" diff --git a/po/nn/okular.po b/po/nn/okular.po new file mode 100644 index 0000000..516dd08 --- /dev/null +++ b/po/nn/okular.po @@ -0,0 +1,6070 @@ +# Translation of okular to Norwegian Nynorsk +# +# Gaute Hvoslef Kvalnes , 2004, 2005. +# Eirik U. Birkeland , 2008, 2009. +# Øystein Steffensen-Alværvik , 2021, 2022. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-10-27 14:45+0100\n" +"Last-Translator: Karl Ove Hufthammer \n" +"Language-Team: Norwegian Nynorsk \n" +"Language: nn\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 24.11.70\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Gaute Hvoslef Kvalnes,Karl Ove Hufthammer" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "gaute@verdsveven.com,karl@huftis.org" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Okular – ein dokumentvisar for mange format" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"© 2002 Wilco Greven, Christophe Devriese\n" +"© 2004–2005 Enrico Ros\n" +"© 2005 Piotr Szymanski\n" +"© 2004–2017 Albert Astals Cid\n" +"© 2006–2009 Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "Tidlegare vedlikehaldar" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias König" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "" +"Mykje arbeid med rammeverket, FictionBook-motoren og tidlegare ODT-motor" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "Utviklar" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymański" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "Laga Okular frå KPDF-kodebasen" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "Enrico Ros" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "KPDF-utviklar" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "Eugene Trounev" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "Bilete for merknadar" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "Jiri Baum – NICTA" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "Tabellutvalsverktøy" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "Fabio D’Urso" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "Forbetringar i merknadar" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "Gå til side %1" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "Opna ekstern fil" + +#: core/action.cpp:197 +#, fuzzy, kde-format +#| msgid "Execute '%1'..." +msgid "Execute '%1'…" +msgstr "Køyr «%1» …" + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "Første side" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "Førre side" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "Neste side" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "Siste side" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "Tilbake" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "Fram" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Avslutt" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "Start presentasjon" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "Avslutt presentasjon" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go To Page…" +msgstr "Gå til side" + +#: core/action.cpp:365 +#, fuzzy, kde-format +#| msgid "Play sound..." +msgid "Play sound…" +msgstr "Spel lyd …" + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "Java-skript" + +#: core/action.cpp:483 +#, fuzzy, kde-format +#| msgid "Play movie" +msgid "Play movie…" +msgstr "Spel film" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "Spel film" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "Stopp film" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "Pausa film" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "Hald fram film" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "Denne Okular-versjonen er bygd utan lydstøtte." + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "Val av bakgrunnsmotor" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
    %1 (%2).

    Please select which one to use:
    " +msgstr "" +"Fann meir enn éin motor som kan handtera MIME-formatet:
    %1 " +"(%2).

    Vel kven av dei du ønskjer å bruka:
    " + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "Dei fleste sidene er i %1-format." + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "Ståande %1" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "Liggjande %1" + +#: core/document.cpp:246 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 × %2 tommar (%3)" + +#: core/document.cpp:248 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 × %2 mm (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "Held fram med søk frå toppen" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "Held fram med søk frå botnen" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "Fann ikkje noko programtillegg for å handtera dokumentet." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "fjern merknadar" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"Dokumentet prøver å køyra eit eksternt program, men av tryggleiksgrunnar " +"tillèt ikkje Okular det." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "Fann ingen program som kan opna filer av MIME-typen %1." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "Klarte ikkje opna mellombels fil." + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "Feil ved formatkonvertering for utskrift" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "Utskriftsprosessen krasja" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "Utskriftsprosessen klarte ikkje starta" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "Klarte ikkje skriva ut til fil" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "Skrivaren var i ein ugyldig tilstand" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "Fann ikkje fila å skriva ut" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "Det fanst inga fil å skriva ut" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"Fann ikkje eit passande program for utskrift. Sjå etter at CUPS-programfila " +"«lpr» er tilgjengeleg." + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "Utskriftsstorleiken for sida er ugyldig" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "Klarte ikkje opna «%1». Fila finst ikkje." + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Tittel" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Emne" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Skildring" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "Forfattar" + +# Dette er ein PDF-eigenskap, og tyder opphavs*program* ikkje opphavsperson. +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Opphavsprogram" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Produsent" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "Opphavsrett" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "Sider" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Oppretta" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Endra" + +#: core/document.cpp:6032 +#, kde-format +msgid "MIME Type" +msgstr "MIME-type" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "Kategori" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Nøkkelord" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "Filadresse" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "Filstorleik" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "Sidestorleik" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "legg til merknad" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "fjern merknad" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "endra merknadseigenskapar" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "set om merknad" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "juster merknad" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "rediger tekst" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "rediger merknadsinnhald" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "rediger skjemainnhald" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "rediger val i skjemaliste" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "rediger val i kombinasjonsboks" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "rediger tilstandard for skjemaknappar" + +#: core/generator.cpp:790 +#, fuzzy, kde-format +#| msgid "Plain &Text..." +msgid "Plain &Text…" +msgstr "Rein&tekst …" + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "OpenDocument-tekst" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "Utskriftsval" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "Tilpass til utskrivbart område" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "Tilpass til sidestorleik" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "Skalering:" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "Ikkje vis denne meldinga igjen" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "Ikkje tilgjengeleg" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" + +#: core/signatureutils.cpp:498 +#, fuzzy, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "Klarte ikkje opna fila %1" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "" + +#: core/signatureutils.cpp:504 +#, fuzzy, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" +"Klarte ikkje overskriva %1. Fila er skriveverna. Du kan " +"lagra ho i ei anna mappe eller endra løyvet på fila." + +#: core/signatureutils.cpp:506 +#, fuzzy, kde-format +msgid "Unknown signing error" +msgstr "Ukjend fil" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Kjelde: %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "&Standardskrift:" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "Versjon" + +#: gui/certificatemodel.cpp:41 +#, kde-format +msgid "Serial Number" +msgstr "Serienummer" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "Utferdar" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "Utferda" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "Utgår" + +# Ikkje «Emne». Og hjelpeteksten er feil. Det er personen/organiasjonen sertifikatet er utferda *til* (eller omhandlar, for å vera meir presis) dette viser. +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Utferda til" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "Offentlegnøkkel" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "Nøkkelbruk" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "V%1" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "%1 (%2 bit)" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "Eigenskap" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "Verdi" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "Sprettoppnotat" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "Skrivemaskin" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "Notatrute" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +#| msgid "Polygon with Comment" +msgid "Arrow with Comment" +msgstr "Polygon med merknad" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "Pil" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "Rett linje med merknad" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "Rett linje" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "Polygon med merknad" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "Mangekant" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgid "Stamp with Comment" +msgid "Rectangle with Comment" +msgstr "Stempel med merknad" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "Rektangel" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgid "Underline with Comment" +msgid "Ellipse with Comment" +msgstr "Understreking med merknad" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "Ellipse" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "Utheving med merknad" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "Utheving" + +#: gui/guiutils.cpp:87 +#, kde-format +msgid "Squiggle with Comment" +msgstr "Bølgje med merknad" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "Bølgje" + +#: gui/guiutils.cpp:91 +#, kde-format +msgid "Underline with Comment" +msgstr "Understreking med merknad" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "Understreking" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out with Comment" +msgstr "Overstreking med merknad" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "Gjennomstreking" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "Stempel med merknad" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "Stempel" + +#: gui/guiutils.cpp:106 +#, kde-format +msgid "Freehand Line with Comment" +msgstr "Frihandslinje med merknad" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "Frihandslinje" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "Skrivemerke" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "Filvedlegg" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "Lyd" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "Film" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Skjerm" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "Skjermelement" + +# Forklaring på https://helpx.adobe.com/no/acrobat/using/rich-media.html, der Adobe kallar det «rike medier» på norsk (bokmål). +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "Rike medium" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation" +msgstr "Merknad" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "Ukjend" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Forfattar: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "Kor vil du lagra %1?" + +# skip-rule: passiv +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "Klarte ikkje opna «%1» for skriving. Fila vart ikkje lagra." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "Signaturen er kryptografisk gyldig." + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "Signaturen er kryptografisk ugyldig." + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "Ikkje samsvarande sjekksum." + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "CMS/PKCS7-strukturen til signaturen er ugyldig." + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "Den etterspurde signaturen eksisterer ikkje i dokumentet." + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "Klarte ikkje stadfesta signaturen." + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "Sertifikatet er tiltrudd." + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "Sertifiseringsinstansen er ikkje tiltrudd." + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "Sertifiseringsinstansen er ukjend." + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "Sertifikatet er tilbakekalla." + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "Sertifikatet utgått." + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "Sertifikatet er ikkje stadfesta enno." + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "Sertifikatvalidering pågår" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "Ukjend problem med sertifikat, eller ugyldige data." + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "MD2" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "MD5" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "SHA-1" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "SHA-256" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "SHA-384" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "SHA-512" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "SHA-224" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "Ukjend algoritme" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "RSA" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "DSA" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "EC" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "Ukjend type" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "Digital signatur" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "Ikkje-fornekting" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "Krypter nøklar" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "Dekrypter nøklar" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "Nøkkelsamsvar" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "Signer sertifikat" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "Signer CRL" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "Berre krypter" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "Ingen bruk definert" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr ", " + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "Dokumentet er ikkje endra etter at det vart signert." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" +"Revisjonen av dokumentet som var dekt av denne signaturen er ikkje endra.\n" +"Men det har vore gjort seinare endringar av dokumentet." + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" +"Dokumentet er endra på ein måte som ikkje er tillaten av ein tidlegare " +"signatar." + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "Kunne ikkje stadfesta integriteten til dokumentet." + +#: gui/signatureguiutils.cpp:208 +#, fuzzy, kde-format +#| msgid "This document has unsigned signature fields." +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "Dette dokumentet har usignerte signaturfelt." + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "Dokumentet er digitalt signert." + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "" +"Dokumentet er digitalt signert. Men det er endra sidan det vart signert." + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" +"Dokumentet er digitalt signert. Men nokre av signaturane kunne ikkje " +"validerast." + +#: gui/signaturemodel.cpp:141 +#, fuzzy, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "Signaturvaliditet:" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "Felt: %1 på side %2" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "Rev. %1: Signert av %2" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "Signeringstidspunkt: %1" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "Grunn: %1" + +#: gui/signaturemodel.cpp:177 +#, kde-format +msgid "Location: %1" +msgstr "Stad: %1" + +#: gui/signaturemodel.cpp:185 +#, fuzzy, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "Signaturar" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "" + +#: gui/signaturemodel.cpp:193 +#, fuzzy, kde-format +#| msgctxt "Unknown author" +#| msgid "Unknown" +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "Ukjend" + +#: gui/signaturemodel.cpp:195 +#, fuzzy, kde-format +#| msgid "Signature Validity:" +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "Signaturvaliditet:" + +#: gui/signaturemodel.cpp:201 +#, fuzzy, kde-format +msgid "Signature Type: %1" +msgstr "Signaturvaliditet:" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "Raud" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "Oransje" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "Gul" + +#: part/annotationactionhandler.cpp:151 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "Grøn" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "Cyanblå" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "Blå" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "Magenta" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "Kvit" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "Grå" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "Svart" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "Breidd %1" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1 %" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "Linjebreidd for merknadar (ingen merknad vald)" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "Farge for merknadar (ingen merknad vald)" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "Fyllfarge for merknadar (ingen merknad vald)" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "Gjennomsikt for merknadar (ingen merknad vald)" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "Skrift for merknadar (ingen merknad vald)" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" +"Legg gjeldande merknadstype til kjappmerknadar-menyen (ingen merknad vald)" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" +"Avgrensa figurbreidd/-høgd til 1:1 eller linjevinkel til steg på 15° (ingen " +"merknad vald)" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" +"Avanserte innstillingar for gjeldande merknadsverktøy (ingen merknad vald)" + +#: part/annotationactionhandler.cpp:308 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Linjebreidd for merknadar" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "Linjebreidd for merknadar (gjeldande merknad har ikkje linjebreidd)" + +#: part/annotationactionhandler.cpp:314 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Farge for merknadar" + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "Kantlinjefarge for merknadar" + +#: part/annotationactionhandler.cpp:318 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Farge for merknadar" + +#: part/annotationactionhandler.cpp:322 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Fyllfarge for merknadar" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "Linjebreidd for merknadar (gjeldande merknad har ikkje fyllfarge)" + +#: part/annotationactionhandler.cpp:328 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "Skrift for merknadar" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "Skrift for merknadar (gjeldande merknad har ikkje skrift)" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "Avgrens linjevinkel til steg på 15°" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "Avgrens figurbreidd/-høgd til 1:1" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" +"Avgrensa figurbreidd/-høgd til 1:1 eller linjevinkel til steg på 15° (ikkje " +"støtta av gjeldande merknad)" + +#: part/annotationactionhandler.cpp:341 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Gjennomsikt for merknadar" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "Legg gjeldande merknadstype til kjappmerknadar-menyen" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "Avanserte innstillingar for gjeldande merknadsverktøy" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "Farge" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "Fyllfarge" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "Gjennomsiktig" + +#: part/annotationactionhandler.cpp:445 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "Custom Color..." +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "Sjølvvald farge …" + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "Vel farge" + +#: part/annotationactionhandler.cpp:552 +#, kde-format +msgid "&Annotations" +msgstr "&Merknadar" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "Gøym" + +#: part/annotationactionhandler.cpp:554 +#, kde-format +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Vis fleire merknadsverktøy" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "Merkjepenn" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "Understreking" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "Bølgje" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "Gjennomstreking" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Skrivemaskin" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "Notatrute" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "Sprettoppnotat" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "Frihandslinje" + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "Rett linje" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "Pil" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "Rektangel" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "Ellipse" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "Mangekant" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "Geometriske former" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "Stempel" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Kjappmerknadar" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "Vel eit merknadsverktøy frå kjappmerknadar-menyen" + +#: part/annotationactionhandler.cpp:651 +#, kde-format +msgid "Quick Annotation Bar" +msgstr "Kjappmerknadar-linje" + +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "Legg til kjappmerknadar-meny" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "Hald i bruk" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "La merknadsverktøyet vera på etter bruk" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "Avgrensa breidd/høgd-forhold og linjevinkel i merknadsverktøy" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "Skrifttype" + +#: part/annotationactionhandler.cpp:681 +#, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Merknadsinnstillingar" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "Linjebreidd" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "Tettleik" + +#: part/annotationactionhandler.cpp:696 +#, kde-format +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1 %" + +#: part/annotationmodel.cpp:320 +#, kde-format +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "Side %1 (%2)" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "Side %1" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "Merknad" +msgstr[1] "%1 merknadar" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "&Opna sprettoppnotat" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Fjern bokmerke" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Legg til bokmerke" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, kde-format +msgid "Copy Text to Clipboard" +msgstr "Kopier til utklippstavla" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "DRM forbyr kopiering" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "&Slett" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "&Eigenskapar" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, fuzzy, kde-format +#| msgctxt "%1 is the name of the file to save" +#| msgid "&Save '%1'..." +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "&Lagra «%1» …" + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "&Utsjånad" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "&Generelt" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&Forfattar:" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "Oppretta:" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "Sist endra:" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "Eigenskapar for sprettoppnotat" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "Eigenskapar for skrivemaskin" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "Eigenskapar for notatrute" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "Linjeeigenskapar" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "Eigenskapar for mangekant" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "Geometrieigenskapar" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "Eigenskapar for tekstoppmerking" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "Stempeleigenskapar" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "Eigenskapar for frihandslinje" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "Skrivemerke-eigenskapar" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "Eigenskapar for filvedlegg" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "Lydeigenskapar" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "Filmeigenskapar" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "Merknadseigenskapar" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "Vel eit stempelsymbol frå ei fil" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "Vel eit tilpassa stempelsymbol" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" +"*.ico *.png *.xpm *.svg *.svgz | Ikonfiler (*.ico *.png *.xpm *.svg *.svgz)" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "Klarte ikkje opna fila %1" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "Ugyldig fil" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&Farge:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, fuzzy, kde-format +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%1 %" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "&Gjennomsikt:" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "Ikon:" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "Merknad" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "Hjelp" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "Set inn" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "Nøkkel" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "Nytt avsnitt" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "Notat" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "Avsnitt" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Skrift:" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "Tekst&farge:" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "&Juster:" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "Til venstre" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "I midten" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "Til høgre" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "Kant&breidd:" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "Godkjent" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "Som det er" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "Konfidensielt" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "For avdelinga" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "Utkast" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "Eksperimentelt" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "Utgått" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "Endeleg" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "For kommentering" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "Til offentleggjering" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "Ikkje godkjent" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "Skal ikkje offentleggjerast" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "Selt" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "Strengt hemmeleg" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "Bokmerke" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "Informasjon" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "Stempelsymbol:" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "&Breidd:" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "Linjestart:" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "Linjeslutt:" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "Kvadrat" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "Sirkel" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "Diamant" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "Open pil" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "Lukka pil" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "Ingen" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "Butt" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "Pil høgre (open)" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "Pil høgre (fylt)" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "Skråstrek" + +#: part/annotationwidgets.cpp:531 +#, kde-format +msgid "Leader line length:" +msgstr "Lengd på tilvisingslinje:" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "Lengd på utviding til tilvisingslinje:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "På" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "Formfyll:" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Type:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "Gjennomstreking" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "Filvedleggsymbol:" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "Graf" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "Teiknestift" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "Binders" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "Merkelapp" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "Fil" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "–" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "Inga skildring er tilgjengeleg." + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "Namn:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "Skildring:" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "Skrivemerke-symbol:" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "Ingen" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "Lukk denne meldinga" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "Val" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"Denne merknaden kan innehalda LaTeX-kode.\n" +"Trykk her for å visa LaTeX-resultatet." + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "Fann ikkje programfila «latex»." + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "Feil ved LaTeX-oppteikning" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "Fann ikkje programfila «dvipng»." + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "Det oppstod eit problem då kommandoen «latex» vart køyrd." + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "Det oppstod eit problem då kommandoen «dvipng» vart køyrd." + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"Eitt bokmerke" +msgstr[1] "" +"%1\n" +"\n" +"%2 bokmerke" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Bokmerke" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "Vis for alle dokument" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, fuzzy, kde-format +#| msgid "Search..." +msgid "Search…" +msgstr "Søk …" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, fuzzy, kde-format +#| msgid "Expand all" +msgid "Expand All" +msgstr "Fald ut alt" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, fuzzy, kde-format +#| msgid "Collapse all" +msgid "Collapse All" +msgstr "Fald saman alt" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "Gå til dette bokmerket" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "Endra namn på bokmerke" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Opna dokument" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "Fjern alle bokmerka frå dokumentet" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "Sertifikatvisar" + +#: part/certificateviewer.cpp:50 +#, fuzzy, kde-format +#| msgid "Export..." +msgid "Export…" +msgstr "Eksporter …" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "Generelt" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "Utferda av" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "Namn (CN)" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "E-postadresse" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "Organisasjon (O)" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "Utferda til" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "Validitet" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "Fingeravtrykk" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "SHA-1-fingeravtrykk" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "SHA-256-fingeravtrykk" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "Detaljar" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "Sertifikatdata:" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "Kor vil du lagra dette sertifikatet?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "Sertifikatfil (*.cer)" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "Klarte ikkje eksportera sertifikatet" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "&Fargemodus" + +#: part/colormodemenu.cpp:21 +#, kde-format +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "Byt fargar" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "&Vanlege fargar" + +#: part/colormodemenu.cpp:41 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "&Snu om fargane" + +#: part/colormodemenu.cpp:42 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "Endra &papirfarge" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "Endra &mørke og lyse fargar" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "Gjer om til &svart-kvitt" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "Omvend &lysstyrke" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "Omvend l&uma (sRGB lineær)" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "Omvend luma (&symmetrisk)" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "Flytt fargenyanse til &høgre" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "Flytt fargenyanse til &venstre" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "Raud" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "Grøn" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "Blå" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "Gul" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "Svart" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "Kvit" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "Gul merkjepenn" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "Grøn merkjepenn" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "Set inn tekst" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "Vis kantlinje rundt lenkjer" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "Endra fargar" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "" +"Åtvaring: Desse alternativa kan påverka framvisingsfarten ganske " +"mykje." + +#: part/dlgaccessibility.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "Omvende fargar" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "Endra papirfarge" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "Endra mørke og lyse fargar" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "Gjer om til svart-kvitt" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "Omvend lysstyrke" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "Omvend luma (sRGB lineær)" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "Omvend luma (symmetrisk)" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "Flytt fargenyanse til høgre" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "Flytt fargenyanse til venstre" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "Fargemodus:" + +#: part/dlgaccessibility.cpp:87 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Papirfarge:" + +#: part/dlgaccessibility.cpp:99 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Mørk farge:" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "Lys farge:" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "Terskel:" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Kontrast:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "Tekst til tale-motor:" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "Tekst til tale-røyst:" + +#: part/dlgannotations.cpp:25 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Full merknadsverktøylinje" + +#: part/dlgannotations.cpp:26 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Kjappmerknadar-linje" + +#: part/dlgannotations.cpp:28 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Merknadsverktøylinje" + +#: part/dlgannotations.cpp:34 +#, kde-format +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "Opphavsperson:" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"Merk: Informasjonen du legg inn her, vert berre brukt til kommentarar " +"og tilbakemeldingar. Han vert lagra i dokumentet og vil vera tilgjengeleg " +"for dei du sender det til." + +#: part/dlgannotations.cpp:48 +#, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

    Quick Annotation Tools

    " +msgstr "

    Kjappmerknadsverktøy

    " + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "Vel skriveprogrammet du vil bruka til å opna kjeldefiler." + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "Skriveprogram" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Emacs-program" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "Lyx-klient" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "TeXstudio" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "TeXiFy IDEA" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "Skriveprogram:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
    \n" +"You can also put few placeholders:\n" +"
      \n" +"
    • %f - the file name
    • \n" +"
    • %l - the line of the file to be reached
    • \n" +"
    • %c - the column of the file to be reached
    • \n" +"
    \n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"Vel kommando for køyring av skriveprogram.
    \n" +"Du kan òg bruka desse plasshaldarane:\n" +"
      \n" +"
    • %f – filnamnet
    • \n" +"
    • %l – linjenummeret i fila
    • \n" +"
    • %c – kolonnenummeret i fila
    • \n" +"
    \n" +"Viss du ikkje brukar plasshaldaren %f, vert filnamnet lagt til på slutten av " +"kommandoen." + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "Kommando:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "Bruk jamn rulling" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "Utsjånad:" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "Vis rullefelt" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "Kopla miniatyrbileta saman med sida" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "Vis hint og infomeldingar" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "Varsla om innebygde filer, skjema og signaturar" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "Vis dokumenttittelen i tittellinja viss han finst" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "Vis berre filnamnet" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "Vis fullstendig filadresse" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "Når dokumenttittelen ikkje vert vist:" + +#: part/dlggeneral.cpp:92 +#, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "Bruk sjølvvald bakgrunnsfarge:" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "Programfunksjonar:" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "Opna nye filer i faner" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "Byt til filfanen viss fila alt er open" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "Følg DRM-sperrer" + +#: part/dlggeneral.cpp:148 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "Last dokument på nytt ved endringar" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "Vis vindauge for val av visingsmotor" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "Bruk høgre-til-venstre-leseretning" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" + +#: part/dlggeneral.cpp:178 +#, fuzzy, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "Opna i samanhengande-modus som standard" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "Opna i samanhengande-modus som standard" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "Flytt skrivemerket til neste/førre linje når det når skjermkanten" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "Oversiktsspalter:" + +#: part/dlggeneral.cpp:220 +#, fuzzy, kde-format +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%1 %" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" +"Avgjer kor mykje av det gjeldande visingsområdet som framleis vil vera " +"synleg når du trykkjer «Page Up» eller «Page Down»." + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "«Page Up/Down»-overlapp:" + +#: part/dlggeneral.cpp:228 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%1 %" + +#: part/dlggeneral.cpp:232 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "100 %" + +#: part/dlggeneral.cpp:233 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "Tilpass til breidda" + +#: part/dlggeneral.cpp:234 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "Tilpass til sida" + +#: part/dlggeneral.cpp:235 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "Autotilpassa" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "" + +#: part/dlggeneral.cpp:237 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" +"Avgjer standard forstørring for filer som ikkje er opna før. For filer som " +"du har opna før vert førre verdi brukt." + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "Standard forstørring:" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "Slå på gjennomsiktseffektar" + +#: part/dlgperformance.cpp:28 +#, kde-format +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "Prosessorbruk:" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "Låg" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "Normal (standard)" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "Aggressiv" + +#: part/dlgperformance.cpp:38 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "Grådig" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "Minnebruk:" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "Bruk kantutjamning på tekst" + +#: part/dlgperformance.cpp:56 +#, kde-format +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "Oppteikningsval:" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "Bruk kantutjamning på grafikk" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "Bruk teksthinting" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"Brukar så lite minne som råd. Brukar ikkje noko om igjen. (Passar til system " +"med lite minne.)" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"Eit godt kompromiss mellom minnebruk og fart. Lastar inn den neste sida og " +"gjev raskare søk. (Passar til system med minst 2 GB minne.)" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"Hald alt i minnet. Lastar inn dei neste sidene og gjev raskare søk. (Passar " +"til system med minst 4 GB minne.)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" +"Laster inn og held alt i minnet. Førehandslastar alle sidene. (Dette brukar " +"opptil 50% av alt minnet eller alt fritt minne, etter kva som er størst.)" + +# Punktumet er for å gjera om til rekkjetal. I brukargrensesnittet ser det for eksempel slik ut: «Skift kvart: 10. sekund.» +#: part/dlgpresentation.cpp:38 +#, fuzzy, kde-format +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] ". sekund" +msgstr[1] ". sekund" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "Skift automatisk:" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "Start om att etter siste side" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "Trykk til venstre/høgre for å gå bakover/framover" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "Trykk kor som helst for å gå framover" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "Slått av" + +#: part/dlgpresentation.cpp:63 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Fingernavigering:" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "Bakgrunnsfarge:" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "Gøym etter ei stund" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "Alltid synleg" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "Alltid gøymd" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "Musepeikar:" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "Vis framdriftslinje" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "Vis samandragsside" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "Direkte (ingen animasjon)" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "Byt ut" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "Tilfeldig overgang" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "Loddrette persienner" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "Vassrette persienner" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "Boks inn" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "Boks ut" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "Oppløys" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "Ton inn og ut" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "Glitter ned" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "Glitter til høgre" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "Glitter ned til høgre" + +# «in» tyder her «inn», ikkje «i», jf. neste melding +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "Delt vassrett inn" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "Delt vassrett ut" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "Delt loddrett inn" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "Delt loddrett ut" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "Tørk nedover" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "Tørk mot høgre" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "Tørk mot venstre" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "Tørk oppover" + +#: part/dlgpresentation.cpp:121 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Standardovergang:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "Føretrekt skjerm:" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

    Drawing Tools

    " +msgstr "

    Teikneverktøy

    " + +#: part/dlgpresentation.cpp:171 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Gjeldande skjerm" + +#: part/dlgpresentation.cpp:172 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Standardskjerm" + +#: part/dlgpresentation.cpp:178 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "Skjerm %1 (%2 %3 %4)" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "Skjerm %1 (ikkje tilkopla)" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "Teikneverktøy: %1" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "Viskelêr" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "&Namn:" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "&Type:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "Utsjånad" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "Tekstoppmerking" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "Geometriske former" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "Opprett merknadsverktøy" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "Rediger merknadsverktøy" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "Farge:" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "&Pennebreidd:" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "" + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "Lag teikneverktøy" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "Rediger teikneverktøy" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "Ukjend" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Innebygde filer" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "Vis" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "Namn" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "Skildring" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "Storleik" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "Oppretta" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "Endra" + +#: part/embeddedfilesdialog.cpp:154 +#, fuzzy, kde-format +#| msgid "Save As" +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "Lagra som" + +#: part/embeddedfilesdialog.cpp:155 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "&Vis" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "Klarte ikkje lasta førehandsvisinga" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "Førehandsvising" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "Lukk" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "&Finn:" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "Tekst å søkja etter" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Neste" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "Gå til neste treff" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Førre" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "Gå til førre treff" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "Endra søkjeåtferd" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "Skil mellom store og små bokstavar" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "Frå gjeldande side" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "Kontinuerleg søk" + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "Alle filer (*)" + +#: part/formwidgets.cpp:1280 +#, fuzzy, kde-format +#| msgid "Unsigned Signature Field (Click to Sign)" +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "Usignert signaturfelt (trykk for å signera)" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, fuzzy, kde-format +#| msgctxt "@action:button" +#| msgid "Sign" +msgid "&Sign…" +msgstr "Signer" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "Sertifikateigenskapar" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "Søkjeval" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "Skil mellom store og små bokstavar" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "Regulært uttrykk" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "Lag" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "av" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "Forstørr" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "Forstørr til 100 %" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "Drei til &høgre" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "Høgre" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "Drei til &venstre" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "Venstre" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "Opphavleg retning" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "&Utsnittsvising" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "Skjer vekk &margar" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "Skjer til &utsnitt" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "Tilpass til &breidda" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "Tilpass til &sida" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "&Autotilpassa" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "Tilpass &vindauget til sida" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "&Visingsmodus" + +#: part/pageview.cpp:594 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "&Éi side" + +#: part/pageview.cpp:595 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "&Motståande sider" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "Motståande sider (&sentrer første side)" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "&Oversikt" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "Saman&hengande" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "Bruk høgre til venstre som leseretning" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "&Bla gjennom" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "&Forstørr/forminsk" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "&Områdeutval" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "&Tekstutval" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "T&abellutval" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "&Lupe" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "Merkjeverktøy" + +#: part/pageview.cpp:711 +#, fuzzy, kde-format +#| msgid "Digitally &Sign..." +msgid "Digitally &Sign…" +msgstr "&Signer digitalt …" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "Les opp heile dokumentet" + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "Les opp frå gjeldande side" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "Les opp gjeldande side" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "Stopp opplesing" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "Pausa / hald fram opplesing" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "Rull opp" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Rull ned" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "Rull éi side opp" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "Rull éi side ned" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "Vis skjema" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] " Lasta inn eit éisides dokument." +msgstr[1] " Lasta inn eit %1-sides dokument." + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "Kopier tabellinhald til utklippstavla" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "Tekst (1 teikn)" +msgstr[1] "Tekst (%1 teikn)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "Kopier til utklippstavla" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "Les opp teksten" + +#: part/pageview.cpp:2863 +#, kde-format +msgid "Image (%1 × %2 pixels)" +msgstr "Bilete (%1 × %2 pikslar)" + +#: part/pageview.cpp:2865 +#, kde-format +msgid "Save to File…" +msgstr "Lagra til fil …" + +#: part/pageview.cpp:2885 +#, kde-format +msgid "Image [%1 × %2] copied to clipboard." +msgstr "Biletet (%1 × %2) vart kopiert til utklippstavla." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "Lagra fil" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "Bilete (*.png *.jpeg)" + +# skip-rule: passiv +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "Fila vart ikkje lagra." + +#: part/pageview.cpp:2901 +#, kde-format +msgid "Image [%1 × %2] saved to %3 file." +msgstr "Biletet (%1 × %2) vart lagra til fila %3." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "Kopier tekst" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "Gå til «%1»" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "Tilpass til breidda" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "Tilpass til sida" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "Autotilpassa" + +#: part/pageview.cpp:4107 +#, kde-format +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1 %" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "Søk etter «%1» med" + +#: part/pageview.cpp:4404 +#, fuzzy, kde-format +#| msgid "Configure Web Shortcuts..." +msgid "Configure Web Shortcuts…" +msgstr "Set opp vevsnarvegar …" + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "Følg denne lenkja" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "Spel denne lyden" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "Stopp lyd" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "Kopier lenkjeadresse" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "Søk etter «%1» i dokumentet" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Velkommen" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "Vel visingsområde. Høgreklikk for å visa i mindre storleik." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "Trykk for å sjå den forstørra visinga." + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "Teikn ein firkant rundt teksten/grafikken du vil kopiera." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "Merk tekst" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" +"Teikn ein firkant rundt tabellen. Trykk så nær kantane for å dela opp. Trykk " +"«Escape» for å nullstilla." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" + +#: part/pageview.cpp:5188 +#, fuzzy, kde-format +msgid "No valid certificates" +msgstr "Sertifikat" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, fuzzy, kde-format +#| msgid "View in Certificate Manager" +msgid "Open Certificate Manager" +msgstr "Vis i sertifikathandsamar" + +#: part/pageview.cpp:5200 +#, fuzzy, kde-format +#| msgid "" +#| "There are no available signing certificates.
    For more information, " +#| "please see the section about Adding Digital Signatures " +#| "in the manual." +msgid "" +"There are no available signing certificates.
    Launch Certificate Manager " +"to import or manage certificates
    For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" +"Du har ikkje nokon signerings­sertifikat tilgjengeleg.
    Du finn meir " +"informasjon under avsnittet Adding Digital Signatures i " +"brukarhandboka." + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, fuzzy, kde-format +#| msgid "Certificates" +msgid "No certificates found" +msgstr "Sertifikat" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
    For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" +"Du har ikkje nokon signerings­sertifikat tilgjengeleg.
    Du finn meir " +"informasjon under avsnittet Adding Digital Signatures i " +"brukarhandboka." + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" +"Du har ulagra endringar. Du må lagra dokumentet før du kan signera det." + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "Teikn ein firkant for å setja inn signaturfeltet" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "Teikn ein firkant rundt sideområdet som skal vera synleg" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "Nytt notat" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "Tekst i det nye notatet:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Signert av: %1\n" +"\n" +"Dato: %2" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" +"Ein så liten signatur kan vera vanskeleg å lesa. Viss du heller vil laga ein " +"større signatur, som er lettare å lesa, trykk Teikn på nytt og teikn ein større firkant." + +# Jf. førre tekst. +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "Teikn på nytt" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "Signer" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name" +msgstr "Forfattarnamn" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name for the annotation:" +msgstr "Forfattarnamnet til merknaden:" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "Teikn ein ellipse (dra for å velja område)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "Uthev tekst" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "Teikn ei frihandslinje" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "Merknad inne i teksten (dra for å velja område)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "Legg til sprettoppnotat" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "Teikn ein mangekant (trykk på første punkt for å lukka han)" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "Teikn ein firkant" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "Bølgje under tekst" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "Set på eit stempelsymbol" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "Teikn ei rett linje" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "Strek gjennom teksten" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "Strek under teksten" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "Skrivemaskinsmerknad (dra for å velja område)" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "Merkjepenn" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "Legg til favorittmerknad" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Custom annotation name:" +msgstr "Sjølvvalt namn på merknad:" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&Fil" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "&Innstillingar" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "&Hjelp" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "&Retning" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "&Bokmerke" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "Verktøylinje for visar" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Miniatyrbilete" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "Merknadar" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
    Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" +"Dokumentet inneheld merknadar eller skjemadata som vart lagra internt av ein " +"tidlegare Okular-versjon. Intern lagring er ikkje lenger støtta.
    Lagra merknadane til ei fil dersom du vil halda fram å redigera dokumentet." + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"Dette dokumentet har innebygde filer. Trykk her for å sjå dei, eller gå til «Fil → Innebygde filer»." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "Signering pågår. Du kan justera plassering og storleik til signaturen." + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "Fullfør signeringa" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "Førre" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "Gå tilbake til førre side" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "Går til den førre sida i dokumentet" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "Neste" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "Gå vidare til neste side" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "Går til den neste sida i dokumentet" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "Byrjinga av dokumentet" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "Går til byrjinga av dokumentet" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "Slutten på dokumentet" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "Går til slutten av dokumentet" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "Gje nytt namn til gjeldande bokmerke" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "Førre bokmerke" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "Gå til førre bokmerke" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "Neste bokmerke" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "Gå til neste bokmerke" + +#: part/part.cpp:748 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgid "Configure Okular…" +msgstr "Set opp Okular …" + +#: part/part.cpp:751 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Configure Viewer…" +msgstr "Set opp visar" + +#: part/part.cpp:757 +#, fuzzy, kde-format +#| msgid "Configure Viewer Backends" +msgid "Configure Viewer Backends…" +msgstr "Set opp visingsmotorar" + +#: part/part.cpp:759 +#, fuzzy, kde-format +#| msgid "Configure Backends" +msgid "Configure Backends…" +msgstr "Set opp visingsmotorar" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "Om motoren" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "Last om a&tt" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "Last gjeldande dokument om att frå disken." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "Lukk &søkjelinje" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "Sidetal" + +#: part/part.cpp:817 +#, fuzzy, kde-format +#| msgctxt "@action" +#| msgid "Configure Color Modes..." +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "Set opp fargemodusar …" + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "Merk all tekst på gjeldande side" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "Vis &sidestolpe" + +# Ei linje som vert vist nedst i dokumentet, for å kjapt bla fram/tilbake eller til ei viss side. +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "Vis side&tallinje" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "Vis &signaturpanel" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "&Innebygde filer" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "&Eksporter som" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "&Del" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "P&resentasjon" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "Opna &foreldermappa" + +#: part/part.cpp:945 +#, fuzzy, kde-format +#| msgid "&Import PostScript as PDF..." +msgid "&Import PostScript as PDF…" +msgstr "&Importer PostScript som PDF …" + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "Byt svartskjerm-modus" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "Visk ut teikning" + +#: part/part.cpp:962 +#, fuzzy, kde-format +#| msgid "Configure Annotations..." +msgid "Configure Annotations…" +msgstr "Set opp merknadar …" + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "Spel/pausa presentasjon" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" +"Du har endra på dokumentet, men ein slik dokumenttype kan ikkje lagrast.\n" +"Endringar vil gå tapt når Okular vert lukka." + +#: part/part.cpp:1123 +#, kde-format +msgid "Document can't be saved" +msgstr "Dokumentet kan ikkje lagrast." + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "Klarte ikkje opna fila «%1» (%2) " + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "Innlastinga av %1 er avbroten." + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "Klarte ikkje opna %1: %2" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "Set opp visingsmotorar" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "Set opp visingsmotorar" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"Fann ikkje programmet «ps2pdf». Okular kan derfor ikkje opna PS-filer med " +"det." + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "Fann ikkje ps2pdf" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "PostScript-filer (%1)" + +#: part/part.cpp:1357 +#, fuzzy, kde-format +#| msgid "Importing PS file as PDF (this may take a while)..." +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "Importerer PS-fil som PDF (dette kan ta ei stund) …" + +# Dette er «Skriv inn» + «passordet for å lesa dokumentet», ikkje «Skriv inn passordet» + «for å lesa dokumentet». Det er med andre ord eit spesielt passord som vert brukt for å lesa dokumentet (i motsetning til passordet ein brukar for å redigera det). +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "Skriv inn passordet for å lesa dokumentet:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "Feil passord. Prøv igjen:" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "Dokumentpassord" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "Dette dokumentet har XFA-skjema, som for tida ikkje er støtta." + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"Dette dokumentet inneheld skjema. Trykk på knappen for å redigera dei, eller " +"bruk «Vis → Vis skjema»." + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" +"All redigering og all interaktiv funksjonalitet i dokumentet er slått av. " +"Lagra ein kopi av dokumentet og opna dette dersom du ønskjer å redigera det." + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" +"Dokumentet ber om å verta vist i fullskjermsvising.\n" +"Vil du forlata vindaugsvisinga og visa det i presentasjonsmodus?" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "Førespurnad om byte av visingsmodus" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "Vis i presentasjonsmodus" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "Avvis førespurnad" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "Klarte ikkje opna %1. %2" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" +"Fila %1 har ulagra endringar, men har samtidig blitt " +"endra av eit anna program. Viss du lastar ho inn på nytt, vert endringane " +"dine bytte ut med endringane gjorde i det andre programmet.Vil du " +"halda fram med å lasta inn fila på nytt?" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "Fil endra" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "Hald fram å lasta inn" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "Avbryt innlasting" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" +"Fila %1 har ulagra endringar, men har samtidig blitt " +"endra av eit anna program. Viss du lukkar ho, vert endringane dine bytte ut " +"med endringane gjorde i det andre programmet.Vil du halda fram med " +"å lukka av fila?" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "Hald fram med å lukka" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "Avbryt lukking" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "Vil du lagra endringane dine til «%1» eller forkasta dei?" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "Lukk dokumentet" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"Denne lenkja peikar til ei handling som lukkar dokumentet, men fungerer " +"ikkje i den innebygde framvisaren." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"Denne lenkja peikar til ei handling som avsluttar programmet, men fungerer " +"ikkje i den innebygde framvisaren." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Reloading the document…" +msgstr "Lastar dokumentet på nytt …" + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "Innhald" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "Signaturar" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Gå til side" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "&Side:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "Skriv in nytt namn på bokmerket:" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "Endra namn på bokmerke" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "Fjern dette bokmerket" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "Lagra som" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" +"Du har valt å lagra ei Okular-arkivfil utan etternamnet «%1». Dette er ikkje " +"mogleg. Vil du velja eit nytt namn?" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "Filetternamnet er ikkje støtta" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "Endra namn" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" +"Fila %1 har blitt endra av eit anna program. Viss du " +"lagrar ho no, går endringane gjorde i det andre programmet tapt. Er du " +"sikker på at du vil halda fram med å lagra?" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "Lagraing – åtvaring" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "Lagra kopi ein annan plass" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
    In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" +"Det gjeldande dokumentet er verna med eit passord.
    For å kunna lagra " +"fila, må du først lasta ho inn på nytt. Du vert bedt om passordet igjen, og " +"«angra / gjer om»-loggen går tapt.
    Vil du halda fram?" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "Klarte ikkje opna mellombels fil for lagring." + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" +"Klarte ikkje overskriva %1. Fila er skriveverna. Du kan " +"lagra ho i ei anna mappe eller endra løyvet på fila." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" +"Etter lagring krev det gjeldande dokumentformatet at fila vert lasta på " +"nytt. Loggen med «angra / gjer om»-handlingar går tapt.
    Vil du halda " +"fram?" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "Klarte ikkje lagra fila i «%1». Prøv å lagra ho ein annan stad." + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "Utfylt skjemainnhald" + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "Brukarmerknadar" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" +"Du er i ferd med å lagra endringar, men det gjeldande filformatet støttar " +"ikkje lagring av desse elementa. Bruk formatet Okular-dokumentarkiv " +"for å ta vare på dei." + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "Åtvaring" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, fuzzy, kde-format +#| msgid "Save as Okular document archive..." +msgid "Save as Okular document archive…" +msgstr "Lagra som Okular-dokumentarkiv …" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" +"Du er i ferd med å lagra endringar, men det gjeldande filformatet støttar " +"ikkje lagring av desse elementa. Bruk formatet Okular-dokumentarkiv " +"for å ta vare på dei. Trykk Hald fram for å lagra dokumentet og " +"forkasta elementa." + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" +"Du er i ferd med å lagra endringar, men det gjeldande filformatet støttar " +"ikkje lagring av desse elementa. Bruk formatet Okular-dokumentarkiv " +"for å ta vare på dei. Trykk Hald fram for å lagra dokumentet, men du " +"vil då mista elementa og loggen over «angra / gjer om»-handlingar." + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "Hald fram" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "Hald fram og mist endringar" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "Klarte ikkje lagra fila i «%1». %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"Okular kan ikkje kopiera %1 til den valde plasseringa.\n" +"\n" +"Dokumentet finst ikkje lenger." + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" +"Klarte ikkje lagra fila i «%1». Feil: «%2». Prøv å lagra ho ein annan stad." + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "Expand whole section" +msgid "Expand Whole Section" +msgstr "Utvid heile inndelinga" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "Collapse whole section" +msgid "Collapse Whole Section" +msgstr "Fald saman heile inndelinga" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "Synkroniser miniatyrbilete med side" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Verktøy" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "Les opp" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "Skriv ut" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "Det er ikkje lov å skriva ut dette dokumentet." + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"Klarte ikkje skriva ut dokumentet. Ukjend feil. Meld gjerne frå om feilen på " +"bugs.kde.org." + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"Klarte ikkje skriva ut dokumentet. Den detaljerte feilmeldinga er «%1». Meld " +"gjerne frå om feilen på bugs.kde.org." + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "Gå til der du var før" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "Gå til der du var etter" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"Filfeil: Klarte ikkje laga den mellombelse fila " +"%1." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"Filfeil: Klarte ikkje opna fila %1 for dekomprimering. Fila vert ikkje lesen inn." + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"Denne feilen oppstår som regel dersom du ikkje har tilstrekkelege løyve " +"til å lesa fila. Du kan undersøkja kven som eig og har tilgang til fila ved " +"å høgreklikka på fila i filhandsamaren, velja «Eigenskapar» i menyen og så " +"velja fana «Løyve»." + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"Filfeil: Klarte ikkje dekomprimera fila " +"%1. Fila vert ikkje lesen inn." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"Denne feilen oppstår typisk dersom fila er øydelagd. Dersom du vil vera " +"sikker, kan du prøva å dekomprimera fila manuelt med verktøy på " +"kommandolinja." + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "Ingen bokmerke" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "Det oppstod ein feil ved deling av dokumentet: %1" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "Del" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "Dokumentet er no delt" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "Du finn det delte dokumentet på: %1" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "&Rediger" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "&Vis" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&Gå til" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "V&erktøy" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "Hovudverktøylinje" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "Merknadsverktøylinje" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, kde-format +msgid "Quick Annotation Toolbar" +msgstr "Kjappmerknadar-linje" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "Generelle val" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Tilgjenge" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "Lesehjelp for tilgjenge" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Yting" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "Tilpassing av yting" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "Set opp visar" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Presentasjon" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "Val for presentasjonsmodus" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "Val for merknadar" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "Skriveprogram" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "Skriveprogramsval" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" +"Skriveprogrammet var sett til \n" +" %1 \n" +"via kommandolinja. Viss du vil bruka innstillinga, start Okular utan valet " +"«--editor-cmd»." + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "Finn neste" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 – presentasjon" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "Byt skjerm" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "Skjerm %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "Avslutt presentasjonsmodus" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Tittel: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Sider: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "Trykk for å starta" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "Pause" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "Spel av" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"Du kan avslutta presentasjonsmodusen på to måtar – ved å trykkja «Escape» " +"eller ved å bruka avsluttingsknappen som dukkar opp når du flyttar peikaren " +"opp til høgre. Du kan sjølvsagt òg byta mellom vindauge (vanlegvis med «Alt " +"+ Tab»)." + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "Held ein presentasjon" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "Ukjend fil" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "Eigenskapar for %1" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "&Skrifter" + +#: part/propertiesdialog.cpp:145 +#, fuzzy, kde-format +#| msgid "Reading font information..." +msgid "Reading font information…" +msgstr "Les skriftinformasjon …" + +#: part/propertiesdialog.cpp:158 +#, kde-format +msgid "&Page Sizes" +msgstr "&Sidestorleik" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "&Hent ut skrift" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Type 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Type 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "Type 1C (OT)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Type 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType (OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID Type 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID Type 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID Type 0C (OT)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType (OT)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "TeX PK" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "TeX-virtuell" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "TeX-skriftmål" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "Handtert med TeX FreeType" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "Ukjend" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "Innebygd (delvis)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "Heilt innebygd" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "Nei" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "Ja (delmengd)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "Ja" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "%1 (vert bytt ut med %2)" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "–" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "Ukjend skrifttype" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "Innebygd: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "Namn" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "Type" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "Fil" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "Side" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "Storleik" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "Førehandsvising av revisjon" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "Kor vil du lagra denne revisjonen?" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "Klarte ikkje lagra fila %1." + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "Klarte ikkje visa revisjon." + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "Skriv minst tre bokstavar for å filtrera sider" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "Skil mellom store og små bokstavar" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "Finn frasen" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "Finn alle orda" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "Finn vilkårleg ord" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "Filtreringsval" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, kde-format +msgid "Certificates" +msgstr "Sertifikat" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "Vel sertifikat å signera med:" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, fuzzy, kde-format +msgid "Only QES certificates" +msgstr "Sertifikat" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "Grunn:" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, kde-format +msgid "optional" +msgstr "valfritt" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "Stad:" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, kde-format +msgid "Background:" +msgstr "Bakgrunn:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "Vel …" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, kde-format +msgid "Recent backgrounds:" +msgstr "Nyleg brukte bakgrunnar:" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

    No annotations

    To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
    " +msgstr "" +"

    Ingen merknadar

    Trykk «F6» eller vel Verktøy → " +"Merknadar frå menyen for å leggja til merknadar.
    " + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "Grupper etter side" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "Grupper etter forfattar" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "Vis berre påteikningar for den gjeldande sida" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "Utvid alle elementa" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "Fald saman alle elementa" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "Eigenskapar" + +#: part/signaturepartutils.cpp:180 +#, kde-format +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Bilete (%1)" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "Vel bakgrunnsbilete" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "Gløym biletet" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "Gløym alle bileta" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "Skriv inn passordet (om aktuelt) for å låsa opp sertifikatet: %1" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "Skriv inn sertifikatpassord" + +#: part/signaturepartutils.cpp:244 +#, kde-format +msgid "Enter document password" +msgstr "Skriv inn passord på dokumentet" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "Lagra signert fil som" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "%1_signert.%2" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "Validitet" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "Signaturvaliditet:" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "Dokumentendringar:" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "Tilleggsinformasjon" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "Signert av:" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "Signeringstidspunkt:" + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "Dokumentversjon" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Dokumentrevisjon %1 av %2" + +#: part/signaturepropertiesdialog.cpp:88 +#, fuzzy, kde-format +#| msgid "View Signed Version..." +msgid "View Signed Version…" +msgstr "Vis signert versjon …" + +#: part/signaturepropertiesdialog.cpp:95 +#, fuzzy, kde-format +#| msgid "View Certificate..." +msgid "View Certificate…" +msgstr "Vis sertifikat …" + +#: part/signaturepropertiesdialog.cpp:97 +#, kde-format +msgid "View in Certificate Manager" +msgstr "Vis i sertifikathandsamar" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "Fann ikkje sertifikathandsamaren (Kleopatra)" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "Vis berre bokmerkte sider" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "Spel av" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Pause" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "Stopp" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "Videoar er ikkje støtta i denne Okular-versjonen" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "Videoar er ikkje støtta i denne Okular-versjonen" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, fuzzy, kde-format +#| msgid "&Edit" +msgid "&Edit…" +msgstr "&Rediger" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "&Fjern" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "Flytt &opp" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "Flytt &ned" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "Standard teikneverktøy %1" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "Det finst alt eit verktøy med dette namnet. Brukar standardnamn." + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "Namneduplikat" + +# Kommandolinjeval, så skal ha avsluttande punktum. +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "Dokumentside som skal visast." + +# Kommandolinjeval, så skal ha avsluttande punktum. +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "Start dokumentet i presentasjonsmodus." + +# Kommandolinjeval, så skal ha avsluttande punktum. +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "Start med utskriftsvindauge." + +# Kommandolinjeval, så skal ha avsluttande punktum. +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "Start med utskriftsvindauge og avslutt etter utskrift." + +# Kommandolinjeval, så skal ha avsluttande punktum. +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "«Unik instans»-kontroll." + +# Kommandolinjeval, så skal ha avsluttande punktum. +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "Ikkje hev vindauget." + +# Kommandolinjeval, så skal ha avsluttande punktum. +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "Finn søkjeteksten i dokumentet." + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "Definer eksternt skriveprogram." + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "Dokument som skal opnast. Bruk «-» for å lesa frå standard-inn." + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" +"Du kan ikkje velja skriveprogram-kommando i ein køyrande Okular-instans. Slå " +"av faner og prøv på nytt. Merk òg at «--unique» ikkje er støtta når du vel " +"skriveprogram via kommandolinja.\n" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "Feil: Kan ikkje opna meir enn eitt dokument med «--unique»-valet" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "Feil: Kan ikkje opna meir enn eitt dokument med «--presentation»-valet" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "Feil: Kan ikkje opna meir enn eitt dokument med «--presentation»-valet" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "Feil: Kan ikkje opna meir enn eitt dokument med «--page»-valet" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "Feil: Kan ikkje opna meir enn eitt dokument med «--find»-valet" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "Fann ikkje Okular-komponenten: %1" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "Sidestolpe" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" +"Det køyrer alt ein unik Okular-instans. Denne instansen vil ikkje vera den " +"unike." + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "Fann ikkje Okular-komponenten." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"Trykk for å opna ei fil.\n" +"Trykk og hald for å opna ei nyleg brukt fil." + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"Trykk for å opna ei fil eller Trykk og hald for å opna ei " +"nyleg brukt fil." + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "Neste fane" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "Førre fane" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "Angra fanelukking" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "Lås sidestolpen" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "Alle filer (*)" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "Alle støtta filer (%1)" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "Opna dokument" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "Stadfest lukking" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "Lukk faner" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "Du er i ferd med å lukka %1 faner. Er du sikker på at du vil dette?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "Åtvar meg når eg prøver å lukka fleire faner" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "&Kopier filadressa" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "&Opna foreldermappa" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "&Gløym denne oppføringa" + +#: shell/welcomescreen.cpp:137 +#, kde-format +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "Ingen nyleg brukte dokument" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "Velkommen til Okular" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Opna dokument …" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, kde-format +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Nyleg brukte dokument" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "Gløym alle" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "Gøym velkomstbiletet" diff --git a/po/nn/okular_comicbook.po b/po/nn/okular_comicbook.po new file mode 100644 index 0000000..c754e90 --- /dev/null +++ b/po/nn/okular_comicbook.po @@ -0,0 +1,48 @@ +# Translation of okular_comicbook to Norwegian Nynorsk +# +# Eirik U. Birkeland , 2008. +# Karl Ove Hufthammer , 2018. +msgid "" +msgstr "" +"Project-Id-Version: KDE 4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2018-11-10 13:55+0100\n" +"Last-Translator: Karl Ove Hufthammer \n" +"Language-Team: Norwegian Nynorsk \n" +"Language: nn\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Eirik U. Birkeland" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "eirbir@gmail.com" + +#: document.cpp:97 +#, kde-format +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "Klarte ikkje opna dokmentet. Fann verken «unrar» eller «unarchiver»." + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "" +"«unrar»-versjonen på systemet ditt klarar ikkje opna teikneserieformat." + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "Ukjent teikneserieformat." diff --git a/po/nn/okular_djvu.po b/po/nn/okular_djvu.po new file mode 100644 index 0000000..3fcb70e --- /dev/null +++ b/po/nn/okular_djvu.po @@ -0,0 +1,99 @@ +# Translation of okular_djvu to Norwegian Nynorsk +# +# Karl Ove Hufthammer , 2007, 2008. +# Eirik U. Birkeland , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_djvu\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-01-10 15:36+0100\n" +"Last-Translator: Eirik U. Birkeland \n" +"Language-Team: Norwegian Nynorsk \n" +"Language: nn\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.3\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Karl Ove Hufthammer" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "karl@huftis.org" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "Redaktør" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "Utgjevar" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "Band" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "Dokumenttype" + +# unreviewed-context +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "Ukjend" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "Komponentfiler" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "Ukjend" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "Éi side" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "Samling" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "Indirekte" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "Samling (gammal)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "Indeksert (gammal)" diff --git a/po/nn/okular_dvi.po b/po/nn/okular_dvi.po new file mode 100644 index 0000000..a20ab38 --- /dev/null +++ b/po/nn/okular_dvi.po @@ -0,0 +1,549 @@ +# Translation of okular_dvi to Norwegian Nynorsk +# +# Eirik U. Birkeland , 2008, 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_dvi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-08-19 20:54+0200\n" +"Last-Translator: Karl Ove Hufthammer \n" +"Language-Team: Norwegian Nynorsk \n" +"Language: nn\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 24.11.70\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Karl Ove Hufthammer" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "karl@huftis.org" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

    Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

    Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

    " +msgstr "" +"

    Okular finn ikkje programmet dvipdfm på datamaskina di. " +"Dette programmet er viktig for at eksporteringsfunksjonen skal verka. Du kan " +"likevel konvertera DVI-fila til PDF ved å bruka utskriftsfunksjonen i " +"Okular, men det vil ofte laga dokument som er greie til utskrift men som er " +"av lågare kvalitet dersom dei vert lesne i Adobe Reader. Det kan vera lurt å " +"oppgradera til ein nyare versjon av TeX-distribusjonen din, og som har med " +"programmet dvipdfm.

    Hint til den forskrekka " +"systemadministratoren: Okular brukar miljøvariabelen PATH når det leitar " +"etter program.

    " + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Det eksterne programmet «dvipdfm» som vart brukt til å eksportera fila " +"rapporterte ein feil. Kanskje vil du sjå på " +"dokumentinformasjonsvindauget, som du finn i filmenyen, for " +"å få ein nøyaktig feilrapport." + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" +"Denne DVI-fila refererer til eksterne grafikkfiler som ikkje er i " +"PostScript-format og ikkje kan handterast av dvips-programmet som " +"Okular brukar internt til å skriva ut eller eksportera til PostScript. " +"Funksjonaliteten du treng om er derfor ikkje tilgjengeleg i denne versjonen " +"av Okular." + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

    Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

    Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

    " +msgstr "" +"

    Okular finn ikkje programmet dvips på datamaskina di. Dette " +"programmet er viktig for at eksporteringsfunksjonen skal verka.

    Hint " +"til den forskrekka systemadministratoren: Okular brukar miljøvariabelen PATH " +"når det leitar etter program.

    " + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Det eksterne programmet dvips som vart brukt til å eksportera fila " +"rapporterte om feil. Du finn feilmeldinga i " +"dokumentinformasjonsvindauget, som du finn i filmenyen." + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "DVI-fila har inga innleiing." + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" +"DVI-fila inneheld feil versjon av DVI-data for dette programmet. Tips: " +"Dersom du brukar Omega-systemet, må du bruka eit spesielt program, som oxdvi." + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "DVI-fila er svært øydelagd. Okular klarte ikkje finna avsluttinga." + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "Avsluttinga startar ikkje med POST-kommandoen." + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "Avsluttinga inneheld ein annan kommando enn FNTDEF." + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "Side %1 startar ikkje med BOP-kommandoen." + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

    The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

    What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

    PATH: %2

    " +msgstr "" +"

    Det eksterne programmet pdf2ps kunne ikkje startast. " +"Som eit resultat av dette, kunne ikkje PDF-fila %1 konverterast til " +"PostScript. Nokre grafiske element i dokumentet ditt vert derfor ikkje viste." +"

    Mogleg grunn: Programmet pdf2ps er kanskje " +"ikkje installert på systemet ditt, eller det vert ikkje funne i den " +"gjeldande søkjestien.

    Kva du kan gjera: Programmet " +"pdf2ps er vanlegvis med i distribusjonane av PostScript-" +"tolkesystemet ghostscript. Dersom ghostscript ikkje er installert på " +"systemet ditt, kan du installera det no. Dersom du er sikker på at " +"ghostscript er installert, prøv å bruka pdf2ps frå " +"kommandolinja for å sjå om det verkeleg verkar.

    PATH: %2

    " + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

    The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

    %2

    " +msgstr "" +"

    PDF-fila %1 kunne ikkje konverterast til PostScript. Nokre grafiske " +"element i dokumentet ditt vert derfor ikkje viste.

    Mogleg grunn: Fila %1 kan vera øydelagd, eller ikkje ei PDF-fil i det heile teke. Dette " +"er utdata frå pdf2ps, programmet okular brukte:

    %2

    " + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "Øydelagd fil. %1" + +# skip-rule: kunne +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "Kunne ikkje byggja inn alle PostScript-filene i dokumentet. %1" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "Alle eksterne PostScript-filer vart bygde inn i dokumentet." + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "Den oppgjevne fila «%1» finst ikkje." + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" +"Du har bedt Okular om å finna staden i DVI-fila som tilsvarar linje %1 i TeX-" +"fila %2. Men det ser ut til at DVI-fila ikkje inneheld dei nødvendige " +"opplysningane om kjeldefila." + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "Fann ikkje staden i DVI-fila som tilsvarar linje %1 i TeX-fila %2." + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "DVI-koden sette eit teikn i ei ukjend skrift." + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "DVI-koden refererte til skrifta #%1, som ikkje er definert." + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "Stabelen var ikkje tom ved EOP-kommandoen." + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "Stabelen var tom når ein POP-kommando vart oppdaga." + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "DVI-koden refererte til ei skrift som ikkje er definert." + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "Støytte på ein ugyldig kommando." + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "Støytte på den ukjende op-koden %1." + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "Byggjer inn %1" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
    " +msgstr "" +"Side %1: PDF-fila %2 kunne ikkje gjerast om til PostScript." +"
    " + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
    " +msgstr "Side %1: Fann ikkje PostScript-fila %2.
    " + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "Klarte ikkje tolka papirstorleiken «%1»." + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

    Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

    PATH: %1

    %2

    " +msgstr "" +"

    Fann ikkje alle skriftfilene som trengst for å visa denne DVI-fila. " +"Dokumentet kan vera uleseleg.

    Søkjesti (PATH): %1

    %2

    " + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

    There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
    Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

    PATH: %1

    %2

    " +msgstr "" +"

    Det oppstod problem med å køyra kpsewhich. Fann derfor ikkje " +"alle skriftfilene, og dokumentet kan vera uleseleg.
    Moglege årsaker: " +"Kanskje kpsewhich-programmet ikkje er installert, eller ikkje finst " +"i den gjeldande søkjestien.

    Søkjesti (PATH): %1

    %2

    " + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" +"Skriftgenereringa frå kpsewhich vart avbroten (avsluttingskode: " +"%1, feil: %2). Som eit resultat av dette fann ikkje programmet alle " +"skriftene, og det er ikkje sikkert at dokumentet er lesbart." + +#: fontpool.cpp:482 +#, fuzzy, kde-format +#| msgid "Currently generating %1 at %2 dpi..." +msgid "Currently generating %1 at %2 dpi…" +msgstr "Genererer no %1 med %2 p.p.t. …" + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "Generator/dato" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "Fann ikkje skriftfil" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "%1 × %2" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "%1 × %2 mm" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "%1 × %2 tommar" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "ståande" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "liggjande" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" +"Versjonen av Ghostview som er installert på denne maskina inneheld ingen av " +"dei Ghostview-einingsdrivarane som Okular kjenner. PostScript-støtta i " +"Okular vert derfor slått av." + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "I alt 25 feil. Fleire feilmeldingar vert ikkje skrivne ut." + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" +"Feil i DVI-fila «%1», side %2. Prøver å henta ut farge sjølv om " +"fargestabelen er tom." + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" +"Misforma parameter i epsf-spesialkommandoen.\n" +"Forventa at eit flyttal skulle komma etter %1 i %2." + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"Fann ikkje fil:\n" +" %1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" +"Feil i DVI-fila «%1», side %2. Klarte ikkje tolka vinkelen i tekstrotasjonen." + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "Spesialkommandoen «%1» er ikkje implementert." + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" +"Skriftfila %1 kunne opnast og lesast, men skriftformatet er ikkje støtta." + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "Skriftfila %1 er øydelagd eller kunne ikkje opnast og lesast." + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" +"FreeType rapporterte om feil ved oppsett av teiknstorleiken for " +"skriftfila %1." + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "FreeType klarar ikkje lasta inn teikn #%1 frå skriftfila %2." + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "FreeType klarar ikkje visa teikn #%1 frå skriftfila %2." + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "Teiknet #%1 er tomt." + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "Teiknet #%1 frå skriftfila %2 er tomt." + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "FreeType klarar ikkje lasta inn mål for teikn #%1 frå skriftfila %2." + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "Klarte ikkje opna skriftfila %1" + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "TexFont_PK::operator[]: Teiknet %1 er ikkje definert i skrifta %2" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "Uventa %1 i PK-fila %2" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "Teiknet %1 er for stort i fila %2" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "Feil tal på bit lagra: teikn %1, skrift %2" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "Øydelagd pk-fil (%1) – for mange bit" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "Skrifttypen har eit ikkje-kvadratisk høve " + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "Finn ikkje skrifta %1, fil %2." + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "Feil i sjekksum for skriftfila %1" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "Kjenner ikkje att formatet for skriftfila %1" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"Kritisk feil.\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" +"\n" +"\n" +"Dette kjem truleg av at du har funne ein feil i\n" +"Okular, eller at DVI-fila eller tilleggsfiler (som\n" +"skriftfiler eller virtuelle skriftfiler) er øydelagde.\n" +"Okular avsluttar etter denne meldinga. Dersom du \n" +"trur du har funne ein programfeil, eller meiner at \n" +"Okular burde takla denne situasjonen betre, \n" +"bør du melda frå om problemet." + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "Feil kommandobyte funnen i VF-makroliste: %1" diff --git a/po/nn/okular_epub.po b/po/nn/okular_epub.po new file mode 100644 index 0000000..5b9ec7c --- /dev/null +++ b/po/nn/okular_epub.po @@ -0,0 +1,46 @@ +# Translation of okular_epub to Norwegian Nynorsk +# +# Eirik U. Birkeland , 2008. +# Karl Ove Hufthammer , 2016. +msgid "" +msgstr "" +"Project-Id-Version: KDE 4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2016-01-16 11:01+0100\n" +"Last-Translator: Karl Ove Hufthammer \n" +"Language-Team: Norwegian Nynorsk \n" +"Language: nn\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Eirik U. Birkeland,Karl Ove Hufthammer" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "eirbir@gmail.com,karl@huftis.org" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "Feil ved opning av EPub-dokumentet." + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "EPub" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "Oppsett av EPub-motoren" diff --git a/po/nn/okular_fax.po b/po/nn/okular_fax.po new file mode 100644 index 0000000..d32eaf6 --- /dev/null +++ b/po/nn/okular_fax.po @@ -0,0 +1,36 @@ +# Translation of okular_fax to Norwegian Nynorsk +# +# Karl Ove Hufthammer , 2008. +# Eirik U. Birkeland , 2008. +msgid "" +msgstr "" +"Project-Id-Version: KDE 4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-12-01 17:49-0500\n" +"Last-Translator: Eirik U. Birkeland \n" +"Language-Team: Norwegian Nynorsk \n" +"Language: nn\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 0.3\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Karl Ove Hufthammer" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "karl@huftis.org" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "Klarte ikkje opna dokument" diff --git a/po/nn/okular_fictionbook.po b/po/nn/okular_fictionbook.po new file mode 100644 index 0000000..7668f83 --- /dev/null +++ b/po/nn/okular_fictionbook.po @@ -0,0 +1,71 @@ +# Translation of okular_fictionbook to Norwegian Nynorsk +# +# Karl Ove Hufthammer , 2007, 2008, 2016. +# Eirik U. Birkeland , 2008. +msgid "" +msgstr "" +"Project-Id-Version: okular_fictionbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2016-01-16 11:08+0100\n" +"Last-Translator: Karl Ove Hufthammer \n" +"Language-Team: Norwegian Nynorsk \n" +"Language: nn\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 2.0\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Karl Ove Hufthammer" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "karl@huftis.org" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "Dokumentet er ikkje eit gyldig FictionBook-dokument" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "Klarte ikkje opna dokumentet: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "Dokumentet er ikkje eit gyldig ZIP-arkiv" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "Ugyldig dokumentstruktur (hovudmappa manglar)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "Fann ingen innhald i dokumentet" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "Ugyldig XML-dokument: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "FictionBook" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "Oppsett av FictionBook-motoren" diff --git a/po/nn/okular_ghostview.po b/po/nn/okular_ghostview.po new file mode 100644 index 0000000..0f86887 --- /dev/null +++ b/po/nn/okular_ghostview.po @@ -0,0 +1,80 @@ +# Translation of okular_ghostview to Norwegian Nynorsk +# +# Karl Ove Hufthammer , 2007, 2008. +# Eirik U. Birkeland , 2008, 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_ghostview\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-06-17 00:15+0200\n" +"Last-Translator: Eirik U. Birkeland \n" +"Language-Team: Norwegian Nynorsk \n" +"Language: nn\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.3\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Karl Ove Hufthammer" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "karl@huftis.org" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "Bruk skrifter frå plattforma" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"Vel om Ghostscript skal kunna bruka skrifter frå plattforma. Viss dette " +"ikkje er kryssa av, vil det berre vera tillate å bruka skrifter som er " +"innebygde i dokumentet." + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "Generelle innstillingar" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "Bruk skrifter frå &plattforma" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Oppsett av Ghostscript-motor" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "Dokumentversjon" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "PostScript-nivå" diff --git a/po/nn/okular_kimgio.po b/po/nn/okular_kimgio.po new file mode 100644 index 0000000..088f513 --- /dev/null +++ b/po/nn/okular_kimgio.po @@ -0,0 +1,44 @@ +# Translation of okular_kimgio to Norwegian Nynorsk +# +# Karl Ove Hufthammer , 2007, 2008, 2016, 2018. +msgid "" +msgstr "" +"Project-Id-Version: okular_kimgio\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2018-01-21 15:33+0100\n" +"Last-Translator: Karl Ove Hufthammer \n" +"Language-Team: Norwegian Nynorsk \n" +"Language: nn\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 2.0\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Karl Ove Hufthammer" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "karl@huftis.org" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "Klarte ikkje lasta dokumentet: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" +"Dokumentet ser øydelagt ut. Her er ei forsøksvis tilnærming til korleis det " +"er meint å sjå ut." diff --git a/po/nn/okular_markdown.po b/po/nn/okular_markdown.po new file mode 100644 index 0000000..f8b3d81 --- /dev/null +++ b/po/nn/okular_markdown.po @@ -0,0 +1,55 @@ +# Translation of okular_markdown to Norwegian Nynorsk +# +# Karl Ove Hufthammer , 2017, 2018, 2019. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-04-06 14:47+0200\n" +"Last-Translator: Karl Ove Hufthammer \n" +"Language-Team: Norwegian Nynorsk \n" +"Language: nn\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 18.12.3\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Karl Ove Hufthammer" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "karl@huftis.org" + +#: converter.cpp:59 converter.cpp:93 +#, kde-format +msgid "Failed to open the document" +msgstr "Klarte ikkje opna dokumentet" + +#: converter.cpp:106 converter.cpp:124 +#, kde-format +msgid "Failed to compile the Markdown document." +msgstr "Klarte ikkje kompilera Markdown-dokument." + +#: generator_md.cpp:58 +#, kde-format +msgid "Enable SmartyPants formatting" +msgstr "Slå på SmartyPants-formatering" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown" +msgstr "Markdown" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown Backend Configuration" +msgstr "Oppsett for Markdown-motoren" diff --git a/po/nn/okular_mobi.po b/po/nn/okular_mobi.po new file mode 100644 index 0000000..88a5560 --- /dev/null +++ b/po/nn/okular_mobi.po @@ -0,0 +1,54 @@ +# Translation of okular_mobi to Norwegian Nynorsk +# +# Eirik U. Birkeland , 2009. +# Karl Ove Hufthammer , 2016. +msgid "" +msgstr "" +"Project-Id-Version: KDE 4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2016-01-16 11:11+0100\n" +"Last-Translator: Karl Ove Hufthammer \n" +"Language-Team: Norwegian Nynorsk \n" +"Language: nn\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Eirik U. Birkeland,Karl Ove Hufthammer" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "eirbir@gmail.com,karl@huftis.org" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Feil ved opning av Mobipocket-dokumentet." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "" +"Denne boka er verna gjennom DRM, og kan berre visast på den tiltenkte " +"einingstypen" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "Mobipocket" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "Oppsett av Mobipocket-motoren" diff --git a/po/nn/okular_poppler.po b/po/nn/okular_poppler.po new file mode 100644 index 0000000..ccf2d74 --- /dev/null +++ b/po/nn/okular_poppler.po @@ -0,0 +1,389 @@ +# Translation of okular_poppler to Norwegian Nynorsk +# +# Karl Ove Hufthammer , 2007, 2008, 2016, 2019, 2020, 2023. +# Eirik U. Birkeland , 2008. +msgid "" +msgstr "" +"Project-Id-Version: okular_poppler\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2023-08-01 21:23+0200\n" +"Last-Translator: Karl Ove Hufthammer \n" +"Language-Team: Norwegian Nynorsk \n" +"Language: nn\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 23.04.3\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Karl Ove Hufthammer" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "karl@huftis.org" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, fuzzy, kde-format +msgid "Enable overprint preview:" +msgstr "Slå på førehandsvising av overtrykk" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "Forbetra tynne linjer:" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "Nei" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "Heiltrekt" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "Form" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "Standard skaleringsmodus ved utskrift:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "Tilpass til utskrivbart område" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "Tilpass til sidestorleik" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "Ingen – skriv ut i opphavleg storleik" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" +"Viss du kryssar av her, kan Okular kontakta eksterne tredjeparts-OCSP-" +"tenarar for å kontrollera om sertifikata som er brukte til digital " +"signering, er tilbakekalla." + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" +"Kontroller om digitale signaturar er tilbakekalla via tredjepartstenarar" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "Signatur-motor:" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "Sertifikatdatabase" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "Standard:" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "Sjølvvald:" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "Tilgjengelege sertifikat" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "&Last inn signaturar" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "PDF-val" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "Skriv ut påteikningar" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "Ta med påteikningar i det utskrivne dokumentet" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"Ta med påteikningar i det utskrivne dokumentet. Du kan slå av dette dersom " +"du ønskjer å skriva ut originaldokumentet." + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "Tving fram rasterisering" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "Rasteriser til eit bilete før utskrift" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"Rasteriserer alle sidene til bilete før dei vert skrivne ut. Dette gjev " +"vanlegvis dårlegare utskriftskvalitet, men kan brukast på dokument som elles " +"vert skrivne ut feil." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "Skaleringsmetode for utskrift" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "Skalering:" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF v. %1.%2" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "Format" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "Kryptert" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "Ukryptert" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "Tryggleik" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "Ja" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "Optimert" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Signert av: %1\n" +"\n" +"Dato: %2" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "Brukar Poppler %1" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" +"Brukar Poppler %1\n" +"\n" +"Bygd mot Poppler %2" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "Oppsett av PDF-motoren" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" +"Fann nokre feil i dokumentet. Det kan vera Okular ikkje klarar å visa " +"innhaldet skikkeleg." + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" + +#: pdfsettingswidget.cpp:120 +#, fuzzy, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "&Last inn signaturar" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "Utferda til" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "E-postadresse" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "Utløpsdato" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" +"Du brukar eit Poppler-bibliotek som er kompilert utan NSS-støtte.\n" +"Du kan derfor ikkje leggja til digitale signaturar." + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "Krev omstart" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "" +"Du må starta Okular på nytt etter endring av innstillingar for NSS-katalogen" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter Password" +msgstr "Skriv inn passord" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "Skriv inn passord for å opna %1:" diff --git a/po/nn/okular_tiff.po b/po/nn/okular_tiff.po new file mode 100644 index 0000000..6ee85ce --- /dev/null +++ b/po/nn/okular_tiff.po @@ -0,0 +1,30 @@ +# Translation of okular_tiff to Norwegian Nynorsk +# +# Karl Ove Hufthammer , 2020. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-11-23 19:45+0100\n" +"Last-Translator: Karl Ove Hufthammer \n" +"Language-Team: Norwegian Nynorsk \n" +"Language: nn\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 20.08.3\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Karl Ove Hufthammer" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "karl@huftis.org" diff --git a/po/nn/okular_txt.po b/po/nn/okular_txt.po new file mode 100644 index 0000000..2ec2860 --- /dev/null +++ b/po/nn/okular_txt.po @@ -0,0 +1,40 @@ +# Translation of okular_txt to Norwegian Nynorsk +# +# Karl Ove Hufthammer , 2016. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2016-01-16 11:01+0100\n" +"Last-Translator: Karl Ove Hufthammer \n" +"Language-Team: Norwegian Nynorsk \n" +"Language: nn\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Karl Ove Hufthammer" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "karl@huftis.org" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "Txt" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "Oppsett for Txt-motoren" diff --git a/po/nn/okular_xps.po b/po/nn/okular_xps.po new file mode 100644 index 0000000..8053cbd --- /dev/null +++ b/po/nn/okular_xps.po @@ -0,0 +1,36 @@ +# Translation of okular_xps to Norwegian Nynorsk +# +# Karl Ove Hufthammer , 2007, 2008. +# Eirik U. Birkeland , 2008, 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_xps\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-01-10 15:35+0100\n" +"Last-Translator: Eirik U. Birkeland \n" +"Language-Team: Norwegian Nynorsk \n" +"Language: nn\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.3\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Karl Ove Hufthammer" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "karl@huftis.org" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "Gjennomgang" diff --git a/po/nn/org.kde.active.documentviewer.po b/po/nn/org.kde.active.documentviewer.po new file mode 100644 index 0000000..399631c --- /dev/null +++ b/po/nn/org.kde.active.documentviewer.po @@ -0,0 +1,212 @@ +# Translation of org.kde.active.documentviewer to Norwegian Nynorsk +# +# Karl Ove Hufthammer , 2016, 2018, 2019, 2020, 2022, 2023. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2023-08-03 19:41+0200\n" +"Last-Translator: Karl Ove Hufthammer \n" +"Language-Team: Norwegian Nynorsk \n" +"Language: nn\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 23.04.3\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "Bokmerke" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "Sertifikatvisar" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "Utferda av" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "Namn:" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "E-postadresse:" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "Organisasjon:" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "Utferda til" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "Gyldigheit" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "Utferda:" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "Utgår:" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "Fingeravtrykk" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "SHA-1-fingeravtrykk:" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "SHA-256-fingeravtrykk:" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +#, fuzzy +msgid "Export…" +msgstr "Eksporter …" + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "Lukk" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "Sertifikatfil (*.cer)" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "Feil" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "Klarte ikkje eksportera sertifikatet." + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "Okular" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "" + +#: ui/Main.qml:49 +msgid "About" +msgstr "Om" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "Krev passord" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "Fjern bokmerke" + +#: ui/MainView.qml:29 +msgid "Bookmark this page" +msgstr "Bokmerk denne sida" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "Miniatyrbilete" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "Innhaldsliste" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "Signaturar" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "Sertifikateigenskapar" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "Gyldigheit" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "Signaturgyldigheit:" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "Dokumentendringar:" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "Meir informasjon" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "Signert av:" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "Signeringstidspunkt:" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "Grunn:" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "Plassering:" + +#: ui/SignaturePropertiesPage.qml:96 +msgid "Document Version" +msgstr "Dokumentversjon" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Dokumentrevisjon %1 av %2" + +#: ui/SignaturePropertiesPage.qml:108 +#, fuzzy +msgid "Save Signed Version…" +msgstr "Lagra signert versjon …" + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +#, fuzzy +msgid "View Certificate…" +msgstr "Vis sertifikat …" + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "Klarte ikkje lagra signaturen." + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "Ikkje tilgjengeleg" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "Fann ingen resultat." + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "Ingen opne dokument" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "" + +#: ui/WelcomeView.qml:108 +#, fuzzy +#| msgid "Document Version" +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "Dokumentversjon" diff --git a/po/oc/okular.po b/po/oc/okular.po new file mode 100644 index 0000000..a435536 --- /dev/null +++ b/po/oc/okular.po @@ -0,0 +1,6194 @@ +# translation of okular.po to Occitan +# Copyright (C) 2008 This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Yannig Marchegay (Kokoyaya) , 2007, 2008. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-01-12 15:03+0100\n" +"Last-Translator: Yannig Marchegay (Kokoyaya) \n" +"Language-Team: Occitan \n" +"Language: oc\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Yannig Marchegay (Kokoyaya)" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "yannig@marchegay.org" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "" + +#: core/action.cpp:197 +#, kde-format +msgid "Execute '%1'…" +msgstr "" + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "Primièra pagina" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "Pagina precedenta" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "Pagina seguenta" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "Precedent" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "Trasmetre" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Quitar" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go To Page…" +msgstr "Anar a la pagina" + +#: core/action.cpp:365 +#, kde-format +msgid "Play sound…" +msgstr "" + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "" + +#: core/action.cpp:483 +#, fuzzy, kde-format +#| msgid "Pages" +msgid "Play movie…" +msgstr "Paginas" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "" + +#: core/action.cpp:558 +#, fuzzy, kde-format +#| msgid "Pages" +msgid "Pause movie" +msgstr "Paginas" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
    %1 (%2).

    Please select which one to use:
    " +msgstr "" + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "" + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "" + +#: core/document.cpp:246 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "" + +#: core/document.cpp:248 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "" + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "Presentacion" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "" + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "" + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Títol" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Subjècte" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Descripcion" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "Autor" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Creator" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "Copyright" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "Paginas" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Creat" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Modificat" + +#: core/document.cpp:6032 +#, fuzzy, kde-format +#| msgid "Mime Type" +msgid "MIME Type" +msgstr "Tipe MIME" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "Categoria" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Mots clau" + +#: core/document.cpp:6041 +#, fuzzy, kde-format +#| msgid "File" +msgid "File Path" +msgstr "Fichièr" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "" + +#: core/document.cpp:6047 +#, fuzzy, kde-format +#| msgid "Page %1" +msgid "Page Size" +msgstr "Pagina %1" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "" + +#: core/documentcommands.cpp:108 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "Presentacion" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "" + +#: core/documentcommands.cpp:190 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "Presentacion" + +#: core/documentcommands.cpp:263 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "Presentacion" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "" + +#: core/generator.cpp:790 +#, kde-format +msgid "Plain &Text…" +msgstr "" + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, fuzzy, kde-format +#| msgid "Open Document" +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "Dobrir un document" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "" + +#: core/printoptionswidget.cpp:19 +#, fuzzy, kde-format +#| msgid "Options" +msgid "Print Options" +msgstr "Opcions" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "" + +#: core/signatureutils.cpp:504 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" + +#: core/signatureutils.cpp:506 +#, kde-format +msgid "Unknown signing error" +msgstr "" + +#: core/sourcereference.cpp:103 +#, fuzzy, kde-format +#| msgid "&Size:" +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "&Talha" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "" + +#: gui/certificatemodel.cpp:39 +#, fuzzy, kde-format +#| msgid "Open Document" +msgid "Version" +msgstr "Dobrir un document" + +#: gui/certificatemodel.cpp:41 +#, fuzzy, kde-format +#| msgid "Page %1" +msgid "Serial Number" +msgstr "Pagina %1" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "" + +#: gui/certificatemodel.cpp:49 +#, fuzzy, kde-format +#| msgid "Subject" +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Subjècte" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "" + +#: gui/certificatemodel.cpp:72 +#, fuzzy, kde-format +#| msgid "%1:" +msgid "V%1" +msgstr "%1 :" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, fuzzy, kde-format +#| msgid "Overwrite" +msgid "Typewriter" +msgstr "Remplaçar" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +#| msgid "Underline" +msgid "Arrow with Comment" +msgstr "Soslinhat" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "" + +#: gui/guiutils.cpp:59 +#, fuzzy, kde-format +#| msgid "Underline" +msgid "Straight Line with Comment" +msgstr "Soslinhat" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "" + +#: gui/guiutils.cpp:63 +#, fuzzy, kde-format +#| msgid "Underline" +msgid "Polygon with Comment" +msgstr "Soslinhat" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgid "Underline" +msgid "Rectangle with Comment" +msgstr "Soslinhat" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "Rectangle" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgid "Underline" +msgid "Ellipse with Comment" +msgstr "Soslinhat" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "" + +#: gui/guiutils.cpp:83 +#, fuzzy, kde-format +#| msgid "Underline" +msgid "Highlight with Comment" +msgstr "Soslinhat" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "" + +#: gui/guiutils.cpp:87 +#, fuzzy, kde-format +#| msgid "Underline" +msgid "Squiggle with Comment" +msgstr "Soslinhat" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "" + +#: gui/guiutils.cpp:91 +#, fuzzy, kde-format +#| msgid "Underline" +msgid "Underline with Comment" +msgstr "Soslinhat" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "Soslinhat" + +#: gui/guiutils.cpp:95 +#, fuzzy, kde-format +#| msgid "Underline" +msgid "Strike Out with Comment" +msgstr "Soslinhat" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "" + +#: gui/guiutils.cpp:102 +#, fuzzy, kde-format +#| msgid "Underline" +msgid "Stamp with Comment" +msgstr "Soslinhat" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "" + +#: gui/guiutils.cpp:106 +#, fuzzy, kde-format +#| msgid "Underline" +msgid "Freehand Line with Comment" +msgstr "Soslinhat" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "" + +#: gui/guiutils.cpp:110 +#, fuzzy, kde-format +#| msgid "Creator" +msgid "Caret" +msgstr "Creator" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "" + +#: gui/guiutils.cpp:122 +#, fuzzy, kde-format +#| msgid "Modified" +msgid "Movie" +msgstr "Modificat" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "" + +#: gui/guiutils.cpp:144 +#, kde-format +msgid "Annotation" +msgstr "" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "Desconegut" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "" + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "" + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "" + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "" + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "" + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "" + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "" + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "" + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "" + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "" + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "" + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "" + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "" + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "" + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "" + +#: gui/signatureguiutils.cpp:96 +#, fuzzy, kde-format +#| msgctxt "Unknown author" +#| msgid "Unknown" +msgid "Unknown Algorithm" +msgstr "Desconegut" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, fuzzy, kde-format +#| msgctxt "Unknown date" +#| msgid "Unknown" +msgid "Unknown Type" +msgstr "Desconegut" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr "" + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "" + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "" + +#: gui/signatureguiutils.cpp:208 +#, kde-format +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "" + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "" + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "" + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" + +#: gui/signaturemodel.cpp:141 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "" + +#: gui/signaturemodel.cpp:177 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Location: %1" +msgstr "Presentacion" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "" + +#: gui/signaturemodel.cpp:193 +#, fuzzy, kde-format +#| msgctxt "Unknown author" +#| msgid "Unknown" +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "Desconegut" + +#: gui/signaturemodel.cpp:195 +#, kde-format +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "" + +#: gui/signaturemodel.cpp:201 +#, kde-format +msgid "Signature Type: %1" +msgstr "" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "" + +#: part/annotationactionhandler.cpp:151 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "" + +#: part/annotationactionhandler.cpp:252 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1 :" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:308 +#, fuzzy, kde-format +#| msgid "Options" +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Opcions" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "" + +#: part/annotationactionhandler.cpp:314 +#, fuzzy, kde-format +#| msgid "Options" +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Opcions" + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "" + +#: part/annotationactionhandler.cpp:318 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Presentacion" + +#: part/annotationactionhandler.cpp:322 +#, fuzzy, kde-format +#| msgid "Options" +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Opcions" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "" + +#: part/annotationactionhandler.cpp:328 +#, fuzzy, kde-format +#| msgid "Options" +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "Opcions" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" + +#: part/annotationactionhandler.cpp:341 +#, fuzzy, kde-format +#| msgid "Options" +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Opcions" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "" + +#: part/annotationactionhandler.cpp:499 +#, fuzzy, kde-format +#| msgctxt "Select Tool" +#| msgid "Selection" +msgctxt "@title:window" +msgid "Select color" +msgstr "Seleccion" + +#: part/annotationactionhandler.cpp:552 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "&Annotations" +msgstr "Presentacion" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "" + +#: part/annotationactionhandler.cpp:554 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Presentacion" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "" + +#: part/annotationactionhandler.cpp:558 +#, fuzzy, kde-format +#| msgid "Underline" +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "Soslinhat" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "" + +#: part/annotationactionhandler.cpp:562 +#, fuzzy, kde-format +#| msgid "Overwrite" +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Remplaçar" + +#: part/annotationactionhandler.cpp:563 +#, fuzzy, kde-format +#| msgid "Underline" +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "Soslinhat" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "" + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "" + +#: part/annotationactionhandler.cpp:569 +#, fuzzy, kde-format +#| msgid "Rectangle" +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "Rectangle" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "" + +#: part/annotationactionhandler.cpp:638 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Presentacion" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "" + +#: part/annotationactionhandler.cpp:651 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Quick Annotation Bar" +msgstr "Presentacion" + +#: part/annotationactionhandler.cpp:665 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "Presentacion" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "" + +#: part/annotationactionhandler.cpp:669 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "Presentacion" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "" + +#: part/annotationactionhandler.cpp:680 +#, fuzzy, kde-format +#| msgid "Font:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "Poliça :" + +#: part/annotationactionhandler.cpp:681 +#, fuzzy, kde-format +#| msgid "Options" +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Opcions" + +#: part/annotationactionhandler.cpp:684 +#, fuzzy, kde-format +#| msgid "Line" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "Linha" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "" + +#: part/annotationactionhandler.cpp:696 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1 :" + +#: part/annotationmodel.cpp:320 +#, fuzzy, kde-format +#| msgid "Page %1" +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "Pagina %1" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "Pagina %1" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "Presentacion" +msgstr[1] "Presentacion" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Suprimir lo favorit" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Apondre un favorit" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, kde-format +msgid "Copy Text to Clipboard" +msgstr "" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "&Suprimir" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, fuzzy, kde-format +#| msgid "Save As..." +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "Enregistrar coma..." + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "&General" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:69 +#, fuzzy, kde-format +#| msgid "Created" +msgid "Created:" +msgstr "Creat" + +#: part/annotationpropertiesdialog.cpp:74 +#, fuzzy, kde-format +#| msgid "Modified" +msgid "Modified:" +msgstr "Modificat" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%1 :" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "" + +#: part/annotationwidgets.cpp:363 +#, fuzzy, kde-format +#| msgid "Icon" +msgid "Icon:" +msgstr "Icòna" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "Comentari" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "Ajuda" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "Inserir" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "Clau" + +#: part/annotationwidgets.cpp:368 +#, fuzzy, kde-format +#| msgid "Paragraph" +msgid "New paragraph" +msgstr "Paragraf" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "Nòta" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "Paragraf" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Poliça :" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "" + +#: part/annotationwidgets.cpp:395 +#, fuzzy, kde-format +#| msgctxt "Rotate left" +#| msgid "Left" +msgid "Left" +msgstr "Esquèrra" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "" + +#: part/annotationwidgets.cpp:397 +#, fuzzy, kde-format +#| msgctxt "Rotate right" +#| msgid "Right" +msgid "Right" +msgstr "Drecha" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "Confidencial" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "Borrolhon" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "Favorit" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "Entresenhas" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "" + +#: part/annotationwidgets.cpp:504 +#, fuzzy, kde-format +#| msgid "Line" +msgid "Line start:" +msgstr "Linha" + +#: part/annotationwidgets.cpp:506 +#, fuzzy, kde-format +#| msgid "Line" +msgid "Line end:" +msgstr "Linha" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:514 +#, fuzzy, kde-format +#| msgid "Note" +msgid "None" +msgstr "Nòta" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "" + +#: part/annotationwidgets.cpp:531 +#, fuzzy, kde-format +#| msgid "Underline" +msgid "Leader line length:" +msgstr "Soslinhat" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Tipe :" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "" + +#: part/annotationwidgets.cpp:760 +#, fuzzy, kde-format +#| msgid "File" +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "Fichièr" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "N/A" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "" + +#: part/annotationwidgets.cpp:773 +#, fuzzy, kde-format +#| msgid "Name" +msgid "Name:" +msgstr "Nom" + +#: part/annotationwidgets.cpp:784 +#, fuzzy, kde-format +#| msgid "Description" +msgid "Description:" +msgstr "Descripcion" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "" + +#: part/annotationwidgets.cpp:845 +#, fuzzy, kde-format +#| msgid "Note" +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "Nòta" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "Opcions" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "" + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "" + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "" + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "" + +#: part/bookmarklist.cpp:116 +#, fuzzy, kde-format +#| msgid "Rename Bookmark" +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "Renomar lo favorit" +msgstr[1] "Renomar lo favorit" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Favorits" + +#: part/bookmarklist.cpp:136 +#, fuzzy, kde-format +#| msgid "Open Document" +msgid "Show for all documents" +msgstr "Dobrir un document" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, kde-format +msgid "Search…" +msgstr "" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, kde-format +msgid "Expand All" +msgstr "" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, kde-format +msgid "Collapse All" +msgstr "" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "Renomar lo favorit" + +#: part/bookmarklist.cpp:299 +#, fuzzy, kde-format +#| msgid "Open Document" +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Dobrir un document" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "" + +#: part/certificateviewer.cpp:50 +#, kde-format +msgid "Export…" +msgstr "" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "General" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "" + +#: part/colormodemenu.cpp:21 +#, fuzzy, kde-format +#| msgctxt "Select Tool" +#| msgid "Selection" +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "Seleccion" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "" + +#: part/colormodemenu.cpp:41 +#, fuzzy, kde-format +#| msgctxt "Select Tool" +#| msgid "Selection" +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "Seleccion" + +#: part/colormodemenu.cpp:42 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "Color de fons :" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, fuzzy, kde-format +#| msgid "Insert" +msgid "Insert Text" +msgstr "Inserir" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "" + +#: part/dlgaccessibility.cpp:60 +#, fuzzy, kde-format +#| msgctxt "Select Tool" +#| msgid "Selection" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "Seleccion" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "" + +#: part/dlgaccessibility.cpp:87 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Color de fons :" + +#: part/dlgaccessibility.cpp:99 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Color de fons :" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "" + +#: part/dlgaccessibility.cpp:127 +#, fuzzy, kde-format +#| msgid "Contrast:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Contrast :" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "" + +#: part/dlgannotations.cpp:25 +#, fuzzy, kde-format +#| msgid "Main Toolbar" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Barra d'espleches principala" + +#: part/dlgannotations.cpp:26 +#, fuzzy, kde-format +#| msgid "Main Toolbar" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Barra d'espleches principala" + +#: part/dlgannotations.cpp:28 +#, fuzzy, kde-format +#| msgid "Main Toolbar" +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Barra d'espleches principala" + +#: part/dlgannotations.cpp:34 +#, fuzzy, kde-format +#| msgid "Author" +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "Autor" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" + +#: part/dlgannotations.cpp:48 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

    Quick Annotation Tools

    " +msgstr "Presentacion" + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "" + +#: part/dlgeditor.cpp:31 +#, fuzzy, kde-format +#| msgid "File" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Fichièr" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "" + +#: part/dlgeditor.cpp:37 +#, fuzzy, kde-format +#| msgid "&Edit" +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "&Edicion" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
    \n" +"You can also put few placeholders:\n" +"
      \n" +"
    • %f - the file name
    • \n" +"
    • %l - the line of the file to be reached
    • \n" +"
    • %c - the column of the file to be reached
    • \n" +"
    \n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" + +#: part/dlgeditor.cpp:63 +#, fuzzy, kde-format +#| msgid "Comment" +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "Comentari" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "" + +#: part/dlggeneral.cpp:37 +#, fuzzy, kde-format +#| msgid "Appearance" +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "Aparéncia" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "" + +#: part/dlggeneral.cpp:92 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "Color de fons :" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "" + +#: part/dlggeneral.cpp:148 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, fuzzy, kde-format +#| msgid "Overwrite" +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "Remplaçar" + +#: part/dlggeneral.cpp:220 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%1 :" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "" + +#: part/dlggeneral.cpp:228 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%1 :" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "" + +#: part/dlggeneral.cpp:233 +#, fuzzy, kde-format +#| msgid "Line" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "Linha" + +#: part/dlggeneral.cpp:234 +#, fuzzy, kde-format +#| msgid "First Page" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "Primièra pagina" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "" + +#: part/dlgperformance.cpp:28 +#, kde-format +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "" + +#: part/dlgperformance.cpp:38 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "" + +#: part/dlgperformance.cpp:56 +#, fuzzy, kde-format +#| msgid "Underline" +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "Soslinhat" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" + +#: part/dlgpresentation.cpp:38 +#, kde-format +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] "" +msgstr[1] "" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "" + +#: part/dlgpresentation.cpp:63 +#, fuzzy, kde-format +#| msgid "Navigation" +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Navegacion" + +#: part/dlgpresentation.cpp:72 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "Color de fons :" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "" + +#: part/dlgpresentation.cpp:101 +#, fuzzy, kde-format +#| msgid "Replace" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "Remplaçar" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "" + +#: part/dlgpresentation.cpp:117 +#, fuzzy, kde-format +#| msgid "Copyright" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "Copyright" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "" + +#: part/dlgpresentation.cpp:121 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "" + +#: part/dlgpresentation.cpp:137 +#, fuzzy, kde-format +#| msgid "Drawing" +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

    Drawing Tools

    " +msgstr "Dessenh" + +#: part/dlgpresentation.cpp:171 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "" + +#: part/dlgpresentation.cpp:172 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "" + +#: part/dlgpresentation.cpp:178 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "" + +#: part/drawingtoolactions.cpp:192 +#, fuzzy, kde-format +#| msgid "Drawing" +msgid "Drawing Tool: %1" +msgstr "Dessenh" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, fuzzy, kde-format +#| msgid "Name" +msgid "&Name:" +msgstr "Nom" + +#: part/editannottooldialog.cpp:69 +#, fuzzy, kde-format +#| msgid "Type:" +msgid "&Type:" +msgstr "Tipe :" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "Aparéncia" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "" + +#: part/editannottooldialog.cpp:101 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Create annotation tool" +msgstr "Presentacion" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "" + +#: part/editdrawingtooldialog.cpp:79 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Create drawing tool" +msgstr "Presentacion" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "Desconegut" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "" + +#: part/embeddedfilesdialog.cpp:62 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:button" +msgid "View" +msgstr "&Visualizacion" + +#: part/embeddedfilesdialog.cpp:70 +#, fuzzy, kde-format +#| msgid "Name" +msgctxt "@title:column" +msgid "Name" +msgstr "Nom" + +#: part/embeddedfilesdialog.cpp:71 +#, fuzzy, kde-format +#| msgid "Description" +msgctxt "@title:column" +msgid "Description" +msgstr "Descripcion" + +#: part/embeddedfilesdialog.cpp:72 +#, fuzzy, kde-format +#| msgid "Size" +msgctxt "@title:column" +msgid "Size" +msgstr "Talha" + +#: part/embeddedfilesdialog.cpp:73 +#, fuzzy, kde-format +#| msgid "Created" +msgctxt "@title:column" +msgid "Created" +msgstr "Creat" + +#: part/embeddedfilesdialog.cpp:74 +#, fuzzy, kde-format +#| msgid "Modified" +msgctxt "@title:column" +msgid "Modified" +msgstr "Modificat" + +#: part/embeddedfilesdialog.cpp:154 +#, fuzzy, kde-format +#| msgid "Save As..." +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "Enregistrar coma..." + +#: part/embeddedfilesdialog.cpp:155 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "&Visualizacion" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "Previsualizacion de l'estampatge" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "Tampar" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Seguent" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "" + +#: part/findbar.cpp:58 +#, fuzzy, kde-format +#| msgctxt "Previous page" +#| msgid "Previous" +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Precedent" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "Respectar la cassa" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "" + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "" + +#: part/ktreeviewsearchline.cpp:283 +#, fuzzy, kde-format +#| msgid "General Options" +msgid "Search Options" +msgstr "Opcions generalas" + +#: part/ktreeviewsearchline.cpp:284 +#, fuzzy, kde-format +#| msgid "Case sensitive" +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "Respectar la cassa" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "sus" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "Zoom" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "Drecha" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "Esquèrra" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "" + +#: part/pageview.cpp:546 +#, fuzzy, kde-format +#| msgid "&View" +msgid "&Trim View" +msgstr "&Visualizacion" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "" + +#: part/pageview.cpp:557 +#, fuzzy, kde-format +#| msgctxt "Select Tool" +#| msgid "Selection" +msgid "Trim To &Selection" +msgstr "Seleccion" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "" + +#: part/pageview.cpp:575 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Fit Wi&ndow to Page" +msgstr "Anar a la pagina" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "" + +#: part/pageview.cpp:594 +#, fuzzy, kde-format +#| msgid "First Page" +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "Primièra pagina" + +#: part/pageview.cpp:595 +#, fuzzy, kde-format +#| msgid "First Page" +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "Primièra pagina" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "" + +#: part/pageview.cpp:599 +#, fuzzy, kde-format +#| msgid "Overwrite" +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "Remplaçar" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "" + +#: part/pageview.cpp:627 +#, fuzzy, kde-format +#| msgctxt "Browse Tool" +#| msgid "Browse" +msgid "&Browse" +msgstr "Navegar" + +#: part/pageview.cpp:635 +#, fuzzy, kde-format +#| msgid "Zoom" +msgid "&Zoom" +msgstr "Zoom" + +#: part/pageview.cpp:655 +#, fuzzy, kde-format +#| msgctxt "Select Tool" +#| msgid "Selection" +msgid "Area &Selection" +msgstr "Seleccion" + +#: part/pageview.cpp:662 +#, fuzzy, kde-format +#| msgctxt "Select Tool" +#| msgid "Selection" +msgid "&Text Selection" +msgstr "Seleccion" + +#: part/pageview.cpp:669 +#, fuzzy, kde-format +#| msgctxt "Select Tool" +#| msgid "Selection" +msgid "T&able Selection" +msgstr "Seleccion" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "" + +#: part/pageview.cpp:685 +#, fuzzy, kde-format +#| msgctxt "Select Tool" +#| msgid "Selection" +msgctxt "@action" +msgid "Selection Tools" +msgstr "Seleccion" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "" + +#: part/pageview.cpp:717 +#, fuzzy, kde-format +#| msgid "Open Document" +msgid "Speak Whole Document" +msgstr "Dobrir un document" + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] "" +msgstr[1] "" + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "" +msgstr[1] "" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "" + +#: part/pageview.cpp:2863 +#, kde-format +msgid "Image (%1 × %2 pixels)" +msgstr "" + +#: part/pageview.cpp:2865 +#, kde-format +msgid "Save to File…" +msgstr "" + +#: part/pageview.cpp:2885 +#, kde-format +msgid "Image [%1 × %2] copied to clipboard." +msgstr "" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "" + +#: part/pageview.cpp:2901 +#, kde-format +msgid "Image [%1 × %2] saved to %3 file." +msgstr "" + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "" + +#: part/pageview.cpp:3062 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go to '%1'" +msgstr "Anar a la pagina" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "" + +#: part/pageview.cpp:4107 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1 :" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "" + +#: part/pageview.cpp:4404 +#, kde-format +msgid "Configure Web Shortcuts…" +msgstr "" + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "Copiar l'adreça electronica" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Planvengut" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "" + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "" + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "" + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" + +#: part/pageview.cpp:5188 +#, kde-format +msgid "No valid certificates" +msgstr "" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, kde-format +msgid "Open Certificate Manager" +msgstr "" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
    Launch Certificate Manager " +"to import or manage certificates
    For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, kde-format +msgid "No certificates found" +msgstr "" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
    For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgid "Author" +msgid "Author name" +msgstr "Autor" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Author name for the annotation:" +msgstr "Presentacion" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "" + +#: part/pageviewannotator.cpp:1402 +#, fuzzy, kde-format +#| msgid "Rectangle" +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "Rectangle" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "" + +#: part/pageviewannotator.cpp:1412 +#, fuzzy, kde-format +#| msgid "Underline" +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "Soslinhat" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Add favorite annotation" +msgstr "Presentacion" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Custom annotation name:" +msgstr "Presentacion" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&Fichièr" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "&Ajuda" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "&Favorits" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, fuzzy, kde-format +#| msgid "Main Toolbar" +msgid "Viewer Toolbar" +msgstr "Barra d'espleches principala" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Miniaturas" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Annotations" +msgstr "Presentacion" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
    Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "Precedent" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "Seguent" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "" + +#: part/part.cpp:707 +#, fuzzy, kde-format +#| msgid "Rename Bookmark" +msgid "Rename the current bookmark" +msgstr "Renomar lo favorit" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "" + +#: part/part.cpp:748 +#, kde-format +msgid "Configure Okular…" +msgstr "" + +#: part/part.cpp:751 +#, kde-format +msgid "Configure Viewer…" +msgstr "" + +#: part/part.cpp:757 +#, kde-format +msgid "Configure Viewer Backends…" +msgstr "" + +#: part/part.cpp:759 +#, kde-format +msgid "Configure Backends…" +msgstr "" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "" + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "" + +#: part/part.cpp:813 +#, fuzzy, kde-format +#| msgid "Page %1" +msgid "Page Number" +msgstr "Pagina %1" + +#: part/part.cpp:817 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "Presentacion" + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "" + +#: part/part.cpp:945 +#, kde-format +msgid "&Import PostScript as PDF…" +msgstr "" + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "" + +#: part/part.cpp:957 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Erase Drawing" +msgstr "Presentacion" + +#: part/part.cpp:962 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Configure Annotations…" +msgstr "Presentacion" + +#: part/part.cpp:967 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Play/Pause Presentation" +msgstr "Presentacion" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" + +#: part/part.cpp:1123 +#, fuzzy, kde-format +#| msgid "Open Document" +msgid "Document can't be saved" +msgstr "Dobrir un document" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "" + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "" + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "" + +#: part/part.cpp:1357 +#, kde-format +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "" + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "" + +#: part/part.cpp:1502 +#, fuzzy, kde-format +#| msgid "Open Document" +msgid "Document Password" +msgstr "Dobrir un document" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "" + +#: part/part.cpp:1739 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Enter Presentation Mode" +msgstr "Presentacion" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "" + +#: part/part.cpp:1865 +#, fuzzy, kde-format +#| msgid "Contents" +msgid "Continue Reloading" +msgstr "Ensenhador" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" + +#: part/part.cpp:1875 +#, fuzzy, kde-format +#| msgid "Contents" +msgid "Continue Closing" +msgstr "Ensenhador" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "" + +#: part/part.cpp:1883 +#, fuzzy, kde-format +#| msgid "Open Document" +msgid "Close Document" +msgstr "Dobrir un document" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" + +#: part/part.cpp:2113 part/part.cpp:2131 +#, fuzzy, kde-format +#| msgid "Open Document" +msgid "Reloading the document…" +msgstr "Dobrir un document" + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "Ensenhador" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Anar a la pagina" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "" + +#: part/part.cpp:2506 +#, fuzzy, kde-format +#| msgid "Rename Bookmark" +msgid "Rename this Bookmark" +msgstr "Renomar lo favorit" + +#: part/part.cpp:2509 +#, fuzzy, kde-format +#| msgid "Rename Bookmark" +msgid "Remove this Bookmark" +msgstr "Renomar lo favorit" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, fuzzy, kde-format +#| msgid "Save As..." +msgid "Save As" +msgstr "Enregistrar coma..." + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
    In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "" + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "" + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "" + +#: part/part.cpp:2769 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "User annotations" +msgstr "Presentacion" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" + +#: part/part.cpp:2796 +#, fuzzy, kde-format +#| msgid "Contents" +msgid "Continue" +msgstr "Ensenhador" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgctxt "Select Tool" +#| msgid "Selection" +msgid "Expand Whole Section" +msgstr "Seleccion" + +#: part/part.cpp:3159 +#, kde-format +msgid "Collapse Whole Section" +msgstr "" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Espleches" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "" + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "&Edicion" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "&Visualizacion" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&Anar" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "&Espleches" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "Barra d'espleches principala" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, fuzzy, kde-format +#| msgid "Main Toolbar" +msgid "Annotation Toolbar" +msgstr "Barra d'espleches principala" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, fuzzy, kde-format +#| msgid "Main Toolbar" +msgid "Quick Annotation Toolbar" +msgstr "Barra d'espleches principala" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "Opcions generalas" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Accessibilitat" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Presentacion" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "" + +#: part/preferencesdialog.cpp:50 +#, fuzzy, kde-format +#| msgid "Options" +msgid "Annotation Options" +msgstr "Opcions" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, fuzzy, kde-format +#| msgid "&Edit" +msgid "Editor" +msgstr "&Edicion" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, fuzzy, kde-format +#| msgid "Options" +msgid "Editor Options" +msgstr "Opcions" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "Recercar lo seguent" + +#: part/presentationwidget.cpp:174 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "Presentacion" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Títol : %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "" + +#: part/presentationwidget.cpp:521 +#, fuzzy, kde-format +#| msgid "Pages" +msgctxt "For Presentation" +msgid "Pause" +msgstr "Paginas" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" + +#: part/presentationwidget.cpp:1718 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "Presentacion" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1 :" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "" + +#: part/propertiesdialog.cpp:145 +#, fuzzy, kde-format +#| msgid "Information" +msgid "Reading font information…" +msgstr "Entresenhas" + +#: part/propertiesdialog.cpp:158 +#, fuzzy, kde-format +#| msgid "Page %1" +msgid "&Page Sizes" +msgstr "Pagina %1" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Tipe 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Tpe 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Tipe 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "Desconegut" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "Non" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "Òc" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "" + +#: part/propertiesdialog.cpp:385 +#, fuzzy, kde-format +#| msgctxt "Unknown author" +#| msgid "Unknown" +msgid "Unknown font" +msgstr "Desconegut" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "Nom" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "Tipe" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "Fichièr" + +#: part/propertiesdialog.cpp:498 +#, fuzzy, kde-format +#| msgid "Pages" +msgid "Page" +msgstr "Paginas" + +#: part/propertiesdialog.cpp:501 +#, fuzzy, kde-format +#| msgid "Size" +msgid "Size" +msgstr "Talha" + +#: part/revisionviewer.cpp:41 +#, fuzzy, kde-format +#| msgid "Print Preview" +msgid "Revision Preview" +msgstr "Previsualizacion de l'estampatge" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "" + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "" + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, kde-format +msgid "Certificates" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, kde-format +msgid "Only QES certificates" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, fuzzy, kde-format +#| msgid "Options" +msgid "optional" +msgstr "Opcions" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Location:" +msgstr "Presentacion" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, fuzzy, kde-format +#| msgid "Background color:" +msgid "Background:" +msgstr "Color de fons :" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, fuzzy, kde-format +#| msgid "Background color:" +msgid "Recent backgrounds:" +msgstr "Color de fons :" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

    No annotations

    To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
    " +msgstr "" + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "" + +#: part/signaturepartutils.cpp:180 +#, kde-format +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "" + +#: part/signaturepartutils.cpp:244 +#, fuzzy, kde-format +#| msgid "Open Document" +msgid "Enter document password" +msgstr "Dobrir un document" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:63 +#, fuzzy, kde-format +#| msgid "Information" +msgid "Additional Information" +msgstr "Entresenhas" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:83 +#, fuzzy, kde-format +#| msgid "Open Document" +msgid "Document Version" +msgstr "Dobrir un document" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:95 +#, kde-format +msgid "View Certificate…" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:97 +#, kde-format +msgid "View in Certificate Manager" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "" + +#: part/videowidget.cpp:146 +#, fuzzy, kde-format +#| msgid "Pages" +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Paginas" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, fuzzy, kde-format +#| msgid "&Edit" +msgid "&Edit…" +msgstr "&Edicion" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "" + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "" + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" + +#: shell/shell.cpp:582 +#, fuzzy, kde-format +#| msgid "Next Page" +msgid "Next Tab" +msgstr "Pagina seguenta" + +#: shell/shell.cpp:588 +#, fuzzy, kde-format +#| msgid "Previous Page" +msgid "Previous Tab" +msgstr "Pagina precedenta" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "Dobrir un document" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "" + +#: shell/shell.cpp:826 +#, fuzzy, kde-format +#| msgid "Close" +msgid "Close Tabs" +msgstr "Tampar" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "" + +#: shell/welcomescreen.cpp:137 +#, fuzzy, kde-format +#| msgid "Open Document" +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "Dobrir un document" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, fuzzy, kde-format +#| msgid "Open Document" +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Dobrir un document" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, fuzzy, kde-format +#| msgid "Open Document" +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Dobrir un document" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "" + +#, fuzzy +#~| msgid "Underline" +#~ msgid "Geometry with Comment" +#~ msgstr "Soslinhat" + +#~ msgid "Geometry" +#~ msgstr "Geometria" + +#, fuzzy +#~| msgid "Save As..." +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "Enregistrar coma..." + +#, fuzzy +#~| msgid "&View" +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "&Visualizacion" + +#, fuzzy +#~| msgid "&Edit" +#~ msgid "&Edit..." +#~ msgstr "&Edicion" + +#, fuzzy +#~| msgctxt "Unknown author" +#~| msgid "Unknown" +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "Desconegut" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%1 :" + +#, fuzzy +#~| msgid "Remove Bookmark" +#~ msgid "Remove Bookmarks" +#~ msgstr "Suprimir lo favorit" + +#, fuzzy +#~| msgid "Presentation" +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "Presentacion" + +#, fuzzy +#~| msgid "Underline" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Underline" +#~ msgstr "Soslinhat" + +#, fuzzy +#~| msgid "Insert" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "Inserir" + +#, fuzzy +#~| msgid "Underline" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "Soslinhat" + +#, fuzzy +#~| msgid "Rectangle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Rectangle" +#~ msgstr "Rectangle" + +#, fuzzy +#~| msgctxt "Select Tool" +#~| msgid "Selection" +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "Seleccion" + +#, fuzzy +#~| msgid "Insert" +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "Inserir" + +#, fuzzy +#~| msgctxt "Select Tool" +#~| msgid "Selection" +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "Seleccion" + +#, fuzzy +#~| msgid "Presentation" +#~ msgid "Bookmark annotation" +#~ msgstr "Presentacion" + +#, fuzzy +#~| msgid "Background color:" +#~ msgctxt "@label:listbox Config dialog, general page" +#~ msgid "Custom background color:" +#~ msgstr "Color de fons :" + +#~ msgid "Identity" +#~ msgstr "Identitat" + +#~ msgid "Navigation" +#~ msgstr "Navegacion" + +#, fuzzy +#~| msgid "Big Icons" +#~ msgid "Large Icons" +#~ msgstr "Icònas bèlas" + +#~ msgid "Style" +#~ msgstr "Estil" + +#~ msgid "&Size:" +#~ msgstr "&Talha" + +#, fuzzy +#~| msgid "Page %1" +#~ msgid "Name: %1" +#~ msgstr "Pagina %1" + +#, fuzzy +#~| msgid "&Size:" +#~ msgid "Size: %1" +#~ msgstr "&Talha" + +#~ msgctxt "Zoom Tool" +#~ msgid "Zoom" +#~ msgstr "Zoom" + +#, fuzzy +#~| msgid "Note" +#~ msgid " None" +#~ msgstr "Nòta" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "%1 is \"Title\"" +#~ msgid "%1:" +#~ msgstr "%1 :" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "%1 is \"File Path\"" +#~ msgid "%1:" +#~ msgstr "%1 :" + +#~ msgid "Pages:" +#~ msgstr "Paginas :" diff --git a/po/oc/okular_djvu.po b/po/oc/okular_djvu.po new file mode 100644 index 0000000..31cdde6 --- /dev/null +++ b/po/oc/okular_djvu.po @@ -0,0 +1,139 @@ +# translation of okular_djvu.po to Occitan (lengadocian) +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Yannig Marchegay (Kokoyaya) , 2007, 2008. +msgid "" +msgstr "" +"Project-Id-Version: okular_djvu\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-08-05 22:27+0200\n" +"Last-Translator: Yannig Marchegay (Kokoyaya) \n" +"Language-Team: Occitan (lengadocian) \n" +"Language: oc\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Yannig Marchegay (Kokoyaya)" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "yannig@marchegay.org" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "Editor" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "Director" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "Volum" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "" + +#: generator_djvu.cpp:141 +#, fuzzy, kde-format +#| msgid "Unknown" +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "Desconegut" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "Desconegut" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "" + +#, fuzzy +#~| msgid "Unknown" +#~ msgctxt "Unknown title" +#~ msgid "Unknown" +#~ msgstr "Desconegut" + +#, fuzzy +#~| msgid "Unknown" +#~ msgctxt "Unknown author" +#~ msgid "Unknown" +#~ msgstr "Desconegut" + +#, fuzzy +#~| msgid "Unknown" +#~ msgctxt "Unknown editor" +#~ msgid "Unknown" +#~ msgstr "Desconegut" + +#, fuzzy +#~| msgid "Unknown" +#~ msgctxt "Unknown publisher" +#~ msgid "Unknown" +#~ msgstr "Desconegut" + +#, fuzzy +#~| msgid "Unknown" +#~ msgctxt "Unknown creation date" +#~ msgid "Unknown" +#~ msgstr "Desconegut" + +#, fuzzy +#~| msgid "Unknown" +#~ msgctxt "Unknown volume information" +#~ msgid "Unknown" +#~ msgstr "Desconegut" + +#, fuzzy +#~| msgid "Unknown" +#~ msgctxt "Unknown type of document" +#~ msgid "Unknown" +#~ msgstr "Desconegut" diff --git a/po/oc/okular_dvi.po b/po/oc/okular_dvi.po new file mode 100644 index 0000000..c691b50 --- /dev/null +++ b/po/oc/okular_dvi.po @@ -0,0 +1,483 @@ +# translation of okular_dvi.po to Occitan (lengadocian) +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Yannig Marchegay (Kokoyaya) , 2007, 2008. +msgid "" +msgstr "" +"Project-Id-Version: okular_dvi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-08-05 22:27+0200\n" +"Last-Translator: Yannig Marchegay (Kokoyaya) \n" +"Language-Team: Occitan (lengadocian) \n" +"Language: oc\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Yannig Marchegay (Kokoyaya)" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

    Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

    Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

    " +msgstr "" + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

    Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

    Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

    " +msgstr "" + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "" + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "" + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "" + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "" + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "" + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

    The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

    What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

    PATH: %2

    " +msgstr "" + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

    The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

    %2

    " +msgstr "" + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "" + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "" + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "" + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "" + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "" + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "" + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "" + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "" + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "" + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
    " +msgstr "" + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
    " +msgstr "" + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "" + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

    Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

    PATH: %1

    %2

    " +msgstr "" + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

    There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
    Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

    PATH: %1

    %2

    " +msgstr "" + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" + +#: fontpool.cpp:482 +#, kde-format +msgid "Currently generating %1 at %2 dpi…" +msgstr "" + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "" + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "" + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "" + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "" + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "" + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "" + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "" + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "" + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "" + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "" + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "" + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "" + +#~ msgid "Abort" +#~ msgstr "Abandonar" + +#~ msgid "Overwrite" +#~ msgstr "Remplaçar" + +#~ msgid "Family" +#~ msgstr "Familha" + +#~ msgid "Zoom" +#~ msgstr "Zoom" + +#~ msgid "Type" +#~ msgstr "Tipe" + +#~ msgid "Encoding" +#~ msgstr "Encodatge" + +#~ msgid "Comment" +#~ msgstr "Comentari" diff --git a/po/oc/okular_fictionbook.po b/po/oc/okular_fictionbook.po new file mode 100644 index 0000000..58b97e2 --- /dev/null +++ b/po/oc/okular_fictionbook.po @@ -0,0 +1,69 @@ +# translation of okular_fictionbook.po to Occitan (lengadocian) +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Yannig Marchegay (Kokoyaya) , 2007, 2008. +msgid "" +msgstr "" +"Project-Id-Version: okular_fictionbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-08-05 22:27+0200\n" +"Last-Translator: Yannig Marchegay (Kokoyaya) \n" +"Language-Team: Occitan (lengadocian) \n" +"Language: oc\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Yannig Marchegay (Kokoyaya)" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "" diff --git a/po/oc/okular_ghostview.po b/po/oc/okular_ghostview.po new file mode 100644 index 0000000..fbccdda --- /dev/null +++ b/po/oc/okular_ghostview.po @@ -0,0 +1,78 @@ +# translation of okular_ghostview.po to Occitan (lengadocian) +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Yannig Marchegay (Kokoyaya) , 2007, 2008. +msgid "" +msgstr "" +"Project-Id-Version: okular_ghostview\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-08-05 22:27+0200\n" +"Last-Translator: Yannig Marchegay (Kokoyaya) \n" +"Language-Team: Occitan (lengadocian) \n" +"Language: oc\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Yannig Marchegay (Kokoyaya)" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "Paramètres generals" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" diff --git a/po/oc/okular_kimgio.po b/po/oc/okular_kimgio.po new file mode 100644 index 0000000..93b9e1c --- /dev/null +++ b/po/oc/okular_kimgio.po @@ -0,0 +1,50 @@ +# translation of okular_kimgio.po to Occitan (lengadocian) +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Yannig Marchegay (Kokoyaya) , 2007, 2008. +msgid "" +msgstr "" +"Project-Id-Version: okular_kimgio\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-08-05 22:27+0200\n" +"Last-Translator: Yannig Marchegay (Kokoyaya) \n" +"Language-Team: Occitan (lengadocian) \n" +"Language: oc\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Yannig Marchegay (Kokoyaya)" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "yannig@marchegay.org" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" + +#~ msgid "Main Toolbar" +#~ msgstr "Barra d'espleches principala" diff --git a/po/oc/okular_poppler.po b/po/oc/okular_poppler.po new file mode 100644 index 0000000..51c703d --- /dev/null +++ b/po/oc/okular_poppler.po @@ -0,0 +1,376 @@ +# translation of okular_poppler.po to Occitan (lengadocian) +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Yannig Marchegay (Kokoyaya) , 2007, 2008. +msgid "" +msgstr "" +"Project-Id-Version: okular_poppler\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-08-05 22:27+0200\n" +"Last-Translator: Yannig Marchegay (Kokoyaya) \n" +"Language-Team: Occitan (lengadocian) \n" +"Language: oc\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Yannig Marchegay (Kokoyaya)" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "Non" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "Opcions PDF" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "Format" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "Seguritat" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "Òc" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter Password" +msgstr "" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Unknown" +#~ msgstr "Desconegut" + +#~ msgid "Unknown Date" +#~ msgstr "Data desconeguda" diff --git a/po/oc/okular_xps.po b/po/oc/okular_xps.po new file mode 100644 index 0000000..8a73767 --- /dev/null +++ b/po/oc/okular_xps.po @@ -0,0 +1,34 @@ +# translation of okular_xps.po to Occitan (lengadocian) +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Yannig Marchegay (Kokoyaya) , 2007, 2008. +msgid "" +msgstr "" +"Project-Id-Version: okular_xps\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-08-05 22:27+0200\n" +"Last-Translator: Yannig Marchegay (Kokoyaya) \n" +"Language-Team: Occitan (lengadocian) \n" +"Language: oc\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Yannig Marchegay (Kokoyaya)" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "yannig@marchegay.org" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "Revision" diff --git a/po/pa/okular.po b/po/pa/okular.po new file mode 100644 index 0000000..edc51c5 --- /dev/null +++ b/po/pa/okular.po @@ -0,0 +1,6565 @@ +# translation of okular.po to Punjabi +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# SPDX-FileCopyrightText: 2007, 2009, 2010, 2011, 2012, 2018, 2019, 2020, 2021, 2023, 2024 A S Alam +# AP S Alam , 2007. +# Amanpreet Singh Alam , 2008. +# Amanpreet Singh , 2008, 2013, 2014, 2015. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-12-19 22:37-0600\n" +"Last-Translator: aalam \n" +"Language-Team: Punjabi \n" +"Language: pa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 24.12.0\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ਅ.ਸ.ਆਲਮ. ੨੦੦੯-੨੦੨੪" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "aalam@punlinux.org" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "ਓਕੁਲਾਰ" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "ਓਕੁਲਾਰ, ਯੂਨੀਵਰਸਲ ਦਸਤਾਵੇਜ਼ ਦਰਸ਼ਕ" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "ਪੁਰਾਣਾ ਪਰਬੰਧਕ" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "ਡਿਵੈਲਪਰ" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymanski" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "KPDF ਕੋਡ-ਬੇਸ ਤੋਂ ਓਕੁਲਾਰ ਬਣਾਇਆ" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "ਇੰਰਿਕੋ ਰੋਜ" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "KPDF ਡਿਵੈਲਪਰ" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "ਵਿਆਖਿਆ ਕਲਾਕਾਰੀ" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "ਟੇਬਲ ਚੋਣ ਟੂਲ" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "ਵਿਆਖਿਆ ਸੁਧਾਰ" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "%1 ਸਫ਼ੇ ਉੱਤੇ ਜਾਓ" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "ਬਾਹਰੀ ਫਾਇਲ ਖੋਲ੍ਹੋ" + +#: core/action.cpp:197 +#, fuzzy, kde-format +#| msgid "Execute '%1'..." +msgid "Execute '%1'…" +msgstr "...'%1' ਚਲਾਓ" + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "ਪਹਿਲਾਂ ਸਫ਼ਾ" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "ਪਿਛਲਾ ਸਫ਼ਾ" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "ਸਫ਼ਾ ਅੱਗੇ" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "ਆਖਰੀ ਸਫ਼ਾ" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "ਪਿੱਛੇ" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "ਅੱਗੇ" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "ਬਾਹਰ" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "ਪਰਿਜ਼ੈੱਨਟੇਸ਼ਨ ਸ਼ੁਰੂ ਕਰੋ" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "ਪਰਿਜ਼ੈੱਨਟੇਸ਼ਨ ਖਤਮ ਕਰੋ" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go To Page…" +msgstr "ਸਫ਼ੇ ਉੱਤੇ ਜਾਓ" + +#: core/action.cpp:365 +#, fuzzy, kde-format +#| msgid "Play sound..." +msgid "Play sound…" +msgstr "...ਸਾਊਂਡ ਚਲਾਓ" + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "ਜਾਵਾਸਕ੍ਰਿਪਟ ਸਕ੍ਰਿਪਟ" + +#: core/action.cpp:483 +#, fuzzy, kde-format +#| msgid "Play movie" +msgid "Play movie…" +msgstr "ਮੂਵੀ ਚਲਾਓ" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "ਮੂਵੀ ਚਲਾਓ" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "ਮੂਵੀ ਰੋਕੋ" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "ਮੂਵੀ ਵਿਰਾਮ" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "ਮੂਵੀ ਮੁੜ-ਚਾਲੂ" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "ਓਕੁਲਾਰ ਨੂੰ ਬਿਨਾਂ ਆਡੀਓ ਸਹਿਯੋਗ ਦੇ ਬਣਾਇਆ ਗਿਆ ਹੈ" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "ਬੈਕ-ਐਂਡ ਚੋਣ" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
    %1 (%2).

    Please select which one to use:
    " +msgstr "" +"MIME ਕਿਸਮ ਲਈ ਇੱਕ ਤੋਂ ਵੱਧ ਬੈਕਐਂਡ ਮਿਲੇ:
    %1 (%2)।

    ਇਹਨਾਂ ਵਿੱਚੋਂ " +"ਵਰਤਣ ਲਈ ਇੱਕ ਦੀ ਚੋਣ ਕਰੋ:
    " + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "ਬਹੁਤੇ ਸਫ਼ੇ %1 ਉੱਤੇ ਹਨ।" + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "ਪੋਰਟਰੇਟ %1" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "ਲੈਂਡਸਕੇਪ %1" + +#: core/document.cpp:246 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 × %2 ਇੰਚ (%3)" + +#: core/document.cpp:248 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 x %2 ਮਿਮੀ (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "ਸ਼ੁਰੂ ਤੋਂ ਲੱਭਣਾ ਜਾਰੀ ਰੱਖੋ" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "ਹੇਠਾਂ ਤੋਂ ਲੱਭਣਾ ਜਾਰੀ ਰੱਖੋ" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "ਦਿੱਤੇ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਹੈਂਡਲ ਕਰਨ ਵਾਸਤੇ ਇੱਕ ਪਲੱਗਇਨ ਨਹੀਂ ਲੱਭੀ ਜਾ ਸਕਦੀ ਹੈ।" + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "ਵਿਆਖਿਆ ਨੂੰ ਹਟਾਓ" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"ਦਸਤਾਵੇਜ਼ ਇੱਕ ਬਾਹਰੀ ਐਪਲੀਕੇਸ਼ਨ ਚਲਾਉਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰ ਰਿਹਾ ਹੈ, ਅਤੇ ਓਕੁਲਾਰ ਨੇ ਤੁਹਾਡੀ ਸੁਰੱਖਿਆ ਵਾਸਤੇ " +"ਇਹ ਮਨਜ਼ੂਰ ਨਹੀਂ ਕੀਤਾ ਹੈ।" + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "ਮਾਈਮ-ਟਾਈਪ %1 ਦੀ ਫਾਇਲ ਖੋਲ੍ਹਣ ਲਈ ਕੋਈ ਐਪਲੀਕੇਸ਼ਨ ਨਹੀਂ ਲੱਭੀ ਹੈ।" + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "ਆਰਜ਼ੀ ਫਾਇਲ ਨੂੰ ਖੋਲ੍ਹਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "ਕਨਵਰਜ਼ਨ ਪਰਿੰਟ ਕਰਨ ਲਈ ਫੇਲ੍ਹ" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "ਪਰਿੰਟ ਕਰਨ ਦੀ ਕਾਰਵਾਈ ਕਰੈਸ਼ ਹੋ ਗਈ" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "ਪਰਿੰਟ ਕਾਰਵਾਈ ਸ਼ੁਰੂ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "ਫਾਇਲ ਪਰਿੰਟ ਕਰਨ ਲਈ ਫੇਲ੍ਹ" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "ਪਰਿੰਟਰ ਦੀ ਹਾਲਤ ਅਢੁੱਕਵੀ ਹੈ" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "ਪਰਿੰਟ ਕਰਨ ਲਈ ਫਾਇਲ ਲੱਭਣ ਲਈ ਅਸਮਰੱਖ" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "ਪਰਿੰਟ ਕਰਨ ਲਈ ਕੋਈ ਫਾਇਲ ਨਹੀਂ ਹੈ" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"ਪਰਿੰਟ ਕਰਨ ਲਈ ਕੋਈ ਢੁੱਕਵੀਂ ਬਾਈਨਰੀ ਨਹੀਂ ਮਿਲੀ। ਚੈੱਕ ਕਰੋ ਕਿ ਕੀ CUPS lpr ਬਾਈਨਰੀ ਉਪਲੱਬਧ ਹੈ।" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "'%1' ਨੂੰ ਖੋਲ੍ਹਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ। ਫਾਇਲ ਮੌਜੂਦ ਨਹੀਂ ਹੈ" + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "ਟਾਇਟਲ" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "ਵਿਸ਼ਾ" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "ਵਰਣਨ" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "ਲੇਖਕ" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "ਨਿਰਮਾਤਾ" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "ਪਰੋਡਿਊਸਰ" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "ਕਾਪੀਰਾਈਟ" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "ਸਫ਼ੇ" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "ਬਣਾਇਆ" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "ਸੋਧ ਕੀਤੀ" + +#: core/document.cpp:6032 +#, kde-format +msgid "MIME Type" +msgstr "MIME ਕਿਸਮ" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "ਕੈਟਾਗਰੀ" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "ਸ਼ਬਦ" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "ਫਾਇਲ ਪਾਥ" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "ਫਾਇਲ ਦਾ ਆਕਾਰ" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "ਸਫ਼ੇ ਦਾ ਆਕਾਰ" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "ਵਿਆਖਿਆ ਨੂੰ ਜੋੜੋ" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "ਵਿਆਖਿਆ ਨੂੰ ਹਟਾਓ" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "ਵਿਆਖਿਆ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਸੋਧੋ" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "ਵਿਆਖਿਆ ਦਾ ਅਨੁਵਾਦ" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "ਵਿਆਖਿਆ ਨੂੰ ਅਡਜੱਸਟ ਕਰੋ" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "ਲਿਖਤ ਨੂੰ ਸੋਧੋ" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "ਵਿਆਖਿਆ ਸਮੱਗਰੀ ਸੋਧੋ" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "ਫਾਰਮ ਟਿੱਪਣੀਆਂ ਸੋਧੋ" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "" + +#: core/generator.cpp:790 +#, fuzzy, kde-format +#| msgid "Plain &Text..." +msgid "Plain &Text…" +msgstr "ਸਰਲ ਲਿਖਤ(&T)..." + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "ਓਪਨ-ਦਸਤਾਵੇਜ਼ ਲਿਖਤ" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "ਪਰਿੰਟ ਚੋਣਾਂ" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "ਛਾਪਣਯੋਗ ਖੇਤਰ ਲਈ ਫਿੱਟ ਕਰੋ" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "ਪੂਰੇ ਸਫ਼ੇ ਲਈ ਫਿੱਟ ਕਰੋ" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "ਸਕੇਲ ਮੋਡ:" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "ਇਹ ਸੁਨੇਹਾ ਮੁੜ ਨਾ ਵੇਖਾਓ" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "ਉਪਲੱਬਧ ਨਹੀਂ" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" + +#: core/signatureutils.cpp:498 +#, fuzzy, kde-kuit-format +#| msgctxt "@info" +#| msgid "Could not load the file %1" +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "%1 ਫਾਇਲ ਨੂੰ ਲੋਡ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "" + +#: core/signatureutils.cpp:504 +#, fuzzy, kde-kuit-format +#| msgctxt "@info" +#| msgid "" +#| "Could not overwrite %1 because that file is read-" +#| "only. Try saving to another location or changing that file's permissions." +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" +"%1 ਫਾਇਲ ਸਿਰਫ਼ ਪੜ੍ਹਨ ਲਈ ਹੋਣ ਕਰਕੇ ਉਸ ਉੱਤੇ ਲਿਖਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ ਹੈ। " +"ਹੋਰ ਟਿਕਾਣੇ ਉੱਤੇ ਸੰਭਾਲਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ ਜਾਂ ਫਾਇਲ ਲਈ ਇਜਾਜ਼ਤਾਂ ਨੂੰ ਬਦਲ ਕੇ ਵੇਖੋ।" + +#: core/signatureutils.cpp:506 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown signing error" +msgstr "ਅਣਜਾਣੀ ਫਾਇਲ" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "ਸਰੋਤ: %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "ਡਿਫਾਲਟ ਫੋਂਟ(&D):" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "ਵਰਜ਼ਨ" + +#: gui/certificatemodel.cpp:41 +#, kde-format +msgid "Serial Number" +msgstr "ਲੜੀ ਨੰਬਰ" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "ਜਾਰੀ ਕਰਤਾ" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "ਇਸ ਨੂੰ ਜਾਰੀ ਕੀਤਾ" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "ਮਿਆਦ ਪੁੱਗਣੀ" + +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "ਵਿਸ਼ਾ" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "ਪਬਲਿਕ ਕੁੰਜੀ" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "ਕੁੰਜੀ ਦੀ ਵਰਤੋਂ" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "V%1" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "%1 (%2 ਬਿੱਟ)" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "ਵਿਸ਼ੇਸ਼ਤਾ" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "ਮੁੱਲ" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "ਪੌਪ-ਅੱਪ ਨੋਟ" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "ਟਾਈਪ-ਰਾਈਟਰ" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "ਇਨ-ਲਾਈਨ ਨੋਟ" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +#| msgid "Polygon with Comment" +msgid "Arrow with Comment" +msgstr "ਟਿੱਪਣੀ ਨਾਲ ਬਹੁਭੁਜ" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "ਤੀਰ" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "ਟਿੱਪਣੀ ਨਾਲ ਸਿੱਧੀ ਲਾਈਨ" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "ਸਿੱਧੀ ਲਾਈਨ" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "ਟਿੱਪਣੀ ਨਾਲ ਬਹੁਭੁਜ" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "ਬਹੁਭੁਜ" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgid "Stamp with Comment" +msgid "Rectangle with Comment" +msgstr "ਟਿੱਪਣੀ ਨਾਲ ਮੋਹਰ" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "ਆਇਤਾਕਾਰ" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgid "Underline with Comment" +msgid "Ellipse with Comment" +msgstr "ਟਿੱਪਣੀ ਨਾਲ ਹੇਠਾਂ-ਰੇਖਾ" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "ਅੰਡਾਕਾਰ" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "ਟਿੱਪਣੀ ਨਾਲ ਉਘਾੜੋ" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "ਉਘਾੜੋ" + +#: gui/guiutils.cpp:87 +#, kde-format +msgid "Squiggle with Comment" +msgstr "ਟਿੱਪਣੀ ਨਾਲ ਲੈਹਰੀਆ ਲਿਖਤ" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "ਲੈਹਰੀਆ" + +#: gui/guiutils.cpp:91 +#, kde-format +msgid "Underline with Comment" +msgstr "ਟਿੱਪਣੀ ਨਾਲ ਹੇਠਾਂ-ਰੇਖਾ" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "ਹੇਠਾਂ ਲਾਈਨ" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out with Comment" +msgstr "ਟਿੱਪਣੀ ਨਾਲ ਵਿੰਨ੍ਹੋ" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "ਵਿੰਨ੍ਹੋ" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "ਟਿੱਪਣੀ ਨਾਲ ਮੋਹਰ" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "ਸਟੈਂਪ" + +#: gui/guiutils.cpp:106 +#, kde-format +msgid "Freehand Line with Comment" +msgstr "ਟਿੱਪਣੀ ਨਾਲ ਹੱਥ-ਨਾਲ ਖਿੱਚੀ ਲਾਇਨ" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "ਹੱਥ ਨਾਲ ਖਿੱਚੀ ਲਾਈਨ" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "ਕਰੇਟ" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "ਫਾਇਲ ਅਟੈਂਚਮੈਂਟ" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "ਸਾਊਂਡ" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "ਮੂਵੀ" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "ਸਕਰੀਨ" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "ਵਿਜੈਟ" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation" +msgstr "ਵਿਆਖਿਆ" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "ਅਣਜਾਣ" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "ਲੇਖਕ: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "ਤੁਸੀਂ %1 ਨੂੰ ਕਿੱਥੇ ਸੰਭਾਲਣਾ ਚਾਹੁੰਦੇ ਹੋ?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "\"%1\" ਨੂੰ ਲਿਖਣ ਲਈ ਖੋਲ੍ਹਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ। ਫਾਇਲ ਸੰਭਾਲੀ ਨਹੀਂ ਗਈ।" + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "" + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "" + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "" + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "" + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "" + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "ਦਸਤਖਤ ਤਸਦੀਕ ਨਹੀਂ ਕੀਤੇ ਜਾ ਸਕੇ।" + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "ਸਰਟੀਫਿਕੇਟ ਭਰੋਸੇਯੋਗ ਹੈ।" + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "ਸਰਟੀਫਿਕੇਟ ਜਾਰੀ ਕਰਤਾ ਭਰੋਸੇਯੋਗ ਨਹੀਂ ਹੈ।" + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "ਸਰਟੀਫਿਕੇਟ ਜਾਰੀ ਕਰਤਾ ਅਣਪਛਾਤਾ ਹੈ।" + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "ਸਰਟੀਫਿਕੇਟ ਮਨਸੂਖ (ਰੱਦ) ਕੀਤਾ ਗਿਆ ਹੈ।" + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "ਸਰਟੀਫਿਕੇਟ ਦੀ ਮਿਆਦ ਪੁੱਗੀ।" + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "ਸਰਟੀਫਿਕੇਟ ਹਾਲੇ ਤਸਦੀਕ ਕੀਤਾ ਗਿਆ ਹੈ।" + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "" + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "MD2" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "MD5" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "SHA1" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "SHA256" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "SHA384" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "SHA512" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "SHA224" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "ਅਣਪਛਾਤਾ ਐਲੋਗਰਿਥਮ" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "RSA" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "DSA" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "EC" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "ਅਣਪਛਾਤੀ ਕਿਸਮ" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "ਡਿਜ਼ਿਟਲ ਦਸਤਖ਼ਤ" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "ਇੰਕ੍ਰਿਪਟ ਕੁੰਜੀਆਂ" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "ਡਿਸਕ੍ਰਿਪਟ ਕੁੰਜੀਆਂ" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "ਕੁੰਜੀ ਇਕਰਾਰ" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "ਸਾਈਨ ਸਰਟੀਫਿਕੇਟ" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "ਸਾਈਨ CRL" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "ਸਿਰਫ਼ ਇੰਕ੍ਰਿਪਟ ਹੀ" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr ", " + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "ਦਸਤਖਤ ਕਰਨ ਤੋਂ ਬਾਅਦ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਸੋਧਿਆ ਨਹੀਂ ਗਿਆ ਹੈ।" + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" + +#: gui/signatureguiutils.cpp:172 +#, fuzzy, kde-format +#| msgid "The document has not been modified since it was signed." +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "ਦਸਤਖਤ ਕਰਨ ਤੋਂ ਬਾਅਦ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਸੋਧਿਆ ਨਹੀਂ ਗਿਆ ਹੈ।" + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "" + +#: gui/signatureguiutils.cpp:208 +#, fuzzy, kde-format +#| msgid "This document has unsigned signature fields." +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "ਇਸ ਦਸਤਾਵੇਜ਼ ਵਿੱਚ ਗ਼ੈਰ-ਦਸਤਖ਼ਤੀ ਦਸਤਖ਼ਤ ਖੇਤਰ ਹਨ।" + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "ਇਹ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਡਿਜ਼ੀਟਲ ਰੂਪ ਵਿੱਚ ਦਸਤਖਤ ਕੀਤਾ ਹੈ।" + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "" +"ਇਹ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਡਿਜ਼ੀਟਲ ਰੂਪ ਵਿੱਚ ਦਸਤਖਤ ਕੀਤਾ ਹੈ। ਆਖਰੀ ਵਾਰ ਦਸਤਖਤ ਕਰਨ ਤੋਂ ਬਾਅਦ ਇਹਨਾਂ ਨੂੰ " +"ਬਦਲਿਆ ਗਿਆ ਹੈ।" + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" +"ਇਹ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਡਿਜ਼ੀਟਲ ਰੂਪ ਵਿੱਚ ਦਸਤਖਤ ਕੀਤਾ ਹੈ। ਕੁਝ ਦਸਤਖਤਾਂ ਨੂੰ ਪੂਰੀ ਤਰ੍ਹਾਂ ਤਸਦੀਕ ਨਹੀਂ ਕੀਤਾ " +"ਜਾ ਸਕਿਆ ਹੈ।" + +#: gui/signaturemodel.cpp:141 +#, fuzzy, kde-format +#| msgid "Signature Validity:" +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "ਦਸਤਖਤ ਵੈਧਤਾ:" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "ਖੇਤਰ: %2 ਸਫ਼ੇ ਉਤੇ %1" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "ਰਿਵਿਜ਼ਨ %1: %2 ਨੇ ਦਸਖਤ ਕੀਤੇ" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "ਦਸਤਖ਼ਤ ਦਾ ਵੇਲਾ: %1" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "ਕਾਰਨ: %1" + +#: gui/signaturemodel.cpp:177 +#, kde-format +msgid "Location: %1" +msgstr "ਟਿਕਾਣਾ: %1" + +#: gui/signaturemodel.cpp:185 +#, fuzzy, kde-format +#| msgid "Signatures" +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "ਦਸਤਖ਼ਤ" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "" + +#: gui/signaturemodel.cpp:193 +#, fuzzy, kde-format +#| msgctxt "Unknown author" +#| msgid "Unknown" +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "ਅਣਜਾਣ" + +#: gui/signaturemodel.cpp:195 +#, fuzzy, kde-format +#| msgid "Signature Validity:" +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "ਦਸਤਖਤ ਵੈਧਤਾ:" + +#: gui/signaturemodel.cpp:201 +#, fuzzy, kde-format +#| msgid "Signature Validity:" +msgid "Signature Type: %1" +msgstr "ਦਸਤਖਤ ਵੈਧਤਾ:" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "ਲਾਲ" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "ਸੰਤਰੀ" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "ਪੀਲਾ" + +#: part/annotationactionhandler.cpp:151 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "ਹਰਾ" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "ਹਰਾ-ਨੀਲਾ" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "ਨੀਲਾ" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "ਵੈਂਗਣੀ-ਲਾਲ" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "ਚਿੱਟਾ" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "ਸਲੇਟੀ" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "ਕਾਲਾ" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "ਚੌੜਾਈ %1" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1%" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "ਵਿਆਖਿਆ ਲਾਈਨ ਦੀ ਚੌੜਾਈ (ਕੋਈ ਵਿਆਖਿਆ ਨਹੀਂ ਚੁਣੀ)" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "ਵਿਆਖਿਆ ਰੰਗ (ਕੋਈ ਵਿਆਖਿਆ ਨਹੀਂ ਚੁਣੀ)" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "ਵਿਆਖਿਆ ਭਰਨ ਰੰਗ (ਕੋਈ ਵਿਆਖਿਆ ਨਹੀਂ ਚੁਣੀ)" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "ਵਿਆਖਿਆ ਪਾਰਦਰਸ਼ਤਾ (ਕੋਈ ਵਿਆਖਿਆ ਨਹੀਂ ਚੁਣੀ)" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "ਵਿਆਖਿਆ ਫ਼ੋਂਟ (ਕੋਈ ਵਿਆਖਿਆ ਨਹੀਂ ਚੁਣੀ)" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "ਮੌਜੂਦਾ ਵਿਆਖਿਆ ਨੂੰ ਫ਼ੌਰੀ ਵਿਆਖਿਆ ਮੇਨੂ ਵਿੱਚ ਜੋੜੋ (ਕੋਈ ਵਿਆਖਿਆ ਨਹੀਂ ਚੁਣੀ)" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "ਸ਼ਕਲ ਅਨੁਪਾਤ 1:1 ਲਈ ਜਾਂ ਲਾਈਨ ਦਾ ਕੋਣ 15° ਸਟੈਪ ਲਈ ਸੀਮਤ (ਕੋਈ ਵਿਆਖਿਆ ਨਹੀਂ ਚੁਣੀ)" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "ਮੌਜੂਦਾ ਵਿਆਖਿਆ ਟੂਲ ਲਈ ਤਕਨੀਕੀ ਸੈਟਿੰਗਾਂ (ਕੋਈ ਵਿਆਖਿਆ ਨਹੀਂ ਚੁਣੀ)" + +#: part/annotationactionhandler.cpp:308 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "ਵਿਆਖਿਆ ਲਾਈਨ ਚੌੜਾਈ" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "ਵਿਆਖਿਆ ਲਾਈਨ ਦੀ ਚੌੜਾਈ (ਮੌਜੂਦਾ ਵਿਆਖਿਆ ਦੀ ਕੋਈ ਲਾਈਨ ਚੌੜਾਈ ਨਹੀਂ ਹੈ)" + +#: part/annotationactionhandler.cpp:314 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "ਵਿਆਖਿਆ ਲਿਖਤ ਦਾ ਰੰਗ" + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "ਵਿਆਖਿਆ ਹਾਸ਼ੀਏ ਦਾ ਰੰਗ" + +#: part/annotationactionhandler.cpp:318 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "ਵਿਆਖਿਆ ਦਾ ਰੰਗ" + +#: part/annotationactionhandler.cpp:322 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "ਵਿਆਖਿਆ ਭਰਨ ਰੰਗ" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "ਵਿਆਖਿਆ ਭਰਨ ਰੰਗ (ਮੌਜੂਦਾ ਵਿਆਖਿਆ ਲਈ ਕੋਈ ਭਰਨ ਵਾਲਾ ਰੰਗ ਨਹੀਂ ਹੈ)" + +#: part/annotationactionhandler.cpp:328 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "ਵਿਆਖਿਆ ਫ਼ੋਂਟ" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "ਵਿਆਖਿਆ ਫ਼ੋਂਟ (ਮੌਜੂਦਾ ਵਿਆਖਿਆ ਲਈ ਕੋਈ ਫ਼ੋਂਟ ਨਹੀਂ ਹੈ)" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "ਲਾਈਨ ਦਾ ਕੋਣ 15° ਸਟੈਪ ਲਈ ਸੀਮਤ" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "ਸ਼ਕਲ ਅਨੁਪਾਤ 1:1 ਲਈ ਸੀਮਤ" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" + +#: part/annotationactionhandler.cpp:341 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "ਵਿਆਖਿਆ ਪਾਰਦਰਸ਼ਤਾ" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "ਮੌਜੂਦਾ ਵਿਆਖਿਆ ਨੂੰ ਫ਼ੌਰੀ ਵਿਆਖਿਆ ਮੇਨੂ ਵਿੱਚ ਜੋੜੋ" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "ਮੌਜੂਦਾ ਵਿਆਖਿਆ ਟੂਲ ਲਈ ਤਕਨੀਕੀ ਸੈਟਿੰਗਾਂ" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "ਰੰਗ" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "ਰੰਗ ਭਰੋ" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "ਪਾਰਦਰਸ਼ੀ" + +#: part/annotationactionhandler.cpp:445 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "Custom Color..." +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "ਪਸੰਦੀਦਾ ਰੰਗ..." + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "ਰੰਗ ਚੁਣੋ" + +#: part/annotationactionhandler.cpp:552 +#, kde-format +msgid "&Annotations" +msgstr "ਵਿਆਖਿਆ(&A)" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "ਲੁਕਾਓ" + +#: part/annotationactionhandler.cpp:554 +#, kde-format +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "ਹੋਰ ਵਿਆਖਿਆ ਟੂਲ ਵੇਖਾਓ" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "ਹਾਈਲਾਈਟਰ" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "ਹੇਠਾਂ ਲਾਈਨ" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "ਲੈਹਰੀਆ" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "ਵਿੰਨ੍ਹੋ" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "ਟਾਈਪ-ਰਾਈਟਰ" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "ਇਨ-ਲਾਈਨ ਨੋਟ" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "ਪੌਪ-ਅੱਪ ਨੋਟ" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "ਹੱਥ ਨਾਲ ਖਿੱਚੀ ਲਾਈਨ" + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "ਸਿੱਧੀ ਲਾਈਨ" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "ਤੀਰ" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "ਆਇਤਾਕਾਰ" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "ਅੰਡਾਕਾਰ" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "ਬਹੁਭੁਜ" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "ਜੁਮੈਟਰੀ ਵਾਲੀਆਂ ਸ਼ਕਲਾਂ" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "ਮੋਹਰ" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "ਫ਼ੌਰੀ ਵਿਆਖਿਆਵਾਂ" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "ਫ਼ੌਰੀ ਵਿਆਖਿਆਵਾਂ ਤੋਂ ਵਿਆਖਿਆ ਟੂਲ ਚੁਣੋ" + +#: part/annotationactionhandler.cpp:651 +#, kde-format +msgid "Quick Annotation Bar" +msgstr "ਫ਼ੌਰੀ ਵਿਆਖਿਆ ਪੱਟੀ" + +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "ਫ਼ੌਰੀ ਵਿਆਖਿਆ ਵਿੱਚ ਜੋੜੋ" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "ਸਰਗਰਮ ਰੱਖੋ" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "ਵਰਤਣ ਦੇ ਬਾਅਦ ਵਿਆਖਿਆ ਟੂਲ ਨੂੰ ਸਰਗਰਮ ਰੱਖੋ" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "ਵਿਆਖਿਆ ਟੂਲਾਂ ਲਈ ਆਕਾਰ ਅਨੁਪਾਤ ਅਤੇ ਕੋਣ" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "ਫ਼ੋਂਟ" + +#: part/annotationactionhandler.cpp:681 +#, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "ਵਿਆਖਿਆ ਲਈ ਸੈਟਿੰਗਾਂ" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "ਲਾਈਨ ਦੀ ਚੌੜਾਈ" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "ਪਾਰਦਰਸ਼ਤਾ" + +#: part/annotationactionhandler.cpp:696 +#, kde-format +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1%" + +#: part/annotationmodel.cpp:320 +#, kde-format +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "ਸਫ਼ਾ %1 (%2)" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "%1 ਸਫ਼ਾ" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "ਵਿਆਖਿਆ" +msgstr[1] "%1 ਵਿਆਖਿਆਵਾਂ" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "ਪੌਪ-ਅੱਪ ਨੋਟਿਸ ਖੋਲ੍ਹੋ(&O)" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "ਬੁੱਕਮਾਰਕ ਨੂੰ ਹਟਾਓ" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "ਬੁੱਕਮਾਰਕ ਜੋੜੋ" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, kde-format +msgid "Copy Text to Clipboard" +msgstr "ਲਿਖਤ ਨੂੰ ਕਲਿੱਪਬੋਰਡ ਵਿੱਚ ਕਾਪੀ ਕਰੋ" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "ਕਾਪੀ ਨੂੰ DRM ਰਾਹੀਂ ਮਨ੍ਹਾਂ ਕੀਤਾ ਹੈ" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "ਹਟਾਓ(&D)" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ(&P)" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, fuzzy, kde-format +#| msgctxt "%1 is the name of the file to save" +#| msgid "&Save '%1'..." +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "'%1' ਨੂੰ ਸੰਭਾਲੋ(&S)..." + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "ਦਿੱਖ(&A)" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "ਸਧਾਰਨ(&G)" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "ਲੇਖਕ(&A):" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "ਬਣਾਇਆ:" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "ਸੋਧ ਕੀਤੀ:" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "ਪੌਪਅੱਪ ਨੋਟ ਵਿਸ਼ੇਸ਼ਤਾ" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "ਟਾਈਪ-ਰਾਈਟਰ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "ਇਨ-ਲਾਇਨ ਨੋਟ ਵਿਸ਼ੇਸ਼ਤਾ" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "ਸਿੱਧੀ ਲਾਇਨ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "ਬਹੁਭੁਜ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "ਜੁਮੈਟਰੀ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "ਲਿਖਤ ਨਿਸ਼ਾਨ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "ਮੋਹਰ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "ਹੱਥ-ਨਾਲ ਖਿੱਚ ਲਾਇਨ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "ਕਰੈਟ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "ਫਾਇਲ ਅਟੈਂਚਮੈਂਟ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "ਸਾਊਂਡ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "ਮੂਵੀ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "ਵਿਆਖਿਆ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "ਫਾਇਲ ਤੋਂ ਪਸੰਦੀਦਾ ਸਟੈਂਪ ਨਿਸ਼ਾਨ ਚੁਣੋ" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "ਪਸੰਦੀਦਾ ਸਟੈਂਪ ਨਿਸ਼ਾਨ ਚੁਣੋ" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" +"*.ico *.png *.xpm *.svg *.svgz | ਆਈਕਾਨ ਫਾਇਲਾਂ (*.ico *.png *.xpm *.svg *.svgz)" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "%1 ਫਾਇਲ ਨੂੰ ਲੋਡ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "ਨਕਾਰਾ ਫਾਇਲ" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "ਰੰਗ(&C):" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, fuzzy, kde-format +#| msgctxt "item:inlistbox Config dialog, general page, custom zoom factor" +#| msgid "%v%" +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%v%" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "ਪਾਰਦਰਸ਼ਤਾ(&O):" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "ਆਈਕਾਨ:" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "ਟਿੱਪਣੀ" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "ਮਦਦ" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "ਸ਼ਾਮਲ" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "ਕੁੰਜੀ" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "ਨਵਾਂ ਪ੍ਹੈਰਾ" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "ਨੋਟ" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "ਪ੍ਹੈਰਾ" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "ਫੋਂਟ:" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "ਲਿਖਤ ਰੰਗ(&c):" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "ਇਕਸਾਰ(&A):" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "ਖੱਬੇ" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "ਸੈਂਟਰ" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "ਸੱਜੇ" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "ਹਾਸ਼ੀਏ ਦੀ ਚੌੜਾਈ(&w):" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "ਮਨਜ਼ੂਰ-ਸ਼ੁਦਾ" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "ਇੰਝ ਹੀ" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "ਗੁਪਤ" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "ਵਿਭਾਗੀ" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "ਖਰੜਾ" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "ਤਜਰਬੇ ਅਧੀਨ" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "ਮਿਆਦ ਖਤਮ" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "ਅੰਤਮ" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "ਟਿੱਪਣੀ ਲਈ" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "ਪਬਲਿਕ ਰੀਲਿਜ਼ ਲਈ ਨਹੀਂ" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "ਮਨਜ਼ੂਰ ਨਹੀਂ" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "ਪਬਲਿਕ ਰੀਲਿਜ਼ ਲਈ ਨਹੀਂ ਹੈ" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "ਗੂੜ੍ਹਾ" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "ਬਹੁਤ ਖੁਫ਼ੀਆ" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "ਬੁੱਕਮਾਰਕ" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "ਜਾਣਕਾਰੀ" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "ਮੋਹਰ ਦਾ ਨਿਸ਼ਾਨ:" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "ਚੌੜਾਈ(&W):" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "ਲਾਈਨ ਸ਼ੁਰੂ:" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "ਲਾਈਨ ਖਤਮ:" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "ਵਰਗ" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "ਚੱਕਰ" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "ਘਣਾਕਾਰ" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "ਖੁੱਲ੍ਹਾ ਤੀਰ" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "ਬੰਦ ਕੀਤਾ ਤੀਰ" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "ਕੋਈ ਨਹੀਂ" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "ਪੀਪਾ" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "ਸੱਜਾ ਖੁੱਲ੍ਹਾ ਤੀਰ" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "ਸੱਜਾ ਬੰਦ ਕੀਤਾ ਤੀਰ" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "ਟੱਕ" + +#: part/annotationwidgets.cpp:531 +#, kde-format +msgid "Leader line length:" +msgstr "ਲੀਡਰ ਲਾਈਨ ਲੰਬਾਈ:" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "ਲੀਡਰ ਲਾਈਨ ਇਕਸ਼ਟੈਨਸ਼ਨ ਲੰਬਾਈ:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "ਸਮਰੱਥ ਹੈ" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "ਸ਼ਕਲ ਭਰਨ:" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "ਕਿਸਮ:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "ਵਿੰਨ੍ਹੋ" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "ਫਾਇਲ ਅਟੈਂਚਮੈਂਟ ਨਿਸ਼ਾਨ:" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "ਗਰਾਫ਼" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "ਪੁਸ਼ ਪਿੰਨ" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "ਪੇਪਰਕਲਿੱਪ" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "ਟੈਗ" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "ਫਾਇਲ" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "ਉਪਲੱਬਧ ਨਹੀਂ" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "ਕੋਈ ਵੇਰਵਾ ਉਪਲੱਬਧ ਨਹੀਂ।" + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "ਨਾਂ:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "ਵੇਰਵਾ:" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "ਕਰੈਟ ਨਿਸ਼ਾਨ:" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "ਕੋਈ ਨਹੀਂ" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "ਇਹ ਨੋਟ ਬੰਦ ਕਰੋ" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "ਚੋਣਾਂ" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "" + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "LaTeX ਰੈਂਡਰਿੰਗ ਫੇਲ੍ਹ ਹੋਈ ਹੈ" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "dvipng ਚੱਲਣਯੋਗ ਨਹੀਂ ਲੱਭੀ।" + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "'latex' ਕਮਾਂਡ ਚਲਾਉਣ ਦੇ ਦੌਰਾਨ ਸਮੱਸਿਆ ਆਈ ਹੈ।" + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "'dvipng' ਕਮਾਂਡ ਚਲਾਉਣ ਦੇ ਦੌਰਾਨ ਸਮੱਸਿਆ ਆਈ ਹੈ।" + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"ਇੱਕ ਬੁੱਕਮਾਰਕ" +msgstr[1] "" +"%1\n" +"\n" +"%2 ਬੁੱਕਮਾਰਕ" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "ਬੁੱਕਮਾਰਕ" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "ਸਭ ਦਸਤਾਵੇਜ਼ਾਂ ਲਈ ਵੇਖਾਓ" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, fuzzy, kde-format +#| msgid "S&earch:" +msgid "Search…" +msgstr "ਖੋਜ(&e):" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, fuzzy, kde-format +#| msgid "Expand all" +msgid "Expand All" +msgstr "ਸਭ ਨੂੰ ਫੈਲਾਓ" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, fuzzy, kde-format +#| msgid "Collapse all" +msgid "Collapse All" +msgstr "ਸਭ ਸਮੇਟੋ" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "ਇਸ ਬੁੱਕਮਾਰਕ ਉੱਤੇ ਜਾਓ" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "ਬੁੱਕਮਾਰਕ ਦਾ ਨਾਂ ਬਦਲੋ" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "ਦਸਤਾਵੇਜ਼ ਨੂੰ ਖੋਲ੍ਹੋ" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "ਇਸ ਦਸਤਾਵੇਜ਼ ਲਈ ਸਭ ਬੁੱਕਮਾਰਕਾਂ ਨੂੰ ਹਟਾਓ" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "ਸਰਟੀਫਿਕੇਟ ਦਰਸ਼ਕ" + +#: part/certificateviewer.cpp:50 +#, fuzzy, kde-format +#| msgid "Export..." +msgid "Export…" +msgstr "ਐਕਸਪੋਰਟ..." + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "ਸਧਾਰਨ" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "ਇਸ ਵਲੋਂ ਜਾਰੀ" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "ਆਮ ਨਾਂ(CN)" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "ਈਮੇਲ" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "ਸੰਗਠਨ(O)" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "ਇਸ ਨੂੰ ਜਾਰੀ ਕੀਤਾ" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "ਵੈਧਤਾ" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "ਫਿੰਗਰਪਰਿੰਟ" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "SHA-1 ਫਿੰਗਰਪਰਿੰਟ" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "SHA-256 ਫਿੰਗਰਪਰਿੰਟ" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "ਵੇਰਵੇ" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "ਸਰਟੀਫਿਕੇਟ ਡਾਟਾ:" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "ਤੁਸੀਂ ਇਸ ਸਰਟੀਫਿਕੇਟ ਨੂੰ ਕਿੱਥੇ ਸੰਭਾਲਣਾ ਚਾਹੁੰਦੇ ਹੋ?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "ਸਰਟੀਫਿਕੇਟ ਫਾਇਲ (*.cer)" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "ਰੰਗ ਮੋਡ(&C)" + +#: part/colormodemenu.cpp:21 +#, kde-format +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "ਰੰਗ ਬਦਲੋ" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "ਸਧਾਰਨ ਰੰਗ(&N)" + +#: part/colormodemenu.cpp:41 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "ਉਲਟ ਰੰਗ(&I)" + +#: part/colormodemenu.cpp:42 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "ਪੇਪਰ ਰੰਗ ਬਦਲੋ(&P)" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "ਗੂੜੇ ਅਤੇ ਫਿੱਕੇ ਰੰਗ ਬਦਲੋ(&D)" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "ਕਾਲੇ ਅਤੇ ਚਿੱਟੇ ਲਈ ਬਦਲੋ(&B)" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "ਉਲਟ ਚਮਕ(&L)" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "ਲਾਲ" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "ਹਰਾ" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "ਨੀਲਾ" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "ਪੀਲਾ" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "ਕਾਲਾ" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "ਚਿੱਟਾ" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "ਪੀਲਾ ਹਾਈਲਾਇਟਰ" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "ਹਰਾ ਹਾਈਲਾਇਟਰ" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "ਲਿਖਤ ਪਾਓ" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "ਲਿੰਕ ਦੁਆਲੇ ਹਾਸ਼ੀਆਂ ਖਿੱਚੋ" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "ਰੰਗ ਬਦਲੋ" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "ਸਾਵਧਾਨ: ਡਰਾਇੰਗ ਸਪੀਡ ਵਧਣ ਨਾਲ ਇਹਨਾਂ ਚੋਣਾਂ ਬੁਰੀ ਤਰਾਂ ਪ੍ਰਭਾਵਿਤ ਹੋਣਗੀਆਂ।" + +#: part/dlgaccessibility.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "ਉਲਟ ਰੰਗ" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "ਪੇਪਰ ਰੰਗ ਬਦਲੋ" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "ਗੂੜੇ ਅਤੇ ਫਿੱਕੇ ਰੰਗ ਬਦਲੋ" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "ਕਾਲੇ ਅਤੇ ਚਿੱਟੇ ਲਈ ਬਦਲੋ" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "ਉਲਟ ਚਮਕ" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "ਰੰਗ ਮੋਡ:" + +#: part/dlgaccessibility.cpp:87 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "ਪੇਪਰ ਰੰਗ:" + +#: part/dlgaccessibility.cpp:99 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "ਗੂੜ੍ਹਾ ਰੰਗ:" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "ਹਲਕਾ ਰੰਗ:" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "ਥਰੈਸ਼ਹੋਲਡ:" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "ਕਾਨਟਰੈਸਟ:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "ਲਿਖਤ-ਤੋਂ-ਬੋਲ ਇੰਜਣ:" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "ਲਿਖਤ-ਤੋਂ-ਬੋਲ ਆਵਾਜ਼:" + +#: part/dlgannotations.cpp:25 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "ਪੂਰੀ ਵਿਆਖਿਆ ਟੂਲਬਾਰ" + +#: part/dlgannotations.cpp:26 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "ਫ਼ੌਰੀ ਵਿਆਖਿਆ ਟੂਲਬਾਰ" + +#: part/dlgannotations.cpp:28 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "ਵਿਆਖਿਆ ਟੂਲਬਾਰ:" + +#: part/dlgannotations.cpp:34 +#, kde-format +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "ਲੇਖਕ:" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"ਨੋਟ: ਇੱਥੇ ਦਿੱਤੀ ਜਾਣਕਾਰੀ ਨੂੰ ਕੇਵਲ ਵਿਆਖਿਆ ਲਈ ਹੀ ਵਰਤਿਆ ਜਾਵੇਗਾ। ਜਾਣਕਾਰੀ ਨੂੰ ਵਿਆਖਿਆ " +"ਕੀਤੇ ਦਸਤਾਵੇਜ਼ਾਂ ਵਿੱਚ ਸੰਭਾਲਿਆ ਜਾਂਦਾ ਹੈ ਅਤੇ ਇਸ ਕਰਕੇ ਦਸਤਾਵੇਜ਼ ਨਾਲ ਹੀ ਭੇਜਿਆ ਜਾਵੇਗਾ।" + +#: part/dlgannotations.cpp:48 +#, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

    Quick Annotation Tools

    " +msgstr "

    ਫ਼ੌਰੀ ਵਿਆਖਿਆ ਟੂਲ

    " + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "ਸੰਪਾਦਕ ਚੁਣੋ, ਜੋ ਕਿ ਤੁਸੀਂ ਚਲਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ, ਜਦੋਂ ਓਕੁਲਾਰ ਇੱਕ ਸਰੋਤ ਫਾਇਲ ਖੋਲ੍ਹਦਾ ਹੈ।" + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "ਪਸੰਦੀਦਾ ਲਿਖਤ ਸੰਪਾਦਕ" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "ਕੇਟ" + +#: part/dlgeditor.cpp:31 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "ਕਾਇਲ" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "ਈਮੈਕਸ ਕਲਾਈਂਟ" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "Lyx ਕਲਾਈਂਟ" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "TeXstudio" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "TeXiFy IDEA" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "ਐਡੀਟਰ:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
    \n" +"You can also put few placeholders:\n" +"
      \n" +"
    • %f - the file name
    • \n" +"
    • %l - the line of the file to be reached
    • \n" +"
    • %c - the column of the file to be reached
    • \n" +"
    \n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "ਕਮਾਂਡ:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "ਦਿੱਖ:" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "ਸਕਰੋਲਪੱਟੀ ਵੇਖੋ" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "ਥੰਮਨੇਲ ਸਫ਼ੇ ਨਾਲ ਲਿੰਕ ਕਰੋ" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "ਸੰਕੇਤ ਅਤੇ ਜਾਣਕਾਰੀ ਸੁਨੇਹੇ ਵੇਖਾਓ" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "ਇਮਬੈੱਡ ਕੀਤੀਆਂ ਫਾਇਲਾਂ, ਫਾਰਮ ਜਾਂ ਦਸਤਖ਼ਤਾਂ ਬਾਰੇ ਸੂਚਨਾ ਦਿਓ" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "ਟਾਈਟਲ ਪੱਟੀ ਵਿੱਚ ਦਸਤਾਵੇਜ਼ ਟਾਈਟਲ ਤਾਂ ਵੇਖਾਓ, ਜੇ ਮੌਜੂਦ ਹੋਵੇ" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "ਸਿਰਫ਼ ਫਾਇਲ ਨਾਂ ਹੀ ਵੇਖਾਓ" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "ਪੂਰਾ ਫਾਇਲ ਪਾਥ ਵੇਖਾਓ" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "ਦਸਤਾਵੇਜ਼ ਟਾਈਟਲ ਨਾ ਵੇਖਾਉਣਾ ਹੋਵੇ ਜਦੋਂ:" + +#: part/dlggeneral.cpp:92 +#, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "ਕਸਟਮ ਬੈਕਗਰਾਊਂਡ ਰੰਗ ਵਰਤੋਂ:" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "ਪ੍ਰੋਗਰਾਮ ਫੀਚਰ:" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "ਨਵੀਆਂ ਫਾਇਲਾਂ ਨੂੰ ਟੈਬਾਂ ਵਿੱਚ ਖੋਲ੍ਹੋ" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "ਜੇ ਫਾਇਲ ਪਹਿਲਾਂ ਹੀ ਖੁੱਲ੍ਹੀ ਹੋਵੇ ਤਾਂ ਮੌਜੂਦਾ ਟੈਬ ਉੱਤੇ ਜਾਓ" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "DRM ਸੀਮਾਵਾਂ ਦੀ ਪਾਲਣਾ ਕਰੋ" + +#: part/dlggeneral.cpp:148 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "ਫਾਇਲ ਬਦਲਾਅ ਹੋਣ ਨਾਲ ਦਸਤਾਵੇਜ਼ ਮੁੜ-ਲੋਡ ਕਰੋ" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "ਬੈਕਐਂਡ ਚੋਣ ਡਾਈਲਾਗ ਵੇਖੋ" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "ਸੱਜਿਓ ਖੱਬੇ ਪੜ੍ਹਨ ਦੀ ਦਿਸ਼ਾ" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" + +#: part/dlggeneral.cpp:178 +#, fuzzy, kde-format +#| msgctxt "@option:check Config dialog, general page" +#| msgid "Open in continuous mode by default" +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "ਮੂਲ ਰੂਪ ਵਿੱਚ ਹੀ ਲਗਾਤਾਰ ਢੰਗ ਨਾਲ ਖੋਲ੍ਹੋ" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "ਮੂਲ ਰੂਪ ਵਿੱਚ ਹੀ ਲਗਾਤਾਰ ਢੰਗ ਨਾਲ ਖੋਲ੍ਹੋ" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "ਜਦੋਂ ਝਲਕ ਟੂਲ ਵਰਤਿਆ ਜਾਵੇ ਤਾਂ ਸਕਰੀਨ ਦੇ ਕੋਨਿਆਂ ਤੋਂ ਕਰਸਰ ਨੂੰ ਸਮੇਟੋ" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "ਸੰਖੇਪ ਕਾਲਮ:" + +#: part/dlggeneral.cpp:220 +#, fuzzy, kde-format +#| msgctxt "item:inlistbox Config dialog, general page, custom zoom factor" +#| msgid "%v%" +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%v%" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "ਸਫ਼ੇ ਉੱਤੋ/ਹੇਠੋਂ ਓਵਰਲੈਪ:" + +#: part/dlggeneral.cpp:228 +#, fuzzy, kde-format +#| msgctxt "item:inlistbox Config dialog, general page, custom zoom factor" +#| msgid "%v%" +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%v%" + +#: part/dlggeneral.cpp:232 +#, fuzzy, kde-format +#| msgctxt "item:inlistbox Config dialog, general page, default zoom" +#| msgid "100%" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "100%" + +#: part/dlggeneral.cpp:233 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "ਚੌੜਾਈ ਫਿੱਟ" + +#: part/dlggeneral.cpp:234 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "ਸਫ਼ਾ ਫਿੱਟ" + +#: part/dlggeneral.cpp:235 +#, fuzzy, kde-format +#| msgid "Auto Fit" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "ਆਟੋ ਫਿੱਟ" + +#: part/dlggeneral.cpp:236 +#, fuzzy, kde-format +#| msgctxt "item:inlistbox Config dialog, general page, default zoom" +#| msgid "Custom" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "ਕਸਟਮ" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "ਡਿਫਾਲਟ ਜ਼ੂਮ:" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "ਪਾਰਦਰਸ਼ਤਾ ਪ੍ਰਭਾਵ ਸਮਰੱਥ ਕਰੋ" + +#: part/dlgperformance.cpp:28 +#, kde-format +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "CPU ਵਰਤੋਂ:" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "ਘੱਟ" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "ਸਧਾਰਨ (ਡਿਫਾਲਟ)" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "ਆਕਰਮਣਸ਼ੀਲ" + +#: part/dlgperformance.cpp:38 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "ਗਰੀਡੀ" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "ਮੈਮੋਰੀ ਵਰਤੋਂ:" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "ਲਿਖਤ ਐਂਟੀਲਾਈਸਿੰਗ ਸਮਰੱਥ" + +#: part/dlgperformance.cpp:56 +#, kde-format +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "ਰੈਂਡਰਿੰਗ ਚੋਣਾਂ:" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "ਗਰਾਫਿਕਸ ਐਂਟੀਲਾਈਸਿੰਗ ਸਮਰੱਥ" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "ਲਿਖਤ ਹਿਟਿੰਗ ਸਮਰੱਥ" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "ਵਰਤੀ ਮੈਮੋਰੀ ਜਿੰਨਾ ਹੋ ਸਕੇ ਘੱਟ ਰੱਖੋ। ਕੁਝ ਵੀ ਮੁੜ ਨਾ ਵਰਤੋਂ (ਘੱਟ ਮੈਮੋਰੀ ਵਾਲੇ ਸਿਸਟਮਾਂ ਲਈ।)" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"ਮੈਮੋਰੀ ਵਰਤੋਂ ਅਤੇ ਸਪੀਡ ਤੇਜ਼ ਕਰਨ ਲਈ ਚੰਗਾ ਹੈ। ਅਗਲਾ ਸਫ਼ਾ ਪਹਿਲਾਂ ਹੀ ਲੋਡ ਹੁੰਦਾ ਹੈ ਅਤੇ ਖੋਜ ਤੇਜ਼ ਹੁੰਦੀ ਹੈ। " +"(ਆਮ ਤੌਰ ਉੱਤੇ 2GB ਮੈਮੋਰੀ ਵਾਲੇ ਸਿਸਟਮਾਂ ਲਈ।)" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"ਹਰ ਚੀਜ਼ ਮੈਮੋਰੀ ਵਿੱਚ ਰੱਖੋ। ਪਹਿਲਾਂ ਲੋਡ ਕੀਤੇ ਅਗਲੇ ਸਫ਼ੇ। ਖੋਜ ਬਹੁਤ ਤੇਜ਼ ਹੋ ਜਾਂਦੀ ਹੈ (4GB ਤੋਂ ਵੱਧ ਮੈਮੋਰੀ " +"ਵਾਲੇ ਸਿਸਟਮਾਂ ਲਈ ਹੀ।)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" + +#: part/dlgpresentation.cpp:38 +#, fuzzy, kde-format +#| msgctxt "Advance every %1 seconds" +#| msgid " second" +#| msgid_plural " seconds" +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] " ਸਕਿੰਟ" +msgstr[1] " ਸਕਿੰਟ" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "ਆਪਣੇ-ਆਪ ਅੱਗੇ ਜਾਓ:" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "ਆਖਰੀ ਸਫ਼ੇ ਉਪਰੰਤ ਲੂਪ" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "ਪਿੱਛੇ/ਅੱਗੇ ਜਾਣ ਲਈ ਖੱਬਿਓ/ਸੱਜਿਓ ਛੂਹੋ" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "ਅੱਗੇ ਜਾਣ ਲਈ ਕਿਤੇ ਵੀ ਛੂਹੋ" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "ਅਸਮਰੱਥ ਹੈ" + +#: part/dlgpresentation.cpp:63 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "ਟੱਚ ਨੇਵੀਗੇਸ਼ਨ:" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "ਬੈਕਗਰਾਊਂਡ ਰੰਗ:" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "ਦੇਰੀ ਉਪਰੰਤ ਓਹਲੇ" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "ਹਮੇਸ਼ਾ ਵੇਖੋ" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "ਹਮੇਸ਼ਾ ਓਹਲੇ" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "ਮਾਊਸ ਕਰਸਰ:" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "ਤਰੱਕੀ ਇੰਡੀਕੇਟਰ ਵੇਖੋ" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "ਸੰਖੇਪ ਸਫ਼ੇ ਨੂੰ ਵੇਖਾਓ" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "ਫ਼ੌਰਨ (ਕਦੇ ਵੀ ਵਿਆਖਿਆ ਨਾ ਵਰਤੋਂ)" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "ਤਬਦੀਲ" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "ਰਲਵਾਂ ਟਰਾਂਸਿਟਸ਼ਨ" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "ਵਰਟੀਕਲ ਬਲੈਂਡ" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "ਹਰੀਜ਼ਟਲ ਬਲੈਂਡ" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "ਬਾਕਸ ਇਨ" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "ਬਾਕਸ ਆਉਟ" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "ਘੋਲਣਾ" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "ਫਿੱਕਾ" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "ਜਗਮਗ ਹੇਠਾਂ ਵੱਲ" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "ਜਗਮਗ ਸੱਜੇ" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "ਜਗਮਗ ਸੱਜੇ-ਹੇਠਾਂ" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "ਹਰੀਜ਼ਟਲ ਅੰਦਰ ਵੰਡੋ" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "ਹਰੀਜ਼ਟਲ ਬਾਹਰ ਵੰਡੋ" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "ਵਰਟੀਕਲ ਅੰਦਰ ਵੰਡੋ" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "ਵਰਟੀਕਲ ਬਾਹਰ ਵੰਡੋ" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "ਹੇਠੋਂ ਹੂੰਝਾ" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "ਸੱਜਿਓ ਹੂੰਝਾ" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "ਖੱਬਿਓ ਹੂੰਝਾ" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "ਉੱਤੋਂ ਹੂੰਝਾ" + +#: part/dlgpresentation.cpp:121 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "ਡਿਫਾਲਟ ਟਰਾਂਸਿਟਸ਼ਨ:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "ਤਰਜੀਹੀ ਸਕਰੀਨ:" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

    Drawing Tools

    " +msgstr "

    ਡਰਾਇੰਗ ਟੂਲ

    " + +#: part/dlgpresentation.cpp:171 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "ਮੌਜੂਦਾ ਸਕਰੀਨ" + +#: part/dlgpresentation.cpp:172 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "ਡਿਫਾਲਟ ਸਕਰੀਨ" + +#: part/dlgpresentation.cpp:178 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "ਸਕਰੀਨ %1 (%2 %3 %4)" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "ਸਕਰੀਨ %1 (ਡਿਸ-ਕਨੈਕਟ ਹੈ)" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "ਡਰਾਇੰਗ ਟੂਲ: %1" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "ਰਬੜ" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "ਨਾਂ(&N):" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "ਟਾਈਪ(&T):" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "ਦਿੱਖ" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "ਲਿਖਤ ਨਿਸ਼ਾਨ" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "ਜੁਮੈਟਰੀ ਸ਼ਕਲ" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "ਟਿੱਪਣੀ ਟੂਲ ਬਣਾਓ" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "ਟਿੱਪਣੀ ਟੂਲ ਸੋਧ" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "ਰੰਗ:" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "ਪੈਨ ਦੀ ਚੌੜਾਈ(&P):" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "" + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "ਡਰਾਇੰਗ ਬਣਾਉਣ ਵਾਲਾ ਟੂਲ" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "ਡਰਾਇੰਗ ਸੋਧਣ ਵਾਲਾ ਟੂਲ" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "ਅਣਪਛਾਤਾ" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "ਇਮਬੈੱਡ ਕੀਤੀਆਂ ਫਾਇਲਾਂ" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "ਵੇਖੋ" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "ਨਾਂ" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "ਵਰਣਨ" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "ਆਕਾਰ" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "ਬਣਾਇਆ" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "ਸੋਧ ਕੀਤਾ" + +#: part/embeddedfilesdialog.cpp:154 +#, fuzzy, kde-format +#| msgid "Save As" +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "ਇੰਝ ਸੰਭਾਲੋ" + +#: part/embeddedfilesdialog.cpp:155 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "ਵੇਖੋ(&V)" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "ਪਰਿੰਟ ਝਲਕ ਭਾਗ ਲੋਡ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "ਪਰਿੰਟ ਝਲਕ" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "ਬੰਦ ਕਰੋ" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "ਖੋਜ(&i):" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "ਲਿਖਤ ਲਈ ਖੋਜ" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "ਅੱਗੇ" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "ਅੱਗੇ ਮੇਲ ਉੱਤੇ ਜਾਓ" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "ਪਿੱਛੇ" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "ਅੱਗੇ ਮੇਲ ਉੱਤੇ ਜਾਓ" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "ਖੋਜ ਰਵੱਈਆ ਸੋਧ" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "ਅੱਖਰ ਆਕਾਰ ਪ੍ਰਤੀ ਸੰਵੇਦਨਸ਼ੀਲ" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "ਮੌਜੂਦਾ ਸਫ਼ੇ ਤੋਂ" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "ਜਿਵੇਂ ਤੁਸੀਂ ਲਿਖੋ ਤਿਵੇਂ ਖੋਜੋ" + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "ਸਭ ਫਾਇਲਾਂ (*)" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, fuzzy, kde-format +#| msgctxt "@action:button" +#| msgid "Sign" +msgid "&Sign…" +msgstr "ਦਸਤਖ਼ਤ" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "ਦਸਤਖ਼ਤ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "ਖੋਜ ਚੋਣਾਂ" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "ਅੱਖਰ ਸੰਵੇਦਨਸ਼ੀਲ" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "ਨਿਯਮਤ ਸਮੀਕਰਨ" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "ਪਰਤਾਂ" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "ਵਿੱਚੋਂ" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "ਜ਼ੂਮ" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "100% ਜ਼ੂਮ ਕਰੋ" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "ਸੱਜੇ ਘੁੰਮਾਓ(&R)" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "ਸੱਜੇ" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "ਖੱਬੇ ਘੁੰਮਾਓ(&L)" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "ਖੱਬੇ" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "ਅਸਲੀ ਸਥਿਤੀ" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "ਵੇਖਣ ਲਈ ਟਰਿਮ(&T)" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "ਹਾਸ਼ੀਏ ਨੂੰ ਛਾਂਗੋ(&T)" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "ਚੋਣ ਲਈ ਛਾਂਗੋ(&S)" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "ਚੌੜਾਈ ਫਿੱਟ ਕਰੋ(&W)" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "ਸਫ਼ੇ ਨੂੰ ਫਿੱਟ ਕਰੋ(&P)" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "ਆਟੋ ਫਿੱਟ(&A)" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "ਵਿੰਡੋ ਨੂੰ ਸਫ਼ੇ ਲਈ ਫਿੱਟ ਕਰੋ(&n)" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "ਵੇਖਣ ਢੰਗ(&V)" + +#: part/pageview.cpp:594 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "ਇੱਕਲਾ ਸਫ਼ਾ(&S)" + +#: part/pageview.cpp:595 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "ਫੇਸਿੰਗ ਸਫ਼ੇ(&F)" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "ਸਫ਼ੇ ਫੇਸਿੰਗ (ਪਹਿਲਾਂ ਸਫ਼ਾ ਸੈਂਟਰ)(&C)" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "ਸੰਖੇਪ(&O)" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "ਇਕਸਾਰਤਾ(&C)" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "ਸੱਜੇ ਤੋਂ ਖੱਬੇ ਪੜ੍ਹਨ ਦੀ ਦਿਸ਼ਾ ਨੂੰ ਵਰਤੋਂ" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "ਝਲਕ(&B)" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "ਜ਼ੂਮ(&Z)" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "ਖੇਤਰ ਚੋਣ(&S)" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "ਲਿਖਤ ਚੋਣ(&T)" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "ਸਾਰਣੀ ਚੋਣ(&a)" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "ਵੱਡਦਰਸ਼ੀ(&M)" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "ਚੋਣ ਕਰਨ ਵਾਲੇ ਟੂਲ" + +#: part/pageview.cpp:711 +#, fuzzy, kde-format +#| msgid "Digitally &Sign..." +msgid "Digitally &Sign…" +msgstr "ਡਿਜ਼ਿਟਲ ਦਸਤਖਤ(&S)..." + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "ਪੂਰਾ ਦਸਤਾਵੇਜ਼ ਬੋਲੋ" + +#: part/pageview.cpp:722 +#, fuzzy, kde-format +#| msgid "Speak Current Page" +msgid "Speak From Current Page" +msgstr "ਮੌਜੂਦਾ ਸਫ਼ਾ ਬੋਲੋ" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "ਮੌਜੂਦਾ ਸਫ਼ਾ ਬੋਲੋ" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "ਬੋਲਣਾ ਚੁੱਪ ਕਰੋ" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "ਬੋਲਣਾ ਰੋਕੋ/ਮੁੜ-ਸੁਣਾਓ" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "ਉੱਤੇ ਸਰਕਾਓ" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "ਹੇਠਾਂ ਸਰਕਾਓ" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "ਸਫ਼ੇ ਨੂੰ ਉੱਤੇ ਸਰਕਾਓ" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "ਸਫ਼ੇ ਨੂੰ ਹੇਠਾਂ ਨੂੰ ਸਰਕਾਓ" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "ਫਾਰਮ ਵੇਖੋ" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] " ਇਕਹੇਰਾ-ਸਫ਼ਾ ਦਸਤਾਵੇਜ਼ ਲੋਡ ਕੀਤਾ ਗਿਆ।" +msgstr[1] " %1-ਸਫ਼ਾ ਦਸਤਾਵੇਜ਼ ਲੋਡ ਕੀਤਾ ਗਿਆ।" + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "ਸਾਰਣੀ ਸਮੱਗਰੀ ਨੂੰ ਕਲਿੱਪਬੋਰਡ ਵਿੱਚ ਕਾਪੀ ਕੀਤਾ" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "ਲਿਖਤ (1 ਅੱਖਰ)" +msgstr[1] "ਲਿਖਤ (%1 ਅੱਖਰ)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "ਕਲਿੱਪਬੋਰਡ ਵਿੱਚ ਕਾਪੀ ਕਰੋ" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "ਲਿਖਤ ਨੂੰ ਬੋਲੋ" + +#: part/pageview.cpp:2863 +#, kde-format +msgid "Image (%1 × %2 pixels)" +msgstr "ਚਿੱਤਰ (%1 × %2 ਪਿਕਸਲ)" + +#: part/pageview.cpp:2865 +#, kde-format +msgid "Save to File…" +msgstr "…ਫਾਇਲ 'ਚ ਸੰਭਾਲੋ" + +#: part/pageview.cpp:2885 +#, kde-format +msgid "Image [%1 × %2] copied to clipboard." +msgstr "ਚਿੱਤਰ [%1 x %2] ਨੂੰ ਕਲਿੱਪਬੋਰਡ ਵਿੱਚ ਕਾਪੀ ਕੀਤਾ ਗਿਆ ਹੈ।" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "ਫਾਇਲ ਨੂੰ ਸੰਭਾਲੋ" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "ਚਿੱਤਰ (*.png *.jpeg)" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "ਫਾਇਲ ਸੰਭਾਲੀ ਨਹੀਂ ਗਈ ਹੈ।" + +#: part/pageview.cpp:2901 +#, kde-format +msgid "Image [%1 × %2] saved to %3 file." +msgstr "ਚਿੱਤਰ [%1 x %2] ਨੂੰ ਫਾਇਲ %3 ਵਿੱਚ ਸੰਭਾਲਿਆ ਗਿਆ ਹੈ।" + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "ਲਿਖਤ ਨੂੰ ਕਾਪੀ ਕਰੋ" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "'%1' ਉੱਤੇ ਜਾਓ" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "ਚੌੜਾਈ ਫਿੱਟ" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "ਸਫ਼ਾ ਫਿੱਟ" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "ਆਟੋ ਫਿੱਟ" + +#: part/pageview.cpp:4107 +#, kde-format +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1%" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "'%1' ਨਾਲ ਭਾਲ ਜਾਰੀ ਹੈ" + +#: part/pageview.cpp:4404 +#, fuzzy, kde-format +#| msgid "Configure Web Shortcuts..." +msgid "Configure Web Shortcuts…" +msgstr "...ਵੈੱਬ ਸ਼ਾਰਟਕੱਟ ਸੰਰਚਨਾ" + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "ਇਹ ਲਿੰਕ ਵੇਖੋ" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "ਇਹ ਸਾਊਂਡ ਚਲਾਓ" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "ਸਾਊਂਡ ਰੋਕੋ" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "ਲਿੰਕ ਐਡਰੈੱਸ ਕਾਪੀ ਕਰੋ" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "ਇਸ ਦਸਤਾਵੇਜ਼ ਵਿੱਚ '%1' ਲੱਭੋ" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "ਜੀ ਆਇਆਂ ਨੂੰ" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "ਜ਼ੂਮ ਕਰਨ ਖੇਤਰ ਚੁਣੋ। ਜ਼ੂਮ ਕਰਨ ਸੱਜਾ ਬਟਨ ਦਬਾਉ।" + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "ਵੱਡਦਰਸ਼ੀ ਝਲਕ ਵੇਖਣ ਲਈ ਕਲਿੱਕ ਕਰੋ।" + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "ਲਿਖਤ/ਗਰਾਫਿਕਸ ਦੀ ਕਾਪੀ ਕਰਨ ਲਈ ਆਇਤ ਬਣਾਓ।" + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "ਲਿਖਤ ਚੁਣੋ" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "ਟੇਬਲ ਦੁਆਲੇ ਆਇਤ ਬਣਾਓ, ਵੰਡਣ ਲਈ ਕੋਨੇ ਦੇ ਨੇੜੇ ਕਲਿੱਕ ਕਰੋ; ਸਾਫ਼ ਕਰਨ ਲਈ Esc ਦੱਬੋ।" + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" + +#: part/pageview.cpp:5188 +#, fuzzy, kde-format +#| msgid "Certificates" +msgid "No valid certificates" +msgstr "ਸਰਟੀਫਿਕੇਟ" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, fuzzy, kde-format +#| msgid "View in Certificate Manager" +msgid "Open Certificate Manager" +msgstr "ਸਰਟੀਫਿਕੇਟ ਮੈਨੇਜਰ ਵਿੱਚ ਵੇਖੋ" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
    Launch Certificate Manager " +"to import or manage certificates
    For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, fuzzy, kde-format +#| msgid "Certificates" +msgid "No certificates found" +msgstr "ਸਰਟੀਫਿਕੇਟ" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
    For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" +"ਤੁਹਾਡੇ ਕੋਲ ਕੁਝ ਨਾ-ਸੰਭਾਲੀਆਂ ਤਬਦੀਲੀਆਂ ਹਨ। ਇਸ ਉੱਤੇ ਦਸਤਖਤ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਸੰਭਾਲੋ।" + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "ਦਸਤਖ਼ਤ ਖੇਤਰ ਜੋੜਨ ਲਈ ਚੌਰਸ ਖਾਨਾ ਵਾਹੋ" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "ਸਫ਼ੇ ਦੇ ਖੇਤਰ, ਜਿਸ ਨੂੰ ਤੁਸੀਂ ਦਿਖਾਈ ਦਿੰਦਾ ਰੱਖਣਾ ਚਾਹੁੰਦੇ ਹੋ, ਦੁਆਲੇ ਆਇਤ ਵਾਹੋ" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "ਨਵਾਂ ਲਿਖਤ ਨੋਟ" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "ਨਵੇਂ ਨੋਟ ਲਈ ਲਿਖਤ:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"ਦਸਤਖ਼ਤ ਕੀਤੇ: %1\n" +"\n" +"ਤਾਰੀਖ: %2" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "ਫੇਰ ਸ਼ੁਰੂ ਕਰੋ" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "ਦਸਤਖ਼ਤ" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name" +msgstr "ਲੇਖਕ ਦਾ ਨਾਂ" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name for the annotation:" +msgstr "ਵਿਆਖਿਆ ਲਈ ਲੇਖਕ ਦਾ ਨਾਂ:" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "ਅੰਡਾਕਾਰ ਸ਼ਕਲ ਵਾਹੋ (ਖੇਤਰ ਚੁਣਨ ਲਈ ਖਿੱਚੋ)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "ਲਿਖਤ ਨੂੰ ਉਘਾੜੋ" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "ਹੱਥ-ਨਾਲ ਲਾਈਨ ਵਾਹੋ" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "ਇਨ-ਲਾਈਨ ਲਿਖਤੀ ਵਿਆਖਿਆ (ਇੱਕ ਜ਼ੋਨ ਚੁਣਨ ਵਾਸਤੇ ਡਰੈਗ ਕਰੋ)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "ਪੋਪ-ਅੱਪ ਨੋਟ ਲਾਓ" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "ਇੱਕ ਬਹੁ-ਭੁਜ ਵਾਹੋ (ਬੰਦ ਕਰਨ ਲਈ ਪਹਿਲੇਂ ਬਿੰਦੂ ਉੱਤੇ ਕਲਿੱਕ ਕਰੋ)" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "ਆਇਤ ਵਾਹੋ" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "ਲੈਹਰੀਆ ਲਿਖਤ" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "ਇੱਕ ਸਟੈਂਪ ਨਿਸ਼ਾਨ ਲਾਓ" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "ਸਿੱਧੀ ਲਾਈਨ ਖਿੱਚੋ" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "ਲਿਖਤ ਨੂੰ ਵਿੰਨ੍ਹੋ" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "ਲਿਖਤ ਹੇਠ ਲਾਈਨ" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "ਟਾਈਪ-ਰਾਈਟਰ ਵਿਆਖਿਆ (ਇੱਕ ਜ਼ੋਨ ਚੁਣਨ ਵਾਸਤੇ ਡਰੈਗ ਕਰੋ)" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "ਹਾਈਲਾਈਟਰ" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "ਪਸੰਦੀਦਾ ਵਿਆਖਿਆ ਜੋੜੋ" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Custom annotation name:" +msgstr "ਪਸੰਦੀਦਾ ਵਿਆਖਿਆ ਨਾਂ:" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "ਫਾਇਲ(&F)" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "ਸੈਟਿੰਗਾਂ(&S)" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "ਮਦਦ(&H)" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "ਸਥਿਤੀ(&O)" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "ਬੁੱਕਮਾਰਕ(&B)" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "ਦਰਸ਼ਕ ਟੂਲਬਾਰ" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "ਥੰਮਨੇਲ" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "ਵਿਆਖਿਆਵਾਂ" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
    Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"ਇਹ ਦਸਤਾਵੇਜ਼ ਵਿੱਚ ਇਮਬੈੱਡ ਫਾਇਲਾਂ ਹਨ। ਵੇਖਣ ਲਈ ਇੱਥੇ " +"ਕਲਿੱਕ ਕਰੋ ਜਾਂ ਫਾਇਲ -> ਇਮਬੈੱਡ ਕੀਤੀਆਂ ਫਾਇਲਾਂ ਉੱਤੇ ਜਾਓ।" + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "ਪਿੱਛੇ" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "ਪਿਛਲੇ ਸਫ਼ੇ ਤੋਂ ਪਿੱਛੇ" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "ਦਸਤਾਵੇਜ਼ ਦੇ ਪਿਛਲੇ ਸਫ਼ੇ ਉੱਤੇ ਭੇਜਦਾ ਹੈ" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "ਅੱਗੇ" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "ਅਗਲੇ ਸਫ਼ੇ ਤੋਂ ਅੱਗੇ" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "ਦਸਤਾਵੇਜ਼ ਦੇ ਅਗਲੇ ਸਫ਼ੇ ਉੱਤੇ ਭੇਜੋ" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "ਦਸਤਾਵੇਜ਼ ਦੇ ਸ਼ੁਰੂ ਵਿੱਚ" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "ਦਸਤਾਵੇਜ਼ ਦੇ ਸ਼ੁਰੂ ਵਿੱਚ ਭੇਜਦਾ ਹੈ" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "ਦਸਤਾਵੇਜ਼ ਦਾ ਅੰਤ" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "ਦਸਤਾਵੇਜ਼ ਦੇ ਅੰਤ ਉੱਤੇ ਭੇਜਦਾ ਹੈ" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "ਮੌਜੂਦਾ ਬੁੱਕਮਾਰਕ ਦਾ ਨਾਂ ਬਦਲੋ" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "ਪਿੱਛੇ ਬੁੱਕਮਾਰਕ" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "ਪਿਛਲੇ ਬੁੱਕਮਾਰਕ ਉੱਤੇ ਜਾਓ" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "ਅੱਗੇ ਬੁੱਕਮਾਰਕ" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "ਅੱਗੇ ਬੁੱਕਮਾਰਕ ਉੱਤੇ ਜਾਓ" + +#: part/part.cpp:748 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgid "Configure Okular…" +msgstr "ਓਕੁਲਾਰ ਸੰਰਚਨਾ..." + +#: part/part.cpp:751 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Configure Viewer…" +msgstr "ਦਰਸ਼ਕ ਸੰਰਚਨਾ" + +#: part/part.cpp:757 +#, fuzzy, kde-format +#| msgid "Configure Viewer Backends" +msgid "Configure Viewer Backends…" +msgstr "ਦਰਸ਼ਕ ਬੈਕ-ਐਂਡ ਸੰਰਚਨਾ" + +#: part/part.cpp:759 +#, fuzzy, kde-format +#| msgid "Configure Backends" +msgid "Configure Backends…" +msgstr "ਬੈਕ-ਐਂਡ ਸੰਰਚਨਾ" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "ਬੈਕ-ਐਂਡ ਬਾਰੇ" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "ਮੁੜ-ਲੋਡ ਕਰੋ(&d)" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "ਮੌਜੂਦਾ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਡਿਸਕ ਤੋਂ ਮੁੜ ਲੋਡ ਕਰੋ।" + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "ਖੋਜ ਪੱਟੀ ਬੰਦ ਕਰੋ(&F)" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "ਸਫ਼ਾ ਨੰਬਰ" + +#: part/part.cpp:817 +#, fuzzy, kde-format +#| msgctxt "@action" +#| msgid "Configure Color Modes..." +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "ਰੰਗ ਢੰਗ ਸੰਰਚਨਾ..." + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "ਮੌਜੂਦਾ ਸਫ਼ੇ ਤੋਂ ਸਾਰੀ ਲਿਖਤ ਨੂੰ ਚੁਣੋ" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "ਬਾਹੀ ਵੇਖਾਓ(&i)" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "ਸਫ਼ਾ ਪੱਟੀ ਵੱਖੋ(&P)" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "ਦਸਤਖ਼ਤ ਪੈਨਲ ਵੇਖੋ(&S)" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "ਇਮਬੈੱਡ ਕੀਤੀਆਂ ਫਾਇਲ(&E)" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "ਇੰਝ ਐਕਸਪੋਰਟ ਕਰੋ(&x)" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "ਸਾਂਝਾ ਕਰੋ(&h)" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "ਪਰਿਜ਼ੈੱਨਟੇਸ਼ਨ(&r)" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "ਰੱਖਣ ਵਾਲਾ ਫੋਲਡਰ ਖੋਲ੍ਹੋ(&t)" + +#: part/part.cpp:945 +#, fuzzy, kde-format +#| msgid "&Import PostScript as PDF..." +msgid "&Import PostScript as PDF…" +msgstr "ਪੋਸਟ-ਸਕ੍ਰਿਪਟ (ps) PDF ਵਾਂਗ ਇੰਪੋਰਟ ਕਰੋ(&I)..." + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "ਕਾਲੀ-ਸਕਰੀਨ ਮੋਡ ਸਵਿੱਚ" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "ਡਰਾਇੰਗ ਮਿਟਾਓ" + +#: part/part.cpp:962 +#, fuzzy, kde-format +#| msgid "Configure Annotations..." +msgid "Configure Annotations…" +msgstr "...ਟਿੱਪਣੀ ਸੰਰਚਨਾ" + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "ਪਰਿਜ਼ੈੱਨਟੇਸ਼ਨ ਚਲਾਓ/ਰੋਕੋ" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" +"ਤੁਸੀਂ ਖੋਲ੍ਹੇ ਦਸਤਾਵੇਜ਼ ਵਿੱਚ ਹੁਣੇ ਹੀ ਸੁਧਾਰ ਕੀਤਾ ਹੈ, ਪਰ ਇਸ ਕਿਸਮ ਦੇ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਸੰਭਾਲਿਆ ਨਹੀਂ ਜਾ " +"ਸਕਦਾ ਹੈ।\n" +"ਜਦੋਂ ਵੀ ਓਕੁਲਾਰ ਬੰਦ ਹੋਵੇ ਤਾਂ ਕੋਈ ਵੀ ਕੀਤੀ ਗਈ ਸੁਧਾਈ ਖਤਮ ਹੋ ਜਾਵੇਗੀ।" + +#: part/part.cpp:1123 +#, kde-format +msgid "Document can't be saved" +msgstr "ਦਸਤਾਵੇਜ਼ ਨੂੰ ਸੰਭਾਲਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ ਹੈ" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "'%1' (%2) ਨੂੰ ਖੋਲ੍ਹਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ" + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "%1 ਦੇ ਲੋਡ ਕਰਨ ਨੂੰ ਰੱਦ ਕੀਤਾ ਗਿਆ ਹੈ।" + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "%1 ਖੋਲ੍ਹਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ। ਕਾਰਨ: %2" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "ਦਰਸ਼ਕ ਬੈਕ-ਐਂਡ ਸੰਰਚਨਾ" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "ਬੈਕ-ਐਂਡ ਸੰਰਚਨਾ" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"ਪ੍ਰੋਗਰਾਮ \"ps2pdf\" ਨਹੀਂ ਲੱਭਿਆ ਹੈ, ਇਸਕਰਕੇ ਓਕੁਲਾਰ ਇਹ ਵਰਤ ਕੇ PS ਫਾਇਲਾਂ ਇੰਪੋਰਟ ਨਹੀਂ ਕਰ " +"ਸਕਦਾ ਹੈ।" + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "ps2pdf ਨਹੀਂ ਮਿਲਿਆ" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "ਪੋਸਟ-ਸਕ੍ਰਿਪਟ ਫਾਇਲਾਂ (%1)" + +#: part/part.cpp:1357 +#, fuzzy, kde-format +#| msgid "Importing PS file as PDF (this may take a while)..." +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "PS ਫਾਇਲ PDF ਵਾਂਗ ਲਈ ਜਾ ਰਹੀ ਹੈ (ਇਸ ਨੂੰ ਕੁਝ ਸਮਾਂ ਲੱਗ ਸਕਦਾ ਹੈ)..." + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "ਦਸਤਾਵੇਜ਼ ਪੜ੍ਹਨ ਲਈ ਪਾਸਵਰਡ ਦਿਉ ਜੀ:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "ਗਲਤ ਪਾਸਵਰਡ। ਫੇਰ ਕੋਸ਼ਿਸ਼ ਕਰੋ:" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "ਦਸਤਾਵੇਜ਼ ਦਾ ਪਾਸਵਰਡ" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "ਇਹ ਦਸਤਾਵੇਜ਼ ਵਿੱਚ XFA ਫਾਰਮ ਹੈ, ਜੋ ਕਿ ਇਸ ਵੇਲੇ ਸਹਾਇਕ ਨਹੀਂ ਹਨ।" + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"ਇਹ ਦਸਤਾਵੇਜ਼ ਵਿੱਚ ਫਾਰਮ ਹੈ। ਇਨ੍ਹਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ ਬਟਨ ਉੱਤੇ ਕਲਿੱਕ ਕਰੋ ਜਾਂ ਵੇਖੋ -> ਫਾਰਮ ਵੇਖੋ ਵਰਤੋਂ।" + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" +"ਇਸ ਦਸਤਾਵੇਜ਼ ਲਈ ਸਾਰੇ ਸੰਪਾਦਨ ਅਤੇ ਪਰਸਪਰ ਪ੍ਰਭਾਵੀਸ਼ਲ ਫੀਚਰ ਅਸਮਰੱਥ ਹਨ। ਇਸ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਸੰਪਾਦਨ " +"ਕਰਨ ਲਈ ਪਹਿਲਾਂ ਕਾਪੀ ਸੰਭਾਲੋ ਅਤੇ ਫੇਰ ਖੋਲ੍ਹੋ।" + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "ਵੇਖਣ ਦੇ ਢੰਗ ਨੂੰ ਬਦਲਣ ਦੀ ਮੰਗ" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "ਪਰਿਜ਼ੈੱਨਟੇਸ਼ਨ ਮੋਡ 'ਚ ਜਾਓ" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "ਮੰਗ ਤੋਂ ਨਾਂਹ ਕਰੋ" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "%1 ਨੂੰ ਖੋਲ੍ਹਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ। %2" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "ਫ਼ਾਇਲ ਬਦਲੀ ਗਈ ਹੈ" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "ਮੁੜ-ਲੋਡ ਕਰਨਾ ਜਾਰੀ ਰੱਖੋ" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "ਮੁੜ-ਲੋਡ ਕਰਨਾ ਅਧੂਰਾ ਛੱਡੋ" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "ਬੰਦ ਕਰਨਾ ਜਾਰੀ ਰੱਖੋ" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "ਬੰਦ ਕਰਨਾ ਛੱਡੋ" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "ਕੀ ਤੁਸੀਂ \"%1\" ਲਈ ਆਪਣੀਆਂ ਤਬਦੀਲੀਆਂ ਸੰਭਾਲਣੀਆਂ ਚਾਹੁੰਦੇ ਹੋ ਜਾਂ ਅਣਡਿ਼ੱਠੀਆਂ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "ਦਸਤਾਵੇਜ਼ ਨੂੰ ਬੰਦ ਕਰੋ" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"ਇਹ ਲਿੰਕ ਇੱਕ ਬੰਦ ਦਸਤਾਵੇਜ਼ ਐਕਸ਼ਨ ਲਈ ਪੁਆਇੰਟ ਕਰਦਾ ਹੈ, ਜੋ ਕਿ ਇਮਬੈੱਡ ਦਰਸ਼ਕ ਦੀ ਵਰਤੋਂ ਦੌਰਾਨ ਸਹਾਇਕ " +"ਨਹੀਂ ਹੈ।" + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"ਇਹ ਲਿੰਕ ਇੱਕ ਐਪਲੀਕੇਸ਼ਨ ਬੰਦ ਕਰਨ ਐਕਸ਼ਨ ਲਈ ਪੁਆਇੰਟ ਕਰਦਾ ਹੈ, ਜੋ ਕਿ ਇਮਬੈੱਡ ਦਰਸ਼ਕ ਦੀ ਵਰਤੋਂ ਦੌਰਾਨ " +"ਸਹਾਇਕ ਨਹੀਂ ਹੈ।" + +#: part/part.cpp:2113 part/part.cpp:2131 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Reloading the document…" +msgstr "ਦਸਤਾਵੇਜ਼ ਨੂੰ ਮੁੜ-ਲੋਡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ..." + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "ਸਮੱਗਰੀ" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "ਦਸਤਖ਼ਤ" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "ਸਫ਼ੇ ਉੱਤੇ ਜਾਓ" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "ਸਫ਼ਾ(&P):" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "ਬੁੱਕਮਾਰਕ ਦਾ ਨਵਾਂ ਨਾਂ ਦਿਉ।" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "ਇਹ ਬੁੱਕਮਾਰਕ ਨਾਂ ਬਦਲੋ" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "ਇਹ ਬੁੱਕਮਾਰਕ ਹਟਾਓ" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "ਇੰਝ ਸੰਭਾਲੋ" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "ਗ਼ੈਰ-ਸਹਾਇਕ ਇਕਸਟੈਨਸ਼ਨਾਂ" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "ਨਵਾਂ ਨਾਂ ਚੁਣੋ" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" +"ਫਾਇਲ %1 ਵਿੱਚ ਹੋਰ ਪਰੋਗਰਾਮ ਵਲੋਂ ਸੁਧਾਰ ਕੀਤਾ ਗਿਆ ਹੈ ਜੇ ਤੁਸੀਂ ਹੁਣੇ " +"ਸੰਭਾਲਿਆ ਤਾਂ ਹੋਰ ਪਰੋਗਰਾਮ ਵਲੋਂ ਕੀਤੀਆਂ ਤਬਦੀਲੀਆਂ ਖਤਮ ਹੋ ਜਾਣਗੀਆਂ। ਕੀ ਤੁਸੀਂ ਜਾਰੀ ਰੱਖਣਾ ਚਾਹੁੰਦੇ ਹੋ?" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "ਸੰਭਾਲੋ - ਸਾਵਧਾਨ" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "ਕਾਪੀ ਨੂੰ ਕਿਤੇ ਹੋਰ ਸੰਭਾਲੋ" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
    In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "ਆਰਜ਼ੀ ਫਾਇਲ ਸੰਭਾਲਣ ਲਈ ਖੋਲ੍ਹੀ ਨਹੀਂ ਜਾ ਸਕੀ।" + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" +"%1 ਫਾਇਲ ਸਿਰਫ਼ ਪੜ੍ਹਨ ਲਈ ਹੋਣ ਕਰਕੇ ਉਸ ਉੱਤੇ ਲਿਖਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ ਹੈ। " +"ਹੋਰ ਟਿਕਾਣੇ ਉੱਤੇ ਸੰਭਾਲਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ ਜਾਂ ਫਾਇਲ ਲਈ ਇਜਾਜ਼ਤਾਂ ਨੂੰ ਬਦਲ ਕੇ ਵੇਖੋ।" + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "ਫਾਇਲ ਨੂੰ '%1' ਵਿੱਚ ਸੰਭਾਲਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ ਹੈ। ਹੋਰ ਥਾਂ ਤੇ ਸੰਭਾਲਣ ਦੀ ਕੋਸ਼ਿਸ ਕਰੋ ਜੀ।" + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "ਭਰੀ ਹੋਈ ਫਾਰਮ ਸਮੱਗਰੀ" + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "ਵਰਤੋਂਕਾਰ ਟਿੱਪਣੀਆਂ" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "ਸਾਵਧਾਨ" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, fuzzy, kde-format +#| msgid "Save as Okular document archive..." +msgid "Save as Okular document archive…" +msgstr "...ਓਕੁਲਾਰ ਦਸਤਾਵੇਜ਼ ਅਕਾਇਵ ਵਜੋਂ ਸੰਭਾਲੋ" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "ਜਾਰੀ ਰੱਖੋ" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "ਤਬਦੀਲੀਆਂ ਗੁਆਉਣਾ ਜਾਰੀ ਰੱਖੋ" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "ਫਾਇਲ '%1' ਵਿੱਚ ਸੰਭਾਲੀ ਨਹੀਂ ਜਾ ਸਕੀ: %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"ਓਕੁਲਾਰ %1 ਨੂੰ ਦਿੱਤੇ ਟਿਕਾਣੇ ਉੱਤੇ ਕਾਪੀ ਨਹੀਂ ਕਰ ਸਕਦਾ ਹੈ।\n" +"\n" +"ਦਸਤਾਵੇਜ਼ ਮੌਜੂਦ ਨਹੀਂ ਹੈ।" + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" +"ਫਾਇਲ ਨੂੰ '%1' ਵਿੱਚ ਸੰਭਾਲਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ ਹੈ। ਗਲਤੀ: '%2'। ਹੋਰ ਥਾਂ ਤੇ ਸੰਭਾਲਣ ਦੀ ਕੋਸ਼ਿਸ ਕਰੋ " +"ਜੀ।" + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "Expand whole section" +msgid "Expand Whole Section" +msgstr "ਪੂਰੇ ਭਾਗ ਨੂੰ ਫੈਲਾਓ" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "Collapse whole section" +msgid "Collapse Whole Section" +msgstr "ਪੂਰਾ ਭਾਗ ਸਮੇਟੋ" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "ਸਫ਼ੇ ਨਾਲ ਥੰਮਨੇਲ ਲਿੰਕ ਕਰੋ" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "ਟੂਲ" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "ਬੋਲੋ" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "ਛਾਪੋ" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "ਇਸ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਪਰਿੰਟ ਉੱਤੇ ਪਾਬੰਦੀ ਹੈ।" + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"ਦਸਤਾਵੇਜ਼ ਪਰਿੰਟ ਨਹੀਂ ਜਾ ਸਕਦਾ ਹੈ। ਅਣਪਛਾਤੀ ਗਲਤੀ। bugs.kde.org ਤੇ ਜਾਣਕਾਰੀ ਦਿਓ ਜੀ।" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"ਦਸਤਾਵੇਜ਼ ਪਰਿੰਟ ਨਹੀਂ ਜਾ ਸਕਦਾ ਹੈ। ਵੇਰਵੇ ਸਮੇਤ ਗਲਤੀ \"%1\" ਹੈ। bugs.kde.org ਤੇ ਜਾਣਕਾਰੀ ਦਿਓ " +"ਜੀ।" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "ਆਪਣੀ ਪਿਛਲੀ ਥਾਂ ਉੱਤੇ ਜਾਓ" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "ਆਪਣੀ ਅਗਲੀ ਥਾਂ ਉੱਤੇ ਜਾਓ" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"ਫਾਇਲ ਗਲਤੀ ਆਰਜ਼ੀ ਫਾਇਲ %1 " +"ਬਣਾਈ ਨਹੀਂ ਜਾ ਸਕੀ ਹੈ।" + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"ਫਾਇਲ ਗਲਤੀ! ਅਣ-ਕੰਪਰੈੱਸ ਕਰਨ ਲਈ %1 ਫਾਇਲ ਖੋਲ੍ਹੀ ਨਹੀਂ ਜਾ ਸਕੀ ਹੈ। ਇਹ ਫਾਇਲ ਲੋਡ ਨਹੀਂ ਹੋਵੇਗੀ।" + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"ਇਹ ਕਿਸਮ ਦੀ ਗਲਤੀ ਅਕਸਰ ਆਉਂਦੀ ਹੈ, ਜਦੋਂ ਤੁਹਾਡੇ ਕੋਲ ਫਾਇਲ ਪੜ੍ਹਨ ਲਈ ਲੋੜੀਦੀਆਂ ਇਜਾਜ਼ਤਾਂ ਨਹੀਂ " +"ਹੁੰਦੀਆਂ ਹਨ। ਤੁਸੀਂ ਮਲਕੀਅਤ ਅਤੇ ਅਧਿਕਾਰਾਂ ਨੂੰ ਚੈੱਕ ਕਰ ਸਕਦੇ ਹੋ, ਜੇ ਤੁਹਾਡੇ ਕੋਲ ਡਾਲਫਿਨ ਫਾਇਲ ਮੈਨੇਜਰ ਹੈ " +"ਤਾਂ ਇਸ ਉੱਤੇ ਸੱਜੇ ਕਲਿੱਕ ਕਰੋ ਅਤੇ 'ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ' ਚੋਣ ਕਰੋ ਅਤੇ ਖੁੱਲ੍ਹੀ ਹੋਈ ਵਿੰਡੋ ਵਿੱਚ 'ਇਜਾਜ਼ਤਾਂ' ਟੈਬ ਨੂੰ ਚੁਣੋ" + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded.
    " +msgstr "" +"ਫਾਇਲ ਗਲਤੀ! ਫਾਇਲ %1 ਅਣ-" +"ਕੰਪਰੈੱਸ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੀ। ਇਹ ਫਾਇਲ ਲੋਡ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੇਗੀ।" + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"ਇਹ ਗਲਤੀ ਅਕਸਰ ਤਾਂ ਆਉਂਦੀ ਹੈ, ਜੇ ਫਾਇਲ ਖਰਾਬ ਹੋਵੇ। ਜੇ ਤੁਸੀਂ ਪੱਕਾ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ ਤਾਂ ਫਾਇਲ ਨੂੰ " +"ਕਮਾਂਡ-ਲਾਈਨ ਟੂਲ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਡੀਕੰਪਰੈੱਸ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ।" + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "ਕੋਈ ਬੁੱਕਮਾਰਕ ਨਹੀਂ" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "ਦਸਤਾਵੇਜ਼ ਸਾਂਝਾ ਕਰਨ ਦੌਰਾਨ ਸਮੱਸਿਆ ਆਈ ਹੈ: %1" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "ਸਾਂਝਾ ਕਰੋ" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "ਦਸਤਾਵੇਜ਼ ਕਾਮਯਾਬੀ ਨਾਲ ਸਾਂਝਾ ਕੀਤਾ" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "ਸਾਂਝਾ ਕੀਤਾ ਦਸਤਾਵੇਜ਼ ਤੁਸੀਂ ਇੱਥੇ ਲੱਭ ਸਕਦੇ ਹੋ: %1" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "ਸੋਧ(&E)" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "ਵੇਖੋ(&V)" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "ਜਾਓ(&G)" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "ਟੂਲ(&T)" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "ਮੁੱਖ ਟੂਲਬਾਰ" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "ਵਿਆਖਿਆ ਟੂਲਬਾਰ" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, kde-format +msgid "Quick Annotation Toolbar" +msgstr "ਫ਼ੌਰੀ ਵਿਆਖਿਆ ਟੂਲਬਾਰ" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "ਸਧਾਰਨ ਚੋਣ" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "ਅਸੈਸਬਿਲਟੀ" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "ਅਸੈਸਬਿਲਟੀ ਪੜ੍ਹਨ ਮਦਦ" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "ਕਾਰਗੁਜ਼ਾਰੀ" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "ਕਾਰਗੁਜ਼ਾਰੀ ਟਿਊਨਿੰਗ" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "ਦਰਸ਼ਕ ਸੰਰਚਨਾ" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "ਪਰਿਜ਼ੈੱਨਟੇਸ਼ਨ" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "ਪਰਿਜ਼ੈੱਨਟੇਸ਼ਨ ਮੋਡ ਲਈ ਚੋਣਾਂ" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "ਵਿਆਖਿਆ ਚੋਣਾਂ" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "ਐਡੀਟਰ" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "ਐਡੀਟਰ ਚੋਣਾਂ" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "ਅੱਗੇ ਖੋਜ" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 – ਪਰਿਜ਼ੈੱਨਟੇਸ਼ਨ" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "ਸਕਰੀਨ ਸਵਿੱਚ" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "%1 ਸਕਰੀਨ" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "ਪਰਿਜ਼ੈੱਨਟੇਸ਼ਨ ਮੋਡ ਬੰਦ ਕਰੋ" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "ਟਾਈਟਲ: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "ਸਫ਼ੇ: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਦੱਬੋ" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "ਵਿਰਾਮ" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "ਚਲਾਓ" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"ਮੌਜੂਦ ਪਰਿਜੈਟੇਸ਼ਨ ਮੋਡ ਨੂੰ ਬੰਦ ਕਰਨ ਦੇ ਦੋ ਢੰਗ ਹਨ, ਜਾਂ ਤਾਂ ਤੁਸੀਂ ESE ਸਵਿੱਚ ਦੱਬ ਸਕਦੇ ਹੋ ਜਾਂ ਬਾਹਰ ਜਾਓ " +"ਬਟਨ ਨੂੰ ਕਲਿੱਕ ਕਰ ਸਕਦੇ ਹੋ, ਜੋ ਕਿ ਵਿਖਾਈ ਦਿੰਦਾ ਹੈ, ਜਦੋਂ ਤੁਸੀਂ ਉੱਤੇ ਸੱਜੇ ਕੋਨੇ ਵਿੱਚ ਮਾਊਂਸ ਲੈ ਕੇ ਜਾਂਦੇ ਹੋ। " +"ਬੇਸ਼ੱਕ ਤੁਸੀਂ ਵਿੰਡੋਜ਼ ਦੇ ਵਿੱਚ ਵੀ ਜਾ ਸਕਦੇ ਹੋ (ਡਿਫਾਲਟ Alt+TAB)" + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "ਪਰਿਜ਼ੈੱਨਟੇਸ਼ਨ ਦਿੱਤੀ ਜਾ ਰਹੀ ਹੈ" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "ਅਣਜਾਣੀ ਫਾਇਲ" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "%1 ਵਿਸ਼ੇਸ਼ਤਾ" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "ਫੋਂਟ(&F)" + +#: part/propertiesdialog.cpp:145 +#, fuzzy, kde-format +#| msgid "Reading font information..." +msgid "Reading font information…" +msgstr "ਫੋਂਟ ਜਾਣਕਾਰੀ ਪੜ੍ਹੀ ਜਾ ਰਹੀ ਹੈ..." + +#: part/propertiesdialog.cpp:158 +#, kde-format +msgid "&Page Sizes" +msgstr "ਸਫ਼ਾ ਆਕਾਰ(&P)" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "ਫੋਂਟ ਕੱਢੋ(&E)" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "ਟਾਇਪ 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "ਟਾਇਪ 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "ਟਾਇਪ 1C (OT)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "ਟਾਇਪ 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "ਟਰੂ-ਟਾਇਪ" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "ਟਰੂ-ਟਾਇਪ (OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID ਟਾਇਪ 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID ਟਾਇਪ 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID ਟਾਇਪ 0C (OT)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID ਟਰੂ-ਟਾਇਪ" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID ਟਰੂ-ਟਾਇਪ (OT)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "TeX PK" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "TeX ਵਰਚੁਅਲ" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "TeX ਫੋਂਟ ਮੈਟਰਿਕਸ" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "ਅਣਜਾਣ" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "ਇਮਬੈੱਡ ਕੀਤਾ (ਸਬ-ਸੈੱਟ)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "ਪੂਰਾ ਈਮਬੈੱਡ" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "ਨਹੀਂ" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "ਹਾਂ (ਸਬ-ਸੈੱਟ)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "ਹਾਂ" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "[n/a]" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "ਅਣਜਾਣ ਫੋਂਟ" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "ਇਮਬੈੱਡ: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "ਨਾਂ" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "ਟਾਇਪ" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "ਫਾਇਲ" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "ਸਫ਼ਾ" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "ਆਕਾਰ" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "ਰੀਵਿਜ਼ਨ ਝਲਕ" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "ਤੁਸੀਂ ਇਸ ਰੀਵਿਜ਼ ਨੂੰ ਕਿੱਥੇ ਸੰਭਾਲਣਾ ਚਾਹੁੰਦੇ ਹੋ?" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "%1 ਫਾਇਲ ਸੰਭਾਲੀ ਨਹੀਂ ਜਾ ਸਕੀ।" + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "ਰੀਵਿਜ਼ ਨੂੰ ਵੇਖਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ।" + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "ਫਿਲਟਰ ਸਫ਼ੇ ਲਈ ਘੱਟੋ-ਘੱਟ 3 ਅੱਖਰ ਦਿਓ" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "ਅੱਖਰ ਸੰਵੇਦਨਸ਼ੀਲ" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "ਪ੍ਹੈਰਾ ਮਿਲਾਓ" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "ਸਭ ਸ਼ਬਦ ਮਿਲਾਓ" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "ਕੋਈ ਸ਼ਬਦ ਮਿਲਾਓ" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "ਫਿਲਟਰ ਚੋਣ" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, kde-format +msgid "Certificates" +msgstr "ਸਰਟੀਫਿਕੇਟ" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "ਦਸਤਖਤ ਕਰਨ ਲਈ ਸਰਟੀਫਿਕੇਟ ਚੁਣੋ:" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, fuzzy, kde-format +#| msgid "Allow" +msgid "All" +msgstr "ਮਨਜ਼ੂਰ" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, fuzzy, kde-format +#| msgid "Certificates" +msgid "Only QES certificates" +msgstr "ਸਰਟੀਫਿਕੇਟ" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "ਕਾਰਨ:" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, kde-format +msgid "optional" +msgstr "ਚੋਣਵਾਂ" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "ਟਿਕਾਣਾ:" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, kde-format +msgid "Background:" +msgstr "ਬੈਕਗਰਾਊਂਡ:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "...ਚੁਣੋ" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, kde-format +msgid "Recent backgrounds:" +msgstr "ਸੱਜਰੇ ਬੈਕਗਰਾਊਂਡ:" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

    No annotations

    To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
    " +msgstr "" +"

    ਕੋਈ ਵਿਆਖਿਆ ਨਹੀਂ

    ਨਵੀਂ ਵਿਆਖਿਆ ਬਣਾਉਣ ਲਈ, F6 ਦੱਬੋ ਜਾਂ ਮੇਨੂ ਤੋਂ " +"ਟੂਲ ->ਵਿਆਖਿਆ ਚੁਣੋ।
    " + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "ਸਫੇ ਰਾਹੀਂ ਗਰੁੱਪ" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "ਲੇਖਕ ਰਾਹੀਂ ਗਰੁੱਪ" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "ਸਿਰਫ਼ ਮੌਜੂਦਾ ਸਫ਼ੇ ਲਈ ਹੀ ਵਿਆਖਿਆ ਵੇਖੋ" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "ਸਭ ਭਾਗਾਂ ਨੂੰ ਫੈਲਾਓ" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "ਸਾਰੇ ਭਾਗ ਸਮੇਟੋ" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ" + +#: part/signaturepartutils.cpp:180 +#, kde-format +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "ਚਿੱਤਰ (%1)" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "ਬੈਕਗਰਾਊਂਡ ਚਿੱਤਰ ਚੁਣੋ" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "ਚਿੱਤਰ ਭੁੱਲ ਜਾਓ" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "ਸਾਰੇ ਚਿੱਤਰ ਭੁੱਲ ਜਾਓ" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "ਸਰਟੀਫਿਕੇਟ ਅਣ-ਲਾਕ ਕਰਨ ਲਈ ਪਾਸਵਰਡ (ਜੇ ਕੋਈ ਹੈ ਤਾਂ) ਦਿਓ: %1" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "ਸਰਟੀਫਿਕੇਟ ਦਾ ਪਾਸਵਰਡ ਦਿਓ" + +#: part/signaturepartutils.cpp:244 +#, kde-format +msgid "Enter document password" +msgstr "ਦਸਤਾਵੇਜ਼ ਦਾ ਪਾਸਵਰਡ ਦਿਓ" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "ਦਸਤਖਤ ਕੀਤੀ ਫਾਇਲ ਇੰਝ ਸੰਭਾਲੋ" + +#: part/signaturepartutils.h:62 +#, fuzzy, kde-format +#| msgctxt "" +#| "Used when suggesting a new name for a digitally signed file. %1 is the " +#| "old file name and %2 it's extension" +#| msgid "%1_signed.%2" +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "%1_ਦਸਤਖਤ.%2" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "ਵੈਧਤਾ ਸਥਿਤੀ" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "ਦਸਤਖਤ ਵੈਧਤਾ:" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "ਦਸਤਾਵੇਜ਼ ਸੋਧਾਂ:" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "ਹੋਰ ਜਾਣਕਾਰੀ" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "ਇਸ ਵਲੋਂ ਦਸਤਖ਼ਤ ਕੀਤੇ:" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "ਦਸਤਖ਼ਤ ਦਾ ਵੇਲਾ: " + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "ਦਸਤਾਵੇਜ਼ ਵਰਜ਼ਨ" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "%2 ਵਿੱਚੋਂ %1 ਦਸਤਾਵੇਜ਼ ਰੀਵਿਜ਼ਨ" + +#: part/signaturepropertiesdialog.cpp:88 +#, fuzzy, kde-format +#| msgid "View Signed Version..." +msgid "View Signed Version…" +msgstr "ਦਸਤਖਤ ਕੀਤਾ ਵਰਜ਼ਨ ਵੇਖੋ..." + +#: part/signaturepropertiesdialog.cpp:95 +#, fuzzy, kde-format +#| msgid "View Certificate..." +msgid "View Certificate…" +msgstr "...ਸਰਟੀਫਿਕੇਟ ਵੇਖੋ" + +#: part/signaturepropertiesdialog.cpp:97 +#, kde-format +msgid "View in Certificate Manager" +msgstr "ਸਰਟੀਫਿਕੇਟ ਮੈਨੇਜਰ ਵਿੱਚ ਵੇਖੋ" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "KDE ਸਰਟੀਫਿਕੇਟ ਮੈਨੇਜਰ (kleopatra) ਨਹੀਂ ਲੱਭਿਆ" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "ਸਿਰਫ਼ ਬੁੱਕਮਾਰਕ ਸਫ਼ੇ ਹੀ ਵੇਖੋ" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "ਚਲਾਓ" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "ਵਿਰਾਮ" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "ਰੋਕੋ" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "ਵੀਡੀਓ ਇਸ ਓਕੁਲਾਰ ਵਿੱਚ ਸਹਾਇਕ ਨਹੀਂ ਹਨ" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "ਵੀਡੀਓ ਇਸ ਓਕੁਲਾਰ ਵਿੱਚ ਸਹਾਇਕ ਨਹੀਂ ਹਨ" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, fuzzy, kde-format +#| msgid "&Edit" +msgid "&Edit…" +msgstr "ਸੋਧ(&E)" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "ਹਟਾਓ(&R)" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "ਉੱਪਰ ਭੇਜੋ(&U)" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "ਹੇਠਾਂ ਭੇਜੋ(&D)" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "ਮੂਲ ਡਰਾਇੰਗ ਟੂਲ #%1" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "ਡੁਪਲੀਕੇਟ ਨਾਂ" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "ਵੇਖਾਉਣ ਲਈ ਦਸਤਾਵੇਜ਼ ਦਾ ਸਫ਼ਾ" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "ਦਸਤਾਵੇਜ਼ ਪਰਿਜ਼ੈੱਨਟੇਸ਼ਨ ਮੋਡ ਵਿੱਚ ਸਟਾਰਟ ਕਰੋ" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "ਪਰਿੰਟ ਡਾਈਲਾਗ ਨਾਲ ਸ਼ੁਰੂ" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "ਪਰਿੰਟ ਡਾਈਲਾਗ ਨਾਲ ਸ਼ੁਰੂ ਅਤੇ ਪਰਿੰਟ ਕਰਨ ਦੇ ਬਾਅਦ ਬੰਦ ਕਰੋ" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "\"ਵਿੱਲਖਣ ਮੌਕਾ\" ਕੰਟਰੋਲ" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "ਵਿੰਡੋ ਨੂੰ ਨਾ ਉਭਾਰੋ" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "ਖੋਲ੍ਹਣ ਲਈ ਦਸਤਾਵੇਜ਼। stdin ਤੋਂ '-' ਨਾਲ ਦਿਉ।" + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "ਗਲਤੀ: --unique ਸਵਿੱਚ ਨਾਲ ਇੱਕ ਤੋਂ ਵੱਧ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਖੋਲ੍ਹਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ ਹੈ।" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "ਗਲਤੀ: --presentation ਸਵਿੱਚ ਨਾਲ ਇੱਕ ਤੋਂ ਵੱਧ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਖੋਲ੍ਹਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ ਹੈ।" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "ਗਲਤੀ: --print ਸਵਿੱਚ ਨਾਲ ਇੱਕ ਤੋਂ ਵੱਧ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਖੋਲ੍ਹਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ ਹੈ।" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "ਗਲਤੀ: --page ਸਵਿੱਚ ਨਾਲ ਇੱਕ ਤੋਂ ਵੱਧ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਖੋਲ੍ਹਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ ਹੈ।" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "ਗਲਤੀ: --find ਸਵਿੱਚ ਨਾਲ ਇੱਕ ਤੋਂ ਵੱਧ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਖੋਲ੍ਹਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ ਹੈ।" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "ਓਕੁਲਾਰ ਭਾਗ ਲੱਭਣ ਲਈ ਅਸਫ਼ਲ ਹੈ: %1" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "ਬਾਹੀ" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "ਪਹਿਲਾਂ ਹੀ ਇੱਕਲਾ ਓਕੁਲਾਰ ਚੱਲ ਰਿਹਾ ਹੈ। ਇਹ ਚੱਲਣ ਨਾਲ ਇੱਕਲਾ (ਵਿਲੱਖਣ) ਨਹੀਂ ਰਹੇਗਾ।" + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "ਓਕੁਲਾਰ ਭਾਗ ਲੱਭਣ ਲਈ ਅਸਫ਼ਲ ਹੈ।" + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"ਇੱਕ ਫਾਇਲ ਖੋਲ੍ਹਣ ਲਈ ਕਲਿੱਕ ਕਰੋ\n" +"ਸੱਜਰੀ ਖੋਲ੍ਹੀ ਫਾਇਲ ਨੂੰ ਖੋਲ੍ਹਣ ਲਈ ਕਲਿੱਕ ਕਰਨ ਉਪਰੰਤ ਫੜੀ ਰੱਖੋ" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"ਫਾਇਲ ਖੋਲ੍ਹਣ ਲਈ ਕਲਿੱਕ ਕਰੋ ਜਾਂ ਤਾਜ਼ੀ ਫਾਇਲ ਖੋਲ੍ਹਣ ਲਈ ਕਲਿੱਕ ਕਰਕੇ ਫੜੀ ਰੱਖੋ" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "ਟੈਬ ਅੱਗੇ" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "ਟੈਬ ਪਿੱਛੇ" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "ਬੰਦ ਟੈਬ ਵਾਪਿਸ ਲਵੋ" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "ਬਾਹੀ ਲਾਕ ਕਰੋ" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "ਸਭ ਫਾਇਲਾਂ (*)" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "ਸਾਰੀਆਂ ਸਹਾਇਕ ਫਾਇਲਾਂ (%1)" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "ਦਸਤਾਵੇਜ਼ ਨੂੰ ਖੋਲ੍ਹੋ" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "ਬੰਦ ਕਰਨ ਦੀ ਪੁਸ਼ਟੀ" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "ਟੈਬਾਂ ਬੰਦ ਕਰੋ" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "ਤੁਸੀਂ %1 ਟੈਬਾਂ ਬੰਦ ਕਰਨ ਵਾਲੇ ਹੋ। ਕੀ ਤੁਸੀਂ ਜਾਰੀ ਰੱਖਣਾ ਚਾਹੁੰਦੇ ਹੋ?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "ਜਦੋਂ ਮੈਂ ਕਈ ਟੈਬਾਂ ਬੰਦ ਕਰਾਂ ਤਾਂ ਮੈਨੂੰ ਸਾਵਧਾਨ ਕਰੋ" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "ਪਾਥ ਕਾਪੀ ਕਰੋ(&C)" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "ਰੱਖਣ ਵਾਲਾ ਫੋਲਡਰ ਖੋਲ੍ਹੋ(&O)" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "ਇਹ ਆਈਟਮ ਨੂੰ ਭੁੱਲ ਜਾਓ(&F)" + +#: shell/welcomescreen.cpp:137 +#, kde-format +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "ਕੋਈ ਸੱਜਰਾ ਡੌਕੂਮੈੰਟ ਨਹੀਂ ਹੈ" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "ਓਕੁਲਾਰ ਵਲੋਂ ਜੀ ਆਇਆਂ ਨੂੰ" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "...ਦਸਤਾਵੇਜ਼ ਨੂੰ ਖੋਲ੍ਹੋ" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, kde-format +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "ਸੱਜਰੇ ਦਸਤਾਵੇਜ਼" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "ਸਭ ਭੁੱਲ ਜਾਓ" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "ਜੀ ਆਇਆਂ ਨੂੰ ਸਕਰੀਨ ਓਹਲੇ ਕਰੋ" + +#~ msgid "Geometry with Comment" +#~ msgstr "ਟਿੱਪਣੀ ਨਾਲ ਜੁਮੈਟਰੀ" + +#~ msgid "Geometry" +#~ msgstr "ਜੁਮੈਟਰੀ" + +#~ msgctxt "Annotation type: contents" +#~ msgid "%1: %2" +#~ msgstr "%1: %2" + +#~ msgid "Modified: %1" +#~ msgstr "ਸੋਧ ਕੀਤੀ: %1" + +#~ msgid "Find..." +#~ msgstr "...ਖੋਜੋ" + +#~ msgid "Go To Page..." +#~ msgstr "...ਸਫ਼ੇ ਉੱਤੇ ਜਾਓ" + +#~ msgid "Play movie..." +#~ msgstr "...ਮੂਵੀ ਨੂੰ ਚਲਾਓ" + +#~ msgid "Search..." +#~ msgstr "ਖੋਜੋ..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "...ਇੰਝ ਸੰਭਾਲੋ(&S)" + +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "...ਵੇਖੋ(&V)" + +#~ msgid "&Sign..." +#~ msgstr "ਦਸਤਖ਼ਤ(&S)..." + +#~ msgid "Configure Viewer..." +#~ msgstr "ਦਰਸ਼ਕ ਸੰਰਚਨਾ..." + +#~ msgid "Configure Viewer Backends..." +#~ msgstr "ਦਰਸ਼ਕ ਬੈਕ-ਐਂਡ ਸੰਰਚਨਾ..." + +#~ msgid "Configure Backends..." +#~ msgstr "ਬੈਕ-ਐਂਡ ਸੰਰਚਨਾ..." + +#~ msgid "&Add..." +#~ msgstr "...ਜੋੜੋ(&A)" + +#~ msgid "&Edit..." +#~ msgstr "...ਸੋਧ(&E)" + +#~ msgctxt "%1 is a file path" +#~ msgid "" +#~ "Could not sign. Invalid certificate password or could not write to '%1'" +#~ msgstr "" +#~ "ਦਸਤਖ਼ਤ ਨਹੀਂ ਕੀਤੇ ਜਾ ਸਕੇ। ਗ਼ੈਰ-ਵਾਜਬ ਸਰਟੀਫਿਕੇਟ ਪਾਸਵਰਡ ਜਾਂ '%1' ਉੱਤੇ ਲਿਖਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ" + +#~ msgid "Unsigned Signature %1" +#~ msgstr "ਬਿਨਾਂ-ਦਸਤਖਤ ਦਸਤਖਤ %1" + +#, fuzzy +#~| msgctxt "Unknown author" +#~| msgid "Unknown" +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "ਅਣਜਾਣ" + +#, fuzzy +#~| msgid "Unsigned Signature %1" +#~ msgctxt "Signature type" +#~ msgid "Unsigned signature" +#~ msgstr "ਬਿਨਾਂ-ਦਸਤਖਤ ਦਸਤਖਤ %1" + +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "Spinbox prefix: Advance automatically: every n seconds" +#~ msgid "every " +#~ msgstr "ਹਰ " + +#~ msgctxt "Suffix for the pen width, eg '10 px'" +#~ msgid " px" +#~ msgstr " px" + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " %" + +#, fuzzy +#~| msgctxt "%1 is a file path" +#~| msgid "" +#~| "Could not sign. Invalid certificate password or could not write to '%1'" +#~ msgctxt "%1 is a file path" +#~ msgid "Could not sign. Could not write to '%1'" +#~ msgstr "" +#~ "ਦਸਤਖ਼ਤ ਨਹੀਂ ਕੀਤੇ ਜਾ ਸਕੇ। ਗ਼ੈਰ-ਵਾਜਬ ਸਰਟੀਫਿਕੇਟ ਪਾਸਵਰਡ ਜਾਂ '%1' ਉੱਤੇ ਲਿਖਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ" + +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "ਚੌੜਾਈ ਲਈ ਫਿੱਟ" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "ਸਫ਼ਾ ਲਈ ਫਿੱਟ" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Auto Fit" +#~ msgstr "ਆਟੋ ਫਿੱਟ" + +#~ msgid "*|All Files" +#~ msgstr "*|ਸਭ ਫਾਇਲਾਂ" + +#, fuzzy +#~| msgid "Show S&idebar" +#~ msgid "Show Sidebar" +#~ msgstr "ਬਾਹੀ ਵੇਖਾਓ(&i)" + +#~ msgctxt "@title:window" +#~ msgid "Experimental feature" +#~ msgstr "ਤਜਰਬੇ ਅਧੀਨ ਫ਼ੀਚਰ" + +#~ msgid "Remove Bookmarks" +#~ msgstr "ਬੁੱਕਮਾਰਕ ਹਟਾਓ" + +#, fuzzy +#~| msgid "&Annotations" +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "ਟਿੱਪਣੀਆਂ(&A)" + +#, fuzzy +#~| msgid "Highlight" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "ਉਘਾੜੋ" + +#, fuzzy +#~| msgid "Underline" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Underline" +#~ msgstr "ਹੇਠਾਂ ਲਾਈਨ" + +#, fuzzy +#~| msgid "Strike Out" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Strike Out" +#~ msgstr "ਵਿੰਨ੍ਹੋ" + +#, fuzzy +#~| msgid "Insert" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "ਸ਼ਾਮਲ" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "ਇਨ-ਲਾਈਨ ਨੋਟ" + +#, fuzzy +#~| msgctxt "@action:intoolbar Annotation tool" +#~| msgid "Popup Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "ਪੋਪ-ਅੱਪ ਨੋਟ" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a freehand line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Freehand Line" +#~ msgstr "ਹੱਥ-ਨਾਲ ਲਾਈਨ ਵਾਹੋ" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a straight line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Straight line" +#~ msgstr "ਸਿੱਧੀ ਲਾਈਨ ਖਿੱਚੋ" + +#, fuzzy +#~| msgctxt "@action:intoolbar Annotation tool" +#~| msgid "Arrow" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Arrow" +#~ msgstr "ਤੀਰ" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a rectangle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Rectangle" +#~ msgstr "ਚਤੁਰਭੁਜ ਬਣਾਓ" + +#, fuzzy +#~| msgid "Cyan Ellipse" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Ellipse" +#~ msgstr "ਕਯਾਨ ਅੰਡਾਕਾਰ" + +#, fuzzy +#~| msgid "Polygon" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Polygon" +#~ msgstr "ਬਹੁਭੁਜ" + +#, fuzzy +#~| msgid "Highlighter" +#~ msgid "Highlight in Yellow" +#~ msgstr "ਹਾਈਲਾਈਰ" + +#, fuzzy +#~| msgid "Highlight with Comment" +#~ msgid "Highlight in Green" +#~ msgstr "ਟਿੱਪਣੀ ਨਾਲ ਉਘਾੜੋ" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgid "Insert Inline Note" +#~ msgstr "ਇਨ-ਲਾਈਨ ਨੋਟ" + +#, fuzzy +#~| msgctxt "@action:intoolbar Annotation tool" +#~| msgid "Popup Note" +#~ msgid "Insert Popup Note" +#~ msgstr "ਪੋਪ-ਅੱਪ ਨੋਟ" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "ਲਿਖਤ ਚੁਣੋ" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "ਲਿਖਤ ਚੁਣੋ" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "ਲਿਖਤ ਚੁਣੋ" + +#, fuzzy +#~| msgid "&Magnifier" +#~ msgctxt "verb" +#~ msgid "&Magnify" +#~ msgstr "ਵੱਡਦਰਸ਼ੀ(&M)" + +#, fuzzy +#~| msgctxt "Add an annotation to the page" +#~| msgid "add annotation" +#~ msgid "Bookmark annotation" +#~ msgstr "ਟਿੱਪਣੀ ਸ਼ਾਮਲ ਕਰੋ" + +#~ msgid "&Toggle Change Colors" +#~ msgstr "ਰੰਗ ਬਦਲੋ(&T)" + +#, fuzzy +#~| msgid "Enable transitions" +#~ msgctxt "@option:check Config dialog, presentation page, transitions" +#~ msgid "Enable transitions" +#~ msgstr "ਟਰਾਂਸਿਟਸ਼ਨ ਸਮਰੱਥ ਕਰੋ" + +#, fuzzy +#~| msgid "Advance every:" +#~ msgctxt "@label:spinbox Config dialog, presentation page" +#~ msgid "Advance every:" +#~ msgstr "ਅੱਗੇ ਹਰ:" + +#, fuzzy +#~| msgid "Background color:" +#~ msgctxt "@label:listbox Config dialog, general page" +#~ msgid "Custom background color:" +#~ msgstr "ਬੈਕਗਰਾਊਂਡ ਰੰਗ:" + +#~ msgid "Draw border around &Images" +#~ msgstr "ਚਿੱਤਰ ਦੁਆਲੇ ਹਾਸ਼ੀਆਂ ਖਿੱਚੋ(&I)" + +#~ msgid "Speech" +#~ msgstr "ਬੋਲੀ" + +#~ msgid "Engine" +#~ msgstr "ਇੰਜਣ" + +#~ msgid "Identity" +#~ msgstr "ਪਛਾਣ" + +#~ msgid "Au&thor:" +#~ msgstr "ਲੇਖਕ(&t):" + +#~ msgid "View Options" +#~ msgstr "ਵੇਖਣ ਚੋਣ" + +#~ msgid "Navigation" +#~ msgstr "ਨੇਵੀਗੇਸ਼ਨ" + +#~ msgid "Placement" +#~ msgstr "ਸਥਿਤੀ" + +#~ msgid "Screen:" +#~ msgstr "ਸਕਰੀਨ:" + +#~ msgid "Drawing Tool Configuration" +#~ msgstr "ਡਰਾਇੰਗ ਟੂਲ ਸੰਰਚਨਾ" + +#~ msgid "&Get Books From Internet..." +#~ msgstr "ਇੰਟਰਨੈੱਟ ਤੋਂ ਕਿਤਾਬਾਂ ਲਵੋ(&G)..." + +#~ msgid "Reviews" +#~ msgstr "ਰੀਵਿਊ" + +#~ msgctxt "@item:inlistbox Color name" +#~ msgid "%1" +#~ msgstr "%1" + +#~ msgid "Hide Forms" +#~ msgstr "ਫਾਰਮ ਓਹਲੇ" + +#~ msgid "&Review" +#~ msgstr "ਰੀਵਿਊ(&R)" + +#~ msgid "Annotations author" +#~ msgstr "ਟਿੱਪਣੀ ਲੇਖਕ" + +#~ msgid "Please insert your name or initials:" +#~ msgstr "ਆਪਣਾ ਨਾਂ ਜਾਂ ਸ਼ੁਰੂ ਵਾਲੇ ਅੱਖਰ ਪਾਓ ਜੀ:" + +#~ msgid "Show &Navigation Panel" +#~ msgstr "ਨੇਵੀਗੇਸ਼ਨ ਪੈਨਲ ਵੇਖੋ(&N)" + +#~ msgid "Show Text" +#~ msgstr "ਟੈਕਸਟ ਵੇਖੋ" + +#~ msgid "Small Icons" +#~ msgstr "ਛੋਟੇ ਆਈਕਾਨ" + +#~ msgid "Large Icons" +#~ msgstr "ਵੱਡੇ ਆਈਕਾਨ" + +#, fuzzy +#~| msgid "" +#~| "Click to use the current selection tool\n" +#~| "Click and hold to choose another selection tool" +#~ msgid "" +#~ "Click to use the current selection tool\n" +#~ "Click on the arrow to choose another selection tool" +#~ msgstr "" +#~ "ਮੌਜੂਦਾ ਚੋਣ ਟੂਲ ਵਰਤਣ ਲਈ ਕਲਿੱਕ ਕਰੋ\n" +#~ "ਹੋਰ ਚੋਣ ਟੂਲ ਵਰਤਣ ਲਈ ਕਲਿੱਕ ਕਰਕੇ ਹੋਲਡ ਕਰਕੇ ਰੱਖੋ" + +#~ msgid "Created: %1" +#~ msgstr "ਬਣਾਇਆ: %1" + +#~ msgid "Style" +#~ msgstr "ਸਟਾਇਲ" + +#~ msgid "&Size:" +#~ msgstr "ਸਾਈਜ਼(&S):" + +#~ msgid "Inner color:" +#~ msgstr "ਅੰਦਰੂਨੀ ਰੰਗ:" + +#~ msgid "Name: %1" +#~ msgstr "ਨਾਂ: %1" + +#~ msgid "Size: %1" +#~ msgstr "ਸਾਈਜ਼: %1" + +#~ msgid "&Browse Tool" +#~ msgstr "ਝਲਕ ਟੂਲ(&B)" + +#~ msgid "&Zoom Tool" +#~ msgstr "ਜ਼ੂਮ ਟੂਲ(&Z)" + +#~ msgctxt "Zoom Tool" +#~ msgid "Zoom" +#~ msgstr "ਜ਼ੂਮ" + +#~ msgctxt "Select Tool" +#~ msgid "Selection" +#~ msgstr "ਚੋਣ" + +#~ msgid "&Text Selection Tool" +#~ msgstr "ਟੈਕਸਟ ਚੋਣ ਟੂਲ(&T)" + +#~ msgid "T&able Selection Tool" +#~ msgstr "ਟੇਬਲ ਚੋਣ ਟੂਲ(&a)" + +#, fuzzy +#~| msgctxt "Symbol for caret annotations" +#~| msgid "None" +#~ msgid " None" +#~ msgstr "ਕੋਈ ਨਹੀਂ" + +#~ msgid "" +#~ "The document requested to be launched in presentation mode.\n" +#~ "Do you want to allow it?" +#~ msgstr "" +#~ "ਡੌਕੂਮੈਂਟ ਨੂੰ ਪਰਿਜ਼ੈੱਨਟੇਸ਼ਨ ਮੋਡ ਵਿੱਚ ਲਾਂਚ ਕਰਨ ਮੰਗ ਆਈ ਹੈ।\n" +#~ "ਕੀ ਤੁਸੀਂ ਮਨਜ਼ੂਰ ਕਰਦੇ ਹੋ?" + +#~ msgid "Presentation Mode" +#~ msgstr "ਪਰਿਜ਼ੈੱਨਟੇਸ਼ਨ ਮੋਡ" + +#~ msgid "Allow the presentation mode" +#~ msgstr "ਪਰਿਜ਼ੈੱਨਟੇਸ਼ਨ ਮੋਡ ਮਨਜ਼ੂਰ" + +#~ msgid "Do Not Allow" +#~ msgstr "ਨਾ ਮਨਜ਼ੂਰ" + +#~ msgid "Do not allow the presentation mode" +#~ msgstr "ਪਰਿਜ਼ੈੱਨਟੇਸ਼ਨ ਮੋਡ ਵਿੱਚ ਮਨਜ਼ੂਰ ਨਾ ਕਰੋ" + +#~ msgid "" +#~ "Your annotation changes will not be saved automatically. Use File -> Save " +#~ "As...\n" +#~ "or your changes will be lost once the document is closed" +#~ msgstr "" +#~ "ਤੁਹਾਡੇ ਬਦਲਾਅ ਆਪਣੇ-ਆਪ ਨਹੀਂ ਸੰਭਾਲੇ ਗਏ ਹਨ। ਫਾਇਲ -> ...ਵਾਂਗ ਸੰਭਾਲੋ ਦੀ ਵਰਤੋਂ ਕਰੋ\n" +#~ "ਜਾਂ ਡੌਕੂਮੈਂਟ ਨੂੰ ਬੰਦ ਕਰਨ ਨਾਲ ਤੁਹਾਡੇ ਬਦਲਾਅ ਖਤਮ ਹੋ ਜਾਣਗੇ।" + +#~ msgid "" +#~ "Your annotations are saved internally by Okular.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" +#~ msgstr "" +#~ "ਤੁਹਾਡੀ ਵਿਆਖਿਆ ਨੂੰ ਓਕੁਲਾਰ ਵਲੋਂ ਅੰਦਰੂਨੀ ਤੌਰ ਉੱਤੇ ਸੰਭਾਲਿਆ ਗਿਆ ਹੈ।\n" +#~ "ਤੁਸੀਂ ਵਿਆਖਿਆ ਕੀਤੇ ਡੌਕੂਮੈਂਟ ਨੂੰ ਫਾਇਲ -> ਇੰਝ ਐਕਸਪੋਰਟ -> ਡੌਕੂਮੈਂਟ ਅਕਾਇਵ ਰਾਹੀਂ ਐਕਸਪੋਰਟ ਕਰ ਸਕਦੇ ਹੋ" + +#~ msgid "Save &Copy As..." +#~ msgstr "ਕਾਪੀ ਇੰਝ ਸੰਭਾਲੋ(&C)..." + +#~ msgid "" +#~ "Your annotations will not be exported.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" +#~ msgstr "" +#~ "ਤੁਹਾਡੀ ਵਿਆਖਿਆ ਨੂੰ ਐਕਸਪੋਰਟ ਨਹੀਂ ਕੀਤਾ ਜਾਵੇਗਾ ਹੈ।\n" +#~ "ਤੁਸੀਂ ਵਿਆਖਿਆ ਕੀਤੇ ਡੌਕੂਮੈਂਟ ਨੂੰ ਫਾਇਲ -> ਇੰਝ ਐਕਸਪੋਰਟ -> ਡੌਕੂਮੈਂਟ ਅਕਾਇਵ ਰਾਹੀਂ ਐਕਸਪੋਰਟ ਕਰ ਸਕਦੇ ਹੋ" + +#~ msgid "" +#~ "End of document reached.\n" +#~ "Continue from the beginning?" +#~ msgstr "" +#~ "ਡੌਕੂਮੈਂਟ ਦਾ ਅੰਤ ਆ ਗਿਆ ਹੈ।\n" +#~ "ਕੀ ਮੁੱਢ ਤੋਂ ਸ਼ੁਰੂ ਕਰਨਾ ਹੈ?" + +#~ msgid "" +#~ "Beginning of document reached.\n" +#~ "Continue from the bottom?" +#~ msgstr "" +#~ "ਡੌਕੂਮੈਂਟ ਦਾ ਸ਼ੁਰੂ ਆ ਗਿਆ।\n" +#~ "ਕੀ ਹੇਠਾਂ ਤੋਂ ਜਾਰੀ ਰੱਖਣਾ ਹੈ?" + +#~ msgid "Current maintainer" +#~ msgstr "ਮੌਜੂਦਾ ਪਰਬੰਧਕ" + +#~ msgid " sec." +#~ msgstr " ਸਕਿੰਟ" + +#~ msgid "Pencil color:" +#~ msgstr "ਪਿਨਸਲ ਰੰਗ:" + +#~ msgctxt "paper size" +#~ msgid "ledger" +#~ msgstr "ਲੈਡਰ" + +#~ msgctxt "paper size" +#~ msgid "tabloid" +#~ msgstr "ਸਾਰਣੀਰੂਪ" + +#~ msgid "Toggle Drawing Mode" +#~ msgstr "ਡਰਾਇੰਗ ਮੋਡ ਬਦਲੋ" + +#~ msgid "Starting Jovie Text-to-Speech service Failed: %1" +#~ msgstr "ਜੋਵੀ ਟੈਕਸਟ-ਤੋਂ-ਸਪੀਚ ਸਰਵਿਸ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਫੇਲ੍ਹ: %1" + +#~ msgid "Search Columns" +#~ msgstr "ਕਾਲਮ ਖੋਜ" + +#~ msgid "All Visible Columns" +#~ msgstr "ਸਭ ਦਿਸਦੇ ਕਾਲਮ" + +#~ msgid "No document opened." +#~ msgstr "ਕੋਈ ਡੌਕੂਮੈਂਟ ਖੁੱਲ੍ਹਾ ਨਹੀਂ ਹੈ।" + +#~ msgid "No matches found for '%1'." +#~ msgstr "'%1' ਲਈ ਕੋਈ ਮੇਲ ਨਹੀਂ ਲੱਭਿਆ।" + +#~ msgid "Search in progress..." +#~ msgstr "ਭਾਲ ਜਾਰੀ ਹੈ..." + +#~ msgid "Searching for %1" +#~ msgstr "%1 ਲਈ ਭਾਲ ਜਾਰੀ ਹੈ" + +#~ msgid "Identity Settings" +#~ msgstr "ਪਛਾਣ ਸੈਟਿੰਗ" + +#~ msgid "Highlight Properties" +#~ msgstr "ਉਭਾਰਨ ਵਿਸ਼ੇਸ਼ਤਾ" + +#~ msgid "Ink Properties" +#~ msgstr "ਸਿਆਹੀ ਵਿਸ਼ੇਸ਼ਤਾ" + +#~ msgctxt "Annotation tool" +#~ msgid "Text Annotation" +#~ msgstr "ਟੈਕਸਟ ਟਿੱਪਣੀ" + +#~ msgctxt "Annotation tool" +#~ msgid "Green Ink" +#~ msgstr "ਹਰੀ ਸਿਆਹੀ" + +#~ msgctxt "Annotation tool" +#~ msgid "Yellow Highlight" +#~ msgstr "ਪੀਲਾ ਹਾਈਲਾਇਟ" + +#~ msgctxt "Annotation tool" +#~ msgid "Straight Yellow Line" +#~ msgstr "ਸਿੱਧੀ ਪੀਲੀ ਲਾਈਨ" + +#~ msgid "Black Underlining" +#~ msgstr "ਕਾਲੀ ਹੇਠਾਂ ਲਾਈਨ" + +#~ msgctxt "Annotation tool" +#~ msgid "Underline the text with a black line" +#~ msgstr "ਇੱਕ ਕਾਲੀ ਲਾਈਨ ਨਾਲ ਟੈਕਸਟ ਹੇਠ ਰੇਖਾ ਲਾਓ" + +#~ msgctxt "Annotation tool" +#~ msgid "A cyan ellipse" +#~ msgstr "ਕਯਾਨ ਅੰਡਾਕਾਰ" + +#~ msgid "Ink" +#~ msgstr "ਸਿਆਹੀ" + +#, fuzzy +#~| msgid "Hide Forms" +#~ msgid "Reset Forms" +#~ msgstr "ਫਾਰਮ ਓਹਲੇ" + +#~ msgid "Moves to the first page of the document" +#~ msgstr "ਡੌਕੂਮੈਂਟ ਦੇ ਪਹਿਲੇ ਪੇਜ਼ ਉੱਤੇ ਜਾਓ" + +#~ msgid "You must set this name:" +#~ msgstr "ਤੁਹਾਨੂੰ ਇਹ ਨਾਂ ਦੇਣਾ ਪਵੇਗਾ:" + +#~ msgctxt "%1 is \"Title\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#~ msgctxt "%1 is \"File Path\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#~ msgctxt "@action:button" +#~ msgid "&Overwrite" +#~ msgstr "ਉੱਤੇ ਲਿਖੋ(&O)" + +#~ msgid "Pages:" +#~ msgstr "ਪੇਜ਼:" diff --git a/po/pa/okular_comicbook.po b/po/pa/okular_comicbook.po new file mode 100644 index 0000000..45dc150 --- /dev/null +++ b/po/pa/okular_comicbook.po @@ -0,0 +1,59 @@ +# translation of okular_comicbook.po to Punjabi +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Amanpreet Singh , 2008. +# A S Alam , 2009, 2012, 2019. +msgid "" +msgstr "" +"Project-Id-Version: okular_comicbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-02-09 13:18-0800\n" +"Last-Translator: A S Alam \n" +"Language-Team: Punjabi \n" +"Language: pa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 2.0\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ਅ ਸ ਆਲਮ" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "alam.yellow@gmail.com" + +#: document.cpp:97 +#, fuzzy, kde-format +#| msgid "Cannot open document, unrar was not found." +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "ਡੌਕੂਮੈਂਟ ਖੋਲ੍ਹਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ, unrar ਨਹੀਂ ਲੱਭਿਆ ਸੀ।" + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "ਕਾਮਿਕ ਕਿਤਾਬਾਂ ਖੋਲ੍ਹਣ ਲਈ ਤੁਹਾਡੇ ਸਿਸਟਮ ਉੱਤੇ ਮੌਜੂਦ unrar ਵਰਜਨ ਠੀਕ ਨਹੀਂ ਹੈ।" + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "ਅਣਪਛਾਤਾ ਕਾਮਿਕਸ-ਕਿਤਾਬ ਫਾਰਮੈਟ ਹੈ।" + +#~ msgid "ComicBook Backend" +#~ msgstr "ਕਾਮਿਕਸ-ਬੁੱਕ ਬੈਕਐਂਡ" + +#~ msgid "A renderer for various comic book formats" +#~ msgstr "ਕਈ ਕਾਮਿਕ ਕਿਤਾਬ ਫਾਰਮੈਟ ਲਈ ਰੈਂਡਰ ਹੈ" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/pa/okular_djvu.po b/po/pa/okular_djvu.po new file mode 100644 index 0000000..96f5aa4 --- /dev/null +++ b/po/pa/okular_djvu.po @@ -0,0 +1,136 @@ +# translation of okular_djvu.po to Punjabi +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# A S Alam , 2007, 2009, 2010, 2019. +msgid "" +msgstr "" +"Project-Id-Version: okular_djvu\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-02-09 13:18-0800\n" +"Last-Translator: A S Alam \n" +"Language-Team: Punjabi \n" +"Language: pa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 2.0\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ਅ ਸ ਆਲਮ" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "alam.yellow@gmail.com" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "ਐਡੀਟਰ" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "ਪਬਲਿਸ਼ਰ" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "ਵਾਲੀਅਮ" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "ਡੌਕੂਮੈਂਟ ਦੀ ਟਾਈਪ" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "ਅਣਪਛਾਤੀ" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "ਭਾਗ ਫਾਇਲਾਂ" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "ਅਣਜਾਣ" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "ਇੱਕਲਾ ਸਫ਼ਾ" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "ਬੰਡਲ" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "ਅਸਿੱਧਾ" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "ਬੰਡਲ (ਪੁਰਾਣਾ)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "ਇਨਡੈੱਕਸ (ਪੁਰਾਣਾ)" + +#~ msgid "DjVu Backend" +#~ msgstr "DjVu ਬੈਕਐਂਡ" + +#~ msgid "DjVu backend based on DjVuLibre." +#~ msgstr "DjVu ਬੈਕਐਂਡ DjVuLibre ਉੱਤੇ ਅਧਾਰਿਤ ਹੈ।" + +#~ msgid "© 2006-2008 Pino Toscano" +#~ msgstr "© 2006-2008 Pino Toscano" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgctxt "Unknown title" +#~ msgid "Unknown" +#~ msgstr "ਅਣਜਾਣ" + +#~ msgctxt "Unknown author" +#~ msgid "Unknown" +#~ msgstr "ਅਣਜਾਣ" + +#~ msgctxt "Unknown editor" +#~ msgid "Unknown" +#~ msgstr "ਅਣਜਾਣ" + +#~ msgctxt "Unknown publisher" +#~ msgid "Unknown" +#~ msgstr "ਅਣਜਾਣ" + +#~ msgctxt "Unknown creation date" +#~ msgid "Unknown" +#~ msgstr "ਅਣਜਾਣ" + +#~ msgctxt "Unknown volume information" +#~ msgid "Unknown" +#~ msgstr "ਅਣਜਾਣ" + +#~ msgctxt "Unknown type of document" +#~ msgid "Unknown" +#~ msgstr "ਅਣਜਾਣ" diff --git a/po/pa/okular_dvi.po b/po/pa/okular_dvi.po new file mode 100644 index 0000000..149510d --- /dev/null +++ b/po/pa/okular_dvi.po @@ -0,0 +1,558 @@ +# translation of okular_dvi.po to Punjabi +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# A S Alam , 2007, 2009, 2010, 2011, 2012, 2019. +msgid "" +msgstr "" +"Project-Id-Version: okular_dvi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-02-09 13:18-0800\n" +"Last-Translator: A S Alam \n" +"Language-Team: Punjabi \n" +"Language: pa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 2.0\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ਅਮਨਪਰੀਤ ਸਿੰਘ ਆਲਮ" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "alam.yellow@gmail.com" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

    Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

    Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

    " +msgstr "" + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

    Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

    Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

    " +msgstr "" + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "" + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "" + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "" + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "" + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "" + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

    The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

    What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

    PATH: %2

    " +msgstr "" + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

    The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

    %2

    " +msgstr "" + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "ਫ਼ਾਇਲ ਖਰਾਬ ਹੈ। %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "" + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "" + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "" + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "" + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "" + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "" + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "" + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "ਗਲਤ ਕਮਾਂਡ ਮਿਲੀ ਹੈ।" + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "ਅਣਜਾਣ op-code %1 ਮਿਲਿਆ ਸੀ।" + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "%1 ਈਮਬੈਂਡਿੰਗ ਜਾਰੀ" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
    " +msgstr "" + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
    " +msgstr "" + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "" + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

    Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

    PATH: %1

    %2

    " +msgstr "" + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

    There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
    Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

    PATH: %1

    %2

    " +msgstr "" + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" + +#: fontpool.cpp:482 +#, fuzzy, kde-format +#| msgid "Okular is currently generating bitmap fonts..." +msgid "Currently generating %1 at %2 dpi…" +msgstr "ਓਕਲਾਰ ਇਸ ਵੇਲੇ ਬਿੱਟਮੈਪ ਫੋਂਟ ਤਿਆਰ ਕਰ ਰਿਹਾ ਹੈ..." + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "ਨਿਰਮਾਤਾ/ਤਾਰੀਖ" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "ਫੋਂਟ ਫਾਇਲ ਨਹੀਂ ਲੱਭੀ" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "ਪੋਰਟਰੇਟ" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "ਲੈਂਡਸਕੇਪ" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "" + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"ਫਾਇਲ ਨਹੀਂ ਲੱਭੀ: \n" +" %1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "" + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "%1 ਫੋਂਟ ਫਾਇਲ ਖੋਲ੍ਹੀ ਅਤੇ ਪੜ੍ਹੀ ਤਾਂ ਜਾ ਸਕੀ, ਪਰ ਇਹ ਫੋਂਟ ਫਾਰਮੈਟ ਗੈਰ-ਸਹਾਇਕ ਹੈ।" + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "ਫੋਂਟ ਫਾਇਲ %1 ਖਰਾਬ ਹੈ, ਜਾਂ ਇਸ ਨੂੰ ਖੋਲ੍ਹਿਆ ਜਾਂ ਪੜ੍ਹਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ" + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "" + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "" + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "ਗਲਿਫਸ #%1 ਖਾਲੀ ਹੈ।" + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "" + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "" + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "ਫੋਂਟ ਫਾਇਲ %1 ਖੋਲ੍ਹੀ ਨਹੀਂ ਜਾ ਸਕਦੀ ਹੈ।" + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "ਫਾਇਲ %2 ਵਿੱਚ ਅੱਖਰ %1 ਬਹੁਤ ਵੱਡਾ ਹੈ" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "" + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "ਫ਼ੋਂਟ ਫਾਇਲ %1, ਫ਼ਾਇਲ %2 ਨਹੀਂ ਲੱਭੀ ਜਾ ਸਕਦੀ।" + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"ਮਾਰੂ ਗ਼ਲਤੀ।\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "" + +#~ msgid "DVI Backend" +#~ msgstr "DVI ਬੈਕਐਂਡ" + +#~ msgid "A DVI file renderer" +#~ msgstr "DVI ਫਾਇਲ ਰੈਂਡਰਰ" + +#~ msgid "© 2006 Luigi Toscano" +#~ msgstr "© 2006 Luigi Toscano" + +#~ msgid "Okular is generating fonts. Please wait." +#~ msgstr "ਓਕੁਲਾਰ ਫੋਂਟ ਤਿਆਰ ਕਰ ਰਿਹਾ ਹੈ। ਉਡੀਕੋ ਕਰੋ ਜੀ।" + +#~ msgid "Abort" +#~ msgstr "ਛੱਡੋ" + +#~ msgid "What is happening here?" +#~ msgstr "ਇੱਥੇ ਕੀ ਚੱਲ ਰਿਹਾ ਏ?" + +#~ msgid "%v of %m" +#~ msgstr "%m ਵਿੱਚੋਂ %v" + +#~ msgid "Please be patient" +#~ msgstr "ਸਬਰ ਰੱਖੋ ਜੀ" + +#~ msgid "*.pdf|Portable Document Format (*.pdf)" +#~ msgstr "*.pdf|ਪੋਰਟੇਬਲ ਡਾਕੂਮਿੰਟ ਫਾਰਮੈਟ (*.pdf)" + +#~ msgid "Export File As" +#~ msgstr "ਫਾਇਲ ਵਾਂਗ ਨਿਰਯਾਤ" + +#~ msgid "" +#~ "The file %1\n" +#~ "exists. Do you want to overwrite it?" +#~ msgstr "" +#~ "ਫਾਇਲ %1\n" +#~ "ਮੌਜੂਦ ਹੈ। ਕੀ ਤੁਸੀਂ ਉੱਤੇ ਲਿਖਣਾ ਚਾਹੁੰਦੇ ਹੋ?" + +#~ msgid "Overwrite File" +#~ msgstr "ਫਾਇਲ ਉੱਤੇ ਲਿਖੋ" + +#~ msgid "Overwrite" +#~ msgstr "ਉੱਤੇ ਲਿਖੋ" + +#~ msgid "Waiting for dvipdfm to finish..." +#~ msgstr "dvipdfm ਦੇ ਪੂਰਾ ਕਰਨ ਲਈ ਉਡੀਕ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ..." + +#~ msgid "*.ps|PostScript (*.ps)" +#~ msgstr "*.ps|ਪੋਸਟ-ਸਕ੍ਰਿਪਟ (*.ps)" + +#~ msgid "DVI File Error" +#~ msgstr "DVI ਫਾਇਲ ਗਲਤੀ" + +#~ msgid "Not All Font Files Found" +#~ msgstr "ਸਭ ਫੋਂਟ ਫਾਇਲਾਂ ਨਹੀਂ ਲੱਭੀਆਂ" + +#~ msgid "Locating fonts..." +#~ msgstr "ਫੋਂਟ ਖੋਜੇ ਜਾ ਰਹੇ ਹਨ..." + +#~ msgid "Problem locating fonts" +#~ msgstr "ਫੋਂਟ ਲੱਭਣ 'ਚ ਸਮੱਸਿਆ" + +#~ msgid "Export: %1 to PDF" +#~ msgstr "ਨਿਰਯਾਤ: %1 PDF ਵਾਂਗ" + +#~ msgid "TeX Name" +#~ msgstr "TeX ਨਾਂ" + +#~ msgid "Family" +#~ msgstr "ਵਰਗ" + +#~ msgid "Zoom" +#~ msgstr "ਜ਼ੂਮ" + +#~ msgid "Type" +#~ msgstr "ਕਿਸਮ" + +#~ msgid "Encoding" +#~ msgstr "ਇੰਕੋਡਿੰਗ" + +#~ msgid "Comment" +#~ msgstr "ਟਿੱਪਣੀ" + +#~ msgid "TeX virtual" +#~ msgstr "TeX ਵੁਰਚੁਅਲ" + +#~ msgid "TeX Font Metric" +#~ msgstr "TeX ਫੋਂਟ ਮੈਟਰਿਕ" + +#~ msgid "FreeType" +#~ msgstr "ਫਰੀ-ਟਾਇਪ" diff --git a/po/pa/okular_epub.po b/po/pa/okular_epub.po new file mode 100644 index 0000000..25a2604 --- /dev/null +++ b/po/pa/okular_epub.po @@ -0,0 +1,56 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Amanpreet Singh , 2008, 2013. +# A S Alam , 2019. +msgid "" +msgstr "" +"Project-Id-Version: okular_epub\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-02-09 13:15-0800\n" +"Last-Translator: A S Alam \n" +"Language-Team: Punjabi \n" +"Language: pa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 2.0\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ਅ ਸ ਆਲਮ" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "alam.yellow@gmail.com" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "EPub ਡੌਕੂਮੈਂਟ ਖੋਲ੍ਹਣ ਦੌਰਾਨ ਗਲਤੀ ਹੈ।" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "EPub" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "EPub ਬੈਕਐਂਡ ਸੰਰਚਨਾ" + +#~ msgid "EPub Backend" +#~ msgstr "EPub ਬੈਕਐਂਡ" + +#~ msgid "An EPub backend" +#~ msgstr "ਇੱਕ EPub ਬੈਕਐਂਡ" + +#~ msgid "© 2008 Ely Levy" +#~ msgstr "© 2008 Ely Levy" + +#~ msgid "Ely Levy" +#~ msgstr "Ely Levy" diff --git a/po/pa/okular_fax.po b/po/pa/okular_fax.po new file mode 100644 index 0000000..b607f3d --- /dev/null +++ b/po/pa/okular_fax.po @@ -0,0 +1,46 @@ +# translation of okular_fax.po to Punjabi +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# A S Alam , 2009, 2019. +msgid "" +msgstr "" +"Project-Id-Version: okular_fax\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-02-09 13:15-0800\n" +"Last-Translator: A S Alam \n" +"Language-Team: Punjabi \n" +"Language: pa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 2.0\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ਅਮਨਪਰੀਤ ਸਿੰਘ ਆਲਮ" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "alam.yellow@gmail.com" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "ਡੌਕੂਮੈਂਟ ਲੋਡ ਕਰਨ ਲਈ ਅਸਮਰੱਥ" + +#~ msgid "Fax Backend" +#~ msgstr "ਫੈਕਸ ਬੈਕਐਂਡ" + +#~ msgid "A G3/G4 fax document backend" +#~ msgstr "ਇੱਕ G3/G4 ਫੈਕਸ ਡੌਕੂਮੈਂਟ ਬੈਕਐਂਡ" + +#~ msgid "© 2008 Tobias Koenig" +#~ msgstr "© 2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/pa/okular_fictionbook.po b/po/pa/okular_fictionbook.po new file mode 100644 index 0000000..f43a8db --- /dev/null +++ b/po/pa/okular_fictionbook.po @@ -0,0 +1,75 @@ +# translation of okular_fictionbook.po to Punjabi +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# A S Alam , 2007, 2009, 2019. +msgid "" +msgstr "" +"Project-Id-Version: okular_fictionbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-02-09 13:15-0800\n" +"Last-Translator: A S Alam \n" +"Language-Team: Punjabi \n" +"Language: pa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 2.0\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ਅਮਨਪਰੀਤ ਸਿੰਘ ਆਲਮ" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "alam.yellow@gmail.com" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "ਡੌਕੂਮੈਂਟ ਠੀਕ FictionBook ਨਹੀਂ ਹੈ" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "ਡੌਕੂਮੈਂਟ ਖੋਲ੍ਹਣ ਲਈ ਅਸਫ਼ਲ ਹੈ: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "ਡੌਕੂਮੈਂਟ ਇੱਕ ਠੀਕ ZIP ਅਕਾਈਵ ਨਹੀਂ ਹੈ" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "ਗਲਤ ਡੌਕੂਮੈਂਟ ਢਾਂਚਾ (ਮੁੱਖ ਡਾਇਰੈਕਟਰੀ ਗੁੰਮ ਹੈ)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "ਡੌਕੂਮੈਂਟ ਵਿੱਚ ਕੋਈ ਸਮੱਗਰੀ ਨਹੀਂ ਲੱਭੀ ਹੈ)" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "ਗਲਤ XML ਡੌਕੂਮੈਂਟ: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/pa/okular_ghostview.po b/po/pa/okular_ghostview.po new file mode 100644 index 0000000..b927ee3 --- /dev/null +++ b/po/pa/okular_ghostview.po @@ -0,0 +1,87 @@ +# translation of okular_ghostview.po to Punjabi +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# A S Alam , 2007, 2009, 2010, 2019. +msgid "" +msgstr "" +"Project-Id-Version: okular_ghostview\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-02-09 13:15-0800\n" +"Last-Translator: A S Alam \n" +"Language-Team: Punjabi \n" +"Language: pa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 2.0\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ਅਮਨਪਰੀਤ ਸਿੰਘ ਆਲਮ" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "alam.yellow@gmail.com" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "ਪਲੇਟਫਾਰਮ ਫੋਂਟ ਵਰਤੋਂ" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "ਸਧਾਰਨ ਸੈਟਿੰਗਾਂ" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "ਪਲੇਟਫਾਰਮ ਫੋਂਟ ਵਰਤੋਂ(&U)" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "ਗੋਸਟ-ਸਕ੍ਰਿਪਟ" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "ਗੋਸਟ-ਸਕ੍ਰਿਪਟ ਬੈਕ-ਐਂਡ ਸੰਰਚਨਾ" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "ਡੌਕੂਮੈਂਟ ਵਰਜ਼ਨ" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "ਭਾਸ਼ਾ ਪੱਧਰ" + +#~ msgid "PS Backend" +#~ msgstr "PS ਬੈਕਐਂਡ" + +#~ msgid "A PostScript file renderer." +#~ msgstr "ਇੱਕ ਪੋਸਟ-ਸਕ੍ਰਿਪਟ ਫਾਇਲ ਰੈਂਡਰ।" + +#~ msgid "© 2007-2008 Albert Astals Cid" +#~ msgstr "© 2007-2008 Albert Astals Cid" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" diff --git a/po/pa/okular_kimgio.po b/po/pa/okular_kimgio.po new file mode 100644 index 0000000..2aac4f9 --- /dev/null +++ b/po/pa/okular_kimgio.po @@ -0,0 +1,68 @@ +# translation of okular_kimgio.po to Punjabi +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# SPDX-FileCopyrightText: 2007, 2010, 2019, 2024 A S Alam +msgid "" +msgstr "" +"Project-Id-Version: okular_kimgio\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-01-01 12:22-0600\n" +"Last-Translator: A S Alam \n" +"Language-Team: Punjabi \n" +"Language: pa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 23.08.4\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ਅਮਨਪਰੀਤ ਸਿੰਘ ਆਲਮ" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "aalam@punlinux.org" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "ਡੌਕੂਮੈਂਟ ਲੋਡ ਕਰਨ ਲਈ ਅਸਫ਼ਲ: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" + +#~ msgid "Image Backend" +#~ msgstr "ਚਿੱਤਰ ਬੈਕਐਂਡ" + +#~ msgid "A simple image backend" +#~ msgstr "ਇੱਕ ਸੈਪਲ ਚਿੱਤਰ ਬੈਕਐਂਡ" + +#~ msgid "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" +#~ msgstr "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" + +#~ msgid "Main Toolbar" +#~ msgstr "ਮੇਨ ਟੂਲਬਾਰ" diff --git a/po/pa/okular_mobi.po b/po/pa/okular_mobi.po new file mode 100644 index 0000000..60a26b8 --- /dev/null +++ b/po/pa/okular_mobi.po @@ -0,0 +1,62 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Amanpreet Singh Alam , 2008. +# A S Alam , 2010, 2019. +msgid "" +msgstr "" +"Project-Id-Version: okular_mobi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-02-09 13:14-0800\n" +"Last-Translator: A S Alam \n" +"Language-Team: Punjabi \n" +"Language: pa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 2.0\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ਅਮਨਪਰੀਤ ਸਿੰਘ ਆਲਮ" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "alam.yellow@gmail.com" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "ਮੋਬਾਪਾਕੇਟ ਡੌਕੂਮੈਂਟ ਨੂੰ ਖੋਲ੍ਹਣ ਦੌਰਾਨ ਗਲਤੀ ਹੈ।" + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "ਇਹ ਕਿਤਾਬ DRM ਰਾਹੀਂ ਸੁਰੱਖਿਅਤ ਹੈ ਅਤੇ ਕੇਵਲ ਤਿਆਰ ਕੀਤੇ ਜੰਤਰਾਂ ਉੱਤੇ ਹੀ ਵੇਖਾਈ ਜਾ ਸਕਦੀ ਹੈ।" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "ਮੋਬਾਪਾਕੇਟ" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "ਮੋਬਾਪਾਕੇਟ ਬੈਕਐਂਡ ਸੰਰਚਨਾ" + +#~ msgid "Mobipocket Backend" +#~ msgstr "ਮੋਬਾਪਾਕੇਟ ਬੈਕਐਂਡ" + +#~ msgid "A mobipocket backend" +#~ msgstr "ਮੋਬਾਪਾਕੇਟ ਬੈਕਐਂਡ" + +#~ msgid "© 2008-2009 Jakub Stachowski" +#~ msgstr "© 2008-2009 Jakub Stachowski" + +#~ msgid "Jakub Stachowski" +#~ msgstr "Jakub Stachowski" diff --git a/po/pa/okular_poppler.po b/po/pa/okular_poppler.po new file mode 100644 index 0000000..f386b09 --- /dev/null +++ b/po/pa/okular_poppler.po @@ -0,0 +1,410 @@ +# translation of okular_poppler.po to Punjabi +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# SPDX-FileCopyrightText: 2007, 2009, 2010, 2012, 2014, 2019, 2024 A S Alam +msgid "" +msgstr "" +"Project-Id-Version: okular_poppler\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-02-01 09:11-0600\n" +"Last-Translator: A S Alam \n" +"Language-Team: Punjabi \n" +"Language: pa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 23.08.4\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ਅਮਨਪਰੀਤ ਸਿੰਘ ਆਲਮ" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "alam.yellow@gmail.com" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "ਨਹੀਂ" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "ਗੂੜ੍ਹਾ" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "ਸ਼ਕਲ" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "ਛਾਪਣਯੋਗ ਖੇਤਰ ਲਈ ਫਿੱਟ ਕਰੋ" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "ਪੂਰੇ ਸਫ਼ੇ ਲਈ ਫਿੱਟ ਕਰੋ" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "ਕੋਈ ਨਹੀਂ; ਅਸਲ ਆਕਾਰ ਨੂੰ ਛਾਪੋ" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "ਸਰਟੀਫਿਕੇਟ ਡਾਟਾਬੇਸ" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "ਡਿਫਾਲਟ:" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "ਕਸਟਮ:" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "ਮੌਜੂਦ ਸਰਟੀਫਿਕੇਟ" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "ਦਸਤਖ਼ਤ ਲੋਡ ਕਰੋ(&L)" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "PDF ਚੋਣਾਂ" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "ਵਿਆਖਿਆਵਾਂ ਪਰਿੰਟ ਕਰੋ" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "ਪਰਿੰਟ ਕੀਤੇ ਦਸਤਾਵੇਜ਼ ਵਿੱਚ ਵਿਆਖਿਆ ਸ਼ਾਮਲ ਕਰੋ" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"ਪਰਿੰਟ ਕੀਤੇ ਦਸਤਾਵੇਜ਼ ਵਿੱਚ ਵਿਆਖਿਆ ਸ਼ਾਮਲ ਕਰੋ। ਜੇ ਤੁਸੀਂ ਅਸਲ ਬਿਨਾਂ-ਵਿਆਖਿਆ ਦੇ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਪਰਿੰਟ " +"ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ ਤਾਂ ਤੁਸੀਂ ਇਸ ਨੂੰ ਅਸਮਰੱਥ ਕਰ ਸਕਦੇ ਹੋ।" + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "ਧੱਕੇ ਨਾਲ ਰਾਸਟਰੀਜ਼ੇਸ਼ਨ" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "ਪਰਿੰਟਿੰਗ ਤੋਂ ਪਹਿਲਾਂ ਇੱਕ ਚਿੱਤਰ ਦੇ ਰੂਪ 'ਚ ਰਾਸਟਰੀਜ਼ ਕਰੋ" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "ਪਰਿੰਟ ਕੀਤੇ ਸਫ਼ਿਆਂ ਲਈ ਸਕੇਲਿੰਗ ਢੰਗ" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "ਸਕੇਲ ਢੰਗ:" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF ਵਰਜ਼ਨ %1.%2" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "ਫਾਰਮੈਟ" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "ਇਕ੍ਰਿਪਟਡ" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "ਅਣ-ਇਕ੍ਰਿਪਟਡ" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "ਸੁਰੱਖਿਆ" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "ਹਾਂ" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "ਅਨੁਕੂਲ ਕੀਤਾ" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"ਦਸਤਖ਼ਤ ਕੀਤੇ: %1\n" +"\n" +"ਤਾਰੀਖ: %2" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "PDF ਬੈਕਐਂਡ ਸੰਰਚਨਾ" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" +"ਦਸਤਾਵੇਜ਼ ਵਿੱਚ ਕੁਝ ਗਲਤੀਆਂ ਲੱਭੀਆਂ ਹਨ। ਹੋ ਸਕਦਾ ਹੈ ਕਿ ਓਕੁਲਾਰ ਸਮੱਗਰੀ ਨੂੰ ਠੀਕ ਤਰ੍ਹਾਂ ਨਾ ਦਿਖਾ ਸਕੇ।" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" + +#: pdfsettingswidget.cpp:120 +#, fuzzy, kde-format +#| msgid "&Load Signatures" +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "ਦਸਤਖ਼ਤ ਲੋਡ ਕਰੋ(&L)" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "ਇਸ ਨੂੰ ਜਾਰੀ ਕੀਤਾ" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "ਈ-ਮੇਲ" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "ਮਿਆਦ" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "ਮੁੜ-ਚਾਲੂ ਕਰਨ ਦੀ ਲੋੜ ਹੈ" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter Password" +msgstr "ਪਾਸਵਰਡ ਦਿਓ" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "%1 ਨੂੰ ਖੋਲ੍ਹਣ ਲਈ ਪਾਸਵਰਡ ਦਿਓ:" + +#~ msgid "Not Available" +#~ msgstr "ਉਪਲੱਬਧ ਨਹੀਂ" + +#~ msgid "PDF Backend" +#~ msgstr "PDF ਬੈਕਐਂਡ" + +#~ msgid "A PDF file renderer" +#~ msgstr "ਇੱਕ PDF ਫਾਇਲ ਰੈਂਡਰਰ" + +#~ msgid "© 2005-2008 Albert Astals Cid" +#~ msgstr "© 2005-2008 Albert Astals Cid" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Saving files with /Encrypt is not supported." +#~ msgstr "/Encrypt ਨਾਲ ਫਾਇਲ ਸੰਭਾਲਣ ਲਈ ਸਹਾਇਕ ਨਹੀਂ ਹੈ।" + +#~ msgid "Unknown" +#~ msgstr "ਅਣਜਾਣ" + +#~ msgid "Unknown Date" +#~ msgstr "ਅਣਜਾਣੀ ਮਿਤੀ" + +#~ msgid "Unknown Encryption" +#~ msgstr "ਅਣਜਾਣੀ ਇਕ੍ਰਿਪਸ਼ਨ" + +#~ msgid "Unknown Optimization" +#~ msgstr "ਅਣਜਾਣ ਅਨੁਕੂਲਤਾ" + +#~ msgid "Please enter the password to read the document:" +#~ msgstr "ਡੌਕੂਮੈਂਟ ਪੜ੍ਹਨ ਲਈ ਪਾਸਵਰਡ ਦਿਓ ਜੀ:" + +#~ msgid "Incorrect password. Try again:" +#~ msgstr "ਗਲਤ ਪਾਸਵਰਡ ਹੈ। ਮੁੜ ਕੋਸ਼ਿਸ ਕਰੋ:" diff --git a/po/pa/okular_txt.po b/po/pa/okular_txt.po new file mode 100644 index 0000000..a9c993d --- /dev/null +++ b/po/pa/okular_txt.po @@ -0,0 +1,50 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# A S Alam , 2013, 2019. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-02-09 13:13-0800\n" +"Last-Translator: A S Alam \n" +"Language-Team: Punjabi \n" +"Language: pa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ਅਮਨਪਰੀਤ ਸਿੰਘ ਆਲਮ" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "alam.yellow@gmail.com" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "Txt" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "Txt ਬੈਕਐਂਡ ਸੰਰਚਨਾ" + +#~ msgid "Txt Backend" +#~ msgstr "Txt ਬੈਕਐਂਡ" + +#~ msgid "Txt backend." +#~ msgstr "Txt ਬੈਕਐਂਡ" + +#~ msgid "© 2013 Azat Khuzhin" +#~ msgstr "© 2013 Azat Khuzhin" + +#~ msgid "Azat Khuzhin" +#~ msgstr "Azat Khuzhin" diff --git a/po/pa/okular_xps.po b/po/pa/okular_xps.po new file mode 100644 index 0000000..1110b2d --- /dev/null +++ b/po/pa/okular_xps.po @@ -0,0 +1,58 @@ +# translation of okular_xps.po to Punjabi +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# SPDX-FileCopyrightText: 2007, 2009, 2019, 2024 A S Alam +msgid "" +msgstr "" +"Project-Id-Version: okular_xps\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-02-01 09:08-0600\n" +"Last-Translator: A S Alam \n" +"Language-Team: Punjabi \n" +"Language: pa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 23.08.4\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ਅਮਨਪਰੀਤ ਸਿੰਘ ਆਲਮ" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "aalam@punlinux.org" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "ਰੀਵਿਜ਼ਨ" + +#~ msgid "XPS Backend" +#~ msgstr "XPS ਬੈਕਐਂਡ" + +#~ msgid "An XPS backend" +#~ msgstr "ਇੱਕ XPS ਬੈਕਐਂਡ" + +#~ msgid "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" +#~ msgstr "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" + +#~ msgid "Brad Hards" +#~ msgstr "ਬਰੈਡ ਹਾਰਡਸ" + +#~ msgid "Jiri Klement" +#~ msgstr "Jiri Klement" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" diff --git a/po/pa/org.kde.active.documentviewer.po b/po/pa/org.kde.active.documentviewer.po new file mode 100644 index 0000000..af6aa2d --- /dev/null +++ b/po/pa/org.kde.active.documentviewer.po @@ -0,0 +1,234 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# SPDX-FileCopyrightText: 2012, 2021, 2024 A S Alam +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-01-01 12:20-0600\n" +"Last-Translator: A S Alam \n" +"Language-Team: Punjabi \n" +"Language: pa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 23.08.4\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "ਬੁੱਕਮਾਰਕ" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "ਸਰਟੀਫਿਕੇਟ ਦਰਸ਼ਕ" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "ਇਸ ਵਲੋਂ ਜਾਰੀ" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "ਆਮ ਨਾਂ:" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "ਈਮੇਲ:" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "ਸੰਗਠਨ:" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "ਇਸ ਨੂੰ ਜਾਰੀ ਕੀਤਾ" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "ਵੈਧਤਾ" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "ਇਸ ਨੂੰ ਜਾਰੀ ਕੀਤਾ:" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "ਮਿਆਦ ਪੁੱਗਣੀ:" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "ਫਿੰਗਰਪਰਿੰਟ" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "SHA-1 ਫਿੰਗਰਪਰਿੰਟ:" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "SHA-256 ਫਿੰਗਰਪਰਿੰਟ:" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +#, fuzzy +#| msgid "Export..." +msgid "Export…" +msgstr "ਐਕਸਪੋਰਟ..." + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "ਬੰਦ ਕਰੋ" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "ਸਰਟੀਫਿਕੇਟ ਫਾਇਲ (*.cer)" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "ਗਲਤੀ" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "" + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "ਓਕੁਲਾਰ" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "" + +#: ui/Main.qml:49 +msgid "About" +msgstr "ਇਸ ਬਾਰੇ" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "ਪਾਸਵਰਡ ਚਾਹੀਦਾ ਹੈ" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "ਬੁੱਕਮਾਰਕ ਹਟਾਓ" + +#: ui/MainView.qml:29 +msgid "Bookmark this page" +msgstr "ਇਹ ਸਫ਼ਾ ਬੁੱਕਮਾਰਕ ਕਰੋ" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "ਥੰਮਨੇਲ" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "ਸਮੱਗਰੀ ਸਾਰਣੀ" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "ਦਸਤਖ਼ਤ" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "ਵੈਧਤਾ ਸਥਿਤੀ" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "ਦਸਤਖਤ ਵੈਧਤਾ:" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "ਡੌਕੂਮੈਂਟ ਸੋਧਾਂ:" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "ਹੋਰ ਜਾਣਕਾਰੀ" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "ਇਸ ਵਲੋਂ ਦਸਤਖ਼ਤ ਕੀਤੇ:" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "ਦਸਤਖ਼ਤ ਦਾ ਵੇਲਾ: " + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "ਕਾਰਨ:" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "ਟਿਕਾਣਾ:" + +#: ui/SignaturePropertiesPage.qml:96 +msgid "Document Version" +msgstr "ਡੌਕੂਮੈਂਟ ਵਰਜ਼ਨ" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "%2 ਵਿੱਚੋਂ %1 ਡੌਕੂਮੈਂਟ ਰੀਵਿਜ਼ਨ" + +#: ui/SignaturePropertiesPage.qml:108 +#, fuzzy +#| msgid "Save Signed Version..." +msgid "Save Signed Version…" +msgstr "ਦਸਤਖਤ ਕੀਤਾ ਵਰਜ਼ਨ ਵੇਖੋ..." + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +#, fuzzy +#| msgid "View Certificate..." +msgid "View Certificate…" +msgstr "...ਸਰਟੀਫਿਕੇਟ ਵੇਖੋ" + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "" + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "ਮੌਜੂਦ ਨਹੀਂ" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "ਕੋਈ ਨਤੀਜਾ ਨਹੀਂ ਲੱਭਾ।" + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "ਕੋਈ ਦਸਤਾਵੇਜ਼ ਖੁੱਲ੍ਹਾ ਨਹੀਂ ਹੈ" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "" + +#: ui/WelcomeView.qml:108 +#, fuzzy +#| msgid "Document Version" +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "ਡੌਕੂਮੈਂਟ ਵਰਜ਼ਨ" + +#~ msgid "Open..." +#~ msgstr "...ਖੋਲ੍ਹੋ" + +#~ msgid "Search..." +#~ msgstr "ਖੋਜੋ..." + +#~ msgid "Document viewer for Plasma Active using Okular" +#~ msgstr "ਓਕਲਾਰ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਪਲਾਜ਼ਮਾ ਐਕਟਿਵ ਲਈ ਡੌਕੂਮੈਂਟ ਦਰਸ਼ਕ" + +#~ msgid "Reader" +#~ msgstr "ਰੀਡਰ" + +#~ msgid "Copyright 2012 Marco Martin" +#~ msgstr "Copyright 2012 Marco Martin" + +#~ msgid "Marco Martin" +#~ msgstr "ਮਾਰਕੋ ਮਾਰਟਿਨ" + +#~ msgid "URL of the file to open" +#~ msgstr "ਫਾਇਲ ਖੋਲ੍ਹਣ ਲਈ URL" diff --git a/po/pl/docs/okular/annotation-properties.png b/po/pl/docs/okular/annotation-properties.png new file mode 100644 index 0000000000000000000000000000000000000000..19bf8dda8864f1d621d6ef509a5d381bdf0a0d8f GIT binary patch literal 27598 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᱓R-u1MO#u%O$%{hEF=N$vz#Kr)fUMiP>h6dg)7 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%0D;URr}H+ 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 literal 0 HcmV?d00001 diff --git a/po/pl/docs/okular/bookmark-management.png b/po/pl/docs/okular/bookmark-management.png new file mode 100644 index 0000000000000000000000000000000000000000..295db0cb27e08caba7f03c74b2bb58f6d2727ed4 GIT binary patch literal 91302 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%0AEfqG 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

  • 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 |Y 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 literal 0 HcmV?d00001 diff --git a/po/pl/docs/okular/configure-backends.png b/po/pl/docs/okular/configure-backends.png new file mode 100644 index 0000000000000000000000000000000000000000..2f396ebb0aa83e3e4bd06bddbd1c7ec3d40d1625 GIT binary patch literal 34788 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 literal 0 HcmV?d00001 diff --git a/po/pl/docs/okular/configure-editor.png b/po/pl/docs/okular/configure-editor.png new file mode 100644 index 0000000000000000000000000000000000000000..497d46a3a7fe94ae306f56025f11aee5777a7403 GIT binary patch literal 44792 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

    D>(!e`306jrlIZXp6a{p!T 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%0DsuW0Y^NTm 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¨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 literal 0 HcmV?d00001 diff --git a/po/pl/docs/okular/embedded-files-bar.png b/po/pl/docs/okular/embedded-files-bar.png new file mode 100644 index 0000000000000000000000000000000000000000..d020cb2d74f0bb672c7fc68c1a8da9d0cf7d7912 GIT binary patch literal 3765 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 KYAw_{{Qm&O5URld literal 0 HcmV?d00001 diff --git a/po/pl/docs/okular/index.docbook b/po/pl/docs/okular/index.docbook new file mode 100644 index 0000000..31ed1e1 --- /dev/null +++ b/po/pl/docs/okular/index.docbook @@ -0,0 +1,3533 @@ + + + ATEX"> + + KPDF"> + PDF"> + + +]> + + + + Podręcznik &okular-dopelniacz; + + Albert Astals Cid

    &Albert.Astals.Cid.mail;
    + + + Pino Toscano
    pino@kde.org
    +
    +
    + MarcinKocur
    marcin2006@gmail.com
    Polskie tłumaczenie
    ŁukaszWojniłowicz
    lukasz.wojnilowicz@gmail.pl
    Uaktualnienie i poprawki polskiego tłumaczenia
    + + &FDLNotice; + 2014-02-25 + 0.19 (&kde; 4.13) + + + &okular; jest wszechstronną przeglądarką dokumentów dla &kde;, opartą na kodzie &kpdf;. + + + KDE + okular + pdf + ps + postscript + tiff + djvu + dvi + chm + xps + comicbook + fictionbook + mobipocket + plucker + przypis + + + + Wprowadzenie + &okular; jest wszechstronną przeglądarką dokumentów dla &kde;, opartą na kodzie &kpdf;. Pomimo tego, &okular; zapewnia dodatkowe możliwości, jak np. tryb przeglądania, lepszą obsługę prezentacji oraz obsługę przypisów. + &okular; obsługuje wiele różnych formatów takich jak &PDF;, &PostScript;, Tiff, CHM, DjVU, Obrazy (png, jpg, &etc;) XPS, Open Document (ODT), Fiction Books, Comic Book, Plucker, EPub oraz Fax. Aby zobaczyć wszystkie obsługiwane formaty i ich możliwości, zajrzyj do &okular; Obsługiwane formaty dokumentów. + + Główne okno &okular-biernik; + + + + + + Główne okno &okular-biernik; + + + + + + Podstawowa obsługa + + Otwieranie plików + Aby obejrzeć dowolny obsługiwany przez &okular-biernik; plik, wybierz PlikOtwórz... , w oknie dialogowym wybierz obsługiwany plik i naciśnij Otwórz. Plik powinien zostać wyświetlony w głównym oknie. + + Jeśli zaznaczono Otwieraj nowe pliki w kartach na Stronie ustawień ogólnych, to nowy dokument zostanie otworzony w nowej karcie. + + Jeśli otwierano już jakieś pliki w &okular-miejscownik;, to można do nich szybko powrócić poprzez menu PlikOtwórz poprzedni. + &okular; jest domyślną aplikacją &kde; dla plików &PDF; oraz &PostScript;, uruchamianą w chwili naciśnięcia lewym przyciskiem myszy na takim pliku w oknie zarządzania plikami. Aby otworzyć dowolny obsługiwany przez &okular-biernik; format użyj Otwórz z...&okular; z menu podręcznego w oknie zarządzania plikami. + Po otwarciu pliku prawdopodobnie zechcesz go przeczytać, co pociąga za sobą konieczność poruszania się po nim. Przejdź do kolejnego działu, aby dowiedzieć się więcej. + + + Sterowanie + Ten dział opisuje jak poruszać się po dokumencie w &okular-miejscownik;. + Istnieje wiele sposobów przeglądania obszaru widoku. Można przewijać dokument w górę i w dół przy pomocy klawiszy Strzałka w górę i Strzałka w dół. Można także użyć paska przewijania, rolki myszy lub klawiszy Page Up i Page Down. + Można także używać klawiszy sterowania podobnie jak w vim, tzn.H, aby przemieścić się na górę poprzedniej strony, L, aby przemieścić się na górę następnej strony, J, aby przemieścić się jeden wiersz w dół oraz K aby przemieścić się jeden wiersz w górę. + Kolejny sposób to przytrzymanie lewego przycisku myszy w dowolnym miejscu dokumentu i przeciągnięcie myszy w kierunku przeciwnym do tego, w który chcesz się przesunąć. Ten sposób działa tylko wtedy, gdy jesteś w trybie przeglądania dokumentu. Można go włączyć za pomocą menu NarzędziaNarzędzie przeglądania . + + Przy przeglądaniu dokumentu w Trybie prezentacji użyj klawiszy Strzałka w górę oraz Strzałka w dół, aby przełączać pomiędzy stronami lub planszami. Liczba i położenie bieżącej planszy zostanie pokazane na nakładce w prawym górnym narożniku ekranu. + + Aby odczytać dokument z kilkoma stronami, użyj możliwości samoczynnego przewijania w &okular-miejscownik;. Rozpocznij samoczynne przewijanie poprzez &Shift;Strzałka w dół lub &Shift;Strzałka w górę. Następnie użyj tych klawiszy do zwiększenia lub zmniejszenia szybkości przewijania. Można tymczasowo zatrzymać lub wznowić samoczynne przewijanie poprzez naciśnięcie klawisza &Shift;; naciśnięcie dowolnego innego klawisza przerywa tę możliwość. + Innym sposobem na poruszanie się po dokumencie z wieloma stronami jest użycie wskaźnika myszy. Przeciągnij stronę w górę lub w dół, kontynuuj przeciąganie także po osiągnięciu dołu lub góry ekranu i wytrwaj w takim działaniu. W chwili przekroczenia granicy strony, wskaźnik myszy pojawi się ponownie na górze lub dole ekranu i będzie można kontynuować przeciąganie. + Panel sterowania, znajdujący się po lewej stronie okna udostępnia dwa kolejne sposoby przemieszczania się po dokumencie: + + + Naciśnięcie na miniaturę strony, spowoduje przejście do tej strony. + + + Gdy dokument posiada spis treści, to po naciśnięciu na jeden z jego wpisówspowoduje przejście do przypisanej mu strony. + + + Gdy dokument ma zakładki, włącz widok Zakładki i naciśnij na nie, aby przejść do przypisanej strony. Jeśli zakładki są pokazywane nie tylko dla bieżącego dokumentu, to można szybko przełączyć się do zakładek we wszystkich ostatnio otwartych plikach. + + + Gdy dokument ma przypisy, włącz widok Recenzje i naciśnij na przypisy lub wybierz je przy użyciu klawiszy Strzałka w górę oraz Strzałka w dół oraz naciśnij klawisz Return, aby przejść do przypisanej strony. + + + Niektóre dokumenty posiadają łącza. W takim przypadku można na nie naciskać, aby wyświetlić stronę, na którą łącze wskazuje. Jeśli łącze prowadzi do strony sieciowej lub innego dokumentu, zostanie otworzony domyślny program &kde; dla tego rodzaju. Na przykład naciśnięcie na łącze kierujące do strony http://www.kde.org spowoduje otwarcie tej strony internetowej w domyślnej przeglądarce sieciowej &kde;. + + Wewnętrzne odsyłacze dokumentu działają tylko, gdy używane jest Narzędzie przeglądania. + + Dodatkowo, można wykorzystać poniższe możliwości do przemieszczania się do wybranych miejsc w dokumencie: + + + Można przejść na początek dokumentu przy użyciu &Ctrl;Home lub użycie Idź Początek dokumentu . + + + Można przejść na koniec dokumentu przy użyciu &Ctrl;End lub użycie Idź Koniec dokumentu . + + + Można przejść do dalszej części dokumentu przy użyciu klawisza Spacji lub Page Down. Aby przejść do następnej strony, użyj ikony Przejdź do kolejnej strony z paska narzędzi lub polecenia Idź Następna strona z paska menu. + + + Można przejść do wcześniejszej części dokumentu przy użyciu klawisza &Backspace; lub Page Up. Aby przejść do poprzedniej strony, użyj ikony Przejdź do poprzedniej strony z paska narzędzi lub polecenia Idź Poprzednia strona z paska menu. + + + Można przechodzić wstecz do położeń w dokumencie, z których się przyszło w kolejności chronologicznej. Rozważ np. czytanie wyrażenia Jak pokazano w [15], … i że chcesz szybko podejrzeć źródło literaturowe [15]. Tak wiec naciskasz na nie, a &okular; przejdzie do wykazu literatury. Używając klawiszy &Alt;&Shift;Strzałka w lewo lub Idź Wstecz na pasku menu cofniesz się wstecz do poprzedniego położenia. + + + Można przejść naprzód w dokumencie po przejściu wstecz, jak to opisano powyżej, przy użyciu &Alt;&Shift;Strzałka w prawo lub Idź Naprzód na pasku menu. + + + Można przejść do następnego pasującego wyrażenia przy przeszukiwaniu przy użyciu klawiszy F3 lub &Enter; (gdy uaktywnione jest pole tekstowe Znajdź) lub wpisu menu Edycja Znajdź następne lub przejść do poprzedniego pasującego wyrażenia przy użyciu klawisza &Shift;F3 lub &Shift;&Enter; (gdy uaktywnione jest pole tekstowe Znajdź) lub wpisu menu Edycja Znajdź poprzednie . + + + + + Tryb prezentacji + Tryb prezentacji to kolejny sposób na przeglądanie dokumentów &okular-narzednik;. Można go włączyć poprzez WidokPrezentacja. W tym trybie dokument jest wyświetlany strona po stronie. Strony dopasowane są do ekranu, co oznacza, że całość strony jest widoczna. + + Dokumenty &PDF; mogą mieć nawet określony tryb prezentacji jako domyślny sposób otwarcia. + + W trybie prezentacji, dostępny jest pasek pomocniczy, znajdujący się na górze ekranu. Aby go wyświetlić, przesuń wskaźnik myszy w górę. + + &okular; w trybie prezentacji + + + + + + &okular; w trybie prezentacji + + + + Aby przemieszczać się między stronami można użyć lewego przycisku myszy (następna strona) lub prawego przycisku myszy (poprzednia strona), kółka myszy, przycisków strzałek, pola edycji numeru strony lub przycisków wymienionych w dziale Sterowanie. + Użyj przycisków Odtwórz/Wstrzymaj na górnym pasku, aby odpowiednio zacząć lub wstrzymać odtwarzanie prezentacji. + Można wyłączyć tryb prezentacji w każdej chwili naciskając na klawisz &Esc; lub naciskając na przycisk Zakończ na górnym panelu. + Można też rysować na wyświetlonej stronie ołówkiem. Naciśnij na przycisk Przełącz tryb rysowania, znajdującym się na górnym panelu, aby włączyć lub wyłączyć możliwość rysowania w trybie prezentacji. Zmiany poczynione w ten sposób zostaną samoczynnie wyczyszczone po wyjściu z trybu prezentacji. Można także nacisnąć na ikonę Wymaż rysunki, aby usunąć rysunki na bieżącej stronie. + Tryb prezentacji może obsłużyć więcej niż jeden ekran, jeśli posiadasz wiele monitorów. W takim przypadku, na górnym panelu pojawi się ikona wyświetlacza: jest to menu rozwijalne, które umożliwia przesunięcie prezentacji na każdy dostępny ekran. + Tryb prezentacji zawiera kilka możliwości ustawień, ich opis można znaleźć w dziale Ustawianie &okular-dopelniacz;. + + + + Wyszukiwanie zwrotne pomiędzy edytorami &latex; i &okular-narzednik; + + Wyszukiwanie zwrotne jest bardzo użyteczną możliwością przy pisaniu dokumentu &latex;. Jeśli wszystko ustawiono poprawnie, można nacisnąć na okno &okular-dopelniacz; lewym przyciskiem myszy, przy naciśniętym klawiszu &Shift;. Po tym edytor wczytuje plik źródłowy &latex; i przechodzi do właściwego akapitu. + + Wyszukiwanie zwrotne zadziała jeśli: + + + Plik źródłowy zostanie pomyślnie skompilowany. + &okular; będzie wiedział jakiego edytora chcesz użyć. + Narzędzie przeglądania będzie uruchomione, co można zrobić poprzez NarzędziaNarzędzie przeglądania. + + + Dzięki tej możliwości &okular-dopelniacz;, naciśnięcie lewym przyciskiem myszy przy naciśniętym klawiszu &Shift; w dokumencie &DVI; lub &PDF; spowoduje otwarcie odpowiedniego dokumentu &latex; i próbę przejścia do odpowiedniego wiersza. Pamiętaj, aby powiadomić &okular-biernik; o użyciu odpowiedniego edytora poprzez menu &okular-dopelniacz; UstawieniaUstawienia Okulara... (na stronie Edytor). + + Po więcej szczegółów nt ustawiania edytora, zajrzyj do odpowiedniego działu w tym podręczniku. + + + Ustawienia &okular-dopelniacz; + + + + + + Ustawienia edytora w &okular-miejscownik; + + Ustawienia edytora w &okular-miejscownik; + + + + + + + Zaawansowane możliwości &okular-dopelniacz; + + Pliki osadzone + Jeśli dokument posiada w sobie zagnieżdżone pliki, przy jego otwarciu powyżej widoku strony pojawi się żółty pasek, powiadamiający o osadzonych plikach. + + Pasek plików osadzonych + + + + + + Pasek plików osadzonych + + + + W tym przypadku można nacisnąć na odnośnik w tekście na pasku lub wybrać polecenie PlikPliki osadzone, aby otworzyć okno plików osadzonych. Okno to umożliwi przejrzenie osadzonych plików i ich wyodrębnienie. + + + Formularze + Po otwarciu dokumentu zawierającego formularz, na górze widoku strony ukaże się pasek, który umożliwi edycję tego formularza. + + Pasek formularzy + + + + + + Pasek formularzy + + + + W tym przypadku, można nacisnąć albo na Pokaż formularz na pasku albo wybrać WidokPokaż formularz, aby wprowadzić dane do pól formularza. + + + Przypisy + &okular-mianownik; umożliwia przeglądanie i tworzenie przypisów w dokumentach. Przypisy utworzone przez &okular-biernik; przechowywane są wewnętrznie w katalogu danych lokalnych użytkownika. &okular-mianownik; nigdy nie zapisuje w dokumentach, które otwiera. + + Przypisy &okular-biernik; + + + + + + Przypisy &okular-biernik; + + + + &okular; ma dwa różne rodzaj przypisów: + Przypisy tekstowe takie jak Podświetlenie na żółto oraz Podkreślenie na czarno dla plików z tekstem takich jak np. &PDF;. + Graficzne przypisy takie jak Żółta karteczka, Notatka w treści, Odręczna linia, Podświetlenie, Prosta linia, Wielokąt, Znaczek, Podkreślenie oraz Elipsa dla wszystkich formatów obsługiwanych przez &okular-biernik;. + Użycie menu podręcznego w trybie Recenzji panelu sterowania albo w głównym oknie może otworzyć Żółtą karteczkę dla dowolnego rodzaju przypisu i dodać lub zmienić komentarze. + Przypisy nie są tylko ograniczone do plików &PDF;, można ich używać dla każdego formatu obsługiwanego przez &okular-biernik;. + Od &kde; 4.2, &okular-mianownik; posiada możliwość "archiwizacji dokumentu". Jest to własny format &okular-dopelniacz; do zapisywania dokumentu i dodatkowych danych (w tej chwili są to tylko przypisy). Można zapisać "archiwum" bieżącego dokumentu z menu PlikEksportuj jakoArchiwum dokumentu. Aby otworzyć archiwum dokumentu &okular-dopelniacz; zwyczajnie otwórz je w &okular-miejscownik; tak jakby to był na przykład dokument &PDF;. + Od wydania &okular-dopelniacz; 0.15 można także zapisywać przypisy bezpośrednio do plików &PDF;. Możliwość ta jest dostępna tylko wtedy, gdy &okular; został zbudowany przy użyciu biblioteki wyświetlającej Poppler w wersji 0.20 lub późniejszej. Można użyć Plik Zapisz jako..., aby zapisać kopię pliku &PDF; wraz z przypisami. + + Nie jest możliwym zapisanie przypisów do pliku &PDF;, jeśli pierwotny plik został zaszyfrowany oraz &okular; używa bibliotek Poppler w wersji, która jest niższa od 0.22. + + + Po otworzeniu pliku &PDF; z istniejącymi przypisami, twoje zmiany do przypisów nie są samoczynnie zapisywane w wewnętrznym, lokalnym katalogu danych i musisz zapisać zmieniony dokument (przy użyciu PlikZapisz jako...) przed jego zamknięciem. W przypadku zapomnienia o tym, &okular; pokaże okno potwierdzenia, które umożliwi zapisanie dokumentu. + + + + Z powodu ograniczeń DRM (najczęściej w dokumentach &PDF;), dodawanie, edycja niektórych właściwości lub usuwanie przypisów może nie być możliwe. + + + Dowolne działanie na przypisach (tworzenie i usuwanie przypisów, edytowanie dowolnych właściwości przypisów, przemieszczanie przypisów przy użyciu &Ctrl;+przeciągnięcie oraz edytowanie treści tekstu przypisu) można cofnąć lub ponowić przy użyciu odpowiedniego wpisu z menu Edycja. Można także cofnąć działanie poprzez naciśnięcie &Ctrl;Z i ponowić cofnięte działanie poprzez naciśnięcie &Ctrl;&Shift;Z. + + Od wydania &okular-dopelniacz; 0.17 można ustawiać domyślne właściwości i wygląd każdego narzędzia przypisów. Zajrzyj do odpowiedniego rozdziału w tym podręczniku. + + Dodawanie przypisów + Aby dodać przypis do dokumentu, włącz pasek przypisów. Można to zrobić przez wybranie polecenia Narzędzia Recenzja lub naciśnięcie F6. Po otwarciu paska narzędziowego przypisów, naciśnij na jednym z jego przycisków lub użyj skrótów klawiszowych (klawisze od 1 do 9), aby rozpocząć tworzenie tego przypisu. + Pasek przypisów pomaga przy tworzeniu przypisów dzięki rysunkom, kształtom i wiadomością tekstowym. Można użyć paska przypisów, aby oznaczyć dokument (np. dodać linie, elipsy, wielokąty, znaczki, podświetlenia, podkreślenia itp.). Tabela poniżej opisuje dokładnie co robią przyciski na domyślnym pasku przypisów. + + + + + Przycisk + Nazwa narzędzia + Opis + + + + + + + + + + + + + + + Żółta karteczka + + + Aby narysować wielowierszową notatkę. Notatkę można obejrzeć poprzez dwukrotne naciśnięcie na jej ikonę w dokumencie. + Naciśnij na przycisk narzędzia, a następnie w dokumencie wskaż miejsce, w którym ma powstać żółta karteczka. Wprowadź jej tekst i naciśnij na przycisk Zamknij tę karteczkę w górnym prawym narożniku okna żółtej karteczki. + + + + + + + + + + + + + + Notatka w treści + + + Aby narysować notatkę w treści. Notatka zostanie pokazana w treści. + Naciśnij na przycisku narzędzia, następnie naciśnij lewym klawiszem myszy i przytrzymaj aby umieścić górny lewy narożnik notatki, następnie przeciągnij, aby umieścić dolny prawy narożnik. Wprowadź tekst notatki, a następnie naciśnij OK, aby zapisać notatkę, Anuluj, aby anulować wprowadzanie notatki lub Wyczyść, aby wyczyścić notatkę. + + + + + + + + + + + + + + Linia odręczna + + + Aby narysować linię odręczną. + Naciśnij na przycisku narzędzia, a następnie naciśnij lewym przyciskiem myszy i przytrzymaj, aby umieścić początek linii, następnie przeciągnij, aby narysować linię. + + + + + + + + + + + + + + Podświetlenie + + + Aby podświetlić tekst w dokumencie danym kolorem tła. + Naciśnij na przycisku narzędzia, a następnie naciśnij lewym przyciskiem myszy i przytrzymaj, aby umieścić początek podświetlenia wycinku tekstu, a następnie przeciągnij, aby go podświetlić. + + + + + + + + + + + + + + Linia prosta + + + Aby oznaczyć przy pomocy linii + Naciśnij na przycisku narzędzia, a następnie naciśnij lewym przyciskiem myszy, aby umieścić punkt początkowy linii, następnie przeciągnij, aby umieścić punkt końcowy linii i naciśnij jeszcze raz. + + + + + + + + + + + + + + Wielokąt + + + Aby narysować zamkniętą figurę płaską z trzech lub więcej odcinków. Odpowiadającą notatkę można obejrzeć poprzez dwukrotne naciśnięcie wewnątrz wielokąta. + Naciśnij na przycisku narzędzia, a następnie naciśnij lewym przyciskiem myszy, aby umieścić pierwszy wierzchołek wielokąta, następnie przeciągnij, aby umieścić drugi wierzchołek. Kontynuuj do chwili narysowania całego wielokąta, aż do pierwszego wierzchołka. Naciśnij dwukrotnie, aby dodać notatkę do wielokąta. Wpisz tekst notatki, a następnie naciśnij na OK, aby zapisać notatkę, Anuluj, aby anulować wpisywanie notatki lub Wyczyść, aby wyczyścić notatkę. + + + + + + + + + + + + + + Znaczek + + + Aby oznaczyć tekst lub obraz danym kształtem. + Naciśnij na przycisku narzędzia, a następnie naciśnij lewym przyciskiem myszy, aby umieścić znaczek. + Jednokrotne naciśnięcie po prostu umieszcza kwadratowy znaczek (użyteczne dla ikon). Aby dodać prostokątny znaczek, naciśnij lewym przyciskiem myszy i przytrzymaj go, aby umieścić lewy górny punkt, a następnie przeciągnij, aby umieścić dolny prawy punkt. + + + + + + + + + + + + + + Podkreślenie + + + Aby podkreślić jakiś tekst. + Naciśnij na przycisku narzędzia, a następnie naciśnij lewym przyciskiem myszy i przytrzymaj, aby umieścić początek podkreślenia wycinku tekstu, a następnie przeciągnij, aby go podkreślić. + + + + + + + + + + + + + + Elipsa + + + Aby narysować elipsę wokół wybranego obszaru. + Naciśnij na przycisku narzędzia, a następnie naciśnij lewym przyciskiem myszy i przytrzymaj, aby umieścić lewy górny narożnik opisanego na elipsie prostokąta, następnie przeciągnij, aby umieścić prawy dolny narożnik. + + + + + + Zawartość paska przypisów można ustawić przy użyciu Strony przypisów okna ustawień &okular-dopelniacz;. Tę stronę można otworzyć przy użyciu prawego przycisku myszy na pasku przypisów, a następnie wybranie Ustawienia przypisów... z menu podręcznego. + Poprzez jednokrotne naciśnięcie na przycisku narzędzia przypisu, narzędzie zostanie użyte jednokrotnie. Aby np. podświetlić więcej niż jedną ważną części tekstu, włącz to narzędzie na trwałe poprzez dwukrotne naciśnięcie na przycisku narzędzia. Naciśnij klawisz Esc lub naciśnij ponownie na przycisku narzędzia, aby opuścić tryb trwały. + + Pasek przypisów może zostać umieszczony na każdej z krawędzi pola widoku dokumentu: przeciągnij go po prostu w inne miejsce. + + + Włączenie paska przypisów spowoduje przełączenie programu w tryb przeglądania. + + W każdej chwili można przerwać tworzenie notatek, wystarczy nacisnąć na przycisk, z którego skorzystano w celu jego rozpoczęcia lub nacisnąć na klawisz &Esc;. + Nowo utworzone przypisy będą autorstwa osoby określonej na stronie Przypisy w oknie dialogowym ustawień &okular-biernik;. Strony Przypisów można także użyć do ustawienia zawartości paska przypisów. + + + Usuwanie przypisów + Aby usunąć przypis z dokumentu, naciśnij na niego prawym przyciskiem myszy i wybierz Usuń. + Podczas usuwania przypisów okno pomocnicze jego tworzenia zostanie zamknięte, jeśli jest otwarte. + + To polecenie może nie być dostępne, jeśli dokument nie zezwala na usuwanie przypisów. + + + + Edytowanie przypisów + Aby zmienić przypis, naciśnij na niego prawym przyciskiem myszy i wybierz Właściwości.... Otworzy się okno dialogowe, pozwalające na zmianę ogólnych ustawień przypisu (kolor, przezroczystość, autor, &etc;), a także właściwości wyjątkowych dla tego rodzaju przypisu. + + Okno dialogowe właściwości przypisów + + + + + + Okno dialogowe właściwości przypisów + + + + Aby przenieść przypis, przytrzymaj przycisk &Ctrl;, najedź wskaźnikiem myszy na przypis i zacznij go przeciągać. + + W zależności od uprawnień do dokumentu, nie wszystkie możliwości mogą być dostępne (najczęściej tak jest w dokumentach &PDF;). + + + + + Zarządzanie zakładkami + &okular; zawiera bardzo elastyczny system zakładek. &okular; zapisuje, w zakładce, położenie na stronie i umożliwia określenie więcej niż jednej zakładki na stronę. + Do zarządzania zakładkami w &okular-miejscownik; można użyć widoku Zakładek z Panelu sterowania, Menu zakładek lub menu podręcznego widoku dokumentu (naciśnij prawym przyciskiem myszy, aby je wywołać). + + Widok zakładek + Aby otworzyć widok Zakładek naciśnij na wpis Zakładki na Panelu sterowania. Jeśli Panel sterowania nie jest wyświetlany, użyj wpisu menu głównego F7 UstawieniaPokaż panel sterowania , aby uczynić go widocznym. + + Menu podręczne widoku zakładki + + + + + + Menu podręczne widoku zakładki + + + + Paska filtra na górze widoku Zakładek można użyć do odfiltrowania spisu zakładek według tekstu w polu wprowadzania. + Spis umożliwia oglądanie spisu zakładek w postaci drzewa: każdy element w spisie można rozwinąć lub zwinąć poprzez naciśnięcie na ikonę < lub v obok niego. + Naciśnij na ikonę poniżej spisu, aby wyświetlić ikony tylko z bieżącego dokumentu. + Menu spod prawego klawisza myszy dla dokumentu można używać do otwarcia dokumentu, zmiany jego nazwy lub usunięcia go z wykazu. Wiedz, że usunięcie dokumentu prowadzi do usunięcia wszystkich z nim związanych zakładek. + Menu spod prawego klawisza myszy dla poszczególnych zakładek umożliwia przejście do zakładki, zmianę jej nazwy lub jej usunięcie. + + + + + Możliwości wiersza poleceń + Pomimo tego że &okular; najczęściej otwierany jest za pomocą menu programów &kde; lub ikony pulpitu, może być także otwierany z wiersza poleceń w oknie terminala. Istnieje kilka użytecznych możliwości przy jego uruchamianiu. + + Podawanie pliku + Poprzez określenie ścieżki i nazwy wybranego pliku, użytkownik może spowodować, że program &okular; otworzy plik lub samoczynnie utworzy plik podczas uruchamiania. Wywołanie takie może wyglądać następująco: + % okular + + + Dla dokumentów &PDF;, można podać nazwę jako nazwa_dokumentu#nazwane_miejsce gdzie nazwane_miejsce jest szczególnie nazwanym miejscem osadzonym w dokumencie. + + + + Inne możliwości wiersza poleceń + Dostępne są następujące możliwości wyświetlania pomocy w wierszu poleceń + + + okular + Wyszczególnia najbardziej podstawowe możliwości dostępne dla wiersza poleceń. + + + okular + Wyszczególnia dostępne możliwości zmiany sposobu oddziaływania &okular-biernik; z &Qt;. + + + okular + Wyszczególnia dostępne możliwości zmiany sposobu oddziaływania &okular-biernik; z &kde;. + + + okular + Wyszczególnia wszystkie możliwości dla wiersza poleceń. + + + okular + Wyszczególnia autorów &okular-dopelniacz; w oknie terminala + + + okular + Wyszczególnia informacje o wersji dla &Qt;, &kde; oraz &okular-dopelniacz;. Dostępne również przez okular + + + okular + Pokazuje szczegóły licencji. + + + okular + Otwiera dokument na podanej stronie. Dostępne także poprzez okular + + + okular + Otwiera dokument w trybie prezentacji. + + + okular + Uruchamia z oknem dialogowym drukowania. + + + okular + Steruje niepowtarzalnym wystąpieniem. + + + okular + Zapobiega skupieniu uwagi na oknie &okular-dopelniacz; po jego uruchomieniu. + + + okular + Koniec możliwości. + + + + + + + + Pasek menu + + + Menu Plik + + + + &Ctrl;O Plik Otwórz... + + + Otwiera obsługiwany plik lub archiwum &okular-dopelniacz;. Jeśli jakiś plik jest już otwarty, zostanie zamknięty. Aby uzyskać więcej informacji, przeczytaj dział Otwieranie plików. + + + + + + Plik Otwórz poprzedni + + + Otwiera jeden z poprzednio używanych plików z podmenu. Jeśli jakiś plik jest obecnie wyświetlany, zostanie on zamknięty. Aby uzyskać więcej informacji, przeczytaj dział Otwieranie plików. + + + + + + Plik Importuj Postscript jako PDF... + + + Otwórz plik &PostScript; i przekształć go do &PDF;. + + + + + + Plik Zapisz jako... + + + Zapisz obecnie otwarty plik pod inną nazwą, używając silnika dokumentu. Silnikiem &PDF; (wymagany Poppler +>= 0.8) możliwe jest zapisanie dokumentu ze zmienionymi wartościami pól formularzy. Możliwym jest także (pod warunkiem, że dane nie zostały zabezpieczone cyfrowo) zapisanie przypisów wraz z plikami &PDF; (wymagany Poppler +>= 0.22). + + + + + + Plik Zapisz kopię jako... + + + Zapisuje kopię obecnie otwartego pliku pod inną nazwą, nie używając silnika dokumentu. + + + + + + + F5 Plik Wczytaj ponownie + + + Wczytuje ponownie obecnie otwarty plik. + + + + + + &Ctrl;P Plik Drukuj... + + + Drukuje obecnie wyświetlany dokument. + + + + + + Plik Podgląd wydruku... + + + Wyświetla sposób, w jaki zostanie wydrukowany obecnie otwarty dokument przy domyślnych ustawieniach. + + + + + + Plik Właściwości + + + Wyświetla podstawowe informacje o dokumencie, takie jak jego tytuł, autora, datę utworzenia i dane o użytych czcionkach. Dostępność informacji zależy od typu dokumentu. + + + + + Plik Pliki osadzone + + + Wyświetla pliki zagnieżdżone w dokumencie , jeśli takie istnieją. Aby uzyskać więcej informacji, przeczytaj dział Pliki osadzone. + + + + + + Plik Eksportuj jako + + + To podmenu wyświetla dostępne formaty, w których może zostać zapisany bieżący dokument. Pierwszym z wykazu formatów dla każdego dokumentu zawsze będzie Zwykły tekst.... + Drugi wpis to Archiwum dokumentu, który umożliwia zachowanie dokumentu wraz z przypisami w formacie właściwym &okular-celownik;. Dzięki temu można łatwo korzystać z pierwotnych dokumentów z przypisami pracując nad nimi z innymi użytkownikami &okular-dopelniacz;. + + + + + + &Ctrl;Q Plik Zakończ + + + Kończy pracę &okular-dopelniacz;. + + + + + + + Menu Edycja + + + + + &Ctrl;Z Edycja Cofnij + + + Cofa ostatnie polecenie edytowania przypisu (tworzenie i usuwanie przypisów, edytowanie dowolnych właściwości przypisów, przemieszczanie przypisów przy użyciu &Ctrl;+przeciągnięcie oraz edytowanie treści przypisu). + + + + + + &Ctrl;&Shift;Z Edycja Przywróć + + + Ponawia ostatni krok cofnięcia przy edytowaniu przypisów. + + + + + + + + &Ctrl;C Edycja Kopiuj + + + Kopiuje tekst zaznaczony w trybie Zaznaczanie do schowka. + + + + + + + + &Ctrl;A Edycja Zaznacz wszystko + + + Zaznacza cały tekst (jeśli dokument go posiada). To polecenie działa tylko w trybie Zaznaczanie. + + + + + + + + &Ctrl;F Edycja Znajdź... + + + Wyświetla u dołu pola widoku panel, który pozwala na wyszukanie ciągu znaków w dokumencie. + + + + + + F3 Edycja Znajdź następne + + + Spróbuje znaleźć poprzednio szukany ciąg znaków ponownie. + + + + + + &Shift;F3 Edycja Znajdź poprzednie + + + Przechodzi do poprzedniego wystąpienia szukanego ciągu znaków w dokumencie. + + + + + + + Menu Widok + + + + &Ctrl;&Shift;P Widok Prezentacja + + + Włącza tryb prezentacji. Po więcej szczegółów, zajrzyj do działu Tryb prezentacji. + + + + + &Ctrl;+ Widok Powiększ + + + Przybliża dokument. + + + + + + &Ctrl;- Widok Pomniejsz + + + Oddala dokument. + + + + + Widok Dopasuj szerokość + + + Zmienia powiększenie dokumentu tak, że szerokość strony odpowiada szerokości pola widoku. + + + + + Widok Dopasuj stronę + + + Zmienia powiększenie dokumentu tak, aby widoczna była w całości przynajmniej jedna strona. + + + + + Widok Dopasuj samoczynnie + + + Zmień powiększenie widoku dokumentu do wartości, która, w zależności od stosunku rozmiaru strony do obszaru widoku, samoczynnie wyrównuje szerokość strony do szerokości widoku dokumentu (tak jak przy dopasowaniu na szerokość), wysokość strony do wysokości widoku dokumentu (tak jak przy dopasowaniu na wysokość) lub czyni całą stronę widoczną (tak jak przy dopasowaniu strony). + + + + + Widok Ciągły + + + Włącza ciągły tryb przeglądania. W tym trybie wyświetlane są wszystkie strony dokumentu, dzięki czemu można je przewijać bez konieczności użycia poleceń Idź Poprzednia strona i IdźNastępna strona . + + + + + Widok Tryb widoku + + + To podmenu wybiera sposób wyświetlania stron. Dostępne możliwości to: Pojedyncza strona (jedna strona na wiersz), Strony sąsiadujące (blok dwóch stron na wiersz) i Przegląd (liczba kolumn jest określana w ustawieniach &okular-dopelniacz;). + + + + + Widok Kierunek + + + To podmenu zmienia kierunek (położenie) stron w dokumencie. + + Obrót jest stosowany dla każdej ze stron. + + Po wybraniu polecenia Pierwotny kierunek zostaje przywrócony domyślny kierunek dokumentu, cofając tym samym wszelkie obroty użytkownika. + + + + + Widok Rozmiar strony + + + Zmienia rozmiar stron dokumentu. + + To podmenu zostaje aktywowane tylko wtedy, gdy bieżący dokument obsługuje różne wielkości stron. + + + + + + Widok Obetnij marginesy + + + Usuwa białe obramowanie stron podczas ich przeglądania. + + + + + Widok Pokaż/Ukryj formularz + + + Wyświetla lub ukrywa pola formularza w dokumencie. + + To polecenie menu jest dostępne tylko wtedy, gdy bieżący dokument posiada formularz. + + + + + + + + + Menu Idź + + + + Idź Poprzednia strona + + + Wyświetla poprzednią stronę dokumentu. + + + + + Idź Następna strona + + + Wyświetla następną stronę dokumentu. + + + + + &Ctrl;Home Idź Początek dokumentu + + + Przechodzi na początek dokumentu. + + + + + &Ctrl;End Idź Koniec dokumentu + + + Przechodzi na koniec dokumentu. + + + + + &Alt;&Shift;Strzałka w lewo Idź Wstecz + + + Przechodzi do poprzedniego widoku dokumentu. + + + + + &Alt;&Shift;Strzałka w prawo Idź Wprzód + + + Przechodzi się do kolejnego widoku dokumentu. Możliwe tylko, gdy wcześniej nastąpiło przejście wstecz. + + + + + &Ctrl;G Idź Idź do strony... + + + Otwiera okno, które umożliwia przejście do każdej strony dokumentu. + + + + + + + Menu Zakładki + + + + &Ctrl;B Zakładki Dodaj/Usuń zakładkę + + + Dodaje lub usuwa zakładkę dla obecnego położenia. + + + + + Zakładki Zmień nazwę zakładki + + + Zmienia nazwę zakładki dla obecnego położenia. + + + + + Zakładki Poprzednia zakładka + + + Przechodzi do poprzedniej zakładki lub nie rób nic, jeśli poprzednia zakładka nie istnieje. + + + + + Zakładki Następna zakładka + + + Przechodzi do następnej zakładki lub nie rób nic, jeśli następna zakładka nie istnieje. + + + + + Zakładki Brak zakładek + + + To polecenie jest zawsze niedostępne, wyświetlane tylko wtedy, gdy bieżący dokument nie posiada zakładek; w przeciwnym przypadku wyświetlany jest w jego miejscu wykaz zakładek. Naciśnięcie na te zakładki umożliwia bezpośrednie przejście do przypisanego położenia. + + + + + + + Menu Narzędzia + + + + &Ctrl;1 Narzędzia Narzędzie przeglądania + + + Mysz zachowuje się w sposób zwyczajny: lewy przycisk myszy służy do przewijania dokumentu i podążania za odsyłaczami, a prawy do dodawania zakładek i dopasowywania szerokości. + + + + + &Ctrl;2 Narzędzia Narzędzie powiększania + + + Naciśnięcie lewym przyciskiem myszy i przeciągnięcie spowoduje powiększenie wybranego obszaru, naciśnięcie prawym przyciskiem przywróci poprzedni stopień powiększenia. + + + + + &Ctrl;3 Narzędzia Narzędzie zaznaczania + + + Mysz będzie działała jak narzędzie do zaznaczania. Oznacza to, że naciśnięcie lewym przyciskiem i zaznaczenie czegoś, a następnie puszczenie przycisku wyświetli menu z możliwością skopiowania tekstu lub obrazu do schowka, zapisania obrazu do pliku lub wypowiedzenia tekstu. + + + + + &Ctrl;4 Narzędzia Narzędzie zaznaczania tekstu + + + Mysz będzie działała jak narzędzie do zaznaczania tekstu. Oznacza to, że po zaznaczeniu tekstu lewym przyciskiem myszy będzie go można skopiować do schowka lub wypowiedzieć, po wybraniu odpowiedniej opcji z menu dostępnego pod prawym przyciskiem myszy. + + + + + &Ctrl;5 Narzędzia Narzędzie zaznaczania tabeli + + + Narysuj prostokąt wokół tekstu dla tabeli, a następnie naciśnij lewym przyciskiem myszy, aby podzielić blok tekstu na wiersze i kolumny. Naciśnięcie lewym przyciskiem na istniejącym wierszu usuwa go i scala z sąsiadującymi wierszami lub kolumnami. + + + + + &Ctrl;6 Narzędzia Szkło powiększające + + + Włącza tryb szkła powiększającego dla wskaźnika myszy. Naciśnij i przytrzymaj lewy przycisk myszy, aby włączyć okno szkła powiększającego, przesuwaj wskaźnikiem, aby przesuwać się po dokumencie. Szkło powiększające przeskalowuje każdy piksel w dokumencie na 10 pikseli w oknie szkła powiększającego. + + + + + F6 Narzędzia Recenzja + + + Otwiera panel dodawania przypisów. Umożliwia on dodawanie przypisów do bieżącego dokumentu. Po więcej szczegółów, zajrzyj do działu Przypisy. + + + + + Narzędzia Przeczytaj cały dokument + + + Narzędzia Przeczytaj bieżącą stronę + + + Narzędzia Przestań czytać + + + Te polecenia umożliwiają wypowiedzenie całego dokumentu lub jednej strony oraz przerwanie odczytywania przez system &kde; tekstu-na-mowę &jovie;. + Działanie Wypowiedz ... jest włączone tylko, gdy w systemie dostępny jest system &jovie;. + + + + + + + Menu Ustawienia + + + + &Ctrl;M Ustawienia Pokaż pasek menu + + + Wł/Wył wyświetlanie paska menu. Ukryty pasek może zostać przywrócony przy użyciu skrótu klawiszowego &Ctrl;M. Jeśli pasek menu jest ukryty, to menu podręczne, otwarte prawym klawiszem myszy, zawiera dodatkowy wpis Pokaż pasek menu. + + + + + Ustawienia Pokaż pasek narzędzi + + + Ukrywa lub wyświetla pasek narzędzi. + + + + + F7 Ustawienia Pokaż panel sterowania + + + Ukrywa lub wyświetla panel sterowania. + + + + + Ustawienia Pokaż pasek stron + + + Wł/Wył pasek strony na dole obszaru dokumentu, aby zaoszczędzić miejsce w pionie w oknie &okular-dopelniacz;. + + + + + &Ctrl;&Shift;F Ustawienia Tryb pełnoekranowy + + + Włącza tryb pełnoekranowy. Zauważ, że tryb pełnoekranowy różni się od trybu prezentacji tym, że jedyną możliwością trybu pełnoekranowego jest ukrycie wystroju okna, paska menu i paska narzędzi. + + + + + Ustawienia Ustawienia skrótów... + + + Otwiera okno, które pozwala na ustawienie skrótów klawiszowych dla większości poleceń menu. + + + + + Ustawienia Ustawienia pasków narzędzi... + + + Otwiera okno, które pozwala na wybranie, które ikonki powinny być widoczne na pasku narzędzi. + + + + + Ustawienia Ustawienia silników... + + + Otwiera okno Ustawień silników. + + + + + Ustawienia Ustawienia &okular-dopelniacz;... + + + Otwiera okno Ustawienia - &okular-mianownik;. + + + + + + + Menu Pomoc +&help.menu.documentation; + + + + Ustawienia silników &okular-dopelniacz; + Można ustawić silniki &okular-dopelniacz; poprzez Ustawienia Ustawienia silników... . Obecnie istnieje możliwość ustawiania tylko silników EPub, &PostScript;, FictionBook, Txt, Tekstu OpenDocument oraz &PDF;. + + Okno dialogowe ustawień silników + + + + + + Okno dialogowe ustawień silników + + + + Poprzez użycie stron ustawień dla EPub, FictionBook, Txt oraz tekstu OpenDocument można określić czcionkę do wyświetlania dokumentów w odpowiednich formatach. Przycisk Wybierz..., na tych stronach, otwiera zwykłe okno ustawień &kde;. Zajrzyj do Podręcznika o podstawach &kde; po więcej szczegółów. + Opis stron ustawień &PostScript; oraz &PDF; podano poniżej. + + Ustawienia silnika &PostScript; + Silnik wyświetlania &PostScript; w &okular-miejscownik; można ustawić na podstawie Ghostscript poprzez wybranie Ghostscript ze spisu po lewej stronie okna dialogowego ustawień. Jedyna możliwość zmiany jest następująca. + + + + + Użyj czcionek systemowych + + + To ustawienie określa, czy Ghostscript ma używać czcionek systemowych, w przypadku odznaczenia, dozwolone jest użycie tylko czcionek osadzonych w dokumencie. Ustawienie to jest domyślnie zaznaczone. + + + + + + + Ustawienia silnika &PDF; + Silnik wyświetlania &PDF; w &okular-miejscownik; można ustawić na podstawie Poppler poprzez wybranie &PDF; ze spisu po lewej stronie okna dialogowego ustawień. Jedyna możliwość zmiany jest następująca. + + + + + Polepsz cienkie linie + + + Rysowanie linii w &okular-miejscownik; zostało zaimplementowane w dwóch krokach: tworzenie ścieżki przycinającej i wypełnianie tej ścieżki przycinającej. Gdy linia w pierwotnym dokumencie jest mniejsza niż jeden piksel, to ta dwustopniowa implementacja może powodować problemy. Dla tych linii, ścieżka przycinająca jest wypełniana kolorem wypełnienia, który zależy od grubości części linii wewnątrz przyciętego obszaru. Jeśli część linii wewnątrz obszaru przycinania będzie bardzo mała, to kontrast pomiędzy kształtem i kolorem tła może stać się zbyt niski, aby można było rozpoznać linię. Siatki takich linii wyglądają wtedy bardzo nieładnie. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Cienka linia (czerwona), jej ścieżka przycinania (linia kreskowa) oraz granice pikseli (czarne linie ciągłe) + Cienkie linie są wyświetlane przy niskim kontraście + + + + + Aby polepszyć wygląd cienkich linii &okular; implementuje dwie możliwości. + Pierwszym wyborem jest Jednolicie. Przy tym wyborze &okular; dostosowuje ścieżkę przycinania i położenie linii, tak aby ścieżka przycinania i linia były na tej samej granicy piksela, tj. &okular; poszerza cienkie linie do jednego piksela na urządzeniu wyjściowym, tak aby w ogóle były widoczne. Ten tryb jest podobny do Poszerz cienkie linie w programie Adobe Reader. Jeśli dokonano tego wyboru, to cienkie linie zawsze będą powiększane. + + + + + + + + Cienka linia wraz z polepszeniem Jednolitym + + + Cienka linia wraz z polepszeniem Jednolitym + + + + + Drugi wybór to Kształtowo. Ten wybór również powoduje dostosowanie ścieżki przycinania z linią na granicach pikseli, lecz natężenie linii jest poprawiane na podstawie jej szerokości. + + + + + + + + Cienka linia wraz z polepszeniem Kształtowym + + + Cienka linia wraz z polepszeniem Kształtowym + + + + + Cienkie linie nie są domyślnie polepszane (wybór Nie). + + + + + + + + Ustawienia &okular-dopelniacz; + + Ustawienia ogólne + &okular-dopelniacz; można dostosować do swoich potrzeb poprzezUstawienia Ustawienia &okular-dopelniacz;.... Okno dialogowe ustawień podzielone jest na sześć działów. Ten rozdział opisuje szczegółowo dostępne możliwości. + + + Ogólne + + + Dostępność + + + Wydajność + + + Prezentacja + + + Przypisy + + + Edytor + + + + Okno dialogowe ustawień + + + + + + Okno dialogowe ustawień + + + + W zależności od wgranych silników wyświetlających, polecenie Ustawienia Ustawienia silników... może być włączone lub nie. To szczególne okno dialogowe ustawień zawiera ustawienia dla silników, dla których istnieje możliwość ustawiania. + + + Ogólne + + + Pokaż paski przewijania + + Określa, czy paski przewijania dla widoku dokumentu mają być widoczne. + + + + Powiąż miniatury ze stronami + + Określa, czy w widoku miniaturek będzie zawsze pokazywana obecnie przeglądana strona. + + + + Pokaż podpowiedzi i informacje + + Określa, czy pokazywać bardziej szczegółowe dane przy uruchamianiu, wczytywaniu pliku, itp. + + + + Wyświetl tytuł dokumentu na pasku tytułu, jeśli jest dostępny + + Określa czy wyświetlać tytuł bieżącego dokumentu na pasku tytułu okna &okular-dopelniacz;. Jeśli dokument nie ma metadanej o tytule lub gdy to pole jest odznaczone, to &okular; wyświetla nazwę pliku dokumentu. + + + + Jeśli nie wyświetlać tytułu dokumentu to + + Można wybrać jedną z dwóch możliwości Wyświetl tylko nazwę pliku lub Wyświetl pełną ścieżkę do pliku. + + + + Przestrzegaj ograniczeń DRM + + Określa, czy &okular; powinien przestrzegać ograniczeń DRM (Digital Rights Management). Ograniczenia DRM są używane, aby uniemożliwić wykonywanie pewnych czynności na dokumentach &PDF;, takich jak na przykład kopiowanie ich zawartości do schowka. Zauważ, że na niektórych systemach ta możliwość jest niedostępna. + + + + Otwórz nowe pliki w kartach + + Określa czy otwierać nowe dokumenty w kartach. Karty są domyślnie wyłączone. + Domyślnym skrótem do przełączania po kartach jest &Ctrl;. (Następna karta) oraz &Ctrl;, (Poprzednia karta). + + + + Wczytaj ponownie dokument po zmianie pliku + + Określa, czy otwarty plik powinien być samoczynnie sprawdzany na okoliczność zmian i ponownie wczytywany, jeśli zajdzie taka konieczność. + + + + Pokaż okno wyboru silnika + + Określa, czy &okular; powinien prosić o wybór silnika, jeśli więcej niż jeden z dostępnych potrafi otworzyć żądany plik. Niezaznaczenie tej opcji spowoduje samoczynny wybór silnika z najwyższym priorytetem. + + + + Kolumny przeglądu + + To ustawienie określa liczbę kolumn użytych do wyświetlania stron w trybie przeglądania. + + + + Nachodzenie Page Up/Down: + + Tutaj można określić procent bieżącego obszaru wyświetlania, który ma być widoczny po naciśnięciu klawiszy Page Up/Page Down. + + + + Domyślne powiększenie + + Ustawienia te określają domyślny tryb powiększenia dla pliku, który nigdy wcześniej nie był otwierany. Dla tych plików, który były otwierane wcześniej, stosowany jest poprzedni tryb powiększenia. + + + + + + Dostępność + + + Narysuj obramowania wokół odsyłaczy + + Określa, czy będzie rysowana ramka wokół odsyłaczy. + + + + Zmień kolory + + Włącza możliwości zmiany kolorów. + + + + Odwróć kolory + + Odwraca kolory stron, czyli obiekty w czarnym kolorze staną się białe. + + + + Zmień kolor papieru + + Zmienia kolor tła stron. + + + + Zmień ciemne i jasne kolory + + Zmienia ciemne i jasne kolory. Oznacza to, że czarny nie będzie wyświetlany jako czarny, ale jako wybrany przez Ciebie ciemny kolor, a biały nie będzie wyświetlany jako biały, ale jako wybrany przez Ciebie jasny kolor. + + + + Przekształć na czarno-białe + + Przekształca dokument na czarno-biały. Można dostosować próg i kontrast. Ustawienie progu na wyższą wartość (przesuwając suwak w prawo) spowoduje użycie jaśniejszych odcieni szarego. + + + + + + Wydajność + + + Włącz efekty przezroczystości + + Rysuje zaznaczenia i inne szczególne grafiki, używając efektu przezroczystości. Wyłączenie ustawienia spowoduje rysowanie tych elementów przy użyciu konturów lub nieprzezroczystych wypełnień, przez co wzrośnie wydajność programu w trakcie zaznaczania. + + + + Wykorzystanie pamięci + + Można uzyskać optymalną wydajność &okular-dopelniacz; poprzez ustawienie sposobu używania pamięci RAM na podstawie posiadanego systemu komputerowego i własnych przyzwyczajeń. Im więcej pamięci pozwolisz mu używać, tym szybciej program będzie działał. Domyślny profil jest dobry dla każdego systemu, ale można zapobiec używaniu większej ilości pamięci, niż to konieczne, przez wybranie niskiego wykorzystania pamięci lub pozwolić mu na wyciśnięcie maksimum z twojego sprzętu, przez wybranie dużego wykorzystania pamięci. Użyj profilu zachłanny, aby wstępnie wczytać wszystkie strony bez ryzyka przepełnienia pamięci (zostanie użyte tylko 50% całkowitej lub wolnej pamięci). + + + + Wyświetlanie + + Używając tej grupy ustawień można poprawić wyświetlanie tekstu i obrazów w &okular-miejscownik;. Wynik zależy od urządzenia do wyświetlania dokumentu. Pól Włącz wygładzanie tekstu oraz Włącz wygładzanie grafiki można użyć do włączenia i wyłączenia przestrzennego wygładzania odpowiednio tekstu oraz obrazów w dokumencie. Pole Włącz "hinting" tekstu służy jako przełącznik dla efektu drukarskiego zwanego "hinting" czcionki. Wygładzanie oraz "hinting" mogą zmienić sposób wyświetlania dokumentu. Można nimi poprzestawiać, aby uzyskać zadowalający wygląd. + + + + + + Prezentacja + + + Idź do przodu co: + + Włącza samoczynne przechodzenie do następnej strony w określonych odstępach czasowych. + + + + Po ostatniej stronie zacznij od początku + + W trybie prezentacji, po dojściu do ostatniej strony, następną stroną będzie pierwsza strona dokumentu. + + + + Kolor tła + + To kolor, który będzie wyświetlany w miejscu ekranu, który nie jest zakryty przez stronę. Dotyczy tylko trybu prezentacji. + + + + Kolor pędzla + + Określa kolor pędzla używanego do rysowania po stronach podczas prezentacji. + + + + Wskaźnik myszy + + Określa czy wskaźnik myszy powinien być zawsze ukryty, zawsze widoczny, czy ukryty po pewnym, krótkim czasie nieużywania. + + + + Pokaż pasek postępu + + Określa, czy przy każdej zmianie strony powinien być wyświetlany pasek postępu w przeglądaniu stron. Pokazuje on obecny numer strony i całkowitą ilość stron. Znajduje się w prawym, górnym narożniku ekranu. + + + + Pokaż stronę podsumowania + + Określa, czy na początku prezentacji pokazana zostanie strona z takimi informacjami, jak tytuł, autor i ilość stron w dokumencie. + + + + Włącz przejścia + + Użyj tego pola zaznaczanego do włączenia lub wyłączenia efektu przejścia pomiędzy stronami. + + + + Domyślne przejście + + Efekt przejścia między stronami, jeśli dokument nie precyzuje takiego. Ustaw Losowy efekt, aby &okular; wybierał losowo jeden z dostępnych efektów. + + + + Umieszczenie + + W tym dziale można wybrać Ekran używany do wyświetlania prezentacji. + Bieżący ekran to ten sam ekran, na którym znajduje się okno &okular-dopelniacz; uruchamiające prezentację. + Domyślny ekran to ekran oznaczony jako domyślny w ustawieniach xinerama. + Ekran 0, Ekran 1 itd. to dostępne ekrany. + + + + + + Przypisy + + Strona przypisów okna dialogowego ustawień + + + + + + Strona przypisów okna dialogowego ustawień + + + + + + Autor + + Autor treści dodanej do dokumentu. Domyślnie jest to nazwa ze strony Hasło i konto użytkownika modułu Szczegóły konta Ustawień Systemowych. + + + + Narzędzia przypisów + + Panel ten jest używany do ustawienia paska przypisów. + Jest tam pięć przycisków (Dodaj, Edycja, Usuń, Przesuń w górę, Przesuń w dół) oraz pole spisu (które wyszczególnia zawartość bieżącego paska przypisów), które jest używane do ustawienia paska narzędzi. + Aby dodać jakieś narzędzie do paska narzędzi naciśnij na przycisk Dodaj. Można wybrać Nazwę, Rodzaj oraz Wygląd utworzonego narzędzia. + + Pamiętaj, że narzędzia przypisów są w &okular-miejscownik; wysoce ustawialne. Na przykład, można mieć dwa przyciski tego samego narzędzia, lecz w różnych kolorach. Nie obawiaj się eksperymentować przy wybieraniu zestawów przycisków, które będą odpowiednio skrojone do twojego sposobu pracy. + + Naciśnij na jakimś elemencie w polu spisu, a następnie naciśnij na odpowiednim przycisku po prawej stronie strony, aby edytować, usunąć, przesunąć element w górę lub w dół. Skrót klawiszowy narzędzia (klawisze od 1 do 9) w zależności od jego położenia na spisie paska przypisów. + + + + + + Edytor + + + Edytor + + Wybierz edytor, który ma być uruchamiany gdy &okular-mianownik; chce otworzyć plik źródłowy. Ma to miejsce wtedy, gdy dokument posiada odniesienia do różnych miejsc źródeł (zwykle numery wierszy i kolumn), z których go wygenerowano. Format &DVI; podstawowo obsługuje szczegóły o źródle dokumentu LaTeX, z którego został utworzony. Podobny system, pdfsync, istnieje w dokumentach &PDF;; przechowuje on szczegóły w osobnym pliku nazwanym za oryginalnym dokumentem (na przykład mój_dokument.pdfsync dla mój_dokument.pdf). + &okular; dostarczany jest z ustawieniami wstępnymi dla następujących edytorów: &kate;, Kile, SciTE, Klient &Emacs; oraz Klient LyX . + + Aby użyć wyszukiwania zwrotnego w Kile, należy skompilować plik &latex; przy użyciu ustawienia Nowoczesny. + + + + + Polecenie + + Polecenie wraz z parametrami do wywołania wybranego edytora z wczytanym plikiem źródłowym bieżącego dokumentu. + Pole to zostanie wypełnione samoczynnie w przypadku użycia jednego ze wstępnie ustawionych edytorów. W przeciwnym przypadku, wybierz Własny edytor tekstu z pola rozwijanego Edytor i zajrzyj do dokumentacji swojego ulubionego edytora, aby znaleźć właściwe polecenie. + Można użyć następujących pól zastępczych: + + + %f - nazwa pliku + + + %l - wiersz w pliku, do którego przejść + + + %c - kolumna w pliku, do której przejść + + + Jeśli nie podano %f, to zostanie dołączona nazwa dokumentu do podanego polecenia. + + + + + + + Zasługi i licencja + + + Prawa autorskie: + &Albert.Astals.Cid; &Albert.Astals.Cid.mail; Obecny opiekun + Pino Toscano pino@kde.org + Enrico Roseros.kde@email.it programista &kpdf; + + + + Prawa autorskie do dokumentacji: + &Albert.Astals.Cid; &Albert.Astals.Cid.mail; Autor + Titus Laskatitus.laska@gmx.de Uaktualnienia i dodatki + Pino Toscano pino@kde.org + + Tłumaczenie Marcin Kocurmarcin2006@gmail.com Tłumaczenie Łukasz Wojniłowiczlukasz.wojnilowicz@gmail.com +&underFDL; &underGPL; + + + Wgrywanie + + Jak zdobyć &okular-dopelniacz; +&install.intro.documentation; + + Kompilacja i wgrywanie + + Jeśli czytasz tę pomoc w &khelpcenter-mianownik;, &okular; jest już prawdopodobnie wgrany w twoim systemie, więc nie musisz go wgrywać ponownie. + &install.compile.documentation; + + &documentation.index; + + + + diff --git a/po/pl/docs/okular/mainwindow.png b/po/pl/docs/okular/mainwindow.png new file mode 100644 index 0000000000000000000000000000000000000000..46413b18c6cec14f28fdb661b1337b23502dbff1 GIT binary patch literal 76632 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

    QivX%D5Pnuq6_#L&MO&^O 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 Ze*&iZ-i{PdK*Dmx6Lgk-b&B^ zDq$R6n8&HOiUZml{+ge`mbpOgoqvc(Q!=qK0^{T3aJgLY3=LslIDjoL{Br2tNC*!# z1%_dOkxHeIPNxxz#lT2Y+@iAl5)I{uTusFCClCk(5DW(4^?K3L(t;y>kMNtl8awLk zu!jO@Zf-_xZ7m{^2r4Tp(bLl-Yc(}B;Jt5PSQakonh^Mmq9K{chkzK7ByVqT#|hhQ zY_(EQznEG-K&h-X)N0 z-F2@{Hdj*pM@L7&bng@AreiJs`cYSa(_D$n{M!nG{91-EOF=3dTUnl;pogL(7+-wY3%Da2T$E0sQG~ z#`llA;YlXs@c#aO6c-nRNQ(4^$RnDXnplp~qz;Ee)~c$i_3 zeOp@_j@a+urw8}(I~kGtnICq$oxhG{C`r1yx+Gy;T^+9r0guOn^73*_Pfv@VbeIOd zh=@DFVH(R5Aor6ijYgx;=&N^5j?3o%se^;6n!9dtJ_!Q5B9}$Xi6DD*UB`W&7vE)T ze>$$NXcmYZf6m(K578is6ALmMmckV6IZDm@dDe<~PFSlMMqYBTJ!&N9?c0eEo69*} zlQGONDsdk4Bg$`GLS-{5U;Z`*5)r6NsYBFx8QU-`Rhe;ilVU8ME~{m^(ZMR5eas5 zbO-^$+7Mtl4G#~Cv_?ioxD0$7EIA(2EJGQ)larH}nVI2I@w*#;%QpyoIs{$=DTRER TmlV%l00000NkvXXu0mjfC$#cb literal 0 HcmV?d00001 diff --git a/po/pl/docs/okular/tool-highlighter-okular.png b/po/pl/docs/okular/tool-highlighter-okular.png new file mode 100644 index 0000000000000000000000000000000000000000..eca480c1bb30055565c960e7df6afa4226289205 GIT binary patch literal 1533 zcmV^-1)GhtV456D&z$@5>_($gj?Ym&GSno6%fmJrhjXmRun#LK+|LL?F#GBKd1;tQq`=1DY` zF~n*jlq*-`>WpKj$sN9>$Z+m9b?tTZIO`@MU=gGlSEbuc= zL&p+miAS#)PsDr=L9-EiRyzLPP8KX!Fz+%0gVD(fe&}c#nZIUG-<%-RNKk;v>Lh;r z=_yW@q_SuKEOzdmt6nFj*?S;erZgLkkMMacc#G!<{8{My7#sqxzJsvMNWaBI*8!R2 zIXA#a0~$-vSj?clm_vUqMPrd%FQTSlG2!T&gd%UE@dhHfzNpvH7}oprdX`J_L~u#+ zv+qJnvLwHQP*p5}k{NglQ*c%00*o*)q6J>Bcgzc?#_pOg@MYkLmE_|HRmKu5OTb%@ zg0o^Dz^Dw2ecJ`DlDn5fs|f|S3cMtiuEIx$;a4{hp@ax!B8#X(R7n(@s9IDjsu$Ts zO`>K|r@&iK$=jZR_NCx3%Gk#dwh6p64o^Xn!1n@N+dxp8qH1V&#^dUYX#j3p}@FZ07Y9ngl3X*9l&jA>{0ZEL-YNGH+ z8acVMD7K^!95Sdcrrp_dkUFXw?$|E%J7PdBT<3@2h(p0`@sd0NPoZf9JQ|In>pGE0 z;ey%X9zq+ z;CmQ8p-_lGAb{WRXJB9eP1BT_>uG^nxbBj4)UVpvw^7NfCArmzTDZJK1g=t^KYt#N z$D``p+uN)D4+ewEkWAwG473yqxNUghk}o9>n&Z@$jJ@Q%h;#mJ`hjQ{w>&SHfn2YvD@v+gv;fkqoYHa>gnlG z2Cn)DWHcN2xCRRi76Qhp*j&=H_NHGc(m2Pn|kNX=y1tcI?1jRf6Z}UFeRN7_7>` zmp_gRNAIO0X98O`KE&4Tu~O6fF;`5Y+?I&7_Hmk>8|drnQ~NOL8fIr_lb4sLrf~T1 zVU>Q@u3h;1H_=jWAk@4Nf5j8*{Ng?`zj~0(Ur*zQZAJwzE_;=-^6zMMnboq5IHNHj zZjooGHnpyq-k3{$!(M7?_t4_Z!yhmc!Ag`yQ5T>wiZj+4>O>*| j{^c{~8vbwKh8y?`y7cdp&RIRO00000NkvXXu0mjf*5&Fb literal 0 HcmV?d00001 diff --git a/po/pl/docs/okular/tool-ink-okular.png b/po/pl/docs/okular/tool-ink-okular.png new file mode 100644 index 0000000000000000000000000000000000000000..16f2b886afb739b7caf0b9976959f67060b8e519 GIT binary patch literal 1710 zcmV;f22uHmP)xmJOV7+R zyd2o`T;At@b`kJDg|e0|Fn%rY9iITN*IU0(aC_z&mM>qf5(2*K6Tkv2r_0H~n>$J9 z3uk@V<2N2kdgwoD}eFlJC2@g;Vy8Xy;Q%vOQ0P`3VvSLy2r%%}@UEu=*Pb z@G#FTHYOQhjCKa8rxz`q6wypBpOZx!ALGU;V;AJY`Ey*GOC)Xb_kw&Gr-#GY)3S!Z z!e4bPO8ViCrGROM7~>Z5Ky-9+g;vxwkxc{VspTx6atZ?{{Gyv{I2Z+>e{z6VjnDE} zw~G9`hotj8<|j!R3L~m@4FMM)yR#_n2S4?d@IQy-_Z;Iw<6+b-@#vf>Xr_|ozJ5Lx z?cHR#Cx3UPQt3{m!Xf`I(Le_MRMR|J#s2OPQfsM_KnL0QVH& z>p(SU(2r!&MF|7cV4)qQpe|QZ~=ahZ;vBF zDV%ucS<^c?U{T4~g>zB3K*B4ZrlhMB;Qj&{=d-EiGzF$NxnfS>jQTZMM1`ozdqR#} zl_%9le#xegs}yoMY6q=BGWICbDt5Q763*B8A@?Joyu2KXWt8e08m@k(M&FS~ySs=l z+!s*SC2{O*6#DrTIgW4Dy~g&N0kUve)4O=Xx>`Dq6m8!j3Kv!xKw9T3bW_G0Q(sSj zTCJw3sfmh;3W|%1sjsic<#N%}(?dZ)0R@-y(bbf4`hx@!uS$;EdyZ&PxIkX)Q`)W~ zQWP#sA3$Q=HeXV8oMQ$HUawce|0`&0l>aa>F(F6HX0rjvy{V}w`SZ5z4tu+vSDZ`o zIO|%%1i4bU9W6pg)e2HucFOxh-j?nZuFoZ7m`lg*8kFby6~KK~ukAK_jqBy8iP)uc zNp1>cSF1`CZY}wpdGva9R5{ZrcO;?_sJMF^oiho;d>VH5fHd+z0wSA2IcZaFxESOm zBV!MeMQ)t;7T|Wf(d+f{ z!^$%tOWEJw&)bdfu(5F&n;M?rnf6DC>3rlAD{0$z;M{Fi=}tOHNJ>wH4K)mum}jHb|hSfXeso-+HNxIUlk_vRd= z&c6Vq9IdUbIGs+~+S-)YAk)y!L=e;QeO}N%%;wUk$!<76Zu9GW*!~9jx8o=tJ1W~= z<&`n}MK4-_Z$5@~v#BH*mr-Piqttqg5&?y@%qHB<`E~32X1&EF9E<=wm;kTRThFvS z#Ks+g+epyMgoFtRdcFh`4o30f`TE}lEXeXN;Qs>t4Ru3{Q!vMs(EtDd07*qoM6N<$ Eg5l6mCjbBd literal 0 HcmV?d00001 diff --git a/po/pl/docs/okular/tool-line-okular.png b/po/pl/docs/okular/tool-line-okular.png new file mode 100644 index 0000000000000000000000000000000000000000..8a49a82d1f50ebacb7dd81b171074138f1f8e2b6 GIT binary patch literal 798 zcmV+(1L6FMP)YuW6oza32iCZ8p=n}FU9d4IHnEy?(N_PDJO4ss7e-^6Xi9;`l$KJaAJ9Sy0U@CS zOj{Tz^uy2=rQs_Cra%PoO}BK^!-m~rs=W|Uiys| zfGo>_Zn{>h9l8X#*#bb9ZDeHRc@Llm@FzgY3LK4f#`m>=6jcaNFd*q3Mv!|6!Tti0 zs6%OI2-ts$T0)0POvlEkU*FTAk<_8Q`;7W6kKYA$`+&qfppm^gz{$x8PESuEiXxVm zmk|z!v9huPyWNhnvomlUhxz$=Y8#D4c)ea4Gn>s|?~+w{K)eMKuN^4a0xCo#zOk_Z zgTa7AB7tNwNdl2b1XEK}@cDdLTwKKL>@1r{!b?j_D3wa>;@1ztMx%lC_4QUe8jXU% zU0htCX{`NQzg=8?7GyFRT-mCjc5&4JYQ(z;K;r#v;wk`YwHlbEQYjoCAGZP#0E+>N zht|GV!;oYBkmL86I6XT*Kc|4@c^<`LQ8~cc+8VOiEVj0`D8*v282d1}-|xr7!~_^5 zXZZwydjQ+#Cos-@pdejcU4Bz{|gxC#Ij;_3ldw7Xm`+DF!gB!IU* z#COjiDn;?%-v?OEPft%%9dJ7h_-1~DFYkttJ`BL^b|W5-Q)+rV9(EwHa?Qr+fa(YU zOEsI#2A4w*yIup{rh#eZBMOBAOEo%rEfxzVCnqWAolYkKbZiA!I&JeDq@4lmaCgwy z(;(%2g|avXaq~6g!%>u?V>t4U<40&5x$SXCd+hcz`gi~NRvAFE#NvQ%Kub_s6vr3+HNENG-UPkc{}GG^^&%=pG`6AH^Rj*OoEN|7RXWVt@PWhc_nhbad_K=P=lj?PpzmKAjq_c$b4@!V03011 zIl5{6{rwl30A~dNba@O63|#C1{C@xuj~34LiH@7!_O>+uxBeken(w#;HXpYS;56Ui zXKjBD)$A-9`R8okGt;Q&=6Egjc?y-x48NDt)4X2)71JI-GMR);HU1kw*z*9Im1|gk zcO5##4Q#C6!s5%zkjxJv`&9(5{T^hmhah`11fzPGzTucxvzH)wF-Y*O0`NtI4f&V= zU^U#vr;nqsy&r*R^DYd^o3w$j$xh%A0~j^KP&Xmvi&x>?7-LZThY^k`r=A_Z1P;?E z5}`>1UH4H;h_N3NAsv}QVdp8I{>Qf&_OD2Ufx z$j<;Cj|Wnz6uY~-NTpKk12~;dPH8Te<5cJKc_G!MQb|a6xm;$Wad2?JvDs{vru=QC zQX%Nx-|-0qpl&yrOk78L2f$4kkH@L5e;jKyNeWHMALitVYO2XJ}-egfs3hi;d#NqhhR002ovPDHLkV1g_} BYnuQ7 literal 0 HcmV?d00001 diff --git a/po/pl/docs/okular/tool-note-okular.png b/po/pl/docs/okular/tool-note-okular.png new file mode 100644 index 0000000000000000000000000000000000000000..8db9cda4298034f3449d08bbcbf48ae1ebcda0e1 GIT binary patch literal 968 zcmV;(12_DMP)U36v9YMAsMW)U(#L-0+KRrka=EZ?vZ-syzj@x% zg~+~mys~l1zh^e4u{QUg9yu8-d*8Tnc+{uj3#C+DvfY{A~&BJ@y&Vu6Bh`+US z(Z+qnyLQvaf5f_W=;-M1+9>y&CS=>*T~4oj*gDBw6w*u zcH!2C(8Yb=)rQW_&bzz2va+(QtgNS}r^3R*$hCOEw{*L)aJQ~*-O`2b?(XmJ@AUNa z+Q*B{x{le$i@(3W;^N|>qN2yg$Dp8~zSGmw)YR1B z;o<4&>5#)dBme*a6m(KfQvfb00m(W8J(qZPHN?ZbsLZ^)bnD0Jo&W#=hDk(0RCwBB zAP5-o048Pz1}0{_0BC{;9>C5t6u`mB#f_>!Tml{Npem5WP{50-KuQ`N@G&tk zfNbJn;N|0H;OD{sjErjVVEM<)$oQG>6FB(zKSIOt6{G2AK1RkTvS1}YIG;%~{%3+~ z`T7*7K!m}9@wf%kbE%^Y)(nhSbr|0X!Q3Jh^dN%e@sRFLNCke-o{8JLxx9p;&n3sj&el9z98A!6#|FCt=E zpb78W|0C`)luQlq9vz6Jw2VDfySxbn?=<|Q+fSRUFj+`v?DPH95H qxi??lvv;sGyq|+EO)%LH4g~;6?vtSS4kJPU0000>p z-QDHo<@x#f&d$#9@$tF2x$Eoe&CSi%*Vo9%$c~PVw6wIixVWdMr@Onmva+(t$;qs& ztir;=udlDq&(EWyqvYh|?(XjI@9zg(uq<@E_xk+&{r+{)ZyXb>FMcC8{{amH1n#Z;Be3oq|Ndd%KenDKHQ$bcUT0Wv yy=QE^yz*~8L;-ylK9HkmMEv{;gw#*_KfyOLw?b@p?lzbJ0000wSDSQI!Uv%MRu`o;yk}|p7Z>^znAYhC9+vJ@7;fpBS3WV6s2BC z@kp40rO|31KYDlvFu$9hpL5;F6^YJ`oEyV`f`5;|VzFqo+SS$7Xf*2g`&l_YJ`RV& zOtDW+PGYfGFc{2)V0U-d;c(!>>2#i+o+_2frKKg8%QZDMrBEmWfxy7PfLg8od>g^j_6G^ zfnYfDTDJAHYu)VhA0-ec;K6QWN@M%_`b;JhQ+gms6I+-9p+oo@9v;@|baJ^ooIo%X zdMmd)Y5%6Tdm>4Q6Cl3*{e2Drg4x*Ezy(05_4V~|<3+F6%Ve_t{(hQ|aG4@pUXj5C z!H2Jok_OGR!HLtW1Vl|ZsD6BWT%}TRzRYIx(9jTJE-WnIYj$=Prz0aHtU$1`veMhz zYq#5(UJ$&HuD+D&uXrcdIDtl^A^pR{LkdFQgo5~dK1S@o88G;O4F?AY*lZ4kLPUmZ z*1@xOP1U3+*)?$cLs>UD0r3~>tM|I(o`1Kyo{N>&MgT@vem2b*2i03W^PBI6v~LF0 zJp2^Jv}{5O--Gh zok#J0m7F`rJMuQvbea|-QA5su#H9|s-2sg8yg$r7GVWZ zLD1ILM%&3i7?A@`8yXrK8yk@TQKAl{NFEZ2Bu;=LCnhFHVsdhl@X@8m<3WO)fYH%W zK0~83Gcyq29S{w{;&*Rvk6WE}5+VXdB0z_DXXI3|GfqGh{LWCvwY4?)Nrli127@40 zo6UwJ3djb5z-qOUL`_XiRaI4GWo2Dm9eXG@BWIHpUe(stwzjt7B$FodeOXyqb#--f zb2GUf{Ru+h*q4`=mzI`RR8(Xu)1$xP*01Z^{=vzfKm>t^e^iA(hNK6;%DJ@SL%N%9 aoZvT_E-e%h=7etm0000kdg0003|NkljhX^dF#rit(&x@EYcnfWa<_aH8e%Od7xs(6ARj2>I?=b zD!3t3a4WB2Uh`k*>0kiXPV*RhX!)zCflO*2WHO|7MXI*?18@BI*^-)6>Z5yl$`Z3C z{WK?0(xX36RQ1*i%l0%)iBy!t63;~DeDT, 2003, 2004, 2005. +# Krzysztof Lichota , 2005, 2006. +# Robert Gomulka , 2007, 2008. +# Robert Gomulka , 2007. +# Marta Rybczyńska , 2008, 2010, 2013. +# Maciej Wikło , 2009, 2010. +# Artur Chłond , 2011. +# SPDX-FileCopyrightText: 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025 Łukasz Wojniłowicz +# Kris , 2013. +# Ignacy Kajdan , 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-11-08 09:34+0100\n" +"Last-Translator: Łukasz Wojniłowicz \n" +"Language-Team: pl\n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" +"X-Generator: Lokalize 25.08.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" +"Michał Rudolf, Robert Gomulka, Łukasz Wojniłowicz, Artur Chłond, Ignacy " +"Kajdan" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" +"mrudolf@kdewebdev.org, carramba@epf.pl, lukasz.wojnilowicz@gmail.com, " +"eugenewolfe@o2.pl, ignacy.kajdan@gmail.com" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Okular, wszechstronna przeglądarka dokumentów" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "Poprzedni opiekun" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "Sporo pracy przy strukturze, Silnik FictionBook i poprzedni ODT" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "Programista" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymanski" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "Stworzenie Okulara na podstawie kodu KPDF-a" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "Enrico Ros" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "Programista KPDF" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "Eugene Trounev" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "Grafika opisów" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "Jiri Baum - NICTA" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "Narzędzie zaznaczania tabeli" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "Fabio D'Urso" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "Ulepszenia opisów" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "Przejdź do strony %1" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "Otwórz zewnętrzny plik" + +#: core/action.cpp:197 +#, kde-format +msgid "Execute '%1'…" +msgstr "Wykonaj '%1'…" + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "Pierwsza strona" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "Poprzednia strona" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "Następna strona" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "Ostatnia strona" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "Wstecz" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "Wprzód" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Zakończ" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "Rozpocznij prezentację" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "Zakończ prezentację" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "Znajdź…" + +#: core/action.cpp:314 +#, kde-format +msgid "Go To Page…" +msgstr "Przejdź do strony…" + +#: core/action.cpp:365 +#, kde-format +msgid "Play sound…" +msgstr "Odtwórz dźwięk…" + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "Skrypt JavaScript" + +#: core/action.cpp:483 +#, kde-format +msgid "Play movie…" +msgstr "Odtwórz film…" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "Odtwórz film" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "Zatrzymaj film" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "Wstrzymaj film" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "Wznów film" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "Ten Okular został zbudowany bez obsługi dźwięku" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "Wybór silnika" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
    %1 (%2).

    Please select which one to use:
    " +msgstr "" +"Dla typu MIME:
    %1 (%2) znaleziono więcej, niż jeden silnik." +"

    Proszę wybrać ten, którego należy użyć:
    " + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "Większość stron jest w rozmiarze %1." + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "W pionie %1" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "W poziomie %1" + +#: core/document.cpp:246 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 × %2 cal (%3)" + +#: core/document.cpp:248 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 × %2 mm (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "Kontynuowanie wyszukiwania od początku" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "Kontynuowanie wyszukiwania od końca" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "" +"Nie można odnaleźć wtyczki zdolnej do przetworzenia przekazanego dokumentu." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "Podpisywanie nie jest obecnie obsługiwane dla tego rodzaju dokumentu" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "usuń opisy" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"Dokument próbuje wykonać zewnętrzną aplikację, na co okular nie pozwala ze " +"względów bezpieczeństwa." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "Nie znaleziono programu do otwierania plików typu %1." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "Nie można otworzyć pliku tymczasowego." + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "Przekształcenie druku zakończyło się niepowodzeniem." + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "Proces drukowania uległ awarii" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "Proces drukowania nie może zostać uruchomiony" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "Wydruk do pliku zakończony niepowodzeniem" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "Drukarka była w niewłaściwym stanie" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "Nie można znaleźć pliku do wydrukowania" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "Brak pliku do wydrukowania" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"Nie można odnaleźć odpowiednich plików wykonywalnych do wykonania wydruku. " +"Upewnij się, czy pliki wykonywalne CUPS lpr są dostępne." + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "Rozmiar strony wydruku jest nieprawidłowy" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "Nie można otworzyć „%1”. Plik nie istnieje." + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Tytuł" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Temat" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Opis" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "Autor" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Twórca" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Producent" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "Prawa autorskie" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "Stron" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Utworzony" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Zmieniony" + +#: core/document.cpp:6032 +#, kde-format +msgid "MIME Type" +msgstr "Rodzaj MIME" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "Kategoria" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Słowa kluczowe" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "Ścieżka do pliku" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "Rozmiar pliku" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "Rozmiar strony" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "dodaj opis" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "usuń opis" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "zmień właściwości opisu" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "przetłumacz opis" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "dostosuj opis" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "edytuj tekst" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "edytuj treść opisu" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "edytuj treści formularza" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "edytuj wybory listy formularza" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "edytuj wybory pola rozwijanego formularza" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "edytuj stany przycisków formularza" + +#: core/generator.cpp:790 +#, kde-format +msgid "Plain &Text…" +msgstr "Zwykły &tekst…" + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "Tekst OpenDocument" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "Ustawienia drukowania" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "Zmieść obszar drukowany" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "Zmieść całą stronę" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "Tryb skalowania:" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "Nie wyświetlaj więcej tej wiadomości" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "Niedostępny" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" +"Wewnętrzny błąd podpisywania. Zgłoś błąd wraz z krokami do jego odtworzenia. " +"Kod błędu %1" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "Nie można podpisać dokumentu: %1" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "Użytkownik przerwał podpisywanie" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "Nie można podpisać. Zły podpis" + +#: core/signatureutils.cpp:504 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" +"Nie można zapisać podpisanego dokumentu w %1. Wybierz " +"katalog, w którym masz uprawienia do zapisywania." + +#: core/signatureutils.cpp:506 +#, kde-format +msgid "Unknown signing error" +msgstr "Nieznany błąd podpisywania" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Źródło: %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "&Domyślna czcionka:" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "Wersja" + +#: gui/certificatemodel.cpp:41 +#, kde-format +msgid "Serial Number" +msgstr "Numer seryjny" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "Wystawiony przez" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "Wydany dnia" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "Wygasa w dniu" + +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Wystawiony dla" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "Klucz publiczny" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "Użycie klucza" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "V%1" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "%1 (%2 bitów)" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "Właściwość" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "Wartość" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "Żółta karteczka" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "Maszyna do pisania" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "Uwaga w treści" + +#: gui/guiutils.cpp:56 +#, kde-format +msgid "Arrow with Comment" +msgstr "Strzałka z komentarzem" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "Strzałka" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "Prosta linia z komentarzem" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "Linia prosta" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "Wielokąt z komentarzem" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "Wielokąt" + +#: gui/guiutils.cpp:71 +#, kde-format +msgid "Rectangle with Comment" +msgstr "Prostokąt z komentarzem" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "Prostokąt" + +#: gui/guiutils.cpp:74 +#, kde-format +msgid "Ellipse with Comment" +msgstr "Elipsa z komentarzem" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "Elipsa" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "Podświetlenie z komentarzem" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "Podświetlenie" + +#: gui/guiutils.cpp:87 +#, kde-format +msgid "Squiggle with Comment" +msgstr "Pokręcony tekst z komentarzem" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "Pokręcenie" + +#: gui/guiutils.cpp:91 +#, kde-format +msgid "Underline with Comment" +msgstr "Podkreślenie z komentarzem" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "Podkreślenie" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out with Comment" +msgstr "Przekreślenie z komentarzem" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "Przekreślenie" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "Pieczątka z komentarzem" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "Znaczek" + +#: gui/guiutils.cpp:106 +#, kde-format +msgid "Freehand Line with Comment" +msgstr "Linia odręczna z komentarzem" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "Linia odręczna" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "Karetka" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "Załącznik" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "Dźwięk" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "Film" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Ekran" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "Element interfejsu" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "Media interaktywne" + +#: gui/guiutils.cpp:144 +#, kde-format +msgid "Annotation" +msgstr "Opis" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "Nieznany" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Autor: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "Gdzie chcesz zapisać %1?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "Nie można otworzyć „%1” do zapisu. Plik nie został zapisany." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "Ten podpisu jest kryptograficznie prawidłowy." + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "Ten podpis jest kryptograficznie nieprawidłowy." + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "Wystąpiła niezgodność skrótów (Digest Mismatch)." + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "Struktura podpisu CMS/PKCS7 jest zniekształcona." + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "Żądany podpis nie jest obecny w dokumencie." + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "Nie można potwierdzić podpisu." + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "Certyfikat jest zaufany." + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "Wydawca certyfikatu nie jest zaufany." + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "Wydawca certyfikatu jest nieznany." + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "Certyfikat został unieważniony." + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "Certyfikat wygasł." + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "Certyfikat nie został jeszcze potwierdzony." + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "Potwierdzenie certyfikatu w trakcie" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "Nieznany problem z certyfikatem lub uszkodzone dane." + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "MD2" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "MD5" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "SHA1" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "SHA256" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "SHA384" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "SHA512" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "SHA224" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "Nieznany algorytm" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "RSA" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "DSA" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "EC" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "Nieznany rodzaj" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "Podpis cyfrowy (Digital Signature)" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "Niezaprzeczalność (Non-Repudiation)" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "Szyfrowanie kluczy (Encrypt Keys)" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "Odszyfrowywanie kluczy (Decrypt Keys)" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "Uzgodnienie kluczy (Key Agreement)" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "Podpisywanie certyfikatu (Certificate Signing)" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "Podpisywanie CRL (CRL Signing)" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "Tylko szyfrowanie (Encrypt Only)" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "Nie określono użycia" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr ", " + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "Ten dokument nie uległ zmianie od czasu jego podpisania." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" +"Rewizja dokumentu, objęta tym podpisem, nie została zmodyfikowana,\n" +"jednakże nastąpiły późniejsze zmiany w dokumencie." + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" +"Dokument uległ zmianie w sposób niedozwolony przez poprzedniego " +"podpisującego." + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "Nie można było ukończyć weryfikacji integralności dokumentu." + +#: gui/signatureguiutils.cpp:208 +#, kde-format +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "Ten dokument ma pola do złożenia podpisu." + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "Ten dokument jest podpisany cyfrowo." + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "" +"Ten dokument jest podpisany cyfrowo. Od ostatniego podpisania nastąpiły " +"zmiany." + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" +"Ten dokument jest podpisany cyfrowo. Nie można było poprawnie zweryfikować " +"niektórych podpisów." + +#: gui/signaturemodel.cpp:141 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "Pole do złożenia podpisu %1" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "Pole: %1 na stronie %2" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "Rew. %1: Podpisany przez %2" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "Czas podpisu: %1" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "Powód: %1" + +#: gui/signaturemodel.cpp:177 +#, kde-format +msgid "Location: %1" +msgstr "Położenie: %1" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "Podpis PGP" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "Adobe PKCS7" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "Adobe PKCS7 Sha1" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "ETSI CAdES" + +#: gui/signaturemodel.cpp:193 +#, kde-format +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "Nieznany" + +#: gui/signaturemodel.cpp:195 +#, kde-format +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "Pole do złożenia podpisu" + +#: gui/signaturemodel.cpp:201 +#, kde-format +msgid "Signature Type: %1" +msgstr "Rodzaj podpisu: %1" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "Czerwony" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "Pomarańczowy" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "Żółty" + +#: part/annotationactionhandler.cpp:151 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "Zielony" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "Cyjan" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "Niebieski" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "Magenta" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "Biały" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "Szary" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "Czarny" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "Szerokość %1" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1%" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "Szerokość wiersza opisu (Nie wybrano opisu)" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "Barwa opisu (Nie wybrano opisu)" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "Barwa wypełnienia opisu (Nie wybrano opisu)" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "Nieprzezroczystość opisu (Nie wybrano opisu)" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "Czcionka opisu (Nie wybrano opisu)" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "Dodaj bieżący opis do menu szybkich opisów (Nie wybrano opisu)" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" +"Wymuś współczynnik kształtu 1:1 lub kąt odchyłu linii do 15-stopniowych " +"kroków (Nie wybrano opisu)" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "Rozszerzone ustawienia bieżącego narzędzia opisów (Nie wybrano opisu)" + +#: part/annotationactionhandler.cpp:308 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Szerokość wiersza opisu" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "Szerokość wiersza opisu (Bieżący opis nie ma szerokości wiersza)" + +#: part/annotationactionhandler.cpp:314 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Barwa tekstu opisu" + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "Barwa obramowania opisu" + +#: part/annotationactionhandler.cpp:318 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Barwa opisu" + +#: part/annotationactionhandler.cpp:322 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Barwa wypełnienia opisu" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "Barwa wypełnienia opisu (Bieżący opis nie ma barwy wypełnienia)" + +#: part/annotationactionhandler.cpp:328 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "Czcionka opisu" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "Czcionka opisu (Bieżący opis nie ma czcionki)" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "Ogranicz kąt odchyłu linii do 15-stopniowych kroków" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "Wymuś współczynnik kształtu 1:1" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" +"Wymuś współczynnik kształtu 1:1 lub kąt odchyłu linii do 15-stopniowych " +"kroków (Nieobsługiwane przez bieżący opis)" + +#: part/annotationactionhandler.cpp:341 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Nieprzezroczystość opisów" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "Dodaj bieżący opis do menu szybkich opisów" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "Rozszerzone ustawienia bieżącego narzędzia opisów" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "Barwa:" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "Barwa wypełnienia:" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "Przezroczysty" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "Własna barwa…" + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "Wybór barwy" + +#: part/annotationactionhandler.cpp:552 +#, kde-format +msgid "&Annotations" +msgstr "&Opisy" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "Ukryj" + +#: part/annotationactionhandler.cpp:554 +#, kde-format +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Pokaż więcej narzędzi opisów" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "Podświetlenie" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "Podkreślenie" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "Pokręcenie" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "Przekreślenie" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Maszyna do pisania" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "Uwaga w treści" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "Żółta karteczka" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "Linia odręczna" + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "Prosta linia" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "Strzałka" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "Prostokąt" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "Elipsa" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "Wielokąt" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "Figura geometryczna" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "Znaczek" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Szybko opisz" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "Wybierz narzędzie opisów z szybkich opisów" + +#: part/annotationactionhandler.cpp:651 +#, kde-format +msgid "Quick Annotation Bar" +msgstr "Pasek szybkiego opisywania" + +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "Dodaj do szybkich opisów" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "Utrzymuj uaktywnienie narzędzia" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "Nie odkładaj narzędzia opisów po jego użyciu" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "Wymuś współczynnik kształtu i kąt narzędzia opisów" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "Czcionka" + +#: part/annotationactionhandler.cpp:681 +#, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Ustawienia opisów" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "Szerokość wiersza" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "Nieprzezroczystość" + +#: part/annotationactionhandler.cpp:696 +#, kde-format +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1%" + +#: part/annotationmodel.cpp:320 +#, kde-format +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "Strona %1 (%2)" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "Strona %1" + +#: part/annotationpopup.cpp:85 +#, kde-format +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "Opis" +msgstr[1] "%1 opisy" +msgstr[2] "%1 opisów" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "&Otwórz żółtą karteczkę" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Usuń zakładkę" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Dodaj zakładkę" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, kde-format +msgid "Copy Text to Clipboard" +msgstr "Skopiuj tekst do schowka" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "Kopiowanie zabronione przez DRM" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "&Usuń" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "&Właściwości" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, kde-format +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "Zapi&sz '%1'…" + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "W&ygląd" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "&Ogólne" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&Autor:" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "Utworzono:" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "Zmieniono:" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "Właściwości żółtej karteczki" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "Właściwości maszyny do pisania" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "Właściwości notatki w treści" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "Właściwości linii prostej" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "Właściwości wielokąta" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "Właściwości figur geometrycznych" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "Właściwości oznaczenia tekstu" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "Właściwości pieczątki" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "Właściwości linii odręcznej" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "Właściwości karetki" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "Właściwości załącznika" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "Właściwości dźwięku" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "Właściwości filmu" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "Właściwości opisu" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "Wybierz własny symbol pieczątki z pliku" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "Wybierz własny symbol pieczątki" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" +"*.ico *.png *.xpm *.svg *.svgz | Pliki ikon (*.ico *.png *.xpm *.svg *.svgz)" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "Nie można wczytać pliku %1" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "Błędny plik" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&Barwa:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, kde-format +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%v%" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "Nieprzezr&oczystość:" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "Ikona:" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "Komentarz" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "Pomoc" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "Wstaw" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "Klawisz" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "Nowy akapit" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "Notatka" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "Akapit" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Czcionka:" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "Barwa &tekstu:" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "Wyrówn&anie:" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "Do lewej" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "Do środka" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "Do prawej" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "Szerokość obramo&wania:" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "Zatwierdzone" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "Jak jest" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "Poufne" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "Wydziałowe" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "Szkic" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "Eksperymentalne" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "Przedawnione" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "Końcowe" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "Do skomentowania" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "Do wiadomości publicznej" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "Niezatwierdzone" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "Nie do wiadomości publicznej" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "Sprzedane" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "Ściśle tajne" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "Zakładka" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "Informacje" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "Symbol pieczątki:" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "&Szerokość:" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "Początek linii:" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "Koniec linii:" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "Kwadrat" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "Okrąg" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "Diament" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "Pusta strzałka" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "Pełna strzałka" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "Brak" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "Na płasko" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "Pusta strzałka w prawo" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "Pełna strzałka w prawo" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "Ukośnik" + +#: part/annotationwidgets.cpp:531 +#, kde-format +msgid "Leader line length:" +msgstr "Długość linii odniesienia:" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "Długość rozszerzeń linii odniesienia:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "Włączone" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "Wypełnienie kształtu:" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Rodzaj:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "Przekreślenie" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "Symbol załącznika pliku:" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "Graf" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "Pinezka" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "Spinacz" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "Etykieta" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "Plik" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "brak" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "Brak dostępnego opisu." + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "Nazwa:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "Opis:" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "Symbol karetki:" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "Brak" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "Zamknij tę notatkę" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "Ustawienia" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"Ten opis może zawierać kod LaTeX.\n" +"Naciśnij tutaj, aby go wyświetlić." + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "Nie można znaleźć pliku wykonywalnego latex." + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "Nieudane renderowanie LaTeX" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "Nie można znaleźć pliku wykonywalnego dvipng." + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "Wystąpił problem podczas wykonywania polecenia „latex”." + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "Wystąpił problem podczas wykonywania polecenia „dvipng”." + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"Jedna zakładka" +msgstr[1] "" +"%1\n" +"\n" +"%2 zakładki" +msgstr[2] "" +"%1\n" +"\n" +"%2 zakładek" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Zakładki" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "Pokaż dla wszystkich dokumentów" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, kde-format +msgid "Search…" +msgstr "Poszukaj…" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, fuzzy, kde-format +#| msgid "Expand all" +msgid "Expand All" +msgstr "Rozwiń wszystko" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, fuzzy, kde-format +#| msgid "Collapse all" +msgid "Collapse All" +msgstr "Zwiń wszystko" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "Przejdź do tej zakładki" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "Zmień nazwę zakładki" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Otwórz dokument" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "Usuń wszystkie zakładki z bieżącego dokumentu" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "Przeglądarka certyfikatów" + +#: part/certificateviewer.cpp:50 +#, kde-format +msgid "Export…" +msgstr "Wyeksportuj…" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "Ogólne" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "Wystawiony przez" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "Nazwa pospolita (CN)" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "E-mail" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "Organizacja (O)" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "Wystawiony dla" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "Poprawność" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "Odciski palców" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "Odcisk palca SHA-1" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "Odcisk palca SHA-256" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "Szczegóły" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "Dane certyfikatu:" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "Gdzie chcesz zapisać ten certyfikat?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "Plik certyfikatu (*.cer)" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "Nie można wyeksportować certyfikatu" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "&Tryb barw" + +#: part/colormodemenu.cpp:21 +#, kde-format +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "Zmień barwy" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "Zwyczaj&ne barwy" + +#: part/colormodemenu.cpp:41 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "O&dwróć barwy" + +#: part/colormodemenu.cpp:42 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "Zmień barwę &papieru" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "Zmień &ciemne i jasne barwy" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "Przekształć na czarno-&biały" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "Odwróć &jasność" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "Odwróć l&umę (liniowo sRGB)" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "Odwróć lumę (&symetrycznie)" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "Przesuń odcień d&odatnio" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "Przesuń odcień uj&emnie" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "Czerwony" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "Zielony" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "Niebieski" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "Żółty" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "Czarny" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "Biały" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "Żółty zakreślacz" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "Zielony zakreślacz" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "Wstaw tekst" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "Rysuj obramowania wokół odnośników" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "Zmień barwy" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "" +"Uwaga: te ustawienia mogą niekorzystnie wpłynąć na szybkość rysowania." + +#: part/dlgaccessibility.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "Odwróć barwy" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "Zmień barwę papieru" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "Zmień ciemne i jasne barwy" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "Przekształć na czarno-biały" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "Odwróć jasność" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "Odwróć lumę (transformacja liniowa sRGB)" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "Odwróć lumę (transformacja symetryczna)" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "Przesuń odcień dodatnio" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "Przesuń odcień ujemnie" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "Tryb barw:" + +#: part/dlgaccessibility.cpp:87 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Barwa papieru:" + +#: part/dlgaccessibility.cpp:99 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Ciemna barwa:" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "Jasna barwa:" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "Próg:" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Kontrast:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "Silnik zamiany tekstu-na-mowę:" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "Głos zamiany tekstu-na-mowę:" + +#: part/dlgannotations.cpp:25 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Pasek rozbudowanego opisywania" + +#: part/dlgannotations.cpp:26 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Pasek szybkiego opisywania" + +#: part/dlgannotations.cpp:28 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Pasek opisywania:" + +#: part/dlgannotations.cpp:34 +#, kde-format +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "Autor:" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"Uwaga: dane tu zawarte są używane wyłącznie do opisów. Dane te są " +"zapisywane w dokumentach z opisami i będą przenoszone razem z dokumentem." + +#: part/dlgannotations.cpp:48 +#, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

    Quick Annotation Tools

    " +msgstr "

    Narzędzia szybkich opisów

    " + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" +"Wybierz edytor, którego należy użyć, kiedy Okular zechce otworzyć plik " +"źródłowy." + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "Własny edytor tekstu" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Klient Emacsa" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "Klient Lyx" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "TeXstudio" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "TeXiFy IDEA" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "Edytor:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
    \n" +"You can also put few placeholders:\n" +"
      \n" +"
    • %f - the file name
    • \n" +"
    • %l - the line of the file to be reached
    • \n" +"
    • %c - the column of the file to be reached
    • \n" +"
    \n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"Ustaw polecenie uruchomienia innego edytora tekstu.
    \n" +" Możesz użyć tych symboli zastępczych:\n" +"
      \n" +"
    • %f – nazwa pliku
    • \n" +"
    • %l – wiersz w pliku, do którego przejść
    • \n" +"
    • %c – kolumna w pliku, do której przejść
    • \n" +"
    \n" +"Jeśli nie podano %f, nazwa pliku zostanie dołączona na końcu określonego " +"polecenia." + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "Polecenie:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "Użyj płynnego przewijania" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "Wygląd:" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "Pokaż paski przewijania" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "Powiąż miniatury ze stronami" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "Pokaż podpowiedzi i informacje" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "Powiadom o osadzonych plikach, formularzach, czy podpisach" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "Wyświetl tytuł dokumentu na pasku tytułu, jeśli jest dostępny" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "Wyświetl nazwę pliku" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "Wyświetl pełną ścieżkę do pliku" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "Gdy tytuł dokumentu jest niedostępny to:" + +#: part/dlggeneral.cpp:92 +#, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "Użyj własnej barwy tła:" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "Możliwości programu:" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "Nowe pliki otwieraj w kartach" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "Przełącz do istniejącej karty, gdy plik jest już otwarty" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "Przestrzegaj ograniczeń DRM" + +#: part/dlggeneral.cpp:148 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "Wczytaj plik ponownie, gdy ulegnie zmianie" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "Pokaż okno wyboru silnika" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "Czytaj od prawej do lewej" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" +"Użyj szczegółów pliku do określenia, czy domyślnie otworzyć go w trybie " +"ciągłym" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" +"Dla plików, które nie zawierają o sobie szczegółów, domyślnie otwórz je w " +"trybie ciągłym" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "Domyślnie, otwórz w trybie ciągłym" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "Używając narzędzia przeglądania, zawiń wskaźnik na krawędziach ekranu" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "Ostatnio otwierane pliki:" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "Kolumny przeglądania:" + +#: part/dlggeneral.cpp:220 +#, kde-format +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%v%" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" +"Określa jak wiele z obecnie oglądanego obszaru będzie nadal widoczne przy " +"naciskaniu klawiszy Page Up/Down." + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "Nachodzenie Page Up/Down:" + +#: part/dlggeneral.cpp:228 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%v%" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "100%" + +#: part/dlggeneral.cpp:233 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "Zmieść na szerokości" + +#: part/dlggeneral.cpp:234 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "Zmieść stronę" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "Zmieść najlepiej" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "Własny" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" +"Określa domyślny tryb powiększenia dla plików, które nigdy wcześniej nie " +"były otwierane.Dla plików, które już były wcześniej otwierane zostanie " +"zastosowany poprzednie powiększenie." + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "Domyślne powiększenie:" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "Stosuj przezroczystość" + +#: part/dlgperformance.cpp:28 +#, kde-format +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "Wykorzystanie procesora:" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "Niskie" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "Zwykłe (domyślnie)" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "Agresywne" + +#: part/dlgperformance.cpp:38 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "Zachłanne" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "Wykorzystanie pamięci:" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "Wygładzaj tekst" + +#: part/dlgperformance.cpp:56 +#, kde-format +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "Ustawienia wyświetlania:" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "Wygładzaj grafikę" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "Stosuj „hinting” tekstu" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"Oszczędza pamięć, nie buforuje danych (dla komputerów z niewielką ilością " +"pamięci)." + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"Kompromis między użyciem pamięci a wydajnością. Przechowuje w pamięci " +"następną stronę i przyspiesza wyszukiwanie. (Dla systemów z 2 GB pamięci)." + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"Wszystko w pamięci. Przechowuje w pamięci następne strony i przyspiesza " +"wyszukiwanie. (Dla systemów z min. 4 GB pamięci)." + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" +"Wczytuje i przechowuje wszystko w pamięci. Wczytuje wstępnie wszystkie " +"strony. (Wykorzysta co najwyżej 50% całkowitej pamięci lub wolnej pamięci, w " +"zależności od tego co będzie większe.)" + +#: part/dlgpresentation.cpp:38 +#, kde-format +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] "co każdą %v sekundę" +msgstr[1] "co każde %v sekundy" +msgstr[2] "co każde %v sekund" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "Postępuj samoczynnie:" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "Po ostatniej stronie zacznij od początku" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "Stuknij w lewą/prawą stronę, aby przejść wstecz/naprzód" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "Stuknij gdziekolwiek, aby przejść naprzód" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "Wyłączone" + +#: part/dlgpresentation.cpp:63 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Poruszanie się poprzez dotyk:" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "Barwa tła:" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "Ukryj po czasie" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "Zawsze widoczny" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "Zawsze ukryty" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "Wskaźnik myszy:" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "Pokaż pasek postępu" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "Pokaż stronę podsumowania" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "Natychmiastowo (nigdy nie animuj)" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "Zastąpienie" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "Losowe przejście" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "Pionowe żaluzje" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "Poziome żaluzje" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "Schodzące się pole" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "Rozchodzące się pole" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "Rozpad" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "Zanikanie" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "Blask w dół" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "Blask w prawo" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "Blask w prawo-dół" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "Schodzący podział w poziomie" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "Rozchodzący podział w poziomie" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "Schodzący podział w pionie" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "Rozchodzący podział w pionie" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "Przetarcie w dół" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "Przetarcie w prawo" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "Przetarcie w lewo" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "Przetarcie w górę" + +#: part/dlgpresentation.cpp:121 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Domyślne przejście:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "Domyślny ekran:" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

    Drawing Tools

    " +msgstr "

    Narzędzia rysowania

    " + +#: part/dlgpresentation.cpp:171 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Bieżący ekran" + +#: part/dlgpresentation.cpp:172 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Domyślny ekran" + +#: part/dlgpresentation.cpp:178 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "Ekran %1 (%2 %3 %4)" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "Ekran %1 (odłączony)" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "Narzędzie rysowania: %1" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "Gumka" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "&Nazwa:" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "&Rodzaj:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "Wygląd" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "Oznaczenie tekstu" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "Figura geometryczna" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "Narzędzie tworzenia opisów" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "Narzędzie edytowania opisów" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "Barwa:" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "Szerokość &pióra:" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "%v px" + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "Narzędzie tworzenia rysunku" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "Narzędzie edytowania rysunku" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "Nieznana" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Osadzone pliki" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "Obejrzyj" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "Nazwa" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "Opis" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "Rozmiar" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "Utworzony" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "Zmieniony" + +#: part/embeddedfilesdialog.cpp:154 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "Zapi&sz jako…" + +#: part/embeddedfilesdialog.cpp:155 +#, kde-format +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "&Widok…" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "Nie można wczytać modułu podglądu wydruku" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "Podejrzyj wydruk" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "Zamknij" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "Z&najdź:" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "Tekst do wyszukania" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Następne" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "Przejdź do następnego dopasowania" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Poprzednie" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "Przejdź do poprzedniego dopasowania" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "Zmień zachowanie wyszukiwania" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "Rozróżniaj wielkość liter" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "Od bieżącej strony" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "Wyszukuj podczas wpisywania" + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "Wszystkie pliki (*)" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "Pole podpisu (naciśnij, aby podpisać)" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "Podpi&sz…" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "Właściwości podpisu" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "Ustawienia wyszukiwania" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "Rozróżniaj wielkość liter" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "Wyrażenie regularne" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "Warstwy" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "z" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "Powiększenie" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "Powiększ do 100%" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "Obróć w &prawo" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "W prawo" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "Obróć w &lewo" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "W lewo" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "Pierwotny kierunek" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "Przy&tnij widok" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "Przy&tnij marginesy" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "Przytnij do &zaznaczenia" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "Zmieść na &szerokości" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "Zmieść s&tronę" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "Zmieść n&ajlepiej" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "Dostosuj ok&no do strony" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "Tryb &widoku" + +#: part/pageview.cpp:594 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "Pojedyncza &strona" + +#: part/pageview.cpp:595 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "Sąs&iadujące strony" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "Sąsiadują&ce strony (wyśrodkuj pierwszą stronę)" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "&Przegląd" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "&Ciągły" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "Czytaj od prawej do lewej" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "&Przeglądaj" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "Powięks&z" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "Zaznacz ob&szar" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "Zaznacz &tekst" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "Z&aznacz tabelę" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "&Lupa" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "Narzędzia zaznaczania" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "Podpi&sz cyfrowo…" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "Przeczytaj cały dokument" + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "Przeczytaj bieżącą stronę" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "Przeczytaj bieżącą stronę" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "Przestań czytać" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "Wstrzymaj/wznów czytanie" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "Przewiń w górę" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Przewiń w dół" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "Przewiń stronę w górę" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "Przewiń stronę w dół" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "Pokaż formularze" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] " Wczytano dokument o jednej stronie." +msgstr[1] " Wczytano dokument o %1 stronach." +msgstr[2] " Wczytano dokument o %1 stronach." + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "Skopiuj zawartość tabeli do schowka" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "Tekst (%1 znak)" +msgstr[1] "Tekst (%1 znaki)" +msgstr[2] "Tekst (%1 znaków)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "Skopiuj do schowka" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "Przeczytaj tekst" + +#: part/pageview.cpp:2863 +#, kde-format +msgid "Image (%1 × %2 pixels)" +msgstr "Obraz (%1 × %2 piksele)" + +#: part/pageview.cpp:2865 +#, kde-format +msgid "Save to File…" +msgstr "Zapisz do pliku…" + +#: part/pageview.cpp:2885 +#, kde-format +msgid "Image [%1 × %2] copied to clipboard." +msgstr "Obraz [%1 × %2] został skopiowany do schowka." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "Zapisz plik" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "Obrazy (*.png *.jpeg)" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "Nie zapisano pliku." + +#: part/pageview.cpp:2901 +#, kde-format +msgid "Image [%1 × %2] saved to %3 file." +msgstr "Obraz [%1 × %2] został zapisany do pliku %3." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "Skopiuj tekst" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "Przejdź do „%1”" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "Zmieść na szerokości" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "Zmieść stronę" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "Zmieść najlepiej" + +#: part/pageview.cpp:4107 +#, kde-format +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1%" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "Poszukaj „%1” w" + +#: part/pageview.cpp:4404 +#, kde-format +msgid "Configure Web Shortcuts…" +msgstr "Ustawienia skrótów internetowych…" + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "Podążaj za odnośnikiem" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "Odtwórz ten dźwięk" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "Dźwięk zatrzymania" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "Skopiuj adres odnośnika" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "Poszukaj „%1” w tym dokumencie" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Witaj" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "" +"Wybierz obszar do powiększenia. Naciśnij prawy przycisk, aby pomniejszyć." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "Naciśnij, aby zobaczyć powiększony widok." + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "Narysuj prostokąt wokół tekstu/grafiki, którą chcesz skopiować." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "Zaznacz tekst" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" +"Narysuj prostokąt wokół tabeli, a następnie naciskaj jej krawędzie, aby go " +"podzielić; naciśnij Esc, aby wyczyścić." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" +"Wszystkie twoje certyfikaty podpisujące są nieważne. Jeśli podpisywanie " +"działało wcześniej, to sprawdź daty ich ważności." + +#: part/pageview.cpp:5188 +#, kde-format +msgid "No valid certificates" +msgstr "Nie znaleziono żadnego ważnego certyfikatu" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, kde-format +msgid "Open Certificate Manager" +msgstr "Otwórz zarządzanie certyfikatami" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
    Launch Certificate Manager " +"to import or manage certificates
    For more information, please see the " +"section about
    Adding Digital Signatures in the manual." +msgstr "" +"Nie ma certyfikatów dostępnych do podpisywania.
    Otwórz zarządzane " +"certyfikatami, aby zaimportować lub zarządzić certyfikatami
    Po więcej " +"szczegółów zajrzyj do działu oDodawaniu podpisów cyfrowych w podręczniku." + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, kde-format +msgid "No certificates found" +msgstr "Nie znaleziono żadnego certyfikatu" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
    For more information, " +"please see the section about
    Adding Digital Signatures in " +"the manual." +msgstr "" +"Nie ma certyfikatów dostępnych do podpisywania.
    Po więcej szczegółów " +"zajrzyj do działu oDodawaniu podpisów cyfrowych w " +"podręczniku." + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "Masz niezapisane zmiany. Zapisz dokument przed jego podpisaniem." + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "Narysuj prostokąt, aby wstawić pole podpisu" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "Narysuj prostokąt wokół obszaru, który ma pozostać widoczny." + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "Nowa notatka tekstowa" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "Tekst nowej notatki:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Podpisany przez: %1\n" +"\n" +"Data: %2" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" +"Podpis tego rozmiaru może być zbyt mały do odczytania. Aby narysować " +"przypuszczalnie bardziej czytelny podpis, to naciśnij Zacznij od " +"początku i narysuj większy prostokąt." + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "Zacznij od początku" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "Podpisz" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name" +msgstr "Nazwa autora" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name for the annotation:" +msgstr "Nazwa autora dla opisów:" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "Narysuj elipsę (przeciągnij, aby wybrać obszar)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "Podświetl tekst" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "Rysuj linię odręczną" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "Opis w treści (przeciągnij, aby wybrać obszar)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "Umieść żółtą karteczkę" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "" +"Narysuj wielobok (kliknij z powrotem na pierwszy punkt, aby go domknąć)" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "Narysuj prostokąt" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "Pokręcony tekst" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "Umieść symbol pieczątki" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "Narysuj prostą linię" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "Przekreśl tekst" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "Podkreśl tekst" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "Opis pisany maszyną do pisania (przeciągnij, żeby wybrać obszar)" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "Zakreślacz" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "Dodaj ulubiony opis" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Custom annotation name:" +msgstr "Własna nazwa opisu:" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&Plik" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "U&stawienia" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "P&omoc" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "&Kierunek" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "&Zakładki" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "Pasek narzędziowy przeglądarki" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Miniatury" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "Opisy" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
    Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" +"Ten dokument jest opisany lub zawiera dane formularza, które zostały " +"zapisane przez wcześniejszą wersję Okulara. Wewnętrzne przechowywanie " +"danychnie jest już obsługiwane.
    Zapisz je do pliku, aby je " +"przenieść, jeśli chcesz kontynuować edytowanie dokumentu." + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"Ten dokument ma osadzone pliki. Żeby je obejrzeć, można kliknąć tutaj albo skorzystać z menu Plik → Osadzone " +"pliki." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "Podpisywanie w trakcie. Możesz dostosować położenie i rozmiar podpisu." + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "Ukończ podpisywanie" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "Poprzednia" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "Przejdź do poprzedniej strony" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "Przechodzi do poprzedniej strony dokumentu" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "Następna" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "Przejdź do kolejnej strony" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "Przechodzi do następnej strony dokumentu" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "Początek dokumentu" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "Przenosi na początek dokumentu" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "Koniec dokumentu" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "Przenosi na koniec dokumentu" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "Zmień nazwę bieżącej zakładki" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "Poprzednia zakładka" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "Przejdź do poprzedniej zakładki" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "Następna zakładka" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "Przejdź do następnej zakładki" + +#: part/part.cpp:748 +#, kde-format +msgid "Configure Okular…" +msgstr "Ustawienia Okulara…" + +#: part/part.cpp:751 +#, kde-format +msgid "Configure Viewer…" +msgstr "Ustawienia przeglądarki…" + +#: part/part.cpp:757 +#, kde-format +msgid "Configure Viewer Backends…" +msgstr "Ustawienia silników przeglądarki…" + +#: part/part.cpp:759 +#, kde-format +msgid "Configure Backends…" +msgstr "Ustawienia silników…" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "O silniku" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "Wczytaj &ponownie" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "Wczytaj ponownie bieżący dokument z dysku." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "Zamknij pasek w&yszukiwania" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "Numer strony" + +#: part/part.cpp:817 +#, kde-format +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "Ustawienia trybu barw…" + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "Zaznacz cały tekst na bieżącej stronie" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "&Pokaż pasek boczny" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "&Pokaż pasek numeracji stron" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "Pokaż pasek podpi&sów" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "Osadzon&e pliki" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "Wye&ksportuj jako" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "&Udostępnij" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "Tryb p&rezentacji" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "Otwórz ka&talog pliku" + +#: part/part.cpp:945 +#, kde-format +msgid "&Import PostScript as PDF…" +msgstr "Za&importuj Postscript jako PDF…" + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "Przełącz tryb czarnego ekranu" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "Wymaż rysunek" + +#: part/part.cpp:962 +#, kde-format +msgid "Configure Annotations…" +msgstr "Ustawienia opisów…" + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "Odtwórz/wstrzymaj prezentację" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" +"Właśnie zmieniłeś otwarty dokument, ale ten rodzaj dokumentu nie może zostać " +"zapisany.\n" +"Wszelkie zmiany zostaną utracone po zamknięciu Okulara." + +#: part/part.cpp:1123 +#, kde-format +msgid "Document can't be saved" +msgstr "Dokument nie może zostać zapisany" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "Nie można otworzyć „%1” (%2) " + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "Porzucono wczytywanie %1." + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "Nie można otworzyć %1. Przyczyna: %2" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "Ustawienia silników przeglądarki" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "Ustawienia silników" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"Nie znaleziono programu „ps2pdf”, dlatego Okular nie może użyć go do " +"importowania plików PS." + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "nie odnaleziono ps2pdf" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "Pliki PostScript (%1)" + +#: part/part.cpp:1357 +#, kde-format +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "Importowanie pliku PS jako PDF (to może chwilę potrwać)…" + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "Proszę podać hasło do odczytu dokumentu:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "Niepoprawne hasło. Spróbuj ponownie:" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "Hasło dokumentu" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" +"Ten dokument zawiera formularz XFA, który jest obecnie nieobsługiwany." + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"Ten dokument zawiera formularz. Aby móc go używać, naciśnij na przycisk lub " +"wybierz Widok → Pokaż formularz." + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" +"Wszystkie możliwości zmieniania i interakcji z tym dokumentem zostały " +"wyłączone. Zapisz kopię i otwórz ją, aby móc zmieniać ten dokument." + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" +"Dokument chce być widocznym na całym ekranie.\n" +"Czy opuścić tryb normalny i przejść do trybu prezentacji?" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "Żądanie zmiany trybu widoku" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "Przejdź do trybu prezentacji" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "Odrzuć żądanie" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "Nie można otworzyć %1. %2" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" +"Plik %1 posiada niezapisane zmiany, lecz w między " +"czasie został także zmieniony przez inny program. Wczytanie go ponownie " +"zastąpi niezapisane zmiany zmianami dokonanymi przez ten inny program.Czy tego chcesz?" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "Plik zmieniony" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "Kontynuuj wczytywanie" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "Przerwij wczytywanie" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" +"Plik %1 posiada niezapisane zmiany, lecz w między " +"czasie został także zmieniony przez inny program. Zamknięcie go zastąpi " +"niezapisane zmiany zmianami dokonanymi przez ten inny program.Czy " +"tego chcesz?" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "Kontynuuj zamykanie" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "Przerwij zamykanie" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "Chcesz zapisać czy porzucić swoje zmiany w „%1”?" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "Zamknij dokument" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"Ten odnośnik zamyka dokument, co nie jest możliwe we wbudowanej przeglądarce." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"Ten odnośnik zamyka program, co nie jest możliwe we wbudowanej przeglądarce." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, kde-format +msgid "Reloading the document…" +msgstr "Ponowne wczytywanie dokumentu…" + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "Spis treści" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "Podpisy" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Przejdź do strony" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "&Strona:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "Podaj nową nazwę zakładki:" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "Zmień nazwę tej zakładki" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "Usuń tę zakładkę" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "Zapisz jako" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" +"Postanowiłeś zapisać archiwum Okulara pod nazwą bez rozszerzenia '%1'. Nie " +"jest to dozwolone, więc czy chcesz nadać inną nazwę?" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "Nieobsługiwane rozszerzenie" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "Nadaj nową nazwę" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" +"Plik %1 został zmieniony przez inny program. Jeśli " +"zapiszesz teraz, to utracisz wszystkie zmiany dokonane przez niego. Czy tego " +"chcesz?" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "Zapis – Ostrzeżenie" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "Zapisz kopię w innym miejscu" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
    In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" +"Bieżący dokument jest chroniony hasłem.
    Aby go zapisać, należy ponownie " +"wczytać plik. Zostaniesz poproszony o hasło, a twoja historia cofania/" +"ponawiania zostanie utracona.
    Czy chcesz kontynuować?" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "Nie można otworzyć pliku tymczasowego do zapisu." + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" +"Nie można zastąpić %1, bo jest tylko do odczytu. Zapisz " +"go w innym miejscu lub zmień uprawnienia do niego." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" +"Po zapisaniu, format bieżącego dokumentu wymaga, aby wczytać plik ponownie. " +"Twoja historia cofania/ponawiania zostanie utracona.
    Czy chcesz " +"kontynuować?" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "Nie można zapisać pliku w „%1”. Proszę zapisać w innym miejscu." + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "Treść wypełnionego formularza" + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "Opisy użytkownika" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" +"Masz zamiar zapisać zmiany, lecz format bieżącego pliku nie obsługuje zapisu " +"następujących elementów. Użyj formatu Archiwum dokumentu Okular, aby " +"je zapisać." + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "Ostrzeżenie" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "Zapisz jako archiwum dokumentu Okular…" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" +"Masz zamiar zapisać zmiany, lecz format bieżącego pliku nie obsługuje zapisu " +"następujących elementów. Użyj formatu Archiwum dokumentu Okular, aby " +"je zapisać. Kliknij Kontynuuj aby zapisać dokument i porzucić te " +"elementy." + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" +"Masz zamiar zapisać zmiany, lecz format bieżącego pliku nie obsługuje zapisu " +"następujących elementów. Użyj formatu Archiwum dokumentu Okular, aby " +"je zapisać. Kliknij Kontynuuj aby zapisać, lecz utracisz zarówno te " +"elementy jak i historię cofania/ponawiania." + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "Kontynuuj" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "Kontynuuj utratę zmian" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "Nie można zapisać pliku w „%1”. %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"Okular nie może skopiować %1 w podane miejsce.\n" +"\n" +"Dokument już nie istnieje." + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" +"Nie można zapisać pliku w „%1”. Błąd: „%2”. Proszę zapisać w innym miejscu." + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "Expand whole section" +msgid "Expand Whole Section" +msgstr "Rozszerz cały obszar" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "Collapse whole section" +msgid "Collapse Whole Section" +msgstr "Zwiń cały obszar" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "Zsynchronizuj miniaturę ze stroną" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Narzędzia" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "Wypowiedz" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "Wydrukuj" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "Drukowanie tego dokumentu nie jest dopuszczalne." + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"Nie można wydrukować dokumentu. Nieznany błąd. Błąd ten można zgłosić na " +"stronie bugs.kde.org" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"Nie można wydrukować dokumentu. Szczegóły: „%1”. Błąd ten można zgłosić na " +"stronie bugs.kde.org" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "Przejdź do poprzedniej pozycji" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "Przejdź do następnej pozycji" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"Błąd pliku! Nie można utworzyć pliku tymczasowego " +"%1." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"Błąd pliku! Nie można otworzyć pliku %1, żeby go rozpakować. Plik ten nie zostanie wczytany." + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"Ten błąd pojawia się zwykle wtedy, gdy nie ma się wystarczających " +"uprawnień do odczytania pliku. Można sprawdzić właściciela i prawa dostępu " +"do pliku po naciśnięciu prawym przyciskiem myszy w programie do zarządzania " +"plików Dolphin i wybraniu z menu „Właściwości”, a następnie przejść na kartę " +"„Uprawnienia”." + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"Błąd pliku! Nie można rozpakować pliku " +"%1. Plik ten nie będzie wczytany." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"Błąd ten zwykle występuje w sytuacji, kiedy plik jest uszkodzony. Jeśli " +"chcesz się upewnić, spróbuj rozpakować plik ręcznie przy pomocy narzędzi " +"linii poleceń." + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "Brak zakładek" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "Napotkano kłopot przy udostępnianiu dokumentu: %1" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "Udostępnij" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "Pomyślnie udostępniono dokument" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "Udostępniony dokument możesz znaleźć na: %1" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "&Edycja" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "&Widok" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "Prze&jdź" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "&Narzędzia" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "Główny pasek narzędzi" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "Pasek narzędzi opisów" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, kde-format +msgid "Quick Annotation Toolbar" +msgstr "Pasek narzędzi szybkich opisów" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "Ustawienia ogólne" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Dostępność" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "Wspomaganie czytania" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Wydajność" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "Dostrajanie wydajności" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "Ustawienia przeglądarki" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Prezentacja" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "Ustawienia dla trybu prezentacji" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "Ustawienia opisów" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "Edytor" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "Ustawienia edytora" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" +"Edytor został ustawiony z wiersza poleceń na \n" +" %1 \n" +"Jeśli chcesz użyć tego ustawienia, to uruchom Okulara bez ustawienia --" +"editor-cmd" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "Znajdź następne" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 – Prezentacja" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "Przełącz ekran" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "Ekran %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "Zakończ tryb prezentacji" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Tytuł: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Stron(y): %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "Naciśnij, aby rozpocząć" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "Wstrzymaj" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "Odtwórz" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"Dostępne są dwa sposoby kończenia prezentacji: naciśnięcie klawisza Esc albo " +"przycisku Zakończ, który pojawia się po umieszczeniu wskaźnika myszy w " +"prawym górnym narożniku. Oczywiście, można także przełączać okna (domyślnie " +"Alt+Tab)." + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "W trakcie prezentacji" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "Nieznany plik" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "Właściwości %1" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "&Czcionki" + +#: part/propertiesdialog.cpp:145 +#, kde-format +msgid "Reading font information…" +msgstr "Wczytywanie szczegółów o czcionce…" + +#: part/propertiesdialog.cpp:158 +#, kde-format +msgid "&Page Sizes" +msgstr "Rozmiar &strony" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "W&ydobądź czcionkę" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Type 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Type 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "Type 1C (OT)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Type 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType (OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID Typ 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID Typ 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID Typ 0C (OT)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType (OT)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "TeX PK" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "Wirtualny TeX" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "Metryka czcionki TeX" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "TeX obsługiwany przez FreeType" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "Nieznany" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "Osadzona (podzbiór)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "Całkowicie osadzona" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "Nie" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "Tak (podzbiór)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "Tak" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "%1 (zamieniane na %2)" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "[n/d]" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "Nieznana czcionka" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "Osadzone: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "Nazwa" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "Rodzaj" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "Plik" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "Strona" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "Rozmiar" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "Podgląd rewizji" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "Gdzie chcesz zapisać tę rewizję?" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "Nie można zapisać pliku %1." + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "Nie można obejrzeć rewizji." + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "Wprowadź przynajmniej 3 litery, aby filtrować strony" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "Rozróżniaj wielkość liter" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "Znajdź frazę" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "Znajdź wszystkie słowa" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "Znajdź dowolne słowo" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "Ustawienia filtra" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, kde-format +msgid "Certificates" +msgstr "Certyfikaty" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "Wybierz certyfikat, którym podpisać:" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "Wszystkie" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, kde-format +msgid "Only QES certificates" +msgstr "Tylko certyfikaty QES" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "Tylko klucze PGP" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "Powód:" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, kde-format +msgid "optional" +msgstr "opcjonalne" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "Położenie:" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, kde-format +msgid "Background:" +msgstr "Tło:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "Wybierz..." + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, kde-format +msgid "Recent backgrounds:" +msgstr "Ostatnie tła:" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

    No annotations

    To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
    " +msgstr "" +"

    Nie ma żadnego opisu

    Aby utworzyć nowy opis, " +"naciśnij F6 lub wybierz Narzędzia → Opisy z menu.
    " + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "Grupuj względem strony" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "Grupuj względem autora" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "Pokaż opisy tylko dla bieżącej strony" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "Rozwiń wszystkie elementy" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "Zwiń wszystkie elementy" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "Właściwości" + +#: part/signaturepartutils.cpp:180 +#, kde-format +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Obrazy (%1)" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "Wybierz obraz tła" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "Zapomnij o obrazie" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "Zapomnij o wszystkich obrazach" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "Wpisz hasło (jeśli jest), aby odblokować certyfikat: %1" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "Wpisz hasło certyfikatu" + +#: part/signaturepartutils.cpp:244 +#, kde-format +msgid "Enter document password" +msgstr "Wpisz hasło dokumentu" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "Zapisz podpisany plik jako" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "%1_podpisany.%2" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "Status ważności" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "Prawidłowość podpisu:" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "Zmiany w dokumencie:" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "Dodatkowe dane" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "Podpisany przez:" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "Czas podpisu:" + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "Wersja dokumentu" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Rewizja dokumentu %1 z %2" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "Zobacz podpisaną wersję…" + +#: part/signaturepropertiesdialog.cpp:95 +#, kde-format +msgid "View Certificate…" +msgstr "Obejrzyj certyfikat…" + +#: part/signaturepropertiesdialog.cpp:97 +#, kde-format +msgid "View in Certificate Manager" +msgstr "Obejrzyj w zarządzaniu certyfikatami" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "Nie znaleziono programu KDE do zarządzanie certyfikatami (kleopatra)" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "Kwalifikowany" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "PGP" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "Pokaż tylko strony z zakładkami" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "Odtwórz" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Wstrzymaj" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "Zatrzymaj" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "Filmy nie są obsługiwane w tym Okularze" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "Filmy nie są obsługiwane w tym Okularze" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "Dod&aj…" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, kde-format +msgid "&Edit…" +msgstr "&Edytuj…" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "&Usuń" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "Przesuń w &górę" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "Przesuń w &dół" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "Domyślne narzędzie rysowania #%1" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "Istnieje już narzędzie o tej nazwie. Użyto domyślnego" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "Powielona nazwa" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "Strona dokumentu do pokazania" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "Otwórz dokument w trybie prezentacji" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "Uruchom z oknem dialogowym drukowania" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "Uruchom z oknem dialogowym drukowania i wyjdź po wydrukowaniu" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "Kontrola pojedynczego wystąpienia" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "Nie unoś okna" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "Znajdź ciąg znaków w tekście" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "Ustawia polecenie zewnętrznego edytora" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "Dokumenty do otwarcia. Użyj „-”, aby czytać ze standardowego wejścia." + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" +"Nie możesz ustawić polecenia edytora w już uruchomionym Okularze. Wyłącz " +"karty i spróbuj ponownie. Pamiętaj także, że niepowtarzalność także nie jest " +"obsługiwana po ustawieniu polecenia edytora w wierszu poleceń.\n" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "" +"Błąd: Nie można otworzyć więcej niż jednego dokumentu z przełącznikiem --" +"unique" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" +"Błąd: Nie można otworzyć więcej niż jednego dokumentu z przełącznikiem --" +"presentation" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "" +"Błąd: Nie można otworzyć więcej niż jednego dokumentu z przełącznikiem --" +"print" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "" +"Błąd: Nie można otworzyć więcej niż jednego dokumentu z przełącznikiem --page" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "" +"Błąd: Nie można otworzyć więcej niż jednego dokumentu z przełącznikiem --find" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "Nie można znaleźć składnika Okulara: %1" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "Pasek boczny" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" +"Jedno wystąpienie Okulara już istnieje. To wystąpienie nie będzie " +"niepowtarzalnym." + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "Nie można znaleźć składnika Okulara." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"Naciśnij, aby otworzyć plik\n" +"Naciśnij i przytrzymaj, aby otworzyć ostatni plik" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"Naciśnij, aby otworzyć plik, albo naciśnij i przytrzymaj, aby " +"wybrać ostatni plik" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "Następna karta" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "Poprzednia karta" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "Cofnij zamknięcie karty" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "Zablokuj pasek boczny" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "Wszystkie pliki (*)" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "Wszystkie obsługiwane pliki (%1)" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "Otwórz dokument" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "Potwierdź zamknięcie" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "Zamknij karty" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "Masz zamiar zamknąć %1 karty. Czy na pewno chcesz kontynuować?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "Ostrzeż przy zamykaniu wielu kart" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "&Skopiuj ścieżkę" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "&Otwórz katalog zawierający" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "&Zapomnij o tym elemencie" + +#: shell/welcomescreen.cpp:137 +#, kde-format +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "Brak ostatnich dokumentów" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "Witaj w Okularze" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Otwórz dokument..." + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, kde-format +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Ostatnie dokumenty" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "Zapomnij o wszystkich" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "Ukryj ekran powitalny" + +#~ msgid "Geometry with Comment" +#~ msgstr "Figura geometryczna z komentarzem" + +#~ msgid "Geometry" +#~ msgstr "Figura geometryczna" + +#~ msgctxt "Annotation type: contents" +#~ msgid "%1: %2" +#~ msgstr "%1: %2" + +#~ msgid "Modified: %1" +#~ msgstr "Zmieniony: %1" + +#~ msgid "Find..." +#~ msgstr "Znajdź..." + +#~ msgid "Go To Page..." +#~ msgstr "Do strony..." + +#~ msgid "Play movie..." +#~ msgstr "Odtwórz film..." + +#~ msgid "Search..." +#~ msgstr "Szukaj..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "Zapi&sz jako..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "&Widok..." + +#~ msgid "&Sign..." +#~ msgstr "Podpi&sz..." + +#~ msgid "Configure Viewer..." +#~ msgstr "Ustawienia przeglądarki..." + +#~ msgid "Configure Viewer Backends..." +#~ msgstr "Ustawienia silników przeglądarki..." + +#~ msgid "Configure Backends..." +#~ msgstr "Ustawienia silników..." + +#~ msgid "&Add..." +#~ msgstr "Dod&aj..." + +#~ msgid "&Edit..." +#~ msgstr "&Edytuj..." + +#~ msgctxt "%1 is a file path" +#~ msgid "" +#~ "Could not sign. Invalid certificate password or could not write to '%1'" +#~ msgstr "" +#~ "Nie można podpisać. Nieprawidłowe hasło certyfikatu lub nie można " +#~ "zapisywać do '%1'" + +#, fuzzy +#~| msgid "" +#~| "All your signing certificates are either not valid yet or are past their " +#~| "validity date." +#~ msgid "All your signing certificates are invalid" +#~ msgstr "" +#~ "Wszystkie twoje certyfikaty podpisujące nie są jeszcze ważne lub utraciły " +#~ "swoją datę ważności." + +#~ msgid "Unsigned Signature %1" +#~ msgstr "Niepodpisany podpis %1" + +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "Nieznany" + +#~ msgctxt "Signature type" +#~ msgid "Unsigned signature" +#~ msgstr "Niepodpisany podpis" + +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "Spinbox prefix: Advance automatically: every n seconds" +#~ msgid "every " +#~ msgstr "co " + +#~ msgctxt "Suffix for the pen width, eg '10 px'" +#~ msgid " px" +#~ msgstr " piks." + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " %" + +#~ msgctxt "%1 is a file path" +#~ msgid "Could not sign. Could not write to '%1'" +#~ msgstr "Nie można podpisać. Nie można zapisywać do '%1'" + +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "Zmieść na szerokości" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "Zmieść stronę" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Auto Fit" +#~ msgstr "Zmieść najlepiej" + +#~ msgid "*|All Files" +#~ msgstr "*|Wszystkie pliki" + +#~ msgid "Missing alert type" +#~ msgstr "Brakuje rodzaju alarmu" + +#~ msgid "" +#~ "The file '%1' has been modified by another program, which means it can no " +#~ "longer be saved." +#~ msgstr "" +#~ "Plik „%1” został zmieniony przez inny program, co oznacza, że już nie " +#~ "można go zapisać." + +#~ msgid "Show Sidebar" +#~ msgstr "Pokaż pasek boczny" + +#~ msgctxt "@info" +#~ msgid "" +#~ "experimental feature.Stamps inserted in PDF documents are " +#~ "not visible in PDF readers other than Okular." +#~ msgstr "" +#~ "funkcja eksperymentalna.Pieczątki dodawane do dokumentów " +#~ "PDF nie będą widoczne w czytnikach innych niż Okular." + +#~ msgctxt "@info" +#~ msgid "" +#~ "The version of the Poppler library this Okular was compiled with does not " +#~ "support signing documents with passwords. Please ask your provider to " +#~ "update it to 22.02 or later." +#~ msgstr "" +#~ "Wersja biblioteki Poppler, z którą został zbudowany ten Okular, nie " +#~ "obsługuje podpisywania dokumentów zabezpieczonych hasłami. Poproś " +#~ "dostawcę swoich pakietów, aby uaktualnił ją do 22.02 lub późniejszej." + +#~ msgctxt "@title:window" +#~ msgid "Poppler library is too old" +#~ msgstr "Biblioteka Poppler jest zbyt stara" + +#~ msgctxt "@info" +#~ msgid "" +#~ "Stamps inserted in PDF documents are not visible in PDF readers other " +#~ "than Okular" +#~ msgstr "" +#~ "Pieczątki umieszczane na dokumentach PDF nie będą widoczne w czytnikach " +#~ "innych niż Okular." + +#~ msgctxt "@title:window" +#~ msgid "Experimental feature" +#~ msgstr "Funkcja eksperymentalna" + +#~ msgid "Remove Bookmarks" +#~ msgstr "Usuń zakładki" + +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "&Opisz" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "Podświetl" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Underline" +#~ msgstr "Podkreślenie" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Squiggle" +#~ msgstr "Pokręcenie" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Strike Out" +#~ msgstr "Przekreślenie" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "Wstaw tekst" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "Wstaw uwagę w wierszu" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "Wstaw uwagę wysuwną" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Freehand Line" +#~ msgstr "Rysuj linię odręczną" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Straight line" +#~ msgstr "Narysuj linię prostą" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Arrow" +#~ msgstr "Narysuj strzałkę" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Rectangle" +#~ msgstr "Narysuj prostokąt" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Ellipse" +#~ msgstr "Narysuj elipsę" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Polygon" +#~ msgstr "Narysuj wielokąt" + +#~ msgid "Highlight in Yellow" +#~ msgstr "Podświetl na żółto" + +#~ msgid "Highlight in Green" +#~ msgstr "Podświetl na zielono" + +#~ msgid "Insert Inline Note" +#~ msgstr "Wstaw uwagę w wierszu" + +#~ msgid "Insert Popup Note" +#~ msgstr "Wstaw uwagę wysuwną" + +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "Zaznacz ob&szar" + +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "Zaznacz &tekst" + +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "Zaznacz t&abelę" + +#~ msgctxt "verb" +#~ msgid "&Magnify" +#~ msgstr "&Lupa" + +#~ msgid "Bookmark annotation" +#~ msgstr "Dodaj zakładkę do opisu" + +#~ msgid "&Toggle Change Colors" +#~ msgstr "&Przełącz barwy" + +#~ msgctxt "@option:check Config dialog, presentation page, transitions" +#~ msgid "Enable transitions" +#~ msgstr "Włącz przejścia" + +#, fuzzy +#~| msgid "Advance every:" +#~ msgctxt "@label:spinbox Config dialog, presentation page" +#~ msgid "Advance every:" +#~ msgstr "Idź do przodu co:" + +#, fuzzy +#~| msgid "Use custom background color" +#~ msgctxt "@label:listbox Config dialog, general page" +#~ msgid "Custom background color:" +#~ msgstr "Użyj własnej barwy tła" + +#~ msgid "Draw border around &Images" +#~ msgstr "Rysuj obramowan&ia wokół obrazów" + +#~ msgid "Speech" +#~ msgstr "Mowa" + +#~ msgid "Engine" +#~ msgstr "Silnik" + +#~ msgid "Identity" +#~ msgstr "Tożsamość" + +#~ msgid "Au&thor:" +#~ msgstr "Au&tor:" + +#~ msgid "View Options" +#~ msgstr "Ustawienia widoku" + +#~ msgctxt "@info:whatsthis" +#~ msgid "" +#~ "Defines the default zoom mode for files which were never opened before.\n" +#~ "For files which were opened before the previous zoom is applied." +#~ msgstr "" +#~ "Określa domyślny tryb powiększenia dla plików, które nigdy wcześniej nie " +#~ "były otwierane.\n" +#~ "Dla plików, które już były wcześniej otwierane zostanie zastosowany " +#~ "poprzednie powiększenie." + +#~ msgid "Navigation" +#~ msgstr "Sterowanie" + +#~ msgid "Placement" +#~ msgstr "Umieszczenie" + +#~ msgid "Screen:" +#~ msgstr "Ekran:" + +#~ msgid "Drawing Tool Configuration" +#~ msgstr "Ustawienia narzędzi rysowania" + +#~ msgid "&Get Books From Internet..." +#~ msgstr "Pobierz &książki z internetu..." + +#~ msgid "Reviews" +#~ msgstr "Recenzje" + +#, fuzzy +#~| msgid "V%1" +#~ msgctxt "@item:inlistbox Color name" +#~ msgid "%1" +#~ msgstr "V%1" + +#~ msgid "Hide Forms" +#~ msgstr "Ukryj formularz" + +#~ msgid "&Review" +#~ msgstr "&Recenzja" + +#~ msgid "Annotations author" +#~ msgstr "Autor przypisów" + +#~ msgid "Please insert your name or initials:" +#~ msgstr "Wpisz swoje imię lub inicjały:" + +#~ msgid "Show &Navigation Panel" +#~ msgstr "Pokaż panel sterowa&nia" + +#~ msgid "Show Text" +#~ msgstr "Pokaż tekst" + +#~ msgid "Small Icons" +#~ msgstr "Małe ikony" + +#~ msgid "Large Icons" +#~ msgstr "Duże ikony" + +#~ msgid "" +#~ "Click to use the current selection tool\n" +#~ "Click on the arrow to choose another selection tool" +#~ msgstr "" +#~ "Naciśnij, żeby użyć bieżącego narzędzia zaznaczania\n" +#~ "Naciśnij na strzałce, żeby wybrać inne narzędzie zaznaczania" + +#~ msgid "Created: %1" +#~ msgstr "Utworzony: %1" + +#~ msgid "Style" +#~ msgstr "Styl" + +#~ msgid "&Size:" +#~ msgstr "&Rozmiar:" + +#~ msgid "Inner color:" +#~ msgstr "Kolor wewnętrzny:" + +#~ msgid "Name: %1" +#~ msgstr "Nazwa: %1" + +#~ msgid "Size: %1" +#~ msgstr "Rozmiar: %1" + +#~ msgid "&Browse Tool" +#~ msgstr "Narzędzie &przeglądania" + +#~ msgid "&Zoom Tool" +#~ msgstr "Narzędzie &powiększania" + +#~ msgctxt "Zoom Tool" +#~ msgid "Zoom" +#~ msgstr "Powiększanie" + +#~ msgctxt "Select Tool" +#~ msgid "Selection" +#~ msgstr "Zaznaczanie" + +#~ msgid "&Text Selection Tool" +#~ msgstr "Narzędzie zaznaczania &tekstu" + +#~ msgid "T&able Selection Tool" +#~ msgstr "Narzędzie zaznaczania t&abeli" + +#, fuzzy +#~| msgctxt "Symbol for caret annotations" +#~| msgid "None" +#~ msgid " None" +#~ msgstr "Brak" + +#~ msgid "" +#~ "The document requested to be launched in presentation mode.\n" +#~ "Do you want to allow it?" +#~ msgstr "" +#~ "Dokument zażądał uruchomienia w trybie prezentacji.\n" +#~ "Czy na to zezwolić?" + +#~ msgid "Presentation Mode" +#~ msgstr "Tryb prezentacji" + +#~ msgid "Allow the presentation mode" +#~ msgstr "Zezwól na tryb prezentacji" + +#~ msgid "Do Not Allow" +#~ msgstr "Nie pozwól" + +#~ msgid "Do not allow the presentation mode" +#~ msgstr "Nie pozwól na tryb prezentacji" + +#~ msgid "" +#~ "Your annotation changes will not be saved automatically. Use File -> Save " +#~ "As...\n" +#~ "or your changes will be lost once the document is closed" +#~ msgstr "" +#~ "Twoje zmiany w przypisach nie zostaną zapisane samoczynnie. Użyj Plik -> " +#~ "Zapisz jako...\n" +#~ ", bo w przeciwnym przypadku twoje zmiany zostaną utracone w momencie " +#~ "zamknięcia dokumentu" + +#~ msgid "" +#~ "Your annotations are saved internally by Okular.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" +#~ msgstr "" +#~ "Twoje przypisy są zapisane wewnętrznie przez Okular.\n" +#~ "Możesz eksportować dokument z przypisami używając Plik -> Eksportuj jako -" +#~ "> Archiwum dokumentu" + +#~ msgid "Save &Copy As..." +#~ msgstr "Zapisz &kopię jako..." + +#~ msgid "" +#~ "Your annotations will not be exported.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" +#~ msgstr "" +#~ "Twoje przypisy są zapisane wewnętrznie przez Okular.\n" +#~ "Możesz eksportować dokument z przypisami używając Plik -> Eksportuj jako -" +#~ "> Archiwum dokumentu" + +#~ msgid "" +#~ "End of document reached.\n" +#~ "Continue from the beginning?" +#~ msgstr "" +#~ "Osiągnięto koniec dokumentu.\n" +#~ "Czy kontynuować od początku?" + +#~ msgid "" +#~ "Beginning of document reached.\n" +#~ "Continue from the bottom?" +#~ msgstr "" +#~ "Osiągnięto początek dokumentu.\n" +#~ "Czy kontynuować od końca?" + +#~ msgid "Current maintainer" +#~ msgstr "Obecny opiekun" + +#~ msgid " sec." +#~ msgstr " s" + +#~ msgid "Pencil color:" +#~ msgstr "Kolor pędzla:" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A0" +#~ msgstr "DIN/ISO A0 poziomo" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A0" +#~ msgstr "DIN/ISO A0 pionowo" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A1" +#~ msgstr "DIN/ISO A1 poziomo" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A1" +#~ msgstr "DIN/ISO A1 pionowo" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A2" +#~ msgstr "DIN/ISO A2 poziomo" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A2" +#~ msgstr "DIN/ISO A2 pionowo" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A3" +#~ msgstr "DIN/ISO A3 poziomo" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A3" +#~ msgstr "DIN/ISO A3 pionowo" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A4" +#~ msgstr "DIN/ISO A4 poziomo" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A4" +#~ msgstr "DIN/ISO A4 pionowo" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A5" +#~ msgstr "DIN/ISO A5 poziomo" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A5" +#~ msgstr "DIN/ISO A5 pionowo" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A6" +#~ msgstr "DIN/ISO A6 poziomo" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A6" +#~ msgstr "DIN/ISO A6 pionowo" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A7" +#~ msgstr "DIN/ISO A7 poziomo" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A7" +#~ msgstr "DIN/ISO A7 pionowo" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A8" +#~ msgstr "DIN/ISO A8 poziomo" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A8" +#~ msgstr "DIN/ISO A8 pionowo" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A9" +#~ msgstr "DIN/ISO A9 poziomo" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A9" +#~ msgstr "DIN/ISO A9 pionowo" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B0" +#~ msgstr "DIN/ISO B0 poziomo" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B0" +#~ msgstr "DIN/ISO B0 pionowo" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B1" +#~ msgstr "DIN/ISO B1 poziomo" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B1" +#~ msgstr "DIN/ISO B1 pionowo" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B2" +#~ msgstr "DIN/ISO B2 poziomo" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B2" +#~ msgstr "DIN/ISO B2 pionowo" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B3" +#~ msgstr "DIN/ISO B3 poziomo" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B3" +#~ msgstr "DIN/ISO B3 pionowo" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B4" +#~ msgstr "DIN/ISO B4 poziomo" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B4" +#~ msgstr "DIN/ISO B4 pionowo" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B5" +#~ msgstr "DIN/ISO B5 poziomo" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B5" +#~ msgstr "DIN/ISO B5 pionowo" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B6" +#~ msgstr "DIN/ISO B6 poziomo" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B6" +#~ msgstr "DIN/ISO B6 pionowo" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B7" +#~ msgstr "DIN/ISO B7 poziomo" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B7" +#~ msgstr "DIN/ISO B7 pionowo" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B8" +#~ msgstr "DIN/ISO B8 poziomo" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B8" +#~ msgstr "DIN/ISO B8 pionowo" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B9" +#~ msgstr "DIN/ISO B9 poziomo" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B9" +#~ msgstr "DIN/ISO B9 pionowo" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B10" +#~ msgstr "DIN/ISO B10 poziomo" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B10" +#~ msgstr "DIN/ISO B10 pionowo" + +#~ msgctxt "paper size" +#~ msgid "landscape letter" +#~ msgstr "listowy poziomo" + +#~ msgctxt "paper size" +#~ msgid "portrait letter" +#~ msgstr "listowy pionowo" + +#~ msgctxt "paper size" +#~ msgid "landscape legal" +#~ msgstr "oficjalny poziomo" + +#~ msgctxt "paper size" +#~ msgid "portrait legal" +#~ msgstr "oficjalny pionowo" + +#~ msgctxt "paper size" +#~ msgid "landscape executive" +#~ msgstr "biurowy poziomo" + +#~ msgctxt "paper size" +#~ msgid "portrait executive" +#~ msgstr "biurowy pionowo" + +#~ msgctxt "paper size" +#~ msgid "landscape Comm10E" +#~ msgstr "Comm10E poziomo" + +#~ msgctxt "paper size" +#~ msgid "portrait Comm10E" +#~ msgstr "Comm10E pionowo" + +#~ msgctxt "paper size" +#~ msgid "landscape DLE" +#~ msgstr "DLE poziomo" + +#~ msgctxt "paper size" +#~ msgid "portrait DLE" +#~ msgstr "DLE pionowo" + +#~ msgctxt "paper size" +#~ msgid "landscape folio" +#~ msgstr "folio poziomo" + +#~ msgctxt "paper size" +#~ msgid "portrait folio" +#~ msgstr "folio pionowo" + +#~ msgctxt "paper size" +#~ msgid "ledger" +#~ msgstr "ledger" + +#~ msgctxt "paper size" +#~ msgid "tabloid" +#~ msgstr "tabloid" + +#~ msgctxt "paper size" +#~ msgid "unknown landscape paper size" +#~ msgstr "papier w poziomie o nieznanym rozmiarze" + +#~ msgctxt "paper size" +#~ msgid "unknown portrait paper size" +#~ msgstr "papier w pionie o nieznanym rozmiarze" + +#~ msgid "Toggle Drawing Mode" +#~ msgstr "Przełącz tryb rysowania" + +#~ msgid "Starting Jovie Text-to-Speech service Failed: %1" +#~ msgstr "Uruchamianie usługi tekst-na-mowę Jovie nieudane: %1" + +#~ msgid "Search Columns" +#~ msgstr "Szukaj kolumn" + +#~ msgid "All Visible Columns" +#~ msgstr "Wszystkie widoczne kolumny" + +#~ msgid "No document opened." +#~ msgstr "Brak otwartego dokumentu." + +#~ msgid "Can't open more than one document in the unique Okular instance." +#~ msgstr "" +#~ "Nie można otworzyć więcej niż jednego dokumentu jako niepowtarzalnego " +#~ "wystąpienia Okulara." + +#~ msgid "No matches found for '%1'." +#~ msgstr "Brak dopasowań dla '%1'." + +#~ msgid "Search in progress..." +#~ msgstr "Szukanie w trakcie..." + +#~ msgid "Searching for %1" +#~ msgstr "Szukanie %1" + +#~ msgid "Identity Settings" +#~ msgstr "Ustawienia tożsamości" + +#~ msgid "Highlight Properties" +#~ msgstr "Właściwości podświetlania" + +#~ msgid "Ink Properties" +#~ msgstr "Właściwości atramentu" + +#~ msgctxt "Annotation tool" +#~ msgid "Text Annotation" +#~ msgstr "Przypisy" + +#~ msgctxt "Annotation tool" +#~ msgid "Green Ink" +#~ msgstr "Zielony atrament" + +#~ msgctxt "Annotation tool" +#~ msgid "Yellow Highlight" +#~ msgstr "Żółte podświetlenie" + +#~ msgctxt "Annotation tool" +#~ msgid "Straight Yellow Line" +#~ msgstr "Prosta żółta linia" + +#~ msgid "Black Underlining" +#~ msgstr "Czarne podkreślenie" + +#~ msgctxt "Annotation tool" +#~ msgid "Underline the text with a black line" +#~ msgstr "Podkreśl tekst czarną linią" + +#~ msgctxt "Annotation tool" +#~ msgid "A cyan ellipse" +#~ msgstr "Niebieskozielona elipsa" + +#~ msgid "Ink" +#~ msgstr "Atrament" + +#, fuzzy +#~| msgid "Hide Forms" +#~ msgid "Reset Forms" +#~ msgstr "Ukryj formularze" + +#~ msgid "You must set this name:" +#~ msgstr "Ustawienie tej nazwy jest niezbędne:" + +#~ msgid "Moves to the first page of the document" +#~ msgstr "Wyświetla pierwszą stronę dokumentu" + +#~ msgid "Toggles between File Path and Title" +#~ msgstr "Przełącza pomiędzy ścieżką pliku a tytułem" + +#~ msgctxt "%1 is \"Title\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "%1 is \"File Path\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#~ msgctxt "@action:button" +#~ msgid "&Overwrite" +#~ msgstr "&Zastąp" + +#~ msgid "Pages:" +#~ msgstr "Strony:" diff --git a/po/pl/okular_comicbook.po b/po/pl/okular_comicbook.po new file mode 100644 index 0000000..436bd40 --- /dev/null +++ b/po/pl/okular_comicbook.po @@ -0,0 +1,65 @@ +# translation of okular_comicbook.po to +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Marta Rybczyńska , 2008. +# Maciej Wikło , 2009. +# Łukasz Wojniłowicz , 2014, 2018. +# Ignacy Kajdan , 2020. +msgid "" +msgstr "" +"Project-Id-Version: okular_comicbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-11-24 19:51+0100\n" +"Last-Translator: Ignacy Kajdan \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Marta Rybczyńska, Łukasz Wojniłowicz, Ignacy Kajdan" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" +"kde-i18n@rybczynska.net, lukasz.wojnilowicz@gmail.com, ignacy.kajdan@gmail." +"com" + +#: document.cpp:97 +#, kde-format +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "" +"Nie można otworzyć dokumentu, nie znaleziono ani unrar, ani unarchiver." + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "" +"Wersja programu unrar znaleziona na tym systemie nie pozwala otwierać " +"komiksów." + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "Nieznany format komiksu." + +#~ msgid "ComicBook Backend" +#~ msgstr "Moduł ComicBook" + +#~ msgid "A renderer for various comic book formats" +#~ msgstr "Wyświetlanie różnych formatów comic book." + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/pl/okular_djvu.po b/po/pl/okular_djvu.po new file mode 100644 index 0000000..473dce8 --- /dev/null +++ b/po/pl/okular_djvu.po @@ -0,0 +1,140 @@ +# translation of okular_djvu.po to Polish +# translation of okular_djvu.po to +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Robert Gomulka , 2007. +# Marta Rybczyńska , 2008. +# Michał Smoczyk , 2009. +# Ignacy Kajdan , 2020. +msgid "" +msgstr "" +"Project-Id-Version: okular_djvu\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-11-24 19:51+0100\n" +"Last-Translator: Ignacy Kajdan \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Robert Gomułka, Michał Smoczyk, Ignacy Kajdan" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "carramba@epf.pl, msmoczyk@wp.pl, ignacy.kajdan@gmail.com" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "Edytor" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "Wydawca" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "Tom" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "Typ dokumentu" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "Nieznana" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "Pliki komponentów" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "Nieznany" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "Pojedyncza strona" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "Zapakowany" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "Pośredni" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "Zapakowany (stary)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "Zindeksowany (stary)" + +#~ msgid "DjVu Backend" +#~ msgstr "Silnik DjVu" + +#~ msgid "DjVu backend based on DjVuLibre." +#~ msgstr "Silnik DjVu oparty na DjVuLibre." + +#~ msgid "© 2006-2008 Pino Toscano" +#~ msgstr "© 2006-2008 Pino Toscano" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgctxt "Unknown title" +#~ msgid "Unknown" +#~ msgstr "Nieznany" + +#~ msgctxt "Unknown author" +#~ msgid "Unknown" +#~ msgstr "Nieznany" + +#~ msgctxt "Unknown editor" +#~ msgid "Unknown" +#~ msgstr "Nieznany" + +#~ msgctxt "Unknown publisher" +#~ msgid "Unknown" +#~ msgstr "Nieznany" + +#~ msgctxt "Unknown creation date" +#~ msgid "Unknown" +#~ msgstr "Nieznana" + +#~ msgctxt "Unknown volume information" +#~ msgid "Unknown" +#~ msgstr "Nieznany" + +#~ msgctxt "Unknown type of document" +#~ msgid "Unknown" +#~ msgstr "Nieznany" diff --git a/po/pl/okular_dvi.po b/po/pl/okular_dvi.po new file mode 100644 index 0000000..aebd5db --- /dev/null +++ b/po/pl/okular_dvi.po @@ -0,0 +1,789 @@ +# translation of okular_dvi.po to +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Robert Gomulka , 2007, 2008. +# Marta Rybczyńska , 2008. +# Maciej Wikło , 2009. +# SPDX-FileCopyrightText: 2013, 2014, 2018, 2024, 2025 Łukasz Wojniłowicz +# Ignacy Kajdan , 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_dvi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-11-01 10:12+0100\n" +"Last-Translator: Łukasz Wojniłowicz \n" +"Language-Team: pl\n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" +"X-Generator: Lokalize 25.08.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Robert Gomulka, Łukasz Wojniłowicz, Ignacy Kajdan" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "carramba@epf.pl, lukasz.wojnilowicz@gmail.com, ignacy.kajdan@gmail.com" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

    Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

    Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

    " +msgstr "" +"

    Okular nie mógł odnaleźć programu dvipdfm. Jest on niezbędny " +"do działania funkcji eksportu. Można jednak przekształcić plik DVI na PDF " +"przy pomocy funkcji drukowania Okulara. Spowoduje to uzyskanie dokumentu, " +"który co prawda wydrukuje się bez problemu, ale będzie niskiej jakości przy " +"oglądaniu w Acrobat Readerze. Rozsądnym mogłoby być uaktualnienie " +"dystrybucji TeX (zawierającej program dvipdfm) do nowszej wersji.

    Wskazówka dla zakłopotanych administratorów: Okular używa zmiennej " +"środowiskowej PATH przy wyszukiwaniu programów.

    " + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Zewnętrzny program dvipdfm, użyty do wyeksportowania pliku, " +"zgłosił błąd. Bardziej szczegółowe informacje znajdują się w oknie " +"informacyjnym dokumentu, które znajduje się w podmenu „Plik”." + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" +"Ten plik DVI odwołuje się do zewnętrznych plików graficznych, które nie " +"są w formacie PostScript. Pliki te nie mogą być obsłużone przez program " +"dvips, używany wewnętrznie przez Okular do drukowania i " +"eksportowania do PostScriptu. Z tego względu ta funkcjonalność jest " +"niedostępna." + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

    Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

    Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

    " +msgstr "" +"

    Okular nie mógł odnaleźć programu dvips. Jest on niezbędny " +"do działania funkcji eksportu.

    Wskazówka dla zakłopotanych " +"administratorów: Okular używa zmiennej środowiskowej PATH przy wyszukiwaniu " +"programów.

    " + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Zewnętrzny program dvips, użyty do wyeksportowania pliku, " +"zgłosił błąd. Bardziej szczegółowe informacje znajdują się w oknie " +"informacyjnym dokumentu, które znajduje się w podmenu „Plik”." + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "Plik DVI nie rozpoczyna się od preambuły." + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" +"Ten plik DVI zawiera nieprawidłową wersję wyjścia DVI dla tego programu. " +"Wskazówka: jeśli używasz systemu składu tekstu Omega, powinieneś użyć " +"specjalnego programu, jak oxdvi." + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "" +"Plik DVI jest poważnie uszkodzony. Okular nie był w stanie znaleźć znacznika " +"końca danych." + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "Znacznik końca nie rozpoczyna się od polecenia POST." + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "Znacznik końca zawiera polecenie różne od FNTDEF." + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "Strona %1 nie rozpoczyna się od polecenia BOP." + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

    The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

    What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

    PATH: %2

    " +msgstr "" +"

    Nie można było uruchomić zewnętrznego programu pdf2ps. Dlatego plik PDF %1 nie mógł zostać przekształcony na PostScript, a " +"niektóre elementy graficzne w dokumencie nie będą wyświetlane.

    Prawdopodobna przyczyna: Być może program pdf2ps nie jest zainstalowany albo nie znajduje się on w ścieżce (PATH).

    Co można zrobić: Program pdf2ps jest zazwyczaj " +"dystrybuowany wraz z systemem interpretera PostScript „Ghostscript”. Jeśli " +"Ghostscript nie jest zainstalowany, można spróbować go doinstalować. Jeśli " +"natomiast jest zainstalowany, można spróbować uruchomić pdf2ps z wiersza linii poleceń w celu upewnienia się, że działa.

    ŚCIEŻKA (PATH): %2

    " + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

    The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

    %2

    " +msgstr "" +"

    Nie można było przekształcić pliku PDF %1 na PostScript. Z tego " +"względu niektóre elementy graficzne dokumentu nie będą wyświetlane.

    Prawdopodobna przyczyna: Plik %1 może być uszkodzony albo może w " +"ogóle nie być plikiem PDF. Oto komunikat wyjścia programu pdf2ps, użytego przez Okular:

    %2

    " + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "Uszkodzenie pliku. %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "" +"Nie wszystkie pliki PostScript można było osadzić w twoim dokumencie. %1" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "Wszystkie pliki PostScript zostały osadzone w twoim dokumencie." + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "Podany plik %1 nie istnieje." + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" +"Poprosiłeś Okulara o ustalenie miejsca w pliku DVI, które odpowiada " +"wierszowi %1 w pliku TeX %2. Jednakże, wygląda na to, że rzeczony plik DVI " +"nie zwiera potrzebnych informacji o źródle pliku. " + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" +"Okular nie był w stanie ustalić miejsca w pliku DVI, które odpowiada " +"wierszowi %1 w pliku TeX %2." + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "Kod DVI ustawił znak nieznanej czcionki." + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "" +"Kod DVI odwołał się do czcionki #%1, która nie była wcześniej zdefiniowana." + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "Stos nie był pusty przy napotkaniu polecenia EOP." + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "Stos był pusty, kiedy napotkano polecenie POP." + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "" +"Kod DVI odwołał się do czcionki, która nie była wcześniej zdefiniowana." + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "Napotkano nielegalne polecenie." + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "Napotkano nieznany kod operacji (op-code) %1." + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "Osadzanie %1" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
    " +msgstr "" +"Strona %1: Plik PDF %2 nie mógł zostać przekształcony na " +"PostScript.
    " + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
    " +msgstr "" +"Strona %1: Plik PostScript %2 nie mógł zostać znaleziony." +"
    " + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "Nie można przetworzyć danych rozmiaru papieru (papersize) „%1”." + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

    Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

    PATH: %1

    %2

    " +msgstr "" +"

    Okular nie mógł odnaleźć wszystkich plików czcionek potrzebnych do " +"wyświetlenia bieżącego pliku DVI. Możliwe, że tego dokumentu nie będzie dało " +"się odczytać.

    ŚCIEŻKA (PATH): %1

    " +"%2

    " + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

    There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
    Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

    PATH: %1

    %2

    " +msgstr "" +"

    Wystąpiły problemy podczas działania kpsewhich. W wyniku " +"czego nie można było odnaleźć niektórych plików czcionek. Możliwe, że tego " +"dokumentu nie będzie dało się odczytać.
    Prawdopodobnie przyczyna: " +"Program kpsewhich nie został zainstalowany lub nie znajduje się w " +"ścieżce PATH.

    ŚCIEŻKA (PATH): %1

    " +"%2

    " + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" +"Tworzenie czcionki przez kpsewhich zostało przerwane (kod " +"wyjścia %1, błąd %2). W wyniku czego nie można było odnaleźć niektórych " +"plików czcionek. Możliwe, że tego dokumentu nie będzie dało się odczytać." + +#: fontpool.cpp:482 +#, kde-format +msgid "Currently generating %1 at %2 dpi…" +msgstr "Obecnie tworzenie %1 przy %2 dpi…" + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "Twórca/data" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "Nie odnaleziono pliku czcionek" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "%1 × %2" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "%1 × %2 mm" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "%1 × %2 cal" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "w pionie" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "w poziomie" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" +"Zainstalowana wersja Ghostview nie zawiera żadnego znanego Okularowi " +"sterownika urządzeń. Z tego względu obsługa PostScript w Okularze została " +"wyłączona." + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "To daje 25 błędów. Kolejne komunikaty błędów nie będą wyświetlane." + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" +"Błąd w pliku DVI %1, strona %2. Napotkano polecenie Color pop, kiedy stos " +"Color był pusty." + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" +"Nieprawidłowy parametr polecenia specjalnego epsf.\n" +"Oczekiwano wartości zmiennoprzecinkowej (float) po %1 w %2" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"Nie odnaleziono pliku: \n" +" %1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" +"Błąd w pliku DVI %1, strona %2. Nie można było zinterpretować kąta w " +"poleceniu specjalnym obrotu tekstu (text rotation special)." + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "Komenda specjalna „%1” nie jest zaimplementowana." + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" +"Plik czcionek %1 można otworzyć i odczytać, jednak jego format nie jest " +"obsługiwany." + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "" +"Plik czcionek %1 jest uszkodzony albo nie może zostać otwarty ani odczytany." + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" +"FreeType zgłosił błąd przy ustawianiu wielkości znaku dla pliku czcionek %1." + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "FreeType nie jest w stanie odczytać glifu #%1 z pliku czcionek %2." + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "FreeType nie jest w stanie narysować glifu #%1 z pliku czcionek %2." + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "Glif #%1 jest pusty." + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "Glif #%1 z pliku czcionek %2 jest pusty." + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "" +"FreeType nie jest w stanie odczytać metryki glifu #%1 z pliku czcionek %2." + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "Nie można otworzyć pliku czcionek %1." + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "TexFont_PK::operator[]: Znak %1 nie jest zdefiniowany w czcionce %2" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "Nieoczekiwane %1 w pliku PK %2" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "Znak %1 jest zbyt duży w pliku %2" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "Niewłaściwa liczba przechowanych bitów: znak %1, czcionka %2" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "Zły plik pk (%1), za dużo bitów" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "Współczynnik kształtu czcionki nie jest kwadratowy " + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "Nie można odnaleźć czcionki %1, plik %2." + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "Niezgodność sumy sprawdzającej pliku czcionek %1" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "Nie można rozpoznać formatu pliku czcionek %1" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"Błąd krytyczny.\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" +"\n" +"\n" +"Oznacza to prawdopodobnie, że albo znalazłeś błąd w Okularze,\n" +"albo plik DVI tudzież pliki dodatkowe (jak np. pliki czcionek\n" +"lub wirtualne pliki czcionek) były poważnie uszkodzone.\n" +"Okular skończy działanie po wyświetleniu tego komunikatu. Jeśli uważasz,\n" +"że znalazłeś błąd albo Okular powinien zachować się lepiej\n" +"w tej sytuacji, prosimy o zgłoszenie problemu." + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "Na liście makra VF znaleziono nieprawidłowy bajt polecenia: %1" + +#~ msgid "" +#~ "

    The Ghostview program, which Okular uses internally to display the " +#~ "PostScript graphics that is included in this DVI file, is generally able " +#~ "to write its output in a variety of formats. The sub-programs that " +#~ "Ghostview uses for these tasks are called 'device drivers'; there is one " +#~ "device driver for each format that Ghostview is able to write. Different " +#~ "versions of Ghostview often have different sets of device drivers " +#~ "available. It seems that the version of Ghostview that is installed on " +#~ "this computer does not contain any of the device drivers " +#~ "that are known to Okular.

    It seems unlikely that a regular " +#~ "installation of Ghostview would not contain these drivers. This error may " +#~ "therefore point to a serious misconfiguration of the Ghostview " +#~ "installation on your computer.

    If you want to fix the problems with " +#~ "Ghostview, you can use the command gs --help to display " +#~ "the list of device drivers contained in Ghostview. Among others, Okular " +#~ "can use the 'png256', 'jpeg' and 'pnm' drivers. Note that Okular needs to " +#~ "be restarted to re-enable PostScript support.

    " +#~ msgstr "" +#~ "

    Program Ghostview, używany wewnętrznie przez Okular do " +#~ "wyświetlania grafiki PostScriptu zawartej w pliku DVI, ogólnie rzecz " +#~ "biorąc jest w stanie zapisać swoje wyjście w różnorodnych formatach. " +#~ "Programy pomocnicze używane w tym celu przez Ghostview, są nazywane " +#~ "'sterownikami urządzeń' (device drivers); istnieje jeden sterownik " +#~ "urządzenia dla każdego dla każdego formatu, który jest w stanie zapisać " +#~ "Ghostview. Różne wersje Ghostview często zawierają różne zestawy " +#~ "dostępnych sterowników. Wygląda na to, że wersja Ghostview zainstalowana " +#~ "na tym komputerze nie zawiera żadnych sterowników " +#~ "urządzeń znanych Okularowi.

    W normalnej instalacji Ghostview nie " +#~ "powinno brakować takich sterowników. Błąd ten w takim wypadku może " +#~ "wskazywać na poważne błędy konfiguracyjne instalacji Ghostview na tym " +#~ "komputerze.

    Jeśli chcesz naprawić problemy z Ghostview, możesz " +#~ "użyć polecenia gs --help w celu wyświetlenia listy " +#~ "sterowników urządzeń zawartych w Ghostview. Między innymi, Okular może " +#~ "użyć sterowników 'png256', 'jpeg' i 'pnm'. Zauważ, że Okular musi być " +#~ "uruchomiony ponownie w celu włączenia obsługi PostScriptu.

    " + +#~ msgid "DVI Backend" +#~ msgstr "Obsługa DVI" + +#~ msgid "A DVI file renderer" +#~ msgstr "Wyświetlanie pliku DVI" + +#~ msgid "© 2006 Luigi Toscano" +#~ msgstr "© 2006 Luigi Toscano" + +#~ msgid "" +#~ "

    Okular relies on the kpsewhich program to locate font files on " +#~ "your hard disk and to generate PK fonts, if necessary.

    " +#~ msgstr "" +#~ "

    Okular polega na programie kpsewhich, odnajdującym pliki " +#~ "czcionek na dysku twardym i generującym w razie potrzeby czcionki PK.

    " + +#~ msgid "Okular is currently generating bitmap fonts..." +#~ msgstr "Okular aktualnie generuje czcionki bitmapowe..." + +#~ msgid "Aborts the font generation. Do not do this." +#~ msgstr "Przerywa generowanie czcionek. Nie rób tego." + +#~ msgid "" +#~ "Okular is currently generating bitmap fonts which are needed to display " +#~ "your document. For this, Okular uses a number of external programs, such " +#~ "as MetaFont. You can find the output of these programs later in the " +#~ "document info dialog." +#~ msgstr "" +#~ "Okular w tej chwili zajmuje się tworzeniem czcionek bitmapowych " +#~ "potrzebnych do wyświetlenia dokumentu. W tym celu używa zewnętrznych " +#~ "narzędzi, takich jak MetaFont. Komunikaty zbierane podczas ich działania " +#~ "można później znaleźć w okienku z informacjami o dokumencie." + +#~ msgid "Okular is generating fonts. Please wait." +#~ msgstr "Okular aktualnie generuje czcionki. Proszę czekać." + +#~ msgid "Font Generation Progress Dialog" +#~ msgstr "Okno postępu generowania czcionek" + +#~ msgid "Abort" +#~ msgstr "Przerwij" + +#~ msgid "What is happening here?" +#~ msgstr "Co tu się dzieje?" + +#~ msgid "%v of %m" +#~ msgstr "%v z %m" + +#~ msgid "Please be patient" +#~ msgstr "Prosimy o cierpliwość" + +#~ msgid "*.pdf|Portable Document Format (*.pdf)" +#~ msgstr "*.pdf|Portable Document Format (*.pdf)" + +#~ msgid "Export File As" +#~ msgstr "Eksportuj plik jako" + +#~ msgid "" +#~ "The file %1\n" +#~ "exists. Do you want to overwrite it?" +#~ msgstr "" +#~ "Plik %1\n" +#~ "istnieje. Czy chcesz go zastąpić?" + +#~ msgid "Overwrite File" +#~ msgstr "Zastąp plik" + +#~ msgid "Overwrite" +#~ msgstr "Zastąp" + +#~ msgid "Using dvipdfm to export the file to PDF" +#~ msgstr "Używanie dvipdfm do eksportu pliku do PDF" + +#~ msgid "" +#~ "Okular is currently using the external program 'dvipdfm' to convert your " +#~ "DVI-file to PDF. Sometimes that can take a while because dvipdfm needs to " +#~ "generate its own bitmap fonts Please be patient." +#~ msgstr "" +#~ "Okular jest w trakcie wykonywania zewnętrznego programu 'dvipdfm' do " +#~ "konwersji pliku DVI do PDF. Czasami może to zająć dłuższą chwilę, " +#~ "ponieważ dvipdfm musi wygenerować własne czcionki bitmapowe. Prosimy o " +#~ "cierpliwość." + +#~ msgid "Waiting for dvipdfm to finish..." +#~ msgstr "Czekanie na zakończenie działania dvipdfm..." + +#~ msgid "*.ps|PostScript (*.ps)" +#~ msgstr "*.ps|PostScript (*.ps)" + +#~ msgid "Using dvips to export the file to PostScript" +#~ msgstr "Używanie dvips do eksportu pliku do PostScriptu" + +#~ msgid "" +#~ "Okular is currently using the external program 'dvips' to convert your " +#~ "DVI-file to PostScript. Sometimes that can take a while because dvips " +#~ "needs to generate its own bitmap fonts Please be patient." +#~ msgstr "" +#~ "Okular jest w trakcie wykonywania zewnętrznego programu 'dvips' w celu " +#~ "dokonania konwersji pliku DVI na PostScript. Czasami może to chwilę zająć " +#~ "ze względu na to, że dvips musi wygenerować własne czcionki bitmapowe. " +#~ "Prosimy o cierpliwość." + +#~ msgid "Waiting for dvips to finish..." +#~ msgstr "Czekanie na zakończenie działania dvips..." + +#~ msgid "Functionality Unavailable" +#~ msgstr "Funkcjonalność niedostępna" + +#~ msgid "" +#~ "File corruption Okular could not interpret your DVI " +#~ "file. This is most commonly caused by a corrupted file." +#~ msgstr "" +#~ "Uszkodzenie pliku Okular nie był w stanie " +#~ "zinterpretować pliku DVI. Najczęściej jest to spowodowane uszkodzeniem " +#~ "pliku." + +#~ msgid "DVI File Error" +#~ msgstr "Błąd pliku DVI" + +#~ msgid "Not All Font Files Found" +#~ msgstr "Nie odnaleziono wszystkich plików czcionek" + +#~ msgid "Locating fonts..." +#~ msgstr "Odnajdowanie czcionek..." + +#~ msgid "" +#~ "

    There were problems running kpsewhich. As a result, some font " +#~ "files could not be located, and your document might be unreadable.

    Possible reason: The kpsewhich program is perhaps not " +#~ "installed on your system, or it cannot be found in the current search " +#~ "path.

    What you can do: The kpsewhich program is normally " +#~ "contained in distributions of the TeX typesetting system. If TeX is not " +#~ "installed on your system, you could install the TeX Live distribution " +#~ "(www.tug.org/texlive). If you are sure that TeX is installed, please try " +#~ "to use the kpsewhich program from the command line to check if it really " +#~ "works.

    " +#~ msgstr "" +#~ "

    Wystąpiły problemy przy uruchamianiu kpsewhich. W rezultacie " +#~ "nie można było odnaleźć niektórych plików czcionek, a dokument może nie " +#~ "nadawać się do odczytu.

    Prawdopodobna przyczyna: Być może " +#~ "nie zainstalowano w systemie programu kpsewhich albo nie ma go na ścieżce " +#~ "wyszukiwania.

    Co można zrobić: Program kpsewhich zwykle jest " +#~ "zawarty w dystrybucji systemu składu tekstu TeX. Jeżeli w Twoim systemie " +#~ "nie ma zainstalowanego TeXa, można zainstalować dystrybucję TeX Live (www." +#~ "tug.org/texlive). Jeśli jesteś pewien, że TeX jest zainstalowany, spróbuj " +#~ "użyć programu kpsewhich z linii poleceń, żeby upewnić się, że zadziała." + +#~ msgid "Problem locating fonts" +#~ msgstr "Problem z odnalezieniem czcionek" + +#~ msgid "Font generation aborted" +#~ msgstr "Generowanie czcionek przerwane" + +#~ msgid "Export: %1 to PDF" +#~ msgstr "Eksport: %1 do PDF" + +#~ msgid "Export: %1 to PostScript" +#~ msgstr "Eksport: %1 do PostScriptu" + +#~ msgid "The fontlist is currently empty." +#~ msgstr "Lista czcionek jest aktualnie pusta." + +#~ msgid "TeX Name" +#~ msgstr "Nazwa TeX" + +#~ msgid "Family" +#~ msgstr "Krój" + +#~ msgid "Zoom" +#~ msgstr "Powiększenie" + +#~ msgid "Type" +#~ msgstr "Typ" + +#~ msgid "Encoding" +#~ msgstr "Kodowanie" + +#~ msgid "Comment" +#~ msgstr "Komentarz" + +#~ msgid "TeX virtual" +#~ msgstr "Wirtualny TeX" + +#~ msgid "TeX Font Metric" +#~ msgstr "Metryka czcionki TeX" + +#~ msgid "FreeType" +#~ msgstr "FreeType" diff --git a/po/pl/okular_epub.po b/po/pl/okular_epub.po new file mode 100644 index 0000000..b4193a7 --- /dev/null +++ b/po/pl/okular_epub.po @@ -0,0 +1,60 @@ +# translation of okular_epub.po to +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Marta Rybczyńska , 2008, 2013. +# Łukasz Wojniłowicz , 2014. +# Ignacy Kajdan , 2020. +msgid "" +msgstr "" +"Project-Id-Version: okular_epub\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-11-24 20:02+0100\n" +"Last-Translator: Ignacy Kajdan \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Marta Rybczyńska, Łukasz Wojniłowicz, Ignacy Kajdan" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" +"kde-i18n@rybczynska.net, lukasz.wojnilowicz@gmail.com, ignacy.kajdan@gmail." +"com" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "Błąd podczas otwierania dokumentu EPUB." + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "EPUB" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "Ustawienia silnika EPUB" + +#~ msgid "EPub Backend" +#~ msgstr "Moduł EPub" + +#~ msgid "An EPub backend" +#~ msgstr "Moduł EPub" + +#~ msgid "© 2008 Ely Levy" +#~ msgstr "© 2008 Ely Levy" + +#~ msgid "Ely Levy" +#~ msgstr "Ely Levy" diff --git a/po/pl/okular_fax.po b/po/pl/okular_fax.po new file mode 100644 index 0000000..06d8623 --- /dev/null +++ b/po/pl/okular_fax.po @@ -0,0 +1,46 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Marta Rybczyńska , 2009. +# Ignacy Kajdan , 2020. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-11-24 20:02+0100\n" +"Last-Translator: Ignacy Kajdan \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Marta Rybczyńska" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde-i18n@rybczynska.net" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "Nie można wczytać dokumentu" + +#~ msgid "Fax Backend" +#~ msgstr "Obsługa faksu" + +#~ msgid "A G3/G4 fax document backend" +#~ msgstr "Obsługa dokumentów faksowych G3/G4" + +#~ msgid "© 2008 Tobias Koenig" +#~ msgstr "© 2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/pl/okular_fictionbook.po b/po/pl/okular_fictionbook.po new file mode 100644 index 0000000..6cd26f0 --- /dev/null +++ b/po/pl/okular_fictionbook.po @@ -0,0 +1,84 @@ +# translation of okular_fictionbook.po to +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Robert Gomulka , 2007, 2008. +# Marta Rybczyńska , 2008, 2013. +# Łukasz Wojniłowicz , 2014. +# Ignacy Kajdan , 2020. +msgid "" +msgstr "" +"Project-Id-Version: okular_fictionbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-11-24 20:03+0100\n" +"Last-Translator: Ignacy Kajdan \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Robert Gomulka, Łukasz Wojniłowicz, Ignacy Kajdan" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "carramba@epf.pl, lukasz.wojnilowicz@gmail.com, ignacy.kajdan@gmail.com" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "Dokument nie jest prawidłowym dokumentem FictionBook" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "Nie można otworzyć dokumentu: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "Dokument nie jest prawidłowym archiwum ZIP" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "Nieprawidłowa struktura dokumentu (brak głównego katalogu)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "Nie znaleziono treści w dokumencie" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "Nieprawidłowy dokument XML: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "FictionBook" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "Ustawienia silnika FictionBook" + +#~ msgid "Fiction Book Backend" +#~ msgstr "Obsługa Fiction Book" + +#~ msgid "A renderer for FictionBook eBooks" +#~ msgstr "Wyświetlanie eksiążek FictionBook" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/pl/okular_ghostview.po b/po/pl/okular_ghostview.po new file mode 100644 index 0000000..c0f6ad1 --- /dev/null +++ b/po/pl/okular_ghostview.po @@ -0,0 +1,95 @@ +# translation of okular_ghostview.po to +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Robert Gomulka , 2007, 2008. +# Maciej Wikło , 2009. +# Łukasz Wojniłowicz , 2014. +# Ignacy Kajdan , 2020. +msgid "" +msgstr "" +"Project-Id-Version: okular_ghostview\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-11-24 20:03+0100\n" +"Last-Translator: Ignacy Kajdan \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Robert Gomulka" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "carramba@epf.pl" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "Użyj czcionek systemowych" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"Określa, czy Ghostscript może używać czcionek systemowych. Jeśli nie, " +"dozwolone będzie używanie tylko czcionek osadzonych w dokumencie." + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "Ustawienia ogólne" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "&Użyj czcionek systemowych" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Ustawienia silnika Ghostscript" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "Wersja dokumentu" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "Poziom języka" + +#~ msgid "PS Backend" +#~ msgstr "Silnik PS" + +#~ msgid "A PostScript file renderer." +#~ msgstr "Generator pliku PostScript." + +#~ msgid "© 2007-2008 Albert Astals Cid" +#~ msgstr "© 2007-2008 Albert Astals Cid" + +#~ msgid "Based on the Spectre library." +#~ msgstr "Oparty o bibliotekę Spectre." + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" diff --git a/po/pl/okular_kimgio.po b/po/pl/okular_kimgio.po new file mode 100644 index 0000000..e417e2a --- /dev/null +++ b/po/pl/okular_kimgio.po @@ -0,0 +1,74 @@ +# translation of okular_kimgio.po to Polish +# translation of okular_kimgio.po to +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Robert Gomulka , 2007. +# Marta Rybczynska , 2009. +# Łukasz Wojniłowicz , 2014, 2017. +# Ignacy Kajdan , 2020. +msgid "" +msgstr "" +"Project-Id-Version: okular_kimgio\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-11-24 20:03+0100\n" +"Last-Translator: Ignacy Kajdan \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Robert Gomulka, Ignacy Kajdan" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "carramba@epf.pl, ignacy.kajdan@gmail.com" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "Nie można wczytać dokumentu: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" +"Ten dokument wygląda na uszkodzony. Oto najlepsze przybliżenie zamierzonego " +"wyglądu dokumentu." + +#~ msgid "Image Backend" +#~ msgstr "Silnik obrazów" + +#~ msgid "A simple image backend" +#~ msgstr "Silnik prostych obrazków" + +#~ msgid "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" +#~ msgstr "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" + +#~ msgid "Main Toolbar" +#~ msgstr "Główny pasek narzędzi" diff --git a/po/pl/okular_markdown.po b/po/pl/okular_markdown.po new file mode 100644 index 0000000..4fb8260 --- /dev/null +++ b/po/pl/okular_markdown.po @@ -0,0 +1,54 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Łukasz Wojniłowicz , 2017, 2018, 2019. +# Ignacy Kajdan , 2020. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-11-24 20:04+0100\n" +"Last-Translator: Ignacy Kajdan \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Łukasz Wojniłowicz" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "lukasz.wojnilowicz@gmail.com" + +#: converter.cpp:59 converter.cpp:93 +#, kde-format +msgid "Failed to open the document" +msgstr "Otwarcie dokumentu nieudane" + +#: converter.cpp:106 converter.cpp:124 +#, kde-format +msgid "Failed to compile the Markdown document." +msgstr "Nie udało się skompilować dokumentu Markdown." + +#: generator_md.cpp:58 +#, kde-format +msgid "Enable SmartyPants formatting" +msgstr "Włącz formatowanie SmartyPants" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown" +msgstr "Markdown" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown Backend Configuration" +msgstr "Ustawienia silnika Markdown" diff --git a/po/pl/okular_mobi.po b/po/pl/okular_mobi.po new file mode 100644 index 0000000..2e4c658 --- /dev/null +++ b/po/pl/okular_mobi.po @@ -0,0 +1,64 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Marta Rybczyńska , 2009, 2013. +# Łukasz Wojniłowicz , 2014. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2014-06-19 18:21+0200\n" +"Last-Translator: Łukasz Wojniłowicz \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Marta Rybczyńska, Łukasz Wojniłowicz" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde-i18n@rybczynska.net, lukasz.wojnilowicz@gmail.com" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Błąd podczas otwierania dokumentu Mobipocket." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "" +"Ta książka jest chroniona mechanizmem DRM i może być wyświetlana tylko na " +"wyznaczonym urządzeniu" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "Mobipocket" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "Ustawienia silnika Mobipocket" + +#~ msgid "Mobipocket Backend" +#~ msgstr "Obsługa Mobipocket" + +#~ msgid "A mobipocket backend" +#~ msgstr "Obsługa mobipocket" + +#~ msgid "© 2008-2009 Jakub Stachowski" +#~ msgstr "© 2008-2009 Jakub Stachowski" + +#~ msgid "Jakub Stachowski" +#~ msgstr "Jakub Stachowski" diff --git a/po/pl/okular_poppler.po b/po/pl/okular_poppler.po new file mode 100644 index 0000000..3911921 --- /dev/null +++ b/po/pl/okular_poppler.po @@ -0,0 +1,433 @@ +# translation of okular_poppler.po to Polish +# translation of okular_poppler.po to +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Robert Gomulka , 2007, 2008. +# Marta Rybczyńska , 2008. +# Marta Rybczynska , 2009. +# SPDX-FileCopyrightText: 2011, 2012, 2013, 2014, 2016, 2018, 2019, 2021, 2023, 2025 Łukasz Wojniłowicz +# Ignacy Kajdan , 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_poppler\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-11-01 10:11+0100\n" +"Last-Translator: Łukasz Wojniłowicz \n" +"Language-Team: pl\n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" +"X-Generator: Lokalize 25.08.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Robert Gomulka, Łukasz Wojniłowicz, Ignacy Kajdan" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "carramba@epf.pl, lukasz.wojnilowicz@gmail.com,ignacy.kajdan@gmail.com" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "Włącz podgląd naddruku:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "Nigdy" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "Zawsze" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "Samoczynnie" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "Polepsz cienkie linie:" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "Nie" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "Wypełnienie" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "Kształt" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "Domyślny tryb skalowania przy drukowaniu" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "Dopasuj do obszaru wydruku" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "Dopasuj na pełną stronę" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "Brak; wydrukuj w pierwotnym rozmiarze" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" +"Zaznaczenie tego pola zezwoli Okularowi na odpytywanie serwerów OCSP stron " +"trzecich, czy certyfikaty użyte do cyfrowego podpisu nie zostały odwołane od " +"czasu ich utworzenia." + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" +"Sprawdź odwołanie certyfikatów cyfrowych podpisów na serwerach stron trzecich" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "Silnik podpisów:" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" +"Te podpisy można sprawdzić tylko w nowym Okularze z włączonym silnikiem GnuPG" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "Zezwól na podpisywanie kluczami PGP (rozszerzenie Okulara)" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "Baza danych certyfikatu" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "Domyślny:" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "Własne:" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "Dostępne certyfikaty" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "&Wczytaj podpisy" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "Ustawienia PDF" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "Drukuj przypisy" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "Uwzględnij przypisy w drukowanym dokumencie" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"Uwzględnia przypisy w drukowanym dokumencie. Możesz to wyłączyć, jeśli " +"chcesz wydrukować oryginalny dokument bez przypisów." + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "Wymuś rasteryzację" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "Rasteryzuj do obrazka przed drukowaniem" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"Wymusza rasteryzację każdej strony do obrazka przed jego drukowaniem. Zwykle " +"daje to trochę gorsze rezultaty, ale jest użyteczne przy pracy z " +"dokumentami, które wyglądają na drukowane niepoprawnie." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "Tryb skalowania dla drukowanych stron" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "Tryb skalowania:" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF v%1.%2" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "Format" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "Tak" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "Nie" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "Zaszyfrowany" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "Tak" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "Zoptymalizowany" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Podpisany przez: %1\n" +"\n" +"Data: %2" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "W użyciu Poppler %1" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" +"W użyciu Poppler %1\n" +"\n" +"Zbudowany przy użyciu Poppler %2" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "Ustawienia silnika PDF" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "Nie udało się zapisać pliku tymczasowego." + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "Nie udało się zmienić nazwy pliku tymczasowego." + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" +"W dokumencie natrafiono na pewne błędy, stąd Okular może nie być w stanie " +"wyświetlić go poprawnie" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" +"Te podpisy działają tylko na nowych Okularach z włączonym silnikiem GnuPG" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "Włącz podpisy PGP" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "Wystawiony dla" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "E-mail" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "Data ważności" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" +"Używasz biblioteki Poppler bez wbudowanej obsługi NSS.\n" +"Z tego powodu dodawanie podpisów cyfrowych nie jest możliwe." + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "ciągle" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "Wymagane ponowne uruchomienie" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "Po zmianie ustawień katalogu NSS, musisz uruchomić Okulara ponownie" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter Password" +msgstr "Wpisz hasło" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "Wpisz hasło, otwierające %1:" + +#~ msgid "Not Available" +#~ msgstr "Niedostępny" + +#~ msgid "Select rasterization to enable this!" +#~ msgstr "Wybierz rasteryzację, aby to włączyć!" + +#~ msgid "PDF Backend" +#~ msgstr "Silnik PDF" + +#~ msgid "A PDF file renderer" +#~ msgstr "Wyświetlanie pliku PDF" + +#~ msgid "© 2005-2008 Albert Astals Cid" +#~ msgstr "© 2005-2008 Albert Astals Cid" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Saving files with /Encrypt is not supported." +#~ msgstr "Zapisywanie plików z /Encrypt nie jest obsługiwane." + +#~ msgid "Unknown" +#~ msgstr "Nieznane" + +#~ msgid "Unknown Date" +#~ msgstr "Nieznana data" + +#~ msgid "Unknown Encryption" +#~ msgstr "Nieznane szyfrowanie" + +#~ msgid "Unknown Optimization" +#~ msgstr "Nieznana optymalizacja" + +#~ msgid "Please enter the password to read the document:" +#~ msgstr "Proszę podać hasło do odczytu dokumentu:" + +#~ msgid "Incorrect password. Try again:" +#~ msgstr "Hasło niepoprawne. Proszę spróbować jeszcze raz:" diff --git a/po/pl/okular_tiff.po b/po/pl/okular_tiff.po new file mode 100644 index 0000000..a8b1711 --- /dev/null +++ b/po/pl/okular_tiff.po @@ -0,0 +1,28 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Łukasz Wojniłowicz , 2021. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2021-01-23 07:38+0100\n" +"Last-Translator: Łukasz Wojniłowicz \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Łukasz Wojniłowicz" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "lukasz.wojnilowicz@gmail.com" diff --git a/po/pl/okular_txt.po b/po/pl/okular_txt.po new file mode 100644 index 0000000..f8363f8 --- /dev/null +++ b/po/pl/okular_txt.po @@ -0,0 +1,51 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Łukasz Wojniłowicz , 2014. +# Ignacy Kajdan , 2020. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-11-24 20:05+0100\n" +"Last-Translator: Ignacy Kajdan \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Łukasz Wojniłowicz, Ignacy Kajdan" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "lukasz.wojnilowicz@gmail.com, ignacy.kajdan@gmail.com" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "Tekst" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "Ustawienia silnika tekstu" + +#~ msgid "Txt Backend" +#~ msgstr "Silnik tekstowy" + +#~ msgid "Txt backend." +#~ msgstr "Silnik tekstowy." + +#~ msgid "© 2013 Azat Khuzhin" +#~ msgstr "© 2013 Azat Khuzhin" + +#~ msgid "Azat Khuzhin" +#~ msgstr "Azat Khuzhin" diff --git a/po/pl/okular_xps.po b/po/pl/okular_xps.po new file mode 100644 index 0000000..9cab9da --- /dev/null +++ b/po/pl/okular_xps.po @@ -0,0 +1,59 @@ +# translation of okular_xps.po to +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Robert Gomulka , 2007, 2008. +# Maciej Wikło , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_xps\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-11-15 15:29+0100\n" +"Last-Translator: Maciej Wikło \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Robert Gomulka" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "carramba@epf.pl" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "Wersja" + +#~ msgid "XPS Backend" +#~ msgstr "Silnik XPS" + +#~ msgid "An XPS backend" +#~ msgstr "Jeden z silników XPS" + +#~ msgid "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" +#~ msgstr "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" + +#~ msgid "Brad Hards" +#~ msgstr "Brad Hards" + +#~ msgid "Jiri Klement" +#~ msgstr "Jiri Klement" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" diff --git a/po/pl/org.kde.active.documentviewer.po b/po/pl/org.kde.active.documentviewer.po new file mode 100644 index 0000000..d3b939c --- /dev/null +++ b/po/pl/org.kde.active.documentviewer.po @@ -0,0 +1,234 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# SPDX-FileCopyrightText: 2012, 2016, 2018, 2019, 2021, 2022, 2024, 2025 Łukasz Wojniłowicz +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-11-01 10:12+0100\n" +"Last-Translator: Łukasz Wojniłowicz \n" +"Language-Team: pl\n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" +"X-Generator: Lokalize 25.08.2\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "Zakładki" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "Przeglądarka certyfikatów" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "Wydany przez" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "Nazwa zwyczajowa:" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "E-Mail:" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "Organizacja" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "Wydany dla" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "Ważność" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "Wydano dnia:" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "Wygasa dnia:" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "Odciski cyfrowe" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "Cyfrowy odcisk SHA-1" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "Cyfrowy odcisk SHA-256" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +msgid "Export…" +msgstr "Wyeksportuj…" + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "Zamknij" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "Plik certyfikatu (*.cer)" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "Błąd" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "Nie można wyeksportować certyfikatu." + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "Okular" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "Otwórz…" + +#: ui/Main.qml:49 +msgid "About" +msgstr "O programie" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "Wymagane hasło" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "Usuń zakładkę" + +#: ui/MainView.qml:29 +msgid "Bookmark this page" +msgstr "Dodaj tę stronę do zakładek" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "Miniatury" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "Spis treści" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "Podpisy" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "Właściwości sygnatury" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "Stan ważności" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "Ważność podpisu:" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "Zmiany w dokumencie:" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "Dodatkowe informacje" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "Podpisano przez:" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "Czas podpisania:" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "Powód:" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "Miejsce:" + +#: ui/SignaturePropertiesPage.qml:96 +msgid "Document Version" +msgstr "Wersja dokumentu" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Korekta dokumentu %1 z %2" + +#: ui/SignaturePropertiesPage.qml:108 +msgid "Save Signed Version…" +msgstr "Zapisz podpisaną wersję…" + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +msgid "View Certificate…" +msgstr "Obejrzyj certyfikat…" + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "Nie udało się zapisać podpisu." + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "Niedostępne" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "Brak wyników." + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "Nie otwarto żadnego dokumentu" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "Ostatnie dokumenty" + +#: ui/WelcomeView.qml:108 +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "Moje dokumenty" + +#~ msgid "Open..." +#~ msgstr "Otwórz..." + +#~ msgid "Search..." +#~ msgstr "Szukaj..." + +#~ msgid "" +#~ "No Documents found. To start to read, put some files in the Documents " +#~ "folder of your device." +#~ msgstr "" +#~ "Nie znaleziono dokumentów. Aby zacząć czytać, umieść pliki w katalogu " +#~ "dokumentów twojego urządzania." + +#~ msgid "Document viewer for Plasma Active using Okular" +#~ msgstr "Przeglądarka dokumentów dla Plasma Active używająca Okulara" + +#~ msgid "Reader" +#~ msgstr "Czytnik" + +#~ msgid "Copyright 2012 Marco Martin" +#~ msgstr "Prawa autorskie 2012 Marco Martin" + +#~ msgid "Marco Martin" +#~ msgstr "Marco Martin" + +#~ msgid "URL of the file to open" +#~ msgstr "Adres URL pliku do otwarcia" diff --git a/po/pt/docs/okular/index.docbook b/po/pt/docs/okular/index.docbook new file mode 100644 index 0000000..577b4d7 --- /dev/null +++ b/po/pt/docs/okular/index.docbook @@ -0,0 +1,3385 @@ + +ATEX"> + KPDF"> + + +]> + + + + O Manual do &okular; + + Albert Astals Cid

    &Albert.Astals.Cid.mail;
    + + + Pino Toscano
    pino@kde.org
    +
    +
    + JoséPires
    zepires@gmail.com
    Tradução
    + + &FDLNotice; + 2016-11-04 + 1.0 (Aplicações 16.12) + + + O &okular; é um visualizador de PDFs para o &kde; baseado em código do &kpdf;. + + + KDE + okular + pdf + ps + postscript + tiff + djvu + dvi + chm + xps + comicbook + fictionbook + mobipocket + plucker + anotação + + + + Introdução + O &okular; é um visualizador de PDF's do &kde;, baseado no código do &kpdf;. Ainda que se baseie no código desta aplicação, o &okular; tem algumas funcionalidades únicas, como o modo contínuo, o suporte para apresentações e o suporte para anotações. + O &okular; suporta um conjunto de formatos diferentes, como o &PDF;, &PostScript;, Tiff, CHM, DjVU, Imagens (png, jpg, &etc;) XPS, Open Document (ODT), Livros de Banda Desenhada, Plucker, EPub e Fax. Para todos os formatos suportados, bem como as suas funcionalidades, veja as Rotinas de Tratamento dos Formatos de Documentos do &okular;. + + Janela Principal do &okular; + + + + + + Janela Principal do &okular; + + + + + + Utilização Básica + + Abrir Ficheiros + Para ver qualquer ficheiro suportado no &okular;, seleccione a opção FicheiroAbrir... , escolha um ficheiro que seja suportado na janela e carregue em Abrir. O seu ficheiro deverá agora estar presente na janela principal. + + O novo documento será aberto numa página nova, no caso de a opção Abrir os ficheiros novos em páginas, na página de configuração Geral, estar assinalada. + + Se já tiver aberto ficheiros anteriormente no &okular;, poderá aceder rapidamente a estes, seleccionando-os na opção FicheiroAbrir um Recente. + O &okular; é a aplicação predefinida do &kde; para os ficheiros &PDF; e &PostScript;, sendo invocada quando carrega com o &LMB; num desses tipos de ficheiros no gestor de tarefas. Se quiser abrir qualquer ficheiro cujo formato seja suportado pelo &okular;, use a opção Abrir com...&okular; , no menu de contexto, do gestor de ficheiros. + Após ter aberto um ficheiro, poderá querer lê-lo e, como tal, navegar por ele. Vá para a secção seguinte para saber mais sobre o assunto. + + + Navegação + Esta secção descreve como pode navegar num documento no &okular;. + Existem várias formas de se deslocar pela área de visualização. Uma delas é deslocar-se para cima e para baixo com as teclas de cursores Cima e Baixo, usando a roda do rato, carregando em &LMB; e arrastando o rato, enquanto está no modo normal, ou usando as teclas Page Up e Page Down. + Também poderá usar as teclas de navegação do vim, nomeadamente o H para ir para o topo da página anterior, o L para ir para o topo da página seguinte, o J para descer uma linha e o K para subir uma linha também. + Outra forma é manter o &LMB; carregado em qualquer local do documento, enquanto arrasta o rato na direcção oposta que deseja mover. Este procedimento só funciona se a Ferramenta de Navegação estiver activa, ferramenta esta que pode ser seleccionada na opção FerramentasFerramenta de Navegação. + + Ao ver um documento no modo de Apresentação, use as teclas de cursores Cima e Baixo para mudar de páginas ou 'slides'. O número e a posição do 'slide' actual serão apresentados na camada do canto superior direito do ecrã. + + Se quiser ler um documento com várias páginas, use a funcionalidade de deslocamento automático do &okular;. Inicie o deslocamento automático com as teclas &Shift;Baixo ou &Shift;Cima. Depois, use essas teclas para aumentar e diminuir a velocidade do deslocamento. Poderá iniciar ou parar o deslocamento automático temporariamente, usando a tecla &Shift;; carregue noutra tecla qualquer para desactivar esta funcionalidade. + Outra forma de navegar pelas várias páginas é usando o cursor do rato. Arraste a página para cima ou para baixo, continuando a arrastar até atingir o fundo ou o topo do ecrã. Assim que passar os limites de uma página, o cursor do rato aparece no topo ou no fundo do ecrã de novo, podendo continuar o arrastamento. + O painel de navegação à esquerda do ecrã activa ainda mais duas formas de navegar por um documento: + + + Se carregar numa miniatura de página, a área de visualização ficará aberta com essa página. + + + Se o documento tiver um índice, ao carregar num item do mesmo irá abrir o documento na página associada a esse item. + + + Se o documento tiver camadas, poderá controlar a sua visibilidade, marcando ou desmarcando os itens na lista Camadas. + + + Se o documento tiver favoritos, active a área de Favoritos e carregue nos mesmos para ir para a página associada. Se os favoritos não forem só visíveis para o documento actual, poderá mudar rapidamente para os favoritos de todos os ficheiros abertos recentemente. + + + Se o documento tiver anotações, active a área de Revisões e carregue nas anotações ou seleccione-as com as teclas de cursores Cima e Baixo, carregando depois em Return para ir para a página associada. + + + Alguns documentos têm hiperligações. Neste caso, poderá carregar nestas para que a visualização mude para a página referenciada. Se a ligação for para uma página Web ou para outro documento, o responsável por omissão por esse formato no &kde; será invocado. Por exemplo, se carregar numa ligação que aponta para http://www.kde.org, irá abrir a página Web no navegador Web por omissão do &kde;. + + As ligações internas do documento só funcionam quando é usada a Ferramenta de Navegação. + + Para além disso, poderá usar a funcionalidade seguinte para se mover rapidamente para locais específicos do documento: + + + Poderá ir para a primeira página do documento com a combinação de teclas &Ctrl;Home ou usando a opção Ir Início do Documento . + + + Poderá ir para a última página do documento com a combinação de teclas &Ctrl;End ou usando a opção Ir Fim do Documento . + + + Poderá ir para a próxima página do documento com a tecla Espaço, Page Down, o botão da barra de ferramentas Página Seguinte ou usando a opção do menu Ir Página Seguinte . + + + Poderá recuar no documento com a tecla &Backspace; ou Page Up. Para ir para a página anterior do documento, use o botão da barra de ferramentas Página Anterior ou usar a opção do menu Ir Página Anterior . + + + Poderá recuar para as posições no documento de onde veio por ordem cronológica. Considere ⪚ ler a frase Como apresentado em [15], … e quer consultar rapidamente a referência [15]. Para tal, pode carregar na mesma, para que o &okular; salte para a lista de referências. Se usar &Alt;&Shift;Esquerda ou Ir Recuar no menu, irá voltar exactamente para a posição de onde veio. + + + Poderá avançar no documento, após ter recuado, com a combinação de teclas &Alt;&Shift;Direita ou usando a opção Ir Avançar . + + + Poderá ir para a ocorrência seguinte ao pesquisar com a tecla F3 ou &Enter; (quando o campo de texto Procurar estiver em primeiro plano) ou a opção Editar Procurar o Seguinte ou para a anterior com as teclas &Shift;F3, &Shift; &Enter; (quando o campo de texto Procurar estiver em primeiro plano) ou Editar Procurar o Anterior . + + + + + Modo de Apresentação + O modo de apresentação poderá ser activado na opção de menu VerApresentação. Ele mostra o documento página-a-página. As páginas são mostradas com uma ampliação sobre a página, o que significa que toda a página se encontra visível. + + Os documentos &PDF; podem até indicar se são sempre abertos no modo de apresentação. + + No modo de apresentação, você tem uma barra auxiliar no topo do ecrã. Basta mover o cursor do rato para o topo do ecrã, para que esta barra apareça. + + O &okular; no Modo de Apresentação + + + + + + O &okular; no Modo de Apresentação + + + + Para navegar pelas páginas, poderá usar o &LMB; (página seguinte) e o &RMB; (página anterior), a roda do rato, os ícones das setas que aparecem quando passa o rato pelo topo do ecrã ou as teclas indicadas na secção de Navegação. + Use o botão Reproduzir/Pausar na barra de topo para iniciar a reprodução da apresentação ou para a pausar, respectivamente. + Poderá sair do modo de apresentação em qualquer altura se carregar na tecla &Esc; ou se carregar no ícone Sair que aparece na barra de topo. + Pode também desenhar na página actual com um lápis. Carregue no ícone Comutar o Modo de Desenho na barra superior para activar ou desactivar a possibilidade de desenhar no modo de apresentação. Os desenhos são limpos automaticamente ao mudar para outra página ou se seleccionar manualmente o ícone Apagar os Desenhos na barra superior. + O modo de apresentação tem suporte para mais de um ecrã, numa configuração de vários ecrãs. Com mais de um ecrã, irá aparecer um novo botão na barra superior, com o ícone de um ecrã: esta é uma lista que lhe permite enviar a apresentação para qualquer um dos outros ecrãs disponíveis. + O modo de apresentação tem algumas opções de configuração, das quais poderá descobrir o seu significado em Configurar o &okular;. + + + + Pesquisa Inversa Entre os Editores de &latex; e o &okular; + + A pesquisa inversa é uma funcionalidade muito útil quando estiver a escrever um documento em &latex;. Se tudo estiver configurado adequadamente, poderá carregar na janela do &okular; com o botão esquerdo do rato enquanto carrega no &Shift;. Depois de esse editor carregar o ficheiro de código em &latex;, irá saltar para o parágrafo adequado. + + A pesquisa inversa não poderá funcionar a menos que: + + + O ficheiro de código tenha sido compilado com sucesso. + O &okular; saiba qual o editor que desejaria usar. + A Ferramenta de Navegação tem de estar activa, podendo depois ser seleccionada na opção FerramentasFerramenta de Navegação. + + + Com esta funcionalidade do &okular;, ao carregar com o botão esquerdo do rato ao mesmo tempo que o &Shift; no documento &DVI; ou &PDF;, fará com que abra o documento correspondente em &latex; e tente ir para a linha correspondente. Lembre-se de indicar ao &okular; para usar um editor adequado, no item de menu do &okular; ConfiguraçãoConfigurar o Okular... (na página Editor). + + Para mais detalhes sobre a configuração do editor, por favor consulte a secção correspondente deste manual. + + + Configurar o &okular; + + + + + + Configurar o editor no &okular; + + Configurar o editor no &okular; + + + + + + + Funcionalidades Avançadas do &okular; + + Ficheiros Incorporados + Se o documento actual tiver alguns ficheiros incorporados dentro dele, ao abri-lo irá aparecer uma barra amarela sobre a visualização da página, notificando-o dos ficheiros incorporados. + + A janela de ficheiros incorporados + + + + + + A janela de ficheiros incorporados + + + + Nesse caso, poderá tanto carregar na ligação do texto da barra ou escolher a opção FicheiroFicheiros Incorporados para abrir a janela dos ficheiros incorporados. Esta janela permite-lhe ver os ficheiros incorporados e extraí-los. + + + Formulários + Se o documento actual tiver formulários, ao abri-lo irá aparecer uma barra amarela sobre a visualização da página para os poder activar. + + A barra de formulários + + + + + + A barra de formulários + + + + Nesse caso, poderá tanto carregar em Mostrar os Formulários, na barra, como escolher a opção VerMostrar os Formulários para introduzir dados nos campos dos formulários. + + + Anotações + O &okular; permite-lhe rever e anotar os seus documentos. As anotações criadas no &okular; são gravadas internamente, na pasta de dados local de cada utilizador. O &okular; não muda implicitamente nenhum dos documentos que abre. + + Anotações do &okular; + + + + + + Anotações do &okular; + + + + O &okular; tem dois tipos de anotações: + As anotações de texto, como o Realce a Amarelo e o Sublinhado a Preto para os ficheiro de texto como ⪚ &PDF;. + As anotações gráficas, como as Notas de Atenção, Notas Incorporadas, Linhas à Mão-Livre, Linhas Rectas, Polígonos, Carimbos, Sublinhados e Elipses para todos os formatos suportados pelo &okular;. + Se usar o menu de contexto, quer na área de Revisões do painel de navegação quer na janela principal, poderá abrir uma Nota Instantânea para os vários tipos de anotações e adicionar ou editar os comentários. + As anotações não estão só limitadas aos ficheiros &PDF;, podendo ser usadas para qualquer formato que o &okular; suporta. + Desde o &kde; 4.2, o &okular; tem a funcionalidade de "pacote de documento". Este é um formato específico do &okular; para transportar o documento em conjunto com os vários meta-dados associados a ele (de momento, apenas as anotações). Poderá guardar um "pacote de documento" para o documento aberto, escolhendo a opção FicheiroExportar ComoPacote de Documento. Para abrir um pacote de documento do &okular;, basta abri-lo com o &okular; como se fosse ⪚ um documento &PDF;. + Desde o &okular; 0.15, pode também gravar as anotações directamente nos ficheiros &PDF;. Esta funcionalidade só está disponível se o &okular; tiver sido compilado com a versão 0.20 ou posterior da biblioteca de desenho Poppler. Poderá usar a opção Ficheiro Gravar Como... para gravar a cópia do ficheiro &PDF; com as anotações. + + Não é possível gravar as anotações no ficheiro &PDF; se o original estiver encriptado e se o &okular; usar uma versão das bibliotecas do Poppler inferior à 0.22. + + + Se abrir um &PDF; com anotações existentes, as suas alterações das anotações não são gravadas na pasta local de dados internos, tendo você de gravar o documento modificado (usando a opção FicheiroGravar Como...) antes de o fechar. Caso se esqueça de o fazer, o &okular; irá mostrar uma janela de confirmação que lhe permite gravar o documento. + + + + Devido a limitações do DRM (tipicamente com os documentos &PDF;), a adição, edição ou remoção de propriedades e anotações poderá não ser possível. + + + Qualquer acção sobre as anotações (criação e remoção de anotações, edição de propriedades adicionais das anotações, mudanças de posição com o &Ctrl;+arrastamento ou a edição do conteúdo de texto de uma anotação) poderão ser anuladas ou refeitas com o item correspondentes do menu Editar. Também é possível desfazer a acção ao carregar em &Ctrl;Z e refazer a mesma ao carregar em &Ctrl;&Shift;Z. + + Desde o &okular; 0.17, pode configurar as propriedades e a aparência predefinidas de cada ferramenta de anotações. Por favor consulte a secção correspondente deste manual. + + Adicionar anotações + Para adicionar algumas anotações ao documento, terá de activar a barra de anotações. Isso é feito ao seleccionar a opção FerramentasRever ou carregando em F6. Logo que tenha a barra de anotações, basta carregar num dos seus botões ou usar os atalhos de teclado (teclas de 1 a 9) para começar a construir essa anotação. + A barra de anotações ajuda-o a fazer anotações com desenhos, formas e mensagens de texto. Poderá usar a barra de anotações para marcar um documento (⪚ adicionar linhas, elipses, polígonos, carimbos, realces, sublinhados, &etc;). A tabela abaixo descreve exactamente o que o conjunto de botões predefinido faz. + + + + + Botão + Nome da Ferramenta + Descrição + + + + + + + + + + + + + + + Nota de Atenção + + + Desenhar uma nota em várias linhas. A nota poderá ser vista se fizer duplo-click sobre um ícone do documento. + Carregue no botão da ferramenta e depois no local do documento onde deverá adicionar a nota. Indique o texto da nota e depois carregue no botão Fechar esta nota no canto superior direito da janela. + + + + + + + + + + + + + + Nota Incorporada + + + Desenhar uma nota incorporada. A nota será apresentada deste modo no documento. + Carregue no botão da ferramenta e depois com o &LMB; para colocar o canto superior esquerdo da nota; depois arraste para colocar o canto inferior direito. Indique o texto da nota e depois carregue em OK para gravar a nota, em Cancelar para cancelar a introdução da nota ou em Limpar para a limpar. + + + + + + + + + + + + + + Linha Livre + + + Desenhar linhas à mão livre. + Carregue no botão da ferramenta e depois carregue com o &LMB; para colocar o início da linha; depois arraste para desenhar a linha. + + + + + + + + + + + + + + Realce + + + Para realçar o texto no documento com alguma cor de fundo indicada. + Carregue no botão da ferramenta e depois carregue com o &LMB; para colocar o início do texto a realçar; depois, arraste para o realçar. + + + + + + + + + + + + + + Linha Recta + + + Para marcar com uma linha. + Carregue no botão da ferramenta e depois carregue com o &LMB; para colocar o ponto inicial da linha; depois, arraste para colocar o ponto final da linha, carregando uma vez mais. + + + + + + + + + + + + + + Polígono + + + Para desenhar uma figura plana fechada com três ou mais segmentos. A nota correspondente poderá ser vista se fizer duplo-click dentro do polígono. + Carregue no botão da ferramenta e depois com o &LMB; para colocar o primeiro vértice do polígono, depois arraste para colocar o segundo vértice. Continue até que tenha desenhado todo o polígono até ao primeiro vértice. Carregue duas vezes se quiser adicionar alguma nota ao polígono. Indique o texto da nota e depois carregue em OK para gravar a nota, em Cancelar para cancelar a introdução da nota ou em Limpar para limpar o texto. + + + + + + + + + + + + + + Carimbo + + + Para marcar o texto ou imagem com alguma forma predefinida. + Carregue no botão da ferramenta e depois no &LMB; para colocar o carimbo. + Ao usar os carimbos, basta carregar uma vez para colocar um selo quadrado (útil para os ícones). Para adicionar um carimbo rectangular, poderá carregar com o &LMB; e mantê-lo carregado para colocar o ponto superior esquerdo, arrastando depois para colocar o inferior direito. + + + + + + + + + + + + + + Sublinhado + + + Para sublinhar algum texto. + Carregue no botão da ferramenta e depois com o &LMB; para definir o início do excerto de texto sublinhado; depois arraste-o para o sublinhar. + + + + + + + + + + + + + + Elipse + + + Para desenhar uma elipse em torno de uma dada área escolhida. + Carregue no botão da ferramenta e depois com o &LMB; para definir o canto superior-esquerdo do rectângulo circunscrito da elipse; depois arraste para definir o canto inferior-direito. + + + + + + O conteúdo da barra de anotações pode ser configurado com a página de Anotações da janela de configuração do &okular;. Esta página pode ser aberta com o &RMB; se carregar na barra de anotações e depois escolher Configurar as Anotações... no menu de contexto. + Com um pressionar único do &LMB;, carregue no botão de uma animação que possa usar. Se ⪚ quiser realçar todas as partes importantes de um texto, active essa ferramenta de forma permanente, fazendo duplo-click sobre o botão da ferramenta. Carregue na tecla Esc ou no botão da ferramenta de novo para sair do modo permanente. + + A barra de anotações poderá ser acoplada a qualquer lado da área da página: basta arrastá-la para a mover para outro local. + + + Se activar a barra de anotações, fará com que mude para o Modo de Navegação. + + Poderá interromper a construção em qualquer altura, carregando de novo no botão da anotação que estiver a construir, ou carregando na tecla &Esc;. + A anotação acabada de construir terá como autor o que você tiver definido na secção de Anotações da configuração do &okular;. A página de Anotações também pode ser usada para configurar o conteúdo da barra de anotações. + + + Remover anotações + Para remover uma anotação, basta carregar nela com o &RMB; e seleccionar a opção Apagar. + Ao remover a anotação, a sua janela será fechada, se estiver aberta. + + Esta opção poderá não estar activada, se o documento não permitir a remoção das anotações. + + + + Editar as anotações + Para editar uma anotação, carregue nela com o &RMB; e seleccione as Propriedades. Irá aparecer uma janela com a configuração geral da anotação (como as cores e opacidade, o autor, &etc;), assim como a configuração específica desse tipo de anotação. + + Janela de Propriedades das Anotações + + + + + + Janela de Propriedades das Anotações + + + + Para mover uma anotação, mantenha carregada a tecla &Ctrl;, mova o cursor do rato para esta e depois comece a arrastar com o &LMB;. + + Dependendo das permissões do documento (tipicamente com os documentos &PDF;), algumas das opções poderão estar desactivadas. + + + + + Gestão de Favoritos + O &okular; tem um sistema de marcação de favoritos muito flexível. O &okular; guarda a posição em plena página no favorito e permite-lhe definir mais que um favorito por página. + Para gerir os favoritos no &okular;, poderá usar a área de Favoritos no Painel de Navegação, no menu de Favoritos ou no menu de contexto da área do documento (carregue com o &RMB; para o abrir). + + Área de favoritos + Para abrir a área de Favoritos, carregue no item Favoritos do Painel de Navegação. Se o Painel de Navegação não estiver visível, use a opção do menu F7 ConfiguraçãoMostrar o Painel de Navegação para o tornar visível. + + Menu de contexto da área de favoritos + + + + + + Menu de contexto da área de favoritos + + + + A barra de filtragem no topo da área de Favoritos pode ser usada para filtrar o conteúdo da lista de favoritos de acordo com o texto no campo. + A área da lista permite ver a lista de favoritos num formato em árvore: cada documento da lista pode ser expandido ou recolhido se carregar nos ícones < ou v próximos dele. + Carregue no ícone abaixo da lista para mostrar apenas os favoritos do documento actual. + O menu do botão direito para o item do documento pode ser usado para abrir um documento, mudar o seu nome ou removê-lo da lista. Lembre-se que a remoção de um item de documento conduz à remoção de todos os favoritos no documento correspondente. + Os menus do botão direito para os itens de favoritos individuais permitem-lhe ir para a posição do favorito, mudar o seu nome ou removê-lo. + + + + + Opções da Linha de Comandos + Ainda que o &okular; seja mais frequentemente iniciado a partir do menu de programas do &kde; ou de um ícone no ecrã, poderá também ser aberto a partir da linha de comandos de um terminal. Existem algumas opções úteis disponíveis ao fazer isto. + + Indicar um Ficheiro + Ao indicar o nome e a localização de um dado ficheiro em particular, o utilizador poderá ter o &okular; a abrir esse ficheiro imediatamente no arranque. Esta opção será algo como a seguinte: + % okular + + + Para os documentos em &PDF;, o nome também poderá ser indicado como nome_documento#destino_com_nome, onde o destino_com_nome é um dado destino em particular que está incorporado no documento. + + + + Outras Opções da Linha de Comandos + De momento, estão disponíveis as seguintes opções da linha de comandos: + + + okular + Abre a página com o número indicado no documento. Também está disponível a partir de okular + + + okular + Inicia o documento no modo de apresentação. + + + okular + Inicia com a janela de impressão. + + + okular + Controlo de instâncias únicas. + + + okular + Permite apresentar a janela do &okular; a elevar-se após o início. + + + + + + Ajustar a janela à página + A funcionalidade de ajuste da janela à página dimensiona a janela, de forma que fique exactamente com o mesmo tamanho da página no factor de ampliação actual. Se a página não couber por completo no ecrã, a janela é aumentada para que a maior parte possível da página fique visível. + Esta funcionalidade poderá ser acedida com a combinação de teclas &Ctrl;J + + + + + A Barra de Menu + + + O Menu Ficheiro + + + + &Ctrl;O Ficheiro Abrir... + + + Abre um ficheiro ou pacote suportado pelo &okular;. Se já existir um ficheiro aberto, este será fechado. Para mais informações, veja a secção sobre como Abrir Ficheiros. + + + + + + Ficheiro Abrir um Recente + + + Abre um ficheiro que foi usado anteriormente num submenu. Se já estiver um ficheiro em visualização, será fechado. Para mais informações, veja a secção sobre como Abrir Ficheiros. + + + + + + Ficheiro Importar o PostScript como &PDF;... + + + Abre um ficheiro &PostScript; e converte-o para &PDF;. + + + + + + &Ctrl;S Ficheiro Gravar Como... + + + Grava o ficheiro aberto de momento com um nome diferente, incluindo todas as alterações (anotações, conteúdos de formulários, &etc;), desde que a infra-estrutura de documentos suporte a gravação das alterações. Com a infra-estrutura de &PDF; (é necessário o Poppler +>= 0.8), é possível gravar o documento com os valores alterados dos campos do formulário. Pode ser possível (se os dados não estiverem encriptados ou protegidos por DRM) gravar as anotações com os ficheiros &PDF;. + + De notar que, devido à forma como isto é implementado, mesmo que não existam alterações no ficheiro, o novo ficheiro não precisa de ser uma cópia exacta, 'bit' a 'bit', do ficheiro original (⪚ poderá ter um código SHA-1 diferente, &etc;). + + + + + + + &Ctrl;&Shift;S Ficheiro Gravar a Cópia Como... + + + Grava uma cópia do ficheiro aberto actualmente com outro nome, sem usar a infra-estrutura actual do documento. O documento gravado será uma cópia 'bit' a 'bit' do original. + + + + + + F5 Ficheiro Recarregar + + + Grava o ficheiro aberto actualmente. + + + + + + &Ctrl;P Ficheiro Imprimir... + + + Imprime o documento mostrado actualmente. + + + + + + Ficheiro Antevisão da Impressão... + + + Mostra uma antevisão sobre a forma como o documento visível de momento será impresso com as opções predefinidas. + + + + + + Ficheiro Propriedades + + + Mostra algumas informações básicas sobre o documento, como o título, o autor, a data da criação e alguns detalhes sobre os tipos de letra usados. A informação disponível depende do tipo de documento. + + + + + Ficheiro Ficheiros Incorporados... + + + Mostra os ficheiros incorporados no documento, se este tiver alguns. Para mais informações, veja a secção acerca dos Ficheiros Incorporados. + + + + + + Ficheiro Exportar Como + + + Este item contém os formatos de exportação para os quais o documento actual poderá ser convertido. O primeiro item para todo o tipo de documentos é sempre o Texto Simples.... + O segundo item é o Pacote do Documento, que lhe permite gravar o documento, com as suas anotações, num formato de pacote específico do &okular;. Deste modo, é facilmente possível partilhar o documento original e as suas anotações com os outros utilizadores do &okular; ou trabalhar com eles de forma colaborativa. + + + + + + &Ctrl;Q Ficheiro Sair + + + Fecha o &okular;. + + + + + + + O Menu Editar + + + + + &Ctrl;Z Editar Desfazer + + + Desfaz o último comando de edição de anotações (criação, remoção, edição das suas propriedades, mudança de posição com &Ctrl;+arrastamento e edição do conteúdo de texto). + + + + + + &Ctrl;&Shift;Z Editar Refazer + + + Repete o último passo anulado ao editar as anotações. + + + + + + + + &Ctrl;C Editar Copiar + + + Copia o texto seleccionado de momento no modo de Selecção de Texto para a área de transferência. + + + + + + + + &Ctrl;A Editar Seleccionar Tudo + + + Selecciona todo o texto (se o documento o providenciar). Isto só funciona no modo de Selecção de Texto. + + + + + + + + &Ctrl;F Editar Procurar... + + + Mostra a barra de pesquisa no fundo da área de visualização, permitindo-lhe procurar uma determinada sequência de texto no documento. + + + + + + F3 Editar Procurar o Seguinte + + + Volta a procurar o texto procurado antes. + + + + + + &Shift;F3 Editar Procurar Anterior + + + Vai para a ocorrência anterior do texto de procura no documento. + + + + + + + O Menu Ver + + + + &Ctrl;&Shift;P Ver Apresentação + + + Activa o modo de apresentação. + + + + + &Ctrl;+ Ver Ampliar + + + Aumenta a escala de ampliação da janela do documento. + + + + + + &Ctrl;- Ver Diminuir + + + Diminui a escala de ampliação da janela do documento. + + + + + Ver Ajustar à Largura + + + Altera a ampliação da janela do documento, de modo que a largura das páginas ocupe todo o espaço de visualização. + + + + + Ver Ajustar à Página + + + Altera a ampliação da janela do documento, de modo que a página ocupe todo o espaço de visualização. + + + + + Ver Ajuste Automático + + + Altera a ampliação da área do documento para um valor que, dependendo da relação de tamanho entre a página e a área de visualização, transforme automaticamente a largura das páginas igual à largura da área do documento (como o ajuste à página), a altura das páginas igual à altura da área do documento (como o ajuste à altura) ou então ter toda a página visível (como o ajuste à página). + + + + + Ver Contínuo + + + Activa o modo de páginas contínuas. No modo contínuo, todas as páginas do documento se encontram visíveis, e podê-las-á percorrer sem ter de usar as opções Ir Página Anterior e IrPágina Seguinte . + + + + + Ver Modo de Visualização + + + Este submenu permite-lhe mudar o modo de visualização das páginas. As opções possíveis são: Página Única (apenas uma página por linha), Páginas em Face (duas páginas por linha, como num livro), Páginas em Face (Centrar a Primeira Página) e Visão Geral (o número de colunas corresponde ao indicado na configuração do &okular;). + + + + + Ver Orientação + + + Este submenu permite-lhe mudar a orientação das páginas do documento. + + A rotação é aplicada à orientação de todas as páginas. + + Pode seleccionar a Orientação Original para repor a orientação do documento, eliminando todas as rotações aplicadas manualmente. + + + + + Ver Tamanho da Página + + + Modifica o tamanho das páginas do documento. + + Este submenu só está activo se o tipo actual do documento suportar diferentes tamanhos de papel. + + + + + + Ver Recortar a Vista + + + Este submenu permite-lhe remover o contorno branco das páginas ao vê-las (item Recortar as Margens) ou recortar a área de visualização à selecção (item Recortar à Selecção). + O modo recortar à selecção permite-lhe desenhar uma selecção sobre a página desenhada para poder definir uma área envolvente visível que possa ser aplicada em todas as páginas no documento. A selecção de uma minúscula área envolvente obriga a um tamanho de dimensões mínimas (20% como uma percentagem do tamanho total da página). + O modo recortar as margens é persistente entre novos reinícios do &okular;. O modo recortar à selecção é esquecido entre reinícios do &okular;. + Quando mudar o &okular; do modo recortar as margens para o recortar à selecção, o visualizador sai do modo de recortar as margens para a interacção da selecção da área envolvente. + O modo de recorte poderá ser desactivado se seleccionar o mesmo item do menu que o activa uma vez mais. + + + + + Ver Mostrar/Esconder os Formulários + + + Mostra ou esconde a apresentação dos campos dos formulários do documento. + + Este item do menu só está activo se o tipo actual do documento suportar campos de formulários. + + + + + + + + + O Menu Ir + + + + Ir Página Anterior + + + Vai para a página anterior do documento. + + + + + Ir Página Seguinte + + + Vai para a última página do documento. + + + + + &Ctrl; Home Ir Início do Documento + + + Vai para o início do documento. + + + + + &Ctrl; End Ir Fim do Documento + + + Vai para a última página do documento. + + + + + &Alt;&Shift;Esquerda Ir Recuar + + + Vai para a primeira página do documento. + + + + + &Alt;&Shift;Direita Ir Avançar + + + Avança para a próxima vista sobre o documento. Isto só funciona se já tiver recuado anteriormente. + + + + + &Ctrl;G Ir Ir Para a Página... + + + Vai para a próxima página do documento. + + + + + + + O Menu Favoritos + + + + &Ctrl;B Favoritos Adicionar/Remover o Favorito + + + Adiciona ou remove um favorito para a posição actual. + + + + + Favoritos Mudar o Nome do Favorito + + + Muda o nome de um favorito para a posição actual. + + + + + Favoritos Favorito Anterior + + + Vai para o favorito anterior ou não faz nada, se não existirem favoritos anteriores ao actual. + + + + + Favoritos Favorito Seguinte + + + Vai para o favorito seguinte ou não faz nada, se não existirem favoritos posteriores ao actual. + + + + + Favoritos Sem Favoritos + + + Esta é uma acção sempre desactivada que aparece apenas neste menu se o documento não tiver favoritos. Caso contrário, aparece aqui uma lista com todas as páginas marcadas como tal. Se carregar nestes favoritos, poderá passar directamente para a posição associada. + + + + + + + O Menu Ferramentas + + + + &Ctrl;1 Ferramentas Ferramenta de Navegação + + + O rato terá o seu comportamento normal, com o &LMB; para arrastar o documento e seguir as hiperligações e o &RMB; para adicionar favoritos e para se ajustar à largura. + + + + + &Ctrl;2 Ferramentas Ferramenta de Ampliação + + + O rato irá actuar como uma ferramenta de ampliação. Se carregar o &LMB; e arrastar o rato, irá ampliar a janela para a área seleccionada, enquanto se carregar com o &RMB; irá voltar com o documento para a ampliação anterior. + + + + + &Ctrl;3 Ferramentas Ferramenta de Selecção + + + O rato irá funcionar como uma ferramenta de selecção. Nesse modo, ao carregar no &LMB; e ao arrastar o rato, terá a opção para copiar o texto/imagem da área seleccionada de momento para a área de transferência, sintetizar um texto ou ainda gravar uma imagem num ficheiro. + + + + + &Ctrl;4 Ferramentas Ferramenta de Selecção de Texto + + + O rato irá funcionar como uma ferramenta de selecção. Nesse modo, ao carregar no &LMB; e ao arrastar o rato, terá a opção para seleccionar o texto do documento. Depois, basta carregar com o &RMB; para copiar o texto para a área de transferência ou sintetizar a selecção actual. + + + + + &Ctrl;5 Ferramentas Ferramenta de Selecção de Tabelas + + + Desenhe um rectângulo em torno do texto para a tabela, depois use o botão &LMB; para dividir o bloco de texto em linhas e colunas. Se carregar com o &LMB; sobre uma linha existente, remove-a e junta as linhas ou colunas adjacentes. + + + + + &Ctrl;6 Ferramentas Lupa + + + Activa o modo de ampliação para o cursor do rato. Carregue e mantenha carregado o &LMB; para activar o item da lupa, movendo o cursor para se deslocar pelo documento. A lupa amplia em 10 vezes cada pixel do documento. + + + + + F6 Ferramentas Revisão + + + Abre a barra de revisão. Esta barra permite-lhe adicionar anotações ao documento que está a ler. Para mais informações, veja por favor a secção acerca das Anotações. + + + + + Ferramentas Falar Todo o Documento + + + Ferramentas Falar a Página Actual + + + Ferramentas Parar de Falar + + + Estes itens permitem-lhe sintetizar o documento completo ou apenas a página actual, podendo ainda parar a síntese, através do sistema de Texto-para-Fala para o &kde; &jovie;. + As acções Falar ... só ficam activas se o &jovie; estiver disponível no sistema. + + + + + + + Os Menus de Configuração e Ajuda + Para além dos menus de Configuração e Ajuda normais do &kde;, que são descritos no capítulo dos Menus dos Fundamentos do &kde;, o &okular; tem estes itens de menu específicos da aplicação: + + + + F7 Configuração Mostrar o Painel de Navegação + + + Comuta (liga ou desliga) o aparecimento da barra de ferramentas. + + + + + Configuração Mostrar a Barra de Páginas + + + Activa ou desactiva a barra de páginas no fundo da área do documento para poupar espaço vertical na janela do &okular;. + + + + + &Ctrl;&Shift;F Configuração Modo de Ecrã Completo + + + Activa o modo de ecrã completo. Lembre-se que o modo de ecrã completo é diferente do modo de apresentação, dado que a única particularidade do modo de ecrã completo ser ele esconder as decorações da janela, o menu e a barra de ferramentas. + + + + + Configuração Configurar as Infra-Estruturas... + + + Abre a janela de Configuração das Infra-Estruturas. + + + + + + + + Configurar as Infra-Estruturas do &okular; + Poderá configurar as infra-estruturas do &okular; se escolher a opção Configuração Configurar as Infra-Estruturas.... De momento, são fornecidas opções de configuração apenas para as infra-estruturas de EPub, &PostScript;, FictionBook, TXT, Texto em OpenDocument e &PDF;. + + A janela de configuração das infra-estruturas + + + + + + A janela de configuração das infra-estruturas + + + + Ao usar as páginas de configuração das infra-estruturas de EPub, FictionBook, TXT e Texto em OpenDocument, poderá definir o tipo de letra usado para representar os documentos nos formatos correspondentes. O botão Escolher... nestas páginas abre a janela de configuração de tipos de letra normal do &kde;. Por favor, veja mais detalhes na documentação dos Fundamentos do &kde;. + A descrição das páginas de configuração das infra-estruturas de &PostScript; e &PDF; pode ser consultada em baixo. + + Configuração da infra-estrutura de &PostScript; + Poderá configurar a infra-estrutura de &PostScript; do &okular;, baseada no Ghostscript, escolhendo a opção Ghostscript na lista à esquerda da janela de configuração. A única opção que pode ser configurada é a seguinte. + + + + + Usar os tipos de letra da plataforma + + + Esta opção define se o Ghostscript deverá poder usar os tipos de letra da plataforma; se estiver desligada, só serão permitidos os tipos de letra incorporados no documento. Esta opção está assinalada por omissão. + + + + + + + Configuração da infra-estrutura de &PDF; + Poderá configurar a infra-estrutura de &PDF; do &okular;, baseada no Poppler, escolhendo &PDF; na lista à esquerda na janela de configuração. A única opção que pode ser configurada é a seguinte. + + + + + Realçar as linhas finas + + + O desenho de linhas no &okular; é feito em dois passos: a geração do caminho de recorte e o preenchimento deste mesmo caminho. Quando a linha no documento original tem menos de um pixel, esta implementação em dois passos poderá causar problemas. Para essas linhas, o caminho de recorte é preenchido com a cor de enchimento, que depende a espessura da linha dentro da área de recorte. Se a parte dentro dessa área de recorte ficar demasiado pequena, o contraste entre a forma e a cor de fundo poderá ser demasiado baixo para que a linha seja perceptível. As grelhas dessas linhas ficarão então feias. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Linha fina (vermelho), o seu caminho de corte (linha tracejada) e os limites dos pontos (linhas pretas) + Linha fina apresentada em baixo contraste + + + + + Para melhorar a aparência das linhas finas, o &okular; implementa duas opções. + A primeira opção é a Sólida. Com esta opção, o &okular; ajusta o caminho de recorte e a posição da linha, de modo que o caminho de recorte e a linha estejam no mesmo limite do pixel, &ie; o &okular; alarga as linhas finas para um pixel no dispositivo de saída. Este modo é semelhante ao Realçar as linhas finas no Adobe Reader. Se esta opção estiver escolhida, as linhas finas são sempre alargadas. + + + + + + + + Linha fina com realce Sólido + + + Linha fina com realce Sólido + + + + + A segunda opção é a Forma. Com esta opção, o caminho e a linha de recorte são ajustados também ao nível do 'pixel', sendo a intensidade da linha corrigida de acordo com a sua espessura. + + + + + + + + Linha fina com realce Forma + + + Linha fina com realce Forma + + + + + As linhas finas não são realçadas por omissão (opção Não). + + + + + + + + Configurar o &okular; + + Configuração geral + Poderá configurar o &okular; se escolher a opção Configuração Configurar o &okular;.... A janela de configuração está dividida em seis secções. Este capítulo descreve as opções disponíveis em detalhe. + + + Geral + + + Acessibilidade + + + Performance + + + Apresentação + + + Anotações + + + Editor + + + + A janela de configuração + + + + + + Janela de configuração + + + + Dependendo das infra-estruturas actualmente instaladas, o item do menu Configuração Configurar as Infra-Estruturas... poderá estar activo ou não. Esta janela de configuração em particular contém as configurações das infra-estruturas que oferecerem essa possibilidade. + + + Geral + + + Mostrar as barras de posicionamento + + Mostrar ou não barras de posicionamento. + + + + Ligar a lista de miniaturas à página + + Se a área de miniaturas deverá mostrar sempre a página actual ou não. + + + + Mostrar as dicas e mensagens informativas + + Se deve mostrar algumas mensagens informativas ou não no arranque, no carregamento de um ficheiro, &etc; + + + + Mostrar o título do documento na barra do título se disponível + + Se deve ou não mostrar o título do documento actual na barra da janela do &okular;. Se não forem encontrados meta-dados para o título no documento ou se este item não estiver assinalado, o &okular; mostra o nome do ficheiro do documento. + + + + Quando não mostrar o título do documento + + Pode escolher uma de duas opções: Mostrar apenas o nome do ficheiro ou Mostrar a localização completa do ficheiro. + + + + Obedecer às limitações do DRM + + Se o &okular; deverá obedecer às restrições de DRM (Digital Rights Management - Gestão de Direitos Digitais). As limitações de DRM são usadas para impossibilitar a execução de certas acções com documentos &PDF;, como a cópia de conteúdo para a área de transferência. Lembre-se que, em algumas configurações do &okular;, esta opção não está disponível. + + + + Abrir os ficheiros novos em páginas + + Se deve abrir os documentos novos em páginas. Estas encontram-se desactivadas por omissão. + As combinações de teclas predefinidas para mudar de páginas são &Ctrl;. (Página seguinte) e &Ctrl;, (Página anterior). + + + + Carregar de novo o ficheiro se este for alterado + + Se os ficheiros abertos deverão ser analisados à procura de alterações e actualizados em função disso. + + + + Mostrar a janela de selecção da infra-estrutura + + Se o &okular; deverá perguntar ao utilizador qual a infra-estrutura a usar, no caso de existir mais que uma infra-estrutura disponível para abrir o ficheiro actual. Se estiver desligada a opção, o &okular; irá usar a infra-estrutura com maior prioridade. + + + + Direcção da leitura da direita para a esquerda + + Se deseja usar a direcção de leitura da direita para a esquerda por omissão para os ficheiros abertos. Pode ser útil em alguns sistemas de escrita. + + + + Colunas da visão geral + + Esta opção representa o número de colunas a usar no modo de visão geral. + + + + Sobreposição do Page Up/Down + + Aqui poderá definir a percentagem da área de visualização actual que deverá ficar visível depois de carregar nas teclas Page Up/Page Down. + + + + Ampliação Predefinida + + Esta opção define o modo de ampliação predefinido para um ficheiro que nunca tenha sido aberto. No caso dos ficheiros abertos anteriormente, será aplicado o factor de ampliação anterior. + + + + + + Acessibilidade + + + Desenhar moldura em torno das ligações + + Se deve desenhar um contorno à volta das hiperligações. + + + + Modificar as cores + + Activa as opções de mudança de cor. + + + + Inverter as Cores + + Inverte as cores na janela, i.e., as coisas a preto passarão a estar a branco. + + + + Mudar a Cor do Papel + + Muda a cor do papel. + + + + Mudar as Cores Escuras & Claras + + Altera a cor clara e a escura, o que significa que o preto não será representado como preto mas como uma determinada cor escura, passando-se o mesmo com o branco. + + + + Converter para Preto & Branco + + Converte o documento para preto-e-branco. Poderá definir o limiar e o contraste. Se configurar o limiar para um valor alto, irá resultar na utilização de tons mais claros. + + + + + + Performance + + + Activar efeitos de transparência + + Desenha as selecções e os outros gráficos especiais com efeitos de transparências. Desactive a opção para as desenhar com um contorno ou com estilos de preenchimento opacos e para aumentar a velocidade nas selecções. + + + + Utilização de Memória + + O &okular; poderá obter uma melhor performance se afinar a utilização de memória, baseando-se no seu sistema e no seu gosto. Quanto mais memória deixá-lo usar, mais rapidamente se irá comportar o programa. O perfil Por Omissão é bom para todos os sistemas, mas poderá evitar que o &okular; use mais memória do que a necessária se seleccionar o perfil Baixo ou deixá-lo tirar o máximo partido do seu sistema, usando o perfil Agressivo. Use o perfil Egoísta para carregar previamente todas as páginas sem correr o risco de esgotar a memória do sistema (apenas 50% da memória livre total serão usados). + + + + Apresentação + + Se usar este grupo de opções, poderá melhorar a apresentação do texto e imagens no &okular;. O resultado depende do dispositivo para apresentar o documento. Os itens Activar a Suavização do Texto e Activar a Suavização dos Gráficos podem ser usados para activar e desactivar a suavização espacial do texto e imagens no documento, de forma correspondente. O item Activar a Sugestão de Texto serve como comutador da sugestão de dimensões do texto. A mudança da suavização e sugestão afecta a forma como são apresentados os documentos, pelo que as poderá ajustar de acordo com a sua preferência. + + + + + + Apresentação + + + Avançar a cada + + Activa o avanço automático de páginas após um dado período de tempo. + + + + Ciclo após a última página + + Ao navegar no modo de apresentação e ao chegar ao fim da última página, voltará a aparecer a primeira página. + + + + Cor de fundo + + A cor que irá preencher a parte do ecrã não-coberta pela página, quando estiver no modo de apresentação. + + + + Cursor do rato + + Se o rato deverá estar sempre escondido, sempre visível ou esconder-se ao fim de algum tempo de inactividade. + + + + Mostrar o indicador de evolução + + Se deve mostrar um círculo de progresso que mostra a página actual e o número total de páginas no canto superior direito, sempre que mudar a página. + + + + Mostrar a página de sumário + + Se deve mostrar uma página de resumo no início da apresentação, com o título, o autor e o número de páginas do documento. + + + + Activar as transições + + Use esta opção para activar ou desactivar os efeitos de transição entre páginas. + + + + Transição predefinida + + O efeito de transição entre as páginas e a página, se o documento não definir nenhuma. Configure isto como Transição Aleatória para que o &okular; escolha aleatoriamente um dos efeitos disponíveis. + + + + Colocação + + Nesta secção, poderá seleccionar o Ecrã usado para mostrar a apresentação. + O Ecrã Actual é o mesmo ecrã da janela do &okular; que inicia o modo de apresentação. + O Ecrã por Omissão é o ecrã que está marcado como predefinido na configuração do Xinerama. + Os itens Ecrã 0, Ecrã 1 &etc; são os ecrãs disponíveis. + + + + Configuração da Ferramenta de Desenho + + Faz a gestão do lápis usado ao desenhar nas páginas, quando estiver no modo de apresentação. + + + + + + Anotações + + A página de anotações da janela de configuração + + + + + + A página de anotações da janela de configuração + + + + + + Autoria + + O autor do conteúdo adicionado num documento. Por omissão, é o nome na página de Senha & Conta do Utilizador do módulo do &systemsettings; para os Detalhes da Conta. + + + + Ferramentas de anotação + + Esta área é usada para configurar a sua barra de anotações. + Existem cinco botões (Adicionar, Editar, RemoverSubir, Descer) e uma lista (que apresenta os conteúdos da barra de anotações actual) que são usados para configurar a barra de ferramentas. + Se precisar de adicionar algum botão de ferramentas na barra, carregue no botão Adicionar. Poderá escolher o Nome, o Tipo e a Aparência da ferramenta criada. + + Lembre-se que as ferramentas de anotações no &okular; são altamente configuráveis. Por exemplo, poderá ter dois botões da mesma ferramenta mas com cores diferentes. Não hesite em experimentar escolher o conjunto de botões que se adequa exactamente ao seu método. + + Carregue em algum item da lista e depois no botão correspondente do lado direito da página para editar, remover, subir ou descer o item. O atalho de teclado da ferramenta (as teclas de 1 a 9) depende da sua posição na lista da barra de anotações. + + + + Usar Carimbos Personalizados + + + Crie o ícone que deseja usar para o seu próprio carimbo e grave-o em qualquer formato gráfico suportado pelo &okular; + Carregue no botão Adicionar, seleccione o tipo Carimbo e indique um nome para o seu carimbo. + Indique a localização completa do seu ícone personalizado na lista do grupo Símbolo de Carimbo + + + + + + + Editor + + + Editor + + Escolha o editor que deseja lançar quando o &okular; quiser abrir um ficheiro de origem ou código. Este é o caso em que o documento tenha referências para os vários pontos (normalmente o número da linha e coluna) do código a partir do qual foi gerado. O formato &DVI; suporta de forma nativa a adição de informação sobre o código em LaTeX a partir do qual foi gerado. Existe um sistema semelhante para os documentos &PDF;, chamado pdfsync, que guarda essa informação-extra num formato externo, com o nome baseado no ficheiro &PDF; propriamente dito (por exemplo, documento.pdfsync para documento.pdf). + O &okular; vem com configurações predefinidas para os seguintes editores: &kate;, Kile, SciTE, o cliente de &Emacs; e o cliente do LyX. + + Para usar a pesquisa inversa no Kile, terá de compilar o seu ficheiro &latex; com a configuração Modern. + + + + + Comando + + Este é o comando, bem como os seus parâmetros, para invocar o editor seleccionado com o ficheiro de origem do documento actual. + Este campo será preenchido automaticamente se usar um dos editores pré-configurados. Caso contrário, escolha o Editor de Texto Personalizado na lista Editor e consulte a documentação do seu editor favorito para descobrir o comando adequado. + Poderá usar os seguintes itens de substituição: + + + %f - o nome do ficheiro + + + %l - a linha do ficheiro a consultar + + + %c - a coluna do ficheiro a consultar + + + Se não for indicado o '%f', então o nome do documento será adicionado ao comando indicado. + + + + + + + Créditos e Licença + + + Copyright do Programa: + &Albert.Astals.Cid; &Albert.Astals.Cid.mail; Manutenção actual + Pino Toscano pino@kde.org + Enrico Ros eros.kde@email.it desenvolvimento do &kpdf; + + + + 'Copyright' da Documentação: + &Albert.Astals.Cid; &Albert.Astals.Cid.mail; Autoria + Titus Laska titus.laska@gmx.de Algumas actualizações e adições + Pino Toscano pino@kde.org + + Tradução de José Nuno Pires zepires@gmail.com +&underFDL; &underGPL; + + &documentation.index; + + + + diff --git a/po/pt/docs/okular/man-okular.1.docbook b/po/pt/docs/okular/man-okular.1.docbook new file mode 100644 index 0000000..0d0071b --- /dev/null +++ b/po/pt/docs/okular/man-okular.1.docbook @@ -0,0 +1,208 @@ + + +]> + + + + +Manual de Utilizador do Okular +YuriChornoivan Página de manual do Okular. yurchor@ukr.net +2016-11-04 +Okular 1.0 +Aplicações do KDE + + + +okular +1 + + + +okular +um visualizador universal de documentos + + + +okular Opções do Okular URL + + + +Descrição +O okular pretende mostrar os documentos que existam em vários formatos. + + + +Opções do Okular + + + + +Abre uma dada página no documento. + + + + + +Inicia o documento no modo de apresentação. + + + + + +Inicia com a janela de impressão. + + + + + +Controlo de instâncias únicas. + + + + + +Permite apresentar a janela do Okular a elevar-se após o início. + + + + + +Argumentos + + + + + O endereço do documento a abrir. Para o PDF, pode ser indicado como nome_documento#destino_com_nome, onde o destino_com_nome é um destino identificado em particular que esteja incorporado no documento. + + + + + +Reacções +No IRC (irc.freenode.net #okular), por e-mail,) okular-devel@kde.org) ou ainda na Web (<http://okular.kde.org/>) + + + +Veja Também + +Está disponível mais alguma documentação detalhada do utilizador em help:/okular (tanto pode indicar este URL no &konqueror; como executar khelpcenter help:/okular). +kf5options(7) +qt5options(7) +Existe também mais informações disponíveis em http://okular.kde.org/ + + + +Copyright +'Copyright' © 2002 de Wilco Greven, Christophe Devriese +'Copyright' © 2004-2005 de Enrico Ros +'Copyright' © 2005 de Piotr Szymanski +'Copyright' © 2004-2012 de Albert Astals Cid +'Copyright' © 2006-2009 de Pino Toscano +Licença: Geral Pública da GNU Versão 2 <http://www.gnu.org/licenses/gpl-2.0.html> + + + diff --git a/po/pt/okular.po b/po/pt/okular.po new file mode 100644 index 0000000..a42de54 --- /dev/null +++ b/po/pt/okular.po @@ -0,0 +1,6266 @@ +msgid "" +msgstr "" +"Project-Id-Version: kpdf\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2023-07-03 00:55+0100\n" +"Last-Translator: Pedro Morais \n" +"Language-Team: pt \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POFile-SpellExtra: kpdf xpdf KPDF DlgGeneral Part Xpdf DlgPresentation\n" +"X-POFile-SpellExtra: PS ps ESC TAB KTTSD DRM Koenig Piotr Wilco\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-POFile-SpellExtra: FictionBook Christophe Ros mm okular ODT Greven\n" +"X-POFile-SpellExtra: Enrico okularpart pol Astals KMenu OT Szymanski\n" +"X-POFile-SpellExtra: Devriese Okular Clip OpenDocument SciTE Kate Kile\n" +"X-POFile-IgnoreConsistency: Love\n" +"X-POFile-SpellExtra: Emacs Trounev Eugene Lyx PK FreeType lpr Jovie Down\n" +"X-POFile-SpellExtra: Page Up dvipng Jiri Baum NICTA Egoista Fabio unique\n" +"X-POFile-SpellExtra: XFA DIN tablóide DLE latex ondinhas presentation\n" +"X-POFile-SpellExtra: print page GB px PKCS Vers CN MD RSA EC SHA cer CMS\n" +"X-POFile-IgnoreConsistency: Creator\n" +"X-POFile-SpellExtra: CRL DSA find TeXstudio svgz ico TeXiFy IDEA sRGB Luma\n" +"X-POFile-IgnoreConsistency: Type\n" +"X-POFile-IgnoreConsistency: Comment\n" +"X-POFile-IgnoreConsistency: Name\n" +"X-POFile-IgnoreConsistency: Highlight\n" +"X-POFile-SpellExtra: luma Poppler cmd Itemc kleopatra\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "José Nuno Pires,Pedro Morais" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "zepires@gmail.com,morais@kde.org" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Okular, um visualizador de documentos universal" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "Manutenção anterior" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "Bastante trabalho na plataforma, infra-estruturas ODT e FictionBook" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "Desenvolvimento" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymanski" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "Criou o Okular a partir da base de código do KPDF" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "Enrico Ros" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "Desenvolvimento do KPDF" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "Eugene Trounev" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "Gráficos das anotações" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "Jiri Baum - NICTA" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "Ferramenta de selecção de tabelas" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "Fabio D'Urso" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "Melhorias nas anotações" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "Ir para a Página %1" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "Abrir um ficheiro externo" + +#: core/action.cpp:197 +#, fuzzy, kde-format +#| msgid "Execute '%1'..." +msgid "Execute '%1'…" +msgstr "Executar o '%1'..." + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "Primeira Página" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "Página Anterior" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "Página Seguinte" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "Última Página" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "Recuar" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "Avançar" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Sair" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "Iniciar a Apresentação" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "Terminar a Apresentação" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go To Page…" +msgstr "Ir para a Página" + +#: core/action.cpp:365 +#, fuzzy, kde-format +#| msgid "Play sound..." +msgid "Play sound…" +msgstr "Tocar um som..." + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "Programa em JavaScript" + +#: core/action.cpp:483 +#, fuzzy, kde-format +#| msgid "Play movie" +msgid "Play movie…" +msgstr "Reproduzir o filme" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "Reproduzir o filme" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "Parar o filme" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "Pausar o filme" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "Prosseguir o filme" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "Este Okular está compilado sem suporte para áudio" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "Selecção da Infra-Estrutura" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
    %1 (%2).

    Please select which one to use:
    " +msgstr "" +"Foi encontrada mais que uma infra-estrutura para o tipo MIME:
    %1 (%2).

    Seleccione por favor qual deseja usar:
    " + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "A maioria das páginas é %1." + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "Retrato %1" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "Paisagem %1" + +#: core/document.cpp:246 +#, fuzzy, kde-format +#| msgctxt "%1 is width, %2 is height, %3 is paper size name" +#| msgid "%1 x %2 in (%3)" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 x %2 pol (%3)" + +#: core/document.cpp:248 +#, fuzzy, kde-format +#| msgctxt "%1 is width, %2 is height, %3 is paper size name" +#| msgid "%1 x %2 mm (%3)" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 x %2 mm (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "A retomar a pesquisa do início" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "A retomar a pesquisa do fundo" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "" +"Não é possível encontrar um 'plugin' que consiga lidar com o documento " +"indicado." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "remover as anotações" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"O documento está a tentar executar uma aplicação externa; para sua " +"segurança, o Okular não permite isto." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "Nenhuma aplicação encontrada para abrir o ficheiro do tipo MIME %1." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "Não foi possível aceder a um ficheiro temporário" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "A conversão da impressão foi mal-sucedida" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "O processo de impressão estoirou" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "Não foi possível iniciar o processo de impressão" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "A impressão para ficheiro foi mal-sucedida" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "A impressora estava num estado inválido" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "Não foi possível encontrar o ficheiro a imprimir" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "Não havia nenhum ficheiro para imprimir" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"Não foi possível encontrar um binário de impressão adequado. Certifique-se " +"que o executável 'lpr' do CUPS está disponível" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "O tamanho de impressão da página é inválido" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "Não é possível aceder ao '%1'. O ficheiro não existe" + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Título" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Assunto" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Descrição" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "Autoria" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Criado por" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Produtor" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "Copyright" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "Páginas" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Criado" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Modificado" + +#: core/document.cpp:6032 +#, kde-format +msgid "MIME Type" +msgstr "Tipo MIME" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "Categoria" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Palavras-Chave" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "Localização do Ficheiro" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "Tamanho do Ficheiro" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "Tamanho da Página" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "adicionar uma anotação" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "remover a anotação" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "modificar as propriedades da anotação" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "traduzir a anotação" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "ajustar a anotação" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "editar o texto" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "editar o conteúdo das anotações" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "editar o conteúdo do formulário" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "editar as escolhas da lista" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "editar a selecção da lista do formulário" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "editar os estados do botão" + +#: core/generator.cpp:790 +#, fuzzy, kde-format +#| msgid "Plain &Text..." +msgid "Plain &Text…" +msgstr "&Texto Simples..." + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "Texto em OpenDocument" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "Opções de Impressão" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "Ajustar à área impressa" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "Ajustar à página completa" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "Modo de escala:" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "Não mostrar esta mensagem de novo" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "Não Disponível" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" + +#: core/signatureutils.cpp:498 +#, fuzzy, kde-kuit-format +#| msgctxt "@info" +#| msgid "Could not load the file %1" +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "Não foi possível carregar o ficheiro %1" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "" + +#: core/signatureutils.cpp:504 +#, fuzzy, kde-kuit-format +#| msgctxt "@info" +#| msgid "" +#| "Could not overwrite %1 because that file is read-" +#| "only. Try saving to another location or changing that file's permissions." +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" +"Não foi possível sobrepor o ficheiro em %1 por ser " +"apenas para leitura. Tente gravá-lo noutro local ou modificar as permissões " +"do mesmo." + +#: core/signatureutils.cpp:506 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown signing error" +msgstr "Ficheiro Desconhecido" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Código: %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "Tipo de Letra Predefini&do:" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "Versão" + +#: gui/certificatemodel.cpp:41 +#, kde-format +msgid "Serial Number" +msgstr "Número de Série" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "Emissor" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "Emitido A" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "Expira A" + +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Assunto" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "Chave Pública" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "Uso da Chave" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "V%1" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "%1 (%2 bits)" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "Propriedade" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "Valor" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "Nota de Atenção" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "Máquina de escrever" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "Nota Incorporada" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +#| msgid "Polygon with Comment" +msgid "Arrow with Comment" +msgstr "Polígono com Comentário" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "Seta" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "Linha Recta com Comentário" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "Linha Recta" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "Polígono com Comentário" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "Polígono" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgid "Stamp with Comment" +msgid "Rectangle with Comment" +msgstr "Carimbo com Comentário" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "Rectângulo" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgid "Underline with Comment" +msgid "Ellipse with Comment" +msgstr "Sublinhado com Comentário" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "Elipse" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "Realce com Comentário" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "Realce" + +#: gui/guiutils.cpp:87 +#, kde-format +msgid "Squiggle with Comment" +msgstr "Ondinhas com Comentário" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "Ondinhas" + +#: gui/guiutils.cpp:91 +#, kde-format +msgid "Underline with Comment" +msgstr "Sublinhado com Comentário" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "Sublinhado" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out with Comment" +msgstr "Traçado com Comentário" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "Traçado" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "Carimbo com Comentário" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "Carimbo" + +#: gui/guiutils.cpp:106 +#, kde-format +msgid "Freehand Line with Comment" +msgstr "Linha Livre com Comentário" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "Linha Livre" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "Cursor" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "Anexo em Ficheiro" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "Som" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "Filme" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Ecrã" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "Elemento" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "Conteúdo Formatado" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation" +msgstr "Anotação" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "Desconhecido" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Autor: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "Onde deseja gravar o %1?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "" +"Não é possível aceder ao \"%1\" para escrita. O ficheiro não foi gravado." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "A assinatura é válida a nível criptográfico." + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "A assinatura é inválida a nível criptográfico." + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "Ocorreu uma inconsistência de códigos de validação." + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "A estrutura de CMS/PKCS7 da assinatura está mal-formatada." + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "A assinatura pedida não está presente no documento." + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "Não foi possível verificar a assinatura." + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "O certificado é fidedigno." + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "O emissor do certificado não é de confiança." + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "O emissor do certificado é desconhecido." + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "O certificado foi revogado." + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "O certificado expirou." + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "O certificado ainda não foi verificado." + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "" +"Ocorreu um problema desconhecido com o certificado ou os seus dados estão " +"corrompidos." + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "MD2" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "MD5" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "SHA1" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "SHA256" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "SHA384" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "SHA512" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "SHA224" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "Algoritmo Desconhecido" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "RSA" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "DSA" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "EC" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "Tipo Desconhecido" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "Assinatura Digital" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "Não-Repúdio" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "Chaves de Encriptação" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "Chaves de Descodificação" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "Acordo de Chaves" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "Assinar o Certificado" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "Assinar a CRL" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "Apenas Encriptação" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "Sem Uso Definido" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr ", " + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "O documento não foi modificado desde que foi assinado." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" +"A versão do documento que foi coberta por esta assinatura não foi " +"modificada;\n" +"contudo, ocorreram algumas alterações subsequentes ao documento." + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" +"O documento foi modificado de uma forma não permitida por um assinante " +"anterior." + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "Não foi possível concluir a verificação da integridade do documento." + +#: gui/signatureguiutils.cpp:208 +#, fuzzy, kde-format +#| msgid "This document has unsigned signature fields." +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "Este documento tem campos de assinatura não assinados." + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "Este documento está assinado digitalmente." + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "" +"Este documento está assinado digitalmente. Ocorreram alterações desde a " +"última assinatura." + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" +"Este documento está assinado digitalmente. Algumas das assinaturas não " +"puderam ser validadas adequadamente." + +#: gui/signaturemodel.cpp:141 +#, fuzzy, kde-format +#| msgid "Signature Validity:" +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "Validade da Assinatura:" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "Campo: %1 na página %2" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "Versão %1: Assinada por %2" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "Hora da Assinatura: %1" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "Razão: %1" + +#: gui/signaturemodel.cpp:177 +#, kde-format +msgid "Location: %1" +msgstr "Localização: %1" + +#: gui/signaturemodel.cpp:185 +#, fuzzy, kde-format +#| msgid "Signatures" +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "Assinaturas" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "" + +#: gui/signaturemodel.cpp:193 +#, fuzzy, kde-format +#| msgctxt "Unknown author" +#| msgid "Unknown" +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "Desconhecido" + +#: gui/signaturemodel.cpp:195 +#, fuzzy, kde-format +#| msgid "Signature Validity:" +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "Validade da Assinatura:" + +#: gui/signaturemodel.cpp:201 +#, fuzzy, kde-format +#| msgid "Signature Validity:" +msgid "Signature Type: %1" +msgstr "Validade da Assinatura:" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "Vermelho" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "Laranja" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "Amarelo" + +#: part/annotationactionhandler.cpp:151 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "Verde" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "Cíano" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "Azul" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "Magenta" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "Branco" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "Cinzento" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "Preto" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "Largura %1" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1%" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "Espessura da linha da anotação (Sem anotações seleccionadas)" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "Cor da anotação (Sem anotações seleccionadas)" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "Cor de preenchimento da anotação (Sem anotações seleccionadas)" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "Opacidade da anotação (Sem anotações seleccionadas)" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "Tipo de letra da anotação (Sem anotações seleccionadas)" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" +"Adicionar a anotação actual à lista de anotações rápidas (Sem anotações " +"seleccionadas)" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" +"Restringe as proporções da forma a 1:1 ou o ângulo da linha em passos de 15° " +"(Sem anotações seleccionadas)" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" +"Configuração avançada da ferramenta de anotações actual (Sem anotações " +"seleccionadas)" + +#: part/annotationactionhandler.cpp:308 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Espessura da linha da anotação" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "Espessura da linha da anotação (A anotação actual não tem espessura)" + +#: part/annotationactionhandler.cpp:314 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Cor do texto da anotação" + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "Cor do contorno da anotação" + +#: part/annotationactionhandler.cpp:318 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Cor da anotação" + +#: part/annotationactionhandler.cpp:322 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Cor de preenchimento da anotação" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "" +"Cor de preenchimento da anotação (A anotação actual não tem cor de " +"preenchimento)" + +#: part/annotationactionhandler.cpp:328 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "Tipo de letra da anotação" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "Tipo de letra da anotação (A anotação actual não tem tipo de letra)" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "Restringir o ângulo da linha a passos de 15°" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "Restringir as proporções da forma a 1:1" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" +"Restringir as proporções da forma a 1:1 ou o ângulo da linha a passos de 15° " +"(Não suportado pela anotação actual)" + +#: part/annotationactionhandler.cpp:341 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Opacidade da anotação" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "Adicionar a anotação actual à lista de anotações rápidas" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "Configuração avançada da ferramenta de anotação actual" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "Cor" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "Cor do Preenchimento" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "Transparente" + +#: part/annotationactionhandler.cpp:445 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "Custom Color..." +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "Cor Personalizada..." + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "Seleccionar a cor" + +#: part/annotationactionhandler.cpp:552 +#, kde-format +msgid "&Annotations" +msgstr "&Anotações" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "Esconder" + +#: part/annotationactionhandler.cpp:554 +#, kde-format +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Mostrar mais ferramentas de anotação" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "Realce" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "Sublinhado" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "Ondinhas" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "Traçado" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Máquina de Escrever" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "Nota Incorporada" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "Nota de Atenção" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "Linha Livre" + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "Linha Recta" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "Seta" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "Rectângulo" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "Elipse" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "Polígono" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "Formas geométricas" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "Carimbo" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Anotações Rápidas" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "Escolha uma ferramenta de anotação nas anotações rápidas" + +#: part/annotationactionhandler.cpp:651 +#, kde-format +msgid "Quick Annotation Bar" +msgstr "Barra de Anotações Rápidas" + +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "Adicionar às Anotações Rápidas" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "Manter Activo" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "Manter a ferramenta de anotações activa após o uso" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "Restringir as Proporções e o Ângulo das Ferramentas de Anotações" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "Tipo de Letra" + +#: part/annotationactionhandler.cpp:681 +#, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Configuração da Anotação" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "Espessura da linha" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "Opacidade" + +#: part/annotationactionhandler.cpp:696 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1%" + +#: part/annotationmodel.cpp:320 +#, fuzzy, kde-format +#| msgid "Page %1" +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "Página %1" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "Página %1" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "Anotação" +msgstr[1] "%1 Anotações" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "Abrir uma N&ota de Atenção" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Remover o Favorito" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Adicionar aos Favoritos" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, kde-format +msgid "Copy Text to Clipboard" +msgstr "Copiar o Texto para a Área de Transferência" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "A cópia é proibida pelo DRM" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "&Apagar" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "&Propriedades" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, fuzzy, kde-format +#| msgctxt "%1 is the name of the file to save" +#| msgid "&Save '%1'..." +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "&Gravar o '%1'..." + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "&Aparência" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "&Geral" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&Autor:" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "Criado:" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "Modificado:" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "Propriedades da Nota de Atenção" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "Propriedades da Máquina de Escrever" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "Propriedades da Nota Incorporada" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "Propriedades da Linha Recta" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "Propriedades do Polígono" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "Propriedades Geométricas" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "Propriedades de Formatação do Texto" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "Propriedades do Selo" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "Propriedades da Linha Livre" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "Propriedades do Marcador" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "Propriedades do Anexo de Ficheiro" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "Propriedades do Som" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "Propriedades do Filme" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "Propriedades da Anotação" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "Seleccione um símbolo de carimbo personalizado num ficheiro" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "Seleccionar um símbolo de carimbo personalizado" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" +"*.ico *.png *.xpm *.svg *.svgz | Ficheiros de Ícones (*.ico *.png *.xpm *." +"svg *.svgz)" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "Não foi possível carregar o ficheiro %1" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "Ficheiro inválido" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&Cor:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%1%" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "&Opacidade:" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "Ícone:" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "Comentário" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "Ajuda" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "Inserir" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "Tecla" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "Novo parágrafo" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "Nota" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "Parágrafo" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Tipo de letra:" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "Cor do &texto:" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "&Alinhamento:" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "Esquerda" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "Centro" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "Direita" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "Largura do &contorno:" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "Aprovado" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "Tal e Qual" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "Confidencial" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "Departamento" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "Rascunho" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "Experimental" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "Expirado" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "Final" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "Para Comentário" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "Para Lançamento Público" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "Não Aprovado" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "Não para Lançamento Público" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "Vendido" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "Altamente Secreto" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "Favorito" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "Informação" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "Símbolo do carimbo:" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "&Largura:" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "Início de linha:" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "Fim de linha:" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "Quadrado" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "Círculo" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "Diamante" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "Seta Aberta" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "Seta Fechada" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "Nenhum" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "Ponta" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "Seta Aberta Direita" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "Seta Fechada Direita" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "Barra" + +#: part/annotationwidgets.cpp:531 +#, kde-format +msgid "Leader line length:" +msgstr "Comprimento da linha principal:" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "Comprimento das extensões da linha principal:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "Activo" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "Preenchimento da forma:" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Tipo:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "Traçado" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "Símbolo de anexo em ficheiro:" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "Gráfico" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "Alfinete" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "'Clip'" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "Marca" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "Ficheiro" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "N/D" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "Descrição não disponível." + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "Nome:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "Descrição:" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "Símbolo de marca:" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "Nenhum" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "I" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "Fechar esta nota" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "Opções" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"Esta anotação poderá conter código em LaTeX.\n" +"Carregue aqui para a desenhar." + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "Não é possível encontrar o executável 'latex'." + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "Erro na representação do LaTeX" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "Não é possível encontrar o executável 'dvipng'." + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "Ocorreu um problema durante a execução do comando 'latex'." + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "Ocorreu um problema durante a execução do comando 'dvipng'." + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"Um favorito" +msgstr[1] "" +"%1\n" +"\n" +"%2 favoritos" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Favoritos" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "Mostrar para todos os documentos" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, fuzzy, kde-format +#| msgid "S&earch:" +msgid "Search…" +msgstr "P&rocurar:" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, fuzzy, kde-format +#| msgid "Expand all" +msgid "Expand All" +msgstr "Expandir tudo" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, fuzzy, kde-format +#| msgid "Collapse all" +msgid "Collapse All" +msgstr "Fechar tudo" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "Ir para Este Favorito" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "Mudar o Nome do Favorito" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Abrir o Documento" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "Remover Todos os Favoritos deste Documento" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "Visualizador do Certificado" + +#: part/certificateviewer.cpp:50 +#, fuzzy, kde-format +#| msgid "Export..." +msgid "Export…" +msgstr "Exportar..." + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "Geral" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "Emitido Por" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "Nome Comum(CN)" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "E-mail" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "Organização(O)" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "Emitido Para" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "Validade" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "Impressões Digitais" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "Impressão Digital SHA-1" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "Impressão Digital SHA-256" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "Detalhes" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "Dados do Certificado:" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "Onde deseja gravar este certificado?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "Ficheiro de Certificado (*.cer)" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "Não foi possível exportar o certificado" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "Modo da &Cor" + +#: part/colormodemenu.cpp:21 +#, kde-format +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "Modificar as Cores" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "Cores &Normais" + +#: part/colormodemenu.cpp:41 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "&Inverter as Cores" + +#: part/colormodemenu.cpp:42 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "Mudar a Cor do &Papel" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "Trocar as Cores Escuras && Claras" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "Converter para Preto-e-&Branco" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "Inverter a &Luminosidade" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "Inverter o L&uma (sRGB Linear)" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "Inverter o Luma (&Simétrico)" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "Desvio P&ositivo da Matiz" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "Desvio N&egativo da Matiz" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "Vermelho" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "Verde" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "Azul" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "Amarelo" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "Preto" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "Branco" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "Realce do Amarelo" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "Realce do Verde" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "Inserir um Texto" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "Desenhar um contorno à volta das ligações" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "Modificar as cores" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "Aviso: estas opções podem prejudicar a velocidade de desenho." + +#: part/dlgaccessibility.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "Inverter as cores" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "Mudar a cor do papel" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "Trocar as cores escuras e claras" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "Converter para preto-e-branco" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "Inverter a luminosidade" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "Inverter o luma (sRGB linear)" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "Inverter o luma (simétrico)" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "Desvio positivo da matiz" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "Desvio negativo da matiz" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "Modo da cor:" + +#: part/dlgaccessibility.cpp:87 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Cor do papel:" + +#: part/dlgaccessibility.cpp:99 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Cor escura:" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "Cor clara:" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "Limiar:" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Contraste:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "Motor de texto-para-fala:" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "Voz do texto-para-fala:" + +#: part/dlgannotations.cpp:25 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Barra de Anotações Completa" + +#: part/dlgannotations.cpp:26 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Barra de Anotações Rápidas" + +#: part/dlgannotations.cpp:28 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Barra de anotações:" + +#: part/dlgannotations.cpp:34 +#, kde-format +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "Autor:" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"Nota: a informação aqui é usada apenas para anotações. A informação é " +"gravada nos documentos anotados e, como tal, será transmitida em conjunto " +"com o documento." + +#: part/dlgannotations.cpp:48 +#, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

    Quick Annotation Tools

    " +msgstr "

    Ferramenta de Anotações Rápidas

    " + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" +"Escolha o editor que deseja invocar quando o Okular quiser abrir um ficheiro " +"de código." + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "Editor de Texto Personalizado" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Cliente do Emacs" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "Cliente do Lyx" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "TeXstudio" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "TeXiFy IDEA" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "Editor:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
    \n" +"You can also put few placeholders:\n" +"
      \n" +"
    • %f - the file name
    • \n" +"
    • %l - the line of the file to be reached
    • \n" +"
    • %c - the column of the file to be reached
    • \n" +"
    \n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"Indique o comando de um editor de texto personalizado para o invocar." +"
    \n" +"Poderá também usar alguns elementos de substituição:\n" +"
      \n" +"
    • %f - o nome do ficheiro
    • \n" +"
    • %l - a linha do ficheiro onde se posicionar
    • \n" +"
    • %c - a coluna do ficheiro onde se posicionar
    • \n" +"
    \n" +"Se não for indicado o '%f', então o nome do ficheiro será adicionado ao " +"comando definido." + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "Comando:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "Usar um deslocamento suave" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "Aparência:" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "Mostrar as barras de posicionamento" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "Ligar as miniaturas à página" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "Mostrar as dicas e mensagens informativas" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "Notificar sobre ficheiros, formulários ou assinaturas incorporados" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "Mostrar o título do documento na barra do título se disponível" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "Mostrar apenas o nome do ficheiro" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "Mostrar a localização completa do ficheiro" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "Quando não mostrar o título do documento:" + +#: part/dlggeneral.cpp:92 +#, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "Usar uma cor de fundo personalizada:" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "Características do programa:" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "Abrir os ficheiros novos em páginas" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "Mudar para uma página existente se o ficheiro já estiver aberto" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "Obedecer às limitações do DRM" + +#: part/dlggeneral.cpp:148 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "Carregar de novo o ficheiro se este for alterado" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "Mostrar a janela de selecção da infra-estrutura" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "Direcção da leitura da direita para a esquerda" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" + +#: part/dlggeneral.cpp:178 +#, fuzzy, kde-format +#| msgctxt "@option:check Config dialog, general page" +#| msgid "Open in continuous mode by default" +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "Abrir no modo contínuo por omissão" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "Abrir no modo contínuo por omissão" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" +"Ao usar a Ferramenta de Navegação, mudar o cursor de linha nos extremos do " +"ecrã" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "Colunas da visão geral:" + +#: part/dlggeneral.cpp:220 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%1%" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" +"Define quanto da área de visualização actual ficará à mesma visível quando " +"carregar nas teclas Page Up/Down." + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "Sobreposição do Page Up/Down:" + +#: part/dlggeneral.cpp:228 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%1%" + +#: part/dlggeneral.cpp:232 +#, fuzzy, kde-format +#| msgctxt "item:inlistbox Config dialog, general page, default zoom" +#| msgid "100%" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "100%" + +#: part/dlggeneral.cpp:233 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "Ajustar à Largura" + +#: part/dlggeneral.cpp:234 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "Ajustar à Página" + +#: part/dlggeneral.cpp:235 +#, fuzzy, kde-format +#| msgid "Auto Fit" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "Ajuste Automático" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "" + +#: part/dlggeneral.cpp:237 +#, fuzzy, kde-format +#| msgctxt "item:inlistbox Config dialog, general page, default zoom" +#| msgid "" +#| "Defines the default zoom mode for files which were never opened before. " +#| "For files which were opened before the previous zoom is applied." +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" +"Define o modo de ampliação predefinido para os ficheiros que nunca foram " +"abertos anteriormente. Para os ficheiros que foram abertos antes, é aplicado " +"a ampliação anterior." + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "Ampliação predefinida:" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "Activar efeitos de transparência" + +#: part/dlgperformance.cpp:28 +#, kde-format +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "Utilização de CPU:" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "Baixa" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "Normal (predefinição)" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "Agressiva" + +#: part/dlgperformance.cpp:38 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "Egoista" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "Utilização de memória:" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "Activar a suavização do texto" + +#: part/dlgperformance.cpp:56 +#, kde-format +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "Opções de apresentação:" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "Activar a suavização dos gráficos" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "Activar as sugestões de texto" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"Usa a menor quantidade de memória possível. Não volta a utilizar nada. (Para " +"sistemas com pouca memória.)" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"Uma bom ponto intermédio entre utilização de memória e velocidade. Carregar " +"antecipadamente a próxima página e melhorar procuras. (Para sistemas com " +"cerca de 2 GB de memória.)" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"Manter tudo em memória. Carregar antecipadamente as próximas páginas. " +"Melhorar procuras. (Para sistemas com mais de 4 GB de memória.)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" +"Carrega e mantém tudo em memória. Carrega previamente todas as páginas. (Irá " +"usar no máximo 50% da sua memória livre ou total - o que for maior.)" + +#: part/dlgpresentation.cpp:38 +#, fuzzy, kde-format +#| msgctxt "Advance every %1 seconds" +#| msgid " second" +#| msgid_plural " seconds" +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] " segundo" +msgstr[1] " segundos" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "Avançar automaticamente:" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "Ciclo após a última página" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "Tocar no lado esquerdo/direito para recuar/avançar" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "Tocar em qualquer lado para avançar" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "Desactivado" + +#: part/dlgpresentation.cpp:63 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Navegação por toque:" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "Cor de fundo:" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "Escondido após atraso" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "Sempre visível" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "Sempre escondido" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "Cursor do rato:" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "Mostrar o indicador de evolução" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "Mostrar a página de resumo" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "Instantânea (Nunca usar animações)" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "Substituir" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "Transição aleatória" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "Tapar na vertical" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "Tapar na horizontal" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "Caixa para exterior" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "Caixa para interior" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "Dissolver" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "Desvanecer" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "Brilho para baixo" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "Brilho para a direita" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "Brilho pela direita-baixo" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "Dividir na horizontal para dentro" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "Dividir na horizontal para fora" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "Dividir na vertical para dentro" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "Dividir na vertical para fora" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "Varrer para baixo" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "Varrer para a direita" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "Varrer para a esquerda" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "Varrer para cima" + +#: part/dlgpresentation.cpp:121 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Transição predefinida:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "Ecrã preferido:" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

    Drawing Tools

    " +msgstr "

    Ferramentas de Desenho

    " + +#: part/dlgpresentation.cpp:171 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Ecrã Actual" + +#: part/dlgpresentation.cpp:172 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Ecrã por Omissão" + +#: part/dlgpresentation.cpp:178 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "Ecrã %1 (%2 %3 - %4) " + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "Ecrã %1 (desligado)" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "Ferramenta de Desenho: %1" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "Borracha" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "&Nome:" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "&Tipo:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "Aparência" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "Formatação do texto" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "Forma geométrica" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "Ferramenta de criação de anotação" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "Ferramenta de edição de anotação" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "Cor:" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "Largura do &Traço:" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "" + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "Criar uma ferramenta de desenho" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "Editar a ferramenta de desenho" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "Desconhecida" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Ficheiros Incorporados" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "Ver" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "Nome" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "Descrição" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "Tamanho" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "Criado" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "Modificado" + +#: part/embeddedfilesdialog.cpp:154 +#, fuzzy, kde-format +#| msgid "Save As" +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "Gravar Como" + +#: part/embeddedfilesdialog.cpp:155 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "&Ver" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "Não foi possível carregar a componente de antevisão da impressão" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "Antevisão da Impressão" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "Fechar" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "P&rocurar:" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "Texto a pesquisar" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Seguinte" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "Saltar para a ocorrência seguinte" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Anterior" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "Ir para a ocorrência anterior" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "Modificar o comportamento da pesquisa" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "Distinguir capitalização" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "Da página actual" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "Procurar à medida que escreve" + +#: part/formwidgets.cpp:870 +#, fuzzy, kde-format +#| msgid "All files (*)" +msgid "All Files (*)" +msgstr "Todos os Ficheiros (*)" + +#: part/formwidgets.cpp:1280 +#, fuzzy, kde-format +#| msgid "Unsigned Signature Field (Click to Sign)" +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "Campo de Assinatura Não Assinado (Carregue para Assinar)" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, fuzzy, kde-format +#| msgctxt "@action:button" +#| msgid "Sign" +msgid "&Sign…" +msgstr "Assinar" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "Propriedades da Assinatura" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "Opções de Procura" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "Distinguir Capitalização" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "Expressão Regular" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "Camadas" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "de" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "Ampliação" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "Ampliar a 100%" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "&Rodar para a Direita" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "Direita" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "Rodar para a Es&querda" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "Esquerda" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "Orientação Original" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "Recor&tar a Vista" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "Recor&tar as Margens" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "Recortar à &Selecção" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "Ajustar à &Largura" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "Ajustar à &Página" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "&Ajuste Automático" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "Ajustar a Janela à &Página" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "Modo de &Visualização" + +#: part/pageview.cpp:594 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "Página Ú&nica" + +#: part/pageview.cpp:595 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "Páginas em &Face" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "Páginas em Face (&Centrar a Primeira Página)" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "&Introdução" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "&Contínuo" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "Usar a Direcção da Leitura da Direita para a Esquerda" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "&Escolher" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "&Ampliação" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "Selecção de Áre&a" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "Selecção de &Texto" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "Selecção de T&abelas" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "&Lupa" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "Ferramentas de Selecção" + +#: part/pageview.cpp:711 +#, fuzzy, kde-format +#| msgid "Digitally &Sign..." +msgid "Digitally &Sign…" +msgstr "A&ssinar Digitalmente..." + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "Falar o Documento Inteiro" + +#: part/pageview.cpp:722 +#, fuzzy, kde-format +#| msgid "Speak Current Page" +msgid "Speak From Current Page" +msgstr "Falar a Página Actual" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "Falar a Página Actual" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "Parar de Falar" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "Pausar/Retomar a Fala" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "Deslocar para Cima" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Deslocar para Baixo" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "Subir uma Página" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "Descer uma Página" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "Mostrar os Formulários" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] "Foi carregado um documento de uma página." +msgstr[1] "Foi carregado um documento de %1 páginas." + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "Copiar o Conteúdo da Tabela para a Área de Transferência" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "Texto (%1 carácter)" +msgstr[1] "Texto (%1 caracteres)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "Copiar para a Área de Transferência" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "Falar o Texto" + +#: part/pageview.cpp:2863 +#, fuzzy, kde-format +#| msgid "Image (%1 by %2 pixels)" +msgid "Image (%1 × %2 pixels)" +msgstr "Imagem (%1 por %2 pontos)" + +#: part/pageview.cpp:2865 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save to File…" +msgstr "Gravar num Ficheiro..." + +#: part/pageview.cpp:2885 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] copied to clipboard." +msgid "Image [%1 × %2] copied to clipboard." +msgstr "Imagem [%1x%2] copiada para a área de transferência." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "Gravar o ficheiro" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "Imagens (*.png *.jpeg)" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "Ficheiro não gravado." + +#: part/pageview.cpp:2901 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] saved to %3 file." +msgid "Image [%1 × %2] saved to %3 file." +msgstr "Imagem [%1x%2] gravar para o ficheiro %3." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "Copiar o Texto" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "Ir para '%1'" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "Ajustar à Largura" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "Ajustar à Página" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "Ajuste Automático" + +#: part/pageview.cpp:4107 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1%" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "Procurar por '%1' com" + +#: part/pageview.cpp:4404 +#, fuzzy, kde-format +#| msgid "Configure Web Shortcuts..." +msgid "Configure Web Shortcuts…" +msgstr "Configurar os Atalhos Web..." + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "Seguir Esta Ligação" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "Tocar este Som" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "Parar o Som" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "Copiar o Endereço da Ligação" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "Procurar por '%1' neste documento" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Bem-vindo" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "Escolha a zona a ampliar. Botão direito para reduzir a ampliação." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "Carregue para ver a vista ampliada." + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "Desenhe um rectângulo em torno do texto/imagem a copiar." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "Seleccionar o texto" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" +"Desenhe um rectângulo em torno da tabela, depois carregue nas arestas " +"próximas para as dividir; carregue em Esc para limpar." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" + +#: part/pageview.cpp:5188 +#, fuzzy, kde-format +#| msgid "Certificates" +msgid "No valid certificates" +msgstr "Certificados" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, fuzzy, kde-format +#| msgid "View in Certificate Manager" +msgid "Open Certificate Manager" +msgstr "Ver no Gestor de Certificados" + +#: part/pageview.cpp:5200 +#, fuzzy, kde-format +#| msgid "" +#| "There are no available signing certificates.
    For more information, " +#| "please see the section about Adding Digital Signatures " +#| "in the manual." +msgid "" +"There are no available signing certificates.
    Launch Certificate Manager " +"to import or manage certificates
    For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" +"Não existem certificados de assinatura disponíveis.
    Para mais " +"informações, veja por favor a secção para Adicionar " +"Assinaturas Digitais do manual." + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, fuzzy, kde-format +#| msgid "Certificates" +msgid "No certificates found" +msgstr "Certificados" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
    For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" +"Não existem certificados de assinatura disponíveis.
    Para mais " +"informações, veja por favor a secção para Adicionar " +"Assinaturas Digitais do manual." + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" +"Tem modificações por gravar. Por favor grave o documento antes de o assinar." + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "Desenhe um rectângulo para inserir o campo da assinatura" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "" +"Desenhe um rectângulo em torno da área da página que deseja manter visível" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "Nova Nota de Texto" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "Texto da nota nova:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" +"Uma assinatura deste tamanho poderá ser demasiado pequena para ser legível. " +"Se quiser criar uma assinatura potencialmente mais legível, carregue em " +"Começar do início e desenhe um rectângulo maior." + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "Começar do Início" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "Assinar" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name" +msgstr "Nome do autor" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name for the annotation:" +msgstr "Nome do autor da anotação:" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "Desenhar uma elipse (arraste para seleccionar uma zona)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "Realçar o texto" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "Desenhar uma linha de forma livre" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "Anotação de Texto Livre (arraste para seleccionar uma zona)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "Colocar uma nota em realce" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "Desenhar um polígono (carregue no primeiro ponto para o fechar)" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "Desenhar um rectângulo" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "Texto às ondinhas" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "Colocar um símbolo de carimbo" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "Desenhar uma linha recta" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "Traçar o texto" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "Sublinhar o texto" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "Anotação em Máquina de Escrever (arraste para seleccionar uma zona)" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "Realce" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "Adicionar a anotação aos favoritos" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Custom annotation name:" +msgstr "Nome da anotação personalizada:" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&Ficheiro" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "&Configuração" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "A&juda" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "&Orientação" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "Fa&voritos" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "Barra do Visualizador" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Miniaturas" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "Anotações" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
    Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" +"Este documento contém anotações ou dados de formulários que foram gravados " +"internamente por uma versão anterior do Okular. O armazenamento interno " +"já não é mais suportado.
    Por favor, grave num ficheiro para os " +"mover, caso deseje continuar a editar o documento." + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"Este documento tem ficheiros incorporados. Carregue aqui para os ver ou vá a Ficheiro -> Ficheiros Incorporados." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "Anterior" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "Ir para a página anterior" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "Vai para a página anterior do documento" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "Seguinte" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "Avançar para a Página Seguinte" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "Vai para a próxima página do documento" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "Início do documento" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "Vai para o início do documento" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "Fim do documento" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "Vai para o fim do documento" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "Mudar o nome do favorito actual" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "Favorito Anterior" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "Ir para o favorito anterior" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "Favorito Seguinte" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "Ir para o favorito seguinte" + +#: part/part.cpp:748 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgid "Configure Okular…" +msgstr "Configurar o Okular..." + +#: part/part.cpp:751 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Configure Viewer…" +msgstr "Configurar o Visualizador" + +#: part/part.cpp:757 +#, fuzzy, kde-format +#| msgid "Configure Viewer Backends" +msgid "Configure Viewer Backends…" +msgstr "Configurar as Infra-Estruturas do Visualizador" + +#: part/part.cpp:759 +#, fuzzy, kde-format +#| msgid "Configure Backends" +msgid "Configure Backends…" +msgstr "Configurar as Infra-Estruturas" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "Acerca da Infra-Estrutura" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "A&ctualizar" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "Carrega de novo o documento actual do disco." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "Fechar a &Barra de Procura" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "Número da Página" + +#: part/part.cpp:817 +#, fuzzy, kde-format +#| msgctxt "@action" +#| msgid "Configure Color Modes..." +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "Configurar os Modos das Cores..." + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "Seleccionar Todo o Texto na Página Actual" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "Mostrar a Barra &Lateral" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "Mostrar a Barra de &Páginas" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "Mostrar o Painel de A&ssinaturas" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "Fich&eiros Incorporados" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "E&xportar Como" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "Partil&har" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "Ap&resentação" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "Abrir a Pasta &Respectiva" + +#: part/part.cpp:945 +#, fuzzy, kde-format +#| msgid "&Import PostScript as PDF..." +msgid "&Import PostScript as PDF…" +msgstr "&Importar o PostScript como PDF..." + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "Mudar o Modo de Ecrã Negro" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "Apagar os Desenhos" + +#: part/part.cpp:962 +#, fuzzy, kde-format +#| msgid "Configure Annotations..." +msgid "Configure Annotations…" +msgstr "Configurar as Anotações..." + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "Reproduzir/Pausar a Apresentação" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" +"Acabou de modificar o documento, mas não é possível gravar este tipo de " +"documento.\n" +"Todas as modificações perder-se-ão assim que o Okular seja fechado." + +#: part/part.cpp:1123 +#, kde-format +msgid "Document can't be saved" +msgstr "Não é possível gravar o documento" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "Não foi possível abrir o '%1' (%2)" + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "O carregamento de %1 foi cancelado." + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "Não foi possível aceder ao %1. Razão: %2" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "Configurar as Infra-Estruturas do Visualizador" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "Configurar as Infra-Estruturas" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"O programa \"ps2pdf\" não foi encontrado, como tal o Okular não pode " +"importar ficheiros PS com ele." + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "O 'ps2pdf' não foi encontrado" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "Ficheiros PostScript (%1)" + +#: part/part.cpp:1357 +#, fuzzy, kde-format +#| msgid "Importing PS file as PDF (this may take a while)..." +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "A importar o ficheiro PS como PDF (poderá levar algum tempo)..." + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "Indique por favor a senha para ler o documento:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "A senha é incorrecta. Tente de novo:" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "Senha do Documento" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" +"Este documento possui formulários do tipo XFA, os quais não são " +"suportados de momento." + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"Este documento tem formulários. Carregue no botão para interagir com eles ou " +"use a opção Ver -> Mostrar os Formulários." + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" +"Todas as funcionalidades de edição e interacção para este documento estão " +"desactivadas. Por favor, grave uma cópia e volte a abrir para editar este " +"documento." + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" +"Este documento pretende ser mostrado em todo o ecrã.\n" +"Deseja sair do modo normal e entrar no modo de apresentação?" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "Pedido para Mudar o Modo de Visualização" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "Entrar no Modo de Apresentação" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "Negar o Pedido" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "Não foi possível abrir o %1. %2" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" +"Existem alterações por gravar no ficheiro %1, mas este " +"foi modificado por outro programa. Se o recarregar, irá substituir as " +"alterações não gravadas pelas alterações feitas pelo outro programa.
    Deseja continuar a recarregar o ficheiro?" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "Ficheiro Modificado" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "Continuar a Reabertura" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "Interromper a Reabertura" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" +"Existem alterações por gravar no ficheiro %1, mas este " +"foi modificado por outro programa. Se o fechar, irá substituir as alterações " +"não gravadas pelas alterações feitas no outro programa.
    Deseja continuar " +"a fechar o ficheiro?" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "Continuar o Fecho" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "Interromper o Fecho" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "Deseja gravar as suas alterações em \"%1\" ou apagá-las?" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "Fechar o Documento" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"Esta ligação aponta para uma acção de fecho do documento que não funciona ao " +"usar o visualizador incorporado." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"Esta ligação aponta para uma acção de saída da aplicação que não funciona ao " +"usar o visualizador incorporado." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Reloading the document…" +msgstr "A carregar de novo o documento..." + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "Conteúdo" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "Assinaturas" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Ir para a Página" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "&Página:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "Indique o novo nome do favorito:" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "Mudar o Nome deste Favorito" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "Remover Este Favorito" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "Gravar Como" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" +"Optou por gravar um Pacote do Okular sem o nome do ficheiro terminar com a " +"extensão '%1'. Isto não é permitido. Deseja escolher um novo nome?" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "Extensão não suportada" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "Escolher um Novo Nome" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" +"O ficheiro %1 foi modificado por outro programa. Se " +"gravar agora, todas as alterações feitas no outro programa perder-se-ão. Tem " +"a certeza que deseja continuar?" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "Gravação - Aviso" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "Gravar uma Cópia noutro Local" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
    In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" +"O documento actual está protegido com uma senha.
    Para poder gravá-lo, o " +"ficheiro tem de ser carregado de novo. Ser-lhe-á pedida a senha de novo e o " +"seu histórico para desfazer/refazer será perdido.
    Deseja continuar?" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "Não foi possível aceder ao ficheiro temporário para o gravar." + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" +"Não foi possível sobrepor o ficheiro em %1 por ser " +"apenas para leitura. Tente gravá-lo noutro local ou modificar as permissões " +"do mesmo." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" +"Depois de o gravar, o formato do documento actual obriga a carregá-lo de " +"novo. O seu histórico para desfazer/refazer perder-se-á.
    Deseja " +"continuar?" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "" +"Não foi possível gravar o ficheiro em '%1'. Tente gravá-lo noutro local." + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "Conteúdo do formulário preenchido" + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "Anotações do utilizador" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" +"Está prestes a gravar as alterações, mas o formato do ficheiro actual não " +"suporta a gravação dos seguintes elementos. Use por favor o formato " +"pacote de documento do Okular para os preservar." + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "Aviso" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, fuzzy, kde-format +#| msgid "Save as Okular document archive..." +msgid "Save as Okular document archive…" +msgstr "Gravar como um pacote de documento do Okular..." + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" +"Está prestes a gravar as alterações, mas o formato do ficheiro actual não " +"suporta a gravação dos seguintes elementos. Use por favor o formato " +"pacote de documento do Okular para os preservar. Carregue em " +"Continuar para gravar o documento ou elimine esses elementos." + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" +"Está prestes a gravar as alterações, mas o formato do ficheiro actual não " +"suporta a gravação dos seguintes elementos. Use por favor o formato " +"pacote de documento do Okular para os preservar. Carregue em " +"Continuar para gravar, se bem que irá perder esses elementos, bem " +"como o histórico para desfazer/refazer." + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "Continuar" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "Continuar com a perda das alterações" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "Não foi possível gravar o ficheiro em '%1'. %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"O Okular não consegue copiar o %1 para o local indicado.\n" +"\n" +"O documento já não existe mais." + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" +"Não foi possível gravar o ficheiro em '%1'. Erro: '%2'. Tente gravá-lo " +"noutro local." + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "Expand whole section" +msgid "Expand Whole Section" +msgstr "Expandir a secção inteira" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "Collapse whole section" +msgid "Collapse Whole Section" +msgstr "Fechar a secção inteira" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "Sincronizar a Miniatura com a Página" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Ferramentas" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "Falar" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "Imprimir" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "Não é permitido imprimir este documento." + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"Não foi possível imprimir o documento. Por favor comunique este facto em " +"bugs.kde.org" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"Não foi possível imprimir o documento. O erro detalhado foi \"%1\". Por " +"favor comunique este facto em bugs.kde.org" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "Ir para o sítio onde estava antes" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "Ir para o sítio onde esteve depois" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"Erro do Ficheiro! Não foi possível criar o ficheiro " +"temporário %1." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"Erro do Ficheiro! Não foi possível aceder ao ficheiro " +"%1 para o descomprimir. O ficheiro não será " +"carregado." + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"Este erro ocorre normalmente quando não tem permissões suficientes para " +"o ler. Poderá verificar as permissões e a pertença do ficheiro se carregar " +"com o botão direito no gestor de ficheiros Konqueror e escolher depois o " +"menu 'Propriedades', seleccionando finalmente a página 'Permissões' na " +"janela aberta." + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"Erro do Ficheiro! Não foi possível descomprimir o " +"ficheiro %1. O ficheiro não será carregado." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"Este erro ocorre normalmente se o ficheiro estiver corrompido. Se quiser " +"ter a certeza, tente descomprimir o ficheiro manualmente com as ferramentas " +"da linha de comandos." + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "Sem Favoritos" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "Ocorreu um problema ao partilhar o documento: %1" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "Partilhar" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "O documento foi partilhado com sucesso" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "Poderá encontrar o documento partilhado em: %1" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "&Editar" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "&Ver" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&Ir" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "Ferramen&tas" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "Barra Principal" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "Barra de Anotações" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, kde-format +msgid "Quick Annotation Toolbar" +msgstr "Barra de Anotações Rápidas" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "Opções Gerais" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Acessibilidade" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "Auxiliares de Acessibilidade para Leitura" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Performance" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "Melhoria de Performance" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "Configurar o Visualizador" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Apresentação" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "Opções do Modo de Apresentação" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "Opções da Anotação" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "Editor" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "Opções do Editor" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" +"O editor foi configurado pela linha de comandos para ser\n" +" %1\n" +"Se quiser usar essa definição, inicie o Okular sem a opção '--editor-cmd'" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "Procurar o Seguinte" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 - Apresentação" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "Mudar de Ecrã" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "Ecrã %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "Sair do Modo de Apresentação" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Título: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Páginas: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "Carregue para começar" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "Pausa" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "Reproduzir" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"Existem duas formas de sair do modo de apresentação; pode tanto carregar na " +"tecla ESC como carregar no botão para sair que aparece ao colocar o cursor " +"do rato no canto superior direito. Obviamente, poderá circular pelas janelas " +"(Alt+TAB por omissão)" + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "A efectuar uma apresentação" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "Ficheiro Desconhecido" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "Propriedades %1" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "&Tipos de Letra" + +#: part/propertiesdialog.cpp:145 +#, fuzzy, kde-format +#| msgid "Reading font information..." +msgid "Reading font information…" +msgstr "A ler a informação dos tipos de letra..." + +#: part/propertiesdialog.cpp:158 +#, kde-format +msgid "&Page Sizes" +msgstr "Tamanhos das &Páginas" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "&Extrair o Tipo de Letra" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Tipo 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Tipo 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "Tipo 1C (OT)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Tipo 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType (OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID Tipo 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID Tipo 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID Tipo 0C (OT)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType (OT)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "TeX PK" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "TeX virtual" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "Métrica do Tipo de Letra TeX" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "TeX usado pelo FreeType" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "Desconhecido" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "Incorporado (sub-conjunto)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "Completamente incorporado" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "Não" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "Sim (sub-conjunto)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "Sim" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "%1 (a substituir pelo %2)" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "[n/d]" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "Tipo de letra desconhecido" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "Incorporado: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "Nome" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "Tipo" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "Ficheiro" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "Página" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "Tamanho" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "Antevisão da Versão" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "Onde deseja gravar esta versão?" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "Não foi possível gravar o ficheiro %1." + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "Não foi possível ver esta versão." + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "Indique pelo menos 3 letras para filtrar páginas" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "Distinguir Capitalização" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "Corresponder a Frase" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "Corresponder Todas as Palavras" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "Corresponder Qualquer Palavra" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "Opções do Filtro" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, kde-format +msgid "Certificates" +msgstr "Certificados" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "Seleccione o certificado com o qual assinar:" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, fuzzy, kde-format +#| msgid "Certificates" +msgid "Only QES certificates" +msgstr "Certificados" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "Razão:" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, kde-format +msgid "optional" +msgstr "opcional" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "Localização:" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, kde-format +msgid "Background:" +msgstr "Fundo:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "Escolher..." + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, kde-format +msgid "Recent backgrounds:" +msgstr "Fundos recentes:" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

    No annotations

    To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
    " +msgstr "" +"

    Sem anotações

    Para criar anotações novas, carregue " +"em F6 ou seleccione a opção Ferramentas -> Anotações do menu.
    " + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "Agrupar pela Página" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "Agrupar pelo Autor" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "Mostrar as anotações apenas para a página actual" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "Expandir todos os elementos" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "Fechar todos os elementos" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "Propriedades" + +#: part/signaturepartutils.cpp:180 +#, kde-format +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Imagens (%1)" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "Seleccionar a imagem de fundo" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "Esquecer a imagem" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "Esquecer todas as imagens" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "Indique a senha (se existir) para desbloquear o certificado: %1" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "Indique a senha do certificado" + +#: part/signaturepartutils.cpp:244 +#, kde-format +msgid "Enter document password" +msgstr "Indique a senha do documento" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "Gravar o Ficheiro Assinado Como" + +#: part/signaturepartutils.h:62 +#, fuzzy, kde-format +#| msgctxt "" +#| "Used when suggesting a new name for a digitally signed file. %1 is the " +#| "old file name and %2 it's extension" +#| msgid "%1_signed.%2" +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "%1_assinado.%2" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "Estado da Validade" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "Validade da Assinatura:" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "Modificações do Documento:" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "Dados Adicionais" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "Assinado Por:" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "Hora da Assinatura:" + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "Versão do Documento" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Versão %1 de %2 do Documento" + +#: part/signaturepropertiesdialog.cpp:88 +#, fuzzy, kde-format +#| msgid "View Signed Version..." +msgid "View Signed Version…" +msgstr "Ver a Versão Assinada..." + +#: part/signaturepropertiesdialog.cpp:95 +#, fuzzy, kde-format +#| msgid "View Certificate..." +msgid "View Certificate…" +msgstr "Ver o Certificado..." + +#: part/signaturepropertiesdialog.cpp:97 +#, kde-format +msgid "View in Certificate Manager" +msgstr "Ver no Gestor de Certificados" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "O Gestor de Certificados do KDE (kleopatra) não foi encontrado" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "Mostrar apenas páginas favoritas" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "Tocar" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Pausa" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "Parar" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "Não existe suporte para vídeos neste Okular" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "Não existe suporte para vídeos neste Okular" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, fuzzy, kde-format +#| msgid "&Edit" +msgid "&Edit…" +msgstr "&Editar" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "&Remover" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "S&ubir" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "&Descer" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "Ferramenta de Desenho Predefinida #%1" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "Já existe uma ferramenta com esse nome. A usar uma predefinida" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "Nome Duplicado" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "A página do documento a apresentar" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "Iniciar o documento no modo de apresentação" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "Iniciar com a janela de impressão" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "Iniciar com a janela de impressão e sair após a impressão" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "Controlo de \"instância única\"" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "Não elevar a janela" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "Procurar uma dada sequência no texto" + +#: shell/main.cpp:82 +#, fuzzy, kde-format +#| msgid "sets the external editor command" +msgid "Sets the external editor command" +msgstr "define o comando de edição externo" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "Os documentos a abrir. Indique '-' para ler do 'stdin'." + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" +"Não pode modificar o comando de edição numa instância já em execução do " +"Okular. Por favor desactive as páginas e tente de novo. Lembre-se que a " +"opção 'unique' também não é suportada ao definir o comando de edição na " +"linha de comandos.\n" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "" +"Erro: Não é possível abrir mais que um documento com a opção '--unique'" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" +"Erro: Não é possível abrir mais que um documento com a opção '--presentation'" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "Erro: Não é possível abrir mais que um documento com a opção '--print'" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "Erro: Não é possível abrir mais que um documento com a opção '--page'" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "Erro: Não é possível abrir mais que um documento com a opção '--find'" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "Não foi possível encontrar a componente do Okular: %1" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "Barra lateral" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" +"Já existe uma instância exclusivamente única do Okular a correr. Esta " +"instância deixará de ser a única." + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "Não foi possível encontrar a componente do Okular." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"Carregue para abrir um ficheiro\n" +"Carregue e mantenha pressionado para abrir um ficheiro recente" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"Carregue para abrir um ficheiro ou Carregue e mantenha para " +"abrir um ficheiro recente" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "Página Seguinte" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "Página Anterior" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "Desfazer o fecho da página" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "Bloquear a Barra Lateral" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "Todos os Ficheiros (*)" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "Todos os ficheiros suportados (%1)" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "Abrir um Documento" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "Confirmar o Fecho" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "Fechar as Páginas" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "Está prestes a fechar %1 páginas. Tem a certeza que deseja continuar?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "Avisar-me quando tentar fechar várias páginas" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "&Copiar a Localização" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "&Abrir a Pasta Respectiva" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "&Esquecer este Item" + +#: shell/welcomescreen.cpp:137 +#, kde-format +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "Sem documentos recentes" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "Bem-vindo ao Okular" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Abrir um Documento..." + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, kde-format +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Documentos recentes" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "Esquecer Tudo" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "Esconder o ecrã de boas-vindas" + +#~ msgid "Geometry with Comment" +#~ msgstr "Geometria com Comentário" + +#~ msgid "Geometry" +#~ msgstr "Geometria" + +#~ msgid "Modified: %1" +#~ msgstr "Modificado: %1" + +#~ msgid "Find..." +#~ msgstr "Procurar..." + +#~ msgid "Go To Page..." +#~ msgstr "Ir para a Página..." + +#~ msgid "Play movie..." +#~ msgstr "Reproduzir um filme..." + +#~ msgid "Search..." +#~ msgstr "Procurar..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "Gr&avar Como..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "&Ver..." + +#~ msgid "&Sign..." +#~ msgstr "A&ssinar..." + +#~ msgid "Configure Viewer..." +#~ msgstr "Configurar o Visualizador..." + +#~ msgid "Configure Viewer Backends..." +#~ msgstr "Configurar as Infra-Estruturas do Visualizador..." + +#~ msgid "Configure Backends..." +#~ msgstr "Configurar as Infra-Estruturas..." + +#~ msgid "&Add..." +#~ msgstr "&Adicionar..." + +#~ msgid "&Edit..." +#~ msgstr "&Editar..." + +#~ msgctxt "%1 is a file path" +#~ msgid "" +#~ "Could not sign. Invalid certificate password or could not write to '%1'" +#~ msgstr "" +#~ "Não foi possível assinar. A senha do certificado era inválida ou não foi " +#~ "possível gravar em '%1'" + +#, fuzzy +#~| msgid "" +#~| "All your signing certificates are either not valid yet or are past their " +#~| "validity date." +#~ msgid "All your signing certificates are invalid" +#~ msgstr "" +#~ "Todos os seus certificados de assinatura ainda não são válidos ou " +#~ "passaram o seu prazo de validade." + +#~ msgid "Unsigned Signature %1" +#~ msgstr "Assinatura Não Assinada %1" + +#, fuzzy +#~| msgctxt "Unknown author" +#~| msgid "Unknown" +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "Desconhecido" + +#, fuzzy +#~| msgid "Unsigned Signature %1" +#~ msgctxt "Signature type" +#~ msgid "Unsigned signature" +#~ msgstr "Assinatura Não Assinada %1" + +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "Spinbox prefix: Advance automatically: every n seconds" +#~ msgid "every " +#~ msgstr "a cada " + +#~ msgctxt "Suffix for the pen width, eg '10 px'" +#~ msgid " px" +#~ msgstr " px" + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " %" + +#, fuzzy +#~| msgctxt "%1 is a file path" +#~| msgid "" +#~| "Could not sign. Invalid certificate password or could not write to '%1'" +#~ msgctxt "%1 is a file path" +#~ msgid "Could not sign. Could not write to '%1'" +#~ msgstr "" +#~ "Não foi possível assinar. A senha do certificado era inválida ou não foi " +#~ "possível gravar em '%1'" + +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "Ajustar à Largura" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "Ajustar à Página" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Auto Fit" +#~ msgstr "Ajuste Automático" + +#~ msgid "*|All Files" +#~ msgstr "*|Todos os Ficheiros" diff --git a/po/pt/okular_comicbook.po b/po/pt/okular_comicbook.po new file mode 100644 index 0000000..845c5f0 --- /dev/null +++ b/po/pt/okular_comicbook.po @@ -0,0 +1,44 @@ +msgid "" +msgstr "" +"Project-Id-Version: okular_comicbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2018-11-08 11:13+0000\n" +"Last-Translator: José Nuno Coelho Pires \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POFile-SpellExtra: ComicBook Koenig unrar unarchiver\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "José Nuno Pires" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "zepires@gmail.com" + +#: document.cpp:97 +#, kde-format +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "" +"Não é possível abrir o documento, porque não foi encontrado o 'unrar' nem o " +"'unarchiver'." + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "" +"A versão do 'unrar' no seu sistema não é adequada para abrir os livros de " +"banda desenhada." + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "O formato do ComicBook é desconhecido." diff --git a/po/pt/okular_djvu.po b/po/pt/okular_djvu.po new file mode 100644 index 0000000..b060784 --- /dev/null +++ b/po/pt/okular_djvu.po @@ -0,0 +1,136 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_djvu\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-09-02 15:27+0100\n" +"Last-Translator: José Nuno Coelho Pires \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-POFile-SpellExtra: DjVuLibre DjVu\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "José Nuno Pires,Pedro Morais" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "zepires@gmail.com,morais@kde.org" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "Editor" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "Publicador" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "Volume" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "Tipo de documento" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "Desconhecido" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "Ficheiros do Componente" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "Desconhecido" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "Página Única" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "Em Grupo" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "Indirecto" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "Em Grupo (antigo)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "Indexado (antigo)" + +#~ msgid "DjVu Backend" +#~ msgstr "Infra-Estrutura de TIFF" + +#~ msgid "DjVu backend based on DjVuLibre." +#~ msgstr "Infra-estrutura de DjVu baseada no DjVuLibre." + +#~ msgid "© 2006-2008 Pino Toscano" +#~ msgstr "© 2006-2008 Pino Toscano" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgctxt "Unknown title" +#~ msgid "Unknown" +#~ msgstr "Desconhecido" + +#~ msgctxt "Unknown author" +#~ msgid "Unknown" +#~ msgstr "Desconhecido" + +#~ msgctxt "Unknown editor" +#~ msgid "Unknown" +#~ msgstr "Desconhecido" + +#~ msgctxt "Unknown publisher" +#~ msgid "Unknown" +#~ msgstr "Desconhecido" + +#~ msgctxt "Unknown creation date" +#~ msgid "Unknown" +#~ msgstr "Desconhecida" + +#~ msgctxt "Unknown volume information" +#~ msgid "Unknown" +#~ msgstr "Desconhecido" + +#~ msgctxt "Unknown type of document" +#~ msgid "Unknown" +#~ msgstr "Desconhecido" diff --git a/po/pt/okular_dvi.po b/po/pt/okular_dvi.po new file mode 100644 index 0000000..d9d7c79 --- /dev/null +++ b/po/pt/okular_dvi.po @@ -0,0 +1,616 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_dvi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2014-05-12 10:36+0100\n" +"Last-Translator: José Nuno Coelho Pires \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-POFile-SpellExtra: gs help MetaFont pop EOP Reader xdvi FNTDEF ps KDVI\n" +"X-POFile-SpellExtra: Format epsf kpsewhich BOP dvips Omega Acrobat\n" +"X-POFile-SpellExtra: FreeType VF dvipdf pnm PK POST dvipdfm dvi Portable\n" +"X-POFile-SpellExtra: checksum TeTeX ghostview PDFs dpi Document\n" +"X-POFile-SpellExtra: ghostscript Okular Live Ghostview kpswhich\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "José Nuno Pires" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "zepires@gmail.com" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

    Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

    Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

    " +msgstr "" +"

    O Okular não conseguiu encontrar o programa dvipdfm no " +"computador. Esse programa é absolutamente necessário para a função de " +"exportação. Pode, apesar disso, converter o ficheiro DVI para PDF usando a " +"função de impressão do Okular, mas é provável que o resultado seja de " +"qualidade inferior se for visto no Acrobat Reader. Será melhor actualizar " +"para uma versão mais recente da distribuição do TeX que inclua o programa " +"dvipdfm.

    Uma dica para o administrador de sistemas perplexo: " +"O Okular utiliza a variável de ambiente PATH quando procura pelos programas." +"

    " + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"O programa externo 'dvipdfm', usado para exportar o ficheiro, devolveu " +"um erro. É melhor dar uma vista de olhos na janela de informação do " +"documento, no menu Ficheiro, para obter um relatório preciso do " +"erro." + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" +"Este ficheiro DVI faz referência a ficheiros gráficos externos que não " +"estão no formato PostScript e, deste modo, não poderão ser tratados pelo " +"programa dvips, que o Okular usa internamente para imprimir e/ou " +"exportar para PostScript. A funcionalidade que necessita está, deste modo, " +"indisponível nesta versão do Okular." + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

    Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

    Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

    " +msgstr "" +"

    O Okular não conseguiu localizar o programa dvips no seu " +"computador. Esse programa é essencial para que a função de exportação " +"funcione.

    Sugestão para o administrador de sistema: o Okular usa a " +"variável de ambiente PATH para procurar pelos programas.

    " + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"O programa externo 'dvips', usado para exportar o ficheiro, devolveu um " +"erro. É melhor dar uma vista de olhos na janela de informação do " +"documento, no menu Ficheiro, para um relatório preciso do erro." + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "O ficheiro DVI não começa com o preâmbulo." + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" +"O ficheiro DVI contém a versão errada de DVI para este programa. Sugestão: " +"Se usar o sistema de processamento Omega, terá de usar um programa especial, " +"como o 'xdvi'." + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "" +"O ficheiro DVI está bastante corrompido. O Okular não foi capaz de encontrar " +"a peroração." + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "A peroração não começa com o comando POST." + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "A peroração continha um comando que não o FNTDEF." + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "A página %1 não começa com o comando BOP." + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

    The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

    What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

    PATH: %2

    " +msgstr "" +"

    O programa externo pdf2ps não pôde ser iniciado. Em " +"resultado disso, o ficheiro PDF %1 não pôde ser convertido para PostScript. " +"Alguns elementos gráficos não irão aparecer, deste modo.

    Razão " +"possível: O programa pdf2ps poderá não estar instalado " +"no seu sistema ou poderá não ser encontrado através da sua PATH.

    O " +"que poderá fazer: O programa pdf2ps vem normalmente " +"incluído nas distribuições, no pacote de formatação de texto em PostScript " +"'ghostscript'. Se o GhostScript não vier instalado no seu sistema, poderá " +"instalá-lo agora. Se tiver a certeza que o GhostScript está instalado, por " +"favor tente usar o programa pdf2ps na linha de comandos, " +"para verificar se este realmente funciona.

    PATH: %2

    " + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

    The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

    %2

    " +msgstr "" +"

    O ficheiro PDF %1 não pôde ser convertido para PostScript. Alguns " +"elementos gráficos no seu documento não serão apresentados por esse motivo.

    Razão possível: O ficheiro %1 poderá estar corrompido ou não ser " +"um ficheiro PDF de todo. Este é o resultado do programa pdf2ps que o Okular usou:

    %2

    " + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "O ficheiro está danificado. %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "" +"Não foi possível incorporar todos os ficheiros de PostScript no seu " +"documento. %1" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "Foram incorporados todos os ficheiros de PostScript no seu documento." + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "O ficheiro indicado '%1' não existe." + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" +"Você pediu ao Okular para localizar o ponto no ficheiro DVI que corresponde " +"à linha %1 no ficheiro em TeX %2. Contudo, parece que o ficheiro DVI não " +"contém a informação necessária do código-fonte. " + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" +"O Okular não conseguiu localizar o ponto no ficheiro DVI que corresponde à " +"linha %1 no ficheiro em TeX %2." + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "O código do DVI define um carácter de um tipo de letra desconhecido." + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "" +"O código DVI referencia o tipo de letra #%1, que não foi definido " +"previamente." + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "A pilha não estava vazia quando foi encontrado o comando EOP." + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "A pilha estava vazia quando foi encontrado um comando POP." + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "O código DVI referenciou um tipo de letra não definido previamente." + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "Foi encontrado um comando inválido." + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "Foi encontrado o código de operação desconhecido %1." + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "A incorporar o %1" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
    " +msgstr "" +"Página %1: O ficheiro PDF %2 não pôde ser convertido para " +"PostScript.
    " + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
    " +msgstr "" +"Página %1: O texto de pesquisa %2 não foi encontrado.
    " + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "Os dados do tamanho de papel '%1' não puderam ser analisados." + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

    Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

    PATH: %1

    %2

    " +msgstr "" +"

    O Okular não foi capaz de encontrar todos os ficheiros de tipos de " +"letra necessários para mostrar o ficheiro DVI actual. O seu documento poderá " +"estar ilegível.

    PATH: %1

    %2

    " + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

    There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
    Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

    PATH: %1

    %2

    " +msgstr "" +"

    Ocorreram alguns problemas ao executar o 'kpsewhich'. Como tal, não " +"foi possível localizar alguns dos ficheiros de tipos de letra, pelo que o " +"seu documento poderá estar ilegível.
    Razão possível: O programa " +"kpsewhich poderá não estar instalado no seu sistema, ou então não " +"foi encontrado nos locais de pesquisa actuais.

    PATH: %1

    %2

    " + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" +"A geração do tipo de letra pelo kpsewhich foi interrompida " +"(código de saída %1, erro %2). Em função disso, alguns ficheiros de tipos de " +"letra não puderam ser localizados, pelo que o seu documento poderá ficar " +"ilegível." + +#: fontpool.cpp:482 +#, fuzzy, kde-format +#| msgid "Currently generating %1 at %2 dpi..." +msgid "Currently generating %1 at %2 dpi…" +msgstr "A gerar de momento o %1 a %2 ppp..." + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "Gerador/Data" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "O ficheiro do tipo de letra não foi encontrado" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "retrato" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "paisagem" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" +"A versão do Ghostview que está instalada neste computador não contém nenhum " +"dos controladores de dispositivos do Ghostview conhecidos pelo Okular. O " +"suporte de PostScript está, deste modo, desactivado no Okular." + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "Foram listados 25 erros. Não serão impressas mais mensagens de erro." + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" +"Erro no ficheiro DVI '%1', página %2. Foi emitido um comando 'pop' de cor " +"quando a pilha de cores estava vazia." + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" +"Parâmetro inválido no comando especial do 'epsf'.\n" +"Esperava-se um valor de vírgula flutuante a seguir ao %1 em %2" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"O ficheiro não foi encontrado: \n" +" %1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" +"Erro no ficheiro DVI '%1', página %2. Não foi possível interpretar o ângulo " +"no item especial de rotação do texto." + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "O comando especial '%1' não está implementado." + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" +"Foi possível aceder e ler o ficheiro do tipo de letra %1, mas o seu formato " +"não é suportado." + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "" +"O ficheiro do tipo de letra %1 está corrompido, ou não consegue ser acedido " +"ou lido." + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" +"O FreeType devolveu um erro ao alterar o tamanho da letra para o ficheiro do " +"tipo de letra %1." + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "" +"O FreeType não consegue ler o símbolo #%1 do ficheiro de tipo de letra %2." + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "" +"O FreeType não consegue desenhar o símbolo #%1 do ficheiro de tipo de letra " +"%2." + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "O símbolo #%1 está vazio." + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "O símbolo #%1 do ficheiro de tipo de letra %2 está vazio." + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "" +"O FreeType não consegue ler a métrica para o símbolo #%1 do ficheiro de tipo " +"de letra %2." + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "Não foi possível abrir o ficheiro de tipo de letra %1." + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "O carácter %1 não está definido no tipo de letra %2" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "O %1 é inesperado no ficheiro PK %2" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "O carácter %1 é grande demais no ficheiro %2" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "Número incorrecto de bits guardado: carácter %1, letra %2" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "Ficheiro PK inválido (%1), demasiados bits" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "O tipo de letra tem uma forma não-quadrada" + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "Não foi possível encontrar o tipo de letra %1, ficheiro %2." + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "Erro de 'checksum' para o tipo de letra %1" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "Não é possível reconhecer o formato do ficheiro de tipo de letra %1" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"Erro fatal.\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" +"\n" +"\n" +"Isto significa que provavelmente encontrou um erro no Okular\n" +"ou o ficheiro DVI, ou algum ficheiro auxiliar (tipos de letra,\n" +"ou tipos de letra virtuais), estavam bastante mal estruturados.\n" +"O Okular vai terminar a operação agora. Se acha que encontrou\n" +"um erro, ou que o Okular se devia comportar melhor nesta situação,\n" +"por favor envie-nos os seus comentários." + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "Foi encontrado um 'byte' de comando errado na lista de macros VF: %1" + +#~ msgid "" +#~ "

    The Ghostview program, which Okular uses internally to display the " +#~ "PostScript graphics that is included in this DVI file, is generally able " +#~ "to write its output in a variety of formats. The sub-programs that " +#~ "Ghostview uses for these tasks are called 'device drivers'; there is one " +#~ "device driver for each format that Ghostview is able to write. Different " +#~ "versions of Ghostview often have different sets of device drivers " +#~ "available. It seems that the version of Ghostview that is installed on " +#~ "this computer does not contain any of the device drivers " +#~ "that are known to Okular.

    It seems unlikely that a regular " +#~ "installation of Ghostview would not contain these drivers. This error may " +#~ "therefore point to a serious misconfiguration of the Ghostview " +#~ "installation on your computer.

    If you want to fix the problems with " +#~ "Ghostview, you can use the command gs --help to display " +#~ "the list of device drivers contained in Ghostview. Among others, Okular " +#~ "can use the 'png256', 'jpeg' and 'pnm' drivers. Note that Okular needs to " +#~ "be restarted to re-enable PostScript support.

    " +#~ msgstr "" +#~ "

    O pacote do Ghostview, o qual o Okular usa internamente para " +#~ "mostrar as imagens de PostScript que vêm incluídas neste ficheiro DVI, " +#~ "consegue gravar o seu resultado numa variedade de formatos. Os sub-" +#~ "programas que o Ghostview usa para estas tarefas chamam-se 'controladores " +#~ "de dispositivos'; existe um controlador por cada formato que o Ghostview " +#~ "consegue escrever. As várias versões do Ghostview têm normalmente " +#~ "conjuntos diferentes de controladores disponíveis. Parece que a versão " +#~ "que está instalada neste computador não contém nenhum " +#~ "dos controladores conhecidos do Okular.

    Parece pouco provável que " +#~ "uma instalação normal do Ghostview não contenha estes controladores. Este " +#~ "erro poder-se-á deste modo dever a uma má configuração da instalação do " +#~ "Ghostview no seu computador.

    Se o utilizador quiser corrigir os " +#~ "problemas do Ghostview, poderá usar o comando gs --help " +#~ "para mostrar a lista dos controladores contidos no Ghostview. Entre " +#~ "outros, o Okular pode usar o 'png256', o 'jpeg' e o 'pnm'. Repare que as " +#~ "instâncias do Okular têm de ser reiniciadas, para activar de novo o " +#~ "suporte de PostScript.

    " + +#~ msgid "DVI Backend" +#~ msgstr "Infra-Estrutura de DVI" + +#~ msgid "A DVI file renderer" +#~ msgstr "Um módulo de representação de ficheiros DVI" + +#~ msgid "© 2006 Luigi Toscano" +#~ msgstr "© 2006 Luigi Toscano" diff --git a/po/pt/okular_epub.po b/po/pt/okular_epub.po new file mode 100644 index 0000000..d4c384e --- /dev/null +++ b/po/pt/okular_epub.po @@ -0,0 +1,51 @@ +msgid "" +msgstr "" +"Project-Id-Version: okular_epub\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-05-19 12:55+0100\n" +"Last-Translator: José Nuno Coelho Pires \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POFile-SpellExtra: Levy Ely EPub EPUB\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "José Nuno Pires" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "zepires@gmail.com" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "Ocorreu um erro ao abrir o documento EPub." + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "EPub" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "Configuração da Infra-Estrutura do EPub" + +#~ msgid "EPub Backend" +#~ msgstr "Infra-Estrutura do EPub" + +#~ msgid "An EPub backend" +#~ msgstr "Uma infra-estrutura para o EPub" + +#~ msgid "© 2008 Ely Levy" +#~ msgstr "© 2008 Ely Levy" + +#~ msgid "Ely Levy" +#~ msgstr "Ely Levy" diff --git a/po/pt/okular_fax.po b/po/pt/okular_fax.po new file mode 100644 index 0000000..58384bc --- /dev/null +++ b/po/pt/okular_fax.po @@ -0,0 +1,41 @@ +msgid "" +msgstr "" +"Project-Id-Version: okular_fax\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-11-19 18:24+0000\n" +"Last-Translator: José Nuno Coelho Pires \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POFile-SpellExtra: Koenig faxes\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "José Nuno Pires" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "zepires@gmail.com" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "Não é possível carregar o documento" + +#~ msgid "Fax Backend" +#~ msgstr "Infra-Estrutura de Fax" + +#~ msgid "A G3/G4 fax document backend" +#~ msgstr "Uma infra-estrutura para documentos de fax G3/G4" + +#~ msgid "© 2008 Tobias Koenig" +#~ msgstr "© 2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/pt/okular_fictionbook.po b/po/pt/okular_fictionbook.po new file mode 100644 index 0000000..3175c7d --- /dev/null +++ b/po/pt/okular_fictionbook.po @@ -0,0 +1,81 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_fictionbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-05-19 12:54+0100\n" +"Last-Translator: José Nuno Coelho Pires \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-POFile-SpellExtra: FictionBook Koenig eBooks\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "José Nuno Pires" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "zepires@gmail.com" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "O documento não é um FictionBook válido" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "Não é possível abrir o documento: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "O documento não é um pacote ZIP válido" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "Estrutura do documento inválido (falta a pasta principal)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "Não foi encontrado nenhum conteúdo no documento" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "Documento em XML inválido: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "FictionBook" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "Infra-Estrutura de Livros de Ficção" + +#~ msgid "Fiction Book Backend" +#~ msgstr "Infra-Estrutura de Livros de Ficção" + +#~ msgid "A renderer for FictionBook eBooks" +#~ msgstr "Um visualizador de eBooks do FictionBook" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/pt/okular_ghostview.po b/po/pt/okular_ghostview.po new file mode 100644 index 0000000..bff78c0 --- /dev/null +++ b/po/pt/okular_ghostview.po @@ -0,0 +1,93 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_ghostview\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-04-13 18:53+0100\n" +"Last-Translator: José Nuno Coelho Pires \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-POFile-SpellExtra: DSC PS Astals Spectre\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "José Nuno Pires" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "zepires@gmail.com" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "Usar os Tipos de Letra da Plataforma" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"Determina se o Ghostscript deverá poder usar os tipos de letra da " +"plataforma; caso seja falso, só será permitida a utilização de tipos de " +"letra incorporados no documento." + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "Configuração Geral" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "&Usar os tipos de letra da plataforma" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Configuração da Infra-Estrutura do Ghostscript" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "Versão do documento" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "Nível da Linguagem" + +#~ msgid "PS Backend" +#~ msgstr "Infra-Estrutura de PS" + +#~ msgid "A PostScript file renderer." +#~ msgstr "Um visualizador de ficheiros PostScript." + +#~ msgid "© 2007-2008 Albert Astals Cid" +#~ msgstr "© 2007-2008 Albert Astals Cid" + +#~ msgid "Based on the Spectre library." +#~ msgstr "Baseado na biblioteca Spectre." + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" diff --git a/po/pt/okular_kimgio.po b/po/pt/okular_kimgio.po new file mode 100644 index 0000000..6e312be --- /dev/null +++ b/po/pt/okular_kimgio.po @@ -0,0 +1,43 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_kimgio\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2017-11-15 14:00+0000\n" +"Last-Translator: José Nuno Coelho Pires \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-POFile-SpellExtra: Koenig Astals\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "José Nuno Pires" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "zepires@gmail.com" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "Não é possível carregar o documento: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" +"Este documento parece mal-formatado. Aqui está uma melhor aproximação da " +"aparência pretendida para o documento." diff --git a/po/pt/okular_markdown.po b/po/pt/okular_markdown.po new file mode 100644 index 0000000..e44f8b9 --- /dev/null +++ b/po/pt/okular_markdown.po @@ -0,0 +1,49 @@ +msgid "" +msgstr "" +"Project-Id-Version: okular_markdown\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-03-31 15:00+0100\n" +"Last-Translator: José Nuno Coelho Pires \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POFile-SpellExtra: Markdown SmartyPants\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "José Nuno Pires" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "zepires@gmail.com" + +#: converter.cpp:59 converter.cpp:93 +#, kde-format +msgid "Failed to open the document" +msgstr "Não foi possível abrir o documento" + +#: converter.cpp:106 converter.cpp:124 +#, kde-format +msgid "Failed to compile the Markdown document." +msgstr "Não foi possível compilar o documento de Markdown." + +#: generator_md.cpp:58 +#, kde-format +msgid "Enable SmartyPants formatting" +msgstr "Activar a formatação do SmartyPants" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown" +msgstr "Markdown" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown Backend Configuration" +msgstr "Configuração da Infra-Estrutura de Markdown" diff --git a/po/pt/okular_mobi.po b/po/pt/okular_mobi.po new file mode 100644 index 0000000..62a4cae --- /dev/null +++ b/po/pt/okular_mobi.po @@ -0,0 +1,59 @@ +msgid "" +msgstr "" +"Project-Id-Version: okular_mobi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-05-19 12:54+0100\n" +"Last-Translator: José Nuno Coelho Pires \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POFile-SpellExtra: Jakub mobipocket EPub Stachowski Mobipocket DRM\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "José Nuno Pires" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "zepires@gmail.com" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Ocorreu um erro ao abrir o documento Mobipocket." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "" +"Este livro está protegido por DRM e só poderá ser apresentado num " +"dispositivo adequado" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "Mobipocket" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "Configuração da Infra-Estrutura do Mobipocket" + +#~ msgid "Mobipocket Backend" +#~ msgstr "Infra-Estrutura do Mobipocket" + +#~ msgid "A mobipocket backend" +#~ msgstr "Uma infra-estrutura para o 'mobipocket'" + +#~ msgid "© 2008-2009 Jakub Stachowski" +#~ msgstr "© 2008-2009 Jakub Stachowski" + +#~ msgid "Jakub Stachowski" +#~ msgstr "Jakub Stachowski" diff --git a/po/pt/okular_poppler.po b/po/pt/okular_poppler.po new file mode 100644 index 0000000..ae14acd --- /dev/null +++ b/po/pt/okular_poppler.po @@ -0,0 +1,390 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_poppler\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2023-07-03 00:54+0100\n" +"Last-Translator: José Nuno Coelho Pires \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-POFile-SpellExtra: Astals Encrypt Poppler NSS Okular OCSP\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "José Nuno Pires" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "zepires@gmail.com" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, fuzzy, kde-format +#| msgid "Enable overprint preview" +msgid "Enable overprint preview:" +msgstr "Activar a antevisão de impressão alargada" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "Realçar as linhas finas:" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "Não" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "Sólido" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "Forma" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "Modo de escala predefinido na impressão:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "Ajustar à área impressa" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "Ajustar à página completa" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "Nenhum; imprimir com o tamanho original" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" +"Ao activar esta opção, permitirá ao Okular contactar os servidores OCSP de " +"terceiros para verificar se os certificados usados para a assinatura digital " +"foram revogados desde a sua criação." + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" +"Verificar a revogação dos certificados de assinaturas digitais, usando " +"servidores de terceiros" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "Infra-estrutura de assinatura:" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "Base de Dados de Certificados" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "Predefinição:" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "Personalizada:" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "Certificados Disponíveis" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "&Carregar as Assinaturas" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "Opções do PDF" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "Imprimir as anotações" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "Incluir as anotações no documento impresso" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"Inclui as anotações no documento impresso. Poderá desactivar isto se quiser " +"imprimir o documento original anotado." + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "Obrigar à rasterização" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "Rasterizar numa imagem antes de imprimir" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"Obriga a transformar cada página numa imagem antes de a imprimir. Esta dá " +"normalmente piores resultados, mas é útil para imprimir documentos que " +"pareçam não imprimir correctamente." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "Modo de escala das páginas impressas" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "Modo de escala:" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF v. %1.%2" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "Formato" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "Encriptado" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "Não Encriptado" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "Segurança" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "Sim" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "Optimizado" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Assinado por: %1\n" +"\n" +"Data: %2" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "A usar o Poppler %1" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" +"A usar o Poppler %1\n" +"\n" +"Compilado com o Poppler %2" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "Configuração da Infra-Estrutura de PDF" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" +"Foram detectados alguns erros no documento, pelo que o Okular poderá não " +"conseguir mostrar correctamente o conteúdo" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" + +#: pdfsettingswidget.cpp:120 +#, fuzzy, kde-format +#| msgid "&Load Signatures" +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "&Carregar as Assinaturas" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "Emitido para" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "E-mail" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "Data de validade" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" +"Está a usar uma biblioteca do Poppler compilada sem suporte para o NSS.\n" +"A adição de Assinaturas Digitais não está disponível por esse motivo" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "É necessário reiniciar" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "" +"Tem de reiniciar o Okular depois de mudar a pasta de configuração do NSS" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter Password" +msgstr "Indique a Senha" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "Indique a senha para abrir o %1:" diff --git a/po/pt/okular_tiff.po b/po/pt/okular_tiff.po new file mode 100644 index 0000000..abee24e --- /dev/null +++ b/po/pt/okular_tiff.po @@ -0,0 +1,23 @@ +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-07-09 16:02+0100\n" +"Last-Translator: José Nuno Coelho Pires \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "José Nuno Pires" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "zepires@gmail.com" diff --git a/po/pt/okular_txt.po b/po/pt/okular_txt.po new file mode 100644 index 0000000..4d5127f --- /dev/null +++ b/po/pt/okular_txt.po @@ -0,0 +1,46 @@ +msgid "" +msgstr "" +"Project-Id-Version: okular_txt\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-05-20 13:50+0100\n" +"Last-Translator: José Nuno Coelho Pires \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-POFile-SpellExtra: Khuzhin TXT Azat\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "José Nuno Pires" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "zepires@gmail.com" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "TXT" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "Configuração da Infra-Estrutura de TXT" + +#~ msgid "Txt Backend" +#~ msgstr "Infra-Estrutura de TXT" + +#~ msgid "Txt backend." +#~ msgstr "Infra-Estrutura de TXT." + +#~ msgid "© 2013 Azat Khuzhin" +#~ msgstr "© 2013 Azat Khuzhin" + +#~ msgid "Azat Khuzhin" +#~ msgstr "Azat Khuzhin" diff --git a/po/pt/okular_xps.po b/po/pt/okular_xps.po new file mode 100644 index 0000000..21f6b71 --- /dev/null +++ b/po/pt/okular_xps.po @@ -0,0 +1,58 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_xps\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-08-06 13:44+0100\n" +"Last-Translator: José Nuno Coelho Pires \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-POFile-SpellExtra: XPS Jiri Hards Klement Brad\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "José Nuno Pires,Pedro Morais" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "zepires@gmail.com,morais@kde.org" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "Revisão" + +#~ msgid "XPS Backend" +#~ msgstr "Infra-Estrutura de XPS" + +#~ msgid "An XPS backend" +#~ msgstr "Uma infra-estrutura de XPS" + +#~ msgid "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" +#~ msgstr "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" + +#~ msgid "Brad Hards" +#~ msgstr "Brad Hards" + +#~ msgid "Jiri Klement" +#~ msgstr "Jiri Klement" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" diff --git a/po/pt/org.kde.active.documentviewer.po b/po/pt/org.kde.active.documentviewer.po new file mode 100644 index 0000000..c70f4fd --- /dev/null +++ b/po/pt/org.kde.active.documentviewer.po @@ -0,0 +1,212 @@ +msgid "" +msgstr "" +"Project-Id-Version: org\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2022-08-03 16:36+0100\n" +"Last-Translator: José Nuno Coelho Pires \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POFile-SpellExtra: Okular Android SHA cer\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "Favoritos" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "Visualizador do Certificado" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "Emitido Por" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "Nome Comum:" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "E-mail:" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "Organização:" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "Emitido Para" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "Validade" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "Emitido a:" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "Termina a:" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "Impressões Digitais" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "Impressão Digital SHA-1:" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "Impressão Digital SHA-256:" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +#, fuzzy +#| msgid "Export..." +msgid "Export…" +msgstr "Exportar..." + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "Fechar" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "Ficheiro de Certificado (*.cer)" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "Erro" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "Não foi possível exportar o certificado." + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "Okular" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "" + +#: ui/Main.qml:49 +msgid "About" +msgstr "Acerca" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "Senha Necessária" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "Remover o favorito" + +#: ui/MainView.qml:29 +msgid "Bookmark this page" +msgstr "Adicionar aos favoritos" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "Miniaturas" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "Índice analítico" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "Assinaturas" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "Propriedades da Assinatura" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "Estado da Validade" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "Validade da Assinatura:" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "Modificações do Documento:" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "Dados Adicionais" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "Assinado Por:" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "Hora da Assinatura:" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "Razão:" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "Localização:" + +#: ui/SignaturePropertiesPage.qml:96 +msgid "Document Version" +msgstr "Versão do Documento" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Versão %1 de %2 do Documento" + +#: ui/SignaturePropertiesPage.qml:108 +#, fuzzy +#| msgid "Save Signed Version..." +msgid "Save Signed Version…" +msgstr "Gravar a Versão Assinada..." + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +#, fuzzy +#| msgid "View Certificate..." +msgid "View Certificate…" +msgstr "Ver o Certificado..." + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "Não foi possível gravar a assinatura." + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "Não Disponível" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "Não foram encontrados resultados." + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "Nenhum documento aberto" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "" + +#: ui/WelcomeView.qml:108 +#, fuzzy +#| msgid "Document Version" +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "Versão do Documento" + +#~ msgid "Open..." +#~ msgstr "Abrir..." diff --git a/po/pt_BR/docs/okular/annotation-properties.png b/po/pt_BR/docs/okular/annotation-properties.png new file mode 100644 index 0000000000000000000000000000000000000000..cba7cc54d9c954055fd727f897c2c38db6b3a3fb GIT binary patch literal 26410 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 literal 0 HcmV?d00001 diff --git a/po/pt_BR/docs/okular/annotations.png b/po/pt_BR/docs/okular/annotations.png new file mode 100644 index 0000000000000000000000000000000000000000..b4f3e37f3833b2a595c6bf68958f49a8145395a5 GIT binary patch literal 152552 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Ⓢ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 literal 0 HcmV?d00001 diff --git a/po/pt_BR/docs/okular/bookmark-management.png b/po/pt_BR/docs/okular/bookmark-management.png new file mode 100644 index 0000000000000000000000000000000000000000..de5d79b02fece242a1c31d150a810bf46b92a387 GIT binary patch literal 89224 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 literal 0 HcmV?d00001 diff --git a/po/pt_BR/docs/okular/configure-annotations.png b/po/pt_BR/docs/okular/configure-annotations.png new file mode 100644 index 0000000000000000000000000000000000000000..727d2740d92802a5564754854d3ee9683148e5e3 GIT binary patch literal 73938 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%0DutNQ&C3db^!9|InmO zVF09XOlf0J#uR!~R!Vo+FtZKlRk4qc-p9MA(elF5KPsRY8$X`&a16jW0>n z1+2RJHRz4+KNXg_QS%koDiahmhf4k$@u%wG%8|{Qc5N^A^_HZ;n-u(f@^WsR^MUWp z+2EW@vG=Z!4YG!4@%o4oipFhmu<}U>DI~%eES=w8)t48V*)jSY4@><`L%qX9v#ym} z={t4tr#Oe@{&bZTPJJ+wZ4m ze~|^ua!zE@LwTbENN|-Qpu*Zku&KPV*|!{$7=+NmtDf+}u~_3uiZLD=6d6J&g(*AG znGO|0CC-=+KXCd?+~*jPij%-=j4L~QVRn40n{DpBM}dGq!nJS*Wh7W4P8skL8VnKz z(hx%a88%%Jz(>Kf(s;Q*RRFp~+|$GV86L60W9LVE5XTi4AL$rM=h}HrPB8{k9jd{v zU)wu-1b$Jo59zFLgQ_ATD2*N~kMUw`xuj(@x*BTW)@lNIA5R{u3h!D!(`=fVG>>Z{}8>bb3vp$tAa6dT-~;xf29 zEmE{N6bi+Q4^rBqh2rim#T|;fyB3PO4$e1yp7*}@ekc4fze7&4vy(HEmF%^0b|{4F zBfFS{lNhVDVFh4DjC_hF^g<5gK9a&LZg?b1Rufq4sX&(m>3?T-8U`! zI+?Wez||+e8-9V`ADg>Ag~QkXqLbq}*1Qd@hzzJCvfy6-+djNenw$K3-O$NL?y3eu z<4Aiq0hyb4JZ63lR0KCTU@-_}XlPHsA;NCN;mGxnt(Q&2wgf)M@qDDJ%`rmcx}@l!vnO?W?Be zb?Q3@;Z!w!k2zJVHuJwDf<__ioF*~-2Rp{dx9bEy6aLqB%t0h%R4{zWvk*>N5!5dO z%niOf9Da`r`pG;b8l~)#hEmzfw#^zJaZPr1dOq+3=*}2Q`fPA79FM%cYF`k#$S96v zihLGu*q@y*uH~*p8e}N}H;2WkYCx8&IKX&w$#t4CHAS@zafvmB0XXl=)^Xq*^;foE zAG92%WS>K)?vp&f3p6H(h(1ifx`I7UhFf`Eu1|zqVyyk2WT^;wSCy@nbm-SS?c)tw zTo;z#R@Z5{ss?p+Z5zvO3A?mbH2G0EfQG2zYQy}I=MM@oS=-%r?{ir)d#@7`@9+vRyadeFl|_dthu z(_zS$`Nx*Lz*8 z#n7*cS`=LA%}fT%c)85JzZlM#|w;c!W~MqZG-yvmQ?vC!wa05WC6?!e$ok} z<|pw5?0UZ88;pbUb}?b6jfekFnUG7-%TCk+wcXVTlx-`lg0WP|b}!U}t=&fYZ<`*+ zrt;y~dAS88ZNji7YZDPd2Ag5Q@9yY=g)d&dg^&67ubWBw?iK`^#JPpO7@b;df*wa7 zA6;P_!u`z=Y>qaL*Awh7{63PCd3E%@^Uw4sRI{?$xhcLL$0h?D#T4jHhO9Ss9rD4_ zuIyS?;pGVyH@x(FP`^2ko&CaQmK3J^77qG{X9_9T=f+{w}#*zGZ_=g#U zTp2a^jXsf~LY=`RsL%?R`}+)k%V}+m#s1xqLVgxnT7fd6FX3P7$OPnSP*%w(Bg5*b zpX6wU2~nZ$n`GRnn4O%FeJ~?5Uvv@z;0C!fiJ+L+UE!LTlke%N89DZ*P&380ox!=S0T<)V3~CyWc^@LCbW~5`3Ks zHto86+zv$JsVfcXHE@D9J&(MtKjXm1JX&o13{DF8iZF1QA?l{2=IYT00AwK^GqMGuYbr!pK!A6H+ ze~|M=tM!;&G#pwUkz$y*s@aso5C~uJ$;-*TN~D?BNKOW;#3Ff|tnk_=d!Bb2)}O4Y zpY|=2>(&-q1W9+bthE%BXCZRs`3@_dcJq!8^=q%(g+g9ZYdcV#7 zog<$VbT!U5?{e%6TWtkw2M|=R9*HbPb6>y2Z*PD8O;lsu^1@!H_BO&;Ga_IPu!o=t z?IXRwT<=KsYNxC{*cHwE7`Pg3!NupxBZPLkabpmzBC<-%HbtthuXBP{IkKuX#cSB& zaoTT(;PD>2lj}}#e8ltbxXdDcY(ZU;%f_IR?rMYh&$w;xwSSZ?IUm>WEV8dS9oEHd zal5bEy%1|{ou9K=tTKk+q5)TJ5hdrI)|EZRZ2f2%uP3JFZ_&6qvAcM;X(ovBV@rcz z1_6Mj+sg%B6lg^@hMCLf1zTO|D1=*1%hSa73vDY{fR(0Tv5q&D{s|ACC&@?yPRM!X z7!U$(Ud;}+w2S+xyo?LWheacTFbafZE#LU$@bQOnc0X|mVQf1&yWQrg#LSblLCC3 zQEbx$ywG_2{YUknOK;=%m?YXg)@rfn?^~o5zXd@xWO7uD(%aK>@|IuPD4N~%AsQtw z%r`d;@e7?)dqVAz+)-5dAc8P2N>oVK1iq*y77~!PqX0rvO9gO zfG)iN>bZLyS7s)+NeJTM2|j*H3PL(WHR#39sY_%g>&uAsD06c`#h*C`@5^H^RcT^G}r!gD6BL}{lB%19@>+Q(enkmQab>ntIUId6)*qOQt3-Hj)9(Yz*~uy9%R69!l}QHl1SD6t4GfEXZ2D2YO7@s=GlQ14D}xs{Dj_;a5Y`EV3=4Sri?`1QDsPBV>~EWBRAJ7u!bB6JO*aQm}`CINC=|oM9J3fr9u9Ws` z$|92c({ihjN5tNyI}i7h=zO<%BW22UgNe7?ziwRrJ;EZ7W10<9UkPGV^x?a&etQhE zOXG}h@i%O~OCxftrsk%7zqJbqs(OEKqATX(Y8x9Sl+RG$@Ti1$|G9{=?TcNuJbtUM znI{@ya)Il*#Kb*21mM{VM9`nc2+?t*WoECeT!hO&Yr6z$J(>>96x%TkypTsZU#3r* z3`b)~60Tf;gQ^2xb+R+z8%#rOq|HSj_to$|oeq~3IpQK{_C2*y4&*fD!?&h0awgO* zRnIuscVVqV{f*Bb0mMfiGQn{wK+>_6Ph)oS#<*afys_mm-s}<2gNQs5ViXxX7xg66 zURU?__wdQ-Abf#u+6lWfX)`bYea}S7Qy#{F8sNOld+co(uLkpMKHm57P+VfJy0zJW1!l) zeCk4`pY|mAQAR(EM{wp9YNrJUAviJWIqRBok*w5h@U5&Gllo7F*Dj0{DPE0aKz`7B zaKk9LzuF_g`U4$+vfX>}?a?Qos4yv3V8w^`{2+27ur+s`BK8(=Q4j+ZehNDAb_i(B85CVW}8QkbrcA3AI6_1BLmzxE z_>X+okfGParR_&0yKtl5-+R2-*7o@kBH~P_J@qNBB!jbw1}Q+PQ)@}*ih&k|U#tm? zTbvq_*+A8h~KZQzH(J+2hNyZlfB56|A zF}q;}AVNbJ6QB+ekxk8QO=}?F_7!XI7)(7q5eL^;Fi!$mCA^}_MN2_&EcFSW+w_QI z$?wjP#LvA=Z46&1ew~mnbY9?6dvZrM?IUQo&wplhhNNGTOFy=_F*a(XWf=?bw}%X^ zK`p@@-Wje`E4K|M!zYoU9j#rPj@HkGORHl2;7XIzRU5D%+s9+JUO>MLPd$n#K@Spu zKGXkfH>TZK85<@PmE@#mCWp(w!WnA${q@|VcfkGR3uX)L?DmrpWJ&bsF{T9+C*j17 zdnr#y@D2*Fmtn^%j^tLae6#FJv?$SAW4T5@2rrySvX$kfS`|&(|8?(WG{_4Fn?rAX zTEmM#%2qndjM=?Xf&7R=An5bV&bc8Ho>UCdRs|AZtK+l~dN24oHsJ?SC7h+8vif2( zQ}B{;FgHR!HAMS1-90jTrLs_4h7<(}@I`#CKEMb_bkN#m`C>8b`+ z^T*%-Bc{YbN;hqObbZ5;GEdgtY0U*@w_YTAmOIa^r#Dt#-;?l%dkDoFoA~%95$6rZ z5Yy{KeSd`l7_oE#8}nxO6A%5E`=r7MBg2x{UmH8f*(d#2S&H1=?wJ+-@$;2B4=MY`CBG%FQQ2%agyhC%Oi@kp7zsZ!X{B!r9Vc?bc%rjsn>VHGh_ zy38(L8EA^!=@y^i?`t5n{@LSc?4M>){BF(|KXcr0;DEP8O5^#t8Fj9`3U{QUkpNwIhX#}s=#(c`xJ@VoX`h-p zPJqSosgng*4h=E#MG=1-necDE#LfkTjI-U6h^E3jRWX%I!8VI6(A?612&h$l*(wer zcXK{3;R*TGeO@l%BQFx7`vp-lg(T$;&IU&3XBE{b;M1D4`tt_??`YS+yt5$;w4=my zxEN@;d-jrTs#~J2@&=RvgT&l%Wu~_^ zLOra%E=45>wwS>-$0=RCQC{o!=aw#8wUko>k8(k#v#^Uhn_Zz_OC&YHj{7bLN`HH` zvw><1FDRbp-lW~q4U3ESO$~il;uE6KskK;F@ zvCWsMzR?Xn`gwX!8ahj65^$cNcEON{ffe&>&%$(|iGi6GI@fX4KgE) z7>z~FCu;8rfVJyb+=sy=cwJINa{7ph&5)Ij?X#BH{46DUYFv3AqV}1+>{wfo#~r$z z$H<5XtOeC*BS|!gP%zaS85x;NYi0}AV1c|FIHws2QNaY z>ws?mM{EV2U>3Q5Qb!dr+B9?R7=D=V9Sd%v`MfM4cbruczJ`#ie%)-$!DYh zXwr=S+F?k~SOIYcGZF?g76}f!*zCJCb;DZ|2EVBLK^8zBz|lKVqA_9GaZJJwUm-ZD z9E1VM>0cqL&W`91YQ)4y$O3Mhku;k87s*glBA(ORqv7H5XD$zzVc+_S_rk1YV*OEM zo}aKVi}WUJQCcf>cPQGNl%@r>oY6PKy+xdhFZjaY=mFW1I4S7oZ5jj3KfY{`mpZNI zMZ)3*)c1WR6Zr6Z;*`tI?tt!`?&0Sll9gQMAy7$F*pMjlj-sJ`F3TQ zT%3*VL7SSX`Zzzoz{9<@x|*q?G+3WNj*GnaH|@+#OO3_1gQk@wR$Bf#-{+H^o$9is zJMoC{2s2B!s~tCZ?Oc!gH*a0k%+CZ*IC0_q+7Ej8AkAeiXX@q+sEv`FcE!ouHjs#P zzxpldO5;njySVsrkhORnCy^_dR3?kw0xeM%2$0n)`)n$kxgFZI)w{WiADU@oi6bfA z?cUkf)8k+=^(hOhYl5lm(e%XNQ*v1LX@w?o76h>@KxZ0BtM*b71As^Ll8nkUFuRZr zJ(y&LBpcibLdzE=eBq%rM2YT??&J0&66-}voPQLKyxUS~T?&{$}{?_+3q1p)JSpb`z!m-Q!tjFXUe zIX8G?EPDlQtQPNIH;T#RlzdUKVohRuQ(QS8oXGyeqVCQ29y`WwBWi?JWI(Vk@)RD= zUfOpVt`Jkjb^G>=_GSZvT{Cr@4~J<*BU!&_#IUe%zSV8w$67G4nA zHcTYy6)Y^0h2r(4EzbG5vt`KrHWh2O=!$03qGv>QRpL183WofdiedTvhl1HU{=kcd z6Eyw-RdFgm3=uKf919mgceCPqHDAM12iwM&`*_lbKPl;IUoNiR2B#))#B#KQaX)vp zWSt~jx$QRm@_fq1?+XlaX6+T=5tb|8CQ=$3M^JZAkvevDW!Tny;S)uY`K!*_u&U+K z0!>%E5$W!um0XN{&gQ0$-!|LfpRxKAB7m8+C7xf`4VGmA^Qo0uIK`jRrn-2(1%uQK zXOZS+O{1-A3L_(%k}!OQpw{A-0Hj-VAJ8u&XP;LhL*ir8c18Jhk;m@tXf%cIVx`0Z zK^CmSiper?c{>-T>!H5+AqfX;VV&F>VJXPut&7&!?uvoa?5^8CI!?!MP< z3=#@x%o5abOCm8o@-yzcCx*S(4mY?FH09xGTZ zGH%K0y}|TbeMyCzN(aqs_D6y*Wd()j_Ld0yBptSxJ>D+BM& zdXzgOivAgMU+`yToxSmefR#*^*o6iAEB>65hqI?_(AJIr5Jw2Bn&9GzQBd#+8$#{s zvMbUs6&>pN!xh}B0~iWF_%j{Xf#OglXqsU^QdY(yB2jVCLKsn;FFmpdJDZ~Odxz&V z%E_U07-m(M|B(uzAuoS+{~LAM0c=74b#s{-eY=laIR2UhPeLw@-UcdNg8)&~#e37p zIsm}vBhTS(mAiep=%2*KL7#Y!9=xj>>ZPi(vme&q1s+p|b{eC^XFyliE8d7=<<_a; z{Bvf8)y3E`Joq`(&TYs{*5&&$2P-s?h-dS^0u6JJSRv#<3?*A#8a&-7~mjQ}g z=3{|c-t`k-wB2q8W#T}^fsP6w0^ssWgYJyLVU^4XhadTi^=fd19P%2RTK0OXlV~&v z!Nw261}W1L0sKO*cZ1Ux&Q6E!jGAyg0Lk9m;7aO97iL;+Z-?6#&T78;`9%^y2sP=R zso#scQHDg{>z4^U=$HZkJ-K%ZZvEPRe_XtGBgst;JZh@nfLsqm>Kj1qkqw2TKT`3T zGMi9DmpTvvF{WRxd7rPC=&DC`%fITEHt|A{bTLc|_W!0XrAXWwrvDlR2H zJ;>B%0AF6PA6Ha+={L4gB40Q3ie4zNp8kgAIo$IWt_?V(}M>wrGKVpI%b1U z8GeRAI|P87Lq35D;jtUF20A*rS-*Y#eZHn=UGG@UPYpXeh^>bV_XK#KY#Q_0_io-D zuNhQNarYyKR*l?PQURSMUU*++-V-W4Abq2O-AO1OpHEe`evxR|EY} z5^^4$Fiv?&t4RtPuJAj$R76=`Xy9F~9ecEQNB=u#C1C!hrqFk2M&cdhMa3D}U z<1P$JO=(Y;TpvCp2fv=?l_Btc-o5)_V}gBJlwd<=b1*bXb_ zXUB7mc`aoWu4nHu6o|6=mYAjW+*!&*;R`5~0g)d?E;-c&%HtG!sK7dWxZIF*2rSG? zxhltapaq5d2;`cC(CiC4VYr{i5iyBHXEPXmkJ@A*LPaIrna(>vIwx)w~pCie`PzmiD&DsvC6lO}pjdna7# z)V7SmG@;cX_+5zvA?UK64y9V~L%F23`oe~CfK}xAl@8R{RqQ3QLhN@DIJrIy!c|A= zpMm5K7Mzx6&-_qU`xhON0n^LsTJPKLQGLs_Y095kmxDUK@m51X9f<7@KR{itA?+1j zQKsI$-NE2p=G)aL@flhaAAXI~Y6Awl?{Q+1l{$4NsHj1bPTn4KFNpTtAN*he>qZss zoS&rvuU0}rUIL4m&4+x+tIHTb%XA`<%<6<9{D`<*P3py1F1}Kr@VmTn){+aYdU><5 zR^y;zvn4MH43fM$znhzZDlD$|HMF(EzVk7?Z?8G8Ur!uMcqRsPz3ktv1u$KsG)YTp zNTAH_Jt4>&%>{!C&+_iZrz=+7_Ts16_r90wlg(y3cbl^aC{|s^Hlg7SrX6!)b@H80UMZ(>2`tXr`JyZ~6q`>Sq5sPN1sCmy zf>daUSJbsHn%)!_>GzBjEbVb$2^tV&zouCl^~_#FGcPf9zZd7pniwSvUH{{kCu<@xQlPWy>nYQk5bwUoq$I)1~V^GWq^>Q}$*b8_8+OY5%J zk#_|7wM)dVo2tS6xh%Ek!F8ISf77%0aTarls_YXH^}OqdpEX8H-R*6AJxFtjQWs0i z@7&@{;4yK#)<$7WdC3-K{7q=;(vIBt+y1;Im|N5b6zZECKM#Y$e9+;u>F>!SVPg!q zv+}OZ4PVs=nBMtGE=#F9YpA zhtn9n(*z7KY4=*fFgbxD!jDWSXJ0u?RrqV=O)a(OpWUjg3M%nWqK0iB-R7%Y<|@6% zR(~k~pO!&W9nms3%?)_lbuD5?uqd-zm*#87{ z+(gk7Ci&m1ea9@~S#QaL9Y&UX|IuuW_gylwSX#B^%-OlKT6BfwuYYVNF9RH~*Bw~R$*d6T6q95vq^ZKY$4?dHC> zLos*PqgAh4in>J4tr5gctF4wH#46$U^i_{mocE_oZb7{|JT#YHoLPTRg^*|G;=t#2 zP;ZZlL?-fH+U3z?*n3|iWsod6nR*l+?E{ZN0{vq>2?Y(%j=edrsu9KB73~K}lSzxr zlF`6oev8kKG(j(=;t`@l*4_-!8IM22L|<9>9da^Y}*Ig0I@J~hTS{}KQ3t9vRbdqO(g|SQ! z<^u8l`s#037eVJPsIxfPz_q^;JMzOjHmzzFamjS`hM1h8&mQPAdX{U1&5LC25s-AL zG1FYU%^wB;hrUR2tZ~KeeumjB3Rz$#QRm1lirHoz`1`i8yu^}XaT|DFRdr_7g{D8BO=}ov9*{oX3nWg4WtK<%m#b9i180M$yXAXQ3K31c zV?NdygHeg^KZ&cZxgPJNa175!WwfW7e_8WqOBre|iL{$Y5cser6m>9~TANbuXs?vl zHilOI+(k?OIrE)rVE%l@!u=W1%EmtNDgyIzb81$^&{_X?N)#+Coe*77=` zE$q>+ag$lf>Enk_WjARIG_}1k?V9qSLuveX+0{eXGnBJCH9Q6R-YnhAmD5TY$#05q zdpF@6<+%@Q%GjMQJDg0t%de%WMBiVD^udpEDGM&X$8}@>om_bAp#%CGWBxB0ubcwf z(!j4uy}OE|=d6Syi6TNah>Q>bIXF16miB_PS4!7G(?DwK-7T4QPY!G4p&|H_fw^Lp z_jro`;kI-HXRe}b;=u0%g&);r{xT~55nlZd_vJr4^S|`q|DmG)OK*cSBoY3l8Yuh^ zYyBUZ3Y>iSA4mL4ke{u088cSSn|fgTH#ZOj?YN#=oOKj&Ke}$vThpkTTbf$3p9+zJ zudKzWEUpCxvU{cHR3(P|!YzrEIh@`T9@@TWN&jDaAVMLgzUDdX1mDUxHr~k^mz1*_ z;@4KGFho;(=Is@??jLW%DE~v6fm;KD9?gQHD!f#3M9-8H9Q>IqVrNIZ1wL5Z|QAey-idKGJ`OhZ0|sR79IX zraaqULm*`oV)E{aUgaF6UWhKfu}o-5i)Ubl!NDc=0r|MW@lRk@O$EwM7s}Z0wlN`C zBMy$JM7jJMO~ngr)E@(cbQPr=%YD+)xrOggzog~vE$G`){4h{`L`I&TUse&4Kac6V zaC?Eg%&^+5Taj>%FCs#6((|=2r~2Ewr6n!ZG6#q0ya^36P42!ES2tt?QYW&}S3fuP zwG8AKhb%FJpCADoH8rQVkwjEEvt$kg>U5s1Q5?iG{7jkxedQ%OsMmYCbW;0E6!Wo? zQxAtiqevi?*B9cgDalr!%Wgc;Dy}R%1&ef}UZC!6-S;TyC>t*pid~oY4T?69b?}VPU=4Q+Q+a!I9PxE8< ze%JTRtO8M~R767UV>bbI`(#W6*xGb2=`E+cCdrPKUr{J2qmr9(K%xToN4f!h@MT;G z*8pz!hwL}aX=dClwX!_2D6KVmpv_u1#NJ36+d2D$bEqBlX6V%;W{6kRs3X=jA~3($ zD+9rCNSsQddD&4oHAc~7ZZ6Mwi;!T_yCAmDT?_~U%*m+TJztFc5QD=;;rqZj`V6AUVC=mGtklfbrIY_)QC_i zsb>%nX?6XL;>%Ylh#v!3e0G%^o#xgbjwFdcA{uIuXCffn{V~di(@oTsbu>wO+oK9! zX#mh_(S9<>z0869tfYCt$R5-oJDvZru(Z&@HZ(ZSadJXd){43DII3|_c9P(d)bW8M zAwdW>>dLVduwL!C?m2q4>@jNQYkI zO>O;*5X(sZ6;hM9czu}Xz(Vk?!Nv{3Rdj(&9JJ(d9D1Z26x11$(+9;F8oJtktHN7d zeSJ}1`wCf7eb^Wg9+QYsr`xS7h8^DS-L4?wiZtZn!v7-d_u|A3H1qjAg43b|3n7_$ zm33;KP(zFp=HAr3>URJXNir~#4h=wW%NuB_3qzZPs5ZRmKm}`Hg(Xpl1idq9mn620 ztuY6Oky-i%&=h4fd_yqePcV-}h6*Ur@6g~GRy6PqTx2hbOtP{wEHj!iens1fsQcnN z`nIdfO%ha4HU5^4AA(l-^H$IpM_%q1!QAq1(PPp_=ih_BZDxycFMG&|qx-$|L?L%6 zxAnEx=vCO8*QpH`q0%=NKFcVQ&kIgZxevV?7bp62XO1qKxJ}}G1eYcxz|jN@(;Ga9tr2=vE#e;$E; znfDICC?yJHuFl8+&EF^=kv#PKOEsnCb$R@FlhBw83wpewG?vW81`9k;<-p=7y=MYcv=EfxFpd0>FGXSxz zVA=zm-OA*m33S#Y&eEr>1NdA-e63x;-eIn$99?Eq^T_)s&vn)aAKW6qwZVstZQ7du zj)V1Ce19$xVG)6s2>P+LDA4b8uP_0PuEBR4T7X-wH9sy4@;rd#0kT>{5*|tRY}C~g zDFBhY10BI`wN9)B@nT|ka~iBryi>m7kTrE}X&LgCH;_|H!mBLTc+rPrkoqX5@&39V zb&P>=PaQZHJ|}s{h`qc!Pf|gAbJlYR4C@xl;fQXfiH{X4n1q7wv4{2VnA^Wq59tBw zx@A)ZgI23=o0WDdA6RsS*$JbH=k#uFRE0}f%(!rF>wx4g|AVdII2%wH zOC{mI#Z>Hz_%F)xT%bc92X$gav)6&UkD(Dh^nb9MUIIu(=)=?nF{gR`9P$6&{tQx?D_;xS`a$@&iht3Y z8?dwS_SS~Ky^&Ane^B572pW|k8qt0f>HXiDoMxp@7bdk@yzWOYasOLUENEC0fdSQfkjl>9GZJVhUjX=eFLdH)L*GeN0xDJg4H14Ent=a!UE zl&NqV+kXxC2jl*y-|V3OZ6dJq%i;AW%{UVmUj)Gf zIsM+%r>CU8)F)FAnJj6EeTHdigdFbk;*lT;Hry6Ci0y=*DM(w{T#cVI0Yn(hTY995 z_$f4jcIRF~h}tDhVsGC}cp!^=q$d9tf`)-g!2lOAMs5VdX}Z2F@;zK36&4B3+pfUB zp#85Izr&3F&f3F~1&<~0i~x!;*|)-JR`i5AakpAomS}QDah%geHZO3Ef)_AQ-s#V3 zeVZRm>f}3OnZ#K5SoX`-E?#3ap^41=VKM!iDe=Ux@GBUFkE!VAi&Pix(e#sa#IQY3 z4Xl4-?gNBxddG75fc`IM`5y@tI4+m`XHp4QK7mV9Aatt$?SjGa5ZZrpWI9vtx(Z`$ zxi`~;fR$lL2vVSbbx3Y>sYx(jMC863KY>+;AqCt3CEMn3+5effBGO8a?QPtD|}=E{v`*4ft}9`fX|_>RZE3tE%C?6DY)ZM+Rh#LS0NA*yWee(oea-6&rFh*y-WQ-q6) z=b74PU0%WE2P9Tz-qQ2(q77|3{i#fZn|@khP|ZJ4X-~ma5j|VCwC@Yc>CmYJc{YQDJ%6fr>zvle` zOlJy9~V+(ldq&5Rm0LEnSD{VN#uVn#O3?y8U#N{;nt7Jbkk=Zg`tgub^bmBs_O< zZRBYvwq6{S5v`&fnVWB|py~W2TwSHu+D!l!InhIJ;!-m4FSCp|-w%xDos-h4YDCyHW~8?OMLKjZi8C`X?h zroOeu*97%Fa&2JA6wZA8@%3HLS3W+eS`=R$wm0FeHkF+<5pzUWik}n-HR}mSWS#L} za_9Gm)-25O88=OMmLxmGmf?5-sl7-%LO+`R(4w1H7R2#SblFZ#RRpKpjvO+WeA#eJ zS8;}4g#5sblS3_ZYL1M@I9Aed)XtBcP3s0olHOE{hR+<>P;!6}kmEZLO0Guy5YAdz zWW(D(fg_9{y-SLw2o!CI3^;kr9ex068;P}obn~fWbj-$KfvmXNBnk3^5 zBkpGvk?WqGNakQ~3qF|x#x16ZGKV9l%t-_|?NFMjd!KR%rgGVFsRG>)DetjM_Fk!2 z%ipc`9G3_XUu?El7jlIyVxR-et4I{S17Z{aJV}_jTFl8~R@KpJ1M^?gsVO}2H}Kk88|wxQ8WoU_gufT1CapmEdW7& zyng!F3u$BF5y|Lp@GEG2@P*`3-jJ#IniM<~9g?II&NrEiJ09^~R*vohtM7kipL1OduZn$u8S0Iu zuU)uPDxpCezHD^LP@uaK99WN~sUvkh^Yb-vN69a)P?n9x`+w+!jeLnzLzE==Gs0fh zQjnqTiSzi3d9t9M#b+(97Sn1opmoj7Lxu7Au%toYLIb1&PpRL)VJOF0C!<}^&y|9| zNBKiQt;GYvWLtJ?n zEUEE$Bw`;iE1wn`S(+Mq=$vb-E2pgV1w&4+kCw2Jx_(zOb8zqn1qJD$vL8}#i;0O@ zJwH7%;C)Hl-?!5?FxX$5nR_OQu6`8d6+K*VPY;nD3zkYh+R@j$9KO9sx3$l~B-R+i z#PZ57?B`usfe{1C2aOyS)t9LjRQr1SMxsiUF9(+mOBJJ)OlJC_{>|M8S-ACL;ofhEPw*x%NS3Q8Y7FX!@VP91?MT1i8sfwM1Xq7rDJ5tbTpD4de{7LS;NI@giyPu zSl5h#^I5ZyIIo9;4pby46*(JE$-}I~zH^yxrlEABw*OFJJ(_+sJfCR2L=Ud2p5iS~^I~{Ouc+b#dNA^9tKKzk{WPQ7 z=CLMzu|xbk=musM@kyKu&&}d~U*7*1OE=^K6sKJOT%zH|WU;!^y7c5{++C(CP{P8( zQjGzfp=Ntq%?vS-dmLnq9M_H8K1}nZituQ@du5+NQxRB!W9g~xtcv{t5^ZnF_6!@# zZNWkRNHEM}^_$Y9_4Oy@G{e}GKv>(SWk?m>#}RR0&*Of^Gg41oP&dVgHu?){dE_}* z;i;GAKZAETI}?|NgR_WyXs!wC7RmG`eKWbk`(eJS6jweGd)&#S!y#5StU=0W@-2Rq zuikILeaT3>%9p&~o8bH6L$ef@ll|70w4IpTzJZX_Rv1Rr#&4uR2DCYCHn$dH)?A~S zyvLG?RyFVRAQbu1Ac?nEf{Vh4TWg|?Zy+ET8ZoVBq09zKq6Ef%P&}KJtLrr21{Wm5 zz=&UgkAM8y!fvp7)A1LWU2d&tfvrz*a(8vm za5H$1LCgV~D@u7yNJxm%ISc`v&|H%?IDgdxZ|<`1YX-!6cg%gx0c!<-Et!6t0HEPt zeoW{-_eG>=_+S7xn17%HB*-YtPeSJi@4f|%x@Al zqbM!O5qs0Q4(?xrj>#>ZZSFzFR|`<*EDEX~zdSCTaIm>5I^2~Fv3AHjbi>Ikhik48 z_Ws+$q$$iE$Qk&h-PbPH#4Z=xBXKU7Cd&4#bNunwmd(tbYo%lU$s}0IUK${UrQ#fU zhk$2vw$VUOXrIRdN*xHXFf!|JwiecoI*nzr>B+EuR^=r zS8nLJ>(nOBqguV)@Jq9^@pion_r*~<(_>o?E&D$mv+lG=#C3Jg{h%u9J^*55Ay<4I zWcg*J1qFMTctvq!V#*46Q=QY%1%f%UOD7!qXv4pJPiw`6HQ)oYonZQGq#3WCSs~Hg z-0x;;szUyRgTj1lFV+%q<~&r32>^ufWNm~{32{t^on4rb&bR>Dsev2Vi>uf`hJcEa zq3YAX=E5Kd24f4uI}}c1SB`A{Cy=t46A07yf!moBTPr_5|2rg_jvv9)@-?BUIeWv7 z%BXq*a&&py-aI#WP2l*?pIqdjy*=AyaihnW!9fTZ7$;}Wy{dg2@ZR9@anzBS>#(bNQCB0&Rs-lIERy4{=ZNh_umV_TA=JC>j2OGz^5OD~v2zfNt! z!6Ev6Mfa%Zf>xb0@bc>c^Hu=ZZL)kf=bdPjhG5h6tJ(|&3UGtlJ$AV)8&C7 zYzOt*WPg7cUHI?MB$A5?sixT~kW<#~YkUEX^4R?#C^(?+s_BYM@cW-3a6d7#GpNlE z0mo8tJWj6C@Z=M$6%1B*Ya%vVKRU_*^ERyWL2)bN0mCd}xYyGH zxZ329GX0xoxcAGL^w+AY;O`K5fnO{v=unRrojEfwbYSuF{jVKaNsWIJm%Wq~`?9Q1 zE~V~-5DxU}>T3IZYlwm9TVoFO-Ti&uaq!9^F#!RB5IODdQIgW4B5q5|D1})KHopm* zUlcW2)Mi)qj=jPPq~)1k_|F=wX>bR5ktEmA>t&ZDl;rsThUbU4Q29PaQrP#t;$`RS zX>K0)6*_|pT`ftyM8&|_sGk5 zznXh>u|;$_eL#=}s!V_uRLF>k^~}j@o-?wYIsKI0*EG!&W;Uce~qod;#9xNiBotxWTQ&S^I!p50_+W-3wZGJ%ShK(_OHR z$6`5KrX#5#D@)%G1AWfIZ?DM4Q(*b~3K9Zd697&qfpR&TJI7vIgM@|TkOt2SNoU+z`7{I`yl?X1;4`Q0cH9K`2Mrl9YwA&dS43wYJ$^5> z<>3AnMKMLqewDij$!HSE(jUWt=l;aRv8MDvLd%HDKe>#nQGD3KAXMOiH6fy?<|cT^ zY-!2&z{{z8hT}YNVK&^sh48)B6(qt>YwQ6o{_a zfIcmhoc#m)s~Q>OhxM`@FpXx8YS3_>`b{9E1xYBf%Tvov%h-W{*YfhoUc}0)P4}^9 ztj@54oHXUl&PQNHPhMWrs`QbQ{lh`XP3niWMzZ=~IfCBfCTCG3fj7jPjU6}P7jwQh zyHy|nJiy?eH5&MWhzP()1+m5j7#WUEuEsh_{CAaSy$YOp!RHGX(-BvknwmS{5%pmv zL^mqZYq>sv5p(1tEQ$ck2@q35|BZF{7*9 zj);hep72INN|7(t) z{^oAw&{|np(E!STNWf0~b{7VWkQyD9yw*XFLffjiEs@u7vfaPo6PX~D_yKmZVw(QoJd|KsXCpy7Pp_hDtR`mPe4 zwFuD(qO*wJqW2QLixSae^vnX=?=O-dC#Mcb|MCT^lAQEgAoe2+BNt>3AAT)N2NYkVy;xg;u=ikfrBf#d_#f*`xwzzCj?`IE=G=vZ7p^!a$=6Qt|P2Nxx$uQD~ z@BLRsM_qKgH~x6{p!UT4U;Hik>C!c>2M7rg8xj2ar|p22XhF9cI|&sL__2krndF1}t-<)Ve`&E<3fzNCd62V}i=psA@pHTU=OCU! zoNcw$kKgs(P7<;PHWR?6Mf$o@stKjZzw9*PMs{NkN)(E|$-8eqg|=OZu%bqAc23UXGVkh`JbY_WKc8ml=eXJ)WLbk&jI5^0X)0iMa1ldi;oSD0$D|L zZQfqF9Gwj`4r=E)ogL@_@S?~8$ywY$bDu6e*jUxquYdSszJC3B$QTjEgaoP~f``BS zR8#dHg80N;h>7;Li)zb8dH!{V@HQzY>DRKxKd%p8w$WX_>=x883LSi|>W4ww(A1Rv zlPGX-aPTG^3dI5dK6B^j(91K57(af-FF1F9_t`#{0-l_lP1-)z_I_?8B1)6{(bwtZ zo7-;7LLaOEac2zL)V&mkdGWX~AdmnVhOkW_phLm^#gOvK;+Vb%YnLF-wn(6$yo3kd zsSv^-1mJjWT5A@-2Pqqi*#`r`mL)2h{uBq87{NXUiQ<)am?%tZw=jYLC@?7W2ooSf z1jm*eC3f%0yZlQSKHPOGVo?Ns?1BT@2I@esv_iix#{d}Q!H~=1oKRP6IThmYn1MZ^ zXqW0=$qP0M0W%?w=Pit0T2)l62K6Ludd~X0Nj$1 zvl$H~=L|<-@6^lHem~nsz_(J`$UhAQP8MY1f6sy$%x>O1GV&B6D@CLOd@8I?zuf@j z$>$`^h<3Vc>9~)xvvJT@@BKD19HRnrp8MMS^yy;lnQvFZMQlzJp5A{0Vob>c<+Ot{ zV}xKbv~Tmx6;j%j_we}PVIw8G7=l9Hn`d=|4;lgi=I2XZnrru9hsL79pr0TTV-bA| zJ`&fxOKJWuJ&oSn+?qAf+x#p{O|8*WFa6s!sU^8U@S0PkZjQ7&7&`V_r&K4eAw*hN zINo6q-7nkFaU{QLy+^(gS6|VYu1Bi=aC_+ zec$Zf#e4~qckk$tbEV_sQy6y!A*u0c!F6W`Jn4lkSa3bD^YCc~XF2BUKWW9qXn==g ztOLRUHp+4qf*l|Tw6C;zDjAah)%YO$rZ>ih+f`++>LHl$uAr3w>J6#6`5g{UWT;jo#xAkh=-I`i#4M3zv z2db$v8n z`khl<1q5OtlC8M2X!sO10V~198+7MA8sSE_np}62g|m$2yC4;x7$9&23E;HYw2sm= zUopQ2#5F8JhJ{MPw31O;i~>4x+wHYL6eTMI#AqTSSYNf!{{F>s6GXebTnL?)l4cHz zc^XFaucf$fURNX(0YX_&;T3RzJy^yT;+ziY8-2!hOTkmiPqyMxz5(8iMuSy7Q|3Yu zul0AeqpE?qqA|0xX#xuRQ3!di4wH|756GiSCnmd4;NT4Tf(-7jahcdy=)9G;7lN^8 zzB#q|*bs+Hi9vyW8+FB%dWIDq5hjXj989b(9j3tU0-l)5eqJ~adNF>&^B>SY&ob*?^lOie$)297lIB}bBenYdkJpzHX|uPb-HXzuPwINgR_Jh{xBFcgELy8e zE#Bn!-G|P*V$N~9&z{k8#TymS-L0RM3Euy1a^1jladAa^h+Xx5rI1yVH?iMEL35e_ z5Kf@Bj%9AJ;}KMC?8may!UEghqdcYE3)G4HL$T? z)?H51H!-`q+HQ(CcW=9l#S!tCFo7|}2obsp zUV|CorNr6# z2TqFvdl?xSm7Vh$)zO0nxs9W}7?P5bYm2Do&qY+VB9mFW%eC)9 z{L=DCOGj5ONt&BduWz0+h20t&8qS=iEE26tp)rZ6(rC zB517Uf`vzY*3E+b1j;5tg-;_IG}`tMlpS7L(R2_M$)Sm>Kgrft)i00Qt zI3YRcW>lM`(ra%XXU1;H2;*}dEpL86JME#|CYHN-vL7tb=wV5AQHMVVdhzrerNOLFOi@ezW zY@=|lP+`l=Su#yTlNG6HpcVm5>H9MN!!CrIUFa)m{LUE6bRTOU@SOOJhLk5andiRqvy8&J6r zH56}cxA9mV8D?7&PB^pJ@QRBX$enoidxOJfiWD7iN9A{iY_2XHKLtrBwZ!j*uVkx; z-L~z})O&kYmMX}$hln{&c44wJGT}0C=3jr{s6j-*S&rVv~Bh# z{I9<^FX6czCM!zHtWU5bA|qcJ8<+PC3=DwC$p$bIzw&h-bx!yRh+Y7|MA6&X@<{|5Sb2Exbu&qi@N<^A2onTHDFsZpsX~ev# zvDz;wc1X`Y9Jo@h(6sP6FuHM=m%NtC!C|+i6A%0CZO_i&#rLNZ8!OV$=PPLYX^0>V zmsjscBS$&vpG>G^*Oh|J7d=%H6MTF3qv*1|a)~9}6aj1fsF*Q_Sm%*as!%3yA~3=+ z90C^qOSia>xQ0-~_Pn+|4h*rv#W8+q$J%a>y1MfeOf_KW*7@6VrKCUUm}r zrCbRc?M9l=#!?Z%QlMVGharR=^7#@}l)Qdrc(LR#so2qpEgpB*$-m&*-v$}xB|5C* z{OgKRAQ*#M@0Bxa9c|ty0up`%Qi+jqn~)>7$@1xGq)R9Whq&VU4i1*h4s{kiV}$3O zxs>L3yxpy=YRufCX@~&U$R_ zE`V-Rnt8st$EB?vX6@>j_vJ{0=E)Pq<={xh2ncwjgD?|en;5K@w8E7% zDUT%(z<%(8%`I2P#|fy|9kj=+d2FAMkZhsYE^oL92&q9S@iK;ol`I!4vy?v(z-SR| zkOu_+uiX1r05Wi8ON+y2__uH0q)^F-VT=mWQZttU6ciMeett_aF+c!HSS}QffVG2# zPyLm-Pls9jCNZ-{x~itz8&@ ze);{cGv!EP%=bLcF#AvWdUjD2tjrNzV}w1dWWzzkB~NYL#$0KKY^cZBR0|L1N3z2vGxVL4<*R;89XCo_!K=(Uk2en3<5e-- zsC~n)5itLoP-sIi5s&fZst)B~M9Ab3B&A6N) zLC`gwqNZ%)R~Xd{2K@!I1Rn=?b&WZoEh{`Y0UgfEo55i-hNRiob=&;kS9TLl%I7?< zDJsRjA)!tfYkYM#QM`J!b_qz0b72Zah|1CjfmTz21grK;2#wQ-+>)?d+40LM{Z0Q< z%xrYA1yauvLRjO}!nwvzil$O$*K_gFi{|1DqMVoS6ycLeQR~`Mk*u}^$+|js`qGCk zqmn0z&D!gqB9*v@)gvt^#R4n#DjV+J=~*xf(KNeRXYQ&eiRI9Ned}W9c*chaEeO=t zzhg(MX`LHWWj^ZLK2RkPBDaW|8GM7zi1J{HeIS!`O4jr>ev9m)FtR1Z$t$8gEnQ`+ zR8J$PYq4o7bYNZitMT9vA1~gHB`i0)jPbckd!1Iw^3h`+DO}0fK)?%@U zy15TQ*@Ev#(Z@#y3*yJ4sO~d3#&JZ&h*_Xw0g*X*0WjH~{ByX8)~n#M=q`>$N-c}} z(|zmen4Q&x#t$}M{0U&-k>)B}sU8N?`IxK`XcQ48i>>}$mdPb9 z6l+gyvWUiQn}|qih2eXlI#o@iAsh-T5)X^OiU5rlU7OZgIGis2p*?A+?D^Kx8j2qk zz2~hrArg#Xf9>cPNY$z$nscz>`n_&%)2+AOL+iFp{NVHS*0G&!;qKOa`Dl^Zod;RV z`4}E0-t0;xI9m2GWW)ckQ+s6a^0vFmvTUP_%vk9w`0+11Wfd5eXU-za0d&$#EybS2xB0>gXV0Ii;3f=WBM51}@Wq&cZ{Xuen zar%w$iJ+faZ_Q?8n^N~yWQt*G5<*W4z+p)B^VmJ>lQcdr7U`yMOzP7PspJf6N+eHYxpmMz! z5t(8w6Kkm+mpLg^BMdi5ee>eB3Ai@hT9>`UfaVdads2xrNbN z+`^sf*qYY}M%90qvZ*{x5#Cevj2XLPCIl!91xb$wK$7zLkAILdoIU`K_-*dR(k&?5;%D#Okem@J?FrT>0-{${nA7z<7L6H+dM z*E#FwsS5$#8apq=>&vhOi&O|2jM7U%A>Rk5Vqf{3$|DTUlFb~Ym1P`n+p#xXYc z#?8%b0EsH|<7?e6G%46islCZLW~Q+2EgZ8*1qUm=7u)=r^KT4_@z`qpC((Aqkpe0h zP30usN+#4>`OX?8r=S7pX=y=_IAj0ij14jgMV~m}*6{h=pXUde-XksNe~&DeZV!bv z3?d-^>1KnzML_5e112%(i}~a!WvEsQo%<$FipHmY^iVvL09JkjUeUsFgQS8+RsPe} z9(w|PcXT4xD7NPpUaXF}tAUBbY=KAiid!N%pM5Qwh&E`(0MG*JXhN5OepmSKrNet| zz&9Q*Srb`?!v-t_G_4pwTp;=6KzHb|losG0xx%u5INA2|;70*(f`}DW!VWX?BywXL z`$?UTm5OWA^R7rq}Nv2y4QS-F`_drTZVjldk|k00h#Lymi$+z##HF$_)IQxrMIS8c+V)0rM2SN z#mAm=Udr1p8lEGbik~%;eSi(Xn>?FAu6(^`+O|y$&Nowk3G8u>o<@KqLIQzT8UVW; z2Mno-LVgJEM?vD0Tn4z%>$Ndy^!L*;kEJ*$C@Dn)0y{bY8+kxHaR5~yXpMIXA-=Qj znzotA6r;B|pO?qfEwB1U$Xx!0NUl$QWsMF}ouoQujpHYWPVMaf_m7F@PZ$3QdUgazEl?X$g!Ef5JjOp2jhymMX{6wW?6HTT1yzNWX(Kk)zW*??LB6;g zEUxxogvAWll|+EbR5GDIsKAmAV|XU|-R zA0}axL;)oTXkFrj!yqFY*n^)Y)+?{HL$|+r>3MxQTMk$&^-VM03uM*n-Jeu6x77>r zG@fl#o~?4H7)bUhyLM?IDq&h}NUU))m=1%Kh1;bhYRX!;TZe_^<~&wi4dCrmpqzCj z4UUS8{QS@dGPVY9{$Mrk4q0%2vXkQIh#YUII+iDMwU07b_GuZiPNzK<`ZFl`6ThE@ z(KsHTSJe7ayr;1zydRLvEnC(C82mwez?5)m(P?Vz$Qig9&Oz!hig3b>Eo5mR9EXO@6k)jX{VVm-&FO`x79SS zQ?r8x%27q7E2Q2L|sd zkD#(gAHsi@uYhXd6t1oJO)vjg(W?CG?ySDMLapLkrTye~I(hMa?VH7NvxHt*d&m>R zQGGy;UXzBXVPn;_pAY`(>e{Q;JZNgo3*B^my?2tbz>mPQfZiP$zJa&mNZ1i5O!~Tw zU3rLLkIC`jZ&{&c;vt+YLfZ44uQx_zX3Z~FJ@&cX&95LfeUl$!&}^_G6;$~k)uFpI zSF1O7H{Z*veV)2Di16X1y{w^7<-kf@S!h6yky)kLI4IcI6uG&(>(p zh;*8Z&G7GAt2FD)tFE4qmGkite(4Mf2{9_;+MDFjE&kgo9TlSgS@&}}E&+ePh+GsP znc34+m^t8?nYp)#P!rxKAUS&y(8ZdCHb{yIzHbVF2aLNs*C0CGr7W<#czrGW1iCpG zsRM|=-C>xVL5xy!7h7^EqK$yWbkT3;^d^q911+S*P{axGK?DB`f$$~;3wxa~NwKR% z0gA;}b#RFDfkt@(aBVxq>30&S38`ORO&ZXD$TY>Y*Fv$v#W*bi?DG=v_d#d$`ygKW zb&g5KBN>eKOMIPP?t+FQQXsK+ZSTyp6?5Krm!Gxt_aAM359Z$4pLLlQasB;4MJ!qz z5N!f|9`>==QcPA^E zw9L`E63sx{6$0J-u&r9U2#hqTERyWuY$mk8X^}$b>>Zd1e$NozQEXd70iNVm4H$$2 z)0@ulBTWRh;{?o+-Wb)GG8NU1DImlG=eU|D2s+v3dUuX9jxTOJrzksa;1ZLicbCC0 znbsCe!8jj9HU2lh&n12O1f_#JI5>a=%&)IL$y~?N$>cRQ>ZYfs|33WHIX*K3e3l0^ zis*iwPCP1r-T9jWocQC}XAAwmd>wBqrJR>O$IAKowj{CL^+piKwNgX*5%TZ?&WE|0 z_tP@>$)VJKT{S7mNr-#1B29KC*2Hji$3#^Jhc0NCAU!vmNau;~-}RLBtn;Pkw+QvV zQ3e(}n%46vZ=cnE#&svB77HqUO-(kBLY^;(Gw+`S&}$CxNg={fI)|qKz>ZXEf$E@b zeYedm{ET~i%1K11W}P(1!u$grEX9X!(H)jsq^%kHvZ7{TQeAC=t7f7}+I~U#D^Ubr zU7FkH-y1^qDY8 z#0t_&XRT@0%YYtFxm@+F7S1S!(9a3dWSGsV&<3ujJvEZs5Lc#*Go_3x>w{sD^O0^S zCpZ!^aBzF;>*+b0^Qw+}>cyfUF4-Y9nOq{wLNjTB)5azCGPoRpU2Q%~nf7#*16F1L zUtiGDF5^8OD{5YNdV2oB$ji@1O9LbN=(9{tP>@u3WF$s9l|8ZntL1xWYFr%TG<2Jx ziC)jB^qpq5*iAF*mLBxneUWiZu&2Log3enu*HcPrrxCl8sUMF_S6I!j;8npJ@XHDr zK6V}5@VAL{w##4&7KQAqXx4W=@vH_XL5huAmb3L7LTX?h7tiCGt&1r4cVlmHc=z7i zp5VCp%6?&hSMN8?bKaf_{Z`>bTHpWDMZd;1_va$I5PAXw>e76g_Ww4x7t(GjTWHhEIeJVCJDmC6%U0xb zHM>FYHJsjBPJ{Eh4AR=xoJJpng9^q06JS1uC>a|;z^ac?;g^0ohxxIJxi&imRH^_B zCb%OpZ5a6-bsQhC$KxulHHHC^mYUrIri`Bz76#jvUllhy}S};a>&o8VoG+rCF~~;whLi>G;LLH+5|9 z_?gy3)`p$OsMEyDC8Zf-lVc+hLE4&(KD=U-4qq$WchZhwVWe~!F0!LPcViDal8^$e z{tP6h@#QIm&iwchK%16IVqLm@`Ri!?Xucq)5d!YYY@={$eR+5BJ#zW#0*lq)_`3p! zDY1GO-IMwb`7h0l4~yl$qb*|Rf%kkDWU{WZpqlext25fO+;?*tgQ(*`2VnJOh)9O1 znNu;h01zWbNyl}`r9;_GaNUzEt^2b{{tH#s(-<>pbc?g1**|*Ba34Gx+8`W4uv?SJ zJ9}i>`1c3c|Asls?Ch*G;O_+nPA>(7lKhG)a^)m%YqfBzkrStVJGaDDd(HFRg}%ft z7v(tlc0-#(o1#OGtrX|BVq%Rv%R`u%kk3G^pCAI{e^#6_x3G8x2u%gTCnq(Y7vNGn ziNy?-s9I<=D04StiJ>QMV(l(y&_p4W?zc+I(H-5JZ}V@XoHUII#iOb+uPDlwLn%cj zo9EJ^w5svvpUaDe$|AP3N&rJ@%!g9I$|V2l&6bvyX6Z=7Ek}wjD9!{&CF-cE;tr3A zsne<&>g%hhsw>edP58RX+Bo2@>A}Y-6RvqCVBS>*=H|2cs>q(jTD@)6zZ){keco=6 z_LESG{XDY3$Kohs@(KzhQIMoS_~E^j?Xu#_t~>9c zh%wSd2R$T%vZSV_T3et_mm709)wi*|@_e=Eib9ygJHVbVTO<~Vz8>ZxzeRUf^pWDx zU}-=vAHQdKiLw>N>2ZF~SfACla;y^*|1)5SIGulHh3J243pLTwW5;cFkX!&pB`6u948i2|qHVvM7J^P9AGRc* zShY`&tMXfV0fE^t6G=(bZ0u>4<4|IzzjHMF>^LtgZvA%`_vGhZQMUiB{}$nB<1vwS z0*#3H1dX7E=nV}Ek?QFM{^X-6>ChP_m(0w}Qm6HPzA@Hya(w?68SU>+*htEKpvrMY z>K4s}>9+Yc?M17oe0lk2%Sj8PE>AK>5=LqXkcoukq4(!_zOyY>mAT)Y%Xz#BQ}TMx zB_5DEZxZ{>1@S%Q@W~s$ecMR^`FsN15O37^degYh@;j|Hhkpn^799Dt)_i3)e!a$D z${!mF0+1enf?x<9qAD=vb7yC#GH}YamdIssWediY!-KA9#ft>yWXLY=)ZEIV`>~LwMB#)ME3wi`KLH}W&=vWs= zUmSuKW@o|h`*SlJRMht%sRu|96Cm{I;^;=yW9CN$l(U*-g$6S&6fog|cnLz8>*|&BmW2s*X(B0UDwqk-R;^@=BN*oV{#( zKtesT8Q(3@>Htq8SvKYLIA}&j5XN{A+@S@wyW)4ubrauYJmy3Y@XQF{G7@o1>#_f` zbbJgpVNanbmiP$LD@|4+Y6k?Fum_vm5_ly%_7xNmN&??|>mBA7;&W$c&6mOV3W*R5 z@BOHEKis<5!b6PiOeuDaeTCfw{8(6%khsK3%vR_vx6Ow$2>BY;RG8TG{2KKW)1VJq zpOlLL)%sZKJSDH*U`xYZ=J1wL6IaFZ~o-S;m6P1VZ*9GQEWp$HL@waddyG}1wa zzs--nnLc1gG<-$cesHku<8)5YVk?!Tqy;e4LirP^Sro`T>XBa9Gl>NY5YH+j4|tFM zs{+tw3^y{4>h8|Tl;!G4oulPvgA{Tmt0&t$@)WU)>&|4Xn->yi>is=d#(tOq0UJOV zF@jNK3|H0;H&G4LQG~N99A45l7?4}n4nKZmfY$m6=!7L|Ju&T}#Eu&$k2jbRZ};VQ z)*5J802?IVH~0Lr1pk~3t?so8NpRxRGJ*I7y-*@P!RQmDa;I53_L5Di#yjVxVWt5qwFF#f*)JLD}Ff9fQ_p|i!WeDIH2mbeh zBPvRR-UuUFx|`WV5T$lb1Q;y*P&pl#xT=wM&$AEKhGs%W%~Dp{FNBSZdn!%$FoeCA zDqWm*bL^LQS8+>+8~7fXiM9c`rmtOonn@mnzS%w@OQd9adE0p0;9Aar2K&24r-hG3 zi3kh!N>3}Bzx-1bmWRF`;l>cZp|yPz{HRk#)vE$WJEOc~BSn3!#MbsB1y$$YVq1;r zNdmYoZ36&;C%${%aqsvsj_~OO9zUfVfH^`umnpoxqXP;+QGV#RuONtZ<@cQr)0sc4 zCFVQd#?KfZzeDb5y?c?$tvlZ8(P;JKvKU*W#h2y0r%u%p`?1o+!7H(3jA#4vvDvMD zQlGdK75$#f=o74`0}KsL;Ew@^~ubfcl2?yeLwfILW%?OieF7`Gmo1yGZRCBBH%l8$0%*5KFg- ze&i4Th&&Lm%F3TXNMIER2?9AIVbbCm-{#0BLtkocRu298AhSH=vqqNVM;&_ujP4O; z=WzP9YmeUUU|=}By1JUZHH@74{CX(EEA05V7wHLdGx8yFyI`QWrf5z5Qx<=g==QMEqM|Q7R1%U#3dLa zF=l$n+k%`U)(-ixeh2eS%aJXGva*Du(7_%o+7psS2z#bTy_ifMNbqqqsZNA1mh^x!qIlr3|Pg~IB@Ktw;0^ohJ zcA3VroVRGDcfqg2{mBIxfYj6@=}0e7I~!u9UL&7gq0)cAmMzFx{rwwn_3s8Slw|nG zFzgf6i$<|7b&w z0b^%pFQY((&xuK{m^*oa=yUaq-sJw=*J$!kSASF!7}6))1vC9I{D#o7lZg*sn>*B;r3K zbUwp8C=?SoYit=l(v5tt_?$axND&RACfGv%izJmR5fMo}t+}$PE7mMpt?kfLdz@+r zA-yGN<2z5h8gLGqO{67rV&d#X)oZ;*q%K%ZMTt%IHv#$e@ue`M@ArOzf>s^-iaX^a zCI180jeMJB75|hJ*O|M{=wU~Zsb32-TT>gEr?^T(y>)9P>Ps*7UsBs~jxdi?E1|)I zel&SYZvNT%qw9DtbWp{(nvL?+(GaWE`AJV(hA|}gWp@e^{6DfA;Ut}`D1^E>kFOk} zv(55h-f}r08k7zDvw}>Srt*Uf4HgUG7Z#qCFtJ#Ffx9`JXnkTgKI>VE)-pA*p8GT~KShFsC?xP2~*@@gC6tDPLi5Z(ah$(d%N^uB82_hNQ2Axon zH?>>0;^11ynVKetnUe{rlT$p$p|>39rLl^TMd#*AXM_S5E!v$bgCvYq4gmyMSb(~E zl>`&#bX~ig!$u7dLc%Wpn3+&QQQ0Q9SRSUDuU6E`1R*W!eST7e5^~qL#n2jK5k*)5 z58ZJ#BZQdEM?@&(eWz(h2L#~Rqsk}sbSA~_1!-fC((rwZ^F+6-`0EIk2;XBVH=$`C z!^Edu+hR1Yp41kd6A+*>MrXsi8R|R|U!1>d z;YQbZ#L>wP@e9DuLJu>ehH4-U>q(_9#%BaOzpkBEf*kaZ+PN=}n+oWs&I2e9e2u9+ zPq;j9!Wp;JL6l}c$C8tiM^#Dx%>M?U1iV8D5J!rOQ^gLz#r4Fw9fCC6)=pOpU(pOq zIh4<>!VowkEI4zL{3#kzN1P1EXAvn0qumV0Oe7G(Cw44=p(>SX0R;*k(A23zba3CB z5(*A@1x4w-vvrK_+CZ}#O67@LqXNv*%eFc0|z(#656~cNu~4S0T5d3_cT9Y z&p>N))P}WlAz>qf=^Xxg=S1R#5dM+!SR@ol+V8MuIDw3uU=&njjDQq0zz>-}H#hfu zFY0G@bXcFZ`PwH9T`f`e8yxyxj>b?q+VhYnt+Qy2IkF6iR$4}93VE<2W==7`1t0u7 zWydVu`E942>G`wcjnTnK3ckLDD8)1pt1{uN51nKu$PeR4IBo&+D zVVrwF02zkr-T2jFgNBKnR%UFjn*n2XI+_7M_^wmAQq(g958C)Nk%$8kL|%A(X;!X+HVdZBpDsMqUN-E4Q$T9JoN|!%hOs7WPy#S~_yNmXE8p z8XdPZ-M=I;G7+ivPeE%9%+Gi9$zN8<`74@Jar}1U&lf<)byc;}k56rV?d|WW5Qhz= zZ*0mHCjl09w(QOO zLMA%Qi>-du5X^OwuTR4Pr7b0bcTmU%tBZ5~T>7fgtuhibq+>kZ)M1MapHY4S$k1P` zMeVroUA;pN`i;KIyS^-y!x+5%9}f!)zJ?B$l++Ff5{s6{>+F^!WO!FgeV!hdrX_oB zS=Eo7IaI4@yiAW7${70&#n6;gI6woVwAcmoPFLKyXZZPF&iREgW3gt5nA4M))^kB2 z8`On`3oDoGBzG0D4=!vjN-x@)8887tf`Yq(j0=Lw2^P)aFEQ{Mc3Q5_`eXfk3Ph2L zHJFn;K=ji}NqX-gmtkHUasN6|p0^dUdA!JkimFZV?mA?0Qt`RC2i2jKruGZXI;R{o z)}sL+s^_$v=jBhiVAHv|xM575+!U65S27X!z3&>X?z_OOA3}ICfwL_ z7K%@m@UzX|;0cE=^Q^)_{nB@Thowva{Hx^Vn~2+I5>m2-`u8!7$3Whn7~)Ct`A0x_ zt-C22B^s=J_4+?bUOt512oi=-QTZkUxtSub!nrA^Q(fs=^9=3y`h0YSm*DIa{Ozq$ ziuel46O`*~LhMeS7b*z@13S1H`?Bv_fBiB=jhEbgZV56UF~mMdrV{dKqHNEw^phFM z6!^dsJNC-ucFAXltzPVXDi&aVZjMbgThN`^CM)U^JMUAK8qEd5V77{ocN$50befW< zMqLO3*h5l_E|)o^MYZ=&)Ui)$G_pIo*NW`Zo2Z+5cdM0FZl^dej~X~l?}?ZOT~KcQ zn#1qwO_P0?sw9-Deu@NCA$Z3~!Dc8h4Ffg!`AFsls&|XqEO)=>nZOY;vS`M<$H@$r z%M}wd>Tj-*x>30`u+%xLo|MkBjoNOL7%6Ct`j<>fSjzL6_YNVFMTg!V`H793h>6HhlN(QJ}?`dz% z&|xPf>-g%hskzEl(c%C-{+s>1>fif0?A+pdcGq<+O^bgnZiT(WsjA;he5rxV{QSwl z;(rWGvfmT*UvBuJiHnAgiP5q?HE-U5?`NIx`@R7GJz{=GSWE4ZHjdCeP_hTHvSg$j z5rf4My9r_y$e~qxMYOY0v(=e94g$B@d>tF7@cl)ASTmdsQi%WRVR>LcLbze5%Acwh zHHRILJkH#(B=`yfk}SHsH$H(1P}7|Z4wQ#*zC1b>Gd)oDn=eG+kNHN7q5&WQ5dh!( z9!V2=ahGPq&qE-fNen2$@G2aaoSPihO0S~-h+CSG&k(ss=1tivw<}29s~c1t0tjZ+ z5nH0r)M8DXOms_M7aEtz9ukiI!x?(Htt7nM|Ax{t+v>aX+-`oIQAKTDi z;2MEV>vCRcPj8S@2$j6Mfg98-r43cMG#VWG!&?vL?g{L&$SZllE9MfxuQ9Fr zy67KITo8aHc83ltf@1tMIwq#Lv{dPbwZ_Is*2LkV%2D&gTfQ-$xn6NP`2sp}a>4va zl4agCQBGRYA6;EL@=upvT#IUbJhV6zZMCf}w!%grC4wN2Qk)Ry8HvN2%VS#`n;%Im z+HPCp`6hf7i0c#<7NrhW6Lt^zwY37bU*G2~@AaE}E+uR0{mtpdE{1|urkS6F2GRu2 z)`H*&RZr$$4Fk#>8cZXo*8{&T;X4-WIgJ10i%dvqt&P8pO;3|F3!0jkv`g!83Ng1GWy(M0y_m{;F1_!t;FMqrrZ1)hxBAQ2|!4QE9nY9FOI@o==q) zVPr6b!qU!7Wu2wd?jCDwOFzch>vFJn>5N^-<1rruFXsm2w`rD^m2?C@6ba%7KB73_ zAYnjxEaX9j3nBRVU!f1uq6p62|KvUq02M@r$7h%@%5BhZbaaF{;Ex}E$o3#Z`hV}D z{Qn-^GXQeR%9uZ7X$=e_T@NT)Xdd}4JtA8kU_VIhukbq*pO*9$YFK#C;>hzzFXB>&kdgcxqhQMQ9HmpEeU{a`M{ zPox!{kX$=SXRvkH+5?p8e^t5!Db68k1t3rO2eEm0g2azUo0`y85hnSX&scT-ryX+= z3&+W=@j*9_@YSJ3R!+-`0) z8nA{?0im@vkiB{Ayx@!L!0=G(*W-T*Tfi3pv+;>?ydIyR#{u_rEAMv-i?^*)tSxtT z#m;r5+3w6nOf~I{>v8fbW`X1N+H1KV6ja;W`$bt3ay&xktbp5KNl!ny(ErT;QS1Q+ zOdQ*rq+C$j*jQ9s%R6h~?X8c%cXsf})p{V^*~Dnp56QgaAwmLn2x2l?&`2&!NC|&* z(rc~Fxwle`#_jkOAA0q7qqS)-w&&@|U>3}M`9?G>daja@aGPtsOvVX-oaVe>a@{h6 zdWyeLB-C>|6L)om0Y7znTB6@lZ@28KZscHKrCrZGYje7E2h%REoxdm+8i~66)){r_ z;3GkmWyq&G+_L+g zvKXc!L(fxaV*elOvt!IljF!p*z5D7VT@e+r2!?bq_J(_N(U3YgXmA_2p0DVQFt;VTCW8 zo3GgqcEoUORvHRxF*uMI-w(VKG;6S_Jpjvy?4sT><}cO7wL5D@ z+vq#NjoLvemxEiRu_8r2Bw+ggHO?$x#j)ND$V!AogcaQ9Zm5VscEURN>G;^SSgRya zmY#_q91@GHI>DoeOAMeU1mrxy_BuYJT4GeayT+#}(qJFNe-STB??ntUxX~JZdrfws z{N^+gjbLS%N`+J>BA@$pYBqA_iU^43SA1YUO*6q$8>6USl}q-O^}FoBE%($@6iQ8D z-REZ?{i=V4U=$+f`sBRfCr9mZ)~t-NL6-l8|GRzUe^dIsW8)&2DZBG0^M$ zLNvAT^><9tg&nT6VNL24$`7&}e;AQr4=H|=HzwpeMaah+6HXJ^1;=`34C*5RysK&0 z;Y2^CuZWOP*jj4wTX(ek(ZCh2mZu^)DKyd0_|1Djhd1Ge0&&}#xs%JmXJy{hb}%$h z*W}>#8ImI9L^Mhgi{`uc5R*V(XweUcTJ&-^U-djiEi2<9-c9bJ%F!)!BrtU^?GFr- z!k~WAqso|8s);jS>0S%f?>x%goWW8!ggk{hP2E2fME$(L(Pp@wt*3iS9A_h^FCv(u zI{l;2yJQo;E#R(yQ44UXw2dOaEna2(%tihg9SsoK_fjb+84xf&t|q7OOkZzS!J{7S z8Qc8)TN2qidc+(@6MLP>Bg3~B2hOlj^ZOvYm3BOW2%ls#?&-DU`X#bPF$RO>?XZ=8 zZ?n_5o#ZfEV!&FXe_opJ%IvW)lh9`D+a~pvUGD_@e-LvCC}{(*YTZR(&D)iLv>AA1 zb@Q@fbp>|(moaBM{}u4BPK3!Pae(h&ZYbdD32Y#0{D+vDRPh=REOn7S!lV9{lfzlZ zP1ZF}Bn2g$^A$~a-TKR-9Axas**8->azT+AKOC`SakvnE1 zrX9WzxZl;Ed0%0=gVvUppl8y_EU}vF*Rkp{^O>E;)z@WNM_7!xM)d!v0&&2YNTBE^ z06GUeO|eIq%Z7W8|A&y4riBqRJKv~sj;ViLZ8x@5oR~aE88hF6sRN9&r(f@ySIzEk$k zPaAE{$XjQdXQvKkzl{>H8Jk*)iA}Q_R*nayXPl}%3rfv}&cFm2F3^wx1NTX$;N9x= zDX~#n{vjnZnoOXY^p`N>=E?Q5w4G^pf%O=%G_m^q*bh-Lje=?_U=B5@i8R(YKlwSj zH;lH_)0^XLa@CZiL!29NXK4jiYXuo2V;mMHi3w}ZVy8qm2sfGxuVpQcXP=C=Qc!PZ z#Q#tiy?(mRlUV-wMtg%Ho5sQAK2Z*tp(hOLFpe=AECA12B=9D^Y5hkGp#|f}0#M`H zO{6N`oszrm&GCLK-Z~e03-LvRUJT3;e4rq&x)w{^lbSIQ{yAaBUZ7UzgAkKaOh2mW zH)`azZBx%qvz0gY@5ITQIP)}W^IKHR5Ez`y=I`LTp{-wikyvhZKhLHw9R);)%#hsg zwId%(yoxts4h9jb13q|yhYT=rSl}YQbqmj%C7wn$R^W$0wn7tWr=D2-2369vRIccl z(15XIKB1kG2z|S-qFL>0tXr6WAwHDv=w(R9;^UIF@%_j5Bq0oRLrSjSO~u7_ieK4a zG+n~;R`juTF`86XJaNRz;Eo?xe?%K;reDx~_PwkR&QF;)`|bHTCxP5Qz6U)#ARLktYO-^1Ad|NM=dvFH|0ex|Rz({yiA=#|9u;gc zH$OkTH(%eY1i+^eSY4H+;+C21j-@^gi#6}~)cuqo+UpGAKG@s#6Z0X(%-=OhEWf&V zgAZn<&!Xm0QTCJPNRkK(XNC{a5#n=Z3d*JDWn&=y*EMkBj*t-aZ@F^ZX}>2xXbFVT z(!&VVwD_0wV}528Wo0p=vNPT0+dDfBiytLJ`7MQI0GFc$k>~h0pn_c%BXxZ{#4*#M z`t72ZdX--w)hTu;ozZQTPIL*&{N-m6zmWw`ym55|@<*B&R_3`;W@ssC^X!&3zNRQe zp0+E9sN-FgA)F3;g5AdPKp>J*l?4P6z@(ALhVAU_d1^gr5%8uw?Ku@$4J|G1xln-K zteuTb<*K%!p;8NRM@$T!dVETDiFWys$oIblus`dbk+~k3m%e!}2?X1#L&R>-%|(tG zPf`j6_{~u+HI6md7%pAm_Uqv?p<<=J83A4wpUA6v{+oTvAWOu5YmCdzx@5ba@l+QWg3H zyo!hZyO{xQ)IWTd}@FvfrfdJhN@ z{9%HO)(7%PKnezG0BDJ@xJF~S39LzC`z@=7u0H^=XoKFlfuk6e`~~TPIObOW*R808 zuvRi1Bcl-yKq){P3a<9Q_tQeIEeZOf_Uu|Nd}>NdU0vPGr7^Pw{VS|0ZTGswOw%(1)ZIsK=fF_T|pw`j&~m>eWhv$;JMzZeE#<{PifTX?1k zi2Xm_-a0I*E_@dz1{it<=`InF2I(3aL<9sxq*0_>I)^R+Q3>f3>5vWwX@o)PMnJle zu5V+#@B91Cxz73P40yS(i@n!+*4lf|Q}=T}T%Un%F+d9YcWPc70a3lp=-Ff#@eyG> zFol_?4b|4pC4pY}O4U!>xrnA#iJA&i3o@)IK%~Kv$Nl5ok;f<2LYG@tfvFee zt+r_R)K4CeF@Who@qyjU6^&t~vwXUi%U*GI=(j>c0SSQ?HpbR;ks`B(>FY=tV0sp^ z%14wNM?Do3d*3AcC@lL`oXvmd&GAcOc81kaXm7yF?0#MP52WB{M*g~n0+90>bpZHc zKTiSpfb}oR1U>?;+i!juz;OV>evSyF@quPNzxh_=z(8A{-*^RJ^R7!2e$DZhccm5c z8ma&SKmoykpZC+*1CD{#57(r=0FEIHV#5U57q=gF7k}~H$ubP>w>Uxff{hJEZB=+{ zbvf`f{;;@|6+mpx9ufmy=wu83bpf5t#IGGJx;T)1cw zw1iO#Oak{FxM5*<0*MFAKvaNlRHu*xAQfE`M$PCmk8cRMx($-zLc%*$MT z!rxp}yo>gNw*w6OUAWP8Y{80>)G)oZCQgorLv%Nnh+Vc%`|RMwT+=rbYKaorz!GTj zCQU8B3)%WQ)dv~%OT()<`V9gs?wOx>hu>mFLC$^J7959o4l&>WTfY@oOr9F@b4Fb* zNs?+FDY(ZgxHJ54pkbLH>%AFA5r7?|E3?_Mf>#txB=$ ztmBd}?CS%#tYPYF^<&YKlCCPCmd>T8h zMX5wX6aXZ48+Fmg{V$5%oO=2imL>F=7ed5`Cqkn8?j1a8u7QoRc5XXLa??`$y@7m( zNCwt0O(tprCZcdHvM7ygeXd^KmKoevwnY9tXKoc`QM22MqNyc9APn95yc;XRli{IE zOjZn3<26<1@lBPM;i3`qI|(H!JFYSXilxuUI49(Nzz+bsTy^wLp# z#>>dcb~omJP$F}s9O!lT?eK=MdjB@)9}$`H#5R5GAr$X{EI@6x9xrlJ59oPx z5?_!>GzBoVZLi0F^s%x15TCDx1;uk(@d;1nINkYTwwl^zL25jx}^Ut@@KC+dzZDX2d4~ z6ci{(4)RkVVIoFWzNDz56Aa#=okSqAb5KR20Hsb(EGrx>+#E`(WS?$yy9xkW*?Nrq zdu&A+&_Sp4|AA+)Kp)Aq6%q8incVTC zsK3hU7t-yw;=5)z`=f#2|InNPiWUfq{xTa{@L;&)|I*1I6hK`9K)P!a1y%ZwodRgp zKfGx4e`(FG6)WgBb(;DZ5P|*w>&t(%F%DhO#eso{(Gc9=+kECUAZi zt&j~+IXX(FoAHp#)lBvs73ZdcM)BEbZtWYv@%#hCsh#dmRS+BTk*;QZ~MmV zYJgi8I%D-ALLnPkInDu?c~z5}0^C@}EweGbWM0dc51!I=?)v3;bj#H_6Hw3Tf1CTD z|0W_qt})7-UBS}7We6uVspqM=rRrn;Wb-fTrWmw%5_UKtdYSIy5cz3!!D*N7`x`Xd z+Y@eL=$LgTT{Fl-%GqU)X5^>J{lVoA$mO#WfQm>ad@i-YEpF>z*Udd|85f|q(9IK+_@0h+``M3nSrtKw{|;PgO&E(za5_J zYCnA%RCS?yaYK@oT`;LF*{svy?9f&2ul{`+PjLZnb#l6PejZEvU-f zY&#fy4jb;aZDLYv;}ImcA0p!B`H;bs_b1MpnwrK8^g^V0aKrnba3K5I52%EQd2p^b znjbqs#v*?vIF76x!buDayT zuMHP2oevcZhTT)Dx{4nM2vid?&Mtl4WNNCi#e3Jl6@XeMb?`4Iylo5$vm-=gXJ?}y zZB19=o1r*F(=W>v;V#~34Lo91w&92;TW|ZY;%^c!78X@B4(?A8^ZzVT%5;()2nb9p zuJZW)eL|!nD0f}ox$-qobtvRyL&3;ovF%r9FIADi@jX#}PB^_K(&yQiH=NXuNx2_~ z*cZMRHfP~sl(2?82LCk0gWQ z1gk%O9Qo!Asd>d`QljDE;m?PTXJ96;Zw_N&M)&UFmr_9+T~>+Szkgq5Wko$<+8E-U zk7Z{Rf}jGo#){x-cs-6yPQ@}(7zu;pl^`aY%{nuVeC=(YjvCLDU|RY z_DZ&5j14yH5%!`HEk``FcFO)_UAHz{lS?ML#FyKdQ-NQJJ)eq<`C0X3cgp z=4N`FHK@0b66R|3!5UO)-row4sgnr&=RGj0Ox#e`U`<;3IO40*dF#{bt#aX|@5Y+n zIdk04m&AuRX&f^UAsqJKi;T(CR5IggjC_lQ`iyX9X4{?zu-vXGtRlAFo1uLUJ>S|f zSzIiUgMSjqux4F$F2ofqP*%RXe59^V@;_fawX{7PYPN!l+Buh8d7cl)SgOd`XUO;m zgCueQbHzU|MI;ye#;ukpImJB`B7IubvC+UW5068=m;CauR}kP;4*vbDo*OYL0d;A$ z{m2N0x1B)YVbTX%CJ7eRl%U$698^_5TTa7?t0Sq6>2j+FCglF#dItn-**HIpREMd} zGjD29M`pmQNvcHG*+q%<>xU5C3_o!6>M=gQWH5twGCaC@7n4Cf0n&QwN+V0)#m&qe zYWI-yMYQIG_;aJ8sd4hO;_1ex|2Uk=!NwC5?k+B`E_>h1;^-9)XKAs^H%#|S)#w#_ z=gNK1i;j1bTA$abaNr03v>Vs0hF*#6d`@2koo1u09@ZQ`v#6v?=Z9BWEqk z);0KlbuLc{6feJRD=X*XHoKl)n#u-CK%h`L8C z0CL{HoogVN@-K@97aNBD4_oX1h#vfJf(^f=zK&4*@$Xq}{+Zx^V>>wp88;cy6#}WE z*=?%-2uqIF!QO6MI?6AH`dh}<92uT@GOwfkuTQ8y0xmyx(Pxz}0_feWLj-X{Y#Ue# z2H6=uNH0-`**G-zVoMBC!fenr^u~kQJ}tpE9J^h|UB|`%hZk{Juzj>+JZBPDTy!*t zKPxf2i7SSeMuu!gQl5p$G5(83G~Aya3Ppu6(t`n(PJmfdNls2W77RuMj-;=7M4=F7 zH2C!q1O%6p1Azb-77RG|`aecSG&l&j3it~Mv<^4sARX-J2myR7ZLS1uR^p9amE0`N zf+sP`PFLtfcgb%R zsd=OVU7zQ(>a31OWyY63LnQBna>+)dN z{XB!g0Nz-r|sb1Rrt# z+YVA13T!YcFyYU6=SwpE_DV9#bw9&zrz5w;W}WJ_^gwRhLp6usgtG;dcyFC zV~62Amy}c=hGX|9a>%q6hs z40tfER}o6ULSmivy2vKZ)F~6aJAAi`#TY zd)(@gHY>91Q7200%e~wp?a(S7&M36z!Tl!T`(hVc(HS=cQ(eMTpsDKW>`@ z7++AD6sH%+Qx^4va~EHIo{ z9>NSJ0xHXmx21W=@qmPRoV$3*ix4HieIyN+Yg=_eBXxWdBx(k<5L+O})>dVKfZuu9 z)liw8>fF&nEG^|x3%i3o{Agf2bxqTlaHAHAmV>Uj*z>W8HB8XA^1=P7^>r}kX3q;Z zpSpT>^GNv)7S$aT)5d-*x!Py>)G*u8*$hxA(-Jyk-EIzR1ig|52nMHz#WI2qf$LF& zgt&=u!ja4IKwuK0@I8FbU3};8+c6jeFp6{o(nr_ZeK6qNPc-$p5{Pjy7P}7)j>CHS z`F9{$rT%PbN*0p|>hJJDv-UPC*4}4a;&As)!GZOT%e4clkLd*X_wonHOZU;gOk$}epQI`%QKrJ3!7sVrfEyf_AwbiD( zIGYJHM8(({>ow)wxqRLGw5WJ*i-3-%Esm&+sfJ)6ShCT%>!uAl;!C;Xi2-}TvV@V| zR}uIH2-cb1$>(-~d5U5sPPTAx(6y@JvG;@GGV|1LP^Se4nTwT3`k_zdT;uPw>w75Zqg@*~XR;O8ujcWp?KCL+Zo- zgueeB(=K}riRymxa{2s)N#Zx&^#f7l5&(Sq6Q=LFB887rjIAG3D3&GRh`#Mp0X$&h zfu*ZqtKp(oiE8;zdB|S@(cV#hWuPzO-*7h^ved} z#?e_Wz@=Bn)Un_wGY}4V_{0pqz4io3_#-Z@l3sp>a*ve*tkBz|}&k^jM^twc2%diaL->U8=}t5C?t%Az3#~ zie8#JG^>b$4cV}K*{fL1zCqIXBzc|Jc|JOC?k4}+nEtZ`j9m>WA1NaOtUkmmk>`Zl z+>N{9%U=B+=et1iKm_ZjrUaDUzw|_pY}xRS;MFqArd8OW=*7CX!{#0za6;5b+%>H-qc>2s}(pTTQoi#~+<^b08zShK63LCVubkR_6WWgEf~Z@`iuIm3Gh*D-fA@8UWZh zf9#mzdtg^Lx4Q|*TMZqZob!jL7xQdvar5)0tJ~WNa5!3be}8qarKRQkf#;@ZOsCmV zs#wT9ZeeoqCpako2+XYK1xZOwea&q@Q|0dE;;u_MF_F`kGhl6D5xcnfq@bwi)zp-J zcUM;|fI`9j*w`q(OC@mW7nLL^M*g`r6oQ8<#Y!?-GXA~s+}mS)j92aR^+x_=b_dKb zM7y;5k~ld_bGe4g$|(ROjciLwqHql1n%oj75$?ooxeI3B8j+$9EwyiMDno%wrr-D7 z_Y~n}`nN?!hKmTLsl78@f3uhOG-W}e0uRy{`zmL$0Rt_d4zl

    Y7Xbm%Ty+X~YGy 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 J(H(q&^gnjAuQvby literal 0 HcmV?d00001 diff --git a/po/pt_BR/docs/okular/configure-backends.png b/po/pt_BR/docs/okular/configure-backends.png new file mode 100644 index 0000000000000000000000000000000000000000..b1e7e7f4d8155194775e51e97f98dd2a06f7de4e GIT binary patch literal 37234 zcmb4qXIK5Pb>Cgnb9GNmn68cn4b>GY7z{?Ei3RmxFcJU; zBhG-66KagaN)`wOr6bnJ1qP#S`TIxolAo3Z2E$`CL1jbF@wJg^nr4xUpmM50xLyJI z5bnsKHD5gN$EKPyxu^V^0zv)%^T)N7fYH2~;+mF{mNmlVg}#v6_bgf`4O(&ZdKLYZ&1muN7DlcFWGMMsGTZOd&2JI}@8@2`t2V9cK*0n96~ksu>TqckZ78AN z;H^y6xc~{fPt8sl1VPS`-PckW<14>>z>J7_sp-E}mwoQ*YxY76aS#7&ItmeVRx%R* zSj?H1$KDW-{2c5K+oAjkRs&kMOifGxQD5unJV!yq9s;C0_!ihD+wV%#z{Z-rRACJjj5S2SESAHwL@tMcd zs;+%nZB^-lJ64Q+TH1x{fYtLis_DF4mKc`H!_N022aJW|bps;VIGTuHD2LI7h&az! zI1(ww!mj|5!<5GEG4tPO>4>gf9%PSbe&Z%Na!HKyWU>gzLYQFh2-tOJk=C@-G*J51V+;+XOZVwxXU|7)|cCR&B znUiM|mE)D2m93f*1i+w4Ae_=z`G_Q!g^h9(&&ozj3`0nqYeDh3JYIR+*rpLYHWE%C zB_Squ2R7z9rxg`r9Xy%kMEJpAx+>ASzhdHdc*ZLB2ZD1I)s5BNB|zd#b1RzIghCAg zsjX18+qWHvV8fm4LXAqA)rkv~aR=}2t6=`TWka75iDmZf(-xP^Or8InK6i0;-pYFB zFMc$uz+_~kx`-xT=%Q0Yd)_XOxMs<*{{k^ z2CYllUN`r+z7&qke0+2D%9d@EBhK}l!qV&c^POL-F`1bSQ>RB;r@ybmU=2>|BwchR26S2t2z= z!bsGTR@I?5aY*X>9izPTacZZgGe>S|`nZmlNn&q3T_63``|2$K%$Y4p>02`?Ba+S0 zIESY>ToBVu(Vbs%{0}8ZU-UJvS(bn9`0W$Uy1A{v_$p1OaUw={C*|u;!lVsD-F8-& zRDGbWi1Xw01WNPykO?ZL6c?fsMS z#0#&!MT-=)N*}szISC&#z3|k%#$!jL zk6&g{O&0B)RGe^tlYL&21rWrEIG|fZ1W>3)Z~K%nP1+yJn}4M>@~!o!@^qPVx@fPZ zi_Bdz)Vmczb3E0@7Iwih1c5_-OX#TuWIXc%YtBxzPMkf;Kc_~gOKECGl;^UZw?(Dy zEG>C_5{Nc3Ih1^3Q}SnGuS3W)gMvn3!~Z1J!1Z;pNy25p=hjWr%Vm=)_FA3o{q-kv z-(BYxcvpU(rIM4A=WUP7w0LX=y}88+efczT)~NGT;dn4_CezrXc#(Lcx$l~p#o`^V zbx&4_qvLb7^(5o=iAiO(_W`l7$#U*Hm()GicsV2U(ixQz%)vc~Cc_W}QYitA;oSJv9^QvBtcU_oj@^a#GNv*@ghuvj} zie8GRqWteDGgD8_GYe@^U;iyKSFI!e(D9D|yDVQbeEVu-$35X76ySkBBB8fY1>wy6 z5YulebaROp_9i0PMnX^Tb>LhS*Q}ZO)9ZoNaE(Y_{zN`g14&nb8xZA>TCa_qn}ToQ)KRQl3U4fI(|5V@9yk{EB_dw zIWKkKlGh{EV?D?C5d~8M-h;uHY1^3YN}yiDae`(B7yCb8c+}_AMc~9p8gj;0!AN{- z-sP9t@KkSIcOo(~ATnNBZh2qKT`c~slXm>0q~>nJn{~y--VYz1o;U0l+?Mz6Os*bK zJP6!Z?(Chgrx?k5C)2*46>h$urVUcQ96wu(!9 zVCvfSqWk5*_%v^X(5q;-(EU@})t_-;CGq19w@e#a-dPs-89RqWMn-9wC?kKFdv*&3 zavklE+_RzG*5TepJq-$FBYvlsn>=RpeS*bh$W=R5wm3EAEJTR?xgwo!>vuk8mdw~g zuXnW`JC3H!!Q-waY8$5(_B!>{G~Js`=DeRhU&#Ej_nuiwBSuC-Pw!7Csy9L%AJ)EnfvcT+WI<_d5%X1CF$xZu4heplPFuYd5_ zmBl$D#4jogFq*X7zqxhI%63uXK4K+uED{=$m`t3->m4eH^Q%tJ1kH)@%f8r4zs3h@ zt+J%L-jYd*HNPv-$XD>_ve5?=WnrN|1Rvd`V^&V&1fX<1WJ|B=YF0U#KOxTQW%P>= zu|ZtGEWS*^HW;S?cD3D1y$t|W2b!a20!DW?68_lf`JFpVvG3jz?w`x%2US$IOuLt} z%)Xq*tp}JWr2UfSX3Sm8E?i9ju@U@_2Wsj6w!VS#ZJyc3+3VGnRiIV7la7;BQ{0 zs~q=UNvK%!8Ri1h>xP724&N(lfJ?(tRNR66C2Sxmkyc9Xld+6!Mj8IC)Vl4c{DR2& zgW>LJ!__FKz#m&1-pFqqM%7dwUAu>kg}syctDf3YF(jz4)PGPfXH|R5%t!@^*i}3( zFSX*yOO_clzp;~DH5NhMF~O}cvCiD*!a=+IquLSAG2!9Z=h9cbe3-s$?3cN`e=OgA zq#5%Vx{lKoSfEhJ?*B=mtd#3%RUO`XH?NEr!Ta!b?*?XZUHZMV;wOBC?|My?OI_H3 z4L<_7Uu5oXBHK?p8?b8Rj7yTYe$d2gQ91p%ee=AauA2_}Al$lE6P4Wb8YL#;Ib9wD zvJ{(qwhw4!k$vj=nGPY!x_pbas-XLBNwreTzO-KO;PBY{gVdj2JEu2nSz@h8JrP$M zDJ55*+6Fl83%)^_%brwzs=T&KL$#cWRi63f_r zRf?#`PPWtIEB&Q-aSMxi?E@xMii$4Q=38kD1rElU6$r1-;b3aKoKC6U1ck#P962zn z3NJ&q=yaN+vhsZs57`1X2igtIY^(WrA1n^fKf7(+-N082bB_&)z8dwiSID>~GWaJMP}@!kfJ6=O$!}_>GEoMp*yXL%Bej%!R z5n2iBh~PDPLq!!~=%kr%pq5%$&~uC1(8TJw{zQDA?WfgL9_5{_R{s0iO=jE=zc{uC z57{z48;dY2m(#cuNHo+x@Qwtu%HHf^{Y6aiq@ZJnf5tf z|H!IIjK3Td2;bPJ0rsScXop68hJ2W0&mC0lI8izCxPFRvPy)<%{h|C7_%)?Zecxkf z*5^^#B5m~DMFm!Ya9*n;x9`8}a@T%Y0Qx&HB>$}pQH>*}64krH*MJe5VkBCP&nYTj z4fq#xALOxmrv8}TNiSf ziJANYUhKbp0BQtd;UaV5YW$vtpb~~A8%+(n>m-vxj-ty(p~`A4--It+&bwDTnqMpE z#y235RpxP?Ftpb)xZ3n7jOS51WvsAie>O5-tcNOIN6j)Qg=O(1bsgh1o zz8|2%gmPY)PymQw@O@gHQX-&dxV%fdDbQxm>kfj5T0y}TyxeS1TN{81Du1>UW}!ct z_5mrr1X4LJ{o?*8s1#7IkZW@_<6ER%exYX1B*)b)B~sk!r0;fR)~b~4{52g(e+C)= z_(2IAPb(@RYogoMl7qAqNDyY{D>WXwL2zT1AJ=a`5dot;GcLGW$XRG9IQ*QuI#OT+ zW-tvF6}LY7k|f&YHrUJj>kci#>_mS-!Pkt42#H6xk=;06bTbf^U7`1`AVV~IfCq8# znStB2(JIk|8}Sc=J>L7EA0fejQ!18(EUm1p4%h-p8LjxPr)YR58uSb9@@>t2>awkU zzcpejHh!mMM(!13`I=-PqTl=?Eek40T>JjThNvMRyny#pE3)pISi!j_jtIE;M?bX5 zhMsMz0n0+7Bz`D!OhaHg(3Iw)2OWhK!43-q(auj@Aa93E4 zvg~kI=p+Y)^|L>aA*miNbh)QJyORynMM!XuC%v#y6H$ue2`+b-mULy)co!EHdDhAI z1T@16qi@VPf4EkJSj-Z_?Qb*taG{9roqErEsPPTWRGl|g2H5juayC`Np67;^#xYgy z`9#C@#Ea?XFTTUK!tZ%SuDUI)q4fBec?lqU>yH z7VwXt9h0aM=A$0|*q9zcDJ{qk$I0oN_%-NsrjV(Wm6vl+kpiu6R{GP7Uz+OvG_-Fm z`2Ppo`Pn|k#7t8*p zRRyHL;o6Q{#hiJrMv*ZE|njjw#hv;8pvQrz_2v4#ebmiBdACN)oANpZ` zO~w8U^1cWZ>znF(;II>la^A7IPg2HWG8>`^ZUulTQ}#=TrSdNz3ro)@53>=QcfcDP z;eVW(kI?k>f`x681UmH~DV2Xv$Z>%fDx?cEG#U<;i=($<*t)k)VeG46BkR^w?cnwPl9U zDKZxgG(N;T@~c3&O}*mbebucQ+OR5goW1JKBWx;b_dqbFe5`1;os0lCZOnSm(~p(C zkG?OJ7OANU-cWSBxA`3CJ8NU`w{kcZ6Dm55csTu>#?-S}LRjny#X=$NJH6 z?0w;tKs`5LVSHa0jy%p(SvdJCRs78ivOOhgZoKLi+TmJf@-KQF#k)eRK(p3r8I20a z3M|WIs6mli*LF`z1wyeEG+`Z$39Sj*hL^5@dEo}EtXO5qT4^?)xiKr zs!H1Tl^Gcj^bT)BNks@z9F{^Q7qT-7N66<*e-hL}XTy!C@e)_Tzjq8j7^%|oGk5pf zo`C!Z`!m<)m(T-Q+p1d*-Bh6v&~i|Srow0F=YQsoX0R6$xIU8UJMT-_dkP)5O&(p# zLx}o8NzN#6%eIdX1zINKuzOD-9+eb0QVshIO;11-bxtry&j6qZ*1kBjm_VZfV@yEc zZG55%m_mu{q(Y*>@dF>ImyYrUq@!<2jlW^_<{@@Ub3hde_#0MVanRRjN!4+Id_=$I zY8Im33s6(!R)H>F0S<2&>~muNVF7BmG8c+nck`Vz{%c7oar(xaK04(4@B;!5gq}G# zjouY80BlqQ$MF9+cJ>q!%pZG^fcVEXrFgV?xrIm6*SPzPdJyi8TKHeboN-ugcEh{4 zq}##4jfm2^=Qy|$1cQBxMwA+fUj!smpX%6cldR&f>X3w6ws+yX{Abrd0==86;6xc= zYH8X=>#cvhYA=KU&R@y8cuXD4QdT{&jL;e=i_pq1)X}M?pyQ~HN)4T=Kc$#F35_wn zaQ?b{xpzdduRqwr?o|G+we{4OAF;B2bC$D;&wo$*URTh2Z<_h?jOcoqTdJ(v5p|~U zhnC&M?yIS63@@N6`EEL-!JZ0O2)s`#WB&_*iV}aa9D0C^;|4FHE30A(3UB z-?3a+Dq#%U|4f43I_Mlc`cP3N*;4YLq47=O$WVj*Om+9|7@eB#LGj<~pZEPw9X@-l zR?>Lvnz?GE2j>r;j$Y{Zgpr zq|P#vJPAwefHjDS2rcl`JOSc@d-kKWoVba@Z#c?Ap8~*J6J?Rr(v-vJ%}nlT zOd`lBOp{5p?HMfw^<(6Y-W#iBeM9{lZDjE`$0ti>Tq}z+epgg>N`1&V^C4M9U1ogs z2sfP--@losbsO0FeTsP!!}ji7-%;&R^~>?6%03~qh)+dnlK~mcMYH_R)pvIkXr+;z z9bMMBR+jp%wrRWK$$bTsY8WnsMy?I(!de)KwgHD?wSc0u)#}q94hGi%Vh{lCXDqJM ztbTb3Ip#v1H$h{6e|RLrby*)qWaCgW7EEySy)s6*`3{m0?Kz^lf94*qT_eW&JiN$( zBOL3}EjSG?9eYuKMwD`0s3_Ne_?E%(DaDZEroOK619y9N*^%EFCSD~|uzfml^^@I* zSE@s!uE|kJ3bPG&1EB+^9#n{{&)c^)q{bk-yK8o|svgKX;2JLS>h7KQx%+g~RB8)d zA6IF;HrMKXt6tK_RsE3H*5P`m@QKg#d(p^a2>_|gVSoVw!mzFt2FS1kfW8(0rt^eM z5?j?si5@lRu>}$%q|B(!ZB&Ofk(+NI0qIAg5@J0^&T3#vr-Tz}dj_yNp#g}=$*7wl zS^8m4{cvx6{Xx%QfsK!oob0#Se1>%dW(OB-^72gHdaLL^C1f*w5K|}aTb3;||0grZG);wA zQ=tVkE>Iyu-wrENgKL%2eAc2uTH=Wf_il7poIiDUyHWvv=FtW;4 z+z|DWj_CcKocuQb@xZeC%x`gd4|}IP?}++$`{mjVebO5P%xjZ%p)nY1(xfw-HBrPR z;n{g>`A}w=--mNr4K0f3lYnXIlh0`py!U<<{yC}7Y(HU1EHSpa#;YP}H^z7Dlgyjo z=A0?MVY2qF+EnWEXY=nljb!t;22Q&0KR;qdZ47#ytX5}_Jz{<^-C-@-I4U$f=Q^qD z>sc`0{#qyM8$Y$D!QoGTvNpz+H8%9Min>jaduNeJ+FSd>a`kfjcnG6F0umOrDt6rI z)xYmpPqCymXwys8w|f3Eu<^&l27KkK!-~MIb5OLYWjWe`Zr0oEc~6S0u;=!A;-mA3 z1}G4km&NR=rgc5f_BTIL_b!v-Mq+=-LBQG>xd~$ex&!BQKuR8Hfz#8f*Oz*IUZ?{74fp1e8g_)t2nMd zl9Q<$a(Gd}>e-0H52MHYd%vW9BiTKEJhG6^e4Es8ncst0KH{g;N$bJaPXc#uMcT+e z9~Momi<(ph`A2qki%>z25?k-h-#aRyz*D1w?0+feZUn&*`bfyKBQJvr2tu$x9ePv2 z*pEt5U2)AwX{{_gI1++^y5w)}EtJNeAH?4Z(`h}-qGtBCaU6m0WjB{{ zB2{$n5GA~qo{+kgBLUiFA0}zoHF5YnHsjfPkZfzMc6<2SXaW@w`c<|oEa};wBDwOk za3dri73jF-72&~+?6#-=F4c3hCR27z)Jdz{!!XSVBgIl zzmsBoj>_U4tM0o+Jwp!D$K9rG3SGSGN~fEX6?7vJK~S@-Q~$E!Io%zhwJ#nvu3t;T?4gUZO=IiXBzA{L=>W)wzP{L@1?A}mrfhh2EN|-4yWD|R?)@Yza;4r=PPQ@1S(V+vFINW?t`^vL2}T#Y@M&Z{sIh{aET~5aYY+<>zkBFUEnJuqt$@pcL z)WZ>mH$UbM=l?@g^zB^2K6}5>gJQ7r*(&SnA6H7h^VptKN;Ucg-2(U5r;pRxWYEPH z(YrfNQ>H55wL25pR#Bm}?^3LZfR*i?)VjBsWd+&$&P2#gsNaHKyPQ=CLwuA#saD`8B%1wg78CR7`{e3_ zs_8aAYqsaaAe4QTO!o#J6bTy8V}ektlD0kf`*>t|iqeG3*(eJ+DACuZHUhVrso;wf znP*{Lc2q*v`mCn;F+}tvhPXyHH zxd(lzGIa`*4c1fMFOg|MVk$1&lj4^NyYjkS7RS$Ept;3xR+O<4?u-aguzoMUDM3gW z>NvUBXxkf%B}Zu9u!Zbb*roZ|Km;8?*cX;}71lB#MqZgF2gJI!Q2JH~FMlJRyS+UU zsItz04%f={0qYa2kR+#V;Uw4J=)%*aN^00ei+5IXIMDU6;T?aka!-E~xW-X88p{58 zQ*1dK=S(f`DNh98^rQI9B+c4Nc@T{;%GR98WDJ<%e%DXZDOzgfTka2B_n*JUbr-!| z<0Dz;gL&?L%*o$JpYXI#%RhA;vq%(p{y$XsoP*H)#KQNMHG88g*ZQ5E&vbj`>D$*@ zpeJeho*M-bi7*#NgvtQbgEcC^ZiSKtc`&Rp7it_!=2HppFt)zRXF^Zq0-k zd#q&1H{sOix;lsdv3;JdJo+}$S8{XrAq+a%Nwzusf}p*=x_j+7oR_9y@FHc8x;clp zZGk}ovv#mIDfnUi?a9@PuW%2sZ!w4Q6k2{u2~F=cK>+OlZtrLY6t+eQFO+MN^RMgXpdS zOyZZ#jq`(dCknA2Xfwx3<6pyyQB9zRU@+8H^o(Wk=3^{J<7IM14w#AC4`M*6#-~W+ zNySv=*)xWdU&V9?W{Esf5D^Hkc}oL+yJ_JEP@;k^k^yn6Fp#yZKo;!DE+s=hL8)k{ z98G!7-!u_jS3^88#W8s%v2#hT*(Nu+=Rc}++k7bm`(>;0ml_$N|I9_s3UZ?_Z6uIr zed=ZNl1$Gu>m8li%}`RZ4~~dNS01-YpUnX)HNuv2ij0Bue*N)onq(N?D9Bg--kQ;g z?oN1Ial|}-JM#NG`iATZ-F_*<3t(A&@CC>)-+z2jd%`G)^asXNQvYRw@nVYZVWd&H z*PgS=j&wRV2g{c`f!sUS1J7vJ7Riv>I8T58_tPbC1wfX|K?JjxaL$W65+uNCaCBm)tyYb8rA#V~ zXBw@->f;3uI7jCBzTrLh-NA=4lK(1m8TZU>4tOM^Pb1RPKEZ;~m9x=S0R94zJeC1lJ5uKe@`K zhpE%{jXr$H5AZmi=xoUnfvnS6?#ehN5>g@r=>UgOI`D~fBmcQp=WSBCuGnqs33Miz zMJgp}^0!%k0~*9^dN?VPi+w<;o8 zQ9)l#q!HDPC)+4}3}hVL`Q2q3NkV5p0~KA6na*gD3<|qVszRGGvkURc4m}*s6^mYE z4f{Jog5rmXx+O1@+}?~IohvMH>R(g4b*L}mgiRT{42}9+(*0(5DOHb4MwcC-+&OO~ zy%c75Yb+X_eOJ3t;p~X=!PMS@yl$l>Kx~+}jciO*7-nZyjlHo@g+e%ahNh4qQ4to{ zahnJEq;uvsgnV_^QLWR;@aX`fSk|ow7_t~IAsrC!Zi2{?qZxAI>4O2qc80zPv)lLg zrA9{=lrco$H@5CTxQtCd3fM#qgerm2E1IaLfn)-5a=g|n3+LT65-2dVv++CK@D)UI zhhz|CBC6#i!#-C*e;CW$Mu8FVlAoFHr<0Yilr z%~>U<1RWCK`^&U7FCms8qKm|Yhh&}+LeHMXderV%Q{kzBv!*##nv&k?d;`FUM82@L zUQ8%^VE=iF8QfvNW#=!0P6}ZIJvF*K*2kX7zN&fEEN#&`Y?>s8B}48@7AQb)0nzrk zPofs>dP~X}PUy7-S0KbXEDsH#pdYmsB*-gbG@xao+P!OpiBI^v+EtqCZtwKS)%O7% zS4aScQAq&t{yUXO}%`&=Ph1s)H>tE z95${dPb@5%_H~o3%<`QF{msT|{pla@F)69Bx7j*AEF$$xVDG764@I}d=}#6(kt>O} zX(j}&9w*#YrK)5s*3E-;Jx=|Y>96Q{s1&>^Pg*eaP=LFs-=aN#8KYYoME=&8%JjI3 zP6%Z4dugbTn$x{?jSA2=U-y$xQZ_mdR&3ZVew1>gJEeY1%AYJ2e-SG-Z8tXdy|SoY zEl}62xRZaL7`T7fluNtp`8-=q7V2P5BaN(R_}V}!@=<}}(bk{1H)~oX$XAjDl90%7 zo<@`Og_@tKJ0x^~v@+>KgC(OUsGw0L()5vFY*Zjz>tVHWuD?HlJ6d47Cf6;F2>)HV z{lWa0dQIcJE~)xkbu~njC~LPgz3EIVAu_C!>9M*;NxKQvp<-n17nPEEU~J%g*`gW9?bmvWpF%MXv!8p@R^yDh?0p*P^EA zObU^>5e-r`tWuyN)&8%dtW;vU)~dH%eb2bQar~+3pa!&Q zMSfQ_mHnA*#eH5(|8*HR`S!gXN=3e`;H~X>q}7pv&atStk`+D0mBggZ_zh~7-rZlq z%t|e#QQ;KGafHitT!UtTEaf^NwTp@)27X2p$ln&A16~AUpO8se-mY3kI1wS0;btR* zNtyyYn~{8{b)WkR!fP_1L#nbNVbA~&asG0W5&1z7KFh=={LdqM)JLY{q8wp)WzBH- zEt`qHFXJ|YLj5rFZ(rdx?xCwo(mWJA<~$;njY~=O#6VX=qwnEklB+zAd!p&R8Pqxm zDrg)sXgU+nBHMN9=dho)J6VL&?*V9T#QmnR>o7ArkcE4$u3!&`W=L_NI3~twc^N}7m-2lRVU1APDJT@t3u;H|(-*7T zJ+%(qm)EAcbqthY0khZpKfzMs5DZfXaCJ4^mIv6#F#a66AE#TaLPOk+>n5a8TmyHm zuiR<8j1q|6b`e9Hle|mcGyY-fvzcp^WaQC@uem-x&dMmQe#+|U_<{n%)hw-Fc{ zb6jlJ@VgY!0Yf(#i?v~IK#v*_jUs4b)!baflXipe7eYGrEQ|~c+MCqB*>S(U8q!hq zp!)ZB1khKmSQue^UZ~;uC+W`hlS6Xj?JFCb;-96bgF~Ttk)(rl6*-#fClDR``)!jO z1F_M#PA(UXrC2ppT=kO)L_P+DVgprifww5}Oz6+5mIH`K;RWOK zlB$+*1TpE~j(6uhS%CRA2RaYI06Xg8*_LMB!=u&Zx~b-xp|^I`i=Rv5ItFbm7J-q|-QsegznvX9)zaWg=k%fuj8B}6YbQ_*ekCsV zI4?AM3E`^IrkF9G5q5IWl_wBw_(4SM2eQ)zk>FOX+Q7dpA|EPH_?uAIEqjUKH3auE@W_s4h6ZfRo%& zhg#rc;^2Kj)m$IhRT-JfDv%r%TCAJU*)T%0?YDl_#-!D|tM1EarBSC)RobyrKK2hI zQfu_B(Ms*N(kw$!?EPDQTKYGjiu=z);9XQmCg5ra{Ce?Y2)AFwiOboi!F!Lc2`ml6 z@u4{QNEkIz6^zSWQNdMnx#%oqsHu{MV9C%;uxLK;Q>mH?jxHRnU!C5bKfFZnq+|G1 zpL2Rw=`|3eS%3j`F`!5Rfjj+p#O&*&Y;+R^g- z3HbEDBcU*YjPZ9wz8NI)A*5rr^w3K3OSSFlah>hy)RSTZ>B+@6mv!{w{jJo&_Kf4KNe>V+KMxV$n^M@j2A^PrCB89zzH`dQJ)(C!r0A zyo$UqticTQ_|o80Ucj$EW<@(&ng=DM?_p%( zzfdpW)Ohk2*hqvbC`Lf|R3B<#5(QJ(flWe`fk)lb>1Uu*8xiZd#f=DzZuQ2ZF76Ul zP$fd{bu2v+7`}omYAZn1f5?VA&y(?7H2vayn~(To)Sepu?ho72@42^yKKg$tk-IfO z6E6rQ(R3gAZbp6H{vjf#-QknOOb#KCgzOV=N&X=l;iCXhLd9@}g${%Q2>JW{H&npg znN41VR|I;F`rkTy6pC;f04LC9iXGs@|H1^7w<9cB3U7L z^>z%+8O znpSRK_0ieF>owy;MVn6NjjB=jw+{D{o}*Mikn}I!S$5>|VZK%g^*)q$tU5UHf1xES=d~1A&>_V=p*ovhV)uwMiyQQ!iFOO`d1%1MNDoR@TXQg z`~#i{`4>osGupX0Tfg$1-_v`S*jQ`=u&;SrL`)oOA#p$n2SIQM_E#=(=Wh8~Rdlia z<|bXNBD-S$#`EK&)=sae@AAN9;gMB0+B5H4C&axx1=L5IJD*BC85$y%DCj0f@7bZsS%x-EPY?QFVhJ- zP{OH}O00>HWidN}`=bY+YCR9>zFw1&RJhJvC${+$c}($l)c+180$rxJA^?MlzFoF_ z?1?)K{*T*m2r?%4U- zna|0|Rn%y1+g)j}M+x^|@@gqTKru4$M40Y=l%0-t99^~rD-uXtg9F|fF56q{+XF?F zYJ?|1>2;5D6-4PoP04;<;EXY0-@a-+m^XAfQNEVD9U;TahI zY{Nm*)+gxGb1(icdBNLcXy>1Q?#87g77xD{zE&Xb-?&w}Qguc}w&GH|G0Usj`CwuB zb1=C?p17EF<_7Ze-RnX5%Cf)J#rM%} zWj7n)B_dJOx2Jux?_OnH)@FFnt8w;I2h;O_*=L1C1&Mh-nLhdzI=N`PYq5{KJQJYg z>;9u>Ousv6d~X-8H}`A4u#Yt1<=uOBspCS|ZrT54KXP$%b=SN(<)t}Y^R=w*sh68w zI_V2s*Zo_<@|P{<8;pjXY8Hxc8n)kf?p2}nWol}6w|*rXN#F4__NCjgGDYI`23&IP zo>^^7-p>xtmO8VldAxfOzN>F}Yf3;v@M92mE6&LLj_wLZGn-k@wK-h>f`dF(?d@ac z1j|cmN!BLq-H(04rVj0#MF-Pzlg(0I?fz+Z>m7HoPWSaWIPV=#Mc;MJPV&N-++n+w z;mme--Qz6Oeq<(#E2AOJhL$QKx_k3w;YePLjm_%wy;=k3nfA7u%Cn;J6=s~<&oW;+ zSSK25?`9WH*iMwjH<&Hzh6X`5-k`GoJ@gS_v|!4EiJyLtk`{eh4{yN8RE1Gu(%0<1 zIzKzMIAkM>+-@1F;D;XZ9M8~<&a<~46yGqm;Np6>=Hzzs{n)(be3F%Z(w%1sm;Fx? z`YdjUemZ-hc7fGp+i!4cFoLq8J3x}#fsCCL6!{d;UEvV2ilYH0Jl-VrmpV z!U2KQxT9x6--*oQD6$p&j%?=x_k;ILH0q2=Z28!G5qDsrD>E)YIsZ~908vQ|7tp~EN zJ3Y4K2|HS1<%GAQ<^lN9IIWpin%AM@vOY=f>wODLmt!MHB5`R32)+D^;J=4q!M%Wv zoTW=Obgox(9}tl~>e9M#ixQH1Y}-`C5aC%)^W{?jTo)mANjFxAI6XFiqqF&B@Yjzt zpNy!9?(ZfG#toIfx9B0=@&Gcb%ixtOsg?q|MA`_g`d?WOrf)0V-Y8U{E=WrTtMenzK^W2_Vy`Jhxr`3nh8E`#`nsUr)=HRwZWhSWsl0*seNdb(r2uoeaw1y87M1 z{rLclMTUVG$p6LMf(*vm+`TT^#1qeb_RiX^46}K3T2Dca%1f+d}vnEHaXgnEUl3-vQyhUb{EpJk(zlRAT5U-5KvaRdXGf z9J{HD7;B`;|9}J50vKODBxfZ3e)FgMa|RRlZ+0GUhd4ob+LAZboq3=LA_-$WYPP7Qbcrj`bLxYm74PR<7hA4Jfy z|Bl{US41pjrqln9wiqe4ix zUdA=*g-nF$C8HPvKV!Z6e@S(TX>JL$MDUtG*@gm&dAkBN)#TE6YhP#{o@% z41mB>3KG1HPru6b`AQr_p_5}OIhcFTMLgIorRSKE>>nmNwF+ER#!Np zul(lgA_(FE!XY4=Q0ON@Jw1||*6Q$kkKd@_)P$q~91nh^apuDTS7^=$Xp*I_j~0Gm zK9+M}y1&z0e$~(U%DqqYWek^=FjjY!!Idc9xNlyxE0~nQ_VPAaCJqHZAc4DsOmlrz z0GQM&+m9QnT;Qd{QO8HDG-4I2%k(k%p7ve%In1}uj+cx%}2B!9({e#RQi)d=PMwcF1Zwz zcBKt#dRq_tH$?Qnu1olx+lAi;+^**OAf4DPRr7C2-t*}e>j?w?85F|U=+{G}zXDuS z>9e7~1NF~89-yogh?}}&tdeab_`{eV&{yW-V!^%E45Cy6{}X|^a>&k_$9>h|SV-*u zQH|pSezD?Do?WHSjwB4b8P`gDS9^m9cldw04##Q&aWCo01}fz!_0%sS^XnnUiZX$m z|Hg`;ga&3RkstkQb-z%s3jzQ}b7SOTjMINjTb4uEdR*&qs2Z1GqHsJg2h*j#aVjHOe}?_c%0#hD1ZI1nyf29D(x!Q1_@Lql!25N! zhMzW>-iq$6ixa`}&7COpNYRbxi0{@X?^jFW7 z-(W@(GUrr42#&mQFj92&?eohZM9AOzYZgNMQUDXf@lZ7F|6L~pMivQyFeQQty6J5Q zR#g4Jt?)Ov|M&6*_JjWmIP4!7KLL=+z)W5g_>Zm%FPeU}VuXQ{kQYd>g#?OtK^2_Z zgW0-h^J>B+>>od~A`nLM1aJPe7xdqH0?xlq!w`SVzZqu)8A2~a|APkcAAKZ1F#aEe z|5Nu@=pUB|Sz!Tx86(C0$44C2D4Jb1Bcs8ydZq7Sz4Nt)EOjPfGg9u$_A*{eMFcbd zcxrW}&Pm*EqSOWN60CYyrV*2wYua!waLiWKW-si0y0rdz=d8JXS31ydS7zqzy64(EZcXLE0M4!iFXoc$M&{vv{zm0k0k<*Qee^|RJYLcWERk7aYEuu86f-?UHt zSc=X}{dtG#LQDQ20qDQ(=60dQB;*F1#u`;gc%L5$WS$>8g!q=9=8FEqEV4`i7F;J}kB;&6t_V=MBcv@7^cx>--+& z-c>#xZzR~|Lq2AITz{Ketn~{1EFt$z$*a9+onUx^OqZpTf2z9a= z>Cas9{V!L1{v5Sfd*s;+|76O~o8)9@)O_f_ck+V%@-yusjKD3G38vgO0br$vUL$$* z#`--25RS$n!r^K-Km~a?1L!}PL9tx7f@}_Ga=|K-sk)h~orMNF?B&qTjy&$s>xWvW zCm#Dd;a3Ovgek~B!h0Tk&=smK&XcfqU8{TAP~-O5_YQLNkff|I*KqIl?NyuV2U{qy z6_dtJ-Z4GH$RY4M@jS=NfQre-!Nz&VCHLd`dY2-sk%6#$2hr_a76zmW!5@MvS&%Mx zRtez*D^WMUNeN4w6JD2e)4$2tj(&1pqDK0wWwyp!l`Wqn;{}LvQY*_cvE^5OYLABRq|_ax*QE_iG4lkypo#Inl`E-%{&e(^s#z8L zC7uC6vxjfv-(h&Y-o(Xd#2jB0lWF_FAx31Td=%(WwILujwBhEKqsH&5K+jO&YIcV_ zpGFObAi%tcB+zbITw#soZL}pHUdlYmjDX^(dJ>sdBtMh52@)p>9zH}84Q4j*^#AnV zGMvmX!vG=4u_LPXP&_^T$oFSujcJgvyIGrBX3XKs&9K+Gx$j>R(t-5<8Pk6`TndMV zSfzNFjmE^pWI~K+)1x2lS?IOUZyuc_HHt*QtyQSS0XpyFmaX)~ zb15i8>Hm=S-f>YiP1_&}0wQ6CjO4>02#Dk?aex5?2}(u~5G3cERMLD=&6 z(QTwcj60KvJ=Y{aL7AO6@G)#oehWFcHtCI< zEF0NAnLyG~J2UvH>gV#-QpMt6PJvETOUa~|=!M4g!~TD%;K0-n|3jbs)}H@G9fJF8 zf2;1Rm*iY(zYBHPC^n=`5hkPP$#+raMF082N4&YYuD1{us&ZkV3e60M@Q*rQhXOJe zFUfDgh1f5ZoTN=9y|eV?I~aV)PG!b;(xDR6y#K0x?|U{{cT#U$s_F{aR#y>r^%3Z% z@FhMJMMNIuv_xh51;t;MBMn46$fn`kwEoi%BV{8 zfiIjcP(jEaVN0y=uWI#^F!}>4APceoK_Ms*@@bvqcTZYrJzNSY)yOezPptja1GDgR z9iR0EV6$GYmkEx>==ltn4yODdpK_#XIYK;AP_>cf4`8EecexpJv}ST02|?xpl%L zohY@_JPylGvGAKq*TrVOb`NZwj)d#(+!5QZ5{MpG!OsZsjb#`bA-Q7}pSqH$rSM3F zJitdWQknSnGYV-LiD?mKmC`5`rDyW0ucg8z;_zU65OcEx=~tuTH?>rsOgqli_1-Ez ztJ7F-(W-xpk(}5$;Ia87VQ+NV{+{P@bk4Ylo=AQgW2GU?m-JxFx@WJU z#kYX>sqmGvBA4Y??{F}$ zFO5;~f}8F9gz?k`6K36^9Ut$s=&3kirv4X_7#_mRG|Ur>EWecyKV(O%pPU0CLTZet z+0XCF$n?lCV#MQeXU3j}wIy=Ce-!eXTKHX6nyQJObzw6plz|39lN;B5*V8UXas0LA zyg(@OS+ud8*$Ag~2*OOO+(?u`SawwSlk(r~Dcb0Zu^)tUMhr1oN06mWm$eQJ@Cyt| z@F>@bdkicIsBLmQ^PhExA!$;MVFSfZ6{cr(S0|=Op$*4D1oma0u>n6*)eqjo=bxo9 zx{6lpbl`N9;fE(LrBtVe;ZV@(k^IN%3F197K-@j>m1@|d`iNWBI`+g#2Y#P2{)VhH zY_Th@`ff(rmS*(q>PYsftgjR+VEAJj3&zT%aWhe;-R=HB6Df37;p{fx-^3VxIAON< z0UO-@hVvK1!(w=flX{k-|njV(*P2h5=oPp^`@7Aa^jf^A{ttYfmesQFO=lldDWXHEM6+%-wsG|P}sf#kC191*+Y*XyxT$u zGtZ>9h#eig!cIK6sY!|_JfM9%YwYYzFUeea~aG42XiRgXMJ}8UczU4)2!iye88N6vu|9X!;?NM#~C? z{(+V0thNV^7Z@XPiBP}Xncsc}s1N@)tp4Nt{D-mdzkSX;v$B$7V`1SlEOnvs-Cf+> zM@#+vuU&$O8s`+^r=z+@)fB*hHdr?J&xy^-%v#_?X@WE!+{hpPT)w|Wz)uO_}S04w= zM<*r}Jv==2)GuK9g&%^3VV>a+Hgg<6u7}Am444;-NY3O}lU%rql?@FI3O$y54DcDh zKc$sL;J28VxLH|Q57`C}MN)qX%|jWWz-Heh&cCSAJyBODF?Mj^I<~cCFCg|!Kep1g zrnWX!J2&P}<)x7LxVQyPGJKSX%u4PBOPVB&9UXZJ^Yc-%GCA9BrnZiWSRSnZGDp(I z&K*TbL2-S=-OKBqV<&e=NXQ`@S>cHr(}oT<#MllzybI2Qc=)gJ1vYgdXj^F(JU4v}E{Es87Xq?}mj5cWU~Oh*2KmE}KjQwk z!~NT=p#OE`@PCs{@qY&$juc^4Iy=2vz4JA?KJR=pQ+RPtLv2s#-`BHl&hzv71#BZEL%G zn+%s8T->1&je4=oOU4V~RJ;!`^5VT1dwD3rZ#__7d=#?ZArkYhnU}A0Lv%e;?Bn+F zHO$SEm=fnCw!yarM{Felma@vW*rz5p86YSG3_N)ZK%hu$xX3lsR=%HH!>{J3R%0{P0l>=%`MilEf2e z7!>&rgMRS`1EBH4E?RZQmo*FZzyknzP#L)X`b!?vvoJH4C8_ z6xUFVv&0=jJp16TsQ)Cq53t zWPMUAF}Oh>yp~G;ISCm`+XE_mU5KUR4V|WAjJt%ihKdTr1M6BYGR?X~uZa>H|K%+$ zPXZh!s>64)nrW|R?^BC5V7VuBcSrvGw(X@;ICH-5O)*zfqBV&JjtOOxeo)4O^~ z$cGUR_LSgrWM3I%BOVdG!jOHuU)NCHx&Hn^GJ9-{hW#w7Y;6U76qs2L?YHNEN+t*5 znT?qkzKzq0d7UxA!B|?n8N4_a^+P=<)LRlJHjh2fI_&DUyqBzNssXEutW6YXTa&AQ zkAspaEG}o*TCj7zXP?6=3<&lPOmMbg!1`j$*I^NgR4MHfHTHMlp3PT&gJMCS6pX$7 zaZWhrZU7>tt1BtF?J;6raL8tyEh05(NfLU1fiNDy; z|5LqpS*1>H(P;5Ki_<;uQ0PA%3`f~!SX#+XlS*By(=E}tQ$K`=Rq&;=h{;j# zxWA;|(uRxTBAEIFf;AX2N}9M@`v=fZZ$4%<*LhatA@CkNTKt={lC*nyB*h*4qvyMg z6JTumpWwo9XHBWJm4}8;OyzvdYpD?ZZ}(WIzP=S(8SgUhS0?^49cz0#m>FD?X}d2y z)g=pU@{tzib{ee-3Sn=oFJcC8&@*j4D&w21?Bjcl_wR@zl%hIDP7$q%>t;u50;^T$ zPf9NkX~!elH_fp`Nl$2fVnpv9pDf}PLq-Rbs}0I^>S*{^F*iqVqrQp4{+fGAR^gFt zEw4Pi&Hs9BNA4Tvd6=9)Af|Tg79HU;a*5fe?*r|c7KQX$=E|M-_<02-N2|r0FEP7z zj}CKy?JU#etjqcWFBgWW8aHCRr!EUMZ9gRz66;`@|5+S0aWN3x>mytxG3n_-V}GEt zU*we3zmuOf(ap|gh>hqHcOQz3MC9fUX4$C!Df>`lG9vfq!iP@2Kgi7+L8?*_8lozA zH;?4cQxXC)PB2h#F=QRSZlS*h?;j~qw)3HB_|sDVcw!UwU!S^|{>P`u)#NWOMgHx~ z-q3&i9b8W59KK}SMGOCbgdBClxuclzBQs8e*ex#J;{N6vlhj!sIC$;~#=LzU%gInA zN6i}*%yvT|id{95k2_p@ilz7^4ogTgr~FrwP!o5Ir&IWO!`*iDpfew2k z^DEVZXGJuFzg$!7x5&$gB^aFr{U-45KR&CE^eL2R&@Xp8#LJd>!O3QC_gqcaW=gS6 z(*?UC!x#>iW>84=_)UARP)apt#D(?zelIVD%8&3`{M6(SnsAsZH`lw6H**u*smczY zl}NVoCyVii_>l$&Vd-t-FVhHpyBttgP`>$r5&dQBG15+o2|C&X32j+sfGVJT$N+t?wtf716J-(M=eIMQz!(=1j!}1uG!!D!Yn{{*wjq zi8LEer_?Ie<|m7N=GyUoEK^dXj4YIRMhBccMvb3Ad*BJRcC1J4$_5RUq zGYLqS)(YPK{BC0?*y+&!ey~H(gPDHDTXmv5RLtIr@L3&b8m-to31%KLPG{_DF!GJU zNylV)@k6NplY=e{8Fd!&1QT-Nn7J$Od?TMyII3w$ymfgZTNwgZ3&w}*1!RUB2j7gt zbZeC|AdMbfs9T{ySoF?d|f9lthtigmXC?uhjhxcg4g zC(cgH`^;V=j~6@}-eG+<<|5`@vPPwZ-xX5+gEU`^9ikOoG&(mpdDx2HUH7qJZFwb0 zLqdgfC?p~K1;YCY)SBqc+`91H+Aqx^3g2dtU@~R7C~-I)0FlFm2&#L%9I*Fh(8UXO z3D(kiF%?rfK{gqYDrz(pMaLz|DW`(>e7FY8%7?SesE67KZI8>|l8w;lD|p)EuCx}@ z?K*LIV-5Rx;mIi_GPIhqbTfvMU+=Ic7y)_v#^#yjOsR|HsF09VDBxqXcWW#b6}_rG zHflxHbR9_YP|4Q(E{IMka7)F37jk{p8I4qz6^!SADW0!`*40&1BRX_6bnxB#9#UiN z#Hc0Az)8&-Kgq;sw-Tclt>4yYM*S@*r}34Ue-MAB?jJm$hT<%A3!Jl#RWmJ};lW={ z@9Vg%Rp@zqV~~K|@$w~E{nG#CyYe%tz*#qI)1WO-KdYRh*VNL6@+4?0xxko5{GFxQIROtC-^uZ%W# zm6~4GkFS`?C&c^tmvPjan|b_|!RXN;Nik^1$h;sdc-ovfo#e4P8{{@j4I!Oy3F3L;@x4)f$?snp z!(S$Qd%DjtjNsw8t&=Bx%DRS#ISt3Q83D-gA+wmZ42E=IvcbxsAka$S@U)6@B8y`a zu9smYx`QY~!>)ZHS;XTG^pvtkd$fKDd!YvCTBVk6ComHMy|6R<0>tl zjnZCwrhp#nOUBfMU2qAu_UvRr3RWu%ONEmN1DkAq2S@xiQ_>IF9wfUTE;%)-c|YcN z*`z;pEeS1L+$M9IhXIVDKe*Uao7k0B%ujTXMdzQArC>_k?p&@neF_gmFD#T3_CUl+ zQJg=2Hu`V75RM#=t+Fs6y?FnZPkr_B83yQ?gK>TUeqlWRT6qBj=B-k=sDn&=8lnr& z{lb3ywJh*IB0v{~=r1d#`_~8n;50GoWMt>QBbVmLnzK+xLSdn!T1@`hH_HoK=9x=n zc|31s=AsE#kdwa2rAbryk*#oU7S_@7Lv#OW$wj}5vTwc05foM0PDB1jVRMnrrSxIyM;An%RLtVpYBKA*5tW}7$ylf*)(p7Sff33Lx69qVFGqk#sy}#dQDbPOj zjp%bp$&7cS^!W1EKV2;)4=ZrDxvNKjc_`$Js99UdxH~qsxOO74=JZz=k430Vrkq{+ zcE8HkeB$Hl?E;fgh2Z<>K5nl5)c!k)bl5amUC2Wy4Tcs)(wZSZ7#ic?Y>mzG#KJ#_ zcsXyL604KGq(d^lGp+4bAslM}{N2LT+R!DSd5e3px=N zi;dM)N^;bGTw40m%SS)y{`*5p>tF7cIP!NVzHXMi_dYBOk{MXpG__C=ReDf6*_J^` z6L#z|G*!r*Z({n>%`ol%_KmM^!YK)0zW0Hax@~OjlR#qPmYdt{-3Ffud1!pSkqh{i&Xo7BEF-5&n-R|$2g5f+KZdy3^?j7lgiN*{iQ@f3g^;MGoN13Jdp_O-x zxBVKX*6%l;ayM*!c|KW;{F`a2HhCs@*yZVoRSWh1?f^-{lMZdoNKcLrCbeaE!1;nk zFA4IBgVou^V(_GDwz8ssg{<^fA|*O-gd{Ocnv@ZRb8|3S><=S%|7LA)-JADk^rs)w zr8>O-?%N(Y_Os%6igI%sjsI-T>Z!SVcuPsqc^nJKn< zuFSms#C1<(Y*BjTnAh=&A4>TtYDpSQ12Iw(uceI?F)pouYq*Q+`~7dnKfJDh#yk|@+0V$$C0V%$l3uRk`dzxB7mg$nBJr<(e(9V3 z)-9mp@heDrp>OQeLjDaGf?>l8J;T@PL~1y7=2_(8D3i6Xj2o^SRNfRF;MV(ytttP7 zd1zPF{lfNL;aB;Y_e$l?Hw$m@0Cv|kb47lv}IoP_<(|+iAHAnOI?}!u|&e3 zm2LXoC`elkL)6s_)!cVXfZ45Ii_E`K!4LaFElOSvO?m&rPh5O@Utu>>f`2x8U5?{_iM^f&T@ZZX*8LKg z-?BybFQ#0A%zx|C$(=`!cuREIt(Y&|(2B9#@P&5ob;hryBC zhn6}Qom7>~C|};a$pG{IyD)BG1F_iToEuF6Tj8ZgTui^^D6KMlF$?{QAQZTmPToWe zC6^OHMnxnsZ&OlI%sDREdZB2bzp}Uejy3%yUm)*)&w~q@ zznldBO`lzg_1WBaFx!5vh4rzl$CS5e+rH1{&nphZ|IWwh+O{seFxJAuv?$N3}mEe(==UA^irkQgC0|RGbDy#7PHw_bpAu))lyMuA$ z^0IzXVaRnn#^gG^iI(*AZET7Y+njF{x?|kKN-9IgGJ6oM+i>eOh*l`df5;~5DKbNU zWm`(hZuMy0cw_nStv>}#7^=>YSz9ySI)`E-m1C zBJtdOn}MYv5boq8=xgDEId*%=VCusoWJaC+f7J%+M z|F!dQXGHhDQdgv2!jpu;pV0xmlOq)V^&%thD1`p4#Bl0^7cxf^7d4RW-)c{QQVs2w zLV6AnYUJr-R-nM`h&i-|TcXxKR-gaxt;FTF_0!`<7`z zJ>-fQT^g|x6*>m|Ek=`ZtM?ln^r$O?f2Zrdy$?| z!VYWg1^g@J^V}|hC{nCe)7mYaO{gK0cZ@DGEsl?TUV8H?;2UHe3`%yk_Eh9)S)miuATb-^N1_3FQ z6!j$-$+YGJH8YrBuqY(Nru zNfHJV=XD`+l4nd>@Hhl9iqF1WH`JaZAjua!%2x}n34a)bjD(P)AjD8QHFyT)V7j4U znkPMgr`Sc>uSeU%VM0Pj<;p~;`E>n^ zyEP(Gi}5YYqGoxTG^LtWXjUsyxL)04EzFn%8zZmc;P~^Y!Qr)i6H=8wh+Z-SLIs_| zlEJ+N_6hN)=&QD9My)_Soazn)#jByLrKR=m?GwDwY3ybWX2D_O{GQ=P*r@ll^OUm6 z%m+m+&BbL8=#YY%)nGTKKj7iJHKym6$M3i^bS&=93^OcJAm2V1{wfK^SKqy-#$$y_ zgx!{fD;FLi;C_A}hb7?8b)h4!4HZ-HjC{FGEMQ$%l)9tU<Nixt6X8Nyex;^BBU5!mC5BSG=I`HI(zlp_jzyqaH;_HN$4lOTHv7HfFn^ev^e0Jl zLBwKJpY#B4v2lKfkq-MZ(91gN?u&BVfB!Px_t5~c=BoI_bGMq}Y9lqz=^nuAyg{oU zuRucvSB5D0aLGd6-78hVMpqK>IvSZ55bcFy{8;7(S(09H9||R`2MEQXS6&c8Hy%Pa zPYw|9jVF)bDt4Ue_vk1Ig`JxWg9a>UkKW`ZIh;9eMro#a2_HgAykx*bPjCz?eTE0{ zBB6rOm5^VJR}`YC8&wH``IHJq~m;0_4K;a7dzcTbS3--D2^eFuD# zLh>MQzw_u=7KBTP>2{YNTAXs9u}2~OQT|jQV#Cu;*`e_DcYThEl==V(0bUZW;G<}osWTXu;N5&^WkT%msa;Z zDSteZdYNG*a)s}7*rSMh@6o8wcf|@_20Y|{{ag}Zy!`x5+m2Ey;Y6g~O|C7n_m8}2hztJKK?GL2v^ z&V|yWfL%?z;-cbg@ADsQzjaQI(Th&6>@s-{#BY?-g4~Qh1;yLHyhY)8`BF z4S7#mvjKRa4)h1Q(+g7P<~JyVfyNI#=XBTZmLsZ+=D7vwP2VwChCeRQl zTYPWb;{D2`KFmu}LDGSYNzlclbG)42w)4=Wb2ak#jx)Asyz^JIW#84-Jn8{D5%Wi3e4@Vl-83KcM|Z6(e9cZlaZbyZ;(~OtL-AH zG?v@c3{RH*zOp_m9bK8F;tG7mT^!Pu^`U@?R?vQ>?8E3o23%ohoR)2}A~m5~4+t&r zoa_sWGfVF>AV1fQc9#)O&;zACqyr91y@`MQc$HEKWc-c+{)91A5Wk&zZEfk7UZ zeEilC4TD-D6EB&QSI69;b6!d4>nT=Z5961(JY79fBpOf0oxrAI&{|vfmkuwmgWZH& z$7t~rgTP~pdzQ05N(*e|`q2@xupr?^+yaP~p*ZZ~lCawg)3fdZn{lDdv&Am6zPOL4 zGEINFM!1k8d!A!=iyHvlTmcEQS29C9u22(NrU;~D9Ye|Ex%s#Q@m~1y_Aoh3WvVzf zqbo?Gp(62tir2T1Cwh;jU)T5d(04ke%)?-J6R%{dS!R!=l&q(BG0`*9L^#}$$Y?Q? zlT^xF;7gPSP|QEKH}Ex@uzoCC?j6t6HOL+`zO>woKKo8yqk8LHttSqXXSn@(<_YY_ zFr?mR9u3Nux?pOBERY}wd+=GwQQqPe2eGmP8k42SJ44ADQP(Cq$(8Vry7Ua8Xy|S~ z@xrhY8mSd*2035zZhPJSY_EQ%_;_%ZL~kNiKn~UG+zelPW8llXGqy6ky^{2$8|xWI zcoO_&82urxuhd!*ounL%8@Bt@y=)G?m4WBjkz12Le#W-7>JRcDA1=_TdO{>(&;bNH zM8XlG0(?VX(?0I`DK~PVvAB0*Faf$Twt3O z>RkH###Q3(FFo9JC^M1nFO}k0nmiWB=J!{iPan`3)x6tF^1~=zHlZ2q?L2Ivr5k>$ zkh$boJwr+QDTH1Kxu6;|tu-EY|6Vy zb_+4`xNF_Sp3BL4%wv7$rPDu|&XMW^| z6OBTBC}tKpLCKZ=RLlVF5uNbDg!TkX*^b-v(LTtKl$#H8$nbtp&SeHS-uU`xb+Z+l zGL5S8$`vqaC%eL4z5Z)b5aG~WCrFIE?FF8tKlIbueWA6{ z?P5;!#LB4HjW)wrTF<_{p8PoUnF05D&!N9t{U?`>0)g&FEGg5CA>Rq+-QI6u0{{!> z`%Aj{RS)%!THN$>tjD|F<`{YrHw#+#v*7QL`;)QigF!{gD#U5l%OYCb*QS_N98MN`>ju` zUz1bPwQ)O*)IMK>w{y2d6cy7moDH~i`Z=S!8SEw1?@5I&zt^i1dz*?>lGW0+Vd}b>y=|TDz}P18E&5BfZ@p){l^37QN8h zPtLp@Mkx=2uqg}sH3mj9+>nS-zE9tc0-OMQN+jas!;^A2Y~ekbOJ@S7(VP_kY#DPm zEn!Or89L2}3u{QBoknM;Y`>I-Qg8Og0DuctZ(U`&;&XFJIPpgiXZ}sAZ%L*6Pk8SDY8Q%IZ0F6IcbZ7S0_bR?HbdD ze2KN%9VUDpBqRHu$`hgnBP$#WO=c$4uv%`^JX=()yqekBT8(w!NHj`6JzB#hPTBn``&#zMog!B)qyGd5!#zRWPK-sP^`Z z%`%E_l^Khmm{=)A=pGI9#gwgxZ?4>thT}~Xn9RLR5$+Bqo%?)^lueth@(CMP+Nak& zqNoY+NZj3&-cRyN1D?o-h}_<(Q#qnER6eUb6dK+gIDaoHetZ1zad@AAsXP}v!*1+& zg?#bZQJOpjP_N~Yjcnb~Dl{pe9*O)(2rXGG5`vaH!Tlae!CT>Qzgc=30QO!9#g0Bv719v-mxi+qnr9)zE5ntwAeP$JOH3q z5Wz!yRplyS$lOyuLnsO%zj7j(dDo|Ze1H%YQvhB<@nl0J3WDlX720N^DX}=}&16$X zB5R~co{!K7vZ;!NKzbA?-jJ0L+?cRiWyYp_kN_!nI~CIu3CncxcF=4GciE-golvj} zF6nj>xtpb7w<@x~PO}WpU{`yM4DEloM=PM5Qo29q>5(W8=3X_YR?y&xZX!vIiM(%Kz1Rn%ihbA(R}g3&c6B zY_BxT@D08TKvF5uO!j;oLUg3o4xYs_%TZ;LQ-7ypa?XmB3PyHs8lqti@sM(`d6<`< zJUo(rCj!{-C9P6AAi&j8C#gDyW&v>-;ciJRl zQ~F4w=Yq^M=F}jmy_80xJ>`D*X8Ma&OsCZQ*V zhR!_@&2VJKeCvz4LrWa^3#-ot(}uNDv|3#1FuzZ(D|tR6!l?td(wOmo7-9Q|Cypx8 zO0X?Rvf#XYxzKlrX6FB15k2>YOG43`RY_K!fol1_GMa6FlQP^_?X%A|h6Td_MIvY`A+(hUY7nTP6dDEhyY;1Q6f z0M#lV_9j4@RKj}s1}h;HT7V2ayDr@Sx#wOPH#98b%8mh(+QB^LldqJ{P0hZPJX~=$xSzlJsac?V2qXp_z#I2Jz0bqR}kfDCm=EJiz zp-7G+5kH!CcjhP0-XJ46O@olfX%+Ac8Q|(8Bz9@5Nf5ScFm~60!|vNb5!bRd2DB;; z&2LjSm7kF(gw8MkP==1o_b@&QyvbLN^*|c-oF>T_N5vha8GFPo1{o;``f^-F@C-xf z3u!n;FTj_nT^muK_b0LxmXv3Z=E_Mn+!r>urARQUifk@pO1fw2=&>-ZN3^Xk) zYCQUppLQeWWw2&>`K5`72~%vZ1JtP$9cJ!J_EN`u1(o67($(K#kSczw5J6^pms z0yosixG3$j6dof0z@bkPqQRd7zS+xlUx{~HDQ}gzt_EYrb3sweUx`sW3y%vdCTRf1 z;8yBLWCk1~2Z%~ZYQm4v0_rt+m0lCV{bK9~gWK&0IQ#=p(1Pjv4}qVsSk=a9 z-XXC^qC(>t0b^BD!!_Fe5I5w2HBTbFhU0&_H|Ha`ZGAHoe{kOrT> z5u#45`OnxUn)WwEy51r9@cb;X4l7y;b4LpK7N58c^auS=r6Q z!-#_=b7oxS%7%1;rMiJ#gQvmTKk+J&k&LE6*c3${kdaogWr0X|MkjFf8z~A5Hn^U@ zp)4(N@q3{(Z%|N%$9{Ky$c-b8%`es6>&f$L8}B=D@&M)qyw+Ch$~&ZiqghxQW4_V1 z&Exr30LhZqNDMY0k`XYYu#?8ng}xXV7^qy+gDL?VB&aE$GkaB|;iT_|oF6E6)5AYH z@H(lxk`znb)4ZqYq@JAk86NR&L^h$XlTy`hrFiVNy52JSm5dsJ(PvmsHgPy!D9nI zKhdYn?Bs0}ljlQ%2*6u)(9qDz6p+sXLZupIkv>j&CVg9wO=!W1x|3uE2mHPn63(eg z1$cv33xO->&l4baV+Fxdu<*zzNIo__eC-ZAhF0@|KT;F<>^7TA{`8V9ug^hs%-vrX zfX(UJ@a3AcJc_Jrwfzb9#T(mrH@Z_yiqE4W@tU{XNv&?p+(cVhZ9Ep8HEUVs*O z0^UdpT5)T~U)-zieUpSurWAv_TfxiN$${)=Ix+qTbDcpinun!e+nt2KPyQSQ03KXw z>Mv$VyFHL+Hzl`#}egw%p)_Ff4FU5)BPZ&{t?= z&D$8*I&O|&htHKfg#ytoL2P25Ydk$-G?60zT(Gp+?~gQT3%1fS75u=Sh3)o`9@wQ< zJ-exY12w+Kb_1FZL4~~6+WrZ$=1WqDo$lDlGbq3~R*-R0T>Wh-P8w+}Wqc?Imd$Z} z1ot=qzxlOBf!0J%X!EVtk|Hm_xa8@hR05C|azNEfX?AOiH3TJE$g;I7@JY=3WZtI6 z04$C;+*zEez3JcDZVr<5j8w1SP6$L$0*SZ<|5$1oM1Xqcp>F>OUNp2GvA^y!uYd^- z6mdteyG~3;MAks$BVs_oTCMh5*peUkg_4sJJiNMjs0Bd^SY z3ASa)2#2O=_2dP>BpYQBTgBC+^h^S@l1PjPN=^pV-X7}Sj~WeU6L*g!^PUpvX>N;n zz7bijIQwYDukoYI%-SZBIG#@$c8GcLmP6h55%;BOV{*q#8~aijA#$f9g@{y9>&Q zT~;!s@2?LhaeYmFE zNhZP_t_iz5+ao8LTFTsSC#VgfQCfIe!!b@TeU~CQ;rDOB3piCBz8#H!M2Z!$i^5Op zobHsGCB~fP^GdkR0Vk&eg$)l}=MJBaJr3E!{>p*dVNz(u=;`d@aIpA3EB2NM#8T1K z8n;W4kY+6Y)AAlE*DVpB<0g~sUY-3@*2Uxv!91gBhbiJh0YWnQUsT9-V(4kG@xD5U zf9eJ4;`iRmcWafDER0G`woK`@d`Iz(!VG`d#tcg5?0CroIQqWf$0g@W!Mwm zGs}!BkJuv#NALrg^Eo!{46|8HZYf8-Es*Pu^$z#P1w}VMvQ@5~uB|)n2L1zXlyo2g z0fnwBvP0(@H0^6#7&y^U<1smp40U2mdICS+$>tNqMzxO>Zn*@{b_HjYJZs7Z2t}8- zG(!s`@Tkb6BoVRAzRC-B6x@e^YCR6`_VR~d{07}7<-dLZ( zrnJ=qPB~>L*~r4iv{FPMTKxTmd7LFh!^8X2FRi;_wgxW;TU4O3qFa9!u2N|jv_ zMnc~V%n}FoGq(5pA?jak+jOz$lR$4kD`z?KrCHrv_1I+C5UQNL#8`4d@}7~i^)ND~ za!s%u4kwff4fWv$$KnAq9;CxC3p*bTdLy!bdZ#~zts`_ZCZ~5GQqA%kxW#W_FK4_O z@D7QowYx{cK$sWW$Z1bfb7LmG(Xdf7^nk7{H!9Bab)(%3I%7u~cvIi^L!Z?NmEdu8 zVri9ehE{zazs6IeQa!)O!w7bj1*{qE9#mdM%FlkG&w&OXn!N1!ZBLO=d$P(b?E@B} zY?70ep;exTTX={Pjwo?e<$_aB*6ECx9#zUn6ikjl{lJUE7W$Pe;@#DVml3#;cl;hc zXRGbmW2gUtQ@~SmV?+XRy6#?k?DKVNsQ)e+YDa|iR1sC3jqpwzXlb3l5`{#$Q@7Ez zF=uhK31mGg19#8v8lbWlK5Voe2;fIf;RD8K#)pbS;t0>E=o&nVRr(CkZ&y(+FA?W% z>gNPh@0qj}(19sm6i(F9!({;kmpsdTLM4`mgPLIP+%v5yyRjFTHw2Io>1Y(EWa2eg z^a|+oi*oAw1mt|FPhYeigO?RPnmzpTXts49_=&zJMSeJUjLHK~f#cBTKG|Aa9T}`p zObV^>Jk-U}Y{TmY`}dB8PW3v4POVjmH+pVe{#sx2Pots}%!pZ3Rmbe z^XTb%5BfH)0P|wnV(0K>hzurzP-dxRg#?DqKmwy+q_{=GRE$F^7nPxmPX6v?IBrB} z1Wx3;JI_Ng#R(-b#qsH9PhRD0(`K0>J<(9ASU}jh1gmI|_UOT5n4$6FPiM;W^uaHP zs&L{+9%WSnLc1tRTaaiLX-z*sh($!`fEg`FBl1P$mB`pJE0G2k?6xWY(5Y9l^idG| zJuOn?4jmy!?=fwWiGlHR<2S}(APY~7S<^G>jR}~qvw>TJvqU+#1Xx74M7M}?a3Xu= zNklQlZ_#CJiamYm*ZvYIW<6XLe7~Xf+c$o4Eq5;|Ils2mz2hx{XGNIu(qET#QZZF! zuG}Hv0BbT;cr#qrWb(tM^Cl$;)pE>~@^u=8Je%5%8VT@o48NT``ZMG-H67Ov9n{J6 z5uZ#9zqbdumi80aW7)?y5KDcznDTtK1?aEQez8jiN`9T{3U%Nn=f?wbG%b0J$R4y- z8p)WcU>$5T&o|z4V-Sd$xbfFVFrTs%&aJH>{n`}+uqGA+rVJs1MIQ71RV6@~MIGGq z+!>96eu4IIeplHzivNVaZ`anQj$$?T^rz3ilQ6YuuP5n@v#CT1A_=KyGn~lx(8z(jDTcLJLk^BugM%IM~-86qJDU zeVYt|#M_btO@*+nJ~4hiyZ0b@8G$J$Ef>%>>F~*q1SIUSmvO)PcjU&018g)ieF^Jq zQ%!|rh1P8^P?l8b>=&~U&4`-N90_}!7sf@+tu%go5qm71=%Cb+#G;q{TXA{j$Yy6wZ8j4v?srv$&`XX5Bf>-P^E%PE5($}b87Y{Tj|MRyq(-ZC^W{75H= z^t>h*5qXBSB&rHt6iDUsDO#c+43xvrS2(}qXT<3(v>P>@?+Ys86Wkk;;>O~$6CCyt z%Lpt`+fXo3unK+wdvFCejEjp<=&H!ggR%ya*<>))umiolS155L?DfM)jMv0*#z_w| zK-%=mL&HMDaU%R8-Z30}Kr3gF6o-k=UM0T`xlSIB85JCb^Q-08NaE*Utz>A@%`(?y zWn}$jn_8%z8~cT>1wkP3+i;7AbiHMvJf9fwBH^I05+`B2!6@pt1_k6TCNsc(Re%NT z%2m;uXlA++6|s>=dPpWM@QNy0hOlJ>I?U^}qiqzbAnez~zb>tdVae0o(;$n6ILGOg z1q(XRbDeYbmWT6*6Dt22%&7bVU$S31g8HGcG0Ya`%CiAQ>n(eEzsAos%4uX>y3;7* zN|Y^Q8*`gL8)7jQ1!i8QrF!&q z805$`0UmRM^eYjg4$DWVEA|ik$^vxJfK^lNZHcJ6j8|@Xy)pg;VgB#y({6wY-SaT+ zTI8Ao8^kS8kA#6poKS_!ptnxWKNy^FIk^8=P2l^UxW&!SnB21^r(@lJQ>i z*!KG4fLN13i-*MLxw-Ich57HaqPB6giMJ_do!*vjz96`m^wI1}w{z?u6X0Co7g&>{n4 zEV!rLO(49QREsAVJAi;RdUQKgFCQ_}H@u48vki!A2viGPig>jvx! zqnd##3OswWgC=eHf9=b|i60B|8yq-#Sb&iYl#89y04$QKWFo#?ocQtL{yLz{6eBma z29-rBk5!aiC#k%2Jayy53y`xX1h8?m#E2_ND%Vcf5^$-(lUw})&{#PZ@!FCv4}q4- zD{SRg_@p55vRP&E68_0OBETqS*GgW@53DnJ1UMQeHcbRIB3>S5iBs_u3MqL2amxwj zgcK$ZCNC?4lODh%8g$G}UQSZ}I}1n40S^XGW>wx92Y^u#qSfYg@HS2d>xO6)G%=Lm>67g@swAe0QAz8BW`Z)^6~;q%A2cZ zF-+DAS^x|PTRA-=Gqpp?kC~l-?)6eTtg;vsJVm|-j+Rt})HrZVh~ZF?)Bxs~S^Rtq z8@roT4zmORqyC@&gA*SZ1hge~s(Celbi6un;zxr3x57>zf1u)BS(0)LNy`nHKsv3M z_&7F}vvV#0CQruWLJbmA96%LDYyqP@n{om${=Yo=F4iJ31t`sF$KwSwokgBa6{u0D zMq&m?(B{ma#~^Nr#2gUU>Wl)=MozOc2|&uTE^n4&4^Yx)#!Q-no6hg^m%NdlQ?mHC R0`ki+baM7 literal 0 HcmV?d00001 diff --git a/po/pt_BR/docs/okular/configure-editor.png b/po/pt_BR/docs/okular/configure-editor.png new file mode 100644 index 0000000000000000000000000000000000000000..e9446f09610eff013ec9cdad47a21b2cbe65e4d8 GIT binary patch literal 40312 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 NK2F-sZcgA!{|gArb+P~e literal 0 HcmV?d00001 diff --git a/po/pt_BR/docs/okular/configure.png b/po/pt_BR/docs/okular/configure.png new file mode 100644 index 0000000000000000000000000000000000000000..0456a6a1051f980e5fe7d8b4e4c41207dd36808e GIT binary patch literal 81904 zcmbSyWmr^OxG=&1L(kC7Fm#u64lq*Eh=i0#2-4j!bVy0(Ac`o`-5^qu(jXF|ba(R& zo^$VW?%$8~z_8a|?|M7-yVpc(X($okQsbhbp%JJkE9#)3VIWYy9zZPA3}+s^1NDL9 ztZe9phDP}H{`WyD7aU*+q@8`R}*+F!@_w_OQcu2GlF z;t^s&_seqRb7cR5F%Fvr8KPzuhZa0=bLD!~?-z6D!q!F_@8NSEeHeY*-ZH(3+5@Cc(qji%0 zrT4gQ-aq7tOf;6vZSQk?YR`k3(Q)ehARyaM<&G|iD;+qTi`wB^ciGRfB5;@mC02o% z%G@!RFfn6xgQ7uHkkp- zwxWfP+wuIsOXGXJX}K&KnzMKhUE~2fX_)-}Z(v+lej)~%oH9LKq+zHQ5VvFSK=gLh zK5LZ;4Q)kRiWE<&078l=K--qQ4WmIrTcb_GeCzDW&B%_<7SNsFhk>?~Y*|^(P8!PO zV~NutcTSej+Ega{08Oq@IWE$o3_==80SY-li|frV#y~TFd577AEAzx8MZm|3Ffy0)!%$c#m%^_%NO6EV%=DmK&2;XK&yGAY? z9UbwYp{27auotaVz)5$1{NO?GQ-$(|G7)rseLDL5K}N$ROP7o5{FrPwQ-X>3M_pgz< z4l6}1KO1~?R&m^**kF4?$F#WV-`eI015wAr9Kp5rqWgWIM@(9KN-`@~y+7j3>mE%P@k15r0LJ+JF8K=xbFMVG^1qW zkvr?*ng0TxQ=b2oEzyVUQGf--8JC+dA%z(?0zr{I}%U^(kHrwSb05gD>5)g z-3)HkXx`OxjNq%4?DK(jG5mmPrAEsIs3y^?TDja)a4PXfY`iOv-^k9ULJX@B?*5EX zEE+h0QFH<1ra@?nrb_k;`y_t0+V#-c_-w|Y-qa7hC+QXncyeoX9PvESSdj-0wgS!w za*CE|@|?hPw)n`%wg8_t34SpOP6sWC++) z;~5Au-$~}<<9+!14UM(wP$Y3!bl3q|^jwKTt#80bnLxIIGlt426s5OJt*^6V_MSgx zEUuOm@OD4Axky@vojB3K3;e)s>5;2Eis3Fl!o7q@ zw=9cS(ot34A$HA|?^ad=u)|c$Ia8qqSX2>)9>Y29QJS5gx0RIWx=shyf@pi|mc!~< z{T-w|`EBgy^K2t#uJlx^vV~pl)Uj%eE!laUwJ_|*tB!~{(n1;PYR4nD#zm}>q0HL$ z#of08m_sIMD{ z8F6P47k{@E`K0%0%%1{T)!6MAY8)n$>i>#OMn z&u+Z7*6|dM5N-s17yB1c5#Ih78*hM;hT*8sJh#e{fLndyMdMISQi4AT(M9ms4QT49Ie4rzpIU1bA`MrPkB0_vY^Sa6KLWx3Hj zw&l{+eVSkts$JAG6E@Ul^=c=e0@_ynUcD0V2r9cCVS)34vIs($E2XwqrUmEU%2;U2 z-_H4|rfWgldlz<#;H}E$FZo!K&0ZYa0%Bqp5*jbAp?FjER*~+bniE&;S&=ilrhY_eWvp2M!@5OeX{Av7&MKAvO!eCKwb)3W8{wK;V0$&* zLx&6H+iv)w_gZn#l1%$}Yx~=nXO2X*UMI;vR;>QyJFyMw`6H7Ly;4WFTu5TumyVYG z9t#qTm?b}w>{}^(Ou7Y?`Su9*qm-Waqf?K%t=m2oBHUBWm`$2$QrkvT_651a)S{n~ zn#dJ53Ex)!*<8e(bquq^f1OJhTNdDqTRkKwp+d1tlorZ+2v8G0P_I5R41%FsEaeB6~ zHer?)DWmOEBPYQNE?FIdPQ+*D{*DW4MH}P}{5}47SY|o`!DnWZNT5KYtO&{!Qhp9U zc}ae^`I_+S8y18?kltOKgMH_&PT(}{ta^>4?`8k8yNV*nQp|W7jd4Y%gcSaVj1r@V zw459NFgmV85#U9dUOD!?EyQmCt|3xNEH-03J8!peT)OBqU|Fw+| zbZrx#E1{&HolCdYYd_4zq7|L?Uci#=PC|qd_n<*F3er*Q|0=WikmcT^+)JJf`V!N;LgcU&x}$t;ajc~H6oG}djg+Z#N@fMcm!@}>R+i{KyV|wY$z+&k%+7KF@n8pU6hxW)NHa1gGhG9PML`Hu?V!|vT zw)E)Q+`xA^pCO=|fXAPv>G%yAkdCNQUE?6LyWVri%#RNt zOH0l(7TGp87z!4QrS8W^Vn2#Q%v&Hi3vEQ)dxm6dpK5z`qaVM6iiwM}=#G!i7_K0e zDr06KQDpTuh9B^QsKKU3^?S1C_{Sr*XMxQl#)d4g9Bii3KCSLG!6$G+D}rH^HIQP*y8`ONIDiA_7+6QFgOToK~kaQhLa z;Ji#f22M?i;7jc|PAz%h4i1|0>78|3GUGf+2XCVLi zg-$m`E@vWonFB1us;6$8&vWU6UN0A6tx0U{ql#-pS^X{wq*_o{B+TrH6m2+g_i(}C_#_|8Z!x^1Fob_4Mj%n`Se)Aw(PK#cnd=4(THVx$}$!cVmUwOxK|1>Qjit0EMO!($iZVv+E27GHu|;CoZpooUC* zz)+>8aTl@KOc(dI*pWxt8Io&Xj#k9ir1r?p=kom=EUTqQTx`x_Wg_d+H{2Q!$hxgf z5iMzZhtf$Z7y=R;vb-x1u_vN$SF0lcoGU|0;&YN5H*k5+g+nO)jf;bTw7J=m;|s)_ zVDuF+nJZ10GpDHK%9A%5FEl1s19W{)N_c#4zsD`k@~?P_s$cYD>js?{{kUV@e?W<~ z8MYy!n}-=pBJ^~BV^u8=&cF`*y0yM9CiE5cO*gj}z4(SH5 zm$t|HQ2&9UMOftJ<7iZgUm2f!RT@UGlR4Wzv_=Trac7Q5>h{?Vju>7%>Yr@-tjz+8M z<0+!Evp|LQWJU6exn>ihwFQ=v1b)yIG7Pds(XO%7SZvA=Jyx^bjJ8HjuI|7o`bOw! z^Cy!=i{$VpLM{PTcQ!|{YAvW%4O$1IqK~QmP8s#W)KMMRI)3PbCPZ8^5Cph#6B(5S z+C506d3^)v8^A=Z#SaAO5tJJ(hyqVnK0{#qqkX`3N2Da+6Xy00f(a<~P}R|U=8yZX z_m4-RB@d-dwD0$==PG`+L>T(B8MUt%0xMzJj%CXHm!?n#z?0_YCPc0qCXZFYG_eSzJ-UXDu6a5}=1d|2*A_6A#%nTZPr$(HE;}@m( zD3c-<$Wq3t5mLNnvVg81^7h+UF--ipFeM1%{nP8VD1ZeQ<_4UaA&Z*}2hGnI6pvu9 zg1uW7gM69Ym3!nFz~@`X=UoYSsKqm7;}3IdJkPv~r;h2tlSZ<0WO_9I%iipalm-FZ z4+9isUUx_V=tABSMS}pS^`|6=Unkd~FmviqLYSeYR0@b2*hy_!5HIHfP_3a^_rjgh6s4gH{$Ekvr{h1WtrVMGxPXy~9!Chsv4Kt?<`or16V6g9L-a^A3-*Nm3i9c&l zEW`Zr$LZj|G9(gh*jiWvCab3}<}5@>8Ig@QuiC>pV9_Cn z!_7CmZK)CZhj9Q#10KM@2zJwEA;=vd0SK+fFv}|PVFIAsBlso^IkkU*QpY7Btaqsz zlwyOD*%B_JfhG3@cs=&{;XTVtql`0gO#f(`9nj6VPU#L@T`6eee-?4m7_o zu%$)B%c*!_&>?r#p>~t69C+O^5Y$irP?gde|B{(wu5YWn%5rKTHDbN49b3F$MMsS5AnJTP- z^p1Bk&DnXZ2(-8rhOg{Db()(;ztka<42q#fsw$7Q4(zlhLd)5HHGhF?6SA`6vaulP zYaZ>b4+V<~w|z~I^#y_UX{0>$i*~=+lF!H&j4Y>vkSf(bU!CP==4MJ#vx_NVbSGAc zCCTH%o&$-&U~p*^i1cjN-gSGUplAaZHd%}`V`LWqNJlK`@Q^YwX#ow=1OeUi77-8u zKy*}8l)f1-#xLLrFh(RXS8EB=k`h5LuO-f-ci83-c6lL3g%Cu~Wn}*l{tbkG6DZ^C zuv_~V^kYVg&lO>|2wO#S0AEp&jrU{JUW~Ss7A|}A$&Bk6^qcswPUkS>FLBt&59MNc zt>?f?O2on$k-O4Ti~Q)rqmpnzz~t~L!P04J;0r&;hWS>RDC60rZq5skzl=mgneK;5 zrk{vnvM%4QuqV2)xem?Fjc1%PftSx7Qp_iP7)czi`BEGQ(bu)VYbm#sl^~+4TXfs2 zl?fCe>nrTl)S{nqKs9z&1Q?;v2qY8Ws3bCL6@{28)Ko#s9C+Cfi4;P=F=c-w%%ew! z_@($9I7|jivutR3z%cl3;KrM&&e5r-PS3hCE6Z3-1khbP9Ip2B^mQxg$GUB81|edP zo88W??JBcZY(bA1+bo!Lc&Oan=@ozEc}}ow?wlEs#jdPJzoE>}_)Vc3;?I!Zk?FSP zQXLfB8yXeW2Sy+`0Z+yiZl3W!IwVG*D~x^s9ajY**#i$OXzqY80r$_iF!gcwh$RLq zBap&(z{1mq4fEB>#fxKMFDyAJ!Zt8JN{&9MV)Xt!<05%{9HaVdd$)7oY57r5cHTww z_ezS3JDd$HtjGwT?`%*gH0%9FQyDJIC7~P_rVxR&x)BAGP$Igi5u4%9^$J4-0ak$9 zR;@TO?ca6a<(%2?9Ul0w`YJh)7qopwa(tcr6L)-2#@>oJ0%|A`tMZ|_dUSSN#fFU= z5iGV1co7GIAhy|g@naj}qWYk*Abr?_2QG2|4**4q`s_0~km9`cF!=k0=ZCvJXX6;X zC++Vn@i(rPy~b`fpG4An;!_MbV8`Vvn^x(E;CR0ng3lU!Z@(nF!nK2c9iD=|B>pC#SBuUL zM5esQ{@9>45=Gj{`?HCwkw(ZfM+3-l`l~=zUWK4{mG9ZRx#`kHxwYXS1tM9I*D-1X zdJWc|rZSWGbdRnU{1#6yomv{RBNAE?VpLTpeSF&FH@_cg_+Dm;7cCbIq?IF011_Iy zA~(&9v{gvhGz%0W6J{3HItsduI~oq8WXSX-o=@D&Fuk0+JK}45mzgl~h@Ery{i&wD zo`=>Ic)G17ukCJG>3ICt3I_JZ0+@+Iv|a9J^Sc&#>4ECC;qhTn&tvB*d#gY*3bB(26blJDY zS17NAPxToR^pfQZoTvX|rmBlE-y6SS`osG6*Q(!2pc(+poNMleJEz4f1|$!&T3Tz= zZ6a6~9Hyn`xgJIK=;Y{hR~mw`nK8aokUr(a-@40`pf0ox=jP>N)AYq!uw+0M>|HqV z7RRN|x3>h4?S{S+@Gc)VZeO+i?vFVy;D_?+(<()3{mxy6qhPyyejio3=uTWVeF2X=nkswwcxRsN z`j-72xJ=RM3(uxfy!c9BgtQ|$jCO1O#FMl9m8R3~0?Bn=(DjCFXP~Ck$wS5Q{fqc~ zF&wJi3xnlq3fPSe%NtA>2v7hg-g9r__v)pkck@{jhV}`1mjdTl;=tfn=->%1R))YH zt#{G2oXmXCVx>5y_%v3VF}6G?#(;^qo|eI5OgPJf2~C#p@NVRwoauBMY5Ogk>St-S zwr@Wg=osH8u_F2|qoO6hobQ`r1M%_j`D3Y+{Eh>|>U?0`35`MNoQPu}*&fXx0?xN20mKx> zO9;c4H#Y=y(bj7N+|bc|H;L`0w%MMp6TQ{-2)@M(ZiW-8Re zK~X@F$AB(Ay5$orILNFe6X@&B@5YZcH&Nx}czJ8# z+Hy!^b<#TGj4w!O0qyHIs~{rU^RTdh6&Jz);*ZBSr9Mj)jO4anIn%r#bSTE|D|t~T zb$0DP+1@;qvG}t&;VC776*Fix$}=kNXDzlK(Jv8}r`*oXo_jFk(Bd}xDA?3vIm-7i zKo?~_3~(pDHjDN8Vv@)B;;c&pP>S+>{J*|W4kNq|n;lT#Q=k$cBntT+O{5K21u%+6 z&fdx;qyl}VxDl%81kiQ&7@#TKJuZ}-<=uEe@HO4zVa&~wWM;lUD z$(CJrebPQW^;EwFz9@pYoL{#>fy7RA5wSa~Y>BwSM+pK^=9DWU zQA@k^3sYrm7n7OQz@KnizEg0O`;TbkaCNc@%3~3uZ=*FeMWZ0V7-X*{C&C%yO#mVd z3cO_pzkuok4AC=t1}VQm`-mx30SB>wU&(KNLJ`4m{xtF)zjY=htkQV3_rfkOH&5`Q zH&U|q@S@Ba|6Ig8?%y2^{iT1C{>v^1IbRj;5x+)p$)pZoWI0)2ijwvd!}fQqQUc8~ z@(g!#f-fQ2%=L^%HUau9Nh~Bc+IypQ3~W}j&3n=(w|yU!eC9brH>A%9>(Qw+38ueP zhg7&Cs28@PUgb-aWI*aWJ`DQ>^lA*qykYR~gCH#8v*DmC35V|6*|k;eX~&wB*Vx#+R1gshijRs)p~x>5l;BQQ5GstDfM4LW=mT<}TH%v{AF^>u zM9{~2jsN_ZnUb1KG_kdz!mh0)Cw?KLmP6!JI3wJiWPkj;dL^+>nFN+X%5V6y8k0+E zJs}`~)lflP>U*0t<2QOrlBxA_RT;4piyvgLVa^ztV3MJn+s(%nJ9 zSwDBz`=g(3%QZ0X<>S@P^+PFp8ct9~@xcK8dkDF_TVBV z*VsI|{@T;^bAw`KZF;})_n{h1jXb_ziXit^9VL*VwD1=2FeWDx_*OCa&qZ~o-8%vLv3Yu_ud)nv{4Rl9vO(I*V#6m&a$3-qz1Kat}I(^}~c5YRuqTk5*;^xH{PA0Lf> zzHPhrBM2?>O9Uov*NX3e=`;FId|&u{{*dI)er^G5UR46^;w1gSIs7jL<1JanI2#k% zfSa;hnf&)P6_^Pj@L*dpk)$UIXzB&+i+&#WkB5kJlfJZq15O&=JCHU?zx+M)O}l1b zut(Dv664}FqJt`nIjqjn2Ldx^80t{Xk`v@ z2FQCtzq0$s?S+#m5wiWEjPJ;XZa6^lPX3-! z9t22wA-~_%&frP+#oS*n`Eu_iiYdV7Wh2W41&W}IXh@EN;=V5lth|01y6zecoC0^& zrTjXD=xJn6#NTjO_gjT;#V6_C@Nc{}0EYn}nb@(wzQJKw2HWqrAN$mPz0UFPfrK9$ zvDaWdDWKEsNt)>|0#86Usjssi?~T;n8SqQEKYHCu9A!fXhBdJ5c5!6_pTb>}rOX%? zv8njfd!t7c{TKatt5Ts-5kpLA`M8CduG_WP4N;QbD85LcwlaG<&_gHH;oEUx$#CE=ZzlZf-O zf?7-rLc|>gVgN2QozOh4)-5wUBR;_aVwWXcovRH%Xt-t4kWyb{tp|UPL{BP&eUJ}M z#8+a`UT$-0y&;q#DSKV<0!jP_zp)vspyq^706xPl=r5lJ2?sT*=+b|!h8MHOqEf&V z1#DO~W+c*O-wQM3N9!7ohHD`sVs1p06%S?0|CDToSY2S4IUC}!g5rIOP6Gal^=y1r z>JHZm4=;MhES8)sg{s%w+_H_?XE)wX9DB|&Kc0gN;PG-vVUnfYj0v`Yxe?1=dL#96WA5v)jDo;XpmqbUq~WQW`UnV&Zw9EGBOCUpC?}eR*|JyZ zzvX$}@r_I7DwfOcPyVOB(H#x!o)rZdFc*UYQ5r;*pF>YEPT+|wqZ$Bl?YJoO71!}0 z2X+CD%x8HIrFDeZFK5jV%uflcwzo9YDZsC=pxy_~d)n@FS9q0YuSwc!ya{Qg!nB?Z zH*wzS-Pdi5sARnhQU$>NkyI7X8YQnv;KE~^dR9h@IP&4RS22OBI*DPMjcEZUd3xYZ zYX|~ACTqpFmh0(qK&<)oSCtyK>1>afPYlwYIa@;V!G9S3k{$)5R^(Su)KcUhgIAoW zi)zcuL&bHU`FgjI-b}oQ2ng|MRn?ESIKe2uow9}iM#U}BmbgPwWi7;S7WUj=OCH2L zIs-+M(ie&sdT<>4&j8mtb!N|`pyK;94}r2nXY^1}YK9c`$CeAhn;wP4DK)MyY6t_U zx=PeW2Od9!OS^C=5B}~-S>K|U%F8f@$HUav?WPi-h@dK<k|#IjLkP51u4lyd1X~r7+7&4l26G=`0&fTh4W# zA)--=tVmMSQbEQ8e^I~{`5%hb*}*F-300L_o@6&9cajR>Qsb%E(*RQ_I>jJUQBOL3Y&i zfR0c;5yT9D-8V!*h%obPd{{tNkXr=u1ep<()~W(T-1lN_{TPcE|CD0)JhTDY`GF9n zTmW@Iog%R9du8D*XJ;`hD#L?h(;rM*$CB2B*Wu_sJ6G&kk<;r>j^?h z7}+|$r}&T5Sl!x8xTG%?XIC-3_Bc#$LmsUT7gn*fKbC0lNNepDF7tTAtT~<}`xJNy z2p6I9G%M>%4#bH3tB$`r5F^Ux-g>l0o9+Lo^N}3Z8#o~-Rs zvl&4G8G_ECUOrW}$YvSE)$bmkK@)094o5QQ?50ZiCO-ymc5UQAC>7qz2PR)ptDKo` z!HaQY_lLE$cLXqZI{xI+oRR=$(i?aF`f(=jm8#PK!xJL)K?h00g9#8mUP6laz;x!u ze3frBrC7$jp+oLBN(8-9Cx7AiFx^?A#sBNjPhI~|h4*($nuGStgMG`hC6}hK0M25c zNyW1TaFyNJ!H0;YGh~aPiUoU_V93 zW<+G*wrD7WLoF?!Ymo=-UsohXpyf?|o~>r7`O)mUcY8xFtAF_mKQkkX6WjHO8Oo{p zsqC50asYXr1Pet>tav&a@SbJ>N`~m(`N1tWuZy}_bD&At z&xTGPG&z*1qlf{@gE|IMPPWPg-3?l^rLjD`*gfCsc7D7+J#{!ZJb9x=Mpg$pCIBW1!QrlV zofy@5U0u50_)G)`?CtDX_C^`qR5pf;>zO~V`BA&-1GB_(GLr2c-E3}dv54|%`eUH~ zxemv(&h{}IPA7U>=)hQ<9&5M1anPornZDl!o^lnk%anSVJm27>n_vTf#{-z$^E=x( z7!-KK#;R&JXOm<9k1p@yqQ~jH4-RgC@$N#ijm!u2Oeh`&PgS`2w|5VJh};xfzL?w; z)|@xfagE{rX7CGjGB*)qzxXX~B0$Eb?8I=7Xkz-z_S}%Mm?>h)l_V~=No>&FMJ3wZ zd5gQ=&hEJSwKQPIJt!25Xx0B-8l81uM28y`@Ia~_Rj)>8cbO<{;A=WDv<~VjjXeuF z>AuFSb9nTcipz}WvFJD(F0R$_j3V9SxZFdg;Eh-cW5(jb*L4oUeNC6=wvZ-oZy&Yq zjc#S2`5?%2ZQw?CEOm_a<$e;AulPp|Q7Xif$w@(vOZOX}<2Av;lu8D1@x}i!Ga#DR z=H_Dqx{;Ce0Wvaj5)DbOy*hL?rGr;LHr{8KOnpwhjKFHu)ZF8l7!Vt(`g%a}ijk7U zo~YABMMYmxCOQIXDs%Z2H1Pqk8D*}%v%{*OwP!eS1wLUEyYv}q@<8eQUq?7hkVUJN z;Tpgd&W?MpW;L_FtZ$wG2NY_BanKiwA7len&lx~I2-Qb0UbhCQ$15z*w|o*T({c6LmhZZfX~i$mWU&N zq^ENvi*ok=6(n(%+Ud@5&|HM92Di224_Fom?bmAK*Hws#A zOq_(7UQcPCik5i>q*})hEsmAHe%Hf|su&=s;Py9q8&Bsd>#4VYO%0fxJZ)o<9W)SP z6HZ65i+cI@H$ctnuv%M6_|NL=CtPV}G+GnLCla9&(!T+zfz179O-=K(wto6mxzyBF zM(scKze5cE8;y}Zdnzt49J?Nn)N=%{|_LQNp|$hGq|y#nHW)up_@PJqkoH; z`^vzP^(d*>^(q;+R`L#~`qV${KT&@E;U+6j_#ExxsYeraX0v^UrJ36%8_$1&w{!J8 z!Te&9UUB#7PHBl+mioN9pODA4O?+d||JiAGk?!^zBRMd0rdV zasNR#So8LK7=qw5LTYlkc**{0vr!Jgkl&u&-wNyB#4}iPy&HyDOFm1T-YDLTv?92z zd+Vi??(T4^*(#fyW$bj3<@DQ&u1hcD5qA2}DC!tXKbzK%)y71vu z4DRLIIa4bA;wizE-K~E8|8T~?LSLrIX|Tdm|5Jb9#7f$CSR;SWp+@+8OVwzyp|DlB zzP9kNPCozZ(AJi~G%D)+t3+mi&`!Zz7`jbsF1^Qze`Kp~;O8Iu(-W>nvl)e1I8Vi2 zf0}SG_FnY0>bACil2KiZfh z^M0k*BL9a!4MIcQlwRrFb+6-Nn|_a8Qo@-}^u}Y$5gGFDV{y~qWbDSxj^7jEKwltV zkGsFK#w^7bnnSxFgXM5`vxom%RgAV5Y!ug}_DItet8GrOC`pbOt7dO1_Wd!DAtzG zjnySLd|*;fi@9|8GhyiaZhmZd%zIO;%!cNU{>ZhYw7%H^QznK(tIAW_?eztaalLc? z=TVegklS5G=JEjQ>jn3ohcfTWr;_B8bws5eJLOU9CnG#$r*oIF0o8slISE(J@0P8> zNv(;?V;ieigHhatqBc>_L9_6e@K9(|7>h5=)h7?N-##q`Y0_oXgaU;{Gn|7MgaLw$L+^+ zLu}osQ#1InkiP?Y`4QPq6}+mUmHL$s=f@BK8CF{}h3Czr@)31i<#q9PS1-sry`#qcxY7f1-`_boC7Y zD?Er?6O+;R8_RFr?VrgjyB?}nh>F0YmL`rL_D{iD=`+O}8y0WSLd+ANkMmM!q-PX} zQYNKY$kld3Unu;>J3wAr*hy8k!ZZo4(;dy8*!1#!ABzWn zQd9Y@*GAn;KQ`j3qy^PuSDxnH9=$Ae0=XqJOJZXs<-Em|z)NiVTabbL70Tv|K3KeY9l1L3r&jy(U(@q$w5Wm=@PG+3JcZCv`UT!mJ@=U3lo3m-=Eu?=3Pub@ksS! zH9I*y**N_*CWvj2x8=%B{}fM6E#<-E4h*y!B!L!sMU-05rqUuN$JY51Vd0MCkQiF* zuQ6(>CoSI%xLJUL39=xx+h8ez(2!+|x$zhxAiC~|uixaEE$PxYN7)JqiA2xvZka@G z_6Jh}{DxduGIds#-uLj>P2(3z`3ZZbboQbU)H(2Jc1JeQ*?OcNUi*0xBI=-DITfNRPfT(fy-L9Sf}^T zg~JMUGHAzrOHB40}^?#fawQN{)jxAcJT@=Ew&-yFQkvwaU)tx{c}G8H~1@yFe%0OC;Po^^z*TJBA~C6UUOT1cD-Xsucq&_VTd8x z=8q)sQA=&BgB%Dc>AlXM_;Sw0I>ePrW7FfPjmqif&4rJ{>j~Xwo$W;td9G6;;?fSM zb$7R~4-bzBfWIn4WNeFG4)Z{p{UCzi?=k8HDNk53XHAgsOz-}>HpC2zj$RcYPbm^B=GSQ>cH z>V@`#6?OW2G?BB}eRdl=(&f2pjL4?S;`=zzMm`om?ORZ_mk7_j@7(h9An;2?;1015 z9WK$dN##iafg$WM#r(ElN274zD4sz(d|#6bgkM)Wv`>J*nDPimLq`01+11jWmoRRh zo1U`8ZCKik)P_Fr?k@8v#oKzyw_-~Ric`AC_RV@(CnzYTaf$@~P3eZ88TuB;iHJc$ z8`5WHQkwd^jhb%i(o{9=Hf9Qq=De`I2S@74)Oik`^#ns_;-P((-;R|>&yi-C8GX@9 z`$w*uT)6{rK@w6qBof~Ql^!W=d{p31N(6OcvH2&HC;2kQ3wT8tb&+zdG7tT7k-Joc z8ra@~Iy>XEJm_VT^HK-C`$ZucQH2zwUf*|h^L?J&B}FtuI_iqZy<%7%yB+oQDM<2n z5}=#eEeqnatdO;@b;N?As=N>VC>JGEIbr3e-$oe)KZ$;fDT>r3z|~H|_hy|+!Fp3r-cFI@ zh4R>)V#SBOS3s=8ubq5DF_00CggE9YCGp?iSJ=j8&b>P?j-U-qb>v_48G1YUqn14V z5|?|1jOS?{Fbh~F2pvJEj|p@Z`U71UE>Arn#&Wpdyr-(fd-vS`Yzlu9bF*B~V^wx% z(wWuqghor+n<`^Mb^KHHg7R4tJe3$;=m>V z18xH~JkGR;zuB)jJ^GLQ=UKqqa#2Vpkt+L9rE}NoR6o?&w0{_@(E;$anQ8K^W~Fyl zmIsafA==tl+x+Atq65@;@P7Nvn0E5ybgJs+`u499$UFlWtPLQ8!L{C{LL1t&)hHHj zpg-+#nVoNccwPSSuTGNZ=H<~ARE_4)k{E=^@4k+TV!t5H0_^)ji>YvB;1jFFnWS!;(zYq}Bhq1-lq0qM+ zBp9ku(O`k%2VSJ4Urn@U!zd}f^1Ky@DqJF_3wv;aEhT=Yt7{@I9GY3FZ~lQqHfHonNynObt|765lOTmE4NUeQNQH&bHVj4#9zWM{uqz0c#KNOC0T4& z*nVNDpzF7uPdK=9=KN!F-8SCFkMi~~Lc%u;RnyTWh2v9}>l}zvSGnPYMnT&?Edt&4 z7aM{q8F@hP!?j?y9)V(;w=DUhjY#ZpV; zRH601{8OGo&zF{&Hb~~5?uzZIrk?!5Ct|P~NT3%rO{RFSJP;b`x`_TOd?(XzQU164 z6+=RP-|q%*6|+WMpR9#*UHUQ3$dhzld*72Y`xjF=jbpo;TEltm!8@jKkZXN?1KH(+)e!E|EQOb8v(2G3hPP0I zTkLUOC9(wfc@e3E^UJ^DK-{Z=krak96aES~KVOj0??L|vpuXM{`^)Jqg2VQDUpaE= z_|ObG8P^GaUfx-@u168}z6Z$NDG}y2YX1A`O;&@QEjtzWYHWZSTpdyE6xg@?d?DslK!_+*U??}edg2FQ zxH*_vnR$?QocpQR|K$axPGhreLfYAR^mtmNMM0v{v5YTCXNZMDqR8h<)`2~G*r58v z@~2ZP&N$%nHgnZYVwXCZ$r0mv2T^E4fK5nb9Pgc7I2fk(oUsU>T;bk#<-zZOI)LVM zAg{7%6l1z6lRdN#cdW3mM|pG1DiM~e=5?`I+dd3_=!TVTyqnz^ELDF` zqbjB3{Zqwh3yG90A6V5%JGT;4GBc6H1Is7V^8k zraa;JOl%<`wNFg5z31_g>xCBGp3fLtPNHDfZ?|qX^8YSoFmDM2D-_(GOjKO)wL~(t zxY&zIV}3dA2Vvy*Q!faJ6M&h_c&)BE%lEWQj`fj z+%GOo+~u{ssyg%)4_pr(3qJFXaR2#J)ky$=0+~5n@s3d=BI2~|01Bl%v@qQHz6NC> z+(gXtrr$KAWJLbygpp0M;?{VFu#H(lDeGd9TTxLwPoggby%JK6IIr;%=!pe^3=8iHdV{saR5@eeB@X zm64YF@pbNA=)UAj!xl%S`F0L1HbEK36G%L|xzu$bsIT4zEqsfR! zARckZRZNLEt2|Th+C_K!W8#;=g5LxJd09eW=k<#t zKKGCL?mOe0xt*jOZX>syF@=69jwlDI(>Rr^;g<@|4t{oW{vVFY}vI7tQvXwBk}f~ z^Xj)2yL)l;9Z?Cd`7&Qo+y9I~WniNpC}HnK7oOz3@9nD6#n2&d2y@7qcX&6sC&w@8 zH8z4^7kx;w+75`nxJR;D_A2??8C#KSx7 zk8{%KXaHPP0Ncb=>~`blGiAM}hc$6)b9!Eq{P0jYxtGEB_SS=*)EP+-*UdWzkr+dt zz%GYXT9W+FPI@l9Z2-m?^HTw$7+nIF%lEO}Ihzm=vS{nj;L!|hyVEK1BwYcIX5>db z@S$lf(9(pE!sRMA#2f~he#u7h}dfBq({?H-WE&lp$b93wK$w>u?(#_G2 zSS3ks-R7N=)3IS(RdP+T=c^DKWH?l#{1si4IJV)o%IZSe66Jk@O$!#387%Mq6oAtx zC@_D{R$2rmA+ysD_Ih;R!sXa#Y(j}o0`Nl7%A{{yyGO6yK{rXq0=zr(Yzi zI6@~{uXkRw3hF+WxMr9FEuRWv`{+9eAvw;P-A2C9n7?}T+)bdXqmS)_j{GrWNZld~ z%-0#*-lhK(gAap0Sg!{GDl4@Sv)z{h0P~F3@(wbpq{!`rot?BvJE?ULj;N5i+}U%O z^7&zPclWlwU8zSp;}bw91XOeArI$v?*SUWL>2O&vZsLSPj98{(UbXl<#eKS@r-M}j z3B~$+TksmCp2zUr3aI~>t@VbyC*B6BDWp|nc5J2(1%*;$CKtwjEduzwJ=VWd;NsQY zxUsKe`BV{t2bz}h0Ufa2I)r605XNC31WBrYR~sj-vng z$(kJUgQB}&L`GNLoKv4aV9tbTUq%;3G`hFxn$bV4z}Z+>bYX zq8V&yWu~aGn-nyf59Ca-L}pvlBT=-IE}mc@aTDDwnIIAjN6DgFqu!(LQ{e4wvyqSC z;Y!Olj-SZz{&)(0r;r#`YKV;9=sbFy=BmSWi76ko*--i$8!o(XbRd8C2qA!~G2-=L zXxP@Pkl95~JfAoF-+}Ge$0T55-OSlQ!a=yatS6NKKX#ex5{@6@M)Re|b*mDPKQ$}K z^v&!u<^;d`V`Ly(2>9E2j zD49YVH;AX@0;zKym^44Svag}KYnmO&gdmgP>Ie4(NQ(GiB=-cmqXAH%?DihXj*_nC zLe2n;)9EG-q$tL4TG$q4oZADBU|22N{W#2WQ1|v0; z6%XvAm;78NpY15k4!gR+T?8#5$)!IjNU%4xErcK5#N#)OQuhwV&i}B&4~J4+qKwE0 zvUJ3aYs`ynGWFm0dv@80V1XVSZm^*{hJ=ZRj)RDa{Xe%640;{&^1BT=P!=rP|E>*H zI>c2m?)p0_017`;os~(6VXV~0C_&ybymfYUZT5v68hxdW0aEnD@vC9dFeV%8lG%dp z>7&u7M*gkCKA~>QSk3a)t%tb8;l( zFydd2z3y6#Gk2(fAnZ&z-9$hyEo+c~(bZk$pxbJ0sn6RsB2sh$%BnTWV2`BaDGmnrO&+D(!L4BEf1%VXK9V)L zYJo<}8ijFTjbelBlKh|Vbv8s*%o2Z|mM~Xl4y@aJuSEUM=}I^DuB$lAFgT9JUM|aA ztX)Q)A}jCCw``JE?ENX~`teP5#pc*9ui5{>!=E!L#70v0YGX?kNAwLZMuQe4YwhaupRd1j$XS`Kj4&rB)=~XC-}yzGCv`dua!u ziDb*Owad&HdwR3KUo5gXpQHvO^!g0(e)vD^F??u9`ZA$|GQ6eW(IDGzH`wivVK!w) zSK%zQ+5NW#4Q40bgF&4_?$}(F2|^I13dzL85I^4GI6z-JC{ISmTpP22-By8D3W6Dc z#j4Q+E9})f>E2}mB zrx`3^n9rZGeygM-^Lhh+4cIOpD-38iF{1WN_?udTdxvA}p|U(BQ)+lHr(a zYFr7c;qnghjepC)<%qj%QbXwWI+XAnX#yKxdkUZ8%et`LL2 z4U?ur*78rN!G*!(=m1(T?5A_`Rs|HgA>v1%O)m_!jMHr$UW%A$9s}Z#d2>XtFX&k> z*cfrWyS2%S1^mz1ttCEyeRb>RX#j7E3499>3@B&{cAF)zpAhD1$=Ip#rzWtPpzF65 zkHF+%-j7Q=8iZ?49j4hh(f&}0|5F=YySN!}#{h-8^eNs`;qKjdq94*yChL7ih4z@+ zVNh2Z#x)gt_wonZ*k_u4d<%{e`d=>}rsvj7#U&&p{&rW?Gfe~=-4vK!pZr7Sglsib z3BR>9tP)G^Q~5>9jpT@7c@SYa3@B!>ty)J2OEJLmZv^keHFO=K?Sa&VmFKC8N}3Ho zlM(zqH|9gTttOlf_j(QN32g)F{kp9S(@;ah7>YyD++#B{BFv=pxGY+GpsATf?KC!65y_5(QXMECP?5JvH z+*7f}xzW}3pl*q;@O%hN1uuZKLlUX|DJ0l%y;g<>U)I`}Q6fsrP)0sjqApXLB|$t= z@A9WX3=SPRU)2wOkFkTHxf$0(g^JsmT0u;pgU+#zzqmvDv&QAP1??DZq`o&uGaJ5p z7i~=S7yzR0t4Y}_(JDxAdjPDVUc})QMh1yr~7_s+XhFt~F<6AL-m zU(udCN3{D-!|mcoa7ttxdaN@kuBvx4Reab;8OW}E*jJ;~0#6d-eu;1c3R+RsQ6RFh zQil5coC5Svc16gi(&~8Ktv7EJTZ)R>tbdAkhD#BFRNr)}xe|~GP=%Rd9n@Aouc+*t zB_<|WIr)?|zynds2q({oBrbU7Uckb6o2vZ+r6bYvKF`j)E%qRnujJ>qNA+h}A)J-J zOn;LFdExkLE@e%;(ZsSwj22%ywx_N&9Z3&D+k2n;V&ptI!F+GtbityAeqXrN?*~R! zMrqs9TB({3HVK?MuTu5Xk-7Or0}^h&-Me3tHo~jReI2*h%J|3}20zVD5RFCL(Reqy zyCvyZx(Qg8POOdH35EOGBqj)gwcoGy3=aKN=}Pl320tzyZrQXn2+%Ru@Of?)Ias5~ zn_{J(Uz}XDXBkZINuKr7Zumu74Nsq9Ir$7pdUDnse7XW97Fa!4$d8*nE<=RXGuM76 z8V)}tn76Ubv9Hja2?@bZ`tr6*Catmca%O&1>@?Z1XOEtqq5klKU=xL6E#=t$&3qp6 zL1FRNYiP}Fzk<6o`U%#)wbzsB$1)cY1h%b0`Dg~eW`XGPg@}uN(!ij56S)D8nf-E$`=Q|F z;_0H_Y4Tx{3tP%eJ-^oDvOz{)9~-3RO5$0M=rHOqXqYr}yQsdjb!pz(`s9@2iKxQM ziSh9#K%&3Kg$6@MmK%7nf9v@xhO-41^Qf;!-{Vc2kOu0Yf-2H!naudQbT%gZ9k4yI zv|Hv**6Vvq?IFGoC=&y8aIhb3oozV{{AlDjMxQI**;&)va8ZCxJZyb^d0c)?8LEQD zF8c`y%21B}O{VD>0g0QLE~(T!q4C9_`Xk*7)n5flwv8T;i~=FGRP-5+FJM0Pbe~IqH2$ExIOi_f z3T?czx!Uaxn3-F`LxMkul&3H1N^hV=)bWax6pcJBGl}>iw)*z1ia|OqPIBkh=Z5FQ zQ)pV6?_-?Sc00P{M!O?%WkWJi;N_nv0r7n7(oj!Jx7lGk<-1q)>S}6gVD-N?I7lx9 zW+@dqgzDQ{@I!hRy(=`99}9elk%#pqbz}ImAW3v!T7F5K{QSbN5#JKOP1DcVP$9$5 zR+ z8$&%6NRkyrdwYN!Xf6ID-J##fOxQ<1h#!ghDl-gerY+wGieONDWlmP(r^SFWQ zTWO_ywKl4?tyN~QUt8lO(@uGULR^n0<^$=;3oDWZD5c|xw&ov?eN$CXP=G1_wIk!b z^YysIu+&q6zRDb03}mcOIV2bW_sFsKGpH2VL8My*-ry;b00aBu&;`>Hn&du6q3q*= zvcWvBc)o~wBeFRY3bGjyN+Jwp74S@pamF$UF61oGXGS-B($%6OUl~alA5*l%w>VX4 zlg=9;k(aM->KU2sy=_I^oa5|PKaq7AI@U+MArbddN3>h-471`n`}@XloPNpa@jO54 z6l=J87&fRv^DQ}CUS6>VZ_ux^vp6vX3 z_=2m9ZyjF#V7KI5b+F()63|&VRpL&sP;bVK6PgWPM1@TM{8Ds(-yQhY=VUWSm;vnK z=#i>ZeP42Ks50cI?={2>a>EnrTfj|ttw$}fsQKFc6HlgsZjl;pd--l7D(o8b>f(F* zLVo^W)689br%5mY9VUnv%mUGbmYIREK|;=V5)^>jNGfz+8vQ6#^;d;H(u71uBYGef zNZli3+m5GJG;qZt(DYo52%PF&KSIvOo1`tuE2@ViP*cZgwJ58Guhr@cmq;)rLJ7`%7_q#@6^{nFe8vL&uvbcr0#&AGi zDz(68w(8@C`nV4)H?L8aw7$GXLfS;;$*!}QiT9U?}y>Rl%IP1+6jy***^M6?Z|Lc zpgUT-5HN=w1Rx|TV=F~&P<#TuQ-UgQw~$VD0NSgp7$R0g3^WFtJ0;GRl(n$vPVzeSl~Us)2PED3pp7KpQw6V($_#rQaBV|_AOmq ziWW6Gi%u>pCD7uGIh$g1Cj8}G!MoDsC9l9beF-fiiry=ct4wP_!JeKb-z-gRI~3-8jJ$WL*qO8Rd5WmPekzZ2x$XcrL6rInx}& zh`cmN=d=$-r-+l}DzcO*3INu+NWO|?yhVhP{&GWmQ$Rk>)?QTuslr&4)wG_fL#6J9QJ(HH8#U}0@&(^xQisTuR z8l$b3b1sk^cACF@u7CFGR(!xTf4rx~Ow*RZ`4%p7S3gh?3IXNao5Z2#XUyqMbE2NQ zRS&*KljO73z6qK8i^6dso{2)+=D0i>gQsz=$m)`_IDW;-BLe`KlCxyLM({ZD?s>! z!8CrEwiS3d z=(@DkwB@-N?k*xU%+EmLTxDmTIOQ-ph1Y`NzWiI?hszHV+GSX-$wKT0L0G1V59DLV z))Q3Jz|1hlEI?<1sFsDLn^fDZwDg`oE5~mw0k2W?TmK#JTb&w%!@R8CBu#va-MyV0 zUg!Osm{Cp)xKA^pL)%i#9Xk=y!%E|JR)?7iS~aRV_oW0t{OW zuc5FggpD{r*)ImC*01Xm5d#%ysD)33!gr2yhssX)t3Er!3(cobfGSPrtUo}*;;Jub zo`f7<7V&qV0C=uXZ^IqAtGx8Vng)uyF9)t#tkqjFny>$Kf)}7qb^i_Yi`UXX+Z*fr^*bmj}O8uVE~W+9E#oQ#He^Vo=kg*N%cEt>nbqdf4h>- zZ<%C~0sKt-U5?$(7|nMCI4-5|leO%5e;|iHP4S7_q(XV=jtcj(?4+JdzJwbh>g~8i zxPA?mmFTDMN5hu{WCGhG_o<#-ydX-57?X9~3r`X4FpGP$A6bCNzb)Y7 z^&#p3e3~KzxxH0Xe%l$f_=pi3F|a%GE7#=xmoy_%<3G1IvU6UY$=z|5AA_Uz`)*3L}v^ChQaTI>Ox;l(Xb$Sxpg4m>n>_3;LVq&2oV2bBc1ZXJP zEmgq4WoS@8Jpjiz8=$D*s!kRB8SMI_I&a! zS5XC4R+9Yed`ScZtsL)3)&yGR>Z`I(t6hSQb5By~WxAxtoH+QCJv{E;elMPF5SXnu z!*f9!uO8j9t#NR2%-wzW&cU6vl~8`39^?;1!c6mbN7lmjHnQ#8k?iQBzz4fniS zk#1ms%EReQZzSH+(S+4FAF4Si>{q~)*H$q}V=Du6)YN<4EZ zL$C)f5TRJi5ut4PFvArqI2SA{%UBu$2*1Upj+r|$)6R8Y9Dt4LJ`c>Sc+)NFd=izNLQ9YNh>retwB1lUI`8eiJPt_cpb*x){f~2tU{{ z)9)K!28SR`KTddf1y$TiDF=A4F;`wNCKy3Ed-a>lk zjNt;e%Kp^K(BXTdq@?8(+o9gjzP1nr{_iQi#*wGR#p@gUtULP?x1PC~(8-MCt`l~% z74(Ep_$v2(`AjqR=QyCu-fiP^wv8h@Kt(`+t#5T6x^%F!3)^ynNfOPcc2A`Z-QG>H|)iuld?7lfJ zA>hnIi11i@;01G7i_%pO7X5Fr6nvFme4sW zk>=S9YCLr0GYMh(lPFe}5*6ZislF00*gIqz5IH3&f^|VkK#Whr#;j-1)S8mgzwdsK zoX!&+*5{gM>^8Jtss6@g$NS+;uGaph&0xC7bVzGCop9Nk4gS8WsVmv}r8d+2vauMG zfvY(FDkrb2-b-$;iS>7~TRW~^>*YP?zsaocojs?^Ow@k=-dl1NS-SL?Y{u&FzI(VP z(HmXV9m^FL?{nXfD#X2wXgtiyz?3;_RWln}pVaZukETHd5koW)|3~4dAVndF3~+Ua z8Pyp%{!-+Meb&u4)8}w-*bIel!RgTRYvN1211#X7wJ#}jeG0*H{5|MRw}zSh)MI-E zTP?bZ7Znay1t8}Ufot~c>!{c>1Uve!O=j$u)=Q0%2t0n<(Waw0e-IAix zFlEz6}^dYbCSrB2mHLjQ?5SVFhKq3dc5_b7bh z@_-wc-StQrIQkK+A6hbw^=N-;x@){BI>)qV$M%lgx6m&M_=9wPpx9Nu!TV%;s?o)4 z-!DGpVbAgFlvnFZMzjFn1O|vy>CyO+7kz#%{cx||(Q}plx0z6jY|j!EfA&*fclX5% zn>pfB0Inxz?$_F)$A=GR=GI?|mdcQ#b_FvQ+%HaqA@fOhQUcBZmy+Jm83&l>o8E&$ z#u;Xjd%D#k>Wb(Ym&e_w=^lFYw6hisp;DME-eF{VEmV?Bjz>^BipChLrw2CfK;N3xOsq>}~^OE+ck3g%ayGU%C z1@d-n>Ag*K@Q(_GWP##FDj(SgX#hF^y>qH-PvXOX;%wvC?T}twCh@fJ4G|^7J&yrU za0=So_NoN+a?fF7=gm}7>}$^%5wVFrp07wyajtIWP4#4jI6RL8t? zsPVPpt0rzuX?8L-non&9{cLqR>eBB+-)2m(#`3SEwhF)I9L2)VZ`IKY5hBb7! z>pfuCD>ffJ&hkqkKG3|p{dkSM)$*k1o1;@d zw_xQ`(TrnRuYtJp{th}{tfKbiOVHzQ!|R}HL*dvUl3?k<~QdKpIi^#0Er3{`tXKAQ#*QIZ2 zPI^A!*Pow~<_-%vJcR0?K73;f_{j+!5db8ttFcf)KtiZ8#rQsS=)l;E0I$&zQ`dI$ z(aVrGg_d^(?Ugad799-M1TqWz)9f>G?R7)Rx9=AkGfx)t(BbwWd2VlqHOeA%c3%c| zJz-M)XXPVif*w8ETW$|(=-T+E`?qKFP1B$N*C1qiZ-FjqB|$!E7K;WVTl&C zyKIn1@t3+u{9NcjRO9#t2)ChTl1N5fRE!x5EN{tBz{d#6-c~{W%E@GthE=&hPjvFf zJ^Vp3l*A}*Jk7v|xt%o!p8nnPbz!IN$7u`}zj_emn%7N{j<+L(5lr0HQ(a!B$_-^T zd%BF40wk4aP9EpeFG2##`^5gl$dK{t?sq?&-c!`!)N@mb1B!d%|AWTkp<@j*&5=h$yvze zj;|5J>8R)%H(V4KuZR4%Lx0upcybs8&#dpq-Sgn^8yA=(WV?(s(@y^;?AJXy?$y%& zcR@N3gzx-H?I0-%ZIc9qKHEkCmUAjz5lYZ8aPc6rd^oEGRr7&<@y8DPs(0yMIG4vo zkrK}kPv=&Ca2t+3;S<9%8k>p?zNGbE4C!HN;!{OhiK*n4@_RAR>$PgD%G`j0YZUD; zxmLaX*$Jw7!+4*As|z~ktiquX+(BMN98{K_sU=DfW=rCI=VEh}1QFT?1W!k&2oz$w z{xVM?%9v3su9kR(=IFV^{vCwqEj@9(q)bqwrJAZim7Kcj*E@jS9SryL^e01Xw&7Kz zU&&mFrvhB9{D=Hz=8R9>xYF3ChJS;|{b${F83vRfZ^l;LZcFKiADlvsA|{hf%q;aT z@U6Ns16 z!9Fi{iyp zC1_tE{W~HbG8-_YLm154-n`9DJH?H#Y;N@$mvvR!5(9Qc}M#=f2kpXZp88%Dz`T zE@yEH@X!NO!0=Lf`u>d<8UqMwQ~%0yX*sRi@0=cw?Gf1R_1D)i%Ch>YLJRMQQiU}T z@wo#w6;uT9<%ldUXH%`MqcgyIuW&M9$w>MOMe^4m`e!Brn&h|dlX6HO$aA_cKAggy z$*Pu&RMZsSGTLY?1U|M|wEAK1hhk4w2#HeGIS!}sb2*wWdmJP;-kMt8L`Lk_D@t4K z?lvOlzA219Q*%eZP?DDZ-8jZH&_KeLznq$o`f_U64XxdiX;hSQue_|Rj2*;@FlubD zdV%^Y!P|t$04XHk@pB=c)<93svo34;#!la5Rp{vbB6=$Ryb%)L1_|*!(Ok>EjX;S! zU1b-|VLcB|@9rt;E*bDL_VZ1opD;1v_`4-+e|!oY=x2+XI9Rp=eg(qcnN{SkIh*y~ zo2{)qA*5j768Gu4JUvy7+jjtBvUTEW-@Yc@oD?5yWn?|Jjwg)RYOh|R!JZ}rH!?@CBZ%& zW6ZXj_;a{v*5#*W^>=R+@_&+HEh`+^H98Kien=c~`3M6TFVL;Cm9}fENMs`uQA{>AkZiKT zNHBcw<9C7k`XbKV&b+J9W5ZHk2jw#m$w)RL9rF(ncG)#KEH7SsJRUXK{`{)8s=pkq z71F+VRaOR>ax>E)nI*j7tbEm>$7*9ExGUkyO{o0X*9-by$kkO>O}DjT_SPaOv(YxJ+nL(xznZm41jKg%iaR_xjQZ z7YAPCYG5DDjpQ>gEo99xwRX}UQd_&`bNO94&fPZJ)%tS&7Dv1up;=Q zUnA)VSUI(1Y0qr0)o=NfBzE!l0d)kcWIt~JQt)1L^>7=9`;?)zvzx+kvzK0(DJ+V# zcV1g$*rhy?6K#9K?So40^~wvm^B+o2`rbFOc9EN$c6^s%7YSc0#mM^K%LT&ZVP!ud zb-EULplo(NSeY^lGU81`(U~#p+3T6w&5uVaF>AldIYf>7g?1pAuVq9@dXOZsxVJ2r zH;`d*5UaiJHlIs#4{aa78;qyN=U2h8jIN`xQm(r9W{=}BHqfqLjsag#iu4&diU#mz zRo{{#!?OVsbhmLu0lpB-x0>=uO0SuVIiAS+tm*kKZ?uRofK+K*>By@WQ+{svywVVb zY^0Y^x4$*2T(b&6Cv_<4h6Ht>g9J*PE>Q?C0zFrg0>M;iX+>&b?#1da<(gDvT-g#l z5?0-Cx^wOCxS#zG9{vXvfATdEB;#-aifL0l>9rzQ^T>jnG8zm{spItz(~@;F_7tJO z)Jv4X>sJaqFC61mC-Qj*zaD7r;CSlQ*B*9w712Hc{w^m+#Gm{(WjSRHS%odV=(cw& zRMLEKAM1}`H-P(qNZO55EKL?R)(PKby^En7x&n60wnqj_omW+%*%iT`XQlSD6I4R; zB(aIAF;0!3Pg<4d3$W}N{6t~D!VgfrJA1jbapzZB7TujBq|>`lxE6Qs-Sp0c92Xtw z+2G+#q|XSOa zeW>(FV^K0L0JXUu5J^UTVSsDFog#j6)@Y9?X3EzDm^i)@CXr*u_-qvlSwduU@%C6* zmY9zd_;N=De@zd2&jI%!51_4JLgbr2#hCs|A0dxh%8)ZVo{aw^c4e(;UaLatgN17{ zi?!Xm)rDIeOYGt2@F0s4sj$*?$XeWXLSGG-<|6WxuEx&R=9$@G?BZ~ZAl0{gW#Dh9 zT=RVY4)bLsb8#q8|sgkhL#g7E;K#zHw+Z>rmg^=EqVS7|FADvz@_*M+y6 z`+^4y73m~k*pFC~QIDh!u4QeHWmS53{xK7UH|O1aA~*a$#Pv_C5J#6}MmS8B8q|QH zi6PXd?;ivhnP2^VO0NTQKj9MQ5>H_N5mkhe%vuxui$=4A84f((>vZkwkKz_1tyqqS zCT-Z1-^Cam9_*JFmw+l>Mcbyxppyw&0x^ml2Tc09?d`O&U|ds)+vFkG4s5+2KYo%x zyY?&*#Tv0Vf#u{V16#drBbLiv#TZFWjkwW}LUe^hyJN$&U)?eJbh8FAkZD)g+P925 zmtgf}pBkTTm|xxpMjBTS?UDDVX8O@(bI;f^AQTLx2I~(3BdJe?v%*~e_RFj&-*P7| z=R(jEWKxHLmceHtlm;bZu9ruykB&(7{D*wa4A;P1dJeijBx*+rg_Nc4P3{XWT>DEt z{z+*JLeS3tN&@iF(riEVMi8d|VP4}?dSNt8eF8Kcc$Xr6@ZZW7q4@Gy|NBA6AKp5m zo_`3~A({VEC*%JWV}@rVe$~q)csWTRN!n&`*9nwV{w1p_!x2j}5|Rn2D0=z)r<%^^ z36mscYWxbCu^JjnH7>vRSfP+wl%N%{j*_C?z4jTuTcn5my{3?pzbUx&NHC^Q){t3VXs8+eyK{T3;gR69T*ZE0XmY z@gf#bgJ%x2uEh8j_gO#5gf?G^D_8N9XyV6PD~XL{j;YJcnEWS%2xRr&Jn+wB;zz%W z@}-nyOoh@f>k|5s&~lJp)5gk+0sfQ_5m#%@O^UeR zjY_MD>mff{n;b#kR4*zin$}W$NpWi4@79ZKo_CY16=+NXQyrK}2M(o`I{s)Dacp#| zxOnwQ@sGmLb`#jT*-e42QO=~BFan$2TVJ>H`BzjuhC1+Q^w%DBb?xkIoi64jt$g0} zU~VF~DYH#8u4O53F*%~}%ypgDge;lkw#mUo!tnvRXr+ZWusdnj`)g*wC>+5J7b%hK z)Kmd^UAQ6gHab7cfF5`spwM&|k1C9RvNxE1Yc!ergUxxUI6wbI$eLcx*!w4}%n%0^L0uRO_}o%( zEMHPt>V+f~V--<00{P7!3(b*XViS{L@`Ru_*LPUo_!P9T{-Nf3i?f`jSb+X|K zXq=9Hbo)D5)%1aeM&q^Hrmm^@<1zaBbRfg03~r9{7=syx%LBX}S1Rv2rsRTf0eV{1 z+~vED7pU-_xvL)bx^8@Bz*6@2<+naYTHPeHt@qJ)!d#V%ATRgp*D{TT#{os*I=QPx zA?NK`&)!wL;Z(TijXh;8E+z*?w~HJNHJ){D+RR0BNa)FQj|g&h6dnA$aPD5q`Kcvl zJd9B8@TwkOS$bBgF&wERFD5j$RQUBPS!hc=zi{i?5S6ULQm5upLh7BoQn8DIP4S-0 zOmN-CR`DEFfYae@+RJh!!zWQix0Y0*E4Mku-Rz4t8yhQ?DzULKE_-z$r+l-|AJ=7F zw@=Bsg-S)*uU$siCX2}}|9PEw11X9v56 zwfcP)#gu(RnarIpRCD3WmlOk0I^K}sFfNm~C?IENr@lqccSlHjzFVrja-YBN_g^iO zD|)Cy@L$jvnAPaj%+QKhpx9`ttJ36RVtubD!1N58xx}U7>{WK!kF}cMjxi|jtqQp} z8PFiL4v^=WMQq8d^lA@e0zB&%(Q?P;o07X&OgTa^;Pjv`kSkTpXWLshdd8*~&v+d> z7x7Vi42;HIYbo0N?13#XIMpqNTFptJW#^jO45and{p_HEo>E52hc}kOq2Zi8dUtnN z{2uF!vnqhM?};OfiQ_$J9uRCWN%pz}%W;Ryxx-pP<=n8TrLd^-WAviLG+~k${5>c4 zOq5c=#si1Dkunk|TTYjpoW8c^+s_>$wbH|m%syv7g|of*Ur*iTUZy3bX0w(|O#ce3 z2ZkP&zHL&4)D^Y|dZTx7d*Rj5f^zaXNCok)ltxn>`RFgRA-$^V+AK5t^(TjGJ@e{% zH#Zbjfhe#xfJY7zGW+AywmBbIqKQBgEijO1`?j;+w&@oTnzc9IB*et$^nSSK_|0~} z*9xx6N?=z3$%l3`>U8F*P*Gq+LAo6yV%TK!TZ>b(M| z4on1nnp|$!uTA+h<3mEJZ6>Ehv4<*}LQ(fPBRIFnSil(JO}=K7-NN~cgoa2W7>|Qv zWYoqYnjEJqyX$?1YVdc-@GoFG$amXf1#ALix$0twXPg96H&ph67B}2Kp;v?Sz|O%j zCbqFse5n)rH7X+Z+v=hPv^H;m z@Fs>R4GCl9_O1DgjIPxJ2VkzL>2~O|V$=JZyq0qO4fH@E44_K$xRZUyZNyn3GOQbH z-h|`0bjr(Uu;YP;UmhM2>3G;RhvMhw6EBc43;q;_yY#8-4Xna8M71+z%w%J3k31XwpZ~12!RYX((6w z`wI;B3&PC>OTL6tD;SN_o|mHFduQ8-2h9z414mW^&7oiYV`!NxBL$AsAG4g<4$b53 zMW*Mzb{nMUDn6!y;CyS<=ltU`%S0wJ5iSv&%w}cOUH)BpUr$*hB8S~S+Tb{b--CqiJkW?{7&is;db`he7;&73#~F&{tj|ghv{9v; z>e0GQ?ylaO(bNBSd{!gpF+?h$HE(BYV9$}%=w~jb`i7#P&M5Os{@U19=OK-9t}+Oz zdf5X{X70UijOXO%-E!Lpx4Y8b+01}rccy5(pqS*i=e;~DxiH3j6orX|h7t$wJ+&T3 zmi`vY!r^#S1ZQ_M1_JtVnu&3QP>n;-w$G+$-NbZq8*>9kj2)N%XQZ1=m9X_FuCJek zInIX|w&7VOqq9E|aavSU5*4>kpas+F$wJFh@rgr>WZn#kzSIWFV2oi$V09yeR0H4n zLNYK&>1fAmqhB!gpnUOh+#i$30md zq2Q7H*~PtG1c0}1Hu0%2j#BBY+9Y?yt`&?{|KnSuZgu^gJiPdFiLqtet}H4GJcM{^ z)gO1SQxc6^Y3h02!-+3yaw?*kDQx>g$JS!+tnY|Hn^on9Y1kpPsqmTl@{=C;UGTqVV-rMb3io_})>DyN5H|dVhAjNsR=TV|N$-v#V*7oT zum5M+3Zn5>63X@#GeiWqC=(RJjhlR#!{S=S1p$1%A>=AYyPqX?n>v9wIeG7??u_%qOt6$-`KH`Ld005!)JT9}`O%`q-hqfxlKp@JEL-t#4u zOJ`9hBLUoHbNKGsw(=Vq-~jGDV$;-=$#CeG*!SxQ4$2rAKbVYtA-hwK{4gi>s8$+Z?nIJnSZ2Lo& zE-rwVD9{rZECTP6AsNG!57jP(@=RHW`r9qwkuv0~y)EoyDCnpN3`7Xx`zNIK}%I4eA|7@Ttv0Qd#@U&pDT+)0 z2~ui~Zb2O>tRysrQm4VKI4*FgeW+jKo*aW<(DvK{bZyy&izHJpi(U@rtVS8fCJ7Ee zU~0b;4o4UYA0(?UOEE+Sz0Ux?iDy&Vx5hEhIGj#gGZ^db*X_cET1k>kP zZ2JeG1Qg{I$2}gXZg3VnORX#o1%L8(32ScD4rRhXA^7~CdN@3NV<4}F zW$`aE6QYEyRWVS7wXxTqqI!u_97A*-aMo}C!St-Q+Y}HP->1ry@OiliTUu`OR}=h& z9OEMOw%%VDE6M^$$Y~E{;0@_b>2I0{1Qo|r@edOvelgzmJoldO8#Hn-8_{r|fBYzz z6tMZqh^3!7adjeemP8t{7zFqS|JrMB>@Cz|N$n?aEGz)ce=t4n|Lx%P(yKr1*OoWJ z86i%+pt%i3oFdM*a)7 zty2VMi$45C!Bl`x(!>8>k+~t`CJyk0IAHQH}0&SA|VdC<3 zPM7C0mU9Pn6SIW+!onx-w%-(&l#%|YX`YyFN~`tC0+(;=>#rIrara0`PmFyi zVQK@byTfJ8ne=ghJTvgdX2z&dGIQEmYgE7|{JhOgoPEN8$?Rm~p*viN{ zZjOKfe*+V=yePF?e@3)AeS$aYbJPM7N(K$2w1u~cinKh=h=oT+9Lx zzwFa&oL!Kt(l{bT-@b()i0_T#lT}rXVnI&rL-b+mQn6gc5UMvwc{%}{6BC|j02E}D zOB$e$zTVG0UavNMSb_83LPXH~FHo{)2QW|IbXINF{ zc&7*GQ&Mt`)IM}*qf@MSYGV`pK18g%IhR_c*&JE?VUweyC07)UBXYYF6GDapE35tY z+!#avCBgL7*{y4L{->Kk2JASg2oTe)Z&~pO4m3Aw=@?v~L-cEp#C-0r!;<9Q=C7u8 zQ}?mdl7`^LF*MSnu)#x0G)q^VwE1yk2}ZWaatBBj;><8mv3^1x4}JoiQnY)<&5n}c zOJKshJh5u=d>@&DJ#APRKwekd?2*rT!6KA6{K$yp+0+ZU;k(tO)^e(aAX1_z2o>Ig zN3+jAoRu_>rYwOurjz(cjkvz3n zQf7{eZB4CYS`1^?TQwcDkg*-!M!A-VlNq_o>+86F+EQJ5dQ}ZQh*S`QMM-4MKJJyG zNuJ2%1ynpCA37s1wiZO^^+Tu7@QYQ?V8EbF(yrwXfl6tpbec0}#8rI*(`5$!)Sh+6 zV@m^L-Sj+UX>Sik5XEtP=liO-+|Zmu)q8ZS@-v!+?!d3qS%K5e$Te?n5v3DCZ=p9j zGWLnE%9XkgrxYlu{gR#7DobvetMr>`ZnA@>eVd=JmwwNF&fhehKREj4xq4qzTr_JM z(6^cS{KV7FoH*!lT5u_gsh=(Kk=vT*<-zN+G`bBZuxRCb#W;Bssj<+^T_7qKpa>qtZItaDYW&N0cj!@DXKpSBK9QH5_d?wPWu-(@$d_kp52%eI z!{ZA;W1u%&y4l z3@sL%6x-Ie0{vX%cli1Jl?J?GOYTkYjxu8{1dQck;U$soAQlESMigIuKlfs;dFfkz z(<2elfraU1lo*2ZEoH1NxyKwT#QUBXp4Er|<|Tmby{NvIiDOr2Yi{)N7Rti%GDqU2 zW)>dc_4irzwPs!2J+CFhs;V}$=w-vK%oKRIx=leSUR>P6Fm-OOUradVXG{B!DXy+A zSlI|ler$`zNF;uMY2@c{FK5Mt2h?x#6z>kBI&UJ73{L0k#SGy|GIOoxvA@Ds3L!Qf z%)c>S92S7DmLSxg-wq1O(>T^TN=G)vM!foWXx;*vU8X6`M3P5F?wof;?CPCzI~r6Lp3P5{b zPz;BykP`plvc9HNq>+pk9mLabj{U*Za1h!tk4R@)$8Kc4$Qm6FFEB2+H=Xk{W$n>g z7UihYFMC0SRP=6pEu?RbMGvIaN8E-6Y`7u!e6H0Wx+^?$&}ZQ4XUYOw$5eGml>ib| z&B-mrGG23Yb0dlW+1r~Wz*u{gpybr#pY<1%$620_7UtW1e&CQ_j!H&KIXQ#9?@K>} zkq1@=ay{fyFaex>k;F_|V<_~UVszCw z{hCpKT7M}ilu(TG_H*9{M8fbEPUOvdIyl5D4g+lySqdPkv}z|YuNWOZAjJ2YAm~*W zVw;frZhVO$!&D8KxMu6xU_kN4CE}%{t)t~{W|NmJ=n%mdOvT`yZo-Fe2${Y^10bJ1 z6rQPPDrV~crH`_Sy13dr2cAoQk?B^O^t8Lme7!Y-pOCm(ux-lz0tg{rGQ^>!jdcDt zkv3HNoqq%P&hhMQT|VY9gyWM0F&d+r9Ne{Eo}b$0bGl9W_3@84lP62v2)@A?5Wz zQuqazZ54!ed-~nafzFy*ljD1ty;!u0V*QW+?W^CXBD0EhHd>JsVDnAKSQM1?5zQ1u zv5`sE>_KMFqixl$_KBn9GovNSBxlW~X<~-CAMRm(V3n4&YW+>;ht^p!(3<}KRsT}n zKG~iY;;vOuVId=s>Ce82f-nOs+WEb{ph1VbLl&P02IO~9h#7@q`+Io(?1O+QGx>rm zvZ#fyfOodWl;89vU$|)IlkWD{&oPJGi^!g8&=@ zWa6j&J>7A7Vt#}{A@jVuvihhcuyBNvf`K3zYf&a_UroNpf-mc3swi!d64EJwMryXm zVk(-dzCG;mcWfO@*0P`PMrJ}!yO1S)=JF5cjWOXb*85`2Wcl5F1KALCqYxlg43e48 z_`Tsswq#}(QKHZM{TzB1NJ%M@sAY(WPM6F{-2;WvQUo*M*{s1mIE+I5#2iQKm+-a- zkVv1j&14ioAjjg52#>-?1x-z`ET}pz3UnU2WQ&PmCyWp1RRtWQg(((far__s=XlhL z1rO`<8Ydgy`u+ISk)T$Y<{Na3$cQ{U3qFm^&JC#8bvGPDOWC$;DpiQ|`XTYW8AbpO zWZZO$1oLYQ6E*o2(JBcJaeod(0;p_6KDh>ugcGyw{L71Z4m_xO|{3R^{>R-Oud3Rh?rnt5sa4)danlRg5=m3vywf`Uuto zE^y-$OU>w1xnw+MRvD%fIfs!c!zJ41V&oApAb#rceE$lrJ$f*xXDnV{Qq|qCf*E-i4(zdj|`xqWFM{lFOOKtfc%kKA3mTYn2eO zQAv<^#iwmtF5nA>@mPI`LKg(BLNwdZvSJ(eWn(-G`k?xvmF@v((0N)OukVig*R8Gr z#d@dR4H8bx5m9Cc$~|lr#=H}`zjHJEwCA|%+XFiG^&@)yF9i`LH$nKWzQ+EK zw@B3j+a@Yz&I+P^9`??X8?`V&A1hVhF0I`=hu^lf7+;Li83{|?erJDVN&k_dMveAE z0Uyfm|CyjA|F@S+^zgqnIPJ%coXJkC&JQiR@eio}JLChNyDzp^XA@5&WVEb#tG57%H%<``-O|8FF2P`k? z;yhO?QOJ(W4X0~{K>E}^Z{UsJNJ_!oRbB8eOQmcXscjb(SDu~W4oFSFsl#)d*)K(B z1`Rn+u5a-Faz_s+r||=3>55v%Qt}UgG=MomNG6Nls5IMWkqEYtvYV=4y|V}uxWAyC z9Birrcw@9skdKjx*W&UKf&7Es^}e{uw~U>IE)66iwDVki{Q*Y zkXZ$A4h_#7L*kf8D%*Ev*|IqjBng{Y@(ueRIVB^lJWf{pfCwl5fl{0+XOCGVSOQpf ze_+P(V&_b1j2KPd{$bxe_?du)4;7 zBSuUxJ6Sj9*@`)4iZSWbFO1B! z%x<~9DJ8Y<@0kqXf9B!38*!jMvij&Aq$~N~0R8KZ_~f|qzivHGu7?K|Z_9M^ZsvR* zir_v)_gPKAbSAC6O#+^5i(o!*u)tZ_RJgjb!l=q{-H*xHU=%FKm>8HoLKay9<9Z^52F&sRF#Gn z4@FDf$dEt(Lx4z0$xvQtBeb*O%&>9$YEDi1fk6O>ShOD)C#Iq)ECsZ`M**e^qoYaz z>A^mKI^oknzA>^PMhpo$R)^-4RFy_lvFwJz|6J_?vTQ>|8GxPs+xaXp2N^kphA^ti zjg|_JvM#=61OSmD3^BT?NNxS+>n@ON30U4WT}cm@cuaAhU;4?e;)e}=9_#X%dTDbALR0mRjQ4r$kT4wFuJYFz9BIN8VQ+yI(C zjBsIAVtv4|>X0IGI5qKx-|jei*1Z~Pq9Hi^3o8UaG5)jdhhOK9);&A%{hFnl=a%J7 zMLHq_gFC*h&nc2FBGL0BA3ypS2#08UW1yo!{FjgXz%jolli3Z4{)DI=sU5~-TV*JV zUiitY-o0>c+q*tj==+?W7)|l4o{-TcUS3tcP-Aku?|k1Ae3b>BcKad^Qy6;STN-iG zTYLqZWy$=PiL#Wjwl?~2x`Kb=p*mv$O-UeWKCJ`w3p|0#U#w6dt*~Ifg~iM3%^A^C zERtVi0GV|xo-^CR!w+@u6-ohr~_QCb%9TRz_}9_J=ge2&<@FUgj258hS< zjmN@^Q}s)#C{{1SKLu$M1CZ6~#%R4I_!D}b;-uFUZ+|cgRf4`@yZSf7p9L@dg_IGwh2Ikl%YNVTv{BO0&qDNj=au&P0&R(!8 zrGkuRjChx&orEuHAuVTiH?OMhjE)9;Q_&!N4@>5C0C6#C7WU+92X!!LBpC>Khr`7* z$`BIxB3OO>vjm*Xlfe9p^~bjUGE_`T8q-D^d3(dgu93LbY@ZO{Jx zKugl~J_~+heAkV*w!UtNkB!;U_D`d#A59&V56Xxm0S{Mva|wZ#rl5Hg5E{@#Qe{`93(exxIpbkSH!JO>l;vEJxQ> zjR96pjS_3X)%26keKF(WBxf@*kz9QE*92zGJ6Cd^lUrCTtzbGIH8rFBk8lnmF6ogC z>3-xANnDKbf{9+A1$^P}D;K{_Oh`OfngnoERrXAD#%&nm;BbksQ?7fGo4mGud56Xi z#;MueX~U7e!eN&fsC0Ckd7P|q5f~;&5Q0fWz5AJb!rVf#y)?N9?`@K#D8#zAJ#s_v zAp8oZ&g~@1{n{`4gqRe$Ah=7Wjp>qh)Q7%{o<7LSAji*oiSP+lZo7}dl4^OYt7}OC?XwLYXt8p3n4Xk) zNN0t)XBqO|hTrm+b$=3Zlw>-YhbO*rZESslM0og;hOuPZv zB!EHi)uSIcHcj(&nS9B0FKU17&XEB4lP879g}wgdqBsgO^T)$(p()O)%3e`6pmT7= zT?ZA7G(v~k80WbQps~Tz+{OofN=`2NJ&+`}t*XU`i~Tw%=a|!I*hv&46kfdjtIEsI zCSS3C|E65qi~UVsx49J(yz!@xNd1m*TlKK^)<@sXU9F$wAz8X@u9k+C*u^`o zuSc>&)6GF_h}J`wgS?K$#=xx5hgm^2l~YoX%-DAyxhSAL#)s(S!k;5FVL-rb)>dBW zWg#05K4qq+W=QeN&3k)Cvg9glr$|Aud)oZ`$wvi;p>xm{t$St81ee`F)JY+NF5&1Wnx7PSRu+& z2&#wtqMQz^iRM(vn{N&wHe!bmG3$KbSaEDq)s{voDK2%mO>YwV91$k#i61`oLqETJ zFz;KfrWoxF;8Pl$cm~WLB2=C1Q>&`?@g9kx;duo63W=8@5->G6%y+u6R`WXylU{p# z6{E^3EKj1L^Ik><3Ig6}XccIyERK|OR5QPzQfHFJQ9fImjCEu;v+lc?veWE)1w=!%Lv=~0n9k}< z&0cl`#33T!Q0m9uFZ$vx_@)4m6*11D@U6Vp<_ytuRkns=^3Z+SjooY0NBHh|G2_(8 z&Y4RLzNrrs38YI>++#}aevcp^9on(%3r(nUGT+B#x53$JgF8N~GQQHLz5- zRYU}_fmC)L!=WwpD0NqQ^cO=Gzo%05g;`g!`lG;y9AwXxuSAE5GuyzY+00g~x8qk>+>O7%w|S4U z!q|8=qlpg`5oP7Cj6leT44)(s+Ak9)#G-Ktj9VzmxF6X=l$Cre%E{X2$$0&Z0;OCA zE)i&nrs2MP&5GY-9Lo%4FYBsqU^PdsUcx8}1mu1?k;f2rjcqNJf!AvcQXji24k* z9z-Ht_h%34dhepVuRwqeK{2&bo-4&&U^1BzYIR~4}r^F?rsW+&x0vp`in0#=-$e>p~YR3IF){{;p z!d(N3M8<9zmK$cYU4 zlym%2T!nPQp?m9<_bFmCUv?zj*))9nybf6o`uV6tS-LR$dUjd^s zchGvWou0)Oqf4CCvpAG?g=#nJWz5r=ET71EVak-#+xS-9LPTuMjXnm)Q;p0_4(_&M z2NgU}I;U&q-Ug!@cA;PWEe$^eCZcnqeW-4*ZU-1?(GPc(mvD#d}3@>g#Kk9ou|227B=&~xM)Rc z&;6^L)ify%vMbSP&UeXV>IoHfzIlZOXn&R*W;YNz!4lHlDvC3u_OQOS@Rl(u9W@(y zI}qF9{Zz@4Si&oq9{CJ=JSWvw@h|VT92bi;m1?EMnLeOz37LMYxH+$QV@l%4$e|e9 z>F0uaGFKxR62ZBdmAIL}PQECvq01;|@4$f++o6JJDSn8)A2{rFP(i)lw>VFN#)w(| zvFi{0Nsd});N&7kGUF9T2`zs;G2FF%$5ZP?38dM2OV_c|oNT$C=gva{NJIt_x&hZ+qW;?0>puT%_xwdh?6};t!eL@!bj#^!;1(8Wpji4+lXdyvIlxzV_}||C z0B!n5rtKv#ap`9x6S5e;(uOPG(Hq3fLxaAR)v4FD*2-=q_3NbxJ4W%hOY=Ov%+_~E zfG`5mLvXTCnQ-&pr*;?D+_+?26#fKg)7>P6(s`iDl(lVB$UO3RP|~rnK@5;tErCEj zA_>{41aVL|M@@}qf3iOBs*aHcePcmBZv z1I4^k3^pky%`#_G#3aqP|3SIS=__bor^|H}OQdTcbW(O%g)b0yK1D^G^8X3Xwv(FJ zgZ`+i>Je|tG*5NS4?*{o5a^qlW#4!o_%z5J;)|z*)}JTu&cn@}5M*Ta2uk~T*_)U1l%9j#(%Js$ zMn5br2!H>S?afn6s;u@VB_*{dF>jUO0X$k*&8R$wBmVg7g{Bn)DsB^#r*CwY^G^tj>^%4NL76B84_`l-P?C_dzyQij6d0r~$N?6f(MvTu|1;>8Qt z4J|2U3VoFM55@YdNQL1&rB>P0*x{i~D=e4xC&I8!qE);_>ITf@vzPeq#gu+|h;YIP z+{6+lvQhcAt+$Jo@c*>Kms0Ed1TqffX99fZ zcZgm2Qo7w;orvQ?+DI|mO++7myZbs@3*TRjRh&PdP~;1y`BvG|v06(T<3BnIn3I2> zN_6uJME;UCn`^;ZP5&)SPVH-#TTp*_6zwCZ`drwSC+PS<84h{)1 zu9`8bonznldvZ*WdFqw_E?*{J|BA{=Dm*o_tfVL^J%7rsj#W zDRO8pBRl^?XXKdvNK*qGnG zICb`*$;;0vt-yg<*6Ua&%^{k|7oI2KWjwl=GaTxODl2{Y@r6oE;p5#nZ4x(!S3>f2Q4rEOLA@~rk0L&D2Z8fUy+4gL#kg^TH5sNOnX2` z$-E-JxAoEf&$3R*n`-Zm<_!Vy=X(q+FG8laaxcrcMZN9<(`uPw5;6ivVWLW$Y}way z0s_Fsc~*ZE{E?8WZEI-8T(4Sq%RPe0D5?IBi}S z1|&pQ)@}3=S3nX6k`sMrS|LJoJT1!CcG4RP7u97|+#Av61RDbhI#F*-n@Nn6AMOhaYnw#s6 zE32C$0>8fRNN8Ia*k=}(Lu_xp_pbLna&g4mS8VGwt<6G*?1#GVugEL2D)hbJ(R?vZOzDNXIJ;7V(0T=qxNEaFusydP#@>*0pZLn)>EDl37AEKpZT6uPvsh|1q^je* z`bK5G=ZVQ{Ft8VE{4MIJM3bhRjTPci-asXMUy+_aV5RMym8M?x);tp)~b+aD6 z7THQax)h46pIXcsc66be7S3G?cZT^!u8}lzb^Yv01903iRn{WH$Pm0a1<+Opv?dCNKO+enzt-{gd7cVr--mUYMPK`AgAr~sga z;EGe?;J;(}3_kTs9@GVG@K`Ut`u+Zl#)Kdt!NsevIGk%Z3Qu%C0*)PvjU0!@`L3`k z%mhy~mhE?w;97g7Mr>Q(u7#kCMPhSh`fyWuv0il_ZQj>pxYsfU;{Lj%ig%e18ck7n=QJ5 z2Pd}{Ex2b*lc(48zHqLFdJ!|N2l)nGewpe5hGjN*d)CF{<3ut*xHZc-c&-+lF)?`_ zt@WD+xp}xL8^SR&qnyFscR7VAPTXw6+;ot3PvrOPhs}cq+mqckV%zeXuK~)L0t8pC zIpGQHZNU+w`o^j!QWgsDdcEr?df8CR|Br`(6$VC-vo#Pq+!joWP6NqlWOrl0ebhbQ zcMQjj?TiMd+6Ct@$2yFUef&t~dD5izhCmK*t#8aowIlJKp&et1leZPF-q?yv*eBhr z{Mznaaz@(TyQNuTc>ui>zTBxBodUOYOKHpErtSGGIGIB`jXsnc z2V;H=SH$Cy0d<3Tn*iezIInq(pxw3B%3i*=w|MR6nIa(Qe>+cP7bsLSv~O3jUB0AHuO|(0H+L zPp_tae^NNsA{%|H6$RcX1mfSjzaAW%OiN0L>)d1vM+^^-yz!|!{rut+%?|bN_f$P+ zzm+xhbo!bZCcaW&&xA2REWhMlzkaxbInLEhX_gt2CGrFeYN}y*OJP6XDEpdZHT2G* z(L?`-qVP52r4gq5O+K!8W{`9B`|5_8L}%}JI9?_P0+Ue{M89j-R%sv-a({+KXm&IZ zjlElXL`>|0Laru*CPrM1zfU+OX26OSUCg6rC@Y?Z%B)6JQCt5LYc=Jz4V%d!Sd`Yl^i3pU>#N9UD_x$Y*a|VhDJPWpa)5*04WjFOlhkg z(a*tDr8>5hG_bM%G@Wj*D%dTKC-Rcy=Vf1h&ujKpk86^jVv zXcP*v?TtfTh2YxLu^{vHqWg8Vaj(=n-fJTqZx+eWYGaWLXyQZ_CQm1CdU{p1(< zr=`nQp!Utl8u_gv3k!GDD&MRzLHo4%(KU)R-~|*r`niWaGh=fPdH{b^CDr2hjbW1K zB+e(Hjq_oON%dQXTKgCK3tK+-2d<5o3wyhyEsp($`YUgXy{Bd#p6D3**CnH3% zlloynBQJ@i5ye;7sl<9Jx>;U2dJV5ID-ch-M&xqtQ`DpTlx*1> z%C;2E!LTXl>0JNJNa>-^+pks8@3;8fuWepCVVF=e@_(46a$C!~c1QmL61y$_-WYNl zhc*j6AfI~kjOqW@j5MH*C>Yh?s%qymnDt>}qXRbd#Y-vSy}X3ehMu0-zhTLiI{pZ1 z-*261j7u!);PdOuD(bD&*BB{K0cqC*6=MO6Tmyjx1=2IwhaG4{FV&b(%(Lz2aZ?%? z@gm3?cpYyL9{G~$zJl%FI4o-m*$H__)rVX*i4F-Ld7txPk+CG#mNjhleW7%N&O+TO zr>8`t=Wzx^@RGOh$CKu9UO|qJ*8aQfDGhofDT?hgC`3Jdb0@t?(vD5xX>wN6BrSRD z<1I@E;Fx6N55bFc-3d_sP z{h}NgCp0X0dE{6Q*Qa+kyBC3d#+%kmk<%7up}|{Lub@}~@}GD0{}l`Re=JG@2~?%}Mmj_IJ!uY@ht-ca5+4ruyc7(4SX-C6!<+#8>#OO0w#gwQ_l5{N$HEL<#5x z=--)6zDLpG4UhWgl^xhF<)dh^NJBqm0@Ekav+{#>{PzTRoZ2b1_pIo?5B!dAKA}^S+y^kd=i_OvQs5bfeDkGV{!Bu)pQ-&-?cDCrT}KT~haJK@%4n zo0&N1N=%H~?GS`d5k?A*dsQB5O$q$YCqfrXO1UGX@wV!pS1H8@n=!bK2#B1)&C zv$*N)K2<;SC2Z3)wc2jHGEtXzOV7z31GP0lVlaXVRs$pv%kk?sHYz6NC8fz`k~~qb zMvv%n;nLYk+X^2x1lW7K;(s8t<(<{odfN4zv(ZCFT*1WnFqVSYTk zQRiLHnhp|AIsi!FoI^5$P<8@;b=+NbAP`*^?tEk_Dfo)!T`eJU=*pL| ze&WGM-|AO+cG`Qe6MvxO6E4#`Z+A+;iY=JrmA*aPg}ea0E`Y{L@)#y9DR1o))sUeq z)*gxWEPBMCIiaK&>e}Z2{2eRNI(&9EZdDyyS{LYmj@CQ6`L!DAEPqLA!z;Xtt@c)l z<#DrvhhLsMzcW5(&~yn2BF^ zPTPyxmFUn7;@5N@+yYDsL>U=*0#!)hENIKVgLO+lnw%JqR~wHA1^|B;*=6N=YtLz% z0W)&9GBV)k@Uqb`dkIc+OlnPdr!*`E*^NjqV+Fdovm~${vPjO+?;?^_f4N2lreQL7Z!xRaWM>9SI+si@Xvc^vn527CLU?)N_oR zhB}55RXsQ-pOWH{Swokh0@}|EPb_sg_FX){+o)d_mVqm}#0s~d#9)y2tZAO*s$=!U zg^CVKKjCzu)~Y1SkFXMuNPK+10(4b2`NEY1%d?qtQ6E*j4jaXEYca)hxS4ay_hBnN zqvT~Lzj-ObUj5M7Vr_MG+hggD>w_fv^NJE3etls8v__dz25P7 zXACJn{Z-oTZ=-&b#GsK)>)(Z+Z*fvc0Q2p38-dLnx2O(|P5q_4wSp~ky zC=DU|?oOcj76EEf215|v3AO3%a3=MC^b9ZweBcv8NlR@;Um*IvcdFUDBL}1CsO#uM zTM`v^uM~6qa=WWcJZqTuo)@H1OGg3^NpR*FlHMGzIt#qa%Wm=n#9D-cyH7?Nb!5s7 zs6Lgfl6SM5`GmA$n|}1^kI5Z)Ir0F8+1qkxTJip*k$c=vtDPoZWbOKu_%1CFq-E9o ztHpd{C0f;~sQV%qx1E#RY=$&Qk~c&a7;9g$K$yb!_Gr4s)3SpT9w(Revf0~g+%in& z&0M!~*mhgpyS*1_Y5O^7K&*vlZ_jS7EjulvT(~3v+9q~^w>cCSaTT3x0}V$#^NnQQ zZ#-?8H}%QuHa}%kLn46!_Lak*z)E}+bTP^W*cezICZT~cfZLl}%++JQYpL1ZBKgK0 zGC1(+e%SVXsF1}LTp~=`I5Kn`Ay7x~>!_$KO(Mg0KSsDvk;FYPZ?uexq%tCd`|F^n|;M7NHTHN^TN&3k^k~=X>koe%O0rFG`C+{uxE8>i%o50v0|ikT4nf zBiW4BmyRz>6_abT+yh(pA@0`^k}H?BsG~L_UyPrEU%Io|6HN{AR00%c@)3lZZ}k)# zt3Tl3(3}}$k#lUx*wGC<5JRlnkpVwqpp>0N#ukSke8dB*xlj||c;CX41)!{lq!S%~Y zAR|>36>u{W{XYNO_wSxXyM`1Qo=xA((PyPK=r0k=)zk&K1<1i}?$y{pY(X145!aECXB&j{4@TD8`4e0wfjG zkFh=hCdZm5wmfZZ5b-g=Zp`3q?;lCuFJ)4>w9kpeq9t?TAxENK=`TW_X*-HNM89Z> z8_h%-iREo>U}Fr((5aA`q(7yFhoEng30bP??Qo^wrZA%k*Ldyk&%DX~_H|F`%9vG3 z262RmfMS8nqxE6@$am4Fy=s>~t47y*>yX}Wn$zUfsE9{PZfB)4k@MR=k5Ip2w)H?FEQOxcvA8OaS zXeHq;?;4|K&WskvkuhpJ%b?oFZo#3D`-#M@Xh=aaZ@h|3xR{e*4Q@Ng$6u7NSb z*&!pT4jquU{D~)9^_&pMBxKQ4V?M`jJ~F6o^U88@T+{);$Ht(YmM1pSvZ_^Zm~h%J zrf~7L0v(wktZcbtq9_bwVSjOpi#}U zcVJr27b~8wHi*QS;HxG7<+HFPj79TBMeygbP>kx<`^}8#$U5|O7Q+&0rFkMHvL$$q ztO@U!T77VGe~!#U0nYgY_vts}pi;ylVQ_(xuHjk(5gg7+zn>9{q0YTHR<GtpLs<{iOcc?3EqFUO1ip}gZ-^gi>#%`q%v`|^ z@G-yOAlE*tWB}$t>fJ+WN>Y-nGEYP_{^i5049x#T_MKSt>9Vkm4-vt8tvy-s(+hrg zteyfT7a=Ur_$olyK&Kj0bI;k$LQzLmeIOI6E?JNm@Xl09NV_C|xL9dAcU$^;e7U|1 z8;~3QyzKauLWG2GmnKrjXs4aMH}ss>^D=H$3ct<%jti10rXtP@LGwUN@BmaWd?6Z{ zEF#^J&}+2Q)hHJBYZ#rBmUP98)yd^=kE4i}HOJ`HB278f_A+O%j!U7jUF1FchTR=x zB-~_W{!We70k3>!+w90}Xn|BG{jN!=Dfu?|&bv=w>ZD=NqMYHxB+iHN6I!A-y>&6S zL+%mK7Fk+0hgRsxQWN(Q1E4#K)%jL6mum}S3)B@TGxlLfpr7)hzR2|Og?(j91^a?MBB7cN>mKQ;hGPVX%a7{E^x9S-T;YVoBLIW?6|BYhH=0TR4-T^i^oQ z-z$twyODX@$%!)}>fx0i!=4w5o8@;x$}>J2WKZx*5O@F#AT7cp$Lo45%FH#&%;d0#*4AiZE2k8fgqZFA+qK`H}K+#G$48grt# z;4iws0N~f5oZiFko0wWU-EpQ)S@$}y+VDceL!ty)8+%FpUAw?mj&{R~kMVn(Z22EI zwq85<)v$|ny#IR&IYr5lW$b?-mjBVC{r_o+`Bd!u2R8Z7FDrJE$Fi-4gh|hnuIF5z zX={0Dv>YAIj{Hlqm79}b!>OyRRPzuNjPN`H$W*I`jOG!eh}0>%+`HAxHy4V|v){4ecrrKSzIZ8g)X#tP z>vqnO@A~-JAxaiDz6H0n5)c9g;)*}*kRDf@^z_VNnKfxpQjeIM97eUX*>c|HL?*7d zFI)1Nms(odv4{C5!AlebP^6TLQ0tPVWwtGspPD!EIuke9%QC-;&`|vs5bWpmM!w>d zo;64iDuxL%e=J#g=3i?~J}5y{)2`WYw-psS1E!15nw{!Ht5GCZ!r3!hiQil6E74nL z!&)N;kpHuz;t%d0`rwQ?-?)^9<15I4fS}6$z#9`shu?|!W&#}3TcP#~uRc!-;nkp~ z7*kR}!>fRIz17B8-mz3HtFypS;{vu9EhDO~tJx3;kq^%B_O3eP+h=`DDG`rrZInHT?-$@nmCK%8-g9$hE1*(-_bk}Q z#u}cYX?ahJ`MKspre%>v={C`=Y!vmrr5Ff~+Mrb9mEigrQ75t#T$zRd<~m!HELNr` zf=gR}ZtVW2A0DyulD-C3dtCoGH~Xvw@i)t@7t=G(KF3&! zdR;JalaC~(G}X<#&%r^V;EK}Ej?!Cg6ZQ;K>U_}TWMsR~8 z5%Xf>V*oSI!8S1L=hIFHo@N627#dE&RjD)8cd2%oR?a-*$|+AFHnLmaX1^y58hmZq z=|_wwTfGuQ{^&$tK$w(x%x>Dn45Dd??oYYepC=p1yLX~PEar1Ko5d?fUm`D`tFmcrDlr8K1MGQ)QCK18;_>m{{sGvOEZ6hX@ z)@n_nc2kBGhm8*fcdS#x)aYo?X^Jmw>lHdo0^7~#WPidl{xA|xCsdG(L zYS>_|{h(#15#?>xtv(D)|zVk{GlwI6(aKdG2fzPVb>?Z zVjD%XQBwiLE!EY*6Jaya1e&ke3G2N$dW+sTl{KDyM@_=HX z-o64Xk*i((W-^^)@Cxo6FILAhm$e)Q(PA3-|Z%tnsFX$Qp7E`OpG=Olok~Y z8sar+Xi*^jiz>srglNN#ur%`Wd@Ajb4Cn?-QLmgDq@L4)Ef?zM6x(;WrsHk50>d@m zLQsmT-%CBExi^)MA}6$@5~+??!cE@cE0Z!X1{9;l(hW;Je<-bH+2Y1v2Hla}-rPE& zCTP-c-zu+6R*{<5-IrG}*SW2I)Y7fzs6I9-3&m*THoM!mN>CJVHea;c11DD>UZS;2 zeIqsCb}-&7`NaD5b3@IMlF}!N={E**taok=4hW`KwnMg{#HY8afy-o~qkGOi%cTPI z!&6m6zRT~Td~YQFV`#2kX<96w)ZY4#n7ep*L6FyPTRE z_RuFj@!8t+grr*0{>_5|%nnMvtE6zLnb=us#iX_v&FTD*bekbDH{US}%%KhaH=eV~ zaVk^1oZY;sxdqs3|Lp!m1$tQf|262lTYuHCc{{3y(*wZeG+2gG$zK)+1D-8@oIxl7 zU1Z4G8rY{N(q}Ao9zlkE83nMV^nyjvVfL~%mWO4NK>rxMP z)pA*8-%naPn>*sN8uGQRmIJx2&~R)%&{W)DWo%?)G)sG-KL5RJMFYj*4}b`VWhEln zH=cHwIdp7Yz4~Br`W>T)zL|m~9SsXua`K`S!OTLE1&MO_r?D-_iD+l&a%cFk>mUZ_b5(a!VP zLu`rJ-P88up7q_(g1cf5tGGDLJGxC)VWf26La(7-l-DhO+Tv=Q_WScM!xBexbbC&| zS%(M8`S>m4haxiB+9oY69ls#yKHJ&J>fxT7@CNL9`?vULqHHipQsdH)u>KvIUOf_e za8RFN=+#@a?}E}B1zigAbkc+nXpXPJ`K8ACeNNo$?K5TbYGuxB%4;`W_~<(m8mJfe z_p|^5r^0Fb<;V#}>lK*-5ILE%gXAaq*wrRFx z{P}GwZ(@6=$-}{((}b8vUrkNTccQB5`nsmSKhJdBpG%+Y3>6gxw$_j#t*S|IQ$QR@ehA86BVmi8=1$k#ZL~4mFWKzyqi}+-H0Z8n zt@kP1G&dI7eNL$sQE{r{vOoc&ro5hV%pw&vd_Xx1_VmDsR?o4Zy;*i$MvV1fZJqfQ zQ_GY(<;LJsa3#g->Xsz*ZvgU3))^mtT%$7WSzHwn>ADeqoW5`l(snnwbZ%J4|%-(YmkrZm8k@?c*~gtrNL965ep{ zCr$R6jOhg6hTwr{kyOEz2K>ibPzV&0VYbw`;`;Q|17p{Nst-K>>v98^bbSSncrp$FocOo1a4um3o-M)+FxCzgqBdkc1&Zw3Mdg zvVoac+rAafmE64XI;VY$?F1mZsnaB3x0TbjPMTc17=D}xolA%AmnMb7)g zY+u;pvas0@{CN>s8^2lmtpk-S0#TK7Sd`kd`@1< z<#R{g*=JNsg~cpT>YJ8 z?v-#*6kdS-H8X@U2qWK#6p|N5uk~pv=2-uFKVVnVsWnZ(S-zg#C=KC!^yj-2RvfL)*hu6 zHF!gm0x0-G^hk}q=J7|ka%*<+^y$2EtmKy_&v@*aq@;l70~g{z@@js_+VYfG!gzZ$ zdb+xap;`uq)_m!?9WW$bhrS3O0T4d0ygXXF;*hyaOAWU<@#{| z81)-BF^NFgJ(#wS15EFw#Kpl9e>HJ17hqP3gZ?zR$6XymM~Un?&)+Pf ziiPczYdFwHDb3y6%t*RnbzAmrJ?^HbfQ6jNQ29y1+gcV7wGoKz1oWYUW z^7IsGPlT{NET%&yrp}`eQsCa7VWrfl1Q4a>n zrWVE-h2z=e5i^wgN%_U}_&~c69cb)IaBiW6bj)||(3@hKg^bNH@51k3c;H6WMZKh? z@GIJ<%1e0f6ib)+#|u>>=Wm4{dr{l!Y!5RC{>g!^TLc&+>4`IiG~QKD=Ckd$S2xgC zH=BVJ$LJei4%<)XZ%}nR(~WI4&{*_~?Nm8Y+UO`7_-NG=nw9Q@8d!1~@T$=ZmQ9M3 z@e{pgPv=UNGs!g6@l_8D9gavsQ!Qji>)R~4ZEgo|uO! z*Lgp&IYrR^2hiBIJnNE?P~O>is@gCMKJ*1u0}c5d8_yI@FWHZ6V~uUV!tQMMB5`Ni zKa%vRx%hP=_tAWvc=^Ctw(TOjaa75a{+MRX^R^EGQz8x}OCeVm(Znyl*xT?B`7dH+ zRh0PNfcH-V^WW1}B*F&w4yhxtMAu^WHj|^&hlq!k(ST5^CO_CO&W6OFRUOybtD{U^ z)@+$dnrvD2C$zX-kCw67>^o8{HV-D*wv<2nXYOigK(X(!p?7jG)I!O4PrCc;yNURF z;Qm%)oLQi7+?km@Up_c}e|`K=vvYb@rIq<1_12Ns7)4|3hUh1O94m3OSwaD;q8H?E z9)0W9vfrStV85si?}Fm<=GPe1NmGEC7lWeq-TjU_C7_ zZB@bXUd=JCCq*qS(6`Kg)EUDxz|hCD|9cm;|1N6%+dKZxO#HiXY$dYni|l*`K&VFI>wDQ#M!Ur={fwE! zzSsGMSLqTg$;IC=n~|~u;{^>dVlyCu$rp8|D0toz zjo^L0fv+>UbMdvP;nmFM@vwE>!q@HIUs=VJ}x^PGKS`C%%qdCHmSdJEGji z=4V}F&~suySp`G^1@pt8hai;`oOC}Wuer*becccD(>T~&J*#!(dC%WmROBT#K6}g2 zR4rWmFx&ksS}|{@g(gE?&5kHp2?#wT($Yvs07%_+{pp zXph`jZ$-V>oLkGiHTAt__^Ea#GK>c>K!(tGjV?HI&hPZBBJ!1$7a=lW<+5dDJR%hqe+~SxrH_O5HI{pDc z$vH@vE~Yhd<{I4kG&mWfwtM#E-VP4J1BX^4@v6_2JUjQk4swv9BGeexfe%mv#5*^~ zIXI{bKE^a$ZR;7tu%Uy#k7tFiX|HVc& z;Don=Xf~M3;C&Blp!b|u`6>p;ZGCt10_S0mn8*n5zS1q#BG{8&WciZ;O6Er|dfCa5=PuFH{=~yKF)CH7{Z&6cIwt4^N~c^%yyzE0 zOP8Rf@djtK540;>n})ZXeDe19*W>xAKzABXcN!XZKd^dCceTi>ZgjyG2!Cd9n9Oc# z@NCHUNZp*G8qaJIy^+bg>y=+oKW}PT$tFIYo@?sWWx`wLDtk#O^6ssN|d%05QV~MexJ&M=`-1cZ`4o;Flz4sA}D{TdS26 zv{*{+7Nx0IqW5B8s6~wvIQU0J;UsLtTOuHzhX-V zO-VcAamQEL5U#D%jRZolBVlq{kdu=G$@|@MVh|umW@&6`^2kDAj;F5U3wW^ncLUy| z<>yy2GFgY3raut+EPwnMO@Rdwz8J$5l7H)R3ey)FtT%l|gAY@fi!S{fhCdZn^pma4 zcRp}ep9A-0_aJpX{BEsST#jRQ2Z~r)E@|9)=$JIV9eO3N%lHcMo>h^H61+^Fa-`PW zob1td2O^Y4Y%MbKbpLpprZ29O?-sM4K<$!Jf4Ih!x2C%GkT4I0@v(CpNB?F>?#tfs zFalJvCXxGqZ)9|8LmC|Qu$7YAQDbC?poKj}OcVHE2oCy2&FrKgCnpE~Z5Adk*N+Dl zTH&Lhh$kf^W~w^jnB|7}2`I;kNaH0YC%#z0z2+lbpH&xiLaU;}M#{*Lxum+G5!Nq5 z`5~Rm?u@?C8R?gqr+*z2Vrt%84*^rn==0ng6rR0&x!KDL7=tkfK#)3~M0!Qf3klkW zBg4e4Fur_!3Hc_wCR(v8j3Y>gr4-8?PV#|WM4}VJK31Iy@$7;a?&dj=>22y8Gzk9k zRgdAoq2grXUSM939&S|N{(dP35h3Pp3g=EtM##HvkdAl+;6UYT$x^s=kiL|Uz;)R~ z9~nIVb$;1@j4CX@=LbS=WiEF$V-yFa zHjg@S^cbJh>J}N%HJ9=qFQ~I1Nllt~ zXdfn=FHZ~(4)TxuZiD845L1h&F~|)D!(^EfZ02TiL9bD#TIZHN69oN)Q*yaVc_D$I zO_syQptzOi{Q@@{qG*l^I*^petAKOK`1~x3@Ax9I26QO4ch}Ms3CCZ>nKdf2_R)&Y zgJ#Mn-5y~=tmk{d%O~lh>gE$BXS9o*9k;cOA4%*UyvUoPrXObg?j?9dy(LqebKU4= z#b}of4-e84L?2LlJgGND$MKr)nyYi3W-jEKnQsj}Aj7PvpbdQIq>oFClVbHHjmpaj zr1z6+C{Uz^)~ zGZGHRZ!!!+c!B7BL;$9Wqn|=LMMmlFa2?0nC4dom5>Vqn|C$aH0VOm6iDKehuLr?8 z3a#v2ej}m3UznShm_)L#*O=J1e%LUb3TFAj3*RtacjBCfEzB;jCDT|NbGMJN37=+g z9TO#D@=$x!YKWK@Evw{va55mb33I?my_w-+dVWO3KawE$ajAS#te_-G{5j3A^iC7a z8K7`-a9j?jACVwD!OB?k24YkqipbB(%8JPUyRp{D!1D(U3)AQqqd>((U)1X73Tqo! zxM?={@O)#0*T#X^9=1C^^`Dj(zjz*U)Mt&RK!f=;!a%Hmr0rD!)rAP)S|07=5hp1j z-FC?97zf8c3qJ&-(%tcqT}(y76YjXbE^9a=;8A&r=EzKxltLGgTIAOn@mFXxjIS6* zQlrY)VM3j5tE1*t4}AntFSpaj4s#g7*#+DdCJXz553?eNL?|N+bVCR^i}WruKP2|8 z`j`h0HPMxuh52>IFx}R&;W@|Pyk2V^a}L8TudCy{p6#mn_#}k`Dq`0=r!_62x(le9 zHFpUq==rwd{hg0t0(}ps)L=?(R3`UuQpWcM_`_t@_q4>sIZS7VpeP2gkIwbskTjbh z^wlUGb&$HJBt>+F_xYX+tH*nWU7oHneoSp;%|}T}5D*S~@!~-766b!dQ$@x|NUO0e zf`kMZ!`B}W{{-cJVD&ekDGe?1R61v=^>#qaAiu=-d)H=wrhP-gTP*`;y&OJ=9|}3< zMI`Py_H}TEIWatcL;OH8=B-UFakWP`))aW2=$lj%%~v+9{`oLB_P~|>)mt^*3U9ir zanqG)+e6J_q4=V3c7xQvgKwlZZvlq#1G>m2vokIwGI}`Je}vUzz0&C2Vg61S{=0$q zf7=oHw`JO&b0hJhx9KF9yskiifiY5ioy`*(`MX>`%wFL5`Xrvd`5yHd%t)5b>?UjY zpZ)IGP)$S_kF!6lli%I?FE;+7!2B=D;QzCRA}rBsdG7Al^9@*!oabxXKBvI1Mir5$ z;jYfqTclpWcu*hotNR+i{e26w;=uzg+ITQ9X?8b~RKNH9FU_9+o-MZu!{1VVuq1$# zAI*~85xq(61XTl4`PXc@UAi|>KP7gHPX!clyi_UVfmf7IS?8!7_NcUyNw-T|(+5N6 z)TdVZl&w_{8pk!znZt=^2fK5Mt^E-Cet!p84+%>!?6>b7MK7?;2=b>85fT#W{Ig96 z?F3T+?s;E;{e)07{x3*azclSjOOb#@2TqoyhBp4n6wcHsQ~P@LZR@3oxxoH@21P}R zaEVhVtoMI@;RAUO@~0tpXX*a6ZsaNUL(te8<(1Ur8t{zfWOU#P_h`x|{Al~~oSMm` z@Dl?gNBx$7)k}iTxTywHinyN!!Y-Q|TxC_vN!4>Y42c^|Wh7NP^LNolaF~K&fBFmb z-Kgc*g(&>w%1Rps;6EdMqIBf_Kn0(E^ax*!bV&3PbkjgZ=>q|d7eV8v>?@hAU#kUD zwwwoYA72@D#gLYhTCCSs-|j}{M+0oCo>lAG0T>-k>gVjSTDJubn65vgmCUzX&cxp2FWNkTYT-e9@&1rUH|R*PkAx2GfAlcC%vfMAnHo?WHnbr zr{LnZ8Y4tO3GT)r@pg#)@U6_K!x=#G!6T5#8T^XnFJdd+66A4WD$soQVp z)ElXk*qOg^?-CPXqWE^bC!APv<`ldU;^x)uVi4g>kippk{2Q#CN zzC=wet)VLe$PN2D*Dtt?ju{T?R80iDw_(1Vx^HYGKNv!PAKPg7{F3RK6p2PxQGi0- z!Zh|uyl5;lvqG+r^3;{$Kko4Z1~k1i==oD*Hu`Ivs_=J>h-v3za zm_DeJ2!y81<>?9uZ^%)ZAcQ++evqqpw$x!7;}eBtz=$k5WYi%dH4qmfxG6_1`W@p2 z*8ZMlz-N$sFiF$*;@H=2h{y1t2_wmu{Hf|P^}zhXz(pN*f3BptsCf5evYN%NI7|Me z-0SGYSw=8W+9IvLu@#RB^D9kOS>B8f?HD%8&B82>an$#KG-&7A*a4%=?NOXdYJcP* z2G0h@=-c6KH}z!~kf2kgK=4o$zV z@gZ&mwz3(%5!JOVZ-V1)#~~L!N(d`9iZLYg6;`2AD8ka`6UhrZeLH4|`DU%vNrZ`! z$>`GQ)Mie-TV}*VAMXn+WF(Y7EdT@(&Ts+4z?$7FYdMhee$5hTA|hoDv)QsJV%FTH z?{R%GiI^xMA;n>{43c{Gy%Wigs-(`LHgEdd(Zw_Yw<$+)QOT5r!dEw*Ii6lmPUDL+ zLht~KZ-oS2Y!EXM_+V$x)&ueox$eSwGUO4>3jT^hlY;Ea?FrHL`F>}k*D2SWpjM-B z_FZwc@Y{Q?AUW~EHn*PQ1(-BKEmh5&aYc3haFKsF9#jw-tPM{Z!+ZKqrA2F)fWcLG z@@Kf5R~R)TLu+p2zQ;Es(gsO3l6_!I3;Z;r$&tCG5^-WzeK*{MWV<;;I)aTv3vMX; zrqv-~8bVfcNzsbqDkBFU7$G<30}UP?c^CUVpeR}9k%o{STcRoV(v25VB+kM+>)KVgDNWGNY&6)|P}w$SnGyJVx)$%co!wpqsy&^b0I7 zj{hk?z{$%Q|5f$L>d5nZl&k^7yP5GzCKFHUF0tcBH0_nsy1IZ`yO;u;-fL#B}+97!p5mIxprfov-rxGIyV%U8m*_1h*8&V!9hRrk!u@EEr2p8f6=^e z_x}L7evOsx5RN6qBxMQwvD`Co2csIdj*B-JBqW}H#8Ru5l}R_*+qELNxM*EYgKb;y zLkUUScy!em4T12{JO%v^z1|rgIb3YnUyuw8)`9U@dCCbx<_z}^mHF}#Ys2s|JUh%O0b=J_G&wDNdR@HZ?m^>FZN#vFE2Qdowq&@Z z-$oys+6~=|`lnH^ZwKct%YyX_2c<*!2y;yF847&6(CD{rZ6V)>vw;Gkaqr7e-r51fFehN1Vbw55AW+Z=@#cDm$@L%ND)n z2W-_isfuKBUe|WPi@~{fW~a*FI8ABwOU+LNqMcywcxHB{{{&u zK`Z2=W-9$is4*8QFW4wI+Ozw)ElVM0C8~%a=S`S6w5zpnjMEUfNKgCR{Kn)+!NY-L8{pQcTBw2TQOuk{TNH6IXspDuuB_;TVJzJ| zZ~vjI@Lvz(ydFF>-(KQYRe5iqCW7gFIe(Ke>iF--Jtf_zoe;x6s7+&uuT=|wNOage zkB|9Igz>MbOlcj(bbbo0B-htpjD%6<0sVZ(U$Z5gOGrk{@m#)P8e}d&%t& zwz7Y+d8}QNW6Ota3}?&L^qKHy>E~gJ5|L$)&k6|oaeU$ro{5nS({V(n$6cqZ5@1$BVkR3LsNKvpH@vB{5^9wzVIq$SfISKQxDw;n*j?Vm#cD>Wz(0sdou3+T-J z*I#)&QQ!rt{Bd>#A^kp$NAj{DL!NFiHlC>ja5*ms9}*lO9bT$%Wk<;_cqjFAgCsDQqY%~7zyZ)v=gSXS;!wv zXAkf_6QI^PK4B|`XtGz?lB4))j`Q4tg%2r)0U!Nsb#3jAbbZ#Fp~ytOrWSL^WP z8UHz(sorIyfL$wjFlVUP;%(mGY}{~e^%~uS-jTXn0!jwM*NJ>9q&}%>&DOx7+wZMn?t3sgbxb(WFndsA=f>K1oLJVj@lL zU6Z9ICVpKIv%;#P=^3IuR|V@$Cuk}25jt7lJ5q+9(Vdr-v}kGYlDWb;u9V|}2I1k2 z0+T3e)pz5yX|mFeJ-Y+|N#}wgJr+6F4wZ9K2qFZ5;H}5^%43vkSMtOyf{?OY0tWyD>_Dn&j#SZ#M8ru@4w!UpZ47)S{FIEK^>vS2d){8iRs%h0t61`HQ3dtYSSal z)&)BJ)D-7}EYeTBHFnBqBR6FQ*Tj>G_XYM-Z7wUi)qUmF^6G1_(7kAh(u8E~f)#94 zDZ1ain#I#Y&lmIZhOCv0v;+Jky5V zzI_FruX*yo169!xcOI`{fa*w60!th0XSF>d5kg&Z1e)_-dr($ew6k||lSKj^$-qCE z&^xwhg0~lF+P4}X3W9&4ujDOAwajp)#?Y)Xz_=&1_VEZ-<>Vy8zs~ThEXoirAcY8Ul)E+iZ1FXiZOu*{)!X)=9g}LWckiidGAcivlaq6&{&Pxk*vvV9hV!X37A4isFaRXHL;5owU=8ZOGy}*Xr6BZAXk|ZxR`zA zR_D|{09)6>-U9u7AY+euW9LUFsuE8L4Zr1{4gH*qk6e6~TJcEjz0=AzM{Rs>YFr;4 z8kHPK`BZ4Is?Q$N-9bXdClFg;HMGC0P;likF zCcJCk7tbanx>&zVZpe=CEK~>9r^Kj!axl|C&ugq{-TT8968Wj)kz{#@9&FFANsZY9((tIt zD(=*OldzrzrPHJ7@Pn9MX9Y#rhW}jS45TD@@Djlz6e*^~gx5P4#vA7mpjN+U-<&73qj*iW0~Czgz0 zV=vyx4Y;k%S1>9dhpE#nNrT`NA{)Hfns)FrSb zj617??mmH$_OqC?*JSp})yjDGapY)0 z0OAF}TL4z}FAN8SEdPdyz~c5l%l$}P{LKB7!^7_yVNfWC&+;Z2|3rpB94K(7zBHeO z@aeV%hQ`CBI(F0GpKtz+5dSI7`aegA|5RfA6LJ0z_*Z?KLd6cBlLy>P(FDnFbwSAQ z4mf8c4G;$#RjI<@@TH^*GtXf|f!zQk3aPYn4)@0AE6b`=`Ae@72l}6507^r4 zu(gze1I7D|)s1|6dQKj;N@{Bx_oq1v3yZr4_LKaupfFtAaOCx`{@}J-NNo?_zsJQT zgnZWewrV>(bv?xkCQek-z=bLe8UUV;ytnGK{i_ajBu%_xzm(o|wT@T;rC;`3pq^LM zYX`oe4$T*rUA^1N^7i(c=fo^S!)t>LSJq$qi*FvOa6ek#4;yFdVMa}W+}~jv7Ylo$ zB+w^Gt0DZzp_r!MB+@NTR~~c=D*Vu;A~^z8zlceySI4qo!>bp$!JI~2OlC7Yv)HfC zGczyT>T+mhALbsm9dbQ%1UR82LlvKt6h}f*Td+e9d&;oiXu3hMDCGN1^ELhT%8mFL zu>3u$Z>YHCMo&=)tQ**uDz@nPWRwsuf{FaPz9cQoE<6YFQ$t@qpho7IC)e`Y4FM7( zSP#wJ23InnPRb>$NDe|G_Pqs}ZH}cRH*S1=QlTgJ2;luUp5ZdAc3Z_NMbp-q zhl+PEu>pe(q9;8gf}tcPzTE7b@;POO?+2heB~ zOm??L#jZM3GQ;=NvtN4QqQ7bH?@!~jBhn2k)~tzmSX-t1P*vIL$@p3`)HIz4Cnd2& z$&EJ{GeBs%t%Ds5I;#&Yxb;zg&T_Wj#f9n#L4gfBjZaR^U22kgC9fd&Dv~3C-j%1) zwr=fVhBihz7tsGFF&(}sTbn5uTjQWP;)I8vgXOQ^3gLM*@c3!=?4(&XA+uxLU)QM6 z)C#N@tx&7XVW1SR)J_*5$f$+Yq~c+Dl!~|-Isf3AJzRc4$HgR==gY8Ol_U}x`(B9C5C57>O@D;u!;W)S0Uo|ZQ9 z;RDO*eJvg$piiC=fn{5@k}xn>(LK#pU*+cB{n?l%w1IjRfT2doc3@oK`Pz0%gYo@ zY+Mo=^CGiZ!7b0)-djG;Hq__T4{b<|v(465N4*xG@s;j{Z?$o%aNRv8v~8%0rp;`; zAMujP25vnF7ibCvPpD9;M((DjdlqS!jEcQ*yH8ed*4Ih(Fi83=JBWE^^H7AV(vv{k zShE4@wh;ImE`kq)GwgUEYu%(C?MKKl?{BnGU|PzRYLd@QU21C+vm2;`vT=R zTPZ<5;R{47>Z_?O)>@Y#rk>wwi^eaelucCYZOJF`k1tB9eVV^6Uwc&v|Y<{hC zOEetW#bV5>miHMj2Z2MnCCPRj&R#SkN1#rQEvopkQkmLEI84$w7Xnv&A|-vwl}dfv z)BLt&cKo^mmKYHwtJ>6CwGSPoc6KNQe(5Bni<0?G^B(&XGdSrjPH#+yf^cb7)5Gvd zozu}*b~=new4Cv~BS2{827AMlJApU?R(rov0lY+1-Iofn_l;}5P!TdL!lmyt9y=TInF(_vB z!?7=3yz_Tsq=aod5*J^7b!seQ7Sjs5e(RP*3^CiB4VQt}|Jj`A>dMCuqJ+}{WL!7h zlHZq`?l8ozQBAi)vr})0-nPRXts64sm3h!JhL@X}N)`_xV*%9#5w59Qn?X!Sp@y2C zx>r|b$4+^Uhjltnl%K8vb|~PaxDCrQ6?*mg@}%pSA(5`ZqER>PCKU=qwPN{;#U&*@ zJf%v?U+*I98NGZ_Xf!o65TFQrOLSLPOLc0*grtL!^}tM+_h8LQ2ZtE`Jt5E9fD%VO zhF=C(kxROt;BBJtdh*$D_-4v`k;<*1IdSJlixsRkYVR_`F$)o))Q82eLzMLRD$Tt} za4)rCO_EXv>BqCEUMa5Mw8GV*BD^~dJoSe7B2-3Ta@p*&p;8g2U(Vj&FJjcI+9LyC((33qD^4&1i=)}NEmIR=`Bj7-W@JA~Cm(Iov{~rtW)kFf*-VUh zds~VU_W<-dRSSAN-IU0H8q$kQJ@}JXtKn#$14fr8F5*u z7N+pjWhO?#+;E@MkRi~B&`3G!fs9xCNohYCV*wSgrTqndDQq2ro)uI=?g-=>1|5Ar zif5U`-;?02U*`9#p2Lj>>#K{IX?$hB)oMhRL^h@o^jT5iLQWUk0r%c>EHy4wb$lu3 z?mkOSW=R#VrH(SWHArFV7qi{iop^ME)A_!o8QVm_lwFbILq7wt{7MsRst&6G zSf!9Hp)E@}daFhM-QHx!R0DUQa_T&>b&GK-U@#qWaMyvse6K&YmMWToJQnSr zS9g17V`(`C9$0e<0c|T%#7z&w!~qT%`eH_h9U4wtWeK`X>U1Sic!PZLUU`xHd}xZt zMeakR(m?dB6A0eVO!As~@X+Y@cdMq%dn*=$@MP96$g>@oyu<954S2bR;69d{X=^~XdTKs5NvHA!9Yq`cHxdwFMc^M!G_c%ZP57DGeC*z46=4Kha;$Q#1pA)^OTb|>P*{rX^bUa!Bj}ak z&D@`iy6pR{JzB0s~Nx9&WhC8t)Xutekk zlWTpwDn7mWIy;2#4!iA1zBP7vW;8xTNB1Xz{GDSa_cjbmHNxD!bWc2^PX0}`0RK*v zfd8q_v%F^rPtz4OsZ<@n5`eqJ-umdNheuDPPyfWI9gnDLtd#r*wc_G84aNp08XrPm z$Eb>H3)?Tep)X+O9}C>fLU;#zhH+iB)ugRUX!`7ut{Fe|z;nyB2Ni$#`VbL@BV%aO zyG!_A$R7sKd-wY7o(P0tAXqBTNC50#u>OtB1GyZqTp&vVP2z`1qyKXZ6ace5$8GB8 z|Loc|`wOoBeJB9L^Zh~e|K!gR68V5F9xMz8qwt@dz!CuXsicV0zAtxX#+?khBJx#` zPRlrUF4gA_hJ>B03qM`gWhgKC!H6y_7@q~VhIr%9%W0@bez+Pu_KfY5N=KR>6DR~gI z3HKfsPt?KE(u|$}#lPtyVttdis;T)A_UC*gX+z5|3;dqx7sh7Q;@!m(2l0(OsYz9; zRmSQmzo;&rvmk$>bU)WX^!3foDpc?K+P-uhKbB2x&~jm=CqFcm6T@M%YQzq6?#?Dr^11h)i5;CSen0hYk-3toNMlAOVb3drQ2q$0t zsA~Ft?+FRTzQ@Ygo#i01Wy>$G_bJ%h9h)>8A@9Qx)I4inoUw}%tBI9)XnxQuYZ7{< z6s%QV6h%$F^rK#}yCQQp4z(K3+!7@q;PnUM?oc5H$D?V5p|Jbql^2z`{z6ajR>BXh zZ694W*S~B2MOy$!3kV?Af=x2$4Xd=07G&7z}dU z+24gT+S%`oBQ>$$cQW4;pRw|;bl2wF`s9OHtpFBc`Lsp`N@81$) zFT@#r`9R^3CoKJDxf_)EYx!dr!4e7&!?g#*Pqk16KT9}M7D>@WjalrNU$^fgL)kCy zPD_TxC5@!7wL95dETa|IuM7=1k~t%v9hN-VS~!bVbg)<4me_rbYm$^y)H2iaBGzX` zpJZj2B5E0#H9==4#{+jp1B)vkNw1`4J^>o5{f)M zX7KW!F?RjxoFGh%qmh5nn=mvRTWCF>=6Z+Gdl#kGoq59Wr63Sc7!V7BKCF~hiY|cAMUW-4 z$FdAITkxx(aM1DAli^f?@LhJ`L1Iq$#KhUpUP^|ZzmEV;axW1_qAh*krEFex|6dGEm@_EWtNw+FEN+6k44kZ^m;B@K+Q@Bq=d zh$RmoVhzqVgIUm?S_n@obYR-t8)dB}4Hy%AyJ@ma|0p z1%dx}ix%UTX5R8oXM@0CTBNdDi}&v)GUQ!a}T&SU&3ynP21%4^GR%Eify zpbY~RK8Pl2&!p|yD*AtV`|hZwwx;g@0S*u#p$2K8BOQ?s#yn^E>$`XPsSU&&=NE%%0i5 zL8Nd%Nc%+*>_cW#3oT)<`Cs(WnDrI3_*Aa$Z@_Nz>HIBDg}KvLQYLalxib=Q>V<0r znU2uFLiHX*{q6UAaVhGRi{+>;n(W#v56A`E5g&3?D$Vsy1=k4XX)-}~HP>yDJD!q! z10zss@Wi!eIJI=s&%%pRz)K6U=LvYi$qyVers}~1<7bSAX{ajkOUz>L*y~cxwi8#p zm;$5p$1`$okLZ;i+la&84h+9H*BgD%nolC+^xQzwtoTfqF!@)mI@$ct*;;uHq6$P! zQMQw;Y0c~jU#ZJ(ioS+<3`m=momsfe`})pVsXWCI>;C6YRc7Yhh|+6JBYXC4@MmXk z&HoDLVx70;4~SXZ4e4#DLuv=U<;L?2&4tu-H8f&>l$f}5{K-!o zs=8l0YbCrHB$Q3KCU37~sWM6lmb1Q}@E20-iJWco{mxHtbr33T%fV&AHKgbvyM$3v zZrul8%}>Vc#F?dUKUXWqP7po&aw+#Sujr={SpwoTJxV7*p7{AkeT zNzS%&zJ2%+-K~f?+3?Y@7J7O*KhE!KPvk8t?JfaZX|5^?)%D)TINy-fp=FI6v7YLA zS?13_?hSXz(D$xt2}T}GKAY^Ke0idLsM(3T`^SlK;sfBk4_{iQ9}%jtxKl>+P_WjW z?)ELskUg1wn|EBTV_pB_8L*Ioy1M)lz+V%{$tkm?JzE#k<^1|#E~e#J!M=I)nw1O- zGs_HKiLT~PJP!Dkrd!o`Dl@&dd_8^SU69WH-p5=*Ul7-t)$N;o)5OuxwYv{K*%+DT z%W*aRb&js;Ci8zk+Y9x`1g8IbT(A1_VZVR$Km=TNM z`vLSg{68+6Rvo1Qj~SPR1~YXCr^5D@-4{<2?)CgXS;78%W9wvPJxVThDMNZ2L$Fkz zUCQ#959(|F#EhR93-jrfWo0~`(>i@T!4OL1OjzE!Z*Si}<_hTG_y;oPe+?D-zuYuG zM4_%fmY@8vTLV+TmsEJw*}M%N<~lJGE*HWNHg^9q4cnDRLeR3G-`L+Y{uAVUqcesu zNCk25``23dHwhJh+4+z*Dx-|hr$Ww%jZi&QP8V!F!w@T$Sc#H6t;eI{u}kB1Cet9- z=3DtdL4o5F*E?5-M@<`7xxp{XH%&%^#MW^Xesu)OL&I2or4&H^nLK z)WS6rN8csGQ@+9RG)yGy8K_>EJ09+TE>{Vi2ruuFfG(fvMTtOj!?gqV?+YQ9g}}^W zV=;uAg#1}2g*h(<456Mo)BU>z=YN_6#a$H)q#2IJk1ym12Dz!W*CTrx_Rle42w{Mi z)Y^O4J6s^MD^?0>BqCIQNeDa?o=lpNf#Skpqzm6YRi=}9?$UsrIX8YP2?j>5b`;82@J>XXf*N0pJu8b}{ za~b|LVsiSy^&j8w`t_IAHY6{v3^vn?XA<~(d+*3=N3$OEt{)UA1v~Vu@B6Uy`I=DKSND*_%8%_y?&l686-wRW$m@B`CBtJ|W%p*8GV?-J9?q!&hhwd}!?S;79h)PXF zMUyhnQ0L!jdTQBvZ|G-DD@eao7^)LR@g)htD5`)a&mEvCQF|KT8285*wIbFYfcDqgMX1@- zIs&5>Z6ypmaum*{ML@$06gFFt-TLGe_(8P7HtXg5FVOC(dBOVJCA~b)&L?==>)RW9 z2TvuXo+~B?n1{NB&@w4Zj<92zXqcjJtmi>RUh0W<7wxcxnGPf?EeyM!D#_lbCywEu^va+l<`eDC&T(z*U(R(AK zc@4GlX#n=9QO-GRB9SmElmk2$;AppmPH-4Q>#$JL)kM@zB_OUXoQR4j$0KX4C|_A? z>Ts9e305MXz7e8tc)JqfJ+Hlew@pz`nP@OIO0TL9uO6b<b~e4gigU`jqu0zR9qt6OEFTM8rUKr`3B4irvmWR%z+;eBQE@YjcU+4Bn{| zH-@IU7=w+KL|`xmupkS#6sJ43L|FFXTa0MQZ#D%olhXr9vtm}|Q#5>>J--6dFPmYn9Si;dYhrq#Pm$)?2>z*r;<|3IajJPl3n3kXJBCNdr^vqd)LN-8u<3L zz@9}B?yNa``}D#>n1{4)ILB+9&=r;0#k$oYo((B)JvnN~18J6whDBxWjQyY2D1vrp zG+slXO10FAb;oGzjtms<5aobF4H;6Cj*-yRW(`+0c0LBG3my1nT zsqw)R+*DK#%jTJRONmF1`vMj2P9Rev=rCs?C@{Y9`H!i`A7ZO-&UmOreB&Xinh$;V zi6S89u?Esw)`mj2+DbN8v@C4T?Y!^savAUWnX9Mu&inm2L{y)}m3E?S&Q(jk&M$V~ z0v`7~$hy~!vlI`To47n+UpXd;BYb@-uG|vszzZG}XS|#Hcu%O+nCf(L@}09^r-I|1 z^OA$)uLssIjK|-(>pXi3RWh(ZOFl@<6eZL9%2qj!I}-r^%m=v=FLa;%eGAZU3V-p? zdH%DF>;rp(56!!>fX!DDL4uu)vWY)-wi}}f8aKj_Z!SCDW81!?5&nkp5T*yF`;mkPp2xYZO+>SI`&C6gTaYNmB}!({Vh4(ce0(}>XA!c-p>aL;P=qfLME!IF zeTqWsO+3ao-MORD+839^;X+Gq*~*pVrN^PfxMC!Eju)P>kH3g zNVaF)cP8$Tpui3n?z~;^t=^ToBw@z!pfiPy-^-781hwVb%dP3oT#LvWJ`npXg>53 zRck5>@v5pB_I$9M$PE1=HXuJJ$?8!tMC}+G+wI-dc#Y%z)$#BEGL0m~t;jy4moEL& zd>;gUIe_Lw~w9^Dy31oF~OOBYB{OPTuqAN&sXQ=q)6BYVab8C=5tvF|7O(2mcy${4RP*+WmM&*la9SUg z!-dF*t@R^5L04@{b??h)I6sa) z=3P7@S~lFug1<|6+Pk<|4(M>Md;Uh-6?m(r+2-i?fc@}m{ksJ&xb5*4-8)!vr+)7a z4z*`lryLfm<@ZD9c9uF)u!6rDKVDBQ^S8D_0yFnVFPhf0h(XRq=KUWU337igtN(@z zZ|o*}=Y@?J7zL@jhT^oCerLGJ!Tvm`Ft7!4+N+&NKrv}Ob874 z`F$r313wLg4#ZCg&>aQBWs(`8q3Mp}b0RU!TX@ikKAEn&eE{ee` z#34;VFNV`pm#*u0Y7MzLku&+Y8`hPv7A<9R?eFpl^y_qEiBsZc&l)Ghy=eIb>p#MnM`h>dr|SRBPoK^HkfiZJ zc^#?X9RJbI5}y5+9hlZB7^=0_AyV>P$=QBT5Jfb%6T5v&exJ*?#eR)(@S?acc-yHA5=3%uJeb!J_S`sAS#iM!oia^>f68Ny zir!#&HYm{O7*u})9ZP90C<)k5Y=wqh2XaNKzm;jb3iFq?yJVirny z6EL`PZk-`NTw+%s9Bn_&Bj$9zZZYBVXN`tvP`_QX-lXz+$9$kU4OrP`X|;jWl>gG--|W+tn?*IiF_P0+$M ze4AQAOh0wAyxtz4dye5UkqV=`exX?6oFhl2mHzFgpih^knn%D~J;mVXoMlDLuW!W9 z^weK8hM4Bhk2XWjSMll}Q_WeQ^JIN%-i%5(f}RIx20k4Xx5g!ibD4a>jnG_%LZ7AW z+-Ba}JV$Gdrtm3rHL#$~Ge+YeAu*lm%l-_ZN0hGCWk5`6v&pBUElNr>W zE2}IQ;KB%b@Zr*9t7m>utgD5YM%F9qu)bb1R(3YWgfJdEcD2mYN#k!Aq6fs9$Ddv^ z(fv(@rxx_Q?zQ8_6gsN*JsS%}V+k2mhHLe786_I_@Sd1#+(}Bvy_I9 z$PUWdzpjx_I%D=KT{}gWp8E0zZ+z+uE$)2dyLP5V3Y(*<+TJBkX5#Q{>!eud(jgjN zYTK9+{kK)H;at(`Q1a@$C6z#%|0oLCQh^JPF?n-yQAHjJrQT%#3J~?{?0bMWAJeWr z{}b%Xh4nhl`O>ea-rG$+oX)t$tT02zT?yzYgnr>_I z;t%)j@Z;K`qjEE-Bj1NU2azXg12Zyf2z}`b!i=n=XmY=NBP@E8UGv*iWdL#lg8*i`ZIEeagZMkjCNHc}t3eOqw4EiiLZ||Pv z`_k|Q`QT&rr@l6)*#JM*Q#8Fw9~%l(6D{ zkr;;?>vnZV636P@xdSb441dVERg8w(PYYYgtsfV<$t?6_bG7Gco^s(jpJ^NC`w@h6 zk^h<5=+c;yztw#>6qIoWEqM=9po9aMe|@UB{V_YK-8ERc`zxX*!&jRQ%xn21@VsB4 z$%}5D^iE^?)OW16XczW@j0--xabC|U+{9{Ow{(eXTif53HFhoDH}MTJ2V|GC9=xe@ zb&iH0&(40nx}Ztj4iTfq9B)&;IB)gp0T-flT}+75o9PKN?>||34ug=3!yob5K5w3{ zboZO|X2w1sUCT18GR@THLHLgp?^@BAiKsOBZ=UitaP4e~IG(6|%kVVC&$fx9gEj#b zu07e?(n0s&UTdtF@GaiCp?ze7>n+BQTvO`f*M@x^$j(y-w7JR~qx-CRu2GNgimep? zyl}RQjd1yJO~Y#S!dpGh4e-pPQ@PuVI6BQ}AH-R4TWIP%AkYL#62p(PW4b=2Q{wNP zhq^?_T?4JY#qI)YYzlu@#;?2-0&I^$NtC3IGRkOv3JIHvzL!oM%UtX$|6C&uZ3MxSiT^bmM+9xBuTd|xQ?Lc~}h z_?9AWY`hrAQxA7hp>?^n&)Hew?7&Ost(6SWfvGt4mxXt7N;8G|epP)6M=^wDf3(tk zVWlUUs0UKCeW;(2-NJzAa1_NeC!;J77%L7^$Sk%5h4(o7RjrJQOBbNm)AzZb=u@J% ziAz%6fPu#>sx|ri5>PBy1Lz%CqJy3=a7CY78yjN|B}w1|nG&y8$|EeM%I|XNCj5dK zC5-FqEAW9{(OdI8GSS!Umiy|`z$qd(&W7pxhIptCf3aI=K)!DXJq%@NYvW?`LY)1O z5G=9M>qB9oiOY$RvkfR8{x9|3KNna4v- z(WB2DAuLmUt+Wi!WSmAXsxA*O#a~&Js(4Go!GOHnB%&u}zE3T5d^>AI?BTLn;{64U z1G)3Id2fE#sRb$tsZAJ(e4k#3$KCN7ih)DP;7%Mi|3gM7%8!|dxdC_(?YZzCG(mvC zbuOu9jW{-ZYCIuy4yyq*fqfTJs|sWZPa~zrpmcgulprzvU-W;BvLNJM#GF*erL%@W z+*Z5-Vfqr?D#-fLAZ@vt2ojUq?l4%<~d&)Mt75>%s2n)QV3e&^hHk;xB zPYyoP!~S9+4R}1Xv+Jwve$iLrpwbj^ut?rpNxS3anwRsIy5zIRyNDFhrv;9Qvw|uhp}G{#c*28N2O+u&IEMyQ%%neP%N!G)AgTgYJr>v~`ev`TL1lzY&HZp` zs!Od-sn_^A)zXAOmsZ9dm%M!iRx{x7Zqwmetlz;S`tDo-%CMq^F_aC@50J9+^)hLM zN=9Qo>M9(!hs8guSeOu00A`GG!XgZFho2t+3aD z4!Yz^jGktfh7JJl;VEO1aqtZo<_qdIrNF@*U_9AzhP-VCSq@VCBUlH!_Du*{7DM>@ z&e7O0q=XZ{wMGWD2P||KfxqB*t%QLzSwn7AO){&6<11nvcGs|jq4>smp-+12kvbEf zKu8pb{~+byK=j77lE<2L2B5-Mp3>#8BEs3zU(0+u3yi~0Z^ zzerK?qP2jBF4h>h*i65iA9>CGryawWftJ z@bPCT-u)tY+!z80XC$2+4b`E{^tZ0vEc(4l&xV(cBUnUSqRh{yCX%YBO2>a3=)E4+ z99gHOIjRi`YPd~p#t}6jSA2EyX)BV>rDT2ZxY-{uY|~VIwL5g|iCodP+Q_dY7#+_! z-7nP}S|J^o_j-TZB0+4ECo>_zJNptwh>==ez?%9C?QBYH4Ioei=r#hqf~>SQ(B5V%5jcMpk5d z1ACrC809>O2wjXA8#``oVSYP&g0qs4Rn4BjmQd~$M8j@C&T5^mMp#p)Q^HWmgy8%$ zbwDpKEB_eh*E2ifpG?oJ`nBR7&iP{0{D`*P2CuyyOO1Jj|9qotp{Q~bpi(hmx3jB@ z-Cmt;S~gALmSUQy;iy?*ys^BQwyjFM?VW@ilfHKBC=ru>_1oFPi_YeQg|c&pk0ict znWfmXn#E93Pv|M=D{3(DvzKDu@+pDRSN2;C}!1K)A#(X}rf-^m%&x zFCrn_9X2HFX3rPB?2?i=*_p+3%};o&vad0{{G5(#Qe70!P0G)?D_1yCgMqm#Q@WBu zk7%DsH7N9c9i_=ThGu05bZ1w9_iuag;$vHuOC2odD)MnaR07bD2lMZX=GV zFxL3xvrFy~o6mP}v!e`Ra9M9}2B<7fL4~dHVoK~2CK*SW4f0y2u-e)d`L_~nXCbF? zYQk0!EruANZb2u+t#=cvl|_nN8YOx0s&d3mSkCt*3%|jhe{(i~spYu;il;xG>G5E^ zkP>?;g?A?ich3Y8(eNnmCIdq>4?vI2rZKZKRz@X)l6H%gnGZ91808I()G`zCl z;LfA(7*o_)WF&$BuTgV>Ac6362bxEd(5gsAtKK$sZt!&~U8L0Cy4!?1+@`@fuwXca z)Q;VZ&v06#mJ;j`6^fET)+;G%XRHD2=Uv(Novs^@)VtaOkN*B08d1`f)EwDQY#Jf9FKl2=llByK4$BiD^|9NIY$4LIY)ns#>!y7cyo+G2u6wtA)RZX+9SPopG`- z0S!!ckpiAfB2SPV@14wxzzn?tqr&*Yi@)cnN=`d4;iw%hKs>cr`mGscUAOLvy$U*2 z|G`=k{xgBDM#OksEP*lFsBysiV+=v< z5dLn|W>?T^S==|Z+Tgb*0gx1d=b&?EO|-eCD#MQ8<_gF78w zPd?#8-vuNrEB}Tgwx3if9v#2F%MP%^tl^BY3wtH+i!Qktvx)wZa(mCNalO)RqJ7O4 z4`q&ONY{b6)z{Ee0_VtR_4m70F6zua1K3**bry^e9O%W6iSc{hjI-vLT4D8Ak|j=o zM95{i3%|?376ECNlx6&~qnSLV*ob=PyTobIl3btUBo}0D6F$ zzy{%`rfn5~rV(R^zt5+5fIPdJiuM_&HER;K_88%Qg_PmXGLTPVj1E*sV$_m!N#rRq z_rwW`mj3?vs`U_Xu*{S4)MQhtSTq%-O2(R|0zSV=`%80-2@~Hs49+w)I!rXFnp?lF zm4KGyV2qZ9OVQ{iw*h*r9egP#?YwHyq-gH2?eHAraFU@>x&(>@gc#e}@JLsSx(<&L zd?c91=oLq5pJ1o^%UhMh8Y%b5Zb~946*Mx z&A=ANE$=qvr|Jk%e5?dV2kv;U|P3=RbYw|>}3>2gFlQN$Q<}W#UZX{ z9Oc&fXKbOLX!>w{gi7AXmmdltR=(zFPDr+JRo(zQRGhV=+*cJ2u%LZvO9>6~Zi>M> zJ3AtsghG~YC=NP);1;M`bn#pX%3OaGwl8FwhjML$Awv0x5AqiSr2jNQ&*5AyFZ6LJ zZqbwmM{tMXBc$dn^$({MdFX0aVTQ211wtWQT+&}*1HIv}afdq>R0Oy6>z)F^0$~CX zJVysm@+B$}>e^N48+Zwf`twD%&{JI!A}TTCjpmq0du(_t2IteDqQJj_DmR;VEP1Tv zZ}n&8KAgQb$249`Df{gTQPZTgZ9C=WeuHi2)yi2oz=#jcX1ojA>vn)nu%SzY>6G9v zfi_sIK%79rrl^_2p9VTj=9(c|G}^2!9Fg6OZgi~)t-)E}cGaoL#?%ss`4_mbGfpA^ zF`2a6?Qn*l1IT>+1scD)dTcp`wexz%kVuzIT`cYNM_K~%ek`wA+1GygYgb4_T%7yC zwO6xwiAo`ddhf#c768T9!fhR;>ZRzebP%k?F;>M`S`Kjqe{>J&kA%|i(-+X#)9DQ0 z3n{8hXcMZ;E98d=H63OsK1hMn0)amgGfT&`Nd0;dO(~O4h9SkLLhrhQPktD>ht2#MQESgCVUHRw3qr2tFDfiv4h*4A&66w z!O3!ZcV2VNm%_6lMp5c-p@KX&Zyk$8uh0>pq^6GXaepkz*wPT((1tOy_({_JGslZ( zaF5V^MSbn^?S(c}oDllwQ9(E~s=lpQ(T}yW$GPg3ddbnPITlmCZoFjDa|8)RCauZ*ZfZ=$BklSW-JUl>~wKB#@Km%P64&k^E7IFbgOnNd(#=OQ%YVc70OS zUNu$aT+Lt%i3+8)S?nqUS6&T7B$H*UcN$tK*b!*q0|e2;@Q9 zyR>GJ1F55k{oEZ5YRVN6EMN#UUxWz=St-`@$8g3PAr1Mo89Ea5sTd%X=xE~M{@ES% zy);Vljt#6et+m|+q~g8Ali%;gOFxY#E{-RnmLyXY4%p%m35ZntLwZPSg+Do9#DEf> z3XU=Rr?CCWCdb41077?~WLlFpMl{h8mw5q>xvIJ5( zIDOb~1u-je4o%v0`|82MfHb29OardLRoDrZ^(GV(MJn-?ZL9hR1`rlv6t^9<7DIUI zD(#?iRdiKl3?dd0&!6bWp96s`Em-9)4lT|v?kp~jB|`WN2&>eUKRUyms-h`N4;AEM z5pjq_5&kR)#B-Rn?pw7gb4&Z&_#QV^Jr|CMlZWF$K3mc|+B1s4=yBN-0HpQO7e`e9 z99Q#!9cPqlVKgJjcJ+$0j|d>bIAx8zgDe7#GNz(OUxId0cACT?bBOs1^Srink+~fX z^b?wl8Z2`~l9E)Ah``p*x|PM=T%ch40ZnSM7#5a>rx^0mo{VPT-p^dRUgfGbu0(mp#CA24e5cgY^wY5DS zeozFGGi0X5+McElfmneeU!aFhedr&|a3&_zs8cht~BxOLH z{vXXO&4(upg>%HnBV+kbW?3}ZCRK+@5~>R7MOC{GN4zc@*rT4;xjprR?^7|XLXrUY z6CZ(iuxKcM_#^O5#t}V(P-mRGBgsYuskd7)*hrna1a@Dh`K`@IAn^%E@U1DL^J*Jq zafcn}RQ0;k1u3TwDsN0|y$y3qnhrt|sMF*+paE6?S@b2ycVGBQd=VN73bff9rbFe1 zh^|D$;t>!CPBmEv;f9Ejp8~DvJSOnb6p|wW3{2b6C!qfM10_guq=Lq?`btM(BE}I! zx%Xkmi8F%bf4e?8308~z_onUSCPJKr3WDCqNz?;x!d-;HJ~|3=tiWx8d#>Wb;G>?L f|G(Gp=oZs#hd~WrL>3M->me5mO!bMn4*35AhU@N> literal 0 HcmV?d00001 diff --git a/po/pt_BR/docs/okular/embedded-files-bar.png b/po/pt_BR/docs/okular/embedded-files-bar.png new file mode 100644 index 0000000000000000000000000000000000000000..12c0aaa8bef114f5939dc363890e2bf82b370d63 GIT binary patch literal 6714 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 literal 0 HcmV?d00001 diff --git a/po/pt_BR/docs/okular/forms-bar.png b/po/pt_BR/docs/okular/forms-bar.png new file mode 100644 index 0000000000000000000000000000000000000000..f1de373a6d8d61ade11f5ac17c5339ab04c967b4 GIT binary patch literal 6837 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 Kina3A5&s8@6%A|v literal 0 HcmV?d00001 diff --git a/po/pt_BR/docs/okular/index.docbook b/po/pt_BR/docs/okular/index.docbook new file mode 100644 index 0000000..15c20c4 --- /dev/null +++ b/po/pt_BR/docs/okular/index.docbook @@ -0,0 +1,3878 @@ + +ATEX"> + KPDF"> + + +]> + + + + Manual do &okular; + + Albert Astals Cid

    &Albert.Astals.Cid.mail;
    + + + Pino Toscano
    pino@kde.org
    +
    +
    + André MarceloAlvarenga
    alvarenga@kde.org
    Tradução
    + + &FDLNotice; + 08/01/2020 + 1.10 (Applications 20.04) + + + &okular; é um visualizador de documentos universal do &kde;, baseado no código do &kpdf;. + + + KDE + okular + pdf + ps + postscript + tiff + djvu + dvi + chm + xps + comicbook + fictionbook + markdown + mobipocket + plucker + anotação + + + + Introdução + &okular; é um visualizador de documentos universal do &kde;, baseado no código do aplicativo &kpdf;. Embora seja baseado no código do &kpdf;, o &okular; tem alguns recursos exclusivos, tais como: modo visão geral, suporte à apresentação melhorado e suporte a anotações. + O &okular; tem suporte a um conjunto de formatos diferentes, como &PDF;, &PostScript;, Tiff, CHM, DjVU, Imagens (png, jpg, &etc;) XPS, Open Document (ODT), Comic Book, Plucker, EPub, Fax e Markdown. Para todos os formatos suportados e suas respectivas funcionalidades, consulte a página Tratamento de Formatos de Documentos do &okular;. + + Janela principal do &okular; + + + + + + Janela principal do &okular; + + + + + + Utilização básica + + Abrindo arquivos + Para visualizar qualquer arquivo suportado pelo &okular;, selecione ArquivoAbrir... , escolha um arquivo suportado e clique no botão Abrir. Seu arquivo será exibido na janela principal. + + O novo documento será aberto em uma nova aba se a opção Abrir novos arquivos em abas da página de configuração Geral estiver assinalada. + Você pode fechar a aba clicando nela com o &MMB;. + O documento fechado anteriormente em uma aba poderá ser reaberto usando o item de menu &Ctrl;&Shift;TArquivo Reabrir a aba. + + Se você já abriu arquivos anteriormente no &okular;, é possível acessá-los rapidamente, selecionando-os no menu ArquivoAbrir recente. + O &okular; é o aplicativo padrão do &kde; para arquivos &PDF; e &PostScript;, sendo carregado quando você clica com o &LMB; em um desses tipos de arquivo no gerenciador de arquivos. Se quiser abrir qualquer arquivo cujo formato seja suportado pelo &okular;, use a opção Abrir com...&okular; , a partir do menu de contexto do gerenciador de arquivos. + Após abrir um arquivo, provavelmente você irá ler o conteúdo e navegar por ele. Vá para a próxima seção para aprender mais sobre isto. + + + Navegação + Esta seção descreve como você pode navegar pelo documento no &okular;. + Existem diversas formas de rolagem da área de visualização. Uma delas é usar as teclas Seta para cima e Seta para baixo. Você também pode usar a barra de rolagem, a roda do mouse ou as teclas Page Up e Page Down. + Você pode usar as teclas de navegação no estilo vim, sendo H para mover para o topo da página anterior, L para mover para o topo da próxima página, J para mover uma linha para baixo e K para mover uma linha para cima. + Outra forma é manter pressionado o &LMB; em qualquer local do documento, enquanto arrasta o mouse na direção oposta de onde você deseja mover. Este procedimento somente funcionará se a ferramenta Navegação estiver ativa, a qual pode ser selecionada em Ferramentas Navegação. + + Ao visualizar um documento no modo Apresentação, use as teclas Seta para cima e Seta para baixo para alternar entre as páginas ou slides. O número e a posição do slide atual serão mostrados no canto superior direito da tela. + + Se quiser ler um documento com várias páginas, use a funcionalidade de deslocamento automático do &okular;. Inicie o deslocamento automático com as teclas &Shift;Baixo ou &Shift;Cima. Depois, use essas teclas para aumentar e diminuir a velocidade de deslocamento. Você poderá iniciar ou parar o deslocamento automático temporariamente, usando a tecla &Shift;; pressione outra tecla qualquer para desativar esta funcionalidade. + Outra forma de navegar por um documento com diversas páginas é usar o ponteiro do mouse. Arraste a página para cima ou para baixo, continuando a arrastar até atingir a base ou o topo da tela. Assim que passar os limites de uma página, o cursor do mouse aparece no topo ou na base da tela novamente, permitindo continuar o arrastamento. + O painel de navegação do lado esquerdo da tela habilita outras duas formas de navegação pelo documento: + + + Se clicar na miniatura da página, a área de visualização será aberta nesta página. + + + Se o documento tiver um sumário, ao clicar em qualquer dos itens mostrados será aberto o documento na página associada a esse item. + + + Caso o documento tenha camadas, você poderá controlar a visibilidade através dos itens da lista Camadas. + + + Se o documento possuir favoritos, ative a área de Favoritos e clique nos mesmos para ir para a página associada. Se os favoritos não forem só visíveis para o documento atual, você poderá mudar rapidamente para os favoritos de todos os arquivos abertos recentemente. + + + Se o documento tiver anotações, ative a visão das Revisões e clique nas anotações ou selecione-as com as teclas Seta para cima e Seta para baixo e pressione Return para acessar a página associada. + + + Alguns documentos possuem links. Nesse caso, você pode clicar neles que a visualização será alterada para a página referenciada. Se o link for uma página Web ou algum outro documento, o aplicativo padrão responsável por esse formato no &kde; será executado. Por exemplo, ao clicar no link que direciona para http://www.kde.org, será aberta uma página Web no navegador padrão do &kde;. + + Os links internos do documento funcionam somente quando for usada a Ferramenta de Navegação. + + Adicionalmente, você pode usar as funcionalidades a seguir, para mover-se rapidamente a locais específicos do documento: + + + Você pode ir para o início do documento usando o &Ctrl;Home ou usando a opção Ir Início do documento . + + + Você pode ir para o fim do documento usando &Ctrl;End ou usando Ir Fim do documento . + + + Você pode avançar no documento usando a tecla Espaço ou Page Down. Para ir para a próxima página, use o botão Próxima página da barra de ferramentas ou Ir Próxima página na barra de menus. + + + Você pode voltar no documento usando a tecla &Backspace; ou Page Up. Para ir para a página anterior, use o botão Página anterior da barra de ferramentas ou Ir Página anterior na barra de menus. + + + Você pode voltar para as posições no documento de onde veio em ordem cronológica. Considere, ⪚, ler a frase Como apresentado em [15], … e quer consultar rapidamente a referência [15]. Para isso, você pode clicar na mesma, para que o &okular; salte para a lista de referências. Se usar &Alt;&Shift;Esquerda ou Ir Voltar na barra de menus, irá voltar exatamente para a posição de onde veio. + + + Você pode avançar no documento, após ter recuado, com a combinação de teclas &Alt;&Shift;Direita ou usando a opção Ir Avançar . + + + Você pode ir para a próxima ocorrência quando pesquisar usando as teclas F3 ou &Enter; (quando o foco estiver no campo Localizar) ou o item de menu Editar Localizar próxima , ou então voltar para a ocorrência anterior usando as teclas &Shift;F3 ou &Shift;&Enter; (quando o foco estiver no campo Localizar) ou o item de menu Editar Localizar anterior . + + + + + Modo de apresentação + O modo de apresentação representa outra forma de visualizar documentos no &okular; e pode ser habilitado no menu ExibirApresentação. Ele mostra o documento página por página. As páginas serão mostradas por completo, o que significa que a página inteira ficará visível. + + Os documentos em &PDF; podem ser especificados para indicar que sempre serão abertos no modo de apresentação. + + No modo de apresentação, você tem uma barra auxiliar localizada no topo da tela. Para que ela apareça, basta mover o ponteiro do mouse para o topo da tela. + + O &okular; no Modo de Apresentação + + + + + + O &okular; no Modo de Apresentação + + + + Para navegar pelas páginas, você pode usar o &LMB; (próxima página) e o &RMB; (página anterior); a roda do mouse; os ícones de setas ou a linha de edição na barra do topo da tela; ou as teclas especificadas na seção Navegação. + Use o botão Reproduzir/Pausar na barra superior para iniciar a apresentação ou pausá-la, respectivamente. + A qualquer tempo, você poderá sair do modo de apresentação pressionando a tecla &Esc; ou clicando no ícone Sair na barra do topo da tela. + Você também pode desenhar na página do documento com um lápis. Clique no ícone Alternar para o modo de desenho na barra do topo, para habilitar ou desabilitar a possibilidade de desenhar no modo de apresentação. Os desenhos serão automaticamente apagados ao deixar o modo de apresentação. Você também pode clicar no ícone Apagar desenhos para remover os desenhos da página atual. + O modo de apresentação tem suporte para mais de uma tela em uma configuração com múltiplos monitores. Com mais de uma tela, um novo botão aparecerá na barra do topo, com o ícone de uma tela. Esta é uma lista que permite-lhe mover a apresentação para qualquer uma das outras telas disponíveis. + O modo de apresentação possui algumas opções de configuração, que são descritas no capítulo Configuração do &okular;. + + + + Pesquisa inversa entre os editores de &latex; e o &okular; + + A pesquisa inversa é uma funcionalidade muito útil quando estiver escrevendo um documento em &latex;. Se tudo estiver configurado adequadamente, você poderá clicar na janela do &okular; com o botão esquerdo do mouse enquanto pressiona o &Shift;. Depois deste editor carregar o arquivo de código em &latex;, ele irá saltar para o parágrafo adequado. + + A pesquisa inversa funcionará que: + + + O arquivo fonte foi compilado com sucesso. + O &okular; saiba qual editor você gostaria de usar. + A ferramenta Navegação precisa estar ativa, a qual pode ser selecionada em FerramentasNavegação . + + + Com esta funcionalidade do &okular;, ao clicar com o botão esquerdo do mouse ao mesmo tempo que o &Shift; no documento &DVI; ou &PDF;, fará com que abra o documento correspondente em &latex; e tente ir para a linha correspondente. Lembre-se de indicar ao &okular; para usar um editor adequado, no item de menu do &okular; ConfiguraçõesConfigurar o Okular... (na página Editor). + + Para mais detalhes sobre a configuração do editor, consulte a seção correspondente deste manual. + + + Configurar o &okular; + + + + + + Configurar o editor no &okular; + + Configurar o editor no &okular; + + + + + + + Recursos avançados do &okular; + + Arquivos incorporados + Se o documento atual possuir arquivos incorporados, uma barra aparecerá na parte superior da visualização da página após a sua abertura, informando-o da existência de arquivos incorporados. + + A barra de arquivos incorporados + + + + + + A barra de arquivos incorporados + + + + Nesse caso, você pode clicar no link do texto da barra ou selecionar ArquivoArquivos incorporados para abrir o diálogo correspondente. Esse diálogo permite-lhe visualizar e extrair os arquivos incorporados. + + + Formulários + Se o documento atual possuir formulários, ao abri-lo irá aparecer uma barra na parte superior da visualização da página para que você possa ativá-los. + + A barra de formulários + + + + + + A barra de formulários + + + + Nesse caso, você poderá clicar em Mostrar formulários, na barra ou escolher a opção ExibirMostrar formulários para inserir dados nos campos dos formulários. + + + Assinaturas + Se o documento atual possuir assinaturas, uma barra irá aparecer na parte superior da visualização da página após a abertura do documento. Ela possibilita abrir o painel Assinaturas. + + A barra de assinaturas + + + + + + A barra de assinaturas + + + + Ao usar o painel Assinaturas, você poderá inspecionar a assinatura do documento e o seu certificado. + + O painel de assinaturas + + + + + + O painel de assinaturas + + + + + Esta funcionalidade só está disponível para documentos &PDF;. Você precisa instalar pelo menos a versão 0.51 do Poppler para obter mais informações sobre a assinatura, a versão 0.68 para obter informações sobre a localização/motivo da assinatura e a 0.73 para obter informações sobre o certificado da assinatura. + + + + Anotações + O &okular; permite-lhe revisar e fazer anotações em seus documentos. + + Anotações do &okular; + + + + + + Anotações do &okular; + + + + O &okular; possui dois tipos de anotações: + As anotações de texto, como o Realce em amarelo e o Sublinhado em preto para os arquivos de texto como, ⪚, &PDF;. + As anotações gráficas, como Nota instantânea, Nota integrada, Linha livre, Realce, Linha reta, Polígono, Carimbo, Sublinhado, Elipse e Máquina de escrever, para todos os formatos que o &okular; possui suporte. + Se usar o menu de contexto na área de Revisões do painel de navegação ou na janela principal, você poderá abrir uma Nota instantânea para os vários tipos de anotações e adicionar ou editar comentários. + As anotações não estão limitadas apenas para arquivos &PDF;, podendo ser usadas em qualquer formato com suporte no &okular;. + O &okular; possui um recurso chamado "arquivo de documento". Trata-se de um formato específico do &okular; para transportar o documento com os vários metadados associados a ele (atualmente, apenas as anotações). Você pode salvar um "arquivo de documento" para o documento aberto, escolhendo ArquivoSalvar como e selecionando Arquivo de documento do Okular no seletor Filtro. Documentos salvos dessa forma terão a extensão .okular. Para abrir um arquivo de documento, basta abri-lo com o &okular; da mesma forma como, ⪚, um documento &PDF;. + Você também pode salvar as anotações diretamente nos arquivos &PDF;. Use Arquivo Salvar para salvar sobre o arquivo atual ou Arquivo Salvar como... para salvá-lo como um novo arquivo. + + Devido a limitações do DRM - Digital Rights Management (normalmente com documentos em &PDF;), pode não ser possível a adição, edição ou remoção de propriedades e anotações. + + + Qualquer ação sobre as anotações (criação, remoção, edição das suas propriedades, mudança de posição com &Ctrl;+arrastar o mouse e edição do conteúdo de texto) podem ser desfeitas ou refeitas com o item correspondente do menu Editar. Também é possível desfazer a ação ao pressionar &Ctrl;Z e refazê-la ao pressionar &Ctrl;&Shift;Z. + + Você pode configurar as propriedades e a aparência padrão de cada ferramenta de anotação. Para mais informações, consulte a seção correspondente deste manual. + + Adição de anotações + Para adicionar anotações ao documento, você precisa ativar a barra de ferramentas de anotações. Isso é feito ao selecionar a opção FerramentasRevisão ou pressionando a tecla F6. Assim que a barra de ferramentas de anotações for exibida, basta pressionar um dos botões ou usar os atalhos de teclado (teclas de 1 a 9) para iniciar a construção da anotação. + A barra de anotações ajuda-o a fazer anotações com desenhos, formas e mensagens de texto. Você pode usar a barra de anotações para marcar um documento (⪚, adicionar linhas, elipses, polígonos, carimbos, realces, sublinhados, &etc;). A tabela abaixo descreve exatamente o que faz o conjunto de botões padrão. + + + + + Botão + Nome da ferramenta + Descrição + + + + + + + + + + + + + + + Nota instantânea + + + Para desenhar uma nota com várias linhas. A nota poderá ser vista com um clique duplo sobre um ícone do documento. + Clique no botão da ferramenta e depois no local do documento onde a nota deve ser adicionada. Indique o texto da nota e depois clique no botão Fechar esta nota no canto superior direito da janela. + É possível definir a Cor, a Opacidade e o Ícone da nota. Basta clicar com o botão direito do mouse sobre o ícone da nota criada e selecionar o item de menu Propriedades. + + + + + + + + + + + + + + Nota integrada + + + Para desenhar uma nota integrada. A nota será apresentada integrada ao documento. + Clique no botão da ferramenta e depois com o &LMB; para colocar o canto superior esquerdo da nota. Depois arraste para colocar o canto inferior direito. Indique o texto da nota e depois clique em OK para salvar a nota, em Cancelar para cancelar a introdução da nota ou em Limpar para apagar o conteúdo da nota. + É possível definir a Cor, a Opacidade, a Fonte, o Alinhamento e a Largura da borda da nota. Basta clicar com o botão direito do mouse sobre o ícone da nota criada e selecionar o item de menu Propriedades. + + + + + + + + + + + + + + Linha livre + + + Para desenhar linhas à mão livre. + Clique no botão da ferramenta e depois clique com o &LMB; para marcar o início da linha, depois arraste para desenhar a linha. + É possível definir a Cor, a Opacidade e a Largura da linha. Basta clicar com o botão direito do mouse sobre o ícone da nota criada e selecionar o item de menu Propriedades. + + + + + + + + + + + + + + Realce + + + Para realçar o texto no documento com a cor de fundo indicada. + Clique no botão da ferramenta e depois clique com o &LMB; para marcar o início do texto a realçar, depois arraste para fazer o realce. + É possível definir o Tipo (Realce, Ondulado, Linha ondulada ou Sublinhado), a Cor e a Opacidade do realce. Basta clicar com o botão direito do mouse sobre o texto realçado e selecionar o item de menu Propriedades. + + + + + + + + + + + + + + Linha reta + + + Para marcar com uma linha. + Clique no botão da ferramenta e depois clique com o &LMB; para marcar o ponto inicial da linha e depois arraste para marcar o ponto final. Para finalizar, clique mais uma vez. + É possível definir a Cor, a Opacidade, a Largura, o Início da linha, o Fim de linha, o Comprimento da linha principal e Comprimento das extensões da linha principal da linha. Basta clicar com o botão direito do mouse sobre o ícone da nota criada e selecionar o item de menu Propriedades. + + + + + + + + + + + + + + Polígono + + + Para desenhar uma figura plana fechada com três ou mais segmentos. A nota correspondente poderá ser vista com clique duplo dentro do polígono. + Clique no botão da ferramenta e depois com o &LMB; para marcar o primeiro vértice do polígono, depois arraste para marcar o segundo vértice. Continue até que tenha desenhado todo o polígono até ao primeiro vértice. Clique duas vezes se quiser adicionar alguma nota ao polígono. Digite o texto da nota e depois clique em OK para salvar a nota, em Cancelar para cancelar a introdução da nota ou em Limpar para apagar o conteúdo da nota. + É possível definir a Cor, a Opacidade, a Forma de preenchimento (e sua cor), assim com a Largura do polígono. Basta clicar com o botão direito do mouse sobre o ícone da nota criada e selecionar o item de menu Propriedades. + + + + + + + + + + + + + + Carimbo + + + Para marcar o texto ou imagem com alguma forma predefinida. + Clique no botão da ferramenta e depois no &LMB; para colocar o carimbo. + É necessário um único clique para colocar um carimbo quadrado (útil para ícones). Para adicionar um carimbo retangular, você poderá clicar com o &LMB; e mantê-lo pressionado para colocar o ponto superior esquerdo, arrastando depois para colocar o inferior direito. + É possível definir a Opacidade e o Símbolo do carimbo. Basta clicar com o botão direito do mouse sobre o ícone da nota criada e selecionar o item de menu Propriedades. + + Esta funcionalidade é experimental. Carimbos personalizados inseridos em documentos &PDF; serão visíveis apenas no &okular;. + + + + + + + + + + + + + + + Sublinhado + + + Para sublinhar algum texto. + Clique no botão da ferramenta e depois com o &LMB; para definir o início do trecho de texto sublinhado, em seguida, arraste-o para o sublinhar. + É possível definir o Tipo (Realce, Ondulado, Linha ondulada ou Sublinhado), a Cor e a Opacidade do sublinhado. Basta clicar com o botão direito do mouse sobre o texto sublinhado e selecionar o item de menu Propriedades. + + + + + + + + + + + + + + Elipse + + + Para desenhar uma elipse ou retângulo em torno de uma área determinada. + Clique no botão da ferramenta e depois com o &LMB; para definir o canto superior esquerdo do retângulo circunscrito da elipse. Depois, arraste para definir o canto inferior direito. + É possível definir o Tipo (Retângulo ou Elipse), a Cor, a Opacidade, a Forma de preenchimento (e sua cor), assim com a Largura da borda. Basta clicar com o botão direito do mouse sobre o ícone da nota criada e selecionar o item de menu Propriedades. + + + + + + + + + + + + + + Máquina de escrever + + + A máquina de escrever possui letras opacas em fundo transparente, o que é útil para preencher formulários não interativos. + Clique no botão da ferramenta e depois com o &LMB; para colocar o canto superior esquerdo da nota. Depois arraste para colocar o canto inferior direito. Indique o texto da nota e depois clique em OK para salvar a nota, em Cancelar para cancelar a introdução da nota ou em Limpar para apagar o conteúdo da nota. + É possível definir a Fonte e a Cor do texto. Basta clicar com o botão direito do mouse no texto da máquina de escrever e selecionar o item de menu Propriedades. + + + + + + Estas são as anotações padrão e fornecidas pelo &okular;. Ao usar a página Anotações da caixa de diálogo de configuração, você poderá adicionar as suas próprias anotações, como carimbos personalizados, formatação de texto com Linha ondulada ou Tachado, ou uma forma geométrica, como um Retângulo com cor interna para realçar determinadas regiões, &etc; + + É possível adicionar código em &latex; ao texto das anotações. Basta, adicionar $$código$$ ao texto da anotação, onde o código será qualquer equação válida em &latex;, seguindo as instruções na tela para permitir a renderização com uma distribuição de &latex; instalada no seu sistema. + + O conteúdo da barra de anotações pode ser configurado usando a página de Anotações da caixa de diálogo de configuração do &okular;. Essa página pode ser aberta com o &RMB; se clicar na barra de anotações e depois escolher Configurar anotações... no menu de contexto. + Com um único clique do &LMB; no botão de ferramentas de anotação você pode usar uma vez a ferramenta. Por exemplo, se quiser realçar todas as partes importantes de um texto, ative essa ferramenta de forma permanente com um clique duplo sobre o botão respectivo. Pressione a tecla Esc ou o botão da ferramenta mais uma vez para sair do modo permanente. + + A barra de ferramentas de anotações pode ser acoplada em qualquer lado da área de visualização. Para isso, basta arrastá-la para outro local. + + + Se ativar a barra ferramentas de anotações, a exibição do documento será alterada para o modo de navegação. + + Você pode parar a construção a qualquer momento, clicando novamente no botão da anotação que estiver construindo ou pressionando a tecla &Esc;. + A anotação recém-criada terá como autor o nome definido na página Anotações da caixa de diálogo de configuração do &okular;. A página Anotações também pode ser usada para configurar o conteúdo da barra de anotações. + + + Remoção de anotações + Para remover uma anotação, basta clicar com o &RMB; e selecionar Excluir ou selecione uma anotação usando o &LMB; e pressione a tecla ∇. + Ao removê-la, a janela da anotação será fechada, caso esteja aberta. + + Esta opção pode estar desabilitada, se o documento não permitir a remoção de anotações. + + + + Edição de anotações + Para editar uma anotação, clique nela com o &RMB; e selecione Propriedades. Uma caixa de diálogo irá aparecer com as configurações gerais da anotação (cor e opacidade, autor, &etc;), assim como as configurações específicas para esse tipo de anotação. + + Janela de propriedades das anotações + + + + + + Janela de propriedades das anotações + + + + Para mover uma anotação, mantenha pressionada a tecla &Ctrl;, mova o ponteiro do mouse para ela e então arraste com o &LMB;. + Se clicar com o &LMB; sobre uma anotação, ela fica selecionada. As alças de dimensionamento irão aparecer no retângulo de seleção. Quando o cursor passa sobre uma das 8 alças de dimensionamento nos cantos ou bordas, a forma do cursor muda para indicar o modo de dimensionamento. Clique em qualquer outro local da anotação para movê-la. Se pressionar &Esc; ou clicar em uma área fora da anotação irá cancelar a seleção. + O dimensionamento só se aplica aos tipos de anotação Nota integrada, Máquina de escrever, Carimbo e Elipse. + + + Dependendo das permissões do documento (normalmente com documentos em &PDF;), algumas opções podem estar desabilitadas. + + + + + Gerenciamento de favoritos + O &okular; tem um sistema de marcação de favoritos muito flexível. Ele salva a posição da página no favorito e permite-lhe definir mais que um favorito por página. + Para gerenciar os favoritos no &okular;, você pode usar a área de Favoritos no Painel de navegação, no menu de Favoritos ou no menu de contexto da área do documento (clique com o &RMB; para abri-lo). + + Área de favoritos + Para abrir a área de Favoritos, clique no item Favoritos do Painel de navegação. Se o Painel de navegação não estiver visível, use a opção do menu F7 ConfiguraçõesMostrar o painel de navegação para o torná-lo visível. + + Menu de contexto da área de favoritos + + + + + + Menu de contexto da área de favoritos + + + + A barra de filtragem no topo da área de Favoritos pode ser usada para filtrar o conteúdo da lista de favoritos de acordo com o texto no campo. + A área da lista permite ver a lista de favoritos num formato em árvore: cada documento da lista pode ser expandido ou recolhido se clicar nos ícones < ou v próximos a ele. + Clique no ícone abaixo da lista para mostrar apenas os favoritos do documento atual. + O menu do botão direito para o item do documento pode ser usado para abrir um documento, renomeá-lo ou removê-lo da lista. Lembre-se de que a remoção de um item de documento conduz à remoção de todos os favoritos no documento correspondente. + Os menus do botão direito para os itens de favoritos individuais permitem-lhe ir para a posição do favorito, renomeá-lo ou removê-lo. + O menu de itens do botão direito no índice analítico pode ser usado para criar favoritos ou ir para o favorito anterior ou seguinte. + + + + + Opções da linha de comando + Embora o &okular; possa ser geralmente iniciado a partir do menu de programas do &kde; ou de um ícone da área de trabalho, ele poderá ser aberto a partir da linha de comando de uma janela de terminal. Existem algumas opções úteis que estão disponíveis ao fazer isto. + + Especificar um arquivo + Especificando o caminho e nome de um arquivo específico o usuário pode fazer com que o &okular; abra este arquivo imediatamente após iniciar. Esta opção pode parecer algo como o seguinte: + % okular + + + Para documentos em &PDF;, o nome pode ser indicado como nome_documento#nome_destino onde nome_destino é um nome de destino específico incorporado no documento. + + + + Outras opções da linha de comando + As seguintes opções de ajuda de linha de comando estão disponíveis + + + okular + Abre o documento na página indicada. Também está disponível como okular + + + okular + Inicia o documento no modo de apresentação. + + + okular + Inicia com a janela de impressão. + + + okular + Inicia com a janela de impressão e sai após a impressão. + + + okular + Controle de instância única. + + + okular + Permite apresentar a janela do &okular; a elevar-se após o início. + + + okular + Tenta localizar e realçar um texto no documento. Só funciona se for indicado apenas um documento como argumento do comando okular. + + + + + + Ajustar janela à página + A funcionalidade de ajuste da janela à página redimensiona a janela, de forma que fique exatamente com o mesmo tamanho da página no fator de zoom atual. Se a página não couber completamente na tela, a janela é aumentada para que a maior parte possível da página fique visível. + Esta funcionalidade pode ser acessada com as teclas de atalho &Ctrl;J + + + + + Barra de menus + + + Menu Arquivo + + + + &Ctrl;O Arquivo Abrir... + + + Abre um arquivo suportado ou um documento do &okular;. Se já existir um arquivo aberto ele será fechado. Para mais informações, veja a seção Abrindo arquivos. + + + + + + Arquivo Abrir recente + + + Abre um arquivo que foi usado anteriormente, a partir de um submenu. Se um arquivo estiver sendo mostrado atualmente, ele será fechado. Para mais informações, veja a seção Abrindo arquivos. + + + + + + Arquivo Importar PostScript como &PDF;... + + + Abre um arquivo &PostScript; e converte-o para &PDF;. + + + + + + &Ctrl;&Shift;T Arquivo Reabrir a aba + + + Reabre o último documento fechado. Esta ação só fica ativa se você fechou algum documento na aba durante a sessão atual. + + + + + + Arquivo Abrir pasta do arquivo + + + Abre a pasta que contém o documento atual no seu gerenciador de arquivos favorito. Esta ação é especialmente útil no caso em que você tenha baixado um arquivo &PDF; da Internet e abriu diretamente no &okular;. A localização do arquivo pode não ser óbvia ou fácil de encontrar sem esta funcionalidade. + + + + + + &Ctrl;S Arquivo Salvar + + + Salva o documento, incluindo todas as alterações (anotações, conteúdo de formulários, &etc;), desde que a infraestrutura do documento tenha suporte para gravar as alterações. Se a infraestrutura não tiver suporte, o usuário terá a opção de descartar ou salvar as alterações em conjunto com o documento em um arquivo de documento do &okular;. + + + + + + &Ctrl;S Arquivo Salvar como... + + + Salva o documento com um nome diferente, incluindo todas as alterações (anotações, conteúdo de formulários, &etc;), desde que a infraestrutura do documento tenha suporte para gravar as alterações. Se a infraestrutura não tiver suporte, o usuário terá a opção de descartar ou salvar as alterações em conjunto com o documento em um arquivo de documento do &okular;. + + Note que, devido à forma como isto está implementado, mesmo que não existam alterações no arquivo, o novo arquivo não precisa de ser uma cópia exata (bit a bit), do arquivo original (⪚ poderá ter um código SHA-1 diferente, &etc;). + + + + + + + F5 Arquivo Recarregar + + + Recarrega o arquivo atualmente aberto. + + + + + + &Ctrl;P Arquivo Imprimir... + + + Imprime o documento apresentado no momento. Tenha em mente que o &okular; possui algumas opções específicas para impressão de arquivos &PDF;, as quais estão disponíveis se clicar no botão Opções +> +> e depois escolher Opções do &PDF;. Use essas opções para imprimir as suas anotações ou configurar o modo de rasterização, se tiver problemas com a impressão de alguns símbolos ou se precisar alterar o modo de escala. + + As opções do modo de escala só estão disponíveis quando marcar a opção Forçar a rasterização. + + + + + + + Arquivo Visualizar impressão... + + + Mostra uma visualização de como o documento atualmente exibido seria impresso com as opções padrão. + + + + + + Arquivo Propriedades + + + Mostra algumas informações básicas sobre o documento, tais como: título, autor, data de criação e detalhes sobre as fontes utilizadas. As informações disponíveis dependem do tipo de documento. + + Por favor, preste atenção à informação sobre a substituição de fontes na aba Fontes da caixa de diálogo Propriedades. Muitos problemas com a renderização de fontes podem ser resolvidos com a instalação de fontes substitutas. + + + + + + Arquivo Arquivos incorporados... + + + Mostra os arquivos incorporados ao documento, caso exista algum. Para mais informações, veja a seção sobre Arquivos incorporados. + + + + + + Arquivo Exportar como + + + Este item contém os formatos de exportação para os quais o documento atual pode ser convertido. A primeira entrada para todos os tipos de documento é sempre Texto sem formatação... + A segunda entrada é Arquivo de documento, que permite-lhe salvar o documento com suas anotações, em um formato próprio do &okular;. Deste modo, é possível compartilhar facilmente o documento original e suas anotações com outros usuários do &okular; ou trabalhar com eles de forma colaborativa. + + + + + + Arquivo Compartilhar + + + Este item contém serviços que podem ser usados para compartilhar o documento atual com outra pessoa ou enviá-lo para os seus dispositivos. Os itens neste submenu são controlados pelo sistema. Eles dependem do formato atual do documento e dos plugins do KPurpose que estiverem instalados. + + + + + + &Ctrl;Q Arquivo Sair + + + Fecha o &okular;. + + + + + + + Menu Editar + + + + + &Ctrl;Z Editar Desfazer + + + Desfaz o último comando de edição de anotações (criação, remoção, edição das suas propriedades, mudança de posição com &Ctrl;+arrastar o mouse e edição do conteúdo de texto). + + + + + + &Ctrl;&Shift;Z Editar Refazer + + + Refaz o último passo desfeito ao editar anotações. + + + + + + + + &Ctrl;C Editar Copiar + + + Copia o texto atualmente selecionado no modo Seleção de texto para a área de transferência. + + + + + + + + &Ctrl;A Editar Selecionar tudo + + + Seleciona todo o texto (se existir algum no documento). Isto funcionará somente no modo Seleção de texto. + + + + + + + + Editar Selecionar todo o texto na página atual + + + Seleciona todo o texto (se existir algum no documento) da página atual. + + + + + + + + &Ctrl;F Editar Localizar... + + + Mostra a barra de pesquisa na base da área de visualização, permitindo-lhe procurar por uma string no documento. + + + + + + F3 Editar Localizar próxima + + + Tenta localizar de novo a string anteriormente pesquisada no documento. + + + + + + &Shift;F3 Editar Localizar anterior... + + + Vai para a ocorrência anterior do texto de pesquisa no documento. + + + + + + + Menu Exibir + + + + &Ctrl;&Shift;P Exibir Apresentação + + + Ativa o modo de apresentação. Para mais informações sobre esta seção verifique Modo de apresentação. + + + + + &Ctrl;+ Exibir Ampliar + + + Incrementa a ampliação do modo de exibição do documento. + + + + + + &Ctrl;- Exibir Reduzir + + + Reduz a ampliação do modo de exibição de documento. + + + + + Exibir Ampliar para 100% + + + Amplia a imagem do documento para o tamanho atual, como definido nos parâmetros do documento. + + + + + Exibir Ajustar à largura + + + Altera a ampliação da visualização do documento para um valor onde a largura das páginas seja igual a largura da visualização do documento. + + + + + Exibir Ajustar à página + + + Altera a ampliação da visualização do documento para um valor onde a página ocupe todo o espaço de visualização. + + + + + Exibir Ajuste automático + + + Altera a ampliação da área do documento para um valor que, dependendo da relação de tamanho entre a página e a área de exibição, transforme automaticamente a largura das páginas igual à largura da área do documento (como o ajuste à largura), a altura das páginas igual à altura da área do documento (como o ajuste à altura) ou então ter a página inteira visível (como o ajuste à página). + + + + + Exibir Contínuo + + + Habilita o modo de página contínua. No modo contínuo, todas as páginas do documento são mostradas e você pode percorrê-las sem precisar usar as opções Ir Página anterior e IrPróxima página. + + + + + Exibir Modo de exibição + + + Este submenu permite-lhe escolher o modo de exibição das páginas. As possíveis opções são: Página única (apenas uma página por linha), Páginas opostas (duas páginas por linha, em estilo de livro), Páginas em faces (centralizar primeira página) e Visão geral (o número de colunas corresponde ao especificado nas configurações do &okular;). + + + + + Exibir Orientação + + + Este submenu permite-lhe alterar a orientação das páginas do documento. + + A rotação é aplicada à orientação de todas as páginas. + + Você pode selecionar a Orientação original para restaurar a orientação do documento, descartando todas as rotações aplicadas manualmente. + + + + + Exibir Tamanho da página + + + Altera o tamanho das páginas do documento. + + Este submenu somente está ativo se o documento atual suportar diferentes tamanhos de página. + + + + + + Exibir Recortar a visualização + + + Este submenu permite-lhe remover a borda branca das páginas ao visualizá-las (item Recortar as margens) ou recortar a área de visualização à seleção (item Recortar à seleção). + O modo recortar à seleção permite-lhe desenhar uma seleção sobre a página renderizadas, para poder definir uma área delimitadora visível que possa ser aplicada em todas as páginas do documento. A seleção de uma pequena área delimitadora a recortar obriga a um tamanho de dimensões mínimas (20% como uma porcentagem do tamanho total da página). + O modo recortar as margens é lembrado nas próximas vezes em que iniciar o &okular;. Já o modo recortar à seleção é esquecido. + Quando alterar o modo do &okular; de recortar as margens para o recortar à seleção, o visualizador sai do modo de recortar as margens para a interação da seleção da área delimitadora. + O modo de recorte pode ser desativado se selecionar novamente o item do menu que o ativa. + + + + + Exibir Mostrar/Ocultar formulários + + + Mostra ou oculta a exibição dos campos de formulários do documento. + + Este item do menu somente está ativo se o documento atual suportar campos de formulários. + + + + + + + + + Menu Ir + + + + Ir Página anterior + + + Exibe a página anterior do documento. + + + + + Ir Próxima página + + + Exibe a próxima página do documento. + + + + + &Ctrl;Home Ir Início do documento + + + Vai para o início do documento. + + + + + &Ctrl;End Ir Fim do documento + + + Vai para o fim do documento. + + + + + &Alt;&Shift;Esquerda Ir Voltar + + + Volta para a visualização anterior do documento. + + + + + &Alt;&Shift;Direita Ir Avançar + + + Avança para a próxima visualização do documento. Isto somente funciona se você já tiver voltado anteriormente. + + + + + &Ctrl;G Ir Ir para a página... + + + Abrir um diálogo que permite-lhe ir para qualquer página do documento. + + + + + + + Menu Favoritos + + + + &Ctrl;B Favoritos Adicionar/Remover favorito + + + Adiciona ou remove um favorito da posição atual. + + + + + Favoritos Renomear favorito + + + Renomeia um favorito da posição atual. + + + + + Favoritos Favorito anterior + + + Vai para o favorito anterior ou não faz nada, se não existirem favoritos anteriores ao atual. + + + + + Favoritos Próximo favorito + + + Vai para o próximo favorito ou não faz nada, se não existirem favoritos posteriores ao atual. + + + + + Favoritos Sem favoritos + + + Esta é uma ação sempre desabilitada, que aparece somente neste menu se o documento atual não tiver favoritos. Caso contrário, aparece aqui uma lista com todos os favoritos. Clicando nestes favoritos, você poderá ir diretamente para a posição associada. + + + + + + + Menu Ferramentas + + + + &Ctrl;1 Ferramentas Navegação + + + O mouse terá o seu comportamento normal, com o &LMB; para arrastar o documento e seguir os links e o &RMB; para adicionar favoritos e para se ajustar à largura. + + + + + &Ctrl;2 Ferramentas Zoom + + + O mouse atuará como uma ferramenta de zoom. Clicando com o &LMB; e arrastá-lo, irá ampliar a área selecionada, enquanto que o clique com o &RMB; irá retornar o documento ao zoom anterior. + + + + + &Ctrl;3 Ferramentas Área de seleção + + + O mouse irá funcionar como uma ferramenta de seleção. Nesse modo, ao clicar com o &LMB; e depois arrastá-lo, aparecerá uma caixa de seleção com a opção de copiar o conteúdo da área selecionada para a área de transferência, falar o texto selecionado ou ainda salvar uma imagem com o conteúdo da região selecionada para um arquivo. + + + + + &Ctrl;4 Ferramentas Seleção de texto + + + O mouse funcionará como uma ferramenta de seleção de texto. Nesse modo, ao clicar no &LMB; e arrastá-lo, será mostrada a seleção de texto do documento. Após isso, basta clicar com o &RMB; para copiar para a área de transferência ou falar a seleção atual. + + + + + &Ctrl;5 Ferramentas Seleção de tabela + + + Desenhe um retângulo em torno do texto para a tabela, depois use o botão &LMB; para dividir o bloco de texto em linhas e colunas. Se clicar com o &LMB; sobre uma linha existente, ela será removida e mesclada com as linhas ou colunas adjacentes. + + + + + &Ctrl;6 Ferramentas Lupa + + + Ativa o modo de ampliação para o ponteiro do mouse. Pressione e mantenha pressionado o &LMB; para ativar widget de lupa, movendo o ponteiro para se deslocar pelo documento. A lupa amplia em 10 vezes cada pixel do documento. + + + + + F6 Ferramentas Revisão + + + Abre a barra de ferramentas de revisão. Essa barra permite-lhe adicionar anotações no documento que estiver lendo. Para mais informações, veja a seção Anotações. + + + + + Ferramentas Falar o documento inteiro + + + Ferramentas Falar a página atual + + + Ferramentas Parar de falar + + + Ferramentas Pausar/Continuar a fala + + + Estes itens permitem-lhe falar o documento inteiro ou apenas a página atual, bem como parar a fala usando o serviço de sintetização de voz do sistema. Este serviço é oferecido por uma biblioteca do &Qt; que encapsula o 'speech-dispatcher' no &Linux; e os sistemas de fala nativos das outras plataformas. É possível escolher a voz atual através da página de configuração de Acessibilidade do &okular;. + As ações Falar ... somente serão habilitadas se o serviço de sintetização de voz estiver disponível no sistema. + + + + + + + Menus Configurações e Ajuda + Além dos menus normais do &kde;, Configurações e Ajuda, descritos no capítulo Menu da documentação dos Fundamentos do &kde;, o &okular; tem estes itens de menu específicos do aplicativo: + + + + F7 Configurações Mostrar painel de navegação + + + Altera o painel de navegação em ligado ou desligado. + + + + + Configurações Mostrar a barra de páginas + + + Ativa ou desativa a barra de páginas na parte inferior do documento para poupar espaço vertical na janela do &okular;. + + + + + &Ctrl;&Shift;F Configurações Modo de tela inteira + + + Habilita o modo de tela inteira. Observe que este modo é diferente do modo de apresentação, pois a única particularidade do modo de tela inteira é a ocultação das decorações das janelas, da barra de menu e da barra de ferramentas. + + + + + Configurações Configurar infraestruturas... + + + Abre a janela Configuração da infraestrutura. + + + + + + + + Configuração das infraestruturas do &okular; + Você pode configurar as infraestruturas do &okular; escolhendo Configurações Configurar infraestruturas.... O diálogo de configuração é dividido em seis seções. Atualmente, as opções de configuração estão disponíveis apenas para as infraestruturas EPub, &PostScript;, FictionBook, Txt, Texto OpenDocument e &PDF;. + + Janela de configuração das infraestruturas + + + + + + Janela de configuração das infraestruturas + + + + Usar as páginas de configuração das infraestruturas EPub, FictionBook, Mobipocket, Markdown, TXT e Texto OpenDocument, permite-lhe definir a fonte de geração de documentos nos respectivos formatos. O botão Escolher... dessas páginas abre a janela de configuração de fonte padrão do &kde;. Consulte a documentação dos Fundamentos do &kde; para mais detalhes. + A descrição das páginas de configuração das infraestruturas Markdown, &PostScript; e &PDF; pode ser encontrada abaixo. + + Configuração da infraestrutura Markdown + Você pode configurar a infraestrutura de renderização Markdown do &okular;, que é baseada no Discount na lista à esquerda da janela de configuração. A única opção que pode ser configurada é a seguinte. + + + + + Ativar a formatação SmartyPants + + + Quando estiver assinalada, esta opção permite ao &okular; executar o processamento da formatação do SmartyPants. Essa formatação poderá ser problemática com textos técnicos, devido a substituições indesejadas (⪚, substitui o (C) por um símbolo de copyright). Esta opção está assinalada por padrão. + + + + + + + Configuração da infraestrutura &PostScript; + Você pode configurar a infraestrutura de renderização &PostScript; do &okular;, que é baseada no Ghostscript, escolhendo a opção Ghostscript na lista à esquerda da janela de configuração. A única opção que pode ser configurada é a seguinte. + + + + + Usar fontes da plataforma + + + Esta opção determina se o Ghostscript pode usar as fontes da plataforma. Se não marcada, só será permitido usar as fontes incorporadas no documento. Esta é a opção marcada por padrão. + + + + + + + Configuração da infraestrutura &PDF; + Você pode configurar a infraestrutura de renderização &PDF; do &okular;, que é baseada no Poppler, escolhendo a opção &PDF; na lista à esquerda da janela de configuração. A única opção que pode ser configurada é a seguinte. + + + + + Melhorar linhas finas + + + O desenho de linhas no &okular; é feito em dois passos: a geração do caminho de recorte e o seu preenchimento. Quando a linha no documento original tem menos de um pixel, esta implementação em dois passos pode causar problemas. Para essas linhas, o caminho de recorte é preenchido com a cor de enchimento, que depende a espessura da linha dentro da área de recorte. Se a parte interna dessa área de recorte ficar muito pequena, o contraste entre a forma e a cor de fundo poderá ser muito baixo para que a linha seja perceptível. As grades dessas linhas parecerão feias. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Linha fina (vermelho), o seu caminho de corte (linha tracejada) e os limites dos pontos (linhas pretas) + Linha fina apresentada em baixo contraste + + + + + Para melhorar a aparência das linhas finas, o &okular; implementa duas opções. + A primeira opção é a Sólida. Com esta opção, o &okular; ajusta o caminho de recorte e a posição da linha, de modo que o caminho de recorte e a linha estejam no mesmo limite do pixel, &ie;, o &okular; alarga as linhas finas para um pixel no dispositivo de saída. Esse modo é semelhante ao Melhorar linhas finas no Adobe Reader. Se esta opção estiver escolhida, as linhas finas são sempre alargadas. + + + + + + + + Linha fina com realce Sólido + + + Linha fina com realce Sólido + + + + + A segunda opção é a Forma. Com esta opção, o caminho e a linha de recorte são também ajustados em nível de pixel, sendo a intensidade da linha corrigida de acordo com a sua espessura. + + + + + + + + Linha fina com realce Forma + + + Linha fina com realce Forma + + + + + As linhas finas não são melhoradas por padrão (opção Não). + + + + + + + + Configuração do &okular; + + Configuração geral + Você pode configurar o &okular; escolhendo Configurações Configurar o &okular;.... O diálogo de configuração é dividido em seis seções. Este capítulo descreve detalhadamente as opções disponíveis. + + + Geral + + + Acessibilidade + + + Desempenho + + + Apresentação + + + Anotações + + + Editor + + + + O diálogo de configuração + + + + + + O diálogo de configuração + + + + Dependendo das infraestruturas atualmente instaladas, o item de menu Configurações Configurar infraestruturas... pode estar habilitado. Este diálogo de configuração em particular, contém as definições das infraestruturas que podem ser atualmente configuradas. + + + Geral + + + Mostrar barras de rolagem + + Mostra ou não as barras de rolagem na visualização do documento. + + + + Manter miniaturas em sincronia com a página + + Se a visualização das miniaturas deve sempre mostrar ou não a página atual. + + + + Mostrar dicas e mensagens informativas + + Se deve ou não mostrar algumas mensagens informativas ao iniciar, na abertura de um arquivo, &etc; + + + + Exibir o título do documento na barra de título, se disponível + + Se deve ou não mostrar o título do documento atual na barra da janela do &okular;. Se não forem encontrados metadados para o título no documento ou se este item não estiver assinalado, o &okular; mostra o nome do arquivo do documento. + + + + Quando não exibir o título do documento + + Você pode escolher uma de duas opções: Exibir apenas o nome do arquivo ou Exibir a localização completa do arquivo. + + + + Usar cor do plano de fundo personalizada + + Habilita escolhas de cores do plano de fundo no documento (a cor na página exibida). Por padrão, a ferramenta de cor &Qt; é usada quando esta opção estiver assinalada. + + + + Abrir novos arquivos em abas + + Indica se os novos documentos devem ser abertos em abas. Por padrão, as abas estão desativadas. + As teclas de atalho padrão para alternar entre as abas são &Ctrl;. (Próxima aba) e &Ctrl;, (Aba anterior). + + + + Obedecer limitações do DRM + + Se o &okular; deverá obedecer às restrições do DRM (Digital Rights Management - Gerenciamento de Direitos Digitais). As limitações do DRM são usadas para impossibilitar a execução de certas ações com documentos &PDF;, tais como a cópia do conteúdo para a área de transferência. Lembre-se de que, em algumas configurações do &okular;, esta opção não está disponível. + + + + Recarregar documento se o arquivo for alterado + + Se os arquivos abertos devem ser verificados automaticamente, a procura de alterações e atualizações. + + + + Mostrar diálogo de seleção de infraestrutura + + Se o &okular; deve perguntar ao usuário qual infraestrutura será usada, caso exista mais de uma infraestrutura disponível para abrir o arquivo atual. Se esta opção estiver desmarcada, o &okular; usará a infraestrutura com maior prioridade. + + + + Direção de leitura da direita para a esquerda + + Se usar a direção de leitura da direita para a esquerda para os arquivos abertos. Pode ser útil para alguns sistemas de escrita. + + + + Colunas da visão geral + + Esta opção representa o número de colunas a serem exibidas no modo visão geral. + + + + Sobreposição do Page Up/Down + + Aqui você pode definir o percentual da área de visualização atual que deverá ficar visível após clicar nas teclas Page Up/Page Down. + + + + Zoom padrão + + Esta opção define o modo de zoom padrão para o arquivo que nunca foi aberto antes. Para os arquivos que já foram abertos será aplicado o modo de zoom anterior. + + + + + + Acessibilidade + + + Desenhar bordas ao redor dos links + + Desenhar ou não uma borda ao redor dos links. + + + + Alterar as cores + + Habilita as opções de alteração de cores. + + + + Inverter as cores + + Inverte as cores na exibição, &ie;, os objetos pretos serão mostrados como brancos. + + + + Alterar a cor do papel + + Altera a cor do papel, &ie;, o plano de fundo do documento. + + + + Alterar as cores claras e escuras + + Altera a cor clara e escura de acordo com sua preferência, fazendo com que o preto não seja exibido como preto, mas como a cor escura selecionada, assim como o branco não seja exibido como branco, mas como a cor clara selecionada. + + + + Converter para preto e branco + + Converte o documento para preto e branco. Você pode definir o limiar e o contraste. Definindo o limiar em um valor mais alto movendo-o para a direita resultará na utilização de cinza mais escuro. + + + + Mecanismo + + Permite-lhe escolher o mecanismo de texto-para-fala (TTS) a usar pelo &okular;. O padrão é o TTS speechd, mas poderá usar todos os idiomas e vozes, dependendo dos sintetizadores disponíveis na sua plataforma. No &Linux;, é usado o 'speech-dispatcher' para determinar as vozes disponíveis. + + + + + + Desempenho + + + Habilitar efeitos de transparência + + Desenha as seleções e os outros gráficos especiais usando efeitos de transparência. Desabilite a opção para desenhá-las com um contorno ou com estilos de preenchimento opacos e para aumentar a velocidade nas seleções. + + + + Uso de memória + + O &okular; poderá obter um melhor desempenho se otimizar o uso da memória, baseando-se no seu sistema e na sua preferência. Quanto mais memória deixá-lo usar, mais rápido será o programa. O perfil padrão é bom para todos os sistemas, mas você pode evitar que o &okular; use mais memória do que o necessário se selecionar o perfil Baixo ou deixá-lo obter o máximo do seu sistema, usando o perfil Agressivo. Use o perfil Insaciável para carregar previamente todas as páginas sem correr o risco de esgotar a memória do sistema (apenas 50% da memória livre total serão usados). + + + + Renderização + + Ao usar este grupo de opções, você pode melhorar a apresentação do texto e imagens no &okular;. O resultado depende do dispositivo de apresentação do documento. Os itens Habilitar a suavização do texto e Habilitar a suavização dos gráficos podem ser usados para ativar e desativar a suavização espacial do texto e imagens no documento, de forma correspondente. O item Habilitar a sugestão de texto serve para alternar a sugestão de dimensões do texto. A mudança de suavização e sugestão afeta a forma como os documentos são exibidos e podem ser ajustados de acordo com a sua preferência. + + + + + + Apresentação + + + Avançar a cada + + Habilita o avanço automático de páginas após um período de tempo determinado. + + + + Repetir após a última página + + Durante a navegação no modo de apresentação, ao chegar na última página aparecerá a primeira. + + + + Navegação por toque + + Permite-lhe fazer ajustes finos na navegação em telas sensíveis ao toque, ao tocar na apresentação usando os três valores possíveis a seguir: + + + Toque no lado esquerdo/direito para voltar/avançar: Se tocar da metade esquerda (direita) da tela, irá passar para o slide anterior (próximo). + + + Toque em qualquer lugar para avançar (padrão): Se tocar na tela, fará com que a apresentação avance para o próximo slide, independentemente do local de toque na tela. + + + Desabilitado: Tocar na tela não faz nada. + + + + + + Cor do plano de fundo + + A cor que irá preencher a parte da tela não coberta pela página, quando estiver no modo de apresentação. + + + + Cursor do mouse + + Se o mouse deve estar sempre oculto, sempre visível ou ocultar-se após um pequeno tempo de inatividade. + + + + Mostrar indicador de progresso + + Se deve mostrar um círculo de progresso que mostra a página atual e o número total de páginas no canto superior direito da tela de apresentação, toda vez que você mudar de página. + + + + Mostrar página de resumo + + Se deve mostrar uma página de resumo no início da apresentação, com o título, o autor e o número de páginas do documento. + + + + Habilitar transições + + Use esta opção para ativar ou desativar os efeitos de transição entre páginas. + + + + Transição padrão + + O efeito de transição na mudança de página, se o documento não especificar um. Configure isto como Transição aleatória para que o &okular; escolha aleatoriamente um dos efeitos disponíveis. + + + + Posicionamento + + Nesta seção você pode selecionar a Tela usada para exibir a apresentação. + A Tela atual é a mesma tela da janela do &okular; que inicia o modo de apresentação. + A Tela padrão é aquela definida como padrão na configuração do xinerama. + A Tela 0, a Tela 1, &etc;, são as telas disponíveis. + + + + Configuração da ferramenta de desenho + + Gerencia as cores do lápis usadas quando estiver desenhando em páginas durante o modo de apresentação. + + + + + + Anotações + + Página Anotações da caixa de diálogo de configuração + + + + + + Página Anotações da caixa de diálogo de configuração + + + + + + Autor + + O autor do conteúdo adicionado num documento. Por padrão, é o nome na página de Senha & Conta do Usuário do módulo Detalhes da conta das &systemsettings;. + + + + Ferramentas de anotação + + Este painel é usado para configurar a sua barra de anotações. + Existem cinco botões (Adicionar, Editar, Remover, Mover para cima, Mover para baixo) e uma lista (que apresenta o conteúdo da barra de anotações atual) que são usados para configurar a barra de ferramentas. + Se precisar adicionar algum botão de ferramentas na barra, clique no botão Adicionar. Você pode escolher o Nome, o Tipo e a Aparência da ferramenta criada. + + Lembre-se de que as ferramentas de anotações no &okular; são altamente configuráveis. Por exemplo, você pode ter dois botões da mesma ferramenta, mas com cores diferentes. Não deixe de experimentar a escolha do conjunto de botões que melhor se adapta as suas necessidades. + + Clique em algum item da lista e depois no botão correspondente do lado direito da página para editar, remover, mover para cima ou mover para baixo o item. O atalho de teclado da ferramenta (as teclas de 1 a 9) depende da sua posição na lista da barra de ferramentas de anotações. + + + + Uso de carimbos personalizados + + + Crie o ícone que deseja como carimbo e salve-o em qualquer formato gráfico com suporte no &okular; + Clique no botão Adicionar, selecione o tipo Carimbo e digite um nome para o seu carimbo. + Indique o caminho completo do seu ícone personalizado na lista do grupo Símbolo de carimbo + + + + + + + Editor + + + Editor + + Escolha o editor que deseja executar quando o &okular; quiser abrir um arquivo-fonte. Esse é o caso de documento que possui referências para os vários pontos (normalmente o número da linha e coluna) do fonte de onde foi gerado. O formato &DVI; suporta nativamente a adição de informações sobre o fonte do documento em LaTeX, a partir de onde foi gerado. Existe um sistema semelhante para os documentos em &PDF; chamado pdfsync, que armazena estas informações adicionais em um arquivo externo, com o nome baseado no arquivo &PDF; propriamente dito (por exemplo, meudocumento.pdfsync para meudocumento.pdf). + O &okular; vem com configurações predefinidas para os seguintes editores: &kate;, Kile, SciTE, &Emacs; client, LyX client, TeXstudio e TeXiFy IDEA. + + Para usar a pesquisa inversa no Kile, você terá que compilar o seu arquivo &latex; com a configuração Modern. + + + + + Comando + + Este é o comando e seus parâmetros, para carregar o editor selecionado com o arquivo de origem real do documento. + Este campo será preenchido automaticamente se usar um dos editores pré-configurados. Caso contrário, escolha o Editor de textos personalizado na lista Editor e consulte a documentação do seu editor favorito para descobrir o comando adequado. + Você poderá usar os seguintes itens de substituição: + + + %f - o nome do arquivo + + + %l - a linha do arquivo a consultar + + + %c - a coluna do arquivo a consultar + + + Se não for indicado o '%f', então o nome do documento será adicionado ao comando indicado. + + + + + + + Créditos e Licença + + + Direitos autorais do programa: + &Albert.Astals.Cid; &Albert.Astals.Cid.mail;, mantenedor atual + Pino Toscano pino@kde.org + Enrico Ros eros.kde@email.it, desenvolvedor do &kpdf; + + + + Direitos autorais da documentação: + &Albert.Astals.Cid; &Albert.Astals.Cid.mail;, autor + Titus Laska titus.laska@gmx.de, algumas atualizações e adições + Pino Toscano pino@kde.org + + Tradução de André Marcelo Alvarenga alvarenga@kde.org &underFDL; &underGPL; + + &documentation.index; + + + + diff --git a/po/pt_BR/docs/okular/mainwindow.png b/po/pt_BR/docs/okular/mainwindow.png new file mode 100644 index 0000000000000000000000000000000000000000..b16d99c660756c7cc3e7260f3ae33acf0e0881e5 GIT binary patch literal 64036 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 literal 0 HcmV?d00001 diff --git a/po/pt_BR/docs/okular/man-okular.1.docbook b/po/pt_BR/docs/okular/man-okular.1.docbook new file mode 100644 index 0000000..7f238fb --- /dev/null +++ b/po/pt_BR/docs/okular/man-okular.1.docbook @@ -0,0 +1,237 @@ + + +]> + + + + +Manual do usuário do Okular +YuriChornoivan Página de manual do Okular. yurchor@ukr.net +14/02/2019 +Okular 1.7 +KDE Applications + + + +okular +1 + + + +okular +um visualizador de documentos universal + + + +okular Opções do Okular URL + + + +Descrição +okular tem como objetivo mostrar documentos em vários formatos. + + + +Opções do Okular + + + + + +Abre um documento na página indicada. + + + + + + +Inicia o documento no modo de apresentação. + + + + + + +Inicia com a janela de impressão. + + + + + + +Inicia com a janela de impressão e sai após imprimir. + + + + + + +Controle de instância única. + + + + + + +Permite apresentar a janela do Okular a elevar-se após o início. + + + + + + +Localiza um termo de pesquisa no texto. + + + + + +Argumentos + + + + +Endereço do documento a ser aberto. Para PDF, pode ser indicado como nome_documento#nome_destino onde nome_destino é um nome de destino específico incorporado no documento. + + + + + +Sugestões +No IRC, irc.freenode.net #okular; através de e-mail, okular-devel@kde.org; ou na página Web, <http://okular.kde.org/> + + + +Veja também + +A documentação mais detalhada para o usuário está disponível em help:/okular (tanto poderá inserir esta URL no &konqueror;, como executar o comando khelpcenter help:/okular). +kf5options(7) +qt5options(7) +Existem mais informações disponíveis em http://okular.kde.org/ + + + +Direitos autorais +Direitos autorais © 2002, de Wilco Greven e Christophe Devriese +Direitos autorais © 2004-2005, de Enrico Ros +Direitos autorais © 2005, de Piotr Szymanski +Direitos autorais © 2004-2012, de Albert Astals Cid +Direitos autorais © 2006-2009, de Pino Toscano +Licença: GNU-GPL versão 2 <http://www.gnu.org/licenses/gpl-2.0.html> + + + diff --git a/po/pt_BR/docs/okular/presentation.png b/po/pt_BR/docs/okular/presentation.png new file mode 100644 index 0000000000000000000000000000000000000000..3ee537e8525de68e01cbdc27c15c19cccfa2f607 GIT binary patch literal 17528 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 KsS*j3kpBaU*kcI* literal 0 HcmV?d00001 diff --git a/po/pt_BR/docs/okular/signatures-bar.png b/po/pt_BR/docs/okular/signatures-bar.png new file mode 100644 index 0000000000000000000000000000000000000000..acd0fd45332be73af97c813dc8714b9c9f44ccbf GIT binary patch literal 5415 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πCQz^gjm&?VRp@rh=BP8g%mh44;>#L>!!1_*- zboNB$j=+a2|Acz!Pc2p!3fAEgYSec0CJ`^YYKni|t+DV@Gs7S$)tbK! z?8#Ci0Ao2Ixvyt(s{!mYiua2Ha zU3hFf7N>5_ySSXvOS^kI@<;xN@k?4_+@$RXK*~3Gvwr!95iCXBZ_v68{P)^ZcX6e*Nu-Sl32IhY5jeQtK3;g3EtH?Y7 zj-@Pcuzul$PDRgGzkH{<#=+o9v8kUsHmPYaJ{crCs^K6dqx?FBhO-rZnM|rp3Dow> z6DLAd1!0Xv67k=f_a{D^sCB&|N#3VpQS4t>ZOQA-x%@K6yW_a5Jl8$%CIY&|UxwL@ zW2pG&5AHX==*(-anbwB%{GJdpp7V151PTrX!*-h95Wj~5!{j(Ev6mQ%e;BrLX{YCg zj0kf!Xl6J}RYHmQ*MA%JF=23_&t>^RRQ0B}Uvs&_t!P9u^$AF{y+byoCEW!5^2~p* zaLF8qxQ*;%UL1adBSwRV0UGx%Ny~Eua+F`dB~;Es8cl6!YgFM_S?icvbS6|iG67-s z0u4n3L2 z+*T2133yP(HdS))u?>?S)y?{}3$yH#ze^1n7Uc zO~Aic(*Iuu=RY*+zgf~J8WkaZA~eH?ju@CCs5llZDe~FVFr1Ps??d`5G>*uIy$6#@ zuY#0I&(+Aq6Vc`K6&2HhQ5)fFn^EWk{S9(%(JX^})7C-Px&xdp;zl4C5Ft(^b?<+H avl+K)%+k7okNBtdGg&Dm$ue={fd2=G2eStN literal 0 HcmV?d00001 diff --git a/po/pt_BR/okular.po b/po/pt_BR/okular.po new file mode 100644 index 0000000..0ce4446 --- /dev/null +++ b/po/pt_BR/okular.po @@ -0,0 +1,6441 @@ +# Translation of okular.po to Brazilian Portuguese +# Copyright (C) 2002, 2003, 2004, 2005, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Free Software Foundation, Inc. +# This file is distributed under the same license as the okular package. +# +# Lisiane Sztoltz , 2002, 2003. +# Lisiane Sztoltz Teixeira , 2004. +# Lisiane Sztoltz Teixeira , 2004. +# Henrique Pinto , 2005. +# André Marcelo Alvarenga , 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2018, 2019, 2020. +# Luiz Fernando Ranghetti , 2009, 2010, 2012, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024. +# SPDX-FileCopyrightText: 2010, 2011, 2012, 2025 Marcus Vinícius de Andrade Gama +# Aracele Torres , 2010. +# SPDX-FileCopyrightText: 2024, 2025 Geraldo Simiao +# SPDX-FileCopyrightText: 2025 Guilherme Marçal Silva +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-11-16 02:26-0300\n" +"Last-Translator: Guilherme Marçal Silva \n" +"Language-Team: Brazilian Portuguese \n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Lokalize 25.08.3\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" +"Lisiane Sztoltz Teixeira, Henrique Pinto, André Marcelo Alvarenga, Luiz " +"Fernando Ranghetti, Geraldo Simião, Guilherme Marçal Silva" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" +"lisiane@kdemail.net, henrique.pinto@kdemail.net, alvarenga@kde.org, " +"elchevive@opensuse.org, geraldosimiao@fedoraproject.org, " +"guimarcalsilva@gmail.com" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Okular, um visualizador de documentos universal" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "Mantenedor anterior" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "" +"Diversos trabalhos na estrutura, infraestrutura para FictionBook e antiga " +"infraestrutura para ODT" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "Desenvolvedor" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymanski" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "Criou o Okular a partir do código-base do KPDF" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "Enrico Ros" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "Desenvolvedor do KPDF" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "Eugene Trounev" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "Arte gráfica das anotações" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "Jiri Baum - NICTA" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "Ferramenta de seleção de tabela" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "Fabio D'Urso" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "Melhorias nas anotações" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "Ir para a página %1" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "Abrir arquivo externo" + +#: core/action.cpp:197 +#, kde-format +msgid "Execute '%1'…" +msgstr "Executar '%1'…" + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "Primeira página" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "Página anterior" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "Próxima página" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "Última página" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "Voltar" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "Avançar" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Sair" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "Iniciar apresentação" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "Finalizar apresentação" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "Localizar…" + +#: core/action.cpp:314 +#, kde-format +msgid "Go To Page…" +msgstr "Ir para a página…" + +#: core/action.cpp:365 +#, kde-format +msgid "Play sound…" +msgstr "Reproduzir som…" + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "Script em JavaScript" + +#: core/action.cpp:483 +#, kde-format +msgid "Play movie…" +msgstr "Reproduzir filme…" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "Reproduzir o filme" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "Parar o filme" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "Pausar o filme" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "Continuar o filme" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "Este Okular foi compilado sem suporte a áudio" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "Seleção de infraestrutura" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
    %1 (%2).

    Please select which one to use:
    " +msgstr "" +"Foi encontrada mais que uma infraestrutura para o tipo MIME:
    %1 (%2).

    Selecione qual será usada:
    " + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "A maioria das páginas são %1." + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "Retrato %1" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "Paisagem %1" + +#: core/document.cpp:246 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 x %2 polegadas (%3)" + +#: core/document.cpp:248 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 x %2 milímetros (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "Continuando a pesquisa do início" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "Continuando a pesquisa do final" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "" +"Não foi possível encontrar um plugin para lidar com o documento indicado." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "Assinatura não implementada para este tipo de documento" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "remover anotações" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"O documento está tentando executar um aplicativo externo e, para sua " +"segurança, o Okular não permitiu esta operação." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "Nenhum aplicativo foi encontrado para abrir o arquivo do tipo MIME %1." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "Não foi possível abrir um arquivo temporário" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "A conversão da impressão falhou" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "O processo de extração falhou" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "Não foi possível iniciar o processo de impressão" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "A impressão para arquivo falhou" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "A impressora estava num estado inválido" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "Não foi possível encontrar o arquivo a imprimir" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "Não havia nenhum arquivo para imprimir" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"Não foi possível encontrar um binário de impressão adequado. Certifique-se " +"de que o executável lpr do CUPS está disponível" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "O tamanho de impressão da página não é válido" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "Não foi possível abrir o '%1'. O arquivo não existe" + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Título" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Assunto" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Descrição" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "Autor" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Criador" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Produtor" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "Direitos autorais" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "Páginas" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Criado" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Modificado" + +#: core/document.cpp:6032 +#, kde-format +msgid "MIME Type" +msgstr "Tipo MIME" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "Categoria" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Palavras-chave" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "Caminho do arquivo" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "Tamanho do arquivo" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "Tamanho da página" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "adicionar anotação" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "remover anotação" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "modificar as propriedades da anotação" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "traduzir a anotação" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "ajustar anotação" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "editar texto" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "editar o conteúdo da anotação" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "editar o conteúdo do formulário" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "editar as escolhas da lista" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "editar a seleção da lista do formulário" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "editar os estados do botão" + +#: core/generator.cpp:790 +#, kde-format +msgid "Plain &Text…" +msgstr "&Texto sem formatação…" + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "Texto OpenDocument" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "Opções de impressão" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "Ajustar à área impressa" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "Ajustar à página completa" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "Modo de escala:" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "Não mostrar esta mensagem novamente" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "Não disponível" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" +"Erro de assinatura interno. Relate o bug com os passos para reproduzi-lo. " +"Código de erro %1" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "Não foi possível assinar o documento: %1" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "Assinatura cancelada pelo usuário" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "Não foi possível assinar. A frase secreta está incorreta" + +#: core/signatureutils.cpp:504 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" +"Não foi possível escrever o documento assinado em %1, " +"certifique-se de ter selecionado uma pasta com permissão de escrita" + +#: core/signatureutils.cpp:506 +#, kde-format +msgid "Unknown signing error" +msgstr "Erro desconhecido ao assinar" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Código: %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "Fonte pa&drão:" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "Versão" + +#: gui/certificatemodel.cpp:41 +#, kde-format +msgid "Serial Number" +msgstr "Número de série" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "Emissor" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "Emitido em" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "Expira em" + +# Não traduzir como "Assunto". (Alvarenga) +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Requerente" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "Chave pública" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "Uso de chave" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "V%1" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "%1 (%2 bits)" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "Propriedade" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "Valor" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "Nota instantânea" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "Máquina de escrever" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "Nota integrada" + +#: gui/guiutils.cpp:56 +#, kde-format +msgid "Arrow with Comment" +msgstr "Seta com comentário" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "Seta" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "Linha reta com comentário" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "Linha reta" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "Polígono com comentário" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "Polígono" + +#: gui/guiutils.cpp:71 +#, kde-format +msgid "Rectangle with Comment" +msgstr "Retângulo com comentário" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "Retângulo" + +#: gui/guiutils.cpp:74 +#, kde-format +msgid "Ellipse with Comment" +msgstr "Elipse com comentário" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "Elipse" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "Realce com comentário" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "Realce" + +#: gui/guiutils.cpp:87 +#, kde-format +msgid "Squiggle with Comment" +msgstr "Linhas onduladas com comentário" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "Linha ondulada" + +#: gui/guiutils.cpp:91 +#, kde-format +msgid "Underline with Comment" +msgstr "Sublinhado com comentário" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "Sublinhado" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out with Comment" +msgstr "Tachado com comentário" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "Tachado" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "Carimbo com comentário" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "Carimbo" + +#: gui/guiutils.cpp:106 +#, kde-format +msgid "Freehand Line with Comment" +msgstr "Linha livre com comentário" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "Linha livre" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "Marcador" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "Anexo do arquivo" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "Som" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "Filme" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Tela" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "Componente" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "Rich Media" + +#: gui/guiutils.cpp:144 +#, kde-format +msgid "Annotation" +msgstr "Anotação" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "Desconhecido" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Autor: %1" + +# A palavra arquivo foi inserida para string mais clara. (Alvarenga) +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "Onde gostaria de salvar o arquivo %1?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "" +"Não foi possível abrir o \"%1\" para gravação. O arquivo não foi salvo." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "A assinatura é criptograficamente válida." + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "A assinatura é criptograficamente inválida." + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "Ocorreu uma incompatibilidade no digest." + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "A estrutura da assinatura CMS/PKCS7 está malformada." + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "A assinatura solicitada não está presente no documento." + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "A assinatura não pôde ser verificada." + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "O certificado é confiável." + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "O emissor do certificado não é confiável." + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "O emissor do certificado não é conhecido." + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "O certificado foi revogado." + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "O certificado expirou." + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "O certificado ainda não foi verificado." + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "Validação do certificado em andamento" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "Problema desconhecido com o certificado ou dados corrompidos." + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "MD2" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "MD5" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "SHA1" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "SHA256" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "SHA384" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "SHA512" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "SHA224" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "Algoritmo desconhecido" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "RSA" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "DSA" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "EC" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "Tipo desconhecido" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "Assinatura digital" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "Não-recusa" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "Criptografar chaves" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "Descriptografar chaves" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "Acordo de chaves" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "Assinar certificado" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "Assinar CRL" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "Somente criptografar" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "Sem uso especificado" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr ", " + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "O documento não foi modificado desde que foi assinado." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" +"A revisão do documento que foi coberto por esta assinatura não foi " +"modificada;\n" +"No entanto, houve alterações posteriores no documento." + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" +"O documento foi modificado de uma forma não permitida pelo signatário " +"anterior." + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "A verificação da integridade do documento não pôde ser concluída." + +#: gui/signatureguiutils.cpp:208 +#, kde-format +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "Este documento contém campos de assinatura." + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "Este documento está assinado digitalmente." + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "" +"Este documento está assinado digitalmente. Houve alterações desde a última " +"assinatura." + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" +"Este documento está assinado digitalmente. Algumas das assinaturas não " +"puderam ser validadas corretamente." + +#: gui/signaturemodel.cpp:141 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "Campo de assinatura %1" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "Campo: %1 na página %2" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "Rev. %1: Assinado por %2" + +# %1 - mostra data/hora de assinatura. (Alvarenga) +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "Assinado em: %1" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "Motivo: %1" + +#: gui/signaturemodel.cpp:177 +#, kde-format +msgid "Location: %1" +msgstr "Localização: %1" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "Assinatura PGP" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "Adobe PKCS7" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "Adobe PKCS7 Sha1" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "ETSI CAdES" + +#: gui/signaturemodel.cpp:193 +#, kde-format +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "Desconhecido" + +#: gui/signaturemodel.cpp:195 +#, kde-format +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "Campo de assinatura" + +#: gui/signaturemodel.cpp:201 +#, kde-format +msgid "Signature Type: %1" +msgstr "Tipo da assinatura: %1" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "Vermelho" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "Laranja" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "Amarelo" + +#: part/annotationactionhandler.cpp:151 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "Verde" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "Ciano" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "Azul" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "Magenta" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "Branco" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "Cinza" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "Preto" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "Largura %1" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1%" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "Largura da linha de anotação (nenhuma anotação selecionada)" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "Cor da anotação (nenhuma anotação selecionada)" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "Cor de preenchimento da anotação (nenhuma anotação selecionada)" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "Opacidade da anotação (nenhuma anotação selecionada)" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "Fonte da anotação (nenhuma anotação selecionada)" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" +"Adicionar a anotação atual ao menu de anotações rápidas (nenhuma anotação " +"selecionada)" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" +"Restringir a proporção da forma para 1:1 ou o ângulo da linha em passos de " +"15° (nenhuma anotação selecionada)" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" +"Configurações avançadas para a ferramenta de anotação atual (nenhuma " +"anotação selecionada)" + +#: part/annotationactionhandler.cpp:308 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Largura da linha de anotação" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "" +"Largura da linha de anotação (a anotação atual não tem largura de linha)" + +#: part/annotationactionhandler.cpp:314 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Cor do texto da anotação" + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "Cor da borda da anotação" + +#: part/annotationactionhandler.cpp:318 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Cor da anotação" + +#: part/annotationactionhandler.cpp:322 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Cor de preenchimento da anotação" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "" +"Cor de preenchimento da anotação (a anotação atual não tem cor de " +"preenchimento)" + +#: part/annotationactionhandler.cpp:328 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "Fonte da anotação" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "Fonte da anotação (a anotação atual não tem fonte)" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "Restringir o ângulo da linha em passos de 15°" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "Restringir a proporção da forma para 1:1" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" +"Restringir a proporção da forma para 1:1 ou o ângulo da linha em passos de " +"15° (não suportado pela anotação atual)" + +#: part/annotationactionhandler.cpp:341 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Opacidade da anotação" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "Adicionar a anotação atual ao menu de anotações rápidas" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "Configurações avançadas para a ferramenta de anotação atual" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "Cor" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "Cor de preenchimento" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "Transparente" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "Cor personalizada…" + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "Selecionar cor" + +#: part/annotationactionhandler.cpp:552 +#, kde-format +msgid "&Annotations" +msgstr "&Anotações" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "Ocultar" + +#: part/annotationactionhandler.cpp:554 +#, kde-format +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Mostrar mais ferramentas de anotação" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "Realçador" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "Sublinhado" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "Linha ondulada" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "Tachado" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Máquina de escrever" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "Nota integrada" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "Nota instantânea" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "Linha livre" + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "Linha reta" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "Seta" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "Retângulo" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "Elipse" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "Polígono" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "Formas geométricas" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "Carimbo" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Anotações rápidas" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "Escolha uma ferramenta de anotação das anotações rápidas" + +#: part/annotationactionhandler.cpp:651 +#, kde-format +msgid "Quick Annotation Bar" +msgstr "Barra de anotações rápidas" + +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "Adicionar às anotações rápidas" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "Manter ativo" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "Manter a ferramenta de anotação ativa após o uso" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "Restringir proporção e ângulo das ferramentas de anotação" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "Fonte" + +#: part/annotationactionhandler.cpp:681 +#, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Configurações da anotação" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "Largura da linha" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "Opacidade" + +#: part/annotationactionhandler.cpp:696 +#, kde-format +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1%" + +#: part/annotationmodel.cpp:320 +#, kde-format +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "Página %1 (%2)" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "Página %1" + +#: part/annotationpopup.cpp:85 +#, kde-format +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "Anotação" +msgstr[1] "%1 anotações" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "&Abrir a nota instantânea" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Remover favorito" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Adicionar favorito" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, kde-format +msgid "Copy Text to Clipboard" +msgstr "Copiar texto para a área de transferência" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "Cópia proibida pela DRM" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "&Excluir" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "&Propriedades" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, kde-format +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "&Salvar '%1'…" + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "&Aparência" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "&Geral" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&Autor:" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "Criada:" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "Modificada:" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "Propriedades da nota instantânea" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "Propriedades da máquina de escrever" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "Propriedades da nota integrada" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "Propriedades da linha reta" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "Propriedades do polígono" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "Propriedades da geometria" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "Propriedades da marcação de texto" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "Propriedades do carimbo" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "Propriedades da linha livre" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "Propriedades do marcador" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "Propriedades do arquivo anexado" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "Propriedades do som" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "Propriedades do filme" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "Propriedades da anotação" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "Selecione um arquivo com símbolo de carimbo personalizado" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "Selecionar símbolo de carimbo personalizado" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" +"*.ico *.png *.xpm *.svg *.svgz | Arquivos de ícones (*.ico *.png *.xpm *.svg " +"*.svgz)" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "Não foi possível carregar o arquivo %1" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "Arquivo inválido" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&Cor:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, kde-format +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%v%" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "&Opacidade:" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "Ícone:" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "Comentário" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "Ajuda" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "Inserir" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "Tecla" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "Novo parágrafo" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "Nota" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "Parágrafo" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Fonte:" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "&Cor do texto:" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "&Alinhamento:" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "Esquerda" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "Centro" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "Direita" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "Lar&gura da borda:" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "Aprovado" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "Como é" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "Confidencial" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "Departamental" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "Rascunho" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "Experimental" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "Expirado" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "Final" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "Para comentário" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "Para lançamento público" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "Reprovado" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "Para uso interno" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "Esgotado" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "Altamente secreto" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "Favoritos" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "Informações" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "Símbolo do carimbo:" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "&Largura:" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "Início da linha:" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "Fim de linha:" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "Quadrado" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "Círculo" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "Losango" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "Seta aberta" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "Seta fechada" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "Nenhum" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "Ponta" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "Seta aberta direita" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "Seta fechada direita" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "Barra" + +#: part/annotationwidgets.cpp:531 +#, kde-format +msgid "Leader line length:" +msgstr "Comprimento da linha principal:" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "Comprimento das extensões da linha principal:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "Habilitado" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "Forma de preenchimento:" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Tipo:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "Tachado" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "Símbolo de anexo no arquivo:" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "Gráfico" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "Alfinete" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "Clipe de papel" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "Marca" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "Arquivo" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "N/D" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "Nenhuma descrição disponível." + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "Nome:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "Descrição:" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "Símbolo do marcador:" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "Nenhum" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "Fechar esta nota" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "Opções" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"Esta anotação pode conter código em LaTeX.\n" +"Clique aqui para renderizá-la." + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "Não foi possível encontrar o executável 'latex'." + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "Erro na renderização do LaTeX" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "Não foi possível encontrar o executável 'dvipng'." + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "Ocorreu um problema durante a execução do comando 'latex'." + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "Ocorreu um problema durante a execução do comando 'dvipng'." + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"Um favorito" +msgstr[1] "" +"%1\n" +"\n" +"%2 favoritos" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Favoritos" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "Mostrar para todos os documentos" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, kde-format +msgid "Search…" +msgstr "Pesquisar…" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, kde-format +msgid "Expand All" +msgstr "Expandir tudo" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, kde-format +msgid "Collapse All" +msgstr "Recolher tudo" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "Ir para este favorito" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "Renomear favorito" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Abrir documento" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "Remover todos os favoritos deste documento" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "Visualizador de certificado" + +#: part/certificateviewer.cpp:50 +#, kde-format +msgid "Export…" +msgstr "Exportar…" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "Geral" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "Emitido por" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "Nome comum (NC)" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "E-mail" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "Organização (O)" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "Emitido para" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "Validade" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "Impressões digitais" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "Impressão digital SHA-1" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "Impressão digital SHA-256" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "Detalhes" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "Dados do certificado:" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "Onde gostaria de salvar este certificado?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "Arquivo de certificado (*.cer)" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "Não foi possível exportar o certificado" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "Modo de &cor:" + +#: part/colormodemenu.cpp:21 +#, kde-format +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "Alterar cores" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "Cores &normais" + +#: part/colormodemenu.cpp:41 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "&Inverter cores" + +#: part/colormodemenu.cpp:42 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "Alterar cor do &papel" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "Alterar cores claras e &escuras" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "Converter para preto e &branco" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "Inverter &luminosidade" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "Inverter l&uma (sRGB linear)" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "Inverter luma (&simétrico)" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "Desvio p&ositivo da matiz" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "Desvio n&egativo da matiz" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "Vermelho" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "Verde" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "Azul" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "Amarelo" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "Preto" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "Branco" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "Realçador amarelo" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "Realçador verde" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "Inserir texto" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "Desenhar bordas ao redor dos links" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "Alterar cores" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "Aviso: Estas opções podem prejudicar o desempenho." + +#: part/dlgaccessibility.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "Inverter cores" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "Alterar a cor do papel" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "Alterar as cores claras e escuras" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "Converter para preto e branco" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "Inverter luminosidade" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "Inverter luma (sRGB linear)" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "Inverter luma (simétrico)" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "Desvio positivo da matiz" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "Desvio negativo da matiz" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "Modo de cores:" + +#: part/dlgaccessibility.cpp:87 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Cor do papel:" + +#: part/dlgaccessibility.cpp:99 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Cor escura:" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "Cor clara:" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "Limiar:" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Contraste:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "Mecanismo sintetizador de voz:" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "Voz do sintetizador de voz:" + +#: part/dlgannotations.cpp:25 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Barra de anotações completa" + +#: part/dlgannotations.cpp:26 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Barra de anotações rápida" + +#: part/dlgannotations.cpp:28 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Barra de anotação:" + +#: part/dlgannotations.cpp:34 +#, kde-format +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "Autor:" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"Observação: Esta informação é usada apenas para as anotações. Ela " +"será gravada em documentos que possuem anotações e transmitida junto com o " +"documento." + +#: part/dlgannotations.cpp:48 +#, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

    Quick Annotation Tools

    " +msgstr "

    Ferramentas de anotação rápida

    " + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" +"Escolha o editor que deseja executar, quando o Okular quiser abrir um " +"arquivo fonte." + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "Editor de textos personalizado" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Cliente do Emacs" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "Cliente do Lyx" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "TeXstudio" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "TeXiFy IDEA" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "Editor:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
    \n" +"You can also put few placeholders:\n" +"
      \n" +"
    • %f - the file name
    • \n" +"
    • %l - the line of the file to be reached
    • \n" +"
    • %c - the column of the file to be reached
    • \n" +"
    \n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"Defina o comando para execução do editor de textos personalizado.
    \n" +"Você também pode usar algumas opções reservadas:\n" +"
      \n" +"
    • %f - o nome do arquivo
    • \n" +"
    • %l - a linha do arquivo a ser acessada
    • \n" +"
    • %c - a coluna do arquivo a ser acessada
    • \n" +"
    \n" +"Se não for incluído o %f, o nome do arquivo será adicionado ao comando " +"definido." + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "Comando:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "Usar rolagem suave" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "Aparência:" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "Mostrar barras de rolagem" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "Manter miniaturas em sincronia com a página" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "Mostrar dicas e mensagens informativas" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "Notificar sobre arquivos, formulários ou assinaturas incorporados" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "Exibir o título do documento na barra de título, se disponível" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "Exibir apenas o nome do arquivo" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "Exibir a localização completa do arquivo" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "Quando não exibir o título do documento:" + +#: part/dlggeneral.cpp:92 +#, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "Usar cor do plano de fundo personalizada:" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "Recursos do programa:" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "Abrir novos arquivos em abas" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "Alternar para a aba existente se o arquivo já estiver aberto" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "Obedecer limitações do DRM" + +#: part/dlggeneral.cpp:148 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "Recarregar documento se o arquivo for alterado" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "Mostrar diálogo de seleção de infraestrutura" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "Direção de leitura da direita para a esquerda" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" +"Use as informações do arquivo para determinar se deve abrir no modo contínuo " +"por padrão" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" +"Para arquivos sem informações de arquivo, abrir em modo contínuo por padrão" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "Abrir no modo contínuo por padrão" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" +"Quando usar a ferramenta de navegação, envolva o cursor nas bordas da tela" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "Itens no histórico recente:" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "Colunas da visão geral:" + +#: part/dlggeneral.cpp:220 +#, kde-format +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%v%" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" +"Define quanto da área de visualização atual ficará visível ao pressionar as " +"teclas Page Up e Page Down." + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "Sobreposição do &Page Up/Down:" + +#: part/dlggeneral.cpp:228 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%v%" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "100%" + +#: part/dlggeneral.cpp:233 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "Ajustar à largura" + +#: part/dlggeneral.cpp:234 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "Ajustar à página" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "Ajuste automático" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "Personalizado" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" +"Define o modo de zoom padrão para arquivos que nunca foram abertos antes. " +"Para arquivos que foram abertos antes do zoom anterior ser aplicado." + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "Zoom padrão:" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "Habilitar efeitos de transparência" + +#: part/dlgperformance.cpp:28 +#, kde-format +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "Uso da CPU:" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "Baixo" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "Normal (padrão)" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "Agressivo" + +#: part/dlgperformance.cpp:38 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "Insaciável" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "Uso de memória:" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "Habilitar a suavização do texto" + +#: part/dlgperformance.cpp:56 +#, kde-format +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "Opções de renderização:" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "Habilitar a suavização dos gráficos" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "Habilitar as sugestões de texto" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "Usa o mínimo de memória possível. (Para sistemas com pouca memória.)" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"Boa velocidade e uso moderado da memória. Antecipa o carregamento da próxima " +"página e melhora a velocidade das pesquisas. (Para sistemas com pelo menos " +"2GB de memória.)" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"Mantém tudo na memória. Antecipa o carregamento das próximas páginas e " +"melhora a velocidade das pesquisas. (Para sistemas com mais de 4GB de " +"memória.)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" +"Carrega previamente todas as páginas e mantém tudo na memória. (Irá usar no " +"máximo 50% da memória livre ou total, o que for maior.)" + +#: part/dlgpresentation.cpp:38 +#, kde-format +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] "a cada %v segundo" +msgstr[1] "a cada %v segundos" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "Avançar automaticamente:" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "Repetir após a última página" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "Toque no lado esquerdo/direito para voltar/avançar" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "Toque em qualquer lugar para avançar" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "Desabilitado" + +#: part/dlgpresentation.cpp:63 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Navegação por toque:" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "Cor do plano de fundo:" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "Oculto após um atraso" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "Sempre visível" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "Sempre oculto" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "Cursor do mouse:" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "Mostrar indicador de progresso" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "Mostrar página de resumo" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "Instantânea (nunca usar animações)" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "Substituir" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "Transição aleatória" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "Cortina vertical" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "Cortina horizontal" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "Caixa para dentro" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "Caixa para fora" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "Dissolver" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "Esmaecer" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "Brilho caindo" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "Brilho à direita" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "Brilho caindo à direita" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "Dividir na horizontal para dentro" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "Dividir na horizontal para fora" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "Dividir na vertical para dentro" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "Dividir na vertical para fora" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "Varrer para baixo" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "Varrer à direita" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "Varrer à esquerda" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "Varrer para cima" + +#: part/dlgpresentation.cpp:121 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Transição padrão:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "Tela preferida:" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

    Drawing Tools

    " +msgstr "

    Ferramentas de desenho

    " + +#: part/dlgpresentation.cpp:171 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Tela atual" + +#: part/dlgpresentation.cpp:172 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Tela padrão" + +#: part/dlgpresentation.cpp:178 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "Tela %1 (%2 %3 %4)" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "Tela %1 (desconectada)" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "Ferramenta de desenho: %1" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "Borracha" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "&Nome:" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "&Tipo:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "Aparência" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "Marcação de texto" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "Forma geométrica" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "Ferramenta de criação de anotação" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "Ferramenta de edição de anotação" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "Cor:" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "Largura da caneta:" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "%v px" + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "Ferramenta de criar desenho" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "Ferramenta de editar desenho" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "Desconhecida" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Arquivos incorporados" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "Exibir" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "Nome" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "Descrição" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "Tamanho" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "Criado" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "Modificado" + +#: part/embeddedfilesdialog.cpp:154 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "&Salvar como…" + +#: part/embeddedfilesdialog.cpp:155 +#, kde-format +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "E&xibir…" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "Não foi possível carregar o componente de visualização de impressão" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "Visualizar impressão" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "Fechar" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "Local&izar:" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "Texto a pesquisar" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Próxima" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "Ir para a próxima ocorrência" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Anterior" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "Ir para a ocorrência anterior" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "Modificar o comportamento da pesquisa" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "Diferenciar maiúsculas de minúsculas" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "A partir da página atual" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "Encontrar enquanto digitar" + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "Todos os arquivos (*)" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "Campo de assinatura (clique para assinar)" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "&Assinar…" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "Propriedades da assinatura" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "Opções de pesquisa" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "Diferenciar maiúsculas de minúsculas" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "Expressão regular" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "Camadas" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "de" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "Zoom" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "Ampliar para 100%" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "Girar à &direita" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "Direita" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "Girar à &esquerda" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "Esquerda" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "Orientação original" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "Recor&tar a visualização" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "Recor&tar as margens" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "Recortar à &seleção" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "A&justar à largura" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "Ajustar à &página" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "&Ajuste automático" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "Ajustar ja&nela à página" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "Modo de e&xibição" + +#: part/pageview.cpp:594 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "Página &única" + +#: part/pageview.cpp:595 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "Páginas &opostas" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "Páginas opostas (¢ralizar a primeira página)" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "&Visão geral" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "&Contínuo" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "Usar direção de leitura da direita para a esquerda" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "&Navegar" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "&Zoom" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "&Seleção de área" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "Seleção de &texto" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "Seleção de t&abela" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "&Lupa" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "Ferramentas de seleção" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "A&ssinar digitalmente…" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "Falar o documento inteiro" + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "Falar a partir da página atual" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "Falar a página atual" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "Parar de falar" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "Pausar/Continuar a fala" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "Rolar para cima" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Rolar para baixo" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "Rolar uma página acima" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "Rolar uma página abaixo" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "Mostrar formulários" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] " Foi carregado um documento com uma página." +msgstr[1] " Foi carregado um documento com %1 páginas." + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "Copiar conteúdo da tabela para a área de transferência" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "Texto (1 caractere)" +msgstr[1] "Texto (%1 caracteres)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "Copiar para a área de transferência" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "Falar o texto" + +#: part/pageview.cpp:2863 +#, kde-format +msgid "Image (%1 × %2 pixels)" +msgstr "Imagem (%1 x %2 pixels)" + +#: part/pageview.cpp:2865 +#, kde-format +msgid "Save to File…" +msgstr "Salvar para arquivo…" + +#: part/pageview.cpp:2885 +#, kde-format +msgid "Image [%1 × %2] copied to clipboard." +msgstr "A imagem [%1 × %2] foi copiada para a área de transferência." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "Salvar arquivo" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "Imagens (*.png *.jpeg)" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "O arquivo não foi salvo." + +#: part/pageview.cpp:2901 +#, kde-format +msgid "Image [%1 × %2] saved to %3 file." +msgstr "A imagem [%1 × %2] foi salva no arquivo %3." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "Copiar o texto" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "Ir para '%1'" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "Ajustar à largura" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "Ajustar à página" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "Ajuste automático" + +#: part/pageview.cpp:4107 +#, kde-format +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1%" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "Pesquisar por '%1' com" + +#: part/pageview.cpp:4404 +#, kde-format +msgid "Configure Web Shortcuts…" +msgstr "Configurar os atalhos da Web…" + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "Seguir este link" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "Reproduzir este som" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "Parar o som" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "Copiar endereço do link" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "Pesquisar por '%1' neste documento" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Bem-vindo" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "" +"Selecione a área de zoom. Clique com o botão direito do mouse para reduzir." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "Clique para ver a exibição ampliada." + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "Desenhe um retângulo ao redor do texto/imagem para copiar." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "Selecione o texto" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" +"Desenhe um retângulo ao redor da tabela, depois clique perto das bordas para " +"dividi-las. Pressione Esc para limpar." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" +"Todos os seus certificados de assinatura são inválidos. Caso a assinatura " +"tenha funcionado antes, verifique as datas de validade." + +#: part/pageview.cpp:5188 +#, kde-format +msgid "No valid certificates" +msgstr "Nenhum certificado válido" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, kde-format +msgid "Open Certificate Manager" +msgstr "Abrir gerenciador de certificados" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
    Launch Certificate Manager " +"to import or manage certificates
    For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" +"Não há certificados de assinatura disponíveis.
    Inicie o gerenciador de " +"certificados para importar ou gerenciar certificados
    Para mais " +"informações, veja a seção sobre Adicionando assinaturas " +"digitais no manual." + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, kde-format +msgid "No certificates found" +msgstr "Nenhum certificado encontrado" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
    For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" +"Não há certificados de assinatura disponíveis.
    Para mais informações, " +"veja a seção sobre Adicionando assinaturas digitais no " +"manual." + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "Você tem alterações não salvas. Salve o documento antes de assina-lo." + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "Desenhe um retângulo para inserir o campo da assinatura" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "" +"Desenhe um retângulo ao redor da área da página que deseja manter visível" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "Nova nota de texto" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "Texto da nova nota:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Assinado por: %1\n" +"\n" +"Data: %2" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" +"Uma assinatura deste tamanho pode ser muito pequena para ler. Se você " +"gostaria de criar uma assinatura possivelmente mais legível, pressione " +"Recomeçar e desenhe um retângulo maior." + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "Recomeçar" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "Assinar" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name" +msgstr "Nome do autor" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name for the annotation:" +msgstr "Nome do autor para a anotação:" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "Desenhar uma elipse (arraste para selecionar a área)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "Realçar o texto" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "Desenhar uma linha livre" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "Anotação de texto integrada (arraste para selecionar a área)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "Colocar uma nota instantânea" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "Desenhar um polígono (clique no primeiro ponto para fechá-lo)" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "Desenha um retângulo" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "Texto com linhas onduladas" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "Colocar um símbolo de carimbo" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "Desenhar uma linha reta" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "Tachar o texto" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "Sublinhar o texto" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "Anotação de máquina de escrever (arraste para selecionar a área)" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "Realce" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "Adicionar anotação aos Favoritos" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Custom annotation name:" +msgstr "Nome personalizado da anotação:" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&Arquivo" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "&Configurações" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "Aj&uda" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "&Orientação" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "&Favoritos" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "Barra de ferramentas de visualização" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Miniaturas" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "Anotações" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
    Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" +"Este documento contém anotações ou dados de formulários que foram salvos " +"internamente por uma versão anterior do Okular. O armazenamento interno " +"não é mais suportado.
    Salve em um arquivo de forma a movê-los, " +"caso queira continuar a edição do documento." + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"Este documento possui arquivos incorporados. Clique aqui para visualizá-los ou vá para Arquivo -> Arquivos " +"incorporados." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" +"Assinatura em andamento. Você pode ajustar a posição e o tamanho da " +"assinatura" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "Terminar de assinar" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "Anterior" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "Voltar para a página anterior" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "Move para a página anterior do documento" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "Próxima" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "Avançar para a próxima página" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "Move para a próxima página do documento" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "Início do documento" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "Vai para o início do documento" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "Fim do documento" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "Vai para o fim do documento" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "Renomear o favorito atual" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "Favorito anterior" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "Ir para o favorito anterior" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "Próximo favorito" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "Ir para o próximo favorito" + +#: part/part.cpp:748 +#, kde-format +msgid "Configure Okular…" +msgstr "Configurar o Okular…" + +#: part/part.cpp:751 +#, kde-format +msgid "Configure Viewer…" +msgstr "Configurar visualizador…" + +#: part/part.cpp:757 +#, kde-format +msgid "Configure Viewer Backends…" +msgstr "Configurar infraestruturas do visualizador…" + +#: part/part.cpp:759 +#, kde-format +msgid "Configure Backends…" +msgstr "Configurar infraestruturas…" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "Sobre a infraestrutura" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "Recarre&gar" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "Recarregar o documento atual do disco." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "Fechar a &barra de localização" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "Número da página" + +#: part/part.cpp:817 +#, kde-format +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "Configurar modo de cor…" + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "Selecionar todo o texto na página atual" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "Mostrar barra &lateral" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "Mostrar barra de &páginas" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "Mostrar painel de a&ssinaturas" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "&Arquivos incorporados" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "E&xportar como" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "Compartil&har" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "Ap&resentação" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "Abrir pas&ta do arquivo" + +#: part/part.cpp:945 +#, kde-format +msgid "&Import PostScript as PDF…" +msgstr "&Importar PostScript como PDF…" + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "Alternar para modo de tela preta" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "Apagar desenho" + +#: part/part.cpp:962 +#, kde-format +msgid "Configure Annotations…" +msgstr "Configurar anotações…" + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "Reproduzir/Pausar a apresentação" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" +"Você acabou de modificar o documento aberto, mas este tipo de documento não " +"pode ser salvo.\n" +"Qualquer modificação será perdida quando o Okular for fechado." + +#: part/part.cpp:1123 +#, kde-format +msgid "Document can't be saved" +msgstr "O documento não pode ser salvo" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "Não foi possível abrir '%1' (%2)" + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "O carregamento de %1 foi cancelado." + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "Não foi possível abrir o %1. Motivo: %2" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "Configurar infraestruturas do visualizador" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "Configurar infraestruturas" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"O programa \"ps2pdf\" não foi encontrado. Por isto, o Okular não pode usá-lo " +"para importar arquivos PS." + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "O ps2pdf não foi encontrado" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "Arquivos PostScript (%1)" + +#: part/part.cpp:1357 +#, kde-format +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "Importando arquivo PS como PDF (isto pode levar algum tempo)…" + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "Digite a senha para ler o documento:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "Senha incorreta. Tente novamente:" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "Senha do documento" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" +"Este documento possui formulários XFA, que no momento não têm suporte." + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"Este documento possui formulários. Clique no botão para interagir com eles, " +"ou use Exibir -> Mostrar formulários." + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" +"Todas as edições e recursos interativos deste documento estão desabilitados. " +"Salve uma cópia e reabra-o para editar." + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" +"Este documento pretende ser mostrado em tela cheia.\n" +"Deseja sair do modo normal e entrar no modo de apresentação?" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "Pedido para mudar o modo de exibição" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "Entrar do modo de apresentação" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "Negar o pedido" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "Não foi possível abrir %1. %2" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" +"O arquivo %1 tem alterações não salvas e foi modificado " +"por outro programa. Recarregá-lo irá substituir as alterações não salvas com " +"as alterações feitas em outro programa.Deseja continuar " +"recarregando o arquivo?" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "Arquivo modificado" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "Continuar a recarregar" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "Cancelar o carregamento" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" +"O arquivo %1 tem alterações não salvas e foi modificado " +"por outro programa. Fechá-lo irá substituir as alterações não salvas com as " +"alterações feitas em outro programa.Deseja continuar fechando o " +"arquivo?" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "Continuar o fechamento" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "Cancelar o fechamento" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "Deseja salvar suas alterações em \"%1\" ou descartá-las?" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "Fechar documento" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"Este link aponta para uma ação que não funciona quando estiver usando o " +"visualizador incorporado." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"Este link aponta para uma ação de saída do aplicativo que não funciona " +"quando estiver usando visualizador incorporado." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, kde-format +msgid "Reloading the document…" +msgstr "Recarregando o documento…" + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "Conteúdo" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "Assinaturas" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Ir para a página" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "&Página:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "Digitar o novo nome do favorito:" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "Renomear este favorito" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "Remover este favorito" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "Salvar como" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" +"Você escolheu salvar um arquivo do Okular sem o nome do arquivo terminar com " +"a extensão '%1'. Isto não é permitido, deseja escolher um novo nome?" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "Extensão não suportada" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "Escolher novo nome" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" +"O arquivo %1 foi modificado por outro programa. Se você " +"salvá-lo agora, qualquer alteração feita em outro programa está perdida. Tem " +"certeza de que deseja continuar?" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "Salvar - Aviso" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "Salvar uma cópia em outro lugar" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
    In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" +"O documento atual está protegido com uma senha.
    Para poder salvá-lo, o " +"arquivo precisa ser recarregado. Será solicitada a senha novamente e o seu " +"histórico para desfazer/refazer será perdido.
    Deseja continuar?" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "Não foi possível abrir o arquivo temporário para salvá-lo." + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" +"Não foi possível sobrescrever %1 porque o arquivo é " +"somente leitura. Tente salvar em outro local ou altere as permissões do " +"arquivo." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" +"Depois de salvar, o formato do documento atual exige que o arquivo seja " +"recarregado. O seu histórico para desfazer/refazer será perdido.
    Deseja " +"continuar?" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "O arquivo não pôde ser salvo em '%1'. Tente salvá-lo em outro local." + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "Conteúdo do formulário preenchido" + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "Anotações do usuário" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" +"Você está prestes a salvar as alterações, mas o formato do arquivo atual não " +"tem suporte à gravação dos seguintes elementos. Use o formato Arquivo de " +"documento do Okular para os mantê-los." + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "Aviso" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "Salvar como arquivo de documento do Okular…" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" +"Você está prestes a salvar as alterações, mas o formato do arquivo atual não " +"tem suporte à gravação dos seguintes elementos. Use o formato Arquivo de " +"documento do Okular para os mantê-los. Clique em Continuar para " +"salvar o documento e descartar estes elementos." + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" +"Você está prestes a salvar as alterações, mas o formato do arquivo atual não " +"tem suporte à gravação dos seguintes elementos. Use o formato Arquivo de " +"documento do Okular para os mantê-los. Clique em Continuar para " +"salvar, mas você irá perder estes elementos bem como o histórico de desfazer/" +"refazer." + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "Continuar" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "Continuar perdendo alterações" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "O arquivo não pôde ser salvo em '%1'. %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"O Okular não pode copiar o %1 para o local indicado.\n" +"\n" +"O documento não existe mais." + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" +"O arquivo não pôde ser salvo em '%1'. Erro: '%2'. Tente salvá-lo em outro " +"local." + +#: part/part.cpp:3158 +#, kde-format +msgid "Expand Whole Section" +msgstr "Expandir seção inteira" + +#: part/part.cpp:3159 +#, kde-format +msgid "Collapse Whole Section" +msgstr "Recolher seção inteira" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "Sincronizar miniatura com a página" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Ferramentas" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "Falar" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "Imprimir" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "Não é permitido imprimir este documento." + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"Não foi possível imprimir o documento. Erro desconhecido. Relate o problema " +"em http://bugs.kde.org" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"Não foi possível imprimir o documento. O erro detalhado foi \"%1\". Por " +"favor, relate o problema em http://bugs.kde.org" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "Ir para o local onde estava antes" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "Ir para o local de onde esteve depois (avança)" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"Erro no arquivo! Não é possível criar o arquivo " +"temporário %1." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"Erro no arquivo! Não é possível abrir o arquivo " +"%1 para descompactação. O arquivo não será " +"carregado." + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"Este erro ocorre tipicamente se não tiver permissões suficientes para " +"ler o arquivo. Você pode verificar as propriedades e permissões clicando com " +"o botão direito do mouse no gerenciador de arquivos Dolphin, escolher opção " +"'Propriedades' e selecionar a aba 'Permissões' na janela aberta." + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"Erro no arquivo! Não é possível descompactar o arquivo " +"%1. O arquivo não pôde ser carregado." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"Este erro ocorre tipicamente se o arquivo estiver corrompido. Se quiser " +"ter certeza disso, descompacte o arquivo manualmente usando uma ferramenta " +"de linha de comando." + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "Sem favoritos" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "Ocorreu um problema ao compartilhar o documento: %1" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "Compartilhar" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "Documento compartilhado com sucesso" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "" +"Você pode encontrar o documento compartilhado em: %1" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "&Editar" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "E&xibir" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&Ir" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "Ferramen&tas" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "Barra de ferramentas principal" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "Barra de anotação" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, kde-format +msgid "Quick Annotation Toolbar" +msgstr "Barra de anotação rápida" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "Opções gerais" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Acessibilidade" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "Acessibilidade para leitura" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Desempenho" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "Ajustes de desempenho" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "Configurar visualizador" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Apresentação" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "Opções do modo de apresentação" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "Opções de anotação" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "Editor" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "Opções do editor" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" +"O editor foi definido pela linha de comando para \n" +" %1 \n" +"Se você quiser usar a configuração, inicie o okular sem a opção --editor-cmd" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "Localizar próxima" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "Apresentação - %1" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "Alternar tela" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "Tela %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "Sair do modo de apresentação" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Título: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Páginas: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "Clique para começar" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "Pausar" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "Reproduzir" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"Existem duas maneiras de sair do modo de apresentação. Você pode pressionar " +"a tecla ESC ou clicar no botão de saída, que aparece quando o ponteiro do " +"mouse estiver no canto superior direito. Além dessa opções, você pode " +"alternar entre janelas (o padrão é Alt+TAB)" + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "Mostrar uma apresentação" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "Arquivo desconhecido" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "Propriedades do %1" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "&Fontes" + +#: part/propertiesdialog.cpp:145 +#, kde-format +msgid "Reading font information…" +msgstr "Lendo informações das fontes…" + +#: part/propertiesdialog.cpp:158 +#, kde-format +msgid "&Page Sizes" +msgstr "Tamanhos de &página" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "&Extrair fonte" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Type 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Type 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "Type 1C (OT)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Type 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType (OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID Type 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID Type 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID Type 0C (OT)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType (OT)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "TeX PK" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "TeX virtual" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "Métrica de fonte TeX" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "TeX usado pelo FreeType" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "Desconhecido" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "Incorporado (subconjunto)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "Totalmente incorporado" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "Não" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "Sim (subconjunto)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "Sim" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "%1 (a substituir com %2)" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "[n/d]" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "Fonte desconhecida" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "Incorporado: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "Nome" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "Tipo" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "Arquivo" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "Página" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "Tamanho" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "Visualização da revisão" + +# A palavra arquivo foi inserida para string mais clara. (Alvarenga) +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "Onde gostaria de salvar esta revisão?" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "Não foi possível salvar o arquivo %1." + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "Não foi possível salvar a revisão." + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "Digite pelo menos três letras para filtrar as páginas" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "Diferenciar maiúsculas de minúsculas" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "Corresponder a frase" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "Corresponder a todas as palavras" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "Corresponder a qualquer palavra" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "Opções do filtro" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, kde-format +msgid "Certificates" +msgstr "Certificados" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "Selecione o certificado para assinar:" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "Todos" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, kde-format +msgid "Only QES certificates" +msgstr "Apenas certificados QES" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "Somente chaves PGP" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "Motivo:" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, kde-format +msgid "optional" +msgstr "opcional" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "Localização:" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, kde-format +msgid "Background:" +msgstr "Plano de fundo:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "Escolher..." + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, kde-format +msgid "Recent backgrounds:" +msgstr "Planos de fundo recentes:" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

    No annotations

    To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
    " +msgstr "" +"

    Sem anotações

    Para criar novas anotações pressione " +"F6 ou selecione a opção Ferramentas -> Anotações no menu.
    " + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "Agrupar por página" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "Agrupar por autor" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "Mostrar apenas as anotações da página atual" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "Expandir todos os elementos" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "Recolher todos os elementos" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "Propriedades" + +#: part/signaturepartutils.cpp:180 +#, kde-format +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Imagens (%1)" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "Selecionar uma imagem de fundo" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "Esquecer imagem" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "Esquecer todas as imagens" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "Digite a senha (se tiver) para desbloquear o certificado: %1" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "Digite a senha do certificado" + +#: part/signaturepartutils.cpp:244 +#, kde-format +msgid "Enter document password" +msgstr "Digite a senha do documento" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "Salvar arquivo assinado como" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "%1_assinado.%2" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "Status da validade" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "Validade da assinatura:" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "Modificações no documento:" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "Informações adicionais" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "Assinado por:" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "Assinado em:" + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "Versão do documento" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Revisão do documento %1 de %2" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "Visualizar versão assinada…" + +#: part/signaturepropertiesdialog.cpp:95 +#, kde-format +msgid "View Certificate…" +msgstr "Visualizar certificado…" + +#: part/signaturepropertiesdialog.cpp:97 +#, kde-format +msgid "View in Certificate Manager" +msgstr "Visualizar no gerenciador de certificados" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "O gerenciador de certificados do KDE (kleopatra) não foi encontrado" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "Qualificada" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "PGP" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "Mostrar apenas as páginas marcadas como favoritas" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "Reproduzir" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Pausar" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "Parar" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "Não são suportados vídeos neste Okular" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "Não são suportados vídeos neste Okular" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "&Adicionar…" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, kde-format +msgid "&Edit…" +msgstr "&Editar…" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "&Remover" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "Mover para &cima" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "Mover para &baixo" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "Ferramenta de desenho padrão #%1" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "Já existe uma ferramenta com esse nome. Usando uma padrão" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "Nome duplicado" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "Página do documento a ser exibida" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "Inicia o documento no modo de apresentação" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "Inicia com a janela de impressão" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "Inicia com a janela de impressão e sai após imprimir" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "Controle de \"instância única\"" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "Não elevar a janela" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "Localizar string no texto" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "Define o comando do editor externo" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "Documentos a serem abertos. Especifique '-' para ler do stdin." + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" +"Você não pode definir o comando do editor em uma instância do Okular em " +"execução. Desabilite as abas e tente novamente. Note que exclusivo também " +"não é suportado quando configurar o comando do editor na linha de comando.\n" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "" +"Erro: Não foi possível abrir mais que um documento com a opção --unique" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" +"Erro: Não foi possível abrir mais que um documento com a opção --presentation" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "Erro: Não foi possível abrir mais que um documento com a opção --print" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "Erro: Não foi possível abrir mais que um documento com a opção --page" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "Erro: Não foi possível abrir mais que um documento com a opção --find" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "Não foi possível encontrar o componente do Okular: %1" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "Barra lateral" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" +"Já existe uma instância única do Okular em execução. Esta instância deixará " +"de ser a única." + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "Não foi possível encontrar o componente do Okular." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"Clique para abrir um arquivo.\n" +"Clique e mantenha pressionado para abrir um arquivo recente" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"Clique para abrir um arquivo ou Clique e mantenha pressionado " +"para abrir um arquivo recente" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "Próxima aba" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "Aba anterior" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "Reabrir a aba" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "Bloquear Barra lateral" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "Todos os arquivos (*)" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "Todos os arquivos suportados (%1)" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "Abrir documento" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "Confirmar fechamento" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "Fechar abas" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "Você está prestes a fechar %1 abas. Deseja continuar?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "Me avisar quanto eu tentar fechar múltiplas abas" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "&Copiar caminho" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "Abrir pasta que co&ntém" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "&Esquecer este item" + +#: shell/welcomescreen.cpp:137 +#, kde-format +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "Nenhum documento recente" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "Bem-vindo ao Okular" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Abrir documento..." + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, kde-format +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Documentos recente" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "Esquecer todos" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "Ocultar tela de boas vindas" + +#~ msgid "Geometry with Comment" +#~ msgstr "Geometria com comentário" + +#~ msgid "Geometry" +#~ msgstr "Geometria" + +#~ msgctxt "Annotation type: contents" +#~ msgid "%1: %2" +#~ msgstr "%1: %2" + +#~ msgid "Modified: %1" +#~ msgstr "Modificado: %1" + +#~ msgid "Find..." +#~ msgstr "Localizar..." + +#~ msgid "Go To Page..." +#~ msgstr "Ir para a página..." + +#~ msgid "Play movie..." +#~ msgstr "Reproduzir filme..." + +#~ msgid "Search..." +#~ msgstr "Pesquisar..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "Salvar &como..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "Exibir" + +#~ msgid "&Sign..." +#~ msgstr "A&ssinar..." + +#~ msgid "Configure Viewer..." +#~ msgstr "Configurar o visualizador..." + +#~ msgid "Configure Viewer Backends..." +#~ msgstr "Configurar infraestruturas do visualizador..." + +#~ msgid "Configure Backends..." +#~ msgstr "Configurar infraestruturas..." + +#~ msgid "&Add..." +#~ msgstr "&Adicionar..." + +#~ msgid "&Edit..." +#~ msgstr "&Editar..." + +#~ msgctxt "%1 is a file path" +#~ msgid "" +#~ "Could not sign. Invalid certificate password or could not write to '%1'" +#~ msgstr "" +#~ "Não foi possível assinar. Senha do certificado inválida ou não foi " +#~ "possível escrever em '%1'" + +#, fuzzy +#~| msgid "" +#~| "All your signing certificates are either not valid yet or are past their " +#~| "validity date." +#~ msgid "All your signing certificates are invalid" +#~ msgstr "" +#~ "Todos os seus certificados de assinatura ou não estão válidos ou já estão " +#~ "vencidos." + +#~ msgid "Unsigned Signature %1" +#~ msgstr "Assinatura não assinada %1" + +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "Desconhecido" + +#~ msgctxt "Signature type" +#~ msgid "Unsigned signature" +#~ msgstr "Assinatura não assinada" + +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "Spinbox prefix: Advance automatically: every n seconds" +#~ msgid "every " +#~ msgstr "a cada " + +#~ msgctxt "Suffix for the pen width, eg '10 px'" +#~ msgid " px" +#~ msgstr " px" + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " %" + +#~ msgctxt "%1 is a file path" +#~ msgid "Could not sign. Could not write to '%1'" +#~ msgstr "Não foi possível assinar. Não foi possível escrever em '%1'" + +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "Ajustar à largura" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "Ajustar à página" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Auto Fit" +#~ msgstr "Ajuste automático" + +#~ msgid "*|All Files" +#~ msgstr "*|Todos os arquivos" + +#~ msgid "Missing alert type" +#~ msgstr "Tipo de alerta ausente" + +#~ msgid "" +#~ "The file '%1' has been modified by another program, which means it can no " +#~ "longer be saved." +#~ msgstr "" +#~ "O arquivo '%1' foi modificado por outro programa, o que significa que não " +#~ "pode mais ser salvo." + +#~ msgid "Show Sidebar" +#~ msgstr "Mostrar barra lateral" + +#~ msgctxt "@info" +#~ msgid "" +#~ "experimental feature.Stamps inserted in PDF documents are " +#~ "not visible in PDF readers other than Okular." +#~ msgstr "" +#~ "Funcionalidade experimental.Os carimbos inseridos nos " +#~ "documentos PDF só ficarão visíveis no Okular." + +#~ msgctxt "@info" +#~ msgid "" +#~ "The version of the Poppler library this Okular was compiled with does not " +#~ "support signing documents with passwords. Please ask your provider to " +#~ "update it to 22.02 or later." +#~ msgstr "" +#~ "A versão da biblioteca Poppler que este Okular foi compilado não suporta " +#~ "a assinatura de documentos com senha. Solicite ao seu fornecedor " +#~ "atualizar para a versão 22.02 ou mais recente." + +#~ msgctxt "@title:window" +#~ msgid "Poppler library is too old" +#~ msgstr "A biblioteca Poppler é muito antiga" + +#~ msgctxt "@info" +#~ msgid "" +#~ "Stamps inserted in PDF documents are not visible in PDF readers other " +#~ "than Okular" +#~ msgstr "" +#~ "Os carimbos inseridos nos documentos PDF só ficarão visíveis no Okular" + +#~ msgctxt "@title:window" +#~ msgid "Experimental feature" +#~ msgstr "Recurso experimental" + +#~ msgid "Remove Bookmarks" +#~ msgstr "Remover favoritos" + +#, fuzzy +#~| msgid "&Annotations" +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "&Anotações" + +#, fuzzy +#~| msgid "Highlight" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "Realce" + +#, fuzzy +#~| msgid "Underline" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Underline" +#~ msgstr "Sublinhado" + +#, fuzzy +#~| msgid "Squiggle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Squiggle" +#~ msgstr "Linha ondulada" + +#, fuzzy +#~| msgid "Strike Out" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Strike Out" +#~ msgstr "Tachado" + +#, fuzzy +#~| msgid "Insert Text" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "Inserir texto" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "Nota integrada" + +#, fuzzy +#~| msgctxt "@action:intoolbar Annotation tool" +#~| msgid "Popup Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "Nota instantânea" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a freehand line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Freehand Line" +#~ msgstr "Desenhar uma linha livre" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a straight line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Straight line" +#~ msgstr "Desenhar uma linha reta" + +#, fuzzy +#~| msgid "Arrow" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Arrow" +#~ msgstr "Seta" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a rectangle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Rectangle" +#~ msgstr "Desenha um retângulo" + +#, fuzzy +#~| msgid "Ellipse" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Ellipse" +#~ msgstr "Elipse" + +#, fuzzy +#~| msgid "Polygon" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Polygon" +#~ msgstr "Polígono" + +#, fuzzy +#~| msgid "Highlighter" +#~ msgid "Highlight in Yellow" +#~ msgstr "Realce" + +#, fuzzy +#~| msgid "Highlight with Comment" +#~ msgid "Highlight in Green" +#~ msgstr "Realce com comentário" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgid "Insert Inline Note" +#~ msgstr "Nota integrada" + +#, fuzzy +#~| msgctxt "@action:intoolbar Annotation tool" +#~| msgid "Popup Note" +#~ msgid "Insert Popup Note" +#~ msgstr "Nota instantânea" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "Selecione o texto" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "Selecione o texto" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "Selecione o texto" + +#~ msgid "Bookmark annotation" +#~ msgstr "Favoritar anotação" + +#~ msgid "&Toggle Change Colors" +#~ msgstr "Al&ternar a alteração de cores" + +#, fuzzy +#~| msgid "Enable transitions" +#~ msgctxt "@option:check Config dialog, presentation page, transitions" +#~ msgid "Enable transitions" +#~ msgstr "Habilitar transições" + +#, fuzzy +#~| msgid "Advance every:" +#~ msgctxt "@label:spinbox Config dialog, presentation page" +#~ msgid "Advance every:" +#~ msgstr "Avançar a cada:" + +#, fuzzy +#~| msgid "Use custom background color" +#~ msgctxt "@label:listbox Config dialog, general page" +#~ msgid "Custom background color:" +#~ msgstr "Usar cor do plano de fundo personalizada:" + +#~ msgid "Draw border around &Images" +#~ msgstr "Desenhar bordas ao redor das &imagens" + +#~ msgid "Speech" +#~ msgstr "Falar" + +#~ msgid "Engine" +#~ msgstr "Mecanismo" + +#~ msgid "Identity" +#~ msgstr "Identidade" + +#~ msgid "Au&thor:" +#~ msgstr "Au&tor:" + +#~ msgid "View Options" +#~ msgstr "Opções de visualização" + +#~ msgctxt "@info:whatsthis" +#~ msgid "" +#~ "Defines the default zoom mode for files which were never opened before.\n" +#~ "For files which were opened before the previous zoom is applied." +#~ msgstr "" +#~ "Define o modo de ampliação padrão para os arquivos que nunca foram " +#~ "abertos anteriormente.\n" +#~ "Para os arquivos que já foram abertos é aplicado a ampliação anterior." + +#~ msgid "Navigation" +#~ msgstr "Navegação" + +#~ msgid "Placement" +#~ msgstr "Posicionamento" + +#~ msgid "Screen:" +#~ msgstr "Tela:" + +#~ msgid "Drawing Tool Configuration" +#~ msgstr "Configuração da ferramenta de desenho" + +#~ msgid "&Get Books From Internet..." +#~ msgstr "&Obter livros da Internet..." + +#~ msgid "Reviews" +#~ msgstr "Revisões" + +#~ msgctxt "@item:inlistbox Color name" +#~ msgid "%1" +#~ msgstr "%1" + +#~ msgid "Hide Forms" +#~ msgstr "Ocultar formulários" + +#~ msgid "&Review" +#~ msgstr "&Revisão" + +#~ msgid "Annotations author" +#~ msgstr "Anotações do autor" + +#~ msgid "Please insert your name or initials:" +#~ msgstr "Digite o seu nome ou iniciais:" + +#~ msgctxt "Used in this context: 'Page sizes: Multiple'" +#~ msgid "Multiple" +#~ msgstr "Múltiplos" + +#~ msgid "Show &Navigation Panel" +#~ msgstr "Mostrar painel de &navegação" + +#~ msgid "Show Text" +#~ msgstr "Mostrar texto" + +#~ msgid "Small Icons" +#~ msgstr "Ícones pequenos" + +#~ msgid "Large Icons" +#~ msgstr "Ícones grandes" diff --git a/po/pt_BR/okular_comicbook.po b/po/pt_BR/okular_comicbook.po new file mode 100644 index 0000000..6768922 --- /dev/null +++ b/po/pt_BR/okular_comicbook.po @@ -0,0 +1,62 @@ +# translation of okular_comicbook.po to Brazilian Portuguese +# tradução do okular_comicbook.po para Brazilian Portuguese +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# André Marcelo Alvarenga , 2008. +# Luiz Fernando Ranghetti , 2009, 2018. +msgid "" +msgstr "" +"Project-Id-Version: okular_comicbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2018-11-13 11:57-0300\n" +"Last-Translator: Luiz Fernando Ranghetti \n" +"Language-Team: Portuguese \n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 2.0\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "André Marcelo Alvarenga" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "andrealvarenga@gmx.net" + +#: document.cpp:97 +#, kde-format +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "" +"Não foi possível abrir o documento, o unrar ou o unarchiver não foram " +"encontrados." + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "" +"A versão do unrar do seu sistema não é adequada para abertura de comicbooks." + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "O formato do ComicBook é desconhecido." + +#~ msgid "ComicBook Backend" +#~ msgstr "Infraestrutura de ComicBook" + +#~ msgid "A renderer for various comic book formats" +#~ msgstr "Um interpretador de vários formatos de histórias em quadrinhos" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/pt_BR/okular_djvu.po b/po/pt_BR/okular_djvu.po new file mode 100644 index 0000000..20567b7 --- /dev/null +++ b/po/pt_BR/okular_djvu.po @@ -0,0 +1,138 @@ +# tradução do okular_djvu.po para Brazilian Portuguese +# translation of okular_djvu.po to Brazilian Portuguese +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# André Marcelo Alvarenga , 2008, 2009. +# Luiz Fernando Ranghetti , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_djvu\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-07-26 22:39-0300\n" +"Last-Translator: André Marcelo Alvarenga \n" +"Language-Team: Brazilian Portuguese \n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "André Marcelo Alvarenga" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "andrealvarenga@gmx.net" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "Editor" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "Editora" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "Volume" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "Tipo de documento" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "Desconhecido" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "Arquivos do componente" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "Desconhecido" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "Página única" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "Empacotado" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "Indireto" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "Empacotado (antigo)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "Indexado (antigo)" + +#~ msgid "DjVu Backend" +#~ msgstr "Infraestrutura DjVu" + +#~ msgid "DjVu backend based on DjVuLibre." +#~ msgstr "Infraestrutura DjVu, baseado no DjVuLibre." + +#~ msgid "© 2006-2008 Pino Toscano" +#~ msgstr "© 2006-2008 Pino Toscano" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgctxt "Unknown title" +#~ msgid "Unknown" +#~ msgstr "Desconhecido" + +#~ msgctxt "Unknown author" +#~ msgid "Unknown" +#~ msgstr "Desconhecido" + +#~ msgctxt "Unknown editor" +#~ msgid "Unknown" +#~ msgstr "Desconhecido" + +#~ msgctxt "Unknown publisher" +#~ msgid "Unknown" +#~ msgstr "Desconhecida" + +#~ msgctxt "Unknown creation date" +#~ msgid "Unknown" +#~ msgstr "Desconhecida" + +#~ msgctxt "Unknown volume information" +#~ msgid "Unknown" +#~ msgstr "Desconhecido" + +#~ msgctxt "Unknown type of document" +#~ msgid "Unknown" +#~ msgstr "Desconhecido" diff --git a/po/pt_BR/okular_dvi.po b/po/pt_BR/okular_dvi.po new file mode 100644 index 0000000..6c09c00 --- /dev/null +++ b/po/pt_BR/okular_dvi.po @@ -0,0 +1,615 @@ +# Translation of okular_dvi.po to Brazilian Portuguese +# Copyright (C) 2008-2014 This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# André Marcelo Alvarenga , 2008, 2011, 2012, 2013, 2014. +# Luiz Fernando Ranghetti , 2009, 2018, 2020. +# SPDX-FileCopyrightText: 2025 Geraldo Simiao +# SPDX-FileCopyrightText: 2025 Guilherme Marçal Silva +msgid "" +msgstr "" +"Project-Id-Version: okular_dvi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-11-08 21:17-0300\n" +"Last-Translator: Guilherme Marçal Silva \n" +"Language-Team: Brazilian Portuguese \n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Lokalize 25.08.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "André Marcelo Alvarenga" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "alvarenga@kde.org" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

    Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

    Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

    " +msgstr "" +"

    O Okular não conseguiu localizar o programa dvipdfm no seu " +"computador. Este programa é essencial para o funcionamento da função " +"exportar. Entretanto, você pode converter o arquivo DVI para PDF usando a " +"função de impressão do Okular. Ela frequentemente produzirá arquivos que " +"imprimem corretamente, porém, são de qualidade inferior se visualizados no " +"Acrobat Reader. Seria melhor atualizar para uma versão mais recente da sua " +"distribuição TeX, que contenha o dvipdfm.

    Dica para o " +"administrador de sistemas confuso: o Okular usa a variável de ambiente PATH " +"quando está procurando por programas.

    " + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"O programa externo 'dvipdfm', que foi usado para exportar o arquivo, " +"reportou um erro. Você poderá visualizar um relatório preciso de erros no " +"diálogo de informações do documento que você irá encontrar " +"no Menu-Arquivo." + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" +"Este arquivo DVI possui referências a um arquivo gráfico externo que não " +"está no formato PostScript e, portanto, não pode ser manuseado pelo programa " +"dvips, usado pelo Okular internamente para imprimir ou exportar " +"para PostScript. Entretanto, a funcionalidade que você solicitou não está " +"disponível nesta versão do Okular." + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

    Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

    Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

    " +msgstr "" +"

    O Okular não conseguiu localizar o programa dvips em seu " +"computador. Este programa é necessário para que a função exportar funcione.

    Dica para o administrador de sistemas confuso: O Okular usa a variável " +"de ambiente PATH quando está procurando por programas.

    " + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"O programa externo 'dvips', que foi utilizado para exportar o arquivo, " +"reportou um erro. Você pode visualizar um relatório preciso de erros no " +"diálogo de informações do documento que você irá encontrar " +"no Menu-Arquivo." + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "O arquivo DVI não pôde ser iniciado com o preâmbulo." + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" +"O arquivo DVI contém uma versão incorreta da saída DVI para este programa. " +"Dica: Se usar o sistema de tipografia Omega, você pode usar um programa " +"especial chamado oxdvi." + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "" +"O arquivo DVI está corrompido. O Okular não está habilitado a encontrar o " +"postamble." + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "O postamble não inicia com o comando POST." + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "O postamble contido tem um outro comando que o FNTDEF." + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "A página %1 não inicia com o comando BOP." + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

    The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

    What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

    PATH: %2

    " +msgstr "" +"

    O programa externo pdf2ps não pôde ser iniciado. " +"Dessa forma, o arquivo PDF %1 não foi convertido para PostScript e, sendo " +"assim, alguns elementos gráficos no seu documento não poderão ser exibidos.

    Motivo provável: O programa pdf2ps pode não " +"estar instalado em seu sistema, ou ele não pôde ser localizado no caminho de " +"pesquisa atual.

    O que você pode fazer: O programa " +"pdf2ps normalmente está contido na distribuição do sistema " +"interpretador de PostScript chamado ghostscript. Se o ghostscript não " +"estiver instalado em seu sistema, você pode instalar ele agora. Se tiver " +"certeza de que o ghostscript está instalado, tente usar o programa " +"pdf2ps pela linha de comando para verificar se ele " +"realmente está funcionando.

    PATH: %2

    " + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

    The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

    %2

    " +msgstr "" +"

    O arquivo PDF %1 não pode ser convertido para PostScript. Alguns " +"elementos gráficos em seu documento não poderão ser exibidos.

    Motivo provável: O arquivo %1 pode estar danificado ou pode não " +"ser um arquivo PDF. Esta é a saída do programa pdf2ps que o " +"Okular utilizou:

    %2

    " + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "Arquivo danificado. %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "" +"Não foi possível incorporar todos os arquivos PostScript no seu documento. %1" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "" +"Todos os arquivos PostScript externos foram incorporados ao seu documento." + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "O arquivo indicado '%1' não existe." + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" +"Você solicitou ao Okular que encontrasse o local no arquivo DVI que " +"corresponde à linha %1 no arquivo TeX %2. Contudo, parece que o arquivo DVI " +"não contém a informação necessária sobre o código-fonte. " + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" +"O Okular não conseguiu encontrar o local no arquivo DVI que corresponde à " +"linha %1 no arquivo TeX %2." + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "O código DVI colocou um caractere de uma fonte desconhecida." + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "" +"O código DVI refere-se à fonte #%1, a qual não foi previamente definida." + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "A pilha não estava vazia quando o comando EOP foi encontrado." + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "A pilha estava vazia quando um comando POP foi encontrado." + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "" +"O código DVI fez referência a uma fonte que não foi previamente definida." + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "Um comando ilegal foi encontrado." + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "O código-op desconhecido %1 foi encontrado." + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "Incorporado %1" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
    " +msgstr "" +"Página %1: O arquivo PDF %2 não pôde ser convertido para " +"PostScript.
    " + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
    " +msgstr "" +"Página %1: O arquivo PostScript %2 não pôde ser encontrado." +"
    " + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "Os dados do tamanho do papel '%1' não puderam ser analisados." + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

    Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

    PATH: %1

    %2

    " +msgstr "" +"

    O Okular não conseguiu localizar todos os arquivos de fontes " +"necessários para mostrar o arquivo DVI atual. Seu documento pode estar " +"ilegível.

    PATH: %1

    %2

    " + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

    There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
    Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

    PATH: %1

    %2

    " +msgstr "" +"

    Ocorreram alguns problemas durante a execução do kpsewhich. " +"Como resultado, não foi possível localizar alguns dos arquivos de fonte e " +"seu documento poderá estar ilegível.
    Razão possível: O programa " +"kpsewhich pode não estar instalado no seu sistema ou, então, não " +"foi encontrado nos locais de pesquisa atuais.

    PATH:%1

    %2

    " + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" +"A geração da fonte pelo kpsewhich foi cancelada (código de " +"saída %1, erro %2). Como resultado, alguns arquivos de fontes não puderam " +"ser localizados e seu documento pode estar ilegível." + +#: fontpool.cpp:482 +#, kde-format +msgid "Currently generating %1 at %2 dpi…" +msgstr "Gerando atualmente o %1 de %2 dpi…" + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "Criador/Data" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "Arquivo da fonte não encontrado" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "%1 × %2" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "%1 × %2 mm" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "%1 × %2 in" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "retrato" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "paisagem" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" +"A versão do Ghostview instalado neste computador não contém dispositivos do " +"Ghostview conhecidos pelo Okular. Sendo assim, o suporte ao Postscript foi " +"desativado no Okular." + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "Ocorreram 25 erros. Outras mensagens não serão impressas." + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" +"Erro no arquivo DVI '%1', página %2. Comando de estouro emitido quando a " +"pilha de cores estiver vazia." + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" +"Parâmetro malformado no comando especial epsf.\n" +"Um flutuante esperado resultou %1 em %2" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"Arquivo não encontrado: \n" +" %1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" +"Erro no arquivo DVI '%1', página %2. Não foi possível interpretar o ângulo " +"na rotação de texto." + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "O comando especial '%1' não está implementado." + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" +"O arquivo fonte %1 pôde ser aberto e lido, mas o formato das fontes não é " +"suportado." + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "" +"O arquivo de fontes %1 está danificado, ou não pôde ser aberto ou lido." + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" +"A FreeType reportou um erro ao definir o tamanho do caractere para o arquivo " +"de fontes %1." + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "" +"A FreeType é incapaz de carregar o símbolo #%1 do arquivo de fontes %2." + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "" +"A FreeType é incapaz de renderizar o símbolo #%1 do arquivo de fontes %2." + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "O símbolo #%1 está vazio." + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "O símbolo #%1 do arquivo de fontes %2 está vazio." + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "" +"A FreeType é incapaz de carregar a métrica para o símbolo #%1 do arquivo de " +"fontes %2." + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "Não foi possível abrir o arquivo fonte %1." + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "TexFont_PK::operator[]: Caractere %1 não definido na fonte %2" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "O %1 não foi esperado no arquivo PK %2" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "O caractere %1 é muito grande no arquivo %2" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "Número errado de bits armazenados: car. %1, fonte %2" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "Arquivo pk inválido (%1), muitos bits" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "A fonte não tem taxa de proporção quadrada " + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "Não foi possível encontrar a fonte %1, arquivo %2." + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "Checagem incompatível para o arquivo fonte %1" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "Não pode reconhecer o formato para o arquivo de fontes %1" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"Erro fatal.\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" +"\n" +"\n" +"Isto provavelmente significa que ou você encontrou um erro no Okular,\n" +"ou que o arquivo DVI, ou arquivos auxiliares (como os arquivos de fontes, \n" +"ou arquivos de fontes virtuais) estão realmente danificados.\n" +"O Okular será finalizado após esta mensagem. Se você acredita que " +"encontrou \n" +"um erro, ou que o Okular deveria comportar-se melhor nestas\n" +"situações, por favor, informe-nos sobre o problema." + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "Foi encontrado um byte de comando errado na lista de macros VF: %1" + +#~ msgid "" +#~ "

    The Ghostview program, which Okular uses internally to display the " +#~ "PostScript graphics that is included in this DVI file, is generally able " +#~ "to write its output in a variety of formats. The sub-programs that " +#~ "Ghostview uses for these tasks are called 'device drivers'; there is one " +#~ "device driver for each format that Ghostview is able to write. Different " +#~ "versions of Ghostview often have different sets of device drivers " +#~ "available. It seems that the version of Ghostview that is installed on " +#~ "this computer does not contain any of the device drivers " +#~ "that are known to Okular.

    It seems unlikely that a regular " +#~ "installation of Ghostview would not contain these drivers. This error may " +#~ "therefore point to a serious misconfiguration of the Ghostview " +#~ "installation on your computer.

    If you want to fix the problems with " +#~ "Ghostview, you can use the command gs --help to display " +#~ "the list of device drivers contained in Ghostview. Among others, Okular " +#~ "can use the 'png256', 'jpeg' and 'pnm' drivers. Note that Okular needs to " +#~ "be restarted to re-enable PostScript support.

    " +#~ msgstr "" +#~ "

    O programa Ghostview, que o Okular usa internamente para exibir os " +#~ "gráficos do PostScript que estão incluídos neste arquivo DVI, geralmente " +#~ "tem a capacidade de gravar sua saída nos mais variados formatos. Os " +#~ "subprogramas que o Ghostview usa para estas tarefas são os chamados " +#~ "'drivers de dispositivo', e existe um desses para cada formato que o " +#~ "Ghostview é capaz de gravar. Diferentes versões do Ghostview oferecem " +#~ "diferentes conjuntos de drivers. Parece que a versão do Ghostview " +#~ "instalada neste computador não contém nenhum dos drivers " +#~ "de dispositivos conhecidos pelo Okular.

    Parece que, infelizmente, " +#~ "uma instalação regular do Ghostview não contém estes drivers. Este erro " +#~ "pode, entretanto, apontar para uma configuração mal-feita da instalação " +#~ "do Ghostview, em seu computador.

    Se deseja corrigir os problemas " +#~ "com o Ghostview, você pode usar o comando gs --help para " +#~ "exibir a lista de drivers de dispositivo contidos no Ghostview. O Okular " +#~ "pode usar os drivers 'png256', 'jpeg' e 'pnm', entre outros. Note que o " +#~ "Okular precisa ser reiniciado para reabilitar o suporte ao PostScript." + +#~ msgid "DVI Backend" +#~ msgstr "Infraestrutura DVI" + +#~ msgid "A DVI file renderer" +#~ msgstr "Um renderizador de arquivo DVI" + +#~ msgid "© 2006 Luigi Toscano" +#~ msgstr "© 2006 Luigi Toscano" diff --git a/po/pt_BR/okular_epub.po b/po/pt_BR/okular_epub.po new file mode 100644 index 0000000..114390a --- /dev/null +++ b/po/pt_BR/okular_epub.po @@ -0,0 +1,57 @@ +# Translation of okular_epub.po to Brazilian Portuguese +# Copyright (C) 2008-2013 This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# André Marcelo Alvarenga , 2008, 2013. +# Luiz Fernando Ranghetti , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_epub\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-05-19 10:35-0300\n" +"Last-Translator: André Marcelo Alvarenga \n" +"Language-Team: Brazilian Portuguese \n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "André Marcelo Alvarenga" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "alvarenga@kde.org" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "Erro na abertura do documento EPub." + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "EPub" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "Configuração da infraestrutura EPub" + +#~ msgid "EPub Backend" +#~ msgstr "Infraestrutura EPub" + +#~ msgid "An EPub backend" +#~ msgstr "Uma infraestrutura para EPub" + +#~ msgid "© 2008 Ely Levy" +#~ msgstr "© 2008 Ely Levy" + +#~ msgid "Ely Levy" +#~ msgstr "Ely Levy" diff --git a/po/pt_BR/okular_fax.po b/po/pt_BR/okular_fax.po new file mode 100644 index 0000000..27cec4a --- /dev/null +++ b/po/pt_BR/okular_fax.po @@ -0,0 +1,48 @@ +# translation of okular_fax.po to Brazilian Portuguese +# tradução do okular_fax.po para Brazilian Portuguese +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# André Marcelo Alvarenga , 2008. +# Luiz Fernando Ranghetti , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_fax\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-02-07 15:04-0300\n" +"Last-Translator: Luiz Fernando Ranghetti \n" +"Language-Team: Brazilian Portuguese \n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "André Marcelo Alvarenga" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "andrealvarenga@gmx.net" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "Não foi possível carregar o documento" + +#~ msgid "Fax Backend" +#~ msgstr "Infraestrutura de fax" + +#~ msgid "A G3/G4 fax document backend" +#~ msgstr "Uma infraestrutura para documentos de fax G3/G4" + +#~ msgid "© 2008 Tobias Koenig" +#~ msgstr "© 2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/pt_BR/okular_fictionbook.po b/po/pt_BR/okular_fictionbook.po new file mode 100644 index 0000000..5f31a1c --- /dev/null +++ b/po/pt_BR/okular_fictionbook.po @@ -0,0 +1,82 @@ +# Translation of okular_fictionbook.po to Brazilian Portuguese +# Copyright (C) 2008-2013 This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# André Marcelo Alvarenga , 2008, 2009, 2013. +# Luiz Fernando Ranghetti , 2009, 2020. +msgid "" +msgstr "" +"Project-Id-Version: okular_fictionbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-09-10 18:46-0300\n" +"Last-Translator: Luiz Fernando Ranghetti \n" +"Language-Team: Brazilian Portuguese \n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 20.04.3\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "André Marcelo Alvarenga" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "alvarenga@kde.org" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "O documento não é um arquivo FictionBook válido" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "Impossível abrir o documento: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "O documento não é um arquivo ZIP válido" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "Estrutura do documento inválida (a pasta principal não existe)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "Nenhum conteúdo encontrado no documento" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "Documento XML inválido: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "FictionBook" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "Configuração da infraestrutura Fiction Book" + +#~ msgid "Fiction Book Backend" +#~ msgstr "Infraestrutura Fiction Book" + +#~ msgid "A renderer for FictionBook eBooks" +#~ msgstr "Um interpretador de eBooks FictionBook" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/pt_BR/okular_ghostview.po b/po/pt_BR/okular_ghostview.po new file mode 100644 index 0000000..767ac4b --- /dev/null +++ b/po/pt_BR/okular_ghostview.po @@ -0,0 +1,93 @@ +# tradução do okular_ghostview.po para Brazilian Portuguese +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# André Marcelo Alvarenga , 2008, 2009, 2010. +# Luiz Fernando Ranghetti , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_ghostview\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-12-18 11:12-0200\n" +"Last-Translator: André Marcelo Alvarenga \n" +"Language-Team: Brazilian Portuguese \n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "André Marcelo Alvarenga" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "andrealvarenga@gmx.net" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "Usar fontes da plataforma" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"Determina se o Ghostscript pode usar as fontes da plataforma. Se falso, " +"somente usar as fontes incorporadas no documento." + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "Configurações gerais" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "&Usar fontes da plataforma" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Configuração da infraestrutura do Ghostscript" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "Versão do documento" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "Nível da linguagem" + +#~ msgid "PS Backend" +#~ msgstr "Infraestrutura PS" + +#~ msgid "A PostScript file renderer." +#~ msgstr "Um interpretador de arquivos PostScript." + +#~ msgid "© 2007-2008 Albert Astals Cid" +#~ msgstr "© 2007-2008 Albert Astals Cid" + +#~ msgid "Based on the Spectre library." +#~ msgstr "Baseado na biblioteca Apetre." + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" diff --git a/po/pt_BR/okular_kimgio.po b/po/pt_BR/okular_kimgio.po new file mode 100644 index 0000000..c2e1871 --- /dev/null +++ b/po/pt_BR/okular_kimgio.po @@ -0,0 +1,71 @@ +# tradução do okular_kimgio.po para Brazilian Portuguese +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# André Marcelo Alvarenga , 2008, 2009. +# Luiz Fernando Ranghetti , 2009, 2017. +msgid "" +msgstr "" +"Project-Id-Version: okular_kimgio\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2017-11-27 14:25-0300\n" +"Last-Translator: Luiz Fernando Ranghetti \n" +"Language-Team: Portuguese \n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 2.0\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "André Marcelo Alvarenga" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "andrealvarenga@gmx.net" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "Impossível carregar o documento: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" +"Este documento parece estar mal formatado. Aqui está uma melhor aproximação " +"da aparência desejada do documento." + +#~ msgid "Image Backend" +#~ msgstr "Infraestrutura de imagens" + +#~ msgid "A simple image backend" +#~ msgstr "Uma infraestrutura simples de imagens" + +#~ msgid "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" +#~ msgstr "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" + +#~ msgid "Main Toolbar" +#~ msgstr "Barra de ferramentas principal" diff --git a/po/pt_BR/okular_markdown.po b/po/pt_BR/okular_markdown.po new file mode 100644 index 0000000..a70d1af --- /dev/null +++ b/po/pt_BR/okular_markdown.po @@ -0,0 +1,54 @@ +# Translation of okular_markdown.po to Brazilian Portuguese +# Copyright (C) 2018-2019 This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# André Marcelo Alvarenga , 2018, 2019. +msgid "" +msgstr "" +"Project-Id-Version: okular_markdown\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-05-02 22:41-0300\n" +"Last-Translator: André Marcelo Alvarenga \n" +"Language-Team: Portuguese \n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Lokalize 19.04.0\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "André Marcelo Alvarenga" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "alvarenga@kde.org" + +#: converter.cpp:59 converter.cpp:93 +#, kde-format +msgid "Failed to open the document" +msgstr "Não foi possível abrir o documento" + +#: converter.cpp:106 converter.cpp:124 +#, kde-format +msgid "Failed to compile the Markdown document." +msgstr "Não foi possível compilar o documento Markdown." + +#: generator_md.cpp:58 +#, kde-format +msgid "Enable SmartyPants formatting" +msgstr "Ativar a formatação SmartyPants" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown" +msgstr "Markdown" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown Backend Configuration" +msgstr "Configuração da infraestrutura Markdown" diff --git a/po/pt_BR/okular_mobi.po b/po/pt_BR/okular_mobi.po new file mode 100644 index 0000000..673ec88 --- /dev/null +++ b/po/pt_BR/okular_mobi.po @@ -0,0 +1,65 @@ +# Translation of okular_mobi.po to Brazilian Portuguese +# Copyright (C) 2008-2013 This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Luiz Fernando Ranghetti , 2008, 2009. +# André Marcelo Alvarenga , 2008, 2009, 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_mobi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-05-19 10:36-0300\n" +"Last-Translator: André Marcelo Alvarenga \n" +"Language-Team: Brazilian Portuguese \n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "André Marcelo Alvarenga" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "alvarenga@kde.org" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Erro na abertura do documento Mobipocket." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "" +"Este livro está protegido pelo DRM e somente pode ser exibido em dispositivo " +"adequado" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "Mobipocket" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "Configuração da infraestrutura Mobipocket" + +#~ msgid "Mobipocket Backend" +#~ msgstr "Infraestrutura Mobipocket" + +#~ msgid "A mobipocket backend" +#~ msgstr "Uma infraestrutura do mobipocket" + +#~ msgid "© 2008-2009 Jakub Stachowski" +#~ msgstr "© 2008-2009 Jakub Stachowski" + +#~ msgid "Jakub Stachowski" +#~ msgstr "Jakub Stachowski" diff --git a/po/pt_BR/okular_poppler.po b/po/pt_BR/okular_poppler.po new file mode 100644 index 0000000..02ddda5 --- /dev/null +++ b/po/pt_BR/okular_poppler.po @@ -0,0 +1,401 @@ +# Translation of okular_poppler.po to Brazilian Portuguese +# Copyright (C) 2008-2018 This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# André Marcelo Alvarenga , 2008, 2009, 2010, 2013, 2018. +# Luiz Fernando Ranghetti , 2009, 2012, 2019, 2021, 2023. +# SPDX-FileCopyrightText: 2023, 2025 Geraldo Simiao +# SPDX-FileCopyrightText: 2025 Guilherme Marçal Silva +msgid "" +msgstr "" +"Project-Id-Version: okular_poppler\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-23 00:41-0300\n" +"Last-Translator: Geraldo Simiao \n" +"Language-Team: Brazilian Portuguese \n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 25.04.3\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "André Marcelo Alvarenga, Geraldo Simião" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "alvarenga@kde.org, geraldosimiao@fedoraproject.org" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "Ativar visualização de impressão sobreposta:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "Nunca" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "Sempre" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "Automático" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "Melhorar linhas finas:" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "Não" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "Sólido" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "Forma" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "Modo de escala padrão ao imprimir:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "Ajustar à área impressa" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "Ajustar à página completa" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "Nenhum; imprimir com o tamanho original" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" +"Habilitar esta opção irá permitir ao Okular contatar servidores OCSP de " +"terceiros para verificar se o certificado usado para assinar digitalmente " +"foi revogado desde sua criação." + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" +"Verificar a revogação das assinaturas digitais do certificado usando " +"servidores de terceiros" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "Infraestrutura de assinatura:" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" +"Essas assinaturas só podem ser validadas por usuários modernos do Okular com " +"o backend GnuPG ativado" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "Permitir chaves PGP para assinaturas (extensão do Okular)" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "Banco de dados de certificados" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "Padrão:" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "Personalizado:" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "Certificados disponíveis" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "&Carregar assinaturas" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "Opções do PDF" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "Imprimir anotações" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "Incluir anotações no documento impresso" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"Incluir anotações no documento impresso. Você pode desabilitar isto se " +"quiser imprimir o documento original sem anotações." + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "Forçar a rasterização" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "Rasterizar numa imagem antes de imprimir" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"Forçar a rasterização de cada página numa imagem antes de imprimi-la. Isto " +"normalmente apresenta um resultado ruim, mas é útil para imprimir documentos " +"que aparecem incorretamente impressos." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "Modo de escala para páginas impressas" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "Modo de escala:" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF v. %1.%2" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "Formato" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "Criptografado" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "Não criptografado" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "Segurança" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "Sim" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "Otimizado" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Assinado por: %1\n" +"\n" +"Data: %2" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "Usando o Poppler %1" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" +"Usando o Poppler %1\n" +"\n" +"Compilado com o Poppler %2" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "Configuração da infraestrutura PDF" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "Falha ao gravar arquivo temporário" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "Falha ao renomear arquivo temporário" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" +"Alguns erros foram encontrados no documento. O Okular pode não ser capaz de " +"mostrar o conteúdo corretamente" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" +"Essas assinaturas só funcionam entre versões modernas do Okular com o " +"backend baseado em GnuPG ativado" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "Habilitar assinaturas PGP" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "Emitido para" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "E-mail" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "Data de vencimento" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" +"Você está usando uma biblioteca Poppler sem suporte a NSS.\n" +"Adicionar assinaturas digitais não está disponível por este motivo" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "para sempre" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "Reinício necessário" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "" +"Você precisa reiniciar o Okular após alterar as configurações da pasta NSS" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter Password" +msgstr "Digite a senha" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "Digite a senha para abrir %1:" + +#~ msgid "Not Available" +#~ msgstr "Não disponível" + +#~ msgid "Select rasterization to enable this!" +#~ msgstr "Selecione a rasterização para ativar isto!" diff --git a/po/pt_BR/okular_tiff.po b/po/pt_BR/okular_tiff.po new file mode 100644 index 0000000..125d478 --- /dev/null +++ b/po/pt_BR/okular_tiff.po @@ -0,0 +1,28 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Luiz Fernando Ranghetti , 2020. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-07-16 11:23-0300\n" +"Last-Translator: Luiz Fernando Ranghetti \n" +"Language-Team: Brazilian Portuguese \n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Lokalize 20.04.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Luiz Fernando Ranghetti" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "elchevive@opensuse.org" diff --git a/po/pt_BR/okular_txt.po b/po/pt_BR/okular_txt.po new file mode 100644 index 0000000..a829150 --- /dev/null +++ b/po/pt_BR/okular_txt.po @@ -0,0 +1,51 @@ +# Translation of okular_txt.po to Brazilian Portuguese +# Copyright (C) 2013 This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# André Marcelo Alvarenga , 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_txt\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-05-20 08:21-0300\n" +"Last-Translator: André Marcelo Alvarenga \n" +"Language-Team: Brazilian Portuguese \n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Lokalize 1.5\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "André Marcelo Alvarenga" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "alvarenga@kde.org" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "Txt" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "Configuração da infraestrutura Txt" + +#~ msgid "Txt Backend" +#~ msgstr "Infraestrutura Txt" + +#~ msgid "Txt backend." +#~ msgstr "Infraestrutura Txt." + +#~ msgid "© 2013 Azat Khuzhin" +#~ msgstr "© 2013 Azat Khuzhin" + +#~ msgid "Azat Khuzhin" +#~ msgstr "Azat Khuzhin" diff --git a/po/pt_BR/okular_xps.po b/po/pt_BR/okular_xps.po new file mode 100644 index 0000000..1440762 --- /dev/null +++ b/po/pt_BR/okular_xps.po @@ -0,0 +1,59 @@ +# tradução do okular_xps.po para Brazilian Portuguese +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# André Marcelo Alvarenga , 2008, 2009. +# Luiz Fernando Ranghetti , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_xps\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-07-26 23:28-0300\n" +"Last-Translator: André Marcelo Alvarenga \n" +"Language-Team: Brazilian Portuguese \n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "André Marcelo Alvarenga" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "andrealvarenga@gmx.net" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "Revisão" + +#~ msgid "XPS Backend" +#~ msgstr "Infraestrutura XPS" + +#~ msgid "An XPS backend" +#~ msgstr "Uma infraestrutura XPS" + +#~ msgid "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" +#~ msgstr "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" + +#~ msgid "Brad Hards" +#~ msgstr "Brad Hards" + +#~ msgid "Jiri Klement" +#~ msgstr "Jiri Klement" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" diff --git a/po/pt_BR/org.kde.active.documentviewer.po b/po/pt_BR/org.kde.active.documentviewer.po new file mode 100644 index 0000000..32e7b39 --- /dev/null +++ b/po/pt_BR/org.kde.active.documentviewer.po @@ -0,0 +1,215 @@ +# Translation of org.kde.active.documentviewer.po to Brazilian Portuguese +# Copyright (C) 2012-2019 This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# André Marcelo Alvarenga , 2012, 2014, 2018, 2019. +# Luiz Fernando Ranghetti , 2017, 2020, 2021, 2022. +# SPDX-FileCopyrightText: 2025 Guilherme Marçal Silva +# SPDX-FileCopyrightText: 2025 Geraldo Simiao +msgid "" +msgstr "" +"Project-Id-Version: org.kde.active.documentviewer\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-30 19:28-0300\n" +"Last-Translator: Geraldo Simiao \n" +"Language-Team: Brazilian Portuguese \n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Lokalize 25.04.3\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "Favoritos" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "Visualizador de certificado" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "Emitido por" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "Nome comum:" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "E-mail:" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "Organização:" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "Emitido para" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "Validade" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "Emitido em:" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "Expira em:" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "Impressões digitais" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "Impressão digital SHA-1:" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "Impressão digital SHA-256:" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +msgid "Export…" +msgstr "Exportar…" + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "Fechar" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "Arquivo de certificado (*.cer)" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "Erro" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "Não foi possível exportar o certificado." + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "Okular" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "Abrir…" + +#: ui/Main.qml:49 +msgid "About" +msgstr "Sobre" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "Senha necessária" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "Remover favorito" + +#: ui/MainView.qml:29 +msgid "Bookmark this page" +msgstr "Adicionar esta página aos favoritos" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "Miniaturas" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "Sumário" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "Assinaturas" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "Propriedades da assinatura" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "Status da validade" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "Validade da assinatura:" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "Modificações no documento:" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "Informações adicionais" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "Assinado por:" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "Assinado em:" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "Motivo:" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "Localização:" + +#: ui/SignaturePropertiesPage.qml:96 +msgid "Document Version" +msgstr "Versão do documento" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Revisão do documento %1 de %2" + +#: ui/SignaturePropertiesPage.qml:108 +msgid "Save Signed Version…" +msgstr "Visualizar versão assinada…" + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +msgid "View Certificate…" +msgstr "Visualizar certificado…" + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "Não foi possível salvar a assinatura." + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "Não disponível" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "Nenhum resultado encontrado." + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "Nenhum documento aberto" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "Documentos recentes" + +#: ui/WelcomeView.qml:108 +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "Meus documentos" + +#~ msgid "Open..." +#~ msgstr "Abrir..." + +#~ msgid "Search..." +#~ msgstr "Pesquisar..." diff --git a/po/ro/okular.po b/po/ro/okular.po new file mode 100644 index 0000000..3b70d81 --- /dev/null +++ b/po/ro/okular.po @@ -0,0 +1,6576 @@ +# translation of kpdf.po to Romanian +# Copyright (C) 2004 Free Software Foundation, Inc. +# Claudiu Costin , 2003, 2004. +# SPDX-FileCopyrightText: 2008, 2009, 2020, 2021, 2022, 2024, 2025 Sergiu Bivol +# Laurenţiu Buzdugan , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: kpdf\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-10-20 11:01+0100\n" +"Last-Translator: Sergiu Bivol \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < " +"20)) ? 1 : 2;\n" +"X-Generator: Lokalize 25.08.1\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Sergiu Bivol" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sergiu@cip.md" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Okular, un vizualizator de documente universal" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "Fostul responsabil" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "Dezvoltator" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymanski" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "A creat Okular din codul KPDF" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "Enrico Ros" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "Dezvoltatorul KPDF" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "Eugene Trounev" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "Grafica adnotărilor" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "Jiri Baum - NICTA" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "Unealtă de selecție a tabelelor" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "Fabio D'Urso" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "Îmbunătățiri adnotare" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "Mergi la pagina %1" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "Deschide un fișier extern" + +#: core/action.cpp:197 +#, fuzzy, kde-format +#| msgid "Execute '%1'..." +msgid "Execute '%1'…" +msgstr "Execută „%1”…" + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "Prima pagină" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "Pagina precedentă" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "Pagina următoare" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "Ultima pagină" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "Înapoi" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "Înainte" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Ieșire" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "Începe prezentarea" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "Încheie prezentarea" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go To Page…" +msgstr "Mergi la pagina" + +#: core/action.cpp:365 +#, fuzzy, kde-format +#| msgid "Play sound..." +msgid "Play sound…" +msgstr "Redă sunet…" + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "Script JavaScript" + +#: core/action.cpp:483 +#, fuzzy, kde-format +#| msgid "Play movie" +msgid "Play movie…" +msgstr "Redă filmul" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "Redă filmul" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "Oprește filmul" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "Întrerupe filmul" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "Reia filmul" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "Acest Okular e construit fără suport sonor" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "Alegere platformă" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
    %1 (%2).

    Please select which one to use:
    " +msgstr "" +"Au fost găsite mai multe platforme pentru tipul MIME:
    %1 " +"(%2).

    Alegeți care dintre acestea să fie utilizată:
    " + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "Majoritatea paginilor sunt %1." + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "Portret %1" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "Peisaj %1" + +#: core/document.cpp:246 +#, fuzzy, kde-format +#| msgctxt "%1 is width, %2 is height, %3 is paper size name" +#| msgid "%1 x %2 in (%3)" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 x %2 țoli (%3)" + +#: core/document.cpp:248 +#, fuzzy, kde-format +#| msgctxt "%1 is width, %2 is height, %3 is paper size name" +#| msgid "%1 x %2 mm (%3)" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 x %2 mm (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "Se continuă căutarea de la început" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "Se continuă căutarea de la sfârșit" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "Nu poate fi găsit niciun modul capabil să manevreze documentul cerut." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "elimină adnotările" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"Documentul încearcă să execute o aplicație externă și, pentru siguranța " +"dumneavoastră, Okular nu permite acest lucru." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "" +"Nu a fost găsită nicio aplicație pentru deschiderea fișierului cu tipul MIME " +"%1." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "Fișierul temporar nu a putut fi deschis" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "Conversia pentru imprimare a eșuat" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "Procesul de imprimare s-a prăbușit" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "Procesul de imprimare nu s-a putut porni" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "Imprimarea în fișier a eșuat" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "Imprimanta era în stare nevalidă" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "Fișierul de tipărit nu a putut fi găsit" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "Nu era niciun fișier de tipărit" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "Dimensiunea de tipar a paginii nu e validă" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "Nu s-a putut deschide „%1”. Fișierul nu există" + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Titlu" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Subiect" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Descriere" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "Autor" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Creator" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Producător" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "Drept de autor" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "Pagini" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Creat" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Modificat" + +#: core/document.cpp:6032 +#, kde-format +msgid "MIME Type" +msgstr "Tip MIME" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "Categorie" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Cuvinte-cheie" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "Calea fișierului" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "Dimensiune fișier" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "Dimensiune pagină" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "adaugă adnotare" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "elimină adnotarea" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "modifică proprietățile adnotării" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "tradu adnotarea" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "ajustează adnotarea" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "modifică textul" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "modifică conținutul adnotării" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "modifică conținutul formularului" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "modifică stările butonului din formular" + +#: core/generator.cpp:790 +#, fuzzy, kde-format +#| msgid "Plain &Text..." +msgid "Plain &Text…" +msgstr "&Text simplu…" + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "Text OpenDocument" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "Opțiuni de imprimare" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "Încadrează în zona imprimabilă" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "Încadrează pe toată pagina" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "Regim de scalare:" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "Nu mai arăta acest mesaj" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "Indisponibil" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" + +#: core/signatureutils.cpp:498 +#, fuzzy, kde-kuit-format +#| msgctxt "@info" +#| msgid "Could not load the file %1" +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "Fișierul %1 nu a putut fi încărcat" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "" + +#: core/signatureutils.cpp:504 +#, fuzzy, kde-kuit-format +#| msgid "File not saved." +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "Fișier nesalvat." + +#: core/signatureutils.cpp:506 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown signing error" +msgstr "Fișier necunoscut" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Sursă: %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "&Font implicit:" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "Versiune" + +#: gui/certificatemodel.cpp:41 +#, kde-format +msgid "Serial Number" +msgstr "Număr de serie" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "Emitent" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "Emis la" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "Expiră la" + +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Subiect" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "Cheie publică" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "Utilizare cheie" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "V%1" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "%1 (%2 biți)" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "Proprietate" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "Valoare" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "Notă plutitoare" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "Mașină de scris" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "Notă în rând" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +#| msgid "Polygon with Comment" +msgid "Arrow with Comment" +msgstr "Poligon cu comentariu" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "Săgeată" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "Linie dreaptă cu comentariu" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "Linie dreaptă" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "Poligon cu comentariu" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "Poligon" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgid "Stamp with Comment" +msgid "Rectangle with Comment" +msgstr "Ștampilă cu comentariu" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "Dreptunghi" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgid "Underline with Comment" +msgid "Ellipse with Comment" +msgstr "Subliniat cu comentariu" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "Elipsă" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "Evidențiere cu comentariu" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "Evidențiere" + +#: gui/guiutils.cpp:87 +#, fuzzy, kde-format +#| msgid "Select text" +msgid "Squiggle with Comment" +msgstr "Selectează text" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "" + +#: gui/guiutils.cpp:91 +#, kde-format +msgid "Underline with Comment" +msgstr "Subliniat cu comentariu" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "Subliniat" + +#: gui/guiutils.cpp:95 +#, fuzzy, kde-format +#| msgid "Strike out" +msgid "Strike Out with Comment" +msgstr "Tăiat" + +#: gui/guiutils.cpp:95 +#, fuzzy, kde-format +#| msgid "Strike out" +msgid "Strike Out" +msgstr "Tăiat" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "Ștampilă cu comentariu" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "Ștampilă" + +#: gui/guiutils.cpp:106 +#, kde-format +msgid "Freehand Line with Comment" +msgstr "Linie cu mâna liberă cu comentariu" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "Linie liberă" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "Atașament cu fișier" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "Sunet" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "Film" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Ecran" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "Control grafic" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation" +msgstr "Adnotare" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "Necunoscut" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Autor: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "Unde doriți să salvați %1?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "Imposibil de deschis „%1” pentru scriere. Fișierul nu a fost salvat." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "Semnătura e validă din punct de vedere criptografic." + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "Semnătura nu e validă din punct de vedere criptografic." + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "" + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "" + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "Semnătura cerută nu e prezentă în document." + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "Semnătura nu a putut fi verificată." + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "Certificatul este de încredere." + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "Emitentul certificatului nu este de încredere." + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "Emitentul certificatului este necunoscut." + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "Certificatul a fost revocat." + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "Certificatul a expirat." + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "Certificatul nu a fost verificat încă." + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "" + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "MD2" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "MD5" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "SHA1" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "SHA256" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "SHA384" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "SHA512" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "SHA224" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "Algoritm necunoscut" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "RSA" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "DSA" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "EC" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "Tip necunoscut" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "Semnătură electronică" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "Criptează chei" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "Decriptează chei" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "Acord pentru chei" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "Semnează certificat" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "Semnează CRL" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "Doar criptare" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "Nicio utilizare specificată" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr ", " + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "Documentul nu a fost modificat de la semnare." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" +"Documentul a fost modificat într-un mod nepermis de către un semnatar " +"precedent." + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "Verificarea integrității documentului nu a putut fi finalizată." + +#: gui/signatureguiutils.cpp:208 +#, fuzzy, kde-format +#| msgid "This document has unsigned signature fields." +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "Acest document are câmpuri pentru semnătură nesemnate." + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "Acest document e semnat electronic." + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "" +"Acest document e semnat electronic. Au avut loc modificări de la ultima " +"semnare." + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" +"Acest document e semnat electronic. Unele semnături nu au putut fi validate " +"corespunzător." + +#: gui/signaturemodel.cpp:141 +#, fuzzy, kde-format +#| msgid "Signature Validity:" +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "Valabilitate semnătură:" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "Câmp: %1 pe pagina %2" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "Rev. %1: semnată de %2" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "Ora semnării: %1" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "Motiv: %1" + +#: gui/signaturemodel.cpp:177 +#, kde-format +msgid "Location: %1" +msgstr "Amplasare: %1" + +#: gui/signaturemodel.cpp:185 +#, fuzzy, kde-format +#| msgid "Signatures" +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "Semnături" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "" + +#: gui/signaturemodel.cpp:193 +#, fuzzy, kde-format +#| msgctxt "Unknown author" +#| msgid "Unknown" +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "Necunoscut" + +#: gui/signaturemodel.cpp:195 +#, fuzzy, kde-format +#| msgid "Signature Validity:" +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "Valabilitate semnătură:" + +#: gui/signaturemodel.cpp:201 +#, fuzzy, kde-format +#| msgid "Signature Validity:" +msgid "Signature Type: %1" +msgstr "Valabilitate semnătură:" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "Roșu" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "Portocaliu" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "Galben" + +#: part/annotationactionhandler.cpp:151 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "Verde" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "Turcoaz" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "Albastru" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "Purpuriu" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "Alb" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "Gri" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "Negru" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "Lățime %1" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1%" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "Lățime linie adnotare (nicio adnotare aleasă)" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "Culoare adnotare (nicio adnotare aleasă)" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "Culoare umplere adnotare (nicio adnotare aleasă)" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "Opacitate adnotare (nicio adnotare aleasă)" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "Font adnotare (nicio adnotare aleasă)" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" +"Adaugă adnotarea actuală la meniul de adnotări rapide (nicio adnotare aleasă)" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" +"Configurări avansate pentru unealta de adnotare actuală (nicio adnotare " +"aleasă)" + +#: part/annotationactionhandler.cpp:308 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Lățime linie adnotare" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "" + +#: part/annotationactionhandler.cpp:314 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Culoare text adnotare" + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "Culoare contur adnotare" + +#: part/annotationactionhandler.cpp:318 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Culoare adnotare" + +#: part/annotationactionhandler.cpp:322 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Culoare umplere adnotare" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "Culoare umplere adnotare (adnotarea actuală nu are culoare de umplere)" + +#: part/annotationactionhandler.cpp:328 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "Font adnotare" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "Font adnotare (adnotarea actuală nu are font)" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "Constrânge unghiul liniei la pas de 15°" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "Constrânge raportul formei la 1:1" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" + +#: part/annotationactionhandler.cpp:341 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Opacitate adnotare" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "Adaugă adnotarea actuală la meniul de adnotări rapide" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "Configurări avansate pentru unealta de adnotare actuală" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "Culoare" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "Culoare umplere" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "Transparent" + +#: part/annotationactionhandler.cpp:445 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "Custom Color..." +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "Culoare personalizată…" + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "Alege culoarea" + +#: part/annotationactionhandler.cpp:552 +#, kde-format +msgid "&Annotations" +msgstr "&Adnotări" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "Ascunde" + +#: part/annotationactionhandler.cpp:554 +#, kde-format +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Arată unelte de adnotare suplimentare" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "Evidențiere" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "Subliniere" + +#: part/annotationactionhandler.cpp:559 +#, fuzzy, kde-format +#| msgid "Select text" +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "Selectează text" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "Tăiere" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Mașină de scris" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "Notă în rând" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "Notă flotantă" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "Linie liberă" + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "Linie dreaptă" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "Săgeată" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "Dreptunghi" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "Elipsă" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "Poligon" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "Figuri geometrice" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "Ștampilă" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Adnotări rapide" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "Alegeți o unealtă de adnotare dintre adnotările rapide" + +#: part/annotationactionhandler.cpp:651 +#, kde-format +msgid "Quick Annotation Bar" +msgstr "Bară cu adnotări rapide" + +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "Adaugă la adnotări rapide" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "Ține activă" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "Ține unealta de adnotare activă după folosire" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "Constrânge raportul și unghiul uneltelor de adnotare" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "Font" + +#: part/annotationactionhandler.cpp:681 +#, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Configurări adnotare" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "Grosimea liniei" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "Opacitate" + +#: part/annotationactionhandler.cpp:696 +#, kde-format +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1%" + +#: part/annotationmodel.cpp:320 +#, kde-format +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "Pagina %1 (%2)" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "Pagina %1" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "Adnotare" +msgstr[1] "%1 adnotări" +msgstr[2] "%1 de adnotări" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "Deschide n&ota plutitoare" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Elimină semnul de carte" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Adaugă semn de carte" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, kde-format +msgid "Copy Text to Clipboard" +msgstr "Copiază textul în clipboard" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "Copiere interzisă de DRM" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "Ș&terge" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "&Proprietăți" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, fuzzy, kde-format +#| msgctxt "%1 is the name of the file to save" +#| msgid "&Save '%1'..." +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "&Salvează „%1”…" + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "&Aspect" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "&General" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&Autor:" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "Creat:" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "Modificat:" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "Proprietăți notă plutitoare" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "Proprietăți mașină de scris" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "Proprietăți notă în rând" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "Proprietăți linie dreaptă" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "Proprietăți poligon" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "Proprietăți geometrie" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "Proprietăți marcare textuală" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "Proprietăți ștampilă" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "Proprietăți linie liberă" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "Proprietăți atașament fișier" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "Proprietăți sunet" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "Proprietăți film" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "Proprietăți adnotare" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "Alege simbol personalizat pentru ștampilă din fișier" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "Alege simbol personalizat pentru ștampilă" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" +"*.ico *.png *.xpm *.svg *.svgz | Fișiere pictogramă (*.ico *.png *.xpm *.svg " +"*.svgz)" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "Fișierul %1 nu a putut fi încărcat" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "Fișier eronat" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&Culoare:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%1%" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "&Opacitate:" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "Pictogramă:" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "Comentariu" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "Ajutor" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "Inserează" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "Cheie" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "Paragraf nou" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "Notă" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "Paragraf" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Font:" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "&Culoare text:" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "&Aliniere:" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "Stânga" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "Centru" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "Dreapta" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "Lățime cont&ur:" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "Aprobat" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "Așa cum este" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "Confidențial" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "Departmental" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "Ciornă" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "Experimental" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "Expirat" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "Final" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "Pentru comentare" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "Pentru public" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "Neaprobat" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "Nu pentru public" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "Vândut" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "Strict secret" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "Semn de carte" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "Informații" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "Simbol ștampilă:" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "&Lățime:" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "Început linie:" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "Sfârșit linie:" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "Pătrat" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "Cerc" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "Diamant" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "Săgeată deschisă" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "Săgeată închisă" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "Niciunul" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "Săgeată deschisă la dreapta" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "Săgeată închisă la dreapta" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "Bară oblică" + +#: part/annotationwidgets.cpp:531 +#, fuzzy, kde-format +#| msgid "Underline" +msgid "Leader line length:" +msgstr "Subliniat" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "Activat" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "Umplere formă:" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Tip:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "Tăiat" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "Simbol pentru atașament-fișier:" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "Grafic" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "Piuneză" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "Agrafă" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "Marcaj" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "Fișier" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "Indisp." + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "Nicio descriere disponibilă." + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "Denumire:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "Descriere:" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "Niciunul" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "Închide această notă" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "Opțiuni" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"Această adnotare poate conține cod LaTeX.\n" +"Apăsați aici pentru randare." + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "Executabilul latex nu poate fi găsit." + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "Randarea LaTeX a eșuat" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "" + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "" + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "" + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"Un semn de carte" +msgstr[1] "" +"%1\n" +"\n" +"%2 semne de carte" +msgstr[2] "" +"%1\n" +"\n" +"%2 de semne de carte" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Semne de carte" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "Arată pentru toate documentele" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, fuzzy, kde-format +#| msgid "S&earch:" +msgid "Search…" +msgstr "C&aută:" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, fuzzy, kde-format +#| msgid "Expand all" +msgid "Expand All" +msgstr "Desfășoară tot" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, fuzzy, kde-format +#| msgid "Collapse all" +msgid "Collapse All" +msgstr "Restrânge tot" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "Mergi la acest semn de carte" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "Redenumește semnul de carte" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Deschide document" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "Elimină toate semnele de carte pentru acest document" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "Vizualizor de certificate" + +#: part/certificateviewer.cpp:50 +#, fuzzy, kde-format +#| msgid "Export..." +msgid "Export…" +msgstr "Exportă..." + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "Generale" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "Emis de" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "Nume comun (CN)" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "Email" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "Organizație (O)" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "Emis către" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "Valabilitate" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "Amprente" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "Amprentă SHA-1" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "Amprentă SHA-256" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "Detalii" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "Date certificat:" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "Unde doriți să salvați acest certificat?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "Fișier cu certificat (*.cer)" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "Certificatul nu a putut fi exportat" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "Regim &color" + +#: part/colormodemenu.cpp:21 +#, kde-format +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "Schimbă culorile" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "Culori &normale" + +#: part/colormodemenu.cpp:41 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "&Inversează culorile" + +#: part/colormodemenu.cpp:42 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "Schim&bă culoarea hârtiei" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "Schimbă culorile închise și &deschise" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "Conversie în al&b-negru" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "Inversează &luminozitatea" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "Inversează l&uminanța (sRGB liniar)" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "Inversează luminanța (&simetric)" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "Roșu" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "Verde" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "Albastru" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "Galben" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "Negru" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "Alb" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "Evidențiator galben" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "Evidențiator verde" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "Inserează text" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "Desenează contur în jurul legăturilor" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "Schimbă culorile" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "" +"Avertizare: aceste opțiuni pot afecta negativ viteza de desenare." + +#: part/dlgaccessibility.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "Inversează culorile" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "Schimbă culoarea hârtiei" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "Schimbă culorile închise și deschise" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "Conversie în alb-negru" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "Inversează luminozitatea" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "Inversează luminanța (sRGB liniar)" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "Inversează luminanța (simetric)" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "Regim color:" + +#: part/dlgaccessibility.cpp:87 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Culoarea hârtiei:" + +#: part/dlgaccessibility.cpp:99 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Culoare întunecată:" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "Culoare luminoasă:" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "Prag:" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Contrast:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "Motor de text-în-vorbire:" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "Voce pentru text-în-vorbire:" + +#: part/dlgannotations.cpp:25 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Bară cu adnotări deplină" + +#: part/dlgannotations.cpp:26 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Bară cu adnotări rapide" + +#: part/dlgannotations.cpp:28 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Bară cu adnotări:" + +#: part/dlgannotations.cpp:34 +#, kde-format +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "Autor:" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"Notă: informația de aici e folosită doar pentru adnotări. Informația " +"e salvată în documentele adnotate, deci va fi transmisă împreună cu " +"documentul." + +#: part/dlgannotations.cpp:48 +#, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

    Quick Annotation Tools

    " +msgstr "

    Unelte de adnotare rapidă

    " + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" +"Alegeți redactorul care să fie lansat când Okular vrea să deschidă un fișier-" +"sursă." + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "Redactor de text personalizat" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Client Emacs" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "Client Lyx" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "TeXstudio" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "TeXiFy IDEA" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "Redactor:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
    \n" +"You can also put few placeholders:\n" +"
      \n" +"
    • %f - the file name
    • \n" +"
    • %l - the line of the file to be reached
    • \n" +"
    • %c - the column of the file to be reached
    • \n" +"
    \n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "Comandă:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "Folosește derulare lină" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "Aspect:" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "Arată barele de derulare" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "Leagă miniaturile de pagină" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "Arată indicii și mesaje informative" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "Înștiințează despre fișiere înglobate, formulare, sau semnături" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "Afișează titlul documentului în bara de titlu dacă e disponibil" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "Afișează doar denumirea fișierului" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "Afișează calea completă a fișierului" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "Când nu se afișează titlul documentului:" + +#: part/dlggeneral.cpp:92 +#, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "Folosește culoare de fundal personalizată:" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "Caracteristici program:" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "Deschide fișierele noi în file" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "Schimbă la fila existentă dacă fișierul e deschis deja" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "Respectă limitările DRM" + +#: part/dlggeneral.cpp:148 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "Reîncarcă documentul la modificarea fișierului" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "Arată dialogul de alegere a platformei" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "Direcție de citire de la stânga la dreapta" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" + +#: part/dlggeneral.cpp:178 +#, fuzzy, kde-format +#| msgctxt "@option:check Config dialog, general page" +#| msgid "Open in continuous mode by default" +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "Deschide implicit în regim continuu" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "Deschide implicit în regim continuu" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "Coloane pentru privire generală:" + +#: part/dlggeneral.cpp:220 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%1%" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "" + +#: part/dlggeneral.cpp:228 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%1%" + +#: part/dlggeneral.cpp:232 +#, fuzzy, kde-format +#| msgctxt "item:inlistbox Config dialog, general page, default zoom" +#| msgid "100%" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "100%" + +#: part/dlggeneral.cpp:233 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "Potrivire lățime" + +#: part/dlggeneral.cpp:234 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "Potrivire pagină" + +#: part/dlggeneral.cpp:235 +#, fuzzy, kde-format +#| msgid "Auto Fit" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "Potrivire automată" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "Apropiere implicită:" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "Activează efectele de transparență" + +#: part/dlgperformance.cpp:28 +#, kde-format +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "Utilizare procesor:" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "Scăzută" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "Normală (implicit)" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "Agresivă" + +#: part/dlgperformance.cpp:38 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "Lacomă" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "Utilizare memorie:" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "Activează anti-crenelarea textului" + +#: part/dlgperformance.cpp:56 +#, kde-format +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "Opțiuni de randare:" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "Activează anti-crenelare grafică" + +#: part/dlgperformance.cpp:64 +#, fuzzy, kde-format +#| msgid "Enable transitions" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "Activează tranziții" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"Ține memoria la nivel cât mai scăzut. Nu reutiliza nimic. (Pentru sisteme cu " +"puțină memorie.)" + +#: part/dlgperformance.cpp:80 +#, fuzzy, kde-format +#| msgid "" +#| "A good compromise between memory usage and speed gain. Preload next page " +#| "and boost searches. (For systems with 256MB of memory, typically.)" +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"Un compromis între utilizarea memoriei și viteză. Preîncarcă pagina " +"următoare și accelerează căutările. (Tipic pentru sisteme cu 256MO de " +"memorie.)" + +#: part/dlgperformance.cpp:83 +#, fuzzy, kde-format +#| msgid "" +#| "Keeps everything in memory. Preload next pages. Boost searches. (For " +#| "systems with more than 512MB of memory.)" +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"Păstrează totul în memorie. Preîncarcă paginile următoare. Accelerează " +"căutările. (Pentru sisteme cu peste 512MO de memorie.)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" + +#: part/dlgpresentation.cpp:38 +#, fuzzy, kde-format +#| msgctxt "Advance every %1 seconds" +#| msgid " second" +#| msgid_plural " seconds" +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] " secundă" +msgstr[1] " secunde" +msgstr[2] " de secunde" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "Avansează automat:" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "Dezactivată" + +#: part/dlgpresentation.cpp:63 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Navigare prin atingere:" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "Culoare fundal:" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "Ascuns cu întârziere" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "Vizibil întotdeauna" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "Ascuns întotdeauna" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "Cursor maus:" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "Arată indicator de progres" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "Arată pagina cu sumar" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "Instant (nu folosi animații)" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "Înlocuire" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "Tranziție aleatoare" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "Dizolvare" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "Estompare" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "" + +#: part/dlgpresentation.cpp:110 +#, fuzzy, kde-format +#| msgid "Rotate &Right" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "&Rotește la dreapta" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "" + +#: part/dlgpresentation.cpp:117 +#, fuzzy, kde-format +#| msgid "Copyright" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "Drept de autor" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "" + +#: part/dlgpresentation.cpp:121 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Tranziție implicită:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "Ecran preferat:" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

    Drawing Tools

    " +msgstr "

    Unelte pentru desen

    " + +#: part/dlgpresentation.cpp:171 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Ecranul actual" + +#: part/dlgpresentation.cpp:172 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Ecranul implicit" + +#: part/dlgpresentation.cpp:178 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "Ecranul %1 (%2 %3 %4)" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "Ecranul %1 (deconectat)" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "Unealtă pentru desen: %1" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "Radieră" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "De&numire:" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "&Tip:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "Aspect" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "Marcaj textual" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "Figură geometrică" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "Creează unealtă de adnotare" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "Modifică unealta de adnotare" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "Culoare:" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "Lățime &peniță:" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "%v px" + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "Creează unealtă pentru desen" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "Modifică unealta pentru desen" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "Necunoscută" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Fișiere înglobate" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "Vezi" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "Denumire" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "Descriere" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "Dimensiune" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "Creat" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "Modificat" + +#: part/embeddedfilesdialog.cpp:154 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "&Salvează ca…" + +#: part/embeddedfilesdialog.cpp:155 +#, kde-format +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "&Vizualizare…" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "Nu pot încărca componenta de previzualizare pentru tipărire" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "Previzualizare tipărire" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "Închide" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "&Caută:" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "Text de căutat" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Următoarea" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "Sari la următoarea potrivire" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Precedenta" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "Sari la potrivirea precedentă" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "Modifică comportamentul căutării" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "Sensibil la registru" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "De la pagina curentă" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "Caută pe măsură ce scrieți" + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "Toate fișierele (*)" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "Locul ștampilei (apăsați pentru a semna)" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "&Semnează…" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "Proprietăți semnătură" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "Opțiuni căutare" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "Sensibil la registru" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "Expresie regulată" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "Straturi" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "din" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "Apropiere" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "Apropie la 100%" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "&Rotește la dreapta" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "Dreapta" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "Rotește &la stânga" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "Stânga" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "Orientare originală" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "&Tunde vizualizarea" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "&Tunde marginile" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "Tunde la &selecție" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "Potri&vește lățimea" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "Potrivește &pagina" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "Potrivire &automată" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "Potrivește fereastra la pagi&nă" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "Regim &vizualizare" + +#: part/pageview.cpp:594 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "O &singură pagină" + +#: part/pageview.cpp:595 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "P&agini alăturate" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "Pagini alăturate (¢rează prima pagină)" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "&Sumar" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "&Continuu" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "Folosește direcție de citire de la stânga la dreapta" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "&Răsfoiește" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "&Apropie" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "Alegere &zonă" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "Alegere &text" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "Alegere t&abel" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "&Lupă" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "Unelte de alegere" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "&Semnează digital…" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "Vorbește tot documentul" + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "Vorbește de la pagina curentă" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "Vorbește pagina curentă" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "Oprește vorbirea" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "Întrerupe/reia vorbirea" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "Derulează în sus" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Derulează în jos" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "Derulează o pagină mai sus" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "Derulează o pagină mai jos" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "Arată formulare" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] " Un document de o pagină încărcat." +msgstr[1] " Un document de %1 pagini încărcat." +msgstr[2] " Un document de %1 de pagini încărcat" + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "Copiază conținutul tabelului în clipboard" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "Text (1 caracter)" +msgstr[1] "Text (%1 caractere)" +msgstr[2] "Text (%1 de caractere)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "Copiază în clipboard" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "Vorbește textul" + +#: part/pageview.cpp:2863 +#, kde-format +msgid "Image (%1 × %2 pixels)" +msgstr "Imagine (%1 × %2 pixeli)" + +#: part/pageview.cpp:2865 +#, kde-format +msgid "Save to File…" +msgstr "Salvează în fișier…" + +#: part/pageview.cpp:2885 +#, kde-format +msgid "Image [%1 × %2] copied to clipboard." +msgstr "Imagine [%1 × %2] copiată în clipboard." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "Salvează fișierul" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "Imagini (*.png *.jpeg)" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "Fișier nesalvat." + +#: part/pageview.cpp:2901 +#, kde-format +msgid "Image [%1 × %2] saved to %3 file." +msgstr "Imagine [%1 × %2] salvată în fișierul %3." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "Copiază textul" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "Mergi la „%1”" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "Potrivire lățime" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "Potrivire pagină" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "Potrivire automată" + +#: part/pageview.cpp:4107 +#, kde-format +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1%" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "Caută „%1” cu" + +#: part/pageview.cpp:4404 +#, kde-format +msgid "Configure Web Shortcuts…" +msgstr "Configurare scurtături web…" + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "Urmează această legătură" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "Redă acest sunet" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "Oprește sunetul" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "Copiază adresa legăturii" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "Caută „%1” în acest document" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Bun venit" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "Alegeți zona de apropiere. Clic drept pentru îndepărtare." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "Apăsați pentru vizualizare mărită." + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "Desenează un dreptunghi în jurul textului/imaginilor de copiat." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "Selectează text" + +#: part/pageview.cpp:5172 +#, fuzzy, kde-format +#| msgid "Draw a rectangle around the text/graphics to copy." +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "Desenează un dreptunghi în jurul textului/imaginilor de copiat." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" +"Toate certificatele dumneavoastră pentru semnare nu sunt valide. Dacă " +"semnarea a funcționat înainte,verificați datele de valabilitate ale acestora." + +#: part/pageview.cpp:5188 +#, kde-format +msgid "No valid certificates" +msgstr "Niciun certificat valabil" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, kde-format +msgid "Open Certificate Manager" +msgstr "Deschide gestionarul de certificate" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
    Launch Certificate Manager " +"to import or manage certificates
    For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, kde-format +msgid "No certificates found" +msgstr "Niciun certificat găsit" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
    For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "Aveți modificări nesalvate. Salvați documentul înainte de a-l semna." + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "Desenați un dreptunghi pentru a insera câmpul cu semnătură" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "" +"Desenați un dreptunghi în jurul zonei din pagină pe care doriți să o lăsați " +"vizibilă" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "Notă textuală nouă" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "Textul noii note:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Semnat de: %1\n" +"\n" +"Dată: %2" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" +"O semnătură de această mărime poate fi prea mică pentru citit. Dacă doriți " +"să creați o semnătură potențial mai lizibilă, apăsați Ia de la " +"capăt și desenați un dreptunghi mai mare." + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "Ia de la capăt" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "Semnează" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name" +msgstr "Numele autorului" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name for the annotation:" +msgstr "Numele autorului pentru adnotare:" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "Desenează o elipsă (trageți pentru a alege o zonă)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "Evidențiază text" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "Desenează o linie liberă" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "Adnotare text în rând (trageți pentru a alege o zonă)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "Pune o notă plutitoare" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "Desenează un poligon (apăsați pe primul punct pentru a-l închide)" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "Desenează un dreptunghi" + +#: part/pageviewannotator.cpp:1404 +#, fuzzy, kde-format +#| msgid "Select text" +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "Selectează text" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "Pune un simbol ca ștampilă" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "Desenează o linie dreaptă" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "Taie text" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "Subliniază text" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "Adnotare la mașina de scris (trageți pentru a alege o zonă)" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "Evidențiator" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "Adaugă adnotare favorită" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Custom annotation name:" +msgstr "Denumire adnotare personalizată:" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&Fișier" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "&Configurări" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "&Ajutor" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "&Orientare" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "&Semne de carte" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "Bară de unelte vizualizor" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Miniaturi" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "Adnotări" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
    Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"Documentul conține fișiere încorporate. Apăsați aici pentru a le vedea sau mergeți la Fișier -> Fișiere " +"încorporate." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "Semnare în curs. Puteți ajusta poziția și dimensiunea semnăturii" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "Termină semnarea" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "Precedentă" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "Mergi înapoi la pagina precedentă" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "Trece la pagina precedentă a documentului" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "Următoare" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "Avansează la pagina următoare" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "Trece la pagina următoare a documentului" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "Începutul documentului" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "Trece la începutul documentului" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "Sfârșitul documentului" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "Trece la sfârșitul documentului" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "Redenumește semnul de carte actual" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "Semnul de carte precedent" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "Mergi la semnul de carte precedent" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "Semnul de carte următor" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "Mergi la semnul de carte următor" + +#: part/part.cpp:748 +#, kde-format +msgid "Configure Okular…" +msgstr "Configurează Okular…" + +#: part/part.cpp:751 +#, kde-format +msgid "Configure Viewer…" +msgstr "Configurează vizualizorul…" + +#: part/part.cpp:757 +#, kde-format +msgid "Configure Viewer Backends…" +msgstr "Configurează platformele vizualizorului…" + +#: part/part.cpp:759 +#, kde-format +msgid "Configure Backends…" +msgstr "Configurează platformele…" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "Despre platformă" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "&Reîncarcă" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "Reîncarcă documentul actual de pe disc." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "Închide &bara de căutare" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "Număr pagină" + +#: part/part.cpp:817 +#, kde-format +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "Configurează regimuri de culoare…" + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "Selectează tot textul de pe pagina actuală" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "&Arată bara laterală" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "Arată &bara cu pagini" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "Arată panoul cu &semnături" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "Fișier&e încorporate" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "E&xportă ca" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "Parta&jează" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "P&rezentare" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "Deschide dosarul conțină&tor" + +#: part/part.cpp:945 +#, kde-format +msgid "&Import PostScript as PDF…" +msgstr "&Importă PostScript ca PDF…" + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "Șterge desenul" + +#: part/part.cpp:962 +#, kde-format +msgid "Configure Annotations…" +msgstr "Configurează adnotările…" + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "Redă/întrerupe prezentarea" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" + +#: part/part.cpp:1123 +#, kde-format +msgid "Document can't be saved" +msgstr "Documentul nu poate fi salvat" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "Nu s-a putut deschide „%1” (%2) " + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "Încărcarea %1 a fost anulată." + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "Nu s-a putut deschide %1. Motivul: %2" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "Configurează platformele vizualizorului" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "Configurează platformele" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"Programul „ps2pdf” nu a fost găsit, astfel încît Okular nu poate importa " +"fișiere PS utilizîndu-l." + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "ps2pdf nu a fost găsit" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "Fișiere PostScript (%1)" + +#: part/part.cpp:1357 +#, kde-format +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "Import fișier PS ca PDF (poate dura ceva timp)…" + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "Introduceți parola pentru a citi documentul:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "Parolă greșită. Reîncercați:" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "Parola documentului" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" +"Acest document conține formulare XFA, care nu sunt susținute momentan." + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"Acest document conține formulare. Apăsați butonul pentru a interacționa cu " +"acestea sau utilizați Vizualizare -> Arată formularele." + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" +"Toate caracteristicile de redactare și interactive sunt dezactivate pentru " +"acest document. Salvați o copie și redeschideți documentul pentru a-l " +"redacta." + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" +"Acest document vrea să fie afișat pe tot ecranul.\n" +"Părăsiți regimul normal și întrați în regim de prezentare?" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "Cerere de schimbare a regimului de vizualizare" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "Intră în regim de prezentare" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "Refuză cererea" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "Nu s-a putut deschide %1. %2" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "Fișier modificat" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "Continuă reîncărcarea" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "Abandonează reîncărcarea" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "Continuă închiderea" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "Abandonează închiderea" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "Doriți să salvați modificările pentru „%1” sau le aruncați?" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "Închide documentul" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"Această legătură indică spre o acțiune de închidere a documentului care nu " +"funcționează în cazul folosirii vizualizorului înglobat." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"Această legătură indică spre o acțiune de terminare a programului care nu " +"funcționează în cazul folosirii vizualizorului înglobat." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, kde-format +msgid "Reloading the document…" +msgstr "Se reîncarcă documentul…" + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "Conținut" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "Semnături" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Mergi la pagina" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "&Pagina:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "Introduceți noua denumire a semnului de carte:" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "Redenumește acest semn de carte" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "Elimină acest semn de carte" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "Salvează ca" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "Extensie nesusținută" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "Alege denumire nouă" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "Salvează - Avertisment" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "Salvează copie în altă parte" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
    In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "Fișierul temporar nu a putut fi deschis pentru salvare." + +#: part/part.cpp:2726 +#, fuzzy, kde-kuit-format +#| msgid "File not saved." +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "Fișier nesalvat." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "" +"Fișierul nu a putut fi salvat la „%1”. Încercați să-l salvați în altă parte." + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "Conținutul formularului completat" + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "Adnotările utilizatorului" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "Avertisment" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, fuzzy, kde-format +#| msgid "Save as Okular document archive..." +msgid "Save as Okular document archive…" +msgstr "Salvează ca arhivă de documente Okular…" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "Continuă" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "Continuă cu pierderea modificărilor" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "Fișierul nu a putut fi salvat la „%1”. %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"Okular nu poate copia %1 la locul specificat.\n" +"\n" +"Documentul nu mai există." + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" +"Fișierul nu a putut fi salvat la „%1”. Eroare: „%2”. Încercați să-l salvați " +"în altă parte." + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "Expand whole section" +msgid "Expand Whole Section" +msgstr "Desfășoară toată secțiunea" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "Collapse whole section" +msgid "Collapse Whole Section" +msgstr "Restrânge toată secțiunea" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "Sincronizează miniatura cu pagina" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Unelte" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "Vorbește" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "Tipărește" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "Tipărirea acestui document nu este permisă." + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "Mergi la locul precedent" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "Mergi la locul următor" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "Niciun semn de carte" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "A fost o problemă cu partajarea documentului: %1" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "Partajează" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "Document partajat cu succes" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "Puteți găsi documentul partajat la: %1" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "&Editare" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "&Vizualizare" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "Mer&gi" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "Unel&te" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "Bara de unelte principală" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "Bară cu adnotări" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, kde-format +msgid "Quick Annotation Toolbar" +msgstr "Bară cu adnotări rapide" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "Opțiuni generale" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Accesibilitate" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Performanță" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "Acordarea performanțelor" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "Configurează vizualizorul" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Prezentare" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "Opțiuni pentru regimul de prezentare" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "Opțiuni adnotare" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "Editor" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "Opțiuni editor" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "Caută următorul" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 – Prezentare" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "Comută ecranul" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "Ecranul %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "Părăsește regimul de prezentare" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Titlu: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Pagini: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "Faceți clic pentru a începe" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "Întrerupe" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "Redă" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "Se face o prezentare" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "Fișier necunoscut" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "Proprietăți %1" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "&Fonturi" + +#: part/propertiesdialog.cpp:145 +#, kde-format +msgid "Reading font information…" +msgstr "Se citesc informații despre fonturi…" + +#: part/propertiesdialog.cpp:158 +#, kde-format +msgid "&Page Sizes" +msgstr "Dimensiuni &pagină" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "&Extrage fontul" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Tip 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Tip 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "Tip 1C (OT)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Tip 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType (OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID Tip 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID Tip 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID Tip 0C (OT)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType (OT)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "TeX PK" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "TeX virtual" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "Necunoscut" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "Încorporat (subset)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "Complet încorporat" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "Nu" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "Da (subset)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "Da" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "%1 (substituit cu %2)" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "[indisp.]" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "Font necunoscut" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "Încorporat: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "Denumire" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "Tip" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "Fișier" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "Pagină" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "Dimensiune" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "Previzualizare revizie" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "Unde doriți să salvați această revizie?" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "Fișierul %1 nu a putut fi salvat." + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "Revizia nu a putut fi văzută." + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "Introduceți cel puțin 3 litere pentru a filtra paginile" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "Sensibil la registru" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "Potrivește fraza" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "Potrivește toate cuvintele" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "Potrivește oricare cuvînt" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "Opțiuni filtru" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, kde-format +msgid "Certificates" +msgstr "Certificate" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "Alege certificatul pentru semnare:" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "Toate" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, kde-format +msgid "Only QES certificates" +msgstr "Doar certificate QES" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "Doar chei PGP" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "Motiv:" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, kde-format +msgid "optional" +msgstr "opțional" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "Amplasare:" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, kde-format +msgid "Background:" +msgstr "Fundal:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "Alege…" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, kde-format +msgid "Recent backgrounds:" +msgstr "Fundaluri recente:" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

    No annotations

    To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
    " +msgstr "" +"

    Nicio adnotare

    Pentru a crea adnotări noi, apăsați " +"F6 sau alegeți Unelte -> Adnotări din meniu.
    " + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "Grupează după pagină" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "Grupează după autor" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "Arată numai adnotările pentru pagina actuală" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "Desfășoară toate elementele" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "Restrânge toate elementele" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "Proprietăți" + +#: part/signaturepartutils.cpp:180 +#, kde-format +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Imagini (%1)" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "Alege imaginea de fundal" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "Uită imaginea" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "Uită toate imaginile" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "Introduceți parola (dacă este) pentru deblocarea certificatului: %1" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "Introduceți parola certificatului" + +#: part/signaturepartutils.cpp:244 +#, kde-format +msgid "Enter document password" +msgstr "Introduceți parola documentului" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "Salvează fișier semnat ca" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "%1_semnat.%2" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "Stare valabilitate" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "Valabilitate semnătură:" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "Modificări document:" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "Informații suplimentare" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "Semnat de:" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "Ora semnării:" + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "Versiune document" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Revizie document %1 din %2" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "Vezi versiunea semnată…" + +#: part/signaturepropertiesdialog.cpp:95 +#, kde-format +msgid "View Certificate…" +msgstr "Vezi certificatul…" + +#: part/signaturepropertiesdialog.cpp:97 +#, kde-format +msgid "View in Certificate Manager" +msgstr "Vezi în gestionarul de certificate" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "Gestionarul de certificate KDE (kleopatra) nu a fost găsit" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "Calificat" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "PGP" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "Arată numai paginile însemnate" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "Redă" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Întrerupe" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "Oprește" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "Acest Okular nu susține videoclipuri" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "Acest Okular nu susține videoclipuri" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "&Adaugă…" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, kde-format +msgid "&Edit…" +msgstr "&Modifică…" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "&Elimină" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "Mută în s&us" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "Mută în &jos" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "Unealtă de desen implicită #%1" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "Există deja o unealtă cu acea denumire. Se folosește una implicită" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "Denumire duplicată" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "Pagina documentului de afișat" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "Pornește documentul în regim de prezentare" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "Pornește cu dialogul de imprimare" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "Pornește cu dialogul de imprimare și ieși după imprimare" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "Control „Instanță unică”" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "Nu ridică fereastra" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "Găsește un șir în text" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "Stabilește comanda de redactor extern" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "Documente de deschis. Specificați „-” pentru a citi intrarea standard." + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "" +"Eroare: Nu se poate deschide mai mult de un document cu opțiunea --unique" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" +"Eroare: Nu se poate deschide mai mult de un document cu opțiunea --" +"presentation" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "" +"Eroare: Nu se poate deschide mai mult de un document cu opțiunea --print" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "" +"Eroare: Nu se poate deschide mai mult de un document cu opțiunea --page" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "" +"Eroare: Nu se poate deschide mai mult de un document cu opțiunea --find" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "Componenta Okular nu poate fi găsită: %1" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "Bara laterală" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" +"O instanță unică Okular rulează deja. Această instanță nu va fi cea unică." + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "Componenta Okular nu poate fi găsită." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"Apăsați pentru a deschide un fișier\n" +"Țineți apăsat pentru a deschide un fișier recent" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"Apăsați pentru a deschide un fișier sau țineți apăsat pentru a " +"alege un fișier recent" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "Fila următoare" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "Fila precedentă" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "Desfă închiderea filei" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "Blochează bara laterală" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "Toate fișierele (*)" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "Toate fișierele susținute (%1)" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "Deschide documentul" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "Confirmă închiderea" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "Închide filele" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "Sunteți pe cale să închideți %1 file. Sigur doriți să continuați?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "Avertizează-mă când încerc să închid mai multe file" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "&Copiază calea" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "Deschide d&osarul conținător" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "&Uită acest element" + +#: shell/welcomescreen.cpp:137 +#, kde-format +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "Nu sunt documente recente" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "Bun veni în Okular" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Deschide document…" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, kde-format +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Documente recente" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "Uită tot" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "Ascunde ecranul de bun venit" + +#~ msgid "Geometry with Comment" +#~ msgstr "Geometrie cu comentariu" + +#~ msgid "Geometry" +#~ msgstr "Geometrie" + +#~ msgctxt "Annotation type: contents" +#~ msgid "%1: %2" +#~ msgstr "%1: %2" + +#~ msgid "Modified: %1" +#~ msgstr "Modificat: %1" + +#~ msgid "Find..." +#~ msgstr "Găsește…" + +#~ msgid "Go To Page..." +#~ msgstr "Mergi la pagina…" + +#~ msgid "Play movie..." +#~ msgstr "Redă film…" + +#~ msgid "Search..." +#~ msgstr "Caută…" + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "&Salvează ca..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "&Vezi..." + +#~ msgid "&Sign..." +#~ msgstr "&Semnează…" + +#~ msgid "Configure Viewer..." +#~ msgstr "Configurare vizualizor…" + +#~ msgid "Configure Viewer Backends..." +#~ msgstr "Configurare platforme vizualizor…" + +#~ msgid "Configure Backends..." +#~ msgstr "Configurare platforme…" + +#~ msgid "&Add..." +#~ msgstr "&Adaugă…" + +#~ msgid "&Edit..." +#~ msgstr "&Modifică…" + +#~ msgctxt "%1 is a file path" +#~ msgid "" +#~ "Could not sign. Invalid certificate password or could not write to '%1'" +#~ msgstr "" +#~ "Nu s-a putut semna. Parolă nevalidă pentru certificat sau nu s-a putut " +#~ "scrie în „%1”" + +#~ msgid "Unsigned Signature %1" +#~ msgstr "Semnătură nesemnată %1" + +#, fuzzy +#~| msgctxt "Unknown author" +#~| msgid "Unknown" +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "Necunoscut" + +#, fuzzy +#~| msgid "Unsigned Signature %1" +#~ msgctxt "Signature type" +#~ msgid "Unsigned signature" +#~ msgstr "Semnătură nesemnată %1" + +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "Spinbox prefix: Advance automatically: every n seconds" +#~ msgid "every " +#~ msgstr "la fiecare " + +#~ msgctxt "Suffix for the pen width, eg '10 px'" +#~ msgid " px" +#~ msgstr " px" + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " %" + +#, fuzzy +#~| msgctxt "%1 is a file path" +#~| msgid "" +#~| "Could not sign. Invalid certificate password or could not write to '%1'" +#~ msgctxt "%1 is a file path" +#~ msgid "Could not sign. Could not write to '%1'" +#~ msgstr "" +#~ "Nu s-a putut semna. Parolă nevalidă pentru certificat sau nu s-a putut " +#~ "scrie în „%1”" + +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "Potrivire lățime" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "Potrivire pagină" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Auto Fit" +#~ msgstr "Potrivire automată" + +#~ msgid "*|All Files" +#~ msgstr "*|Toate fișierele" + +#~ msgid "Missing alert type" +#~ msgstr "Lipsește tipul alertei" + +#~ msgid "" +#~ "The file '%1' has been modified by another program, which means it can no " +#~ "longer be saved." +#~ msgstr "" +#~ "Fișierul „%1” a fost modificat de un alt program, ceea ce înseamnă că nu " +#~ "mai poate fi salvat." + +#, fuzzy +#~| msgid "Show S&idebar" +#~ msgid "Show Sidebar" +#~ msgstr "&Arată bara laterală" + +#~ msgctxt "@info" +#~ msgid "" +#~ "experimental feature.Stamps inserted in PDF documents are " +#~ "not visible in PDF readers other than Okular." +#~ msgstr "" +#~ "Caracteristică experimentală.Ștampilele inserate în " +#~ "documente PDF nu sunt vizibile în alte cititoare de PDF decât Okular." + +#~ msgctxt "@title:window" +#~ msgid "Poppler library is too old" +#~ msgstr "Biblioteca Poppler e prea veche" + +#~ msgctxt "@info" +#~ msgid "" +#~ "Stamps inserted in PDF documents are not visible in PDF readers other " +#~ "than Okular" +#~ msgstr "" +#~ "Ștampilele inserate în documente PDF nu sunt vizibile în alte cititoare " +#~ "de PDF decât Okular" + +#~ msgctxt "@title:window" +#~ msgid "Experimental feature" +#~ msgstr "Caracteristică experimentală" + +#~ msgid "Remove Bookmarks" +#~ msgstr "Elimină semne de carte" + +#, fuzzy +#~| msgid "Annotation" +#~| msgid_plural "%1 Annotations" +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "Adnotare" + +#, fuzzy +#~| msgid "Highlight" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "Evidențiere" + +#, fuzzy +#~| msgid "Underline" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Underline" +#~ msgstr "Subliniat" + +#, fuzzy +#~| msgid "Strike out" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Strike Out" +#~ msgstr "Tăiat" + +#, fuzzy +#~| msgid "Insert" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "Inserează" + +#, fuzzy +#~| msgid "Underline" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "Subliniat" + +#, fuzzy +#~| msgid "Note Properties" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "Proprietăți notă" + +#, fuzzy +#~| msgid "Freehand Line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Freehand Line" +#~ msgstr "Linie liberă" + +#, fuzzy +#~| msgid "Straight Yellow Line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Straight line" +#~ msgstr "Linie galbenă dreaptă" + +#, fuzzy +#~| msgid "Rectangle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Rectangle" +#~ msgstr "Dreptunghi" + +#, fuzzy +#~| msgid "Ellipse" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Ellipse" +#~ msgstr "Elipsă" + +#, fuzzy +#~| msgid "Polygon" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Polygon" +#~ msgstr "Poligon" + +#, fuzzy +#~| msgid "Highlight" +#~ msgid "Highlight in Yellow" +#~ msgstr "Evidențiere" + +#, fuzzy +#~| msgid "Highlight with Comment" +#~ msgid "Highlight in Green" +#~ msgstr "Evidențiere cu comentariu" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "Selectează text" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "Selectează text" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "Selectează text" + +#, fuzzy +#~| msgid "Annotation" +#~| msgid_plural "%1 Annotations" +#~ msgid "Bookmark annotation" +#~ msgstr "Adnotare" + +#, fuzzy +#~| msgid "Change &colors" +#~ msgid "&Toggle Change Colors" +#~ msgstr "Schimbă &culorile" + +#, fuzzy +#~| msgid "Enable transitions" +#~ msgctxt "@option:check Config dialog, presentation page, transitions" +#~ msgid "Enable transitions" +#~ msgstr "Activează tranziții" + +#, fuzzy +#~| msgid "Advance every:" +#~ msgctxt "@label:spinbox Config dialog, presentation page" +#~ msgid "Advance every:" +#~ msgstr "Avansează la fiecare:" + +#, fuzzy +#~| msgid "Background color:" +#~ msgctxt "@label:listbox Config dialog, general page" +#~ msgid "Custom background color:" +#~ msgstr "Culoare fundal:" + +#~ msgid "Draw border around &Images" +#~ msgstr "Desenează contur în jurul &imaginilor" + +#~ msgid "Identity" +#~ msgstr "Identitate" + +#, fuzzy +#~| msgid "&Author:" +#~ msgid "Au&thor:" +#~ msgstr "&Autor:" + +#~ msgid "View Options" +#~ msgstr "Opțiuni vizualizare" + +#~ msgid "Navigation" +#~ msgstr "Navigare" + +#~ msgid "Placement" +#~ msgstr "Amplasare" + +#~ msgid "Screen:" +#~ msgstr "Ecran:" + +#~ msgid "&Get Books From Internet..." +#~ msgstr "&Obținere cărți din Internet..." + +#~ msgid "Reviews" +#~ msgstr "Recenzii" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "@item:inlistbox Color name" +#~ msgid "%1" +#~ msgstr "%1:" + +#~ msgid "Hide Forms" +#~ msgstr "Ascunde formulare" + +#~ msgid "&Review" +#~ msgstr "&Recenzie" + +#~ msgid "Annotations author" +#~ msgstr "Autorul adnotărilor" + +#~ msgid "Please insert your name or initials:" +#~ msgstr "Introduceți numele sau inițialele dumneavoastră:" + +#~ msgid "Show &Navigation Panel" +#~ msgstr "Arată panoul de &navigare" + +#~ msgid "Show Text" +#~ msgstr "Arată textul" + +#~ msgid "Small Icons" +#~ msgstr "Pictograme mici" + +#~ msgid "Large Icons" +#~ msgstr "Pictograme mari" + +#, fuzzy +#~| msgid "" +#~| "Click to use the current selection tool\n" +#~| "Click and hold to choose another selection tool" +#~ msgid "" +#~ "Click to use the current selection tool\n" +#~ "Click on the arrow to choose another selection tool" +#~ msgstr "" +#~ "Apăsați pentru unealta de selecție actuală\n" +#~ "Apăsați și țineți pentru a alege altă unealtă de selecție" + +#~ msgid "Created: %1" +#~ msgstr "Creat: %1" + +#~ msgid "Style" +#~ msgstr "Stil" + +#~ msgid "&Size:" +#~ msgstr "Dimen&siune:" + +#~ msgid "Inner color:" +#~ msgstr "Culoare interioară:" + +#~ msgid "Name: %1" +#~ msgstr "Denumire: %1" + +#~ msgid "Size: %1" +#~ msgstr "Dimensiune: %1" + +#~ msgid "&Browse Tool" +#~ msgstr "Unealtă de &navigare" + +#~ msgid "&Zoom Tool" +#~ msgstr "Unealtă de &panoramare" + +#~ msgctxt "Zoom Tool" +#~ msgid "Zoom" +#~ msgstr "Panoramare" + +#~ msgctxt "Select Tool" +#~ msgid "Selection" +#~ msgstr "Selecție" + +#~ msgid "&Text Selection Tool" +#~ msgstr "Unealtă de selecție a &textului" + +#, fuzzy +#~| msgid "&Selection Tool" +#~ msgid "T&able Selection Tool" +#~ msgstr "Unealtă de &selecție" + +#, fuzzy +#~| msgctxt "Symbol for caret annotations" +#~| msgid "None" +#~ msgid " None" +#~ msgstr "Niciunul" + +#~ msgid "" +#~ "The document requested to be launched in presentation mode.\n" +#~ "Do you want to allow it?" +#~ msgstr "" +#~ "Documentul a cerut să fie lansat în regim de prezentare.\n" +#~ "Îi permiteți acest lucru?" + +#~ msgid "Presentation Mode" +#~ msgstr "Regim de prezentare" + +#~ msgid "Allow the presentation mode" +#~ msgstr "Permite regimul de prezentare" + +#~ msgid "Do Not Allow" +#~ msgstr "Nu permite" + +#~ msgid "Do not allow the presentation mode" +#~ msgstr "Nu permite regimul de prezentare" + +#~ msgid "Save &Copy As..." +#~ msgstr "Salvare &copie ca..." + +#~ msgid "" +#~ "End of document reached.\n" +#~ "Continue from the beginning?" +#~ msgstr "" +#~ "A fost atins sfîrșitul documentului.\n" +#~ "
Continuați de la început?" + +#~ msgid "" +#~ "Beginning of document reached.\n" +#~ "Continue from the bottom?" +#~ msgstr "" +#~ "A fost atins începutul documentului.\n" +#~ "
Continuați de la sfîrșit?" + +#~ msgid "Current maintainer" +#~ msgstr "Responsabil actual" + +#~ msgid " sec." +#~ msgstr " sec." + +#~ msgid "Pencil color:" +#~ msgstr "Culoare creion:" + +#~ msgid "Toggle Drawing Mode" +#~ msgstr "Comută regimul de desenare" + +#, fuzzy +#~| msgid "Starting KTTSD Failed: %1" +#~ msgid "Starting Jovie Text-to-Speech service Failed: %1" +#~ msgstr "Execuția KTTSD a eșuat: %1" + +#~ msgid "Search Columns" +#~ msgstr "Căutare coloane" + +#~ msgid "All Visible Columns" +#~ msgstr "Toate coloanele vizibile" + +#~ msgid "No document opened." +#~ msgstr "Niciun document deschis." + +#~ msgid "No matches found for '%1'." +#~ msgstr "Nu s-au găsit potriviri pentru „%1”." + +#~ msgid "Search in progress..." +#~ msgstr "Căutare în curs..." + +#~ msgid "Searching for %1" +#~ msgstr "Căutare %1" + +#~ msgid "Identity Settings" +#~ msgstr "Configurări identitate" + +#~ msgid "Highlight Properties" +#~ msgstr "Proprietăți evidențiere" + +#~ msgid "Ink Properties" +#~ msgstr "Proprietăți cerneală" + +#~ msgctxt "Annotation tool" +#~ msgid "Text Annotation" +#~ msgstr "Adnotare text" + +#~ msgctxt "Annotation tool" +#~ msgid "Green Ink" +#~ msgstr "Cerneală verde" + +#~ msgctxt "Annotation tool" +#~ msgid "Yellow Highlight" +#~ msgstr "Evidențiere galbenă" + +#~ msgctxt "Annotation tool" +#~ msgid "Straight Yellow Line" +#~ msgstr "Linie galbenă dreaptă" + +#~ msgid "Black Underlining" +#~ msgstr "Subliniere neagră" + +#~ msgctxt "Annotation tool" +#~ msgid "Underline the text with a black line" +#~ msgstr "Subliniază textul cu o linie neagră" + +#~ msgid "Ink" +#~ msgstr "Cerneală" + +#, fuzzy +#~| msgid "Hide Forms" +#~ msgid "Reset Forms" +#~ msgstr "Ascunde formulare" + +#~ msgid "Moves to the first page of the document" +#~ msgstr "Trece la prima pagină a documentului" + +#~ msgid "Moves to the last page of the document" +#~ msgstr "Trece la ultima pagină a documentului" + +#~ msgid "You must set this name:" +#~ msgstr "Trebuie să stabiliți acest nume:" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "%1 is \"Title\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "%1 is \"File Path\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#~ msgctxt "@action:button" +#~ msgid "&Overwrite" +#~ msgstr "&Suprascrie" + +#~ msgid "Pages:" +#~ msgstr "Pagini:" + +#, fuzzy +#~| msgid "Moves to the next page of the document" +#~ msgid "Could not load the necessary plugin to view the document." +#~ msgstr "Trece la pagina următoare a documentului" + +#, fuzzy +#~ msgid "Fit &Text" +#~ msgstr "Scalează la &lățimea paginii" + +#, fuzzy +#~ msgid "page %1" +#~ msgstr "Pagina:" + +#, fuzzy +#~ msgid "flags:" +#~ msgstr "Pagina:" + +#~ msgid "Fit to Page &Width" +#~ msgstr "Scalează la &lățimea paginii" + +#, fuzzy +#~ msgid "&Two Pages" +#~ msgstr "Du-te la pagina" + +#, fuzzy +#~ msgid "kpdf, a kde pdf viewer based on poppler" +#~ msgstr "Un vizualizor de PDF-uri bazat pe Xpdf" + +#~ msgid "KPDF::Part" +#~ msgstr "Componentă PDF" diff --git a/po/ro/okular_comicbook.po b/po/ro/okular_comicbook.po new file mode 100644 index 0000000..e0ae47b --- /dev/null +++ b/po/ro/okular_comicbook.po @@ -0,0 +1,54 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Sergiu Bivol , 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_comicbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-12-31 21:33+0200\n" +"Last-Translator: Sergiu Bivol \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < " +"20)) ? 1 : 2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Sergiu Bivol" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sergiu@cip.md" + +#: document.cpp:97 +#, fuzzy, kde-format +#| msgid "Cannot open document, unrar was not found." +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "Imposibil de deschis documentul, „unrar” nu a fost găsit." + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "" + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "" + +#~ msgid "ComicBook Backend" +#~ msgstr "Platformă pentru benzi desenate" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/ro/okular_djvu.po b/po/ro/okular_djvu.po new file mode 100644 index 0000000..4380498 --- /dev/null +++ b/po/ro/okular_djvu.po @@ -0,0 +1,134 @@ +# translation of okular_djvu to Romanian +# Copyright (C) 2008 This_file_is_part_of_KDE +# This file is distributed under the same license as the okular_djvu package. +# Laurenţiu Buzdugan , 2008". +# Sergiu Bivol , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_djvu\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-01-31 22:08+0200\n" +"Last-Translator: Sergiu Bivol \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < " +"20)) ? 1 : 2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Sergiu Bivol" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sergiu@cip.md" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "Editor" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "Emitent" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "Volum" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "Tipul documentului" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "Nescunoscut" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "Fișiere componente" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "Nescunoscut" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "O singură pagină" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "Indirect" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "Indexat (vechi)" + +#~ msgid "DjVu Backend" +#~ msgstr "Platformă DjVU" + +#~ msgid "© 2006-2008 Pino Toscano" +#~ msgstr "© 2006-2008 Pino Toscano" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgctxt "Unknown title" +#~ msgid "Unknown" +#~ msgstr "Necunoscut" + +#~ msgctxt "Unknown author" +#~ msgid "Unknown" +#~ msgstr "Nescunoscut" + +#~ msgctxt "Unknown editor" +#~ msgid "Unknown" +#~ msgstr "Necunoscut" + +#~ msgctxt "Unknown publisher" +#~ msgid "Unknown" +#~ msgstr "Necunoscut" + +#~ msgctxt "Unknown creation date" +#~ msgid "Unknown" +#~ msgstr "Necunoscută" + +#~ msgctxt "Unknown volume information" +#~ msgid "Unknown" +#~ msgstr "Nescunoscut" + +#~ msgctxt "Unknown type of document" +#~ msgid "Unknown" +#~ msgstr "Nescunoscut" diff --git a/po/ro/okular_dvi.po b/po/ro/okular_dvi.po new file mode 100644 index 0000000..48b61be --- /dev/null +++ b/po/ro/okular_dvi.po @@ -0,0 +1,577 @@ +# translation of okular_dvi to Romanian +# Copyright (C) 2008 This_file_is_part_of_KDE +# This file is distributed under the same license as the okular_dvi package. +# Laurenţiu Buzdugan , 2008". +# Sergiu Bivol , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_dvi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-01-05 17:57+0200\n" +"Last-Translator: Sergiu Bivol \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < " +"20)) ? 1 : 2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Sergiu Bivol" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sergiu@cip.md" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

    Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

    Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

    " +msgstr "" + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

    Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

    Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

    " +msgstr "" + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "Fișierul DVI nu începe cu preambul." + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "" + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "" + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "" + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "Pagina %1 nu începe cu comanda BOP." + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

    The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

    What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

    PATH: %2

    " +msgstr "" + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

    The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

    %2

    " +msgstr "" + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, fuzzy, kde-format +#| msgid "" +#| "File not found: \n" +#| " %1" +msgid "File corruption. %1" +msgstr "" +"Fișierul nu a fost găsit:\n" +" %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "" + +#: dviRenderer.cpp:419 +#, fuzzy, kde-format +#| msgid "The special command '%1' is not implemented." +msgid "The specified file '%1' does not exist." +msgstr "Comanda specială „%1” nu este implementată." + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "" + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "" + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "" + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "" + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "" + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "" + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "" + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "Încorporare %1" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
    " +msgstr "" +"Pagina %1: Fișierul PDF %2 nu a putut fi convertit în " +"PostScript.
    " + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
    " +msgstr "" +"Pagina %1: Fișierul PostScript %2 nu a putut fi găsit.
    " + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "" + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

    Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

    PATH: %1

    %2

    " +msgstr "" + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

    There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
    Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

    PATH: %1

    %2

    " +msgstr "" + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" + +#: fontpool.cpp:482 +#, fuzzy, kde-format +#| msgid "Currently generating %1 at %2 dpi" +msgid "Currently generating %1 at %2 dpi…" +msgstr "Momentan se generează %1 la %2 dpi" + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "Fișierul cu fonturi nu a fost găsit" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "" + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"Fișierul nu a fost găsit:\n" +" %1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "Comanda specială „%1” nu este implementată." + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "" + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "" + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "" + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "" + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "" + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "" + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "" + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "Caracterul %1 este prea mare în fișierul %2" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "Fișier pk defect (%1), prea mulți biți" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "" + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "Imposibil de găsit fontul %1, fișierul %2." + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "Nepotrivire sumă de verificare pentru fișierul cu fonturi %1" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "" + +#, fuzzy +#~| msgid "DVI File Error" +#~ msgid "A DVI file renderer" +#~ msgstr "Eroare fișier DVI" + +#~ msgid "Aborts the font generation. Do not do this." +#~ msgstr "Abandonează generarea fonturilor. Nu faceți acest lucru." + +#~ msgid "Okular is generating fonts. Please wait." +#~ msgstr "Okular generează fonturile. Așteptați." + +#~ msgid "Font Generation Progress Dialog" +#~ msgstr "Dialog de progres pentru generarea fonturilor" + +#~ msgid "Abort" +#~ msgstr "Abandonează" + +#~ msgid "What is happening here?" +#~ msgstr "Ce se întîmplă aici?" + +#~ msgid "%v of %m" +#~ msgstr "%v din %m" + +#~ msgid "Please be patient" +#~ msgstr "Aveți răbdare" + +#~ msgid "*.pdf|Portable Document Format (*.pdf)" +#~ msgstr "*.pdf|Portable Document Format (*.pdf)" + +#~ msgid "Export File As" +#~ msgstr "Export fișier ca" + +#~ msgid "" +#~ "The file %1\n" +#~ "exists. Do you want to overwrite it?" +#~ msgstr "" +#~ "Fișierul %1\n" +#~ "există. Îl suprascrieți?" + +#~ msgid "Overwrite File" +#~ msgstr "Suprascrie fișierul" + +#~ msgid "Overwrite" +#~ msgstr "Suprascrie" + +#~ msgid "*.ps|PostScript (*.ps)" +#~ msgstr "*.ps|PostScript (*.ps)" + +#~ msgid "Functionality Unavailable" +#~ msgstr "Funcționalitate indisponibilă" + +#~ msgid "DVI File Error" +#~ msgstr "Eroare fișier DVI" + +#~ msgid "Not All Font Files Found" +#~ msgstr "Nu au fost găsite toate fișierele cu fonturi" + +#~ msgid "Locating fonts..." +#~ msgstr "Localizare fonturi..." + +#~ msgid "Problem locating fonts" +#~ msgstr "Problemă la localizarea fonturilor" + +#~ msgid "Font generation aborted" +#~ msgstr "Generarea fonturilor abandonată" + +#~ msgid "Export: %1 to PDF" +#~ msgstr "Export: %1 în PDF" + +#~ msgid "Export: %1 to PostScript" +#~ msgstr "Export: %1 în PostScript" + +#~ msgid "The fontlist is currently empty." +#~ msgstr "Lista de fonturi este momentan goală." + +#~ msgid "TeX Name" +#~ msgstr "Denumire TeX" + +#~ msgid "Family" +#~ msgstr "Familie" + +#~ msgid "Zoom" +#~ msgstr "Panoramare" + +#~ msgid "Type" +#~ msgstr "Tip" + +#~ msgid "Encoding" +#~ msgstr "Codare" + +#~ msgid "Comment" +#~ msgstr "Comentariu" + +#~ msgid "TeX virtual" +#~ msgstr "Virtual TeX" + +#~ msgid "TeX Font Metric" +#~ msgstr "Metrică font TeX" + +#~ msgid "FreeType" +#~ msgstr "FreeType" diff --git a/po/ro/okular_epub.po b/po/ro/okular_epub.po new file mode 100644 index 0000000..05018f4 --- /dev/null +++ b/po/ro/okular_epub.po @@ -0,0 +1,56 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Sergiu Bivol , 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_epub\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-12-31 21:35+0200\n" +"Last-Translator: Sergiu Bivol \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < " +"20)) ? 1 : 2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Sergiu Bivol" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sergiu@cip.md" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "Eroare la deschiderea documentului EPuB." + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "" + +#: generator_epub.cpp:30 +#, fuzzy, kde-format +#| msgid "EPub Backend" +msgid "EPub Backend Configuration" +msgstr "Platformă EPuB" + +#~ msgid "EPub Backend" +#~ msgstr "Platformă EPuB" + +#~ msgid "An EPub backend" +#~ msgstr "O platformă EPuB" + +#~ msgid "© 2008 Ely Levy" +#~ msgstr "© 2008 Ely Levy" + +#~ msgid "Ely Levy" +#~ msgstr "Ely Levy" diff --git a/po/ro/okular_fax.po b/po/ro/okular_fax.po new file mode 100644 index 0000000..daced45 --- /dev/null +++ b/po/ro/okular_fax.po @@ -0,0 +1,45 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Sergiu Bivol , 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_fax\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-12-31 21:36+0200\n" +"Last-Translator: Sergiu Bivol \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < " +"20)) ? 1 : 2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Sergiu Bivol" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sergiu@cip.md" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "Imposibil de încărcat documentul" + +#~ msgid "Fax Backend" +#~ msgstr "Platformă fax" + +#~ msgid "A G3/G4 fax document backend" +#~ msgstr "O platformă pentru documente fax G3/G4" + +#~ msgid "© 2008 Tobias Koenig" +#~ msgstr "© 2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/ro/okular_fictionbook.po b/po/ro/okular_fictionbook.po new file mode 100644 index 0000000..9b980d0 --- /dev/null +++ b/po/ro/okular_fictionbook.po @@ -0,0 +1,81 @@ +# translation of okular_fictionbook to Romanian +# Copyright (C) 2008 This_file_is_part_of_KDE +# This file is distributed under the same license as the okular_fictionbook package. +# Laurenţiu Buzdugan , 2008". +# Sergiu Bivol , 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_fictionbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-12-31 21:37+0200\n" +"Last-Translator: Sergiu Bivol \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < " +"20)) ? 1 : 2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Sergiu Bivol" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sergiu@cip.md" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "Imposibil de deschis documentul: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "Documentul nu este o arhivă ZIP validă" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "Structură document nevalidă (directorul principal lipsește)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "Niciun conținut găsit în document" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "Document XML nevalid: %1" + +#: generator_fb.cpp:26 +#, fuzzy, kde-format +#| msgid "Fiction Book Backend" +msgid "FictionBook" +msgstr "Platformă pentru cărți fantastice" + +#: generator_fb.cpp:26 +#, fuzzy, kde-format +#| msgid "Fiction Book Backend" +msgid "FictionBook Backend Configuration" +msgstr "Platformă pentru cărți fantastice" + +#~ msgid "Fiction Book Backend" +#~ msgstr "Platformă pentru cărți fantastice" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/ro/okular_ghostview.po b/po/ro/okular_ghostview.po new file mode 100644 index 0000000..cee7f87 --- /dev/null +++ b/po/ro/okular_ghostview.po @@ -0,0 +1,92 @@ +# translation of okular_ghostview to Romanian +# Copyright (C) 2008 This_file_is_part_of_KDE +# This file is distributed under the same license as the okular_ghostview package. +# Laurenţiu Buzdugan , 2008". +# Sergiu Bivol , 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_ghostview\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-12-20 20:11+0200\n" +"Last-Translator: Sergiu Bivol \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < " +"20)) ? 1 : 2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Sergiu Bivol" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sergiu@cip.md" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, fuzzy, kde-format +#| msgid "&Use platform fonts" +msgid "Use Platform Fonts" +msgstr "&Utilizează fonturile platformei" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "Configurări generale" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "&Utilizează fonturile platformei" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Configurare platformă Ghostscript" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "Versiune document" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "Nivel limbă" + +#~ msgid "PS Backend" +#~ msgstr "Platformă PS" + +#~ msgid "A PostScript file renderer." +#~ msgstr "Un randor de fișiere PostScript" + +#~ msgid "© 2007-2008 Albert Astals Cid" +#~ msgstr "© 2007-2008 Albert Astals Cid" + +#~ msgid "Based on the Spectre library." +#~ msgstr "Bazat pe bilbioteca Spectre." + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" diff --git a/po/ro/okular_kimgio.po b/po/ro/okular_kimgio.po new file mode 100644 index 0000000..16bd679 --- /dev/null +++ b/po/ro/okular_kimgio.po @@ -0,0 +1,77 @@ +# translation of okular_kimgio to Romanian +# Copyright (C) 2008 This_file_is_part_of_KDE +# This file is distributed under the same license as the okular_kimgio package. +# Laurenţiu Buzdugan , 2008". +# Sergiu Bivol , 2008, 2012, 2022. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_kimgio\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2022-02-04 13:54+0000\n" +"Last-Translator: Sergiu Bivol \n" +"Language-Team: Romanian\n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < " +"20)) ? 1 : 2;\n" +"X-Generator: Lokalize 21.12.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Sergiu Bivol" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sergiu@cip.md" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "Imposibil de încărcat documentul: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" +"Acest document pare deformat. Iată o aproximare a aspectului intenționat al " +"documentului." + +#~ msgid "Image Backend" +#~ msgstr "Platformă imagini" + +#~ msgid "A simple image backend" +#~ msgstr "O simplă platformă pentru imagini" + +#, fuzzy +#~| msgid "" +#~| "© 2005 Albert Astals Cid\n" +#~| "© 2006-2007 Pino Toscano\n" +#~| "© 2006-2007 Tobias Koenig" +#~ msgid "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" +#~ msgstr "" +#~ "© 2005 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" + +#~ msgid "Main Toolbar" +#~ msgstr "Bara de unelte principală" diff --git a/po/ro/okular_markdown.po b/po/ro/okular_markdown.po new file mode 100644 index 0000000..6cf6293 --- /dev/null +++ b/po/ro/okular_markdown.po @@ -0,0 +1,54 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# Sergiu Bivol , 2022. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2022-02-04 13:52+0000\n" +"Last-Translator: Sergiu Bivol \n" +"Language-Team: Romanian\n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < " +"20)) ? 1 : 2;\n" +"X-Generator: Lokalize 21.12.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Sergiu Bivol" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sergiu@cip.md" + +#: converter.cpp:59 converter.cpp:93 +#, kde-format +msgid "Failed to open the document" +msgstr "Deschidere documentului a eșuat" + +#: converter.cpp:106 converter.cpp:124 +#, kde-format +msgid "Failed to compile the Markdown document." +msgstr "Compilarea documentului Markdown a eșuat." + +#: generator_md.cpp:58 +#, kde-format +msgid "Enable SmartyPants formatting" +msgstr "Activează formatarea SmartyPants" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown" +msgstr "Markdown" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown Backend Configuration" +msgstr "Configurare platformă Markdown" diff --git a/po/ro/okular_mobi.po b/po/ro/okular_mobi.po new file mode 100644 index 0000000..b642d6b --- /dev/null +++ b/po/ro/okular_mobi.po @@ -0,0 +1,64 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Sergiu Bivol , 2010, 2022. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2022-04-04 11:50+0100\n" +"Last-Translator: Sergiu Bivol \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < " +"20)) ? 1 : 2;\n" +"X-Generator: Lokalize 21.12.3\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Sergiu Bivol" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sergiu@cip.md" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Eroare la deschiderea documentului Mobipocket." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "" +"Această carte este protejată de DRM și poate fi afișată numai pe " +"dispozitivul destinat" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "Mobipocket" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "Configurare platformă Mobipocket" + +#~ msgid "Mobipocket Backend" +#~ msgstr "Platformă Mobipocket" + +#~ msgid "A mobipocket backend" +#~ msgstr "Platformă mobipocket" + +#~ msgid "© 2008-2009 Jakub Stachowski" +#~ msgstr "© 2008-2009 Jakub Stachowski" + +#~ msgid "Jakub Stachowski" +#~ msgstr "Jakub Stachowski" diff --git a/po/ro/okular_poppler.po b/po/ro/okular_poppler.po new file mode 100644 index 0000000..c67fc34 --- /dev/null +++ b/po/ro/okular_poppler.po @@ -0,0 +1,407 @@ +# translation of okular_poppler to Romanian +# Copyright (C) 2008 This_file_is_part_of_KDE +# This file is distributed under the same license as the okular_poppler package. +# Laurenţiu Buzdugan , 2008". +# Sergiu Bivol , 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_poppler\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-12-20 20:09+0200\n" +"Last-Translator: Sergiu Bivol \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < " +"20)) ? 1 : 2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Sergiu Bivol" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sergiu@cip.md" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "Nu" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "Opțiuni PDF" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "Forțează rasterizarea" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "Rasterizează într-o imagine înainte de tipărire" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"Forțează rasterizarea fiecărei pagini într-o imagine înainte de tipărirea " +"acesteia. Aceasta dă rezultate ceva mai slabe, dar este utilă la tipărirea " +"documentelor ce par a se tipări greșit." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "" + +#: generator_pdf.cpp:1031 +#, fuzzy, kde-format +#| msgctxt "PDF v. " +#| msgid "PDF v. %1" +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF v. %1" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "Format" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "Criptat" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "Necriptat" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "Securitate" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "Da" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "Optimizat" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "" + +#: generator_pdf.cpp:1758 +#, fuzzy, kde-format +#| msgid "PDF Backend" +msgid "PDF Backend Configuration" +msgstr "Platformă PDF" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "" + +#: pdfsignatureutils.cpp:239 +#, fuzzy, kde-format +#| msgid "Document Password" +msgid "Enter Password" +msgstr "Parola documentului" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "" + +#~ msgid "PDF Backend" +#~ msgstr "Platformă PDF" + +#~ msgid "A PDF file renderer" +#~ msgstr "Un randor de fișiere PDF" + +#~ msgid "© 2005-2008 Albert Astals Cid" +#~ msgstr "© 2005-2008 Albert Astals Cid" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Unknown" +#~ msgstr "Nescunoscut" + +#~ msgid "Unknown Date" +#~ msgstr "Dată necunoscută" + +#~ msgid "Unknown Encryption" +#~ msgstr "Criptare necunoscută" + +#~ msgid "Unknown Optimization" +#~ msgstr "Optimizare necunoscută" + +#, fuzzy +#~| msgid "Please insert the password to read the document:" +#~ msgid "Please enter the password to read the document:" +#~ msgstr "Introduceți parola pentru a citi documentul:" + +#~ msgid "Incorrect password. Try again:" +#~ msgstr "Parolă greșită. Reîncercați:" diff --git a/po/ro/okular_tiff.po b/po/ro/okular_tiff.po new file mode 100644 index 0000000..58194c4 --- /dev/null +++ b/po/ro/okular_tiff.po @@ -0,0 +1,29 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# Sergiu Bivol , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2021-07-25 11:41+0100\n" +"Last-Translator: Sergiu Bivol \n" +"Language-Team: Romanian\n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < " +"20)) ? 1 : 2;\n" +"X-Generator: Lokalize 19.12.3\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Sergiu Bivol" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sergiu@cip.md" diff --git a/po/ro/okular_txt.po b/po/ro/okular_txt.po new file mode 100644 index 0000000..6ff0474 --- /dev/null +++ b/po/ro/okular_txt.po @@ -0,0 +1,50 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Sergiu Bivol , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-10-05 14:39+0300\n" +"Last-Translator: Sergiu Bivol \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < " +"20)) ? 1 : 2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Arthur Țițeică" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "arthur.titeica@gmail.com" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "Txt" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "Configurare platformă Txt" + +#~ msgid "Txt Backend" +#~ msgstr "Platformă Txt" + +#~ msgid "Txt backend." +#~ msgstr "Platformă Txt." + +#~ msgid "© 2013 Azat Khuzhin" +#~ msgstr "© 2013 Azat Khuzhin" + +#~ msgid "Azat Khuzhin" +#~ msgstr "Azat Khuzhin" diff --git a/po/ro/okular_xps.po b/po/ro/okular_xps.po new file mode 100644 index 0000000..c417f32 --- /dev/null +++ b/po/ro/okular_xps.po @@ -0,0 +1,59 @@ +# translation of okular_xps to Romanian +# Copyright (C) 2008 This_file_is_part_of_KDE +# This file is distributed under the same license as the okular_xps package. +# Laurenţiu Buzdugan , 2008". +# Sergiu Bivol , 2008, 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_xps\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-01-31 22:11+0200\n" +"Last-Translator: Sergiu Bivol \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < " +"20)) ? 1 : 2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Sergiu Bivol" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sergiu@cip.md" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "Revizie" + +#~ msgid "XPS Backend" +#~ msgstr "Platformă XPS" + +#~ msgid "An XPS backend" +#~ msgstr "O platformă XPS" + +#~ msgid "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" +#~ msgstr "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" + +#~ msgid "Brad Hards" +#~ msgstr "Brad Hards" + +#~ msgid "Jiri Klement" +#~ msgstr "Jiri Klement" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" diff --git a/po/ro/org.kde.active.documentviewer.po b/po/ro/org.kde.active.documentviewer.po new file mode 100644 index 0000000..a11ae6b --- /dev/null +++ b/po/ro/org.kde.active.documentviewer.po @@ -0,0 +1,228 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Sergiu Bivol , 2012, 2022. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2022-02-04 13:52+0000\n" +"Last-Translator: Sergiu Bivol \n" +"Language-Team: Romanian\n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < " +"20)) ? 1 : 2;\n" +"X-Generator: Lokalize 21.12.2\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "Semne de carte" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +msgid "Export…" +msgstr "" + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "" + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "Okular" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "" + +#: ui/Main.qml:49 +msgid "About" +msgstr "Despre" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "Elimină semnul de carte" + +#: ui/MainView.qml:29 +msgid "Bookmark this page" +msgstr "Însemnează această pagină" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "Miniaturi" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "Cuprins" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:96 +#, fuzzy +#| msgid "No document open" +msgid "Document Version" +msgstr "Niciun document deschis" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:108 +msgid "Save Signed Version…" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +msgid "View Certificate…" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "" + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "Nu s-a găsit niciun rezultat." + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "Niciun document deschis" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "" + +#: ui/WelcomeView.qml:108 +#, fuzzy +#| msgid "No document open" +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "Niciun document deschis" + +#~ msgid "Open..." +#~ msgstr "Deschide…" + +#~ msgid "Document viewer for Plasma Active using Okular" +#~ msgstr "Vizualizator de documente pentru Plasma Active folosind Okular" + +#~ msgid "Reader" +#~ msgstr "Cititor" + +#~ msgid "Copyright 2012 Marco Martin" +#~ msgstr "Drept de autor 2012 Marco Martin" + +#~ msgid "Marco Martin" +#~ msgstr "Marco Martin" + +#~ msgid "URL of the file to open" +#~ msgstr "URL-ul fișierului de deschis" diff --git a/po/ru/docs/okular/annotation-properties.png b/po/ru/docs/okular/annotation-properties.png new file mode 100644 index 0000000000000000000000000000000000000000..c07bb65847db1242b7ff4a4c1c6253adbfaf3060 GIT binary patch literal 7360 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 G^8W#wOTPmE literal 0 HcmV?d00001 diff --git a/po/ru/docs/okular/configure-backends.png b/po/ru/docs/okular/configure-backends.png new file mode 100644 index 0000000000000000000000000000000000000000..b6e6b53aa8b81c27fdfb0c5d2aa76f41389bfdae GIT binary patch literal 14295 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 literal 0 HcmV?d00001 diff --git a/po/ru/docs/okular/embedded-files-bar.png b/po/ru/docs/okular/embedded-files-bar.png new file mode 100644 index 0000000000000000000000000000000000000000..ae618b6cd5cdec8510b263ed1486542deeb2d585 GIT binary patch literal 3416 zcmV-e4X5&nP)&ecJ zOh76nT_+>Fw24_POj;lxR4!3OI%iWfRJ662>)f6%SdZ)P+CE~OR6Skt(T$sAH?Zd0 zo7vbEf5;tmz?Z_yJzuatV74V+rpV#fJz}Qq@Y$Z8j+F)0I~&O(!Qt zEh{ApGT_`{=Ly@z%eHDiE<$*pzCAc)+Oli;?$*Mtv`cBS`|8c`@Y?R~>+FMY8@!R(E;`sFD_w?*?+7>+kT|{Nyv5=-f&t+pS?nC?bz~US%*QSDe1|@Y`ym#3v;)QH{6m@7nV3+oIsv z7=g&$>D>!+!9HHI`{>O+V7IR5+5lFryUAoV000WRNklGj)vB%2vAhHXTfu;0)u1FH*oiYW0iy$&Aa+wave~jJo4~)- zll$Je@0phjbUM@@xMwoC_nq^d<-PmOx%ZN{xKN4lc<#S(@pxjE)<-8?xV$mp^y9+m z$A#063l~m5E}VW`xN!P$;q>Feh0~AA5};qe<@GiN_=n;0Cg|rYF4F1zb|3#TT>gLh z3Eln}&+-_*u7`gbS+c&!Bx-0O50`FB|a`uV!wy61=PcP~cg(=5a8jEpCaq$N+k zx>Ku1M~0)qU(L*h{lSm(Y$5b>+3g;kT@dWL<#xL(!ZNH~=jdDF^h24Sew=pyl73Cy zF@C$35U<_u(Rm{+L;gMk?Evx5NBbvfLj?IelU(`n>f!Q3pa6PaIR*;WFk#ND5aIZ- z@_plkbUsdC(6wt;uPRTW*3cgYWrmR89LC>9$6hcDbyAYu94XZxvj18Q$ypJabn206 z)oK6CJzSo>XYW~f+?KodiLF6G^GIb!}Q$T0on*3xvhe#FS^X2 z2IE}Fj&LeP)pJwgFuGzWI-av8s>zKI99xp<03v6oF^d)wG)>A-TFR%*$@@)4LaNLK zFtV`IM~%eQ1>UkA@L>+ix(fH3o-G3Xyt%2G-BAop) ze(xnHdA}%YTzk156dxF~viGE>rT3pe`t37-U9oO_cf-&y$=g*@*C;Y*?e}2)Y?o0( zKQs{4oQ@!o=~p*+woik|mXc!;7%3|KUQ2sQiByTbyC^Q{a-gicEck2-KC?THW=S2L&NC3#H#n*^C+LDy=Q1 zj@Ri2;g-dg(6D+KF|2tataq;Nq3!@*d=G*bMNyf!r4eY~TxYQt% zE#bq2O9`MuhJszOzBf9sC6TO67i%9hFzAIJXu*-T@8#<8U{z9yAq2lw+OFzoGhti(wYl}=jx(>2z+ZxvW=z27ypWM6&7bD(A z_bO)HFtTE$Xd%wCPInqYq1&9NU`_W!15wQ*bU&BVQ9_hywC;yRgr~z%a=)R}6W0A| zzijRa96tfLZygOG-Joq!?H0ZJQ3>wsqx2K2+*XT1fitn&VMI3uXWcIr;7n(_%_oQ1_cPf4ozO-u(b59KG*?~u=a*K$4zKl|mD-GV3QRS~zM&VeBd%+*%nbUcHT`vZ|6l%BPkZX7Jp z&<_nnHKzx&He+=9AwqNZ!y+(JRQjpYwl=2f*U__I+KSW7FLL0@0moa>0^l11V;04Y zP9mQDCdOatyD}ejnQpVg-nc@60?I{nV{n?gImKH9%P$~b(WadJj>z;w2+cxiiAO`s z0B1i}SAE#oFGY3s>rlc53#{;udR7}c0R1Wi^TNAdz+UVFMituw^V9FXOuxJL+l4?= zKy&tUBw6H}?;mA-tcj@awoIqJ7fV#!oJa;8MugJ)%zD_rN;ULD15xI9uhnk8IJJZ$ zG&kR{bT}%zs5))u%2lD8uPuet4L;AfdG~$5eOCea?#KOoYB!`G-W1tY7B<2u5%|%k zTp=cU6beidHT`7xEgC5_t+%k7C$qWC$#6vt>5odAFG6bMEG{#Wn#dVyK!Z15%pG>~ z#jscn>RD~f;YjM-(V^r8(@(DlPQiYv@0pi=ZJu^tldp;R4&G}Qg5ALY`45uyPdjJN z+cXfy@y9P40wyLVz5s$sfEZZFl18Y2DxnUPvQ+B80s{z;&h3x^kv2Y`<0KVMs%GV_ zR8XKVD_@I?FOTlxla-<-Sc&gHq8wJ1iw44o`J!yAov~I(203`uun$L zes)v}ov6g|tGJQfV3XkC=7pnQvy0!Kq6AKtlNxl-EiKhJh&q1oc^E${Dn;{^-L=X* z$IogQ@x|nfd0zt-^DwAwo(exwaZ43)R{W;L62X%*KFx&E*^Fbq6UW^SjKGhDcB4d_ zlsc3|yOAA^2S2n#rcGhdb)OtgX6jS-sSn)__3JQl_Ots-535nJXs?9$%~YPRJbgR& z;K}mnD?EAK2M3<<_`YAS^9KMumRc~{3K{D;gfwZ1HCifuY1IQuoEua}1^3#pmTg5} zJfPbxs=6WvzWh>1GPp&Tm@`L@v9oBY3pCgmcl?q)pN+fgkI2fw&(#ct1qS)B7&T9{ zTRyq@G}D|dpJxkBfnPfeV3!gSy1>FVRq;!y9$4bPR9OV?G+-^;ioQ6OZnr4viaPK> zk{MLOoOw5NVQy#wjcoivxGuo+`utZAH(&NL6c)f~a{b5mji`A%to!8V)68OY{I)5B zu6v0R4_MeQWYVe!mXZ=FuiQ%8CD>N<#j$j|MNwDOfrTW4)xew?#!nY$@WPXU>mnS2 zFX#|tC@jDu3EV%tzo+UxIruci!7p&O9T%V*ur7e>v}ph`Db)i@Nr{w2&@#bVwiSJG zEZuHV)D?ALA<5upyf9}{_+<$+{O@&fHp%R_n9P2hl)VgvMVtXYF7Z=zpL~3pg5c-% z7RWEB!d;2Gb(%C1O+oOh64G&8FQLzMI%K{IGHKOAloCHxUcqlf zSYumsVDNxuw`AZaBpIyGoKf-91sd7-s&HL!<$H1Nu)p%nP+0V(hpPMJ=+n$Te!v{t zcFHbeZn^(#4U}lA2QO3jp)7*yL9DSYE*P=1ZnvoFiaKy2$zX-%jEbKw(8$K0-rUBO zuWXv7uz-xN`{d-)6a_!{=-6%I@Q}9cxZ~c;l8lT>Zj#Kuzf!aBH$METZm(&z+U=Ir zblhs5`00|2!EdJVLqDtR@RWCgT;Ee&k}>!d0YB(^L12Dm$mGAoGH-#2!Oz6tXJTUT uGcov?m>B#_41Oji20s&npNYx%V*Ld+v*dZ)Xj5DO0000B3i+4hJ>Tsgop`{Sli5jjiDj6FAjrZ1`8Zui5dM8MnA~x2O0g+ z0fuy-|MQzSpjZrUZ-Y{?6qHIpQ2ZqvDBa$krcm~4XneJ2k1POuL8M<2kpTcX`Q6Ae zyR@6g{3lNe04U!^IiB*yjxIkOyFYehKT;+nl#04$l81W6_(L;{MdC5pAQ*3dvcWRa zc2UK9e^^t zkzZe4z5o1KL8gu(FlZO|wC!N!SyYV1clnAty>}jjvUF)ON*bn-yJN4)woJMlGAogq9t~%CaoC*GYbtNI3x&fE>X=h>{ z)Ms-+7{M5p$mPzF2Sy8#$%g~J=>_!(7?Y+AtoalRJ>n{usk;7j>Di0nYUB6Tk+ZPL zGyD@0gRWyabIysP0HOo__JMcf@M>88(h+|V*FKX-%vmcDy_b3*mgY%NwV+Xqpr$r? z1kOY52aj|uMcmhZb4V+R|Fc7M;xI1${%jn!Ir(Pq<7_VR9wmkU>@G6+6A9YY86*;Z zj~Js;8(MRZX7POL&wM}E8*}>}>UV4T*OL?XVrv$6h?Ih#_UhAv+L^x&h|8=#>mRV0 ze*I&+VF)I{UazcrB|%kOyiRT4ubClCR<%;9Hg0Te3BnVStn3fRZl?9oa%Y=1Jx4_B zmC$R}X2p9aeq+ZX!~3&{-=fQ0;vL?^&8x4kMIGW$##DWwX$pE+&c7+TFkawET^AP1 z7!`EEpfqfH^S5kwm=`b*s)L}9`rE}%{*LPA* z7?cSIuSM3k*d+MoPmG1pL0>%{GQ!bnt2_fqyLdtMk8rg%ZrfL4DO#8%oxBosCAhSFAkcqWGSD~>fkAs)^puFtFIJ1U| zZXV|mo>wmMtFLSQNDXAbw9$qO>t3}_7ky?+Wl4FC2^`kD9C(y>DXz+80f@D_?%4TbwS{$-b5d6#xOQ~YOJ+CNiC-1hJv2zls~ERQcVWl)O^-nfkDw4 z73ocKr<=){$Dkf1?Xr9A*6DKpFG7q^a=5oReK9I70>y38;OnY1UR#HuX4;!;$4Paw z9KRTzf=E{hVXhk2QC;}hj9xI_OzkmD`t&^8+SC7MI2u25JQ-FmR0;uL!j ztJ2|*tA}ko384{2KAdAlG?o%pqb{!|U+my72OGmCTkGNF7L((nF%d++EzyH>Wgpk7 z608v?3pN+^3Ts;!i=N@Ui7}%^(@l2A!p}2KcZqcjUHb=)$FY=-bBn}Si8ZXa#fgV5Db*C26>yGx8whtSS z>3y_NG%48~dB#<9M6`qMEv9=~n5+IY;xzk741H&w4LReA;Z@ZnE+d=hp84VR2%_22 z^enxyr1^@H^CGS2PtW{a%>0|7O~IP;N|Z6xP>FN~O+Lg4(`n4Z;T#mFHIMzPSMh(? zu089{e4J(14FomVSnJX{bLGM6dbNc`% zI;VnSca zuLoEv*w%am2ht_ERpw$NV&*ML^ayfdl5wG&n9AQw-wKy52ricom_nQTXP0^G>)!EQ z0H`eu+)G>H3?6taUa51j5t7{q$pou6mQr^PZ8N)UvSbiCQs!W$Tm_mW4?^Plpus#E z05Uq$DMJgQ<&Lp)ZkaFL=LBPJQZ6p0WqoejNSt7SOR?$fDhirR)+t8*3NLmsYIaYV zzw*phbE57RF*jXC8h#xoX(W>cWZ^t$n!gk`k!%*sD?S?SFAFBx+-FtCMkBTors}=e zkY(xh)PTVGPFd*(!#l1D@$AKw3lP1${aLjoC0*p@Q>(Uusjty2R?sW+Abb7`l4E#E zlb~+H)`&_q%m&HIwoQ`K^|*(@@}iI-?1;ShIWJB%8{C7+rYc)VKYF4J7{yCwdG1+7 zv|w+@O-Jve1rC4UXZ;@#53fLK?|8u^>9EB)b{f&P#uxI|r-kDQugUOvc$FA<^FLn4 z?J#+2P9Kg|RD7f{0oT*Ic3@!qgBBqIg}(7-EnTIY>sCT*{GK6o!#;$@RFTMAYFuhe2YT zTw+{i+~A}!*dH;3<@h9KV%pYz61QJUW+kL-MJIA&3Gxt#5(F}yk#!sb5r;q|ArO&$(BD9a zkdTnDknkBHVgAkze|HBI2tdL9YJxpbz~7gB%jMCN(_s*Zu&^+n&ld;;^zJOfeTc3D z`n((N^UAnOSo!fIsf-OqsGt3+qiIoyVbXw|)r1fTvYxsYFLBiL9dRGNeK|dFETTNZ zm$ICZhdasFKFNk{z?N``gldMc3kOiqLF*`?4j`<0Wq!a|WN&Pu3TQX)@UtJ5a^O5_LGmN^?ouj;G=b-Oe|_GO-}}g3wR|RlW2Rq_;H!0oj%+aWg@C# zY$I?vHa+0S>)PYUit-5|Kr3Ri8?9wo2Sy)ogck;=CA&p{})3Z;Ze}k zFPs0}f9H3HW`GN11t0^QuTR~2>@IPVIQ=4s!EW?lzT>DyL$|JsELR6S?Vb*~7cz!? zD7rAjn9&-6U66L3XaeT$7h2UtO`H7iz9tCPP9ZTpSQs7~h@kA%E$_rX_u|1{z&7fr zVa~gQl^r6pTdNX&wZ>!J0TcQgtK892#&)+i*7=qc^OI$%6H`FK@a#jq{3Src-`?+S zM>u4s*7y4tr|wlZnxIed6c{StOk;O0rXXrL15Itu}@6-h7w8AE^IHCfwygXqCqjAEzy z@U3zQ4=pu#uCBWiNQz#m7bxzWK*+iTP^#~jteIr7Q_ zx-SJ0+U_OM8k9SQ)qn(1BpoV)`+r;NVg3v0sYAmIfO$%^{gI=uh=Inkev+ex=hs^? zN^bnGfZ%?xpZ9Vtsh}H(9%z~YI>-+8JR(|85l@~j^4$eNy zX`-=OTB1m14L+RaN*nnYu*G8pZSkDB3Sich=zcWD$|0o*(;G4CIugV0(G*GBlFVpT z?E7G;I&ty>VR*SC*|x9pr6$d6Dm+{|xS(o&CEr4q-|pmg%;?Xn{6PT>E`rF*t3fQ? zY^rR}a|W}El5?IYRTQ6=yv(6RjfOhdWM7#z*DjKJA01hwPeNX?9QY*;{^awJ#~7a4 zG2ZLQEH7sV?bK9gdCNW2(CrX=r(of2O8-n9N1rHK{0PA3Bo7B^SGIFB6tq^DUxC67 z{A4&n><bHMw5Ru6mZBWWc1zx)G8*i=2asZIb#eEo;LD%m=h zhTGOir=I?DcKr_Jydb@5vXwIt>J;~!K!T$}6NaAx24~o(@LMLIw|{KckEy_>Xi3Dy z-IAVx@Iq!hu{SGjnH;o}ZdRfO%bQZHc|w(=2EHW2$)Odo!&~h!6#P}&e0l8v(m%V4 z|9xVhGhpv#J9DV?K>;x=p{@$vbcpiDqU-I!EVEq7d^&HGtfPOp@L&dr8XTDmyTJG5 z;ZnjzzYe`*vWE;lVVk1ya&u}r6Pgr+j{O@2Ejvo}Y<%1eM9y|B6N!3CB%HHcV?J~6 zG&=)7%L?4cB3Hx1)=QWH_~^-LZRr#!?^Dff-krqp#+i`L!%}9!BBda>G0`va)~VIw z?3F+cr6TjO=$1Y9jK*mHKDKxI8`=mT@X5H@-A*@0DZa!I?S(pWwn293?UO zh-LiIS&dz{_R#Uy@-T9L@K1FXcr)k>S_Jju&RbPX_Qi8$y@vQT$W0Udm}KP!QD(SiuvYY^@uReVeM|$0yY(-{O}yq1*O>eh z;jK?*1H;{gH=p?T8DK3Ni?VeEIb5NB{M}v3 z>j!?V2t`uU;HinJ(Arerev%{%>rPJN@?vz(t@rmRo}?4romTmL5G8rJ>zFZl<*)iy z(#ZGiN@e??*DV4GY(SrDLZMTM`>aK6DYmhR)zFkc?QR~JBRs%Y+q`;dV>q=Ch$*-g zAM+9IdJPMucEkDeJL=t{KTYMa0=GGC*S%YPfOUBtflleOp5VO z{2Xi7M>zkb=7@YOf7T}goz=Jb>w+rgU6|tHH=ACxQ|uk$?OS5&T*lqgq9q9o>pv%GgbxGkSej(o6GpWAU)L z^@m*BsY`O3=%B8$d3Mio>Qh@q5BqpD!Ho~Lj9xZUC@DItVs7%B0Ohp6Z92Y~UfTb} OLmX_K&?M`dN&f*Wi}fP_ literal 0 HcmV?d00001 diff --git a/po/ru/docs/okular/enhance-solid.png b/po/ru/docs/okular/enhance-solid.png new file mode 100644 index 0000000000000000000000000000000000000000..a109fc465817521129753067c26b8a4047fd0e74 GIT binary patch literal 5267 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 MX4g$CF1g427s)QxQvd(} literal 0 HcmV?d00001 diff --git a/po/ru/docs/okular/enhance-thinline.png b/po/ru/docs/okular/enhance-thinline.png new file mode 100644 index 0000000000000000000000000000000000000000..0645e260cca97ff1559822e1a65fa5314732bfad GIT binary patch literal 6903 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 literal 0 HcmV?d00001 diff --git a/po/ru/docs/okular/forms-bar.png b/po/ru/docs/okular/forms-bar.png new file mode 100644 index 0000000000000000000000000000000000000000..459784eab6a71e8b0172d8c6b7464ea1b841f6d7 GIT binary patch literal 3658 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 QACU^8WuW;@-68D%0BCi0Z~y=R literal 0 HcmV?d00001 diff --git a/po/ru/docs/okular/index.docbook b/po/ru/docs/okular/index.docbook new file mode 100644 index 0000000..39d5e99 --- /dev/null +++ b/po/ru/docs/okular/index.docbook @@ -0,0 +1,4458 @@ + +KPDF"> + + +]> + + + + Руководство пользователя &okular; + + Albert Astals Cid

    &Albert.Astals.Cid.mail;
    + + + Pino Toscano
    pino@kde.org
    +
    +
    + АлександрКабаков
    ak.anapa@gmail.com
    Перевод на русский язык
    АлексейБаранов
    aleksei.ee@gmail.com
    Обновление перевода на русский язык
    ОлесяГерасименко
    gammaray@basealt.ru
    Обновление перевода на русский язык
    + + &FDLNotice; + 19 февраля 2022 г. + 22.04 + + + &okular; — это универсальная программа просмотра документов, основанная на исходных текстах &kpdf; + + + KDE + okular + pdf + ps + postscript + tiff + djvu + dvi + chm + xps + comicbook + fictionbook + markdown + mobipocket + plucker + комментарий + + + + Введение + &okular; — это универсальная программа просмотра документов от &kde;. Она имеет несколько уникальных возможностей, таких как режим обзора, улучшенная поддержка презентаций и поддержка комментариев. + &okular; поддерживает множество разных форматов, таких как: &PDF;, &PostScript;, TIFF, CHM, DjVU, изображения (PNG, JPEG и другие), XPS, Fiction Books, Comic Book, Plucker, EPub, факсы и Markdown. Для просмотра списка всех поддерживаемых форматов и их возможностей смотрите Поддерживаемые форматы документов в &okular; . + + Главное окно &okular; + + + + + + Главное окно &okular; + + + + + + Основные функции + + Открытие файлов + Для просмотра любого поддерживаемого в &okular; файла выберите пункт меню ФайлОткрыть..., выберите в диалоге файл поддерживаемого типа и нажмите кнопку Открыть. Файл должен отобразиться в главном окне. + + Новый документ откроется в новой вкладке, если на странице настройки «Основные параметры» установлен флажок Открывать новые файлы во вкладках. + Закрывать вкладки возможно щелчком средней кнопкой мыши по заголовкам вкладок. + Для повторного открытия последней закрытой вкладки с документом: &Ctrl;&Shift;TФайл Восстановить закрытую вкладку. + + Повторное открытие файлов в &okular; упрощается благодаря пункту меню ФайлПоследние файлы. + &okular; — это стандартное приложение &kde; для просмотра файлов формата &PDF; и &PostScript;, которое запускается при щелчке левой кнопкой по такому файлу в диспетчере файлов. Чтобы открыть какой-либо другой файл, который поддерживается &okular;, используйте пункт контекстного меню диспетчера файлов Открыть с помощью...&okular;. + Способы перемещения по документу после открытия описаны в следующем разделе. + + + Перемещение по документу + Этот раздел описывает перемещение внутри документа в &okular;. + Есть несколько способов прокрутки области просмотра. Возможно использовать клавиши со стрелками вверх и вниз. Также возможно использовать полосу прокрутки, колесо мыши или клавиши &PgUp; и &PgDn;. + Также могут использоваться клавиши перемещения по документу как в редакторе Vim. H и L — для перемещения в начало предыдущей или следующей страницы, J и K — для перемещения на одну строку вниз или вверх. + Другой способ — нажать и удерживать левую кнопку мыши в любом месте документа и передвинуть указатель мыши в направлении, противоположном требуемому. Этот способ доступен, только если включён режим перетаскивания (СервисПеретаскивание). + + Во время просмотра документа в режиме презентации используйте клавиши со стрелками &Up; и &Down; для переключения между страницами или слайдами. Номер и позиция текущего слайда будут показываться в правой верхней части экрана. + + Для упрощения чтения многостраничного документа, используйте возможность автоматической прокрутки в &okular;. Включить автоматическую прокрутку можно с помощью комбинации клавиш &Shift;&Down; или &Shift;&Up;. Затем используйте те же комбинации клавиш для увеличения и уменьшения скорости прокрутки. Для того, чтобы временно приостановить прокрутку, нажмите &Shift;; нажатие любой другой клавиши прекращает автоматическую прокрутку. + По многостраничному документу также можно перемещаться с помощью указателя мыши. Перетаскивайте страницу вверх или вниз, даже тогда, когда указатель мыши приближается к краю экрана. Как только граница страницы будет пересечена, курсор мыши появится снова в нижней или в верхней части экрана, в зависимости от направления прокручивания, — можно просто продолжать перетаскивать мышь. + Боковая панель, расположенная с левой стороны экрана, предоставляет ещё два способа перемещения по документу: + + + Если щёлкнуть по эскизу страницы, она отобразится в области просмотра. + + + Если у документа имеется содержание, при щелчках по его элементам будут показаны соответствующие страницы. + + + Управлять видимостью слоёв документа возможно путём установки и снятия флажков в списке Слои. + + + Если документ содержит закладки, то они могут быть использованы для навигации по документу. Для этого откройте список закладок с помощью панели Закладки и щёлкайте по ним для перехода на соответствующие страницы. Если показаны закладки не только для текущего документа, то возможно переходить по закладкам из всех последних файлов. + + + Если документ содержит комментарии, откройте их список с помощью панели Рецензирование. Щёлкайте по комментариям или выбирайте их с помощью клавиш со стрелками &Up; и &Down; и нажимайте клавишу &Enter; для перехода на соответствующую страницу. + + + Некоторые документы содержат ссылки. При щелчке по ссылке область просмотра переместится на страницу, указанную в ссылке. Если ссылка ведёт на веб-страницу или к другому документу, то будет использована программа, заданная по умолчанию в конфигурации &kde; для данного типа документов. Например, при щелчке по ссылке https://www.kde.org будет открыта веб-страница в браузере, используемом по умолчанию в &kde;. + + Внутренние ссылки в документе работают только тогда, когда активен режим перетаскивания. + + Также возможно использовать следующую функциональность для быстрого перехода к определённым местам: + + + Перейти к первой странице документа возможно с помощью комбинации клавиш &Ctrl;Home или меню: Переход В начало документа . + + + Перейти к последней странице документа возможно с помощью комбинации клавиш &Ctrl;End или меню: Переход В конец документа . + + + Перейти вперёд по документу возможно с помощью клавиши &Space; или &PgDn;. Чтобы перейти на следующую страницу документа, нажмите на панели инструментов кнопку Следующая или выберите пункт меню Переход Следующая страница . + + + Перейти назад по документу возможно с помощью клавиши &Backspace; или &PgUp;. Чтобы перейти на предыдущую страницу документа, нажмите на панели инструментов кнопку Предыдущая или выберите пункт меню Переход Предыдущая страница . + + + Можно возвращаться на предыдущие посещённые позиции в документе в хронологическом порядке. Предположим, вы читаете фразу Как показано в [15], … и хотите быстро посмотреть ссылку [15]. Щёлкните по ней, и &okular; перейдёт на список ссылок. Используя комбинацию клавиш &Alt;&Shift;&Left; или пункт меню Переход Назад , вы переместитесь на позицию в документе, откуда вы пришли. + + + Для перемещения вперёд по истории переходов внутри документа служат комбинации клавиш &Alt;&Shift;&Right; и пункт меню Переход Вперёд . + + + Чтобы перейти к следующему вхождению, используйте клавишу F3 или &Enter; (когда фокус находится на текстовом поле Найти) или выберите пункт меню Правка Следующее . Чтобы вернуться к предыдущему вхождению, используйте комбинацию клавиш &Shift;F3 или &Shift;&Enter; (когда фокус находится на текстовом поле Найти) или выберите пункт меню Правка Предыдущее . + + + + + Режим презентации + В режиме презентации (ВидРежим презентации) документы показываются постранично с таким масштабированием, чтобы на экране была видна вся страница целиком. + + Документы &PDF; можно настроить так, чтобы они всегда открывались в режиме презентации. + + В режиме презентации в верхней части экрана расположена вспомогательная панель, которая становится видимой при перемещении курсора мыши в верхнюю область экрана. + + &okular; в режиме презентации + + + + + + &okular; в режиме презентации + + + + Для перемещения по страницам возможно использовать левую кнопку мыши ( переход на следующую страницу), правую кнопку мыши (переход на предыдущую страницу), колесо мыши, значки со стрелками, строку ввода на расположенной в верхней части экрана панели инструментов или клавиши клавиатуры, указанные в разделе Перемещение по документу + Кнопка Запустить/приостановить, расположенная в верхней панели, позволяет начать воспроизведение презентации или приостановить его. + Для выхода из режима презентации нажмите клавишу Esc или щёлкните по значку Выйти из режима презентации на верхней панели. + Также возможно рисовать на текущей странице карандашом. Щёлкните по значку Переключить режим рисования на верхней панели, чтобы включить или отключить возможность рисования в режиме презентации. Рисунки автоматически очищаются при выходе из режима презентации. Чтобы очистить рисунки на текущей странице, щёлкните по значку Стереть нарисованное. + Режим презентации поддерживает более одного экрана, если они у вас подключены. В таком случае в верхней панели появится новая кнопка, со значком, изображающим экран, — это раскрывающийся список, который позволяет переместить показ презентации на любой другой доступный экран. + Некоторые параметры режима презентации можно изменять. Это описано в разделе Настройка &okular;. + + + + Переход между &okular; и редактором &latex; + + Функция перехода в исходный код полезна, если вы сами пишете документ &latex;. Если всё правильно настроено, в окне &okular; можно щёлкнуть левой кнопкой мыши, удерживая клавишу &Shift;. После этого в редакторе &latex; будет выполнен переход к соответствующему фрагменту исходного кода. + + Для работы функции перехода в исходный код необходимо: + + + Успешное завершение компиляции исходного файла. + Указание редактора в параметрах &okular;. + Включение режима перетаскивания: СервисПеретаскивание. + + + Чтобы использовать эту возможность &okular; щёлкните левой кнопкой мыши, удерживая клавишу &Shift; в документе &DVI; или &PDF;: исходный документ &latex; будет открыт в редакторе, и будет выполнена попытка перехода к соответствующей строке. Не забудьте настроить &okular; на использование нужного редактора с помощью пункта меню НастройкаНастроить Okular... (на панели Редактор). + + Дополнительные сведения о настройке редактора доступны в соответствующем разделе данного руководства. + + + Диалог настройки &okular; + + + + + + Настройка редактора в &okular; + + Настройка редактора в &okular; + + + + + + + Дополнительные возможности &okular; + + Встроенные файлы + Если в документе имеются встроенные файлы, над областью просмотра страницы появится панель с соответствующим уведомлением. + + Панель встроенных файлов + + + + + + Панель встроенных файлов + + + + В этом случае возможно щёлкнуть по ссылке в текстовой области или выбрать ФайлВстроенные файлы для вызова диалога встроенных файлов. Этот диалог позволяет просматривать и извлекать вложенные файлы. + + + Формы + При открытии документа с формами над областью просмотра документа появляется панель, в которой возможно включить формы. + + Панель форм + + + + + + Панель форм + + + + В таком случае возможно нажать на кнопку Показать формы на этой панели или выбрать пункт меню ВидПоказать формы для ввода данных в поля формы. + + + Подписи + При открытии документа с подписями над областью просмотра документа появляется панель, в которой возможно открыть панель Подписи. + + Панель подписей + + + + + + Панель подписей + + + + С помощью панели Подписи возможно ознакомиться с подписью документа и её сертификатом. + + Панель подписей + + + + + + Панель подписей + + + + + Эта возможность доступна только для документов &PDF;. Чтобы получить большую часть сведений о подписи, необходимо установить программу Poppler версии не ниже 0.51, чтобы получить сведения о месте подписания и основании подписи — версии 0.68, чтобы получить сведения о сертификате подписи — версии 0.73. + + + Добавление цифровых подписей + К документам возможно добавлять цифровые подписи с помощью соответствующего пункта в меню Сервис. + Документ возможно подписать, если в системе доступен соответствующий сертификат для подписи PKCS. &okular; не позволяет создавать такие сертификаты, так как они должны выдаваться надлежащими службами сертификации, чтобы ими можно было воспользоватьсяпри проверке подлинности. + Для работы с подписыванием документов &PDF; программа использует библиотеку Poppler. Эта библиотека, в свою очередь, использует для обработки сертификатов библиотеку NSS. На момент написания этого руководства Poppler будет пытаться воспользоваться следующими хранилищами сертификатов NSS в порядке приоритетности (первым, котороесуществует): + + Текущее хранилище сертификатов пользователя Firefox. + Общесистемное хранилище сертификатов /etc/pki/nssdb. + Каталог текущего пользователя $HOME/.pki/nssdb + + Если следует использовать другое хранилище сертификатов, можно указать его в разделе настройки модуля &PDF; диалога настройки модулей. + + Эта возможность доступна только для документов &PDF;. Чтобы получить возможность добавлять к документу цифровые подписи, необходимо установить программу Poppler версии не ниже 21.01. + + + + + Комментарии + &okular; предоставляет функции для рецензирования документов, в частности возможность добавления комментариев к документу. + + Комментарии в &okular; + + + + + + Комментарии в &okular; + + + + В &okular; имеются два различных вида комментариев: + Текстовые комментарии типа жёлтого выделения и чёрного подчёркивания для документов, содержащих текст, например &PDF;. + Графические комментарии для всех поддерживаемых в &okular; типов документов: висящая заметка, встроенная заметка, произвольная линия, выделение, прямая линия, многоугольник, штамп, подчёркивание, эллипс и пишущая машинка. + Используя контекстное меню либо в области Рецензирование боковой панели, либо в области просмотра документа, можно открыть висящую заметку для любого вида комментария, чтобы добавить или изменить комментарий. + Использование комментариев не ограничено только файлами &PDF;, они могут использоваться в документе любого формата, который поддерживается в &okular;. + В программе &okular; имеется возможность архивирования документа. Это собственный формат &okular; для переноса документа с различными метаданными, относящимися к нему (на данный момент только комментарии). Чтобы создать архив документа, выберите пункт меню ФайлСохранить как... и затем выберите в поле Фильтр пункт архив Okular. Документ будет сохранён с расширением .okular. Созданный архив документа можно открыть в &okular;, так же как и обычные документы. + Возможно также сохранять комментарии напрямую в файлы &PDF;. Чтобы сохранить комментарии в текущий файл, выберите пункт меню Файл Сохранить. Чтобы сохранить комментарии в новый файл, выберите пункт менюФайл Сохранить как.... + + По причине ограничений DRM (в основном в документах PDF), добавление, редактирование некоторых свойств или удаление комментариев могут быть невозможны. + + + Любое действие с комментарием (создание и удаление комментария, редактирование произвольных свойств комментария, перемещение комментария путём перетаскивания мышью с удерживаемой клавишей &Ctrl;, редактирование текстового содержимого комментария) может быть отменено или повторено (возвращено) с помощью соответствующего пункта меню Правка. Также возможно отменить действие с помощью нажатия комбинации клавиш &Ctrl;Z и вернуть отменённое действие нажатием &Ctrl;&Shift;Z. + + Возможно настраивать свойства и оформление по умолчанию для каждого инструмента комментирования. Дополнительные сведения доступны в соответствующем разделе этого руководства. + + Добавление комментариев + Чтобы добавить комментарии к документу, следует нажать кнопку Быстрое комментирование на главной панели инструментов &okular; или включить панель комментирования. Для этого выберите пункт меню СервисРецензирование или нажмите клавишу F6. После включения панели комментирования достаточно нажать одну из её кнопок или использовать одну из клавиш (от 1 до 9), чтобы начать создание комментария. + Панель инструментов комментирования позволяет создавать комментарии с рисунками, геометрическими фигурами и текстовыми сообщениями. Возможно использовать панель инструментов комментирования для разметки документа (например, добавлять линии, эллипсы, многоугольники, штампы, выделение, подчёркивание и тому подобное). В приведённой далее таблице описано, что делает каждый стандартный элемент на панели инструментов комментирования. + + + + + Кнопка + Название инструмента + Описание + + + + + + + + + + + + + + + Выделение + + + Используется для выделения текста в документе с помощью указанного фонового цвета. + Нажмите кнопку на панели, после этого нажмите и удерживайте левую кнопку мыши для размещения начала отрывка выделенного текста, затем перетащите мышь для выделения остальной части. + Для выделения возможно задать Тип (Выделение, Волнистая линия, Подчёркивание или Перечёркивание), Цвет и Непрозрачность. Щёлкните правой кнопкой мыши по выделенному тексту и выберите в контекстном меню пункт Свойства. + + + + + + + + + + + + + + Подчёркивание + + + Используется для подчеркивания какого-либо текста. + Нажмите кнопку на панели, после этого нажмите и удерживайте левую кнопку мыши в месте начала подчёркивания текста, затем перетащите мышь для подчёркивания остальной части. + Для подчёркивания возможно задать Тип (Выделение, Волнистая линия, Подчёркивание или Перечёркивание), Цвет и Непрозрачность. Щёлкните правой кнопкой мыши по подчёркнутому тексту и выберите в контекстном меню пункт Свойства. + + + + + + + + + + + + + + Волнистая линия + + + Используется для подчёркивания какого-либо текста волнистой линией. + Нажмите кнопку на панели, после этого нажмите и удерживайте левую кнопку мыши в месте начала подчёркивания текста, затем перетащите мышь для подчёркивания остальной части. + Для подчёркивания возможно задать Тип (Выделение, Волнистая линия, Подчёркивание или Перечёркивание), Цвет и Непрозрачность. Щёлкните правой кнопкой мыши по подчёркнутому тексту и выберите в контекстном меню пункт Свойства. + + + + + + + + + + + + + + Перечёркнутый текст + + + Используется для перечёркивания какого-либо текста. + Нажмите кнопку на панели, после этого нажмите и удерживайте левую кнопку мыши в месте начала подчёркивания текста, затем перетащите мышь для подчёркивания остальной части. + Для подчёркивания возможно задать Тип (Выделение, Волнистая линия, Подчёркивание или Перечёркивание), Цвет и Непрозрачность. Щёлкните правой кнопкой мыши по подчёркнутому тексту и выберите в контекстном меню пункт Свойства. + + + + + + + + + + + + + + Пишущая машинка + + + Пишущая машинка использует непрозрачные буквы на прозрачном фоне, поэтому эта функция полезна при заполнении неинтерактивных форм. + Нажмите кнопку на панели, после этого нажмите и удерживайте левую кнопку мыши для размещения левого верхнего угла, затем перетащите мышь, чтобы указать размещение правого нижнего угла заметки. Введите текст и нажмите либо кнопку OK для сохранения заметки, либо Отмена для отмены создания заметки, либо Очистить для удаления содержимого заметки. + Для текста возможно задать Шрифт и Цвет текста. Щёлкните правой кнопкой мыши по созданному тексту пишущей машинки и выберите в контекстном меню пункт Свойства. + + + + + + + + + + + + + + Встроенная заметка + + + Используется для создания встроенной заметки. Заметка будет показана прямо на странице документа. + Нажмите кнопку на панели, после этого нажмите и удерживайте левую кнопку мыши для размещения левого верхнего угла, затем перетащите мышь, чтобы указать размещение правого нижнего угла заметки. Введите текст и нажмите либо кнопку OK для сохранения заметки, либо Отмена для отмены создания заметки, либо Очистить для удаления содержимого заметки. + Для заметки возможно задать Цвет, Непрозрачность, Шрифт, Выравнивание и Толщину границы. Щёлкните правой кнопкой мыши по созданному значку заметки и выберите в контекстном меню пункт Свойства. + + + + + + + + + + + + + + Висящая заметка + + + Используется для создания многострочной заметки. Заметку возможно просмотреть с помощью двойного щелчка по значку в документе. + Нажмите кнопку на панели, затем щёлкните мышью то место документа, в которое следует добавить висящую заметку. Введите текст в висящую заметку, после этого нажмите кнопку Закрыть заметку в правом верхнем углу окна заметки. + Для заметки возможно задать Цвет, Непрозрачность и Значок. Щёлкните правой кнопкой мыши по созданному значку заметки и выберите в контекстном меню пункт Свойства. + + + + + + + + + + + + + + Произвольная линия + + + Используется для рисования линии произвольной формы. + Нажмите кнопку на панели, после этого нажмите и удерживайте левую кнопку мыши для размещения начала линии, затем перетащите мышь для продолжения линии. + Для линии возможно задать Цвет, Непрозрачность и Толщину линии. Щёлкните правой кнопкой мыши по созданной линии и выберите в контекстном меню пункт Свойства. + + + + + + + + + + + + + + Стрелка (раскрывающийся список) + + + Используется для пометки с помощью стрелок. + Нажмите кнопку на панели, затем щёлкните левой кнопкой мыши для размещения начальной точки линии, переместите указатель мыши в конечную точку линии и щёлкните ещё раз. + Для линии возможно задать Цвет, Непрозрачность, Толщину линии, Начало линии, Конец линии, Длину линии выноски и Длину продления выноски. Щёлкните правой кнопкой мыши по созданной линии и выберите в контекстном меню пункт Свойства. + + + + + + + + + + + + + + Прямая линия (раскрывающийся список) + + + Используется для пометки с помощью линий. + Нажмите кнопку на панели, затем щёлкните левой кнопкой мыши для размещения начальной точки линии, переместите указатель мыши в конечную точку линии и щёлкните ещё раз. + Для линии возможно задать Цвет, Непрозрачность, Толщину линии, Начало линии, Конец линии, Длину линии выноски и Длину продления выноски. Щёлкните правой кнопкой мыши по созданной линии и выберите в контекстном меню пункт Свойства. + + + + + + + + + + + + + + Прямоугольник (раскрывающийся список) + + + Используется для рисования прямоугольника вокруг какой-либо выбранной области. + Нажмите кнопку на панели, после этого нажмите и удерживайте левую кнопку мыши для размещения верхнего левого угла прямоугольника, затем перетащите мышь для размещения нижнего правого угла. + Для рамки возможно задать Тип (Прямоугольник или Эллипс), Цвет, Непрозрачность, Заливку (а также её цвет) и Толщину границы. Щёлкните правой кнопкой мыши по созданной рамке и выберите в контекстном меню пункт Свойства. + + + + + + + + + + + + + + Эллипс (раскрывающийся список) + + + Используется для рисования эллипса или прямоугольника вокруг какой-либо выбранной области. + Нажмите кнопку на панели, после этого нажмите и удерживайте левую кнопку мыши для размещения верхнего левого угла ограничительного прямоугольника для эллипса, затем перетащите мышь для размещения нижнего правого угла. + Для рамки возможно задать Тип (Прямоугольник или Эллипс), Цвет, Непрозрачность, Заливку (а также её цвет) и Толщину границы. Щёлкните правой кнопкой мыши по созданной рамке и выберите в контекстном меню пункт Свойства. + + + + + + + + + + + + + + Многоугольник (раскрывающийся список) + + + Используется для рисования замкнутой плоской фигуры с тремя или более углами. Заметку можно посмотреть, сделав двойной щелчок внутри многоугольника. + Нажмите кнопку на панели, после этого щёлкните левой кнопкой мыши для размещения первой вершины многоугольника, затем переместите указатель мыши в место, где будет вторая вершина многоугольника. Повторяйте процесс до тех пор, пока не дорисуете многоугольник до первой вершины. Сделайте двойной щелчок по многоугольнику, если к нему следует добавить какую-либо заметку. Введите текст заметки и затем нажмите кнопку ОК для сохранения заметки, Отмена для отмены ввода заметка или Очистить для удаления текста заметки. + Для многоугольника возможно задать Цвет, Непрозрачность, Заливку (а также её цвет) и Толщину линии. Щёлкните правой кнопкой мыши по созданному многоугольнику и выберите в контекстном меню пункт Свойства. + + + + + + + + + + + + + + Штамп + + + Используется для пометки текста или изображения с помощью типовой картинки. + Нажмите кнопку на панели для выбора штампа из раскрывающегося списка, после этого щёлкните левой кнопкой мыши для размещения штампа. + Одиночное нажатие просто размещает квадратный штамп (удобно для значков). Чтобы добавить прямоугольный штамп, нажмите и удерживайте левую кнопку мыши в том месте, где будет располагаться левая верхняя точка штампа, и затем перетащите мышь для размещения правой нижней точки. + Для штампа возможно задать Непрозрачность и Символ штампа. Щёлкните правой кнопкой мыши по созданному значку штампа и выберите в контекстном меню пункт Свойства. + + Это экспериментальная возможность. Пользовательские штампы, вставленные в документы &PDF; с помощью &okular;, не будут видны в других программах просмотра документов &PDF;. + + + + + + + В программе &okular; имеются комментарии по умолчанию. На странице «Рецензирование» диалога настройки возможно добавить свои комментарии (например, пользовательские штампы, разметку текста или заполненную цветом геометрическую фигуру для выделения областей и так далее). + + В текст комментариев возможно добавить код &latex;. Для этого добавьте в текст комментария $$код$$, где код — это любое корректное уравнение &latex;, и следуйте указаниям на экране для выполнения обработки этого кода установленным в системе пакетом &latex;. + + Возможно настроить параметры текущего инструмента с помощью самой панели комментирования. В приведённой далее таблице содержится описание функций стандартного набора кнопок панели комментирования. + + + + + Кнопка + Название опции + Описание + + + + + + + + + + + + + + + Толщина линии + + + Нажмите кнопку на панели для выбора толщины из раскрывающегося списка. + + + + + + + + + / + + + + + + + Цвет комментария + + + Нажмите кнопку на панели для выбора цвета текста или границы комментария. Возможно выбрать один из предустановленных цветов или воспользоваться пунктом Другой цвет... для открытия диалога выбора цвета. + + + + + + + + + + + + + + Цвет заливки комментария + + + Нажмите кнопку на панели для выбора цвета заливки комментария. Возможно выбрать один из предустановленных цветов или воспользоваться пунктом Другой цвет... для открытия диалога выбора цвета. + + + + + + + + + + + + + + Непрозрачность комментария + + + Нажмите кнопку на панели для выбора уровня непрозрачности из раскрывающегося списка (100% соответствует непрозрачным комментариям). + + + + + + + + + + + + + + Шрифт комментария + + + Нажмите кнопку на панели для открытия диалога выбора шрифта. + + + + + + + + + + + + + + Расширенные параметры текущего инструмента рецензирования + + + Нажмите кнопку на панели для открытия диалога общей настройки комментария. + + + + + + Стандартная панель комментирования содержит три дополнительные кнопки. + + + + + Кнопка + Описание + + + + + + + + + + + + + + + Добавить текущий инструмент рецензирования в меню Быстрое комментирование на основной панели инструментов. + + Даже если панель комментирования скрыта, для выбора действий быстрого комментирования всегда возможно использовать стандартные комбинации клавиш (от &Alt;9 до &Alt;0). + + + + + + + + + + + + + + + Если этот флажок установлен, текущий инструмент рецензирования будет оставаться активным после использования. + + + + + + + + + + + + + + Скрыть панель комментирования. + + + + + + Нажатие клавиши &Shift; позволяет зафиксировать шаг изменения наклона линии 15° (для комментариев с использованием линий и многоугольников) или соотношение сторон 1:1 (для комментариев с использованием фигур, таких как прямоугольник и эллипс). Также возможно создать соответствующую кнопку панели инструментов с помощью меню Панели инструментов.... + Содержимое меню Быстрое комментирование возможно настроить с помощью страницы «Рецензирование» диалога настройки &okular;. Соответствующее диалоговое окно открывается при нажатии кнопки Быстрое комментирование и последующем выборе пункта Настроить комментарии... в появившемся меню. + + Включение панели комментирования переведёт программу в режим «перетаскивания». + + Создание комментария возможно остановить в любое время, повторно нажав кнопку комментария или клавишу &Esc;. + В только что созданном комментарии будет содержаться имя автора, указанное на странице Рецензирование диалога настройки &okular;. На этой странице также возможно настроить содержимое панели комментирования. + + + Удаление комментариев + Для удаления комментария щёлкните по нему правой кнопкой мыши и выберите в контекстном меню пункт Удалить или щёлкните по нему левой кнопкой мыши и нажмите клавишу ∇. + Если окно комментария было открыто, то при его удалении оно будет закрыто. + + Этот пункт меню может быть неактивным, если документ не позволяет удалять комментарии. + + + + Редактирование комментариев + Чтобы изменить комментарий, щёлкните по нему правой кнопкой мыши и выберите в контекстном меню пункт Свойства. Появится диалог с базовыми параметрами комментария (такими как цвет и непрозрачность, автор и так далее) и параметрами, специфичными для комментариев конкретного типа. + + Диалог свойств комментария + + + + + + Диалог свойств комментария + + + + Чтобы переместить комментарий, наведите на него указатель мыши, удерживая нажатой клавишу &Ctrl;, затем перетащите его с помощью левой кнопки мыши. + Чтобы выбрать комментарий, щёлкните по нему левой кнопкой мыши. На прямоугольнике выделения имеются маркеры изменения размера. Форма курсора изменяется при его наведении на любой из 8 маркеров (они находятся в углах и на краях), обозначая переход в режим изменения размера. Чтобы переместить комментарий, щёлкните по любому другому его месту. Если нажать клавишу &Esc; или щёлкнуть по области, находящейся вне выделения, выделение будет снято. + Изменение размера возможно только для следующих типов комментариев: «Встроенная заметка», «Пишущая машинка», «Штамп» и «Эллипс». + + + В зависимости от прав доступа к документу (в основном при работе с &PDF;), некоторые параметры могут быть недоступны. + + + + + <guimenu +>Управление закладками</guimenu +> + &okular; имеет очень гибкую систему закладок. &okular; сохраняет в закладке положение на странице и позволяет создавать более одной закладки на странице. + Для управления закладками в &okular; возможно использовать панель Закладки на боковой панели, меню «Закладки» или контекстное меню в области просмотра документа (щёлкните правой кнопкой мыши, чтобы открыть его). + + Панель закладок + Чтобы открыть панель Закладки, щёлкните по вкладке Закладки в верхней части боковой панели. Если боковая панель скрыта, нажмите кнопку Боковая панель на панели инструментов или выберите пункт меню F7 НастройкаБоковая панель для включения показа панели. + + Контекстное меню панели закладок + + + + + + Контекстное меню панели закладок + + + + Чтобы просмотреть только закладки из текущего документа, снимите флажок Показывать для всех документов. + Строка фильтра в верхней части панели Закладки может использоваться для фильтрации содержимого списка закладок в соответствии с введённым в неё текстом. + Список закладок допускает представление в виде дерева: список закладок для каждого документа может быть развёрнут или свёрнут нажатием на соответствующий символ < или v. + Контекстное меню, открываемое щелчком правой кнопки мыши по документу в списке закладок, позволяет открыть документ, переименовать или удалить этот элемент из списка. Помните, что удаление элемента документа из списка приводит к удалению всех закладок в этом документе. + Контекстное меню, открываемое щелчком правой кнопки мыши по отдельной закладке, позволяет перейти к связанной с ней страницей, переименовать или удалить эту закладку. + Контекстное меню, открываемое щелчком правой кнопки мыши по элементу содержания, позволяет создать закладку или перейти к следующей или предыдущей закладке. + + + + + Параметры командной строки + Запуск программы &okular; обычно выполняется из меню программ &kde; или с помощью значка на рабочем столе, но её также возможно запустить из командной строки в окне терминала. При использовании этого способа запуска &okular; доступны несколько полезных параметров. + + Открыть файл + Программа &okular; может открыть документ сразу после запуска, если в командной строке указан путь к нему. Например: + % okular + + + Для документов &PDF; имя может задаваться таким образом: имя_документа#ссылка где ссылка — это именованная отметка, встроенная в документ. + + + + Другие параметры командной строки + Доступны следующие ключи командной строки: + + + okular + Открыть указанную страницу в документе. Также доступно через okular + + + okular + Открыть документ в режиме презентации. + + + okular + Сразу открыть диалог печати. + + + okular + Сразу открыть диалог печати и выйти из приложения после печати. + + + okular + Контроль запуска уникального экземпляра &okular;. + + + okular + Позволяет предотвращать вывод &okular; на передний план сразу после запуска. + + + okular + Поиск и выделение указанной строки в документе. В качестве аргумента команды okular следует указать только один документ. + + + okular + Указывает команду внешнего редактора. Команду редактора нельзя указать в уже запущенном экземпляре &okular;. Обратите внимание, что опция не поддерживается при указании команды редактора в командной строке. + + + + + + Окно по размеру страницы + Функция «Окно по размеру страницы» изменяет размер окна, делая его равным размеру страницы при текущем значении масштаба. Если страница не полностью помещается на экране, окно увеличивается, чтобы показать как можно большую её часть. + Чтобы включить эту функцию, используйте комбинацию клавиш &Ctrl;J. + + + + + Главное меню + + + Меню «Файл» + + + + &Ctrl;O Файл Открыть... + + + Открыть файл одного из поддерживаемых типов или архив &okular;. Если уже открыт какой-либо файл, он будет закрыт. Дополнительные сведения доступны в разделе Открытие файлов. + + + + + + Файл Последние файлы + + + Открыть файл, который открывался ранее. Если в программе уже открыт какой-либо другой файл, он будет закрыт. Дополнительные сведения доступны в разделе Открытие файлов. + + + + + + Файл Импорт Postscript в &PDF;... + + + Открыть файл &PostScript; и конвертировать его в &PDF;. + + + + + + &Ctrl;&Shift;T Файл Восстановить закрытую вкладку + + + Повторно открыть последний закрытый документ. Это действие доступно только если в текущем сеансе работы были закрыты вкладки с документами. + + + + + + Файл Открыть папку файла + + + Открыть папку, которая содержит текущий документ, в предпочитаемом диспетчере файлов. Когда в программе &okular; автоматически открывается загруженный из Интернета файл &PDF;, с помощью этой функции его можно легко и быстро найти. + + + + + + &Ctrl;S Файл Сохранить + + + Сохранить открытый документ со всеми изменениями (комментарии, содержимое форм и так далее), используя модули. Если модуль не поддерживает сохранение этих изменений, пользователю будет предложен выбор: отказаться от них или сохранить документ в формате архива &okular;. + + + + + + &Ctrl;&Shift;S Файл Сохранить как... + + + Сохранить открытый документ со всеми изменениями (комментарии, содержимое форм и так далее) под новым именем, используя модули. Если модуль не поддерживает сохранение этих изменений, пользователю будет предложен выбор: отказаться от них или сохранить документ в архиве &okular;. + + Обратите внимание, что эта функция реализована таким образом, что новый файл не будет с точностью до бита совпадать с оригиналом даже при отсутствии изменений (например, у него может быть другой хэш SHA-1 и так далее). + + + + + + + F5 Файл Обновить + + + Обновить текущий открытый файл. + + + + + + &Ctrl;P Файл Печать... + + + Напечатать текущий отображаемый документ. Обратите внимание, что в программе &okular; имеются специальные параметры для печати &PDF;. Для доступа к ним нажмите кнопку Параметры +> +> и откройте вкладку Параметры работы с &PDF;. Используйте эти параметры для печати комментариев или настройки режима растеризации, если возникают проблемы с печатью некоторых символов или необходимо изменить масштаб. + + Параметры масштаба доступны только при установленном флажке Принудительная растеризация. + + + + + + + Файл Предварительный просмотр + + + Предварительный просмотр покажет, как текущий открытый документ будет выглядеть после печати с параметрами по умолчанию. + + + + + + &Alt;Return Файл Свойства + + + Показать общую информацию о документе, такую как название, автора, дату создания и сведения об используемых шрифтах. Доступная информация зависит от типа документа. + + Обратите внимание на сведения об альтернативном шрифте на вкладке Шрифты диалога Свойства. Установка альтернативных шрифтов позволяет решить многие проблемы, связанные с отрисовкой шрифтов. + + + + + + Файл Встроенные файлы + + + Показать встроенные в документ файлы, если они есть. Дополнительные сведения доступны в разделе Встроенные файлы. + + + + + + Файл Экспорт в + + + Это подменю содержит форматы, в которые возможно экспортировать текущий документ. Первым пунктом этого меню для всех видов документов является Текстовый формат.... + Вторым пунктом является Архив документа..., который позволяет сохранять документ с комментариями в специальный формат файлов &okular;. Таким образом можно делиться с другими пользователями &okular; оригинальным документом вместе с комментариями или работать с ними совместно. + + + + + + Файл Поделиться + + + В этом пункте меню представлены службы, которые возможно использовать для публикации текущего документа или его отправки на устройство. Записи в этом подменю управляются системой. Они зависят от формата текущего документа и установленных модулей KPurpose. + + + + + + &Ctrl;Q Файл Выйти + + + Закрыть &okular; + + + + + + + Меню «Правка» + + + + + &Ctrl;Z Правка Отменить действие + + + Отменить последнее редактирование комментария (создание или удаление комментария, редактирование произвольных свойств комментария, перемещение комментария путём перетаскивания мыши с удерживаемой клавишей &Ctrl;, редактирование текстового содержимого комментария). + + + + + + &Ctrl;&Shift;Z Правка Повторить + + + Вернуть последнее отменённое действие во время редактирования комментария. + + + + + + + + &Ctrl;C Правка Копировать + + + Копировать текущий текст, выделенный в режиме Выделение текста, в буфер обмена. + + + + + + + + &Ctrl;A Правка Выделить всё + + + Выделить весь текст (если документ позволяет это). Это работает только в режиме Выделение текста. + + + + + + + + Правка Выделить весь текст на текущей странице + + + Выделить весь текст (если документ позволяет это) на текущей странице. + + + + + + + + &Ctrl;F Правка Найти... + + + Показывает панель поиска под областью просмотра, что позволяет выполнять поиск строки в документе. + + + + + + F3 Правка Следующее + + + Попытаться снова найти в документе строку, поиск которой выполнялся ранее. + + + + + + &Shift;F3 Правка Предыдущее + + + Перейти к предыдущему вхождению строки поиска в документе. + + + + + + + Меню «Вид» + + + + &Ctrl;&Shift;P Вид Презентация + + + Активировать режим презентации. Дополнительные сведения доступны в разделе Режим презентации. + + + + + &Ctrl;&Shift;F ВидПолноэкранный режим + + + Включить полноэкранный режим. Обратите внимание, что полноэкранный режим отличается от режима презентации, поскольку единственным отличием полноэкранного режима от обычного является скрытие рамки окна, строки меню и панели инструментов. + + + + + &Ctrl;+ Вид Увеличить + + + Увеличить масштаб просматриваемого документа. + + + + + + &Ctrl;- Вид Уменьшить + + + Уменьшить масштаб просматриваемого документа. + + + + + Вид Масштаб 100% + + + Привести масштаб изображения документа в соответствие с его фактическим размером, указанным в параметрах документа. + + + + + Вид По ширине страницы + + + Изменить масштаб документа на значение, которое сделает ширину страницы равной ширине области просмотра. + + + + + Вид Страница целиком + + + Изменить масштаб документа на такое значение, которое позволит увидеть одну страницу целиком. + + + + + Вид Автоматическая подгонка + + + Автоматическое изменение масштаба в области просмотра документа на значение, зависящее от соотношения размеров страницы и области просмотра. Либо подгоняет ширину страницы под область представления (как при подгонке по ширине), либо высоту страницы — под высоту области представления (как при подгонке по высоте), либо делает всю страницу видимой (как при просмотре страниц целиком). + + + + + Вид Режим просмотра + + + Это подменю позволяет выбрать режим просмотра страниц. Возможные режимы: Одна страница (только одна страница в ряду), Развороты (две страницы в ряду, как книга), Развороты (первая страница отдельно) и Обзор (число колонок можно указать в параметрах &okular;). + В дополнение к вышеперечисленным режимам, возможно использовать режим просмотра Рулоном. В этом режиме отображены все страницы, что позволяет плавно переходить от одной к другой (в отличие от обычного режима, при котором отображена только одна страница или один ряд страниц). + + + + + Вид Ориентация + + + Это подменю позволяет изменять ориентацию страниц документа. + + Вращение применяется к ориентации каждой страницы. + + Вы можете выбрать Исходную ориентацию, чтобы восстановить ориентацию документа, отменив все применённые вручную вращения. + + + + + Вид Обрезать + + + Это подменю позволяет удалить белую рамку при просмотре страниц (пункт Обрезать поля) или обрезать окно просмотра по выделению (пункт Обрезать по выделению). + В режиме обрезки по выделению возможно создать на странице прямоугольное выделение, по видимым границам которого будут обрезаны все страницы документа. При создании маленького ограничивающего прямоугольника будет автоматически применён его минимальный размер (20% от общего размера страницы). + Режим обрезки полей сохраняется при перезапуске &okular;. Режим обрезки по выделению сбрасывается при перезапуске &okular;. + При переключении режима &okular; с обрезки полей на обрезку по выделению документ «увеличивается» (выходит из режима обрезки полей) и становится возможно создать ограничивающий прямоугольник. + Режим обрезки возможно отключить, повторно выбрав в меню пункт, который включает его. + + + + + Вид Показать/скрыть формы + + + Показать или скрыть элементы форм документа. + + Этот пункт меню активен, только если текущий документ содержит элементы форм. + + + + + + + + + Меню «Переход» + + + + Вид Предыдущая страница + + + Смотреть предыдущую страницу документа. + + + + + Переход Следующая страница + + + Смотреть следующую страницу документа. + + + + + &Ctrl;&Home; Переход В начало документа + + + Перейти в начало документа. + + + + + &Ctrl;&End; Переход В конец документа + + + Перейти в конец документа. + + + + + &Alt;&Shift;&Left; Переход Назад + + + Вернуться к предыдущему виду документа. + + + + + &Alt;&Shift;&Right; Переход Вперёд + + + Перейти к следующему виду документа. Это работает только в том случае, если предварительно был выбран возврат к предыдущему виду. + + + + + &Ctrl;G Переход Перейти на страницу... + + + Открыть диалог, который позволяет перейти к любой странице документа. + + + + + + + Меню «Закладки» + + + + &Ctrl;B Закладки Добавить/удалить закладку + + + Добавить или удалить закладку для текущей позиции. + + + + + Закладки Переименовать закладку + + + Переименовать закладку для текущей позиции. + + + + + Закладки Предыдущая закладка + + + Перейти к позиции предыдущей закладки или ничего не делать, если перед текущей закладкой нет других закладок. + + + + + Закладки Следующая закладка + + + Перейти к позиции следующей закладки или ничего не делать, если после текущей закладки нет других закладок. + + + + + Закладки Закладки отсутствуют + + + Это всегда неактивный пункт меню, который появляется только в том случае, если текущий документ не содержит закладок. Иначе здесь отображается список закладок. Щелчок по закладке позволяет перейти к связанной с ней позиции в документе. + + + + + + + Меню «Сервис» + + + + &Ctrl;1 Сервис Перетаскивание + + + Управление мышью приобретает стандартные свойства: левая кнопка используется для перетаскивания документа и для перехода по ссылкам, а правая — для добавления закладок и подгонки по ширине. + + + + + &Ctrl;2 Сервис Масштаб + + + Мышь будет работать как увеличительный инструмент. Щелчок левой кнопкой мыши и перетаскивание будет разворачивать выделенную таким образом область на весь экран, щелчок правой вернёт предыдущий масштаб. + + + + + &Ctrl;3 Сервис Выделение области + + + Мышь будет работать как инструмент выделения прямоугольной области. В этом режиме после щелчка левой кнопкой мыши и растягивания области выделения возможно скопировать текст или изображение из выделенной области в буфер обмена. Если там есть текст, то можно зачитать его. Либо возможно просто сохранить выделенную область в файл как изображение. + + + + + &Ctrl;4 Сервис Выделение текста + + + Мышь будет работать как инструмент выделения текста. В этом режиме щелчком левой кнопки мыши и перемещением можно выделить текст в документе. Затем щёлкните правой кнопкой мыши, чтобы скопировать текст в буфер обмена или зачитать текущее выделение. + + + + + &Ctrl;5 Сервис Выделение таблиц + + + Для разделения текстового блока на строки и столбцы нарисуйте прямоугольник вокруг текста для таблицы, затем используйте щелчок левой кнопкой мыши. Щелчок по существующей линии удалит её и объединит соседние строки или столбцы. Чтобы скопировать готовую таблицу в буфер обмена, просто щёлкните по ней правой кнопкой мыши. + + + + + &Ctrl;6 Сервис Лупа + + + Включает режим лупы для указателя мыши. Нажмите и удерживайте левую клавишу мыши, чтобы включить виджет лупы, и перемещайте указатель для панорамирования документа. В режиме лупы каждый пиксел документа увеличивается в 10 раз. + + + + + F6 Сервис Рецензирование + + + Открыть панель комментирования. Панель комментирования позволяет добавлять к документу комментарии. Дополнительные сведения доступны в разделе Комментарии. + + + + + Сервис Цифровая подпись… + + + Запуск процесса создания цифровой подписи. Текущая версия программы позволяет добавлять цифровые подписи только к файлам PDF. Дополнительные сведения доступны в разделе Добавление цифровых подписей. + + + + + Сервис Зачитать весь документ + + + Сервис Зачитать текущую страницу + + + Сервис Прекратить зачитывание + + + Сервис Приостановить/возобновить зачитывание + + + Эти пункты меню позволяют управлять запуском и остановкой озвучивания всего документа или текущей страницы с помощью системной службы синтеза речи. Служба предоставлена библиотекой &Qt;, которая обёртывает диспетчер речи в &Linux; и собственные системы синтеза речи на других платформах. Текущий голос возможно выбрать на странице настройки &okular; Лёгкость чтения. + Возможности зачитывания текста доступны, только если в системе установлена служба синтеза речи. + + + + + + + Меню «Настройка» и «Справка» + В отличие от общих для приложений &kde; меню Настройка и Справка, описанных в разделе меню документации «Основы &kde;», меню &okular; содержат следующие дополнительные пункты: + + + + F7 Настройка Боковая панель + + + Показ или скрытие боковой панели. + + + + + Настройка Показать панель номера страницы + + + Переключить показ панели номера страницы в нижней части документа, то есть включить или отключить её (например, для освобождения дополнительного вертикального пространства в окне &okular;). Обратите внимание, что номера страниц всё равно будет показаны на стандартной панели инструментов. + + + + + Настройка Настроить модули... + + + Открыть окно, позволяющее настроить модули. + + + + + + + + Настройка модулей &okular; + Возможно настроить модули &okular; выбрав пункт меню Настройка Настроить модули.... В настоящее время возможность настройки предусмотрена только для модулей EPub, &PostScript;, FictionBook, простых текстовых файлов, текстовых документов OpenDocument и &PDF;. + + Окно настройки модулей + + + + + + Окно настройки модулей + + + + Используя страницы настройки модулей для EPub, FictionBook, Mobipocket, Markdown, простых текстовых документов и текстовых документов OpenDocument, возможно настраивать параметры отображения шрифтов. Кнопка Выбрать... на этих страницах открывает стандартный в &kde; диалог выбора шрифта. Дополнительные сведения доступны в разделе справки «Основы &kde;». + Далее рассматриваются страницы настройки модулей Markdown, &PostScript; и &PDF;. + + Параметры модуля Markdown + Чтобы настроить в &okular; модуль поддержки документов Markdown, основанный на библиотеке Discount, откройте в диалоге настройки вкладку Markdown. Далее описан дополнительный настраиваемый параметр. + + + + + Использовать форматирование SmartyPants + + + Если этот флажок установлен, &okular; будет обрабатывать форматирование SmartyPants. В технических текстах это форматирование может привести к проблемам из-за нежелательных замен (например, замены (C) на символ авторского права). По умолчанию этот флажок установлен. + + + + + + + Параметры модуля &PostScript; + Чтобы настроить в &okular; модуль поддержки документов &PostScript;, основанный на библиотеке Ghostscript, откройте в диалоге настройки вкладку Ghostscript. Далее описан единственный настраиваемый параметр. + + + + + Использовать платформозависимые шрифты + + + Этот параметр определяет, разрешено ли Ghostscript использовать шрифты, установленные в системе. Eсли параметр отключён, то будут использоваться только внедрённые в документ шрифты. Параметр включён по умолчанию. + + + + + + + Параметры модуля &PDF; + Чтобы настроить в &okular; модуль поддержки документов &PDF;, основанный на библиотеке Poppler, откройте в диалоге настройки вкладку &PDF;. Далее описан единственный настраиваемый параметр. + + + + + Улучшение тонких линий + + + Отрисовка линий в &okular; выполняется в два этапа: создание контура отсечения и заполнение этого контура. Когда толщина линии в исходном документе составляет менее одного пиксела, такой способ отрисовки может создать проблемы. Для этих линий контур отсечения заполняется определённым цветом, зависящим от толщины части линии внутри контура отсечения. Если эта часть линии очень мала, линия становится очень бледной и плохо заметной для человека. Сетки из таких линий выглядят очень некрасиво. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Тонкая линия (красный), контур отсечения (прерывистая линия) и границы пикселов (сплошные чёрные линии). + Тонкая линия отрисована очень бледно. + + + + + В &okular; реализованы два способа улучшения вида тонких линий. + Первый вариант — параметр Сплошные. При включении этого параметра программа &okular; будет регулировать контур отсечения и положение линий таким образом, чтобы контур отсечения и линия находились в пределах границ одного пиксела, то есть &okular; будет увеличивать тонкие линии до размера одного пиксела на устройстве вывода. Этот вариант улучшения подобен параметру Улучшать тонкие линии в Adobe Reader. Если он активен, то тонкие линии всегда будут увеличиваться. + + + + + + + + Тонкая линия с применённым улучшением Сплошные + + + Тонкая линия с применённым улучшением Сплошные + + + + + Второй вариант — параметр По фигуре. При включении этого параметра контур отсечения и положение линий также регулируются таким образом, чтобы контур отсечения и линия находились в пределах границ одного пиксела, но яркость линии будет скорректирована в соответствии с её толщиной. + + + + + + + + Тонкая линия с применённым улучшением По фигуре + + + Тонкая линия с применённым улучшением По фигуре + + + + + По умолчанию улучшение тонких линий не выполняется (значение Нет). + + + + + + Сертификаты цифровой подписи &PDF; + + В этом разделе возможно настроить пользовательскую базу данных сертификатов, которая будет использоваться при добавлении цифровых подписей к файлам &PDF;. + Кроме того, в этом разделе перечислены сертификаты, доступные в текущей базе данных сертификатов (если таковые имеются). + + + + + Настройка &okular; + + Общие параметры + Для настройки приложения &okular; предназначен пункт меню Настройка Настроить &okular;.... Диалог настройки разбит на шесть разделов. В этой главе детально описываются доступные параметры. + + + Главное + + + Лёгкость чтения + + + Быстродействие + + + Режим презентации + + + Комментарии + + + Редактор + + + + Диалог настройки + + + + + + Диалог настройки + + + + В зависимости от установленных модулей, может быть доступен пункт меню Настройка Настроить модули.... Он открывает диалог настройки модулей, имеющих изменяемые параметры. + + + Главное + + + Использовать плавную прокрутку + + Следует ли показывать анимированные переходы при прокрутке с помощью колеса мыши или клавиатуры. + + + + Показывать полосы прокрутки + + Следует ли показывать полосы прокрутки в области просмотра документа. + + + + Связать миниатюры с показом страницы + + Будет ли всегда выбрана текущая страница на панели миниатюр. + + + + Показывать подсказки и информационные сообщения + + Следует ли показывать некоторые информационные сообщения при запуске, открытии файла и тому подобном. + + + + Показывать уведомление о внедрённых файлах, формах или подписях + + Следует ли показывать информационные панели с данными о внедрённых файлах, формах, подписях и тому подобном. + + + + Показывать заголовок документа в заголовке окна, если возможно + + Следует ли выводить заголовок текущего документа в заголовке окна &okular;. Если заголовка нет в метаданных документа или этот параметр отключён, то &okular; будет выводить в заголовке окна имя файла. + + + + Когда не выводится заголовок документа + + Возможно выбрать один из двух вариантов: Выводить только имя файла или Выводить полный путь к файлу. + + + + Задать цвет фона + + Позволяет выбрать цвет фона документа (цвет вокруг отображаемой страницы). Если этот флажок снят, по умолчанию используется цвет из набора &Qt;. + + + + Открывать новые файлы во вкладках + + Следует ли открывать новые документы во вкладках. По умолчанию вкладки отключены. + Комбинации клавиш по умолчанию для переключения между вкладками: &Ctrl;. (Следующая вкладка) и &Ctrl;, (Предыдущая вкладка). + + + + Не открывать один и тот же файл в двух вкладках + + Следует ли &okular; переходить на вкладку с уже открытым файлом вместо открытия новой вкладки. По умолчанию этот параметр включён. Переключать значение можно только в том случае, если включён параметр Открывать новые файлы во вкладках. + + + + Соблюдение авторских прав + + Будет ли &okular; следовать ограничениям DRM (управление цифровыми правами). Ограничения DRM используются, чтобы сделать невозможными некоторые действия с документами &PDF;, такие как копирование содержимого в буфер обмена. Обратите внимание, что в некоторых конфигурациях &okular; эта опция недоступна. + + + + Обновлять файлы при обнаружении их изменения + + Должны ли открытые файлы автоматически проверяться на изменения и перезагружаться, если это необходимо. + + + + Выводить диалог выбора модуля формата + + Будет ли пользователю предложено выбрать модуль для использования, если текущий файл позволяют открыть несколько модулей. Если этот флажок снят, &okular; будет использовать модуль с более высоким приоритетом. + + + + Чтение справа налево + + Следует ли по умолчанию использовать для открываемых файлов чтение справа налево. Это может быть полезно для некоторых систем письменности. + + + + Открывать по умолчанию в режиме «рулоном» + + Следует ли по умолчанию использовать режим просмотра Рулоном. В этом режиме отображены все страницы, что позволяет плавно переходить от одной к другой (в отличие от обычного режима, при котором отображена только одна страница или один ряд страниц). + + + + Количество колонок + + Этот параметр определяет количество колонок, которое используется в режиме обзора. + + + + Перекрытие Page Up/Down + + Здесь возможно настроить процент текущей просматриваемой части страницы, которая останется на экране после нажатия клавиш &PgUp;/&PgDn;. + + + + Масштаб по умолчанию + + Этот параметр определяет масштаб по умолчанию, который будет использоваться для открываемых впервые файлов. Для уже открывавшихся файлов будет установлен масштаб, выбранный при прошлом открытии. + + + + + + Специальные возможности + + + Рамки вокруг ссылок + + Следует ли рисовать рамки вокруг ссылок. + + + + Изменить цвета + + Включить опции смены цветов. + + + + Цветовой режим + + Определить режим смены цветов. + + + Инвертировать цвета + + Инвертировать цвета при просмотре, то есть чёрные объекты становятся белыми. + + + + Изменить цвет бумаги + + Изменить цвет бумаги, то есть фон документа. + Цвет возможно выбрать с помощью расположенной ниже палитры Цвет бумаги. + + + + Изменить светлый и тёмный цвета + + Изменить светлый и тёмный цвета на указанные пользователем. Это значит, что белый цвет будет показан не как белый, а как выбранный пользователем светлый цвет, и что чёрный цвет будет показан не как чёрный, а как выбранный пользователем тёмный цвет. + + + + Преобразовать в чёрно-белое + + Преобразовать документ в чёрно-белый. Возможно указать порог чувствительности и контраст. Чем больше значение порога, тем светлее будет выглядеть документ. + + + + Инвертировать светлоту + + Инвертирование яркости всех цветов. Будет произведена замена светлых цветов на тёмные и наоборот без изменения тона и насыщенности. Контраст результирующего изображения, как правило, хуже, чем после операции Инвертировать яркость (линейная sRGB). + + + + Инвертировать яркость (линейная sRGB) + + Инвертирование яркости всех цветов. Будет произведена замена компонента яркости на обратное без изменения тона и насыщенности. При этом преобразовании контраст изображения сохраняется лучше, чем при операции Инвертировать светлоту, но изображения и цветовое выделение текста, как привило, выглядит хуже. Это преобразование использует коэффициенты яркости sRGB, а не изменение гаммы. + + + + Инвертировать яркость (симметрично) + + Инвертирование яркости всех цветов с использование симметричных коэффициентов. Будет произведена замена компонента яркости на обратное без изменения тона и насыщенности. Результат очень похож на результат операции Инвертировать светлоту, но в некоторых случаях показывает лучший контраст. + + + + Положительный сдвиг тона + + Сдвинуть тон всех цветов на 120 градусов. Такая обработка может уменьшить проблемы с контрастом для насыщенных цветных изображений. + + + + Отрицательный сдвиг тона + + Сдвинуть тон всех цветов на 240 градусов. Такая обработка может уменьшить проблемы с контрастом для насыщенных цветных изображений. + + + + Для цветовых режимов возможно настроить комбинации клавиш и кнопки панели инструментов с помощью меню Настройка главного окна &okular;. + + + + Модуль синтеза речи + + Позволяет выбрать модуль синтеза речи (TTS) для использования программой &okular;. Значение по умолчанию: speechd TTS. + + + + Голос синтеза речи + + Позволяет выбрать голос для модуля синтеза речи, который будет использоваться программой &okular;. Можно использовать все языки и голоса, которые доступны в установленных в системе синтезаторах. В &Linux; для определения доступных голосов по умолчанию используется диспетчер речи. + + + + + + Быстродействие + + + Включить прозрачность + + Использовать эффект прозрачности при отрисовке выделения и других элементов.Отключите этот параметр, чтобы рисовать их с помощью контуров или непрозрачных стилей заполнения и увеличить скорость выделения. + + + + Использование памяти + + &okular; можно оптимизировать для вашей системы. Чем больший объём памяти предоставляется программе, тем быстрее она будет работать. Профиль по умолчанию подходит для любой системы, но возможно предотвратить использование &okular; большего объёма памяти, чем необходимо, выбрав «экономный» профиль, или отдать программе больше ресурсов системы, используя «агрессивный» профиль. Используйте «максимальный» профиль для предварительной загрузки всех страниц в память. Для этого будет использована вся свободная память, но не более 50 % от общего объёма оперативной памяти. + + + + Параметры отрисовки + + С помощью этой группы параметров возможно улучшить отрисовку в &okular;. Результат зависит от устройства, которое отображает документ. Параметры Включить сглаживание текста и Включить сглаживание графики включают и отключают сглаживание текста и изображений в документе, соответственно. Параметр Включить хинтинг включает и отключает хинтинг. Сглаживание и хинтинг влияют на отображение документов; эти параметры возможно настроить в соответствии с предпочтениями пользователя. + + + + + + Режим презентации + + + Перейти на следующую страницу через + + Включить автоматическое перелистывание страниц через заданный промежуток времени. + + + + Начать сначала при достижении конца документа + + При навигации в режиме презентации после пролистывания последней страницы документа появится первая страница. + + + + Управление касаниями + + Позволяет выполнить тонкую настройку сенсорной навигации по презентации. Для нажатий сенсорного экрана имеется три возможных значения: + + + Предыдущая / следующая страница при нажатии слева / справа: при нажатии в левой (правой) части экрана будет показан предыдущий (следующий) слайд презентации. + + + Следующая страница при нажатии в любом месте (по умолчанию): при нажатии в любом месте экрана будет показан следующий слайд презентации. + + + Не использовать: при нажатии экрана ничего не происходит. + + + + + + Цвет фона + + Цвет, которым будет заполнено незанятое страницей поле экрана в режиме презентации. + + + + Курсор мыши + + Параметр показа курсора мыши: следует ли его всегда скрывать, всегда показывать или скрывать после некоторого времени бездействия. + + + + Индикатор выполнения + + Следует ли отображать круговую диаграмму, которая показывает текущую страницу и количество страниц документа, в правом верхнем углу экрана в режиме презентации при каждом переключении слайда. + + + + Показывать сведения + + Следует ли показывать в начале презентации сводную страницу с названием, автором и количеством страниц в документе. + + + + Включить переходы + + Используйте этот флажок для включения или отключения эффектов перехода между страницами. + + + + Переход между страницами + + Эффект перехода между страницами, если в документе таковой не указан явно. Укажите Случайный переход, чтобы программа &okular; выполняла выбор варианта перехода случайным образом. + + + + Размещение + + В этой части диалога возможно выбрать Экран, используемый для показа презентации. + Текущий экран — это тот самый экран, на котором находится окно &okular; во время перехода в режим презентации. + Экран по умолчанию — это экран, выбранный как экран по умолчанию в параметрах xinerama. + Экран 0, Экран 1 и так далее — это доступные экраны. + + + + Настройка инструментов рисования + + Настройка цветов карандаша, используемого для рисования на страницах в режиме презентации. + + + + + + Комментарии + + Страница «Рецензирование» в диалоге настройки + + + + + + Страница «Рецензирование» в диалоге настройки + + + + + + Панель рецензирования + + Разрешить переключение между Полной панелью рецензирования (стандартная панель инструментов в верхней части окна &okular;) и Панелью быстрого комментирования (панель с предпочитаемыми инструментами в правой части области просмотра документа). + + + + Автор + + Имя автора содержимого, которое будет добавлено в документ. По умолчанию используется имя, указанное в Профиле пользователя, в разделе Учётная запись системных параметров &kde;. + + + + Инструменты комментирования + + Эта часть диалогового окна используется для настройки панели комментирования. + Здесь находятся средства настройки панели: пять кнопок (Добавить..., Изменить..., Удалить, Переместить вверх, Переместить вниз) и список, который показывает текущее содержимое панели комментирования. + Если требуется добавить какой-либо инструмент на панель, нажмите кнопку Добавить.... Для создаваемого инструмента возможно выбрать Название, Тип и Внешний вид. + + Инструменты комментирования в &okular; полностью настраиваемы. В списке могут присутствовать, например, две кнопки одного и того же инструмента, но с использованием разных цветов. Не стесняйтесь экспериментировать при выборе кнопок, необходимых вам для продуктивной работы. + + Щёлкните по какому-либо элементу в списке, затем нажмите соответствующую кнопку в правой части страницы для редактирования, удаления или перемещения этого элемента вниз или вверх. Комбинации клавиш для инструментов (клавиши от 1 до 9) назначаются в зависимости от позиции инструмента в этом списке. + + + + Пользовательские штампы + + + Создайте значок, который следует использовать для штампа, и сохраните его в любом графическом формате, который поддерживается &okular;. + Нажмите кнопку Добавить, выберите тип Штамп и введите название штампа. + Введите полный путь к созданному значку штампа в поле с раскрывающимся списком Символ штампа. + + + + + + + Редактор + + + Редактор + + Выберите редактор, в котором &okular; будет открывать исходные файлы. Эта возможность используется в том случае, если в документе имеются ссылки на конкретные места (обычно номер строки и столбца) в исходных документах, из которых он сгенерирован. Формат &DVI; имеет встроенную поддержку добавления информации об исходных файлах, из которых был сгенерирован документ &latex;. Аналогичная система имеется и для документов &PDF; (она называется pdfsync): она сохраняет дополнительную информацию во внешнем файле, название которого совпадает с названием соответствующего файла &PDF; (например, mydocument.pdfsync для файла mydocument.pdf). + &okular; поставляется с предварительно настроенными параметрами для следующих редакторов: &kate;, Kile, SciTE, клиент &Emacs;, клиент LyX,TeXstudio и TeXiFy IDEA. + + Чтобы использовать функцию перехода в исходный код в программе &kile;, необходимо скомпилировать файл &latex; с конфигурацией Modern. + + + + + Команда + + Это команда и её параметры для открытия исходного файла текущего документа в выбранном редакторе. + Поля заполняются автоматически, если используется один из предварительно настроенных редакторов. В ином случае выберите в раскрывающемся списке Редактор пункт Внешний текстовый редактор и обратитесь к документации предпочитаемого вами редактора для поиска соответствующей команды. + Возможно использовать следующие подстановочные знаки: + + + %f — имя файла + + + %l — строка в файле, на которую нужно установить курсор + + + %c — столбец в файле, на который нужно установить курсор + + + Если %f не указано, то после указанной команды будет дописано название документа. + + + + + + + Авторские права и лицензия + + + Права на программу: + &Albert.Astals.Cid; &Albert.Astals.Cid.mail; Текущий сопровождающий + Pino Toscano pino@kde.org + Enrico Ros eros.kde@email.it Разработчик &kpdf; + + + + Права на документацию: + &Albert.Astals.Cid; &Albert.Astals.Cid.mail; Автор + Titus Laska titus.laska@gmx.de Некоторые обновления и дополнения + Pino Toscano pino@kde.org + + Перевод на русский язык: Александр Кабаковak.anapa@gmail.comРедактирование перевода: Николай Шафоростовshafff@ukr.netОбновление перевода: Алексей Барановaleksei.ee@gmail.comОбновление перевода: Олеся Герасименкоtranslation-team@basealt.ru &underFDL; &underGPL; + + &documentation.index; + + + + diff --git a/po/ru/docs/okular/mainwindow.png b/po/ru/docs/okular/mainwindow.png new file mode 100644 index 0000000000000000000000000000000000000000..709a26f62ac3b8e457000aec345e678d938ae7ad GIT binary patch literal 31589 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ⅇ`?61VP|TI`SJLp1M<7EJgl+h!0ahsAL3k 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 P0QFK + +]> + + + + +Руководство пользователя Okular +ЮрийЧорноиван Страница руководства UNIX для Okular yurchor@ukr.net +19 февраля 2022 г. +Okular 22.04 +KDE Gear + + + +okular +1 + + + +okular +универсальное средство просмотра документов + + + +okular параметры Okular URL + + + +Описание +okular предназначен для показа документов различных форматов. + + + +Ключи Okular + + + + + +Открыть указанную страницу документа. + + + + + + +Открыть документ в режиме презентации. + + + + + + +Запустить с открытым диалогом печати. + + + + + + +Сразу открыть диалог печати и выйти из приложения после печати. + + + + + + +Контроль запуска уникального экземпляра приложения. + + + + + + +Позволяет предотвращать вывод Okular на передний план сразу после запуска. + + + + + + +Запустить поиск заданной строки. + + + + + + +Указывает команду внешнего редактора. Команду редактора нельзя указать в уже запущенном экземпляре Okular. Обратите внимание, что опция не поддерживается при указании команды редактора в командной строке. + + + + + +Параметры + + + + +Адрес URL документа, который будет открыт. Для документов PDF, можно указывать адрес в следующем виде: имя_документа#ссылка, где ссылка — это именованная метка, встроенная в документ. + + + + + +Обратная связь +Оставить отзыв можно с помощью IRC: irc.libera.chat #okular, либо по электронной почте: okular-devel@kde.org, либо на веб-сайте: <https://okular.kde.org/>. + + + +Смотрите также + +Более подробная документация доступна по адресу help:/okular (введите данный адрес URL в адресную строку &konqueror; или выполните команду khelpcenter help:/okular). +kf5options(7) +qt5options(7) +Дополнительная информация находится на веб-сайте https://okular.kde.org/. + + + +Авторские права +© Wilco Greven, Christophe Devriese, 2002 +© Enrico Ros, 2004-2005 +© Piotr Szymanski, 2005 +© Albert Astals Cid, 2004-2012 +© Pino Toscano, 2006-2009 +Лицензия: GNU General Public License, версия 2 <https://www.gnu.org/licenses/gpl-2.0.html> + + + diff --git a/po/ru/docs/okular/presentation.png b/po/ru/docs/okular/presentation.png new file mode 100644 index 0000000000000000000000000000000000000000..4abe217e7aed18ca75c28bbc460fabdf70a9f3f9 GIT binary patch literal 9259 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
    W-^U4_ay>At*yOSr|P&Yhb27vbIvSWnP#1+yT z$I;oNwe&(LF3cSvQpZQv)Z75}fk_#|GU8FZ0|xpZR)9W8MQXq@8I>`_+)iMi^I?TJ z%Z3|OgfF8q$Z1^9*8u2xSm8&S>w|iLYv_#Y37`;fE}&ARHQkjoIE^^VP}|0)bJ1wJ z4lil0uZGgcO-(qr)zFIMf0+0iZfn=cjiwbwRns|T;y9RGwSYbrqz-`RxirX$b_RqB z{WXk^e*MQ@1VfHP3J3N2+QICMBaPocfTW8)uh$Y#FaUr@+dfM~pqGte-&CM=2nFNN ziF-!TDsQvJV8la3G(f1*GOd-sef26KwcR3gBBqYilh|aJ6vHsY!U;mLD0e%jCU%nI zl4e2yrG+b3MXdGfMp0p7>$z~fpYQ1lB;=!eaWMb*+4FP&Dsw7Ga$Mj!29e#mS{;2& zr~igwO`LnPlmMNChgU2SNiW4|%voL!L=d071B=ZBdYV=J!fs z)Gz{kN(fqSuzef!xG;5!4hW5NhK1BkOmoA4(MYfc?BCIC9A-=G?^-EtoO|$fs|zoV z!XDirS|If6bPE?S<6pdvVl)tExri{(pfbAzB4MOe{c-jRg!9QxP*ym zNLc~308)5JM^Y0SEMJAVzB%vt%I`>>>M}YRaR42*24&R#v`kGAVxW#Zek=f`grtf{ z0wYUf-EOiOp|AKs3APO#VO$_>ni*UwPTlU*t5HX!IsCX_PUta`581d`=g|9VRaY1> z4zb|0cp#bk*o!wOez^7%kP-oIXy0+G#5h~~^zY{~9^8Z~rku;Nh&L3Woc$)MNL@MK z!{bgo$PX~kL9ibEQXujUb z&I=rN0-sjLK?4PBK2a^UX;J2dptCg|dnWD`;|#@tv-e#i10H}5Nu7bvK5IMJ#@nQf z_~IlTomhV`&{Xv4j@OnA(M3M`9jBEJEVF$o#!*5{MVtxVNGrmP>9W{~Z3Wgwc{~ES z(ipI!Lg$9jV-K(JU8Lxd*`zfO>!KjR}qMhZI*jfhB!?5YD0h<7`W#qA97>zgdZD;B=cq4zM zmT9{MA4H*-*@!WFzhXWeGa5H5y6OkI|Db~B9LI`7t*1U<{XpTb5YE-mXL@+TDx(P{ zwD6{@{ac+1ydO?NTLx#a;e=y)tQN5{$Wl5|f^Nz*a(dLvN*A|m;g&QnblzD4&P%tC zxa6oa?}uXldqKrlYbad#8XF)$Wd25FoAgMzdX4t z18}5M6%KLVh%CO_Y8hsC$YJ^YM|yNlx-$=E923B4ov)7Gs1|_ll?xbrO43Q$cNG(# za9?#|<&DW^&D+evhn~W#jAxTR`WOV6-E{FAN^~f zNM;z0>`JMaAr3*aDg`=0C#_7*!t|lonW`iA0&|!@zMrpunGS9P2hh zU~-}NaS&8UKx@64a-RpH0 zdWj0QE8D&dk0Ry9?C>25^*a{7RW9cG??AKZoQ``9_v=iq)QF|UMhATruNK+f0kR}C z6e)1v47At#M)5qq>b_A>@!npQL8YJ>+g`ixN9Mlp>AMUq!nqW!E?4eXRk3zE(Yk`$ zE4`D-yuqwc;hz~FKUE~UL6P;VOsF(;PJoc(Xon{F0aSRZy49$bXfqwn7$_UwoqHbm ku9WWoeBo$eLR~SHsQItpIlRRE4g>&bYZ!nV)oi2xKa1)=)&Kwi literal 0 HcmV?d00001 diff --git a/po/ru/docs/okular/rating.png b/po/ru/docs/okular/rating.png new file mode 100644 index 0000000000000000000000000000000000000000..267ae33d3056f217e034e1caec9a241a74e460a3 GIT binary patch literal 587 zcmV-R0<`^!P)-X6DT}^WMDsZj*2G2#m_#<#6F#_?>&;9HF&lBN+UF<>991%OlM% z{!1`FWZ$s2_H@PZH9I$@nx}SmooO%=Y0wHJ2nlfk8gvMR5>+lTJ2mR%ax;fb zufnIISI7s2l~x%#V1od(017S{v-V;5v^Dw7&Jl7-D3 z5Fz51q><=Wpe2NW@9V_6b08#^slq60fp0)1j6^tKXpk0?7$z~asGl0le1PeDxCIx# zT0VLu_=N Ze*&iZ-i{PdK*Dmx6Lgk-b&B^ zDq$R6n8&HOiUZml{+ge`mbpOgoqvc(Q!=qK0^{T3aJgLY3=LslIDjoL{Br2tNC*!# z1%_dOkxHeIPNxxz#lT2Y+@iAl5)I{uTusFCClCk(5DW(4^?K3L(t;y>kMNtl8awLk zu!jO@Zf-_xZ7m{^2r4Tp(bLl-Yc(}B;Jt5PSQakonh^Mmq9K{chkzK7ByVqT#|hhQ zY_(EQznEG-K&h-X)N0 z-F2@{Hdj*pM@L7&bng@AreiJs`cYSa(_D$n{M!nG{91-EOF=3dTUnl;pogL(7+-wY3%Da2T$E0sQG~ z#`llA;YlXs@c#aO6c-nRNQ(4^$RnDXnplp~qz;Ee)~c$i_3 zeOp@_j@a+urw8}(I~kGtnICq$oxhG{C`r1yx+Gy;T^+9r0guOn^73*_Pfv@VbeIOd zh=@DFVH(R5Aor6ijYgx;=&N^5j?3o%se^;6n!9dtJ_!Q5B9}$Xi6DD*UB`W&7vE)T ze>$$NXcmYZf6m(K578is6ALmMmckV6IZDm@dDe<~PFSlMMqYBTJ!&N9?c0eEo69*} zlQGONDsdk4Bg$`GLS-{5U;Z`*5)r6NsYBFx8QU-`Rhe;ilVU8ME~{m^(ZMR5eas5 zbO-^$+7Mtl4G#~Cv_?ioxD0$7EIA(2EJGQ)larH}nVI2I@w*#;%QpyoIs{$=DTRER TmlV%l00000NkvXXu0mjfC$#cb literal 0 HcmV?d00001 diff --git a/po/ru/docs/okular/tool-highlighter-okular.png b/po/ru/docs/okular/tool-highlighter-okular.png new file mode 100644 index 0000000000000000000000000000000000000000..eca480c1bb30055565c960e7df6afa4226289205 GIT binary patch literal 1533 zcmV^-1)GhtV456D&z$@5>_($gj?Ym&GSno6%fmJrhjXmRun#LK+|LL?F#GBKd1;tQq`=1DY` zF~n*jlq*-`>WpKj$sN9>$Z+m9b?tTZIO`@MU=gGlSEbuc= zL&p+miAS#)PsDr=L9-EiRyzLPP8KX!Fz+%0gVD(fe&}c#nZIUG-<%-RNKk;v>Lh;r z=_yW@q_SuKEOzdmt6nFj*?S;erZgLkkMMacc#G!<{8{My7#sqxzJsvMNWaBI*8!R2 zIXA#a0~$-vSj?clm_vUqMPrd%FQTSlG2!T&gd%UE@dhHfzNpvH7}oprdX`J_L~u#+ zv+qJnvLwHQP*p5}k{NglQ*c%00*o*)q6J>Bcgzc?#_pOg@MYkLmE_|HRmKu5OTb%@ zg0o^Dz^Dw2ecJ`DlDn5fs|f|S3cMtiuEIx$;a4{hp@ax!B8#X(R7n(@s9IDjsu$Ts zO`>K|r@&iK$=jZR_NCx3%Gk#dwh6p64o^Xn!1n@N+dxp8qH1V&#^dUYX#j3p}@FZ07Y9ngl3X*9l&jA>{0ZEL-YNGH+ z8acVMD7K^!95Sdcrrp_dkUFXw?$|E%J7PdBT<3@2h(p0`@sd0NPoZf9JQ|In>pGE0 z;ey%X9zq+ z;CmQ8p-_lGAb{WRXJB9eP1BT_>uG^nxbBj4)UVpvw^7NfCArmzTDZJK1g=t^KYt#N z$D``p+uN)D4+ewEkWAwG473yqxNUghk}o9>n&Z@$jJ@Q%h;#mJ`hjQ{w>&SHfn2YvD@v+gv;fkqoYHa>gnlG z2Cn)DWHcN2xCRRi76Qhp*j&=H_NHGc(m2Pn|kNX=y1tcI?1jRf6Z}UFeRN7_7>` zmp_gRNAIO0X98O`KE&4Tu~O6fF;`5Y+?I&7_Hmk>8|drnQ~NOL8fIr_lb4sLrf~T1 zVU>Q@u3h;1H_=jWAk@4Nf5j8*{Ng?`zj~0(Ur*zQZAJwzE_;=-^6zMMnboq5IHNHj zZjooGHnpyq-k3{$!(M7?_t4_Z!yhmc!Ag`yQ5T>wiZj+4>O>*| j{^c{~8vbwKh8y?`y7cdp&RIRO00000NkvXXu0mjf*5&Fb literal 0 HcmV?d00001 diff --git a/po/ru/docs/okular/tool-ink-okular.png b/po/ru/docs/okular/tool-ink-okular.png new file mode 100644 index 0000000000000000000000000000000000000000..16f2b886afb739b7caf0b9976959f67060b8e519 GIT binary patch literal 1710 zcmV;f22uHmP)xmJOV7+R zyd2o`T;At@b`kJDg|e0|Fn%rY9iITN*IU0(aC_z&mM>qf5(2*K6Tkv2r_0H~n>$J9 z3uk@V<2N2kdgwoD}eFlJC2@g;Vy8Xy;Q%vOQ0P`3VvSLy2r%%}@UEu=*Pb z@G#FTHYOQhjCKa8rxz`q6wypBpOZx!ALGU;V;AJY`Ey*GOC)Xb_kw&Gr-#GY)3S!Z z!e4bPO8ViCrGROM7~>Z5Ky-9+g;vxwkxc{VspTx6atZ?{{Gyv{I2Z+>e{z6VjnDE} zw~G9`hotj8<|j!R3L~m@4FMM)yR#_n2S4?d@IQy-_Z;Iw<6+b-@#vf>Xr_|ozJ5Lx z?cHR#Cx3UPQt3{m!Xf`I(Le_MRMR|J#s2OPQfsM_KnL0QVH& z>p(SU(2r!&MF|7cV4)qQpe|QZ~=ahZ;vBF zDV%ucS<^c?U{T4~g>zB3K*B4ZrlhMB;Qj&{=d-EiGzF$NxnfS>jQTZMM1`ozdqR#} zl_%9le#xegs}yoMY6q=BGWICbDt5Q763*B8A@?Joyu2KXWt8e08m@k(M&FS~ySs=l z+!s*SC2{O*6#DrTIgW4Dy~g&N0kUve)4O=Xx>`Dq6m8!j3Kv!xKw9T3bW_G0Q(sSj zTCJw3sfmh;3W|%1sjsic<#N%}(?dZ)0R@-y(bbf4`hx@!uS$;EdyZ&PxIkX)Q`)W~ zQWP#sA3$Q=HeXV8oMQ$HUawce|0`&0l>aa>F(F6HX0rjvy{V}w`SZ5z4tu+vSDZ`o zIO|%%1i4bU9W6pg)e2HucFOxh-j?nZuFoZ7m`lg*8kFby6~KK~ukAK_jqBy8iP)uc zNp1>cSF1`CZY}wpdGva9R5{ZrcO;?_sJMF^oiho;d>VH5fHd+z0wSA2IcZaFxESOm zBV!MeMQ)t;7T|Wf(d+f{ z!^$%tOWEJw&)bdfu(5F&n;M?rnf6DC>3rlAD{0$z;M{Fi=}tOHNJ>wH4K)mum}jHb|hSfXeso-+HNxIUlk_vRd= z&c6Vq9IdUbIGs+~+S-)YAk)y!L=e;QeO}N%%;wUk$!<76Zu9GW*!~9jx8o=tJ1W~= z<&`n}MK4-_Z$5@~v#BH*mr-Piqttqg5&?y@%qHB<`E~32X1&EF9E<=wm;kTRThFvS z#Ks+g+epyMgoFtRdcFh`4o30f`TE}lEXeXN;Qs>t4Ru3{Q!vMs(EtDd07*qoM6N<$ Eg5l6mCjbBd literal 0 HcmV?d00001 diff --git a/po/ru/docs/okular/tool-line-okular.png b/po/ru/docs/okular/tool-line-okular.png new file mode 100644 index 0000000000000000000000000000000000000000..8a49a82d1f50ebacb7dd81b171074138f1f8e2b6 GIT binary patch literal 798 zcmV+(1L6FMP)YuW6oza32iCZ8p=n}FU9d4IHnEy?(N_PDJO4ss7e-^6Xi9;`l$KJaAJ9Sy0U@CS zOj{Tz^uy2=rQs_Cra%PoO}BK^!-m~rs=W|Uiys| zfGo>_Zn{>h9l8X#*#bb9ZDeHRc@Llm@FzgY3LK4f#`m>=6jcaNFd*q3Mv!|6!Tti0 zs6%OI2-ts$T0)0POvlEkU*FTAk<_8Q`;7W6kKYA$`+&qfppm^gz{$x8PESuEiXxVm zmk|z!v9huPyWNhnvomlUhxz$=Y8#D4c)ea4Gn>s|?~+w{K)eMKuN^4a0xCo#zOk_Z zgTa7AB7tNwNdl2b1XEK}@cDdLTwKKL>@1r{!b?j_D3wa>;@1ztMx%lC_4QUe8jXU% zU0htCX{`NQzg=8?7GyFRT-mCjc5&4JYQ(z;K;r#v;wk`YwHlbEQYjoCAGZP#0E+>N zht|GV!;oYBkmL86I6XT*Kc|4@c^<`LQ8~cc+8VOiEVj0`D8*v282d1}-|xr7!~_^5 zXZZwydjQ+#Cos-@pdejcU4Bz{|gxC#Ij;_3ldw7Xm`+DF!gB!IU* z#COjiDn;?%-v?OEPft%%9dJ7h_-1~DFYkttJ`BL^b|W5-Q)+rV9(EwHa?Qr+fa(YU zOEsI#2A4w*yIup{rh#eZBMOBAOEo%rEfxzVCnqWAolYkKbZiA!I&JeDq@4lmaCgwy z(;(%2g|avXaq~6g!%>u?V>t4U<40&5x$SXCd+hcz`gi~NRvAFE#NvQ%Kub_s6vr3+HNENG-UPkc{}GG^^&%=pG`6AH^Rj*OoEN|7RXWVt@PWhc_nhbad_K=P=lj?PpzmKAjq_c$b4@!V03011 zIl5{6{rwl30A~dNba@O63|#C1{C@xuj~34LiH@7!_O>+uxBeken(w#;HXpYS;56Ui zXKjBD)$A-9`R8okGt;Q&=6Egjc?y-x48NDt)4X2)71JI-GMR);HU1kw*z*9Im1|gk zcO5##4Q#C6!s5%zkjxJv`&9(5{T^hmhah`11fzPGzTucxvzH)wF-Y*O0`NtI4f&V= zU^U#vr;nqsy&r*R^DYd^o3w$j$xh%A0~j^KP&Xmvi&x>?7-LZThY^k`r=A_Z1P;?E z5}`>1UH4H;h_N3NAsv}QVdp8I{>Qf&_OD2Ufx z$j<;Cj|Wnz6uY~-NTpKk12~;dPH8Te<5cJKc_G!MQb|a6xm;$Wad2?JvDs{vru=QC zQX%Nx-|-0qpl&yrOk78L2f$4kkH@L5e;jKyNeWHMALitVYO2XJ}-egfs3hi;d#NqhhR002ovPDHLkV1g_} BYnuQ7 literal 0 HcmV?d00001 diff --git a/po/ru/docs/okular/tool-note-okular.png b/po/ru/docs/okular/tool-note-okular.png new file mode 100644 index 0000000000000000000000000000000000000000..8db9cda4298034f3449d08bbcbf48ae1ebcda0e1 GIT binary patch literal 968 zcmV;(12_DMP)U36v9YMAsMW)U(#L-0+KRrka=EZ?vZ-syzj@x% zg~+~mys~l1zh^e4u{QUg9yu8-d*8Tnc+{uj3#C+DvfY{A~&BJ@y&Vu6Bh`+US z(Z+qnyLQvaf5f_W=;-M1+9>y&CS=>*T~4oj*gDBw6w*u zcH!2C(8Yb=)rQW_&bzz2va+(QtgNS}r^3R*$hCOEw{*L)aJQ~*-O`2b?(XmJ@AUNa z+Q*B{x{le$i@(3W;^N|>qN2yg$Dp8~zSGmw)YR1B z;o<4&>5#)dBme*a6m(KfQvfb00m(W8J(qZPHN?ZbsLZ^)bnD0Jo&W#=hDk(0RCwBB zAP5-o048Pz1}0{_0BC{;9>C5t6u`mB#f_>!Tml{Npem5WP{50-KuQ`N@G&tk zfNbJn;N|0H;OD{sjErjVVEM<)$oQG>6FB(zKSIOt6{G2AK1RkTvS1}YIG;%~{%3+~ z`T7*7K!m}9@wf%kbE%^Y)(nhSbr|0X!Q3Jh^dN%e@sRFLNCke-o{8JLxx9p;&n3sj&el9z98A!6#|FCt=E zpb78W|0C`)luQlq9vz6Jw2VDfySxbn?=<|Q+fSRUFj+`v?DPH95H qxi??lvv;sGyq|+EO)%LH4g~;6?vtSS4kJPU0000>p z-QDHo<@x#f&d$#9@$tF2x$Eoe&CSi%*Vo9%$c~PVw6wIixVWdMr@Onmva+(t$;qs& ztir;=udlDq&(EWyqvYh|?(XjI@9zg(uq<@E_xk+&{r+{)ZyXb>FMcC8{{amH1n#Z;Be3oq|Ndd%KenDKHQ$bcUT0Wv yy=QE^yz*~8L;-ylK9HkmMEv{;gw#*_KfyOLw?b@p?lzbJ0000wSDSQI!Uv%MRu`o;yk}|p7Z>^znAYhC9+vJ@7;fpBS3WV6s2BC z@kp40rO|31KYDlvFu$9hpL5;F6^YJ`oEyV`f`5;|VzFqo+SS$7Xf*2g`&l_YJ`RV& zOtDW+PGYfGFc{2)V0U-d;c(!>>2#i+o+_2frKKg8%QZDMrBEmWfxy7PfLg8od>g^j_6G^ zfnYfDTDJAHYu)VhA0-ec;K6QWN@M%_`b;JhQ+gms6I+-9p+oo@9v;@|baJ^ooIo%X zdMmd)Y5%6Tdm>4Q6Cl3*{e2Drg4x*Ezy(05_4V~|<3+F6%Ve_t{(hQ|aG4@pUXj5C z!H2Jok_OGR!HLtW1Vl|ZsD6BWT%}TRzRYIx(9jTJE-WnIYj$=Prz0aHtU$1`veMhz zYq#5(UJ$&HuD+D&uXrcdIDtl^A^pR{LkdFQgo5~dK1S@o88G;O4F?AY*lZ4kLPUmZ z*1@xOP1U3+*)?$cLs>UD0r3~>tM|I(o`1Kyo{N>&MgT@vem2b*2i03W^PBI6v~LF0 zJp2^Jv}{5O--Gh zok#J0m7F`rJMuQvbea|-QA5su#H9|s-2sg8yg$r7GVWZ zLD1ILM%&3i7?A@`8yXrK8yk@TQKAl{NFEZ2Bu;=LCnhFHVsdhl@X@8m<3WO)fYH%W zK0~83Gcyq29S{w{;&*Rvk6WE}5+VXdB0z_DXXI3|GfqGh{LWCvwY4?)Nrli127@40 zo6UwJ3djb5z-qOUL`_XiRaI4GWo2Dm9eXG@BWIHpUe(stwzjt7B$FodeOXyqb#--f zb2GUf{Ru+h*q4`=mzI`RR8(Xu)1$xP*01Z^{=vzfKm>t^e^iA(hNK6;%DJ@SL%N%9 aoZvT_E-e%h=7etm0000kdg0003|NkljhX^dF#rit(&x@EYcnfWa<_aH8e%Od7xs(6ARj2>I?=b zD!3t3a4WB2Uh`k*>0kiXPV*RhX!)zCflO*2WHO|7MXI*?18@BI*^-)6>Z5yl$`Z3C z{WK?0(xX36RQ1*i%l0%)iBy!t63;~DeDT +# SPDX-FileCopyrightText: 2021, 2022, 2023, 2024, 2025 Olesya Gerasimenko +# Nick Shaforostoff , 2004, 2007, 2008, 2009. +# Oleg Batalov , 2004. +# Gregory Mokhin , 2005. +# Andrey Cherepanov , 2005. +# Oleg Kluchkin , 2007. +# Leonid Kanter , 2008. +# Artem Sereda , 2008, 2009, 2010. +# Evgeniy Ivanov , 2008. +# Andrey Cherepanov , 2009. +# Alexander Potashev , 2010, 2011, 2012, 2014, 2015, 2017, 2019. +# Yuri Efremov , 2012. +# Alexander Lakhin , 2013. +# Aleksei Baranov , 2014. +# Alexander Yavorsky , 2024. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-10-27 10:30+0200\n" +"Last-Translator: Alexander Yavorskiy \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 25.08.2\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" +"Николай Шафоростов,Андрей Черепанов,Олег Ключкин,Александр Яворский,Олеся " +"Герасименко" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" +"shaforostoff@kde.ru,skull@kde.ru,oleg.kluchkin@gmail.com,kekcuha@gmail.com," +"translation-team@basealt.ru" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "" +"Okular — приложение для просмотра документов, поддерживающее множество " +"форматов" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"© Wilco Greven, Christophe Devriese, 2002\n" +"© Enrico Ros, 2004-2005\n" +"© Piotr Szymanski, 2005\n" +"© Albert Astals Cid, 2004-2017\n" +"© Pino Toscano, 2006-2009" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "Бывший ведущий проекта" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "" +"Большая работа над структурой, модуль формата FictionBook и ранее " +"использовавшийся модуль формата ODT" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "Разработчик" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymanski" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "Создал Okular на основе кодовой базы KPDF" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "Enrico Ros" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "Разработчик KPDF" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "Евгений Трунев" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "Оформление комментариев" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "Jiri Baum - NICTA" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "Выделение таблиц" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "Fabio D'Urso" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "Улучшения комментариев" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "Перейти на страницу %1" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "Открыть внешний файл" + +#: core/action.cpp:197 +#, fuzzy, kde-format +#| msgid "Execute '%1'..." +msgid "Execute '%1'…" +msgstr "Выполнить «%1»…" + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "Первая страница" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "Предыдущая страница" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "Следующая страница" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "Последняя страница" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "Назад" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "Вперёд" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Выйти" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "Перейти в режим презентации" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "Выйти из режима презентации" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go To Page…" +msgstr "Перейти на страницу" + +#: core/action.cpp:365 +#, fuzzy, kde-format +#| msgid "Play sound..." +msgid "Play sound…" +msgstr "Воспроизвести звук…" + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "Скрипт JavaScript" + +#: core/action.cpp:483 +#, fuzzy, kde-format +#| msgid "Play movie" +msgid "Play movie…" +msgstr "Воспроизвести видео" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "Воспроизвести видео" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "Остановить видео" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "Приостановить" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "Возобновить" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "Эта программа Okular собрана без поддержки звука" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "Выбор модуля" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
    %1 (%2).

    Please select which one to use:
    " +msgstr "" +"Найдено несколько модулей поддержки формата для этого типа MIME:
    %1 (%2).

    Выберите один модуль:
    " + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "Большинство страниц %1" + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "Портретная %1" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "Альбомная %1" + +#: core/document.cpp:246 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 x %2 дюйм. (%3)" + +#: core/document.cpp:248 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 × %2 мм (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "Поиск продолжен с начала" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "Поиск продолжен с конца" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "Невозможно найти модуль для обработки документа." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "Подписывание документов этого типа не реализовано." + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "удалить комментарии" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"Документ пытается выполнить внешнее приложение, но в целях вашей " +"безопасности Okular препятствует этому." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "Не найдено приложение для показа файла типа %1." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "Не удалось открыть временный файл" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "Не удалось преобразовать файл для печати" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "Процесс печати аварийно завершился" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "Не удалось запустить процесс печати" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "Не удалось выполнить печать в файл" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "Принтер находится в недопустимом состоянии" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "Не удалось найти файл для печати" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "Не задан файл для печати" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"Не удалось найти подходящую программу для печати. Проверьте наличие утилиты " +"«lpr» из пакета CUPS." + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "Недопустимый размер страницы для печати" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "Не удалось открыть файл «%1». Файл не существует." + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Заголовок" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Тема" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Описание" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "Автор" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Создатель" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Производитель" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "Авторское право" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "Число страниц" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Создан" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Изменён" + +#: core/document.cpp:6032 +#, kde-format +msgid "MIME Type" +msgstr "Тип MIME" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "Категория" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Ключевые слова" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "Путь к файлу" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "Размер файла" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "Размер страницы" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "добавить комментарий" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "удалить комментарий" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "изменить свойства комментария" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "перевести комментарий" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "добавить комментарий" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "изменить текст" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "изменить содержимое комментария" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "изменить содержимое формы" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "изменить выбор в списке формы" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "изменить значение раскрывающегося списка" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "изменить состояние кнопок формы" + +#: core/generator.cpp:790 +#, fuzzy, kde-format +#| msgid "Plain &Text..." +msgid "Plain &Text…" +msgstr "&Текстовый формат…" + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "Текст в формате OpenDocument" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "Параметры печати" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "По размеру области печати" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "По размеру страницы" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "Масштаб:" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "Не показывать это сообщение снова" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "Недоступно" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" +"Внутренняя ошибка подписания. Просьба сообщить разработчикам об этой ошибке " +"(с указанием шагов, позволяющих её воспроизвести). Код ошибки: %1" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "Не удалось подписать документ: %1" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "Подписание отменено пользователем" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "Не удалось подписать. Неверная парольная фраза" + +#: core/signatureutils.cpp:504 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" +"Не удалось сохранить подписанный документ по адресу %1, " +"убедитесь в наличии права записи в выбранную папку" + +#: core/signatureutils.cpp:506 +#, kde-format +msgid "Unknown signing error" +msgstr "Неизвестная ошибка подписания" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Источник: %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "&Шрифт по умолчанию:" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "Версия" + +#: gui/certificatemodel.cpp:41 +#, kde-format +msgid "Serial Number" +msgstr "Серийный номер" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "Центр выдачи" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "Дата выдачи" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "Дата истечения" + +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Субъект" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "Открытый ключ" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "Назначение ключа" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "версия %1" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "%1 (%2 бит)" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "Свойство" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "Значение" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "Висящая заметка" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "Пишущая машинка" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "Встроенная заметка" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +#| msgid "Polygon with Comment" +msgid "Arrow with Comment" +msgstr "Многоугольник, содержащий комментарий" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "Стрела" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "Прямая линия, содержащая комментарий" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "Прямая линия" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "Многоугольник, содержащий комментарий" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "Многоугольник" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgid "Stamp with Comment" +msgid "Rectangle with Comment" +msgstr "Штамп, содержащий комментарий" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "Прямоугольник" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgid "Underline with Comment" +msgid "Ellipse with Comment" +msgstr "Подчёркивание текста, содержащее комментарий" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "Эллипс" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "Выделение цветом, содержащее комментарий" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "Выделение" + +#: gui/guiutils.cpp:87 +#, kde-format +msgid "Squiggle with Comment" +msgstr "Подчёркивание волнистой линией, содержащее комментарий" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "Волнистая линия" + +#: gui/guiutils.cpp:91 +#, kde-format +msgid "Underline with Comment" +msgstr "Подчёркивание текста, содержащее комментарий" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "Подчёркивание" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out with Comment" +msgstr "Перечёркивание текста, содержащее комментарий" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "Перечёркнутый текст" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "Штамп, содержащий комментарий" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "Штамп" + +#: gui/guiutils.cpp:106 +#, kde-format +msgid "Freehand Line with Comment" +msgstr "Произвольная линия, содержащая комментарий" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "Произвольная линия" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "Поле ввода" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "Вложение файлов" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "Звук" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "Видео" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Экран" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "Виджет" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "Rich Media" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation" +msgstr "%1 комментарий" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "Неизвестный" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Автор: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "Куда вы хотите сохранить %1?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "Невозможно открыть файл «%1» для записи. Файл не был сохранён." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "Подпись верна." + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "Неверная подпись." + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "Неверная контрольная сумма." + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "Повреждена структура подписи CMS/PKCS7." + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "В документе отсутствует запрошенная подпись." + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "Подпись не может быть проверена." + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "Сертификат является доверенным." + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "Издатель сертификата не является доверенным." + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "Издатель сертификата неизвестен." + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "Сертификат был отозван." + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "Сертификат просрочен." + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "Сертификат ещё не был проверен." + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "Выполняется проверка сертификата" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "Неизвестная ошибка при обработке сертификата или повреждённые данные." + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "MD2" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "MD5" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "SHA1" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "SHA256" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "SHA384" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "SHA512" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "SHA224" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "Неизвестный алгоритм" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "RSA" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "DSA" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "EC" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "Неизвестный тип" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "Цифровая подпись" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "Неотрекаемость" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "Ключи шифрования" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "Ключи расшифровки" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "Согласование ключей" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "Подписание сертификата" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "Подписание списков отозванных сертификатов" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "Только шифрование" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "Вид использования не указан" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr "," + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "Документ не был изменён после создания подписи." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" +"Редакция документа, удостоверенная подписью, не была измена после " +"подписания, однако в документ были внесены изменения." + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "После подписания документ был изменён недопустимым способом." + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "Не удаётся проверить целостность документа." + +#: gui/signatureguiutils.cpp:208 +#, kde-format +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "В этом документе имеются поля подписи." + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "Документ подписан цифровой подписью." + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "" +"Документ подписан цифровой подписью. Документ был изменён после подписания." + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" +"Документ подписан цифровой подписью. Не удалось проверить некоторые из " +"подписей." + +#: gui/signaturemodel.cpp:141 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "Поле подписи %1" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "Поле: %1 на странице %2" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "Редакция %1: Подписана %2" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "Создание подписи: %1" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "Причина: %1" + +#: gui/signaturemodel.cpp:177 +#, kde-format +msgid "Location: %1" +msgstr "Расположение: %1" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "Подпись PGP" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "Adobe PKCS7" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "Adobe PKCS7 Sha1" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "ETSI CAdES" + +#: gui/signaturemodel.cpp:193 +#, kde-format +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "Неизвестная" + +#: gui/signaturemodel.cpp:195 +#, kde-format +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "Поле подписи" + +#: gui/signaturemodel.cpp:201 +#, kde-format +msgid "Signature Type: %1" +msgstr "Тип подписи: %1" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "Красный" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "Оранжевый" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "Жёлтый" + +#: part/annotationactionhandler.cpp:151 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "Зелёный" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "Бирюзовый" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "Синий" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "Пурпурный" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "Белый" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "Серый" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "Чёрный" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "Толщина %1" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1%" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "Толщина линии комментария (инструмент не выбран)" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "Цвет комментария (инструмент не выбран)" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "Цвет заливки комментария (инструмент не выбран)" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "Непрозрачность комментария (инструмент не выбран)" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "Шрифт комментария (инструмент не выбран)" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" +"Добавить текущий инструмент рецензирования в меню быстрого выбора " +"(инструмент не выбран)" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" +"Зафиксировать соотношение сторон 1:1 или шаг изменения наклона линии 15° " +"(инструмент не выбран)" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" +"Расширенные параметры текущего инструмента рецензирования (инструмент не " +"выбран)" + +#: part/annotationactionhandler.cpp:308 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Толщина линии комментария" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "Толщина линии комментария (не поддерживается выбранным инструментом)" + +#: part/annotationactionhandler.cpp:314 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Цвет текста комментария" + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "Цвет обводки комментария" + +#: part/annotationactionhandler.cpp:318 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Цвет комментария" + +#: part/annotationactionhandler.cpp:322 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Цвет заливки комментария" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "Цвет заливки комментария (не поддерживается выбранным инструментом)" + +#: part/annotationactionhandler.cpp:328 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "Шрифт комментария" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "Шрифт комментария (не поддерживается выбранным инструментом)" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "Зафиксировать шаг изменения наклона линии 15°" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "Зафиксировать соотношение сторон 1:1" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" +"Зафиксировать соотношение сторон 1:1 или шаг изменения наклона линии 15° (не " +"поддерживается выбранным инструментом)" + +#: part/annotationactionhandler.cpp:341 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Непрозрачность комментария" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "Добавить текущий инструмент рецензирования в меню быстрого выбора" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "Расширенные параметры текущего инструмента рецензирования" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "Цвет" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "Цвет заливки" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "Прозрачный" + +#: part/annotationactionhandler.cpp:445 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "Custom Color..." +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "Другой цвет…" + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "Выбор цвета" + +#: part/annotationactionhandler.cpp:552 +#, kde-format +msgid "&Annotations" +msgstr "&Рецензирование" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "Скрыть" + +#: part/annotationactionhandler.cpp:554 +#, kde-format +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Показать дополнительные инструменты комментирования" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "Выделение" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "Подчёркивание" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "Волнистая линия" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "Перечёркнутый текст" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Пишущая машинка" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "Встроенная заметка" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "Висящая заметка" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "Произвольная линия" + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "Прямая линия" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "Стрелка" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "Прямоугольник" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "Эллипс" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "Многоугольник" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "Геометрическая фигура" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "Штамп" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Быстрое комментирование" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "Выбор инструмента рецензирования из раскрывающегося меню" + +#: part/annotationactionhandler.cpp:651 +#, kde-format +msgid "Quick Annotation Bar" +msgstr "Панель быстрого комментирования" + +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "Добавить в панель инструментов комментирования" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "Оставить активным" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "Не закрывать " + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "Ограничивать соотношение сторон и угол наклона комментариев" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "Шрифт" + +#: part/annotationactionhandler.cpp:681 +#, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Параметры комментариев" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "Толщина линии" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "Непрозрачность" + +#: part/annotationactionhandler.cpp:696 +#, kde-format +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1%" + +#: part/annotationmodel.cpp:320 +#, kde-format +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "Страница %1 (%2)" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "Страница %1" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "%1 комментарий" +msgstr[1] "%1 комментария" +msgstr[2] "%1 комментариев" +msgstr[3] "%1 комментарий" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "&Открыть заметку" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Удалить закладку" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Добавить закладку" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, kde-format +msgid "Copy Text to Clipboard" +msgstr "Копировать текст в буфер обмена" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "Копирование запрещено DRM" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "&Удалить" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "&Свойства" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, fuzzy, kde-format +#| msgctxt "%1 is the name of the file to save" +#| msgid "&Save '%1'..." +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "&Сохранить «%1»…" + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "&Внешний вид" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "&Главное" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&Автор:" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "Создание:" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "Изменение:" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "Свойства висящей заметки" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "Свойства «пишущей машинки»" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "Свойства встроенной заметки" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "Свойства прямой линии" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "Свойства многоугольника" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "Свойства фигуры" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "Свойства пометки текста" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "Свойства штампа" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "Свойства произвольной линии" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "Свойства поля ввода" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "Свойства вложения файлов" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "Свойства звука" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "Свойства видео" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "Свойства комментария" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "Выбрать штамп из файла" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "Выбор штампа" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" +"*.ico *.png *.xpm *.svg *.svgz|Файлы значков (*.ico *.png *.xpm *.svg *.svgz)" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "Не удалось загрузить файл %1" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "Недопустимый файл" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&Цвет:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, kde-format +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%v%" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "&Непрозрачность:" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "Значок:" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "Комментарий" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "Справка" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "Вставка" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "Клавиша" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "Новый абзац" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "Заметка" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "Абзац" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Шрифт:" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "&Цвет текста:" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "&Выравнивание:" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "По левой стороне" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "По центру" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "По правой стороне" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "Толщина &границы:" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "Одобрено" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "Как есть" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "Конфиденциально" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "Для служебного пользования" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "Черновик" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "Экспериментально" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "Срок действия истёк" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "Окончательный вариант" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "Для рецензирования" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "Для публичного распространения" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "Не одобрено" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "Не для публичного распространения" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "Продано" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "Совершенно секретно" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "Закладка" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "Сведения" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "Символ штампа:" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "Толщина &линии:" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "Начало линии:" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "Конец линии:" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "Квадрат" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "Круг" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "Ромб" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "Открытая стрелка" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "Закрытая стрелка" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "Ничего" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "Засечка" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "Правая открытая стрелка" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "Правая закрытая стрелка" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "Наклонная черта" + +#: part/annotationwidgets.cpp:531 +#, kde-format +msgid "Leader line length:" +msgstr "Длина линии выноски:" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "Длина продления выноски:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "Использовать" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "Заливка:" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Тип:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "Перечёркнутый текст" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "Символ вложения файла:" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "График" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "Кнопка" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "Скрепка" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "Метка" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "Файл" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "Недоступно" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "Описание недоступно" + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "&Название:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "Описание:" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "Знак поля ввода:" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "Нет" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "Закрыть заметку" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "Параметры" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"Этот комментарий может содержать код LaTeX.\n" +"Нажмите здесь, чтобы преобразовать его в изображение." + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "Не удалось найти программу «latex»." + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "Вывести данные LaTeX не удалось" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "Не удалось найти программу «dvipng»." + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "При выполнении программы «latex» произошла ошибка." + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "При выполнении программы «dvipng» произошла ошибка." + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"%2 закладка" +msgstr[1] "" +"%1\n" +"\n" +"%2 закладки" +msgstr[2] "" +"%1\n" +"\n" +"%2 закладок" +msgstr[3] "" +"%1\n" +"\n" +"%2 закладка" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Закладки" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "Показать для всех документов" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, kde-format +msgid "Search…" +msgstr "Поиск…" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, fuzzy, kde-format +#| msgid "Expand all" +msgid "Expand All" +msgstr "Развернуть всё" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, fuzzy, kde-format +#| msgid "Collapse all" +msgid "Collapse All" +msgstr "Свернуть всё" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "Перейти к этой закладке" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "Переименовать закладку" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Открыть документ" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "Удалить все закладки текущего документа" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "Просмотр сертификата" + +#: part/certificateviewer.cpp:50 +#, fuzzy, kde-format +#| msgid "Export..." +msgid "Export…" +msgstr "Экспортировать…" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "Главное" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "Кем выдано" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "Общее имя (CN)" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "Адрес эл. почты" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "Организация (О)" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "Выдано для" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "Срок действия" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "Отпечатки" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "Отпечаток SHA-1" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "Отпечаток SHA-256" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "Подробности" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "Сведения о сертификате:" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "Выбор расположения для сохранения сертификата" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "Файл сертификата (*.cer)" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "Не удалось выполнить экспорт сертификата" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "&Цветовой режим:" + +#: part/colormodemenu.cpp:21 +#, kde-format +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "Изменить цвета" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "&Обычные цвета" + +#: part/colormodemenu.cpp:41 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "&Инвертировать цвета" + +#: part/colormodemenu.cpp:42 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "Изменить цвет &бумаги" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "Изменить светлый и &тёмный цвета" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "&Преобразовать в чёрно-белое" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "Инвертировать с&ветлоту" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "Инвертировать &яркость (линейная sRGB)" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "Инвертировать яркость (с&имметрично)" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "Положительный сдвиг &тона" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "&Отрицательный сдвиг тона" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "Красный" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "Зелёный" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "Синий" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "Жёлтый" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "Чёрный" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "Белый" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "Жёлтое выделение" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "Зелёное выделение" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "Наложить текст" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "Рамки вокруг ссылок" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "Изменить цвета" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "" +"Предупреждение: этот параметр резко снижает скорость вывода " +"изображения." + +#: part/dlgaccessibility.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "Инвертировать цвета" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "Изменить цвет бумаги" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "Изменить светлый и тёмный цвета" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "Преобразовать в чёрно-белое" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "Инвертировать светлоту" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "Инвертировать яркость (линейная sRGB)" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "Инвертировать яркость (симметрично)" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "Положительный сдвиг тона" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "Отрицательный сдвиг тона" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "Цветовой режим:" + +#: part/dlgaccessibility.cpp:87 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Цвет бумаги:" + +#: part/dlgaccessibility.cpp:99 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Тёмный цвет:" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "Светлый цвет:" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "Порог:" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Контрастность:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "Модуль синтеза речи:" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "Голос синтеза речи:" + +#: part/dlgannotations.cpp:25 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Полная панель рецензирования" + +#: part/dlgannotations.cpp:26 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Панель быстрого комментирования" + +#: part/dlgannotations.cpp:28 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Панель рецензирования:" + +#: part/dlgannotations.cpp:34 +#, kde-format +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "Автор:" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"Внимание: эта информация используется только для создания примечаний. " +"Данные сохранены в рецензируемых документах и будут передаваться вместе с " +"ними." + +#: part/dlgannotations.cpp:48 +#, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

    Quick Annotation Tools

    " +msgstr "

    Инструменты комментирования

    " + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" +"Выберите редактор, используемый при открытии исходного файла из Okular." + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "Внешний текстовый редактор" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Клиент Emacs" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "Клиент Lyx" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "TeXstudio" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "TeXiFy IDEA" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "Редактор:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
    \n" +"You can also put few placeholders:\n" +"
      \n" +"
    • %f - the file name
    • \n" +"
    • %l - the line of the file to be reached
    • \n" +"
    • %c - the column of the file to be reached
    • \n" +"
    \n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"Команда запуска внешнего текстового редактора.
    \n" +"Можно использовать следующие подстановочные знаки:\n" +"
      \n" +"
    • %f — имя файла
    • \n" +"
    • %l — строка в файле, на которую нужно установить курсор
    • \n" +"
    • %c — столбец в файле, на который нужно установить курсор
    • \n" +"
    \n" +"Если %f не указано, имя файла добавится к указанной команде." + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "Команда:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "Использовать плавную прокрутку" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "Внешний вид:" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "Показывать полосы прокрутки" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "Связать миниатюры с показом страницы" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "Показывать подсказки и информационные сообщения" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "Показывать уведомление о внедрённых файлах, формах или подписях" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "Показывать заголовок документа в заголовке окна, если возможно" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "Выводить только имя файла" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "Выводить полный путь к файлу" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "Когда не выводится заголовок документа:" + +#: part/dlggeneral.cpp:92 +#, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "Задать цвет фона:" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "Параметры программы:" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "Открывать новые файлы во вкладках" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "Не открывать один и тот же файл в двух вкладках" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "Соблюдение авторских прав" + +#: part/dlggeneral.cpp:148 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "Обновлять файлы при обнаружении их изменения" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "Выводить диалог выбора модуля формата" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "Чтение справа налево" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" +"Использовать сведения о файлах для принятия решения об открытии в режиме " +"«рулоном» по умолчанию" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "По умолчанию открывать файлы без сведений в режиме «рулоном»" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "Открывать по умолчанию в режиме «рулоном»" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" +"Переносить курсор при его выходе за край экрана в режиме перетаскивания" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "Длина журнала последних файлов:" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "Столбцов в режиме обзора:" + +#: part/dlggeneral.cpp:220 +#, kde-format +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%v%" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" +"Определяет, какая часть текущей видимой области будет оставаться видна при " +"перемещении клавишами Page Up/Page Down." + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "Перекрытие Page Up/Down:" + +#: part/dlggeneral.cpp:228 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%v%" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "100%" + +#: part/dlggeneral.cpp:233 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "По ширине страницы" + +#: part/dlggeneral.cpp:234 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "Страница целиком" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "Автоматическая подгонка" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "Пользовательский" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" +"Определяет масштаб по умолчанию, в котором будут показываться файлы, " +"открываемые впервые. Для уже открывавшихся файлов применяется масштаб, " +"установленный ранее." + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "Масштаб по умолчанию:" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "Включить прозрачность" + +#: part/dlgperformance.cpp:28 +#, kde-format +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "Использование процессора:" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "Экономное" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "Обычное (по умолчанию)" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "Агрессивное" + +#: part/dlgperformance.cpp:38 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "Максимальное" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "Использование памяти:" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "Включить сглаживание текста" + +#: part/dlgperformance.cpp:56 +#, kde-format +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "Параметры отрисовки:" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "Включить сглаживание графики" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "Включить хинтинг" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "Использовать минимум памяти (для слабых компьютеров)." + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"Компромисс между использованием памяти и скоростью показа. Использовать " +"предварительную загрузку следующей страницы и быстрый поиск (для компьютеров " +"с не менее 2 ГБ памяти)." + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"Держать всё в памяти. Использовать предварительную загрузку следующей " +"страницы и быстрый поиск (для компьютеров с более чем 4 ГБ памяти)." + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" +"Загружать и держать всё в памяти. Использовать предварительную загрузку всех " +"страниц. Будет использована вся свободная память, но не более 50% от общего " +"объёма оперативной памяти." + +#: part/dlgpresentation.cpp:38 +#, kde-format +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] "каждые %v секунду" +msgstr[1] "каждые %v секунды" +msgstr[2] "каждые %v секунд" +msgstr[3] "каждую секунду" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "Перелистывать автоматически:" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "Начать сначала при достижении конца документа" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "Предыдущая / следующая страница при нажатии слева / справа" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "Следующая страница при нажатии в любом месте" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "Не использовать" + +#: part/dlgpresentation.cpp:63 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Управление касаниями:" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "Цвет фона:" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "Скрыть с задержкой" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "Показывать всегда" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "Скрыть" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "Курсор мыши:" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "Индикатор выполнения" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "Показывать сведения" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "Не использовать анимацию" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "Замена" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "Случайный переход" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "Вертикальные жалюзи" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "Горизонтальные жалюзи" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "Прямоугольник внутрь" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "Прямоугольник наружу" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "Растворение" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "Постепенное исчезание" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "Вылет сверху" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "Вылет слева" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "Вылет сверху справа" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "Сворачивание по горизонтали внутрь" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "Разворачивание по горизонтали наружу" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "Сворачивание по вертикали внутрь" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "Разворачивание по вертикали наружу" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "Раскрытие вниз" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "Раскрытие вправо" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "Раскрытие влево" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "Раскрытие вверх" + +#: part/dlgpresentation.cpp:121 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Переход между страницами:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "Предпочитаемый экран:" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

    Drawing Tools

    " +msgstr "

    Инструменты рисования

    " + +#: part/dlgpresentation.cpp:171 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Текущий экран" + +#: part/dlgpresentation.cpp:172 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Экран по умолчанию" + +#: part/dlgpresentation.cpp:178 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "Экран %1 (%2 %3 %4)" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "Экран %1 (сейчас отключён)" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "Инструмент рисования: %1" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "Ластик" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "&Название:" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "&Тип:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "Внешний вид" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "Пометка текста" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "Геометрическая фигура" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "Создание комментария" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "Изменение комментария" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "Цвет:" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "&Толщина линии:" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "%v пикс." + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "Создание инструмента рисования" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "Изменение инструмента рисования" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "Неизвестно" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Встроенные файлы" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "Просмотреть" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "Имя" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "Описание" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "Размер" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "Создан" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "Изменён" + +#: part/embeddedfilesdialog.cpp:154 +#, fuzzy, kde-format +#| msgid "Save As" +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "Сохранение в файл" + +#: part/embeddedfilesdialog.cpp:155 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "&Вид" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "Невозможно загрузить модуль предварительного просмотра" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "Предварительный просмотр" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "Закрыть" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "&Найти:" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "Искомый текст" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Следующее" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "Перейти к следующему вхождению" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Предыдущее" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "Перейти к предыдущему вхождению" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "Изменить параметры поиска" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "С учётом регистра" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "С текущей страницы" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "Поиск по мере набора" + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "Все файлы (*)" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "Поле подписи (нажмите для подписания)" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, fuzzy, kde-format +#| msgctxt "@action:button" +#| msgid "Sign" +msgid "&Sign…" +msgstr "Подписать" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "Свойства подписи" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "Параметры поиска" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "С учётом регистра" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "Регулярное выражение" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "Слои" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "из" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "Масштаб" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "Масштаб 100%" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "По &часовой стрелке" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "По часовой стрелке" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "П&ротив часовой стрелки" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "Против часовой стрелки" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "Исходная ориентация" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "Об&резать" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "Обр&езать поля" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "Обрезать по в&ыделению" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "По &ширине страницы" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "Страница &целиком" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "&Автоматическая подгонка" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "О&кно по размеру страницы" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "Ре&жим просмотра" + +#: part/pageview.cpp:594 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "&Одна страница" + +#: part/pageview.cpp:595 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "&Развороты" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "Развороты (&первая страница отдельно)" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "О&бзор" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "&Рулоном" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "Чтение справа налево" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "&Перетаскивание" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "&Масштаб" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "Выделение &области" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "Выделение &текста" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "Выделение &таблиц" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "&Лупа" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "Инструменты выделения" + +#: part/pageview.cpp:711 +#, fuzzy, kde-format +#| msgid "Digitally &Sign..." +msgid "Digitally &Sign…" +msgstr "Цифровая подпись…" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "Зачитать весь документ" + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "Зачитать начиная с текущей страницы" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "Зачитать текущую страницу" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "Прекратить зачитывание" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "Приостановить / продолжить зачитывание" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "Автоматическая прокрутка вверх" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Автоматическая прокрутка вниз" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "Прокрутить на страницу вверх" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "Прокрутить на страницу вниз" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "Показывать формы" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] " Загружен документ (%1 страница)." +msgstr[1] " Загружен документ (%1 страницы)." +msgstr[2] " Загружен документ (%1 страниц)." +msgstr[3] " Загружен документ (%1 страница)." + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "Копировать таблицу в буфер обмена" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "Текст (%1 символ)" +msgstr[1] "Текст (%1 символа)" +msgstr[2] "Текст (%1 символов)" +msgstr[3] "Текст (%1 символ)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "Копировать в буфер обмена" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "Зачитать текст" + +#: part/pageview.cpp:2863 +#, kde-format +msgid "Image (%1 × %2 pixels)" +msgstr "Изображение (%1 х %2 точек)" + +#: part/pageview.cpp:2865 +#, kde-format +msgid "Save to File…" +msgstr "Сохранить в файл…" + +#: part/pageview.cpp:2885 +#, kde-format +msgid "Image [%1 × %2] copied to clipboard." +msgstr "Изображение %1×%2 скопировано в буфер обмена." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "Сохранение изображения в файл" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "Изображения (*.png *.jpeg)" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "Файл не сохранён." + +#: part/pageview.cpp:2901 +#, kde-format +msgid "Image [%1 × %2] saved to %3 file." +msgstr "Изображение %1×%2 сохранено в файл «%3»." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "Копировать текст" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "Перейти на страницу %1" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "По ширине страницы" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "Страница целиком" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "Автоматическая подгонка" + +#: part/pageview.cpp:4107 +#, kde-format +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1%" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "Поиск «%1» в" + +#: part/pageview.cpp:4404 +#, fuzzy, kde-format +#| msgid "Configure Web Shortcuts..." +msgid "Configure Web Shortcuts…" +msgstr "Настроить веб-сокращения…" + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "Перейти по ссылке" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "Воспроизвести этот звук" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "Остановить звук" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "Скопировать адрес ссылки" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "Искать «%1» в этом документе" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Добро пожаловать" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "" +"Выберите область для увеличения. Щелчок правой кнопкой мыши уменьшит масштаб." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "Щелкните мышью для просмотра увеличения." + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "Выделите прямоугольную область с текстом или графикой для копирования." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "Выделить текст" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" +"Выделите прямоугольную область с таблицей, затем щёлкайте у краёв для " +"разлиновки; нажмите Esc для очистки." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" +"Все ваши сертификаты для создания подписей недействительны. Если они ранее " +"использовались для подписания, проверьте срок их действия." + +#: part/pageview.cpp:5188 +#, kde-format +msgid "No valid certificates" +msgstr "Нет ни одного действительного действующего сертификата" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, kde-format +msgid "Open Certificate Manager" +msgstr "Открыть диспетчер сертификатов" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
    Launch Certificate Manager " +"to import or manage certificates
    For more information, please see the " +"section about
    Adding Digital Signatures in the manual." +msgstr "" +"Не найдено ни одного сертификата, пригодного для создания подписи.
    Используйте приложение «Диспетчер сертификатов» для импорта или управления " +"сертификатами.
    Дополнительная информация приведена в руководстве " +"пользователя программы в разделе Добавление цифровых " +"подписей." + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, kde-format +msgid "No certificates found" +msgstr "Не найдено ни одного сертификата" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
    For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" +"Не найдено ни одного сертификата, пригодного для подписания.
    " +"Дополнительная информация приведена в руководстве пользователя программы в " +"разделе Добавление цифровых подписей." + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" +"Имеются несохранённые изменения, необходимо сохранить их до подписания." + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "Для вставки поля подписи нарисуйте прямоугольник" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "Выделите прямоугольную область, которая останется видимой" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "Новая текстовая заметка" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "Текст новой заметки:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Подпись: %1\n" +"\n" +"Дата: %2" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" +"Подпись заданного размера очень маленькая для прочтения. Чтобы создать более " +"читаемую подпись нажмите Начать заново и нарисуйте " +"прямоугольник большего размера." + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "Начать заново" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "Подписать" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name" +msgstr "Автор" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name for the annotation:" +msgstr "Имя автора для комментария:" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "Нарисуйте эллипс (выделите область мышью)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "Выделите текст" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "Нарисуйте линию от руки" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "Встроенный комментарий (выделите мышью область)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "Добавьте висящую заметку" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "Нарисуйте многоугольник (щёлкните первую точку, чтобы замкнуть его)" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "Нарисуйте прямоугольник" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "Подчеркните текст (волнистой линией)" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "Поставьте штамп" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "Нарисуйте прямую линию" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "Перечеркните текст" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "Подчеркните текст" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "Комментарий «пишущая машинка» (выделите мышью область)" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "Выделение" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "Добавить избранный инструмент комментирования" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Custom annotation name:" +msgstr "Название инструмента:" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&Файл" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "&Настройка" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "&Справка" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "&Повернуть" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "&Закладки" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "Панель инструментов просмотра" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Миниатюры" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "Рецензирование" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
    Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" +"Этот документ содержит примечания или данные форм, которые сохранены в " +"документе предыдущей версией Okular. Сохранение данных внутри документа " +"более не поддерживается.
    Для продолжения редактирования " +"документа необходимо сохранить данные в отдельный файл." + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"В этом документе есть встроенные файлы. Щёлкните здесь для их просмотра или перейдите в пункт меню Файл -> " +"Встроенные файлы." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "Выполняется подписание. Вы можете настроить положение и размер подписи" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "Завершить подписание" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "Предыдущая" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "Перейти к предыдущей странице" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "Предыдущая страница документа" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "Следующая" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "Перейти к следующей странице" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "Следующая страница документа" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "В начало документа" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "Перейти в начало документа" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "В конец документа" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "Перейти в конец документа" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "Переименовать текущую закладку" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "Предыдущая закладка" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "Перейти к предыдущей закладке" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "Следующая закладка" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "Перейти к следующей закладке" + +#: part/part.cpp:748 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgid "Configure Okular…" +msgstr "Настроить Okular…" + +#: part/part.cpp:751 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Configure Viewer…" +msgstr "Настройка просмотра документа" + +#: part/part.cpp:757 +#, fuzzy, kde-format +#| msgid "Configure Viewer Backends" +msgid "Configure Viewer Backends…" +msgstr "Настройка модулей просмотрщика" + +#: part/part.cpp:759 +#, fuzzy, kde-format +#| msgid "Configure Backends" +msgid "Configure Backends…" +msgstr "Настройка модулей" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "О модуле формата…" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "О&бновить" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "Обновить текущий документ с диска." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "&Закрыть панель поиска" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "Номер страницы" + +#: part/part.cpp:817 +#, fuzzy, kde-format +#| msgctxt "@action" +#| msgid "Configure Color Modes..." +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "Настроить режим цвета…" + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "Выделить весь текст на текущей странице" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "Боковая панель" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "Показать панель номера &страницы" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "Показать панель &подписей" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "&Встроенные файлы" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "&Экспорт в" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "Под&елиться" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "&Режим презентации" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "Открыть &папку файла" + +#: part/part.cpp:945 +#, fuzzy, kde-format +#| msgid "&Import PostScript as PDF..." +msgid "&Import PostScript as PDF…" +msgstr "&Импорт Postscript в PDF…" + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "Переключиться в режим пустого экрана" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "Стереть рисунок" + +#: part/part.cpp:962 +#, fuzzy, kde-format +#| msgid "Configure Annotations..." +msgid "Configure Annotations…" +msgstr "Настроить комментарии…" + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "Запустить/приостановить презентацию" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" +"Открытый документ только что был изменён, но документ этого типа нельзя " +"сохранить.\n" +"Все изменения будут потеряны при закрытии Okular." + +#: part/part.cpp:1123 +#, kde-format +msgid "Document can't be saved" +msgstr "Невозможно сохранить документ" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "Не удалось открыть файл «%1» (%2)." + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "Загрузка %1 была отменена." + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "Невозможно открыть %1. Причина: %2" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "Настройка модулей просмотрщика" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "Настройка модулей" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"Программа «ps2pdf» не найдена, поэтому Okular не может импортировать файлы " +"PostScript." + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "ps2pdf отсутствует в системе" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "Файлы PostScript (%1)" + +#: part/part.cpp:1357 +#, fuzzy, kde-format +#| msgid "Importing PS file as PDF (this may take a while)..." +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "Импорт Postscript в PDF (это может занять некоторое время)…" + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "Введите пароль для просмотра документа:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "Неправильный пароль. Повторите попытку:" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "Пароль к документу" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" +"Этот документ содержит формы XFA, которые не поддерживаются в " +"настоящее время." + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"Документ содержит формы. Нажмите на кнопке для включения взаимодействия с " +"ними или используйте пункт меню Вид -> Показать формы" + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" +"Редактирование и интерактивные функции отключены для этого документа. Чтобы " +"внести правки, сохраните копию и заново откройте этот документ." + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" +"Этот документ предназначен для просмотра в полноэкранном режиме.\n" +"Перейти в режим презентации?" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "Изменение режима просмотра" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "Войти в режим презентации" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "Отклонить запрос" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "Невозможно открыть файл %1. %2" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" +"В файле %1 имеются несохранённые изменения, но он был " +"изменён сторонней программой. При перезагрузке этого файла несохранённые " +"изменения будут заменены на изменения, внесенные с помощью сторонней " +"программы.Продолжить перезагрузку файла?" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "Файл изменён" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "Продолжить открытие" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "Отменить открытие" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" +"В файле %1 имеются несохранённые изменения, но он был " +"изменён сторонней программой. При закрытии этого файла несохранённые " +"изменения будут заменены на изменения, внесенные с помощью сторонней " +"программы.Продолжить перезагрузку файла?" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "Закрыть" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "Отменить закрытие" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "Сохранить изменения, внесённые в «%1», или отклонить (забыть) их?" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "Закрытие документа" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"Эта ссылка закрывает документ, но эта возможность не поддерживается при " +"встроенном просмотре в другой программе." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"Эта ссылка закрывает приложение, но эта возможность не поддерживается при " +"встроенном просмотре в другой программе." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Reloading the document…" +msgstr "Обновление документа…" + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "Содержание" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "Подписи" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Перейти на страницу" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "&Страница:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "Введите новое название закладки:" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "Переименовать эту закладку" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "Удалить эту закладку" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "Сохранение в файл" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" +"Выбрано сохранение архива Okular без расширения «%1» в конце имени файла. " +"Такое действие запрещено. Выбрать новое имя?" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "Неподдерживаемое расширение" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "Выбрать новое имя" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" +"Файл %1 был изменён сторонней программой. Если " +"выполнить сохранение сейчас, все выполненные с её помощью изменения будут " +"потеряны. Продолжить?" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "Предупреждение" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "Сохранить копию в другом месте" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
    In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" +"Текущий документ защищён паролем.
    Чтобы сохранить документ, программе " +"Okular нужно загрузить его заново, поэтому от вас требуется снова ввести " +"пароль. При этом будет потеряна история операций редактирования для действий " +"«Правка -> Отменить/Повторить».
    Продолжить сохранение?" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "Не удалось открыть временный файл для сохранения.s" + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" +"Не удалось перезаписать %1, так как этот файл доступен " +"только для чтения. Попробуйте выполнить сохранение в другой папке или " +"изменить разрешения этого файла." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" +"Текущий формат документа требует выполнить повторное открытие документа " +"после его сохранения, но при этом будет потеряна история операций " +"редактирования для действий «Правка -> Отменить/Повторить».
    Продолжить?" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "Не удалось сохранить файл «%1». Попробуйте сохранить в другой папке." + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "Содержимое форм" + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "Пользовательские комментарии" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" +"Подготовлено сохранение изменений, но текущий формат файла не поддерживает " +"хранения перечисленных ниже элементов. Чтобы сохранить изменения, сохраните " +"документ в формате Okular document archive." + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "Предупреждение" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, fuzzy, kde-format +#| msgid "Save as Okular document archive..." +msgid "Save as Okular document archive…" +msgstr "Сохранить в формате Okular document archive…" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" +"Подготовлено сохранение изменений, но текущий формат файла не поддерживает " +"хранения перечисленных ниже элементов. Чтобы сохранить изменения, сохраните " +"документ в формате Okular document archive. Чтобы сохранить документ " +"и не сохранять неподдерживаемые элементы, нажмите Продолжить." + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" +"Подготовлено сохранение изменений, но текущий формат файла не поддерживает " +"хранения перечисленных ниже элементов. Чтобы сохранить изменения, сохраните " +"документ в формате Okular document archive. Чтобы сохранить документ, " +"нажмите Продолжить, но эти эти элементы и история операций " +"редактирования для действий «Правка -> Отменить/Повторить» будут утеряны." + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "Продолжить" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "Продолжить без сохранения изменений" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "Не удалось сохранить файл «%1». %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"Okular не может скопировать %1 в указанную папку.\n" +"\n" +"Документ более не существует." + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" +"Невозможно сохранить файл «%1». Ошибка: «%2». Попробуйте сохранить в другой " +"папке." + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "Expand whole section" +msgid "Expand Whole Section" +msgstr "Свернуть раздел" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "Collapse whole section" +msgid "Collapse Whole Section" +msgstr "Развернуть раздел" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "Синхронизировать миниатюру с показом страницы" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Сервис" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "Зачитать" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "Печать" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "Печать документа запрещена." + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"Не удалось напечатать документ. Произошла неизвестная ошибка. Сообщите об " +"этой проблеме на bugs.kde.org" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"Не удалось напечатать документ. Сообщение об ошибке: «%1». Сообщите об этой " +"проблеме на bugs.kde.org" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "Перейти на позицию где вы были раньше" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "Перейти на позицию где вы были позднее" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"Ошибка файловой операции! Невозможно создать временный " +"файл %1." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"Ошибка файловой операции! Невозможно открыть файл " +"%1 для распаковки. Файл не может быть загружен." +"" + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"Эта ошибка обычно происходит, если у вас недостаточно прав на чтение " +"выбранного файла. Вы можете проверить владельца и права доступа, нажав " +"правой кнопкой мыши на файле в диспетчере файлов Dolphin, далее выбрав пункт " +"меню «Свойства» и открыв вкладку «Права» в открывшемся окне." + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"Ошибка файловой системы! Невозможно распаковать файл " +"%1. Файл не может быть загружен." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"Эта ошибка обычно случается при повреждении файла. Если вы хотите " +"проверить целостность файла, попробуйте распаковать файл вручную в командной " +"строке." + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "Закладки отсутствуют" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "Не удалось опубликовать документ: %1" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "Опубликовать" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "Документ опубликован успешно" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "Опубликованный документ доступен по адресу: %1" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "&Правка" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "&Вид" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "Пере&ход" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "С&ервис" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "Основная панель инструментов" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "Панель рецензирования" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, kde-format +msgid "Quick Annotation Toolbar" +msgstr "Панель быстрого комментирования" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "Основные параметры" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Специальные возможности" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "Настройка специальных возможностей" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Быстродействие" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "Настройка производительности" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "Настройка просмотра документа" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Режим презентации" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "Параметры режима презентации" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "Параметры рецензирования" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "Редактор" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "Параметры редактора" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" +"С помощью командной строки в качестве редактора указана программа\n" +" %1 \n" +"Чтобы использовать этот параметр, запустите Okular без параметра --editor-cmd" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "Найти далее" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 — Режим презентации" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "Переключить экран" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "Экран %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "Выйти из режима презентации" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Заголовок: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Страниц: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "Нажмите для начала работы" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "Приостановить" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "Запустить" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"Есть два способа выйти из режима презентации: нажать клавишу Esc или нажать " +"мышью на кнопку закрытия в правом верхнем углу экрана. Кроме того, вы можете " +"переключиться на другое окно (нажав комбинацию клавиш Alt+Tab)" + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "Режим презентации" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "Неизвестный файл" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "Свойства %1" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "&Шрифты" + +#: part/propertiesdialog.cpp:145 +#, fuzzy, kde-format +#| msgid "Reading font information..." +msgid "Reading font information…" +msgstr "Чтение информации о шрифтах…" + +#: part/propertiesdialog.cpp:158 +#, kde-format +msgid "&Page Sizes" +msgstr "&Размеры страниц" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "&Извлечь шрифт" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Type 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Type 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "Type 1C (OT)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Type 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType (OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID Type 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID Type 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID Type 0C (OT)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType (OT)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "PK для TeX" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "виртуальный для TeX" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "TeX Font Metric" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "FreeType для TeX" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "Неизвестный" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "Встроенное подмножество" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "Встроенный полностью" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "Нет" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "Да (подмножество)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "Да" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "%1 (заменён на %2)" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "[н/д]" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "Неизвестный шрифт" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "Встроенный: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "Имя" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "Тип" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "Файл" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "Страница" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "Размер" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "Предварительный просмотр редакции" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "Выбор расположения для сохранения ревизии" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "Не удалось сохранить файл «%1»." + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "Невозможно просмотреть редакцию." + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "Укажите минимум 3 символа для фильтра страниц" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "С учётом регистра" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "Содержит фразу целиком" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "Содержит все указанные слова" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "Содержит любое из указанных слов" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "Настройка фильтра" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, kde-format +msgid "Certificates" +msgstr "Сертификаты" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "Выбор сертификата для подписания:" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "Все" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, kde-format +msgid "Only QES certificates" +msgstr "Только сертификаты QES" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "Только ключи PGP" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "Причина:" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, kde-format +msgid "optional" +msgstr "необязательно" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "Расположение:" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, kde-format +msgid "Background:" +msgstr "Фон:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "Выбрать…" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, kde-format +msgid "Recent backgrounds:" +msgstr "Последние фоны:" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

    No annotations

    To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
    " +msgstr "" +"

    Комментариев нет

    Средства рецензирования " +"вызываются по F6 или через меню Сервис -> Рецензирование.
    " + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "Группировать по страницам" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "Группировать по авторам" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "Показать комментарии только для текущей страницы" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "Развернуть все элементы" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "Свернуть все элементы" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "Свойства" + +#: part/signaturepartutils.cpp:180 +#, kde-format +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Изображения (%1)" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "Выбор фонового изображения" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "Удалить изображение" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "Удалить все изображения" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "Введите пароль (если используется) для разблокирования сертификата: %1" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "Ввод пароля сертификата" + +#: part/signaturepartutils.cpp:244 +#, kde-format +msgid "Enter document password" +msgstr "Введите пароль к документу" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "Сохранение подписанного файла" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "%1_с_подписью.%2" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "Достоверность" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "Достоверность подписи:" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "Изменения документа:" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "Дополнительные сведения" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "Подпись:" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "Создание подписи:" + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "Версия документа" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Редакция документа %1 из %2" + +#: part/signaturepropertiesdialog.cpp:88 +#, fuzzy, kde-format +#| msgid "View Signed Version..." +msgid "View Signed Version…" +msgstr "Посмотреть подписанную версию…" + +#: part/signaturepropertiesdialog.cpp:95 +#, fuzzy, kde-format +#| msgid "View Certificate..." +msgid "View Certificate…" +msgstr "Просмотреть сертификат…" + +#: part/signaturepropertiesdialog.cpp:97 +#, kde-format +msgid "View in Certificate Manager" +msgstr "Просмотреть в диспетчере сертификатов" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "Диспетчер сертификатов KDE (kleopatra) не найден" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "Квалифицированная подпись" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "PGP" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "Показывать только выбранные страницы" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "Воспроизвести" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Приостановить" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "Остановить" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "Эта программа Okular не поддерживает видео" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "Эта программа Okular не поддерживает видео" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, fuzzy, kde-format +#| msgid "&Edit" +msgid "&Edit…" +msgstr "&Правка" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "&Удалить" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "Переместить вв&ерх" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "Переместить &вниз" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "Инструмент рисования №%1" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "" +"Уже есть инструмент рисования с таким названием. Название будет изменено на " +"стандартное." + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "Повторяющиеся названия" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "Открыть документ на указанной странице." + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "Открыть документ в режиме презентации." + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "Сразу открыть диалог печати." + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "Сразу открыть диалог печати и выйти из приложения после печати." + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "Единственный экземпляр приложения." + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "Не делать окно активным." + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "Запустить поиск заданной строки." + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "Указать команду вызова внешнего редактора." + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "Открываемые документы. Укажите «-» для чтения со стандартного входа." + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" +"Нельзя указать команду редактора в уже запущенном экземпляре Okular. " +"Отключите вкладки и попробуйте снова. Обратите внимание, что при указании " +"команды редактора в командной строке также не поддерживается параметр --" +"unique.\n" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "" +"Ошибка: параметр «--unique» может быть использован при открытии только " +"одного документа." + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" +"Ошибка: параметр «--presentation» может быть использован при открытии только " +"одного документа." + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "" +"Ошибка: параметр «--print» может быть использован при открытии только одного " +"документа." + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "" +"Ошибка: параметр «--page» может быть использован при открытии только одного " +"документа." + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "" +"Ошибка: параметр «--find» может быть использован при открытии только одного " +"документа." + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "Не удалось найти компонент Okular: %1" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "Боковая панель" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" +"Единственный экземпляр Okular уже запущен. Этот экземпляр не будет " +"единственным." + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "Невозможно найти компонент Okular." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"Нажмите для открытия файла\n" +"Нажмите и удерживайте кнопку мыши для открытия последнего файла" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"Нажмите для открытия файла или нажмите и удерживайте кнопку мыши для открытия последнего файла" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "Следующая вкладка" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "Предыдущая вкладка" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "Восстановить закрытую вкладку" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "Зафиксировать боковую панель" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "Все файлы (*)" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "Все поддерживаемые файлы (%1)" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "Открыть документ" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "Подтверждение выхода" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "Закрыть вкладки" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "Будут закрыты %1 вкладок. Продолжить?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "Предупреждать при попытке закрытия нескольких вкладок" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "&Копировать путь" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "Открыть &папку документа" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "&Удалить из списка" + +#: shell/welcomescreen.cpp:137 +#, kde-format +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "Нет последних документов" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "Добро пожаловать в Okular" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Открыть документ…" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, kde-format +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Последние документы" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "Очистить список" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "Не использовать экран приветствия" + +#~ msgid "Geometry with Comment" +#~ msgstr "Фигура, содержащая комментарий" + +#~ msgid "Geometry" +#~ msgstr "Фигура" + +#~ msgctxt "Annotation type: contents" +#~ msgid "%1: %2" +#~ msgstr "%1: %2" + +#~ msgid "Modified: %1" +#~ msgstr "Изменёно: %1" + +#~ msgid "Find..." +#~ msgstr "Найти…" + +#~ msgid "Go To Page..." +#~ msgstr "Перейти на страницу…" + +#~ msgid "Play movie..." +#~ msgstr "Воспроизвести видео…" + +#~ msgid "Search..." +#~ msgstr "Поиск…" + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "Сохранить &как…" + +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "&Просмотреть…" + +#~ msgid "&Sign..." +#~ msgstr "&Подписать…" + +#~ msgid "Configure Viewer..." +#~ msgstr "Настроить просмотрщик…" + +#~ msgid "Configure Viewer Backends..." +#~ msgstr "Настроить модули просмотрщика…" + +#~ msgid "Configure Backends..." +#~ msgstr "Настроить модули…" + +#~ msgid "&Add..." +#~ msgstr "&Добавить…" + +#~ msgid "&Edit..." +#~ msgstr "&Изменить…" + +#~ msgctxt "%1 is a file path" +#~ msgid "" +#~ "Could not sign. Invalid certificate password or could not write to '%1'" +#~ msgstr "" +#~ "Не удалось подписать, неверный пароль сертификата или отсутствует доступ " +#~ "на запись файла «%1»" + +#, fuzzy +#~| msgid "" +#~| "All your signing certificates are either not valid yet or are past their " +#~| "validity date." +#~ msgid "All your signing certificates are invalid" +#~ msgstr "" +#~ "Срок действия всех сертификатов, которые могли быть использованы для " +#~ "подписания, ещё не наступил или уже истёк." + +#~ msgid "Unsigned Signature %1" +#~ msgstr "Неподписанная подпись %1" + +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "Неизвестно" + +#~ msgctxt "Signature type" +#~ msgid "Unsigned signature" +#~ msgstr "Неподписанная подпись" + +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "Spinbox prefix: Advance automatically: every n seconds" +#~ msgid "every " +#~ msgstr "через " + +#~ msgctxt "Suffix for the pen width, eg '10 px'" +#~ msgid " px" +#~ msgstr " пикс." + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " %" + +#, fuzzy +#~ msgctxt "%1 is a file path" +#~ msgid "Could not sign. Could not write to '%1'" +#~ msgstr "" +#~ "Не удалось подписать, неверный пароль сертификата или отсутствует доступ " +#~ "на запись файла «%1»" + +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "По ширине страницы" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "Страница целиком" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Auto Fit" +#~ msgstr "Автоматическая подгонка" + +#~ msgid "*|All Files" +#~ msgstr "*|Все файлы" + +#~ msgid "Missing alert type" +#~ msgstr "Не указан тип уведомления" + +#~ msgid "" +#~ "The file '%1' has been modified by another program, which means it can no " +#~ "longer be saved." +#~ msgstr "Файл «%1» был изменён другой программой и не может быть сохранён." + +#~ msgid "Show Sidebar" +#~ msgstr "Показать боковую панель" + +#~ msgctxt "@info" +#~ msgid "" +#~ "experimental feature.Stamps inserted in PDF documents are " +#~ "not visible in PDF readers other than Okular." +#~ msgstr "" +#~ "экспериментальная функция.Штампы, добавленные в документы в " +#~ "формате PDF, видны только в приложении Okular." + +#~ msgctxt "@info" +#~ msgid "" +#~ "The version of the Poppler library this Okular was compiled with does not " +#~ "support signing documents with passwords. Please ask your provider to " +#~ "update it to 22.02 or later." +#~ msgstr "" +#~ "Версия библиотеки Poppler, на основе которой был собран этот экземпляр " +#~ "Okular, не поддерживает подписание документов с паролями. Обратитесь к " +#~ "поставщику для обновления библиотеки до версии 22.02 или более поздней." + +#~ msgctxt "@title:window" +#~ msgid "Poppler library is too old" +#~ msgstr "Устаревшая библиотека Poppler" + +#~ msgctxt "@info" +#~ msgid "" +#~ "Stamps inserted in PDF documents are not visible in PDF readers other " +#~ "than Okular" +#~ msgstr "" +#~ "Штампы, добавленные в документы в формате PDF, видны только в приложении " +#~ "Okular." + +#~ msgctxt "@title:window" +#~ msgid "Experimental feature" +#~ msgstr "Экспериментальная функция" + +#~ msgid "Form" +#~ msgstr "Форма" + +#~ msgid "Remove Bookmarks" +#~ msgstr "Удалить закладки" + +#, fuzzy +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "&Рецензирование" + +#, fuzzy +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "Выделение" + +#, fuzzy +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Underline" +#~ msgstr "Подчёркивание" + +#, fuzzy +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Squiggle" +#~ msgstr "Волнистая линия" + +#, fuzzy +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Strike Out" +#~ msgstr "Перечёркнутый текст" + +#, fuzzy +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "Наложить текст" + +#, fuzzy +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "Встроенная заметка" + +#, fuzzy +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "Висящая заметка" + +#, fuzzy +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Freehand Line" +#~ msgstr "Нарисуйте линию от руки" + +#, fuzzy +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Straight line" +#~ msgstr "Нарисуйте прямую линию" + +#, fuzzy +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Arrow" +#~ msgstr "Стрела" + +#, fuzzy +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Rectangle" +#~ msgstr "Нарисуйте прямоугольник" + +#, fuzzy +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Ellipse" +#~ msgstr "Голубой эллипс" + +#, fuzzy +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Polygon" +#~ msgstr "Многоугольник" + +#, fuzzy +#~ msgid "Highlight in Yellow" +#~ msgstr "Выделение" + +#, fuzzy +#~ msgid "Highlight in Green" +#~ msgstr "Выделение цветом, содержащее комментарий" + +#, fuzzy +#~ msgid "Insert Inline Note" +#~ msgstr "Встроенная заметка" + +#, fuzzy +#~ msgid "Insert Popup Note" +#~ msgstr "Висящая заметка" + +#, fuzzy +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "Выделить текст" + +#, fuzzy +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "Выделить текст" + +#, fuzzy +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "Выделить текст" + +#, fuzzy +#~ msgctxt "verb" +#~ msgid "&Magnify" +#~ msgstr "&Лупа" + +#~ msgid "Bookmark annotation" +#~ msgstr "Добавить комментарий в закладки" + +#~ msgid "&Toggle Change Colors" +#~ msgstr "Изменить &цвета" + +#~ msgctxt "@option:check Config dialog, presentation page, transitions" +#~ msgid "Enable transitions" +#~ msgstr "Использовать переходы" + +#, fuzzy +#~ msgctxt "@label:spinbox Config dialog, presentation page" +#~ msgid "Advance every:" +#~ msgstr "Перейти на следующую страницу через:" + +#, fuzzy +#~ msgctxt "@label:listbox Config dialog, general page" +#~ msgid "Custom background color:" +#~ msgstr "Задать цвет фона" + +#~ msgid "Draw border around &Images" +#~ msgstr "Рамки вокруг &рисунков" + +#~ msgid "Speech" +#~ msgstr "Синтез речи" + +#~ msgid "Engine" +#~ msgstr "Механизм синтеза речи:" + +#~ msgid "Identity" +#~ msgstr "Профиль" + +#~ msgid "Au&thor:" +#~ msgstr "&Автор:" + +#~ msgid "View Options" +#~ msgstr "Параметры просмотра" + +#~ msgctxt "@info:whatsthis" +#~ msgid "" +#~ "Defines the default zoom mode for files which were never opened before.\n" +#~ "For files which were opened before the previous zoom is applied." +#~ msgstr "" +#~ "Определяет масштаб по умолчанию, в котором будут показываться файлы, " +#~ "открываемые впервые.\n" +#~ "Для уже открывавшихся файлов применяется масштаб, установленный ранее." + +#~ msgid "Navigation" +#~ msgstr "Навигация" + +#~ msgid "Placement" +#~ msgstr "Размещение" + +#~ msgid "Screen:" +#~ msgstr "Экран:" + +#~ msgid "Drawing Tool Configuration" +#~ msgstr "Настройка инструментов рисования" + +#~ msgid "&Get Books From Internet..." +#~ msgstr "Загрузить книги из &Интернета..." + +#~ msgid "Reviews" +#~ msgstr "Рецензирование" + +#~ msgctxt "@item:inlistbox Color name" +#~ msgid "%1" +#~ msgstr "%1" + +#~ msgid "Hide Forms" +#~ msgstr "Скрыть формы" + +#~ msgid "&Review" +#~ msgstr "&Рецензирование" + +#~ msgid "Annotations author" +#~ msgstr "Автор комментариев" + +#~ msgid "Please insert your name or initials:" +#~ msgstr "Укажите своё имя или инициалы:" + +#~ msgid "Show &Navigation Panel" +#~ msgstr "Показать панель &навигации" + +#~ msgid "Show Text" +#~ msgstr "Подписи" + +#~ msgid "Small Icons" +#~ msgstr "Маленькие значки" + +#~ msgid "Large Icons" +#~ msgstr "Большие значки" + +#~ msgid "" +#~ "Click to use the current selection tool\n" +#~ "Click on the arrow to choose another selection tool" +#~ msgstr "" +#~ "Нажмите, чтобы использовать выбранное средство выделения\n" +#~ "Для выбора другого средства выделения нажмите стрелку." + +#~ msgid "Created: %1" +#~ msgstr "Создан: %1" + +#~ msgid "Style" +#~ msgstr "Стиль" + +#~ msgid "&Size:" +#~ msgstr "&Толщина линии:" + +#~ msgid "Inner color:" +#~ msgstr "Внутренний цвет:" + +#~ msgid "Name: %1" +#~ msgstr "Имя: %1" + +#~ msgid "Size: %1" +#~ msgstr "Размер: %1" + +#~ msgid "&Browse Tool" +#~ msgstr "&Перетаскивание" + +#~ msgid "&Zoom Tool" +#~ msgstr "Изменение &масштаба" + +#~ msgctxt "Zoom Tool" +#~ msgid "Zoom" +#~ msgstr "Масштаб" + +#~ msgctxt "Select Tool" +#~ msgid "Selection" +#~ msgstr "Выделение текста или рисунка" + +#~ msgid "&Text Selection Tool" +#~ msgstr "Выделение &текста" + +#~ msgid "T&able Selection Tool" +#~ msgstr "Выделение т&аблиц" + +#, fuzzy +#~ msgid " None" +#~ msgstr "Нет" + +#~ msgid "" +#~ "The document requested to be launched in presentation mode.\n" +#~ "Do you want to allow it?" +#~ msgstr "" +#~ "Документ создан для показа в режиме презентации.\n" +#~ "Перейти в режим презентации?" + +#~ msgid "Presentation Mode" +#~ msgstr "Режим презентации" + +#~ msgid "Allow the presentation mode" +#~ msgstr "Перейти в режим презентации" + +#~ msgid "Do Not Allow" +#~ msgstr "Не переходить" + +#~ msgid "Do not allow the presentation mode" +#~ msgstr "Не переходить в режим презентации" + +#~ msgid "" +#~ "Your annotation changes will not be saved automatically. Use File -> Save " +#~ "As...\n" +#~ "or your changes will be lost once the document is closed" +#~ msgstr "" +#~ "Ваши комментарии не будут сохранены автоматически. Воспользуйтесь " +#~ "функцией Файл -> Сохранить как...\n" +#~ "или ваши изменения будут потеряны при закрытии документа." + +#~ msgid "" +#~ "Your annotations are saved internally by Okular.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" +#~ msgstr "" +#~ "Ваши комментарии сохраняются во внутреннем формате Okular.\n" +#~ "Чтобы экспортировать документ с комментариями, воспользуйтесь функцией " +#~ "Файл -> Экспорт в -> Архив документа" + +#~ msgid "Save &Copy As..." +#~ msgstr "Сохранить &копию как..." + +#~ msgid "" +#~ "Your annotations will not be exported.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" +#~ msgstr "" +#~ "Ваши комментарии не сохранятся в новом документе.\n" +#~ "Чтобы экспортировать документ с комментариями, воспользуйтесь функцией " +#~ "Файл -> Экспорт в -> Архив документа." + +#~ msgid "" +#~ "End of document reached.\n" +#~ "Continue from the beginning?" +#~ msgstr "" +#~ "Достигнут конец документа.\n" +#~ "Продолжить с начала?" + +#~ msgid "" +#~ "Beginning of document reached.\n" +#~ "Continue from the bottom?" +#~ msgstr "" +#~ "Достигнуто начало документа.\n" +#~ "Продолжить с конца?" + +#~ msgid "Current maintainer" +#~ msgstr "Сопровождающий" + +#~ msgid " sec." +#~ msgstr " с" + +#~ msgid "Pencil color:" +#~ msgstr "Цвет рисования:" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A0" +#~ msgstr "DIN/ISO A0, альбомная" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A0" +#~ msgstr "DIN/ISO A0, книжная" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A1" +#~ msgstr "DIN/ISO A1, альбомная" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A1" +#~ msgstr "DIN/ISO A1, книжная" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A2" +#~ msgstr "DIN/ISO A2, альбомная" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A2" +#~ msgstr "DIN/ISO A2, книжная" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A3" +#~ msgstr "DIN/ISO A3, альбомная" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A3" +#~ msgstr "DIN/ISO A3, книжная" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A4" +#~ msgstr "DIN/ISO A4, альбомная" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A4" +#~ msgstr "DIN/ISO A4, книжная" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A5" +#~ msgstr "DIN/ISO A5, альбомная" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A5" +#~ msgstr "DIN/ISO A5, книжная" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A6" +#~ msgstr "DIN/ISO A6, альбомная" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A6" +#~ msgstr "DIN/ISO A6, книжная" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A7" +#~ msgstr "DIN/ISO A7, альбомная" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A7" +#~ msgstr "DIN/ISO A7, книжная" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A8" +#~ msgstr "DIN/ISO A8, альбомная" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A8" +#~ msgstr "DIN/ISO A8, книжная" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A9" +#~ msgstr "DIN/ISO A9, альбомная" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A9" +#~ msgstr "DIN/ISO A9, книжная" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B0" +#~ msgstr "DIN/ISO B0, альбомная" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B0" +#~ msgstr "DIN/ISO B0, книжная" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B1" +#~ msgstr "DIN/ISO B1, альбомная" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B1" +#~ msgstr "DIN/ISO B1, книжная" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B2" +#~ msgstr "DIN/ISO B2, альбомная" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B2" +#~ msgstr "DIN/ISO B2, книжная" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B3" +#~ msgstr "DIN/ISO B3, альбомная" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B3" +#~ msgstr "DIN/ISO B3, книжная" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B4" +#~ msgstr "DIN/ISO B4, альбомная" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B4" +#~ msgstr "DIN/ISO B4, книжная" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B5" +#~ msgstr "DIN/ISO B5, альбомная" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B5" +#~ msgstr "DIN/ISO B5, книжная" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B6" +#~ msgstr "DIN/ISO B6, альбомная" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B6" +#~ msgstr "DIN/ISO B6, книжная" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B7" +#~ msgstr "DIN/ISO B7, альбомная" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B7" +#~ msgstr "DIN/ISO B7, книжная" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B8" +#~ msgstr "DIN/ISO B8, альбомная" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B8" +#~ msgstr "DIN/ISO B8, книжная" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B9" +#~ msgstr "DIN/ISO B9, альбомная" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B9" +#~ msgstr "DIN/ISO B9, книжная" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B10" +#~ msgstr "DIN/ISO B10, альбомная" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B10" +#~ msgstr "DIN/ISO B10, книжная" + +#~ msgctxt "paper size" +#~ msgid "landscape letter" +#~ msgstr "Letter, альбомная" + +#~ msgctxt "paper size" +#~ msgid "portrait letter" +#~ msgstr "Letter, книжная" + +#~ msgctxt "paper size" +#~ msgid "landscape legal" +#~ msgstr "Legal, альбомная" + +#~ msgctxt "paper size" +#~ msgid "portrait legal" +#~ msgstr "Legal, книжная" + +#~ msgctxt "paper size" +#~ msgid "landscape executive" +#~ msgstr "Executive, альбомная" + +#~ msgctxt "paper size" +#~ msgid "portrait executive" +#~ msgstr "Executive, книжная" + +#~ msgctxt "paper size" +#~ msgid "landscape Comm10E" +#~ msgstr "Comm10E, альбомная" + +#~ msgctxt "paper size" +#~ msgid "portrait Comm10E" +#~ msgstr "Comm10E, книжная" + +#~ msgctxt "paper size" +#~ msgid "landscape DLE" +#~ msgstr "DLE, альбомная" + +#~ msgctxt "paper size" +#~ msgid "portrait DLE" +#~ msgstr "DLE, книжная" + +#~ msgctxt "paper size" +#~ msgid "landscape folio" +#~ msgstr "Фолио, альбомная" + +#~ msgctxt "paper size" +#~ msgid "portrait folio" +#~ msgstr "Фолио, книжная" + +#~ msgctxt "paper size" +#~ msgid "ledger" +#~ msgstr "Бухкнига" + +#~ msgctxt "paper size" +#~ msgid "tabloid" +#~ msgstr "Таблоид" + +#~ msgctxt "paper size" +#~ msgid "unknown landscape paper size" +#~ msgstr "неизвестный размер, альбомная" + +#~ msgctxt "paper size" +#~ msgid "unknown portrait paper size" +#~ msgstr "неизвестный размер, книжная" + +#~ msgid "Toggle Drawing Mode" +#~ msgstr "Переключить режим рисования" + +#~ msgid "Starting Jovie Text-to-Speech service Failed: %1" +#~ msgstr "Не удалось запустить службу синтеза речи Jovie: %1" + +#~ msgid "Search Columns" +#~ msgstr "Столбцы для поиска" + +#~ msgid "All Visible Columns" +#~ msgstr "Все видимые столбцы" + +#~ msgid "No document opened." +#~ msgstr "Нет открытого документа." + +#~ msgid "Can't open more than one document in the unique Okular instance." +#~ msgstr "" +#~ "В единственном экземпляре Okular нельзя открыть больше одного документа." + +#~ msgid "No matches found for '%1'." +#~ msgstr "Текст «%1» не найден." + +#~ msgid "Search in progress..." +#~ msgstr "Идёт поиск..." + +#~ msgid "Searching for %1" +#~ msgstr "Поиск %1" + +#~ msgid "Identity Settings" +#~ msgstr "Сведения о пользователе" + +#~ msgid "Highlight Properties" +#~ msgstr "Свойства выделения" + +#~ msgid "Ink Properties" +#~ msgstr "Свойства чернил" + +#~ msgctxt "Annotation tool" +#~ msgid "Text Annotation" +#~ msgstr "Текстовый комментарий" + +#~ msgctxt "Annotation tool" +#~ msgid "Green Ink" +#~ msgstr "Зелёные чернила" + +#~ msgctxt "Annotation tool" +#~ msgid "Yellow Highlight" +#~ msgstr "Жёлтое выделение" + +#~ msgctxt "Annotation tool" +#~ msgid "Straight Yellow Line" +#~ msgstr "Прямая жёлтая линия" + +#~ msgid "Black Underlining" +#~ msgstr "Подчёркивание" + +#~ msgctxt "Annotation tool" +#~ msgid "Underline the text with a black line" +#~ msgstr "Подчёркивание текста" + +#~ msgctxt "Annotation tool" +#~ msgid "A cyan ellipse" +#~ msgstr "Голубой эллипс" + +#~ msgid "Ink" +#~ msgstr "Чернила" + +#, fuzzy +#~ msgid "Reset Forms" +#~ msgstr "Скрыть формы" + +#~ msgid "Moves to the first page of the document" +#~ msgstr "Перейти к первой странице документа" + +#~ msgid "You must set this name:" +#~ msgstr "Указание имени обязательно:" + +#~ msgid "Toggles between File Path and Title" +#~ msgstr "Переключение между заголовком и путём к файлу" + +#~ msgctxt "%1 is \"Title\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#~ msgctxt "%1 is \"File Path\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#~ msgctxt "@action:button" +#~ msgid "&Overwrite" +#~ msgstr "&Заменить" + +#~ msgid "Pages:" +#~ msgstr "Страниц:" diff --git a/po/ru/okular_comicbook.po b/po/ru/okular_comicbook.po new file mode 100644 index 0000000..80c4c52 --- /dev/null +++ b/po/ru/okular_comicbook.po @@ -0,0 +1,65 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Artem Sereda , 2008. +# Andrey Cherepanov , 2009. +# Alexander Yavorsky , 2018. +msgid "" +msgstr "" +"Project-Id-Version: okular_comicbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2018-12-06 11:33+0300\n" +"Last-Translator: Alexander Yavorsky \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 2.0\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Артём Середа" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "overmind88@gmail.com" + +#: document.cpp:97 +#, kde-format +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "" +"Невозможно открыть документ, не найдена программа «unrar» или «unarchiver»" + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "" +"Версия программы «unrar», установленной в вашей системе, не подходит для " +"открытия комикса." + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "Неизвестный формат ComicBook." + +#~ msgid "ComicBook Backend" +#~ msgstr "Модуль поддержки формата ComicBook" + +#~ msgid "A renderer for various comic book formats" +#~ msgstr "Модуль показа комиксов в разнообразных форматах" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© Tobias Koenig, 2007-2008" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/ru/okular_djvu.po b/po/ru/okular_djvu.po new file mode 100644 index 0000000..3eec585 --- /dev/null +++ b/po/ru/okular_djvu.po @@ -0,0 +1,145 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Artem Sereda , 2008. +# Andrey Cherepanov , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_djvu\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-03-15 09:33+0300\n" +"Last-Translator: Andrey Cherepanov \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.3\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Артём Середа" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "overmind88@gmail.com" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "Редактор" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "Издатель" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "Том" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "Тип документа" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "Неизвестно" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "Файлов компонентов" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "Неизвестный" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "Одна страница" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "Упакованный" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "Непрямой" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "Упакованный (старый)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "Индексированный (старый)" + +#~ msgid "DjVu Backend" +#~ msgstr "Модуль поддержки DjVu" + +#~ msgid "DjVu backend based on DjVuLibre." +#~ msgstr "Модуль поддержки DjVu основан на DjVuLibre." + +#~ msgid "© 2006-2008 Pino Toscano" +#~ msgstr "© Pino Toscano, 2006-2008" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgctxt "Unknown title" +#~ msgid "Unknown" +#~ msgstr "Неизвестный" + +#~ msgctxt "Unknown author" +#~ msgid "Unknown" +#~ msgstr "Неизвестный" + +#~ msgctxt "Unknown editor" +#~ msgid "Unknown" +#~ msgstr "Неизвестный" + +#~ msgctxt "Unknown publisher" +#~ msgid "Unknown" +#~ msgstr "Неизвестный" + +#~ msgctxt "Unknown creation date" +#~ msgid "Unknown" +#~ msgstr "Неизвестна" + +#~ msgctxt "Unknown volume information" +#~ msgid "Unknown" +#~ msgstr "Неизвестен" + +#~ msgctxt "Unknown type of document" +#~ msgid "Unknown" +#~ msgstr "Неизвестный" + +#, fuzzy +#~| msgid "DjVu Backend" +#~ msgid "A DjVu backend" +#~ msgstr "Модуль поддержки DjVu" diff --git a/po/ru/okular_dvi.po b/po/ru/okular_dvi.po new file mode 100644 index 0000000..6e03543 --- /dev/null +++ b/po/ru/okular_dvi.po @@ -0,0 +1,819 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Nick Shaforostoff , 2007. +# Nick Shaforostoff , 2007, 2008. +# Artem Sereda , 2008, 2009. +# Evgeniy Ivanov , 2008. +# Andrey Cherepanov , 2009. +# Alexander Potashev , 2010, 2014. +# Alexander Lakhin , 2013. +# Alexander Yavorsky , 2024. +msgid "" +msgstr "" +"Project-Id-Version: okular_dvi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-12-28 12:10+0300\n" +"Last-Translator: Alexander Yavorsky \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 21.08.3\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Денис Першин,Андрей Черепанов,Kate S. Sheveleva" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "dyp@inetlab.com,sibskull@mail.ru,kate@altlinux.ru" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

    Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

    Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

    " +msgstr "" +"

    Невозможно найти программу dvipdfm. Она необходима для " +"экспорта. Тем не менее, вы можете попробовать преобразовать файл DVI в " +"формат PDF без неё, используя функцию печати, но полученные таким образом " +"файлы часто выглядят очень неаккуратно при просмотре на экране, например, с " +"помощью Acrobat Reader, хотя и правильно печатаются. Обновите ваш пакет TeX " +"до версии, включающей программу dvipdfm.

    Примечание для " +"системных администраторов: Okular использует для поиска программ переменную " +"PATH из окружения командной оболочки.

    " + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Внешняя программа «dvipdfm», используемая для экспорта файла, завершила " +"работу с ошибкой. В диалоговом окне Сведения о документе, " +"которое можно открыть из меню «Файл», содержится более полная информация об " +"ошибке." + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" +"Этот документ DVI содержит ссылку на внешний рисунок не в формате " +"PostScript, поэтому документ не может быть обработан программой dvips, используемой для печати и преобразования в формат PostScript. Поддержка " +"рисунков в форматах, отличных от PostScript в данной версии не реализована." + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

    Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

    Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

    " +msgstr "" +"

    Невозможно найти программу dvips. Она необходима для " +"экспорта.

    Системным администраторам: Okular использует для поиска " +"программ переменную PATH из окружения командной оболочки.

    " + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Внешняя программа «dvips», используемая для экспорта файла, завершила " +"работу с ошибкой. В диалоговом окне Сведения о документе, " +"которое можно открыть из меню «Файл», содержится более полная информация об " +"ошибке." + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "Отсутствует преамбула в начале файла DVI." + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" +"Версия в DVI-выводе выбранного файла не соответствует этой программе. " +"Примечание: если вы пользуетесь системой вёрстки Omega, используйте " +"специальные программы, например, oxdvi." + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "" +"Файл DVI повреждён. Программа не может найти код завершения в файле DVI." + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "Код завершения не начинается с команды POST." + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "Код завершения содержит команды, отличные от FNTDEF." + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "Страница %1 не начинается с команды BOP." + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

    The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

    What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

    PATH: %2

    " +msgstr "" +"

    Невозможно запустить программу pdf2ps, поэтому " +"преобразование файла PDF %1 в PostScript не будет работать.

    Возможная причина: программа pdf2ps не " +"установлена на компьютере или не найдена в пути поиска программ.

    Как это исправить: обычно программа pdf2ps " +"поставляется в пакете ghostscript. Если он не установлен на вашем " +"компьютере, вы можете установить его сейчас. Если же вы уверены, что " +"ghostscript установлен, попробуйте запустить программу pdf2ps в командной строке и проверьте, работает ли она.

    Значение " +"переменной PATH: %2

    " + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

    The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

    %2

    " +msgstr "" +"

    Файл PDF «%1» не может быть преобразован в PostScript. Некоторые " +"графические элементы в вашем документе не будут показаны.

    Возможные " +"причины: Файл «%1» повреждён или не является файлом PDF. Выходные данные " +"программы pdf2ps, используемой Okular:

    %2

    " + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "Файл повреждён. %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "Не все файлы PostScript могут быть встроены в этот документ. %1" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "Все внешние файлы PostScript были встроены в этот документ." + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "Указанный файл «%1» не существует." + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" +"Не удалось найти участок документа, связанный со строкой %1 в файле TeX %2. " +"Скорее всего, файл DVI не содержит информацию об исходном файле. " + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" +"Не удалось найти участок документа, связанный со строкой %1 в файле TeX %2." + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "Код DVI содержит символ неизвестного шрифта." + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "Код DVI ссылается на шрифт №%1, который не был ранее определён." + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "При интерпретации команды EOP стек не был пуст." + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "При интерпретации команды POP стек был пуст." + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "Код DVI ссылается на шрифт, который не был ранее определён." + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "Обнаружена неизвестная команда." + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "Обнаружен неизвестный код операции %1." + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "Внедрение %1" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
    " +msgstr "" +"Страница %1: невозможно преобразовать файл PDF %2 в " +"PostScript.
    " + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
    " +msgstr "Страница %1: файл PostScript %2 не найден.
    " + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "Невозможно обработать данные о размере страницы %1." + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

    Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

    PATH: %1

    %2

    " +msgstr "" +"

    Невозможно найти все файлы шрифтов, которые необходимы для показа " +"данного файла Okular. Возможно, документ будет нечитаем.

    Значение переменной PATH: %1

    %2

    " + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

    There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
    Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

    PATH: %1

    %2

    " +msgstr "" +"

    Невозможно запустить программу kpsewhich. Некоторые шрифты, " +"используемые в документе, могут быть не найдены и документ может быть " +"нечитаем.
    Возможная причина: программа kpsewhich не установлена " +"на компьютере или недоступна через пути поиска программ.

    Значение переменной PATH: %1

    %2

    " + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" +"Генерация шрифта с помощью kpsewhich была прервана (код " +"возврата %1, ошибка %2). Как результат этого, некоторые файлы не созданы и " +"документ может быть нечитаемым." + +#: fontpool.cpp:482 +#, fuzzy, kde-format +#| msgid "Currently generating %1 at %2 dpi..." +msgid "Currently generating %1 at %2 dpi…" +msgstr "Создание %1 с %2 dpi..." + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "Генератор/Дата" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "Файл не найден" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "%1×%2" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "%1×%2 мм" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "%1×%2 дюйм." + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "книжная ориентация" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "альбомная ориентация" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" +"Версия установленной на этом компьютере программы Ghostview не содержит ни " +"одного драйвера устройства Ghostview, известного Okular. Поддержка " +"PostScript будет выключена." + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "" +"Произошло более 25 ошибок. Сообщения о последующих ошибках печататься не " +"будут." + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" +"Ошибка в файле DVI «%1», страница %2. Вызвана команда pop для цвета при " +"отсутствии цветов в стеке." + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" +"Недопустимый параметр в специальной команде epsf.\n" +"Требуется указать вещественное число за %1 в %2" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"Файл не найден: \n" +" %1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" +"Ошибка в файле DVI «%1», страница %2. Невозможно определить угол поворота " +"текста." + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "Специальная команда «%1» не поддерживается." + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "Файл шрифта %1 открыт, однако формат шрифта не поддерживается." + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "Файл шрифта %1 повреждён или не может быть открыт." + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" +"Программа FreeType сообщила об ошибке установки размера символов для файла " +"шрифта %1." + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "Программа FreeType не может загрузить глиф №%1 из файла шрифта %2." + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "Программа FreeType не может показать глиф №%1 из файла шрифта %2." + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "Глиф №%1 является пустым." + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "Глиф №%1 из файла шрифта %2 является пустым." + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "" +"Программа FreeType не может загрузить параметры глифа №%1 из файла шрифта %2." + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "Невозможно открыть файл шрифта %1." + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "Символ %1 не определён в шрифте %2" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "Неизвестный элемент %1 в файле шрифта %2" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "Символ %1 в файле %2 слишком велик" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "Записано неверное число бит: символ %1, шрифт %2" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "Неверный файл шрифта pk (%1), слишком много бит" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "Шрифт имеет не равное 1 отношение ширины и высоты" + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "Невозможно открыть шрифт %1 из файла %2." + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "Несовпадение контрольной суммы файла шрифта %1" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "Невозможно определить формат файла шрифта %1" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"Неисправимая ошибка.\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" +"\n" +"\n" +"Скорее всего это значит, что либо вы обнаружили ошибку в Okular,\n" +"либо что файл DVI или дополнительные файлы (файлы шрифтов или \n" +"файлы виртуальных шрифтов) были серьёзно повреждены.\n" +"После закрытия окна с этим сообщением произойдёт аварийное\n" +"завершение работы Okular. Если вы уверены в том, что нашли \n" +"ошибку или что Okular следует реагировать на эту ситуацию по другому,\n" +"сообщите нам о вашей проблеме." + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "Недопустимый командный байт в списке макросов виртуального шрифта: %1" + +#~ msgid "" +#~ "

    The Ghostview program, which Okular uses internally to display the " +#~ "PostScript graphics that is included in this DVI file, is generally able " +#~ "to write its output in a variety of formats. The sub-programs that " +#~ "Ghostview uses for these tasks are called 'device drivers'; there is one " +#~ "device driver for each format that Ghostview is able to write. Different " +#~ "versions of Ghostview often have different sets of device drivers " +#~ "available. It seems that the version of Ghostview that is installed on " +#~ "this computer does not contain any of the device drivers " +#~ "that are known to Okular.

    It seems unlikely that a regular " +#~ "installation of Ghostview would not contain these drivers. This error may " +#~ "therefore point to a serious misconfiguration of the Ghostview " +#~ "installation on your computer.

    If you want to fix the problems with " +#~ "Ghostview, you can use the command gs --help to display " +#~ "the list of device drivers contained in Ghostview. Among others, Okular " +#~ "can use the 'png256', 'jpeg' and 'pnm' drivers. Note that Okular needs to " +#~ "be restarted to re-enable PostScript support.

    " +#~ msgstr "" +#~ "

    Программа Ghostview, которую Okular использует для показа " +#~ "включённой в файлы DVI графики PostScript, выводит информацию в различных " +#~ "форматах. Подпрограммы, вызываемые Ghostview для вывода, называются " +#~ "драйверами устройств. Для каждого формата вывода существует один драйвер " +#~ "устройства. Различные версии Ghostview имеют разный набор драйверов " +#~ "устройств. Иногда возникают ситуации, когда установленная на компьютер " +#~ "версия Ghostview не имеет ни одного драйвера устройств, " +#~ "известного Okular.

    К несчастью, установка Ghostview не содержит " +#~ "этих драйверов. Также причиной проблемы может быть неверная настройка " +#~ "Ghostview на вашем компьютере.

    Если вы хотите исправить эту " +#~ "проблему использования Ghostview, наберите команду gs --help для показа списка драйверов устройств, доступных Ghostview. " +#~ "Okular может использовать драйвера png256, jpeg и pnm. Для того, чтобы " +#~ "включение поддержки PostScript вступило в силу, вам необходимо " +#~ "перезапустить операцию.

    " + +#~ msgid "DVI Backend" +#~ msgstr "Модуль поддержки формата DVI" + +#~ msgid "A DVI file renderer" +#~ msgstr "Показ файлов DVI." + +#~ msgid "© 2006 Luigi Toscano" +#~ msgstr "© 2006 Luigi Toscano" + +#~ msgid "" +#~ "

    Okular relies on the kpsewhich program to locate font files on " +#~ "your hard disk and to generate PK fonts, if necessary.

    " +#~ msgstr "" +#~ "

    Okular использует программу kpsewhich для поиска файлов шрифтов " +#~ "на диске и генерации шрифтов PK.

    " + +#~ msgid "Okular is currently generating bitmap fonts..." +#~ msgstr "Создание растровых шрифтов..." + +#~ msgid "Aborts the font generation. Do not do this." +#~ msgstr "Прервать создание шрифтов (не рекомендуется)." + +#~ msgid "" +#~ "Okular is currently generating bitmap fonts which are needed to display " +#~ "your document. For this, Okular uses a number of external programs, such " +#~ "as MetaFont. You can find the output of these programs later in the " +#~ "document info dialog." +#~ msgstr "" +#~ "Создаются растровые шрифты для показа документа. При этом используются " +#~ "некоторые внешние программы, например, MetaFont. Вы можете просмотреть " +#~ "вывод этих программ позже в диалоговом окне сведений о документе." + +#~ msgid "Okular is generating fonts. Please wait." +#~ msgstr "Создание шрифтов. Подождите..." + +#~ msgid "Font Generation Progress Dialog" +#~ msgstr "Создание шрифтов" + +#~ msgid "Abort" +#~ msgstr "Прервать" + +#~ msgid "What is happening here?" +#~ msgstr "Что сейчас происходит?" + +#~ msgid "%v of %m" +#~ msgstr "%v из %m" + +#~ msgid "Please be patient" +#~ msgstr "Пожалуйста, подождите..." + +#~ msgid "*.pdf|Portable Document Format (*.pdf)" +#~ msgstr "*.pdf|Документы PDF (*.pdf)" + +#~ msgid "Export File As" +#~ msgstr "Экспорт в файл" + +#~ msgid "" +#~ "The file %1\n" +#~ "exists. Do you want to overwrite it?" +#~ msgstr "" +#~ "Файл %1 уже существует.\n" +#~ "Заменить его?" + +#~ msgid "Overwrite File" +#~ msgstr "Заменить файл" + +#~ msgid "Overwrite" +#~ msgstr "Заменить" + +#~ msgid "Using dvipdfm to export the file to PDF" +#~ msgstr "Использовать dvipdfm для экспорта файла в PDF" + +#~ msgid "" +#~ "Okular is currently using the external program 'dvipdfm' to convert your " +#~ "DVI-file to PDF. Sometimes that can take a while because dvipdfm needs to " +#~ "generate its own bitmap fonts Please be patient." +#~ msgstr "" +#~ "Для преобразования файла DVI в формат PDF запущена внешняя программа " +#~ "dvipdfm. Преобразование может занять некоторое время, поскольку dvipdfm " +#~ "создаёт собственные растровые шрифты. Пожалуйста, подождите." + +#~ msgid "Waiting for dvipdfm to finish..." +#~ msgstr "Ожидание завершения работы dvipdfm..." + +#~ msgid "*.ps|PostScript (*.ps)" +#~ msgstr "*.ps|Документы PostScript (*.ps)" + +#~ msgid "Using dvips to export the file to PostScript" +#~ msgstr "Использовать dvips для экспорта файла в PostScript" + +#~ msgid "" +#~ "Okular is currently using the external program 'dvips' to convert your " +#~ "DVI-file to PostScript. Sometimes that can take a while because dvips " +#~ "needs to generate its own bitmap fonts Please be patient." +#~ msgstr "" +#~ "Для преобразования файла DVI в формат PostScript запущена внешняя " +#~ "программа dvips. Преобразование может занять некоторое время, поскольку " +#~ "dvips создаёт собственные растровые шрифты. Пожалуйста, подождите." + +#~ msgid "Waiting for dvips to finish..." +#~ msgstr "Ожидание завершения работы dvips..." + +#~ msgid "Functionality Unavailable" +#~ msgstr "Отсутствует поддержка" + +#~ msgid "" +#~ "File corruption Okular could not interpret your DVI " +#~ "file. This is most commonly caused by a corrupted file." +#~ msgstr "" +#~ "Файл повреждён. Программа не может интерпретировать " +#~ "файл DVI. Вероятно, этот файл повреждён." + +#~ msgid "DVI File Error" +#~ msgstr "Ошибка файла DVI" + +#~ msgid "Not All Font Files Found" +#~ msgstr "Не все шрифты найдены" + +#~ msgid "Locating fonts..." +#~ msgstr "Поиск шрифтов..." + +#~ msgid "Problem locating fonts" +#~ msgstr "Ошибка при поиске шрифтов" + +#~ msgid "Font generation aborted" +#~ msgstr "Генерирование шрифтов прервано" + +#~ msgid "Export: %1 to PDF" +#~ msgstr "Экспорт: %1 в PDF" + +#~ msgid "Export: %1 to PostScript" +#~ msgstr "Экспорт: %1 в PostScript" + +#~ msgid "The fontlist is currently empty." +#~ msgstr "Список шрифтов пуст." + +#~ msgid "TeX Name" +#~ msgstr "Название в TeX" + +#~ msgid "Family" +#~ msgstr "Гарнитура" + +#~ msgid "Zoom" +#~ msgstr "Масштаб" + +#~ msgid "Type" +#~ msgstr "Тип" + +#~ msgid "Encoding" +#~ msgstr "Кодировка" + +#~ msgid "Comment" +#~ msgstr "Комментарий" + +#~ msgid "TeX virtual" +#~ msgstr "TeX виртуальный" + +#~ msgid "TeX Font Metric" +#~ msgstr "Метрики шрифтов TeX" + +#~ msgid "FreeType" +#~ msgstr "FreeType" + +#~ msgid "Could not allocate memory for a font structure" +#~ msgstr "Не удалось выделить память для структуры опрееляющей шрифт" + +#~ msgid "Not enough memory to load the DVI-file." +#~ msgstr "Недостаточно памяти для загрузки файла DVI." + +#~ msgid "Could not load the DVI-file." +#~ msgstr "Не удаётся загрузить файл DVI." + +#~ msgid "Checksum mismatch" +#~ msgstr "Несовпадение контрольной суммы" + +#~ msgid " in font file " +#~ msgstr " в файле шрифта " + +#~ msgid "Could not allocate memory for a macro table." +#~ msgstr "Не удалось выделить память для таблицы макросов." + +#~ msgid "Virtual character " +#~ msgstr "Виртуальный символ " + +#~ msgid " in font " +#~ msgstr " в шрифте " + +#~ msgid " ignored." +#~ msgstr " пропущен." + +#~ msgid "Fatal Error" +#~ msgstr "Критическая ошибка" + +#~ msgid "KDVI: Information" +#~ msgstr "Просмотр DVI: сведения" + +#~ msgid "" +#~ "This DVI file contains source file information. You may click into " +#~ "the text with the middle mouse button, and an editor will open the TeX-" +#~ "source file immediately." +#~ msgstr "" +#~ "В этот файл DVI включены сведения об исходном файле. Вы можете " +#~ "щёлкнуть по тексту средней кнопкой мыши, и исходный код TeX будет открыт " +#~ "в редакторе." + +#~ msgid "Do not show this message again" +#~ msgstr "Не показывать больше это сообщение" + +#~ msgid "Explain in more detail..." +#~ msgstr "Дополнительная информация..." + +#~ msgid "" +#~ "File error. The specified file '%1' does not exist. " +#~ "KDVI already tried to add the ending '.dvi'." +#~ msgstr "" +#~ "Ошибка чтения файла. Файл %1 не существует. Попытки " +#~ "добавить расширение «.dvi» также ни к чему не привели." + +#~ msgid "File Error" +#~ msgstr "Ошибка работы с файлом" + +#~ msgid "Could Not Find Reference" +#~ msgstr "Не удалось найти ссылку" diff --git a/po/ru/okular_epub.po b/po/ru/okular_epub.po new file mode 100644 index 0000000..f11a365 --- /dev/null +++ b/po/ru/okular_epub.po @@ -0,0 +1,61 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Artem Sereda , 2008. +# Andrey Cherepanov , 2009. +# Alexander Lakhin , 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_epub\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-05-22 14:49+0400\n" +"Last-Translator: Alexander Lakhin \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Артём Середа" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "overmind88@gmail.com" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "Ошибка открытия документа EPub." + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "EPub" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "Настройка поддержки формата EPub" + +#~ msgid "EPub Backend" +#~ msgstr "Модуль поддержки формата EPub" + +#~ msgid "An EPub backend" +#~ msgstr "Модуль поддержки формата EPub" + +#~ msgid "© 2008 Ely Levy" +#~ msgstr "© Ely Levy, 2008" + +#~ msgid "Ely Levy" +#~ msgstr "Ely Levy" diff --git a/po/ru/okular_fax.po b/po/ru/okular_fax.po new file mode 100644 index 0000000..56ee9d3 --- /dev/null +++ b/po/ru/okular_fax.po @@ -0,0 +1,50 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Artem Sereda , 2008. +# Andrey Cherepanov , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_fax\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-03-16 15:23+0300\n" +"Last-Translator: Andrey Cherepanov \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.3\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Артём Середа" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "overmind88@gmail.com" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "Невозможно загрузить документ" + +#~ msgid "Fax Backend" +#~ msgstr "Модуль поддержки факсов" + +#~ msgid "A G3/G4 fax document backend" +#~ msgstr "Модуль поддержки факсов G3/G4" + +#~ msgid "© 2008 Tobias Koenig" +#~ msgstr "© Tobias Koenig, 2008" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/ru/okular_fictionbook.po b/po/ru/okular_fictionbook.po new file mode 100644 index 0000000..47885dc --- /dev/null +++ b/po/ru/okular_fictionbook.po @@ -0,0 +1,86 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Artem Sereda , 2008. +# Andrey Cherepanov , 2009. +# Alexander Lakhin , 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_fictionbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-05-22 14:49+0400\n" +"Last-Translator: Alexander Lakhin \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Артём Середа" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "overmind88@gmail.com" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "Документ не является файлом FictionBook" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "Невозможно открыть документ: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "Документ не является архивом ZIP" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "Неверная структура документа (отсутствует основной каталог)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "В документе отсутствует содержимое" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "Неверный документ XML: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "FictionBook" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "Настройка поддержки формата FictionBook" + +#~ msgid "Fiction Book Backend" +#~ msgstr "Модуль поддержки формата FictionBook" + +#~ msgid "A renderer for FictionBook eBooks" +#~ msgstr "Показ электронных книг FictionBook" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© Tobias Koenig, 2007-2008" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/ru/okular_ghostview.po b/po/ru/okular_ghostview.po new file mode 100644 index 0000000..84272d8 --- /dev/null +++ b/po/ru/okular_ghostview.po @@ -0,0 +1,97 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Artem Sereda , 2008, 2009. +# Andrey Cherepanov , 2009. +# Alexander Potashev , 2014. +msgid "" +msgstr "" +"Project-Id-Version: okular_ghostview\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2014-02-21 05:23+0400\n" +"Last-Translator: Alexander Potashev \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Артём Середа" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "overmind88@gmail.com" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "Использовать платформозависимые шрифты" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"Включить использование шрифтов, доступных в системе. При выключении этого " +"параметра будут использованы только шрифты, внедрённые в документ." + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "Основные параметры" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "Использовать &платформо-зависимые шрифты" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Настройка модуля Ghostscript" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "Версия документа" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "Уровень языка" + +#~ msgid "PS Backend" +#~ msgstr "Модуль поддержки PostScript" + +#~ msgid "A PostScript file renderer." +#~ msgstr "Показ документов PostScript." + +#~ msgid "© 2007-2008 Albert Astals Cid" +#~ msgstr "© Albert Astals Cid, 2007-2008" + +#~ msgid "Based on the Spectre library." +#~ msgstr "Основан на библиотеке Spectre." + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" diff --git a/po/ru/okular_kimgio.po b/po/ru/okular_kimgio.po new file mode 100644 index 0000000..e0cdf73 --- /dev/null +++ b/po/ru/okular_kimgio.po @@ -0,0 +1,75 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Artem Sereda , 2008. +# Andrey Cherepanov , 2009. +# Alexander Potashev , 2010, 2017. +msgid "" +msgstr "" +"Project-Id-Version: okular_kimgio\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2017-11-20 17:40+0300\n" +"Last-Translator: Alexander Potashev \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 2.0\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Артём Середа" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "overmind88@gmail.com" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "Не удалось открыть документ: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" +"Этот документ имеет некорректный формат. Показан приблизительный вид " +"документа." + +#~ msgid "Image Backend" +#~ msgstr "Модуль поддержки изображений" + +#~ msgid "A simple image backend" +#~ msgstr "Простой модуль поддержки изображений" + +#~ msgid "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" +#~ msgstr "" +#~ "© Albert Astals Cid, 2005, 2009\n" +#~ "© Pino Toscano, 2006-2007\n" +#~ "© Tobias Koenig, 2006-2007" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" + +#~ msgid "Main Toolbar" +#~ msgstr "Основная панель инструментов" diff --git a/po/ru/okular_markdown.po b/po/ru/okular_markdown.po new file mode 100644 index 0000000..7671b98 --- /dev/null +++ b/po/ru/okular_markdown.po @@ -0,0 +1,55 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Alexander Potashev , 2017, 2018. +# Alexander Yavorsky , 2019. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-08-01 08:54+0300\n" +"Last-Translator: Alexander Yavorsky \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Lokalize 19.04.3\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Александр Поташев" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "aspotashev@gmail.com" + +#: converter.cpp:59 converter.cpp:93 +#, kde-format +msgid "Failed to open the document" +msgstr "Не удалось открыть документ" + +#: converter.cpp:106 converter.cpp:124 +#, kde-format +msgid "Failed to compile the Markdown document." +msgstr "Не удалось скомпилировать документ Markdown." + +#: generator_md.cpp:58 +#, kde-format +msgid "Enable SmartyPants formatting" +msgstr "Использовать форматирование SmartyPants" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown" +msgstr "Markdown" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown Backend Configuration" +msgstr "Настройка поддержки формата Markdown" diff --git a/po/ru/okular_mobi.po b/po/ru/okular_mobi.po new file mode 100644 index 0000000..56dd412 --- /dev/null +++ b/po/ru/okular_mobi.po @@ -0,0 +1,69 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Artem Sereda , 2009. +# Andrey Cherepanov , 2009. +# Alexander Lakhin , 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-05-22 14:47+0400\n" +"Last-Translator: Alexander Lakhin \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Артём Середа" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "overmind88@gmail.com" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Ошибка открытия документа Mobipocket." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "" +"Эта книга защищена DRM и может быть показана только на определённом " +"устройстве" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "Mobipocket" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "Настройка поддержки формата Mobipocket" + +#~ msgid "Mobipocket Backend" +#~ msgstr "Модуль поддержки формата Mobipocket" + +#~ msgid "A mobipocket backend" +#~ msgstr "Модуль поддержки формата Mobipocket" + +#~ msgid "© 2008-2009 Jakub Stachowski" +#~ msgstr "© Jakub Stachowski, 2008-2009" + +#~ msgid "Jakub Stachowski" +#~ msgstr "Jakub Stachowski" diff --git a/po/ru/okular_poppler.po b/po/ru/okular_poppler.po new file mode 100644 index 0000000..b6e3a90 --- /dev/null +++ b/po/ru/okular_poppler.po @@ -0,0 +1,437 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Nick Shaforostoff , 2007, 2008. +# Artem Sereda , 2008. +# Evgeniy Ivanov , 2008. +# Andrey Cherepanov , 2009. +# Alexander Potashev , 2010. +# Alexander Lakhin , 2013. +# SPDX-FileCopyrightText: 2019, 2020, 2021, 2025 Alexander Yavorsky +# SPDX-FileCopyrightText: 2022, 2023, 2025 Olesya Gerasimenko +msgid "" +msgstr "" +"Project-Id-Version: okular_poppler\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-08-18 11:44+0300\n" +"Last-Translator: Alexander Yavorsky \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 25.07.90\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Николай Шафоростов, Артём Середа, Олеся Герасименко" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "shaforostoff@kde.ru,overmind88@gmail.com,translation-team@basealt.ru" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "Предварительный просмотр с наложением:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "Никогда" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "Всегда" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "Автоматически" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "Улучшение тонких линий:" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "Нет" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "Сплошные" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "По фигуре" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "Режим масштабирования по умолчанию при печати:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "По размеру области печати" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "По размеру страницы" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "Исходный размер" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" +"Включение этого параметра позволит Okular обращаться к сторонним серверам " +"OCSP и проверять, не были ли использованные для создания цифровой подписи " +"сертификаты отозваны." + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" +"Проверка отзыва сертификатов цифровых подписей с помощью сторонних серверов" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "Модуль подписи:" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" +"Эти подписи могут быть проверены только пользователями современных версий " +"Okular с включённым модулем GnuPG" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "Использовать ключи PGP для подписей (расширение Okular)" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "База данных сертификатов" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "По умолчанию:" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "Заданный:" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "Доступные сертификаты" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "&Загрузить подписи" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "Параметры работы с PDF" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "Печатать комментарии" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "Включать комментарии в печатаемый документ" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"Включает комментарии в печатаемый документ. Этот режим можно отключить, если " +"вы хотите напечатать исходный документ, без комментариев." + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "Принудительная растеризация" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "Принудительная растеризация перед печатью" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"Преобразование изображения в растровое перед печатью несколько ухудшает " +"результат, однако может быть полезно, когда документ печатается некорректно." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "Режим масштабирования при печати" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "Масштаб:" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF v. %1.%2" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "Формат" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "Зашифрован" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "Не зашифрован" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "Безопасность" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "Да" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "Оптимизирован" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Подпись: %1\n" +"\n" +"Дата: %2" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "Используется Poppler %1" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" +"Используется Poppler %1\n" +"\n" +"Сборка с Poppler %2" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "Конфигурация генератора PDF" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "Ошибка записи временного файла" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "Ошибка переименования временного файла" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" +"При открытии в документе были обнаружены ошибки. Возможно, документ будет " +"отображён неверно" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" +"Эти подписи работают только при использовании современных версий Okular с " +"включённым модулем GnuPG" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "Включить подписи PGP" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "Выдано для" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "Эл. почта" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "Дата истечения срока действия" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" +"Использование цифровой подписи недоступно, так как \n" +"используется библиотека Poppler, собранная без поддержки NSS." + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "без ограничения срока" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "Требуется перезапуск" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "" +"Требуется перезапустить Okular чтобы вступили в силу изменения расположения " +"каталога NSS" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter Password" +msgstr "Ввод пароля" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "Введите пароль для открытия %1:" + +#~ msgid "Not Available" +#~ msgstr "Недоступно" + +#~ msgid "PDF Backend" +#~ msgstr "Генератор PDF" + +#~ msgid "A PDF file renderer" +#~ msgstr "Вывод файлов PDF" + +#~ msgid "© 2005-2008 Albert Astals Cid" +#~ msgstr "© Albert Astals Cid, 2005-2008" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Saving files with /Encrypt is not supported." +#~ msgstr "Сохранение файлов c /Encrypt не поддерживается." + +#~ msgid "Unknown" +#~ msgstr "Неопределённый" + +#~ msgid "Unknown Date" +#~ msgstr "Неизвестная дата" + +#~ msgid "Unknown Encryption" +#~ msgstr "Неизвестный тип шифрования" + +#~ msgid "Unknown Optimization" +#~ msgstr "Неизвестный тип оптимизации" + +#~ msgid "Please enter the password to read the document:" +#~ msgstr "Введите пароль для просмотра документа:" + +#~ msgid "Incorrect password. Try again:" +#~ msgstr "Неверный пароль, повторите попытку:" diff --git a/po/ru/okular_tiff.po b/po/ru/okular_tiff.po new file mode 100644 index 0000000..ede55fb --- /dev/null +++ b/po/ru/okular_tiff.po @@ -0,0 +1,29 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Alexander Yavorsky , 2020. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-08-23 10:12+0300\n" +"Last-Translator: Alexander Yavorsky \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Lokalize 20.08.0\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Александр Яворский" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kekcuha@gmail.com" diff --git a/po/ru/okular_txt.po b/po/ru/okular_txt.po new file mode 100644 index 0000000..4a05dc3 --- /dev/null +++ b/po/ru/okular_txt.po @@ -0,0 +1,54 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Alexander Lakhin , 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-05-22 14:47+0400\n" +"Last-Translator: Alexander Lakhin \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Lokalize 1.5\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Александр Лахин" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "exclusion@gmail.com" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "Txt" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "Настройка поддержки формата txt" + +#~ msgid "Txt Backend" +#~ msgstr "Модуль поддержки формата txt" + +#~ msgid "Txt backend." +#~ msgstr "Модуль поддержки формата txt." + +#~ msgid "© 2013 Azat Khuzhin" +#~ msgstr "© Azat Khuzhin, 2013" + +#~ msgid "Azat Khuzhin" +#~ msgstr "Azat Khuzhin" diff --git a/po/ru/okular_xps.po b/po/ru/okular_xps.po new file mode 100644 index 0000000..7c260f5 --- /dev/null +++ b/po/ru/okular_xps.po @@ -0,0 +1,62 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Artem Sereda , 2008. +# Andrey Cherepanov , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_xps\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-03-16 15:32+0300\n" +"Last-Translator: Andrey Cherepanov \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.3\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Артём Середа" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "overmind88@gmail.com" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "Ревизия" + +#~ msgid "XPS Backend" +#~ msgstr "Модуль поддержки XPS" + +#~ msgid "An XPS backend" +#~ msgstr "Модуль поддержки XPS" + +#~ msgid "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" +#~ msgstr "" +#~ "© Brad Hards, 2006-2007\n" +#~ "© Jiri Klement, 2007\n" +#~ "© Pino Toscano, 2008" + +#~ msgid "Brad Hards" +#~ msgstr "Brad Hards" + +#~ msgid "Jiri Klement" +#~ msgstr "Jiri Klement" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" diff --git a/po/ru/org.kde.active.documentviewer.po b/po/ru/org.kde.active.documentviewer.po new file mode 100644 index 0000000..64e0327 --- /dev/null +++ b/po/ru/org.kde.active.documentviewer.po @@ -0,0 +1,235 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Alexander Lakhin , 2013. +# Alexander Potashev , 2019. +# Alexander Yavorsky , 2020, 2021, 2022. +# SPDX-FileCopyrightText: 2022, 2025 Olesya Gerasimenko +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-03-17 15:08+0300\n" +"Last-Translator: Olesya Gerasimenko \n" +"Language-Team: Basealt Translation Team\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Lokalize 23.08.5\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "Закладки" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "Просмотр сертификатов" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "Выдано" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "Общее имя (CN):" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "Адрес эл. почты:" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "Организация:" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "Выдано для" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "Действительность" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "Дата выдачи:" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "Дата истечения срока действия:" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "Отпечатки" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "Отпечаток SHA-1:" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "Отпечаток SHA-256:" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +msgid "Export…" +msgstr "Экспорт…" + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "Закрыть" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "Файл сертификата (*.cer)" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "Ошибка" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "Не удалось экспортировать сертификат." + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "Okular" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "" + +#: ui/Main.qml:49 +msgid "About" +msgstr "О программе" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "Требуется пароль" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "Удалить закладку" + +#: ui/MainView.qml:29 +msgid "Bookmark this page" +msgstr "Добавить страницу в закладки" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "Эскизы" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "Содержание" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "Подписи" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "Свойства подписи" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "Действительность" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "Действительность подписи:" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "Модификации документа:" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "Дополнительная информация" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "Подписано:" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "Время подписания:" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "Причина:" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "Расположение:" + +#: ui/SignaturePropertiesPage.qml:96 +msgid "Document Version" +msgstr "Версия документа" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Редакция документа %1 из %2" + +#: ui/SignaturePropertiesPage.qml:108 +msgid "Save Signed Version…" +msgstr "Сохранить подписанную версию…" + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +msgid "View Certificate…" +msgstr "Показать сертификат…" + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "Не удалось сохранить подпись." + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "Недоступно" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "Нет результатов." + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "Не открыто ни одного документа" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "" + +#: ui/WelcomeView.qml:108 +#, fuzzy +#| msgid "Document Version" +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "Версия документа" + +#~ msgid "Open..." +#~ msgstr "Открыть..." + +#~ msgid "Search..." +#~ msgstr "Поиск..." + +#~ msgid "Document viewer for Plasma Active using Okular" +#~ msgstr "Просмотрщик документов для Plasma Active на базе Okular" + +#~ msgid "Reader" +#~ msgstr "Просмотрщик" + +#~ msgid "Copyright 2012 Marco Martin" +#~ msgstr "© Маrco Martin, 2012" + +#~ msgid "Marco Martin" +#~ msgstr "Marco Martin" + +#~ msgid "URL of the file to open" +#~ msgstr "Адрес открываемого файла" diff --git a/po/sa/okular.po b/po/sa/okular.po new file mode 100644 index 0000000..00acecd --- /dev/null +++ b/po/sa/okular.po @@ -0,0 +1,6164 @@ +# Sanskrit translations for okular package. +# Copyright (C) 2024 This file is copyright: +# This file is distributed under the same license as the okular package. +# Kali , 2024. +# +# SPDX-FileCopyrightText: 2024 kali +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-12-29 22:46+0530\n" +"Last-Translator: kali \n" +"Language-Team: Sanskrit \n" +"Language: sa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n>2);\n" +"X-Generator: Lokalize 24.08.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "श्रीकान्त् कलवार्" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "skkalwar999@gmail.com" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "नेत्रस्य" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "ओकुलरः, एकः सार्वभौमिकः दस्तावेजदर्शकः" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"(C) 2002 विल्को ग्रेवेन्, क्रिस्टोफ देवरीज\n" +"(ग) 2004-2005 एनरिको रोस\n" +"(ग) 2005 पियोट्र ज़िमान्स्की\n" +"(C) 2004-2017 अल्बर्ट एस्टल्स सिड\n" +"(ग) 2006-2009 पिनो टोस्कानो" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "पिनो टोस्कानो" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "पूर्व परिपालक" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "टोबियास कोएनिग्" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "बहुधा ढांचाकार्यं, FictionBook पृष्ठभागः पूर्वः ODT पृष्ठभागः च" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "अल्बर्ट एस्टल्स सिड" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "विकासकः" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "पियोत्र ज़िमान्स्की" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "KPDF कोडबेस् तः Okular निर्मितम्" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "एनरिको रोस्" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "केपीडीएफ विकासकः" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "यूजीन ट्रोनेव" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "एनोटेशन कलाकृति" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "Baum - NICTA इत्यस्य प्रयोगः" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "सारणीचयनसाधनम्" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "फबियो डी'उर्सो" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "एनोटेशनसुधाराः" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "पृष्ठं %1 गच्छन्तु" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "बाह्यसञ्चिकां उद्घाटयन्तु" + +#: core/action.cpp:197 +#, fuzzy, kde-format +#| msgid "Execute '%1'..." +msgid "Execute '%1'…" +msgstr "'%1' निष्पादयन्तु..." + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "प्रथम पृष्ठ" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "पूर्व पृष्ठ" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "अग्रिमः पृष्ठः" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "अन्तिम पृष्ठ" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "पृष्ठभागः" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "अग्रतः" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "परिजहातु" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "प्रस्तुतिम् आरभत" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "अन्त प्रस्तुति" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go To Page…" +msgstr "Page इति गच्छन्तु" + +#: core/action.cpp:365 +#, fuzzy, kde-format +#| msgid "Play sound..." +msgid "Play sound…" +msgstr "ध्वनिं वादयन्तु..." + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "जावास्क्रिप्ट स्क्रिप्ट" + +#: core/action.cpp:483 +#, fuzzy, kde-format +#| msgid "Play movie" +msgid "Play movie…" +msgstr "चलचित्रं वादयन्तु" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "चलचित्रं वादयन्तु" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "चलचित्रं स्थगयन्तु" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "चलचित्रं विरामयतु" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "चलच्चित्रं पुनः आरभत" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "इदं Okular श्रव्यसमर्थनं विना निर्मितम् अस्ति" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "पृष्ठभाग चयन" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
    %1 (%2).

    Please select which one to use:
    " +msgstr "" +"MIME प्रकारस्य कृते एकादशाधिकं पृष्ठभागं प्राप्तम्:
    %1 (%2) इति ।

    कृपया कस्य उपयोगः करणीयः इति चिनोतु:
    " + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "अधिकांशं पृष्ठं %1 अस्ति ।" + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "चित्रम् %1" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "परिदृश्य %1" + +#: core/document.cpp:246 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 × %2 in (%3)" + +#: core/document.cpp:248 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 × %2 मि.मी.(%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "आरम्भादेव अन्वेषणं निरन्तरं कुर्वन्" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "अधः अन्वेषणं निरन्तरं कुर्वन्" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "प्लगिन् न प्राप्नुयात् यत् पारितं दस्तावेजं सम्भालितुं समर्थं भवति ।" + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "टिप्पणीं निष्कासयन्तु" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"दस्तावेजं बाह्य-अनुप्रयोगं निष्पादयितुं प्रयतते तथा च, भवतः सुरक्षार्थं, Okular तत् न अनुमन्यते ।" + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "mimetype %1 इत्यस्य सञ्चिकां उद्घाटयितुं कोऽपि अनुप्रयोगः न प्राप्तः ।" + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "अस्थायीसञ्चिकां उद्घाटयितुं न शक्तवान्" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "मुद्रणरूपान्तरणं विफलम् अभवत्" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "मुद्रणप्रक्रिया दुर्घटितवती" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "मुद्रणप्रक्रिया आरभ्यतुं न शक्तवती" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "सञ्चिकायां मुद्रणं विफलम् अभवत्" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "मुद्रकः अमान्यस्थितौ आसीत्" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "मुद्रणार्थं सञ्चिकां अन्वेष्टुं असमर्थः" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "मुद्रणार्थं सञ्चिका नासीत्" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"मुद्रणार्थं उपयुक्तं द्विचक्रिका न प्राप्नोत् । CUPS lpr द्विचक्रिका उपलब्धा इति सुनिश्चितं " +"कुर्वन्तु" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "पृष्ठमुद्रणस्य आकारः अमान्यः अस्ति" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "'%1' उद्घाटयितुं न शक्यते । सञ्चिका नास्ति" + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "शीर्षक" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "विषयः" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "वर्णनम्‌" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "लेखकः" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "प्रजापति" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "निर्माता" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "प्रतिलिपि अधिकार" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "पृष्ठहरू" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "निर्मितम्" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "परिवर्तित" + +#: core/document.cpp:6032 +#, kde-format +msgid "MIME Type" +msgstr "MIME प्रकार" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "कोटी" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "कीवर्ड" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "सञ्चिकामार्गः" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "सञ्चिकायाः आकारः" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "पृष्ठ आकार" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "एनोटेशनं योजयन्तु" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "टिप्पणीं निष्कासयन्तु" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "एनोटेशन गुणाः परिवर्तयन्तु" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "अनुवाद एनोटेशन" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "एनोटेशनं समायोजयन्तु" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "पाठ सम्पादयतु" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "एनोटेशन सामग्रीं सम्पादयन्तु" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "प्रपत्रसामग्री सम्पादयतु" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "सूचीपत्रविकल्पान् सम्पादयन्तु" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "संयोजनरूपचयनं सम्पादयतु" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "edit form बटन राज्यानि" + +#: core/generator.cpp:790 +#, fuzzy, kde-format +#| msgid "Plain &Text..." +msgid "Plain &Text…" +msgstr "सादा &पाठ..." + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "OpenDocument पाठः" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "मुद्रणविकल्पाः" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "मुद्रणयोग्यक्षेत्रे उपयुक्तम्" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "पूर्णपृष्ठं प्रति उपयुक्तम्" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "स्केल मोडः :" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "पुनः एतत् सन्देशं न दर्शयतु" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "न उपलब्धम्" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" + +#: core/signatureutils.cpp:498 +#, fuzzy, kde-kuit-format +#| msgctxt "@info" +#| msgid "Could not load the file %1" +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "%1 इति सञ्चिकां लोड् कर्तुं न शक्यते" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "" + +#: core/signatureutils.cpp:504 +#, fuzzy, kde-kuit-format +#| msgctxt "@info" +#| msgid "" +#| "Could not overwrite %1 because that file is read-" +#| "only. Try saving to another location or changing that file's permissions." +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" +"%1 इत्यस्य अधिलेखनं कर्तुं न शक्यते यतः सा सञ्चिका केवलं पठनीयः " +"अस्ति । अन्यस्मिन् स्थाने रक्षितुं वा तस्याः सञ्चिकायाः अनुमतिं परिवर्तयितुं वा प्रयतस्व ।" + +#: core/signatureutils.cpp:506 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown signing error" +msgstr "अज्ञात सञ्चिका" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "स्रोतः : %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "&पूर्वनिर्धारित फ़ॉन्ट: ." + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "संस्करण" + +#: gui/certificatemodel.cpp:41 +#, kde-format +msgid "Serial Number" +msgstr "क्रमाङ्कः" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "जारीकर्ता" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "जारीकृतम् On" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "Expires On इति" + +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "विषयः" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "सार्वजनिक कुंजी" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "कील प्रयोग" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "In%1" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "%1 (%2 बिट्)" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "सम्पत्तिः" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "मूल्यम्‌" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "पॉप-अप नोट्" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "टंकनयंत्रम्" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "Inline Note" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +#| msgid "Polygon with Comment" +msgid "Arrow with Comment" +msgstr "टिप्पणी सहित बहुभुज" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "बाण" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "टिप्पणी सहित सीधा रेखा" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "सीधा रेखा" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "टिप्पणी सहित बहुभुज" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "बहुभुज" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgid "Stamp with Comment" +msgid "Rectangle with Comment" +msgstr "टिप्पण्या सह मुद्रांकनम्" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "आयत" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgid "Underline with Comment" +msgid "Ellipse with Comment" +msgstr "टिप्पण्या सह रेखांकयन्तु" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "दीर्घवृत्तम्" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "टिप्पण्या सह हाइलाइट् कुर्वन्तु" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "प्रमुखाकृष्टि" + +#: gui/guiutils.cpp:87 +#, kde-format +msgid "Squiggle with Comment" +msgstr "टिप्पणी सह स्क्विग्ल् कुर्वन्तु" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "स्क्विग्ल्" + +#: gui/guiutils.cpp:91 +#, kde-format +msgid "Underline with Comment" +msgstr "टिप्पण्या सह रेखांकयन्तु" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "रेखांकनम्" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out with Comment" +msgstr "टिप्पण्या सह स्ट्राइक आउट् कुर्वन्तु" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "Strike Out इति" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "टिप्पण्या सह मुद्रांकनम्" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "मुद्रा" + +#: gui/guiutils.cpp:106 +#, kde-format +msgid "Freehand Line with Comment" +msgstr "टिप्पणी सहित मुक्तहस्त रेखा" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "मुक्तहस्त रेखा" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "Caret" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "सञ्चिका संलग्नकम्" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "ध्वनि" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "चलचित्रं" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "पट" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "विजेट" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "रिच मीडिया" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation" +msgstr "टिप्पणी" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "अज्ञात" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "लेखकः %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "%1 कुत्र रक्षितुम् इच्छसि ?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "लेखनार्थं \"%1\" उद्घाटयितुं न शक्यते । सञ्चिका न रक्षिता ।" + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "हस्ताक्षरं क्रिप्टोग्राफिकरूपेण वैधम् अस्ति ।" + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "हस्ताक्षरं क्रिप्टोग्राफिकरूपेण अमान्यम् अस्ति ।" + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "Digest Mismatch अभवत्।" + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "हस्ताक्षर CMS/PKCS7 संरचना विकृता अस्ति ।" + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "अनुरोधितं हस्ताक्षरं दस्तावेजे नास्ति।" + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "हस्ताक्षरस्य सत्यापनं कर्तुं न शक्यते स्म ।" + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "प्रमाणपत्रं विश्वसनीयम् अस्ति।" + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "प्रमाणपत्र जारीकर्ता विश्वसनीयः नास्ति।" + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "प्रमाणपत्रनिर्गता अज्ञातः अस्ति।" + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "प्रमाणपत्रं निरस्तं कृतम् अस्ति।" + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "प्रमाणपत्रस्य अवधिः समाप्तः अस्ति।" + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "प्रमाणपत्रम् अद्यापि सत्यापितं न कृतम्।" + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "प्रमाणपत्रस्य प्रमाणीकरणं प्रचलति" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "प्रमाणपत्रस्य अथवा दूषितदत्तांशस्य अज्ञातः विषयः।" + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "MD2" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "MD5" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "शा१" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "शा256" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "शा३८४" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "शा५१२" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "शा२२४" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "अज्ञात एल्गोरिदम" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "आर एस ए" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "DSA" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "ईसी" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "अज्ञात प्रकार" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "डिजिटल हस्ताक्षर" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "अनिराकरणम्" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "कुञ्जी एन्क्रिप्ट करें" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "कुञ्जीविच्छेदनं कुर्वन्तु" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "मुख्य सम्झौता" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "प्रमाणपत्रे हस्ताक्षरं कुर्वन्तु" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "हस्ताक्षर CRL" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "केवलं एन्क्रिप्ट् कुर्वन्तु" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "कोऽपि उपयोगः निर्दिष्टः नास्ति" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr ", ९. " + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "हस्ताक्षरितस्य दस्तावेजस्य परिवर्तनं न कृतम् ।" + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" +"अस्मिन् हस्ताक्षरेण यत् दस्तावेजं आच्छादितम् आसीत् तस्य पुनरीक्षणं परिवर्तनं न कृतम्;\n" +"तथापि दस्तावेजे तदनन्तरं परिवर्तनं कृतम् अस्ति ।" + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "दस्तावेजं पूर्वहस्ताक्षरकर्तृणा अनुमतेन प्रकारेण परिवर्तितम् अस्ति ।" + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "दस्तावेजस्य अखण्डतासत्यापनं पूर्णं कर्तुं न शक्यते स्म ।" + +#: gui/signatureguiutils.cpp:208 +#, fuzzy, kde-format +#| msgid "This document has unsigned signature fields." +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "अस्मिन् दस्तावेजे अहस्ताक्षरक्षेत्राणि सन्ति ।" + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "अयं दस्तावेजः अङ्कीयरूपेण हस्ताक्षरितः अस्ति ।" + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "अयं दस्तावेजः अङ्कीयरूपेण हस्ताक्षरितः अस्ति । गतहस्ताक्षरात् परं परिवर्तनं जातम्।" + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" +"अयं दस्तावेजः अङ्कीयरूपेण हस्ताक्षरितः अस्ति । केचन हस्ताक्षराणि सम्यक् प्रमाणीकर्तुं न " +"शक्तवन्तः ।" + +#: gui/signaturemodel.cpp:141 +#, fuzzy, kde-format +#| msgid "Signature Validity:" +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "हस्ताक्षर वैधता :" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "क्षेत्रम्: पृष्ठे %2 %1" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "Rev. %1: %2 द्वारा हस्ताक्षरितम्" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "हस्ताक्षरसमयः %1" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "कारणम् : %1" + +#: gui/signaturemodel.cpp:177 +#, kde-format +msgid "Location: %1" +msgstr "स्थानम् : %1" + +#: gui/signaturemodel.cpp:185 +#, fuzzy, kde-format +#| msgid "Signatures" +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "हस्ताक्षर" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "" + +#: gui/signaturemodel.cpp:193 +#, fuzzy, kde-format +#| msgctxt "Unknown author" +#| msgid "Unknown" +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "अज्ञात" + +#: gui/signaturemodel.cpp:195 +#, fuzzy, kde-format +#| msgid "Signature Validity:" +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "हस्ताक्षर वैधता :" + +#: gui/signaturemodel.cpp:201 +#, fuzzy, kde-format +#| msgid "Signature Validity:" +msgid "Signature Type: %1" +msgstr "हस्ताक्षर वैधता :" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "रक्त" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "नारङ्ग" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "पीतं" + +#: part/annotationactionhandler.cpp:151 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "हरित" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "सियान्" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "नील" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "मैजेन्टा" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "श्वेतः" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "धूसर" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "कृष्णः" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "चौड़ाई %1" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1%" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "एनोटेशन रेखाविस्तारः (कोऽपि एनोटेशन चयनितः नास्ति)" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "टिप्पणीवर्णः (नोटेशनं न चयनितम्)" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "एनोटेशन पूरणवर्णः (कोऽपि एनोटेशन चयनितः नास्ति)" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "एनोटेशन अपारदर्शिता (कोऽपि एनोटेशन चयनितम्)" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "एनोटेशन फन्ट (कोऽपि एनोटेशन चयनितः नास्ति)" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "वर्तमान टिप्पणीं द्रुतटिप्पणी मेनू मध्ये योजयन्तु (No annotation selected)" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" +"आकार अनुपातं 1:1 अथवा रेखाकोणं 15° चरणं यावत् बाध्यं कुर्वन्तु (कोऽपि टिप्पणी चयनितः " +"नास्ति)" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "वर्तमान टिप्पणीसाधनस्य उन्नतसेटिंग्स् (कोऽपि टिप्पणी चयनितः नास्ति)" + +#: part/annotationactionhandler.cpp:308 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "एनोटेशन रेखा विस्तार" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "एनोटेशन रेखाविस्तारः (वर्तमानस्य एनोटेशनस्य रेखाविस्तारः नास्ति)" + +#: part/annotationactionhandler.cpp:314 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "एनोटेशन पाठ वर्ण" + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "एनोटेशन सीमा वर्ण" + +#: part/annotationactionhandler.cpp:318 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "एनोटेशन वर्ण" + +#: part/annotationactionhandler.cpp:322 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "एनोटेशन पूरण वर्ण" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "एनोटेशन पूरणवर्णः (वर्तमानस्य एनोटेशनस्य पूरणवर्णः नास्ति)" + +#: part/annotationactionhandler.cpp:328 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "एनोटेशन फॉन्ट" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "एनोटेशन फन्ट् (वर्तमान एनोटेशनस्य फन्ट् नास्ति)" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "रेखाकोणं १५° चरणपर्यन्तं बाध्यं कुर्वन्तु" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "आकार अनुपातं 1:1 यावत् बाध्यं कुर्वन्तु" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" +"आकार-अनुपातं 1:1 यावत् अथवा रेखाकोणं 15° चरणेषु बाध्यं कुर्वन्तु (वर्तमान-टिप्पणीद्वारा " +"समर्थितम् नास्ति)" + +#: part/annotationactionhandler.cpp:341 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "एनोटेशन अपारदर्शिता" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "वर्तमान एनोटेशनं द्रुत एनोटेशन्स् मेन्यू मध्ये योजयन्तु" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "वर्तमान टिप्पणीसाधनस्य उन्नतसेटिंग्स्" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "वर्ण" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "Fill Color इति" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "पारदर्शी" + +#: part/annotationactionhandler.cpp:445 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "Custom Color..." +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "कस्टम रङ्ग..." + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "वर्णं चिनोतु" + +#: part/annotationactionhandler.cpp:552 +#, kde-format +msgid "&Annotations" +msgstr "&टिप्पणी" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "गोपयतु" + +#: part/annotationactionhandler.cpp:554 +#, kde-format +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "अधिकानि एनोटेशन-उपकरणं दर्शयतु" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "हाइलाइटर" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "रेखांकनम्" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "स्क्विग्ल्" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "Strike Out इति" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "टंकनयंत्रम्" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "Inline Note" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "पॉपअप नोट्" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "मुक्तहस्त रेखा" + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "सीधा रेखा" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "बाण" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "आयत" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "दीर्घवृत्तम्" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "बहुभुज" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "ज्यामितीय आकृतयः" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "मुद्रा" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "त्वरित टिप्पणी" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "द्रुतटिप्पणीभ्यः टिप्पणीसाधनं चिनोतु" + +#: part/annotationactionhandler.cpp:651 +#, kde-format +msgid "Quick Annotation Bar" +msgstr "त्वरित एनोटेशन बार" + +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "Quick Annotations इत्यत्र योजयतु" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "सक्रियः भवतु" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "उपयोगानन्तरं एनोटेशन-उपकरणं सक्रियं कुर्वन्तु" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "एनोटेशन टूल्स् इत्यस्य अनुपातं कोणं च बाध्यं कुर्वन्तु" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "फॉन्ट्" + +#: part/annotationactionhandler.cpp:681 +#, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "एनोटेशन सेटिंग्स्" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "रेखाविस्तारः" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "अपारदर्शिता" + +#: part/annotationactionhandler.cpp:696 +#, kde-format +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1%" + +#: part/annotationmodel.cpp:320 +#, kde-format +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "पृष्ठहरू %1 (%2) ." + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "पृष्ठं %1" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "टिप्पणी" +msgstr[1] "%1 टिप्पणी" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "&Open Pop-up Note" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "बुकमार्कं निष्कासयन्तु" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "बुकमार्कं योजयतु" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, kde-format +msgid "Copy Text to Clipboard" +msgstr "पाठं क्लिप्बोर्ड् प्रति प्रतिलिख्यताम्" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "प्रतिलिपिः DRM द्वारा निषिद्धा" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "&लुप्" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "&गुणाः" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, fuzzy, kde-format +#| msgctxt "%1 is the name of the file to save" +#| msgid "&Save '%1'..." +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "&'%1' रक्षतु..." + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "&स्वरूपम्‌" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "&सामान्य" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&लेखकः:" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "निर्मितः :" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "परिवर्तितः :" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "पॉप-अप नोट् गुणाः" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "टंकयन्त्रस्य गुणाः" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "Inline Note Properties इति" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "सीधा रेखा गुण" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "बहुभुज गुण" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "ज्यामिति गुण" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "पाठ मार्कअप गुणाः" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "डाक टिकट गुण" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "मुक्तहस्त रेखा गुण" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "केरेट गुण" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "सञ्चिका संलग्नक गुणाः" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "ध्वनि गुण" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "चलचित्रगुणाः" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "एनोटेशन गुण" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "सञ्चिकातः कस्टम् स्टाम्प चिह्नं चिनोतु" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "कस्टम् स्टाम्प चिह्नं चिनोतु" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" +"*.ico *.png *.xpm *.svg *.svgz | चिह्न सञ्चिकाः (*.ico *.png *.xpm *.svg *." +"svgz)" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "%1 इति सञ्चिकां लोड् कर्तुं न शक्यते" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "अमान्य सञ्चिका" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&वर्ण:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, fuzzy, kde-format +#| msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +#| msgid "%v%" +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%v%" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "&अस्पष्टता :" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "चिह्नम् :" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "टिप्पणी" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "साहाय्यम्‌" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "युज्" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "कुंजी" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "नवीनः अनुच्छेदः" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "टीका" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "अनुच्छेदः" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "फन्ट् :" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "पाठ &वर्णः" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "&संरेखित: ." + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "वामः" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "केंद्र" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "दक्षिणः" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "सीमा &विस्तारः :" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "अनुमत" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "यथा Is" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "गोपनीय" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "विभागीय" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "प्रारूप" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "प्रयोगात्मकः" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "परीत" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "अन्तिमः" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "टिप्पण्यार्थम्" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "सार्वजनिकविमोचनार्थम्" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "न अनुमोदितम्" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "न तु सार्वजनिकविमोचनार्थम्" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "विक्रीत" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "शीर्ष रहस्य" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "बुकमार्क" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "सूचना" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "कुत्र" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "डाकटिकटचिह्नम् :" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "&विस्तार:" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "रेखाप्रारम्भः :" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "रेखासमाप्तिः :" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "चतुरश्रः" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "वृत्त" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "हीरकम्" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "बाणं उद्घाटयतु" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "बन्द बाण" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "न कश्चित्" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "बट्" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "दक्षिणतः बाणः उद्घाटयतु" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "दक्षिणः बन्दः बाणः" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "स्लैश" + +#: part/annotationwidgets.cpp:531 +#, kde-format +msgid "Leader line length:" +msgstr "लीडर रेखा लम्बाई :" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "नेता रेखाविस्तारदीर्घता :" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "सक्षमम्" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "आकारपूरणम् :" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "प्रकारः:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "प्रहारं कुरुत" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "सञ्चिकासंलग्नकचिह्नम् :" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "आलेखः" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "पुश पिन" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "पेपरक्लिप" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "सूचकपत्त्र" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "सञ्चिका" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "न/अ" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "न वर्णनं लभ्यते।" + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "नामः:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "वर्णनम्‌:" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "केरेट् प्रतीकः :" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "न कश्चित्" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "पु" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "एतत् टिप्पणं पिधाय" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "विकल्पाः" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"अस्मिन् टिप्पणीपत्रे LaTeX कोडः भवितुं शक्नोति ।\n" +"रेण्डर् कर्तुं अत्र क्लिक् कुर्वन्तु ।" + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "लेटेक्स् एक्जीक्यूटिव् न प्राप्नोति ।" + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "LaTeX रेण्डरिंग् विफलम् अभवत्" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "dvipng कार्यान्वयनीयं न प्राप्यते ।" + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "'latex' आदेशस्य निष्पादनकाले समस्या अभवत् ।" + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "'dvipng' आदेशस्य निष्पादनकाले समस्या अभवत् ।" + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"एकं पुस्तकचिह्नम्" +msgstr[1] "" +"%1\n" +"\n" +"%2 पुस्तकचिह्नानि" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "बुकमार्क्स" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "सर्वेषां दस्तावेजानां कृते दर्शयतु" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, fuzzy, kde-format +#| msgid "Search..." +msgid "Search…" +msgstr "अन्वेषण..." + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, fuzzy, kde-format +#| msgid "Expand all" +msgid "Expand All" +msgstr "सर्वान् विस्तारयतु" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, fuzzy, kde-format +#| msgid "Collapse all" +msgid "Collapse All" +msgstr "सर्वं ध्वस्तं कुरुत" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "This Bookmark इत्यत्र गच्छन्तु" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "Bookmark इत्यस्य नाम परिवर्तनं कुर्वन्तु" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Document उद्घाटयन्तु" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "अस्य दस्तावेजस्य सर्वाणि Bookmarks निष्कासयन्तु" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "प्रमाणपत्र दर्शक" + +#: part/certificateviewer.cpp:50 +#, fuzzy, kde-format +#| msgid "Export..." +msgid "Export…" +msgstr "निर्यात..." + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "सामान्य" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "निर्गतम् By" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "सामान्य नाम(CN)" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "ईमेल" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "संगठन(ओ)" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "निर्गतं To" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "वैधता" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "अङ्गुलिचिह्नानि" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "SHA-1 अङ्गुलिचिह्न" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "SHA-256 अङ्गुलिचिह्न" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "वर्णन" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "प्रमाणपत्रदत्तांशः :" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "भवान् एतत् प्रमाणपत्रं कुत्र रक्षितुं इच्छति?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "प्रमाणपत्र सञ्चिका (*.cer) ." + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "प्रमाणपत्रं निर्यातयितुं न शक्तवान्" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "&रंग मोड" + +#: part/colormodemenu.cpp:21 +#, kde-format +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "वर्णाः परिवर्तयन्तु" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "&सामान्य रङ्ग" + +#: part/colormodemenu.cpp:41 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "&रंग उल्टा करो" + +#: part/colormodemenu.cpp:42 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "&Paper Color परिवर्तनं कुर्वन्तु" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "&Dark && Light Colors परिवर्तन करें" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "&Black && White इति परिवर्तयन्तु" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "उल्टा &लघुता" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "उलटा L&a (sRGB रेखीय) 1.1." + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "उल्टा लुमा (&सममित)" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "शिफ्ट ह्यू P&ositive" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "शिफ्ट ह्यू एन&नकारात्मक" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "रक्त" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "हरित" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "नील" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "पीतं" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "कृष्णः" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "श्वेतः" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "पीत हाइलाइटर" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "ग्रीन हाइलाइटर" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "पाठं सम्मिलितं कुर्वन्तु" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "लिङ्कानां परितः सीमां आकर्षयन्तु" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "वर्णाः परिवर्तयन्तु" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "चेतावनी: एते विकल्पाः रेखाचित्रवेगं दुष्टतया प्रभावितं कर्तुं शक्नुवन्ति।" + +#: part/dlgaccessibility.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "वर्णाः विपर्यययन्तु" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "कागदस्य वर्णं परिवर्तयन्तु" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "गहरे & हल्के वर्ण परिवर्तयन्तु" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "black & white इति परिवर्तयन्तु" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "लघुतां विपर्यययतु" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "उल्टा लुमा (sRGB रेखीय) 1.1." + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "लुमा (सममित) विपर्यय 1 ." + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "शिफ्ट ह्यू सकारात्मक" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "शिफ्ट ह्यू नकारात्मक" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "वर्णविधिः :" + +#: part/dlgaccessibility.cpp:87 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "कागदस्य वर्णः :" + +#: part/dlgaccessibility.cpp:99 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "कृष्णवर्णः :" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "हल्के वर्णः :" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "देहली:" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "विप्रकर्ष:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "पाठ-वाक्-इञ्जिनम् :" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "पाठ-वाक्-स्वरः :" + +#: part/dlgannotations.cpp:25 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "पूर्ण एनोटेशन टूलबार" + +#: part/dlgannotations.cpp:26 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "त्वरित एनोटेशन टूलबार" + +#: part/dlgannotations.cpp:28 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "एनोटेशन टूल्बार :" + +#: part/dlgannotations.cpp:34 +#, kde-format +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "लेखकः:" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"नोटः- अत्र सूचना केवलं टिप्पणीनां कृते एव उपयुज्यते । सूचना टिप्पणीकृतदस्तावेजेषु " +"रक्षिता भवति, अतः दस्तावेजेन सह प्रसारिता भविष्यति ।" + +#: part/dlgannotations.cpp:48 +#, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

    Quick Annotation Tools

    " +msgstr "

    त्वरित एनोटेशन टूल्स

    " + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" +"यदा Okular स्रोतसञ्चिकां उद्घाटयितुम् इच्छति तदा भवन्तः यत् सम्पादकं प्रारम्भं कर्तुम् इच्छन्ति " +"तत् चिनोतु ।" + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "कस्टम पाठ सम्पादक" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "केट्" + +#: part/dlgeditor.cpp:31 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "किम्‌" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "भवत् जानसि" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Emacs क्लायन्ट्" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "विलासिता ग्राहक" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "TeXstudio" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "TeXiFy विचार" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "सम्पादकः :" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
    \n" +"You can also put few placeholders:\n" +"
      \n" +"
    • %f - the file name
    • \n" +"
    • %l - the line of the file to be reached
    • \n" +"
    • %c - the column of the file to be reached
    • \n" +"
    \n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"प्रारम्भस्य इष्टपाठसम्पादकस्य आदेशं सेट् कुर्वन्तु ।
    भवन्तः कतिपयानि स्थानधारकाणि " +"अपि स्थापयितुं शक्नुवन्ति:
    • %f - सञ्चिकानाम
    • %l - गन्तव्यस्य सञ्चिकायाः " +"रेखा
    • %c - प्राप्तव्यस्य सञ्चिकायाः स्तम्भः
    यदि %f निर्दिष्टं नास्ति " +"तर्हि निर्दिष्टे आदेशे सञ्चिकानाम संलग्नं भवति ।" + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "आदेश:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "स्मूद स्क्रॉलिंग् इत्यस्य उपयोगं कुर्वन्तु" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "स्वरूपम्‌:" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "स्क्रॉलबार्स् दर्शयतु" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "लघुचित्रं पृष्ठेन सह लिङ्क् कुर्वन्तु" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "संकेतान् सूचनासन्देशान् च दर्शयतु" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "एम्बेडेड् सञ्चिकाः, प्रपत्राणि, हस्ताक्षराणि वा विषये सूचयन्तु" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "यदि उपलब्धं भवति तर्हि शीर्षकपट्टिकायां दस्तावेजस्य शीर्षकं प्रदर्शयन्तु" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "केवलं सञ्चिकानाम प्रदर्शयन्तु" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "पूर्णसञ्चिकामार्गं प्रदर्शयन्तु" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "यदा दस्तावेजस्य शीर्षकं न प्रदर्शयति तदा :" + +#: part/dlggeneral.cpp:92 +#, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "कस्टम् पृष्ठभूमिवर्णस्य उपयोगं कुर्वन्तु:" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "कार्यक्रमस्य विशेषताः :" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "ट्याब्स् मध्ये नूतनाः सञ्चिकाः उद्घाटयन्तु" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "यदि सञ्चिका पूर्वमेव उद्घाटिता अस्ति तर्हि विद्यमानं ट्याब् प्रति गच्छन्तु" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "DRM सीमानां पालनम् कुर्वन्तु" + +#: part/dlggeneral.cpp:148 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "सञ्चिकापरिवर्तने दस्तावेजं पुनः लोड् कुर्वन्तु" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "पृष्ठभागचयनसंवादं दर्शयतु" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "दक्षिणतः वामतः पठनदिशा" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" + +#: part/dlggeneral.cpp:178 +#, fuzzy, kde-format +#| msgctxt "@option:check Config dialog, general page" +#| msgid "Open in continuous mode by default" +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "पूर्वनिर्धारितरूपेण निरन्तरविधाने उद्घाटयन्तु" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "पूर्वनिर्धारितरूपेण निरन्तरविधाने उद्घाटयन्तु" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "Browse Tool इत्यस्य उपयोगं कुर्वन् स्क्रीन-धारयोः कर्सरं लपेटयन्तु" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "अवलोकनस्तम्भाः :" + +#: part/dlggeneral.cpp:220 +#, kde-format +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%v%" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" +"Page Up/Down कीलानि नुदन्ते सति वर्तमानस्य दृश्यक्षेत्रस्य कियत् भागं अद्यापि दृश्यते इति " +"परिभाषयति ।" + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "पृष्ठं उपरि/अधः अतिव्याप्तिः:" + +#: part/dlggeneral.cpp:228 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%v%" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "१००%" + +#: part/dlggeneral.cpp:233 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "फिट चौड़ाई" + +#: part/dlggeneral.cpp:234 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "फिट पेज" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "ऑटो फिट" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "अनुकूलितं कुर्वन्तु" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" +"पूर्वं कदापि न उद्घाटितानां सञ्चिकानां कृते पूर्वनिर्धारितं जूम् मोड् परिभाषयति । कृतेसञ्चिकाः " +"ये पूर्वस्य जूम-प्रयोगात् पूर्वं उद्घाटिताः आसन् ।" + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "पूर्वनिर्धारितं जूमः :" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "पारदर्शिता प्रभावान् सक्षमं कुर्वन्तु" + +#: part/dlgperformance.cpp:28 +#, kde-format +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "CPU उपयोगः :" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "न्यूनम्‌" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "सामान्यम् (पूर्वनिर्धारितम्)" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "विगृह्य" + +#: part/dlgperformance.cpp:38 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "लोलुप" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "स्मृतिप्रयोगः :" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "पाठं प्रतिनाम सक्षमं कुर्वन्तु" + +#: part/dlgperformance.cpp:56 +#, kde-format +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "रेण्डरिंग् विकल्पाः :" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "ग्राफिक्स् एंटीअलियास् सक्षमं कुर्वन्तु" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "पाठसंकेतं सक्षमं कुर्वन्तु" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"प्रयुक्तस्मृतिः यथासम्भवं न्यूना भवति । किमपि पुनः प्रयोगं न कुर्वन्तु। (अल्पस्मृतियुक्तानां " +"प्रणालीनां कृते ।)" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"स्मृतिप्रयोगस्य गतिलाभस्य च मध्ये एकः उत्तमः सम्झौता। अग्रिमपृष्ठं पूर्वलोड् कृत्वा अन्वेषणं " +"वर्धयन्तु। (2GB स्मृतियुक्तानां प्रणालीनां कृते, सामान्यतया ।)" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"सर्वं स्मृतौ स्थापयति। अग्रिमपृष्ठानि पूर्वलोडयन्तु। अन्वेषणं वर्धयन्तु। (4GB अधिकं स्मृतियुक्तानां " +"प्रणालीनां कृते।)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" +"सर्वं भारं कृत्वा स्मृतौ स्थापयति। सर्वाणि पृष्ठानि पूर्वलोडयन्तु। (भवतः कुलस्मृतेः अधिकतमं ५०% " +"अथवा भवतः मुक्तस्मृतेः उपयोगं करिष्यति, यत्किमपि बृहत्तरम् अस्ति ।)" + +#: part/dlgpresentation.cpp:38 +#, fuzzy, kde-format +#| msgctxt "Advance every %1 seconds" +#| msgid " second" +#| msgid_plural " seconds" +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] " क्षण" +msgstr[1] " सेकण्ड्" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "स्वयमेव अग्रिमम् :" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "अन्तिमपृष्ठस्य पश्चात् पाशः" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "पृष्ठतः/अग्रे गन्तुं वाम/दक्षिणपार्श्वे ट्याप् कुर्वन्तु" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "अग्रे गन्तुं कुत्रापि ट्याप् कुर्वन्तु" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "अक्षमित" + +#: part/dlgpresentation.cpp:63 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "स्पर्शमार्गदर्शनम् :" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "पृष्ठभूमिवर्णः :" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "विलम्बानन्तरं गुप्तः" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "सदा दृश्यमानम्" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "सदा निगूढम्" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "मूषकस्य कर्सरः :" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "प्रगतिसूचकं दर्शयतु" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "सारांश पृष्ठं दर्शयतु" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "तत्क्षणिक (एनिमेशनस्य कदापि उपयोगं न कुर्वन्तु)" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "प्रत्याहृ" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "यादृच्छिक संक्रमण" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "ऊर्ध्वाधरं अन्धं करोति" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "क्षैतिजं अन्धं करोति" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "Box in" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "बॉक्स आउट" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "विलीनम्" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "म्लै" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "अधः स्फुटतु" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "स्फुरणं सम्यक्" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "स्फुरण दक्षिण-अधः" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "क्षैतिजः मध्ये विभक्तः" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "क्षैतिजं बहिः विभक्तम्" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "विभक्त ऊर्ध्वाधर in" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "ऊर्ध्वाधरं बहिः विभक्तं कुरुत" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "अधः मार्जयन्तु" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "दक्षिणं मार्जयन्तु" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "वाममार्जनं कुर्वन्तु" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "मार्जतु" + +#: part/dlgpresentation.cpp:121 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "पूर्वनिर्धारितसंक्रमणम् :" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "प्राधान्यं पटलम् :" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

    Drawing Tools

    " +msgstr "

    चित्रकलासाधनम्

    " + +#: part/dlgpresentation.cpp:171 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "वर्तमान स्क्रीन" + +#: part/dlgpresentation.cpp:172 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "पूर्वनिर्धारित स्क्रीन" + +#: part/dlgpresentation.cpp:178 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "स्क्रीन %1 (%2 %3 %4)" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "स्क्रीन %1 (विच्छिन्नम्) ." + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "रेखाचित्रसाधनम् : %1" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "आघर्षनी" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "&नामः:" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "&प्रकारः:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "स्वरूपम्‌" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "पाठ मार्कअप" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "ज्यामितीय आकार" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "एनोटेशन टूल् रचयन्तु" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "सम्पादन टिप्पणीकरणसाधनम्" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "वर्ण:" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "&पेन चौड़ाई :" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "" + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "रेखाचित्रसाधनं रचयन्तु" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "चित्रकलासाधनं सम्पादयतु" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "अज्ञात" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "एम्बेडेड् सञ्चिकाः" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "दृश्यं" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "नामः" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "वर्णनम्‌" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "आकृति" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "निर्मितम्" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "परिवर्तित" + +#: part/embeddedfilesdialog.cpp:154 +#, fuzzy, kde-format +#| msgid "Save As" +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "As Save As इति" + +#: part/embeddedfilesdialog.cpp:155 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "&दृश्यं" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "मुद्रणपूर्वावलोकनभागं लोड् कर्तुं न शक्तवान्" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "मुद्रण पूर्वावलोकनम्" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "पिधानं करोतु" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "अन्वेषय:" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "अन्वेषणार्थं पाठः" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "अग्रिम" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "अग्रिम-क्रीडायाः कृते कूदन्तु" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "पूर्वतनम्‌" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "पूर्वमेलनं प्रति कूदन्तु" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "अन्वेषणव्यवहारं परिवर्तयन्तु" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "प्रकरणसंवेदनशीलः" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "वर्तमान पृष्ठतः" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "यथा टङ्कयति तथा अन्वेष्टुम्" + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "सर्वाणि सञ्चिकाः (*) ." + +#: part/formwidgets.cpp:1280 +#, fuzzy, kde-format +#| msgid "Unsigned Signature Field (Click to Sign)" +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "अहस्ताक्षरितहस्ताक्षरक्षेत्रम् (हस्ताक्षरं कर्तुं क्लिक् कुर्वन्तु)" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, fuzzy, kde-format +#| msgctxt "@action:button" +#| msgid "Sign" +msgid "&Sign…" +msgstr "चिह्नम्‌" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "हस्ताक्षर गुण" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "अन्वेषणविकल्पाः" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "प्रकरणसंवेदनशीलम्" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "नियमित अभिव्यक्ति" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "स्तराः" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "इत्यस्य" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "जूम" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "100% यावत् जूम कुर्वन्तु" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "घुमाव &दक्षिण" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "दक्षिणः" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "घुमाव &वाम" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "वामः" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "मूल अभिमुखीकरण" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "&Trim View" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "&Trim Margins" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "Trim To &चयनम्" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "फिट &विड्थ" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "फिट &Page" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "&ऑटो फिट" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "Wi&ndow to Page इति फिट् कुर्वन्तु" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "&दृश्य मोड" + +#: part/pageview.cpp:594 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "&एकल पृष्ठ" + +#: part/pageview.cpp:595 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "&फेसिंग पेज" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "पृष्ठानि सम्मुखीभवन्ति (&Center First Page)" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "&अवलोकन" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "&निरन्तरम्" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "दक्षिणतः वामपर्यन्तं पठनदिशायाः उपयोगं कुर्वन्तु" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "&ब्राउज करें" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "&ज़ूम" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "क्षेत्र &चयन" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "&पाठचयनम्" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "T&able चयनम्" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "&आवर्धक" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "चयनसाधनम्" + +#: part/pageview.cpp:711 +#, fuzzy, kde-format +#| msgid "Digitally &Sign..." +msgid "Digitally &Sign…" +msgstr "अङ्कीयरूपेण &हस्ताक्षर..." + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "सम्पूर्ण दस्तावेज वदतु" + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "वर्तमान पृष्ठतः वदतु" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "वर्तमान पृष्ठ बोलें" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "वक्तुं त्यजतु" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "विरामं कुरुत/पुनः वदतु" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "उपरि स्क्रॉल कुर्वन्तु" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Scroll Down इति" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "पृष्ठं उपरि स्क्रॉल कुर्वन्तु" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "पृष्ठं अधः स्क्रॉल कुर्वन्तु" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "प्रपत्राणि दर्शयन्तु" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] " एकपृष्ठीयं दस्तावेजं लोड् कृतवान् ।" +msgstr[1] " %1-पृष्ठीयं दस्तावेजं लोड् कृतम् ।" + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "सारणीसामग्रीम् क्लिप्बोर्ड् प्रति प्रतिलिख्यताम्" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "पाठ (१ वर्ण)" +msgstr[1] "पाठः (%1 वर्णाः)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "क्लिप्बोर्ड् प्रति प्रतिलिख्यताम्" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "पाठं वदतु" + +#: part/pageview.cpp:2863 +#, kde-format +msgid "Image (%1 × %2 pixels)" +msgstr "चित्रम् (%1 × %2 पिक्सेल्)" + +#: part/pageview.cpp:2865 +#, kde-format +msgid "Save to File…" +msgstr "सञ्चिकायां रक्षतु..." + +#: part/pageview.cpp:2885 +#, kde-format +msgid "Image [%1 × %2] copied to clipboard." +msgstr "चित्रं [%1 × %2] क्लिप्बोर्ड् प्रति प्रतिलिखितम् ।" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "सञ्चिकां रक्षतु" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "चित्राणि (*.png *.jpeg)" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "सञ्चिका न रक्षिता।" + +#: part/pageview.cpp:2901 +#, kde-format +msgid "Image [%1 × %2] saved to %3 file." +msgstr "चित्रं [%1 × %2] %3 सञ्चिकायां रक्षितम् ।" + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "पाठं प्रतिलिपितु" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "'%1' इत्यत्र गच्छन्तु।" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "फिट चौड़ाई" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "फिट पेज" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "ऑटो फिट" + +#: part/pageview.cpp:4107 +#, kde-format +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1%" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "'%1' इत्यनेन सह अन्वेष्टुम्" + +#: part/pageview.cpp:4404 +#, fuzzy, kde-format +#| msgid "Configure Web Shortcuts..." +msgid "Configure Web Shortcuts…" +msgstr "जालशॉर्टकट् विन्यस्तं कुर्वन्तु..." + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "अस्य लिङ्कस्य अनुसरणं कुर्वन्तु" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "एतत् ध्वनिं वादयन्तु" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "ध्वनिं स्थगयतु" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "लिङ्क पता प्रतिलिपि कुर्वन्तु" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "अस्मिन् दस्तावेजे '%1' इति अन्वेष्टुम्" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "स्वागतम्‌" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "जूमिंग क्षेत्रं चिनोतु। जूम आउट् कर्तुं राइट्-क्लिक् कुर्वन्तु ।" + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "वर्धितं दृश्यं द्रष्टुं क्लिक् कुर्वन्तु ।" + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "प्रतिलिपिं कर्तुं पाठस्य/चित्रस्य परितः आयतं आकर्षयन्तु ।" + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "पाठं चिनोतु" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" +"सारणीयाः परितः आयतं आकर्षयन्तु, ततः विभक्तुं किनारेषु समीपे क्लिक् कुर्वन्तु; स्वच्छं कर्तुं Esc " +"नुदन्तु।" + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" + +#: part/pageview.cpp:5188 +#, fuzzy, kde-format +#| msgid "Certificates" +msgid "No valid certificates" +msgstr "प्रमाणपत्रम्" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, fuzzy, kde-format +#| msgid "View in Certificate Manager" +msgid "Open Certificate Manager" +msgstr "प्रमाणपत्रप्रबन्धके पश्यन्तु" + +#: part/pageview.cpp:5200 +#, fuzzy, kde-format +#| msgid "" +#| "There are no available signing certificates.
    For more information, " +#| "please see the section about Adding Digital Signatures " +#| "in the manual." +msgid "" +"There are no available signing certificates.
    Launch Certificate Manager " +"to import or manage certificates
    For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" +"हस्ताक्षरप्रमाणपत्राणि उपलब्धानि नास्ति।
    अधिकविवरणार्थं कृपया पुस्तिकायां डिजिटलहस्ताक्षराणि योजयितुं इति विभागं पश्यन्तु ।" + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, fuzzy, kde-format +#| msgid "Certificates" +msgid "No certificates found" +msgstr "प्रमाणपत्रम्" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
    For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" +"हस्ताक्षरप्रमाणपत्राणि उपलब्धानि नास्ति।
    अधिकविवरणार्थं कृपया पुस्तिकायां डिजिटलहस्ताक्षराणि योजयितुं इति विभागं पश्यन्तु ।" + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "भवतः अरक्षिताः परिवर्तनाः सन्ति । कृपया दस्तावेजं हस्ताक्षरं कर्तुं पूर्वं रक्षन्तु।" + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "हस्ताक्षरक्षेत्रं सम्मिलितुं आयतं आकर्षयन्तु" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "यत् पृष्ठक्षेत्रं भवन्तः दृश्यमानं स्थापयितुम् इच्छन्ति तस्य परितः आयतं आकर्षयन्तु" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "नवीन पाठ टिप्पणी" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "नवीनटिप्पण्याः पाठः-" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"हस्ताक्षरितः: %1\n" +"\n" +"तिथिः %2" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" +"एतादृशप्रमाणस्य हस्ताक्षरं पठितुं अतिलघु भवेत् । यदि भवान् सम्भाव्यतया अधिकं पठनीयं हस्ताक्षरं " +"निर्मातुम् इच्छति तर्हि Start over इति नुत्वा बृहत्तरं आयतं " +"आकर्षयतु ।" + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "पुनः आरभत" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "चिह्नम्‌" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name" +msgstr "लेखक का नाम" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name for the annotation:" +msgstr "एनोटेशनस्य लेखकनाम :" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "दीर्घवृत्तं आकर्षयन्तु (क्षेत्रं चयनं कर्तुं कर्षयन्तु)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "पाठं प्रकाशयन्तु" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "मुक्तहस्तरेखां आकर्षयन्तु" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "Inline Text Annotation (क्षेत्रं चयनं कर्तुं कर्षयन्तु)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "एकं पॉप-अप-टिप्पणं स्थापयन्तु" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "बहुभुजं आकर्षयन्तु (तत् पिधातुं प्रथमबिन्दौ क्लिक् कुर्वन्तु)" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "एकं आयतं आकर्षयतु" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "स्क्विग्ल् पाठः" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "एकं मुद्राचिह्नं स्थापयतु" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "ऋजुरेखां आकर्षयन्तु" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "पाठं प्रहरतु" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "पाठं रेखांकयन्तु" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "टङ्कनयन्त्रस्य टिप्पणी (क्षेत्रस्य चयनार्थं कर्षयन्तु)" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "हाइलाइटर" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "प्रियं टिप्पणीं योजयन्तु" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Custom annotation name:" +msgstr "कस्टम एनोटेशन नाम:" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&संचिका" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "&सेटिंग्स" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "&साहाय्यम्‌" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "&आभिमुख्य" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "&पुस्तकचिह्न" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "दर्शक साधनपट्टिका" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "लघुचित्रम्" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "टिप्पणी" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
    Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" +"अस्मिन् दस्तावेजे एनोटेशन्स् अथवा प्रपत्रदत्तांशः अस्ति ये पूर्वस्य Okular संस्करणेन आन्तरिकरूपेण " +"रक्षिताः आसन् । आन्तरिकभण्डारणं समर्थितं नास्ति .
    यदि भवान् दस्तावेजस्य " +"सम्पादनं निरन्तरं कर्तुम् इच्छति तर्हि तान् स्थानान्तरयितुं कृपया सञ्चिकायां रक्षतु ।" + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"अस्मिन् दस्तावेजे एम्बेडेड् सञ्चिकाः सन्ति । तानि " +"द्रष्टुं अत्र क्लिक् कुर्वन्तु अथवा File -> Embedded Files इति गच्छन्तु ।" + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "हस्ताक्षरं प्रचलति। हस्ताक्षरस्य स्थानं आकारं च समायोजयितुं शक्नुवन्ति" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "हस्ताक्षरं समाप्तं कुर्वन्तु" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "पूर्वतनम्‌" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "पूर्वपृष्ठं प्रति गच्छन्तु" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "दस्तावेजस्य पूर्वपृष्ठं प्रति गच्छति" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "अग्रिम" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "अग्रिमपृष्ठं प्रति अग्रिमम्" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "दस्तावेजस्य अग्रिमपृष्ठं प्रति गच्छति" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "दस्तावेजस्य आरम्भः" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "दस्तावेजस्य आरम्भं प्रति गच्छति" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "दस्तावेजस्य समाप्तिः" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "दस्तावेजस्य अन्ते गच्छति" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "वर्तमानपुस्तकचिह्नस्य नाम परिवर्तनं कुर्वन्तु" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "पूर्व बुकमार्क" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "पूर्वपुस्तकचिह्नं गच्छन्तु" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "अग्रिमः बुकमार्कः" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "अग्रिमपुस्तकचिह्नं गच्छन्तु" + +#: part/part.cpp:748 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgid "Configure Okular…" +msgstr "Okular विन्यस्तं कुर्वन्तु..." + +#: part/part.cpp:751 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Configure Viewer…" +msgstr "दर्शकं विन्यस्तं कुर्वन्तु" + +#: part/part.cpp:757 +#, fuzzy, kde-format +#| msgid "Configure Viewer Backends" +msgid "Configure Viewer Backends…" +msgstr "Viewer Backends विन्यस्तं कुर्वन्तु" + +#: part/part.cpp:759 +#, fuzzy, kde-format +#| msgid "Configure Backends" +msgid "Configure Backends…" +msgstr "Backends विन्यस्तं कुर्वन्तु" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "बैकएण्ड् विषये" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "रेलोआ&ड" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "वर्तमानदस्तावेजं डिस्कतः पुनः लोड् कुर्वन्तु ।" + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "बन्द करो &Find Bar" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "पृष्ठ संख्या" + +#: part/part.cpp:817 +#, fuzzy, kde-format +#| msgctxt "@action" +#| msgid "Configure Color Modes..." +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "रङ्ग मोड विन्यस्तं कुर्वन्तु..." + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "वर्तमान पृष्ठे All Text इति चिनोतु" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "S&idebar दर्शयतु" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "Show &Page Bar" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "&हस्ताक्षरपटलं दर्शयतु" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "&Embedded Files इति" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "E&xport As" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "संविभागः" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "प्रस्तुति" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "Con&taining Folder उद्घाटयन्तु" + +#: part/part.cpp:945 +#, fuzzy, kde-format +#| msgid "&Import PostScript as PDF..." +msgid "&Import PostScript as PDF…" +msgstr "&पोस्टस्क्रिप्ट् पीडीएफरूपेण आयातयन्तु..." + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "ब्लैकस्क्रीन् मोड् स्विच् कुर्वन्तु" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "रेखाचित्रं मेटयतु" + +#: part/part.cpp:962 +#, fuzzy, kde-format +#| msgid "Configure Annotations..." +msgid "Configure Annotations…" +msgstr "एनोटेशन्स् विन्यस्तं कुर्वन्तु..." + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "प्ले/विराम प्रस्तुति" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" +"भवता अधुना एव मुक्तदस्तावेजः परिवर्तितः, परन्तु एतादृशं दस्तावेजं रक्षितुं न शक्यते ।\n" +"एकवारं ओकुलरस्य बन्दीकरणे यत्किमपि परिवर्तनं नष्टं भविष्यति।" + +#: part/part.cpp:1123 +#, kde-format +msgid "Document can't be saved" +msgstr "दस्तावेजं रक्षितुं न शक्यते" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "'%1' (%2) उद्घाटयितुं न शक्तवान् । " + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "%1 इत्यस्य लोडिंग् रद्दं कृतम् अस्ति ।" + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "%1 उद्घाटयितुं न शक्तवान् । कारणम् : %2" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "Viewer Backends विन्यस्तं कुर्वन्तु" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "Backends विन्यस्तं कुर्वन्तु" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"\"ps2pdf\" इति कार्यक्रमः न प्राप्तः, अतः Okular तस्य उपयोगेन PS सञ्चिकाः आयातयितुं न " +"शक्नोति ।" + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "ps2pdf न प्राप्तम्" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "पोस्टस्क्रिप्ट् सञ्चिकाः (%1) ." + +#: part/part.cpp:1357 +#, fuzzy, kde-format +#| msgid "Importing PS file as PDF (this may take a while)..." +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "PS सञ्चिकां PDF रूपेण आयातम् (एतत् किञ्चित् समयं गृह्णीयात्)..." + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "दस्तावेजं पठितुं कृपया गुप्तशब्दं प्रविशन्तु:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "अशुद्धगुप्तशब्दः। पुनः प्रयासं कुर्वन्तु :" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "दस्तावेज गुप्तशब्द" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "अस्मिन् दस्तावेजे XFA प्रपत्राणि सन्ति, ये सम्प्रति असमर्थिताः सन्ति ." + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"अस्मिन् दस्तावेजे प्रपत्राणि सन्ति । तेषां सह संवादं कर्तुं बटन् नुदन्तु, अथवा View -> Show " +"Forms इत्यस्य उपयोगं कुर्वन्तु ।" + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" +"अस्य दस्तावेजस्य सर्वाणि सम्पादन-अन्तर्क्रियाशील-विशेषतानि अक्षमानि सन्ति । कृपया " +"प्रतिलिपिं रक्षन्तु, एतत् दस्तावेजं सम्पादयितुं पुनः उद्घाटयन्तु च ।" + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" +"एतत् दस्तावेजं पूर्णपर्दे दर्शयितुम् इच्छति ।\n" +"सामान्यविधानं त्यक्त्वा प्रस्तुतिविधिं प्रविशतु?" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "दृश्यविधानं परिवर्तयितुं अनुरोधः" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "प्रस्तुतिविधिं प्रविशन्तु" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "अनुरोधं अङ्गीकुर्वन्तु" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "%1 उद्घाटयितुं न शक्तवान् । %2" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" +"%1 इति सञ्चिकायां अरक्षिताः परिवर्तनाः सन्ति किन्तु अन्येन " +"कार्यक्रमेन परिवर्तिताः । पुनः लोड् करणेन असरक्षितपरिवर्तनानां स्थाने अन्यप्रोग्रामे कृते " +"परिवर्तनं भविष्यति।किं भवान् सञ्चिकां पुनः लोड् करणं निरन्तरं कर्तुम् इच्छति?" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "सञ्चिका परिवर्तिता" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "Reloading निरन्तरं कुर्वन्तु" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "पुनः लोडिंग् निरस्तं कुर्वन्तु" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" +"%1 इति सञ्चिकायां अरक्षिताः परिवर्तनाः सन्ति किन्तु अन्येन " +"कार्यक्रमेन परिवर्तिताः । तस्य बन्दीकरणेन असरक्षितपरिवर्तनानां स्थाने अन्यस्मिन् कार्यक्रमे कृते " +"परिवर्तनं भविष्यति।किं भवान् सञ्चिकां निरुद्धं कर्तुम् इच्छति?" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "समापनं निरन्तरं कुर्वन्तु" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "समापनं निरस्तं कुर्वन्तु" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "किं भवान् स्वपरिवर्तनानि \"%1\" इत्यत्र रक्षितुम् इच्छति अथवा परित्यक्तुं इच्छति?" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "दस्तावेजं बन्दं कुर्वन्तु" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"एतत् लिङ्क् एकं निकटदस्तावेजक्रियाम् सूचयति यत् एम्बेडेड् दर्शकस्य उपयोगे कार्यं न करोति ।" + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"एतत् लिङ्क् एकं त्यक्तुं अनुप्रयोगक्रियाम् सूचयति यत् एम्बेडेड् दर्शकस्य उपयोगे कार्यं न करोति ।" + +#: part/part.cpp:2113 part/part.cpp:2131 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Reloading the document…" +msgstr "दस्तावेजं पुनः लोड् करणं..." + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "विषयवस्तु" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "हस्ताक्षर" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Page इति गच्छन्तु" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "&पृष्ठ: 1 ." + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "पुस्तकचिह्नस्य नूतनं नाम प्रविष्टं कुर्वन्तु:" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "अस्य Bookmark इत्यस्य नाम परिवर्तनं कुर्वन्तु" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "एतत् Bookmark निष्कासयन्तु" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "As Save As इति" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" +"भवता '%1' विस्तारेण समाप्तं सञ्चिकानाम विना Okular Archive रक्षितुं चितम् । तत् न " +"अनुमतं, किं भवन्तः नूतनं नाम चिन्वितुं इच्छन्ति?" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "असमर्थितः विस्तारः" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "नूतनं नाम चिनोतु" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" +"%1 इति सञ्चिका अन्येन प्रोग्रामेन परिवर्तिता अस्ति । यदि भवान् " +"इदानीं रक्षति तर्हि अन्यस्मिन् कार्यक्रमे यत्किमपि परिवर्तनं कृतं तत् नष्टं भविष्यति । किं " +"भवन्तः निश्चिन्ताः सन्ति यत् भवन्तः निरन्तरं कर्तुम् इच्छन्ति?" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "रक्षतु - चेतावनी" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "अन्यत्र प्रतिलिपिं रक्षन्तु" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
    In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" +"वर्तमानदस्तावेजं गुप्तशब्देन रक्षितम् अस्ति ।
    रक्षणार्थं सञ्चिकां पुनः लोड् कर्तव्यम् । " +"भवन्तः पुनः गुप्तशब्दं याचिताः भविष्यन्ति तथा च भवतः undo/redo इतिहासः नष्टः भविष्यति ।" +"
    किं त्वं निरन्तरं कर्तुम् इच्छसि ?" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "अस्थायीसञ्चिकां रक्षणार्थं उद्घाटयितुं न शक्तवान् ।" + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" +"%1 इत्यस्य अधिलेखनं कर्तुं न शक्यते यतः सा सञ्चिका केवलं पठनीयः " +"अस्ति । अन्यस्मिन् स्थाने रक्षितुं वा तस्याः सञ्चिकायाः अनुमतिं परिवर्तयितुं वा प्रयतस्व ।" + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" +"रक्षणानन्तरं वर्तमानदस्तावेजस्वरूपे सञ्चिकां पुनः लोड् करणीयम् । भवतः पूर्ववत/पुनः करणस्य " +"इतिहासः नष्टः भविष्यति।
    किं त्वं निरन्तरं कर्तुम् इच्छसि ?" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "'%1' इत्यत्र सञ्चिका रक्षितुं न शक्यते । अन्यस्मिन् स्थाने रक्षितुं प्रयतध्वम्।" + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "पूरित प्रपत्र सामग्री" + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "उपयोक्तृ टिप्पणी" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" +"भवान् परिवर्तनं रक्षितुं प्रवृत्तः अस्ति, परन्तु वर्तमानसञ्चिकास्वरूपं निम्नलिखिततत्त्वानां रक्षणं " +"समर्थयति न । कृपया तान् संरक्षितुं Okular दस्तावेजसंग्रहस्वरूपस्य उपयोगं कुर्वन्तु ।" + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "चेतवानी" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, fuzzy, kde-format +#| msgid "Save as Okular document archive..." +msgid "Save as Okular document archive…" +msgstr "Okular document archive इति रूपेण रक्षन्तु..." + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" +"भवान् परिवर्तनं रक्षितुं प्रवृत्तः अस्ति, परन्तु वर्तमानसञ्चिकास्वरूपं निम्नलिखिततत्त्वानां रक्षणं " +"समर्थयति न । कृपया तान् संरक्षितुं Okular दस्तावेजसंग्रहस्वरूपस्य उपयोगं कुर्वन्तु । " +"दस्तावेजं रक्षितुं एतानि तत्त्वानि परित्यक्तुं च Continue नुदन्तु ।" + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" +"भवान् परिवर्तनं रक्षितुं प्रवृत्तः अस्ति, परन्तु वर्तमानसञ्चिकास्वरूपं निम्नलिखिततत्त्वानां रक्षणं " +"समर्थयति न । कृपया तान् संरक्षितुं Okular दस्तावेजसंग्रहस्वरूपस्य उपयोगं कुर्वन्तु । " +"रक्षितुं Continue नुदन्तु, परन्तु भवान् एतानि तत्त्वानि अपि च undo/redo इतिहासं " +"नष्टं करिष्यति ।" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "अनुवर्तते" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "परिवर्तनं हातुं निरन्तरं कुर्वन्तु" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "'%1' इत्यत्र सञ्चिका रक्षितुं न शक्यते । %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"Okular %1 निर्दिष्टस्थाने प्रतिलिपिं कर्तुं न शक्नोति ।\n" +"\n" +"दस्तावेजं इदानीं नास्ति।" + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" +"'%1' इत्यत्र सञ्चिका रक्षितुं न शक्यते । त्रुटिः '%2'। अन्यस्मिन् स्थाने रक्षितुं प्रयतध्वम्।" + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "Expand whole section" +msgid "Expand Whole Section" +msgstr "सम्पूर्ण खण्ड विस्तार करें" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "Collapse whole section" +msgid "Collapse Whole Section" +msgstr "सम्पूर्ण खण्ड ध्वस्त करें" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "पृष्ठेन सह लघुचित्रं समन्वययन्तु" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "उपकरणाः" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "वदतिब्रू" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "मुद्रणम्" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "अस्य दस्तावेजस्य मुद्रणं न अनुमतम् ।" + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"दस्तावेजं मुद्रयितुं न शक्तवान्। अज्ञातदोषः । कृपया bugs.kde.org इत्यत्र प्रतिवेदनं कुर्वन्तु" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"दस्तावेजं मुद्रयितुं न शक्तवान्। विस्तृतदोषः \"%1\" अस्ति । कृपया bugs.kde.org इत्यत्र " +"प्रतिवेदनं कुर्वन्तु" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "पूर्वं यत्र आसीत् तत्र गच्छतु" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "यत्र त्वं पश्चात् आसीः तत्र गच्छतु" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"सञ्चिकादोषः ! अस्थायी सञ्चिका %1 निर्मातुं न शक्यते ।" + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded.
    " +msgstr "" +"सञ्चिकादोषः ! असंपीडनार्थं %1 " +"सञ्चिकां उद्घाटयितुं न शक्तम् । सञ्चिका न लोड् भविष्यति।" + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"यदि भवतां समीपे सञ्चिकां पठितुं पर्याप्ताः अनुमतिः नास्ति तर्हि एषा त्रुटिः सामान्यतया " +"भवति । यदि भवान् Dolphin सञ्चिकाप्रबन्धके सञ्चिकायां राइट्-क्लिक् करोति, ततः " +"'Properties' विकल्पं चिनोति, उद्घाटितविण्डो मध्ये 'Permissions' ट्याब् चिनोति चेत् " +"भवान् स्वामित्वं अनुमतिं च परीक्षितुं शक्नोति ।" + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"सञ्चिकादोषः ! %1 सञ्चिकां " +"विसंपीडयितुं न शक्यते । सञ्चिका न लोड् भविष्यति।" + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"सञ्चिका दूषिता चेत् सामान्यतया एषा त्रुटिः भवति । यदि भवान् निश्चयं कर्तुम् इच्छति " +"तर्हि आदेशपङ्क्तिसाधनानाम् उपयोगेन सञ्चिकां स्वहस्तेन विसंपीडयितुं प्रयतस्व ।" + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "न बुकमार्क्स्" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "दस्तावेजस्य साझेदारीयां समस्या आसीत्: %1" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "संविभागः" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "दस्तावेजं सफलतया साझां कृतम्" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "साझादस्तावेजं भवान् अत्र द्रष्टुं शक्नोति: %1" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "&सम्पादन" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "&दृश्यं" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&गच्छ" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "&उपकरणाः" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "मुख्य साधनपट्टी" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "एनोटेशन टूलबार" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, kde-format +msgid "Quick Annotation Toolbar" +msgstr "त्वरित एनोटेशन टूलबार" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "सामान्यविकल्पाः" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "सुलभता" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "सुलभता पठनसामग्री" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "प्रदर्शनम्‌" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "प्रदर्शन ट्यूनिंग" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "दर्शकं विन्यस्तं कुर्वन्तु" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "प्रस्तुति" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "प्रस्तुतिविधानस्य विकल्पाः" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "एनोटेशन विकल्प" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "सम्पादक" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "सम्पादक विकल्प" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" +"सम्पादकं आदेशपङ्क्तौ सेट् कृतम् आसीत् \n" +" %1 \n" +"यदि भवान् सेटिङ्ग् उपयोक्तुं इच्छति तर्हि --editor-cmd विकल्पं विना okular आरभत" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "अग्रिमम् अन्वेष्टुम्" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 – प्रस्तुतिः" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "स्विच स्क्रीन" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "स्क्रीन %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "प्रस्तुतिविधातः निर्गच्छन्तु" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "शीर्षकम् : %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "पृष्ठानि : %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "आरम्भार्थं क्लिक् कुर्वन्तु" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "विराम" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "क्रीडतु" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"प्रस्तुति-मोड्-निर्गमनस्य द्वौ मार्गौ स्तः, भवान् ESC कीलम् अपि नुदतु अथवा उपरि-दक्षिणकोणे " +"मूषकं स्थापयन् दृश्यमानेन quit बटनेन क्लिक् कर्तुं शक्नोति । अवश्यं भवान् विण्डोज " +"(पूर्वनिर्धारितरूपेण Alt+TAB) चक्रं कर्तुं शक्नोति ।" + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "प्रस्तुतिम् दत्त्वा" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "अज्ञात सञ्चिका" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "%1 गुणाः" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "&फॉन्ट्" + +#: part/propertiesdialog.cpp:145 +#, fuzzy, kde-format +#| msgid "Reading font information..." +msgid "Reading font information…" +msgstr "फॉन्ट् सूचनां पठन्..." + +#: part/propertiesdialog.cpp:158 +#, kde-format +msgid "&Page Sizes" +msgstr "&पृष्ठ आकार" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "&फॉन्ट निकालें" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "प्रकारः १" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "प्रकार 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "प्रकारः १ ग (OT)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "प्रकारः ३" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType इति" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType (OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "सीआईडी प्रकार 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "सीआईडी प्रकार 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "सीआईडी प्रकार 0सी (ओटी) ." + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType इति" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType (OT)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "TeX PK" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "TeX आभासी" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "TeX फ़ॉन्ट मेट्रिक" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "TeX FreeType-संचालितम्" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "अज्ञात" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "एम्बेडेड् (उपसमूहः)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "पूर्णतया निहितम्" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "नहि" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "हाँ (उपसमूह)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "आम्‌" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "%1 (%2 इत्यनेन प्रतिस्थापनं कृत्वा)" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "[न/क] ।" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "अज्ञात फ़ॉन्ट" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "एम्बेडेड्: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "नामः" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "प्रकारः" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "सञ्चिका" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "पृष्ठ" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "आकृति" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "पुनरीक्षण पूर्वावलोकन" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "एतत् पुनरीक्षणं कुत्र रक्षितुम् इच्छसि ?" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "%1 सञ्चिकां रक्षितुं न शक्यते ।" + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "संशोधनं द्रष्टुं न शक्तवान्।" + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "पृष्ठानि छानयितुं न्यूनातिन्यूनं ३ अक्षराणि प्रविशन्तु" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "प्रकरणसंवेदनशीलम्" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "मेल वाक्यम्" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "सर्वेषां शब्दानां मेलनं कुरुत" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "कस्यापि शब्दस्य मेलनं कुर्वन्तु" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "फ़िल्टर विकल्पाः" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, kde-format +msgid "Certificates" +msgstr "प्रमाणपत्रम्" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "हस्ताक्षरं कर्तुं प्रमाणपत्रं चिनोतु:" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, fuzzy, kde-format +#| msgid "Certificates" +msgid "Only QES certificates" +msgstr "प्रमाणपत्रम्" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "कारणम्‌:" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, kde-format +msgid "optional" +msgstr "वैकल्पिक" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "स्थानीय:" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, kde-format +msgid "Background:" +msgstr "पृष्ठभूमि:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "चिनोतु..." + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, kde-format +msgid "Recent backgrounds:" +msgstr "अद्यतनपृष्ठभूमिः :" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

    No annotations

    To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
    " +msgstr "" +"

    टिप्पणीः नास्ति

    नूतनानि एनोटेशन्स् निर्मातुं F6 नुदन्तु अथवा " +"मेनूतः Tools -> Annotations इति चिनोतु ।
    " + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "पृष्ठानुसार समूह" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "लेखकानुसार समूह" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "केवलं वर्तमानपृष्ठस्य कृते टिप्पणीं दर्शयतु" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "सर्वाणि तत्त्वानि विस्तारयन्तु" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "सर्वाणि तत्त्वानि संकुचयन्तु" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "गुणाः" + +#: part/signaturepartutils.cpp:180 +#, kde-format +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "चित्राणि (%1) ." + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "पृष्ठभूमिचित्रं चिनोतु" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "बिम्बं विस्मरतु" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "सर्वाणि चित्राणि विस्मरन्तु" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "प्रमाणपत्रं अनलॉक् कर्तुं गुप्तशब्दं (यदि अस्ति) प्रविशतु: %1" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "प्रमाणपत्रगुप्तशब्दं प्रविशतु" + +#: part/signaturepartutils.cpp:244 +#, kde-format +msgid "Enter document password" +msgstr "दस्तावेजगुप्तशब्दं प्रविशतु" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "हस्ताक्षरितसञ्चिकां यथा रक्षन्तु" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "%1_हस्ताक्षरितम्।%2" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "वैधता स्थिति" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "हस्ताक्षर वैधता :" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "दस्तावेज परिवर्तनम् :" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "अतिरिक्त सूचना" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "हस्ताक्षरितम् :" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "हस्ताक्षरसमयः :" + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "दस्तावेज संस्करणम्" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "%2 इत्यस्य %1 दस्तावेजपुनरीक्षणम्" + +#: part/signaturepropertiesdialog.cpp:88 +#, fuzzy, kde-format +#| msgid "View Signed Version..." +msgid "View Signed Version…" +msgstr "हस्ताक्षरितं संस्करणं पश्यन्तु..." + +#: part/signaturepropertiesdialog.cpp:95 +#, fuzzy, kde-format +#| msgid "View Certificate..." +msgid "View Certificate…" +msgstr "प्रमाणपत्रं पश्यन्तु..." + +#: part/signaturepropertiesdialog.cpp:97 +#, kde-format +msgid "View in Certificate Manager" +msgstr "प्रमाणपत्रप्रबन्धके पश्यन्तु" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "KDE प्रमाणपत्रप्रबन्धकः (kleopatra) न प्राप्तः" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "केवलं बुकमार्ककृतानि पृष्ठानि दर्शयन्तु" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "क्रीडतु" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "विराम" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "विरमतु" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "अस्मिन् okular मध्ये समर्थिताः न सन्ति इति विडियो" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "अस्मिन् Okular मध्ये समर्थिताः न सन्ति इति विडियो" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, fuzzy, kde-format +#| msgid "&Edit" +msgid "&Edit…" +msgstr "&सम्पादन" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "&अपाकरोति" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "चाल & ऊपर" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "Move &Down" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "पूर्वनिर्धारित रेखाचित्रसाधन #%1" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "तत्नाम्ना पूर्वमेव एकं साधनम् अस्ति । पूर्वनिर्धारितस्य उपयोगेन" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "डुप्लिकेट नाम" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "दर्शयितव्यस्य दस्तावेजस्य पृष्ठम्" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "दस्तावेजं प्रस्तुतिविधाने आरभत" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "मुद्रणसंवादेन आरभत" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "मुद्रणसंवादेन आरभ्य मुद्रणानन्तरं निर्गच्छतु" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "\"अद्वितीय दृष्टान्त\" नियन्त्रण" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "न खिडकी उत्थापयन्तु" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "पाठस्य उपरि एकं तारं अन्वेष्टुम्" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "बाह्य सम्पादक आदेशं सेट् करोति" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "दस्तावेजाः उद्घाटयितुं। stdin तः पठितुं '-' निर्दिशन्तु ।" + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" +"पूर्वमेव चालितस्य okular दृष्टान्तस्य मध्ये editor आदेशं सेट् कर्तुं न शक्नुवन्ति । कृपया ट्याब्स् " +"निष्क्रियं कृत्वा पुनः प्रयासं कुर्वन्तु । कृपया ज्ञातव्यं यत्, आदेशपङ्क्तौ सम्पादक-आदेशं सेट् कुर्वन् " +"अद्वितीयम् अपि समर्थितं नास्ति ।\n" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "त्रुटिः : --unique स्विच् इत्यनेन एकादशाधिकं दस्तावेजं उद्घाटयितुं न शक्यते" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "त्रुटिः : --presentation स्विच् इत्यनेन एकादशाधिकं दस्तावेजं उद्घाटयितुं न शक्यते" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "त्रुटिः : --print स्विच् इत्यनेन एकादशाधिकं दस्तावेजं उद्घाटयितुं न शक्यते" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "त्रुटिः : --page स्विच् इत्यनेन एकादशाधिकं दस्तावेजं उद्घाटयितुं न शक्यते" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "त्रुटिः : --find स्विच् इत्यनेन एकादशाधिकं दस्तावेजं उद्घाटयितुं न शक्यते" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "Okular घटकं अन्वेष्टुं असमर्थः: %1" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "पार्श्वपट्टिका" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" +"पूर्वमेव एकः अद्वितीयः Okular दृष्टान्तः प्रचलति । अयं दृष्टान्तः अद्वितीयः न भविष्यति ।" + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "Okular घटकं अन्वेष्टुं असमर्थः ।" + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"सञ्चिकां उद्घाटयितुं क्लिक् कुर्वन्तु\n" +"अद्यतनसञ्चिकां उद्घाटयितुं क्लिक् कृत्वा धारयन्तु" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"सञ्चिकां उद्घाटयितुं क्लिक् कुर्वन्तु अथवा अद्यतनसञ्चिकां चिन्वितुं क्लिक् कृत्वा " +"धारयन्तु" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "अग्रिमः ट्याब्" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "पूर्व ट्याब्" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "पूर्ववतं कुर्वन्तु close tab" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "ताला पार्श्वपट्टिका" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "सर्वाणि सञ्चिकाः (*) ." + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "सर्वाणि समर्थितसञ्चिकाः (%1)" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "Document उद्घाटयन्तु" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "Confirm Close इति" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "ट्याब्स् बन्दं कुर्वन्तु" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "भवान् %1 ट्याब्स् पिधातुं प्रवृत्तः अस्ति । किं भवन्तः निश्चयेन निरन्तरं कर्तुम् इच्छन्ति?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "यदा अहं बहुविधं ट्याब्स् पिधातुं प्रयतन्ते तदा मां चेतयन्तु" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "&प्रतिलिपि मार्ग" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "&Open Containing Folder" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "&एतत् द्रव्यं विस्मरन्तु" + +#: shell/welcomescreen.cpp:137 +#, kde-format +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "अद्यतनदस्तावेजाः नास्ति" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "ओकुलर इत्यत्र स्वागतम्" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "दस्तावेजं उद्घाटयतु..." + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, kde-format +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "अद्यतनदस्तावेजाः" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "सर्वं विस्मरतु" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "स्वागतपटलं गोपयन्तु" + +#~ msgid "Geometry with Comment" +#~ msgstr "टिप्पणी सहित ज्यामिति" + +#~ msgid "Geometry" +#~ msgstr "ज्यामिति" + +#~ msgctxt "Annotation type: contents" +#~ msgid "%1: %2" +#~ msgstr "%1: %2" + +#~ msgid "Modified: %1" +#~ msgstr "परिवर्तितं: %1" + +#~ msgid "Find..." +#~ msgstr "अन्वेषय..." + +#~ msgid "Go To Page..." +#~ msgstr "पृष्ठं प्रति गच्छतु..." + +#~ msgid "Play movie..." +#~ msgstr "चलचित्रं क्रीडतु..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "&Save As..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "&दृश्यं..." + +#~ msgid "&Sign..." +#~ msgstr "&चिह्नम्‌..." + +#~ msgid "Configure Viewer..." +#~ msgstr "दर्शकं विन्यस्तं कुर्वन्तु..." + +#~ msgid "Configure Viewer Backends..." +#~ msgstr "दर्शकपृष्ठभागं विन्यस्तं कुर्वन्तु..." + +#~ msgid "Configure Backends..." +#~ msgstr "Backends विन्यस्तं कुर्वन्तु..." + +#~ msgid "&Add..." +#~ msgstr "&संयोजयति..." + +#~ msgid "&Edit..." +#~ msgstr "&सम्पादन..." + +#~ msgctxt "%1 is a file path" +#~ msgid "" +#~ "Could not sign. Invalid certificate password or could not write to '%1'" +#~ msgstr "" +#~ "हस्ताक्षरं कर्तुं न शक्तवान्। अमान्यप्रमाणपत्रगुप्तशब्दः अथवा '%1' इत्यत्र लिखितुं न शक्तवान् " +#~ "।" + +#, fuzzy +#~| msgid "" +#~| "All your signing certificates are either not valid yet or are past their " +#~| "validity date." +#~ msgid "All your signing certificates are invalid" +#~ msgstr "" +#~ "भवतः सर्वाणि हस्ताक्षरप्रमाणपत्राणि अद्यापि वैधं न सन्ति वा वैधतातिथिं व्यतीतानि वा।" + +#~ msgid "Unsigned Signature %1" +#~ msgstr "अहस्ताक्षरितहस्ताक्षरम् %1" + +#, fuzzy +#~| msgctxt "Unknown author" +#~| msgid "Unknown" +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "अज्ञात" + +#, fuzzy +#~| msgid "Unsigned Signature %1" +#~ msgctxt "Signature type" +#~ msgid "Unsigned signature" +#~ msgstr "अहस्ताक्षरितहस्ताक्षरम् %1" + +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr "% ." + +#~ msgctxt "Spinbox prefix: Advance automatically: every n seconds" +#~ msgid "every " +#~ msgstr "प्रत्येकं " + +#~ msgctxt "Suffix for the pen width, eg '10 px'" +#~ msgid " px" +#~ msgstr " px" + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " % ." + +#, fuzzy +#~| msgctxt "%1 is a file path" +#~| msgid "" +#~| "Could not sign. Invalid certificate password or could not write to '%1'" +#~ msgctxt "%1 is a file path" +#~ msgid "Could not sign. Could not write to '%1'" +#~ msgstr "" +#~ "हस्ताक्षरं कर्तुं न शक्तवान्। अमान्यप्रमाणपत्रगुप्तशब्दः अथवा '%1' इत्यत्र लिखितुं न शक्तवान् " +#~ "।" + +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "% ." + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "फिट चौड़ाई" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "फिट पेज" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Auto Fit" +#~ msgstr "ऑटो फिट" diff --git a/po/sa/okular_comicbook.po b/po/sa/okular_comicbook.po new file mode 100644 index 0000000..d1cdfde --- /dev/null +++ b/po/sa/okular_comicbook.po @@ -0,0 +1,46 @@ +# Sanskrit translations for okular package. +# Copyright (C) 2024 This file is copyright: +# This file is distributed under the same license as the okular package. +# Kali , 2024. +# +# SPDX-FileCopyrightText: 2024 kali +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-12-24 20:39+0530\n" +"Last-Translator: kali \n" +"Language-Team: Sanskrit \n" +"Language: sa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n>2);\n" +"X-Generator: Lokalize 24.08.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "श्रीकान्त् कलवार्" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "skkalwar999@gmail.com" + +#: document.cpp:97 +#, kde-format +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "दस्तावेजं उद्घाटयितुं न शक्यते, न च unrar न च unarchiver प्राप्तम् ।" + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "भवतः प्रणाल्यां unrar इत्यस्य संस्करणं हास्यपुस्तकानां उद्घाटनाय उपयुक्तं नास्ति ।" + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "अज्ञात ComicBook प्रारूप।" diff --git a/po/sa/okular_djvu.po b/po/sa/okular_djvu.po new file mode 100644 index 0000000..74654c4 --- /dev/null +++ b/po/sa/okular_djvu.po @@ -0,0 +1,97 @@ +# Sanskrit translations for okular package. +# Copyright (C) 2024 This file is copyright: +# This file is distributed under the same license as the okular package. +# Kali , 2024. +# +# SPDX-FileCopyrightText: 2024 kali +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-12-24 20:39+0530\n" +"Last-Translator: kali \n" +"Language-Team: Sanskrit \n" +"Language: sa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n>2);\n" +"X-Generator: Lokalize 24.08.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "श्रीकान्त् कलवार्" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "skkalwar999@gmail.com" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "सम्पादक" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "प्रकाशक" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "मात्रा" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "दस्तावेजस्य प्रकारः" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "अज्ञात" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "घटकसञ्चिकाः" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "अज्ञात" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "एकल पृष्ठ" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "बण्डल्" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "परोक्ष" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "बण्डल् (पुराण)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "अनुक्रमित (पुराण)" diff --git a/po/sa/okular_dvi.po b/po/sa/okular_dvi.po new file mode 100644 index 0000000..904070d --- /dev/null +++ b/po/sa/okular_dvi.po @@ -0,0 +1,543 @@ +# Sanskrit translations for okular package. +# Copyright (C) 2024 This file is copyright: +# This file is distributed under the same license as the okular package. +# Kali , 2024. +# +# SPDX-FileCopyrightText: 2024 kali +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-12-24 20:39+0530\n" +"Last-Translator: kali \n" +"Language-Team: Sanskrit \n" +"Language: sa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n>2);\n" +"X-Generator: Lokalize 24.08.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "श्रीकान्त् कलवार्" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "skkalwar999@gmail.com" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

    Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

    Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

    " +msgstr "" +"

    Okular भवतः सङ्गणके dvipdfm इति कार्यक्रमं ज्ञातुं न शक्तवान् । " +"निर्यातकार्यस्य कार्यं कर्तुं एषः कार्यक्रमः अत्यावश्यकः अस्ति । भवान् तथापि Okular इत्यस्य " +"मुद्रणकार्यस्य उपयोगेन DVI-सञ्चिकां PDF मध्ये परिवर्तयितुं शक्नोति, परन्तु तत् प्रायः " +"दस्तावेजान् उत्पादयिष्यति ये ठीकरूपेण मुद्रयन्ति, परन्तु यदि Acrobat Reader मध्ये दृश्यन्ते " +"तर्हि तेषां गुणवत्ता न्यूना भवति भवतः TeX वितरणस्य अद्यतनतरसंस्करणं प्रति उन्नयनं बुद्धिमान् " +"भवितुम् अर्हति यस्मिन् dvipdfm कार्यक्रमः अपि अन्तर्भवति ।

    भ्रमितस्य " +"प्रणालीप्रशासकस्य संकेतः : Okular कार्यक्रमान् अन्विष्य PATH वातावरणचरस्य उपयोगं करोति ।" +"

    " + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"सञ्चिकायाः निर्यातार्थं प्रयुक्तः बाह्यप्रोग्रामः 'dvipdfm' इति त्रुटिं " +"निवेदितवान् । भवान् document info संवादं द्रष्टुम् इच्छति यत् भवान् " +"File-Menu मध्ये सटीकदोषप्रतिवेदनार्थं प्राप्स्यति ।" + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" +"इयं DVI सञ्चिका बाह्यचित्रसञ्चिकाः निर्दिशति ये PostScript प्रारूपेण न सन्ति, तथा च " +"dvips कार्यक्रमेन नियन्त्रितुं न शक्यन्ते यस्य Okular आन्तरिकरूपेण मुद्रणार्थं अथवा " +"PostScript मध्ये निर्यातयितुं उपयुङ्क्ते अतः भवद्भिः यत् कार्यक्षमता आवश्यकी तत् Okular " +"इत्यस्य अस्मिन् संस्करणे अनुपलब्धम् अस्ति ।" + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

    Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

    Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

    " +msgstr "" +"

    Okular भवतः सङ्गणके कार्यक्रमस्य dvips इति स्थानं ज्ञातुं न शक्तवान् । " +"निर्यातकार्यस्य कार्यं कर्तुं सः कार्यक्रमः अत्यावश्यकः अस्ति ।

    भ्रमितस्य " +"प्रणालीप्रशासकस्य संकेतः : Okular कार्यक्रमान् अन्विष्य PATH वातावरणचरस्य उपयोगं करोति ।" +"

    " + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"सञ्चिकायाः निर्यातार्थं प्रयुक्तः बाह्यः कार्यक्रमः 'dvips' इति त्रुटिं " +"निवेदितवान् । भवान् document info संवादं द्रष्टुम् इच्छति यत् भवान् " +"File-Menu मध्ये सटीकदोषप्रतिवेदनार्थं प्राप्स्यति ।" + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "DVI सञ्चिका प्रस्तावनातः न आरभ्यते ।" + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" +"DVI सञ्चिकायां अस्य कार्यक्रमस्य कृते DVI आउटपुट् इत्यस्य गलत् संस्करणं भवति । सङ्केतः : यदि " +"भवान् Omega इति टङ्कनसेटिंग् प्रणालीं उपयुङ्क्ते तर्हि भवान् oxdvi इत्यादिविशेषप्रोग्रामस्य " +"उपयोगं कर्तुं अर्हति ।" + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "DVI सञ्चिका दुर्गता अस्ति । ओकुलरः डाकपत्रं प्राप्तुं न शक्तवान् ।" + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "डाकपत्रं POST आदेशेन न आरभ्यते ।" + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "डाकपत्रे FNTDEF इत्यस्मात् परं आदेशः आसीत् ।" + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "पृष्ठं %1 BOP आदेशेन न आरभ्यते ।" + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

    The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

    What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

    PATH: %2

    " +msgstr "" +"

    बाह्यकार्यक्रमः pdf2ps आरभ्यतुं न शक्यते स्म । फलतः PDF-" +"सञ्चिका %1 PostScript मध्ये परिवर्तयितुं न शक्यते स्म । अतः भवतः दस्तावेजे केचन " +"चित्रात्मकतत्त्वानि न प्रदर्शितानि भविष्यन्ति ।

    सम्भाव्यकारणम् : भवतः " +"प्रणाल्यां pdf2ps इति कार्यक्रमः संस्थापितः न भवेत्, अथवा " +"वर्तमानसन्धानमार्गे न प्राप्यते ।

    भवान् किं कर्तुं शक्नोति: pdf2ps " +"इति कार्यक्रमः सामान्यतया ghostscript PostScript interpreter system " +"इत्यस्य वितरणेषु समाविष्टः भवति । यदि भवतः प्रणाल्यां ghostscript संस्थापितम् नास्ति " +"तर्हि भवान् इदानीं संस्थापयितुं शक्नोति । यदि भवान् निश्चयेन ghostscript संस्थापितम् अस्ति " +"तर्हि आदेशपङ्क्तौ pdf2ps इत्यस्य उपयोगं कृत्वा पश्यतु यत् एतत् वास्तवतः " +"कार्यं करोति वा इति ।

    पथः %2

    " + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

    The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

    %2

    " +msgstr "" +"

    PDF-सञ्चिका %1 PostScript मध्ये परिवर्तयितुं न शक्यते स्म । अतः भवतः दस्तावेजे " +"केचन चित्रात्मकतत्त्वानि न प्रदर्शितानि भविष्यन्ति ।

    सम्भाव्यकारणम् : %1 " +"सञ्चिका भग्नं भवेत्, अथवा सर्वथा PDF-सञ्चिका न भवेत् । एतत् pdf2ps " +"कार्यक्रमस्य आउटपुट् अस्ति यत् Okular इत्यनेन उपयुज्यते स्म:

    %2" + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "सञ्चिकाभ्रष्टता। %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "सर्वाणि PostScript सञ्चिकाः भवतः दस्तावेजे निवेशितुं न शक्यन्ते स्म । %1" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "सर्वाणि बाह्य PostScript सञ्चिकाः भवतः दस्तावेजे निहिताः आसन् ।" + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "निर्दिष्टा सञ्चिका '%1' नास्ति ।" + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" +"भवान् Okular इत्यनेन DVI सञ्चिकायां तत् स्थानं ज्ञातुं पृष्टवान् यत् TeX-सञ्चिकायां %2 मध्ये %1 " +"रेखायाः अनुरूपं भवति । तथापि इदं प्रतीयते यत् DVI सञ्चिकायां आवश्यकी स्रोतसञ्चिकासूचना " +"नास्ति । " + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" +"Okular DVI सञ्चिकायां तत् स्थानं ज्ञातुं न शक्तवान् यत् TeX-सञ्चिकायां %2 मध्ये %1 रेखायाः " +"अनुरूपं भवति ।" + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "DVI कोड् अज्ञातस्य फॉन्ट् इत्यस्य वर्णं सेट् करोति ।" + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "DVI कोडः #%1 इति फ़ॉन्ट् इत्यस्य उल्लेखं करोति स्म, यत् पूर्वं परिभाषितं नासीत् ।" + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "यदा EOP आदेशः सम्मुखीकृतः तदा स्तम्भः रिक्तः नासीत् ।" + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "यदा POP आदेशः सम्मुखीकृतः तदा स्तम्भः रिक्तः आसीत् ।" + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "DVI कोडः एकं फॉन्ट् निर्दिशति स्म यत् पूर्वं परिभाषितं नासीत् ।" + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "अवैध आदेशः सम्मुखीकृतः ।" + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "अज्ञातः op-code %1 सम्मुखीकृतः ।" + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "%1 एम्बेडिंग् करणम्" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
    " +msgstr "" +"पृष्ठं %1: PDF सञ्चिका %2 PostScript मध्ये परिवर्तयितुं न शक्यते स्म ।" +"
    " + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
    " +msgstr "पृष्ठं %1: PostScript सञ्चिका %2 न प्राप्ता ।
    " + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "कागदाकारस्य दत्तांशः '%1' विश्लेषणं कर्तुं न शक्यते स्म ।" + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

    Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

    PATH: %1

    %2

    " +msgstr "" +"

    Okular सर्वाणि font सञ्चिकाः अन्वेष्टुं न शक्तवान् ये वर्तमान DVI सञ्चिकां " +"प्रदर्शयितुं आवश्यकाः सन्ति । भवतः दस्तावेजः अपठनीयः भवितुम् अर्हति ।

    " +"पथः %1

    %2

    " + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

    There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
    Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

    PATH: %1

    %2

    " +msgstr "" +"

    kpsewhich चालने समस्याः आसन् . फलतः केचन फन्ट् सञ्चिकाः ज्ञातुं न " +"शक्तवन्तः, भवतः दस्तावेजः अपठनीयः भवितुम् अर्हति ।
    सम्भाव्यकारणम्: kpsewhich कार्यक्रमः सम्भवतः भवतः प्रणाल्यां न संस्थापितः, अथवा वर्तमान अन्वेषणमार्गे न प्राप्यते ।" +"

    पथः %1

    %2

    " + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" +"kpsewhich द्वारा फन्ट् जननम् निरस्तम् आसीत् (निर्गमसङ्केतः %1, त्रुटिः %2) " +"। फलतः केचन फन्ट् सञ्चिकाः ज्ञातुं न शक्तवन्तः, भवतः दस्तावेजः अपठनीयः भवितुम् अर्हति ।" + +#: fontpool.cpp:482 +#, fuzzy, kde-format +#| msgid "Currently generating %1 at %2 dpi..." +msgid "Currently generating %1 at %2 dpi…" +msgstr "सम्प्रति %2 dpi इत्यत्र %1 जनयति..." + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "जनरेटर/तिथि" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "फन्ट् सञ्चिका न प्राप्ता" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "%1 × %2" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "%1 × %2 मि.मी" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "%1 × %2 इञ्च्" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "चित्रम्" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "भूप्रदेश" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" +"अस्मिन् सङ्गणके यत् Ghostview इत्यस्य संस्करणं संस्थापितम् अस्ति तस्मिन् Okular इत्यनेन " +"ज्ञातानां Ghostview उपकरणचालकानाम् एकः अपि नास्ति । अतः Okular मध्ये PostScript " +"समर्थनं निष्क्रियं कृतम् अस्ति ।" + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "तेन २५ दोषाः भवन्ति । अग्रे त्रुटिसन्देशाः मुद्रिताः न भविष्यन्ति ।" + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" +"DVIfile '%1', पृष्ठे %2 इत्यत्र त्रुटिः । वर्ण-समूहः रिक्तः भवति चेत् वर्ण-पॉप् आदेशः " +"निर्गतः ।" + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" +"epsf विशेषादेशे विकृतः पैरामीटर् ।\n" +"%2 मध्ये %1 इत्यस्य अनुसरणं प्लवङ्गम् अपेक्षितम्" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"सञ्चिका न प्राप्ता: \n" +" %1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" +"DVIfile '%1', पृष्ठे %2 इत्यत्र त्रुटिः । पाठभ्रमणविशेषे कोणस्य व्याख्यां कर्तुं न शक्तवान् ।" + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "'%1' इति विशेषादेशः कार्यान्वितः नास्ति ।" + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" +"%1 इति फ़ॉन्ट् सञ्चिका उद्घाट्य पठितुं शक्यते स्म, परन्तु तस्य फ़ॉन्ट् प्रारूपं असमर्थितम् अस्ति ।" + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "%1 इति फ़ॉन्ट् सञ्चिका भग्नम् अस्ति, अथवा उद्घाटयितुं पठितुं वा न शक्तवती ।" + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" +"FreeType इत्यनेन %1 इति फ़ॉन्ट् सञ्चिकायाः वर्णस्य आकारं सेट् कुर्वन् त्रुटिः निवेदिता ।" + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "FreeType %2 फ़ॉन्ट् सञ्चिकातः glyph #%1 लोड् कर्तुं असमर्थः अस्ति ।" + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "FreeType %2 फ़ॉन्ट् सञ्चिकातः #%1 ग्लिफ् रेण्डर् कर्तुं असमर्थः अस्ति ।" + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "ग्लिफ् #%1 रिक्तम् अस्ति ।" + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "%2 फ़ॉन्ट् सञ्चिकातः #%1 ग्लिफ् रिक्तम् अस्ति ।" + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "FreeType %2 फ़ॉन्ट् सञ्चिकातः glyph #%1 कृते मेट्रिकं लोड् कर्तुं असमर्थः अस्ति ।" + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "%1 फ़ॉन्ट् सञ्चिका उद्घाटयितुं न शक्यते ।" + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "TexFont_PK::operator[]: %1 वर्णः %2 फ़ॉन्ट् मध्ये परिभाषितः नास्ति" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "PK सञ्चिकायां %2 अप्रत्याशितम् %1" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "%1 इति वर्णः %2 सञ्चिकायां अतिविशालः अस्ति" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "संगृहीतस्य बिट्-सङ्ख्यायाः गलता संख्या: char. %1, फॉन्ट %2" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "दुष्ट pk सञ्चिका (%1), अत्यधिकं बिट्" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "फॉन्ट् इत्यस्य अवर्ग-आस्पेक्ट् रेश्यो भवति " + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "%1 इति फ़ॉन्ट्, %2 सञ्चिकां न प्राप्यते ।" + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "%1 फ़ॉन्ट् सञ्चिकायाः कृते चेकसम-असङ्गतिः" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "%1 फ़ॉन्ट् सञ्चिकायाः प्रारूपं ज्ञातुं न शक्यते" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"घातकदोषः ।\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" +"\n" +"\n" +"सम्भवतः अस्य अर्थः अस्ति यत् भवता ओकुलर-नगरे दोषः प्राप्तः वा,\n" +"अथवा DVI सञ्चिका, अथवा सहायकसञ्चिकाः (यथा फ़ॉन्ट् सञ्चिकाः, \n" +"अथवा वर्चुअल् फन्ट् सञ्चिकाः) वास्तवतः दुष्टतया भग्नाः आसन् ।\n" +"ओकुलरः अस्य सन्देशस्य अनन्तरं गर्भपातं करिष्यति । यदि त्वं मन्यसे यत् त्वं \n" +"एकं दोषं प्राप्तवान्, अथवा ओकुलरः अस्मिन् परिस्थितौ उत्तमं व्यवहारं कर्तव्यम् इति\n" +"कृपया समस्यां सूचयन्तु।" + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "VF मैक्रो सूचीयां गलत् आदेशबाइट् प्राप्तम्: %1" diff --git a/po/sa/okular_epub.po b/po/sa/okular_epub.po new file mode 100644 index 0000000..b1f6ae8 --- /dev/null +++ b/po/sa/okular_epub.po @@ -0,0 +1,45 @@ +# Sanskrit translations for okular package. +# Copyright (C) 2024 This file is copyright: +# This file is distributed under the same license as the okular package. +# Kali , 2024. +# +# SPDX-FileCopyrightText: 2024 kali +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-12-24 20:39+0530\n" +"Last-Translator: kali \n" +"Language-Team: Sanskrit \n" +"Language: sa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n>2);\n" +"X-Generator: Lokalize 24.08.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "श्रीकान्त् कलवार्" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "skkalwar999@gmail.com" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "EPub दस्तावेजं उद्घाटयन् त्रुटिः।" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "ईपुब" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "EPub Backend विन्यासः" diff --git a/po/sa/okular_fax.po b/po/sa/okular_fax.po new file mode 100644 index 0000000..97a308b --- /dev/null +++ b/po/sa/okular_fax.po @@ -0,0 +1,35 @@ +# Sanskrit translations for okular package. +# Copyright (C) 2024 This file is copyright: +# This file is distributed under the same license as the okular package. +# Kali , 2024. +# +# SPDX-FileCopyrightText: 2024 kali +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-12-24 20:39+0530\n" +"Last-Translator: kali \n" +"Language-Team: Sanskrit \n" +"Language: sa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n>2);\n" +"X-Generator: Lokalize 24.08.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "श्रीकान्त् कलवार्" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "skkalwar999@gmail.com" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "दस्तावेजं लोड् कर्तुं असमर्थः" diff --git a/po/sa/okular_fictionbook.po b/po/sa/okular_fictionbook.po new file mode 100644 index 0000000..f245c5b --- /dev/null +++ b/po/sa/okular_fictionbook.po @@ -0,0 +1,70 @@ +# Sanskrit translations for okular package. +# Copyright (C) 2024 This file is copyright: +# This file is distributed under the same license as the okular package. +# Kali , 2024. +# +# SPDX-FileCopyrightText: 2024 kali +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-12-24 20:39+0530\n" +"Last-Translator: kali \n" +"Language-Team: Sanskrit \n" +"Language: sa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n>2);\n" +"X-Generator: Lokalize 24.08.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "श्रीकान्त् कलवार्" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "skkalwar999@gmail.com" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "दस्तावेजं वैधं FictionBook नास्ति" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "दस्तावेजं उद्घाटयितुं असमर्थः: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "दस्तावेजं वैधं ZIP संग्रहणं नास्ति" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "अमान्यदस्तावेजसंरचना (मुख्यनिर्देशिका अनुपलब्धा अस्ति)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "दस्तावेजे कोऽपि सामग्रीः न प्राप्यते" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "अमान्य XML दस्तावेजम्: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "कथापुस्तक" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "FictionBook पृष्ठभाग विन्यास" diff --git a/po/sa/okular_ghostview.po b/po/sa/okular_ghostview.po new file mode 100644 index 0000000..d6d18ec --- /dev/null +++ b/po/sa/okular_ghostview.po @@ -0,0 +1,78 @@ +# Sanskrit translations for okular package. +# Copyright (C) 2024 This file is copyright: +# This file is distributed under the same license as the okular package. +# Kali , 2024. +# +# SPDX-FileCopyrightText: 2024 kali +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-12-24 20:39+0530\n" +"Last-Translator: kali \n" +"Language-Team: Sanskrit \n" +"Language: sa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n>2);\n" +"X-Generator: Lokalize 24.08.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "श्रीकान्त् कलवार्" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "skkalwar999@gmail.com" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "Platform Fonts इत्यस्य उपयोगं कुर्वन्तु" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"Ghostscript इत्यस्य मञ्चस्य फ़ॉन्ट् इत्यस्य उपयोगः अनुमतः भवेत् वा इति निर्धारयति, यदि " +"मिथ्या केवलं दस्तावेजे निहितस्य फन्ट् इत्यस्य उपयोगः अनुमतः भविष्यति ।" + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "सामान्य सेटिंग्स्" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "&मञ्चस्य फ़ॉन्ट् इत्यस्य उपयोगं कुर्वन्तु" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "भूतस्क्रिप्ट्" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Ghostscript Backend विन्यासः" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "दस्तावेजसंस्करणम्" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "भाषा स्तर" diff --git a/po/sa/okular_kimgio.po b/po/sa/okular_kimgio.po new file mode 100644 index 0000000..7389c87 --- /dev/null +++ b/po/sa/okular_kimgio.po @@ -0,0 +1,42 @@ +# Sanskrit translations for okular package. +# Copyright (C) 2024 This file is copyright: +# This file is distributed under the same license as the okular package. +# Kali , 2024. +# +# SPDX-FileCopyrightText: 2024 kali +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-12-24 20:39+0530\n" +"Last-Translator: kali \n" +"Language-Team: Sanskrit \n" +"Language: sa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n>2);\n" +"X-Generator: Lokalize 24.08.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "श्रीकान्त् कलवार्" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "skkalwar999@gmail.com" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "दस्तावेजं लोड् कर्तुं असमर्थः: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "एतत् दस्तावेजं विकृतं दृश्यते । अत्र दस्तावेजस्य अभिप्रेतरूपस्य सर्वोत्तमः अनुमानः अस्ति ।" diff --git a/po/sa/okular_markdown.po b/po/sa/okular_markdown.po new file mode 100644 index 0000000..9e01b30 --- /dev/null +++ b/po/sa/okular_markdown.po @@ -0,0 +1,55 @@ +# Sanskrit translations for okular package. +# Copyright (C) 2024 This file is copyright: +# This file is distributed under the same license as the okular package. +# Kali , 2024. +# +# SPDX-FileCopyrightText: 2024 kali +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-12-24 20:39+0530\n" +"Last-Translator: kali \n" +"Language-Team: Sanskrit \n" +"Language: sa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n>2);\n" +"X-Generator: Lokalize 24.08.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "श्रीकान्त् कलवार्" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "skkalwar999@gmail.com" + +#: converter.cpp:59 converter.cpp:93 +#, kde-format +msgid "Failed to open the document" +msgstr "दस्तावेजं उद्घाटयितुं असफलम्" + +#: converter.cpp:106 converter.cpp:124 +#, kde-format +msgid "Failed to compile the Markdown document." +msgstr "Markdown दस्तावेजस्य संकलनं कर्तुं असफलम् ।" + +#: generator_md.cpp:58 +#, kde-format +msgid "Enable SmartyPants formatting" +msgstr "SmartyPants स्वरूपणं सक्षमं कुर्वन्तु" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown" +msgstr "मार्कडाउन" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown Backend Configuration" +msgstr "Markdown Backend विन्यासः" diff --git a/po/sa/okular_mobi.po b/po/sa/okular_mobi.po new file mode 100644 index 0000000..2f662aa --- /dev/null +++ b/po/sa/okular_mobi.po @@ -0,0 +1,51 @@ +# Sanskrit translations for okular package. +# Copyright (C) 2024 This file is copyright: +# This file is distributed under the same license as the okular package. +# Kali , 2024. +# +# SPDX-FileCopyrightText: 2024 kali +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-12-24 20:39+0530\n" +"Last-Translator: kali \n" +"Language-Team: Sanskrit \n" +"Language: sa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n>2);\n" +"X-Generator: Lokalize 24.08.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "श्रीकान्त् कलवार्" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "skkalwar999@gmail.com" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Mobipocket दस्तावेजं उद्घाटयन् त्रुटिः।" + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "एतत् पुस्तकं DRM द्वारा सुरक्षितं भवति, केवलं निर्दिष्टयन्त्रे एव प्रदर्शयितुं शक्यते" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "मोबिपॉकेट" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "Mobipocket Backend विन्यासः" diff --git a/po/sa/okular_poppler.po b/po/sa/okular_poppler.po new file mode 100644 index 0000000..285928e --- /dev/null +++ b/po/sa/okular_poppler.po @@ -0,0 +1,384 @@ +# Sanskrit translations for okular package. +# Copyright (C) 2024 This file is copyright: +# This file is distributed under the same license as the okular package. +# Kali , 2024. +# +# SPDX-FileCopyrightText: 2024 kali +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-12-24 20:39+0530\n" +"Last-Translator: kali \n" +"Language-Team: Sanskrit \n" +"Language: sa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n>2);\n" +"X-Generator: Lokalize 24.08.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "श्रीकान्त् कलवार्" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "skkalwar999@gmail.com" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, fuzzy, kde-format +#| msgid "Enable overprint preview" +msgid "Enable overprint preview:" +msgstr "अतिमुद्रणपूर्वावलोकनं सक्षमं कुर्वन्तु" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "पतली रेखाः वर्धयन्तु :" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "नहि" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "ठोस" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "आकारः" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "मुद्रणकाले पूर्वनिर्धारितं स्केलिंग् मोड्:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "मुद्रणयोग्यक्षेत्रे उपयुक्तम्" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "पूर्णपृष्ठं प्रति उपयुक्तम्" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "न कश्चित्; मूल आकार मुद्रित करें" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" +"एतत् विकल्पं सक्षमीकरणेन Okular तृतीयपक्षस्य OCSP सर्वरैः सह सम्पर्कं कर्तुं शक्नोति यत् " +"डिजिटलहस्ताक्षरार्थं प्रयुक्तानि प्रमाणपत्राणि तेषां निर्माणात् निरस्तं जातम् वा इति।" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "तृतीयपक्षसर्वरस्य उपयोगेन डिजिटलहस्ताक्षरप्रमाणपत्राणां निरसनस्य जाँचं कुर्वन्तु" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "हस्ताक्षरपृष्ठभागः :" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "प्रमाणपत्र दत्तांशकोश" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "मूलभूतम्‌:" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "आचारः:" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "उपलब्ध प्रमाणपत्रम्" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "&लोड हस्ताक्षर" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "PDF विकल्पाः" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "टिप्पणीं मुद्रयन्तु" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "मुद्रितदस्तावेजे एनोटेशन्स् समावेशयन्तु" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"मुद्रितदस्तावेजे टिप्पणीः समाविष्टाः सन्ति । यदि भवान् मूल-अनोटेटेड् दस्तावेजं मुद्रयितुम् इच्छति " +"तर्हि एतत् निष्क्रियं कर्तुं शक्नोति ।" + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "बल रास्टरीकरण" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "मुद्रणात् पूर्वं चित्रे रास्टरीकरणं कुर्वन्तु" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"प्रत्येकस्य पृष्ठस्य मुद्रणपूर्वं चित्रे रेस्टरीकरणं बाध्यते । एतेन प्रायः किञ्चित् दुष्टतरं परिणामं " +"प्राप्यते, परन्तु अशुद्धमुद्रणं दृश्यमानानां दस्तावेजानां मुद्रणकाले उपयोगी भवति ।" + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "मुद्रितपृष्ठानां कृते स्केलिंग् मोड्" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "स्केल मोडः :" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "पीडीएफ वि. %1.%2" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "प्रारूप" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "एन्क्रिप्टेड्" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "अगुप्तम्" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "सुरक्षा" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "आम्‌" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "अनुकूलितम्" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"हस्ताक्षरितः: %1\n" +"\n" +"तिथिः %2" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "Poppler %1 इत्यस्य उपयोगः" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" +"Poppler %1 इत्यस्य उपयोगः\n" +"\n" +"Poppler %2 इत्यस्य विरुद्धं निर्मितम्" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "PDF पृष्ठभागविन्यासः" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "दस्तावेजे केचन त्रुटयः प्राप्ताः, Okular सामग्रीं सम्यक् दर्शयितुं न शक्नोति स्यात्" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" + +#: pdfsettingswidget.cpp:120 +#, fuzzy, kde-format +#| msgid "&Load Signatures" +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "&लोड हस्ताक्षर" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "निर्गतम्" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "ई-मेल" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "समाप्ति तिथि" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" +"भवान् NSS समर्थनं विना निर्मितं Poppler पुस्तकालयं उपयुङ्क्ते ।\n" +"तदर्थं Digital Signatures योजयितुं उपलब्धं नास्ति" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "पुनः आरम्भस्य आवश्यकता अस्ति" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "NSS निर्देशिकासेटिंग्स् परिवर्त्य भवद्भिः Okular पुनः आरभ्यत इति आवश्यकम्" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter Password" +msgstr "Password इति प्रविष्टं कुर्वन्तु" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "%1 उद्घाटयितुं गुप्तशब्दं प्रविशन्तु:" diff --git a/po/sa/okular_tiff.po b/po/sa/okular_tiff.po new file mode 100644 index 0000000..6e680b5 --- /dev/null +++ b/po/sa/okular_tiff.po @@ -0,0 +1,30 @@ +# Sanskrit translations for okular package. +# Copyright (C) 2024 This file is copyright: +# This file is distributed under the same license as the okular package. +# Kali , 2024. +# +# SPDX-FileCopyrightText: 2024 kali +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-12-24 20:39+0530\n" +"Last-Translator: kali \n" +"Language-Team: Sanskrit \n" +"Language: sa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n>2);\n" +"X-Generator: Lokalize 24.08.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "श्रीकान्त् कलवार्" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "skkalwar999@gmail.com" diff --git a/po/sa/okular_txt.po b/po/sa/okular_txt.po new file mode 100644 index 0000000..7ce4699 --- /dev/null +++ b/po/sa/okular_txt.po @@ -0,0 +1,40 @@ +# Sanskrit translations for okular package. +# Copyright (C) 2024 This file is copyright: +# This file is distributed under the same license as the okular package. +# Kali , 2024. +# +# SPDX-FileCopyrightText: 2024 kali +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-12-24 20:39+0530\n" +"Last-Translator: kali \n" +"Language-Team: Sanskrit \n" +"Language: sa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n>2);\n" +"X-Generator: Lokalize 24.08.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "श्रीकान्त् कलवार्" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "skkalwar999@gmail.com" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "Txt" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "Txt Backend विन्यासः" diff --git a/po/sa/okular_xps.po b/po/sa/okular_xps.po new file mode 100644 index 0000000..ed1be49 --- /dev/null +++ b/po/sa/okular_xps.po @@ -0,0 +1,35 @@ +# Sanskrit translations for okular package. +# Copyright (C) 2024 This file is copyright: +# This file is distributed under the same license as the okular package. +# Kali , 2024. +# +# SPDX-FileCopyrightText: 2024 kali +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-12-24 20:39+0530\n" +"Last-Translator: kali \n" +"Language-Team: Sanskrit \n" +"Language: sa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n>2);\n" +"X-Generator: Lokalize 24.08.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "श्रीकान्त् कलवार्" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "skkalwar999@gmail.com" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "कार्यदर्शन" diff --git a/po/sa/org.kde.active.documentviewer.po b/po/sa/org.kde.active.documentviewer.po new file mode 100644 index 0000000..f6f407d --- /dev/null +++ b/po/sa/org.kde.active.documentviewer.po @@ -0,0 +1,212 @@ +# Sanskrit translations for okular package. +# Copyright (C) 2024 This file is copyright: +# This file is distributed under the same license as the okular package. +# Kali , 2024. +# +# SPDX-FileCopyrightText: 2024 kali +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-12-20 21:53+0530\n" +"Last-Translator: kali \n" +"Language-Team: Sanskrit \n" +"Language: sa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n>2);\n" +"X-Generator: Lokalize 24.08.2\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "बुकमार्क्स" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "प्रमाणपत्र दर्शक" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "Issued By" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "सामान्य नाम :" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "ईमेलः :" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "संघठनं:" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "निर्गतं To" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "वैधता" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "निर्गतम् On:" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "अवधिः समाप्तः On:" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "अङ्गुलिचिह्नानि" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "SHA-1 अङ्गुलिचिह्नः :" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "SHA-256 अङ्गुलिचिह्न :" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +msgid "Export…" +msgstr "निर्यात…" + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "पिधानं करोतु" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "प्रमाणपत्र सञ्चिका (*.cer) ." + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "त्रुटि" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "प्रमाणपत्रं निर्यातयितुं न शक्तवान्।" + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "नेत्रस्य" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "" + +#: ui/Main.qml:49 +msgid "About" +msgstr "विषये" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "गुप्तशब्दस्य आवश्यकता अस्ति" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "बुकमार्कं निष्कासयन्तु" + +#: ui/MainView.qml:29 +msgid "Bookmark this page" +msgstr "एतत् पृष्ठं बुकमार्कं कुर्वन्तु" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "लघुचित्रम्" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "विषयवस्तुसारणी" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "हस्ताक्षर" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "हस्ताक्षर गुण" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "वैधता स्थिति" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "हस्ताक्षर वैधता :" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "दस्तावेज परिवर्तनम् :" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "अतिरिक्त सूचना" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "हस्ताक्षरितम् :" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "हस्ताक्षरसमयः :" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "कारणम्‌:" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "स्थानीय:" + +#: ui/SignaturePropertiesPage.qml:96 +msgid "Document Version" +msgstr "दस्तावेज संस्करणम्" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "%2 इत्यस्य %1 दस्तावेजपुनरीक्षणम्" + +#: ui/SignaturePropertiesPage.qml:108 +msgid "Save Signed Version…" +msgstr "हस्ताक्षरितं संस्करणं रक्षतु…" + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +msgid "View Certificate…" +msgstr "प्रमाणपत्रं पश्यन्तु…" + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "हस्ताक्षरं रक्षितुं न शक्तवान्।" + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "न उपलब्धम्" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "न परिणामः प्राप्तः।" + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "कोऽपि दस्तावेजः उद्घाटितः नास्ति" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "" + +#: ui/WelcomeView.qml:108 +#, fuzzy +#| msgid "Document Version" +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "दस्तावेज संस्करणम्" + +#~ msgid "Open..." +#~ msgstr "उद्घाटित..." diff --git a/po/se/okular.po b/po/se/okular.po new file mode 100644 index 0000000..ff6f836 --- /dev/null +++ b/po/se/okular.po @@ -0,0 +1,5832 @@ +# Translation of okular to Northern Sami +# +# Børre Gaup , 2004. +msgid "" +msgstr "" +"Project-Id-Version: kpdf\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2004-12-10 10:29+0100\n" +"Last-Translator: Børre Gaup \n" +"Language-Team: Northern Sami \n" +"Language: se\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Børre Gaup" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "boerre@skolelinux.no" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "Ovdánahtti" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "" + +#: core/action.cpp:197 +#, kde-format +msgid "Execute '%1'…" +msgstr "" + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go To Page…" +msgstr "Mana siidui" + +#: core/action.cpp:365 +#, kde-format +msgid "Play sound…" +msgstr "" + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "" + +#: core/action.cpp:483 +#, kde-format +msgid "Play movie…" +msgstr "" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
    %1 (%2).

    Please select which one to use:
    " +msgstr "" + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "" + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "" + +#: core/document.cpp:246 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "" + +#: core/document.cpp:248 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "" + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "" + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "" + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "" + +#: core/document.cpp:6032 +#, kde-format +msgid "MIME Type" +msgstr "" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "" + +#: core/generator.cpp:790 +#, kde-format +msgid "Plain &Text…" +msgstr "" + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "" + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "" + +#: core/signatureutils.cpp:504 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" + +#: core/signatureutils.cpp:506 +#, kde-format +msgid "Unknown signing error" +msgstr "" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "" + +#: gui/certificatemodel.cpp:41 +#, kde-format +msgid "Serial Number" +msgstr "" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "" + +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "" + +#: gui/guiutils.cpp:56 +#, kde-format +msgid "Arrow with Comment" +msgstr "" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "Moanačiegahas" + +#: gui/guiutils.cpp:71 +#, kde-format +msgid "Rectangle with Comment" +msgstr "" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "" + +#: gui/guiutils.cpp:74 +#, kde-format +msgid "Ellipse with Comment" +msgstr "" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "" + +#: gui/guiutils.cpp:87 +#, kde-format +msgid "Squiggle with Comment" +msgstr "" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "" + +#: gui/guiutils.cpp:91 +#, kde-format +msgid "Underline with Comment" +msgstr "" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out with Comment" +msgstr "" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "" + +#: gui/guiutils.cpp:106 +#, kde-format +msgid "Freehand Line with Comment" +msgstr "" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "" + +#: gui/guiutils.cpp:144 +#, kde-format +msgid "Annotation" +msgstr "" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "" + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "" + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "" + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "" + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "" + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "" + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "" + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "" + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "" + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "" + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "" + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "" + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "" + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "" + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr "" + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "" + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "" + +#: gui/signatureguiutils.cpp:208 +#, kde-format +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "" + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "" + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "" + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" + +#: gui/signaturemodel.cpp:141 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "" + +#: gui/signaturemodel.cpp:177 +#, kde-format +msgid "Location: %1" +msgstr "" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "" + +#: gui/signaturemodel.cpp:193 +#, kde-format +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "" + +#: gui/signaturemodel.cpp:195 +#, kde-format +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "" + +#: gui/signaturemodel.cpp:201 +#, kde-format +msgid "Signature Type: %1" +msgstr "" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "" + +#: part/annotationactionhandler.cpp:151 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:308 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "" + +#: part/annotationactionhandler.cpp:314 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "" + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "" + +#: part/annotationactionhandler.cpp:318 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "" + +#: part/annotationactionhandler.cpp:322 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "" + +#: part/annotationactionhandler.cpp:328 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" + +#: part/annotationactionhandler.cpp:341 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "" + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "" + +#: part/annotationactionhandler.cpp:552 +#, kde-format +msgid "&Annotations" +msgstr "" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "" + +#: part/annotationactionhandler.cpp:554 +#, kde-format +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "" + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "" + +#: part/annotationactionhandler.cpp:651 +#, kde-format +msgid "Quick Annotation Bar" +msgstr "" + +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "" + +#: part/annotationactionhandler.cpp:681 +#, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "" + +#: part/annotationactionhandler.cpp:696 +#, kde-format +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "" + +#: part/annotationmodel.cpp:320 +#, kde-format +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "" + +#: part/annotationpopup.cpp:85 +#, kde-format +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "" +msgstr[1] "" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, kde-format +msgid "Copy Text to Clipboard" +msgstr "" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, kde-format +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, kde-format +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "Gurutbealde" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "Olgešbealde" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "" + +#: part/annotationwidgets.cpp:531 +#, kde-format +msgid "Leader line length:" +msgstr "" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "" + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "" + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "" + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "" + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "" + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +msgstr[1] "" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, kde-format +msgid "Search…" +msgstr "" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, kde-format +msgid "Expand All" +msgstr "" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, kde-format +msgid "Collapse All" +msgstr "" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "" + +#: part/certificateviewer.cpp:50 +#, kde-format +msgid "Export…" +msgstr "" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "" + +#: part/colormodemenu.cpp:21 +#, kde-format +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "" + +#: part/colormodemenu.cpp:41 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "" + +#: part/colormodemenu.cpp:42 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "Ruoksat" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "Ruoná" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "Alit" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "Fiskat" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "Čáhppat" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "Vielgat" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "" + +#: part/dlgaccessibility.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "" + +#: part/dlgaccessibility.cpp:87 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "" + +#: part/dlgaccessibility.cpp:99 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "" + +#: part/dlgannotations.cpp:25 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "" + +#: part/dlgannotations.cpp:26 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "" + +#: part/dlgannotations.cpp:28 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "" + +#: part/dlgannotations.cpp:34 +#, kde-format +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" + +#: part/dlgannotations.cpp:48 +#, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

    Quick Annotation Tools

    " +msgstr "" + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "" + +#: part/dlgeditor.cpp:31 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
    \n" +"You can also put few placeholders:\n" +"
      \n" +"
    • %f - the file name
    • \n" +"
    • %l - the line of the file to be reached
    • \n" +"
    • %c - the column of the file to be reached
    • \n" +"
    \n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "" + +#: part/dlggeneral.cpp:92 +#, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "" + +#: part/dlggeneral.cpp:148 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "" + +#: part/dlggeneral.cpp:220 +#, kde-format +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "" + +#: part/dlggeneral.cpp:228 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "" + +#: part/dlggeneral.cpp:233 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "" + +#: part/dlggeneral.cpp:234 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "Mana siidui" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "" + +#: part/dlgperformance.cpp:28 +#, kde-format +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "" + +#: part/dlgperformance.cpp:38 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "" + +#: part/dlgperformance.cpp:56 +#, kde-format +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" + +#: part/dlgpresentation.cpp:38 +#, kde-format +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] "" +msgstr[1] "" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "" + +#: part/dlgpresentation.cpp:63 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "" + +#: part/dlgpresentation.cpp:121 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

    Drawing Tools

    " +msgstr "" + +#: part/dlgpresentation.cpp:171 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "" + +#: part/dlgpresentation.cpp:172 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "" + +#: part/dlgpresentation.cpp:178 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "Sihkkun" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "&Namma:" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "Š&ládja:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "Ivdni:" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "" + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "" + +#: part/embeddedfilesdialog.cpp:154 +#, fuzzy, kde-format +#| msgid "Save As" +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "Vurke nugo" + +#: part/embeddedfilesdialog.cpp:155 +#, kde-format +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "" + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "Laiggahagat" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "" + +#: part/pageview.cpp:594 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "" + +#: part/pageview.cpp:595 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "" + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "Rulle ovtta siiddu bájas guvlui" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "Rulle ovtta linnjá vulos guvlui" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] "" +msgstr[1] "" + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "" +msgstr[1] "" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "" + +#: part/pageview.cpp:2863 +#, kde-format +msgid "Image (%1 × %2 pixels)" +msgstr "" + +#: part/pageview.cpp:2865 +#, kde-format +msgid "Save to File…" +msgstr "" + +#: part/pageview.cpp:2885 +#, kde-format +msgid "Image [%1 × %2] copied to clipboard." +msgstr "" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "" + +#: part/pageview.cpp:2901 +#, kde-format +msgid "Image [%1 × %2] saved to %3 file." +msgstr "" + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "" + +#: part/pageview.cpp:4107 +#, kde-format +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "" + +#: part/pageview.cpp:4404 +#, kde-format +msgid "Configure Web Shortcuts…" +msgstr "" + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "" + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "" + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "" + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" + +#: part/pageview.cpp:5188 +#, kde-format +msgid "No valid certificates" +msgstr "" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, kde-format +msgid "Open Certificate Manager" +msgstr "" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
    Launch Certificate Manager " +"to import or manage certificates
    For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, kde-format +msgid "No certificates found" +msgstr "" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
    For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name" +msgstr "" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name for the annotation:" +msgstr "" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Custom annotation name:" +msgstr "" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
    Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "Sirdá dokumeantta ovddit siidui" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "Sirdá dokumeantta boahtte siidui" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "" + +#: part/part.cpp:748 +#, kde-format +msgid "Configure Okular…" +msgstr "" + +#: part/part.cpp:751 +#, kde-format +msgid "Configure Viewer…" +msgstr "" + +#: part/part.cpp:757 +#, kde-format +msgid "Configure Viewer Backends…" +msgstr "" + +#: part/part.cpp:759 +#, kde-format +msgid "Configure Backends…" +msgstr "" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "" + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "" + +#: part/part.cpp:817 +#, kde-format +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "" + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "" + +#: part/part.cpp:945 +#, kde-format +msgid "&Import PostScript as PDF…" +msgstr "" + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "" + +#: part/part.cpp:962 +#, kde-format +msgid "Configure Annotations…" +msgstr "" + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" + +#: part/part.cpp:1123 +#, kde-format +msgid "Document can't be saved" +msgstr "" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "" + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "" + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "" + +#: part/part.cpp:1357 +#, kde-format +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "" + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "Fiila rievdaduvvui" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "Gidde dokumeantta" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" + +#: part/part.cpp:2113 part/part.cpp:2131 +#, kde-format +msgid "Reloading the document…" +msgstr "" + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Mana siidui" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "Vurke nugo" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
    In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "" + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "" + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "" + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "Váruhus" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "Joatkke" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" + +#: part/part.cpp:3158 +#, kde-format +msgid "Expand Whole Section" +msgstr "" + +#: part/part.cpp:3159 +#, kde-format +msgid "Collapse Whole Section" +msgstr "" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "Čálit" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "" + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "Juoge" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&Mana" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, kde-format +msgid "Quick Annotation Toolbar" +msgstr "" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "" + +#: part/propertiesdialog.cpp:145 +#, kde-format +msgid "Reading font information…" +msgstr "" + +#: part/propertiesdialog.cpp:158 +#, kde-format +msgid "&Page Sizes" +msgstr "" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "" + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "" + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, kde-format +msgid "Certificates" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, kde-format +msgid "Only QES certificates" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, kde-format +msgid "optional" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, kde-format +msgid "Background:" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, kde-format +msgid "Recent backgrounds:" +msgstr "" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

    No annotations

    To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
    " +msgstr "" + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "" + +#: part/signaturepartutils.cpp:180 +#, kde-format +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "" + +#: part/signaturepartutils.cpp:244 +#, kde-format +msgid "Enter document password" +msgstr "" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:95 +#, kde-format +msgid "View Certificate…" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:97 +#, kde-format +msgid "View in Certificate Manager" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, fuzzy, kde-format +#| msgid "&Edit..." +msgid "&Edit…" +msgstr "&Doaimmat …" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "&Váldde eret" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "Sirdde &bajás" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "Sirdde &vulos" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "" + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "" + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "" + +#: shell/welcomescreen.cpp:137 +#, kde-format +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, kde-format +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "" diff --git a/po/se/okular_djvu.po b/po/se/okular_djvu.po new file mode 100644 index 0000000..a7a7338 --- /dev/null +++ b/po/se/okular_djvu.po @@ -0,0 +1,97 @@ +# Translation of okular_djvu to Northern Sami +# +msgid "" +msgstr "" +"Project-Id-Version: okular_djvu\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2007-09-11 22:44+0200\n" +"Last-Translator: Northern Sami translation team \n" +"Language-Team: Northern Sami \n" +"Language: se\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "" diff --git a/po/se/okular_dvi.po b/po/se/okular_dvi.po new file mode 100644 index 0000000..a3bf059 --- /dev/null +++ b/po/se/okular_dvi.po @@ -0,0 +1,463 @@ +# Translation of okular_dvi to Northern Sami +# +msgid "" +msgstr "" +"Project-Id-Version: okular_dvi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2007-09-11 22:44+0200\n" +"Last-Translator: Northern Sami translation team \n" +"Language-Team: Northern Sami \n" +"Language: se\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

    Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

    Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

    " +msgstr "" + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

    Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

    Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

    " +msgstr "" + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "" + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "" + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "" + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "" + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "" + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

    The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

    What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

    PATH: %2

    " +msgstr "" + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

    The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

    %2

    " +msgstr "" + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "" + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "" + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "" + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "" + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "" + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "" + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "" + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "" + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "" + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
    " +msgstr "" + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
    " +msgstr "" + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "" + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

    Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

    PATH: %1

    %2

    " +msgstr "" + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

    There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
    Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

    PATH: %1

    %2

    " +msgstr "" + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" + +#: fontpool.cpp:482 +#, kde-format +msgid "Currently generating %1 at %2 dpi…" +msgstr "" + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "" + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "" + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "" + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "" + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "" + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "" + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "" + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "" + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "" + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "" + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "" + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "" diff --git a/po/se/okular_fictionbook.po b/po/se/okular_fictionbook.po new file mode 100644 index 0000000..6443657 --- /dev/null +++ b/po/se/okular_fictionbook.po @@ -0,0 +1,70 @@ +# Translation of okular_fictionbook to Northern Sami +# +msgid "" +msgstr "" +"Project-Id-Version: okular_fictionbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2007-09-11 22:44+0200\n" +"Last-Translator: Northern Sami translation team \n" +"Language-Team: Northern Sami \n" +"Language: se\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "" diff --git a/po/se/okular_ghostview.po b/po/se/okular_ghostview.po new file mode 100644 index 0000000..513730d --- /dev/null +++ b/po/se/okular_ghostview.po @@ -0,0 +1,76 @@ +# Translation of okular_ghostview to Northern Sami +# +msgid "" +msgstr "" +"Project-Id-Version: okular_ghostview\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2007-09-11 22:44+0200\n" +"Last-Translator: Northern Sami translation team \n" +"Language-Team: Northern Sami \n" +"Language: se\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "" diff --git a/po/se/okular_kimgio.po b/po/se/okular_kimgio.po new file mode 100644 index 0000000..f9e84ef --- /dev/null +++ b/po/se/okular_kimgio.po @@ -0,0 +1,42 @@ +# Translation of okular_kimgio to Northern Sami +# +msgid "" +msgstr "" +"Project-Id-Version: okular_kimgio\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2007-09-11 22:44+0200\n" +"Last-Translator: Northern Sami translation team \n" +"Language-Team: Northern Sami \n" +"Language: se\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" diff --git a/po/se/okular_poppler.po b/po/se/okular_poppler.po new file mode 100644 index 0000000..156f941 --- /dev/null +++ b/po/se/okular_poppler.po @@ -0,0 +1,368 @@ +# Translation of okular_poppler to Northern Sami +# +msgid "" +msgstr "" +"Project-Id-Version: okular_poppler\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2007-09-11 22:44+0200\n" +"Last-Translator: Northern Sami translation team \n" +"Language-Team: Northern Sami \n" +"Language: se\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "Hápmi" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter Password" +msgstr "" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "" diff --git a/po/se/okular_xps.po b/po/se/okular_xps.po new file mode 100644 index 0000000..7c88f82 --- /dev/null +++ b/po/se/okular_xps.po @@ -0,0 +1,35 @@ +# Translation of okular_xps to Northern Sami +# +msgid "" +msgstr "" +"Project-Id-Version: okular_xps\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2007-09-11 22:44+0200\n" +"Last-Translator: Northern Sami translation team \n" +"Language-Team: Northern Sami \n" +"Language: se\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "" diff --git a/po/si/okular.po b/po/si/okular.po new file mode 100644 index 0000000..edf6baa --- /dev/null +++ b/po/si/okular.po @@ -0,0 +1,6852 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Danishka Navin , 2011. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2011-08-18 18:18+0530\n" +"Last-Translator: Danishka Navin \n" +"Language-Team: Sinhala \n" +"Language: si\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 1.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Danishka Navin" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "danishka@gmail.com" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Okular, විශ්ව ලේඛන දසුනකි" + +#: aboutdata.h:23 +#, fuzzy, kde-format +#| msgid "" +#| "(C) 2002 Wilco Greven, Christophe Devriese\n" +#| "(C) 2004-2005 Enrico Ros\n" +#| "(C) 2005 Piotr Szymanski\n" +#| "(C) 2004-2009 Albert Astals Cid\n" +#| "(C) 2006-2009 Pino Toscano" +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2009 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "හිටපු පරිපාලක" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, fuzzy, kde-format +#| msgid "Lots of framework work, ODT and FictionBook backends" +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "බොහෝ රාමුක්‍රියා, ODT හා FictionBook පසු ඉම්" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, fuzzy, kde-format +#| msgid "KPDF developer" +msgid "Developer" +msgstr "KPDF සංවර්ධක" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymanski" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "KPDF කේත ගොනුවෙන් Okular නිපදවන ලදී" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "Enrico Ros" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "KPDF සංවර්ධක" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "Eugene Trounev" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "අනුසටහන් චිත්‍රණ" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "" + +#: aboutdata.h:37 +#, fuzzy, kde-format +#| msgid "&Text Selection Tool" +msgid "Table selection tool" +msgstr "පෙළ තෝරාගැනීම් මෙවලම (&T)" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "" + +#: aboutdata.h:38 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgid "Annotation improvements" +msgstr "අනුසටහන් වත්කම්" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "%1 පිටුවට යන්න" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "බාහිර ගොනුවක් විවෘත කරන්න" + +#: core/action.cpp:197 +#, fuzzy, kde-format +#| msgid "Execute '%1'..." +msgid "Execute '%1'…" +msgstr "'%1' ක්‍රියාත්මක කරන්න..." + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "ප්‍රථම පිටුව" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "පෙර පිටුව" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "ඊලඟ පිටුව" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "අවසන් පිටුව" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "ආපසු" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "ඉදිරියට" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "ඉවත්" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "ඉදිරිපත්කිරීම අරඹන්න" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "ඉදිරිපත්කිරීම අවසන් කරන්න" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go To Page…" +msgstr "පිටුවට යන්න" + +#: core/action.cpp:365 +#, fuzzy, kde-format +#| msgid "Play sound..." +msgid "Play sound…" +msgstr "ශබ්දය වාදනය කරන්න..." + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "ජාවාස්ක්‍රිප්ට් විධානාවලිය" + +#: core/action.cpp:483 +#, fuzzy, kde-format +#| msgid "Play movie..." +msgid "Play movie…" +msgstr "චිත්‍රපටය ධාවනය..." + +#: core/action.cpp:554 +#, fuzzy, kde-format +#| msgid "Play movie..." +msgid "Play movie" +msgstr "චිත්‍රපටය ධාවනය..." + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "" + +#: core/action.cpp:558 +#, fuzzy, kde-format +#| msgid "Play movie..." +msgid "Pause movie" +msgstr "චිත්‍රපටය ධාවනය..." + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "පසුඉම් තෝරාගැනීම" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
    %1 (%2).

    Please select which one to use:
    " +msgstr "" +"මයිම් වර්ගය සඳහා එකකට වඩා වැඩි පසුඉම් හමුවිය:
    %1 (%2).

    කරුණාකර භාවිතයට ගැනීමට එකක් තෝරන්න:
    " + +#: core/document.cpp:200 +#, fuzzy, kde-format +#| msgid "Go to page %1" +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "%1 පිටුවට යන්න" + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "" + +#: core/document.cpp:246 +#, fuzzy, kde-format +#| msgid "%1 x %2 in" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 x %2 in" + +#: core/document.cpp:248 +#, fuzzy, kde-format +#| msgid "%1 x %2 mm" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 x %2 mm" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "හුවමාරු වන ලේඛනය හැසිරවීමට සමත් ප්ලගිනයක් හමු නොවිනි." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "ඉදිරිපත්කිරීම" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"ලේඛනය බාහිර වැඩසටහනක් ක්‍රියාත්මක කරවීමට උත්සාහ දරයි, ඔබේ ආරක්‍ෂාව සඳහා, Okular විසින් එයට " +"ඉඩ නොදේ." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "mimetype %1 හි ගොනුවක් විවෘත කිරීම සඳහා කිසිඳු යෙදුමක් හමු නොවිනි." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "තාවකාලික ගොනුව විවෘත කල නොහැක" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "සංවාදය මුද්‍රණය අසාර්ථකයි" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "මුද්‍රණ ක්‍රියාවලිය බිඳ වැටිනි" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "මුද්‍රණ ක්‍රියාවලිය ඇරඹිය නොහැකිවිය" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "ගොනුවට මුද්‍රණය අසාර්ථකයි" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "මුද්‍රකය අවලංගු ප්‍රකාරයක පැවතිනි" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "මුද්‍රණය කල යුතු ගොනුව සොයාගත නොහැක" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "මුද්‍රණය සඳහා ගොනුවක් නොමැත" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "මුද්‍රණයක සඳහා සුදුසු ද්වීමයක් හමු නොවිනි. CUPS lpr ද්වීමය පවතින බව තහවුරු කරගන්න" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "'%1' පිටපත් කල නොහැක. ගොනුව නොපවතී" + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "මාතෘකාව" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "තේමාව" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "විස්තරය" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "කතෲ" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "නිර්මාපක" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "නිශ්පාදක" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "හිමිකම්" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "පිටු" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "නිර්මාණය කලේ" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "වෙනස් කලේ" + +#: core/document.cpp:6032 +#, fuzzy, kde-format +#| msgid "Mime Type" +msgid "MIME Type" +msgstr "මයිම් වර්ගය" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "ප්‍රවර්ගය" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "යතුරු වදන්" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "ගොනු මග" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "ගොනු ප්‍රමාණය" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "පිටු ප්‍රමාණය" + +#: core/documentcommands.cpp:62 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "අනු සටහන" + +#: core/documentcommands.cpp:108 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "ඉදිරිපත්කිරීම" + +#: core/documentcommands.cpp:155 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "අනුසටහන් වත්කම්" + +#: core/documentcommands.cpp:190 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Text Annotation" +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "පෙළ අනුසටහන්" + +#: core/documentcommands.cpp:263 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "අනු සටහන" + +#: core/documentcommands.cpp:333 +#, fuzzy, kde-format +#| msgid "Select text" +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "පෙළ තෝරන්න" + +#: core/documentcommands.cpp:398 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "අනුසටහන් වත්කම්" + +#: core/documentcommands.cpp:447 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "අනුසටහන් වත්කම්" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "" + +#: core/generator.cpp:790 +#, fuzzy, kde-format +#| msgid "Plain &Text..." +msgid "Plain &Text…" +msgstr "පැතලි පෙළ (&T)..." + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "විවෘතලේඛන පෙළ" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, fuzzy, kde-format +#| msgid "Editor Options" +msgid "Print Options" +msgstr "සකසන අභිප්‍රේත" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#: core/printoptionswidget.cpp:25 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgid "Scale mode:" +msgstr "වර්ණ ප්‍රකාරය:" + +#: core/script/js_app.cpp:206 +#, fuzzy, kde-format +#| msgid "Close this message" +msgid "Do not show this message again" +msgstr "මෙම පණිවුඩය වසන්න" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, fuzzy, kde-format +#| msgid "No description available." +msgid "Not Available" +msgstr "විස්තරයක් නොමැත." + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "" + +#: core/signatureutils.cpp:504 +#, fuzzy, kde-kuit-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "'%1' හි ගොනුව සුරැකිය නොහැක. වෙනත් ස්ථානකය සුරැකීමට උත්සාහ කරන්න." + +#: core/signatureutils.cpp:506 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown signing error" +msgstr "නොදන්නා ගොනුව" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "මූලය: %1" + +#: core/textdocumentsettings.cpp:34 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgid "&Default Font:" +msgstr "පෙරනිමි සංක්‍රාන්තිය:" + +#: gui/certificatemodel.cpp:39 +#, fuzzy, kde-format +#| msgctxt "A document format, Okular-specific" +#| msgid "Document Archive" +msgid "Version" +msgstr "ලේඛන සංරක්‍ෂනය" + +#: gui/certificatemodel.cpp:41 +#, fuzzy, kde-format +#| msgid "Page Size" +msgid "Serial Number" +msgstr "පිටු ප්‍රමාණය" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, fuzzy, kde-format +#| msgid "Expired" +msgid "Expires On" +msgstr "කල් ඉකුත් වූ" + +#: gui/certificatemodel.cpp:49 +#, fuzzy, kde-format +#| msgid "Subject" +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "තේමාව" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "" + +#: gui/certificatemodel.cpp:53 +#, fuzzy, kde-format +#| msgid "Memory Usage" +msgid "Key Usage" +msgstr "මතක භාවිතය" + +#: gui/certificatemodel.cpp:72 +#, fuzzy, kde-format +#| msgid "%1:" +msgid "V%1" +msgstr "%1:" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "" + +#: gui/certificatemodel.cpp:146 +#, fuzzy, kde-format +#| msgid "&Properties" +msgid "Property" +msgstr "වත්කම් (&P)" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, fuzzy, kde-format +#| msgid "&Open Pop-up Note" +msgid "Pop-up Note" +msgstr "පොප්-අප් සටහන් විවෘත කරන්න (&O)" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "රේඛීය සටහන" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +#| msgid "For Comment" +msgid "Arrow with Comment" +msgstr "ප්‍රතිචාරය සඳහා" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "" + +#: gui/guiutils.cpp:59 +#, fuzzy, kde-format +#| msgid "Line Properties" +msgid "Straight Line with Comment" +msgstr "පේළි වත්කම්" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, fuzzy, kde-format +#| msgid "Straight Yellow Line" +msgid "Straight Line" +msgstr "ඍජු කහ රේඛාව" + +#: gui/guiutils.cpp:63 +#, fuzzy, kde-format +#| msgid "For Comment" +msgid "Polygon with Comment" +msgstr "ප්‍රතිචාරය සඳහා" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, fuzzy, kde-format +#| msgid "Blue Polygon" +msgid "Polygon" +msgstr "නිල් බහුඅශ්‍රය" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgid "Strike out" +msgid "Rectangle with Comment" +msgstr "ඉරි" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "ත්‍රිකෝණය" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgid "Underline" +msgid "Ellipse with Comment" +msgstr "යටිඉර" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "ඉලිප්සය" + +#: gui/guiutils.cpp:83 +#, fuzzy, kde-format +#| msgid "Highlight" +msgid "Highlight with Comment" +msgstr "උපුටනය" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "උපුටනය" + +#: gui/guiutils.cpp:87 +#, fuzzy, kde-format +#| msgid "Squiggly" +msgid "Squiggle with Comment" +msgstr "දඟර රේඛීය" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, fuzzy, kde-format +#| msgid "Squiggly" +msgid "Squiggle" +msgstr "දඟර රේඛීය" + +#: gui/guiutils.cpp:91 +#, fuzzy, kde-format +#| msgid "Underline" +msgid "Underline with Comment" +msgstr "යටිඉර" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "යටිඉර" + +#: gui/guiutils.cpp:95 +#, fuzzy, kde-format +#| msgid "Strike out" +msgid "Strike Out with Comment" +msgstr "ඉරි" + +#: gui/guiutils.cpp:95 +#, fuzzy, kde-format +#| msgid "Strike out" +msgid "Strike Out" +msgstr "ඉරි" + +#: gui/guiutils.cpp:102 +#, fuzzy, kde-format +#| msgid "Strike out" +msgid "Stamp with Comment" +msgstr "ඉරි" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "මුද්‍රාව" + +#: gui/guiutils.cpp:106 +#, fuzzy, kde-format +#| msgid "Line Properties" +msgid "Freehand Line with Comment" +msgstr "පේළි වත්කම්" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, fuzzy, kde-format +#| msgid "Green Freehand Line" +msgid "Freehand Line" +msgstr "කොළ නිදහස් රේඛාව" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "කාකපාදය" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "ගොනු ඇමිණුම" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "ශබ්දය" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "චිත්‍රපටය" + +#: gui/guiutils.cpp:126 +#, fuzzy, kde-format +#| msgid "Screen:" +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "තිරය:" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation" +msgstr "අනු සටහන" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "නොදන්නා" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "කතෲ: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "ඔබට %1 සුරැකීමට ඇවැසි කොතැනද?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "ලිවීම සඳහා \"%1\" හමු නොවිනි. ගොනුව නොසුරැකේ." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "" + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "" + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "" + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "" + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "" + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "" + +#: gui/signatureguiutils.cpp:60 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Certificate is Trusted." +msgstr "දසුන සකසන්න..." + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "" + +#: gui/signatureguiutils.cpp:64 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Certificate issuer is unknown." +msgstr "දසුන සකසන්න..." + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "" + +#: gui/signatureguiutils.cpp:68 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Certificate has Expired." +msgstr "දසුන සකසන්න..." + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "" + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "" + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "" + +#: gui/signatureguiutils.cpp:96 +#, fuzzy, kde-format +#| msgid "Unknown font" +msgid "Unknown Algorithm" +msgstr "නොදන්නා අකුර" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown Type" +msgstr "නොදන්නා ගොනුව" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "" + +#: gui/signatureguiutils.cpp:135 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Sign Certificate" +msgstr "දසුන සකසන්න..." + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr "" + +#: gui/signatureguiutils.cpp:165 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "The document has not been modified since it was signed." +msgstr "මෙම ලේඛනය මුද්‍රණයට ඉඩ නොදේ." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "" + +#: gui/signatureguiutils.cpp:208 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "මෙම ලේඛනය මුද්‍රණයට ඉඩ නොදේ." + +#: gui/signatureguiutils.cpp:211 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "This document is digitally signed." +msgstr "මෙම ලේඛනය මුද්‍රණයට ඉඩ නොදේ." + +#: gui/signatureguiutils.cpp:213 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "මෙම ලේඛනය මුද්‍රණයට ඉඩ නොදේ." + +#: gui/signatureguiutils.cpp:216 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "මෙම ලේඛනය මුද්‍රණයට ඉඩ නොදේ." + +#: gui/signaturemodel.cpp:141 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "කාකපාද වත්කම්" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "" + +#: gui/signaturemodel.cpp:172 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgid "Reason: %1" +msgstr "පිටු: %1" + +#: gui/signaturemodel.cpp:177 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Location: %1" +msgstr "අනු සටහන" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "" + +#: gui/signaturemodel.cpp:193 +#, fuzzy, kde-format +#| msgctxt "Unknown author" +#| msgid "Unknown" +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "නොදන්නා" + +#: gui/signaturemodel.cpp:195 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "කාකපාද වත්කම්" + +#: gui/signaturemodel.cpp:201 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgid "Signature Type: %1" +msgstr "කාකපාද වත්කම්" + +#: part/annotationactionhandler.cpp:148 +#, fuzzy, kde-format +#| msgid "Reloa&d" +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "ප්‍රතිපූර්ණය (&d)" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "" + +#: part/annotationactionhandler.cpp:150 +#, fuzzy, kde-format +#| msgid "Allow" +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "ඉඩදෙන්න" + +#: part/annotationactionhandler.cpp:151 +#, fuzzy, kde-format +#| msgid "Screen:" +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "තිරය:" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "පළලට රිසි" + +#: part/annotationactionhandler.cpp:252 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1:" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:308 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "අනුසටහන් වත්කම්" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "" + +#: part/annotationactionhandler.cpp:314 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "අනු සටහන" + +#: part/annotationactionhandler.cpp:316 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "අනු සටහන" + +#: part/annotationactionhandler.cpp:318 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "අනු සටහන" + +#: part/annotationactionhandler.cpp:322 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "අනු සටහන" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "" + +#: part/annotationactionhandler.cpp:328 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "අනු සටහන" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" + +#: part/annotationactionhandler.cpp:341 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "අනුසටහන් වත්කම්" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "" + +#: part/annotationactionhandler.cpp:432 +#, fuzzy, kde-format +#| msgid "&Color:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "වර්ණය (&C):" + +#: part/annotationactionhandler.cpp:434 +#, fuzzy, kde-format +#| msgid "&Color:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "වර්ණය (&C):" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "" + +#: part/annotationactionhandler.cpp:499 +#, fuzzy, kde-format +#| msgid "&Selection Tool" +msgctxt "@title:window" +msgid "Select color" +msgstr "තෝරාගැනීම් මෙවලම (&S)" + +#: part/annotationactionhandler.cpp:552 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "&Annotations" +msgstr "අනු සටහන" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "" + +#: part/annotationactionhandler.cpp:554 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "ඉදිරිපත්කිරීම" + +#: part/annotationactionhandler.cpp:557 +#, fuzzy, kde-format +#| msgid "Highlight" +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "උපුටනය" + +#: part/annotationactionhandler.cpp:558 +#, fuzzy, kde-format +#| msgid "Underline" +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "යටිඉර" + +#: part/annotationactionhandler.cpp:559 +#, fuzzy, kde-format +#| msgid "Squiggly" +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "දඟර රේඛීය" + +#: part/annotationactionhandler.cpp:560 +#, fuzzy, kde-format +#| msgid "Strike out" +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "ඉරි" + +#: part/annotationactionhandler.cpp:562 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "කාකපාද වත්කම්" + +#: part/annotationactionhandler.cpp:563 +#, fuzzy, kde-format +#| msgid "Inline Note" +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "රේඛීය සටහන" + +#: part/annotationactionhandler.cpp:564 +#, fuzzy, kde-format +#| msgid "&Open Pop-up Note" +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "පොප්-අප් සටහන් විවෘත කරන්න (&O)" + +#: part/annotationactionhandler.cpp:565 +#, fuzzy, kde-format +#| msgid "Green Freehand Line" +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "කොළ නිදහස් රේඛාව" + +#: part/annotationactionhandler.cpp:567 +#, fuzzy, kde-format +#| msgid "Straight Yellow Line" +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "ඍජු කහ රේඛාව" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "" + +#: part/annotationactionhandler.cpp:569 +#, fuzzy, kde-format +#| msgid "Rectangle" +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "ත්‍රිකෝණය" + +#: part/annotationactionhandler.cpp:570 +#, fuzzy, kde-format +#| msgid "Ellipse" +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "ඉලිප්සය" + +#: part/annotationactionhandler.cpp:571 +#, fuzzy, kde-format +#| msgid "Blue Polygon" +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "නිල් බහුඅශ්‍රය" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "" + +#: part/annotationactionhandler.cpp:618 +#, fuzzy, kde-format +#| msgid "Stamp" +msgctxt "@action" +msgid "Stamp" +msgstr "මුද්‍රාව" + +#: part/annotationactionhandler.cpp:638 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "අනු සටහන" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "" + +#: part/annotationactionhandler.cpp:651 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Quick Annotation Bar" +msgstr "අනු සටහන" + +#: part/annotationactionhandler.cpp:665 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "අනු සටහන" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "" + +#: part/annotationactionhandler.cpp:669 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "ඉදිරිපත්කිරීම" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "" + +#: part/annotationactionhandler.cpp:680 +#, fuzzy, kde-format +#| msgid "Font:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "අකුර:" + +#: part/annotationactionhandler.cpp:681 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "අනුසටහන් වත්කම්" + +#: part/annotationactionhandler.cpp:684 +#, fuzzy, kde-format +#| msgid "Line" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "පේළිය" + +#: part/annotationactionhandler.cpp:693 +#, fuzzy, kde-format +#| msgid "&Opacity:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "පාරාන්ධතාව (&O):" + +#: part/annotationactionhandler.cpp:696 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1:" + +#: part/annotationmodel.cpp:320 +#, fuzzy, kde-format +#| msgid "Page %1" +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "%1 පිටුව" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "%1 පිටුව" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "අනු සටහන" +msgstr[1] "%1 අනුසටහන්" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "පොප්-අප් සටහන් විවෘත කරන්න (&O)" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "පිටුසලකුණ ඉවත් කරන්න" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "පිටුසලකුණ එක් කරන්න" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Text to Clipboard" +msgstr "ක්ලිප් පුවරුවට පිටපත් කරන්න" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "DRM මගින් පිටපත් කිරිම තහනම් කර ඇත" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "මකන්න (&D)" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "වත්කම් (&P)" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, fuzzy, kde-format +#| msgctxt "%1 is the name of the file to save" +#| msgid "&Save '%1'..." +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "'%1' සුරකින්න (&S)..." + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "පෙනුම (&A)" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "සාමාන්‍ය (&G)" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "කතෲ (&A):" + +#: part/annotationpropertiesdialog.cpp:69 +#, fuzzy, kde-format +#| msgid "Created" +msgid "Created:" +msgstr "නිර්මාණය කලේ" + +#: part/annotationpropertiesdialog.cpp:74 +#, fuzzy, kde-format +#| msgid "Modified" +msgid "Modified:" +msgstr "වෙනස් කලේ" + +#: part/annotationpropertiesdialog.cpp:108 +#, fuzzy, kde-format +#| msgid "Note Properties" +msgid "Pop-up Note Properties" +msgstr "සටහන් වත්කම්" + +#: part/annotationpropertiesdialog.cpp:111 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgid "Typewriter Properties" +msgstr "කාකපාද වත්කම්" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "රේඛීය සටහන් වත්කම්" + +#: part/annotationpropertiesdialog.cpp:119 +#, fuzzy, kde-format +#| msgid "Line Properties" +msgid "Straight Line Properties" +msgstr "පේළි වත්කම්" + +#: part/annotationpropertiesdialog.cpp:121 +#, fuzzy, kde-format +#| msgid "Sound Properties" +msgid "Polygon Properties" +msgstr "ශබ්ද වත්කම්" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "ජ්‍යාමිතික වත්කම්" + +#: part/annotationpropertiesdialog.cpp:128 +#, fuzzy, kde-format +#| msgid "Stamp Properties" +msgid "Text Markup Properties" +msgstr "මුද්‍රා වත්කම්" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "මුද්‍රා වත්කම්" + +#: part/annotationpropertiesdialog.cpp:134 +#, fuzzy, kde-format +#| msgid "Line Properties" +msgid "Freehand Line Properties" +msgstr "පේළි වත්කම්" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "කාකපාද වත්කම්" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "ගොනු ඇමිණුම් වත්කම්" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "ශබ්ද වත්කම්" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "චිත්‍රපට වත්කම්" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "අනුසටහන් වත්කම්" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Put a stamp symbol" +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "මුද්‍රා සංකේතයක් යොදන්න" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "වර්ණය (&C):" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%1:" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "පාරාන්ධතාව (&O):" + +#: part/annotationwidgets.cpp:363 +#, fuzzy, kde-format +#| msgid "Icon" +msgid "Icon:" +msgstr "අයිකනය" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "ප්‍රතිචාරය" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "සහාය" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "ඇතුළත්" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "යතුර" + +#: part/annotationwidgets.cpp:368 +#, fuzzy, kde-format +#| msgid "New Paragraph" +msgid "New paragraph" +msgstr "නව පරිඡ්චේදය" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "සටහන" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "පරිඡ්චේදය" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "අකුර:" + +#: part/annotationwidgets.cpp:387 +#, fuzzy, kde-format +#| msgid "&Color:" +msgid "Text &color:" +msgstr "වර්ණය (&C):" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "" + +#: part/annotationwidgets.cpp:395 +#, fuzzy, kde-format +#| msgctxt "Rotate left" +#| msgid "Left" +msgid "Left" +msgstr "වම" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "" + +#: part/annotationwidgets.cpp:397 +#, fuzzy, kde-format +#| msgctxt "Rotate right" +#| msgid "Right" +msgid "Right" +msgstr "දකුණ" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "අවසර ලත්" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "එලෙසම" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "රහස්‍ය " + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "මාණ්ඩලීය" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "කෙටුම්පත්" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "පරීක්‍ෂනාත්මක" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "කල් ඉකුත් වූ" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "අවසන්" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "ප්‍රතිචාරය සඳහා" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "පොදු නිකුතුව සඳහා" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "අවසර නොලත්" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "පොදු නිකුතුව සඳහා නොවේ" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "විකිණූ" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "අතිශය රහසිගත" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "පිටුසලකුණ" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "තොරතුරු" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, fuzzy, kde-format +#| msgid "Stamp Symbol" +msgid "Stamp symbol:" +msgstr "මුද්‍රා සංකේතය" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgid "&Width:" +msgstr "පළලට රිසි" + +#: part/annotationwidgets.cpp:504 +#, fuzzy, kde-format +#| msgid "Line" +msgid "Line start:" +msgstr "පේළිය" + +#: part/annotationwidgets.cpp:506 +#, fuzzy, kde-format +#| msgid "Line" +msgid "Line end:" +msgstr "පේළිය" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:514 +#, fuzzy, kde-format +#| msgctxt "Symbol for caret annotations" +#| msgid "None" +msgid "None" +msgstr "නොමැත" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "" + +#: part/annotationwidgets.cpp:531 +#, fuzzy, kde-format +#| msgid "Leader Line Length:" +msgid "Leader line length:" +msgstr "ප්‍රධාන පේළි දිග:" + +#: part/annotationwidgets.cpp:533 +#, fuzzy, kde-format +#| msgid "Leader Line Extensions Length:" +msgid "Leader line extensions length:" +msgstr "ප්‍රධාන පේළි දිගු දිග:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Shape fill:" +msgstr "ගොනුවට සුරකින්න..." + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "වර්ගය:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "ඉරි" + +#: part/annotationwidgets.cpp:745 +#, fuzzy, kde-format +#| msgid "File Attachment Symbol" +msgid "File attachment symbol:" +msgstr "ගොනු ඇමිණුම් සංඛේතය" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "ප්‍රස්ථාරය" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "එබීම් දැත්ත" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "කොල ක්ලිපය" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "ටැගය" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "ගොනුව" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "නැත" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "විස්තරයක් නොමැත." + +#: part/annotationwidgets.cpp:773 +#, fuzzy, kde-format +#| msgid "Name" +msgid "Name:" +msgstr "නම" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "විස්තරය:" + +#: part/annotationwidgets.cpp:843 +#, fuzzy, kde-format +#| msgid "Caret Symbol" +msgid "Caret symbol:" +msgstr "කාකපාද ලකුණ" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "නොමැත" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "මෙම සටහන වසන්න" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "අභිප්‍රේත" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "" + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "" + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "" + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "" + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"එක් පිටුසලකුණක්" +msgstr[1] "" +"%1\n" +"\n" +"පිටුසලකුණු %2" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "පිටු සලකුණු" + +#: part/bookmarklist.cpp:136 +#, fuzzy, kde-format +#| msgid "End of the document" +msgid "Show for all documents" +msgstr "ලේඛනයේ අවසානය" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, fuzzy, kde-format +#| msgid "S&earch:" +msgid "Search…" +msgstr "සෙචුම (&e):" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, kde-format +msgid "Expand All" +msgstr "" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, kde-format +msgid "Collapse All" +msgstr "" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "මෙම පිටුසලකුණට යන්න" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "පිටුසලකුණ ප්‍රතිනම් කරන්න" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "ලේඛනය විවෘත කරන්න" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "" + +#: part/certificateviewer.cpp:47 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Certificate Viewer" +msgstr "දසුන සකසන්න..." + +#: part/certificateviewer.cpp:50 +#, fuzzy, kde-format +#| msgid "E&xport As" +msgid "Export…" +msgstr "ලෙස අපනයනය (&x)" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "සාමාන්‍ය" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "" + +#: part/certificateviewer.cpp:159 +#, fuzzy, kde-format +#| msgid "Where do you want to save %1?" +msgid "Where do you want to save this certificate?" +msgstr "ඔබට %1 සුරැකීමට ඇවැසි කොතැනද?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "" + +#: part/colormodemenu.cpp:19 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "වර්ණ ප්‍රකාරය:" + +#: part/colormodemenu.cpp:21 +#, fuzzy, kde-format +#| msgid "Change &colors" +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "වර්ණ වෙනස් කරන්න (&c)" + +#: part/colormodemenu.cpp:29 +#, fuzzy, kde-format +#| msgid "Normal Icons" +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "සාමාන්‍ය අයිකන" + +#: part/colormodemenu.cpp:41 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "නොපිට වර්ණ" + +#: part/colormodemenu.cpp:42 +#, fuzzy, kde-format +#| msgid "Change Paper Color" +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "පිටු වර්ණය වෙනස් කරන්න" + +#: part/colormodemenu.cpp:44 +#, fuzzy, kde-format +#| msgid "Change Dark & Light Colors" +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "තද හා මෘදෘ වර්ණ වෙනස් කරන්න" + +#: part/colormodemenu.cpp:46 +#, fuzzy, kde-format +#| msgid "Convert to Black & White" +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "කළු සුදු බවට හරවන්න" + +#: part/colormodemenu.cpp:49 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "නොපිට වර්ණ" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, fuzzy, kde-format +#| msgid "Reloa&d" +msgid "Red" +msgstr "ප්‍රතිපූර්ණය (&d)" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, fuzzy, kde-format +#| msgid "Screen:" +msgid "Green" +msgstr "තිරය:" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, fuzzy, kde-format +#| msgid "Allow" +msgid "Yellow" +msgstr "ඉඩදෙන්න" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "කහ උපුටනය" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, fuzzy, kde-format +#| msgid "Highlight" +msgid "Green Highlighter" +msgstr "උපුටනය" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, fuzzy, kde-format +#| msgid "Insert" +msgid "Insert Text" +msgstr "ඇතුළත්" + +#: part/dlgaccessibility.cpp:38 +#, fuzzy, kde-format +#| msgid "Draw border around &Links" +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "සබැඳි වටා රාමුවක් අඳින්න (&L)" + +#: part/dlgaccessibility.cpp:48 +#, fuzzy, kde-format +#| msgid "Change &colors" +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "වර්ණ වෙනස් කරන්න (&c)" + +#: part/dlgaccessibility.cpp:54 +#, fuzzy, kde-format +#| msgid "Warning: these options can badly affect drawing speed." +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "අවවාදයයි: මෙම අභිප්‍රේත ඇඳීම් වේගයට දැඩි ලෙස බලපෑ හැක." + +#: part/dlgaccessibility.cpp:60 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "නොපිට වර්ණ" + +#: part/dlgaccessibility.cpp:61 +#, fuzzy, kde-format +#| msgid "Change Paper Color" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "පිටු වර්ණය වෙනස් කරන්න" + +#: part/dlgaccessibility.cpp:62 +#, fuzzy, kde-format +#| msgid "Change Dark & Light Colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "තද හා මෘදෘ වර්ණ වෙනස් කරන්න" + +#: part/dlgaccessibility.cpp:63 +#, fuzzy, kde-format +#| msgid "Convert to Black & White" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "කළු සුදු බවට හරවන්න" + +#: part/dlgaccessibility.cpp:64 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "නොපිට වර්ණ" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "" + +#: part/dlgaccessibility.cpp:70 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "වර්ණ ප්‍රකාරය:" + +#: part/dlgaccessibility.cpp:87 +#, fuzzy, kde-format +#| msgid "Paper color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "පිටු වර්ණය:" + +#: part/dlgaccessibility.cpp:99 +#, fuzzy, kde-format +#| msgid "Dark color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "තද වර්ණය:" + +#: part/dlgaccessibility.cpp:104 +#, fuzzy, kde-format +#| msgid "Light color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "මෘදු වර්ණය:" + +#: part/dlgaccessibility.cpp:119 +#, fuzzy, kde-format +#| msgid "Threshold:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "පර්යන්තය:" + +#: part/dlgaccessibility.cpp:127 +#, fuzzy, kde-format +#| msgid "Contrast:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "දීප්ති වෙනස:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "" + +#: part/dlgaccessibility.cpp:165 +#, fuzzy, kde-format +#| msgid "Text to search for" +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "සෙවීමට පෙළ" + +#: part/dlgannotations.cpp:25 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "අනු සටහන" + +#: part/dlgannotations.cpp:26 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "අනු සටහන" + +#: part/dlgannotations.cpp:28 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "අනු සටහන" + +#: part/dlgannotations.cpp:34 +#, fuzzy, kde-format +#| msgid "&Author:" +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "කතෲ (&A):" + +#: part/dlgannotations.cpp:38 +#, fuzzy, kde-format +#| msgid "" +#| "Note: the information here is used only for comments and reviews. " +#| "Information inserted here will not be transmitted without your knowledge." +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"සටහන: මෙහි ඇති තොරතුරු යොදාගනුයේ ප්‍රතිචාර සහ විමසුම් සඳහා පමණි. මෙහි ඇතුළත් වන " +"තොරතුරු ඔබේ අනුදැනුමකින් තොරව විකාශනය නොවේ." + +#: part/dlgannotations.cpp:48 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

    Quick Annotation Tools

    " +msgstr "අනුසටහන් වත්කම්" + +#: part/dlgeditor.cpp:28 +#, fuzzy, kde-format +#| msgctxt "@info:whatsthis" +#| msgid "" +#| "Choose the editor you want to launch when Okular wants to open a source " +#| "file." +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "Okular හට මූල ගොනුවක් විවෘත කිරීමට ඇවැසි විට යොදාගන්නා සකසනය තෝරාගන්න." + +#: part/dlgeditor.cpp:29 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Custom Text Editor" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "රුචි පෙළ සකසනය" + +#: part/dlgeditor.cpp:30 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Kate" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Kile" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "SciTE" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Emacs client" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Emacs සේවාලාභී" + +#: part/dlgeditor.cpp:34 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Lyx client" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "Lyx සේවාලාභී" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "" + +#: part/dlgeditor.cpp:37 +#, fuzzy, kde-format +#| msgid "Editor:" +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "සකසනය:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
    \n" +"You can also put few placeholders:\n" +"
      \n" +"
    • %f - the file name
    • \n" +"
    • %l - the line of the file to be reached
    • \n" +"
    • %c - the column of the file to be reached
    • \n" +"
    \n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"දියත් කිරීමට ඇවැසි රුචි පෙල සකසන විධානය සකසන්න.
    \n" +"ඔබට ස්ථාන ධාරක කිහිපයක්ද යෙදිය හැක:\n" +"
      \n" +"
    • %f - ගොනු නම
    • \n" +"
    • %l - ලඟාවන ගොනුවේ පේළිය
    • \n" +"
    • %c - ලඟාවන ගොනුවේ තීරුව
    • \n" +"
    \n" +"%f යොදා නොමැති නම්, දෙනලද විධානයට ගොනු නම මඟහැරේ." + +#: part/dlgeditor.cpp:63 +#, fuzzy, kde-format +#| msgid "Command:" +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "විධානය:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "" + +#: part/dlggeneral.cpp:37 +#, fuzzy, kde-format +#| msgid "Appearance" +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "පෙනුම" + +#: part/dlggeneral.cpp:41 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "ස්ක්‍රෝල් තීරු පෙන්වන්න (&b)" + +#: part/dlggeneral.cpp:48 +#, fuzzy, kde-format +#| msgid "Link the &thumbnails with the page" +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "පිටුව සමඟ කුඩා රූ සබඳ කරන්න (&t)" + +#: part/dlggeneral.cpp:55 +#, fuzzy, kde-format +#| msgid "Show &hints and info messages" +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "තොරතුරු හා ඉඟි පණිවුඩ පෙන්වන්න (&h)" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "" + +#: part/dlggeneral.cpp:68 +#, fuzzy, kde-format +#| msgid "Display document title in title bar" +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "ලේඛනයේ මාතෘකාව මාතෘකා තිරුවේ පෙන්වන්න" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "" + +#: part/dlggeneral.cpp:77 +#, fuzzy, kde-format +#| msgid "Display document title in title bar" +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "ලේඛනයේ මාතෘකාව මාතෘකා තිරුවේ පෙන්වන්න" + +#: part/dlggeneral.cpp:92 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "පසුබිම් වර්ණය:" + +#: part/dlggeneral.cpp:114 +#, fuzzy, kde-format +#| msgid "Program Features" +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "වැඩසටහන් විශේෂාංග" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "" + +#: part/dlggeneral.cpp:139 +#, fuzzy, kde-format +#| msgid "&Obey DRM limitations" +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "DRM සීමාවන්ට ගරු කරන්න (&O)" + +#: part/dlggeneral.cpp:148 +#, fuzzy, kde-format +#| msgid "&Reload document on file change" +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "ගොනු වෙනස්වීමකදී ලේඛනය ප්‍රතිපූර්ණය කරන්න (&R)" + +#: part/dlggeneral.cpp:155 +#, fuzzy, kde-format +#| msgid "Show backend selection dialog" +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "පසු ඉම් තෝරාගැනීම් සංවාදය පෙන්වන්න" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, fuzzy, kde-format +#| msgid "Overview columns:" +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "මුළු දැකීම් තීරු:" + +#: part/dlggeneral.cpp:220 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%1:" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "" + +#: part/dlggeneral.cpp:228 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%1:" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "" + +#: part/dlggeneral.cpp:233 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "පළලට රිසි" + +#: part/dlggeneral.cpp:234 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "පිටුවට රිසි" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" + +#: part/dlggeneral.cpp:241 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "පෙරනිමි සංක්‍රාන්තිය:" + +#: part/dlgperformance.cpp:26 +#, fuzzy, kde-format +#| msgid "Enable &transparency effects" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "පාරදෘශ්‍ය සැරසුම් සක්‍රීය (&t)" + +#: part/dlgperformance.cpp:28 +#, fuzzy, kde-format +#| msgid "CPU Usage" +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "CPU භාවිතය" + +#: part/dlgperformance.cpp:35 +#, fuzzy, kde-format +#| msgid "&Low" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "අඩු (&L)" + +#: part/dlgperformance.cpp:36 +#, fuzzy, kde-format +#| msgid "&Normal (default)" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "සාමාන්‍ය (&N) (පෙරනිමි)" + +#: part/dlgperformance.cpp:37 +#, fuzzy, kde-format +#| msgid "&Aggressive" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "චණ්ඩ (&A)" + +#: part/dlgperformance.cpp:38 +#, fuzzy, kde-format +#| msgid "Screen:" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "තිරය:" + +#: part/dlgperformance.cpp:40 +#, fuzzy, kde-format +#| msgid "Memory Usage" +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "මතක භාවිතය" + +#: part/dlgperformance.cpp:54 +#, fuzzy, kde-format +#| msgid "Enable transitions" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "සංක්‍රාන්ති සක්‍රීය" + +#: part/dlgperformance.cpp:56 +#, fuzzy, kde-format +#| msgid "Underline" +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "යටිඉර" + +#: part/dlgperformance.cpp:59 +#, fuzzy, kde-format +#| msgid "Enable transitions" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "සංක්‍රාන්ති සක්‍රීය" + +#: part/dlgperformance.cpp:64 +#, fuzzy, kde-format +#| msgid "Enable transitions" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "සංක්‍රාන්ති සක්‍රීය" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"භාවිත මතකය හැකිතාක් අවමව පවත්වාගෙන යන්න. කිසිවක් නැවත භාවිත නොකරන්න. (අඩු මතකයක් සහිත " +"පද්ධති සඳහා.)" + +#: part/dlgperformance.cpp:80 +#, fuzzy, kde-format +#| msgid "" +#| "A good compromise between memory usage and speed gain. Preload next page " +#| "and boost searches. (For systems with 256MB of memory, typically.)" +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"මතක භාවිතය හා වේගයේ හොඳ එකතුවක්. ඊලඟ පිටුව පෙර පූර්ණය හා සෙවුම් වේගවත් කීරීම (සාමාන්‍යෙන්, " +"මෙගාබයිට 256 මතකයකින් යුතු පද්ධති සඳහා.)" + +#: part/dlgperformance.cpp:83 +#, fuzzy, kde-format +#| msgid "" +#| "Keeps everything in memory. Preload next pages. Boost searches. (For " +#| "systems with more than 512MB of memory.)" +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"සෑමදෙයම මතකයේ තබාගනී, ඊලඟ පිටු පෙර පූර්ණය කරයි. සෙවුම් වේගවත් කරයි (මෙගාබයිට 512කට වඩා " +"වැඩි මතකයක් ඇති පද්ධති සඳහා.)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" + +#: part/dlgpresentation.cpp:38 +#, fuzzy, kde-format +#| msgctxt "Advance every %1 seconds" +#| msgid " second" +#| msgid_plural " seconds" +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] " තත්පරය" +msgstr[1] " තත්පර" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "" + +#: part/dlgpresentation.cpp:53 +#, fuzzy, kde-format +#| msgid "Loop after last page" +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "අවසන් පිටුවෙන් පසු ලූප කරන්න" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "" + +#: part/dlgpresentation.cpp:63 +#, fuzzy, kde-format +#| msgid "Navigation" +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "ගවේශනය" + +#: part/dlgpresentation.cpp:72 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "පසුබිම් වර්ණය:" + +#: part/dlgpresentation.cpp:76 +#, fuzzy, kde-format +#| msgid "Hidden After Delay" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "පමාවකින් පසු සඟවන්න" + +#: part/dlgpresentation.cpp:77 +#, fuzzy, kde-format +#| msgid "Always Visible" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "සැමවිටම පෙන්වන" + +#: part/dlgpresentation.cpp:78 +#, fuzzy, kde-format +#| msgid "Always Hidden" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "සැමවිටම සැඟවූ" + +#: part/dlgpresentation.cpp:80 +#, fuzzy, kde-format +#| msgid "Mouse cursor:" +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "මවුස කර්සරය:" + +#: part/dlgpresentation.cpp:84 +#, fuzzy, kde-format +#| msgid "Show &progress indicator" +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "ප්‍රගති දර්ශකය පෙන්වන්න (&p)" + +#: part/dlgpresentation.cpp:90 +#, fuzzy, kde-format +#| msgid "Show s&ummary page" +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "සංක්‍ෂිප්ත පිටුව පෙන්වන්න (&u)" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "" + +#: part/dlgpresentation.cpp:101 +#, fuzzy, kde-format +#| msgid "Replace" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "ප්‍රතිපිහිටුවන" + +#: part/dlgpresentation.cpp:102 +#, fuzzy, kde-format +#| msgid "Random Transition" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "අහඹු සංක්‍රාන්තිය" + +#: part/dlgpresentation.cpp:103 +#, fuzzy, kde-format +#| msgid "Blinds Vertical" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "සිරස්ව මැකේ" + +#: part/dlgpresentation.cpp:104 +#, fuzzy, kde-format +#| msgid "Blinds Horizontal" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "තිරස්ව මැකේ" + +#: part/dlgpresentation.cpp:105 +#, fuzzy, kde-format +#| msgid "Box In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "කොටුව ඇතුලට" + +#: part/dlgpresentation.cpp:106 +#, fuzzy, kde-format +#| msgid "Box Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "කොටුව පිටතට" + +#: part/dlgpresentation.cpp:107 +#, fuzzy, kde-format +#| msgid "Dissolve" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "දියවෙයි" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "" + +#: part/dlgpresentation.cpp:109 +#, fuzzy, kde-format +#| msgid "Glitter Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "පහළට දීප්තිය" + +#: part/dlgpresentation.cpp:110 +#, fuzzy, kde-format +#| msgid "Glitter Right" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "දකුණට දීප්තිය" + +#: part/dlgpresentation.cpp:111 +#, fuzzy, kde-format +#| msgid "Glitter Right-Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "දකුණු-පහළට දීප්තිය" + +#: part/dlgpresentation.cpp:112 +#, fuzzy, kde-format +#| msgid "Split Horizontal In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "ඇතුළට තිරස්ව බෙදන්න" + +#: part/dlgpresentation.cpp:113 +#, fuzzy, kde-format +#| msgid "Split Horizontal Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "පිටතට තිරස්ව බෙදන්න" + +#: part/dlgpresentation.cpp:114 +#, fuzzy, kde-format +#| msgid "Split Vertical In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "ඇතුළට සිරස්ව බෙදන්න" + +#: part/dlgpresentation.cpp:115 +#, fuzzy, kde-format +#| msgid "Split Vertical Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "පිටතට සිරස්ව බෙදන්න" + +#: part/dlgpresentation.cpp:116 +#, fuzzy, kde-format +#| msgid "Wipe Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "පහළට පිසදැමීම" + +#: part/dlgpresentation.cpp:117 +#, fuzzy, kde-format +#| msgid "Wipe Right" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "දකුණට පිසදැමීම" + +#: part/dlgpresentation.cpp:118 +#, fuzzy, kde-format +#| msgid "Wipe Left" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "වමට පිසදැමීම" + +#: part/dlgpresentation.cpp:119 +#, fuzzy, kde-format +#| msgid "Wipe Up" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "ඉහළට පිසදැමීම" + +#: part/dlgpresentation.cpp:121 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "පෙරනිමි සංක්‍රාන්තිය:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

    Drawing Tools

    " +msgstr "" + +#: part/dlgpresentation.cpp:171 +#, fuzzy, kde-format +#| msgctxt "@label:listbox The current screen, for the presentation mode" +#| msgid "Current Screen" +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "වත්මන් තිරය" + +#: part/dlgpresentation.cpp:172 +#, fuzzy, kde-format +#| msgctxt "@label:listbox The default screen for the presentation mode" +#| msgid "Default Screen" +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "පෙරනිමි තිරය" + +#: part/dlgpresentation.cpp:178 +#, fuzzy, kde-format +#| msgctxt "@label:listbox %1 is the screen number (0, 1, ...)" +#| msgid "Screen %1" +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "තිරය %1" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, fuzzy, kde-format +#| msgid "Erase Drawings" +msgid "Eraser" +msgstr "ඇඳීම මකන්න" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, fuzzy, kde-format +#| msgid "Name" +msgid "&Name:" +msgstr "නම" + +#: part/editannottooldialog.cpp:69 +#, fuzzy, kde-format +#| msgid "Type:" +msgid "&Type:" +msgstr "වර්ගය:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "පෙනුම" + +#: part/editannottooldialog.cpp:93 +#, fuzzy, kde-format +#| msgid "Next Bookmark" +msgid "Text markup" +msgstr "ඊලඟ පිටුසලකුණ" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "" + +#: part/editannottooldialog.cpp:101 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Create annotation tool" +msgstr "ඉදිරිපත්කිරීම" + +#: part/editannottooldialog.cpp:103 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgid "Edit annotation tool" +msgstr "අනුසටහන් වත්කම්" + +#: part/editdrawingtooldialog.cpp:51 +#, fuzzy, kde-format +#| msgid "&Color:" +msgid "Color:" +msgstr "වර්ණය (&C):" + +#: part/editdrawingtooldialog.cpp:58 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgid "&Pen Width:" +msgstr "පළලට රිසි" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "" + +#: part/editdrawingtooldialog.cpp:79 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Create drawing tool" +msgstr "ඉදිරිපත්කිරීම" + +#: part/editdrawingtooldialog.cpp:84 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgid "Edit drawing tool" +msgstr "අනුසටහන් වත්කම්" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "නොදන්නා" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "තිළැලි ගොනු" + +#: part/embeddedfilesdialog.cpp:62 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:button" +msgid "View" +msgstr "දසුන (&V)" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "නම" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "විස්තරය" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "ප්‍රමාණය" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "නිර්මාණය කල" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "වෙනස් කල" + +#: part/embeddedfilesdialog.cpp:154 +#, fuzzy, kde-format +#| msgctxt "@action:inmenu" +#| msgid "&Save As..." +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "ලෙස සුරකින්න (&S)..." + +#: part/embeddedfilesdialog.cpp:155 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "දසුන (&V)" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "මුද්‍රක පෙරදැකීම් කොටස පූර්ණය කල නොහැක" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "මුද්‍රක පෙරදැක්ම" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "වසන්න" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "සොයන්න (&i):" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "සෙවීමට පෙළ" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "ඊලඟ" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "ඊලඟ ගැලපුමට යන්න" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "පෙර" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "පෙර ගැලපුමට යන්න" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "සෙවුම් හැසිරීම වෙනස් කරන්න" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "අක්‍ෂර සංවේදී" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "වත්මන් පිටුවේ සිට" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "" + +#: part/formwidgets.cpp:870 +#, fuzzy, kde-format +#| msgid "*|All Files" +msgid "All Files (*)" +msgstr "*|සියළු ගොනු" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgid "Signature Properties" +msgstr "කාකපාද වත්කම්" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "සෙවුම් අභිප්‍රේත" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "අක්‍ෂර සංවේදී" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "සාමාන්‍ය ප්‍රකාශන" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "ගේ" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "විශාල" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "දකුණට භ්‍රමණය (&R)" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "දකුණ" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "වමට භ්‍රමණය (&L)" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "වම" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "මුල් දිශානති" + +#: part/pageview.cpp:546 +#, fuzzy, kde-format +#| msgid "&View" +msgid "&Trim View" +msgstr "දසුන (&V)" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "සීමා කප්පාදු (&T)" + +#: part/pageview.cpp:557 +#, fuzzy, kde-format +#| msgctxt "Text Selection Tool" +#| msgid "Text Selection" +msgid "Trim To &Selection" +msgstr "පෙළ තෝරාගැනීම" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "පළලට රිසි (&W)" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "පිටුවට රිසි (&P)" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "" + +#: part/pageview.cpp:575 +#, fuzzy, kde-format +#| msgid "Fit &Page" +msgid "Fit Wi&ndow to Page" +msgstr "පිටුවට රිසි (&P)" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "දසුන් ප්‍රකාරය (&V)" + +#: part/pageview.cpp:594 +#, fuzzy, kde-format +#| msgid "Single Page" +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "තනි පිටුව" + +#: part/pageview.cpp:595 +#, fuzzy, kde-format +#| msgid "Facing Pages" +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "මුහුණදෙන පිටු" + +#: part/pageview.cpp:596 +#, fuzzy, kde-format +#| msgid "Facing Pages (Center First Page)" +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "මුහුණලූ පිටු (මධ්‍ය ප්‍රථම පිටුව)" + +#: part/pageview.cpp:599 +#, fuzzy, kde-format +#| msgid "Overview" +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "මුළු දැක්ම" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "ඉදිරියට යන (&C)" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "" + +#: part/pageview.cpp:627 +#, fuzzy, kde-format +#| msgctxt "Browse Tool" +#| msgid "Browse" +msgid "&Browse" +msgstr "ගවේශනය" + +#: part/pageview.cpp:635 +#, fuzzy, kde-format +#| msgid "Zoom" +msgid "&Zoom" +msgstr "විශාල" + +#: part/pageview.cpp:655 +#, fuzzy, kde-format +#| msgctxt "Text Selection Tool" +#| msgid "Text Selection" +msgid "Area &Selection" +msgstr "පෙළ තෝරාගැනීම" + +#: part/pageview.cpp:662 +#, fuzzy, kde-format +#| msgctxt "Text Selection Tool" +#| msgid "Text Selection" +msgid "&Text Selection" +msgstr "පෙළ තෝරාගැනීම" + +#: part/pageview.cpp:669 +#, fuzzy, kde-format +#| msgctxt "Text Selection Tool" +#| msgid "Text Selection" +msgid "T&able Selection" +msgstr "පෙළ තෝරාගැනීම" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "" + +#: part/pageview.cpp:685 +#, fuzzy, kde-format +#| msgid "Selection Tools" +msgctxt "@action" +msgid "Selection Tools" +msgstr "තෝරාගැනීමේ මෙවලම්" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "මුළු ලේඛනයම කියවන්න" + +#: part/pageview.cpp:722 +#, fuzzy, kde-format +#| msgid "Speak Current Page" +msgid "Speak From Current Page" +msgstr "වත්මන් පිටුව කියවන්න" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "වත්මන් පිටුව කියවන්න" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "කියවීම නවතන්න" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "ඉහලට ස්ක්‍රෝල්" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "පහළට ස්ක්‍රෝල්" + +#: part/pageview.cpp:761 +#, fuzzy, kde-format +#| msgid "Scroll Up" +msgid "Scroll Page Up" +msgstr "ඉහලට ස්ක්‍රෝල්" + +#: part/pageview.cpp:767 +#, fuzzy, kde-format +#| msgid "Scroll Down" +msgid "Scroll Page Down" +msgstr "පහළට ස්ක්‍රෝල්" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "ෆෝරම පෙන්වන්න" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] "පූර්ණය කල එක්-පිටු ලේඛනය." +msgstr[1] "පූර්ණය කල %1-පිටු ලේඛනය." + +#: part/pageview.cpp:2526 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Table Contents to Clipboard" +msgstr "ක්ලිප් පුවරුවට පිටපත් කරන්න" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "පෙළ (අකුරු 1)" +msgstr[1] "පෙළ (අකුරු %1)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "ක්ලිප් පුවරුවට පිටපත් කරන්න" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "පෙළ කියවන්න" + +#: part/pageview.cpp:2863 +#, fuzzy, kde-format +#| msgid "Image (%1 by %2 pixels)" +msgid "Image (%1 × %2 pixels)" +msgstr "පිළිඹිබුව (%2 න් %1 පික්සෙල)" + +#: part/pageview.cpp:2865 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save to File…" +msgstr "ගොනුවට සුරකින්න..." + +#: part/pageview.cpp:2885 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] copied to clipboard." +msgid "Image [%1 × %2] copied to clipboard." +msgstr "[%1x%2] පිළිබිඹුව ක්ලිප් පුවරුවට පිටපත් විය." + +#: part/pageview.cpp:2888 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save file" +msgstr "ගොනුවට සුරකින්න..." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "ගොනුව නොසුරැකිනි." + +#: part/pageview.cpp:2901 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] saved to %3 file." +msgid "Image [%1 × %2] saved to %3 file." +msgstr "[%1x%2] පිළිබිඹුව %3 ගොනුවට සුරැකිනි." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "පෙළ පිටපත්" + +#: part/pageview.cpp:3062 +#, fuzzy, kde-format +#| msgid "Go to page %1" +msgid "Go to '%1'" +msgstr "%1 පිටුවට යන්න" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "පළලට රිසි" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "පිටුවට රිසි" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "" + +#: part/pageview.cpp:4107 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1:" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "සමඟ '%1' සඳහා සොයන්න" + +#: part/pageview.cpp:4404 +#, fuzzy, kde-format +#| msgid "Configure Web Shortcuts..." +msgid "Configure Web Shortcuts…" +msgstr "ජාල කෙටිමං සකසන්න..." + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "මෙම සබැඳිය හඹායන්න" + +#: part/pageview.cpp:4433 +#, fuzzy, kde-format +#| msgid "Play sound..." +msgid "Play this Sound" +msgstr "ශබ්දය වාදනය කරන්න..." + +#: part/pageview.cpp:4435 +#, fuzzy, kde-format +#| msgid "Sound" +msgid "Stop Sound" +msgstr "ශබ්දය" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "සබැඳි ලිපිනය පිටපත් කරන්න" + +#: part/pageview.cpp:4462 +#, fuzzy, kde-format +#| msgid "Search for '%1' with" +msgid "Search for '%1' in this document" +msgstr "සමඟ '%1' සඳහා සොයන්න" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "ආයුබෝවන්" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "විශාලන ප්‍රදේශය තෝරන්න. කුඩා කිරීමට දකුණු ක්ලික්." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "" + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "පිටපත් කරන පෙළ/චිත්‍රණ වටා ත්‍රිකෝණයක් අඳින්න." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "පෙළ තෝරන්න" + +#: part/pageview.cpp:5172 +#, fuzzy, kde-format +#| msgid "Draw a rectangle around the text/graphics to copy." +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "පිටපත් කරන පෙළ/චිත්‍රණ වටා ත්‍රිකෝණයක් අඳින්න." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" + +#: part/pageview.cpp:5188 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "No valid certificates" +msgstr "දසුන සකසන්න..." + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Open Certificate Manager" +msgstr "දසුන සකසන්න..." + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
    Launch Certificate Manager " +"to import or manage certificates
    For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "No certificates found" +msgstr "දසුන සකසන්න..." + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
    For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "" + +#: part/pageview.cpp:5405 +#, fuzzy, kde-format +#| msgid "Draw a rectangle around the text/graphics to copy." +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "පිටපත් කරන පෙළ/චිත්‍රණ වටා ත්‍රිකෝණයක් අඳින්න." + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "නව පෙළ සටහන" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "නව සටහනට පෙළ:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgid "Author" +msgid "Author name" +msgstr "කතෲ" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Author name for the annotation:" +msgstr "අනු සටහන" + +#: part/pageviewannotator.cpp:1390 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Inline Text Annotation (drag to select a zone)" +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "රේඛීය පෙළ අනුසටහන් (කලාපය තෝරාගැනීමට අදින්න)" + +#: part/pageviewannotator.cpp:1392 +#, fuzzy, kde-format +#| msgid "Highlight" +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "උපුටනය" + +#: part/pageviewannotator.cpp:1394 +#, fuzzy, kde-format +#| msgid "Green Freehand Line" +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "කොළ නිදහස් රේඛාව" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "රේඛීය පෙළ අනුසටහන් (කලාපය තෝරාගැනීමට අදින්න)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "බහුඅශ්‍රයක් අඳින්න (එය අවසන් කිරීමට ප්‍රථම ලක්‍ෂයේ ක්ලික් කරන්න)" + +#: part/pageviewannotator.cpp:1402 +#, fuzzy, kde-format +#| msgid "Rectangle" +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "ත්‍රිකෝණය" + +#: part/pageviewannotator.cpp:1404 +#, fuzzy, kde-format +#| msgid "Squiggly" +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "දඟර රේඛීය" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "මුද්‍රා සංකේතයක් යොදන්න" + +#: part/pageviewannotator.cpp:1408 +#, fuzzy, kde-format +#| msgid "Straight Yellow Line" +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "ඍජු කහ රේඛාව" + +#: part/pageviewannotator.cpp:1410 +#, fuzzy, kde-format +#| msgid "Strike out" +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "ඉරි" + +#: part/pageviewannotator.cpp:1412 +#, fuzzy, kde-format +#| msgid "Underline" +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "යටිඉර" + +#: part/pageviewannotator.cpp:1414 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Inline Text Annotation (drag to select a zone)" +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "රේඛීය පෙළ අනුසටහන් (කලාපය තෝරාගැනීමට අදින්න)" + +#: part/pageviewannotator.cpp:1473 +#, fuzzy, kde-format +#| msgid "Highlight" +msgid "Highlighter" +msgstr "උපුටනය" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Add favorite annotation" +msgstr "අනු සටහන" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Custom annotation name:" +msgstr "අනු සටහන" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "ගොනුව (&F)" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "සැකසුම් (&S)" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "සහාය (&H)" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "ස්ථානගතවීම (&O)" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "පිටුසලකුණු (&B)" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, fuzzy, kde-format +#| msgid "Main Toolbar" +msgid "Viewer Toolbar" +msgstr "ප්‍රධාන මෙවලම් තිරුව" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "කුඩා රූ" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotations" +msgstr "අනු සටහන" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
    Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"මෙම ලේඛනය සතුව තිළැලි ගොනු පවතී. ඒවා බැලීමට මෙහි " +"ක්ලික් කරන්න හෝ ගොනුව -> තිළැලි ගොනු වෙත යන්න." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "පෙර" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "ආපසු පෙර පිටුවට යන්න" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "ලේඛනයේ පෙර පිටුවට යයි" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "ඊලඟ" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "ඊලඟ පිටුව වෙත ඉදිරියට" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "ලේඛනයේ ඊලඟ පිටුවට යයි" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "ලේඛනයේ ආරම්භය" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "ලේඛනයේ ආරම්භයට ගෙනයයි" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "ලේඛනයේ අවසානය" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "ලේඛනයේ අවසානයට ගෙනයයි" + +#: part/part.cpp:707 +#, fuzzy, kde-format +#| msgid "Reload the current document from disk." +msgid "Rename the current bookmark" +msgstr "වත්මන් ලේඛනය තැටියෙන් ප්‍රතිපූර්ණය කරන්න." + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "පෙර පිටුසලකුණ" + +#: part/part.cpp:713 +#, fuzzy, kde-format +#| msgid "Go to the previous bookmarked page" +msgid "Go to the previous bookmark" +msgstr "පෙර පිටුසලකුණු කල පිටුවට යන්න" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "ඊලඟ පිටුසලකුණ" + +#: part/part.cpp:719 +#, fuzzy, kde-format +#| msgid "Go to the next bookmarked page" +msgid "Go to the next bookmark" +msgstr "ඉදිරි පිටුසලකුණු කල පිටුවට යන්න" + +#: part/part.cpp:748 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgid "Configure Okular…" +msgstr "Okular සකසන්න..." + +#: part/part.cpp:751 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Configure Viewer…" +msgstr "දසුන සකසන්න..." + +#: part/part.cpp:757 +#, fuzzy, kde-format +#| msgid "Configure Backends" +msgid "Configure Viewer Backends…" +msgstr "පසු ඉම සකසන්න" + +#: part/part.cpp:759 +#, fuzzy, kde-format +#| msgid "Configure Backends" +msgid "Configure Backends…" +msgstr "පසු ඉම සකසන්න" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "පසු ඉම පිළිබඳ" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "ප්‍රතිපූර්ණය (&d)" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "වත්මන් ලේඛනය තැටියෙන් ප්‍රතිපූර්ණය කරන්න." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "සෙවුම් තීරුව වසන්න (&F)" + +#: part/part.cpp:813 +#, fuzzy, kde-format +#| msgid "Page Size" +msgid "Page Number" +msgstr "පිටු ප්‍රමාණය" + +#: part/part.cpp:817 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "Okular සකසන්න..." + +#: part/part.cpp:858 +#, fuzzy, kde-format +#| msgid "Speak Current Page" +msgid "Select All Text on Current Page" +msgstr "වත්මන් පිටුව කියවන්න" + +#: part/part.cpp:871 +#, fuzzy, kde-format +#| msgid "Show &Page Bar" +msgid "Show S&idebar" +msgstr "පිටු තීරුව පෙන්වන්න (&P)" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "පිටු තීරුව පෙන්වන්න (&P)" + +#: part/part.cpp:886 +#, fuzzy, kde-format +#| msgid "Show &Navigation Panel" +msgid "Show &Signatures Panel" +msgstr "ගවේශන පැනලය පෙන්වන්න (&N)" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "තිළැලි ගොනු (&E)" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "ලෙස අපනයනය (&x)" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "ඉදිරිපත් කිරීම (&r)" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "" + +#: part/part.cpp:945 +#, fuzzy, kde-format +#| msgid "&Import PostScript as PDF..." +msgid "&Import PostScript as PDF…" +msgstr "පසුවිධානාවලි PDF ලෙස ආනයනය කරන්න (&I)..." + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "කළු තිර ප්‍රකාරයට මාරුවන්න" + +#: part/part.cpp:957 +#, fuzzy, kde-format +#| msgid "Erase Drawings" +msgid "Erase Drawing" +msgstr "ඇඳීම මකන්න" + +#: part/part.cpp:962 +#, fuzzy, kde-format +#| msgid "Configure Backends..." +msgid "Configure Annotations…" +msgstr "පසු ඉම් සකසන්න..." + +#: part/part.cpp:967 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Play/Pause Presentation" +msgstr "ඉදිරිපත්කිරීම" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" + +#: part/part.cpp:1123 +#, fuzzy, kde-format +#| msgctxt "A document format, Okular-specific" +#| msgid "Document Archive" +msgid "Document can't be saved" +msgstr "ලේඛන සංරක්‍ෂනය" + +#: part/part.cpp:1152 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not open '%1' (%2) " +msgstr "%1 ගොනුව විවෘත කල නොහැක" + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "%1 හි පූර්ණය අවලංගු වී ඇත." + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "%1 විවෘත කල නොහැක. හේතුව:%2" + +#: part/part.cpp:1249 +#, fuzzy, kde-format +#| msgid "Configure Backends" +msgid "Configure Viewer Backends" +msgstr "පසු ඉම සකසන්න" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "පසු ඉම සකසන්න" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"\"ps2pdf\" වැඩසටහන හමු නොවිනි. එම නිසා එය භාවිතයෙන් Okular හට PS ගොනු ආනයන කල නොහැක." + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "ps2pdf හමු නොවිනි" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "" + +#: part/part.cpp:1357 +#, fuzzy, kde-format +#| msgid "Importing PS file as PDF (this may take a while)..." +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "PS ගොනු PDF ලෙස ආනයනය කරන්න (මෙයට යම් කාලයක් ගතවේ)..." + +#: part/part.cpp:1489 +#, fuzzy, kde-format +#| msgid "Moves to the end of the document" +msgid "Please enter the password to read the document:" +msgstr "ලේඛනයේ අවසානයට ගෙනයයි" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "" + +#: part/part.cpp:1502 +#, fuzzy, kde-format +#| msgctxt "A document format, Okular-specific" +#| msgid "Document Archive" +msgid "Document Password" +msgstr "ලේඛන සංරක්‍ෂනය" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"මෙම ලේඛනය සතුව ෆෝරම ඇත. ඒවා සමඟ ගනු දෙනු කිරීමට බොත්තම ඔබන්න. හෝ දසුන -> ෆෝරම පෙන්වන්න " +"භාවිත කරන්න." + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "" + +#: part/part.cpp:1739 +#, fuzzy, kde-format +#| msgid "Exit Presentation Mode" +msgid "Enter Presentation Mode" +msgstr "ඉදිරිපත්කිරීම් ප්‍රකාරයෙන් පිටවෙන්න" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "" + +#: part/part.cpp:1830 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not open %1. %2" +msgstr "%1 ගොනුව විවෘත කල නොහැක" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "" + +#: part/part.cpp:1865 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue Reloading" +msgstr "ඉදිරියට යන (&C)" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" + +#: part/part.cpp:1875 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue Closing" +msgstr "ඉදිරියට යන (&C)" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "" + +#: part/part.cpp:1883 +#, fuzzy, kde-format +#| msgid "Open Document" +msgid "Close Document" +msgstr "ලේඛනය විවෘත කරන්න" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "මෙම සබැඳිය තිළැලි දසුනේදී ක්‍රියා නොකරන ලේඛන වැසීම් ක්‍රියාවකට යොමුවේ." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "මෙම සබැඳිය තිළැලි දසුන භාවිත කරන විට ක්‍රියා නොකරන යෙදුමෙන් ඉවත්වීමකට යොමු වේ." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Reloading the document…" +msgstr "ලේඛනය ප්‍රතිපූර්ණය කරමින්..." + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "අන්තර්ගතයන්" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "පිටුවට යන්න" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "පිටුව (&P):" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "" + +#: part/part.cpp:2506 +#, fuzzy, kde-format +#| msgid "Rename Bookmark" +msgid "Rename this Bookmark" +msgstr "පිටුසලකුණ ප්‍රතිනම් කරන්න" + +#: part/part.cpp:2509 +#, fuzzy, kde-format +#| msgid "Rename Bookmark" +msgid "Remove this Bookmark" +msgstr "පිටුසලකුණ ප්‍රතිනම් කරන්න" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, fuzzy, kde-format +#| msgctxt "@action:inmenu" +#| msgid "&Save As..." +msgid "Save As" +msgstr "ලෙස සුරකින්න (&S)..." + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" + +#: part/part.cpp:2621 +#, fuzzy, kde-format +#| msgid "Line Extensions" +msgid "Unsupported extension" +msgstr "පේළි දිගු" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
    In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "සුරැකීම සඳහා තාවකාලික ගොනුව විවෘත කල නොහැකි විය." + +#: part/part.cpp:2726 +#, fuzzy, kde-kuit-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "'%1' හි ගොනුව සුරැකිය නොහැක. වෙනත් ස්ථානකය සුරැකීමට උත්සාහ කරන්න." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "'%1' හි ගොනුව සුරැකිය නොහැක. වෙනත් ස්ථානකය සුරැකීමට උත්සාහ කරන්න." + +#: part/part.cpp:2766 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgid "Filled form contents" +msgstr "අනුසටහන් වත්කම්" + +#: part/part.cpp:2769 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "User annotations" +msgstr "ඉදිරිපත්කිරීම" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" + +#: part/part.cpp:2796 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue" +msgstr "ඉදිරියට යන (&C)" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "ගොනුව '%1' හි නොසුරැකේ. %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"Okular හට %1 දෙනලද ස්ථානයට පිටපත්කල නොහැකි විය.\n" +"\n" +"ලේඛනය තවදුරටත් නොපවතී." + +#: part/part.cpp:2899 +#, fuzzy, kde-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "'%1' හි ගොනුව සුරැකිය නොහැක. වෙනත් ස්ථානකය සුරැකීමට උත්සාහ කරන්න." + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "End Presentation" +msgid "Expand Whole Section" +msgstr "ඉදිරිපත්කිරීම අවසන් කරන්න" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "End Presentation" +msgid "Collapse Whole Section" +msgstr "ඉදිරිපත්කිරීම අවසන් කරන්න" + +#: part/part.cpp:3172 +#, fuzzy, kde-format +#| msgid "Link the &thumbnails with the page" +msgid "Sync Thumbnail with Page" +msgstr "පිටුව සමඟ කුඩා රූ සබඳ කරන්න (&t)" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "මෙවලම්" + +#: part/part.cpp:3381 +#, fuzzy, kde-format +#| msgid "Speak Text" +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "පෙළ කියවන්න" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "මෙම ලේඛනය මුද්‍රණයට ඉඩ නොදේ." + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "ලේඛනය මුද්‍රණය කල නොහැක. නොදන්නා දෝශයක්. කරුණාකර bugs.kde.org වෙත වාර්ථා කරන්න" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"ලේඛනය මුද්‍රණය කල නොහැක. විස්තරාත්මක දෝශය වනුයේ \"%1\" යි. කරුණාකර bugs.kde.org වෙත " +"වාර්ථා කරන්න" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "ඔබ පෙරසිටි තැනට යන්න." + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "ඔබ පසුව සිටි තැනට යන්න" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"ගොනු දෝශයක්! තාවකාලික ගොනුව නිර්මාණය කල නොහැක " +"%1." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"ගොනු දෝශයක්! දිග හැරීම සඳහා %1 ගොනුව විවෘත කල නොහැක. ගොනුව පූර්ණය නොවේ." + +#: part/part.cpp:3751 +#, fuzzy, kde-format +#| msgid "" +#| "This error typically occurs if you do not have enough permissions to " +#| "read the file. You can check ownership and permissions if you right-click " +#| "on the file in the Dolphin file manager and then choose the 'Properties' " +#| "tab." +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"මෙම දෝශය බොහෝ විට ගොනුව කියවීම සඳහා ඔබට ප්‍රමාණවත් බලතල නොමැති විට හටගනී. ඔබට " +"Dolphin ගොනු පරිපාලකය තුලදී ගොනුව දකුණු ක්ලික් කර 'වත්කම්' ටැබය තෝරාගැනීමෙන් අයිතිය හා බලතල " +"පිරික්සිය හැකිවේ." + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded.
    " +msgstr "" +"ගොනු දෝශයක්! ගොනුව විහිදුවිය නොහැකි විය %1. ගොනුව පූරණය නොවේ." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"මෙම දෝශය බොහෝ විට ගොනුව දූශිත විට පැනනගී. ඔබට ස්ථිරකරගැනීමට ඇවැසි නම්. විධාන-රේඛා " +"මෙවලමක් භාවිතයෙන් විහිදුවීමට උත්සාහ කරන්න." + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "පිටුසලකුණු නොමැත" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "සකසන්න (&E)" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "දසුන (&V)" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "යන්න (&G)" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "මෙවලම් (&T)" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "ප්‍රධාන මෙවලම් තිරුව" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation Toolbar" +msgstr "අනු සටහන" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Quick Annotation Toolbar" +msgstr "අනු සටහන" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "සාමාන්‍ය අභිප්‍රේත" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "පිවිසුම් හැකියාව" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "පිවිසුම් හැකියා කියවීම් සහාය" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "ක්‍රියාකාරීත්වය" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "ක්‍රියාකාරීත්ව සීරුමාරු" + +#: part/preferencesdialog.cpp:45 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Configure Viewer" +msgstr "දසුන සකසන්න..." + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "ඉදිරිපත්කිරීම" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "ඉදිරිපත්කිරීම් ප්‍රකාරය සඳහා අභිප්‍රේත" + +#: part/preferencesdialog.cpp:50 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgid "Annotation Options" +msgstr "අනුසටහන් වත්කම්" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "සකසනය" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "සකසන අභිප්‍රේත" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "ඊළඟ සොයන්න" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 – ඉදිරිපත් කිරීම" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "තිරය මාරු කරන්න" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "තිරය %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "ඉදිරිපත්කිරීම් ප්‍රකාරයෙන් පිටවෙන්න" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "මාතෘකාව: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "පිටු: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "ඇරඹීමට ක්ලික් කරන්න" + +#: part/presentationwidget.cpp:521 +#, fuzzy, kde-format +#| msgctxt "pause the movie playback" +#| msgid "Pause" +msgctxt "For Presentation" +msgid "Pause" +msgstr "නවතන්න" + +#: part/presentationwidget.cpp:524 +#, fuzzy, kde-format +#| msgctxt "start the movie playback" +#| msgid "Play" +msgctxt "For Presentation" +msgid "Play" +msgstr "ධාවනය" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"ඉදිරිපත්කිරීම් ප්‍රකාරයෙන් පිටවීමේ ක්‍රම දෙකක් පවතී. ඔබට ESC යතුර එබීමට හෝ ඉහළ දකුණු පස මවුසය " +"තබන විට මතුවන පිටවීම් බොත්තම ක්ලික් කිරීමට හැක. ඔව් ඔබට කවුළු අතර මාරුවීමටද (පෙරනිමියෙන් Alt-" +"TAB) හැක." + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "ඉදිරිපත්කිරීමක් ලබාදෙමින්" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "නොදන්නා ගොනුව" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "%1 වත්කම්" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "අකුරු (&F)" + +#: part/propertiesdialog.cpp:145 +#, fuzzy, kde-format +#| msgid "Reading font information..." +msgid "Reading font information…" +msgstr "අකුරු තොරතුරු කියවමින්..." + +#: part/propertiesdialog.cpp:158 +#, fuzzy, kde-format +#| msgid "&Page Size" +msgid "&Page Sizes" +msgstr "පිටු ප්‍රමාණය (&P)" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "නිශ්චිත අකුර (&E)" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "1 වර්ගය" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "1C වර්ගය" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "1C වර්ගය (OT)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "3 වර්ගය" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType (OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID වර්ගය 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID වර්ගය 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID වර්ගය 0C (OT)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType (OT)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "TeX PK" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "TeX අතත්‍ය" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "TeX අකුරු මෙට්‍රික්" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "TeX නිදහස්-හැසිරවීම" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "නොදන්නා" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "තිළැලි (අනුකට්ටල)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "සම්පූර්ණයෙන් තිළැලි" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "නැත" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "ඔව් (අනුකට්ටල)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "ඔව්" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "[නැහැ]" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "නොදන්නා අකුර" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "තිළැලි: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "නම" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "වර්ගය" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "ගොනුව" + +#: part/propertiesdialog.cpp:498 +#, fuzzy, kde-format +#| msgid "Pages" +msgid "Page" +msgstr "පිටු" + +#: part/propertiesdialog.cpp:501 +#, fuzzy, kde-format +#| msgctxt "@title:column" +#| msgid "Size" +msgid "Size" +msgstr "ප්‍රමාණය" + +#: part/revisionviewer.cpp:41 +#, fuzzy, kde-format +#| msgid "Print Preview" +msgid "Revision Preview" +msgstr "මුද්‍රක පෙරදැක්ම" + +#: part/revisionviewer.cpp:53 +#, fuzzy, kde-format +#| msgid "Where do you want to save %1?" +msgid "Where do you want to save this revision?" +msgstr "ඔබට %1 සුරැකීමට ඇවැසි කොතැනද?" + +#: part/revisionviewer.cpp:56 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not save file %1." +msgstr "%1 ගොනුව විවෘත කල නොහැක" + +#: part/revisionviewer.cpp:75 +#, fuzzy, kde-format +#| msgid "Could not open %1. Reason: %2" +msgid "Could not view revision." +msgstr "%1 විවෘත කල නොහැක. හේතුව:%2" + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "පිටු පෙරීමට අවම වශයෙන් අකුරු 3ක් යොදන්න" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "අක්‍ෂර සංවේදී" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "යෙදුම සසඳන්න" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "සියළු වදන් සසඳන්න" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "ඕනෑම වදනක් සසඳන්න" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "පෙරහන් අභිප්‍රේත" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Certificates" +msgstr "දසුන සකසන්න..." + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, fuzzy, kde-format +#| msgid "Allow" +msgid "All" +msgstr "ඉඩදෙන්න" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Only QES certificates" +msgstr "දසුන සකසන්න..." + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, fuzzy, kde-format +#| msgid "Options" +msgid "optional" +msgstr "අභිප්‍රේත" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Location:" +msgstr "අනු සටහන" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, fuzzy, kde-format +#| msgid "Background color:" +msgid "Background:" +msgstr "පසුබිම් වර්ණය:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, fuzzy, kde-format +#| msgid "Background color:" +msgid "Recent backgrounds:" +msgstr "පසුබිම් වර්ණය:" + +#: part/side_reviews.cpp:66 +#, fuzzy, kde-format +#| msgid "" +#| "

    No annotations

    To create new annotations press " +#| "F6 or select Tools -> Review from the menu.
    " +msgid "" +"

    No annotations

    To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
    " +msgstr "" +"

    අනුසටහන් නොමැත

    නව අනුසටහනක් සඳහා F6 හෝ මෙනුවෙන් මෙවලම් " +"-> විමසුම් තෝරන්න.
    " + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "පිටු අනුව කාණ්ඩ කරන්න" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "කතෲ අනුව කාණ්ඩ කරන්න" + +#: part/side_reviews.cpp:155 +#, fuzzy, kde-format +#| msgid "Show reviews for current page only" +msgid "Show annotations for current page only" +msgstr "වත්මන් පිටුවට පමණක් විමසුම් පෙන්වන්න" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "" + +#: part/signaturepanel.cpp:101 +#, fuzzy, kde-format +#| msgid "&Properties" +msgid "Properties" +msgstr "වත්කම් (&P)" + +#: part/signaturepartutils.cpp:180 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "පිටු: %1" + +#: part/signaturepartutils.cpp:181 +#, fuzzy, kde-format +#| msgid "Enable &background generation" +msgid "Select background image" +msgstr "පසුබිම් ජනනය සක්‍රීය (&b)" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "" + +#: part/signaturepartutils.cpp:244 +#, fuzzy, kde-format +#| msgctxt "A document format, Okular-specific" +#| msgid "Document Archive" +msgid "Enter document password" +msgstr "ලේඛන සංරක්‍ෂනය" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:63 +#, fuzzy, kde-format +#| msgid "Information" +msgid "Additional Information" +msgstr "තොරතුරු" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:83 +#, fuzzy, kde-format +#| msgctxt "A document format, Okular-specific" +#| msgid "Document Archive" +msgid "Document Version" +msgstr "ලේඛන සංරක්‍ෂනය" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:95 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "View Certificate…" +msgstr "දසුන සකසන්න..." + +#: part/signaturepropertiesdialog.cpp:97 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "View in Certificate Manager" +msgstr "දසුන සකසන්න..." + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "පිටුසලකුණු කල පිටු පමණක් පෙන්වන්න" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "ධාවනය" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "නවතන්න" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "නවතන්න" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, fuzzy, kde-format +#| msgid "&Edit" +msgid "&Edit…" +msgstr "සකසන්න (&E)" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, fuzzy, kde-format +#| msgid "Wipe Down" +msgid "Move &Down" +msgstr "පහළට පිසදැමීම" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "පෙන්වන ලේඛනයේ පිටුව" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "ලේඛනය ඉදිරිපත්කිරීම් ප්‍රකාරයේ අරඹන්න" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "\"අනන්‍ය අවස්ථා\" පාලනය" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "" + +#: shell/main.cpp:83 +#, fuzzy, kde-format +#| msgid "Document to open. Specify '-' to read from stdin." +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "විවෘත කරන ලේඛනය. stdin මගින් කියවීමට '-' යොදන්න." + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "" + +#: shell/shell.cpp:207 +#, fuzzy, kde-format +#| msgid "Unable to find the Okular component." +msgid "Unable to find the Okular component: %1" +msgstr "Okular සංරචකය සොයාගැනීම අසාර්ථකයි." + +#: shell/shell.cpp:250 +#, fuzzy, kde-format +#| msgid "Show &Page Bar" +msgid "Sidebar" +msgstr "පිටු තීරුව පෙන්වන්න (&P)" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "Okular සංරචකය සොයාගැනීම අසාර්ථකයි." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"ගොනුවක් විවෘත කිරීමට ක්ලික් කරන්න\n" +"මෑත ගොනුවකට ක්ලික් කර අල්ලා සිටින්න" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"ගොනු විවෘත කිරීමට ක්ලික් හෝ මෑත ගොනුව විවෘත කිරීමට ක්ලික් කර අල්ලාClick and hold සිටින්න" + +#: shell/shell.cpp:582 +#, fuzzy, kde-format +#| msgid "Next Page" +msgid "Next Tab" +msgstr "ඊලඟ පිටුව" + +#: shell/shell.cpp:588 +#, fuzzy, kde-format +#| msgid "Previous Page" +msgid "Previous Tab" +msgstr "පෙර පිටුව" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "" + +#: shell/shell.cpp:603 +#, fuzzy, kde-format +#| msgid "Show &Page Bar" +msgid "Lock Sidebar" +msgstr "පිටු තීරුව පෙන්වන්න (&P)" + +#: shell/shell.cpp:703 +#, fuzzy, kde-format +#| msgid "*|All Files" +msgid "All files (*)" +msgstr "*|සියළු ගොනු" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "ලේඛනය විවෘත කරන්න" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "" + +#: shell/shell.cpp:826 +#, fuzzy, kde-format +#| msgid "Close" +msgid "Close Tabs" +msgstr "වසන්න" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "" + +#: shell/welcomescreen.cpp:64 +#, fuzzy, kde-format +#| msgid "Copy Text" +msgid "&Copy Path" +msgstr "පෙළ පිටපත්" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "" + +#: shell/welcomescreen.cpp:137 +#, fuzzy, kde-format +#| msgid "Current document only" +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "වත්මන් ලේඛනය පමණයි" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, fuzzy, kde-format +#| msgid "Open Document" +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "ලේඛනය විවෘත කරන්න" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, fuzzy, kde-format +#| msgid "Current document only" +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "වත්මන් ලේඛනය පමණයි" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "" + +#, fuzzy +#~| msgid "For Comment" +#~ msgid "Geometry with Comment" +#~ msgstr "ප්‍රතිචාරය සඳහා" + +#~ msgid "Geometry" +#~ msgstr "ජ්‍යාමිතිය" + +#~ msgid "Modified: %1" +#~ msgstr "වෙනස්කල: %1" + +#~ msgid "Find..." +#~ msgstr "සොයන්න..." + +#~ msgid "Go To Page..." +#~ msgstr "පිටුවට යන්න..." + +#~ msgid "Play movie..." +#~ msgstr "චිත්‍රපටය ධාවනය..." + +#, fuzzy +#~| msgid "S&earch:" +#~ msgid "Search..." +#~ msgstr "සෙචුම (&e):" + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "ලෙස සුරකින්න (&S)..." + +#, fuzzy +#~| msgid "&View" +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "දසුන (&V)" + +#~ msgid "Configure Viewer..." +#~ msgstr "දසුන සකසන්න..." + +#, fuzzy +#~| msgid "Configure Backends..." +#~ msgid "Configure Viewer Backends..." +#~ msgstr "පසු ඉම් සකසන්න..." + +#~ msgid "Configure Backends..." +#~ msgstr "පසු ඉම් සකසන්න..." + +#, fuzzy +#~| msgid "&Edit" +#~ msgid "&Edit..." +#~ msgstr "සකසන්න (&E)" + +#, fuzzy +#~| msgctxt "Unknown author" +#~| msgid "Unknown" +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "නොදන්නා" + +#, fuzzy +#~| msgctxt "Suffix for the opacity level, eg '80 %'" +#~| msgid " %" +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr " %" + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " %" + +#, fuzzy +#~| msgctxt "Suffix for the opacity level, eg '80 %'" +#~| msgid " %" +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr " %" + +#, fuzzy +#~| msgid "Fit Width" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "පළලට රිසි" + +#, fuzzy +#~| msgid "Fit Page" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "පිටුවට රිසි" + +#~ msgid "*|All Files" +#~ msgstr "*|සියළු ගොනු" + +#, fuzzy +#~| msgid "Show &Page Bar" +#~ msgid "Show Sidebar" +#~ msgstr "පිටු තීරුව පෙන්වන්න (&P)" + +#, fuzzy +#~| msgid "Experimental" +#~ msgctxt "@title:window" +#~ msgid "Experimental feature" +#~ msgstr "පරීක්‍ෂනාත්මක" + +#~ msgid "Remove Bookmarks" +#~ msgstr "පිටුසලකුණු ඉවත් කරන්න" + +#, fuzzy +#~| msgid "Annotation" +#~| msgid_plural "%1 Annotations" +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "අනු සටහන" + +#, fuzzy +#~| msgid "Highlight" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "උපුටනය" + +#, fuzzy +#~| msgid "Underline" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Underline" +#~ msgstr "යටිඉර" + +#, fuzzy +#~| msgid "Squiggly" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Squiggle" +#~ msgstr "දඟර රේඛීය" + +#, fuzzy +#~| msgid "Strike out" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Strike Out" +#~ msgstr "ඉරි" + +#, fuzzy +#~| msgid "Insert" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "ඇතුළත්" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "රේඛීය සටහන" + +#, fuzzy +#~| msgid "&Open Pop-up Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "පොප්-අප් සටහන් විවෘත කරන්න (&O)" + +#, fuzzy +#~| msgid "Green Freehand Line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Freehand Line" +#~ msgstr "කොළ නිදහස් රේඛාව" + +#, fuzzy +#~| msgid "Straight Yellow Line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Straight line" +#~ msgstr "ඍජු කහ රේඛාව" + +#, fuzzy +#~| msgid "Rectangle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Rectangle" +#~ msgstr "ත්‍රිකෝණය" + +#, fuzzy +#~| msgid "Cyan Ellipse" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Ellipse" +#~ msgstr "සයින් බහුඅශ්‍රය" + +#, fuzzy +#~| msgid "Blue Polygon" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Polygon" +#~ msgstr "නිල් බහුඅශ්‍රය" + +#, fuzzy +#~| msgid "Highlight" +#~ msgid "Highlight in Yellow" +#~ msgstr "උපුටනය" + +#, fuzzy +#~| msgid "Highlight" +#~ msgid "Highlight in Green" +#~ msgstr "උපුටනය" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgid "Insert Inline Note" +#~ msgstr "රේඛීය සටහන" + +#, fuzzy +#~| msgid "&Open Pop-up Note" +#~ msgid "Insert Popup Note" +#~ msgstr "පොප්-අප් සටහන් විවෘත කරන්න (&O)" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "පෙළ තෝරන්න" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "පෙළ තෝරන්න" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "පෙළ තෝරන්න" + +#, fuzzy +#~| msgid "Annotation" +#~| msgid_plural "%1 Annotations" +#~ msgid "Bookmark annotation" +#~ msgstr "අනු සටහන" + +#, fuzzy +#~| msgid "Change &colors" +#~ msgid "&Toggle Change Colors" +#~ msgstr "වර්ණ වෙනස් කරන්න (&c)" + +#, fuzzy +#~| msgid "Enable transitions" +#~ msgctxt "@option:check Config dialog, presentation page, transitions" +#~ msgid "Enable transitions" +#~ msgstr "සංක්‍රාන්ති සක්‍රීය" + +#, fuzzy +#~| msgid "Advance every:" +#~ msgctxt "@label:spinbox Config dialog, presentation page" +#~ msgid "Advance every:" +#~ msgstr "සෑම වරකම උසස්:" + +#, fuzzy +#~| msgid "Background color:" +#~ msgctxt "@label:listbox Config dialog, general page" +#~ msgid "Custom background color:" +#~ msgstr "පසුබිම් වර්ණය:" + +#~ msgid "Draw border around &Images" +#~ msgstr "පිළිඹිබු වටා රාමුවක් අඳින්න (&I)" + +#~ msgid "Identity" +#~ msgstr "අනන්‍යතාව" + +#, fuzzy +#~| msgid "&Author:" +#~ msgid "Au&thor:" +#~ msgstr "කතෲ (&A):" + +#~ msgid "View Options" +#~ msgstr "අභිප්‍රේත පෙන්වන්න" + +#~ msgid "Navigation" +#~ msgstr "ගවේශනය" + +#~ msgid "Placement" +#~ msgstr "ස්ථානගත" + +#~ msgid "Screen:" +#~ msgstr "තිරය:" + +#~ msgid "&Get Books From Internet..." +#~ msgstr "ජාලයෙන් පොත් ලබාගන්න (&G)..." + +#~ msgid "Reviews" +#~ msgstr "විමසුම්" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "@item:inlistbox Color name" +#~ msgid "%1" +#~ msgstr "%1:" + +#~ msgid "Hide Forms" +#~ msgstr "ෆෝරම සඟවන්න" + +#~ msgid "&Review" +#~ msgstr "විමසුම් (&R)" + +#~ msgid "Annotations author" +#~ msgstr "අනුසටහන් කතෲ" + +#~ msgid "Please insert your name or initials:" +#~ msgstr "කරුණාකර ඔබේ නම හෝ මුල අකුරු යොදන්න:" + +#~ msgid "Show &Navigation Panel" +#~ msgstr "ගවේශන පැනලය පෙන්වන්න (&N)" + +#~ msgid "Show Text" +#~ msgstr "පෙළ පෙන්වන්න" + +#~ msgid "Small Icons" +#~ msgstr "කුඩා අයිකන" + +#~ msgid "Large Icons" +#~ msgstr "විශාල අයිකන" + +#, fuzzy +#~| msgid "" +#~| "Click to use the current selection tool\n" +#~| "Click and hold to choose another selection tool" +#~ msgid "" +#~ "Click to use the current selection tool\n" +#~ "Click on the arrow to choose another selection tool" +#~ msgstr "" +#~ "වත්මන් තෝරාගැනීම් මෙවලම භාවිත කල නොහැක\n" +#~ "වෙනත් තෝරාගැනීම් මෙවලමක් තෝරාගැනීමට ක්ලික් කර අල්ලා සිටින්න" + +#~ msgid "Created: %1" +#~ msgstr "නිපැයූ: %1" + +#~ msgid "Style" +#~ msgstr "රටාව" + +#~ msgid "&Size:" +#~ msgstr "ප්‍රමාණය (&S):" + +#~ msgid "Inner color:" +#~ msgstr "අභ්‍යන්තර වර්ණය:" + +#~ msgid "Name: %1" +#~ msgstr "නම: %1" + +#~ msgid "Size: %1" +#~ msgstr "ප්‍රමාණය: %1" + +#~ msgid "&Browse Tool" +#~ msgstr "ගවේශන මෙවලම (&B)" + +#~ msgid "&Zoom Tool" +#~ msgstr "විශාලන මෙවලම (&Z)" + +#~ msgctxt "Zoom Tool" +#~ msgid "Zoom" +#~ msgstr "විශාලනය" + +#~ msgctxt "Select Tool" +#~ msgid "Selection" +#~ msgstr "තෝරාගැනීම" + +#~ msgid "&Text Selection Tool" +#~ msgstr "පෙළ තෝරාගැනීම් මෙවලම (&T)" + +#, fuzzy +#~| msgid "&Selection Tool" +#~ msgid "T&able Selection Tool" +#~ msgstr "තෝරාගැනීම් මෙවලම (&S)" + +#, fuzzy +#~| msgctxt "Symbol for caret annotations" +#~| msgid "None" +#~ msgid " None" +#~ msgstr "නොමැත" + +#~ msgid "" +#~ "The document requested to be launched in presentation mode.\n" +#~ "Do you want to allow it?" +#~ msgstr "" +#~ "මෙම ලේඛනය ඉදිරිපත්කිරීම් ප්‍රකාරයේ ආරම්භවීමට විමසයි.\n" +#~ "ඔබට එයට ඉඩ දීමට ඇවැසිද?" + +#~ msgid "Presentation Mode" +#~ msgstr "ඉදිරිපත්කිරීම් ප්‍රකාරය" + +#~ msgid "Allow the presentation mode" +#~ msgstr "ඉදිරිපත්කිරීම් ප්‍රකාරයට ඉඩ දෙන්න" + +#~ msgid "Do Not Allow" +#~ msgstr "ඉඩ නොදෙන්න" + +#~ msgid "Do not allow the presentation mode" +#~ msgstr "ඉදිරිපත්කිරීමේ ප්‍රකාරයට ඉඩ නොදෙන්න" + +#~ msgid "Save &Copy As..." +#~ msgstr "ලෙස පිටපත සුරකින්න. (&C)..." + +#~ msgid "" +#~ "End of document reached.\n" +#~ "Continue from the beginning?" +#~ msgstr "" +#~ "ලේඛනයේ අවසානය ලඟාවිය.\n" +#~ "ආරම්භයේ සිට ඉදිරියට යන්නද?" + +#~ msgid "" +#~ "Beginning of document reached.\n" +#~ "Continue from the bottom?" +#~ msgstr "" +#~ "ලේඛනයේ ඇරඹුමට පැමිණ ඇත.\n" +#~ "පහළට යන්න?" + +#~ msgid "Current maintainer" +#~ msgstr "වත්මන් පරිපාලක" + +#~ msgid " sec." +#~ msgstr " තත්." + +#~ msgid "Pencil color:" +#~ msgstr "පැන්සල් වර්ණය:" + +#~ msgid "Toggle Drawing Mode" +#~ msgstr "ඇඳීමේ ප්‍රකාරයට මාරුවෙන්න" + +#~ msgid "Starting Jovie Text-to-Speech service Failed: %1" +#~ msgstr "ජෝවි පෙළ-කියවන සේවාව ඇරඹීම අසාර්ථකයි: %1" + +#~ msgid "Search Columns" +#~ msgstr "සෙවුම් තීරු" + +#~ msgid "All Visible Columns" +#~ msgstr "සියළු දෘශ්‍ය තීරු" + +#~ msgid "No document opened." +#~ msgstr "ලේඛනයන් විවෘත කර නොමැත." + +#~ msgid "No matches found for '%1'." +#~ msgstr "'%1' සඳහා ගැලපුම් නොමැත." + +#~ msgid "Search in progress..." +#~ msgstr "සෙවීම ක්‍රියාත්මක වේ..." + +#~ msgid "Searching for %1" +#~ msgstr "%1 සඳහා සොයමින්" + +#~ msgid "Identity Settings" +#~ msgstr "අනන්‍යතා සැකසුම්" + +#~ msgid "Highlight Properties" +#~ msgstr "උපුටන වත්කම්" + +#~ msgid "Ink Properties" +#~ msgstr "තීන්ත වත්කම්" + +#~ msgctxt "Annotation tool" +#~ msgid "Text Annotation" +#~ msgstr "පෙළ අනුසටහන්" + +#~ msgctxt "Annotation tool" +#~ msgid "Green Ink" +#~ msgstr "කොළ තින්ත" + +#~ msgctxt "Annotation tool" +#~ msgid "Yellow Highlight" +#~ msgstr "කහ තින්ත" + +#~ msgctxt "Annotation tool" +#~ msgid "Straight Yellow Line" +#~ msgstr "ඍජු කහ පේළිය" + +#~ msgid "Black Underlining" +#~ msgstr "කළු යටින් ඉර" + +#~ msgctxt "Annotation tool" +#~ msgid "Underline the text with a black line" +#~ msgstr "පෙළට කළු රේඛාවක් මගින් යටි ඉරක් අඳින්න" + +#~ msgctxt "Annotation tool" +#~ msgid "A cyan ellipse" +#~ msgstr "සයින් ඉලිප්සය" + +#~ msgid "Ink" +#~ msgstr "තින්ත" + +#, fuzzy +#~| msgid "Hide Forms" +#~ msgid "Reset Forms" +#~ msgstr "ෆෝරම සඟවන්න" diff --git a/po/si/okular_comicbook.po b/po/si/okular_comicbook.po new file mode 100644 index 0000000..526bd94 --- /dev/null +++ b/po/si/okular_comicbook.po @@ -0,0 +1,57 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Danishka Navin , 2011. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2011-08-19 19:20+0530\n" +"Last-Translator: Danishka Navin \n" +"Language-Team: Sinhala \n" +"Language: si\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.2\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Danishka Navin" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "danishka@gmail.com" + +#: document.cpp:97 +#, fuzzy, kde-format +#| msgid "Cannot open document, unrar was not found." +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "ලේඛනය විවෘත කල නොහැක, unrar සොයාගත නොහැක." + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "ඔබේ පද්ධතියේ ඇති unrar සංස්කරණය චිත්‍රකතා විවෘත කිරීමට සුදුසු නොවේ." + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "නොදන්නා චිත්‍රකතා හැඩසවියක්" + +#~ msgid "ComicBook Backend" +#~ msgstr "ComicBook පසුඉම" + +#~ msgid "A renderer for various comic book formats" +#~ msgstr "විවිධ චිත්‍රකතා පොත් හැඩසවි සඳහා ජනකයක්" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/si/okular_djvu.po b/po/si/okular_djvu.po new file mode 100644 index 0000000..730caa3 --- /dev/null +++ b/po/si/okular_djvu.po @@ -0,0 +1,135 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Danishka Navin , 2011. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2011-08-19 19:29+0530\n" +"Last-Translator: Danishka Navin \n" +"Language-Team: Sinhala \n" +"Language: si\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.2\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Danishka Navin" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "danishka@gmail.com" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "සකසනය" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "ප්‍රකාශක" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "වෙළුම" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "ලේඛනයේ වර්ගය" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "නොදන්නා" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "සංරචක ගොනු" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "නොදන්නා" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "තනි පිටුව" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "බැඳි" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "වක්‍ර" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "බැඳි (පැරණි)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "සූචිගත (පැරණි)" + +#~ msgid "DjVu Backend" +#~ msgstr "DjVu පසුඉම" + +#~ msgid "DjVu backend based on DjVuLibre." +#~ msgstr "DjVuLibre මත පදනම් වූ DjVu පසුඉම" + +#~ msgid "© 2006-2008 Pino Toscano" +#~ msgstr "© 2006-2008 Pino Toscano" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgctxt "Unknown title" +#~ msgid "Unknown" +#~ msgstr "නොදන්නා" + +#~ msgctxt "Unknown author" +#~ msgid "Unknown" +#~ msgstr "නොදන්නා" + +#~ msgctxt "Unknown editor" +#~ msgid "Unknown" +#~ msgstr "නොදන්නා" + +#~ msgctxt "Unknown publisher" +#~ msgid "Unknown" +#~ msgstr "නොදන්නා" + +#~ msgctxt "Unknown creation date" +#~ msgid "Unknown" +#~ msgstr "නොදන්නා" + +#~ msgctxt "Unknown volume information" +#~ msgid "Unknown" +#~ msgstr "නොදන්නා" + +#~ msgctxt "Unknown type of document" +#~ msgid "Unknown" +#~ msgstr "නොදන්නා" diff --git a/po/si/okular_dvi.po b/po/si/okular_dvi.po new file mode 100644 index 0000000..1292c9e --- /dev/null +++ b/po/si/okular_dvi.po @@ -0,0 +1,757 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Danishka Navin , 2011. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2011-08-30 13:30+0530\n" +"Last-Translator: Danishka Navin \n" +"Language-Team: Sinhala \n" +"Language: si\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.2\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Danishka Navin" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "danishka@gmail.com" + +#: dviexport.cpp:123 +#, fuzzy, kde-format +#| msgid "" +#| "Okular could not locate the program 'dvipdfm' on your computer. This " +#| "program is essential for the export function to work. You can, however, " +#| "convert the DVI-file to PDF using the print function of Okular, but that " +#| "will often produce documents which print okay, but are of inferior " +#| "quality if viewed in Acrobat Reader. It may be wise to upgrade to a more " +#| "recent version of your TeX distribution which includes the 'dvipdfm' " +#| "program.\n" +#| "Hint to the perplexed system administrator: Okular uses the PATH " +#| "environment variable when looking for programs." +msgid "" +"

    Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

    Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

    " +msgstr "" +"Okular හට ඔබේ පරිගණකය මත 'dvipdfm' වැඩසටහන සොයාගත නොහැකි විය. මෙම වැඩසටහන අපනයන " +"ක්‍රියාවලිය සඳහා අත්‍යාවශ්‍යයි. එසේ වුවත් ඔබට Okular තුළ ඇති මුද්‍රණ විශේෂාංගය භාවිතයෙන් DVI " +"ගොනු PDF වෙත හැරවිය හැක, එහෙත් එය බොහෝ විට මුද්‍රණය කිරීමට උචිත නමුත් Acrobat Reader මත " +"දිස්වීමට ඇවැසි තරම් ගුණාත්මක බවින් තොර ලේඛන තනයි. 'dvitpdfm' සහිත වඩා අළුත් TeX බෙදාහැරීමක් " +"වෙත යාවත් වීම වඩා සුදුසුයි.\n" +"පද්ධති පරිපාලක වෙත ඉඟියක්: Okular විසින් වැඩසටහන් සොයාගැනීම සඳහා PATH පාරිසරික විචල්‍ය භාවිත " +"කරයි." + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"ගොනුව අපනයන කිරීමට භාවිත කල 'dvipdfm' බාහිර වැඩසටහන දෝශයක් වාර්ථා කරන ලදී. ඔබට " +"නිශ්චිත දෝශ වාර්ථාව ලබාගැනීමට ඇවැසි නම් ගොනු මෙනුවේ ලේඛන දත්ත සංවාදය " +"බලන්න." + +#: dviexport.cpp:168 +#, fuzzy, kde-format +#| msgid "" +#| "

    This DVI file refers to external graphic files which are not in " +#| "PostScript format, and cannot be handled by the dvips " +#| "program that Okular uses interally to print or to export to PostScript. " +#| "The functionality that you require is therefore unavailable in this " +#| "version of Okular.

    As a workaround, you can use the File/" +#| "Export As-Menu to save this file in PDF format, and then use a " +#| "PDF viewer.

    It is planned to add this functionality at a later date." +#| "

    " +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" +"

    මෙම DVI ගොනුව පසු විධානාවලි හැඩසවිය නොවන බාහිර චිත්‍රණ ගොනු වෙත යොමුවෙයි, ඒවා මුද්‍" +"රණය හෝ පසු විධානාවලි වෙත අපනයනය සඳහා Okular විසින් යොදාගන්නා dvips " +"වැඩසටහන මගින් හැසිරවිය නොහැක. එම නිසා ඔබ ඉල්ලා සිටින ක්‍රියාකාරීත්වය මෙම Okular සංස්කරණය " +"තුල නොපවතී.

    එය සැකසීමට ඔබට, ගොනුව/ලෙස අපනයනය-මෙනුව " +"භාවිතයෙන් මෙම ගොනුව PDF ලෙස සුරැක, ඉන් පසු PDF දර්ශකයක් භාවිත කල හැක.

    මෙම ක්‍" +"රියාකාරීත්වය පසුව ලබාදීම සඳහා සැලසුම් කර ඇත.

    " + +#: dviexport.cpp:176 +#, fuzzy, kde-format +#| msgid "" +#| "Okular could not locate the program 'dvips' on your computer. That " +#| "program is essential for the export function to work.\n" +#| "Hint to the perplexed system administrator: Okular uses the PATH " +#| "environment variable when looking for programs." +msgid "" +"

    Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

    Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

    " +msgstr "" +"Okular හට ඔබේ පරිගණකයේ 'dvips' වැඩසටහන සොයාගත නොහැකි විය. අපනයනය සඳහා එම " +"වැඩසටහන අත්‍යාවශ්‍යයි.\n" +"පද්ධති කළමනාකරුට උපදෙසක්: වැඩසටහන් සොයාගැනීම සඳහා Okular භාවිත කරනුයේ PATH පාරිසරික විචල්‍" +"යයි." + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"ගොනුව අපනයන කිරීමට භාවිත කල 'dvips' බාහිර වැඩසටහන දෝශයක් වාර්ථා කරන ලදී. ඔබට " +"නිශ්චිත දෝශ වාර්ථාව ලබාගැනීමට ඇවැසි නම් ගොනු මෙනුවේ ලේඛන දත්ත සංවාදය " +"බලන්න." + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "DVI ගොනුව ප්‍රාරම්භයක් සමඟ ආරම්භ නොවේ." + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" +"DVI ගොනුව සතුව මෙම වැඩසටහන සඳහා නිවැරදි වන DVI ප්‍රතිදානයක් පවතී.\n" +"ඉඟිය: ඔබ ඔමෙගා අකුරුසැකසුම් පද්ධතිය භාවිත කරයි නම් oxdvi වැනි විශේෂිත වැඩසටහන් භාවිත කිරීමට " +"සිදුවේ." + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "DVI ගොනුව දැඩිලෙස හානි වී ඇත. Okular හට ප්‍රාරම්භකය සොයාගත නොහැකි විය." + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "ප්‍රාරම්භකය POST විධානය සමඟ ආරම්භ නොවේ." + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "ප්‍රාරම්භකය සතුව FNTDEF නොවන වෙනත් විධානයක් පවතී." + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "%1 පිටුව BOP විධානය සමඟ විවෘත නොවේ." + +#: dviFile.cpp:354 +#, fuzzy, kde-format +#| msgid "" +#| "

    The external program pdf2ps could not be started. " +#| "As a result, the PDF-file %1 could not be converted to PostScript. Some " +#| "graphic elements in your document will therefore not be displayed.

    Possible reason: The program pdf2ps may not " +#| "be installed on your system, or cannot be found in the current search " +#| "path.

    What you can do: The program pdf2ps " +#| "is normally contained in distributions of the ghostscript PostScript " +#| "interpreter system. If ghostscipt is not installed on your system, you " +#| "could install it now. If you are sure that ghostscript is installed, try " +#| "to use pdf2ps from the command line to check if it " +#| "really works.

    PATH: %2

    " +msgid "" +"

    The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

    What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

    PATH: %2

    " +msgstr "" +"

    pdf2ps බාහිර වැඩසටහන ආරම්භ කල නොහැක. එම නිසා %1 PDF " +"ගොනුව පසු විධානාවලි වෙත හැරවිය නොහැක, එම නිසා ඔබේ ලේඛනයේ ඇතැම් චිත්‍රණ මූලාංග දර්ශනය " +"නොවනු ඇත

    විය හැකි හේතුව: pdf2ps වැඩසටහන ඔබේ " +"පද්ධතියේ ස්ථාපනය නොකර ඇති හෝ වත්මන් සෙවුම් මඟෙහි සොයාගත නොහැකි වී ඇත.

    ඔබට කල " +"හැක්කේ කුමක්ද?: pdf2ps වැඩසටහන සාමාන්‍යෙන් ghostscript පසු " +"විධානාවලි පරිවර්ථන පද්ධතිය සමඟ බෙදා හැරේ ඔබේ පද්ධතිය සතුව ghostscipt ස්ථාපනය කර නොමැති " +"නම්,ඔබට දැන් එය ස්තහාපනය කල හැක, විධානාවලිය මගින් pdf2ps ආරම්භ කර " +"එය ඇත්තෙන්ම ක්‍රියාකරයි දැයි සොයන්න.

    PATH: %2

    " + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

    The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

    %2

    " +msgstr "" +"

    %1 PDF ගොනුව පසු විධානාවලි වෙත හැරවිය නොහැක. ඔබේ ලේඛනයේ ඇතැම් චිත්‍රණ මූලිකාංග " +"නොපෙන්වනු ඇත.

    විය හැකි හේතූන්: %1 ගොනුව බිඳී තිබිය හැකි හෝ PDF ගොනුවක් නොවිය " +"හැක. මෙය Okular භාවිත කලpdf2ps වැඩසටහනේ ප්‍රතිදානයයි:

    %2

    " + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, fuzzy, kde-format +#| msgid "" +#| "File not found: \n" +#| " %1" +msgid "File corruption. %1" +msgstr "" +"ගොනුව හමු නොවිනි: \n" +" %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "" + +#: dviRenderer.cpp:419 +#, fuzzy, kde-format +#| msgid "The special command '%1' is not implemented." +msgid "The specified file '%1' does not exist." +msgstr "'%1' විශේෂිත විධානය වැඩිදියුණු කර නොමැත." + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "DVI කේතය නොදන්නා අකුරක අක්‍ෂරයක් පිහිටුවයි." + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "DVI කේතය #%1 අකුර වෙත යොමුවෙයි, එය පෙරදී නිවේශනය කර නොමැත." + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "EOP විධානය පවතින විට ගොඩ හිස් නොවී ඇත." + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "POP විධානය පවතින විට ගොඩ හිස්ව ඇත." + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "DVI කේතය පෙරදී නිවේශනය නොකල අකුරක් වෙත යොමුවේ." + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "නීතිවිරෝධී විධානයක් හමුවී ඇත." + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "නොදන්නා op-code %1 හමුවී ඇත." + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "%1 තිළැලෙමින්" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
    " +msgstr "%1 පිටුව: %2 PDF ගොනුව පසුවිධානාවලි වෙත හැරවිය නොහැකි විය.
    " + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
    " +msgstr "%1 පිටුව: %2 පසුවිධාවලි ගොනුව සොයාගත නොහැක.
    " + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "'%1' පිටු ප්‍රමාණ දත්තය විග්‍රහ කල නොහැක." + +#: fontpool.cpp:209 +#, fuzzy, kde-format +#| msgid "" +#| "

    Okular was not able to locate all the font files which are " +#| "necessary to display the current DVI file. Your document might be " +#| "unreadable.

    " +msgid "" +"

    Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

    PATH: %1

    %2

    " +msgstr "" +"

    Okular හට වත්මන් DVI ගොනුව පෙන්වීමට ඇවැසි සියළුම අකුරු ගොනු සොයාගත නොහැකි විය. ඔබේ " +"ලේඛනය කියවිය නොහැකි විය හැක.

    " + +#: fontpool.cpp:284 +#, fuzzy, kde-format +#| msgid "" +#| "

    There were problems running kpsewhich. As a result, some font " +#| "files could not be located, and your document might be unreadable.

    Possible reason: The kpsewhich program is perhaps not " +#| "installed on your system, or it cannot be found in the current search " +#| "path.

    What you can do: The kpsewhich program is normally " +#| "contained in distributions of the TeX typesetting system. If TeX is not " +#| "installed on your system, you could install the TeX Live distribution " +#| "(www.tug.org/texlive). If you are sure that TeX is installed, please try " +#| "to use the kpsewhich program from the command line to check if it really " +#| "works.

    " +msgid "" +"

    There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
    Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

    PATH: %1

    %2

    " +msgstr "" +"

    kpsewhichක්‍රියාත්මක කිරීමේ දෝශයක් හට ගැණිනි. එම නිසා ඇතැම් අකුරු ගොනු සොයාගත " +"නොහැකි බැවින් ඔබේ ලේඛනය කියවිය නොහැකි විය හැක.

    විය හැකි හේතුව: ඇතැම් විට " +"ඔබේ පද්ධතිය මත kpsewhich වැඩසටහන ස්ථාපනය නොකර ඇති හෝ වත්මන් මඟෙහි සොයාගත නොහැකි විය " +"හැක.

    ඔබට කල හැක්කේ කුමක්ද: kpsewhich වැඩසටහන බොහෝ විට TeX යතුරුලියනය " +"පද්ධති තුළ ඇතුළත් වේ. TeX ඔබේ පද්ධතිය මත ස්ථාපනය වී නොමැති නම් ඔබට TeX සජීව සංස්කරණය (www." +"tug.org/texlive) ස්ථාපනය කල හැක. ඔබට TeX ස්ථාපිත බව විශ්වාස නම් කරුණාකර kpsewhich " +"වැඩසටහන විධාන රේඛාවේ ක්‍රියාත්මක වේදැයි බලන්න.

    " + +#: fontpool.cpp:305 +#, fuzzy, kde-format +#| msgid "" +#| "

    The font generation by kpsewhich was aborted (exit code %1, " +#| "error %2). As a result, some font files could not be located, and your " +#| "document might be unreadable.

    " +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" +"

    kpsewhich මගින් අකුරු ජනනය නවතා දැමිනි (පිටවීම් කේතය %1, දෝශය %2). ප්‍" +"රථිපලයක් ලෙස, ඇතැම් අකුරු ගොනු සොයාගත නොහැකි විය හැකි නිසා ඔබේ ලේඛනය කියවිය නොහැකි විය හැක." +"

    " + +#: fontpool.cpp:482 +#, fuzzy, kde-format +#| msgid "Currently generating %1 at %2 dpi" +msgid "Currently generating %1 at %2 dpi…" +msgstr "%2 dpi මත %1 ජනනය විය" + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "ජනකය/දිනය" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "අකුරු ගොනු සොයාගත නොහැක" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "සිරස්" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "තිරස්" + +#: psgs.cpp:286 +#, fuzzy, kde-format +#| msgid "" +#| "The version of Ghostview that is installed on this computer does not " +#| "contain any of the Ghostview device drivers that are known to Okular. " +#| "PostScript support has therefore been turned off in Okular." +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" +"මෙම පරිගණකයේ ස්ථාපිත Ghostview සංස්කරණය Okular විසින් දන්නා කිසිඳු Ghostview උපකරණ " +"ධාවකයක් නොදරයි. එම නිසා පසු විධානාවලි සහාය Okular මත අක්‍රීය කෙරිනි." + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "එය දෝශ 25ක් ඇතිකරයි. තවදුරටත් දෝශ පණිවුඩ මුද්‍රණය කල නොහැක." + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "%2 පිටුවේ DVIfile '%1' හි දෝශයක්. වර්ණ ගොඩගැසීම හිස් විට වර්ණ පොප් විධානයක් නිකුත්විය." + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" +"epsf විශේෂිත විධානයේ දෝශ සහිත පරාමිතියක්.\n" +"%2 හි %1 වෙත පාවීමක් බලාපොරොත්තු වේ" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"ගොනුව හමු නොවිනි: \n" +" %1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "%2 පිටුවේ DVIfile '%1' හි දෝශයක්. පෙළ භ්‍රමණ විශේෂයේ කෝණය අනුවර්තනය කල නොහැක." + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "'%1' විශේෂිත විධානය වැඩිදියුණු කර නොමැත." + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "%1 අකුරු ගොනුව විවෘතකර කියවිය හැකි නමුත් එහි අකුරු හැඩසවිය සහාය නොදක්වයි." + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "%1 අකුරු ගොනුව බිඳී ඇති, හෝ එය විවෘත කර කියවිය නොහැක." + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "%1 අකුරු ගොනුව සඳහා අක්‍ෂර ප්‍රමාණය සැකසීමේදී නිදහස්වර්‍ගය දෝශයක් වාර්ථා කරන ලදී." + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "නිදහස් වර්‍ගයට %2 අකුරු ගොනුවෙන් gloyph #%1 පූර්‍ණය කල නොහැකි විය." + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "නිදහස් වර්‍ගයට %2 අකුරු ගොනුවෙන් gloyph #%1 ජනනය කල නොහැකි විය." + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "Glyph #%1 හිස්." + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "%2 අකුරු ගොනුවේ Glyph #%1 හිස් ය." + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "නිදහස් වර්‍ගයට %2 අකුරු ගොනුවෙන් gloyph #%1 සඳහාවන මෙට්‍රිකය පූර්‍ණය කල නොහැකි විය." + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "%1 අකුරු ගොනුව විවෘත කල නොහැක." + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "TexFont_PK::operator[]: %2 අකුරෙහි %1 අක්‍ෂරය සඳහන් කර නොමැත2" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "%2 PK ගොනුව තුළ බලාපොරොත්තු රහිත %1" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "%2 ගොනුව සඳහා %1 අක්‍ෂර විශාලයි" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "වැරදි බිටු ගණනක් ගබඩා කර ඇත: අක්‍ෂර. %1, අකුරු %2" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "දෝශ සහිත pk ගොනුව (%1), වැඩි බිටු ගණනක්" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "අකුර සතුව චතුරශ්‍ර-නොවන දර්ශනානුපාතයක් ඇත" + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "%1 අකුර සොයාගත නොහැක, ගොනුව %2." + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "%1 අකුරු ගොනුව සඳහා පිරික්සීම නොගැලපිනි" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "%1 අකුරු ගොනුව සඳහා හැඩසවිය හඳුනාගත නොහැක" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"දරුණු දෝශයක්.\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" +"\n" +"\n" +"මෙය බොහෝ විට ඔබ විසින් Okular හි දෝශයක් සොයාගෙන ඇති හෝ,\n" +"එම DVI ගොනුව, හෝ අමතර ගොනු (අකුරු ගොනු හෝ අතත්‍ය අකුරු \n" +"ගොනු) වලට හානි වී ඇති බවයි.\n" +"මෙම පණිවුඩයෙන් පසු Okular වසා දැමෙන අතර. ඔබ දෝශයක් සොයාගත්තේ\\ යැයි හෝ මෙවන් අවස්ථාවක " +"Okular වඩා හොඳින් ක්‍රියා කල යුතුයැයි සිතයි නම්\n" +"කරුණාකර දෝශය වාර්ථා කරන්න." + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "VF මැක්‍රෝ ලැයිස්තුවේ වැරදි විධාන බයිටයක් හමුවිය: %1" + +#~ msgid "" +#~ "

    The Ghostview program, which Okular uses internally to display the " +#~ "PostScript graphics that is included in this DVI file, is generally able " +#~ "to write its output in a variety of formats. The sub-programs that " +#~ "Ghostview uses for these tasks are called 'device drivers'; there is one " +#~ "device driver for each format that Ghostview is able to write. Different " +#~ "versions of Ghostview often have different sets of device drivers " +#~ "available. It seems that the version of Ghostview that is installed on " +#~ "this computer does not contain any of the device drivers " +#~ "that are known to Okular.

    It seems unlikely that a regular " +#~ "installation of Ghostview would not contain these drivers. This error may " +#~ "therefore point to a serious misconfiguration of the Ghostview " +#~ "installation on your computer.

    If you want to fix the problems with " +#~ "Ghostview, you can use the command gs --help to display " +#~ "the list of device drivers contained in Ghostview. Among others, Okular " +#~ "can use the 'png256', 'jpeg' and 'pnm' drivers. Note that Okular needs to " +#~ "be restarted to re-enable PostScript support.

    " +#~ msgstr "" +#~ "

    මෙම DVI ගොනුවේ පසුවිධානාවලි චිත්‍රණ පෙන්වීමට භාවිත කරන Ghostview " +#~ "වැඩසටහනසාමානයෙන් එහි ප්‍රතිදාන මෙම විවිධ හැඩසවි තුළ සුරකියි. මෙම ක්‍රියා සඳහා Ghostview " +#~ "විසින්යොදාගන්නා වැඩසටහන් 'උපකරණ ධාවක' ලෙස හැඳින්වේ; Ghostview විසින් ලියන එක් " +#~ "එක්හැඩසවිය සඳහා නිශ්චිත උපකරණ ධාවකයක් පවතී. විවිධ Ghostview සංස්කරණ සතුව නිතරවෙනස් " +#~ "ආකාරයන්ගේ උපකරණ ධාවක දරයි. මෙම පරිගණකයේ ඇති Ghostview සංස්කරණය සතුවOkular විසින් " +#~ "දන්නා කිසිඳු උපකරණ ධාවකයක් නොමැති බව පෙනීයයි.

    සාමාන්‍ය " +#~ "Ghostview සංස්කරණයන් සතුව මෙම ධාවක පවතින බැවින් මෙය ඔබේ පද්ධතියේGhostview සංස්කරණය " +#~ "සමඟ ඇති දරුණු සැකසුම් දෝශයක් පෙන්වීමක් විය හැක.

    ඔබටGhostview සමඟ ඇති මෙම දෝශය " +#~ "නිරාකරණය කිරීමට ඇවැසි නම්, gs --help විධානය භාවිත කර Ghostview " +#~ "තුළ පවතින උපකරණ ධාවක ලැයිස්තුවක් ලබාගත හැක. අනික්වා අතරින්, Okular හට 'png256', " +#~ "'jpeg' හා 'pnm' ධාවක භාවිත කල හැක, පසුවිධානාවලි සහාය සක්‍රීය කිරීමට Okular නැවත " +#~ "ආරම්භ කිරීමට සිදුවන බව සලකන්න.

    " + +#~ msgid "DVI Backend" +#~ msgstr "DVI පසුඉම" + +#~ msgid "A DVI file renderer" +#~ msgstr "DVI ගොනු ජනකය" + +#~ msgid "© 2006 Luigi Toscano" +#~ msgstr "© 2006 Luigi Toscano" + +#~ msgid "" +#~ "

    Okular relies on the kpsewhich program to locate font files on " +#~ "your hard disk and to generate PK fonts, if necessary.

    " +#~ msgstr "" +#~ "

    Okular ඇවැසි නම් PK අකුරු ජනනය කිරීම සඳහා දෘඩ තැටියෙන් අකුරු සොයා ගැනීමට " +#~ "kpsewhich වැඩසටහන මත පදනම් වේ.

    " + +#~ msgid "Okular is currently generating bitmap fonts..." +#~ msgstr "Okular දැන් බිට්මැප් අකුරු නිපදවයි..." + +#~ msgid "Aborts the font generation. Do not do this." +#~ msgstr "අකුරු ජනනය වසාදමයි. මෙය සිදු නොකරන්න." + +#~ msgid "" +#~ "Okular is currently generating bitmap fonts which are needed to display " +#~ "your document. For this, Okular uses a number of external programs, such " +#~ "as MetaFont. You can find the output of these programs later in the " +#~ "document info dialog." +#~ msgstr "" +#~ "Okular දැන් ඔබේ ලේඛනය පෙන්වීමට ඇවැසි බිට්මැප අකුරු ජනනය කරයි. මේ සඳහා Okular විසින් " +#~ "MetaFont වැනි බාහිර වැඩසටහන් කිහිපයක් යොදාගනී. ඔබට මෙම වැඩසටහන් පසුව ලේඛන තොරතුරු " +#~ "සංවාදයේදී දැකිය හැක." + +#~ msgid "Okular is generating fonts. Please wait." +#~ msgstr "Okular අකුරු ජනනය කරයි. කරුණාකර රැඳෙන්න." + +#~ msgid "Font Generation Progress Dialog" +#~ msgstr "අකුරු ජනන ප්‍රගති සංවාදය" + +#~ msgid "Abort" +#~ msgstr "පිටවීම" + +#~ msgid "What is happening here?" +#~ msgstr "මෙතැන සිදුවන්නේ කුමක්ද?" + +#~ msgid "%v of %m" +#~ msgstr "%m හි %v" + +#~ msgid "Please be patient" +#~ msgstr "කරුණාකර ඉවසන්න" + +#~ msgid "*.pdf|Portable Document Format (*.pdf)" +#~ msgstr "*.pdf|ජංගම ලේඛන හැඩසවිය (*.pdf)" + +#~ msgid "Export File As" +#~ msgstr "ගොනුව අපනයනය කරන්න" + +#~ msgid "" +#~ "The file %1\n" +#~ "exists. Do you want to overwrite it?" +#~ msgstr "" +#~ "%1 ගොනුව\n" +#~ "දැනටමත් පවතී. ඔබට එය උඩින් ලිවීමට ඇවැසිද?" + +#~ msgid "Overwrite File" +#~ msgstr "ගොනුව උඩින් ලියන්න" + +#~ msgid "Overwrite" +#~ msgstr "උඩින් ලියන්න" + +#~ msgid "Using dvipdfm to export the file to PDF" +#~ msgstr "ගොනුව PDF වෙත අපනයනය කිරීමට dvipdfm යොදාගනී" + +#~ msgid "" +#~ "Okular is currently using the external program 'dvipdfm' to convert your " +#~ "DVI-file to PDF. Sometimes that can take a while because dvipdfm needs to " +#~ "generate its own bitmap fonts Please be patient." +#~ msgstr "" +#~ "Okular විසින් ඔබේ DVI ගොනු PDF වෙත හැරවීම සඳහා 'dvipdfm' බාහිර වැඩසටහන යොදාගනී, " +#~ "ඇතැම් විට dvipdfm හට තමන්ගේම බිට්මැප අකුරු තැනීමට සිදුවන නිසා යම් කාලයක් ගතවේ. කරුණාකර " +#~ "රැඳෙන්න." + +#~ msgid "Waiting for dvipdfm to finish..." +#~ msgstr "dvipdfm අවසන් වනතෙක් රැඳෙමින්..." + +#~ msgid "*.ps|PostScript (*.ps)" +#~ msgstr "*.ps|PostScript (*.ps)" + +#~ msgid "Using dvips to export the file to PostScript" +#~ msgstr "ගොනුව පසුවිධානාවලියට අපගත කිරීමට dvip යොදාගනී" + +#~ msgid "" +#~ "Okular is currently using the external program 'dvips' to convert your " +#~ "DVI-file to PostScript. Sometimes that can take a while because dvips " +#~ "needs to generate its own bitmap fonts Please be patient." +#~ msgstr "" +#~ "Okular විසින් ඔබේ DVI ගොනු පසුවිධානාවලි වෙත හැරවීම සඳහා 'dvips' බාහිර වැඩසටහන " +#~ "යොදාගනී, ඇතැම් විට dvips හට තමන්ගේම බිට්මැප අකුරු තැනීමට සිදුවන නිසා යම් කාලයක් ගතවේ. " +#~ "කරුණාකර රැඳෙන්න." + +#~ msgid "Waiting for dvips to finish..." +#~ msgstr "අවසන් කිරීම සඳහා dvips වෙත රැඳෙමින්..." + +#~ msgid "Functionality Unavailable" +#~ msgstr "ක්‍රියාකාරීත්වය නොපවතී" + +#~ msgid "" +#~ "File corruption Okular could not interpret your DVI " +#~ "file. This is most commonly caused by a corrupted file." +#~ msgstr "" +#~ "ගොනුව දූශිතයි Okular හට ඔබේ DVI ගොනු පරිවර්තනය කල නොහැක. " +#~ "මෙය බොහෝ විට දූශිත ගොනුවක් නිසා විය හැක." + +#~ msgid "DVI File Error" +#~ msgstr "DVI ගොනු දෝශයක්" + +#~ msgid "Not All Font Files Found" +#~ msgstr "සියළු අකුරු ගොනු හමු නොවිනි" + +#~ msgid "Locating fonts..." +#~ msgstr "අකුරු හඳුනාගනිමින්..." + +#~ msgid "Problem locating fonts" +#~ msgstr "අකුරු හඳුනාගැනීමේ දෝශයක්" + +#~ msgid "Font generation aborted" +#~ msgstr "අකුරු ජනනය නැවතිනි" + +#~ msgid "Export: %1 to PDF" +#~ msgstr "අපනයනය: %1 PDF වෙත" + +#~ msgid "Export: %1 to PostScript" +#~ msgstr "අපනයනය: %1 පසුවිධානාවලි වෙත" diff --git a/po/si/okular_epub.po b/po/si/okular_epub.po new file mode 100644 index 0000000..267031f --- /dev/null +++ b/po/si/okular_epub.po @@ -0,0 +1,56 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Danishka Navin , 2011. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2011-08-19 19:16+0530\n" +"Last-Translator: Danishka Navin \n" +"Language-Team: Sinhala \n" +"Language: si\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.2\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Danishka Navin" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "danishka@gmail.com" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "EPub ලේඛනයක් විවෘත කිරීමේ දෝශයක්." + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "" + +#: generator_epub.cpp:30 +#, fuzzy, kde-format +#| msgid "EPub Backend" +msgid "EPub Backend Configuration" +msgstr "EPub පසුඉම" + +#~ msgid "EPub Backend" +#~ msgstr "EPub පසුඉම" + +#~ msgid "An EPub backend" +#~ msgstr "EPub පසුඉමක්" + +#~ msgid "© 2008 Ely Levy" +#~ msgstr "© 2008 Ely Levy" + +#~ msgid "Ely Levy" +#~ msgstr "Ely Levy" diff --git a/po/si/okular_fax.po b/po/si/okular_fax.po new file mode 100644 index 0000000..a978a89 --- /dev/null +++ b/po/si/okular_fax.po @@ -0,0 +1,45 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Danishka Navin , 2011. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2011-08-19 19:17+0530\n" +"Last-Translator: Danishka Navin \n" +"Language-Team: Sinhala \n" +"Language: si\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.2\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Danishka Navin" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "danishka@gmail.com" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "ලේඛනය පූර්ණය කල නොහැක" + +#~ msgid "Fax Backend" +#~ msgstr "ෆැක්ස් පසුඉම" + +#~ msgid "A G3/G4 fax document backend" +#~ msgstr "G3/G4 ෆැක්ස් ලේඛන පසුඉමක්" + +#~ msgid "© 2008 Tobias Koenig" +#~ msgstr "© 2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/si/okular_fictionbook.po b/po/si/okular_fictionbook.po new file mode 100644 index 0000000..cac922b --- /dev/null +++ b/po/si/okular_fictionbook.po @@ -0,0 +1,82 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Danishka Navin , 2011. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2011-08-19 19:27+0530\n" +"Last-Translator: Danishka Navin \n" +"Language-Team: Sinhala \n" +"Language: si\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.2\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Danishka Navin" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "danishka@gmail.com" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "ලේඛනය වලංගු FictionBook නොවේ" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "ලේඛනය විවෘත කල නොහැක: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "ලේඛනය වලංගු ZIP සංරක්‍ෂකයක් නොවේ" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "වැරදි ලේඛනය සැකැස්මක් (ප්‍රධාන නාමාවලිය නොමැත)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "ලේඛනයේ කිසිඳු අන්තර්ගතයක් නොමැත" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "වැරදි XML ලේඛනයක්: %1" + +#: generator_fb.cpp:26 +#, fuzzy, kde-format +#| msgid "Fiction Book Backend" +msgid "FictionBook" +msgstr "Fiction Book පසුඉම" + +#: generator_fb.cpp:26 +#, fuzzy, kde-format +#| msgid "Fiction Book Backend" +msgid "FictionBook Backend Configuration" +msgstr "Fiction Book පසුඉම" + +#~ msgid "Fiction Book Backend" +#~ msgstr "Fiction Book පසුඉම" + +#~ msgid "A renderer for FictionBook eBooks" +#~ msgstr "FictionBook සඳහා ජනකයක්" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/si/okular_ghostview.po b/po/si/okular_ghostview.po new file mode 100644 index 0000000..2eb1182 --- /dev/null +++ b/po/si/okular_ghostview.po @@ -0,0 +1,91 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Danishka Navin , 2011. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2011-08-19 19:32+0530\n" +"Last-Translator: Danishka Navin \n" +"Language-Team: Sinhala \n" +"Language: si\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.2\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Danishka Navin" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "danishka@gmail.com" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "වේදිකා අකුරු භාවිත කරන්න" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"Ghostscript වෙත වේදිකා අකුරු භාවිතයට ඉඩ දිය යුතුදැයි හඳුනා ගනී. අසත්‍ය නම් ලේඛනයට තිළැලි " +"අකුරු පමණක් භාවිතයට ඉඩදෙනු ලැබේ." + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "සාමාන්‍ය සැකසුම්" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "වේදිකා අකුරු භාවිත කරන්න (&U)" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Ghostscript පසුඉම් සැකසුම" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "ලේඛන සංස්කරණය" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "භාශා මට්ටම" + +#~ msgid "PS Backend" +#~ msgstr "PS පසුඉම" + +#~ msgid "A PostScript file renderer." +#~ msgstr "පසුවිධානාවලු ගොනු ජනකය" + +#~ msgid "© 2007-2008 Albert Astals Cid" +#~ msgstr "© 2007-2008 Albert Astals Cid" + +#~ msgid "Based on the Spectre library." +#~ msgstr "Spectre පුස්ථකාලය මත පදනම් වේ." + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" diff --git a/po/si/okular_kimgio.po b/po/si/okular_kimgio.po new file mode 100644 index 0000000..0e9425d --- /dev/null +++ b/po/si/okular_kimgio.po @@ -0,0 +1,67 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Danishka Navin , 2011. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2011-08-19 19:21+0530\n" +"Last-Translator: Danishka Navin \n" +"Language-Team: Sinhala \n" +"Language: si\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.2\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Danishka Navin" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "danishka@gmail.com" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "ලේඛනය පූර්ණය අසාර්ථකයි: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" + +#~ msgid "Image Backend" +#~ msgstr "පිළිබිඹු පසුඉම" + +#~ msgid "A simple image backend" +#~ msgstr "සරල පිළිබිඹු පසුඉමක්" + +#~ msgid "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" +#~ msgstr "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" + +#~ msgid "Main Toolbar" +#~ msgstr "ප්‍රධාන මෙවලම් තීරුව" diff --git a/po/si/okular_mobi.po b/po/si/okular_mobi.po new file mode 100644 index 0000000..7f3c172 --- /dev/null +++ b/po/si/okular_mobi.po @@ -0,0 +1,63 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Danishka Navin , 2011. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2011-08-19 19:33+0530\n" +"Last-Translator: \n" +"Language-Team: Sinhala \n" +"Language: si\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.2\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Danishka Navin" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "danishka@gmail.com" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Mobipocket ලේඛනය විවෘතකිරීමේ දෝශයක්" + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "මෙම ලේඛනය DRM මගින් ආරක්‍ෂා කර ඇති අතර නිශ්චිත උපකරණයක් මගින් පමණක් පෙන්විය හැක" + +#: generator_mobi.cpp:25 +#, fuzzy, kde-format +#| msgid "Mobipocket Backend" +msgid "Mobipocket" +msgstr "Mobipocket පසුඉම" + +#: generator_mobi.cpp:25 +#, fuzzy, kde-format +#| msgid "Mobipocket Backend" +msgid "Mobipocket Backend Configuration" +msgstr "Mobipocket පසුඉම" + +#~ msgid "Mobipocket Backend" +#~ msgstr "Mobipocket පසුඉම" + +#~ msgid "A mobipocket backend" +#~ msgstr "mobipocket පසුඉමක්" + +#~ msgid "© 2008-2009 Jakub Stachowski" +#~ msgstr "© 2008-2009 Jakub Stachowski" + +#~ msgid "Jakub Stachowski" +#~ msgstr "Jakub Stachowski" diff --git a/po/si/okular_poppler.po b/po/si/okular_poppler.po new file mode 100644 index 0000000..c6ea795 --- /dev/null +++ b/po/si/okular_poppler.po @@ -0,0 +1,405 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Danishka Navin , 2011. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2011-08-20 10:23+0530\n" +"Last-Translator: Danishka Navin \n" +"Language-Team: Sinhala \n" +"Language: si\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.2\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Danishka Navin " + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "danishka@gmail.com" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "නැහැ" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "PDF අභිප්‍රේත" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "බල රාස්ටරීකරණය" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "මුද්‍රණයකට පෙර පිළිබිඹුවක් වෙත රාස්ටරීකරණය කරන්න" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"මුද්‍රණයට පෙර එක් එක් පිටුව බලයෙන් රාස්ටරීකරණය කරවයි. මෙය සාමාන්‍යෙන් දුර්වල ප්‍රථිපල ලබාදෙන " +"නමුත් නිවැරදි ලෙස මුද්‍රණය නොවන ලේඛන මුද්‍රණය සඳහා ඇතැම්විට ප්‍රයෝජනවත් වේ." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "" + +#: generator_pdf.cpp:1031 +#, fuzzy, kde-format +#| msgctxt "PDF v. " +#| msgid "PDF v. %1" +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF v. %1" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "හැඩසවිය" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "සංකේතිත" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "සංකේතිත නොවන" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "ආරක්‍ෂාව" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "ඔව්" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "සීරුමාරු කල" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "" + +#: generator_pdf.cpp:1758 +#, fuzzy, kde-format +#| msgid "PDF Backend" +msgid "PDF Backend Configuration" +msgstr "PDF පසුඉම" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "" + +#: pdfsignatureutils.cpp:239 +#, fuzzy, kde-format +#| msgid "Document Password" +msgid "Enter Password" +msgstr "ලේඛන මුරදපය" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "" + +#~ msgid "PDF Backend" +#~ msgstr "PDF පසුඉම" + +#~ msgid "A PDF file renderer" +#~ msgstr "PDF ගොනු ජනකය" + +#~ msgid "© 2005-2008 Albert Astals Cid" +#~ msgstr "© 2005-2008 Albert Astals Cid" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Saving files with /Encrypt is not supported." +#~ msgstr "/සංකේතනය සමඟ ගොනු සුරැකීම සහාය නොදක්වයි." + +#~ msgid "Unknown" +#~ msgstr "නොදන්නා" + +#~ msgid "Unknown Date" +#~ msgstr "නොදන්නා දිනය" + +#~ msgid "Unknown Encryption" +#~ msgstr "නොදන්නා සංකේතනය" + +#~ msgid "Unknown Optimization" +#~ msgstr "නොදන්නා සීරුමාරුකිරීමක්" + +#~ msgid "Please enter the password to read the document:" +#~ msgstr "කරුණාකර ලේඛනය කියවීමට ඇවැසි මුරපදය ඇතුළත් කරන්න:" + +#~ msgid "Incorrect password. Try again:" +#~ msgstr "සාවද්‍ය මුරපදයක්, නැවත උත්සාහ කරන්න:" diff --git a/po/si/okular_xps.po b/po/si/okular_xps.po new file mode 100644 index 0000000..ac0413e --- /dev/null +++ b/po/si/okular_xps.po @@ -0,0 +1,57 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Danishka Navin , 2011. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2011-08-19 19:15+0530\n" +"Last-Translator: Danishka Navin \n" +"Language-Team: Sinhala \n" +"Language: si\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.2\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Danishka Navin" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "danishka@gmail.com" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "පුනරීක්‍ෂණය" + +#~ msgid "XPS Backend" +#~ msgstr "XPS පසුඉම" + +#~ msgid "An XPS backend" +#~ msgstr "XPS පසු ඉමක්" + +#~ msgid "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" +#~ msgstr "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" + +#~ msgid "Brad Hards" +#~ msgstr "Brad Hards" + +#~ msgid "Jiri Klement" +#~ msgstr "Jiri Klement" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" diff --git a/po/sk/okular.po b/po/sk/okular.po new file mode 100644 index 0000000..f2ef802 --- /dev/null +++ b/po/sk/okular.po @@ -0,0 +1,6883 @@ +# translation of okular.po to Slovak +# Stanislav Visnovsky , 2003, 2004. +# Jozef Říha , 2006. +# Richard Fric , 2006, 2007. +# Michal Sulek , 2009, 2010, 2011. +# Richard Frič , 2011, 2012. +# Roman Paholík , 2012, 2013, 2014, 2015, 2016, 2017, 2020. +# Mthw , 2019. +# SPDX-FileCopyrightText: 2019, 2020, 2021, 2022, 2024 Matej Mrenica +# Dusan Kazik , 2020. +# Ferdinand Galko , 2023. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-03-24 11:41+0100\n" +"Last-Translator: Matej Mrenica \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 24.02.1\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Jozef Říha, Michal Šulek, Roman Paholík, Matej Mrenica,Dušan Kazik" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" +"jose1711@gmail.com,misurel@gmail.com,wizzardsk@gmail.com, jari_45@hotmail." +"com,prescott66@gmail.com" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Okular, univerzálny prehliadač dokumentov" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "Pôvodný správca" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "" +"Množstvo práce na frameworku, FictionBook backende a bývalom ODT backende" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "Vývojár" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymanski" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "Vytvorenie Okularu z kódu KPDF" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "Enrico Ros" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "Vývojár KPDF" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "Eugene Trounev" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "Grafika poznámok" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "Jiri Baum - NICTA" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "Nástroj výberu tabuľky" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "Fabio D'Urso" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "Zlepšenia poznámok" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "Prejsť na stránku %1" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "Otvoriť externý súbor" + +#: core/action.cpp:197 +#, fuzzy, kde-format +#| msgid "Execute '%1'..." +msgid "Execute '%1'…" +msgstr "Vykonať '%1'..." + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "Prvá stránka" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "Predchádzajúca stránka" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "Nasledujúca stránka" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "Posledná stránka" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "Späť" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "Dopredu" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Koniec" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "Spustiť prezentáciu" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "Ukončiť prezentáciu" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go To Page…" +msgstr "Prejsť na stránku" + +#: core/action.cpp:365 +#, fuzzy, kde-format +#| msgid "Play sound..." +msgid "Play sound…" +msgstr "Prehrať zvuk..." + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "Skript JavaScriptu" + +#: core/action.cpp:483 +#, fuzzy, kde-format +#| msgid "Play movie" +msgid "Play movie…" +msgstr "Prehrať film" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "Prehrať film" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "Zastaviť film" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "Pozastaviť film" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "Pokračovať film" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "Výber backendu" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
    %1 (%2).

    Please select which one to use:
    " +msgstr "" +"Viac ako jeden backend bol nájdený pre typ MIME:
    %1 (%2)." +"

    Prosím vyberte, ktorý chcete použiť:
    " + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "Väčšina stránok je %1." + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "Portrét %1" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "Krajinka %1" + +#: core/document.cpp:246 +#, fuzzy, kde-format +#| msgctxt "%1 is width, %2 is height, %3 is paper size name" +#| msgid "%1 x %2 in (%3)" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 x %2 in (%3)" + +#: core/document.cpp:248 +#, fuzzy, kde-format +#| msgctxt "%1 is width, %2 is height, %3 is paper size name" +#| msgid "%1 x %2 mm (%3)" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 x %2 mm (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "Pokračujem hľadanie od začiatku" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "Pokračujem hľadanie od konca" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "Nie je možné nájsť modul schopný spracovať dokument." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "odstrániť poznámky" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"Dokument sa pokúsil spustiť externú aplikáciu, z dôvodu bezpečnosti to však " +"Okular nepovolil." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "S MIME typom %1 nie je asociovaná žiadna aplikácia." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "Nepodarilo sa otvoriť dočasný súbor" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "Konverzia tlače zlyhala" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "Proces tlače spadol" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "Proces tlače sa nepodarilo spustiť" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "Tlač do súboru zlyhala" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "Tlačiareň je v neplatnom stave" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "Nepodarilo sa nájsť súbor pre tlač" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "Nebol nájdený žiadny súbor pre tlač" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"Nepodarilo sa nájsť vhodný program pre tlač. Uistite sa, že je k dispozícii " +"CUPS príkaz lpr." + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "Veľkosť tlače strany je neplatná" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "Nepodarilo sa otvoriť \"%1\". Súbor neexisstuje." + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Názov" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Predmet" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Popis" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "Autor" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Tvorca" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Vyrobil" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "Copyright" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "Stránok" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Vytvorené" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Zmenené" + +#: core/document.cpp:6032 +#, kde-format +msgid "MIME Type" +msgstr "Typ MIME" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "Kategória" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Kľúčové slová" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "Cesta k súboru" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "Veľkosť súboru" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "Veľkosť stránky" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "pridať poznámku" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "odstrániť poznámku" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "zmeniť vlastnosti poznámky" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "preložiť poznámku" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "upraviť poznámku" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "editovať text" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "upraviť obsah poznámky" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "upraviť obsah formulára" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "upraviť voľby zoznamu formulára" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "upraviť výber kombo formulára" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "upraviť vlastné stavy tlačidiel" + +#: core/generator.cpp:790 +#, fuzzy, kde-format +#| msgid "Plain &Text..." +msgid "Plain &Text…" +msgstr "Čistý &text..." + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "OpenDocument Text" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "Možnosti tlače" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "Vyplniť tlačiteľnú oblasť" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "Vyplniť celú stranu" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "Režim škálovania:" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "Túto správu viac nezobrazovať" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "Nedostupné" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" + +#: core/signatureutils.cpp:498 +#, fuzzy, kde-kuit-format +#| msgctxt "@info" +#| msgid "Could not load the file %1" +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "Nepodarilo sa načítať súbor %1" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "" + +#: core/signatureutils.cpp:504 +#, fuzzy, kde-kuit-format +#| msgctxt "@info" +#| msgid "" +#| "Could not overwrite %1 because that file is read-" +#| "only. Try saving to another location or changing that file's permissions." +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" +"Nemožno prepísať %1, pretože tento súbor je len na " +"čítanie. Skúste uložiť na iné miesto alebo zmeniť oprávnenia tohto súboru." + +#: core/signatureutils.cpp:506 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown signing error" +msgstr "Neznámy súbor" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Zdroj: %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "Predvolené písmo:" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "Verzia" + +#: gui/certificatemodel.cpp:41 +#, kde-format +msgid "Serial Number" +msgstr "Sériové číslo" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "Vydavateľ" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "Vydané (kedy)" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "Expiruje" + +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Predmet" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "Verejný kľúč" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "Použitie kľúča" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "V%1" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "%1 (%2 bity)" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "Vlastníctvo" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "Hodnota" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "Vyskakovacia poznámka" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "Písací stroj" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "Vložená poznámka" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +#| msgid "Polygon with Comment" +msgid "Arrow with Comment" +msgstr "Polygon s komentárom" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "Šípka" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "Rovná čiara s komentárom" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "Priamka" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "Polygon s komentárom" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "Mnohouholník" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgid "Stamp with Comment" +msgid "Rectangle with Comment" +msgstr "Pečiatka s komentárom" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "Obdĺžnik" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgid "Underline with Comment" +msgid "Ellipse with Comment" +msgstr "Podčiarknutý text s komentárom" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "Elipsa" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "Zvýraznenie s komentárom" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "Zvýraznenie" + +#: gui/guiutils.cpp:87 +#, kde-format +msgid "Squiggle with Comment" +msgstr "Vlnitý s komentárom" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "Vlnovka" + +#: gui/guiutils.cpp:91 +#, kde-format +msgid "Underline with Comment" +msgstr "Podčiarknutý text s komentárom" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "Podčiarknuté" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out with Comment" +msgstr "Prečiarknutý text s komentárom" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "Prečiarknuté" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "Pečiatka s komentárom" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "Razítko" + +#: gui/guiutils.cpp:106 +#, kde-format +msgid "Freehand Line with Comment" +msgstr "Čiara voľnou rukou s komentárom" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "Čiara voľnou rukou" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "Kurzor" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "Súbor s prílohou" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "Zvuk" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "Film" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Obrazovka" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "Widget" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "Rich Media" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation" +msgstr "Poznámka" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "Neznámy" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Autor: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "Kde chcete uložiť %1?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "Nepodarilo sa otvoriť \"%1\" pre zápis. Súbor nebol uložený." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "Podpis je kryptograficky platný." + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "Podpis je kryptograficky neplatný." + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "Vyskytla sa nezhoda s prehľadom." + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "Štruktúra podpisu CMS/PKCS7 je chybná." + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "Požadovaný podpis sa v dokumente nenachádza." + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "Podpis nebolo možné overiť." + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "Certifikát je dôverihodný." + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "Certifikát je nie je dôverihodný." + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "Vydavateľ certifikátu je neznámy." + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "Certifikát bol zrušený." + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "Certifikátu vypršala platnosť." + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "Certifikát ešte nebol overený." + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "Neznámy problém s certifikátom alebo poškodené údaje." + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "MD2" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "MD5" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "SHA1" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "SHA256" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "SHA384" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "SHA512" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "SHA224" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "Neznámy algoritmus" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "RSA" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "DSA" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "EC" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "Neznámy typ" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "Digitálny podpis" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "Neodmietnutie" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "Šifrovacie kľúče" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "Dešifrovacie kľúče" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "Zhoda kľúčov" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "Podpísať certifikát" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "Podpísať CRL" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "Iba na šifrovanie" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "Nešpecifikované použitie" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr ", " + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "Tento dokument nebol upravený od podpísania." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" +"Revízia dokumentu, na ktorý sa vzťahuje tento podpis, sa nezmenila;\n" +"v dokumente sa však vyskytli následné zmeny." + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" +"Tento dokument bol upravený spôsobom nepoveleným predchádzajúcim " +"podpisovateľom." + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "Overenie pravosti dokumentu sa nepodarilo dokončiť." + +#: gui/signatureguiutils.cpp:208 +#, fuzzy, kde-format +#| msgid "This document has unsigned signature fields." +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "Tento dokument má nepodpísané podpisové polia." + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "Tento dokument je digitálne podpísaný." + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "" +"Tento dokument je digitálne podpísaný. Od posledného podpísania došlo k " +"zmenám." + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" +"Tento dokument je digitálne podpísaný. Niektoré z podpisov nebolo možné " +"overiť správne." + +#: gui/signaturemodel.cpp:141 +#, fuzzy, kde-format +#| msgid "Signature Validity:" +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "Platnosť podpisu:" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "Pole: %1 na strane %2" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "Rev. %1: Podpísaná By %2" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "Čas podpisu: %1" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "Dôvod: %1" + +#: gui/signaturemodel.cpp:177 +#, kde-format +msgid "Location: %1" +msgstr "Umiestnenie: %1" + +#: gui/signaturemodel.cpp:185 +#, fuzzy, kde-format +#| msgid "Signatures" +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "Podpisy" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "" + +#: gui/signaturemodel.cpp:193 +#, fuzzy, kde-format +#| msgctxt "Unknown author" +#| msgid "Unknown" +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "Neznámy" + +#: gui/signaturemodel.cpp:195 +#, fuzzy, kde-format +#| msgid "Signature Validity:" +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "Platnosť podpisu:" + +#: gui/signaturemodel.cpp:201 +#, fuzzy, kde-format +#| msgid "Signature Validity:" +msgid "Signature Type: %1" +msgstr "Platnosť podpisu:" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "Červená" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "Oranžová" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "Žltá" + +#: part/annotationactionhandler.cpp:151 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "Zelená" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "Tyrkysová" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "Modrá" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "Purpurová" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "Biela" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "Šedá" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "Čierna" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "Šírka %1" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1%" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "Šírka riadku poznámky (Nie je vybratá žiadna poznámka)" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "Farba poznámky (Nie sú vybrané žiadne poznámky)" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "Farba výplne poznámky (Nie je vybratá žiadna poznámka)" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "Krytie poznámky (Nie sú vybrané žiadne poznámky)" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "Písmo poznámky (Nie je vybratá žiadna poznámka)" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" +"Pridajte aktuálnu poznámku do ponuky rýchlych poznámok (nie je vybratá " +"žiadna poznámka)." + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" +"Obmedziť pomer tvaru na 1:1 alebo uhol čiar do 15° krokov (Žiadne poznámky " +"nie sú vybrané)" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" +"Rozšírené nastavenia pre aktuálny nástroj poznámok (nie je vybratá žiadna " +"poznámka)" + +#: part/annotationactionhandler.cpp:308 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Šírka riadku poznámky" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "Šírka čiary poznámky (Aktuálna poznámka nemá šírku čiary)" + +#: part/annotationactionhandler.cpp:314 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Farba textu poznámky" + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "Farba okraja poznámky" + +#: part/annotationactionhandler.cpp:318 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Farba poznámky" + +#: part/annotationactionhandler.cpp:322 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Farba výplne poznámky" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "Farba výplne poznámky (Aktuálna poznámka nemá žiadnu výplň)" + +#: part/annotationactionhandler.cpp:328 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "Písmo poznámky" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "Písmo poznámky (Aktuálna poznámka nemá písmo)" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "Obmedziť uhol čiar do 15° krokov" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "Obmedziť pomer tvaru na 1:1" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" +"Obmedziť pomer tvaru na 1:1 alebo uhol čiar do 15° krokov (súčasná poznámka " +"toto nepodporuje)" + +#: part/annotationactionhandler.cpp:341 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Krytie poznámky" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "Pridajte aktuálnu poznámku do ponuky rýchlych poznámok" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "Rozšírené nastavenia aktuálneho nástroja poznámok" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "Farba" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "Farba výplne" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "Priesvitný" + +#: part/annotationactionhandler.cpp:445 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "Custom Color..." +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "Vlastná farba..." + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "Vybrať farbu" + +#: part/annotationactionhandler.cpp:552 +#, kde-format +msgid "&Annotations" +msgstr "&Poznámky" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "Skryť" + +#: part/annotationactionhandler.cpp:554 +#, kde-format +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Zobraziť viac nástrojov pre poznámky" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "Zvýrazňovač" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "Podčiarknuté" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "Vlnovka" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "Prečiarknuté" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Písací stroj" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "Vložená poznámka" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "Vyskakovacia poznámka" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "Čiara voľnou rukou" + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "Priamka" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "Šípka" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "Obdĺžnik" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "Elipsa" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "Mnohouholník" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "Geometrické tvary" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "Razítko" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Rýchle poznámky" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "Vyberte nástroj poznámok z rýchlych poznámok" + +#: part/annotationactionhandler.cpp:651 +#, kde-format +msgid "Quick Annotation Bar" +msgstr "Panel rýchlych poznámok" + +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "Pridať k rýchlym poznámkam" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "Zachovať aktívne" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "Nástroj poznámok nechať po použití aktívny" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "Obmedziť pomer a uhol nástrojov poznámok" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "Písmo" + +#: part/annotationactionhandler.cpp:681 +#, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Nastavenia poznámok" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "Šírka čiary" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "Krytie" + +#: part/annotationactionhandler.cpp:696 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1%" + +#: part/annotationmodel.cpp:320 +#, kde-format +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "Stránka %1 (%2)" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "Stránka %1" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "Poznámka" +msgstr[1] "%1 poznámky" +msgstr[2] "%1 poznámok" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "&Otvoriť vyskakovaciu poznámku" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Odstrániť záložku" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Pridať záložku" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, kde-format +msgid "Copy Text to Clipboard" +msgstr "Kopírovať text do schránky" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "Kopírovanie zakázané kvôli DRM" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "&Odstrániť" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "&Vlastnosti" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, fuzzy, kde-format +#| msgctxt "%1 is the name of the file to save" +#| msgid "&Save '%1'..." +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "&Uložiť '%1'..." + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "Vz&hľad" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "&Všeobecné" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&Autor:" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "Vytvorené:" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "Zmenené:" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "Vlastnosti vyskakovacej poznámky" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "Vlastnosti písacieho stroja" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "Vlastnosti vloženej poznámky" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "Vlastnosti rovnej čiary" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "Vlastnosti polygónu" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "Vlastnosti geometrie" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "Vlastnosti textovej značky" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "Vlastnosti razítka" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "Vlastnosti čiary voľnou rukou" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "Vlastnosti kurzoru" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "Vlastnosti súboru s prílohou" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "Vlastnosti zvuku" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "Vlastnosti filmu" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "Vlastnosti poznámky" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "Vybrať symbol vlastného razítka zo súboru" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "Vyberte vlastný symbol razítka" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" +"*.ico *.png *.xpm *.svg *.svgz | Súbory ikon (*.ico *.png *.xpm *.svg *.svgz)" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "Nepodarilo sa načítať súbor %1" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "Neplatný súbor" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&Farba:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%1%" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "&Krytie:" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "Ikona:" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "Komentár" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "Pomocník" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "Vložiť" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "Klávesa" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "Nový odstavec" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "Poznámka" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "Odstavec" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Písmo:" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "Farba písma:" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "&Zarovnanie:" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "Doľava" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "Vycentrovať" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "Doprava" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "Šírka okraja:" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "Schválené" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "Tak ako je" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "Dôverné" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "Oddelenie" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "Návrh" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "Experimentálne" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "Expirované" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "Finálne" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "Pre komentáre" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "Pre verejné publikovanie" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "Neschválené" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "Nie pre verejné publikovanie" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "Predané" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "Prísne tajné" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "Záložka" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "Informácia" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "Symbol razítka:" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "Šírka &pera:" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "Začiatok riadku:" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "Koniec riadku:" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "Štvorec" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "Kruh" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "Diamant" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "Otvorená šípka" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "Zatvorená šípka" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "Žiadny" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "Značka" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "Otvorená šípka vpravo" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "Pravá zatvorená šípka" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "Lomítko" + +#: part/annotationwidgets.cpp:531 +#, kde-format +msgid "Leader line length:" +msgstr "Dĺžka vodiacej čiary:" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "Dĺžka rozšírení vodiacej čiary:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "Povolené" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "Výplň tvaru:" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Typ:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "Prečiarknuté" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "Symbol súboru s prílohou:" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "Graf" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "Pripináčik" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "Spinka" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "Značka" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "Súbor" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "N/A" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "Popis nie je k dispozícii." + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "&Názov:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "Popis:" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "Znak vsuvky:" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "Žiadny" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "Zavrieť túto poznámku" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "Možnosti" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"Táto poznámka môže obsahovať kód LaTeX.\n" +"Kliknite sem na vykreslenie." + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "Nie je možné nájsť program latex." + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "LaTeX renderovanie zlyhalo" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "Nie je možné nájsť program dvipng." + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "Počas vykonania príkazu 'latex' nastala chyba." + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "Počas vykonania príkazu 'dvipng' nastala chyba." + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"Jedna záložka" +msgstr[1] "" +"%1\n" +"\n" +"%2 záložky" +msgstr[2] "" +"%1\n" +"\n" +"%2 záložiek" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Záložky" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "Zobraziť pre všetky dokumenty" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, fuzzy, kde-format +#| msgid "S&earch:" +msgid "Search…" +msgstr "&Hľadať:" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, fuzzy, kde-format +#| msgid "Expand all" +msgid "Expand All" +msgstr "Rozbaliť všetko" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, fuzzy, kde-format +#| msgid "Collapse all" +msgid "Collapse All" +msgstr "Zbaliť všetko" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "Prejsť na túto záložku" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "Premenovať záložku" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Otvoriť dokument" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "Odstrániť všetky záložky pre tento dokument" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "Prehliadač certifikátov" + +#: part/certificateviewer.cpp:50 +#, fuzzy, kde-format +#| msgid "Export..." +msgid "Export…" +msgstr "Exportovať..." + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "Všeobecné" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "Vydané (kým)" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "Bežný názov (KN)" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "EMail" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "Organizácia" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "Vydané (komu)" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "Platnosť" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "Odtlačky" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "Odtlačok SHA-1" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "Odtlačok SHA-256" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "Podrobnosti" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "Údaje certifikátu:" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "Kde chcete uložiť tento certifikát?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "Súbor certifikátu (*.cer)" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "Nepodarilo sa exportovať certifikát" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "&Farebný režim" + +#: part/colormodemenu.cpp:21 +#, kde-format +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "Zmeniť farby" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "Normálne farby" + +#: part/colormodemenu.cpp:41 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "Invertovať farby" + +#: part/colormodemenu.cpp:42 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "Zmeniť farbu papiera" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "Zmeniť tmavé a svetlé farby" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "Previesť na čiernobielu" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "Invertovať svetlosť" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "Invertovať Luma (sRGB lineárne)" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "Invertovať Luma (Symetrické)" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "Posunúť odtieň pozitívne" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "Posunúť odtieň negatívne" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "Červená" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "Zelená" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "Modrá" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "Žltá" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "Čierna" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "Biela" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "Žltý zvýrazňovač" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "Zelený zvýrazňovač" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "Vložiť text" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "Kresliť okraj okolo odkazov" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "Zmeniť farby" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "" +"Varovanie: tieto možnosti môžu vážne ovplyvniť rýchlosť vykresľovania." + +#: part/dlgaccessibility.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "Invertovať farby" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "Zmeniť farbu papiera" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "Zmeniť tmavé a svetlé farby" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "Previesť na čiernobielu" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "Invertovať ľahkosť" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "Invertovať Luma (sRGB lineárne)" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "Invertovať Luma (Symetrické)" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "Posunúť odtieň pozitívne" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "Posunúť odtieň negatívne" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "Farebný režim:" + +#: part/dlgaccessibility.cpp:87 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Farba papiera:" + +#: part/dlgaccessibility.cpp:99 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Tmavá farba:" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "Svetlá farba:" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "Prah:" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Kontrast:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "Nástroj na prevod textu na reč:" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "Hlas pre prevod textu na reč:" + +#: part/dlgannotations.cpp:25 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Panel nástrojov úplných poznámok" + +#: part/dlgannotations.cpp:26 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Panel nástrojov rýchlych poznámok" + +#: part/dlgannotations.cpp:28 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Panel nástrojov poznámok:" + +#: part/dlgannotations.cpp:34 +#, kde-format +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "Autor:" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"Poznámka: použité informácie budú použité iba pre poznámky. " +"Informácie sú uložené do opoznámkovaných dokumentov a budú prenesené spolu s " +"dokumentom." + +#: part/dlgannotations.cpp:48 +#, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

    Quick Annotation Tools

    " +msgstr "

    Nástroje rýchlej poznámky

    " + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" +"Vyberte editor, ktorý chcete spustiť, ak chce Okular otvoriť zdrojový súbor." + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "Vlastný textový editor" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Klient Emacs" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "Klient Lyx" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "TeXstudio" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "TeXiFy IDEA" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "Editor:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
    \n" +"You can also put few placeholders:\n" +"
      \n" +"
    • %f - the file name
    • \n" +"
    • %l - the line of the file to be reached
    • \n" +"
    • %c - the column of the file to be reached
    • \n" +"
    \n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"Nastavte príkaz pre vlastný textový editor.
    \n" +"Môžete použiť niekoľko zastupiteľných znakov:\n" +"
      \n" +"
    • %f - názov súboru
    • \n" +"
    • %l - prejsÅ¥ na riadok v súbore
    • \n" +"
    • %c - prejsÅ¥ na stĺpec v súbore
    • \n" +"
    \n" +"Ak nie je zadané %f, názov súboru bude pridaný k zadanému príkazu." + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "Príkaz:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "Používať plynulé posúvanie" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "Vzhľad:" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "Zobrazovať posuvníky" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "Prepojiť náhľady so stránkou" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "Zobrazovať rady a informačné správy" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "Upozorniť na vložené súbory, formuláre alebo podpisy" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "Zobraziť dokument v záhlaví ak je dostupný" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "Zobraziť iba názov súboru" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "Zobraziť celú cestu súboru" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "Pri nezobrazení názvu dokumentu:" + +#: part/dlggeneral.cpp:92 +#, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "Použiť vlastnú farbu pozadia:" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "Funkcie programu:" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "Otvoriť nové súbory v kartách" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "Ak je súbor už otvorený, prepnúť na existujúcu kartu" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "Rešpektovať DRM obmedzenia" + +#: part/dlggeneral.cpp:148 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "Znovu načítať dokument pri zmene súboru" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "Zobrazovať dialóg pre výber backendu" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "Smer čítania sprava doľava" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" + +#: part/dlggeneral.cpp:178 +#, fuzzy, kde-format +#| msgctxt "@option:check Config dialog, general page" +#| msgid "Open in continuous mode by default" +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "Predvolene otvoriť v nepretržitom režime" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "Predvolene otvoriť v nepretržitom režime" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" +"Pri používaní nástroja prehliadania obtočiť kurzor na okrajoch obrazovky" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "Stĺpce v prehľade:" + +#: part/dlggeneral.cpp:220 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%1%" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" +"Určuje, koľko z aktuálnej plochy pohľadu bude stále vidieť po stlačení " +"klávesov Page Up/Down." + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "Presah Page Up/Down:" + +#: part/dlggeneral.cpp:228 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%1%" + +#: part/dlggeneral.cpp:232 +#, fuzzy, kde-format +#| msgctxt "item:inlistbox Config dialog, general page, default zoom" +#| msgid "100%" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "100%" + +#: part/dlggeneral.cpp:233 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "Prispôsobiť šírke" + +#: part/dlggeneral.cpp:234 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "Prispôsobiť stránke" + +#: part/dlggeneral.cpp:235 +#, fuzzy, kde-format +#| msgid "Auto Fit" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "Automaticky prispôsobiť" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "" + +#: part/dlggeneral.cpp:237 +#, fuzzy, kde-format +#| msgctxt "item:inlistbox Config dialog, general page, default zoom" +#| msgid "" +#| "Defines the default zoom mode for files which were never opened before. " +#| "For files which were opened before the previous zoom is applied." +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" +"Definuje predvolený režim zväčšenia pre súbory, ktoré nikdy predtým neboli " +"otvorené. Pre súbory, ktoré boli otvorené pred použitím predchádzajúceho " +"priblíženia." + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "Štandardné zväčšenie:" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "Povoliť efekty priehľadnosti" + +#: part/dlgperformance.cpp:28 +#, kde-format +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "Využitie procesora:" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "Nízke" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "Bežné (štandardné)" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "Agresívne" + +#: part/dlgperformance.cpp:38 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "Nenásitné" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "Využitie pamäte:" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "Povoliť vyhladenie textu" + +#: part/dlgperformance.cpp:56 +#, kde-format +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "Voľby vykresľovania:" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "Povoliť vyhladenie grafiky" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "Povoliť textový hinting" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"Snaží sa čo najviac šetriť pamäťou. Nič neukladá pre opätovné použitie. (Pre " +"systémy s malou pamäťou.)" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"Dobrý kompromis medzi spotrebou pamäte a rýchlosťou. Prednahráva ďalšiu " +"stránku a urýchľuje vyhľadávanie. (Vhodné pre systémy s pamäťou okolo 2 GB)." + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"Ukladá všetko do pamäte. Prednahráva ďalšie stránky. Urýchľuje vyhľadávanie. " +"(Pre systémy s minimálne 4 GB pamäťou.)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" +"Načíta a ponechá všetko v pamäti. Prednačíta všetky stránky (použije " +"maximálne 50% vašej celkovej pamäte alebo voľnej pamäte, podľa toho, čo je " +"väčšie)." + +#: part/dlgpresentation.cpp:38 +#, fuzzy, kde-format +#| msgctxt "Advance every %1 seconds" +#| msgid " second" +#| msgid_plural " seconds" +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] " sekunda" +msgstr[1] " sekundy" +msgstr[2] " sekúnd" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "Postupovať automaticky:" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "Opakovať po poslednej stránke" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "Ťuknúť vľavo/vpravo na posun späť/dopredu" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "Ťuknúť hocikde na posun dopredu" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "Zakázané" + +#: part/dlgpresentation.cpp:63 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Navigácia dotykom:" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "Farba pozadia:" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "Skrytý po čase" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "Vždy viditeľný" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "Vždy skrytý" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "Kurzor myši:" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "Zobrazovať ukazovateľ priebehu" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "Zobrazovať súhrnnú stránku" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "Okamžité (Nikdy nepoužívať animácie)" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "Nahradiť" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "Náhodný prechod" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "Zvislá roleta" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "Vodorovná roleta" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "Obdĺžnik dovnútra" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "Obdĺžnik von" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "Rozplynúť" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "Blednutie" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "Trblietať dole" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "Trblietať vpravo" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "Trblietať vpravo dole" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "Rozdeliť vodorovne dovnútra" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "Rozdeliť vodorovne von" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "Rozdeliť zvisle dovnútra" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "Rozdeliť zvisle von" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "Rolovanie dole" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "Rolovanie vpravo" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "Rolovanie vľavo" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "Rolovanie hore" + +#: part/dlgpresentation.cpp:121 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Štandardný prechod:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "Preferovaná obrazovka:" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

    Drawing Tools

    " +msgstr "

    Kresliace nástroje

    " + +#: part/dlgpresentation.cpp:171 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Aktuálna obrazovka" + +#: part/dlgpresentation.cpp:172 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Predvolená obrazovka" + +#: part/dlgpresentation.cpp:178 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "Obrazovka %1 (%2 %3 %4)" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "Obrazovka %1 (odpojená)" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "Kresliaci nástroj: %1" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "Guma" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "&Názov:" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "&Typ:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "Vzhľad" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "Textová značka" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "Geometrický tvar" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "Vytvoriť nástroj poznámky" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "Upraviť nástroj poznámky" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "Farba:" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "Šírka &pera:" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "" + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "Vytvoriť kresliaci nástroj" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "Upraviť kresliaci nástroj" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "Neznámy" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Vložené súbory" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "Zobraziť" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "Názov" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "Popis" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "Veľkosť" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "Vytvorené" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "Zmenené" + +#: part/embeddedfilesdialog.cpp:154 +#, fuzzy, kde-format +#| msgid "Save As" +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "Uložiť ako" + +#: part/embeddedfilesdialog.cpp:155 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "&Zobraziť" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "Nepodarilo sa načítať modul pre náhľad tlače" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "Náhľad tlače" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "Zavrieť" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "&Nájsť:" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "Hľadaný text" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Nasledujúci" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "Skočiť na nasledujúci výskyt" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Predchádzajúci" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "Skočiť na predchádzajúci výskyt" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "Zmeniť chovanie vyhľadávania" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "Rozlišovať veľkosť písmen" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "Od aktuálnej stránky" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "Nájsť pri písaní" + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "Všetky súbory (*)" + +#: part/formwidgets.cpp:1280 +#, fuzzy, kde-format +#| msgid "Unsigned Signature Field (Click to Sign)" +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "Nepodpísané podpisové pole (kliknúť na podpísanie)" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, fuzzy, kde-format +#| msgctxt "@action:button" +#| msgid "Sign" +msgid "&Sign…" +msgstr "Podpísať" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "Vlastnosti podpisu" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "Možnosti hľadania" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "Rozlišovať veľkosť písmen" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "Regulárny výraz" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "Vrstvy" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "z" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "Lupa" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "Priblížiť na 100%" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "Otočiť dop&rava" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "Doprava" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "Otočiť doľa&va" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "Doľava" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "Pôvodná orientácia" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "&Orezať pohľad" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "&Orezať okraje" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "Orezať na výber" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "&Prispôsobiť šírke" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "P&rispôsobiť stránke" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "Automaticky prispôsobiť" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "Prispôsobiť okno stránke" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "&Režim zobrazenia" + +#: part/pageview.cpp:594 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "Jedna stránka" + +#: part/pageview.cpp:595 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "Protiľahlé stránky" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "Protiľahlé stránky (Prvú stránku zarovnať na stred)" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "Prehľad" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "&Súvislý" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "Použiť smer čítania sprava doľava" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "Prehliadanie" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "Lupa" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "Výber oblasti" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "Výber textu" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "Výber tabuľky" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "&Lupa" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "Nástroje výberu" + +#: part/pageview.cpp:711 +#, fuzzy, kde-format +#| msgid "Digitally &Sign..." +msgid "Digitally &Sign…" +msgstr "Digitálne podpísať..." + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "Prečítať celý dokument" + +#: part/pageview.cpp:722 +#, fuzzy, kde-format +#| msgid "Speak Current Page" +msgid "Speak From Current Page" +msgstr "Prečítať aktuálnu stránku" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "Prečítať aktuálnu stránku" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "Zastaviť čítanie" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "Pozastaviť/Pokračovať reč" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "Posunúť hore" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Posunúť dole" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "Posun o stránku hore" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "Posun o stránku dole" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "Zobraziť formuláre" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] " Načítaný jednostránkový dokument." +msgstr[1] " Načítaný %1-stránkový dokument." +msgstr[2] " Načítaný %1-stránkový dokument." + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "Kopírovať obsah tabuľky do schránky" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "Text (1 znak)" +msgstr[1] "Text (%1 znaky)" +msgstr[2] "Text (%1 znakov)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "Kopírovať do schránky" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "Prečítať text" + +#: part/pageview.cpp:2863 +#, fuzzy, kde-format +#| msgid "Image (%1 by %2 pixels)" +msgid "Image (%1 × %2 pixels)" +msgstr "Obrázok (%1 x %2 pixelov)" + +#: part/pageview.cpp:2865 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save to File…" +msgstr "Uložiť do súboru..." + +#: part/pageview.cpp:2885 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] copied to clipboard." +msgid "Image [%1 × %2] copied to clipboard." +msgstr "Obrázok [%1x%2] skopírovaný do schránky." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "Uložiť súbor" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "Obrázky (*.png *.jpeg)" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "Súbor nebol uložený." + +#: part/pageview.cpp:2901 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] saved to %3 file." +msgid "Image [%1 × %2] saved to %3 file." +msgstr "Obrázok [%1x%2] bol uložený do súboru %3." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "Kopírovať text" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "Prejsť na '%1'" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "Prispôsobiť šírke" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "Prispôsobiť stránke" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "Automaticky prispôsobiť" + +#: part/pageview.cpp:4107 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1%" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "Hľadať '%1' pomocou" + +#: part/pageview.cpp:4404 +#, fuzzy, kde-format +#| msgid "Configure Web Shortcuts..." +msgid "Configure Web Shortcuts…" +msgstr "Nastaviť webové skratky..." + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "Nasledovať tento odkaz" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "Prehrať tento zvuk" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "Zastaviť zvuk" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "Kopírovať adresu odkazu" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "Hľadať '%1' v tomto dokumente" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Vitajte" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "" +"Vyberte oblasť, ktorú chcete zväčšiť. Pravým kliknutím oblasť zmenšíte." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "Kliknite na zobrazenie zväčšenia zobrazenia." + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "Okolo kopírovaného textu/grafiky urobte myšou obdĺžnik." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "Vyberte text" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" +"Nakreslite obdĺžnik okolo tabuľky, potom kliknite vedľa okrajov na " +"rozdelenie; Esc na vyčistenie." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" + +#: part/pageview.cpp:5188 +#, fuzzy, kde-format +#| msgid "Certificates" +msgid "No valid certificates" +msgstr "Certifikáty" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, fuzzy, kde-format +#| msgid "View Certificate..." +msgid "Open Certificate Manager" +msgstr "Zobraziť certifikát..." + +#: part/pageview.cpp:5200 +#, fuzzy, kde-format +#| msgid "" +#| "There are no available signing certificates.
    For more information, " +#| "please see the section about Adding Digital Signatures " +#| "in the manual." +msgid "" +"There are no available signing certificates.
    Launch Certificate Manager " +"to import or manage certificates
    For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" +"Nie sú k dispozícii žiadne podpisové certifikáty.
    Ďalšie informácie " +"nájdete v časti o Pridávaní digitálnych podpisov v " +"príručke." + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, fuzzy, kde-format +#| msgid "Certificates" +msgid "No certificates found" +msgstr "Certifikáty" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
    For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" +"Nie sú k dispozícii žiadne podpisové certifikáty.
    Ďalšie informácie " +"nájdete v časti o Pridávaní digitálnych podpisov v " +"príručke." + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "Máte neuložené zmeny. Pred podpísaním dokument uložte." + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "Nakresliť obdĺžnik na vloženie pola podpisu" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "" +"Nakreslite obdĺžnik okolo oblasti strany, ktorú chcete nechať viditeľnú" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "Nová textová poznámka" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "Text novej poznámky:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" +"Podpis tejto veľkosti môže byť príliš malý na to, aby sa dal prečítať. Ak " +"chcete vytvoriť potenciálne čitateľnejší podpis, stlačte Začať " +"znova a nakreslite väčší obdĺžnik." + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "Začať odznova" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "Podpísať" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name" +msgstr "Meno autora" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name for the annotation:" +msgstr "Meno autora poznámky:" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "Kresliť elipsu (ťahom vyberte oblasť)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "Zvýrazniť text" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "Kresliť čiaru voľnou rukou" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "Text vloženej poznámky (ťahom vyberte oblasť)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "Vložiť popup poznámku" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "Nakreslite mnohouholník (kliknite na prvý bod pre uzavretie)" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "Kresliť obdĺžnik" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "Vlnitý text" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "Umiestnite symbol razítka" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "Kresliť rovnú čiaru" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "Prečiarknuť text" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "Podčiarknuť text" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "Text vloženej poznámky (ťahom vyberte oblasť)" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "Zvýrazňovač" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "Pridať obľúbenú poznámku" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Custom annotation name:" +msgstr "Vlastný názov poznámky:" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&Súbor" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "Nas&tavenie" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "&Pomocník" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "&Orientácia" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "&Záložky" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "Panel prehliadača" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Náhľady" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "Poznámky" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
    Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" +"Tento dokument obsahuje poznámky alebo údaje formulára, ktoré boli interne " +"uložené predchádzajúcou verziou Okular. Interná pamäť už nie je podporovaná " +"
    .
    Ak chcete pokračovať v úprave dokumentu, uložte ho do súboru, aby " +"ste ich mohli presunúť." + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"Tento dokument obsahuje vložené súbory. Kliknite sem na ich zobrazenie alebo použite Súbor -> Vložené súbory." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "Predchádzajúca" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "Prejsť na predchádzajúcu stránku" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "Presunie sa na predchádzajúcu stránku dokumentu" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "Nasledujúca" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "Prejsť na nasledujúcu stránku" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "Presunie sa na nasledujúcu stránku dokumentu" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "Začiatok dokumentu" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "Presunie sa na začiatok dokumentu" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "Koniec dokumentu" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "Presunie sa na koniec dokumentu" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "Premenovať aktuálnu záložku" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "Predchádzajúca záložka" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "Prejsť na predošlú záložku" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "Nasledujúca záložka" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "Prejsť na ďalšiu záložku" + +#: part/part.cpp:748 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgid "Configure Okular…" +msgstr "Nastaviť Okular..." + +#: part/part.cpp:751 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Configure Viewer…" +msgstr "Nastaviť prehliadač" + +#: part/part.cpp:757 +#, fuzzy, kde-format +#| msgid "Configure Viewer Backends" +msgid "Configure Viewer Backends…" +msgstr "Nastaviť subsystémy prehliadača" + +#: part/part.cpp:759 +#, fuzzy, kde-format +#| msgid "Configure Backends" +msgid "Configure Backends…" +msgstr "Nastaviť backendy" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "O backende" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "Znovu &načítať" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "Znovu načítať aktuálny dokument z disku." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "Zavrieť panel &hľadania" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "Číslo stránky" + +#: part/part.cpp:817 +#, fuzzy, kde-format +#| msgctxt "@action" +#| msgid "Configure Color Modes..." +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "+Nastaviť Okular..." + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "Vybrať všetok text na aktuálnej stránke" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "Zobraziť bočný panel" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "Zobraziť &panel stránky" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "Zobraziť panel podpisov" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "&Vložené súbory" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "E&xportovať ako" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "Zdieľať" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "&Prezentácia" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "Otvoriť &priečinok s obsahom" + +#: part/part.cpp:945 +#, fuzzy, kde-format +#| msgid "&Import PostScript as PDF..." +msgid "&Import PostScript as PDF…" +msgstr "&Importovať PostScript ako PDF..." + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "Režim čierna obrazovka" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "Vymazať kreslenie" + +#: part/part.cpp:962 +#, fuzzy, kde-format +#| msgid "Configure Annotations..." +msgid "Configure Annotations…" +msgstr "Nastaviť poznámky..." + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "Spustiť/pozastaviť prezentáciu" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" +"Práve ste zmenili otvorený dokument, ale tento druh dokumentu sa nedá " +"uložiť.\n" +"Všetky zmeny sa po zatvorení aplikácie Okular stratia." + +#: part/part.cpp:1123 +#, kde-format +msgid "Document can't be saved" +msgstr "Dokument sa nedá uložiť" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "Nepodarilo sa otvoriť '%1' (%2) " + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "Načítanie %1 bolo zrušené." + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "Nepodarilo sa otvoriť %1. Dôvod: %2" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "Nastaviť subsystémy prehliadača" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "Nastaviť backendy" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "Nebol nájdený program \"ps2pdf\", Okular nemôže importovať PS súbory." + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "ps2pdf nenájdený" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "PostScript súbory (%1)" + +#: part/part.cpp:1357 +#, fuzzy, kde-format +#| msgid "Importing PS file as PDF (this may take a while)..." +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "Importovanie PS súboru ako PDF (môže to chvíľu trvať)..." + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "Prosím zadajte heslo pre zobrazenie dokumentu:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "Nesprávne heslo. Skúste znovu:" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "Heslo dokumentu" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" +"Tento dokument obsahuje XFA formuláre, ktoré sú aktuálne nepodporované." + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"Tento dokument obsahuje formuláre. Kliknite na tlačidlo, alebo použite menu " +"Zobraziť -> Zobraziť formuláre." + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" +"Všetky úpravy a interaktívne funkcie tohto dokumentu sú zakázané. " +"Prosímuložte kópiu a znova otvorte tento súbor na úpravu." + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" +"Tento dokument chce byť zobrazený na celej obrazovke.\n" +"Opustiť normálny režim a prejsť do režimu prezentácie?" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "Žiadosť o zmenu režimu zobrazenia" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "Spustiť prezentačný režim" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "Zamietnuť žiadosť" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "Nepodarilo sa otvoriť %1. %2" + +#: part/part.cpp:1860 +#, fuzzy, kde-kuit-format +#| msgid "" +#| "There are unsaved changes, and the file '%1' has been modified by another " +#| "program. Your changes will be lost, because the file can no longer be " +#| "saved.
    Do you want to continue reloading the file?" +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" +"Existujú neuložené zmeny a súbor '%1' bol upravený iným program. Vaše zmeny " +"sa stratia, pretože súbor sa už nedá uložiť.
    Chcete pokračovať v " +"opätovným načítaním súboru?" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "Súbor bol zmenený" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "Pokračovať znovunačítanie" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "Prerušiť Obnovovanie" + +#: part/part.cpp:1870 +#, fuzzy, kde-kuit-format +#| msgid "" +#| "There are unsaved changes, and the file '%1' has been modified by another " +#| "program. Your changes will be lost, because the file can no longer be " +#| "saved.
    Do you want to continue closing the file?" +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" +"Existujú neuložené zmeny a súbor '%1' bol upravený iným program. Vaše zmeny " +"sa stratia, pretože súbor sa už nedá uložiť.
    Chcete pokračovať v " +"zatvorením súboru?" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "Pokračovať v zatváraní" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "Prerušiť zatváranie" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "Chcete uložiť vaše zmeny do \"%1\" alebo ich zahodiť?" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "Zatvoriť dokument" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"Tento odkaz spúšťa operáciu na zatvorenie dokumentu, ktorý nefunguje pri " +"použití vloženého prehliadača." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"Tento odkaz spúšťa operáciu na ukončenie aplikácie, ktorý nefunguje pri " +"použití vloženého prehliadača." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Reloading the document…" +msgstr "Znovunačítanie dokumentu..." + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "Obsah" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "Podpisy" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Prejsť na stránku" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "S&tránka:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "Zadajte nový názov záložky:" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "Premenovať túto záložku" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "Odstrániť túto záložku" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "Uložiť ako" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" +"Rozhodli ste sa uložiť archív Okular bez názvu súboru končiaceho príponou " +"'%1'. To nie je povolené, chcete si vybrať nový názov?" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "Nepodporovaná prípona" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "Vybrať nový názov" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "Uložiť - Upozornenie" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
    In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" +"Aktuálny dokument je chránený heslom.
    Ak ho chcete uložiť, súbor je " +"potrebné znova načítať. Budete znova požiadaný o heslo a vaša história " +"vrátenia / opakovania sa stratí.
    Chcete pokračovať?" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "Nepodarilo sa otvoriť dočasný súbor pre uloženie." + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" +"Nemožno prepísať %1, pretože tento súbor je len na " +"čítanie. Skúste uložiť na iné miesto alebo zmeniť oprávnenia tohto súboru." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" +"Po uložení aktuálny formát dokumentu vyžaduje opätovné načítanie súboru. " +"Vaša história vrátenia/opakovania bude stratená.
    Chcete pokračovať?" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "Súbor sa nepodarilo uložiť do '%1'. Skúste iné umiestnenie." + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "Vyplnený obsah formulára" + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "Poznámky používateľa" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" +"Chystáte sa uložiť zmeny, ale aktuálny formát súboru nepodporuje ukladanie " +"nasledujúcich prvkov. Na ich uchovanie použite formát Archív dokumentov " +"Okular." + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "Varovanie" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, fuzzy, kde-format +#| msgid "Save as Okular document archive..." +msgid "Save as Okular document archive…" +msgstr "Uložiť ako Archív dokumentov Okular..." + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" +"Chystáte sa uložiť zmeny, ale aktuálny formát súboru nepodporujeukladanie " +"nasledujúcich prvkov. Použite Archív dokumentov Okular na ich " +"zachovanie. Ak chcete dokument uložiť, kliknite na tlačidlo Pokračovať na uloženie a zahodenie týchto prvkov." + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" +"Chystáte sa uložiť zmeny, ale aktuálny formát súboru nepodporujeukladanie " +"nasledujúcich prvkov. Použite Archív dokumentov Okular na ich " +"zachovanie. Kliknutím na tlačidlo Pokračovať subor uložíte, ale " +"stratíte tieto prvky, ako aj históriu vrátenia/opakovania." + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "Pokračovať" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "Pokračovať stratením zmien" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "Súbor sa nepodarilo uložiť do '%1'. %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"Okular nemôže kopírovať %1 do zadaného umiestnenia.\n" +"\n" +"Dokument už neexistuje." + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" +"Súbor sa nepodarilo uložiť do '%1'. Chyba: '%2'. Skúste iné umiestnenie." + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "Expand whole section" +msgid "Expand Whole Section" +msgstr "Rozbaliť celú sekciu" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "Collapse whole section" +msgid "Collapse Whole Section" +msgstr "Zbaliť celú sekciu" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "Synchronizovať náhľady so stránkou" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Nástroje" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "Čítať" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "Tlačiť" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "Tlač tohto dokumentu nie je povolená." + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"Nepodarilo sa vytlačiť dokument. Neznáma chyba. Prosím nahláste chybu na " +"bugs.kde.org" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"Nepodarilo sa vytlačiť dokument. Podrobný popis chyby je \"%1\" Prosím " +"nahláste chybu na bugs.kde.org" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "Prejsť na predchádzajúce miesto" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "Prejsť na nasledujúce miesto" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"Chyba súboru! Nepodarilo sa vytvoriť dočasný súbor " +"%1." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"Chyba súboru! Nepodarilo sa otvoriť súbor " +"%1 pre rozbalenie. Súbor nebude načítaný." + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"Táto chyba sa obvykle vyskytne, ak nemáte dostatočné práva na čítanie " +"súboru. Vlastníka a práva môžete skontrolovať, ak kliknete pravým tlačidlom " +"myši na súbor v správcovi súborov Dolphin a vyberiete položku 'Vlastnosti', " +"a následne záložku 'Oprávnenia' v okne, ktoré sa otvorí." + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"Chyba súboru! Nepodarilo sa rozbaliť súbor " +"%1. Súbor nebude načítaný." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"Táto chyba sa obvykle vyskytne, ak je súbor poškodený. Ak si chcete byť " +"istý, skúste rozbaliť súbor ručne pomocou nástrojov príkazového riadku." + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "Žiadne záložky" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "Vyskytol sa problém pri zdieľaní dokumentu: %1" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "Zdieľať" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "Dokument úspešne zdieľaný" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "Zdieľaný dokument môžete nájsť na adrese: %1" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "&Upraviť" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "&Zobraziť" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&Prejsť" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "&Nástroje" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "Hlavný panel nástrojov" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "Nástroje poznámok" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, kde-format +msgid "Quick Annotation Toolbar" +msgstr "Panel nástrojov rýchlych poznámok" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "Všeobecné možnosti" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Prístupnosť" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "Pomôcky pre prístupnosť čítania" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Výkon" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "Ladenie výkonu" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "Nastaviť prehliadač" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Prezentácia" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "Možnosti pre prezentačný režim" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "Voľby poznámok" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "Editor" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "Možnosti editora" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" +"Editor bol nastavený príkazovým riadkom na \n" +" %1 \n" +"Ak chcete použiť toto nastavenie, spustite okular bez voľby --editor-cmd" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "Nájsť nasledujúci" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 - Prezentácia" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "Prepnúť obrazovku" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "Obrazovka %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "Ukončiť prezentačný režim" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Názov: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Strán: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "Pre spustenie kliknite" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "Pozastaviť" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "Prehrať" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"Existujú dva spôsoby, akým ukončiť režim prezentácie. Buď stlačíte kláves " +"ESC alebo kliknete na tlačidlo Ukončiť, ktoré sa zobrazí po presunutí " +"kurzora myši do pravého horného rohu. Prepínanie medzi oknami (Alt+TAB) " +"samozrejme zostane funkčné." + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "Prebieha prezentácia" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "Neznámy súbor" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "Vlastnosti %1" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "&Písma" + +#: part/propertiesdialog.cpp:145 +#, fuzzy, kde-format +#| msgid "Reading font information..." +msgid "Reading font information…" +msgstr "Načítavajú sa informácie o písmach..." + +#: part/propertiesdialog.cpp:158 +#, kde-format +msgid "&Page Sizes" +msgstr "&Veľkosti stránky" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "&Extrahovať písmo" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Type 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Type 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "Type 1C (OT)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Type 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType (OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID Type 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID Type 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID Type 0C (OT)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType (OT)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "PK TeX" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "Virtuálny TeX" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "Metrika písma TeX" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "FreeType-spracovaný TeX" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "Neznámy" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "Vložené (podmnožina)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "Plne vložené" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "Nie" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "Áno (podmnožina)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "Áno" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "%1 (nahradenie s %2)" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "[n/a]" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "Neznáme písmo" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "Vložené: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "Názov" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "Typ" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "Súbor" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "Stránka" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "Veľkosť" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "Náhľad revízie" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "Kde chcete uložiť túto revíziu?" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "Nepodarilo sa uložiť súbor %1." + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "Nepodarilo sa otvoriť revíziu." + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "Pre filtrovanie strán musíte zadať aspoň 3 písmená" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "Rozlišovať veľkosť písmen" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "Hľadať frázu" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "Hľadať všetky slová" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "Hľadať ktorékoľvek slovo" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "Možnosti filtra" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, kde-format +msgid "Certificates" +msgstr "Certifikáty" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "Vyberte certifikát, s ktorým sa chcete podpísať:" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, fuzzy, kde-format +#| msgid "Allow" +msgid "All" +msgstr "Povoliť" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, fuzzy, kde-format +#| msgid "Certificates" +msgid "Only QES certificates" +msgstr "Certifikáty" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "Dôvod:" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, kde-format +msgid "optional" +msgstr "voliteľné" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "Poloha:" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, kde-format +msgid "Background:" +msgstr "Pozadie:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "Vybrať..." + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, fuzzy, kde-format +#| msgctxt "@label:listbox Config dialog, general page" +#| msgid "Use custom background color:" +msgid "Recent backgrounds:" +msgstr "Použiť vlastnú farbu pozadia:" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

    No annotations

    To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
    " +msgstr "" +"

    Žiadne poznámky

    Ak chcete vytvoriť nové poznámky, " +"stlačte kláves F6 alebo vyberte Nástroje -> Poznámky z ponuky." + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "Zoskupiť podľa strán" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "Zoskupiť podľa autora" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "Zobraziť poznámky iba pre aktuálnu stránku" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "Rozbaliť všetko" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "Zbaliť všetko" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "Vlastnosti" + +#: part/signaturepartutils.cpp:180 +#, kde-format +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Obrázky (%1)" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "Vyberte obrázok pozadia" + +#: part/signaturepartutils.cpp:186 +#, fuzzy, kde-format +#| msgctxt "on welcome screen (recent document list)" +#| msgid "Forget All" +msgid "Forget image" +msgstr "Zabudnúť všetko" + +#: part/signaturepartutils.cpp:187 +#, fuzzy, kde-format +#| msgctxt "on welcome screen (recent document list)" +#| msgid "Forget All" +msgid "Forget all images" +msgstr "Zabudnúť všetko" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "Ak chcete odomknúť certifikát, zadajte heslo (ak existuje): %1" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "Zadajte heslo k certifikátu" + +#: part/signaturepartutils.cpp:244 +#, kde-format +msgid "Enter document password" +msgstr "Zadajte heslo dokumentu" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "Uložiť podpísaný súbor ako" + +#: part/signaturepartutils.h:62 +#, fuzzy, kde-format +#| msgctxt "" +#| "Used when suggesting a new name for a digitally signed file. %1 is the " +#| "old file name and %2 it's extension" +#| msgid "%1_signed.%2" +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "%1_podpísaný.%2" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "Stav platnosti" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "Platnosť podpisu:" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "Úpravy dokumentu:" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "Dodatočné informácie" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "Podpísané (kým):" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "Čas podpisu:" + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "Verzia dokumentu" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Revízia dokumentu %1 z %2" + +#: part/signaturepropertiesdialog.cpp:88 +#, fuzzy, kde-format +#| msgid "View Signed Version..." +msgid "View Signed Version…" +msgstr "Zobraziť podpísanú verziu..." + +#: part/signaturepropertiesdialog.cpp:95 +#, fuzzy, kde-format +#| msgid "View Certificate..." +msgid "View Certificate…" +msgstr "Zobraziť certifikát..." + +#: part/signaturepropertiesdialog.cpp:97 +#, fuzzy, kde-format +#| msgid "View Certificate..." +msgid "View in Certificate Manager" +msgstr "Zobraziť certifikát..." + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "Zobraziť iba stránky v záložkách" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "Prehrať" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Pozastaviť" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "Zastaviť" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, fuzzy, kde-format +#| msgid "&Edit" +msgid "&Edit…" +msgstr "&Upraviť" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "O&dstrániť" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "Posunúť &vyššie" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "Posunúť &nižšie" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "Predvolený kresliaci nástroj #%1" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "Už existuje nástroj s týmto názvom. Používam predvolený" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "Duplicitný názov" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "Stránka dokumentu, ktorá sa má zobraziť" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "Spustiť dokument v prezentačnom režime" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "Spustiť s tlačovým dialógom" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "Spustiť s tlačovým dialógom a ukončiť po vytlačení" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "Ovládanie \"Unikátnej inštancie\"" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "Nezdvihnúť okno" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "Nájsť reťazec v texte" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "Nastaví príkaz externého editora" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "Dokument na otvorenie. Zadajte '-' pre čítanie zo stdin." + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" +"Príkaz editora nie je možné nastaviť v už spustenej inštancii aplikácie " +"okular. Prosím, zakážte karty a skúste to znova. Treba upozorniť, že " +"unikátna nie je tiež podporovaná pri nastavovaní príkazu editora na " +"príkazovom riadku.\n" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "Chyba: Nemôžem otvoriť viac ako jeden dokument cez prepínač --unique" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" +"Chyba: Nemôžem otvoriť viac ako jeden dokument cez prepínač --presentation" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "Chyba: Nemôžem otvoriť viac ako jeden dokument cez prepínač --print" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "Chyba: Nemôžem otvoriť viac ako jeden dokument cez prepínač --page" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "Chyba: Nemôžem otvoriť viac ako jeden dokument s prepínačom --print" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "Nepodarilo sa nájsť komponent Okular. %1" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "Bočný panel" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "Už beží jedinečná inštancia Okular. Táto inštancia nebude jedinečná." + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "Nepodarilo sa nájsť komponent Okular." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"Kliknite pre otvorenie súboru\n" +"Kliknite a podržte pre otvorenie nedávno otvoreného súboru" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"Kliknite pre otvorenie súboru alebo Kliknite a podržte pre " +"otvorenie nedávno otvoreného súboru" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "Ďalšia karta" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "Predošlá karta" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "Vrátiť zatvorenie karty" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "Zamknúť bočný panel" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "Všetky súbory (*)" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "Všetky podporované súbory (%1)" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "Otvoriť dokument" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "Potvrdiť zatvorenie" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "Zavrieť karty" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "Chystáte sa zatvoriť %1 kariet. Ste si istý, že chcete pokračovať?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "Upozorniť ma keď sa pokúsim zatvoriť naraz niekoľko kariet" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "Kopírovať cestu" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "Otvoriť priečinok s obsahom" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "Zabudnúť túto položku" + +#: shell/welcomescreen.cpp:137 +#, kde-format +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "Žiadne nedávne dokumenty" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "Vitajte v aplikácii Okular" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Otvoriť dokument..." + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, kde-format +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Nedávne dokumenty" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "Zabudnúť všetko" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "Skryť uvítaciu obrazovku" + +#~ msgid "Geometry with Comment" +#~ msgstr "Geometria s komentárom" + +#~ msgid "Geometry" +#~ msgstr "Geometria" + +#~ msgid "Modified: %1" +#~ msgstr "Zmenené: %1" + +#~ msgid "Find..." +#~ msgstr "Nájsť..." + +#~ msgid "Go To Page..." +#~ msgstr "Prejsť na stránku..." + +#~ msgid "Play movie..." +#~ msgstr "Prehrať film..." + +#~ msgid "Search..." +#~ msgstr "Hľadať..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "Uložiť &ako..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "&Zobraziť..." + +#~ msgid "&Sign..." +#~ msgstr "Podpísať..." + +#~ msgid "Configure Viewer..." +#~ msgstr "Nastaviť prehliadač..." + +#~ msgid "Configure Viewer Backends..." +#~ msgstr "Nastaviť subsystémy prehliadača..." + +#~ msgid "Configure Backends..." +#~ msgstr "Nastaviť backendy..." + +#~ msgid "&Add..." +#~ msgstr "&Pridať..." + +#~ msgid "&Edit..." +#~ msgstr "&Upraviť..." + +#~ msgctxt "%1 is a file path" +#~ msgid "" +#~ "Could not sign. Invalid certificate password or could not write to '%1'" +#~ msgstr "" +#~ "Nepodarilo sa podpísať. Neplatné heslo k certifikátu alebo sa nepodarilo " +#~ "zapísať na '%1'" + +#, fuzzy +#~| msgid "" +#~| "All your signing certificates are either not valid yet or are past their " +#~| "validity date." +#~ msgid "All your signing certificates are invalid" +#~ msgstr "" +#~ "Všetky vaše podpisové certifikáty buď ešte nie sú platné, alebo sú po " +#~ "dátume ich platnosti." + +#~ msgid "Unsigned Signature %1" +#~ msgstr "Nepodpísaný podpis %1" + +#, fuzzy +#~| msgctxt "Unknown author" +#~| msgid "Unknown" +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "Neznámy" + +#, fuzzy +#~| msgid "Unsigned Signature %1" +#~ msgctxt "Signature type" +#~ msgid "Unsigned signature" +#~ msgstr "Nepodpísaný podpis %1" + +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "Spinbox prefix: Advance automatically: every n seconds" +#~ msgid "every " +#~ msgstr "každých " + +#~ msgctxt "Suffix for the pen width, eg '10 px'" +#~ msgid " px" +#~ msgstr " px" + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " %" + +#, fuzzy +#~| msgctxt "%1 is a file path" +#~| msgid "" +#~| "Could not sign. Invalid certificate password or could not write to '%1'" +#~ msgctxt "%1 is a file path" +#~ msgid "Could not sign. Could not write to '%1'" +#~ msgstr "" +#~ "Nepodarilo sa podpísať. Neplatné heslo k certifikátu alebo sa nepodarilo " +#~ "zapísať na '%1'" + +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "Prispôsobiť šírke" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "Prispôsobiť stránke" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Auto Fit" +#~ msgstr "Automaticky prispôsobiť" + +#~ msgid "*|All Files" +#~ msgstr "*|Všetky súbory" + +#~ msgid "Missing alert type" +#~ msgstr "Chýba typ upozornenia" + +#~ msgid "" +#~ "The file '%1' has been modified by another program, which means it can no " +#~ "longer be saved." +#~ msgstr "" +#~ "Súbor '%1' bol upravený iným programom, čo znamená, že ho už nemožno " +#~ "uložiť." + +#~ msgid "Show Sidebar" +#~ msgstr "Zobraziť bočný panel" + +#~ msgctxt "@info" +#~ msgid "" +#~ "experimental feature.Stamps inserted in PDF documents are " +#~ "not visible in PDF readers other than Okular." +#~ msgstr "" +#~ "experimentálna funkcia Známky vložené do dokumentov PDF " +#~ "nie sú viditeľné v iných čítačkách PDF ako Okular." + +#~ msgctxt "@info" +#~ msgid "" +#~ "Stamps inserted in PDF documents are not visible in PDF readers other " +#~ "than Okular" +#~ msgstr "" +#~ "Pečiatky vložené do dokumentov PDF nie sú viditeľné v iných čítačkách PDF " +#~ "ako Okular" + +#~ msgctxt "@title:window" +#~ msgid "Experimental feature" +#~ msgstr "Experimentálna funkcia" + +#~ msgid "Remove Bookmarks" +#~ msgstr "Odstrániť záložky" + +#, fuzzy +#~| msgid "&Annotations" +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "Poznámky" + +#, fuzzy +#~| msgid "Highlight" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "Zvýraznenie" + +#, fuzzy +#~| msgid "Underline" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Underline" +#~ msgstr "Podčiarknuté" + +#, fuzzy +#~| msgid "Squiggle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Squiggle" +#~ msgstr "Vlnovka" + +#, fuzzy +#~| msgid "Strike Out" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Strike Out" +#~ msgstr "Prečiarknuté" + +#, fuzzy +#~| msgid "Insert Text" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "Vložiť text" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "Vložená poznámka" + +#, fuzzy +#~| msgctxt "@action:intoolbar Annotation tool" +#~| msgid "Popup Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "Vyskakovacia poznámka" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a freehand line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Freehand Line" +#~ msgstr "Kresliť čiaru voľnou rukou" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a straight line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Straight line" +#~ msgstr "Kresliť rovnú čiaru" + +#, fuzzy +#~| msgid "Arrow" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Arrow" +#~ msgstr "Šípka" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a rectangle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Rectangle" +#~ msgstr "Kresliť obdĺžnik" + +#, fuzzy +#~| msgid "Ellipse" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Ellipse" +#~ msgstr "Elipsa" + +#, fuzzy +#~| msgid "Polygon" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Polygon" +#~ msgstr "Mnohouholník" + +#, fuzzy +#~| msgid "Highlighter" +#~ msgid "Highlight in Yellow" +#~ msgstr "Zvýrazňovač" + +#, fuzzy +#~| msgid "Highlight with Comment" +#~ msgid "Highlight in Green" +#~ msgstr "Zvýraznenie s komentárom" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgid "Insert Inline Note" +#~ msgstr "Vložená poznámka" + +#, fuzzy +#~| msgctxt "@action:intoolbar Annotation tool" +#~| msgid "Popup Note" +#~ msgid "Insert Popup Note" +#~ msgstr "Vyskakovacia poznámka" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "Vyberte text" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "Vyberte text" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "Vyberte text" + +#, fuzzy +#~| msgid "&Magnifier" +#~ msgctxt "verb" +#~ msgid "&Magnify" +#~ msgstr "Lupa" + +#~ msgid "Bookmark annotation" +#~ msgstr "Vytvoriť záložku z poznámky" + +#~ msgid "&Toggle Change Colors" +#~ msgstr "Prepnúť zmenu farieb" + +#~ msgctxt "@option:check Config dialog, presentation page, transitions" +#~ msgid "Enable transitions" +#~ msgstr "Povoliť prechody" + +#~| msgid "Advance every:" +#~ msgctxt "@label:spinbox Config dialog, presentation page" +#~ msgid "Advance every:" +#~ msgstr "Posúvať každých:" + +#, fuzzy +#~| msgid "Use custom background color" +#~ msgctxt "@label:listbox Config dialog, general page" +#~ msgid "Custom background color:" +#~ msgstr "Použiť vlastnú farbu pozadia" + +#~ msgid "Draw border around &Images" +#~ msgstr "&Kresliť okraj okolo obrázkov" + +#~ msgid "Speech" +#~ msgstr "Reč" + +#~ msgid "Engine" +#~ msgstr "Engine" + +#~ msgid "Identity" +#~ msgstr "Identita" + +#~ msgid "Au&thor:" +#~ msgstr "&Autor:" + +#~ msgid "View Options" +#~ msgstr "Možnosti zobrazenia" + +#~ msgctxt "@info:whatsthis" +#~ msgid "" +#~ "Defines the default zoom mode for files which were never opened before.\n" +#~ "For files which were opened before the previous zoom is applied." +#~ msgstr "" +#~ "Určuje predvolený režim priblíženia pre súbory, ktoré neboli predtým " +#~ "odvorené.\n" +#~ "Súbory, ktoré boli už otvorené, sa priblížia rovnako ako predtým." + +#~ msgid "Navigation" +#~ msgstr "Navigácia" + +#~ msgid "Placement" +#~ msgstr "Umiestnenie" + +#~ msgid "Screen:" +#~ msgstr "Obrazovka:" + +#~ msgid "Drawing Tool Configuration" +#~ msgstr "Nastavenie kresliaceho nástroja" + +#~ msgid "&Get Books From Internet..." +#~ msgstr "&Stiahnuť knihy z Internetu..." + +#~ msgid "Reviews" +#~ msgstr "Revízie" + +#~ msgctxt "@item:inlistbox Color name" +#~ msgid "%1" +#~ msgstr "%1" + +#~ msgid "Hide Forms" +#~ msgstr "Skryť formuláre" + +#~ msgid "&Review" +#~ msgstr "&Revízia" + +#~ msgid "Annotations author" +#~ msgstr "Autor poznámok" + +#~ msgid "Please insert your name or initials:" +#~ msgstr "Prosím vložte vaše meno alebo iniciály:" + +#~ msgid "Show &Navigation Panel" +#~ msgstr "Zobraziť &navigačný panel" + +#~ msgid "Show Text" +#~ msgstr "Zobraziť text" + +#~ msgid "Small Icons" +#~ msgstr "Malé ikony" + +#~ msgid "Large Icons" +#~ msgstr "Veľké ikony" + +#~ msgid "" +#~ "Click to use the current selection tool\n" +#~ "Click on the arrow to choose another selection tool" +#~ msgstr "" +#~ "Kliknutím použijete aktuálny nástroj výberu\n" +#~ "Kliknutím a podržaním vyberiete iný nástroj výberu" + +#~ msgid "Created: %1" +#~ msgstr "Vytvorené: %1" + +#~ msgid "Style" +#~ msgstr "Štýl" + +#~ msgid "&Size:" +#~ msgstr "&Veľkosť:" + +#~ msgid "Inner color:" +#~ msgstr "Vnútorná farba:" + +#~ msgid "Name: %1" +#~ msgstr "Názov: %1" + +#~ msgid "Size: %1" +#~ msgstr "Veľkosť: %1" + +#~ msgid "&Browse Tool" +#~ msgstr "&Nástroj prehliadania" + +#~ msgid "&Zoom Tool" +#~ msgstr "Nástroj l&upa" + +#~ msgctxt "Zoom Tool" +#~ msgid "Zoom" +#~ msgstr "Lupa" + +#~ msgctxt "Select Tool" +#~ msgid "Selection" +#~ msgstr "Výber" + +#~ msgid "&Text Selection Tool" +#~ msgstr "&Nástroj výberu textu" + +#~ msgid "T&able Selection Tool" +#~ msgstr "Nástroj výberu tabuľky" + +#, fuzzy +#~| msgctxt "Symbol for caret annotations" +#~| msgid "None" +#~ msgid " None" +#~ msgstr "Žiadny" + +#~ msgid "" +#~ "The document requested to be launched in presentation mode.\n" +#~ "Do you want to allow it?" +#~ msgstr "" +#~ "Dokument požaduje spustenie prezentačného režimu.\n" +#~ "Chcete ho povoliť?" + +#~ msgid "Presentation Mode" +#~ msgstr "Prezentačný režim" + +#~ msgid "Allow the presentation mode" +#~ msgstr "Povoliť prezentačný režim" + +#~ msgid "Do Not Allow" +#~ msgstr "Nepovoliť" + +#~ msgid "Do not allow the presentation mode" +#~ msgstr "Nepovoliť prezentačný režim" + +#~ msgid "" +#~ "Your annotation changes will not be saved automatically. Use File -> Save " +#~ "As...\n" +#~ "or your changes will be lost once the document is closed" +#~ msgstr "" +#~ "Vaše zmeny anotácie sa nebudú ukladať automaticky. Použite Súbor -> " +#~ "Uložiť ako...\n" +#~ "alebo vaše zmeny budú stratené po zatvorení dokumentu" + +#~ msgid "" +#~ "Your annotations are saved internally by Okular.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" +#~ msgstr "" +#~ "Okular interne ukladá vaše anotácie.\n" +#~ "Anotovaný dokument môžete exportovať pomocou Súbor -> Exportovať ako -> " +#~ "Archív dokumentu" + +#~ msgid "Save &Copy As..." +#~ msgstr "Uložiť &kópiu ako..." + +#~ msgid "" +#~ "Your annotations will not be exported.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" +#~ msgstr "" +#~ "Vaše anotácie nebudú exportované.\n" +#~ "Anotovaný dokument môžete exportovať pomocou Súbor -> Exportovať ako -> " +#~ "Archív dokumentu" + +#~ msgid "" +#~ "End of document reached.\n" +#~ "Continue from the beginning?" +#~ msgstr "" +#~ "Bol dosiahnutý koniec dokumentu.\n" +#~ "Pokračovať od začiatku dokumentu?" + +#~ msgid "" +#~ "Beginning of document reached.\n" +#~ "Continue from the bottom?" +#~ msgstr "" +#~ "Bol dosiahnutý začiatok dokumentu.\n" +#~ "Pokračovať od konca dokumentu?" + +#~ msgid "Current maintainer" +#~ msgstr "Aktuálny správca" + +#~ msgid " sec." +#~ msgstr " sek." + +#~ msgid "Pencil color:" +#~ msgstr "Farba ceruzky:" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A0" +#~ msgstr "krajinka DIN/ISO A0" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A0" +#~ msgstr "portrét DIN/ISO A0" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A1" +#~ msgstr "krajinka DIN/ISO A1" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A1" +#~ msgstr "portrét DIN/ISO A1" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A2" +#~ msgstr "krajinka DIN/ISO A2" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A2" +#~ msgstr "portrét DIN/ISO A2" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A3" +#~ msgstr "krajinka DIN/ISO A3" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A3" +#~ msgstr "portrét DIN/ISO A3" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A4" +#~ msgstr "krajinka DIN/ISO A4" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A4" +#~ msgstr "portrét DIN/ISO A4" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A5" +#~ msgstr "krajinka DIN/ISO A5" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A5" +#~ msgstr "portrét DIN/ISO A5" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A6" +#~ msgstr "krajinka DIN/ISO A6" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A6" +#~ msgstr "portrét DIN/ISO A6" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A7" +#~ msgstr "krajinka DIN/ISO A7" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A7" +#~ msgstr "portrét DIN/ISO A7" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A8" +#~ msgstr "krajinka DIN/ISO A8" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A8" +#~ msgstr "portrét DIN/ISO A8" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A9" +#~ msgstr "krajinka DIN/ISO A9" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A9" +#~ msgstr "portrét DIN/ISO A9" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B0" +#~ msgstr "krajinka DIN/ISO B0" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B0" +#~ msgstr "portrét DIN/ISO B0" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B1" +#~ msgstr "krajinka DIN/ISO B1" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B1" +#~ msgstr "portrét DIN/ISO B1" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B2" +#~ msgstr "krajinka DIN/ISO B2" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B2" +#~ msgstr "portrét DIN/ISO B2" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B3" +#~ msgstr "krajinka DIN/ISO B3" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B3" +#~ msgstr "portrét DIN/ISO B3" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B4" +#~ msgstr "krajinka DIN/ISO B4" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B4" +#~ msgstr "portrét DIN/ISO B4" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B5" +#~ msgstr "krajinka DIN/ISO B5" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B5" +#~ msgstr "portrét DIN/ISO B5" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B6" +#~ msgstr "krajinka DIN/ISO B6" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B6" +#~ msgstr "portrét DIN/ISO B6" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B7" +#~ msgstr "krajinka DIN/ISO B7" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B7" +#~ msgstr "portrét DIN/ISO B7" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B8" +#~ msgstr "krajinka DIN/ISO B8" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B8" +#~ msgstr "portrét DIN/ISO B8" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B9" +#~ msgstr "krajinka DIN/ISO B9" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B9" +#~ msgstr "portrét DIN/ISO B9" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B10" +#~ msgstr "krajinka DIN/ISO B10" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B10" +#~ msgstr "portrét DIN/ISO B10" + +#~ msgctxt "paper size" +#~ msgid "landscape letter" +#~ msgstr "krajinka letter" + +#~ msgctxt "paper size" +#~ msgid "portrait letter" +#~ msgstr "portrét letter" + +#~ msgctxt "paper size" +#~ msgid "landscape legal" +#~ msgstr "krajinka legal" + +#~ msgctxt "paper size" +#~ msgid "portrait legal" +#~ msgstr "portrét legal" + +#~ msgctxt "paper size" +#~ msgid "landscape executive" +#~ msgstr "krajinka executive" + +#~ msgctxt "paper size" +#~ msgid "portrait executive" +#~ msgstr "portrét executive" + +#~ msgctxt "paper size" +#~ msgid "landscape Comm10E" +#~ msgstr "krajinka Comm10E" + +#~ msgctxt "paper size" +#~ msgid "portrait Comm10E" +#~ msgstr "portrét Comm10E" + +#~ msgctxt "paper size" +#~ msgid "landscape DLE" +#~ msgstr "krajinka DLE" + +#~ msgctxt "paper size" +#~ msgid "portrait DLE" +#~ msgstr "portrét DLE" + +#~ msgctxt "paper size" +#~ msgid "landscape folio" +#~ msgstr "list krajinka" + +#~ msgctxt "paper size" +#~ msgid "portrait folio" +#~ msgstr "list portrét" + +#~ msgctxt "paper size" +#~ msgid "ledger" +#~ msgstr "priečna kniha" + +#~ msgctxt "paper size" +#~ msgid "tabloid" +#~ msgstr "tabloid" + +#~ msgctxt "paper size" +#~ msgid "unknown landscape paper size" +#~ msgstr "neznáma veľkosť papiera krajinky" + +#~ msgctxt "paper size" +#~ msgid "unknown portrait paper size" +#~ msgstr "neznáma veľkosť papiera portrétu" + +#~ msgid "Toggle Drawing Mode" +#~ msgstr "Prepnúť režim kreslenia" + +#~ msgid "Starting Jovie Text-to-Speech service Failed: %1" +#~ msgstr "Spustenie služby Text na reč Jovie zlyhalo: %1" + +#~ msgid "Search Columns" +#~ msgstr "Prehľadávané stĺpce" + +#~ msgid "All Visible Columns" +#~ msgstr "Všetky viditeľné stĺpce" diff --git a/po/sk/okular_comicbook.po b/po/sk/okular_comicbook.po new file mode 100644 index 0000000..e06e2da --- /dev/null +++ b/po/sk/okular_comicbook.po @@ -0,0 +1,58 @@ +# translation of okular_comicbook.po to Slovak +# Michal Sulek , 2009. +# Matej Mrenica , 2019. +msgid "" +msgstr "" +"Project-Id-Version: okular_comicbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-03-26 08:57+0100\n" +"Last-Translator: Matej Mrenica \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 19.03.80\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Michal Šulek" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "misulre@gmail.com" + +#: document.cpp:97 +#, kde-format +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "" +"Nie je možné otvoriť dokument, nebol nájdený program unrar ani unarchiver." + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "" +"Verzia programu unrar vo vašom systéme nie je vhodná na otváranie kníh " +"komiksov." + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "Neznámy formát knihy komiksov." + +#~ msgid "ComicBook Backend" +#~ msgstr "Backend pre knihy komiksov" + +#~ msgid "A renderer for various comic book formats" +#~ msgstr "Vykresľovanie rôznych formátov kníh komiksov" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/sk/okular_djvu.po b/po/sk/okular_djvu.po new file mode 100644 index 0000000..f752058 --- /dev/null +++ b/po/sk/okular_djvu.po @@ -0,0 +1,106 @@ +# translation of okular_djvu.po to Slovak +# Richard Fric , 2007, 2009, 2010. +# Michal Sulek , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_djvu\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-01-28 21:54+0100\n" +"Last-Translator: Richard Fric \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Richard Frič, Michal Šulek" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "Richard.Fric@kdemail.net,misurel@gmail.com" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "Editor" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "Vydavateľ" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "Zväzok" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "Typ dokumentu" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "Neznáme" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "Súborov komponentu" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "Neznámy" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "Jedna stránka" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "Zbalený" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "Nepriamy" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "Zbalený (starý)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "Indexed (starý)" + +#~ msgid "DjVu Backend" +#~ msgstr "DjVu Backend" + +#~ msgid "DjVu backend based on DjVuLibre." +#~ msgstr "DjVu backend postavený na DjVuLibre." + +#~ msgid "© 2006-2008 Pino Toscano" +#~ msgstr "© 2006-2008 Pino Toscano" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" diff --git a/po/sk/okular_dvi.po b/po/sk/okular_dvi.po new file mode 100644 index 0000000..09faa62 --- /dev/null +++ b/po/sk/okular_dvi.po @@ -0,0 +1,586 @@ +# translation of okular_dvi.po to Slovak +# Richard Fric , 2007, 2010. +# Michal Sulek , 2009. +# Roman Paholík , 2013, 2014. +# Matej Mrenica , 2019. +msgid "" +msgstr "" +"Project-Id-Version: okular_dvi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-11-18 10:10+0100\n" +"Last-Translator: Matej Mrenica \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 19.11.80\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Richard Frič, Michal Šulek" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "Richard.Fric@kdemail.net,misurel@gmail.com" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

    Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

    Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

    " +msgstr "" +"

    Okular nemohol nájsť program dvipdfm na vašom počítači. " +"Tento program je absolútne nutný pre export. Samozrejme, môžete vytlačiť DVI " +"do PDF súboru, ale aj keď to bude dobre vytlačené, skoro vždy bude výsledok " +"vyzerať zle v programe Acrobat Reader. Možno by malo zmysel nainštalovať " +"novú verziu distribúcie TeXu, ktorá obsahuje program dvipdfm.

    Rada pre zmäteného administrátora: Okular používa premennú PATH pre " +"hľadanie programov.

    " + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Externý program 'dvipdfm', použitý pre export súboru oznámil chybu. " +"Podrobný popis chyby nájdete v dialógu informácií o dokumente v ponuke Súbor." + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" +"Tento DVI súbor sa odkazuje na externý grafický súbor, ktorý nie je v " +"PostScript formáte a nemôže byť obslúžený programom dvips, ktorý " +"Okular interne používa na tlač a export do PostScript. Funkcionalita, ktorú " +"vyžadujete preto nie je dostupná v tejto verzii Okular." + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

    Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

    Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

    " +msgstr "" +"

    Okular nemohol nájsť program dvips na vašom počítači. Tento " +"program je absolútne nutný pre export.

    Rada pre zmäteného " +"administrátora: Okular používa premennú PATH pre hľadanie programov.

    " + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Externý program 'divps' použitý pre export súboru oznámil chybu. " +"Podrobný popis chyby nájdete v dialógu informácií o dokumente v ponuke Súbor." + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "Súbor DVI nezačína preambulou." + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" +"Súbor DVI obsahuje neplatnú verziu DVI pre tento program. Rada: Ak používate " +"systém Omega, musíte použiť špeciálny program, napríklad oxdvi." + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "Súbor DVI je veľmi poškodený. Okular nedokázal nájsť postambulu." + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "Postambula súboru nezačína príkazom POST." + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "Postambula obsahuje príkaz iný ako FNTDEF." + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "Stránka %1 nezačína príkazom BOP." + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

    The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

    What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

    PATH: %2

    " +msgstr "" +"

    Nepodarilo sa spustiť externý program pdf2ps. Ako " +"následok, PDF súbor %1 nebude skonvertovaný do PostScriptu. Preto nebudú v " +"dokumente zobrazené niektoré grafické prvky.

    Možná príčina: " +"Program pdf2ps asi nie je nainštalovaný alebo nemôže byť " +"nájdený v aktuálnej vyhľadávacej ceste.

    Čo môžete urobiť: " +"Program pdf2ps sa normálne nachádza v distribúcii " +"ghostscript PostScript systému. Ak nie je ghostscript nainštalovaný, môžete " +"ho teraz doinštalovať. Ak ste si istý, že je ghostscript nainštalovaný, " +"prosím, skúste použiť program pdf2ps z príkazového riadku " +"na kontrolu či naozaj funguje.

    PATH: %2

    " + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

    The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

    %2

    " +msgstr "" +"

    PDF súbor %1 sa nepodarilo skonvertovať do PostScriptu. Preto nebudú " +"v dokumente zobrazené niektoré grafické prvky.

    Možná príčina: " +"Súbor %1 môže byť poškodený, alebo nie je vôbec PDF súbor. Výstup programu " +"pdf2ps, ktorý používa Okular:

    %2" + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "Súbor poškodený. %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "Nie všetky súbory PostScript sa dajú vložiť do vášho dokumentu. %1" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "Všetky externé súbory PostScript boli vložené do vášho dokumentu." + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "Určený súbor '%1' neexistuje." + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" +"Požiadali ste Okular o vyhľadanie miesto v DVI súbore, ktoré korešponduje s " +"riadkom %1 v TeX súbore %2. Zdá sa však, že DVI súbor neobsahuje potrebnú " +"informáciu o zdrojovom súbore. " + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" +"Okular nemohol nájsť miesto v DVI súbore, ktoré korešponduje s riadkom %1 v " +"TeX súbore %2." + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "Kód DVI nastavil znak s neznámym písmom." + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "" +"Kód DVI obsahuje referenciu na písmo #%1, ktoré predtým nebolo definované." + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "Zásobník nebol prázdny pri nájdený príkazu EOP." + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "Zásobník bol prázdny pri nájdení príkazu POP." + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "Kód DVI obsahuje referenciu na písmo, ktoré predtým nebolo definované." + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "Nájdený neprípustný príkaz." + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "Nájdený neznámy kód %1." + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "Vkladanie %1" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
    " +msgstr "" +"Stránka %1: Súbor PDF %2 sa nepodarilo skonvertovať na " +"PostScript.
    " + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
    " +msgstr "" +"Stránka %1: Súbor PostScript %2 sa nepodarilo nájsť.
    " + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "Dáta o veľkosti papiera '%1' nie je možné spracovať." + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

    Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

    PATH: %1

    %2

    " +msgstr "" +"

    Okular nemohol nájsť všetky potrebné súbory s písmami pre zobrazenie " +"aktuálneho súboru DVI. Dokument môže byť nečitateľný.

    Cesta:" +" %1

    %2

    " + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

    There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
    Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

    PATH: %1

    %2

    " +msgstr "" +"

    Nastali problémy pri behu kpsewhich. Ako výsledok, niektoré " +"písma sa nenašli a váš dokument môže byť nečitateľný.
    Možný dôvod: " +"Program kpsewhich možno nie je nainštalovaný vo vašom systéme alebo " +"ho nie je možné nájsť v aktuálnej ceste.

    Cesta: %1

    %2

    " + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" +"Generovanie písma pomocou kpsewhich bolo prerušené (kód %1, " +"chyba %2). Preto sa nepodarilo nájsť niektoré súbory písiem a dokument môže " +"byť nečitateľný." + +#: fontpool.cpp:482 +#, fuzzy, kde-format +#| msgid "Currently generating %1 at %2 dpi..." +msgid "Currently generating %1 at %2 dpi…" +msgstr "Práve generujem %1 v %2 dpi..." + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "Generátor/Dátum" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "Súbor písma nenájdený" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "Na výšku" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "Na šírku" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" +"Nainštalovaná verzia Ghostview neobsahuje žiadne ovládače zariadení, ktoré " +"Okular podporuje. Podpora pre PostScript bude preto v Okular vypnutá." + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "To znamená 25 chýb. Ďalšie chyby už nebudú zobrazené." + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" +"Chyba v súbore DVI '%1', stránka %2. Vykonaný príkaz pop farby, ale zásobník " +"farieb je prázdny." + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" +"Nesprávny parameter v špeciálnom príkaze epsf.\n" +"Očakávané desatinné číslo nasledujúce %1 v %2" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"Súbor nenájdený:\n" +" %1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" +"Chyba v súbore DVI '%1', stránka %2. Nedá sa interpretovať uhol v špeciálnej " +"textovej rotácii." + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "Špeciálny príkaz '%1' nie je implementovaný." + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" +"Súbor písma %1 je možné otvoriť a prečítať, ale formát písma nie je " +"podporovaný." + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "" +"Súbor písma %1 je poškodený, alebo ho nie je možné otvoriť alebo prečítať." + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" +"FreeType oznámil chybu pri nastavení veľkosti znaku pre súbor písma %1." + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "FreeType nedokáže načítať znak #%1 zo súboru písma %2." + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "FreeType nedokáže zobraziť znak #%1 zo súboru písma %2." + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "Znak #%1 je prázdny." + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "Znak #%1 zo súboru písma %2 je prázdny." + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "FreeType nedokáže načítať metriku pre znak #%1 zo súboru písma %2." + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "Nie je možné otvoriť súbor písma %1." + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "TexFont_PK::operator[]: Znak %1 nie je definovaný v písme %2" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "Nečakané %1 v PK súbore %2" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "Znak %1 v súbore %2 je príliš veľký" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "Uložený nesprávny počet bitov: znak %1, písmo %2" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "Zlý PK súbor (%1), priveľa bitov" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "Písmo nemá štvorcovú geometriu " + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "Nie je možné otvoriť písmo %1, súbor %2." + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "Chyba kontrolného súčtu pre súbor písma %1" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "Nie je možné rozpoznať formát súboru s písmom %1" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"Kritická chyba.\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" +"\n" +"\n" +"Toto pravdepodobne znamená, že buď ste našli chybu v programe Okular,\n" +"alebo že daný DVI súbor, alebo pomocné súbory (ako súbory s písmami \n" +"alebo súbory s virtuálnymi písmami) sú naozaj vážne poškodené.\n" +"Program Okular sa po tejto správe preruší. Ak si myslíte, že ste našli \n" +"chybu v programe Okular, alebo ak si myslíte, že by sa mal program \n" +"správať lepšie v tejto situácii, prosím oznámte nám daný problém." + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "Nesprávny bajt príkazu vo VF makro zozname: %1" + +#~ msgid "" +#~ "

    The Ghostview program, which Okular uses internally to display the " +#~ "PostScript graphics that is included in this DVI file, is generally able " +#~ "to write its output in a variety of formats. The sub-programs that " +#~ "Ghostview uses for these tasks are called 'device drivers'; there is one " +#~ "device driver for each format that Ghostview is able to write. Different " +#~ "versions of Ghostview often have different sets of device drivers " +#~ "available. It seems that the version of Ghostview that is installed on " +#~ "this computer does not contain any of the device drivers " +#~ "that are known to Okular.

    It seems unlikely that a regular " +#~ "installation of Ghostview would not contain these drivers. This error may " +#~ "therefore point to a serious misconfiguration of the Ghostview " +#~ "installation on your computer.

    If you want to fix the problems with " +#~ "Ghostview, you can use the command gs --help to display " +#~ "the list of device drivers contained in Ghostview. Among others, Okular " +#~ "can use the 'png256', 'jpeg' and 'pnm' drivers. Note that Okular needs to " +#~ "be restarted to re-enable PostScript support.

    " +#~ msgstr "" +#~ "

    Program Ghostview, ktorý Okular interne používa na zobrazovanie " +#~ "grafiky PostScript zo súborov DVI, dokáže vytvárať výstup v rôznych " +#~ "formátoch. Podprogramy, ktoré Ghostview na to používa, sa nazývajú " +#~ "'device drivers' (ovládače zariadení). Pre každý formát, ktorý Ghostview " +#~ "dokáže zapísať, existuje jeden ovládač. Rôzne verzie Ghostview často " +#~ "obsahujú rôzne verzie ovládačov. Verzia, ktorú máte nainštalovanú, asi " +#~ "neobsahuje žiadny ovládač, ktorý Okular pozná.

    Je " +#~ "veľmi nepravdepodobné, že by normálna inštalácia Ghostview tieto ovládače " +#~ "neobsahovala. Preto táto chyba môže byť spôsobená napríklad závažnou " +#~ "chybou v konfigurácii inštalácie Ghostview.

    Ak chcete problémy s " +#~ "Ghostview vyriešiť, použite príkaz gs --help, ktorý " +#~ "zobrazí zoznam ovládačov, ktoré Ghostview obsahuje. Okular dokáže " +#~ "používať ovládače 'png256', 'jpeg' a 'pnm'. Uvedomte si, že musíte Okular " +#~ "spustiť znovu, aby sa podpora pre PostScript znovu aktivovala.

    " + +#~ msgid "DVI Backend" +#~ msgstr "DVI Backend" + +#~ msgid "A DVI file renderer" +#~ msgstr "Vykresľovanie DVI súborov" + +#~ msgid "© 2006 Luigi Toscano" +#~ msgstr "© 2006 Luigi Toscano" diff --git a/po/sk/okular_epub.po b/po/sk/okular_epub.po new file mode 100644 index 0000000..64e2f34 --- /dev/null +++ b/po/sk/okular_epub.po @@ -0,0 +1,54 @@ +# translation of okular_epub.po to Slovak +# Michal Sulek , 2009. +# Roman Paholík , 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_epub\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-05-19 08:42+0200\n" +"Last-Translator: Roman Paholík \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Michal Šulek" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "misurel@gmail.com" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "Chyba počas otvárania EPub dokumentu." + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "EPub" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "Nastavenie backendu EPub" + +#~ msgid "EPub Backend" +#~ msgstr "EPub Backend" + +#~ msgid "An EPub backend" +#~ msgstr "EPub backend" + +#~ msgid "© 2008 Ely Levy" +#~ msgstr "© 2008 Ely Levy" + +#~ msgid "Ely Levy" +#~ msgstr "Ely Levy" diff --git a/po/sk/okular_fax.po b/po/sk/okular_fax.po new file mode 100644 index 0000000..eac474c --- /dev/null +++ b/po/sk/okular_fax.po @@ -0,0 +1,43 @@ +# translation of okular_fax.po to Slovak +# Michal Sulek , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_fax\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-04-25 15:21+0200\n" +"Last-Translator: Michal Sulek \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.3\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Michal Šulek" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "misurel@gmail.com" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "Nepodarilo sa načítať dokument" + +#~ msgid "Fax Backend" +#~ msgstr "Fax Backend" + +#~ msgid "A G3/G4 fax document backend" +#~ msgstr "Backend dokumentu faxu G3/G4" + +#~ msgid "© 2008 Tobias Koenig" +#~ msgstr "© 2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/sk/okular_fictionbook.po b/po/sk/okular_fictionbook.po new file mode 100644 index 0000000..591ee81 --- /dev/null +++ b/po/sk/okular_fictionbook.po @@ -0,0 +1,80 @@ +# translation of okular_fictionbook.po to Slovak +# Richard Fric , 2007, 2009, 2010. +# Michal Sulek , 2009. +# Roman Paholík , 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_fictionbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-05-19 08:41+0200\n" +"Last-Translator: Roman Paholík \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Richard Frič, Michal Šulek, Roman Paholík" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "Richard.Fric@kdemail.net,misurel@gmail.com,wizzardsk@gmail.com" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "Dokument nie je platný FictionBook" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "Nepodarilo sa otvoriť dokument: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "Dokument nie je platný ZIP archív" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "Neplatná štruktúra dokumentu (chýba hlavný adresár)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "Nenájdený žiadny obsah v dokumente" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "Neplatný XML dokument: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "FictionBook" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "Nastavenie backendu FictionBook" + +#~ msgid "Fiction Book Backend" +#~ msgstr "Fiction Book Backend" + +#~ msgid "A renderer for FictionBook eBooks" +#~ msgstr "Vykresľovanie e-kníh FictionBook" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/sk/okular_ghostview.po b/po/sk/okular_ghostview.po new file mode 100644 index 0000000..75f5bb8 --- /dev/null +++ b/po/sk/okular_ghostview.po @@ -0,0 +1,90 @@ +# translation of okular_ghostview.po to Slovak +# Richard Fric , 2007, 2010. +# Michal Sulek , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_ghostview\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-01-28 21:55+0100\n" +"Last-Translator: Richard Fric \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Richard Frič, Michal Šulek" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "Richard.Fric@kdemail.net,misurel@gmail.com" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "Použiť systémové písma" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"Určuje či má Ghostscript povoliť používanie systémových písiem. Ak nie, bude " +"možné použiť len vložené písma v dokumente." + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "Všeobecné nastavenie" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "Po&užiť systémové písma" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Nastavenie Ghostscript backendu" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "Verzia dokumentu" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "Úroveň jazyka" + +#~ msgid "PS Backend" +#~ msgstr "PS Backend" + +#~ msgid "A PostScript file renderer." +#~ msgstr "Vykresľovanie PostScript súborov." + +#~ msgid "© 2007-2008 Albert Astals Cid" +#~ msgstr "© 2007-2008 Albert Astals Cid" + +#~ msgid "Based on the Spectre library." +#~ msgstr "Založené na knižnici Spectre." + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" diff --git a/po/sk/okular_kimgio.po b/po/sk/okular_kimgio.po new file mode 100644 index 0000000..c6b56dc --- /dev/null +++ b/po/sk/okular_kimgio.po @@ -0,0 +1,68 @@ +# translation of okular_kimgio.po to Slovak +# Richard Fric , 2007, 2009, 2010. +# Michal Sulek , 2009. +# Matej Mrenica , 2019. +msgid "" +msgstr "" +"Project-Id-Version: okular_kimgio\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-03-26 08:58+0100\n" +"Last-Translator: Matej Mrenica \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 19.03.80\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Richard Frič, Michal Šulek" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "Richard.Fric@kdemail.net,misurel@gmail.com" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "Nepodarilo sa načítať dokument: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" +"Dokument vyzerá byť zdeformovaný. Toto je najlepší odhad zamýšľaného vzhľadu." + +#~ msgid "Image Backend" +#~ msgstr "Backend obrázkov" + +#~ msgid "A simple image backend" +#~ msgstr "Backend jednoduchých obrázkov" + +#~ msgid "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" +#~ msgstr "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" + +#~ msgid "Main Toolbar" +#~ msgstr "Hlavný panel nástrojov" diff --git a/po/sk/okular_markdown.po b/po/sk/okular_markdown.po new file mode 100644 index 0000000..4fb9358 --- /dev/null +++ b/po/sk/okular_markdown.po @@ -0,0 +1,52 @@ +# translation of okular_markdown.po to Slovak +# Roman Paholík , 2017. +# Matej Mrenica , 2019. +msgid "" +msgstr "" +"Project-Id-Version: okular_markdown\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-07-11 14:42+0200\n" +"Last-Translator: Matej Mrenica \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 19.04.3\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Roman Paholík" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "wizzardsk@gmail.com" + +#: converter.cpp:59 converter.cpp:93 +#, kde-format +msgid "Failed to open the document" +msgstr "Zlyhalo otváranie dokumentu" + +#: converter.cpp:106 converter.cpp:124 +#, kde-format +msgid "Failed to compile the Markdown document." +msgstr "Zlyhalo preloženie dokumentu Markdown." + +#: generator_md.cpp:58 +#, kde-format +msgid "Enable SmartyPants formatting" +msgstr "Povoliť SmartyPants formátovanie" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown" +msgstr "Markdown" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown Backend Configuration" +msgstr "Nastavenie backendu Markdown" diff --git a/po/sk/okular_mobi.po b/po/sk/okular_mobi.po new file mode 100644 index 0000000..79e5129 --- /dev/null +++ b/po/sk/okular_mobi.po @@ -0,0 +1,63 @@ +# translation of okular_mobi.po to Slovak +# Richard Fric , 2009. +# Michal Sulek , 2009. +# Roman Paholík , 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_mobi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-05-19 08:40+0200\n" +"Last-Translator: Roman Paholík \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Michal Šulek" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "misurel@gmail.com" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Chyba počas otvárania Mobipocket dokumentu." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "" +"Táto kniha je chránená pomocou DRM a môže byť zobrazená len na určenom " +"zariadení" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "Mobipocket" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "Nastavanie backendu Mobipocket" + +#~ msgid "Mobipocket Backend" +#~ msgstr "Mobipocket Backend" + +#~ msgid "A mobipocket backend" +#~ msgstr "Mobipocket backend" + +#~ msgid "© 2008-2009 Jakub Stachowski" +#~ msgstr "© 2008-2009 Jakub Stachowski" + +#~ msgid "Jakub Stachowski" +#~ msgstr "Jakub Stachowski" diff --git a/po/sk/okular_poppler.po b/po/sk/okular_poppler.po new file mode 100644 index 0000000..63e2b2d --- /dev/null +++ b/po/sk/okular_poppler.po @@ -0,0 +1,410 @@ +# translation of okular_poppler.po to Slovak +# Richard Fric , 2007, 2009, 2010. +# Michal Sulek , 2009, 2010. +# Roman Paholík , 2012, 2013. +# Matej Mrenica , 2019, 2021. +msgid "" +msgstr "" +"Project-Id-Version: okular_poppler\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2021-12-07 16:35+0100\n" +"Last-Translator: Matej Mrenica \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 21.11.90\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Richard Frič, Michal Šulek" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "Richard.Fric@kdemail.net,misurel@gmail.com" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "Rozšíriť tenké čiary:" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "Nie" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "Plný" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "Tvar" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, fuzzy, kde-format +#| msgid "Scaling mode for the printed pages" +msgid "Default scaling mode when printing:" +msgstr "Režim škálovania pre tlačené stránky" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "Umiestniť do tlačiteľnej oblasti" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "Umiestniť na celú stranu" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "Žiadne; tlačiť pôvodnú veľkosť" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" +"Ak zapnete túto možnosť, Okular bude môcť kontaktovať servery OCSP tretích " +"strán, aby skontroloval, či certifikáty použité na digitálne podpisovanie " +"neboli od ich vytvorenia zrušené." + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" +"Kontrola odvolania certifikátov digitálnych podpisov pomocou serverov " +"tretích strán" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "Databáza certifikátov" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "Predvolené:" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "Vlastné:" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "Dostupné certifikáty" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "Načítať podpisy" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "PDF možnosti" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "Tlačiť anotácie" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "Zahrnúť anotácie vo vytlačenom dokumente" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"Zahrnie anotácie vo vytlačenom dokumente. Toto môžete zakázať, ak chcete " +"vytlačiť pôvodný neanotovaný dokument." + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "Vynútiť rasterizáciu" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "Pred tlačou rasterizovať do obrázku" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"Vynúti rasterizáciu každej strany do obrázku predtým ako sa vytlačí. Toto " +"zvyčajne dáva o niečo horšie výsledky, ale je to užitočné pri tlači " +"dokumentov, ktoré sa nevytlačia správne." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "Režim škálovania pre tlačené stránky" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "Režim škálovania:" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF v. %1.%2" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "Formát" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "Šifrovaný" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "Nešifrovaný" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "Bezpečnosť" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "Áno" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "Optimalizovaný" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Podpísal: %1\n" +"\n" +"Dátum: %2" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "Používam Poppler %1" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" +"Používam Poppler %1\n" +"\n" +"Skompilované s Poppler %2" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "Nastavenie PDF backendu" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" +"V dokumente sa našli chyby, Okular nemusí byť schopný správne zobraziť obsah " +"súboru" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" + +#: pdfsettingswidget.cpp:120 +#, fuzzy, kde-format +#| msgid "&Load Signatures" +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "Načítať podpisy" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "Vydané pre" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "E-mail" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "Dátum vypršania platnosti" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" +"Používate knižnicu Poppler vytvorenú bez podpory NSS.\n" +"Pridávanie digitálnych podpisov preto nie je k dispozícii" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "Potrebný reštart" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "Po zmene nastavení adresára NSS musíte reštartovať Okular" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter Password" +msgstr "Zadať heslo" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "Zadajte heslo na otvorenie %1:" + +#~ msgid "Not Available" +#~ msgstr "Nedostupné" + +#~ msgid "Select rasterization to enable this!" +#~ msgstr "Vyberte rasterizáciu na povolenie tejto funkcie!" + +#~ msgid "PDF Backend" +#~ msgstr "PDF Backend" + +#~ msgid "A PDF file renderer" +#~ msgstr "Vykresľovanie PDF súborov" + +#~ msgid "© 2005-2008 Albert Astals Cid" +#~ msgstr "© 2005-2008 Albert Astals Cid" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Saving files with /Encrypt is not supported." +#~ msgstr "Ukladanie súborov so /šifrovaním nie je podporované." diff --git a/po/sk/okular_tiff.po b/po/sk/okular_tiff.po new file mode 100644 index 0000000..c6e4376 --- /dev/null +++ b/po/sk/okular_tiff.po @@ -0,0 +1,26 @@ +# translation of okular_tiff.po to Slovak +# Roman Paholík , 2020. +msgid "" +msgstr "" +"Project-Id-Version: okular_tiff\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-07-11 19:03+0200\n" +"Last-Translator: Roman Paholik \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 19.12.3\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Roman Paholík" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "wizzardsk@gmail.com" diff --git a/po/sk/okular_txt.po b/po/sk/okular_txt.po new file mode 100644 index 0000000..d37fa87 --- /dev/null +++ b/po/sk/okular_txt.po @@ -0,0 +1,48 @@ +# translation of okular_txt.po to Slovak +# Roman Paholík , 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_txt\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-05-21 05:22+0200\n" +"Last-Translator: Roman Paholík \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Roman Paholík" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "wizzardsk@gmail.com" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "Txt" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "Nastavenie Txt backendu" + +#~ msgid "Txt Backend" +#~ msgstr "Txt backend" + +#~ msgid "Txt backend." +#~ msgstr "Txt backend." + +#~ msgid "© 2013 Azat Khuzhin" +#~ msgstr "© 2013 Azat Khuzhin" + +#~ msgid "Azat Khuzhin" +#~ msgstr "Azat Khuzhin" diff --git a/po/sk/okular_xps.po b/po/sk/okular_xps.po new file mode 100644 index 0000000..4489ddf --- /dev/null +++ b/po/sk/okular_xps.po @@ -0,0 +1,56 @@ +# translation of okular_xps.po to Slovak +# Richard Fric , 2007, 2009, 2010. +# Michal Sulek , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_xps\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-01-28 21:53+0100\n" +"Last-Translator: Richard Fric \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Richard Frič, Michal Šulek" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "Richard.Fric@kdemail.net,misurel@gmail.com" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "Revízia" + +#~ msgid "XPS Backend" +#~ msgstr "XPS Backend" + +#~ msgid "An XPS backend" +#~ msgstr "XPS backend" + +#~ msgid "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" +#~ msgstr "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" + +#~ msgid "Brad Hards" +#~ msgstr "Brad Hards" + +#~ msgid "Jiri Klement" +#~ msgstr "Jiri Klement" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" diff --git a/po/sk/org.kde.active.documentviewer.po b/po/sk/org.kde.active.documentviewer.po new file mode 100644 index 0000000..5e7b87e --- /dev/null +++ b/po/sk/org.kde.active.documentviewer.po @@ -0,0 +1,241 @@ +# translation of org.kde.active.documentviewer.po to Slovak +# Roman Paholík , 2012, 2016. +# Matej Mrenica , 2019, 2020, 2021. +# Ferdinand Galko , 2023. +msgid "" +msgstr "" +"Project-Id-Version: org.kde.active.documentviewer\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2023-02-19 16:51+0100\n" +"Last-Translator: Ferdinand Galko \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 21.12.3\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "Záložky" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "Prehliadač certifikátov" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "Vydané (kým)" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "Bežný názov:" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "EMail:" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "Organizácia:" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "Vydané (komu)" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "Platnosť" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "Vydané (kedy):" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "Platnosť končí (kedy):" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "Odtlačky" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "Odtlačok SHA-1:" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "Odtlačok SHA-256:" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +#, fuzzy +#| msgid "Export..." +msgid "Export…" +msgstr "Exportovať..." + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "Zatvoriť" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "Súbor certifikátu (*.cer)" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "Chyba" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "Nepodarilo sa exportovať certifikát." + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "Okular" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "" + +#: ui/Main.qml:49 +msgid "About" +msgstr "O aplikácii" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "Vyžaduje sa heslo" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "Odstrániť záložku" + +#: ui/MainView.qml:29 +msgid "Bookmark this page" +msgstr "Pridať túto stránku do záložiek" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "Miniatúry" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "Obsah" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "Podpisy" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "Vlastnosti podpisu" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "Stav platnosti" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "Platnosť podpisu:" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "Zmeny dokumentu:" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "Dodatočné informácie" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "Podpísané (kým):" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "Čas podpisu:" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "Dôvod:" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "Umiestnenie:" + +#: ui/SignaturePropertiesPage.qml:96 +msgid "Document Version" +msgstr "Verzia dokumentu" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Revízia dokumentu %1 z %2" + +#: ui/SignaturePropertiesPage.qml:108 +#, fuzzy +#| msgid "Save Signed Version..." +msgid "Save Signed Version…" +msgstr "Uložiť podpísanú verziu..." + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +#, fuzzy +#| msgid "View Certificate..." +msgid "View Certificate…" +msgstr "Zobraziť certifikát..." + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "Podpis sa nepodarilo uložiť." + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "Nedostupné" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "Nenájdené žiadne výsledky." + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "Žiadny dokument nie je otvorený" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "" + +#: ui/WelcomeView.qml:108 +#, fuzzy +#| msgid "Document Version" +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "Verzia dokumentu" + +#~ msgid "Open..." +#~ msgstr "Otvoriť..." + +#~ msgid "Search..." +#~ msgstr "Hľadať..." + +#~ msgid "" +#~ "No Documents found. To start to read, put some files in the Documents " +#~ "folder of your device." +#~ msgstr "" +#~ "Nenašli sa žiadne dokumenty. Na začatie čítania vložte nejaké súbory do " +#~ "priečinka dokumentov vášho zariadenia." + +#~ msgid "Document viewer for Plasma Active using Okular" +#~ msgstr "Prehliadač dokumentov pre Plasma Active cez Okular" + +#~ msgid "Reader" +#~ msgstr "Čítačka" + +#~ msgid "Copyright 2012 Marco Martin" +#~ msgstr "Copyright 2012 Marco Martin" + +#~ msgid "Marco Martin" +#~ msgstr "Marco Martin" + +#~ msgid "URL of the file to open" +#~ msgstr "URL súboru na otvorenie" diff --git a/po/sl/docs/okular/index.docbook b/po/sl/docs/okular/index.docbook new file mode 100644 index 0000000..23edc1b --- /dev/null +++ b/po/sl/docs/okular/index.docbook @@ -0,0 +1,4431 @@ + +KPDF"> + + +]> + + + + Priročnik za &okular; + + Albert Astals Cid
    &Albert.Astals.Cid.mail;
    +
    +
    + Pino Toscano
    pino@kde.org
    +
    +
    + PeterŽaucer
    peter.zaucer@gmail.com
    Prevod
    +
    + &FDLNotice; + 19.02.2022 + 22.04 + + + &okular; je &kde; univerzalni pregledovalnik dokumentov, ki temelji na &kpdf; kodi. + + + KDE + okular + pdf + ps + postscript + tiff + djvu + dvi + xps + comicbook + fictionbook + markdown + mobipocket + annotation + +
    + + Uvod + &okular; je &kde; univerzalni pregledovalnik dokumentov, ki temelji na kodi &kpdf; aplikacije. Čeprav temelji na &kpdf; kodi, ima &okular; nekaj edinstvenih funkcij, kot je način pregleda, izboljÅ¡ana podpora za predstavitve in podpora za opombe. + &okular; podpira veliko različnih formatov, kot so &PDF;, &PostScript;, Tiff, DjVU, slike (png, jpg itd.) XPS, Fiction Books, Comic Book, Plucker, EPub, Fax in Markdown. Za vse podprte formate in njihove funkcije glejte &okular; obdelovalniki formatov dokumentov. + + Glavno okno &okular;ja + + + + + + Glavno okno &okular;ja + + + + + + Osnovna uporaba + + Odpiranje datotek + Če želite odpreti katero koli podprto datoteko v programu &okular;, izberite DatotekaOdpri... , izberite podprto datoteko v pogovornem oknu in kliknite Odpri . VaÅ¡a datoteka bi morala biti zdaj prikazana v glavnem oknu. + + Nov dokument bo odprt v novem zavihku, če je označena možnost Odpri nove datoteke v zavihkih na strani s sploÅ¡no konfiguracijo. + Zavihek lahko zaprete tako, da kliknete &MMB; na njem. + Predhodno zaprt dokument v zavihku je mogoče znova odpreti z &Ctrl;&Shift;TDatoteka Razveljavi zapiranje zavihka element menija. + + Če ste že odprli datoteke v programu &okular; prej lahko do njih hitro dostopate tako, da jih izberete v meniju DatotekaOdpri nedavno. + &okular; je privzeta &kde; aplikacija za &PDF; in &PostScript; datoteke, ki se zaženejo, ko kliknete z &LMB; na takÅ¡no vrsto datoteke v upravitelju datotek. Če želite odpreti katero koli datoteko, katere format podpira &okular; uporabite Odpri z...&okular; iz kontekstnega menija v upravitelju datotek. + Ko odprete datoteko, jo boste verjetno želeli prebrati in zato krmariti po njej. Pojdite na naslednji razdelek, če želite izvedeti več o tem. + + + Navigacija + Ta razdelek opisuje, kako lahko krmarite po dokumentu v programu &okular;. + Obstaja več načinov premikanja po območju gledanja. Ena je uporaba gor in dol smernih tipk. Uporabite lahko tudi drsni trak, kolesce miÅ¡ke ali &PgUp; in &PgDn; tipki. + Uporabite lahko tudi navigacijske tipke, podobne vim, in sicer H za pomik na vrh prejÅ¡nje strani, L za pomik na vrh naslednjo stran, J za premik eno vrstico navzdol in K za premik eno vrstico navzgor. + Drug način je, da držite &LMB; navzdol na poljubnem mestu v dokumentu, medtem ko miÅ¡ko vlečete v nasprotni smeri, kamor se želite premakniti. Ta postopek deluje le, če je omogočeno orodje za brskanje, ki ga lahko izberete tako, da izberete Orodja Brskaj. + + Pri ogledu dokumenta v predstavitvenem načinu uporabite gor in dol puščične tipke za preklapljanje med stranmi ali diapozitivi. Å tevilka in položaj trenutnega diapozitiva bosta prikazana v oknu v desnem zgornjem kotu zaslona. + + Če želite brati dokument z več stranmi, uporabite funkcijo samodejnega drsenja programa &okular;. Zaženite samodejno drsenje s &Shift;&Down; ali &Shift;&Up;. Nato uporabite te tipke za povečanje in zmanjÅ¡anje hitrosti drsenja. Samodejno drsenje lahko začasno zaženete ali ustavite tako, da pritisnete &Shift; ključ; s pritiskom katere koli druge tipke to funkcijo deaktivirate. + Drug način za krmarjenje po dokumentu z več stranmi je uporaba kazalca miÅ¡ke. Povlecite stran gor ali dol, nadaljujte z vlečenjem, tudi ko dosežete dno ali vrh zaslona in glejte. Ko prestopite mejo strani, se kazalec miÅ¡ke znova prikaže na vrhu ali dnu zaslona in lahko nadaljujete z vlečenjem. + Stranska vrstica na levi strani zaslona omogoča Å¡e dva načina krmarjenja po dokumentu: + + + Če kliknete sličico strani, se bo območje za ogled preusmerilo na to stran. + + + Če ima dokument kazalo vsebine, se s klikom na element kazala prikaže dokument na strani, ki je povezana s tem elementom. + + + Če ima dokument plasti, lahko nadzirate prikazane plasti tako, da označite ali počistite elemente na seznamu Sloji. + + + Če ima dokument zaznamke, omogočite pogled Zaznamki in jih kliknite, da odprete povezano stran. Če zaznamki niso prikazani samo za trenutni dokument, lahko hitro preklopite na zaznamke v vseh nedavno odprtih datotekah. + + + Če ima dokument opombe, omogočite pogled Opombe in kliknite opombe ali jih izberite s tipkama gor in dol in pritisnite &Enter; da greste na povezano stran. + + + Nekateri dokumenti imajo povezave. V tem primeru jih lahko kliknete in pogled se bo spremenil na stran, na katero vodi povezava. Če je povezava na spletno stran ali kak drug dokument, je privzeti &kde; priklican bo upravljalnik za to obliko. Na primer, s klikom na povezavo, ki kaže na https://www.kde.org, se odpre spletna stran v privzetem spletnem brskalniku &kde;. + + Notranje povezave do dokumenta delujejo le, če je uporabljeno Orodje za brskanje. + + Poleg tega lahko uporabite naslednje funkcije za hitro premikanje na določena mesta v dokumentu: + + + Na začetek dokumenta se lahko premaknete z &Ctrl;Domov ali z Pojdi Začetek dokument . + + + Na konec dokumenta se lahko premaknete z &Ctrl;Konec ali z Pojdi Konec dokumenta . + + + V dokumentu se lahko premaknete naprej s pomočjo preslednice ali &PgDn;. Za prehod na naslednjo stran dokumenta uporabite gumb Naslednja stran orodne vrstice ali Pojdi Naslednja stran v menijski vrstici . + + + V dokument se lahko vrnete nazaj z &Backspace; ali &PgUp;. Za prehod na prejÅ¡njo stran dokumenta uporabite gumb PrejÅ¡nja stran v orodni vrstici ali Pojdi PrejÅ¡nja stran v menijski vrstici. + + + Lahko se vrnete na položaje v dokumentu, od koder ste priÅ¡li v kronoloÅ¡kem vrstnem redu. Razmislite npr. branje fraze Kot je prikazano v [15], …, in želite izvedeti hitro iskanje reference [15]. Torej kliknete nanjo in program &okular; bo skočil na seznam referenc. Z uporabo &Alt;&Shift;&Left; ali Pojdi Nazaj v menijski vrstici se boste vrnili točno na položaj, kjer od koder si priÅ¡el. + + + V dokumentu se lahko premaknete naprej po skoku nazaj, kot je opisano zgoraj, z uporabo &Alt;&Shift;&Right; ali Pojdi Naprej v menijski vrstici. + + + Pri iskanju s F3 ali &Enter; (ko je fokus na besedilnem polju Najdi) tipkami ali Uredi Poišči naslednje element menija ali se pomaknite nazaj na prejÅ¡nje ujemanje z uporabo tipk &Shift;F3 ali &Shift;&Enter; (ko je fokus na besedilnem polju Najdi) ali Uredi Poišči prejÅ¡nji element menija. + + + + + Način predstavitve + Predstavitveni način predstavlja drug način za ogled dokumentov v programu &okular;. Omogoči se lahko v PogledPredstavitev. Prikazuje dokument stran za stranjo. Strani so prikazane s povečavo strani, kar pomeni, da je vidna vsa stran. + + &PDF; dokumenti lahko celo določijo, da so vedno odprti v predstavitvenem načinu. + + Ko ste v predstavitvenem načinu, imate na vrhu zaslona vrstico za pomoč. Samo premaknite kazalec miÅ¡ke na vrh zaslona, da se prikaže. + + &okular; v predstavitvenem načinu + + + + + + &okular; v predstavitvenem načinu + + + + Za krmarjenje med stranmi lahko uporabite &LMB; (naslednja stran) in &RMB; (prejÅ¡nja stran), kolesce miÅ¡ke, ikone s puščicami ali urejanje vrstice v zgornji vrstici ali tipke, določene v razdelku Krmarjenje. + Uporabite gumb Predvajaj/Zaustavi v zgornji vrstici, da začnete predvajanje predstavitve ali jo ustrezno zaustavite. + Predstavitveni način lahko kadar koli zapustite tako, da pritisnete &Esc; ali kliknite ikono Zapri v zgornji vrstici. + Na trenutno stran lahko riÅ¡ete tudi s svinčnikom. Kliknite ikono Preklop načina risanja v zgornji vrstici, da omogočite ali onemogočite možnost risanja v predstavitvenem načinu. Risbe se samodejno izbriÅ¡ejo, ko zapustite način predstavitve. Lahko tudi kliknete ikono IzbriÅ¡i risbe, da odstranite risbe na trenutni strani. + Predstavitveni način podpira več kot en zaslon v konfiguraciji z več monitorji. Pri več kot enem zaslonu se bo v zgornji vrstici pojavil nov gumb z ikono zaslona: to je spustno polje, ki vam omogoča, da predstavitev premaknete na katerega koli drugega razpoložljivega zaslona. + Predstavitveni način ima nekaj konfiguracijskih možnosti, njihov opis najdete v poglavju Konfiguracija &okular;ja. + + + + Inverzno iskanje med &latex; Urejevalniki in &okular;jem + + Inverzno iskanje je zelo uporabna funkcija, ko sami piÅ¡ete &latex; dokumentirajte. Če je vse pravilno nastavljeno, lahko kliknete v okno &okular; z levo tipko miÅ¡ke in hkrati pritisnete &Shift;. Po tem urejevalnik naloži izvorno datoteko &latex; in skoči na ustrezen odstavek. + + Inverzno iskanje ne more delovati, razen če: + + + Izvorna datoteka je bila uspeÅ¡no prevedena. + &okular; ve, kateri urejevalnik želite uporabiti. + Omogočeno mora biti orodje za brskanje, ki ga lahko izberete tako, da izberete OrodjaBrskaj . + + + Pri tej funkciji programa &okular; levi klik miÅ¡ke med pritiskom &Shift; v &DVI; ali &PDF; dokumentu bo urednik odprl ustrezen &latex; dokument in poskusil iti v ustrezno vrstico. Ne pozabite povedati &okular;ju za uporabo ustreznega urejevalnika v &okular;-jevem menijskem elementu NastavitveKonfiguriraj Okular... (na strani Urejevalnik). + + Za več podrobnosti o konfiguraciji urejevalnika si oglejte ustrezen razdelek tega priročnika. + + + Konfiguracija &okular;ja + + + + + + Konfiguriranje urejevalnika v &okular;ju + + Konfiguriranje urejevalnika v &okular;ju + + + + + + + Napredne funkcije programa &okular; + + Vgrajene datoteke + Če ima trenutni dokument vgrajenih nekaj datotek, se bo, ko ga odprete, nad pogledom strani prikazala vrstica, ki vas bo obvestila o vgrajenih datotekah. + + Vrstica z vgrajenimi datotekami + + + + + + Vrstica z vgrajenimi datotekami + + + + V tem primeru lahko bodisi kliknete povezavo v besedilu vrstice ali izberete DatotekaVgrajene datoteke, da odprete pogovorno okno za vgrajene datoteke. Pogovorno okno vam omogoča ogled vgrajenih datotek in njihovo izvlečenje. + + + Obrazci + Če ima trenutni dokument obrazce, se bo, ko ga odprete, nad pogledom strani pojavila vrstica, kjer lahko omogočite obrazce. + + Vrstica z obrazci + + + + + + Vrstica z obrazci + + + + V tem primeru lahko kliknete Pokaži obrazce v vrstici ali izberete PogledPokaži obrazce za vnos podatkov v polja obrazca. + + + Podpisi + Če ima trenutni dokument podpise, se bo po odprtju dokumenta nad pogledom strani pojavila vrstica. Omogoča odpiranje plošče Podpisi. + + Vrstica s podpisi + + + + + + Vrstica s podpisi + + + + Z uporabo plošče Podpisi lahko pregledate podpis dokumenta in njegovo potrdilo. + + Plošče s podpisi + + + + + + Plošče s podpisi + + + + + Ta funkcija je na voljo samo za &PDF; dokumente. Za pridobitev večine informacij o podpisih morate namestiti vsaj različico 0.51 programa Poppler, različico 0.68 za pridobitev informacij o lokaciji/razlogu podpisa in različico 0.73 za pridobitev informacij o potrdilu o podpisu. + + + Dodajanje digitalnih podpisov + Dokumentom lahko dodate digitalne podpise z ustreznim dejanjem v meniju Orodja. + Da bi lahko podpisali dokument, morate imeti v sistemu na voljo ustrezno podpisno potrdilo PKCS. &okular; nima zmožnosti ustvariti takih potrdil, ker jih morajo izdati overitelji potrdil, da so uporabna za preverjanje &etc; + Za podpisovanje &PDF; dokumentov uporabljamo knjižnico Poppler, ki uporablja knjižnico NSS za obdelavo potrdil. V trenutku pisanja bo Poppler poskuÅ¡al uporabiti eno od naslednjih shramb potrdil NSS po vrstnem redu (prvo, ki obstaja): + + Trenutna shramba uporabniÅ¡kih potrdil Firefox. + Sistemska shramba potrdil /etc/pki/nssdb. + Trenutni uporabnik $HOME/.pki/nssdb + + Če želite uporabiti shrambo potrdil po meri, lahko to storite tako, da jo nastavite v &PDF; Razdelku Konfiguracije ozadja pogovornega okna Konfiguriraj ozadja.... + + Ta funkcija je na voljo za samo &PDF; dokumente. Če želite dokumentu dodati digitalne podpise, morate namestiti vsaj različico 21.01 programa Poppler. + + + + + Opombe + &okular; omogoča pregledovanje in komentiranje vaÅ¡ih dokumentov. + + Okularjeve opombe + + + + + + Okularjeve opombe + + + + &okular; ima dve različni vrsti opomb: + Besedilne opombe, kot sta Rumeni označevalec in Črno podčrtano, lahko uporabite z datotekami, ki vsebujejo besedilo (npr. &PDF;). + Grafične opombe, kot so Pojavna opomba, Vdelana opomba, Prostoročna črta, Označevalnik, Ravna črta, Mnogokotnik, Žig, Podčrtano, Elipsa in Pisalni stroj. + Grafične opombe niso omejene na &PDF; datoteke; mogoče jih je uporabiti za kateri koli format, ki ga podpira &okular;. + Z uporabo menija Opombe lahko dodate Pojavno opombo ali katero koli drugo vrsto opombe za dodajanje ali urejanje komentarjev. + + &okular; ima funkcijo "arhiviranja dokumentov". To je format, specifičen za &okular; za prenaÅ¡anje dokumenta in različnih metapodatkov, povezanih z njim (trenutno samo opombe). Iz odprtega dokumenta lahko shranite »arhiv dokumentov« tako, da izberete DatotekaShrani kot in izberete Arhiv dokumentov Okular v izbirniku Filter. Tako shranjeni dokumenti bodo kot pripono imena datoteke dobili .okular. Če želite odpreti &okular; arhiv dokumentov, ga odprite z programom &okular; kot bi bil npr. &PDF; dokument. + Opombe lahko shranite tudi neposredno v &PDF; datoteke. Uporabite lahko Datoteka Shrani, da jo shranite nad trenutno datoteko, ali Datoteka Shrani kot..., da jo shranite v novo datoteko. + + UpoÅ¡tevajte, da dodajanje, urejanje ali odstranjevanje opomb morda ne bo mogoče pri datotekah, ki podpirajo DRM. + + + Možno je razveljaviti ali ponoviti katero koli dejanje opombe z uporabo ustreznega elementa v Uredi meni. Dejanje je mogoče razveljaviti tudi s pritiskom na &Ctrl;Z in ponoviti predhodno razveljavljeno dejanje s pritiskom na &Ctrl;&Shift;Z. + + Konfigurirate lahko privzete lastnosti in videz vsakega orodja za opombe. Oglejte si ustrezen razdelek v tej dokumentaciji. + + Dodajanje opomb + Če želite dokumentu dodati opombe, lahko uporabite gumb Hitre opombe na glavni &okular; orodni vrstici ali aktivirajte orodno vrstico za opombe. To storite tako, da izberete OrodjaOpombe ali pritisnete F6. Ko se prikaže orodna vrstica za opombe, samo pritisnite enega od njenih gumbov ali uporabite bližnjice na tipkovnici (tipke od 1 do 9), da uporabite to opombo. + Orodna vrstica za opombe vam pomaga ustvarjati opombe z risbami, oblikami in besedilnimi sporočili. Z orodno vrstico za opombe lahko označite dokument (npr. dodate črte, elipse, mnogokotnike, žige, poudarke, podčrtaje itd.). Spodnja tabela natančno opisuje, kaj počne privzeti nabor gumbov orodne vrstice za opombe. + + + + + Gumb + Ime orodja + Opis + + + + + + + + + + + + + + + Označevalnik + + + Označi besedilo v dokumentu z dano barvo ozadja. + Kliknite gumb orodja, nato kliknite z &LMB; in povlecite, da označite delček besedila. + Možno je definirati Vrsto (Označi, Vijugast, Podčrtaj ali Prečrtaj), Barvo in Prosojnost za označevalnik. Z desno miÅ¡kino tipko kliknite označeno besedilo in izberite menijsko postavko Lastnosti. + + + + + + + + + + + + + + Podčrtaj + + + Besedilo podčrta z ravno črto. + Kliknite gumb orodja, nato kliknite z &LMB; in povlecite, da podčrtate delček besedila. + Možno je definirati Vrsto (Označi, Vijugast, Podčrtaj ali Prečrtaj), Barvo in Prosojnost za podčrtaj. Z desno miÅ¡kino tipko kliknite podčrtano besedilo in izberite menijsko postavko Lastnosti. + + + + + + + + + + + + + + Vijuganje + + + Besedilo podčrta z vijugasto črto. + Kliknite gumb orodja, nato kliknite z &LMB; in povlecite, da vijugasto podčrtate delček besedila. + Možno je definirati Vrsto (Označi, Vijugast, Podčrtaj ali Prečrtaj), Barvo in Prosojnost za podčrtaj. Z desno miÅ¡kino tipko kliknite podčrtano besedilo in izberite menijsko postavko Lastnosti. + + + + + + + + + + + + + + Prečrtati + + + Prečrta nekaj besedila. + Kliknite gumb orodja, nato kliknite z &LMB; in povlecite, da vijugasto prečrtate delček besedila. + Možno je definirati Vrsto (Označi, Vijugast, Podčrtaj ali Prečrtaj), Barvo in Prosojnost za podčrtaj. Z desno miÅ¡kino tipko kliknite podčrtano besedilo in izberite menijsko postavko Lastnosti. + + + + + + + + + + + + + + Pisalni stroj + + + Doda besedilo na prozorno ozadje. To je uporabno za izpolnjevanje obrazcev brez integriranih besedilnih polj, ki jih je mogoče urejati. + Kliknite gumb orodja, nato kliknite z &LMB; kamor želite dodati zgornji levi kot besedila, nato povlecite, da postavite spodnjega desnega. Vnesite besedilo, nato kliknite V redu, da ga shranite, Počisti, da počistite besedilo in začnete znova, ali Prekliči, da prekličete. + Možno je določiti Pisavo in Barvo besedila za besedilo. Z desno miÅ¡kino tipko kliknite ustvarjeno besedilo pisalnega stroja in izberite menijsko postavko Lastnosti. + + + + + + + + + + + + + + Opomba v vrstici + + + NariÅ¡e opombo v vrstici. Opomba bo prikazana v vrstici, kakrÅ¡na je. + Kliknite gumb orodja, nato kliknite z &LMB; kamor želite dodati zgornji levi kot zapiska, nato povlecite, da postavite spodnjega desnega kota. Vnesite besedilo opombe in kliknite V redu, da shranite opombo, Počisti, da počistite besedilo opombe, ali Prekliči, da prekličete ustvarjanje opombe . + Možno je določiti barvo, motnost, pisavo, poravnavo in Å¡irino obrobe za opombo. Z desno miÅ¡kino tipko kliknite ustvarjeno ikono opombe in izberite menijsko postavko Lastnosti. + + + + + + + + + + + + + + Pojavna opomba + + + NariÅ¡e večvrstični zapis. Opombo si lahko ogledate z dvojnim klikom na ikono, ustvarjeno v dokumentu. + Kliknite gumb orodja in nato kliknite mesto v dokumentu, kamor naj bo dodana pojavna opomba. Vnesite besedilo pojavne opombe in kliknite gumb Zapri to opombo v zgornjem desnem kotu pojavnega okna. + Možno je določiti Barvo, Prosojnost in Ikono za zapisek. Z desno miÅ¡kino tipko kliknite ustvarjeno ikono opombe in izberite menijsko postavko Lastnosti. + + + + + + + + + + + + + + Prostoročna črta + + + RiÅ¡e črte proste oblike. + Kliknite gumb orodja, nato kliknite z &LMB; in povlecite, da nariÅ¡ete črto. + Za črto je možno določiti Barvo, Prosojnost in Å irino. Z desno miÅ¡kino tipko kliknite ustvarjeno vrstico in izberite menijsko postavko Lastnosti. + + + + + + + + + + + + + + Puščica (spustni seznam) + + + NariÅ¡e puščico med dvema točkama. + Kliknite gumb orodja, nato kliknite z &LMB; da postavite začetno točko puščice, nato povlecite, da postavite končno točko črte, in Å¡e enkrat kliknite. + Možno je določiti Barvo, Prosojnost, Å irino, Začetek vrstice, Konec vrstice, Dolžina vodilne črte in Dolžina podaljÅ¡ka vodilne črte za črto desno miÅ¡kino tipko kliknite ustvarjeno vrstico in izberite menijsko postavko Lastnosti. + + + + + + + + + + + + + + Ravna črta (spustni seznam) + + + NariÅ¡e črto med dvema točkama. + Kliknite gumb orodja, nato kliknite z &LMB; da postavite začetno točko črte, nato povlecite, da postavite končno točko črte, in Å¡e enkrat kliknite. + Možno je določiti Barvo, Prosojnost, Å irino, Začetek vrstice, Konec vrstice, Dolžina vodilne črte in Dolžina podaljÅ¡ka vodilne črte za črto desno miÅ¡kino tipko kliknite ustvarjeno vrstico in izberite menijsko postavko Lastnosti. + + + + + + + + + + + + + + Pravokotnik (spustni seznam) + + + Okoli izbranega območja nariÅ¡e pravokotnik. + Kliknite gumb orodja, nato kliknite z &LMB; da postavite zgornji levi kot pravokotnika, nato povlecite, da postavite spodnjega desnega kota. + Možno je definirati Vrsto (Pravokotnik ali Elipsa), Barvo, Prosojnost, Polnilo oblike (in njegova barva) in Å irino za obrobo. Z desno miÅ¡kino tipko kliknite ustvarjeno obrobo in izberite menijsko postavko Lastnosti. + + + + + + + + + + + + + + Elipsa (spustni seznam) + + + Okoli izbranega območja nariÅ¡e elipso ali pravokotnik. + Kliknite gumb orodja, nato kliknite z &LMB; in pridržite, da postavite zgornji levi kot obrobljenega pravokotnika za elipso, nato povlecite, da postavite spodnjega desnega kota. + Možno je definirati Vrsto (Pravokotnik ali Elipsa), Barvo, Prosojnost, Polnilo oblike (in njegova barva) in Å irino za obrobo. Z desno miÅ¡kino tipko kliknite ustvarjeno obrobo in izberite menijsko postavko Lastnosti. + + + + + + + + + + + + + + Večkotnik (spustni seznam) + + + NariÅ¡e zaprto obliko iz treh ali več segmentov črte. Ustrezno opombo si lahko ogledate z dvojnim klikom znotraj večkotnika. + Kliknite gumb orodja, nato kliknite z &LMB; da postavite prvo oglišče večkotnika, nato povlecite na mesto drugega oglišča. Nadaljujte, dokler ne nariÅ¡ete celotnega večgona in se ponovno povežete s prvo točko. Kliknite dvakrat, da večkotniku dodate opombo. Vnesite besedilo opombe in kliknite V redu, da shranite opombo, Počisti, da počistite opombo, ali Prekliči, da prekličete vnos opombe. + Za večkotnik lahko definirate Barvo, Prosojnost, Polnilo oblike (in barvo), in Å irino. Z desno miÅ¡kino tipko kliknite ustvarjeni večkotnik in izberite menijsko postavko Lastnosti. + + + + + + + + + + + + + + Žig + + + V dokument vstavi vnaprej določeno obliko. + Kliknite gumb orodja, da izberete žig s spustnega seznama, nato kliknite z &LMB; za oddajo žiga. + Z enim klikom samo postavite kvadratni žig (uporabno za ikone). Če želite dodati pravokotni žig, kliknite z &LMB; in pridržite, da postavite zgornjo levo točko, nato povlecite, da postavite spodnjo desno. + Možno je določiti Prosojnost in Simbol žiga za žig. Z desno miÅ¡kino tipko kliknite ustvarjeno ikono žiga in izberite menijsko postavko Lastnosti. + + Ta funkcija je poskusna. Žigi po meri vstavljeni v &PDF; dokumente niso vidni v PDF bralnikih, ki niso okular;. + + + + + + + To so privzete opombe, ki jih ponuja &okular;. Na strani z opombami v konfiguracijskem pogovornem oknu lahko dodate lastne opombe, kot so žigi po meri, oznake besedila ali geometrijske oblike z notranjo barvo za označevanje regij &etc; + + Možno je dodati &latex; kodo v besedilo opomb. Če želite to narediti, dodajte $$code$$ v besedilo opombe, kjer je code katera koli veljavna &latex; enačba. Sledite navodilom, ki se bodo pojavila na zaslonu, da ga upodabljate z &latex; distribucijo nameščeno v vaÅ¡em sistemu. + + Izbrano orodje je možno konfigurirati s samo orodno vrstico za opombe: + + + + + Gumb + Ime možnosti + Opis + + + + + + + + + + + + + + + Å irina črte + + + Kliknite na ta gumb, da izberete Å¡irino s spustnega seznama. + + + + + + + + + / + + + + + + + Barva pripisa + + + Kliknite na ta gumb, da izberete barvo besedila ali obrobe vaÅ¡e opombe. Izberete lahko eno od vnaprej določenih barv ali kliknete na element Barva po meri..., da odprete pogovorno okno za izbiro barve. + + + + + + + + + + + + + + Barva polnila pripisov + + + Kliknite na ta gumb, da izberete barvo polnila vaÅ¡e opombe. Izberete lahko eno od vnaprej določenih barv ali kliknete na element Barva po meri..., da odprete pogovorno okno za izbiro barve. + + + + + + + + + + + + + + Neprosojnost opombe + + + Kliknite ta gumb, da izberete prosojnost vaÅ¡e opombe s spustnega seznama (100 % ustvari neprozorne opombe). + + + + + + + + + + + + + + Pisava opombe + + + Kliknite na ta gumb, da odprete pogovorno okno za izbiro pisave. + + + + + + + + + + + + + + Napredne nastavitve za trenutno orodje za opombe + + + Kliknite ta gumb, da odprete sploÅ¡no konfiguracijsko pogovorno okno za svojo opombo. + + + + + + V orodni vrstici za opombe so trije dodatni pomožni gumbi: + + + + + Gumb + Opis + + + + + + + + + + + + + + + Dodajte trenutno opombo v meni Hitre opombe v glavni orodni vrstici. + + Uporabite lahko privzete bližnjice od &Alt;9 do &Alt;0, da kadar koli izberete hitra dejanja pripisov, tudi če je orodna vrstica pripisov skrita. + + + + + + + + + + + + + + + Ko je označeno, ohrani trenutno orodje za opombe aktivno po uporabi. + + + + + + + + + + + + + + Skrij orodno vrstico za opombe. + + + + + + S pritiskom na &Shift; lahko omejite kote v večkotnikov na korake po 15°, razmerje pripisov oblik (npr. Pravokotnik, Elipsa) pa na 1:1. Gumb orodne vrstice lahko dobite tudi na Konfiguriraj orodne vrstice.... + Vsebino menija Hitre opombe lahko konfigurirate s pomočjo strani z opombami v &okular;jevem konfiguracijskem pogovornem oknu. To stran lahko odprete tako, da kliknete gumb Hitre opombe in nato v pojavnem meniju izberete Konfiguriraj opombe.... + + Aktiviranje orodne vrstice za opombe bo samodejno preklopilo v način brskanja. + + Komentiranje lahko kadar koli prekinete tako, da ponovno pritisnete gumb opombe, ki jo uporabljate, ali pritisnete &Esc; tipko. + Novo ustvarjena opomba bo imela avtorja, ki ste ga nastavili na strani Opombe v konfiguracijskem pogovornem oknu &okular;ja. Stran Pripombe lahko uporabite tudi za nastavitev vsebin orodne vrstice pripomb. + + + Odstranjevanje opomb + Če želite odstraniti opombo, najprej izberite orodje za brskanje (OrodjaBrskaj), nato jo kliknite z &RMB; in izberite IzbriÅ¡i ali izberite opombo z &LMB; in pritisnite ∇ tipko. + Pri odstranjevanju opombe bo njeno okno zaprto, če je odprto. + + + Urejanje opomb + Če želite urediti opombo, najprej izberite orodje za brskanje (OrodjaBrskaj), nato kliknite opombo z &RMB; in izberite Lastnosti. Pojavilo se bo pogovorno okno s sploÅ¡nimi nastavitvami pripisov (kot so barva in motnost, avtor itd.) in nastavitvami, značilnimi za to vrsto pripisov. + + Pogovorno okno lastnosti opombe + + + + + + Pogovorno okno lastnosti opombe + + + + Če želite premakniti opombo, pridržite &Ctrl; tipko, premaknite kazalec miÅ¡ke nanjo in nato začnite vleči z &LMB;. + Če kliknete z &LMB; na opombi se izbere. Ročaji za spreminjanje velikosti se prikažejo na izbirnem pravokotniku. Ko se kazalec premakne nad eno od 8 ročic za spreminjanje velikosti na vogalih ali robovih, se oblika kazalca spremeni, da prikaže način spreminjanja velikosti. Kliknite kjer koli drugje pripis, da ga premaknete. S pritiskom &Esc; ali pa s klikom na območje zunaj opombe prekličete izbor. + Spreminjanje velikosti je na voljo samo za anotacije: vrstične opombe, pisalni stroj, žig in elipsa. + + + Nekatere možnosti so lahko onemogočene, odvisno od dovoljenj dokumenta (to običajno vpliva le na nekatere dokumente &PDF;). + + + + + Upravljanje zaznamkov + &okular; ima zelo prilagodljiv sistem zaznamkov. &okular; shrani položaj na strani v zaznamku in vam omogoča, da določite več kot en zaznamek na stran. + Za upravljanje zaznamkov v programu &okular; lahko uporabite pogled Zaznamki v stranski vrstici, meniju Zaznamkov ali kontekstnem meniju pogleda dokumenta (kliknite z &RMB;, da ga odprete ). + + Pogled zaznamkov + Če želite odpreti pogled Zaznamki, kliknite zavihek Zaznamki na vrhu stranske vrstice. Če stranska vrstica ni prikazana, kliknite gumb Pokaži stransko vrstico v orodni vrstici ali elementu menija ali F7 NastavitvePokaži stransko vrstico element menija, da bo viden. + + Kontekstni meni pogleda zaznamkov + + + + + + Kontekstni meni pogleda zaznamkov + + + + Potrditveno polje Pokaži za vse dokumente lahko počistite, da prikažete samo zaznamke iz trenutnega dokumenta. + Filtrirno vrstico na vrhu pogleda Zaznamki lahko uporabite za filtriranje vsebine podokna s seznamom zaznamkov glede na besedilo v polju. + Podokno s seznami omogoča ogled seznama zaznamkov v obliki drevesa: vsak dokument na seznamu je mogoče razÅ¡iriti ali strniti s klikom na < ali v zraven. + Z desnim klikom menija elementa dokumenta lahko odprete dokument, preimenujete njegov element ali ga odstranite s seznama. Ne pozabite, da odstranitev postavke dokumenta povzroči odstranitev vseh zaznamkov v ustreznem dokumentu. + Meniji z desnim klikom posameznih elementov zaznamkov vam omogočajo, da odprete zaznamek, ga preimenujete ali odstranite. + Meni elementov v kazalu z desnim klikom lahko uporabite za ustvarjanje zaznamkov ali prehod na naslednji ali prejÅ¡nji zaznamek. + + + + + Možnosti ukazne vrstice + Čeprav se &okular; največkrat zažene iz &kde; programskega menija ali ikone na namizju, ga lahko odprete tudi v ukazni vrstici okna terminala. Pri tem je na voljo nekaj uporabnih možnosti. + + Določite datoteko + Z določitvijo poti in imena določene datoteke lahko uporabnik &okular;ja odpre to datoteko takoj po zagonu. Ta možnost je lahko videti nekako takole: + % okular + + + Za &PDF; dokumente, lahko ime podate kot ime_dokumenta#ime_cilja, kjer je ime_cilja določen imenovani cilj, vstavljen v dokument. + + + + Druge možnosti ukazne vrstice + Na voljo so naslednje možnosti pomoči v ukazni vrstici + + + okular + Odprite stran z dano Å¡tevilko v dokumentu. Na voljo tudi prek okular + + + okular + Zaženite dokument v predstavitvenem načinu. + + + okular + Začni s pogovornim oknom za tiskanje. + + + okular + Začni s pogovornim oknom za tiskanje in zapusti po tiskanju. + + + okular + Edinstveni nadzor primerkov. + + + okular + Omogoča preprečevanje programu &okular; dvig oken po startu. + + + okular + PoskuÅ¡a najti in označiti dani niz v dokumentu. Deluje le, če je samo en dokument podan kot argument ukaza okular. + + + okular + Nastavi ukaz zunanjega urejevalnika. Ukaza urejevalnika ne morete nastaviti v že delujoči instanci programa &okular;. UpoÅ¡tevajte, da ni podprt pri nastavljanju ukaza urejevalnika v ukazni vrstici. + + + + + + Prilagodi okno strani + Funkcija Prilagodi okno strani spremeni velikost okna, tako da je popolnoma enake velikosti kot stran pri trenutnem faktorju povečave. Če se stran ne prilega v celoti na zaslon, se okno poveča, tako da je prikazan največji možni del strani. + Do te funkcije lahko dostopate z uporabo bližnjice na tipkovnici &Ctrl;J. + + + + + Menijska vrstica + + + Meni Datoteka + + + + &Ctrl;O Datoteka Odpri... + + + Odpri podprto datoteko ali &okular; arhiv dokumentov. Če že obstaja odprta datoteka, bo zaprta. Za več informacij glejte razdelek o odpiranju datotek. + + + + + + Datoteka Odpri nedavno + + + Odpri datoteko, ki je bila prej uporabljena v podmeniju. Če je datoteka trenutno prikazana, bo zaprta. Za več informacij glejte razdelek o odpiranju datotek. + + + + + + Datoteka Uvozi PostScript kot &PDF;... + + + Odpri PostScript; datoteko in jo pretvorite v &PDF;. + + + + + + &Ctrl;&Shift;T Datoteka Razveljavi zapiranje zavihka + + + Ponovno odpri nazadnje zaprt dokument. To dejanje je aktivno samo, če ste med trenutno sejo zaprli kakÅ¡en dokument v zavihku. + + + + + + Datoteka Odpri mapo, ki vsebuje + + + Odpri mapo, ki vsebuje trenutni dokument v vaÅ¡em priljubljenem upravitelju datotek. To dejanje je Å¡e posebej uporabno v primeru, ko ste prenesli &PDF; datoteko iz interneta, ki se sama odpre v &okular;ju. Lokacija te datoteke morda ne bo jasna ali jo bo enostavno najti brez te funkcije. + + + + + + &Ctrl;S Datoteka Shrani + + + Shrani dokument, vključno z vsemi spremembami (opombe, vsebina obrazca itd.), pod pogojem, da zaledje dokumenta podpira shranjevanje teh sprememb. Če zaledje ne podpira shranjevanja sprememb, bo uporabnik imel možnost, da jih zavrže ali shrani skupaj z dokumentom v &okular;jev arhiv dokumentov. + + + + + + &Ctrl;&Shift;S Datoteka Shrani kot... + + + Shrani dokument pod novim imenom, vključno z vsemi spremembami (opombe, vsebina obrazca itd.), pod pogojem, da zaledje dokumenta podpira shranjevanje sprememb. Če zaledje ne podpira shranjevanja sprememb, bo uporabnik imel možnost, da jih zavrže ali shrani skupaj z dokumentom v &okular;jev arhiv dokumentov. + + UpoÅ¡tevajte, da zaradi načina izvajanja tega ni treba, da je nova datoteka natančna bit-za-bitna kopija izvirne datoteke, tudi če datoteka ni spremenjena (npr. lahko ima drugačen SHA-1 hash itd.). + + + + + + + F5 Datoteka Osveži + + + Osveži trenutno odprto datoteko. + + + + + + &Ctrl;P Datoteka Natisni... + + + Natisni trenutno prikazan dokument. UpoÅ¡tevajte, da ima &okular; nekaj posebnih možnosti za tiskanje &PDF; ki so na voljo tako, da pritisnete gumb Možnosti +> +> in nato izberete &PDF; Možnosti. Uporabite te možnosti za tiskanje opomb ali konfiguracijo načina rastriranja, če imate težave s tiskanjem nekaterih simbolov ali morate spremeniti način merila. + + Možnosti načina merila so na voljo le, če označite možnost Vsili rastrizacijo. + + + + + + + Datoteka Predogled tiskanja ... + + + Pokaži predogled tega, kako bi bil trenutno prikazan dokument natisnjen s privzetimi možnostmi. + + + + + + &Alt;Return Datoteka Lastnosti + + + Prikaži nekaj osnovnih informacij o dokumentu, kot so naslov, avtor, datum nastanka in podrobnosti o uporabljenih pisavah. Razpoložljive informacije so odvisne od vrste dokumenta. + + Prosimo, bodite pozorni na informacije o zamenjavi pisave na zavihku Pisave pogovornega okna Lastnosti. Veliko težav z upodabljanjem pisav je mogoče reÅ¡iti z namestitvijo nadomeščenih pisav. + + + + + + Datoteka Vstavljene datoteke... + + + Pokaži datoteke, vstavljene v dokument, če jih ima dokument. Za več informacij si oglejte razdelek o vstavljenih datotekah. + + + + + + Datoteka Izvozi kot + + + Ta element vsebuje izvozne formate, v katere je mogoče izvoziti trenutni dokument. Prvi vnos za vse vrste dokumentov je vedno Navadno besedilo.... + Drugi vnos je Arhiv dokumentov, ki vam omogoča, da dokument s svojimi opombami shranite v arhivski format, specifičen za &okular;. Tako je preprosto mogoče deliti izvirni dokument in vaÅ¡e opombe z drugimi uporabniki &okular;ja ali delati z njimi skupaj. + + + + + + Datoteka Deli + + + Ta element vsebuje storitve, ki jih je mogoče uporabiti za skupno rabo trenutnega dokumenta z drugimi ljudmi ali za poÅ¡iljanje v vaÅ¡e naprave. Vnose v tem podmeniju nadzira sistem. Odvisne so od trenutnega formata dokumenta in nameščenih vtičnikov KPurpose. + + + + + + &Ctrl;Q Datoteka Opusti + + + Zapri &okular;. + + + + + + + Meni Urejanje + + + + + &Ctrl;Z Uredi Razveljavi + + + Razveljavi zadnji ukaz za urejanje pripisov (ustvarjanje in odstranjevanje pripisov, urejanje poljubnih lastnosti pripisov, premeščanje pripisov z &Ctrl;+vlečenjem in urejanje besedilne vsebine pripisov). + + + + + + &Ctrl;&Shift;Z Uredi Ponovi + + + Ponovi zadnji korak razveljavitve pri urejanju opomb. + + + + + + + + &Ctrl;C Uredi Kopiraj + + + Kopiraj trenutno izbrano besedilo v načinu Izbira besedila v odložišče. + + + + + + + + &Ctrl;A Uredi Izberi vse + + + Izbere celotno besedilo (če ga dokument ponuja). To deluje samo v načinu Izbira besedila. + + + + + + + + Uredi Izberi vse besedilo na trenutni strani + + + Izbere vse besedilo (če ga dokument ponuja) trenutne strani. + + + + + + + + &Ctrl;F Uredi Najdi... + + + Pokaži vrstico za iskanje na dnu območja za ogled, ki vam omogoča iskanje niza v dokumentu. + + + + + + F3 Uredi Najdi naprej + + + Poskusite ponovno najti prejÅ¡nji iskani niz v dokumentu. + + + + + + &Shift;F3 Uredi Poišči prejÅ¡nje + + + Pomakne se na prejÅ¡njo pojavitev iskalnega niza v dokumentu. + + + + + + + Meni Pogled + + + + &Ctrl;&Shift;P Pogled Predstavitev + + + Aktivira način predstavitve. Za več informacij si oglejte razdelek o predstavitvenem načinu. + + + + + &Ctrl;&Shift;F Pogled Celozaslonski način + + + Omogoči celozaslonski način. UpoÅ¡tevajte, da se celozaslonski način razlikuje od predstavitvenega načina, saj je edina posebnost celozaslonskega načina ta, da skrije okraske oken, menijsko vrstico in orodno vrstico. + + + + + &Ctrl;+ Pogled Povečaj + + + Povečajte povečavo pogleda dokumenta. + + + + + + &Ctrl;- Pogled PomanjÅ¡aj + + + ZmanjÅ¡ajte povečavo pogleda dokumenta. + + + + + Pogled Povečaj do 100 % + + + Povečajte sliko dokumenta na dejansko velikost, kot je predpisano s parametri dokumenta. + + + + + Pogled Prilagodi Å¡irini + + + Spremenite povečavo pogleda dokumenta na vrednost, zaradi katere je Å¡irina strani enaka Å¡irini pogleda dokumenta. + + + + + Pogled Prilagodi strani + + + Spremenite povečavo pogleda dokumenta na vrednost, zaradi katere bo vidna vsaj ena cela stran. + + + + + Pogled Samodejno prilagajanje + + + Spremenite povečavo pogleda dokumenta na vrednost, ki glede na razmerje velikosti med stranjo in območjem pogleda samodejno bodisi izenači Å¡irino strani s Å¡irino pogleda dokumenta (kot je Å¡irina prileganja ), viÅ¡ina strani enaka viÅ¡ini pogleda dokumenta (kot fit-height) ali vidna cela stran (kot fit-page). + + + + + Pogled Način pogleda + + + V tem podmeniju lahko izberete način pogleda za strani. Možne možnosti so: Ena stran (samo ena stran na vrstico), Obrnjene strani (dve strani na vrstico, v knjižnem slogu), Obrnjene strani (na sredino prva stran) in Pregled (Å¡tevilo stolpcev je tisto, ki je določeno v &okular; nastavitvah). + Poleg tega lahko omogočite način Neprekinjeno. V neprekinjenem načinu so prikazane vse strani dokumenta in se lahko gladko premikate po njih. V nasprotnem primeru je naenkrat prikazana samo ena stran (ali ena vrstica strani). + + + + + Pogled Usmerjenost + + + Ta podmeni vam omogoča, da spremenite orientacijo strani dokumenta. + + Vrtenje se uporablja za orientacijo vsake strani. + + Izberete lahko Izvirna orientacija, da obnovite orientacijo dokumenta in zavržete vse ročno narejene zasuke. + + + + + View Trim View + + + Ta podmeni vam omogoča, da med ogledovanjem strani odstranite belo obrobo strani (element Obreži robove) ali obrežite vidno polje na izbor (element Obreži na izbor). + Način obreži na izbor vam omogoča, da nariÅ¡ete izbor čez upodobljeno stran, da določite vidno omejevalno polje, ki bo uporabljeno za vse strani v dokumentu. Izbira majhnega omejevalnega polja za obrezovanje uveljavi najmanjÅ¡o velikost dimenzij (20 % kot odstotek celotne velikosti strani). + Način obrezanja robov je obstojen po ponovnih zagonih programa. Način obreži na izbor je pozabljen po ponovnih zagonih programa. + Ko preklopite &okular; iz načina obreži robove v način obreži na izbor, pogled skoči iz načina obreži robov za interakcijo izbire omejevalne Å¡katle. + Način obrezovanja lahko deaktivirate tako, da ponovno izberete isto točko menija, ki ga aktivira. + + + + + Pogled Pokaži/skrij obrazce + + + Prikaži ali skrij prikaz polj obrazca v dokumentu. + + Ta postavka menija je aktivna le, če ima trenutni dokument polja obrazca. + + + + + + + + + Meni Go + + + + Pojdi PrejÅ¡nja stran + + + Oglejte si prejÅ¡njo stran dokumenta. + + + + + Pojdi Naslednja stran + + + Oglejte si naslednjo stran dokumenta. + + + + + &Ctrl;&Home; Pojdi Začetek dokumenta + + + Pojdi na začetek dokumenta. + + + + + &Ctrl;&End; Pojdi Konec dokumenta + + + Pojdi na konec dokumenta. + + + + + &Alt;&Shift;&Left; Pojdi Nazaj + + + Nazaj na prejÅ¡nji pogled dokumenta. + + + + + &Alt;&Shift;&Right; Pojdi Naprej + + + Pomik naprej na naslednji pogled dokumenta. To deluje le, če ste se že pomaknili nazaj. + + + + + &Ctrl;G Pojdi Pojdi na stran... + + + Odprite pogovorno okno, ki vam omogoča, da odprete katero koli stran dokumenta. + + + + + + + Meni z zaznamki + + + + &Ctrl;B Zaznamki Dodaj/odstrani zaznamek + + + Dodaj ali odstrani zaznamek za trenutni položaj. + + + + + Zaznamki Preimenuj zaznamek + + + Preimenuj zaznamek za trenutni položaj. + + + + + Zaznamki PrejÅ¡nji zaznamek + + + Pojdi na prejÅ¡nji zaznamek ali ne naredi ničesar, če pred trenutnim zaznamkom ni nobenega zaznamka. + + + + + Zaznamki Naslednji zaznamek + + + Pojdi na naslednji zaznamek ali ne naredi ničesar, če za trenutnim zaznamkom ni nobenega zaznamka. + + + + + Zaznamki Brez zaznamkov + + + To je vedno onemogočeno dejanje, ki se prikaže v tem meniju le, če trenutni dokument nima zaznamkov. V nasprotnem primeru je tukaj prikazan seznam vseh zaznamkov. S klikom na te zaznamke se lahko pomaknete neposredno na povezan položaj. + + + + + + + Meni Orodja + + + + &Ctrl;1 Orodja Brskaj + + + MiÅ¡ka se bo normalno obnaÅ¡ala, &LMB; za vlečenje dokumenta in sledenje povezavam ter &RMB; za dodajanje zaznamkov in prilagajanje Å¡irini. + + + + + &Ctrl;2 Orodja Povečava + + + MiÅ¡ka bo delovala kot orodje za povečavo. S klikom na &LMB; in vlečenje bo povečalo pogled na izbrano območje, kliknite &RMB; bo vrnil dokument na prejÅ¡njo povečavo. + + + + + &Ctrl;3 Orodja Izbira območja + + + MiÅ¡ka bo delovala kot orodje za izbiro pravokotne regije. V tem načinu s klikom &LMB; in vlečenjem nariÅ¡e izbirno polje in ponudi možnost kopiranja izbrane vsebine v odložišče, izgovorjavo izbranega besedila ali preoblikovanje izbirnega območja v sliko in shranjevanje v datoteko. + + + + + &Ctrl;4 Orodja Izbira besedila + + + MiÅ¡ka bo delovala kot orodje za izbiro besedila. V tem načinu bo s klikom &LMB; in vlečenjem dalo možnost izbire besedila dokumenta. Nato samo kliknite z &RMB; da kopirate v odložišče ali izgovorite trenutni izbor. + + + + + &Ctrl;5 Orodja Izbor seznama + + + Okoli besedila tabele nariÅ¡ite pravokotnik, nato kliknite z &LMB; za razdelitev besedilnega bloka v vrstice in stolpce. &LMB; klik na obstoječo vrstico jo odstrani in združi sosednje vrstice ali stolpce. Nazadnje samo kliknite z &RMB; da kopirate tabelo v odložišče. + + + + + &Ctrl;6 Orodja Lupa + + + Aktivira način lupe za kazalec miÅ¡ke. Pritisnite in držite &LMB; če želite aktivirati gradnik lupe, premaknite kazalec za pomikanje po dokumentu. Lupa poveča vsako slikovno piko v dokumentu v 10 slikovnih pik v gradniku lupe. + + + + + F6 Orodja Opombe + + + Odprite orodno vrstico za opombe. Orodna vrstica za opombe vam omogoča dodajanje opomb dokumentu, ki ga berete. Za več informacij si oglejte razdelek o Pripombah. + + + + + Orodja Digitalni podpis ... + + + Zažene potek dela za ustvarjanje digitalnega podpisa. Dodajanje digitalnih podpisov je trenutno podprto samo za datoteke PDF. Za več informacij si oglejte razdelek o Dodajanju digitalnih podpisov. + + + + + Orodja Izgovori celoten dokument + + + Orodja Izgovori trenutno stran + + + Orodja Nehaj govoriti + + + Orodja Začasno ustavi/nadaljuj govor + + + Ti elementi vam omogočajo, da izgovorite celoten dokument ali samo trenutno stran in prekinete govor z uporabo sistemske govorne storitve. To storitev zagotavlja &Qt; knjižnica, ki ovija govorni dispečer na &Linux;u in sisteme maternega govora na drugih platformah. Možno je izbrati trenutni glas preko programa &okular; Stran s konfiguracijo Dostopnost. + Dejanja Govori ... so omogočena samo, če je govorna storitev na voljo v sistemu. + + + + + + + Meni z nastavitvami in pomočjo + Poleg običajnega &kde; Menija sta Nastavitve in Pomoč opisana v poglavju Meni v &kde; Dokumentaciji o osnovah &okular;ja ima te menijske vnose za posamezne aplikacije: + + + + F7 Nastavitve Pokaži stransko vrstico + + + Prikaže ali skrije stransko vrstico. + + + + + Nastavitve Prikaži vrstico strani + + + Vklopite in izklopite vrstico strani na dnu območja dokumenta, da shranite navpično mesto v &okular;jevem oknu. UpoÅ¡tevajte, da bodo Å¡tevilke strani vseeno prikazane v privzeti orodni vrstici. + + + + + Nastavitve Konfiguriraj ozadja... + + + Odpre okno Konfiguracija ozadja. + + + + + + + + Konfiguriranje + Konfigurirate lahko &okular; ozadja tako, da izberete Nastavitve Konfiguriraj ozadja... . Trenutno so konfiguracijske možnosti na voljo za samo EPub, &PostScript;, FictionBook, Txt, OpenDocument Text in &PDF; zaledja. + + Pogovorno okno za konfiguracijo ozadja + + + + + + Pogovorno okno za konfiguracijo ozadja + + + + Z zalednimi konfiguracijskimi stranmi za EPub, FictionBook, Mobipocket, Markdown, TXT in OpenDocument Text lahko določite pisavo za upodabljanje dokumentov v ustreznih formatih. Gumb Izberi... na teh straneh odpre standardno &kde; okno za konfiguracijo pisave. Oglejte si &kde; Dokumentacija o osnovah za podrobnosti. + Opis aplikacije Markdown, &PostScript; in &PDF; konfiguracijske strani ozadij najdete spodaj. + + Konfiguracija zaledja Markdown + Konfigurirate lahko zaledje &okular; ki upodablja markdown na podlagi popusta z izbiro Markdown seznam na levem delu konfiguracijskega pogovornega okna. Dodatna nastavljiva možnost je naslednja. + + + + + Omogoči formatiranje SmartyPants + + + Ko je označena, ta možnost dovoljuje &okular; za obdelavo oblikovanja SmartyPants. TakÅ¡no oblikovanje je lahko v tehničnih besedilih težavno zaradi nezaželenih zamenjav (npr. zamenja (C) s simbolom avtorskih pravic). Ta možnost je privzeto označena. + + + + + + + &PostScript; konfiguracija zaledja + Konfigurirate lahko &okular; &PostScript; upodabljanje zaledja na podlagi Ghostscripta tako, da izberete Ghostscript s seznama v levem delu konfiguracijskega pogovornega okna. Edina nastavljiva možnost je naslednja. + + + + + Uporabite pisave platforme + + + Ta možnost določa, ali naj bo Ghostscriptu dovoljena uporaba pisav platforme; če ni potrjena, bo dovoljena samo uporaba pisav, vdelanih v dokument. Ta možnost je privzeto označena. + + + + + + + &PDF; konfiguracija zaledja + Konfigurirate lahko &okular; upodabljanje &PDF; zaledja, ki temelji na Poppler, tako da na seznamu v levem delu konfiguracijskega pogovornega okna izberete &PDF;. Edina nastavljiva možnost je naslednja. + + + + + IzboljÅ¡ajte tanke črte + + + Risanje črt v &okular;ju se izvaja v dveh korakih: ustvarjanje izrezovalne poti in polnjenje te izrezovalne poti. Če je vrstica v izvirnem dokumentu manjÅ¡a od ene slikovne pike, lahko ta dvostopenjska izvedba povzroči težave. Za te črte je pot izrezovanja napolnjena z barvo polnila, ki je odvisna od debeline dela črte znotraj območja izrezovanja. Če del črte znotraj območja izrezovanja postane zelo majhen, lahko postane kontrast med obliko in barvo ozadja prenizek, da bi bila črta prepoznavna. Mreže takÅ¡nih črt potem izgledajo zelo neljubo. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Tanka črta (rdeča), njena izrezovalna pot (črtkana črta) in meje slikovnih pik (polne črne črte) + Tanka črta, prikazana z nizkim kontrastom + + + + + Za izboljÅ¡anje videza tankih linij &okular; izvaja dve možnosti. + Prva možnost je Trdna. S to možnostjo &okular; prilagodi položaj izrezovalne poti in črte, tako da sta izrezovalna pot in črta na isti meji pikslov, tj. &okular; poveča tanke črte na eno slikovno piko na izhodni napravi. Ta način je podoben IzboljÅ¡ajte tanke črte v Adobe Reader. Če izberete to možnost, so tanke črte vedno povečane. + + + + + + + + Tanka linija z Trdno izboljÅ¡avo + + + Tanka linija z Trdno izboljÅ¡avo + + + + + Druga možnost je Oblika. S to možnostjo se izrezovalna pot in črta prav tako prilagodita meji slikovnih pik, vendar se intenzivnost črte popravi glede na njeno Å¡irino. + + + + + + + + Tanka črta z izboljÅ¡avo oblike + + + Tanka linija z izboljÅ¡avo oblike + + + + + Tanke črte privzeto niso izboljÅ¡ane (možnost Ne). + + + + + + &PDF; Potrdila za digitalni podpis + + Ta razdelek vam omogoča, da nastavite zbirko podatkov potrdil po meri za uporabo pri dodajanju digitalnih podpisov v &PDF; datoteke. + Navaja tudi seznam potrdil, ki so na voljo v trenutni zbirki podatkov potrdil (če obstajajo). + + + + + Konfiguracija &okular;ja + + SploÅ¡na konfiguracija + &okular; lahko konfigurirate, tako da izberete Nastavitve Konfiguriraj &okular;.... Konfiguracijsko pogovorno okno je razdeljeno na Å¡est razdelkov. V tem poglavju so podrobno opisane razpoložljive možnosti. + + + SploÅ¡no + + + Dostopnost + + + Zmogljivost + + + Predstavitev + + + Opombe + + + Urejevalnik + + + + Konfiguracijsko pogovorno okno + + + + + + Konfiguracijsko pogovorno okno + + + + Odvisno od trenutno nameščenih ozadij je lahko omogočen menijski element Nastavitve Konfiguriraj zaledja.... To posebno konfiguracijsko pogovorno okno vsebuje konfiguracije zaledij, ki jih je dejansko mogoče konfigurirati. + + + SploÅ¡no + + + Uporabite gladko drsenje + + Ali naj se prikažejo animirani prehodi med pomikanjem s koleščkom miÅ¡ke in tipkovnico. + + + + Pokaži drsne trakove + + Ali naj se prikažejo drsni trakovi za pogled dokumenta. + + + + Povežite sličice s stranjo + + Ali naj pogled sličic vedno prikazuje trenutno stran ali ne. + + + + Pokaži namige in informativna sporočila + + Ali naj prikaže nekatera informativna sporočila ob zagonu, nalaganju datoteke &etc; + + + + Obvestite o vdelanih datotekah, obrazcih ali podpisih + + Ali želite prikazati informativne plošče o vdelanih datotekah, obrazcih ali podpisih &etc; + + + + Prikaži naslov dokumenta v naslovni vrstici, če je na voljo + + Ali naj se naslov trenutnega dokumenta prikaže v naslovni vrstici okna &okular;. Če v dokumentu ni najdenih metapodatkov za naslov ali ta element ni označen, &okular; prikaže ime datoteke dokumenta. + + + + Ko ni prikazan naslov dokumenta + + Izberete lahko eno od dveh možnosti, Prikaži samo ime datoteke ali Prikaži celotno pot do datoteke. + + + + Uporabite barvo ozadja po meri + + Omogoči izbiro barve ozadja dokumenta (barva okoli prikazane strani). Privzeto je &Qt; barva kompleta orodij se uporablja, ko ta možnost ni potrjena. + + + + Odprite nove datoteke v zavihkih + + Ali odpreti nove dokumente v zavihkih. Zavihki so privzeto onemogočeni. + Privzete bližnjice za preklapljanje med zavihki so &Ctrl;. (Naslednji zavihek) in &Ctrl;, (PrejÅ¡nji zavihek). + + + + Preklopite na obstoječi zavihek, če je datoteka že odprta + + Ali bi &okular; moral preklopiti na zavihek, če je datoteka že odprta, namesto da odpre nov zavihek. Ta možnost je privzeto omogočena. Lahko se preklaplja le, če je omogočeno Odpri nove datoteke v zavihkih. + + + + UpoÅ¡tevajte omejitve DRM + + Ali mora &okular; upoÅ¡tevati omejitve DRM (upravljanje digitalnih pravic). Omejitve DRM se uporabljajo za onemogočanje nekaterih dejanj z &PDF; dokumentov, kot je kopiranje vsebine v odložišče. UpoÅ¡tevajte, da v nekaterih konfiguracijah programa &okular; ta možnost ni na voljo. + + + + Ponovno naloži dokument ob spremembi datoteke + + Ali naj se odprte datoteke samodejno preverijo glede sprememb in po potrebi posodobijo. + + + + Pokaži pogovorno okno za izbiro zaledja + + Ali mora &okular; vpraÅ¡ati uporabnika, katero zaledje naj uporabi, če lahko trenutno datoteko odpre več kot eno zaledje. Če ni označeno, bo &okular; uporabil zaledje z najviÅ¡jo prioriteto. + + + + Smer branja od desne proti levi + + Ali naj se za odprte datoteke privzeto uporabi smer branja od desne proti levi. Lahko je uporabno za nekatere pisne sisteme. + + + + Privzeto odprto v neprekinjenem načinu + + Ali želite privzeto uporabiti neprekinjeni način. V neprekinjenem načinu so prikazane vse strani dokumenta in se lahko gladko premikate po njih. V nasprotnem primeru je naenkrat prikazana samo ena stran (ali ena vrstica strani). + + + + Ko uporabljate orodje za brskanje, zavijte kazalec na robove zaslona + + Omogoča neskončno pomikanje po celotnem dokumentu z orodjem za brskanje. Če je omogočeno, se kazalec miÅ¡ke zavije na nasprotni konec zaslona, ko se med vlečenjem dokumenta dotakne robov. Ta funkcija je podprta samo na X11. + + + + Pregled nad stolpci + + Ta možnost predstavlja Å¡tevilo stolpcev za uporabo v načinu pregleda. + + + + Prekrivanje strani gor/dol + + Tukaj lahko določite odstotek trenutnega območja gledanja, ki naj bo viden po pritisku &PgUp;/&PgDn; tipk. + + + + Privzeta povečava + + Ta možnost določa privzeti način povečave za datoteko, ki Å¡e nikoli ni bila odprta. Za datoteke, ki so bile odprte že prej, se uporabi prejÅ¡nji način povečave. + + + + + + Dostopnost + + + NariÅ¡ite obrobo okoli povezav + + Ali naj nariÅ¡e obrobo okoli povezav. + + + + Spremeni barve + + Omogoči možnosti spreminjanja barv. + + + + Barvni način + + Določi način spreminjanja barve. + + + Obrni barve + + Obrne barve na pogledu, tj. črni predmeti bodo prikazani beli. + + + + Spremeni barvo papirja + + Spremeni barvo papirja, tj. ozadje dokumenta. + Barvo lahko izberete s spodnjim vzorcem Barva papirja. + + + + Spremeni temno + + Spremeni temno in svetlo barvo po vaÅ¡ih željah, kar pomeni, da črna ne bo upodobljena kot črna, temveč kot izbrana temna barva, bela pa ne bo upodobljena kot bela, ampak kot izbrana svetla barva. + + + + Pretvori v črno-belo + + Pretvori dokument v črno-belega. Nastavite lahko prag in kontrast. Če prag nastavite na viÅ¡jo vrednost s premikanjem v desno, bodo uporabljene svetlejÅ¡e sive barve. + + + + Obrni svetlost + + Obrne svetlost vseh barv. Svetle in temne barve bodo zamenjane, vendar to ne bo vplivalo na odtenek in nasičenost. Kontrast v slikah bo običajno slabÅ¡i kot pri Obrni svetlost (linearno sRGB). + + + + Obrni svetlost (linearno sRGB) + + Obrne svetlost vseh barv. Svetlo in temno bosta zamenjana, vendar to ne bo vplivalo na odtenek in nasičenost. Kontrast v slikah je ohranjen bolje kot pri privzeti Obrni svetlost, vendar so grafike in pisane oznake besedila običajno videti slabÅ¡e. Uporablja koeficiente svetilnosti sRGB, vendar brez korekcije gama. + + + + Obrni svetlost (simetrično) + + Obrne svetlost vseh barv z uporabo simetričnih koeficientov svetlosti. Svetlo in temno bosta zamenjana, vendar to ne bo vplivalo na odtenek in nasičenost. Zelo podobno kot Obrni svetlost, vendar je kontrast v nekaterih primerih boljÅ¡i. + + + + Premakni odtenek v pozitivno + + Premakne odtenek vseh barv za 120 stopinj. Lahko ublaži nekatere težave s kontrastom pri barviti grafiki. + + + + Premakni odtenek v negativno + + Premakne odtenek vseh barv za 240 stopinj. Lahko ublaži nekatere težave s kontrastom pri barviti grafiki. + + + + Bližnjice na tipkovnici in dejanja orodne vrstice za barvne načine lahko konfigurirate z uporabo ustreznih elementov menija v meniju Nastavitve v &okular;jevem glavnem oknu. + + + + Mehanizem za pretvorbo besedila v govor + + Omogoča vam, da izberete mehanizem za pretvorbo besedila v govor (TTS), ki ga bo uporabljal &okular;. Privzeto je speechd TTS. + + + + Glas za pretvorbo besedila v govor + + Omogoča vam, da izberete glas za mehanizem za pretvorbo besedila v govor, ki ga bo uporabljal &okular;. Uporabite lahko vse jezike in glasove, odvisno od razpoložljivih sintetizatorjev na vaÅ¡i platformi. V &Linux;u se govorni dispečer privzeto uporablja za določanje razpoložljivih glasov. + + + + + + Zmogljivost + + + Omogoči učinke prosojnosti + + NariÅ¡ite izbore in druge posebne grafike z učinki prosojnosti. Onemogočite možnost, da jih nariÅ¡ete z orisi ali neprozornimi slogi polnila in povečajte hitrost izbir. + + + + Poraba pomnilnika + + &okular; lahko doseže najboljÅ¡o zmogljivost z nastavitvijo porabe pomnilnika glede na vaÅ¡ sistem in vaÅ¡ okus. Več pomnilnika kot mu dovolite, hitreje se bo program obnaÅ¡al. Privzeti profil je dober za vsak sistem, vendar lahko preprečite &okular;ju uporabo več pomnilnika, kot je potrebno, tako da izberete nizek profil, ali pa pustite, da kar najbolje izkoristi vaÅ¡ sistem z uporabo agresivnega. Uporabite profil Greedy za vnaprejÅ¡nje nalaganje vseh strani brez nevarnosti, da bo sistemski pomnilnik prepoln (uporabljenih bo le 50 % celotnega pomnilnika ali prostega pomnilnika). + + + + Možnosti izvajanja + + S to skupino možnosti lahko izboljÅ¡ate upodabljanje besedila in slik v &okular;ju. Rezultat je odvisen od naprave za prikaz dokumenta. Elementa Omogoči prevleko besedila in Omogoči prevleko grafike lahko uporabite za vklop in izklop prostorsko izravnavanje besedila in slik v dokumentu, ustrezno. Element Omogoči namigovanje besedila je miÅ¡ljen kot preklopnik za namigovanje pisave. Antialiasing in namigi spremenijo način prikaza dokumentov, morda jih boste želeli prilagoditi svojim željam. + + + + + + Predstavitev + + + Vsak vnaprej + + Omogoča samodejno premikanje po straneh glede na časovno obdobje. + + + + Ponovi po zadnji strani + + Pri navigaciji v predstavitvenem načinu in prehodu mimo zadnje strani se prikaže prva stran. + + + + Navigacija na dotik + + Omogoča vam natančno nastavitev navigacije po zaslonu na dotik s dotikom v predstavitvi z uporabo naslednjih treh možnih vrednosti: + + + Dotaknite se leve/desne strani, da se pomaknete nazaj/naprej: Če se dotaknete leve (desne) polovice zaslona, se predstavitev premakne na prejÅ¡nji (naslednji) diapozitiv. + + + Tapnite kjer koli, da greste naprej (privzeto): Če se dotaknete zaslona, se predstavitev premakne na naslednji diapozitiv, ne glede na to, kje se dotaknete zaslona. + + + Onemogočeno: tapkanje zaslona ne naredi ničesar. + + + + + + Barva ozadja + + Barva, ki bo v predstavitvenem načinu zapolnila del zaslona, ki ga stran ne pokriva. + + + + Kazalec miÅ¡ke + + Ali naj bo miÅ¡ka vedno skrita, vedno prikazana ali skrita po kratkem času nedejavnosti. + + + + Pokaži indikator napredka + + Ali želite prikazati krog napredka, ki prikazuje trenutno stran in skupno Å¡tevilo strani v zgornjem desnem kotu predstavitvenega zaslona vsakič, ko spremenite stran. + + + + Pokaži stran s povzetkom + + Ali naj se na začetku predstavitve prikaže stran s povzetkom z naslovom, avtorjem in Å¡tevilom strani dokumenta. + + + + Omogoči prehode + + S tem potrditvenim poljem omogočite ali onemogočite učinke prehoda med stranmi. + + + + Privzeti prehod + + Učinek prehoda med stranmi, če ga dokument ne določa. To nastavite na Naključni prehod, da bo &okular; naključno izberal enega od razpoložljivih učinkov. + + + + Postavitev + + V tem razdelku lahko izberete Zaslon za prikaz predstavitve. + Trenutni zaslon je enak zaslonu &okular;ja, ki zažene predstavitveni način. + Privzeti zaslon je zaslon, ki je v konfiguraciji xinerama označen kot privzeti. + Zaslon 0, Zaslon 1 itd. so razpoložljivi zasloni. + + + + Konfiguracija orodja za risanje + + Upravljajte barve svinčnika, ki se uporablja pri risanju po straneh v predstavitvenem načinu. + + + + + + Opombe + + Stran z opombami v konfiguracijskem pogovornem oknu + + + + + + Stran z opombami v konfiguracijskem pogovornem oknu + + + + + + Orodna vrstica za opombe + + Omogoča preklapljanje med Orodno vrstico za polne opombe (privzeta orodna vrstica v zgornjem delu okna &okular;ja) in Orodno vrstico za hitro opombo (drsna orodna vrstica z vaÅ¡imi najljubÅ¡imi orodji na desnem delu podokna dokumenta). + + + + Avtor + + Avtor vsebine, dodane v dokument. Privzeto je ime iz Geslo & UporabniÅ¡ki račun strani &systemsettings; v modulu Podrobnosti o računu. + + + + Orodja za opombe + + To podokno se uporablja za konfiguracijo vaÅ¡e orodne vrstice za opombe. + Obstaja pet gumbov (Dodaj, Uredi, Odstrani, Premakni gor, Premakni dol) in polje s seznamom (v katerem je navedena vsebina trenutne orodne vrstice z opombami), ki se uporabljata za konfiguracijo orodne vrstice. + Če morate v orodno vrstico dodati kakÅ¡en orodni gumb, kliknite gumb Dodaj. Izberete lahko Ime, Vrsto in Videz ustvarjenega orodja. + + Ne pozabite, da so orodja za opombe v &okular;ju zelo nastavljiva. Na primer, lahko imate dva gumba istega orodja, vendar različnih barv. Ne oklevajte in eksperimentirajte pri izbiri nabora gumbov, ki je natančno prilagojen vaÅ¡emu delovnemu toku. + + Kliknite na določeno postavko v polju s seznamom in nato kliknite na ustrezni gumb na desnem delu strani, da uredite, odstranite, premaknete element navzgor ali navzdol. Bližnjica na tipkovnici orodja (tipke od 1 do 9) je odvisna od njegovega položaja na seznamu orodne vrstice za opombe. + + + + Uporaba žigov po meri + + + Ustvarite ikono, ki jo želite uporabiti za svoj žig, in jo shranite v poljubni grafični obliki, ki jo podpira &okular; + Kliknite gumb Dodaj, izberite vrsto Žiga in vnesite ime za svoj žig. + Vnesite celotno pot do svoje ikone po meri v spustno polje v skupini Simbol žiga + + + + + + + Urejevalnik + + + Urejevalnik + + Izberite urejevalnik, ki ga želite zagnati, ko želi &okular; odpreti izvorno datoteko. To je v primeru, ko ima dokument sklicevanja na različne točke (običajno Å¡tevilko vrstice in stolpca) virov, iz katerih je bil ustvarjen. &DVI; format izvorno podpira dodajanje informacij o virih iz katerih je bil &latex; dokument ustvarjen. Podoben sistem obstaja za &PDF; dokumente, imenovan pdfsync, ki te dodatne informacije shranijo v zunanjo datoteko, imenovano po datoteki &PDF; sama datoteka (na primer mydocument.pdfsync za mydocument.pdf). + &okular; poÅ¡ilja s predkonfiguriranimi nastavitvami za naslednje urejevalnike: &kate;, Kile, SciTE, &Emacs; odjemalec, odjemalec LyX, TeXstudio in TeXiFy IDEA. + + Če želite uporabiti obratno iskanje v &kile;, morate prevesti svojo &latex; datoteko s konfiguracijo Moderno. + + + + + Ukaz + + To je ukaz in njegovi parametri za priklic izbranega urejevalnika z izvorno datoteko dejanskega dokumenta. + To polje bo samodejno izpolnjeno, če uporabljate enega od predhodno konfiguriranih urejevalnikov. V nasprotnem primeru izberite Urejevalnik besedil po meri v spustnem polju Urejevalnik in si oglejte dokumentacijo vaÅ¡ega priljubljenega urejevalnika, da poiščete ustrezen ukaz. + Uporabite lahko naslednje začasne oznake: + + + %f - ime datoteke + + + %l - vrstica datoteke, ki jo želite doseči + + + %c - stolpec datoteke, ki jo želite doseči + + + Če %f ni podan, je podanemu ukazu dodano ime dokumenta. + + + + + + + Zasluge in licenca + + + Avtorske pravice za program: + &Albert.Astals.Cid; &Albert.Astals.Cid.mail; Trenutni vzdrževalec + Pino Toscano pino@kde.org + Enrico Ros eros.kde@email.it &kpdf; razvijalec + + + + Avtorske pravice za dokumentacijo: + &Albert.Astals.Cid; &Albert.Astals.Cid.mail; Avtor + Titus Laska titus.laska@gmx.de Nekaj posodobitev in dodatkov + Pino Toscano pino@kde.org + + Prevod: Peter Žaucerpeter.zaucer@gmail.com &underFDL; &underGPL; + + &documentation.index; +
    + + + diff --git a/po/sl/docs/okular/man-okular.1.docbook b/po/sl/docs/okular/man-okular.1.docbook new file mode 100644 index 0000000..4ff9984 --- /dev/null +++ b/po/sl/docs/okular/man-okular.1.docbook @@ -0,0 +1,252 @@ + + +]> + + + + +UporabniÅ¡ki priročnik Okular +YuriChornoivan Okular man page. yurchor@ukr.net +19.02.2022 +Okular 22.04 +KDE Gear + + + +okular +1 + + + +okular +univerzalni pregledovalnik dokumentov + + + +okular Okular možnosti URL + + + +Opis +okular je namenjen prikazovanju dokumentov v različnih formatih. + + + +Okular možnosti + + + + + +Odpri stran s podano stranjo v dokumentu. + + + + + + +Zaženite dokument v predstavitvenem načinu. + + + + + + +Začni s pogovornim oknom za tiskanje. + + + + + + +Začni s pogovornim oknom za tiskanje in zapusti po tiskanju. + + + + + + +Edinstveni nadzor primerkov. + + + + + + +Omogoča preprečitev dviga okna Okularja po začetku. + + + + + + +PoskuÅ¡a najti in označiti dani niz v dokumentu. Deluje le, če je podan samo en dokument kot argument ukaza okular. + + + + + + +Nastavi ukaz zunanjega urejevalnika. Ukaza urejevalnika ne morete nastaviti v že delujočem primerku Okularja. UpoÅ¡tevajte, da ni podprt pri nastavljanju ukaza urejevalnika v ukazni vrstici. + + + + + +Argumenti + + + + +Naslov dokumenta, ki ga želite odpreti. Za PDF se lahko poda kot ime_dokumenta#ime_cilja, kjer je ime_cilja določen imenovani cilj, vdelan v dokument. + + + + + +Povratne informacije +Na IRC, irc.libera.chat #okular ali po e-poÅ¡ti, okular-devel@kde.org ali na spletu, <https://okular .kde.org/>. + + + +Glej tudi + +PodrobnejÅ¡a uporabniÅ¡ka dokumentacija je na voljo na help:/okular (bodisi vnesite ta URL v &konqueror; ali zaženite khelpcenter help:/okular). +kf6options(7) +qt6options(7) +Dodatne informacije so na voljo tudi na https://okular.kde.org/ + + + +Avtorske pravice +Avtorske pravice © 2002 Wilco Greven, Christophe Devriese +Avtorske pravice © 2004-2005 Enrico Ros +Avtorske pravice © 2005 Piotr Szymanski +Avtorske pravice © 2004-2012 Albert Astals Cid +Avtorske pravice © 2006-2009 Pino Toscano +Licenca: GNU SploÅ¡na javna različica 2 <https://www.gnu.org/licenses/gpl-2.0.html > + + + diff --git a/po/sl/okular.po b/po/sl/okular.po new file mode 100644 index 0000000..ff2a84a --- /dev/null +++ b/po/sl/okular.po @@ -0,0 +1,6188 @@ +# Copyright (C) 2024 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Gregor Rakar , 2003, 2004, 2005. +# SPDX-FileCopyrightText: 2005, 2006, 2007, 2008, 2009, 2010, 2012, 2013, 2024 Jure Repinc +# Andrej Mernik , 2012, 2013, 2014, 2015, 2016, 2017, 2018. +# Matjaž Jeran , 2019, 2020, 2021, 2022. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-11-13 07:02+0100\n" +"Last-Translator: Matjaž Jeran \n" +"Language-Team: Slovenian \n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" +"Translator: Andrej Mernik \n" +"X-Generator: Poedit 3.8\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Gregor Rakar,Jure Repinc,Andrej Mernik,Matjaž Jeran,Martin Srebotnjak" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" +"gregor.rakar@kiss.si,jlp@holodeck1.com,andrejm@ubuntu.si,matjaz.jeran@amis." +"net,miles@filmsi.net" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "KDE-jev vsestranski pregledovalnik dokumentov" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"© 2002 Wilco Greven, Christophe Devriese\n" +"© 2004–2005 Enrico Ros\n" +"© 2005 Piotr Szymanski\n" +"© 2004–2017 Albert Astals Cid\n" +"© 2006–2009 Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "PrejÅ¡nji vzdrževalec" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "Veliko dela na ogrodju, zaledju za FictionBook in prejÅ¡njem ODT" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "Razvijalec" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymanski" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "Iz kode KPDF-ja je ustvaril Okular" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "Enrico Ros" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "Razvijalec KPDF" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "Eugene Trounev" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "Grafične podobe za zabeležke" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "Jiri Baum – NICTA" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "Orodje za izbor razpredelnic" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "Fabio D'Urso" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "IzboljÅ¡ave zabeležk" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "Pojdi na stran %1" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "Odpri zunanjo datoteko" + +#: core/action.cpp:197 +#, kde-format +msgid "Execute '%1'…" +msgstr "Izvedi '%1'…" + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "Prva stran" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "Predhodna stran" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "Naslednja stran" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "Zadnja stran" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "Nazaj" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "Naprej" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Končaj" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "Zaženi predstavitev" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "Končaj predstavitev" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "Najdi…" + +#: core/action.cpp:314 +#, kde-format +msgid "Go To Page…" +msgstr "Pojdi na stran…" + +#: core/action.cpp:365 +#, kde-format +msgid "Play sound…" +msgstr "Predvajaj zvok…" + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "Skript JavaScript" + +#: core/action.cpp:483 +#, kde-format +msgid "Play movie…" +msgstr "Predvajaj film…" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "Predvajaj film" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "Zaustavi film" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "Prekini film" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "Nadaljuj film" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "Ta Okular je zgrajen brez podpore za zvok" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "Izbira zaledja" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
    %1 (%2).

    Please select which one to use:
    " +msgstr "" +"Za to vrsto dokumenta je na voljo več zaledij:
    %1 (%2).

    Izberite tisto, ki bi jo radi uporabljali:
    " + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "Večina strani so %1." + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "Pokončno %1" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "Ležeče %1" + +#: core/document.cpp:246 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 ⨯ %2 palcev (%3)" + +#: core/document.cpp:248 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 ⨯ %2 mm (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "Nadaljevanje iskanja z vrha" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "Nadaljevanje iskanja z dna" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "Ni bilo mogoče najti vstavka, ki bi znal prebrati dani dokument." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "Podpisovanje ni izvedeno za to vrsto dokumenta" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "odstrani zabeležke" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"Dokument poskuša izvesti zunanji program, zaradi vaše varnosti pa Okular " +"tega ne dovoljuje." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "Ni bilo mogoče najti program za odpiranje datoteke zvrsti MIME %1." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "Ni bilo mogoče odpreti začasne datoteke" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "Pretvorba za tiskanje je spodletela" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "Proces za tiskanje se je sesul" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "Procesa za tiskanje ni bilo mogoče zagnati" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "Tiskanje v datoteko je spodletelo" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "Tiskalnik ni bil v veljavnem stanju" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "Ni bilo mogoče najti datoteke za tiskanje" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "Datoteka za tiskanje ne obstaja" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"Ni bilo mogoče najti ustreznega programa za tiskanje. Prepričajte se, da je " +"na voljo CUPS-ov program lpr" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "Velikost strani za tisk ni veljavna" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "Ni bilo mogoče odpreti »%1«. Datoteka ne obstaja" + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Naslov" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Zadeva" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Opis" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "Avtor" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Ustvarjalec" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Izdelovalec" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "Avtorske pravice" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "Strani" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Ustvarjeno" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Spremenjeno" + +#: core/document.cpp:6032 +#, kde-format +msgid "MIME Type" +msgstr "Vrsta MIME" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "Kategorija" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Ključne besede" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "Pot do datoteke" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "Velikost datoteke" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "Velikost strani" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "dodaj zabeležko" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "odstrani zabeležko" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "spremeni lastnosti zabeležke" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "prevedi zabeležko" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "prilagodi zabeležko" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "uredi besedilo" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "uredi vsebino zabeležke" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "uredi vsebino obrazca" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "uredi seznam izbir obrazca" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "uredi izbor spustnega polja obrazca" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "uredi stanja gumbov obrazca" + +#: core/generator.cpp:790 +#, kde-format +msgid "Plain &Text…" +msgstr "Navadno besedilo…" + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "Besedilo OpenDocument" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "Možnosti tiskanja" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "Prilagodi prostoru za tisk" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "Prilagodi celotni strani" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "Način lestvice:" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "Ne kaži tega sporočila več" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "Ni na voljo" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" +"Notranja napaka pri podpisovanju. Prijavite napako s koraki za njeno " +"reprodukcijo. Koda napake %1" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "Ni bilo mogoče podpisati dokumenta: %1" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "Podpisovanje je preklical uporabnik" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "Ni bilo mogoče podpisati. Napačna geselna fraza" + +#: core/signatureutils.cpp:504 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" +"Ni bilo mogoče zapisati podpisanega dokumenta v %1, " +"zagotovite, da ste izbrali mapo z dovoljenjem za pisanje" + +#: core/signatureutils.cpp:506 +#, kde-format +msgid "Unknown signing error" +msgstr "Neznana napaka pri podpisovanju" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Vir: %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "Privzeta pisava:" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "Verzija" + +#: gui/certificatemodel.cpp:41 +#, kde-format +msgid "Serial Number" +msgstr "Serijska številka" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "Izdajatelj" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "Izdano" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "Poteče" + +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Zadeva" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "Javni ključ" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "Uporaba ključa" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "V%1" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "%1 (%2 bitov)" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "Lastnina" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "Vrednost" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "Pojavna opomba" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "Pisalni stroj" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "Znotrajvrstična opomba" + +#: gui/guiutils.cpp:56 +#, kde-format +msgid "Arrow with Comment" +msgstr "Puščica s komentarjem" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "Puščica" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "Ravna črta s komentarjem" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "Ravna črta" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "Poligon s komentarjem" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "Mnogokotnik" + +#: gui/guiutils.cpp:71 +#, kde-format +msgid "Rectangle with Comment" +msgstr "Pravokotnik s komentarjem" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "Pravokotnik" + +#: gui/guiutils.cpp:74 +#, kde-format +msgid "Ellipse with Comment" +msgstr "Elipsa s komentarjem" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "Elipsa" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "Poudarek s komentarjem" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "Poudarek" + +#: gui/guiutils.cpp:87 +#, kde-format +msgid "Squiggle with Comment" +msgstr "Vijuga s komentarjem" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "Zavito" + +#: gui/guiutils.cpp:91 +#, kde-format +msgid "Underline with Comment" +msgstr "Podčrtava s komentarjem" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "Podčrtano" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out with Comment" +msgstr "Prečrtano s komentarjem" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "Prečrtaj" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "Žig s komentarjem" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "Žig" + +#: gui/guiutils.cpp:106 +#, kde-format +msgid "Freehand Line with Comment" +msgstr "Prosto-ročna črta s komentarjem" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "Prosto-ročna črta" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "Strešica" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "Priložena datoteka" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "Zvok" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "Film" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Zaslon" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "Gradnik" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "Obogatena predstavnost" + +#: gui/guiutils.cpp:144 +#, kde-format +msgid "Annotation" +msgstr "Zabeležka" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "Neznano" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Avtor: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "Kam želite shraniti %1?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "Ni bilo mogoče odpreti »%1« za pisanje. Datoteka ni bila shranjena." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "Podpis je kriptografsko veljaven." + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "Podpis je kriptografsko neveljaven." + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "Pojavil se je problem izračuna povzetka." + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "Struktura podpisa CMS/PKCS7 je napačno oblikovana." + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "Zahtevanega podpisa ni prisotnega v dokumentu." + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "Podpisa ni bilo mogoče preveriti." + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "Potrdilo je zaupanja vedno." + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "Izdajatelj potrdila ni zaupanja vreden." + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "Izdajatelj potrdila je neznan." + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "Potrdilo je bilo preklicano." + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "Potrdilo je poteklo." + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "Potrdilo še ni bilo preverjeno." + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "Preverjanje potrdila v teku" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "Neznana težava s potrdilom ali pokvarjeni podatki." + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "MD2" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "MD5" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "SHA1" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "SHA256" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "SHA384" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "SHA512" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "SHA224" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "Neznan algoritem" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "RSA" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "DSA" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "EC" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "Neznana vrsta" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "Digitalni podpis" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "Nezatajivost" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "Šifriraj ključe" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "Dešifriraj ključe" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "Sporazum o ključu" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "Podpiši potrdilo" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "Podpiši CRL" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "Samo šifriraj" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "Ni določena raba" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr ", " + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "Dokument ni bil spremenjen po njegovem podpisu." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" +"Revizija tega dokumenta, ki ga pokriva ta podpis ni bila spremenjena;\n" +"a bile so še nadaljnje spremembe tega dokumenta." + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" +"Dokument je bil spremenjen na način, ki ga prejšnji podpisnik ni dovolil." + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "Preverjanja celovitosti dokumenta ni bilo mogoče zaključiti." + +#: gui/signatureguiutils.cpp:208 +#, kde-format +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "Ta dokument ima podpisna polja." + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "Ta dokument je digitalno podpisan." + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "" +"Ta dokument je digitalno podpisan. Bile so spremembe po zadnjem podpisu." + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" +"Ta dokument je digitalno podpisan. Za nekatere podpise ni bilo mogoče " +"potrditi pravilnosti." + +#: gui/signaturemodel.cpp:141 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "Polje za podpis %1" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "Polje: %1 na strani %2" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "Rev. %1: Podpisano od %2" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "Čas podpisa: %1" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "Razlog: %1" + +#: gui/signaturemodel.cpp:177 +#, kde-format +msgid "Location: %1" +msgstr "Lokacija: %1" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "Podpis PGP" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "Adobe PKCS7" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "Adobe PKCS7 Sha1" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "ETSI CAdES" + +#: gui/signaturemodel.cpp:193 +#, kde-format +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "Neznano" + +#: gui/signaturemodel.cpp:195 +#, kde-format +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "Polje podpisa" + +#: gui/signaturemodel.cpp:201 +#, kde-format +msgid "Signature Type: %1" +msgstr "Vrsta podpisa: %1" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "Rdeča" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "Oranžna" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "Rumena" + +#: part/annotationactionhandler.cpp:151 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "Zelena" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "Cijan" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "Modra" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "Magenta" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "Bela" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "Siva" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "Črna" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "Širina %1" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1 %" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "Širina vrstice zabeležk (ni izbranih zabeležk)" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "Barva zabeležk (Nobena ni izbrana)" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "Barva polnila zabeležk (Nobena ni izbrana)" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "Neprosojnost zabeležk (Nobena ni izbrana)" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "Pisava zabeležk (Nobena ni izbrana)" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" +"Dodaj trenutno zabeležko v meni za hitre zabeležk (Nobena zabeležka ni " +"izbrana)" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" +"Omeji razmerje proporcev na 1:1 ali na kote v korakih po 15° (Nobena " +"pripomba ni izbrana)" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "Napredne nastavitve za trenutno orodje zabeležk (Ni izbrane zabeležke)" + +#: part/annotationactionhandler.cpp:308 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Širina vrstice zabeležke" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "Širina vrstice zabeležke (Trenutna zabeležka nima širine)" + +#: part/annotationactionhandler.cpp:314 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Barva besedila zabeležke" + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "Barva obrobe zabeležke" + +#: part/annotationactionhandler.cpp:318 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Barva zabeležke" + +#: part/annotationactionhandler.cpp:322 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Barva polnila zabeležke" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "Barva polnila zabeležk (Trenutna zabeležka nima barve polnila)" + +#: part/annotationactionhandler.cpp:328 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "Pisava zabeležke" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "Pisava zabeležk (Trenutna zabeležka nima pisave)" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "Omejite kote v korakih po 15°" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "Omejitev oblike v razmerju 1:1" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" +"Omeji razmerje proporcev na 1:1 ali na kote v korakih po 15° (ni podprto v " +"trenutnem obvestilu)" + +#: part/annotationactionhandler.cpp:341 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Neprosojnost zabeležke" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "V meni za hitre zabeležke dodajte trenutno zabeležko" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "Napredne nastavitve za trenutno orodje zabeležk" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "Barva" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "Barva polnila" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "Prosojno" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "Barva po meri…" + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "Izberi barvo" + +#: part/annotationactionhandler.cpp:552 +#, kde-format +msgid "&Annotations" +msgstr "Zabeležke" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "Skrij" + +#: part/annotationactionhandler.cpp:554 +#, kde-format +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Prikaži več orodij za ustvarjanje zabeležk" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "Poudarjalnik" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "Podčrtano" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "Zavito" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "Prečrtano" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Pisalni stroj" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "Znotrajvrstična opomba" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "Pojavna opomba" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "Prosto-ročna črta" + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "Ravna črta" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "Puščica" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "Pravokotnik" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "Elipsa" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "Mnogokotnik" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "Geometrijske oblike" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "Žig" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Hitre zabeležke" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "Izberite orodje za pripombe iz hitrih pripomb" + +#: part/annotationactionhandler.cpp:651 +#, kde-format +msgid "Quick Annotation Bar" +msgstr "Vrstica hitrih zabeležk" + +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "Dodaj med hitre zabeležke" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "Vzdržuj aktivno" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "Ohranjaj aktivno orodje za zabeležke tudi po uporabi" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "Omeji razmerja proporcev in kote orodij za pripombe" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "Pisava" + +#: part/annotationactionhandler.cpp:681 +#, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Nastavitve zabeležk" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "Širina vrste" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "Neprosojnost" + +#: part/annotationactionhandler.cpp:696 +#, kde-format +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1 %" + +#: part/annotationmodel.cpp:320 +#, kde-format +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "Stran %1 (%2)" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "Stran %1" + +#: part/annotationpopup.cpp:85 +#, kde-format +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "%1 zabeležk" +msgstr[1] "%1 zabeležka" +msgstr[2] "%1 zabeležki" +msgstr[3] "%1 zabeležke" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "&Odpri pojavno opombo" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Odstrani zaznamek" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Dodaj zaznamek" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, kde-format +msgid "Copy Text to Clipboard" +msgstr "Kopiraj besedilo na odložišče" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "DRM prepoveduje kopiranje" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "Izbriši" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "Lastnosti" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, kde-format +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "&Shrani '%1'…" + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "Videz" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "Splošno" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&Avtor:" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "Ustvarjeno:" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "Spremenjeno:" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "Lastnosti pojavne opombe" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "Lastnosti pisalnega stroja" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "Lastnosti znotrajvrstične opombe" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "Lastnosti ravne črte" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "Lastnosti mnogokotnika" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "Lastnosti geometrije" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "Lastnosti oznake besedila" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "Lastnosti žiga" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "Lastnosti prosto-ročne črte" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "Lastnosti kazalke" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "Lastnosti priložene datoteke" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "Lastnosti zvoka" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "Lastnosti filma" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "Lastnosti zabeležk" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "Izberite obliko žiga po meri iz datoteke" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "Izberi žig po meri" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" +"*.ico *.png *.xpm *.svg *.svgz | Datoteke ikon (*.ico *.png *.xpm *.svg *." +"svgz)" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "Ni bilo mogoče naložiti datoteke %1" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "Neveljavna datoteka" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "Barva:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, kde-format +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%v%" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "Motnost:" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "Ikona:" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "Opomba" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "Pomoč" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "Vstavi" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "Tipka" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "Nov odstavek" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "Opomba" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "Odstavek" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Pisava:" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "Barva besedila:" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "Poravnaj:" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "Levo" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "Na sredino" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "Desno" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "Širina roba:" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "Odobreno" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "Kot je" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "Zaupno" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "Za oddelek" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "Osnutek" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "Poskusno" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "Zapadlo" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "Končno" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "Za opombo" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "Za javno objavo" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "Ni odobreno" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "Ni za javno objavo" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "Prodano" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "Strogo zaupno" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "Zaznamek" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "Podrobnosti" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "Simbol žiga:" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "Širina:" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "Začetek vrste:" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "Konec vrste:" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "Kvadrat" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "Krog" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "Romb" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "Odprta puščica" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "Zaprta puščica" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "Nič" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "Zadnjica" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "Odprta puščica na desno" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "Zaprta puščica na desno" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "Poševna črta" + +#: part/annotationwidgets.cpp:531 +#, kde-format +msgid "Leader line length:" +msgstr "Dolžina vodilne črte:" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "Dolžina podaljška vodilne črte:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "Omogočeno" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "Polnilo lika:" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Vrsta:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "Prečrtano" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "Simbol priložene datoteke:" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "Graf" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "Žebljiček" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "Sponka za papir" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "Oznaka" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "Datoteka" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "NP" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "Opis ni na voljo." + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "Ime:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "Opis:" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "Simbol strešice:" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "Brez" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "Zapri to opombo" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "Možnosti" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"Ta zabeležka morda vsebuje kodo LaTeX.\n" +"Kliknite semkaj za izris." + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "Izvedljive datoteke latex ni bilo mogoče najti." + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "Izrisovanje LaTeX je spodletelo" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "Ni bilo mogoče najti izvedljive datoteke dvipng." + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "Med izvajanjem ukaza »latex« je prišlo do napake." + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "Med izvajanjem ukaza »dviping« je prišlo do napake." + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"%2 zaznamkov" +msgstr[1] "" +"%1\n" +"\n" +"%2 zaznamek" +msgstr[2] "" +"%1\n" +"\n" +"%2 zaznamka" +msgstr[3] "" +"%1\n" +"\n" +"%2 zaznamki" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Zaznamki" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "Pokaži za vse dokumente" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, kde-format +msgid "Search…" +msgstr "Išči…" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, kde-format +msgid "Expand All" +msgstr "Razširi vse" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, kde-format +msgid "Collapse All" +msgstr "Skrči vse" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "Pojdi do tega zaznamka" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "Preimenuj zaznamek" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Odpri dokument" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "Odstrani vse zaznamke za ta dokument" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "Pregledovalnik potrdil" + +#: part/certificateviewer.cpp:50 +#, kde-format +msgid "Export…" +msgstr "Izvozi…" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "Splošno" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "Izdajatelj" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "Splošno ime (CN)" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "E-pošta" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "Organizacija" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "Izdano za" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "Veljavnost" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "Prstni odtis" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "Prstni odtis SHA-1" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "Prstni odtis SHA-256" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "Podrobnosti" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "Datum potrdila:" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "Kam želite shraniti to potrdilo?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "Datoteka potrdila (*.cer)" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "Ni bilo mogoče izvoziti potrdila" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "Barvni način" + +#: part/colormodemenu.cpp:21 +#, kde-format +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "Zamenjaj barve" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "Normalne barve" + +#: part/colormodemenu.cpp:41 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "Obrni barve" + +#: part/colormodemenu.cpp:42 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "Zamenjaj barvo papirja" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "Zamenjaj temne za svetle barve" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "Pretvori v črno-belo" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "Obrni svetlost" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "Obrni lumo (linearni sRGB)" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "Obrni lumo (simetrično)" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "Pomakni pozitivni odtenek" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "Pomakni negativni odtenek" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "Rdeča" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "Zelena" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "Modra" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "Rumena" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "Črna" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "Bela" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "Rumeni poudarjalnik" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "Zeleni poudarjalnik" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "Vstavi besedilo" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "Nariši obrobo okoli povezav" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "Spremeni barve" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "" +"Opozorilo: te možnosti lahko slabo vplivajo na hitrost izrisovanja." + +#: part/dlgaccessibility.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "Obrni barve" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "Zamenjaj barvo papirja" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "Zamenjaj temne in svetle barve" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "Pretvori v črno-belo" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "Obrni svetlost" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "Obrni lumo (linearni sRGB)" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "Obrni lumo (simetrično)" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "Pomakni pozitivni odtenek" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "Pomakni negativni odtenek" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "Barvni način:" + +#: part/dlgaccessibility.cpp:87 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Barva papirja:" + +#: part/dlgaccessibility.cpp:99 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Temna barva:" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "Svetla barva:" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "Prag:" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Kontrast:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "Program za pretvorbo besedila v glas:" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "Glas pretvorbe besedila v glas:" + +#: part/dlgannotations.cpp:25 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Orodna vrstica vseh zabeležk" + +#: part/dlgannotations.cpp:26 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Orodna vrstica hitrih zabeležk" + +#: part/dlgannotations.cpp:28 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Orodna vrstica zabeležk:" + +#: part/dlgannotations.cpp:34 +#, kde-format +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "Avtor:" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"Opomba: informacije se tukaj uporabljajo samo za pripombe. " +"Informacije o pripombah se shranjujejo v dokumente in bodo posredovane " +"skupaj z dokumentom." + +#: part/dlgannotations.cpp:48 +#, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

    Quick Annotation Tools

    " +msgstr "

    Orodje za urejanje hitrih zabeležk

    " + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" +"Izberite urejevalnik, ki ga želite zagnati, ko Okular odpre datoteko z " +"izvorno kodo." + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "Urejevalnik besedila po meri" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Odjemalec Emacs" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "Odjemalec Lyx" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "TeXstudio" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "TeXiFy IDEA" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "Urejevalnik:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
    \n" +"You can also put few placeholders:\n" +"
      \n" +"
    • %f - the file name
    • \n" +"
    • %l - the line of the file to be reached
    • \n" +"
    • %c - the column of the file to be reached
    • \n" +"
    \n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"Nastavite ukaz za zagon urejevalnika besedila po meri.
    \n" +"Uporabite lahko nekaj vsebnikov:\n" +"
      \n" +"
    • %f – ime datoteke
    • \n" +"
    • %l – vrstica v datoteki
    • \n" +"
    • %c – stolpec v datoteki
    • \n" +"
    \n" +"Če %f ni naveden, bo ime datoteke dodano na konec podanega ukaza." + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "Ukaz:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "Uporabi gladko drsenje" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "Videz:" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "Pokaži drsnike" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "Poveži sličice s stranjo" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "Prikaži namige in informacijska sporočila" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "Obvesti o vdelanih datotekah, obrazcih ali podpisih" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "Če je na voljo, pokaži naslov dokumenta v nazivni vrstici" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "Pokaži samo ime datoteke" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "Pokaži polno pot datoteke" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "Kadar ni prikazan naslov dokumenta:" + +#: part/dlggeneral.cpp:92 +#, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "Uporabi barvo ozadja po meri:" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "Zmožnosti programa:" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "Odpri nove datoteke v zavihkih" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "Preklopi na obstoječi zavihek, če je datoteka že odprta" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "Upoštevaj omejitve DRM" + +#: part/dlggeneral.cpp:148 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "Po spremembi datoteke znova naloži dokument" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "Prikaži pogovorno okno za izbiro zaledja" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "Smer branja z desne proti levi" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" +"Uporabi informacije o datoteki za odločitev ali naj se privzeto odpre v " +"zveznem načinu" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "Datoteke brez podatkov o datoteki privzeto odpri v zveznem načinu" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "Privzeto odpri v zveznem načinu" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "Ob uporabi orodja za brskanje previjaj kazalko na robovih zaslona" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "Postavke v novejši zgodovini:" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "Stolpci pregleda:" + +#: part/dlggeneral.cpp:220 +#, kde-format +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%v%" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" +"Določa koliko trenutnega vidnega polja je še vidno, ko pritiskate tipke Page " +"Up/Down." + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "Prekrivanje Page Up/Down:" + +#: part/dlggeneral.cpp:228 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%v%" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "100%" + +#: part/dlggeneral.cpp:233 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "Prilagodi širini" + +#: part/dlggeneral.cpp:234 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "Prilagodi strani" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "Samodejno prilagodi" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "Po meri" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" +"Določi privzet način približanja za datoteke, ki še niso bile nikoli odprte. " +"Za že odprte datoteke je uporabljena prejšnja vrednost za približanje." + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "Privzeto približanje:" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "Omogoči učinke prozornosti" + +#: part/dlgperformance.cpp:28 +#, kde-format +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "Uporaba procesorja:" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "Nizka" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "Navadna (privzeto)" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "Agresivna" + +#: part/dlgperformance.cpp:38 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "Grabežljiva" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "Uporaba pomnilnika:" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "Omogoči glajenje robov besedila" + +#: part/dlgperformance.cpp:56 +#, kde-format +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "Možnosti upodabljanja:" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "Omogoči glajenje robov grafike" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "Omogoči namige besedila" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"Čimmanj hrani v pomnilniku. Nič ne uporablja znova. (Za sisteme z malo " +"pomnilnika.)" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"Dober kompromis med uporabo pomnilnika in pridobljeno hitrostjo. Prednaloži " +"naslednjo stran in pospeši iskanja. (Običajno za sisteme z 2 GB pomnilnika.)" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"Hrani vse v pomnilniku. Prednaloži naslednje strani. Pospeši iskanja. (Za " +"sisteme z več kot 4 GB pomnilnika.)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" +"Naloži in ohrani vse v pomnilniku. Prednaloži vse strani. (Uporabljeno bo " +"največ 50 % celotnega pomnilnika ali prostega pomnilnika (katerega je več).)" + +#: part/dlgpresentation.cpp:38 +#, kde-format +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] "vsakih %v sekund" +msgstr[1] "vsako %v sekundo" +msgstr[2] "vsaki %v sekundi" +msgstr[3] "vsake %v sekunde" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "Samodejno napreduj:" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "Po zadnji strani zanka nazaj na prvo" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "Dotaknite se leve/desne strani, da se pomikate nazaj/naprej" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "Dotaknite se kjerkoli, da se pomaknete naprej" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "Onemogočeno" + +#: part/dlgpresentation.cpp:63 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Krmarjenje z dotikom:" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "Barva ozadja:" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "Skrito po zakasnitvi" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "Vedno vidno" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "Vedno skrito" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "Miškin kazalec:" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "Pokaži kazalnik napredka" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "Pokaži stran s povzetkom" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "Trenutno (Nikoli ne uporabljaj animacij)" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "Zamenjaj" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "Naključen prehod" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "Zapri navpično" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "Zapri vodoravno" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "V škatlo" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "Iz škatle" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "Razpusti" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "Pojemaj" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "Zablešči dol" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "Zablešči desno" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "Zablešči desno dol" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "Razdeli vodoravno noter" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "Razdeli vodoravno ven" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "Razdeli navpično noter" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "Razdeli navpično ven" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "Pobriši dol" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "Pobriši desno" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "Pobriši levo" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "Pobriši gor" + +#: part/dlgpresentation.cpp:121 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Privzet prehod:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "Prednostni zaslon:" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

    Drawing Tools

    " +msgstr "

    Orodje za risanje

    " + +#: part/dlgpresentation.cpp:171 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Trenutni zaslon" + +#: part/dlgpresentation.cpp:172 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Privzeti zaslon" + +#: part/dlgpresentation.cpp:178 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "Zaslon %1 (%2 %3 %4)" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "Zaslon %1 (odklopljen)" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "Orodje za risanje: %1" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "Radirka" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "Ime:" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "Vrs&ta:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "Videz" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "Oznaka besedila" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "Geometrijska oblika" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "Orodje za ustvarjanje zabeležk" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "Orodje za urejanje zabeležk" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "Barva:" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "Širina &peresa:" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "%v px" + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "Ustvari orodje za risanje" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "Uredi orodje za risanje" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "Neznano" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Vgrajene datoteke" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "Pogled" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "Ime" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "Opis" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "Velikost" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "Ustvarjena" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "Spremenjena" + +#: part/embeddedfilesdialog.cpp:154 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "%Shrani kot…" + +#: part/embeddedfilesdialog.cpp:155 +#, kde-format +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "Pogled…" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "Ni bilo mogoče naložiti dela za predogled tiskanja" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "Predogled tiskanja" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "Zapri" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "Najdi:" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "Iskano besedilo" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Naslednje" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "Pojdi na naslednje ujemanje" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Predhodno" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "Pojdi na predhodno ujemanje" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "Spremeni potek iskanja" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "Ločevanje velikosti črk" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "Od trenutne strani" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "Iskanje med tipkanjem" + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "Vse datoteke (*)" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "Polje podpisa (Kliknite za podpis)" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "Podpiši…" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "Lastnosti podpisa" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "Možnosti iskanja" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "Ločevanje velikosti črk" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "Regularni izraz" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "Plasti" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "od" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "Približanje" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "Približanje na 100 %" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "Zavrti v desno" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "Desno" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "Zavrti v &levo" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "Levo" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "Prvotna usmerjenost" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "Obreži pogled" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "Obreži robove" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "Obreži na izbor" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "Prilagodi širini" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "Prilagodi strani" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "S&amodejno prilagodi" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "Prilagodi ok&no strani" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "Prikaz strani" + +#: part/pageview.cpp:594 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "Ena stran" + +#: part/pageview.cpp:595 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "Dve strani nasproti" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "Dve strani nasproti (prva stran na sredini)" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "Pregled" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "Zvezno" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "Uporabi smer branja z desne proti levi" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "&Brskanje" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "&Približanje" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "Izbira področja" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "Izbira besedila" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "Izbira tabele" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "Povečevalno steklo" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "Orodja izbire" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "Digitalno podpiši…" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "Govori celoten dokument" + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "Govori iz trenutne strani" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "Govori trenutno stran" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "Zaustavi govor" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "Premor/Nadaljevanje govora" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "Drsenje navzgor" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Drsenje navzdol" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "Eno stran višje" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "Eno stran nižje" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "Pokaži obrazce" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] " Naložen %1-stranski dokument." +msgstr[1] " Naložen %1-stranski dokument." +msgstr[2] " Naložen %1-stranski dokument." +msgstr[3] " Naložen %1-stranski dokument." + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "Kopiraj vsebino tabele v odložišče" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "Besedilo (%1 znakov)" +msgstr[1] "Besedilo (%1 znak)" +msgstr[2] "Besedilo (%1 znaka)" +msgstr[3] "Besedilo (%1 znaki)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "Kopiraj v odložišče" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "Izgovori besedilo" + +#: part/pageview.cpp:2863 +#, kde-format +msgid "Image (%1 × %2 pixels)" +msgstr "Slika (%1 × %2 slikovnih točk)" + +#: part/pageview.cpp:2865 +#, kde-format +msgid "Save to File…" +msgstr "Shrani v datoteko…" + +#: part/pageview.cpp:2885 +#, kde-format +msgid "Image [%1 × %2] copied to clipboard." +msgstr "Slika [%1 × %2] je bila prekopirana na odložišče." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "Shrani datoteko" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "Slike (*.png *.jpeg)" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "Datoteka ni bila shranjena." + +#: part/pageview.cpp:2901 +#, kde-format +msgid "Image [%1 × %2] saved to %3 file." +msgstr "Slika [%1 × %2] je bila shranjena v datoteko %3." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "Kopiraj besedilo" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "Pojdi na »%1«" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "Prilagodi širini" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "Prilagodi strani" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "Samodejno prilagodi" + +#: part/pageview.cpp:4107 +#, kde-format +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1 %" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "Poišči »%1« z" + +#: part/pageview.cpp:4404 +#, kde-format +msgid "Configure Web Shortcuts…" +msgstr "Nastavi spletne bližnjice…" + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "Sledi tej povezavi" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "Zaigraj ta zvok" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "Zaustavi zvok" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "Kopiraj naslov povezave" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "Poišči »%1« v tem dokumentu" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Dobrodošli" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "" +"Izberite območje približanja. Kliknite z desnim miškinim gumbom za " +"oddaljevanje." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "Kliknite za povečani prikaz." + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "Narišite pravokotnik okoli besedila ali grafike, da ga kopirate." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "Izberite besedilo" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" +"Narišite pravokotnik okrog razpredelnice in nato kliknite na bližnje robove, " +"da jo razdelite: pritisnite Esc, da izbor počistite." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" +"Vsa vaša potrdila za podpisovanje so neveljavna. Če je podpisovanje prej " +"delovalo, preverite njihove datume veljavnosti." + +#: part/pageview.cpp:5188 +#, kde-format +msgid "No valid certificates" +msgstr "Ni veljavnih potrdil" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, kde-format +msgid "Open Certificate Manager" +msgstr "Odpri Certificate Manager" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
    Launch Certificate Manager " +"to import or manage certificates
    For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" +"Ni razpoložljivih potrdil za podpisovanje.
    Za uvoz ali upravljanje " +"potrdil zaženite Certificate Manager.
    Za več informacij glejte razdelek " +"o Dodajanju digitalnih podpisov v priročniku." + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, kde-format +msgid "No certificates found" +msgstr "Ni najdenih potrdil" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
    For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" +"Na voljo ni potrdil za podpisovanje.
    Za več informacij glejte razdelek " +"Adding Digital Signatures – Dodajanje digitalnih podpisov " +"v priročniku." + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "Imate neshranjene spremembe. Shranite dokument pred podpisom." + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "Narišite pravokotnik za vstavljanje polja podpisa" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "Narišite pravokotnik okoli območja strani, ki naj ostane vidno" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "Nova besedilna opomba" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "Besedilo nove opombe:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Podpisal: %1\n" +"\n" +"Datum: %2" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" +"Podpis te velikosti je morda premajhen za branje. Če želite ustvariti " +"potencialno bolj berljiv podpis, pritisnite Začni znova in narišite večji pravokotnik." + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "Spet začni" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "Podpiši" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name" +msgstr "Ime avtorja" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name for the annotation:" +msgstr "Ime avtorja zabeležke:" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "Nariši elipso (povlecite, da izberete območje)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "Poudari besedilo" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "Nariši prosto-ročno črto" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "Znotrajvrstična besedilna zabeležka (povlecite, da izberete območje)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "Postavi pojavno opombo" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "Nariši mnogokotnik (za zaključitev kliknite na začetno točko)" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "Nariši pravokotnik" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "Vijugasto besedilo" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "Postavi žig" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "Nariši ravno črto" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "Prečrtaj besedilo" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "Podčrtaj besedilo" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "Opomba s pisalnim strojem (povlecite, da izberete cono)" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "Poudarjalnik" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "Dodaj priljubljeno zabeležko" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Custom annotation name:" +msgstr "Ime zabeležke po meri:" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "Datoteka" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "Nastavitve" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "Pomoč" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "Usmerjenost" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "Zaznamki" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "Orodna vrstica pregledovalnika" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Sličice" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "Zabeležke" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
    Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" +"Ta dokument vsebuje zabeležke ali podatke obrazcev, ki jih je notranje " +"shranila predhodna različica Okular-ja. Notranja shramba ni več podprta.
    Če želite nadaljevati z urejanjem dokumenta, shranite v datoteko, da " +"jih premaknete." + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"Ta dokument vsebuje vgrajene datoteke. Kliknite sem, da jih vidite ali pa iz menija Datoteka izberite " +"»Vgrajene datoteke«." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "Podpisovanje v teku. Prilagodite lahko položaj in velikost podpisa" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "Dokončaj podpisovanje" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "Predhodna" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "Vrni se na predhodno stran" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "Premakne se na prejšnjo stran dokumenta" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "Naslednja" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "Napreduj na naslednjo stran" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "Premakne se na naslednjo stran dokumenta" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "Začetek dokumenta" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "Premakne se na začetek dokumenta" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "Konec dokumenta" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "Premakne se na konec dokumenta" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "Preimenuj trenutni zaznamek" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "Predhodni zaznamek" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "Pojdi do predhodnega zaznamka" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "Naslednji zaznamek" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "Pojdi do naslednjega zaznamka" + +#: part/part.cpp:748 +#, kde-format +msgid "Configure Okular…" +msgstr "Konfiguiriraj Okular…" + +#: part/part.cpp:751 +#, kde-format +msgid "Configure Viewer…" +msgstr "Konfiguriraj pregledovalnik…" + +#: part/part.cpp:757 +#, kde-format +msgid "Configure Viewer Backends…" +msgstr "Nastavi zaledja pregledovalnika…" + +#: part/part.cpp:759 +#, kde-format +msgid "Configure Backends…" +msgstr "Nastavi zaledja…" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "O zaledju" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "Znova naloži" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "Znova naloži trenutni dokument z diska." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "Zapri iskalno vrstico" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "Številka strani" + +#: part/part.cpp:817 +#, kde-format +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "Nastavi barvne načine…" + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "Izberi vso besedilo na trenutni strani" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "Prikaži stransko letvico" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "Prikaži vrstico s stranmi" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "Pokaži pult &podpisov" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "Vgrajene datoteke" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "Izvozi kot" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "Deli" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "P&redstavitev" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "Odpri vsebovano mapo" + +#: part/part.cpp:945 +#, kde-format +msgid "&Import PostScript as PDF…" +msgstr "Uvozi PostScript kot PDF…" + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "Preklop načina črnega zaslona" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "Izbriši risbo" + +#: part/part.cpp:962 +#, kde-format +msgid "Configure Annotations…" +msgstr "Konfiguriraj zabeležke…" + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "Preklopi predstavitev" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" +"Spremenili ste odprti dokument, a te vrste dokumenta ni mogoče shraniti.\n" +"Vse spremembe bodo izgubljene, ko boste zaprli Okular." + +#: part/part.cpp:1123 +#, kde-format +msgid "Document can't be saved" +msgstr "Dokumenta ni mogoče shraniti" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "Ni bilo mogoče odpreti »%1« (%2) " + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "Nalaganje %1 je bilo preklicano." + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "Ni bilo mogoče odpreti %1. Razlog: %2" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "Nastavi zaledja pregledovalnika" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "Nastavi zaledja" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"Ni bilo mogoče najti programa »ps2pdf«. Okular ne more uvoziti datotek " +"PostScript." + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "ps2pdf ni bilo mogoče najti" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "Datoteke Postscript (%1)" + +#: part/part.cpp:1357 +#, kde-format +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "Uvažanje datoteke PS kot PDF (to lahko traja nekaj časa) …" + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "Pred branjem dokumenta je potrebno vnesti geslo:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "Napačno geslo. Poskusite znova:" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "Geslo za dokument" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "Ta dokument vsebuje obrazce XFA, ki trenutno niso podprti." + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"Ta dokument vsebuje obrazce. Za uporabo kliknite gumb ali pa iz menija " +"Pogled izberite ukaz Pokaži obrazce." + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" +"Vse urejanje in interaktivne funkcije za ta dokument so onemogočene. Prosim " +"shranite kopijo in znova jo odprite za urejanje dokumenta." + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" +"Ta dokument želi biti prikazan v celozaslonskem načinu.\n" +"Zapustim običajen način in preidem v predstavitveni način?" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "Zahteva za spremembo načina pogleda" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "Vstopi v predstavitveni način" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "Zavrni zahtevo" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "Ni bilo mogoče odpreti %1.%2" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" +"Na datoteki %1 obstajajo neshranjene spremembe poleg " +"tega pa jo je spremenil še nek drug program. Ponovno nalaganje bo zamenjalo " +"neshranjene spremembe s spremembami drugega programa.Ali želite " +"nadaljevati s ponovnim nalaganjem datoteke?" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "Datoteka spremenjena" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "Nadaljuj s ponovnim nalaganjem" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "Prekini ponovno nalaganje" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" +"Na datoteki %1 obstajajo neshranjene spremembe poleg " +"tega pa jo je spremenil še nek drug program. Zapiranje bo zamenjalo " +"neshranjene spremembe s spremembami drugega programa.Ali želite " +"nadaljevati z zapiranjem datoteke?" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "Nadaljuj z zapiranjem" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "Prekini zapiranje" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "Ali želite shraniti vaše spremembe v »%1« ali jih zavreči?" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "Zapri dokument" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"Ta povezava kaže na dejanje za zaprtje dokumenta, ki ne deluje, ko je v " +"uporabi vgrajen pregledovalnik." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"Ta povezava kaže na dejanje za izhod iz programa, ki ne deluje, ko je v " +"uporabi vgrajen pregledovalnik." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, kde-format +msgid "Reloading the document…" +msgstr "Ponovno nalaganje dokumenta…" + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "Vsebina" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "Podpisi" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Pojdi na stran" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "Stran:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "Vnesite novo ime za zaznamek:" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "Preimenuj ta zaznamek" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "Odstrani ta zaznamek" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "Shrani kot" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" +"Izbrali ste shranjevanje Okularjevega arhiva brez podaljška imena datoteke " +"»%1«. To ni dovoljeno, ali želite izbrati novo ime?" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "Nepodprt podaljšek" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "Izberite novo ime" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" +"Datoteko %1 je spremenil nek drug program. Če jo " +"shranite zdaj, bodo spremembe zaradi drugega programa izgubljene. Ali ste " +"prepričani, da želite nadaljevati?" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "Shranjevanje – opozorilo" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "Shrani kopijo nekje drugje" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
    In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" +"Trenutni dokument je zaščiten z geslom.
    Da ga shranite, morate datoteko " +"ponovno naložiti. Ponovno boste vprašani za geslo, vaša zgodovina urejanj pa " +"bo izgubljena.
    Ali želite nadaljevati?" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "Ni bilo mogoče odpreti začasne datoteke za shranjevanje." + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" +"Ni bilo mogoče prepisati datoteke %1, ker jo je " +"dovoljeno le brati. Poskusite jo shraniti na drugo mesto ali spremenite " +"njena dovoljenja datoteke." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" +"Oblika trenutnega dokumenta zahteva, da se datoteka po shranitvi znova " +"naloži. Vaša zgodovina urejanj bo izgubljena.
    Ali želite nadaljevati?" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "" +"Ni bilo mogoče shraniti datoteke v »%1«. Poskusite jo shraniti na drugo " +"mesto." + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "Vsebina obrazca zapolnjena" + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "Uporabniške zabeležke" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" +"Pravkar boste shranili spremembe z naslednjimi predmeti, ki jih trenutna " +"vrsta dokumenta ne podpira. Da jih ohranite, uporabite vrsto arhiv " +"dokumentov za Okular." + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "Opozorilo" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "Shrani kot arhiv dokumentov za Okular…" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" +"Pravkar boste shranili spremembe z naslednjimi predmeti, ki jih trenutna " +"vrsta dokumenta ne podpira. Da jih ohranite, uporabite vrsto arhiv " +"dokumentov za Okular. Kliknite Nadaljuj, da shranite dokument in " +"zavržete te predmete." + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" +"Pravkar boste shranili spremembe z naslednjimi predmeti, ki jih trenutna " +"vrsta dokumenta ne podpira. Da jih ohranite, uporabite vrsto arhiv " +"dokumentov za Okular. Kliknite Nadaljuj, da shranite dokument, " +"bodo pa pri tem ti predmeti zavrženi, izgubljena pa bo tudi zgodovina " +"urejanj." + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "Nadaljuj" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "Nadaljuj z izgubo sprememb" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "Datoteke ni bilo mogoče shraniti v »%1«. %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"Okular ne more kopirati %1 na dano mesto.\n" +"\n" +"Dokument ne obstaja več." + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" +"Ni bilo mogoče shraniti datoteke v »%1«. Napaka: »%2«. Poskusite jo shraniti " +"na drugo mesto." + +#: part/part.cpp:3158 +#, kde-format +msgid "Expand Whole Section" +msgstr "Razširi celotni razdelek" + +#: part/part.cpp:3159 +#, kde-format +msgid "Collapse Whole Section" +msgstr "Strni celotni razdelek" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "Sinhroniziraj sličice s stranjo" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Orodja" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "Govori" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "Natisni" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "Tiskanje tega dokumenta ni dovoljeno." + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"Ni bilo mogoče natisniti dokumenta. Neznana napaka. Sporočite jo na bugs.kde." +"org" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"Ni bilo mogoče natisniti dokumenta. Podrobna napaka je »%1«. Sporočite jo na " +"bugs.kde.org" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "Pojdite na mesto, kjer ste bili prej" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "Pojdite na mesto, kjer ste bili kasneje" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"Napaka datoteke! Ni bilo mogoče ustvariti začasne " +"datoteke%1." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"Napaka datoteke Ni bilo mogoče odpreti datoteke " +"%1 za razširjanje. Datoteka ne bo naložena." + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"Do te napake običajno pride, če nimate dovolj dovoljenj za branje " +"datoteke. Preverjanje lastništva in dovoljenj si lahko storite v " +"upravljalniku datotek tako da z desnim gumbom miške kliknete na datoteko in " +"z menija izberete možnost Lastnosti." + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"Napaka datoteke Ni bilo mogoče razširiti datoteke " +"%1. Datoteka ne bo naložena." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"Do te napake običajno pride, če je datoteka poškodovana. Da se " +"prepričate, poskusite datoteko razširiti z uporabo orodij iz ukazne vrstice." +"" + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "Ni zaznamkov" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "Med deljenjem dokumenta je prišlo do težave: %1" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "Deli" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "Dokument je bil uspešno deljen" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "Deljen dokument lahko najdete na: %1" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "Ur&ejanje" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "Pogled" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "Pojdi" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "Orodja" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "Glavna orodna vrstica" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "Orodna letvica zabeležk" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, kde-format +msgid "Quick Annotation Toolbar" +msgstr "Orodna vrstica hitrih zabeležk" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "Splošne možnosti" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Dostopnost" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "Pomoč pri branju" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Hitrost delovanja" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "Nastavljanje hitrosti delovanja" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "Nastavi pregledovalnik" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Predstavitev" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "Možnosti za predstavitveni način" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "Možnosti zabeležk" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "Urejevalnik" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "Možnosti urejevalnika" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" +"Urejevalnik je bil nastavljen z ukazno vrstico na \n" +" %1 \n" +"Če želite uporabiti nastavitev, začnite okular brez možnosti --editor-cmd" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "Najdi naslednje" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 – Predstavitev" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "Preklopi zaslon" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "Zaslon %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "Zapusti predstavitveni način" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Naslov: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Strani: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "Kliknite za pričetek" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "Naredi premor" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "Predvajaj" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"Na voljo sta dve možnosti za izhod iz predstavitvenega načina. Lahko " +"pritisnete tipko Esc, ali pa kliknete na gumb za izhod, ki se prikaže, ko se " +"z miško približate gornjemu desnemu kotu zaslona. Seveda lahko še vedno " +"preklapljate med okni (privzeto z Alt+Tab)." + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "Izvajanje predstavitve" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "Neznana datoteka" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "Lastnosti za %1" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "Pisave" + +#: part/propertiesdialog.cpp:145 +#, kde-format +msgid "Reading font information…" +msgstr "Branje podatkov o pisavah…" + +#: part/propertiesdialog.cpp:158 +#, kde-format +msgid "&Page Sizes" +msgstr "Velikosti strani" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "Razširi pisavo" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Vrsta 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Vrsta 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "Vrsta 1C (OT)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Vrsta 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType (OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID vrste 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID vrste 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID vrste 0C (OT)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType (OT)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "TeX PK" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "Navidezno TeX" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "Metrika pisav TeX" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "TeX s pomočjo FreeType" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "Neznano" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "Vgrajeno (delno)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "Povsem vgrajeno" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "Ne" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "Da (delno)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "Da" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "%1 (zamenjano za %2)" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "[n/d]" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "Neznana pisava" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "Vgrajeno: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "Ime" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "Vrsta" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "Datoteka" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "Stran" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "Velikost" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "Predogled revizije" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "Kam želite shraniti to revizijo?" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "Ni bilo mogoče shraniti datoteke %1." + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "Ni bilo mogoče videti te revizije." + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "Vnesite vsaj 3 črke, da filtrirate strani" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "Ločevanje velikosti črk" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "Ujemanje z izrazom" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "Ujemanje z vsemi besedami" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "Ujemanje s katerokoli besedo" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "Možnosti filtra" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, kde-format +msgid "Certificates" +msgstr "Potrdila" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "Izberite potrdilo, s katerim se želite podpisati:" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "Vsa" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, kde-format +msgid "Only QES certificates" +msgstr "Samo potrdila QES" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "Samo ključi PGP" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "Razlog:" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, kde-format +msgid "optional" +msgstr "neobvezno" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "Lokacija:" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, kde-format +msgid "Background:" +msgstr "Ozadje:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "Izbor …" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, kde-format +msgid "Recent backgrounds:" +msgstr "Nedavna ozadja:" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

    No annotations

    To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
    " +msgstr "" +"

    Ni zabeležk

    Da bi ustvarili nove zabeležke, " +"pritisnite tipko F6 ali pa iz menija izberiteOrodja → Zabeležke.
    " + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "Združi po strani" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "Združi po avtorju" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "Prikaži zabeležke samo za trenutno stran" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "Razširi vse elemente" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "Skrči vse elemente" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "Lastnosti" + +#: part/signaturepartutils.cpp:180 +#, kde-format +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Slike (%1)" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "Izberi sliko ozadja" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "Pozabi sliko" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "Pozabi vse slike" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "Vnesite geslo (če obstaja) za odklepanje potrdila: %1" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "Vnesite geslo za potrdilo" + +#: part/signaturepartutils.cpp:244 +#, kde-format +msgid "Enter document password" +msgstr "Vnesite geslo za dokument" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "Shrani podpisano datoteko kot" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "%1_podpisano.%2" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "Status veljavnosti" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "Veljavnost podpisa:" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "Spremembe dokumenta:" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "Dodatne informacije" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "Podpisal:" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "Čas podpisa:" + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "Verzija dokumenta" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Revizija dokumenta %1 od %2" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "Ogled podpisane različice…" + +#: part/signaturepropertiesdialog.cpp:95 +#, kde-format +msgid "View Certificate…" +msgstr "Ogled potrdila…" + +#: part/signaturepropertiesdialog.cpp:97 +#, kde-format +msgid "View in Certificate Manager" +msgstr "Poglej v programu Certificate Manager" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "Programa KDE Certificate Manager (kleopatra) ni mogoče najti" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "Kvalificirana" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "PGP" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "Pokaži samo strani iz zaznamkov" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "Predvajaj" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Premor" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "Zaustavi" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "Videi niso podprti v tem Okularju" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "Videi niso podprti v tem Okularju" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "Dod&aj…" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, kde-format +msgid "&Edit…" +msgstr "Ur&edi…" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "Odst&rani" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "Premakni gor" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "Premakni &dol" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "Privzeto orodje za risanje št. %1" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "Orodje s takim imenom že obstaja. Uporabljeno bo privzeto" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "Podvojeno ime" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "Stran dokumenta, ki naj bo prikazana" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "Odpri dokument v predstavitvenem načinu" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "Začni s pogovornim oknom za tiskanje" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "Začni s pogovornim oknom za tiskanje in končaj po tisku" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "Nadzor »edinstvenega primerka«" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "Ne dviguj okna" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "Najdi niz v besedilu" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "Nastavi ukaz zunanjega urejevalnika" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "Dokumenti za odprtje. Za branje iz standardnega vhoda uporabite »-«." + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" +"Ukaza urejevalnika ne morete nastaviti v že zagnanem primerku okularja. " +"Onemogočite zavihke in poskusite znova. Upoštevajte, da edinstveno tudi ni " +"podprto pri nastavitvi ukaza urejevalnika v ukazni vrstici.\n" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "Napaka: s stikalom --unique ni mogoče odpreti več kot enega dokumenta" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" +"Napaka: s stikalom --presentation ni mogoče odpreti več kot enega dokumenta" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "Napaka: s stikalom --print ni mogoče odpreti več kot enega dokumenta" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "Napaka: s stikalom --page ni mogoče odpreti več kot enega dokumenta" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "Napaka: Ni mogoče odpreti več kot enega dokumenta z atributom --find" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "Ni bilo mogoče najti sestavnega dela Okular: %1" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "Stranska letvica" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" +"Edinstven primerek programa Okular že teče. Ta primerek ne bo edinstven." + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "Ni bilo mogoče najti sestavnega dela Okular." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"Kliknite, da odprete datoteko\n" +"Kliknite in držite, da odprete nedavno datoteko" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"Kliknite, da odprete datoteko ali kliknite in držite, da " +"izberete nedavno datoteko" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "Naslednji zavihek" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "Predhodni zavihek" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "Razveljavi zavihek zapiranja" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "Zakleni stransko letvico" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "Vse datoteke (*)" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "Vse podprte datoteke (%1)" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "Odpri dokument" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "Potrdi zaprtje" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "Zapri zavihke" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "" +"Pravkar boste zaprli %1 zavihkov. Ali ste prepričani, da želite nadaljevati?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "Opozori me pred poskusom zaprtja več zavihkov" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "Kopiraj pot" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "Odpri vsebovano mapo" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "Pozabi to postavko" + +#: shell/welcomescreen.cpp:137 +#, kde-format +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "Ni nedavnih dokumentov" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "Dobrodošli v Okular" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Odpri dokument …" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, kde-format +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Nedavni dokumenti" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "Pozabi vse" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "Skrij zaslon dobrodošlice" + +#~ msgid "Geometry with Comment" +#~ msgstr "Geometrija s komentarjem" + +#~ msgid "Geometry" +#~ msgstr "Geometrija" + +#~ msgctxt "Annotation type: contents" +#~ msgid "%1: %2" +#~ msgstr "%1: %2" + +#~ msgid "Modified: %1" +#~ msgstr "Spremenjeno: %1" + +#~ msgid "Find..." +#~ msgstr "Najdi …" + +#~ msgid "Go To Page..." +#~ msgstr "Pojdi na stran …" + +#~ msgid "Play movie..." +#~ msgstr "Predvajaj filmček …" + +#~ msgid "Search..." +#~ msgstr "Poišči …" + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "&Shrani kot …" + +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "&Pogled …" + +#~ msgid "&Sign..." +#~ msgstr "&Podpiši …" + +#~ msgid "Configure Viewer..." +#~ msgstr "Nastavi pregledovalnik …" + +#~ msgid "Configure Viewer Backends..." +#~ msgstr "Nastavi zaledja pregledovalnikov …" + +#~ msgid "Configure Backends..." +#~ msgstr "Nastavi zaledja …" + +#~ msgid "&Add..." +#~ msgstr "Dod&aj …" + +#~ msgid "&Edit..." +#~ msgstr "Ur&edi …" + +#~ msgctxt "%1 is a file path" +#~ msgid "" +#~ "Could not sign. Invalid certificate password or could not write to '%1'" +#~ msgstr "" +#~ "Podpis ni bil mogoč. Neveljavno geslo za potrdilo ali ni bilo mogoče " +#~ "pisati v »%1«" + +#~ msgid "All your signing certificates are invalid" +#~ msgstr "Vsa vaša potrdila za podpisovanje so neveljavna" + +#~ msgid "Unsigned Signature %1" +#~ msgstr "Nepodpisan podpis %1" + +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "Neznano" + +#~ msgctxt "Signature type" +#~ msgid "Unsigned signature" +#~ msgstr "Nepodpisan podpis" + +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "Spinbox prefix: Advance automatically: every n seconds" +#~ msgid "every " +#~ msgstr "vsak " + +#~ msgctxt "Suffix for the pen width, eg '10 px'" +#~ msgid " px" +#~ msgstr " px" + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " %" + +#~ msgctxt "%1 is a file path" +#~ msgid "Could not sign. Could not write to '%1'" +#~ msgstr "Ni bilo mogoče podpisati. Ni bilo mogoče pisati v '%1'" + +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "Prilagodi širini" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "Prilagodi strani" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Auto Fit" +#~ msgstr "Samodejno prilagodi" + +#~ msgid "*|All Files" +#~ msgstr "*|Vse datoteke" + +#~ msgid "Missing alert type" +#~ msgstr "Manjka vrsta opozorila" + +#~ msgid "" +#~ "The file '%1' has been modified by another program, which means it can no " +#~ "longer be saved." +#~ msgstr "" +#~ "Datoteko »%1« je spremenil drug program, zato je ni mogoče več shraniti." + +#~ msgid "Show Sidebar" +#~ msgstr "Prikaži stransko letvico" + +#~ msgctxt "@info" +#~ msgid "" +#~ "experimental feature.Stamps inserted in PDF documents are " +#~ "not visible in PDF readers other than Okular." +#~ msgstr "" +#~ "eksperimentalna funkcija.Žigi, vstavljeni v dokumente PDF, " +#~ "niso vidni v drugih bralnikih PDF kot Okularju." + +#~ msgctxt "@info" +#~ msgid "" +#~ "The version of the Poppler library this Okular was compiled with does not " +#~ "support signing documents with passwords. Please ask your provider to " +#~ "update it to 22.02 or later." +#~ msgstr "" +#~ "Različica Poppler knjižnice v tem Okularju, ki je bila prevedena, ne " +#~ "podpira podpisovanje dokumentov z geslom. Prosite svojega ponudnika za " +#~ "nadgradnjo na 22.02 ali novejšo." + +#~ msgctxt "@title:window" +#~ msgid "Poppler library is too old" +#~ msgstr "Knjižnica Poppler je prestara" + +#~ msgctxt "@info" +#~ msgid "" +#~ "Stamps inserted in PDF documents are not visible in PDF readers other " +#~ "than Okular" +#~ msgstr "" +#~ "Žigi, vstavljeni v dokumente PDF, niso vidni v drugih bralnikih PDF razen " +#~ "v Okularju" + +#~ msgctxt "@title:window" +#~ msgid "Experimental feature" +#~ msgstr "Poskusna možnost" diff --git a/po/sl/okular_comicbook.po b/po/sl/okular_comicbook.po new file mode 100644 index 0000000..d054e30 --- /dev/null +++ b/po/sl/okular_comicbook.po @@ -0,0 +1,49 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Andrej Mernik , 2012, 2013. +# Matjaž Jeran , 2019, 2020. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-01-23 16:20+0100\n" +"Last-Translator: Matjaž Jeran \n" +"Language-Team: Slovenian \n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Translator: Andrej Mernik \n" +"X-Generator: Poedit 2.2.4\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Andrej Mernik,Matjaž Jeran" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "andrejm@ubuntu.si,matjaz.jeran@amis.net" + +#: document.cpp:97 +#, kde-format +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "" +"Ni bilo mogoče odpreti dokumenta, ker niti unrar nti unarchiver ni bil " +"najden." + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "Različica unrar na vašem sistemu ni primerna za odpiranje stripov." + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "Neznani format ComicBook." diff --git a/po/sl/okular_djvu.po b/po/sl/okular_djvu.po new file mode 100644 index 0000000..e2eb9e0 --- /dev/null +++ b/po/sl/okular_djvu.po @@ -0,0 +1,138 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Jure Repinc , 2010. +# Andrej Mernik , 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-06-04 10:45+0200\n" +"Last-Translator: \n" +"Language-Team: Slovenian \n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Translator: Andrej Mernik \n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" +"X-Generator: Poedit 2.3.1\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Jure Repinc" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "jlp@holodeck1.com" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "Urednik" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "Založnik" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "Knjiga" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "Vrsta dokumenta" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "Neznano" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "Sestavne datoteke" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "Neznana" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "Enojna stran" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "Združeno" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "Posredno" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "Združeno (staro)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "Indeksirano (staro)" + +#~ msgid "DjVu Backend" +#~ msgstr "Zaledje za DjVu" + +#~ msgid "DjVu backend based on DjVuLibre." +#~ msgstr "Zaledje za DjVu, ki temelji na DjVuLibre." + +#~ msgid "© 2006-2008 Pino Toscano" +#~ msgstr "© 2006-2008 Pino Toscano" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgctxt "Unknown title" +#~ msgid "Unknown" +#~ msgstr "Neznan" + +#~ msgctxt "Unknown author" +#~ msgid "Unknown" +#~ msgstr "Neznan" + +#~ msgctxt "Unknown editor" +#~ msgid "Unknown" +#~ msgstr "Neznan" + +#~ msgctxt "Unknown publisher" +#~ msgid "Unknown" +#~ msgstr "Neznan" + +#~ msgctxt "Unknown creation date" +#~ msgid "Unknown" +#~ msgstr "Neznan" + +#~ msgctxt "Unknown volume information" +#~ msgid "Unknown" +#~ msgstr "Neznana" + +#~ msgctxt "Unknown type of document" +#~ msgid "Unknown" +#~ msgstr "Neznana" diff --git a/po/sl/okular_dvi.po b/po/sl/okular_dvi.po new file mode 100644 index 0000000..24447e0 --- /dev/null +++ b/po/sl/okular_dvi.po @@ -0,0 +1,740 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Jure Repinc , 2008, 2009, 2013. +# Andrej Mernik , 2012, 2013, 2014. +msgid "" +msgstr "" +"Project-Id-Version: okular_dvi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-11 07:35+0200\n" +"Last-Translator: Matjaž Jeran \n" +"Language-Team: Slovenian \n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" +"Translator: Andrej Mernik \n" +"X-Generator: Poedit 3.6\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Uroš Manačinski,Jure Repinc,Andrej Mernik" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "uros.manacinski@gmail.com,jlp@holodeck1.com,andrejm@ubuntu.si" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

    Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

    Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

    " +msgstr "" +"

    Okular na računalniku ni našel programa dvipdfm. Ta program " +"je ključen za delovanje funkcije izvoza. Datoteko DVI lahko sicer pretvorite " +"v PDF s pomočjo funkcije tiskanja, vendar ta način pogosto ustvari " +"dokumente, ki se natisnejo v redu, a niso preveč dobre kakovosti za ogled v " +"programih. Priporočamo, da nadgradite različico distribucije TeX, tako da bo " +"na voljo program dvipdfm.

    Namig sistemskemu skrbniku: Okular " +"za iskanje programov uporablja okoljsko spremenljivko PATH.

    " + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Zunanji program »dvipdfm« ki je bil uporabljen za izvoz datoteke je " +"prijavil napako. Mogoče želite pogledati v Lastnosti dokumenta, ki jih najdete v meniju Datoteka. Tu mogoče najdete natančnejše " +"poročilo o napaki." + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" +"Ta datoteka DVI navaja zunanje grafične datoteke, ki pa niso v obliki " +"PostScript in zato program dvips, ki ga Okular uporablja za " +"tiskanje in izvoz v PostScript, z njimi ne zna rokovati. Zahtevana funkcija " +"zato v tej različici Okularja ni na voljo." + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

    Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

    Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

    " +msgstr "" +"

    Okular ni mogel najti programa dvips na vašem računalniku. " +"Ta program je nujno potreben za delovanje funkcije izvoz.

    Namig za " +"sistemskega skrbnika: Okular za iskanje programov uporablja okoljsko " +"spremenljivko PATH.

    " + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Zunanji program »dvips«, ki se je uporabil za izvoz datoteke, je javil " +"napako. Podrobnejše poročilo o napaki se morda nahaja v Lastnostih " +"dokumenta, ki so dosegljive iz menija Datoteka." + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "Datoteka DVI se ne začne z ustreznim uvodom." + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" +"Datoteka DVI za ta program vsebuje napačno različico izhoda DVI. Namig: če " +"uporabljate sistem Omega, morate uporabiti poseben program, npr. oxdvi." + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "" +"Datoteka DVI je močno pokvarjena. Okular ni mogel najti ustreznega zaključka." + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "Zaključek se ne začne z ukazom POST." + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "Zaključek vsebuje ukaz, ki ni FNTDEF." + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "Stran %1 se ne začne z ukazom BOP." + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

    The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

    What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

    PATH: %2

    " +msgstr "" +"

    Ni mogoče zagnati zunanjega programa pdf2ps. " +"Posledično datoteke PDF %1 ni bilo mogoče pretvoriti v PostScript. Nekateri " +"grafični predmeti iz dokumenta zato ne bodo prikazani.

    Mogoč razlog:" +" Program pdf2ps mogoče ni nameščen na računalniku, ali " +"pa ga ni mogoče najti v iskanih mapah.

    Kaj lahko storite: " +"Program pdf2ps je običajno del distribucije Ghostscript " +"sistema za tolmačenje PostScripta. Če Ghostscript ni nameščen, ga sedaj " +"lahko namestite. Če zagotovo veste, da je Ghostscript nameščen, poskusite " +"uporabiti pdf2ps iz ukazne vrstice in preverite, ali deluje." +"

    PATH: %2

    " + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

    The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

    %2

    " +msgstr "" +"

    Datoteke PDF %1 ni mogoče pretvoriti v PostScript. Nekateri grafični " +"elementi iz dokumenta zato ne bodo prikazani.

    Mogoč razlog: " +"Datoteka %1 je morda poškodovana, ali pa mogoče sploh ni datoteka PDF. To je " +"izpis programa pdf2ps, ki ga je uporabil Okular:

    %2

    " + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "Okvarjena datoteka. %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "V dokument ni bilo mogoče vstaviti vseh datotek PostScript. %1" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "Vse zunanje datoteke PostScript so bile vstavljene v vaš dokument." + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "Navedena datoteka '%1' ne obstaja." + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" +"Od Okularja ste zahtevali, da najde mesto v datoteki DVI, ki ustreza vrstici " +"%1 v datoteki TeX %2. Izgleda pa, da datoteka DVI ne vsebuje zahtevanih " +"podrobnosti o izvorni datoteki. " + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" +"Okular ni mogel najti mesta v datoteki DVI, ki ustreza vrstici %1 v datoteki " +"TeX %2." + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "Koda DVI je nastavila znak iz neznane pisave." + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "Koda DVI se nanaša na pisavo #%1, ki pa še ni bila določena." + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "Sklad ni bil prazen, ko je prišel na vrsto ukaz EOP." + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "Sklad je bil prazen, ko je prišel na vrsto ukaz POP." + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "Koda DVI se je navezovala na pisavo, ki prej še ni bila določena." + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "Okular je naletel na neveljaven ukaz." + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "Okular je naletel na neznano operacijsko kodo %1." + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "Vgrajevanje %1" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
    " +msgstr "" +"Stran %1: dokument PDF %2 ne more biti pretvorjen v " +"PostScript.
    " + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
    " +msgstr "Stran %1: datoteke PostScript %2 ni mogoče najti.
    " + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "Podatka o velikosti papirja »%1« ni mogoče razčleniti." + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

    Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

    PATH: %1

    %2

    " +msgstr "" +"

    Okular ni mogel najti vseh datotek s pisavami, ki so potrebne za " +"prikaz te datoteke DVI. Vašega dokumenta morda ne bo mogoče prebrati.

    PATH: %1

    %2

    " + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

    There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
    Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

    PATH: %1

    %2

    " +msgstr "" +"

    Med zaganjanjem kpsewhich je prišlo do težav. Zaradi tega ni " +"bilo mogoče najti nekaterih datotek s pisavami in zato bo vaš dokument morda " +"neberljiv.
    Mogoč vzrok: program kpsewhich morda ni nameščen ali " +"pa ga ni bilo mogoče najti v trenutni poti za iskanje.

    PATH:" +" %1

    %2

    " + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" +"Ustvarjanje pisav s kpsewhich je bilo prekinjeno (izhodna koda " +"%1, napaka %2). Posledično nekaterih datotek s pisavami ni bilo mogoče " +"najti, dokumenta pa morda ne bo mogoče prebrati." + +#: fontpool.cpp:482 +#, kde-format +msgid "Currently generating %1 at %2 dpi…" +msgstr "Trenutno ustvarjano %1 pri %2 točk/palec…" + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "Ustvarjalec/datum" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "Ni mogoče najti datoteke s pisavo" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "%1 × %2" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "%1 × %2 mm" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "%1 × %2 palcev" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "pokončno" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "ležeče" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" +"Različica GhostViewa, ki je nameščena na računalniku, ne vsebuje nobenih " +"gonilnikov za naprave, ki bi jih Okular poznal. Zato je bila Okularjeva " +"podpora za PostScript izklopljena." + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "To je 25 napak. Nadaljnja sporočila o napakah ne bodo izpisana." + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" +"Napaka v datoteki DVI »%1«, stran %2. Izdan je bil ukaz za odvzem barve s " +"sklada, vendar je sklad prazen." + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" +"Napačen parameter posebnega ukaza epsf.\n" +"V %2 je bilo pričakovano, da bo %1 sledilo število s plavajočo vejico" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"Datoteke ni bilo mogoče najti:\n" +" %1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" +"Napaka v datoteki DVI »%1«, stran %2. Ni bilo mogoče ugotoviti kota " +"zasukanega besedila." + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "Poseben ukaz »%1« ni podprt." + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" +"Datoteko s pisavo %1 je bilo mogoče odpreti in prebrati, vendar ta oblika " +"pisave še ni podprta." + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "" +"Datoteka s pisavo %1 je pokvarjena, ali pa je ni bilo mogoče odpreti oziroma " +"prebrati." + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" +"FreeType je med nastavljanjem velikosti znakov za datoteko s pisavo %1 javil " +"napako." + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "FreeType ni mogel naložiti pismenke #%1 iz datoteke s pisavo %2." + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "FreeType ne more izrisati pismenke #%1 iz datoteke s pisavo %2." + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "Pismenka #%1 je prazna." + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "Pismenka #%1 iz datoteke s pisavami %2 je prazna." + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "" +"FreeType ne more naložiti metrike za pismenko #%1 iz datoteke s pisavo %2." + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "Datoteke s pisavo %1 ni mogoče odpreti." + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "TexFont_PK::operator[]: znak %1 v pisavi %2 ni določen" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "Nepričakovan %1 v datoteki PK %2" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "Znak %1 je v datoteki %2 prevelik" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "Shranjeno je napačno število bitov: znak %1, pisava %2" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "Slaba datoteka pk (%1), preveč bitov" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "Pisava nima enake višine in širine " + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "Ni mogoče najti pisave %1, datoteke %2." + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "Neujemanje z nadzorno vsoto za datoteko s pisavo %1" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "Ni mogoče prepoznati vrste datoteke s pisavo %1" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"Usodna napaka.\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" +"\n" +"\n" +"To verjetno pomeni, da ste našli napako v Okularju,\n" +"ali pa da je datoteka DVI, oziroma dodatna datoteka\n" +"(npr. datoteka s pisavo), močno pokvarjena.\n" +"Okular bo po tem sporočilu prekinil opravilo. Če\n" +"menite, da ste našli napako, ali pa da bi se moral\n" +"Okular odzvati bolje, pošljite poročilo o napaki." + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "V seznamu makrov VF je bilo mogoče najti napačen bajt ukaza: %1" + +#~ msgid "" +#~ "

    The Ghostview program, which Okular uses internally to display the " +#~ "PostScript graphics that is included in this DVI file, is generally able " +#~ "to write its output in a variety of formats. The sub-programs that " +#~ "Ghostview uses for these tasks are called 'device drivers'; there is one " +#~ "device driver for each format that Ghostview is able to write. Different " +#~ "versions of Ghostview often have different sets of device drivers " +#~ "available. It seems that the version of Ghostview that is installed on " +#~ "this computer does not contain any of the device drivers " +#~ "that are known to Okular.

    It seems unlikely that a regular " +#~ "installation of Ghostview would not contain these drivers. This error may " +#~ "therefore point to a serious misconfiguration of the Ghostview " +#~ "installation on your computer.

    If you want to fix the problems with " +#~ "Ghostview, you can use the command gs --help to display " +#~ "the list of device drivers contained in Ghostview. Among others, Okular " +#~ "can use the 'png256', 'jpeg' and 'pnm' drivers. Note that Okular needs to " +#~ "be restarted to re-enable PostScript support.

    " +#~ msgstr "" +#~ "

    Program GhostView, ki ga uporablja Okular notranje za prikaz " +#~ "grafike PostScript, ki je vključena v ta dokument DVI, je splošno zmožen " +#~ "shraniti svoj izhod v različnih vrstah. Pod-programi, ki jih GhostView " +#~ "uporabi za takšne naloge so znani kot »gonilniki za naprave«. Za vsako " +#~ "vrsto, ki jo je GhostView zmožen izpisati, je na voljo en tak gonilnik. V " +#~ "različnih različicah GhostViewa so pogosto na voljo različni gonilniki. " +#~ "Kot kaže različica GhostViewa, ki je nameščena na tem računalniku, ne " +#~ "vsebuje nobenega gonilnika, ki bi ga Okular prepoznal.

    Neobičajno je, da namestitev GhostViewa ne bi vsebovala teh " +#~ "gonilnikov. Napaka morda kaže na resnejšo napako v namestitvi GhostViewa." +#~ "

    Če želite odpraviti težave z GhostView, lahko uporabite ukaz " +#~ "gs --help, ki prikaže seznam gonilnikov. Med drugimi " +#~ "Okular lahko uporablja gonilnike »png256«, »jpeg« in »pnm«. Da bi " +#~ "omogočili podporo za PostScript, morate znova zagnati Okular.

    " + +#~ msgid "DVI Backend" +#~ msgstr "Zaledje za DVI" + +#~ msgid "A DVI file renderer" +#~ msgstr "Izrisovalnik datotek DVI" + +#~ msgid "© 2006 Luigi Toscano" +#~ msgstr "© 2006 Luigi Toscano" + +#~ msgid "" +#~ "

    Okular relies on the kpsewhich program to locate font files on " +#~ "your hard disk and to generate PK fonts, if necessary.

    " +#~ msgstr "" +#~ "

    Okular se za iskanje pisav po trdem disku zanaša na program " +#~ "kpsewhich. Po potrebi ga uporablja tudi za ustvarjanje pisav PK." + +#~ msgid "Okular is currently generating bitmap fonts..." +#~ msgstr "Okular trenutno ustvarja bitne pisave ..." + +#~ msgid "Aborts the font generation. Do not do this." +#~ msgstr "Prekine ustvarjanje pisav. To ni priporočeno." + +#~ msgid "" +#~ "Okular is currently generating bitmap fonts which are needed to display " +#~ "your document. For this, Okular uses a number of external programs, such " +#~ "as MetaFont. You can find the output of these programs later in the " +#~ "document info dialog." +#~ msgstr "" +#~ "Okular trenutno ustvarja bitne pisave, ki so potrebne za prikaz vašega " +#~ "dokumenta. V ta namen Okular uporablja vrsto zunanjih programov, npr. " +#~ "MetaFont. Izhod teh programov si lahko kasneje ogledate v pogovornem oknu " +#~ "s podatki o dokumentu." + +#~ msgid "Okular is generating fonts. Please wait." +#~ msgstr "Okular ustvarja pisave. Počakajte." + +#~ msgid "Font Generation Progress Dialog" +#~ msgstr "Napredek ustvarjanja pisav" + +#~ msgid "Abort" +#~ msgstr "Prekini" + +#~ msgid "What is happening here?" +#~ msgstr "Kaj se tukaj dogaja?" + +#~ msgid "%v of %m" +#~ msgstr "%v od %m" + +#~ msgid "Please be patient" +#~ msgstr "Bodite potrpežljivi" + +#~ msgid "*.pdf|Portable Document Format (*.pdf)" +#~ msgstr "*.pdf|Prenosljiva vrsta dokumentov (*.pdf)" + +#~ msgid "Export File As" +#~ msgstr "Izvozi datoteko kot" + +#~ msgid "" +#~ "The file %1\n" +#~ "exists. Do you want to overwrite it?" +#~ msgstr "" +#~ "Datoteka %1\n" +#~ "že obstaja. Ali jo želite prepisati?" + +#~ msgid "Overwrite File" +#~ msgstr "Prepiši datoteko" + +#~ msgid "Overwrite" +#~ msgstr "Prepiši" + +#~ msgid "Using dvipdfm to export the file to PDF" +#~ msgstr "Uporabljam dvipdfm za izvoz datoteke v PDF" + +#~ msgid "" +#~ "Okular is currently using the external program 'dvipdfm' to convert your " +#~ "DVI-file to PDF. Sometimes that can take a while because dvipdfm needs to " +#~ "generate its own bitmap fonts Please be patient." +#~ msgstr "" +#~ "Okular trenutno uporablja zunanji program »dvipdfm« za pretvarjanje " +#~ "datoteke DVI v PDF. Včasih to lahko traja dlje časa, saj mora dvipdfm " +#~ "ustvariti lastne bitne pisave. Bodite potrpežljivi." + +#~ msgid "Waiting for dvipdfm to finish..." +#~ msgstr "Čakam dvipdfm da zaključi ..." + +#~ msgid "*.ps|PostScript (*.ps)" +#~ msgstr "*.ps|PostScript (*.ps)" + +#~ msgid "Using dvips to export the file to PostScript" +#~ msgstr "Uporabljam dvips za izvoz datoteke v PostScript" + +#~ msgid "" +#~ "Okular is currently using the external program 'dvips' to convert your " +#~ "DVI-file to PostScript. Sometimes that can take a while because dvips " +#~ "needs to generate its own bitmap fonts Please be patient." +#~ msgstr "" +#~ "Okular trenutno uporablja zunanji program »dvips« za pretvarjanje vaše " +#~ "datoteke DVI v PostScript. Včasih to lahko traja dlje zaradi tega, ker " +#~ "mora dvips ustvariti lastne bitne pisave. Bodite potrpežljivi." + +#~ msgid "Waiting for dvips to finish..." +#~ msgstr "Čakam da dvips konča ..." + +#~ msgid "Functionality Unavailable" +#~ msgstr "Funkcija ni na voljo" + +#~ msgid "" +#~ "File corruption Okular could not interpret your DVI " +#~ "file. This is most commonly caused by a corrupted file." +#~ msgstr "" +#~ "Pokvarjena datoteka Okular ne more tolmačiti vašega " +#~ "dokumenta DVI. To je največkrat posledica pokvarjene datoteke." + +#~ msgid "DVI File Error" +#~ msgstr "Napaka dokumenta DVI" + +#~ msgid "Not All Font Files Found" +#~ msgstr "Ni vseh datotek s pisavami" + +#~ msgid "Locating fonts..." +#~ msgstr "Iskanje pisav ..." + +#~ msgid "" +#~ "

    There were problems running kpsewhich. As a result, some font " +#~ "files could not be located, and your document might be unreadable.

    Possible reason: The kpsewhich program is perhaps not " +#~ "installed on your system, or it cannot be found in the current search " +#~ "path.

    What you can do: The kpsewhich program is normally " +#~ "contained in distributions of the TeX typesetting system. If TeX is not " +#~ "installed on your system, you could install the TeX Live distribution " +#~ "(www.tug.org/texlive). If you are sure that TeX is installed, please try " +#~ "to use the kpsewhich program from the command line to check if it really " +#~ "works.

    " +#~ msgstr "" +#~ "

    Prišlo je do težav med zaganjanjem kpsewhich. Posledično ni " +#~ "bilo mogoče najti nekaterih datotek s pisavami in dokumenta morda ne bo " +#~ "mogoče prebrati.

    Mogoč razlog: Program kpsewhich mogoče ni " +#~ "nameščen na tem računalniku, ali pa ga ni mogoče najti v iskanih mapah s " +#~ "programi.

    Kaj lahko storite: Program kpsewhich je običajno " +#~ "del distribucij sistema TeX. Če TeX še ni nameščen, lahko namestite " +#~ "distribucijo TeX Live (www.tug.org/texlive). Če ste prepričani, da je TeX " +#~ "že nameščen, poskusite zagnati kpsewhich iz ukazne vrstice in preverite, " +#~ "da deluje pravilno.

    " + +#~ msgid "Problem locating fonts" +#~ msgstr "Težava med iskanjem pisav" + +#~ msgid "Font generation aborted" +#~ msgstr "Ustvarjanje pisav prekinjeno" + +#~ msgid "Export: %1 to PDF" +#~ msgstr "Izvoz: %1 v PDF" + +#~ msgid "Export: %1 to PostScript" +#~ msgstr "Izvoz: %1 v PostScript" diff --git a/po/sl/okular_epub.po b/po/sl/okular_epub.po new file mode 100644 index 0000000..28f7d8e --- /dev/null +++ b/po/sl/okular_epub.po @@ -0,0 +1,56 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Andrej Mernik , 2012, 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-10-11 18:08+0200\n" +"Last-Translator: Andrej Mernik \n" +"Language-Team: Slovenian \n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Andrej Mernik" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "andrejm@ubuntu.si" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "Napaka med odpiranjem dokumenta EPub." + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "EPub" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "Nastavitev zaledja za EPub" + +#~ msgid "EPub Backend" +#~ msgstr "Zaledje za EPub" + +#~ msgid "An EPub backend" +#~ msgstr "Zaledje za EPub" + +#~ msgid "© 2008 Ely Levy" +#~ msgstr "© 2008 Ely Levy" + +#~ msgid "Ely Levy" +#~ msgstr "Ely Levy" diff --git a/po/sl/okular_fax.po b/po/sl/okular_fax.po new file mode 100644 index 0000000..fdc2799 --- /dev/null +++ b/po/sl/okular_fax.po @@ -0,0 +1,47 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Jure Repinc , 2010. +# Andrej Mernik , 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-05-24 17:30+0200\n" +"Last-Translator: Andrej Mernik \n" +"Language-Team: Slovenian \n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" +"X-Generator: Lokalize 1.5\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Jure Repinc" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "jlp@holodeck1.com" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "Dokumenta ni moč naložiti" + +#~ msgid "Fax Backend" +#~ msgstr "Zaledje za faks" + +#~ msgid "A G3/G4 fax document backend" +#~ msgstr "Zaledje za dokumenta faksa G3/G4" + +#~ msgid "© 2008 Tobias Koenig" +#~ msgstr "© 2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/sl/okular_fictionbook.po b/po/sl/okular_fictionbook.po new file mode 100644 index 0000000..ee0f186 --- /dev/null +++ b/po/sl/okular_fictionbook.po @@ -0,0 +1,81 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Andrej Mernik , 2012, 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-05-24 17:49+0200\n" +"Last-Translator: Andrej Mernik \n" +"Language-Team: Slovenian \n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Andrej Mernik" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "andrejm@ubuntu.si" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "Dokument ni veljaven FictionBook" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "Ni bilo mogoče odpreti dokumenta: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "Dokument ni veljaven arhiv ZIP" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "Neveljavna zgradba dokumenta (manjka glavna mapa)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "V dokumentu ni bilo najdene vsebine" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "Neveljaven dokument XML: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "FictionBook" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "Nastavitev zaledja za FictionBook" + +#~ msgid "Fiction Book Backend" +#~ msgstr "Zaledje za FictionBook" + +#~ msgid "A renderer for FictionBook eBooks" +#~ msgstr "Izrisovalnik za e-knjige FictionBook" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/sl/okular_ghostview.po b/po/sl/okular_ghostview.po new file mode 100644 index 0000000..a029362 --- /dev/null +++ b/po/sl/okular_ghostview.po @@ -0,0 +1,93 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Jure Repinc , 2008, 2009. +# Andrej Mernik , 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_ghostview\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-11-17 10:08+0100\n" +"Last-Translator: Andrej Mernik \n" +"Language-Team: Slovenian \n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Jure Repinc" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "jlp@holodeck1.com" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "Uporabi sistemske pisave" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"Določa, ali Ghostscript lahko uporablja sistemske pisave. V nasprotnem " +"primeru je dovoljena samo uporaba pisav, ki so vgrajene v dokument." + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "Splošne nastavitve" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "&Uporabi sistemske pisave" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Nastavitev zaledja Ghostscript" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "Različica dokumenta" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "Stopnja jezika" + +#~ msgid "PS Backend" +#~ msgstr "Zaledje za PS" + +#~ msgid "A PostScript file renderer." +#~ msgstr "Izrisovalnik datotek PostScript" + +#~ msgid "© 2007-2008 Albert Astals Cid" +#~ msgstr "© 2007-2008 Albert Astals Cid" + +#~ msgid "Based on the Spectre library." +#~ msgstr "Temelji na knjižnici Spectre" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" diff --git a/po/sl/okular_kimgio.po b/po/sl/okular_kimgio.po new file mode 100644 index 0000000..bb3c5ea --- /dev/null +++ b/po/sl/okular_kimgio.po @@ -0,0 +1,71 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Jure Repinc , 2008, 2010. +# Andrej Mernik , 2013, 2018. +msgid "" +msgstr "" +"Project-Id-Version: okular_kimgio\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2018-01-14 10:31+0100\n" +"Last-Translator: Andrej Mernik \n" +"Language-Team: Slovenian \n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 2.0\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Jure Repinc, Andrej Mernik" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "jlp@holodeck1.com,andrejm@ubuntu.si" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "Ni bilo mogoče naložiti dokumenta: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" +"Ta dokument izgleda napačno oblikovan. To je najboljši približek " +"najverjetnejšega videza dokumenta." + +#~ msgid "Image Backend" +#~ msgstr "Zaledje za slike" + +#~ msgid "A simple image backend" +#~ msgstr "Preprosto zaledje za slike" + +#~ msgid "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" +#~ msgstr "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" + +#~ msgid "Main Toolbar" +#~ msgstr "Glavna orodna vrstica" diff --git a/po/sl/okular_markdown.po b/po/sl/okular_markdown.po new file mode 100644 index 0000000..2cbe7a4 --- /dev/null +++ b/po/sl/okular_markdown.po @@ -0,0 +1,57 @@ +# Slovenian translation of Okular-markdown +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Andrej Mernik , 2018. +# Matjaž Jeran , 2019. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-01-23 16:20+0100\n" +"Last-Translator: Matjaž Jeran \n" +"Language-Team: Slovenian \n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Translator: Andrej Mernik \n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" +"X-Generator: Poedit 2.2.4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Andrej Mernik,Matjaž Jeran" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "andrejm@ubuntu.si,matjaz.jeran@amis.net" + +#: converter.cpp:59 converter.cpp:93 +#, kde-format +msgid "Failed to open the document" +msgstr "Ni bilo mogoče odpreti dokumenta" + +#: converter.cpp:106 converter.cpp:124 +#, kde-format +msgid "Failed to compile the Markdown document." +msgstr "Ni bilo mogoče prevesti dokumenta Markdown." + +#: generator_md.cpp:58 +#, kde-format +msgid "Enable SmartyPants formatting" +msgstr "Omogoči formatiranje SmartyPants" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown" +msgstr "Markdown" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown Backend Configuration" +msgstr "Nastavitve zaledja za Markdown" diff --git a/po/sl/okular_mobi.po b/po/sl/okular_mobi.po new file mode 100644 index 0000000..cead833 --- /dev/null +++ b/po/sl/okular_mobi.po @@ -0,0 +1,63 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Andrej Mernik , 2012, 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-05-24 17:49+0200\n" +"Last-Translator: Andrej Mernik \n" +"Language-Team: Slovenian \n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Andrej Mernik" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "andrejm@ubuntu.si" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Napaka med odpiranjem dokumenta Mobipocket." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "" +"Ta knjiga je zaščitena z DRM in se lahko prikaže le na določeni napravi" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "Mobipocket" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "Nastavitev zaledja za Mobipocket" + +#~ msgid "Mobipocket Backend" +#~ msgstr "Zaledje za Mobipocket" + +#~ msgid "A mobipocket backend" +#~ msgstr "Zaledje za Mobipocket" + +#~ msgid "© 2008-2009 Jakub Stachowski" +#~ msgstr "© 2008-2009 Jakub Stachowski" + +#~ msgid "Jakub Stachowski" +#~ msgstr "Jakub Stachowski" diff --git a/po/sl/okular_poppler.po b/po/sl/okular_poppler.po new file mode 100644 index 0000000..6e839df --- /dev/null +++ b/po/sl/okular_poppler.po @@ -0,0 +1,437 @@ +# Slovenian translation of Okular-poppler +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Jure Repinc , 2008, 2010, 2012, 2013. +# Andrej Mernik , 2013. +# Matjaž Jeran , 2019, 2020, 2021, 2023. +msgid "" +msgstr "" +"Project-Id-Version: okular_poppler\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-10 07:34+0200\n" +"Last-Translator: Matjaž Jeran \n" +"Language-Team: Slovenian \n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" +"Translator: Andrej Mernik \n" +"X-Generator: Poedit 3.6\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Jure Repinc,Andrej Mernik,Matjaž Jeran" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "jlp@holodeck1.com,andrejm@ubuntu.si,matjaz.jeran@amis.net" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "Omogoči predogled pretiska:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "Nikoli" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "Vedno" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "Samodejno" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "Okrepi tanke črte:" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "Ne" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "Neprekinjeno" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "Oblika" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "Privzeti način lestvičenja pri tiskanju:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "Prilagodi prostoru za tisk" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "Prilagodi na celotno stran" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "Brez prilagoditve, tiskaj izvirno velikost" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" +"Omogočanje te možnosti bo dovolil Okularju, stik do strežnikov OCSP tretjih " +"strank za preverjanje, ali so bili certifikati, ki se uporabljajo za " +"digitalno podpisovanje preklicani po njihovi tvorbi." + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" +"Preveri preklic certifikatov digitalnih podpisov s pomočjo strežnikov tretje " +"stranke" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "Zaledje podpisovanja:" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" +"Te podpise lahko potrdijo le sodobni uporabniki Okularja z aktiviranim " +"zaledjem GnuPG" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "Dovoli ključe PGP za podpise (razširitev Okularja)" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "Zbirka potrdil" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "Privzeto:" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "Po meri:" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "Razpoložljiva potrdila" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "Naloži podpise" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "Možnosti za PDF" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "Natisni zabeležke" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "Vključi zabeležke v natisnjen dokument" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"Vključi zabeležke v natisnjen dokument. Izključite to možnost, če želite " +"natisniti izvirni dokument brez zabeležk." + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "Vsili rasterizacijo" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "Pred tiskanjem rasteriziraj v sliko" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"Pred tiskanjem vsake strani se vsili rasterizacija strani v sliko. Kakovost " +"izpisa je sicer nekoliko slabša, vendar lahko pomaga pri dokumentih, ki se " +"ne natisnejo pravilno." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "Način povečanja tiskanih strani" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "Način lestvice:" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF verzije %1.%2" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "Oblika" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "Šifriran" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "Nešifriran" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "Varnost" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "Da" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "Optimiziran" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Podpisal: %1\n" +"\n" +"Datum: %2" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "Uporabi Poppler %1" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" +"Uporabljamo Poppler %1\n" +"\n" +"prevedeno za Poppler %2" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "Nastavitve zaledja za PDF" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "Zapisovanje začasne datoteke ni uspelo" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "Preimenovanje začasne datoteke ni uspelo" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" +"Najdeno je nekaj napak v dokumentu zaradi katerih Okular morda ne bo mogel " +"korektno prikazati vsebine" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" +"Ti podpisi delujejo samo med sodobnimi različicami Okularja z aktiviranim " +"zaledjem, ki temelji na GnuPG" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "Omogoči podpise PGP" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "Izdan za" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "E-pošta" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "Datum poteka" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" +"Uporabljate knjižnico Poppler, zgrajeno brez podpore za NSS.\n" +"Dodajanje digitalnih podpisov zaradi tega ni na voljo" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "za vedno" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "Potreben ponovni zagon" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "Po spremembi nastavitev imenika NSS morate ponovno zagnati Okular" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter Password" +msgstr "Vnesite geslo" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "Vnesite geslo za odprtje %1:" + +#~ msgid "Not Available" +#~ msgstr "Ni na voljo" + +#~ msgid "PDF Certificates" +#~ msgstr "Potrdila PDF" + +#~ msgid "PDF Digital Signature Certificates" +#~ msgstr "Potrdila digitalnih podpisov PDF" + +#~ msgid "PDF Backend" +#~ msgstr "Zaledje za PDF" + +#~ msgid "A PDF file renderer" +#~ msgstr "Izrisovalnik datotek PDF" + +#~ msgid "© 2005-2008 Albert Astals Cid" +#~ msgstr "© 2005-2008 Albert Astals Cid" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Saving files with /Encrypt is not supported." +#~ msgstr "Shranjevanje datotek z /Encrypt ni podprto." + +#~ msgid "Unknown" +#~ msgstr "Neznano" + +#~ msgid "Unknown Date" +#~ msgstr "Neznan datum" + +#~ msgid "Unknown Encryption" +#~ msgstr "Neznano šifriranje" + +#~ msgid "Unknown Optimization" +#~ msgstr "Neznana optimizacija" + +#~ msgid "Please enter the password to read the document:" +#~ msgstr "Pred branjem dokumenta je potrebno vnesti geslo:" + +#~ msgid "Incorrect password. Try again:" +#~ msgstr "Napačno geslo. Poskusite znova:" diff --git a/po/sl/okular_tiff.po b/po/sl/okular_tiff.po new file mode 100644 index 0000000..04e1e8d --- /dev/null +++ b/po/sl/okular_tiff.po @@ -0,0 +1,29 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Matjaž Jeran , 2020. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-07-18 17:31+0200\n" +"Last-Translator: Matjaž Jeran \n" +"Language-Team: Slovenian \n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 19.12.2\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Matjaž Jeran" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "matjaz.jeran@amis.net" diff --git a/po/sl/okular_txt.po b/po/sl/okular_txt.po new file mode 100644 index 0000000..8c78d67 --- /dev/null +++ b/po/sl/okular_txt.po @@ -0,0 +1,51 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Andrej Mernik , 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-01-23 16:20+0100\n" +"Last-Translator: Matjaž Jeran \n" +"Language-Team: Slovenian \n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" +"X-Generator: Poedit 2.2.4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Andrej Mernik" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "andrejm@ubuntu.si" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "Txt" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "Nastavitve zaledja za Txt" + +#~ msgid "Txt Backend" +#~ msgstr "Zaledje za txt" + +#~ msgid "Txt backend." +#~ msgstr "Zaledje za txt." + +#~ msgid "© 2013 Azat Khuzhin" +#~ msgstr "© 2013 Azat Khuzhin" + +#~ msgid "Azat Khuzhin" +#~ msgstr "Azat Khuzhin" diff --git a/po/sl/okular_xps.po b/po/sl/okular_xps.po new file mode 100644 index 0000000..8e3112a --- /dev/null +++ b/po/sl/okular_xps.po @@ -0,0 +1,58 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Andrej Mernik , 2012, 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-05-24 17:29+0200\n" +"Last-Translator: Andrej Mernik \n" +"Language-Team: Slovenian \n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Andrej Mernik" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "andrejm@ubuntu.si" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "Predelava" + +#~ msgid "XPS Backend" +#~ msgstr "Zaledje za XPS" + +#~ msgid "An XPS backend" +#~ msgstr "Zaledje za XPS" + +#~ msgid "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" +#~ msgstr "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" + +#~ msgid "Brad Hards" +#~ msgstr "Brad Hards" + +#~ msgid "Jiri Klement" +#~ msgstr "Jiri Klement" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" diff --git a/po/sl/org.kde.active.documentviewer.po b/po/sl/org.kde.active.documentviewer.po new file mode 100644 index 0000000..dac372e --- /dev/null +++ b/po/sl/org.kde.active.documentviewer.po @@ -0,0 +1,212 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Jure Repinc , 2013. +# Andrej Mernik , 2013, 2016. +# Matjaž Jeran , 2019, 2020, 2022. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-29 06:47+0200\n" +"Last-Translator: Matjaž Jeran \n" +"Language-Team: Slovenian \n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" +"Translator: Andrej Mernik \n" +"X-Generator: Poedit 3.6\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "Zaznamki" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "Pregledovalnik potrdil" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "Izdajatelj" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "Splošno ime:" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "E-naslov:" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "Organizacija:" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "Izdano za" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "Veljavnost" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "Izdano:" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "Preteče:" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "Prstni odtisi" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "Prstni odtis SHA-1:" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "Prstni odtis SHA-256:" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +msgid "Export…" +msgstr "Izvozi…" + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "Zapri" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "Datoteka potrdila (*.cer)" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "Napaka" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "Potrdila ni bilo mogoče izvoziti." + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "Okular" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "Odpri…" + +#: ui/Main.qml:49 +msgid "About" +msgstr "O programu" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "Potrebno geslo" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "Odstrani zaznamek" + +#: ui/MainView.qml:29 +msgid "Bookmark this page" +msgstr "Zaznamuj to stran" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "Sličice" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "Kazalo vsebine" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "Podpisi" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "Lastnosti podpisa" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "Stanje veljavnosti" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "Veljavnost podpisa:" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "Spremembe dokumenta:" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "Dodatne informacije" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "Podpisal:" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "Čas podpisovanja:" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "Razlog:" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "Mesto:" + +#: ui/SignaturePropertiesPage.qml:96 +msgid "Document Version" +msgstr "Različica dokumenta" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Revizija dokumenta %1 od %2" + +#: ui/SignaturePropertiesPage.qml:108 +msgid "Save Signed Version…" +msgstr "Shrani podpisano različico…" + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +msgid "View Certificate…" +msgstr "Poglej potrdilo…" + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "Podpisa ni bilo mogoče shraniti." + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "Ni na voljo" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "Ni najdenih rezultatov." + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "Ni odprtih dokumentov" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "Nedavni dokumenti" + +#: ui/WelcomeView.qml:108 +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "Moji dokumenti" + +#~ msgid "Open..." +#~ msgstr "Odpri ..." diff --git a/po/sq/okular_comicbook.po b/po/sq/okular_comicbook.po new file mode 100644 index 0000000..fc5b5c6 --- /dev/null +++ b/po/sq/okular_comicbook.po @@ -0,0 +1,61 @@ +# Albanian translation for kdegraphics +# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 +# This file is distributed under the same license as the kdegraphics package. +# FIRST AUTHOR , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: kdegraphics\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-04-30 21:47+0000\n" +"Last-Translator: Vilson Gjeci \n" +"Language-Team: Albanian \n" +"Language: sq\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2011-04-22 06:05+0000\n" +"X-Generator: Launchpad (build 12883)\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "KDE Shqip, Launchpad Contributions: Vilson Gjeci" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde-shqip@yahoogroups.com,vilsongjeci@gmail.com" + +#: document.cpp:97 +#, fuzzy, kde-format +#| msgid "Cannot open document, unrar was not found." +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "Nuk mund ta hap dokumentin, unrar nuk u gjet." + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "" +"Versioni i unrar në sistemin tuaj nuk është i përshtatshëm për të hapur " +"librat komikë." + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "Format i panjohur i librave komikë." + +#~ msgid "ComicBook Backend" +#~ msgstr "ComicBook Backend" + +#~ msgid "A renderer for various comic book formats" +#~ msgstr "Një lexues i formateve të ndryshme të librave komikë" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/sq/okular_djvu.po b/po/sq/okular_djvu.po new file mode 100644 index 0000000..c2dac97 --- /dev/null +++ b/po/sq/okular_djvu.po @@ -0,0 +1,137 @@ +# Albanian translation for kdegraphics +# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 +# This file is distributed under the same license as the kdegraphics package. +# FIRST AUTHOR , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: kdegraphics\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-04-30 23:46+0000\n" +"Last-Translator: Vilson Gjeci \n" +"Language-Team: Albanian \n" +"Language: sq\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2011-04-22 09:41+0000\n" +"X-Generator: Launchpad (build 12883)\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "KDE Shqip, Launchpad Contributions: Vilson Gjeci" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde-shqip@yahoogroups.com,vilsongjeci@gmail.com" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "Editori" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "Publikuesi" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "Volumi" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "Lloji i dokumentit" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "I Panjohur" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "Skedarët Përbërës" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "I Panjohur" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "Faqe e Vetme" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "I Bashkangjitur" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "Indirekt" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "I Bashkangjitur (i vjetër)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "I Indeksuar (i vjetër)" + +#~ msgid "DjVu Backend" +#~ msgstr "DjVu Backend" + +#~ msgid "DjVu backend based on DjVuLibre." +#~ msgstr "DjVu backend i bazuar në DjVuLibre." + +#~ msgid "© 2006-2008 Pino Toscano" +#~ msgstr "© 2006-2008 Pino Toscano" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgctxt "Unknown title" +#~ msgid "Unknown" +#~ msgstr "I Panjohur" + +#~ msgctxt "Unknown author" +#~ msgid "Unknown" +#~ msgstr "I Panjohur" + +#~ msgctxt "Unknown editor" +#~ msgid "Unknown" +#~ msgstr "I Panjohur" + +#~ msgctxt "Unknown publisher" +#~ msgid "Unknown" +#~ msgstr "I Panjohur" + +#~ msgctxt "Unknown creation date" +#~ msgid "Unknown" +#~ msgstr "I Panjohur" + +#~ msgctxt "Unknown volume information" +#~ msgid "Unknown" +#~ msgstr "I Panjohur" + +#~ msgctxt "Unknown type of document" +#~ msgid "Unknown" +#~ msgstr "I Panjohur" diff --git a/po/sq/okular_dvi.po b/po/sq/okular_dvi.po new file mode 100644 index 0000000..fc602f3 --- /dev/null +++ b/po/sq/okular_dvi.po @@ -0,0 +1,487 @@ +# Albanian translation for kdegraphics +# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 +# This file is distributed under the same license as the kdegraphics package. +# FIRST AUTHOR , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: kdegraphics\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-10-21 12:34+0000\n" +"Last-Translator: Vilson Gjeci \n" +"Language-Team: Albanian \n" +"Language: sq\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2011-04-22 09:42+0000\n" +"X-Generator: Launchpad (build 12883)\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "KDE Shqip, Launchpad Contributions: Vilson Gjeci" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde-shqip@yahoogroups.com,vilsongjeci@gmail.com" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

    Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

    Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

    " +msgstr "" + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

    Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

    Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

    " +msgstr "" + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "" + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "" + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "" + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "" + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "" + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

    The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

    What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

    PATH: %2

    " +msgstr "" + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

    The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

    %2

    " +msgstr "" + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "" + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "" + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "" + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "" + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "" + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "" + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "" + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "" + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "" + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
    " +msgstr "" + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
    " +msgstr "" + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "" + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

    Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

    PATH: %1

    %2

    " +msgstr "" + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

    There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
    Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

    PATH: %1

    %2

    " +msgstr "" + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" + +#: fontpool.cpp:482 +#, kde-format +msgid "Currently generating %1 at %2 dpi…" +msgstr "" + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "portret" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "peisazh" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "" + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "" + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "" + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "" + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "" + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "" + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "" + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "" + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "" + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "" + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "" + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "" + +#~ msgid "© 2006 Luigi Toscano" +#~ msgstr "© 2006 Luigi Toscano" + +#~ msgid "Abort" +#~ msgstr "Anullo" + +#~ msgid "What is happening here?" +#~ msgstr "Çfarë po ndodh këtu?" + +#~ msgid "%v of %m" +#~ msgstr "%v e %m" + +#~ msgid "*.pdf|Portable Document Format (*.pdf)" +#~ msgstr "*.pdf|Portable Document Format (*.pdf)" + +#~ msgid "Overwrite File" +#~ msgstr "Mbishkruaje Skedarin" + +#~ msgid "Overwrite" +#~ msgstr "Mbishkruaje" + +#~ msgid "*.ps|PostScript (*.ps)" +#~ msgstr "*.ps|PostScript (*.ps)" diff --git a/po/sq/okular_epub.po b/po/sq/okular_epub.po new file mode 100644 index 0000000..23228e8 --- /dev/null +++ b/po/sq/okular_epub.po @@ -0,0 +1,58 @@ +# Albanian translation for kdegraphics +# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 +# This file is distributed under the same license as the kdegraphics package. +# FIRST AUTHOR , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: kdegraphics\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-05-01 02:44+0000\n" +"Last-Translator: Vilson Gjeci \n" +"Language-Team: Albanian \n" +"Language: sq\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2011-04-22 06:16+0000\n" +"X-Generator: Launchpad (build 12883)\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "KDE Shqip, Launchpad Contributions: Vilson Gjeci" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde-shqip@yahoogroups.com,vilsongjeci@gmail.com" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "Gabim gjatë hapjes së dokumentit EPub." + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "" + +#: generator_epub.cpp:30 +#, fuzzy, kde-format +#| msgid "EPub Backend" +msgid "EPub Backend Configuration" +msgstr "EPub Backend" + +#~ msgid "EPub Backend" +#~ msgstr "EPub Backend" + +#~ msgid "An EPub backend" +#~ msgstr "Një EPub backend" + +#~ msgid "© 2008 Ely Levy" +#~ msgstr "© 2008 Ely Levy" + +#~ msgid "Ely Levy" +#~ msgstr "Ely Levy" diff --git a/po/sq/okular_fax.po b/po/sq/okular_fax.po new file mode 100644 index 0000000..e04daf3 --- /dev/null +++ b/po/sq/okular_fax.po @@ -0,0 +1,47 @@ +# Albanian translation for kdegraphics +# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 +# This file is distributed under the same license as the kdegraphics package. +# FIRST AUTHOR , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: kdegraphics\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-05-01 02:56+0000\n" +"Last-Translator: Vilson Gjeci \n" +"Language-Team: Albanian \n" +"Language: sq\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2011-04-22 09:44+0000\n" +"X-Generator: Launchpad (build 12883)\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "KDE Shqip, Launchpad Contributions: Vilson Gjeci" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde-shqip@yahoogroups.com,vilsongjeci@gmail.com" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "Nuk jemi në gjendje të ngarkojmë dokumentin" + +#~ msgid "Fax Backend" +#~ msgstr "Fax Backend" + +#~ msgid "A G3/G4 fax document backend" +#~ msgstr "Një G3/G4 fax dokument backend" + +#~ msgid "© 2008 Tobias Koenig" +#~ msgstr "© 2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/sq/okular_fictionbook.po b/po/sq/okular_fictionbook.po new file mode 100644 index 0000000..2bcfb97 --- /dev/null +++ b/po/sq/okular_fictionbook.po @@ -0,0 +1,84 @@ +# Albanian translation for kdegraphics +# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 +# This file is distributed under the same license as the kdegraphics package. +# FIRST AUTHOR , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: kdegraphics\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-05-01 03:03+0000\n" +"Last-Translator: Vilson Gjeci \n" +"Language-Team: Albanian \n" +"Language: sq\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2011-04-22 09:44+0000\n" +"X-Generator: Launchpad (build 12883)\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "KDE Shqip, Launchpad Contributions: Vilson Gjeci" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde-shqip@yahoogroups.com,vilsongjeci@gmail.com" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "Dokumenti nuk është një FictionBook i vlefshëm" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "Nuk jemi në gjendje të hapim dokumentin: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "Dokumenti nuk është një arkiv ZIP i vlefshëm" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "Strukturë e pavlefshme e dokumentit (direktoria kryesore mungon)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "Nuk u gjet përmbajtje në dokument" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "Dokument i pavlefshëm XML: %1" + +#: generator_fb.cpp:26 +#, fuzzy, kde-format +#| msgid "Fiction Book Backend" +msgid "FictionBook" +msgstr "Libër Thriller Backend" + +#: generator_fb.cpp:26 +#, fuzzy, kde-format +#| msgid "Fiction Book Backend" +msgid "FictionBook Backend Configuration" +msgstr "Libër Thriller Backend" + +#~ msgid "Fiction Book Backend" +#~ msgstr "Libër Thriller Backend" + +#~ msgid "A renderer for FictionBook eBooks" +#~ msgstr "Një lexues për FictionBook eBooks" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/sq/okular_ghostview.po b/po/sq/okular_ghostview.po new file mode 100644 index 0000000..93cb40e --- /dev/null +++ b/po/sq/okular_ghostview.po @@ -0,0 +1,95 @@ +# Albanian translation for kdegraphics +# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 +# This file is distributed under the same license as the kdegraphics package. +# FIRST AUTHOR , 2009. +# +# SPDX-FileCopyrightText: 2023 Agron Selimaj +msgid "" +msgstr "" +"Project-Id-Version: kdegraphics\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2023-12-13 17:29-0500\n" +"Last-Translator: Agron Selimaj \n" +"Language-Team: sq\n" +"Language: sq\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2011-04-22 09:51+0000\n" +"X-Generator: Lokalize 23.08.4\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "KDE Shqip, Launchpad Contributions: Vilson Gjeci" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde-i18n-sq@kde.org,vilsongjeci@gmail.com" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "Përdor Gërmat e Platformës" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"Përcakton nëse Ghostscript duhet të lejohet të përdorë gërmat e platformës, " +"nëse nuk është e vërtetë vetëm përdorimi i gërmave të bashkangjitura me " +"dokumentin do të lejohet." + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "Parametrat e Përgjithshëm" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "&Përdor gërmat e platformës" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Konfigurimi i Ghostscript Backend" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "Versioni i dokumentit" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "Niveli i Gjuhës" + +#~ msgid "PS Backend" +#~ msgstr "PS Backend" + +#~ msgid "A PostScript file renderer." +#~ msgstr "Një hapës i skedarëve PostScript." + +#~ msgid "© 2007-2008 Albert Astals Cid" +#~ msgstr "© 2007-2008 Albert Astals Cid" + +#~ msgid "Based on the Spectre library." +#~ msgstr "Bazuar në Librarinë Spektër." + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" diff --git a/po/sq/okular_kimgio.po b/po/sq/okular_kimgio.po new file mode 100644 index 0000000..3335dae --- /dev/null +++ b/po/sq/okular_kimgio.po @@ -0,0 +1,69 @@ +# Albanian translation for kdegraphics +# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 +# This file is distributed under the same license as the kdegraphics package. +# FIRST AUTHOR , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: kdegraphics\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-02-05 03:54+0000\n" +"Last-Translator: Vilson Gjeci \n" +"Language-Team: Albanian \n" +"Language: sq\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2011-04-22 09:46+0000\n" +"X-Generator: Launchpad (build 12883)\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "KDE Shqip, Launchpad Contributions: Vilson Gjeci" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde-shqip@yahoogroups.com,vilsongjeci@gmail.com" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "Nuk jemi në gjendje të ngarkojmë dokumentin: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" + +#~ msgid "Image Backend" +#~ msgstr "Mbështetje Imazhi" + +#~ msgid "A simple image backend" +#~ msgstr "Një mbështetje e thjeshtë imazhi" + +#~ msgid "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" +#~ msgstr "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" + +#~ msgid "Main Toolbar" +#~ msgstr "Shiriti Kryesor" diff --git a/po/sq/okular_mobi.po b/po/sq/okular_mobi.po new file mode 100644 index 0000000..70474f8 --- /dev/null +++ b/po/sq/okular_mobi.po @@ -0,0 +1,67 @@ +# Albanian translation for kdegraphics +# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 +# This file is distributed under the same license as the kdegraphics package. +# FIRST AUTHOR , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: kdegraphics\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-08-31 14:01+0000\n" +"Last-Translator: Vilson Gjeci \n" +"Language-Team: Albanian \n" +"Language: sq\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2011-04-22 09:46+0000\n" +"X-Generator: Launchpad (build 12883)\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "KDE Shqip, Launchpad Contributions: Vilson Gjeci" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde-shqip@yahoogroups.com,vilsongjeci@gmail.com" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Gabim gjatë hapjes së dokumentit Mobipocket." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "" +"Ky libër është i mbrojtur me DRM dhe mund të luhet vetëm në pajisjet e " +"përzgjedhura" + +#: generator_mobi.cpp:25 +#, fuzzy, kde-format +#| msgid "Mobipocket Backend" +msgid "Mobipocket" +msgstr "Mobipocket Backend" + +#: generator_mobi.cpp:25 +#, fuzzy, kde-format +#| msgid "Mobipocket Backend" +msgid "Mobipocket Backend Configuration" +msgstr "Mobipocket Backend" + +#~ msgid "Mobipocket Backend" +#~ msgstr "Mobipocket Backend" + +#~ msgid "A mobipocket backend" +#~ msgstr "Një mobipocket backend" + +#~ msgid "© 2008-2009 Jakub Stachowski" +#~ msgstr "© 2008-2009 Jakub Stachowski" + +#~ msgid "Jakub Stachowski" +#~ msgstr "Jakub Stachowski" diff --git a/po/sq/okular_poppler.po b/po/sq/okular_poppler.po new file mode 100644 index 0000000..958394c --- /dev/null +++ b/po/sq/okular_poppler.po @@ -0,0 +1,408 @@ +# Albanian translation for kdegraphics +# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 +# This file is distributed under the same license as the kdegraphics package. +# FIRST AUTHOR , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: kdegraphics\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-09-11 12:44+0000\n" +"Last-Translator: Vilson Gjeci \n" +"Language-Team: Albanian \n" +"Language: sq\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2011-04-22 09:50+0000\n" +"X-Generator: Launchpad (build 12883)\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "KDE Shqip, Launchpad Contributions: Vilson Gjeci" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde-shqip@yahoogroups.com,vilsongjeci@gmail.com" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "Jo" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "Opsionet PDF" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "Detyro sheshimin" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "Sheshoje imazhin para printimit" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"Bën që çdo faqe të kthehet në nj imazh para se të printohet. Kjo zakonisht " +"jep rezultate me cilësi më të dobët, por duhet kur printohen dokumenta që " +"dalin në mënyrë jo korrekte." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "" + +#: generator_pdf.cpp:1031 +#, fuzzy, kde-format +#| msgctxt "PDF v. " +#| msgid "PDF v. %1" +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF v. %1" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "Formati" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "I Kriptuar" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "Jo i Kriptuar" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "Siguria" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "Po" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "I Përmirësuar" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "" + +#: generator_pdf.cpp:1758 +#, fuzzy, kde-format +#| msgid "PDF Backend" +msgid "PDF Backend Configuration" +msgstr "PDF Backend" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "" + +#: pdfsignatureutils.cpp:239 +#, fuzzy, kde-format +#| msgid "Document Password" +msgid "Enter Password" +msgstr "Fjalëkalimi i Dokumentit" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "" + +#~ msgid "PDF Backend" +#~ msgstr "PDF Backend" + +#~ msgid "A PDF file renderer" +#~ msgstr "Një hapës i skedarëve PDF" + +#~ msgid "© 2005-2008 Albert Astals Cid" +#~ msgstr "© 2005-2008 Albert Astals Cid" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Saving files with /Encrypt is not supported." +#~ msgstr "Ruajtja e skedarëve me /Encrypt nuk suportohet." + +#~ msgid "Unknown" +#~ msgstr "I Panjohur" + +#~ msgid "Unknown Date" +#~ msgstr "Datë e Panjohur" + +#~ msgid "Unknown Encryption" +#~ msgstr "Kriptim i Panjohur" + +#~ msgid "Unknown Optimization" +#~ msgstr "Optimizim i Panjohur" + +#~ msgid "Please enter the password to read the document:" +#~ msgstr "Ju lutemi të vendosni fjalëkalimin për të lexuar dokumentin:" + +#~ msgid "Incorrect password. Try again:" +#~ msgstr "Fjalëkalim i gabuar. Provoni përsëri:" diff --git a/po/sq/okular_xps.po b/po/sq/okular_xps.po new file mode 100644 index 0000000..2c76318 --- /dev/null +++ b/po/sq/okular_xps.po @@ -0,0 +1,59 @@ +# Albanian translation for kdegraphics +# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 +# This file is distributed under the same license as the kdegraphics package. +# FIRST AUTHOR , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: kdegraphics\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-05-02 18:38+0000\n" +"Last-Translator: Vilson Gjeci \n" +"Language-Team: Albanian \n" +"Language: sq\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2011-04-22 05:28+0000\n" +"X-Generator: Launchpad (build 12883)\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "KDE Shqip, Launchpad Contributions: Vilson Gjeci" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde-shqip@yahoogroups.com,vilsongjeci@gmail.com" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "Ripërpunimi" + +#~ msgid "XPS Backend" +#~ msgstr "XPS Backend" + +#~ msgid "An XPS backend" +#~ msgstr "Një XPS backend" + +#~ msgid "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" +#~ msgstr "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" + +#~ msgid "Brad Hards" +#~ msgstr "Brad Hards" + +#~ msgid "Jiri Klement" +#~ msgstr "Jiri Klement" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" diff --git a/po/sr/okular.po b/po/sr/okular.po new file mode 100644 index 0000000..eefb5d1 --- /dev/null +++ b/po/sr/okular.po @@ -0,0 +1,6652 @@ +# Translation of okular.po into Serbian. +# Toplica Tanaskovic , 2003, 2004. +# Slobodan Simic , 2003, 2005. +# Chusslove Illich , 2005, 2006, 2007, 2010, 2012, 2013, 2014, 2015, 2016, 2017. +# Filip Brcic , 2008. +# Zoran Olujic , 2010. +# Dalibor Djuric , 2010. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2017-12-15 12:38+0100\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Слободан Симић,Часлав Илић,Филип Брчић" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "slsimic@gmail.com,caslav.ilic@gmx.net,brcha@gna.org" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Окулар" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Окулар, универзални приказивач докумената" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"© 2002, Вилко Гревен, Кристоф Деврис\n" +"© 2004–2005, Енрико Рос\n" +"© 2005, Пјотр Шимањски\n" +"© 2004–2017, Алберт Асталс Сид\n" +"© 2006–2009, Пино Тоскано" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "Бивши одржавалац" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "" + +#: aboutdata.h:32 +#, fuzzy, kde-format +#| msgid "Lots of framework work, ODT and FictionBook backends" +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "Много посла на радном оквиру, позадине за ОДТ и фикшнбук" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "Програмер" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "Направио Окулар од КПДФ‑овог изворног кода" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "Програмер КПДФ‑а" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "Графика за тумачења" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "Алатка избора табеле" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "Побољшања тумачења" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "Иди на страницу %1" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "Отвори спољни фајл" + +#: core/action.cpp:197 +#, fuzzy, kde-format +#| msgid "Execute '%1'..." +msgid "Execute '%1'…" +msgstr "Изврши '%1'..." + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "Прва страница" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "Претходна страница" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "Следећа страница" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "Последња страница" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "Назад" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "Напред" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Напусти" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "Почни презентацију" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "Заврши презентацију" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go To Page…" +msgstr "Иди на страницу" + +#: core/action.cpp:365 +#, fuzzy, kde-format +#| msgid "Play sound..." +msgid "Play sound…" +msgstr "Одсвирај звук..." + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "Јаваскриптна скрипта" + +#: core/action.cpp:483 +#, fuzzy, kde-format +#| msgid "Play movie" +msgid "Play movie…" +msgstr "Пусти филм" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "Пусти филм" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "Заустави филм" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "Паузирај филм" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "Настави филм" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "Избор позадине" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
    %1 (%2).

    Please select which one to use:
    " +msgstr "" +"Нађено је више од једне позадине за овај МИМЕ тип:
    %1 (%2)." +"

    Изаберите која ће се користити:
    " + +#: core/document.cpp:200 +#, fuzzy, kde-format +#| msgid "Go to page %1" +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "Иди на страницу %1" + +# >! Fix argument substitution. +#: core/document.cpp:221 +#, fuzzy, kde-format +#| msgctxt "paper type and orientation (eg: Portrait A4)" +#| msgid "Portrait %0" +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "портрет %0" + +# >! Fix argument substitution. +#: core/document.cpp:223 +#, fuzzy, kde-format +#| msgctxt "paper type and orientation (eg: Portrait A4)" +#| msgid "Landscape %0" +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "пејзаж %0" + +#: core/document.cpp:246 +#, fuzzy, kde-format +#| msgctxt "%1 is width, %2 is height, %3 is paper size name" +#| msgid "%1 x %2 in (%3)" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1×%2 in (%3)" + +#: core/document.cpp:248 +#, fuzzy, kde-format +#| msgctxt "%1 is width, %2 is height, %3 is paper size name" +#| msgid "%1 x %2 mm (%3)" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1×%2 mm (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "Настављам претрагу од почетка" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "Настављам претрагу са дна" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "" +"Не могу да нађем прикључак који је у стању да обради прослеђени документ." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "Уклони тумачења" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"Документ покушава да изврши спољашњи програм, што због ваше безбедности " +"Окулар не дозвољава." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "Није нађен ниједан програм за отварање фајла МИМЕ типа %1." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "Не могу да отворим привремени фајл." + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "Претварање за штампу није успело." + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "Штампарски процес се срушио." + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "Штампарски процес не може да се покрене." + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "Штампање у фајл није успело." + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "Штампач је у погрешном стању." + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "Не могу да нађем фајл за штампање." + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "Нема фајла за штампање." + +# rewrite-msgid: /binary/command/ +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"Не могу да нађем погодну наредбу за штампање. Обезбедите да lpr из ЦУПС‑а " +"буде доступна." + +# rewrite-msgid: /print// +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "Величина странице није добра." + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "Не могу да отворим „%1“. Фајл не постоји." + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Наслов" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Тема" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Опис" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "Аутор" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Стваралац" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Произвођач" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "Ауторска права" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "Страница" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Направљен" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Измењен" + +#: core/document.cpp:6032 +#, fuzzy, kde-format +#| msgid "Mime Type" +msgid "MIME Type" +msgstr "МИМЕ тип" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "Категорија" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Кључне речи" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "Путања фајла" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "Величина фајла" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "Величина странице" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "Додај тумачење" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "Уклони тумачење" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "Измени својства тумачења" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "Помери тумачење" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "Намести тумачење" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "Уреди текст" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "Уреди садржај тумачења" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "Уреди садржај формулара" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "Уреди изборе списка у формулару" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "Уреди изборе падајућег списка у формулару" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "Уреди стања дугмета у формулару" + +#: core/generator.cpp:790 +#, fuzzy, kde-format +#| msgid "Plain &Text..." +msgid "Plain &Text…" +msgstr "Обични &текст..." + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "ПДФ" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "ОДТ" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "ХТМЛ" + +#: core/printoptionswidget.cpp:19 +#, fuzzy, kde-format +#| msgid "Editor Options" +msgid "Print Options" +msgstr "Опције уређивача" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#: core/printoptionswidget.cpp:25 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgid "Scale mode:" +msgstr "Режим боје:" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, fuzzy, kde-format +#| msgid "No description available." +msgid "Not Available" +msgstr "Опис није доступан." + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "" + +#: core/signatureutils.cpp:504 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" + +#: core/signatureutils.cpp:506 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown signing error" +msgstr "Непознат фајл" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Извор: %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "&Подразумевани фонт:" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "" + +#: gui/certificatemodel.cpp:41 +#, fuzzy, kde-format +#| msgid "Page Number" +msgid "Serial Number" +msgstr "Број странице" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "" + +# >> @item:inlistbox Stamp Symbol +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, fuzzy, kde-format +#| msgid "Expired" +msgid "Expires On" +msgstr "истекло" + +#: gui/certificatemodel.cpp:49 +#, fuzzy, kde-format +#| msgid "Subject" +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Тема" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "" + +#: gui/certificatemodel.cpp:53 +#, fuzzy, kde-format +#| msgid "Memory Usage" +msgid "Key Usage" +msgstr "Искоришћење меморије" + +#: gui/certificatemodel.cpp:72 +#, fuzzy, kde-format +#| msgid "%1:" +msgid "V%1" +msgstr "%1:" + +#: gui/certificatemodel.cpp:84 +#, fuzzy, kde-format +#| msgctxt "File type name and pattern" +#| msgid "%1 (%2)" +msgid "%1 (%2 bits)" +msgstr "%1 (%2)" + +#: gui/certificatemodel.cpp:146 +#, fuzzy, kde-format +#| msgid "&Properties" +msgid "Property" +msgstr "&Својства" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "Искачућа белешка" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "Уткана белешка" + +# >> @item:inlistbox Stamp Symbol +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +#| msgid "For Comment" +msgid "Arrow with Comment" +msgstr "за коментарисање" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "" + +#: gui/guiutils.cpp:59 +#, fuzzy, kde-format +#| msgid "Straight Line Properties" +msgid "Straight Line with Comment" +msgstr "Својства праве линије" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "Права линија" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "Полигон" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Squiggle text" +msgid "Rectangle with Comment" +msgstr "Таласасто по тексту" + +# >> @item:inlistbox Type of geometric annotation +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "правоугаоник" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Underline text" +msgid "Ellipse with Comment" +msgstr "Подвучен текст" + +# >> @item:inlistbox Type of geometric annotation +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "елипса" + +#: gui/guiutils.cpp:83 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Highlight text" +msgid "Highlight with Comment" +msgstr "Истицање текста" + +# >> @item:inlistbox Highlight type +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "истакнуто" + +#: gui/guiutils.cpp:87 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Squiggle text" +msgid "Squiggle with Comment" +msgstr "Таласасто по тексту" + +# >> @item:inlistbox Highlight type +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "таласасто" + +#: gui/guiutils.cpp:91 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Underline text" +msgid "Underline with Comment" +msgstr "Подвучен текст" + +# >> @item:inlistbox Highlight type +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "подвучено" + +#: gui/guiutils.cpp:95 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Strike out text" +msgid "Strike Out with Comment" +msgstr "Прецртан текст" + +# >> @item:inlistbox Highlight type +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "прецртано" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "Печат" + +#: gui/guiutils.cpp:106 +#, fuzzy, kde-format +#| msgid "Freehand Line Properties" +msgid "Freehand Line with Comment" +msgstr "Својства линије слободном руком" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "Линија слободном руком" + +# >> @title +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "Капица" + +# >> @title +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "Приложени фајл" + +# >> @title +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "Звук" + +# >> @title +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "Филм" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Екран" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "Виџет" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "Богати медијум" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation" +msgstr "%1 тумачење" + +# >> @item:intext +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "непознат" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Аутор: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "Где желите да сачувате ‘%1’?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "Не могу да отворим ‘%1’ за писање. Фајл није сачуван." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "" + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "" + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "" + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "" + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "" + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "" + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "" + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "" + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "" + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "" + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "" + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "" + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "" + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "" + +# >> @title Font name as tooltip header +#: gui/signatureguiutils.cpp:96 +#, fuzzy, kde-format +#| msgid "Unknown font" +msgid "Unknown Algorithm" +msgstr "Непознат фонт" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown Type" +msgstr "Непознат фајл" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr "" + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "" + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "" + +#: gui/signatureguiutils.cpp:208 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "Штампање овог документа није дозвољено." + +#: gui/signatureguiutils.cpp:211 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "This document is digitally signed." +msgstr "Штампање овог документа није дозвољено." + +#: gui/signatureguiutils.cpp:213 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "Штампање овог документа није дозвољено." + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" + +#: gui/signaturemodel.cpp:141 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "Својства капице" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "" + +#: gui/signaturemodel.cpp:172 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgid "Reason: %1" +msgstr "Странице: %1" + +#: gui/signaturemodel.cpp:177 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Location: %1" +msgstr "%1 тумачење" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "" + +# >> @item:intext +#: gui/signaturemodel.cpp:193 +#, fuzzy, kde-format +#| msgctxt "Unknown author" +#| msgid "Unknown" +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "непознат" + +#: gui/signaturemodel.cpp:195 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "Својства капице" + +#: gui/signaturemodel.cpp:201 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgid "Signature Type: %1" +msgstr "Својства капице" + +#: part/annotationactionhandler.cpp:148 +#, fuzzy, kde-format +#| msgid "Red" +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "црвена" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "" + +#: part/annotationactionhandler.cpp:150 +#, fuzzy, kde-format +#| msgid "Yellow" +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "жута" + +#: part/annotationactionhandler.cpp:151 +#, fuzzy, kde-format +#| msgid "Green" +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "зелена" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "" + +#: part/annotationactionhandler.cpp:153 +#, fuzzy, kde-format +#| msgid "Blue" +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "плава" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "" + +#: part/annotationactionhandler.cpp:155 +#, fuzzy, kde-format +#| msgid "White" +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "бела" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "" + +#: part/annotationactionhandler.cpp:157 +#, fuzzy, kde-format +#| msgid "Black" +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "црна" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "" + +#: part/annotationactionhandler.cpp:252 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1:" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:308 +#, fuzzy, kde-format +#| msgid "Annotation Options" +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Опције тумачења" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "" + +#: part/annotationactionhandler.cpp:314 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Алатке тумачења" + +#: part/annotationactionhandler.cpp:316 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "Алатке тумачења" + +#: part/annotationactionhandler.cpp:318 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Алатке тумачења" + +#: part/annotationactionhandler.cpp:322 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Алатке тумачења" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "" + +#: part/annotationactionhandler.cpp:328 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "%1 тумачење" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" + +#: part/annotationactionhandler.cpp:341 +#, fuzzy, kde-format +#| msgid "Annotation Options" +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Опције тумачења" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "" + +#: part/annotationactionhandler.cpp:432 +#, fuzzy, kde-format +#| msgid "Color:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "Боја:" + +#: part/annotationactionhandler.cpp:434 +#, fuzzy, kde-format +#| msgid "Color:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "Боја:" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "" + +#: part/annotationactionhandler.cpp:499 +#, fuzzy, kde-format +#| msgid "&Selection Tool" +msgctxt "@title:window" +msgid "Select color" +msgstr "Алатка &избора" + +#: part/annotationactionhandler.cpp:552 +#, fuzzy, kde-format +#| msgid "Annotations" +msgid "&Annotations" +msgstr "Тумачења" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "" + +# >> @title:window +#: part/annotationactionhandler.cpp:554 +#, fuzzy, kde-format +#| msgid "Create annotation tool" +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Стварање алатке тумачења" + +# >> @item:inlistbox Type of geometric annotation +#: part/annotationactionhandler.cpp:557 +#, fuzzy, kde-format +#| msgid "Highlighter" +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "истицач" + +# >> @item:inlistbox Highlight type +#: part/annotationactionhandler.cpp:558 +#, fuzzy, kde-format +#| msgid "Underline" +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "подвучено" + +# >> @item:inlistbox Highlight type +#: part/annotationactionhandler.cpp:559 +#, fuzzy, kde-format +#| msgid "Squiggle" +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "таласасто" + +# >> @item:inlistbox Highlight type +#: part/annotationactionhandler.cpp:560 +#, fuzzy, kde-format +#| msgid "Strike Out" +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "прецртано" + +#: part/annotationactionhandler.cpp:562 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Својства капице" + +#: part/annotationactionhandler.cpp:563 +#, fuzzy, kde-format +#| msgid "Inline Note" +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "Уткана белешка" + +#: part/annotationactionhandler.cpp:564 +#, fuzzy, kde-format +#| msgid "Pop-up Note" +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "Искачућа белешка" + +#: part/annotationactionhandler.cpp:565 +#, fuzzy, kde-format +#| msgid "Freehand Line" +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "Линија слободном руком" + +#: part/annotationactionhandler.cpp:567 +#, fuzzy, kde-format +#| msgid "Straight Line" +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "Права линија" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "" + +# >> @item:inlistbox Type of geometric annotation +#: part/annotationactionhandler.cpp:569 +#, fuzzy, kde-format +#| msgid "Rectangle" +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "правоугаоник" + +# >> @item:inlistbox Type of geometric annotation +#: part/annotationactionhandler.cpp:570 +#, fuzzy, kde-format +#| msgid "Ellipse" +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "елипса" + +#: part/annotationactionhandler.cpp:571 +#, fuzzy, kde-format +#| msgid "Polygon" +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "Полигон" + +#: part/annotationactionhandler.cpp:572 +#, fuzzy, kde-format +#| msgid "Geometrical shape" +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "Геометријски облик" + +#: part/annotationactionhandler.cpp:618 +#, fuzzy, kde-format +#| msgid "Stamp" +msgctxt "@action" +msgid "Stamp" +msgstr "Печат" + +#: part/annotationactionhandler.cpp:638 +#, fuzzy, kde-format +#| msgid "Annotations" +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Тумачења" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "" + +#: part/annotationactionhandler.cpp:651 +#, fuzzy, kde-format +#| msgid "Annotations" +msgid "Quick Annotation Bar" +msgstr "Тумачења" + +#: part/annotationactionhandler.cpp:665 +#, fuzzy, kde-format +#| msgctxt "Add an annotation to the page" +#| msgid "add annotation" +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "Додај тумачење" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "" + +# >> @title:window +#: part/annotationactionhandler.cpp:669 +#, fuzzy, kde-format +#| msgid "Create annotation tool" +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "Стварање алатке тумачења" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "" + +#: part/annotationactionhandler.cpp:680 +#, fuzzy, kde-format +#| msgid "Font:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "Фонт:" + +#: part/annotationactionhandler.cpp:681 +#, fuzzy, kde-format +#| msgid "Annotation Options" +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Опције тумачења" + +#: part/annotationactionhandler.cpp:684 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "уклопљена ширина" + +#: part/annotationactionhandler.cpp:693 +#, fuzzy, kde-format +#| msgid "&Opacity:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "&Непрозирност:" + +#: part/annotationactionhandler.cpp:696 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1:" + +#: part/annotationmodel.cpp:320 +#, fuzzy, kde-format +#| msgid "Page %1" +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "Страница %1" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "Страница %1" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "%1 тумачење" +msgstr[1] "%1 тумачења" +msgstr[2] "%1 тумачења" +msgstr[3] "Тумачење" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "&Отвори искачућу белешку" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Уклони обележивач" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Додај обележивач" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Text to Clipboard" +msgstr "Копирај у клипборд" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "ДРМ брани копирање" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "&Обриши" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "&Својства" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, fuzzy, kde-format +#| msgctxt "%1 is the name of the file to save" +#| msgid "&Save '%1'..." +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "&Сачувај ‘%1’..." + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "&Изглед" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "&Опште" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&Аутор:" + +#: part/annotationpropertiesdialog.cpp:69 +#, fuzzy, kde-format +#| msgid "Created" +msgid "Created:" +msgstr "Направљен" + +#: part/annotationpropertiesdialog.cpp:74 +#, fuzzy, kde-format +#| msgid "Modified" +msgid "Modified:" +msgstr "Измењен" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "Својства искачуће белешке" + +#: part/annotationpropertiesdialog.cpp:111 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgid "Typewriter Properties" +msgstr "Својства капице" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "Својства уткане белешке" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "Својства праве линије" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "Својства полигона" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "Својства геометрије" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "Својства обележавања текста" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "Својства печата" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "Својства линије слободном руком" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "Својства капице" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "Својства приложеног фајла" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "Својства звука" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "Својства филма" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "Својства тумачења" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Put a stamp symbol" +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "Симбол печата" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&Боја:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%1:" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "&Непрозирност:" + +#: part/annotationwidgets.cpp:363 +#, fuzzy, kde-format +#| msgid "Icon" +msgid "Icon:" +msgstr "Иконица" + +# >> @item:inlistbox Icon +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "коментар" + +# >> @item:inlistbox Icon +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "помоћ" + +# >> @item:inlistbox Icon +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "уметање" + +# >> @item:inlistbox Icon +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "тастер" + +# >> @item:inlistbox Icon +#: part/annotationwidgets.cpp:368 +#, fuzzy, kde-format +#| msgid "New Paragraph" +msgid "New paragraph" +msgstr "нови пасус" + +# >! Needs context for listbox appearance +# >> @item:inlistbox Icon +# Држи велико слово док не добије контекст. +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "Белешка" + +# >> @item:inlistbox Icon +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "пасус" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Фонт:" + +#: part/annotationwidgets.cpp:387 +#, fuzzy, kde-format +#| msgid "&Color:" +msgid "Text &color:" +msgstr "&Боја:" + +#: part/annotationwidgets.cpp:394 +#, fuzzy, kde-format +#| msgid "Align:" +msgid "&Align:" +msgstr "Поравнање:" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "лево" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "средина" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "десно" + +#: part/annotationwidgets.cpp:405 +#, fuzzy, kde-format +#| msgid "Border Width:" +msgid "Border &width:" +msgstr "Ширина ивице:" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "одобрено" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "као што јесте" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "поверљиво" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "за одељење" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "нацрт" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "експериментално" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:420 +#, fuzzy, kde-format +#| msgid "Expired" +msgid "Expired" +msgstr "истекло" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "коначно" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "за коментарисање" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "за јавност" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "није одобрено" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "није за јавност" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "продато" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "строго поверљиво" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "обележивач" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "информација" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "КДЕ" + +#: part/annotationwidgets.cpp:451 +#, fuzzy, kde-format +#| msgid "Stamp Symbol" +msgid "Stamp symbol:" +msgstr "Симбол печата" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, fuzzy, kde-format +#| msgid "&Pen Width:" +msgid "&Width:" +msgstr "Дебљина &оловке:" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:514 +#, fuzzy, kde-format +#| msgctxt "Symbol for caret annotations" +#| msgid "None" +msgid "None" +msgstr "ништа" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "" + +# skip-rule: t-line +#: part/annotationwidgets.cpp:531 +#, fuzzy, kde-format +#| msgid "Leader Line Length:" +msgid "Leader line length:" +msgstr "Дужина изводнице:" + +# skip-rule: t-line +#: part/annotationwidgets.cpp:533 +#, fuzzy, kde-format +#| msgid "Leader Line Extensions Length:" +msgid "Leader line extensions length:" +msgstr "Дужина продужетка изводнице:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "" + +# >> @title:window +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, fuzzy, kde-format +#| msgid "Save file" +msgid "Shape fill:" +msgstr "Уписивање фајла" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Тип:" + +# >> @item:inlistbox Highlight type +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "прецртано" + +#: part/annotationwidgets.cpp:745 +#, fuzzy, kde-format +#| msgid "File Attachment Symbol" +msgid "File attachment symbol:" +msgstr "Симбол за приложени фајл" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "граф" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "прибадача" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "спајалица" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "ознака" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "Фајл" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "Није доступно" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "Опис није доступан." + +#: part/annotationwidgets.cpp:773 +#, fuzzy, kde-format +#| msgid "&Name:" +msgid "Name:" +msgstr "&Име:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "Опис:" + +#: part/annotationwidgets.cpp:843 +#, fuzzy, kde-format +#| msgid "Caret Symbol" +msgid "Caret symbol:" +msgstr "Симбол капице" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "ништа" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "П" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "Затвори ову белешку" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "Опције" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"Ово тумачење можда садржи латех код.\n" +"Кликните овде да се изрендерује." + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "Не могу да нађем наредбу „latex“." + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "Рендеровање латеха није успело" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "Не могу да нађем наредбу „dvipng“." + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "Било је проблема при извршавању наредбе „latex“." + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "Било је проблема при извршавању наредбе „dvipng“." + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"%2 обележивач" +msgstr[1] "" +"%1\n" +"\n" +"%2 обележивача" +msgstr[2] "" +"%1\n" +"\n" +"%2 обележивача" +msgstr[3] "" +"%1\n" +"\n" +"Један обележивач" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Обележивачи" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, fuzzy, kde-format +#| msgid "S&earch:" +msgid "Search…" +msgstr "&Тражи:" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, kde-format +msgid "Expand All" +msgstr "" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, kde-format +msgid "Collapse All" +msgstr "" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "Иди на овај обележивач" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "Преименуј обележивач" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Отвори документ" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "" + +# >> @title:window +#: part/certificateviewer.cpp:47 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Certificate Viewer" +msgstr "Подешавање приказивача" + +#: part/certificateviewer.cpp:50 +#, fuzzy, kde-format +#| msgid "E&xport As" +msgid "Export…" +msgstr "И&звези као" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "Опште" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "" + +#: part/certificateviewer.cpp:159 +#, fuzzy, kde-format +#| msgid "Where do you want to save %1?" +msgid "Where do you want to save this certificate?" +msgstr "Где желите да сачувате ‘%1’?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "" + +#: part/colormodemenu.cpp:19 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "Режим боје:" + +#: part/colormodemenu.cpp:21 +#, fuzzy, kde-format +#| msgid "Change &colors" +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "Промени &боје" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "" + +#: part/colormodemenu.cpp:41 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "Изврни боје" + +#: part/colormodemenu.cpp:42 +#, fuzzy, kde-format +#| msgid "Change Paper Color" +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "Промени боју папира" + +#: part/colormodemenu.cpp:44 +#, fuzzy, kde-format +#| msgid "Change Dark & Light Colors" +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "Измени тамне и светле боје" + +#: part/colormodemenu.cpp:46 +#, fuzzy, kde-format +#| msgid "Convert to Black & White" +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "Претвори у црно‑бело" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "црвена" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "зелена" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "плава" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "жута" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "црна" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "бела" + +# >> @item:inlistbox Type of geometric annotation +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, fuzzy, kde-format +#| msgid "Highlighter" +msgid "Yellow Highlighter" +msgstr "истицач" + +# >> @item:inlistbox Type of geometric annotation +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, fuzzy, kde-format +#| msgid "Highlighter" +msgid "Green Highlighter" +msgstr "истицач" + +# >> @item:inlistbox Icon +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, fuzzy, kde-format +#| msgid "Insert" +msgid "Insert Text" +msgstr "уметање" + +#: part/dlgaccessibility.cpp:38 +#, fuzzy, kde-format +#| msgid "Draw border around &Links" +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "Цртај ивицу око &веза" + +#: part/dlgaccessibility.cpp:48 +#, fuzzy, kde-format +#| msgid "Change &colors" +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "Промени &боје" + +#: part/dlgaccessibility.cpp:54 +#, fuzzy, kde-format +#| msgid "Warning: these options can badly affect drawing speed." +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "Упозорење: Ове опције могу лоше утицати на брзину исцртавања." + +#: part/dlgaccessibility.cpp:60 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "Изврни боје" + +#: part/dlgaccessibility.cpp:61 +#, fuzzy, kde-format +#| msgid "Change Paper Color" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "Промени боју папира" + +#: part/dlgaccessibility.cpp:62 +#, fuzzy, kde-format +#| msgid "Change Dark & Light Colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "Измени тамне и светле боје" + +#: part/dlgaccessibility.cpp:63 +#, fuzzy, kde-format +#| msgid "Convert to Black & White" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "Претвори у црно‑бело" + +#: part/dlgaccessibility.cpp:64 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "Изврни боје" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "" + +#: part/dlgaccessibility.cpp:70 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "Режим боје:" + +#: part/dlgaccessibility.cpp:87 +#, fuzzy, kde-format +#| msgid "Paper color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Боја папира:" + +#: part/dlgaccessibility.cpp:99 +#, fuzzy, kde-format +#| msgid "Dark color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Тамна боја:" + +#: part/dlgaccessibility.cpp:104 +#, fuzzy, kde-format +#| msgid "Light color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "Светла боја:" + +#: part/dlgaccessibility.cpp:119 +#, fuzzy, kde-format +#| msgid "Threshold:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "Праг:" + +#: part/dlgaccessibility.cpp:127 +#, fuzzy, kde-format +#| msgid "Contrast:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Контраст:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "" + +#: part/dlgaccessibility.cpp:165 +#, fuzzy, kde-format +#| msgid "Text to search for" +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "Текст који се тражи" + +#: part/dlgannotations.cpp:25 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Алатке тумачења" + +#: part/dlgannotations.cpp:26 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Алатке тумачења" + +#: part/dlgannotations.cpp:28 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Алатке тумачења" + +#: part/dlgannotations.cpp:34 +#, fuzzy, kde-format +#| msgid "&Author:" +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "&Аутор:" + +#: part/dlgannotations.cpp:38 +#, fuzzy, kde-format +#| msgid "" +#| "Note: the information here is used only for comments and reviews. " +#| "Information inserted here will not be transmitted without your knowledge." +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"Напомена: Ове информације се користе само за коментаре и прегледе. " +"Неће бити послате никоме без вашег знања." + +# >> @title:window +#: part/dlgannotations.cpp:48 +#, fuzzy, kde-format +#| msgid "Edit annotation tool" +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

    Quick Annotation Tools

    " +msgstr "Уређивање алатке тумачења" + +#: part/dlgeditor.cpp:28 +#, fuzzy, kde-format +#| msgctxt "@info:whatsthis" +#| msgid "" +#| "Choose the editor you want to launch when Okular wants to open a source " +#| "file." +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" +"Изаберите уређивач који бисте желели да користите кад Окулар хоће да отвори " +"изворни фајл." + +#: part/dlgeditor.cpp:29 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Custom Text Editor" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "Посебан уређивач текста" + +#: part/dlgeditor.cpp:30 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Kate" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Кејт" + +#: part/dlgeditor.cpp:31 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Kile" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Кајл" + +#: part/dlgeditor.cpp:32 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "SciTE" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "СциТЕ" + +#: part/dlgeditor.cpp:33 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Emacs client" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Емакс (клијент)" + +#: part/dlgeditor.cpp:34 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Lyx client" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "Ликс (клијент)" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "" + +#: part/dlgeditor.cpp:37 +#, fuzzy, kde-format +#| msgid "Editor:" +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "Уређивач:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
    \n" +"You can also put few placeholders:\n" +"
      \n" +"
    • %f - the file name
    • \n" +"
    • %l - the line of the file to be reached
    • \n" +"
    • %c - the column of the file to be reached
    • \n" +"
    \n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"Подеси команду посебног уређивача текста.
    \n" +"Такође можете да ставите и неколико аргумената:\n" +"
      \n" +"
    • %f - име фајла
    • \n" +"
    • %l - ред фајла до ког треба доћи
    • \n" +"
    • %c - колона фајла до које треба доћи
    • \n" +"
    \n" +"Ако %f није наведено, име фајла ће бити надовезано на наведену наредбу.
    " + +#: part/dlgeditor.cpp:63 +#, fuzzy, kde-format +#| msgid "Command:" +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "Наредба:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "" + +#: part/dlggeneral.cpp:37 +#, fuzzy, kde-format +#| msgid "Appearance" +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "Изглед" + +#: part/dlggeneral.cpp:41 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "&Клизачке траке" + +#: part/dlggeneral.cpp:48 +#, fuzzy, kde-format +#| msgid "Link the &thumbnails with the page" +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "Повежи с&личице са страницом" + +#: part/dlggeneral.cpp:55 +#, fuzzy, kde-format +#| msgid "Show &hints and info messages" +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "&Савети и инфо поруке" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "" + +#: part/dlggeneral.cpp:68 +#, fuzzy, kde-format +#| msgid "Display document title in titlebar if available" +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "Наслов документа у насловној траци (ако га има)" + +#: part/dlggeneral.cpp:74 +#, fuzzy, kde-format +#| msgid "Display file name only" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "прикажи само име фајла" + +#: part/dlggeneral.cpp:75 +#, fuzzy, kde-format +#| msgid "Display full file path" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "прикажи целу путању фајла" + +#: part/dlggeneral.cpp:77 +#, fuzzy, kde-format +#| msgid "When not displaying document title:" +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "Ако нема наслова документа:" + +#: part/dlggeneral.cpp:92 +#, fuzzy, kde-format +#| msgid "Use custom background color" +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "Посебна позадинска боја" + +#: part/dlggeneral.cpp:114 +#, fuzzy, kde-format +#| msgid "Program Features" +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "Могућности програма" + +#: part/dlggeneral.cpp:121 +#, fuzzy, kde-format +#| msgid "Open new files in &tabs" +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "Отварај нове фајлове под &језичцима" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "" + +#: part/dlggeneral.cpp:139 +#, fuzzy, kde-format +#| msgid "&Obey DRM limitations" +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "П&оштуј ДРМ ограничења" + +#: part/dlggeneral.cpp:148 +#, fuzzy, kde-format +#| msgid "&Reload document on file change" +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "Поново отво&ри документ приликом промене фајла" + +#: part/dlggeneral.cpp:155 +#, fuzzy, kde-format +#| msgid "Show backend selection dialog" +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "Прикажи дијалог за избор позадине" + +#: part/dlggeneral.cpp:162 +#, fuzzy, kde-format +#| msgid "Right to left reading direction" +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "Смер читања здесна улево" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, fuzzy, kde-format +#| msgid "Overview &columns:" +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "Колоне &прегледа:" + +#: part/dlggeneral.cpp:220 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%1:" + +#: part/dlggeneral.cpp:221 +#, fuzzy, kde-format +#| msgid "" +#| "Defines how much of the current viewing area will still be visible when " +#| "pressing the Page Up/Down keys." +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" +"Одређује колико ће од тренутно приказаног подручја остати видљиво по " +"притиску на тастер PageUp или PageDown." + +#: part/dlggeneral.cpp:223 +#, fuzzy, kde-format +#| msgid "&Page Up/Down overlap:" +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "Преклапање на PageUp/PageDown:" + +#: part/dlggeneral.cpp:228 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%1:" + +#: part/dlggeneral.cpp:232 +#, fuzzy, kde-format +#| msgid "100%" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "100%" + +#: part/dlggeneral.cpp:233 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "уклопљена ширина" + +#: part/dlggeneral.cpp:234 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "уклопљена страница" + +#: part/dlggeneral.cpp:235 +#, fuzzy, kde-format +#| msgid "Auto Fit" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "уклопљено аутоматски" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "" + +#: part/dlggeneral.cpp:237 +#, fuzzy, kde-format +#| msgid "" +#| "Defines the default zoom mode for files which were never opened before.\n" +#| "For files which were opened before the previous zoom is applied." +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" +"Одређује подразумевани режим увеличања за први пут отворене фајлове.\n" +"На фајлове који су раније отварани примењује се претходно увеличање." + +#: part/dlggeneral.cpp:241 +#, fuzzy, kde-format +#| msgid "&Default Zoom:" +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "&Подразумевано увеличање:" + +#: part/dlgperformance.cpp:26 +#, fuzzy, kde-format +#| msgid "Enable &transparency effects" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "Укључи ефекте &провидности" + +#: part/dlgperformance.cpp:28 +#, fuzzy, kde-format +#| msgid "CPU Usage" +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "Искоришћење ЦПУ‑а" + +#: part/dlgperformance.cpp:35 +#, fuzzy, kde-format +#| msgid "&Low" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "&ниско" + +#: part/dlgperformance.cpp:36 +#, fuzzy, kde-format +#| msgid "Nor&mal (default)" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "&нормално (подразумевано)" + +#: part/dlgperformance.cpp:37 +#, fuzzy, kde-format +#| msgid "Aggr&essive" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "&агресивно" + +#: part/dlgperformance.cpp:38 +#, fuzzy, kde-format +#| msgid "G&reedy" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "&похлепно" + +#: part/dlgperformance.cpp:40 +#, fuzzy, kde-format +#| msgid "Memory Usage" +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "Искоришћење меморије" + +#: part/dlgperformance.cpp:54 +#, fuzzy, kde-format +#| msgid "Enable Text Antialias" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "Омекшавање текста" + +#: part/dlgperformance.cpp:56 +#, fuzzy, kde-format +#| msgid "Rendering" +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "Рендеровање" + +#: part/dlgperformance.cpp:59 +#, fuzzy, kde-format +#| msgid "Enable Graphics Antialias" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "Омекшавање графике" + +#: part/dlgperformance.cpp:64 +#, fuzzy, kde-format +#| msgid "Enable Text Hinting" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "Навођење текста" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"Користи што је мање меморије могуће. Не користи ништа поново. (За системе са " +"мало меморије.)" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"Добар компромис између искоришћења меморије и добитка у брзини. Предучитава " +"следећу страницу и убрзава претраге. (Типично за системе са 2 GB меморије.)" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"Држи све у меморији. Предучитава следеће странице и убрзава претраге. (За " +"системе са више од 4 GB меморије.)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" +"Учитава и задржава све у меморији. Предучитава све странице. (Употребиће " +"највише 50% од укупне меморије или од слободне меморије, шта је веће.)" + +#: part/dlgpresentation.cpp:38 +#, fuzzy, kde-format +#| msgctxt "Advance every %1 seconds" +#| msgid " second" +#| msgid_plural " seconds" +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] " сек." +msgstr[1] " сек." +msgstr[2] " сек." +msgstr[3] " сек." + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "" + +#: part/dlgpresentation.cpp:53 +#, fuzzy, kde-format +#| msgid "Loop after last page" +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "У круг после задње странице" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "" + +#: part/dlgpresentation.cpp:63 +#, fuzzy, kde-format +#| msgid "Navigation" +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Навигација" + +#: part/dlgpresentation.cpp:72 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "Позадинска боја:" + +#: part/dlgpresentation.cpp:76 +#, fuzzy, kde-format +#| msgid "Hidden After Delay" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "скривен после застоја" + +#: part/dlgpresentation.cpp:77 +#, fuzzy, kde-format +#| msgid "Always Visible" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "увек видљив" + +#: part/dlgpresentation.cpp:78 +#, fuzzy, kde-format +#| msgid "Always Hidden" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "увек скривен" + +#: part/dlgpresentation.cpp:80 +#, fuzzy, kde-format +#| msgid "Mouse cursor:" +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "Показивач миша:" + +#: part/dlgpresentation.cpp:84 +#, fuzzy, kde-format +#| msgid "Show &progress indicator" +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "Прикажи показатељ &напретка" + +#: part/dlgpresentation.cpp:90 +#, fuzzy, kde-format +#| msgid "Show s&ummary page" +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "Прикажи страницу &сажетка" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "" + +#: part/dlgpresentation.cpp:101 +#, fuzzy, kde-format +#| msgid "Replace" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "замена" + +#: part/dlgpresentation.cpp:102 +#, fuzzy, kde-format +#| msgid "Random Transition" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "случајан прелаз" + +#: part/dlgpresentation.cpp:103 +#, fuzzy, kde-format +#| msgid "Blinds Vertical" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "заклони усправни" + +#: part/dlgpresentation.cpp:104 +#, fuzzy, kde-format +#| msgid "Blinds Horizontal" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "заклони водоравни" + +#: part/dlgpresentation.cpp:105 +#, fuzzy, kde-format +#| msgid "Box In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "кутија у" + +#: part/dlgpresentation.cpp:106 +#, fuzzy, kde-format +#| msgid "Box Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "кутија из" + +#: part/dlgpresentation.cpp:107 +#, fuzzy, kde-format +#| msgid "Dissolve" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "разлагање" + +#: part/dlgpresentation.cpp:108 +#, fuzzy, kde-format +#| msgid "Fade" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "претапање" + +#: part/dlgpresentation.cpp:109 +#, fuzzy, kde-format +#| msgid "Glitter Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "светлуцање надоле" + +#: part/dlgpresentation.cpp:110 +#, fuzzy, kde-format +#| msgid "Glitter Right" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "светлуцање удесно" + +#: part/dlgpresentation.cpp:111 +#, fuzzy, kde-format +#| msgid "Glitter Right-Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "светлуцање удесно‑надоле" + +#: part/dlgpresentation.cpp:112 +#, fuzzy, kde-format +#| msgid "Split Horizontal In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "подела водоравна у" + +#: part/dlgpresentation.cpp:113 +#, fuzzy, kde-format +#| msgid "Split Horizontal Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "подела водоравна из" + +#: part/dlgpresentation.cpp:114 +#, fuzzy, kde-format +#| msgid "Split Vertical In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "подела усправна у" + +#: part/dlgpresentation.cpp:115 +#, fuzzy, kde-format +#| msgid "Split Vertical Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "подела усправна из" + +#: part/dlgpresentation.cpp:116 +#, fuzzy, kde-format +#| msgid "Wipe Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "брисање надоле" + +#: part/dlgpresentation.cpp:117 +#, fuzzy, kde-format +#| msgid "Wipe Right" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "брисање удесно" + +#: part/dlgpresentation.cpp:118 +#, fuzzy, kde-format +#| msgid "Wipe Left" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "брисање улево" + +#: part/dlgpresentation.cpp:119 +#, fuzzy, kde-format +#| msgid "Wipe Up" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "брисање нагоре" + +#: part/dlgpresentation.cpp:121 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Подразумевани прелаз:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "" + +#: part/dlgpresentation.cpp:137 +#, fuzzy, kde-format +#| msgid "Drawing Tool: %1" +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

    Drawing Tools

    " +msgstr "Алатка цртања: %1" + +#: part/dlgpresentation.cpp:171 +#, fuzzy, kde-format +#| msgctxt "@label:listbox The current screen, for the presentation mode" +#| msgid "Current Screen" +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Тренутни екран" + +#: part/dlgpresentation.cpp:172 +#, fuzzy, kde-format +#| msgctxt "@label:listbox The default screen for the presentation mode" +#| msgid "Default Screen" +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Подразумевани екран" + +#: part/dlgpresentation.cpp:178 +#, fuzzy, kde-format +#| msgctxt "@label:listbox %1 is the screen number (0, 1, ...)" +#| msgid "Screen %1" +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "Екран %1" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "Алатка цртања: %1" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "Брисач" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "&Име:" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "&Тип:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "Изглед" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "Обележавање текста" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "Геометријски облик" + +# >> @title:window +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "Стварање алатке тумачења" + +# >> @title:window +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "Уређивање алатке тумачења" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "Боја:" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "Дебљина &оловке:" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "" + +# >> @title:window +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "Стварање алатке цртања" + +# >> @title:window +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "Уређивање алатке цртања" + +# >> @item:intext +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "непознат" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Угнежђени фајлови" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "Прикажи" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "име" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "опис" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "величина" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "направљено" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "измењено" + +# >> @title:window +#: part/embeddedfilesdialog.cpp:154 +#, fuzzy, kde-format +#| msgid "Save As" +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "Уписивање као" + +#: part/embeddedfilesdialog.cpp:155 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "&Приказ" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "Не могу да учитам део за преглед пред штампање" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "Преглед пред штампање" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "Затвори" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "&Нађи" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "Текст који се тражи" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Следеће" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "Скочи на следеће поклапање" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Претходно" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "Скочи на претходно поклапање" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "Измени понашање претраге" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "Разликуј величину слова" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "Од текуће странице" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "Тражи док куцам" + +# >> @item +#: part/formwidgets.cpp:870 +#, fuzzy, kde-format +#| msgid "All files (*)" +msgid "All Files (*)" +msgstr "сви фајлови (*)" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgid "Signature Properties" +msgstr "Својства капице" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "Опције претраге" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "Разликуј величину слова" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "Регуларни израз" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "Слојеви" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "од" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "Увеличај" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "Ротирај у&десно" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "Удесно" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "Ротирај у&лево" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "Улево" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "Првобитна оријентација" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "&Сасеци приказ" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "&Сасеци маргине" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "Сасеци на &избор" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "Уклопи &ширину" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "Уклопи &страницу" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "Уклопи &аутоматски" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "Уклопи прозор на &страницу" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "Режим &приказа" + +#: part/pageview.cpp:594 +#, fuzzy, kde-format +#| msgid "Single Page" +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "Једна страница" + +#: part/pageview.cpp:595 +#, fuzzy, kde-format +#| msgid "Facing Pages" +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "Наспрамне странице" + +#: part/pageview.cpp:596 +#, fuzzy, kde-format +#| msgid "Facing Pages (Center First Page)" +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "Наспрамне странице (прва центрирана)" + +#: part/pageview.cpp:599 +#, fuzzy, kde-format +#| msgid "Overview" +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "Преглед" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "&Без прекида" + +#: part/pageview.cpp:618 +#, fuzzy, kde-format +#| msgid "Right to left reading direction" +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "Смер читања здесна улево" + +#: part/pageview.cpp:627 +#, fuzzy, kde-format +#| msgctxt "Browse Tool" +#| msgid "Browse" +msgid "&Browse" +msgstr "Прегледај" + +#: part/pageview.cpp:635 +#, fuzzy, kde-format +#| msgid "Zoom" +msgid "&Zoom" +msgstr "Увеличај" + +#: part/pageview.cpp:655 +#, fuzzy, kde-format +#| msgctxt "Text Selection Tool" +#| msgid "Text Selection" +msgid "Area &Selection" +msgstr "Избор текста" + +#: part/pageview.cpp:662 +#, fuzzy, kde-format +#| msgctxt "Text Selection Tool" +#| msgid "Text Selection" +msgid "&Text Selection" +msgstr "Избор текста" + +#: part/pageview.cpp:669 +#, fuzzy, kde-format +#| msgctxt "Table Selection Tool" +#| msgid "Table Selection" +msgid "T&able Selection" +msgstr "Избор табеле" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "&Увеличавач" + +#: part/pageview.cpp:685 +#, fuzzy, kde-format +#| msgid "Selection Tools" +msgctxt "@action" +msgid "Selection Tools" +msgstr "Алатке избора" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "Изговори цео документ" + +#: part/pageview.cpp:722 +#, fuzzy, kde-format +#| msgid "Speak Current Page" +msgid "Speak From Current Page" +msgstr "Изговори текућу страницу" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "Изговори текућу страницу" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "Престани да говориш" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "Клизај нагоре" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Клизај надоле" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "Клизај страницу нагоре" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "Клизај страницу надоле" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "Прикажи формуларе" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] " Учитан је документ са %1 страницом." +msgstr[1] " Учитан је документ са %1 странице." +msgstr[2] " Учитан је документ са %1 страница." +msgstr[3] " Учитан је документ са једном страницом." + +#: part/pageview.cpp:2526 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Table Contents to Clipboard" +msgstr "Копирај у клипборд" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "Текст (%1 знак)" +msgstr[1] "Текст (%1 знака)" +msgstr[2] "Текст (%1 знакова)" +msgstr[3] "Текст (1 знак)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "Копирај у клипборд" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "Изговори текст" + +#: part/pageview.cpp:2863 +#, fuzzy, kde-format +#| msgid "Image (%1 by %2 pixels)" +msgid "Image (%1 × %2 pixels)" +msgstr "Слика (%1×%2 пиксела)" + +#: part/pageview.cpp:2865 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save to File…" +msgstr "Сачувај у фајл..." + +#: part/pageview.cpp:2885 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] copied to clipboard." +msgid "Image [%1 × %2] copied to clipboard." +msgstr "Слика [%1×%2] копирана је у клипборд." + +# >> @title:window +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "Уписивање фајла" + +# >> @item +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "слике (*.png *.jpeg)" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "Фајл није сачуван." + +#: part/pageview.cpp:2901 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] saved to %3 file." +msgid "Image [%1 × %2] saved to %3 file." +msgstr "Слика [%1×%2] сачувана је у фајл ‘%3’." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "Копирај текст" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "Иди на „%1“" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "уклопљена ширина" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "уклопљена страница" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "уклопљено аутоматски" + +#: part/pageview.cpp:4107 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1:" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "Потражи „%1“ помоћу" + +#: part/pageview.cpp:4404 +#, fuzzy, kde-format +#| msgid "Configure Web Shortcuts..." +msgid "Configure Web Shortcuts…" +msgstr "Подеси веб пречице..." + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "Прати ову везу" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "Одсвирај овај звук" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "Угаси звук" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "Копирај адресу везе" + +#: part/pageview.cpp:4462 +#, fuzzy, kde-format +#| msgid "Search for '%1' with" +msgid "Search for '%1' in this document" +msgstr "Потражи „%1“ помоћу" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Добро дошли" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "Изаберите област увеличања. Кликните десним за умањење." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "Кликните за увеличан приказ." + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "Исцртајте правоугаоник око текста/графике за копирање." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "Изабери текст" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" +"Исцртајте правоугаоник око табеле, па кликћите близу ивица да је изделите; " +"притисните Esc да очистите." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" + +# >> @title:window +#: part/pageview.cpp:5188 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "No valid certificates" +msgstr "Подешавање приказивача" + +# >> @title:window +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Open Certificate Manager" +msgstr "Подешавање приказивача" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
    Launch Certificate Manager " +"to import or manage certificates
    For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" + +# >> @title:window +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "No certificates found" +msgstr "Подешавање приказивача" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
    For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "" + +# >> @info +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "Исцртајте правоугаоник око дела странице који желите да буде видљив." + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "Текст нове белешке" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "Текст нове белешке:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgid "Author" +msgid "Author name" +msgstr "Аутор" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgctxt "Add an annotation to the page" +#| msgid "add annotation" +msgid "Author name for the annotation:" +msgstr "Додај тумачење" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "Елипса (вуците да изаберете зону)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "Истицање текста" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "Линија слободном руком" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "Уткано текстуално тумачење (вуците да изаберете зону)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "Искачућа белешка" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "Полигон (кликните на прву тачку да га затворите)" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "Правоугаоник" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "Таласасто по тексту" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "Симбол печата" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "Права линија" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "Прецртан текст" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "Подвучен текст" + +#: part/pageviewannotator.cpp:1414 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Inline Text Annotation (drag to select a zone)" +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "Уткано текстуално тумачење (вуците да изаберете зону)" + +# >> @item:inlistbox Type of geometric annotation +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "истицач" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgctxt "Add an annotation to the page" +#| msgid "add annotation" +msgid "Add favorite annotation" +msgstr "Додај тумачење" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgctxt "Change an annotation's size" +#| msgid "adjust annotation" +msgid "Custom annotation name:" +msgstr "Намести тумачење" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&Фајл" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "&Подешавање" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "&Помоћ" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "&Оријентација" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "&Обележивачи" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "Трака приказивача" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Сличице" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "Тумачења" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
    Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" +"Ова документ садржи тумачења или податке формулара сачуване интерно неким " +"претходним издањем Окулара. Интерно складиштење више није подржано." +"
    Сачувајте у фајл да бисте их преместили ако желите да наставите са " +"уређивањем документа." + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"Овај документ садржи угнежђене фајлове. Кликните овде да их видите или идите до Фајл→Угнежђени фајлови." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "Претходна" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "Врати се на претходну страницу" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "Помера на претходну страницу документа" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "Следећа" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "Продужи на следећу страницу" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "Помера на следећу страницу документа" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "Почетак документа" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "Помера на почетак документа" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "Крај документа" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "Помера на крај документа" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "Преименуј текући обележивач" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "Претходни обележивач" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "Иди на претходни обележивач" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "Следећи обележивач" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "Иди на следећи обележивач" + +#: part/part.cpp:748 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgid "Configure Okular…" +msgstr "Подеси Окулар..." + +# >> @title:window +#: part/part.cpp:751 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Configure Viewer…" +msgstr "Подешавање приказивача" + +# >> @title:window +#: part/part.cpp:757 +#, fuzzy, kde-format +#| msgid "Configure Viewer Backends" +msgid "Configure Viewer Backends…" +msgstr "Подешавање приказивачких позадина" + +# >> @title:window +#: part/part.cpp:759 +#, fuzzy, kde-format +#| msgid "Configure Backends" +msgid "Configure Backends…" +msgstr "Подешавање позадина" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "О позадини" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "&Поново учитај" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "Учитај документ поново са диска." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "Затвори траку за &претрагу" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "Број странице" + +#: part/part.cpp:817 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "Подеси Окулар..." + +#: part/part.cpp:858 +#, fuzzy, kde-format +#| msgid "Speak Current Page" +msgid "Select All Text on Current Page" +msgstr "Изговори текућу страницу" + +#: part/part.cpp:871 +#, fuzzy, kde-format +#| msgid "Show &Page Bar" +msgid "Show S&idebar" +msgstr "Прикажи &траку страница" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "Прикажи &траку страница" + +#: part/part.cpp:886 +#, fuzzy, kde-format +#| msgid "Show &Navigation Panel" +msgid "Show &Signatures Panel" +msgstr "Прикажи &навигациони панел" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "&Угнежђени фајлови" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "И&звези као" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "По&дели" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "&Презентација" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "" + +#: part/part.cpp:945 +#, fuzzy, kde-format +#| msgid "&Import PostScript as PDF..." +msgid "&Import PostScript as PDF…" +msgstr "&Увези постскрипт као ПДФ..." + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "Режим црног екрана" + +#: part/part.cpp:957 +#, fuzzy, kde-format +#| msgid "Erase Drawings" +msgid "Erase Drawing" +msgstr "Избриши цртеже" + +#: part/part.cpp:962 +#, fuzzy, kde-format +#| msgid "Configure Annotations..." +msgid "Configure Annotations…" +msgstr "Подеси тумачења..." + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "Пусти/паузирај презентацију" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" + +#: part/part.cpp:1123 +#, fuzzy, kde-format +#| msgid "Document Password" +msgid "Document can't be saved" +msgstr "Лозинка документа" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "Не могу да отворим „%1“ (%2)" + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "Учитавање %1 је отказано." + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "Не могу да отворим „%1“. Разлог: %2" + +# >> @title:window +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "Подешавање приказивачких позадина" + +# >> @title:window +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "Подешавање позадина" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"Наредба ‘ps2pdf’ није нађена, па Окулар не може да увезе ПС фајлове помоћу " +"ње." + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "‘ps2pdf’ није нађена" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "Постскрипт фајлови (%1)" + +#: part/part.cpp:1357 +#, fuzzy, kde-format +#| msgid "Importing PS file as PDF (this may take a while)..." +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "Увозим ПС фајл као ПДФ (може да потраје)..." + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "Унесите лозинку за читање документа:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "Нетачна лозинка. Покушајте поново:" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "Лозинка документа" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "Овај документ има ИксФА формуларе, који тренутно нису подржани." + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"Овај документ садржи формуларе. Кликните на дугме да интерагујете са њима " +"или користите „Приказ→Прикажи формуларе“." + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "" + +#: part/part.cpp:1739 +#, fuzzy, kde-format +#| msgid "Exit Presentation Mode" +msgid "Enter Presentation Mode" +msgstr "Изађи из режима презентације" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "" + +#: part/part.cpp:1830 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not open %1. %2" +msgstr "Не могу да отворим ‘%1’" + +#: part/part.cpp:1860 +#, fuzzy, kde-kuit-format +#| msgid "" +#| "There are unsaved changes, and the file '%1' has been modified by another " +#| "program. Your changes will be lost, because the file can no longer be " +#| "saved.
    Do you want to continue reloading the file?" +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" +"Фајл „%1“ има несачуваних измена а и изменио га је други програм. " +"Измене ће бити изгубљене зато што фајл више не може да се сачува.
    Желите ли да наставите са поновним учитавањем?" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "Фајл измењен" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "Настави учитавање" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "Обустави учитавање" + +#: part/part.cpp:1870 +#, fuzzy, kde-kuit-format +#| msgid "" +#| "There are unsaved changes, and the file '%1' has been modified by another " +#| "program. Your changes will be lost, because the file can no longer be " +#| "saved.
    Do you want to continue closing the file?" +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" +"Фајл „%1“ има несачуваних измена а и изменио га је други програм. " +"Измене ће бити изгубљене зато што фајл више не може да се сачува.
    Желите ли да наставите са затварањем?" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "Настави затварање" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "Обустави затварање" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "Желите ли да сачувате измене у „%1“ или да их одбаците?" + +# >> @title:window +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "Затварање документа" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"Ова веза показује на радњу затварања документа која не ради када се користи " +"угнежђени приказивач." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"Ова веза показује на радњу напуштања програма која не ради када се користи " +"угнежђени приказивач." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Reloading the document…" +msgstr "Поново учитавам документ..." + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "Садржај" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Иди на страницу" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "С&траница:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "Унесите име новог обележивач:" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "Преименуј овај обележивач" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "Уклони овај обележивач" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +# >> @title:window +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "Уписивање као" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "Упозорење о уписивању" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
    In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" +"Тренутни документ је заштићен лозинком.
    Да бисте га сачували, " +"фајл мора поново да се учита. Поново ће вам бити затражена лозинка и " +"изгубићете историјате опозива и понављања.
    Желите ли да наставите?" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "Не могу да отворим привремени фајл за уписивање." + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" +"Пошто га сачувате, формат тренутног документа захтева да се фајл " +"поново учита. Изгубићете историјат опозива и понављања.
    Желите ли да " +"наставите?" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "" +"Фајл није могао бити сачуван у ‘%1’. Покушајте да га сачувате на другом " +"месту." + +# >> @item +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "садржај попуњених формулара" + +# >> @item +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "корисничка тумачења" + +# ! За трапнакрон, МИМЕ-типови: Okular document archive +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" +"Пошли сте да сачувате измене, али формат тренутног фајл не подржава " +"уписивање наредних елемената. Употребите формат Окуларова архива " +"докумената да их не изгубите." + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "Упозорење" + +# ! За трапнакрон, МИМЕ-типови: Okular document archive +#: part/part.cpp:2779 part/part.cpp:2801 +#, fuzzy, kde-format +#| msgid "Save as Okular document archive..." +msgid "Save as Okular document archive…" +msgstr "Сачувај као Окуларову архиву докумената..." + +# ! За трапнакрон, МИМЕ-типови: Okular document archive +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" +"Пошли сте да сачувате измене, али формат тренутног фајл не подржава " +"уписивање наредних елемената. Употребите формат Окуларова архива " +"докумената да их не изгубите. Кликните на Настави да сачувате " +"документ и одбаците ове елементе." + +# ! За трапнакрон, МИМЕ-типови: Okular document archive +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" +"Пошли сте да сачувате измене, али формат тренутног фајл не подржава " +"уписивање наредних елемената. Употребите формат Окуларова архива " +"докумената да их не изгубите. Кликните на Настави уз губљење измена да сачувате свеједно, али ћете изгубити ове елементе као и историјат " +"опозива и понављања." + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "Настави" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "Настави уз губљење измена" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "Фајл не може да се сачува у '%1'. %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"Окулар не може да копира %1 на задато место.\n" +"\n" +"Документ више не постоји." + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" +"Фајл није могао бити сачуван у ‘%1’. Грешка: ‘%2’. Покушајте да га сачувате " +"на другом месту." + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "End Presentation" +msgid "Expand Whole Section" +msgstr "Заврши презентацију" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "End Presentation" +msgid "Collapse Whole Section" +msgstr "Заврши презентацију" + +#: part/part.cpp:3172 +#, fuzzy, kde-format +#| msgid "Link the &thumbnails with the page" +msgid "Sync Thumbnail with Page" +msgstr "Повежи с&личице са страницом" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Алатке" + +#: part/part.cpp:3381 +#, fuzzy, kde-format +#| msgid "Speak Text" +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "Изговори текст" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "Штампање" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "Штампање овог документа није дозвољено." + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"Не могу да одштампам документ. Непозната грешка. Пријавите ово на bugs.kde." +"org." + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"Не могу да одштампам документ. Грешка је „%1“. Пријавите ово на bugs.kde.org." + +# >> @info:whatsthis +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "Идите на место на коме сте били пре." + +# >> @info:whatsthis +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "Идите на место на коме сте били после." + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"Грешка фајла! Не могу да направим привремени фајл " +"%1." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"Грешка фајла! Не могу да отворим фајл %1 зарад распакивања. Фајл неће бити учитан." + +#: part/part.cpp:3751 +#, fuzzy, kde-format +#| msgid "" +#| "This error typically occurs if you do not have enough permissions to " +#| "read the file. You can check ownership and permissions if you right-click " +#| "on the file in the Dolphin file manager and then choose the 'Properties' " +#| "tab." +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"До ове грешке обично долази ако немате довољно дозвола за читање фајла. " +"Власништво и дозволе можете да проверите ако кликнете десним на фајл у " +"менаџеру фајлова Делфину и изаберете језичак Својства." + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"Грешка фајла! Не могу да распакујем %1. Фајл неће бити учитан." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"Ова грешка се обично јавља ако је фајл покварен. Ако желите да будете " +"сигурни, покушајте да га распакујете ручно помоћу наредби из командне линије." +"" + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "Нема обележивача" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "Проблем при дељењу документа: %1" + +# >> @title:window +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "Дељење" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "Документ успешно подељен." + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "Подељени документ можете наћи на: %1" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "&Уређивање" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "&Приказ" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&Кретање" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "&Алатке" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "Главна трака" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgid "Annotation Toolbar" +msgstr "Алатке тумачења" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgid "Quick Annotation Toolbar" +msgstr "Алатке тумачења" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "Опште опције" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Приступачност" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "Помоћи за читање" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Перформансе" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "Штеловање перформанси" + +# >> @title:window +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "Подешавање приказивача" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Презентација" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "Опције за режим презентације" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "Опције тумачења" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "Уређивач" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "Опције уређивача" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "Наћи следеће" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 – презентација" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "Промени екран" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "Екран %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "Изађи из режима презентације" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Наслов: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Странице: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "Кликните да почнете" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "Паузирај" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "Пусти" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"Постоје два начина да се изађе из режима презентације. Можете притиснути " +"тастер Esc; или кликнути на дугме за напуштање које се појављује кад " +"показивач миша доведете у горњи десни угао. Наравно, можете и кружити кроз " +"прозоре (подразумевано је Alt+Tab)." + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "Презентација у току" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "Непознат фајл" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "Својства %1" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "&Фонтови" + +#: part/propertiesdialog.cpp:145 +#, fuzzy, kde-format +#| msgid "Reading font information..." +msgid "Reading font information…" +msgstr "Читам информације о фонту..." + +#: part/propertiesdialog.cpp:158 +#, fuzzy, kde-format +#| msgid "&Page Size" +msgid "&Page Sizes" +msgstr "&Величина странице" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "&Извади фонт" + +# >> @item:intext +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "тип‑1" + +# >> @item:intext +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "тип‑1Ц" + +# >> @item:intext +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "тип‑1Ц (ОТ)" + +# >> @item:intext +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "тип‑3" + +# >> @item:intext +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "трутајп" + +# >> @item:intext +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "трутајп (ОТ)" + +# >> @item:intext +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "ЦИД тип‑0" + +# >> @item:intext +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "ЦИД тип‑0Ц" + +# >> @item:intext +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "ЦИД тип‑0Ц (ОТ)" + +# >> @item:intext +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "ЦИД трутајп" + +# >> @item:intext +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "ЦИД трутајп (ОТ)" + +# >> @item:intext +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "техов ПК" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "техов виртуелни" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "техова метрика фонта" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "техов преко Фритајпа" + +# >> @item:intext Unknown font type +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "непознат" + +# >> @item:intext Font source +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "угнежђен (подскуп)" + +# >> @item:intext Font source +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "потпуно угнежђен" + +# >> @item:intext Embedded: No +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "не" + +# >> @item:intext Embedded: Yes (subset) +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "да (подскуп)" + +# >> @item:intext Embedded: Yes +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "да" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "не постоји" + +# >> @title Font name as tooltip header +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "Непознат фонт" + +# >> @label Font is embedded: yes/no/... +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "Угнежђен: %1" + +# >> @title:column +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "име" + +# >> @title:column +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "тип" + +# >> @title:column +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "фајл" + +#: part/propertiesdialog.cpp:498 +#, fuzzy, kde-format +#| msgid "Pages" +msgid "Page" +msgstr "Страница" + +#: part/propertiesdialog.cpp:501 +#, fuzzy, kde-format +#| msgctxt "@title:column" +#| msgid "Size" +msgid "Size" +msgstr "величина" + +#: part/revisionviewer.cpp:41 +#, fuzzy, kde-format +#| msgid "Print Preview" +msgid "Revision Preview" +msgstr "Преглед пред штампање" + +#: part/revisionviewer.cpp:53 +#, fuzzy, kde-format +#| msgid "Where do you want to save %1?" +msgid "Where do you want to save this revision?" +msgstr "Где желите да сачувате ‘%1’?" + +#: part/revisionviewer.cpp:56 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not save file %1." +msgstr "Не могу да отворим ‘%1’" + +#: part/revisionviewer.cpp:75 +#, fuzzy, kde-format +#| msgid "Could not open %1. Reason: %2" +msgid "Could not view revision." +msgstr "Не могу да отворим „%1“. Разлог: %2" + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "Унесите бар три слова за филтрирање страница" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "Разликуј величину слова" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "Поклопи фразу" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "Поклопи све речи" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "Поклопи неку реч" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "Опције филтера" + +# >> @title:window +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Certificates" +msgstr "Подешавање приказивача" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "" + +# >> @title:window +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Only QES certificates" +msgstr "Подешавање приказивача" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, fuzzy, kde-format +#| msgid "Options" +msgid "optional" +msgstr "Опције" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Location:" +msgstr "%1 тумачење" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, fuzzy, kde-format +#| msgid "Background color:" +msgid "Background:" +msgstr "Позадинска боја:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, fuzzy, kde-format +#| msgid "Use custom background color" +msgid "Recent backgrounds:" +msgstr "Посебна позадинска боја" + +#: part/side_reviews.cpp:66 +#, fuzzy, kde-format +#| msgid "" +#| "

    No annotations

    To create new annotations press " +#| "F6 or select Tools -> Review from the menu.
    " +msgid "" +"

    No annotations

    To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
    " +msgstr "" +"

    Нема тумачења

    Да бисте направили ново тумачење " +"притисните F6 или изаберите Алатке→Преглед из менија.
    " + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "Групиши по страницама" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "Групиши по аутору" + +#: part/side_reviews.cpp:155 +#, fuzzy, kde-format +#| msgid "Show reviews for current page only" +msgid "Show annotations for current page only" +msgstr "Прикажи прегледе само за текућу страницу" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "" + +#: part/signaturepanel.cpp:101 +#, fuzzy, kde-format +#| msgid "&Properties" +msgid "Properties" +msgstr "&Својства" + +#: part/signaturepartutils.cpp:180 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Странице: %1" + +#: part/signaturepartutils.cpp:181 +#, fuzzy, kde-format +#| msgid "Use custom background color" +msgid "Select background image" +msgstr "Посебна позадинска боја" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "" + +#: part/signaturepartutils.cpp:244 +#, fuzzy, kde-format +#| msgid "Document Password" +msgid "Enter document password" +msgstr "Лозинка документа" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "" + +# >> @item:inlistbox Stamp Symbol +#: part/signaturepropertiesdialog.cpp:63 +#, fuzzy, kde-format +#| msgid "Information" +msgid "Additional Information" +msgstr "информација" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:83 +#, fuzzy, kde-format +#| msgid "Document Password" +msgid "Document Version" +msgstr "Лозинка документа" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "" + +# >> @title:window +#: part/signaturepropertiesdialog.cpp:95 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "View Certificate…" +msgstr "Подешавање приказивача" + +# >> @title:window +#: part/signaturepropertiesdialog.cpp:97 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "View in Certificate Manager" +msgstr "Подешавање приказивача" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "Прикажи само обележене странице" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "Пусти" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Паузирај" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "Заустави" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, fuzzy, kde-format +#| msgid "&Edit" +msgid "&Edit…" +msgstr "&Уређивање" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "У&клони" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "Помери на&горе" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "Помери на&доле" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "Подразумевана алатка цртања #%1" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "Већ постоји алатка са таквим именом, узимам подразумевано." + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "Дупликат имена" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "Страница документа за приказивање" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "Отвори документ у режиму презентације" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "Покрени на дијалогу за штампање" + +#: shell/main.cpp:78 +#, fuzzy, kde-format +#| msgid "Start with print dialog" +msgid "Start with print dialog and exit after printing" +msgstr "Покрени на дијалогу за штампање" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "Контрола „јединственог примерка“" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "Не подижи прозор" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "Документи за отварање. Задајте ‘-’ за читање са стдул." + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "Грешка: уз опцију --unique може да се отвори само један документ" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "Грешка: уз опцију --presentation може да се отвори само један документ" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "Грешка: уз опцију --print може да се отвори само један документ" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "Грешка: уз опцију --page може да се отвори само један документ" + +#: shell/okular_main.cpp:210 +#, fuzzy, kde-format +#| msgid "Error: Can't open more than one document with the --print switch" +msgid "Error: Can't open more than one document with the --find switch" +msgstr "Грешка: уз опцију --print може да се отвори само један документ" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "Не могу да пронађем компоненту Окулара: %1" + +#: shell/shell.cpp:250 +#, fuzzy, kde-format +#| msgid "Show &Page Bar" +msgid "Sidebar" +msgstr "Прикажи &траку страница" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" +"Јединствени примерак Окулара већ је у погону. Овај примерак неће бити " +"јединствени." + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "Не могу да пронађем део Окулара." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"Кликните да отворите фајл\n" +"Кликните и држите да отворите недавни фајл" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"Кликните да отворите фајл или кликните и држите да изаберете " +"недавни фајл" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "Следећи језичак" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "Претходни језичак" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "" + +#: shell/shell.cpp:603 +#, fuzzy, kde-format +#| msgid "Show &Page Bar" +msgid "Lock Sidebar" +msgstr "Прикажи &траку страница" + +# >> @item +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "сви фајлови (*)" + +# >> @item +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "сви подржани фајлови (%1)" + +# >> @title:window +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "Отварање документа" + +# >> @title:window +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "Потврда затварања" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "Затвори језичке" + +# >! Plurals. +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "" +"Овим ћете затворити %1 језичака. Желите ли заиста да наставите?|/|Овим ћете " +"затворити %1 $[множ ^1 језичак језичка језичака]. Желите ли заиста да " +"наставите?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "Упозори ме на покушај затварања више језичака" + +#: shell/welcomescreen.cpp:64 +#, fuzzy, kde-format +#| msgid "Copy Text" +msgid "&Copy Path" +msgstr "Копирај текст" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "" + +#: shell/welcomescreen.cpp:137 +#, fuzzy, kde-format +#| msgid "Current document only" +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "Само текући документ" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "" + +# >> @title:window +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, fuzzy, kde-format +#| msgid "Open Document" +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Отварање документа" + +# >> @title:window +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, fuzzy, kde-format +#| msgid "Open Document" +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Отварање документа" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "" + +# >> @title +#~ msgid "Geometry" +#~ msgstr "Геометрија" + +#~ msgid "Modified: %1" +#~ msgstr "Измењен: %1" + +#~ msgid "Find..." +#~ msgstr "Нађи..." + +#~ msgid "Go To Page..." +#~ msgstr "Иди на страницу..." + +#~ msgid "Play movie..." +#~ msgstr "Пусти филм..." + +#, fuzzy +#~| msgid "S&earch:" +#~ msgid "Search..." +#~ msgstr "&Тражи:" + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "Сачувај &као..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "&Прикажи..." + +#~ msgid "Configure Viewer..." +#~ msgstr "Подеси приказивач..." + +#~ msgid "Configure Viewer Backends..." +#~ msgstr "Подеси приказивачке позадине..." + +#~ msgid "Configure Backends..." +#~ msgstr "Подеси позадине..." + +#~ msgid "&Add..." +#~ msgstr "&Додај..." + +#~ msgid "&Edit..." +#~ msgstr "&Уреди..." + +# >> @item:intext +#, fuzzy +#~| msgctxt "Unknown author" +#~| msgid "Unknown" +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "непознат" + +#, fuzzy +#~| msgid "%" +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr "%" + +# well-spelled: пикс +#~ msgctxt "Suffix for the pen width, eg '10 px'" +#~ msgid " px" +#~ msgstr " пикс." + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " %" + +#, fuzzy +#~| msgid "%" +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%" + +#, fuzzy +#~| msgid "Fit Width" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "уклопљена ширина" + +#, fuzzy +#~| msgid "Fit Page" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "уклопљена страница" + +#, fuzzy +#~| msgid "Auto Fit" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Auto Fit" +#~ msgstr "уклопљено аутоматски" + +#~ msgid "*|All Files" +#~ msgstr "*|Сви фајлови" + +#~ msgid "Draw border around &Images" +#~ msgstr "Цртај ивицу око с&лика" + +#~ msgid "Identity" +#~ msgstr "Идентитет" + +#, fuzzy +#~| msgid "&Author:" +#~ msgid "Au&thor:" +#~ msgstr "&Аутор:" + +#~ msgid "View Options" +#~ msgstr "Опције приказа" + +#~ msgctxt "@info:whatsthis" +#~ msgid "" +#~ "Defines the default zoom mode for files which were never opened before.\n" +#~ "For files which were opened before the previous zoom is applied." +#~ msgstr "" +#~ "Одређује подразумевани режим увеличања за први пут отворене фајлове.\n" +#~ "На фајлове који су раније отварани примењује се претходно увеличање." + +#~ msgid "Navigation" +#~ msgstr "Навигација" + +#~ msgid "Advance every:" +#~ msgstr "Напредуј сваких:" + +#~ msgid "Enable transitions" +#~ msgstr "Омогући прелазе" + +#~ msgid "Placement" +#~ msgstr "Позиционирање" + +#~ msgid "Screen:" +#~ msgstr "Екран:" + +#~ msgid "Drawing Tool Configuration" +#~ msgstr "Постава алатке цртања" + +#~ msgid "&Get Books From Internet..." +#~ msgstr "&Добави књиге са Интернета..." + +#~ msgid "" +#~ "The file '%1' has been modified by another program, which means it can no " +#~ "longer be saved." +#~ msgstr "" +#~ "Неки други програм је изменио фајл „%1“, што значи да више не може да се " +#~ "сачува." + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "@item:inlistbox Color name" +#~ msgid "%1" +#~ msgstr "%1:" + +# >> @item:inlistbox Stamp Symbol +#, fuzzy +#~| msgid "Experimental" +#~ msgctxt "@title:window" +#~ msgid "Experimental feature" +#~ msgstr "експериментално" + +#~ msgid "Remove Bookmarks" +#~ msgstr "Уклони обележиваче" + +#~ msgid "&Toggle Change Colors" +#~ msgstr "&Пребаци промену боја" + +#~ msgid "Hide Forms" +#~ msgstr "Сакриј формуларе" + +#, fuzzy +#~| msgctxt "Add an annotation to the page" +#~| msgid "add annotation" +#~ msgid "Bookmark annotation" +#~ msgstr "Додај тумачење" + +#~ msgid "Reviews" +#~ msgstr "Прегледи" diff --git a/po/sr/okular_comicbook.po b/po/sr/okular_comicbook.po new file mode 100644 index 0000000..da55c8d --- /dev/null +++ b/po/sr/okular_comicbook.po @@ -0,0 +1,48 @@ +# Translation of okular_comicbook.po into Serbian. +# Slobodan Simic , 2009. +# Chusslove Illich , 2010, 2017. +msgid "" +msgstr "" +"Project-Id-Version: okular_comicbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2017-09-28 17:59+0200\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Generator: KBabel 1.11.4\n" +"X-Environment: kde\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Слободан Симић" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "slsimic@gmail.com" + +#: document.cpp:97 +#, fuzzy, kde-format +#| msgid "Cannot open document, unrar was not found." +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "Не могу да отворим документ, unrar није нађена." + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "Верзија unrar на систему није подесна за отварање комикбука." + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "Непознат формат комикбука." diff --git a/po/sr/okular_djvu.po b/po/sr/okular_djvu.po new file mode 100644 index 0000000..3034aac --- /dev/null +++ b/po/sr/okular_djvu.po @@ -0,0 +1,103 @@ +# Translation of okular_djvu.po into Serbian. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Slobodan Simic , 2007. +# Zoran Olujic , 2010. +# Chusslove Illich , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_djvu\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-10-05 22:02+0200\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Слободан Симић" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "slsimic@gmail.com" + +# skip-rule: t-editor +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "Уредник" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "Издавач" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "Свеска" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "Врста документа" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "непознато" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "Саставних фајлова" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "непозната" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "једнострани" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "комплет" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "индиректни" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "комплет (стари)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "индексирани (стари)" diff --git a/po/sr/okular_dvi.po b/po/sr/okular_dvi.po new file mode 100644 index 0000000..83d1ba3 --- /dev/null +++ b/po/sr/okular_dvi.po @@ -0,0 +1,584 @@ +# Translation of okular_dvi.po into Serbian. +# Slobodan Simic , 2007. +# Zoran Olujic , 2010. +# Chusslove Illich , 2010, 2013, 2014, 2017. +# Dalibor Djuric , 2010. +msgid "" +msgstr "" +"Project-Id-Version: okular_dvi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2017-09-28 17:59+0200\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" +"X-Associated-UI-Catalogs: okular\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Зоран Олујић" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "olujicz@gmail.com" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

    Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

    Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

    " +msgstr "" +"

    Окулар не може да нађе наредбу dvipdfm на овом рачунару. Она " +"је неопходна за рад функције извоза. ДВИ фајл можете да претворите у ПДФ и " +"употребом функције извоза у Окулару, али ће такав документ добро изгледати " +"само на папиру, док ће бити лошијег квалитета у Акробату читачу. Зато је " +"ипак најбоље да доградите дистрибуцију теха на новију верзију, која садржи и " +"наредбу dvipdfm.

    Савет збуњеном систем-администратору: Окулар " +"тражи наредбе кроз променљиву окружења $PATH.

    " + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Спољашња наредба dvipdfm, употребљена за извоз фајла, пријавила " +"је грешку. Детаљнији извештај о грешци можете наћи у дијалогу " +"података о документу, који позивате кроз мени Фајл." + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" +"Овај ДВИ фајл указује на спољашње графичке фајлове који нису у формату " +"постскрипт, те не могу бити обрађени наредбом dvips, коју Окулар " +"интерно користи за штампање и извоз у постскрипт. Функционалност коју " +"захтевате недостаје у овој верзији Окулара." + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

    Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

    Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

    " +msgstr "" +"

    Окулар не може да пронађе наредбу dvips на овом рачунару. " +"Она је кључна за рад функције извоза.

    Савет збуњеном систем-" +"администратору: Окулар тражи наредбе кроз променљиву окружења $PATH." +"

    " + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Спољашња наредба dvips, употребљена за извоз фајла, пријавила " +"је грешку. Детаљнији извештај о грешци можете наћи у дијалогу " +"података о документу, који позивате кроз мени Фајл." + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "ДВИ фајл не почиње преамбулом." + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" +"ДВИ фајл садржи погрешну верзију ДВИ излаза за ову наредбу. Савет: Ако " +"користите словослагачки систем Омега, тада ћете морати да користите и " +"посебну наредбу, као што је oxdvi." + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "ДВИ фајл је знатно искварен. Окулар не може да пронађе постамбулу." + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "Постамбула не почиње наредбом „POST“." + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "Постамбула садржи неку другу наредбу осим „FNTDEF“." + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "Страница %1 не почиње наредбом „BOP“." + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

    The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

    What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

    PATH: %2

    " +msgstr "" +"

    Спољашња наредба pdf2ps не може да се изврши, те није могуће " +"претворити ПДФ фајл %1 у постскрипт. Због овога неће бити приказани " +"неки графички елементи документа.

    Могући разлози: Наредба " +"pdf2ps можда није инсталирана, или се не може наћи кроз тренутну " +"путању претраге.

    Шта можете да урадите: Наредба pdf2ps " +"обично стиже у дистрибуцијама Гостскрипта, интерпретаторског система за " +"постскрипт. Ако Гостскрипт није инсталиран, могли бисте га инсталирати сада. " +"Ако сте сигурни да је Гостскрипт инсталиран, покушајте да извршите " +"pdf2ps из командне линије да проверите да ли заиста ради.

    $PATH: %2

    " + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

    The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

    %2

    " +msgstr "" +"

    ПДФ фајл %1 не може да се претвори у постскрипт. Због овога " +"неће бити приказани неки графички елементи документа.

    Могући " +"разлози: Фајл је можда искварен, или можда уопште није ПДФ фајл. Наредба " +"pdf2ps, коју је Окулар употребио, исписала је следеће:

    %2

    " + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "Фајл је искварен. %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "Неки постскрипт фајлови не могу да буду угнежђени у документ. %1" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "Сви спољашњи постскрипт фајлови угнежђени су у документ." + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "Задати фајл ‘%1’ не постоји." + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" +"Затражили сте од Окулара да нађе место у ДВИ фајлу које одговара реду %1 у " +"тех фајлу ‘%2’. Изгледа, међутим, да ДВИ фајл не садржи неопходне податке о " +"изворном фајлу." + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" +"Окулар не може да нађе место у ДВИ фајлу које одговара реду %1 у тех фајлу " +"‘%2’." + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "ДВИ ко̂д наводи знак из непознатог фонта." + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "ДВИ ко̂д помиње фонт #%1, који није претходно дефинисан." + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "Стек није био празан када је наишла наредба „EOP“." + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "Стек је био празан када је наишла наредба „POP“." + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "ДВИ ко̂д помиње фонт који није претходно дефинисан." + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "Наишла је недозвољена наредба." + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "Наишао је непознати оп‑ко̂д %1." + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "Угнежђујем %1" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
    " +msgstr "" +"Страница %1: Не могу да претворим ПДФ фајл %2 у постскрипт." +"
    " + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
    " +msgstr "" +"Страница %1: Не могу да нађем постскрипт фајл %2.
    " + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "Не могу да рашчланим податке о величини папира „%1“." + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

    Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

    PATH: %1

    %2

    " +msgstr "" +"

    Окулар не може да пронађе све фајлове фонтове који су потребни за " +"приказивање текућег ДВИ фајла. Документ може бити нечитљив.

    $PATH: %1

    %2

    " + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

    There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
    Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

    PATH: %1

    %2

    " +msgstr "" +"

    Било је проблема при извршавању kpsewhich. Последица је да " +"неки фајлови фонтова нису нађени, и документ може бити нечитљив.

    Могући разлог: наредба kpsewhich можда није инсталирана на " +"систему, или није доступна кроз тренутну путању претраге.

    $PATH: %1

    %2

    " + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" +"Прекинуто је генерисање фонтова помоћу kpsewhich (излазни ко̂д " +"%1, грешка %2). Због овога неки фонтови нису пронађени, и документ може бити " +"нечитљив." + +#: fontpool.cpp:482 +#, fuzzy, kde-format +#| msgid "Currently generating %1 at %2 dpi..." +msgid "Currently generating %1 at %2 dpi…" +msgstr "Тренутно генеришем %1 при %2 тпи..." + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "Генератор/датум" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "Фонт није пронађен" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "портрет" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "пејзаж" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" +"Верзија Гоствјуа инсталирана на овом рачунару не садржи ниједан драјвер " +"уређаја који Окулар познаје. Због овога је искључена подршка за постскрипт у " +"Окулару." + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "" +"Нађено је 25 грешака до сада. Даље поруке о грешкама неће бити приказане." + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" +"Грешка у ДВИ фајлу ‘%1’, на страници %2. Издата је наредба „POP“ за боју док " +"је стек за боје празан." + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" +"Лоше формиран параметар у специјалној наредби „epsf“.\n" +"Очекиван је реалан број након %1 у %2." + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"Фајл није пронађен:\n" +" %1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" +"Грешка у ДВИ фајлу ‘%1’, страница %2. Не могу да интерпретирам угао у " +"специјалној наредби ротације текста." + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "Специјална наредба „%1“ није изведена." + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" +"Фајл фонта ‘%1’ може да се отвори и прочита, али формат фонта није подржан." + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "" +"Фајл фонта ‘%1’ или је покварен, или не може да се отворили или прочита." + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" +"Фритајп пријављује грешку при постављању величине знакова за фајл фонта ‘%1’." + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "Фритајп не може да учита глиф #%1 из фајла фонта ‘%2’." + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "Фритајп не може да изрендерује глиф #%1 из фајла фонта ‘%2’." + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "Глиф #%1 је празан." + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "Глиф #%1 из фајла фонта ‘%2’ је празан." + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "Фритајп не може да учита метрику за глиф #%1 из фајла фонта ‘%2’." + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "Не могу да отворим фајл фонта ‘%1’." + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "TexFont_PK::operator[]: Знак %1 није дефинисан у фонту %2." + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "Неочекивано %1 у ПК фајлу ‘%2’." + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "Знак %1 је превише велики у фајлу ‘%2’." + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "Ускладиштен погрешан број битова: знак %1, фонт %2." + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "Лош ПК фајл (%1), превише битова." + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "Фонт има неквадратну пропорцију." + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "Не могу да нађем фонт %1, фајл ‘%2’." + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "Неслагање контролне суме за фајл фонта ‘%1’." + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "Не могу да препознам формат фајла фонта ‘%1’." + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"Кобна грешка.\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" +"\n" +"Ово вероватно значи да сте или нашли грешку у Окулару, или да су ДВИ " +"фајл или допунски фајлови (попут фајлова фонтова или виртуелних фонтова) " +"озбиљно искварени. Окулар ће обуставити рад после ове поруке. Ако мислите да " +"сте пронашли грешку, или да Окулар треба боље да се снађе у овој ситуацији, " +"пријавите овај проблем." + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "Погрешан командни бајт пронађен у VF макро листи: %1" + +#~ msgid "" +#~ "

    The Ghostview program, which Okular uses internally to display the " +#~ "PostScript graphics that is included in this DVI file, is generally able " +#~ "to write its output in a variety of formats. The sub-programs that " +#~ "Ghostview uses for these tasks are called 'device drivers'; there is one " +#~ "device driver for each format that Ghostview is able to write. Different " +#~ "versions of Ghostview often have different sets of device drivers " +#~ "available. It seems that the version of Ghostview that is installed on " +#~ "this computer does not contain any of the device drivers " +#~ "that are known to Okular.

    It seems unlikely that a regular " +#~ "installation of Ghostview would not contain these drivers. This error may " +#~ "therefore point to a serious misconfiguration of the Ghostview " +#~ "installation on your computer.

    If you want to fix the problems with " +#~ "Ghostview, you can use the command gs --help to display " +#~ "the list of device drivers contained in Ghostview. Among others, Okular " +#~ "can use the 'png256', 'jpeg' and 'pnm' drivers. Note that Okular needs to " +#~ "be restarted to re-enable PostScript support.

    " +#~ msgstr "" +#~ "

    За приказивање постскрипт графике укључене у овај ДВИ фајл Окулар " +#~ "интерно користи програм Гоствју, који може да произведе многе различите " +#~ "формате на излазу. Потпрограми које Гоствју користи у ову сврху називају " +#~ "се „драјверима уређаја“, по један за сваки формат који Гоствју може да " +#~ "запише. Различита издања Гоствјуа често имају различите скупове драјвера. " +#~ "Изгледа да издање Гоствјуа инсталирано на овом рачунару не садржи " +#~ "ниједан драјвер познат Окулару.

    Мало је вероватно " +#~ "да исправна инсталација Гоствјуа не садржи ниједан драјвер. Стога ова " +#~ "грешка вероватно указује на озбиљне грешке у постави Гоствјуа на овом " +#~ "рачунару.

    Уколико желите да отклоните проблеме са Гоствјуом, можете " +#~ "извршити наредбу gs --help да добијете списак драјвера које " +#~ "Гоствју садржи. Између осталих, Окулар може да користи драјвере " +#~ "png256, jpeg и pnm. Окулар мора бити поново " +#~ "покренут да би се поново проверила подршка за постскрипт.

    " diff --git a/po/sr/okular_epub.po b/po/sr/okular_epub.po new file mode 100644 index 0000000..5d935de --- /dev/null +++ b/po/sr/okular_epub.po @@ -0,0 +1,46 @@ +# Translation of okular_epub.po into Serbian. +# Slobodan Simic , 2009. +# Chusslove Illich , 2010, 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_epub\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-06-01 14:47+0200\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Generator: KBabel 1.11.4\n" +"X-Environment: kde\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Слободан Симић" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "slsimic@gmail.com" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "Грешка при отварању ЕПУБ документа." + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "ЕПУБ" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "Постава позадине за ЕПУБ" diff --git a/po/sr/okular_fax.po b/po/sr/okular_fax.po new file mode 100644 index 0000000..4b333f7 --- /dev/null +++ b/po/sr/okular_fax.po @@ -0,0 +1,36 @@ +# Translation of okular_fax.po into Serbian. +# Slobodan Simic , 2009. +# Chusslove Illich , 2010. +msgid "" +msgstr "" +"Project-Id-Version: okular_fax\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-03-11 20:29+0100\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Generator: KBabel 1.11.4\n" +"X-Environment: kde\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Слободан Симић" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "slsimic@gmail.com" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "Не могу да учитам документ" diff --git a/po/sr/okular_fictionbook.po b/po/sr/okular_fictionbook.po new file mode 100644 index 0000000..7b022eb --- /dev/null +++ b/po/sr/okular_fictionbook.po @@ -0,0 +1,75 @@ +# Translation of okular_fictionbook.po into Serbian. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Slobodan Simic , 2007. +# Zoran Olujic , 2010. +# Chusslove Illich , 2010, 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_fictionbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-06-01 14:47+0200\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Зоран Олујић" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "olujicz@gmail.com" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "Документ није правилан фикшнбук" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "Не могу да отворим документ: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "Документ није правилна ЗИП архива" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "Неправилна структура документа (недостаје главна фасцикла)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "У документу нема садржаја" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "Неправилан ИксМЛ документ: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "Фикшнбук" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "Постава позадине за фикшнбук" diff --git a/po/sr/okular_ghostview.po b/po/sr/okular_ghostview.po new file mode 100644 index 0000000..0707973 --- /dev/null +++ b/po/sr/okular_ghostview.po @@ -0,0 +1,84 @@ +# Translation of okular_ghostview.po into Serbian. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Slobodan Simic , 2007. +# Zoran Olujic , 2010. +# Chusslove Illich , 2010. +# Dalibor Djuric , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_ghostview\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-03-16 11:25+0100\n" +"Last-Translator: Dalibor Djuric \n" +"Language-Team: Serbian \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Зоран Олујић" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "olujicz@gmail.com" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "Користи системске фонтове" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"Одређује да ли је Гостскрипту дозвољено да користи системске фонтове. Ако " +"није, моћи ће да користи само фонтове угнежђене у документу." + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "Опште поставке" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "&Користи системске фонтове" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Гостскрипт" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Поставке позадине за Гостскрипт" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "Верзија документа" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "Ниво језика" diff --git a/po/sr/okular_kimgio.po b/po/sr/okular_kimgio.po new file mode 100644 index 0000000..f6117b2 --- /dev/null +++ b/po/sr/okular_kimgio.po @@ -0,0 +1,48 @@ +# Translation of okular_kimgio.po into Serbian. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Slobodan Simic , 2007. +# Zoran Olujic , 2010. +# Chusslove Illich , 2010, 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_kimgio\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2017-12-03 22:53+0100\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Слободан Симић" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "slsimic@gmail.com" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "Не могу да учитам документ: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" +"Документ делује искварено. Ово је најбоље тумачење његовог жељеног изгледа." diff --git a/po/sr/okular_markdown.po b/po/sr/okular_markdown.po new file mode 100644 index 0000000..dcb8a59 --- /dev/null +++ b/po/sr/okular_markdown.po @@ -0,0 +1,55 @@ +# Translation of okular_markdown.po into Serbian. +# Chusslove Illich , 2017. +msgid "" +msgstr "" +"Project-Id-Version: okular_markdown\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2017-09-25 19:53+0200\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Часлав Илић" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "caslav.ilic@gmx.net" + +#: converter.cpp:59 converter.cpp:93 +#, fuzzy, kde-format +#| msgid "Failed to compile the Markdown document." +msgid "Failed to open the document" +msgstr "Не могу да компилујем маркдаун документ." + +#: converter.cpp:106 converter.cpp:124 +#, kde-format +msgid "Failed to compile the Markdown document." +msgstr "Не могу да компилујем маркдаун документ." + +#: generator_md.cpp:58 +#, kde-format +msgid "Enable SmartyPants formatting" +msgstr "" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown" +msgstr "Маркдаун" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown Backend Configuration" +msgstr "Подешавање позадине маркдауна" diff --git a/po/sr/okular_mobi.po b/po/sr/okular_mobi.po new file mode 100644 index 0000000..43b3ac7 --- /dev/null +++ b/po/sr/okular_mobi.po @@ -0,0 +1,51 @@ +# Translation of okular_mobi.po into Serbian. +# Chusslove Illich , 2010, 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_mobi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-06-01 14:47+0200\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Часлав Илић" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "caslav.ilic@gmx.net" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Грешка при отварању мобипокет документа." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "" +"Ова књига је заштићена ДРМ‑ом и може се приказати само на назначеном уређају." + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "Мобипокет" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "Постава позадине за Мобипокет" diff --git a/po/sr/okular_poppler.po b/po/sr/okular_poppler.po new file mode 100644 index 0000000..4d454b8 --- /dev/null +++ b/po/sr/okular_poppler.po @@ -0,0 +1,379 @@ +# Translation of okular_poppler.po into Serbian. +# Slobodan Simic , 2007. +# Zoran Olujic , 2010. +# Chusslove Illich , 2010, 2012, 2013. +# Dalibor Djuric , 2010. +msgid "" +msgstr "" +"Project-Id-Version: okular_poppler\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-03-03 22:14+0100\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Зоран Олујић" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "olujicz@gmail.com" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "" + +# skip-rule: t-line +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "Појачај танке линије:" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "не" + +# >? What does this look like? +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "пуне" + +# >? What does this look like? +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "уобличене" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "Опције ПДФ‑а" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "Штампај тумачења" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "Укључи тумачења у одштампани документ" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"Укључује тумачења у одштампани документ. Ово можете искључити ако желите да " +"одштампате изворни документ без тумачења." + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "Наметни растеризацију" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "Растеризује у слику пре штампања" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"Намеће растеризацију сваке странице у слику пре него што се одштампа. Ово " +"обично даје нешто лошије резултате, али је корисно за штампање докумената " +"који иначе изгледају неисправно одштампани." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "ПДФ вер. %1.%2" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "Формат" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "Шифрован" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "Нешифрован" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "Безбедност" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "да" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "Оптимизација" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "ПДФ" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "Подешавање позадине за ПДФ" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter Password" +msgstr "" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "" diff --git a/po/sr/okular_txt.po b/po/sr/okular_txt.po new file mode 100644 index 0000000..e419392 --- /dev/null +++ b/po/sr/okular_txt.po @@ -0,0 +1,39 @@ +# Translation of okular_txt.po into Serbian. +# Chusslove Illich , 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_txt\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-06-01 14:47+0200\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Часлав Илић" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "caslav.ilic@gmx.net" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "Текст" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "Постава позадине за текст" diff --git a/po/sr/okular_xps.po b/po/sr/okular_xps.po new file mode 100644 index 0000000..0191dcb --- /dev/null +++ b/po/sr/okular_xps.po @@ -0,0 +1,40 @@ +# Translation of okular_xps.po into Serbian. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Slobodan Simic , 2007. +# Zoran Olujic , 2010. +# Chusslove Illich , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_xps\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-03-11 20:29+0100\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Слободан Симић" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "slsimic@gmail.com" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "Ревизија" diff --git a/po/sr@ijekavian/okular.po b/po/sr@ijekavian/okular.po new file mode 100644 index 0000000..b91d0cd --- /dev/null +++ b/po/sr@ijekavian/okular.po @@ -0,0 +1,6653 @@ +# Translation of okular.po into Serbian. +# Toplica Tanaskovic , 2003, 2004. +# Slobodan Simic , 2003, 2005. +# Chusslove Illich , 2005, 2006, 2007, 2010, 2012, 2013, 2014, 2015, 2016, 2017. +# Filip Brcic , 2008. +# Zoran Olujic , 2010. +# Dalibor Djuric , 2010. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2017-12-15 12:38+0100\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@ijekavian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Слободан Симић,Часлав Илић,Филип Брчић" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "slsimic@gmail.com,caslav.ilic@gmx.net,brcha@gna.org" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Окулар" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Окулар, универзални приказивач докумената" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"© 2002, Вилко Гревен, Кристоф Деврис\n" +"© 2004–2005, Енрико Рос\n" +"© 2005, Пјотр Шимањски\n" +"© 2004–2017, Алберт Асталс Сид\n" +"© 2006–2009, Пино Тоскано" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "Бивши одржавалац" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "" + +#: aboutdata.h:32 +#, fuzzy, kde-format +#| msgid "Lots of framework work, ODT and FictionBook backends" +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "Много посла на радном оквиру, позадине за ОДТ и фикшнбук" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "Програмер" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "Направио Окулар од КПДФ‑овог изворног кода" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "Програмер КПДФ‑а" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "Графика за тумачења" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "Алатка избора табеле" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "Побољшања тумачења" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "Иди на страницу %1" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "Отвори спољни фајл" + +#: core/action.cpp:197 +#, fuzzy, kde-format +#| msgid "Execute '%1'..." +msgid "Execute '%1'…" +msgstr "Изврши '%1'..." + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "Прва страница" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "Претходна страница" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "Сљедећа страница" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "Посљедња страница" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "Назад" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "Напријед" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Напусти" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "Почни презентацију" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "Заврши презентацију" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go To Page…" +msgstr "Иди на страницу" + +#: core/action.cpp:365 +#, fuzzy, kde-format +#| msgid "Play sound..." +msgid "Play sound…" +msgstr "Одсвирај звук..." + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "Јаваскриптна скрипта" + +#: core/action.cpp:483 +#, fuzzy, kde-format +#| msgid "Play movie" +msgid "Play movie…" +msgstr "Пусти филм" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "Пусти филм" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "Заустави филм" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "Паузирај филм" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "Настави филм" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "Избор позадине" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
    %1 (%2).

    Please select which one to use:
    " +msgstr "" +"Нађено је више од једне позадине за овај МИМЕ тип:
    %1 (%2)." +"

    Изаберите која ће се користити:
    " + +#: core/document.cpp:200 +#, fuzzy, kde-format +#| msgid "Go to page %1" +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "Иди на страницу %1" + +# >! Fix argument substitution. +#: core/document.cpp:221 +#, fuzzy, kde-format +#| msgctxt "paper type and orientation (eg: Portrait A4)" +#| msgid "Portrait %0" +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "портрет %0" + +# >! Fix argument substitution. +#: core/document.cpp:223 +#, fuzzy, kde-format +#| msgctxt "paper type and orientation (eg: Portrait A4)" +#| msgid "Landscape %0" +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "пејзаж %0" + +#: core/document.cpp:246 +#, fuzzy, kde-format +#| msgctxt "%1 is width, %2 is height, %3 is paper size name" +#| msgid "%1 x %2 in (%3)" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1×%2 in (%3)" + +#: core/document.cpp:248 +#, fuzzy, kde-format +#| msgctxt "%1 is width, %2 is height, %3 is paper size name" +#| msgid "%1 x %2 mm (%3)" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1×%2 mm (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "Настављам претрагу од почетка" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "Настављам претрагу са дна" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "" +"Не могу да нађем прикључак који је у стању да обради прослијеђени документ." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "Уклони тумачења" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"Документ покушава да изврши спољашњи програм, што због ваше безбједности " +"Окулар не дозвољава." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "Није нађен ниједан програм за отварање фајла МИМЕ типа %1." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "Не могу да отворим привремени фајл." + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "Претварање за штампу није успјело." + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "Штампарски процес се срушио." + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "Штампарски процес не може да се покрене." + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "Штампање у фајл није успјело." + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "Штампач је у погрешном стању." + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "Не могу да нађем фајл за штампање." + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "Нема фајла за штампање." + +# rewrite-msgid: /binary/command/ +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"Не могу да нађем погодну наредбу за штампање. Обезбедите да lpr из ЦУПС‑а " +"буде доступна." + +# rewrite-msgid: /print// +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "Величина странице није добра." + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "Не могу да отворим „%1“. Фајл не постоји." + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Наслов" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Тема" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Опис" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "Аутор" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Стваралац" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Произвођач" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "Ауторска права" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "Страница" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Направљен" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Измијењен" + +#: core/document.cpp:6032 +#, fuzzy, kde-format +#| msgid "Mime Type" +msgid "MIME Type" +msgstr "МИМЕ тип" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "Категорија" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Кључне ријечи" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "Путања фајла" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "Величина фајла" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "Величина странице" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "Додај тумачење" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "Уклони тумачење" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "Измени својства тумачења" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "Помери тумачење" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "Намести тумачење" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "Уреди текст" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "Уреди садржај тумачења" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "Уреди садржај формулара" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "Уреди изборе списка у формулару" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "Уреди изборе падајућег списка у формулару" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "Уреди стања дугмета у формулару" + +#: core/generator.cpp:790 +#, fuzzy, kde-format +#| msgid "Plain &Text..." +msgid "Plain &Text…" +msgstr "Обични &текст..." + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "ПДФ" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "ОДТ" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "ХТМЛ" + +#: core/printoptionswidget.cpp:19 +#, fuzzy, kde-format +#| msgid "Editor Options" +msgid "Print Options" +msgstr "Опције уређивача" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#: core/printoptionswidget.cpp:25 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgid "Scale mode:" +msgstr "Режим боје:" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, fuzzy, kde-format +#| msgid "No description available." +msgid "Not Available" +msgstr "Опис није доступан." + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "" + +#: core/signatureutils.cpp:504 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" + +#: core/signatureutils.cpp:506 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown signing error" +msgstr "Непознат фајл" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Извор: %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "&Подразумијевани фонт:" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "" + +#: gui/certificatemodel.cpp:41 +#, fuzzy, kde-format +#| msgid "Page Number" +msgid "Serial Number" +msgstr "Број странице" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "" + +# >> @item:inlistbox Stamp Symbol +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, fuzzy, kde-format +#| msgid "Expired" +msgid "Expires On" +msgstr "истекло" + +#: gui/certificatemodel.cpp:49 +#, fuzzy, kde-format +#| msgid "Subject" +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Тема" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "" + +#: gui/certificatemodel.cpp:53 +#, fuzzy, kde-format +#| msgid "Memory Usage" +msgid "Key Usage" +msgstr "Искоришћење меморије" + +#: gui/certificatemodel.cpp:72 +#, fuzzy, kde-format +#| msgid "%1:" +msgid "V%1" +msgstr "%1:" + +#: gui/certificatemodel.cpp:84 +#, fuzzy, kde-format +#| msgctxt "File type name and pattern" +#| msgid "%1 (%2)" +msgid "%1 (%2 bits)" +msgstr "%1 (%2)" + +#: gui/certificatemodel.cpp:146 +#, fuzzy, kde-format +#| msgid "&Properties" +msgid "Property" +msgstr "&Својства" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "Искачућа биљешка" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "Уткана биљешка" + +# >> @item:inlistbox Stamp Symbol +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +#| msgid "For Comment" +msgid "Arrow with Comment" +msgstr "за коментарисање" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "" + +#: gui/guiutils.cpp:59 +#, fuzzy, kde-format +#| msgid "Straight Line Properties" +msgid "Straight Line with Comment" +msgstr "Својства праве линије" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "Права линија" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "Полигон" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Squiggle text" +msgid "Rectangle with Comment" +msgstr "Таласасто по тексту" + +# >> @item:inlistbox Type of geometric annotation +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "правоугаоник" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Underline text" +msgid "Ellipse with Comment" +msgstr "Подвучен текст" + +# >> @item:inlistbox Type of geometric annotation +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "елипса" + +#: gui/guiutils.cpp:83 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Highlight text" +msgid "Highlight with Comment" +msgstr "Истицање текста" + +# >> @item:inlistbox Highlight type +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "истакнуто" + +#: gui/guiutils.cpp:87 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Squiggle text" +msgid "Squiggle with Comment" +msgstr "Таласасто по тексту" + +# >> @item:inlistbox Highlight type +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "таласасто" + +#: gui/guiutils.cpp:91 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Underline text" +msgid "Underline with Comment" +msgstr "Подвучен текст" + +# >> @item:inlistbox Highlight type +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "подвучено" + +#: gui/guiutils.cpp:95 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Strike out text" +msgid "Strike Out with Comment" +msgstr "Прецртан текст" + +# >> @item:inlistbox Highlight type +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "прецртано" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "Печат" + +#: gui/guiutils.cpp:106 +#, fuzzy, kde-format +#| msgid "Freehand Line Properties" +msgid "Freehand Line with Comment" +msgstr "Својства линије слободном руком" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "Линија слободном руком" + +# >> @title +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "Капица" + +# >> @title +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "Приложени фајл" + +# >> @title +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "Звук" + +# >> @title +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "Филм" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Екран" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "Виџет" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "Богати медијум" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation" +msgstr "%1 тумачење" + +# >> @item:intext +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "непознат" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Аутор: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "Гдје желите да сачувате ‘%1’?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "Не могу да отворим ‘%1’ за писање. Фајл није сачуван." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "" + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "" + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "" + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "" + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "" + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "" + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "" + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "" + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "" + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "" + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "" + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "" + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "" + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "" + +# >> @title Font name as tooltip header +#: gui/signatureguiutils.cpp:96 +#, fuzzy, kde-format +#| msgid "Unknown font" +msgid "Unknown Algorithm" +msgstr "Непознат фонт" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown Type" +msgstr "Непознат фајл" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr "" + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "" + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "" + +#: gui/signatureguiutils.cpp:208 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "Штампање овог документа није дозвољено." + +#: gui/signatureguiutils.cpp:211 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "This document is digitally signed." +msgstr "Штампање овог документа није дозвољено." + +#: gui/signatureguiutils.cpp:213 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "Штампање овог документа није дозвољено." + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" + +#: gui/signaturemodel.cpp:141 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "Својства капице" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "" + +#: gui/signaturemodel.cpp:172 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgid "Reason: %1" +msgstr "Странице: %1" + +#: gui/signaturemodel.cpp:177 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Location: %1" +msgstr "%1 тумачење" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "" + +# >> @item:intext +#: gui/signaturemodel.cpp:193 +#, fuzzy, kde-format +#| msgctxt "Unknown author" +#| msgid "Unknown" +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "непознат" + +#: gui/signaturemodel.cpp:195 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "Својства капице" + +#: gui/signaturemodel.cpp:201 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgid "Signature Type: %1" +msgstr "Својства капице" + +#: part/annotationactionhandler.cpp:148 +#, fuzzy, kde-format +#| msgid "Red" +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "црвена" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "" + +#: part/annotationactionhandler.cpp:150 +#, fuzzy, kde-format +#| msgid "Yellow" +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "жута" + +#: part/annotationactionhandler.cpp:151 +#, fuzzy, kde-format +#| msgid "Green" +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "зелена" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "" + +#: part/annotationactionhandler.cpp:153 +#, fuzzy, kde-format +#| msgid "Blue" +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "плава" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "" + +#: part/annotationactionhandler.cpp:155 +#, fuzzy, kde-format +#| msgid "White" +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "бела" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "" + +#: part/annotationactionhandler.cpp:157 +#, fuzzy, kde-format +#| msgid "Black" +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "црна" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "" + +#: part/annotationactionhandler.cpp:252 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1:" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:308 +#, fuzzy, kde-format +#| msgid "Annotation Options" +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Опције тумачења" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "" + +#: part/annotationactionhandler.cpp:314 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Алатке тумачења" + +#: part/annotationactionhandler.cpp:316 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "Алатке тумачења" + +#: part/annotationactionhandler.cpp:318 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Алатке тумачења" + +#: part/annotationactionhandler.cpp:322 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Алатке тумачења" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "" + +#: part/annotationactionhandler.cpp:328 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "%1 тумачење" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" + +#: part/annotationactionhandler.cpp:341 +#, fuzzy, kde-format +#| msgid "Annotation Options" +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Опције тумачења" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "" + +#: part/annotationactionhandler.cpp:432 +#, fuzzy, kde-format +#| msgid "Color:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "Боја:" + +#: part/annotationactionhandler.cpp:434 +#, fuzzy, kde-format +#| msgid "Color:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "Боја:" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "" + +#: part/annotationactionhandler.cpp:499 +#, fuzzy, kde-format +#| msgid "&Selection Tool" +msgctxt "@title:window" +msgid "Select color" +msgstr "Алатка &избора" + +#: part/annotationactionhandler.cpp:552 +#, fuzzy, kde-format +#| msgid "Annotations" +msgid "&Annotations" +msgstr "Тумачења" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "" + +# >> @title:window +#: part/annotationactionhandler.cpp:554 +#, fuzzy, kde-format +#| msgid "Create annotation tool" +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Стварање алатке тумачења" + +# >> @item:inlistbox Type of geometric annotation +#: part/annotationactionhandler.cpp:557 +#, fuzzy, kde-format +#| msgid "Highlighter" +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "истицач" + +# >> @item:inlistbox Highlight type +#: part/annotationactionhandler.cpp:558 +#, fuzzy, kde-format +#| msgid "Underline" +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "подвучено" + +# >> @item:inlistbox Highlight type +#: part/annotationactionhandler.cpp:559 +#, fuzzy, kde-format +#| msgid "Squiggle" +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "таласасто" + +# >> @item:inlistbox Highlight type +#: part/annotationactionhandler.cpp:560 +#, fuzzy, kde-format +#| msgid "Strike Out" +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "прецртано" + +#: part/annotationactionhandler.cpp:562 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Својства капице" + +#: part/annotationactionhandler.cpp:563 +#, fuzzy, kde-format +#| msgid "Inline Note" +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "Уткана биљешка" + +#: part/annotationactionhandler.cpp:564 +#, fuzzy, kde-format +#| msgid "Pop-up Note" +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "Искачућа биљешка" + +#: part/annotationactionhandler.cpp:565 +#, fuzzy, kde-format +#| msgid "Freehand Line" +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "Линија слободном руком" + +#: part/annotationactionhandler.cpp:567 +#, fuzzy, kde-format +#| msgid "Straight Line" +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "Права линија" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "" + +# >> @item:inlistbox Type of geometric annotation +#: part/annotationactionhandler.cpp:569 +#, fuzzy, kde-format +#| msgid "Rectangle" +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "правоугаоник" + +# >> @item:inlistbox Type of geometric annotation +#: part/annotationactionhandler.cpp:570 +#, fuzzy, kde-format +#| msgid "Ellipse" +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "елипса" + +#: part/annotationactionhandler.cpp:571 +#, fuzzy, kde-format +#| msgid "Polygon" +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "Полигон" + +#: part/annotationactionhandler.cpp:572 +#, fuzzy, kde-format +#| msgid "Geometrical shape" +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "Геометријски облик" + +#: part/annotationactionhandler.cpp:618 +#, fuzzy, kde-format +#| msgid "Stamp" +msgctxt "@action" +msgid "Stamp" +msgstr "Печат" + +#: part/annotationactionhandler.cpp:638 +#, fuzzy, kde-format +#| msgid "Annotations" +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Тумачења" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "" + +#: part/annotationactionhandler.cpp:651 +#, fuzzy, kde-format +#| msgid "Annotations" +msgid "Quick Annotation Bar" +msgstr "Тумачења" + +#: part/annotationactionhandler.cpp:665 +#, fuzzy, kde-format +#| msgctxt "Add an annotation to the page" +#| msgid "add annotation" +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "Додај тумачење" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "" + +# >> @title:window +#: part/annotationactionhandler.cpp:669 +#, fuzzy, kde-format +#| msgid "Create annotation tool" +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "Стварање алатке тумачења" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "" + +#: part/annotationactionhandler.cpp:680 +#, fuzzy, kde-format +#| msgid "Font:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "Фонт:" + +#: part/annotationactionhandler.cpp:681 +#, fuzzy, kde-format +#| msgid "Annotation Options" +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Опције тумачења" + +#: part/annotationactionhandler.cpp:684 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "уклопљена ширина" + +#: part/annotationactionhandler.cpp:693 +#, fuzzy, kde-format +#| msgid "&Opacity:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "&Непрозирност:" + +#: part/annotationactionhandler.cpp:696 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1:" + +#: part/annotationmodel.cpp:320 +#, fuzzy, kde-format +#| msgid "Page %1" +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "Страница %1" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "Страница %1" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "%1 тумачење" +msgstr[1] "%1 тумачења" +msgstr[2] "%1 тумачења" +msgstr[3] "Тумачење" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "&Отвори искачућу биљешку" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Уклони обиљеживач" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Додај обиљеживач" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Text to Clipboard" +msgstr "Копирај у клипборд" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "ДРМ брани копирање" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "&Обриши" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "&Својства" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, fuzzy, kde-format +#| msgctxt "%1 is the name of the file to save" +#| msgid "&Save '%1'..." +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "&Сачувај ‘%1’..." + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "&Изглед" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "&Опште" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&Аутор:" + +#: part/annotationpropertiesdialog.cpp:69 +#, fuzzy, kde-format +#| msgid "Created" +msgid "Created:" +msgstr "Направљен" + +#: part/annotationpropertiesdialog.cpp:74 +#, fuzzy, kde-format +#| msgid "Modified" +msgid "Modified:" +msgstr "Измијењен" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "Својства искачуће биљешке" + +#: part/annotationpropertiesdialog.cpp:111 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgid "Typewriter Properties" +msgstr "Својства капице" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "Својства уткане биљешке" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "Својства праве линије" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "Својства полигона" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "Својства геометрије" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "Својства обиљежавања текста" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "Својства печата" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "Својства линије слободном руком" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "Својства капице" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "Својства приложеног фајла" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "Својства звука" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "Својства филма" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "Својства тумачења" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Put a stamp symbol" +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "Симбол печата" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&Боја:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%1:" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "&Непрозирност:" + +#: part/annotationwidgets.cpp:363 +#, fuzzy, kde-format +#| msgid "Icon" +msgid "Icon:" +msgstr "Иконица" + +# >> @item:inlistbox Icon +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "коментар" + +# >> @item:inlistbox Icon +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "помоћ" + +# >> @item:inlistbox Icon +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "уметање" + +# >> @item:inlistbox Icon +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "тастер" + +# >> @item:inlistbox Icon +#: part/annotationwidgets.cpp:368 +#, fuzzy, kde-format +#| msgid "New Paragraph" +msgid "New paragraph" +msgstr "нови пасус" + +# >! Needs context for listbox appearance +# >> @item:inlistbox Icon +# Држи велико слово док не добије контекст. +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "Биљешка" + +# >> @item:inlistbox Icon +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "пасус" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Фонт:" + +#: part/annotationwidgets.cpp:387 +#, fuzzy, kde-format +#| msgid "&Color:" +msgid "Text &color:" +msgstr "&Боја:" + +#: part/annotationwidgets.cpp:394 +#, fuzzy, kde-format +#| msgid "Align:" +msgid "&Align:" +msgstr "Поравнање:" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "лијево" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "средина" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "десно" + +#: part/annotationwidgets.cpp:405 +#, fuzzy, kde-format +#| msgid "Border Width:" +msgid "Border &width:" +msgstr "Ширина ивице:" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "одобрено" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "као што јесте" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "поверљиво" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "за одјељење" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "нацрт" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "експериментално" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:420 +#, fuzzy, kde-format +#| msgid "Expired" +msgid "Expired" +msgstr "истекло" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "коначно" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "за коментарисање" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "за јавност" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "није одобрено" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "није за јавност" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "продато" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "строго повјерљиво" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "обиљеживач" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "информација" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "КДЕ" + +#: part/annotationwidgets.cpp:451 +#, fuzzy, kde-format +#| msgid "Stamp Symbol" +msgid "Stamp symbol:" +msgstr "Симбол печата" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, fuzzy, kde-format +#| msgid "&Pen Width:" +msgid "&Width:" +msgstr "Дебљина &оловке:" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:514 +#, fuzzy, kde-format +#| msgctxt "Symbol for caret annotations" +#| msgid "None" +msgid "None" +msgstr "ништа" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "" + +# skip-rule: t-line +#: part/annotationwidgets.cpp:531 +#, fuzzy, kde-format +#| msgid "Leader Line Length:" +msgid "Leader line length:" +msgstr "Дужина изводнице:" + +# skip-rule: t-line +#: part/annotationwidgets.cpp:533 +#, fuzzy, kde-format +#| msgid "Leader Line Extensions Length:" +msgid "Leader line extensions length:" +msgstr "Дужина продужетка изводнице:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "" + +# >> @title:window +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, fuzzy, kde-format +#| msgid "Save file" +msgid "Shape fill:" +msgstr "Уписивање фајла" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Тип:" + +# >> @item:inlistbox Highlight type +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "прецртано" + +#: part/annotationwidgets.cpp:745 +#, fuzzy, kde-format +#| msgid "File Attachment Symbol" +msgid "File attachment symbol:" +msgstr "Симбол за приложени фајл" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "граф" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "прибадача" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "спајалица" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "ознака" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "Фајл" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "Није доступно" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "Опис није доступан." + +#: part/annotationwidgets.cpp:773 +#, fuzzy, kde-format +#| msgid "&Name:" +msgid "Name:" +msgstr "&Име:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "Опис:" + +#: part/annotationwidgets.cpp:843 +#, fuzzy, kde-format +#| msgid "Caret Symbol" +msgid "Caret symbol:" +msgstr "Симбол капице" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "ништа" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "П" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "Затвори ову биљешку" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "Опције" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"Ово тумачење можда садржи латех код.\n" +"Кликните овде да се изрендерује." + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "Не могу да нађем наредбу „latex“." + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "Рендеровање латеха није успело" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "Не могу да нађем наредбу „dvipng“." + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "Било је проблема при извршавању наредбе „latex“." + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "Било је проблема при извршавању наредбе „dvipng“." + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"%2 обиљеживач" +msgstr[1] "" +"%1\n" +"\n" +"%2 обиљеживача" +msgstr[2] "" +"%1\n" +"\n" +"%2 обиљеживача" +msgstr[3] "" +"%1\n" +"\n" +"Један обиљеживач" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Обиљеживачи" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, fuzzy, kde-format +#| msgid "S&earch:" +msgid "Search…" +msgstr "&Тражи:" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, kde-format +msgid "Expand All" +msgstr "" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, kde-format +msgid "Collapse All" +msgstr "" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "Иди на овај обиљеживач" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "Преименуј обиљеживач" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Отвори документ" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "" + +# >> @title:window +#: part/certificateviewer.cpp:47 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Certificate Viewer" +msgstr "Подешавање приказивача" + +#: part/certificateviewer.cpp:50 +#, fuzzy, kde-format +#| msgid "E&xport As" +msgid "Export…" +msgstr "И&звези као" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "Опште" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "" + +#: part/certificateviewer.cpp:159 +#, fuzzy, kde-format +#| msgid "Where do you want to save %1?" +msgid "Where do you want to save this certificate?" +msgstr "Гдје желите да сачувате ‘%1’?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "" + +#: part/colormodemenu.cpp:19 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "Режим боје:" + +#: part/colormodemenu.cpp:21 +#, fuzzy, kde-format +#| msgid "Change &colors" +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "Промени &боје" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "" + +#: part/colormodemenu.cpp:41 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "Изврни боје" + +#: part/colormodemenu.cpp:42 +#, fuzzy, kde-format +#| msgid "Change Paper Color" +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "Промијени боју папира" + +#: part/colormodemenu.cpp:44 +#, fuzzy, kde-format +#| msgid "Change Dark & Light Colors" +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "Измијени тамне и свјетле боје" + +#: part/colormodemenu.cpp:46 +#, fuzzy, kde-format +#| msgid "Convert to Black & White" +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "Претвори у црно‑бијело" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "црвена" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "зелена" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "плава" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "жута" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "црна" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "бела" + +# >> @item:inlistbox Type of geometric annotation +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, fuzzy, kde-format +#| msgid "Highlighter" +msgid "Yellow Highlighter" +msgstr "истицач" + +# >> @item:inlistbox Type of geometric annotation +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, fuzzy, kde-format +#| msgid "Highlighter" +msgid "Green Highlighter" +msgstr "истицач" + +# >> @item:inlistbox Icon +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, fuzzy, kde-format +#| msgid "Insert" +msgid "Insert Text" +msgstr "уметање" + +#: part/dlgaccessibility.cpp:38 +#, fuzzy, kde-format +#| msgid "Draw border around &Links" +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "Цртај ивицу око &веза" + +#: part/dlgaccessibility.cpp:48 +#, fuzzy, kde-format +#| msgid "Change &colors" +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "Промени &боје" + +#: part/dlgaccessibility.cpp:54 +#, fuzzy, kde-format +#| msgid "Warning: these options can badly affect drawing speed." +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "Упозорење: Ове опције могу лоше утицати на брзину исцртавања." + +#: part/dlgaccessibility.cpp:60 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "Изврни боје" + +#: part/dlgaccessibility.cpp:61 +#, fuzzy, kde-format +#| msgid "Change Paper Color" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "Промијени боју папира" + +#: part/dlgaccessibility.cpp:62 +#, fuzzy, kde-format +#| msgid "Change Dark & Light Colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "Измијени тамне и свјетле боје" + +#: part/dlgaccessibility.cpp:63 +#, fuzzy, kde-format +#| msgid "Convert to Black & White" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "Претвори у црно‑бијело" + +#: part/dlgaccessibility.cpp:64 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "Изврни боје" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "" + +#: part/dlgaccessibility.cpp:70 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "Режим боје:" + +#: part/dlgaccessibility.cpp:87 +#, fuzzy, kde-format +#| msgid "Paper color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Боја папира:" + +#: part/dlgaccessibility.cpp:99 +#, fuzzy, kde-format +#| msgid "Dark color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Тамна боја:" + +#: part/dlgaccessibility.cpp:104 +#, fuzzy, kde-format +#| msgid "Light color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "Свијетла боја:" + +#: part/dlgaccessibility.cpp:119 +#, fuzzy, kde-format +#| msgid "Threshold:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "Праг:" + +#: part/dlgaccessibility.cpp:127 +#, fuzzy, kde-format +#| msgid "Contrast:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Контраст:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "" + +#: part/dlgaccessibility.cpp:165 +#, fuzzy, kde-format +#| msgid "Text to search for" +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "Текст који се тражи" + +#: part/dlgannotations.cpp:25 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Алатке тумачења" + +#: part/dlgannotations.cpp:26 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Алатке тумачења" + +#: part/dlgannotations.cpp:28 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Алатке тумачења" + +#: part/dlgannotations.cpp:34 +#, fuzzy, kde-format +#| msgid "&Author:" +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "&Аутор:" + +#: part/dlgannotations.cpp:38 +#, fuzzy, kde-format +#| msgid "" +#| "Note: the information here is used only for comments and reviews. " +#| "Information inserted here will not be transmitted without your knowledge." +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"Напомена: Ове информације се користе само за коментаре и прегледе. " +"Неће бити послате никоме без вашег знања." + +# >> @title:window +#: part/dlgannotations.cpp:48 +#, fuzzy, kde-format +#| msgid "Edit annotation tool" +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

    Quick Annotation Tools

    " +msgstr "Уређивање алатке тумачења" + +#: part/dlgeditor.cpp:28 +#, fuzzy, kde-format +#| msgctxt "@info:whatsthis" +#| msgid "" +#| "Choose the editor you want to launch when Okular wants to open a source " +#| "file." +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" +"Изаберите уређивач који бисте жељели да користите кад Окулар хоће да отвори " +"изворни фајл." + +#: part/dlgeditor.cpp:29 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Custom Text Editor" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "Посебан уређивач текста" + +#: part/dlgeditor.cpp:30 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Kate" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Кејт" + +#: part/dlgeditor.cpp:31 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Kile" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Кајл" + +#: part/dlgeditor.cpp:32 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "SciTE" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "СциТЕ" + +#: part/dlgeditor.cpp:33 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Emacs client" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Емакс (клијент)" + +#: part/dlgeditor.cpp:34 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Lyx client" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "Ликс (клијент)" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "" + +#: part/dlgeditor.cpp:37 +#, fuzzy, kde-format +#| msgid "Editor:" +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "Уређивач:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
    \n" +"You can also put few placeholders:\n" +"
      \n" +"
    • %f - the file name
    • \n" +"
    • %l - the line of the file to be reached
    • \n" +"
    • %c - the column of the file to be reached
    • \n" +"
    \n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"Подеси команду посебног уређивача текста.
    \n" +"Такође можете да ставите и неколико аргумената:\n" +"
      \n" +"
    • %f - име фајла
    • \n" +"
    • %l - ред фајла до ког треба доћи
    • \n" +"
    • %c - колона фајла до које треба доћи
    • \n" +"
    \n" +"Ако %f није наведено, име фајла ће бити надовезано на наведену наредбу.
    " + +#: part/dlgeditor.cpp:63 +#, fuzzy, kde-format +#| msgid "Command:" +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "Наредба:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "" + +#: part/dlggeneral.cpp:37 +#, fuzzy, kde-format +#| msgid "Appearance" +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "Изглед" + +#: part/dlggeneral.cpp:41 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "&Клизачке траке" + +#: part/dlggeneral.cpp:48 +#, fuzzy, kde-format +#| msgid "Link the &thumbnails with the page" +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "Повежи с&личице са страницом" + +#: part/dlggeneral.cpp:55 +#, fuzzy, kde-format +#| msgid "Show &hints and info messages" +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "&Савети и инфо поруке" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "" + +#: part/dlggeneral.cpp:68 +#, fuzzy, kde-format +#| msgid "Display document title in titlebar if available" +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "Наслов документа у насловној траци (ако га има)" + +#: part/dlggeneral.cpp:74 +#, fuzzy, kde-format +#| msgid "Display file name only" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "прикажи само име фајла" + +#: part/dlggeneral.cpp:75 +#, fuzzy, kde-format +#| msgid "Display full file path" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "прикажи целу путању фајла" + +#: part/dlggeneral.cpp:77 +#, fuzzy, kde-format +#| msgid "When not displaying document title:" +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "Ако нема наслова документа:" + +#: part/dlggeneral.cpp:92 +#, fuzzy, kde-format +#| msgid "Use custom background color" +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "Посебна позадинска боја" + +#: part/dlggeneral.cpp:114 +#, fuzzy, kde-format +#| msgid "Program Features" +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "Могућности програма" + +#: part/dlggeneral.cpp:121 +#, fuzzy, kde-format +#| msgid "Open new files in &tabs" +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "Отварај нове фајлове под &језичцима" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "" + +#: part/dlggeneral.cpp:139 +#, fuzzy, kde-format +#| msgid "&Obey DRM limitations" +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "П&оштуј ДРМ ограничења" + +#: part/dlggeneral.cpp:148 +#, fuzzy, kde-format +#| msgid "&Reload document on file change" +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "Поново отво&ри документ приликом промјене фајла" + +#: part/dlggeneral.cpp:155 +#, fuzzy, kde-format +#| msgid "Show backend selection dialog" +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "Прикажи дијалог за избор позадине" + +#: part/dlggeneral.cpp:162 +#, fuzzy, kde-format +#| msgid "Right to left reading direction" +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "Смер читања здесна улево" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, fuzzy, kde-format +#| msgid "Overview &columns:" +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "Колоне &прегледа:" + +#: part/dlggeneral.cpp:220 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%1:" + +#: part/dlggeneral.cpp:221 +#, fuzzy, kde-format +#| msgid "" +#| "Defines how much of the current viewing area will still be visible when " +#| "pressing the Page Up/Down keys." +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" +"Одређује колико ће од тренутно приказаног подручја остати видљиво по " +"притиску на тастер PageUp или PageDown." + +#: part/dlggeneral.cpp:223 +#, fuzzy, kde-format +#| msgid "&Page Up/Down overlap:" +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "Преклапање на PageUp/PageDown:" + +#: part/dlggeneral.cpp:228 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%1:" + +#: part/dlggeneral.cpp:232 +#, fuzzy, kde-format +#| msgid "100%" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "100%" + +#: part/dlggeneral.cpp:233 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "уклопљена ширина" + +#: part/dlggeneral.cpp:234 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "уклопљена страница" + +#: part/dlggeneral.cpp:235 +#, fuzzy, kde-format +#| msgid "Auto Fit" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "уклопљено аутоматски" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "" + +#: part/dlggeneral.cpp:237 +#, fuzzy, kde-format +#| msgid "" +#| "Defines the default zoom mode for files which were never opened before.\n" +#| "For files which were opened before the previous zoom is applied." +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" +"Одређује подразумевани режим увеличања за први пут отворене фајлове.\n" +"На фајлове који су раније отварани примењује се претходно увеличање." + +#: part/dlggeneral.cpp:241 +#, fuzzy, kde-format +#| msgid "&Default Zoom:" +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "&Подразумијевано увеличање:" + +#: part/dlgperformance.cpp:26 +#, fuzzy, kde-format +#| msgid "Enable &transparency effects" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "Укључи ефекте &провидности" + +#: part/dlgperformance.cpp:28 +#, fuzzy, kde-format +#| msgid "CPU Usage" +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "Искоришћење ЦПУ‑а" + +#: part/dlgperformance.cpp:35 +#, fuzzy, kde-format +#| msgid "&Low" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "&ниско" + +#: part/dlgperformance.cpp:36 +#, fuzzy, kde-format +#| msgid "Nor&mal (default)" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "&нормално (подразумијевано)" + +#: part/dlgperformance.cpp:37 +#, fuzzy, kde-format +#| msgid "Aggr&essive" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "&агресивно" + +#: part/dlgperformance.cpp:38 +#, fuzzy, kde-format +#| msgid "G&reedy" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "&похлепно" + +#: part/dlgperformance.cpp:40 +#, fuzzy, kde-format +#| msgid "Memory Usage" +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "Искоришћење меморије" + +#: part/dlgperformance.cpp:54 +#, fuzzy, kde-format +#| msgid "Enable Text Antialias" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "Омекшавање текста" + +#: part/dlgperformance.cpp:56 +#, fuzzy, kde-format +#| msgid "Rendering" +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "Рендеровање" + +#: part/dlgperformance.cpp:59 +#, fuzzy, kde-format +#| msgid "Enable Graphics Antialias" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "Омекшавање графике" + +#: part/dlgperformance.cpp:64 +#, fuzzy, kde-format +#| msgid "Enable Text Hinting" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "Навођење текста" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"Користи што је мање меморије могуће. Не користи ништа поново. (За системе са " +"мало меморије.)" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"Добар компромис између искоришћења меморије и добитка у брзини. Предучитава " +"сљедећу страницу и убрзава претраге. (Типично за системе са 2 GB меморије.)" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"Држи све у меморији. Предучитава сљедеће странице и убрзава претраге. (За " +"системе са више од 4 GB меморије.)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" +"Учитава и задржава све у меморији. Предучитава све странице. (Употребиће " +"највише 50% од укупне меморије или од слободне меморије, шта је веће.)" + +#: part/dlgpresentation.cpp:38 +#, fuzzy, kde-format +#| msgctxt "Advance every %1 seconds" +#| msgid " second" +#| msgid_plural " seconds" +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] " сек." +msgstr[1] " сек." +msgstr[2] " сек." +msgstr[3] " сек." + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "" + +#: part/dlgpresentation.cpp:53 +#, fuzzy, kde-format +#| msgid "Loop after last page" +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "У круг послије задње странице" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "" + +#: part/dlgpresentation.cpp:63 +#, fuzzy, kde-format +#| msgid "Navigation" +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Навигација" + +#: part/dlgpresentation.cpp:72 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "Позадинска боја:" + +#: part/dlgpresentation.cpp:76 +#, fuzzy, kde-format +#| msgid "Hidden After Delay" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "скривен послије застоја" + +#: part/dlgpresentation.cpp:77 +#, fuzzy, kde-format +#| msgid "Always Visible" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "увијек видљив" + +#: part/dlgpresentation.cpp:78 +#, fuzzy, kde-format +#| msgid "Always Hidden" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "увијек скривен" + +#: part/dlgpresentation.cpp:80 +#, fuzzy, kde-format +#| msgid "Mouse cursor:" +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "Показивач миша:" + +#: part/dlgpresentation.cpp:84 +#, fuzzy, kde-format +#| msgid "Show &progress indicator" +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "Прикажи показатељ &напретка" + +#: part/dlgpresentation.cpp:90 +#, fuzzy, kde-format +#| msgid "Show s&ummary page" +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "Прикажи страницу &сажетка" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "" + +#: part/dlgpresentation.cpp:101 +#, fuzzy, kde-format +#| msgid "Replace" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "замјена" + +#: part/dlgpresentation.cpp:102 +#, fuzzy, kde-format +#| msgid "Random Transition" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "случајан прелаз" + +#: part/dlgpresentation.cpp:103 +#, fuzzy, kde-format +#| msgid "Blinds Vertical" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "заклони усправни" + +#: part/dlgpresentation.cpp:104 +#, fuzzy, kde-format +#| msgid "Blinds Horizontal" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "заклони водоравни" + +#: part/dlgpresentation.cpp:105 +#, fuzzy, kde-format +#| msgid "Box In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "кутија у" + +#: part/dlgpresentation.cpp:106 +#, fuzzy, kde-format +#| msgid "Box Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "кутија из" + +#: part/dlgpresentation.cpp:107 +#, fuzzy, kde-format +#| msgid "Dissolve" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "разлагање" + +#: part/dlgpresentation.cpp:108 +#, fuzzy, kde-format +#| msgid "Fade" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "претапање" + +#: part/dlgpresentation.cpp:109 +#, fuzzy, kde-format +#| msgid "Glitter Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "свјетлуцање надоље" + +#: part/dlgpresentation.cpp:110 +#, fuzzy, kde-format +#| msgid "Glitter Right" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "свјетлуцање удесно" + +#: part/dlgpresentation.cpp:111 +#, fuzzy, kde-format +#| msgid "Glitter Right-Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "свјетлуцање удесно‑надоље" + +#: part/dlgpresentation.cpp:112 +#, fuzzy, kde-format +#| msgid "Split Horizontal In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "подјела водоравна у" + +#: part/dlgpresentation.cpp:113 +#, fuzzy, kde-format +#| msgid "Split Horizontal Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "подјела водоравна из" + +#: part/dlgpresentation.cpp:114 +#, fuzzy, kde-format +#| msgid "Split Vertical In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "подјела усправна у" + +#: part/dlgpresentation.cpp:115 +#, fuzzy, kde-format +#| msgid "Split Vertical Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "подјела усправна из" + +#: part/dlgpresentation.cpp:116 +#, fuzzy, kde-format +#| msgid "Wipe Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "брисање надоље" + +#: part/dlgpresentation.cpp:117 +#, fuzzy, kde-format +#| msgid "Wipe Right" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "брисање удесно" + +#: part/dlgpresentation.cpp:118 +#, fuzzy, kde-format +#| msgid "Wipe Left" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "брисање улијево" + +#: part/dlgpresentation.cpp:119 +#, fuzzy, kde-format +#| msgid "Wipe Up" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "брисање нагоре" + +#: part/dlgpresentation.cpp:121 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Подразумијевани прелаз:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "" + +#: part/dlgpresentation.cpp:137 +#, fuzzy, kde-format +#| msgid "Drawing Tool: %1" +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

    Drawing Tools

    " +msgstr "Алатка цртања: %1" + +#: part/dlgpresentation.cpp:171 +#, fuzzy, kde-format +#| msgctxt "@label:listbox The current screen, for the presentation mode" +#| msgid "Current Screen" +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Тренутни екран" + +#: part/dlgpresentation.cpp:172 +#, fuzzy, kde-format +#| msgctxt "@label:listbox The default screen for the presentation mode" +#| msgid "Default Screen" +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Подразумијевани екран" + +#: part/dlgpresentation.cpp:178 +#, fuzzy, kde-format +#| msgctxt "@label:listbox %1 is the screen number (0, 1, ...)" +#| msgid "Screen %1" +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "Екран %1" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "Алатка цртања: %1" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "Брисач" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "&Име:" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "&Тип:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "Изглед" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "Обиљежавање текста" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "Геометријски облик" + +# >> @title:window +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "Стварање алатке тумачења" + +# >> @title:window +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "Уређивање алатке тумачења" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "Боја:" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "Дебљина &оловке:" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "" + +# >> @title:window +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "Стварање алатке цртања" + +# >> @title:window +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "Уређивање алатке цртања" + +# >> @item:intext +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "непознат" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Угнежђени фајлови" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "Прикажи" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "име" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "опис" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "величина" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "направљено" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "измијењено" + +# >> @title:window +#: part/embeddedfilesdialog.cpp:154 +#, fuzzy, kde-format +#| msgid "Save As" +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "Уписивање као" + +#: part/embeddedfilesdialog.cpp:155 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "&Приказ" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "Не могу да учитам део за преглед пред штампање" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "Преглед пред штампање" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "Затвори" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "&Нађи" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "Текст који се тражи" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Сљедеће" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "Скочи на сљедеће поклапање" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Претходно" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "Скочи на претходно поклапање" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "Измени понашање претраге" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "Разликуј величину слова" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "Од текуће странице" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "Тражи док куцам" + +# >> @item +#: part/formwidgets.cpp:870 +#, fuzzy, kde-format +#| msgid "All files (*)" +msgid "All Files (*)" +msgstr "сви фајлови (*)" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgid "Signature Properties" +msgstr "Својства капице" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "Опције претраге" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "Разликуј величину слова" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "Регуларни израз" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "Слојеви" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "од" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "Увеличај" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "Ротирај у&десно" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "Удесно" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "Ротирај у&лијево" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "Улијево" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "Првобитна оријентација" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "&Сасијеци приказ" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "&Сасијеци маргине" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "Сасијеци на &избор" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "Уклопи &ширину" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "Уклопи &страницу" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "Уклопи &аутоматски" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "Уклопи прозор на &страницу" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "Режим &приказа" + +#: part/pageview.cpp:594 +#, fuzzy, kde-format +#| msgid "Single Page" +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "Једна страница" + +#: part/pageview.cpp:595 +#, fuzzy, kde-format +#| msgid "Facing Pages" +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "Наспрамне странице" + +#: part/pageview.cpp:596 +#, fuzzy, kde-format +#| msgid "Facing Pages (Center First Page)" +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "Наспрамне странице (прва центрирана)" + +#: part/pageview.cpp:599 +#, fuzzy, kde-format +#| msgid "Overview" +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "Преглед" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "&Без прекида" + +#: part/pageview.cpp:618 +#, fuzzy, kde-format +#| msgid "Right to left reading direction" +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "Смер читања здесна улево" + +#: part/pageview.cpp:627 +#, fuzzy, kde-format +#| msgctxt "Browse Tool" +#| msgid "Browse" +msgid "&Browse" +msgstr "Прегледај" + +#: part/pageview.cpp:635 +#, fuzzy, kde-format +#| msgid "Zoom" +msgid "&Zoom" +msgstr "Увеличај" + +#: part/pageview.cpp:655 +#, fuzzy, kde-format +#| msgctxt "Text Selection Tool" +#| msgid "Text Selection" +msgid "Area &Selection" +msgstr "Избор текста" + +#: part/pageview.cpp:662 +#, fuzzy, kde-format +#| msgctxt "Text Selection Tool" +#| msgid "Text Selection" +msgid "&Text Selection" +msgstr "Избор текста" + +#: part/pageview.cpp:669 +#, fuzzy, kde-format +#| msgctxt "Table Selection Tool" +#| msgid "Table Selection" +msgid "T&able Selection" +msgstr "Избор табеле" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "&Увеличавач" + +#: part/pageview.cpp:685 +#, fuzzy, kde-format +#| msgid "Selection Tools" +msgctxt "@action" +msgid "Selection Tools" +msgstr "Алатке избора" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "Изговори цио документ" + +#: part/pageview.cpp:722 +#, fuzzy, kde-format +#| msgid "Speak Current Page" +msgid "Speak From Current Page" +msgstr "Изговори текућу страницу" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "Изговори текућу страницу" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "Престани да говориш" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "Клизај нагоре" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Клизај надоље" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "Клизај страницу нагоре" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "Клизај страницу надоље" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "Прикажи формуларе" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] " Учитан је документ са %1 страницом." +msgstr[1] " Учитан је документ са %1 странице." +msgstr[2] " Учитан је документ са %1 страница." +msgstr[3] " Учитан је документ са једном страницом." + +#: part/pageview.cpp:2526 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Table Contents to Clipboard" +msgstr "Копирај у клипборд" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "Текст (%1 знак)" +msgstr[1] "Текст (%1 знака)" +msgstr[2] "Текст (%1 знакова)" +msgstr[3] "Текст (1 знак)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "Копирај у клипборд" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "Изговори текст" + +#: part/pageview.cpp:2863 +#, fuzzy, kde-format +#| msgid "Image (%1 by %2 pixels)" +msgid "Image (%1 × %2 pixels)" +msgstr "Слика (%1×%2 пиксела)" + +#: part/pageview.cpp:2865 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save to File…" +msgstr "Сачувај у фајл..." + +#: part/pageview.cpp:2885 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] copied to clipboard." +msgid "Image [%1 × %2] copied to clipboard." +msgstr "Слика [%1×%2] копирана је у клипборд." + +# >> @title:window +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "Уписивање фајла" + +# >> @item +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "слике (*.png *.jpeg)" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "Фајл није сачуван." + +#: part/pageview.cpp:2901 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] saved to %3 file." +msgid "Image [%1 × %2] saved to %3 file." +msgstr "Слика [%1×%2] сачувана је у фајл ‘%3’." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "Копирај текст" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "Иди на „%1“" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "уклопљена ширина" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "уклопљена страница" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "уклопљено аутоматски" + +#: part/pageview.cpp:4107 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1:" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "Потражи „%1“ помоћу" + +#: part/pageview.cpp:4404 +#, fuzzy, kde-format +#| msgid "Configure Web Shortcuts..." +msgid "Configure Web Shortcuts…" +msgstr "Подеси веб пречице..." + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "Прати ову везу" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "Одсвирај овај звук" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "Угаси звук" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "Копирај адресу везе" + +#: part/pageview.cpp:4462 +#, fuzzy, kde-format +#| msgid "Search for '%1' with" +msgid "Search for '%1' in this document" +msgstr "Потражи „%1“ помоћу" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Добро дошли" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "Изаберите област увеличања. Кликните десним за умањење." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "Кликните за увеличан приказ." + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "Исцртајте правоугаоник око текста/графике за копирање." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "Изабери текст" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" +"Исцртајте правоугаоник око табеле, па кликћите близу ивица да је изделите; " +"притисните Esc да очистите." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" + +# >> @title:window +#: part/pageview.cpp:5188 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "No valid certificates" +msgstr "Подешавање приказивача" + +# >> @title:window +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Open Certificate Manager" +msgstr "Подешавање приказивача" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
    Launch Certificate Manager " +"to import or manage certificates
    For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" + +# >> @title:window +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "No certificates found" +msgstr "Подешавање приказивача" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
    For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "" + +# >> @info +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "Исцртајте правоугаоник око дела странице који желите да буде видљив." + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "Текст нове биљешке" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "Текст нове биљешке:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgid "Author" +msgid "Author name" +msgstr "Аутор" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgctxt "Add an annotation to the page" +#| msgid "add annotation" +msgid "Author name for the annotation:" +msgstr "Додај тумачење" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "Елипса (вуците да изаберете зону)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "Истицање текста" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "Линија слободном руком" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "Уткано текстуално тумачење (вуците да изаберете зону)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "Искачућа биљешка" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "Полигон (кликните на прву тачку да га затворите)" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "Правоугаоник" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "Таласасто по тексту" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "Симбол печата" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "Права линија" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "Прецртан текст" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "Подвучен текст" + +#: part/pageviewannotator.cpp:1414 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Inline Text Annotation (drag to select a zone)" +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "Уткано текстуално тумачење (вуците да изаберете зону)" + +# >> @item:inlistbox Type of geometric annotation +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "истицач" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgctxt "Add an annotation to the page" +#| msgid "add annotation" +msgid "Add favorite annotation" +msgstr "Додај тумачење" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgctxt "Change an annotation's size" +#| msgid "adjust annotation" +msgid "Custom annotation name:" +msgstr "Намести тумачење" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&Фајл" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "&Подешавање" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "&Помоћ" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "&Оријентација" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "&Обиљеживачи" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "Трака приказивача" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Сличице" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "Тумачења" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
    Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" +"Ова документ садржи тумачења или податке формулара сачуване интерно неким " +"претходним издањем Окулара. Интерно складиштење више није подржано." +"
    Сачувајте у фајл да бисте их преместили ако желите да наставите са " +"уређивањем документа." + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"Овај документ садржи угнијежђене фајлове. Кликните овде да их видите или идите до Фајл→Угнијежђени фајлови." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "Претходна" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "Врати се на претходну страницу" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "Помијера на претходну страницу документа" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "Сљедећа" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "Продужи на сљедећу страницу" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "Помијера на сљедећу страницу документа" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "Почетак документа" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "Помијера на почетак документа" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "Крај документа" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "Помијера на крај документа" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "Преименуј текући обиљеживач" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "Претходни обиљеживач" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "Иди на претходни обиљеживач" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "Сљедећи обиљеживач" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "Иди на сљедећи обиљеживач" + +#: part/part.cpp:748 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgid "Configure Okular…" +msgstr "Подеси Окулар..." + +# >> @title:window +#: part/part.cpp:751 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Configure Viewer…" +msgstr "Подешавање приказивача" + +# >> @title:window +#: part/part.cpp:757 +#, fuzzy, kde-format +#| msgid "Configure Viewer Backends" +msgid "Configure Viewer Backends…" +msgstr "Подешавање приказивачких позадина" + +# >> @title:window +#: part/part.cpp:759 +#, fuzzy, kde-format +#| msgid "Configure Backends" +msgid "Configure Backends…" +msgstr "Подешавање позадина" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "О позадини" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "&Поново учитај" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "Учитај документ поново са диска." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "Затвори траку за &претрагу" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "Број странице" + +#: part/part.cpp:817 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "Подеси Окулар..." + +#: part/part.cpp:858 +#, fuzzy, kde-format +#| msgid "Speak Current Page" +msgid "Select All Text on Current Page" +msgstr "Изговори текућу страницу" + +#: part/part.cpp:871 +#, fuzzy, kde-format +#| msgid "Show &Page Bar" +msgid "Show S&idebar" +msgstr "Прикажи &траку страница" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "Прикажи &траку страница" + +#: part/part.cpp:886 +#, fuzzy, kde-format +#| msgid "Show &Navigation Panel" +msgid "Show &Signatures Panel" +msgstr "Прикажи &навигациони панел" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "&Угнијежђени фајлови" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "И&звези као" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "По&дели" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "&Презентација" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "" + +#: part/part.cpp:945 +#, fuzzy, kde-format +#| msgid "&Import PostScript as PDF..." +msgid "&Import PostScript as PDF…" +msgstr "&Увези постскрипт као ПДФ..." + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "Режим црног екрана" + +#: part/part.cpp:957 +#, fuzzy, kde-format +#| msgid "Erase Drawings" +msgid "Erase Drawing" +msgstr "Избриши цртеже" + +#: part/part.cpp:962 +#, fuzzy, kde-format +#| msgid "Configure Annotations..." +msgid "Configure Annotations…" +msgstr "Подеси тумачења..." + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "Пусти/паузирај презентацију" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" + +#: part/part.cpp:1123 +#, fuzzy, kde-format +#| msgid "Document Password" +msgid "Document can't be saved" +msgstr "Лозинка документа" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "Не могу да отворим „%1“ (%2)" + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "Учитавање %1 је отказано." + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "Не могу да отворим „%1“. Разлог: %2" + +# >> @title:window +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "Подешавање приказивачких позадина" + +# >> @title:window +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "Подешавање позадина" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"Наредба ‘ps2pdf’ није нађена, па Окулар не може да увезе ПС фајлове помоћу " +"ње." + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "‘ps2pdf’ није нађена" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "Постскрипт фајлови (%1)" + +#: part/part.cpp:1357 +#, fuzzy, kde-format +#| msgid "Importing PS file as PDF (this may take a while)..." +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "Увозим ПС фајл као ПДФ (може да потраје)..." + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "Унесите лозинку за читање документа:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "Нетачна лозинка. Покушајте поново:" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "Лозинка документа" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "Овај документ има ИксФА формуларе, који тренутно нису подржани." + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"Овај документ садржи формуларе. Кликните на дугме да интерагујете са њима " +"или користите „Приказ→Прикажи формуларе“." + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "" + +#: part/part.cpp:1739 +#, fuzzy, kde-format +#| msgid "Exit Presentation Mode" +msgid "Enter Presentation Mode" +msgstr "Изађи из режима презентације" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "" + +#: part/part.cpp:1830 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not open %1. %2" +msgstr "Не могу да отворим ‘%1’" + +#: part/part.cpp:1860 +#, fuzzy, kde-kuit-format +#| msgid "" +#| "There are unsaved changes, and the file '%1' has been modified by another " +#| "program. Your changes will be lost, because the file can no longer be " +#| "saved.
    Do you want to continue reloading the file?" +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" +"Фајл „%1“ има несачуваних измена а и изменио га је други програм. " +"Измене ће бити изгубљене зато што фајл више не може да се сачува.
    Желите ли да наставите са поновним учитавањем?" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "Фајл измењен" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "Настави учитавање" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "Обустави учитавање" + +#: part/part.cpp:1870 +#, fuzzy, kde-kuit-format +#| msgid "" +#| "There are unsaved changes, and the file '%1' has been modified by another " +#| "program. Your changes will be lost, because the file can no longer be " +#| "saved.
    Do you want to continue closing the file?" +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" +"Фајл „%1“ има несачуваних измена а и изменио га је други програм. " +"Измене ће бити изгубљене зато што фајл више не може да се сачува.
    Желите ли да наставите са затварањем?" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "Настави затварање" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "Обустави затварање" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "Желите ли да сачувате измене у „%1“ или да их одбаците?" + +# >> @title:window +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "Затварање документа" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"Ова веза показује на радњу затварања документа која не ради када се користи " +"угнијежђени приказивач." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"Ова веза показује на радњу напуштања програма која не ради када се користи " +"угнијежђени приказивач." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Reloading the document…" +msgstr "Поново учитавам документ..." + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "Садржај" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Иди на страницу" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "С&траница:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "Унесите име новог обиљеживач:" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "Преименуј овај обиљеживач" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "Уклони овај обиљеживач" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +# >> @title:window +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "Уписивање као" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "Упозорење о уписивању" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
    In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" +"Тренутни документ је заштићен лозинком.
    Да бисте га сачували, " +"фајл мора поново да се учита. Поново ће вам бити затражена лозинка и " +"изгубићете историјате опозива и понављања.
    Желите ли да наставите?" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "Не могу да отворим привремени фајл за уписивање." + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" +"Пошто га сачувате, формат тренутног документа захтева да се фајл " +"поново учита. Изгубићете историјат опозива и понављања.
    Желите ли да " +"наставите?" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "" +"Фајл није могао бити сачуван у ‘%1’. Покушајте да га сачувате на другом " +"мјесту." + +# >> @item +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "садржај попуњених формулара" + +# >> @item +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "корисничка тумачења" + +# ! За трапнакрон, МИМЕ-типови: Okular document archive +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" +"Пошли сте да сачувате измене, али формат тренутног фајл не подржава " +"уписивање наредних елемената. Употребите формат Окуларова архива " +"докумената да их не изгубите." + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "Упозорење" + +# ! За трапнакрон, МИМЕ-типови: Okular document archive +#: part/part.cpp:2779 part/part.cpp:2801 +#, fuzzy, kde-format +#| msgid "Save as Okular document archive..." +msgid "Save as Okular document archive…" +msgstr "Сачувај као Окуларову архиву докумената..." + +# ! За трапнакрон, МИМЕ-типови: Okular document archive +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" +"Пошли сте да сачувате измене, али формат тренутног фајл не подржава " +"уписивање наредних елемената. Употребите формат Окуларова архива " +"докумената да их не изгубите. Кликните на Настави да сачувате " +"документ и одбаците ове елементе." + +# ! За трапнакрон, МИМЕ-типови: Okular document archive +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" +"Пошли сте да сачувате измене, али формат тренутног фајл не подржава " +"уписивање наредних елемената. Употребите формат Окуларова архива " +"докумената да их не изгубите. Кликните на Настави уз губљење измена да сачувате свеједно, али ћете изгубити ове елементе као и историјат " +"опозива и понављања." + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "Настави" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "Настави уз губљење измена" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "Фајл не може да се сачува у '%1'. %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"Окулар не може да копира %1 на задато мјесто.\n" +"\n" +"Документ више не постоји." + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" +"Фајл није могао бити сачуван у ‘%1’. Грешка: ‘%2’. Покушајте да га сачувате " +"на другом мјесту." + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "End Presentation" +msgid "Expand Whole Section" +msgstr "Заврши презентацију" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "End Presentation" +msgid "Collapse Whole Section" +msgstr "Заврши презентацију" + +#: part/part.cpp:3172 +#, fuzzy, kde-format +#| msgid "Link the &thumbnails with the page" +msgid "Sync Thumbnail with Page" +msgstr "Повежи с&личице са страницом" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Алатке" + +#: part/part.cpp:3381 +#, fuzzy, kde-format +#| msgid "Speak Text" +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "Изговори текст" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "Штампање" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "Штампање овог документа није дозвољено." + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"Не могу да одштампам документ. Непозната грешка. Пријавите ово на bugs.kde." +"org." + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"Не могу да одштампам документ. Грешка је „%1“. Пријавите ово на bugs.kde.org." + +# >> @info:whatsthis +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "Идите на мјесто на коме сте били прије." + +# >> @info:whatsthis +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "Идите на мјесто на коме сте били послије." + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"Грешка фајла! Не могу да направим привремени фајл " +"%1." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"Грешка фајла! Не могу да отворим фајл %1 зарад распакивања. Фајл неће бити учитан." + +#: part/part.cpp:3751 +#, fuzzy, kde-format +#| msgid "" +#| "This error typically occurs if you do not have enough permissions to " +#| "read the file. You can check ownership and permissions if you right-click " +#| "on the file in the Dolphin file manager and then choose the 'Properties' " +#| "tab." +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"До ове грешке обично долази ако немате довољно дозвола за читање фајла. " +"Власништво и дозволе можете да провјерите ако кликнете десним на фајл у " +"менаџеру фајлова Делфину и изаберете језичак Својства." + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"Грешка фајла! Не могу да распакујем %1. Фајл неће бити учитан." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"Ова грешка се обично јавља ако је фајл покварен. Ако желите да будете " +"сигурни, покушајте да га распакујете ручно помоћу наредби из командне линије." +"" + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "Нема обиљеживача" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "Проблем при дељењу документа: %1" + +# >> @title:window +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "Дељење" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "Документ успешно подељен." + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "Подељени документ можете наћи на: %1" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "&Уређивање" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "&Приказ" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&Кретање" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "&Алатке" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "Главна трака" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgid "Annotation Toolbar" +msgstr "Алатке тумачења" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgid "Quick Annotation Toolbar" +msgstr "Алатке тумачења" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "Опште опције" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Приступачност" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "Помоћи за читање" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Перформансе" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "Штеловање перформанси" + +# >> @title:window +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "Подешавање приказивача" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Презентација" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "Опције за режим презентације" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "Опције тумачења" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "Уређивач" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "Опције уређивача" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "Наћи сљедеће" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 – презентација" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "Промијени екран" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "Екран %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "Изађи из режима презентације" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Наслов: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Странице: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "Кликните да почнете" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "Паузирај" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "Пусти" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"Постоје два начина да се изађе из режима презентације. Можете притиснути " +"тастер Esc; или кликнути на дугме за напуштање које се појављује кад " +"показивач миша доведете у горњи десни угао. Наравно, можете и кружити кроз " +"прозоре (подразумијевано је Alt+Tab)." + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "Презентација у току" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "Непознат фајл" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "Својства %1" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "&Фонтови" + +#: part/propertiesdialog.cpp:145 +#, fuzzy, kde-format +#| msgid "Reading font information..." +msgid "Reading font information…" +msgstr "Читам информације о фонту..." + +#: part/propertiesdialog.cpp:158 +#, fuzzy, kde-format +#| msgid "&Page Size" +msgid "&Page Sizes" +msgstr "&Величина странице" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "&Извади фонт" + +# >> @item:intext +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "тип‑1" + +# >> @item:intext +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "тип‑1Ц" + +# >> @item:intext +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "тип‑1Ц (ОТ)" + +# >> @item:intext +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "тип‑3" + +# >> @item:intext +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "трутајп" + +# >> @item:intext +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "трутајп (ОТ)" + +# >> @item:intext +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "ЦИД тип‑0" + +# >> @item:intext +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "ЦИД тип‑0Ц" + +# >> @item:intext +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "ЦИД тип‑0Ц (ОТ)" + +# >> @item:intext +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "ЦИД трутајп" + +# >> @item:intext +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "ЦИД трутајп (ОТ)" + +# >> @item:intext +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "техов ПК" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "техов виртуелни" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "техова метрика фонта" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "техов преко Фритајпа" + +# >> @item:intext Unknown font type +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "непознат" + +# >> @item:intext Font source +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "угнијежђен (подскуп)" + +# >> @item:intext Font source +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "потпуно угнијежђен" + +# >> @item:intext Embedded: No +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "не" + +# >> @item:intext Embedded: Yes (subset) +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "да (подскуп)" + +# >> @item:intext Embedded: Yes +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "да" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "не постоји" + +# >> @title Font name as tooltip header +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "Непознат фонт" + +# >> @label Font is embedded: yes/no/... +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "Угнијежђен: %1" + +# >> @title:column +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "име" + +# >> @title:column +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "тип" + +# >> @title:column +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "фајл" + +#: part/propertiesdialog.cpp:498 +#, fuzzy, kde-format +#| msgid "Pages" +msgid "Page" +msgstr "Страница" + +#: part/propertiesdialog.cpp:501 +#, fuzzy, kde-format +#| msgctxt "@title:column" +#| msgid "Size" +msgid "Size" +msgstr "величина" + +#: part/revisionviewer.cpp:41 +#, fuzzy, kde-format +#| msgid "Print Preview" +msgid "Revision Preview" +msgstr "Преглед пред штампање" + +#: part/revisionviewer.cpp:53 +#, fuzzy, kde-format +#| msgid "Where do you want to save %1?" +msgid "Where do you want to save this revision?" +msgstr "Гдје желите да сачувате ‘%1’?" + +#: part/revisionviewer.cpp:56 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not save file %1." +msgstr "Не могу да отворим ‘%1’" + +#: part/revisionviewer.cpp:75 +#, fuzzy, kde-format +#| msgid "Could not open %1. Reason: %2" +msgid "Could not view revision." +msgstr "Не могу да отворим „%1“. Разлог: %2" + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "Унесите бар три слова за филтрирање страница" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "Разликуј величину слова" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "Поклопи фразу" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "Поклопи све ријечи" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "Поклопи неку реч" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "Опције филтера" + +# >> @title:window +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Certificates" +msgstr "Подешавање приказивача" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "" + +# >> @title:window +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Only QES certificates" +msgstr "Подешавање приказивача" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, fuzzy, kde-format +#| msgid "Options" +msgid "optional" +msgstr "Опције" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Location:" +msgstr "%1 тумачење" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, fuzzy, kde-format +#| msgid "Background color:" +msgid "Background:" +msgstr "Позадинска боја:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, fuzzy, kde-format +#| msgid "Use custom background color" +msgid "Recent backgrounds:" +msgstr "Посебна позадинска боја" + +#: part/side_reviews.cpp:66 +#, fuzzy, kde-format +#| msgid "" +#| "

    No annotations

    To create new annotations press " +#| "F6 or select Tools -> Review from the menu.
    " +msgid "" +"

    No annotations

    To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
    " +msgstr "" +"

    Нема тумачења

    Да бисте направили ново тумачење " +"притисните F6 или изаберите Алатке→Преглед из менија.
    " + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "Групиши по страницама" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "Групиши по аутору" + +#: part/side_reviews.cpp:155 +#, fuzzy, kde-format +#| msgid "Show reviews for current page only" +msgid "Show annotations for current page only" +msgstr "Прикажи прегледе само за текућу страницу" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "" + +#: part/signaturepanel.cpp:101 +#, fuzzy, kde-format +#| msgid "&Properties" +msgid "Properties" +msgstr "&Својства" + +#: part/signaturepartutils.cpp:180 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Странице: %1" + +#: part/signaturepartutils.cpp:181 +#, fuzzy, kde-format +#| msgid "Use custom background color" +msgid "Select background image" +msgstr "Посебна позадинска боја" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "" + +#: part/signaturepartutils.cpp:244 +#, fuzzy, kde-format +#| msgid "Document Password" +msgid "Enter document password" +msgstr "Лозинка документа" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "" + +# >> @item:inlistbox Stamp Symbol +#: part/signaturepropertiesdialog.cpp:63 +#, fuzzy, kde-format +#| msgid "Information" +msgid "Additional Information" +msgstr "информација" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:83 +#, fuzzy, kde-format +#| msgid "Document Password" +msgid "Document Version" +msgstr "Лозинка документа" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "" + +# >> @title:window +#: part/signaturepropertiesdialog.cpp:95 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "View Certificate…" +msgstr "Подешавање приказивача" + +# >> @title:window +#: part/signaturepropertiesdialog.cpp:97 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "View in Certificate Manager" +msgstr "Подешавање приказивача" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "Прикажи само обиљежене странице" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "Пусти" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Паузирај" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "Заустави" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, fuzzy, kde-format +#| msgid "&Edit" +msgid "&Edit…" +msgstr "&Уређивање" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "У&клони" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "Помери на&горе" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "Помери на&доље" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "Подразумевана алатка цртања #%1" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "Већ постоји алатка са таквим именом, узимам подразумевано." + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "Дупликат имена" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "Страница документа за приказивање" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "Отвори документ у режиму презентације" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "Покрени на дијалогу за штампање" + +#: shell/main.cpp:78 +#, fuzzy, kde-format +#| msgid "Start with print dialog" +msgid "Start with print dialog and exit after printing" +msgstr "Покрени на дијалогу за штампање" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "Контрола „јединственог примерка“" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "Не подижи прозор" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "Документи за отварање. Задајте ‘-’ за читање са стдул." + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "Грешка: уз опцију --unique може да се отвори само један документ" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "Грешка: уз опцију --presentation може да се отвори само један документ" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "Грешка: уз опцију --print може да се отвори само један документ" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "Грешка: уз опцију --page може да се отвори само један документ" + +#: shell/okular_main.cpp:210 +#, fuzzy, kde-format +#| msgid "Error: Can't open more than one document with the --print switch" +msgid "Error: Can't open more than one document with the --find switch" +msgstr "Грешка: уз опцију --print може да се отвори само један документ" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "Не могу да пронађем компоненту Окулара: %1" + +#: shell/shell.cpp:250 +#, fuzzy, kde-format +#| msgid "Show &Page Bar" +msgid "Sidebar" +msgstr "Прикажи &траку страница" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" +"Јединствени примерак Окулара већ је у погону. Овај примерак неће бити " +"јединствени." + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "Не могу да пронађем део Окулара." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"Кликните да отворите фајл\n" +"Кликните и држите да отворите недавни фајл" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"Кликните да отворите фајл или кликните и држите да изаберете " +"недавни фајл" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "Сљедећи језичак" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "Претходни језичак" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "" + +#: shell/shell.cpp:603 +#, fuzzy, kde-format +#| msgid "Show &Page Bar" +msgid "Lock Sidebar" +msgstr "Прикажи &траку страница" + +# >> @item +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "сви фајлови (*)" + +# >> @item +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "сви подржани фајлови (%1)" + +# >> @title:window +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "Отварање документа" + +# >> @title:window +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "Потврда затварања" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "Затвори језичке" + +# >! Plurals. +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "" +"Овим ћете затворити %1 језичака. Желите ли заиста да наставите?|/|Овим ћете " +"затворити %1 $[множ ^1 језичак језичка језичака]. Желите ли заиста да " +"наставите?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "Упозори ме на покушај затварања више језичака" + +#: shell/welcomescreen.cpp:64 +#, fuzzy, kde-format +#| msgid "Copy Text" +msgid "&Copy Path" +msgstr "Копирај текст" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "" + +#: shell/welcomescreen.cpp:137 +#, fuzzy, kde-format +#| msgid "Current document only" +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "Само текући документ" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "" + +# >> @title:window +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, fuzzy, kde-format +#| msgid "Open Document" +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Отварање документа" + +# >> @title:window +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, fuzzy, kde-format +#| msgid "Open Document" +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Отварање документа" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "" + +# >> @title +#~ msgid "Geometry" +#~ msgstr "Геометрија" + +#~ msgid "Modified: %1" +#~ msgstr "Измијењен: %1" + +#~ msgid "Find..." +#~ msgstr "Нађи..." + +#~ msgid "Go To Page..." +#~ msgstr "Иди на страницу..." + +#~ msgid "Play movie..." +#~ msgstr "Пусти филм..." + +#, fuzzy +#~| msgid "S&earch:" +#~ msgid "Search..." +#~ msgstr "&Тражи:" + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "Сачувај &као..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "&Прикажи..." + +#~ msgid "Configure Viewer..." +#~ msgstr "Подеси приказивач..." + +#~ msgid "Configure Viewer Backends..." +#~ msgstr "Подеси приказивачке позадине..." + +#~ msgid "Configure Backends..." +#~ msgstr "Подеси позадине..." + +#~ msgid "&Add..." +#~ msgstr "&Додај..." + +#~ msgid "&Edit..." +#~ msgstr "&Уреди..." + +# >> @item:intext +#, fuzzy +#~| msgctxt "Unknown author" +#~| msgid "Unknown" +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "непознат" + +#, fuzzy +#~| msgid "%" +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr "%" + +# well-spelled: пикс +#~ msgctxt "Suffix for the pen width, eg '10 px'" +#~ msgid " px" +#~ msgstr " пикс." + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " %" + +#, fuzzy +#~| msgid "%" +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%" + +#, fuzzy +#~| msgid "Fit Width" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "уклопљена ширина" + +#, fuzzy +#~| msgid "Fit Page" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "уклопљена страница" + +#, fuzzy +#~| msgid "Auto Fit" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Auto Fit" +#~ msgstr "уклопљено аутоматски" + +#~ msgid "*|All Files" +#~ msgstr "*|Сви фајлови" + +#~ msgid "Draw border around &Images" +#~ msgstr "Цртај ивицу око с&лика" + +#~ msgid "Identity" +#~ msgstr "Идентитет" + +#, fuzzy +#~| msgid "&Author:" +#~ msgid "Au&thor:" +#~ msgstr "&Аутор:" + +#~ msgid "View Options" +#~ msgstr "Опције приказа" + +#~ msgctxt "@info:whatsthis" +#~ msgid "" +#~ "Defines the default zoom mode for files which were never opened before.\n" +#~ "For files which were opened before the previous zoom is applied." +#~ msgstr "" +#~ "Одређује подразумевани режим увеличања за први пут отворене фајлове.\n" +#~ "На фајлове који су раније отварани примењује се претходно увеличање." + +#~ msgid "Navigation" +#~ msgstr "Навигација" + +#~ msgid "Advance every:" +#~ msgstr "Напредуј сваких:" + +#~ msgid "Enable transitions" +#~ msgstr "Омогући прелазе" + +#~ msgid "Placement" +#~ msgstr "Позиционирање" + +#~ msgid "Screen:" +#~ msgstr "Екран:" + +#~ msgid "Drawing Tool Configuration" +#~ msgstr "Постава алатке цртања" + +#~ msgid "&Get Books From Internet..." +#~ msgstr "&Добави књиге са Интернета..." + +#~ msgid "" +#~ "The file '%1' has been modified by another program, which means it can no " +#~ "longer be saved." +#~ msgstr "" +#~ "Неки други програм је изменио фајл „%1“, што значи да више не може да се " +#~ "сачува." + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "@item:inlistbox Color name" +#~ msgid "%1" +#~ msgstr "%1:" + +# >> @item:inlistbox Stamp Symbol +#, fuzzy +#~| msgid "Experimental" +#~ msgctxt "@title:window" +#~ msgid "Experimental feature" +#~ msgstr "експериментално" + +#~ msgid "Remove Bookmarks" +#~ msgstr "Уклони обиљеживаче" + +#~ msgid "&Toggle Change Colors" +#~ msgstr "&Пребаци промену боја" + +#~ msgid "Hide Forms" +#~ msgstr "Сакриј формуларе" + +#, fuzzy +#~| msgctxt "Add an annotation to the page" +#~| msgid "add annotation" +#~ msgid "Bookmark annotation" +#~ msgstr "Додај тумачење" + +#~ msgid "Reviews" +#~ msgstr "Прегледи" diff --git a/po/sr@ijekavian/okular_comicbook.po b/po/sr@ijekavian/okular_comicbook.po new file mode 100644 index 0000000..d420da3 --- /dev/null +++ b/po/sr@ijekavian/okular_comicbook.po @@ -0,0 +1,48 @@ +# Translation of okular_comicbook.po into Serbian. +# Slobodan Simic , 2009. +# Chusslove Illich , 2010, 2017. +msgid "" +msgstr "" +"Project-Id-Version: okular_comicbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2017-09-28 17:59+0200\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@ijekavian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Generator: KBabel 1.11.4\n" +"X-Environment: kde\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Слободан Симић" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "slsimic@gmail.com" + +#: document.cpp:97 +#, fuzzy, kde-format +#| msgid "Cannot open document, unrar was not found." +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "Не могу да отворим документ, unrar није нађена." + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "Верзија unrar на систему није подесна за отварање комикбука." + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "Непознат формат комикбука." diff --git a/po/sr@ijekavian/okular_djvu.po b/po/sr@ijekavian/okular_djvu.po new file mode 100644 index 0000000..92fa426 --- /dev/null +++ b/po/sr@ijekavian/okular_djvu.po @@ -0,0 +1,103 @@ +# Translation of okular_djvu.po into Serbian. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Slobodan Simic , 2007. +# Zoran Olujic , 2010. +# Chusslove Illich , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_djvu\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-10-05 22:02+0200\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@ijekavian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Слободан Симић" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "slsimic@gmail.com" + +# skip-rule: t-editor +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "Уредник" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "Издавач" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "Свеска" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "Врста документа" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "непознато" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "Саставних фајлова" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "непозната" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "једнострани" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "комплет" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "индиректни" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "комплет (стари)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "индексирани (стари)" diff --git a/po/sr@ijekavian/okular_dvi.po b/po/sr@ijekavian/okular_dvi.po new file mode 100644 index 0000000..d4ddecd --- /dev/null +++ b/po/sr@ijekavian/okular_dvi.po @@ -0,0 +1,585 @@ +# Translation of okular_dvi.po into Serbian. +# Slobodan Simic , 2007. +# Zoran Olujic , 2010. +# Chusslove Illich , 2010, 2013, 2014, 2017. +# Dalibor Djuric , 2010. +msgid "" +msgstr "" +"Project-Id-Version: okular_dvi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2017-09-28 17:59+0200\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@ijekavian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" +"X-Associated-UI-Catalogs: okular\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Зоран Олујић" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "olujicz@gmail.com" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

    Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

    Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

    " +msgstr "" +"

    Окулар не може да нађе наредбу dvipdfm на овом рачунару. Она " +"је неопходна за рад функције извоза. ДВИ фајл можете да претворите у ПДФ и " +"употребом функције извоза у Окулару, али ће такав документ добро изгледати " +"само на папиру, док ће бити лошијег квалитета у Акробату читачу. Зато је " +"ипак најбоље да доградите дистрибуцију теха на новију верзију, која садржи и " +"наредбу dvipdfm.

    Савјет збуњеном систем-администратору: " +"Окулар тражи наредбе кроз промјенљиву окружења $PATH.

    " + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Спољашња наредба dvipdfm, употријебљена за извоз фајла, " +"пријавила је грешку. Детаљнији извјештај о грешци можете наћи у " +"дијалогу података о документу, који позивате кроз мени " +"Фајл." + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" +"Овај ДВИ фајл указује на спољашње графичке фајлове који нису у формату " +"постскрипт, те не могу бити обрађени наредбом dvips, коју Окулар " +"интерно користи за штампање и извоз у постскрипт. Функционалност коју " +"захтевате недостаје у овој верзији Окулара." + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

    Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

    Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

    " +msgstr "" +"

    Окулар не може да пронађе наредбу dvips на овом рачунару. " +"Она је кључна за рад функције извоза.

    Савјет збуњеном систем-" +"администратору: Окулар тражи наредбе кроз промјенљиву окружења $PATH.

    " + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Спољашња наредба dvips, употребљена за извоз фајла, пријавила " +"је грешку. Детаљнији извјештај о грешци можете наћи у дијалогу " +"података о документу, који позивате кроз мени Фајл." + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "ДВИ фајл не почиње преамбулом." + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" +"ДВИ фајл садржи погрешну верзију ДВИ излаза за ову наредбу. Савет: Ако " +"користите словослагачки систем Омега, тада ћете морати да користите и " +"посебну наредбу, као што је oxdvi." + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "ДВИ фајл је знатно искварен. Окулар не може да пронађе постамбулу." + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "Постамбула не почиње наредбом „POST“." + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "Постамбула садржи неку другу наредбу осим „FNTDEF“." + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "Страница %1 не почиње наредбом „BOP“." + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

    The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

    What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

    PATH: %2

    " +msgstr "" +"

    Спољашња наредба pdf2ps не може да се изврши, те није могуће " +"претворити ПДФ фајл %1 у постскрипт. Због овога неће бити приказани " +"неки графички елементи документа.

    Могући разлози: Наредба " +"pdf2ps можда није инсталирана, или се не може наћи кроз тренутну " +"путању претраге.

    Шта можете да урадите: Наредба pdf2ps " +"обично стиже у дистрибуцијама Гостскрипта, интерпретаторског система за " +"постскрипт. Ако Гостскрипт није инсталиран, могли бисте га инсталирати сада. " +"Ако сте сигурни да је Гостскрипт инсталиран, покушајте да извршите " +"pdf2ps из командне линије да проверите да ли заиста ради.

    $PATH: %2

    " + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

    The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

    %2

    " +msgstr "" +"

    ПДФ фајл %1 не може да се претвори у постскрипт. Због овога " +"неће бити приказани неки графички елементи документа.

    Могући " +"разлози: Фајл је можда искварен, или можда уопште није ПДФ фајл. Наредба " +"pdf2ps, коју је Окулар употребио, исписала је следеће:

    %2

    " + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "Фајл је искварен. %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "Неки постскрипт фајлови не могу да буду угнежђени у документ. %1" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "Сви спољашњи постскрипт фајлови угнежђени су у документ." + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "Задати фајл ‘%1’ не постоји." + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" +"Затражили сте од Окулара да нађе место у ДВИ фајлу које одговара реду %1 у " +"тех фајлу ‘%2’. Изгледа, међутим, да ДВИ фајл не садржи неопходне податке о " +"изворном фајлу." + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" +"Окулар не може да нађе место у ДВИ фајлу које одговара реду %1 у тех фајлу " +"‘%2’." + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "ДВИ ко̂д наводи знак из непознатог фонта." + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "ДВИ ко̂д помиње фонт #%1, који није претходно дефинисан." + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "Стек није био празан када је наишла наредба „EOP“." + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "Стек је био празан када је наишла наредба „POP“." + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "ДВИ ко̂д помиње фонт који није претходно дефинисан." + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "Наишла је недозвољена наредба." + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "Наишао је непознати оп‑ко̂д %1." + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "Угњежђујем %1" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
    " +msgstr "" +"Страница %1: Не могу да претворим ПДФ фајл %2 у постскрипт." +"
    " + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
    " +msgstr "" +"Страница %1: Не могу да нађем постскрипт фајл %2.
    " + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "Не могу да рашчланим податке о величини папира „%1“." + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

    Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

    PATH: %1

    %2

    " +msgstr "" +"

    Окулар не може да пронађе све фајлове фонтове који су потребни за " +"приказивање текућег ДВИ фајла. Документ може бити нечитљив.

    $PATH: %1

    %2

    " + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

    There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
    Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

    PATH: %1

    %2

    " +msgstr "" +"

    Било је проблема при извршавању kpsewhich. Последица је да " +"неки фајлови фонтова нису нађени, и документ може бити нечитљив.

    Могући разлог: наредба kpsewhich можда није инсталирана на " +"систему, или није доступна кроз тренутну путању претраге.

    $PATH: %1

    %2

    " + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" +"Прекинуто је генерисање фонтова помоћу kpsewhich (излазни ко̂д " +"%1, грешка %2). Због овога неки фонтови нису пронађени, и документ може бити " +"нечитљив." + +#: fontpool.cpp:482 +#, fuzzy, kde-format +#| msgid "Currently generating %1 at %2 dpi..." +msgid "Currently generating %1 at %2 dpi…" +msgstr "Тренутно генеришем %1 при %2 тпи..." + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "Генератор/датум" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "Фонт није пронађен" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "портрет" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "пејзаж" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" +"Верзија Гоствјуа инсталирана на овом рачунару не садржи ниједан драјвер " +"уређаја који Окулар познаје. Због овога је искључена подршка за постскрипт у " +"Окулару." + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "" +"Нађено је 25 грешака до сада. Даље поруке о грешкама неће бити приказане." + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" +"Грешка у ДВИ фајлу ‘%1’, на страници %2. Издата је наредба „POP“ за боју док " +"је стек за боје празан." + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" +"Лоше формиран параметар у специјалној наредби „epsf“.\n" +"Очекиван је реалан број након %1 у %2." + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"Фајл није пронађен:\n" +" %1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" +"Грешка у ДВИ фајлу ‘%1’, страница %2. Не могу да интерпретирам угао у " +"специјалној наредби ротације текста." + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "Специјална наредба „%1“ није изведена." + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" +"Фајл фонта ‘%1’ може да се отвори и прочита, али формат фонта није подржан." + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "" +"Фајл фонта ‘%1’ или је покварен, или не може да се отворили или прочита." + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" +"Фритајп пријављује грешку при постављању величине знакова за фајл фонта ‘%1’." + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "Фритајп не може да учита глиф #%1 из фајла фонта ‘%2’." + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "Фритајп не може да изрендерује глиф #%1 из фајла фонта ‘%2’." + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "Глиф #%1 је празан." + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "Глиф #%1 из фајла фонта ‘%2’ је празан." + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "Фритајп не може да учита метрику за глиф #%1 из фајла фонта ‘%2’." + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "Не могу да отворим фајл фонта ‘%1’." + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "TexFont_PK::operator[]: Знак %1 није дефинисан у фонту %2." + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "Неочекивано %1 у ПК фајлу ‘%2’." + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "Знак %1 је превише велики у фајлу ‘%2’." + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "Ускладиштен погрешан број битова: знак %1, фонт %2." + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "Лош ПК фајл (%1), превише битова." + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "Фонт има неквадратну пропорцију." + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "Не могу да нађем фонт %1, фајл ‘%2’." + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "Неслагање контролне суме за фајл фонта ‘%1’." + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "Не могу да препознам формат фајла фонта ‘%1’." + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"Кобна грешка.\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" +"\n" +"Ово вјероватно значи да сте или нашли грешку у Окулару, или да су ДВИ " +"фајл или допунски фајлови (попут фајлова фонтова или виртуелних фонтова) " +"озбиљно искварени. Окулар ће обуставити рад послије ове поруке. Ако мислите " +"да сте пронашли грешку, или да Окулар треба боље да се снађе у овој " +"ситуацији, пријавите овај проблем." + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "Погрешан командни бајт пронађен у VF макро листи: %1" + +#~ msgid "" +#~ "

    The Ghostview program, which Okular uses internally to display the " +#~ "PostScript graphics that is included in this DVI file, is generally able " +#~ "to write its output in a variety of formats. The sub-programs that " +#~ "Ghostview uses for these tasks are called 'device drivers'; there is one " +#~ "device driver for each format that Ghostview is able to write. Different " +#~ "versions of Ghostview often have different sets of device drivers " +#~ "available. It seems that the version of Ghostview that is installed on " +#~ "this computer does not contain any of the device drivers " +#~ "that are known to Okular.

    It seems unlikely that a regular " +#~ "installation of Ghostview would not contain these drivers. This error may " +#~ "therefore point to a serious misconfiguration of the Ghostview " +#~ "installation on your computer.

    If you want to fix the problems with " +#~ "Ghostview, you can use the command gs --help to display " +#~ "the list of device drivers contained in Ghostview. Among others, Okular " +#~ "can use the 'png256', 'jpeg' and 'pnm' drivers. Note that Okular needs to " +#~ "be restarted to re-enable PostScript support.

    " +#~ msgstr "" +#~ "

    За приказивање постскрипт графике укључене у овај ДВИ фајл Окулар " +#~ "интерно користи програм Гоствју, који може да произведе многе различите " +#~ "формате на излазу. Потпрограми које Гоствју користи у ову сврху називају " +#~ "се „драјверима уређаја“, по један за сваки формат који Гоствју може да " +#~ "запише. Различита издања Гоствјуа често имају различите скупове драјвера. " +#~ "Изгледа да издање Гоствјуа инсталирано на овом рачунару не садржи " +#~ "ниједан драјвер познат Окулару.

    Мало је вјероватно " +#~ "да исправна инсталација Гоствјуа не садржи ниједан драјвер. Стога ова " +#~ "грешка вјероватно указује на озбиљне грешке у постави Гоствјуа на овом " +#~ "рачунару.

    Уколико желите да отклоните проблеме са Гоствјуом, можете " +#~ "извршити наредбу gs --help да добијете списак драјвера које " +#~ "Гоствју садржи. Између осталих, Окулар може да користи драјвере " +#~ "png256, jpeg и pnm. Окулар мора бити поново " +#~ "покренут да би се поново провјерила подршка за постскрипт.

    " diff --git a/po/sr@ijekavian/okular_epub.po b/po/sr@ijekavian/okular_epub.po new file mode 100644 index 0000000..7b3f0df --- /dev/null +++ b/po/sr@ijekavian/okular_epub.po @@ -0,0 +1,46 @@ +# Translation of okular_epub.po into Serbian. +# Slobodan Simic , 2009. +# Chusslove Illich , 2010, 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_epub\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-06-01 14:47+0200\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@ijekavian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Generator: KBabel 1.11.4\n" +"X-Environment: kde\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Слободан Симић" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "slsimic@gmail.com" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "Грешка при отварању ЕПУБ документа." + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "ЕПУБ" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "Постава позадине за ЕПУБ" diff --git a/po/sr@ijekavian/okular_fax.po b/po/sr@ijekavian/okular_fax.po new file mode 100644 index 0000000..4f3cf3a --- /dev/null +++ b/po/sr@ijekavian/okular_fax.po @@ -0,0 +1,36 @@ +# Translation of okular_fax.po into Serbian. +# Slobodan Simic , 2009. +# Chusslove Illich , 2010. +msgid "" +msgstr "" +"Project-Id-Version: okular_fax\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-03-11 20:29+0100\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@ijekavian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Generator: KBabel 1.11.4\n" +"X-Environment: kde\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Слободан Симић" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "slsimic@gmail.com" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "Не могу да учитам документ" diff --git a/po/sr@ijekavian/okular_fictionbook.po b/po/sr@ijekavian/okular_fictionbook.po new file mode 100644 index 0000000..63b4048 --- /dev/null +++ b/po/sr@ijekavian/okular_fictionbook.po @@ -0,0 +1,75 @@ +# Translation of okular_fictionbook.po into Serbian. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Slobodan Simic , 2007. +# Zoran Olujic , 2010. +# Chusslove Illich , 2010, 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_fictionbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-06-01 14:47+0200\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@ijekavian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Зоран Олујић" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "olujicz@gmail.com" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "Документ није правилан фикшнбук" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "Не могу да отворим документ: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "Документ није правилна ЗИП архива" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "Неправилна структура документа (недостаје главна фасцикла)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "У документу нема садржаја" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "Неправилан ИксМЛ документ: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "Фикшнбук" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "Постава позадине за фикшнбук" diff --git a/po/sr@ijekavian/okular_ghostview.po b/po/sr@ijekavian/okular_ghostview.po new file mode 100644 index 0000000..5f41807 --- /dev/null +++ b/po/sr@ijekavian/okular_ghostview.po @@ -0,0 +1,84 @@ +# Translation of okular_ghostview.po into Serbian. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Slobodan Simic , 2007. +# Zoran Olujic , 2010. +# Chusslove Illich , 2010. +# Dalibor Djuric , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_ghostview\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-03-16 11:25+0100\n" +"Last-Translator: Dalibor Djuric \n" +"Language-Team: Serbian \n" +"Language: sr@ijekavian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Зоран Олујић" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "olujicz@gmail.com" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "Користи системске фонтове" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"Одређује да ли је Гостскрипту дозвољено да користи системске фонтове. Ако " +"није, моћи ће да користи само фонтове угнијежђене у документу." + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "Опште поставке" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "&Користи системске фонтове" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Гостскрипт" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Поставке позадине за Гостскрипт" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "Верзија документа" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "Ниво језика" diff --git a/po/sr@ijekavian/okular_kimgio.po b/po/sr@ijekavian/okular_kimgio.po new file mode 100644 index 0000000..3e2132a --- /dev/null +++ b/po/sr@ijekavian/okular_kimgio.po @@ -0,0 +1,48 @@ +# Translation of okular_kimgio.po into Serbian. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Slobodan Simic , 2007. +# Zoran Olujic , 2010. +# Chusslove Illich , 2010, 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_kimgio\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2017-12-03 22:53+0100\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@ijekavian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Слободан Симић" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "slsimic@gmail.com" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "Не могу да учитам документ: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" +"Документ делује искварено. Ово је најбоље тумачење његовог жељеног изгледа." diff --git a/po/sr@ijekavian/okular_markdown.po b/po/sr@ijekavian/okular_markdown.po new file mode 100644 index 0000000..e366059 --- /dev/null +++ b/po/sr@ijekavian/okular_markdown.po @@ -0,0 +1,55 @@ +# Translation of okular_markdown.po into Serbian. +# Chusslove Illich , 2017. +msgid "" +msgstr "" +"Project-Id-Version: okular_markdown\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2017-09-25 19:53+0200\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@ijekavian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Часлав Илић" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "caslav.ilic@gmx.net" + +#: converter.cpp:59 converter.cpp:93 +#, fuzzy, kde-format +#| msgid "Failed to compile the Markdown document." +msgid "Failed to open the document" +msgstr "Не могу да компилујем маркдаун документ." + +#: converter.cpp:106 converter.cpp:124 +#, kde-format +msgid "Failed to compile the Markdown document." +msgstr "Не могу да компилујем маркдаун документ." + +#: generator_md.cpp:58 +#, kde-format +msgid "Enable SmartyPants formatting" +msgstr "" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown" +msgstr "Маркдаун" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown Backend Configuration" +msgstr "Подешавање позадине маркдауна" diff --git a/po/sr@ijekavian/okular_mobi.po b/po/sr@ijekavian/okular_mobi.po new file mode 100644 index 0000000..ee69dcb --- /dev/null +++ b/po/sr@ijekavian/okular_mobi.po @@ -0,0 +1,51 @@ +# Translation of okular_mobi.po into Serbian. +# Chusslove Illich , 2010, 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_mobi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-06-01 14:47+0200\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@ijekavian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Часлав Илић" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "caslav.ilic@gmx.net" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Грешка при отварању мобипокет документа." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "" +"Ова књига је заштићена ДРМ‑ом и може се приказати само на назначеном уређају." + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "Мобипокет" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "Постава позадине за Мобипокет" diff --git a/po/sr@ijekavian/okular_poppler.po b/po/sr@ijekavian/okular_poppler.po new file mode 100644 index 0000000..fad43d8 --- /dev/null +++ b/po/sr@ijekavian/okular_poppler.po @@ -0,0 +1,379 @@ +# Translation of okular_poppler.po into Serbian. +# Slobodan Simic , 2007. +# Zoran Olujic , 2010. +# Chusslove Illich , 2010, 2012, 2013. +# Dalibor Djuric , 2010. +msgid "" +msgstr "" +"Project-Id-Version: okular_poppler\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-03-03 22:14+0100\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@ijekavian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Зоран Олујић" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "olujicz@gmail.com" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "" + +# skip-rule: t-line +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "Појачај танке линије:" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "не" + +# >? What does this look like? +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "пуне" + +# >? What does this look like? +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "уобличене" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "Опције ПДФ‑а" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "Штампај тумачења" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "Укључи тумачења у одштампани документ" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"Укључује тумачења у одштампани документ. Ово можете искључити ако желите да " +"одштампате изворни документ без тумачења." + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "Наметни растеризацију" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "Растеризује у слику прије штампања" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"Намеће растеризацију сваке странице у слику прије него што се одштампа. Ово " +"обично даје нешто лошије резултате, али је корисно за штампање докумената " +"који иначе изгледају неисправно одштампани." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "ПДФ вер. %1.%2" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "Формат" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "Шифрован" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "Нешифрован" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "Безбједност" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "да" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "Оптимизација" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "ПДФ" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "Подешавање позадине за ПДФ" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter Password" +msgstr "" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "" diff --git a/po/sr@ijekavian/okular_txt.po b/po/sr@ijekavian/okular_txt.po new file mode 100644 index 0000000..cf0f299 --- /dev/null +++ b/po/sr@ijekavian/okular_txt.po @@ -0,0 +1,39 @@ +# Translation of okular_txt.po into Serbian. +# Chusslove Illich , 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_txt\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-06-01 14:47+0200\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@ijekavian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Часлав Илић" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "caslav.ilic@gmx.net" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "Текст" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "Постава позадине за текст" diff --git a/po/sr@ijekavian/okular_xps.po b/po/sr@ijekavian/okular_xps.po new file mode 100644 index 0000000..ac42443 --- /dev/null +++ b/po/sr@ijekavian/okular_xps.po @@ -0,0 +1,40 @@ +# Translation of okular_xps.po into Serbian. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Slobodan Simic , 2007. +# Zoran Olujic , 2010. +# Chusslove Illich , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_xps\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-03-11 20:29+0100\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@ijekavian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Слободан Симић" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "slsimic@gmail.com" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "Ревизија" diff --git a/po/sr@ijekavianlatin/okular.po b/po/sr@ijekavianlatin/okular.po new file mode 100644 index 0000000..635ce50 --- /dev/null +++ b/po/sr@ijekavianlatin/okular.po @@ -0,0 +1,6653 @@ +# Translation of okular.po into Serbian. +# Toplica Tanaskovic , 2003, 2004. +# Slobodan Simic , 2003, 2005. +# Chusslove Illich , 2005, 2006, 2007, 2010, 2012, 2013, 2014, 2015, 2016, 2017. +# Filip Brcic , 2008. +# Zoran Olujic , 2010. +# Dalibor Djuric , 2010. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2017-12-15 12:38+0100\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@ijekavianlatin\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Slobodan Simić,Časlav Ilić,Filip Brčić" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "slsimic@gmail.com,caslav.ilic@gmx.net,brcha@gna.org" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Okular, univerzalni prikazivač dokumenata" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"© 2002, Vilko Greven, Kristof Devris\n" +"© 2004–2005, Enriko Ros\n" +"© 2005, Pjotr Šimanjski\n" +"© 2004–2017, Albert Astals Sid\n" +"© 2006–2009, Pino Toskano" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "Bivši održavalac" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "" + +#: aboutdata.h:32 +#, fuzzy, kde-format +#| msgid "Lots of framework work, ODT and FictionBook backends" +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "Mnogo posla na radnom okviru, pozadine za ODT i FictionBook" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "Programer" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "Napravio Okular od KPDF‑ovog izvornog koda" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "Programer KPDF‑a" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "Grafika za tumačenja" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "Alatka izbora tabele" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "Poboljšanja tumačenja" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "Idi na stranicu %1" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "Otvori spoljni fajl" + +#: core/action.cpp:197 +#, fuzzy, kde-format +#| msgid "Execute '%1'..." +msgid "Execute '%1'…" +msgstr "Izvrši '%1'..." + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "Prva stranica" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "Prethodna stranica" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "Sljedeća stranica" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "Posljednja stranica" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "Nazad" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "Naprijed" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Napusti" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "Počni prezentaciju" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "Završi prezentaciju" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go To Page…" +msgstr "Idi na stranicu" + +#: core/action.cpp:365 +#, fuzzy, kde-format +#| msgid "Play sound..." +msgid "Play sound…" +msgstr "Odsviraj zvuk..." + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "JavaScript skripta" + +#: core/action.cpp:483 +#, fuzzy, kde-format +#| msgid "Play movie" +msgid "Play movie…" +msgstr "Pusti film" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "Pusti film" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "Zaustavi film" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "Pauziraj film" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "Nastavi film" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "Izbor pozadine" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
    %1 (%2).

    Please select which one to use:
    " +msgstr "" +"Nađeno je više od jedne pozadine za ovaj MIME tip:
    %1 (%2)." +"

    Izaberite koja će se koristiti:
    " + +#: core/document.cpp:200 +#, fuzzy, kde-format +#| msgid "Go to page %1" +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "Idi na stranicu %1" + +# >! Fix argument substitution. +#: core/document.cpp:221 +#, fuzzy, kde-format +#| msgctxt "paper type and orientation (eg: Portrait A4)" +#| msgid "Portrait %0" +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "portret %0" + +# >! Fix argument substitution. +#: core/document.cpp:223 +#, fuzzy, kde-format +#| msgctxt "paper type and orientation (eg: Portrait A4)" +#| msgid "Landscape %0" +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "pejzaž %0" + +#: core/document.cpp:246 +#, fuzzy, kde-format +#| msgctxt "%1 is width, %2 is height, %3 is paper size name" +#| msgid "%1 x %2 in (%3)" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1×%2 in (%3)" + +#: core/document.cpp:248 +#, fuzzy, kde-format +#| msgctxt "%1 is width, %2 is height, %3 is paper size name" +#| msgid "%1 x %2 mm (%3)" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1×%2 mm (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "Nastavljam pretragu od početka" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "Nastavljam pretragu sa dna" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "" +"Ne mogu da nađem priključak koji je u stanju da obradi proslijeđeni dokument." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "Ukloni tumačenja" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"Dokument pokušava da izvrši spoljašnji program, što zbog vaše bezbjednosti " +"Okular ne dozvoljava." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "Nije nađen nijedan program za otvaranje fajla MIME tipa %1." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "Ne mogu da otvorim privremeni fajl." + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "Pretvaranje za štampu nije uspjelo." + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "Štamparski proces se srušio." + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "Štamparski proces ne može da se pokrene." + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "Štampanje u fajl nije uspjelo." + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "Štampač je u pogrešnom stanju." + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "Ne mogu da nađem fajl za štampanje." + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "Nema fajla za štampanje." + +# rewrite-msgid: /binary/command/ +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"Ne mogu da nađem pogodnu naredbu za štampanje. Obezbedite da lpr iz CUPS‑a " +"bude dostupna." + +# rewrite-msgid: /print// +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "Veličina stranice nije dobra." + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "Ne mogu da otvorim „%1“. Fajl ne postoji." + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Naslov" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Tema" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Opis" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "Autor" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Stvaralac" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Proizvođač" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "Autorska prava" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "Stranica" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Napravljen" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Izmijenjen" + +#: core/document.cpp:6032 +#, fuzzy, kde-format +#| msgid "Mime Type" +msgid "MIME Type" +msgstr "MIME tip" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "Kategorija" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Ključne riječi" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "Putanja fajla" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "Veličina fajla" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "Veličina stranice" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "Dodaj tumačenje" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "Ukloni tumačenje" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "Izmeni svojstva tumačenja" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "Pomeri tumačenje" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "Namesti tumačenje" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "Uredi tekst" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "Uredi sadržaj tumačenja" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "Uredi sadržaj formulara" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "Uredi izbore spiska u formularu" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "Uredi izbore padajućeg spiska u formularu" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "Uredi stanja dugmeta u formularu" + +#: core/generator.cpp:790 +#, fuzzy, kde-format +#| msgid "Plain &Text..." +msgid "Plain &Text…" +msgstr "Obični &tekst..." + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "ODT" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, fuzzy, kde-format +#| msgid "Editor Options" +msgid "Print Options" +msgstr "Opcije uređivača" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#: core/printoptionswidget.cpp:25 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgid "Scale mode:" +msgstr "Režim boje:" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, fuzzy, kde-format +#| msgid "No description available." +msgid "Not Available" +msgstr "Opis nije dostupan." + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "" + +#: core/signatureutils.cpp:504 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" + +#: core/signatureutils.cpp:506 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown signing error" +msgstr "Nepoznat fajl" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Izvor: %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "&Podrazumijevani font:" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "" + +#: gui/certificatemodel.cpp:41 +#, fuzzy, kde-format +#| msgid "Page Number" +msgid "Serial Number" +msgstr "Broj stranice" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "" + +# >> @item:inlistbox Stamp Symbol +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, fuzzy, kde-format +#| msgid "Expired" +msgid "Expires On" +msgstr "isteklo" + +#: gui/certificatemodel.cpp:49 +#, fuzzy, kde-format +#| msgid "Subject" +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Tema" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "" + +#: gui/certificatemodel.cpp:53 +#, fuzzy, kde-format +#| msgid "Memory Usage" +msgid "Key Usage" +msgstr "Iskorišćenje memorije" + +#: gui/certificatemodel.cpp:72 +#, fuzzy, kde-format +#| msgid "%1:" +msgid "V%1" +msgstr "%1:" + +#: gui/certificatemodel.cpp:84 +#, fuzzy, kde-format +#| msgctxt "File type name and pattern" +#| msgid "%1 (%2)" +msgid "%1 (%2 bits)" +msgstr "%1 (%2)" + +#: gui/certificatemodel.cpp:146 +#, fuzzy, kde-format +#| msgid "&Properties" +msgid "Property" +msgstr "&Svojstva" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "Iskačuća bilješka" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "Utkana bilješka" + +# >> @item:inlistbox Stamp Symbol +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +#| msgid "For Comment" +msgid "Arrow with Comment" +msgstr "za komentarisanje" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "" + +#: gui/guiutils.cpp:59 +#, fuzzy, kde-format +#| msgid "Straight Line Properties" +msgid "Straight Line with Comment" +msgstr "Svojstva prave linije" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "Prava linija" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "Poligon" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Squiggle text" +msgid "Rectangle with Comment" +msgstr "Talasasto po tekstu" + +# >> @item:inlistbox Type of geometric annotation +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "pravougaonik" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Underline text" +msgid "Ellipse with Comment" +msgstr "Podvučen tekst" + +# >> @item:inlistbox Type of geometric annotation +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "elipsa" + +#: gui/guiutils.cpp:83 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Highlight text" +msgid "Highlight with Comment" +msgstr "Isticanje teksta" + +# >> @item:inlistbox Highlight type +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "istaknuto" + +#: gui/guiutils.cpp:87 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Squiggle text" +msgid "Squiggle with Comment" +msgstr "Talasasto po tekstu" + +# >> @item:inlistbox Highlight type +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "talasasto" + +#: gui/guiutils.cpp:91 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Underline text" +msgid "Underline with Comment" +msgstr "Podvučen tekst" + +# >> @item:inlistbox Highlight type +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "podvučeno" + +#: gui/guiutils.cpp:95 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Strike out text" +msgid "Strike Out with Comment" +msgstr "Precrtan tekst" + +# >> @item:inlistbox Highlight type +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "precrtano" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "Pečat" + +#: gui/guiutils.cpp:106 +#, fuzzy, kde-format +#| msgid "Freehand Line Properties" +msgid "Freehand Line with Comment" +msgstr "Svojstva linije slobodnom rukom" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "Linija slobodnom rukom" + +# >> @title +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "Kapica" + +# >> @title +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "Priloženi fajl" + +# >> @title +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "Zvuk" + +# >> @title +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "Film" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Ekran" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "Vidžet" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "Bogati medijum" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation" +msgstr "%1 tumačenje" + +# >> @item:intext +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "nepoznat" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Autor: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "Gdje želite da sačuvate ‘%1’?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "Ne mogu da otvorim ‘%1’ za pisanje. Fajl nije sačuvan." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "" + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "" + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "" + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "" + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "" + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "" + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "" + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "" + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "" + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "" + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "" + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "" + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "" + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "" + +# >> @title Font name as tooltip header +#: gui/signatureguiutils.cpp:96 +#, fuzzy, kde-format +#| msgid "Unknown font" +msgid "Unknown Algorithm" +msgstr "Nepoznat font" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown Type" +msgstr "Nepoznat fajl" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr "" + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "" + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "" + +#: gui/signatureguiutils.cpp:208 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "Štampanje ovog dokumenta nije dozvoljeno." + +#: gui/signatureguiutils.cpp:211 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "This document is digitally signed." +msgstr "Štampanje ovog dokumenta nije dozvoljeno." + +#: gui/signatureguiutils.cpp:213 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "Štampanje ovog dokumenta nije dozvoljeno." + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" + +#: gui/signaturemodel.cpp:141 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "Svojstva kapice" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "" + +#: gui/signaturemodel.cpp:172 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgid "Reason: %1" +msgstr "Stranice: %1" + +#: gui/signaturemodel.cpp:177 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Location: %1" +msgstr "%1 tumačenje" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "" + +# >> @item:intext +#: gui/signaturemodel.cpp:193 +#, fuzzy, kde-format +#| msgctxt "Unknown author" +#| msgid "Unknown" +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "nepoznat" + +#: gui/signaturemodel.cpp:195 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "Svojstva kapice" + +#: gui/signaturemodel.cpp:201 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgid "Signature Type: %1" +msgstr "Svojstva kapice" + +#: part/annotationactionhandler.cpp:148 +#, fuzzy, kde-format +#| msgid "Red" +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "crvena" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "" + +#: part/annotationactionhandler.cpp:150 +#, fuzzy, kde-format +#| msgid "Yellow" +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "žuta" + +#: part/annotationactionhandler.cpp:151 +#, fuzzy, kde-format +#| msgid "Green" +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "zelena" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "" + +#: part/annotationactionhandler.cpp:153 +#, fuzzy, kde-format +#| msgid "Blue" +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "plava" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "" + +#: part/annotationactionhandler.cpp:155 +#, fuzzy, kde-format +#| msgid "White" +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "bela" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "" + +#: part/annotationactionhandler.cpp:157 +#, fuzzy, kde-format +#| msgid "Black" +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "crna" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "" + +#: part/annotationactionhandler.cpp:252 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1:" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:308 +#, fuzzy, kde-format +#| msgid "Annotation Options" +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Opcije tumačenja" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "" + +#: part/annotationactionhandler.cpp:314 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Alatke tumačenja" + +#: part/annotationactionhandler.cpp:316 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "Alatke tumačenja" + +#: part/annotationactionhandler.cpp:318 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Alatke tumačenja" + +#: part/annotationactionhandler.cpp:322 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Alatke tumačenja" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "" + +#: part/annotationactionhandler.cpp:328 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "%1 tumačenje" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" + +#: part/annotationactionhandler.cpp:341 +#, fuzzy, kde-format +#| msgid "Annotation Options" +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Opcije tumačenja" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "" + +#: part/annotationactionhandler.cpp:432 +#, fuzzy, kde-format +#| msgid "Color:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "Boja:" + +#: part/annotationactionhandler.cpp:434 +#, fuzzy, kde-format +#| msgid "Color:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "Boja:" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "" + +#: part/annotationactionhandler.cpp:499 +#, fuzzy, kde-format +#| msgid "&Selection Tool" +msgctxt "@title:window" +msgid "Select color" +msgstr "Alatka &izbora" + +#: part/annotationactionhandler.cpp:552 +#, fuzzy, kde-format +#| msgid "Annotations" +msgid "&Annotations" +msgstr "Tumačenja" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "" + +# >> @title:window +#: part/annotationactionhandler.cpp:554 +#, fuzzy, kde-format +#| msgid "Create annotation tool" +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Stvaranje alatke tumačenja" + +# >> @item:inlistbox Type of geometric annotation +#: part/annotationactionhandler.cpp:557 +#, fuzzy, kde-format +#| msgid "Highlighter" +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "isticač" + +# >> @item:inlistbox Highlight type +#: part/annotationactionhandler.cpp:558 +#, fuzzy, kde-format +#| msgid "Underline" +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "podvučeno" + +# >> @item:inlistbox Highlight type +#: part/annotationactionhandler.cpp:559 +#, fuzzy, kde-format +#| msgid "Squiggle" +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "talasasto" + +# >> @item:inlistbox Highlight type +#: part/annotationactionhandler.cpp:560 +#, fuzzy, kde-format +#| msgid "Strike Out" +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "precrtano" + +#: part/annotationactionhandler.cpp:562 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Svojstva kapice" + +#: part/annotationactionhandler.cpp:563 +#, fuzzy, kde-format +#| msgid "Inline Note" +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "Utkana bilješka" + +#: part/annotationactionhandler.cpp:564 +#, fuzzy, kde-format +#| msgid "Pop-up Note" +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "Iskačuća bilješka" + +#: part/annotationactionhandler.cpp:565 +#, fuzzy, kde-format +#| msgid "Freehand Line" +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "Linija slobodnom rukom" + +#: part/annotationactionhandler.cpp:567 +#, fuzzy, kde-format +#| msgid "Straight Line" +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "Prava linija" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "" + +# >> @item:inlistbox Type of geometric annotation +#: part/annotationactionhandler.cpp:569 +#, fuzzy, kde-format +#| msgid "Rectangle" +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "pravougaonik" + +# >> @item:inlistbox Type of geometric annotation +#: part/annotationactionhandler.cpp:570 +#, fuzzy, kde-format +#| msgid "Ellipse" +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "elipsa" + +#: part/annotationactionhandler.cpp:571 +#, fuzzy, kde-format +#| msgid "Polygon" +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "Poligon" + +#: part/annotationactionhandler.cpp:572 +#, fuzzy, kde-format +#| msgid "Geometrical shape" +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "Geometrijski oblik" + +#: part/annotationactionhandler.cpp:618 +#, fuzzy, kde-format +#| msgid "Stamp" +msgctxt "@action" +msgid "Stamp" +msgstr "Pečat" + +#: part/annotationactionhandler.cpp:638 +#, fuzzy, kde-format +#| msgid "Annotations" +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Tumačenja" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "" + +#: part/annotationactionhandler.cpp:651 +#, fuzzy, kde-format +#| msgid "Annotations" +msgid "Quick Annotation Bar" +msgstr "Tumačenja" + +#: part/annotationactionhandler.cpp:665 +#, fuzzy, kde-format +#| msgctxt "Add an annotation to the page" +#| msgid "add annotation" +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "Dodaj tumačenje" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "" + +# >> @title:window +#: part/annotationactionhandler.cpp:669 +#, fuzzy, kde-format +#| msgid "Create annotation tool" +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "Stvaranje alatke tumačenja" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "" + +#: part/annotationactionhandler.cpp:680 +#, fuzzy, kde-format +#| msgid "Font:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "Font:" + +#: part/annotationactionhandler.cpp:681 +#, fuzzy, kde-format +#| msgid "Annotation Options" +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Opcije tumačenja" + +#: part/annotationactionhandler.cpp:684 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "uklopljena širina" + +#: part/annotationactionhandler.cpp:693 +#, fuzzy, kde-format +#| msgid "&Opacity:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "&Neprozirnost:" + +#: part/annotationactionhandler.cpp:696 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1:" + +#: part/annotationmodel.cpp:320 +#, fuzzy, kde-format +#| msgid "Page %1" +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "Stranica %1" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "Stranica %1" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "%1 tumačenje" +msgstr[1] "%1 tumačenja" +msgstr[2] "%1 tumačenja" +msgstr[3] "Tumačenje" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "&Otvori iskačuću bilješku" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Ukloni obilježivač" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Dodaj obilježivač" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Text to Clipboard" +msgstr "Kopiraj u klipbord" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "DRM brani kopiranje" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "&Obriši" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "&Svojstva" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, fuzzy, kde-format +#| msgctxt "%1 is the name of the file to save" +#| msgid "&Save '%1'..." +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "&Sačuvaj ‘%1’..." + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "&Izgled" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "&Opšte" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&Autor:" + +#: part/annotationpropertiesdialog.cpp:69 +#, fuzzy, kde-format +#| msgid "Created" +msgid "Created:" +msgstr "Napravljen" + +#: part/annotationpropertiesdialog.cpp:74 +#, fuzzy, kde-format +#| msgid "Modified" +msgid "Modified:" +msgstr "Izmijenjen" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "Svojstva iskačuće bilješke" + +#: part/annotationpropertiesdialog.cpp:111 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgid "Typewriter Properties" +msgstr "Svojstva kapice" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "Svojstva utkane bilješke" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "Svojstva prave linije" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "Svojstva poligona" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "Svojstva geometrije" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "Svojstva obilježavanja teksta" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "Svojstva pečata" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "Svojstva linije slobodnom rukom" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "Svojstva kapice" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "Svojstva priloženog fajla" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "Svojstva zvuka" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "Svojstva filma" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "Svojstva tumačenja" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Put a stamp symbol" +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "Simbol pečata" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&Boja:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%1:" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "&Neprozirnost:" + +#: part/annotationwidgets.cpp:363 +#, fuzzy, kde-format +#| msgid "Icon" +msgid "Icon:" +msgstr "Ikonica" + +# >> @item:inlistbox Icon +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "komentar" + +# >> @item:inlistbox Icon +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "pomoć" + +# >> @item:inlistbox Icon +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "umetanje" + +# >> @item:inlistbox Icon +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "taster" + +# >> @item:inlistbox Icon +#: part/annotationwidgets.cpp:368 +#, fuzzy, kde-format +#| msgid "New Paragraph" +msgid "New paragraph" +msgstr "novi pasus" + +# >! Needs context for listbox appearance +# >> @item:inlistbox Icon +# Држи велико слово док не добије контекст. +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "Bilješka" + +# >> @item:inlistbox Icon +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "pasus" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Font:" + +#: part/annotationwidgets.cpp:387 +#, fuzzy, kde-format +#| msgid "&Color:" +msgid "Text &color:" +msgstr "&Boja:" + +#: part/annotationwidgets.cpp:394 +#, fuzzy, kde-format +#| msgid "Align:" +msgid "&Align:" +msgstr "Poravnanje:" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "lijevo" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "sredina" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "desno" + +#: part/annotationwidgets.cpp:405 +#, fuzzy, kde-format +#| msgid "Border Width:" +msgid "Border &width:" +msgstr "Širina ivice:" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "odobreno" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "kao što jeste" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "poverljivo" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "za odjeljenje" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "nacrt" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "eksperimentalno" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:420 +#, fuzzy, kde-format +#| msgid "Expired" +msgid "Expired" +msgstr "isteklo" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "konačno" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "za komentarisanje" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "za javnost" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "nije odobreno" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "nije za javnost" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "prodato" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "strogo povjerljivo" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "obilježivač" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "informacija" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, fuzzy, kde-format +#| msgid "Stamp Symbol" +msgid "Stamp symbol:" +msgstr "Simbol pečata" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, fuzzy, kde-format +#| msgid "&Pen Width:" +msgid "&Width:" +msgstr "Debljina &olovke:" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:514 +#, fuzzy, kde-format +#| msgctxt "Symbol for caret annotations" +#| msgid "None" +msgid "None" +msgstr "ništa" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "" + +# skip-rule: t-line +#: part/annotationwidgets.cpp:531 +#, fuzzy, kde-format +#| msgid "Leader Line Length:" +msgid "Leader line length:" +msgstr "Dužina izvodnice:" + +# skip-rule: t-line +#: part/annotationwidgets.cpp:533 +#, fuzzy, kde-format +#| msgid "Leader Line Extensions Length:" +msgid "Leader line extensions length:" +msgstr "Dužina produžetka izvodnice:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "" + +# >> @title:window +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, fuzzy, kde-format +#| msgid "Save file" +msgid "Shape fill:" +msgstr "Upisivanje fajla" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Tip:" + +# >> @item:inlistbox Highlight type +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "precrtano" + +#: part/annotationwidgets.cpp:745 +#, fuzzy, kde-format +#| msgid "File Attachment Symbol" +msgid "File attachment symbol:" +msgstr "Simbol za priloženi fajl" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "graf" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "pribadača" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "spajalica" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "oznaka" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "Fajl" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "Nije dostupno" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "Opis nije dostupan." + +#: part/annotationwidgets.cpp:773 +#, fuzzy, kde-format +#| msgid "&Name:" +msgid "Name:" +msgstr "&Ime:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "Opis:" + +#: part/annotationwidgets.cpp:843 +#, fuzzy, kde-format +#| msgid "Caret Symbol" +msgid "Caret symbol:" +msgstr "Simbol kapice" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "ništa" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "Zatvori ovu bilješku" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "Opcije" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"Ovo tumačenje možda sadrži LaTeX kod.\n" +"Kliknite ovde da se izrenderuje." + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "Ne mogu da nađem naredbu „latex“." + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "Renderovanje LaTeXa nije uspelo" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "Ne mogu da nađem naredbu „dvipng“." + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "Bilo je problema pri izvršavanju naredbe „latex“." + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "Bilo je problema pri izvršavanju naredbe „dvipng“." + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"%2 obilježivač" +msgstr[1] "" +"%1\n" +"\n" +"%2 obilježivača" +msgstr[2] "" +"%1\n" +"\n" +"%2 obilježivača" +msgstr[3] "" +"%1\n" +"\n" +"Jedan obilježivač" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Obilježivači" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, fuzzy, kde-format +#| msgid "S&earch:" +msgid "Search…" +msgstr "&Traži:" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, kde-format +msgid "Expand All" +msgstr "" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, kde-format +msgid "Collapse All" +msgstr "" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "Idi na ovaj obilježivač" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "Preimenuj obilježivač" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Otvori dokument" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "" + +# >> @title:window +#: part/certificateviewer.cpp:47 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Certificate Viewer" +msgstr "Podešavanje prikazivača" + +#: part/certificateviewer.cpp:50 +#, fuzzy, kde-format +#| msgid "E&xport As" +msgid "Export…" +msgstr "I&zvezi kao" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "Opšte" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "" + +#: part/certificateviewer.cpp:159 +#, fuzzy, kde-format +#| msgid "Where do you want to save %1?" +msgid "Where do you want to save this certificate?" +msgstr "Gdje želite da sačuvate ‘%1’?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "" + +#: part/colormodemenu.cpp:19 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "Režim boje:" + +#: part/colormodemenu.cpp:21 +#, fuzzy, kde-format +#| msgid "Change &colors" +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "Promeni &boje" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "" + +#: part/colormodemenu.cpp:41 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "Izvrni boje" + +#: part/colormodemenu.cpp:42 +#, fuzzy, kde-format +#| msgid "Change Paper Color" +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "Promijeni boju papira" + +#: part/colormodemenu.cpp:44 +#, fuzzy, kde-format +#| msgid "Change Dark & Light Colors" +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "Izmijeni tamne i svjetle boje" + +#: part/colormodemenu.cpp:46 +#, fuzzy, kde-format +#| msgid "Convert to Black & White" +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "Pretvori u crno‑bijelo" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "crvena" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "zelena" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "plava" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "žuta" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "crna" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "bela" + +# >> @item:inlistbox Type of geometric annotation +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, fuzzy, kde-format +#| msgid "Highlighter" +msgid "Yellow Highlighter" +msgstr "isticač" + +# >> @item:inlistbox Type of geometric annotation +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, fuzzy, kde-format +#| msgid "Highlighter" +msgid "Green Highlighter" +msgstr "isticač" + +# >> @item:inlistbox Icon +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, fuzzy, kde-format +#| msgid "Insert" +msgid "Insert Text" +msgstr "umetanje" + +#: part/dlgaccessibility.cpp:38 +#, fuzzy, kde-format +#| msgid "Draw border around &Links" +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "Crtaj ivicu oko &veza" + +#: part/dlgaccessibility.cpp:48 +#, fuzzy, kde-format +#| msgid "Change &colors" +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "Promeni &boje" + +#: part/dlgaccessibility.cpp:54 +#, fuzzy, kde-format +#| msgid "Warning: these options can badly affect drawing speed." +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "Upozorenje: Ove opcije mogu loše uticati na brzinu iscrtavanja." + +#: part/dlgaccessibility.cpp:60 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "Izvrni boje" + +#: part/dlgaccessibility.cpp:61 +#, fuzzy, kde-format +#| msgid "Change Paper Color" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "Promijeni boju papira" + +#: part/dlgaccessibility.cpp:62 +#, fuzzy, kde-format +#| msgid "Change Dark & Light Colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "Izmijeni tamne i svjetle boje" + +#: part/dlgaccessibility.cpp:63 +#, fuzzy, kde-format +#| msgid "Convert to Black & White" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "Pretvori u crno‑bijelo" + +#: part/dlgaccessibility.cpp:64 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "Izvrni boje" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "" + +#: part/dlgaccessibility.cpp:70 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "Režim boje:" + +#: part/dlgaccessibility.cpp:87 +#, fuzzy, kde-format +#| msgid "Paper color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Boja papira:" + +#: part/dlgaccessibility.cpp:99 +#, fuzzy, kde-format +#| msgid "Dark color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Tamna boja:" + +#: part/dlgaccessibility.cpp:104 +#, fuzzy, kde-format +#| msgid "Light color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "Svijetla boja:" + +#: part/dlgaccessibility.cpp:119 +#, fuzzy, kde-format +#| msgid "Threshold:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "Prag:" + +#: part/dlgaccessibility.cpp:127 +#, fuzzy, kde-format +#| msgid "Contrast:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Kontrast:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "" + +#: part/dlgaccessibility.cpp:165 +#, fuzzy, kde-format +#| msgid "Text to search for" +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "Tekst koji se traži" + +#: part/dlgannotations.cpp:25 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Alatke tumačenja" + +#: part/dlgannotations.cpp:26 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Alatke tumačenja" + +#: part/dlgannotations.cpp:28 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Alatke tumačenja" + +#: part/dlgannotations.cpp:34 +#, fuzzy, kde-format +#| msgid "&Author:" +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "&Autor:" + +#: part/dlgannotations.cpp:38 +#, fuzzy, kde-format +#| msgid "" +#| "Note: the information here is used only for comments and reviews. " +#| "Information inserted here will not be transmitted without your knowledge." +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"Napomena: Ove informacije se koriste samo za komentare i preglede. " +"Neće biti poslate nikome bez vašeg znanja." + +# >> @title:window +#: part/dlgannotations.cpp:48 +#, fuzzy, kde-format +#| msgid "Edit annotation tool" +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

    Quick Annotation Tools

    " +msgstr "Uređivanje alatke tumačenja" + +#: part/dlgeditor.cpp:28 +#, fuzzy, kde-format +#| msgctxt "@info:whatsthis" +#| msgid "" +#| "Choose the editor you want to launch when Okular wants to open a source " +#| "file." +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" +"Izaberite uređivač koji biste željeli da koristite kad Okular hoće da otvori " +"izvorni fajl." + +#: part/dlgeditor.cpp:29 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Custom Text Editor" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "Poseban uređivač teksta" + +#: part/dlgeditor.cpp:30 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Kate" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Kile" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "SciTE" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Emacs client" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Emacs (klijent)" + +#: part/dlgeditor.cpp:34 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Lyx client" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "LyX (klijent)" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "" + +#: part/dlgeditor.cpp:37 +#, fuzzy, kde-format +#| msgid "Editor:" +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "Uređivač:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
    \n" +"You can also put few placeholders:\n" +"
      \n" +"
    • %f - the file name
    • \n" +"
    • %l - the line of the file to be reached
    • \n" +"
    • %c - the column of the file to be reached
    • \n" +"
    \n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"Podesi komandu posebnog uređivača teksta.
    \n" +"Takođe možete da stavite i nekoliko argumenata:\n" +"
      \n" +"
    • %f - ime fajla
    • \n" +"
    • %l - red fajla do kog treba doći
    • \n" +"
    • %c - kolona fajla do koje treba doći
    • \n" +"
    \n" +"Ako %f nije navedeno, ime fajla će biti nadovezano na navedenu naredbu.
    " + +#: part/dlgeditor.cpp:63 +#, fuzzy, kde-format +#| msgid "Command:" +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "Naredba:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "" + +#: part/dlggeneral.cpp:37 +#, fuzzy, kde-format +#| msgid "Appearance" +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "Izgled" + +#: part/dlggeneral.cpp:41 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "&Klizačke trake" + +#: part/dlggeneral.cpp:48 +#, fuzzy, kde-format +#| msgid "Link the &thumbnails with the page" +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "Poveži s&ličice sa stranicom" + +#: part/dlggeneral.cpp:55 +#, fuzzy, kde-format +#| msgid "Show &hints and info messages" +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "&Saveti i info poruke" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "" + +#: part/dlggeneral.cpp:68 +#, fuzzy, kde-format +#| msgid "Display document title in titlebar if available" +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "Naslov dokumenta u naslovnoj traci (ako ga ima)" + +#: part/dlggeneral.cpp:74 +#, fuzzy, kde-format +#| msgid "Display file name only" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "prikaži samo ime fajla" + +#: part/dlggeneral.cpp:75 +#, fuzzy, kde-format +#| msgid "Display full file path" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "prikaži celu putanju fajla" + +#: part/dlggeneral.cpp:77 +#, fuzzy, kde-format +#| msgid "When not displaying document title:" +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "Ako nema naslova dokumenta:" + +#: part/dlggeneral.cpp:92 +#, fuzzy, kde-format +#| msgid "Use custom background color" +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "Posebna pozadinska boja" + +#: part/dlggeneral.cpp:114 +#, fuzzy, kde-format +#| msgid "Program Features" +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "Mogućnosti programa" + +#: part/dlggeneral.cpp:121 +#, fuzzy, kde-format +#| msgid "Open new files in &tabs" +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "Otvaraj nove fajlove pod &jezičcima" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "" + +#: part/dlggeneral.cpp:139 +#, fuzzy, kde-format +#| msgid "&Obey DRM limitations" +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "P&oštuj DRM ograničenja" + +#: part/dlggeneral.cpp:148 +#, fuzzy, kde-format +#| msgid "&Reload document on file change" +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "Ponovo otvo&ri dokument prilikom promjene fajla" + +#: part/dlggeneral.cpp:155 +#, fuzzy, kde-format +#| msgid "Show backend selection dialog" +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "Prikaži dijalog za izbor pozadine" + +#: part/dlggeneral.cpp:162 +#, fuzzy, kde-format +#| msgid "Right to left reading direction" +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "Smer čitanja zdesna ulevo" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, fuzzy, kde-format +#| msgid "Overview &columns:" +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "Kolone &pregleda:" + +#: part/dlggeneral.cpp:220 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%1:" + +#: part/dlggeneral.cpp:221 +#, fuzzy, kde-format +#| msgid "" +#| "Defines how much of the current viewing area will still be visible when " +#| "pressing the Page Up/Down keys." +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" +"Određuje koliko će od trenutno prikazanog područja ostati vidljivo po " +"pritisku na taster PageUp ili PageDown." + +#: part/dlggeneral.cpp:223 +#, fuzzy, kde-format +#| msgid "&Page Up/Down overlap:" +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "Preklapanje na PageUp/PageDown:" + +#: part/dlggeneral.cpp:228 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%1:" + +#: part/dlggeneral.cpp:232 +#, fuzzy, kde-format +#| msgid "100%" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "100%" + +#: part/dlggeneral.cpp:233 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "uklopljena širina" + +#: part/dlggeneral.cpp:234 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "uklopljena stranica" + +#: part/dlggeneral.cpp:235 +#, fuzzy, kde-format +#| msgid "Auto Fit" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "uklopljeno automatski" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "" + +#: part/dlggeneral.cpp:237 +#, fuzzy, kde-format +#| msgid "" +#| "Defines the default zoom mode for files which were never opened before.\n" +#| "For files which were opened before the previous zoom is applied." +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" +"Određuje podrazumevani režim uveličanja za prvi put otvorene fajlove.\n" +"Na fajlove koji su ranije otvarani primenjuje se prethodno uveličanje." + +#: part/dlggeneral.cpp:241 +#, fuzzy, kde-format +#| msgid "&Default Zoom:" +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "&Podrazumijevano uveličanje:" + +#: part/dlgperformance.cpp:26 +#, fuzzy, kde-format +#| msgid "Enable &transparency effects" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "Uključi efekte &providnosti" + +#: part/dlgperformance.cpp:28 +#, fuzzy, kde-format +#| msgid "CPU Usage" +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "Iskorišćenje CPU‑a" + +#: part/dlgperformance.cpp:35 +#, fuzzy, kde-format +#| msgid "&Low" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "&nisko" + +#: part/dlgperformance.cpp:36 +#, fuzzy, kde-format +#| msgid "Nor&mal (default)" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "&normalno (podrazumijevano)" + +#: part/dlgperformance.cpp:37 +#, fuzzy, kde-format +#| msgid "Aggr&essive" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "&agresivno" + +#: part/dlgperformance.cpp:38 +#, fuzzy, kde-format +#| msgid "G&reedy" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "&pohlepno" + +#: part/dlgperformance.cpp:40 +#, fuzzy, kde-format +#| msgid "Memory Usage" +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "Iskorišćenje memorije" + +#: part/dlgperformance.cpp:54 +#, fuzzy, kde-format +#| msgid "Enable Text Antialias" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "Omekšavanje teksta" + +#: part/dlgperformance.cpp:56 +#, fuzzy, kde-format +#| msgid "Rendering" +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "Renderovanje" + +#: part/dlgperformance.cpp:59 +#, fuzzy, kde-format +#| msgid "Enable Graphics Antialias" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "Omekšavanje grafike" + +#: part/dlgperformance.cpp:64 +#, fuzzy, kde-format +#| msgid "Enable Text Hinting" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "Navođenje teksta" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"Koristi što je manje memorije moguće. Ne koristi ništa ponovo. (Za sisteme " +"sa malo memorije.)" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"Dobar kompromis između iskorišćenja memorije i dobitka u brzini. Predučitava " +"sljedeću stranicu i ubrzava pretrage. (Tipično za sisteme sa 2 GB memorije.)" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"Drži sve u memoriji. Predučitava sljedeće stranice i ubrzava pretrage. (Za " +"sisteme sa više od 4 GB memorije.)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" +"Učitava i zadržava sve u memoriji. Predučitava sve stranice. (Upotrebiće " +"najviše 50% od ukupne memorije ili od slobodne memorije, šta je veće.)" + +#: part/dlgpresentation.cpp:38 +#, fuzzy, kde-format +#| msgctxt "Advance every %1 seconds" +#| msgid " second" +#| msgid_plural " seconds" +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] " sek." +msgstr[1] " sek." +msgstr[2] " sek." +msgstr[3] " sek." + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "" + +#: part/dlgpresentation.cpp:53 +#, fuzzy, kde-format +#| msgid "Loop after last page" +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "U krug poslije zadnje stranice" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "" + +#: part/dlgpresentation.cpp:63 +#, fuzzy, kde-format +#| msgid "Navigation" +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Navigacija" + +#: part/dlgpresentation.cpp:72 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "Pozadinska boja:" + +#: part/dlgpresentation.cpp:76 +#, fuzzy, kde-format +#| msgid "Hidden After Delay" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "skriven poslije zastoja" + +#: part/dlgpresentation.cpp:77 +#, fuzzy, kde-format +#| msgid "Always Visible" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "uvijek vidljiv" + +#: part/dlgpresentation.cpp:78 +#, fuzzy, kde-format +#| msgid "Always Hidden" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "uvijek skriven" + +#: part/dlgpresentation.cpp:80 +#, fuzzy, kde-format +#| msgid "Mouse cursor:" +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "Pokazivač miša:" + +#: part/dlgpresentation.cpp:84 +#, fuzzy, kde-format +#| msgid "Show &progress indicator" +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "Prikaži pokazatelj &napretka" + +#: part/dlgpresentation.cpp:90 +#, fuzzy, kde-format +#| msgid "Show s&ummary page" +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "Prikaži stranicu &sažetka" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "" + +#: part/dlgpresentation.cpp:101 +#, fuzzy, kde-format +#| msgid "Replace" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "zamjena" + +#: part/dlgpresentation.cpp:102 +#, fuzzy, kde-format +#| msgid "Random Transition" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "slučajan prelaz" + +#: part/dlgpresentation.cpp:103 +#, fuzzy, kde-format +#| msgid "Blinds Vertical" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "zakloni uspravni" + +#: part/dlgpresentation.cpp:104 +#, fuzzy, kde-format +#| msgid "Blinds Horizontal" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "zakloni vodoravni" + +#: part/dlgpresentation.cpp:105 +#, fuzzy, kde-format +#| msgid "Box In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "kutija u" + +#: part/dlgpresentation.cpp:106 +#, fuzzy, kde-format +#| msgid "Box Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "kutija iz" + +#: part/dlgpresentation.cpp:107 +#, fuzzy, kde-format +#| msgid "Dissolve" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "razlaganje" + +#: part/dlgpresentation.cpp:108 +#, fuzzy, kde-format +#| msgid "Fade" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "pretapanje" + +#: part/dlgpresentation.cpp:109 +#, fuzzy, kde-format +#| msgid "Glitter Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "svjetlucanje nadolje" + +#: part/dlgpresentation.cpp:110 +#, fuzzy, kde-format +#| msgid "Glitter Right" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "svjetlucanje udesno" + +#: part/dlgpresentation.cpp:111 +#, fuzzy, kde-format +#| msgid "Glitter Right-Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "svjetlucanje udesno‑nadolje" + +#: part/dlgpresentation.cpp:112 +#, fuzzy, kde-format +#| msgid "Split Horizontal In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "podjela vodoravna u" + +#: part/dlgpresentation.cpp:113 +#, fuzzy, kde-format +#| msgid "Split Horizontal Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "podjela vodoravna iz" + +#: part/dlgpresentation.cpp:114 +#, fuzzy, kde-format +#| msgid "Split Vertical In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "podjela uspravna u" + +#: part/dlgpresentation.cpp:115 +#, fuzzy, kde-format +#| msgid "Split Vertical Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "podjela uspravna iz" + +#: part/dlgpresentation.cpp:116 +#, fuzzy, kde-format +#| msgid "Wipe Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "brisanje nadolje" + +#: part/dlgpresentation.cpp:117 +#, fuzzy, kde-format +#| msgid "Wipe Right" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "brisanje udesno" + +#: part/dlgpresentation.cpp:118 +#, fuzzy, kde-format +#| msgid "Wipe Left" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "brisanje ulijevo" + +#: part/dlgpresentation.cpp:119 +#, fuzzy, kde-format +#| msgid "Wipe Up" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "brisanje nagore" + +#: part/dlgpresentation.cpp:121 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Podrazumijevani prelaz:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "" + +#: part/dlgpresentation.cpp:137 +#, fuzzy, kde-format +#| msgid "Drawing Tool: %1" +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

    Drawing Tools

    " +msgstr "Alatka crtanja: %1" + +#: part/dlgpresentation.cpp:171 +#, fuzzy, kde-format +#| msgctxt "@label:listbox The current screen, for the presentation mode" +#| msgid "Current Screen" +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Trenutni ekran" + +#: part/dlgpresentation.cpp:172 +#, fuzzy, kde-format +#| msgctxt "@label:listbox The default screen for the presentation mode" +#| msgid "Default Screen" +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Podrazumijevani ekran" + +#: part/dlgpresentation.cpp:178 +#, fuzzy, kde-format +#| msgctxt "@label:listbox %1 is the screen number (0, 1, ...)" +#| msgid "Screen %1" +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "Ekran %1" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "Alatka crtanja: %1" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "Brisač" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "&Ime:" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "&Tip:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "Izgled" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "Obilježavanje teksta" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "Geometrijski oblik" + +# >> @title:window +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "Stvaranje alatke tumačenja" + +# >> @title:window +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "Uređivanje alatke tumačenja" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "Boja:" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "Debljina &olovke:" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "" + +# >> @title:window +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "Stvaranje alatke crtanja" + +# >> @title:window +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "Uređivanje alatke crtanja" + +# >> @item:intext +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "nepoznat" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Ugnežđeni fajlovi" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "Prikaži" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "ime" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "opis" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "veličina" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "napravljeno" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "izmijenjeno" + +# >> @title:window +#: part/embeddedfilesdialog.cpp:154 +#, fuzzy, kde-format +#| msgid "Save As" +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "Upisivanje kao" + +#: part/embeddedfilesdialog.cpp:155 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "&Prikaz" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "Ne mogu da učitam deo za pregled pred štampanje" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "Pregled pred štampanje" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "Zatvori" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "&Nađi" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "Tekst koji se traži" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Sljedeće" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "Skoči na sljedeće poklapanje" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Prethodno" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "Skoči na prethodno poklapanje" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "Izmeni ponašanje pretrage" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "Razlikuj veličinu slova" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "Od tekuće stranice" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "Traži dok kucam" + +# >> @item +#: part/formwidgets.cpp:870 +#, fuzzy, kde-format +#| msgid "All files (*)" +msgid "All Files (*)" +msgstr "svi fajlovi (*)" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgid "Signature Properties" +msgstr "Svojstva kapice" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "Opcije pretrage" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "Razlikuj veličinu slova" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "Regularni izraz" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "Slojevi" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "od" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "Uveličaj" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "Rotiraj u&desno" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "Udesno" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "Rotiraj u&lijevo" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "Ulijevo" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "Prvobitna orijentacija" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "&Sasijeci prikaz" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "&Sasijeci margine" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "Sasijeci na &izbor" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "Uklopi &širinu" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "Uklopi &stranicu" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "Uklopi &automatski" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "Uklopi prozor na &stranicu" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "Režim &prikaza" + +#: part/pageview.cpp:594 +#, fuzzy, kde-format +#| msgid "Single Page" +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "Jedna stranica" + +#: part/pageview.cpp:595 +#, fuzzy, kde-format +#| msgid "Facing Pages" +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "Naspramne stranice" + +#: part/pageview.cpp:596 +#, fuzzy, kde-format +#| msgid "Facing Pages (Center First Page)" +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "Naspramne stranice (prva centrirana)" + +#: part/pageview.cpp:599 +#, fuzzy, kde-format +#| msgid "Overview" +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "Pregled" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "&Bez prekida" + +#: part/pageview.cpp:618 +#, fuzzy, kde-format +#| msgid "Right to left reading direction" +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "Smer čitanja zdesna ulevo" + +#: part/pageview.cpp:627 +#, fuzzy, kde-format +#| msgctxt "Browse Tool" +#| msgid "Browse" +msgid "&Browse" +msgstr "Pregledaj" + +#: part/pageview.cpp:635 +#, fuzzy, kde-format +#| msgid "Zoom" +msgid "&Zoom" +msgstr "Uveličaj" + +#: part/pageview.cpp:655 +#, fuzzy, kde-format +#| msgctxt "Text Selection Tool" +#| msgid "Text Selection" +msgid "Area &Selection" +msgstr "Izbor teksta" + +#: part/pageview.cpp:662 +#, fuzzy, kde-format +#| msgctxt "Text Selection Tool" +#| msgid "Text Selection" +msgid "&Text Selection" +msgstr "Izbor teksta" + +#: part/pageview.cpp:669 +#, fuzzy, kde-format +#| msgctxt "Table Selection Tool" +#| msgid "Table Selection" +msgid "T&able Selection" +msgstr "Izbor tabele" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "&Uveličavač" + +#: part/pageview.cpp:685 +#, fuzzy, kde-format +#| msgid "Selection Tools" +msgctxt "@action" +msgid "Selection Tools" +msgstr "Alatke izbora" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "Izgovori cio dokument" + +#: part/pageview.cpp:722 +#, fuzzy, kde-format +#| msgid "Speak Current Page" +msgid "Speak From Current Page" +msgstr "Izgovori tekuću stranicu" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "Izgovori tekuću stranicu" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "Prestani da govoriš" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "Klizaj nagore" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Klizaj nadolje" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "Klizaj stranicu nagore" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "Klizaj stranicu nadolje" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "Prikaži formulare" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] " Učitan je dokument sa %1 stranicom." +msgstr[1] " Učitan je dokument sa %1 stranice." +msgstr[2] " Učitan je dokument sa %1 stranica." +msgstr[3] " Učitan je dokument sa jednom stranicom." + +#: part/pageview.cpp:2526 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Table Contents to Clipboard" +msgstr "Kopiraj u klipbord" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "Tekst (%1 znak)" +msgstr[1] "Tekst (%1 znaka)" +msgstr[2] "Tekst (%1 znakova)" +msgstr[3] "Tekst (1 znak)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "Kopiraj u klipbord" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "Izgovori tekst" + +#: part/pageview.cpp:2863 +#, fuzzy, kde-format +#| msgid "Image (%1 by %2 pixels)" +msgid "Image (%1 × %2 pixels)" +msgstr "Slika (%1×%2 piksela)" + +#: part/pageview.cpp:2865 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save to File…" +msgstr "Sačuvaj u fajl..." + +#: part/pageview.cpp:2885 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] copied to clipboard." +msgid "Image [%1 × %2] copied to clipboard." +msgstr "Slika [%1×%2] kopirana je u klipbord." + +# >> @title:window +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "Upisivanje fajla" + +# >> @item +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "slike (*.png *.jpeg)" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "Fajl nije sačuvan." + +#: part/pageview.cpp:2901 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] saved to %3 file." +msgid "Image [%1 × %2] saved to %3 file." +msgstr "Slika [%1×%2] sačuvana je u fajl ‘%3’." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "Kopiraj tekst" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "Idi na „%1“" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "uklopljena širina" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "uklopljena stranica" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "uklopljeno automatski" + +#: part/pageview.cpp:4107 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1:" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "Potraži „%1“ pomoću" + +#: part/pageview.cpp:4404 +#, fuzzy, kde-format +#| msgid "Configure Web Shortcuts..." +msgid "Configure Web Shortcuts…" +msgstr "Podesi veb prečice..." + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "Prati ovu vezu" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "Odsviraj ovaj zvuk" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "Ugasi zvuk" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "Kopiraj adresu veze" + +#: part/pageview.cpp:4462 +#, fuzzy, kde-format +#| msgid "Search for '%1' with" +msgid "Search for '%1' in this document" +msgstr "Potraži „%1“ pomoću" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Dobro došli" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "Izaberite oblast uveličanja. Kliknite desnim za umanjenje." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "Kliknite za uveličan prikaz." + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "Iscrtajte pravougaonik oko teksta/grafike za kopiranje." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "Izaberi tekst" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" +"Iscrtajte pravougaonik oko tabele, pa klikćite blizu ivica da je izdelite; " +"pritisnite Esc da očistite." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" + +# >> @title:window +#: part/pageview.cpp:5188 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "No valid certificates" +msgstr "Podešavanje prikazivača" + +# >> @title:window +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Open Certificate Manager" +msgstr "Podešavanje prikazivača" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
    Launch Certificate Manager " +"to import or manage certificates
    For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" + +# >> @title:window +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "No certificates found" +msgstr "Podešavanje prikazivača" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
    For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "" + +# >> @info +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "Iscrtajte pravougaonik oko dela stranice koji želite da bude vidljiv." + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "Tekst nove bilješke" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "Tekst nove bilješke:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgid "Author" +msgid "Author name" +msgstr "Autor" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgctxt "Add an annotation to the page" +#| msgid "add annotation" +msgid "Author name for the annotation:" +msgstr "Dodaj tumačenje" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "Elipsa (vucite da izaberete zonu)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "Isticanje teksta" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "Linija slobodnom rukom" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "Utkano tekstualno tumačenje (vucite da izaberete zonu)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "Iskačuća bilješka" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "Poligon (kliknite na prvu tačku da ga zatvorite)" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "Pravougaonik" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "Talasasto po tekstu" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "Simbol pečata" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "Prava linija" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "Precrtan tekst" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "Podvučen tekst" + +#: part/pageviewannotator.cpp:1414 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Inline Text Annotation (drag to select a zone)" +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "Utkano tekstualno tumačenje (vucite da izaberete zonu)" + +# >> @item:inlistbox Type of geometric annotation +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "isticač" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgctxt "Add an annotation to the page" +#| msgid "add annotation" +msgid "Add favorite annotation" +msgstr "Dodaj tumačenje" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgctxt "Change an annotation's size" +#| msgid "adjust annotation" +msgid "Custom annotation name:" +msgstr "Namesti tumačenje" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&Fajl" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "&Podešavanje" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "&Pomoć" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "&Orijentacija" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "&Obilježivači" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "Traka prikazivača" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Sličice" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "Tumačenja" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
    Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" +"Ova dokument sadrži tumačenja ili podatke formulara sačuvane interno nekim " +"prethodnim izdanjem Okulara. Interno skladištenje više nije podržano." +"
    Sačuvajte u fajl da biste ih premestili ako želite da nastavite sa " +"uređivanjem dokumenta." + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"Ovaj dokument sadrži ugniježđene fajlove. Kliknite ovde da ih vidite ili idite do Fajl→Ugniježđeni fajlovi." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "Prethodna" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "Vrati se na prethodnu stranicu" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "Pomijera na prethodnu stranicu dokumenta" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "Sljedeća" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "Produži na sljedeću stranicu" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "Pomijera na sljedeću stranicu dokumenta" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "Početak dokumenta" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "Pomijera na početak dokumenta" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "Kraj dokumenta" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "Pomijera na kraj dokumenta" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "Preimenuj tekući obilježivač" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "Prethodni obilježivač" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "Idi na prethodni obilježivač" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "Sljedeći obilježivač" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "Idi na sljedeći obilježivač" + +#: part/part.cpp:748 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgid "Configure Okular…" +msgstr "Podesi Okular..." + +# >> @title:window +#: part/part.cpp:751 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Configure Viewer…" +msgstr "Podešavanje prikazivača" + +# >> @title:window +#: part/part.cpp:757 +#, fuzzy, kde-format +#| msgid "Configure Viewer Backends" +msgid "Configure Viewer Backends…" +msgstr "Podešavanje prikazivačkih pozadina" + +# >> @title:window +#: part/part.cpp:759 +#, fuzzy, kde-format +#| msgid "Configure Backends" +msgid "Configure Backends…" +msgstr "Podešavanje pozadina" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "O pozadini" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "&Ponovo učitaj" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "Učitaj dokument ponovo sa diska." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "Zatvori traku za &pretragu" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "Broj stranice" + +#: part/part.cpp:817 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "Podesi Okular..." + +#: part/part.cpp:858 +#, fuzzy, kde-format +#| msgid "Speak Current Page" +msgid "Select All Text on Current Page" +msgstr "Izgovori tekuću stranicu" + +#: part/part.cpp:871 +#, fuzzy, kde-format +#| msgid "Show &Page Bar" +msgid "Show S&idebar" +msgstr "Prikaži &traku stranica" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "Prikaži &traku stranica" + +#: part/part.cpp:886 +#, fuzzy, kde-format +#| msgid "Show &Navigation Panel" +msgid "Show &Signatures Panel" +msgstr "Prikaži &navigacioni panel" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "&Ugniježđeni fajlovi" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "I&zvezi kao" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "Po&deli" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "&Prezentacija" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "" + +#: part/part.cpp:945 +#, fuzzy, kde-format +#| msgid "&Import PostScript as PDF..." +msgid "&Import PostScript as PDF…" +msgstr "&Uvezi PostScript kao PDF..." + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "Režim crnog ekrana" + +#: part/part.cpp:957 +#, fuzzy, kde-format +#| msgid "Erase Drawings" +msgid "Erase Drawing" +msgstr "Izbriši crteže" + +#: part/part.cpp:962 +#, fuzzy, kde-format +#| msgid "Configure Annotations..." +msgid "Configure Annotations…" +msgstr "Podesi tumačenja..." + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "Pusti/pauziraj prezentaciju" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" + +#: part/part.cpp:1123 +#, fuzzy, kde-format +#| msgid "Document Password" +msgid "Document can't be saved" +msgstr "Lozinka dokumenta" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "Ne mogu da otvorim „%1“ (%2)" + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "Učitavanje %1 je otkazano." + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "Ne mogu da otvorim „%1“. Razlog: %2" + +# >> @title:window +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "Podešavanje prikazivačkih pozadina" + +# >> @title:window +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "Podešavanje pozadina" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"Naredba ‘ps2pdf’ nije nađena, pa Okular ne može da uveze PS fajlove pomoću " +"nje." + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "‘ps2pdf’ nije nađena" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "PostScript fajlovi (%1)" + +#: part/part.cpp:1357 +#, fuzzy, kde-format +#| msgid "Importing PS file as PDF (this may take a while)..." +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "Uvozim PS fajl kao PDF (može da potraje)..." + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "Unesite lozinku za čitanje dokumenta:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "Netačna lozinka. Pokušajte ponovo:" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "Lozinka dokumenta" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "Ovaj dokument ima XFA formulare, koji trenutno nisu podržani." + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"Ovaj dokument sadrži formulare. Kliknite na dugme da interagujete sa njima " +"ili koristite „Prikaz→Prikaži formulare“." + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "" + +#: part/part.cpp:1739 +#, fuzzy, kde-format +#| msgid "Exit Presentation Mode" +msgid "Enter Presentation Mode" +msgstr "Izađi iz režima prezentacije" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "" + +#: part/part.cpp:1830 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not open %1. %2" +msgstr "Ne mogu da otvorim ‘%1’" + +#: part/part.cpp:1860 +#, fuzzy, kde-kuit-format +#| msgid "" +#| "There are unsaved changes, and the file '%1' has been modified by another " +#| "program. Your changes will be lost, because the file can no longer be " +#| "saved.
    Do you want to continue reloading the file?" +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" +"Fajl „%1“ ima nesačuvanih izmena a i izmenio ga je drugi program. " +"Izmene će biti izgubljene zato što fajl više ne može da se sačuva.
    Želite li da nastavite sa ponovnim učitavanjem?" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "Fajl izmenjen" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "Nastavi učitavanje" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "Obustavi učitavanje" + +#: part/part.cpp:1870 +#, fuzzy, kde-kuit-format +#| msgid "" +#| "There are unsaved changes, and the file '%1' has been modified by another " +#| "program. Your changes will be lost, because the file can no longer be " +#| "saved.
    Do you want to continue closing the file?" +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" +"Fajl „%1“ ima nesačuvanih izmena a i izmenio ga je drugi program. " +"Izmene će biti izgubljene zato što fajl više ne može da se sačuva.
    Želite li da nastavite sa zatvaranjem?" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "Nastavi zatvaranje" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "Obustavi zatvaranje" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "Želite li da sačuvate izmene u „%1“ ili da ih odbacite?" + +# >> @title:window +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "Zatvaranje dokumenta" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"Ova veza pokazuje na radnju zatvaranja dokumenta koja ne radi kada se " +"koristi ugniježđeni prikazivač." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"Ova veza pokazuje na radnju napuštanja programa koja ne radi kada se koristi " +"ugniježđeni prikazivač." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Reloading the document…" +msgstr "Ponovo učitavam dokument..." + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "Sadržaj" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Idi na stranicu" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "S&tranica:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "Unesite ime novog obilježivač:" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "Preimenuj ovaj obilježivač" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "Ukloni ovaj obilježivač" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +# >> @title:window +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "Upisivanje kao" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "Upozorenje o upisivanju" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
    In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" +"Trenutni dokument je zaštićen lozinkom.
    Da biste ga sačuvali, " +"fajl mora ponovo da se učita. Ponovo će vam biti zatražena lozinka i " +"izgubićete istorijate opoziva i ponavljanja.
    Želite li da nastavite?" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "Ne mogu da otvorim privremeni fajl za upisivanje." + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" +"Pošto ga sačuvate, format trenutnog dokumenta zahteva da se fajl " +"ponovo učita. Izgubićete istorijat opoziva i ponavljanja.
    Želite li da " +"nastavite?" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "" +"Fajl nije mogao biti sačuvan u ‘%1’. Pokušajte da ga sačuvate na drugom " +"mjestu." + +# >> @item +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "sadržaj popunjenih formulara" + +# >> @item +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "korisnička tumačenja" + +# ! За трапнакрон, МИМЕ-типови: Okular document archive +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" +"Pošli ste da sačuvate izmene, ali format trenutnog fajl ne podržava " +"upisivanje narednih elemenata. Upotrebite format Okularova arhiva " +"dokumenata da ih ne izgubite." + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "Upozorenje" + +# ! За трапнакрон, МИМЕ-типови: Okular document archive +#: part/part.cpp:2779 part/part.cpp:2801 +#, fuzzy, kde-format +#| msgid "Save as Okular document archive..." +msgid "Save as Okular document archive…" +msgstr "Sačuvaj kao Okularovu arhivu dokumenata..." + +# ! За трапнакрон, МИМЕ-типови: Okular document archive +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" +"Pošli ste da sačuvate izmene, ali format trenutnog fajl ne podržava " +"upisivanje narednih elemenata. Upotrebite format Okularova arhiva " +"dokumenata da ih ne izgubite. Kliknite na Nastavi da sačuvate " +"dokument i odbacite ove elemente." + +# ! За трапнакрон, МИМЕ-типови: Okular document archive +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" +"Pošli ste da sačuvate izmene, ali format trenutnog fajl ne podržava " +"upisivanje narednih elemenata. Upotrebite format Okularova arhiva " +"dokumenata da ih ne izgubite. Kliknite na Nastavi uz gubljenje " +"izmena da sačuvate svejedno, ali ćete izgubiti ove elemente kao i " +"istorijat opoziva i ponavljanja." + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "Nastavi" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "Nastavi uz gubljenje izmena" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "Fajl ne može da se sačuva u '%1'. %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"Okular ne može da kopira %1 na zadato mjesto.\n" +"\n" +"Dokument više ne postoji." + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" +"Fajl nije mogao biti sačuvan u ‘%1’. Greška: ‘%2’. Pokušajte da ga sačuvate " +"na drugom mjestu." + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "End Presentation" +msgid "Expand Whole Section" +msgstr "Završi prezentaciju" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "End Presentation" +msgid "Collapse Whole Section" +msgstr "Završi prezentaciju" + +#: part/part.cpp:3172 +#, fuzzy, kde-format +#| msgid "Link the &thumbnails with the page" +msgid "Sync Thumbnail with Page" +msgstr "Poveži s&ličice sa stranicom" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Alatke" + +#: part/part.cpp:3381 +#, fuzzy, kde-format +#| msgid "Speak Text" +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "Izgovori tekst" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "Štampanje" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "Štampanje ovog dokumenta nije dozvoljeno." + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"Ne mogu da odštampam dokument. Nepoznata greška. Prijavite ovo na bugs.kde." +"org." + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"Ne mogu da odštampam dokument. Greška je „%1“. Prijavite ovo na bugs.kde.org." + +# >> @info:whatsthis +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "Idite na mjesto na kome ste bili prije." + +# >> @info:whatsthis +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "Idite na mjesto na kome ste bili poslije." + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"Greška fajla! Ne mogu da napravim privremeni fajl " +"%1." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"Greška fajla! Ne mogu da otvorim fajl %1 zarad raspakivanja. Fajl neće biti učitan." + +#: part/part.cpp:3751 +#, fuzzy, kde-format +#| msgid "" +#| "This error typically occurs if you do not have enough permissions to " +#| "read the file. You can check ownership and permissions if you right-click " +#| "on the file in the Dolphin file manager and then choose the 'Properties' " +#| "tab." +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"Do ove greške obično dolazi ako nemate dovoljno dozvola za čitanje " +"fajla. Vlasništvo i dozvole možete da provjerite ako kliknete desnim na fajl " +"u menadžeru fajlova Dolphinu i izaberete jezičak Svojstva." + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"Greška fajla! Ne mogu da raspakujem %1. Fajl neće biti učitan." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"Ova greška se obično javlja ako je fajl pokvaren. Ako želite da budete " +"sigurni, pokušajte da ga raspakujete ručno pomoću naredbi iz komandne linije." +"" + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "Nema obilježivača" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "Problem pri deljenju dokumenta: %1" + +# >> @title:window +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "Deljenje" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "Dokument uspešno podeljen." + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "Podeljeni dokument možete naći na: %1" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "&Uređivanje" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "&Prikaz" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&Kretanje" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "&Alatke" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "Glavna traka" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgid "Annotation Toolbar" +msgstr "Alatke tumačenja" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgid "Quick Annotation Toolbar" +msgstr "Alatke tumačenja" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "Opšte opcije" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Pristupačnost" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "Pomoći za čitanje" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Performanse" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "Štelovanje performansi" + +# >> @title:window +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "Podešavanje prikazivača" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Prezentacija" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "Opcije za režim prezentacije" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "Opcije tumačenja" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "Uređivač" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "Opcije uređivača" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "Naći sljedeće" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 – prezentacija" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "Promijeni ekran" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "Ekran %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "Izađi iz režima prezentacije" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Naslov: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Stranice: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "Kliknite da počnete" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "Pauziraj" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "Pusti" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"Postoje dva načina da se izađe iz režima prezentacije. Možete pritisnuti " +"taster Esc; ili kliknuti na dugme za napuštanje koje se pojavljuje kad " +"pokazivač miša dovedete u gornji desni ugao. Naravno, možete i kružiti kroz " +"prozore (podrazumijevano je Alt+Tab)." + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "Prezentacija u toku" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "Nepoznat fajl" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "Svojstva %1" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "&Fontovi" + +#: part/propertiesdialog.cpp:145 +#, fuzzy, kde-format +#| msgid "Reading font information..." +msgid "Reading font information…" +msgstr "Čitam informacije o fontu..." + +#: part/propertiesdialog.cpp:158 +#, fuzzy, kde-format +#| msgid "&Page Size" +msgid "&Page Sizes" +msgstr "&Veličina stranice" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "&Izvadi font" + +# >> @item:intext +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Type1" + +# >> @item:intext +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Type1C" + +# >> @item:intext +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "Type1C (OT)" + +# >> @item:intext +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Type3" + +# >> @item:intext +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "Truetype" + +# >> @item:intext +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "Truetype (OT)" + +# >> @item:intext +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID Type0" + +# >> @item:intext +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID Type0C" + +# >> @item:intext +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID Type0C (OT)" + +# >> @item:intext +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID Truetype" + +# >> @item:intext +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID Truetype (OT)" + +# >> @item:intext +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "TeX‑ov PK" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "TeX‑ov virtuelni" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "TeX‑ova metrika fonta" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "TeX‑ov preko FreeTypea" + +# >> @item:intext Unknown font type +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "nepoznat" + +# >> @item:intext Font source +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "ugniježđen (podskup)" + +# >> @item:intext Font source +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "potpuno ugniježđen" + +# >> @item:intext Embedded: No +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "ne" + +# >> @item:intext Embedded: Yes (subset) +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "da (podskup)" + +# >> @item:intext Embedded: Yes +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "da" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "ne postoji" + +# >> @title Font name as tooltip header +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "Nepoznat font" + +# >> @label Font is embedded: yes/no/... +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "Ugniježđen: %1" + +# >> @title:column +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "ime" + +# >> @title:column +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "tip" + +# >> @title:column +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "fajl" + +#: part/propertiesdialog.cpp:498 +#, fuzzy, kde-format +#| msgid "Pages" +msgid "Page" +msgstr "Stranica" + +#: part/propertiesdialog.cpp:501 +#, fuzzy, kde-format +#| msgctxt "@title:column" +#| msgid "Size" +msgid "Size" +msgstr "veličina" + +#: part/revisionviewer.cpp:41 +#, fuzzy, kde-format +#| msgid "Print Preview" +msgid "Revision Preview" +msgstr "Pregled pred štampanje" + +#: part/revisionviewer.cpp:53 +#, fuzzy, kde-format +#| msgid "Where do you want to save %1?" +msgid "Where do you want to save this revision?" +msgstr "Gdje želite da sačuvate ‘%1’?" + +#: part/revisionviewer.cpp:56 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not save file %1." +msgstr "Ne mogu da otvorim ‘%1’" + +#: part/revisionviewer.cpp:75 +#, fuzzy, kde-format +#| msgid "Could not open %1. Reason: %2" +msgid "Could not view revision." +msgstr "Ne mogu da otvorim „%1“. Razlog: %2" + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "Unesite bar tri slova za filtriranje stranica" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "Razlikuj veličinu slova" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "Poklopi frazu" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "Poklopi sve riječi" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "Poklopi neku reč" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "Opcije filtera" + +# >> @title:window +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Certificates" +msgstr "Podešavanje prikazivača" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "" + +# >> @title:window +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Only QES certificates" +msgstr "Podešavanje prikazivača" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, fuzzy, kde-format +#| msgid "Options" +msgid "optional" +msgstr "Opcije" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Location:" +msgstr "%1 tumačenje" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, fuzzy, kde-format +#| msgid "Background color:" +msgid "Background:" +msgstr "Pozadinska boja:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, fuzzy, kde-format +#| msgid "Use custom background color" +msgid "Recent backgrounds:" +msgstr "Posebna pozadinska boja" + +#: part/side_reviews.cpp:66 +#, fuzzy, kde-format +#| msgid "" +#| "

    No annotations

    To create new annotations press " +#| "F6 or select Tools -> Review from the menu.
    " +msgid "" +"

    No annotations

    To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
    " +msgstr "" +"

    Nema tumačenja

    Da biste napravili novo tumačenje " +"pritisnite F6 ili izaberite Alatke→Pregled iz menija.
    " + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "Grupiši po stranicama" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "Grupiši po autoru" + +#: part/side_reviews.cpp:155 +#, fuzzy, kde-format +#| msgid "Show reviews for current page only" +msgid "Show annotations for current page only" +msgstr "Prikaži preglede samo za tekuću stranicu" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "" + +#: part/signaturepanel.cpp:101 +#, fuzzy, kde-format +#| msgid "&Properties" +msgid "Properties" +msgstr "&Svojstva" + +#: part/signaturepartutils.cpp:180 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Stranice: %1" + +#: part/signaturepartutils.cpp:181 +#, fuzzy, kde-format +#| msgid "Use custom background color" +msgid "Select background image" +msgstr "Posebna pozadinska boja" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "" + +#: part/signaturepartutils.cpp:244 +#, fuzzy, kde-format +#| msgid "Document Password" +msgid "Enter document password" +msgstr "Lozinka dokumenta" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "" + +# >> @item:inlistbox Stamp Symbol +#: part/signaturepropertiesdialog.cpp:63 +#, fuzzy, kde-format +#| msgid "Information" +msgid "Additional Information" +msgstr "informacija" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:83 +#, fuzzy, kde-format +#| msgid "Document Password" +msgid "Document Version" +msgstr "Lozinka dokumenta" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "" + +# >> @title:window +#: part/signaturepropertiesdialog.cpp:95 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "View Certificate…" +msgstr "Podešavanje prikazivača" + +# >> @title:window +#: part/signaturepropertiesdialog.cpp:97 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "View in Certificate Manager" +msgstr "Podešavanje prikazivača" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "Prikaži samo obilježene stranice" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "Pusti" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Pauziraj" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "Zaustavi" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, fuzzy, kde-format +#| msgid "&Edit" +msgid "&Edit…" +msgstr "&Uređivanje" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "U&kloni" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "Pomeri na&gore" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "Pomeri na&dolje" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "Podrazumevana alatka crtanja #%1" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "Već postoji alatka sa takvim imenom, uzimam podrazumevano." + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "Duplikat imena" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "Stranica dokumenta za prikazivanje" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "Otvori dokument u režimu prezentacije" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "Pokreni na dijalogu za štampanje" + +#: shell/main.cpp:78 +#, fuzzy, kde-format +#| msgid "Start with print dialog" +msgid "Start with print dialog and exit after printing" +msgstr "Pokreni na dijalogu za štampanje" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "Kontrola „jedinstvenog primerka“" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "Ne podiži prozor" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "Dokumenti za otvaranje. Zadajte ‘-’ za čitanje sa stdul." + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "Greška: uz opciju --unique može da se otvori samo jedan dokument" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "Greška: uz opciju --presentation može da se otvori samo jedan dokument" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "Greška: uz opciju --print može da se otvori samo jedan dokument" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "Greška: uz opciju --page može da se otvori samo jedan dokument" + +#: shell/okular_main.cpp:210 +#, fuzzy, kde-format +#| msgid "Error: Can't open more than one document with the --print switch" +msgid "Error: Can't open more than one document with the --find switch" +msgstr "Greška: uz opciju --print može da se otvori samo jedan dokument" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "Ne mogu da pronađem komponentu Okulara: %1" + +#: shell/shell.cpp:250 +#, fuzzy, kde-format +#| msgid "Show &Page Bar" +msgid "Sidebar" +msgstr "Prikaži &traku stranica" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" +"Jedinstveni primerak Okulara već je u pogonu. Ovaj primerak neće biti " +"jedinstveni." + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "Ne mogu da pronađem deo Okulara." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"Kliknite da otvorite fajl\n" +"Kliknite i držite da otvorite nedavni fajl" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"Kliknite da otvorite fajl ili kliknite i držite da izaberete " +"nedavni fajl" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "Sljedeći jezičak" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "Prethodni jezičak" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "" + +#: shell/shell.cpp:603 +#, fuzzy, kde-format +#| msgid "Show &Page Bar" +msgid "Lock Sidebar" +msgstr "Prikaži &traku stranica" + +# >> @item +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "svi fajlovi (*)" + +# >> @item +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "svi podržani fajlovi (%1)" + +# >> @title:window +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "Otvaranje dokumenta" + +# >> @title:window +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "Potvrda zatvaranja" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "Zatvori jezičke" + +# >! Plurals. +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "" +"Ovim ćete zatvoriti %1 jezičaka. Želite li zaista da nastavite?|/|Ovim ćete " +"zatvoriti %1 $[množ ^1 jezičak jezička jezičaka]. Želite li zaista da " +"nastavite?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "Upozori me na pokušaj zatvaranja više jezičaka" + +#: shell/welcomescreen.cpp:64 +#, fuzzy, kde-format +#| msgid "Copy Text" +msgid "&Copy Path" +msgstr "Kopiraj tekst" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "" + +#: shell/welcomescreen.cpp:137 +#, fuzzy, kde-format +#| msgid "Current document only" +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "Samo tekući dokument" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "" + +# >> @title:window +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, fuzzy, kde-format +#| msgid "Open Document" +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Otvaranje dokumenta" + +# >> @title:window +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, fuzzy, kde-format +#| msgid "Open Document" +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Otvaranje dokumenta" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "" + +# >> @title +#~ msgid "Geometry" +#~ msgstr "Geometrija" + +#~ msgid "Modified: %1" +#~ msgstr "Izmijenjen: %1" + +#~ msgid "Find..." +#~ msgstr "Nađi..." + +#~ msgid "Go To Page..." +#~ msgstr "Idi na stranicu..." + +#~ msgid "Play movie..." +#~ msgstr "Pusti film..." + +#, fuzzy +#~| msgid "S&earch:" +#~ msgid "Search..." +#~ msgstr "&Traži:" + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "Sačuvaj &kao..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "&Prikaži..." + +#~ msgid "Configure Viewer..." +#~ msgstr "Podesi prikazivač..." + +#~ msgid "Configure Viewer Backends..." +#~ msgstr "Podesi prikazivačke pozadine..." + +#~ msgid "Configure Backends..." +#~ msgstr "Podesi pozadine..." + +#~ msgid "&Add..." +#~ msgstr "&Dodaj..." + +#~ msgid "&Edit..." +#~ msgstr "&Uredi..." + +# >> @item:intext +#, fuzzy +#~| msgctxt "Unknown author" +#~| msgid "Unknown" +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "nepoznat" + +#, fuzzy +#~| msgid "%" +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr "%" + +# well-spelled: пикс +#~ msgctxt "Suffix for the pen width, eg '10 px'" +#~ msgid " px" +#~ msgstr " piks." + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " %" + +#, fuzzy +#~| msgid "%" +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%" + +#, fuzzy +#~| msgid "Fit Width" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "uklopljena širina" + +#, fuzzy +#~| msgid "Fit Page" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "uklopljena stranica" + +#, fuzzy +#~| msgid "Auto Fit" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Auto Fit" +#~ msgstr "uklopljeno automatski" + +#~ msgid "*|All Files" +#~ msgstr "*|Svi fajlovi" + +#~ msgid "Draw border around &Images" +#~ msgstr "Crtaj ivicu oko s&lika" + +#~ msgid "Identity" +#~ msgstr "Identitet" + +#, fuzzy +#~| msgid "&Author:" +#~ msgid "Au&thor:" +#~ msgstr "&Autor:" + +#~ msgid "View Options" +#~ msgstr "Opcije prikaza" + +#~ msgctxt "@info:whatsthis" +#~ msgid "" +#~ "Defines the default zoom mode for files which were never opened before.\n" +#~ "For files which were opened before the previous zoom is applied." +#~ msgstr "" +#~ "Određuje podrazumevani režim uveličanja za prvi put otvorene fajlove.\n" +#~ "Na fajlove koji su ranije otvarani primenjuje se prethodno uveličanje." + +#~ msgid "Navigation" +#~ msgstr "Navigacija" + +#~ msgid "Advance every:" +#~ msgstr "Napreduj svakih:" + +#~ msgid "Enable transitions" +#~ msgstr "Omogući prelaze" + +#~ msgid "Placement" +#~ msgstr "Pozicioniranje" + +#~ msgid "Screen:" +#~ msgstr "Ekran:" + +#~ msgid "Drawing Tool Configuration" +#~ msgstr "Postava alatke crtanja" + +#~ msgid "&Get Books From Internet..." +#~ msgstr "&Dobavi knjige sa Interneta..." + +#~ msgid "" +#~ "The file '%1' has been modified by another program, which means it can no " +#~ "longer be saved." +#~ msgstr "" +#~ "Neki drugi program je izmenio fajl „%1“, što znači da više ne može da se " +#~ "sačuva." + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "@item:inlistbox Color name" +#~ msgid "%1" +#~ msgstr "%1:" + +# >> @item:inlistbox Stamp Symbol +#, fuzzy +#~| msgid "Experimental" +#~ msgctxt "@title:window" +#~ msgid "Experimental feature" +#~ msgstr "eksperimentalno" + +#~ msgid "Remove Bookmarks" +#~ msgstr "Ukloni obilježivače" + +#~ msgid "&Toggle Change Colors" +#~ msgstr "&Prebaci promenu boja" + +#~ msgid "Hide Forms" +#~ msgstr "Sakrij formulare" + +#, fuzzy +#~| msgctxt "Add an annotation to the page" +#~| msgid "add annotation" +#~ msgid "Bookmark annotation" +#~ msgstr "Dodaj tumačenje" + +#~ msgid "Reviews" +#~ msgstr "Pregledi" diff --git a/po/sr@ijekavianlatin/okular_comicbook.po b/po/sr@ijekavianlatin/okular_comicbook.po new file mode 100644 index 0000000..98999e6 --- /dev/null +++ b/po/sr@ijekavianlatin/okular_comicbook.po @@ -0,0 +1,48 @@ +# Translation of okular_comicbook.po into Serbian. +# Slobodan Simic , 2009. +# Chusslove Illich , 2010, 2017. +msgid "" +msgstr "" +"Project-Id-Version: okular_comicbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2017-09-28 17:59+0200\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@ijekavianlatin\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Generator: KBabel 1.11.4\n" +"X-Environment: kde\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Slobodan Simić" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "slsimic@gmail.com" + +#: document.cpp:97 +#, fuzzy, kde-format +#| msgid "Cannot open document, unrar was not found." +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "Ne mogu da otvorim dokument, unrar nije nađena." + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "Verzija unrar na sistemu nije podesna za otvaranje ComicBooka." + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "Nepoznat format ComicBooka." diff --git a/po/sr@ijekavianlatin/okular_djvu.po b/po/sr@ijekavianlatin/okular_djvu.po new file mode 100644 index 0000000..fe91432 --- /dev/null +++ b/po/sr@ijekavianlatin/okular_djvu.po @@ -0,0 +1,103 @@ +# Translation of okular_djvu.po into Serbian. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Slobodan Simic , 2007. +# Zoran Olujic , 2010. +# Chusslove Illich , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_djvu\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-10-05 22:02+0200\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@ijekavianlatin\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Slobodan Simić" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "slsimic@gmail.com" + +# skip-rule: t-editor +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "Urednik" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "Izdavač" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "Sveska" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "Vrsta dokumenta" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "nepoznato" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "Sastavnih fajlova" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "nepoznata" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "jednostrani" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "komplet" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "indirektni" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "komplet (stari)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "indeksirani (stari)" diff --git a/po/sr@ijekavianlatin/okular_dvi.po b/po/sr@ijekavianlatin/okular_dvi.po new file mode 100644 index 0000000..304b5d7 --- /dev/null +++ b/po/sr@ijekavianlatin/okular_dvi.po @@ -0,0 +1,588 @@ +# Translation of okular_dvi.po into Serbian. +# Slobodan Simic , 2007. +# Zoran Olujic , 2010. +# Chusslove Illich , 2010, 2013, 2014, 2017. +# Dalibor Djuric , 2010. +msgid "" +msgstr "" +"Project-Id-Version: okular_dvi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2017-09-28 17:59+0200\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@ijekavianlatin\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" +"X-Associated-UI-Catalogs: okular\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Zoran Olujić" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "olujicz@gmail.com" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

    Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

    Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

    " +msgstr "" +"

    Okular ne može da nađe naredbu dvipdfm na ovom računaru. Ona " +"je neophodna za rad funkcije izvoza. DVI fajl možete da pretvorite u PDF i " +"upotrebom funkcije izvoza u Okularu, ali će takav dokument dobro izgledati " +"samo na papiru, dok će biti lošijeg kvaliteta u Akrobatu čitaču. Zato je " +"ipak najbolje da dogradite distribuciju TeX‑a na noviju verziju, koja sadrži " +"i naredbu dvipdfm.

    Savjet zbunjenom sistem-administratoru: " +"Okular traži naredbe kroz promjenljivu okruženja $PATH.

    " + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Spoljašnja naredba dvipdfm, upotrijebljena za izvoz fajla, " +"prijavila je grešku. Detaljniji izvještaj o grešci možete naći u " +"dijalogu podataka o dokumentu, koji pozivate kroz meni " +"Fajl." + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" +"Ovaj DVI fajl ukazuje na spoljašnje grafičke fajlove koji nisu u formatu " +"PostScript, te ne mogu biti obrađeni naredbom dvips, koju Okular " +"interno koristi za štampanje i izvoz u PostScript. Funkcionalnost koju " +"zahtevate nedostaje u ovoj verziji Okulara." + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

    Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

    Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

    " +msgstr "" +"

    Okular ne može da pronađe naredbu dvips na ovom računaru. " +"Ona je ključna za rad funkcije izvoza.

    Savjet zbunjenom sistem-" +"administratoru: Okular traži naredbe kroz promjenljivu okruženja $PATH.

    " + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Spoljašnja naredba dvips, upotrebljena za izvoz fajla, " +"prijavila je grešku. Detaljniji izvještaj o grešci možete naći u " +"dijalogu podataka o dokumentu, koji pozivate kroz meni " +"Fajl." + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "DVI fajl ne počinje preambulom." + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" +"DVI fajl sadrži pogrešnu verziju DVI izlaza za ovu naredbu. Savet: Ako " +"koristite slovoslagački sistem Omega, tada ćete morati da koristite i " +"posebnu naredbu, kao što je oxdvi." + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "DVI fajl je znatno iskvaren. Okular ne može da pronađe postambulu." + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "Postambula ne počinje naredbom „POST“." + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "Postambula sadrži neku drugu naredbu osim „FNTDEF“." + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "Stranica %1 ne počinje naredbom „BOP“." + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

    The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

    What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

    PATH: %2

    " +msgstr "" +"

    Spoljašnja naredba pdf2ps ne može da se izvrši, te nije " +"moguće pretvoriti PDF fajl %1 u PostScript. Zbog ovoga neće biti " +"prikazani neki grafički elementi dokumenta.

    Mogući razlozi: " +"Naredba pdf2ps možda nije instalirana, ili se ne može naći kroz " +"trenutnu putanju pretrage.

    Šta možete da uradite: Naredba " +"pdf2ps obično stiže u distribucijama GhostScripta, " +"interpretatorskog sistema za PostScript. Ako GhostScript nije instaliran, " +"mogli biste ga instalirati sada. Ako ste sigurni da je GhostScript " +"instaliran, pokušajte da izvršite pdf2ps iz komandne linije da " +"proverite da li zaista radi.

    $PATH: %2

    " + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

    The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

    %2

    " +msgstr "" +"

    PDF fajl %1 ne može da se pretvori u PostScript. Zbog ovoga " +"neće biti prikazani neki grafički elementi dokumenta.

    Mogući " +"razlozi: Fajl je možda iskvaren, ili možda uopšte nije PDF fajl. Naredba " +"pdf2ps, koju je Okular upotrebio, ispisala je sledeće:

    %2

    " + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "Fajl je iskvaren. %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "Neki PostScript fajlovi ne mogu da budu ugnežđeni u dokument. %1" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "Svi spoljašnji PostScript fajlovi ugnežđeni su u dokument." + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "Zadati fajl ‘%1’ ne postoji." + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" +"Zatražili ste od Okulara da nađe mesto u DVI fajlu koje odgovara redu %1 u " +"tex fajlu ‘%2’. Izgleda, međutim, da DVI fajl ne sadrži neophodne podatke o " +"izvornom fajlu." + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" +"Okular ne može da nađe mesto u DVI fajlu koje odgovara redu %1 u tex fajlu " +"‘%2’." + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "DVI kô̂d navodi znak iz nepoznatog fonta." + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "DVI kô̂d pominje font #%1, koji nije prethodno definisan." + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "Stek nije bio prazan kada je naišla naredba „EOP“." + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "Stek je bio prazan kada je naišla naredba „POP“." + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "DVI kô̂d pominje font koji nije prethodno definisan." + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "Naišla je nedozvoljena naredba." + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "Naišao je nepoznati op‑kô̂d %1." + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "Ugnježđujem %1" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
    " +msgstr "" +"Stranica %1: Ne mogu da pretvorim PDF fajl %2 u PostScript." +"
    " + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
    " +msgstr "" +"Stranica %1: Ne mogu da nađem PostScript fajl %2.
    " + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "Ne mogu da raščlanim podatke o veličini papira „%1“." + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

    Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

    PATH: %1

    %2

    " +msgstr "" +"

    Okular ne može da pronađe sve fajlove fontove koji su potrebni za " +"prikazivanje tekućeg DVI fajla. Dokument može biti nečitljiv.

    $PATH: %1

    %2

    " + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

    There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
    Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

    PATH: %1

    %2

    " +msgstr "" +"

    Bilo je problema pri izvršavanju kpsewhich. Posledica je da " +"neki fajlovi fontova nisu nađeni, i dokument može biti nečitljiv.

    Mogući razlog: naredba kpsewhich možda nije instalirana na " +"sistemu, ili nije dostupna kroz trenutnu putanju pretrage.

    $PATH: %1

    %2

    " + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" +"Prekinuto je generisanje fontova pomoću kpsewhich (izlazni kô̂d " +"%1, greška %2). Zbog ovoga neki fontovi nisu pronađeni, i dokument može biti " +"nečitljiv." + +#: fontpool.cpp:482 +#, fuzzy, kde-format +#| msgid "Currently generating %1 at %2 dpi..." +msgid "Currently generating %1 at %2 dpi…" +msgstr "Trenutno generišem %1 pri %2 tpi..." + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "Generator/datum" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "Font nije pronađen" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "portret" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "pejzaž" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" +"Verzija GhostViewa instalirana na ovom računaru ne sadrži nijedan drajver " +"uređaja koji Okular poznaje. Zbog ovoga je isključena podrška za PostScript " +"u Okularu." + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "" +"Nađeno je 25 grešaka do sada. Dalje poruke o greškama neće biti prikazane." + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" +"Greška u DVI fajlu ‘%1’, na stranici %2. Izdata je naredba „POP“ za boju dok " +"je stek za boje prazan." + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" +"Loše formiran parametar u specijalnoj naredbi „epsf“.\n" +"Očekivan je realan broj nakon %1 u %2." + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"Fajl nije pronađen:\n" +" %1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" +"Greška u DVI fajlu ‘%1’, stranica %2. Ne mogu da interpretiram ugao u " +"specijalnoj naredbi rotacije teksta." + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "Specijalna naredba „%1“ nije izvedena." + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" +"Fajl fonta ‘%1’ može da se otvori i pročita, ali format fonta nije podržan." + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "" +"Fajl fonta ‘%1’ ili je pokvaren, ili ne može da se otvorili ili pročita." + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" +"FreeType prijavljuje grešku pri postavljanju veličine znakova za fajl fonta " +"‘%1’." + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "FreeType ne može da učita glif #%1 iz fajla fonta ‘%2’." + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "FreeType ne može da izrenderuje glif #%1 iz fajla fonta ‘%2’." + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "Glif #%1 je prazan." + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "Glif #%1 iz fajla fonta ‘%2’ je prazan." + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "FreeType ne može da učita metriku za glif #%1 iz fajla fonta ‘%2’." + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "Ne mogu da otvorim fajl fonta ‘%1’." + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "TexFont_PK::operator[]: Znak %1 nije definisan u fontu %2." + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "Neočekivano %1 u PK fajlu ‘%2’." + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "Znak %1 je previše veliki u fajlu ‘%2’." + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "Uskladišten pogrešan broj bitova: znak %1, font %2." + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "Loš PK fajl (%1), previše bitova." + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "Font ima nekvadratnu proporciju." + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "Ne mogu da nađem font %1, fajl ‘%2’." + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "Neslaganje kontrolne sume za fajl fonta ‘%1’." + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "Ne mogu da prepoznam format fajla fonta ‘%1’." + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"Kobna greška.\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" +"\n" +"Ovo vjerovatno znači da ste ili našli grešku u Okularu, ili da su DVI " +"fajl ili dopunski fajlovi (poput fajlova fontova ili virtuelnih fontova) " +"ozbiljno iskvareni. Okular će obustaviti rad poslije ove poruke. Ako mislite " +"da ste pronašli grešku, ili da Okular treba bolje da se snađe u ovoj " +"situaciji, prijavite ovaj problem." + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "Pogrešan komandni bajt pronađen u VF makro listi: %1" + +#~ msgid "" +#~ "

    The Ghostview program, which Okular uses internally to display the " +#~ "PostScript graphics that is included in this DVI file, is generally able " +#~ "to write its output in a variety of formats. The sub-programs that " +#~ "Ghostview uses for these tasks are called 'device drivers'; there is one " +#~ "device driver for each format that Ghostview is able to write. Different " +#~ "versions of Ghostview often have different sets of device drivers " +#~ "available. It seems that the version of Ghostview that is installed on " +#~ "this computer does not contain any of the device drivers " +#~ "that are known to Okular.

    It seems unlikely that a regular " +#~ "installation of Ghostview would not contain these drivers. This error may " +#~ "therefore point to a serious misconfiguration of the Ghostview " +#~ "installation on your computer.

    If you want to fix the problems with " +#~ "Ghostview, you can use the command gs --help to display " +#~ "the list of device drivers contained in Ghostview. Among others, Okular " +#~ "can use the 'png256', 'jpeg' and 'pnm' drivers. Note that Okular needs to " +#~ "be restarted to re-enable PostScript support.

    " +#~ msgstr "" +#~ "

    Za prikazivanje PostScript grafike uključene u ovaj DVI fajl " +#~ "Okular interno koristi program GhostView, koji može da proizvede mnoge " +#~ "različite formate na izlazu. Potprogrami koje GhostView koristi u ovu " +#~ "svrhu nazivaju se „drajverima uređaja“, po jedan za svaki format koji " +#~ "GhostView može da zapiše. Različita izdanja GhostViewa često imaju " +#~ "različite skupove drajvera. Izgleda da izdanje GhostViewa instalirano na " +#~ "ovom računaru ne sadrži nijedan drajver poznat Okularu.

    Malo je vjerovatno da ispravna instalacija GhostViewa ne sadrži " +#~ "nijedan drajver. Stoga ova greška vjerovatno ukazuje na ozbiljne greške u " +#~ "postavi GhostViewa na ovom računaru.

    Ukoliko želite da otklonite " +#~ "probleme sa GhostViewom, možete izvršiti naredbu gs --help da " +#~ "dobijete spisak drajvera koje GhostView sadrži. Između ostalih, Okular " +#~ "može da koristi drajvere png256, jpeg i pnm. " +#~ "Okular mora biti ponovo pokrenut da bi se ponovo provjerila podrška za " +#~ "PostScript.

    " diff --git a/po/sr@ijekavianlatin/okular_epub.po b/po/sr@ijekavianlatin/okular_epub.po new file mode 100644 index 0000000..30693e5 --- /dev/null +++ b/po/sr@ijekavianlatin/okular_epub.po @@ -0,0 +1,46 @@ +# Translation of okular_epub.po into Serbian. +# Slobodan Simic , 2009. +# Chusslove Illich , 2010, 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_epub\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-06-01 14:47+0200\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@ijekavianlatin\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Generator: KBabel 1.11.4\n" +"X-Environment: kde\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Slobodan Simić" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "slsimic@gmail.com" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "Greška pri otvaranju EPUB dokumenta." + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "EPUB" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "Postava pozadine za EPUB" diff --git a/po/sr@ijekavianlatin/okular_fax.po b/po/sr@ijekavianlatin/okular_fax.po new file mode 100644 index 0000000..e914300 --- /dev/null +++ b/po/sr@ijekavianlatin/okular_fax.po @@ -0,0 +1,36 @@ +# Translation of okular_fax.po into Serbian. +# Slobodan Simic , 2009. +# Chusslove Illich , 2010. +msgid "" +msgstr "" +"Project-Id-Version: okular_fax\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-03-11 20:29+0100\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@ijekavianlatin\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Generator: KBabel 1.11.4\n" +"X-Environment: kde\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Slobodan Simić" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "slsimic@gmail.com" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "Ne mogu da učitam dokument" diff --git a/po/sr@ijekavianlatin/okular_fictionbook.po b/po/sr@ijekavianlatin/okular_fictionbook.po new file mode 100644 index 0000000..6169066 --- /dev/null +++ b/po/sr@ijekavianlatin/okular_fictionbook.po @@ -0,0 +1,75 @@ +# Translation of okular_fictionbook.po into Serbian. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Slobodan Simic , 2007. +# Zoran Olujic , 2010. +# Chusslove Illich , 2010, 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_fictionbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-06-01 14:47+0200\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@ijekavianlatin\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Zoran Olujić" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "olujicz@gmail.com" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "Dokument nije pravilan FictionBook" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "Ne mogu da otvorim dokument: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "Dokument nije pravilna ZIP arhiva" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "Nepravilna struktura dokumenta (nedostaje glavna fascikla)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "U dokumentu nema sadržaja" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "Nepravilan XML dokument: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "FictionBook" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "Postava pozadine za FictionBook" diff --git a/po/sr@ijekavianlatin/okular_ghostview.po b/po/sr@ijekavianlatin/okular_ghostview.po new file mode 100644 index 0000000..46dc18a --- /dev/null +++ b/po/sr@ijekavianlatin/okular_ghostview.po @@ -0,0 +1,84 @@ +# Translation of okular_ghostview.po into Serbian. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Slobodan Simic , 2007. +# Zoran Olujic , 2010. +# Chusslove Illich , 2010. +# Dalibor Djuric , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_ghostview\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-03-16 11:25+0100\n" +"Last-Translator: Dalibor Djuric \n" +"Language-Team: Serbian \n" +"Language: sr@ijekavianlatin\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Zoran Olujić" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "olujicz@gmail.com" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "Koristi sistemske fontove" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"Određuje da li je GhostScriptu dozvoljeno da koristi sistemske fontove. Ako " +"nije, moći će da koristi samo fontove ugniježđene u dokumentu." + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "Opšte postavke" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "&Koristi sistemske fontove" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "GhostScript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Postavke pozadine za GhostScript" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "Verzija dokumenta" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "Nivo jezika" diff --git a/po/sr@ijekavianlatin/okular_kimgio.po b/po/sr@ijekavianlatin/okular_kimgio.po new file mode 100644 index 0000000..1800010 --- /dev/null +++ b/po/sr@ijekavianlatin/okular_kimgio.po @@ -0,0 +1,49 @@ +# Translation of okular_kimgio.po into Serbian. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Slobodan Simic , 2007. +# Zoran Olujic , 2010. +# Chusslove Illich , 2010, 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_kimgio\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2017-12-03 22:53+0100\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@ijekavianlatin\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Slobodan Simić" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "slsimic@gmail.com" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "Ne mogu da učitam dokument: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" +"Dokument deluje iskvareno. Ovo je najbolje tumačenje njegovog željenog " +"izgleda." diff --git a/po/sr@ijekavianlatin/okular_markdown.po b/po/sr@ijekavianlatin/okular_markdown.po new file mode 100644 index 0000000..e0a5050 --- /dev/null +++ b/po/sr@ijekavianlatin/okular_markdown.po @@ -0,0 +1,55 @@ +# Translation of okular_markdown.po into Serbian. +# Chusslove Illich , 2017. +msgid "" +msgstr "" +"Project-Id-Version: okular_markdown\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2017-09-25 19:53+0200\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@ijekavianlatin\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Časlav Ilić" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "caslav.ilic@gmx.net" + +#: converter.cpp:59 converter.cpp:93 +#, fuzzy, kde-format +#| msgid "Failed to compile the Markdown document." +msgid "Failed to open the document" +msgstr "Ne mogu da kompilujem Markdown dokument." + +#: converter.cpp:106 converter.cpp:124 +#, kde-format +msgid "Failed to compile the Markdown document." +msgstr "Ne mogu da kompilujem Markdown dokument." + +#: generator_md.cpp:58 +#, kde-format +msgid "Enable SmartyPants formatting" +msgstr "" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown" +msgstr "Markdown" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown Backend Configuration" +msgstr "Podešavanje pozadine Markdowna" diff --git a/po/sr@ijekavianlatin/okular_mobi.po b/po/sr@ijekavianlatin/okular_mobi.po new file mode 100644 index 0000000..734e352 --- /dev/null +++ b/po/sr@ijekavianlatin/okular_mobi.po @@ -0,0 +1,52 @@ +# Translation of okular_mobi.po into Serbian. +# Chusslove Illich , 2010, 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_mobi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-06-01 14:47+0200\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@ijekavianlatin\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Časlav Ilić" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "caslav.ilic@gmx.net" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Greška pri otvaranju Mobipocket dokumenta." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "" +"Ova knjiga je zaštićena DRM‑om i može se prikazati samo na naznačenom " +"uređaju." + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "Mobipocket" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "Postava pozadine za Mobipocket" diff --git a/po/sr@ijekavianlatin/okular_poppler.po b/po/sr@ijekavianlatin/okular_poppler.po new file mode 100644 index 0000000..4fca3b7 --- /dev/null +++ b/po/sr@ijekavianlatin/okular_poppler.po @@ -0,0 +1,379 @@ +# Translation of okular_poppler.po into Serbian. +# Slobodan Simic , 2007. +# Zoran Olujic , 2010. +# Chusslove Illich , 2010, 2012, 2013. +# Dalibor Djuric , 2010. +msgid "" +msgstr "" +"Project-Id-Version: okular_poppler\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-03-03 22:14+0100\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@ijekavianlatin\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Zoran Olujić" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "olujicz@gmail.com" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "" + +# skip-rule: t-line +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "Pojačaj tanke linije:" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "ne" + +# >? What does this look like? +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "pune" + +# >? What does this look like? +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "uobličene" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "Opcije PDF‑a" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "Štampaj tumačenja" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "Uključi tumačenja u odštampani dokument" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"Uključuje tumačenja u odštampani dokument. Ovo možete isključiti ako želite " +"da odštampate izvorni dokument bez tumačenja." + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "Nametni rasterizaciju" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "Rasterizuje u sliku prije štampanja" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"Nameće rasterizaciju svake stranice u sliku prije nego što se odštampa. Ovo " +"obično daje nešto lošije rezultate, ali je korisno za štampanje dokumenata " +"koji inače izgledaju neispravno odštampani." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF ver. %1.%2" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "Format" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "Šifrovan" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "Nešifrovan" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "Bezbjednost" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "da" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "Optimizacija" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "Podešavanje pozadine za PDF" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter Password" +msgstr "" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "" diff --git a/po/sr@ijekavianlatin/okular_txt.po b/po/sr@ijekavianlatin/okular_txt.po new file mode 100644 index 0000000..d68cafc --- /dev/null +++ b/po/sr@ijekavianlatin/okular_txt.po @@ -0,0 +1,39 @@ +# Translation of okular_txt.po into Serbian. +# Chusslove Illich , 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_txt\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-06-01 14:47+0200\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@ijekavianlatin\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Časlav Ilić" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "caslav.ilic@gmx.net" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "Tekst" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "Postava pozadine za tekst" diff --git a/po/sr@ijekavianlatin/okular_xps.po b/po/sr@ijekavianlatin/okular_xps.po new file mode 100644 index 0000000..050df5f --- /dev/null +++ b/po/sr@ijekavianlatin/okular_xps.po @@ -0,0 +1,40 @@ +# Translation of okular_xps.po into Serbian. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Slobodan Simic , 2007. +# Zoran Olujic , 2010. +# Chusslove Illich , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_xps\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-03-11 20:29+0100\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@ijekavianlatin\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Slobodan Simić" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "slsimic@gmail.com" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "Revizija" diff --git a/po/sr@latin/okular.po b/po/sr@latin/okular.po new file mode 100644 index 0000000..33814da --- /dev/null +++ b/po/sr@latin/okular.po @@ -0,0 +1,6652 @@ +# Translation of okular.po into Serbian. +# Toplica Tanaskovic , 2003, 2004. +# Slobodan Simic , 2003, 2005. +# Chusslove Illich , 2005, 2006, 2007, 2010, 2012, 2013, 2014, 2015, 2016, 2017. +# Filip Brcic , 2008. +# Zoran Olujic , 2010. +# Dalibor Djuric , 2010. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2017-12-15 12:38+0100\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@latin\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Slobodan Simić,Časlav Ilić,Filip Brčić" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "slsimic@gmail.com,caslav.ilic@gmx.net,brcha@gna.org" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Okular, univerzalni prikazivač dokumenata" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"© 2002, Vilko Greven, Kristof Devris\n" +"© 2004–2005, Enriko Ros\n" +"© 2005, Pjotr Šimanjski\n" +"© 2004–2017, Albert Astals Sid\n" +"© 2006–2009, Pino Toskano" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "Bivši održavalac" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "" + +#: aboutdata.h:32 +#, fuzzy, kde-format +#| msgid "Lots of framework work, ODT and FictionBook backends" +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "Mnogo posla na radnom okviru, pozadine za ODT i FictionBook" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "Programer" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "Napravio Okular od KPDF‑ovog izvornog koda" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "Programer KPDF‑a" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "Grafika za tumačenja" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "Alatka izbora tabele" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "Poboljšanja tumačenja" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "Idi na stranicu %1" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "Otvori spoljni fajl" + +#: core/action.cpp:197 +#, fuzzy, kde-format +#| msgid "Execute '%1'..." +msgid "Execute '%1'…" +msgstr "Izvrši '%1'..." + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "Prva stranica" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "Prethodna stranica" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "Sledeća stranica" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "Poslednja stranica" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "Nazad" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "Napred" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Napusti" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "Počni prezentaciju" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "Završi prezentaciju" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go To Page…" +msgstr "Idi na stranicu" + +#: core/action.cpp:365 +#, fuzzy, kde-format +#| msgid "Play sound..." +msgid "Play sound…" +msgstr "Odsviraj zvuk..." + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "JavaScript skripta" + +#: core/action.cpp:483 +#, fuzzy, kde-format +#| msgid "Play movie" +msgid "Play movie…" +msgstr "Pusti film" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "Pusti film" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "Zaustavi film" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "Pauziraj film" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "Nastavi film" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "Izbor pozadine" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
    %1 (%2).

    Please select which one to use:
    " +msgstr "" +"Nađeno je više od jedne pozadine za ovaj MIME tip:
    %1 (%2)." +"

    Izaberite koja će se koristiti:
    " + +#: core/document.cpp:200 +#, fuzzy, kde-format +#| msgid "Go to page %1" +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "Idi na stranicu %1" + +# >! Fix argument substitution. +#: core/document.cpp:221 +#, fuzzy, kde-format +#| msgctxt "paper type and orientation (eg: Portrait A4)" +#| msgid "Portrait %0" +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "portret %0" + +# >! Fix argument substitution. +#: core/document.cpp:223 +#, fuzzy, kde-format +#| msgctxt "paper type and orientation (eg: Portrait A4)" +#| msgid "Landscape %0" +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "pejzaž %0" + +#: core/document.cpp:246 +#, fuzzy, kde-format +#| msgctxt "%1 is width, %2 is height, %3 is paper size name" +#| msgid "%1 x %2 in (%3)" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1×%2 in (%3)" + +#: core/document.cpp:248 +#, fuzzy, kde-format +#| msgctxt "%1 is width, %2 is height, %3 is paper size name" +#| msgid "%1 x %2 mm (%3)" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1×%2 mm (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "Nastavljam pretragu od početka" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "Nastavljam pretragu sa dna" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "" +"Ne mogu da nađem priključak koji je u stanju da obradi prosleđeni dokument." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "Ukloni tumačenja" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"Dokument pokušava da izvrši spoljašnji program, što zbog vaše bezbednosti " +"Okular ne dozvoljava." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "Nije nađen nijedan program za otvaranje fajla MIME tipa %1." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "Ne mogu da otvorim privremeni fajl." + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "Pretvaranje za štampu nije uspelo." + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "Štamparski proces se srušio." + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "Štamparski proces ne može da se pokrene." + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "Štampanje u fajl nije uspelo." + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "Štampač je u pogrešnom stanju." + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "Ne mogu da nađem fajl za štampanje." + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "Nema fajla za štampanje." + +# rewrite-msgid: /binary/command/ +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"Ne mogu da nađem pogodnu naredbu za štampanje. Obezbedite da lpr iz CUPS‑a " +"bude dostupna." + +# rewrite-msgid: /print// +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "Veličina stranice nije dobra." + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "Ne mogu da otvorim „%1“. Fajl ne postoji." + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Naslov" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Tema" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Opis" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "Autor" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Stvaralac" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Proizvođač" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "Autorska prava" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "Stranica" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Napravljen" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Izmenjen" + +#: core/document.cpp:6032 +#, fuzzy, kde-format +#| msgid "Mime Type" +msgid "MIME Type" +msgstr "MIME tip" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "Kategorija" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Ključne reči" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "Putanja fajla" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "Veličina fajla" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "Veličina stranice" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "Dodaj tumačenje" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "Ukloni tumačenje" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "Izmeni svojstva tumačenja" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "Pomeri tumačenje" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "Namesti tumačenje" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "Uredi tekst" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "Uredi sadržaj tumačenja" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "Uredi sadržaj formulara" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "Uredi izbore spiska u formularu" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "Uredi izbore padajućeg spiska u formularu" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "Uredi stanja dugmeta u formularu" + +#: core/generator.cpp:790 +#, fuzzy, kde-format +#| msgid "Plain &Text..." +msgid "Plain &Text…" +msgstr "Obični &tekst..." + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "ODT" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, fuzzy, kde-format +#| msgid "Editor Options" +msgid "Print Options" +msgstr "Opcije uređivača" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#: core/printoptionswidget.cpp:25 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgid "Scale mode:" +msgstr "Režim boje:" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, fuzzy, kde-format +#| msgid "No description available." +msgid "Not Available" +msgstr "Opis nije dostupan." + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "" + +#: core/signatureutils.cpp:504 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" + +#: core/signatureutils.cpp:506 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown signing error" +msgstr "Nepoznat fajl" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Izvor: %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "&Podrazumevani font:" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "" + +#: gui/certificatemodel.cpp:41 +#, fuzzy, kde-format +#| msgid "Page Number" +msgid "Serial Number" +msgstr "Broj stranice" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "" + +# >> @item:inlistbox Stamp Symbol +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, fuzzy, kde-format +#| msgid "Expired" +msgid "Expires On" +msgstr "isteklo" + +#: gui/certificatemodel.cpp:49 +#, fuzzy, kde-format +#| msgid "Subject" +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Tema" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "" + +#: gui/certificatemodel.cpp:53 +#, fuzzy, kde-format +#| msgid "Memory Usage" +msgid "Key Usage" +msgstr "Iskorišćenje memorije" + +#: gui/certificatemodel.cpp:72 +#, fuzzy, kde-format +#| msgid "%1:" +msgid "V%1" +msgstr "%1:" + +#: gui/certificatemodel.cpp:84 +#, fuzzy, kde-format +#| msgctxt "File type name and pattern" +#| msgid "%1 (%2)" +msgid "%1 (%2 bits)" +msgstr "%1 (%2)" + +#: gui/certificatemodel.cpp:146 +#, fuzzy, kde-format +#| msgid "&Properties" +msgid "Property" +msgstr "&Svojstva" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "Iskačuća beleška" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "Utkana beleška" + +# >> @item:inlistbox Stamp Symbol +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +#| msgid "For Comment" +msgid "Arrow with Comment" +msgstr "za komentarisanje" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "" + +#: gui/guiutils.cpp:59 +#, fuzzy, kde-format +#| msgid "Straight Line Properties" +msgid "Straight Line with Comment" +msgstr "Svojstva prave linije" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "Prava linija" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "Poligon" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Squiggle text" +msgid "Rectangle with Comment" +msgstr "Talasasto po tekstu" + +# >> @item:inlistbox Type of geometric annotation +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "pravougaonik" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Underline text" +msgid "Ellipse with Comment" +msgstr "Podvučen tekst" + +# >> @item:inlistbox Type of geometric annotation +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "elipsa" + +#: gui/guiutils.cpp:83 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Highlight text" +msgid "Highlight with Comment" +msgstr "Isticanje teksta" + +# >> @item:inlistbox Highlight type +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "istaknuto" + +#: gui/guiutils.cpp:87 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Squiggle text" +msgid "Squiggle with Comment" +msgstr "Talasasto po tekstu" + +# >> @item:inlistbox Highlight type +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "talasasto" + +#: gui/guiutils.cpp:91 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Underline text" +msgid "Underline with Comment" +msgstr "Podvučen tekst" + +# >> @item:inlistbox Highlight type +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "podvučeno" + +#: gui/guiutils.cpp:95 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Strike out text" +msgid "Strike Out with Comment" +msgstr "Precrtan tekst" + +# >> @item:inlistbox Highlight type +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "precrtano" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "Pečat" + +#: gui/guiutils.cpp:106 +#, fuzzy, kde-format +#| msgid "Freehand Line Properties" +msgid "Freehand Line with Comment" +msgstr "Svojstva linije slobodnom rukom" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "Linija slobodnom rukom" + +# >> @title +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "Kapica" + +# >> @title +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "Priloženi fajl" + +# >> @title +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "Zvuk" + +# >> @title +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "Film" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Ekran" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "Vidžet" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "Bogati medijum" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation" +msgstr "%1 tumačenje" + +# >> @item:intext +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "nepoznat" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Autor: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "Gde želite da sačuvate ‘%1’?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "Ne mogu da otvorim ‘%1’ za pisanje. Fajl nije sačuvan." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "" + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "" + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "" + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "" + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "" + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "" + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "" + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "" + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "" + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "" + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "" + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "" + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "" + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "" + +# >> @title Font name as tooltip header +#: gui/signatureguiutils.cpp:96 +#, fuzzy, kde-format +#| msgid "Unknown font" +msgid "Unknown Algorithm" +msgstr "Nepoznat font" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown Type" +msgstr "Nepoznat fajl" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr "" + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "" + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "" + +#: gui/signatureguiutils.cpp:208 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "Štampanje ovog dokumenta nije dozvoljeno." + +#: gui/signatureguiutils.cpp:211 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "This document is digitally signed." +msgstr "Štampanje ovog dokumenta nije dozvoljeno." + +#: gui/signatureguiutils.cpp:213 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "Štampanje ovog dokumenta nije dozvoljeno." + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" + +#: gui/signaturemodel.cpp:141 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "Svojstva kapice" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "" + +#: gui/signaturemodel.cpp:172 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgid "Reason: %1" +msgstr "Stranice: %1" + +#: gui/signaturemodel.cpp:177 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Location: %1" +msgstr "%1 tumačenje" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "" + +# >> @item:intext +#: gui/signaturemodel.cpp:193 +#, fuzzy, kde-format +#| msgctxt "Unknown author" +#| msgid "Unknown" +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "nepoznat" + +#: gui/signaturemodel.cpp:195 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "Svojstva kapice" + +#: gui/signaturemodel.cpp:201 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgid "Signature Type: %1" +msgstr "Svojstva kapice" + +#: part/annotationactionhandler.cpp:148 +#, fuzzy, kde-format +#| msgid "Red" +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "crvena" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "" + +#: part/annotationactionhandler.cpp:150 +#, fuzzy, kde-format +#| msgid "Yellow" +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "žuta" + +#: part/annotationactionhandler.cpp:151 +#, fuzzy, kde-format +#| msgid "Green" +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "zelena" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "" + +#: part/annotationactionhandler.cpp:153 +#, fuzzy, kde-format +#| msgid "Blue" +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "plava" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "" + +#: part/annotationactionhandler.cpp:155 +#, fuzzy, kde-format +#| msgid "White" +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "bela" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "" + +#: part/annotationactionhandler.cpp:157 +#, fuzzy, kde-format +#| msgid "Black" +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "crna" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "" + +#: part/annotationactionhandler.cpp:252 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1:" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:308 +#, fuzzy, kde-format +#| msgid "Annotation Options" +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Opcije tumačenja" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "" + +#: part/annotationactionhandler.cpp:314 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Alatke tumačenja" + +#: part/annotationactionhandler.cpp:316 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "Alatke tumačenja" + +#: part/annotationactionhandler.cpp:318 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Alatke tumačenja" + +#: part/annotationactionhandler.cpp:322 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Alatke tumačenja" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "" + +#: part/annotationactionhandler.cpp:328 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "%1 tumačenje" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" + +#: part/annotationactionhandler.cpp:341 +#, fuzzy, kde-format +#| msgid "Annotation Options" +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Opcije tumačenja" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "" + +#: part/annotationactionhandler.cpp:432 +#, fuzzy, kde-format +#| msgid "Color:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "Boja:" + +#: part/annotationactionhandler.cpp:434 +#, fuzzy, kde-format +#| msgid "Color:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "Boja:" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "" + +#: part/annotationactionhandler.cpp:499 +#, fuzzy, kde-format +#| msgid "&Selection Tool" +msgctxt "@title:window" +msgid "Select color" +msgstr "Alatka &izbora" + +#: part/annotationactionhandler.cpp:552 +#, fuzzy, kde-format +#| msgid "Annotations" +msgid "&Annotations" +msgstr "Tumačenja" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "" + +# >> @title:window +#: part/annotationactionhandler.cpp:554 +#, fuzzy, kde-format +#| msgid "Create annotation tool" +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Stvaranje alatke tumačenja" + +# >> @item:inlistbox Type of geometric annotation +#: part/annotationactionhandler.cpp:557 +#, fuzzy, kde-format +#| msgid "Highlighter" +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "isticač" + +# >> @item:inlistbox Highlight type +#: part/annotationactionhandler.cpp:558 +#, fuzzy, kde-format +#| msgid "Underline" +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "podvučeno" + +# >> @item:inlistbox Highlight type +#: part/annotationactionhandler.cpp:559 +#, fuzzy, kde-format +#| msgid "Squiggle" +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "talasasto" + +# >> @item:inlistbox Highlight type +#: part/annotationactionhandler.cpp:560 +#, fuzzy, kde-format +#| msgid "Strike Out" +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "precrtano" + +#: part/annotationactionhandler.cpp:562 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Svojstva kapice" + +#: part/annotationactionhandler.cpp:563 +#, fuzzy, kde-format +#| msgid "Inline Note" +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "Utkana beleška" + +#: part/annotationactionhandler.cpp:564 +#, fuzzy, kde-format +#| msgid "Pop-up Note" +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "Iskačuća beleška" + +#: part/annotationactionhandler.cpp:565 +#, fuzzy, kde-format +#| msgid "Freehand Line" +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "Linija slobodnom rukom" + +#: part/annotationactionhandler.cpp:567 +#, fuzzy, kde-format +#| msgid "Straight Line" +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "Prava linija" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "" + +# >> @item:inlistbox Type of geometric annotation +#: part/annotationactionhandler.cpp:569 +#, fuzzy, kde-format +#| msgid "Rectangle" +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "pravougaonik" + +# >> @item:inlistbox Type of geometric annotation +#: part/annotationactionhandler.cpp:570 +#, fuzzy, kde-format +#| msgid "Ellipse" +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "elipsa" + +#: part/annotationactionhandler.cpp:571 +#, fuzzy, kde-format +#| msgid "Polygon" +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "Poligon" + +#: part/annotationactionhandler.cpp:572 +#, fuzzy, kde-format +#| msgid "Geometrical shape" +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "Geometrijski oblik" + +#: part/annotationactionhandler.cpp:618 +#, fuzzy, kde-format +#| msgid "Stamp" +msgctxt "@action" +msgid "Stamp" +msgstr "Pečat" + +#: part/annotationactionhandler.cpp:638 +#, fuzzy, kde-format +#| msgid "Annotations" +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Tumačenja" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "" + +#: part/annotationactionhandler.cpp:651 +#, fuzzy, kde-format +#| msgid "Annotations" +msgid "Quick Annotation Bar" +msgstr "Tumačenja" + +#: part/annotationactionhandler.cpp:665 +#, fuzzy, kde-format +#| msgctxt "Add an annotation to the page" +#| msgid "add annotation" +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "Dodaj tumačenje" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "" + +# >> @title:window +#: part/annotationactionhandler.cpp:669 +#, fuzzy, kde-format +#| msgid "Create annotation tool" +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "Stvaranje alatke tumačenja" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "" + +#: part/annotationactionhandler.cpp:680 +#, fuzzy, kde-format +#| msgid "Font:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "Font:" + +#: part/annotationactionhandler.cpp:681 +#, fuzzy, kde-format +#| msgid "Annotation Options" +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Opcije tumačenja" + +#: part/annotationactionhandler.cpp:684 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "uklopljena širina" + +#: part/annotationactionhandler.cpp:693 +#, fuzzy, kde-format +#| msgid "&Opacity:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "&Neprozirnost:" + +#: part/annotationactionhandler.cpp:696 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1:" + +#: part/annotationmodel.cpp:320 +#, fuzzy, kde-format +#| msgid "Page %1" +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "Stranica %1" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "Stranica %1" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "%1 tumačenje" +msgstr[1] "%1 tumačenja" +msgstr[2] "%1 tumačenja" +msgstr[3] "Tumačenje" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "&Otvori iskačuću belešku" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Ukloni obeleživač" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Dodaj obeleživač" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Text to Clipboard" +msgstr "Kopiraj u klipbord" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "DRM brani kopiranje" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "&Obriši" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "&Svojstva" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, fuzzy, kde-format +#| msgctxt "%1 is the name of the file to save" +#| msgid "&Save '%1'..." +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "&Sačuvaj ‘%1’..." + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "&Izgled" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "&Opšte" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&Autor:" + +#: part/annotationpropertiesdialog.cpp:69 +#, fuzzy, kde-format +#| msgid "Created" +msgid "Created:" +msgstr "Napravljen" + +#: part/annotationpropertiesdialog.cpp:74 +#, fuzzy, kde-format +#| msgid "Modified" +msgid "Modified:" +msgstr "Izmenjen" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "Svojstva iskačuće beleške" + +#: part/annotationpropertiesdialog.cpp:111 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgid "Typewriter Properties" +msgstr "Svojstva kapice" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "Svojstva utkane beleške" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "Svojstva prave linije" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "Svojstva poligona" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "Svojstva geometrije" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "Svojstva obeležavanja teksta" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "Svojstva pečata" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "Svojstva linije slobodnom rukom" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "Svojstva kapice" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "Svojstva priloženog fajla" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "Svojstva zvuka" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "Svojstva filma" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "Svojstva tumačenja" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Put a stamp symbol" +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "Simbol pečata" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&Boja:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%1:" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "&Neprozirnost:" + +#: part/annotationwidgets.cpp:363 +#, fuzzy, kde-format +#| msgid "Icon" +msgid "Icon:" +msgstr "Ikonica" + +# >> @item:inlistbox Icon +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "komentar" + +# >> @item:inlistbox Icon +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "pomoć" + +# >> @item:inlistbox Icon +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "umetanje" + +# >> @item:inlistbox Icon +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "taster" + +# >> @item:inlistbox Icon +#: part/annotationwidgets.cpp:368 +#, fuzzy, kde-format +#| msgid "New Paragraph" +msgid "New paragraph" +msgstr "novi pasus" + +# >! Needs context for listbox appearance +# >> @item:inlistbox Icon +# Држи велико слово док не добије контекст. +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "Beleška" + +# >> @item:inlistbox Icon +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "pasus" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Font:" + +#: part/annotationwidgets.cpp:387 +#, fuzzy, kde-format +#| msgid "&Color:" +msgid "Text &color:" +msgstr "&Boja:" + +#: part/annotationwidgets.cpp:394 +#, fuzzy, kde-format +#| msgid "Align:" +msgid "&Align:" +msgstr "Poravnanje:" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "levo" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "sredina" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "desno" + +#: part/annotationwidgets.cpp:405 +#, fuzzy, kde-format +#| msgid "Border Width:" +msgid "Border &width:" +msgstr "Širina ivice:" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "odobreno" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "kao što jeste" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "poverljivo" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "za odeljenje" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "nacrt" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "eksperimentalno" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:420 +#, fuzzy, kde-format +#| msgid "Expired" +msgid "Expired" +msgstr "isteklo" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "konačno" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "za komentarisanje" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "za javnost" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "nije odobreno" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "nije za javnost" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "prodato" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "strogo poverljivo" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "obeleživač" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "informacija" + +# >> @item:inlistbox Stamp Symbol +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, fuzzy, kde-format +#| msgid "Stamp Symbol" +msgid "Stamp symbol:" +msgstr "Simbol pečata" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, fuzzy, kde-format +#| msgid "&Pen Width:" +msgid "&Width:" +msgstr "Debljina &olovke:" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:514 +#, fuzzy, kde-format +#| msgctxt "Symbol for caret annotations" +#| msgid "None" +msgid "None" +msgstr "ništa" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "" + +# skip-rule: t-line +#: part/annotationwidgets.cpp:531 +#, fuzzy, kde-format +#| msgid "Leader Line Length:" +msgid "Leader line length:" +msgstr "Dužina izvodnice:" + +# skip-rule: t-line +#: part/annotationwidgets.cpp:533 +#, fuzzy, kde-format +#| msgid "Leader Line Extensions Length:" +msgid "Leader line extensions length:" +msgstr "Dužina produžetka izvodnice:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "" + +# >> @title:window +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, fuzzy, kde-format +#| msgid "Save file" +msgid "Shape fill:" +msgstr "Upisivanje fajla" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Tip:" + +# >> @item:inlistbox Highlight type +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "precrtano" + +#: part/annotationwidgets.cpp:745 +#, fuzzy, kde-format +#| msgid "File Attachment Symbol" +msgid "File attachment symbol:" +msgstr "Simbol za priloženi fajl" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "graf" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "pribadača" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "spajalica" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "oznaka" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "Fajl" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "Nije dostupno" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "Opis nije dostupan." + +#: part/annotationwidgets.cpp:773 +#, fuzzy, kde-format +#| msgid "&Name:" +msgid "Name:" +msgstr "&Ime:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "Opis:" + +#: part/annotationwidgets.cpp:843 +#, fuzzy, kde-format +#| msgid "Caret Symbol" +msgid "Caret symbol:" +msgstr "Simbol kapice" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "ništa" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "Zatvori ovu belešku" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "Opcije" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"Ovo tumačenje možda sadrži LaTeX kod.\n" +"Kliknite ovde da se izrenderuje." + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "Ne mogu da nađem naredbu „latex“." + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "Renderovanje LaTeXa nije uspelo" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "Ne mogu da nađem naredbu „dvipng“." + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "Bilo je problema pri izvršavanju naredbe „latex“." + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "Bilo je problema pri izvršavanju naredbe „dvipng“." + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"%2 obeleživač" +msgstr[1] "" +"%1\n" +"\n" +"%2 obeleživača" +msgstr[2] "" +"%1\n" +"\n" +"%2 obeleživača" +msgstr[3] "" +"%1\n" +"\n" +"Jedan obeleživač" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Obeleživači" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, fuzzy, kde-format +#| msgid "S&earch:" +msgid "Search…" +msgstr "&Traži:" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, kde-format +msgid "Expand All" +msgstr "" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, kde-format +msgid "Collapse All" +msgstr "" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "Idi na ovaj obeleživač" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "Preimenuj obeleživač" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Otvori dokument" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "" + +# >> @title:window +#: part/certificateviewer.cpp:47 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Certificate Viewer" +msgstr "Podešavanje prikazivača" + +#: part/certificateviewer.cpp:50 +#, fuzzy, kde-format +#| msgid "E&xport As" +msgid "Export…" +msgstr "I&zvezi kao" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "Opšte" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "" + +#: part/certificateviewer.cpp:159 +#, fuzzy, kde-format +#| msgid "Where do you want to save %1?" +msgid "Where do you want to save this certificate?" +msgstr "Gde želite da sačuvate ‘%1’?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "" + +#: part/colormodemenu.cpp:19 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "Režim boje:" + +#: part/colormodemenu.cpp:21 +#, fuzzy, kde-format +#| msgid "Change &colors" +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "Promeni &boje" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "" + +#: part/colormodemenu.cpp:41 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "Izvrni boje" + +#: part/colormodemenu.cpp:42 +#, fuzzy, kde-format +#| msgid "Change Paper Color" +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "Promeni boju papira" + +#: part/colormodemenu.cpp:44 +#, fuzzy, kde-format +#| msgid "Change Dark & Light Colors" +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "Izmeni tamne i svetle boje" + +#: part/colormodemenu.cpp:46 +#, fuzzy, kde-format +#| msgid "Convert to Black & White" +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "Pretvori u crno‑belo" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "crvena" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "zelena" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "plava" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "žuta" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "crna" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "bela" + +# >> @item:inlistbox Type of geometric annotation +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, fuzzy, kde-format +#| msgid "Highlighter" +msgid "Yellow Highlighter" +msgstr "isticač" + +# >> @item:inlistbox Type of geometric annotation +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, fuzzy, kde-format +#| msgid "Highlighter" +msgid "Green Highlighter" +msgstr "isticač" + +# >> @item:inlistbox Icon +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, fuzzy, kde-format +#| msgid "Insert" +msgid "Insert Text" +msgstr "umetanje" + +#: part/dlgaccessibility.cpp:38 +#, fuzzy, kde-format +#| msgid "Draw border around &Links" +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "Crtaj ivicu oko &veza" + +#: part/dlgaccessibility.cpp:48 +#, fuzzy, kde-format +#| msgid "Change &colors" +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "Promeni &boje" + +#: part/dlgaccessibility.cpp:54 +#, fuzzy, kde-format +#| msgid "Warning: these options can badly affect drawing speed." +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "Upozorenje: Ove opcije mogu loše uticati na brzinu iscrtavanja." + +#: part/dlgaccessibility.cpp:60 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "Izvrni boje" + +#: part/dlgaccessibility.cpp:61 +#, fuzzy, kde-format +#| msgid "Change Paper Color" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "Promeni boju papira" + +#: part/dlgaccessibility.cpp:62 +#, fuzzy, kde-format +#| msgid "Change Dark & Light Colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "Izmeni tamne i svetle boje" + +#: part/dlgaccessibility.cpp:63 +#, fuzzy, kde-format +#| msgid "Convert to Black & White" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "Pretvori u crno‑belo" + +#: part/dlgaccessibility.cpp:64 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "Izvrni boje" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "" + +#: part/dlgaccessibility.cpp:70 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "Režim boje:" + +#: part/dlgaccessibility.cpp:87 +#, fuzzy, kde-format +#| msgid "Paper color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Boja papira:" + +#: part/dlgaccessibility.cpp:99 +#, fuzzy, kde-format +#| msgid "Dark color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Tamna boja:" + +#: part/dlgaccessibility.cpp:104 +#, fuzzy, kde-format +#| msgid "Light color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "Svetla boja:" + +#: part/dlgaccessibility.cpp:119 +#, fuzzy, kde-format +#| msgid "Threshold:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "Prag:" + +#: part/dlgaccessibility.cpp:127 +#, fuzzy, kde-format +#| msgid "Contrast:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Kontrast:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "" + +#: part/dlgaccessibility.cpp:165 +#, fuzzy, kde-format +#| msgid "Text to search for" +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "Tekst koji se traži" + +#: part/dlgannotations.cpp:25 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Alatke tumačenja" + +#: part/dlgannotations.cpp:26 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Alatke tumačenja" + +#: part/dlgannotations.cpp:28 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Alatke tumačenja" + +#: part/dlgannotations.cpp:34 +#, fuzzy, kde-format +#| msgid "&Author:" +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "&Autor:" + +#: part/dlgannotations.cpp:38 +#, fuzzy, kde-format +#| msgid "" +#| "Note: the information here is used only for comments and reviews. " +#| "Information inserted here will not be transmitted without your knowledge." +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"Napomena: Ove informacije se koriste samo za komentare i preglede. " +"Neće biti poslate nikome bez vašeg znanja." + +# >> @title:window +#: part/dlgannotations.cpp:48 +#, fuzzy, kde-format +#| msgid "Edit annotation tool" +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

    Quick Annotation Tools

    " +msgstr "Uređivanje alatke tumačenja" + +#: part/dlgeditor.cpp:28 +#, fuzzy, kde-format +#| msgctxt "@info:whatsthis" +#| msgid "" +#| "Choose the editor you want to launch when Okular wants to open a source " +#| "file." +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" +"Izaberite uređivač koji biste želeli da koristite kad Okular hoće da otvori " +"izvorni fajl." + +#: part/dlgeditor.cpp:29 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Custom Text Editor" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "Poseban uređivač teksta" + +#: part/dlgeditor.cpp:30 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Kate" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Kile" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "SciTE" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Emacs client" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Emacs (klijent)" + +#: part/dlgeditor.cpp:34 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Lyx client" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "LyX (klijent)" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "" + +#: part/dlgeditor.cpp:37 +#, fuzzy, kde-format +#| msgid "Editor:" +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "Uređivač:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
    \n" +"You can also put few placeholders:\n" +"
      \n" +"
    • %f - the file name
    • \n" +"
    • %l - the line of the file to be reached
    • \n" +"
    • %c - the column of the file to be reached
    • \n" +"
    \n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"Podesi komandu posebnog uređivača teksta.
    \n" +"Takođe možete da stavite i nekoliko argumenata:\n" +"
      \n" +"
    • %f - ime fajla
    • \n" +"
    • %l - red fajla do kog treba doći
    • \n" +"
    • %c - kolona fajla do koje treba doći
    • \n" +"
    \n" +"Ako %f nije navedeno, ime fajla će biti nadovezano na navedenu naredbu.
    " + +#: part/dlgeditor.cpp:63 +#, fuzzy, kde-format +#| msgid "Command:" +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "Naredba:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "" + +#: part/dlggeneral.cpp:37 +#, fuzzy, kde-format +#| msgid "Appearance" +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "Izgled" + +#: part/dlggeneral.cpp:41 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "&Klizačke trake" + +#: part/dlggeneral.cpp:48 +#, fuzzy, kde-format +#| msgid "Link the &thumbnails with the page" +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "Poveži s&ličice sa stranicom" + +#: part/dlggeneral.cpp:55 +#, fuzzy, kde-format +#| msgid "Show &hints and info messages" +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "&Saveti i info poruke" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "" + +#: part/dlggeneral.cpp:68 +#, fuzzy, kde-format +#| msgid "Display document title in titlebar if available" +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "Naslov dokumenta u naslovnoj traci (ako ga ima)" + +#: part/dlggeneral.cpp:74 +#, fuzzy, kde-format +#| msgid "Display file name only" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "prikaži samo ime fajla" + +#: part/dlggeneral.cpp:75 +#, fuzzy, kde-format +#| msgid "Display full file path" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "prikaži celu putanju fajla" + +#: part/dlggeneral.cpp:77 +#, fuzzy, kde-format +#| msgid "When not displaying document title:" +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "Ako nema naslova dokumenta:" + +#: part/dlggeneral.cpp:92 +#, fuzzy, kde-format +#| msgid "Use custom background color" +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "Posebna pozadinska boja" + +#: part/dlggeneral.cpp:114 +#, fuzzy, kde-format +#| msgid "Program Features" +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "Mogućnosti programa" + +#: part/dlggeneral.cpp:121 +#, fuzzy, kde-format +#| msgid "Open new files in &tabs" +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "Otvaraj nove fajlove pod &jezičcima" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "" + +#: part/dlggeneral.cpp:139 +#, fuzzy, kde-format +#| msgid "&Obey DRM limitations" +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "P&oštuj DRM ograničenja" + +#: part/dlggeneral.cpp:148 +#, fuzzy, kde-format +#| msgid "&Reload document on file change" +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "Ponovo otvo&ri dokument prilikom promene fajla" + +#: part/dlggeneral.cpp:155 +#, fuzzy, kde-format +#| msgid "Show backend selection dialog" +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "Prikaži dijalog za izbor pozadine" + +#: part/dlggeneral.cpp:162 +#, fuzzy, kde-format +#| msgid "Right to left reading direction" +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "Smer čitanja zdesna ulevo" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, fuzzy, kde-format +#| msgid "Overview &columns:" +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "Kolone &pregleda:" + +#: part/dlggeneral.cpp:220 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%1:" + +#: part/dlggeneral.cpp:221 +#, fuzzy, kde-format +#| msgid "" +#| "Defines how much of the current viewing area will still be visible when " +#| "pressing the Page Up/Down keys." +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" +"Određuje koliko će od trenutno prikazanog područja ostati vidljivo po " +"pritisku na taster PageUp ili PageDown." + +#: part/dlggeneral.cpp:223 +#, fuzzy, kde-format +#| msgid "&Page Up/Down overlap:" +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "Preklapanje na PageUp/PageDown:" + +#: part/dlggeneral.cpp:228 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%1:" + +#: part/dlggeneral.cpp:232 +#, fuzzy, kde-format +#| msgid "100%" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "100%" + +#: part/dlggeneral.cpp:233 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "uklopljena širina" + +#: part/dlggeneral.cpp:234 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "uklopljena stranica" + +#: part/dlggeneral.cpp:235 +#, fuzzy, kde-format +#| msgid "Auto Fit" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "uklopljeno automatski" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "" + +#: part/dlggeneral.cpp:237 +#, fuzzy, kde-format +#| msgid "" +#| "Defines the default zoom mode for files which were never opened before.\n" +#| "For files which were opened before the previous zoom is applied." +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" +"Određuje podrazumevani režim uveličanja za prvi put otvorene fajlove.\n" +"Na fajlove koji su ranije otvarani primenjuje se prethodno uveličanje." + +#: part/dlggeneral.cpp:241 +#, fuzzy, kde-format +#| msgid "&Default Zoom:" +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "&Podrazumevano uveličanje:" + +#: part/dlgperformance.cpp:26 +#, fuzzy, kde-format +#| msgid "Enable &transparency effects" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "Uključi efekte &providnosti" + +#: part/dlgperformance.cpp:28 +#, fuzzy, kde-format +#| msgid "CPU Usage" +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "Iskorišćenje CPU‑a" + +#: part/dlgperformance.cpp:35 +#, fuzzy, kde-format +#| msgid "&Low" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "&nisko" + +#: part/dlgperformance.cpp:36 +#, fuzzy, kde-format +#| msgid "Nor&mal (default)" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "&normalno (podrazumevano)" + +#: part/dlgperformance.cpp:37 +#, fuzzy, kde-format +#| msgid "Aggr&essive" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "&agresivno" + +#: part/dlgperformance.cpp:38 +#, fuzzy, kde-format +#| msgid "G&reedy" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "&pohlepno" + +#: part/dlgperformance.cpp:40 +#, fuzzy, kde-format +#| msgid "Memory Usage" +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "Iskorišćenje memorije" + +#: part/dlgperformance.cpp:54 +#, fuzzy, kde-format +#| msgid "Enable Text Antialias" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "Omekšavanje teksta" + +#: part/dlgperformance.cpp:56 +#, fuzzy, kde-format +#| msgid "Rendering" +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "Renderovanje" + +#: part/dlgperformance.cpp:59 +#, fuzzy, kde-format +#| msgid "Enable Graphics Antialias" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "Omekšavanje grafike" + +#: part/dlgperformance.cpp:64 +#, fuzzy, kde-format +#| msgid "Enable Text Hinting" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "Navođenje teksta" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"Koristi što je manje memorije moguće. Ne koristi ništa ponovo. (Za sisteme " +"sa malo memorije.)" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"Dobar kompromis između iskorišćenja memorije i dobitka u brzini. Predučitava " +"sledeću stranicu i ubrzava pretrage. (Tipično za sisteme sa 2 GB memorije.)" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"Drži sve u memoriji. Predučitava sledeće stranice i ubrzava pretrage. (Za " +"sisteme sa više od 4 GB memorije.)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" +"Učitava i zadržava sve u memoriji. Predučitava sve stranice. (Upotrebiće " +"najviše 50% od ukupne memorije ili od slobodne memorije, šta je veće.)" + +#: part/dlgpresentation.cpp:38 +#, fuzzy, kde-format +#| msgctxt "Advance every %1 seconds" +#| msgid " second" +#| msgid_plural " seconds" +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] " sek." +msgstr[1] " sek." +msgstr[2] " sek." +msgstr[3] " sek." + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "" + +#: part/dlgpresentation.cpp:53 +#, fuzzy, kde-format +#| msgid "Loop after last page" +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "U krug posle zadnje stranice" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "" + +#: part/dlgpresentation.cpp:63 +#, fuzzy, kde-format +#| msgid "Navigation" +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Navigacija" + +#: part/dlgpresentation.cpp:72 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "Pozadinska boja:" + +#: part/dlgpresentation.cpp:76 +#, fuzzy, kde-format +#| msgid "Hidden After Delay" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "skriven posle zastoja" + +#: part/dlgpresentation.cpp:77 +#, fuzzy, kde-format +#| msgid "Always Visible" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "uvek vidljiv" + +#: part/dlgpresentation.cpp:78 +#, fuzzy, kde-format +#| msgid "Always Hidden" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "uvek skriven" + +#: part/dlgpresentation.cpp:80 +#, fuzzy, kde-format +#| msgid "Mouse cursor:" +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "Pokazivač miša:" + +#: part/dlgpresentation.cpp:84 +#, fuzzy, kde-format +#| msgid "Show &progress indicator" +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "Prikaži pokazatelj &napretka" + +#: part/dlgpresentation.cpp:90 +#, fuzzy, kde-format +#| msgid "Show s&ummary page" +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "Prikaži stranicu &sažetka" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "" + +#: part/dlgpresentation.cpp:101 +#, fuzzy, kde-format +#| msgid "Replace" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "zamena" + +#: part/dlgpresentation.cpp:102 +#, fuzzy, kde-format +#| msgid "Random Transition" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "slučajan prelaz" + +#: part/dlgpresentation.cpp:103 +#, fuzzy, kde-format +#| msgid "Blinds Vertical" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "zakloni uspravni" + +#: part/dlgpresentation.cpp:104 +#, fuzzy, kde-format +#| msgid "Blinds Horizontal" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "zakloni vodoravni" + +#: part/dlgpresentation.cpp:105 +#, fuzzy, kde-format +#| msgid "Box In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "kutija u" + +#: part/dlgpresentation.cpp:106 +#, fuzzy, kde-format +#| msgid "Box Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "kutija iz" + +#: part/dlgpresentation.cpp:107 +#, fuzzy, kde-format +#| msgid "Dissolve" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "razlaganje" + +#: part/dlgpresentation.cpp:108 +#, fuzzy, kde-format +#| msgid "Fade" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "pretapanje" + +#: part/dlgpresentation.cpp:109 +#, fuzzy, kde-format +#| msgid "Glitter Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "svetlucanje nadole" + +#: part/dlgpresentation.cpp:110 +#, fuzzy, kde-format +#| msgid "Glitter Right" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "svetlucanje udesno" + +#: part/dlgpresentation.cpp:111 +#, fuzzy, kde-format +#| msgid "Glitter Right-Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "svetlucanje udesno‑nadole" + +#: part/dlgpresentation.cpp:112 +#, fuzzy, kde-format +#| msgid "Split Horizontal In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "podela vodoravna u" + +#: part/dlgpresentation.cpp:113 +#, fuzzy, kde-format +#| msgid "Split Horizontal Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "podela vodoravna iz" + +#: part/dlgpresentation.cpp:114 +#, fuzzy, kde-format +#| msgid "Split Vertical In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "podela uspravna u" + +#: part/dlgpresentation.cpp:115 +#, fuzzy, kde-format +#| msgid "Split Vertical Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "podela uspravna iz" + +#: part/dlgpresentation.cpp:116 +#, fuzzy, kde-format +#| msgid "Wipe Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "brisanje nadole" + +#: part/dlgpresentation.cpp:117 +#, fuzzy, kde-format +#| msgid "Wipe Right" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "brisanje udesno" + +#: part/dlgpresentation.cpp:118 +#, fuzzy, kde-format +#| msgid "Wipe Left" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "brisanje ulevo" + +#: part/dlgpresentation.cpp:119 +#, fuzzy, kde-format +#| msgid "Wipe Up" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "brisanje nagore" + +#: part/dlgpresentation.cpp:121 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Podrazumevani prelaz:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "" + +#: part/dlgpresentation.cpp:137 +#, fuzzy, kde-format +#| msgid "Drawing Tool: %1" +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

    Drawing Tools

    " +msgstr "Alatka crtanja: %1" + +#: part/dlgpresentation.cpp:171 +#, fuzzy, kde-format +#| msgctxt "@label:listbox The current screen, for the presentation mode" +#| msgid "Current Screen" +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Trenutni ekran" + +#: part/dlgpresentation.cpp:172 +#, fuzzy, kde-format +#| msgctxt "@label:listbox The default screen for the presentation mode" +#| msgid "Default Screen" +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Podrazumevani ekran" + +#: part/dlgpresentation.cpp:178 +#, fuzzy, kde-format +#| msgctxt "@label:listbox %1 is the screen number (0, 1, ...)" +#| msgid "Screen %1" +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "Ekran %1" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "Alatka crtanja: %1" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "Brisač" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "&Ime:" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "&Tip:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "Izgled" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "Obeležavanje teksta" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "Geometrijski oblik" + +# >> @title:window +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "Stvaranje alatke tumačenja" + +# >> @title:window +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "Uređivanje alatke tumačenja" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "Boja:" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "Debljina &olovke:" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "" + +# >> @title:window +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "Stvaranje alatke crtanja" + +# >> @title:window +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "Uređivanje alatke crtanja" + +# >> @item:intext +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "nepoznat" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Ugnežđeni fajlovi" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "Prikaži" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "ime" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "opis" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "veličina" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "napravljeno" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "izmenjeno" + +# >> @title:window +#: part/embeddedfilesdialog.cpp:154 +#, fuzzy, kde-format +#| msgid "Save As" +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "Upisivanje kao" + +#: part/embeddedfilesdialog.cpp:155 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "&Prikaz" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "Ne mogu da učitam deo za pregled pred štampanje" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "Pregled pred štampanje" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "Zatvori" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "&Nađi" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "Tekst koji se traži" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Sledeće" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "Skoči na sledeće poklapanje" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Prethodno" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "Skoči na prethodno poklapanje" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "Izmeni ponašanje pretrage" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "Razlikuj veličinu slova" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "Od tekuće stranice" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "Traži dok kucam" + +# >> @item +#: part/formwidgets.cpp:870 +#, fuzzy, kde-format +#| msgid "All files (*)" +msgid "All Files (*)" +msgstr "svi fajlovi (*)" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgid "Signature Properties" +msgstr "Svojstva kapice" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "Opcije pretrage" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "Razlikuj veličinu slova" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "Regularni izraz" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "Slojevi" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "od" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "Uveličaj" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "Rotiraj u&desno" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "Udesno" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "Rotiraj u&levo" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "Ulevo" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "Prvobitna orijentacija" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "&Saseci prikaz" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "&Saseci margine" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "Saseci na &izbor" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "Uklopi &širinu" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "Uklopi &stranicu" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "Uklopi &automatski" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "Uklopi prozor na &stranicu" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "Režim &prikaza" + +#: part/pageview.cpp:594 +#, fuzzy, kde-format +#| msgid "Single Page" +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "Jedna stranica" + +#: part/pageview.cpp:595 +#, fuzzy, kde-format +#| msgid "Facing Pages" +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "Naspramne stranice" + +#: part/pageview.cpp:596 +#, fuzzy, kde-format +#| msgid "Facing Pages (Center First Page)" +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "Naspramne stranice (prva centrirana)" + +#: part/pageview.cpp:599 +#, fuzzy, kde-format +#| msgid "Overview" +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "Pregled" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "&Bez prekida" + +#: part/pageview.cpp:618 +#, fuzzy, kde-format +#| msgid "Right to left reading direction" +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "Smer čitanja zdesna ulevo" + +#: part/pageview.cpp:627 +#, fuzzy, kde-format +#| msgctxt "Browse Tool" +#| msgid "Browse" +msgid "&Browse" +msgstr "Pregledaj" + +#: part/pageview.cpp:635 +#, fuzzy, kde-format +#| msgid "Zoom" +msgid "&Zoom" +msgstr "Uveličaj" + +#: part/pageview.cpp:655 +#, fuzzy, kde-format +#| msgctxt "Text Selection Tool" +#| msgid "Text Selection" +msgid "Area &Selection" +msgstr "Izbor teksta" + +#: part/pageview.cpp:662 +#, fuzzy, kde-format +#| msgctxt "Text Selection Tool" +#| msgid "Text Selection" +msgid "&Text Selection" +msgstr "Izbor teksta" + +#: part/pageview.cpp:669 +#, fuzzy, kde-format +#| msgctxt "Table Selection Tool" +#| msgid "Table Selection" +msgid "T&able Selection" +msgstr "Izbor tabele" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "&Uveličavač" + +#: part/pageview.cpp:685 +#, fuzzy, kde-format +#| msgid "Selection Tools" +msgctxt "@action" +msgid "Selection Tools" +msgstr "Alatke izbora" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "Izgovori ceo dokument" + +#: part/pageview.cpp:722 +#, fuzzy, kde-format +#| msgid "Speak Current Page" +msgid "Speak From Current Page" +msgstr "Izgovori tekuću stranicu" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "Izgovori tekuću stranicu" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "Prestani da govoriš" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "Klizaj nagore" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Klizaj nadole" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "Klizaj stranicu nagore" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "Klizaj stranicu nadole" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "Prikaži formulare" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] " Učitan je dokument sa %1 stranicom." +msgstr[1] " Učitan je dokument sa %1 stranice." +msgstr[2] " Učitan je dokument sa %1 stranica." +msgstr[3] " Učitan je dokument sa jednom stranicom." + +#: part/pageview.cpp:2526 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Table Contents to Clipboard" +msgstr "Kopiraj u klipbord" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "Tekst (%1 znak)" +msgstr[1] "Tekst (%1 znaka)" +msgstr[2] "Tekst (%1 znakova)" +msgstr[3] "Tekst (1 znak)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "Kopiraj u klipbord" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "Izgovori tekst" + +#: part/pageview.cpp:2863 +#, fuzzy, kde-format +#| msgid "Image (%1 by %2 pixels)" +msgid "Image (%1 × %2 pixels)" +msgstr "Slika (%1×%2 piksela)" + +#: part/pageview.cpp:2865 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save to File…" +msgstr "Sačuvaj u fajl..." + +#: part/pageview.cpp:2885 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] copied to clipboard." +msgid "Image [%1 × %2] copied to clipboard." +msgstr "Slika [%1×%2] kopirana je u klipbord." + +# >> @title:window +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "Upisivanje fajla" + +# >> @item +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "slike (*.png *.jpeg)" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "Fajl nije sačuvan." + +#: part/pageview.cpp:2901 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] saved to %3 file." +msgid "Image [%1 × %2] saved to %3 file." +msgstr "Slika [%1×%2] sačuvana je u fajl ‘%3’." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "Kopiraj tekst" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "Idi na „%1“" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "uklopljena širina" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "uklopljena stranica" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "uklopljeno automatski" + +#: part/pageview.cpp:4107 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1:" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "Potraži „%1“ pomoću" + +#: part/pageview.cpp:4404 +#, fuzzy, kde-format +#| msgid "Configure Web Shortcuts..." +msgid "Configure Web Shortcuts…" +msgstr "Podesi veb prečice..." + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "Prati ovu vezu" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "Odsviraj ovaj zvuk" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "Ugasi zvuk" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "Kopiraj adresu veze" + +#: part/pageview.cpp:4462 +#, fuzzy, kde-format +#| msgid "Search for '%1' with" +msgid "Search for '%1' in this document" +msgstr "Potraži „%1“ pomoću" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Dobro došli" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "Izaberite oblast uveličanja. Kliknite desnim za umanjenje." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "Kliknite za uveličan prikaz." + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "Iscrtajte pravougaonik oko teksta/grafike za kopiranje." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "Izaberi tekst" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" +"Iscrtajte pravougaonik oko tabele, pa klikćite blizu ivica da je izdelite; " +"pritisnite Esc da očistite." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" + +# >> @title:window +#: part/pageview.cpp:5188 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "No valid certificates" +msgstr "Podešavanje prikazivača" + +# >> @title:window +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Open Certificate Manager" +msgstr "Podešavanje prikazivača" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
    Launch Certificate Manager " +"to import or manage certificates
    For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" + +# >> @title:window +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "No certificates found" +msgstr "Podešavanje prikazivača" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
    For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "" + +# >> @info +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "Iscrtajte pravougaonik oko dela stranice koji želite da bude vidljiv." + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "Tekst nove beleške" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "Tekst nove beleške:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgid "Author" +msgid "Author name" +msgstr "Autor" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgctxt "Add an annotation to the page" +#| msgid "add annotation" +msgid "Author name for the annotation:" +msgstr "Dodaj tumačenje" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "Elipsa (vucite da izaberete zonu)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "Isticanje teksta" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "Linija slobodnom rukom" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "Utkano tekstualno tumačenje (vucite da izaberete zonu)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "Iskačuća beleška" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "Poligon (kliknite na prvu tačku da ga zatvorite)" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "Pravougaonik" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "Talasasto po tekstu" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "Simbol pečata" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "Prava linija" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "Precrtan tekst" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "Podvučen tekst" + +#: part/pageviewannotator.cpp:1414 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Inline Text Annotation (drag to select a zone)" +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "Utkano tekstualno tumačenje (vucite da izaberete zonu)" + +# >> @item:inlistbox Type of geometric annotation +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "isticač" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgctxt "Add an annotation to the page" +#| msgid "add annotation" +msgid "Add favorite annotation" +msgstr "Dodaj tumačenje" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgctxt "Change an annotation's size" +#| msgid "adjust annotation" +msgid "Custom annotation name:" +msgstr "Namesti tumačenje" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&Fajl" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "&Podešavanje" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "&Pomoć" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "&Orijentacija" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "&Obeleživači" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "Traka prikazivača" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Sličice" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "Tumačenja" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
    Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" +"Ova dokument sadrži tumačenja ili podatke formulara sačuvane interno nekim " +"prethodnim izdanjem Okulara. Interno skladištenje više nije podržano." +"
    Sačuvajte u fajl da biste ih premestili ako želite da nastavite sa " +"uređivanjem dokumenta." + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"Ovaj dokument sadrži ugnežđene fajlove. Kliknite ovde da ih vidite ili idite do Fajl→Ugnežđeni fajlovi." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "Prethodna" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "Vrati se na prethodnu stranicu" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "Pomera na prethodnu stranicu dokumenta" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "Sledeća" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "Produži na sledeću stranicu" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "Pomera na sledeću stranicu dokumenta" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "Početak dokumenta" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "Pomera na početak dokumenta" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "Kraj dokumenta" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "Pomera na kraj dokumenta" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "Preimenuj tekući obeleživač" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "Prethodni obeleživač" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "Idi na prethodni obeleživač" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "Sledeći obeleživač" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "Idi na sledeći obeleživač" + +#: part/part.cpp:748 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgid "Configure Okular…" +msgstr "Podesi Okular..." + +# >> @title:window +#: part/part.cpp:751 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Configure Viewer…" +msgstr "Podešavanje prikazivača" + +# >> @title:window +#: part/part.cpp:757 +#, fuzzy, kde-format +#| msgid "Configure Viewer Backends" +msgid "Configure Viewer Backends…" +msgstr "Podešavanje prikazivačkih pozadina" + +# >> @title:window +#: part/part.cpp:759 +#, fuzzy, kde-format +#| msgid "Configure Backends" +msgid "Configure Backends…" +msgstr "Podešavanje pozadina" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "O pozadini" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "&Ponovo učitaj" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "Učitaj dokument ponovo sa diska." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "Zatvori traku za &pretragu" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "Broj stranice" + +#: part/part.cpp:817 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "Podesi Okular..." + +#: part/part.cpp:858 +#, fuzzy, kde-format +#| msgid "Speak Current Page" +msgid "Select All Text on Current Page" +msgstr "Izgovori tekuću stranicu" + +#: part/part.cpp:871 +#, fuzzy, kde-format +#| msgid "Show &Page Bar" +msgid "Show S&idebar" +msgstr "Prikaži &traku stranica" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "Prikaži &traku stranica" + +#: part/part.cpp:886 +#, fuzzy, kde-format +#| msgid "Show &Navigation Panel" +msgid "Show &Signatures Panel" +msgstr "Prikaži &navigacioni panel" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "&Ugnežđeni fajlovi" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "I&zvezi kao" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "Po&deli" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "&Prezentacija" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "" + +#: part/part.cpp:945 +#, fuzzy, kde-format +#| msgid "&Import PostScript as PDF..." +msgid "&Import PostScript as PDF…" +msgstr "&Uvezi PostScript kao PDF..." + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "Režim crnog ekrana" + +#: part/part.cpp:957 +#, fuzzy, kde-format +#| msgid "Erase Drawings" +msgid "Erase Drawing" +msgstr "Izbriši crteže" + +#: part/part.cpp:962 +#, fuzzy, kde-format +#| msgid "Configure Annotations..." +msgid "Configure Annotations…" +msgstr "Podesi tumačenja..." + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "Pusti/pauziraj prezentaciju" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" + +#: part/part.cpp:1123 +#, fuzzy, kde-format +#| msgid "Document Password" +msgid "Document can't be saved" +msgstr "Lozinka dokumenta" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "Ne mogu da otvorim „%1“ (%2)" + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "Učitavanje %1 je otkazano." + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "Ne mogu da otvorim „%1“. Razlog: %2" + +# >> @title:window +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "Podešavanje prikazivačkih pozadina" + +# >> @title:window +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "Podešavanje pozadina" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"Naredba ‘ps2pdf’ nije nađena, pa Okular ne može da uveze PS fajlove pomoću " +"nje." + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "‘ps2pdf’ nije nađena" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "PostScript fajlovi (%1)" + +#: part/part.cpp:1357 +#, fuzzy, kde-format +#| msgid "Importing PS file as PDF (this may take a while)..." +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "Uvozim PS fajl kao PDF (može da potraje)..." + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "Unesite lozinku za čitanje dokumenta:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "Netačna lozinka. Pokušajte ponovo:" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "Lozinka dokumenta" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "Ovaj dokument ima XFA formulare, koji trenutno nisu podržani." + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"Ovaj dokument sadrži formulare. Kliknite na dugme da interagujete sa njima " +"ili koristite „Prikaz→Prikaži formulare“." + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "" + +#: part/part.cpp:1739 +#, fuzzy, kde-format +#| msgid "Exit Presentation Mode" +msgid "Enter Presentation Mode" +msgstr "Izađi iz režima prezentacije" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "" + +#: part/part.cpp:1830 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not open %1. %2" +msgstr "Ne mogu da otvorim ‘%1’" + +#: part/part.cpp:1860 +#, fuzzy, kde-kuit-format +#| msgid "" +#| "There are unsaved changes, and the file '%1' has been modified by another " +#| "program. Your changes will be lost, because the file can no longer be " +#| "saved.
    Do you want to continue reloading the file?" +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" +"Fajl „%1“ ima nesačuvanih izmena a i izmenio ga je drugi program. " +"Izmene će biti izgubljene zato što fajl više ne može da se sačuva.
    Želite li da nastavite sa ponovnim učitavanjem?" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "Fajl izmenjen" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "Nastavi učitavanje" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "Obustavi učitavanje" + +#: part/part.cpp:1870 +#, fuzzy, kde-kuit-format +#| msgid "" +#| "There are unsaved changes, and the file '%1' has been modified by another " +#| "program. Your changes will be lost, because the file can no longer be " +#| "saved.
    Do you want to continue closing the file?" +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" +"Fajl „%1“ ima nesačuvanih izmena a i izmenio ga je drugi program. " +"Izmene će biti izgubljene zato što fajl više ne može da se sačuva.
    Želite li da nastavite sa zatvaranjem?" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "Nastavi zatvaranje" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "Obustavi zatvaranje" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "Želite li da sačuvate izmene u „%1“ ili da ih odbacite?" + +# >> @title:window +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "Zatvaranje dokumenta" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"Ova veza pokazuje na radnju zatvaranja dokumenta koja ne radi kada se " +"koristi ugnežđeni prikazivač." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"Ova veza pokazuje na radnju napuštanja programa koja ne radi kada se koristi " +"ugnežđeni prikazivač." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Reloading the document…" +msgstr "Ponovo učitavam dokument..." + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "Sadržaj" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Idi na stranicu" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "S&tranica:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "Unesite ime novog obeleživač:" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "Preimenuj ovaj obeleživač" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "Ukloni ovaj obeleživač" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +# >> @title:window +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "Upisivanje kao" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "Upozorenje o upisivanju" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
    In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" +"Trenutni dokument je zaštićen lozinkom.
    Da biste ga sačuvali, " +"fajl mora ponovo da se učita. Ponovo će vam biti zatražena lozinka i " +"izgubićete istorijate opoziva i ponavljanja.
    Želite li da nastavite?" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "Ne mogu da otvorim privremeni fajl za upisivanje." + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" +"Pošto ga sačuvate, format trenutnog dokumenta zahteva da se fajl " +"ponovo učita. Izgubićete istorijat opoziva i ponavljanja.
    Želite li da " +"nastavite?" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "" +"Fajl nije mogao biti sačuvan u ‘%1’. Pokušajte da ga sačuvate na drugom " +"mestu." + +# >> @item +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "sadržaj popunjenih formulara" + +# >> @item +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "korisnička tumačenja" + +# ! За трапнакрон, МИМЕ-типови: Okular document archive +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" +"Pošli ste da sačuvate izmene, ali format trenutnog fajl ne podržava " +"upisivanje narednih elemenata. Upotrebite format Okularova arhiva " +"dokumenata da ih ne izgubite." + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "Upozorenje" + +# ! За трапнакрон, МИМЕ-типови: Okular document archive +#: part/part.cpp:2779 part/part.cpp:2801 +#, fuzzy, kde-format +#| msgid "Save as Okular document archive..." +msgid "Save as Okular document archive…" +msgstr "Sačuvaj kao Okularovu arhivu dokumenata..." + +# ! За трапнакрон, МИМЕ-типови: Okular document archive +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" +"Pošli ste da sačuvate izmene, ali format trenutnog fajl ne podržava " +"upisivanje narednih elemenata. Upotrebite format Okularova arhiva " +"dokumenata da ih ne izgubite. Kliknite na Nastavi da sačuvate " +"dokument i odbacite ove elemente." + +# ! За трапнакрон, МИМЕ-типови: Okular document archive +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" +"Pošli ste da sačuvate izmene, ali format trenutnog fajl ne podržava " +"upisivanje narednih elemenata. Upotrebite format Okularova arhiva " +"dokumenata da ih ne izgubite. Kliknite na Nastavi uz gubljenje " +"izmena da sačuvate svejedno, ali ćete izgubiti ove elemente kao i " +"istorijat opoziva i ponavljanja." + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "Nastavi" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "Nastavi uz gubljenje izmena" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "Fajl ne može da se sačuva u '%1'. %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"Okular ne može da kopira %1 na zadato mesto.\n" +"\n" +"Dokument više ne postoji." + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" +"Fajl nije mogao biti sačuvan u ‘%1’. Greška: ‘%2’. Pokušajte da ga sačuvate " +"na drugom mestu." + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "End Presentation" +msgid "Expand Whole Section" +msgstr "Završi prezentaciju" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "End Presentation" +msgid "Collapse Whole Section" +msgstr "Završi prezentaciju" + +#: part/part.cpp:3172 +#, fuzzy, kde-format +#| msgid "Link the &thumbnails with the page" +msgid "Sync Thumbnail with Page" +msgstr "Poveži s&ličice sa stranicom" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Alatke" + +#: part/part.cpp:3381 +#, fuzzy, kde-format +#| msgid "Speak Text" +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "Izgovori tekst" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "Štampanje" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "Štampanje ovog dokumenta nije dozvoljeno." + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"Ne mogu da odštampam dokument. Nepoznata greška. Prijavite ovo na bugs.kde." +"org." + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"Ne mogu da odštampam dokument. Greška je „%1“. Prijavite ovo na bugs.kde.org." + +# >> @info:whatsthis +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "Idite na mesto na kome ste bili pre." + +# >> @info:whatsthis +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "Idite na mesto na kome ste bili posle." + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"Greška fajla! Ne mogu da napravim privremeni fajl " +"%1." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"Greška fajla! Ne mogu da otvorim fajl %1 zarad raspakivanja. Fajl neće biti učitan." + +#: part/part.cpp:3751 +#, fuzzy, kde-format +#| msgid "" +#| "This error typically occurs if you do not have enough permissions to " +#| "read the file. You can check ownership and permissions if you right-click " +#| "on the file in the Dolphin file manager and then choose the 'Properties' " +#| "tab." +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"Do ove greške obično dolazi ako nemate dovoljno dozvola za čitanje " +"fajla. Vlasništvo i dozvole možete da proverite ako kliknete desnim na fajl " +"u menadžeru fajlova Dolphinu i izaberete jezičak Svojstva." + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"Greška fajla! Ne mogu da raspakujem %1. Fajl neće biti učitan." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"Ova greška se obično javlja ako je fajl pokvaren. Ako želite da budete " +"sigurni, pokušajte da ga raspakujete ručno pomoću naredbi iz komandne linije." +"" + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "Nema obeleživača" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "Problem pri deljenju dokumenta: %1" + +# >> @title:window +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "Deljenje" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "Dokument uspešno podeljen." + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "Podeljeni dokument možete naći na: %1" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "&Uređivanje" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "&Prikaz" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&Kretanje" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "&Alatke" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "Glavna traka" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgid "Annotation Toolbar" +msgstr "Alatke tumačenja" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, fuzzy, kde-format +#| msgid "Annotation tools" +msgid "Quick Annotation Toolbar" +msgstr "Alatke tumačenja" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "Opšte opcije" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Pristupačnost" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "Pomoći za čitanje" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Performanse" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "Štelovanje performansi" + +# >> @title:window +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "Podešavanje prikazivača" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Prezentacija" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "Opcije za režim prezentacije" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "Opcije tumačenja" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "Uređivač" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "Opcije uređivača" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "Naći sledeće" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 – prezentacija" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "Promeni ekran" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "Ekran %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "Izađi iz režima prezentacije" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Naslov: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Stranice: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "Kliknite da počnete" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "Pauziraj" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "Pusti" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"Postoje dva načina da se izađe iz režima prezentacije. Možete pritisnuti " +"taster Esc; ili kliknuti na dugme za napuštanje koje se pojavljuje kad " +"pokazivač miša dovedete u gornji desni ugao. Naravno, možete i kružiti kroz " +"prozore (podrazumevano je Alt+Tab)." + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "Prezentacija u toku" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "Nepoznat fajl" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "Svojstva %1" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "&Fontovi" + +#: part/propertiesdialog.cpp:145 +#, fuzzy, kde-format +#| msgid "Reading font information..." +msgid "Reading font information…" +msgstr "Čitam informacije o fontu..." + +#: part/propertiesdialog.cpp:158 +#, fuzzy, kde-format +#| msgid "&Page Size" +msgid "&Page Sizes" +msgstr "&Veličina stranice" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "&Izvadi font" + +# >> @item:intext +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Type1" + +# >> @item:intext +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Type1C" + +# >> @item:intext +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "Type1C (OT)" + +# >> @item:intext +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Type3" + +# >> @item:intext +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "Truetype" + +# >> @item:intext +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "Truetype (OT)" + +# >> @item:intext +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID Type0" + +# >> @item:intext +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID Type0C" + +# >> @item:intext +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID Type0C (OT)" + +# >> @item:intext +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID Truetype" + +# >> @item:intext +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID Truetype (OT)" + +# >> @item:intext +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "TeX‑ov PK" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "TeX‑ov virtuelni" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "TeX‑ova metrika fonta" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "TeX‑ov preko FreeTypea" + +# >> @item:intext Unknown font type +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "nepoznat" + +# >> @item:intext Font source +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "ugnežđen (podskup)" + +# >> @item:intext Font source +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "potpuno ugnežđen" + +# >> @item:intext Embedded: No +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "ne" + +# >> @item:intext Embedded: Yes (subset) +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "da (podskup)" + +# >> @item:intext Embedded: Yes +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "da" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "ne postoji" + +# >> @title Font name as tooltip header +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "Nepoznat font" + +# >> @label Font is embedded: yes/no/... +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "Ugnežđen: %1" + +# >> @title:column +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "ime" + +# >> @title:column +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "tip" + +# >> @title:column +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "fajl" + +#: part/propertiesdialog.cpp:498 +#, fuzzy, kde-format +#| msgid "Pages" +msgid "Page" +msgstr "Stranica" + +#: part/propertiesdialog.cpp:501 +#, fuzzy, kde-format +#| msgctxt "@title:column" +#| msgid "Size" +msgid "Size" +msgstr "veličina" + +#: part/revisionviewer.cpp:41 +#, fuzzy, kde-format +#| msgid "Print Preview" +msgid "Revision Preview" +msgstr "Pregled pred štampanje" + +#: part/revisionviewer.cpp:53 +#, fuzzy, kde-format +#| msgid "Where do you want to save %1?" +msgid "Where do you want to save this revision?" +msgstr "Gde želite da sačuvate ‘%1’?" + +#: part/revisionviewer.cpp:56 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not save file %1." +msgstr "Ne mogu da otvorim ‘%1’" + +#: part/revisionviewer.cpp:75 +#, fuzzy, kde-format +#| msgid "Could not open %1. Reason: %2" +msgid "Could not view revision." +msgstr "Ne mogu da otvorim „%1“. Razlog: %2" + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "Unesite bar tri slova za filtriranje stranica" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "Razlikuj veličinu slova" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "Poklopi frazu" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "Poklopi sve reči" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "Poklopi neku reč" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "Opcije filtera" + +# >> @title:window +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Certificates" +msgstr "Podešavanje prikazivača" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "" + +# >> @title:window +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "Only QES certificates" +msgstr "Podešavanje prikazivača" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, fuzzy, kde-format +#| msgid "Options" +msgid "optional" +msgstr "Opcije" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Location:" +msgstr "%1 tumačenje" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, fuzzy, kde-format +#| msgid "Background color:" +msgid "Background:" +msgstr "Pozadinska boja:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, fuzzy, kde-format +#| msgid "Use custom background color" +msgid "Recent backgrounds:" +msgstr "Posebna pozadinska boja" + +#: part/side_reviews.cpp:66 +#, fuzzy, kde-format +#| msgid "" +#| "

    No annotations

    To create new annotations press " +#| "F6 or select Tools -> Review from the menu.
    " +msgid "" +"

    No annotations

    To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
    " +msgstr "" +"

    Nema tumačenja

    Da biste napravili novo tumačenje " +"pritisnite F6 ili izaberite Alatke→Pregled iz menija.
    " + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "Grupiši po stranicama" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "Grupiši po autoru" + +#: part/side_reviews.cpp:155 +#, fuzzy, kde-format +#| msgid "Show reviews for current page only" +msgid "Show annotations for current page only" +msgstr "Prikaži preglede samo za tekuću stranicu" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "" + +#: part/signaturepanel.cpp:101 +#, fuzzy, kde-format +#| msgid "&Properties" +msgid "Properties" +msgstr "&Svojstva" + +#: part/signaturepartutils.cpp:180 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Stranice: %1" + +#: part/signaturepartutils.cpp:181 +#, fuzzy, kde-format +#| msgid "Use custom background color" +msgid "Select background image" +msgstr "Posebna pozadinska boja" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "" + +#: part/signaturepartutils.cpp:244 +#, fuzzy, kde-format +#| msgid "Document Password" +msgid "Enter document password" +msgstr "Lozinka dokumenta" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "" + +# >> @item:inlistbox Stamp Symbol +#: part/signaturepropertiesdialog.cpp:63 +#, fuzzy, kde-format +#| msgid "Information" +msgid "Additional Information" +msgstr "informacija" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:83 +#, fuzzy, kde-format +#| msgid "Document Password" +msgid "Document Version" +msgstr "Lozinka dokumenta" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "" + +# >> @title:window +#: part/signaturepropertiesdialog.cpp:95 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "View Certificate…" +msgstr "Podešavanje prikazivača" + +# >> @title:window +#: part/signaturepropertiesdialog.cpp:97 +#, fuzzy, kde-format +#| msgid "Configure Viewer" +msgid "View in Certificate Manager" +msgstr "Podešavanje prikazivača" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "Prikaži samo obeležene stranice" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "Pusti" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Pauziraj" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "Zaustavi" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, fuzzy, kde-format +#| msgid "&Edit" +msgid "&Edit…" +msgstr "&Uređivanje" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "U&kloni" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "Pomeri na&gore" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "Pomeri na&dole" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "Podrazumevana alatka crtanja #%1" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "Već postoji alatka sa takvim imenom, uzimam podrazumevano." + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "Duplikat imena" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "Stranica dokumenta za prikazivanje" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "Otvori dokument u režimu prezentacije" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "Pokreni na dijalogu za štampanje" + +#: shell/main.cpp:78 +#, fuzzy, kde-format +#| msgid "Start with print dialog" +msgid "Start with print dialog and exit after printing" +msgstr "Pokreni na dijalogu za štampanje" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "Kontrola „jedinstvenog primerka“" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "Ne podiži prozor" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "Dokumenti za otvaranje. Zadajte ‘-’ za čitanje sa stdul." + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "Greška: uz opciju --unique može da se otvori samo jedan dokument" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "Greška: uz opciju --presentation može da se otvori samo jedan dokument" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "Greška: uz opciju --print može da se otvori samo jedan dokument" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "Greška: uz opciju --page može da se otvori samo jedan dokument" + +#: shell/okular_main.cpp:210 +#, fuzzy, kde-format +#| msgid "Error: Can't open more than one document with the --print switch" +msgid "Error: Can't open more than one document with the --find switch" +msgstr "Greška: uz opciju --print može da se otvori samo jedan dokument" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "Ne mogu da pronađem komponentu Okulara: %1" + +#: shell/shell.cpp:250 +#, fuzzy, kde-format +#| msgid "Show &Page Bar" +msgid "Sidebar" +msgstr "Prikaži &traku stranica" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" +"Jedinstveni primerak Okulara već je u pogonu. Ovaj primerak neće biti " +"jedinstveni." + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "Ne mogu da pronađem deo Okulara." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"Kliknite da otvorite fajl\n" +"Kliknite i držite da otvorite nedavni fajl" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"Kliknite da otvorite fajl ili kliknite i držite da izaberete " +"nedavni fajl" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "Sledeći jezičak" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "Prethodni jezičak" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "" + +#: shell/shell.cpp:603 +#, fuzzy, kde-format +#| msgid "Show &Page Bar" +msgid "Lock Sidebar" +msgstr "Prikaži &traku stranica" + +# >> @item +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "svi fajlovi (*)" + +# >> @item +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "svi podržani fajlovi (%1)" + +# >> @title:window +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "Otvaranje dokumenta" + +# >> @title:window +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "Potvrda zatvaranja" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "Zatvori jezičke" + +# >! Plurals. +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "" +"Ovim ćete zatvoriti %1 jezičaka. Želite li zaista da nastavite?|/|Ovim ćete " +"zatvoriti %1 $[množ ^1 jezičak jezička jezičaka]. Želite li zaista da " +"nastavite?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "Upozori me na pokušaj zatvaranja više jezičaka" + +#: shell/welcomescreen.cpp:64 +#, fuzzy, kde-format +#| msgid "Copy Text" +msgid "&Copy Path" +msgstr "Kopiraj tekst" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "" + +#: shell/welcomescreen.cpp:137 +#, fuzzy, kde-format +#| msgid "Current document only" +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "Samo tekući dokument" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "" + +# >> @title:window +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, fuzzy, kde-format +#| msgid "Open Document" +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Otvaranje dokumenta" + +# >> @title:window +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, fuzzy, kde-format +#| msgid "Open Document" +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Otvaranje dokumenta" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "" + +# >> @title +#~ msgid "Geometry" +#~ msgstr "Geometrija" + +#~ msgid "Modified: %1" +#~ msgstr "Izmenjen: %1" + +#~ msgid "Find..." +#~ msgstr "Nađi..." + +#~ msgid "Go To Page..." +#~ msgstr "Idi na stranicu..." + +#~ msgid "Play movie..." +#~ msgstr "Pusti film..." + +#, fuzzy +#~| msgid "S&earch:" +#~ msgid "Search..." +#~ msgstr "&Traži:" + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "Sačuvaj &kao..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "&Prikaži..." + +#~ msgid "Configure Viewer..." +#~ msgstr "Podesi prikazivač..." + +#~ msgid "Configure Viewer Backends..." +#~ msgstr "Podesi prikazivačke pozadine..." + +#~ msgid "Configure Backends..." +#~ msgstr "Podesi pozadine..." + +#~ msgid "&Add..." +#~ msgstr "&Dodaj..." + +#~ msgid "&Edit..." +#~ msgstr "&Uredi..." + +# >> @item:intext +#, fuzzy +#~| msgctxt "Unknown author" +#~| msgid "Unknown" +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "nepoznat" + +#, fuzzy +#~| msgid "%" +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr "%" + +# well-spelled: пикс +#~ msgctxt "Suffix for the pen width, eg '10 px'" +#~ msgid " px" +#~ msgstr " piks." + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " %" + +#, fuzzy +#~| msgid "%" +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%" + +#, fuzzy +#~| msgid "Fit Width" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "uklopljena širina" + +#, fuzzy +#~| msgid "Fit Page" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "uklopljena stranica" + +#, fuzzy +#~| msgid "Auto Fit" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Auto Fit" +#~ msgstr "uklopljeno automatski" + +#~ msgid "*|All Files" +#~ msgstr "*|Svi fajlovi" + +#~ msgid "Draw border around &Images" +#~ msgstr "Crtaj ivicu oko s&lika" + +#~ msgid "Identity" +#~ msgstr "Identitet" + +#, fuzzy +#~| msgid "&Author:" +#~ msgid "Au&thor:" +#~ msgstr "&Autor:" + +#~ msgid "View Options" +#~ msgstr "Opcije prikaza" + +#~ msgctxt "@info:whatsthis" +#~ msgid "" +#~ "Defines the default zoom mode for files which were never opened before.\n" +#~ "For files which were opened before the previous zoom is applied." +#~ msgstr "" +#~ "Određuje podrazumevani režim uveličanja za prvi put otvorene fajlove.\n" +#~ "Na fajlove koji su ranije otvarani primenjuje se prethodno uveličanje." + +#~ msgid "Navigation" +#~ msgstr "Navigacija" + +#~ msgid "Advance every:" +#~ msgstr "Napreduj svakih:" + +#~ msgid "Enable transitions" +#~ msgstr "Omogući prelaze" + +#~ msgid "Placement" +#~ msgstr "Pozicioniranje" + +#~ msgid "Screen:" +#~ msgstr "Ekran:" + +#~ msgid "Drawing Tool Configuration" +#~ msgstr "Postava alatke crtanja" + +#~ msgid "&Get Books From Internet..." +#~ msgstr "&Dobavi knjige sa Interneta..." + +#~ msgid "" +#~ "The file '%1' has been modified by another program, which means it can no " +#~ "longer be saved." +#~ msgstr "" +#~ "Neki drugi program je izmenio fajl „%1“, što znači da više ne može da se " +#~ "sačuva." + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "@item:inlistbox Color name" +#~ msgid "%1" +#~ msgstr "%1:" + +# >> @item:inlistbox Stamp Symbol +#, fuzzy +#~| msgid "Experimental" +#~ msgctxt "@title:window" +#~ msgid "Experimental feature" +#~ msgstr "eksperimentalno" + +#~ msgid "Remove Bookmarks" +#~ msgstr "Ukloni obeleživače" + +#~ msgid "&Toggle Change Colors" +#~ msgstr "&Prebaci promenu boja" + +#~ msgid "Hide Forms" +#~ msgstr "Sakrij formulare" + +#, fuzzy +#~| msgctxt "Add an annotation to the page" +#~| msgid "add annotation" +#~ msgid "Bookmark annotation" +#~ msgstr "Dodaj tumačenje" + +#~ msgid "Reviews" +#~ msgstr "Pregledi" diff --git a/po/sr@latin/okular_comicbook.po b/po/sr@latin/okular_comicbook.po new file mode 100644 index 0000000..90297e1 --- /dev/null +++ b/po/sr@latin/okular_comicbook.po @@ -0,0 +1,48 @@ +# Translation of okular_comicbook.po into Serbian. +# Slobodan Simic , 2009. +# Chusslove Illich , 2010, 2017. +msgid "" +msgstr "" +"Project-Id-Version: okular_comicbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2017-09-28 17:59+0200\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@latin\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Generator: KBabel 1.11.4\n" +"X-Environment: kde\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Slobodan Simić" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "slsimic@gmail.com" + +#: document.cpp:97 +#, fuzzy, kde-format +#| msgid "Cannot open document, unrar was not found." +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "Ne mogu da otvorim dokument, unrar nije nađena." + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "Verzija unrar na sistemu nije podesna za otvaranje ComicBooka." + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "Nepoznat format ComicBooka." diff --git a/po/sr@latin/okular_djvu.po b/po/sr@latin/okular_djvu.po new file mode 100644 index 0000000..6f9eecf --- /dev/null +++ b/po/sr@latin/okular_djvu.po @@ -0,0 +1,103 @@ +# Translation of okular_djvu.po into Serbian. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Slobodan Simic , 2007. +# Zoran Olujic , 2010. +# Chusslove Illich , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_djvu\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-10-05 22:02+0200\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@latin\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Slobodan Simić" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "slsimic@gmail.com" + +# skip-rule: t-editor +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "Urednik" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "Izdavač" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "Sveska" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "Vrsta dokumenta" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "nepoznato" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "Sastavnih fajlova" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "nepoznata" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "jednostrani" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "komplet" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "indirektni" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "komplet (stari)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "indeksirani (stari)" diff --git a/po/sr@latin/okular_dvi.po b/po/sr@latin/okular_dvi.po new file mode 100644 index 0000000..284fb62 --- /dev/null +++ b/po/sr@latin/okular_dvi.po @@ -0,0 +1,588 @@ +# Translation of okular_dvi.po into Serbian. +# Slobodan Simic , 2007. +# Zoran Olujic , 2010. +# Chusslove Illich , 2010, 2013, 2014, 2017. +# Dalibor Djuric , 2010. +msgid "" +msgstr "" +"Project-Id-Version: okular_dvi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2017-09-28 17:59+0200\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@latin\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" +"X-Associated-UI-Catalogs: okular\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Zoran Olujić" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "olujicz@gmail.com" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

    Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

    Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

    " +msgstr "" +"

    Okular ne može da nađe naredbu dvipdfm na ovom računaru. Ona " +"je neophodna za rad funkcije izvoza. DVI fajl možete da pretvorite u PDF i " +"upotrebom funkcije izvoza u Okularu, ali će takav dokument dobro izgledati " +"samo na papiru, dok će biti lošijeg kvaliteta u Akrobatu čitaču. Zato je " +"ipak najbolje da dogradite distribuciju TeX‑a na noviju verziju, koja sadrži " +"i naredbu dvipdfm.

    Savet zbunjenom sistem-administratoru: " +"Okular traži naredbe kroz promenljivu okruženja $PATH.

    " + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Spoljašnja naredba dvipdfm, upotrebljena za izvoz fajla, " +"prijavila je grešku. Detaljniji izveštaj o grešci možete naći u " +"dijalogu podataka o dokumentu, koji pozivate kroz meni " +"Fajl." + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" +"Ovaj DVI fajl ukazuje na spoljašnje grafičke fajlove koji nisu u formatu " +"PostScript, te ne mogu biti obrađeni naredbom dvips, koju Okular " +"interno koristi za štampanje i izvoz u PostScript. Funkcionalnost koju " +"zahtevate nedostaje u ovoj verziji Okulara." + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

    Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

    Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

    " +msgstr "" +"

    Okular ne može da pronađe naredbu dvips na ovom računaru. " +"Ona je ključna za rad funkcije izvoza.

    Savet zbunjenom sistem-" +"administratoru: Okular traži naredbe kroz promenljivu okruženja $PATH.

    " + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Spoljašnja naredba dvips, upotrebljena za izvoz fajla, " +"prijavila je grešku. Detaljniji izveštaj o grešci možete naći u " +"dijalogu podataka o dokumentu, koji pozivate kroz meni " +"Fajl." + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "DVI fajl ne počinje preambulom." + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" +"DVI fajl sadrži pogrešnu verziju DVI izlaza za ovu naredbu. Savet: Ako " +"koristite slovoslagački sistem Omega, tada ćete morati da koristite i " +"posebnu naredbu, kao što je oxdvi." + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "DVI fajl je znatno iskvaren. Okular ne može da pronađe postambulu." + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "Postambula ne počinje naredbom „POST“." + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "Postambula sadrži neku drugu naredbu osim „FNTDEF“." + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "Stranica %1 ne počinje naredbom „BOP“." + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

    The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

    What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

    PATH: %2

    " +msgstr "" +"

    Spoljašnja naredba pdf2ps ne može da se izvrši, te nije " +"moguće pretvoriti PDF fajl %1 u PostScript. Zbog ovoga neće biti " +"prikazani neki grafički elementi dokumenta.

    Mogući razlozi: " +"Naredba pdf2ps možda nije instalirana, ili se ne može naći kroz " +"trenutnu putanju pretrage.

    Šta možete da uradite: Naredba " +"pdf2ps obično stiže u distribucijama GhostScripta, " +"interpretatorskog sistema za PostScript. Ako GhostScript nije instaliran, " +"mogli biste ga instalirati sada. Ako ste sigurni da je GhostScript " +"instaliran, pokušajte da izvršite pdf2ps iz komandne linije da " +"proverite da li zaista radi.

    $PATH: %2

    " + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

    The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

    %2

    " +msgstr "" +"

    PDF fajl %1 ne može da se pretvori u PostScript. Zbog ovoga " +"neće biti prikazani neki grafički elementi dokumenta.

    Mogući " +"razlozi: Fajl je možda iskvaren, ili možda uopšte nije PDF fajl. Naredba " +"pdf2ps, koju je Okular upotrebio, ispisala je sledeće:

    %2

    " + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "Fajl je iskvaren. %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "Neki PostScript fajlovi ne mogu da budu ugnežđeni u dokument. %1" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "Svi spoljašnji PostScript fajlovi ugnežđeni su u dokument." + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "Zadati fajl ‘%1’ ne postoji." + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" +"Zatražili ste od Okulara da nađe mesto u DVI fajlu koje odgovara redu %1 u " +"tex fajlu ‘%2’. Izgleda, međutim, da DVI fajl ne sadrži neophodne podatke o " +"izvornom fajlu." + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" +"Okular ne može da nađe mesto u DVI fajlu koje odgovara redu %1 u tex fajlu " +"‘%2’." + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "DVI kô̂d navodi znak iz nepoznatog fonta." + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "DVI kô̂d pominje font #%1, koji nije prethodno definisan." + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "Stek nije bio prazan kada je naišla naredba „EOP“." + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "Stek je bio prazan kada je naišla naredba „POP“." + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "DVI kô̂d pominje font koji nije prethodno definisan." + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "Naišla je nedozvoljena naredba." + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "Naišao je nepoznati op‑kô̂d %1." + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "Ugnežđujem %1" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
    " +msgstr "" +"Stranica %1: Ne mogu da pretvorim PDF fajl %2 u PostScript." +"
    " + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
    " +msgstr "" +"Stranica %1: Ne mogu da nađem PostScript fajl %2.
    " + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "Ne mogu da raščlanim podatke o veličini papira „%1“." + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

    Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

    PATH: %1

    %2

    " +msgstr "" +"

    Okular ne može da pronađe sve fajlove fontove koji su potrebni za " +"prikazivanje tekućeg DVI fajla. Dokument može biti nečitljiv.

    $PATH: %1

    %2

    " + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

    There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
    Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

    PATH: %1

    %2

    " +msgstr "" +"

    Bilo je problema pri izvršavanju kpsewhich. Posledica je da " +"neki fajlovi fontova nisu nađeni, i dokument može biti nečitljiv.

    Mogući razlog: naredba kpsewhich možda nije instalirana na " +"sistemu, ili nije dostupna kroz trenutnu putanju pretrage.

    $PATH: %1

    %2

    " + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" +"Prekinuto je generisanje fontova pomoću kpsewhich (izlazni kô̂d " +"%1, greška %2). Zbog ovoga neki fontovi nisu pronađeni, i dokument može biti " +"nečitljiv." + +#: fontpool.cpp:482 +#, fuzzy, kde-format +#| msgid "Currently generating %1 at %2 dpi..." +msgid "Currently generating %1 at %2 dpi…" +msgstr "Trenutno generišem %1 pri %2 tpi..." + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "Generator/datum" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "Font nije pronađen" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "portret" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "pejzaž" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" +"Verzija GhostViewa instalirana na ovom računaru ne sadrži nijedan drajver " +"uređaja koji Okular poznaje. Zbog ovoga je isključena podrška za PostScript " +"u Okularu." + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "" +"Nađeno je 25 grešaka do sada. Dalje poruke o greškama neće biti prikazane." + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" +"Greška u DVI fajlu ‘%1’, na stranici %2. Izdata je naredba „POP“ za boju dok " +"je stek za boje prazan." + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" +"Loše formiran parametar u specijalnoj naredbi „epsf“.\n" +"Očekivan je realan broj nakon %1 u %2." + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"Fajl nije pronađen:\n" +" %1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" +"Greška u DVI fajlu ‘%1’, stranica %2. Ne mogu da interpretiram ugao u " +"specijalnoj naredbi rotacije teksta." + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "Specijalna naredba „%1“ nije izvedena." + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" +"Fajl fonta ‘%1’ može da se otvori i pročita, ali format fonta nije podržan." + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "" +"Fajl fonta ‘%1’ ili je pokvaren, ili ne može da se otvorili ili pročita." + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" +"FreeType prijavljuje grešku pri postavljanju veličine znakova za fajl fonta " +"‘%1’." + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "FreeType ne može da učita glif #%1 iz fajla fonta ‘%2’." + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "FreeType ne može da izrenderuje glif #%1 iz fajla fonta ‘%2’." + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "Glif #%1 je prazan." + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "Glif #%1 iz fajla fonta ‘%2’ je prazan." + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "FreeType ne može da učita metriku za glif #%1 iz fajla fonta ‘%2’." + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "Ne mogu da otvorim fajl fonta ‘%1’." + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "TexFont_PK::operator[]: Znak %1 nije definisan u fontu %2." + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "Neočekivano %1 u PK fajlu ‘%2’." + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "Znak %1 je previše veliki u fajlu ‘%2’." + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "Uskladišten pogrešan broj bitova: znak %1, font %2." + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "Loš PK fajl (%1), previše bitova." + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "Font ima nekvadratnu proporciju." + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "Ne mogu da nađem font %1, fajl ‘%2’." + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "Neslaganje kontrolne sume za fajl fonta ‘%1’." + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "Ne mogu da prepoznam format fajla fonta ‘%1’." + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"Kobna greška.\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" +"\n" +"Ovo verovatno znači da ste ili našli grešku u Okularu, ili da su DVI " +"fajl ili dopunski fajlovi (poput fajlova fontova ili virtuelnih fontova) " +"ozbiljno iskvareni. Okular će obustaviti rad posle ove poruke. Ako mislite " +"da ste pronašli grešku, ili da Okular treba bolje da se snađe u ovoj " +"situaciji, prijavite ovaj problem." + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "Pogrešan komandni bajt pronađen u VF makro listi: %1" + +#~ msgid "" +#~ "

    The Ghostview program, which Okular uses internally to display the " +#~ "PostScript graphics that is included in this DVI file, is generally able " +#~ "to write its output in a variety of formats. The sub-programs that " +#~ "Ghostview uses for these tasks are called 'device drivers'; there is one " +#~ "device driver for each format that Ghostview is able to write. Different " +#~ "versions of Ghostview often have different sets of device drivers " +#~ "available. It seems that the version of Ghostview that is installed on " +#~ "this computer does not contain any of the device drivers " +#~ "that are known to Okular.

    It seems unlikely that a regular " +#~ "installation of Ghostview would not contain these drivers. This error may " +#~ "therefore point to a serious misconfiguration of the Ghostview " +#~ "installation on your computer.

    If you want to fix the problems with " +#~ "Ghostview, you can use the command gs --help to display " +#~ "the list of device drivers contained in Ghostview. Among others, Okular " +#~ "can use the 'png256', 'jpeg' and 'pnm' drivers. Note that Okular needs to " +#~ "be restarted to re-enable PostScript support.

    " +#~ msgstr "" +#~ "

    Za prikazivanje PostScript grafike uključene u ovaj DVI fajl " +#~ "Okular interno koristi program GhostView, koji može da proizvede mnoge " +#~ "različite formate na izlazu. Potprogrami koje GhostView koristi u ovu " +#~ "svrhu nazivaju se „drajverima uređaja“, po jedan za svaki format koji " +#~ "GhostView može da zapiše. Različita izdanja GhostViewa često imaju " +#~ "različite skupove drajvera. Izgleda da izdanje GhostViewa instalirano na " +#~ "ovom računaru ne sadrži nijedan drajver poznat Okularu.

    Malo je verovatno da ispravna instalacija GhostViewa ne sadrži " +#~ "nijedan drajver. Stoga ova greška verovatno ukazuje na ozbiljne greške u " +#~ "postavi GhostViewa na ovom računaru.

    Ukoliko želite da otklonite " +#~ "probleme sa GhostViewom, možete izvršiti naredbu gs --help da " +#~ "dobijete spisak drajvera koje GhostView sadrži. Između ostalih, Okular " +#~ "može da koristi drajvere png256, jpeg i pnm. " +#~ "Okular mora biti ponovo pokrenut da bi se ponovo proverila podrška za " +#~ "PostScript.

    " diff --git a/po/sr@latin/okular_epub.po b/po/sr@latin/okular_epub.po new file mode 100644 index 0000000..49ac460 --- /dev/null +++ b/po/sr@latin/okular_epub.po @@ -0,0 +1,46 @@ +# Translation of okular_epub.po into Serbian. +# Slobodan Simic , 2009. +# Chusslove Illich , 2010, 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_epub\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-06-01 14:47+0200\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@latin\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Generator: KBabel 1.11.4\n" +"X-Environment: kde\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Slobodan Simić" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "slsimic@gmail.com" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "Greška pri otvaranju EPUB dokumenta." + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "EPUB" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "Postava pozadine za EPUB" diff --git a/po/sr@latin/okular_fax.po b/po/sr@latin/okular_fax.po new file mode 100644 index 0000000..4ea88bc --- /dev/null +++ b/po/sr@latin/okular_fax.po @@ -0,0 +1,36 @@ +# Translation of okular_fax.po into Serbian. +# Slobodan Simic , 2009. +# Chusslove Illich , 2010. +msgid "" +msgstr "" +"Project-Id-Version: okular_fax\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-03-11 20:29+0100\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@latin\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Generator: KBabel 1.11.4\n" +"X-Environment: kde\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Slobodan Simić" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "slsimic@gmail.com" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "Ne mogu da učitam dokument" diff --git a/po/sr@latin/okular_fictionbook.po b/po/sr@latin/okular_fictionbook.po new file mode 100644 index 0000000..f6a2e77 --- /dev/null +++ b/po/sr@latin/okular_fictionbook.po @@ -0,0 +1,75 @@ +# Translation of okular_fictionbook.po into Serbian. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Slobodan Simic , 2007. +# Zoran Olujic , 2010. +# Chusslove Illich , 2010, 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_fictionbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-06-01 14:47+0200\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@latin\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Zoran Olujić" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "olujicz@gmail.com" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "Dokument nije pravilan FictionBook" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "Ne mogu da otvorim dokument: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "Dokument nije pravilna ZIP arhiva" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "Nepravilna struktura dokumenta (nedostaje glavna fascikla)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "U dokumentu nema sadržaja" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "Nepravilan XML dokument: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "FictionBook" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "Postava pozadine za FictionBook" diff --git a/po/sr@latin/okular_ghostview.po b/po/sr@latin/okular_ghostview.po new file mode 100644 index 0000000..e6f081d --- /dev/null +++ b/po/sr@latin/okular_ghostview.po @@ -0,0 +1,84 @@ +# Translation of okular_ghostview.po into Serbian. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Slobodan Simic , 2007. +# Zoran Olujic , 2010. +# Chusslove Illich , 2010. +# Dalibor Djuric , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_ghostview\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-03-16 11:25+0100\n" +"Last-Translator: Dalibor Djuric \n" +"Language-Team: Serbian \n" +"Language: sr@latin\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Zoran Olujić" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "olujicz@gmail.com" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "Koristi sistemske fontove" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"Određuje da li je GhostScriptu dozvoljeno da koristi sistemske fontove. Ako " +"nije, moći će da koristi samo fontove ugnežđene u dokumentu." + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "Opšte postavke" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "&Koristi sistemske fontove" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "GhostScript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Postavke pozadine za GhostScript" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "Verzija dokumenta" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "Nivo jezika" diff --git a/po/sr@latin/okular_kimgio.po b/po/sr@latin/okular_kimgio.po new file mode 100644 index 0000000..25c1919 --- /dev/null +++ b/po/sr@latin/okular_kimgio.po @@ -0,0 +1,49 @@ +# Translation of okular_kimgio.po into Serbian. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Slobodan Simic , 2007. +# Zoran Olujic , 2010. +# Chusslove Illich , 2010, 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_kimgio\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2017-12-03 22:53+0100\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@latin\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Slobodan Simić" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "slsimic@gmail.com" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "Ne mogu da učitam dokument: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" +"Dokument deluje iskvareno. Ovo je najbolje tumačenje njegovog željenog " +"izgleda." diff --git a/po/sr@latin/okular_markdown.po b/po/sr@latin/okular_markdown.po new file mode 100644 index 0000000..c9a82c1 --- /dev/null +++ b/po/sr@latin/okular_markdown.po @@ -0,0 +1,55 @@ +# Translation of okular_markdown.po into Serbian. +# Chusslove Illich , 2017. +msgid "" +msgstr "" +"Project-Id-Version: okular_markdown\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2017-09-25 19:53+0200\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@latin\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Časlav Ilić" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "caslav.ilic@gmx.net" + +#: converter.cpp:59 converter.cpp:93 +#, fuzzy, kde-format +#| msgid "Failed to compile the Markdown document." +msgid "Failed to open the document" +msgstr "Ne mogu da kompilujem Markdown dokument." + +#: converter.cpp:106 converter.cpp:124 +#, kde-format +msgid "Failed to compile the Markdown document." +msgstr "Ne mogu da kompilujem Markdown dokument." + +#: generator_md.cpp:58 +#, kde-format +msgid "Enable SmartyPants formatting" +msgstr "" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown" +msgstr "Markdown" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown Backend Configuration" +msgstr "Podešavanje pozadine Markdowna" diff --git a/po/sr@latin/okular_mobi.po b/po/sr@latin/okular_mobi.po new file mode 100644 index 0000000..412c09e --- /dev/null +++ b/po/sr@latin/okular_mobi.po @@ -0,0 +1,52 @@ +# Translation of okular_mobi.po into Serbian. +# Chusslove Illich , 2010, 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_mobi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-06-01 14:47+0200\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@latin\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Časlav Ilić" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "caslav.ilic@gmx.net" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Greška pri otvaranju Mobipocket dokumenta." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "" +"Ova knjiga je zaštićena DRM‑om i može se prikazati samo na naznačenom " +"uređaju." + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "Mobipocket" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "Postava pozadine za Mobipocket" diff --git a/po/sr@latin/okular_poppler.po b/po/sr@latin/okular_poppler.po new file mode 100644 index 0000000..07a6c45 --- /dev/null +++ b/po/sr@latin/okular_poppler.po @@ -0,0 +1,379 @@ +# Translation of okular_poppler.po into Serbian. +# Slobodan Simic , 2007. +# Zoran Olujic , 2010. +# Chusslove Illich , 2010, 2012, 2013. +# Dalibor Djuric , 2010. +msgid "" +msgstr "" +"Project-Id-Version: okular_poppler\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-03-03 22:14+0100\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@latin\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Zoran Olujić" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "olujicz@gmail.com" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "" + +# skip-rule: t-line +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "Pojačaj tanke linije:" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "ne" + +# >? What does this look like? +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "pune" + +# >? What does this look like? +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "uobličene" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "Opcije PDF‑a" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "Štampaj tumačenja" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "Uključi tumačenja u odštampani dokument" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"Uključuje tumačenja u odštampani dokument. Ovo možete isključiti ako želite " +"da odštampate izvorni dokument bez tumačenja." + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "Nametni rasterizaciju" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "Rasterizuje u sliku pre štampanja" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"Nameće rasterizaciju svake stranice u sliku pre nego što se odštampa. Ovo " +"obično daje nešto lošije rezultate, ali je korisno za štampanje dokumenata " +"koji inače izgledaju neispravno odštampani." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF ver. %1.%2" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "Format" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "Šifrovan" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "Nešifrovan" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "Bezbednost" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "da" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "Optimizacija" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "Podešavanje pozadine za PDF" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter Password" +msgstr "" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "" diff --git a/po/sr@latin/okular_txt.po b/po/sr@latin/okular_txt.po new file mode 100644 index 0000000..839415c --- /dev/null +++ b/po/sr@latin/okular_txt.po @@ -0,0 +1,39 @@ +# Translation of okular_txt.po into Serbian. +# Chusslove Illich , 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_txt\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-06-01 14:47+0200\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@latin\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Časlav Ilić" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "caslav.ilic@gmx.net" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "Tekst" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "Postava pozadine za tekst" diff --git a/po/sr@latin/okular_xps.po b/po/sr@latin/okular_xps.po new file mode 100644 index 0000000..928b75c --- /dev/null +++ b/po/sr@latin/okular_xps.po @@ -0,0 +1,40 @@ +# Translation of okular_xps.po into Serbian. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Slobodan Simic , 2007. +# Zoran Olujic , 2010. +# Chusslove Illich , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_xps\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-03-11 20:29+0100\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@latin\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Slobodan Simić" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "slsimic@gmail.com" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "Revizija" diff --git a/po/sv/docs/okular/configure.png b/po/sv/docs/okular/configure.png new file mode 100644 index 0000000000000000000000000000000000000000..b8bb6a9e1b83694cd39a741911ce114d23fe8c53 GIT binary patch literal 23244 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 literal 0 HcmV?d00001 diff --git a/po/sv/docs/okular/index.docbook b/po/sv/docs/okular/index.docbook new file mode 100644 index 0000000..e519418 --- /dev/null +++ b/po/sv/docs/okular/index.docbook @@ -0,0 +1,4485 @@ + +KPDF"> + + +]> + + + + Handbok &okular; + + Albert Astals Cid
    &Albert.Astals.Cid.mail;
    +
    +
    + Pino Toscano
    pino@kde.org
    +
    +
    + StefanAsserhäll
    stefan.asserhall@bredband.net
    Översättare
    +
    + &FDLNotice; + 2022-02-19 + 22.04 + + + &okular; är en generell dokumentvisare för &kde; baserad på &kpdf;-kod. + + + KDE + okular + pdf + ps + postscript + tiff + djvu + dvi + chm + xps + comicbook + fictionbook + markdown + mobipocket + plucker + kommentar + +
    + + Inledning + &okular; är en generell dokumentvisare för &kde; baserad på koden från programmet &kpdf;. Även om det är baserat på &kpdf;-kod, har &okular; ett antal unika funktioner som översiktsläge, förbättrat stöd för presentationer och tillägg av kommentarer. + &okular; stöder en mängd olika format såsom PDF, &PostScript;, Tiff, CHM, DjVU, bilder (png, jpg, etc.), XPS, Fiction Books, Comic Book, Plucker, EPub, telefax och Markdown. Se &okular; dokumentformathantering för alla format som stöds och deras funktioner. + + &okular;s huvudfönster + + + + + + &okular;s huvudfönster + + + + + + Grundläggande användning + + Öppna filer + För att öppna någon fil som stöds i &okular;, välj Arkiv Öppna..., välj en fil som stöds i dialogrutan och klicka på Öppna. Filen ska nu visas i huvudfönstret. + + Det nya dokumentet öppnas under en ny flik, om alternativet Öppna nya filer under flikar på sidan Allmänna inställningar är markerat. + Du kan stänga fliken genom att klicka på den med musens mittenknapp. + Det föregående stängda dokumentet under en flik kan öppnas igen med menyalternativet &Ctrl;&Shift;TArkiv Ångra stäng flik. + + Om du redan tidigare har öppnat filer i &okular; kan du snabbt komma åt dem genom att välja dem i menyn Arkiv Öppna senaste. + &okular; är standardprogrammet för PDF och &PostScript;-filer i &kde;, och startas när du klickar med vänster musknapp på en sådan filtyp i filhanteraren. Om du vill öppna vilken fil som helst som stöds av &okular;, använd Öppna med...&okular; i den sammanhangsberoende menyn i filhanteraren. + Efter att ha öppnat en fil vill du troligtvis läsa den, och därför navigera genom den. Fortsätt till nästa avsnitt för att lära dig mer om det. + + + Navigering + Det här avsnittet beskriver hur du kan navigera genom ett dokument i &okular;. + Det finns flera sätt att rulla visningsområdet. Ett är att använda tangenterna Uppåtpil och Neråtpil. Du kan också använda rullningslisten, mushjulet, eller tangenterna Page Up och Page Down. + Du kan också använda navigeringstangenter som liknar de i vim, närmare bestämt H för att gå längst upp på föregående sida, L för att gå längst upp på nästa sida, J för att gå neråt en rad och K för att gå uppåt en rad. + Ett annat sätt är att hålla nere vänster musknapp var som helst i dokumentet medan du drar musen i motsatt riktning mot det håll du vill flytta dig. Proceduren fungerar bara om bläddringsverktyget är aktiverat, vilket du kan göra genom att välja Verktyg Bläddra. + + När ett dokument visas i presentationsläge kan tangenterna uppåtpil och neråtpil användas för att byta mellan sidor eller blad. Antal blad och position för aktuellt blad visas med överlagringen i skärmens övre högra hörn. + + Om du vill läsa ett dokument med flera sidor, använd den automatiska panoreringsfunktionen i &okular;. Börja automatisk panorering med &Shift;Neråtpil eller &Shift;Uppåtpil. Använd därefter tangenterna för att öka eller minska panoreringshastigheten. Du kan tillfälligt starta eller stoppa automatisk panorering genom att trycka på skifttangenten. Att trycka på någon annan tangent inaktiverar funktionen. + Ett annat sätt att förflytta sig genom ett dokument flera sidor är att använda muspekaren. Dra sidan uppåt eller neråt, fortsätt att dra också när fönstrets nederkant eller överkant nås, och se vad som händer. När en sidkant korsas, visas muspekaren längst upp eller längst ner i fönstret igen, och du kan bara fortsätta att dra. + Sidoraden till vänster på skärmen gör det möjligt att navigera genom ett dokument på ytterligare två sätt: + + + Om du klickar på en miniatyrbild av en sida flyttas visningsområdet till den sidan. + + + Om dokumentet har en innehållsförteckning, gör ett klick på en rad i innehållsförteckningen att dokumentet går till sidan som är länkad till den raden. + + + Om dokumentet har lager kan vilka lager som visas bestämmas genom att markera eller avmarkera objekten i listan Lager. + + + Om dokumentet har bokmärken, aktivera vyn Bokmärken och klicka på dem för att gå till motsvarande sida. Om bokmärken inte bara visas för det nuvarande dokumentet, kan du snabbt byta till bokmärken i alla senast öppnade filer. + + + Om dokumentet har kommentarer, aktivera vyn Kommentarer och klicka på kommentarerna eller välj dem med tangenterna uppåtpil och neråtpil och tryck på returtangenten för att gå till motsvarande sida. + + + Vissa dokument har länkar. Om så är fallet kan du klicka på dem och vyn ändras till sidan länken går till. Om länken går till en webbsida eller annat dokument, startas förvalt hanteringsprogram för formatet i &kde;. Att exempelvis klicka på en länk som pekar på https://www.kde.org öppnar webbsidan i &kde;:s förvalda webbläsare. + + Dokumentets interna länkar fungerar bara när bläddringsverktyget används. + + Dessutom kan du använda följande funktion för att snabbt gå till specifika platser i dokumentet: + + + Du kan gå till dokumentets början med &Ctrl;Home eller genom att använda Gå Början av dokumentet. + + + Du kan gå till dokumentets slut med &Ctrl;End eller genom att använda Gå Slutet av dokumentet. + + + Du kan gå framåt i dokumentet genom att använda Mellanslag eller Page Down. Använd knappen Nästa sida i verktygsraden eller Gå Nästa sida i menyraden för att gå till dokumentets nästa sida. + + + Du kan gå bakåt i dokumentet genom att använda Baksteg eller Page Up. Använd knappen Föregående sida i verktygsraden eller Gå Föregående sida i menyraden för att gå till dokumentets föregående sida. + + + Du kan gå tillbaka till positionerna i dokumentet som du kom från i kronologisk ordning. Tänk dig exempelvis att du läser meningen Som visas i [15], ..., och vill snabbt slå upp referensen [15]. Om du klickar på den, går &okular; till referenslistan. Genom att använda&Alt;&Shift;Vänster eller Gå Tillbaka i menyraden, kommer du tillbaka till exakt den position du utgick från. + + + Du kan gå framåt i dokumentet efter att ha gått tillbaka enligt beskrivningen ovan med &Alt;&Shift;Höger eller med Gå Framåt i menyraden. + + + Du kan gå till nästa träff vid sökning genom att använda tangenten F3, Retur (när textfältet Sök har fokus), eller menyalternativet Redigera Sök nästa, eller gå tillbaka till föregående träff genom att använda tangenterna &Shift;F3, &Shift;Retur (när textfältet Sök har fokus), eller menyalternativet Redigera Sök föregående. + + + + + Presentationsläge + Presentationsläget representerar ett annat sätt att visa dokument i &okular;. Det kan aktiveras med Visa Presentation. Det visar dokumentet sida för sida. Sidorna visas med zoom till sida, vilket betyder att hela sidan är synlig. + + PDF-dokument kan till och med ange att de alltid ska öppnas i presentationsläge. + + I presentationsläge finns en hjälprad längst upp på skärmen. Flytta bara musmarkören längst upp på skärmen för att få den att visas. + + &okular; i presentationsläge + + + + + + &okular; i presentationsläge + + + + För att navigera mellan sidorna kan du använda vänster musknapp (nästa sida) och höger musknapp (föregående sida), mushjulet, pilikonerna eller redigeringsraden i hjälpraden längst upp, eller tangenterna som anges i avsnittet Navigering. + Använd knappen Visa/Pausa i den övre raden för att respektive börja visa presentationen eller pausa den. + Du kan avsluta presentationsläge genom att trycka på tangenten Esc eller klicka på ikonen Avsluta i hjälpraden längst upp. + Du kan också rita på nuvarande sida med en penna. Klicka på ikonen Växla teckningsläge i raden längst upp för att aktivera eller inaktivera möjlighet att rita i presentationsläge. Det som ritas rensas automatiskt när presentationsläget avslutas. Du kan också klicka på ikonen Sudda teckning för att ta bort teckningarna på nuvarande sida. + Presentationsläget har stöd för mer än en skärm i en konfiguration med flera skärmar. När det finns mer än en skärm visas en ny knapp i den övre raden, med en ikon av en skärm: det är en kombinationsruta som låter dig flytta presentationen till vilken som helst av de andra tillgängliga skärmarna. + Presentationsläget har några inställningsalternativ. Du hittar deras beskrivning i kapitlet Anpassa &okular;. + + + + Omvänd sökning mellan &latex;-editorer och &okular; + + Omvänd sökning är en mycket användbar funktion när du själv skriver ett &latex;-dokument. Om allting är riktigt inställt, kan du klicka på &okular;s fönster med vänster musknapp medan &Shift; hålls nere. Därefter läser editorn in &latex;-källkodsfilen och går till rätt stycke. + + Omvänd sökning kan inte fungera om inte: + + + Källkodsfilen har kompilerats med lyckat resultat. + &okular; vet vilken editor som ska användas. + Bläddringsverktyget måste vara aktiverat, vilket du kan göra genom att välja VerktygBläddra. + + + Med den här funktionen i &okular; gör ett vänsterklick med musen medan &Shift; hålls nere i ett &DVI;- eller PDF-dokument att en editor öppnar motsvarande &latex;-dokument och försöker gå till motsvarande rad. Kom ihåg att tala om för &okular; att använda rätt editor med &okular;s menyalternativ Inställningar Anpassa Okular... (på sidan Editor). + + För mer information om editorinställning se motsvarande avsnitt i handboken. + + + Anpassa &okular; + + + + + + Anpassa editorn i &okular; + + Anpassa editorn i &okular; + + + + + + + Avancerade funktioner i &okular; + + Inbäddade filer + Om nuvarande dokument har inbäddade filer, visas en rad ovanför sidvyn för att underrätta dig om de inbäddade filerna. + + Raden med inbäddade filer + + + + + + Raden med inbäddade filer + + + + När det är fallet kan du antingen klicka på länken i radens text eller välja Arkiv Inbäddade filer för att visa dialogrutan för inbäddade filer. Dialogrutan låter dig visa inbäddade filer och extrahera dem. + + + Formulär + Om nuvarande dokument har formulär, visas en rad ovanför sidvyn där formulären kan aktiveras. + + Formulärraden + + + + + + Formulärraden + + + + När det är fallet kan du antingen klicka på Visa formulär på raden eller välja Visa Visa formulär för att skriva in data i formulärets fält. + + + Signaturer + Om nuvarande dokument har signaturer, visas en rad ovanför sidvyn efter dokumentet har öppnats. Den låter dig öppna panelen Signaturer. + + Signaturraden + + + + + + Signaturraden + + + + Genom att använda panelen Signaturer kan du inspektera dokumentets signatur och dess certifikat. + + Signaturpanelen + + + + + + Signaturpanelen + + + + + Funktionen är bara tillgänglig för &PDF;-dokument. Du måste minst installera version 0.51 av Poppler för att åtminstone få signaturinformation, version 0.68 för att få information om signaturplats och orsak, och version 0.73 för att få certifikatinformation för signaturen. + + + Lägga till digitala signaturer + Du kan lägga till digitala signaturer i dokument genom att använda motsvarande alternativ i menyn Verktyg. + Du måste ha ett riktigt PKCS-certifikat för signering tillgängligt på systemet för att kunna signera ett dokument. &okular; har inte möjlighet att skapa sådana certifikat, eftersom de måste ges ut av certifikatutfärdare för att vara användbara för validering, etc. + Vi använder biblioteket Poppler för att hantera signering av &PDF;-dokument, och Poppler använder biblioteket NSS för att hantera certifikat. När det här skrivs, försöker Poppler använda följande NSS-certifikatlager i ordning (det första som finns): + + Firefox aktuella användarcertifikatlager. + Det systemomfattande certifikatlagret /etc/pki/nssdb. + Den aktuella användarens $HOME/.pki/nssdb. + + Om du vill använda ett eget certifikatlager går det att göra genom att ange det på sidan Inställning av &PDF;-gränssnitt i dialogrutan Anpassa gränssnitt.... + + Funktionen är bara tillgänglig för &PDF;-dokument. Du måste minst installera version 21.01 av Poppler för att kunna lägga till digitala signaturer i ett dokument. + + + + + Kommentarer + &okular; låter dig granska och kommentera dokument. + + &okular;s kommentarer + + + + + + &okular;s kommentarer + + + + &okular; har två olika sorters kommentarer: + Textkommentarer som Gul märkpenna och Svart understrykning kan användas med filer som innehåller text (t.ex. &PDF;). + Grafikkommentarer som Anteckningsruta, Fritextkommentar, Frihandslinje, Rak linje, Polygon, Stämpel och Understrykning, Ellips och Skrivmaskinstext. + Grafiska kommentarer är inte bara begränsade till &PDF;-filer. De kan användas för alla format som &okular; stöder. + Genom att använda menyn Kommentarer kan du lägga till en Anmärkningsruta eller vilken annan sorts anteckning som helst för att lägga till eller redigera kommentarer. + + &okular; har en funktion för "dokumentarkivering". Det är ett format specifikt för &okular; för att lagra dokumentet samt diverse metadata som hör ihop med det (för närvarande bara kommentarer). Du kan spara ett "dokumentarkiv" från det öppna dokumentet genom att välja Arkiv Spara som och ange Okular-dokumentarkiv i filterväljaren. Dokument som sparas på detta sätt får filnamnsändelsen .okular. För att öppna ett &okular; dokumentarkiv, öppna det bara med &okular; som om det t.ex. vore ett &PDF;-dokument. + Man kan också spara kommentarer direkt i &PDF;-filer. Använd Arkiv Spara för att skriva över nuvarande fil, eller Arkiv Spara som... för att spara dem i en ny fil. + + Observera att tillägg, redigering eller borttagning av kommentarer kanske inte är möjligt med DRM-aktiverade filer. + + + Det går att ångra eller göra om alla kommentaråtgärder med motsvarande alternativ i menyn Redigera. Det är också möjligt att ångra åtgärden genom att trycka på &Ctrl;Z och göra om en tidigare ångrad åtgärd genom att trycka på &Ctrl;&Shift;Z. + + Det går att anpassa standardegenskaperna och utseende för varje kommentarverktyg. Se motsvarande avsnitt i den här dokumentationen. + + Lägga till kommentarer + För att lägga till kommentarer i dokumentet, kan du använda knappen Snabbkommentarer i &okular;s huvudverktygsrad eller aktivera kommentarverktygsraden. Det görs genom att antingen välja Verktyg Kommentarer eller trycka på F6. När granskningsverktygsraden visas, klicka bara på någon av knapparna i den eller använd genvägar (tangenter från 1 till 9) för att använda den kommentaren. + Kommentarverktygsraden hjälper till att skapa kommentarer med ritverktyg, formverktyg och textmeddelanden. Det går att använda kommentarverktygsraden för att lägga till markeringar i ett dokument (t.ex. linjer, ellipser, polygoner, stämplar, märkningar, understreck, etc.). Tabellen nedan beskriver exakt vad den normala uppsättningen knappar i kommentarverktygsraden gör. + + + + + Knapp + Verktygsnamn + Beskrivning + + + + + + + + + + + + + + + Märkpenna + + + Markerar text i dokumentet med en given bakgrundsfärg. + Klicka på verktygsraden, klicka sedan med vänster musknapp och dra för att markera en textsnutt. + Det är möjligt att definiera Typ (Färglägg, Vågig, Understruken eller Överstruken), Färg och Ogenomskinlighet för färgläggningen. Högerklicka bara på den markerade texten och välj menyalternativet Egenskaper. + + + + + + + + + + + + + + Understreck + + + Stryker under text med en rak linje. + Klicka på verktygsraden, klicka sedan med vänster musknapp och dra för att stryka under en textsnutt. + Det är möjligt att definiera Typ (Färglägg, Vågig, Understruken eller Överstruken), Färg och Ogenomskinlighet för understrecket. Högerklicka bara på den understrukna texten och välj menyalternativet Egenskaper. + + + + + + + + + + + + + + Vågig + + + Stryker under text med en vågig linje. + Klicka på verktygsraden, klicka sedan med vänster musknapp och dra för att stryka under en textsnutt med en vågig linje. + Det är möjligt att definiera Typ (Färglägg, Vågig, Understruken eller Överstruken), Färg och Ogenomskinlighet för understrecket. Högerklicka bara på den understrukna texten och välj menyalternativet Egenskaper. + + + + + + + + + + + + + + Stryk över + + + Stryker över text. + Klicka på verktygsknappen, klicka sedan med vänster musknapp och dra för att stryka över en textsnutt med en vågig linje. + Det är möjligt att definiera Typ (Färglägg, Vågig, Understruken eller Överstruken), Färg och Ogenomskinlighet för understrecket. Högerklicka bara på den understrukna texten och välj menyalternativet Egenskaper. + + + + + + + + + + + + + + Skrivmaskinstext: + + + Lägger till text på en genomskinlig bakgrund. Det är användbart för att fylla i formulär som saknar integrerade redigerbara textfält. + Klicka på verktygsknappen, klicka med vänster musknapp där du vill lägga till textens övre vänstra hörn, dra därefter för att placera det nedre högra hörnet. Skriv in lite text, och klicka därefter på Ok för att spara den, Rensa för att rensa texten och börja om. eller Avbryt för att avbryta. + Det är möjligt att definiera Teckensnitt och Text färg för texten Högerklicka bara på den skapade skrivmaskinstexten och välj menyalternativet Egenskaper. + + + + + + + + + + + + + + Fritextanmärkning + + + Rita en fritextanmärkning. Anmärkningen visas på plats som den är. + Klicka på verktygsknappen, klicka sedan med vänster musknapp där du vill lägga till anmärkningens övre vänstra hörnet, dra därefter för att placera det nedre högra hörnet. Skriv in anmärkningens text och klicka därefter på Ok för att spara anmärkningen, Rensa för att rensa anmärkningens text, eller Avbryt för att avbryta skapa anmärkning. + Det är möjligt att definiera Färg, Ogenomskinlighet, Teckensnitt, Justering och Kantbredd för anteckningen. Högerklicka bara på den skapade anteckningsikonen och välj menyalternativet Egenskaper. + + + + + + + + + + + + + + Anmärkningsruta + + + Ritar en anmärkning med flera rader. Anmärkningen kan visas genom att dubbelklicka på ikonen som skapas i dokumentet. + Klicka på verktygsknappen, och klicka därefter på platsen i dokumentet där anteckningsrutan ska läggas till. Skriv in texten i anteckningsrutan och klicka på knappen Stäng kommentaren i övre högra hörnet av rutans fönster. + Det är möjligt att definiera Färg, Ogenomskinlighet och Ikon för anteckningen. Högerklicka bara på den skapade anteckningsikonen och välj menyalternativet Egenskaper. + + + + + + + + + + + + + + Frihandslinje + + + Ritar frihandslinjer. + Klicka på verktygsknappen, klicka med vänster musknapp och dra för att rita linjen. + Det är möjligt att definiera Färg, Ogenomskinlighet och Bredd för linjen. Högerklicka bara på den skapade linjen och välj menyalternativet Egenskaper. + + + + + + + + + + + + + + Pil (kombinationslista) + + + Ritar en pil mellan två punkter. + Klicka på verktygsknappen, klicka sedan med vänster musknapp för att placera pilens startpunkt, dra därefter för att placera linjens slutpunkt och klicka en gång till. + Det är möjligt att definiera Färg, Ogenomskinlighet, Bredd, Linjestart, Linjeslut, Längd på hänvisningslinje och Längd på hänvisningslinjens utökning för linjen. Högerklicka bara på den skapade linjen och välj menyalternativet Egenskaper. + + + + + + + + + + + + + + Rät linje (kombinationslista) + + + Ritar en linje mellan två punkter. + Klicka på verktygsknappen, klicka sedan med vänster musknapp för att placera linjens startpunkt, dra därefter för att placera linjens slutpunkt och klicka en gång till. + Det är möjligt att definiera Färg, Ogenomskinlighet, Bredd, Linjestart, Linjeslut, Längd på hänvisningslinje och Längd på hänvisningslinjens utökning för linjen. Högerklicka bara på den skapade linjen och välj menyalternativet Egenskaper. + + + + + + + + + + + + + + Rektangel (kombinationslista) + + + Ritar en rektangel omkring det valda området. + Klicka på verktygsraden, klicka med vänster musknapp för att placera övre vänstra hörnet rektangeln, dra därefter för att placera det nedre högra hörnet. + Det är möjligt att definiera Typ (Rektangel eller Ellips), Färg, Ogenomskinlighet, Formfyllning (med färg) och Bredd för kanten Högerklicka bara på den skapade kanten och välj menyalternativet Egenskaper. + + + + + + + + + + + + + + Ellips (kombinationslista) + + + Ritar en ellips eller rektangel omkring ett valt område. + Klicka på verktygsraden, klicka med vänster musknapp och håll nere för att placera övre vänstra hörnet av ellipsens omgivande rektangel, dra därefter för att placera det nedre högra hörnet. + Det är möjligt att definiera Typ (Rektangel eller Ellips), Färg, Ogenomskinlighet, Formfyllning (med färg) och Bredd för kanten Högerklicka bara på den skapade kanten och välj menyalternativet Egenskaper. + + + + + + + + + + + + + + Polygon (kombinationslista) + + + Ritar en sluten figur med tre eller flera linjesegment. Motsvarande kommentar kan visas genom att dubbelklicka inne i polygonen. + Klicka på verktygsraden, klicka sedan med vänster musknapp för att placera polygonens första hörn, dra därefter för att placera det andra hörnet. Fortsätt tills hela polygonen har ritats och anslut tillbaka till det första hörnet.Klicka två gånger om du vill lägga till en anmärkning i polygonen. Skriv in anmärkningens text och klicka på Ok för att spara anmärkningen, Rensa för att rensa anmärkningen, eller Avbryt för att avbryta inmatningen av anmärkningen. + Det är möjligt att definiera Färg, Ogenomskinlighet, Formfyllning (med färg) och Bredd för polygonen. Högerklicka bara på den skapade polygonen och välj menyalternativet Egenskaper. + + + + + + + + + + + + + + Stämpel + + + Infogar en fördefinierad form i dokumentet. + Klicka på verktygsknappen för att välja en stämpel i kombinationslistan, och klicka därefter med vänster musknapp för att placera stämpeln. + Ett enkelklick placerar bara en fyrkantig stämpel (användbar för ikoner). För att lägga till en rektangulär stämpel, kan du klicka med vänster musknapp, hålla nere den för att placera punkten längst upp till vänster, och därefter dra för att placera den längst ner till höger. + Det är möjligt att definiera Ogenomskinlighet och Stämpelsymbol för stämpeln. Högerklicka bara på den skapade stämpelikonen och välj menyalternativet Egenskaper. + + Funktionen är experimentell. Egna stämplar som infogas i &PDF;-dokument är inte synliga i andra &PDF;-läsare än &okular;. + + + + + + + De här är standardkommentarerna som tillhandahålls av &okular;. Genom att använda inställningsdialogrutans Kommentarsida kan egna kommentarer läggas till, såsom egna stämplar, textmarkeringar, en geometrisk form med inre färg för att markera områden, etc. + + Det är möjligt att lägga till &latex;-kod i kommentartexten. För att göra det, lägg till $$kod$$ i kommentartexten, där kod är vilken giltig &latex;-ekvation som helst. Följ instruktionerna som visas på skärmen för att återge den med en &latex;-distribution installerad på systemet. + + Det är möjligt att anpassa det valda verktyget genom att använda kommentarverktygsraden själv: + + + + + Knapp + Alternativnamn + Beskrivning + + + + + + + + + + + + + + + Linjebredd + + + Klicka på knappen för att välja bredden i kombinationslistan. + + + + + + + + + / + + + + + + + Kommentarfärg + + + Klicka på knappen för att välja text- eller kantfärg på kommentaren. Du kan välja en av de fördefinierade färgerna eller klicka på alternativet Egen färg... för att visa färgvalsdialogrutan. + + + + + + + + + + + + + + Kommentarfyllnadsfärg + + + Klicka på verktygsknappen för att välj kommentarens fyllnadsfärg. Du kan välja en av de fördefinierade färgerna eller klicka på alternativet Egen färg... för att visa färgvalsdialogrutan. + + + + + + + + + + + + + + Kommentarogenomskinlighet + + + Klicka på knappen för att välja kommentarens ogenomskinlighet från kombinationslistan (100 % skapar ogenomskinliga kommentarer). + + + + + + + + + + + + + + Kommentarteckensnitt + + + Klicka på knappen för att visa dialogrutan för teckensnittsval. + + + + + + + + + + + + + + Avancerade inställningar för det aktuella kommentarverktyget + + + Klicka på knappen för att visa den allmänna inställningsdialogrutan för kommentaren. + + + + + + Det finns tre ytterligare funktionsknappar på kommentarverktygsraden: + + + + + Knapp + Beskrivning + + + + + + + + + + + + + + + Lägg till den aktuella kommentaren i menyn Snabbkommentarer i huvudverktygsraden. + + Du kan använda de vanliga genvägarna från &Alt;9 till &Alt;0 för att välja snabbkommentaråtgärderna när som helst, till och med när kommentarverktygsraden är dold. + + + + + + + + + + + + + + + När det är markerat, behålls det aktuella kommentarverktyget aktivt efter användning. + + + + + + + + + + + + + + Dölj kommentarverktygsraden. + + + + + + Genom att hålla nere Skift kan du begränsa linje- och polygonvinkeln till 15° steg, och proportionen för formkommentarer (t.ex. rektangel, ellips) till 1:1. Du kan också få en verktygsradsknapp med Anpassa verktygsrader.... + Innehållet i menyn Snabbkommentarer kan anpassas på sidan Kommentarer i &okular;s inställningsdialogruta. Sidan kan visas genom att högerklicka på knappen Snabbkommentarer och välja Anpassa kommentarer... i den sammanhangsberoende menyn. + + Aktivera kommentarverktygsraden byter automatiskt till bläddringsläge. + + Du kan avsluta kommentaren när som helst genom att klicka på knappen för kommentaren som håller på att skapas igen, eller genom att trycka på tangenten Esc. + Den nyskapade kommentaren har författaren som du ställt in på sidan Kommentarer i &okular;s inställningsdialogruta som sin författare. Sidan Kommentarer kan också användas för att anpassa innehållet i kommentarverktygsraden. + + + Ta bort kommentarer + För att ta bort en kommentar, välj först bläddringsverktyget (VerktygBläddra) och klicka sedan på den med höger musknapp och välj Ta bort eller markera en kommentar genom att använda vänster musknapp och tryck på tangenten Delete. + När kommentaren tas bort kommer dess fönster att stängas om det är öppet. + + + Redigera kommentarer + För att redigera en kommentar, välj först bläddringsverktyget (VerktygBläddra) och klicka sedan på en kommentar med höger musknapp och välj Egenskaper. En dialogruta dyker upp med allmänna kommentarinställningar (som färg och ogenomskinlighet, upphovsman, etc.) och inställningar specifika för kommentartypen. + + Dialogruta för kommentaregenskaper + + + + + + Dialogruta för kommentaregenskaper + + + + För att flytta en kommentar, håll nere &Ctrl;-tangenten, flytta muspekaren till den och börja dra med vänster musknapp. + Om du klickar med vänster musknapp på en kommentar markeras den. Grepp för storleksändring visas på markeringsrektangeln. När markören hålls över ett av de åtta greppen för storleksändring ändras markörens form för att ange storleksändringsläget. Klicka på vilket annat ställe som helst i kommentaren för att flytta den. Att trycka på Esc eller klicka på ett område utanför kommentaren avbryter markeringen. + Storleksändring är bara tillgänglig för kommentartyperna Fritextkommentar, Skrivmaskinstext, Stämpel och Ellips. + + + vissa alternativ kan vara inaktiverade beroende på dokumentets rättigheter (det påverkar typiskt bara vissa PDF-dokument). + + + + + Bokmärkeshantering + &okular; har ett mycket flexibelt bokmärkessystem. &okular; sparar positionen på sidan i bokmärket, och låter dig definiera mer än ett bokmärke per sida. + Du kan använda vyn Bokmärken i Sidoraden, menyn Bokmärken eller den sammanhangsberoende menyn i dokumentvyn (klicka med höger musknapp så visas den), för att hantera bokmärken i &okular;. + + Bokmärkesvy + Klicka på fliken Bokmärken längst upp på Sidoraden för att öppna Bokmärken. Om Sidoraden inte visas, använd menyalternativet F7 Inställningar Visa sidorad för att göra den synlig. + + Bokmärkesvyns sammanhangsberoende meny + + + + + + Bokmärkesvyns sammanhangsberoende meny + + + + Kryssrutan Visa för alla dokument kan avmarkeras för att bara visa bokmärken från det nuvarande dokumentet. + Filterraden längst upp i Bokmärken kan användas för att filtrera innehållet i rutan med bokmärkeslistan enligt texten i rutan. + Listrutan gör det möjligt att visa bokmärkeslistan på ett trädliknande sätt: Varje dokument i listan kan expanderas eller dras ihop genom att klicka på ikonen < eller v intill det. + Dokumentobjektets högerklicksmeny kan användas för att öppna dokument, byta namn på objektet eller ta bort det från listan. Kom ihåg att om ett dokument tas bort leder det till att alla bokmärken i motsvarande dokument tas bort. + Högerklicksmenyn för enskilda bokmärkesobjekt låter dig gå till bokmärket, byta namn på det eller ta bort det. + Högerklicksmenyn för objekt i innehållsförteckningen kan användas för att skapa bokmärken eller gå till nästa eller föregående bokmärke. + + + + + Kommandoradsväljare + Även om &okular; oftast startas från &kde;:s programmeny, eller en skrivbordsikon, kan den också köras från kommandoraden i ett terminalfönster. Det finns ett antal användbara väljare som är tillgängliga när detta görs. + + Ange en fil + Genom att ange sökvägen och namnet på en viss fil kan användaren låta &okular; öppna filen omedelbart vid start. Väljaren kan se ut ungefär på följande sätt: + % okular + + + För PDF-dokument kan namnet anges som dokumentnamn#namngivet-mål där namngivet-mål är ett visst namngivet mål inbäddat i dokumentet. + + + + Andra kommandoradsväljare + Följande hjälpalternativ är tillgängliga på kommandoraden + + + okular + Öppnar en sida med angivet nummer i dokumentet. Också tillgänglig via okular + + + okular + Öppna dokumentet i presentationsläge. + + + okular + Starta med utskriftsdialogruta. + + + okular + Starta med utskriftsdialogruta och avsluta efter utskrift. + + + okular + Styrning av unik instans. + + + okular + Tillåter eller förhindrar att &okular;s fönster höjs efter start. + + + okular + Försöker hitta och markera en angiven sträng i dokumentet. Fungerar bara om endast ett dokument anges som argument till kommandot okular. + + + okular + Ställer in det externa redigeringskommandot. Du kan inte ställa in redigeringskommandot för en instans av &okular; som redan kör. Observera att inte heller stöds när redigeringskommandot ställs in på kommandoraden. + + + + + + Anpassa fönster till sida + Funktionen för att anpassa fönster till sida ändrar storlek på fönstret så att det är exakt samma storlek som sidan vid aktuell zoomfaktor. Om sidan inte får plats på hela skärmen, förstoras fönstret så att största möjliga del av sidan visas. + Funktionen kan kommas åt genom att använda snabbtangenten &Ctrl;J. + + + + + Menyraden + + + Menyn Arkiv + + + + &Ctrl;O Arkiv Öppna... + + + Öppna en fil som stöds eller ett &okular;-dokumentarkiv. Om det redan finns en öppnad fil kommer den att stängas. För mer information se avsnittet om att öppna filer. + + + + + + Arkiv Öppna senaste + + + Öppna en fil som tidigare använts från en undermeny. Om en fil för närvarande visas kommer den att stängas. För mer information, se avsnittet om att öppna filer. + + + + + + Arkiv Importera Postscript som PDF... + + + Öppna en &PostScript;-fil och konvertera den till PDF. + + + + + + &Ctrl;&Shift;T ArkivÅngra stäng flik + + + Öppna det senast stängda dokumentet igen. Åtgärden är bara aktiv om du har stängt något dokument under en flik i aktuell session. + + + + + + Arkiv Visa innehållande katalog + + + Visar katalogen som innehåller nuvarande dokument i din favoritfilhanterare. Åtgärden är särskilt användbar i fallet då du har laddat ner en &PDF;-fil från Internet som öppnas i &okular;. Filens plats kanske inte är uppenbar eller lätt att hitta utan den här funktionen. + + + + + + &Ctrl;S Arkiv Spara + + + Sparar dokumentet inklusive alla ändringar (kommentarer, formulärinnehåll, etc.) under förutsättning att dokumentgränssnittet stöder att spara ändringarna. Om gränssnittet inte stöder att spara ändringarna, får användaren alternativen att antingen kasta dem eller spara dem tillsammans med dokumentet i ett &okular;-dokumentarkiv. + + + + + + &Ctrl;&Shift;S Arkiv Spara som... + + + Sparar dokumentet med ett annat namn inklusive alla ändringar (kommentarer, formulärinnehåll, etc.) under förutsättning att dokumentgränssnittet stöder att spara ändringarna. Om gränssnittet inte stöder att spara ändringarna, får användaren alternativen att antingen kasta dem eller spara dem tillsammans med dokumentet i ett &okular;-dokumentarkiv. + + Observera att på grund av sättet det är implementerat, kanske inte den nya filen är en exakt bit för bit kopia av den ursprungliga filen, även om inga ändringar har gjorts i filen (t.ex. en annan SHA-1 checksumma, etc.). + + + + + + + F5 Arkiv Uppdatera + + + Ladda om filen som för närvarande är öppen. + + + + + + &Ctrl;P Arkiv Skriv ut... + + + Skriv ut dokumentet som för närvarande visas. Ta hänsyn till att &okular; har några särskilda alternativ för att skriva ut &PDF;, som är tillgängliga genom att klicka på knappen Alternativ +> +>, och därefter välja &PDF; alternativ. Använd dessa alternativ för att skriva ut kommentarer eller ställa in rastreringsläge om du har problem med att skriva ut vissa symboler eller behöver ändra skalningsmetod. + + Skalningsmetodalternativen är bara tillgängliga när alternativet Framtvinga rastrering är markerat. + + + + + + + Arkiv Förhandsgranska utskrift... + + + Visa en förhandsgranskning av hur dokumentet som för närvarande visas skrivs ut med förinställda alternativ. + + + + + + &Alt;Retur Arkiv Egenskaper + + + Visa viss grundläggande information om dokumentet, såsom titel, författare, tillkomstdatum och information om teckensnitt som används. + + Uppmärksamma informationen om att ersätta teckensnitt under fliken Teckensnitt i dialogrutan Egenskaper. Många problem med återgivning av teckensnitt kan lösas genom att installera de ersatta teckensnitt. + + + + + + Arkiv Inbäddade filer... + + + Visar filer inbäddade i dokumentet, om det finns några i det. För mer information, se avsnittet om inbäddade filer. + + + + + + Arkiv Exportera som + + + Alternativet innehåller de exportformat som det aktuella dokumentet kan exporteras till. Det första alternativet för alla sorters dokument är alltid Vanlig text.... + Det andra alternativet är Dokumentarkiv, som låter dig spara dokumentet med dina kommentarer i ett arkivformat specifikt för &okular;. På så sätt är det möjligt att enkelt dela originaldokumentet och dina kommentarer med andra användare av &okular; eller arbeta tillsammans med dem. + + + + + + Arkiv Dela + + + Alternativet innehåller tjänsterna som kan användas för att dela det aktuella dokumentet med andra eller skicka det till olika enheter, Alternativen i undermenyn bestäms av systemet. De beror på det aktuella dokumentformatet och de installerade KPurpose-insticksprogrammen. + + + + + + &Ctrl;Q Arkiv Avsluta + + + Stäng &okular;. + + + + + + + Menyn Redigera + + + + + &Ctrl;Z Redigera Ångra + + + Ångra det senaste redigeringskommandot av kommentarer (att skapa och ta bort kommentarer, redigera godtyckliga kommentar egenskaper, flytta om kommentarer med &Ctrl;+drag, och redigera textinnehållet i en kommentar). + + + + + + &Ctrl; Skift Z Redigera Gör om + + + Gör om det senast ångrade steget när kommentarer redigeras. + + + + + + + + &Ctrl;C Redigera Kopiera + + + Kopiera texten som för närvarande är markerad som Textmarkering till klippbordet. + + + + + + + + &Ctrl;A Redigera Markera alla + + + Markerar all text (om dokumentet tillåter det). Det fungerar bara med Textmarkering valt. + + + + + + + + Redigera Markera all text på aktuell sida + + + Markerar all text (om dokumentet tillåter det) på aktuell sida. + + + + + + + + &Ctrl;F Redigera Sök... + + + Visar sökraden längst ner i visningsområdet som låter dig söka efter en sträng i dokumentet. + + + + + + F3 Redigera Sök igen + + + Försök att hitta den föregående strängen igen i dokumentet. + + + + + + &Shift;F3 Redigera Sök föregående + + + Går till den föregående förekomsten av strängen i dokumentet. + + + + + + + Menyn Visa + + + + &Ctrl;&Shift;P Visa Presentation + + + Aktiverar presentationsläge. För mer information, se avsnittet om presentationsläget. + + + + + &Ctrl;&Shift;F Visa Fullskärmsläge + + + Aktiverar fullskärmsläge. Observera att fullskärmsläge skiljer sig från presentationsläge eftersom det enda unika med fullskärmsläge är att det döljer fönsterdekorationerna, menyraden och verktygsraden. + + + + + &Ctrl;+ Visa Zooma in + + + Ökar förstoringen av dokumentvisningen. + + + + + + &Ctrl;- Visa Zooma ut + + + Minskar förstoringen av dokumentvisningen. + + + + + Visa Zooma till 100 % + + + Zooma dokumentbilden till verklig storlek som föreskrivs av dokumentparametrarna. + + + + + Visa Fyll bredd + + + Ändrar förstoringsgraden för dokumentvisningen till ett värde som gör att sidornas bredd är lika med dokumentvisningens bredd. + + + + + Visa Fyll sidan + + + Ändrar förstoringsgraden för dokumentvisningen till ett värde som åtminstone gör en hel sida synlig. + + + + + Visa Anpassa automatiskt + + + Ändra dokumentvisningens förstoring till ett värde som beror på storleksförhållandet mellan sidan och visningsområdet, automatiskt gör antingen sidans bredd lika med dokumentvisningens bredd (som fyll sidan), sidans höjd lika med dokumentets höjd (som fyll höjd), eller hela sidan (som fyll sidan). + + + + + Visa Vyläge + + + Undermenyn låter dig välja vyläge för sidorna. Möjliga alternativ är: Ensam sida (bara en sida per rad), Uppslag (två sidor per rad, som i en bok), Uppslag (centrera första sidan) och Översikt (antal kolumner anges av &okular;s inställningar). + Du kan dessutom aktivera Kontinuerlig. I kontinuerligt läge visas alla sidorna i ett dokument, och du kan smidigt rulla igenom dem. Annars visas bara en sida (eller en rad av sidor) åt gången. + + + + + Visa Orientering + + + Undermenyn låter dig ändra orientering hos dokumentets sidor. + + Rotationen gäller orienteringen hos alla sidor. + + Du kan välja Ursprunglig orientering för att återställa dokumentets orientering, och kasta rotationer som lagts till för hand. + + + + + Visa Beskär visning + + + Den här undermenyn låter dig ta bort den vita kanten på sidor när de visas (alternativet Bekär marginaler) eller beskära vad som visas till markeringen (alternativet Beskär till markering). + Valet beskär till markering låter dig rita en markering på den återgivna sidan för att definiera en synlig omgivande ruta som gäller alla sidor i dokumentet. Att välja en liten omgivande beskärningsruta tvingar fram minimal storlek på dimensionen (20 % som procentandel av den totala sidstorleken). + Valet beskär marginaler är bestående när &okular; startas om. Valed beskär till markering glöms bort när &okular; startas om. + När du byter från beskär marginaler till beskär till markering i &okular;, hoppar visningen ut från beskär marginaler för att kunna välja omgivande ruta. + Beskärning kan inaktiveras genom att återigen välja samma menyalternativ som aktiverar den. + + + + + Visa Visa/Dölj formulär + + + Visar eller döljer formulärfälten i dokumentet. + + Menyalternativet är bara aktiverat om nuvarande dokument har formulärfält. + + + + + + + + + Menyn Gå + + + + Gå Föregående sida + + + Visa föregående sida i dokumentet. + + + + + Gå Nästa sida + + + Visa nästa sida i dokumentet. + + + + + &Ctrl;Home Gå Början av dokumentet + + + Gå till början av dokumentet. + + + + + &Ctrl;End Gå Slutet av dokumentet + + + Gå till slutet av dokumentet. + + + + + &Alt;&Shift;Vänster Gå Bakåt + + + Gå tillbaka till föregående vy i dokumentet. + + + + + &Alt;&Shift;Höger Gå Framåt + + + Gå framåt till nästa vy i dokumentet. Det fungerar bara om du redan tidigare har gått tillbaka. + + + + + &Ctrl;G Gå Gå till sida... + + + Öppnar en dialogruta som låter dig gå till vilken sida som helst i dokumentet. + + + + + + + Menyn Bokmärken + + + + &Ctrl;B Bokmärken Lägg till/Ta bort bokmärke + + + Lägg till eller ta bort ett bokmärke för nuvarande position. + + + + + Bokmärken Byt namn på bokmärke + + + Byt namn på ett bokmärke för nuvarande position. + + + + + Bokmärken Föregående bokmärke + + + Gå till föregående bokmärke, eller gör ingenting om det inte finns några bokmärken innan det nuvarande. + + + + + Bokmärken Nästa bokmärke + + + Gå till nästa bokmärke, eller gör ingenting om det inte finns några bokmärken efter det nuvarande. + + + + + Bokmärken Inga bokmärken + + + Det här är ett alternativ som alltid är inaktivt och visas bara i menyn om det aktuella dokumentet inte har några bokmärken. Annars visas en lista över alla bokmärken här. Att klicka på ett bokmärke låter dig gå direkt till motsvarande position. + + + + + + + Menyn Verktyg + + + + &Ctrl;1 Verktyg Bläddra + + + Musen har sitt normala beteende, vänsterklick för att dra dokumentet och följa länkar, och högerklick för att lägga till bokmärken och anpassa till sidans bredd. + + + + + &Ctrl;2 Verktyg Zooma + + + Musen fungerar som ett zoomverktyg. Att klicka med vänster musknapp och dra zoomar visningen till markerat område, att klicka med höger musknapp återställer dokumentet till föregående zoomnivå. + + + + + &Ctrl;3 Verktyg Områdesmarkering + + + Musen fungerar som ett markeringsverktyg av rektangulära områden. Om vänster musknapp klickas och dras i det läget så ritas en markeringsruta och alternativet att kopiera markerat innehåll till klippbordet, läsa upp den markerade texten eller omvandla det markerade området till en bild och spara den i en fil. + + + + + &Ctrl;4 Verktyg Textmarkering + + + Musen fungerar som ett textmarkeringsverktyg. Genom att klicka med vänster musknapp och dra erhålls i detta läge möjlighet att markera text i dokumentet. Klicka därefter bara med högerknappen för att kopiera nuvarande markering till klippbordet eller läsa upp den. + + + + + &Ctrl;5 Verktyg Tabellmarkering + + + Rita en rektangel omkring tabellens text, och klicka därefter med vänster musknapp för att dela upp textblocket i rader och kolumner. Ett vänsterklick på en befintlig linje tar bort den och sammanfogar de intilliggande raderna eller kolumnerna. Klicka slutligen med höger musknapp för att kopiera tabellen till klippbordet. + + + + + &Ctrl;6 Verktyg Förstoringsglas + + + Aktiverar förstoringsglaset för muspekaren. Tryck ner och håll vänsterknappen för att aktivera det grafiska förstoringsglaset, flytta pekaren för att panorera i dokumentet. Förstoringsglaset skalar varje bildpunkt i dokumentet till 10 bildpunkter i det grafiska förstoringsglaset. + + + + + F6 Verktyg Kommentarer + + + Visar kommentarverktygsraden. Kommentarverktygsraden låter dig lägga till kommentarer i dokumentet du läser. För mer information, se avsnittet om kommentarer. + + + + + Verktyg Digital signatur... + + + Startar arbetsflödet för att skapa en digital signatur. Tillägg av digitala signaturer stöds för närvarande bara för PDF-filer. Se avsnittet Lägga till digitala signaturer för mer information. + + + + + Verktyg Läs upp hela dokumentet + + + Verktyg Läs upp aktuell sida + + + Verktyg Sluta läsa + + + Verktyg Pausa eller återuppta uppläsning + + + Alternativen låter dig läsa upp hela dokumentet eller bara aktuell sida och stoppa läsningen genom att använda systemets taltjänst. Tjänsten tillhandahålls av ett &Qt;-bibliotek som omger speech-dispatcher på &Linux;, och ett inbyggt talsystem på andra plattformar. Det är möjligt att välja aktuell röst via inställningssidan Handikappstöd i &okular;. + Alternativen Läs upp... är bara aktiverade om en taltjänst är tillgängligt på systemet. + + + + + + + Menyerna Inställningar och Hjälp + Förutom de vanliga menyerna Inställningar och Hjälp i &kde; som beskrivs i kapitlet Meny i dokumentet &kde;:s grunder, har &okular; följande programspecifika menyalternativ: + + + + F7 Inställningar Visa sidorad + + + Visar eller döljer sidoraden. + + + + + Inställningar Visa sidrad + + + Visa eller dölj sidraden längst ner i dokumentområdet för att spara vertikal plats i &okular;s fönster. Observera att sidnummer ändå visas på standardverktygsraden. + + + + + Inställningar Anpassa gränssnitt... + + + Öppnar fönstret Inställning av gränssnitt. + + + + + + + + Anpassar &okular;s gränssnitt + Du kan ställa in &okular;s gränssnitt genom att välja Inställningar Anpassa gränssnitt.... För närvarande tillhandahålls bara inställningsalternativ för Epub-, &PostScript;-, FictionBook-, Text-, OpenDocument-text- och PDF-gränssnitten. + + Inställningsdialogrutan för gränssnitt + + + + + + Inställningsdialogrutan för gränssnitt + + + + Genom att använda inställningssidorna för EPub, Fictionbook, Mobipocket, Markdown, text och OpenDocument text kan man definiera teckensnitt att återge dokument med i motsvarande format. Knappen Välj... på dessa sidor öppnar det vanliga inställningsfönstret för teckensnitt i &kde;. Se &kde;:s grunder för detaljinformation. + Beskrivningen av inställningssidorna för Markdown, &PostScript;- och PDF-gränssnitten finns nedan. + + Markdown-gränssnittsinställning + Du kan anpassa &okular;s gränssnitt för Markdown-återgivning baserat på Discount genom att välja Markdown i listan till vänster på inställningsdialogrutan. Ett ytterligare inställningsbart alternativ är följande. + + + + + Aktivera SmartyPants-formatering + + + När markerat gör alternativet det möjligt för &okular; att behandla formatering med SmartyPants. Sådan formatering kan vara problematisk i teknisk text på grund av oönskade ersättningar (t.ex. ersätter den (C) med en copyright-symbol). Alternativet är normalt markerat. + + + + + + + &PostScript;-gränssnittsinställning + Du kan anpassa &okular;s gränssnitt för &PostScript;-återgivning baserat på Ghostscript genom att välja Ghostscript i listan till vänster på inställningsdialogrutan. Det enda inställningsbara alternativet är följande. + + + + + Använd plattformens teckensnitt + + + Alternativet bestämmer om Ghostscript ska tillåtas använda plattformens teckensnitt. Om omarkerad tillåts bara användning av teckensnitt som är inbäddade i dokumentet. Alternativet är normalt markerat. + + + + + + + PDF-gränssnittsinställning + Du kan anpassa &okular;s gränssnitt för PDF-återgivning baserat på Poppler genom att välja PDF i listan till vänster på inställningsdialogrutan. Det enda inställningsbara alternativet är följande. + + + + + Förtydliga tunna linjer + + + Att rita linjer i &okular; implementeras i två steg: skapa klippningskonturen och fylla i denna kontur. När linjen i originaldokumentet är mindre än en bildpunkt kan denna tvåstegsimplementering orsaka problem. För dessa linjer fylls klippningskonturen med fyllnadsfärgen som beror på tjockleken hos linjedelen inne i klippningsområdet. Om delen av linjen inne i klippningsområdet blir mycket liten kan kontrasten mellan formen och bakgrundsfärgen bli för dålig för att linjen ska gå att känna igen. Rutnät av sådana linjer ser mycket osnygga ut. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Tunn linje (röd), dess klippningskontur (streckad linje) och bildpunktsgränser (svarta heldragna linjer) + Tunn linje som visas med dålig kontrast + + + + + För att förbättra utseendet hos tunna linjer, implementerar &okular; två alternativ. + Det första alternativet är Heldragen. Med detta alternativ justerar &okular; klippningskonturen och linjepositionen så att klippningskonturen och linjen är på samma bildpunktsgräns, dvs. &okular; förstorar tunna rader till en bildpunkt på utenheten. Läget liknar Enhance thin lines i AdobeReader. Om alternativet väljes, förstoras alltid tunna linjer. + + + + + + + + Tunn rad med Heldragen-förbättring + + + Tunn rad med Heldragen-förbättring + + + + + Det andra alternativet är Form. Med detta alternativ justeras klippningskonturen och linjen också till bildpunktsgränser, men linjens intensitet korrigeras i enlighet med dess bredd. + + + + + + + + Tunn rad med Form-förbättring + + + Tunn rad med Form-förbättring + + + + + Tunna rader förtydligas inte normalt (alternativet Nej). + + + + + + &PDF; digitala signaturcertifikat + + Sidan låter dig ange en egen certifikatdatabas att använda när digitala signaturer läggs till i &PDF;-filer. + Den listar också tillgängliga certifikat i den nuvarande certifikatdatabasen (om det finns några). + + + + + Anpassa &okular; + + Allmän inställning + Du kan ställa in &okular; genom att välja Inställningar Anpassa &okular;.... Inställningsdialogrutan är uppdelad i sex sidor. Det här kapitlet beskriver de tillgängliga alternativen i detalj. + + + Allmänt + + + Handikappstöd + + + Prestanda + + + Presentation + + + Kommentarer + + + Editor + + + + Inställningsdialogrutan + + + + + + Inställningsdialogrutan + + + + Beroende på vilka gränssnitt som för närvarande är installerade, kan menyalternativet Inställningar Anpassa gränssnitt... vara aktiverat. Den särskilda inställningsdialogrutan innehåller inställningar för de gränssnitt som verkligen går att ställas in. + + + Allmänt + + + Använd jämn panorering + + Om animerade övergångar ska visas vid panorering med mushjulet eller tangentbordet. + + + + Visa rullningslister + + Om rullningslister ska visas i dokumentvisningen. + + + + Länka miniatyrbilder med sidan + + Om miniatyrbildsvyn alltid ska visa nuvarande sida eller inte. + + + + Visa tips och informationsmeddelanden + + Om vissa informationsmeddelanden ska visas vid start, laddning av filer, etc. + + + + Underrätta om inbäddade filer, formulär eller signaturer + + Om informationsrutor om inbäddade filer, formulär eller signaturer etc. ska visas. + + + + Visa dokumenttitel i namnlisten om tillgänglig + + Om nuvarande dokuments titel ska visas i namnlisten på &okular;s fönster. Om ingen metadata hittas för titeln i dokumentet eller om det här alternativet inte är markerat, visar &okular; dokumentets filnamn. + + + + När dokumenttitel inte visas + + Du kan välja ett av två alternativ, Visa bara filnamn eller Visa fullständig filsökväg. + + + + Använd egen bakgrundsfärg + + Aktiverar val av dokumentets bakgrundsfärg (färgen omkring den visade sidan). Normal används färgen från &Qt;-verktygslådan när alternativet inte är markerat. + + + + Öppna nya filer under flikar + + Om nya dokument ska öppnas i flikar. Flikarna är normalt inaktiverade. + Standardgenvägarna för att byta mellan flikar är &Ctrl;. (Nästa flik) och &Ctrl;, (Föregående flik). + + + + Byt till befintlig flik om filen redan är öppen + + Om &okular; ska byta till en flik om filen redan är öppen istället för att öppna en ny flik. Alternativet är normalt aktiverat. Kan bara ändras om Öppna nya filer under flikar är aktiverat. + + + + Lyd DRM-begränsningar + + Om &okular; ska lyda begränsningar enligt DRM (Digital Rights Management). DRM-begränsningar används för att göra det omöjligt att utföra vissa åtgärder med PDF-dokument, som att kopiera innehållet till klippbordet. Observera att i vissa versioner av &okular; är alternativet inte tillgängligt. + + + + Laddar om dokumentet om filen har ändrats + + Om öppnade filer automatiskt ska kontrolleras efter ändringar och uppdaterade om nödvändigt. + + + + Visa dialogruta för val av gränssnitt + + Om &okular; ska fråga användaren vilket gränssnitt som ska användas i fallet då fler än ett gränssnitt kan öppna nuvarande fil. Om det inte markerat använder &okular; gränssnittet med högst prioritet. + + + + Läsriktning från höger till vänster + + Om läsriktning från höger till vänster normalt ska användas för öppnade filer. Kan vara användbart för vissa skriftspråk. + + + + Öppna normalt i kontinuerligt läge + + Om kontinuerligt läge normalt ska användas. I kontinuerligt läge visas alla sidorna i ett dokument, och du kan smidigt rulla igenom dem. Annars visas bara en sida (eller en rad av sidor) åt gången. + + + + När bläddringsverktyget används, låt markören gå rund vid skärmkanterna + + Tillåter obegränsad rullning i hela dokumentet med bläddringsverktyget. Om aktiverat, går markören runt till skärmens motsatta sida när den rör vid kanterna medan dokumentet dras. Funktionen stöds bara på X11. + + + + Översiktskolumner + + Alternativen representerar antal kolumner att använda i översiktsläget. + + + + Page Up- och Page Down-överlappning + + Här kan du definiera procentandelen av det aktuella vyområdet som ska vara synligt efter att ha tryckt på tangenterna Page Up eller Page Down. + + + + Förvald zoomning + + Alternativet definierar förvalt zoomläge för filer som aldrig har öppnats tidigare. För de filer som har öppnats tidigare används föregående zoomläge. + + + + + + Handikappstöd + + + Rita ram runt länkar + + Om en ram ska ritas omkring länkar. + + + + Ändra färger + + Aktiverar färgändringsalternativen. + + + + Färgläge + + Definierar färgändringsläget. + + + Invertera färger + + Inverterar färgerna i vyn, dvs. svarta saker visas som vita. + + + + Ändra pappersfärg + + Ändrar pappersfärg, dvs dokumentets bakgrund. + Färgen kan väljas genom att använda rutan Pappersfärg nedan. + + + + Ändra ljusa och mörka färger + + Ändrar mörka och ljusa färger till vad du önskar. Det betyder att svart inte återges som svart utan som den valda mörka färgen, och vitt inte återges som vitt utan som den valda ljusa färgen. + + + + Konvertera till svartvitt + + Konverterar dokumentet till svartvitt. Du kan ställa in tröskel och kontrast. Att ställa in tröskeln till ett större värde genom att flytta den åt höger gör att ljusare grå färger används. + + + + Invertera ljushet + + Inverterar alla färgers ljushet. Ljusa och mörka färger byts, men färgton och färgmättnad påverkas inte. Kontrasten i bilderna är oftast sämre än för Invertera luminans (sRGB-linjär). + + + + Invertera luminans (sRGB-linjär) + + Inverterar alla färgers luminans. Ljus och mörk byts, men färgton och färgmättnad påverkas inte. Kontrasten i bilderna bevaras bättre än för Invertera ljushet, men grafik och färgglad text ser ofta värre ut. Använder sRGB luminanskoefficienter, men ingen gammakorrigering. + + + + Invertera luminans (symmetrisk) + + Inverterar alla färgers luminans, genom att använda luminanskoefficienter. Ljus och mörk buts, men färgton och färgmättnad påverkas inte. Mycket lik Invertera ljushet, men kontrasten är bättre i vissa fall. + + + + Skifta färgton positivt + + Skiftar alla färgers färgton med 120 grader. Kan mildra vissa kontrastproblem i färgglad grafik. + + + + Skifta färgton negativt + + Skiftar alla färgers färgton med 240 grader. Kan mildra vissa kontrastproblem i färgglad grafik. + + + + Du kan anpassa snabbtangenter och verktygsåtgärder för färglägen genom att använda motsvarande menyalternativ i menyn Inställningar i &okular;s huvudfönster. + + + + Text till tal-gränssnitt + + Låter dig välja text-till-tal (TTS) gränssnitt som ska användas av &okular;. Förvalt värde är speechd TTS. + + + + Text till tal-röst + + Låter dig välja en röst för text-till-tal gränssnittet som ska användas av &okular;. Du kan använda alla språk och röster beroende på tillgänglig talsyntes på plattformen. På &Linux; används speech-dispatcher normalt för att avgöra tillgängliga röster. + + + + + + Prestanda + + + Aktivera genomskinlighetseffekter + + Ritar markeringar och annan specialgrafik med genomskinliga effekter. Inaktivera alternativet för att rita dem med konturlinjer eller ogenomskinlig ifyllnadsstil och öka hastighet vid markering. + + + + Minnesanvändning + + &okular; kan uppnå bästa prestanda genom att finjustera minnesanvändning baserat på din dator och vad du föredrar. Ju mer minne du låter programmet använda, desto snabbare beter det sig. Normalprofilen är bra för alla system, men du kan förhindra att &okular; använder mer minne än nödvändigt genom att välja profilen Låg, eller låta det få ut så mycket som möjligt av datorn med Omfattande. Använd profilen Glupsk för att läsa in alla sidor i förväg utan risk för att systemminnet blir överfullt (bara 50% av det totala minnet eller det lediga minnet används). + + + + Återgivningsalternativ + + Genom att använda den här gruppen alternativ kan du förbättra återgivning av text och bilder i &okular;. Resultatet beror på enheten som används för att visa dokumentet. Alternativen Aktivera kantutjämning för text och Aktivera kantutjämning för grafik kan användas för att sätta på och stänga av kantutjämning för text och bilder i dokument, på motsvarande sätt är alternativet Aktivera textantydan avsett att hantera textantydan. Kantutjämning och antydan ändrar hur dokumenten visas, så du kanske vill finjustera dem enligt dina önskemål. + + + + + + Presentation + + + Gå vidare efter + + Aktiverar att automatiskt gå vidare till nästa sida efter ett givet tidsintervall. + + + + Börja om efter sista sidan + + Vid förflyttning i presentationsläge förbi sista sidan, visas den första sidan igen. + + + + Beröringsnavigering + + Låter dig finjustera pekskärmsnavigering med tryck på presentationen med följande tre möjliga värden: + + + Tryck på vänster eller höger sida för att gå bakåt eller framåt: Tryck på vänster (höger) sida av skärmen gör att presentationen går till föregående (nästa) bild. + + + Tryck var som helst för att gå framåt (normalvärde): Tryck på skärmen gör att presentationen går till nästa bild, oberoende av var man trycker på skärmen. + + + Inaktiverad: Tryck på skärmen gör ingenting. + + + + + + Bakgrundsfärg + + Färgen som fyller den del av skärmen som inte täcks av sidan i presentationsläge. + + + + Musmarkör + + Om musen alltid ska vara dold, alltid visas, eller döljas efter en kort stunds inaktivitet. + + + + Visa förloppsindikering + + Om en förloppsindikering i form av en cirkel ska visas i övre högra hörnet av presentationsskärmen varje gång du byter sida, vilken anger nuvarande sida och totalt antal sidor. + + + + Visa översiktssida + + Om en översiktssida ska visas i början av presentationen med titel, författare och antal sidor i dokumentet. + + + + Aktivera övergångar + + Använd kryssrutan för att aktivera eller inaktivera övergångseffekter mellan sidor. + + + + Förvald övergång + + Övergången mellan sidor om dokumentet inte anger en. Ställ in den till Slumpmässig övergång för att låta &okular; slumpmässigt välja en av de tillgängliga effekterna. + + + + Placering + + På den här sidan kan du välja Skärm som används för att visa presentationen. + Aktuell skärm är samma skärm som &okular;s fönster som startar presentationsläget. + Standardskärm är skärmen som är markerad som standard i Xinerama-inställningen. + Skärm 0, Skärm 1, etc. är de tillgängliga skärmarna. + + + + Inställning av ritverktyg + + Hantera färger för pennan som används för att rita på sidorna i presentationsläge. + + + + + + Kommentarer + + Kommentarsidan i inställningsdialogrutan + + + + + + Kommentarsidan i inställningsdialogrutan + + + + + + Kommentarverktygsrad + + Gör det möjligt att byta mellan Fullständig kommentarverktygsrad (förvald verktygsrad i den övre delen av &okular;s fönster) och Snabbkommentarverktygsrad (glidande verktygsrad med dina favoritverktyg på höger sida i dokumentrutan). + + + + Författare + + Författaren till innehåll tillagt i ett dokument. Normalt är det namnet från sidan Lösenord och användarkonton, i systeminställningarnas modul Kontoinformation. + + + + Kommentarverktyg + + Rutan används för att ställa in kommentarverktygsraden. + Det finns fem knappar (Lägg till, Redigera, Ta bort, Flytta upp, Flytta ner) och en listruta (som visar innehållet i den nuvarande kommentarverktygsraden), som används för att anpassa verktygsraden. + Om du behöver lägga till någon verktygsknapp i verktygsraden, klicka på knappen Lägg till. Du kan välja Namn, Typ och Utseende på verktyget som skapas. + + Kom ihåg att kommentarverktygen i &okular; är väldigt anpassningsbara. Du kan exempelvis ha två knappar för samma verktyg men med olika färger. Tveka inte att experimentera för att välja just den uppsättning knappar som är exakt skräddarsytt för ditt arbetsflöde. + + Klicka på något objekt i listrutan och klicka därefter på motsvarande knapp till höger på sidan för att redigera, ta bort, flytta upp eller flytta ner objektet. Verktygets snabbtangent (tangenterna från 1 till 9) beror på dess position i listan med kommentarverktyg. + + + + Använda egna stämplar + + + Skapa ikonen som du vill använda för din egen stämpel och spara den med något grafikformat som stöds av &okular; + Klicka på knappen Lägg till, välj typen Stämpel och skriv in ett namn på stämpeln. + Skriv in fullständig sökväg till din egna ikon i kombinationsrutan under rubriken Stämpelsymbol + + + + + + + Editor + + + Editor + + Välj editor du vill starta när &okular; vill öppna en källfil. Det är fallet när dokumentet har referenser till de olika ställen (oftast rad- och kolumnnummer) i källan det skapades från. &DVI;-formatet har inbyggt stöd för information om källan i &latex;-dokumentet det skapades från. Ett liknande system finns för &PDF;-dokument, som kallas pdfsync, som lagrar extrainformationen i en extern fil som namnges efter själva &PDF;-filen (till exempel mitt_dokument.pdfsync för mitt_dokument.pdf). + &okular; levereras med förinställningar för följande editorer: &kate;, Kile, SciTE, &Emacs;-klient, LyX-klient, TeXstudio och TeXiFy IDEA. + + För att använda omvänd sökning i &kile; måste &latex;-filen kompileras med Modern konfiguration. + + + + + Kommando + + Det här är kommandot och dess parametrar för att starta vald editor med källfilen för aktuellt dokument. + Fältet fylls i automatiskt om en av de förinställda editorerna används. Välj annars Egen texteditor i kombinationsrutan Editor och titta i dokumentationen för din favoriteditor för att hitta det riktiga kommandot. + Följande platsmarkörer kan användas: + + + %f - filnamnet + + + %l - raden i filen som ska visas + + + %c - kolumnen i filen som ska visas + + + Om %f inte anges, läggs dokumentnamnet till sist i det angivna kommandot. + + + + + + + Tack till och licens + + + Program Copyright: + &Albert.Astals.Cid; &Albert.Astals.Cid.mail; Nuvarande underhåll + Pino Toscano pino@kde.org + Enrico Ros eros.kde@email.itUtvecklare av &kpdf; + + + + Dokumentation Copyright: + &Albert.Astals.Cid; &Albert.Astals.Cid.mail; Författare + Titus Laska titus.laska@gmx.de Vissa uppdateringar och tillägg + Pino Toscano pino@kde.org + + Översättning Stefan Asserhäll stefan.asserhall@bredband.net &underFDL; &underGPL; + + &documentation.index; +
    + + + diff --git a/po/sv/docs/okular/man-okular.1.docbook b/po/sv/docs/okular/man-okular.1.docbook new file mode 100644 index 0000000..1ef822f --- /dev/null +++ b/po/sv/docs/okular/man-okular.1.docbook @@ -0,0 +1,252 @@ + + +]> + + + + +Okular användarhandbok +YuriChornoivan Okular manualsida. yurchor@ukr.net +2022-02-19 +Okular 22.04 +KDE Gear + + + +okular +1 + + + +okular +ett generellt dokumentvisningsprogram + + + +okular Okular-väljare webbadress + + + +Beskrivning +okular har som mÃ¥l att visa dokument av olika format. + + + +Okular-väljare + + + + + +Öppna en angiven sida i dokumentet. + + + + + + +Öppna dokumentet i presentationsläge. + + + + + + +Starta med utskriftsdialogruta. + + + + + + +Starta med utskriftsdialogruta och avsluta efter utskrift. + + + + + + +Styrning av unik instans. + + + + + + +TillÃ¥ter eller förhindrar att Okulars fönster höjs efter start. + + + + + + +Sök efter en sträng i texten. + + + + + + +Ställer in det externa redigeringskommandot. Du kan inte ställa in redigeringskommandot för en instans av Okular som redan kör. Observera att inte heller stöds när redigeringskommandot ställs in pÃ¥ kommandoraden. + + + + + +Väljare + + + + +En adress till dokumentet som ska öppnas. För PDF kan namnet anges som dokumentnamn#namngivet-mÃ¥l där namngivet-mÃ¥l är ett visst namngivet mÃ¥l inbäddat i dokumentet. + + + + + +Återkoppling +PÃ¥ IRC, irc.libera.chat #okular, via e-post okular-devel@kde.org, eller pÃ¥ webben <http://okular.kde.org/> + + + +Se ocksÃ¥ + +Mer detaljerad användardokumentation är tillgänglig via help:/okular (skriv antingen in webbadressen i &konqueror;, eller kör khelpcenter help:/okular). +kf5options(7) +qt5options(7) +Det finns ocksÃ¥ ytterligare information tillgänglig pÃ¥ http://okular.kde.org/ + + + +Copyright +Copyright © 2002 Wilco Greven, Christophe Devriese +Copyright © 2004-2005 Enrico Ros +Copyright © 2005 Piotr Szymanski +Copyright © 2004-2012 Albert Astals Cid +Copyright © 2006-2009 Pino Toscano +Licens: GNU General Public Version 2 <http://www.gnu.org/licenses/gpl-2.0.html> + + + diff --git a/po/sv/okular.po b/po/sv/okular.po new file mode 100644 index 0000000..61a53cd --- /dev/null +++ b/po/sv/okular.po @@ -0,0 +1,6805 @@ +# translation of okular.po to Swedish +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# SPDX-FileCopyrightText: 2007, 2008, 2009, 2010, 2024, 2025 Stefan Asserhäll +# Stefan Asserhall , 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-11-15 21:24+0100\n" +"Last-Translator: Stefan Asserhäll \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 25.08.3\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Stefan Asserhäll" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "stefan.asserhall@gmail.com" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Okular, ett generellt dokumentvisningsprogram" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"© 2002 Wilco Greven, Christophe Devriese\n" +"© 2004-2005 Enrico Ros\n" +"© 2005 Piotr Szymanski\n" +"© 2004-2017 Albert Astals Cid\n" +"© 2006-2009 Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "Tidigare utvecklare" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "" +"Mycket arbete med ramverket, gränssnitt för FictionBook och tidigare " +"gränssnitt för ODT" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "Utvecklare" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymanski" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "Skapade Okular frÃ¥n KPDF:s kodbas" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "Enrico Ros" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "KPDF-utvecklare" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "Eugene Trounev" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "Grafik för kommentarer" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "Jiri Baum - NICTA" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "Tabellmarkeringsverktyg" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "Fabio D'Urso" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "Förbättringar av kommentarer" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "GÃ¥ till sida %1" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "Öppna extern fil" + +#: core/action.cpp:197 +#, kde-format +msgid "Execute '%1'…" +msgstr "Kör '%1'…" + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "Första sidan" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "FöregÃ¥ende sida" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "Nästa sida" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "Sista sidan" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "Tillbaka" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "FramÃ¥t" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Avsluta" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "Starta presentation" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "Avsluta presentation" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "Sök…" + +#: core/action.cpp:314 +#, kde-format +msgid "Go To Page…" +msgstr "GÃ¥ till sida…" + +#: core/action.cpp:365 +#, kde-format +msgid "Play sound…" +msgstr "Spela ljud…" + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "Javascript-skript" + +#: core/action.cpp:483 +#, kde-format +msgid "Play movie…" +msgstr "Spela film…" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "Spela film" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "Stoppa film" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "Pausa film" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "Återuppta film" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "Den här versionen av Okular är byggt utan ljudstöd" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "Välj gränssnitt" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
    %1 (%2).

    Please select which one to use:
    " +msgstr "" +"Mer än ett gränssnitt hittades för Mime-typen:
    %1 (%2).

    Välj vilken som ska användas:
    " + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "De flesta sidor är %1" + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "Stående %1" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "Liggande %1" + +#: core/document.cpp:246 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 × %2 tum (%3)" + +#: core/document.cpp:248 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 × %2 mm (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "Fortsätter sökning från början" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "Fortsätter sökning från slutet" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "" +"Kan inte hitta ett insticksprogram som klarar av att hantera det " +"överskickade dokumentet." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "Signering inte implementerad för dokumenttypen" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "ta bort kommentarerna" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"Dokumentet försöker köra ett externt program, och för din säkerhet tillåter " +"inte Okular det." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "Inget program hittades för att öppna filen med Mime-typen %1." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "Kunde inte öppna en tillfällig fil" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "Utskriftskonvertering misslyckades" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "Utskriftsprocessen kraschade" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "Utskriftsprocessen kunde inte starta" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "Utskrift till fil misslyckades" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "Skrivaren har ett ogiltigt tillstånd" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "Kan inte hitta filen att skriva ut" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "Det fanns ingen fil att skriva ut" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"Kunde inte hitta ett lämpligt binärprogram för utskrift. Försäkra dig om att " +"CUPS binärprogram lpr är tillgängligt." + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "Sidans utskriftsstorlek är inte giltig" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "Kunde inte öppna \"%1\". Filen finns inte." + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Titel" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Ämne" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Beskrivning" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "Författare" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Skapare" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Producent" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "Copyright" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "Sidor" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Skapad" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Ändrad" + +#: core/document.cpp:6032 +#, kde-format +msgid "MIME Type" +msgstr "MIME-typ" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "Kategori" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Nyckelord" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "Filsökväg" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "Filstorlek" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "Sidstorlek" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "lägg till kommentar" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "ta bort kommentarer" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "ändra kommentarens egenskaper" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "översätt kommentarer" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "justera kommentar" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "redigera text" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "redigera kommentarens innehåll" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "redigera formulärets innehåll" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "redigera listval i formuläret" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "redigera kombinationsval i formuläret" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "redigera knapptillstånd i formuläret" + +#: core/generator.cpp:790 +#, kde-format +msgid "Plain &Text…" +msgstr "Vanlig &text…" + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "OpenDocument-text" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "Utskriftsalternativ" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "Anpassa till utskrivbart område" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "Anpassa till hela sidan" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "Skalningsmetod:" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "Visa inte meddelandet igen" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "Inte tillgänglig" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" +"Internt signeringsfel. Rapportera ett fel med stegen för att återskapa det. " +"Felkod %1" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "Kunde inte signera dokument: %1" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "Signering avbruten av användaren" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "Kunde inte signera. Felaktig lösenordsfras" + +#: core/signatureutils.cpp:504 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" +"Kunde inte skriva signerat dokument i %1, säkerställ " +"att en katalog med skrivbehörighet är vald" + +#: core/signatureutils.cpp:506 +#, kde-format +msgid "Unknown signing error" +msgstr "Okänt signeringsfel" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Källa: %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "Stan&dardteckensnitt:" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "Version" + +#: gui/certificatemodel.cpp:41 +#, kde-format +msgid "Serial Number" +msgstr "Serienummer" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "Utfärdare" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "Utfärdad" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "Utgår" + +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Rubrik" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "Öppen nyckel" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "Nyckelanvändning" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "V%1" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "%1 (%2 bitar)" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "Egenskap" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "Värde" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "Anmärkningsruta" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "Skrivmaskinstext" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "Fritextanmärkning" + +#: gui/guiutils.cpp:56 +#, kde-format +msgid "Arrow with Comment" +msgstr "Pil med kommentar" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "Pil" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "Rät linje med kommentar" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "Rät linje" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "Polygon med kommentar" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "Polygon" + +#: gui/guiutils.cpp:71 +#, kde-format +msgid "Rectangle with Comment" +msgstr "Rektangel med kommentar" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "Rektangel" + +#: gui/guiutils.cpp:74 +#, kde-format +msgid "Ellipse with Comment" +msgstr "Ellips med kommentar" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "Ellips" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "Markering med kommentar" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "Markerad" + +#: gui/guiutils.cpp:87 +#, kde-format +msgid "Squiggle with Comment" +msgstr "Vågig med kommentar" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "Vågig" + +#: gui/guiutils.cpp:91 +#, kde-format +msgid "Underline with Comment" +msgstr "Understreck med kommentar" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "Understrykning" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out with Comment" +msgstr "Överstrykning med kommentar" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "Överstruken" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "Stämpel med kommentar" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "Stämpel" + +#: gui/guiutils.cpp:106 +#, kde-format +msgid "Freehand Line with Comment" +msgstr "Frihandslinje med kommentar" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "Frihandslinje" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "Infogning" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "Bilagd fil" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "Ljud" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "Film" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Skärm" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "Grafisk komponent" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "Rik media" + +#: gui/guiutils.cpp:144 +#, kde-format +msgid "Annotation" +msgstr "Kommentar" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "Okänd" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Författare: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "Var vill du spara %1?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "Kunde inte öppna \"%1\" för skrivning. Filen sparades inte." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "Signaturen är kryptografiskt giltig." + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "Signaturen är kryptografiskt ogiltig." + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "Missanpassning av sammandrag uppstod." + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "Signaturens CMS/PKCS7-struktur har felaktig format." + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "Den begärda signaturen finns inte i dokumentet." + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "Signaturen kunde inte verifieras." + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "Certifikatet är pålitligt." + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "Certifikatutfärdaren är inte pålitlig." + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "Certifikatutfärdaren är okänd." + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "Certifikatet har återkallats." + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "Certifikatet har utgått." + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "Certifikatet har inte ännu verifierats." + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "Certifikatvalidering pågår" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "Okänt problem med certifikatet eller skadad data." + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "MD2" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "MD5" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "SHA1" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "SHA256" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "SHA384" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "SHA512" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "SHA224" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "Okänd algoritm" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "RSA" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "DSA" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "EC" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "Okänd typ" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "Digital signatur" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "Oavvislighet" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "Kryptera nycklar" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "Avkryptera nycklar" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "Nyckelöverensstämmelse" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "Signaturens certifikat" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "Signaturens certifikatspärrlista" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "Enbart kryptera" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "Ingen användning angiven" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr ", " + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "Dokumentet har inte ändrats efter det signerades." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" +"Utgåvan av dokumentet som signaturen gäller har inte ändrats,\n" +"dock har senare ändringar gjorts av dokumentet." + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" +"Dokumentet har ändrats på ett sätt som inte tillåts av en tidigare signatur." + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "Dokumentets integritetsverifikation kunde inte slutföras." + +#: gui/signatureguiutils.cpp:208 +#, kde-format +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "Dokumentet har signaturplatsfält." + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "Dokumentet är digitalt signerat." + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "" +"Dokumentet är digitalt signerat. Ändringar har gjorts sedan det senast " +"signerades." + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" +"Dokumentet är digitalt signerat. Vissa av signaturerna kunder inte " +"verifieras tillfredsställande." + +#: gui/signaturemodel.cpp:141 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "Signaturplats %1" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "Fält: %1 på sida %2" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "Utgåva %1: Signerad av %2" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "Signeringstid: %1" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "Orsak: %1" + +#: gui/signaturemodel.cpp:177 +#, kde-format +msgid "Location: %1" +msgstr "Plats: %1" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "PGP-signatur" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "Adobe PKCS7" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "Adobe PKCS7 Sha1" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "ETSI CAdES" + +#: gui/signaturemodel.cpp:193 +#, kde-format +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "Okänd" + +#: gui/signaturemodel.cpp:195 +#, kde-format +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "Signaturplats" + +#: gui/signaturemodel.cpp:201 +#, kde-format +msgid "Signature Type: %1" +msgstr "Signaturtyp: %1" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "Röd" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "Orange" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "Gul" + +#: part/annotationactionhandler.cpp:151 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "Grön" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "Turkos" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "Blå" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "Magenta" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "Vit" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "Grå" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "Svart" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "Bredd %1" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1 %" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "Kommentarlinjebredd (ingen kommentar markerad)" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "Kommentarfärg (ingen kommentar markerad)" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "Kommentarfyllnadsfärg (ingen kommentar markerad)" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "Kommentarogenomskinlighet (ingen kommentar markerad)" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "Kommentarteckensnitt (ingen kommentar markerad)" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" +"Lägg till aktuell kommentar i snabbkommentarmenyn (ingen kommentar markerad)" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" +"Begränsa formproportion till 1:1 eller linjevinkel till 15° steg (ingen " +"kommentar markerad)" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" +"Avancerade inställningar för det aktuella kommentarverktyget (ingen " +"kommentar markerad)" + +#: part/annotationactionhandler.cpp:308 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Kommentarlinjebredd" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "Kommentarlinjebredd (aktuell kommentar har ingen linjebredd)" + +#: part/annotationactionhandler.cpp:314 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Kommentartextfärg" + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "Kommentarkantfärg" + +#: part/annotationactionhandler.cpp:318 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Kommentarfärg" + +#: part/annotationactionhandler.cpp:322 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Kommentarfyllnadsfärg" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "Kommentarfyllnadsfärg (aktuell kommentar har ingen fyllnadsfärg)" + +#: part/annotationactionhandler.cpp:328 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "Kommentarteckensnitt" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "Kommentarteckensnitt (aktuell kommentar har inget teckensnitt)" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "Begränsa linjevinkel till 15° steg" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "Begränsa formproportion till 1:1" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" +"Begränsa formproportion till 1:1 eller linjevinkel till 15° steg (stöds inte " +"av nuvarande kommentar)" + +#: part/annotationactionhandler.cpp:341 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Kommentarogenomskinlighet" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "Lägg till aktuell kommentar i snabbkommentarmenyn" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "Avancerade inställningar för det aktuella kommentarverktyget" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "Färg" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "Fyllnadsfärg" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "Genomskinlig" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "Egen färg…" + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "Välj färg" + +#: part/annotationactionhandler.cpp:552 +#, kde-format +msgid "&Annotations" +msgstr "Komment&arer" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "Dölj" + +#: part/annotationactionhandler.cpp:554 +#, kde-format +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Visa fler kommentarverktyg" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "Märkpenna" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "Stryk under" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "Vågig" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "Stryk över" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Skrivmaskinstext" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "Fritextanmärkning" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "Anmärkningsruta" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "Frihandslinje" + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "Rät linje" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "Pil" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "Rektangel" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "Ellips" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "Polygon" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "Geometriska former" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "Stämpel" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Snabbkommentarer" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "Välj ett kommentarverktyg i snabbkommentarer" + +#: part/annotationactionhandler.cpp:651 +#, kde-format +msgid "Quick Annotation Bar" +msgstr "Snabbkommentarrad" + +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "Lägg till i snabbkommentarer" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "Behåll aktivt" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "Behåll kommentarverktyget aktivt efter användning" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "Begränsa förhållande och vinkel för kommentarverktyg" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "Teckensnitt" + +#: part/annotationactionhandler.cpp:681 +#, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Kommentarinställningar" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "Linjebredd" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "Ogenomskinlighet" + +#: part/annotationactionhandler.cpp:696 +#, kde-format +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1 %" + +#: part/annotationmodel.cpp:320 +#, kde-format +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "Sida %1 (%2)" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "Sida %1" + +#: part/annotationpopup.cpp:85 +#, kde-format +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "Kommentar" +msgstr[1] "%1 kommentarer" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "Ö&ppna anmärkningsruta" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Ta bort bokmärke" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Lägg till bokmärke" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, kde-format +msgid "Copy Text to Clipboard" +msgstr "Kopiera text till klippbordet" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "Kopiering inte tillåten av DRM" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "&Ta bort" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "&Egenskaper" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, kde-format +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "&Spara '%1'…" + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "&Utseende" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "A&llmänt" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&Författare:" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "Skapad:" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "Ändrad:" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "Anmärkningsegenskaper" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "Skrivmaskinsegenskaper" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "Fritextegenskaper" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "Egenskaper för räta linjer" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "Polygonegenskaper" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "Geometriegenskaper" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "Textmärkningsegenskaper" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "Stämpelegenskaper" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "Egenskaper för frihandslinje" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "Infogningsegenskaper" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "Egenskaper för bilagda filer" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "Ljudegenskaper" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "Filmegenskaper" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "Kommentaregenskaper" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "Välj en egen stämpelsymbol från en fil" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "Välj egen stämpelsymbol" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" +"*.ico *.png *.xpm *.svg *.svgz | Ikonfiler (*.ico *.png *.xpm *.svg *.svgz)" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "Kunde inte läsa in filen '%1" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "Ogiltig fil" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&Färg:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, kde-format +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%v %" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "&Ogenomskinlighet:" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "Ikon:" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "Kommentar" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "Hjälp" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "Infoga" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "Nyckel" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "Nytt stycke" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "Anmärkning" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "Stycke" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Teckensnitt:" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "Text&färg:" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "Juster&a:" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "Vänster" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "Centrera" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "Höger" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "&Kantbredd:" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "Godkänd" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "I befintligt skick" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "Konfidentiell" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "Avdelningsintern" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "Utkast" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "Experimentell" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "Utgången" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "Slutlig" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "För kommentar" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "För allmän publicering" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "Inte godkänd" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "Inte för allmän publicering" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "Såld" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "Topphemlig" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "Bokmärke" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "Information" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "Stämpelsymbol:" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "&Bredd:" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "Linjestart:" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "Linjeslut:" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "Kvadrat" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "Cirkel" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "Romb" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "Öppen pil" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "Stängd pil" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "Ingen" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "Platt ända" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "Öppen högerpil" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "Stängd högerpil" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "Snedstreck" + +#: part/annotationwidgets.cpp:531 +#, kde-format +msgid "Leader line length:" +msgstr "Längd på hänvisningslinje:" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "Längd på hänvisningslinjens utökning:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "Aktiverad" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "Formfyllning:" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Typ:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "Överstruken" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "Symbol för bilagd fil:" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "Graf" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "Kartnål" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "Gem" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "Etikett" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "Fil" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "Inte tillgänglig" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "Någon beskrivning är inte tillgänglig." + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "Namn:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "Beskrivning:" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "Infogningssymbol:" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "Ingen" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "Stäng anmärkningen" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "Väljare" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"Den här kommentaren kan innehålla Latex-kod.\n" +"Klicka här för att återge." + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "Kan inte hitta latex körbar fil." + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "Återgivning med Latex misslyckades" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "Kan inte hitta dvipng körbar fil." + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "Ett problem uppstod under körning av kommandot 'latex'." + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "Ett problem uppstod under körning av kommandot 'dvipng'." + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"Ett bokmärke" +msgstr[1] "" +"%1\n" +"\n" +"%2 bokmärken" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Bokmärken" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "Visa för alla dokument" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, kde-format +msgid "Search…" +msgstr "Sök…" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, kde-format +msgid "Expand All" +msgstr "Expandera alla" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, kde-format +msgid "Collapse All" +msgstr "Dra ihop alla" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "Gå till bokmärket" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "Byt namn på bokmärke" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Öppna dokument" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "Ta bort alla bokmärken i dokumentet" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "Certifikatvisning" + +#: part/certificateviewer.cpp:50 +#, kde-format +msgid "Export…" +msgstr "Exportera…" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "Allmänt" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "Utfärdad av" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "Vanligt namn (CN)" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "E-post" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "Organisation (O)" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "Utfärdad till" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "Giltighet" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "Fingeravtryck" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "SHA-1-fingeravtryck" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "SHA-256-fingeravtryck" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "Detaljinformation" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "Certifikatinformation:" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "Var vill du spara cerifikatet?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "Certifikatfil (*.cer)" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "Kunde inte exportera certifikatet" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "&Färgläge" + +#: part/colormodemenu.cpp:21 +#, kde-format +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "Ändra färger" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "&Normala färger" + +#: part/colormodemenu.cpp:41 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "&Invertera färger" + +#: part/colormodemenu.cpp:42 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "Ändra &pappersfärg" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "Än&dra mörka och ljusa färger" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "Konvertera till svart&vitt" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "Invertera &ljushet" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "Invertera l&uminans (sRGB-linjär)" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "Invertera luminans (&symmetrisk)" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "Skifta färgton p&ositivt" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "Skifta färgton n&egativt" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "Röd" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "Grön" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "Blå" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "Gul" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "Svart" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "Vit" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "Gul märkpenna" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "Grön märkpenna" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "Infoga text" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "Rita ram runt länkar" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "Ändra färger" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "" +"Varning: Alternativen kan påverka uppritningshastigheten svårartat." + +#: part/dlgaccessibility.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "Invertera färger" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "Ändra pappersfärg" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "Ändra mörka och ljusa färger" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "Konvertera till svartvitt" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "Invertera ljushet" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "Invertera luminans (sRGB-linjär)" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "Invertera luminans (symmetrisk)" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "Skifta färgton positivt" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "Skifta färgton negativt" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "Färgläge:" + +#: part/dlgaccessibility.cpp:87 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Pappersfärg:" + +#: part/dlgaccessibility.cpp:99 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Mörk färg:" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "Ljus färg:" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "Tröskel:" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Kontrast:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "Text till tal-gränssnitt:" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "Text till tal-röst:" + +#: part/dlgannotations.cpp:25 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Fullständig kommentarverktygsrad" + +#: part/dlgannotations.cpp:26 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Snabbkommentarverktygsrad" + +#: part/dlgannotations.cpp:28 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Kommentarverktygsrad:" + +#: part/dlgannotations.cpp:34 +#, kde-format +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "Författare:" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"Observera: Informationen här används bara för kommentarer. " +"Information som infogas här sparas i kommenterade dokument, och skickas " +"sålunda tillsammans med dokumentet." + +#: part/dlgannotations.cpp:48 +#, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

    Quick Annotation Tools

    " +msgstr "

    Snabbkommentarverktyg

    " + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "Välj editorn du vill starta när Okular ska öppna en källfil." + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "Egen texteditor" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Emacs-klient" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "Lyx-klient" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "TeXstudio" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "TeXiFy IDEA" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "Editor:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
    \n" +"You can also put few placeholders:\n" +"
      \n" +"
    • %f - the file name
    • \n" +"
    • %l - the line of the file to be reached
    • \n" +"
    • %c - the column of the file to be reached
    • \n" +"
    \n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"Ange kommandot för en egen texteditor som ska startas.
    \n" +"Du kan också ange några platsmarkörer:\n" +"
      \n" +"
    • %f - filnamnet
    • \n" +"
    • %l - raden i filen som editorn ska gÃ¥ till
    • \n" +"
    • %c - kolumn i filen som editorn ska gÃ¥ till
    • \n" +"
    \n" +"Om %f inte anges, läggs filnamnet till efter det angivna kommandot." + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "Kommando:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "Använd jämn panorering" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "Utseende:" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "Visa rullningslister" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "Länka miniatyrbilder med sidan" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "Visa tips och informationsmeddelanden" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "Underrätta om inbäddade filer, formulär eller signaturer" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "Visa dokumenttitel i namnlisten om tillgänglig" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "Visa bara filnamn" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "Visa fullständig filsökväg" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "När dokumenttitel inte visas:" + +#: part/dlggeneral.cpp:92 +#, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "Använd egen bakgrundsfärg:" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "Programfunktioner:" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "Öppna nya filer under flikar" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "Byt till befintlig flik om filen redan är öppen" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "Följ DRM-begränsningar" + +#: part/dlggeneral.cpp:148 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "Läs in dokument igen om filen ändras" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "Visa dialogruta för val av gränssnitt" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "Läsriktning från höger till vänster" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" +"Använd filinformation för att avgöra om öppna i kontinuerligt läge normalt " +"ska användas" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "För filer utan filinformation, öppna normalt i kontinuerligt läge" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "Öppna normalt i kontinuerligt läge" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" +"När bläddringsverktyget används, låt markören gå rund vid skärmkanterna" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "Objekt i senaste historik:" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "Översiktskolumner:" + +#: part/dlggeneral.cpp:220 +#, kde-format +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%v %" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" +"Definierar hur mycket av det aktuella visningsområdet som fortfarande är " +"synligt när tangenterna Page Up eller Page Down används." + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "Page Up- och Page Down-överlappning:" + +#: part/dlggeneral.cpp:228 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%v %" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "100 %" + +#: part/dlggeneral.cpp:233 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "Fyll bredden" + +#: part/dlggeneral.cpp:234 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "Fyll sidan" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "Anpassa automatiskt" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "Egen" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" +"Definierar förvalt zoomläge för filer som aldrig har öppnats tidigare. För " +"filer som har öppnats tidigare används föregående zoomning." + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "Förvald zoomning:" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "Aktivera genomskinlighetseffekter" + +#: part/dlgperformance.cpp:28 +#, kde-format +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "Processoranvändning:" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "Låg" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "Normal (standard)" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "Omfattande" + +#: part/dlgperformance.cpp:38 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "Glupsk" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "Minnesanvändning:" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "Aktivera kantutjämning för text" + +#: part/dlgperformance.cpp:56 +#, kde-format +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "Återgivningsalternativ:" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "Aktivera kantutjämning för grafik" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "Aktivera textantydan" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"Håller använt minne så litet som möjligt. Återanvänd ingenting. (För system " +"med lite minne.)" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"En bra kompromiss mellan minnesanvändning och uppsnabbning. Läs in nästa " +"sida i förväg och snabba upp sökningar. (För system med typiskt 2 Gibyte " +"minne.)" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"Håller allting i minnet. Läs in nästa sida i förväg. Snabba upp sökningar. " +"(För system med mer än 4 Gibyte minne.)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" +"Läser in och håller allt i minne. Läs in alla sidor i förväg. (Använder " +"maximalt 50 % av det totala minnet eller lediga minnet, vilket som är " +"störst.)" + +#: part/dlgpresentation.cpp:38 +#, kde-format +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] "efter %v sekund" +msgstr[1] "efter %v sekunder" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "Gå automatiskt vidare:" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "Börja om efter sista sidan" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "Tryck på vänster eller höger sida för att gå bakåt eller framåt" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "Tryck var som helst för att gå framåt" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "Inaktiverad" + +#: part/dlgpresentation.cpp:63 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Peknavigering:" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "Bakgrundsfärg:" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "Dold efter fördröjning" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "Alltid synlig" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "Alltid dold" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "Musmarkör:" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "Visa förloppsindikering" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "Visa översiktssida" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "Omedelbar (använd aldrig animeringar)" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "Ersätt" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "Slumpmässig övergång" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "Vertikal persienn" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "Horisontell persienn" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "Ruta in" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "Ruta ut" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "Lös upp" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "Tona" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "Glittra neråt" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "Glittra åt höger" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "Glittra åt höger och neråt" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "Dela horisontellt inåt" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "Dela horisontellt utåt" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "Dela vertikalt inåt" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "Dela vertikalt utåt" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "Sudda neråt" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "Sudda åt höger" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "Sudda åt vänster" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "Sudda uppåt" + +#: part/dlgpresentation.cpp:121 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Förvald övergång:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "Föredragen skärm:" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

    Drawing Tools

    " +msgstr "

    Ritverktyg

    " + +#: part/dlgpresentation.cpp:171 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Aktuell skärm" + +#: part/dlgpresentation.cpp:172 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Standardskärm" + +#: part/dlgpresentation.cpp:178 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "Skärm %1 (%2 %3 %4)" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "Skärm %1 (bortkopplad)" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "Ritverktyg: %1" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "Suddgummi" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "&Namn:" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "&Typ:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "Utseende" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "Textmärkning" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "Geometrisk form" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "Skapa kommentarverktyg" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "Redigera kommentarverktyg" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "Färg:" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "&Pennbredd:" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "%v bildpunkter" + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "Skapa ritverktyg" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "Redigera ritverktyg" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "Okänt" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Inbäddade filer" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "Visa" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "Namn" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "Beskrivning" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "Storlek" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "Skapad" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "Ändrad" + +#: part/embeddedfilesdialog.cpp:154 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "&Spara som…" + +#: part/embeddedfilesdialog.cpp:155 +#, kde-format +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "&Visa…" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "Kunde inte ladda delprogram för förhandsgranskning av utskrift" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "Förhandsgranskning av utskrift" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "Stäng" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "&Sök:" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "Text att söka efter" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Nästa" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "GÃ¥ till nästa träff" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "FöregÃ¥ende" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "GÃ¥ till nästa träff" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "Ändra sökbeteende" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "Skiftlägeskänslig" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "FrÃ¥n aktuell sida" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "Sök medan du skriver" + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "Alla filer (*)" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "Signaturplats (klicka för att signera)" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "&Signera…" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "Signaturegenskaper" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "Sökalternativ" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "Skiftlägeskänslig" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "Reguljärt uttryck" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "Lager" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "av" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "Zooma" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "Zooma till 100 %" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "Rotera Ã¥t &höger" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "Höger" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "Rotera Ã¥t &vänster" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "Vänster" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "Ursprunglig orientering" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "&Beskär visning" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "&Beskär marginaler" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "Beskär till &markering" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "Anpassa till &bredd" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "Anpassa till &sida" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "&Anpassa automatiskt" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "Anpassa &fönster till sida" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "&Vyläge" + +#: part/pageview.cpp:594 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "Ensam &sida" + +#: part/pageview.cpp:595 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "&Uppslag" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "Uppslag (¢rera första sidan)" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "Ö&versikt" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "&Kontinuerlig" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "Använd läsriktning frÃ¥n höger till vänster" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "&Bläddra" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "&Zooma" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "OmrÃ¥de&smarkering" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "&Textmarkering" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "T&abellmarkering" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "&Förstoringsglas" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "Markeringsverktyg" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "Digital &signatur…" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "Läs upp hela dokumentet" + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "Läs upp frÃ¥n aktuell sida" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "Läs upp aktuell sida" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "Sluta läsa" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "Pausa eller Ã¥teruppta uppläsning" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "Panorera upp" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Panorera ner" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "Panorera sida upp" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "Panorera sida ner" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "Visa formulär" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] " Läste in ett dokument med en sida." +msgstr[1] " Läste in ett dokument med %1 sidor." + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "Kopiera tabellinnehÃ¥ll till klippbordet" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "Text (1 tecken)" +msgstr[1] "Text (%1 tecken)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "Kopiera till klippbordet" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "Läs upp text" + +#: part/pageview.cpp:2863 +#, kde-format +msgid "Image (%1 × %2 pixels)" +msgstr "Bild (%1 × %2 bildpunkter)" + +#: part/pageview.cpp:2865 +#, kde-format +msgid "Save to File…" +msgstr "Spara till fil…" + +#: part/pageview.cpp:2885 +#, kde-format +msgid "Image [%1 × %2] copied to clipboard." +msgstr "Bild [%1 x %2] kopierad till klippbordet." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "Spara fil" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "Bilder (*png *.jpeg)" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "Filen sparades inte." + +#: part/pageview.cpp:2901 +#, kde-format +msgid "Image [%1 × %2] saved to %3 file." +msgstr "Bild [%1 x %2] sparad till filen %3." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "Kopiera text" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "GÃ¥ till '%1'" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "Fyll bredden" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "Fyll sidan" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "Anpassa automatiskt" + +#: part/pageview.cpp:4107 +#, kde-format +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1 %" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "Sök efter '%1' med" + +#: part/pageview.cpp:4404 +#, kde-format +msgid "Configure Web Shortcuts…" +msgstr "Anpassa webbgenvägar…" + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "Följ länken" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "Spela det här ljudet" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "Stoppa ljud" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "Kopiera länkadress" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "Sök efter '%1' i det här dokument" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Välkommen" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "Välj zoomomrÃ¥de. Högerklicka för att zooma ut." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "Klicka för att se den förstorade vyn." + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "Rita en rektangel omkring text eller grafik att kopiera." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "Markera text" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" +"Rita en rektangel omkring tabellen, klicka därefter nära kanter för att dela " +"upp. Tryck pÃ¥ Esc för att rensa." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" +"Alla signeringscertifikat är ogiltiga. Om signeringen fungerade tidigare, " +"kontrollera deras giltighetsdatum." + +#: part/pageview.cpp:5188 +#, kde-format +msgid "No valid certificates" +msgstr "Inga giltiga certifikat" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, kde-format +msgid "Open Certificate Manager" +msgstr "Öppna certifikathantering" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
    Launch Certificate Manager " +"to import or manage certificates
    For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" +"Det finns inga tillgängliga certifikat för signering.
    Starta " +"certifikathantering för att importera eller hantera certifikat
    För mer " +"information, se avsnittet Lägga till digitala signaturer " +"i handboken." + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, kde-format +msgid "No certificates found" +msgstr "Inga certifikat hittades" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
    For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" +"Det finns inga tillgängliga certifikat för signering.
    För mer " +"information, se avsnittet Lägga till digitala signaturer " +"i handboken." + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "Du har osparade ändringar. Spara dokumentet innan det signeras." + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "Rita en rektangel för att infoga signaturfältet" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "Rita en rektangel omkring området på sidan som ska förbli synligt" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "Ny textanmärkning" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "Den nya anmärkningens text:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Signerad av: %1\n" +"\n" +"Datum: %2" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" +"En signatur av den här storleken kan vara för liten att läsa. Om du vill " +"skapa en potentiellt mer läsbar signatur, klicka på Börja om och rita en större rektangel." + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "Börja om" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "Signera" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name" +msgstr "Författarens namn" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name for the annotation:" +msgstr "Namn på kommentarens författare:" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "Rita en ellips (dra för att välja ett område)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "Markera text" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "Rita en frihandslinje" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "Fritextkommentar (dra för att välja ett område)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "Lägg till en anmärkningsruta" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "" +"Rita en polygon (klicka på den första punkten för att göra färdigt den)" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "Rita en rektangel" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "Vågig text" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "Placera ut en stämpelsymbol" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "Rita en rät linje" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "Stryk över text" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "Stryk under text" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "Skrivmaskinskommentar (dra för att välja ett område)" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "Märkpenna" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "Lägg till favoritkommentar" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Custom annotation name:" +msgstr "Eget kommentarnamn:" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&Arkiv" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "In&ställningar" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "&Hjälp" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "&Orientering" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "&Bokmärken" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "Visningsverktygsrad" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Miniatyrbilder" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "Kommentarer" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
    Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" +"Dokumentet innehåller kommentarer eller formulärdata som sparats internt med " +"en tidigare version av Okular. Intern lagring stöds inte längre.
    Spara i en fil för att flytta dem om du vill fortsätta redigera dokumentet." + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"Dokumentet har inbäddade filer. Klicka här " +"för att se dem eller gå till Arkiv -> Inbäddade filer." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "Signering pågår. Du kan justera signaturens position och storlek" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "Slutför signering" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "Föregående" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "Gå tillbaka till föregående sida" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "Går till dokumentets föregående sida" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "Nästa" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "Gå vidare till nästa sida" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "Går till dokumentets nästa sida" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "Början av dokumentet" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "Går till början av dokumentet" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "Slutet av dokumentet" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "Går till slutet av dokumentet" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "Byt namn på aktuellt bokmärke" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "Föregående bokmärke" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "Gå till föregående bokmärke" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "Nästa bokmärke" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "Gå till nästa bokmärke" + +#: part/part.cpp:748 +#, kde-format +msgid "Configure Okular…" +msgstr "Anpassa Okular…" + +#: part/part.cpp:751 +#, kde-format +msgid "Configure Viewer…" +msgstr "Anpassa visning…" + +#: part/part.cpp:757 +#, kde-format +msgid "Configure Viewer Backends…" +msgstr "Anpassa gränssnitt för visning…" + +#: part/part.cpp:759 +#, kde-format +msgid "Configure Backends…" +msgstr "Anpassa gränssnitt…" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "Om gränssnitt" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "Läs in &igen" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "Läs in aktuellt dokument från disk igen." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "Stäng &sökrad" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "Sidnummer" + +#: part/part.cpp:817 +#, kde-format +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "Anpassa färglägen…" + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "Markera all text på aktuell sida" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "Visa s&idorad" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "Visa &sidrad" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "Visa &signaturpanel" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "&Inbäddade filer" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "E&xportera som" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "&Dela" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "P&resentation" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "Visa innehållande ka&talog" + +#: part/part.cpp:945 +#, kde-format +msgid "&Import PostScript as PDF…" +msgstr "&Importera Postscript som PDF…" + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "Byt svart skärmläge" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "Radera teckning" + +#: part/part.cpp:962 +#, kde-format +msgid "Configure Annotations…" +msgstr "Anpassa kommentarer…" + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "Visa eller pausa presentation" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" +"Du har just ändrat det öppna dokumentet, men den här typen av dokument kan " +"inte sparas.\n" +"Alla ändringar går förlorade när Okular väl avslutas." + +#: part/part.cpp:1123 +#, kde-format +msgid "Document can't be saved" +msgstr "Dokumentet kan inte sparas" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "Kunde inte öppna '%1' (%2)" + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "Inläsning av %1 har avbrutits." + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "Kunde inte öppna %1. Orsak: %2" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "Anpassa gränssnitt för visning" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "Anpassa gränssnitt" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"Programmet \"ps2pdf\" hittades inte, alltså kan inte Okular importera " +"Postscript-filer med det." + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "Hittade inte ps2pdf" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "Postscript-filer (%1)" + +#: part/part.cpp:1357 +#, kde-format +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "Importerar Postscript-fil som PDF (det kan ta en stund)…" + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "Ange lösenordet för att läsa dokumentet:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "Felaktigt lösenord. Försök igen:" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "Dokumentlösenord" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "Dokumentet har XFA-formulär, som för närvarande inte stöds." + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"Dokumentet har formulär. Klicka på knappen för att använda dem, eller använd " +"Visa -> Visa formulär." + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" +"All redigering och interaktiva funktioner är inaktiverade i det här " +"dokumentet. Spara en kopia och öppna den för att redigera dokumentet." + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" +"Dokumentet vill att det ska visas på hela skärmen.\n" +"Lämna normalt läge och starta presentationsläge?" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "Begär att visningsläge ska ändras" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "Starta presentationsläge" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "Neka till begäran" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "Kunde inte öppna %1. %2" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" +"Filen %1 har osparade ändringar, men har ändrats av ett " +"annat program. Att läsa in den igen ersätter de osparade ändringarna med " +"ändringarna gjorda i det andra programmet.Vill du fortsätta läsa " +"in filen?" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "Filen ändrad" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "Fortsätt inläsning" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "Avbryt inläsning" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" +"Filen %1 har osparade ändringar, men har ändrats av ett " +"annat program. Att stänga den ersätter de osparade ändringarna med " +"ändringarna gjorda i det andra programmet.Vill du fortsätta stänga " +"filen?" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "Fortsätt och stäng" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "Avbryt stängning" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "Vill du spara ändringar av \"%1\" eller kasta dem?" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "Stäng dokument" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"Den här länken pekar på en åtgärd för att stänga dokument som inte fungerar " +"när den inbäddade visningen används." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"Den här länken pekar på en åtgärd för att avsluta programmet som inte " +"fungerar när den inbäddade visningen används." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, kde-format +msgid "Reloading the document…" +msgstr "Läser in dokumentet igen…" + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "Innehåll" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "Signaturer" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Gå till sida" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "&Sida:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "Ange det nya namnet på bokmärket:" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "Byt namn på det här bokmärket" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "Ta bort det här bokmärket" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "Spara som" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" +"Du har valt att spara ett Okular-arkiv utan att filnamnet slutar med ändelen " +"'%1'. Det är inte tillåtet. Vill du välja ett nytt namn?" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "Ändelse stöds inte" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "Välj nytt namn" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" +"Filen %1 har ändrats av ett annat program. Om du sparar " +"nu, går eventuella ändringar gjorda i det andra programmet förlorade. Är du " +"säker på att du vill fortsätta?" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "Spara - Varning" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "Spara en kopia någon annanstans" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
    In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" +"Det aktuella dokumentet är skyddat med ett lösenord.
    För att spara " +"måste filen läsas in igen. Du blir tillfrågad om lösenordet igen och " +"historik för ångra och gör om kommer att gå förlorad.
    Vill du fortsätta?" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "Kunde inte öppna tillfällig fil för att spara." + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" +"Kunde inte skriva över %1 eftersom filen är " +"skrivskyddad. Spara den på en annan plats, eller ändra filens rättigheter." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" +"Efter att ha sparat kräver aktuellt dokumentformat att filen läses in igen. " +"Historik för ångra och gör om kommer att gå förlorad.
    Vill du fortsätta?" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "Filen kunde inte sparas i '%1'. Försök spara på en annan plats." + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "Ifyllt formulärinnehåll" + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "Användarkommentarer" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" +"Du ska just spara ändringar, men aktuellt filformat stöder inte att spara " +"följande element. Använd formatet Okular-dokumentarkiv för att bevara dem." + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "Varning" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "Spara som Okular-dokumentarkiv…" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" +"Du ska just spara ändringar, men aktuellt filformat stöder inte att spara " +"följande element. Använd formatet Okular-dokumentarkiv för att bevara " +"dem. Klicka på Fortsätt för att spara dokumentet och låta elementen " +"gå förlorade." + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" +"Du ska just spara ändringar, men aktuellt filformat stöder inte att spara " +"följande element. Använd formatet Okular-dokumentarkiv för att bevara " +"dem. Klicka på Fortsätt för att spara, men elementen samt historik " +"för ångra och gör om går då förlorad." + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "&Kontinuerlig" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "Fortsätt och förlora ändringar" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "Filen kunde inte sparas i '%1'. %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"Okular kan inte kopiera %1 till angiven plats.\n" +"\n" +"Dokumentet finns inte längre." + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" +"Filen kunde inte sparas i '%1'. Fel: \"%2\". Försök spara på en annan plats." + +#: part/part.cpp:3158 +#, kde-format +msgid "Expand Whole Section" +msgstr "Expandera hel sektion" + +#: part/part.cpp:3159 +#, kde-format +msgid "Collapse Whole Section" +msgstr "Dra ihop hel sektion" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "Synkronisera miniatyrbild med sida" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Verktyg" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "Läs upp" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "Skriv ut" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "Utskrift av dokumentet tillåts inte." + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"Kunde inte skriva ut dokumentet. Okänt fel. Rapportera gärna till bugs.kde." +"org." + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"Kunde inte skriva ut dokumentet. Det detaljerade felet är %1. Rapportera " +"gärna till bugs.kde.org." + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "Gå till innan stället du var" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "Gå till efter stället du var" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"Filfel! Kunde inte skapa tillfällig fil " +"%1." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"Filfel! Kunde inte öppna filen %1 för uppackning. Filen kommer inte att läsas in." + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"Det här felet uppstår oftast om du inte har tillräckliga behörigheter " +"för att läsa filen. Du kan kontrollera ägare och behörighet om du " +"högerklickar på filen i filhanteraren Dolphin, väljer alternativet " +"'Egenskaper' och därefter fliken 'Skydd' i fönstret som visas." + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"Filfel! Kunde inte packa upp filen %1. Filen kommer inte att läsas in." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"Det här felet kan uppstå om filen är skadad. Om du vill vara säker, " +"försök att packa upp filen manuellt med kommandoradverktyg." + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "Inga bokmärken" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "Ett problem uppstod när dokumentet skulle delas: %1" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "Dela" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "Dokumentet delat med lyckat resultat" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "Det delade dokumentet finns på %1" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "&Redigera" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "&Visa" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&Gå" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "Verk&tyg" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "Huvudverktygsrad" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "Kommentarverktygsrad" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, kde-format +msgid "Quick Annotation Toolbar" +msgstr "Snabbkommentarverktygsrad" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "Allmänna inställningar" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Handikappstöd" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "Läshjälp för handikappade" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Prestanda" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "Prestandaförbättring" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "Anpassa visning" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Presentation" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "Alternativ för presentationsläge" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "Kommentaralternativ" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "Editor" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "Editorinställningar" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" +"Editorn ställdes in på kommandoraden till \n" +" %1\n" +"Om du vill använda inställningen, starta okular utan väljaren --editor-cmd" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "Sök igen" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 - Presentation" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "Byt skärm" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "Skärm %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "Avsluta presentationsläge" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Titel: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Sidor: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "Klicka för att börja" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "Paus" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "Visa" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"Det finns två sätt att avsluta presentationsläge. Du kan trycka på tangenten " +"Esc, eller klicka med avslutningsknappen som visas när musen placeras i övre " +"högra hörnet. Du kan naturligtvis gå igenom fönstren cykliskt (normalt med " +"Alt+Tabulator)." + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "Visar en presentation" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "Okänd fil" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "%1 egenskaper" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "&Teckensnitt" + +#: part/propertiesdialog.cpp:145 +#, kde-format +msgid "Reading font information…" +msgstr "Läser teckensnittsinformation…" + +#: part/propertiesdialog.cpp:158 +#, kde-format +msgid "&Page Sizes" +msgstr "&Sidstorlekar" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "&Extrahera teckensnitt" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Typ 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Typ 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "Typ 1C (OT)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Typ 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "Truetype" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "Truetype (OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID typ 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID typ 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID typ 0C (OT)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID Truetype" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID Truetype (OT)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "Tex PK" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "Tex virtuell" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "Tex med teckensnittsmått" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "Tex hanterad av FreeType" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "Okänd" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "Inbäddad (delmängd)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "Helt inbäddad" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "Nej" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "Ja (delmängd)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "Ja" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "%1 (ersätter med %2)" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "[ej tillgängligt]" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "Okänt teckensnitt" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "Inbäddad: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "Namn" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "Typ" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "Fil" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "Sida" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "Storlek" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "Förhandsgranskning av utgåva" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "Var vill du spara utgåvan?" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "Kunde inte spara filen %1." + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "Kunde inte visa utgåvan." + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "Skriv in minst tre bokstäver för att filtrera sidor" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "Skiftlägeskänslig" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "Matcha mening" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "Matcha alla ord" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "Matcha något ord" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "Filterinställningar" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, kde-format +msgid "Certificates" +msgstr "Certifikat" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "Välj certifikat att signera med:" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "Alla" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, kde-format +msgid "Only QES certificates" +msgstr "Bara QES-certifikat" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "Bara PGP-nycklar" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "Orsak:" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, kde-format +msgid "optional" +msgstr "valfri" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "Plats:" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, kde-format +msgid "Background:" +msgstr "Bakgrund:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "Välj..." + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, kde-format +msgid "Recent backgrounds:" +msgstr "Senaste bakgrunder:" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

    No annotations

    To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
    " +msgstr "" +"

    Inga kommentarer

    Tryck på F6 eller välj Verktyg " +"-> Kommentarer i menyn för att skapa nya kommentarer.
    " + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "Gruppera enligt sida" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "Gruppera enligt författare" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "Visa bara kommentarer för nuvarande sida" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "Expandera alla element" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "Dra ihop alla element" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "Egenskaper" + +#: part/signaturepartutils.cpp:180 +#, kde-format +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Bilder (%1)" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "Välj bakgrundsbild" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "Glöm bild" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "Glöm alla bilder" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "Ange lösenord (om det behövs) för att låsa upp certifikat: %1" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "Ange certifikatets lösenord" + +#: part/signaturepartutils.cpp:244 +#, kde-format +msgid "Enter document password" +msgstr "Ange dokumentlösenord" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "Spara signerad fil som" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "%1_signerad.%2" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "Giltighetsstatus" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "Signaturens giltighet:" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "Dokumentändringar:" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "Ytterligare information" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "Signerad av:" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "Signeringstid:" + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "Dokumentversion" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Dokumentutgåva %1 av %2" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "Visa signerad version…" + +#: part/signaturepropertiesdialog.cpp:95 +#, kde-format +msgid "View Certificate…" +msgstr "Visa certifikat…" + +#: part/signaturepropertiesdialog.cpp:97 +#, kde-format +msgid "View in Certificate Manager" +msgstr "Visa i certifikathanterare" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "KDE:s certifikathantering (kleopatra) hittades inte" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "Kvalificerad" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "PGP" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "Visa bara sidor med bokmärken" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "Spela" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Paus" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "Stoppa" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "Video stöds inte i den här versionen av Okular" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "Video stöds inte i den här versionen av Okular" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "&Lägg till…" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, kde-format +msgid "&Edit…" +msgstr "&Redigera…" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "&Ta bort" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "Flytta &upp" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "Flytta &ner" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "Standardritverktyg nr. %1" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "Det finns redan ett verktyg med det namnet. Använder ett standardnamn." + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "Duplicerat namn" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "Sida i dokumentet som ska visas" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "Öppna dokumentet i presentationsläge" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "Starta med utskriftsdialogruta" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "Starta med utskriftsdialogruta och avsluta efter utskrift" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "Styrning av \"unik instans\"" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "Höj inte fönster" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "Sök efter en sträng i texten" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "Ställer in externt redigeringskommando" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "Dokument att öppna. Ange '-' för att läsa från standardinmatningen." + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" +"Du kan inte ställa in redigeringskommandot för en instans av Okular som " +"redan kör. Inaktivera flikarna och försök igen. Observera att unik inte " +"heller stöds när redigeringskommandot ställs in på kommandoraden.\n" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "Fel: Kan inte öppna mer än ett dokument med väljaren --unique" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "Fel: Kan inte öppna mer än ett dokument med väljaren --presentation" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "Fel: Kan inte öppna mer än ett dokument med väljaren --print" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "Fel: Kan inte öppna mer än ett dokument med väljaren --page" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "Fel: Kan inte öppna mer än ett dokument med väljaren --find" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "Kan inte hitta delprogrammet Okular: %1" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "Sidorad" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" +"Det finns redan en unik instans av Okular som kör. Den här instansen kommer " +"inte att vara den unika." + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "Kan inte hitta delprogrammet Okular." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"Klicka för att öppna en fil\n" +"Klicka och håll nere för att öppna en av de senaste filerna" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"Klicka för att öppna en fil eller Klicka och håll nere för att " +"välja en av de senaste filerna" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "Nästa flik" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "Föregående flik" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "Ångra stäng flik" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "Lås sidorad" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "Alla filer (*)" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "Alla filer som stöds (%1)" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "Öppna dokument" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "Bekräfta stängning" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "Stäng flikar" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "Du ska just stänga %1 flikar. Är du säker på att du vill fortsätta?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "Varna mig när jag försöker stänga flera flikar" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "&Kopiera sökväg" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "Ö&ppna katalog med innehåll" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "&Glöm objektet" + +#: shell/welcomescreen.cpp:137 +#, kde-format +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "Inga senaste dokument" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "Välkommen till Okular" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Öppna dokument..." + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, kde-format +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Senaste dokument" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "Glöm alla" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "Dölj välkomstskärm" + +#~ msgid "Geometry with Comment" +#~ msgstr "Geometri med kommentar" + +#~ msgid "Geometry" +#~ msgstr "Geometri" + +#~ msgctxt "Annotation type: contents" +#~ msgid "%1: %2" +#~ msgstr "%1: %2" + +#~ msgid "Modified: %1" +#~ msgstr "Ändrad: %1" + +#~ msgid "Find..." +#~ msgstr "Sök..." + +#~ msgid "Go To Page..." +#~ msgstr "Gå till sida..." + +#~ msgid "Play movie..." +#~ msgstr "Spela film..." + +#~ msgid "Search..." +#~ msgstr "Sök..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "Spara s&om..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "&Visa..." + +#~ msgid "&Sign..." +#~ msgstr "&Signera..." + +#~ msgid "Configure Viewer..." +#~ msgstr "Anpassa visning..." + +#~ msgid "Configure Viewer Backends..." +#~ msgstr "Anpassa gränssnitt för visning..." + +#~ msgid "Configure Backends..." +#~ msgstr "Anpassa gränssnitt..." + +#~ msgid "&Add..." +#~ msgstr "&Lägg till..." + +#~ msgid "&Edit..." +#~ msgstr "&Redigera..." + +#~ msgctxt "%1 is a file path" +#~ msgid "" +#~ "Could not sign. Invalid certificate password or could not write to '%1'" +#~ msgstr "" +#~ "Kunde inte signera. Ogiltigt certifikatlösenord eller så gick det inte " +#~ "att skriva till '%1'." + +#, fuzzy +#~| msgid "" +#~| "All your signing certificates are either not valid yet or are past their " +#~| "validity date." +#~ msgid "All your signing certificates are invalid" +#~ msgstr "" +#~ "Alla dina signeringscertifikat är antingen inte giltiga ännu eller har " +#~ "passerat sina giltighetsdatum." + +#~ msgid "Unsigned Signature %1" +#~ msgstr "Osignerad signatur %1" + +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "Okänd" + +#~ msgctxt "Signature type" +#~ msgid "Unsigned signature" +#~ msgstr "Osignerad signatur" + +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "Spinbox prefix: Advance automatically: every n seconds" +#~ msgid "every " +#~ msgstr "var" + +#~ msgctxt "Suffix for the pen width, eg '10 px'" +#~ msgid " px" +#~ msgstr " bildpunkter" + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " %" + +#~ msgctxt "%1 is a file path" +#~ msgid "Could not sign. Could not write to '%1'" +#~ msgstr "Kunde inte signera. Kunde inte skriva till '%1'" + +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "Fyll bredden" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "Fyll sidan" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Auto Fit" +#~ msgstr "Anpassa automatiskt" + +#~ msgid "*|All Files" +#~ msgstr "*|Alla filer" + +#~ msgid "Missing alert type" +#~ msgstr "Saknar varningstyp" + +#~ msgid "" +#~ "The file '%1' has been modified by another program, which means it can no " +#~ "longer be saved." +#~ msgstr "" +#~ "Filen '%1' har ändrats av ett annat program, vilket betyder att den inte " +#~ "längre går att spara." + +#, fuzzy +#~| msgid "Show S&idebar" +#~ msgid "Show Sidebar" +#~ msgstr "Visa s&idorad" + +#~ msgctxt "@info" +#~ msgid "" +#~ "experimental feature.Stamps inserted in PDF documents are " +#~ "not visible in PDF readers other than Okular." +#~ msgstr "" +#~ "Experimentell funktion.Stämplar som infogas i PDF-dokument " +#~ "är inte synliga i andra PDF-läsare än Okular." + +#~ msgctxt "@info" +#~ msgid "" +#~ "The version of the Poppler library this Okular was compiled with does not " +#~ "support signing documents with passwords. Please ask your provider to " +#~ "update it to 22.02 or later." +#~ msgstr "" +#~ "Versionen av Poppler-biblioteket som Okular kompilerades med stöder inte " +#~ "att signera dokument med lösenord. Be leverantören att uppdatera det till " +#~ "22.02 eller senare." + +#~ msgctxt "@title:window" +#~ msgid "Poppler library is too old" +#~ msgstr "Poppler-biblioteket är för gammalt" + +#~ msgctxt "@info" +#~ msgid "" +#~ "Stamps inserted in PDF documents are not visible in PDF readers other " +#~ "than Okular" +#~ msgstr "" +#~ "Stämplar som infogas i PDF-dokument är inte synliga i andra PDF-läsare än " +#~ "Okular" + +#~ msgctxt "@title:window" +#~ msgid "Experimental feature" +#~ msgstr "Experimentell funktion" + +#~ msgid "Form" +#~ msgstr "Formulär" + +#~ msgid "Remove Bookmarks" +#~ msgstr "Ta bort bokmärken" + +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "Kommenter&a" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "Markera" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Underline" +#~ msgstr "Stryk under" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Squiggle" +#~ msgstr "Vågig text" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Strike Out" +#~ msgstr "Stryk över" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "Infoga text" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "Infoga fritextanmärkning" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "Infoga anmärkningsruta" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Freehand Line" +#~ msgstr "Rita frihandslinje" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Straight line" +#~ msgstr "Rita rät linje" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Arrow" +#~ msgstr "Rita pil" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Rectangle" +#~ msgstr "Rita rektangel" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Ellipse" +#~ msgstr "Rita ellips" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Polygon" +#~ msgstr "Rita polygon" + +#~ msgid "Highlight in Yellow" +#~ msgstr "Markera med gult" + +#~ msgid "Highlight in Green" +#~ msgstr "Markera med grönt" + +#~ msgid "Insert Inline Note" +#~ msgstr "Infoga fritextanmärkning" + +#~ msgid "Insert Popup Note" +#~ msgstr "Infoga anmärkningsruta" + +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "Mar&kera område" + +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "Markera &text" + +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "Markera t&abell" + +#~ msgctxt "verb" +#~ msgid "&Magnify" +#~ msgstr "&Förstora" + +#~ msgid "Bookmark annotation" +#~ msgstr "Bokmärk kommentar" + +#~ msgid "&Toggle Change Colors" +#~ msgstr "&Växla ändring av färger" + +#~ msgctxt "@option:check Config dialog, presentation page, transitions" +#~ msgid "Enable transitions" +#~ msgstr "Aktivera övergångar" + +#~ msgctxt "@label:spinbox Config dialog, presentation page" +#~ msgid "Advance every:" +#~ msgstr "Gå vidare efter:" + +#~ msgctxt "@label:listbox Config dialog, general page" +#~ msgid "Custom background color:" +#~ msgstr "Använd egen bakgrundsfärg:" + +#~ msgid "Draw border around &Images" +#~ msgstr "Rita ram runt &bilder" + +#~ msgid "Speech" +#~ msgstr "Uppläsning" + +#~ msgid "Engine" +#~ msgstr "Gränssnitt" + +#~ msgid "Identity" +#~ msgstr "Identitet" + +#~ msgid "Au&thor:" +#~ msgstr "Förfa&ttare:" + +#~ msgid "View Options" +#~ msgstr "Visningsalternativ" + +#~ msgctxt "@info:whatsthis" +#~ msgid "" +#~ "Defines the default zoom mode for files which were never opened before.\n" +#~ "For files which were opened before the previous zoom is applied." +#~ msgstr "" +#~ "Definierar förvalt zoomläge för filer som aldrig har öppnats tidigare.\n" +#~ "För filer som har öppnats tidigare används föregående zoomning." + +#~ msgid "Navigation" +#~ msgstr "Navigering" + +#~ msgid "Placement" +#~ msgstr "Placering" + +#~ msgid "Screen:" +#~ msgstr "Skärm:" + +#~ msgid "Drawing Tool Configuration" +#~ msgstr "Inställning av ritverktyg" + +#~ msgid "&Get Books From Internet..." +#~ msgstr "&Hämta böcker från Internet..." + +#~ msgid "Reviews" +#~ msgstr "Granskningar" + +#~ msgctxt "@item:inlistbox Color name" +#~ msgid "%1" +#~ msgstr "%1" + +#~ msgid "Hide Forms" +#~ msgstr "Dölj formulär" + +#~ msgid "&Review" +#~ msgstr "&Granskning" + +#~ msgid "Annotations author" +#~ msgstr "Kommentarförfattare" + +#~ msgid "Please insert your name or initials:" +#~ msgstr "Infoga ditt namn eller dina initialer:" + +#~ msgid "Show &Navigation Panel" +#~ msgstr "Visa &navigeringspanel" + +#~ msgid "Show Text" +#~ msgstr "Visa text" + +#~ msgid "Small Icons" +#~ msgstr "Små ikoner" + +#~ msgid "Large Icons" +#~ msgstr "Stora ikoner" + +#~ msgid "" +#~ "Click to use the current selection tool\n" +#~ "Click on the arrow to choose another selection tool" +#~ msgstr "" +#~ "Klicka för att använda nuvarande markeringsverktyg\n" +#~ "Klicka på pilen för att välja ett annat markeringsverktyg" + +#~ msgid "Created: %1" +#~ msgstr "Skapad: %1" + +#~ msgid "Style" +#~ msgstr "Stil" + +#~ msgid "&Size:" +#~ msgstr "&Storlek:" + +#~ msgid "Inner color:" +#~ msgstr "Färg inuti:" + +#~ msgid "Name: %1" +#~ msgstr "Namn: %1" + +#~ msgid "Size: %1" +#~ msgstr "Storlek: %1" + +#~ msgid "&Browse Tool" +#~ msgstr "&Bläddringsverktyg" + +#~ msgid "&Zoom Tool" +#~ msgstr "&Zoomverktyg" + +#~ msgctxt "Zoom Tool" +#~ msgid "Zoom" +#~ msgstr "Zooma" + +#~ msgctxt "Select Tool" +#~ msgid "Selection" +#~ msgstr "Markera" + +#~ msgid "&Text Selection Tool" +#~ msgstr "&Textmarkeringsverktyg" + +#~ msgid "T&able Selection Tool" +#~ msgstr "T&abellmarkeringsverktyg" + +#~| msgctxt "Symbol for caret annotations" +#~| msgid "None" +#~ msgid " None" +#~ msgstr " Ingen" + +#~ msgid "" +#~ "The document requested to be launched in presentation mode.\n" +#~ "Do you want to allow it?" +#~ msgstr "" +#~ "Dokumentet begärde att startas i presentationsläge.\n" +#~ "Vill du tillåta det?" + +#~ msgid "Presentation Mode" +#~ msgstr "Presentationsläge" + +#~ msgid "Allow the presentation mode" +#~ msgstr "Tillåt presentationsläge" + +#~ msgid "Do Not Allow" +#~ msgstr "Tillåt inte" + +#~ msgid "Do not allow the presentation mode" +#~ msgstr "Tillåt inte presentationsläge" + +#~ msgid "" +#~ "Your annotation changes will not be saved automatically. Use File -> Save " +#~ "As...\n" +#~ "or your changes will be lost once the document is closed" +#~ msgstr "" +#~ "Ändringar av kommentarer sparas inte automatiskt. Använd Arkiv -> Spara " +#~ "som...\n" +#~ "annars kommer ändringarna gå förlorade när dokumentet stängs." + +#~ msgid "" +#~ "Your annotations are saved internally by Okular.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" +#~ msgstr "" +#~ "Kommentarerna sparas internt av Okular.\n" +#~ "Du kan exportera det kommenterade dokumentet med Arkiv -> Exportera som -" +#~ "> Dokumentarkiv." + +#~ msgid "Save &Copy As..." +#~ msgstr "Spara &kopia som..." + +#~ msgid "" +#~ "Your annotations will not be exported.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" +#~ msgstr "" +#~ "Kommentarerna kommer inte att exporteras.\n" +#~ "Du kan exportera det kommenterade dokumentet med Arkiv -> Exportera som -" +#~ "> Dokumentarkiv." + +#~ msgid "" +#~ "End of document reached.\n" +#~ "Continue from the beginning?" +#~ msgstr "" +#~ "Slutet på dokumentet har nåtts.\n" +#~ "Fortsätta från början?" + +#~ msgid "" +#~ "Beginning of document reached.\n" +#~ "Continue from the bottom?" +#~ msgstr "" +#~ "Början på dokumentet har nåtts.\n" +#~ "Fortsätta från slutet?" + +#~ msgid "Current maintainer" +#~ msgstr "Nuvarande utvecklare" + +#~ msgid " sec." +#~ msgstr " sek." + +#~ msgid "Pencil color:" +#~ msgstr "Pennfärg:" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A0" +#~ msgstr "liggande DIN/ISO A0" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A0" +#~ msgstr "stående DIN/ISO A0" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A1" +#~ msgstr "liggande DIN/ISO A1" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A1" +#~ msgstr "stående DIN/ISO A1" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A2" +#~ msgstr "liggande DIN/ISO A2" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A2" +#~ msgstr "stående DIN/ISO A2" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A3" +#~ msgstr "liggande DIN/ISO A3" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A3" +#~ msgstr "stående DIN/ISO A3" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A4" +#~ msgstr "liggande DIN/ISO A4" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A4" +#~ msgstr "stående DIN/ISO A4" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A5" +#~ msgstr "liggande DIN/ISO A5" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A5" +#~ msgstr "stående DIN/ISO A5" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A6" +#~ msgstr "liggande DIN/ISO A6" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A6" +#~ msgstr "stående DIN/ISO A6" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A7" +#~ msgstr "liggande DIN/ISO A7" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A7" +#~ msgstr "stående DIN/ISO A7" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A8" +#~ msgstr "liggande DIN/ISO A8" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A8" +#~ msgstr "stående DIN/ISO A8" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A9" +#~ msgstr "liggande DIN/ISO A9" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A9" +#~ msgstr "stående DIN/ISO A9" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B0" +#~ msgstr "liggande DIN/ISO B0" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B0" +#~ msgstr "stående DIN/ISO B0" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B1" +#~ msgstr "liggande DIN/ISO B1" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B1" +#~ msgstr "stående DIN/ISO B1" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B2" +#~ msgstr "liggande DIN/ISO B2" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B2" +#~ msgstr "stående DIN/ISO B2" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B3" +#~ msgstr "liggande DIN/ISO B3" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B3" +#~ msgstr "stående DIN/ISO B3" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B4" +#~ msgstr "liggande DIN/ISO B4" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B4" +#~ msgstr "stående DIN/ISO B4" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B5" +#~ msgstr "liggande DIN/ISO B5" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B5" +#~ msgstr "stående DIN/ISO B5" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B6" +#~ msgstr "liggande DIN/ISO B6" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B6" +#~ msgstr "stående DIN/ISO B6" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B7" +#~ msgstr "liggande DIN/ISO B7" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B7" +#~ msgstr "stående DIN/ISO B7" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B8" +#~ msgstr "liggande DIN/ISO B8" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B8" +#~ msgstr "stående DIN/ISO B8" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B9" +#~ msgstr "liggande DIN/ISO B9" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B9" +#~ msgstr "stående DIN/ISO B9" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B10" +#~ msgstr "liggande DIN/ISO B10" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B10" +#~ msgstr "stående DIN/ISO B10" + +#~ msgctxt "paper size" +#~ msgid "landscape letter" +#~ msgstr "liggande letter" + +#~ msgctxt "paper size" +#~ msgid "portrait letter" +#~ msgstr "stående letter" + +#~ msgctxt "paper size" +#~ msgid "landscape legal" +#~ msgstr "liggande legal" + +#~ msgctxt "paper size" +#~ msgid "portrait legal" +#~ msgstr "stående legal" + +#~ msgctxt "paper size" +#~ msgid "landscape executive" +#~ msgstr "liggande executive" + +#~ msgctxt "paper size" +#~ msgid "portrait executive" +#~ msgstr "stående executive" + +#~ msgctxt "paper size" +#~ msgid "landscape Comm10E" +#~ msgstr "liggande Comm10E" + +#~ msgctxt "paper size" +#~ msgid "portrait Comm10E" +#~ msgstr "stående Comm10E" + +#~ msgctxt "paper size" +#~ msgid "landscape DLE" +#~ msgstr "liggande DLE" + +#~ msgctxt "paper size" +#~ msgid "portrait DLE" +#~ msgstr "stående DLE" + +#~ msgctxt "paper size" +#~ msgid "landscape folio" +#~ msgstr "liggande folio" + +#~ msgctxt "paper size" +#~ msgid "portrait folio" +#~ msgstr "stående folio" + +#~ msgctxt "paper size" +#~ msgid "ledger" +#~ msgstr "ledger" + +#~ msgctxt "paper size" +#~ msgid "tabloid" +#~ msgstr "tabloid" + +#~ msgctxt "paper size" +#~ msgid "unknown landscape paper size" +#~ msgstr "okänd liggande pappersstorlek" + +#~ msgctxt "paper size" +#~ msgid "unknown portrait paper size" +#~ msgstr "okänd stående pappersstorlek" + +#~ msgid "Toggle Drawing Mode" +#~ msgstr "Växla teckningsläge" + +#~ msgid "Starting Jovie Text-to-Speech service Failed: %1" +#~ msgstr "Start av Jovie text-till-taltjänst misslyckades: %1" + +#~ msgid "Search Columns" +#~ msgstr "Sök kolumner" + +#~ msgid "All Visible Columns" +#~ msgstr "Alla synliga kolumner" + +#~ msgid "No document opened." +#~ msgstr "Inget dokument öppnat." + +#~ msgid "Can't open more than one document in the unique Okular instance." +#~ msgstr "Kan inte öppna mer än ett dokument i den unika instansen av Okular." + +#~ msgid "No matches found for '%1'." +#~ msgstr "Inga träffar hittades för \"%1\"." + +#~ msgid "Search in progress..." +#~ msgstr "Sökning pågår ..." + +#~ msgid "Searching for %1" +#~ msgstr "Söker efter %1" + +#~ msgid "Identity Settings" +#~ msgstr "Identitetsinställningar" + +#~ msgid "Highlight Properties" +#~ msgstr "Markeringsegenskaper" + +#~ msgid "Ink Properties" +#~ msgstr "Bläckegenskaper" + +#~ msgctxt "Annotation tool" +#~ msgid "Text Annotation" +#~ msgstr "Textkommentar" + +#~ msgctxt "Annotation tool" +#~ msgid "Green Ink" +#~ msgstr "Grönt bläck" + +#~ msgctxt "Annotation tool" +#~ msgid "Yellow Highlight" +#~ msgstr "Gulmarkering" + +#~ msgctxt "Annotation tool" +#~ msgid "Straight Yellow Line" +#~ msgstr "Rak gul linje" + +#~ msgid "Black Underlining" +#~ msgstr "Svart understrykning" + +#~ msgctxt "Annotation tool" +#~ msgid "Underline the text with a black line" +#~ msgstr "Stryk under texten med en svart linje" + +#~ msgctxt "Annotation tool" +#~ msgid "A cyan ellipse" +#~ msgstr "En turkos ellips" + +#~ msgid "Ink" +#~ msgstr "Bläck" + +#~ msgid "Reset Forms" +#~ msgstr "Återställ formulär" + +#~ msgid "latex failed." +#~ msgstr "Latex misslyckades." + +#~ msgid "dvipng failed." +#~ msgstr "Dvipng misslyckades." + +#~ msgid "Moves to the first page of the document" +#~ msgstr "Går till dokumentets första sida" + +#~ msgid "You must set this name:" +#~ msgstr "Du måste ange namnet:" + +#~ msgid "Toggles between File Path and Title" +#~ msgstr "Växlar mellan filsökväg och namn" + +#~ msgctxt "%1 is \"Title\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#~ msgctxt "%1 is \"File Path\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#~ msgctxt "@action:button" +#~ msgid "&Overwrite" +#~ msgstr "&Skriv över" + +#~ msgid "Pages:" +#~ msgstr "Sidor:" diff --git a/po/sv/okular_comicbook.po b/po/sv/okular_comicbook.po new file mode 100644 index 0000000..3dd90da --- /dev/null +++ b/po/sv/okular_comicbook.po @@ -0,0 +1,58 @@ +# translation of okular_comicbook.po to Swedish +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Stefan Asserhäll , 2008, 2018. +msgid "" +msgstr "" +"Project-Id-Version: okular_comicbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2018-11-08 20:05+0100\n" +"Last-Translator: Stefan Asserhäll \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 2.0\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Stefan Asserhäll" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "stefan.asserhall@gmail.com" + +#: document.cpp:97 +#, kde-format +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "Kan inte öppna dokument, varken unrar eller unarchiver hittades." + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "" +"Versionen av unrar på systemet är inte lämplig för att öppna serieböcker." + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "Okänt serieboksformat." + +#~ msgid "ComicBook Backend" +#~ msgstr "Seriebokgränssnitt" + +#~ msgid "A renderer for various comic book formats" +#~ msgstr "Ett återgivningsprogram för diverse format för serieböcker" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/sv/okular_djvu.po b/po/sv/okular_djvu.po new file mode 100644 index 0000000..38ec1bb --- /dev/null +++ b/po/sv/okular_djvu.po @@ -0,0 +1,136 @@ +# translation of okular_djvu.po to Swedish +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Stefan Asserhäll , 2007, 2008. +msgid "" +msgstr "" +"Project-Id-Version: okular_djvu\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-09-04 20:24+0200\n" +"Last-Translator: Stefan Asserhäll \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Stefan Asserhäll" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "stefan.asserhall@gmail.com" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "Redaktör" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "Förlag" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "Volym" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "Dokumenttyp" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "Okända" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "Ingående filer" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "Okänd" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "Ensam sida" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "Buntad" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "Indirekt" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "Buntad (gammal)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "Indexerad (gammal)" + +#~ msgid "DjVu Backend" +#~ msgstr "Djvu-gränssnitt" + +#~ msgid "DjVu backend based on DjVuLibre." +#~ msgstr "DjVu-gränssnitt baserat på DjVuLibre." + +#~ msgid "© 2006-2008 Pino Toscano" +#~ msgstr "© 2006-2008 Pino Toscano" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgctxt "Unknown title" +#~ msgid "Unknown" +#~ msgstr "Okänd" + +#~ msgctxt "Unknown author" +#~ msgid "Unknown" +#~ msgstr "Okänd" + +#~ msgctxt "Unknown editor" +#~ msgid "Unknown" +#~ msgstr "Okänd" + +#~ msgctxt "Unknown publisher" +#~ msgid "Unknown" +#~ msgstr "Okänt" + +#~ msgctxt "Unknown creation date" +#~ msgid "Unknown" +#~ msgstr "Okänt" + +#~ msgctxt "Unknown volume information" +#~ msgid "Unknown" +#~ msgstr "Okänd" + +#~ msgctxt "Unknown type of document" +#~ msgid "Unknown" +#~ msgstr "Okänd" diff --git a/po/sv/okular_dvi.po b/po/sv/okular_dvi.po new file mode 100644 index 0000000..86851c2 --- /dev/null +++ b/po/sv/okular_dvi.po @@ -0,0 +1,777 @@ +# translation of okular_dvi.po to Swedish +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# SPDX-FileCopyrightText: 2007, 2008, 2009, 2013, 2014, 2024, 2025 Stefan Asserhäll +msgid "" +msgstr "" +"Project-Id-Version: okular_dvi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-28 18:35+0200\n" +"Last-Translator: Stefan Asserhäll \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 25.04.2\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Stefan Asserhäll" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "stefan.asserhall@gmail.com" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

    Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

    Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

    " +msgstr "" +"

    Okular kunde inte hitta programmet dvipdfm på datorn. " +"Programmet är absolut nödvändigt för att exportfunktionen ska fungera. Dock " +"kan du konvertera DVI-filen till PDF genom att använda Okulars " +"utskriftsfunktion, men det kommer ofta att skapa något som skrivs ut OK, men " +"är av undermålig kvalitet vid visning i Acrobat Reader. Det kan vara " +"lämpligt att uppgradera till en nyare version av Tex-distributionen som " +"innehåller programmet dvipdfm.

    Tips till den förbryllade " +"systemadministratören: Okular använder miljövariabeln PATH när den letar " +"efter program.

    " + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Det externa programmet 'dvipdfm' som användes för att exportera filen " +"rapporterade ett fel. Du vill kanske vill se efter i dialogrutan " +"Dokumentinformation som du hittar under menyn Arkiv för en exakt " +"felrapport." + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" +"Den här DVI-filen hänvisar till externa grafikfiler som inte har " +"Postscript-format, och inte kan hanteras av programmet dvips som " +"Okular använder internt för att skriva ut eller exportera till Postscript. " +"Funktionen som du begärt är därför inte tillgänglig i den här versionen av " +"Okular." + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

    Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

    Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

    " +msgstr "" +"

    Okular kunde inte hitta programmet dvips på datorn. " +"Programmet är absolut nödvändigt för att exportfunktionen ska fungera.

    Tips till den förbryllade systemadministratören: Okular använder " +"miljövariabeln PATH när den letar efter program.

    " + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Det externa programmet \"dvips\" som användes för att exportera filen " +"rapporterade ett fel. Du vill kanske vill se efter i dialogrutan " +"Dokumentinformation som du hittar under menyn Arkiv för en mer " +"precis felrapport." + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "DVI-filen börjar inte med en inledning." + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" +"DVI-filen innehåller fel version av DVI-utmatning för det här programmet. " +"Tips: Om du använder typsättningssystemet Omega, måste du använda ett " +"särskilt program, som Oxdvi." + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "DVI-filen är svårt skadad. Okular hittar inte avslutningen." + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "Avslutet börjar inte med POST-kommandot." + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "Avslutet innehåller ett annat kommando än FNTDEF." + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "Sidan %1 börjar inte med BOP-kommandot." + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

    The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

    What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

    PATH: %2

    " +msgstr "" +"

    Det externa programmet pdf2ps kunde inte startas. " +"På grund av det kunde PDF-filen %1 inte konverteras till Postscript. Vissa " +"grafiska element i dokumentet kommer därför inte att visas.

    Möjlig " +"orsak: Programmet pdf2ps är kanske inte installerat på " +"ditt system, eller kan inte hittas i den nuvarande sökvägen.

    Vad " +"du kan göra: Programmet pdf2ps ingår normalt i " +"distributioner av Postscript-tolkningsystemet Ghostscript. Om Ghostscript " +"inte är installerat på ditt system, skulle du kunna installera det nu. Om du " +"är säker på att Ghostscript är installerat, försök att använda " +"pdf2ps från kommandoraden för att kontrollera om det " +"verkligen fungerar.

    Sökväg: %2

    " + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

    The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

    %2

    " +msgstr "" +"

    PDF-filen %1 kunde inte konverteras till Postscript. Vissa grafiska " +"element i dokumentet kommer därför inte att visas.

    Möjlig orsak: Filen %1 kan vara skadad, eller kanske inte alls är en PDF-fil. Här är " +"utmatningen från programmet pdf2ps som Okular använde:

    %2

    " + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "Filen skadad. %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "Alla Postscript-filer kunde inte inbäddas i dokumentet. %1" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "Alla externa Postscript-filer inbäddades i dokumentet." + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "Den angivna filen '%1' finns inte." + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" +"Du har bett Okular att hitta platsen i DVI-filen som motsvarar rad %1 i Tex-" +"filen %2. Det verkar dock som om DVI-filen inte innehåller nödvändig " +"information om källfilen." + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" +"Okular kunde inte lokalisera platsen i DVI-filen som motsvarar rad %1 i Tex-" +"filen %2." + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "DVI-koden väljer ett tecken från ett okänt teckensnitt." + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "" +"DVI-koden hänvisar till teckensnittet #%1, som inte har definierats tidigare." + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "Stacken var inte tom när EOP-kommandot hanterades." + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "Stacken var tom när ett POP-kommando hanterades." + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "" +"DVI-koden hänvisar till ett teckensnitt som inte har definierats tidigare." + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "Ett illegalt kommando hanterades." + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "Den okända op-koden %1 hanterades." + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "Inbäddar %1" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
    " +msgstr "" +"Sida %1: PDF-filen %2 kunde inte konverteras till " +"Postscript.
    " + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
    " +msgstr "Sida %1: Postscript-filen %2 kunde inte hittas.
    " + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "Pappersstorleken \"%1\" kunde inte tolkas." + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

    Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

    PATH: %1

    %2

    " +msgstr "" +"

    Okular kunde inte hitta alla teckensnittsfiler som behövs för att " +"visa den aktuella DVI-filen. Dokumentet kan vara oläsbart.

    PATH: %1

    %2

    " + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

    There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
    Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

    PATH: %1

    %2

    " +msgstr "" +"

    Det uppstod problem vid körning av kpsewhich. Som resultat " +"kunde vissa teckensnittsfiler inte hittas, och dokumentet kan vara oläsbart." +"
    Möjlig orsak: Programmet kpsewhich kanske inte är installerat " +"på datorn, eller kan inte hittas med nuvarande sökväg.

    PATH:" +" %1

    %2

    " + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" +"Skapa teckensnitt med kpsewhich avbröts (avslutningskod %1, fel " +"%2). På grund av det kunde vissa teckensnittsfiler inte hittas, och " +"dokumentet kan vara oläsbart." + +#: fontpool.cpp:482 +#, kde-format +msgid "Currently generating %1 at %2 dpi…" +msgstr "Skapar för närvarande %1 med %2 punkter/tum…" + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "Skapare/Datum" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "Teckensnittsfilen hittades inte" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "%1 × %2" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "%1 × %2 mm" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "%1 × %2 tum" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "stående" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "liggande" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" +"Versionen av Ghostview som är installerad på datorn innehåller inte någon av " +"de drivrutiner för Ghostview som Okular känner till. Postscript-stöd är " +"därför nu avstängt i Okular." + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "Det här är 25 fel. Ytterligare felmeddelanden skrivs inte ut." + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" +"Fel i DVI-fil \"%1\", sidan %2. Kommando för att ta bort färg från stacken " +"utfört när stacken är tom." + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" +"Felaktig parameter i epsf-specialkommandot.\n" +"Förväntade att ett flyttal skulle följa %1 i %2." + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"Filen hittades inte: \n" +" %1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" +"Fel i DVI-fil '%1', sidan %2. Kunde inte tolka vinkel i speciell " +"textrotation." + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "Specialkommandot \"%1\" är inte implementerat." + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" +"Teckensnittsfilen %1 kunde öppnas och läsas, men teckenformatet\n" +"stöds inte." + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "Teckensnittsfilen %1 är felaktig, eller kunde inte öppnas eller läsas." + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" +"FreeType rapporterade ett fel när teckenstorleken för teckensnittsfilen %1 " +"skulle ställas in." + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "FreeType kan inte ladda tecken nummer %1 från teckensnittsfilen %2." + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "FreeType kan inte rita upp tecken nummer %1 från teckensnittsfilen %2." + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "Tecken nummer %1 är tomt." + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "Tecken nummer %1 från teckensnittsfilen %2 är tom." + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "" +"FreeType kan inte ladda storleksinformation för tecken nummer %1 från " +"teckensnittsfilen %2." + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "Kan inte öppna teckensnittsfilen %1." + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "TexFont_PK::operator[]: Tecken %1 inte definierat i teckensnitt %2" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "Oväntad %1 i PK-fil %2" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "Tecknet %1 är för stort i fil %2" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "Felaktigt antal bitar lagrade: tecken %1, teckensnitt %2" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "Dålig pk-fil (%1), för många bitar" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "Teckensnittet har olika bredd och höjd " + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "Kan inte hitta teckensnittet %1, filen %2." + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "Felaktig kontrollsumma för teckensnittsfil %1" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "Känner inte igen formatet på teckensnittsfilen %1" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"Allvarligt fel.\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" +"\n" +"\n" +"Det innebär troligen att antingen har du hittat ett fel i Okular,\n" +"eller att DVI-filen, eller hjälpfiler (som t ex teckensnittsfiler eller\n" +"virtuella teckensnittsfiler) var allvarligt skadade. Okular kommer\n" +"att avslutas efter det här meddelandet. Om du tror att du har\n" +"hittat ett fel eller tycker att Okular bör uppträda bättre i den här\n" +"situationen, vänligen rapportera problemet." + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "Felaktig kommandobyte funnen i VF-makrolistan: %1" + +#~ msgid "" +#~ "

    The Ghostview program, which Okular uses internally to display the " +#~ "PostScript graphics that is included in this DVI file, is generally able " +#~ "to write its output in a variety of formats. The sub-programs that " +#~ "Ghostview uses for these tasks are called 'device drivers'; there is one " +#~ "device driver for each format that Ghostview is able to write. Different " +#~ "versions of Ghostview often have different sets of device drivers " +#~ "available. It seems that the version of Ghostview that is installed on " +#~ "this computer does not contain any of the device drivers " +#~ "that are known to Okular.

    It seems unlikely that a regular " +#~ "installation of Ghostview would not contain these drivers. This error may " +#~ "therefore point to a serious misconfiguration of the Ghostview " +#~ "installation on your computer.

    If you want to fix the problems with " +#~ "Ghostview, you can use the command gs --help to display " +#~ "the list of device drivers contained in Ghostview. Among others, Okular " +#~ "can use the 'png256', 'jpeg' and 'pnm' drivers. Note that Okular needs to " +#~ "be restarted to re-enable PostScript support.

    " +#~ msgstr "" +#~ "

    Programmet Ghostview, som Okular använder internt för att visa " +#~ "Postscript-grafiken som ingår i den här DVI-filen, har i allmänhet " +#~ "möjlighet att skriva sin utmatning med flera olika format. Delprogrammen " +#~ "som Ghostview använder för denna aktivitet kallas 'drivrutiner'. Det " +#~ "finns en drivrutin för varje format som Ghostview kan skriva. Olika " +#~ "versioner av Ghostview har ofta olika uppsättningar drivrutiner " +#~ "tillgängliga. Det verkar som versionen av Ghostview som är installerad på " +#~ "datorn inte innehåller någon av de drivrutiner som " +#~ "Okular känner till.

    Det verkar inte troligt att en vanlig " +#~ "installation av Ghostview inte skulle innehålla dessa drivrutiner. Felet " +#~ "kan därför tyda på en allvarligt fel i installationen av Ghostview på " +#~ "datorn.

    Om du vill rätta problemen med Ghostview, kan du använda " +#~ "kommandot gs --help för att visa listan med drivrutiner " +#~ "som finns i Ghostview. Bland annat kan Okular använda drivrutinerna " +#~ "'png256', 'jpeg' och 'pnm'. Observera att Okular måste startas om för att " +#~ "åter aktivera stöd för Postscript.

    " + +#~ msgid "DVI Backend" +#~ msgstr "DVI-gränssnitt" + +#~ msgid "A DVI file renderer" +#~ msgstr "Återgivning av DVI-filer" + +#~ msgid "© 2006 Luigi Toscano" +#~ msgstr "© 2006 Luigi Toscano" + +#~ msgid "" +#~ "

    Okular relies on the kpsewhich program to locate font files on " +#~ "your hard disk and to generate PK fonts, if necessary.

    " +#~ msgstr "" +#~ "

    Okular förlitar sig på programmet kpsewhich för att hitta " +#~ "teckensnittsfiler på hårddisken och skapa PK-teckensnitt, om det behövs." + +#~ msgid "Okular is currently generating bitmap fonts..." +#~ msgstr "Okular skapar för närvarande bitmappteckensnitt..." + +#~ msgid "Aborts the font generation. Do not do this." +#~ msgstr "Avbryter genereringen av teckensnitt. Gör inte det." + +#~ msgid "" +#~ "Okular is currently generating bitmap fonts which are needed to display " +#~ "your document. For this, Okular uses a number of external programs, such " +#~ "as MetaFont. You can find the output of these programs later in the " +#~ "document info dialog." +#~ msgstr "" +#~ "Okular skapar för tillfället bitmappteckensnitt som behövs för att visa " +#~ "dokumentet. För genereringen använder Okular ett antal externa program " +#~ "som t.ex. Metafont. Du kan hitta utmatningen från dessa program i " +#~ "dialogrutan dokumentinformation." + +#~ msgid "Okular is generating fonts. Please wait." +#~ msgstr "Okular skapar teckensnitt. Vänta." + +#~ msgid "Font Generation Progress Dialog" +#~ msgstr "Förloppsdialogruta för skapa teckensnitt" + +#~ msgid "Abort" +#~ msgstr "Avbryt" + +#~ msgid "What is happening here?" +#~ msgstr "Vad händer?" + +#~ msgid "%v of %m" +#~ msgstr "%v av %m" + +#~ msgid "Please be patient" +#~ msgstr "Vänta" + +#~ msgid "*.pdf|Portable Document Format (*.pdf)" +#~ msgstr "*.pdf|Portable Document Format (*.pdf)" + +#~ msgid "Export File As" +#~ msgstr "Exportera fil som" + +#~ msgid "" +#~ "The file %1\n" +#~ "exists. Do you want to overwrite it?" +#~ msgstr "" +#~ "Filen %1\n" +#~ "finns. Vill du skriva över filen?" + +#~ msgid "Overwrite File" +#~ msgstr "Skriv över fil" + +#~ msgid "Overwrite" +#~ msgstr "Skriv över" + +#~ msgid "Using dvipdfm to export the file to PDF" +#~ msgstr "Använder dvipdfm för att exportera filen till PDF" + +#~ msgid "" +#~ "Okular is currently using the external program 'dvipdfm' to convert your " +#~ "DVI-file to PDF. Sometimes that can take a while because dvipdfm needs to " +#~ "generate its own bitmap fonts Please be patient." +#~ msgstr "" +#~ "Okular använder för tillfället det externa programmet 'dvipdfm' för att " +#~ "konvertera DVI-filen till PDF. Ibland kan det här ta en stund eftersom " +#~ "dvipdfm måste skapa sina egna bitmappteckensnitt. Vänta." + +#~ msgid "Waiting for dvipdfm to finish..." +#~ msgstr "Väntar på att dvipdfm ska bli färdig..." + +#~ msgid "*.ps|PostScript (*.ps)" +#~ msgstr "*.ps|Postscript (*.ps)" + +#~ msgid "Using dvips to export the file to PostScript" +#~ msgstr "Använder dvips för att exportera filen till Postscript" + +#~ msgid "" +#~ "Okular is currently using the external program 'dvips' to convert your " +#~ "DVI-file to PostScript. Sometimes that can take a while because dvips " +#~ "needs to generate its own bitmap fonts Please be patient." +#~ msgstr "" +#~ "Okular använder för tillfället det externa programmet \"dvips\" för att " +#~ "konvertera DVI-filen till Postscript. Ibland kan det här ta en stund " +#~ "eftersom dvips måste skapa sina egna bitmappteckensnitt. Vänta." + +#~ msgid "Waiting for dvips to finish..." +#~ msgstr "Väntar på att dvips ska bli färdig..." + +#~ msgid "Functionality Unavailable" +#~ msgstr "Funktionen inte tillgänglig" + +#~ msgid "" +#~ "File corruption Okular could not interpret your DVI " +#~ "file. This is most commonly caused by a corrupted file." +#~ msgstr "" +#~ "Filen är skadad Okular hade problem med att tolka " +#~ "DVI-filen. Det orsakas oftast av en skadad fil." + +#~ msgid "DVI File Error" +#~ msgstr "DVI-filfel" + +#~ msgid "Not All Font Files Found" +#~ msgstr "Alla teckensnittsfiler hittades inte" + +#~ msgid "Locating fonts..." +#~ msgstr "Letar efter teckensnitt..." + +#~ msgid "" +#~ "

    There were problems running kpsewhich. As a result, some font " +#~ "files could not be located, and your document might be unreadable.

    Possible reason: The kpsewhich program is perhaps not " +#~ "installed on your system, or it cannot be found in the current search " +#~ "path.

    What you can do: The kpsewhich program is normally " +#~ "contained in distributions of the TeX typesetting system. If TeX is not " +#~ "installed on your system, you could install the TeX Live distribution " +#~ "(www.tug.org/texlive). If you are sure that TeX is installed, please try " +#~ "to use the kpsewhich program from the command line to check if it really " +#~ "works.

    " +#~ msgstr "" +#~ "

    Det uppstod problem när programmet kpsewhich skulle köras. På " +#~ "grund av det kunde vissa teckensnittsfiler inte hittas, och dokumentet " +#~ "kan vara oläsbart.

    Möjlig orsak: Programmet kpsewhich är " +#~ "kanske inte installerat på ditt system, eller kan inte hittas i den " +#~ "nuvarande sökvägen.

    Vad du kan göra: Programmet kpsewhich " +#~ "ingår normalt i distributioner av typsättningssystemet Tex. Om Tex inte " +#~ "är installerat på ditt system, skulle du kunna installera Tex Live-" +#~ "distributionen (www.tux.org/texlive). Om du är säker på att Tex är " +#~ "installerat, försök att använda programmet kpsewhich från kommandoraden " +#~ "för att kontrollera om det verkligen fungerar.

    " + +#~ msgid "Problem locating fonts" +#~ msgstr "Problem att hitta teckensnitt" + +#~ msgid "Font generation aborted" +#~ msgstr "Skapa teckensnittet avbrutet" + +#~ msgid "Export: %1 to PDF" +#~ msgstr "Exportera: %1 till PDF" + +#~ msgid "Export: %1 to PostScript" +#~ msgstr "Exportera: %1 till Postscript" + +#~ msgid "The fontlist is currently empty." +#~ msgstr "Teckensnittslistan är tom för tillfället." + +#~ msgid "TeX Name" +#~ msgstr "Tex-namn" + +#~ msgid "Family" +#~ msgstr "Familj" + +#~ msgid "Zoom" +#~ msgstr "Zooma" + +#~ msgid "Type" +#~ msgstr "Typ" + +#~ msgid "Encoding" +#~ msgstr "Kodning" + +#~ msgid "Comment" +#~ msgstr "Kommentar" + +#~ msgid "TeX virtual" +#~ msgstr "Tex-virtuell" + +#~ msgid "TeX Font Metric" +#~ msgstr "Tex-teckenstorlekar" + +#~ msgid "FreeType" +#~ msgstr "FreeType" diff --git a/po/sv/okular_epub.po b/po/sv/okular_epub.po new file mode 100644 index 0000000..9c2b8d7 --- /dev/null +++ b/po/sv/okular_epub.po @@ -0,0 +1,56 @@ +# translation of okular_epub.po to Swedish +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Stefan Asserhäll , 2008, 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_epub\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-05-24 18:30+0200\n" +"Last-Translator: Stefan Asserhäll \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.4\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Stefan Asserhäll" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "stefan.asserhall@gmail.com" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "Fel när EPub-dokumentet skulle öppnas." + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "Epub" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "Inställning av Epub-gränssnitt" + +#~ msgid "EPub Backend" +#~ msgstr "Epub-gränssnitt" + +#~ msgid "An EPub backend" +#~ msgstr "Ett Epub-gränssnitt" + +#~ msgid "© 2008 Ely Levy" +#~ msgstr "© 2008 Ely Levy" + +#~ msgid "Ely Levy" +#~ msgstr "Ely Levy" diff --git a/po/sv/okular_fax.po b/po/sv/okular_fax.po new file mode 100644 index 0000000..67f3707 --- /dev/null +++ b/po/sv/okular_fax.po @@ -0,0 +1,46 @@ +# translation of okular_fax.po to Swedish +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Stefan Asserhäll , 2008. +msgid "" +msgstr "" +"Project-Id-Version: okular_fax\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-11-19 21:40+0100\n" +"Last-Translator: Stefan Asserhäll \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Stefan Asserhäll" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "stefan.asserhall@gmail.com" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "Kunde inte ladda dokument" + +#~ msgid "Fax Backend" +#~ msgstr "Telefax-gränssnitt" + +#~ msgid "A G3/G4 fax document backend" +#~ msgstr "Ett G3/G4 telefax-dokumentgränssnitt" + +#~ msgid "© 2008 Tobias Koenig" +#~ msgstr "© 2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/sv/okular_fictionbook.po b/po/sv/okular_fictionbook.po new file mode 100644 index 0000000..fb97ba0 --- /dev/null +++ b/po/sv/okular_fictionbook.po @@ -0,0 +1,81 @@ +# translation of okular_fictionbook.po to Swedish +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Stefan Asserhäll , 2007, 2008, 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_fictionbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-05-24 18:31+0200\n" +"Last-Translator: Stefan Asserhäll \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.4\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Stefan Asserhäll" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "stefan.asserhall@gmail.com" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "Dokumentet är inte en giltig Fictionbook" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "Kan inte öppna dokumentet: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "Dokumentet är inte ett giltigt ZIP-arkiv" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "Felaktig dokumentstruktur (huvudkatalogen saknas)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "Inget innehåll hittades i dokumentet" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "Felaktigt XML-dokument: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "Fiction Book" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "Inställning av Fiction Book-gränssnitt" + +#~ msgid "Fiction Book Backend" +#~ msgstr "Fiction Book-gränssnitt" + +#~ msgid "A renderer for FictionBook eBooks" +#~ msgstr "Ett återgivningsprogram för Fiction Book e-böcker" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/sv/okular_ghostview.po b/po/sv/okular_ghostview.po new file mode 100644 index 0000000..723a597 --- /dev/null +++ b/po/sv/okular_ghostview.po @@ -0,0 +1,92 @@ +# translation of okular_ghostview.po to Swedish +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Stefan Asserhäll , 2007, 2008, 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_ghostview\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-04-13 09:47+0200\n" +"Last-Translator: Stefan Asserhäll \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Stefan Asserhäll" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "stefan.asserhall@gmail.com" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "Använd plattformens teckensnitt" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"Bestämmer om Ghostscript ska tillåtas använda plattformens teckensnitt. Om " +"falskt tillåts bara användning av teckensnitt inbäddade i dokumentet." + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "Allmänna inställningar" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "An&vänd plattformens teckensnitt" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Ghostscript-gränssnittets inställning" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "Dokumentversion" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "Språknivå" + +#~ msgid "PS Backend" +#~ msgstr "PS-gränssnitt" + +#~ msgid "A PostScript file renderer." +#~ msgstr "Ett återgivningsprogram för Postscript-filer" + +#~ msgid "© 2007-2008 Albert Astals Cid" +#~ msgstr "© 2007-2008 Albert Astals Cid" + +#~ msgid "Based on the Spectre library." +#~ msgstr "Baserat på Spectre-biblioteket." + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" diff --git a/po/sv/okular_kimgio.po b/po/sv/okular_kimgio.po new file mode 100644 index 0000000..432a658 --- /dev/null +++ b/po/sv/okular_kimgio.po @@ -0,0 +1,70 @@ +# translation of okular_kimgio.po to Swedish +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Stefan Asserhäll , 2007, 2009, 2017. +msgid "" +msgstr "" +"Project-Id-Version: okular_kimgio\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2017-11-15 18:42+0100\n" +"Last-Translator: Stefan Asserhäll \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 2.0\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Stefan Asserhäll" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "stefan.asserhall@gmail.com" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "Kunde inte ladda dokument: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" +"Dokumentet verkar vara felaktigt utformat. Här är den bästa approximationen " +"av dokumentets tänkta utseende." + +#~ msgid "Image Backend" +#~ msgstr "Bildgränssnitt" + +#~ msgid "A simple image backend" +#~ msgstr "Ett enkelt bildgränssnitt" + +#~ msgid "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" +#~ msgstr "" +#~ "© 2005,2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" + +#~ msgid "Main Toolbar" +#~ msgstr "Huvudverktygsrad" diff --git a/po/sv/okular_markdown.po b/po/sv/okular_markdown.po new file mode 100644 index 0000000..417a15a --- /dev/null +++ b/po/sv/okular_markdown.po @@ -0,0 +1,53 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Stefan Asserhäll , 2017, 2018, 2019. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-03-31 18:21+0100\n" +"Last-Translator: Stefan Asserhäll \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Stefan Asserhäll" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "stefan.asserhall@gmail.com" + +#: converter.cpp:59 converter.cpp:93 +#, kde-format +msgid "Failed to open the document" +msgstr "Misslyckades öppna dokumentet" + +#: converter.cpp:106 converter.cpp:124 +#, kde-format +msgid "Failed to compile the Markdown document." +msgstr "Misslyckades kompilera Markdown-dokumentet." + +#: generator_md.cpp:58 +#, kde-format +msgid "Enable SmartyPants formatting" +msgstr "Aktivera SmartyPants-formatering" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown" +msgstr "Markdown" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown Backend Configuration" +msgstr "Markdown-gränssnittsinställning" diff --git a/po/sv/okular_mobi.po b/po/sv/okular_mobi.po new file mode 100644 index 0000000..764c533 --- /dev/null +++ b/po/sv/okular_mobi.po @@ -0,0 +1,64 @@ +# translation of okular_mobi.po to Swedish +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Stefan Asserhäll , 2008, 2009, 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_mobi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-05-24 18:31+0200\n" +"Last-Translator: Stefan Asserhäll \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.4\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Stefan Asserhäll" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "stefan.asserhall@gmail.com" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Fel när Mobipocket-dokument skulle öppnas." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "" +"Boken är skyddad av digital upphovsrättshantering och kan bara visas på " +"avsedd enhet" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "Mobipocket" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "Inställning av Mobipocket-gränssnitt" + +#~ msgid "Mobipocket Backend" +#~ msgstr "Mobipocket-gränssnitt" + +#~ msgid "A mobipocket backend" +#~ msgstr "Ett Mobipocket-gränssnitt" + +#~ msgid "© 2008-2009 Jakub Stachowski" +#~ msgstr "© 2008-2009 Jakub Stachowski" + +#~ msgid "Jakub Stachowski" +#~ msgstr "Jakub Stachowski" diff --git a/po/sv/okular_poppler.po b/po/sv/okular_poppler.po new file mode 100644 index 0000000..058766d --- /dev/null +++ b/po/sv/okular_poppler.po @@ -0,0 +1,417 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# SPDX-FileCopyrightText: 2015, 2018, 2019, 2020, 2021, 2023, 2025 Stefan Asserhäll +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-28 18:35+0200\n" +"Last-Translator: Stefan Asserhäll \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 25.04.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Stefan Asserhäll" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "stefan.asserhall@gmail.com" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "Aktivera förhandsgranskning av marginalutskrift:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "Aldrig" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "Alltid" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "Automatisk" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "Förtydliga tunna linjer:" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "Nej" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "Fylld" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "Form" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "Normal skalningsmetod vid utskrift:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "Anpassa till utskrivbar area" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "Anpassa till hela sidan" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "Ingen, skriv ut originalstorlek" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" +"Att aktivera alternativet ger Okular tillåtelse att kontakta tredjepart OCSP-" +"servrar för att kontrollera om certifikaten som används för digital " +"signering har återkallats sedan de skapades." + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" +"Kontrollera återkallelse av digitala signaturers certifikat med " +"tredjepartsservrar" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "Signaturgränssnitt:" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" +"Signaturerna kan bara valideras med moderna versioner av Okular med GnuPG-" +"gränssnittet aktiverat" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "Tillåt PGP-nycklar för signaturer (Okular-utökning)" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "Certifikatdatabas" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "Standard:" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "Egen:" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "Tillgängliga certifikat" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "&Läs in signaturer" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "PDF-alternativ" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "Skriv ut kommentarer" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "Inkludera kommentarer i det utskrivna dokumentet" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"Inkluderar kommentarer i det utskrivna dokumentet. Du kan inaktivera det om " +"du vill skriva ut det ursprungliga dokumentet utan kommentarer." + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "Framtvinga rastrering" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "Rastrera till en bild innan utskrift" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"Framtvinga att varje sida rastreras till en bild innan den skrivs ut. Det " +"ger oftast ett något sämre resultat, men är användbart för dokument som " +"annars verkar skrivas ut på ett felaktigt sätt." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "Skalningsmetod för de utskrivna sidorna" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "Skalningsmetod:" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF v. %1.%2" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "Format" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "Krypterad" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "Inte krypterad" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "Säkerhet" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "Ja" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "Optimerad" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Signerat av: %1\n" +"\n" +"Datum: %2" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "Använder Poppler %1" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" +"Använder Poppler %1\n" +"\n" +"Byggt med Poppler %2" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "Inställning av PDF-gränssnitt" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "Misslyckades skriva tillfällig fil" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "Misslyckades byta namn på tillfällig fil" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" +"Några fel hittades i dokumentet. Okular kanske inte visa innehållet korrekt." + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" +"Signaturerna fungerar bara mellan moderna versioner av Okular med GnuPG-" +"gränssnittet aktiverat" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "Aktivera PGP-signaturer" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "Utfärdat till" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "E-post" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "Utgångsdatum" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" +"Du använder ett Poppler-bibliotek byggt utan stöd för NSS.\n" +"Av den anledningen går det inte att lägga till digitala signaturer." + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "för alltid" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "Omstart krävs" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "" +"Du måste starta om Okular efter att ha ändrat kataloginställningar för NSS" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter Password" +msgstr "Ange lösenord" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "Ange lösenord för att öppna %1:" + +#~ msgid "Not Available" +#~ msgstr "Inte tillgänglig" + +#~ msgid "PDF Certificates" +#~ msgstr "PDF certifikat" + +#~ msgid "PDF Digital Signature Certificates" +#~ msgstr "PDF digitala signaturcertifikat" + +#~ msgid "Select rasterization to enable this!" +#~ msgstr "Välj rastrering för att aktivera detta." + +#~ msgid "PDF Backend" +#~ msgstr "PDF-gränssnitt" + +#~ msgid "A PDF file renderer" +#~ msgstr "Ett återgivningsprogram för PDF-filer" + +#~ msgid "© 2005-2008 Albert Astals Cid" +#~ msgstr "© 2005-2008 Albert Astals Cid" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Saving files with /Encrypt is not supported." +#~ msgstr "Att spara filer med /Kryptering stöds inte." diff --git a/po/sv/okular_tiff.po b/po/sv/okular_tiff.po new file mode 100644 index 0000000..f279435 --- /dev/null +++ b/po/sv/okular_tiff.po @@ -0,0 +1,28 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Stefan Asserhäll , 2020. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-07-10 17:13+0200\n" +"Last-Translator: Stefan Asserhäll \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 19.04.3\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Stefan Asserhäll" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "stefan.asserhall@gmail.com" diff --git a/po/sv/okular_txt.po b/po/sv/okular_txt.po new file mode 100644 index 0000000..e63af69 --- /dev/null +++ b/po/sv/okular_txt.po @@ -0,0 +1,50 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Stefan Asserhäll , 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-05-24 18:32+0200\n" +"Last-Translator: Stefan Asserhäll \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 1.4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Stefan Asserhäll" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "stefan.asserhall@gmail.com" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "Text" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "Inställning av textgränssnitt" + +#~ msgid "Txt Backend" +#~ msgstr "Textgränssnitt" + +#~ msgid "Txt backend." +#~ msgstr "Textgränssnitt." + +#~ msgid "© 2013 Azat Khuzhin" +#~ msgstr "© 2013 Azat Khuzhin" + +#~ msgid "Azat Khuzhin" +#~ msgstr "Azat Khuzhin" diff --git a/po/sv/okular_xps.po b/po/sv/okular_xps.po new file mode 100644 index 0000000..0b97550 --- /dev/null +++ b/po/sv/okular_xps.po @@ -0,0 +1,58 @@ +# translation of okular_xps.po to Swedish +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Stefan Asserhäll , 2007, 2008. +msgid "" +msgstr "" +"Project-Id-Version: okular_xps\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-08-09 15:57+0200\n" +"Last-Translator: Stefan Asserhäll \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Stefan Asserhäll" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "stefan.asserhall@gmail.com" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "Revision" + +#~ msgid "XPS Backend" +#~ msgstr "XPS-gränssnitt" + +#~ msgid "An XPS backend" +#~ msgstr "Ett XPS-gränssnitt" + +#~ msgid "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" +#~ msgstr "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" + +#~ msgid "Brad Hards" +#~ msgstr "Brad Hards" + +#~ msgid "Jiri Klement" +#~ msgstr "Jiri Klement" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" diff --git a/po/sv/org.kde.active.documentviewer.po b/po/sv/org.kde.active.documentviewer.po new file mode 100644 index 0000000..be91663 --- /dev/null +++ b/po/sv/org.kde.active.documentviewer.po @@ -0,0 +1,236 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# SPDX-FileCopyrightText: 2012, 2016, 2018, 2019, 2020, 2022, 2025 Stefan Asserhäll +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-29 12:19+0200\n" +"Last-Translator: Stefan Asserhäll \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 25.04.3\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "Bokmärken" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "Certifikatvisning" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "Utfärdad av" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "Förnamn:" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "E-post:" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "Organisation:" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "Utfärdad till" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "Giltighet" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "Utfärdat:" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "Utgångsdatum:" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "Fingeravtryck" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "SHA-1-fingeravtryck:" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "SHA-256-fingeravtryck:" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +msgid "Export…" +msgstr "Exportera…" + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "Stäng" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "Certifikatfil (*.cer)" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "Fel" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "Kunde inte exportera certifikatet." + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "Okular" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "Öppna…" + +#: ui/Main.qml:49 +msgid "About" +msgstr "Om" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "Lösenord krävs" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "Ta bort bokmärke" + +#: ui/MainView.qml:29 +msgid "Bookmark this page" +msgstr "Spara sidan som bokmärke" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "Miniatyrbilder" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "Innehållsförteckning" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "Signaturer" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "Signaturegenskaper" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "Giltighetsstatus" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "Signaturens giltighet:" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "Dokumentändringar:" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "Ytterligare information" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "Signerad av:" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "Signeringstid:" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "Orsak:" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "Plats:" + +#: ui/SignaturePropertiesPage.qml:96 +msgid "Document Version" +msgstr "Dokumentversion" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Dokumentutgåva %1 av %2" + +#: ui/SignaturePropertiesPage.qml:108 +msgid "Save Signed Version…" +msgstr "Spara signerad version…" + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +msgid "View Certificate…" +msgstr "Visa certifikat…" + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "Kunde inte spara signaturen." + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "Inte tillgänglig" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "Inga resultat hittades." + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "Inget dokument öppet" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "Senaste dokument" + +#: ui/WelcomeView.qml:108 +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "Mina dokument" + +#~ msgid "Open..." +#~ msgstr "Öppna..." + +#~ msgid "Search..." +#~ msgstr "Sök..." + +#~ msgid "Open Android..." +#~ msgstr "Öppna Android..." + +#~ msgid "" +#~ "No Documents found. To start to read, put some files in the Documents " +#~ "folder of your device." +#~ msgstr "" +#~ "Inga dokument hittades. Lägg några filer i dokumentkatalogen på enheten " +#~ "för att börja läsa." + +#~ msgid "Document viewer for Plasma Active using Okular" +#~ msgstr "Dokumentvisare för Plasma Aktiv som använder Okular" + +#~ msgid "Reader" +#~ msgstr "Läsprogram" + +#~ msgid "Copyright 2012 Marco Martin" +#~ msgstr "Copyright 2012 Marco Martin" + +#~ msgid "Marco Martin" +#~ msgstr "Marco Martin" + +#~ msgid "URL of the file to open" +#~ msgstr "Webbadress för filen att öppna" diff --git a/po/ta/okular.po b/po/ta/okular.po new file mode 100644 index 0000000..4c95464 --- /dev/null +++ b/po/ta/okular.po @@ -0,0 +1,6647 @@ +# translation of kpdf.po to +# Copyright (C) 2004 Free Software Foundation, Inc. +# +# Ambalam , 2004. +# SPDX-FileCopyrightText: 2021, 2022, 2023, 2024, 2025 Kishore G +msgid "" +msgstr "" +"Project-Id-Version: kpdf\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-19 19:02+0530\n" +"Last-Translator: Kishore G \n" +"Language-Team: Tamil \n" +"Language: ta\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 25.04.3\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "vijay, கோ. கிஷோர்" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "jvijay_19@yahoo.com, Kde-l10n-ta@kde.org" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "ஆக்குலர்" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "ஆக்குலர், ஒரு பொதுவான ஆவணங்காட்டி" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"(C) 2002 வில்க்கோ கிரேவென், கிரிஸ்டோஃப் டெவிரீஸ்\n" +"(C) 2004-2005 என்ரீக்கோ ராஸ்\n" +"(C) 2005 பியூதுர் சீமான்ஸ்கீ\n" +"(C) 2004-2017 ஆல்பர்ட் ஆஸ்டால்ஸ் சிடு\n" +"(C) 2006-2009 பீனோ டொஸ்கானோ" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "பீனோ டொஸ்கானோ" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "முந்தைய பராமரிப்பாளர்" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "டொபையாசு கோனிகு" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "ஆல்பர்டு அஸ்டால்சு சிடு" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "நிரலாளர்" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "பியோதுர் சிமான்ஸுகீ" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "KPDF-இலிருந்து ஆக்குலரை உருவாக்கியவர்" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "என்ரிகோ ராசு" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "KPDF நிரலாளர்" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "யூஜீன் டுரோனெவ்" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "குறிப்புகளுக்கான வரைகலை" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "ஜிரி பாவும் - NICTA" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "அட்டவணையைத் தேர்ந்தெடுக்கும் கருவி" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "ஃபாபியோ டியுர்சோ" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "குறிப்புகளில் முன்னேற்றங்கள்" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "%1-வது பக்கத்துக்கு செல்" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "வெளிக் கோப்பைத் திற" + +#: core/action.cpp:197 +#, kde-format +msgid "Execute '%1'…" +msgstr "'%1' தனை இயக்கு…" + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "முதல் பக்கம்" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "முந்தைய பக்கம்" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "அடுத்த பக்கம்" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "கடைசி பக்கம்" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "பின்னே" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "முன்னே" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "வெளியேறு" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "வில்லைக்காட்சியைத் துவக்கு" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "வில்லைக்காட்சியை நிறுத்து" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "தேடு…" + +#: core/action.cpp:314 +#, kde-format +msgid "Go To Page…" +msgstr "பக்கத்துக்கு செல்…" + +#: core/action.cpp:365 +#, kde-format +msgid "Play sound…" +msgstr "ஒலியை இயக்கு…" + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "JavaScript சிறுநிரல்" + +#: core/action.cpp:483 +#, kde-format +msgid "Play movie…" +msgstr "நிகழ்படத்தை இயக்கு…" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "ஒளிக்காட்சியை இயக்கு" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "ஒளிக்காட்சியை நிறுத்து" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "ஒளிக்காட்சியை இடைநிறுத்து" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "ஒளிக்காட்சியைத் தொடர்" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "இந்த ஆக்குலர், ஒலி ஆதரவு இல்லாமல் தொகுக்கப்பட்டுள்ளது" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "பின்நிலைத் தேர்வு" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
    %1 (%2).

    Please select which one to use:
    " +msgstr "" +"%1 (%2).
    என்ற மைம்வகைக்கு ஒன்றுக்கு மேற்பட்ட பின்நிலைகள் " +"கண்டுபிடிக்கப்பட்டன

    எதைப் பயன்படுத்த வேண்டுமென்று தேர்ந்தெடுங்கள்:
    " + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "பெரும்பாலான பக்கங்கள் %1 -ஆக உள்ளன." + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "செங்குத்தான %1" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "கிடைமட்டமான %1" + +#: core/document.cpp:246 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 x %2 அங்குலம் (%3)" + +#: core/document.cpp:248 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 x %2 மி.மீ. (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "ஆரம்பத்திலிருந்து தேடல் தொடர்கிறது" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "கடைசியிலிருந்து தேடல் தொடர்கிறது" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "கொடுத்த ஆவணத்தைக் கையாளக் கூடிய செருகுநிரலைக் கண்டுபிடிக்க முடியவில்லை." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "இவ்வகையான ஆவணங்களுக்கு கையொப்பமிடுவதை ஆக்குலர் ஆதரிக்காது" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "குறிப்புகளை நீக்கு" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"இந்த ஆவணம் ஒரு வெளி செயலியை இயக்க முயற்சிக்கிறது. உங்கள் பாதுகாப்புக்காக ஆக்குலர் இதை " +"அனுமதிக்காது." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "மைம்வகை %1 கொண்ட கோப்பை திறப்பதற்கு எந்த செயலியும் கண்டுபிடிக்கப்படவில்லை." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "தற்காலிக கோப்பைத் திறக்க முடியவில்லை" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "அச்சிடுவதற்காக மாற்றுதல் தோல்வியடைந்தது" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "அச்சிடும் பணி முறிவடைந்தது" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "அச்சிடும் பணியைத் துவக்க முடியவில்லை" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "கோப்புக்கு அச்சிடுதல் தோல்வியடைந்தது" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "அச்சுப்பொறி செல்லுபடியாகாத நிலையில் இருந்தது" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "அச்சிட வேண்டிய கோப்பைக் கண்டுபிடிக்க முடியவில்லை" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "அச்சிட எந்தக் கோப்பும் இல்லை" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"அச்சிட பயன்படும் நிரலைக் கண்டுபிடிக்க முடியவில்லை. CUPS lpr நிரல் உள்ளதா என்று " +"சரிபாருங்கள்" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "அச்சிட வேண்டிய பக்க அளவு செல்லுபடியாகாதது" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "'%1'-ஐ திறக்க முடியவில்லை. அப்படி ஒரு கோப்பு இல்லை" + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "தலைப்பு" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "பொருள்" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "விவரணம்" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "இயற்றியவர்" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "உருவாக்கியது" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "தயாரித்தது" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "பதிப்புரிமை" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "பக்கங்கள்" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "உருவாக்கப்பட்டது" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "மாற்றப்பட்டது" + +#: core/document.cpp:6032 +#, kde-format +msgid "MIME Type" +msgstr "மைம் வகை" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "வகை" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "முதன்மைச்சொற்கள்" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "கோப்பிற்கான பாதை" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "கோப்பின் அளவு" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "பக்கங்களின் அளவு" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "குறிப்பைச் சேர்" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "குறிப்பை நீக்கு" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "குறிப்பின் பண்புகளை மாற்று" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "குறிப்பை நகர்த்து" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "குறிப்பின் அளவை மாற்று" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "உரையைத் திருத்து" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "குறிப்பின் உள்ளடக்கத்தைத் திருத்து" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "படிவத்தின் உள்ளடக்கத்தைத் திருத்து" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "பட்டியல் படிவத் தேர்வைத் திருத்து" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "கீழிறங்கு படிவத் தேர்வைத் திருத்து" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "படிவ பட்டன் நிலைகளைத் திருத்து" + +#: core/generator.cpp:790 +#, kde-format +msgid "Plain &Text…" +msgstr "சாதாரண உரை…" + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "OpenDocument Text" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "அச்சிடுவதற்கான விருப்பத்தேர்வுகள்" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "அச்சிடக்கூடிய பரப்பளவுக்கு பொருத்தமாக" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "முழுப் பக்கத்துக்கு பொருத்தமாக" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "அளவுமாற்ற முறை:" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "இந்த செய்தியை மறுபடியும் காட்டாதே" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "கிட்டவில்லை" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" +"உள்ளக கையொப்ப சிக்கல். இதைத் தூண்டும் முறையை விவரிக்கும் பிழையறிக்கையை சமர்பிக்கவும். " +"சிக்கல் எண்: %1" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "இக்கோப்பிற்கு கையொப்பமிட முடியவில்லை: %1" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "கையொப்பமிடுவதை பயனர் ரத்து செய்தார்" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "கையொப்பமிட முடியவில்லை. தவறான கடவுச்சொல்" + +#: core/signatureutils.cpp:504 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" +"%1 என்ற இடத்தில் கையொப்பமிட்ட ஆவணத்தை சேமிக்க முடியவில்லை. " +"அவ்வடைவில் எழுதும் அனுமதி உள்ளதா என சரிபார்க்கவும்." + +#: core/signatureutils.cpp:506 +#, kde-format +msgid "Unknown signing error" +msgstr "கையொப்பமிடுவதில் தெரியாத சிக்கல்" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "மூலம்: %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "&இயல்பிருப்பு எழுத்துரு:" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "பதிப்பு" + +#: gui/certificatemodel.cpp:41 +#, kde-format +msgid "Serial Number" +msgstr "தொடர் எண்" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "வழங்கியவர்" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "வழங்கப்பட்ட தேதி" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "காலாவதி ஆகும் தேதி" + +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "கையெழுத்திட்டவர்" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "பொது மறையீட்டு" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "மறையீட்டின் பயன்பாடு" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "V%1" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "%1 (%2 bits)" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "பண்பு" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "மதிப்பு" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "தெரித்தெழும் குறிப்பு" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "தட்டச்சுப்பொறி" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "ஒருங்கிணைந்த குறிப்பு" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +#| msgid "Polygon with Comment" +msgid "Arrow with Comment" +msgstr "குறிப்புடன் கூடிய பலகோணம்" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "அம்புக்குறி" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "குறிப்புடன் கூடிய நேர் கோடு" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "நேர் கோடு" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "குறிப்புடன் கூடிய பலகோணம்" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "பலகோணம்" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgid "Stamp with Comment" +msgid "Rectangle with Comment" +msgstr "குறிப்புடன் கூடிய முத்திரை" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "செவ்வகம்" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgid "Underline with Comment" +msgid "Ellipse with Comment" +msgstr "குறிப்புடன் கூடிய அடிக்கோடு" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "நீள்வட்டம்" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "குறிப்புடன் கூடிய முன்னிலைப்படுத்தல்" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "முன்னிலைப்படுத்து" + +#: gui/guiutils.cpp:87 +#, kde-format +msgid "Squiggle with Comment" +msgstr "குறிப்புடன் கூடிய சுருள் கொடு" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "சுருள் கொடு" + +#: gui/guiutils.cpp:91 +#, kde-format +msgid "Underline with Comment" +msgstr "குறிப்புடன் கூடிய அடிக்கோடு" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "அடிக்கோடு" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out with Comment" +msgstr "குறிப்புடன் கூடிய குறுக்கடி" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "குறுக்கடி" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "குறிப்புடன் கூடிய முத்திரை" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "முத்திரை" + +#: gui/guiutils.cpp:106 +#, kde-format +msgid "Freehand Line with Comment" +msgstr "குறிப்புடன் கூடிய கைமுறைக் கோடு" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "கைமுறைக் கோடு" + +#: gui/guiutils.cpp:110 +#, fuzzy, kde-format +#| msgid "Creator" +msgid "Caret" +msgstr "உருவாக்குபவர்" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "கோப்பு உடனிணைப்பு" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "ஒலி" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "ஒளிக்காட்சி" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "திரை" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation" +msgstr "குறிப்பு" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "தெரியாதவர்" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "இயற்றியவர்: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "நீங்கள் %1 என்பதை எங்கே சேமிக்க விரும்புகிறீர்கள்?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "\"%1\" என்பதை எழுத திறக்க முடியவில்லை. கோப்பு சேமிக்கப்படவில்லை." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "கையொப்பம் முறையானது." + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "கையொப்பம் செல்லுபடியாகாதது." + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "சரிகாண்தொகை முரண்பாடு ஏற்பட்டது." + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "கையொப்பத்தின் CMS/PKCS7 அமைப்பு முறையற்றது." + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "கோரிய கையொப்பம் ஆவணத்தில் இல்லை." + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "கையொப்பத்தை சரிபார்க்க முடியவில்லை." + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "சான்றிதழ் நம்பகமானது." + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "சான்றிதழை வழங்கியவர் நம்பகமானவர் அல்ல." + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "சான்றிதழை வழங்கியவர் தெரியாதவர்." + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "சான்றிதழ் திரும்பப்பெறப்பட்டுள்ளது." + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "சான்றிதழ் காலாவதியாகியுள்ளது." + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "சான்றிதழ் இன்னும் சரிபார்க்கப்படவில்லை." + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "சான்றிதழ் சரிபார்ப்பு செயலில் உள்ளது" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "சான்றிதழில் தெரியாத பிழை அல்லது முறையற்ற தரவு." + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "MD2" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "MD5" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "SHA1" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "SHA256" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "SHA384" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "SHA512" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "SHA224" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "தெரியாத படிமுறை" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "RSA" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "DSA" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "EC" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "தெரியாத வகை" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "டிஜிட்டல் கையொப்பம்" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "நிராகரிக்க முடியாத‍து" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "மறையாக்க சாவிகள்" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "மறைநீக்க சாவிகள்" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "சாவி ஒப்பந்தம்" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "கையொப்ப சான்றிதழ்" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "கையொப்ப CRL" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "மறையாக்கம் மட்டும்" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "பயன்பாடு குறிப்பிடப்படவில்லை" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr ", " + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "கையொப்பமிட்ட பிறகு ஆவணம் மாற்றப்படவில்லை." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" +"கையொப்பமிட்ட சீராய்வு மாற்றப்படவில்லை;\n" +"ஆனால் அதற்கு பிறகு மாற்றங்கள் உள்ளன." + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "முன்பு கையொப்பமிட்டவரால் அனுமதிக்கப்படாத விதத்தில் ஆவணம் மாற்றப்பட்டுள்ளது." + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "ஆவண நம்பகத்தை சரிபார்த்தலை முடிக்க முடியவில்லை." + +#: gui/signatureguiutils.cpp:208 +#, kde-format +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "இவ்வாவணத்தில் எண்ம‍முறை கையொப்ப புலங்கள் உள்ளன." + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "இந்த ஆவணம் டிஜிட்டலாக கையொப்பமிடப்பட்டது" + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "இந்த ஆவணம் டிஜிட்டலாக கையொப்பமிடப்பட்டது. ஆனால் கையொப்பமிட்ட பின் மாற்றப்பட்டுள்ளது." + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" +"இந்த ஆவணம் டிஜிட்டலாக கையொப்பமிடப்பட்டது. சில கையொப்பங்களை சரிபார்க்க முடியவில்லை." + +#: gui/signaturemodel.cpp:141 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "கையொப்ப கொள்ளிடம் %1" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "புலம்: %1 (பக்கம் %2)" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "சீராய்வு %1: கையொப்பமிட்டவர் %2" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "கையொப்பமிட்ட நேரம்: %1" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "காரணம்: %1" + +#: gui/signaturemodel.cpp:177 +#, kde-format +msgid "Location: %1" +msgstr "இடம்: %1" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "PGP கையொப்பம்" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "" + +#: gui/signaturemodel.cpp:193 +#, kde-format +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "தெரியாதது" + +#: gui/signaturemodel.cpp:195 +#, kde-format +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "கையொப்ப கொள்ளிடம்" + +#: gui/signaturemodel.cpp:201 +#, kde-format +msgid "Signature Type: %1" +msgstr "கையொப்ப வகை: %1" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "சிவப்பு" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "செம்மஞ்சள்" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "மஞ்சள்" + +#: part/annotationactionhandler.cpp:151 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "பச்சை" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "சியான்" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "நீலம்" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "மெஜந்தா" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "வெள்ளை" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "சாம்பல்" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "கருப்பு" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "அகலம் %1" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1%" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "குறிப்பின் கோடுகளின் அகலம் (எதுவும் தேர்ந்தெடுக்கப்படவில்லை)" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "குறிப்பின் நிறம் (எதுவும் தேர்ந்தெடுக்கப்படவில்லை)" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "குறிப்பில் நிரப்பியுள்ள நிறம் (எதுவும் தேர்ந்தெடுக்கப்படவில்லை)" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "குறிப்பின் ஒளிபுகாமை (எதுவும் தேர்ந்தெடுக்கப்படவில்லை)" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "குறிப்பின் எழுத்துரு (எதுவும் தேர்ந்தெடுக்கப்படவில்லை)" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" +"தற்போதைய குறிப்பை 'விரை குறிப்புகள்' பட்டியில் சேர் (எதுவும் தேர்ந்தெடுக்கப்படவில்லை)" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" +"உருவ விகிதத்தை 1:1-க்கோ, கோட்டின் சாய்வை 15° படிகளுக்கோ கட்டுப்படுத்து (எந்த குறிப்பும் " +"தேர்ந்தெடுக்கப்படவில்லை)" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "தற்போதைய குறிப்புக் கருவிக்கான மேம்பட்ட அமைப்புகள் (எதுவும் தேர்ந்தெடுக்கப்படவில்லை)" + +#: part/annotationactionhandler.cpp:308 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "குறிப்பின் கோடுகளின் அகலம்" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "குறிப்பின் கோடுகளின் அகலம் (தற்போதைய குறிப்பிலுள்ள கோடுகளுக்கு அகலம் இல்லை)" + +#: part/annotationactionhandler.cpp:314 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "குறிப்பின் உரை நிறம்" + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "குறிப்பின் விளிம்பின் நிறம்" + +#: part/annotationactionhandler.cpp:318 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "குறிப்பின் நிறம்" + +#: part/annotationactionhandler.cpp:322 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "குறிப்பில் நிரப்பப்படும் நிறம்" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "குறிப்பில் நிரப்பியுள்ள நிறம் (தற்போதைய குறிப்பில் எந்த நிறமும் நிரப்பபடவில்லை)" + +#: part/annotationactionhandler.cpp:328 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "குறிப்பின் எழுத்துரு" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "குறிப்பின் எழுத்துரு (தற்போதைய குறிப்பில் எழுத்துரு இல்லை)" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "கோட்டின் சாய்வை 15° படிகளுக்கு கட்டுப்படுத்து" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "உருவ விகிதத்தை 1:1-க்கு கட்டுப்படுத்து" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" +"உருவ விகிதத்தை 1:1-க்கோ, கோட்டின் சாய்வை 15° படிகளுக்கோ கட்டுப்படுத்து (தற்போதைய " +"குறிப்பால் ஆதரிக்கப்படாதது)" + +#: part/annotationactionhandler.cpp:341 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "குறிப்பின் ஒளிபுகாமை" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "தற்போதைய குறிப்பை 'விரை குறிப்புகள்' பட்டியில் சேர்" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "தற்போதைய குறிப்புக் கருவிக்கான மேம்பட்ட அமைப்புகள்" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "நிறம்" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "நிறத்தால் நிரப்பு" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "நிறமற்றது" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "விருப்ப நிறம்…" + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "நிறத்தைத் தேர்ந்தெடுத்தல்" + +#: part/annotationactionhandler.cpp:552 +#, kde-format +msgid "&Annotations" +msgstr "&குறிப்புகள்" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "மறை" + +#: part/annotationactionhandler.cpp:554 +#, kde-format +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "மேலும் குறிப்புக் கருவிகளைக் காட்டு" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "எடுப்பாக்கி" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "அடிக்கோடு" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "சுருள் கொடு" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "குறுக்குக்கோடு" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "தட்டச்சுப்பொறி" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "ஒருங்கிணைந்த குறிப்பு" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "தெரித்தெழும் குறிப்பு" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "கைமுறைக் கோடு" + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "நேர் கோடு" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "அம்புக்குறி" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "செவ்வகம்" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "நீள்வட்டம்" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "பலகோணம்" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "வடிவங்கள்" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "முத்திரை" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "விரை குறிப்புகள்" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "விரை குறிப்புகளிலிருந்து ஒரு குறிப்புக் கருவியைத் தேர்ந்தெடுங்கள்" + +#: part/annotationactionhandler.cpp:651 +#, kde-format +msgid "Quick Annotation Bar" +msgstr "விரை குறிப்பு பட்டை" + +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "விரை குறிப்புகளில் சேர்" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "செயலில் வைத்திரு" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "பயன்படுத்திய பின் குறிப்புக் கருவியை செயலில் வைத்திரு" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "குறிப்பு கருவிகளின் உருவ விகிதத்தையும் சாய்வையும் கட்டுப்படுத்து" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "எழுத்துரு" + +#: part/annotationactionhandler.cpp:681 +#, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "குறிப்புக்கான அமைப்புகள்" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "கோட்டின் அகலம்" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "ஒளிபுகாமை" + +#: part/annotationactionhandler.cpp:696 +#, kde-format +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1%" + +#: part/annotationmodel.cpp:320 +#, kde-format +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "பக்கம் %1 (%2)" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "பக்கம் %1" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "குறிப்பு" +msgstr[1] "%1 குறிப்புகள்" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "தெரித்தெழும் குறிப்பைத் &திற" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "நினைவுக்குறியை நீக்கு" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "நினைவுக்குறியை சேர்" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, kde-format +msgid "Copy Text to Clipboard" +msgstr "பிடிப்புப்பலகைக்கு உரையை நகல் எடு" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "DRM-ஆல் நகலெடுத்தல் தடைசெய்யப்பட்டது" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "&நீக்கு" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "&பண்புகள்" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, kde-format +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "'%1' தனை சேமி…" + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "&தோற்றம்" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "&பொதுவானவை" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&இயற்றியவர்" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "உருவாக்கப்பட்டது:" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "மாற்றப்பட்டது:" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "தெரித்தெழும் குறிப்பின் பண்புகள்" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "தட்டச்சுப்பொறியின் பண்புகள்" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "ஒருங்கிணைந்த குறிப்பின் பண்புகள்" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "நேர் கோட்டின் பண்புகள்" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "பலகோணத்தின் பண்புகள்" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "வடிவத்தின் பண்புகள்" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "உரை அலங்காரத்தின் பண்புகள்" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "முத்திரையின் பண்புகள்" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "கைமுறைக் கோட்டின் பண்புகள்" + +#: part/annotationpropertiesdialog.cpp:137 +#, fuzzy, kde-format +msgid "Caret Properties" +msgstr "&பண்புகள்" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "உடனிணைந்த கோப்பின் பண்புகள்" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "ஒலி பண்புகள்" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "ஒளிக்காட்சி பண்புகள்" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "குறிப்பின் பண்புகள்" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "கோப்பிலிருந்து விருப்பமான முத்திரையைச் சின்னத்தைத் தேர்ந்தெடுங்கள்" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "விருப்பமான முத்திரைச் சின்னத்தைத் தேர்ந்தெடு" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" +"*.ico *.png *.xpm *.svg *.svgz | சின்னங்களுக்கான கோப்புகள் (*.ico *.png *.xpm *." +"svg *.svgz)" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "%1 என்கிற கோப்பை ஏற்ற முடியவில்லை" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "செல்லுபடியாகாத கோப்பு" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&நிறம்:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, kde-format +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%v%" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "&ஒளிபுகாமை:" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "சின்னம்:" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "குறிப்பு" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "உதவி" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "நுழை" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "சாவி" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "புதிய பத்தி" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "குறிப்பு" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "பத்தி" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "எழுத்துரு:" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "உரையின் &நிறம்:" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "&சீரமைத்தல்:" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "இடது புறமாக" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "நடுவில்" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "வலது புறமாக" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "விளிம்பின் &அகலம்:" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "அங்கீகரிக்கப்பட்டது" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "அப்படியே" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "ரகசியமானது" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "துறைசார்ந்த‍து" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "வரைவு" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "சோதனைக்கானது" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "காலாவதியானது" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "இறுதியானது" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "குறிப்புகளுக்கு" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "பொது வெளியீட்டிற்கு" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "அங்கீகரிக்கப்படாத‍து" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "பொது வெளியீட்டிற்கு அல்ல" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "விற்றது" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "அதிமுக்கிய ரகசியம்" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "நினைவுக்குறி" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "விவரம்" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "கே.டீ.யீ." + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "முத்திரைக்கான சின்னம்:" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "&அகலம்:" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "கோட்டின் ஆரம்பம்:" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "கோட்டின் முடிவு:" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "சதுரம்" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "வட்டம்" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "நிரப்பாத அம்புக்குறி" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "நிரப்பிய அம்புக்குறி" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "ஏதுமில்லை" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "நிரப்பாத வலது அம்புக்குறி" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "நிரப்பிய வலது அம்புக்குறி" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "சாய்வுக்கோடு" + +#: part/annotationwidgets.cpp:531 +#, fuzzy, kde-format +msgid "Leader line length:" +msgstr "&தேர்ந்தெடு" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "இயக்கப்பட்டது" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "வடிவத்தை நிரப்பு:" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "வகை:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "குறுக்குக்கோடு" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "உடனிணைந்த கோப்புக்கான சின்னம்:" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "வரைபடம்" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "குண்டூசி" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "காகிதக் கவ்வி" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "விவரச்சீட்டு" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "கோப்பு" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "விவரணம் இல்லை." + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "பெயர்:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "விவரணம்:" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "எதுவுமில்லை" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "இந்த குறிப்பை மூடு" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "விருப்பத்தேர்வுகள்" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"இந்தக் குறிப்பில் LaTeX குறிமுறை இருக்கலாம்.\n" +"இயக்க இங்கு க்ளிக் செய்யுங்கள்." + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "latex நிரலைக் கண்டுபிடிக்க முடியவில்லை." + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "LaTeX மொழிமாற்றம் தோல்வியடைந்தது" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "dvipng நிரலைக் கண்டுபிடிக்க முடியவில்லை." + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "'latex' கட்டளையை இயக்கும்போது சிக்கல் ஏற்பட்டது." + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "'dvipng' கட்டளையை இயக்கும்போது சிக்கல் ஏற்பட்டது." + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"ஒரு நினைவுக்குறி" +msgstr[1] "" +"%1\n" +"\n" +"%2 நினைவுக்குறிகள்" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "நினைவுக்குறிகள்" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "அனைத்து ஆவணங்களுக்கும் காட்டு" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, kde-format +msgid "Search…" +msgstr "தேடு…" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, fuzzy, kde-format +#| msgid "Expand all" +msgid "Expand All" +msgstr "அனைத்தையும் விரி" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, fuzzy, kde-format +#| msgid "Collapse all" +msgid "Collapse All" +msgstr "அனைத்தையும் சுருக்கு" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "இந்த புத்தகக்குறிக்கு செல்" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "நினைவுக்குறியின் பெயரை மாற்று" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "ஆவணத்தைத் திற" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "இவ்வாவணத்திலுள்ள அனைத்து நினைவுக்குறிகளையும் நீக்கு" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "சான்றிதழ் காட்டி" + +#: part/certificateviewer.cpp:50 +#, kde-format +msgid "Export…" +msgstr "ஏற்றுமதி…" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "பொதுவானவை" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "வழங்கியவர்" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "பொதுவான பெயர் (CN)" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "மின்னஞ்சல்" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "அமைப்பு (O)" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "யாரிடம் வழங்கப்பட்டது" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "செல்லுபடி" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "சரிகாண்தொகைகள்" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "SHA-1 சரிகாண்தொகை" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "SHA-256 சரிகாண்தொகை" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "விவரங்கள்" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "சான்றிதழ் தரவு:" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "நீங்கள் இந்த சான்றிதழை எங்கே சேமிக்க விரும்புகிறீர்கள்?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "சான்றிதழ் கோப்பு (*.cer)" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "சான்றிதழை ஏற்றுமதி செய்ய முடியவில்லை" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "&நிற பயன்முறை:" + +#: part/colormodemenu.cpp:21 +#, kde-format +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "நிறங்களை மாற்று" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "&சாதாரன நிறங்கள்" + +#: part/colormodemenu.cpp:41 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "நிறங்களைப் பு&ரட்டு" + +#: part/colormodemenu.cpp:42 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "பக்க&த்தின் நிறத்தை மாற்று" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "&கருத்த && வெளிர்ந்த நிறங்களை மாற்று" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "கருப்பு && வெ&ள்ளைக்கு மாற்று" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "lightness-&ஐ புரட்டு" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "luma-வை பு&ரட்டு (sRGB linear)" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "luma-வை &புரட்டு (symmetric)" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "hue-வை &அதிகமாக்கு" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "hue-வை &குறை" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "சிவப்பு" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "பச்சை" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "நீலம்" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "மஞ்சள்" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "கருப்பு" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "வெள்ளை" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "மஞ்சள் எடுப்பாக்கி" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "பச்சை எடுப்பாக்கி" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "உரையை சேர்" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "இணைப்புகளைச் சுற்றி கட்டம் வரை" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "வண்ணங்களை மாற்று" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "எச்சரிக்கை: வரையும் வேகத்தை இந்த தேர்வுகள் மோசமாக பாதிக்கலாம்." + +#: part/dlgaccessibility.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "நிறங்களைப் புரட்டு" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "பக்கத்தின் நிறத்தை மாற்று" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "&கருத்த மற்றும் வெளிர்ந்த நிறங்களை மாற்று" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "கருப்பு-&வெள்ளைக்கு மாற்று" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "lightness-ஐ புரட்டு" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "luma-வை புரட்டு (sRGB linear)" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "luma-வை புரட்டு (symmetric)" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "hue-வை அதிகமாக்கு" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "hue-வை குறை" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "நிற பயன்முறை:" + +#: part/dlgaccessibility.cpp:87 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "தாளின் வண்ணம்:" + +#: part/dlgaccessibility.cpp:99 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "கறுத்த நிறம்:" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "வெளிர்ந்த நிறம்:" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "மாறுநிலை:" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "மாறுபாடு:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "உரையைப் பேச்சாக்கும் நிரல்:" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "உரையைப் பேச்சாக்குவதற்கான குரல்:" + +#: part/dlgannotations.cpp:25 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "முழுதான குறிப்பு கருவிப்பட்டை" + +#: part/dlgannotations.cpp:26 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "விரை குறிப்பு கருவிப்பட்டை" + +#: part/dlgannotations.cpp:28 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "குறிப்பு கருவிப்பட்டை:" + +#: part/dlgannotations.cpp:34 +#, kde-format +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "இயற்றியவர்:" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"குறிப்பு: இங்குள்ள விவரங்கள் குறிப்புகளுக்கு மட்டும் பயன்படுத்தப்படும். நீங்கள் " +"ஆவணங்களில் குறிப்புகள் இட்டால், இந்த விவரங்கள் ஆவணத்தில் சேமிக்கப்படும்." + +#: part/dlgannotations.cpp:48 +#, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

    Quick Annotation Tools

    " +msgstr "

    விரை குறிப்பு கருவிகள்

    " + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" +"ஒரு மூலக் கோப்பைத் திறக்க முயற்சிக்கும்போது ஆக்குலர் பயன்படுத்த வேண்டிய திருத்தியைத் தேர்வு " +"செய்யுங்கள்." + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "விருப்பமான உரைத்திருத்தி" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "கேட்" + +#: part/dlgeditor.cpp:31 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Emacs client" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "Lyx client" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "TeXstudio" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "TeXiFy IDEA" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "உரைத்திருத்தி" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
    \n" +"You can also put few placeholders:\n" +"
      \n" +"
    • %f - the file name
    • \n" +"
    • %l - the line of the file to be reached
    • \n" +"
    • %c - the column of the file to be reached
    • \n" +"
    \n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"தனிப்பட்ட உரைத்திருத்தியை இயக்குவதற்கான கட்டளையை உள்ளிடுங்கள்.
    \n" +"கீழ்காணும் கொள்ளிடங்களை நீங்கள் பயன்படுத்தலாம்:\n" +"
      \n" +"
    • %f - கோப்பின் பெயர்
    • \n" +"
    • %l - கோப்பில் காட்ட வேண்டிய வரி எண்
    • \n" +"
    • %c - கோப்பில் காட்ட வேண்டிய நெடுவரிசை
    • \n" +"
    \n" +"%f குறிப்பிடப்படவில்லையெனில், கோப்பின் பெயர் கட்டளையின் கடைசியில் இடப்படும்." + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "கட்டளை:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "சீரான உருளலை பயன்படுத்து" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "தோற்றம்:" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "உருள் பட்டைகளைக் காட்டு" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "சிறுபடங்களைப் பக்கத்துடன் இணை" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "குறிப்புகள் மற்றும் தகவல் செய்திகளைக் காட்டு" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "உட்பொதிந்த கோப்புகள், படிவங்கள், அல்லது கையொப்பங்களைப் பற்றி தெரிவி" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "ஆவணத் தலைப்பு கிடைத்தால் தலைப்புப்பட்டையில் காட்டு" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "கோப்பின் பெயரை மட்டும் காட்டு" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "கோப்பின் முழு பாதையை காட்டு" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "ஆவணத்தின் தலைப்பைக் காட்டாதபோது" + +#: part/dlggeneral.cpp:92 +#, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "வேறு பின்னணி நிறத்தைப் பயன்படுத்து:" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "செயலியின் அம்சங்கள்:" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "புதியக் கோப்புகளைக் கீற்றுகளில் திற" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "கோப்பு ஏற்கனவே திறக்கப்பட்டிருந்தால் அந்த கீற்றுக்கே தாவு" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "DRM கட்டுப்பாடுகளைப் பின்பற்று" + +#: part/dlggeneral.cpp:148 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "கோப்பு மாறினால் ஆவணத்தை மீளேற்று" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "பின்நிலைத் தேர்வு சாளரத்தைக் காட்டு" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "வலதிலிருந்து இடதாக படிக்கும் முறை" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" +"இயல்பாக தொடர்ச்சியான காட்சிமுறையில் ஓர் கோப்பைத் திறக்க வேண்டுமா என முடிவு செய்ய " +"அக்கோப்பிலுள்ள விவரங்களைப் பயன்படுத்து" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "காட்சிமுறையைக் குறிப்பிடா கோப்புகளை இயல்பாக தொடர்ச்சியான பயன்முறையில் திற" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "இயல்பாக தொடர்ச்சியான பயன்முறையில் திற" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "உலாவல் கருவி திரையின் ஓரத்தைத் தாண்டும்போது, மறு ஓரத்திற்கு கொண்டுசெல்" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "சமீப வரலாற்றிலுள்ள உருப்படிகள்:" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "மேலோட்ட நெடுவரிசைகள்:" + +#: part/dlggeneral.cpp:220 +#, kde-format +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%v%" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" +"Page Up/Down விசைகளை அழுத்துப் பிறகு தற்போதைய காட்சிப் பகுதியில் எவ்வளவு இன்னும் " +"காணப்படும் என்பதைத் தீர்மானிக்கும்." + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "பக்கம் மேலே/கீழே நகரும்போது மேற்படிதல்:" + +#: part/dlggeneral.cpp:228 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%v%" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "100%" + +#: part/dlggeneral.cpp:233 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "அகலம் படி" + +#: part/dlggeneral.cpp:234 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "பக்க அளவுபடி" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "தானியக்கம்" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "தனிப்பயன்" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" +"இதற்கு முன்பு திறக்கப்படாத கோப்புகளுக்கான உருப்பெருக்க அளவை இது நிர்ணயிக்கும். இதற்கு " +"முன்பு திறந்துள்ள கோப்புகளுக்கு முந்தைய உருப்பெருக்கம் இடப்படும்." + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "இயல்பிருப்பு உருப்பெருக்கம்:" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "ஒளிபுகும் அம்சங்களை இயக்கு" + +#: part/dlgperformance.cpp:28 +#, kde-format +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "CPU பயன்பாடு:" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "குறைவானது" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "இயல்பானது (இயல்பிருப்பு)" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "அதிகமானது" + +#: part/dlgperformance.cpp:38 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "மிக அதிகமானது" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "நினைவு பயன்பாடு:" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "உரை திரிபுத்திருத்தத்தை இயக்கு" + +#: part/dlgperformance.cpp:56 +#, kde-format +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "வரைதல் விருப்பங்கள்:" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "வரைகலை திரிபுத்திருத்தத்தை இயக்கு" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "எழுத்துருக்களை மேம்படுத்து (hinting)" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"பயன்படுத்தப்படும் நினைவை முடிந்த வரையில் குறைக்கும். எதையும் மறுபடியும் பயன்படுத்தாது. " +"(குறைவான நினைவுள்ள கணினிகளுக்கு.)" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"நினைவு பயன்பாட்டு மற்றும் வேகத்திற்கு இடையே நல்ல சமநிலை. அடுத்த பக்கத்தை முன்பாகவே " +"ஏற்றும், மற்றும் தேடல்களை வேகப்படுத்தும். (சாதாரணமாக 2GB நினைவு உள்ள கணினிகளுக்கு.)" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"எல்லாவற்றையும் நினைவில் வைத்திருக்கும். அடுத்த பக்கங்களை முன்பாகவே ஏற்றும். தேடல்களை " +"வேகப்படுத்தும். (4GBக்கு மேல் நினைவு உள்ள கணினிகளுக்கு.)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" +"அனைத்தையும் ஏற்றி நினைவில் வைத்திருக்கும். அனைத்து பக்கங்களையும் முன்னதாகவே ஏற்றும் (உங்கள் " +"நினைவில் பாதி மற்றும் மீதமுள்ள நினைவு ஆகியவற்றில் எது அதிகமாக உள்ளதோ, அதை பயன்படுத்தும்)" + +#: part/dlgpresentation.cpp:38 +#, kde-format +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] "%v நொடிக்கு ஒருமுறை" +msgstr[1] "%v நொடிக்கு ஒருமுறை" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "தானாக முன்னே செல்:" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "கடைசிப் பக்கத்துக்குப் பிறகு முதல் பக்கத்துக்கு செல்" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "முன்னே/பின்னே செல்ல இடது/வலது பக்கத்தைத் தட்டலாம்" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "முன்னே செல்ல எங்கு வேண்டுமானாலும் தட்டலாம்" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "முடக்கு" + +#: part/dlgpresentation.cpp:63 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "தொடுமுறை உலாவல்:" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "பின்னணியின் நிறம்:" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "தாமதத்திற்கு பிறகு மறையும்" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "எப்போது காட்டப்படும்" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "எப்போதும் மறைந்திருக்கும்" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "சுட்டிக்குறி:" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "முன்னேற்றக் காட்டியைக் காட்டு" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "தொகுப்பு பக்கத்தைக் காட்டு" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "உடனடியானது (அசைவூட்டத்தைப் பயன்படுத்தாதே)" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "மாற்று" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "சமவாய்ப்பாக ஏதாவதொரு நிலைமாற்றம்" + +#: part/dlgpresentation.cpp:103 +#, fuzzy, kde-format +#| msgid "Blinds Vertical" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "மேல்கீழாக மறைக்கிறது`" + +#: part/dlgpresentation.cpp:104 +#, fuzzy, kde-format +#| msgid "Blinds Horizontal" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "இடவலமாக மறைக்கிறது" + +#: part/dlgpresentation.cpp:105 +#, fuzzy, kde-format +#| msgid "Box In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "பெட்டியின் உள்ளே" + +#: part/dlgpresentation.cpp:106 +#, fuzzy, kde-format +#| msgid "Box Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "பெட்டியில் வெளியே" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "கரையச்செய்" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "மங்கச்செய்" + +#: part/dlgpresentation.cpp:109 +#, fuzzy, kde-format +#| msgid "Glitter Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "கீழே மின்னச்செய்தல்" + +#: part/dlgpresentation.cpp:110 +#, fuzzy, kde-format +#| msgid "Glitter Right" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "வலதுபுறத்தில் மின்னச்செய்தல்" + +#: part/dlgpresentation.cpp:111 +#, fuzzy, kde-format +#| msgid "Glitter Right-Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "கீழ் வலதுபுறத்தில் மின்னச்செய்தல்" + +#: part/dlgpresentation.cpp:112 +#, fuzzy, kde-format +#| msgid "Split Horizontal In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "உள்ளே இடவலமாக பிரி" + +#: part/dlgpresentation.cpp:113 +#, fuzzy, kde-format +#| msgid "Split Horizontal Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "வெளியே இடவலமாக பிரி" + +#: part/dlgpresentation.cpp:114 +#, fuzzy, kde-format +#| msgid "Split Vertical In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "உள்ளே மேல்கீழாக பிரி" + +#: part/dlgpresentation.cpp:115 +#, fuzzy, kde-format +#| msgid "Split Vertical Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "வெளியே இடவலமாக பிரி" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "கீழே துடை" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "வலதுபுறமாக துடை" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "இடதுபுறமாக துடை" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "மேலே துடை" + +#: part/dlgpresentation.cpp:121 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "இயல்பிருப்பு பக்க மாற்றம்:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "முதன்மையான காட்சிக் கருவி:" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

    Drawing Tools

    " +msgstr "

    வரைதல் கருவிகள்

    " + +#: part/dlgpresentation.cpp:171 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "தற்போதைய காட்சிக் கருவி" + +#: part/dlgpresentation.cpp:172 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "இயல்பிருப்பு காட்சிக் கருவி" + +#: part/dlgpresentation.cpp:178 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "காட்சிக் கருவி %1 (%2 %3 %4)" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "காட்சிக் கருவி %1 (இணைக்கப்படவில்லை)" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "வரைதல் கருவி: %1" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "அழிப்பி" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "&பெயர்:" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "&வகை:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "தோற்றம்" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "உரையை அலங்காரப்படுத்துவது" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "வடிவம்" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "குறிப்புக் கருவியை உருவாக்குதல்" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "குறிப்புக் கருவியை திருத்துதல்" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "நிறம்:" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "&பேனாவின் அகலம்:" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "" + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "வரைதல் கருவியை உருவாக்கு" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "வரைதல் கருவியைத் திருத்து" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "தெரியாதது" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "உட்பொதிந்த கோப்புகள்" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "பார்" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "பெயர்" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "விவரணம்" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "அளவு" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "உருவாக்கப்பட்டது" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "மாற்றப்பட்டது" + +#: part/embeddedfilesdialog.cpp:154 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "இவ்வாறு சேமி…" + +#: part/embeddedfilesdialog.cpp:155 +#, kde-format +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "காட்டு…" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "அச்சின் முன்தோற்றத்திற்கான கூறை ஏற்ற முடியவில்லை" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "அச்சு முன்னோட்டம்" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "மூடு" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "&கண்டுபிடி:" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "தேட வேண்டிய சொற்றொடர்" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "அடுத்தது" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "அடுத்தப் பொருத்தத்துக்குத் தாவு" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "முந்தையது" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "முந்தைய பொருத்தத்துக்கு தாவுக" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "தேடல் நடத்தையை மாற்று" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "எழுத்து வகையை (பெரிது/சிறிது) பொருட்படுத்து" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "தற்போதைய பக்கத்திலிருந்து" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "தட்டச்சிடும்போதே கண்டுபிடி" + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "அனைத்து கோப்புகள் (*)" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "கையொப்ப கொள்ளிடம் (கையொப்பமிட கிளிக் செய்யவும்)" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "கையொப்பமிடு…" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "கையொப்பத்தின் பண்புகள்" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "தேடல் விருப்பத்தேர்வுகள்" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "எழுத்து வகையை (பெரிது/சிறிது) பொருட்படுத்து" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "சுருங்குறித் தொடர்" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "அடுக்குகள்" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "/" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "உருப்பெருக்கம்" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "உருப்பெருக்கத்தை 100% ஆக்கு" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "&வலதுபுறமாக திருப்பு" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "வலது" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "&இடதுபுறமாக திருப்பு" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "இடது" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "இயல்பான நோக்குநிலை" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "காட்சியை &வெட்டு" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "விளிம்புகளை &வெட்டு" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "&தேர்ந்தெடுக்காதவற்றை வெட்டு" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "&அகலப் பொருத்தம்" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "&பக்கப் பொருத்தம்" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "&தானியக்க பொருத்தம்" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "&சாளரத்தை பக்கத்துக்கு பொருத்து" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "&பார்வை முறை" + +#: part/pageview.cpp:594 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "&ஒரு பக்கம்" + +#: part/pageview.cpp:595 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "&எதிர் பக்கங்கள்" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "எதிர் பக்கங்கள் (&முதல் பக்கத்தை நடுப்படுத்து)" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "&மேலோட்டம்" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "&தொடர்ச்சியாக" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "வலதிலிருந்து இடதாக படிக்குமாறு அமை" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "&உலாவு" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "&உருப்பெருக்கம்" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "பரப்பளவைத் &தேர்ந்தெடுத்தல்" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "&உரையைத் தேர்ந்தெடுத்தல்" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "&அட்டவணையைத் தேர்ந்தெடுத்தல்" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "உ&ருப்பெருக்கி" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "தேர்ந்தெடுக்கும் கருவிகள்" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "எண்மமுறையில் கையொப்பமிடு…" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "முழு ஆவணத்தைப் பேச்சாக்கு" + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "தற்போதைய பக்கத்திலிருந்து பேச்சாக்கு" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "தற்போதைய பக்கத்தைப் பேச்சாக்கு" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "பேசுவதை நிறுத்து" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "பேசுவதை இடைநிறுத்து/தொடர்" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "மேலே செல்" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "கீழே செல்" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "ஒரு பக்க அளவு மேலே செல்" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "ஒரு பக்க அளவு கீழே செல்" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "படிவங்களைக் காட்டு" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] " ஒரு பக்கத்தைக் கொண்ட ஆவணம் ஏற்றப்பட்டது." +msgstr[1] " %1 பக்கங்களைக் கொண்ட ஆவணம் ஏற்றப்பட்டது." + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "அட்டவணையின் உள்ளடக்கத்தைப் பிடிப்புப்பலகைக்கு நகலெடு" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "உரை (1 எழுத்து)" +msgstr[1] "உரை (%1 எழுத்துகள்)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "பிடிப்புப்பலகைக்கு நகல் எடு" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "உரையைப் பேச்சாக்கு" + +#: part/pageview.cpp:2863 +#, kde-format +msgid "Image (%1 × %2 pixels)" +msgstr "படம் (%1 × %2 பிக்செல்கள்)" + +#: part/pageview.cpp:2865 +#, kde-format +msgid "Save to File…" +msgstr "கோப்புக்கு சேமி…" + +#: part/pageview.cpp:2885 +#, kde-format +msgid "Image [%1 × %2] copied to clipboard." +msgstr "படம் [%1 × %2] பிடிப்புப்பலகைக்கு நகலெடுக்கப்பட்டது." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "கோப்பை சேமி" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "படங்கள் (*.png *.jpeg)" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "கோப்பை சேமிக்கவில்லை." + +#: part/pageview.cpp:2901 +#, kde-format +msgid "Image [%1 × %2] saved to %3 file." +msgstr "படம் [%1 × %2] %3 என்ற கோப்புக்கு சேமிக்கப்பட்டது." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "உரையை நகலெடு" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "'%1' என்பதற்கு செல்" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "அகலம் படி" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "பக்க அளவுபடி" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "தானியக்கம்" + +#: part/pageview.cpp:4107 +#, kde-format +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1%" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "'%1' என்பதற்கு இதைக்கொண்டு தேடு" + +#: part/pageview.cpp:4404 +#, kde-format +msgid "Configure Web Shortcuts…" +msgstr "இணைய சுருக்குவழிகளை அமை…" + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "இந்த இணைப்புக்கு செல்" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "இந்த ஒலியை இயக்கு" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "ஒலியை நிறுத்து" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "இணைப்பின் முகவரியை நகலெடு" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "'%1' என்பதற்கு இந்த ஆவணத்தில் தேடு" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "நல்வரவு" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "" +"பெரிதாக்க வேண்டிய பரப்பை தேர்ந்தெடுங்கள். உருப்பெருக்கத்தை ரத்து செய்ய வலது-க்ளிக் " +"செய்யுங்கள்." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "பெரிதாக்கப்பட்ட காட்சியைக் காண க்ளிக் செய்யுங்கள்." + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "உரை/படங்களை நகலெடுக்க, அவற்றைச் சுற்றி ஒரு செவ்வகத்தை வரையுங்கள்." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "உரையைத் தேர்ந்தெடு" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" +"அட்டவணையைச் சுற்றி ஒரு செவ்வகத்தை வரைந்து, அதை பிரிக்க ஓரங்களில் க்ளிக் செய்யுங்கள்; " +"நிராகரிக்க Esc விசையை அழுத்துங்கள்." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" +"உங்கள் கையொப்ப சான்றிதழ்கள் அனைத்தும் செல்லுபடியாகாதவை. இதற்கு முன்னர் நீங்கள் வெற்றிகரமாக " +"கையொப்பமிட்டிருந்தால், உங்கள் சான்றிதழ்கள் காலாவதியாகியுள்ளனவா என பார்க்கவும்." + +#: part/pageview.cpp:5188 +#, kde-format +msgid "No valid certificates" +msgstr "செல்லுபடியாகும் சான்றிதழ்கள் இல்லை" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, kde-format +msgid "Open Certificate Manager" +msgstr "சான்றிதழ் மேலாளியைத் திற" + +#: part/pageview.cpp:5200 +#, fuzzy, kde-format +#| msgid "" +#| "There are no available signing certificates.
    For more information, " +#| "please see the section about Adding Digital Signatures " +#| "in the manual." +msgid "" +"There are no available signing certificates.
    Launch Certificate Manager " +"to import or manage certificates
    For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" +"கையொப்ப சான்றிதழ்கள் எதுவும் இல்லை.
    மேலும் விவரங்களுக்கு,கையேட்டின் டிஜிட்டலாக கையொப்பமிடல் என்ற பகுதியை பாருங்கள்." + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, kde-format +msgid "No certificates found" +msgstr "எந்த சான்றிதழும் கண்டுபிடிக்கப்படவில்லை" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
    For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" +"கையொப்ப சான்றிதழ்கள் எதுவும் இல்லை.
    மேலும் விவரங்களுக்கு,கையேட்டின் டிஜிட்டலாக கையொப்பமிடல் என்ற பகுதியை பாருங்கள்." + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "சேமிக்கப்படாத மாற்றங்கள் உள்ளன. கையொப்பம் இடுவதற்கு முன் ஆவணத்தை சேமியுங்கள்." + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "கையொப்பப் புலத்தை நுழைக்க ஒரு செவ்வகத்தை வரையுங்கள்" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "" +"பக்கத்தின் எந்தப் பகுதியை நீங்கள் பார்க்க விரும்புகிறீர்களோ, அதை சுற்றி ஒரு செவ்வகத்தை " +"வரையுங்கள்" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "புதிய உரைக் குறிப்பு" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "புதிய குறிப்பின் உரை:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"கையொப்பமிட்டவர்: %1\n" +"\n" +"தேதி: %2" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" +"இவ்வளவு சிறிய கையொப்பம் படிப்பதற்கு கடினமானதாக இருக்கலாம். இதைவிட பெரிய கையொப்பத்தை " +"உருவாக்க வேண்டுமெனில், மறுபடியும் தொடங்கு என்பதை அழுத்தி " +"இதைவிட பெரிய செவ்வகத்தை வரையுங்கள்." + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "மறுபடியும் தொடங்கு" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "கையொப்பம் இடு" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name" +msgstr "இயற்றியவரின் பெயர்" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name for the annotation:" +msgstr "குறிப்பை இயற்றியவரின் பெயரை உள்ளிடுங்கள்:" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "நீள்வட்டத்தை வரை (ஒரு பகுதியை தேர்வு செய்ய இழுக்கவும்)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "உரையை முன்னிலைப்படுத்து" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "கைமுறைக் கோட்டை வரை" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "ஒருங்கிணைந்த உரைக் குறிப்பு (ஒரு பகுதியைத் தேர்வு செய்ய இழுக்கவும்)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "தெரித்தெழும் குறிப்பை இடுங்கள்" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "பலகோணத்தை வரையுங்கள் (மூட முதல் புள்ளியில் க்ளிக் செய்யுங்கள்)" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "செவ்வகத்தை வரை" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "சுருள் உரை" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "ஒரு சின்னத்தை முத்திரையாக இடு" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "நேர் கோட்டை வரை" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "உரையை குறுக்கடி" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "உரைக்கு அடிக்கோடிடு" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "தட்டச்சுப்பொறி குறிப்பு (ஒரு பகுதியைத் தேர்வு செய்ய இழுக்கவும்)" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "எடுப்பாக்கி" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "பிடித்த குறிப்பை சேர்த்தல்" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Custom annotation name:" +msgstr "விரும்பும் குறிப்புப் பெயர்:" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&கோப்பு" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "&அமைப்புகள்" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "&உதவி" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "&நோக்குநிலை" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "&நினைவுக்குறிகள்" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "காட்டி கருவிப்பட்டை" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "சிறுபடங்கள்" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "குறிப்புகள்" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
    Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" +"ஒரு பழைய ஆக்குலர் பதிப்பால் உள்ளமைவாக சேமிக்கப்பட்ட குறிப்புகள் அல்லது படிவத் தரவுகள் இந்த " +"ஆவணத்தில் உள்ளன. உள்ளமைந்த சேமிப்பு இனிமேல் ஆதரிக்கப்படாதது.
    ஆவணத்தைத் " +"தொடர்ந்து திருத்த விரும்பினால், மறுபடியும் கோப்பாக சேமியுங்கள்." + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"இந்த ஆவணத்தில் உட்பொதிந்த கோப்புகள் உள்ளன. அவற்றைக் " +"காண இங்கு அழுத்துங்கள் அல்லது கோப்பு -> உட்பொதிந்த கோப்புகள் என்பதற்கு செல்லுங்கள்." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" +"கையொப்பமிடுவது செயலிலுள்ளது. கையொப்பத்தின் இருப்பிடத்தையும் அளவையும் நீங்கள் " +"மாற்றியமைக்கலாம்." + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "கையொப்பமிடுவதை முடி" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "முந்தையது" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "முந்தைய பக்கத்துக்கு செல்" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "ஆவணத்தின் முந்தைய பக்கத்திற்கு செல்லும்" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "அடுத்தது" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "அடுத்தப் பக்கத்திற்கு செல்" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "ஆவணத்தின் அடுத்த பக்கத்திற்கு செல்லும்" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "ஆவணத்தின் தொடக்கம்" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "ஆவணத்தின் தொடக்கத்திற்கு செல்லும்" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "ஆவணத்தின் முடிவு" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "ஆவணத்தின் முடிவிற்கு செல்லும்" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "தற்போதைய நினைவுக்குறிக்கு மறுபெயரிடு" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "முந்தைய நினைவுக்குறி" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "முந்தைய நினைவுக்குறிக்கு செல்" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "அடுத்த நினைவுக்குறி" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "அடுத்த நினைவுக்குறிக்கு செல்" + +#: part/part.cpp:748 +#, kde-format +msgid "Configure Okular…" +msgstr "ஆக்குலரை அமை…" + +#: part/part.cpp:751 +#, kde-format +msgid "Configure Viewer…" +msgstr "காட்டியை அமை…" + +#: part/part.cpp:757 +#, kde-format +msgid "Configure Viewer Backends…" +msgstr "காட்டி பின்நிலைகளை அமை…" + +#: part/part.cpp:759 +#, kde-format +msgid "Configure Backends…" +msgstr "பின்நிலைகளை அமை…" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "பின்நிலையைப் பற்றி" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "&மீளேற்று" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "தற்போதைய ஆவணத்தை வட்டிலிருந்து மீளேற்று." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "&தேடல் பட்டையை மூடு" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "பக்க எண்" + +#: part/part.cpp:817 +#, kde-format +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "நிறப் பயன்முறைகளை அமை…" + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "இந்த பக்கத்தில் உள்ள அனைத்து சொற்களையும் தேர்ந்தெடு" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "&ஓரப்பட்டையைக் காட்டு" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "ப&க்கம் பட்டையைக் காட்டு" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "கை&யொப்பங்கள் பலகையைக் காட்டு" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "&உட்பொதிந்த கோப்புகள்" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "&இவ்வாறு ஏற்றுமதி செய்" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "பகி&ர்" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "&வில்லைக்காட்சி" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "கொ&ண்டுள்ள அடைவைத் திற" + +#: part/part.cpp:945 +#, kde-format +msgid "&Import PostScript as PDF…" +msgstr "PostScript-ஐ PDF-ஆக இறக்குமதி செய்…" + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr " " + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "வரைந்ததை அழி" + +#: part/part.cpp:962 +#, kde-format +msgid "Configure Annotations…" +msgstr "குறிப்புகளை அமை…" + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "வில்லைக்காட்சியை இயக்கு/இடைநிறுத்து" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" +"திறந்துள்ள ஆவணத்தை திருத்தியுள்ளீர்கள், ஆனால் இவ்வகையான ஆவணத்தை சேமிக்க முடியாது.\n" +"ஆக்குலரை மூடும்போது உங்கள் மாற்றங்களை இழப்பீர்கள்." + +#: part/part.cpp:1123 +#, kde-format +msgid "Document can't be saved" +msgstr "ஆவணத்தை சேமிக்க முடியாது" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "'%1' (%2) என்பதை திறக்க முடியவில்லை" + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "%1 என்பதை ஏற்றுதல் கைவிடப்பட்டது" + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "%1 என்பதை திறக்க முடியவில்லை. காரணம்: %2" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "காட்டி பின்நிலைகளை அமை" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "பின்நிலைகளை அமை" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"\"ps2pdf\" என்ற நிரல் கண்டுபிடிக்கப்படாததால், ஆக்குலரால் அதைக் கொண்டு PS கோப்புகளை " +"இறக்குமதி செய்ய முடியாது." + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "ps2pdf கண்டுபிடிக்கப்படவில்லை" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "PostScript கோப்புகள் (%1)" + +#: part/part.cpp:1357 +#, kde-format +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "PS கோப்பு PDF-ஆக இறக்குமதி செய்யப்படுகிறது (இதற்கு நேரம் ஆகலாம்)…" + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "ஆவணத்தை படிக்க கடவுச்சொல்லை உள்ளிடுங்கள்:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "தவறான கடவுச்சொல். மறுபடியும் முயற்சியுங்கள்:" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "ஆவணத்திற்கான கடவுச்சொல்" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "இந்த ஆவணத்தில் தற்போது ஆதரிக்கப்படாத XFA படிவங்கள் உள்ளன." + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"இந்த ஆவணத்தில் படிவங்கள் உள்ளன. அவற்றைப் பயன்படுத்த பட்டனை அழுத்துங்கள், அல்லது பார்வை -> " +"படிவங்களைக் காட்டு என்பதை பயன்படுத்துங்கள்." + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" +"இந்த ஆவணத்தை மாற்றக்கூடிய அனைத்து அம்சங்களும் முடக்கபட்டுள்ளன. இந்த ஆவணத்தை திருத்த, " +"தயவுசெய்து ஒரு நகலை சேமித்து அதைத் திறவுங்கள்." + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" +"இந்த ஆவணம் முழுத்திரையில் காண்பிக்குமாறு கோருகிறது.\n" +"சாதாரண பயன்முறையை விட்டு வில்லைக்காட்சி பயன்முறையில் நுழைய வேண்டுமா?" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "பார்வை பயன்முறையை மாற்ற கோரிக்கை" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "வில்லைக்காட்சி பயன்முறையில் நுழை" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "கோரிக்கையை மறு" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "%1 என்பதை திறக்க முடியவில்லை. %2" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" +"%1 எனும் கோப்பில் சேமிக்கப்படாத மாற்றங்கள் உள்ளன, ஆனால் அதை " +"வேறொரு நிரல் மாற்றியுள்ளது. மீளேற்றினால், சேமிக்கப்படா மாற்றங்களை இழப்பீர். கோப்பை மீளேற்றுவதை தொடர வேண்டுமா?" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "கோப்பு மாறிவிட்டது" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "மீளெற்றுவதைத் தொடர்" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "மீளேற்றுவதைக் கைவிடு" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" +"%1 எனும் கோப்பில் சேமிக்கப்படாத மாற்றங்கள் உள்ளன, ஆனால் அதை " +"வேறொரு நிரல் மாற்றியுள்ளது. மூடினால், சேமிக்கப்படா மாற்றங்களை இழப்பீர். கோப்பை " +"மூடுவதை தொடர வேண்டுமா?" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "மூடுவதைத் தொடர்" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "மூடுவதைக் கைவிடு" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "" +"\"%1\" என்பதற்கு உங்கள் மாற்றங்களை சேமிக்க விரும்புகிறீர்களா, அல்லது அவற்றைக் கைவிட " +"விரும்புகிறீர்களா?" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "ஆவணத்தை மூடு" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"உட்பொதிந்த காட்டியைப் பயன்படுத்தும்போது வேலை செய்யாத 'ஆவணத்தை மூடு' என்ற செயலை இந்த " +"இணைப்பு இயக்க பார்க்கிறது." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"உட்பொதிந்த காட்டியைப் பயன்படுத்தும்போது வேலை செய்யாத 'செயலியை மூடு' என்ற செயலை இந்த " +"இணைப்பு இயக்க பார்க்கிறது." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, kde-format +msgid "Reloading the document…" +msgstr "ஆவணம் மீளேற்றப்படுகிறது…" + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "பொருளடக்கம்" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "கையொப்பங்கள்" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "பக்கத்துக்கு செல் " + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "&பக்கம்:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "நினைவுக்குறியின் புதிய பெயரை உள்ளிடுங்கள்:" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "இந்த நினைவுக்குறிக்கு மறுபெயரிடு" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "இந்த நினைவுக்குறியை நீக்கு" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "இவ்வாறு சேமி" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" +"'%1'-இல் முடியாத பெயரில் ஆக்குலர் காப்பகத்தை சேமிக்க பார்க்கிறீர்கள். இது ஆதரிக்கப்படாத‍து. " +"புதிய பெயரை தேர்ந்தெடுக்க விரும்புகிறீர்களா?" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "ஆதரிக்கபடாத வகைப்பெயர்" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "புதிய பெயரைத் தேர்ந்தெடு" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" +"%1 எனும் கோப்பு, வேறொரு நிரலால் மாற்றப்பட்டுள்ளது. சேமித்தால், " +"அந்த நிரல் செய்த மாற்றங்களை இழப்பீர். உறுதியாக தொடர வேண்டுமா?" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "சேமிப்பு - எச்சரிக்கை" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "வேறிடத்தில் நகலாக சேமி" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
    In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" +"தற்போதைய ஆவணம் கடவுச்சொல்லால் பாதுகாக்கப்பட்டது.
    சேமிக்க, கோப்பை மீளேற்ற வேண்டும். " +"மறுபடியும் கடவுச்சொல் கேட்கப்படும், மேலும் உங்கள் செயல்நீக்கல்/மீளச்செயல் வரலாற்றை இழப்பீர்கள்." +"
    தொடர விரும்புகிறீர்களா?" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "சேமிப்பதற்கு தற்காலிக கோப்பை திறக்க முடியவில்லை." + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" +"%1 படிக்க மட்டும் கூடியதாக இருப்பதால் அதை மேலெழுத " +"முடியவில்லை. வேறொரு இடத்தில் சேமிக்க முயற்சியுங்கள், அல்லது அக்கோப்பின் அனுமதிகளை " +"மாற்றுங்கள்." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" +"சேமித்த பிறகு, தற்போதைய ஆவணப் படிவம் மீளேற்றலைக் கட்டாயப்படுத்துகிறது. உங்கள் செயல்நீக்கல்/" +"மீளச்செயல் வரலாறு இழக்கப்படும்.
    தொடர விரும்புகிறீர்களா?" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "கோப்பை '%1' என்பதில் சேமிக்க முடியவில்லை. வேறொரு இடத்தில் சேமிக்க முயற்சியுங்கள்." + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "நிரப்பப்பட்ட படிவ உள்ளடக்கம்" + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "பயனர் குறிப்புகள்" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" +"நீங்கள் மாற்றங்களை சேமிக்க உள்ளீர்கள், ஆனால் தற்போதைய கோப்பு வகை பின்வரும் உருப்படிகளை " +"சேமித்தலை ஆதரிக்காது. அவற்றை சேமிக்க Okular document archive என்ற கோப்பு " +"வகையை பயன்படுத்துங்கள்." + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "எச்சரிக்கை" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "ஆக்குலர் ஆவணக் காப்பகமாக சேமி…" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" +"நீங்கள் மாற்றங்களை சேமிக்க உள்ளீர்கள், ஆனால் தற்போதைய கோப்பு வகை பின்வரும் உருப்படிகளை " +"சேமித்தலை ஆதரிக்காது. அவற்றை சேமிக்க Okular document archive என்ற கோப்பு " +"வகையை பயன்படுத்துங்கள். இந்த உருப்படிகளை கைவிட்டு ஆவணத்தை சேமிக்க தொடர் என்பதை " +"அழுத்துங்கள்." + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" +"நீங்கள் மாற்றங்களை சேமிக்க உள்ளீர்கள், ஆனால் தற்போதைய கோப்பு வகை பின்வரும் உருப்படிகளை " +"சேமித்தலை ஆதரிக்காது. அவற்றை சேமிக்க Okular document archive என்ற கோப்பு " +"வகையை பயன்படுத்துங்கள். தொடர் என்பதை அழுத்தினால் ஆவணம் சேமிக்கப்படும், ஆனால் இந்த " +"உருப்படிகளையும் செயல்நீக்க வரலாற்றையும் இழப்பீர்கள்." + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "தொடர்" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "மாற்றங்களைக் கைவிட்டுத் தொடர்" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "கோப்பை '%1' என்பதில் சேமிக்க முடியவில்லை. %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"%1 என்பதை குறிப்பிட்ட இடத்திற்கு ஆக்குலரால் நகலெடுக்க முடியவில்லை.\n" +"\n" +"அந்த ஆவணம் இப்போது இல்லை." + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" +"'%1' என்ற இடத்தில் கோப்பை சேமிக்க முடியவில்லை. சிக்கல்: '%2'. வேறு இடத்தில் சேமிக்க " +"முயற்சியுங்கள்." + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "Expand whole section" +msgid "Expand Whole Section" +msgstr "முழுப் பிரிவை விரி" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "Collapse whole section" +msgid "Collapse Whole Section" +msgstr "முழுப் பிரிவை சுருக்கு" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "சிறுபடத்தை பக்கத்துடன் ஒத்திசைய செய்" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "கருவிகள்" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "உரையைப் பேச்சாக்குதல்" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "அச்சிடு" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "இந்த ஆவணத்தை அச்சிட அனுமதி இல்லை." + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"ஆவணத்தை அச்சிட முடியவில்லை. தெரியாத சிக்கல். bugs.kde.org என்ற இணையதளத்தில் " +"தெரிவியுங்கள்." + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"ஆவணத்தை அச்சிட முடியவில்லை. விவரமான பிழை \"%1\" ஆகும். bugs.kde.org என்ற " +"இணையதளத்தில் தெரிவியுங்கள்." + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "நீங்கள் முன்பிருந்த இடத்திற்கு செல்லும்" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "நீங்கள் பிறகு இருந்த இடத்திற்கு செல்லும்" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"கோப்பு சிக்கல்!%1 என்ற " +"தற்காலிக கோப்பை உருவாக்க முடியவில்லை." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"கோப்பில் சிக்கல்!%1 என்கிற " +"கோப்பை விரிவாக்கத்திற்கு திறக்க முடியவில்லை. அக்கோப்பு ஏற்றப்படாது." + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"கோப்பை படிக்க உங்களுக்கு போதுமான அனுமதிகள் இல்லாததால் இந்த சிக்கல் பெரும்பாலும் " +"ஏற்படும். டால்பின் கோப்பு உலாவியில் கோப்பை வலது க்ளிக் செய்து, 'பண்புகள்' என்பதை " +"தேர்ந்தெடுத்து, திறக்கப்படும் சாளரத்தில் 'அனுமதிகள்' என்ற கீற்றுக்கு சென்றால், உரிமையாளர் " +"மற்றும் அனுமதிகளை நீங்கள் பார்க்கலாம்." + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"கோப்பில் சிக்கல்!%1 என்கிற " +"கோப்பை விரிவாக்க முடியவில்லை. அக்கோப்பு ஏற்றப்படாது." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"பெரும்பாலும், கோப்பில் உள்ள பிழையால் இச்சிக்கல் நேரும். அதை உறுதி செய்ய விரும்பினால், " +"ஏதேனும் முனைய நிரலை கொண்டு கோப்பை விரிவாக்க முயற்சியுங்கள்." + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "நினைவுக்குறிகள் இல்லை" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "ஆவணத்தைப் பகிர்வதில் சிக்கல் ஏற்பட்டது: %1" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "பகிர்" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "ஆவணம் வெற்றிகரமாக பகிரப்பட்டது" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "பகிரப்பட்ட ஆவணத்தை நீங்கள் %1 என்ற இடத்தில் பார்க்கலாம்." + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "&திருத்து" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "&பார்வை" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&செல்" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "&கருவிகள்" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "பிரதான கருவிப்பெட்டி" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "குறிப்பு கருவிப்பட்டை" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, kde-format +msgid "Quick Annotation Toolbar" +msgstr "விரை குறிப்பு கருவிப்பட்டை" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "பொதுவான தேர்வுகள்" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "அணுகல்தன்மை" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "படிக்க உதவும் அணுகல்தன்மை அம்சங்கள்" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "செயல்திறன்" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "செயல்பாட்டை மாற்றியமைத்தல்" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "காட்டியை அமை" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "வில்லைக்காட்சி" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "வில்லைக்காட்சி பயன்முறைக்கான விருப்பங்கள்" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "குறிப்புகளுக்கான விருப்பங்கள்" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "உரைத்திருத்தி" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "உரைத்திருத்தி விருப்பங்கள்" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" +"முனையம் மூலமாக\n" +" %1 \n" +"என்பது உரைத்திருத்தியாக அமைக்கப்பட்டது. இவ்வமைப்பை பயன்படுத்த விரும்பினால், --editor-cmd " +"என்ற விருப்பத்தை பயன்படுத்தாமல் ஆக்குலரை துவக்குங்கள்." + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "அடுத்ததை கண்டுபிடி" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 – வில்லைக்காட்சி" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "காட்சிக் கருவியை மாற்று" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "காட்சிக் கருவி %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "வில்லைக்காட்சி பயன்முறையிலிருந்து வெளியேறு" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "தலைப்பு: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "பக்கங்கள்: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "துவக்க க்ளிக் செய்யவும்" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "பொறு" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "தானாக முன்னே செல்" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"வில்லைக்காட்சி பயன்முறையிலிருந்து வெளியேற இரண்டு வழிகள் உண்டு. நீங்கள் ESC விசையை " +"அழுத்தலாம், அல்லது மேல்-வலது ஓரத்தில் சுட்டிக்குறியை வைக்கும்போது தோன்றும் 'வெளியேறு' " +"பட்டனை அழுத்துலாம்.வேறு சாளரங்களுக்கும் நீங்கள் செல்லலாம் (இயல்பாக Alt+TAB)." + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "வில்லைக்காட்சி காட்டப்படுகிறது" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "தெரியாத கோப்பு" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "%1 பண்புகள்" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "&எழுத்துருக்கள்" + +#: part/propertiesdialog.cpp:145 +#, kde-format +msgid "Reading font information…" +msgstr "எழுத்துருக்களின் விவரங்கள் ஏற்றப்படுகின்றன…" + +#: part/propertiesdialog.cpp:158 +#, kde-format +msgid "&Page Sizes" +msgstr "&பக்கங்களின் அளவுகள்" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "&எழுத்துருவை பிரித்தெடு" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Type 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Type 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "Type 1C (OT)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Type 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType (OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID Type 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID Type 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID Type 0C (OT)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType (OT)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "TeX PK" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "TeX virtual" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "TeX Font Metric" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "TeX FreeType-handled" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "தெரியாதது" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "உட்பொதிந்தது (பகுதியாக)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "முழுதாக உட்பொதிந்தது" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "இல்லை" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "ஆம் (பகுதியாக)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "ஆம்" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "%1 (%2 என்பதால் மாற்றப்பட்டுள்ளது)" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "தெரியாது" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "தெரியாத எழுத்துரு" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "உட்பொதிந்தது: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "பெயர்" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "வகை" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "கோப்பு" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "பக்கம்" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "அளவு" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "சீராய்வின் முன்தோற்றம்" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "இந்த சீராய்வை எங்கு சேமிக்க விரும்புகிறீர்கள்?" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "%1 என்ற கோப்பை சேமிக்க முடியவில்லை." + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "சீராய்வைக் காட்ட முடியவில்லை." + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "பக்கங்களை வடிகட்ட குறைந்தது 3 எழுத்துகளை உள்ளிடுங்கள்" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "எழுத்து வகையை (பெரிது/சிறிது) பொருட்படுத்து" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "சொற்றொடரைப் பொருத்து" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "அனைத்து வார்த்தைகளையும் பொருத்து" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "ஏதாவது வார்த்தையைப் பொருத்து" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "வடிகட்டிக்கான விருப்பத்தேர்வுகள்" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, kde-format +msgid "Certificates" +msgstr "சான்றிதழ்கள்" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "கையொப்பத்துக்கு பயன்படுத்த வேண்டிய சான்றிதழைத் தேர்ந்தெடுக்கவும்:" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "அனைத்தும்" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, kde-format +msgid "Only QES certificates" +msgstr "QES சான்றிதழ்கள் மட்டும்" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "PGP சாவிகள் மட்டும்" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "காரணம்:" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, kde-format +msgid "optional" +msgstr "கட்டாயமில்லை" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "இடம்:" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, kde-format +msgid "Background:" +msgstr "பின்புலம்:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "தேர்ந்தெடு..." + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, kde-format +msgid "Recent backgrounds:" +msgstr "சமீப பின்புலங்கள்:" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

    No annotations

    To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
    " +msgstr "" +"

    குறிப்புகள் இல்லை

    புதியக் குறிப்புகளை உருவாக்க F6 விசையை " +"அழுத்துங்கள், அல்லது பட்டியிலிருந்து கருவிகள் -> குறிப்புகள் என்பதைத் தேர்வு " +"செய்யுங்கள்.
    " + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "பக்கம் வாரியாக காட்டு" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "இயற்றியவர் வாரியாக காட்டு" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "தற்போதைய பக்கத்திற்கு மட்டும் குறிப்புகளைக் காட்டு" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "அனைத்து உருப்படிகளையும் விரி" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "அனைத்து உருப்படிகளையும் சுருக்கு" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "பண்புகள்" + +#: part/signaturepartutils.cpp:180 +#, kde-format +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "படங்கள் (%1)" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "பின்புலப் படத்தை தேர்ந்தெடுத்தல்" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "படத்தை மற" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "அனைத்துப் படங்களையும் மற" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "%1 என்ற சான்றிதழை திறப்பதற்கான கடவுச்சொல்லை (இருந்தால்) உள்ளிடுங்கள்" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "சான்றிதழுக்கான கடவுச்சொல்லை உள்ளிடுங்கள்" + +#: part/signaturepartutils.cpp:244 +#, kde-format +msgid "Enter document password" +msgstr "ஆவணத்திற்கான கடவுச்சொல்லை உள்ளிடுங்கள்" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "கையொப்பமிட்ட கோப்பை இவ்வாறு சேமி" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "%1_signed.%2" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "செல்லுபடி நிலை" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "கையொப்பத்தின் செல்லுபடி நிலை:" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "ஆவண மாற்றங்கள்:" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "கூடுதல் விவரங்கள்" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "கையொப்பமிட்டவர்:" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "கையொப்பமிட்ட நேரம்:" + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "ஆவண பதிப்பு" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "ஆவண சீராய்வு %1 (மொத்த சீராய்வுகள் %2)" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "கையொப்பமிட்ட பதிப்பைக் காட்டு…" + +#: part/signaturepropertiesdialog.cpp:95 +#, kde-format +msgid "View Certificate…" +msgstr "சான்றிதழைக் காட்டு…" + +#: part/signaturepropertiesdialog.cpp:97 +#, kde-format +msgid "View in Certificate Manager" +msgstr "சான்றிதழ் மேலாளியில் காட்டு" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "கே.டீ.யீ. சான்றிதழ் மேலாளி (kleopatra) கண்டுபிடிக்கப்படவில்லை" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "அதிகாரப்பூர்வமானது" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "PGP" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "நினைவுக்குறியிட்ட பக்கங்களை மட்டும் காட்டு" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "இயக்கு" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "பொறு" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "நிறுத்து" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "இந்த ஆக்குலரில் ஒளிக்காட்சிகள் ஆதரிக்கப்படா" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "இந்த ஆக்குலரில் ஒளிக்காட்சிகள் ஆதரிக்கப்படா" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "சேர்…" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, kde-format +msgid "&Edit…" +msgstr "திருத்து…" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "&நீக்கு" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "&மேலே நகர்த்து" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "&கீழே நகர்த்து" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "வரைதலுக்கான இயல்பிருப்பு கருவி #%1" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "அந்தப் பெயரைக் கொண்ட கருவி ஏற்கனவே உள்ளது. இயல்பிருப்பு பயன்படுத்தபடும்" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "ஏற்கனவே உள்ள பெயர்" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "காட்ட வேண்டிய ஆவணத்தின் பக்கம்" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "ஆவணத்தை வில்லைக்காட்சி பயன்முறையில் துவக்கு" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "அச்சிடும் சாளரத்துடன் துவக்கு" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "அச்சிடும் சாளரத்துடன் துவக்கி, அச்சிட்டபின் வெளியேறு" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "\"ஒரே சாளரம்\" கட்டுப்பாடு" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "சாளரத்தை உயர்த்தாதே" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "உரையில் ஒரு சரத்தைக் கண்டுபிடி" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "வெளி உரைத்திருத்திக்கான கட்டளையை அமைக்கும்" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "திறக்க வேண்டிய ஆவணங்கள். stdin-இலிருந்து படிக்க '-' என்று குறிப்பிடுங்கள்." + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" +"ஏற்கனவே ஓடிக்கொண்டிருக்கும் ஆக்குலர் பணியில் உரைதிருத்திக்கான கட்டளையை அமைக்க முடியாது. " +"கீற்றுகளை முடக்கி மீண்டும் முயற்சிக்கவும். கட்டளை வரியில் உரைதிருத்திக்கான கட்டளையை " +"அமைக்கும்போது unique எனும் விருப்பத்தையும் பயன்படுத்த முடியாது.\n" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "சிக்கல்: --unique விருப்பத்துடன் ஒன்றுக்கு மேற்பட்ட ஆவணங்களை திறக்க முடியாது" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" +"சிக்கல்: --presentation விருப்பத்துடன் ஒன்றுக்கு மேற்பட்ட ஆவணங்களை திறக்க முடியாது" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "சிக்கல்: --print விருப்பத்துடன் ஒன்றுக்கு மேற்பட்ட ஆவணங்களை திறக்க முடியாது" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "சிக்கல்: --page விருப்பத்துடன் ஒன்றுக்கு மேற்பட்ட ஆவணங்களை திறக்க முடியாது" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "சிக்கல்: --find விருப்பத்துடன் ஒன்றுக்கு மேற்பட்ட ஆவணங்களை திறக்க முடியாது" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "ஆக்குலர் கூறை கண்டுபிடிக்க முடியவில்லை: %1" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "ஓரப்பட்டை" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" +"ஓர் ஆக்குலர் பணி ஏற்கனவே ஓடிக்கொண்டிருக்கிறது. ஒரே ஆக்குலர் பணியாக தற்போதையது இருக்காது." + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "ஆக்குலர் கூறை கண்டுபிடிக்க முடியவில்லை." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"கோப்பைத் திறக்க க்ளிக் செய்யுங்கள்\n" +"சமீப கோப்பைத் திறக்க க்ளிக் செய்து பிடித்திருங்கள்" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"கோப்பைத் திறக்க க்ளிக் செய்யுங்கள், அல்லது சமீப கோப்பைத் திறக்க க்ளிக் செய்து " +"பிடித்திருங்கள்." + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "அடுத்த கீற்று" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "முந்தைய கீற்று" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "கீற்றை மூடியதை செயல்நீக்கு" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "ஓரப்பட்டையைப் பூட்டு" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "அனைத்து கோப்புகள் (*)" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "ஆதரிக்கப்படும் அனைத்து கோப்புகள் (%1)" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "ஆவணத்தைத் திறத்தல்" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "மூடுவதை உறுதிசெய்க" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "கீற்றுகளை மூடு" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "%1 கீற்றுகளை மூடப் போகிறீர்கள். உறுதியாக தொடர வேண்டுமா?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "பல கீற்றுகளை மூட முயற்சிக்கும்போது என்னை எச்சரி" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "&பாதையை நகலெடு" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "&கொண்டுள்ள அடைவைத் திற" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "&இவ்வுருப்படியை மற" + +#: shell/welcomescreen.cpp:137 +#, kde-format +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "சமீபத்திய ஆவணங்கள் இல்லை" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "ஆக்குலருக்கு நல்வரவு" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "ஆவணத்தைத் திற" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, kde-format +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "சமீபத்திய ஆவணங்கள்" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "அனைத்தையும் மற" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "வரவேற்புத்திரையை மறை" + +#~ msgid "Geometry with Comment" +#~ msgstr "குறிப்புடன் கூடிய வடிவம்" + +#~ msgid "Geometry" +#~ msgstr "வடிவியல்" + +#~ msgctxt "Annotation type: contents" +#~ msgid "%1: %2" +#~ msgstr "%1: %2" + +#~ msgid "Modified: %1" +#~ msgstr "மாற்றப்பட்டது: %1" + +#~ msgid "Find..." +#~ msgstr "தேடு..." + +#~ msgid "Go To Page..." +#~ msgstr "பக்கத்துக்கு செல்..." + +#~ msgid "Play movie..." +#~ msgstr "ஒளிக்காட்சியை இயக்கு..." + +#~ msgid "Search..." +#~ msgstr "தேடு..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "&வேறு பெயரில் சேமி..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "&பார்..." + +#~ msgid "&Sign..." +#~ msgstr "&கையொப்பமிடு..." + +#~ msgid "Configure Viewer..." +#~ msgstr "காட்டியை அமை..." + +#~ msgid "Configure Viewer Backends..." +#~ msgstr "காட்டி பின்நிலைகளை அமை..." + +#~ msgid "Configure Backends..." +#~ msgstr "பின்நிலைகளை அமை..." + +#~ msgid "&Add..." +#~ msgstr "&சேர்..." + +#~ msgid "&Edit..." +#~ msgstr "&திருத்து..." + +#~ msgctxt "%1 is a file path" +#~ msgid "" +#~ "Could not sign. Invalid certificate password or could not write to '%1'" +#~ msgstr "" +#~ "கையொப்பமிட முடியவில்லை. சான்றிதழுக்கான கடவுச்சொல் செல்லுபடியாகாதது, அல்லது '%1' " +#~ "என்பதற்கு எழுத முடியவில்லை" + +#, fuzzy +#~| msgid "" +#~| "All your signing certificates are either not valid yet or are past their " +#~| "validity date." +#~ msgid "All your signing certificates are invalid" +#~ msgstr "" +#~ "உங்கள் கையொப்ப சான்றிதழ்கள் அனைத்தும் செல்லுபடியாகவில்லை அல்லது காலாவதியாகிவிட்டன." + +#~ msgid "Unsigned Signature %1" +#~ msgstr "எண்மக்கையொப்பமிடா கையொப்பம் %1" + +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "தெரியாதது" + +#~ msgctxt "Signature type" +#~ msgid "Unsigned signature" +#~ msgstr "எண்மக்கையொப்பமிடா கையொப்பம்" + +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "Spinbox prefix: Advance automatically: every n seconds" +#~ msgid "every " +#~ msgstr "ஒவ்வொரு " + +#~ msgctxt "Suffix for the pen width, eg '10 px'" +#~ msgid " px" +#~ msgstr " px" + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " %" + +#~ msgctxt "%1 is a file path" +#~ msgid "Could not sign. Could not write to '%1'" +#~ msgstr "கையொப்பமிட முடியவில்லை. '%1' என்பதற்கு எழுத முடியவில்லை" + +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "அகலப் பொருத்தம்" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "பக்கப் பொருத்தம்" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Auto Fit" +#~ msgstr "தானியக்க பொருத்தம்" + +#~ msgid "*|All Files" +#~ msgstr "*|அனைத்து கோப்புகள்" + +#~ msgid "Missing alert type" +#~ msgstr "எச்சரிக்கையின் வகை குறிப்பிடப்படவில்லை" + +#~ msgid "" +#~ "The file '%1' has been modified by another program, which means it can no " +#~ "longer be saved." +#~ msgstr "" +#~ "'%1' என்ற கோப்பு வேறொரு நிரலால் மாற்றப்பட்டுள்ளதால் அதை இனிமேல் சேமிக்க முடியாது." + +#~ msgid "Show Sidebar" +#~ msgstr "ஓரப்பட்டையைக் காட்டு" + +#~ msgctxt "@info" +#~ msgid "" +#~ "experimental feature.Stamps inserted in PDF documents are " +#~ "not visible in PDF readers other than Okular." +#~ msgstr "" +#~ "சோதனைக்கான அம்சம்.PDF கோப்புகளில் இடப்படும் முத்திரைகள் ஆக்குலரில் " +#~ "மட்டும்தான் தெரியும்." + +#~ msgctxt "@info" +#~ msgid "" +#~ "The version of the Poppler library this Okular was compiled with does not " +#~ "support signing documents with passwords. Please ask your provider to " +#~ "update it to 22.02 or later." +#~ msgstr "" +#~ "இந்த ஆக்குலர் நிரல் எந்த Poppler நிரலகத்தின் பதிப்பைக் கொண்டு தொகுக்கப்பட்டதோ, " +#~ "அப்பதிப்பில் கடவுச்சொல்லுடன் கூடிய கையொப்பங்களுக்கான ஆதரவு இல்லை. அதை 22.02 (அல்லது " +#~ "அதற்கு பிந்தைய) பதிப்பிற்கு புதுப்பியுங்கள்." + +#~ msgctxt "@title:window" +#~ msgid "Poppler library is too old" +#~ msgstr "Poppler நிரல் பழையதாக உள்ளது" + +#~ msgctxt "@info" +#~ msgid "" +#~ "Stamps inserted in PDF documents are not visible in PDF readers other " +#~ "than Okular" +#~ msgstr "" +#~ "PDF கோப்புகளில் இடப்படும் முத்திரைகள், ஆக்குலரைத் தவிர மற்ற PDF காட்டிகளில் தெரியாது" + +#~ msgctxt "@title:window" +#~ msgid "Experimental feature" +#~ msgstr "சோதனை அம்சம்" + +#, fuzzy +#~| msgid "Format" +#~ msgid "Form" +#~ msgstr "&வடிவம்" + +#~ msgid "Remove Bookmarks" +#~ msgstr "நினைவுக்குறிகளை நீக்கு" + +#, fuzzy +#~| msgid "&Annotations" +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "&குறிப்புகள்" + +#, fuzzy +#~| msgid "Highlight" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "முன்னிலைப்படுத்து" + +#, fuzzy +#~| msgid "Underline" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Underline" +#~ msgstr "அடிக்கோடு" + +#, fuzzy +#~| msgid "Squiggle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Squiggle" +#~ msgstr "சுருள் கொடு" + +#, fuzzy +#~| msgid "Strike Out" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Strike Out" +#~ msgstr "குறுக்கடி" + +#, fuzzy +#~| msgid "Insert Text" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "உரையை சேர்" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "ஒருங்கிணைந்த குறிப்பு" + +#, fuzzy +#~| msgctxt "@action:intoolbar Annotation tool" +#~| msgid "Popup Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "தெரித்தெழும் குறிப்பு" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a freehand line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Freehand Line" +#~ msgstr "கைமுறைக் கோட்டை வரை" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a straight line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Straight line" +#~ msgstr "நேர் கோட்டை வரை" + +#, fuzzy +#~| msgid "Arrow" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Arrow" +#~ msgstr "அம்புக்குறி" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a rectangle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Rectangle" +#~ msgstr "செவ்வகத்தை வரை" + +#, fuzzy +#~| msgid "Ellipse" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Ellipse" +#~ msgstr "நீள்வட்டம்" + +#, fuzzy +#~| msgid "Polygon" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Polygon" +#~ msgstr "பலகோணம்" + +#, fuzzy +#~| msgid "Highlighter" +#~ msgid "Highlight in Yellow" +#~ msgstr "எடுப்பாக்கி" + +#, fuzzy +#~| msgid "Highlight with Comment" +#~ msgid "Highlight in Green" +#~ msgstr "குறிப்புடன் கூடிய முன்னிலைப்படுத்தல்" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgid "Insert Inline Note" +#~ msgstr "ஒருங்கிணைந்த குறிப்பு" + +#, fuzzy +#~| msgctxt "@action:intoolbar Annotation tool" +#~| msgid "Popup Note" +#~ msgid "Insert Popup Note" +#~ msgstr "தெரித்தெழும் குறிப்பு" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "உரையைத் தேர்ந்தெடு" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "உரையைத் தேர்ந்தெடு" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "உரையைத் தேர்ந்தெடு" + +#~ msgid "Bookmark annotation" +#~ msgstr "நினைவுக்குறி குறிப்பு" + +#~ msgid "&Toggle Change Colors" +#~ msgstr "நிறங்களை மாற்றுதளை &நிலைமாற்று" + +#, fuzzy +#~| msgid "Default transition:" +#~ msgctxt "@option:check Config dialog, presentation page, transitions" +#~ msgid "Enable transitions" +#~ msgstr "முன்னிருப்பு மாற்றம்:" + +#, fuzzy +#~| msgid "Advance every:" +#~ msgctxt "@label:spinbox Config dialog, presentation page" +#~ msgid "Advance every:" +#~ msgstr "ஒவ்வொரு முறையும் மேம்படுத்து:" + +#, fuzzy +#~| msgid "Background color:" +#~ msgctxt "@label:listbox Config dialog, general page" +#~ msgid "Custom background color:" +#~ msgstr "பின்னணி வண்ணம்:" + +#~ msgid "Draw border around &Images" +#~ msgstr "பிம்பங்களை சுற்றியுள்ள விளிம்பை வரை" + +#, fuzzy +#~| msgid "Author" +#~ msgid "Au&thor:" +#~ msgstr "ஆசிரியர்" + +#, fuzzy +#~| msgid "Filter Options" +#~ msgid "View Options" +#~ msgstr "அலங்கார விருப்பத்தேர்வுகள்" + +#~ msgid "Navigation" +#~ msgstr "உலாவல்" + +#, fuzzy +#~ msgid "Show &Navigation Panel" +#~ msgstr "இடது பலகத்தை காட்டு" + +#, fuzzy +#~| msgid "Speak Text" +#~ msgid "Show Text" +#~ msgstr "பேச்சு உரை" + +#, fuzzy +#~| msgid "Icon" +#~ msgid "Large Icons" +#~ msgstr "குறும்படம்" + +#, fuzzy +#~| msgid "Created" +#~ msgid "Created: %1" +#~ msgstr "உருவாக்கப்பட்டது" + +#, fuzzy +#~| msgid "Title" +#~ msgid "Style" +#~ msgstr "தலைப்பு" + +#, fuzzy +#~ msgid "&Size:" +#~ msgstr "தலைப்பு" + +#, fuzzy +#~| msgid "&Invert colors" +#~ msgid "Inner color:" +#~ msgstr "&வண்ணங்களை தலைகீழாக்கு" + +#, fuzzy +#~| msgid "Pages: %1" +#~ msgid "Name: %1" +#~ msgstr "பக்கங்கள்: %1" + +#, fuzzy +#~ msgid "Size: %1" +#~ msgstr "தலைப்பு" + +#, fuzzy +#~ msgid "&Browse Tool" +#~ msgstr "&பெரிதாக்கும் கருவி" + +#, fuzzy +#~ msgctxt "Select Tool" +#~ msgid "Selection" +#~ msgstr "&தேர்ந்தெடு" + +#, fuzzy +#~ msgid "&Text Selection Tool" +#~ msgstr "&தேர்ந்தெடு" + +#, fuzzy +#~ msgid "T&able Selection Tool" +#~ msgstr "&தேர்ந்தெடு" + +#, fuzzy +#~| msgid "[none]" +#~ msgid " None" +#~ msgstr "(எதுவுமில்லை)" + +#, fuzzy +#~| msgid "" +#~| "The document is going to be launched on presentation mode because the " +#~| "file requested it." +#~ msgid "" +#~ "The document requested to be launched in presentation mode.\n" +#~ "Do you want to allow it?" +#~ msgstr "ஆவணம் முன்வைப்பு முறையில் துவங்கப்பட இருக்கிறது." + +#, fuzzy +#~ msgid "Presentation Mode" +#~ msgstr "முன்வைப்பு வகைக்கான விருப்பத்தேர்வுகள்" + +#, fuzzy +#~ msgid "Allow the presentation mode" +#~ msgstr "முன்வைப்பு வகைக்கான விருப்பத்தேர்வுகள்" + +#, fuzzy +#~| msgid "Options for Presentation Mode" +#~ msgid "Do not allow the presentation mode" +#~ msgstr "முன்வைப்பு வகைக்கான விருப்பத்தேர்வுகள்" + +#, fuzzy +#~| msgid "Save to File..." +#~ msgid "Save &Copy As..." +#~ msgstr "கோப்புக்கு சேமி..." + +#~ msgid "" +#~ "End of document reached.\n" +#~ "Continue from the beginning?" +#~ msgstr "" +#~ "ஆவணத்தின் முடிவு வந்துவிட்டது.\n" +#~ "முதலில் இருந்து தொடரவா?" + +#, fuzzy +#~| msgid "" +#~| "End of document reached.\n" +#~| "Continue from the beginning?" +#~ msgid "" +#~ "Beginning of document reached.\n" +#~ "Continue from the bottom?" +#~ msgstr "" +#~ "ஆவணத்தின் முடிவு வந்துவிட்டது.\n" +#~ "முதலில் இருந்து தொடரவா?" + +#, fuzzy +#~| msgid "Current mantainer" +#~ msgid "Current maintainer" +#~ msgstr "நடப்பு மேம்பாட்டாளர்" + +#~ msgid " sec." +#~ msgstr "நொடி." + +#, fuzzy +#~| msgid "Starting KTTSD Failed: %1" +#~ msgid "Starting Jovie Text-to-Speech service Failed: %1" +#~ msgstr "KTTSDஐ துவக்க முடியவில்லை: %1" + +#, fuzzy +#~| msgid "Always Visible" +#~ msgid "All Visible Columns" +#~ msgstr "எப்போதும் தெரியக்கூடியது" + +#~ msgid "No document opened." +#~ msgstr "ஆவணத்தை திறக்கவில்லை." + +#~ msgid "No matches found for '%1'." +#~ msgstr "'%1'க்கு இணையாக எதுவும் இல்லை." + +#, fuzzy +#~ msgid "Ink Properties" +#~ msgstr "&பண்புகள்" + +#, fuzzy +#~| msgid "Presentation" +#~ msgctxt "Annotation tool" +#~ msgid "Text Annotation" +#~ msgstr "முன்வைப்பு" + +#~ msgid "Moves to the first page of the document" +#~ msgstr "ஆவணத்தின் முதல் பக்கத்திற்கு நகர்த்து" + +#~ msgid "Moves to the last page of the document" +#~ msgstr "ஆவணத்தின் கடைசி பக்கத்திற்கு நகர்த்து" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "%1 is \"Title\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "%1 is \"File Path\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#~ msgid "Pages:" +#~ msgstr "பக்கங்கள்" + +#, fuzzy +#~| msgid "&Properties" +#~ msgid "&Properties..." +#~ msgstr "&பண்புகள்" + +#, fuzzy +#~| msgid "Moves to the next page of the document" +#~ msgid "Could not load the necessary plugin to view the document." +#~ msgstr "ஆவணத்தின் முந்தைய பக்கத்திற்கு நகர்த்து" + +#, fuzzy +#~| msgid "Fit to &Text" +#~ msgid "Fit &Text" +#~ msgstr "உரைக்கு &பொருத்து" + +#, fuzzy +#~| msgid "Advance every:" +#~ msgid "&Advanced" +#~ msgstr "ஒவ்வொரு முறையும் மேம்படுத்து:" + +#, fuzzy +#~ msgid "Contents:" +#~ msgstr "&தொடர்ச்சியான" + +#, fuzzy +#~ msgid "Hide &Navigation Panel" +#~ msgstr "உலாவல்" + +#, fuzzy +#~| msgid "Page %1" +#~ msgid "page %1" +#~ msgstr "பக்கம் %1" + +#~ msgid "Show &search bar in thumbnails list" +#~ msgstr "குறும்படங்கள் பட்டியலில் &தேடும் பட்டியை காட்டு" + +#, fuzzy +#~| msgid "Speak Text" +#~ msgid "Free Text" +#~ msgstr "பேச்சு உரை" + +#, fuzzy +#~| msgid "General" +#~ msgid "DlgGeneral" +#~ msgstr "பொதுவான" + +#~ msgid "Program Look" +#~ msgstr "நிரல் பார்வை" + +#~ msgid "Reading Aids" +#~ msgstr "உதவிகளை படிக்கிறது" + +#, fuzzy +#~| msgid "Could not open %1" +#~ msgid "Click for Open %1" +#~ msgstr "%1ஐ திறக்க முடியவில்லை." + +#, fuzzy +#~ msgid "contents:" +#~ msgstr "&தொடர்ச்சியான" + +#, fuzzy +#~| msgid "Pages:" +#~ msgid "flags:" +#~ msgstr "பக்கங்கள்" + +#, fuzzy +#~ msgid "&Watch file" +#~ msgstr "&கோப்பை கவனி" + +#~ msgid "Clear filter" +#~ msgstr "அலங்காரத்தை நீக்கு" + +#~ msgid "Topic" +#~ msgstr "தலைப்பு" + +#~ msgid "Fit to Page &Width" +#~ msgstr "பக்க அகலத்துடன் பொருத்து" + +#~ msgid "&Two Pages" +#~ msgstr "&இரண்டு பக்கங்கள்" + +#~ msgid "Starting -- find text as you type" +#~ msgstr "துவங்குகிறது -- நீங்கள் உள்ளிட்டது போல் உரையை கண்டுபிடி" + +#~ msgid "Security" +#~ msgstr "பாதுகாப்பு" + +#~ msgid "Optimized" +#~ msgstr "உகப்பாக்கியது" + +#~ msgid "Unknown Encryption" +#~ msgstr "தெரியாத மறையாக்கம்" + +#~ msgid "Unknown Optimization" +#~ msgstr "தெரியாத உகப்பாக்கல்" + +#~ msgid "unknown" +#~ msgstr "தெரியாத" + +#~ msgid "-" +#~ msgstr "-" + +#, fuzzy +#~ msgid "kpdf, a kde pdf viewer based on poppler" +#~ msgstr "kpdf, a kde pdf viewer based on xpdf" + +#~ msgid "KPDF::Part" +#~ msgstr "KPDF::பகுதி" + +#~ msgid "Text found: \"%1\"." +#~ msgstr "உரை உள்ளது: \"%1\"." + +#~ msgid "Text not found: \"%1\"." +#~ msgstr "உரை இல்லை: \"%1\"." + +#~ msgctxt "PDF v. " +#~ msgid "PDF v. %1" +#~ msgstr "PDF v. %1" + +#~ msgid "Xpdf author" +#~ msgstr "Xpdf ஆசிரியர்" diff --git a/po/ta/okular_djvu.po b/po/ta/okular_djvu.po new file mode 100644 index 0000000..55dd0da --- /dev/null +++ b/po/ta/okular_djvu.po @@ -0,0 +1,95 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Kishore G , 2021. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2021-08-26 21:58+0530\n" +"Last-Translator: Kishore G \n" +"Language-Team: Tamil \n" +"Language: ta\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 21.08.0\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "தொகுப்பாளர்" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "பதிப்பகம்" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "பாகம்" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "ஆவணத்தின் வகை" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "தெரியாதது" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "உள்ளடங்கிய கோப்புகள்" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "தெரியாதது" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "ஒற்றை பக்கம்" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "பல பக்கங்கள்" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "பல பக்கங்கள் (பழைய படிவம்)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "" diff --git a/po/ta/okular_epub.po b/po/ta/okular_epub.po new file mode 100644 index 0000000..f87538c --- /dev/null +++ b/po/ta/okular_epub.po @@ -0,0 +1,43 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Kishore G , 2021. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2021-06-01 19:15+0530\n" +"Last-Translator: Kishore G \n" +"Language-Team: Tamil \n" +"Language: ta\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 21.04.1\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "EPub ஆவணத்தை திறக்கும்போது சிக்கல்." + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "EPub" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "EPub பின்நிலை அமைப்பு" diff --git a/po/ta/okular_fax.po b/po/ta/okular_fax.po new file mode 100644 index 0000000..96c363e --- /dev/null +++ b/po/ta/okular_fax.po @@ -0,0 +1,33 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Kishore G , 2022. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2022-03-03 20:06+0530\n" +"Last-Translator: Kishore G \n" +"Language-Team: Tamil \n" +"Language: ta\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 21.12.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "கோ. கிஷோர்" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "ஆவணத்தை ஏற்ற முடியவில்லை" diff --git a/po/ta/okular_fictionbook.po b/po/ta/okular_fictionbook.po new file mode 100644 index 0000000..442e001 --- /dev/null +++ b/po/ta/okular_fictionbook.po @@ -0,0 +1,68 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Kishore G , 2022. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2022-03-03 20:07+0530\n" +"Last-Translator: Kishore G \n" +"Language-Team: Tamil \n" +"Language: ta\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 21.12.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "ஆவணத்தை திறக்க முடியவில்லை: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "இவ்வாவணம் ஓர் செல்லுபடியாகும் ZIP காப்பகம் அல்ல" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "ஆவணத்தில் எதுவும் கண்டுபிடிக்கப்படவில்லை" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "செல்லுபடியாகாத XML ஆவணம்: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "" diff --git a/po/ta/okular_ghostview.po b/po/ta/okular_ghostview.po new file mode 100644 index 0000000..bf53bc5 --- /dev/null +++ b/po/ta/okular_ghostview.po @@ -0,0 +1,74 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Kishore G , 2022. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2022-03-03 20:08+0530\n" +"Last-Translator: Kishore G \n" +"Language-Team: Tamil \n" +"Language: ta\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 21.12.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "பொதுவான அமைப்புகள்" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "கணினியின் எழுத்துருக்களை பயன்படுத்து" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "ஆவண பதிப்பு" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "" diff --git a/po/ta/okular_kimgio.po b/po/ta/okular_kimgio.po new file mode 100644 index 0000000..8a37860 --- /dev/null +++ b/po/ta/okular_kimgio.po @@ -0,0 +1,42 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Kishore G , 2021, 2022. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2022-05-08 15:22+0530\n" +"Last-Translator: Kishore G \n" +"Language-Team: Tamil \n" +"Language: ta\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 22.04.0\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "கோ. கிஷோர்" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "Kde-l10n-ta@kde.org" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "ஆவணத்தை ஏற்ற முடியவில்லை: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" +"இவ்வாவணம் முறையற்றது போல் தெரிகிறது. இதனை இயற்றியவர் எவ்வாறு இயற்ற முயற்சித்திருக்கலாம் " +"என்று உத்தேசமாக இங்கு காட்டப்படுகிறது." diff --git a/po/ta/okular_markdown.po b/po/ta/okular_markdown.po new file mode 100644 index 0000000..38277d0 --- /dev/null +++ b/po/ta/okular_markdown.po @@ -0,0 +1,53 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Kishore G , 2021. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2021-06-01 19:32+0530\n" +"Last-Translator: Kishore G \n" +"Language-Team: Tamil \n" +"Language: ta\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 21.04.1\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: converter.cpp:59 converter.cpp:93 +#, kde-format +msgid "Failed to open the document" +msgstr "ஆவணத்தை திறக்க முடியவில்லை" + +#: converter.cpp:106 converter.cpp:124 +#, kde-format +msgid "Failed to compile the Markdown document." +msgstr "Markdown ஆவணத்தை தொகுத்தல் தோல்வியடைந்தது" + +#: generator_md.cpp:58 +#, kde-format +msgid "Enable SmartyPants formatting" +msgstr "SmartyPants வடிவமைப்பை இயக்கு" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown" +msgstr "Markdown" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown Backend Configuration" +msgstr "Markdown பின்நிலை அமைப்பு" diff --git a/po/ta/okular_poppler.po b/po/ta/okular_poppler.po new file mode 100644 index 0000000..3820b25 --- /dev/null +++ b/po/ta/okular_poppler.po @@ -0,0 +1,390 @@ +# Copyright (C) 2025 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# SPDX-FileCopyrightText: 2021, 2023, 2025 Kishore G +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-03-09 18:12+0530\n" +"Last-Translator: Kishore G \n" +"Language-Team: Tamil \n" +"Language: ta\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 24.12.3\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "கோ. கிஷோர்" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "Kde-l10n-ta@kde.org" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "மேல் அச்சிடுவதன் (overprinting) முன்னோட்டங்காட்டுவது:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "ஒருபோதும் வேண்டாம்" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "எப்போதும்" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "தானியக்கம்" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "மெல்லிய கோடுகளை மேம்படுத்து:" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "இல்லை" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "திடப்படுத்து" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "வடிவப்படுத்து" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "அச்சிடும்போது அளவை மாற்றும் இயல்பிருப்பு முறை:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "அச்சிடக்கூடிய பரப்பளவுக்கு பொருத்தமாக" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "முழுப் பக்கத்துக்கு பொருத்தமாக" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "ஏதுமில்லை; உண்மையான அளவிலேயே அச்சிடு" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" +"இத்தேர்வை இயக்கினால், கையொப்பங்களில் பயன்படுத்தப்பட்டுள்ள சான்றிதழ்கள் திரும்ப‍ப்பெறப்பட்டுள்ளனவா " +"என்று சரிபார்ப்பதற்கு மூன்றாம் தரப்பு OCSP சேவையகங்களை ஆக்குலர் தொடர்புகொள்ளும்." + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" +"மூன்றாம் தரப்பு சேவையகங்களின் மூலம் எண்ம கையொப்பங்களுக்கான சான்றிதழ்கள் திரும்ப‍" +"ப்பெறப்பட்டுள்ளனவா என சரிபார்" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "கையொப்ப பின்நிரல்:" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" +"இக்கையொப்பங்களை ஆக்குலரின் சமீபத்திய பதிப்பைப் பயன்படுத்தி அதன் GnuPG பின்நிரலை இயக்கியுள்ள " +"பயனர்களால் மட்டும்தான் சரிபார்க்க முடியும்." + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "கையொப்பங்களுக்கு PGP சாவிகளை பயன்படுத்து (ஆக்குலர் நீட்சி)" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "சான்றிதழ் தரவுதளம்" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "இயல்பிருப்பு:" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "விருப்பமானது:" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "உள்ள சான்றிதழ்கள்" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "சான்றிதழ்களை &ஏற்று:" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "PDF விருப்பங்கள்" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "குறிப்புகளை அச்சிடு" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "அச்சிடப்படும் ஆவணத்தில் குறிப்புகளையும் சேர்க்கும்" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"அச்சிடப்படும் ஆவணத்தில் குறிப்புகளையும் சேர்க்கும். குறிப்புகள் இல்லாமல் ஆவணத்தை மட்டும் " +"அச்சிட வேண்டுமெனில், நீங்கள் இதை முடக்கலாம்." + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "பரவு வரைகலையை கட்டாயப்படுத்து" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "அச்சிடுமுன் பரவுப்படமாக (raster image-ஆக) மாற்றும்" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"ஒவ்வொரு பக்கத்தையும் அச்சிடுமுன் அதை பரவுப்படமாக (raster image-ஆக) மாற்றும். அச்சின் " +"தரத்தை இது பெரும்பாலும் குறைக்கும், ஆனால் ஒழுங்காக அச்சிட முடியாத ஆவணங்களுக்கு இது " +"தேவைப்படலாம்." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "அச்சிடப்படும் பக்கங்களின் அளவை மாற்றும் முறை" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "அளவுமாற்ற முறை:" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF v. %1.%2" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "படிவம்" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "மறையாக்கம் செய்யப்பட்டது" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "மறையாக்கம் செய்யப்படாதது" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "பாதுகாப்பு" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "ஆம்" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "நேரியல்பாக்கப்பட்டதா" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"கையொப்பமிட்டவர்: %1\n" +"\n" +"தேதி: %2" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "Poppler %1 பயனிலுள்ளது" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" +"Poppler %1 பயனிலுள்ளது\n" +"\n" +"நிரல்தொகுக்க Poppler %2 பயன்படுத்தப்பட்டது" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "PDF பின்நிலை அமைப்பு" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "ஆவணத்தில் சில பிழைகள் இருப்பதால், ஆக்குலர் அதனை தவறாக காட்டலாம்" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" +"GnuPG பின்நிரல் இயக்கப்பட்டுள்ள சமீபத்திய ஆக்குலர் பதிப்புகளில் மட்டுமே இக்கையொப்பங்களை வேலை " +"செய்யும்" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "PGP கையொப்பங்களை இயக்கு" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "யாரிடம் வழங்கப்பட்டது" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "மின்னஞ்சல் முகவரி" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "காலாவதியாகும் தேதி" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" +"NSS ஆதரவில்லா Poppler நிரலகத்தைப் பயன்படுத்துகிறீர்.\n" +"அக்காரணத்தால் எண்ம கையொப்பங்களை இட முடியாது" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "என்றென்றும்" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "மறுதொடக்கம் தேவை" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "NSS அடைவு அமைப்புகளை மாற்றிய பின் நீங்கள் ஆக்குலரை மீண்டும் தொடக்க வேண்டும்" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter Password" +msgstr "கடவுச்சொல்லை உள்ளிடவும்" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "%1 என்பதை திறக்க கடவுச்சொல்லை உள்ளிடவும்:" + +#~ msgid "Not Available" +#~ msgstr "கிட்டவில்லை" diff --git a/po/ta/okular_tiff.po b/po/ta/okular_tiff.po new file mode 100644 index 0000000..e2ac539 --- /dev/null +++ b/po/ta/okular_tiff.po @@ -0,0 +1,28 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Kishore G , 2022. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2022-05-08 15:22+0530\n" +"Last-Translator: Kishore G \n" +"Language-Team: Tamil \n" +"Language: ta\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 22.04.0\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "கோ. கிஷோர்" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "Kde-l10n-ta@kde.org" diff --git a/po/ta/okular_txt.po b/po/ta/okular_txt.po new file mode 100644 index 0000000..e3705ee --- /dev/null +++ b/po/ta/okular_txt.po @@ -0,0 +1,38 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Kishore G , 2021, 2022. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2022-05-08 15:21+0530\n" +"Last-Translator: Kishore G \n" +"Language-Team: Tamil \n" +"Language: ta\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 22.04.0\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "கோ. கிஷோர்" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "Kde-l10n-ta@kde.org" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "உரை" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "உரைக்கோப்புகளுக்கான பின்நிலை அமைப்பு" diff --git a/po/ta/okular_xps.po b/po/ta/okular_xps.po new file mode 100644 index 0000000..b53803b --- /dev/null +++ b/po/ta/okular_xps.po @@ -0,0 +1,33 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Kishore G , 2021. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2021-11-13 20:19+0530\n" +"Last-Translator: Kishore G \n" +"Language-Team: Tamil \n" +"Language: ta\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 21.11.80\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "சீராய்வு" diff --git a/po/ta/org.kde.active.documentviewer.po b/po/ta/org.kde.active.documentviewer.po new file mode 100644 index 0000000..39d49a2 --- /dev/null +++ b/po/ta/org.kde.active.documentviewer.po @@ -0,0 +1,211 @@ +# Copyright (C) 2025 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# SPDX-FileCopyrightText: 2021, 2022, 2025 Kishore G +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-08-03 21:07+0530\n" +"Last-Translator: Kishore G \n" +"Language-Team: Tamil \n" +"Language: ta\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 25.04.3\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "நினைவுக்குறிகள்" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "சான்றிதழ் காட்டி" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "வழங்கியவர்" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "பொதுப்பெயர்:" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "மின்னஞ்சல்:" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "நிறுவனம்:" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "யாரிடம் வழங்கப்பட்டது" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "செல்லுபடி" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "வழங்கப்பட்ட தேதி:" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "காலாவதி ஆகும் தேதி:" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "சரிகாண்தொகைகள்" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "SHA-1 சரிகாண்தொகை:" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "SHA-256 சரிகாண்தொகை:" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +msgid "Export…" +msgstr "ஏற்றுமதி…" + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "மூடு" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "சான்றிதழ் கோப்பு (*.cer)" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "சிக்கல்" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "சான்றிதழை ஏற்றுமதி செய்ய முடியவில்லை." + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "ஆக்குலர்" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "திற…" + +#: ui/Main.qml:49 +msgid "About" +msgstr "பற்றி" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "கடவுச்சொல் தேவை" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "நினைவுக்குறியை நீக்கு" + +#: ui/MainView.qml:29 +msgid "Bookmark this page" +msgstr "இப்பக்கத்தில் நினைவுக்குறியிடு" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "சிறுபடங்கள்" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "பொருளடக்க அட்டவணை" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "கையொப்பங்கள்" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "கையொப்பத்தின் பண்புகள்" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "செல்லுபடி நிலை" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "கையொப்பத்தின் செல்லுபடி நிலை:" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "ஆவண மாற்றங்கள்:" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "கூடுதல் விவரங்கள்" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "கையொப்பமிட்டவர்:" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "கையொப்பமிட்ட நேரம்:" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "காரணம்:" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "இடம்:" + +#: ui/SignaturePropertiesPage.qml:96 +msgid "Document Version" +msgstr "ஆவண பதிப்பு" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "ஆவண சீராய்வு %1 (மொத்த சீராய்வுகள் %2)" + +#: ui/SignaturePropertiesPage.qml:108 +msgid "Save Signed Version…" +msgstr "கையொப்பமிடப்பட்ட பதிப்பை சேமி…" + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +msgid "View Certificate…" +msgstr "சான்றிதழைப் காட்டு…" + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "கையொப்பத்தை சேமிக்க முடியவில்லை" + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "கிட்டவில்லை" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "எதுவும் கண்டுபிடிக்கப்படவில்லை" + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "எந்த ஆவணமும் திறக்கப்படவில்லை" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "சமீப ஆவணங்கள்" + +#: ui/WelcomeView.qml:108 +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "என் ஆவணங்கள்" + +#~ msgid "Open..." +#~ msgstr "திற..." + +#~ msgid "Search..." +#~ msgstr "தேடு..." diff --git a/po/tg/okular.po b/po/tg/okular.po new file mode 100644 index 0000000..67eeb0a --- /dev/null +++ b/po/tg/okular.po @@ -0,0 +1,6013 @@ +# translation of kpdf.po to Tajik +# translation of kpdf.po to Тоҷикӣ +# Copyright (C) 2004, 2005 Free Software Foundation, Inc. +# 2004, infoDev, a World Bank organization +# 2004, Khujand Computer Technologies, Inc. +# 2004, Youth Opportunities, NGO +# Victor Ibragimov , 2005, 2019. +msgid "" +msgstr "" +"Project-Id-Version: kpdf\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-09-15 21:29+0500\n" +"Last-Translator: Victor Ibragimov \n" +"Language-Team: English \n" +"Language: tg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 19.04.3\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" +"НПО \"Имкониятҳои ҷавонон\" ва Khujand Computer Technologies, Inc. USA, " +"Роҷер Ковакс, Виктор Ибрагимов, Марина Колючева" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" +"youth_opportunities@tajikngo.org,,rkovacs@khujand.org,,MarinaKL@tajikngo.org" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "" + +#: core/action.cpp:137 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go to page %1" +msgstr "Ба саҳифа гузаштан" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "" + +#: core/action.cpp:197 +#, kde-format +msgid "Execute '%1'…" +msgstr "" + +#: core/action.cpp:294 +#, fuzzy, kde-format +msgid "First Page" +msgstr "Ба саҳифа гузаштан" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, fuzzy, kde-format +msgid "Next Page" +msgstr "Ба саҳифа гузаштан" + +#: core/action.cpp:300 +#, fuzzy, kde-format +msgid "Last Page" +msgstr "Ба саҳифа гузаштан" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go To Page…" +msgstr "Ба саҳифа гузаштан" + +#: core/action.cpp:365 +#, kde-format +msgid "Play sound…" +msgstr "" + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "" + +#: core/action.cpp:483 +#, fuzzy, kde-format +msgid "Play movie…" +msgstr "Саҳифа" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "" + +#: core/action.cpp:558 +#, fuzzy, kde-format +msgid "Pause movie" +msgstr "Саҳифа" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
    %1 (%2).

    Please select which one to use:
    " +msgstr "" + +#: core/document.cpp:200 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "Ба саҳифа гузаштан" + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "" + +#: core/document.cpp:246 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "" + +#: core/document.cpp:248 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "" + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "" + +#: core/document.cpp:4801 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Could not open a temporary file" +msgstr "Ба саҳифа гузаштан" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "" + +#: core/document.cpp:4813 +#, fuzzy, kde-format +#| msgid "Unable to find kpdf part." +msgid "Unable to find file to print" +msgstr "Наметавонам қисмати kpdf ёбам." + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "" + +#: core/document.cpp:6002 +#, fuzzy, kde-format +#| msgid "Title: %1" +msgid "Title" +msgstr "Сарлавҳа: %1" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "" + +#: core/document.cpp:6023 +#, fuzzy, kde-format +msgid "Pages" +msgstr "Саҳифа:" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "" + +#: core/document.cpp:6032 +#, kde-format +msgid "MIME Type" +msgstr "" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "" + +#: core/document.cpp:6041 +#, fuzzy, kde-format +#| msgid "Title: %1" +msgid "File Path" +msgstr "Сарлавҳа: %1" + +#: core/document.cpp:6044 +#, fuzzy, kde-format +#| msgid "Pages" +msgid "File Size" +msgstr "Саҳифа" + +#: core/document.cpp:6047 +#, fuzzy, kde-format +#| msgid "Pages" +msgid "Page Size" +msgstr "Саҳифа" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "" + +#: core/generator.cpp:790 +#, kde-format +msgid "Plain &Text…" +msgstr "" + +#: core/generator.cpp:793 +#, fuzzy, kde-format +#| msgid "KPDF" +msgid "PDF" +msgstr "KPDF" + +#: core/generator.cpp:797 +#, fuzzy, kde-format +#| msgid "No document opened." +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "Ягон ҳуҷҷат кушода нест." + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "" + +#: core/printoptionswidget.cpp:19 +#, fuzzy, kde-format +msgid "Print Options" +msgstr "Интихоботи экрани пурра" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "" + +#: core/signatureutils.cpp:504 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" + +#: core/signatureutils.cpp:506 +#, kde-format +msgid "Unknown signing error" +msgstr "" + +#: core/sourcereference.cpp:103 +#, fuzzy, kde-format +#| msgid "&Page:" +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "&Саҳифа:" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "" + +#: gui/certificatemodel.cpp:39 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Version" +msgstr "Боз кардани санадот" + +#: gui/certificatemodel.cpp:41 +#, fuzzy, kde-format +#| msgid "Pages" +msgid "Serial Number" +msgstr "Саҳифа" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "" + +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "" + +#: gui/guiutils.cpp:56 +#, kde-format +msgid "Arrow with Comment" +msgstr "" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "" + +#: gui/guiutils.cpp:71 +#, kde-format +msgid "Rectangle with Comment" +msgstr "" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "" + +#: gui/guiutils.cpp:74 +#, kde-format +msgid "Ellipse with Comment" +msgstr "" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "" + +#: gui/guiutils.cpp:87 +#, kde-format +msgid "Squiggle with Comment" +msgstr "" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "" + +#: gui/guiutils.cpp:91 +#, kde-format +msgid "Underline with Comment" +msgstr "" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out with Comment" +msgstr "" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "" + +#: gui/guiutils.cpp:106 +#, kde-format +msgid "Freehand Line with Comment" +msgstr "" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "" + +#: gui/guiutils.cpp:126 +#, fuzzy, kde-format +#| msgid "Title: %1" +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Сарлавҳа: %1" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "" + +#: gui/guiutils.cpp:144 +#, kde-format +msgid "Annotation" +msgstr "" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "" + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "" + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "" + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "" + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "" + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "" + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "" + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "" + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "" + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "" + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "" + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "" + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "" + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "" + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr "" + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "" + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "" + +#: gui/signatureguiutils.cpp:208 +#, kde-format +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "" + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "" + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "" + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" + +#: gui/signaturemodel.cpp:141 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "" + +#: gui/signaturemodel.cpp:172 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgid "Reason: %1" +msgstr "Саҳифа: %1" + +#: gui/signaturemodel.cpp:177 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgid "Location: %1" +msgstr "Саҳифа: %1" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "" + +#: gui/signaturemodel.cpp:193 +#, kde-format +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "" + +#: gui/signaturemodel.cpp:195 +#, kde-format +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "" + +#: gui/signaturemodel.cpp:201 +#, kde-format +msgid "Signature Type: %1" +msgstr "" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "" + +#: part/annotationactionhandler.cpp:151 +#, fuzzy, kde-format +#| msgid "Title: %1" +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "Сарлавҳа: %1" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "Ба васеъгии саҳифа" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:308 +#, fuzzy, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Интихоботи экрани пурра" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "" + +#: part/annotationactionhandler.cpp:314 +#, fuzzy, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Интихоботи экрани пурра" + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "" + +#: part/annotationactionhandler.cpp:318 +#, fuzzy, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Интихоботи экрани пурра" + +#: part/annotationactionhandler.cpp:322 +#, fuzzy, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Интихоботи экрани пурра" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "" + +#: part/annotationactionhandler.cpp:328 +#, fuzzy, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "Интихоботи экрани пурра" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" + +#: part/annotationactionhandler.cpp:341 +#, fuzzy, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Интихоботи экрани пурра" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "" + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "" + +#: part/annotationactionhandler.cpp:552 +#, fuzzy, kde-format +msgid "&Annotations" +msgstr "Интихоботи экрани пурра" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "" + +#: part/annotationactionhandler.cpp:554 +#, kde-format +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "" + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "" + +#: part/annotationactionhandler.cpp:638 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Интихоботи экрани пурра" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "" + +#: part/annotationactionhandler.cpp:651 +#, fuzzy, kde-format +msgid "Quick Annotation Bar" +msgstr "Интихоботи экрани пурра" + +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "" + +#: part/annotationactionhandler.cpp:681 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Интихоботи экрани пурра" + +#: part/annotationactionhandler.cpp:684 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "Ба васеъгии саҳифа" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "" + +#: part/annotationactionhandler.cpp:696 +#, kde-format +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "" + +#: part/annotationmodel.cpp:320 +#, fuzzy, kde-format +#| msgid "Page %1" +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "Саҳифа %1" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "Саҳифа %1" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "Интихоботи экрани пурра" +msgstr[1] "Интихоботи экрани пурра" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, kde-format +msgid "Copy Text to Clipboard" +msgstr "" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, kde-format +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:69 +#, fuzzy, kde-format +#| msgid "Title: %1" +msgid "Created:" +msgstr "Сарлавҳа: %1" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, kde-format +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgid "&Width:" +msgstr "Ба васеъгии саҳифа" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "" + +#: part/annotationwidgets.cpp:531 +#, kde-format +msgid "Leader line length:" +msgstr "" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "" + +#: part/annotationwidgets.cpp:760 +#, fuzzy, kde-format +#| msgid "Title: %1" +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "Сарлавҳа: %1" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "" + +#: part/annotationwidgets.cpp:773 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgid "Name:" +msgstr "Саҳифа: %1" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, fuzzy, kde-format +msgid "Options" +msgstr "Интихоботи экрани пурра" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "" + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "" + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "" + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "" + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +msgstr[1] "" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Хатчӯбҳо" + +#: part/bookmarklist.cpp:136 +#, fuzzy, kde-format +#| msgid "No document opened." +msgid "Show for all documents" +msgstr "Ягон ҳуҷҷат кушода нест." + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, kde-format +msgid "Search…" +msgstr "" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, kde-format +msgid "Expand All" +msgstr "" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, kde-format +msgid "Collapse All" +msgstr "" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "" + +#: part/bookmarklist.cpp:299 +#, fuzzy, kde-format +#| msgid "No document opened." +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Ягон ҳуҷҷат кушода нест." + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "" + +#: part/certificateviewer.cpp:50 +#, kde-format +msgid "Export…" +msgstr "" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "" + +#: part/colormodemenu.cpp:21 +#, kde-format +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "" + +#: part/colormodemenu.cpp:41 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "" + +#: part/colormodemenu.cpp:42 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, fuzzy, kde-format +#| msgid "Title: %1" +msgid "Green" +msgstr "Сарлавҳа: %1" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "" + +#: part/dlgaccessibility.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "" + +#: part/dlgaccessibility.cpp:87 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "" + +#: part/dlgaccessibility.cpp:99 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "" + +#: part/dlgannotations.cpp:25 +#, fuzzy, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Интихоботи экрани пурра" + +#: part/dlgannotations.cpp:26 +#, fuzzy, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Интихоботи экрани пурра" + +#: part/dlgannotations.cpp:28 +#, fuzzy, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Интихоботи экрани пурра" + +#: part/dlgannotations.cpp:34 +#, kde-format +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" + +#: part/dlgannotations.cpp:48 +#, fuzzy, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

    Quick Annotation Tools

    " +msgstr "Интихоботи экрани пурра" + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "" + +#: part/dlgeditor.cpp:31 +#, fuzzy, kde-format +#| msgid "Title: %1" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Сарлавҳа: %1" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
    \n" +"You can also put few placeholders:\n" +"
      \n" +"
    • %f - the file name
    • \n" +"
    • %l - the line of the file to be reached
    • \n" +"
    • %c - the column of the file to be reached
    • \n" +"
    \n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "" + +#: part/dlggeneral.cpp:41 +#, fuzzy, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "Намоиши хатҳои &чархак" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "" + +#: part/dlggeneral.cpp:92 +#, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "" + +#: part/dlggeneral.cpp:148 +#, fuzzy, kde-format +#| msgid "No document opened." +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "Ягон ҳуҷҷат кушода нест." + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "" + +#: part/dlggeneral.cpp:220 +#, kde-format +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "" + +#: part/dlggeneral.cpp:228 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "" + +#: part/dlggeneral.cpp:233 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "Ба васеъгии саҳифа" + +#: part/dlggeneral.cpp:234 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "Ба саҳифа гузаштан" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "" + +#: part/dlgperformance.cpp:28 +#, fuzzy, kde-format +#| msgid "&Page:" +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "&Саҳифа:" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "" + +#: part/dlgperformance.cpp:38 +#, fuzzy, kde-format +#| msgid "Title: %1" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "Сарлавҳа: %1" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "" + +#: part/dlgperformance.cpp:56 +#, fuzzy, kde-format +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "Интихоботи экрани пурра" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" + +#: part/dlgpresentation.cpp:38 +#, kde-format +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] "" +msgstr[1] "" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "" + +#: part/dlgpresentation.cpp:63 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "" + +#: part/dlgpresentation.cpp:121 +#, fuzzy, kde-format +#| msgid "No document opened." +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Ягон ҳуҷҷат кушода нест." + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

    Drawing Tools

    " +msgstr "" + +#: part/dlgpresentation.cpp:171 +#, fuzzy, kde-format +#| msgid "No document opened." +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Ягон ҳуҷҷат кушода нест." + +#: part/dlgpresentation.cpp:172 +#, fuzzy, kde-format +#| msgid "No document opened." +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Ягон ҳуҷҷат кушода нест." + +#: part/dlgpresentation.cpp:178 +#, fuzzy, kde-format +#| msgid "Title: %1" +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "Сарлавҳа: %1" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgid "&Name:" +msgstr "Саҳифа: %1" + +#: part/editannottooldialog.cpp:69 +#, fuzzy, kde-format +#| msgid "Page %1" +msgid "&Type:" +msgstr "Саҳифа %1" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "" + +#: part/editdrawingtooldialog.cpp:58 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgid "&Pen Width:" +msgstr "Ба васеъгии саҳифа" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "" + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "" + +#: part/embeddedfilesdialog.cpp:48 +#, fuzzy, kde-format +#| msgid "Title: %1" +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Сарлавҳа: %1" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "" + +#: part/embeddedfilesdialog.cpp:70 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgctxt "@title:column" +msgid "Name" +msgstr "Саҳифа: %1" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "" + +#: part/embeddedfilesdialog.cpp:72 +#, fuzzy, kde-format +#| msgid "&Page:" +msgctxt "@title:column" +msgid "Size" +msgstr "&Саҳифа:" + +#: part/embeddedfilesdialog.cpp:73 +#, fuzzy, kde-format +#| msgid "Title: %1" +msgctxt "@title:column" +msgid "Created" +msgstr "Сарлавҳа: %1" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "" + +#: part/embeddedfilesdialog.cpp:154 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "" + +#: part/embeddedfilesdialog.cpp:155 +#, kde-format +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "" + +#: part/findbar.cpp:54 +#, fuzzy, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Ба саҳифа гузаштан" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "" + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "" + +#: part/ktreeviewsearchline.cpp:283 +#, fuzzy, kde-format +msgid "Search Options" +msgstr "Интихоботи экрани пурра" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "" + +#: part/pageview.cpp:563 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgid "Fit &Width" +msgstr "Ба васеъгии саҳифа" + +#: part/pageview.cpp:567 +#, fuzzy, kde-format +msgid "Fit &Page" +msgstr "Ба саҳифа гузаштан" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "" + +#: part/pageview.cpp:575 +#, fuzzy, kde-format +#| msgid "Fit to &Page" +msgid "Fit Wi&ndow to Page" +msgstr "&Ба саҳифа гузаштан" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "" + +#: part/pageview.cpp:594 +#, fuzzy, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "Ба саҳифа гузаштан" + +#: part/pageview.cpp:595 +#, fuzzy, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "Ба саҳифа гузаштан" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "" + +#: part/pageview.cpp:717 +#, fuzzy, kde-format +#| msgid "No document opened." +msgid "Speak Whole Document" +msgstr "Ягон ҳуҷҷат кушода нест." + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "" + +#: part/pageview.cpp:773 +#, fuzzy, kde-format +msgid "Show Forms" +msgstr "Намоиши хатҳои &чархак" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] "" +msgstr[1] "" + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "" +msgstr[1] "" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "" + +#: part/pageview.cpp:2863 +#, kde-format +msgid "Image (%1 × %2 pixels)" +msgstr "" + +#: part/pageview.cpp:2865 +#, kde-format +msgid "Save to File…" +msgstr "" + +#: part/pageview.cpp:2885 +#, kde-format +msgid "Image [%1 × %2] copied to clipboard." +msgstr "" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "" + +#: part/pageview.cpp:2901 +#, kde-format +msgid "Image [%1 × %2] saved to %3 file." +msgstr "" + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "" + +#: part/pageview.cpp:3062 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go to '%1'" +msgstr "Ба саҳифа гузаштан" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "Ба васеъгии саҳифа" + +#: part/pageview.cpp:4084 +#, fuzzy, kde-format +msgid "Fit Page" +msgstr "Ба саҳифа гузаштан" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "" + +#: part/pageview.cpp:4107 +#, kde-format +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "" + +#: part/pageview.cpp:4404 +#, kde-format +msgid "Configure Web Shortcuts…" +msgstr "" + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "" + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "" + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "" + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" + +#: part/pageview.cpp:5188 +#, kde-format +msgid "No valid certificates" +msgstr "" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, kde-format +msgid "Open Certificate Manager" +msgstr "" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
    Launch Certificate Manager " +"to import or manage certificates
    For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, kde-format +msgid "No certificates found" +msgstr "" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
    For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgctxt "NAME OF TRANSLATORS" +#| msgid "Your names" +msgid "Author name" +msgstr "" +"НПО \"Имкониятҳои ҷавонон\" ва Khujand Computer Technologies, Inc. USA, " +"Роҷер Ковакс, Виктор Ибрагимов, Марина Колючева" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name for the annotation:" +msgstr "" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Custom annotation name:" +msgstr "" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "&Хатчӯбҳо" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, fuzzy, kde-format +msgid "Thumbnails" +msgstr "Миниатюраҳо илова шудаанд" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
    Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "Ба саҳифаи қаблии санадот мегузаронад" + +#: part/part.cpp:674 +#, fuzzy, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "Ба саҳифа гузаштан" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "Ба саҳифаи навбатии санадот мегузаронад" + +#: part/part.cpp:687 +#, fuzzy, kde-format +#| msgid "Moves to the next page of the document" +msgid "Beginning of the document" +msgstr "Ба саҳифаи навбатии санадот мегузаронад" + +#: part/part.cpp:688 +#, fuzzy, kde-format +#| msgid "Moves to the next page of the document" +msgid "Moves to the beginning of the document" +msgstr "Ба саҳифаи навбатии санадот мегузаронад" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "" + +#: part/part.cpp:693 +#, fuzzy, kde-format +#| msgid "Moves to the next page of the document" +msgid "Moves to the end of the document" +msgstr "Ба саҳифаи навбатии санадот мегузаронад" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "" + +#: part/part.cpp:713 +#, fuzzy, kde-format +#| msgid "Moves to the previous page of the document" +msgid "Go to the previous bookmark" +msgstr "Ба саҳифаи қаблии санадот мегузаронад" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "" + +#: part/part.cpp:748 +#, kde-format +msgid "Configure Okular…" +msgstr "" + +#: part/part.cpp:751 +#, kde-format +msgid "Configure Viewer…" +msgstr "" + +#: part/part.cpp:757 +#, kde-format +msgid "Configure Viewer Backends…" +msgstr "" + +#: part/part.cpp:759 +#, kde-format +msgid "Configure Backends…" +msgstr "" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "" + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "" + +#: part/part.cpp:813 +#, fuzzy, kde-format +#| msgid "Pages" +msgid "Page Number" +msgstr "Саҳифа" + +#: part/part.cpp:817 +#, kde-format +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "" + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "" + +#: part/part.cpp:871 +#, fuzzy, kde-format +msgid "Show S&idebar" +msgstr "Намоиши хатҳои &чархак" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "" + +#: part/part.cpp:945 +#, kde-format +msgid "&Import PostScript as PDF…" +msgstr "" + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "" + +#: part/part.cpp:962 +#, fuzzy, kde-format +msgid "Configure Annotations…" +msgstr "Интихоботи экрани пурра" + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" + +#: part/part.cpp:1123 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Document can't be saved" +msgstr "Боз кардани санадот" + +#: part/part.cpp:1152 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Could not open '%1' (%2) " +msgstr "Ба саҳифа гузаштан" + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "" + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "" + +#: part/part.cpp:1357 +#, kde-format +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "" + +#: part/part.cpp:1489 +#, fuzzy, kde-format +#| msgid "Please insert the password to read the document:" +msgid "Please enter the password to read the document:" +msgstr "Ба саҳифаи охирони санадот мегузаронад:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "" + +#: part/part.cpp:1502 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Document Password" +msgstr "Боз кардани санадот" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "" + +#: part/part.cpp:1830 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Could not open %1. %2" +msgstr "Ба саҳифа гузаштан" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "" + +#: part/part.cpp:1883 +#, fuzzy, kde-format +#| msgid "No document opened." +msgid "Close Document" +msgstr "Ягон ҳуҷҷат кушода нест." + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" + +#: part/part.cpp:2113 part/part.cpp:2131 +#, fuzzy, kde-format +#| msgid "Moves to the next page of the document" +msgid "Reloading the document…" +msgstr "Ба саҳифаи навбатии санадот мегузаронад" + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Ба саҳифа гузаштан" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "&Саҳифа:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
    In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "" + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "" + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "" + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" + +#: part/part.cpp:3158 +#, kde-format +msgid "Expand Whole Section" +msgstr "" + +#: part/part.cpp:3159 +#, kde-format +msgid "Collapse Whole Section" +msgstr "" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "" + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "Ягон хатчӯб нест" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&Гузаштан" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, fuzzy, kde-format +msgid "Annotation Toolbar" +msgstr "Интихоботи экрани пурра" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, fuzzy, kde-format +msgid "Quick Annotation Toolbar" +msgstr "Интихоботи экрани пурра" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "" + +#: part/preferencesdialog.cpp:50 +#, fuzzy, kde-format +msgid "Annotation Options" +msgstr "Интихоботи экрани пурра" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, fuzzy, kde-format +msgid "Editor Options" +msgstr "Интихоботи экрани пурра" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "" + +#: part/presentationwidget.cpp:233 +#, fuzzy, kde-format +#| msgid "Title: %1" +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "Сарлавҳа: %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Сарлавҳа: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Саҳифа: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "" + +#: part/presentationwidget.cpp:521 +#, fuzzy, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "Саҳифа" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "" + +#: part/propertiesdialog.cpp:145 +#, kde-format +msgid "Reading font information…" +msgstr "" + +#: part/propertiesdialog.cpp:158 +#, fuzzy, kde-format +#| msgid "&Page:" +msgid "&Page Sizes" +msgstr "&Саҳифа:" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "" + +#: part/propertiesdialog.cpp:273 +#, fuzzy, kde-format +#| msgid "Page %1" +msgid "Type 1" +msgstr "Саҳифа %1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "" + +#: part/propertiesdialog.cpp:391 +#, fuzzy, kde-format +#| msgid "Title: %1" +msgid "Embedded: %1" +msgstr "Сарлавҳа: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "" + +#: part/propertiesdialog.cpp:498 +#, fuzzy, kde-format +msgid "Page" +msgstr "Саҳифа:" + +#: part/propertiesdialog.cpp:501 +#, fuzzy, kde-format +#| msgid "&Page:" +msgid "Size" +msgstr "&Саҳифа:" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "" + +#: part/revisionviewer.cpp:56 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Could not save file %1." +msgstr "Ба саҳифа гузаштан" + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "" + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "" + +#: part/searchwidget.cpp:72 +#, fuzzy, kde-format +msgid "Filter Options" +msgstr "Интихоботи экрани пурра" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, kde-format +msgid "Certificates" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, kde-format +msgid "Only QES certificates" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, fuzzy, kde-format +msgid "optional" +msgstr "Интихоботи экрани пурра" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, kde-format +msgid "Background:" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, fuzzy, kde-format +#| msgid "No document opened." +msgid "Recent backgrounds:" +msgstr "Ягон ҳуҷҷат кушода нест." + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

    No annotations

    To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
    " +msgstr "" + +#: part/side_reviews.cpp:142 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Group by Page" +msgstr "Ба саҳифа гузаштан" + +#: part/side_reviews.cpp:147 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Group by Author" +msgstr "Ба саҳифа гузаштан" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "" + +#: part/signaturepartutils.cpp:180 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Саҳифа: %1" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "" + +#: part/signaturepartutils.cpp:244 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Enter document password" +msgstr "Боз кардани санадот" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:83 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Document Version" +msgstr "Боз кардани санадот" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:95 +#, kde-format +msgid "View Certificate…" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:97 +#, kde-format +msgid "View in Certificate Manager" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "" + +#: part/videowidget.cpp:146 +#, fuzzy, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Саҳифа" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, kde-format +msgid "&Edit…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "" + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "" + +#: shell/shell.cpp:207 +#, fuzzy, kde-format +#| msgid "Unable to find kpdf part." +msgid "Unable to find the Okular component: %1" +msgstr "Наметавонам қисмати kpdf ёбам." + +#: shell/shell.cpp:250 +#, fuzzy, kde-format +msgid "Sidebar" +msgstr "Намоиши хатҳои &чархак" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" + +#: shell/shell.cpp:315 +#, fuzzy, kde-format +#| msgid "Unable to find kpdf part." +msgid "Unable to find the Okular component." +msgstr "Наметавонам қисмати kpdf ёбам." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" + +#: shell/shell.cpp:582 +#, fuzzy, kde-format +msgid "Next Tab" +msgstr "Ба саҳифа гузаштан" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "" + +#: shell/shell.cpp:603 +#, fuzzy, kde-format +msgid "Lock Sidebar" +msgstr "Намоиши хатҳои &чархак" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "" + +#: shell/shell.cpp:708 +#, fuzzy, kde-format +#| msgid "No document opened." +msgid "Open Document" +msgstr "Ягон ҳуҷҷат кушода нест." + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "" + +#: shell/welcomescreen.cpp:137 +#, fuzzy, kde-format +#| msgid "No document opened." +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "Ягон ҳуҷҷат кушода нест." + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, fuzzy, kde-format +#| msgid "No document opened." +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Ягон ҳуҷҷат кушода нест." + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, fuzzy, kde-format +#| msgid "No document opened." +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Ягон ҳуҷҷат кушода нест." + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "" + +#, fuzzy +#~| msgid "Go to Page" +#~ msgid "Go To Page..." +#~ msgstr "Ба саҳифа гузаштан" + +#, fuzzy +#~| msgid "Fit Width" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "Ба васеъгии саҳифа" + +#, fuzzy +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "Ба саҳифа гузаштан" + +#, fuzzy +#~ msgid "Show Sidebar" +#~ msgstr "Намоиши хатҳои &чархак" + +#~ msgid "Remove Bookmarks" +#~ msgstr "Тоза кардани хатчӯбҳо" + +#, fuzzy +#~ msgid "View Options" +#~ msgstr "Интихоботи экрани пурра" + +#, fuzzy +#~| msgid "Title: %1" +#~ msgid "Created: %1" +#~ msgstr "Сарлавҳа: %1" + +#, fuzzy +#~| msgid "Title: %1" +#~ msgid "Style" +#~ msgstr "Сарлавҳа: %1" + +#, fuzzy +#~| msgid "&Page:" +#~ msgid "&Size:" +#~ msgstr "&Саҳифа:" + +#, fuzzy +#~| msgid "Pages: %1" +#~ msgid "Name: %1" +#~ msgstr "Саҳифа: %1" + +#, fuzzy +#~| msgid "&Page:" +#~ msgid "Size: %1" +#~ msgstr "&Саҳифа:" + +#, fuzzy +#~| msgid "No document opened." +#~ msgid "Current maintainer" +#~ msgstr "Ягон ҳуҷҷат кушода нест." + +#~ msgid "No document opened." +#~ msgstr "Ягон ҳуҷҷат кушода нест." + +#~ msgid "Moves to the first page of the document" +#~ msgstr "Ба саҳифаи аввали санадот мегузаронад" + +#~ msgid "Moves to the last page of the document" +#~ msgstr "Ба саҳифаи охирони санадот мегузаронад" + +#, fuzzy +#~ msgid "Pages:" +#~ msgstr "Саҳифа:" + +#, fuzzy +#~| msgid "Moves to the next page of the document" +#~ msgid "Could not load the necessary plugin to view the document." +#~ msgstr "Ба саҳифаи навбатии санадот мегузаронад" + +#, fuzzy +#~| msgid "Page %1" +#~ msgid "page %1" +#~ msgstr "Саҳифа %1" + +#, fuzzy +#~ msgid "flags:" +#~ msgstr "Саҳифа:" + +#, fuzzy +#~ msgid "Fit to Page &Width" +#~ msgstr "Баробар кардан бо &васеъии саҳифа" + +#~ msgid "&Two Pages" +#~ msgstr "&Ду саҳифаҳо" + +#, fuzzy +#~ msgid "kpdf, a kde pdf viewer based on poppler" +#~ msgstr "kpdf, барномаи намоиши pdf барои kde, ки дар xpdf асос ёфтааст" + +#~ msgid "KPDF::Part" +#~ msgstr "KPDF::Part" diff --git a/po/th/okular.po b/po/th/okular.po new file mode 100644 index 0000000..3d48e8f --- /dev/null +++ b/po/th/okular.po @@ -0,0 +1,6876 @@ +# translation of okular.po to Thai +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Thanomsub Noppaburana , 2008, 2009, 2010. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-12-17 21:55+0700\n" +"Last-Translator: Thanomsub Noppaburana \n" +"Language-Team: Thai \n" +"Language: th\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Lokalize 1.1\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ถนอมทรัพย์ นพบูรณ์" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "donga.nb@gmail.com" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "โอกูลาร์" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "โอกูลาร์ (Okular) - เครื่องมือสำหรับแสดงเอกสารแบบครอบจักรวาล" + +#: aboutdata.h:23 +#, fuzzy, kde-format +#| msgid "" +#| "(C) 2002 Wilco Greven, Christophe Devriese\n" +#| "(C) 2004-2005 Enrico Ros\n" +#| "(C) 2005 Piotr Szymanski\n" +#| "(C) 2004-2009 Albert Astals Cid\n" +#| "(C) 2006-2009 Pino Toscano" +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"สงวนลิขสิทธิ์ (C) 2002 Wilco Greven, Christophe Devriese\n" +"สงวนลิขสิทธิ์ (C) 2004-2005 Enrico Ros\n" +"สงวนลิขสิทธิ์ (C) 2005 Piotr Szymanski\n" +"สงวนลิขสิทธิ์ (C) 2004-2009 Albert Astals Cid\n" +"สงวนลิขสิทธิ์ (C) 2006-2009 Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "ผู้ดูแลดั้งเดิม" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, fuzzy, kde-format +#| msgid "Lots of framework work, ODT and FictionBook backends" +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "ทำงานเกี่ยวกับเฟรมเวิร์กจำนวนมาก, ส่วนแบ็กเอนด์จัดการ ODT และ FictionBook" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, fuzzy, kde-format +#| msgid "KPDF developer" +msgid "Developer" +msgstr "ผู้พัฒนา KPDF" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymanski" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "ผู้สร้างโอกูลาร์ (Okular) จากโค้ดเดิมของโปรแกรม KPDF" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "Enrico Ros" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "ผู้พัฒนา KPDF" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "Eugene Trounev" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "งานอาร์ทเวิร์กของหมายเหตุประกอบ" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "" + +#: aboutdata.h:37 +#, fuzzy, kde-format +#| msgid "&Text Selection Tool" +msgid "Table selection tool" +msgstr "เครื่องมือเลือก&ข้อความ" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "" + +#: aboutdata.h:38 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgid "Annotation improvements" +msgstr "คุณสมบัติหมายเหตุประกอบ" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "ไปยังหน้าที่ %1" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "เปิดแฟ้มภายนอก" + +#: core/action.cpp:197 +#, fuzzy, kde-format +#| msgid "Execute '%1'..." +msgid "Execute '%1'…" +msgstr "ประมวลผล '%1'..." + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "หน้าแรก" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "หน้าก่อน" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "หน้าถัดไป" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "หน้าสุดท้าย" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "ย้อนกลับ" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "ถัดไป" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "ออก" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "เริ่มการนำเสนอ" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "จบการนำเสนอ" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go To Page…" +msgstr "ไปยังหน้าที่" + +#: core/action.cpp:365 +#, fuzzy, kde-format +#| msgid "Play sound..." +msgid "Play sound…" +msgstr "เล่นเสียง..." + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "สคริปต์ภาษาจาวาสคริปต์" + +#: core/action.cpp:483 +#, fuzzy, kde-format +#| msgid "Play movie..." +msgid "Play movie…" +msgstr "เล่นภาพยนตร์..." + +#: core/action.cpp:554 +#, fuzzy, kde-format +#| msgid "Play movie..." +msgid "Play movie" +msgstr "เล่นภาพยนตร์..." + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "" + +#: core/action.cpp:558 +#, fuzzy, kde-format +#| msgid "Play movie..." +msgid "Pause movie" +msgstr "เล่นภาพยนตร์..." + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "การเลือกใช้แบ็กเอนด์" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
    %1 (%2).

    Please select which one to use:
    " +msgstr "" +"พบแบ็กเอนด์มากกว่าหนึ่งตัว สำหรับจัดการแฟ้มประเภท MIME:
    %1 (%2)

    โปรดเลือกตัวที่คุณต้องการใช้งาน:
    " + +#: core/document.cpp:200 +#, fuzzy, kde-format +#| msgid "Go to page %1" +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "ไปยังหน้าที่ %1" + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "" + +#: core/document.cpp:246 +#, fuzzy, kde-format +#| msgid "%1 x %2 in" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 x %2 นิ้ว" + +#: core/document.cpp:248 +#, fuzzy, kde-format +#| msgid "%1 x %2 mm" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 x %2 ม.ม." + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "ไม่พบส่วนเสริมที่จะใช้ในการจัดการกับเอกสารที่ส่งผ่านมาให้" + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "การนำเสนอ" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"เอกสารกำลังพยายามเรียกประมวลผลโปรแกรมภายนอก เพื่อความปลอดภัยของระบบคุณ โอกูลาร์ " +"จะไม่อนุญาตให้มีการประมวลผล" + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "ไม่พบโปรแกรมสำหรับใช้เปิดแฟ้มประเภท %1" + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "ไม่สามารถเปิดแฟ้มชั่วคราวได้" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "การแปลงการพิมพ์ทำงานล้มเหลว" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "โพรเซสการพิมพ์ทำงานล้มเหลว" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "ไม่สามารถเริ่มโพรเซสการพิมพ์ได้" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "การพิมพ์ไปยังแฟ้มทำงานล้มเหลว" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "เครื่องพิมพ์อยู่ในสถานะที่ใช้งานไม่ได้" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "ไม่สามารถค้นพบแฟ้มที่จะใช้พิมพ์" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "ไม่มีแฟ้มใดที่จะใช้ในการพิมพ์" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"ไม่สามารถค้นพบแฟ้มโปรแกรมแบบไบนารีที่เหมาะสมสำหรับใช้ในการพิมพ์ โปรดตรวจสอบว่าโปรแกรม " +"lpr ของแพกเกจ CUPS ได้ถูกติดตั้งไว้อย่างถูกต้องแล้วหรือไม่" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, fuzzy, kde-format +#| msgid "Could not open \"%1\" for writing. File was not saved." +msgid "Could not open '%1'. File does not exist" +msgstr "แฟ้มไม่ถูกบันทึก เนื่องจากไม่สามารถเปิดแฟ้ม \"%1\" เพื่อเขียนได้ " + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "ชื่อเรื่อง" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "หัวข้อเรื่อง" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "คำอธิบาย" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "ผู้เขียน" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "ผู้สร้าง" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "ผู้ผลิต" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "ลิขสิทธิ์" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "จำนวนหน้า" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "สร้างเมื่อ" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "แก้ไขเมื่อ" + +#: core/document.cpp:6032 +#, fuzzy, kde-format +#| msgid "Mime Type" +msgid "MIME Type" +msgstr "ประเภท Mime" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "หมวดหมู่" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "คำค้น/คำสำคัญ" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "พาธของแฟ้ม" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "ขนาดแฟ้ม" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "ขนาดกระดาษ" + +#: core/documentcommands.cpp:62 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "หมายเหตุประกอบ %1 แห่ง" + +#: core/documentcommands.cpp:108 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "การนำเสนอ" + +#: core/documentcommands.cpp:155 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "คุณสมบัติหมายเหตุประกอบ" + +#: core/documentcommands.cpp:190 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Text Annotation" +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "ข้อความหมายเหตุประกอบ" + +#: core/documentcommands.cpp:263 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "หมายเหตุประกอบ %1 แห่ง" + +#: core/documentcommands.cpp:333 +#, fuzzy, kde-format +#| msgid "Select text" +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "เลือกข้อความ" + +#: core/documentcommands.cpp:398 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "คุณสมบัติหมายเหตุประกอบ" + +#: core/documentcommands.cpp:447 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "คุณสมบัติหมายเหตุประกอบ" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "" + +#: core/generator.cpp:790 +#, fuzzy, kde-format +#| msgid "Plain &Text..." +msgid "Plain &Text…" +msgstr "&ข้อความธรรมดา..." + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "เอกสาร PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "เอกสารข้อความแบบ OpenDocument" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "เอกสาร HTML" + +#: core/printoptionswidget.cpp:19 +#, fuzzy, kde-format +#| msgid "Editor Options" +msgid "Print Options" +msgstr "ตัวเลือกของเครื่องมือแก้ไข" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#: core/printoptionswidget.cpp:25 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgid "Scale mode:" +msgstr "โหมดสี:" + +#: core/script/js_app.cpp:206 +#, fuzzy, kde-format +#| msgid "Close this message" +msgid "Do not show this message again" +msgstr "ปิดข้อความนี้" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, fuzzy, kde-format +#| msgid "No description available." +msgid "Not Available" +msgstr "ไม่มีคำอธิบายอยู่" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "" + +#: core/signatureutils.cpp:504 +#, fuzzy, kde-kuit-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "ไม่สามารถบันทึกแฟ้มไว้ใน '%1' ได้ ลองบันทึกมันไว้ในที่อื่น ๆ" + +#: core/signatureutils.cpp:506 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown signing error" +msgstr "แฟ้มที่ไม่รู้จัก" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "ต้นฉบับ: %1" + +#: core/textdocumentsettings.cpp:34 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgid "&Default Font:" +msgstr "รูปแบบการเปลี่ยนหน้าปริยาย:" + +#: gui/certificatemodel.cpp:39 +#, fuzzy, kde-format +#| msgctxt "A document format, Okular-specific" +#| msgid "Document Archive" +msgid "Version" +msgstr "แฟ้มจัดเก็บของเอกสาร" + +#: gui/certificatemodel.cpp:41 +#, fuzzy, kde-format +#| msgid "Page Size" +msgid "Serial Number" +msgstr "ขนาดกระดาษ" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, fuzzy, kde-format +#| msgid "Expired" +msgid "Expires On" +msgstr "หมดอายุ" + +#: gui/certificatemodel.cpp:49 +#, fuzzy, kde-format +#| msgid "Subject" +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "หัวข้อเรื่อง" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "" + +#: gui/certificatemodel.cpp:53 +#, fuzzy, kde-format +#| msgid "Memory Usage" +msgid "Key Usage" +msgstr "การใช้งานหน่วยความจำ" + +#: gui/certificatemodel.cpp:72 +#, fuzzy, kde-format +#| msgid "%1:" +msgid "V%1" +msgstr "%1:" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "" + +#: gui/certificatemodel.cpp:146 +#, fuzzy, kde-format +#| msgid "&Properties" +msgid "Property" +msgstr "คุณ&สมบัติ" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, fuzzy, kde-format +#| msgid "&Open Pop-up Note" +msgid "Pop-up Note" +msgstr "เ&ปิดบันทึกย่อแบบผุด" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, fuzzy, kde-format +#| msgid "Overwrite" +msgid "Typewriter" +msgstr "เขียนทับ" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "บันทึกย่อในบรรทัด" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +#| msgid "For Comment" +msgid "Arrow with Comment" +msgstr "สำหรับให้วิจารณ์" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "" + +#: gui/guiutils.cpp:59 +#, fuzzy, kde-format +#| msgid "Line Properties" +msgid "Straight Line with Comment" +msgstr "คุณสมบัติบรรทัด" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, fuzzy, kde-format +#| msgid "Straight Yellow Line" +msgid "Straight Line" +msgstr "เส้นตรงสีเหลือง" + +#: gui/guiutils.cpp:63 +#, fuzzy, kde-format +#| msgid "For Comment" +msgid "Polygon with Comment" +msgstr "สำหรับให้วิจารณ์" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, fuzzy, kde-format +#| msgid "Blue Polygon" +msgid "Polygon" +msgstr "ภาพหลายเหลี่ยมสีฟ้า" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgid "Strike out" +msgid "Rectangle with Comment" +msgstr "ขีดฆ่า" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "สี่เหลี่ยม" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgid "Underline" +msgid "Ellipse with Comment" +msgstr "ขีดเส้นใต้" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "วงมน" + +#: gui/guiutils.cpp:83 +#, fuzzy, kde-format +#| msgid "Highlight" +msgid "Highlight with Comment" +msgstr "เน้น" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "เน้น" + +#: gui/guiutils.cpp:87 +#, fuzzy, kde-format +#| msgid "Squiggly" +msgid "Squiggle with Comment" +msgstr "ตัวหวัด" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, fuzzy, kde-format +#| msgid "Squiggly" +msgid "Squiggle" +msgstr "ตัวหวัด" + +#: gui/guiutils.cpp:91 +#, fuzzy, kde-format +#| msgid "Underline" +msgid "Underline with Comment" +msgstr "ขีดเส้นใต้" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "ขีดเส้นใต้" + +#: gui/guiutils.cpp:95 +#, fuzzy, kde-format +#| msgid "Strike out" +msgid "Strike Out with Comment" +msgstr "ขีดฆ่า" + +#: gui/guiutils.cpp:95 +#, fuzzy, kde-format +#| msgid "Strike out" +msgid "Strike Out" +msgstr "ขีดฆ่า" + +#: gui/guiutils.cpp:102 +#, fuzzy, kde-format +#| msgid "Strike out" +msgid "Stamp with Comment" +msgstr "ขีดฆ่า" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "ตราประทับ" + +#: gui/guiutils.cpp:106 +#, fuzzy, kde-format +#| msgid "Line Properties" +msgid "Freehand Line with Comment" +msgstr "คุณสมบัติบรรทัด" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, fuzzy, kde-format +#| msgid "Green Freehand Line" +msgid "Freehand Line" +msgstr "เส้นวาดอิสระสีเขียว" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "สัญลักษณ์ Caret" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "แฟ้มแนบ" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "เสียง" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "ภาพยนตร์" + +#: gui/guiutils.cpp:126 +#, fuzzy, kde-format +#| msgid "Screen:" +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "จอภาพ:" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation" +msgstr "หมายเหตุประกอบ %1 แห่ง" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "ไม่ทราบ" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "ผู้เขียน: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "คุณต้องการจะบันทึก %1 ไปยังที่ใด ?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "แฟ้มไม่ถูกบันทึก เนื่องจากไม่สามารถเปิดแฟ้ม \"%1\" เพื่อเขียนได้ " + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "" + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "" + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "" + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "" + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "" + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "" + +#: gui/signatureguiutils.cpp:60 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Certificate is Trusted." +msgstr "ปรับแต่งเครื่องมือแสดง..." + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "" + +#: gui/signatureguiutils.cpp:64 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Certificate issuer is unknown." +msgstr "ปรับแต่งเครื่องมือแสดง..." + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "" + +#: gui/signatureguiutils.cpp:68 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Certificate has Expired." +msgstr "ปรับแต่งเครื่องมือแสดง..." + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "" + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "" + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "" + +#: gui/signatureguiutils.cpp:96 +#, fuzzy, kde-format +#| msgid "Unknown font" +msgid "Unknown Algorithm" +msgstr "แบบอักษรที่ไม่รู้จัก" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown Type" +msgstr "แฟ้มที่ไม่รู้จัก" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "" + +#: gui/signatureguiutils.cpp:135 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Sign Certificate" +msgstr "ปรับแต่งเครื่องมือแสดง..." + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr "" + +#: gui/signatureguiutils.cpp:165 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "The document has not been modified since it was signed." +msgstr "ไม่ได้รับการอนุญาตให้ทำการพิมพ์เอกสารนี้" + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "" + +#: gui/signatureguiutils.cpp:208 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "ไม่ได้รับการอนุญาตให้ทำการพิมพ์เอกสารนี้" + +#: gui/signatureguiutils.cpp:211 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "This document is digitally signed." +msgstr "ไม่ได้รับการอนุญาตให้ทำการพิมพ์เอกสารนี้" + +#: gui/signatureguiutils.cpp:213 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "ไม่ได้รับการอนุญาตให้ทำการพิมพ์เอกสารนี้" + +#: gui/signatureguiutils.cpp:216 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "ไม่ได้รับการอนุญาตให้ทำการพิมพ์เอกสารนี้" + +#: gui/signaturemodel.cpp:141 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "คุณสมบัติ Caret" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "" + +#: gui/signaturemodel.cpp:172 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgid "Reason: %1" +msgstr "จำนวนหน้า: %1" + +#: gui/signaturemodel.cpp:177 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Location: %1" +msgstr "หมายเหตุประกอบ %1 แห่ง" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "" + +#: gui/signaturemodel.cpp:193 +#, fuzzy, kde-format +#| msgctxt "Unknown author" +#| msgid "Unknown" +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "ไม่ทราบ" + +#: gui/signaturemodel.cpp:195 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "คุณสมบัติ Caret" + +#: gui/signaturemodel.cpp:201 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgid "Signature Type: %1" +msgstr "คุณสมบัติ Caret" + +#: part/annotationactionhandler.cpp:148 +#, fuzzy, kde-format +#| msgid "Reloa&d" +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "เ&รียกใหม่" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "" + +#: part/annotationactionhandler.cpp:150 +#, fuzzy, kde-format +#| msgid "Allow" +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "อนุญาต" + +#: part/annotationactionhandler.cpp:151 +#, fuzzy, kde-format +#| msgid "Screen:" +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "จอภาพ:" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "พอดีกับความกว้าง" + +#: part/annotationactionhandler.cpp:252 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1:" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:308 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "คุณสมบัติหมายเหตุประกอบ" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "" + +#: part/annotationactionhandler.cpp:314 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "หมายเหตุประกอบ %1 แห่ง" + +#: part/annotationactionhandler.cpp:316 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "หมายเหตุประกอบ %1 แห่ง" + +#: part/annotationactionhandler.cpp:318 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "หมายเหตุประกอบ %1 แห่ง" + +#: part/annotationactionhandler.cpp:322 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "หมายเหตุประกอบ %1 แห่ง" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "" + +#: part/annotationactionhandler.cpp:328 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "หมายเหตุประกอบ %1 แห่ง" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" + +#: part/annotationactionhandler.cpp:341 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "คุณสมบัติหมายเหตุประกอบ" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "" + +#: part/annotationactionhandler.cpp:432 +#, fuzzy, kde-format +#| msgid "&Color:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "&สี:" + +#: part/annotationactionhandler.cpp:434 +#, fuzzy, kde-format +#| msgid "&Color:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "&สี:" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "" + +#: part/annotationactionhandler.cpp:499 +#, fuzzy, kde-format +#| msgid "&Selection Tool" +msgctxt "@title:window" +msgid "Select color" +msgstr "เครื่องมือเ&ลือก" + +#: part/annotationactionhandler.cpp:552 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "&Annotations" +msgstr "หมายเหตุประกอบ %1 แห่ง" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "" + +#: part/annotationactionhandler.cpp:554 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "การนำเสนอ" + +#: part/annotationactionhandler.cpp:557 +#, fuzzy, kde-format +#| msgid "Highlight" +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "เน้น" + +#: part/annotationactionhandler.cpp:558 +#, fuzzy, kde-format +#| msgid "Underline" +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "ขีดเส้นใต้" + +#: part/annotationactionhandler.cpp:559 +#, fuzzy, kde-format +#| msgid "Squiggly" +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "ตัวหวัด" + +#: part/annotationactionhandler.cpp:560 +#, fuzzy, kde-format +#| msgid "Strike out" +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "ขีดฆ่า" + +#: part/annotationactionhandler.cpp:562 +#, fuzzy, kde-format +#| msgid "Overwrite" +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "เขียนทับ" + +#: part/annotationactionhandler.cpp:563 +#, fuzzy, kde-format +#| msgid "Inline Note" +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "บันทึกย่อในบรรทัด" + +#: part/annotationactionhandler.cpp:564 +#, fuzzy, kde-format +#| msgid "&Open Pop-up Note" +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "เ&ปิดบันทึกย่อแบบผุด" + +#: part/annotationactionhandler.cpp:565 +#, fuzzy, kde-format +#| msgid "Green Freehand Line" +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "เส้นวาดอิสระสีเขียว" + +#: part/annotationactionhandler.cpp:567 +#, fuzzy, kde-format +#| msgid "Straight Yellow Line" +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "เส้นตรงสีเหลือง" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "" + +#: part/annotationactionhandler.cpp:569 +#, fuzzy, kde-format +#| msgid "Rectangle" +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "สี่เหลี่ยม" + +#: part/annotationactionhandler.cpp:570 +#, fuzzy, kde-format +#| msgid "Ellipse" +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "วงมน" + +#: part/annotationactionhandler.cpp:571 +#, fuzzy, kde-format +#| msgid "Blue Polygon" +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "ภาพหลายเหลี่ยมสีฟ้า" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "" + +#: part/annotationactionhandler.cpp:618 +#, fuzzy, kde-format +#| msgid "Stamp" +msgctxt "@action" +msgid "Stamp" +msgstr "ตราประทับ" + +#: part/annotationactionhandler.cpp:638 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "หมายเหตุประกอบ %1 แห่ง" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "" + +#: part/annotationactionhandler.cpp:651 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Quick Annotation Bar" +msgstr "หมายเหตุประกอบ %1 แห่ง" + +#: part/annotationactionhandler.cpp:665 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "หมายเหตุประกอบ %1 แห่ง" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "" + +#: part/annotationactionhandler.cpp:669 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "การนำเสนอ" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "" + +#: part/annotationactionhandler.cpp:680 +#, fuzzy, kde-format +#| msgid "Font:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "แบบอักษร:" + +#: part/annotationactionhandler.cpp:681 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "คุณสมบัติหมายเหตุประกอบ" + +#: part/annotationactionhandler.cpp:684 +#, fuzzy, kde-format +#| msgid "Line" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "เส้น" + +#: part/annotationactionhandler.cpp:693 +#, fuzzy, kde-format +#| msgid "&Opacity:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "ความ&ทึบแสง:" + +#: part/annotationactionhandler.cpp:696 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1:" + +#: part/annotationmodel.cpp:320 +#, fuzzy, kde-format +#| msgid "Page %1" +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "หน้า %1" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "หน้า %1" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "หมายเหตุประกอบ %1 แห่ง" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "เ&ปิดบันทึกย่อแบบผุด" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "เอาคั่นหน้าออก" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "เพิ่มคั่นหน้า" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Text to Clipboard" +msgstr "คัดลอกไปยังคลิปบอร์ด" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "ถูกห้ามทำการคัดลอกโดย DRM" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "&ลบ" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "คุณ&สมบัติ" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, fuzzy, kde-format +#| msgctxt "%1 is the name of the file to save" +#| msgid "&Save '%1'..." +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "&บันทึก '%1'..." + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "&รูปลักษณ์" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "&ค่าทั่วไป" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "ผู้เ&ขียน:" + +#: part/annotationpropertiesdialog.cpp:69 +#, fuzzy, kde-format +#| msgid "Created" +msgid "Created:" +msgstr "สร้างเมื่อ" + +#: part/annotationpropertiesdialog.cpp:74 +#, fuzzy, kde-format +#| msgid "Modified" +msgid "Modified:" +msgstr "แก้ไขเมื่อ" + +#: part/annotationpropertiesdialog.cpp:108 +#, fuzzy, kde-format +#| msgid "Note Properties" +msgid "Pop-up Note Properties" +msgstr "คุณสมบัติบันทึกย่อ" + +#: part/annotationpropertiesdialog.cpp:111 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgid "Typewriter Properties" +msgstr "คุณสมบัติ Caret" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "คุณสมบัติบันทึกย่อในบรรทัดเอกสาร" + +#: part/annotationpropertiesdialog.cpp:119 +#, fuzzy, kde-format +#| msgid "Line Properties" +msgid "Straight Line Properties" +msgstr "คุณสมบัติบรรทัด" + +#: part/annotationpropertiesdialog.cpp:121 +#, fuzzy, kde-format +#| msgid "Sound Properties" +msgid "Polygon Properties" +msgstr "คุณสมบัติเสียง" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "คุณสมบัติเรขาคณิต" + +#: part/annotationpropertiesdialog.cpp:128 +#, fuzzy, kde-format +#| msgid "Stamp Properties" +msgid "Text Markup Properties" +msgstr "คุณสมบัติตราประทับ" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "คุณสมบัติตราประทับ" + +#: part/annotationpropertiesdialog.cpp:134 +#, fuzzy, kde-format +#| msgid "Line Properties" +msgid "Freehand Line Properties" +msgstr "คุณสมบัติบรรทัด" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "คุณสมบัติ Caret" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "คุณสมบัติแฟ้มแนบในเอกสาร" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "คุณสมบัติเสียง" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "คุณสมบัติภาพยนตร์" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "คุณสมบัติหมายเหตุประกอบ" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Put a stamp symbol" +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "ใส่สัญลักษณ์ตราประทับ" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&สี:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%1:" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "ความ&ทึบแสง:" + +#: part/annotationwidgets.cpp:363 +#, fuzzy, kde-format +#| msgid "Icon" +msgid "Icon:" +msgstr "ภาพไอคอน" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "คำวิจารณ์" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "ช่วยเหลือ" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "แทรก" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "ปุ่มพิมพ์" + +#: part/annotationwidgets.cpp:368 +#, fuzzy, kde-format +#| msgid "New Paragraph" +msgid "New paragraph" +msgstr "ย่อหน้าใหม่" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "บันทึกย่อ" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "ย่อหน้า" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "แบบอักษร:" + +#: part/annotationwidgets.cpp:387 +#, fuzzy, kde-format +#| msgid "&Color:" +msgid "Text &color:" +msgstr "&สี:" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "" + +#: part/annotationwidgets.cpp:395 +#, fuzzy, kde-format +#| msgctxt "Rotate left" +#| msgid "Left" +msgid "Left" +msgstr "หมุนไปทางซ้าย" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "" + +#: part/annotationwidgets.cpp:397 +#, fuzzy, kde-format +#| msgctxt "Rotate right" +#| msgid "Right" +msgid "Right" +msgstr "หมุนไปทางขวา" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "รับรองแล้ว" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "เป็นดัง" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "ชั้นความลับ" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "แผนก" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "ฉบับร่าง" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "สำหรับผู้เชี่ยวชาญ" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "หมดอายุ" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "ขั้นสุดท้าย" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "สำหรับให้วิจารณ์" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "สำหรับเผยแพร่ต่อสาธารณะ" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "ยังไม่ได้รับการรับรอง" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "ห้ามเผยแพร่ต่อสาธารณะ" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "สำหรับขาย" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "ลับสุดยอด" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "ภาพไอคอนคั่นหน้า" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "ภาพไอคอนข้อมูล" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "ภาพไอคอน KDE" + +#: part/annotationwidgets.cpp:451 +#, fuzzy, kde-format +#| msgid "Stamp Symbol" +msgid "Stamp symbol:" +msgstr "สัญลักษณ์ตราประทับ" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgid "&Width:" +msgstr "พอดีกับความกว้าง" + +#: part/annotationwidgets.cpp:504 +#, fuzzy, kde-format +#| msgid "Line" +msgid "Line start:" +msgstr "เส้น" + +#: part/annotationwidgets.cpp:506 +#, fuzzy, kde-format +#| msgid "Line" +msgid "Line end:" +msgstr "เส้น" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:514 +#, fuzzy, kde-format +#| msgctxt "Symbol for caret annotations" +#| msgid "None" +msgid "None" +msgstr "ไม่มี" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "" + +#: part/annotationwidgets.cpp:531 +#, fuzzy, kde-format +#| msgid "Leader Line Length:" +msgid "Leader line length:" +msgstr "ความยาวของเส้นนำ:" + +#: part/annotationwidgets.cpp:533 +#, fuzzy, kde-format +#| msgid "Leader Line Extensions Length:" +msgid "Leader line extensions length:" +msgstr "ความยาวของเส้นส่วนขยาย:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Shape fill:" +msgstr "บันทึกเป็นแฟ้ม..." + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "ประเภท:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "ขีดฆ่า" + +#: part/annotationwidgets.cpp:745 +#, fuzzy, kde-format +#| msgid "File Attachment Symbol" +msgid "File attachment symbol:" +msgstr "สัญลักษณ์สื่อถึงแฟ้มแนบ" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "กราฟ" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "เข็มหมุด" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "เหล็กหนีบกระดาษ" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "ป้ายกำกับ" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "แฟ้ม" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "ไม่มีข้อมูล" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "ไม่มีคำอธิบายอยู่" + +#: part/annotationwidgets.cpp:773 +#, fuzzy, kde-format +#| msgid "Name" +msgid "Name:" +msgstr "ชื่อ" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "คำอธิบาย:" + +#: part/annotationwidgets.cpp:843 +#, fuzzy, kde-format +#| msgid "Caret Symbol" +msgid "Caret symbol:" +msgstr "สัญลักษณ์ Caret" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "ไม่มี" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "ปิดบันทึกย่อนี้" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "ตัวเลือก" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "" + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "" + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "" + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "" + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"มีคั่นหน้า %2 แห่ง" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "ที่คั่นหน้า" + +#: part/bookmarklist.cpp:136 +#, fuzzy, kde-format +#| msgid "End of the document" +msgid "Show for all documents" +msgstr "ส่วนท้ายของเอกสาร" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, fuzzy, kde-format +#| msgid "S&earch:" +msgid "Search…" +msgstr "&ค้นหา:" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, kde-format +msgid "Expand All" +msgstr "" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, kde-format +msgid "Collapse All" +msgstr "" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "ไปยังคั่นหน้านี้" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "เปลี่ยนชื่อคั่นหน้า" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "เปิดเอกสาร" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "" + +#: part/certificateviewer.cpp:47 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Certificate Viewer" +msgstr "ปรับแต่งเครื่องมือแสดง..." + +#: part/certificateviewer.cpp:50 +#, fuzzy, kde-format +#| msgid "E&xport As" +msgid "Export…" +msgstr "ส่&งออกเป็น" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "ค่าทั่วไป" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "" + +#: part/certificateviewer.cpp:159 +#, fuzzy, kde-format +#| msgid "Where do you want to save %1?" +msgid "Where do you want to save this certificate?" +msgstr "คุณต้องการจะบันทึก %1 ไปยังที่ใด ?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "" + +#: part/colormodemenu.cpp:19 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "โหมดสี:" + +#: part/colormodemenu.cpp:21 +#, fuzzy, kde-format +#| msgid "Change &colors" +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "เปลี่ยน&สีต่าง ๆ" + +#: part/colormodemenu.cpp:29 +#, fuzzy, kde-format +#| msgid "Normal Icons" +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "ไอคอนปกติ" + +#: part/colormodemenu.cpp:41 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "กลับค่าสีต่าง ๆ" + +#: part/colormodemenu.cpp:42 +#, fuzzy, kde-format +#| msgid "Change Paper Color" +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "เปลี่ยนสีพื้นกระดาษ" + +#: part/colormodemenu.cpp:44 +#, fuzzy, kde-format +#| msgid "Change Dark & Light Colors" +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "เปลี่ยนสีทึบและสว่าง" + +#: part/colormodemenu.cpp:46 +#, fuzzy, kde-format +#| msgid "Convert to Black & White" +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "แปลงเป็นเอกสารขาว-ดำ" + +#: part/colormodemenu.cpp:49 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "กลับค่าสีต่าง ๆ" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, fuzzy, kde-format +#| msgid "Reloa&d" +msgid "Red" +msgstr "เ&รียกใหม่" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, fuzzy, kde-format +#| msgid "Screen:" +msgid "Green" +msgstr "จอภาพ:" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, fuzzy, kde-format +#| msgid "Allow" +msgid "Yellow" +msgstr "อนุญาต" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "เน้นด้วยสีเหลือง" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "เน้นด้วยสีเขียว" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, fuzzy, kde-format +#| msgid "Insert" +msgid "Insert Text" +msgstr "แทรก" + +#: part/dlgaccessibility.cpp:38 +#, fuzzy, kde-format +#| msgid "Draw border around &Links" +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "วาดกรอบรอบ ๆ ตำแหน่งเ&ชื่อมโยง" + +#: part/dlgaccessibility.cpp:48 +#, fuzzy, kde-format +#| msgid "Change &colors" +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "เปลี่ยน&สีต่าง ๆ" + +#: part/dlgaccessibility.cpp:54 +#, fuzzy, kde-format +#| msgid "Warning: these options can badly affect drawing speed." +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "คำเตือน: ตัวเลือกเหล่านี้อาจจะทำให้ความเร็วในการแสดงผลลดลง" + +#: part/dlgaccessibility.cpp:60 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "กลับค่าสีต่าง ๆ" + +#: part/dlgaccessibility.cpp:61 +#, fuzzy, kde-format +#| msgid "Change Paper Color" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "เปลี่ยนสีพื้นกระดาษ" + +#: part/dlgaccessibility.cpp:62 +#, fuzzy, kde-format +#| msgid "Change Dark & Light Colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "เปลี่ยนสีทึบและสว่าง" + +#: part/dlgaccessibility.cpp:63 +#, fuzzy, kde-format +#| msgid "Convert to Black & White" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "แปลงเป็นเอกสารขาว-ดำ" + +#: part/dlgaccessibility.cpp:64 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "กลับค่าสีต่าง ๆ" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "" + +#: part/dlgaccessibility.cpp:70 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "โหมดสี:" + +#: part/dlgaccessibility.cpp:87 +#, fuzzy, kde-format +#| msgid "Paper color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "สีพื้นของกระดาษ:" + +#: part/dlgaccessibility.cpp:99 +#, fuzzy, kde-format +#| msgid "Dark color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "สีทึบ:" + +#: part/dlgaccessibility.cpp:104 +#, fuzzy, kde-format +#| msgid "Light color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "สีสว่าง:" + +#: part/dlgaccessibility.cpp:119 +#, fuzzy, kde-format +#| msgid "Threshold:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "อัตราส่วน:" + +#: part/dlgaccessibility.cpp:127 +#, fuzzy, kde-format +#| msgid "Contrast:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "ความเปรียบต่าง:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "" + +#: part/dlgaccessibility.cpp:165 +#, fuzzy, kde-format +#| msgid "Text to search for" +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "ข้อความที่จะใช้ค้นหา" + +#: part/dlgannotations.cpp:25 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "หมายเหตุประกอบ %1 แห่ง" + +#: part/dlgannotations.cpp:26 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "หมายเหตุประกอบ %1 แห่ง" + +#: part/dlgannotations.cpp:28 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "หมายเหตุประกอบ %1 แห่ง" + +#: part/dlgannotations.cpp:34 +#, fuzzy, kde-format +#| msgid "&Author:" +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "ผู้เ&ขียน:" + +#: part/dlgannotations.cpp:38 +#, fuzzy, kde-format +#| msgid "" +#| "Note: the information here is used only for comments and reviews. " +#| "Information inserted here will not be transmitted without your knowledge." +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"ข้อควรจำ: ข้อมูลในส่วนนี้จะถูกใช้ในการทำหมายเหตุและการตรวจทานเท่านั้น " +"ข้อมูลที่ถูกแทรกที่นี่จะไม่มีการส่งถ่ายข้อมูลโดยที่คุณไม่ได้รับรู้" + +#: part/dlgannotations.cpp:48 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

    Quick Annotation Tools

    " +msgstr "คุณสมบัติหมายเหตุประกอบ" + +#: part/dlgeditor.cpp:28 +#, fuzzy, kde-format +#| msgctxt "@info:whatsthis" +#| msgid "" +#| "Choose the editor you want to launch when Okular wants to open a source " +#| "file." +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "เลือกเครื่องมือแก้ไขที่คุณต้องการเรียกใช้เมื่อโอกูลาร์ต้องการจะเปิดแฟ้มต้นฉบับ" + +#: part/dlgeditor.cpp:29 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Custom Text Editor" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "เครื่องมือแก้ไขข้อความกำหนดเอง" + +#: part/dlgeditor.cpp:30 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Kate" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "โปรแกรม Kate" + +#: part/dlgeditor.cpp:31 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Kile" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "โปรแกรม Kile" + +#: part/dlgeditor.cpp:32 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "SciTE" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "โปรแกรม SciTE" + +#: part/dlgeditor.cpp:33 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Emacs client" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "ไคลเอนต์ Emacs" + +#: part/dlgeditor.cpp:34 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Lyx client" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "ไคลเอนต์ Lyx" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "" + +#: part/dlgeditor.cpp:37 +#, fuzzy, kde-format +#| msgid "Editor:" +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "เครื่องมือแก้ไข:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
    \n" +"You can also put few placeholders:\n" +"
      \n" +"
    • %f - the file name
    • \n" +"
    • %l - the line of the file to be reached
    • \n" +"
    • %c - the column of the file to be reached
    • \n" +"
    \n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"ตั้งค่าคำสั่งของเครื่องมือแก้ไขข้อความที่กำหนดเอง
    \n" +"โดยคุณสามารถใช้ตัวแปรต่าง ๆ ต่อไปนี้ในการแทนค่าได้:\n" +"
      \n" +"
    • %f - แทนชื่อแฟ้ม
    • \n" +"
    • %l - บรรทัดของแฟ้มที่จะข้ามไป
    • \n" +"
    • %c - คอลัมน์ของแฟ้มที่จะข้ามไป
    • \n" +"
    \n" +"หากไม่มีการระบุตัวแปร %f จะมีการเพิ่มชื่อแฟ้มต่อท้ายคำสั่งที่ระบุให้" + +#: part/dlgeditor.cpp:63 +#, fuzzy, kde-format +#| msgid "Command:" +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "คำสั่ง:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "" + +#: part/dlggeneral.cpp:37 +#, fuzzy, kde-format +#| msgid "Appearance" +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "รูปลักษณ์" + +#: part/dlggeneral.cpp:41 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "แสดงแ&ถบเลื่อนต่าง ๆ" + +#: part/dlggeneral.cpp:48 +#, fuzzy, kde-format +#| msgid "Link the &thumbnails with the page" +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "เชื่อมโยงภาพตั&วอย่างเข้ากับหน้ากระดาษ" + +#: part/dlggeneral.cpp:55 +#, fuzzy, kde-format +#| msgid "Show &hints and info messages" +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "แสดงคำแนะนำและข้อความแ&จ้งข้อมูลต่าง ๆ" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "" + +#: part/dlggeneral.cpp:92 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "สีพื้นหลัง:" + +#: part/dlggeneral.cpp:114 +#, fuzzy, kde-format +#| msgid "Program Features" +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "คุณลักษณะต่าง ๆ ของโปรแกรม" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "" + +#: part/dlggeneral.cpp:139 +#, fuzzy, kde-format +#| msgid "&Obey DRM limitations" +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "จำกั&ดสิทธิ์การใช้งานตาม DRM" + +#: part/dlggeneral.cpp:148 +#, fuzzy, kde-format +#| msgid "&Reload document on file change" +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "เ&รียกเอกสารขึ้นมาใหม่หากแฟ้มมีการเปลี่ยนแปลง" + +#: part/dlggeneral.cpp:155 +#, fuzzy, kde-format +#| msgid "Show backend selection dialog" +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "แสดงกล่องสำหรับเลือกแบ็กเอนด์จัดการเอกสาร" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, fuzzy, kde-format +#| msgid "Overview columns:" +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "คอลัมน์มุมมองภาพรวม:" + +#: part/dlggeneral.cpp:220 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%1:" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "" + +#: part/dlggeneral.cpp:228 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%1:" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "" + +#: part/dlggeneral.cpp:233 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "พอดีกับความกว้าง" + +#: part/dlggeneral.cpp:234 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "พอดีกับหน้า" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" + +#: part/dlggeneral.cpp:241 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "รูปแบบการเปลี่ยนหน้าปริยาย:" + +#: part/dlgperformance.cpp:26 +#, fuzzy, kde-format +#| msgid "Enable &transparency effects" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "เปิดใช้การแสดงผลแบบโป&ร่งแสง" + +#: part/dlgperformance.cpp:28 +#, fuzzy, kde-format +#| msgid "CPU Usage" +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "การใช้งานซีพียู" + +#: part/dlgperformance.cpp:35 +#, fuzzy, kde-format +#| msgid "&Low" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "&ต่ำ" + +#: part/dlgperformance.cpp:36 +#, fuzzy, kde-format +#| msgid "&Normal (default)" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "&ปกติ (ค่าปริยาย)" + +#: part/dlgperformance.cpp:37 +#, fuzzy, kde-format +#| msgid "&Aggressive" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "&สูง" + +#: part/dlgperformance.cpp:38 +#, fuzzy, kde-format +#| msgid "Screen:" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "จอภาพ:" + +#: part/dlgperformance.cpp:40 +#, fuzzy, kde-format +#| msgid "Memory Usage" +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "การใช้งานหน่วยความจำ" + +#: part/dlgperformance.cpp:54 +#, fuzzy, kde-format +#| msgid "Enable transitions" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "เปิดใช้รูปแบบการเปลี่ยนหน้า" + +#: part/dlgperformance.cpp:56 +#, fuzzy, kde-format +#| msgid "Underline" +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "ขีดเส้นใต้" + +#: part/dlgperformance.cpp:59 +#, fuzzy, kde-format +#| msgid "Enable transitions" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "เปิดใช้รูปแบบการเปลี่ยนหน้า" + +#: part/dlgperformance.cpp:64 +#, fuzzy, kde-format +#| msgid "Enable transitions" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "เปิดใช้รูปแบบการเปลี่ยนหน้า" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"ใช้หน่วยความจำให้น้อยที่สุดเท่าที่จะทำได้ โดยไม่มีการใช้สิ่งใด ๆ ใหม่อีกครั้ง " +"(เหมาะสำหรับระบบที่มีหน่วยความจำน้อย)" + +#: part/dlgperformance.cpp:80 +#, fuzzy, kde-format +#| msgid "" +#| "A good compromise between memory usage and speed gain. Preload next page " +#| "and boost searches. (For systems with 256MB of memory, typically.)" +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"เป็นค่าที่เหมาะสมระหว่างการใช้หน่วยความจำและความเร็วในการทำงาน " +"ทั้งการเรียกหน้าถัดไปล่วงหน้าและเพิ่มความเร็วในการค้นหา (เหมาะกับระบบที่มีหน่วยความจำตั้งแต่ " +"256 เมกะไบต์ขึ้นไป)" + +#: part/dlgperformance.cpp:83 +#, fuzzy, kde-format +#| msgid "" +#| "Keeps everything in memory. Preload next pages. Boost searches. (For " +#| "systems with more than 512MB of memory.)" +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"เก็บทุกอย่างไว้ในหน่วยความจำ ทั้งการเรียกหน้าถัดไปล่วงหน้า การเพิ่มความเร็วในการค้นหา " +"(เหมาะสำหรับระบบที่มีหน่วยความจำมากกว่า 512 เมกะไบต์)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" + +#: part/dlgpresentation.cpp:38 +#, fuzzy, kde-format +#| msgctxt "Advance every %1 seconds" +#| msgid " second" +#| msgid_plural " seconds" +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] " วินาที" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "" + +#: part/dlgpresentation.cpp:53 +#, fuzzy, kde-format +#| msgid "Loop after last page" +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "วนกลับเมื่อถึงหน้าสุดท้าย" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "" + +#: part/dlgpresentation.cpp:63 +#, fuzzy, kde-format +#| msgid "Navigation" +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "การนำทาง" + +#: part/dlgpresentation.cpp:72 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "สีพื้นหลัง:" + +#: part/dlgpresentation.cpp:76 +#, fuzzy, kde-format +#| msgid "Hidden After Delay" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "ซ่อนหลังจากหน่วงเวลาสักครู่" + +#: part/dlgpresentation.cpp:77 +#, fuzzy, kde-format +#| msgid "Always Visible" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "แสดงอยู่เสมอ" + +#: part/dlgpresentation.cpp:78 +#, fuzzy, kde-format +#| msgid "Always Hidden" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "ซ่อนอยู่เสมอ" + +#: part/dlgpresentation.cpp:80 +#, fuzzy, kde-format +#| msgid "Mouse cursor:" +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "ตัวชี้ของเมาส์:" + +#: part/dlgpresentation.cpp:84 +#, fuzzy, kde-format +#| msgid "Show &progress indicator" +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "แสดงตัวชี้วัดความคื&บหน้า" + +#: part/dlgpresentation.cpp:90 +#, fuzzy, kde-format +#| msgid "Show s&ummary page" +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "แสดงหน้าสรุ&ป" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "" + +#: part/dlgpresentation.cpp:101 +#, fuzzy, kde-format +#| msgid "Replace" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "แทนที่" + +#: part/dlgpresentation.cpp:102 +#, fuzzy, kde-format +#| msgid "Random Transition" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "สุ่มรูปแบบการเปลี่ยนหน้า" + +#: part/dlgpresentation.cpp:103 +#, fuzzy, kde-format +#| msgid "Blinds Vertical" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "จางหายไปทางแนวตั้ง" + +#: part/dlgpresentation.cpp:104 +#, fuzzy, kde-format +#| msgid "Blinds Horizontal" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "จางหายไปทางแนวนอน" + +#: part/dlgpresentation.cpp:105 +#, fuzzy, kde-format +#| msgid "Box In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "กล่องขยายเข้า" + +#: part/dlgpresentation.cpp:106 +#, fuzzy, kde-format +#| msgid "Box Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "กล่องขยายออก" + +#: part/dlgpresentation.cpp:107 +#, fuzzy, kde-format +#| msgid "Dissolve" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "แยกย่อยภาพ" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "" + +#: part/dlgpresentation.cpp:109 +#, fuzzy, kde-format +#| msgid "Glitter Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "ไล่เป็นการกระพริบลงด้านล่าง" + +#: part/dlgpresentation.cpp:110 +#, fuzzy, kde-format +#| msgid "Glitter Right" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "ไล่เป็นการกระพริบไปทางขวา" + +#: part/dlgpresentation.cpp:111 +#, fuzzy, kde-format +#| msgid "Glitter Right-Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "ไล่เป็นการกระพริบไปทางขวาและลง" + +#: part/dlgpresentation.cpp:112 +#, fuzzy, kde-format +#| msgid "Split Horizontal In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "แยกเข้าในแนวนอน" + +#: part/dlgpresentation.cpp:113 +#, fuzzy, kde-format +#| msgid "Split Horizontal Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "แยกออกในแนวนอน" + +#: part/dlgpresentation.cpp:114 +#, fuzzy, kde-format +#| msgid "Split Vertical In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "แยกเข้าในแนวตั้ง" + +#: part/dlgpresentation.cpp:115 +#, fuzzy, kde-format +#| msgid "Split Vertical Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "แยกเข้าในแนวนอน" + +#: part/dlgpresentation.cpp:116 +#, fuzzy, kde-format +#| msgid "Wipe Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "กวาดลง" + +#: part/dlgpresentation.cpp:117 +#, fuzzy, kde-format +#| msgid "Wipe Right" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "กวาดจากทางขวา" + +#: part/dlgpresentation.cpp:118 +#, fuzzy, kde-format +#| msgid "Wipe Left" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "กวาดจากทางซ้าย" + +#: part/dlgpresentation.cpp:119 +#, fuzzy, kde-format +#| msgid "Wipe Up" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "กวาดขึ้น" + +#: part/dlgpresentation.cpp:121 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "รูปแบบการเปลี่ยนหน้าปริยาย:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "" + +#: part/dlgpresentation.cpp:137 +#, fuzzy, kde-format +#| msgid "Drawing" +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

    Drawing Tools

    " +msgstr "การวาด" + +#: part/dlgpresentation.cpp:171 +#, fuzzy, kde-format +#| msgctxt "@label:listbox The current screen, for the presentation mode" +#| msgid "Current Screen" +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "จอภาพปัจจุบัน" + +#: part/dlgpresentation.cpp:172 +#, fuzzy, kde-format +#| msgctxt "@label:listbox The default screen for the presentation mode" +#| msgid "Default Screen" +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "จอภาพปริยาย" + +#: part/dlgpresentation.cpp:178 +#, fuzzy, kde-format +#| msgctxt "@label:listbox %1 is the screen number (0, 1, ...)" +#| msgid "Screen %1" +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "จอภาพ %1" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "" + +#: part/drawingtoolactions.cpp:192 +#, fuzzy, kde-format +#| msgid "Drawing" +msgid "Drawing Tool: %1" +msgstr "การวาด" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, fuzzy, kde-format +#| msgid "Erase Drawings" +msgid "Eraser" +msgstr "ลบการวาด" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, fuzzy, kde-format +#| msgid "Name" +msgid "&Name:" +msgstr "ชื่อ" + +#: part/editannottooldialog.cpp:69 +#, fuzzy, kde-format +#| msgid "Type:" +msgid "&Type:" +msgstr "ประเภท:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "รูปลักษณ์" + +#: part/editannottooldialog.cpp:93 +#, fuzzy, kde-format +#| msgid "Next Bookmark" +msgid "Text markup" +msgstr "คั่นหน้าถัดไป" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "" + +#: part/editannottooldialog.cpp:101 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Create annotation tool" +msgstr "การนำเสนอ" + +#: part/editannottooldialog.cpp:103 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgid "Edit annotation tool" +msgstr "คุณสมบัติหมายเหตุประกอบ" + +#: part/editdrawingtooldialog.cpp:51 +#, fuzzy, kde-format +#| msgid "&Color:" +msgid "Color:" +msgstr "&สี:" + +#: part/editdrawingtooldialog.cpp:58 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgid "&Pen Width:" +msgstr "พอดีกับความกว้าง" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "" + +#: part/editdrawingtooldialog.cpp:79 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Create drawing tool" +msgstr "การนำเสนอ" + +#: part/editdrawingtooldialog.cpp:84 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgid "Edit drawing tool" +msgstr "คุณสมบัติหมายเหตุประกอบ" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "ไม่ทราบ" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "แฟ้มที่แนบมาด้วย" + +#: part/embeddedfilesdialog.cpp:62 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:button" +msgid "View" +msgstr "&มุมมอง" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "ชื่อ" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "คำอธิบาย" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "ขนาด" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "สร้างเมื่อ" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "แก้ไขเมื่อ" + +#: part/embeddedfilesdialog.cpp:154 +#, fuzzy, kde-format +#| msgctxt "@action:inmenu" +#| msgid "&Save As..." +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "บัน&ทึกเป็น..." + +#: part/embeddedfilesdialog.cpp:155 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "&มุมมอง" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "ไม่สามารถเรียกใช้ตัวอย่างก่อนพิมพ์ได้" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "ตัวอย่างก่อนพิมพ์" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "ปิด" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "ค้น&หา:" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "ข้อความที่จะใช้ค้นหา" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "ค้นหาตัวถัดไป" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "กระโดดไปยังที่ค้นพบตัวถัดไป" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "ค้นหาตัวก่อนหน้านี้" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "กระโดดไปยังที่ค้นพบตัวก่อนหน้า" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "แก้ไขพฤติกรรมในการค้นหา" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "แยกแยะตัวพิมพ์เล็ก-ใหญ่" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "จากหน้าปัจจุบัน" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "" + +#: part/formwidgets.cpp:870 +#, fuzzy, kde-format +#| msgid "*|All Files" +msgid "All Files (*)" +msgstr "*|แฟ้มทั้งหมด" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgid "Signature Properties" +msgstr "คุณสมบัติ Caret" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "ตัวเลือกการค้นหา" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "แยกแยะตัวพิมพ์เล็ก-ใหญ่" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "รูปแบบเงื่อนไขการค้นหา" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "จากหน้าทั้งหมด" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "ดูย่อ/ดูขยาย" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "หมุนไปทางด้าน&ขวา" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "หมุนไปทางขวา" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "หมุนไปทางด้านซ้า&ย" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "หมุนไปทางซ้าย" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "การจัดวางดั้งเดิม" + +#: part/pageview.cpp:546 +#, fuzzy, kde-format +#| msgid "&View" +msgid "&Trim View" +msgstr "&มุมมอง" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "&ตัดขอบกระดาษ" + +#: part/pageview.cpp:557 +#, fuzzy, kde-format +#| msgctxt "Text Selection Tool" +#| msgid "Text Selection" +msgid "Trim To &Selection" +msgstr "การเลือกข้อความ" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "พอดีกับความก&ว้าง" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "แสดงทั้งห&น้า" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "" + +#: part/pageview.cpp:575 +#, fuzzy, kde-format +#| msgid "Fit &Page" +msgid "Fit Wi&ndow to Page" +msgstr "แสดงทั้งห&น้า" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "โหมด&มุมมอง" + +#: part/pageview.cpp:594 +#, fuzzy, kde-format +#| msgid "Single Page" +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "หน้าเดี่ยว" + +#: part/pageview.cpp:595 +#, fuzzy, kde-format +#| msgid "Facing Pages" +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "หน้าต่อเนื่อง" + +#: part/pageview.cpp:596 +#, fuzzy, kde-format +#| msgid "Facing Pages (Center First Page)" +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "หน้าต่อเนื่อง (จัดหน้าแ&รกให้อยู่กึ่งกลาง)" + +#: part/pageview.cpp:599 +#, fuzzy, kde-format +#| msgid "Overview" +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "ภาพรวม" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "ต่อเ&นื่อง" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "" + +#: part/pageview.cpp:627 +#, fuzzy, kde-format +#| msgctxt "Browse Tool" +#| msgid "Browse" +msgid "&Browse" +msgstr "ดูเอกสาร" + +#: part/pageview.cpp:635 +#, fuzzy, kde-format +#| msgid "Zoom" +msgid "&Zoom" +msgstr "ดูย่อ/ดูขยาย" + +#: part/pageview.cpp:655 +#, fuzzy, kde-format +#| msgctxt "Text Selection Tool" +#| msgid "Text Selection" +msgid "Area &Selection" +msgstr "การเลือกข้อความ" + +#: part/pageview.cpp:662 +#, fuzzy, kde-format +#| msgctxt "Text Selection Tool" +#| msgid "Text Selection" +msgid "&Text Selection" +msgstr "การเลือกข้อความ" + +#: part/pageview.cpp:669 +#, fuzzy, kde-format +#| msgctxt "Text Selection Tool" +#| msgid "Text Selection" +msgid "T&able Selection" +msgstr "การเลือกข้อความ" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "" + +#: part/pageview.cpp:685 +#, fuzzy, kde-format +#| msgid "Selection Tools" +msgctxt "@action" +msgid "Selection Tools" +msgstr "เครื่องมือเลือกส่วนเอกสาร" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "ออกเสียงอ่านทั้งเอกสาร" + +#: part/pageview.cpp:722 +#, fuzzy, kde-format +#| msgid "Speak Current Page" +msgid "Speak From Current Page" +msgstr "ออกเสียงอ่านหน้าปัจจุบัน" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "ออกเสียงอ่านหน้าปัจจุบัน" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "หยุดการอ่านออกเสียง" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "เลื่อนขึ้น" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "เลื่อนลง" + +#: part/pageview.cpp:761 +#, fuzzy, kde-format +#| msgid "Scroll Up" +msgid "Scroll Page Up" +msgstr "เลื่อนขึ้น" + +#: part/pageview.cpp:767 +#, fuzzy, kde-format +#| msgid "Scroll Down" +msgid "Scroll Page Down" +msgstr "เลื่อนลง" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "แสดงแบบฟอร์ม" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] " เรียกข้อมูลเอกสาร %1 หน้า เรียบร้อยแล้ว" + +#: part/pageview.cpp:2526 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Table Contents to Clipboard" +msgstr "คัดลอกไปยังคลิปบอร์ด" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "ข้อความ (%1 ตัวอักษร)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "คัดลอกไปยังคลิปบอร์ด" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "อ่านข้อความ" + +#: part/pageview.cpp:2863 +#, fuzzy, kde-format +#| msgid "Image (%1 by %2 pixels)" +msgid "Image (%1 × %2 pixels)" +msgstr "รูปภาพ (ขนาด %1 x %2 พิกเซล)" + +#: part/pageview.cpp:2865 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save to File…" +msgstr "บันทึกเป็นแฟ้ม..." + +#: part/pageview.cpp:2885 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] copied to clipboard." +msgid "Image [%1 × %2] copied to clipboard." +msgstr "คัดลอกรูปภาพขนาด [%1x%2] ไปยังคลิปบอร์ดแล้ว" + +#: part/pageview.cpp:2888 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save file" +msgstr "บันทึกเป็นแฟ้ม..." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "แฟ้มไม่ถูกบันทึก..." + +#: part/pageview.cpp:2901 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] saved to %3 file." +msgid "Image [%1 × %2] saved to %3 file." +msgstr "บันทึกรูปภาพขนาด [%1x%2] ไปเป็นแฟ้ม %3 แล้ว" + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "คัดลอกข้อความ" + +#: part/pageview.cpp:3062 +#, fuzzy, kde-format +#| msgid "Go to page %1" +msgid "Go to '%1'" +msgstr "ไปยังหน้าที่ %1" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "พอดีกับความกว้าง" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "พอดีกับหน้า" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "" + +#: part/pageview.cpp:4107 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1:" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "ค้นหา '%1' ด้วย" + +#: part/pageview.cpp:4404 +#, fuzzy, kde-format +#| msgid "Configure Web Shortcuts..." +msgid "Configure Web Shortcuts…" +msgstr "ปรับแต่งทางลัดเว็บ..." + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "เปิดดูตำแหน่งเชื่อมโยงนี้" + +#: part/pageview.cpp:4433 +#, fuzzy, kde-format +#| msgid "Play sound..." +msgid "Play this Sound" +msgstr "เล่นเสียง..." + +#: part/pageview.cpp:4435 +#, fuzzy, kde-format +#| msgid "Sound" +msgid "Stop Sound" +msgstr "เสียง" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "คัดลอกที่อยู่ของตำแหน่งเชื่อมโยง" + +#: part/pageview.cpp:4462 +#, fuzzy, kde-format +#| msgid "Search for '%1' with" +msgid "Search for '%1' in this document" +msgstr "ค้นหา '%1' ด้วย" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "ยินดีต้อนรับ" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "เลือกพื้นที่ที่ต้องการย่อ/ขยาย คลิกขวาเพื่อย่อขนาด" + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "" + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "วาดสี่เหลี่ยมรอบข้อความ/ภาพกราฟิกที่ต้องการจะคัดลอก" + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "เลือกข้อความ" + +#: part/pageview.cpp:5172 +#, fuzzy, kde-format +#| msgid "Draw a rectangle around the text/graphics to copy." +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "วาดสี่เหลี่ยมรอบข้อความ/ภาพกราฟิกที่ต้องการจะคัดลอก" + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" + +#: part/pageview.cpp:5188 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "No valid certificates" +msgstr "ปรับแต่งเครื่องมือแสดง..." + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Open Certificate Manager" +msgstr "ปรับแต่งเครื่องมือแสดง..." + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
    Launch Certificate Manager " +"to import or manage certificates
    For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "No certificates found" +msgstr "ปรับแต่งเครื่องมือแสดง..." + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
    For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "" + +#: part/pageview.cpp:5405 +#, fuzzy, kde-format +#| msgid "Draw a rectangle around the text/graphics to copy." +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "วาดสี่เหลี่ยมรอบข้อความ/ภาพกราฟิกที่ต้องการจะคัดลอก" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "ข้อความบันทึกย่อตัวใหม่" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "ข้อความบันทึกย่อตัวใหม่:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgid "Author" +msgid "Author name" +msgstr "ผู้เขียน" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Author name for the annotation:" +msgstr "หมายเหตุประกอบ %1 แห่ง" + +#: part/pageviewannotator.cpp:1390 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Inline Text Annotation (drag to select a zone)" +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "ข้อความหมายเหตุประกอบฝังเข้าในบรรทัด (ลากเพื่อเลือกพื้นที่)" + +#: part/pageviewannotator.cpp:1392 +#, fuzzy, kde-format +#| msgid "Highlight" +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "เน้น" + +#: part/pageviewannotator.cpp:1394 +#, fuzzy, kde-format +#| msgid "Green Freehand Line" +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "เส้นวาดอิสระสีเขียว" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "ข้อความหมายเหตุประกอบฝังเข้าในบรรทัด (ลากเพื่อเลือกพื้นที่)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "วาดภาพหลายเหลี่ยม (คลิกบนจุดเริ่มแรกเพื่อจบการวาด)" + +#: part/pageviewannotator.cpp:1402 +#, fuzzy, kde-format +#| msgid "Rectangle" +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "สี่เหลี่ยม" + +#: part/pageviewannotator.cpp:1404 +#, fuzzy, kde-format +#| msgid "Squiggly" +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "ตัวหวัด" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "ใส่สัญลักษณ์ตราประทับ" + +#: part/pageviewannotator.cpp:1408 +#, fuzzy, kde-format +#| msgid "Straight Yellow Line" +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "เส้นตรงสีเหลือง" + +#: part/pageviewannotator.cpp:1410 +#, fuzzy, kde-format +#| msgid "Strike out" +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "ขีดฆ่า" + +#: part/pageviewannotator.cpp:1412 +#, fuzzy, kde-format +#| msgid "Underline" +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "ขีดเส้นใต้" + +#: part/pageviewannotator.cpp:1414 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Inline Text Annotation (drag to select a zone)" +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "ข้อความหมายเหตุประกอบฝังเข้าในบรรทัด (ลากเพื่อเลือกพื้นที่)" + +#: part/pageviewannotator.cpp:1473 +#, fuzzy, kde-format +#| msgid "Highlight" +msgid "Highlighter" +msgstr "เน้น" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Add favorite annotation" +msgstr "หมายเหตุประกอบ %1 แห่ง" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Custom annotation name:" +msgstr "หมายเหตุประกอบ %1 แห่ง" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "แ&ฟ้ม" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "&ตั้งค่า" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "&ช่วยเหลือ" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "&ทิศทางจัดวาง" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "&ที่คั่นหน้า" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, fuzzy, kde-format +#| msgid "Main Toolbar" +msgid "Viewer Toolbar" +msgstr "แถบเครื่องมือหลัก" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "ภาพตัวอย่าง" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotations" +msgstr "หมายเหตุประกอบ %1 แห่ง" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
    Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"เอกสารนี้มีการแนบแฟ้มไว้ภายในด้วย คลิกที่นี่เพื่อดูแฟ้มแนบ หรือเรียกเมนู แฟ้ม -> แฟ้มที่แนบมาด้วย" + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "หน้าก่อนหน้านี้" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "กลับไปยังหน้าก่อนหน้านี้" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "เลื่อนไปยังหน้าก่อนหน้านี้ของเอกสาร" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "หน้าถัดไป" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "เรียกหน้าถัดไป" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "เลื่อนไปยังหน้าถัดไปของเอกสาร" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "ส่วนเริ่มต้นของเอกสาร" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "ย้ายไปยังส่วนเริ่มต้นของเอกสาร" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "ส่วนท้ายของเอกสาร" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "ย้ายไปยังส่วนท้ายของเอกสาร" + +#: part/part.cpp:707 +#, fuzzy, kde-format +#| msgid "Reload the current document from disk." +msgid "Rename the current bookmark" +msgstr "เรียกเอกสารปัจจุบันจากดิสก์ขึ้นมาใหม่" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "คั่นหน้าก่อนหน้านี้" + +#: part/part.cpp:713 +#, fuzzy, kde-format +#| msgid "Go to the previous bookmarked page" +msgid "Go to the previous bookmark" +msgstr "ไปยังหน้าที่ถูกคั่นไว้ก่อนหน้านี้" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "คั่นหน้าถัดไป" + +#: part/part.cpp:719 +#, fuzzy, kde-format +#| msgid "Go to the next bookmarked page" +msgid "Go to the next bookmark" +msgstr "ไปยังหน้าที่ถูกคั่นไว้หน้าถัดไป" + +#: part/part.cpp:748 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgid "Configure Okular…" +msgstr "ปรับแต่ง 'โอกูลาร์'..." + +#: part/part.cpp:751 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Configure Viewer…" +msgstr "ปรับแต่งเครื่องมือแสดง..." + +#: part/part.cpp:757 +#, fuzzy, kde-format +#| msgid "Configure Backends" +msgid "Configure Viewer Backends…" +msgstr "ปรับแต่งแบ็กเอนด์ต่าง ๆ" + +#: part/part.cpp:759 +#, fuzzy, kde-format +#| msgid "Configure Backends" +msgid "Configure Backends…" +msgstr "ปรับแต่งแบ็กเอนด์ต่าง ๆ" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "เกี่ยวกับแบ็กเอนด์" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "เ&รียกใหม่" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "เรียกเอกสารปัจจุบันจากดิสก์ขึ้นมาใหม่" + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "ปิดแถบเครื่องมือ&ค้นหา" + +#: part/part.cpp:813 +#, fuzzy, kde-format +#| msgid "Page Size" +msgid "Page Number" +msgstr "ขนาดกระดาษ" + +#: part/part.cpp:817 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "ปรับแต่ง 'โอกูลาร์'..." + +#: part/part.cpp:858 +#, fuzzy, kde-format +#| msgid "Speak Current Page" +msgid "Select All Text on Current Page" +msgstr "ออกเสียงอ่านหน้าปัจจุบัน" + +#: part/part.cpp:871 +#, fuzzy, kde-format +#| msgid "Show &Page Bar" +msgid "Show S&idebar" +msgstr "แสดงแถบห&น้าเอกสาร" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "แสดงแถบห&น้าเอกสาร" + +#: part/part.cpp:886 +#, fuzzy, kde-format +#| msgid "Show &Navigation Panel" +msgid "Show &Signatures Panel" +msgstr "แสดง&ถาดนำทาง" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "แฟ้มที่แน&บมาด้วย" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "ส่&งออกเป็น" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "&การนำเสนอ" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "" + +#: part/part.cpp:945 +#, fuzzy, kde-format +#| msgid "&Import PostScript as PDF..." +msgid "&Import PostScript as PDF…" +msgstr "นำเ&ข้าเอกสารโพสต์สคริปต์เป็น PDF..." + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "สลับโหมดจอมืด" + +#: part/part.cpp:957 +#, fuzzy, kde-format +#| msgid "Erase Drawings" +msgid "Erase Drawing" +msgstr "ลบการวาด" + +#: part/part.cpp:962 +#, fuzzy, kde-format +#| msgid "Configure Backends..." +msgid "Configure Annotations…" +msgstr "ปรับแต่งแบ็กเอนด์..." + +#: part/part.cpp:967 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Play/Pause Presentation" +msgstr "การนำเสนอ" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" + +#: part/part.cpp:1123 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Document can't be saved" +msgstr "เอกสารที่จะเปิด" + +#: part/part.cpp:1152 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not open '%1' (%2) " +msgstr "ไม่สามารถเปิด %1 ได้" + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "การโหลด %1 ได้ถูกยกเลิกแล้ว" + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "ไม่สามารถเปิด %1 ได้ เนื่องจาก: %2" + +#: part/part.cpp:1249 +#, fuzzy, kde-format +#| msgid "Configure Backends" +msgid "Configure Viewer Backends" +msgstr "ปรับแต่งแบ็กเอนด์ต่าง ๆ" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "ปรับแต่งแบ็กเอนด์ต่าง ๆ" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"ไม่พบโปรแกรม \"ps2pdf\" ดังนั้น โอกูลาร์จะไม่สามารถนำเข้าแฟ้มเอกสาร PS เพื่อใช้งานได้" + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "ไม่พบโปรแกรม ps2pdf" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "" + +#: part/part.cpp:1357 +#, fuzzy, kde-format +#| msgid "Importing PS file as PDF (this may take a while)..." +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "กำลังนำเข้าแฟ้ม PS ในรูปแบบ PDF (อาจจะใช้เวลาสักครู่)..." + +#: part/part.cpp:1489 +#, fuzzy, kde-format +#| msgid "Moves to the last page of the document" +msgid "Please enter the password to read the document:" +msgstr "เลื่อนยไปยังหน้าสุดท้ายของเอกสาร" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "" + +#: part/part.cpp:1502 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Document Password" +msgstr "เอกสารที่จะเปิด" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "เอกสารนี้เป็นแบบฟอร์ม คลิกบนปุ่มเพื่อใช้งานมัน หรือใช้เมนู มุมมอง -> แสดงแบบฟอร์ม" + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "" + +#: part/part.cpp:1739 +#, fuzzy, kde-format +#| msgid "Exit Presentation Mode" +msgid "Enter Presentation Mode" +msgstr "ออกจากการนำเสนอ" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "" + +#: part/part.cpp:1830 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not open %1. %2" +msgstr "ไม่สามารถเปิด %1 ได้" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "" + +#: part/part.cpp:1865 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue Reloading" +msgstr "ต่อเ&นื่อง" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" + +#: part/part.cpp:1875 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue Closing" +msgstr "ต่อเ&นื่อง" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "" + +#: part/part.cpp:1883 +#, fuzzy, kde-format +#| msgid "Open Document" +msgid "Close Document" +msgstr "เปิดเอกสาร" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"การเชื่อมโยงนี้ชี้ไปยังการเรียกส่วนปิดเอกสาร " +"ซึ่งจะไม่ทำงานเมื่อใช้งานร่วมกับเครื่องมือแสดงผลแบบฝังตัว" + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"การเชื่อมโยงนี้ชี้ไปยังการเรียกส่วนจบโปรแกรม " +"ซึ่งจะไม่ทำงานเมื่อใช้งานร่วมกับเครื่องมือแสดงผลแบบฝังตัว" + +#: part/part.cpp:2113 part/part.cpp:2131 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Reloading the document…" +msgstr "กำลังเรียกเอกสารขึ้นมาใหม่..." + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "เนื้อหา" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "ไปยังหน้าที่" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "หน้า&ที่:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "" + +#: part/part.cpp:2506 +#, fuzzy, kde-format +#| msgid "Rename Bookmark" +msgid "Rename this Bookmark" +msgstr "เปลี่ยนชื่อคั่นหน้า" + +#: part/part.cpp:2509 +#, fuzzy, kde-format +#| msgid "Rename Bookmark" +msgid "Remove this Bookmark" +msgstr "เปลี่ยนชื่อคั่นหน้า" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, fuzzy, kde-format +#| msgctxt "@action:inmenu" +#| msgid "&Save As..." +msgid "Save As" +msgstr "บัน&ทึกเป็น..." + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" + +#: part/part.cpp:2621 +#, fuzzy, kde-format +#| msgid "Line Extensions" +msgid "Unsupported extension" +msgstr "ส่วนขยายเส้น" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
    In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "ไม่สามารถเปิดแฟ้มชั่วคราวเพื่อทำการบันทึกได้" + +#: part/part.cpp:2726 +#, fuzzy, kde-kuit-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "ไม่สามารถบันทึกแฟ้มไว้ใน '%1' ได้ ลองบันทึกมันไว้ในที่อื่น ๆ" + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "ไม่สามารถบันทึกแฟ้มไว้ใน '%1' ได้ ลองบันทึกมันไว้ในที่อื่น ๆ" + +#: part/part.cpp:2766 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgid "Filled form contents" +msgstr "คุณสมบัติหมายเหตุประกอบ" + +#: part/part.cpp:2769 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "User annotations" +msgstr "การนำเสนอ" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" + +#: part/part.cpp:2796 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue" +msgstr "ต่อเ&นื่อง" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "ไม่สามารถบันทึกแฟ้มไว้ใน '%1' ได้ %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"โอกูลาร์ไม่สามารถคัดลอก %1 ไปยังตำแหน่งที่กำหนดให้ได้\n" +"\n" +"จะไม่มีเอกสารอยู่" + +#: part/part.cpp:2899 +#, fuzzy, kde-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "ไม่สามารถบันทึกแฟ้มไว้ใน '%1' ได้ ลองบันทึกมันไว้ในที่อื่น ๆ" + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "End Presentation" +msgid "Expand Whole Section" +msgstr "จบการนำเสนอ" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "End Presentation" +msgid "Collapse Whole Section" +msgstr "จบการนำเสนอ" + +#: part/part.cpp:3172 +#, fuzzy, kde-format +#| msgid "Link the &thumbnails with the page" +msgid "Sync Thumbnail with Page" +msgstr "เชื่อมโยงภาพตั&วอย่างเข้ากับหน้ากระดาษ" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "เครื่องมือ" + +#: part/part.cpp:3381 +#, fuzzy, kde-format +#| msgid "Speak Text" +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "อ่านข้อความ" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "ไม่ได้รับการอนุญาตให้ทำการพิมพ์เอกสารนี้" + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"ไม่สามารถพิมพ์เอกสารได้ โดยไม่ทราบข้อผิดพลาด โปรดรายงานข้อผิดพลาดไปยัง bugs.kde.org" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"ไม่สามารถพิมพ์เอกสารได้ รายละเอียดข้อผิดพลาดคือ \"%1\" โปรดรายงานข้อผิดพลาดไปยัง bugs." +"kde.org" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "ไปยังที่ที่คุณเคยไป ก่อน" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "ไปยังที่ ที่คุณเคยไป หลังจาก" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"แฟ้มผิดพลาด! ไม่สามารถสร้างแฟ้มชั่วคราว %1 ได้" + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"แฟ้มผิดพลาด! ไม่สามารถเปิดแฟ้ม %1 เพื่อทำการคลายแฟ้มได้ แฟ้มจะไม่ถูกโหลด" + +#: part/part.cpp:3751 +#, fuzzy, kde-format +#| msgid "" +#| "This error typically occurs if you do not have enough permissions to " +#| "read the file. You can check ownership and permissions if you right-click " +#| "on the file in the Dolphin file manager and then choose the 'Properties' " +#| "tab." +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"ข้อผิดพลาดนี้ จะเกิดขึ้นหากคุณไม่มีสิทธิ์ในการอ่านแฟ้ม " +"คุณสามารถตรวจสอบความเป็นเจ้าของแฟ้มและสิทธิ์ที่มีได้ง่าย ๆ " +"โดยการคลิกเมาส์ปุ่มขวาบนแฟ้มในโปรแกรมจัดการแฟ้ม 'ดอลฟิน' จากนั้นเลือกแท็บ 'คุณสมบัติ'" + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded.
    " +msgstr "" +"แฟ้มผิดพลาด! ไม่สามารถคลายแฟ้ม %1 ได้ แฟ้มจะไม่ถูกโหลด" + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"ข้อผิดพลาดนี้ จะเกิดขึ้นเมื่อแฟ้มมีส่วนผิดพลาดภายใน หากคุณต้องการความแน่ใจ " +"โปรดทดลองคลายแฟ้มด้วยตัวเอง โดยใช้เครื่องมือคลายแฟ้มผ่านทางบรรทัดคำสั่ง" + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "ไม่มีที่คั่นหน้าใด ๆ" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "แ&ก้ไข" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "&มุมมอง" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "ไ&ปยัง" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "เ&ครื่องมือ" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "แถบเครื่องมือหลัก" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation Toolbar" +msgstr "หมายเหตุประกอบ %1 แห่ง" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Quick Annotation Toolbar" +msgstr "หมายเหตุประกอบ %1 แห่ง" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "ตั้งค่าตัวเลือกทั่วไป" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "ช่วยให้อ่านง่าย" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "ช่วยให้การอ่านได้ง่ายขึ้น" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "ประสิทธิภาพ" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "ปรับแต่งประสิทธิภาพ" + +#: part/preferencesdialog.cpp:45 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Configure Viewer" +msgstr "ปรับแต่งเครื่องมือแสดง..." + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "การนำเสนอ" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "ตัวเลือกสำหรับปรับแต่งการนำเสนอ" + +#: part/preferencesdialog.cpp:50 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgid "Annotation Options" +msgstr "คุณสมบัติหมายเหตุประกอบ" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "เครื่องมือแก้ไข" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "ตัวเลือกของเครื่องมือแก้ไข" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "ค้นหาตัวถัดไป" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "การนำเสนอ - %1" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "สลับจอภาพ" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "จอภาพ %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "ออกจากการนำเสนอ" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "ชื่อเรื่อง: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "จำนวนหน้า: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "คลิกเพื่อเริ่ม" + +#: part/presentationwidget.cpp:521 +#, fuzzy, kde-format +#| msgctxt "pause the movie playback" +#| msgid "Pause" +msgctxt "For Presentation" +msgid "Pause" +msgstr "หยุดชั่วคราว" + +#: part/presentationwidget.cpp:524 +#, fuzzy, kde-format +#| msgctxt "start the movie playback" +#| msgid "Play" +msgctxt "For Presentation" +msgid "Play" +msgstr "เล่น" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"ในการออกจากโหมดการนำเสนอ มีอยู่ 2 วิธี คุณสามารถกดปุ่มพิมพ์ ESC หรือคลิกที่ปุ่มออก " +"ซึ่งจะปรากฎเมื่อเคลื่อนเมาส์ไปยังมุมบนขวาของจอ และแน่นอน คุณยังคงสามารถเรียกใช้หน้าต่างอื่น ๆ " +"ได้ (โดยปริยายจะใช้การกด Alt+TAB)" + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "ส่งให้การนำเสนอ" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "แฟ้มที่ไม่รู้จัก" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "คุณสมบัติ %1" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "แบบ&อักษร" + +#: part/propertiesdialog.cpp:145 +#, fuzzy, kde-format +#| msgid "Reading font information..." +msgid "Reading font information…" +msgstr "กำลังอ่านข้อมูลแบบอักษร..." + +#: part/propertiesdialog.cpp:158 +#, fuzzy, kde-format +#| msgid "&Page Size" +msgid "&Page Sizes" +msgstr "ขนาดหน้า&กระดาษ" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "แ&ยกแบบอักษรออกมา" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Type 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Type 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "Type 1C (OT)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Type 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType (OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID Type 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID Type 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID Type 0C (OT)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType (OT)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "TeX PK" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "TeX virtual" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "TeX Font Metric" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "TeX FreeType-handled" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "ไม่ทราบ" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "แนบมาด้วย (บางส่วน)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "แนบมาด้วยอย่างสมบูรณ์" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "ไม่ใช่" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "ใช่ (ซับเซ็ต)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "ใช่" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "[ไม่มีข้อมูล]" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "แบบอักษรที่ไม่รู้จัก" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "แนบอยู่ในแฟ้ม: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "ชื่อ" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "ประเภท" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "แฟ้ม" + +#: part/propertiesdialog.cpp:498 +#, fuzzy, kde-format +#| msgid "Pages" +msgid "Page" +msgstr "จำนวนหน้า" + +#: part/propertiesdialog.cpp:501 +#, fuzzy, kde-format +#| msgctxt "@title:column" +#| msgid "Size" +msgid "Size" +msgstr "ขนาด" + +#: part/revisionviewer.cpp:41 +#, fuzzy, kde-format +#| msgid "Print Preview" +msgid "Revision Preview" +msgstr "ตัวอย่างก่อนพิมพ์" + +#: part/revisionviewer.cpp:53 +#, fuzzy, kde-format +#| msgid "Where do you want to save %1?" +msgid "Where do you want to save this revision?" +msgstr "คุณต้องการจะบันทึก %1 ไปยังที่ใด ?" + +#: part/revisionviewer.cpp:56 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not save file %1." +msgstr "ไม่สามารถเปิด %1 ได้" + +#: part/revisionviewer.cpp:75 +#, fuzzy, kde-format +#| msgid "Could not open %1. Reason: %2" +msgid "Could not view revision." +msgstr "ไม่สามารถเปิด %1 ได้ เนื่องจาก: %2" + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "ป้อนอย่างน้อย 3 ตัวอักษรเพื่อกรองหน้ากระดาษ" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "แยกแยะตัวพิมพ์เล็ก-ใหญ่" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "ตรงกับวลี" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "ตรงกันทุกคำ" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "ตรงกันบางคำ" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "ตัวเลือกการกรอง" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Certificates" +msgstr "ปรับแต่งเครื่องมือแสดง..." + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, fuzzy, kde-format +#| msgid "Allow" +msgid "All" +msgstr "อนุญาต" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Only QES certificates" +msgstr "ปรับแต่งเครื่องมือแสดง..." + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, fuzzy, kde-format +#| msgid "Options" +msgid "optional" +msgstr "ตัวเลือก" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Location:" +msgstr "หมายเหตุประกอบ %1 แห่ง" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, fuzzy, kde-format +#| msgid "Background color:" +msgid "Background:" +msgstr "สีพื้นหลัง:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, fuzzy, kde-format +#| msgid "Background color:" +msgid "Recent backgrounds:" +msgstr "สีพื้นหลัง:" + +#: part/side_reviews.cpp:66 +#, fuzzy, kde-format +#| msgid "" +#| "

    No annotations

    To create new annotations press " +#| "F6 or select Tools -> Review from the menu.
    " +msgid "" +"

    No annotations

    To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
    " +msgstr "" +"

    ยังไม่มีหมายเหตุประกอบใด ๆหากต้องการสร้างหมายเหตุประกอบใหม่ ให้กดปุ่มพิมพ์ F6 หรือเลือก เครื่องมือ -> " +"ตรวจทาน จากเมนู

    " + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "จัดกลุ่มตามหน้า" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "จัดกลุ่มตามผู้เขียน" + +#: part/side_reviews.cpp:155 +#, fuzzy, kde-format +#| msgid "Show reviews for current page only" +msgid "Show annotations for current page only" +msgstr "แสดงการตรวจทานสำหรับหน้าปัจจุบันเท่านั้น" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "" + +#: part/signaturepanel.cpp:101 +#, fuzzy, kde-format +#| msgid "&Properties" +msgid "Properties" +msgstr "คุณ&สมบัติ" + +#: part/signaturepartutils.cpp:180 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "จำนวนหน้า: %1" + +#: part/signaturepartutils.cpp:181 +#, fuzzy, kde-format +#| msgid "Enable &background generation" +msgid "Select background image" +msgstr "เปิดใช้การสร้าง&พื้นหลัง" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "" + +#: part/signaturepartutils.cpp:244 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Enter document password" +msgstr "เอกสารที่จะเปิด" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:63 +#, fuzzy, kde-format +#| msgid "Information" +msgid "Additional Information" +msgstr "ภาพไอคอนข้อมูล" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:83 +#, fuzzy, kde-format +#| msgctxt "A document format, Okular-specific" +#| msgid "Document Archive" +msgid "Document Version" +msgstr "แฟ้มจัดเก็บของเอกสาร" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:95 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "View Certificate…" +msgstr "ปรับแต่งเครื่องมือแสดง..." + +#: part/signaturepropertiesdialog.cpp:97 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "View in Certificate Manager" +msgstr "ปรับแต่งเครื่องมือแสดง..." + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "แสดงหน้าที่ถูกคั่นไว้เท่านั้น" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "เล่น" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "หยุดชั่วคราว" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "หยุด" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, fuzzy, kde-format +#| msgid "&Edit" +msgid "&Edit…" +msgstr "แ&ก้ไข" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, fuzzy, kde-format +#| msgid "Wipe Down" +msgid "Move &Down" +msgstr "กวาดลง" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "หน้าของเอกสารที่จะให้แสดง" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "เริ่มเอกสารในโหมดการนำเสนอ" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "ควบคุม \"การเรียกใช้ได้เพียงตัวเดียว\"" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "" + +#: shell/main.cpp:83 +#, fuzzy, kde-format +#| msgid "Document to open. Specify '-' to read from stdin." +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "เอกสารที่จะเปิด ระบุค่า '-' เพื่อให้ทำการอ่านจากส่วนนำเข้าข้อมูลมาตรฐาน (stdin)" + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "" + +#: shell/shell.cpp:207 +#, fuzzy, kde-format +#| msgid "Unable to find the Okular component." +msgid "Unable to find the Okular component: %1" +msgstr "ไม่สามารถค้นพบส่วนประกอบของโอกูลาร์" + +#: shell/shell.cpp:250 +#, fuzzy, kde-format +#| msgid "Show &Page Bar" +msgid "Sidebar" +msgstr "แสดงแถบห&น้าเอกสาร" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "ไม่สามารถค้นพบส่วนประกอบของโอกูลาร์" + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"คลิกเพื่อเปิดแฟ้ม\n" +"คลิกค้างไว้เพื่อเลือกเอกสารที่เคยเรียกใช้" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "คลิกเพื่อเปิดแฟ้ม หรือคลิกค้างไว้ เพื่อเลือกเอกสารที่เคยเรียกใช้" + +#: shell/shell.cpp:582 +#, fuzzy, kde-format +#| msgid "Next Page" +msgid "Next Tab" +msgstr "หน้าถัดไป" + +#: shell/shell.cpp:588 +#, fuzzy, kde-format +#| msgid "Previous Page" +msgid "Previous Tab" +msgstr "หน้าก่อน" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "" + +#: shell/shell.cpp:603 +#, fuzzy, kde-format +#| msgid "Show &Page Bar" +msgid "Lock Sidebar" +msgstr "แสดงแถบห&น้าเอกสาร" + +#: shell/shell.cpp:703 +#, fuzzy, kde-format +#| msgid "*|All Files" +msgid "All files (*)" +msgstr "*|แฟ้มทั้งหมด" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "เปิดเอกสาร" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "" + +#: shell/shell.cpp:826 +#, fuzzy, kde-format +#| msgid "Close" +msgid "Close Tabs" +msgstr "ปิด" + +#: shell/shell.cpp:833 +#, fuzzy, kde-format +#| msgid "" +#| "A file named \"%1\" already exists. Are you sure you want to overwrite it?" +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "มีแฟ้มชื่อ \"%1\" อยู่แล้ว คุณต้องการจะเขียนทับมันหรือไม่ ?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "" + +#: shell/welcomescreen.cpp:64 +#, fuzzy, kde-format +#| msgid "Copy Text" +msgid "&Copy Path" +msgstr "คัดลอกข้อความ" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "" + +#: shell/welcomescreen.cpp:137 +#, fuzzy, kde-format +#| msgid "Current document only" +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "เอกสารปัจจุบันเท่านั้น" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, fuzzy, kde-format +#| msgid "Open Document" +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "เปิดเอกสาร" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, fuzzy, kde-format +#| msgid "Current document only" +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "เอกสารปัจจุบันเท่านั้น" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "" + +#, fuzzy +#~| msgid "For Comment" +#~ msgid "Geometry with Comment" +#~ msgstr "สำหรับให้วิจารณ์" + +#~ msgid "Geometry" +#~ msgstr "เรขาคณิต" + +#~ msgid "Modified: %1" +#~ msgstr "แก้ไขเมื่อ: %1" + +#~ msgid "Find..." +#~ msgstr "ค้นหา..." + +#~ msgid "Go To Page..." +#~ msgstr "ไปยังหน้าที่..." + +#~ msgid "Play movie..." +#~ msgstr "เล่นภาพยนตร์..." + +#, fuzzy +#~| msgid "S&earch:" +#~ msgid "Search..." +#~ msgstr "&ค้นหา:" + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "บัน&ทึกเป็น..." + +#, fuzzy +#~| msgid "&View" +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "&มุมมอง" + +#~ msgid "Configure Viewer..." +#~ msgstr "ปรับแต่งเครื่องมือแสดง..." + +#, fuzzy +#~| msgid "Configure Backends..." +#~ msgid "Configure Viewer Backends..." +#~ msgstr "ปรับแต่งแบ็กเอนด์..." + +#~ msgid "Configure Backends..." +#~ msgstr "ปรับแต่งแบ็กเอนด์..." + +#, fuzzy +#~| msgid "&Edit" +#~ msgid "&Edit..." +#~ msgstr "แ&ก้ไข" + +#, fuzzy +#~| msgctxt "Unknown author" +#~| msgid "Unknown" +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "ไม่ทราบ" + +#, fuzzy +#~| msgctxt "Suffix for the opacity level, eg '80 %'" +#~| msgid " %" +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr " %" + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " %" + +#, fuzzy +#~| msgctxt "Suffix for the opacity level, eg '80 %'" +#~| msgid " %" +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr " %" + +#, fuzzy +#~| msgid "Fit Width" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "พอดีกับความกว้าง" + +#, fuzzy +#~| msgid "Fit Page" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "พอดีกับหน้า" + +#~ msgid "*|All Files" +#~ msgstr "*|แฟ้มทั้งหมด" + +#, fuzzy +#~| msgid "Show &Page Bar" +#~ msgid "Show Sidebar" +#~ msgstr "แสดงแถบห&น้าเอกสาร" + +#, fuzzy +#~| msgid "Experimental" +#~ msgctxt "@title:window" +#~ msgid "Experimental feature" +#~ msgstr "สำหรับผู้เชี่ยวชาญ" + +#~ msgid "Remove Bookmarks" +#~ msgstr "เอาคั่นหน้าออก" + +#, fuzzy +#~| msgid "Annotation" +#~| msgid_plural "%1 Annotations" +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "หมายเหตุประกอบ %1 แห่ง" + +#, fuzzy +#~| msgid "Highlight" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "เน้น" + +#, fuzzy +#~| msgid "Underline" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Underline" +#~ msgstr "ขีดเส้นใต้" + +#, fuzzy +#~| msgid "Squiggly" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Squiggle" +#~ msgstr "ตัวหวัด" + +#, fuzzy +#~| msgid "Strike out" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Strike Out" +#~ msgstr "ขีดฆ่า" + +#, fuzzy +#~| msgid "Insert" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "แทรก" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "บันทึกย่อในบรรทัด" + +#, fuzzy +#~| msgid "&Open Pop-up Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "เ&ปิดบันทึกย่อแบบผุด" + +#, fuzzy +#~| msgid "Green Freehand Line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Freehand Line" +#~ msgstr "เส้นวาดอิสระสีเขียว" + +#, fuzzy +#~| msgid "Straight Yellow Line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Straight line" +#~ msgstr "เส้นตรงสีเหลือง" + +#, fuzzy +#~| msgid "Rectangle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Rectangle" +#~ msgstr "สี่เหลี่ยม" + +#, fuzzy +#~| msgid "Cyan Ellipse" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Ellipse" +#~ msgstr "วงมนสีคราม" + +#, fuzzy +#~| msgid "Blue Polygon" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Polygon" +#~ msgstr "ภาพหลายเหลี่ยมสีฟ้า" + +#, fuzzy +#~| msgid "Highlight" +#~ msgid "Highlight in Yellow" +#~ msgstr "เน้น" + +#, fuzzy +#~| msgid "Highlight" +#~ msgid "Highlight in Green" +#~ msgstr "เน้น" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgid "Insert Inline Note" +#~ msgstr "บันทึกย่อในบรรทัด" + +#, fuzzy +#~| msgid "&Open Pop-up Note" +#~ msgid "Insert Popup Note" +#~ msgstr "เ&ปิดบันทึกย่อแบบผุด" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "เลือกข้อความ" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "เลือกข้อความ" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "เลือกข้อความ" + +#, fuzzy +#~| msgid "Annotation" +#~| msgid_plural "%1 Annotations" +#~ msgid "Bookmark annotation" +#~ msgstr "หมายเหตุประกอบ %1 แห่ง" + +#, fuzzy +#~| msgid "Change &colors" +#~ msgid "&Toggle Change Colors" +#~ msgstr "เปลี่ยน&สีต่าง ๆ" + +#, fuzzy +#~| msgid "Enable transitions" +#~ msgctxt "@option:check Config dialog, presentation page, transitions" +#~ msgid "Enable transitions" +#~ msgstr "เปิดใช้รูปแบบการเปลี่ยนหน้า" + +#, fuzzy +#~| msgid "Advance every:" +#~ msgctxt "@label:spinbox Config dialog, presentation page" +#~ msgid "Advance every:" +#~ msgstr "เปลี่ยนหน้าใหม่ทุก:" + +#, fuzzy +#~| msgid "Background color:" +#~ msgctxt "@label:listbox Config dialog, general page" +#~ msgid "Custom background color:" +#~ msgstr "สีพื้นหลัง:" + +#~ msgid "Draw border around &Images" +#~ msgstr "วาดกรอบรอบ ๆ &ภาพ" + +#~ msgid "Identity" +#~ msgstr "การแสดงตัว" + +#, fuzzy +#~| msgid "&Author:" +#~ msgid "Au&thor:" +#~ msgstr "ผู้เ&ขียน:" + +#~ msgid "View Options" +#~ msgstr "ตัวเลือกต่าง ๆ ของมุมมอง" + +#~ msgid "Navigation" +#~ msgstr "การนำทาง" + +#~ msgid "Placement" +#~ msgstr "ตำแหน่งจัดวาง" + +#~ msgid "Screen:" +#~ msgstr "จอภาพ:" + +#~ msgid "&Get Books From Internet..." +#~ msgstr "ค้&นหนังสือจากอินเทอร์เน็ต..." + +#~ msgid "Reviews" +#~ msgstr "ตรวจทาน" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "@item:inlistbox Color name" +#~ msgid "%1" +#~ msgstr "%1:" + +#~ msgid "Hide Forms" +#~ msgstr "ซ่อนฟอร์ม" + +#~ msgid "&Review" +#~ msgstr "ตรวจ&ทาน" + +#~ msgid "Annotations author" +#~ msgstr "ผู้เขียนหมายเหตุประกอบ" + +#~ msgid "Please insert your name or initials:" +#~ msgstr "โปรดป้อนชื่อหรือคำนำหน้าของคุณ:" + +#~ msgid "Show &Navigation Panel" +#~ msgstr "แสดง&ถาดนำทาง" + +#~ msgid "Show Text" +#~ msgstr "แสดงข้อความ" + +#~ msgid "Small Icons" +#~ msgstr "ไอคอนขนาดเล็ก" + +#~ msgid "Large Icons" +#~ msgstr "ไอคอนขนาดใหญ่" + +#, fuzzy +#~| msgid "" +#~| "Click to use the current selection tool\n" +#~| "Click and hold to choose another selection tool" +#~ msgid "" +#~ "Click to use the current selection tool\n" +#~ "Click on the arrow to choose another selection tool" +#~ msgstr "" +#~ "คลิกเพื่อใช้เครื่องมือเลือกส่วนเอกสาร\n" +#~ "คลิกค้างไว้เพื่อเลือกเครื่องมือเลือกส่วนเอกสารตัวอื่น" + +#~ msgid "Created: %1" +#~ msgstr "สร้างเมื่อ: %1" + +#~ msgid "Style" +#~ msgstr "ลักษณะ" + +#~ msgid "&Size:" +#~ msgstr "&ขนาด:" + +#~ msgid "Inner color:" +#~ msgstr "สีภายใน:" + +#~ msgid "Name: %1" +#~ msgstr "ชื่อ: %1" + +#~ msgid "Size: %1" +#~ msgstr "ขนาด: %1" + +#~ msgid "&Browse Tool" +#~ msgstr "เครื่องมือ&ดูเอกสาร" + +#~ msgid "&Zoom Tool" +#~ msgstr "เครื่องมือ&ดูย่อ/ดูขยาย" + +#~ msgctxt "Zoom Tool" +#~ msgid "Zoom" +#~ msgstr "ดูย่อ/ดูขยาย" + +#~ msgctxt "Select Tool" +#~ msgid "Selection" +#~ msgstr "การเลือก" + +#~ msgid "&Text Selection Tool" +#~ msgstr "เครื่องมือเลือก&ข้อความ" + +#, fuzzy +#~| msgid "&Selection Tool" +#~ msgid "T&able Selection Tool" +#~ msgstr "เครื่องมือเ&ลือก" + +#, fuzzy +#~| msgctxt "Symbol for caret annotations" +#~| msgid "None" +#~ msgid " None" +#~ msgstr "ไม่มี" + +#~ msgid "" +#~ "The document requested to be launched in presentation mode.\n" +#~ "Do you want to allow it?" +#~ msgstr "" +#~ "เอกสารนี้ร้องขอเริ่มทำงานในโหมดนำเสนอ\n" +#~ "คุณจะอนุญาตหรือไม่ ?" + +#~ msgid "Presentation Mode" +#~ msgstr "โหมดนำเสนอ" + +#~ msgid "Allow the presentation mode" +#~ msgstr "อนุญาตให้ใช้โหมดนำเสนอ" + +#~ msgid "Do Not Allow" +#~ msgstr "ไม่อนุญาต" + +#~ msgid "Do not allow the presentation mode" +#~ msgstr "ไม่อนุญาตให้ใช้โหมดนำเสนอ" + +#~ msgid "Save &Copy As..." +#~ msgstr "บันทึก&สำเนาเป็น..." + +#~ msgid "" +#~ "End of document reached.\n" +#~ "Continue from the beginning?" +#~ msgstr "" +#~ "สิ้นสุดเอกสารแล้ว\n" +#~ "คุณต้องการจะทำต่อไป \n" +#~ "โดยวนกลับไปเริ่มจากตอนต้นของเอกสารหรือไม่ ?" + +#~ msgid "" +#~ "Beginning of document reached.\n" +#~ "Continue from the bottom?" +#~ msgstr "" +#~ "อยู่ตอนต้นของเอกสารแล้ว\n" +#~ "คุณต้องการจะทำต่อไป \n" +#~ "โดยวนกลับไปเริ่มจากตอนท้ายเอกสารหรือไม่ ?" + +#~ msgid "Current maintainer" +#~ msgstr "ผู้ดูแลปัจจุบัน" + +#~ msgid " sec." +#~ msgstr " วินาที" + +#~ msgid "Pencil color:" +#~ msgstr "สีดินสอ:" + +#~ msgid "Toggle Drawing Mode" +#~ msgstr "สลับโหมดการวาด" + +#~ msgid "Starting Jovie Text-to-Speech service Failed: %1" +#~ msgstr "ล้มเหลวในการเริ่มบริการ Jovie สำหรับใช้พูดออกเสียงข้อความ: %1" + +#~ msgid "Search Columns" +#~ msgstr "ค้นหาในคอลัมน์" + +#~ msgid "All Visible Columns" +#~ msgstr "คอลัมน์ที่ปรากฏทั้งหมด" + +#~ msgid "No document opened." +#~ msgstr "ยังไม่มีการเปิดเอกสาร" + +#~ msgid "No matches found for '%1'." +#~ msgstr "ไม่พบที่เข้าคู่กับ '%1'" + +#~ msgid "Search in progress..." +#~ msgstr "กำลังอยู่ระหว่างการค้นหา..." + +#~ msgid "Searching for %1" +#~ msgstr "กำลังค้นหาสำหรับ %1" + +#~ msgid "Identity Settings" +#~ msgstr "ตั้งค่าการแสดงตัว" + +#~ msgid "Highlight Properties" +#~ msgstr "คุณสมบัติการเน้น" + +#~ msgid "Ink Properties" +#~ msgstr "คุณสมบัติหมึก" + +#~ msgctxt "Annotation tool" +#~ msgid "Text Annotation" +#~ msgstr "ข้อความหมายเหตุประกอบ" + +#~ msgctxt "Annotation tool" +#~ msgid "Green Ink" +#~ msgstr "หมึกสีเขียว" + +#~ msgctxt "Annotation tool" +#~ msgid "Yellow Highlight" +#~ msgstr "เน้นด้วยสีเหลือง" + +#~ msgctxt "Annotation tool" +#~ msgid "Straight Yellow Line" +#~ msgstr "เส้นตรงสีเหลือง" + +#~ msgid "Black Underlining" +#~ msgstr "ขีดเส้นใต้สีดำ" + +#~ msgctxt "Annotation tool" +#~ msgid "Underline the text with a black line" +#~ msgstr "ขีดเส้นใต้ข้อความด้วยเส้นสีดำ" + +#~ msgctxt "Annotation tool" +#~ msgid "A cyan ellipse" +#~ msgstr "วงมนสีคราม" + +#~ msgid "Ink" +#~ msgstr "หมึก" + +#, fuzzy +#~| msgid "Hide Forms" +#~ msgid "Reset Forms" +#~ msgstr "ซ่อนฟอร์ม" + +#~ msgid "Moves to the first page of the document" +#~ msgstr "เลื่อนไปยังหน้าแรกของเอกสาร" + +#~ msgid "You must set this name:" +#~ msgstr "คุณต้องตั้งค่าชื่อนี้:" + +#~ msgid "Toggles between File Path and Title" +#~ msgstr "สลับระหว่างพาธของแฟ้มกับชื่อเรื่อง" + +#~ msgctxt "%1 is \"Title\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#~ msgctxt "%1 is \"File Path\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#~ msgctxt "@action:button" +#~ msgid "&Overwrite" +#~ msgstr "เขียน&ทับ" + +#~ msgid "Pages:" +#~ msgstr "จำนวนหน้า:" diff --git a/po/th/okular_comicbook.po b/po/th/okular_comicbook.po new file mode 100644 index 0000000..9606f5a --- /dev/null +++ b/po/th/okular_comicbook.po @@ -0,0 +1,58 @@ +# translation of okular_comicbook.po to Thai +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Thanomsub Noppaburana , 2008, 2009, 2010. +msgid "" +msgstr "" +"Project-Id-Version: okular_comicbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-03-27 15:05+0700\n" +"Last-Translator: Thanomsub Noppaburana \n" +"Language-Team: Thai \n" +"Language: th\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ถนอมทรัพย นพบูรณ์" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "donga.nb@gmail.com" + +#: document.cpp:97 +#, fuzzy, kde-format +#| msgid "Cannot open document, unrar was not found." +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "ไม่สามารถเปิดเอกสารได้ เนื่องจากไม่พบโปรแกรม unrar" + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "รุ่นของโปรแกรม unrar ในระบบของคุณ ไม่เหมาะกับการใช้ในการเปิดหนังสือการ์ตูน" + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "ไม่รู้จักรูปแบบของหนังสือการ์ตูน" + +#~ msgid "ComicBook Backend" +#~ msgstr "แบ็กเอนด์แสดงเอกสารหนังสือการ์ตูน (ComicBook)" + +#~ msgid "A renderer for various comic book formats" +#~ msgstr "ตัววาดและประมวลผลแฟ้มแบบหนังสือการ์ตูน (ComicBook)" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "สงวนลิขสิทธิ์ © 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/th/okular_djvu.po b/po/th/okular_djvu.po new file mode 100644 index 0000000..8dc3673 --- /dev/null +++ b/po/th/okular_djvu.po @@ -0,0 +1,139 @@ +# translation of okular_djvu.po to Thai +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Thanomsub Noppaburana , 2008, 2009, 2010. +msgid "" +msgstr "" +"Project-Id-Version: okular_djvu\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-03-27 15:04+0700\n" +"Last-Translator: Thanomsub Noppaburana \n" +"Language-Team: Thai \n" +"Language: th\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ถนอมทรัพย์ นพบูรณ์" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "donga.nb@gmail.com" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "บรรณาธิการ" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "ผู้พิมพ์" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "ฉบับที่" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "ประเภทของเอกสาร" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "ไม่ทราบ" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "แฟ้มคอมโพเนนต์" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "ไม่ทราบ" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "หน้าเดี่ยว" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "รวมด้วยกัน" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "อ้อม" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "รวมด้วยกัน (เก่า)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "มีการทำดัชนี (เก่า)" + +#~ msgid "DjVu Backend" +#~ msgstr "แบ็กเอนด์แสดงเอกสาร DjVu" + +#~ msgid "DjVu backend based on DjVuLibre." +#~ msgstr "แบ็กเอนด์แสดงเอกสาร DjVu อิงพื้นฐาน DjVuLibre" + +#~ msgid "© 2006-2008 Pino Toscano" +#~ msgstr "สงวนลิขสิทธิ์ © 2006-2008 Pino Toscano" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgctxt "Unknown title" +#~ msgid "Unknown" +#~ msgstr "ไม่ทราบ" + +#~ msgctxt "Unknown author" +#~ msgid "Unknown" +#~ msgstr "ไม่ทราบ" + +#~ msgctxt "Unknown editor" +#~ msgid "Unknown" +#~ msgstr "ไม่ทราบ" + +#~ msgctxt "Unknown publisher" +#~ msgid "Unknown" +#~ msgstr "ไม่ทราบ" + +#~ msgctxt "Unknown creation date" +#~ msgid "Unknown" +#~ msgstr "ไม่ทราบ" + +#~ msgctxt "Unknown volume information" +#~ msgid "Unknown" +#~ msgstr "ไม่ทราบ" + +#~ msgctxt "Unknown type of document" +#~ msgid "Unknown" +#~ msgstr "ไม่ทราบ" + +#~ msgid "A DjVu backend" +#~ msgstr "แบ็คเอนต์จัดการแฟ้ม DjVu" diff --git a/po/th/okular_dvi.po b/po/th/okular_dvi.po new file mode 100644 index 0000000..48202a7 --- /dev/null +++ b/po/th/okular_dvi.po @@ -0,0 +1,556 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Thanomsub Noppaburana , 2010. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-12-18 14:23+0700\n" +"Last-Translator: Thanomsub Noppaburana \n" +"Language-Team: Thai \n" +"Language: th\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.1\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ถนอมทรัพย์ นพบูรณ์" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "donga.nb@gmail.com" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

    Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

    Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

    " +msgstr "" + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

    Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

    Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

    " +msgstr "" + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "" + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "" + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "" + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "" + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "" + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

    The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

    What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

    PATH: %2

    " +msgstr "" + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

    The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

    %2

    " +msgstr "" + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, fuzzy, kde-format +#| msgid "" +#| "File not found: \n" +#| " %1" +msgid "File corruption. %1" +msgstr "" +"ไม่พบแฟ้ม: \n" +" %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "" + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "" + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "" + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "" + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "" + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "" + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "" + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "" + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "" + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "กำลังทำการแนบ %1" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
    " +msgstr "" + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
    " +msgstr "" + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "" + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

    Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

    PATH: %1

    %2

    " +msgstr "" + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

    There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
    Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

    PATH: %1

    %2

    " +msgstr "" + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" + +#: fontpool.cpp:482 +#, fuzzy, kde-format +#| msgid "Currently generating %1 at %2 dpi" +msgid "Currently generating %1 at %2 dpi…" +msgstr "ตอนนี้กำลังทำการสร้าง %1 ที่ความละเอียด %2 จุดต่อนิ้ว (dpi)" + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "ตัวสร้าง/วันที่" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "ไม่พบแฟ้มแบบอักษร" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "แนวตั้ง" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "แนวนอน" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "" + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"ไม่พบแฟ้ม: \n" +" %1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "" + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "" + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "ไลบรารี FreeType ไม่สามารถโหลดกลิป #%1 จากแฟ้มแบบอักษร %2 ได้" + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "" + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "" + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "" + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "" + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "ไม่สามารถเปิดแฟ้มแบบอักษร %1 ได้" + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "" + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "ไม่สามารถหาแบบอักษร %1 พบ, แฟ้ม %2" + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"เกิดข้อผิดพลาดร้ายแรง\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "" + +#~ msgid "DVI Backend" +#~ msgstr "โปรแกรมเบื้องหลังจัดการ DVI" + +#~ msgid "A DVI file renderer" +#~ msgstr "ตัววาดเอกสาร DVI" + +#~ msgid "© 2006 Luigi Toscano" +#~ msgstr "สงวนลิขสิทธิ์ © 2006 Luigi Toscano" + +#~ msgid "Okular is currently generating bitmap fonts..." +#~ msgstr "โอกูลาร์กำลังทำการสร้างแบบอักษรแบบบิตแมพ โปรดรอสักครู่" + +#~ msgid "Aborts the font generation. Do not do this." +#~ msgstr "ยุติการสร้างแบบอักษร ไม่ต้องทำสิ่งนี้" + +#~ msgid "Okular is generating fonts. Please wait." +#~ msgstr "โอกูลาร์กำลังทำการสร้างแบบอักษร โปรดรอสักครู่" + +#~ msgid "Font Generation Progress Dialog" +#~ msgstr "กล่องแสดงความคืบหน้าของการสร้างแบบอักษร" + +#~ msgid "Abort" +#~ msgstr "ยุติ" + +#~ msgid "What is happening here?" +#~ msgstr "เกิดอะไรขึ้น ?" + +#~ msgid "Please be patient" +#~ msgstr "โปรดอดทนรอ" + +#~ msgid "*.pdf|Portable Document Format (*.pdf)" +#~ msgstr "*.pdf|เอกสาร Portable Document Format (*.pdf)" + +#~ msgid "Export File As" +#~ msgstr "ส่งออกแฟ้มเป็น" + +#~ msgid "" +#~ "The file %1\n" +#~ "exists. Do you want to overwrite it?" +#~ msgstr "" +#~ "มีแฟ้ม %1\n" +#~ "อยู่ก่อนแล้ว คุณต้องการจะเขียนทับมันหรือไม่ ?" + +#~ msgid "Overwrite File" +#~ msgstr "เขียนทับแฟ้ม" + +#~ msgid "Overwrite" +#~ msgstr "เขียนทับ" + +#~ msgid "Using dvipdfm to export the file to PDF" +#~ msgstr "ใช้โปรแกรม dvipdfm เพื่อใช้ส่งออกแฟ้มเป็นเอกสารรูปแบบ PDF" + +#~ msgid "Waiting for dvipdfm to finish..." +#~ msgstr "กำลังรอการทำงานของโปรแกรม dvipdfm ให้แล้วเสร็จ..." + +#~ msgid "*.ps|PostScript (*.ps)" +#~ msgstr "*.ps|โพสต์สคริปต์ (*.ps)" + +#~ msgid "Using dvips to export the file to PostScript" +#~ msgstr "ใช้โปรแกรม dvips เพื่อใช้ส่งออกแฟ้มเป็นเอกสารรูปแบบโพสต์สคริปต์" + +#~ msgid "Waiting for dvips to finish..." +#~ msgstr "กำลังรอการทำงานของโปรแกรม dvips ให้แล้วเสร็จ..." + +#~ msgid "Functionality Unavailable" +#~ msgstr "ไม่สามารถใช้งานฟังก์ชันได้" + +#~ msgid "DVI File Error" +#~ msgstr "แฟ้ม DVI มีข้อผิดพลาด" + +#~ msgid "Locating fonts..." +#~ msgstr "กำลังมองหาแฟ้มแบบอักษร..." + +#~ msgid "Problem locating fonts" +#~ msgstr "เกิดปัญหาขึ้นเมื่อทำการมองหาแฟ้มแบบอักษร" + +#~ msgid "Font generation aborted" +#~ msgstr "การสร้างแบบอักษรถูกยุติ" + +#~ msgid "Export: %1 to PDF" +#~ msgstr "ส่งออก: %1 เป็นเอกสาร PDF" + +#~ msgid "Export: %1 to PostScript" +#~ msgstr "ส่งออก: %1 เป็นเอกสารโพสต์สคริปต์" diff --git a/po/th/okular_epub.po b/po/th/okular_epub.po new file mode 100644 index 0000000..e5b6f22 --- /dev/null +++ b/po/th/okular_epub.po @@ -0,0 +1,56 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Thanomsub Noppaburana , 2008, 2010. +msgid "" +msgstr "" +"Project-Id-Version: okular_epub\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-03-27 15:03+0700\n" +"Last-Translator: Thanomsub Noppaburana \n" +"Language-Team: Thai \n" +"Language: th\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ถนอมทรัพย์ นพบูรณ์" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "donga.nb@gmail.com" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "เกิดข้อผิดพลาดระหว่างการเปิดเอกสาร EPub" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "" + +#: generator_epub.cpp:30 +#, fuzzy, kde-format +#| msgid "EPub Backend" +msgid "EPub Backend Configuration" +msgstr "แบ็กเอนด์แสดงเอกสาร EPub" + +#~ msgid "EPub Backend" +#~ msgstr "แบ็กเอนด์แสดงเอกสาร EPub" + +#~ msgid "An EPub backend" +#~ msgstr "แบ็กเอนด์แสดงเอกสาร EPub" + +#~ msgid "© 2008 Ely Levy" +#~ msgstr "สงวนลิขสิทธิ์ © 2008 Ely Levy" + +#~ msgid "Ely Levy" +#~ msgstr "Ely Levy" diff --git a/po/th/okular_fax.po b/po/th/okular_fax.po new file mode 100644 index 0000000..5422611 --- /dev/null +++ b/po/th/okular_fax.po @@ -0,0 +1,45 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Thanomsub Noppaburana , 2008, 2010. +msgid "" +msgstr "" +"Project-Id-Version: okular_fax\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-03-27 15:03+0700\n" +"Last-Translator: Thanomsub Noppaburana \n" +"Language-Team: Thai \n" +"Language: th\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ถนอมทรัพย์ นพบูรณ์" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "donga.nb@gmail.com" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "ไม่สามารถโหลดเอกสารได้" + +#~ msgid "Fax Backend" +#~ msgstr "แบ็กเอนด์แสดงเอกสารโทรสาร" + +#~ msgid "A G3/G4 fax document backend" +#~ msgstr "แบ็กเอนด์แสดงเอกสารโทรสาร G3/G4" + +#~ msgid "© 2008 Tobias Koenig" +#~ msgstr "สงวนลิขสิทธิ์ © 2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/th/okular_fictionbook.po b/po/th/okular_fictionbook.po new file mode 100644 index 0000000..70199ff --- /dev/null +++ b/po/th/okular_fictionbook.po @@ -0,0 +1,83 @@ +# translation of okular_fictionbook.po to Thai +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Thanomsub Noppaburana , 2008, 2010. +msgid "" +msgstr "" +"Project-Id-Version: okular_fictionbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-03-27 15:02+0700\n" +"Last-Translator: Thanomsub Noppaburana \n" +"Language-Team: Thai \n" +"Language: th\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ถนอมทรัพย์ นพบูรณ์" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "donga.nb@gmail.com" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "เอกสารไม่ใช่รูปแบบเอกสาร FictionBook ที่ถูกต้อง" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "ไม่สามารถเปิดเอกสารต่อไปนี้ได้: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "เอกสารไม่ได้ถูกจัดเก็บในรูปแบบแฟ้ม ZIP ที่ถูกต้อง" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "โครงสร้างเอกสารไม่ถูกต้อง (ไม่พบส่วนไดเรกทอรีหลัก)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "ไม่พบเนื้อหาในเอกสาร" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "เอกสาร XML ไม่ถูกต้อง: %1" + +#: generator_fb.cpp:26 +#, fuzzy, kde-format +#| msgid "Fiction Book Backend" +msgid "FictionBook" +msgstr "แบ็กเอนด์แสดงเอกสาร Fiction" + +#: generator_fb.cpp:26 +#, fuzzy, kde-format +#| msgid "Fiction Book Backend" +msgid "FictionBook Backend Configuration" +msgstr "แบ็กเอนด์แสดงเอกสาร Fiction" + +#~ msgid "Fiction Book Backend" +#~ msgstr "แบ็กเอนด์แสดงเอกสาร Fiction" + +#~ msgid "A renderer for FictionBook eBooks" +#~ msgstr "ส่วนวาดและแสดงผลเอกสารอิเล็กทรอนิกส์ FictionBook" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "สงวนลิขสิทธิ์ © 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/th/okular_ghostview.po b/po/th/okular_ghostview.po new file mode 100644 index 0000000..fd174b8 --- /dev/null +++ b/po/th/okular_ghostview.po @@ -0,0 +1,92 @@ +# translation of okular_ghostview.po to Thai +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Thanomsub Noppaburana , 2008, 2010. +msgid "" +msgstr "" +"Project-Id-Version: okular_ghostview\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-03-27 14:57+0700\n" +"Last-Translator: Thanomsub Noppaburana \n" +"Language-Team: Thai \n" +"Language: th\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ถนอมทรัพย์ นพบูรณ์" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "donga.nb@gmail.com" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "ใช้แบบอักษรของระบบ" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"กำหนดว่าจะอนุญาตให้โกสต์สคริปต์ใช้แบบอักษรของระบบหรือไม่ หากไม่อนุญาต " +"จะมีการใช้เพียงแบบอักษรที่ฝังแนบมากับเอกสารเท่านั้น" + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "ตั้งค่าทั่วไป" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "ใช้แ&บบอักษรของระบบ" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "โกสต์สคริปต์" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "ปรับแต่งแบ็กเอนด์โกสต์สคริปต์" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "รุ่นของเอกสาร" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "ระดับภาษา" + +#~ msgid "PS Backend" +#~ msgstr "แบ็กเอนด์ PS" + +#~ msgid "A PostScript file renderer." +#~ msgstr "ตัววาดและประมวลผลแฟ้มโพสต์สคริปต์" + +#~ msgid "© 2007-2008 Albert Astals Cid" +#~ msgstr "สงวนลิขสิทธิ์ © 2007-2008 Albert Astals Cid" + +#~ msgid "Based on the Spectre library." +#~ msgstr "ใช้ฐานจากไลบรารี Spectre" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" diff --git a/po/th/okular_kimgio.po b/po/th/okular_kimgio.po new file mode 100644 index 0000000..8f646f4 --- /dev/null +++ b/po/th/okular_kimgio.po @@ -0,0 +1,68 @@ +# translation of okular_kimgio.po to Thai +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Thanomsub Noppaburana , 2008, 2010. +msgid "" +msgstr "" +"Project-Id-Version: okular_kimgio\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-03-27 14:55+0700\n" +"Last-Translator: Thanomsub Noppaburana \n" +"Language-Team: Thai \n" +"Language: th\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ถนอมทรัพย์ นพบูรณ์" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "donga.nb@gmail.com" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "ไม่สามารถโหลดเอกสารได้: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" + +#~ msgid "Image Backend" +#~ msgstr "แบ็กเอนด์จัดการภาพ" + +#~ msgid "A simple image backend" +#~ msgstr "แบ็กเอนด์จัดการภาพอย่างง่าย" + +#~ msgid "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" +#~ msgstr "" +#~ "สงวนลิขสิทธิ์ © 2005, 2009 Albert Astals Cid\n" +#~ "สงวนลิขสิทธิ์ © 2006-2007 Pino Toscano\n" +#~ "สงวนลิขสิทธิ์ © 2006-2007 Tobias Koenig" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" + +#~ msgid "Main Toolbar" +#~ msgstr "แถบเครื่องมือหลัก" diff --git a/po/th/okular_mobi.po b/po/th/okular_mobi.po new file mode 100644 index 0000000..9763b3c --- /dev/null +++ b/po/th/okular_mobi.po @@ -0,0 +1,65 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Thanomsub Noppaburana , 2010. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-12-18 14:11+0700\n" +"Last-Translator: Thanomsub Noppaburana \n" +"Language-Team: Thai \n" +"Language: th\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.1\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ถนอมทรัพย์ นพบูรณ์" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "donga.nb@gmail.com" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "เกิดข้อผิดพลาดในการเปิดเอกสาร Mobipocket" + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "" +"หนังสือนี้ได้รับการปกป้องเนื้อหาด้วย DRM " +"และจะสามารถถูกแสดงเนื้อหาได้บนอุปกรณ์ที่รับการออกแบบมาเฉพาะเท่านั้น" + +#: generator_mobi.cpp:25 +#, fuzzy, kde-format +#| msgid "Mobipocket Backend" +msgid "Mobipocket" +msgstr "แบ็กเอนด์สำหรับ Mobipocket" + +#: generator_mobi.cpp:25 +#, fuzzy, kde-format +#| msgid "Mobipocket Backend" +msgid "Mobipocket Backend Configuration" +msgstr "แบ็กเอนด์สำหรับ Mobipocket" + +#~ msgid "Mobipocket Backend" +#~ msgstr "แบ็กเอนด์สำหรับ Mobipocket" + +#~ msgid "A mobipocket backend" +#~ msgstr "แบ็กเอนด์สำหรับ mobipocket" + +#~ msgid "© 2008-2009 Jakub Stachowski" +#~ msgstr "สงวนลิขสิทธิ์ © 2008-2009 Jakub Stachowski" + +#~ msgid "Jakub Stachowski" +#~ msgstr "Jakub Stachowski" diff --git a/po/th/okular_poppler.po b/po/th/okular_poppler.po new file mode 100644 index 0000000..9181531 --- /dev/null +++ b/po/th/okular_poppler.po @@ -0,0 +1,406 @@ +# translation of okular_poppler.po to Thai +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Thanomsub Noppaburana , 2008, 2010. +msgid "" +msgstr "" +"Project-Id-Version: okular_poppler\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-12-17 21:59+0700\n" +"Last-Translator: Thanomsub Noppaburana \n" +"Language-Team: Thai \n" +"Language: th\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.1\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ถนอมทรัพย์ นพบูรณ์" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "donga.nb@gmail.com" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "ไม่ใช่" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "ตัวเลือก PDF" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "บังคับการแสดงผลแบบราสเตอร์" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "แปลงเป็นภาพแบบราสเตอร์ก่อนทำการพิมพ์" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"บังคับการแสดงผลแต่ละหน้าเป็นแบบราสเตอร์ก่อนทำการพิมพ์ วิธีการนี้จะให้คุณภาพของผลลัพธ์ที่แย่ " +"แต่เหมาะกับการพิมพ์เอกสารที่ผิดเพี้ยนเมื่อทำการพิมพ์ปกติั" + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "" + +#: generator_pdf.cpp:1031 +#, fuzzy, kde-format +#| msgctxt "PDF v. " +#| msgid "PDF v. %1" +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "เอกสาร PDF รุ่น %1" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "รูปแบบ" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "มีการเข้ารหัส" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "ไม่มีการเข้ารหัส" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "ความปลอดภัย" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "ใช่" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "ปรับแต่งแล้ว" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "" + +#: generator_pdf.cpp:1758 +#, fuzzy, kde-format +#| msgid "PDF Backend" +msgid "PDF Backend Configuration" +msgstr "แบ็กเอนด์แสดงเอกสาร PDF" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "" + +#: pdfsignatureutils.cpp:239 +#, fuzzy, kde-format +#| msgid "Document Password" +msgid "Enter Password" +msgstr "รหัสผ่านของเอกสาร" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "" + +#~ msgid "PDF Backend" +#~ msgstr "แบ็กเอนด์แสดงเอกสาร PDF" + +#~ msgid "A PDF file renderer" +#~ msgstr "ตัวแสดงผลเอกสาร PDF" + +#~ msgid "© 2005-2008 Albert Astals Cid" +#~ msgstr "© 2005-2008 Albert Astals Cid" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Saving files with /Encrypt is not supported." +#~ msgstr "ยังไม่รองรับการบันทึกแฟ้มพร้อมการใช้ /Encrypt" + +#~ msgid "Unknown" +#~ msgstr "ไม่ทราบ" + +#~ msgid "Unknown Date" +#~ msgstr "ไม่ทราบวันที่" + +#~ msgid "Unknown Encryption" +#~ msgstr "ไม่ทราบการเข้ารหัส" + +#~ msgid "Unknown Optimization" +#~ msgstr "ไม่ทราบการปรับแต่ง" + +#~ msgid "Please enter the password to read the document:" +#~ msgstr "โปรดป้อนรหัสผ่านเพื่อใช้ในการอ่านเอกสาร:" + +#~ msgid "Incorrect password. Try again:" +#~ msgstr "รหัสผ่านไม่ถูกต้อง โปรดลองใหม่:" diff --git a/po/th/okular_xps.po b/po/th/okular_xps.po new file mode 100644 index 0000000..db12dd7 --- /dev/null +++ b/po/th/okular_xps.po @@ -0,0 +1,58 @@ +# translation of okular_xps.po to Thai +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Thanomsub Noppaburana , 2008, 2009, 2010. +msgid "" +msgstr "" +"Project-Id-Version: okular_xps\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2010-03-27 14:59+0700\n" +"Last-Translator: Thanomsub Noppaburana \n" +"Language-Team: Thai \n" +"Language: th\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ถนอมทรัพย์ นพบูรณ์" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "donga.nb@gmail.com" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "ปรับปรุงใหม่" + +#~ msgid "XPS Backend" +#~ msgstr "แบ็กเอนด์แสดงเอกสาร XPS" + +#~ msgid "An XPS backend" +#~ msgstr "แบ็กเอนด์แสดงเอกสาร XPS" + +#~ msgid "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" +#~ msgstr "" +#~ "สงวนลิขสิทธิ์ © 2006-2007 Brad Hards\n" +#~ "สงวนลิขสิทธิ์ © 2007 Jiri Klement\n" +#~ "สงวนลิขสิทธิ์ © 2008 Pino Toscano" + +#~ msgid "Brad Hards" +#~ msgstr "Brad Hards" + +#~ msgid "Jiri Klement" +#~ msgstr "Jiri Klement" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" diff --git a/po/tr/docs/okular/index.docbook b/po/tr/docs/okular/index.docbook new file mode 100644 index 0000000..e603165 --- /dev/null +++ b/po/tr/docs/okular/index.docbook @@ -0,0 +1,4433 @@ + +KPDF"> + + +]> + + + + &okular; El Kitabı + + Albert Astals Cid
    &Albert.Astals.Cid.mail;
    +
    +
    + Pino Toscano
    pino@kde.org
    +
    +
    + EmirSARI
    emir_sari@icloud.com
    Çeviri
    +
    + &FDLNotice; + 2022-02-19 + 22.04 + + + &okular;, &kpdf; kodu üzerine temellendirilmiş &kde;'nin çok amaçlı belge görüntüleyicisidir. + + + KDE + okular + pdf + ps + postscript + tiff + djvu + dvi + chm + xps + comicbook + fictionbook + markdown + mobipocket + bilgi notu + +
    + + Giriş + &okular;, &kpdf; uygulamasının kodu üzerine temellindirilmiş, çok amaçlı bir &kde; belge görüntüleyicisidir. &kpdf;'yi temel almış olmasına rağmen; genel görünüm kipi, iyileştirilmiş sunum ve bilgi notu desteği gibi kendine has özellikleri vardır. + &okular;; &PDF;, &PostScript;, Tiff, CHM, DjVU, Görseller (png, jpg, &etc;) XPS, Fiction Books, Comic Book, Plucker, EPub, Fax ve Markdown gibi birçok farklı biçimi destekler. Desteklenen tüm biçimleri ve özelliklerini görmek için &okular; Belge Biçimi İşleyicileri bölümüne bakın. + + &okular;'ın Ana Penceresi + + + + + + &okular;'ın Ana Penceresi + + + + + + Temel Kullanım + + Belgeler Açmak + Desteklenen herhangi bir dosyayı &okular;'da açmak için DosyaAç... yolunu izleyin, iletişim kutusunda desteklenen bir dosya seçin ve Aç düğmesine tıklayın. Dosyanız, şu an ana pencerede görüntüleniyor olmalıdır. + + Genel yapılandırma sayfasındaki Yeni dosyaları sekmelerde aç seçeneği işaretliyse yeni belge bir sekmede açılır. + Sekmeyi, üzerine &MMB; ile tıklarsanız kapatabilirsiniz. + Önceden kapatılan belge, &Ctrl;&Shift;TDosya Sekme Kapatmayı Geri Al menü ögesine tıklanarak bir sekmede yeniden açılabilir. + + &okular;'da daha önceden dosyalar açtıysanız onlara DosyaSon Kullanılanı Aç menüsünden geri ulaşabilirsiniz. + &okular;, &PDF; ve &PostScript; dosyaları için öntanımlı &kde; uygulamasıdır. Bu dosyaları açmak için dosya yöneticisinde üzerilerine &LMB; ile tıklamanız yeterlidir. &okular; tarafından desteklenen herhangi başka bir dosyayı açmak için dosya yöneticisinde dosyanın bağlam menüsünden Birlikte Aç...&okular; 'ı seçebilirsiniz. + Bir dosya açtıktan sonra büyük olasılıkla onu okumak istersiniz. Bunun üzerine daha fazla bilgi almak için bir sonraki bölüme bakın. + + + Dolaşım + Bu bölüm, &okular;'da bir belge içinde nasıl dolaşacağınızı açıklar. + Görüntüleme alanında sarma yapmanın birçok yolu vardır. Bunlardan biri, &Up; ve &Down; düğmelerini kullanmaktır. Ayrıca; sarma çubuğunu, fare tekerleğinizi veya &PgUp; ve &PgDn; düğmelerini de kullanabilirsiniz. + Ek olarak, vim tarzı dolaşım düğmeleri de kullanılabilir; örneğin, bir önceki sayfanın en üstüne gitmek için H, bir sonraki sayfanın en üstüne gitmek için L, bir satır aşağı inmek için J ve bir satır yukarı çıkmak için K. + Başka bir yol ise &LMB; basılı tutulurken, fareyi gitmek istediğiniz yönün tam tersi yana hareket ettirmektir. Bu prosedür yalnızca Göz At aracı etkinse çalışır. Etkinleştirmek için Araçlar Göz At yolunu izleyin. + + Bir belgeyi Sunum Kipi'nde görüntülerken sayfalar veya slaytlar arasında geçiş yapmak için &Up; ve &Down; düğmelerini kullanın. Geçerli slaytın numarası ve konumu, ekranın sağ üst köşesindeki bir ekran üzeri görüntüde belirtilir. + + Birkaç sayfadan oluşan bir belgeyi okumak istiyorsanız &okular;’ın kendiliğinden sarma özelliğini kullanın. Kendiliğinden sarma’yı &Shift;&Down; veya &Shift;&Up; kısayollarıyla başlatın. Sonrasında bu düğmeleri kullanarak sarma hızını artırın veya azaltın. Kendiliğinden sarmayı &Shift; düğmesine basarak geçici olarak durdurabilir veya başlatabilirsiniz. Başka herhangi bir düğmeye basmak, bu özelliği kapatır. + Çok sayfalı bir belgede gezinmenin başka bir yolu da fare işaretçisini kullanmaktır. Sayfayı yukarı veya aşağı sürükleyin, ekranın altına veya üstüne ulaştığınızda bile sürüklemeyi sürdürün ve bakın. Bir sayfanın kenarlığını geçtiğinizde fare imleci yeniden ekranın üstünde veya altında belirir ve sürüklemeyi sürdürebilirsiniz. + Ekranın sol tarafındaki kenar çubuğu, belgede dolaşmanın iki yolunu daha sağlar: + + + Bir sayfa küçük görseline tıklarsanız görüntüleme alanı o sayfaya getirilir. + + + Belgenin bir içindekiler tablosu varsa, bir içindekiler tablosu ögesine tıklamak, belgeyi o ögeye bağlı sayfaya getirir. + + + Belgede katmanlar varsa Katmanlar listesindeki ögeleri işaretleyerek veya işaretlerini kaldırarak gösterilen katmanları denetleyebilirsiniz. + + + Belgede yer imleri varsa Yer İmleri görünümünü etkinleştirin ve ilgili sayfaya gitmek için bunlara tıklayın. Yer imleri yalnızca geçerli belge için gösterilmiyorsa yakın zamanda açılan tüm dosyalardaki yer imlerine tez geçiş yapabilirsiniz. + + + Belgede ek açıklamalar varsa Bilgi Notları görünümünü etkinleştirip ve ek açıklamalara tıklayın veya bunları &Up; ve &Down; kullanarak seçin ve ilgili sayfaya gitmek için &Enter; düğmesine basın. + + + Bazı belgelerde bağlantılar bulunur. Bu durumda üzerlerine tıklayabilirsiniz; görünüm, bağlantı verdiği sayfaya dönüşür. Bağlantı bir web sayfasına veya başka bir belgeye ise, o biçim için öntanımlı olan &kde; işleyicisi çağrılacaktır. Örneğin, https://www.kde.org adresine işaret eden bir bağlantıya tıklamak, web sayfasını öntanımlı &kde; web tarayıcısında açacaktır. + + Belgede bulunan bağlantılar yalnızca Göz At aracı kullanılırken çalışır. + + Ayrıca belgedeki belirli yerlere tez gitmek için aşağıdaki işlevleri kullanabilirsiniz: + + + Belgenin başına &Ctrl;Baş veya Git Belge Başı ögesini kullanarak gidebilirsiniz. + + + Belgenin sonuna &Ctrl;Son veya Git Belge Sonu ögesini kullanarak gidebilirsiniz. + + + Belgede &Space; veya &PgDn; kullanarak ileri gidebilirsiniz. Belgedeki sonraki sayfaya gitmek için Sonraki Sayfa araç çubuğu düğmesini veya GitSonraki Sayfa ögesini kullanın. + + + Belgede &Backspace; veya &PgUp; kullanarak geri gidebilirsiniz. Belgedeki sonraki sayfaya gitmek için Önceki Sayfa araç çubuğu düğmesini veya GitÖnceki Sayfa ögesini kullanın. + + + Belgede geldiğiniz konumlara kronolojik sırayla geri dönebilirsiniz. Örneğin, As shown in [15], … notunu okuduğunuzu varsayalım ve tez [15] numaralı başvuruyu okumak istiyorsunuz. Bunu yapmak için üzerine tıklayın ve &okular; başvurular listesine atlayacaktır. &Alt;&Shift;&Left; veya GitGeri menü ögesini kullanmak, sizi geldiğiniz yere geri götürecektir. + + + Geri atladıktan sonra &Alt;&Shift;&Right; veya menü çubuğunda Gitİleri düğmesini kullanmak sizi ileri götürür. + + + Arama yaparken bir sonraki eşleşmeye F3, &Enter; (odak Bul metin alanındayken) veya DüzenSonrakini Bul menü ögesi ile gidebilir veya önceki ögeye &Shift;F3, &Shift;&Enter; (odak Bul metin alanındayken) veya DüzenÖncekini Bul menü ögesi ile dönebilirsiniz. + + + + + Sunum Kipi + Sunum kipi, &okular;'da belgeleri görüntülemenin başka bir yolunu temsil eder. GörünümSunum menü ögesiyle etkinleştirilebilir. Belgeyi sayfa bazında gösterir. Sayfalar sayfaya yakınlaştırılmış olarak gösterilir, yani tüm sayfa görünür. + + &PDF; belgeleri, her zaman sunum kipinde açılacak biçimde yapılandırılabilir. + + Sunum kipindeyken ekranın üst kısmında bir yardım çubuğu bulunur. Görünmesini sağlamak için fare imlecini ekranın üstüne getirmeniz yeterlidir. + + Sunum Kipinde &okular; + + + + + + Sunum Kipinde &okular; + + + + Sayfalar arasında dolaşmak için &LMB; (sonraki sayfa) ve &RMB; (önceki sayfa), fare tekerleği, ok simgeleri veya üst çubuktaki satır düzenleme kutusunu veya Dolaşım bölümünde belirtilen düğmeleri kullanın. + Sunumu başlatmak/duraklatmak için üst çubuktaki Oynat/Duraklat düğmesini kullanın. + Sunum kipinden herhangi bir anda &Esc; düğmesine basarak veya üst çubuktaki Çık simgesine tıklayarak çıkabilirsiniz. + Aynı zamanda geçerli sayfada bir kalemle çizim de yapılabilir. Sunum kipinde çizim yapma olanağını etkinleştirmek veya devre dışı bırakmak için üst çubuktaki Çizim Kipini Aç/Kapat simgesine tıklayın. Sunum kipinden çıkarken yapılan çizimler kendiliğinden temizlenirler. Geçerli sayfadaki çizimleri temizlemek için aynı zamanda Çizimi Sil simgesini de kullanabilirsiniz. + Sunum kipi, çoklu monitör yapılandırmasında birden fazla ekranı destekler. Birden fazla ekran olduğunda, üst çubukta bir ekran simgesiyle birlikte yeni bir düğme görünecektir: bu, sunumu diğer kullanılabilir ekranlardan herhangi birine taşımanıza olanak tanıyan bir açılır kutudur. + Sunum kipinde bazı yapılandırma seçenekleri vardır; bunların açıklamasını &okular;'ı Yapılandırmak faslında bulabilirsiniz. + + + + &latex; Düzenleyicileri ve &okular; Arasında Tersine Arama + + Tersine arama, bir &latex; belgesi yazarken çok işe yarar bir özelliktir. Her şey düzgünce ayarlanmışsa &okular;'ın penceresine &Shift; düğmesini basılı tutarken sol fare düğmesi ile tıklayın. Sonrasında düzenleyici, &latex; kaynak dosyasını yükler ve olması gereken paragrafa atlar. + + Tersine aramanın çalışması için şunlar tam olmalıdır: + + + Kaynak dosya düzgünce derlenmeli. + &okular;'ın hangi düzenleyiciyi kullanmak istediğinizi biliyor olması gerekir. + Göz At aracının etkin olması gerekir. Etkinleştirmek için AraçlarGöz At yolunu izleyin. + + + Bu &okular; özelliğiyle, bir &DVI; or &PDF; belgesinde &Shift; düğmesi basılı tutulurken yapılan bir sol fare tıklaması, ilgili &latex; belgesini düzenleyicide açar ve karşılık gelen satıra gider. &okular;'a kullanmak istediğiniz düzenleyiciyi söylemeyi unutmayın; bunu, &okular;'ın AyarlarOkular Uygulamasını Yapılandır... iletişim kutusunun Düzenleyici sayfasında yapabilirsiniz. + + Düzenleyici yapılandırması ile ilgili daha ayrıntılı bilgi için bu kılavuzun ilgili bölümüne gidin. + + + &okular;'ı Yapılandırmak + + + + + + &okular; içinde düzenleyiciyi yapılandırmak + + &okular; içinde düzenleyiciyi yapılandırmak + + + + + + + &okular; Gelişmiş Özellikleri + + Gömülü Dosyalar + Geçerli belgede bazı gömülü dosyalar varsa onu açtığınızda sayfa görünümünün üzerinde sizi gömülü dosyalar hakkında bilgilendiren bir çubuk görünecektir. + + Gömülü dosyalar çubuğu + + + + + + Gömülü dosyalar çubuğu + + + + Bu durumda, ya çubuk metnindeki bağlantıya tıklayabilir ya da gömülü dosyalar iletişim kutusunu açmak için DosyaGömülü Dosyalar yolunu izleyebilirsiniz. İletişim kutusu, gömülü dosyaları görüntülemenize ve onları çıkarmanıza olanak tanır. + + + Formlar + Geçerli belgede formlar varsa açtığınızda sayfa görünümünün üzerinde formları etkinleştirebileceğiniz bir çubuk görünecektir. + + Formlar çubuğu + + + + + + Formlar çubuğu + + + + Bu durumda, ya çubuktaki Formları Göster üzerine tıklayabilir ya da veriyi form alanlarına girmek için GörünümFormları Göster yolunu izleyebilirsiniz. + + + İmzalar + Geçerli belgede imzalar varsa belgeyi açtıktan sonra sayfa görünümünün üstünde bir imzalar çubuğu görünecektir. Bu, Signatures panelini açmanıza olanak tanır. + + İmzalar çubuğu + + + + + + İmzalar çubuğu + + + + İmzalar panelini kullanarak belge imzalarını ve sertifikalarını denetleyebilirsiniz. + + İmzalar paneli + + + + + + İmzalar paneli + + + + + Bu özellik yalnızca &PDF; belgeleri için kullanılabilirdir. Çoğu imza bilgisini alabilmek için Poppler'ın en az 0.51 sürümünü, imza konum/gerekçe bilgisini almak için 0.68 sürümünü ve imza sertifikası bilgisini almak için 0.73 sürümünü kurmanız gerekir. + + + Sayısal İmzalar Eklemek + Belgelerinize, Araçlar menüsündeki ilgili eylemi kullanarak imzalar ekleyebilirsiniz. + Bir belgeyi imzalayabilmek için sisteminizde doğru bir PKCS imzalama sertifikasının kullanılabilir olması gerekir. &okular;'ın böyle sertifikalar oluşturma yeteneği yoktur; çünkü bu tür sertifikalar doğrulama gerektirdiklerinden; ancak yetkili sertifika organları tarafından verilebilirler. + &PDF; belgelerinin imzalanmasını işlemek için Poppler kitaplığını kullanırız. Poppler da sertifikaları işlemek için NSS kitaplığını kullanır. Bu belgenin yazıldığı tarihte, Poppler sırasıyla aşağıdaki NSS sertifikası depolarını kullanmaya çalışır (ilk var olanı): + + Geçerli Firefox kullanıcı sertifikası deposu. + Sistem geneli /etc/pki/nssdb sertifika deposu. + Geçerli kullanıcının $HOME/.pki/nssdb deposu + + Özel bir sertifika deposu kullanmak istiyorsanız bunu Arka Uçları Yapılandır... iletişim kutusunun &PDF; Arka Ucu Yapılandırması bölümünden ayarlayabilirsiniz. + + Bu özellik yalnızca &PDF; belgeleri için kullanılabilirdir. Bir belgeye sayısal imzalar ekleyebilmek için Poppler kitaplığının en az 21.01 sürümünün kurulu olması gerekir. + + + + + Bilgi Notları + &okular;, belgelerinizi gözden geçirmenize ve bilgi notları eklemenize olanak tanır. + + &okular;'ın Bilgi Notları + + + + + + &okular;'ın Bilgi Notları + + + + &okular;'da iki tür bilgi notu vardır: + Metin içeren belgeler için Sarı Vurgulayıcı ve Siyah Altı Çizili gibi notlar kullanılabilir (⪚, &PDF;). + Açılır Not, İç Not, Serbest Çizim, Vurgulayıcı, Düz Çizgi, Çokgen, Damga, Altı Çizili, Elips ve Daktilo gibi grafiksel bilgi notları. + Grafiksel bilgi notları &PDF; dosyalarıyla sınırlı değildirler; &okular;'ın desteklediği herhangi bir dosyada kullanılabilirler. + Bilgi Notları menüsünü kullanarak, yorumlar eklemek veya düzenlemek için Açılır Not veya başka bir tür bilgi notu ekleyebilirsiniz. + + &okular;'da bu "belge arşivleme" özelliği vardır. Bu, belgeyi ve belgeyle ilişkili çeşitli üst veriyi taşımak için &okular;'a özel bir biçimdir (şu anda yalnızca bilgi notlarını destekler). DosyaFarklı Kaydet menüsüne gidip Süzgeç seçicisinde belge türü olarak Okular belge arşivi'ni seçtiğinizde bir "belge arşivi" kaydedebilirsiniz. Böyle kaydedilen belgeler dosya uzantısı olarak .okular alırlar. Bir &okular; belge arşivini açmak için normal bir &PDF; belgesini açarmışçasına onu &okular; ile açın. + Ayrıca, bilgi notlarını doğrudan &PDF; dosyalarının içine kaydedebilirsiniz. Geçerli dosyanın üzerine kaydetmek için Dosya Kaydet ögesini veya yeni bir dosyaya kaydetmek için Dosya Farklı Kaydet... ögesini kullanın. + + DRM kullanan dosyalarda bilgi notu eklenmesi, onların düzenlenmesi veya kaldırılması geçerli olamaz. + + + Bir bilgi notunu, Edit menüsünden Geri Al veya Yinele yapabilirsiniz. Son eylemi &Ctrl;Z yaparak geri almak ve &Ctrl;&Shift;Z yaparak yinelemek olanaklıdır. + + Her bir bilgi notu aracının öntanımlı özelliklerini ve görünüşünü yapılandırabilirsiniz. Lütfen belgelendirmenin ilgili bölümüne bir göz atın. + + Bilgi notları eklemek + Belgeye bilgi notları eklemek için ana &okular; araç çubuğundaki Tez Bilgi Notları düğmesini kullanabilir veya bilgi notu araç çubuğunu etkinleştirebilirsiniz. Bu, AraçlarBilgi Notları yolunu izleyerek veya F6 düğmesine basılarak yapılır. Bilgi notları araç çubuğu gösterildiğinde herhangi bir notu kullanmak için düğmelerinden birine basın veya klavye kısayollarını kullanın (1 ile 9 arası düğmeler). + Bilgi notu araç çubuğu çizimler, şekiller ve metin iletileriyle ek açıklamalar oluşturmanıza yardımcı olur. Bir belgeyi işaretlemek için bilgi notu araç çubuğunu kullanabilirsiniz (örneğin; çizgiler, elipsler, çokgenler, damgalar, vurgular, alt çizgiler vb. eklemek için). Aşağıdaki tablo, öntanımlı bilgi notu araç çubuğu düğmeleri kümesinin tam olarak ne yaptığını açıklamaktadır. + + + + + Düğme + Araç Adı + Açıklama + + + + + + + + + + + + + + + Vurgulayıcı + + + Belgedeki metni belirli bir arka plan rengiyle vurgular. + Araç düğmesine tıklayın, ardından &LMB; ile tıklayın ve bir metin parçacığını vurgulamak için sürükleyin. + Vurgulayıcı Tür'ünü (Vurgu, Dalgalı Çizgili, Altı Çizili veya Üzeri Çizili), Renk'ini ve Matlık'ını tanımlamak da olanaklıdır. Yalnızca vurgulanan metnin üzerine sağ tıklayın ve Properties menü ögesini kullanın. + + + + + + + + + + + + + + Altı Çizili + + + Metnin altını düz bir çizgiyle çizer. + Araç düğmesine tıklayın, ardından &LMB; ile tıklayın ve bir metin parçacığının altını çizmek için sürükleyin. + Altı çizili metin Tür'ünü (Vurgu, Dalgalı Çizgili, Altı Çizili veya Üzeri Çizili), Renk'ini ve Matlık'ını tanımlamak da olanaklıdır. Yalnızca altı çizilen metnin üzerine sağ tıklayın ve Properties menü ögesini kullanın. + + + + + + + + + + + + + + Dalgalı Çizgili + + + Metnin altını dalgalı bir çizgiyle çizer. + Araç düğmesine tıklayın, ardından &LMB; ile tıklayın ve bir metin parçacığının altını dalgayı çizgiyle çizmek için sürükleyin. + Altı çizili metin Tür'ünü (Vurgu, Dalgalı Çizgili, Altı Çizili veya Üzeri Çizili), Renk'ini ve Matlık'ını tanımlamak da olanaklıdır. Yalnızca altı çizilen metnin üzerine sağ tıklayın ve Properties menü ögesini kullanın. + + + + + + + + + + + + + + Üzeri Çizili + + + Metinlerin üzerini çizer. + Araç düğmesine tıklayın, ardından &LMB; ile tıklayın ve bir metin parçacığının üzerini çizmek için sürükleyin. + Altı çizili metin Tür'ünü (Vurgu, Dalgalı Çizgili, Altı Çizili veya Üzeri Çizili), Renk'ini ve Matlık'ını tanımlamak da olanaklıdır. Yalnızca altı çizilen metnin üzerine sağ tıklayın ve Properties menü ögesini kullanın. + + + + + + + + + + + + + + Daktilo + + + Saydam bir arka plana metin ekler. Bu, tümleşik düzenlenebilir metin alanlarının bulunmadığı formları doldurmak için kullanışlıdır. + Araç düğmesine tıklayın, ardından metnin sol üst köşesini eklemek istediğiniz yere &LMB; ile tıklayın, ardından sağ alt köşeyi yerleştirmek için sürükleyin. Biraz metin yazın, ardından kaydetmek için Tamam'a, metni temizleyip baştan başlamak için Temizle'ye veya iptal etmek için İptal'e tıklayın. + Metnin Yazıtipi'ni ve Metin rengi'ni tanımlamak olanaklıdır. Oluşturulan metnin üzerine sağ tıklayın ve Özellikler menü ögesini seçin. + + + + + + + + + + + + + + İç Not + + + Satır içi bir not çizer. Not olduğu gibi satır içi olarak gösterilecektir. + Araç düğmesine tıklayın, ardından notun sol üst köşesini eklemek istediğiniz yere &LMB; ile tıklayın, ardından sağ alt köşeyi yerleştirmek için sürükleyin. Notunuzu yazın, ardından kaydetmek için Tamam'a, notu temizleyip baştan başlamak için Temizle'ye veya iptal etmek için İptal'e tıklayın. + Notun Renk'ini, Matlık'ını Yazıtipi'ni, Hizalama'sını ve Kenarlık genişliği'ni tanımlamak olanaklıdır. Oluşturulan notun üzerine sağ tıklayın ve Özellikler menü ögesini seçin. + + + + + + + + + + + + + + Açılır Not + + + Çok satırlı bir not çizer. Not, belgede oluşturulan simgeye çift tıklanarak görüntülenebilir. + Araç düğmesine tıklayın, ardından belgede açılır notun eklenmesi gereken yere tıklayın. Açılır notun metnini girin ve ardından açılır pencerenin sağ üst köşesindeki Bu notu kapat düğmesine tıklayın. + Notun Renk'ini, Matlık'ını ve Simge'sini tanımlamak olanaklıdır. Oluşturulan notun üzerine sağ tıklayın ve Özellikler menü ögesini seçin. + + + + + + + + + + + + + + Serbest Çizim + + + Serbest biçimli çizgiler çizer. + Araç düğmesine tıklayın, ardından &LMB; ile tıklayın ve çizgiyi çizmek için sürükleyin. + Çizginin Renk'ini, Matlık'ını ve Genişlik'ini tanımlamak olanaklıdır. Oluşturulan çizginin üzerine sağ tıklayın ve Özellikler menü ögesini seçin. + + + + + + + + + + + + + + Ok (Açılır Liste) + + + İki nokta arasında bir ok çizer. + Araç düğmesine tıklayın, ardından okun başlangıç noktasını yerleştirmek için &LMB; ile tıklayın, ardından çizginin bitiş noktasını yerleştirmek için sürükleyin ve bir kez daha tıklayın. + Çizginin Renk'ini, Matlık'ını, Genişlik'ini, Çizgi başı'nı, Çizgi sonu'nu, Lider çizgi uzunluğu'nu ve Lider çizgi uzantısı uzunluğu'nu tanımlamak olanaklıdır. Oluşturulan çizginin üzerine sağ tıklayın ve Özellikler menü ögesini seçin. + + + + + + + + + + + + + + Düz Çizgi (Açılır Liste) + + + İki nokta arasında bir çizgi çizer. + Araç düğmesine tıklayın, ardından çizginin başlangıç noktasını yerleştirmek için &LMB; ile tıklayın, ardından çizginin bitiş noktasını yerleştirmek için sürükleyin ve bir kez daha tıklayın. + Çizginin Renk'ini, Matlık'ını, Genişlik'ini, Çizgi başı'nı, Çizgi sonu'nu, Lider çizgi uzunluğu'nu ve Lider çizgi uzantısı uzunluğu'nu tanımlamak olanaklıdır. Oluşturulan çizginin üzerine sağ tıklayın ve Özellikler menü ögesini seçin. + + + + + + + + + + + + + + Dörtgen (Açılır Liste) + + + Seçili alan çevresinde bir dörtgen çizer. + Araç düğmesini tıklayın, ardından dikdörtgenin sol üst köşesini yerleştirmek için &LMB; ile tıklayın, ardından sağ alt köşeyi yerleştirmek için sürükleyin. + Kenarlığın Tür'ünü (Dörtgen veya Elips), Renk'ini, Matlık'ını, Renk dolgusu'nu (ve dolgunun rengini) ve Genişlik'ini tanımlamak olanaklıdır. Yalnızca oluşturulan kenarlığın üzerinde sağ tıklayın ve Özellikler menü ögesini seçin. + + + + + + + + + + + + + + Elips (Açılır Liste) + + + Seçili bir alanın çevresine bir elips veya dikdörtgen çizer. + Araç düğmesine tıklayın, ardından &LMB; ile tıklayın ve elips için çevrelenmiş dikdörtgenin sol üst köşesini yerleştirmek için basılı tutun, ardından sağ alt köşeyi yerleştirmek için sürükleyin. + Kenarlığın Tür'ünü (Dörtgen veya Elips), Renk'ini, Matlık'ını, Renk dolgusu'nu (ve dolgunun rengini) ve Genişlik'ini tanımlamak olanaklıdır. Yalnızca oluşturulan kenarlığın üzerinde sağ tıklayın ve Özellikler menü ögesini seçin. + + + + + + + + + + + + + + Çokgen (Açılır Liste) + + + Üç veya daha fazla çizgi parçasından kapalı bir şekil çizer. İlgili not çokgenin içine çift tıklanarak görüntülenebilir. + Araç düğmesine tıklayın, ardından çokgenin ilk köşesini yerleştirmek için &LMB; ile tıklayın, ardından ikinci köşenin yerine sürükleyin. Çokgenin tamamını çizip ilk köşeye bağlanana kadar sürdürün. Çokgene bir not eklemek için iki kez tıklayın. Notun metnini girin ve kaydetmek için Tamam düğmesine, notu temizlemek için Temizle düğmesine veya not girişini iptal etmek için İptal düğmesine tıklayın. + Çokgenin Renk'ini, Matlık'ını, Şekil dolgusu'nu (ve dolgu rengini) ve Genişlik'ini tanımlamak olanaklıdır. Oluşturulan çokgenin üzerine sağ tıklayın ve Özellikler menü ögesini seçin. + + + + + + + + + + + + + + Damga + + + Belgeye önceden tanımlanmış bir şekil ekler. + Açılan listeden damgayı seçmek için araç düğmesine tıklayın ve ardından damgayı yerleştirmek için &LMB; ile tıklayın. + Tek bir tıklama yalnızca kare bir damga yerleştirir (simgeler için kullanışlıdır). Dikdörtgen bir damga eklemek için &LMB; ile tıklayıp sol üst noktayı yerleştirmek için basılı tutabilir, ardından sağ alt noktayı yerleştirmek için sürükleyebilirsiniz. + Damganın Matlık'ını ve Damga simgesi'ni tanımlamak olanaklıdır. Oluşturulan damganın üzerine sağ tıklayın ve Özellikler menü ögesini seçin. + + Bu özellik deneyseldir. &PDF; belgelerine eklenen özel damgalar, &okular; dışındaki &PDF; okuyucularında görünmez. + + + + + + + Bunlar &okular; tarafından sağlanan öntanımlı bilgi notlarıdır. Yapılandırma iletişim kutusunun Bilgi Notları sayfasını kullanarak, bölgeleri vb. vurgulamak için özel damgalar, metin işaretlemesi veya iç renkli geometrik şekil gibi kendi açıklamalarınızı ekleyebilirsiniz. + + Bilgi notları metnine &latex; kodları eklemek olanaklıdır. Bunu yapmak için bilgi notu metnine $$kod$$ ekleyin. kod yerine herhangi bir geçerli &latex; denklemini girebilirsiniz. Sisteminizde kurulu bir &latex; dağıtımını kullanarak oluşturmak için ekranda görünecek yönergeleri izleyin. + + Bilgi Notları araç çubuğunun kendisini kullanarak seçilen aracı yapılandırmak olanaklıdır: + + + + + Düğme + Seçenek Adı + Açıklama + + + + + + + + + + + + + + + Çizgi genişliği + + + Açılır listeden genişliği seçmek için bu düğmeye tıklayın. + + + + + + + + + / + + + + + + + Bilgi notu rengi + + + Bilgi notu metninin veya kenarlığının rengini seçmek için bu düğmeye tıklayın. Önceden tanımlanmış renklerden birini seçebilir veya renk seçimi iletişim kutusunu açmak için Özel Renk... ögesine tıklayabilirsiniz. + + + + + + + + + + + + + + Bilgi notu dolgu rengi + + + Bilgi notu dolgu rengini seçmek için bu düğmeye tıklayın. Önceden tanımlanmış renklerden birini seçebilir veya renk seçimi iletişim kutusunu açmak için Özel Renk... ögesine tıklayabilirsiniz. + + + + + + + + + + + + + + Bilgi notu matlığı + + + Açılır listeden bilgi notu matlığını seçmek için bu düğmeye tıklayın (%​100, mat ek açıklamalar oluşturur). + + + + + + + + + + + + + + Bilgi notu yazıtipi + + + Yazıtipi seçimi iletişim kutusunu açmak için bu düğmeye tıklayın. + + + + + + + + + + + + + + Geçerli bilgi notu aracı için gelişmiş ayarlar + + + Bilgi notu için genel yapılandırma iletişim kutusunu açmak için bu düğmeye tıklayın. + + + + + + Bilgi notu araç çubuğunda üç adet ek izlence düğmesi vardır: + + + + + Düğme + Açıklama + + + + + + + + + + + + + + + Geçerli bilgi notunu ana araç çubuğundaki Tez Bilgi Notları menüsüne ekleyin. + + Bilgi notu araç çubuğu gizli olsa bile &Alt;9 ile &Alt;0 arasındaki kısayollarla istediğiniz tez bilgi notu aracını seçebilirsiniz. + + + + + + + + + + + + + + + İşaretlendiğinde, geçerli bilgi notu aracını kullanım sonrasında etkin tutarsınız. + + + + + + + + + + + + + + Bilgi notu araç çubuğunu gizleyin. + + + + + + &Shift; düğmesini basılı tutarak, çizgi ve çokgen bilgi notu araçlarının açısını ve şekil bilgi notlarının (örneğin, Dörtgen, Elips) açısını 15° adımlara kısıtlayabilirsiniz. Ayrıca, Araç Çubuklarını Yapılandır... ile araç çubuğu düğmeleri koyabilirsiniz. + Tez Bilgi Notları menüsünün içeriği, &okular; yapılandırma iletişim kutusunun bilgi notları sayfası kullanılarak yapılandırılabilir. Bu sayfayı açmak için Tez Bilgi Notları düğmesine basın, sonrasında açılır menüden Bilgi Notlarını Yapılandır... ögesini seçin. + + Bilgi notu araç çubuğunu etkinleştirmek, kendiliğinden Göz At kipine geçilmesine neden olur. + + Kullandığınız bilgi notu düğmesine yeniden veya &Esc; düğmesine basarak not eklemeyi istediğiniz zaman durdurabilirsiniz. + Yeni oluşturulan bilgi notunun yazarı, &okular; yapılandırma iletişim kutusunun Bilgi Notları sayfasında ayarlanan kişiye (size) ayarlanır. Bilgi Notları sayfası aynı zamanda, bilgi notları araç çubuğunun içeriğini ayarlamak için de kullanılabilir. + + + Bilgi notlarını kaldırmak + Bir bilgi notunu kaldırmak için önce Göz At aracını seçin (AraçlarGöz At), sonrasında &RMB; ile tıklayın ve Sil'i seçin veya bir bilgi notunu &LMB; ile seçip klavyede ∇ düğmesine basın. + Bilgi notunu kaldırırken, penceresi açıksa kapatılır. + + + Bilgi notlarını düzenlemek + Bir bilgi notunu düzenlemek için önce Göz At aracını seçin (AraçlarGöz At), sonrasında &RMB; ile bir bilgi notunun üzerine tıklayın ve Özellikler'i seçin. Genel bilgi notu ayarlarını (renk, matlık, yazar vb.) ve o bilgi notu türüne özel ayarları içeren bir iletişim kutusu açılacaktır. + + Bilgi Notu Özellikleri İletişim Kutusu + + + + + + Bilgi Notu Özellikleri İletişim Kutusu + + + + Bir bilgi notunu taşımak için &Ctrl; düğmesini basılı tutun, üzerinde fare işaretçisini hareket ettirin ve &LMB; ile sürüklemeye başlayın. + Bir bilgi notuna &LMB; ile tıklarsanız seçilir. Seçim dikdörtgeninde yeniden boyutlandırma tutaçları görünür. İmleç köşelerdeki veya kenarlardaki 8 yeniden boyutlandırma tutacından birinin üzerine getirildiğinde, imlecin şekli yeniden boyutlandırma kipini gösterecek şekilde değişir. Notu taşımak için başka bir yere tıklayın. &Esc; düğmesine basmak veya bilgi notunun dışındaki bir alanı tıklatmak seçimi iptal eder. + Yeniden boyutlandırma yalnızc İç Not, Daktilo, Damga ve Elips bilgi notu türleri için kullanılabilirdir. + + + Bazı seçenekler, belgenin izinlerine bağlı olarak devre dışı olabilir (bu genellikle yalnızca bazı &PDF; belgelerini etkiler). + + + + + Yer İmi Yönetimi + &okular; çok esnek bir yer imi sistemine sahiptir. &okular;, sayfadaki konumu yer imine kaydeder ve sayfa başına birden fazla yer imi tanımlamanıza olanak tanır. + &okular;'da yer imlerini yönetmek için Kenar Çubuğu'ndan, Yer İmleri Menüsü'nden veya belge görünümünün bağlam menüsünden (&RMB; ile tıklayın) Yer İmleri'ni kullanabilirsiniz. + + Yer İmleri görünümü + Yer İmleri görünümünü açmak için Kenar Çubuğu’ndaki Yer İmleri sekmesine tıklayın. Kenar Çubuğu gösterilmiyorsa onu görünür yapmak için araç çubuğundaki Kenar Çubuğu’nu Göster düğmesine veya menü ögesine veya F7 AyarlarKenar Çubuğunu Göster menü ögesine tıklayın. + + Yer İmleri görünümü bağlam menüsü + + + + + + Yer İmleri görünümü bağlam menüsü + + + + Yalnızca geçerli belge için olan yer imlerini göstermek için Tüm belgeler için göster işaret kutusunun işareti kaldırılabilir. + Yer İmleri görünümünün üst kısmındaki süzgeç çubuğu, metin kutusundaki metne göre yer imleri listesi panelinin içeriğini süzmek için kullanılabilir. + Liste paneli, yer imleri listesini bir ağaç tarzında görüntülemeye izin verir; listedeki her bir belge < veya yanındaki v simgesine tıklanılarak genişletilebilir veya daraltılabilir. + Belge ögesinin sağ tık menüsü, belgeyi açmak, ögesini yeniden adlandırmak veya listeden kaldırmak için kullanılabilir. Bir belge ögesinin kaldırılmasının, ilgili belgedeki tüm yer imlerinin de kaldırılmasına yol açacağını unutmayın. + Bireysel yer imi ögelerinin sağ tık menüleri, yer imine gitmenize, onu yeniden adlandırmanıza veya kaldırmanıza olanak tanır. + İçindekiler tablosundaki ögelere ilişkin sağ tık menüsü, yer imleri oluşturmak veya sonraki veya önceki yer imlerine gitmek için kullanılabilir. + + + + + Komut Satırı Seçenekleri + &okular; çoğunlukla &kde; program menüsünden veya bir masaüstü simgesinden başlatılabilse de, bir uçbirim penceresinin komut satırı isteminden de açılabilir. Bunu yaparken kullanılabilecek birkaç yararlı seçenek vardır. + + Bir Dosya Belirt + Kullanıcı, belirli bir dosyanın yolunu ve adını belirterek, &okular;'ın bu dosyayı başlatma sırasında hemen açmasını sağlayabilir. Bu seçenek aşağıdaki gibi görünebilir: + % okular + + + &PDF; belgeleri için ad, belge_adı#konum_adı olarak verilebilir. Burada konum_adı, belgenin içinde gömülü olan belirli bir konum olabilir. + + + + Diğer Komut Satırı Seçenekleri + Aşağıdaki komut satırı seçenekleri kullanılabilirdir + + + okular + Verilen sayfa numarasını belgede aç. Aynı zamanda, okular olarak da kullanılabilir + + + okular + Belgeyi sunum kipinde başlat. + + + okular + Yazdırma iletişim kutusuyla başlat. + + + okular + Yazdırma iletişim kutusuyla başlat ve yazdırma sonrası çık. + + + okular + Benzersiz örnek denetimi. + + + okular + Başlangıç sonrası &okular; penceresinin yükseltilmesini önler. + + + okular + Verilen diziyi belgede bulmayı ve onu vurgulamayı dener. Yalnızca okular komutuna argüman olarak 1 belge verilmişse çalışır. + + + okular + Dış düzenleyici komutunu ayarlar. Düzenleyici komutunu halihazırda çalışan bir &okular; örneğinde ayarlayamazsınız. Komut satırında düzenleyici komutunu ayarlarken seçeneğinin desteklenmediğini unutmayın. + + + + + + Pencereyi Sayfaya Sığdır + Pencereyi sayfaya sığdır özelliği, pencereyi, geçerli yakınlaştırma çarpanındaki sayfayla tam olarak aynı boyutta olacak şekilde yeniden boyutlandırır. Sayfa ekrana tam olarak sığmazsa pencere sayfanın olabilen en büyük kısmı gösterilecek şekilde büyütülür. + Bu özelliğe &Ctrl;J klavye kısayoluyla erişilebilir. + + + + + Menü Çubuğu + + + Dosya Menüsü + + + + &Ctrl;O Dosya Aç... + + + Desteklenen bir dosyayı veya &okular; belge arşivini açın. Halihazırda açık bir dosya varsa kapatılır. Daha fazla bilgi için Belgeler Açmak ile ilgili bölüme bakın. + + + + + + Dosya Son Kullanılanı Aç + + + Bir alt menüden daha önce kullanılmış bir dosyayı açın. Halihazırda açık bir dosya varsa kapatılır. Daha fazla bilgi için Belgeler Açmak ile ilgili bölüme bakın. + + + + + + Dosya PostScript’i &PDF; Olarak İçe Aktar... + + + Bir &PostScript; dosyasını açın ve onu &PDF;'ye dönüştürün. + + + + + + &Ctrl;&Shift;T Dosya Sekme Kapatmayı Geri Al + + + Son kapatılan belgeyi yeniden açın. Bu seçenek, geçerli oturumda daha önceden bir belge kapatmışsanız etkin olur. + + + + + + Dosya İçeren Klasörü Aç + + + Geçerli belgeyi içeren klasörü yeğlediğiniz dosya yöneticisinde açar. Bu, özellikle internetten indirdiğiniz ve &okular; ile açılan bir &PDF; dosyasını bulmak için yararlıdır. Dosyanın konumu açık olmayabilir veya bu özellik olmadan bulması zor olabilir. Ancak günümüzde çoğu web tarayıcısı indirmeler için sistem öntanımlısı İndirmeler klasörünü kullanır. + + + + + + &Ctrl;S Dosya Kaydet + + + Belge arka ucu desteklediği sürece, belgedeki tüm değişiklikleri (bilgi notları, formlar vb.) kaydeder. Arka uç bu değişiklikleri desteklemiyorsa bu değişikliklerden vazgeçmek veya belgeyi bir &okular; belge arşivi olarak kaydetmek seçeneği sunulur. + + + + + + &Ctrl;&Shift;S Dosya Farklı Kaydet... + + + Belge arka ucu desteklediği sürece, belgedeki tüm değişiklikleri (bilgi notları, formlar vb.) yeni bir adla bir kopyaya kaydeder. Arka uç bu değişiklikleri desteklemiyorsa bu değişikliklerden vazgeçmek veya belgeyi bir &okular; belge arşivi olarak kaydetmek seçeneği sunulur. + + Bunun uygulanma biçimi nedeniyle, dosyada herhangi bir değişiklik olmasa bile, yeni dosyanın özgün dosyanın tam bir bit kopyası olması gerekmediğini unutmayın (örneğin, farklı bir SHA-1 sağlaması gibi). + + + + + + + F5 Dosya Yeniden Yükle + + + Şu anda açık dosyayı yeniden yükleyin. + + + + + + &Ctrl;P Dosya Yazdır... + + + Şu anda görüntülenen belgeyi yazdırın. &okular;'ın &PDF; yazdırması için çeşitli seçenekler sunduğunu aklınızdan çıkarmayın; bu seçeneklere Seçenekler +> +> ve sonrasında &PDF; Seçenekleri ile ulaşabilirsiniz. Bazı sembollerin yazdırılmasında sorun yaşıyorsanız veya ölçek kipini değiştirmeniz gerekiyorsa bilgi notlarınızı yazdırmak veya rasterleştirme kipini yapılandırmak için bu seçenekleri kullanın. + + Ölçek kipi seçenekleri yalnızca Rasterleştirmeyi zorla seçeneğini işaretlerseniz kullanılabilir. + + + + + + + Dosya Yazdırma Önizlemesi... + + + Şu anda görüntülenen belgenin öntanımlı seçeneklerle yazdırılması durumunda nasıl görüneceğinin bir önizlemesini gösterin. + + + + + + &Alt;Dönüş Dosya Özellikler + + + Belge hakkında; başlığı, yazarı, oluşturulma tarihi ve kullanılan yazıtipleri gibi bilgileri içeren bazı temel bilgileri görüntüleyin. Kullanılabilir bilgiler, belgenin türüne bağlı olarak değişir. + + Lütfen Özellikler iletişim kutusunun Yazıtipleri sekmesindeki yazıtipi değiştirme ile ilgili bilgilere dikkat edin. Yazıtipi sunumu ile ilgili birçok sorun, değiştirilen yazıtiplerini kurarak çözülebilir. + + + + + + Dosya Gömülü Dosyalar... + + + Belgede varsa gömülü dosyaları gösterin. Daha fazla bilgi için Gömülü Dosyalar ile ilgili bölüme bakın. + + + + + + Dosya Farklı Dışa Aktar + + + Bu öge, geçerli belgenin dışa aktarılabileceği biçimlerin bir listesini içerir. Her tür belge için ilk girdi her zaman Düz Metin... olarak ayarlıdır. + İkinci girdi ise Belge Arşivi'dir. Bu biçim, belgeyi notlarınızla birlikte &okular;'a özel bir arşiv biçimine kaydetmenize olanak tanır. Böylece başka &okular; kullanıcılarıyla özgün belgeyi kolaylıkla paylaşabilir veya üzerinde birlikte çalışabilirsiniz. + + + + + + Dosya Paylaş + + + Bu öge, geçerli belgeyi diğer kişilerle paylaşmak veya aygıtlarınıza göndermek için kullanılabilecek hizmetleri içerir. Bu alt menüdeki girdiler sistem tarafından denetlenir. Geçerli belge biçimine ve kurulu KPurpose eklentilerine bağlıdırlar. + + + + + + &Ctrl;Q Dosya Çık + + + &okular;'ı kapatın. + + + + + + + Düzen Menüsü + + + + + &Ctrl;Z Düzen Geri Al + + + Son bilgi notu düzenleme komutunu geri alın (bilgi notlarının oluşturulması ve kaldırılması, isteğe bağlı not özelliklerinin düzenlenmesi, notların &Ctrl;+sürükle ile yeniden konumlandırılması ve metin içeriğinin düzenlenmesi vb.). + + + + + + &Ctrl;&Shift;Z Düzen Yinele + + + Bilgi notlarını düzenlerken son geri alma adımını yeniden yapın. + + + + + + + + &Ctrl;C Düzen Kopyala + + + Metin Seçimi kipindeyken seçilen geçerli metni panoya kopyalayın. + + + + + + + + &Ctrl;A Düzen Tümünü Seç + + + Tüm metni seçer (eğer belgede varsa). Bu özellik yalnızca Metin Seçimi kipindeyken çalışır. + + + + + + + + Düzen Geçerli Sayfadaki Tüm Metni Seç + + + Geçerli sayfadaki tüm metni seçer (eğer belgede varsa). + + + + + + + + &Ctrl;F Düzen Bul... + + + Görüntüleme alanının alt kısmında, belgede bir dizi aramanıza olanak tanıyan bulma çubuğunu gösterin. + + + + + + F3 Düzen Sonrakini Bul + + + Belgede daha önce aranan diziyi yeniden bulmaya çalışın. + + + + + + &Shift;F3 Düzen Öncekini Bul + + + Belgede, arama dizisinin bir önceki oluşuna gider. + + + + + + + Görünüm Menüsü + + + + &Ctrl;&Shift;P Görünüm Sunum + + + Sunum Kipi’ni etkinleştirir. Daha fazla bilgi için Sunum Kipi ile ilgili bölüme bakın. + + + + + &Ctrl;&Shift;F Görünüm Tam Ekran Kipi + + + Tam ekran kipini etkinleştirir. Tam ekran kipinin sunum kipinden farklı olduğunu, tam ekran kipinin tek özelliğinin pencere dekorasyonlarını, menü çubuğunu ve araç çubuğunu gizlemesi olduğunu unutmayın. + + + + + &Ctrl;+ Görünüm Yakınlaştır + + + Belge görünümünün büyütmesini artırın. + + + + + + &Ctrl;- Görünüm Uzaklaştır + + + Belge görünümünün büyütmesini azaltın. + + + + + Görünüm %​100’e Yakınlaştır + + + Belge görselini, belge parametrelerinin öngördüğü şekilde gerçek boyutuna yakınlaştırın. + + + + + Görünüm Genişliğe Sığdır + + + Belge görünümünün büyütme oranını, sayfaların genişliğini belge görünümünün genişliğine eşit yapacak bir değerle değiştirin. + + + + + Görünüm Sayfayı Sığdır + + + Belge görünümünün büyütme oranını, en az bir sayfanın tamamını görünür kılacak bir değerle değiştirin. + + + + + Görünüm Kendiliğinden Sığdır + + + Belge görünümünün büyütme oranını, sayfa ve görünüm alanındaki boyut ilişkisine bağlı olarak ya sayfaların genişliğini belge görünümlerinin genişliğine eşit yapacak biçimde (genişliğe sığdır gibi) ya sayfaların yüksekliğini belge görünümlerinin yüksekliğine eşit yapacak biçimde (yüksekliğe sığdır gibi) ya da tüm sayfayı görünür yapacak biçimde (sayfayı sığdır gibi) değiştirin. + + + + + Görünüm Görünüm Kipi + + + Bu alt menü, sayfaları için olar görünüm kipini seçmenize olanak tanır. Olası seçenekler: Tek Sayfa (satır başına tek sayfa), Yüzleşen Sayfalar (satır başına iki sayfa, kitap gibi), Yüzleşen Sayfalar (İlk Sayfayı Ortala) ve Genel Görünüm (sütun sayısı, &okular; ayarlarında belirtildiği gibidir). + Ayrıca Sürekli kipini etkinleştirebilirsiniz. Sürekli kipte belgenin tüm sayfaları gösterilir ve bunlar arasında sorunsuz bir şekilde gezinebilirsiniz. Aksi takdirde, aynı anda yalnızca bir sayfa (veya sayfaların bir satırı) gösterilir. + + + + + Görünüm Yönelim + + + Bu alt menü, belgenin sayfalarının yönelimini değiştirmenize olanak tanır. + + Döndürme, her bir sayfanın yönelimine uygulanır. + + Elle uygulanan tüm döndürmeleri yok sayarak belgenin yönlendirmesini geri yüklemek için Özgün Yönlendirme'yi seçebilirsiniz. + + + + + Görünüm Görünümü Kırp + + + Bu alt menü, sayfaları görüntülerken onların beyaz kenarlıklarını kaldırmanıza (Kenar Boşluklarını Kırp) veya görüş alanını seçime sınırlamanıza (Seçime Kırp) olanak tanır. + Seçime kırpma kipi, belgedeki tüm sayfalara uygulanacak görünür bir sınırlama kutusu tanımlamak için oluşturulan sayfanın üzerine bir seçim çizmenize olanak tanır. Küçük bir kırpma sınırlama kutusu seçmek, en küçük boyut boyutunu zorunlu kılar (toplam sayfa boyutunun yüzdesi olarak %​20). + Kenar boşluklarını kırpma kipi, &okular; uygulamasının yeniden başlatılması sonrasında anımsanır. Seçime kırpma kipi ise unutulur. + &okular;'ı kenar boşluklarını kırpma kipinden seçime kırpma kipine geçirirseniz görünüm, kenar boşluklarını kırpma kipinden kutu seçimi etkileşimine geçiş yapar. + Kırpma kipi, onu bir kez daha etkinleştiren aynı menü ögesi seçilerek devre dışı bırakılabilir. + + + + + Görünüm Formları Göster/Gizle + + + Belgenin form alanlarının görüntülenmesini açar veya kapatır. + + Bu menü ögesi yalnızca geçerli belgede form alanları varsa etkindir. + + + + + + + + + Git Menüsü + + + + Git Önceki Sayfa + + + Belgenin bir önceki sayfasını görüntüler. + + + + + Git Sonraki Sayfa + + + Belgenin bir sonraki sayfasını görüntüler. + + + + + &Ctrl;&Home; Git Belge Başı + + + Belgenin başına gider. + + + + + &Ctrl;&End; Git Belge Sonus + + + Belgenin sonuna gider. + + + + + &Alt;&Shift;&Left; Git Geri + + + Belgenin bir önceki görünümüne gider. + + + + + &Alt;&Shift;&Right; Git İleri + + + Belgenin bir sonraki görünümüne gider. Bu, yalnızca oraya daha önce gittiyseniz çalışır. + + + + + &Ctrl;G Git Sayfaya Git... + + + Belgenin herhangi bir sayfasına gitmek için kullanabileceğiniz bir iletişim kutusu açar. + + + + + + + Yer İmleri Menüsü + + + + &Ctrl;B Yer İmleri Yer İmi Ekle/Yer İmini Kaldır + + + Geçerli konum için bir yer imi ekleyin veya kaldırın. + + + + + Yer İmleri Yer İmini Yeniden Adlandır + + + Geçerli konumdaki yer imini yeniden adlandırın. + + + + + Yer İmleri Önceki Yer İmi + + + Önceki yer imine gidin veya geçerli yer iminden önce yer imi yoksa hiçbir şey yapmayın. + + + + + Yer İmleri Sonraki Yer İmi + + + Sonraki yer imine gidin veya geçerli yer iminden sonra yer imi yoksa hiçbir şey yapmayın. + + + + + Yer İmleri Yer İmi Yok + + + Bu, yalnızca geçerli belgede yer imi yoksa bu menüde görünen, her zaman devre dışı bırakılan bir eylemdir. Aksi takdirde, tüm yer imlerinin bir listesi burada görüntülenir. Bu yer imlerine tıklamak, doğrudan ilgili konuma gitmenizi sağlar. + + + + + + + Araçlar Menüsü + + + + &Ctrl;1 Araçlar Göz At + + + Fare normal davranışına sahip olacaktır; belgeyi sürüklemek ve bağlantıları takip etmek için &LMB; ve yer imleri eklemek ve genişliğe sığdırmak için &RMB;. + + + + + &Ctrl;2 Araçlar Yakınlaştır + + + Fare yakınlaştırma aracı olarak çalışacaktır. &LMB;'ne tıklayıp sürüklemek, görünümü seçilen alana yakınlaştıracaktır; &RMB;'ne tıklamak ise belgeyi önceki yakınlaştırma durumuna geri getirecektir. + + + + + &Ctrl;3 Araçlar Alan Seçimi + + + Fare dikdörtgen bölge seçim aracı olarak çalışacaktır. Bu kipte, &LMB;'ne tıklamak ve sürüklemek bir seçim kutusu çizer ve seçilen içeriği panoya kopyalama, seçilen metni konuşma veya seçim bölgesini bir görsele dönüştürüp bir dosyaya kaydetme seçeneğini sunar. + + + + + &Ctrl;4 Araçlar Metin Seçimi + + + Fare bir metin seçim aracı olarak çalışacaktır. Bu kipte &LMB;'ne tıklamak ve sürüklemek, belgenin metnini seçme seçeneğini sunar. Ardından panoya kopyalamak veya geçerli seçimi konuşmak için &RMB; ile tıklamanız yeterlidir. + + + + + &Ctrl;5 Araçlar Tablo Seçimi + + + Tablo metninin çevresine bir dikdörtgen çizin, ardından metin bloğunu satırlara ve sütunlara bölmek için &LMB; ile tıklayın. Var olan bir satıra &LMB; tıklaması onu kaldırır ve bitişik satırları veya sütunları birleştirir. Son olarak tabloyu panoya kopyalamak için &RMB; ile tıklamanız yeterlidir. + + + + + &Ctrl;6 Araçlar Büyüteç + + + Fare işaretçisi için büyüteç kipini etkinleştirir. Büyüteç araç takımını etkinleştirmek için &LMB;'ni basılı tutun, belgede gezinmek için işaretçiyi hareket ettirin. Büyüteç, belgedeki her pikseli, büyüteç araç takımında 10 piksele ölçeklendirir. + + + + + F6 Araçlar Bilgi Notları + + + Bilgi notu araç çubuğunu açar. Bilgi notu araç çubuğu, okuduğunuz belgeye notlar eklemenize olanak tanır. Daha fazla bilgi için Bilgi Notları ile ilgili bölüme bakın. + + + + + Araçlar Sayısal Olarak İmzala... + + + Sayısal imza oluşturma iş akışını başlatır. Sayısal imzaların eklenmesi şu aşamada yalnızca PDF dosyaları için desteklenir. Daha fazla bilgi için Sayısal İmzalar Eklemek bölümüne bakın. + + + + + Araçlar Tüm Belgeyi Konuş + + + Araçlar Geçerli Sayfayı Konuş + + + Araçlar Konuşmayı Durdur + + + Araçlar Konuşmayı Sürdür/Duraklat + + + Bu ögeler, belgenin tamamını veya yalnızca geçerli sayfayı seslendirmenize ve sistemin konuşma hizmetini kullanarak konuşmayı bırakmanıza olanak tanır. Bu hizmet, &Linux;'taki konuşma göndericiyi ve diğer platformlardaki yerel konuşma sistemlerini kapsayan bir &Qt; kitaplığı tarafından sağlanır. Geçerli sesi &okular; Erişilebilirlik yapılandırma sayfasında seçebilirsiniz. + Konuş ... eylemleri yalnızca sisteminizde bir konuşma hizmeti kullanılabiliyorsa etkinleştirilir. + + + + + + + Ayarlar ve Yardım Menüsü + &kde; Temelleri belgelendirmesinin Menü bölümünde açıklanan ortak &kde; Ayarlar ve Yardım menülerine ek olarak, &okular;'da aşağıdaki uygulamaya özel menü girdileri vardır: + + + + F7 Ayarlar Kenar Çubuğunu Göster + + + Kenar Çubuğu’nu gösterir veya gizler. + + + + + Ayarlar Sayfa Çubuğunu Göster + + + &okular; penceresinde dikey alandan tasarruf etmek için belge alanının alt kısmında bulunan sayfa çubuğunu açar/kapatır. Sayfa numaraları her halükarda öntanımlı araç çubuğunda gösterileceklerdir. + + + + + Ayarlar Arka Uçları Yapılandır... + + + Arka Uç Yapılandırması iletişim kutusunu açar. + + + + + + + + &okular; Arka Uçlarını Yapılandırmak + &okular; arka uçlarını Ayarlar Arka Uçları Yapılandır... seçimini yaparak yapılandırabilirsiniz. Şu anda yalnızca; EPub, &PostScript;, FictionBook, Txt, OpenDocument Text ve &PDF; arka uçları için yapılandırma seçenekleri sağlanır. + + Arka uçlar yapılandırmasi iletişim kutusu + + + + + + Arka uçlar yapılandırması iletişim kutusu + + + + EPub, FictionBook, Mobipocket, Markdown, TXT ve OpenDocument Text için arka uç yapılandırma sayfalarını kullanarak belgeleri ilgili biçimlerde sunmak için yazıtipini tanımlayabilirsiniz. Bu sayfalardaki Seç... düğmesi, standart &kde; yazıtipi yapılandırma penceresini açar. Ayrıntılar için &kde; Temelleri belgelendirmesine başvurun. + Markdown, &PostScript; ve &PDF; arka uçlarının yapılandırma sayfalarının açıklamaları aşağıda bulunabilir. + + Markdown arka ucu yapılandırması + Yapılandırma iletişim kutusunun sol tarafındaki listeden Markdown'u seçip Discount tabanlı &okular; arka ucunu seçebilirsiniz. Aşağıda ek bir yapılandırma seçeneğini bulabilirsiniz. + + + + + SmartyPants biçimlendirmesini etkinleştir + + + Bu seçenek, işaretlendiğinde &okular;'ın SmartyPants biçimlendirmesini işlemesine olanak tanır. Bu biçimlendirme türü teknik metinlerde sorun yaratabilir; çünkü istenmeyebilecek değişimler yapar (örneğin, (C)'yi telif hakkı sembolüyle değiştirir). Bu seçenek öntanımlı olarak işaretlidir. + + + + + + + &PostScript; arka ucu yapılandırması + Yapılandırma iletişim kutusunun sol tarafındaki listeden Ghostscript'i seçip Ghostscript tabanlı &okular; &PostScript; arka ucunu seçebilirsiniz. Aşağıda ek bir yapılandırma seçeneğini bulabilirsiniz. + + + + + Platform yazıtiplerini kullan + + + Bu seçenek Ghostscript’in platform yazıtiplerini kullanmasına izin verilip verilmeyeceğini belirler; işaretlenmezse yalnızca belgeye gömülü yazıtiplerinin kullanımına izin verilir. Bu seçenek öntanımlı olarak işaretlidir. + + + + + + + &PDF; arka ucu yapılandırması + Yapılandırma iletişim kutusunun sol tarafındaki listeden &PDF;'yi seçip Poppler tabanlı &okular; &PDF; arka ucunu seçebilirsiniz. Aşağıda ek bir yapılandırma seçeneğini bulabilirsiniz. + + + + + İnce satırları iyileştir + + + &okular;'da çizgi çizmek iki adımda gerçekleştirilir: Kırpma yolunun oluşturulması ve bu kırpma yolunun doldurulması. Özgün belgedeki çizgi bir pikselden küçük olduğunda bu iki aşamalı uygulama sorunlara neden olabilir. Bu çizgiler için kırpma yolu, kırpma alanı içindeki çizgi kısmının kalınlığına bağlı olan dolgu rengiyle doldurulur. Çizginin kırpma alanı içindeki kısmı çok küçülürse şekil ile arka plan rengi arasındaki karşıtlık çizginin tanınamayacağı kadar düşük olabilir. Bu tür çizgilerin ızgaraları daha sonra çok çirkin görünürler. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + İnce çizgi (kırmızı), kırpma yolu (kesikli çizgi) ve piksel sınırları (siyah düz çizgiler) + Düşük karşıtlıkta gösterilen ince çizgi + + + + + İnce çizgilerin görünümünü geliştirmek için &okular; iki seçeneği uygular. + İlk seçenek Katı'dır. Bu seçenekle &okular;, kırpma yolu ve çizgi konumunu, kırpma yolu ve çizgi aynı piksel sınırında olacak şekilde ayarlar; örneğin &okular;, ince çizgileri çıkış aygıtında bir piksele büyütür. Bu kip, Adobe Reader'daki İnce çizgileri iyileştir kipine benzerdir. Bu seçenek seçilirse ince çizgiler her zaman büyütülürler. + + + + + + + + Katı iyileştirmeli ince çizgi + + + Katı iyileştirmeli ince çizgi + + + + + İkince seçenek Şekil'dir. Bu seçenekte kırpma yolu ve çizgi de piksel sınırına göre ayarlanır; ancak çizgi yoğunluğu genişliğine göre düzeltilir. + + + + + + + + Şekil iyileştirmeli ince çizgi + + + Şekil iyileştirmeli ince çizgi + + + + + İnce çizgiler öntanımlı olarak iyileştirilmezler (Hayır seçeneği). + + + + + + &PDF; Sayısal İmza Sertifikaları + + Bu bölüm, &PDF; dosyalarına Sayısal İmzalar eklerken kullanılacak özel bir Sertifika Veritabanı ayarlamanıza olanak tanır. + Ayrıca geçerli Sertifika Veritabanında (varsa) bulunan sertifikaları da listeler. + + + + + &okular;'ı Yapılandırmak + + Genel yapılandırma + &okular;'ı Ayarlar &okular; Uygulamasını Yapılandır... seçimini yaparak yapılandırabilirsiniz. Yapılandırma iletişim kutusu altı bölüme ayrılmıştır. Bu fasıl, kullanılabilir seçenekleri ayrıntılarıyla açıklar. + + + Genel + + + Erişilebilirlik + + + Başarım + + + Sunum + + + Bilgi Notları + + + Düzenleyici + + + + Yapılandırma iletişim kutusu + + + + + + Yapılandırma iletişim kutusu + + + + Geçerli kurulu arka uçlara bağlı olarak, Ayarlar Arka Uçları Yapılandır... menü ögesi etkin olabilir. Bu yapılandırma iletişim kutusu, yapılandırılabilir olan arka uçların yapılandırmalarını barındırır. + + + Genel + + + Pürüzsüz sarma kullan + + Fare tekerleğini ve klavyeyi kullanarak sarma yaparken canlandırmalı geçişlerin görüntülenip görüntülenmeyeceği. + + + + Sarma çubuklarını göster + + Belge görünümü için sarma çubuklarının gösterilip gösterilmeyeceği. + + + + Küçük görselleri sayfaya bağlantıla + + Küçük görseller görünümünün her zaman geçerli sayfayı gösterip göstermeyeceği. + + + + İpuçlarını ve bilgi iletilerini göster + + Başlangıçta, dosya yüklemede vb. bazı bilgilendirici iletilerin gösterilip gösterilmeyeceği + + + + Gömülü dosyaları, formları veya imzaları bildir + + Gömülü dosyalar, formlar veya imzalar vb. hakkında bilgilendirici panellerin gösterilip gösterilmeyeceği + + + + Varsa belge başlığını başlık çubuğunda göster + + Geçerli belge başlığının &okular; pencerelerinin başlık çubuğunda gösterilip gösterilmeyeceği. Belgede başlık için üst veri bulunmazsa veya bu öge işaretlenmezse &okular; belgenin dosya adını gösterir. + + + + Belge başlığı görüntülenmediği zaman + + İki seçenekten birini seçebilirsiniz: Yalnızca dosya adını görüntüle veya Tam dosya yolunu görüntüle. + + + + Özel arka plan rengi kullan + + Belge arka plan rengi seçimini etkinleştirir (görüntülenen sayfa etrafındaki renk). Bu seçenek işaretlenmediğinde öntanımlı olarak &Qt; araç kiti rengi kullanılır. + + + + Yeni dosyaları sekmelerde aç + + Yeni belgelerin sekmelerde açılıp açılmayacağı. Sekmeler öntanımlı olarak devre dışıdır. + Sekmeler arasında geçiş yapmak için öntanımlı kısayollar: &Ctrl;. (Sonraki sekme) ve &Ctrl;, (Önceki sekme). + + + + Dosya halihazırda açıksa var olduğu sekmeye geç + + Dosya zaten açıksa yeni bir sekme açmak yerine &okular;'ın var olan bir sekmeye geçip geçmeyeceği. Bu seçenek öntanımlı olarak etkindir. Yalnızca Yeni dosyaları sekmelerde aç etkinse açılabilir/kapatılabilir. + + + + DRM sınırlamalarına uy + + &okular;'ın DRM (Sayısal Haklar Yönetimi) kısıtlamalarına uyması gerekip gerekmediği. DRM sınırlamaları, içeriğin panoya kopyalanması gibi &PDF; belgeleriyle belirli eylemlerin gerçekleştirilmesini olanaksızlaştırmak için kullanılır. &okular;'ın bazı yapılandırmalarında bu seçeneğin kullanılabilir olmadığını unutmayın. + + + + Dosya değiştirildiğinde belgeyi yeniden yükle + + Açık dosyaların değişiklikler açısından kendiliğinden denetlenip denetlenmeyeceği ve gerekirse güncellenip güncellenmeyeceği. + + + + Arka uç seçimi iletişim kutusunu göster + + &okular;'ın geçerli dosyayı açabilen birden fazla arka uç olması durumunda kullanıcıya hangi arka ucun kullanılacağını sorması gerekip gerekmediği. İşaretlenmezse &okular;, en yüksek önceliğe sahip arka ucu kullanır. + + + + Sağdan sola okuma yönü + + Açık dosyalar için öntanımlı olarak sağdan sola okuma yönünün kullanılıp kullanılmayacağı. Bazı yazma sistemleri için yararlı olabilir. + + + + Öntanımlı olarak sürdürülen kipte aç + + Sürdürülen kipin öntanımlı olarak kullanılıp kullanılmayacağı. Sürdürülen kipte belgenin tüm sayfaları gösterilir ve bunlar arasında sorunsuz bir şekilde gezinebilirsiniz. Aksi takdirde, aynı anda yalnızca bir sayfa (veya sayfaların bir satırı) gösterilir. + + + + Göz At aracını kullanırken, ekran kenarlarında imleci kaydır + + Göz At Aracı ile belgenin tamamında sonsuz sarma yapılmasına olanak tanır. Etkinleştirilirse belgeyi sürüklerken kenarlara dokunulduğunda fare imleci ekranın diğer ucuna kaydırılır. Bu özellik yalnızca X11’de desteklenir. + + + + Genel görünüm sütunları + + Bu seçenek, genel görünüm kipinde kullanılacak sütun sayısını temsil eder. + + + + Sayfa Yukarı/Aşağı çakışması + + Burada, &PgUp;/&PgDn; düğmelerine bastıktan sonra görünür olması gereken geçerli görüntüleme alanının yüzdesini tanımlayabilirsiniz. + + + + Öntanımlı yakınlaştırma + + Bu seçenek, daha önce hiç açılmamış dosyalar için öntanımlı yakınlaştırma kipini belirtir. Önceki yakınlaştırma kipi uygulanmadan önce açılan dosyalar için. + + + + + + Erişilebilirlik + + + Bağlantıların çevresine kenarlık çiz + + Bağlantıların etrafına kenarlık çizilip çizilmeyeceği. + + + + Renkleri değiştir + + Renk değiştirme seçeneklerini etkinleştirir. + + + + Renk kipi + + Renk değiştirme kipini tanımlar. + + + Renkleri Tersine Çevir + + Görünümdeki renkleri tersine çevirir; yani, siyah nesneler beyaz olarak gösterilirler. + + + + Kağıt Rengini Değiştir + + Kağıdın rengini; yani, belgenin arka planını değiştirir. + Renk, aşağıdaki Kağıt rengi örneğini kullanarak seçilebilir. + + + + Koyu ve Açık Renkleri Değiştir + + Koyu ve açık rengi tercihinize göre değiştirir; bu, siyahın siyah olarak değil, seçilen koyu renk olarak, beyazın ise beyaz olarak değil, seçilen açık renk olarak sunulacağı anlamına gelir. + + + + Siyah-Beyaza Dönüştür + + Belgeyi siyah-beyaza dönüştürür. Eşiği ve karşıtlığı ayarlayabilirsiniz. Eşiği sağa kaydırarak daha yüksek bir değere ayarlamak, daha açık grilerin kullanılmasına neden olur. + + + + Açıklığı Tersine Çevir + + Tüm renklerin açıklığını tersine çevirir. Açık ve koyu yer değiştirir; ancak renk tonu ve doygunluk etkilenmez. Görsellerdeki karşıtlık genellikle Parlaklığı Tersine Çevir (Doğrusal sRGB)'dan daha kötü olacaktır. + + + + Parlaklığı Tersine Çevir (Doğrusal sRGB) + + Tüm renklerin parlaklığını tersine çevirir. Açık ve koyu yer değiştirir; ancak renk tonu ve doygunluk etkilenmez. Görsellerdeki karşıtlık, Açıklığı Tersine Çevir'e göre daha iyi korunur; ancak grafikler ve renkli metin işaretlemesi genellikle daha kötü görünür. sRGB parlaklığı katsayılarını kullanır; ancak gama düzeltmesi yapılmaz. + + + + Parlaklığı Tersine Çevir (Simetrik) + + Simetrik parlaklık katsayılarını kullanarak tüm renklerin parlaklığını tersine çevirir. Açık ve koyu yer değiştirir; ancak renk tonu ve doygunluk etkilenmez. Açıklığı Tersine Çevir'e çok benzerdir; ancak bazı durumlarda karşıtlığı daha iyidir. + + + + Pozitif Renk Tonunu Kaydır + + Tüm renklerin tonunu 120 derece kaydırır. Renkli grafiklerdeki bazı karşıtlık sorunlarını azaltabilir. + + + + Negatif Renk Tonunu Kaydır + + Tüm renklerin tonunu 240 derece kaydırır. Renkli grafiklerdeki bazı karşıtlık sorunlarını azaltabilir. + + + + &okular;'ın Ayarlar menüsündeki ilgili menü ögelerini kullanarak renk kiplerini için klavye kısayollarını ve araç çubuğu eylemlerini yapılandırabilirsiniz. + + + + Konuşma işletkesi + + &okular; tarafından kullanılacak konuşma (TTS) işletkesini seçmenize olanak tanır. Öntanımlı uygulama, speechd TTS şeklindedir. + + + + Konuşma sesi + + &okular; tarafından kullanılacak konuşma işletkesi için bir ses seçmenize olanak tanır. Platformunuzdaki kullanılabilir sentezleyicilere bağlı olarak tüm dilleri ve sesleri kullanabilirsiniz. &Linux;'ta, kullanılabilir sesleri belirlemek için öntanımlı olarak speech-dispatcher kullanılır. + + + + + + Başarım + + + Saydamlık efektlerini etkinleştir + + Saydamlık efektlerini kullanarak seçimler ve diğer özel grafikler çizin. Ana hat veya mat dolgu biçemlerini kullanarak bunları çizme seçeneğini devre dışı bırakın ve seçimlerdeki hızı artırın. + + + + Bellek kullanımı + + &okular;, sisteminize ve zevklerinize göre bellek kullanımını ayarlayarak en iyi başarımı elde edebilir. Ne kadar çok bellek kullanmasına izin verirseniz program o kadar hızlı davranır. Öntanımlı profil her sistem için iyidir; ancak Düşük profilini seçerek &okular;’ın gereğinden fazla bellek kullanmasını önleyebilir veya Yoğun’u kullanarak sisteminizden en iyi şekilde yararlanmasını sağlayabilirsiniz. Sistem belleğinin aşırı dolma riski olmadan tüm sayfaları önceden yüklemek için Çok Yoğun profilini kullanın (toplam belleğin veya boş belleğin yalnızca %​50’si kullanılacaktır). + + + + Sunum seçenekleri + + Bu seçenek grubunu kullanarak &okular;'daki metin ve görsel sunumunu iyileştirebilirsiniz. Sonuç, belgeyi görüntüleyecek aygıta bağlıdır.Metin kenar yumuşatmasını etkinleştir ve Grafik kenar yumuşatmasını etkinleştir seçenekleri, belgedeki metin ve görsellerin uzamsal kenar yumuşatmasını sırasıyla açıp kapatmak için kullanılabilir. Metin düzgünleştirmeyi etkinleştir ögesi ise yazıtipi düzgünleştirme için bir anahtar olarak kullanılır. Kenar yumuşatma ve düzgünleştirme, belgelerin görüntülenme biçimini değiştirir; bunları tercihinize göre ayarlamak isteyebilirsiniz. + + + + + + Sunum + + + Kendiliğinden ilerle + + Belirli bir süre içinde sayfaların kendiliğinden ilerlemesini sağlar. + + + + Son sayfadan sonra başa dön + + Sunum kipinde dolaşımdayken ve son sayfayı geçtikten sonra ilk sayfa gelir. + + + + Dokunma dolaşımı + + Aşağıdaki üç olası değeri kullanarak sunumda dokunarak dokunmatik ekranda gezinmeye ince ayar yapmanızı sağlar: + + + İleri/Geri gitmek için sağ/sol tarafa dokun: Ekranın sol (sağ) yarısına dokunmak sunumun önceki (sonraki) slayda gitmesini sağlar. + + + İleri gitmek için herhangi bir yere dokun (öntanımlı): Ekrana dokunulduğunda, ekranın neresine dokunulursa dokunulsun sunum bir sonraki slayda geçer. + + + Devre dışı: Ekrana dokunmak hiçbir şey yapmaz. + + + + + + Arka plan rengi + + Sunum kipindeyken ekranın sayfanın kapsamadığı kısmını dolduracak renk. + + + + Fare imleci + + Farenin her zaman gizlenmesi mi, her zaman gösterilmesi mi yoksa kısa bir süre işlem yapılmadığında gizlenmesi mi gerektiği. + + + + İlerleme göstergesini göster + + Sayfayı her değiştirdiğinizde sunum ekranının sağ üst köşesinde geçerli sayfayı ve toplam sayfa sayısını gösteren bir ilerleme çemberinin gösterilip gösterilmeyeceği. + + + + Özet sayfasını göster + + Sunumun başında belgenin başlığını, yazarını ve sayfa sayısını içeren bir özet sayfasının gösterilip gösterilmeyeceği. + + + + Geçişleri etkinleştir + + Sayfalar arasındaki geçiş efektlerini etkinleştirmek veya devre dışı bırakmak için bu onay kutusunu kullanın. + + + + Öntanımlı geçiş + + Belgede belirtilmemişse sayfalar arasındaki geçiş efekti. &okular;'ın kullanılabilir efektlerden birini rastgele seçmesini sağlamak için bunu Rastgele Geçiş olarak ayarlayın. + + + + Yerleştirme + + Bu bölümde, sunumu görüntülemek için kullanılacak ekranı seçebilirsiniz. + Geçerli Ekran, sunum kipini başlatan &okular; penceresinin olduğu ekrandır. + Öntanımlı Ekran, xinerama yapılandırmasında öntanımlı olarak imlenen ekrandır. + Ekran 0, Ekran 1 vb. kullanılabilir ekranlardır. + + + + Çizim Aracı Yapılandırması + + Sunum kipinde sayfalarda çizim yaparken kullanılan kalemin renklerini yönetin. + + + + + + Bilgi Notları + + Yapılandırma iletişim kutusunun bilgi notları sayfası + + + + + + Yapılandırma iletişim kutusunun bilgi notları sayfası + + + + + + Bilgi notu araç çubuğu + + Tam Bilgi Notu Araç Çubuğu (&okular; penceresinin üst kısmındaki öntanımlı araç çubuğu) ve Tez Bilgi Notu Araç Çubuğu (belge bölmesinin sağ kısmında favori araçlarınızın bulunduğu kayan araç çubuğu) arasında geçiş yapılmasına izin verir. + + + + Yazar + + Bir belgeye eklenen içeriğin yazarı. Öntanımlı yazar adı, &systemsettings; Hesap Ayrıntıları modülünün Parola ve Kullanıcı Hesabı sayfasında belirtilen addır. + + + + Bilgi notu araçları + + Bu bölme, bilgi notu araç çubuğunuzu yapılandırmak için kullanılır. + Araç çubuğunu yapılandırmak için kullanılan beş adet düğme (Ekle, Düzenle, Kaldır, Yukarı Taşı, Aşağı Taşı) ve (geçerli bilgi notu araç çubuğunun içeriğini listeleyen) bir liste kutusu vardır. + Araç çubuğuna bir düğme eklemeniz gerekiyorsa Ekle düğmesine tıklayın. Oluşturulan aracın Ad, Tür ve Görünüş kalemlerini yapılandırabilirsiniz. + + &okular;'daki bilgi notu araçlarının son derece yapılandırılabilir olduğunu lütfen unutmayın. Örneğin, aynı aracın farklı renklerde iki düğmesine sahip olabilirsiniz. İş akışınıza tam olarak uyarlanmış düğme kümesini seçmeyi denemekten çekinmeyin. + + Liste kutusundaki bir ögeye tıklayın ve ardından ögeyi düzenlemek, kaldırmak, yukarı veya aşağı taşımak için sayfanın sağ kısmındaki ilgili düğmeye tıklayın. Aracın klavye kısayolu (1 ile 9), bilgi notu araç çubuğu listesindeki konumuna bağlıdır. + + + + Özel Damgalar Kullanmak + + + Kendi damganız için kullanmak istediğiniz simgeyi oluşturun ve &okular; tarafından desteklenen herhangi bir grafik biçiminde kaydedin. + Ekle düğmesine tıklayın, tür olarak Damga seçin ve damganız için bir ad girin. + Damga Sembolü grubundaki açılır kutuya özel simgenizin tam yolunu girin. + + + + + + + Düzenleyici + + + Düzenleyici + + &okular; bir kaynak dosyasını açmak istediğinde başlatmak istediğiniz düzenleyiciyi seçin. Belgenin oluşturulduğu kaynakların çeşitli noktalarına (genellikle satır ve sütun numaraları) başvuruları olması durumunda bu durum söz konusudur. &DVI; biçimi, &latex; belgelerinin oluşturulduğu kaynaklar hakkındaki bilgilerin eklenmesini doğal olarak destekler. &PDF; belgeleri için pdfsync adı verilen benzer bir sistem mevcuttur ve bu ekstra bilgiler, &PDF; dosyasının adını taşıyan dış bir dosyada depolanır (örneğin, belgem.pdf için belgem.pdfsync). + &okular;, aşağıdaki düzenleyiciler için önceden yapılandırılmış ayarlarla gelir: &kate;, Kile, SciTE, &Emacs; client, LyX İstemcisi, TeXstudio ve TeXiFy IDEA. + + &kile;'deki tersine aramayı kullanmak için &latex; dosyanızı Çağdaş yapılandırmayla derlemeniz gerekir. + + + + + Komut + + Bu, seçili düzenleyiciyi asıl belgenin kaynak dosyasıyla çağırmak için kullanılan komut ve parametreleridir. + Önceden yapılandırılan düzenleyicilerden birini kullanırsanız bu alan kendiliğinden doldurulur. Aksi takdirde, lütfen Düzenleyici açılır kutusunda Özel Metin Düzenleyicisi'ni seçin ve uygun komutu bulmak için favori düzenleyicinizin belgelerine bakın. + Aşağıdaki yer tutucuları kullanabilirsiniz: + + + %f - dosya adı + + + %l - dosyada erişilecek satırın numarası + + + %c - dosyada erişilecek sütunun numarası + + + %f belirtilmezse belge adı belirtilen komuta eklenir. + + + + + + + Emeği Geçenler ve Lisans + + + Program telif hakkı: + &Albert.Astals.Cid; &Albert.Astals.Cid.mail; Şu anki bakımcı + Pino Toscano pino@kde.org + Enrico Ros eros.kde@email.it &kpdf; geliştiricisi + + + + Belgelendirme telif hakkı: + &Albert.Astals.Cid; &Albert.Astals.Cid.mail; Yazar + Titus Laska titus.laska@gmx.de Güncellemeler ve eklemeler + Pino Toscano pino@kde.org + + Çeviri: Emir SARI emir_sari@icloud.com &underFDL; &underGPL; + + &documentation.index; +
    + + + diff --git a/po/tr/docs/okular/man-okular.1.docbook b/po/tr/docs/okular/man-okular.1.docbook new file mode 100644 index 0000000..c0899e7 --- /dev/null +++ b/po/tr/docs/okular/man-okular.1.docbook @@ -0,0 +1,250 @@ + + +]> + + + + +Okular Kullanıcı Kılavuzu +YuriChornoivan Okular man sayfası. yurchor@ukr.net +2022-02-19 +Okular 22.04 +KDE Gear + + + +okular +1 + + + +okular +çok amaçlı bir belge görüntüleyicisi + + + +okular Okular seçenekleri URL + + + +Açıklama +okular, değişik biçimlerdeki belgeleri göstermeyi amaçlar. + + + +Okular seçenekleri + + + + + +Belgede numarası verilen bir sayfayı aç. + + + + + + +Belgeyi sunum kipinde başlat. + + + + + + +Yazdırma iletişim kutusuyla başlat. + + + + + + +Yazdırma iletişim kutusuyla başlat ve yazdırma sonrası çık. + + + + + + +Benzersiz örnek denetimi. + + + + + + +Okular penceresinin başlatma sonrası öne gelmesini engelle. + + + + + + +Belgede belirli bir diziyi bulmaya ve vurgulamaya çalışır. Yalnızca okular komutunun argümanı olarak tek bir belge verildiğinde çalışır. + + + + + + +Dış düzenleyici komutunu ayarlar. Zaten çalışan bir Okular örneğinde düzenleyici komutunu ayarlayamazsınız. Komut satırında düzenleyici komutunu ayarlarken 'in desteklenmediğini lütfen unutmayın. + + + + + +Argümanlar + + + + +Açılacak belgenin adresi. PDF için belge_adı#adlı_hedef_konum olarak yapılır; burada adlı_hedef_konum, belgede gömülü özel bir konumdur. + + + + + +Geri Bildirim +IRC’de irc.libera.chat #okular, e-posta ile okular-devel@kde.org veya web’de <https://okular.kde.org/>. + + + +Ayrıca + +Ayrıntılı kullanıcı belgelendirmesine help:/okular bölümünden ulaşabilirsiniz (ya bu &URL;'yi &konqueror;'a girin ya da khelpcenter help:/okular komutunu çalıştırın). +kf5options(7) +qt5options(7) +Ayrıca https://okular.kde.org/ adresinde ek bilgiler de bulunabilir + + + +Telif Hakkı +Telif hakkı © 2002 Wilco Greven, Christophe Devriese +Telif hakkı © 2004-2005 Enrico Ros +Telif hakkı © 2005 Piotr Szymanski +Telif hakkı © 2004-2012 Albert Astals Cid +Telif hakkı © 2006-2009 Pino Toscano +Lisans: GNU Genel Kamu Lisansı 2. Sürüm <https://www.gnu.org/licenses/gpl-2.0.html> + + + diff --git a/po/tr/okular.po b/po/tr/okular.po new file mode 100644 index 0000000..37314f0 --- /dev/null +++ b/po/tr/okular.po @@ -0,0 +1,6033 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# SPDX-FileCopyrightText: 2022, 2023, 2024, 2025 Emir SARI +# Adem Alp Yıldız , 2004. +# Alper Sen , 2005. +# Görkem Çetin , 2004. +# Görkem Çetin , 2005. +# H. İbrahim Güngör , 2010. +# Kaya Oğuz , 2005. +# Onur Küçük , 2004. +# Ozan Çağlayan , 2010. +# obsoleteman , 2008-2012. +# Serhat Demirkol , 2009. +# Volkan Gezer , 2013-2014, 2015, 2017, 2022. +# Zerrin Cakmakkaya , 2005. +# Emir SARI , 2023. +msgid "" +msgstr "" +"Project-Id-Version: kdegraphics-kde4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-11-07 19:58+0300\n" +"Last-Translator: Emir SARI \n" +"Language-Team: Turkish \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Lokalize 25.08.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" +"Serdar Soytetir, Görkem Çetin, Kaya Oğuz, Ayhan Yalçınsoy, Volkan Gezer, " +"Emir SARI" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" +"tulliana@gmail.com, gorkem@kde.org, kaya@kuzeykutbu.org, " +"ayhanyalcinsoy@gmail.com, volkangezer@gmail.com, emir_sari@icloud.com" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Okular, çok amaçlı bir belge görüntüleyicisi" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"© 2002 Wilco Greven, Christophe Devriese\n" +"© 2004–2005 Enrico Ros\n" +"© 2005 Piotr Szymanski\n" +"© 2004–2017 Albert Astals Cid\n" +"© 2006–2009 Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "Önceki bakımcı" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias König" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "" +"Çalışma alanının büyük bir bölümü, FictionBook arka ucu ve daha önceki ODT " +"arka ucu" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "Geliştirici" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymanski" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "Okular uygulamasını KPDF kod tabanından oluşturdu" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "Enrico Ros" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "KPDF geliştiricisi" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "Eugene Trounev" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "Bilgi notu sanatsal çalışmaları" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "Jiri Baum — NICTA" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "Tablo seçim aracı" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "Fabio D’Urso" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "Bilgi notu geliştirmeleri" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "%1. Sayfaya Git" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "Dış dosya aç" + +#: core/action.cpp:197 +#, kde-format +msgid "Execute '%1'…" +msgstr "Yürüt: “%1”…" + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "İlk Sayfa" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "Önceki Sayfa" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "Sonraki Sayfa" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "Son Sayfa" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "Geri" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "İleri" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Çık" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "Sunumu Başlat" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "Sunumu Bitir" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "Bul…" + +#: core/action.cpp:314 +#, kde-format +msgid "Go To Page…" +msgstr "Sayfaya Git…" + +#: core/action.cpp:365 +#, kde-format +msgid "Play sound…" +msgstr "Ses Çal…" + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "JavaScript Betiği" + +#: core/action.cpp:483 +#, kde-format +msgid "Play movie…" +msgstr "Film Oynat…" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "Film oynat" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "Filmi durdur" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "Filmi duraklat" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "Filmi sürdür" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "Bu Okular, ses desteği olmadan yapılmış" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "Arka Uç Seçimi" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
    %1 (%2).

    Please select which one to use:
    " +msgstr "" +"MIME türü için birden fazla arka uç bulundu:
    %1 (%2).

    Lütfen kullanmak için birini seçin:
    " + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "Çoğu sayfa %1." + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "Dikey %1" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "Yatay %1" + +#: core/document.cpp:246 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 × %2 inç (%3)" + +#: core/document.cpp:248 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 × %2 mm (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "Arama, başlangıçtan sürüyor" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "Arama, sondan sürüyor" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "Bu belgeyi açmak için bir eklenti bulunamadı." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "Bu belge türü için imzalama henüz gerçeklenmemiş" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "bilgi notlarını kaldır" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"Belge, bir dış uygulamayı yürütmek istiyor; güvenliğiniz için Okular buna " +"izin vermez." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "%1 dosya türünü açmak için bir uygulama bulunamadı." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "Geçici dosya açılamadı" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "Yazdırma dönüşümü başarısız" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "Yazdırma süreci çöktü" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "Yazdırma süreci başlatılamadı" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "Dosyaya yazdırma başarısız" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "Yazıcı geçersiz bir durumdaydı" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "Yazdırılacak dosya bulunamadı" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "Yazdırılacak dosya yok" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"Yazdırmak için uygun bir ikili dosya bulunamadı. CUPS lpr ikili dosyasının " +"kullanılabilir olduğundan emin olun" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "Sayfa yazdırma boyutu geçersiz" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "“%1” açılamadı. Dosya yok." + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Başlık" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Konu" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Açıklama" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "Yazar" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Oluşturan" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Üretici" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "Telif hakkı" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "Sayfalar" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Oluşturulma" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Değiştirilme" + +#: core/document.cpp:6032 +#, kde-format +msgid "MIME Type" +msgstr "MIME türü" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "Kategori" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Anahtar sözcükler" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "Dosya yolu" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "Dosya boyutu" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "Sayfa boyutu" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "bilgi notu ekle" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "bilgi notunu kaldır" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "bilgi notu özelliklerini değiştir" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "bilgi notunu çevir" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "ek açıklamayı ayarla" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "metni düzenle" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "metin içeriğini düzenle" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "form içeriğini düzenle" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "liste formu seçimlerini düzenle" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "açılır kutu seçimlerini düzenle" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "form düğme durumlarını düzenle" + +#: core/generator.cpp:790 +#, kde-format +msgid "Plain &Text…" +msgstr "Düz &Metin…" + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "OpenDocument Metni" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "Yazdırma Seçenekleri" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "Yazdırılabilir alana sığdır" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "Tam sayfaya sığdır" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "Ölçek kipi:" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "Bu iletiyi bir daha gösterme" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "Kullanılamıyor" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" +"İçsel imzalama hatası. Lütfen, yeniden oluşturma adımlarını da içererek bir " +"hata kaydı açın. Hata kodu %1." + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "Dosya imzalanamadı: %1" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "İmzalama kullanıcı tarafından iptal edildi" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "Yanlış parola verildiğinden imzalanamadı." + +#: core/signatureutils.cpp:504 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" +"%1 konumundaki imzalı belgeye yazılamadı; lütfen yazma " +"iznine iye olduğunuz bir klasör seçtiğinizden emin olun." + +#: core/signatureutils.cpp:506 +#, kde-format +msgid "Unknown signing error" +msgstr "Bilinmeyen İmzalama Hatası" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Kaynak: %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "Ö&ntanımlı yazıtipi:" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "Sürüm" + +#: gui/certificatemodel.cpp:41 +#, kde-format +msgid "Serial Number" +msgstr "Seri Numarası" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "Veren" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "Verilme Tarihi" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "Son Kullanım Tarihi" + +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Konu" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "Genel Anahtar" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "Anahtar Kullanımı" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "V%1" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "%1 (%2 bit)" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "Özellik" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "Değer" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "Açılır Not" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "Daktilo" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "İç Not" + +#: gui/guiutils.cpp:56 +#, kde-format +msgid "Arrow with Comment" +msgstr "Ok, Yorum ile" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "Ok" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "Düz Çizgi, Yorum ile" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "Düz Çizgi" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "Çokgen, Yorum ile" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "Çokgen" + +#: gui/guiutils.cpp:71 +#, kde-format +msgid "Rectangle with Comment" +msgstr "Dörtgen, Yorum ile" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "Dikdörtgen" + +#: gui/guiutils.cpp:74 +#, kde-format +msgid "Ellipse with Comment" +msgstr "Elips, Yorum ile" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "Elips" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "Vurgulama, Yorum ile" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "Vurgulama" + +#: gui/guiutils.cpp:87 +#, kde-format +msgid "Squiggle with Comment" +msgstr "Dalgalı Çizgili, Yorum ile" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "Dalgalı Çizgili" + +#: gui/guiutils.cpp:91 +#, kde-format +msgid "Underline with Comment" +msgstr "Altı Çizili, Yorum ile" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "Altı Çizili" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out with Comment" +msgstr "Üzeri Çizili, Yorum ile" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "Üzeri Çizili" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "Damga, Yorum ile" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "Damga" + +#: gui/guiutils.cpp:106 +#, kde-format +msgid "Freehand Line with Comment" +msgstr "Serbest Çizim, Yorum ile" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "Serbest Çizim Çizgisi" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "Metin İmleci" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "Dosya Eki" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "Ses" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "Film" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Ekran" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "Araç Takımı" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "Zengin Ortam" + +#: gui/guiutils.cpp:144 +#, kde-format +msgid "Annotation" +msgstr "Bilgi Notu" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "Bilinmeyen" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Yazar: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "%1 belgesini nereye kaydetmek istiyorsunuz?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "“%1” yazmak için açılamadı. Dosya kaydedilmedi." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "İmza, kriptografik olarak geçerli." + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "İmza, kriptografik olarak geçersiz." + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "Özet uyuşmazlığı meydana geldi." + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "İmza CMS/PKS7 yapısı hatalı oluşturulmuş." + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "İstenen imza belgede yok." + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "İmza doğrulanamadı." + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "Sertifika, güvenilir." + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "Sertifikayı verene güvenilemiyor." + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "Sertifika vereni bilinmiyor." + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "Sertifika yürürlükten kaldırılmış." + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "Sertifika süresi geçmiş." + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "Sertifika henüz doğrulanmadı." + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "Sertifika doğrulaması sürüyor…" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "Sertifika ile ilgili bilinmeyen sorun veya hasarlı veri." + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "MD2" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "MD5" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "SHA1" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "SHA256" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "SHA284" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "SHA512" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "SHA224" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "Bilinmeyen Algoritma" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "RSA" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "DSA" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "EC" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "Bilinmeyen Tür" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "Sayısal İmza" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "Geri Çevrilemez" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "Anahtarları Şifrele" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "Anahtarların Şifresini Çöz" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "Anahtar Antlaşması" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "Sertifikayı İmzala" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "CRL İmzala" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "Yalnızca Şifreleme" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "Kullanım Belirtilmemiş" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr ", " + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "Bu belge, imzalandığından bu yana değiştirilmedi." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" +"Belgenin, bu imza tarafından kapsanan revizyonu değiştirilmedi; ancak\n" +"belgeye kapsamlı değişiklikler yapılmış." + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" +"Belge, bir önceki imzalayan tarafından izin verilmeyen bir biçimde " +"değiştirilmiş." + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "Belge bütünlülük doğrulaması tamamlanamadı." + +#: gui/signatureguiutils.cpp:208 +#, kde-format +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "Bu belgede imza yerleri var." + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "Bu belge, sayısal olarak imzalı." + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "" +"Bu belge, sayısal olarak imzalı. Son imzalandığından bu yana değişiklikler " +"yapılmış." + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "Bu belge, sayısal olarak imzalı. Bazı imzalar düzgünce doğrulanamadı." + +#: gui/signaturemodel.cpp:141 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "İmza yeri %1" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "Alan: %2 numaralı sayfada %1" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "Revizyon %1: %2 tarafından imzalandı" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "İmza saati: %1" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "Gerekçe: %1" + +#: gui/signaturemodel.cpp:177 +#, kde-format +msgid "Location: %1" +msgstr "Konum: %1" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "PGP imzası" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "Adobe PKCS7" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "Adobe PKCS7 SHA1" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "ETSI CAdES" + +#: gui/signaturemodel.cpp:193 +#, kde-format +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "Bilinmeyen" + +#: gui/signaturemodel.cpp:195 +#, kde-format +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "İmza yeri" + +#: gui/signaturemodel.cpp:201 +#, kde-format +msgid "Signature Type: %1" +msgstr "İmza türü: %1" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "Kırmızı" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "Turuncu" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "Sarı" + +#: part/annotationactionhandler.cpp:151 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "Yeşil" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "Camgöbeği" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "Mavi" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "Mor" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "Beyaz" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "Gri" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "Siyah" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "%1 genişlik" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%%1" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "Bilgi notu çizgi genişliği (bir bilgi notu seçili değil)" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "Bilgi notu rengi (bir bilgi notu seçili değil)" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "Bilgi notu dolgu rengi (bir bilgi notu seçili değil)" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "Bilgi notu matlığı (bir bilgi notu seçili değil)" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "Bilgi notu yazıtipi (bir bilgi notu seçili değil)" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "Geçerli bilgi notunu tez bilgi notları menüsüne ekle (seçili not yok)" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" +"Şekil oranını 1:1 olarak veya çizgi açısını 15 derecelik adımlara kısıtla " +"(bir bilgi notu seçili değil)" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" +"Geçerli bilgi notu aracı için gelişmiş seçenekler (bir bilgi notu seçili " +"değil)" + +#: part/annotationactionhandler.cpp:308 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Bilgi notu genişliği" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "Bilgi notu çizgi genişliği (geçerli bilgi notunda çizgi genişliği yok)" + +#: part/annotationactionhandler.cpp:314 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Bilgi notu metin rengi" + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "Bilgi notu kenar rengi" + +#: part/annotationactionhandler.cpp:318 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Bilgi notu rengi" + +#: part/annotationactionhandler.cpp:322 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Bilgi notu dolgu rengi" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "Bilgi notu dolgu rengi (geçerli bilgi notunda bir dolgu rengi yok)" + +#: part/annotationactionhandler.cpp:328 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "Bilgi notu yazıtipi" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "Bilgi notu yazıtipi (geçerli bilgi notunda bir yazıtipi yok)" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "Çizgi açısını 15 derecelik adımlara kısıtla" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "Şekil oranını 1:1 olarak kısıtla" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" +"Şekil oranını 1:1 olarak veya çizgi açısını 15 derecelik adımlara kısıtla " +"(geçerli bilgi notu tarafından desteklenmiyor)" + +#: part/annotationactionhandler.cpp:341 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Bilgi notu matlığı" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "Geçerli bilgi notunu tez bilgi notları menüsüne ekle" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "Geçerli bilgi notu aracı için gelişmiş seçenekler" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "Renk" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "Doldurma Rengi" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "Saydam" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "Özel renk…" + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "Renk seç" + +#: part/annotationactionhandler.cpp:552 +#, kde-format +msgid "&Annotations" +msgstr "Bilgi &Notları" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "Gizle" + +#: part/annotationactionhandler.cpp:554 +#, kde-format +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Daha Çok Bilgi Notu Aracı Göster" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "Vurgulayıcı" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "Altı Çizili" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "Dalgalı Çizgili" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "Üzeri Çizili" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Daktilo" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "İç Not" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "Açılır Not" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "Serbest Çizim Çizgisi" + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "Düz Çizgi" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "Ok" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "Dikdörtgen" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "Elips" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "Çokgen" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "Geometrik Şekiller" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "Damga" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Tez Bilgi Notları" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "Tez bilgi notlarından bir not aracı seçin" + +#: part/annotationactionhandler.cpp:651 +#, kde-format +msgid "Quick Annotation Bar" +msgstr "Tez Bilgi Notları Çubuğu" + +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "Tez Bilgi Notlarına Ekle" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "Etkin Tut" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "Kullanımdan sonra bilgi notu aracını etkin tut" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "Bilgi Notu Araçlarının Oran ve Şeklini Kısıtla" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "Yazıtipi" + +#: part/annotationactionhandler.cpp:681 +#, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Bilgi Seçenekleri" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "Satır genişliği" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "Matlık" + +#: part/annotationactionhandler.cpp:696 +#, kde-format +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%%1" + +#: part/annotationmodel.cpp:320 +#, kde-format +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "Sayfa %1 (%2)" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "Sayfa %1" + +#: part/annotationpopup.cpp:85 +#, kde-format +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "Bilgi Notu" +msgstr[1] "%1 Bilgi Notu" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "Açılır &Not Aç" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Yer İmini Kaldır" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Yer İmi Koy" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, kde-format +msgid "Copy Text to Clipboard" +msgstr "Metni Panoya Kopyala" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "Kopyalama DRM tarafından yasaklandı" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "&Sil" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "Ö&zellikler" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, kde-format +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "&Kaydet: “%1”…" + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "&Görünüş" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "&Genel" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&Yazar:" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "Oluşturulma:" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "Değiştirilme:" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "Açılır Not Özellikleri" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "Daktilo Özellikleri" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "İç Not Özellikleri" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "Düz Çizgi Özellikleri" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "Çokgen Özellikleri" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "Yerleşim Özellikleri" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "Metin Biçimlendirme Özellikleri" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "Damga Özellikleri" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "Serbest Çizim Çizgi Özellikleri" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "Metin İmleci Özellikleri" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "Dosya Eki Özellikleri" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "Ses Özellikleri" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "Film Özellikleri" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "Bilgi Notu Özellikleri" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "Dosyadan özel bir damga sembolü seçin" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "Özel damga sembolü seç" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" +"*.ico *.png *.xpm *.svg *.svgz | Simge dosyaları (*.ico *.png *.xpm *.svg *." +"svgz)" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "Dosya %1 yüklenemedi" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "Geçersiz dosya" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "Re&nk:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, kde-format +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%%v" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "&Matlık:" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "Simge:" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "Açıklama" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "Yardım" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "Ekle" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "Anahtar" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "Yeni paragraf" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "Not" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "Paragraf" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Yazıtipi:" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "Metin &rengi:" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "&Hizala:" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "Sol" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "Ortala" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "Sağ" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "&Kenar genişliği:" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "Onaylanmış" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "Olduğu gibi" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "Güvenilir" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "Kısmi" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "Taslak" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "Deneysel" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "Süresi dolmuş" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "Son" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "Yorum için" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "Genel yayım için" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "Onaylanmadı" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "Genel yayım için değil" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "Satılmış" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "Çok gizli" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "Yer imi" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "Bilgi" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "Damga sembolü:" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "G&enişlik:" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "Çizgi başı:" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "Çizgi sonu:" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "Kare" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "Daire" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "Elmas" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "Açık Ok" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "Kapalı Ok" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "Hiçbiri" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "Kıç" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "Sağ Açık Ok" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "Sağ Kapalı Ok" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "Eğik Çizgi" + +#: part/annotationwidgets.cpp:531 +#, kde-format +msgid "Leader line length:" +msgstr "Lider çizgi uzunluğu:" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "Lider çizgi uzantısı uzunluğu:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "Etkin" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "Şekil dolgusu:" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Tür:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "Üzeri çizili" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "Dosya eki sembolü" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "Grafik" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "Raptiye" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "Ataç" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "Etiket" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "Dosya" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "Erişilemez" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "Hiç tanımlama yok." + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "&Ad:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "Açıklama:" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "Metin imleci sembolü:" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "Hiçbiri" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "Bu notu kapat" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "Seçenekler" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"Bu bilgi notu LaTeX kodu içeriyor olabilir.\n" +"Sunmak için buraya tıklayın." + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "latex yürütülebiliri bulunamadı." + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "LaTeX sunumu başarısız oldu" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "dvipng yürütülebiliri bulunamadı." + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "“latex” komutu yürütülürken bir hata oluştu." + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "“dvipng” komutu yürütülürken bir hata oluştu." + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"%2 yer imi" +msgstr[1] "" +"%1\n" +"\n" +"%2 yer imi" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Yer İmleri" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "Tüm belgeler için göster" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, kde-format +msgid "Search…" +msgstr "Ara…" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, fuzzy, kde-format +#| msgid "Expand all" +msgid "Expand All" +msgstr "Tümünü Genişlet" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, fuzzy, kde-format +#| msgid "Collapse all" +msgid "Collapse All" +msgstr "Tümünü Daralt" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "Bu Yer İmine Git" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "Yer İmini Yeniden Adlandır" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Belge Aç" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "Bu Belgeden Tüm Yer İmlerini Kaldır" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "Sertifika Görüntüleyicisi" + +#: part/certificateviewer.cpp:50 +#, kde-format +msgid "Export…" +msgstr "Dışa Aktar…" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "Genel" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "Veren" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "Ortak Ad (CN)" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "E-posta" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "Organizasyon (0)" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "Verilen" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "Geçerlilik" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "Parmak İzleri" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "SHA-1 Parmak İzi" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "SHA-256 Parmak İzi" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "Ayrıntılar" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "Sertifika verisi:" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "Bu sertifikayı nereye kaydetmek istiyorsunuz?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "Sertifika Dosyası (*.cer)" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "Sertifika dışa aktarılamadı" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "&Renk Kipi" + +#: part/colormodemenu.cpp:21 +#, kde-format +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "Renkleri Değiştir" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "&Normal Renkler" + +#: part/colormodemenu.cpp:41 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "Renkleri &Tersine Çevir" + +#: part/colormodemenu.cpp:42 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "Kağı&t Rengini Değiştir" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "Koyu ve Açık Renkleri &Değiştir" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "Siya&h–Beyaza Dönüştür" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "&Açıklığı Tersine Çevir" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "Parlaklığı Tersine Çevir (&Doğrusal sRGB)" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "Parlaklığı Tersine Çevir (&Simetrik)" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "P&ozitif Renk Tonunu Kaydır" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "N&egatif Renk Tonunu Kaydır" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "Kırmızı" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "Yeşil" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "Mavi" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "Sarı" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "Siyah" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "Beyaz" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "Sarı Vurgulayıcı" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "Yeşil Vurgulayıcı" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "Metin Ekle" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "Bağlantıların çevresine kenarlık çiz" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "Renkleri değiştir" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "Uyarı: Bu seçenekler çizim hızını kötü etkileyebilir." + +#: part/dlgaccessibility.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "Renkleri tersine çevir" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "Kâğıt rengini değiştir" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "Koyu ve açık renkleri değiştir" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "Siyah–beyaza dönüştür" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "Açıklığı tersine çevir" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "Parlaklığı tersine çevir (Doğrusal sRGB)" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "Parlaklığı tersine çevir (Simetrik)" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "Pozitif renk tonunu kaydır" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "Negatif renk tonunu kaydır" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "Renk kipi:" + +#: part/dlgaccessibility.cpp:87 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Kâğıt rengi:" + +#: part/dlgaccessibility.cpp:99 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Koyu renk:" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "Açık renk:" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "Eşik:" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Karşıtlık:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "Konuşma işletkesi:" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "Konuşma sesi:" + +#: part/dlgannotations.cpp:25 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Tam bilgi notu araç çubuğu" + +#: part/dlgannotations.cpp:26 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Tez bilgi notu araç çubuğu" + +#: part/dlgannotations.cpp:28 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Bilgi notu araç çubuğu:" + +#: part/dlgannotations.cpp:34 +#, kde-format +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "Yazar:" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"Not: Buradaki bilgi, yalnızca bilgi notları için kullanılır. Bilgi, " +"bilgi notu eklenmiş belgelerde saklanır ve belgeyle birlikte iletilir." + +#: part/dlgannotations.cpp:48 +#, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

    Quick Annotation Tools

    " +msgstr "

    Tez Bilgi Notu Araçları

    " + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" +"Okular bir kaynak dosyasını açmak istediğinde başlatmak istediğiniz " +"düzenleyiciyi seçin." + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "Özel metin düzenleyicisi" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Emacs istemcisi" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "Lyx istemcisi" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "TeXstudio" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "TeXiFy IDEA" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "Düzenleyici:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
    \n" +"You can also put few placeholders:\n" +"
      \n" +"
    • %f - the file name
    • \n" +"
    • %l - the line of the file to be reached
    • \n" +"
    • %c - the column of the file to be reached
    • \n" +"
    \n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"Başlatılacak bir metin düzenleyicisinin komutunu belirleyin.
    \n" +"Ayrıca bir kaç yer tutucu koyabilirsiniz:\n" +"
      \n" +"
    • %f — dosya adı
    • \n" +"
    • %l — dosyanın erişilecek satırı
    • \n" +"
    • %c — dosyanın erişilecek sütunu
    • \n" +"
    \n" +"Eğer %f belirtilmemişse o halde dosya adı belirlenmiş komuta eklenir." + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "Komut:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "Pürüzsüz sarma kullan" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "Görünüş:" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "Sarma çubuklarını göster" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "Küçük görselleri sayfaya bağlantıla" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "İpuçlarını ve bilgi iletilerini göster" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "Gömülü dosyaları, formları veya imzaları bildir" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "Varsa belge başlığını başlık çubuğunda göster" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "Yalnızca dosya adını görüntüle" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "Tam dosya yolunu görüntüle" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "Belge başlığı görüntülenmediği zaman:" + +#: part/dlggeneral.cpp:92 +#, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "Özel arka plan rengi kullan:" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "Uygulama özellikleri:" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "Yeni dosyaları sekmelerde aç" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "Dosya halihazırda açıksa var olduğu sekmeye geç" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "DRM sınırlamalarına uy" + +#: part/dlggeneral.cpp:148 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "Dosya değiştirildiğinde belgeyi yeniden yükle" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "Arka uç seçimi iletişim kutusunu göster" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "Sağdan sola okuma yönü" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" +"Öntanımlı olarak sürdürülen kipte açmayı belirlemek için dosya bilgisini " +"kullan" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" +"Dosya bilgisi olmayan dosyalar için öntanımlı olarak sürdürülen kipte aç" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "Öntanımlı olarak sürdürülen kipte aç" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "Göz At aracını kullanırken, ekran kenarlarında imleci kaydır" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "Geçmişteki ögeler:" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "Genel görünüm sütunları:" + +#: part/dlggeneral.cpp:220 +#, kde-format +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%%v" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" +"Sayfa Yukarı/Aşağı düğmelerine basıldığında görüntüleme alanının ne " +"kadarının görünmeyi sürdüreceğini belirler." + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "Sayfa Yukarı/Aşağı çakışması:" + +#: part/dlggeneral.cpp:228 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%%v" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "%​100" + +#: part/dlggeneral.cpp:233 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "Genişliğe sığdır" + +#: part/dlggeneral.cpp:234 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "Sayfayı sığdır" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "Kendiliğinden sığdır" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "Özel" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" +"Daha önce açılmamış dosyalar için öntanımlı yakınlaştırma kipini tanımlar.\n" +"Daha önce açılan dosyalara önceki yakınlaştırma oranı uygulanır." + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "Öntanımlı yakınlaştırma:" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "&Saydamlık efektlerini etkinleştir" + +#: part/dlgperformance.cpp:28 +#, kde-format +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "İşlemci kullanımı:" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "Düşük" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "Normal (öntanımlı)" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "Yoğun" + +#: part/dlgperformance.cpp:38 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "Çok yoğun" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "Bellek kullanımı:" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "Metin kenar yumuşatmasını etkinleştir" + +#: part/dlgperformance.cpp:56 +#, kde-format +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "Sunum seçenekleri:" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "Grafik kenar yumuşatmasını etkinleştir" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "Metin düzgünleştirmeyi etkinleştir" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"Kullanılan belleği mümkün olduğu kadar düşük tutar (Düşük bellekli sistemler " +"için)" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"Bellek kullanımı ile hız kazancı arasında iyi bir uzlaşma sağlar. Sonraki " +"sayfayı önyükler ve aramaları hızlandırır. (2 GB bellekli sistemler için.)" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"Her şeyi bellekte tutar. Sonraki sayfaları önyükler. Aramaları hızlandırır " +"(4 GB’dan çok bellekli sistemler için)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" +"Her şeyi yükleyerek bellekte tutar. Tüm sayfaları yükler (Toplam " +"belleğinizin veya boş belleğinizin en çok %​50’sini kullanır.)." + +#: part/dlgpresentation.cpp:38 +#, kde-format +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] "her %v saniye" +msgstr[1] "her %v saniye" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "Kendiliğinden ilerle:" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "Son sayfadan sonra başa dön" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "İleri/Geri gitmek için sağ/sol tarafa dokun" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "İleri gitmek için herhangi bir yere dokun" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "Devre dışı" + +#: part/dlgpresentation.cpp:63 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Dokunma dolaşımı:" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "Arka plan rengi:" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "Gecikmeden sonra gizle" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "Her zaman görünür" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "Her zaman gizli" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "Fare imleci:" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "İlerleme göstergesini göster" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "Özet sayfasını göster" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "Anlık (Hiçbir zaman canlandırma kullanma)" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "Değiştir" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "Rastgele geçiş" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "Dikey geçiş" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "Yatay geçiş" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "Şurada kutu" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "Dışta kutu" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "Çözünme" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "Soldur" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "Aşağı doğru parılda" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "Sağa doğru parılda" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "Sağ aşağı doğru parılda" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "Şurada yatay böl" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "Dışarı yatay ayrıl" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "Şurada dikey böl" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "Dışarı dikey ayrıl" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "Aşağı sil" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "Sağa sil" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "Sola sil" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "Yukarı sil" + +#: part/dlgpresentation.cpp:121 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Öntanımlı geçiş:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "Yeğlenen ekran:" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

    Drawing Tools

    " +msgstr "

    Çizim Araçları

    " + +#: part/dlgpresentation.cpp:171 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Geçerli ekran" + +#: part/dlgpresentation.cpp:172 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Öntanımlı ekran" + +#: part/dlgpresentation.cpp:178 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "Ekran %1 (%2 %3 %4)" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "Ekran %1 (bağlantı kesildi)" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "Çizim aracı: %1" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "Silgi" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "&Ad:" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "&Tür:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "Görünüş" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "Metin Biçimlendirme" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "Geometrik Şekil" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "Bilgi Notu Aracı Oluştur" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "Düzenle" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "Renk:" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "Ka&lem genişliği:" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "%v pks" + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "Çizim aracı oluştur" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "Çizim aracını düzenle" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "Bilinmeyen" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Gömülü Dosyalar" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "Görünüm" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "Ad" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "Açıklama" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "Boyut" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "Oluşturulma zamanı" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "Değiştirilme zamanı" + +#: part/embeddedfilesdialog.cpp:154 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "&Farklı Kaydet…" + +#: part/embeddedfilesdialog.cpp:155 +#, kde-format +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "Görü&nüm…" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "Yazdırma önizlemesi programcığı yüklenemedi" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "Yazdırma Önizlemesi" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "Kapat" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "&Bul:" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "Aranacak metin" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Sonraki" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "Sonraki eşleşmeye git" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Önceki" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "Önceki eşleşmeye git" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "Arama davranışını düzenle" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "BÜYÜK/küçük Harf Duyarlı" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "Geçerli Sayfadan" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "Yazarken Bul" + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "Tüm Dosyalar (*)" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "İmza yeri (imzalamak için tıklayın)" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "İ&mzala…" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "İmza Özellikleri" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "Arama Seçenekleri" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "BÜYÜK/küçük Harf Duyarlı" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "Düzenli İfade" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "Katmanlar" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "/" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "Yakınlaştır" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "%​100’e Yakınlaştır" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "&Sağa Döndür" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "Sağ" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "S&ola Döndür" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "Sol" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "Özgün Yönelim" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "Görünümü &Kırp" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "Kenar Boşluklarını &Kırp" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "&Seçime Kırp" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "G&enişliğe Sığdır" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "Say&fayı Sığdır" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "&Kendiliğinden Sığdır" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "Pencereyi Say&faya Sığdır" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "Görünüm Ki&pi" + +#: part/pageview.cpp:594 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "&Tek Sayfa" + +#: part/pageview.cpp:595 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "Yüzleşen Sayfa&lar" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "Yüzleşen Sayfalar (İlk Sayfayı Orta&la)" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "Genel &Görünüm" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "&Sürekli" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "Sağdan Sola Okuma Yönünü Kullan" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "&Göz At" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "&Yakınlaştır" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "Alan Seçi&mi" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "Meti&n Seçimi" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "T&ablo Seçimi" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "Bü&yüteç" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "Seçim Araçları" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "Sayısal Olarak İm&zala…" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "Tüm Belgeyi Konuş" + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "Geçerli Sayfadan Konuş" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "Geçerli Sayfayı Konuş" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "Konuşmayı Durdur" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "Konuşmayı Sürdür/Duraklat" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "Yukarı Sar" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Aşağı Sar" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "Sayfayı Yukarı Sar" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "Sayfayı Aşağı Sar" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "Formları Göster" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] " %1 sayfalık bir belge yüklendi." +msgstr[1] " %1 sayfalık bir belge yüklendi." + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "Tablo İçeriğini Panoya Kopyala" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "Metin (%1 karakter)" +msgstr[1] "Metin (%1 karakter)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "Panoya Kopyala" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "Metni Konuş" + +#: part/pageview.cpp:2863 +#, kde-format +msgid "Image (%1 × %2 pixels)" +msgstr "Görsel (%1 × %2 piksel)" + +#: part/pageview.cpp:2865 +#, kde-format +msgid "Save to File…" +msgstr "Dosyaya Kaydet…" + +#: part/pageview.cpp:2885 +#, kde-format +msgid "Image [%1 × %2] copied to clipboard." +msgstr "Görsel [%1 × %2] panoya kopyalandı." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "Dosyayı kaydet" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "Görseller (*.png *.jpeg)" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "Dosya kaydedilmedi." + +#: part/pageview.cpp:2901 +#, kde-format +msgid "Image [%1 × %2] saved to %3 file." +msgstr "Görsel [%1 × %2], %3 dosyasına kaydedildi." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "Metni Kopyala" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "Git: “%1”" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "Genişliğe sığdır" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "Sayfayı sığdır" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "Kendiliğinden sığdır" + +#: part/pageview.cpp:4107 +#, kde-format +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%%1" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "“%1” İfadesini Şununla Ara" + +#: part/pageview.cpp:4404 +#, kde-format +msgid "Configure Web Shortcuts…" +msgstr "Web Kısayollarını Yapılandır…" + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "Bu Bağlantıyı Takip Et" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "Bu Sesi Çal" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "Sesi Durdur" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "Bağlantı Adresini Kopyala" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "“%1” İfadesini Bu Belgede Ara" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Hoş Geldiniz" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "" +"Yakınlaştırılacak alanı seçin. Uzaklaşmak için farenin sağ düğmesine " +"tıklayın." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "Büyütülmüş görünümü görmek için tıklayın." + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "Kopyalamak için metnin/grafiğin etrafına bir dikdörtgen çizin." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "Metin seç" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" +"Tablonun etrafına bir dikdörtgen çizin, kenarlıkların yanına tıklayarak " +"ayırın, temizlemek için Esc düğmesine basın." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" +"Tüm imza sertifikalarınız geçersiz. İmzalama daha önce çalışıyordu ise " +"lütfen geçerlilik tarihlerini denetleyin." + +#: part/pageview.cpp:5188 +#, kde-format +msgid "No valid certificates" +msgstr "Geçerli sertifika yok" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, kde-format +msgid "Open Certificate Manager" +msgstr "Sertifika Yöneticisini Aç" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
    Launch Certificate Manager " +"to import or manage certificates
    For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" +"Kullanılabilir bir imza sertifikası yok.
    Sertifikalar içe aktarmak veya " +"var olanları yönetmek için Sertifika Yöneticisi’ni açın.
    Ek bilgi için " +"kullanım kılavuzundaki Sayısal İmza Ekleme bölümüne bakın." + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, kde-format +msgid "No certificates found" +msgstr "Bulunan sertifika yok" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
    For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" +"Kullanılabilir bir imza sertifikası yok.
    Ek bilgi için kullanım " +"kılavuzundaki Sayısal İmza Ekleme bölümüne bakın." + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" +"Kaydedilmemiş değişiklikleriniz var. Belgeyi imzalamadan önce kaydedin." + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "İmza alanını eklemek için bir dikdörtgen çizin" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "" +"Görünür olarak tutmak istediğiniz sayfa alanının etrafına bir dikdörtgen " +"çizin" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "Yeni Metin Notu" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "Yeni notun metni:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"İmzalayan: %1\n" +"\n" +"Tarih: %2" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" +"Bu boyuttaki bir imza okumak için pek küçük olabilir. Daha okunabilir bir " +"imza oluşturmak için Baştan Başlat’a basın ve daha " +"büyük bir dikdörtgen çizin." + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "Baştan Başlat" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "İmzala" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name" +msgstr "Yazar adı" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name for the annotation:" +msgstr "Bilgi notları için yazar adı:" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "Bir çember çiz (bir alan seçmek için sürükleyin)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "Metni vurgula" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "Serbest çizim çizgisi çiz" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "" +"İç Metin Bilgi Notu (bir alan seçmek için fare işaretçisini sürükleyin)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "Bir açılır not koy" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "Bir çokgen çiz (kapatmak için ilk noktaya tıklayın)" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "Bir dikdörtgen çiz" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "Metnin altını dalgalı çizgiyle çiz" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "Bir damga sembolü koy" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "Düz bir çizgi çiz" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "Metnin üzerini çiz" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "Metnin altını çiz" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "Daktilo Bilgi Notu (bir alan seçmek için sürükleyin)" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "Vurgulayıcı" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "Favori Ekle" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Custom annotation name:" +msgstr "Özel bilgi notu adı:" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&Dosya" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "Ayar&lar" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "&Yardım" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "&Yönelim" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "Y&er İmleri" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "Görüntüleyici Araç Çubuğu" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Küçük Görseller" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "Bilgi Notları" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
    Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" +"Bu belge, Okular’ın daha eski bir sürümünde içsel olarak kaydedilen bilgi " +"notları veya form verisi içeriyor. İçsel depolama artık desteklenmiyor.
    Dosyayı düzenlemeyi sürdürmek için kurtarma amaçlı olarak onları " +"lütfen bir dosyaya kaydedin." + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"Bu belgede gömülü dosyalar var. Dosyaları görmek için buraya veya “Dosya → Gömülü Dosyalar” menü ögesine " +"tıklayın." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "İmzalama sürüyor. İmzanın konumunu ve boyutunu ayarlayabilirsiniz." + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "İmzalamayı Bitir" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "Önceki" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "Önceki Sayfaya Dön" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "Önceki sayfaya gider" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "Sonraki" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "Sonraki Sayfaya Git" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "Sonraki sayfaya gider" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "Belge Başı" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "Belgenin başlangıcına gider" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "Belge Sonu" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "Belgenin sonuna gider" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "Geçerli yer imini yeniden adlandır" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "Önceki Yer İmi" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "Önceki yer imine git" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "Sonraki Yer İmi" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "Sonraki yer imine git" + +#: part/part.cpp:748 +#, kde-format +msgid "Configure Okular…" +msgstr "Okular Uygulamasını Yapılandır…" + +#: part/part.cpp:751 +#, kde-format +msgid "Configure Viewer…" +msgstr "Görüntüleyiciyi Yapılandır…" + +#: part/part.cpp:757 +#, kde-format +msgid "Configure Viewer Backends…" +msgstr "Görüntüleyici Arka Uçlarını Yapılandır…" + +#: part/part.cpp:759 +#, kde-format +msgid "Configure Backends…" +msgstr "Arka Uçları Yapılandır…" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "Arka Uç Hakkında" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "&Yeniden Yükle" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "Şimdiki belgeyi sabit diskten yeniden yükle." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "&Bul Çubuğunu Kapat" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "Sayfa Numarası" + +#: part/part.cpp:817 +#, kde-format +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "Renk Kiplerini Yapılandır…" + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "Geçerli Sayfadaki Tüm Metni Seç" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "&Kenar Çubuğunu Göster" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "&Sayfa Çubuğunu Göster" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "İ&mza Panelini Göster" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "Gö&mülü Dosyalar" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "Farklı Dışa A&ktar" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "P&aylaş" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "&Sunum" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "İçeren K&lasörü Aç" + +#: part/part.cpp:945 +#, kde-format +msgid "&Import PostScript as PDF…" +msgstr "&PostScript’i PDF Olarak İçe Aktar…" + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "Siyah Ekran Kipine Geç" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "Çizimi Sil" + +#: part/part.cpp:962 +#, kde-format +msgid "Configure Annotations…" +msgstr "Bilgi Notlarını Yapılandır…" + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "Sunumu Oynat/Duraklat" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" +"Açık belgeyi düzenlediniz; ancak bu tür belgeler kaydedilemez.\n" +"Okular kapatıldığında değişiklikler kaybolacak." + +#: part/part.cpp:1123 +#, kde-format +msgid "Document can't be saved" +msgstr "Belge kaydedilemiyor" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "“%1” (%2) açılamadı " + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "%1 belgesini yükleme işlemi iptal edildi." + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "%1 açılamadı. Gerekçe: %2" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "Görüntüleyici Arka Uçlarını Yapılandır" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "Arka Uçları Yapılandır" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"“ps2pdf” uygulaması bulunamadı. Bu nedenle Okular PS dosyalarını içe " +"aktaramayacak." + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "ps2pdf bulunamadı" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "PostScript dosyaları (%1)" + +#: part/part.cpp:1357 +#, kde-format +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "PS dosyası PDF olarak içe aktarılıyor (biraz zaman alabilir)…" + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "Belgeyi okumak için lütfen parolayı girin:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "Yanlış parola. Yeniden deneyin:" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "Belge Parolası" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "Bu belgede şu anda desteklenmeyen XFA formları bulunmaktadır." + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"Bu belgenin formları var. Bu formlarla etkileşmek için düğmelere tıklayın ya " +"da “Görünüm → Formları Göster” menüsünü kullanın." + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" +"Bu belgenin tüm düzenleme ve etkileşim özellikleri devre dışı. Düzenlemek " +"için yeni bir kopya kaydedin ve öyle açın." + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" +"Bu belge tam ekran görüntülenmek istiyor.\n" +"Normal kipten ayrılıp sunum kipine geçilsin mi?" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "Görüntülenme Kipini Değiştir İsteği" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "Sunum Kipine Gir" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "İsteği Reddet" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "%1 açılamadı. %2" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" +"%1 dosyasında kaydedilmemiş değişiklikler var; ancak " +"başka bir program tarafından değiştirilmiş. Onu yeniden yüklemek, " +"kaydedilmemiş değişiklikleri diğer program tarafından yapılan " +"değişikliklerle değiştirir.Dosyayı yeniden yüklemeyi sürdürmek " +"istiyor musunuz?" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "Dosya Değiştirildi" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "Yeniden Yüklemeyi Sürdür" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "Yeniden Yüklemeyi İptal Et" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" +"%1 dosyasında kaydedilmemiş değişiklikler var; ancak " +"başka bir program tarafından değiştirilmiş. Onu kapatmak, kaydedilmemiş " +"değişiklikleri diğer program tarafından yapılan değişikliklerle değiştirir." +"Dosyayı kapatmayı sürdürmek istiyor musunuz?" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "Kapatmayı Sürdür" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "Kapatmayı İptal Et" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "" +"“%1” dosyasına yaptığınız değişiklikler kaydedilsin mi yoksa atılsın mı?" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "Belgeyi Kapat" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"Bu bağlantı, gömülü görüntüleyicide çalışmayan bir belgeyi kapat eylemine " +"işaret ediyor." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"Bu bağlantı, gömülü görüntüleyicide çalışmayan bir uygulamadan çık eylemine " +"işaret ediyor." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, kde-format +msgid "Reloading the document…" +msgstr "Belge yeniden yükleniyor…" + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "İçerik" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "İmzalar" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Sayfaya Git" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "Sa&yfa:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "Yer iminin yeni adını girin:" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "Bu Yer İmini Yeniden Adlandır" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "Bu Yer İmini Kaldır" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "Farklı Kaydet" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" +"Bir Okular Arşivini dosya adında “%1” uzantısı olmadan kaydetmeyi seçtiniz. " +"Buna izin verilmez, başka bir ad seçmek istiyor musunuz?" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "Desteklenmeyen uzantı" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "Yeni Ad Seç" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" +"%1 dosyası başka bir program tarafından değiştirilmiş. " +"Şimdi kaydederseniz diğer programda yapılmış tüm değişiklikler kaybolur. " +"Sürdürmek istediğinizden emin misiniz?" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "Kaydet — Uyarı" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "Başka Bir Yere Bir Kopya Kaydet" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
    In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" +"Geçerli belge bir parola ile korunuyor.
    Kaydetmek için bu dosyanın " +"yeniden yüklenmesi gerekiyor. Sizden parolayı girmeniz istenecek ve geri al/" +"yinele geçmişiniz kaybolacak.
    Sürdürmek istiyor musunuz?" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "Geçici dosya kaydetmek için açılamadı." + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" +"%1 üzerine yazılamadı; çünkü dosya saltokunur. Dosyanın " +"izinlerini değiştirmeyi veya başka bir konuma kaydetmeyi deneyin." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" +"Geçerli dosya biçimi, kaydetme sonrasında dosyanın yeniden yüklenmesini " +"gerektiriyor. Geri Al/Yinele geçmişiniz kaybolacak.
    Sürdürmek istiyor " +"musunuz?" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "Dosya “%1” içine kaydedilemedi. Başka bir yere kaydetmeyi deneyin." + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "Doldurulan form içeriği" + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "Kullanıcı bilgi notları" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" +"Değişiklikleri kaydetmek üzeresiniz; ancak geçerli dosya biçimi aşağıdaki " +"ögeleri kaydetmeyi desteklemiyor. Onları korumak için lütfen Okular belge " +"arşivi biçimini kullanın." + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "Uyarı" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "Okular Belge Arşivi Olarak Kaydet…" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" +"Değişiklikleri kaydetmek üzeresiniz; ancak geçerli dosya biçimi aşağıdaki " +"ögeleri kaydetmeyi desteklemiyor. Onları korumak için lütfen Okular belge " +"arşivi biçimini kullanın. Bu ögeleri atmak ve dosyayı kaydetmek için " +"Sürdür>’e tıklayın." + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" +"Değişiklikleri kaydetmek üzeresiniz; ancak geçerli dosya biçimi aşağıdaki " +"ögeleri kaydetmeyi desteklemiyor. Onları korumak için lütfen Okular belge " +"arşivi biçimini kullanın. Kaydetmek için Sürdür’e tıklayın; ancak " +"bu ögeleri ve geri al/yine geçmişini kaybedeceksiniz." + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "Sürdür" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "Değişiklikleri kaybetmeyi sürdür" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "Dosya “%1” içerisine kaydedilemedi. %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"Okular %1 ögesini belirtilen konuma kopyalayamıyor.\n" +"\n" +"Belge artık yok." + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" +"Dosya “%1” içine kaydedilemedi. Hata: “%2”. Başka bir yere kaydetmeyi " +"deneyin." + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "Expand whole section" +msgid "Expand Whole Section" +msgstr "Tüm Bölümü Genişlet" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "Collapse whole section" +msgid "Collapse Whole Section" +msgstr "Tüm Bölümü Daralt" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "Küçük görselleri sayfa ile eşzamanla" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Araçlar" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "Konuş" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "Yazdır" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "Bu belgenin yazdırılmasına izin verilmiyor." + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"Bu belge yazdırılamıyor. Bilinmeyen hata. Lütfen bugs.kde.org adresinden " +"hatayı raporlayın." + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"Belge yazdırılamıyor. Ayrıntılı hata “%1”. Lütfen bugs.kde.org adresinden " +"hatayı raporlayın." + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "Daha önce bulunduğunuz yere gider" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "Daha sonra bulunduğunuz yere gider" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"
    %1.
    " +msgstr "" +"Dosya Hatası! Geçici dosya oluşturulamadı " +"%1." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"Dosya Hatası! Sıkıştırmasını açmak için " +"%1 dosyası açılamadı. Dosya yüklenmeycek." + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"Bu hata genelde yeterli dosya okuma iznine sahip değilseniz meydana " +"gelir. Dolphin dosya yöneticisinde dosyanın üzerine sağ tıklar ve daha sonra " +"“Özellikler” sekmesini seçerseniz sahiplik ve izinleri denetleyebilirsiniz." + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"Dosya Hatası! %1 " +"dosyasının sıkıştırması açılamadı. Dosya yüklenmeyecek." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"Bu hata genellikle dosya bozuksa meydana gelir. Emin olmak istiyorsanız, " +"dosyayı komut satırında elle açmayı deneyin." + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "Yer İmi Yok" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "Belge paylaşılırken bir hata oluştu: %1" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "Paylaş" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "Belge paylaşımı başarılı" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "Paylaşılan belgeyi şurada bulabilirsiniz: %1" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "Dü&zen" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "Görü&nüm" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "G&it" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "&Araçlar" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "Ana Araç Çubuğu" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "Bilgi Notu Araç Çubuğu" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, kde-format +msgid "Quick Annotation Toolbar" +msgstr "Tez Bilgi Notu Araç Çubuğu" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "Genel Seçenekler" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Erişilebilirlik" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "Okuma Erişilebilirlik Yardımı" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Başarım" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "Başarım Ayarı" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "Görüntüleyiciyi Yapılandır" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Sunum" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "Sunum Kipi Seçenekleri" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "Bilgi Notu Seçenekleri" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "Düzenleyici" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "Düzenleyici Seçenekleri" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" +"Komut satırı tarafından ayarlanan düzenleyici: \n" +"%1 \n" +"Ayarı kullanmak isterseniz Okular’ı --editor-cmd seçeneği olmadan başlatın" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "Sonrakini Bul" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 – Sunum" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "Ekrana Geç" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "Ekran %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "Sunum Kipinden Çık" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Başlık: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Sayfa: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "Başlamak için tıklayın" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "Duraklat" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "Oynat" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"Sunum kipinden çıkmanın iki yolu vardır; ESC düğmesine veya fareyi sağ üst " +"köşeye götürdüğünüzde görünen çıkış düğmesine basabilirsiniz. Pencereler " +"arasında da dolaşmak olanaklıdır (öntanımlı olarak Alt+Sekme)." + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "Bir sunum yapmak" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "Bilinmeyen Dosya" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "%1 Özellikler" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "&Yazıtipleri" + +#: part/propertiesdialog.cpp:145 +#, kde-format +msgid "Reading font information…" +msgstr "Yazıtipi bilgisi okunuyor…" + +#: part/propertiesdialog.cpp:158 +#, kde-format +msgid "&Page Sizes" +msgstr "Sa&yfa Boyutu" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "&Yazıtipini Çıkar" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Tür 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Tür 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "Tür 1C (OT)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Tür 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType (OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID Türü 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID Türü 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID Türü 0C (OT)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType (OT)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "TeX PK" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "TeX sanal" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "TeX Yazıtipi Metriği" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "TeX FreeType-handled" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "Bilinmeyen" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "Gömülü (altküme)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "Tam gömülü" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "Hayır" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "Evet (altküme)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "Evet" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "%1 (%2 ile değiştiriliyor)" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "[n/a]" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "Bilinmeyen yazıtipi" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "Gömülü: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "Ad" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "Tür" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "Dosya" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "Sayfalar" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "Boyut" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "Revizyon Önizlemesi" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "Bu revizyonu nereye kaydetmek istiyorsunuz?" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "%1 dosyası kaydedilemedi." + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "Revizyon görüntülenemedi." + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "Sayfaları süzmek için en az 3 harf girin" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "BÜYÜK/küçük Harf Duyarlı" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "Deyimi Eşleştir" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "Tüm Sözcükleri Eşleştir" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "Herhangi Bir Sözcüğü Eşleştir" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "Süzgeç Seçenekleri" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, kde-format +msgid "Certificates" +msgstr "Sertifikalar" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "Birlikte imzalamak için sertifika seçin:" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "Tümü" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, kde-format +msgid "Only QES certificates" +msgstr "Yalnızca QES sertifikaları" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "Yalnızca PGP anahtarları" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "Neden:" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, kde-format +msgid "optional" +msgstr "isteğe bağlı" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "Konum:" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, kde-format +msgid "Background:" +msgstr "Arka plan:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "Seç…" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, kde-format +msgid "Recent backgrounds:" +msgstr "Son kullanılan arka planlar:" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

    No annotations

    To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
    " +msgstr "" +"

    Bilgi notu yok

    Yeni bilgi notu oluşturmak için F6 " +"düğmesine basın veya menüden Araçlar → Bilgi Notları seçeneğine " +"tıklayın.
    " + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "Sayfaya Göre Grupla" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "Yazara Göre Grupla" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "Yalnızca geçerli sayfa için bilgi notlarını göster" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "Tüm Ögeleri Genişlet" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "Tüm Ögeleri Daralt" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "Özellikler" + +#: part/signaturepartutils.cpp:180 +#, kde-format +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Görseller (%1)" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "Arka plan rengi seç" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "Görseli Unut" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "Tüm Görselleri Unut" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "Sertifika kilidini açmak için (varsa) parola girin: %1" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "Sertifika parolasını girin" + +#: part/signaturepartutils.cpp:244 +#, kde-format +msgid "Enter document password" +msgstr "Belge parolasını girin" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "İmzalı Dosyayı Farklı Kaydet" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "%1_imzalı.%2" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "Geçerlilik Durumu" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "İmza geçerliliği:" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "Belge değişiklikleri:" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "Ek Bilgi" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "İmzalayan:" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "İmza saati:" + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "Belge Sürümü" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Belge Revizyonu %1/%2" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "İmzalanmış Sürümü Görüntüle…" + +#: part/signaturepropertiesdialog.cpp:95 +#, kde-format +msgid "View Certificate…" +msgstr "Sertifikayı Görüntüle…" + +#: part/signaturepropertiesdialog.cpp:97 +#, kde-format +msgid "View in Certificate Manager" +msgstr "Sertifika Yöneticisinde Görüntüle" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "KDE Sertifika Yöneticisi (Kleopatra) bulunamadı" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "Kalifiye" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "PGP" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "Yalnızca yer imi koyulmuş sayfaları göster" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "Oynat" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Duraklat" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "Durdur" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "Bu Okular’da videolar desteklenmiyor" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "Bu Okular’da videolar desteklenmiyor" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "&Ekle…" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, kde-format +msgid "&Edit…" +msgstr "Dü&zenle…" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "&Kaldır" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "Y&ukarı Taşı" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "Aşağı &Taşı" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "Öntanımlı Çizim Aracı #%1" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "Bu ada sahip bir araç zaten var. Öntanımlı olan kullanılıyor" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "Yinelenen Ad" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "Belgenin gösterilecek sayfası" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "Belgeyi sunum kipinde başlat" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "Yazdırma iletişim kutusuyla başla" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "Yazdırma iletişim kutusuyla başlat ve yazdırma sonrasında çık" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "“Benzersiz örnek” denetimi" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "Pencereyi yükseltme" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "Metinde bir dizi bul" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "Dış düzenleyici komutunu ayarlar" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "" +"Açılacak belgeler. Standart girdiden okuma yapmak için “-” ifadesini " +"belirtin." + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" +"Düzenleyici komutunu halihazırda çalışan bir Okular örneğinde " +"ayarlayamazsınız. Lütfen sekmeleri devre dışı bırakın ve yeniden deneyin. " +"Düzenleyici komutu, komut satırında ayarlandığında bu benzersiz de " +"desteklenmez.\n" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "Hata: --unique anahtarıyla birden çok belge açılamaz" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "Hata: --presentation anahtarıyla birden çok belge açılamaz" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "Hata: --print anahtarıyla birden çok belge açılamaz" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "Hata: --page anahtarıyla birden çok belge açılamaz" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "Hata: --print anahtarıyla birden çok belge açılamaz" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "Okular bileşeni bulunamıyor: %1" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "Kenar Çubuğu" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" +"Benzersiz bir Okular örneği halihazırda çalışıyor. Bu örnek benzersiz " +"olmayacaktır." + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "Okular bileşeni bulunamıyor." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"Bir dosyayı açmak için tıklayın\n" +"Son kullanılan dosyaları açmak için tıklayın ve bekleyin" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"Bir dosya açmak için tıklayın veya Son kullanılan bir dosyayı açmak " +"için tıklayın ve bekleyin" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "Sonraki Sekme" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "Önceki Sekme" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "Sekme Kapatmayı Geri Al" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "Kenar Çubuğunu Kilitle" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "Tüm dosyalar (*)" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "Desteklenen tüm dosyalar (%1)" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "Belge Aç" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "Kapatmayı Onayla" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "Sekmeleri Kapat" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "%1 sekmeyi kapatmak üzeresiniz. Sürdürmek istediğinizden emin misiniz?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "Çok sayıda sekmeyi kapatmaya çalıştığımda beni uyar" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "Yolu Ko&pyala" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "İçeren K&lasörü Aç" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "&Bu Ögeyi Unut" + +#: shell/welcomescreen.cpp:137 +#, kde-format +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "Son kullanılan belge yok" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "Okular’a hoş geldiniz" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Belge Aç…" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, kde-format +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Son kullanılan belgeler" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "Tümünü Unut" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "Karşılama ekranını gizle" diff --git a/po/tr/okular_comicbook.po b/po/tr/okular_comicbook.po new file mode 100644 index 0000000..c30312e --- /dev/null +++ b/po/tr/okular_comicbook.po @@ -0,0 +1,60 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# obsoleteman , 2008. +# Volkan Gezer , 2022. +# SPDX-FileCopyrightText: 2024 Emir SARI +msgid "" +msgstr "" +"Project-Id-Version: kdegraphics-kde4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-06-27 02:00+0300\n" +"Last-Translator: Emir SARI \n" +"Language-Team: Turkish \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Lokalize 24.07.70\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Serdar Soytetir" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "tulliana@gmail.com" + +#: document.cpp:97 +#, kde-format +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "Belge açılamıyor; unrar ve unarchiver uygulamaları bulunamadı." + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "" +"Sisteminizdeki unrar sürümü, comicbook dosyalarını açmak için uygun değil." + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "Bilinmeyen ComicBook biçimi." + +#~ msgid "ComicBook Backend" +#~ msgstr "ComicBook Arka Ucu" + +#~ msgid "A renderer for various comic book formats" +#~ msgstr "Çeşitli çizgi roman biçimleri için hazırlayıcı" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/tr/okular_djvu.po b/po/tr/okular_djvu.po new file mode 100644 index 0000000..d44050a --- /dev/null +++ b/po/tr/okular_djvu.po @@ -0,0 +1,138 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# obsoleteman , 2008. +# Volkan Gezer , 2013. +# Emir SARI , 2023. +msgid "" +msgstr "" +"Project-Id-Version: kdegraphics-kde4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2023-03-21 15:19+0300\n" +"Last-Translator: Emir SARI \n" +"Language-Team: Turkish \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Lokalize 22.12.3\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Serdar Soytetir" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "tulliana@gmail.com" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "Düzenleyici" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "Yayıncı" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "Cilt" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "Belge tipi" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "Bilinmeyen" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "Bileşen Dosyaları" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "Bilinmeyen" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "Tek sayfa" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "Sarmalanmış" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "Dolaylı" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "Sarmalanmış (eski)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "Dizinlenmiş (eski)" + +#~ msgid "DjVu Backend" +#~ msgstr "DjVu Arka Ucu" + +#~ msgid "DjVu backend based on DjVuLibre." +#~ msgstr "DjVuLibre temelli DjVu arka ucu." + +#~ msgid "© 2006-2008 Pino Toscano" +#~ msgstr "© 2006-2008 Pino Toscano" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgctxt "Unknown title" +#~ msgid "Unknown" +#~ msgstr "Bilinmeyen" + +#~ msgctxt "Unknown author" +#~ msgid "Unknown" +#~ msgstr "Bilinmeyen" + +#~ msgctxt "Unknown editor" +#~ msgid "Unknown" +#~ msgstr "Bilinmeyen" + +#~ msgctxt "Unknown publisher" +#~ msgid "Unknown" +#~ msgstr "Bilinmeyen" + +#~ msgctxt "Unknown creation date" +#~ msgid "Unknown" +#~ msgstr "Bilinmeyen" + +#~ msgctxt "Unknown volume information" +#~ msgid "Unknown" +#~ msgstr "Bilinmeyen" + +#~ msgctxt "Unknown type of document" +#~ msgid "Unknown" +#~ msgstr "Bilinmeyen" diff --git a/po/tr/okular_dvi.po b/po/tr/okular_dvi.po new file mode 100644 index 0000000..fa9f7fb --- /dev/null +++ b/po/tr/okular_dvi.po @@ -0,0 +1,549 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# obsoleteman , 2008-2009,2012. +# Serhat Demirkol , 2009. +# Volkan Gezer , 2013-2014. +# SPDX-FileCopyrightText: 2022, 2023, 2024, 2025 Emir SARI +msgid "" +msgstr "" +"Project-Id-Version: kdegraphics-kde4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-17 23:12+0300\n" +"Last-Translator: Emir SARI \n" +"Language-Team: Turkish \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Lokalize 25.04.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Serdar Soytetir" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "tulliana@gmail.com" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

    Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

    Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

    " +msgstr "" +"

    Okular bilgisayarınızda dvipdfm programının yerini " +"belirleyemedi. Bu program dışa aktarım işlevinin çalışması için önemlidir. " +"Yine de, Okular’ın yazdırma işlevini kullanarak DVI dosyasını PDF biçimine " +"dönüştürebilirsiniz. Bu genelde yazdırıldığında makul ancak Acrobat " +"Reader’da görüntülendiğinde oldukça kalitesiz olan belgeler üretecektir. TeX " +"dağıtımınızı dvipdfm programını içeren daha güncel bir sürüme " +"güncellemeniz akıllıca olabilir.

    Kafası karışık sistem yöneticisi için " +"ip ucu: Okular, programları ararken PATH çevre değişkenini kullanır.

    " + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Dosyayı dışa aktarmak için kullanılan dış “dvipdfm” programı bir hata " +"bildirdi. Dosya menüsünde belirli bir hata raporu bulacağınız belge " +"bilgisi iletişim kutusuna bakmak isteyebilirsiniz." + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" +"Bu DVI dosyası, PostScript biçiminde olmayan ve Okular’ın dahili olarak " +"yazdırma veya PostScript olarak dışa aktarma için kullandığı dvips " +"programı tarafından ele alınamayan dış grafik dosyalarına atıfta bulunur. " +"Gereksinim duyduğunuz işlevsellik bu nedenle Okular’ın bu sürümünde mevcut " +"değildir." + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

    Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

    Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

    " +msgstr "" +"

    Okular bilgisayarınızda dvips programının yerini " +"belirleyemedi. Bu program dışa aktarım işlevinin çalışması için önemlidir.

    Kafası karışık sistem yöneticisi için ip ucu: Okular, programları " +"ararken PATH çevre değişkenini kullanır.

    " + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Dosyayı dışa aktarmak için kullanılan dış “dvips” programı bir hata " +"bildirdi. Dosya menüsünde belirli bir hata raporu bulacağınız belge " +"bilgisi iletişim kutusuna bakmak isteyebilirsiniz." + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "DVI dosyası bir başlık ile başlamıyor." + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" +"DVI dosyası bu program için yanlış DVI çıktı sürümüne sahip. İpucu: Eğer " +"Omega yazım sistemini kullanıyorsanız, oxdvi gibi özel bir program " +"kullanmalısınız." + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "" +"DVI dosyası kötü bir şekilde bozuk. Okular, eş zamanlama takısını bulamadı." + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "DVI postamble bölümü POST komutu ile başlamıyor." + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "Gönderim FNTDEF den başka bir komut içeriyor." + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "%1 sayfası BOP komutu ile başlamıyor." + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

    The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

    What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

    PATH: %2

    " +msgstr "" +"

    pdf2ps dış programı başlatılamadı. Sonuç olarak, %1 " +"PDF dosyası PostScript’e dönüştürülemedi. Belgenizdeki bazı grafik ögeleri " +"bu nedenle görüntülenmeyecek.

    Olası neden: pdf2ps programı sisteminizde kurulu olmayabilir veya geçerli arama yolunda " +"bulunmayabilir.

    Ne yapabilirsiniz:pdf2ps " +"programı normalde ghostscript PostScript yorumlayıcı sistemi dağıtımlarında " +"içerilir. Eğer ghostscript sisteminizde kurulu değilse şimdi kurabilirsiniz. " +"Eğer ghostscript’in kurulu olduğundan eminseniz gerçekten çalışıp " +"çalışmadığını denetlemek için pdf2psprogramını komut " +"satırından kullanmayı deneyin.

    YOL: %2

    " + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

    The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

    %2

    " +msgstr "" +"

    %1 PDF dosyası PostScript’e dönüştülemedi. Belgenizdeki bazı grafik " +"unsurları bu nedenle görüntülenemeyecek.

    Olası neden:%1 dosyası " +"bozuk olabilir veya bir PDF dosyası olmayabilir. Bu, Okular’ın kullandığı " +"pdf2ps programının çıktısıdır:

    %2" + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "Bozuk dosya. %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "PostScript dosyalarının tümü belgenize gömülemedi. %1" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "Tüm harici PostScript dosyaları belgenize gömüldü." + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "Belirtilen “%1” dosyası yok." + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" +"Okular’ın TeX dosyası %2 içindeki %1 satırına ait DVI dosyasındaki konumu " +"bulmasını istediniz. Görünüyor ki bu DVI dosyası gerekli kaynak dosyası " +"bilgisini içermiyor. " + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" +"Okular TeX dosyası %2 içindeki %1 satırına ait DVI dosyasındaki konumu " +"bulamadı." + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "DVI kodu bilinmeyen bir yazıtipinin bir karakterini atadı." + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "#%1 yazıtipine başvuran DVI kodu önceden belirtilmemiş." + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "EOP komutu çalıştırılırken yığın boş değildi." + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "POP komutu çalıştırılırken yığın boş durumdaydı." + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "DVI kodunun başvurduğu bir yazıtipi önceden tanımlanmamış." + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "Geçersiz bir komut yürütüldü." + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "Bilinmeyen işlem kodu %1 ile karşılaşıldı." + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "%1 Gömülüyor" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
    " +msgstr "" +"Sayfa %1: PDF dosyası %2 PostScript’e dönüştürülemedi.
    " + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
    " +msgstr "Sayfa %1: PostScript dosyası %2 bulunamadı.
    " + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "Kâğıt büyüklüğü verisi “%1” ayrıştırılamadı." + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

    Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

    PATH: %1

    %2

    " +msgstr "" +"

    Okular, mevcut DVI dosyasını görüntülemek için gerekli tüm yazıtipi " +"dosyalarının yerini belirleyemiyor. Belgeniz okunamaz olabilir.

    YOL: %1

    %2

    " + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

    There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
    Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

    PATH: %1

    %2

    " +msgstr "" +"

    kpsewhich çalıştırılırken sorun oluştu. Sonuç olarak bazı " +"yazıtipi dosyaları bulunamadı ve belgeniz okunamaz olabilir.
    Olası " +"sebep: kpsewhich programı sistemde kurulu olmayabilir veya geçerli " +"arama yolunda olmayabilir.

    YOL: %1

    " +"%2

    " + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" +"kpsewhich tarafından yapılan yazıtipi üretimi işlemi " +"sonlandırıldı (çıkış kodu %1, hata %2). Sonuç; bazı yazıtipleri " +"konumlandırılamadı ve belgeniz okunamaz durumda olabilir." + +#: fontpool.cpp:482 +#, kde-format +msgid "Currently generating %1 at %2 dpi…" +msgstr "Şu anda %1 yazıtipi %2 DPI ile üretiliyor…" + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "Oluşturucu/Tarih" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "Dosya bulunamadı" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "%1 × %2" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "%1 × %2 mm" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "%1 × %2 inç" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "dikey" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "yatay" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" +"Bu bilgisayarda kurulu olan Ghostview sürümü, Okular’ın tanıdığı Ghostview " +"aygıt sürücülerinden hiçbirini içermiyor. PostScript desteği bu nedenle " +"Okular içerisinde kapatılmıştır." + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "25 hata oluşturur. Sonraki hata iletileri yazılmayacak." + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" +"“%1” DVI dosyası %2. sayfasında hata. Renk çıkar komutu renk yığını boşken " +"kullanıldı." + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" +"Epsf özel komutunda kötü biçimlendirilmiş değiştirge.\n" +"%1 değişkesini %2 konumunda takip etmek için bir kayan nokta beklenildi" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"Dosya bulunamadı: \n" +" %1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" +"“%1” DVI dosyası %2. sayfasında hata. Metin döndürme özelliğinde açı " +"yorumlanamadı." + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "“%1” özel komutu henüz gerçeklenmedi." + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" +"%1 yazıtipi dosyası açılıp okunabiliyor fakat yazıtipi biçimi desteklenmiyor." + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "%1 yazıtipi dosyası bzouk veya açılamıyor/okunamıyor." + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" +"FreeType, %1 yazıtipi dosyası için karakter boyutu ayarlanırken hata " +"belirledi." + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "FreeType, #%1 karakterini %2 yazıtipi dosyasından yükleyemedi." + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "FreeType, #%1 karakterini %2 yazıtipi dosyasından sunamadı." + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "Glyph #%1 boş." + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "%2 yazıtipi dosyasındaki %1 karakteri boş." + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "" +"FreeType, #%1 karakterinin boyutlarını %2 yazıtipi dosyasından yükleyemedi." + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "%1 yazıtipi dosyası açılamadı." + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "TexFont_PK::operator[]: %1 karakteri %2 yazıtipinde tanımlı değil" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "PK dosyası %2 içinde beklenmeyen %1" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "%2 dosyası içindeki %1 karakteri çok büyük" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "Yanlış sayıda bit kaydedildi: karakter %1, yazıtipi %2" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "Bozuk pk dosyası (%1), çok fazla bit" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "Yazıtipi kare bir görünüm oranına sahip değil " + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "%1 yazıtipi, %2 dosyası bulunamadı." + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "%1 yazıtipi dosyasında denetleme hatası" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "Yazıtipi dosyası %1 için biçim tanınamadı" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"Sonlandırıcı hata.\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" +"\n" +"\n" +"Bu muhtemelen ya Okular içerisinde bir hata bulduğunuzu\n" +"ya da DVI dosyasının veya destek dosyalarının (yazıtipi dosyaları, \n" +"veya sanal yazıtipi dosyaları gibi) gerçekten kötü bir şekilde\n" +"bozuk oldukları anlamına gelir. Okular bu iletiden sonra durdurulacaktır. \n" +"Eğer bir hata bulduğunuza veya Okular’ın bu durumda daha iyi davranması\n" +"gerektiğine inanıyorsanız lütfen sorunu bildirin." + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "VF makro listesinde yanlış komut baytı bulundu: %1" diff --git a/po/tr/okular_epub.po b/po/tr/okular_epub.po new file mode 100644 index 0000000..6813e0e --- /dev/null +++ b/po/tr/okular_epub.po @@ -0,0 +1,57 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# obsoleteman , 2008,2013 +msgid "" +msgstr "" +"Project-Id-Version: kdegraphics-kde4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2014-06-08 13:55+0000\n" +"Last-Translator: Volkan Gezer \n" +"Language-Team: Turkish (http://www.transifex.com/projects/p/kdegraphics-k-tr/" +"language/tr/)\n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Serdar Soytetir" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "tulliana@gmail.com" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "EPub belgesi açılırken bir hata oluştu." + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "EPub" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "EPub Arka Ucu Yapılandırması" + +#~ msgid "EPub Backend" +#~ msgstr "EPub Arka Ucu" + +#~ msgid "An EPub backend" +#~ msgstr "An EPub backend" + +#~ msgid "© 2008 Ely Levy" +#~ msgstr "© 2008 Ely Levy" + +#~ msgid "Ely Levy" +#~ msgstr "Ely Levy" diff --git a/po/tr/okular_fax.po b/po/tr/okular_fax.po new file mode 100644 index 0000000..0c9ac82 --- /dev/null +++ b/po/tr/okular_fax.po @@ -0,0 +1,47 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# obsoleteman , 2008 +# SPDX-FileCopyrightText: 2024 Emir SARI +msgid "" +msgstr "" +"Project-Id-Version: kdegraphics-kde4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-06-27 01:59+0300\n" +"Last-Translator: Emir SARI \n" +"Language-Team: Turkish \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Lokalize 24.07.70\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Serdar Soytetir" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "tulliana@gmail.com" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "Belge yüklenemiyor" + +#~ msgid "Fax Backend" +#~ msgstr "Faks Arka Ucu" + +#~ msgid "A G3/G4 fax document backend" +#~ msgstr "Bir G3/G4 faks arka ucu" + +#~ msgid "© 2008 Tobias Koenig" +#~ msgstr "© 2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/tr/okular_fictionbook.po b/po/tr/okular_fictionbook.po new file mode 100644 index 0000000..20f10ed --- /dev/null +++ b/po/tr/okular_fictionbook.po @@ -0,0 +1,82 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# obsoleteman , 2008,2013 +# SPDX-FileCopyrightText: 2024 Emir SARI +msgid "" +msgstr "" +"Project-Id-Version: kdegraphics-kde4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-06-27 01:59+0300\n" +"Last-Translator: Emir SARI \n" +"Language-Team: Turkish \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Lokalize 24.07.70\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Serdar Soytetir" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "tulliana@gmail.com" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "Belge geçerli bir FictionBook değil" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "%1 belgesi açılamadı" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "Belge geçerli bir ZIP arşivi değil" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "Geçersiz belge yapısı (ana dizin kayıp)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "Belgede içerik bulunamadı" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "Geçersiz XML belgesi: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "FictionBook" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "FictionBook Arka Ucu Yapılandırması" + +#~ msgid "Fiction Book Backend" +#~ msgstr "Fiction Book Arka Ucu" + +#~ msgid "A renderer for FictionBook eBooks" +#~ msgstr "FictionBook e-kitapları için bir hazırlayıcı" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/tr/okular_ghostview.po b/po/tr/okular_ghostview.po new file mode 100644 index 0000000..9f67d9f --- /dev/null +++ b/po/tr/okular_ghostview.po @@ -0,0 +1,79 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# obsoleteman , 2008-2009. +# SPDX-FileCopyrightText: 2023, 2024, 2025 Emir SARI +msgid "" +msgstr "" +"Project-Id-Version: kdegraphics-kde4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-03-31 01:41+0300\n" +"Last-Translator: Emir SARI \n" +"Language-Team: Turkish \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Lokalize 25.07.70\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Serdar Soytetir" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "tulliana@gmail.com" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "Platform yazıtiplerini kullan" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"Ghostscript’in platform yazıtiplerini kullanmasına izin verilip " +"verilmeyeceğini belirler; işaretlenmezse yalnızca belgeye gömülü " +"yazıtiplerinin kullanımına izin verilir." + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "Genel Ayarlar" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "&Platform yazıtiplerini kullan" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Ghostscript Arka Ucu Yapılandırması" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "Belge sürümü" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "Dil Düzeyi" diff --git a/po/tr/okular_kimgio.po b/po/tr/okular_kimgio.po new file mode 100644 index 0000000..3c2cfb1 --- /dev/null +++ b/po/tr/okular_kimgio.po @@ -0,0 +1,72 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# obsoleteman , 2008-2009. +# Volkan Gezer , 2022. +# Emir SARI , 2022. +msgid "" +msgstr "" +"Project-Id-Version: kdegraphics-kde4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2022-11-14 14:24+0300\n" +"Last-Translator: Emir SARI \n" +"Language-Team: Turkish \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Lokalize 22.08.3\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Serdar Soytetir" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "tulliana@gmail.com" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "Belge yüklenemedi: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" +"Bu belge hatalı biçimlendirilmiş görünüyor. Belgenin amaçlanan görünüşünün " +"en iyi tahmini burada." + +#~ msgid "Image Backend" +#~ msgstr "Görüntü Arka Ucu" + +#~ msgid "A simple image backend" +#~ msgstr "Basit bir görüntü arka ucu" + +#~ msgid "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" +#~ msgstr "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" + +#~ msgid "Main Toolbar" +#~ msgstr "Ana Araç Çubuğu" diff --git a/po/tr/okular_markdown.po b/po/tr/okular_markdown.po new file mode 100644 index 0000000..03ecd35 --- /dev/null +++ b/po/tr/okular_markdown.po @@ -0,0 +1,54 @@ +# Copyright (C) 2023 This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Volkan Gezer , 2022. +# SPDX-FileCopyrightText: 2023 Emir SARI +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2023-12-16 14:04+0300\n" +"Last-Translator: Emir SARI \n" +"Language-Team: Turkish \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Lokalize 23.08.4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Emir SARI" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "emir_sari@icloud.com" + +#: converter.cpp:59 converter.cpp:93 +#, kde-format +msgid "Failed to open the document" +msgstr "Belge açılamadı" + +#: converter.cpp:106 converter.cpp:124 +#, kde-format +msgid "Failed to compile the Markdown document." +msgstr "Markdown belgesi derlenemedi." + +#: generator_md.cpp:58 +#, kde-format +msgid "Enable SmartyPants formatting" +msgstr "SmartyPants biçimlendirmesini etkinleştir" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown" +msgstr "Markdown" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown Backend Configuration" +msgstr "Markdown Arka Ucu Yapılandırması" diff --git a/po/tr/okular_mobi.po b/po/tr/okular_mobi.po new file mode 100644 index 0000000..d7d6c5c --- /dev/null +++ b/po/tr/okular_mobi.po @@ -0,0 +1,64 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# obsoleteman , 2009,2013. +# SPDX-FileCopyrightText: 2023, 2025 Emir SARI +msgid "" +msgstr "" +"Project-Id-Version: kdegraphics-kde4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-03-31 01:42+0300\n" +"Last-Translator: Emir SARI \n" +"Language-Team: Turkish \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Lokalize 25.07.70\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Serdar Soytetir" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "tulliana@gmail.com" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Mobipocket belgesi açılırken bir hata oluştu." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "" +"Bu kitap DRM korumalı olduğundan yalnızca belirlenen aygıt ile okunabilir" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "Mobipocket" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "Mobipocket Arka Ucu Yapılandırması" + +#~ msgid "Mobipocket Backend" +#~ msgstr "Mobipocket Arka Ucu" + +#~ msgid "A mobipocket backend" +#~ msgstr "Bir mobipocket arka ucu" + +#~ msgid "© 2008-2009 Jakub Stachowski" +#~ msgstr "© 2008-2009 Jakub Stachowski" + +#~ msgid "Jakub Stachowski" +#~ msgstr "Jakub Stachowski" diff --git a/po/tr/okular_poppler.po b/po/tr/okular_poppler.po new file mode 100644 index 0000000..cc6fe84 --- /dev/null +++ b/po/tr/okular_poppler.po @@ -0,0 +1,396 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Ozan Çağlayan , 2010. +# obsoleteman , 2008-2009,2012. +# Serhat Demirkol , 2009. +# Volkan Gezer , 2013, 2022. +# SPDX-FileCopyrightText: 2023, 2024, 2025 Emir SARI +msgid "" +msgstr "" +"Project-Id-Version: kdegraphics-kde4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-10-26 20:00+0300\n" +"Last-Translator: Emir SARI \n" +"Language-Team: Turkish \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Lokalize 25.08.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Serdar Soytetir, Emir SARI" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "tulliana@gmail.com, emir_sari@icloud.com" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "Üst baskı önizlemesini etkinleştir:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "Asla" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "Her zaman" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "Kendiliğinden" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "İnce satırları iyileştir:" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "Hayır" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "Katı" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "Şekil" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "Yazdırma için öntanımlı ölçekleme kipi:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "Yazdırılabilir alana sığdır" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "Tam sayfaya sığdır" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "Hiçbiri; özgün boyutu yazdır" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" +"Bu seçeneği etkinleştirmek, Okular’ın OCSP sunucuları ile iletişim kurarak " +"sayısal imzalama için kullanılan sertifikaların oluşturulduğu tarihten " +"itibaren yürürlükten kaldırılıp kaldırılmadığını denetlemesine izin verir." + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" +"Üçüncü parti sunucular kullanarak sayısal imzaların yürürlülük durumlarını " +"denetle" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "İmza arka ucu:" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" +"Bu imzalar yalnızca GnuPG arka ucu etkinleştirilmiş güncel Okular sürümleri " +"ile doğrulanabilir." + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "İmzalar için PGP anahtarlarına izin ver (Okular genişletmesi)" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "Sertifika Veritabanı" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "Öntanımlı:" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "Özel:" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "Kullanılabilir Sertifikalar" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "İmzalar &Yükle" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "PDF Seçenekleri" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "Bilgi notlarını yazdır" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "Belgeyi yazdırırken bilgi notlarını da yazdır" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"Belgeyi yazdırırken bilgi notlarını da yazdırır. Eğer, belgeyi sade haliyle, " +"bilgi notları olmadan yazdırmak istiyorsanız bunu pasifleştirebilirsiniz." + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "Rasterleştirmeyi zorla" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "Yazdırma öncesi bir görsele rasterleştir" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"Yazdırmadan önce her sayfanın bir görsele rasterleştirilmesini zorlar. Bu " +"genellikle biraz daha kötü sonuçlar verir; ancak hatalı yazdırılıyor gibi " +"görünen belgeleri yazdırırken kullanışlıdır." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "Yazdırılan sayfalar için ölçeklendirme kipi" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "Ölçeklendirme kipi:" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF s. %1.%2" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "Biçim" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "Şifrelenmiş" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "Şifrelenmemiş" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "Güvenlik" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "Evet" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "İyileştirilmiş" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"İmzalayan: %1\n" +"\n" +"Tarih: %2" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "Poppler %1 kullanılıyor" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" +"Poppler %1 kullanılıyor\n" +"\n" +"Poppler %2 sürümüne karşın yapılmıştır" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "PDF Arka Ucu Yapılandırması" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "Geçici dosya yazılamadı" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "Geçici dosya yeniden adlandırılamadı" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" +"Belgede bazı hatalar bulundu, Okular içeriği doğru bir biçimde " +"görüntülemeyebilir" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" +"Bu imzalar yalnızca GnuPG arka ucu etkinleştirilmiş güncel Okular sürümleri " +"ile doğrulanabilir." + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "PGP İmzalarını Etkinleştir" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "Verilen" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "E-posta" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "Son Kullanım Tarihi" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" +"NSS desteği olmadan yapılmış bir Poppler kitaplığı kullanıyorsunuz.\n" +"Bu nedenden dolayı sayısal imza ekleme desteği bulunmamaktadır." + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "sonsuza dek" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "Yeniden başlatma gerekli" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "" +"NSS dizin ayarlarını değiştirdikten sonra Okular’ı yeniden başlatmalısınız" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter Password" +msgstr "Parola Gir" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "%1 ögesini açmak için parola girin:" diff --git a/po/tr/okular_tiff.po b/po/tr/okular_tiff.po new file mode 100644 index 0000000..36425c4 --- /dev/null +++ b/po/tr/okular_tiff.po @@ -0,0 +1,28 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Volkan Gezer , 2022. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2022-02-10 10:59+0100\n" +"Last-Translator: Volkan Gezer \n" +"Language-Team: Turkish \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Lokalize 20.12.3\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Emir SARI" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "emir_sari@icloud.com" diff --git a/po/tr/okular_txt.po b/po/tr/okular_txt.po new file mode 100644 index 0000000..311f528 --- /dev/null +++ b/po/tr/okular_txt.po @@ -0,0 +1,52 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# , 2013 +msgid "" +msgstr "" +"Project-Id-Version: kdegraphics-kde4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2014-06-08 13:55+0000\n" +"Last-Translator: Volkan Gezer \n" +"Language-Team: Turkish (http://www.transifex.com/projects/p/kdegraphics-k-tr/" +"language/tr/)\n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Volkan Gezer" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "volkangezer@gmail.com" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "Txt" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "Txt Arka Ucu Yapılandırması" + +#~ msgid "Txt Backend" +#~ msgstr "Txt Arka ucu" + +#~ msgid "Txt backend." +#~ msgstr "Txt arka ucu." + +#~ msgid "© 2013 Azat Khuzhin" +#~ msgstr "© 2013 Azat Khuzhin" + +#~ msgid "Azat Khuzhin" +#~ msgstr "Azat Khuzhin" diff --git a/po/tr/okular_xps.po b/po/tr/okular_xps.po new file mode 100644 index 0000000..8a13b30 --- /dev/null +++ b/po/tr/okular_xps.po @@ -0,0 +1,59 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# obsoleteman , 2008 +# SPDX-FileCopyrightText: 2024 Emir SARI +msgid "" +msgstr "" +"Project-Id-Version: kdegraphics-kde4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-06-27 01:58+0300\n" +"Last-Translator: Emir SARI \n" +"Language-Team: Turkish \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Lokalize 24.07.70\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Serdar Soytetir" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "tulliana@gmail.com" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "Revizyon" + +#~ msgid "XPS Backend" +#~ msgstr "XPS Arka Ucu" + +#~ msgid "An XPS backend" +#~ msgstr "Bir XPS arka ucu" + +#~ msgid "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" +#~ msgstr "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" + +#~ msgid "Brad Hards" +#~ msgstr "Brad Hards" + +#~ msgid "Jiri Klement" +#~ msgstr "Jiri Klement" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" diff --git a/po/tr/org.kde.active.documentviewer.po b/po/tr/org.kde.active.documentviewer.po new file mode 100644 index 0000000..f0c0bbb --- /dev/null +++ b/po/tr/org.kde.active.documentviewer.po @@ -0,0 +1,210 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Volkan Gezer, 2013. +# SPDX-FileCopyrightText: 2022, 2023, 2024, 2025 Emir SARI +msgid "" +msgstr "" +"Project-Id-Version: kdegraphics-kde4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-30 17:35+0300\n" +"Last-Translator: Emir SARI \n" +"Language-Team: Turkish \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Lokalize 25.07.70\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "Yer İmleri" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "Sertifika Görüntüleyicisi" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "Veren" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "Ortak ad:" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "E-posta:" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "Organizasyon:" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "Verilen" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "Geçerlilik" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "Verilme tarihi:" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "Süre dolum tarihi:" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "Parmak İzleri" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "SHA-1 parmak izi:" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "SHA-256 parmak izi:" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +msgid "Export…" +msgstr "Dışa Aktar…" + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "Kapat" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "Sertifika Dosyası (*.cer)" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "Hata" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "Sertifika dışa aktarılamadı." + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "Okular" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "Aç…" + +#: ui/Main.qml:49 +msgid "About" +msgstr "Hakkında" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "Parola Gerekiyor" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "Yer imini kaldır" + +#: ui/MainView.qml:29 +msgid "Bookmark this page" +msgstr "Bu sayfaya yer imi koy" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "Küçük Resimler" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "İçindekiler tablosu" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "İmzalar" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "İmza Özellikleri" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "Geçerlilik Durumu" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "İmza geçerliliği:" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "Belge değişiklikleri:" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "Ek Bilgi" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "İmzalayan:" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "İmza zamanı:" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "Gerekçe:" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "Konum:" + +#: ui/SignaturePropertiesPage.qml:96 +msgid "Document Version" +msgstr "Belge Sürümü" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Belge Sürümü %1/%2" + +#: ui/SignaturePropertiesPage.qml:108 +msgid "Save Signed Version…" +msgstr "İmzalı Sürümü Kaydet…" + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +msgid "View Certificate…" +msgstr "Sertifikayı Görüntüle…" + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "Bu imza kaydedilemedi." + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "Kullanılabilir Değil" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "Sonuç bulunamadı." + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "Açık belge yok" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "Son Kullanılan Belgeler" + +#: ui/WelcomeView.qml:108 +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "Belgelerim" + +#~ msgid "Open..." +#~ msgstr "Aç…" diff --git a/po/ug/okular.po b/po/ug/okular.po new file mode 100644 index 0000000..91cd857 --- /dev/null +++ b/po/ug/okular.po @@ -0,0 +1,6348 @@ +# Uyghur translation for okular. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Sahran , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-09-08 07:05+0900\n" +"Last-Translator: Gheyret Kenji \n" +"Language-Team: Uyghur Computer Science Association \n" +"Language: ug\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ئابدۇقادىر ئابلىز, غەيرەت كەنجى" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sahran.ug@gmail.com, gheyret@gmail.com" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "بۇرۇنقى مەسئۇل ئادەم" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "Eugene Trounev" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "" + +#: core/action.cpp:197 +#, kde-format +msgid "Execute '%1'…" +msgstr "" + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "بىرىنچى بەت" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "ئالدىنقى بەت" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "كېيىنكى بەت" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "ئاخىرقى بەت" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "كەينى" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "ئالدى" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "ئاخىرلاشتۇر" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "كۆرسەتمە قوي" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go To Page…" +msgstr "بەتكە يۆتكەل" + +#: core/action.cpp:365 +#, kde-format +msgid "Play sound…" +msgstr "" + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "" + +#: core/action.cpp:483 +#, kde-format +msgid "Play movie…" +msgstr "" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
    %1 (%2).

    Please select which one to use:
    " +msgstr "" + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "" + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "" + +#: core/document.cpp:246 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "" + +#: core/document.cpp:248 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "" + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "" + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "" + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "ماۋزۇ" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "تېما" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "چۈشەندۈرۈش" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "ئاپتور" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "تۈزگۈچى" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "فىلىم ئىشلىگۈچى" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "نەشر ھوقۇقى" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "بەتلەر" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "قۇرغان ۋاقتى" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "ئۆزگەرتىلگەن ۋاقتى" + +#: core/document.cpp:6032 +#, fuzzy, kde-format +#| msgid "Mime Type" +msgid "MIME Type" +msgstr "MIME تىپى" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "كاتېگورىيە" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "ھالقىلىق سۆزلەر" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "ھۆججەت يولى" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "ھۆججەت چوڭلۇقى" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "بەت چوڭلۇقى" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "" + +#: core/documentcommands.cpp:263 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "%1 ئىلاۋە" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "" + +#: core/generator.cpp:790 +#, kde-format +msgid "Plain &Text…" +msgstr "" + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "OpenDocument تېكىست" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, fuzzy, kde-format +#| msgid "Filter Options" +msgid "Print Options" +msgstr "سۈزۈش تاللانمىلىرى" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#: core/printoptionswidget.cpp:25 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgid "Scale mode:" +msgstr "رەڭگى:" + +#: core/script/js_app.cpp:206 +#, fuzzy, kde-format +#| msgid "Close this message" +msgid "Do not show this message again" +msgstr "بۇ ئۇچۇرنى ياپ" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, fuzzy, kde-format +#| msgid "No description available." +msgid "Not Available" +msgstr "چۈشەندۈرۈشى يوق." + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "" + +#: core/signatureutils.cpp:504 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" + +#: core/signatureutils.cpp:506 +#, kde-format +msgid "Unknown signing error" +msgstr "" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "" + +#: gui/certificatemodel.cpp:39 +#, fuzzy, kde-format +#| msgctxt "This is the document format" +#| msgid "OpenDocument Text" +msgid "Version" +msgstr "OpenDocument تېكىست" + +#: gui/certificatemodel.cpp:41 +#, fuzzy, kde-format +#| msgid "Page Number" +msgid "Serial Number" +msgstr "بەت نومۇرى" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, fuzzy, kde-format +#| msgid "Expired" +msgid "Expires On" +msgstr "ۋاقتى ئوتكەن" + +#: gui/certificatemodel.cpp:49 +#, fuzzy, kde-format +#| msgid "Subject" +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "تېما" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "" + +#: gui/certificatemodel.cpp:53 +#, fuzzy, kde-format +#| msgid "Memory Usage" +msgid "Key Usage" +msgstr "ئەسلەك ستاتىستىكىسى" + +#: gui/certificatemodel.cpp:72 +#, fuzzy, kde-format +#| msgid "%1:" +msgid "V%1" +msgstr "%1:" + +#: gui/certificatemodel.cpp:84 +#, fuzzy, kde-format +#| msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +#| msgid "%1 (%2)" +msgid "%1 (%2 bits)" +msgstr "%1 (%2)" + +#: gui/certificatemodel.cpp:146 +#, fuzzy, kde-format +#| msgid "&Properties" +msgid "Property" +msgstr "خاسلىق(&P)" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +#| msgid "Strike Out" +msgid "Arrow with Comment" +msgstr "ئۆچۈرۈش سىزىقى" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "" + +#: gui/guiutils.cpp:59 +#, fuzzy, kde-format +#| msgid "Strike Out" +msgid "Straight Line with Comment" +msgstr "ئۆچۈرۈش سىزىقى" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "" + +#: gui/guiutils.cpp:63 +#, fuzzy, kde-format +#| msgid "Strike Out" +msgid "Polygon with Comment" +msgstr "ئۆچۈرۈش سىزىقى" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "كۆپ تەرەپلىك" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgid "Strike Out" +msgid "Rectangle with Comment" +msgstr "ئۆچۈرۈش سىزىقى" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "تىك تۆت بۇلۇڭ" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgid "Strike Out" +msgid "Ellipse with Comment" +msgstr "ئۆچۈرۈش سىزىقى" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "ئېللىپس" + +#: gui/guiutils.cpp:83 +#, fuzzy, kde-format +#| msgid "Highlight" +msgid "Highlight with Comment" +msgstr "يورۇت" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "يورۇت" + +#: gui/guiutils.cpp:87 +#, fuzzy, kde-format +#| msgid "Strike Out" +msgid "Squiggle with Comment" +msgstr "ئۆچۈرۈش سىزىقى" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "" + +#: gui/guiutils.cpp:91 +#, fuzzy, kde-format +#| msgid "Strike Out" +msgid "Underline with Comment" +msgstr "ئۆچۈرۈش سىزىقى" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "ئاستى سىزىق" + +#: gui/guiutils.cpp:95 +#, fuzzy, kde-format +#| msgid "Strike Out" +msgid "Strike Out with Comment" +msgstr "ئۆچۈرۈش سىزىقى" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "ئۆچۈرۈش سىزىقى" + +#: gui/guiutils.cpp:102 +#, fuzzy, kde-format +#| msgid "Strike Out" +msgid "Stamp with Comment" +msgstr "ئۆچۈرۈش سىزىقى" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "تامغا" + +#: gui/guiutils.cpp:106 +#, fuzzy, kde-format +#| msgid "Strike Out" +msgid "Freehand Line with Comment" +msgstr "ئۆچۈرۈش سىزىقى" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "Caret" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "ئاۋاز" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "كىنو" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "ئېكران" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "ۋىجېت" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation" +msgstr "%1 ئىلاۋە" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "نامەلۇم" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "ئاپتور: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "" + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "" + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "" + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "" + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "" + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "" + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "" + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "" + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "" + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "" + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "" + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "" + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "" + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "" + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, fuzzy, kde-format +#| msgctxt "Unknown date" +#| msgid "Unknown" +msgid "Unknown Type" +msgstr "نامەلۇم" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr "" + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "" + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "" + +#: gui/signatureguiutils.cpp:208 +#, kde-format +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "" + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "" + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "" + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" + +#: gui/signaturemodel.cpp:141 +#, fuzzy, kde-format +#| msgid "Movie Properties" +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "كىنو خاسلىقى" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "" + +#: gui/signaturemodel.cpp:177 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Location: %1" +msgstr "%1 ئىلاۋە" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "" + +#: gui/signaturemodel.cpp:193 +#, fuzzy, kde-format +#| msgctxt "Unknown author" +#| msgid "Unknown" +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "نامەلۇم" + +#: gui/signaturemodel.cpp:195 +#, fuzzy, kde-format +#| msgid "Movie Properties" +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "كىنو خاسلىقى" + +#: gui/signaturemodel.cpp:201 +#, fuzzy, kde-format +#| msgid "Movie Properties" +msgid "Signature Type: %1" +msgstr "كىنو خاسلىقى" + +#: part/annotationactionhandler.cpp:148 +#, fuzzy, kde-format +#| msgid "Reloa&d" +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "قايت يۈكلە(&D)" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "" + +#: part/annotationactionhandler.cpp:150 +#, fuzzy, kde-format +#| msgid "Allow" +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "ئىجازەت" + +#: part/annotationactionhandler.cpp:151 +#, fuzzy, kde-format +#| msgctxt "Caption for a screen annotation" +#| msgid "Screen" +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "ئېكران" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "كەڭلىككە ماسلاش" + +#: part/annotationactionhandler.cpp:252 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1:" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:308 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "%1 ئىلاۋە" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "" + +#: part/annotationactionhandler.cpp:314 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "%1 ئىلاۋە" + +#: part/annotationactionhandler.cpp:316 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "ئىلاۋە خاسلىقى" + +#: part/annotationactionhandler.cpp:318 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "%1 ئىلاۋە" + +#: part/annotationactionhandler.cpp:322 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "%1 ئىلاۋە" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "" + +#: part/annotationactionhandler.cpp:328 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "%1 ئىلاۋە" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" + +#: part/annotationactionhandler.cpp:341 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "ئىلاۋە خاسلىقى" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "" + +#: part/annotationactionhandler.cpp:432 +#, fuzzy, kde-format +#| msgid "&Color:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "رەڭ(&C):" + +#: part/annotationactionhandler.cpp:434 +#, fuzzy, kde-format +#| msgid "&Color:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "رەڭ(&C):" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "" + +#: part/annotationactionhandler.cpp:499 +#, fuzzy, kde-format +#| msgid "&Color:" +msgctxt "@title:window" +msgid "Select color" +msgstr "رەڭ(&C):" + +#: part/annotationactionhandler.cpp:552 +#, fuzzy, kde-format +#| msgid "Annotations" +msgid "&Annotations" +msgstr "ئىزاھات" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "" + +#: part/annotationactionhandler.cpp:554 +#, fuzzy, kde-format +#| msgid "Annotations" +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "ئىزاھات" + +#: part/annotationactionhandler.cpp:557 +#, fuzzy, kde-format +#| msgid "Highlight" +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "يورۇت" + +#: part/annotationactionhandler.cpp:558 +#, fuzzy, kde-format +#| msgid "Underline" +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "ئاستى سىزىق" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "" + +#: part/annotationactionhandler.cpp:560 +#, fuzzy, kde-format +#| msgid "Strike Out" +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "ئۆچۈرۈش سىزىقى" + +#: part/annotationactionhandler.cpp:562 +#, fuzzy, kde-format +#| msgid "Movie Properties" +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "كىنو خاسلىقى" + +#: part/annotationactionhandler.cpp:563 +#, fuzzy, kde-format +#| msgid "Insert" +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "قىستۇر" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "" + +#: part/annotationactionhandler.cpp:567 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Straight Yellow Line" +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "تۈز سېرىق سىزىق" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "" + +#: part/annotationactionhandler.cpp:569 +#, fuzzy, kde-format +#| msgid "Rectangle" +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "تىك تۆت بۇلۇڭ" + +#: part/annotationactionhandler.cpp:570 +#, fuzzy, kde-format +#| msgid "Ellipse" +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "ئېللىپس" + +#: part/annotationactionhandler.cpp:571 +#, fuzzy, kde-format +#| msgid "Polygon" +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "كۆپ تەرەپلىك" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "" + +#: part/annotationactionhandler.cpp:618 +#, fuzzy, kde-format +#| msgid "Stamp" +msgctxt "@action" +msgid "Stamp" +msgstr "تامغا" + +#: part/annotationactionhandler.cpp:638 +#, fuzzy, kde-format +#| msgid "Annotations" +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "ئىزاھات" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "" + +#: part/annotationactionhandler.cpp:651 +#, fuzzy, kde-format +#| msgid "Annotations" +msgid "Quick Annotation Bar" +msgstr "ئىزاھات" + +#: part/annotationactionhandler.cpp:665 +#, fuzzy, kde-format +#| msgid "Annotations" +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "ئىزاھات" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "" + +#: part/annotationactionhandler.cpp:680 +#, fuzzy, kde-format +#| msgid "Font:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "خەت نۇسخا:" + +#: part/annotationactionhandler.cpp:681 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "ئىلاۋە خاسلىقى" + +#: part/annotationactionhandler.cpp:684 +#, fuzzy, kde-format +#| msgid "Line" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "قۇر" + +#: part/annotationactionhandler.cpp:693 +#, fuzzy, kde-format +#| msgid "&Opacity:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "غۇۋالىقى(&O):" + +#: part/annotationactionhandler.cpp:696 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1:" + +#: part/annotationmodel.cpp:320 +#, fuzzy, kde-format +#| msgid "Page %1" +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "%1 -بەت" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "%1 -بەت" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "%1 ئىلاۋە" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "خەتكۈش چىقىرىۋەت" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "خەتكۈش قوش" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Text to Clipboard" +msgstr "چاپلاش تاختىسىغا كۆچۈر" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "ئۆچۈر(&D)" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "خاسلىق(&P)" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, kde-format +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "كۆرۈنۈشى(&A)" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "ئادەتتىكى(&G)" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "ئاپتور(&A):" + +#: part/annotationpropertiesdialog.cpp:69 +#, fuzzy, kde-format +#| msgid "Created" +msgid "Created:" +msgstr "قۇرغان ۋاقتى" + +#: part/annotationpropertiesdialog.cpp:74 +#, fuzzy, kde-format +#| msgid "Modified" +msgid "Modified:" +msgstr "ئۆزگەرتىلگەن ۋاقتى" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:111 +#, fuzzy, kde-format +#| msgid "Movie Properties" +msgid "Typewriter Properties" +msgstr "كىنو خاسلىقى" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "كىنو خاسلىقى" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "ئىلاۋە خاسلىقى" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "رەڭ(&C):" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%1:" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "غۇۋالىقى(&O):" + +#: part/annotationwidgets.cpp:363 +#, fuzzy, kde-format +#| msgid "Icon" +msgid "Icon:" +msgstr "سىنبەلگە" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "ئىزاھات" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "ياردەم" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "قىستۇر" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "ئاچقۇچ" + +#: part/annotationwidgets.cpp:368 +#, fuzzy, kde-format +#| msgid "New Paragraph" +msgid "New paragraph" +msgstr "يېڭى ئابزاس" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "ئىزاھات" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "ئابزاس" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "خەت نۇسخا:" + +#: part/annotationwidgets.cpp:387 +#, fuzzy, kde-format +#| msgid "&Color:" +msgid "Text &color:" +msgstr "رەڭ(&C):" + +#: part/annotationwidgets.cpp:394 +#, fuzzy, kde-format +#| msgid "Align:" +msgid "&Align:" +msgstr "توغرىلاش:" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "سول" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "مەركەز" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "ئوڭ" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "تەستىقلانغان" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "مەخپىي" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "دەسلەپكى نۇسخا" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "سىناق" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "ۋاقتى ئوتكەن" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "ئاخىرقى" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "قەتئىي مەخپىي" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "خەتكۈش" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "ئۇچۇر" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "ك د ئې(KDE)" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgid "&Width:" +msgstr "كەڭلىككە ماسلاش" + +#: part/annotationwidgets.cpp:504 +#, fuzzy, kde-format +#| msgid "Line" +msgid "Line start:" +msgstr "قۇر" + +#: part/annotationwidgets.cpp:506 +#, fuzzy, kde-format +#| msgid "Line" +msgid "Line end:" +msgstr "قۇر" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:514 +#, fuzzy, kde-format +#| msgctxt "Symbol for caret annotations" +#| msgid "None" +msgid "None" +msgstr "يوق" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "" + +#: part/annotationwidgets.cpp:531 +#, kde-format +msgid "Leader line length:" +msgstr "" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "تىپى:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "ئۆچۈرۈش سىزىقى" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "گرافىك" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "خەتكۈش" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "ھۆججەت" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "N/A" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "چۈشەندۈرۈشى يوق." + +#: part/annotationwidgets.cpp:773 +#, fuzzy, kde-format +#| msgid "&Name:" +msgid "Name:" +msgstr "ئاتى(&N):" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "چۈشەندۈرۈش:" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "يوق" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "تاللانما" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "" + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "" + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "" + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "" + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "خەتكۈشلەر" + +#: part/bookmarklist.cpp:136 +#, fuzzy, kde-format +#| msgid "Open Document" +msgid "Show for all documents" +msgstr "پۈتۈك ئېچىش" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, fuzzy, kde-format +#| msgid "S&earch:" +msgid "Search…" +msgstr "ئىزدە(&E):" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, kde-format +msgid "Expand All" +msgstr "" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, kde-format +msgid "Collapse All" +msgstr "" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "خەتكۈش ئاتىنى ئۆزگەرت" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "پۈتۈك ئېچىش" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "" + +#: part/certificateviewer.cpp:50 +#, kde-format +msgid "Export…" +msgstr "" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "ئادەتتىكى" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "" + +#: part/colormodemenu.cpp:19 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "رەڭگى:" + +#: part/colormodemenu.cpp:21 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "ئەكس رەڭ" + +#: part/colormodemenu.cpp:29 +#, fuzzy, kde-format +#| msgid "Normal Icons" +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "نورمال سىنبەلگىلەر" + +#: part/colormodemenu.cpp:41 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "ئەكس رەڭ" + +#: part/colormodemenu.cpp:42 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "ئەكس رەڭ" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "" + +#: part/colormodemenu.cpp:49 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "ئەكس رەڭ" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, fuzzy, kde-format +#| msgid "Reloa&d" +msgid "Red" +msgstr "قايت يۈكلە(&D)" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, fuzzy, kde-format +#| msgctxt "Caption for a screen annotation" +#| msgid "Screen" +msgid "Green" +msgstr "ئېكران" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, fuzzy, kde-format +#| msgid "Allow" +msgid "Yellow" +msgstr "ئىجازەت" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, fuzzy, kde-format +#| msgid "Highlight" +msgid "Yellow Highlighter" +msgstr "يورۇت" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, fuzzy, kde-format +#| msgid "Highlight" +msgid "Green Highlighter" +msgstr "يورۇت" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, fuzzy, kde-format +#| msgid "Insert" +msgid "Insert Text" +msgstr "قىستۇر" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "" + +#: part/dlgaccessibility.cpp:48 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "ئەكس رەڭ" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "" + +#: part/dlgaccessibility.cpp:60 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "ئەكس رەڭ" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "" + +#: part/dlgaccessibility.cpp:64 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "ئەكس رەڭ" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "" + +#: part/dlgaccessibility.cpp:70 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "رەڭگى:" + +#: part/dlgaccessibility.cpp:87 +#, fuzzy, kde-format +#| msgid "&Color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "رەڭ(&C):" + +#: part/dlgaccessibility.cpp:99 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "تەگلىك رەڭگى:" + +#: part/dlgaccessibility.cpp:104 +#, fuzzy, kde-format +#| msgid "&Color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "رەڭ(&C):" + +#: part/dlgaccessibility.cpp:119 +#, fuzzy, kde-format +#| msgid "Threshold:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "بوسۇغا:" + +#: part/dlgaccessibility.cpp:127 +#, fuzzy, kde-format +#| msgid "Contrast:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "سېلىشتۇرما دەرىجە:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "" + +#: part/dlgaccessibility.cpp:165 +#, fuzzy, kde-format +#| msgid "Text to search for" +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "ئىزدەيدىغان تېكىست" + +#: part/dlgannotations.cpp:25 +#, fuzzy, kde-format +#| msgid "Main Toolbar" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "ئاساسىي قورال بالداق" + +#: part/dlgannotations.cpp:26 +#, fuzzy, kde-format +#| msgid "Main Toolbar" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "ئاساسىي قورال بالداق" + +#: part/dlgannotations.cpp:28 +#, fuzzy, kde-format +#| msgid "Main Toolbar" +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "ئاساسىي قورال بالداق" + +#: part/dlgannotations.cpp:34 +#, fuzzy, kde-format +#| msgid "&Author:" +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "ئاپتور(&A):" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" + +#: part/dlgannotations.cpp:48 +#, fuzzy, kde-format +#| msgid "Annotations" +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

    Quick Annotation Tools

    " +msgstr "ئىزاھات" + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "" + +#: part/dlgeditor.cpp:30 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Kate" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Kile" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "" + +#: part/dlgeditor.cpp:37 +#, fuzzy, kde-format +#| msgid "Editor:" +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "تەھرىرلىگۈچ:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
    \n" +"You can also put few placeholders:\n" +"
      \n" +"
    • %f - the file name
    • \n" +"
    • %l - the line of the file to be reached
    • \n" +"
    • %c - the column of the file to be reached
    • \n" +"
    \n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" + +#: part/dlgeditor.cpp:63 +#, fuzzy, kde-format +#| msgid "Command:" +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "بۇيرۇق:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "" + +#: part/dlggeneral.cpp:37 +#, fuzzy, kde-format +#| msgid "Appearance" +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "كۆرۈنۈشى" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "" + +#: part/dlggeneral.cpp:92 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "تەگلىك رەڭگى:" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "" + +#: part/dlggeneral.cpp:148 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, fuzzy, kde-format +#| msgid "Overview" +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "قىسقىچە بايان" + +#: part/dlggeneral.cpp:220 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%1:" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "" + +#: part/dlggeneral.cpp:228 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%1:" + +#: part/dlggeneral.cpp:232 +#, fuzzy, kde-format +#| msgid "100%" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "100%" + +#: part/dlggeneral.cpp:233 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "كەڭلىككە ماسلاش" + +#: part/dlggeneral.cpp:234 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "بەتكە خوپ كەلسۇن" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "" + +#: part/dlgperformance.cpp:28 +#, fuzzy, kde-format +#| msgid "CPU Usage" +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "CPU ئىشلىتىلىشى" + +#: part/dlgperformance.cpp:35 +#, fuzzy, kde-format +#| msgid "&Low" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "تۆۋەن(&L)" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "" + +#: part/dlgperformance.cpp:38 +#, fuzzy, kde-format +#| msgctxt "Caption for a screen annotation" +#| msgid "Screen" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "ئېكران" + +#: part/dlgperformance.cpp:40 +#, fuzzy, kde-format +#| msgid "Memory Usage" +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "ئەسلەك ستاتىستىكىسى" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "" + +#: part/dlgperformance.cpp:56 +#, fuzzy, kde-format +#| msgid "Rendering" +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "سىزىۋاتىدۇ" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" + +#: part/dlgpresentation.cpp:38 +#, fuzzy, kde-format +#| msgctxt "Advance every %1 seconds" +#| msgid " second" +#| msgid_plural " seconds" +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] " سېكۇنت" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "" + +#: part/dlgpresentation.cpp:63 +#, fuzzy, kde-format +#| msgid "Navigation" +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "يولباشچى" + +#: part/dlgpresentation.cpp:72 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "تەگلىك رەڭگى:" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "" + +#: part/dlgpresentation.cpp:77 +#, fuzzy, kde-format +#| msgid "Always Visible" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "ھەمىشە كۆرۈنسۇن" + +#: part/dlgpresentation.cpp:78 +#, fuzzy, kde-format +#| msgid "Always Visible" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "ھەمىشە كۆرۈنسۇن" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "" + +#: part/dlgpresentation.cpp:101 +#, fuzzy, kde-format +#| msgid "Replace" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "ئالماشتۇر" + +#: part/dlgpresentation.cpp:102 +#, fuzzy, kde-format +#| msgid "Random Transition" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "ئىختىيارىي ئالماشتۇر" + +#: part/dlgpresentation.cpp:103 +#, fuzzy, kde-format +#| msgid "Split Vertical In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "بويىدىن ئىچىگە پارچىلاپ تارايت" + +#: part/dlgpresentation.cpp:104 +#, fuzzy, kde-format +#| msgid "Split Horizontal In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "توغرىسىدىن ئىچىگە پارچىلاپ كىچىكلەت" + +#: part/dlgpresentation.cpp:105 +#, fuzzy, kde-format +#| msgid "Box In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "قۇتىسىمان كىچىكلەت" + +#: part/dlgpresentation.cpp:106 +#, fuzzy, kde-format +#| msgid "Box Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "قۇتىسىمان چوڭايت" + +#: part/dlgpresentation.cpp:107 +#, fuzzy, kde-format +#| msgid "Dissolve" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "ئېرىت" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "" + +#: part/dlgpresentation.cpp:110 +#, fuzzy, kde-format +#| msgid "Wipe Right" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "ئوڭغا سۈرت" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "" + +#: part/dlgpresentation.cpp:112 +#, fuzzy, kde-format +#| msgid "Split Horizontal In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "توغرىسىدىن ئىچىگە پارچىلاپ كىچىكلەت" + +#: part/dlgpresentation.cpp:113 +#, fuzzy, kde-format +#| msgid "Split Horizontal Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "توغرىسىدىن ئىچىگە پارچىلاپ چوڭايت" + +#: part/dlgpresentation.cpp:114 +#, fuzzy, kde-format +#| msgid "Split Vertical In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "بويىدىن ئىچىگە پارچىلاپ تارايت" + +#: part/dlgpresentation.cpp:115 +#, fuzzy, kde-format +#| msgid "Split Vertical Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "بويىدىن ئىچىگە پارچىلاپ كېڭەيت" + +#: part/dlgpresentation.cpp:116 +#, fuzzy, kde-format +#| msgid "Wipe Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "تۆۋەنگە سۈرت" + +#: part/dlgpresentation.cpp:117 +#, fuzzy, kde-format +#| msgid "Wipe Right" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "ئوڭغا سۈرت" + +#: part/dlgpresentation.cpp:118 +#, fuzzy, kde-format +#| msgid "Wipe Left" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "سولغا سۈرت" + +#: part/dlgpresentation.cpp:119 +#, fuzzy, kde-format +#| msgid "Wipe Up" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "ئۈستىگە سۈرت" + +#: part/dlgpresentation.cpp:121 +#, fuzzy, kde-format +#| msgid "Random Transition" +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "ئىختىيارىي ئالماشتۇر" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

    Drawing Tools

    " +msgstr "" + +#: part/dlgpresentation.cpp:171 +#, fuzzy, kde-format +#| msgctxt "@label:listbox The current screen, for the presentation mode" +#| msgid "Current Screen" +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "نۆۋەتتىكى ئېكران" + +#: part/dlgpresentation.cpp:172 +#, fuzzy, kde-format +#| msgctxt "@label:listbox The current screen, for the presentation mode" +#| msgid "Current Screen" +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "نۆۋەتتىكى ئېكران" + +#: part/dlgpresentation.cpp:178 +#, fuzzy, kde-format +#| msgctxt "@label:listbox %1 is the screen number (0, 1, ...)" +#| msgid "Screen %1" +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "ئېكران %1" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "ئاتى(&N):" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "تىپى(&T):" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "كۆرۈنۈشى" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "" + +#: part/editdrawingtooldialog.cpp:51 +#, fuzzy, kde-format +#| msgid "&Color:" +msgid "Color:" +msgstr "رەڭ(&C):" + +#: part/editdrawingtooldialog.cpp:58 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgid "&Pen Width:" +msgstr "كەڭلىككە ماسلاش" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "" + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "نامەلۇم" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "" + +#: part/embeddedfilesdialog.cpp:62 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:button" +msgid "View" +msgstr "كۆرۈنۈش(&V)" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "ئاتى" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "چۈشەندۈرۈش" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "چوڭلۇقى" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "قۇرغان ۋاقتى" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "ئۆزگەرتىلگەن ۋاقتى" + +#: part/embeddedfilesdialog.cpp:154 +#, fuzzy, kde-format +#| msgctxt "@action:inmenu" +#| msgid "&Save As..." +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "باشقا ئاتتا ساقلا(&S)…" + +#: part/embeddedfilesdialog.cpp:155 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "كۆرۈنۈش(&V)" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "بېسىشنى ئالدىن كۆزىتىش بۆلىكىنى ئوقۇغىلى بولمىدى" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "بېسىشنى ئالدىن كۆر" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "ياپ" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "ئىزدە(&I)" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "ئىزدەيدىغان تېكىست" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "كېيىنكى" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "كېيىنكى ماس كەلگەندە ئاتلا" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "ئالدىنقى" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "ئالدىنقى ماس كەلگەندە ئاتلا" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "ئىزدەش ئۇسۇلىنى ئۆزگەرت" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "چوڭ كىچىك يېزىلىشنى پەرقلەندۈر" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "" + +#: part/formwidgets.cpp:870 +#, fuzzy, kde-format +#| msgid "*|All Files" +msgid "All Files (*)" +msgstr "*|بارلىق ھۆججەتلەر" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, fuzzy, kde-format +#| msgid "Movie Properties" +msgid "Signature Properties" +msgstr "كىنو خاسلىقى" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "ئىزدەش تاللانما" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "چوڭ-كىچىك يېزىلىشى پەرقلەندۈر" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "مۇنتىزىم ئىپادە" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "نىڭ" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "كېڭەيت-تارايت" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "ئوڭ" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "سولغا چۆرگىلەت(&L)" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "سول" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "" + +#: part/pageview.cpp:546 +#, fuzzy, kde-format +#| msgid "&View" +msgid "&Trim View" +msgstr "كۆرۈنۈش(&V)" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "" + +#: part/pageview.cpp:557 +#, fuzzy, kde-format +#| msgctxt "Text Selection Tool" +#| msgid "Text Selection" +msgid "Trim To &Selection" +msgstr "تېكىست تاللاش" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "" + +#: part/pageview.cpp:575 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Fit Wi&ndow to Page" +msgstr "بەتكە يۆتكەل" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "كۆرۈش ھالىتى(&V)" + +#: part/pageview.cpp:594 +#, fuzzy, kde-format +#| msgid "Single Page" +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "يەككە بەت" + +#: part/pageview.cpp:595 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "بەتكە خوپ كەلسۇن" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "" + +#: part/pageview.cpp:599 +#, fuzzy, kde-format +#| msgid "Overview" +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "قىسقىچە بايان" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "ئۈزلۈكسىز(&C)" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "" + +#: part/pageview.cpp:627 +#, fuzzy, kde-format +#| msgctxt "Browse Tool" +#| msgid "Browse" +msgid "&Browse" +msgstr "كۆز يۈگۈرت" + +#: part/pageview.cpp:635 +#, fuzzy, kde-format +#| msgid "Zoom" +msgid "&Zoom" +msgstr "كېڭەيت-تارايت" + +#: part/pageview.cpp:655 +#, fuzzy, kde-format +#| msgctxt "Text Selection Tool" +#| msgid "Text Selection" +msgid "Area &Selection" +msgstr "تېكىست تاللاش" + +#: part/pageview.cpp:662 +#, fuzzy, kde-format +#| msgctxt "Text Selection Tool" +#| msgid "Text Selection" +msgid "&Text Selection" +msgstr "تېكىست تاللاش" + +#: part/pageview.cpp:669 +#, fuzzy, kde-format +#| msgctxt "Text Selection Tool" +#| msgid "Text Selection" +msgid "T&able Selection" +msgstr "تېكىست تاللاش" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "" + +#: part/pageview.cpp:685 +#, fuzzy, kde-format +#| msgid "Selection Tools" +msgctxt "@action" +msgid "Selection Tools" +msgstr "قورال گۇرۇپپىسى تاللا" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "" + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "ئۈستىگە سىيرىش" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "ئاستىغا سىيرىش" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "ئۈستىگە بىر قۇر دومىلات" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "ئاستىغا بىر بەت دومىلات" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] "" + +#: part/pageview.cpp:2526 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Table Contents to Clipboard" +msgstr "چاپلاش تاختىسىغا كۆچۈر" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "چاپلاش تاختىسىغا كۆچۈر" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "تېكىستنى ئوقۇ" + +#: part/pageview.cpp:2863 +#, kde-format +msgid "Image (%1 × %2 pixels)" +msgstr "" + +#: part/pageview.cpp:2865 +#, kde-format +msgid "Save to File…" +msgstr "" + +#: part/pageview.cpp:2885 +#, kde-format +msgid "Image [%1 × %2] copied to clipboard." +msgstr "" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "" + +#: part/pageview.cpp:2901 +#, kde-format +msgid "Image [%1 × %2] saved to %3 file." +msgstr "" + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "تېكىست كۆچۈر" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "‹%1› غا يۆتكەل" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "كەڭلىككە ماسلاش" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "بەتكە خوپ كەلسۇن" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "" + +#: part/pageview.cpp:4107 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1:" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "'%1' نى ئىزدەش ئۇسۇلى" + +#: part/pageview.cpp:4404 +#, fuzzy, kde-format +#| msgid "Configure Web Shortcuts..." +msgid "Configure Web Shortcuts…" +msgstr "تور تېزلەتمىلىرىنى سەپلەش…" + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "" + +#: part/pageview.cpp:4435 +#, fuzzy, kde-format +#| msgid "Sound" +msgid "Stop Sound" +msgstr "ئاۋاز" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "ئۇلانما ئادرېسىنى كۆچۈر" + +#: part/pageview.cpp:4462 +#, fuzzy, kde-format +#| msgid "Search for '%1' with" +msgid "Search for '%1' in this document" +msgstr "'%1' نى ئىزدەش ئۇسۇلى" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "مەرھابا" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "" + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "" + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "" + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" + +#: part/pageview.cpp:5188 +#, kde-format +msgid "No valid certificates" +msgstr "" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, kde-format +msgid "Open Certificate Manager" +msgstr "" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
    Launch Certificate Manager " +"to import or manage certificates
    For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, kde-format +msgid "No certificates found" +msgstr "" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
    For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgid "Author" +msgid "Author name" +msgstr "ئاپتور" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Author name for the annotation:" +msgstr "%1 ئىلاۋە" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "تىك تۆت تەرەپلىك سىز" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Add favorite annotation" +msgstr "%1 ئىلاۋە" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Custom annotation name:" +msgstr "%1 ئىلاۋە" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "ھۆججەت(&F)" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "تەڭشەك(&S)" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "ياردەم(&H)" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "يۆنىلىش(&O)" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "خەتكۈچلەر(&B)" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "كىچىك سۈرەت" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "ئىزاھات" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
    Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "ئالدىنقى" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "پۈتۈكنىڭ ئالدىنقى بېتىگە يۆتكىلىدۇ" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "كېيىنكى" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "پۈتۈكنىڭ كېيىنكى بېتىگە يۆتكىلىدۇ" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "ئالدىنقى خەتكۈش" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "كېيىنكى خەتكۈش" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "" + +#: part/part.cpp:748 +#, kde-format +msgid "Configure Okular…" +msgstr "" + +#: part/part.cpp:751 +#, kde-format +msgid "Configure Viewer…" +msgstr "" + +#: part/part.cpp:757 +#, kde-format +msgid "Configure Viewer Backends…" +msgstr "" + +#: part/part.cpp:759 +#, kde-format +msgid "Configure Backends…" +msgstr "" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "ئاقا ئۇچ ھەققىدە" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "قايت يۈكلە(&D)" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "نۆۋەتتىكى پۈتۈكنى دىسكىدىن قايتا يۈكلەيدۇ." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "بەت نومۇرى" + +#: part/part.cpp:817 +#, fuzzy, kde-format +#| msgid "Configure Web Shortcuts..." +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "تور تېزلەتمىلىرىنى سەپلەش…" + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "" + +#: part/part.cpp:886 +#, fuzzy, kde-format +#| msgid "Show &Navigation Panel" +msgid "Show &Signatures Panel" +msgstr "يولباشچى كۆزنەكچىنى كۆرسىتىش(&N)" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "" + +#: part/part.cpp:945 +#, kde-format +msgid "&Import PostScript as PDF…" +msgstr "" + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "" + +#: part/part.cpp:962 +#, fuzzy, kde-format +#| msgid "Annotations" +msgid "Configure Annotations…" +msgstr "ئىزاھات" + +#: part/part.cpp:967 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Play/Pause Presentation" +msgstr "سۇنۇلما" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" + +#: part/part.cpp:1123 +#, kde-format +msgid "Document can't be saved" +msgstr "" + +#: part/part.cpp:1152 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not open '%1' (%2) " +msgstr "%1 نى ئاچالمىدى" + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "" + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "" + +#: part/part.cpp:1357 +#, kde-format +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "" + +#: part/part.cpp:1489 +#, fuzzy, kde-format +#| msgid "Moves to the next page of the document" +msgid "Please enter the password to read the document:" +msgstr "پۈتۈكنىڭ كېيىنكى بېتىگە يۆتكىلىدۇ" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "" + +#: part/part.cpp:1739 +#, fuzzy, kde-format +#| msgid "Start Presentation" +msgid "Enter Presentation Mode" +msgstr "كۆرسەتمە قوي" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "" + +#: part/part.cpp:1830 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not open %1. %2" +msgstr "%1 نى ئاچالمىدى" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "" + +#: part/part.cpp:1865 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue Reloading" +msgstr "ئۈزلۈكسىز(&C)" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" + +#: part/part.cpp:1875 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue Closing" +msgstr "ئۈزلۈكسىز(&C)" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "پۈتۈك ياپ" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" + +#: part/part.cpp:2113 part/part.cpp:2131 +#, fuzzy, kde-format +#| msgid "Open Document" +msgid "Reloading the document…" +msgstr "پۈتۈك ئېچىش" + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "مەزمۇنلار" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "بەتكە يۆتكەل" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "" + +#: part/part.cpp:2509 +#, fuzzy, kde-format +#| msgid "Remove Bookmark" +msgid "Remove this Bookmark" +msgstr "خەتكۈش چىقىرىۋەت" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, fuzzy, kde-format +#| msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +#| msgid "%1 (%2)" +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, fuzzy, kde-format +#| msgctxt "@action:inmenu" +#| msgid "&Save As..." +msgid "Save As" +msgstr "باشقا ئاتتا ساقلا(&S)…" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
    In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "" + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "" + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "" + +#: part/part.cpp:2769 +#, fuzzy, kde-format +#| msgid "Annotations" +msgid "User annotations" +msgstr "ئىزاھات" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" + +#: part/part.cpp:2796 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue" +msgstr "ئۈزلۈكسىز(&C)" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgctxt "Text Selection Tool" +#| msgid "Text Selection" +msgid "Expand Whole Section" +msgstr "تېكىست تاللاش" + +#: part/part.cpp:3159 +#, kde-format +msgid "Collapse Whole Section" +msgstr "" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "قوراللار" + +#: part/part.cpp:3381 +#, fuzzy, kde-format +#| msgid "Speak Text" +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "تېكىستنى ئوقۇ" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "" + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "تەھرىر(&E)" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "كۆرۈنۈش(&V)" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "يۆتكەل(&G)" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "قوراللار(&T)" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "ئاساسىي قورال بالداق" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, fuzzy, kde-format +#| msgid "Main Toolbar" +msgid "Annotation Toolbar" +msgstr "ئاساسىي قورال بالداق" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, fuzzy, kde-format +#| msgid "Main Toolbar" +msgid "Quick Annotation Toolbar" +msgstr "ئاساسىي قورال بالداق" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "ئادەتتىكى تاللانمىلار" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "ياردەم ئىقتىدارى" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "ئىقتىدارى" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "سۇنۇلما" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "تەھرىرلىگۈچ" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "كېيىنكىنى ئىزدە" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "ئېكران %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "ماۋزۇ: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "" + +#: part/presentationwidget.cpp:521 +#, fuzzy, kde-format +#| msgctxt "pause the movie playback" +#| msgid "Pause" +msgctxt "For Presentation" +msgid "Pause" +msgstr "ۋاقىتلىق توختا" + +#: part/presentationwidget.cpp:524 +#, fuzzy, kde-format +#| msgctxt "start the movie playback" +#| msgid "Play" +msgctxt "For Presentation" +msgid "Play" +msgstr "قوي" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "خەت نۇسخا(&F)" + +#: part/propertiesdialog.cpp:145 +#, fuzzy, kde-format +#| msgid "Information" +msgid "Reading font information…" +msgstr "ئۇچۇر" + +#: part/propertiesdialog.cpp:158 +#, fuzzy, kde-format +#| msgid "Page Size" +msgid "&Page Sizes" +msgstr "بەت چوڭلۇقى" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "تىپى 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "تىپى 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "تىپى 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "نامەلۇم" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "ياق" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "ھەئە" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "ئاتى" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "تىپى" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "ھۆججەت" + +#: part/propertiesdialog.cpp:498 +#, fuzzy, kde-format +#| msgid "Pages" +msgid "Page" +msgstr "بەتلەر" + +#: part/propertiesdialog.cpp:501 +#, fuzzy, kde-format +#| msgctxt "@title:column" +#| msgid "Size" +msgid "Size" +msgstr "چوڭلۇقى" + +#: part/revisionviewer.cpp:41 +#, fuzzy, kde-format +#| msgid "Print Preview" +msgid "Revision Preview" +msgstr "بېسىشنى ئالدىن كۆر" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "" + +#: part/revisionviewer.cpp:56 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not save file %1." +msgstr "%1 نى ئاچالمىدى" + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "" + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "چوڭ-كىچىك يېزىلىشى پەرقلەندۈر" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "سۈزۈش تاللانمىلىرى" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, kde-format +msgid "Certificates" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, fuzzy, kde-format +#| msgid "Allow" +msgid "All" +msgstr "ئىجازەت" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, kde-format +msgid "Only QES certificates" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, fuzzy, kde-format +#| msgid "Options" +msgid "optional" +msgstr "تاللانما" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Location:" +msgstr "%1 ئىلاۋە" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, fuzzy, kde-format +#| msgid "Background color:" +msgid "Background:" +msgstr "تەگلىك رەڭگى:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, fuzzy, kde-format +#| msgid "Background color:" +msgid "Recent backgrounds:" +msgstr "تەگلىك رەڭگى:" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

    No annotations

    To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
    " +msgstr "" + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "بەت بويىچە گۇرۇپپىلا" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "" + +#: part/signaturepanel.cpp:101 +#, fuzzy, kde-format +#| msgid "&Properties" +msgid "Properties" +msgstr "خاسلىق(&P)" + +#: part/signaturepartutils.cpp:180 +#, kde-format +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "" + +#: part/signaturepartutils.cpp:244 +#, kde-format +msgid "Enter document password" +msgstr "" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:63 +#, fuzzy, kde-format +#| msgid "Information" +msgid "Additional Information" +msgstr "ئۇچۇر" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:83 +#, fuzzy, kde-format +#| msgctxt "This is the document format" +#| msgid "OpenDocument Text" +msgid "Document Version" +msgstr "OpenDocument تېكىست" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:95 +#, kde-format +msgid "View Certificate…" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:97 +#, kde-format +msgid "View in Certificate Manager" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "قوي" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "ۋاقىتلىق توختا" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "توختا" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, fuzzy, kde-format +#| msgid "&Edit" +msgid "&Edit…" +msgstr "تەھرىر(&E)" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "چىقىرىۋەت(&R)" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "يۇقىرىغا(&U)" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "تۆۋەنگە(&D)" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "" + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "" + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" + +#: shell/shell.cpp:582 +#, fuzzy, kde-format +#| msgid "Next Page" +msgid "Next Tab" +msgstr "كېيىنكى بەت" + +#: shell/shell.cpp:588 +#, fuzzy, kde-format +#| msgid "Previous Page" +msgid "Previous Tab" +msgstr "ئالدىنقى بەت" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "" + +#: shell/shell.cpp:703 +#, fuzzy, kde-format +#| msgid "*|All Files" +msgid "All files (*)" +msgstr "*|بارلىق ھۆججەتلەر" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "پۈتۈك ئېچىش" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "" + +#: shell/shell.cpp:826 +#, fuzzy, kde-format +#| msgid "Close" +msgid "Close Tabs" +msgstr "ياپ" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "" + +#: shell/welcomescreen.cpp:64 +#, fuzzy, kde-format +#| msgid "Copy Text" +msgid "&Copy Path" +msgstr "تېكىست كۆچۈر" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "" + +#: shell/welcomescreen.cpp:137 +#, fuzzy, kde-format +#| msgid "Open Document" +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "پۈتۈك ئېچىش" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, fuzzy, kde-format +#| msgid "Open Document" +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "پۈتۈك ئېچىش" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, fuzzy, kde-format +#| msgid "Open Document" +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "پۈتۈك ئېچىش" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "" + +#, fuzzy +#~| msgid "Strike Out" +#~ msgid "Geometry with Comment" +#~ msgstr "ئۆچۈرۈش سىزىقى" + +#~ msgid "Geometry" +#~ msgstr "گېئومېتىرىيە" + +#~ msgid "Find..." +#~ msgstr "ئىزدە…" + +#, fuzzy +#~| msgid "S&earch:" +#~ msgid "Search..." +#~ msgstr "ئىزدە(&E):" + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "باشقا ئاتتا ساقلا(&S)…" + +#, fuzzy +#~| msgid "&View" +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "كۆرۈنۈش(&V)" + +#~ msgid "&Add..." +#~ msgstr "قوش(&A)…" + +#~ msgid "&Edit..." +#~ msgstr "تەھرىر(&E)…" + +#, fuzzy +#~| msgctxt "Unknown author" +#~| msgid "Unknown" +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "نامەلۇم" + +#, fuzzy +#~| msgid "%" +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " %" + +#, fuzzy +#~| msgid "%" +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%" + +#, fuzzy +#~| msgid "Fit Width" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "كەڭلىككە ماسلاش" + +#, fuzzy +#~| msgid "Fit Page" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "بەتكە خوپ كەلسۇن" + +#~ msgid "*|All Files" +#~ msgstr "*|بارلىق ھۆججەتلەر" + +#, fuzzy +#~| msgid "Experimental" +#~ msgctxt "@title:window" +#~ msgid "Experimental feature" +#~ msgstr "سىناق" + +#~ msgid "Remove Bookmarks" +#~ msgstr "خەتكۈش چىقىرىۋەت" + +#, fuzzy +#~| msgid "Annotations" +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "ئىزاھات" + +#, fuzzy +#~| msgid "Highlight" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "يورۇت" + +#, fuzzy +#~| msgid "Underline" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Underline" +#~ msgstr "ئاستى سىزىق" + +#, fuzzy +#~| msgid "Strike Out" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Strike Out" +#~ msgstr "ئۆچۈرۈش سىزىقى" + +#, fuzzy +#~| msgid "Insert" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "قىستۇر" + +#, fuzzy +#~| msgid "Insert" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "قىستۇر" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a rectangle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Rectangle" +#~ msgstr "تىك تۆت تەرەپلىك سىز" + +#, fuzzy +#~| msgid "Ellipse" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Ellipse" +#~ msgstr "ئېللىپس" + +#, fuzzy +#~| msgid "Polygon" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Polygon" +#~ msgstr "كۆپ تەرەپلىك" + +#, fuzzy +#~| msgid "Highlight" +#~ msgid "Highlight in Yellow" +#~ msgstr "يورۇت" + +#, fuzzy +#~| msgid "&Color:" +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "رەڭ(&C):" + +#, fuzzy +#~| msgid "Speak Text" +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "تېكىستنى ئوقۇ" + +#, fuzzy +#~| msgid "Selection Tools" +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "قورال گۇرۇپپىسى تاللا" + +#, fuzzy +#~| msgid "Annotations" +#~ msgid "Bookmark annotation" +#~ msgstr "ئىزاھات" + +#, fuzzy +#~| msgid "Random Transition" +#~ msgctxt "@option:check Config dialog, presentation page, transitions" +#~ msgid "Enable transitions" +#~ msgstr "ئىختىيارىي ئالماشتۇر" + +#, fuzzy +#~| msgid "Background color:" +#~ msgctxt "@label:listbox Config dialog, general page" +#~ msgid "Custom background color:" +#~ msgstr "تەگلىك رەڭگى:" + +#~ msgid "Identity" +#~ msgstr "سالاھىيەت" + +#, fuzzy +#~| msgid "&Author:" +#~ msgid "Au&thor:" +#~ msgstr "ئاپتور(&A):" + +#~ msgid "View Options" +#~ msgstr "كۆرۈنۈش تاللانما" + +#~ msgid "Navigation" +#~ msgstr "يولباشچى" + +#~ msgid "Placement" +#~ msgstr "يۆتكە" + +#~ msgid "Reviews" +#~ msgstr "باھالاش پىكىرلىرى" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "@item:inlistbox Color name" +#~ msgid "%1" +#~ msgstr "%1:" + +#~ msgid "Show &Navigation Panel" +#~ msgstr "يولباشچى كۆزنەكچىنى كۆرسىتىش(&N)" + +#~ msgid "Show Text" +#~ msgstr "تېكىست كۆرسەت" + +#~ msgid "Small Icons" +#~ msgstr "كىچىك سىنبەلگە" + +#~ msgid "Large Icons" +#~ msgstr "چوڭ سىنبەلگە" + +#~ msgid "Style" +#~ msgstr "ئۇسلۇب" + +#~ msgid "&Size:" +#~ msgstr "چوڭلۇقى(&S):" + +#~ msgid "Name: %1" +#~ msgstr "ئاتى: %1" + +#~ msgid "Size: %1" +#~ msgstr "چوڭلۇقى: %1" + +#~ msgctxt "Zoom Tool" +#~ msgid "Zoom" +#~ msgstr "كېڭەيت-تارايت" + +#~ msgctxt "Select Tool" +#~ msgid "Selection" +#~ msgstr "تاللاش" + +#, fuzzy +#~| msgctxt "Symbol for caret annotations" +#~| msgid "None" +#~ msgid " None" +#~ msgstr "يوق" + +#~ msgid "Do Not Allow" +#~ msgstr "يول قويما" + +#~ msgid "Current maintainer" +#~ msgstr "نۆۋەتتىكى مەسئۇلى" + +#~ msgid "Search Columns" +#~ msgstr "ئىزدەش ئىستونى" + +#~ msgid "All Visible Columns" +#~ msgstr "كۆرۈنگەن بارلىق ئىستونلار" + +#~ msgid "Identity Settings" +#~ msgstr "كىملىك تەڭشىكى" + +#~ msgid "Ink" +#~ msgstr "سىياھ" diff --git a/po/ug/okular_comicbook.po b/po/ug/okular_comicbook.po new file mode 100644 index 0000000..2a68bc4 --- /dev/null +++ b/po/ug/okular_comicbook.po @@ -0,0 +1,50 @@ +# Uyghur translation for okular_comicbook. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Sahran , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_comicbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-09-08 07:05+0900\n" +"Last-Translator: Gheyret Kenji \n" +"Language-Team: Uyghur Computer Science Association \n" +"Language: ug\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ئابدۇقادىر ئابلىز, غەيرەت كەنجى" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sahran.ug@gmail.com, gheyret@gmail.com" + +#: document.cpp:97 +#, kde-format +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "" + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "" + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/ug/okular_djvu.po b/po/ug/okular_djvu.po new file mode 100644 index 0000000..6fe4e2b --- /dev/null +++ b/po/ug/okular_djvu.po @@ -0,0 +1,129 @@ +# Uyghur translation for okular_djvu. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Sahran , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_djvu\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-09-08 07:05+0900\n" +"Last-Translator: Gheyret Kenji \n" +"Language-Team: Uyghur Computer Science Association \n" +"Language: ug\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ئابدۇقادىر ئابلىز, غەيرەت كەنجى" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sahran.ug@gmail.com, gheyret@gmail.com" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "تەھرىرلىگۈچ" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "تارقاتقۇچى" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "ئاۋاز مىقدارى" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "نامەلۇم" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "نامەلۇم" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "يەككە بەت" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "" + +#~ msgid "© 2006-2008 Pino Toscano" +#~ msgstr "© 2006-2008 Pino Toscano" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgctxt "Unknown title" +#~ msgid "Unknown" +#~ msgstr "نامەلۇم" + +#~ msgctxt "Unknown author" +#~ msgid "Unknown" +#~ msgstr "نامەلۇم" + +#~ msgctxt "Unknown editor" +#~ msgid "Unknown" +#~ msgstr "نامەلۇم" + +#~ msgctxt "Unknown publisher" +#~ msgid "Unknown" +#~ msgstr "نامەلۇم" + +#~ msgctxt "Unknown creation date" +#~ msgid "Unknown" +#~ msgstr "نامەلۇم" + +#~ msgctxt "Unknown volume information" +#~ msgid "Unknown" +#~ msgstr "نامەلۇم" + +#~ msgctxt "Unknown type of document" +#~ msgid "Unknown" +#~ msgstr "نامەلۇم" diff --git a/po/ug/okular_dvi.po b/po/ug/okular_dvi.po new file mode 100644 index 0000000..401aa28 --- /dev/null +++ b/po/ug/okular_dvi.po @@ -0,0 +1,470 @@ +# Uyghur translation for okular_dvi. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Sahran , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_dvi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-09-08 07:05+0900\n" +"Last-Translator: Gheyret Kenji \n" +"Language-Team: Uyghur Computer Science Association \n" +"Language: ug\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ئابدۇقادىر ئابلىز, غەيرەت كەنجى" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sahran.ug@gmail.com, gheyret@gmail.com" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

    Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

    Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

    " +msgstr "" + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

    Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

    Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

    " +msgstr "" + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "" + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "" + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "" + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "" + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "" + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

    The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

    What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

    PATH: %2

    " +msgstr "" + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

    The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

    %2

    " +msgstr "" + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "" + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "" + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "" + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "" + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "" + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "" + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "" + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "" + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "" + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
    " +msgstr "" + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
    " +msgstr "" + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "" + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

    Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

    PATH: %1

    %2

    " +msgstr "" + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

    There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
    Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

    PATH: %1

    %2

    " +msgstr "" + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" + +#: fontpool.cpp:482 +#, kde-format +msgid "Currently generating %1 at %2 dpi…" +msgstr "" + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "" + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "" + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "" + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "" + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "" + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "" + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "" + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "" + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "" + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "" + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "" + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "" + +#~ msgid "Abort" +#~ msgstr "توختات" + +#~ msgid "Overwrite File" +#~ msgstr "ھۆججەت قاپلاش" + +#~ msgid "Overwrite" +#~ msgstr "قاپلا" diff --git a/po/ug/okular_epub.po b/po/ug/okular_epub.po new file mode 100644 index 0000000..934e00a --- /dev/null +++ b/po/ug/okular_epub.po @@ -0,0 +1,43 @@ +# Uyghur translation for okular_epub. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Sahran , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_epub\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-09-08 07:05+0900\n" +"Last-Translator: Gheyret Kenji \n" +"Language-Team: Uyghur Computer Science Association \n" +"Language: ug\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ئابدۇقادىر ئابلىز, غەيرەت كەنجى" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sahran.ug@gmail.com, gheyret@gmail.com" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "" diff --git a/po/ug/okular_fax.po b/po/ug/okular_fax.po new file mode 100644 index 0000000..ce15c75 --- /dev/null +++ b/po/ug/okular_fax.po @@ -0,0 +1,36 @@ +# Uyghur translation for okular_fax. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Sahran , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_fax\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-09-08 07:05+0900\n" +"Last-Translator: Gheyret Kenji \n" +"Language-Team: Uyghur Computer Science Association \n" +"Language: ug\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ئابدۇقادىر ئابلىز, غەيرەت كەنجى" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sahran.ug@gmail.com, gheyret@gmail.com" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/ug/okular_fictionbook.po b/po/ug/okular_fictionbook.po new file mode 100644 index 0000000..459f163 --- /dev/null +++ b/po/ug/okular_fictionbook.po @@ -0,0 +1,74 @@ +# Uyghur translation for okular_fictionbook. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Sahran , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_fictionbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-09-08 07:05+0900\n" +"Last-Translator: Gheyret Kenji \n" +"Language-Team: Uyghur Computer Science Association \n" +"Language: ug\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ئابدۇقادىر ئابلىز, غەيرەت كەنجى" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sahran.ug@gmail.com, gheyret@gmail.com" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "پۈتۈك ئىناۋەتلىك ZIP ئارخىپى ئەمەس" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "پۈتۈك قۇرۇلمىسى ئىناۋەتسىز(ئاساسىي مۇندەرىجە يوق)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "ئىناۋەتسىز XML پۈتۈكى: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/ug/okular_ghostview.po b/po/ug/okular_ghostview.po new file mode 100644 index 0000000..ad20ae1 --- /dev/null +++ b/po/ug/okular_ghostview.po @@ -0,0 +1,77 @@ +# Uyghur translation for okular_ghostview. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Sahran , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_ghostview\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-09-08 07:05+0900\n" +"Last-Translator: Gheyret Kenji \n" +"Language-Team: Uyghur Computer Science Association \n" +"Language: ug\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ئابدۇقادىر ئابلىز, غەيرەت كەنجى" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sahran.ug@gmail.com, gheyret@gmail.com" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "ئادەتتىكى تەڭشەك" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" diff --git a/po/ug/okular_kimgio.po b/po/ug/okular_kimgio.po new file mode 100644 index 0000000..126a600 --- /dev/null +++ b/po/ug/okular_kimgio.po @@ -0,0 +1,52 @@ +# Uyghur translation for okular_kimgio. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Sahran , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_kimgio\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-09-08 07:05+0900\n" +"Last-Translator: Gheyret Kenji \n" +"Language-Team: Uyghur Computer Science Association \n" +"Language: ug\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ئابدۇقادىر ئابلىز, غەيرەت كەنجى" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sahran.ug@gmail.com, gheyret@gmail.com" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" + +#~ msgid "Main Toolbar" +#~ msgstr "ئاساسىي قورال بالداق" diff --git a/po/ug/okular_mobi.po b/po/ug/okular_mobi.po new file mode 100644 index 0000000..d87ef8b --- /dev/null +++ b/po/ug/okular_mobi.po @@ -0,0 +1,52 @@ +# Uyghur translation for okular_mobi. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Sahran , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_mobi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-09-08 07:05+0900\n" +"Last-Translator: Gheyret Kenji \n" +"Language-Team: Uyghur Computer Science Association \n" +"Language: ug\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ئابدۇقادىر ئابلىز, غەيرەت كەنجى" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sahran.ug@gmail.com, gheyret@gmail.com" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Error while opening the Mobipocket document." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "" + +#~ msgid "Jakub Stachowski" +#~ msgstr "Jakub Stachowski" diff --git a/po/ug/okular_poppler.po b/po/ug/okular_poppler.po new file mode 100644 index 0000000..9f8e4b7 --- /dev/null +++ b/po/ug/okular_poppler.po @@ -0,0 +1,373 @@ +# Uyghur translation for okular_poppler. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Sahran , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_poppler\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-09-08 07:05+0900\n" +"Last-Translator: Gheyret Kenji \n" +"Language-Team: Uyghur Computer Science Association \n" +"Language: ug\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ئابدۇقادىر ئابلىز, غەيرەت كەنجى" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sahran.ug@gmail.com, gheyret@gmail.com" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "ياق" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "لىق تولغان" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "شەكىل" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "PDF تاللانما" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "پىچىمى" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "شىفىرلانغان" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "شىفىرلانمىغان" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "بىخەتەرلىك" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "ھەئە" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "ئەلالاشتۇرۇلغان" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "" + +#: pdfsignatureutils.cpp:239 +#, fuzzy, kde-format +#| msgid "Document Password" +msgid "Enter Password" +msgstr "پۈتۈك ئىمى" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Unknown" +#~ msgstr "نامەلۇم" diff --git a/po/ug/okular_txt.po b/po/ug/okular_txt.po new file mode 100644 index 0000000..09bcda6 --- /dev/null +++ b/po/ug/okular_txt.po @@ -0,0 +1,38 @@ +# Uyghur translation for okular_txt. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Gheyret Kenji , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_txt\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-09-08 07:05+0900\n" +"Last-Translator: Gheyret Kenji \n" +"Language-Team: Uyghur \n" +"Language: ug\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ئابدۇقادىر ئابلىز, غەيرەت كەنجى" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sahran.ug@gmail.com, gheyret@gmail.com" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "" diff --git a/po/ug/okular_xps.po b/po/ug/okular_xps.po new file mode 100644 index 0000000..dd488a7 --- /dev/null +++ b/po/ug/okular_xps.po @@ -0,0 +1,57 @@ +# Uyghur translation for okular_xps. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Sahran , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: okular_xps\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-09-08 07:05+0900\n" +"Last-Translator: Gheyret Kenji \n" +"Language-Team: Uyghur Computer Science Association \n" +"Language: ug\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ئابدۇقادىر ئابلىز, غەيرەت كەنجى" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sahran.ug@gmail.com, gheyret@gmail.com" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "تۈزىتىلمە" + +#~ msgid "XPS Backend" +#~ msgstr "XPS ئارقا ئۇچى" + +#~ msgid "An XPS backend" +#~ msgstr "XPS ئارقا ئۇچ پروگراممىسى" + +#~ msgid "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" +#~ msgstr "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" + +#~ msgid "Brad Hards" +#~ msgstr "Brad Hards" + +#~ msgid "Jiri Klement" +#~ msgstr "Jiri Klement" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" diff --git a/po/ug/org.kde.active.documentviewer.po b/po/ug/org.kde.active.documentviewer.po new file mode 100644 index 0000000..cfc044f --- /dev/null +++ b/po/ug/org.kde.active.documentviewer.po @@ -0,0 +1,216 @@ +# Uyghur translation for org. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Gheyret Kenji , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: org\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-09-08 07:05+0900\n" +"Last-Translator: Gheyret Kenji \n" +"Language-Team: Uyghur \n" +"Language: ug\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "خەتكۈشلەر" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +msgid "Export…" +msgstr "" + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "" + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "" + +#: ui/Main.qml:49 +msgid "About" +msgstr "" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "" + +#: ui/MainView.qml:29 +#, fuzzy +#| msgid "Bookmarks" +msgid "Bookmark this page" +msgstr "خەتكۈشلەر" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "كىچىك سۈرەت" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "مەزمۇن مۇندەرىجىسى" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:96 +msgid "Document Version" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:108 +msgid "Save Signed Version…" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +msgid "View Certificate…" +msgstr "" + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "" + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "نەتىجە يوق" + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "" + +#: ui/WelcomeView.qml:108 +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "" + +#~ msgid "Reader" +#~ msgstr "ئوقۇغۇ" + +#~ msgid "Copyright 2012 Marco Martin" +#~ msgstr "نەشر ھوقۇقىغا ئىگە 2012 Marco Martin" + +#~ msgid "Marco Martin" +#~ msgstr "Marco Martin" diff --git a/po/uk/docs/okular/annotation-properties.png b/po/uk/docs/okular/annotation-properties.png new file mode 100644 index 0000000000000000000000000000000000000000..bbfbdf19246e5595fd32ab6883e86658c69c464c GIT binary patch literal 15525 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 DvENrz literal 0 HcmV?d00001 diff --git a/po/uk/docs/okular/annotations.png b/po/uk/docs/okular/annotations.png new file mode 100644 index 0000000000000000000000000000000000000000..dee24a7be25f4e5fb9ab4e1d761ebdec8fabef0b GIT binary patch literal 53343 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 literal 0 HcmV?d00001 diff --git a/po/uk/docs/okular/configure-annotations.png b/po/uk/docs/okular/configure-annotations.png new file mode 100644 index 0000000000000000000000000000000000000000..abd6cad07554fce3f4892f374f52b0fc04d41f99 GIT binary patch literal 31081 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 bSbddf-t**3A64}3UkDAfbtc}hp|buDGqMIW literal 0 HcmV?d00001 diff --git a/po/uk/docs/okular/embedded-files-bar.png b/po/uk/docs/okular/embedded-files-bar.png new file mode 100644 index 0000000000000000000000000000000000000000..dc879e29d05b81e186a1e4faad78d354d91d129e GIT binary patch literal 4839 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 literal 0 HcmV?d00001 diff --git a/po/uk/docs/okular/forms-bar.png b/po/uk/docs/okular/forms-bar.png new file mode 100644 index 0000000000000000000000000000000000000000..4630e1f1ab00ead041e51cd8fd47445a218496c3 GIT binary patch literal 4491 zcmYkAc{CK<|HlVeBa$g8DG_F5C+ovhwjnf{X)+aq$ew*KvNqX6S+fsjjG2)&!(_`& z82g@e$S%c$ub$`kob&tR-gD2r=brQad|vN+Klj`>CPunk90D8w0Dwzh?=B1gU__jZ z5o}B+z3QC!DFA>W!Nl-^_WI`L=JxhUTU*~;TU%dUTU%ZIL0?^^(^r@1^u?v6g@whr z?{nX$XJ;m-J7?D?$0yon*2c%i+opfCPOXlNjDDS5`8q*w9$#r5TcXhhn?@HKM;01} z=e`Whee3I|(q`%hrYZfCo!vdP-zI8%$7_1VTG~6Sx`wMdhpIXU%iC#`mX5MkT19gg zsj;iHp_9f4Gbt<{y)MYS!&N=jKp1-810Twd|%Q+YvEV_Dg!g32%DrKDHX zSwbn1Kp|XiAA)1w2Sq2ndYe%0?(hF5&L`}xR|qCBDBLqR!Xqfc&o|J`$KTl} z(81H+&cm-q2X5=;W9{N$>F8>1=ls;x5oK+Mw6K2o6#d|_1>EeZk?BL|eYn2K16?E7 zT?1o?o`I&ep89QVRZWPphNhCLx}u7jyt0a{lCq3~l9Zghq>LO`O6CR#EFvy`{f3yF zjXWO!!2L=8F64pF=xXY*@$9fb%lhHzOb=0yC{>6&f7CKLrfgDC)|ywa{!A6zwl|2x zEsfZ7sd-~V~Bpv%^%f{9k%Fd&Gy1!Xi?wVEE{Mltzmn45j-JLpEc66MDxK* z5g4qy`0FxYft)x>cs*Dpwmz#*6ySbtm*dowh6=OQ*WiXD>^O$Q>--eR`;ZFcFd5HQlh5WKyflDo-VR2lo0{_;-p-Y4u_(){DsyT4V*iD@0lb!XT-bvqc{9@&8;sJ$v$ z6xJwFLr=ODQPp{j_9!t?r!qcRI=8R_q`s^5!_z@N?sI`%wJbRo27ub?fn(qcb}=)- zP5bcNi=FzEzKl_Im2%tEz^{%8rhw?%_3@#Xa;>e*LuS2FH4ab13Px5^3a%o8YYh+y zi$!OJ7&K?FMyb4{qP{dTjkDy|r8l)XzrGSj%YM0Wy$Xd_XX=&5T(bw6H~?LrGR8Ph zJ7jZ@uUTeS3Tnz>uL^b9M`*cUDm?#MOsSLm+;0|EXjC){prIHix{(2St$URk%;X_+< zX+}YLX>n_S!UHCzieRp2KR~DWC2OUT`-NZC@#^!0e<-p5L=D_wq80`9t?8D?cvHae zf8i(_Cw=EZEGFn6j@S{8Y{7a>1<-qDT^1BOkp*D0W;n2WUtkXa)^#x#Eg1KvrZSU~ z)uaPT_<{$;velT)SDb`!u!~xUY;NmD8Gr=J#ru$r(9v%SU7b`J&k2EM`|OmW`2c*u zxHTKtnyZ6t1Wg~6s8F~%&YIZG+A{v^us z4k{dNK?Q9X#QFsx%zbrj-U+@*&GzouFmk?>4E+Pj4*-v~GitvEkZ=4itf2MJ&Q-Ed zrJsu8&gF!aClXYUlc9sPsBfmIi18~3iG-+*(cT&WiI#I>D0C~Yb!@RadDT_|s?Wmwt*!r7yek+-FN!&%YAnK;2Q zz{;oNjg#B>`4_v@?>ve8+TCH7?GarsoVT;^rOA??K~5)34BMZ{rLAskr_Yep!z9s) z3UP%D&wHK2$fpc7hf7)|j2#nurS7)1)Uh-#ADk-;CDxpmeOW0i#F`ONwlG>XfkDV4 zT?8Z!j@Jro$0jklEK@5 z{qTSdti+R1()0%ZE=%PZUi4@-`Clf{ybWOq(RDg2FT}fl2Qh=G#r<H}}VJ@D83Y*2r-5Ue7hPa9{a|6bvnX_KHYQERfE^YR)yJ5LK7aVpE1A zP}A6AoK-erI72gs9lW@F)e!)GM6I<4?bPYkCDS{|M>>n?cgXf*?*|rFd^U_};~=;n0B=ZQR0iH>uM%KpCM&c>#59RRR5Q*UegS$wN* z0|)%g$?XSw_lKJjudnuIE;9O|P74w)!Z{F*rORD`jy2s%N*5aPdt9cZ(=@pG5sF7g z9Tk~&C0mF9HP$cCR}g$_(fXrLlRd9!k5_@4ReTPo zHCYhU(-ylhqr=197!bcOC86QN4?b`H6oKV8Br`b5xAxQ0)D!vv)J{?td03U>a=++R zB<=F8RJjKFx|MbqgC#KF@b%irGRT}5%)Q5ab%<_%v4&lmPFdKWM!`#ry|*F_YTzlB z*=Q8km_i0>U<;7?c}Jt!;K>85gxEy()ajr(8^9?p=*_`e&P%PdFXkt;jk_+rr$z$9 zo1Qbe&tbAXsnDgKrEF7qen9hqUqL^ko_Vx9!`1sx#3!wVCi`Slb8Asnd}wg7+{sZO zVc^S&s@_GcUMxw1e24a=oCW}?9sVrlUyTgS;uan4FWxc+B06q}y{s%y#}7vTwZt@) zl8|1UEUrMsD396!>Xif7aJdLZNikjTrJL-oC5=Q&E~sDw6vn&V)xg8VCt9W5Nngn- zU@~u)YBDo9Hj%K%4buW&s1P>Nq+)*_D{4?lhHbIoZf8@whAEl&*Ce?6}PLlL^o*m3vZ|W`; zaZBq@j(niI4Wg{o4h@(S9oP3=Qfgu~i0?pZ;`_Une-M_U^RxR;kE&2_ZpxbzmTxQkc8{_yF-*Pv6)Z((-AOo4zrx??GvAL zlqE1B8mL5Jth%Dt-|rVD=7<@PXRO-wM-xzgR4u~~#2-;#<*uwD-cIZt(Lx@}^f4fa z?*T!#mn+mmX_&gn1+9D8$1f-JqE->VX$2hNKt*v+BFdHWZ32^XDmDz3lFA9L`?!;d z-DmASlBq?Bo>}kg_u1$_( z{k>}1FZkKC`ybwOh(=|V(fr+cQENBmx|wey^`RWwC_ZTA{55>9eJ10~^@CCMWcOqu#o->_#I-(=<@B=m=ff#f45v&bPiruoC*W(<%e5^ga9CI2I7T>h8Mk4itY@M{2l-22qDxQr1Q z#HQtEte~m*L~;ZPRHeynrC8zu>+Tg)Wdqxr(0LH-BlN^@?%RB#%H~~0S0LvA7|b+U zdzV{nPot5z4~*+8yBhW{n}r%*_qi?nTu_n>4`PlFaMVZefELt5qSZp$&tRUq{(cxr zJ00lNR_yaqHs;Dh0vo_UQ9Z3y%U=8AosS(6ZKzHEFZNbKfb+)J@h^SwN`6C|>&#$S zDBQ#MoJ0fYWRUmYlNzaw;X?yYCi~3KAFsGb7n(2Lc+T>D|77Fc!~Onxa}&)&+hiLV zf@T99cj_In^y1lpG^5m6IH5rIsx!sI2(aDP*V!K|W@gXEm zt2tjuWUSzP?qE&VF{OSuF%&KK-t4yOx`9m7l$zeJ%Q*=FDm_od5Zd?yU4kddyk=yj z34=Tf#vtzt!7CFT&f@T%mheu${KqThWKBry$&#gZGybTvJQD79>cWDf%~P$dGbGSo zV6b{#ZHRsrB_zqQ`%H=)Y2OgPkRuMNCNa97w`C-OyfpO41cqsc!XWF?kRm_}S7Z!x zL)Su^-NrnYf`#<^j}8NggDWq}Drh%@e!4N=e@!W80&nmI#ngY#9>womFi4lm+8hUS55d{e-P5fIL(9|7ugza zkUj=q#Ui5@`R};Cyo{8Po*jlX<;O5Y6iBOpJ^m)l{0T{>d#>2}ol8KhYg6%u<>RmI zUe?V*xvn8OF4Hf9mFMxP=`;$ zCcm?vs*y1XYEC|fv&5E(ICPuaqeI$;(k#r-EnHTkI`J-nw)}{c&l5EQ{c9Swvzrjv zM1Ipo39FyLx5eGLF0WVAl1OWf-462Sql7*ZaE24InKK30?>h*_G*L|%nW+9ZaL6OU za;<}9aoh)>|4LI7JcC#n2_*SRgKyLx`CgZ?gl~Av6f%$Y=#Gfu`%WylOAtof*7?V& zAS3BT0g^C6s0rkd@vl7tA2we$t^ary*E78AtNFDXg}v-`UabaK9T%vk;V?fmvV7}| z+FL=5kYH6M$L^R+{yX2cOT;a;|9Cr)2lu7W2>V*qZ1-DM)91@vtw2vaJ>=W7HxGsG u56I%)=g{9XsR9S$1s)F?@a>*GWWA%R2wUYo(|+>F0?^ksx=Xli@%n!z9Kw +KPDF"> + + +]> + + + + Підручник з &okular; + + Albert Astals Cid
    &Albert.Astals.Cid.mail;
    +
    +
    + Pino Toscano
    pino@kde.org
    +
    +
    + ЮрійЧорноіван
    yurchor@ukr.net
    Переклад українською
    +
    + &FDLNotice; + 19 лютого 2022 року + 22.04 + + + &okular; — це універсальний переглядач документів для &kde;, заснований на коді &kpdf;. + + + KDE + okular + pdf + ps + postscript + tiff + djvu + dvi + xps + comicbook + fictionbook + markdown + mobipocket + анотація + +
    + + Вступ + &okular; — це універсальний переглядач документів для &kde;, заснований на коді програми &kpdf;. Хоча програму і засновано на коді &kpdf;, &okular; має декілька унікальних можливостей, таких як режим огляду, покращену підтримку презентацій і анотування. + У &okular; передбачено підтримку багатьох форматів даних, зокрема &PDF;, &PostScript;, Tiff, DjVU, зображення (png, jpg тощо) XPS, Fiction Book, Comic Book, Plucker, EPub, Fax і Markdown. Повний список підтримуваних форматів та можливостей наведено на сторінці інструментів обробки форматів документів &okular;. + + Головне вікно &okular; + + + + + + Головне вікно &okular; + + + + + + Основні прийоми користування + + Як відкрити файл + Щоб відкрити будь-який з підтримуваних файлів у &okular;, скористайтесь пунктом меню Файл Відкрити... , оберіть підтримуваний файл у діалоговому вікні, а потім натисніть кнопку Відкрити. Зображення з вказаного вами файла має з’явитися у головному вікні програми. + + Новий документ буде відкрито у новій вкладці, якщо позначено пункт Відкривати нові документи у вкладках на сторінці загальних налаштувань. + Вкладки можна закривати клацанням на їхніх заголовках середньою кнопкою миші. + Раніше закриту вкладку можна повторно відкрити за допомогою пункту меню &Ctrl;&Shift;TФайл Скасувати закриття вкладки. + + Якщо ви вже раніше відкривали файли у &okular;, ви можете швидко відкрити їх знову, для цього виберіть відповідний пункт у меню ФайлВідкрити нещодавній. + &okular; є типовою програмою &kde; для перегляду файлів &PDF; і &PostScript;. Саме цю програму буде запущено, якщо ви наведете вказівник миші на якийсь з файлів цих типів у програмі для керування файлами і двічі клацнете лівою кнопкою миші. Щоб відкрити будь-який з файлів, підтримку формату якого передбачено у &okular;, скористайтеся пунктом Відкрити за допомогою...&okular; контекстного меню програми для керування файлами. + Після того, як ви відкриєте файл, очевидно, ви захочете прочитати його, а отже якимось чином пересуватися його вмістом. Щоб дізнатися про те, як це зробити, прочитайте наступний розділ. + + + Навігація + У цьому розділі описано способи навігації документом, які використовуються у &okular;. + Існує декілька способів пересування області перегляду. Одним з них є використання клавіш ↑ і ↓. Крім того, ви можете скористатися смугою прокручування, коліщатком вашої миші, або клавішами Page Up і Page Down. + Ви також можете скористатися навігаційними клавішами у стилі vim, зокрема клавішею H для переходу до верхньої частини попередньої сторінки, L для переходу до верхньої частини наступної сторінки, J для пересування на рядок нижче і K для пересування на рядок вище. + Ще одним способом є утримування натисненою лівої кнопки миші, коли вказівник знаходить у будь-якому місці документа, з одночасним перетягуванням вказівника миші у напрямку, протилежному до того, у якому ви бажаєте пересунутися документом. Ця процедура працює, лише якщо увімкнено засіб навігації, цей інструмент ви можете обрати за допомогою пункту меню ІнструментиНавігація. + + Під час перегляду документа у режимі презентації користуйтеся клавішами ↑ та ↓ для перемикання між сторінками або слайдами. Номер та розташування у документі поточного слайда буде показано на панелі-накладці у верхньому правому куті екрана. + + Якщо ви читаєте документ з декількома сторінками, скористайтеся можливістю автоматичного гортання у &okular;. Увійти у режим автоматичного гортання можна натисканням комбінацій клавіш &Shift;↓ і &Shift;↑. Після цього можна скористатися повторними натисканнями цих комбінацій для того, щоб збільшити або зменшити швидкість гортання. Тимчасово розпочати або зупинити гортання можна натисканням клавіші &Shift;. Натискання будь-якої іншої клавіші призводити до виходу з режиму автоматичного гортання. + Ще одним засобом навігації для переходу одразу на декілька сторінок документа є вказівник миші. Перетягніть сторінку вгору або вниз, продовжуйте перетягування після досягнення нижнього або верхнього краю сторінки. Щойно ви перетнете край сторінки, у верхній або нижній частині екрана знову з’явиться курсор і ви зможете продовжити гортання сторінок. + За допомогою бічної панелі, розташованої ліворуч на екрані, можна здійснювати пересування документом ще у два способи: + + + Якщо ви наведете вказівник на мініатюру сторінки і клацнете лівою кнопкою миші, відповідну сторінку буде відображено у області перегляду. + + + Якщо у документі є зміст, наведення вказівника миші з наступним клацанням лівою кнопкою на пункті вмісту пересуне область перегляду до сторінки, пов’язаної з цим пунктом. + + + Якщо у документі є шари, ви можете визначити, які з них слід показувати, за допомогою позначення або зняття позначки з відповідних пунктів у списку Шари. + + + Якщо у документі є закладки, увімкніть показ панелі Закладки. Для переходу до відповідної сторінки достатньо натиснути пункт закладки. Якщо закладки встановлено не лише для поточного документа, ви зможете швидко перемикатися між закладками у всіх нещодавно відкритих файлах. + + + Якщо у документі передбачено анотації, увімкніть режим перегляду Анотації і натисніть пункт анотації, або позначте його за допомогою клавіш ↑ і ↓, а потім натисніть клавішу &Enter;, щоб перейти до відповідної сторінки. + + + У деяких документах є посилання. У випадку наявності посилань ви можете навести на посилання вказівник миші і клацнути лівою кнопкою: область перегляду буде пересунуто до сторінки, на яку виконано посилання. Якщо посилання виконано на сторінку мережі або на якийсь інший документ, буде запущено типову програму для обробки відповідного формату даних у &kde;. Наприклад, натискання посилання, що вказує на «https://www.kde.org», відкриє вебсторінку у типовій програмі для перегляду вебсторінок &kde;. + + Внутрішні посилання у документі працюватимуть лише у режимі when інструмента «Навігація». + + Крім того, для швидкого пересування до окремих місць у документі ви можете скористатися такими функціональними можливостями: + + + Перейти до початку документа можна за допомогою натискання комбінації клавіш &Ctrl;Home або пункту меню Перехід Початок документа . + + + До останньої сторінки документа можна перейти за допомогою комбінації клавіш &Ctrl;End або за допомогою пункту меню Перехід Кінець документа . + + + До наступної сторінки документа можна перейти за допомогою клавіш Пробіл, Page Down, кнопки панелі інструментів Наступна сторінка або за допомогою пункту меню Перехід Наступна сторінка . + + + До попередньої сторінки документа можна перейти за допомогою клавіш &Backspace;, Page Up, кнопки панелі інструментів Попередня сторінка або за допомогою пункту меню Перехід Попередня сторінка . + + + Ви можете повертатися до місць у документі у хронологічному порядку переходів між ними. Наприклад, якщо ви бачите фразу «Як показано у [15], …», і хочете швидко ознайомитися з тим, що таке [15], ви просто натискаєте посилання, і &okular; переходить до списку посилань. За допомогою натискання комбінації клавіш &Alt;&Shift;← або пункту меню Перехід Назад ви можете повернутися до тієї самої позиції, з якої ви перейшли до списку посилань. + + + Перейти далі стосом переходів після повернення до попереднього місця за допомогою описаного вище способу можна скориставшись комбінацією клавіш &Alt;&Shift;→ або пунктом меню Перехід Вперед . + + + Крім того, під час пошуку якогось фрагмента у документі ви можете перейти до місця з наступним відповідником за допомогою натискання клавіші F3 чи &Enter; (якщо фокус перебуває на полі Знайти) або вибору пункту меню Зміни Знайти далі або повернутися до попереднього відповідника за допомогою натискання клавіш &Shift;F3 чи &Shift;&Enter; (якщо фокус перебуває на полі Знайти) або вибору пункту меню Зміни Знайти позаду . + + + + + Режим презентації + Ще одним способом перегляду документів у &okular; є презентація. Увімкнути цей режим можна за допомогою пункту меню ПереглядПрезентація. У цьому режимі документ буде показано посторінково. Сторінки буде вміщено на екрані: для кожної зі сторінок ви бачитимете всю площу сторінки. + + Документи &PDF; навіть можуть самі визначати, що їх слід відкривати у режимі презентації. + + Під час роботи у режимі презентації ви можете використовувати допоміжну панель, яку розташовано вгорі сторінки. Просто пересуньте вказівник миші вгору сторінки, щоб побачити цю панель. + + &okular; у режимі презентації + + + + + + &okular; у режимі презентації + + + + Для пересування між сторінками ви можете скористатися лівою кнопкою миші (наступна сторінка) і правою кнопкою миші (попередня сторінка), коліщатком миші, кнопками з піктограмами у вигляді стрілок або поле для редагування на верхній панелі, або клавішами, вказаними у розділі Навігація. + Скористайтеся кнопкою Відтворити/Призупинити не верхній панелі для того, щоб розпочати відтворення презентації або призупинити його, відповідно. + Ви можете у будь-який момент часу вийти з режиму презентації натисканням клавіші &Esc; або кнопки з піктограмою Вийти на верхній панелі. + Крім того, ви можете малювати на поточній сторінці за допомогою інструмента «олівця». Щоб увімкнути або вимкнути можливість малювання у режимі презентації, натисніть кнопку з піктограмою Перемкнути режим малювання на верхній панелі. Під час переходу до іншої сторінки або виходу з режиму презентації намальоване буде автоматично вилучено. Крім того, ви можете натиснути піктограму Стерти малюнки, щоб вилучити намальоване на поточній сторінці. + Програма підтримує у режимі презентації показ на декількох екранах у конфігураціях обладнання з декількома моніторами. У такому випадку на верхній панелі з’являється нова кнопка — піктограма екрана. Ця кнопка відкриває спадний список, за допомогою якого ви можете пересувати презентацію на будь-який з доступних екранів. + Деякі з параметрів режиму презентації можна змінити, опис цих параметрів ви можете знайти у розділі Як налаштувати &okular;. + + + + Зворотній пошук у редакторах &latex; з вікна &okular; + + Зворотній пошук стане у пригоді, якщо ви створюєте документ &latex; власноруч. Якщо все налаштовано належним чином, ви зможете натиснути клавішу &Shift; і клацнути у вікні &okular; лівою кнопкою миші. Після цього редактор завантажить відповідний файл кодів &latex; і відкриє у ньому відповідний абзац тексту. + + Зворотній пошук не працюватиме, якщо ви не виконаєте таких умов: + + + Файл початкових кодів має бути успішно зібрано. + &okular; відомі дані щодо редактора, який ви бажаєте використовувати. + Ця процедура працює, лише якщо увімкнено засіб навігації, цей інструмент ви можете вибрати за допомогою пункту меню ІнструментиНавігація. + + + За використання цієї можливості &okular; натискання клавіші &Shift; з наступним клацанням лівою кнопкою миші у документі DVI призведе до відкриття відповідного документа &latex; у редакторі з наступною спробою перейти до відповідного рядка у коді. Не забудьте повідомити &okular; про те, що слід використовувати відповідний редактор. Це можна зробити за допомогою пункту меню &okular; Параметри Налаштувати Okular (на сторінці Редактор). + + Щоб дізнатися більше, про налаштовування редактора, будь ласка, зверніться до відповідного розділу підручника. + + + Налаштовування &okular; + + + + + + Налаштовування редактора у &okular; + + Налаштовування редактора у &okular; + + + + + + + Додаткові можливості &okular; + + Вбудовані файли + Якщо у поточний документ вбудовано декілька файлів, після його відкриття над областю перегляду сторінки з’явиться прямокутничок, що сповіщатиме вас про вбудовані файли. + + Панель вбудованих файлів + + + + + + Панель вбудованих файлів + + + + У цьому випадку ви можете або навести вказівник на текст посилання у прямокутничку і клацнути лівою кнопкою миші, або скористатися пунктом меню ФайлВбудовані файли, щоб відкрити діалогове вікно вбудованих файлів. Це діалогове вікно надасть вам змогу переглянути вбудовані файли і видобути їх. + + + Форми + Якщо у поточний документ вбудовано форми, після його відкриття над областю перегляду сторінки з’явиться панель, за допомогою якої ви зможете увімкнути ці форми. + + Панель форм + + + + + + Панель форм + + + + У такому випадку ви можете натиснути кнопку Показати форми на панелі або скористатися пунктом меню ПереглядПоказати форми, щоб ввести дані до полів форми. + + + Підписи + Якщо поточний документ підписано, програма покаже відповідну панель над областю перегляду сторінки одразу після відкриття документа. За допомогою цієї панелі ви зможете відкрити додаткову бічну панель Підписи. + + Панель підписів + + + + + + Панель підписів + + + + За допомогою панелі Підписи ви зможете ознайомитися із підписом документа та його сертифікатом. + + Панель підписів + + + + + + Панель підписів + + + + + Цією можливість можна скористатися лише для документів &PDF;. Вам слід встановити принаймні версію 0.51 Poppler для отримання більшої частини даних підпису, версію 0.68 для отримання даних щодо розташування та причини підписування документа та версію 0.73 для отримання даних щодо сертифіката підпису. + + + Додавання цифрових підписів + Ви можете додавати цифрові підписи до документів за допомогою відповідного пункту у меню Інструменти. + Щоб мати змогу підписати документ, вам знадобиться належний сертифікат для підписування PKCS у вашій системі. &okular; не може створювати такі сертифікати самостійно, оскільки їх має бути видано належними службами сертифікації, щоб ними можна було скористатися для засвідчення автентичності. + Для роботи із підписуванням документів &PDF; використано бібліотеку Poppler. Ця бібліотека використовує для керування сертифікатами бібліотеку NSS. На час написання цього підручника Poppler намагатиметься скористатися такими сховищами сертифікатів NSS у порядку пріоритетності (першим з них, яке існує): + + Поточне сховище сертифікатів користувача Firefox. + Загальносистемне сховище сертифікатів /etc/pki/nssdb. + Каталог поточного користувача $HOME/.pki/nssdb + + Якщо ви хочете скористатися нетиповим сховищем сертифікатів, ви можете вказати його у розділі Налаштування модуля &PDF; діалогового вікна Налаштувати модулі.... + + Цією можливість можна скористатися лише для документів &PDF;. Вам слід встановити принаймні версію 21.01 Poppler для уможливлення додавання цифрових підписів до документів. + + + + + Анотації + У &okular; передбачено можливість рецензування та анотування документів. + + Анотації &okular; + + + + + + Анотації &okular; + + + + У &okular; передбачено два різних типи анотацій: + Текстові анотації, подібні до Підсвічування жовтим і Підкреслення чорним для файлів з текстом, наприклад &PDF;. + Графічні анотації, подібні до Контекстної нотатки, Рядкової примітки, Довільної лінії, Прямої, Багатокутника, Штампа, Підкреслювання, Еліпса та Друкарської машинки. + Графічні анотації можна додавати не лише до файлів &PDF;, ними можна скористатися у будь-якому з файлів, які підтримуються &okular;. + За допомогою меню Анотації ви можете додати Контекстну нотатку або анотацію будь-якого типу для додавання або редагування коментарів. + + У &okular; передбачено можливість «архівування документів». Ця можливість полягає у створенні файла специфічного для &okular; формату, для зберігання документа разом з різноманітними пов’язаними з ним метаданими (у поточній версії лише анотаціями). Ви можете зберегти відкритий документ до «архіву документа» за допомогою пункту меню Файл Зберегти як і вибору варіанта Документ з архівом Okular у полі Фільтр. Збережені у такий спосіб документи матимуть суфікс назви .okular. Щоб відкрити архів з документом &okular;, просто відкрийте відповідний файл у &okular; так, як ви це зробили б, наприклад, з документом &PDF;. + Ви також можете зберігати анотації безпосередньо до файлів &PDF;. Щоб зберегти зміни до поточного файла, скористайтеся пунктом меню Файл Зберегти. Щоб зберегти зміни до нового файла, скористайтеся пунктом меню Файл Зберегти як.... + + Зауважте, що додавання, редагування або вилучення анотацій може бути неможливим для файлів із увімкненим DRM. + + + Можна скасовувати або повертати будь-яку дію з анотацією за допомогою відповідного пункту з меню Зміни. Також можна скасувати дію натисканням комбінації клавіш &Ctrl;Z і повторити раніше скасовану дію натисканням комбінації клавіш &Ctrl;&Shift;Z. + + Ви можете налаштувати типові властивості та вигляд кожної з кнопок інструментів анотування. Будь ласка, зверніться до відповідного розділу документації. + + Як додати анотацію + Щоб додати якісь анотації до документа вам слід скористатися кнопкою Швидка анотація на головній панелі інструментів &okular; або задіяти пенал анотування. Це можна зробити або за допомогою ІнструментиАнотації, або натисканням клавіші F6. Після того, як панель рецензування буде показано, для створення анотації достатньо просто натиснути одну з її кнопок або скористатися клавіатурним скороченням (натиснути клавішу від 1 до 9). + За допомогою пенала анотування ви можете створювати анотації у форматі малюнків, форм та текстових повідомлень. Ви також можете скористатися пеналом для розмічування документа (наприклад, додати лінії, еліпси, багатокутники, штампи, підсвічування, підкреслювання тощо). У наведеній нижче таблиці описано дії, які можна виконувати за допомогою типового набору кнопок пенала анотування. + + + + + Кнопка + Назва засобу + Опис + + + + + + + + + + + + + + + Підсвічування + + + Позначення фрагмента тексту у документі за допомогою вказаного кольору тла. + Натисніть кнопку засобу, наведіть вказівник на позицію початку фрагмента тексту, який має бути позначено, затисніть і утримуйте ліву кнопку миші, перетягніть вказівник, щоб позначити фрагмент тексту. + Ви можете визначити Тип (Підсвічування, Підкреслення хвилястою, Підкреслення або Перекреслення), Колір та Непрозорість для позначення. Просто клацніть правою кнопкою миші на підсвіченому тексті і виберіть у контекстному меню пункт Властивості. + + + + + + + + + + + + + + Підкреслення + + + Підкреслювання фрагмента тексту прямою лінією. + Натисніть кнопку засобу, наведіть вказівник на позицію початку фрагмента тексту, який має бути підкреслено, затисніть і утримуйте ліву кнопку миші, перетягніть вказівник, щоб підкреслити фрагмент тексту. + Ви можете визначити Тип (Підсвічування, Підкреслення хвилястою, Підкреслення або Перекреслення), Колір та Непрозорість для підкреслювання. Просто клацніть правою кнопкою миші на підкресленому тексті і виберіть у контекстному меню пункт Властивості. + + + + + + + + + + + + + + Підкреслення хвилястою + + + Підкреслювання фрагмента тексту хвилястою лінією. + Натисніть кнопку засобу, наведіть вказівник на позицію початку фрагмента тексту, який має бути підкреслено, затисніть і утримуйте ліву кнопку миші, перетягніть вказівник, щоб підкреслити хвилястою лінією фрагмент тексту. + Ви можете визначити Тип (Підсвічування, Підкреслення хвилястою, Підкреслення або Перекреслення), Колір та Непрозорість для підкреслювання. Просто клацніть правою кнопкою миші на підкресленому тексті і виберіть у контекстному меню пункт Властивості. + + + + + + + + + + + + + + Закреслення + + + Для закреслювання фрагмента тексту. + Натисніть кнопку засобу, наведіть вказівник на позицію початку фрагмента тексту, який має бути підкреслено, затисніть і утримуйте ліву кнопку миші, перетягніть вказівник, щоб перекреслити фрагмент тексту. + Ви можете визначити Тип (Підсвічування, Підкреслення хвилястою, Підкреслення або Перекреслення), Колір та Непрозорість для підкреслювання. Просто клацніть правою кнопкою миші на підкресленому тексті і виберіть у контекстному меню пункт Властивості. + + + + + + + + + + + + + + Друкарська машинка + + + Додає текст із прозорим тлом. Корисно для заповнення форм, де немає вбудованих редагованих текстових полів. + Натисніть кнопку засобу, наведіть вказівник миші на місце у документі, де має бути розташовано лівий верхній кут нотатки, затисніть ліву кнопку миші і перетягніть вказівник до правого нижнього кута нотатки. Введіть текст нотатки і натисніть кнопку Гаразд, щоб зберегти нотатку, кнопку Скасувати, щоб скасувати введення нотатки, Очистити, щоб вилучити текст і розпочати його введення з початку, або кнопку Очистити, щоб спорожнити нотатку. + Ви можете визначити Шрифт і Колір тексту для тексту. Просто клацніть правою кнопкою миші на створеному блоці тексту і виберіть у контекстному меню пункт Властивості. + + + + + + + + + + + + + + Рядкова примітка + + + Додавання рядкової примітки. Примітку буде показано у відповідному рядку без змін. + Натисніть кнопку засобу, наведіть вказівник миші на місце у документі, де має бути розташовано лівий верхній кут нотатки, затисніть ліву кнопку миші і перетягніть вказівник до правого нижнього кута нотатки. Введіть текст нотатки і натисніть кнопку Гаразд, щоб зберегти нотатку, кнопку Скасувати, щоб скасувати введення нотатки, Очистити, щоб вилучити текст і розпочати його введення з початку, або кнопку Очистити, щоб спорожнити нотатку. + Ви можете визначити Колір, Непрозорість, Шрифт, Вирівнювання та Товщину рамки для нотатки. Просто клацніть правою кнопкою миші на створеній нотатці і виберіть у контекстному меню пункт Властивості. + + + + + + + + + + + + + + Контекстна нотатка + + + Додавання багаторядкової примітки. Примітку можна буде побачити після подвійного клацання на відповідній піктограмі у документі. + Натисніть кнопку засобу, потім клацніть у місці документа, куди має бути додано контекстну нотатку. Введіть текст контекстної нотатки, потім натисніть кнопку Закрити цю нотатку у верхньому правому куті контекстного вікна введення нотатки. + Ви можете визначити Колір, Непрозорість та Піктограму для нотатки. Просто клацніть правою кнопкою миші на створеній піктограмі нотатки і виберіть у контекстному меню пункт Властивості. + + + + + + + + + + + + + + Довільна лінія + + + Малювання ліній довільної форми + Натисніть кнопку засобу, наведіть вказівник на точку початку лінії, натисніть і утримуйте ліву кнопку миші, потягніть вказівник, щоб намалювати лінію. + Ви можете визначити Колір, Непрозорість та Товщину для лінії. Просто клацніть правою кнопкою миші на створеній лінії і виберіть у контекстному меню пункт Властивості. + + + + + + + + + + + + + + Стрілка (спадний список) + + + Малює стрілку між двома точками. + Натисніть кнопку засобу, наведіть вказівник миші на місце, де має бути розташовано початкову точку лінії, клацніть лівою кнопкою миші, перетягніть вказівник у кінцеву точку лінії і клацніть лівою кнопкою миші ще раз. + Ви можете визначити Колір, Непрозорість, Товщину, Початок лінії, Кінчик лінії, Довжину ведучої лінії та Довжину розширень ведучої лінії для лінії. Просто клацніть правою кнопкою миші на створеній лінії і виберіть у контекстному меню пункт Властивості. + + + + + + + + + + + + + + Пряма (спадний список) + + + Малює відрізок між двома точками. + Натисніть кнопку засобу, наведіть вказівник миші на місце, де має бути розташовано початкову точку лінії, клацніть лівою кнопкою миші, перетягніть вказівник у кінцеву точку лінії і клацніть лівою кнопкою миші ще раз. + Ви можете визначити Колір, Непрозорість, Товщину, Початок лінії, Кінчик лінії, Довжину ведучої лінії та Довжину розширень ведучої лінії для лінії. Просто клацніть правою кнопкою миші на створеній лінії і виберіть у контекстному меню пункт Властивості. + + + + + + + + + + + + + + Прямокутник (спадний список) + + + Малювання прямокутника навколо певної області у документі. + Натисніть кнопку засобу, наведіть вказівник миші на ліву верхню вершину прямокутника, перетягніть вказівник у правий нижній кут прямокутника, відпустіть кнопку. + Ви можете визначити Тип (Прямокутник чи Еліпс), Колір, Непрозорість, Заповнення форми (та його колір) та Товщину контура для рамки. Просто клацніть правою кнопкою миші на створеній рамці і виберіть у контекстному меню пункт Властивості. + + + + + + + + + + + + + + Еліпс (спадний список) + + + Малювання еліпса або прямокутника навколо певної області у документі. + Натисніть кнопку засобу, наведіть вказівник миші на ліву верхню вершину прямокутника, описаного навколо еліпса, затисніть і утримуйте ліву кнопку миші, перетягніть вказівник у правий нижній кут описаного навколо еліпса прямокутника, відпустіть кнопку. + Ви можете визначити Тип (Прямокутник чи Еліпс), Колір, Непрозорість, Заповнення форми (та його колір) та Товщину контура для рамки. Просто клацніть правою кнопкою миші на створеній рамці і виберіть у контекстному меню пункт Властивості. + + + + + + + + + + + + + + Багатокутник (спадний список) + + + Малювання замкненої фігури з трьох або більшої кількості відрізків. Відповідну нотатку можна буде переглянути після подвійного клацання всередині багатокутника. + Натисніть кнопку засобу, наведіть вказівник миші на місце у документі, де має бути розташовано першу вершину багатокутника, клацніть лівою кнопкою миші, перетягніть вказівник на місце другої вершини, клацніть лівою кнопкою миші ще раз. Повторюйте, аж доки не повернетеся у першу вершину. Двічі клацніть, якщо ви хочете додати до багатокутника якусь нотатку. Введіть текст нотатки і натисніть кнопку Гаразд, щоб зберегти нотатку, кнопку Скасувати, щоб скасувати введення нотатки, Очистити, щоб вилучити текст і розпочати його введення з початку, або кнопку Очистити, щоб спорожнити нотатку. + Ви можете визначити Колір, Непрозорість, Заповнення форми (та його колір) та Товщину контура для багатокутника. Просто клацніть правою кнопкою миші на створеному багатокутнику і виберіть у контекстному меню пункт Властивості. + + + + + + + + + + + + + + Штамп + + + Вставляє попередньо визначену форму до документа. + Натисніть кнопку засобу для вибору штампу зі спадного списку, потім наведіть вказівник миші на відповідне місце у документі і клацніть лівою кнопкою миші. + Одинарним клацанням можна вставити квадратний штамп (корисно для додавання піктограм). Щоб додати прямокутний штамп, ви можете натиснути ліву кнопку миші і розтягнути штамп, утримуючи її натиснутою, аж до нижнього правого кута. + Ви можете визначити Непрозорість та Символ штампа для штампа. Просто клацніть правою кнопкою миші на створеній піктограмі штампа і виберіть у контекстному меню пункт Властивості. + + Ця можливість є експериментальною. Нетипові штампи, які буде вставлено до документів &PDF; не можна буде бачити у засобах для читання &PDF;, відмінних від &okular;. + + + + + + + У &okular; передбачено набір типових анотацій. За допомогою сторінки «Анотації» діалогового вікна налаштовування програми ви можете додати власні анотації, зокрема нетипові штампи, позначення тексту або геометричні фігури із кольором заповнення для позначення областей у документі тощо. + + До тексту анотацій можна додавати код &latex;. Будь ласка, скористайтеся конструкцією $$код$$ у тексті анотації, де код — будь-яке коректне рівняння &latex;, і виконайте настанови на екрані, щоб код було відповідним чином оброблено встановленим у вашій системі дистрибутивом &latex;. + + Можна налаштувати вибраний інструмент за допомогою самої панелі анотацій: + + + + + Кнопка + Назва параметра + Опис + + + + + + + + + + + + + + + Товщина лінії + + + Натисніть цю кнопку для вибору товщини зі спадного списку. + + + + + + + + + / + + + + + + + Колір анотації + + + Натисніть кнопку засобу, щоб вибрати колір тексту або рамки вашої анотації. Ви можете вибрати один із кольорів стандартного набору або вибрати пункт Нетиповий колір..., щоб відкрити діалогове вікно вибору кольору. + + + + + + + + + + + + + + Колір заповнення анотації + + + Натисніть кнопку засобу, щоб вибрати колір заповнення вашої анотації. Ви можете вибрати один із кольорів стандартного набору або вибрати пункт Нетиповий колір..., щоб відкрити діалогове вікно вибору кольору. + + + + + + + + + + + + + + Непрозорість анотації + + + Натисніть кнопку засобу, щоб вибрати рівень непрозорості анотації зі спадного списку (100% — повністю непрозорі анотації). + + + + + + + + + + + + + + Шрифт анотації + + + Натисніть кнопку засобу для відкриття діалогового вікна вибору шрифту. + + + + + + + + + + + + + + Додаткові параметри поточного засобу анотування + + + Натисніть кнопку засобу для відкриття діалогового вікна загального налаштовування ваших анотацій. + + + + + + На типовій панелі анотування розташовано три додаткових допоміжних кнопки. + + + + + Кнопка + Опис + + + + + + + + + + + + + + + Додати поточну анотацію до меню Швидка анотація на головній панелі інструментів. + + Ви можете будь-коли скористатися типовими клавіатурними скороченням від &Alt;9 до &Alt;0 для вибору дій зі швидкого анотування, навіть якщо панель засобів анотування приховано. + + + + + + + + + + + + + + + Якщо позначено, лишати поточний засіб анотування активним після використання. + + + + + + + + + + + + + + Приховати панель анотування. + + + + + + Натисканням клавіші &Shift; ви можете обмежити крок кута нахилу прямої або сторони багатокутника 15°, а співвідношення сторін анотації-форми (наприклад прямокутника або еліпса) — значенням 1:1. Ви також можете створити відповідну кнопку панелі інструментів за допомогою пункту меню Налаштувати пенали.... + Вміст меню Швидка анотація можна налаштувати за допомогою сторінки «Анотації» діалогового вікна налаштовування &okular;. Відкрити цю сторінку можна клацанням кнопкою миші на кнопці Швидкі анотації із наступним вибором у контекстному меню пункту Налаштувати анотації.... + + Активація панелі рецензування перемкне програму у режим засобу навігації. + + Для того, щоб зупинити створення анотації, ви будь-коли можете знову натиснути кнопку на панелі рецензування, за допомогою якої ви створили цю анотацію, або натиснути клавішу &Esc;. + Автором новоствореної анотації буде особа, яку ви встановили на сторінці Особа у діалоговому вікні налаштування &okular;. Сторінкою Анотації також можна скористатися для налаштовування вмісту панелі анотування. + + + Як вилучити анотацію + Щоб вилучити анотацію, спочатку переконайтеся, що вибрано інструмент навігації (ІнструментиНавігація), наведіть на анотацію вказівник миші, клацніть правою кнопкою і виберіть у контекстному меню пункт Вилучити або позначте анотацію за допомогою клацання лівою кнопкою миші і натисніть клавішу ∇. + Після вилучення анотації її вікно, якщо його було відкрито, буде закрито. + + + Як змінити анотацію + Щоб змінити анотацію, спочатку переконайтеся, що вибрано інструмент навігації (ІнструментиНавігація), наведіть на анотацію вказівник миші, клацніть правою кнопкою миші і виберіть з контекстного меню пункт Властивості.... Буде відкрито діалогове вікно з загальними параметрами анотації (на зразок кольору і прозорості, імені автора тощо) і параметрами, специфічними для цього типу анотацій. + + Діалогове вікно властивостей анотації + + + + + + Діалогове вікно властивостей анотації + + + + Щоб пересунути анотацію, натисніть і утримуйте клавішу &Ctrl;, наведіть вказівник миші на анотацію, а потім почніть пересування анотації вказівником, утримуючи натиснутою ліву клавішу миші. + Якщо ви клацнете лівою кнопкою на анотації, її буде позначено. На прямокутній рамці позначення буде показано елементи керування розмірами. У відповідь на наведення вказівника миші на один із восьми елементів керування у кутах або на краях рамки, форму вказівника буде змінено так, щоб вона позначала режим зміни розмірів. Перетягніть анотацію за будь-яку її точку, щоб змінити розташування анотації. Щоб скасувати позначення анотації, натисніть клавішу &Esc; або наведіть вказівник миші на будь-яку точку зображення поза анотацією і клацніть лівою кнопкою миші. + Зміну розмірів можна застосувати лише до анотацій типів «Рядкова примітка», «Друкарська машинка», «Штамп» та «Еліпс». + + + Залежно від дозволів на зміну документа (це зокрема стосується документів &PDF;), деякі параметри може бути вимкнено. + + + + + Керування закладками + У &okular; передбачено дуже гнучку систему роботи з закладками. Програма &okular; здатна зберігати у закладці дані щодо позиції на сторінці, а також надає вам змогу визначати декілька закладок для однієї сторінки. + Керувати закладками у &okular; можна за допомогою допоміжної панелі Закладки бічної панелі, меню «Закладки» або контекстного меню документа (клацніть правою кнопкою миші на полі перегляду документа, щоб відкрити це меню). + + Панель закладок + Щоб відкрити допоміжну панель Закладки натисніть пункт вкладки Закладки у верхній частині бічної панелі. Якщо бічну панель не показано, скористайтеся пунктом головного меню F7 ПараметриПоказати бічну панель , щоб наказати програмі показати цю панель. + + Контекстне меню панелі закладок + + + + + + Контекстне меню панелі закладок + + + + Щоб було показано закладки лише з поточного документа, зніміть позначку з пункту Показати для усіх документів. + За допомогою рядка фільтрування, розташованого у верхній частині панелі Закладки, ви можете виконати фільтрування списку закладок за ключовим словом, введеняим до рядка. + За допомогою панелі списку закладок ви зможете переглянути ієрархічний список закладок: кожен пункт документа у списку теки можна «розгорнути» або «згорнути» натисканням кнопок з піктограмами < та v, розташованими поряд з її пунктом. + За допомогою контекстного меню пункту документа ви можете відкрити відповідний документ, перейменувати пункт або вилучити пункт документа зі списку. Пам’ятайте, що вилучення пункту документа призведе до вилучення всіх закладок у відповідному документі. + За допомогою контекстних меню окремих пунктів закладок ви можете перейти до відповідної закладки, перейменувати закладку або вилучити її. + Контекстним меню таблиці змісту (викликається клацанням правою кнопкою миші) можна скористатися для створення закладок або переходу до наступної чи попередньої закладки. + + + + + Параметри командного рядка + Хоча найчастіше &okular; запускається з меню програм &kde; або за допомогою піктограми стільниці, його також можна відкрити за допомогою командного рядка у вікні термінала. Існує декілька корисних параметрів, якими можна скористатися для такого способу запуску. + + Визначення файла + Визначення шляху або окремого файла користувач може наказати &okular; відкрити цей файл одразу після запуску. Цей параметр може виглядати так: + % okular + + + Для документів PDF адресу можна вказати у форматі назва_документа#іменоване_призначення, іменоване_призначення — певне іменоване призначення, вбудоване до документа. + + + + Інші параметри командного рядка + Для отримання довідки ви можете використовувати такі параметри командного рядка + + + okular + Відкрити у документі сторінку з вказаним номером. Також можна скористатися скороченою командою: okular + + + okular + Запустити документ в режимі презентації. + + + okular + Запустити програму з показаним діалоговим вікном друку. + + + okular + Запустити програму з показаним діалоговим вікном друку і завершити роботу після того, як друк буде завершено. + + + okular + Інструмент керування унікальністю сеансу. + + + okular + Надає змогу запобігти підняттю вікна &okular; над іншими вікнами після запуску. + + + okular + Намагається знайти і позначити рядок у документі. Працює, лише якщо команді okular передано як аргумент одну назву документа. + + + okular + Встановлює команду зовнішнього редактора. Встановити команду редактора у вже запущеному екземплярі &okular; не можна. Будь ласка, зауважте, якщо редактор визначено у командному рядку, ви не зможете скористатися параметром . + + + + + + Масштаб вікна за сторінкою + За допомогою пункту масштабування вікна за сторінкою, можна зробити розміри вікна такими, які збігаються із розмірами сторінки за поточного масштабу. Якщо сторінка не вміщається повністю у екран, вікно буде збільшено так, щоб у ньому було показано якомога більшу частину сторінки. + Доступ до цієї можливості можна отримати за допомогою клавіатурного скорочення &Ctrl;J. + + + + + Панель меню + + + Меню «Файл» + + + + &Ctrl;O Файл Відкрити... + + + Відкриває підтримуваний файл або архів документа &okular;. Якщо якийсь файл вже було раніше відкрито, його буде закрито. Докладнішу інформацію можна отримати з розділу щодо того, Як відкрити файл. + + + + + + Файл Відкрити недавні + + + Відкриває файл, який вже раніше було відкрито за допомогою підменю зі списком таких файлів. Якщо у програмі вже відкрито якийсь файл, його буде закрито. Щоб дізнатися більше, прочитайте розділ про те, як відкрити файл. + + + + + + Файл Імпортувати PostScript як &PDF;... + + + Відкрити файл &PostScript; і перетворити його на &PDF;. + + + + + + &Ctrl;T Файл Скасувати закриття вкладки + + + Повторно відкрити останній закритий документ. Цим пунктом можна скористатися, лише якщо ви закривали якийсь документ у вкладці протягом поточного сеансу. + + + + + + Файл Відкрити теку документа + + + Відкрити теку, у якій зберігається поточний документ у вашій улюбленій програмі для керування файлами. Цей пункт є особливо зручним у випадку, якщо ви отримали файл &PDF; з інтернету і відкрили його у &okular;. Розташування такого файла може бути невідомим, а визначити його без можливості відкрити відповідну теку може бути непросто. + + + + + + &Ctrl;S Файл Зберегти + + + Зберігає поточний відкритий файл з новою назвою із усіма змінами (анотаціями, вмістом форм тощо), якщо у модулі обробки документа передбачено збереження змін. Якщо у модулі не передбачено можливості зберігання змін, програма запропонує користувачеві або відкинути зміни, або зберегти зміни разом із документом до аріхву документа &okular;. + + + + + + &Ctrl;&Shift;S Файл Зберегти як... + + + Зберігає поточний відкритий файл із усіма змінами (анотаціями, вмістом форм тощо), якщо у модулі обробки документа передбачено збереження змін. Якщо у модулі не передбачено можливості зберігання змін, програма запропонує користувачеві або відкинути зміни, або зберегти зміни разом із документом до аріхву документа &okular;. + + Зауважте, що через спосіб, у який це все реалізовано, навіть якщо до файла не було внесено змін, новий файл може не бути абсолютною копією початкового файла (наприклад, мати іншу хеш-суму SHA-1 тощо). + + + + + + + F5 Файл Перезавантажити + + + Перезавантажує поточний відкритий файл. + + + + + + &Ctrl;P Файл Друкувати... + + + Надрукувати поточний позначений документ. Будь ласка, зауважте, що в &okular; передбачено деякі специфічні параметри для друку &PDF;, доступ до яких можна отримати, натиснувши кнопку Параметри +> +> і перейшовши до вкладки Параметри &PDF;. Скористайтеся цими параметрами, щоб надрукувати ваші анотації або налаштувати режим перетворення на растрове зображення, якщо у вас виникають проблеми із друком певних символів або є потреба у зміні режиму масштабування зображення. + + Доступ до режимів масштабування можна бути отримати, лише позначивши пункт Перетворити на растрове зображення. + + + + + + + Файл Перегляд друку... + + + Показує попередній перегляд того, як поточний показаний документ виглядатиме після друку, за умови застосування типових параметрів. + + + + + + &Alt;Enter Файл Властивості + + + Показує деяку базову інформацію щодо документа, зокрема, заголовок, автора, дату створення і подробиці про використані шрифти. Список відомостей залежить від типу документа. + + Будь ласка, зверніть увагу на дані щодо заміни шрифтів на вкладці Шрифти діалогового вікна Властивості. Багато проблем із показом текстових даних можна усунути встановленням замінених шрифтів. + + + + + + Файл Вбудовані файли... + + + Показує файли, вбудовані до документа, якщо такі файли є. Докладнішу інформацію можна знайти у розділі, присвяченому Вбудованим файлам. + + + + + + Файл Експортувати як + + + Під цим пунктом міститься список форматів, до яких можна експортувати поточний документ. Першим записом для документів усіх типів завжди є Звичайний текст.... + Другим пунктом є Архів з документом, за допомогою цього пункту ви можете зберегти документ з вашими анотаціями до специфічного для &okular; формату архіву. Таким чином, ви зможете передавати початковий документ з вашими анотаціями іншим користувачам &okular; або спільно з ними працювати над певним документом. + + + + + + Файл Оприлюднити + + + У цьому пункті меню міститься список служб, якими можна скористатися для того, щоб поділитися поточним документом із іншими людьми або надіслати його на пристрій для зберігання. Перелік записів визначається операційною системою. Він залежить від формату поточного документа та встановлених додатків KPurpose. + + + + + + &Ctrl;Q Файл Вийти + + + Завершує роботу &okular;. + + + + + + + Меню «Зміни» + + + + + &Ctrl;Z Зміни Вернути + + + Скасувати останню команду з редагування анотацій (створення та вилучення анотацій, редагування довільних властивостей анотацій, пересування анотацій за допомогою натискання &Ctrl; і перетягування вказівником миші та редагування текстового вмісту анотації). + + + + + + &Ctrl;&Shift;Z Зміни Повторити + + + Повторити останню скасовану дію з редагування анотацій. + + + + + + + + &Ctrl;C Зміни Копіювати + + + Копіює поточний обраний текст, якщо програма працює у режимі Вибору тексту, до буфера. + + + + + + + + &Ctrl;A Зміни Вибрати все + + + Вибирає весь текст (якщо такий текст є у документі). Ця можливість працює лише у режимі Вибір тексту. + + + + + + + + Зміни Позначити увесь текст на поточній сторінці + + + Позначає весь текст (якщо такий текст є у документі) на поточній сторінці. + + + + + + + + &Ctrl;F Зміни Знайти... + + + Показує панель пошуку, розташовану внизу області перегляду, за допомогою цієї панелі ви можете шукати певний рядок у документі. + + + + + + F3 Зміни Знайти далі + + + Здійснює спробу знайти рядок, який ви вже шукали далі за текстом документа. + + + + + + &Shift;F3 Зміни Знайти позаду + + + Переводить перегляд до попереднього випадку виявлення рядку пошуку у документі. + + + + + + + Меню «Перегляд» + + + + &Ctrl;&Shift;P Перегляд Презентація + + + Вмикає режим презентації. Докладніше про цей режим можна дізнатися з розділу про Режим презентації. + + + + + &Ctrl;&Shift;F Параметри Повноекранний режим + + + Вмикає повноекранний режим. Зауважте, що повноекранний режим відрізняється від режиму презентації, оскільки єдиною відмінністю повноекранного режиму від звичайного є те, що буде сховано обрамлення вікна, смужку меню і панель інструментів. + + + + + &Ctrl;+ Перегляд Збільшити + + + Збільшує розмір у області перегляду документа. + + + + + + &Ctrl;- Перегляд Зменшити + + + Зменшує розмір у області перегляду документа. + + + + + Перегляд Масштаб у 100% + + + Масштабує зображення документа до натурального розміру, який вказано у параметрах самого документа. + + + + + Перегляд Вмістити за шириною + + + Змінює розмір у області перегляду документа так, щоб ширина сторінок документа дорівнювала ширині області перегляду документа. + + + + + Перегляд Вмістити сторінку + + + Змінює розмір у області перегляду документа так, щоб завжди було показано принаймні одну цілу сторінку. + + + + + Перегляд Автомасштаб + + + Змінити масштаб показу документа так, щоб, залежно від співвідношення розмірів сторінки та області перегляду, зробити ширину сторінок рівною ширині області перегляду документа (подібно до варіанта «влаштувати ширину») зробити висоту сторінки рівною висоті області показу документа (подібно до варіанта «влаштувати висоту») або зробити усі сторінку видимою (подібно до варіанта «влаштувати сторінку»). + + + + + Перегляд Режим перегляду + + + У цьому підменю ви зможете обрати режим перегляду сторінок. Можливими варіантами є: Одна сторінка (лише по одній сторінці в рядок), Суміжні сторінки (дві сторінки поряд, схоже на книжку) Суміжні сторінки (перша сторінка у центрі) і Огляд (кількість стовпчиків можна буде визначити у параметрах &okular;). + Крім того, ви можете увімкнути Неперервний режим. У неперервному режимі буде показано одразу усі сторінки документа, і ви зможете здійснювати їхнє неперервне гортання. Якщо ж цей режим не буде увімкнено, одночасно буде показано лише одну сторінку (або один ряд сторінок). + + + + + Перегляд Орієнтація + + + За допомогою цього підменю ви зможете змінити орієнтацію сторінок документа. + + Поворот буде виконано для всіх сторінок документа. + + Щоб відновити початкову орієнтацію документа, відкинувши всі повороти визначені вручну, ви можете обрати пункт Початкова орієнтація. + + + + + Перегляд Обрізати перегляд + + + За допомогою цього підменю можна вилучити білі поля сторінок під час перегляду документів (пункт Обрізати поля) або обрізати поле перегляду до позначеної області (пункт Обрізати до позначеного). + За допомогою режиму «обрізати до позначеного» ви можете визначити область сторінки документа, яка буде видимою і застосовуватиметься до усіх сторінок документа. Якщо буде позначено малу область, програма примусово встановити мінімальний розмір області (20% від загального розміру сторінки). + Параметри режиму «обрізати поля» зберігаються між перезапусками &okular;. Параметри режиму «обрізати до позначеного» між перезапусками &okular; не зберігаються. + Під час перемикання &okular; з режиму «обрізати поля» до режиму «обрізати до позначеного», режим «обрізати поля» вимикається для уможливлення позначення області на цілій сторінці. + Режим обрізання можна вимкнути скориставшись ще раз тим самим пунктом меню, за допомогою якого його було увімкнено. + + + + + Перегляд Показати/Сховати форми + + + Показує або ховає з області показу поля форм документа. + + Цей пункт меню буде задіяно, лише якщо у поточному документі є поля форм. + + + + + + + + + Меню «Перехід» + + + + Перехід Попередня сторінка + + + Виводить попередню сторінку у область перегляду документа. + + + + + Перехід Наступна сторінка + + + Виводить наступну сторінку у область перегляду документа. + + + + + &Ctrl;Home Перехід Початок документа + + + Перейти на початок документа. + + + + + &Ctrl;End Перехід Кінець документа + + + Перейти до кінця документа. + + + + + &Alt;&Shift;←Перехід Назад + + + Виводить попередню переглянуту сторінку у область перегляду документа. + + + + + &Alt;&Shift;→ Перехід Вперед + + + Виводить наступну переглянуту сторінку у область перегляду документа. Ця дія працюватиме, лише якщо перед цим ви вже пересувалися назад документом. + + + + + &Ctrl;G Перехід Перейти до сторінки... + + + Відкриває діалогове вікно, за допомогою якого ви можете перевести область перегляду на будь-яку зі сторінок документа. + + + + + + + Меню «Закладки» + + + + &Ctrl;B Закладки Додати/Вилучити закладку + + + Додає або вилучає закладку у поточній позиції. + + + + + Закладки Перейменувати закладку + + + Перейменувати закладку у поточній позиції. + + + + + Закладки Попередня закладка + + + Переводить область перегляду до попередньої позиції, раніше позначеної закладкою, або нічого не робить, якщо перед поточною закладкою не було закладок. + + + + + Закладки Наступна закладка + + + Переводить область перегляду до наступної позиції, раніше позначеної закладкою, або нічого не робить, якщо за поточною закладкою немає закладок. + + + + + Закладки Немає закладок + + + Цей завжди вимкнений пункт з’являється у меню, лише якщо у поточному документі немає закладок. У іншому випадку замість нього буде показано список закладок. Наведення вказівника миші на записи цих закладок з наступним клацанням лівою кнопкою миші переведе область перегляду до відповідної позиції. + + + + + + + Меню «Інструменти» + + + + &Ctrl;1 Інструменти Навігація + + + У цьому режимі вказівник миші діятиме як звичайно: ліву кнопку можна буде використовувати для перетягування області перегляду, а праву кнопку для додавання закладок і вміщування за шириною. + + + + + &Ctrl;2 Інструменти Масштабувати + + + Вказівник миші діятиме як інструмент зміни розміру. Утримування натисненою лівої кнопки миші з наступним перетягуванням збільшить масштаб вибраної ділянки, а клацання правою кнопкою поверне документ до попереднього масштабу. + + + + + &Ctrl;3 Інструменти Вибір ділянки + + + Вказівник миші діятиме як інструмент вибору прямокутної ділянки. У такому режимі, утримування натиснутою лівої кнопки миші з наступним перетягування надасть вам змогу позначити прямокутну ділянку із можливістю копіювати текст або зображення до буфера та передати текст програмі для озвучення або зберегти зображення до файла. + + + + + &Ctrl;4 Інструменти Вибір тексту + + + Вказівник миші працюватиме як інструмент виділення тексту. У такому режимі утримування натиснутою лівої кнопки миші з наступним перетягування надасть вам змогу вибирати текст у документі. Після вибору ви зможете за допомогою клацання правою кнопкою миші копіювати текст до буфера або передати його програмі для озвучення. + + + + + &Ctrl;4 Інструменти Вибір таблиці + + + Намалюйте навколо таблиці прямокутник, потім скористайтеся клацанням лівою кнопкою миші для поділу текстового блоку на рядки і стовпчики. Повторне клацання лівою кнопкою на вже створеній лінії вилучить її і призведе до об’єднання сусідніх рядків або стовпчиків. Нарешті, просто клацніть правою кнопкою миші, щоб скопіювати таблицю до буфера обміну даними. + + + + + &Ctrl;6 Інструменти Збільшувальне скло + + + Вмикає режим збільшувального скла для вказівника миші. Натисніть і утримуйте ліву кнопку миші, щоб задіяти віджет збільшувального скла, пересуньте вказівник, щоб пересунути область збільшення документом. На панелі збільшувального скла кожен з пікселів у документі буде збільшено удесятеро. + + + + + F6 Інструменти Анотації + + + Відриває панель інструментів анотування. За допомогою панелі анотування ви можете додавати анотації до документа, який ви читаєте. Щоб дізнатися більше, будь ласка, ознайомтеся з розділом щодо анотацій. + + + + + Інструменти Підписати цифровим підписом… + + + Розпочати процедуру створення цифрового підпису. На цьому етапі передбачено підтримку додавання цифрових підписів лише до файлів PDF. Щоб дізнатися більше, будь ласка, зверніться до розділу Додавання цифрових підписів. + + + + + Інструменти Прочитати уголос весь документ + + + Інструменти Прочитати уголос поточну сторінку + + + Інструменти Зупинити читання + + + Інструменти Призупинити/Відновити читання уголос + + + За допомогою цих пунктів можна наказати комп’ютеру прочитати цілий документ або лише поточну сторінку (або припинити таке читання) за допомогою загальносистемного рушія синтезу мовлення з тексту. За роботу цього рушія відповідає бібліотека &Qt;, яка є обгорткою до speech-dispatcher у &Linux; і керує системами синтезу мовлення на інших платформах. Вибрати поточний голос озвучування можна за допомогою сторінки налаштувань Доступність вікна налаштовування &okular;. + Дії Прочитати уголос... буде увімкнено, лише якщо у системі буде встановлено службу синтезу мовлення з тексту. + + + + + + + Меню «Параметри» і «Довідка» + Окрім типових для &kde; пунктів меню Параметри і Довідка, описаних у розділі щодо меню підручника з основ роботи у &kde;, у &okular; передбачено такі додаткові пункти: + + + + F7 Параметри Показати бічну панель + + + Показує або приховує бічну панель. + + + + + Параметри Показати панель сторінок + + + Увімкнути або вимкнути показ панелі сторінок у нижній частині області показу документа з метою належного використання вертикального простору у вікні &okular;. Зауважте, що номер поточної сторінки все одно буде показано на типовій панелі інструментів. + + + + + Параметри Налаштувати модулі обробки... + + + Відкриває діалогове вікно Налаштування модулів обробки. + + + + + + + + Налаштовування модулів &okular; + Ви можете налаштувати модулі &okular; за допомогою пункту меню Параметри Налаштувати модулі.... У поточній версії передбачено налаштовування лише модулів EPub, &PostScript;, FictionBook, TXT, ODT і &PDF;. + + Діалогове вікно налаштовування модулів + + + + + + Діалогове вікно налаштовування модулів + + + + За допомогою сторінок налаштовування модулів EPub, FictionBook, Mobipocket, Markdown, TXT та ODT ви можете визначити шрифт, яким буде показано документи у відповідних форматах. За допомогою кнопки Вибрати... на цих сторінках можна відкрити стандартне вікно налаштування шрифтів &kde;. Докладніший його опис можна знайти у документації щодо основ роботи у &kde;. + Опис сторінок налаштування Markdown, &PostScript; і &PDF; наведено нижче. + + Налаштовування модуля Markdown + Налаштувати модуль показу &PDF; &okular;, заснований на Dicsount, вибором пункту Markdown зі списку у лівій частині діалогового вікна налаштовування. Нижче описано додатковий параметр налаштувань. + + + + + Увімкнути форматування SmartyPants + + + Якщо позначено, цей пункт уможливлює обробку в &okular; форматування SmartyPants. Таке форматування може призводити до проблем у технічних текстах через небажані заміни (наприклад, заміну (C) на символ захисту авторських прав). Типово цей пункт позначено. + + + + + + + Налаштовування модуля &PostScript; + Налаштувати модуль показу &PostScript; &okular;, заснований на Ghostscript, вибором пункту Ghostscript зі списку у лівій частині діалогового вікна налаштовування. Нижче описано єдиний доступний до налаштовування параметр. + + + + + Використовувати шрифти платформи + + + За допомогою цього пункту можна визначити, чи слід дозволяти Ghostscript використовувати системні шрифти, якщо пункт не буде позначено, дозволятиметься лише використання шрифтів, вбудованих у сам документ. Типово цей пункт позначено. + + + + + + + Налаштовування модуля &PDF; + Налаштувати модуль показу &PDF; &okular;, заснований на Poppler, вибором пункту &PDF; зі списку у лівій частині діалогового вікна налаштовування. Нижче описано єдиний доступний до налаштовування параметр. + + + + + Покращення тонких ліній + + + Малювання ліній у &okular; відбувається у два кроки: створення контуру-обгортки та заповнення цього контуру обгортки. Якщо лінія у початковому документі є вужчою за один піксель на екрані, така двокрокова реалізація може призвести до проблеми. Для таки тонких ліній контур-обгортка заповнюється кольором, що залежить від товщини частини лінії у огорнутій ним області. Якщо частина ліній у контурі-обгортці є дуже малою, контрастність між формою лінії та кольором тла може стати надто малою для розпізнавання лінії на екрані. Вигляд сіток з таких ліній може стати дуже непривабливим. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Тонка лінія (червоним), її контур-обгортка (пунктирна лінія) та межі пікселів (чорні суцільні лінії) + Тонка лінія з низькою контрастністю + + + + + Щоб покращити вигляд тонких ліній, у &okular; реалізовано два варіанти обробки. + Перший варіант визначається пунктом Суцільні. Якщо буде вибрано цей варіант, &okular; вирівнює контур-обгортку та розташування лінії на межу пікселя, тобто &okular; розширює тонкі лінії до одного пікселя на екрані. Цей режим подібний до режиму Enhance thin lines у Adobe Reader. Якщо буде вибрано цей варіант, програма завжди розширюватиме тонкі лінії. + + + + + + + + Тонка лінія за використання режиму покращення Суцільні + + + Тонка лінія за використання режиму покращення Суцільні + + + + + Іншим варіантом є пункт Надати форму. Якщо буде вибрано цей пункт, контур-обгортка та лінія також вирівнюватимуться на межу пікселя, але інтенсивність кольору лінії буде виправлено відповідно до її товщини. + + + + + + + + Тонка лінія за використання режиму покращення Надати форму + + + Тонка лінія за використання режиму покращення Надати форму + + + + + Типово, показ тонких ліній не покращуватиметься (варіант Без оптимізації). + + + + + + Сертифікати цифрових підписів &PDF; + + За допомогою цього розділу ви можете встановити нетипову базу даних сертифікатів, якими можна скористатися для додавання цифрових підписів до файлів &PDF;. + Тут також буде показано список сертифікатів, які є доступними у поточній базі даних сертифікатів (якщо такі сертифікати зберігаються на комп'ютері). + + + + + Налаштовування &okular; + + Загальні налаштування + Ви можете налаштувати &okular; за допомогою пункту меню Параметри Налаштувати &okular;.... Діалогове вікно налаштування поділене на шість розділів. У цьому розділі підручника докладно описано доступні для зміни параметри. + + + Загальне + + + Доступність + + + Швидкодія + + + Презентація + + + Анотації + + + Редактор + + + + Діалогове вікно налаштування + + + + + + Діалогове вікно налаштування + + + + Залежно від встановлених модулів обробки, може бути задіяно пункт меню Параметри Налаштувати модулі обробки.... У діалоговому вікні, яке можна відкрити за допомогою цього пункту, можна налаштувати модулі обробки, які піддаються налаштуванню. + + + Загальні + + + Використовувати плавне гортання + + Визначає, чи слід показувати анімовані переходи при гортанні за допомогою коліщатка миші або клавіатури. + + + + Показати смужки гортання + + Визначає, чи слід показувати смужки гортання у області перегляду документа. + + + + Зв'язати мініатюри зі сторінкою + + Визначає, чи слід у перегляді мініатюр завжди показувати поточну сторінку. + + + + Показувати підказки та інформаційні повідомлення + + Визначає, чи слід показувати деякі інформаційні повідомлення під час запуску, завантаження файла тощо. + + + + Сповіщати про вбудовані файли, форми або підписи + + Визначає, чи слід показувати інформаційні панелі із повідомленнями про вбудовані файли, форми або підписи тощо. + + + + Показувати заголовок документа на смужці заголовка вікна, якщо можна + + Визначає, чи слід показувати заголовок поточного документа у смужці заголовка вікна &okular;. Якщо метаданих щодо заголовка у документі не буде знайдено, або не буде позначено цей пункт, &okular; показуватиме у смужці заголовка назву файла документа. + + + + Якщо не показано заголовок документа + + Ви можете вибрати будь-який з варіантів: Показувати лише назву файла або Показувати шлях до документа повністю. + + + + Нетиповий колір тла + + Вмикає вибір кольору тла документа (кольору частини інтерфейсу навколо показаної сторінки). Типово, якщо цей пункт не позначено, використовується колір набору бібліотек &Qt;. + + + + Відкривати нові файли у вкладках + + Визначає, чи слід відкривати нові документи у вкладках. Типово, вкладки вимкнено. + Типовими клавіатурними скороченнями для перемиканням між вкладками є &Ctrl;. (Наступна вкладка) і &Ctrl;, (Попередня вкладка). + + + + Перемкнутися на наявну вкладку, якщо файл вже відкрито + + Визначає, чи має &okular; перемикатися на вкладу, якщо файл вже відкрито, замість відкриття нової вкладки. Цей пункт типово позначено. Перемикати позначення можна, лише якщо позначено пункт Відкривати нові файли у вкладках. + + + + Дотримуватись обмежень DRM + + Визначає, чи слід &okular; дотримуватися обмежень DRM (Digital Rights Management). Обмеження DRM використовуються, щоб зробити неможливим виконання певних дій з документами &PDF;, наприклад, копіювання вмісту до буфера. Зауважте, що у деяких варіантах &okular; цього пункту взагалі не буде. + + + + У разі зміни документа перезавантажити документ + + Визначає, чи слід автоматично перевіряти на оновлення і оновлювати за потреби відкриті файли. + + + + Показати вікно вибору модуля обробки + + Визначає, чи слід &okular; запитувати у користувача, який з модулів обробки слід використовувати у випадку, якщо для відкриття поточного файла можна використати декілька таких засобів. Якщо цей параметр не буде позначено, &okular; використовуватиме засіб з найбільшим пріоритетом. + + + + Напрям читання справа ліворуч + + Визначає, чи слід типово використовувати напрям читання справа ліворуч для відкритих файлів. Може бути корисним для читання деяких систем писемності. + + + + Типово відкривати у неперервному режимі + + Визначає, чи слід типово використовувати неперервний режим перегляду. У неперервному режимі буде показано одразу усі сторінки документа, і ви зможете здійснювати їхнє неперервне гортання. Якщо ж цей режим не буде увімкнено, одночасно буде показано лише одну сторінку (або один ряд сторінок). + + + + При використанні засобу навігації завертати вказівник на краях екрана + + Уможливлює нескінченне гортання усім документом за допомогою засобу навігації. Якщо позначено, вказівник миші завертатиметься до протилежного краю екрана, коли торкатиметься меж при перетягуванні вмісту документа. Підтримку цієї можливості передбачено лише при використанні графічного сервера X11. + + + + Колонки огляду + + Цей параметр визначає кількість колонок у режимі огляду. + + + + Перекриття Page Up/Down + + За допомогою цього пункту можна визначити розміри поточної області перегляду, яка залишиться видимою після натискання клавіш Page Up і Page Down. + + + + Типовий масштаб + + За допомогою цього пункту можна визначити типовий режим масштабування даних у файлі, який ще не відкривався у програмі. До файлів, які вже відкривалися у минулому, буде застосовано попередні параметри масштабування. + + + + + + Доступність + + + Малювати рамки навколо посилань + + Визначає, чи слід малювати рамку навколо посилань. + + + + Змінити кольори + + Вмикає параметри зміни кольорів. + + + + Режим кольорів + + Визначає режим зміни кольорів. + + + Інвертувати кольори + + Інвертує кольори у області перегляду, тобто, наприклад, чорні об’єкти стануть білими. + + + + Змінити колір паперу + + Змінює колір паперу, тобто тло документа. + Колір можна вибрати за допомогою панелі Колір паперу, розташованої нижче. + + + + Змінити темні і світлі кольори + + Змінює темні і світлі кольори на бажані, тобто чорний вже не показуватиметься чорним, а показуватиметься іншим темним кольором, а білий не показуватиметься білим, а показуватиметься іншим світлим кольором. + + + + Перетворити на чорно-біле + + Перетворює документ на чорно-білий. Ви можете встановити порогове значення і контрастність. Встановлення вищого порогового значення пересуванням повзунка праворуч призведе до використання світліших відтінків сірого. + + + + Інвертувати освітленість + + Інвертує освітленість усіх кольорів. Світлі і темні кольори поміняються місцями, але відтінок і насиченість залишаться незмінними. Контрастність зображень, зазвичай, буде гіршою, ніж якщо використано Інвертувати яскравість (лінійний sRGB). + + + + Інвертувати яскравість (лінійний sRGB) + + Інвертує освітленість усіх кольорів. Світлі і темні кольори поміняються місцями, але відтінок і насиченість залишаться незмінними. Контрастність зображень зберігатиметься ліпше за випадок використання варіанта Інвертувати освітленість, але графіка і кольорова розмітка тексту, зазвичай виглядатимуть гірше. Використовує коефіцієнти освітленості sRGB, але без виправлення гамми. + + + + Інвертувати яскравість (симетрично) + + Інвертує яскравість усіх кольорів із використанням коефіцієнтів симетричної яскравості. Світлі і темні кольори поміняються місцями, але відтінок і насиченість лишаться незмінними. Цей варіант дуже подібний до варіанта Інвертувати освітленість, але контрастність у деяких випадках буде ліпшою. + + + + Додатний зсув відтінка + + Зсуває відтінок усіх кольорів на 120 градусів. Може усунути деякі проблеми із контрастністю у кольоровій графіці. + + + + Від'ємний зсув відтінка + + Зсуває відтінок усіх кольорів на 240 градусів. Може усунути деякі проблеми із контрастністю у кольоровій графіці. + + + + Налаштувати клавіатурні скорочення та кнопки панелі інструментів для режимів кольорів можна за допомогою відповідних пунктів меню Параметри головного вікна &okular;. + + + + Рушій синтезу мовлення з тексту + + Надає вам змогу вибрати рушій озвучування тексту (TTS), який буде використано у &okular;. Типовим є speechd, але ви можете скористатися будь-яким + + + + Диктор синтезу мовлення з тексту + + Надає вам змогу вибрати диктора для озвучування тексту. Цього диктора буде використано у &okular;. Ви можете скористатися будь-яким, залежно від доступних синтезаторів мовлення на вашій платформі. У &Linux;, для визначення доступних голосів озвучування використовується speech-dispatcher. + + + + + + Швидкодія + + + Увімкнути ефекти прозорості + + Визначає, чи слід малювати позначення вибору і інші спеціальні графічні елементи з використання ефектів прозорості. Вимикання цього параметра призведе до малювання цих ефектів у вигляді контурів або суцільного заповнення і збільшить швидкість програми під час виділення. + + + + Використання пам'яті + + Швидкодію &okular; можна покращити налаштуванням використання пам’яті, на основі можливостей вашої системи і ваших уподобань. Чим більше пам’яті ви надасте програмі, тим швидшою вона буде. Типовий профіль годиться для всіх систем, але ви можете заборонити &okular; використовувати більше пам’яті ніж потрібно, якщо виберете профіль «Низьке», або надати програмі можливість брати від системи все можливе, якщо виберете профіль «Агресивне». Скористайтеся профілем «Жадібне», якщо слід попередньо завантажити всі сторінки без ризику переповнення пам’яті (буде використано лише 50% загального обсягу пам’яті або загального обсягу вільної пам’яті). + + + + Параметри візуалізації + + За допомогою цієї групи параметрів ви можете покращити показ тексту і зображень у &okular;. Результат залежатиме від характеристик пристрою, на якому буде показано зображення. За допомогою пунктів Увімкнути згладжування тексту і Увімкнути згладжування зображень ви можете увімкнути або вимкнути просторове згладжування тексту та зображень відповідно. Пункт Увімкнути гінтінґ тексту можна вмикати або вимикати гінтінґ шрифтів. Згладжування і гінтінґ змінюють характеристики показу документів, ви можете вмикати або вимикати їх з метою досягнення найкращих характеристик показу. + + + + + + Презентація + + + Прокручувати вперед кожні + + Вмикає автоматичний перехід до наступної сторінки за визначений проміжок часу. + + + + Після закінчення — починати спочатку + + Після досягнення останньої сторінки у режимі презентації програма переходитиме до першої сторінки. + + + + Сенсорна навігація + + Надає вам змогу скоригувати параметри сенсорної навігації за допомогою торкання екрана у режимі презентації. Передбачено три варіанти навігації: + + + Торкання на лівому або правому краю для переходів назад-вперед: торкання на лівій (правій) половині екрана призводить до переходу у презентації до попереднього (наступного) слайда. + + + Торкання будь-де для переходу вперед (типовий варіант): торкання до екрана призводить до переходу у презентації до наступного слайда, байдуже, якої частини екрана ви торкнулися. + + + Вимкнено: торкання екрана не призводитиме до зміни слайда. + + + + + + Колір тла + + Колір, яким буде показано частину екрана, не зайняту сторінкою у режимі презентації. + + + + Курсор мишки + + Визначає, чи слід завжди приховувати вказівник миші, завжди його показувати або ховати після деякого проміжку, протягом якого він залишається нерухомим. + + + + Показувати індикатор поступу + + Визначає, чи слід показувати індикатор поступу, який показує поточну сторінку і загальну кількість сторінок у верхньому правому куті екрана презентації під час кожної зміни сторінки. + + + + Показати сторінку резюме + + Визначає, чи слід показувати сторінку резюме на початку презентації, де буде вказано заголовок, автора і кількість сторінок у документі. + + + + Увімкнути переходи + + Цим пунктом можна скористатися для вмикання або вимикання ефектів переходу між сторінками. + + + + Типовий перехід + + Визначає ефект, який використовуватиметься під час переходу між сторінками, якщо такий ефект не визначено документом. Встановіть значення Випадковий перехід, щоб &okular; міг вибирати випадковим чином один з наявних ефектів. + + + + Розташування + + У цьому розділі ви можете обрати Екран, який буде використано для презентації. + Поточний екран — це той же екран, на якому ви бачите вікно &okular;, з якого запускаєте режим презентації. + Типовий екран — це екран, позначений як типовий у налаштуваннях xinerama. + Екран 0, Екран 1 тощо — це доступні екрани. + + + + Налаштовування засобу малювання + + Визначає колір олівця, який буде використано для малювання на сторінках під час режиму презентації. + + + + + + Анотації + + Сторінка «Анотації» у діалоговому вікні налаштовування модулів + + + + + + Сторінка «Анотації» у діалоговому вікні налаштовування модулів + + + + + + Панель інструментів анотування + + Уможливлює перемикання між режимом Повна панель анотування (типова панель інструментів у верхній частині вікна &okular;) і режимом Панель пришвидшеного анотування (панель інструментів із вашими улюбленими інструментами праворуч від панелі документа). + + + + Автор + + Автор частини доданої до документа. Типово, буде використано ім’я зі сторінки Пароль і обліковий запис користувача модуля Параметри облікового запису. + + + + Інструменти анотації + + За допомогою цієї панелі можна налаштувати вашу панель анотування. + Для налаштовування панелі передбачено п’ять кнопок (Додати, Змінити, Вилучити, Пересунути вгору, Пересунути вниз) та список (у якому перелічено вміст поточної панелі інструментів анотування). + Якщо вам потрібно додати якусь кнопку інструмента на панель, натисніть кнопку Додати. Ви можете вибрати Назву, Тип та Вигляд кнопки інструмента, яку ви створюєте. + + Пам’ятайте, що інструменти анотування у &okular; є дуже гнучкими у налаштуванні. Наприклад, ви можете створити дві кнопки одного інструмента з різними кольорами. Можете поекспериментувати і вибрати той набір кнопок, який точно відповідає вашим звичкам у роботі. + + Клацніть на пункті у списку, а потім натисніть відповідну кнопку у правій частині сторінки, щоб змінити, вилучити, пересунути кнопку інструмента вгору чи вниз. Клавіатурне скорочення для інструмента (клавіші від 1 до 9) залежатиме від його позиції у списку панелі анотування. + + + + Використання нетипових штампів + + + Створіть піктограму, якою ви хочете скористатися як зображенням вашого штампа і збережіть зображення у будь-якому форматі, підтримку якого передбачено у &okular; + Натисніть кнопку Додати, виберіть тип Штамп і введіть назву вашого штампа. + Вкажіть шлях до нетипової піктограми повністю у спадному списку групи Символ штампа. + + + + + + + Редактор + + + Редактор + + Тут можна обрати редактор, який ви бажаєте запустити, коли &okular; потрібно буде відкрити файл джерела. Ця можливість з’явиться, якщо у документі є посилання на певні елементи (зазвичай, номери рядка і стовпчика) коду, з якого цей документ було створено. У файл формату &DVI; вбудовано підтримку додавання відомостей про код документа LaTeX, з якого було створено. Подібна система існує і для документів &PDF;, вона називається pdfsync, за її використання, дані зберігаються у зовнішньому файлі з назвою, що відповідає назві самого файла &PDF; (наприклад мій_документ.pdfsync для файла мій_документ.pdf). + &okular; позначається з наборами параметрів, що відповідають таким редакторам: &kate;, Kile, SciTE, клієнту &Emacs;, клієнту LyX, TeXstudio та TeXiFy IDEA. + + Щоб скористатися зворотним пошуком у Kile, вам слід компілювати ваш файл &latex; з використанням Сучасних налаштувань. + + + + + Команда + + Тут слід вказати команду для виклику обраного редактора файлів джерела поточного документа і її параметри. + Це поле буде заповнено автоматично, якщо ви виберете один з відомих програмі редакторів. Якщо ваш редактор невідомий програмі, будь ласка, виберіть пункт Нетиповий текстовий редактор у спадному списку Редактор і скористайтеся документацією з вашого улюбленого редактора, щоб вказати належну команду. + Можна використовувати такі замінники: + + + %f — замість назви файла; + + + %l — замість рядка у файлі, до якого слід перейти; + + + %c — замість позиції у рядку, до якої слід перейти. + + + Якщо %f не буде вказано, до відповідної команди буде додано назву поточного документа. + + + + + + + Подяки і ліцензія + + + Авторські права на програму: + &Albert.Astals.Cid; &Albert.Astals.Cid.mail; — поточний супровідник + Pino Toscano pino@kde.org + Enrico Ros eros.kde@email.it — розробник &kpdf; + + + + Авторські права на документацію: + &Albert.Astals.Cid; &Albert.Astals.Cid.mail; — автор + Titus Laska titus.laska@gmx.de — деякі оновлення і доповнення + Pino Toscano pino@kde.org + + Переклад українською: Юрій Чорноіван yurchor@ukr.net &underFDL; &underGPL; + + &documentation.index; +
    + + + diff --git a/po/uk/docs/okular/mainwindow.png b/po/uk/docs/okular/mainwindow.png new file mode 100644 index 0000000000000000000000000000000000000000..4e9eccbb29ae95c506f8f122cc88e19f47ad4b95 GIT binary patch literal 30048 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 K?Tv>0gZ~c_V28p0 literal 0 HcmV?d00001 diff --git a/po/uk/docs/okular/man-okular.1.docbook b/po/uk/docs/okular/man-okular.1.docbook new file mode 100644 index 0000000..da9c97f --- /dev/null +++ b/po/uk/docs/okular/man-okular.1.docbook @@ -0,0 +1,250 @@ + + +]> + + + + +Інструкція користувача Okular +ЮрійЧорноіван Сторінка man Okular. yurchor@ukr.net +19 лютого 2022 року +Okular 22.04 +KDE Gear + + + +okular +1 + + + +okular +універсальний переглядач документів + + + +okular параметри Okular адреса + + + +Опис +okular призначено для показу документів у різних форматах. + + + +Параметри Okular + + + + + +Відкрити у документі вказану сторінку. + + + + + + +Запустити документ в режимі презентації. + + + + + + +Запустити програму з показаним діалоговим вікном друку. + + + + + + +Запустити програму з показаним діалоговим вікном друку і завершити роботу після того, як друк буде завершено. + + + + + + +Інструмент керування унікальністю сеансу. + + + + + + +Надає змогу запобігти підняттю вікна Okular над іншими вікнами після запуску. + + + + + + +Намагається знайти і позначити рядок у документі. Працює, лише якщо команді okular передано як аргумент одну назву документа. + + + + + + +Встановлює команду зовнішнього редактора. Встановити команду редактора у вже запущеному екземплярі Okular не можна. Будь ласка, зауважте, якщо редактор визначено у командному рядку, ви не зможете скористатися параметром . + + + + + +Аргументи + + + + +Адреса документа, який слід відкрити. Для PDF цю адресу можна вказати у форматі назва_документа#іменоване_призначення, іменоване_призначення — певне іменоване призначення, вбудоване до документа. + + + + + +Зворотній зв’язок +За допомогою IRC: irc.libera.chat #okular або за допомогою електронної пошти: okular-devel@kde.org або за допомогою сторінки у інтернеті: <https://okular.kde.org/> + + + +Також прочитайте + +Докладніша документація для користувачів доступна у help:/okular (введіть цю адресу у поле адреси &konqueror; або віддайте команду khelpcenter help:/okular). +kf6options(7) +qt6options(7) +Докладніші відомості можна знайти на сайті https://okular.kde.org/ + + + +Авторські права +© Wilco Greven, Christophe Devriese, 2002 +© Enrico Ros, 2004–2005 +© Piotr Szymanski, 2005 +© Albert Astals Cid, 2004–2012 +© Pino Toscano, 2006–2009 +Умови ліцензування: GNU General Public License, версія 2 <https://www.gnu.org/licenses/gpl-2.0.html> + + + diff --git a/po/uk/docs/okular/signatures-bar.png b/po/uk/docs/okular/signatures-bar.png new file mode 100644 index 0000000000000000000000000000000000000000..3d3ea9202d7fa70b7f0529ae050f67ae0849521c GIT binary patch literal 2583 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

    ;4Ad9vWf;D@9PgdEaK4B_m@mL^!GSOIBL&*XQ_ zw)9Wt5s_-&He7Wgtv~FR_Ni`4C z>B~Z+jw)TlBlBG-Mua;j6 zw&8HSmDnF6da|9Id#Z+`?t$=#JrhyuD;i=Zdm#d@%lW&@tO%AhnXNL66|%}o(7UNj zH(w>(;MnqJ&v)Qn@a+_~9EsW8=8^VvGM4tU+o*A5Tke8MA0!^52_%gdz|a*2S8B^U z-;K;9o}i`njl9M>t=TY_V~iEdlFXeGIMe(}Z%i4ue#6o-Q9AHPLT!KX^!$$ZNEEWI zLunNn1@+nv*)}Wz{`}SOK;^KxpM*L|+0NR5EtZu_?uMt|FF7mw&wP8Kno7)VEU`9H z&v5A6YMw|ZE^iq7E)1x0uA-{JH0Bsid!0c`#AS(k`BWt>olImL> zf8GUKa(&5A0jFs0Z!orsEED!}^zhhPx6uKtxxSvqGGvR-mM0f={7t7=oK|N8+LfwL zO-i!i?+E*#B9~OI;akDc#ogvty;ArrE+0czVnbpYe8XaSFtHPs+!oGLNJpKR@H5fKSBkiPrGq#6#cJm z#QW0M&v&1oGymzt|Fr0VQ2qd@4)xyO((J$yF8CEg+Si>-kJg>OGQA?}2(jg9W_$EC z=KG~Ov1TO~=kxM=x>CvYdH^3WVVw(qyCaUWy?@U0ZwcnSoWzGML;_jwXw9{56IO`; z!a?5&;tx4oJXkX|eIAs27Z#3`_1rw$^43x;ZcG*((AyY%yPm;XE2PA3`mJvA+gJ~8 z*0;gbLVM7l_%Yx4D@iK+&AmZSb&)fPn*z>$&*C-Nj1T5u_AP(Z!Z#@qEgD)T=e9gki3d)H%tI-on3!f3teb!VsX(Dl6q*kWS}w z29P!TW7<|8s}^80LA@Bgz_cD=$$*~&?SZa*SzQUWJJZOf!& zvsS*d*>3dmjdzUzyC}J5-)Du=-_LyFSWJUfS^$$3c*RFRusjLE#)cNQZ=$9m&~t!D zEQ*pEB?~;`33-h@cl~Sw1Bwq&X&!kCOtx9sgphq4iLH1y)8-QDLe;fRypjD+As?2A zI30Ty=Dy5(OB{N*Krw9pFE=9RWt zEoU3+9WP~janWP~<5Et4rYy5FX$78_0TXoEt*svGN_coEAO^w74p;~d0Qqlpe3%z8 zU;U;4_Bo3ky{iesc?OZ|Zvc!1P){7I_xh?R+T5vB4J$Ekh2Tz65IDul;8P6cIK`H* zQ#5Zq#nXT=%s*lOH}gMC{4Zhu^NRl^@qY_Dm0BwL|I+&3X8wQwNLU+U!+(tWk0<}F zW5hAw&s%3M#Epzk(A9NKCeaK;oPc_)z;S)s?T#1Kr)LTtb;~k)!Tk|#_b{@}cF=+K v?2b2Sd}U|MdA1_Xu#cZ2#6cXKq-lm_8L8, 2003, 2006. +# Eugene Onischenko , 2004, 2005. +# Ivan Petrouchtchak , 2004, 2005, 2006, 2007, 2008. +# Yuri Chornoivan , 2008-2021, 2022, 2023, 2024, 2025. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-11-16 15:58+0200\n" +"Last-Translator: Yuri Chornoivan \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 23.04.3\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"n%10<=4 && (n%100<10 || n%100>=20) ? 1: 2);\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Andriy Rysin,Іван Петрущак,Юрій Чорноіван" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "rysin@kde.org,ivanpetrouchtchak@yahoo.com,yurchor@ukr.net" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Okular, універсальний переглядач документів" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"© Wilco Greven, Christophe Devriese, 2002\n" +"© Enrico Ros, 2004–2005\n" +"© Piotr Szymanski, 2005\n" +"© Albert Astals Cid, 2004–2017\n" +"© Pino Toscano, 2006–2009" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "Попередній супроводжувач" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "" +"Багато попрацював над основою, а також модулем обробки FictionBook та " +"колишнім модулем обробки ODT" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "Розробник" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymanski" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "Створив Okular на базі коду KPDF" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "Enrico Ros" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "Розробник KPDF" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "Eugene Trounev" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "Дизайн анотацій" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "Jiri Baum — NICTA" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "Засіб позначення у таблицях та колонках" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "Fabio D'Urso" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "Покращення у роботі з анотаціями" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "Перейти до сторінки %1" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "Відкрити зовнішній файл" + +#: core/action.cpp:197 +#, kde-format +msgid "Execute '%1'…" +msgstr "Виконати «%1»…" + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "Перша сторінка" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "Попередня сторінка" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "Наступна сторінка" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "Остання сторінка" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "Назад" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "Вперед" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Вийти" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "Почати презентацію" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "Закінчити презентацію" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "Знайти…" + +#: core/action.cpp:314 +#, kde-format +msgid "Go To Page…" +msgstr "Перейти до сторінки…" + +#: core/action.cpp:365 +#, kde-format +msgid "Play sound…" +msgstr "Відтворити звук…" + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "Скрипт на JavaScript" + +#: core/action.cpp:483 +#, kde-format +msgid "Play movie…" +msgstr "Відтворити відео" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "Відтворити відео" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "Зупинити відтворення" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "Призупинити відтворення" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "Поновити відтворення" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "Цю версію Okular зібрано без підтримки звуку" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "Вибір модуля обробки" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
    %1 (%2).

    Please select which one to use:
    " +msgstr "" +"Знайдено більше, ніж один модуль обробки для типу MIME:
    %1 " +"(%2).

    Будь ласка, виберіть, який з них використовувати:
    " + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "Більшість сторінок має розмір %1." + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "Книжкова %1" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "Альбомна %1" + +#: core/document.cpp:246 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 ⨯ %2 дюйм (%3)" + +#: core/document.cpp:248 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 x %2 мм (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "Продовжуємо пошук з початку" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "Продовжуємо пошук з кінця" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "" +"Не вдалося знайти додаток для обробки цього документа, який передано " +"програмі." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "Для цього типу документів підписування не реалізовано" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "вилучити анотації" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"Документ намагається запустити зовнішню програму, а Okular цього не дозволяє " +"з причин безпеки." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "Не знайдено програми для відкриття файли з типом MIME %1." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "Не вдалося відкрити тимчасовий файл" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "Помилка перетворення даних для друку" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "Процес друку завершив роботу у аварійному режимі" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "Не вдалося розпочати процес друку" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "Помилка під час друку до файла" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "Принтер перебував у некоректному стані" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "Не вдалося знайти файл для друку" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "Не виявлено файла для друку" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"Не вдалося знайти відповідну програму для друку. Переконайтеся, що у системі " +"належним чином встановлено програму lpr зі складу комплексу CUPS." + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "Друкований розмір сторінки є некоректним" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "Не вдалося відкрити «%1». Вказаного файла не існує." + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Заголовок" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Тема" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Опис" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "Автор" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Створено у" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Виготовлено" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "Авторські права" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "Сторінок" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Дата створення" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Змінено" + +#: core/document.cpp:6032 +#, kde-format +msgid "MIME Type" +msgstr "Тип MIME" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "Категорія" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Ключові слова" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "Шлях до файла" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "Розмір файла" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "Розмір сторінки" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "додати анотацію" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "вилучити анотацію" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "змінити властивості анотації" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "пересунути анотацію" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "скоригувати анотацію" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "редагувати текст" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "редагувати вміст анотації" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "редагувати вміст форми" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "редагувати список вибору у формі" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "редагувати вибір зі спадного списку у формі" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "редагувати стани кнопок у формі" + +#: core/generator.cpp:790 +#, kde-format +msgid "Plain &Text…" +msgstr "Звичайний &текст…" + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "Текстовий документ ODT" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "Параметри друку" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "Розмір за друкованою ділянкою" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "Розмір за усією сторінкою" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "Режим масштабування:" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "Більше не показувати це повідомлення" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "Немає доступу" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" +"Внутрішня помилка під час підписування. Будь ласка, повідомте про ваду і " +"надайте кроки для її відтворення. Код помилки %1" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "Не вдалося підписати документ: %1" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "Підписування скасовано користувачем" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "Не вдалося підписати. Помилковий пароль" + +#: core/signatureutils.cpp:504 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" +"Не вдалося записати підписаний документ до %1. Будь " +"ласка, переконайтеся, що вами вибрано теку із доступом до запису даних" + +#: core/signatureutils.cpp:506 +#, kde-format +msgid "Unknown signing error" +msgstr "Невідома помилка під час підписування" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Джерело: %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "&Типовий шрифт:" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "Версія" + +#: gui/certificatemodel.cpp:41 +#, kde-format +msgid "Serial Number" +msgstr "Серійний номер" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "Видавець" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "Видано" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "Строк дії" + +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Призначення" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "Відкритий ключ" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "Використання ключа" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "V%1" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "%1 (%2-бітовий)" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "Властивість" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "Значення" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "Контекстна нотатка" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "Друкарська машинка" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "Рядкова примітка" + +#: gui/guiutils.cpp:56 +#, kde-format +msgid "Arrow with Comment" +msgstr "Стрілка із коментарем" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "Стрілка" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "Пряма лінія із коментарем" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "Пряма" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "Багатокутник із коментарем" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "Багатокутник" + +#: gui/guiutils.cpp:71 +#, kde-format +msgid "Rectangle with Comment" +msgstr "Прямокутник із коментарем" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "Прямокутник" + +#: gui/guiutils.cpp:74 +#, kde-format +msgid "Ellipse with Comment" +msgstr "Еліпс із коментарем" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "Еліпс" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "Підсвічений текст із коментарем" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "Підсвічування" + +#: gui/guiutils.cpp:87 +#, kde-format +msgid "Squiggle with Comment" +msgstr "Хвилястий текст із коментарем" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "Підкреслення хвилястою" + +#: gui/guiutils.cpp:91 +#, kde-format +msgid "Underline with Comment" +msgstr "Підкреслений текст із коментарем" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "Підкреслення" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out with Comment" +msgstr "Закреслений текст із коментарем" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "Закреслений" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "Штамп із коментарем" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "Штамп" + +#: gui/guiutils.cpp:106 +#, kde-format +msgid "Freehand Line with Comment" +msgstr "Довільна лінія із коментарем" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "Довільна лінія" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "Позначка вставки" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "Файл-долучення" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "Звук" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "Відео" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Екран" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "Віджет" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "Мультимедійна" + +#: gui/guiutils.cpp:144 +#, kde-format +msgid "Annotation" +msgstr "Анотація" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "Невідомий" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Автор: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "Де ви хочете зберегти %1?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "Неможливо відкрити «%1» для запису. Файл не було збережено." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "Підпис є криптографічно коректним." + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "Підпис є криптографічно некоректним." + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "Невідповідність контрольних сум." + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "Помилкове форматування структури підпису CMS/PKCS7." + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "Відповідного підпису у документі немає." + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "Не вдалося перевірити підпис." + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "Сертифікат є надійним." + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "Видавець сертифіката не вважається надійним." + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "Невідомий видавець сертифіката." + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "Сертифікат було відкликано." + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "Строк дії сертифіката завершився." + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "Сертифікат ще не було перевірено." + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "Виконуємо перевірку сертифіката" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "Невідома помилка із сертифікатом або пошкодження даних" + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "MD2" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "MD5" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "SHA1" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "SHA256" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "SHA384" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "SHA512" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "SHA224" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "Невідомий алгоритм" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "RSA" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "DSA" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "EC" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "Невідомий тип" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "Цифровий підпис" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "Строге виконання зобов'язань" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "Ключі шифрування" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "Ключі розшифровування" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "Узгодження ключів" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "Сертифікат підписування" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "CRL підписування" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "Лише шифрування" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "Призначення не вказано" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr ", " + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "До документа з моменту його підписування не вносилося жодних змін." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" +"До модифікації цього документа, яку було підписано, не вносилися зміни;\n" +"втім, існують інші модифікації документа із внесеними змінами." + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" +"Попередній підписувач документа не надавав згоди на внесення поточних змін " +"до документа." + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "Не вдалося завершити перевірку цілісності документа." + +#: gui/signatureguiutils.cpp:208 +#, kde-format +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "У цьому документі є поля-замінники підписів." + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "Цей документ має цифровий підпис." + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "" +"Цей документ має цифрові підписи. З часу останнього підписування у нього " +"було внесено зміни." + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" +"Цей документ має цифрові підписи. Деякі з підписів не вдалося належним чином " +"перевірити." + +#: gui/signaturemodel.cpp:141 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "Замінник підпису %1" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "Поле %1 на сторінці %2" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "Мод. %1: підписано %2" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "Час підписування: %1" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "Причина: %1" + +#: gui/signaturemodel.cpp:177 +#, kde-format +msgid "Location: %1" +msgstr "Місце: %1" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "Підпис PGP" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "Adobe PKCS7" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "Adobe PKCS7 Sha1" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "ETSI CAdES" + +#: gui/signaturemodel.cpp:193 +#, kde-format +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "Невідомий" + +#: gui/signaturemodel.cpp:195 +#, kde-format +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "Замінник підпису" + +#: gui/signaturemodel.cpp:201 +#, kde-format +msgid "Signature Type: %1" +msgstr "Тип підпису: %1" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "Червоний" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "Помаранчевий" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "Жовтий" + +#: part/annotationactionhandler.cpp:151 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "Зелений" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "Блакитний" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "Синій" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "Бузковий" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "Білий" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "Сірий" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "Чорний" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "Товщина %1" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1%" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "Товщина лінії анотації (анотації не позначено)" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "Колір лінії анотації (анотації не позначено)" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "Колір заповнення анотації (анотації не позначено)" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "Непрозорість анотації (анотації не позначено)" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "Шрифт анотації (анотації не позначено)" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" +"Додати поточну анотацію до меню пришвидшеного анотування (анотації не " +"позначено)" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" +"Обмежити співвідношення розмірів форми значенням 1:1, а крок кута повороту " +"лінії — значенням 15° (анотації не позначено)" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" +"Додаткові параметри для поточного засобу анотування (анотації не позначено)" + +#: part/annotationactionhandler.cpp:308 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Товщина лінії анотування" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "" +"Товщина лінії анотації (для поточної анотації товщина лінії незастосовна)" + +#: part/annotationactionhandler.cpp:314 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Колір тексту анотації" + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "Колір рамки анотації" + +#: part/annotationactionhandler.cpp:318 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Колір анотації" + +#: part/annotationactionhandler.cpp:322 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Колір заповнення анотації" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "" +"Колір заповнення анотації (для поточної анотації колір заповнення " +"незастосовний)" + +#: part/annotationactionhandler.cpp:328 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "Шрифт анотації" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "Шрифт анотації (для поточної анотації шрифт незастосовний)" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "Обмежити крок кута повороту лінії значенням 15°" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "Обмежити співвідношення розмірів форми значенням 1:1" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" +"Обмежити співвідношення розмірів форми значенням 1:1, а крок кута повороту " +"лінії — значенням 15° (не застосовне до поточної анотації)" + +#: part/annotationactionhandler.cpp:341 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Непрозорість анотації" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "Додати поточну анотацію до меню пришвидшеного анотування" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "Додаткові параметри поточного засобу анотування" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "Колір" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "Колір заповнення" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "Прозорий" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "Нетиповий колір…" + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "Вибір кольору" + +#: part/annotationactionhandler.cpp:552 +#, kde-format +msgid "&Annotations" +msgstr "&Анотації" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "Приховати" + +#: part/annotationactionhandler.cpp:554 +#, kde-format +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Показати більше інструментів анотацій" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "Підсвічування" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "Підкреслення" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "Підкреслення хвилястою" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "Закреслення" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Друкарська машинка" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "Рядкова примітка" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "Контекстна нотатка" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "Довільна лінія" + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "Пряма" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "Стрілка" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "Прямокутник" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "Еліпс" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "Багатокутник" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "Геометричні форми" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "Штамп" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Швидка анотація" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "Виберіть інструмент анотування з меню пришвидшеного анотування" + +#: part/annotationactionhandler.cpp:651 +#, kde-format +msgid "Quick Annotation Bar" +msgstr "Панель пришвидшеного анотування" + +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "Додати на панель пришвидшеного анотування" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "Лишати активним" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "Лишати засіб анотування активним після використання" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "" +"Обмежити співвідношення розмірів і кут повороту ліній для інструментів " +"анотацій" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "Шрифт" + +#: part/annotationactionhandler.cpp:681 +#, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Параметри анотацій" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "Товщина лінії" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "Непрозорість" + +#: part/annotationactionhandler.cpp:696 +#, kde-format +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1%" + +#: part/annotationmodel.cpp:320 +#, kde-format +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "Сторінка %1 (%2)" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "Сторінка %1" + +#: part/annotationpopup.cpp:85 +#, kde-format +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "%1 анотація" +msgstr[1] "%1 анотації" +msgstr[2] "%1 анотацій" +msgstr[3] "анотація" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "Від&крити нотатку" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Вилучити закладку" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Додати закладку" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, kde-format +msgid "Copy Text to Clipboard" +msgstr "Копіювати текст до буфера обміну" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "Копіювання заборонене DRM" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "&Вилучити" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "&Властивості" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, kde-format +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "&Зберегти «%1»…" + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "&Вигляд" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "&Загальні" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&Автор:" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "Створено:" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "Змінено:" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "Властивості контекстної нотатки" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "Властивості вдрукованого тексту" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "Властивості рядкової примітки" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "Властивості прямої" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "Властивості багатокутника" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "Геометричні властивості" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "Властивості компонування тексту" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "Властивості штампа" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "Властивості довільних ліній" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "Властивості позначки" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "Властивості файла-долучення" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "Властивості звуку" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "Властивості відео" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "Властивості анотацій" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "Вибрати нетиповий символ штампа з файла" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "Виберіть нетиповий символ штампа" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" +"*.ico *.png *.xpm *.svg *.svgz | файли піктограм (*.ico *.png *.xpm *.svg *." +"svgz)" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "Не вдалося завантажити файл %1" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "Некоректний файл" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&Колір:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, kde-format +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%v%" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "&Непрозорість:" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "Піктограма:" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "Коментар" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "Довідка" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "Вставити" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "Ключ" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "Новий абзац" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "Примітка" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "Абзац" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Шрифт:" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "Колір &тексту:" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "Ви&рівнювання:" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "Ліворуч" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "За центром" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "Праворуч" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "&Ширина рамки:" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "Схвалено" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "Як є" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "Секретно" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "Для відділу" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "Чернетка" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "Експериментальний" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "Застарілий" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "Остаточний" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "Для коментарів" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "Для випуску до публіки" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "Не схвалений" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "Не для випуску до публіки" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "Продано" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "Цілком таємно" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "Закладка" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "Інформація" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "Символ штампа:" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "&Товщина:" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "Початок лінії:" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "Кінчик лінії:" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "Квадрат" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "Коло" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "Ромб" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "Відкрита стрілка" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "Закрита стрілка" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "Немає" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "Обрізок" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "Відкрита стрілка праворуч" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "Закрита стрілка праворуч" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "Похила риска" + +#: part/annotationwidgets.cpp:531 +#, kde-format +msgid "Leader line length:" +msgstr "Довжина ведучої лінії:" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "Довжина розширень ведучої лінії:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "Увімкнено" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "Заповнення форми:" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Тип:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "Перекреслення" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "Символ долучення файла:" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "Графіка" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "Кнопка" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "Затискач для паперу" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "Мітка" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "Файл" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "н/п" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "Немає опису." + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "Назва:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "Опис:" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "Символ каретки:" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "Жодного" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "Закрити це повідомлення" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "Параметри" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"Ця анотація може містити код у форматі\n" +"LaTeX. Натисніть цей напис, щоб програма\n" +"його обробила." + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "Не вдалося знайти виконуваного файла latex." + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "Помилка під час обробки коду LaTeX" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "Не вдалося знайти виконуваного файла dvipng." + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "Під час спроби виконання команди «latex» виникли проблеми." + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "Під час спроби виконання команди «dvipng» виникли проблеми." + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"%2 закладка" +msgstr[1] "" +"%1\n" +"\n" +"%2 закладки" +msgstr[2] "" +"%1\n" +"\n" +"%2 закладок" +msgstr[3] "" +"%1\n" +"\n" +"Одна закладка" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Закладки" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "Показати для усіх документів" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, kde-format +msgid "Search…" +msgstr "Шукати…" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, kde-format +msgid "Expand All" +msgstr "Розгорнути все" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, kde-format +msgid "Collapse All" +msgstr "Згорнути все" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "Перейти до цієї закладки" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "Перейменувати закладку" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Відкрити документ" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "Вилучити усі закладки у цьому документі" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "Переглядач сертифікатів" + +#: part/certificateviewer.cpp:50 +#, kde-format +msgid "Export…" +msgstr "Експортувати…" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "Загальне" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "Видавець" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "Загальна назва(CN)" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "Ел. пошта" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "Організація(О)" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "Видано для" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "Чинність" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "Відбитки" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "Відбиток SHA-1" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "Відбиток SHA-256" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "Подробиці" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "Дані сертифіката:" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "Де ви хочете зберегти цей сертифікат?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "файл сертифіката (*.cer)" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "Не вдалося експортувати сертифікат!" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "&Режим кольорів" + +#: part/colormodemenu.cpp:21 +#, kde-format +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "Змінити кольори" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "&Звичайні кольори" + +#: part/colormodemenu.cpp:41 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "Інвертувати кольори" + +#: part/colormodemenu.cpp:42 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "Змі&нити колір паперу" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "Змінити &темні і світлі кольори" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "Перетворити на &чорно-біле" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "Інвертувати &освітленість" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "Інвертувати &яскравість (лінійний sRGB)" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "Інвертувати яскравість (си&метрично)" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "&Додатний зсув відтінка" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "&Від'ємний зсув відтінка" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "Червоний" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "Зелений" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "Синій" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "Жовтий" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "Чорний" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "Білий" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "Підсвічування жовтим" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "Підсвічування зеленим" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "Вставлення тексту" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "Малювати рамки навколо посилань" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "Змінити кольори" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "" +"Попередження: ці параметри можуть значно вплинути на швидкість показу." + +#: part/dlgaccessibility.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "Інвертувати кольори" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "Змінити колір паперу" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "Змінити темні і світлі кольори" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "Перетворити на чорно-біле" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "Інвертувати освітленість" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "Інвертувати яскравість (лінійний sRGB)" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "Інвертувати яскравість (симетрично)" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "Додатний зсув відтінка" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "Від'ємний зсув відтінка" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "Режим кольору:" + +#: part/dlgaccessibility.cpp:87 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Колір паперу:" + +#: part/dlgaccessibility.cpp:99 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Темний колір:" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "Світлий колір:" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "Поріг:" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Контраст:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "Рушій синтезу мовлення з тексту:" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "Диктор синтезу мовлення з тексту:" + +#: part/dlgannotations.cpp:25 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Повна панель анотування" + +#: part/dlgannotations.cpp:26 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Панель пришвидшеного анотування" + +#: part/dlgannotations.cpp:28 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Панель інструментів анотування:" + +#: part/dlgannotations.cpp:34 +#, kde-format +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "Автор:" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"Примітка: ця інформація використовується тут лише для анотацій. Дані " +"буде збережено до анотованих документів, отже, буде передано разом із " +"документом." + +#: part/dlgannotations.cpp:48 +#, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

    Quick Annotation Tools

    " +msgstr "

    Інструменти пришвидшеного анотування

    " + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" +"Виберіть редактор, який ви бажаєте запустити, якщо Okular потрібно буде " +"відкрити файл з початковими кодами." + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "Нетиповий текстовий редактор" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Клієнт Emacs" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "Клієнт LyX" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "TeXstudio" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "TeXiFy IDEA" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "Редактор:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
    \n" +"You can also put few placeholders:\n" +"
      \n" +"
    • %f - the file name
    • \n" +"
    • %l - the line of the file to be reached
    • \n" +"
    • %c - the column of the file to be reached
    • \n" +"
    \n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"Вкажіть команду, якою можна запустити нетиповий текстовий редактор.
    \n" +"Крім того, ви можете вказати декілька шаблонів:\n" +"
      \n" +"
    • %f — назва файла
    • \n" +"
    • %l — рядок, до якого слід перейти у файлі
    • \n" +"
    • %c — позиція у рядку, на яку слід перейти у файлі
    • \n" +"
    \n" +"Якщо не буде вказано %f, до вказаної команди буде додано назву відповідного " +"файла." + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "Команда:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "Використовувати плавне гортання" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "Вигляд:" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "Показати смужки гортання" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "Зв'язати мініатюри зі сторінкою" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "Показувати підказки та інформаційні повідомлення" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "Сповіщати про вбудовані файли, форми або підписи" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "Показувати заголовок документа на смужці заголовка вікна, якщо можна" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "Показувати лише назву файла" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "Показувати шлях до документа повністю" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "Якщо не показано заголовок документа:" + +#: part/dlggeneral.cpp:92 +#, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "Нетиповий колір тла:" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "Можливості програми:" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "Відкривати нові файли у вкладках" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "Перемкнутися на наявну вкладку, якщо файл вже відкрито" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "Дотримуватись обмежень DRM" + +#: part/dlggeneral.cpp:148 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "У разі зміни документа перезавантажити документ" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "Показати вікно вибору модуля обробки" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "Напрям читання справа ліворуч" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" +"Використати дані щодо файла для визначення того, чи слід відкривати його у " +"неперервному режимі" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "Для файлів без даних типово відкривати у неперервному режимі" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "Типово відкривати у неперервному режимі" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "При використанні засобу навігації завертати вказівник на краях екрана" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "Пунктів у журналі нещодавніх файлів:" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "Колонки огляду:" + +#: part/dlggeneral.cpp:220 +#, kde-format +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%v%" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" +"Визначає розміри поточної області перегляду, яка залишиться видимою після " +"натискання клавіш Page Up і Page Down." + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "Перекриття Page Up/Down:" + +#: part/dlggeneral.cpp:228 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%v%" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "100%" + +#: part/dlggeneral.cpp:233 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "Влаштувати ширину" + +#: part/dlggeneral.cpp:234 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "Влаштувати сторінку" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "Автомасштаб" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "Нетиповий" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" +"Визначає типовий режим масштабування для файлів, які ще не було відкрито у " +"програмі. Для файлів, які вже відкривалися, буде використано попередній " +"вибраний масштаб." + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "Типовий масштаб:" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "Увімкнути ефекти прозорості" + +#: part/dlgperformance.cpp:28 +#, kde-format +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "Вжиток процесора:" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "Низьке" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "Звичайне (типове)" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "Агресивне" + +#: part/dlgperformance.cpp:38 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "Жадібне" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "Використання пам'яті:" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "Увімкнути згладжування тексту" + +#: part/dlgperformance.cpp:56 +#, kde-format +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "Параметри візуалізації:" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "Увімкнути згладжування зображень" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "Увімкнути гінтінґ тексту" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"Використовувати якнайменше пам'яті. (Для систем з малим розміром пам'яті.)" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"Компроміс між використанням пам’яті та швидкістю показу. Заздалегідь " +"завантажувати наступну сторінку. Швидкий пошук. (Типове, для систем з " +"пам’яттю понад 2 ГБ.)" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"Тримати все в пам'яті. Заздалегідь завантажувати наступні сторінки. Швидкий " +"пошук. (Для систем з пам'яттю понад 4 ГБ.)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" +"Завантажує і зберігає всі дані у оперативній пам’яті. Попереднє завантаження " +"всіх зображень. (Буде використано не більше за 50% загального об’єму " +"оперативної пам’яті або вільної пам’яті, залежно від того, який з об’ємів " +"буде більшим.)" + +#: part/dlgpresentation.cpp:38 +#, kde-format +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] "кожну %v секунду" +msgstr[1] "кожні %v секунди" +msgstr[2] "кожні %v секунд" +msgstr[3] "кожну %v секунду" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "Гортати автоматично:" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "Після закінчення - починати спочатку" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "Торкання на лівому або правому краю для переходів назад-вперед" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "Торкання будь-де для переходу вперед" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "Вимкнено" + +#: part/dlgpresentation.cpp:63 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Сенсорна навігація:" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "Колір тла:" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "Сховати після затримки" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "Показувати завжди" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "Завжди ховати" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "Курсор мишки:" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "Показувати індикатор поступу" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "Показати сторінку резюме" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "Негайний (ніколи не використовувати анімації)" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "Замінити" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "Випадковий перехід" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "Вертикальні жалюзі" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "Горизонтальні жалюзі" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "Прямокутник всередину" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "Прямокутник назовні" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "Розчиняти" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "Притлумлювати" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "Вилітати зверху" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "Вилітати з лівого боку" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "Вилітати з лівого боку зверху" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "Розділятись горизонтально всередину" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "Розділятись горизонтально назовні" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "Розділятись вертикально всередину" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "Розділятись вертикально назовні" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "Розкриватись вниз" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "Розкриватись праворуч" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "Розкриватись ліворуч" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "Розкриватись вгору" + +#: part/dlgpresentation.cpp:121 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Типовий перехід:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "Основний екран:" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

    Drawing Tools

    " +msgstr "

    Інструменти малювання

    " + +#: part/dlgpresentation.cpp:171 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Поточний екран" + +#: part/dlgpresentation.cpp:172 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Типовий екран" + +#: part/dlgpresentation.cpp:178 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "Екран %1 (%2 %3 %4)" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "Екран %1 (від'єднано)" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "Інструмент малювання: %1" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "Гумка" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "&Назва:" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "&Тип:" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "Вигляд" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "Розмітка тексту" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "Геометрична форма" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "Інструмент створення анотацій" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "Інструмент редагування анотацій" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "Колір:" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "Товщина &пера:" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "%v пк" + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "Створення інструменту малювання" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "Редагування інструменту малювання" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "Невідомо" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Вбудовані файли" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "Переглянути" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "Назва" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "Опис" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "Розмір" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "Створено" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "Змінено" + +#: part/embeddedfilesdialog.cpp:154 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "&Зберегти як…" + +#: part/embeddedfilesdialog.cpp:155 +#, kde-format +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "П&ереглянути…" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "Не вдалося завантажити компонент перегляду до друку" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "Перегляд друку" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "Закрити" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "З&найти:" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "Текст, за яким шукати" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Далі" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "Перескочити до наступного збігу" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Попередній" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "Перескочити до попереднього збігу" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "Змінити поведінку пошуку" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "З урахуванням регістру" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "Починаючи з поточної сторінки" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "Шукати під час введення" + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "усі файли (*)" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "Замінник підпису (натисніть, щоб підписати)" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "Підп&исати…" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "Властивості підпису" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "Параметри пошуку" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "З врахуванням регістру" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "Формальний вираз" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "Шари" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "з" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "Масштабувати" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "Масштаб у 100%" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "Обернути п&раворуч" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "Праворуч" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "Обернути &ліворуч" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "Ліворуч" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "Початкова орієнтація" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "Обрізати п&ерегляд" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "&Обрізати краї" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "Обрізати за &позначеним" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "Вмістити за &шириною" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "Вмістити &сторінку" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "&Автомасштаб" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "Масштаб ві&кна за сторінкою" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "Ре&жим перегляду" + +#: part/pageview.cpp:594 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "&Одна сторінка" + +#: part/pageview.cpp:595 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "С&уміжні сторінки" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "Суміжні сторінки (перша сторінка у &центрі)" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "О&гляд" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "&Безперервний" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "Використовувати напрям читання справа ліворуч" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "&Навігація" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "&Масштабувати" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "Вибір &ділянки" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "Вибір &тексту" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "Вибір &таблиці" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "З&більшувальне скло" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "Засоби позначення" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "Підписати &цифровим підписом…" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "Прочитати уголос весь документ" + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "Прочитати уголос від поточної сторінки" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "Прочитати уголос поточну сторінку" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "Зупинити читання" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "Призупинити/Відновити читання уголос" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "Прогорнути вгору" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Прогорнути вниз" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "Прогорнути на сторінку вгору" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "Прогорнути на сторінку вниз" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "Показати форми" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] " Завантажено документ з %1 сторінкою." +msgstr[1] " Завантажено документ з %1 сторінками." +msgstr[2] " Завантажено документ з %1 сторінками." +msgstr[3] " Завантажено документ з однієї сторінки." + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "Копіювати зміст до буфера обміну" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "Текст (%1 символ)" +msgstr[1] "Текст (%1 символи)" +msgstr[2] "Текст (%1 символів)" +msgstr[3] "Текст (1 символ)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "Скопіювати до буфера" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "Декламувати текст" + +#: part/pageview.cpp:2863 +#, kde-format +msgid "Image (%1 × %2 pixels)" +msgstr "Зображення (%1 × %2 пікселів)" + +#: part/pageview.cpp:2865 +#, kde-format +msgid "Save to File…" +msgstr "Зберегти до файла…" + +#: part/pageview.cpp:2885 +#, kde-format +msgid "Image [%1 × %2] copied to clipboard." +msgstr "Зображення [%1 × %2] скопійовано до буфера обміну." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "Зберегти файл" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "зображення (*.png *.jpeg)" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "Файл не збережено." + +#: part/pageview.cpp:2901 +#, kde-format +msgid "Image [%1 × %2] saved to %3 file." +msgstr "Зображення [%1 × %2] збережено у файл %3." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "Скопіювати текст" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "Перейти до «%1»" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "Влаштувати ширину" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "Влаштувати сторінку" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "Автомасштаб" + +#: part/pageview.cpp:4107 +#, kde-format +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1%" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "Шукати «%1» за допомогою" + +#: part/pageview.cpp:4404 +#, kde-format +msgid "Configure Web Shortcuts…" +msgstr "Налаштувати вебскорочення…" + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "Перейти за цим посиланням" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "Відтворити цей звук" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "Припинити відтворення звуку" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "Скопіювати адресу посилання" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "Шукати «%1» у цьому документі" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Ласкаво просимо!" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "" +"Виберіть ділянку масштабування. Щоб зменшити, клацніть правою кнопкою мишки." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "Клацніть, щоб скористатися збільшувальним склом." + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "Намалюйте прямокутник навколо тексту/малюнка для копіювання." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "Вибрати текст" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" +"Намалюйте прямокутник навколо таблиці, потім клацніть поряд з краєм, щоб " +"поділити текст. Натисніть Esc, щоб скасувати позначення." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" +"Усі ваші сертифікати для підписування є некоректними. Якщо раніше " +"підписування працювало, будь ласка, перевірте їхні дати чинності." + +#: part/pageview.cpp:5188 +#, kde-format +msgid "No valid certificates" +msgstr "Немає чинний сертифікатів" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, kde-format +msgid "Open Certificate Manager" +msgstr "Відкрити керування сертифікатами" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
    Launch Certificate Manager " +"to import or manage certificates
    For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" +"Немає доступних сертифікатів для підписування.
    Запустіть засіб керування " +"сертифікатами для імпортування сертифікатів або керування ними.
    Щоб " +"дізнатися більше, будь ласка, ознайомтеся із розділом Додавання цифрових підписів у підручнику." + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, kde-format +msgid "No certificates found" +msgstr "Сертифікатів не знайдено" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
    For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" +"Немає доступних сертифікатів для підписування.
    Щоб дізнатися більше, " +"будь ласка, ознайомтеся із розділом Додавання цифрових " +"підписів у підручнику." + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" +"Деякі внесені вами зміни не збережено. Будь ласка, збережіть документ, перш " +"ніж його підписувати." + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "Намалюйте прямокутник для вставлення поля підпису" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "" +"Намалюйте прямокутник навколо області сторінки, яку слід залишити видимою" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "Нова текстова примітка" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "Текст нової примітки:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Підписано: %1\n" +"\n" +"Дата: %2" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" +"Підпис такого розміру може бути надто малим, щоб його можна було прочитати. " +"Якщо ви хочете створити придатніший для читання підпис, натисніть кнопку " +"Почати знову і намалюйте більший прямокутник." + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "Почати знову" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "Підписати" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name" +msgstr "Ім'я автора" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name for the annotation:" +msgstr "Ім'я автора анотації:" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "Намалювати еліпс (потягніть, щоб вибрати зону)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "Підсвітити текст" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "Намалювати довільну лінію" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "Рядкова текстова анотація (потягніть, щоб вибрати зону)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "Вставити контекстну нотатку" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "" +"Намалюйте багатокутник (щоб завершити малювання, наведіть вказівник миші на " +"першу точку і клацніть лівою кнопкою миші)" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "Намалювати прямокутник" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "Хвилястий текст" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "Вставити символ штампа" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "Намалювати пряму лінію" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "Закреслити текст" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "Підкреслити текст" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "Вдрукована анотація (потягніть, щоб вибрати зону)" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "Підсвічування" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "Додати анотацію до улюблених" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Custom annotation name:" +msgstr "Назва нетипової анотації:" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&Файл" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "П&араметри" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "&Довідка" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "&Орієнтація" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "&Закладки" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "Панель переглядача" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Мініатюри" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "Анотації" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
    Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" +"У цьому документі містяться анотації або дані форм, які не було збережено у " +"відповідному файлів попередньою версією Okular. У новій версії немає " +"підтримки збереження даних на рівні програми.
    Будь ласка, збережіть " +"дані до файла, щоб їх можна було переносити куди завгодно, якщо ви захочете " +"редагувати документ." + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"У цьому документі містяться вбудовані файли. Щоб переглянути їх, натисніть цю частину повідомлення або " +"скористайтеся пунктом меню Файл -> Вбудовані файли." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" +"Виконуємо підписування. Ви можете скоригувати розташування і розмір підпису" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "Завершити підписування" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "Попередня" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "Перейти до попередньої сторінки" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "Пересуває вас до попередньої сторінки документа" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "Наступна" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "Перейти до наступної сторінки" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "Пересуває вас до наступної сторінки документа" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "Початок документа" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "Пересуває перегляд на початок документа" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "Кінець документа" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "Пересуває перегляд до кінця документа" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "Перейменувати поточну закладку" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "Попередня закладка" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "Перейти до попередньої закладки" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "Наступна закладка" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "Перейти до наступної закладки" + +#: part/part.cpp:748 +#, kde-format +msgid "Configure Okular…" +msgstr "Налаштувати Okular…" + +#: part/part.cpp:751 +#, kde-format +msgid "Configure Viewer…" +msgstr "Налаштувати переглядач…" + +#: part/part.cpp:757 +#, kde-format +msgid "Configure Viewer Backends…" +msgstr "Налаштувати модулі перегляду…" + +#: part/part.cpp:759 +#, kde-format +msgid "Configure Backends…" +msgstr "Налаштувати модулі…" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "Про модуль обробки" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "Перезава&нтажити" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "Перезавантажити поточний документ з диска." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "Закрити смужку &пошуку" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "Номер сторінки" + +#: part/part.cpp:817 +#, kde-format +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "Налаштувати режим кольорів…" + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "Позначити увесь текст на поточній сторінці" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "Показати &бічну панель" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "Показати панель с&торінок" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "Показати панель &підписів" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "В&будовані файли" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "Е&кспортувати як" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "Оп&рилюднити" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "П&резентація" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "Відкрити &теку документа" + +#: part/part.cpp:945 +#, kde-format +msgid "&Import PostScript as PDF…" +msgstr "&Імпортувати Postscript як PDF…" + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "Перемкнути режим затемнення екрана" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "Стерти малюнок" + +#: part/part.cpp:962 +#, kde-format +msgid "Configure Annotations…" +msgstr "Налаштувати анотації…" + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "Відтворити або призупинити презентацію" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" +"Вами щойно було внесено зміни до відкритого документа, але документи такого " +"типу не може бути збережено.\n" +"Якщо закрити вікно Okular, усі внесені зміни буде втрачено." + +#: part/part.cpp:1123 +#, kde-format +msgid "Document can't be saved" +msgstr "Документ не може бути збережено" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "Не вдалося відкрити «%1» (%2) " + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "Завантаження %1 було скасовано." + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "Не вдалося відкрити %1. Причина: %2" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "Налаштування модулів перегляду" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "Налаштування модулів обробки" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"Не знайдено програму «ps2pdf», тому Okular не може імпортувати файли PS." + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "ps2pdf не знайдено" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "файли PostScript (%1)" + +#: part/part.cpp:1357 +#, kde-format +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "Імпортування файла PS як PDF (це може зайняти трохи часу)…" + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "Будь ласка, введіть пароль для читання документа:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "Помилковий пароль. Повторіть спробу:" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "Пароль до документа" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" +"У цьому документі містяться форми XFA, підтримки яких ще не передбачено." + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"У цьому документі містяться форми. Щоб розпочати роботу з ними, натисніть " +"кнопку або скористайтесь пунктом меню Перегляд -> Показати форми." + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" +"Усі можливості із редагування та взаємодії із цим документом вимкнено. Будь " +"ласка, збережіть копію документа і відкрийте її, якщо хочете редагувати " +"документ." + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" +"Цей документ надіслав запит щодо показу у повноекранному режимі.\n" +"Полишити звичайний режим і перейти до режиму презентації?" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "Запит щодо зміни режиму перегляду" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "Перейти до режиму презентації" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "Відмовити у запиті" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "Не вдалося відкрити %1. %2" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" +"У файлі %1 є незбережені зміни, але його було змінено " +"сторонньою програмою. Перезавантаження файла призведе до заміни незбережених " +"змін змінами, які було внесено за допомогою сторонньої програми.Хочете продовжити перезавантаження файла?" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "Файл було змінено" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "Продовжити перезавантаження" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "Перервати перезавантаження" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" +"Внесені до файла %1 зміни не було збережено, але до " +"нього було внесено зміни за допомогою сторонньої програми. Закриття файла " +"призведе до заміни незбережених змін змінами, які було внесено за допомогою " +"сторонньої програми.Хочете закрити файл попри це?" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "Продовжити закриття" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "Перервати закриття" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "Хочете зберегти внесені вами до «%1» зміни чи відкинути їх?" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "Закриття документа" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"Це посилання вказує на дію закриття документа, яка не працює, якщо " +"використовується вбудований переглядач." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"Це посилання вказує на дію закриття програми, яка не працює, якщо " +"використовується вбудований переглядач." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, kde-format +msgid "Reloading the document…" +msgstr "Перезавантаження документа…" + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "Зміст" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "Підписи" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Перейти до сторінки" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "&Сторінка:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "Вкажіть нову назву закладки:" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "Перейменувати цю закладку" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "Вилучити цю закладку" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "Зберегти як" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" +"Вами наказано програмі зберегти архів Okular без додавання до назви файла " +"суфікса «%1». Такі дії заборонено. Хочете вибрати нову назву файла?" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "Непідтримуваний суфікс назви" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "Вибрати нову назву" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" +"До файла %1 було внесено зміни у сторонній програмі. " +"Якщо ви збережете його зараз, усі зміни, які було внесено у сторонній " +"програмі, буде втрачено. Ви справді хочете виконати збереження файла?" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "Збереження — Попередження" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "Зберегти копію деінде" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
    In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" +"Дані у поточному документі захищено паролем.
    Щоб зберегти документ, " +"його доведеться перезавантажити. Програма попросить вас знову ввести пароль, " +"а дані журналу дій з документом буде втрачено.
    Хочете перезавантажити " +"документ?" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "Не вдалося відкрити тимчасовий файл для збереження." + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" +"Не вдалося перезаписати %1, оскільки цей файл " +"призначено лише для читання. Спробуйте зберегти його в іншому місці або " +"змінити права доступу до файла." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" +"Після збереження, оскільки використано саме такий поточний формат документа, " +"файл доведеться перезавантажити. При цьому дані журналу дій з документом " +"буде втрачено.
    Хочете зберегти документ?" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "" +"Не вдалось зберегти файл у «%1». Спробуйте зберегти його в іншому місці." + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "Вміст заповнених форм" + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "Анотації користувача" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" +"Ви наказали програмі зберегти внесені зміни, але у поточному форматі файла " +"не передбачено можливості зберегти вказані нижче елементи. Будь ласка, " +"скористайтеся форматом Архів документа Okular, якщо хочете зберегти " +"ці елементи. Натисніть кнопку «Продовжити», щоб зберегти дані. При цьому " +"буде втрачено вказані елементи, а також дані журналу дій з документом." + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "Попередження" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "Зберегти як архів документа Okular…" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" +"Ви наказали програмі зберегти внесені зміни, але у поточному форматі файла " +"не передбачено можливості зберегти вказані нижче елементи. Будь ласка, " +"скористайтеся форматом Архів документа Okular, якщо хочете зберегти " +"ці елементи. Натисніть кнопку «Продовжити», щоб зберегти зберегти документ і " +"відкинути дані вказаних елементів." + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" +"Ви наказали програмі зберегти внесені зміни, але у поточному форматі файла " +"не передбачено можливості зберегти вказані нижче елементи. Будь ласка, " +"скористайтеся форматом Архів документа Okular, якщо хочете зберегти " +"ці елементи. Натисніть кнопку Продовжити, щоб зберегти дані. При " +"цьому буде втрачено вказані елементи, а також дані журналу дій з документом." + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "Продовжити" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "Продовжити із втратою змін" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "Не вдалось зберегти файл у «%1». %2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"Програма Okular не може скопіювати %1 у вказане місце.\n" +"\n" +"Цей документ було вилучено." + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" +"Не вдалось зберегти файл до «%1». Помилка: «%2». Спробуйте зберегти його в " +"іншому місці." + +#: part/part.cpp:3158 +#, kde-format +msgid "Expand Whole Section" +msgstr "Розгорнути увесь розділ" + +#: part/part.cpp:3159 +#, kde-format +msgid "Collapse Whole Section" +msgstr "Згорнути увесь розділ" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "Синхронізувати мініатюру зі сторінкою" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Інструменти" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "Читання уголос" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "Друк" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "Друкувати цей документ не дозволяється." + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"Не вдалося надрукувати документ. Невідома помилка. Будь ласка, повідомте про " +"неї на bugs.kde.org" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"Не вдалося надрукувати документ. Повідомлення про помилку: «%1». Будь ласка, " +"повідомте про помилку на bugs.kde.org" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "Перейти до місця, де ви були раніше" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "Перейти до місця, де ви були пізніше" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"Помилка файла! Не вдалося створити тимчасовий файл " +"%1." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"Помилка файла! Не вдається відкрити файл " +"%1 для розпаковування. Файл не завантажено." + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"Така помилка типово виникає, якщо у вас не вистачає прав для читання " +"файла. Ви можете перевірити власника та права на файл в файловому менеджері " +"Dolphin: клацніть правою кнопкою мишки на назві файла, виберіть пункт " +"«Властивості» і перейдіть на вкладку «Права доступу» у вікні, яке буде " +"відкрито." + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"Помилка файла! Не вдається розпакувати файл " +"%1. Файл не буде завантажено." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"Така помилка типово виникає коли файл пошкоджено. Щоб впевнитися, що " +"його пошкоджено спробуйте розпакувати його вручну за допомогою команди у " +"командному рядку." + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "Немає закладок" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "Під час спроби оприлюднити документ виникли проблеми: %1" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "Оприлюднення" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "Документ успішно оприлюднено" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "Оприлюднений документ можна знайти тут: %1" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "З&міни" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "П&ерегляд" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "Пере&хід" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "&Інструменти" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "Головний пенал" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "Панель інструментів анотування" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, kde-format +msgid "Quick Annotation Toolbar" +msgstr "Панель пришвидшеного анотування" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "Загальні параметри" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Доступність" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "Засоби для доступності читання" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Швидкодія" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "Налаштування швидкодії" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "Налаштування перегляду" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Презентація" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "Налаштування режиму презентації" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "Параметри анотацій" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "Редактор" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "Параметри редактора" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" +"За допомогою командного рядка редактором було встановлено \n" +" %1 \n" +"Якщо ви хочете скористатися цим параметром, запустіть okular без параметра --" +"editor-cmd" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "Знайти далі" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 — Презентація" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "Перемкнути екран" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "Екран %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "Вийти з режиму презентації" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Заголовок: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Сторінок: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "Клацніть, щоб почати" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "Призупинити" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "Пуск" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"Є два способи виходу з режиму презентації: можна натиснути клавішу Esc або " +"натиснути кнопку закриття, яка з'являється під час наведення мишки у правий " +"верхній куток екрана. Звичайно ж, можна також перемикати вікна стільниці " +"(типова комбінація клавіш Alt+Tab)." + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "Презентація" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "Невідомий файл" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "Властивості %1" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "&Шрифти" + +#: part/propertiesdialog.cpp:145 +#, kde-format +msgid "Reading font information…" +msgstr "Читання інформації про шрифти…" + +#: part/propertiesdialog.cpp:158 +#, kde-format +msgid "&Page Sizes" +msgstr "Розміри с&торінки" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "&Точний шрифт" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Тип 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Тип 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "Type 1C (OT)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Тип 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType (OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID Тип 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID Тип 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID Тип 0C (OT)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType (OT)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "PK TeX" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "Віртуальний TeX" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "Метрики шрифтів TeX" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "FreeType-обробка TeX" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "Невідомий" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "Вбудований (підмножина)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "Цілком вбудований" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "Ні" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "Так (підмножина)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "Так" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "%1 (замінено на %2)" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "[н/д]" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "Невідомий шрифт" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "Вбудований: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "Назва" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "Тип" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "Файл" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "Сторінка" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "Розмір" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "Перегляд модифікацій" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "Де ви хочете зберегти цю модифікацію?" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "Не вдалося зберегти файл %1." + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "Не вдалося переглянути модифікацію." + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "Введіть принаймні 3 літери для фільтрування сторінок" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "З урахуванням регістру" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "Містить цілу фразу" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "Містить всі слова" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "Містить будь-яке слово" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "Параметри фільтра" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, kde-format +msgid "Certificates" +msgstr "Сертифікати" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "Виберіть сертифікат для підписування:" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "Усі" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, kde-format +msgid "Only QES certificates" +msgstr "Лише сертифікати QES" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "Лише ключі PGP" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "Причина:" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, kde-format +msgid "optional" +msgstr "необов'язкове" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "Місце:" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, kde-format +msgid "Background:" +msgstr "Тло:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "Вибрати…" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, kde-format +msgid "Recent backgrounds:" +msgstr "Нещодавні зображення тла:" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

    No annotations

    To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
    " +msgstr "" +"

    Немає анотацій

    Щоб створити нові анотації, " +"натисніть F6 або виберіть в меню пункт Інструменти → Анотації.
    " + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "Групувати за сторінками" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "Групувати за автором" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "Показувати анотації лише для поточної сторінки" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "Розгорнути усі записи" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "Згорнути усі записи" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "Властивості" + +#: part/signaturepartutils.cpp:180 +#, kde-format +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "зображення (%1)" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "Виберіть зображення тла" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "Забути зображення" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "Забути усі зображення" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "Введіть пароль (якщо такий є) для розблокування сертифіката: %1" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "Введіть пароль до сертифіката" + +#: part/signaturepartutils.cpp:244 +#, kde-format +msgid "Enter document password" +msgstr "Введіть пароль до документа" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "Зберегти підписаний файл як" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "%1_підписаний.%2" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "Стан чинності" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "Чинність підпису:" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "Модифікації документа:" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "Додаткові відомості" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "Підписано:" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "Час підписування:" + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "Версія документа" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Модифікація документа %1 з %2" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "Переглянути підписану версію…" + +#: part/signaturepropertiesdialog.cpp:95 +#, kde-format +msgid "View Certificate…" +msgstr "Переглянути сертифікат…" + +#: part/signaturepropertiesdialog.cpp:97 +#, kde-format +msgid "View in Certificate Manager" +msgstr "Переглянути у засобі керування сертифікатами" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "Не знайдено засобу керування сертифікатами KDE (kleopatra)" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "Кваліфікований" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "PGP" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "Показувати тільки сторінки з закладками" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "Пуск" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Пауза" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "Стоп" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "У цій версії okular не передбачено підтримки відео" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "У цій версії okular не передбачено підтримки відео" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "&Додати…" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, kde-format +msgid "&Edit…" +msgstr "З&мінити…" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "Ви&лучити" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "Пересунути &вгору" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "Пересунути в&низ" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "Типовий інструмент малювання %1" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "Інструмент із такою назвою вже існує. Використовуємо типову назву." + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "Дублювання назви" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "Показувати цю сторінку документа" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "Запустити документ в режимі презентації" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "Запустити з показаним діалоговим вікном друку" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "" +"Запустити програму з показаним діалоговим вікном друку і завершити роботу " +"після того, як друк буде завершено" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "Інструмент керування «Унікальний сеанс»" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "Не піднімати вікно програми над іншими після запуску" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "Знайти рядок у тексті" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "Встановлює команду зовнішнього редактора" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "" +"Документи, які слід відкрити. Вкажіть «-», щоб програма читала з stdin." + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" +"Змінити команду редактора у вже запущеному екземплярі okular не можна. Будь " +"ласка, вимкніть відкриття документів у вкладках і повторіть спробу. Будь " +"ласка, зауважте, що якщо редактор визначено у командному рядку, підтримку " +"єдиного екземпляра програми також буде вимкнено.\n" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "" +"Помилка: якщо вказано параметр --unique, не можна відкривати декілька " +"документів" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" +"Помилка: якщо вказано параметр --presentation, не можна відкривати декілька " +"документів" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "" +"Помилка: якщо вказано параметр --print, не можна відкривати декілька " +"документів" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "" +"Помилка: якщо вказано параметр --page, не можна відкривати декілька " +"документів" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "" +"Помилка: якщо вказано параметр --find, не можна відкривати декілька " +"документів" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "Не вдається знайти компонент Okular: %1" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "Бічна панель" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" +"Один екземпляр програми вже запущено. Цей екземпляр не буде унікальним." + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "Не вдається знайти компонент Okular." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"Клацніть, щоб відкрити файл\n" +"Натисніть і тримайте, щоб відкрити недавній файл" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"Клацніть, щоб відкрити файл або натисніть і тримайте, щоб " +"відкрити недавній файл" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "Наступна вкладка" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "Попередня вкладка" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "Скасувати закриття вкладки" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "Заблокувати бічну панель" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "усі файли (*)" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "усі файли, що підтримуються (%1)" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "Відкрити документ" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "Підтвердити закриття" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "Закрити вкладки" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "Ви наказали програми закрити вкладки (%1). Ви справді цього хочете?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "Попереджати, якщо відбувається спроба закрити декілька вкладок" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "С&копіювати шлях" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "Відкрити &теку документа" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "З&абути цей запис" + +#: shell/welcomescreen.cpp:137 +#, kde-format +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "Немає недавніх документів" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "Вітаємо в Okular" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Відкрити документ…" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, kde-format +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Недавні документи" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "Забути всі" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "Приховати вікно вітання" + +#~ msgid "Geometry with Comment" +#~ msgstr "Геометрична форма із коментарем" + +#~ msgid "Geometry" +#~ msgstr "Геометрична фігура" + +#~ msgctxt "Annotation type: contents" +#~ msgid "%1: %2" +#~ msgstr "%1: %2" + +#~ msgid "Modified: %1" +#~ msgstr "Змінено: %1" + +#~ msgid "Find..." +#~ msgstr "Знайти…" + +#~ msgid "Go To Page..." +#~ msgstr "Перейти до сторінки…" + +#~ msgid "Play movie..." +#~ msgstr "Відтворити відео…" + +#~ msgid "Search..." +#~ msgstr "Шукати…" + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "&Зберегти як…" + +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "П&ереглянути…" + +#~ msgid "&Sign..." +#~ msgstr "Підп&исати…" + +#~ msgid "Configure Viewer..." +#~ msgstr "Налаштувати переглядач…" + +#~ msgid "Configure Viewer Backends..." +#~ msgstr "Налаштувати модулі переглядача…" + +#~ msgid "Configure Backends..." +#~ msgstr "Налаштувати модулі…" + +#~ msgid "&Add..." +#~ msgstr "&Додати…" + +#~ msgid "&Edit..." +#~ msgstr "&Змінити..." + +#~ msgctxt "%1 is a file path" +#~ msgid "" +#~ "Could not sign. Invalid certificate password or could not write to '%1'" +#~ msgstr "" +#~ "Не вдалося підписати. Некоректний пароль до сертифіката або не вдалося " +#~ "виконати запис до «%1»" + +#~| msgid "" +#~| "All your signing certificates are either not valid yet or are past their " +#~| "validity date." +#~ msgid "All your signing certificates are invalid" +#~ msgstr "Усі ваші сертифікати для підписування не є чинними" + +#~ msgid "Unsigned Signature %1" +#~ msgstr "Непідписаний підпис %1" + +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "Невідомий" + +#~ msgctxt "Signature type" +#~ msgid "Unsigned signature" +#~ msgstr "Непідписаний підпис" + +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "Spinbox prefix: Advance automatically: every n seconds" +#~ msgid "every " +#~ msgstr "кожні" + +#~ msgctxt "Suffix for the pen width, eg '10 px'" +#~ msgid " px" +#~ msgstr " пк" + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " %" + +#~ msgctxt "%1 is a file path" +#~ msgid "Could not sign. Could not write to '%1'" +#~ msgstr "Не вдалося підписати. Не вдалося виконати запис до «%1»" + +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "Влаштувати ширину" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "Влаштувати сторінку" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Auto Fit" +#~ msgstr "Автомасштаб" + +#~ msgid "*|All Files" +#~ msgstr "*|Всі файли" + +#~ msgid "Missing alert type" +#~ msgstr "Пропущений тип сповіщення" + +#~ msgid "" +#~ "The file '%1' has been modified by another program, which means it can no " +#~ "longer be saved." +#~ msgstr "" +#~ "До файла «%1» сторонньою програмою було внесено зміни. Це означає, що " +#~ "його надалі не можна зберегти." + +#~ msgid "Show Sidebar" +#~ msgstr "Показати бічну панель" + +#~ msgctxt "@info" +#~ msgid "" +#~ "experimental feature.Stamps inserted in PDF documents are " +#~ "not visible in PDF readers other than Okular." +#~ msgstr "" +#~ "експериментальна можливість.Штампи, які буде встановлено до " +#~ "документа PDF, не можна буде бачити у засобах для читання PDF, відмінних " +#~ "від Okular." + +#~ msgctxt "@info" +#~ msgid "" +#~ "The version of the Poppler library this Okular was compiled with does not " +#~ "support signing documents with passwords. Please ask your provider to " +#~ "update it to 22.02 or later." +#~ msgstr "" +#~ "У версії бібліотеки Poppler, на основі якої зібрано цей екземпляр Okular, " +#~ "не передбачено підтримки підписування документів у поєднанні із паролями. " +#~ "Будь ласка, попросіть авторів вашого дистрибутива оновити версію " +#~ "бібліотеки до 22.02 або новішої." + +#~ msgctxt "@title:window" +#~ msgid "Poppler library is too old" +#~ msgstr "Бібліотека Poppler є надто старою" + +#~ msgctxt "@info" +#~ msgid "" +#~ "Stamps inserted in PDF documents are not visible in PDF readers other " +#~ "than Okular" +#~ msgstr "" +#~ "Штампи, які буде встановлено до документа PDF, не можна буде бачити у " +#~ "засобах для читання PDF, відмінних від Okular." + +#~ msgctxt "@title:window" +#~ msgid "Experimental feature" +#~ msgstr "Експериментальна можливість" + +#~ msgid "Form" +#~ msgstr "Форма" + +#~ msgid "Remove Bookmarks" +#~ msgstr "Вилучити закладки" + +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "&Анотувати" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "Підсвічування" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Underline" +#~ msgstr "Підкреслення" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Squiggle" +#~ msgstr "Підкреслення хвилястою" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Strike Out" +#~ msgstr "Закреслений" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "Вставлення тексту" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "Рядкова примітка" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "Вставити контекстну нотатку" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Freehand Line" +#~ msgstr "Намалювати довільну лінію" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Straight line" +#~ msgstr "Намалювати пряму лінію" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Arrow" +#~ msgstr "Намалювати стрілку" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Rectangle" +#~ msgstr "Намалювати прямокутник" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Ellipse" +#~ msgstr "Намалювати еліпс" + +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Polygon" +#~ msgstr "Намалювати багатокутник" + +#~ msgid "Highlight in Yellow" +#~ msgstr "Підсвічування жовтим" + +#~ msgid "Highlight in Green" +#~ msgstr "Підсвічування зеленим" + +#~ msgid "Insert Inline Note" +#~ msgstr "Вставити рядкову примітку" + +#~ msgid "Insert Popup Note" +#~ msgstr "Вставити контекстну нотатку" + +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "Ви&брати ділянку" + +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "Вибрати &текст" + +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "Вибрати т&аблицю" + +#~ msgctxt "verb" +#~ msgid "&Magnify" +#~ msgstr "З&більшити" + +#~ msgid "Bookmark annotation" +#~ msgstr "Анотування закладкою" + +#~ msgid "&Toggle Change Colors" +#~ msgstr "Перемкнути режим заміни &кольорів" + +#~ msgctxt "@option:check Config dialog, presentation page, transitions" +#~ msgid "Enable transitions" +#~ msgstr "Увімкнути переходи" + +#~ msgctxt "@label:spinbox Config dialog, presentation page" +#~ msgid "Advance every:" +#~ msgstr "Прокручувати вперед кожні:" + +#~ msgctxt "@label:listbox Config dialog, general page" +#~ msgid "Custom background color:" +#~ msgstr "Нетиповий колір тла:" + +#~ msgid "Draw border around &Images" +#~ msgstr "Малювати рамки навколо &зображень" + +#~ msgid "Speech" +#~ msgstr "Читання уголос" + +#~ msgid "Engine" +#~ msgstr "Рушій" + +#~ msgid "Identity" +#~ msgstr "Особа" + +#~ msgid "Au&thor:" +#~ msgstr "&Автор:" + +#~ msgid "View Options" +#~ msgstr "Параметри перегляду" + +#~ msgctxt "@info:whatsthis" +#~ msgid "" +#~ "Defines the default zoom mode for files which were never opened before.\n" +#~ "For files which were opened before the previous zoom is applied." +#~ msgstr "" +#~ "Визначає типовий режим масштабування для файлів, які ще не було відкрито " +#~ "у програмі.\n" +#~ "Для файлів, які вже відкривалися, буде використано попередній вибраний " +#~ "масштаб." + +#~ msgid "Navigation" +#~ msgstr "Навігація" + +#~ msgid "Placement" +#~ msgstr "Розташування" + +#~ msgid "Screen:" +#~ msgstr "Екран:" + +#~ msgid "Drawing Tool Configuration" +#~ msgstr "Налаштування інструменту малювання" + +#~ msgid "&Get Books From Internet..." +#~ msgstr "Отримати книги з &Інтернету…" + +#~ msgid "Reviews" +#~ msgstr "Рецензування" + +#~ msgctxt "@item:inlistbox Color name" +#~ msgid "%1" +#~ msgstr "%1" + +#~ msgid "Hide Forms" +#~ msgstr "Сховати форми" + +#~ msgid "&Review" +#~ msgstr "Ре&цензування" + +#~ msgid "Annotations author" +#~ msgstr "Автор анотацій" + +#~ msgid "Please insert your name or initials:" +#~ msgstr "Будь ласка, введіть ваше ім’я або ініціали:" + +#~ msgctxt "Used in this context: 'Page sizes: Multiple'" +#~ msgid "Multiple" +#~ msgstr "Декілька" + +#~ msgid "Show &Navigation Panel" +#~ msgstr "Показати &навігаційну панель" + +#~ msgid "Show Text" +#~ msgstr "Показати текст" + +#~ msgid "Small Icons" +#~ msgstr "Малі піктограми" + +#~ msgid "Large Icons" +#~ msgstr "Великі піктограми" + +#~ msgid "" +#~ "Click to use the current selection tool\n" +#~ "Click on the arrow to choose another selection tool" +#~ msgstr "" +#~ "Клацніть, щоб використовувати поточний засіб позначення.\n" +#~ "Натисніть стрілку, щоб вибрати інший засіб позначення." + +#~ msgid "Created: %1" +#~ msgstr "Створено: %1" + +#~ msgid "Style" +#~ msgstr "Стиль" + +#~ msgid "&Size:" +#~ msgstr "&Розмір:" + +#~ msgid "Inner color:" +#~ msgstr "Внутрішній колір:" + +#~ msgid "Name: %1" +#~ msgstr "Назва: %1" + +#~ msgid "Size: %1" +#~ msgstr "Розмір: %1" + +#~ msgid "&Browse Tool" +#~ msgstr "Засіб &навігації" + +#~ msgid "&Zoom Tool" +#~ msgstr "&Масштаб" + +#~ msgctxt "Zoom Tool" +#~ msgid "Zoom" +#~ msgstr "Масштабування" + +#~ msgctxt "Select Tool" +#~ msgid "Selection" +#~ msgstr "Вибір" + +#~ msgid "&Text Selection Tool" +#~ msgstr "Засіб вибору &тексту" + +#~ msgid "T&able Selection Tool" +#~ msgstr "З&асіб позначення у таблицях" + +#~ msgid " None" +#~ msgstr " Немає" + +#~ msgid "" +#~ "The document requested to be launched in presentation mode.\n" +#~ "Do you want to allow it?" +#~ msgstr "" +#~ "Надійшов запит на відображення документа у режимі презентації.\n" +#~ "Чи бажаєте ви дозволити це?" + +#~ msgid "Presentation Mode" +#~ msgstr "Режим презентації" + +#~ msgid "Allow the presentation mode" +#~ msgstr "Дозволити режим презентації" + +#~ msgid "Do Not Allow" +#~ msgstr "Не дозволяти" + +#~ msgid "Do not allow the presentation mode" +#~ msgstr "Не дозволяти режим презентації" + +#~ msgid "" +#~ "Your annotation changes will not be saved automatically. Use File -> Save " +#~ "As...\n" +#~ "or your changes will be lost once the document is closed" +#~ msgstr "" +#~ "Внесені вами зміни до анотацій не буде збережено автоматично. " +#~ "Скористайтеся пунктом меню «Файл → Зберегти як…»,\n" +#~ "щоб ці зміни не було втрачено під час закриття документа." + +#~ msgid "" +#~ "Your annotations are saved internally by Okular.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" +#~ msgstr "" +#~ "Анотації зберігаються Okular у самій програмі.\n" +#~ "Експортувати документ з анотаціями можна за допомогою пункту меню «Файл → " +#~ "Експортувати як → Архів з документом»" + +#~ msgid "Save &Copy As..." +#~ msgstr "Зберегти &копію як…" + +#~ msgid "" +#~ "Your annotations will not be exported.\n" +#~ "You can export the annotated document using File -> Export As -> Document " +#~ "Archive" +#~ msgstr "" +#~ "Анотації не буде експортовано.\n" +#~ "Експортувати документ з анотаціями можна за допомогою пункту меню «Файл → " +#~ "Експортувати як → Архів з документом»" + +#~ msgid "" +#~ "End of document reached.\n" +#~ "Continue from the beginning?" +#~ msgstr "" +#~ "Кінець документа.\n" +#~ "Продовжити з початку?" + +#~ msgid "" +#~ "Beginning of document reached.\n" +#~ "Continue from the bottom?" +#~ msgstr "" +#~ "Досягнуто початку документа.\n" +#~ "Продовжити з кінця?" + +#~ msgid "Current maintainer" +#~ msgstr "Поточний супроводжувач" + +#~ msgid " sec." +#~ msgstr " сек." + +#~ msgid "Pencil color:" +#~ msgstr "Колір олівця:" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A0" +#~ msgstr "DIN/ISO A0, книжкова" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A0" +#~ msgstr "DIN/ISO A0, альбомна" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A1" +#~ msgstr "DIN/ISO A1, книжкова" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A1" +#~ msgstr "DIN/ISO A1, альбомна" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A2" +#~ msgstr "DIN/ISO A2, книжкова" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A2" +#~ msgstr "DIN/ISO A2, альбомна" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A3" +#~ msgstr "DIN/ISO A3, книжкова" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A3" +#~ msgstr "DIN/ISO A3, альбомна" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A4" +#~ msgstr "DIN/ISO A4, книжкова" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A4" +#~ msgstr "DIN/ISO A4, альбомна" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A5" +#~ msgstr "DIN/ISO A5, книжкова" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A5" +#~ msgstr "DIN/ISO A5, альбомна" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A6" +#~ msgstr "DIN/ISO A6, книжкова" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A6" +#~ msgstr "DIN/ISO A6, альбомна" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A7" +#~ msgstr "DIN/ISO A7, книжкова" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A7" +#~ msgstr "DIN/ISO A7, альбомна" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A8" +#~ msgstr "DIN/ISO A8, книжкова" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A8" +#~ msgstr "DIN/ISO A8, альбомна" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO A9" +#~ msgstr "DIN/ISO A9, книжкова" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO A9" +#~ msgstr "DIN/ISO A9, альбомна" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B0" +#~ msgstr "DIN/ISO B0, книжкова" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B0" +#~ msgstr "DIN/ISO B0, альбомна" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B1" +#~ msgstr "DIN/ISO B1, книжкова" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B1" +#~ msgstr "DIN/ISO B1, альбомна" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B2" +#~ msgstr "DIN/ISO B2, книжкова" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B2" +#~ msgstr "DIN/ISO B2, альбомна" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B3" +#~ msgstr "DIN/ISO B3, книжкова" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B3" +#~ msgstr "DIN/ISO B3, альбомна" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B4" +#~ msgstr "DIN/ISO B4, книжкова" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B4" +#~ msgstr "DIN/ISO B4, альбомна" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B5" +#~ msgstr "DIN/ISO B5, книжкова" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B5" +#~ msgstr "DIN/ISO B5, альбомна" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B6" +#~ msgstr "DIN/ISO B6, книжкова" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B6" +#~ msgstr "DIN/ISO B6, альбомна" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B7" +#~ msgstr "DIN/ISO B7, книжкова" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B7" +#~ msgstr "DIN/ISO B7, альбомна" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B8" +#~ msgstr "DIN/ISO B8, книжкова" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B8" +#~ msgstr "DIN/ISO B8, альбомна" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B9" +#~ msgstr "DIN/ISO B9, книжкова" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B9" +#~ msgstr "DIN/ISO B9, альбомна" + +#~ msgctxt "paper size" +#~ msgid "landscape DIN/ISO B10" +#~ msgstr "DIN/ISO B10, книжкова" + +#~ msgctxt "paper size" +#~ msgid "portrait DIN/ISO B10" +#~ msgstr "DIN/ISO B10, альбомна" + +#~ msgctxt "paper size" +#~ msgid "landscape letter" +#~ msgstr "летер, альбомна" + +#~ msgctxt "paper size" +#~ msgid "portrait letter" +#~ msgstr "летер, книжкова" + +#~ msgctxt "paper size" +#~ msgid "landscape legal" +#~ msgstr "лігал, альбомна" + +#~ msgctxt "paper size" +#~ msgid "portrait legal" +#~ msgstr "лігал, книжкова" + +#~ msgctxt "paper size" +#~ msgid "landscape executive" +#~ msgstr "екзек’ютів, альбомна" + +#~ msgctxt "paper size" +#~ msgid "portrait executive" +#~ msgstr "екзек’ютів, книжкова" + +#~ msgctxt "paper size" +#~ msgid "landscape Comm10E" +#~ msgstr "Comm10E, альбомна" + +#~ msgctxt "paper size" +#~ msgid "portrait Comm10E" +#~ msgstr "Comm10E, книжкова" + +#~ msgctxt "paper size" +#~ msgid "landscape DLE" +#~ msgstr "DLE, альбомна" + +#~ msgctxt "paper size" +#~ msgid "portrait DLE" +#~ msgstr "DLE, книжкова" + +#~ msgctxt "paper size" +#~ msgid "landscape folio" +#~ msgstr "фоліо, альбомна" + +#~ msgctxt "paper size" +#~ msgid "portrait folio" +#~ msgstr "фоліо, книжкова" + +#~ msgctxt "paper size" +#~ msgid "ledger" +#~ msgstr "гросбух" + +#~ msgctxt "paper size" +#~ msgid "tabloid" +#~ msgstr "таблоїд" + +#~ msgctxt "paper size" +#~ msgid "unknown landscape paper size" +#~ msgstr "невідомий розмір паперу з альбомною орієнтацією" + +#~ msgctxt "paper size" +#~ msgid "unknown portrait paper size" +#~ msgstr "невідомий розмір паперу з книжковою орієнтацією" + +#~ msgid "Toggle Drawing Mode" +#~ msgstr "Перемкнути режим малювання" + +#~ msgid "Starting Jovie Text-to-Speech service Failed: %1" +#~ msgstr "Не вдалося запусти службу озвучування тексту Jovie: %1" + +#~ msgid "Search Columns" +#~ msgstr "Колонки для пошуку" + +#~ msgid "All Visible Columns" +#~ msgstr "Всі видимі колонки" + +#~ msgid "No document opened." +#~ msgstr "Не відкрито жодного документа." + +#~ msgid "Can't open more than one document in the unique Okular instance." +#~ msgstr "" +#~ "У вікні програми, запущеної з параметром unique, можна відкрити лише один " +#~ "документ." + +#~ msgid "No matches found for '%1'." +#~ msgstr "Не знайдено відповідників для «%1»." + +#~ msgid "Search in progress..." +#~ msgstr "Триває пошук…" + +#~ msgid "Searching for %1" +#~ msgstr "Пошук за %1" + +#~ msgid "Identity Settings" +#~ msgstr "Параметри особи" + +#~ msgid "Highlight Properties" +#~ msgstr "Властивості підсвічування" + +#~ msgid "Ink Properties" +#~ msgstr "Властивості чорнила" + +#~ msgctxt "Annotation tool" +#~ msgid "Text Annotation" +#~ msgstr "Текстові анотації" + +#~ msgctxt "Annotation tool" +#~ msgid "Green Ink" +#~ msgstr "Зелене чорнило" + +#~ msgctxt "Annotation tool" +#~ msgid "Yellow Highlight" +#~ msgstr "Жовте підсвічування" + +#~ msgctxt "Annotation tool" +#~ msgid "Straight Yellow Line" +#~ msgstr "Пряма жовта лінія" + +#~ msgid "Black Underlining" +#~ msgstr "Підкреслення чорним" + +#~ msgctxt "Annotation tool" +#~ msgid "Underline the text with a black line" +#~ msgstr "Підкреслити текст чорною лінією" + +#~ msgctxt "Annotation tool" +#~ msgid "A cyan ellipse" +#~ msgstr "Бірюзовий еліпс" + +#~ msgid "Ink" +#~ msgstr "Позначення чорнилом" + +#~ msgid "Reset Forms" +#~ msgstr "Скинути форми" + +#~ msgid "latex failed." +#~ msgstr "Помилка latex." + +#~ msgid "dvipng failed." +#~ msgstr "Помилка dvipng." + +#~ msgid "Moves to the first page of the document" +#~ msgstr "Переходить на першу сторінку документа" + +#~ msgid "You must set this name:" +#~ msgstr "Ви повинні вказати це ім’я:" + +#~ msgid "Toggles between File Path and Title" +#~ msgstr "Перемикає між показом шляху і назви" + +#~ msgctxt "%1 is \"Title\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#~ msgctxt "%1 is \"File Path\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#~ msgctxt "@action:button" +#~ msgid "&Overwrite" +#~ msgstr "&Перезаписати" + +#~ msgid "Pages:" +#~ msgstr "Сторінки:" + +#~ msgid "Activate to ignore file-specific page-durations" +#~ msgstr "" +#~ "Позначте, щоб програма проігнорувала вказані у файлі тривалості показу " +#~ "сторінок" + +#~ msgid "s" +#~ msgstr "с" diff --git a/po/uk/okular_comicbook.po b/po/uk/okular_comicbook.po new file mode 100644 index 0000000..0584d01 --- /dev/null +++ b/po/uk/okular_comicbook.po @@ -0,0 +1,61 @@ +# Translation of okular_comicbook.po to Ukrainian +# Copyright (C) 2008-2018 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# Yuri Chornoivan , 2008, 2010, 2011, 2018. +msgid "" +msgstr "" +"Project-Id-Version: okular_comicbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2018-11-08 07:03+0200\n" +"Last-Translator: Yuri Chornoivan \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 2.0\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Юрій Чорноіван" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "yurchor@ukr.net" + +#: document.cpp:97 +#, kde-format +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "" +"Не вдалося відкрити документ, не знайдено ні програми unrar, ні програми " +"unarchiver." + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "Версія unrar на вашій системі не пасує для відкриття книг коміксів." + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "Невідомий формат книги коміксів." + +#~ msgid "ComicBook Backend" +#~ msgstr "Модуль коміксів" + +#~ msgid "A renderer for various comic book formats" +#~ msgstr "Програма для відображення коміксів у різних форматах" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© Tobias Koenig, 2007–2008" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/uk/okular_djvu.po b/po/uk/okular_djvu.po new file mode 100644 index 0000000..1ed48bc --- /dev/null +++ b/po/uk/okular_djvu.po @@ -0,0 +1,139 @@ +# Translation of okular_djvu.po to Ukrainian +# Copyright (C) 2007-2011 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# Ivan Petrouchtchak , 2007. +# Yuri Chornoivan , 2008, 2010, 2011. +msgid "" +msgstr "" +"Project-Id-Version: okular_djvu\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2011-08-12 18:30+0300\n" +"Last-Translator: Yuri Chornoivan \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.2\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "о. Іван Петрущак" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "fr.ivan@ukrainian-orthodox.org" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "Редактор" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "Видавник" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "Том" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "Тип документа" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "Невідома" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "Файли компонентів" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "Невідомий" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "Окрема сторінка" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "Збірка" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "Не безпосередній" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "Збірка (старий)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "Індексований (старий)" + +#~ msgid "DjVu Backend" +#~ msgstr "Модуль DjVu" + +#~ msgid "DjVu backend based on DjVuLibre." +#~ msgstr "Засіб обробки DjVu, заснований на DjVuLibre." + +#~ msgid "© 2006-2008 Pino Toscano" +#~ msgstr "© Pino Toscano, 2006–2008" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgctxt "Unknown title" +#~ msgid "Unknown" +#~ msgstr "Невідомий" + +#~ msgctxt "Unknown author" +#~ msgid "Unknown" +#~ msgstr "Невідомий" + +#~ msgctxt "Unknown editor" +#~ msgid "Unknown" +#~ msgstr "Невідомий" + +#~ msgctxt "Unknown publisher" +#~ msgid "Unknown" +#~ msgstr "Невідомий" + +#~ msgctxt "Unknown creation date" +#~ msgid "Unknown" +#~ msgstr "Невідома" + +#~ msgctxt "Unknown volume information" +#~ msgid "Unknown" +#~ msgstr "Невідома" + +#~ msgctxt "Unknown type of document" +#~ msgid "Unknown" +#~ msgstr "Невідомий" diff --git a/po/uk/okular_dvi.po b/po/uk/okular_dvi.po new file mode 100644 index 0000000..251aabb --- /dev/null +++ b/po/uk/okular_dvi.po @@ -0,0 +1,775 @@ +# Translation of okular_dvi.po to Ukrainian +# Copyright (C) 2007-2014 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# Ivan Petrouchtchak , 2007, 2008. +# Yuri Chornoivan , 2008, 2009, 2010, 2011, 2013, 2014, 2024, 2025. +msgid "" +msgstr "" +"Project-Id-Version: okular_dvi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-11 09:10+0300\n" +"Last-Translator: Yuri Chornoivan \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 23.04.3\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "о. Іван Петрущак" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "fr.ivan@ukrainian-orthodox.org" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

    Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

    Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

    " +msgstr "" +"

    Okular не може знайти програму dvipdfm на вашому комп'ютері. " +"Ця програма є критичною для функції експорту. Проте можна перетворити файл " +"DVI в PDF використовуючи функцію друку Okular, щоправда, скоріше за все, ви " +"отримаєте нормальний екземпляр для друку, але при перегляді з Acrobat Reader " +"якість буде низькою. Можливо краще поновити версію пакунка TeX, який містить " +"програму dvipdfm.

    Порада для розгубленого адміністратора: " +"Okular використовує змінну оболонки PATH при пошуку програми.

    " + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Зовнішня програма «dvipdfm», яка використовується для експорту файлів " +"DVI повернула помилку. Можливо вам потрібно переглянути вікно " +"інформації про документ щодо детального звіту про помилку." + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" +"Цей файл DVI посилається на зовнішні графічні файли, які не є файлами в " +"форматі PostScript і не підтримуються програмою dvips, яку Okular " +"використовує для друку та експортування до PostScript. Отже, у цій версії " +"Okular ви не зможете скористатися потрібними вам можливостями." + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

    Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

    Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

    " +msgstr "" +"

    Програма Okular не змогла знайти на вашому комп'ютері програму " +"dvips. Ця програма потрібна для того, щоб працювала функція " +"експорту.

    Підказка стурбованому системному адміністратору: під час " +"пошуку програм Okular використовує змінну середовища PATH.

    " + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"Зовнішня програма «dvips», яка використовується для експорту файла, " +"повернула помилку. Ви можливо захочете подивитися вікно інформації " +"документа щодо детального звіту про помилку." + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "Файл DVI не починається з преамбули." + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" +"DVI файл містить неправильну версію виводу DVI для цієї програми. Примітка: " +"якщо ви користуєтесь системою верстки Omega, вам слід скористатися " +"спеціальними програмами, наприклад oxdvi." + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "DVI файл сильно пошкоджений. Okular не може знайти кінцеву частину." + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "Кінцева частина не починається з команди POST." + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "Кінцева частина містить команди інші за FNTDEF." + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "Сторінка %1 не починається з команди BOP." + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

    The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

    What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

    PATH: %2

    " +msgstr "" +"

    Не вдалося запустити зовнішню програму pdf2ps. В " +"результаті, не вдалося перетворити файл PDF %1 у PostScript. Тому, деякі " +"графічні елементи вашого документа не буде показано.

    Можлива " +"причина: У вашій системі, можливо, встановлено програму pdf2ps, або її неможливо знайти в поточному шляху.

    Що ви можете " +"зробити: Зазвичай, програма pdf2ps міститься в " +"дистрибутиві системи інтерпретації PostScript ghostscript. Якщо у вас не " +"встановлено ghostscript, ви можете її тепер встановити. Якщо ви впевнені, що " +"у вас встановлено ghostscript, будь ласка, спробуйте запустити " +"pdf2ps з командного рядка, щоб перевірити чи вона працює.

    PATH: %2

    " + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

    The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

    %2

    " +msgstr "" +"

    Не вдалося перетворити файл PDF %1 у PostScript. Деякі графічні " +"елементи у вашому документі не буде показано.

    Можлива причина: " +"Пошкоджено файл %1, або це, навіть, і не PDF-файл. Ось вивід програми " +"pdf2ps, яку використовує програма Okular:

    %2

    " + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "Файл пошкоджено. %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "Вбудовувати до документа можна не усякі файли PostScript. %1" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "До вашого документа було вбудовано усі зовнішні файли PostScript." + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "Вказаного файла, «%1», не існує." + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" +"Ви наказали Okular знайти у файлі DVI місце, яке відповідає рядку %1 у файлі " +"TeX %2. Втім, здається, у файлі DVI не міститься потрібних програмі даних " +"щодо файла початкового коду документа. " + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" +"Okular не вдалося знайти місце у файлі DVI, яке відповідає рядку %1 у файлі " +"TeX %2." + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "Код DVI містить символ невідомого шрифту." + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "Код DVI посилається до шрифту N%1, який не було попередньо визначено." + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "Стек не був порожній, коли було знайдено команду EOP." + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "Стек був порожній, коли було знайдено команду POP." + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "Код DVI посилається до шрифту, який не було попередньо визначено." + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "Знайдено неправильну команду." + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "Знайдено невідомий код дії %1." + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "Вкладання %1" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
    " +msgstr "" +"Сторінка %1: Файл PDF%2 неможливо конвертувати у PostScript." +"
    " + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
    " +msgstr "" +"Сторінка %1: Файл PostScript %2 не вдається знайти.
    " + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "Не вдається розібрати дані про розмір сторінки «%1»." + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

    Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

    PATH: %1

    %2

    " +msgstr "" +"

    Okular не вдалося знайти усі файли шрифтів, які потрібні для показу " +"поточного файла DVI. Ймовірно, що ваш документ неможливо буде прочитати.

    PATH: %1

    %2

    " + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

    There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
    Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

    PATH: %1

    %2

    " +msgstr "" +"

    Виникли проблеми із запуском kpsewhich. У результаті не " +"вдалося знайти деякі з файлів шрифтів. Отже, можливо, частину документа не " +"вдасться прочитати.
    Ймовірна причина: у системі не встановлено програми " +"kpsewhich або цю програму не вдалося знайти у каталогах, описаних " +"за допомогою змінної PATH.

    PATH: %1

    " +"%2

    " + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" +"Спробу створення шрифтів за допомогою kpsewhich було перервано " +"(код завершення %1, помилка %2). У результаті деякі з файлів шрифтів не " +"вдалося знайти, — ваш документ може бути непридатним для читання." + +#: fontpool.cpp:482 +#, kde-format +msgid "Currently generating %1 at %2 dpi…" +msgstr "Створюємо %1 з роздільністю %2 т/д…" + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "Генератор/дата" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "Файл шрифту не знайдено" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "%1 × %2" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "%1 × %2 мм" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "%1 × %2 дюйми" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "книжкова" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "альбомна" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" +"Встановлена на цьому комп'ютері версія не містить жодного з драйверів " +"пристроїв Ghostview відомих Okular. Тому підтримку PostScript у Okular " +"вимкнено." + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "" +"Маємо 25 помилок. Подальші повідомлення про помилки не будуть надруковані." + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" +"Помилка у DVI файлі «%1», сторінка %2. Стек кольорів " +"був порожній, коли було дано команду POP." + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" +"Помилка параметра у спеціальній команді epsf.\n" +"Очікувався float після %1 в %2" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"Файл не знайдено: \n" +" %1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" +"Помилка у DVI файлі «%1», сторінка %2. Не вдалось інтерпретувати кут у " +"вставці з оберненим текстом." + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "Спеціальна команда «%1» не впроваджена." + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" +"Файл шрифту %1 можна відкрити та прочитати, але цей формат шрифту не " +"підтримується." + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "" +"Файл шрифту %1 пошкоджений, або його неможливо відкрити, або неможливо " +"прочитати." + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" +"Отримано звіт про помилку від FreeType при встановлені розміру символів для " +"файла шрифту %1." + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "FreeType не може завантажити гліф № %1 з файла шрифту %2." + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "FreeType не може зобразити гліф № %1 з файла шрифту %2." + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "Гліф № %1 - порожній." + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "Гліф № %1 з файла шрифту %2 - порожній." + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "FreeType не може завантажити розмір гліфу № %1 з файла шрифту %2." + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "Неможливо відкрити файл шрифту %1." + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "TexFont_PK::operator[]: Символ %1 не визначений у шрифті %2" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "Непередбачений %1 у файлі PK %2" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "Символ %1 надто великий у файлі %2" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "Збережено неправильну кількість бітів: симв. %1, шрифт %2" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "Поганий файл pk (%1), надто багато бітів" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "Шрифт має неквадратне співвідношення " + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "Неможливо знайти шрифт %1, файл %2." + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "Не збігається контрольна сума у файлі шрифту %1" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "Не вдається визначити формат для файла шрифту %1" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"Критична помилка.\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" +"\n" +"\n" +"Це, напевно, означає, що або ви знайшли помилку в Okular,\n" +"або що файл DVI або допоміжні файли (напр. файли шрифтів \n" +"або віртуальних шрифтів) були дійсно сильно пошкоджені.\n" +"Okular завершиться аварійно після цього повідомлення. Якщо ви\n" +"думаєте, ви знайшли помилку або що Okular повинен поводитися\n" +"краще в цій ситуації, будь ласка, повідомте про помилку." + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "Неправильний байт команди знайдено у списку VF макросів: %1" + +#~ msgid "" +#~ "

    The Ghostview program, which Okular uses internally to display the " +#~ "PostScript graphics that is included in this DVI file, is generally able " +#~ "to write its output in a variety of formats. The sub-programs that " +#~ "Ghostview uses for these tasks are called 'device drivers'; there is one " +#~ "device driver for each format that Ghostview is able to write. Different " +#~ "versions of Ghostview often have different sets of device drivers " +#~ "available. It seems that the version of Ghostview that is installed on " +#~ "this computer does not contain any of the device drivers " +#~ "that are known to Okular.

    It seems unlikely that a regular " +#~ "installation of Ghostview would not contain these drivers. This error may " +#~ "therefore point to a serious misconfiguration of the Ghostview " +#~ "installation on your computer.

    If you want to fix the problems with " +#~ "Ghostview, you can use the command gs --help to display " +#~ "the list of device drivers contained in Ghostview. Among others, Okular " +#~ "can use the 'png256', 'jpeg' and 'pnm' drivers. Note that Okular needs to " +#~ "be restarted to re-enable PostScript support.

    " +#~ msgstr "" +#~ "

    Програма Ghostview, яку Okular використовує для показу вбудованої " +#~ "в файли DVI графіки PostScript, зазвичай здатна виводити інформацію в " +#~ "різноманітних форматах. Підпрограми, які Ghostview використовує для " +#~ "виконання цих завдань, називаються «драйверами пристроїв»; для кожного " +#~ "формату виводу існує один драйвер пристрою. Різні версії Ghostview часто " +#~ "мають різний набір драйверів. Здається, що версія Ghostview встановлена " +#~ "на цьому комп'ютері не містить жодного відомого для " +#~ "Okular драйвера пристроїв.

    Малоймовірно, щоб нормальний дистрибутив " +#~ "Ghostview не містив цих драйверів. Отже, ця помилка вказує на серйозну " +#~ "помилку в налаштуванні Ghostview на вашому комп'ютері.

    Якщо ви " +#~ "хочете виправити проблеми з Ghostview, можете скористатись " +#~ "командоюgs --help для показу списку драйверів пристроїв, " +#~ "які містяться в Ghostview. Okular, зокрема, може використовувати драйвери " +#~ "«png256», «jpeg» і «pnm». Потрібно перезапустити Okular, щоб набула " +#~ "чинності підтримка PostScript.

    " + +#~ msgid "DVI Backend" +#~ msgstr "Модуль DVI" + +#~ msgid "A DVI file renderer" +#~ msgstr "Інструмент для показу файлів DVI" + +#~ msgid "© 2006 Luigi Toscano" +#~ msgstr "© Luigi Toscano, 2006" + +#~ msgid "" +#~ "

    Okular relies on the kpsewhich program to locate font files on " +#~ "your hard disk and to generate PK fonts, if necessary.

    " +#~ msgstr "" +#~ "

    Okular користується програмою kpsewhich для пошуку файлів " +#~ "шрифтів на вашому диску, а також, за потреби, для створення шрифтів PK." + +#~ msgid "Okular is currently generating bitmap fonts..." +#~ msgstr "Okular тепер створює растрові шрифти..." + +#~ msgid "Aborts the font generation. Do not do this." +#~ msgstr "Перериває створення шрифтів. Не робіть цього." + +#~ msgid "" +#~ "Okular is currently generating bitmap fonts which are needed to display " +#~ "your document. For this, Okular uses a number of external programs, such " +#~ "as MetaFont. You can find the output of these programs later in the " +#~ "document info dialog." +#~ msgstr "" +#~ "В даний час Okular створює растрові шрифти, які потрібні для показу " +#~ "вашого документа. Для цього okular використовує деякі зовнішні програми, " +#~ "напр., MetaFont. Вивід з цих програм ви можете знайти у вікні інформації " +#~ "щодо документа." + +#~ msgid "Okular is generating fonts. Please wait." +#~ msgstr "Okular створює шрифти. Будь ласка, зачекайте." + +#~ msgid "Font Generation Progress Dialog" +#~ msgstr "Вікно поступу створення шрифтів" + +#~ msgid "Abort" +#~ msgstr "Перервати" + +#~ msgid "What is happening here?" +#~ msgstr "Що тут робиться?" + +#~ msgid "%v of %m" +#~ msgstr "%v з %m" + +#~ msgid "Please be patient" +#~ msgstr "Будь ласка, зачекайте" + +#~ msgid "*.pdf|Portable Document Format (*.pdf)" +#~ msgstr "*.pdf|Portable Document Format (*.pdf)" + +#~ msgid "Export File As" +#~ msgstr "Експортувати файл як" + +#~ msgid "" +#~ "The file %1\n" +#~ "exists. Do you want to overwrite it?" +#~ msgstr "" +#~ "Файл %1\n" +#~ "існує. Перезаписати його?" + +#~ msgid "Overwrite File" +#~ msgstr "Перезаписати файл" + +#~ msgid "Overwrite" +#~ msgstr "Перезаписати" + +#~ msgid "Using dvipdfm to export the file to PDF" +#~ msgstr "Використання dvipdfm для експорту файла в PDF" + +#~ msgid "" +#~ "Okular is currently using the external program 'dvipdfm' to convert your " +#~ "DVI-file to PDF. Sometimes that can take a while because dvipdfm needs to " +#~ "generate its own bitmap fonts Please be patient." +#~ msgstr "" +#~ "Okular зараз використовує зовнішню програму «dvipdfm» для перетворення " +#~ "файлів DVI у PDF. Деколи це займає багато часу, тому що dvipdfm має " +#~ "створити власні растрові шрифти. Будь ласка, зачекайте." + +#~ msgid "Waiting for dvipdfm to finish..." +#~ msgstr "Очікування поки завершиться dvipdfm..." + +#~ msgid "*.ps|PostScript (*.ps)" +#~ msgstr "*.ps|PostScript (*.ps)" + +#~ msgid "Using dvips to export the file to PostScript" +#~ msgstr "Використання dvips для експорту файла в PostScript" + +#~ msgid "" +#~ "Okular is currently using the external program 'dvips' to convert your " +#~ "DVI-file to PostScript. Sometimes that can take a while because dvips " +#~ "needs to generate its own bitmap fonts Please be patient." +#~ msgstr "" +#~ "Okular зараз використовує зовнішню програму «dvips» для перетворення " +#~ "файлів DVI у PostScript. Інколи таке перетворення може тривати досить " +#~ "довго, оскільки dvips має створити власні растрові шрифти. Будь ласка, " +#~ "зачекайте." + +#~ msgid "Waiting for dvips to finish..." +#~ msgstr "Очікування поки завершиться dvips..." + +#~ msgid "Functionality Unavailable" +#~ msgstr "Функціональність недоступна" + +#~ msgid "" +#~ "File corruption Okular could not interpret your DVI " +#~ "file. This is most commonly caused by a corrupted file." +#~ msgstr "" +#~ "Пошкодження файла Okular не може інтерпретувати ваш " +#~ "DVI файл. Скоріше за все, це значить, що файл DVI пошкоджено." + +#~ msgid "DVI File Error" +#~ msgstr "Помилка файла DVI" + +#~ msgid "Not All Font Files Found" +#~ msgstr "Не всі файли шрифтів знайдено" + +#~ msgid "Locating fonts..." +#~ msgstr "Пошук шрифтів..." + +#~ msgid "" +#~ "

    There were problems running kpsewhich. As a result, some font " +#~ "files could not be located, and your document might be unreadable.

    Possible reason: The kpsewhich program is perhaps not " +#~ "installed on your system, or it cannot be found in the current search " +#~ "path.

    What you can do: The kpsewhich program is normally " +#~ "contained in distributions of the TeX typesetting system. If TeX is not " +#~ "installed on your system, you could install the TeX Live distribution " +#~ "(www.tug.org/texlive). If you are sure that TeX is installed, please try " +#~ "to use the kpsewhich program from the command line to check if it really " +#~ "works.

    " +#~ msgstr "" +#~ "

    Були проблеми із запуском kpsewhich. В результаті, деякі файли " +#~ "шрифтів не було знайдено, і тому ваш документ, мабуть, буде неможливо " +#~ "прочитати.

    Можливі причини: Можливо, програма kpsewhich не " +#~ "встановлена у вашій системі або її неможливо знайти у поточному шляху " +#~ "пошуку.

    Що можна зробити: Зазвичай, програму kpsewhich " +#~ "можна знайти в пакунках системи верстки TeX. Якщо у вашій системі не " +#~ "встановлено TeX, встановіть TeX Live (www.tug.org/texlive). Якщо ви " +#~ "впевнені, що TeX є встановлена, будь ласка, спробуйте запустити програму " +#~ "kpsewhich з командного рядка, щоб перевірити чи вона дійсно працює.

    " + +#~ msgid "Problem locating fonts" +#~ msgstr "Проблема зі знаходженням шрифтів" + +#~ msgid "Font generation aborted" +#~ msgstr "Створення шрифтів перервано" + +#~ msgid "Export: %1 to PDF" +#~ msgstr "Експорт: %1 в PDF" + +#~ msgid "Export: %1 to PostScript" +#~ msgstr "Експорт: %1 в PostScript" + +#~ msgid "The fontlist is currently empty." +#~ msgstr "Список шрифтів порожній." + +#~ msgid "TeX Name" +#~ msgstr "Назва TeX" + +#~ msgid "Family" +#~ msgstr "Гарнітура" + +#~ msgid "Zoom" +#~ msgstr "Масштабування" + +#~ msgid "Type" +#~ msgstr "Тип" + +#~ msgid "Encoding" +#~ msgstr "Кодування" + +#~ msgid "Comment" +#~ msgstr "Коментар" + +#~ msgid "TeX virtual" +#~ msgstr "TeX віртуальний" + +#~ msgid "TeX Font Metric" +#~ msgstr "Метрики шрифтів TeX" + +#~ msgid "FreeType" +#~ msgstr "FreeType" diff --git a/po/uk/okular_epub.po b/po/uk/okular_epub.po new file mode 100644 index 0000000..9b59296 --- /dev/null +++ b/po/uk/okular_epub.po @@ -0,0 +1,58 @@ +# Translation of okular_epub.po to Ukrainian +# Copyright (C) 2008-2013 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# Yuri Chornoivan , 2008, 2010, 2011, 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_epub\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-05-19 10:35+0300\n" +"Last-Translator: Yuri Chornoivan \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Юрій Чорноіван" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "yurchor@ukr.net" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "Помилка під час відкриття документа EPub." + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "EPub" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "Налаштування модуля EPub" + +#~ msgid "EPub Backend" +#~ msgstr "Модуль EPub" + +#~ msgid "An EPub backend" +#~ msgstr "Сервер EPub" + +#~ msgid "© 2008 Ely Levy" +#~ msgstr "© Ely Levy, 2008" + +#~ msgid "Ely Levy" +#~ msgstr "Ely Levy" diff --git a/po/uk/okular_fax.po b/po/uk/okular_fax.po new file mode 100644 index 0000000..44a52ac --- /dev/null +++ b/po/uk/okular_fax.po @@ -0,0 +1,48 @@ +# Translation of okular_fax.po to Ukrainian +# Copyright (C) 2008-2011 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# Yuri Chornoivan , 2008, 2010, 2011. +msgid "" +msgstr "" +"Project-Id-Version: okular_fax\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2011-08-12 18:30+0300\n" +"Last-Translator: Yuri Chornoivan \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.2\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Юрій Чорноіван" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "yurchor@ukr.net" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "Неможливо завантажити документ" + +#~ msgid "Fax Backend" +#~ msgstr "Модуль факсів" + +#~ msgid "A G3/G4 fax document backend" +#~ msgstr "Сервер документів факсів G3/G4" + +#~ msgid "© 2008 Tobias Koenig" +#~ msgstr "© Tobias Koenig, 2008" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/uk/okular_fictionbook.po b/po/uk/okular_fictionbook.po new file mode 100644 index 0000000..bdf811d --- /dev/null +++ b/po/uk/okular_fictionbook.po @@ -0,0 +1,84 @@ +# Translation of okular_fictionbook.po to Ukrainian +# Copyright (C) 2007-2013 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# Ivan Petrouchtchak , 2007. +# Yuri Chornoivan , 2008, 2010, 2011, 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_fictionbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-05-19 10:35+0300\n" +"Last-Translator: Yuri Chornoivan \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "о. Іван Петрущак" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "fr.ivan@ukrainian-orthodox.org" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "Документ не є чинним FictionBook" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "Неможливо відкрити документ: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "Документ не є чинним архівом ZIP" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "Некоректна структура документа (відсутній головний каталог)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "Документ не має вмісту" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "Некоректний документ XML: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "FictionBook" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "Налаштування модуля FictionBook" + +#~ msgid "Fiction Book Backend" +#~ msgstr "Модуль белетристики" + +#~ msgid "A renderer for FictionBook eBooks" +#~ msgstr "Програма для відображення електронної белетристики" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© Tobias Koenig, 2007–2008" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/uk/okular_ghostview.po b/po/uk/okular_ghostview.po new file mode 100644 index 0000000..478f420 --- /dev/null +++ b/po/uk/okular_ghostview.po @@ -0,0 +1,96 @@ +# Translation of okular_ghostview.po to Ukrainian +# Copyright (C) 2007-2013 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# Ivan Petrouchtchak , 2007, 2008. +# Yuri Chornoivan , 2008, 2009, 2010, 2011, 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_ghostview\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-03-03 20:23+0200\n" +"Last-Translator: Yuri Chornoivan \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "о. Іван Петрущак" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "fr.ivan@ukrainian-orthodox.org" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "Використовувати шрифти платформи" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"Визначає, чи слід дозволяти Ghostscript використовувати системні шрифти. " +"Якщо матиме значення false, дозволятиметься лише використання шрифтів, " +"вбудованих у сам документ." + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "Загальні параметри" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "&Використовувати шрифти платформи" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Налаштування програми Ghostscript" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "Версія документа" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "Рівень мови" + +#~ msgid "PS Backend" +#~ msgstr "Модуль PS" + +#~ msgid "A PostScript file renderer." +#~ msgstr "Модуль для показу файлів PostScript." + +#~ msgid "© 2007-2008 Albert Astals Cid" +#~ msgstr "© Albert Astals Cid, 2007–2008" + +#~ msgid "Based on the Spectre library." +#~ msgstr "Засновано на бібліотеці Spectre." + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" diff --git a/po/uk/okular_kimgio.po b/po/uk/okular_kimgio.po new file mode 100644 index 0000000..d1dab44 --- /dev/null +++ b/po/uk/okular_kimgio.po @@ -0,0 +1,73 @@ +# Translation of okular_kimgio.po to Ukrainian +# Copyright (C) 2007-2017 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# Ivan Petrouchtchak , 2007. +# Yuri Chornoivan , 2009, 2010, 2011, 2017. +msgid "" +msgstr "" +"Project-Id-Version: okular_kimgio\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2017-11-15 09:27+0200\n" +"Last-Translator: Yuri Chornoivan \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 2.0\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "о. Іван Петрущак" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "fr.ivan@ukrainian-orthodox.org" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "Неможливо завантажити документ: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" +"Форматування цього документа є помилковим. Програмою показано найімовірніше " +"припущення щодо вигляду цього документа." + +#~ msgid "Image Backend" +#~ msgstr "Модуль зображень" + +#~ msgid "A simple image backend" +#~ msgstr "Проста програма для зображень" + +#~ msgid "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" +#~ msgstr "" +#~ "© Albert Astals Cid, 2005, 2009 \n" +#~ "© Pino Toscano, 2006–2007\n" +#~ "© Tobias Koenig, 2006–2007" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" + +#~ msgid "Main Toolbar" +#~ msgstr "Головний пенал" diff --git a/po/uk/okular_markdown.po b/po/uk/okular_markdown.po new file mode 100644 index 0000000..2139d17 --- /dev/null +++ b/po/uk/okular_markdown.po @@ -0,0 +1,56 @@ +# Translation of okular_markdown.po to Ukrainian +# Copyright (C) 2017-2019 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# Yuri Chornoivan , 2017, 2018, 2019. +msgid "" +msgstr "" +"Project-Id-Version: okular_markdown\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-03-31 08:43+0300\n" +"Last-Translator: Yuri Chornoivan \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Lokalize 19.03.70\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Юрій Чорноіван" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "yurchor@ukr.net" + +#: converter.cpp:59 converter.cpp:93 +#, kde-format +msgid "Failed to open the document" +msgstr "Не вдалося відкрити документ" + +#: converter.cpp:106 converter.cpp:124 +#, kde-format +msgid "Failed to compile the Markdown document." +msgstr "Не вдалося обробити документ Markdown." + +#: generator_md.cpp:58 +#, kde-format +msgid "Enable SmartyPants formatting" +msgstr "Увімкнути форматування SmartyPants" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown" +msgstr "Markdown" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown Backend Configuration" +msgstr "Налаштування модуля Markdown" diff --git a/po/uk/okular_mobi.po b/po/uk/okular_mobi.po new file mode 100644 index 0000000..99f3448 --- /dev/null +++ b/po/uk/okular_mobi.po @@ -0,0 +1,65 @@ +# Translation of okular_mobi.po to Ukrainian +# Copyright (C) 2008-2013 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# Yuri Chornoivan , 2008, 2009, 2010, 2011, 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_mobi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-05-19 10:35+0300\n" +"Last-Translator: Yuri Chornoivan \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Юрій Чорноіван" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "yurchor@ukr.net" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Помилка під час відкриття документа Mobipocket." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "" +"Цю книгу захищено DRM, її можна показувати лише на підписаному пристрої" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "Mobipocket" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "Налаштування модуля Mobipocket" + +#~ msgid "Mobipocket Backend" +#~ msgstr "Модуль Mobipocket" + +#~ msgid "A mobipocket backend" +#~ msgstr "Сервер mobipocket" + +#~ msgid "© 2008-2009 Jakub Stachowski" +#~ msgstr "© Jakub Stachowski, 2008–2009" + +#~ msgid "Jakub Stachowski" +#~ msgstr "Jakub Stachowski" diff --git a/po/uk/okular_poppler.po b/po/uk/okular_poppler.po new file mode 100644 index 0000000..69b719b --- /dev/null +++ b/po/uk/okular_poppler.po @@ -0,0 +1,443 @@ +# Translation of okular_poppler.po to Ukrainian +# Copyright (C) 2007-2020 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# Ivan Petrouchtchak , 2007, 2008. +# Yuri Chornoivan , 2008, 2009, 2010, 2011, 2012, 2013, 2018, 2019, 2020, 2021, 2023, 2025. +msgid "" +msgstr "" +"Project-Id-Version: okular_poppler\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-10 16:35+0300\n" +"Last-Translator: Yuri Chornoivan \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 23.04.3\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "о. Іван Петрущак,Юрій Чорноіван" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "fr.ivan@ukrainian-orthodox.org,yurchor@ukr.net" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "Увімкнути попередній перегляд наддруку:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "Ніколи" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "Завжди" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "Автоматично" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "Покращення тонких ліній:" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "Без оптимізації" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "Суцільні" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "Надати форму" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "Типовий режим масштабування при друці:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "За областю друку" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "За цілою сторінкою" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "Немає, друкувати початковий розмір" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" +"Позначення цього пункту дозволить Okular з'єднуватися зі сторонніми " +"серверами OCSP для перевірки, чи не було відкликано з моменту їх створення " +"сертифікати, які використовуються для цифрових підписів." + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" +"Перевіряти відкликання сертифікатів цифрових підписів за допомогою сторонніх " +"серверів" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "Модуль підписів:" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" +"Ці підписи може бути перевірено лише користувачами сучасних версій Okular з " +"увімкненим модулем GnuPG" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "Дозволити ключі PGP у підписах (розширення Okular)" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "База даних сертифікатів" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "Типовий:" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "Нетипове:" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "Доступні сертифікати" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "З&авантажити підписи" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "Параметри PDF" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "Надрукувати анотації" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "Включити анотації до надрукованого документа" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"Включити анотації до надрукованого документа. Зніміть позначку з цього " +"пункту, якщо вам потрібно надрукувати початковий незмінений документ без " +"анотацій." + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "Перетворити на растрове зображення" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "Перетворювати на растрове зображення перед друком" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"Примусово перетворює кожну сторінку на растрове зображення перед тим, як її " +"друкувати. Через це може дещо постраждати якість, але зображення лишиться " +"прийнятним для друку документів. Може знадобитися для документів, під час " +"друку яких виникають проблеми." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "Режим масштабування для друкованих сторінок" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "Режим масштабування:" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF вер. %1.%2" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "Формат" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "Зашифровано" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "Не зашифровано" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "Захист" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "Так" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "Оптимізовано" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Підписано: %1\n" +"\n" +"Дата: %2" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "Вжито Poppler %1" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" +"Вжито Poppler %1\n" +"\n" +"Зібрано з Poppler %2" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "Налаштовування модуля PDF" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "Не вдалося записати тимчасовий файл" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "Не вдалося перейменувати тимчасовий файл" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" +"У документі знайдено деякі помилки. Ймовірно, Okular не вдасться показати " +"його належним чином." + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" +"Ці підписи працюватимуть лише між сучасними версіями Okular із увімкненим " +"модулем обробки на основі GnuPG" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "Увімкнути підписи PGP" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "Видано для" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "Ел. пошта" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "Дата завершення строку дії" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" +"Ви користуєтеся бібліотекою Poppler, яку зібрано без підтримки NSS.\n" +"З цієї причини ви не зможете скористатися додаванням цифрових підписів" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "без обмежень" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "Потрібен перезапуск" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "" +"Для набуття чинності внесеними змінами до параметрів каталогу NSS вам слід " +"перезапустити Okular" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter Password" +msgstr "Введіть пароль" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "Введіть пароль для відкриття %1:" + +#~ msgid "Not Available" +#~ msgstr "Недоступне" + +#~ msgid "PDF Certificates" +#~ msgstr "Сертифікати PDF" + +#~ msgid "PDF Digital Signature Certificates" +#~ msgstr "Сертифікати цифрових підписів PDF" + +#~ msgid "Select rasterization to enable this!" +#~ msgstr "Виберіть растеризацію, щоб увімкнути цей пункт!" + +#~ msgid "PDF Backend" +#~ msgstr "Модуль PDF" + +#~ msgid "A PDF file renderer" +#~ msgstr "Програма для показу файлів PDF" + +#~ msgid "© 2005-2008 Albert Astals Cid" +#~ msgstr "© Albert Astals Cid, 2005–2008" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Saving files with /Encrypt is not supported." +#~ msgstr "Зберігання файлів з /Encrypt не підтримується." + +#~ msgid "Unknown" +#~ msgstr "Невідомо" + +#~ msgid "Unknown Date" +#~ msgstr "Невідома дата" + +#~ msgid "Unknown Encryption" +#~ msgstr "Невідоме шифрування" + +#~ msgid "Unknown Optimization" +#~ msgstr "Невідома оптимізація" + +#~ msgid "Please enter the password to read the document:" +#~ msgstr "Будь ласка, введіть пароль, щоб прочитати документ:" + +#~ msgid "Incorrect password. Try again:" +#~ msgstr "Неправильний пароль. Спробуйте знов:" diff --git a/po/uk/okular_tiff.po b/po/uk/okular_tiff.po new file mode 100644 index 0000000..6d51b36 --- /dev/null +++ b/po/uk/okular_tiff.po @@ -0,0 +1,31 @@ +# Translation of okular_tiff.po to Ukrainian +# Copyright (C) 2020 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# Yuri Chornoivan , 2020. +msgid "" +msgstr "" +"Project-Id-Version: okular_tiff\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2020-07-09 08:21+0300\n" +"Last-Translator: Yuri Chornoivan \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Lokalize 20.07.70\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Юрій Чорноіван" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "yurchor@ukr.net" diff --git a/po/uk/okular_txt.po b/po/uk/okular_txt.po new file mode 100644 index 0000000..01abc8e --- /dev/null +++ b/po/uk/okular_txt.po @@ -0,0 +1,53 @@ +# Translation of okular_txt.po to Ukrainian +# Copyright (C) 2013 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# Yuri Chornoivan , 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_txt\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-05-19 11:08+0300\n" +"Last-Translator: Yuri Chornoivan \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Lokalize 1.5\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Юрій Чорноіван" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "yurchor@ukr.net" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "TXT" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "Налаштування модуля txt" + +#~ msgid "Txt Backend" +#~ msgstr "Модуль тексту" + +#~ msgid "Txt backend." +#~ msgstr "Модуль тексту (txt)." + +#~ msgid "© 2013 Azat Khuzhin" +#~ msgstr "© Azat Khuzhin, 2013" + +#~ msgid "Azat Khuzhin" +#~ msgstr "Azat Khuzhin" diff --git a/po/uk/okular_xps.po b/po/uk/okular_xps.po new file mode 100644 index 0000000..5565e18 --- /dev/null +++ b/po/uk/okular_xps.po @@ -0,0 +1,61 @@ +# Translation of okular_xps.po to Ukrainian +# Copyright (C) 2007-2011 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# Ivan Petrouchtchak , 2007. +# Yuri Chornoivan , 2008, 2010, 2011. +msgid "" +msgstr "" +"Project-Id-Version: okular_xps\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2011-08-12 18:32+0300\n" +"Last-Translator: Yuri Chornoivan \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.2\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "о. Іван Петрущак" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "fr.ivan@ukrainian-orthodox.org" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "Модифікація" + +#~ msgid "XPS Backend" +#~ msgstr "Модуль XPS" + +#~ msgid "An XPS backend" +#~ msgstr "Програма для XPS" + +#~ msgid "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" +#~ msgstr "" +#~ "© Brad Hards, 2006–2007\n" +#~ "© Jiri Klement, 2007\n" +#~ "© Pino Toscano, 2008" + +#~ msgid "Brad Hards" +#~ msgstr "Brad Hards" + +#~ msgid "Jiri Klement" +#~ msgstr "Jiri Klement" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" diff --git a/po/uk/org.kde.active.documentviewer.po b/po/uk/org.kde.active.documentviewer.po new file mode 100644 index 0000000..d009913 --- /dev/null +++ b/po/uk/org.kde.active.documentviewer.po @@ -0,0 +1,239 @@ +# Translation of org.kde.active.documentviewer.po to Ukrainian +# Copyright (C) 2012-2020 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# Yuri Chornoivan , 2012, 2016, 2018, 2019, 2020, 2022, 2024, 2025. +msgid "" +msgstr "" +"Project-Id-Version: org.kde.active.documentviewer\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-07-29 09:57+0300\n" +"Last-Translator: Yuri Chornoivan \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Lokalize 23.04.3\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "Закладки" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "Переглядач сертифікатів" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "Видавець" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "Звичайне ім'я:" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "Ел. пошта:" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "Організація:" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "Видано для" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "Чинність" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "Видано:" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "Спливає:" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "Відбитки" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "Відбиток SHA-1:" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "Відбиток SHA-256:" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +msgid "Export…" +msgstr "Експортувати…" + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "Закрити" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "файл сертифіката (*.cer)" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "Помилка" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "Не вдалося експортувати сертифікат." + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "Okular" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "Відкрити…" + +#: ui/Main.qml:49 +msgid "About" +msgstr "Про програму" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "Потрібен пароль" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "Вилучити закладку" + +#: ui/MainView.qml:29 +msgid "Bookmark this page" +msgstr "Додати цю сторінку до закладок" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "Мініатюри" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "Зміст" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "Підписи" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "Властивості підпису" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "Стан чинності" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "Чинність підпису:" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "Модифікації документа:" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "Додаткові відомості" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "Підписано:" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "Час підписування:" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "Причина:" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "Розташування:" + +#: ui/SignaturePropertiesPage.qml:96 +msgid "Document Version" +msgstr "Версія документа" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Модифікація документа %1 з %2" + +#: ui/SignaturePropertiesPage.qml:108 +msgid "Save Signed Version…" +msgstr "Зберегти підписану версію…" + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +msgid "View Certificate…" +msgstr "Переглянути сертифікат…" + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "Не вдалося зберегти підпис." + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "Недоступний" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "Нічого не знайдено." + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "Немає відкритих документів" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "Недавні документи" + +#: ui/WelcomeView.qml:108 +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "Ваші документи" + +#~ msgid "Open..." +#~ msgstr "Відкрити…" + +#~ msgid "Search..." +#~ msgstr "Шукати…" + +#~ msgid "Open Android..." +#~ msgstr "Відкрити Android…" + +#~ msgid "" +#~ "No Documents found. To start to read, put some files in the Documents " +#~ "folder of your device." +#~ msgstr "" +#~ "Документів не знайдено. Щоб розпочати читання, розмістіть якісь файли у " +#~ "теці документів вашого пристрою." + +#~ msgid "Document viewer for Plasma Active using Okular" +#~ msgstr "Переглядач документів для портативної Плазми на основі Okular" + +#~ msgid "Reader" +#~ msgstr "Переглядач" + +#~ msgid "Copyright 2012 Marco Martin" +#~ msgstr "© Marco Martin, 2012" + +#~ msgid "Marco Martin" +#~ msgstr "Marco Martin" + +#~ msgid "URL of the file to open" +#~ msgstr "Адреса або файл, який слід відкрити" diff --git a/po/vi/okular.po b/po/vi/okular.po new file mode 100644 index 0000000..b4ab330 --- /dev/null +++ b/po/vi/okular.po @@ -0,0 +1,5961 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Phu Hung Nguyen , 2021, 2022. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2022-10-15 18:22+0200\n" +"Last-Translator: Phu Hung Nguyen \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Lokalize 22.04.1\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Nguyễn Hùng Phú" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "phu.nguyen@kdemail.net" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Okular, trình xem tài liệu vạn năng" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "Bảo trì viên trước đây" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "" +"Nhiều việc phần kết cấu, hậu phương FictionBook và hậu phương ODT trước đây" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "Nhà phát triển" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymanski" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "Tạo ra Okular từ cơ sở mã KPDF" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "Enrico Ros" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "Nhà phát triển KPDF" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "Eugene Trounev" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "Phần hình ảnh của chú dẫn" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "Jiri Baum - NICTA" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "Công cụ chọn bảng" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "Fabio D'Urso" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "Cải thiện chú dẫn" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "Đi đến trang %1" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "Mở tệp bên ngoài" + +#: core/action.cpp:197 +#, fuzzy, kde-format +#| msgid "Execute '%1'..." +msgid "Execute '%1'…" +msgstr "Thực thi '%1'..." + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "Trang đầu" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "Trang trước" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "Trang sau" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "Trang cuối" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "Lùi" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "Tiến" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Thoát" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "Bắt đầu trình chiếu" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "Kết thúc trình chiếu" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, fuzzy, kde-format +#| msgid "Go To Page..." +msgid "Go To Page…" +msgstr "Đi đến trang..." + +#: core/action.cpp:365 +#, fuzzy, kde-format +#| msgid "Play sound..." +msgid "Play sound…" +msgstr "Phát âm thanh..." + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "Kịch bản JavaScript" + +#: core/action.cpp:483 +#, fuzzy, kde-format +#| msgid "Play movie" +msgid "Play movie…" +msgstr "Phát phim" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "Phát phim" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "Dừng phim" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "Tạm dừng phim" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "Tiếp tục trở lại phim" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "Chọn hậu phương" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
    %1 (%2).

    Please select which one to use:
    " +msgstr "" +"Tìm thấy nhiều hơn một hậu phương cho kiểu MIME:
    %1 (%2)." +"

    Vui lòng chọn cái để dùng:
    " + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "Hầu hết các trang là %1." + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "Dọc %1" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "Ngang %1" + +#: core/document.cpp:246 +#, fuzzy, kde-format +#| msgctxt "%1 is width, %2 is height, %3 is paper size name" +#| msgid "%1 x %2 in (%3)" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 x %2 inch (%3)" + +#: core/document.cpp:248 +#, fuzzy, kde-format +#| msgctxt "%1 is width, %2 is height, %3 is paper size name" +#| msgid "%1 x %2 mm (%3)" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 x %2 mm (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "Tiếp tục tìm từ đầu" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "Tiếp tục tìm từ cuối" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "Không tìm được phần cài cắm nào có thể xử lí tài liệu được truyền vào." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "xoá chú dẫn" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"Tài liệu đang định thực thi một ứng dụng bên ngoài và vì sự an toàn của bạn, " +"Okular không cho phép việc đó." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "Không tìm thấy ứng dụng nào để mở tệp thuộc kiểu MIME %1." + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "Không mở được tệp tạm" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "Chuyển đổi in thất bại" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "Tiến trình in gặp sự cố" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "Tiến trình in không khởi động được" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "In thành tệp thất bại" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "Máy in ở trạng thái không hợp lệ" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "Không tìm thấy tệp để in" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "Không có tệp nào để in" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"Không tìm được tệp nhị phân phù hợp với việc in. Hãy đảm bảo rằng đang sẵn " +"có tệp nhị phân lpr của CUPS" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "Cỡ in trang không hợp lệ" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "Không mở được '%1'. Tệp không tồn tại" + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Tiêu đề" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Chủ đề" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Mô tả" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "Tác giả" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Trình tạo" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Trình sinh" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "Bản quyền" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "Số trang" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Tạo" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Chỉnh sửa" + +#: core/document.cpp:6032 +#, kde-format +msgid "MIME Type" +msgstr "Kiểu MIME" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "Loại:" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Từ khoá" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "Đường dẫn tệp" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "Kích thước tệp" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "Cỡ trang" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "thêm chú dẫn" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "xoá chú dẫn" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "chỉnh sửa thuộc tính chú dẫn" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "dịch chú dẫn" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "điều chỉnh chú dẫn" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "sửa văn bản" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "sửa nội dung chú dẫn" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "sửa nội dung biểu mẫu" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "sửa các lựa chọn biểu mẫu danh sách" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "sửa lựa chọn biểu mẫu kết hợp" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "sửa các trạng thái nút biểu mẫu" + +#: core/generator.cpp:790 +#, fuzzy, kde-format +#| msgid "Plain &Text..." +msgid "Plain &Text…" +msgstr "&Văn bản thuần..." + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "Văn bản OpenDocument" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "Các lựa chọn in" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "Vừa vùng in" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "Vừa toàn trang" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "Chế độ đổi cỡ:" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "Đừng hiện lại thông điệp này" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" + +#: core/signatureutils.cpp:498 +#, fuzzy, kde-kuit-format +#| msgctxt "@info" +#| msgid "Could not load the file %1" +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "Không tải được tệp %1" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "" + +#: core/signatureutils.cpp:504 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" + +#: core/signatureutils.cpp:506 +#, kde-format +msgid "Unknown signing error" +msgstr "" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Nguồn: %1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "&Phông chữ mặc định:" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "Phiên bản" + +#: gui/certificatemodel.cpp:41 +#, kde-format +msgid "Serial Number" +msgstr "Số loạt" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "Bên cấp" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "Cấp vào" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "Hết hạn vào" + +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Chủ thể" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "Khoá công khai" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "Dùng khóa" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "V%1" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "%1 (%2 bit)" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "Thuộc tính" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "Giá trị" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "Ghi chú bật lên" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "Máy đánh chữ" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "Ghi chú tại chỗ" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +#| msgid "Polygon with Comment" +msgid "Arrow with Comment" +msgstr "Đa giác với chú thích" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "Mũi tên" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "Đường thẳng với chú thích" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "Đường thẳng" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "Đa giác với chú thích" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "Đa giác" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgid "Stamp with Comment" +msgid "Rectangle with Comment" +msgstr "Con dấu với chú thích" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgid "Underline with Comment" +msgid "Ellipse with Comment" +msgstr "Gạch chân với chú thích" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "Tô sáng với chú thích" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "Tô sáng" + +#: gui/guiutils.cpp:87 +#, kde-format +msgid "Squiggle with Comment" +msgstr "Lượn sóng với chú thích" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "Lượn sóng" + +#: gui/guiutils.cpp:91 +#, kde-format +msgid "Underline with Comment" +msgstr "Gạch chân với chú thích" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "Gạch chân" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out with Comment" +msgstr "Gạch xuyên với chú thích" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "Gạch xuyên" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "Con dấu với chú thích" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "Con dấu" + +#: gui/guiutils.cpp:106 +#, kde-format +msgid "Freehand Line with Comment" +msgstr "Nét vẽ tay với chú thích" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "Nét vẽ tay" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "Dấu nháy" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "Đính kèm tệp" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "Âm thanh" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "Phim" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Màn hình" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "Khiển tố" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "Đa phương tiện" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation" +msgstr "%1 chú dẫn" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "Không rõ" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Tác giả: %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "Bạn muốn lưu %1 vào đâu?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "Không mở được \"%1\" để ghi. Tệp chưa được lưu." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "Chữ kí hợp lệ về mặt mật mã hoá." + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "Chữ kí không hợp lệ về mặt mật mã hoá." + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "Dạng tóm tắt không khớp." + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "Cấu trúc CMS/PKCS7 của chữ kí bị sai dạng." + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "Tài liệu không chứa chữ kí được yêu cầu." + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "Không xác minh được chữ kí." + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "Chứng chỉ được tin cậy." + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "Bên cấp chứng chỉ không được tin cậy." + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "Bên cấp chứng chỉ không rõ." + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "Chứng chỉ đã bị thu hồi." + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "Chứng chỉ đã hết hạn." + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "Chứng chỉ chưa được xác minh." + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "Có vấn đề không rõ với chứng chỉ hoặc dữ liệu bị hỏng." + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "MD2" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "MD5" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "SHA1" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "SHA256" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "SHA384" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "SHA512" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "SHA224" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "Thuật toán không rõ" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "RSA" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "DSA" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "EC" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "Kiểu không rõ" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "Chữ kí số" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "Không phản đối" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "Mật mã hoá khoá" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "Giải mật mã khoá" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "Thoả thuận của khoá" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "Kí chứng chỉ" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "Kí CRL" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "Chỉ mật mã hoá" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "Chưa chỉ định tác dụng nào" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr ", " + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "Tài liệu chưa bị chỉnh sửa kể từ khi kí." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" +"Tu bản tài liệu mà được bảo đảm bởi chữ kí này thì chưa bị chỉnh sửa;\n" +"tuy vậy đã có các thay đổi sau đó đối với tài liệu." + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" +"Tài liệu đã bị chỉnh sửa theo một cách mà một người kí trước đây không cho " +"phép." + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "Không hoàn tất được việc xác minh tính toàn vẹn của tài liệu." + +#: gui/signatureguiutils.cpp:208 +#, fuzzy, kde-format +#| msgid "This document has unsigned signature fields." +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "Tài liệu này có các trường chữ kí chưa được kí." + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "Tài liệu này đã được kí số." + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "Tài liệu này đã được kí số. Đã có thay đổi từ lần kí cuối." + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" +"Tài liệu này đã được kí số. Không kiểm nhận được chính xác một số chữ kí." + +#: gui/signaturemodel.cpp:141 +#, fuzzy, kde-format +#| msgid "Signing Time: %1" +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "Thời gian kí: %1" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "Trường: %1 ở trang %2" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "Tu bản %1: Kí bởi %2" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "Thời gian kí: %1" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "Lí do: %1" + +#: gui/signaturemodel.cpp:177 +#, fuzzy, kde-format +#| msgid "Reason: %1" +msgid "Location: %1" +msgstr "Lí do: %1" + +#: gui/signaturemodel.cpp:185 +#, fuzzy, kde-format +#| msgid "Digital Signature" +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "Chữ kí số" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "" + +#: gui/signaturemodel.cpp:193 +#, fuzzy, kde-format +#| msgctxt "Unknown author" +#| msgid "Unknown" +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "Không rõ" + +#: gui/signaturemodel.cpp:195 +#, fuzzy, kde-format +#| msgid "Signing Time: %1" +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "Thời gian kí: %1" + +#: gui/signaturemodel.cpp:201 +#, fuzzy, kde-format +#| msgid "Signing Time: %1" +msgid "Signature Type: %1" +msgstr "Thời gian kí: %1" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "Đỏ" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "Cam" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "Vàng" + +#: part/annotationactionhandler.cpp:151 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "Xanh lục" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "Xanh lơ" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "Xanh lam" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "Cánh sen" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "Trắng" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "Xám" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "Đen" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "Dày %1" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1%" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "Độ dày nét chú dẫn (không chú dẫn nào được chọn)" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "Màu chú dẫn (không chú dẫn nào được chọn)" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "Màu lấp đầy chú dẫn (không chú dẫn nào được chọn)" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "Độ mờ đục của chú dẫn (không chú dẫn nào được chọn)" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "Phông chữ chú dẫn (không chú dẫn nào được chọn)" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" +"Thêm chú dẫn hiện tại vào trình đơn chú dẫn nhanh (không chú dẫn nào được " +"chọn)" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" +"Ràng buộc tỉ lệ hình dạng là 1:1 hoặc góc nét là các bước 15° (không chú dẫn " +"nào được chọn)" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" +"Thiết lập nâng cao cho công cụ chú dẫn hiện tại (không chú dẫn nào được chọn)" + +#: part/annotationactionhandler.cpp:308 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Độ dày nét chú dẫn" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "Độ dày nét chú dẫn (Chú dẫn hiện tại không có độ dày nét)" + +#: part/annotationactionhandler.cpp:314 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Màu chữ chú dẫn" + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "Màu viền chú dẫn" + +#: part/annotationactionhandler.cpp:318 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Màu chú dẫn" + +#: part/annotationactionhandler.cpp:322 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Màu lấp đầy chú dẫn" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "Màu lấp đầy chú dẫn (Chú dẫn hiện tại không có màu lấp đầy)" + +#: part/annotationactionhandler.cpp:328 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "Phông chữ chú dẫn" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "Phông chữ chú dẫn (Chú dẫn hiện tại không có phông chữ)" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "Ràng buộc góc nét là các bước 15°" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "Ràng buộc tỉ lệ hình dạng là 1:1" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" +"Ràng buộc tỉ lệ hình dạng là 1:1 hoặc góc nét là các bước 15° (Không được " +"chú dẫn hiện tại hỗ trợ)" + +#: part/annotationactionhandler.cpp:341 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Độ mờ đục của chú dẫn" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "Thêm chú dẫn hiện tại vào trình đơn chú dẫn nhanh" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "Thiết lập nâng cao cho công cụ chú dẫn hiện tại" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "Màu" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "Màu lấp đầy" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "Trong suốt" + +#: part/annotationactionhandler.cpp:445 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "Custom Color..." +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "Màu tự chọn..." + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "Chọn màu" + +#: part/annotationactionhandler.cpp:552 +#, kde-format +msgid "&Annotations" +msgstr "Chú &dẫn" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "Ẩn" + +#: part/annotationactionhandler.cpp:554 +#, kde-format +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Hiện thêm công cụ chú dẫn" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "Tô sáng" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "Gạch chân" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "Lượn sóng" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "Gạch xuyên" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Máy đánh chữ" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "Ghi chú tại chỗ" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "Ghi chú bật lên" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "Nét vẽ tay" + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "Đường thẳng" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "Mũi tên" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "Hình chữ nhật" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "Hình bầu dục" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "Đa giác" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "Dạng hình học" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "Con dấu" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Chú dẫn nhanh" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "Chọn một công cụ chú dẫn trong các chú dẫn nhanh" + +#: part/annotationactionhandler.cpp:651 +#, kde-format +msgid "Quick Annotation Bar" +msgstr "Thanh chú dẫn nhanh" + +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "Thêm vào \"Chú dẫn nhanh\"" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "Giữ làm hoạt động" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "Giữ cho công cụ chú dẫn hoạt động sau khi dùng" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "Ràng buộc tỉ lệ và góc của công cụ chú dẫn" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "Phông chữ" + +#: part/annotationactionhandler.cpp:681 +#, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Thiết lập chú dẫn" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "Độ dày nét" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "Độ mờ đục" + +#: part/annotationactionhandler.cpp:696 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1%" + +#: part/annotationmodel.cpp:320 +#, fuzzy, kde-format +#| msgid "Page %1" +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "Trang %1" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "Trang %1" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "%1 chú dẫn" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "&Mở ghi chú bật lên" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Xoá dấu nhớ" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, kde-format +msgid "Copy Text to Clipboard" +msgstr "" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "&Xoá" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "&Thuộc tính" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, fuzzy, kde-format +#| msgctxt "%1 is the name of the file to save" +#| msgid "&Save '%1'..." +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "&Lưu '%1'..." + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "&Diện mạo" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "&Chung" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&Tác giả:" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "Tạo:" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "Chỉnh sửa:" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "Thuộc tính ghi chú bật lên" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "Thuộc tính máy đánh chữ" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "Thuộc tính ghi chú tại chỗ" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "Thuộc tính đường thẳng" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "Thuộc tính đa giác" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "Thuộc tính dạng hình học" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "Thuộc tính đánh dấu văn bản" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "Thuộc tính con dấu" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "Thuộc tính nét vẽ tay" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "Thuộc tính dấu nháy" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "Thuộc tính đính kèm tệp" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "Thuộc tính âm thanh" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "Thuộc tính phim" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "Thuộc tính chú dẫn" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "Chọn một kí hiệu con dấu tự chọn từ tệp" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "Chọn kí hiệu con dấu tự chọn" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" +"*.ico *.png *.xpm *.svg *.svgz | Tệp biểu tượng (*.ico *.png *.xpm *.svg *." +"svgz)" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "Không tải được tệp %1" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "Tệp không hợp lệ" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&Màu:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%1%" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "Độ &mờ đục:" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "Biểu tượng:" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "Chú thích" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "Trợ giúp" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "Chèn" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "Khoá" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "Đoạn mới" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "Ghi chú" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "Đoạn" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Phông chữ:" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "&Màu văn bản:" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "&Căn lề:" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "Trái" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "Giữa" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "Phải" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "Độ rộng &viền:" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "Phê chuẩn" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "Hiện trạng" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "Mật" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "Hành chính" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "Dự thảo" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "Thử nghiệm" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "Quá hạn" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "Hoàn chỉnh" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "Lấy phê bình" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "Công bố" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "Không phê chuẩn" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "Không công bố" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "Bán" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "Tối mật" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "Dấu nhớ" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "Thông tin" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "Kí hiệu con dấu:" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "Độ dà&y:" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "Đầu nét:" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "Cuối nét:" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "Hình vuông" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "Hình tròn" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "Hình kim cương" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "Mũi tên mở" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "Mũi tên đóng" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "Không" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "Nối chữ T" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "Mũi tên mở phải" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "Mũi tên đóng phải" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "Dấu gạch chéo" + +#: part/annotationwidgets.cpp:531 +#, kde-format +msgid "Leader line length:" +msgstr "" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "" + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "" + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "" + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "" + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "" + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"%2 dấu nhớ" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Dấu nhớ" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "Hiện cho tất cả các tài liệu" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, fuzzy, kde-format +#| msgid "Search..." +msgid "Search…" +msgstr "Tìm kiếm..." + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, kde-format +msgid "Expand All" +msgstr "" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, kde-format +msgid "Collapse All" +msgstr "" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "Đi đến dấu nhớ này" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "Đổi tên dấu nhớ" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Mở tài liệu" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "Xoá tất cả các dấu nhớ của tài liệu này" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "" + +#: part/certificateviewer.cpp:50 +#, kde-format +msgid "Export…" +msgstr "" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "" + +#: part/colormodemenu.cpp:21 +#, kde-format +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "" + +#: part/colormodemenu.cpp:41 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "" + +#: part/colormodemenu.cpp:42 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "Đỏ" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "Xanh lục" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "Xanh lam" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "Vàng" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "Đen" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "Trắng" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "Tô sáng vàng" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "Tô sáng xanh lục" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "Chèn văn bản" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "Vẽ viền quanh liên kết" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "Đổi màu" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "" +"Cảnh báo: những lựa chọn này có thể ảnh hưởng xấu đến tốc độ vẽ." + +#: part/dlgaccessibility.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "Đảo màu" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "Đổi màu giấy" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "Đổi màu tối & sáng" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "Chuyển sang đen trắng" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "Đảo độ sáng" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "Chế độ màu:" + +#: part/dlgaccessibility.cpp:87 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Màu giấy:" + +#: part/dlgaccessibility.cpp:99 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Màu tối:" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "Màu sáng:" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "Ngưỡng:" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Tương phản:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "" + +#: part/dlgannotations.cpp:25 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "" + +#: part/dlgannotations.cpp:26 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "" + +#: part/dlgannotations.cpp:28 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "" + +#: part/dlgannotations.cpp:34 +#, kde-format +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "Tác giả:" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" + +#: part/dlgannotations.cpp:48 +#, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

    Quick Annotation Tools

    " +msgstr "" + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "" + +#: part/dlgeditor.cpp:31 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
    \n" +"You can also put few placeholders:\n" +"
      \n" +"
    • %f - the file name
    • \n" +"
    • %l - the line of the file to be reached
    • \n" +"
    • %c - the column of the file to be reached
    • \n" +"
    \n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "" + +#: part/dlggeneral.cpp:92 +#, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "" + +#: part/dlggeneral.cpp:148 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "" + +#: part/dlggeneral.cpp:220 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%1%" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "" + +#: part/dlggeneral.cpp:228 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%1%" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "" + +#: part/dlggeneral.cpp:233 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "Vừa bề rộng" + +#: part/dlggeneral.cpp:234 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "Vừa trang" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "" + +#: part/dlgperformance.cpp:28 +#, kde-format +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "" + +#: part/dlgperformance.cpp:38 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "" + +#: part/dlgperformance.cpp:56 +#, kde-format +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" + +#: part/dlgpresentation.cpp:38 +#, kde-format +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] "" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "" + +#: part/dlgpresentation.cpp:63 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "" + +#: part/dlgpresentation.cpp:121 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

    Drawing Tools

    " +msgstr "" + +#: part/dlgpresentation.cpp:171 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "" + +#: part/dlgpresentation.cpp:172 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "" + +#: part/dlgpresentation.cpp:178 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "Độ dày nét &bút:" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "" + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "" + +#: part/embeddedfilesdialog.cpp:154 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "" + +#: part/embeddedfilesdialog.cpp:155 +#, kde-format +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "" + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "Vừa bề &rộng" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "&Vừa trang" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "Làm trang vừa trong cửa &sổ" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "" + +#: part/pageview.cpp:594 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "" + +#: part/pageview.cpp:595 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "Chọn &văn bản" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "Chọn &bảng" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "" + +#: part/pageview.cpp:711 +#, fuzzy, kde-format +#| msgid "Digital Signature" +msgid "Digitally &Sign…" +msgstr "Chữ kí số" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "" + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] "" + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "" + +#: part/pageview.cpp:2863 +#, kde-format +msgid "Image (%1 × %2 pixels)" +msgstr "" + +#: part/pageview.cpp:2865 +#, kde-format +msgid "Save to File…" +msgstr "" + +#: part/pageview.cpp:2885 +#, kde-format +msgid "Image [%1 × %2] copied to clipboard." +msgstr "" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "" + +#: part/pageview.cpp:2901 +#, kde-format +msgid "Image [%1 × %2] saved to %3 file." +msgstr "" + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "Vừa bề rộng" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "Vừa trang" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "" + +#: part/pageview.cpp:4107 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "%1%" +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1%" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "" + +#: part/pageview.cpp:4404 +#, kde-format +msgid "Configure Web Shortcuts…" +msgstr "" + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "" + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "" + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "" + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" + +#: part/pageview.cpp:5188 +#, fuzzy, kde-format +#| msgid "Sign Certificate" +msgid "No valid certificates" +msgstr "Kí chứng chỉ" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, fuzzy, kde-format +#| msgid "Sign Certificate" +msgid "Open Certificate Manager" +msgstr "Kí chứng chỉ" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
    Launch Certificate Manager " +"to import or manage certificates
    For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, fuzzy, kde-format +#| msgid "Sign Certificate" +msgid "No certificates found" +msgstr "Kí chứng chỉ" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
    For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name" +msgstr "Tên tác giả" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name for the annotation:" +msgstr "" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "Tô sáng" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Custom annotation name:" +msgstr "" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
    Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "" + +#: part/part.cpp:748 +#, kde-format +msgid "Configure Okular…" +msgstr "" + +#: part/part.cpp:751 +#, kde-format +msgid "Configure Viewer…" +msgstr "" + +#: part/part.cpp:757 +#, kde-format +msgid "Configure Viewer Backends…" +msgstr "" + +#: part/part.cpp:759 +#, kde-format +msgid "Configure Backends…" +msgstr "" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "" + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "" + +#: part/part.cpp:817 +#, kde-format +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "" + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "" + +#: part/part.cpp:945 +#, kde-format +msgid "&Import PostScript as PDF…" +msgstr "" + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "" + +#: part/part.cpp:962 +#, fuzzy, kde-format +#| msgctxt "@action:intoolbar Show list of quick annotation tools" +#| msgid "Quick Annotations" +msgid "Configure Annotations…" +msgstr "Chú dẫn nhanh" + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" + +#: part/part.cpp:1123 +#, kde-format +msgid "Document can't be saved" +msgstr "" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "" + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "" + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "" + +#: part/part.cpp:1357 +#, kde-format +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "" + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" + +#: part/part.cpp:2113 part/part.cpp:2131 +#, kde-format +msgid "Reloading the document…" +msgstr "" + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
    In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "" + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "" + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "" + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "T&able Selection" +msgid "Expand Whole Section" +msgstr "Chọn &bảng" + +#: part/part.cpp:3159 +#, kde-format +msgid "Collapse Whole Section" +msgstr "" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "" + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, kde-format +msgid "Quick Annotation Toolbar" +msgstr "" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "" + +#: part/propertiesdialog.cpp:145 +#, kde-format +msgid "Reading font information…" +msgstr "" + +#: part/propertiesdialog.cpp:158 +#, kde-format +msgid "&Page Sizes" +msgstr "" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "" + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "" + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, fuzzy, kde-format +#| msgid "Sign Certificate" +msgid "Certificates" +msgstr "Kí chứng chỉ" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, fuzzy, kde-format +#| msgid "Sign Certificate" +msgid "Only QES certificates" +msgstr "Kí chứng chỉ" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, kde-format +msgid "optional" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, kde-format +msgid "Background:" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, kde-format +msgid "Recent backgrounds:" +msgstr "" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

    No annotations

    To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
    " +msgstr "" + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "" + +#: part/signaturepartutils.cpp:180 +#, kde-format +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "" + +#: part/signaturepartutils.cpp:244 +#, kde-format +msgid "Enter document password" +msgstr "" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:95 +#, fuzzy, kde-format +#| msgid "Sign Certificate" +msgid "View Certificate…" +msgstr "Kí chứng chỉ" + +#: part/signaturepropertiesdialog.cpp:97 +#, fuzzy, kde-format +#| msgid "Sign Certificate" +msgid "View in Certificate Manager" +msgstr "Kí chứng chỉ" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, kde-format +msgid "&Edit…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "" + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "" + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "" + +#: shell/welcomescreen.cpp:137 +#, kde-format +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, kde-format +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "" + +#~ msgid "Geometry with Comment" +#~ msgstr "Dạng hình học với chú thích" + +#~ msgid "Geometry" +#~ msgstr "Dạng hình học" + +#~ msgid "Modified: %1" +#~ msgstr "Chỉnh sửa: %1" + +#~ msgid "Find..." +#~ msgstr "Tìm..." + +#~ msgid "Play movie..." +#~ msgstr "Phát phim..." + +#~ msgid "Unsigned Signature %1" +#~ msgstr "Chữ kí chưa được kí %1" + +#, fuzzy +#~| msgctxt "Unknown author" +#~| msgid "Unknown" +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "Không rõ" + +#, fuzzy +#~| msgid "Unsigned Signature %1" +#~ msgctxt "Signature type" +#~ msgid "Unsigned signature" +#~ msgstr "Chữ kí chưa được kí %1" + +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "Vừa bề rộng" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "Vừa trang" + +#~ msgid "Missing alert type" +#~ msgstr "Thiếu kiểu báo động" + +#~ msgctxt "@info" +#~ msgid "" +#~ "experimental feature.Stamps inserted in PDF documents are " +#~ "not visible in PDF readers other than Okular." +#~ msgstr "" +#~ "tính năng thử nghiệm.Con dấu được thêm vào tài liệu PDF sẽ " +#~ "không hiển thị trong các trình đọc PDF, trừ Okular." diff --git a/po/vi/okular_comicbook.po b/po/vi/okular_comicbook.po new file mode 100644 index 0000000..7f4eb6c --- /dev/null +++ b/po/vi/okular_comicbook.po @@ -0,0 +1,47 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Phu Hung Nguyen , 2021, 2022. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2022-05-12 12:03+0200\n" +"Last-Translator: Phu Hung Nguyen \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Lokalize 21.12.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Nguyễn Hùng Phú" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "phu.nguyen@kdemail.net" + +#: document.cpp:97 +#, kde-format +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "" +"Không thể mở tài liệu, không tìm thấy trình giải rar lẫn trình mở kho trữ." + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "" +"Phiên bản trình giải rar trong hệ thống của bạn không phù hợp để mở truyện " +"tranh." + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "Định dạng ComicBook không rõ." diff --git a/po/vi/okular_djvu.po b/po/vi/okular_djvu.po new file mode 100644 index 0000000..68eb676 --- /dev/null +++ b/po/vi/okular_djvu.po @@ -0,0 +1,95 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Phu Hung Nguyen , 2021. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2021-09-09 17:41+0200\n" +"Last-Translator: Phu Hung Nguyen \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Lokalize 20.12.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Nguyễn Hùng Phú" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "phu.nguyen@kdemail.net" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "Biên tập viên" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "Nhà xuất bản" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "Quyển" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "Kiểu tài liệu" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "Không rõ" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "Tệp thành phần" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "Không rõ" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "Trang đơn" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "Bọc" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "Gián tiếp" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "Bọc (cũ)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "Lập chỉ mục (cũ)" diff --git a/po/vi/okular_dvi.po b/po/vi/okular_dvi.po new file mode 100644 index 0000000..e7de3bd --- /dev/null +++ b/po/vi/okular_dvi.po @@ -0,0 +1,461 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Phu Hung Nguyen , 2021. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2021-09-13 22:34+0200\n" +"Last-Translator: Phu Hung Nguyen \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Lokalize 20.12.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Nguyễn Hùng Phú" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "phu.nguyen@kdemail.net" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

    Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

    Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

    " +msgstr "" + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

    Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

    Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

    " +msgstr "" + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "" + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "" + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "" + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "" + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "" + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

    The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

    What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

    PATH: %2

    " +msgstr "" + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

    The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

    %2

    " +msgstr "" + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "" + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "" + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "" + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "" + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "" + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "" + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "" + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "" + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "" + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "" + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
    " +msgstr "" + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
    " +msgstr "" + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "" + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

    Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

    PATH: %1

    %2

    " +msgstr "" + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

    There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
    Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

    PATH: %1

    %2

    " +msgstr "" + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" + +#: fontpool.cpp:482 +#, kde-format +msgid "Currently generating %1 at %2 dpi…" +msgstr "" + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "" + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "" + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "" + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "" + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "" + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "" + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "" + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "" + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "" + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "" + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "" + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "" + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "" + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "" diff --git a/po/vi/okular_epub.po b/po/vi/okular_epub.po new file mode 100644 index 0000000..147f206 --- /dev/null +++ b/po/vi/okular_epub.po @@ -0,0 +1,43 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Phu Hung Nguyen , 2021. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2021-09-09 17:30+0200\n" +"Last-Translator: Phu Hung Nguyen \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Lokalize 20.12.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Nguyễn Hùng Phú" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "phu.nguyen@kdemail.net" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "Lỗi khi mở tài liệu EPub." + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "EPub" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "Cấu hình hậu phương EPub" diff --git a/po/vi/okular_fax.po b/po/vi/okular_fax.po new file mode 100644 index 0000000..530e2f7 --- /dev/null +++ b/po/vi/okular_fax.po @@ -0,0 +1,33 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Phu Hung Nguyen , 2021. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2021-09-09 17:11+0200\n" +"Last-Translator: Phu Hung Nguyen \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Lokalize 20.12.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Nguyễn Hùng Phú" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "phu.nguyen@kdemail.net" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "Không thể tải tài liệu" diff --git a/po/vi/okular_fictionbook.po b/po/vi/okular_fictionbook.po new file mode 100644 index 0000000..eadede1 --- /dev/null +++ b/po/vi/okular_fictionbook.po @@ -0,0 +1,68 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Phu Hung Nguyen , 2021. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2021-09-09 17:34+0200\n" +"Last-Translator: Phu Hung Nguyen \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Lokalize 20.12.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Nguyễn Hùng Phú" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "phu.nguyen@kdemail.net" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "Tài liệu này không phải là một FictionBook hợp lệ" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "Không thể mở tài liệu: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "Tài liệu này không phải là một kho trữ ZIP hợp lệ" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "Cấu trúc tài liệu không hợp lệ (thiếu thư mục chính)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "Không tìm thấy nội dung trong tài liệu" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "Tài liệu XML không hợp lệ: %1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "FictionBook" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "Cấu hình hậu phương FictionBook" diff --git a/po/vi/okular_ghostview.po b/po/vi/okular_ghostview.po new file mode 100644 index 0000000..f001bad --- /dev/null +++ b/po/vi/okular_ghostview.po @@ -0,0 +1,77 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Phu Hung Nguyen , 2021. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2021-09-09 17:38+0200\n" +"Last-Translator: Phu Hung Nguyen \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Lokalize 20.12.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Nguyễn Hùng Phú" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "phu.nguyen@kdemail.net" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "Dùng phông chữ của nền tảng" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"Xác định liệu Ghostscript có nên được cho phép dùng các phông chữ trên nền " +"tảng hay không, nếu không thì chỉ cho phép dùng các phông chữ được nhúng " +"trong tài liệu" + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "Thiết lập chung" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "Dùng &phông chữ của nền tảng" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Cấu hình hậu phương Ghostscript" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "Phiên bản tài liệu" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "Cấp ngôn ngữ" diff --git a/po/vi/okular_kimgio.po b/po/vi/okular_kimgio.po new file mode 100644 index 0000000..8155576 --- /dev/null +++ b/po/vi/okular_kimgio.po @@ -0,0 +1,42 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Phu Hung Nguyen , 2021. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2021-09-09 17:22+0200\n" +"Last-Translator: Phu Hung Nguyen \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Lokalize 20.12.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Nguyễn Hùng Phú" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "phu.nguyen@kdemail.net" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "Không thể tải tài liệu: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" +"Tài liệu này có vẻ bị sai dạng. Đây là diện mạo gần đúng nhất có thể so với " +"diện mạo theo dự định của tài liệu." diff --git a/po/vi/okular_markdown.po b/po/vi/okular_markdown.po new file mode 100644 index 0000000..4f322b0 --- /dev/null +++ b/po/vi/okular_markdown.po @@ -0,0 +1,53 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Phu Hung Nguyen , 2021. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2021-09-09 16:42+0200\n" +"Last-Translator: Phu Hung Nguyen \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Lokalize 20.12.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Nguyễn Hùng Phú" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "phu.nguyen@kdemail.net" + +#: converter.cpp:59 converter.cpp:93 +#, kde-format +msgid "Failed to open the document" +msgstr "Mở tài liệu thất bại" + +#: converter.cpp:106 converter.cpp:124 +#, kde-format +msgid "Failed to compile the Markdown document." +msgstr "Biên dịch tài liệu Markdown thất bại." + +#: generator_md.cpp:58 +#, kde-format +msgid "Enable SmartyPants formatting" +msgstr "Bật định dạng bằng SmartyPants" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown" +msgstr "Markdown" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown Backend Configuration" +msgstr "Cấu hình hậu phương Markdown" diff --git a/po/vi/okular_mobi.po b/po/vi/okular_mobi.po new file mode 100644 index 0000000..3d35b60 --- /dev/null +++ b/po/vi/okular_mobi.po @@ -0,0 +1,50 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Phu Hung Nguyen , 2021. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2021-09-09 17:31+0200\n" +"Last-Translator: Phu Hung Nguyen \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Lokalize 20.12.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Nguyễn Hùng Phú" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "phu.nguyen@kdemail.net" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Lỗi khi mở tài liệu Mobipocket." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "" +"Quyển này được DRM bảo vệ và chỉ có thể hiển thị trên thiết bị được chỉ định" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "Mobipocket" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "Cấu hình hậu phương Mobipocket" diff --git a/po/vi/okular_poppler.po b/po/vi/okular_poppler.po new file mode 100644 index 0000000..b599830 --- /dev/null +++ b/po/vi/okular_poppler.po @@ -0,0 +1,391 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Phu Hung Nguyen , 2021, 2022. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2022-05-12 12:03+0200\n" +"Last-Translator: Phu Hung Nguyen \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Lokalize 21.12.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Nguyễn Hùng Phú" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "phu.nguyen@kdemail.net" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "Làm rõ các đường mảnh:" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "Không" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "Đồng nhất" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "Hình dạng" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, fuzzy, kde-format +#| msgid "Scaling mode for the printed pages" +msgid "Default scaling mode when printing:" +msgstr "Chế độ đổi cỡ cho các trang được in" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "Vừa cho vùng in" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "Vừa cho toàn trang" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "Không; in kích cỡ gốc" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" +"Việc bật lựa chọn này sẽ cho phép Okular liên hệ với các máy chủ OCSP của " +"bên thứ ba để kiểm tra xem các chứng chỉ dùng cho chữ kí số từ khi tạo đã bị " +"thu hồi hay chưa." + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" +"Dùng các máy chủ của bên thứ ba để kiểm tra sự thu hồi các chứng chỉ của các " +"chữ kí số" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "Cơ sở dữ liệu chứng chỉ" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "Mặc định:" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "Tự chọn:" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "Chứng chỉ hiện có" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "Tải chữ &kí" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "Các lựa chọn PDF" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "In chú dẫn" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "Bao gồm chú dẫn trong tài liệu được in" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"Bao gồm chú dẫn trong tài liệu được in. Bạn có thể tắt chức năng này nếu " +"muốn in tài liệu không chú dẫn ban đầu." + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "Ép mành hoá" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "Mành hoá thành một ảnh trước khi in" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"Ép việc mành hoá mỗi trang thành một ảnh trước khi in. Việc này thường tạo " +"ra kết quả tệ hơn một chút, nhưng có ích khi in các tài liệu mà có vẻ in " +"không đúng." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "Chế độ đổi cỡ cho các trang được in" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "Chế độ đổi cỡ:" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF v. %1.%2" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "Định dạng" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "Mật mã hoá" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "Không mật mã hoá" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "An ninh" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "Có" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "Tối ưu hoá" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"Kí bởi: %1\n" +"\n" +"Ngày: %2" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "Dùng Poppler %1" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" +"Dùng Poppler %1\n" +"\n" +"Xây trên Poppler %2" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "Cấu hình hậu phương PDF" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" +"Tìm thấy một số lỗi trong tài liệu, có khả năng Okular sẽ không thể hiển thị " +"đúng nội dung" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" + +#: pdfsettingswidget.cpp:120 +#, fuzzy, kde-format +#| msgid "&Load Signatures" +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "Tải chữ &kí" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "Cấp cho" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "Thư" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "Ngày hết hạn" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" +"Bạn đang dùng một thư viện Poppler được xây mà không có hỗ trợ NSS.\n" +"Vì lí do đó, không thể thêm chữ kí số." + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "Cần khởi động lại" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "Bạn cần khởi động lại Okular sau khi thay đổi thiết lập thư mục NSS" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter Password" +msgstr "Nhập mật khẩu" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "Nhập mật khẩu để mở %1:" + +#~ msgid "Not Available" +#~ msgstr "Không có sẵn" diff --git a/po/vi/okular_tiff.po b/po/vi/okular_tiff.po new file mode 100644 index 0000000..a718957 --- /dev/null +++ b/po/vi/okular_tiff.po @@ -0,0 +1,28 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Phu Hung Nguyen , 2021. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2021-09-09 17:10+0200\n" +"Last-Translator: Phu Hung Nguyen \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Lokalize 20.12.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Nguyễn Hùng Phú" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "phu.nguyen@kdemail.net" diff --git a/po/vi/okular_txt.po b/po/vi/okular_txt.po new file mode 100644 index 0000000..a8b659b --- /dev/null +++ b/po/vi/okular_txt.po @@ -0,0 +1,38 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Phu Hung Nguyen , 2021. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2021-09-09 17:11+0200\n" +"Last-Translator: Phu Hung Nguyen \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Lokalize 20.12.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Nguyễn Hùng Phú" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "phu.nguyen@kdemail.net" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "Txt" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "Cấu hình hậu phương Txt" diff --git a/po/vi/okular_xps.po b/po/vi/okular_xps.po new file mode 100644 index 0000000..1c6b0cc --- /dev/null +++ b/po/vi/okular_xps.po @@ -0,0 +1,33 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Phu Hung Nguyen , 2021, 2022. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2022-05-06 07:43+0200\n" +"Last-Translator: Phu Hung Nguyen \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Lokalize 21.12.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Nguyễn Hùng Phú" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "phu.nguyen@kdemail.net" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "Tu bản" diff --git a/po/vi/org.kde.active.documentviewer.po b/po/vi/org.kde.active.documentviewer.po new file mode 100644 index 0000000..a7e3303 --- /dev/null +++ b/po/vi/org.kde.active.documentviewer.po @@ -0,0 +1,219 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# Phu Hung Nguyen , 2021, 2022. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2022-08-09 22:12+0200\n" +"Last-Translator: Phu Hung Nguyen \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Lokalize 22.04.1\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "Dấu nhớ" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "Trình xem chứng chỉ" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "Cấp bởi" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "Tên thông thường:" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "Thư điện tử:" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "Tổ chức:" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "Cấp cho" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "Thời hiệu" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "Cấp vào:" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "Hết hạn vào:" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "Điểm chỉ" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "Điểm chỉ SHA-1:" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "Điểm chỉ SHA-256:" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +#, fuzzy +#| msgid "Export..." +msgid "Export…" +msgstr "Xuất khẩu..." + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "Đóng" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "Tệp chứng chỉ (*.cer)" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "Lỗi" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "Không xuất khẩu được chứng chỉ." + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "Okular" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "" + +#: ui/Main.qml:49 +msgid "About" +msgstr "Thông tin" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "Cần mật khẩu" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "Xoá dấu nhớ" + +#: ui/MainView.qml:29 +msgid "Bookmark this page" +msgstr "Lưu dấu trang này" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "Hình nhỏ" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "Mục lục" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "Chữ kí" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "Thuộc tính chữ kí" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "Trạng thái hiệu lực" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "Hiệu lực của chữ kí:" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "Các chỉnh sửa của tài liệu" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "Thông tin bổ sung" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "Kí bởi:" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "Thời gian kí:" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "Lí do:" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "Địa điểm:" + +#: ui/SignaturePropertiesPage.qml:96 +msgid "Document Version" +msgstr "Phiên bản tài liệu" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "Tu bản tài liệu %1 trong %2" + +#: ui/SignaturePropertiesPage.qml:108 +#, fuzzy +#| msgid "Save Signed Version..." +msgid "Save Signed Version…" +msgstr "Lưu phiên bản đã được kí..." + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +#, fuzzy +#| msgid "View Certificate..." +msgid "View Certificate…" +msgstr "Xem chứng chỉ..." + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "Không lưu được chữ kí." + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "Không có sẵn" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "Không tìm thấy kết quả nào." + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "Không có tài liệu nào mở" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "" + +#: ui/WelcomeView.qml:108 +#, fuzzy +#| msgid "Document Version" +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "Phiên bản tài liệu" + +#~ msgid "Open..." +#~ msgstr "Mở..." + +#~ msgid "Search..." +#~ msgstr "Tìm kiếm..." diff --git a/po/wa/okular.po b/po/wa/okular.po new file mode 100644 index 0000000..b76b99d --- /dev/null +++ b/po/wa/okular.po @@ -0,0 +1,6906 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Jean Cayron , 2009. +# Jean Cayron et Odile Lambert , 2010, 2011. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2011-01-17 21:56+0100\n" +"Last-Translator: Jean Cayron \n" +"Language-Team: Walloon \n" +"Language: wa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 1.0\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Djan Cayron" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "jean.cayron@gmail.com" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Okular, en univiersel håyneu di documints" + +#: aboutdata.h:23 +#, fuzzy, kde-format +#| msgid "" +#| "(C) 2002 Wilco Greven, Christophe Devriese\n" +#| "(C) 2004-2005 Enrico Ros\n" +#| "(C) 2005 Piotr Szymanski\n" +#| "(C) 2004-2009 Albert Astals Cid\n" +#| "(C) 2006-2009 Pino Toscano" +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2009 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "Mintneu di dvant" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, fuzzy, kde-format +#| msgid "Lots of framework work, ODT and FictionBook backends" +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "" +"Beacôp d' ovraedje so l' evironmint, bouyes di fond ODT eyet Binde d' Imådjes" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, fuzzy, kde-format +#| msgid "KPDF developer" +msgid "Developer" +msgstr "Programeu po KPDF" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymanski" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "Ahiva Okular a pårti del båze do côde di KPDF" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "Enrico Ros" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "Programeu po KPDF" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "Eugene Trounev" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "Ovraedje grafike des notes" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "" + +#: aboutdata.h:37 +#, fuzzy, kde-format +#| msgid "&Text Selection Tool" +msgid "Table selection tool" +msgstr "Usteye po tchoezi l' te&cse" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "" + +#: aboutdata.h:38 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgid "Annotation improvements" +msgstr "Prôpietés di l' anotåcion" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "Potchî al pådje %1" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "Drovi dfoûtrin fitchî" + +#: core/action.cpp:197 +#, fuzzy, kde-format +#| msgid "Execute '%1'..." +msgid "Execute '%1'…" +msgstr "Enonder « %1 »..." + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "Prumire pådje" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "Pådje di dvant" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "Pådje shuvante" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "Dierinne pådje" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "En erî" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "En avant" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "Cwiter" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "Enonder prezintaedje" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "Fini prezintaedje" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go To Page…" +msgstr "Potchî al pådje" + +#: core/action.cpp:365 +#, fuzzy, kde-format +#| msgid "Play sound..." +msgid "Play sound…" +msgstr "Djouwer son..." + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "Sicripe JavaScript" + +#: core/action.cpp:483 +#, fuzzy, kde-format +#| msgid "Play movie..." +msgid "Play movie…" +msgstr "Djouwer fime..." + +#: core/action.cpp:554 +#, fuzzy, kde-format +#| msgid "Play movie..." +msgid "Play movie" +msgstr "Djouwer fime..." + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "" + +#: core/action.cpp:558 +#, fuzzy, kde-format +#| msgid "Play movie..." +msgid "Pause movie" +msgstr "Djouwer fime..." + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "Tchoezi l' programe fondmint" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
    %1 (%2).

    Please select which one to use:
    " +msgstr "" +"Dj' a trové pus k' on programe fondmint pol sôre MIME:
    %1 " +"(%2).

    Tchoezixhoz s' i vs plait li ké eployî:
    " + +#: core/document.cpp:200 +#, fuzzy, kde-format +#| msgid "Go to page %1" +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "Potchî al pådje %1" + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "" + +#: core/document.cpp:246 +#, fuzzy, kde-format +#| msgid "%1 x %2 in" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 x %2 pôces" + +#: core/document.cpp:248 +#, fuzzy, kde-format +#| msgid "%1 x %2 mm" +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 x %2 mm" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "" +"Dji n' sai trover d' tchôke-divins ki pout apougnî l' documint ki passe." + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "Prezintaedje" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" +"Li documint saye d' enonder on dfoûtrin programe eyet, po vosse såvrité, " +"Okular nel permet nén." + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "Dji n' a trové nou programe po drovi l' fitchî del sôre mime %1." + +#: core/document.cpp:4801 +#, fuzzy, kde-format +#| msgid "Could not open the temporary file for saving." +msgid "Could not open a temporary file" +msgstr "Dji n' sai drovi l' fitchî timporaire po schaper." + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "" + +#: core/document.cpp:4813 +#, fuzzy, kde-format +#| msgid "Unable to find the Okular component." +msgid "Unable to find file to print" +msgstr "Dji n' a savou trover l' componint Okular." + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, fuzzy, kde-format +#| msgid "Could not open \"%1\" for writing. File was not saved." +msgid "Could not open '%1'. File does not exist" +msgstr "Dji n' a savou drovi « %1 » po-z î scrire. Fitchî nén schapé." + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "Tite" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "Sudjet" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "Discrijhaedje" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "Oteur" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "Ahiveu" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "Produjheu" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "Copyright" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "Pådjes" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "Ahivé" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "Candjî" + +#: core/document.cpp:6032 +#, fuzzy, kde-format +#| msgid "Mime Type" +msgid "MIME Type" +msgstr "Sôre MIME" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "Categoreye" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "Mot-clés" + +#: core/document.cpp:6041 +#, fuzzy, kde-format +#| msgid "File" +msgid "File Path" +msgstr "Fitchî" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "Grandeu do fitchî" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "Grandeu do papî" + +#: core/documentcommands.cpp:62 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "Anotåcion" + +#: core/documentcommands.cpp:108 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "Prezintaedje" + +#: core/documentcommands.cpp:155 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "Prôpietés di l' anotåcion" + +#: core/documentcommands.cpp:190 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Text Annotation" +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "Anotåcion di tecse" + +#: core/documentcommands.cpp:263 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "Anotåcion" + +#: core/documentcommands.cpp:333 +#, fuzzy, kde-format +#| msgid "Select text" +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "Tchoezi tecse" + +#: core/documentcommands.cpp:398 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "Prôpietés di l' anotåcion" + +#: core/documentcommands.cpp:447 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "Prôpietés di l' anotåcion" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "" + +#: core/generator.cpp:790 +#, fuzzy, kde-format +#| msgid "Plain &Text..." +msgid "Plain &Text…" +msgstr "Peur &tecse..." + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "Tecse OpenDocument" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, fuzzy, kde-format +#| msgid "Editor Options" +msgid "Print Options" +msgstr "Tchuzes di l' aspougneu" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#: core/printoptionswidget.cpp:25 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgid "Scale mode:" +msgstr "Môde di coleur:" + +#: core/script/js_app.cpp:206 +#, fuzzy, kde-format +#| msgid "Close this message" +msgid "Do not show this message again" +msgstr "Clôre ci messaedje" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, fuzzy, kde-format +#| msgid "No description available." +msgid "Not Available" +msgstr "Nou discrijhaedje." + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "" + +#: core/signatureutils.cpp:504 +#, fuzzy, kde-kuit-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" +"Dji n' a savou schaper l' fitchî dins « %1 ». Sayîz del schaper a ene ôte " +"plaece." + +#: core/signatureutils.cpp:506 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown signing error" +msgstr "Fitchî nén cnoxhou" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "Sourdant: %1" + +#: core/textdocumentsettings.cpp:34 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgid "&Default Font:" +msgstr "Prémetou passaedje:" + +#: gui/certificatemodel.cpp:39 +#, fuzzy, kde-format +#| msgctxt "A document format, Okular-specific" +#| msgid "Document Archive" +msgid "Version" +msgstr "Årtchive di documint" + +#: gui/certificatemodel.cpp:41 +#, fuzzy, kde-format +#| msgid "Page Size" +msgid "Serial Number" +msgstr "Grandeu do papî" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, fuzzy, kde-format +#| msgid "Expired" +msgid "Expires On" +msgstr "Espiré" + +#: gui/certificatemodel.cpp:49 +#, fuzzy, kde-format +#| msgid "Subject" +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "Sudjet" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "" + +#: gui/certificatemodel.cpp:53 +#, fuzzy, kde-format +#| msgid "Memory Usage" +msgid "Key Usage" +msgstr "Eployaedje del memwere" + +#: gui/certificatemodel.cpp:72 +#, fuzzy, kde-format +#| msgid "%1:" +msgid "V%1" +msgstr "%1:" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "" + +#: gui/certificatemodel.cpp:146 +#, fuzzy, kde-format +#| msgid "&Properties" +msgid "Property" +msgstr "&Prôpietés" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, fuzzy, kde-format +#| msgid "&Open Pop-up Note" +msgid "Pop-up Note" +msgstr "&Drovi aspitante note" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, fuzzy, kde-format +#| msgid "Overwrite" +msgid "Typewriter" +msgstr "Sipotchî" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "Note dins l' fitchî" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +#| msgid "For Comment" +msgid "Arrow with Comment" +msgstr "Po scrire des rawetes" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "" + +#: gui/guiutils.cpp:59 +#, fuzzy, kde-format +#| msgid "Line Properties" +msgid "Straight Line with Comment" +msgstr "Prôpietés del roye" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, fuzzy, kde-format +#| msgid "Straight Yellow Line" +msgid "Straight Line" +msgstr "Droete djaene roye" + +#: gui/guiutils.cpp:63 +#, fuzzy, kde-format +#| msgid "For Comment" +msgid "Polygon with Comment" +msgstr "Po scrire des rawetes" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, fuzzy, kde-format +#| msgid "Blue Polygon" +msgid "Polygon" +msgstr "Bleu poligone" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgid "Strike out" +msgid "Rectangle with Comment" +msgstr "Båré" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "Rectangue" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgid "Underline" +msgid "Ellipse with Comment" +msgstr "Sorlignî" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "Ceke asplati" + +#: gui/guiutils.cpp:83 +#, fuzzy, kde-format +#| msgid "Highlight" +msgid "Highlight with Comment" +msgstr "Mete en evidince" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "Mete en evidince" + +#: gui/guiutils.cpp:87 +#, fuzzy, kde-format +#| msgid "Squiggly" +msgid "Squiggle with Comment" +msgstr "Disfoirmant" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, fuzzy, kde-format +#| msgid "Squiggly" +msgid "Squiggle" +msgstr "Disfoirmant" + +#: gui/guiutils.cpp:91 +#, fuzzy, kde-format +#| msgid "Underline" +msgid "Underline with Comment" +msgstr "Sorlignî" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "Sorlignî" + +#: gui/guiutils.cpp:95 +#, fuzzy, kde-format +#| msgid "Strike out" +msgid "Strike Out with Comment" +msgstr "Båré" + +#: gui/guiutils.cpp:95 +#, fuzzy, kde-format +#| msgid "Strike out" +msgid "Strike Out" +msgstr "Båré" + +#: gui/guiutils.cpp:102 +#, fuzzy, kde-format +#| msgid "Strike out" +msgid "Stamp with Comment" +msgstr "Båré" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "Tampon" + +#: gui/guiutils.cpp:106 +#, fuzzy, kde-format +#| msgid "Line Properties" +msgid "Freehand Line with Comment" +msgstr "Prôpietés del roye" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "Cursoe" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "Ataetchmint di fitchî" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "Son" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "Fime" + +#: gui/guiutils.cpp:126 +#, fuzzy, kde-format +#| msgid "Screen:" +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "Waitroûle:" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation" +msgstr "Anotåcion" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "Nén cnoxhou" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "Oteur : %1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "Wice voloz schaper %1?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "Dji n' a savou drovi « %1 » po-z î scrire. Fitchî nén schapé." + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "" + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "" + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "" + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "" + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "" + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "" + +#: gui/signatureguiutils.cpp:60 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Certificate is Trusted." +msgstr "Apontyî l' håyneu..." + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "" + +#: gui/signatureguiutils.cpp:64 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Certificate issuer is unknown." +msgstr "Apontyî l' håyneu..." + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "" + +#: gui/signatureguiutils.cpp:68 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Certificate has Expired." +msgstr "Apontyî l' håyneu..." + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "" + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "" + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "" + +#: gui/signatureguiutils.cpp:96 +#, fuzzy, kde-format +#| msgid "Unknown font" +msgid "Unknown Algorithm" +msgstr "Fonte nén cnoxhowe" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown Type" +msgstr "Fitchî nén cnoxhou" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "" + +#: gui/signatureguiutils.cpp:135 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Sign Certificate" +msgstr "Apontyî l' håyneu..." + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr "" + +#: gui/signatureguiutils.cpp:165 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "The document has not been modified since it was signed." +msgstr "L' imprimaedje di c' documint ci n' nén permetou." + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "" + +#: gui/signatureguiutils.cpp:208 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "L' imprimaedje di c' documint ci n' nén permetou." + +#: gui/signatureguiutils.cpp:211 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "This document is digitally signed." +msgstr "L' imprimaedje di c' documint ci n' nén permetou." + +#: gui/signatureguiutils.cpp:213 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "L' imprimaedje di c' documint ci n' nén permetou." + +#: gui/signatureguiutils.cpp:216 +#, fuzzy, kde-format +#| msgid "Printing this document is not allowed." +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "L' imprimaedje di c' documint ci n' nén permetou." + +#: gui/signaturemodel.cpp:141 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "Prôpietés do cursoe" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "" + +#: gui/signaturemodel.cpp:172 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgid "Reason: %1" +msgstr "Pådjes: %1" + +#: gui/signaturemodel.cpp:177 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Location: %1" +msgstr "Anotåcion" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "" + +#: gui/signaturemodel.cpp:193 +#, fuzzy, kde-format +#| msgctxt "Unknown author" +#| msgid "Unknown" +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "Nén cnoxhou" + +#: gui/signaturemodel.cpp:195 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "Prôpietés do cursoe" + +#: gui/signaturemodel.cpp:201 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgid "Signature Type: %1" +msgstr "Prôpietés do cursoe" + +#: part/annotationactionhandler.cpp:148 +#, fuzzy, kde-format +#| msgid "Reloa&d" +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "Ritcher&djî" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "" + +#: part/annotationactionhandler.cpp:150 +#, fuzzy, kde-format +#| msgid "Allow" +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "Permete" + +#: part/annotationactionhandler.cpp:151 +#, fuzzy, kde-format +#| msgid "Screen:" +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "Waitroûle:" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "Al lårdjeur del pådje" + +#: part/annotationactionhandler.cpp:252 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1:" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:308 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "Prôpietés di l' anotåcion" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "" + +#: part/annotationactionhandler.cpp:314 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "Anotåcion" + +#: part/annotationactionhandler.cpp:316 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "Anotåcion" + +#: part/annotationactionhandler.cpp:318 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "Anotåcion" + +#: part/annotationactionhandler.cpp:322 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "Anotåcion" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "" + +#: part/annotationactionhandler.cpp:328 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "Anotåcion" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" + +#: part/annotationactionhandler.cpp:341 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "Prôpietés di l' anotåcion" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "" + +#: part/annotationactionhandler.cpp:432 +#, fuzzy, kde-format +#| msgid "&Color:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "&Coleur:" + +#: part/annotationactionhandler.cpp:434 +#, fuzzy, kde-format +#| msgid "&Color:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "&Coleur:" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "" + +#: part/annotationactionhandler.cpp:499 +#, fuzzy, kde-format +#| msgid "&Selection Tool" +msgctxt "@title:window" +msgid "Select color" +msgstr "Usteye po &tchoezi" + +#: part/annotationactionhandler.cpp:552 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "&Annotations" +msgstr "Anotåcion" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "" + +#: part/annotationactionhandler.cpp:554 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "Prezintaedje" + +#: part/annotationactionhandler.cpp:557 +#, fuzzy, kde-format +#| msgid "Highlight" +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "Mete en evidince" + +#: part/annotationactionhandler.cpp:558 +#, fuzzy, kde-format +#| msgid "Underline" +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "Sorlignî" + +#: part/annotationactionhandler.cpp:559 +#, fuzzy, kde-format +#| msgid "Squiggly" +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "Disfoirmant" + +#: part/annotationactionhandler.cpp:560 +#, fuzzy, kde-format +#| msgid "Strike out" +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "Båré" + +#: part/annotationactionhandler.cpp:562 +#, fuzzy, kde-format +#| msgid "Overwrite" +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "Sipotchî" + +#: part/annotationactionhandler.cpp:563 +#, fuzzy, kde-format +#| msgid "Inline Note" +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "Note dins l' fitchî" + +#: part/annotationactionhandler.cpp:564 +#, fuzzy, kde-format +#| msgid "&Open Pop-up Note" +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "&Drovi aspitante note" + +#: part/annotationactionhandler.cpp:565 +#, fuzzy, kde-format +#| msgid "Line Properties" +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "Prôpietés del roye" + +#: part/annotationactionhandler.cpp:567 +#, fuzzy, kde-format +#| msgid "Straight Yellow Line" +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "Droete djaene roye" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "" + +#: part/annotationactionhandler.cpp:569 +#, fuzzy, kde-format +#| msgid "Rectangle" +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "Rectangue" + +#: part/annotationactionhandler.cpp:570 +#, fuzzy, kde-format +#| msgid "Ellipse" +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "Ceke asplati" + +#: part/annotationactionhandler.cpp:571 +#, fuzzy, kde-format +#| msgid "Blue Polygon" +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "Bleu poligone" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "" + +#: part/annotationactionhandler.cpp:618 +#, fuzzy, kde-format +#| msgid "Stamp" +msgctxt "@action" +msgid "Stamp" +msgstr "Tampon" + +#: part/annotationactionhandler.cpp:638 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "Anotåcion" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "" + +#: part/annotationactionhandler.cpp:651 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Quick Annotation Bar" +msgstr "Anotåcion" + +#: part/annotationactionhandler.cpp:665 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "Anotåcion" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "" + +#: part/annotationactionhandler.cpp:669 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "Prezintaedje" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "" + +#: part/annotationactionhandler.cpp:680 +#, fuzzy, kde-format +#| msgid "Font:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "Fonte :" + +#: part/annotationactionhandler.cpp:681 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "Prôpietés di l' anotåcion" + +#: part/annotationactionhandler.cpp:684 +#, fuzzy, kde-format +#| msgid "Line" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "Roye" + +#: part/annotationactionhandler.cpp:693 +#, fuzzy, kde-format +#| msgid "&Opacity:" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "&Opacité:" + +#: part/annotationactionhandler.cpp:696 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1:" + +#: part/annotationmodel.cpp:320 +#, fuzzy, kde-format +#| msgid "Page %1" +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "Pådje %1" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "Pådje %1" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "Anotåcion" +msgstr[1] "%1 anotåcions" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "&Drovi aspitante note" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "Oister l' rimarke" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "Radjouter ene rimarke" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Text to Clipboard" +msgstr "Copyî viè l' presse-papî" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "Copeye disfindowe pal DRM" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "&Disfacer" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "&Prôpietés" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, fuzzy, kde-format +#| msgctxt "%1 is the name of the file to save" +#| msgid "&Save '%1'..." +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "&Schaper « %1 »..." + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "&Rivnance" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "&Djenerå" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "&Oteur:" + +#: part/annotationpropertiesdialog.cpp:69 +#, fuzzy, kde-format +#| msgid "Created" +msgid "Created:" +msgstr "Ahivé" + +#: part/annotationpropertiesdialog.cpp:74 +#, fuzzy, kde-format +#| msgid "Modified" +msgid "Modified:" +msgstr "Candjî" + +#: part/annotationpropertiesdialog.cpp:108 +#, fuzzy, kde-format +#| msgid "Note Properties" +msgid "Pop-up Note Properties" +msgstr "Prôpietés del note" + +#: part/annotationpropertiesdialog.cpp:111 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgid "Typewriter Properties" +msgstr "Prôpietés do cursoe" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "Prôpietés del note dins l' fitchî" + +#: part/annotationpropertiesdialog.cpp:119 +#, fuzzy, kde-format +#| msgid "Line Properties" +msgid "Straight Line Properties" +msgstr "Prôpietés del roye" + +#: part/annotationpropertiesdialog.cpp:121 +#, fuzzy, kde-format +#| msgid "Sound Properties" +msgid "Polygon Properties" +msgstr "Prôpietés do son" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "Prôpietés del djeyometreye" + +#: part/annotationpropertiesdialog.cpp:128 +#, fuzzy, kde-format +#| msgid "Stamp Properties" +msgid "Text Markup Properties" +msgstr "Prôpietés do tampon" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "Prôpietés do tampon" + +#: part/annotationpropertiesdialog.cpp:134 +#, fuzzy, kde-format +#| msgid "Line Properties" +msgid "Freehand Line Properties" +msgstr "Prôpietés del roye" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "Prôpietés do cursoe" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "Prôpietés di l' ataetchmint d' fitchî" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "Prôpietés do son" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "Prôpietés do fime" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "Prôpietés di l' anotåcion" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Put a stamp symbol" +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "Mete on simbole tampon" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "&Coleur:" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%1:" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "&Opacité:" + +#: part/annotationwidgets.cpp:363 +#, fuzzy, kde-format +#| msgid "Icon" +msgid "Icon:" +msgstr "Imådjete" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "Rawete di tecse" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "Aidance" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "Sititchî" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "Tape" + +#: part/annotationwidgets.cpp:368 +#, fuzzy, kde-format +#| msgid "New Paragraph" +msgid "New paragraph" +msgstr "Novea hagnon" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "Note" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "Hagnon" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "Fonte :" + +#: part/annotationwidgets.cpp:387 +#, fuzzy, kde-format +#| msgid "&Color:" +msgid "Text &color:" +msgstr "&Coleur:" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "" + +#: part/annotationwidgets.cpp:395 +#, fuzzy, kde-format +#| msgctxt "Rotate left" +#| msgid "Left" +msgid "Left" +msgstr "Hintche" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "" + +#: part/annotationwidgets.cpp:397 +#, fuzzy, kde-format +#| msgctxt "Rotate right" +#| msgid "Right" +msgid "Right" +msgstr "Droete" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "Asprouvé" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "Insi" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "Sicret" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "Depårtumintå" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "Brouyon" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "Esperimintå" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "Espiré" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "Finå" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "Po scrire des rawetes" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "Po publike cossemaedje" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "Nén asprouvé" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "Nén po publike cossemaedje" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "Vindou" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "Foû scret" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "Rimarke" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "Pondants et djondants" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, fuzzy, kde-format +#| msgid "Stamp Symbol" +msgid "Stamp symbol:" +msgstr "Simbole tampon" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgid "&Width:" +msgstr "Al lårdjeur del pådje" + +#: part/annotationwidgets.cpp:504 +#, fuzzy, kde-format +#| msgid "Line" +msgid "Line start:" +msgstr "Roye" + +#: part/annotationwidgets.cpp:506 +#, fuzzy, kde-format +#| msgid "Line" +msgid "Line end:" +msgstr "Roye" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:514 +#, fuzzy, kde-format +#| msgctxt "Symbol for caret annotations" +#| msgid "None" +msgid "None" +msgstr "Nouk" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "" + +#: part/annotationwidgets.cpp:531 +#, fuzzy, kde-format +#| msgid "Leader Line Length:" +msgid "Leader line length:" +msgstr "Longueur del mwaisse roye:" + +#: part/annotationwidgets.cpp:533 +#, fuzzy, kde-format +#| msgid "Leader Line Extensions Length:" +msgid "Leader line extensions length:" +msgstr "Longueur des rawetes del mwaisse roye:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Shape fill:" +msgstr "Schaper dins on fitchî..." + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "Sôre :" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "Båré" + +#: part/annotationwidgets.cpp:745 +#, fuzzy, kde-format +#| msgid "File Attachment Symbol" +msgid "File attachment symbol:" +msgstr "Simbole di l' ataetchmint d' fitchî" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "Grafike" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "Poûssoe" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "Trombone" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "Etikete" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "Fitchî" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "N/A" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "Nou discrijhaedje." + +#: part/annotationwidgets.cpp:773 +#, fuzzy, kde-format +#| msgid "Name" +msgid "Name:" +msgstr "No" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "Discrijhaedje :" + +#: part/annotationwidgets.cpp:843 +#, fuzzy, kde-format +#| msgid "Caret Symbol" +msgid "Caret symbol:" +msgstr "Simbole do cursoe" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "Nouk" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "Clôre cisse note ci" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "Tchuzes" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "" + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "" + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "" + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "" + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"Ene rimarke" +msgstr[1] "" +"%1\n" +"\n" +"%2 rimarkes" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "Rimarkes" + +#: part/bookmarklist.cpp:136 +#, fuzzy, kde-format +#| msgid "End of the document" +msgid "Show for all documents" +msgstr "Difén do documint" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, fuzzy, kde-format +#| msgid "S&earch:" +msgid "Search…" +msgstr "C&weri:" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, kde-format +msgid "Expand All" +msgstr "" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, kde-format +msgid "Collapse All" +msgstr "" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "Potchî a cisse rimarke ci" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "Rilomer li rmåke" + +#: part/bookmarklist.cpp:299 +#, fuzzy, kde-format +#| msgid "Open Document" +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Drovi on documint" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "" + +#: part/certificateviewer.cpp:47 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Certificate Viewer" +msgstr "Apontyî l' håyneu..." + +#: part/certificateviewer.cpp:50 +#, fuzzy, kde-format +#| msgid "E&xport As" +msgid "Export…" +msgstr "&Ebaguer come" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "Djenerå" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "" + +#: part/certificateviewer.cpp:159 +#, fuzzy, kde-format +#| msgid "Where do you want to save %1?" +msgid "Where do you want to save this certificate?" +msgstr "Wice voloz schaper %1?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "" + +#: part/colormodemenu.cpp:19 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "Môde di coleur:" + +#: part/colormodemenu.cpp:21 +#, fuzzy, kde-format +#| msgid "Change &colors" +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "Candjî &coleurs" + +#: part/colormodemenu.cpp:29 +#, fuzzy, kde-format +#| msgid "Normal Icons" +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "Normålès imådjetes" + +#: part/colormodemenu.cpp:41 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "Coleurs a l' evier" + +#: part/colormodemenu.cpp:42 +#, fuzzy, kde-format +#| msgid "Change Paper Color" +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "Candjî coleur do papî" + +#: part/colormodemenu.cpp:44 +#, fuzzy, kde-format +#| msgid "Change Dark & Light Colors" +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "Candjî les foncêyes eyet clairès coleurs" + +#: part/colormodemenu.cpp:46 +#, fuzzy, kde-format +#| msgid "Convert to Black & White" +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "Covierser e blanc et noer" + +#: part/colormodemenu.cpp:49 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "Coleurs a l' evier" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, fuzzy, kde-format +#| msgid "Reloa&d" +msgid "Red" +msgstr "Ritcher&djî" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, fuzzy, kde-format +#| msgid "Screen:" +msgid "Green" +msgstr "Waitroûle:" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, fuzzy, kde-format +#| msgid "Allow" +msgid "Yellow" +msgstr "Permete" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "Djaene meteu en evidince" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "Vert meteu en evidince" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, fuzzy, kde-format +#| msgid "Insert" +msgid "Insert Text" +msgstr "Sititchî" + +#: part/dlgaccessibility.cpp:38 +#, fuzzy, kde-format +#| msgid "Draw border around &Links" +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "Dessiner des boirdeures åtoû des &hårdêyes" + +#: part/dlgaccessibility.cpp:48 +#, fuzzy, kde-format +#| msgid "Change &colors" +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "Candjî &coleurs" + +#: part/dlgaccessibility.cpp:54 +#, fuzzy, kde-format +#| msgid "Warning: these options can badly affect drawing speed." +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "" +"Asteme: ces tchuzes polèt aveur on mwais efet sol radisté d' dessinaedje." + +#: part/dlgaccessibility.cpp:60 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "Coleurs a l' evier" + +#: part/dlgaccessibility.cpp:61 +#, fuzzy, kde-format +#| msgid "Change Paper Color" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "Candjî coleur do papî" + +#: part/dlgaccessibility.cpp:62 +#, fuzzy, kde-format +#| msgid "Change Dark & Light Colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "Candjî les foncêyes eyet clairès coleurs" + +#: part/dlgaccessibility.cpp:63 +#, fuzzy, kde-format +#| msgid "Convert to Black & White" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "Covierser e blanc et noer" + +#: part/dlgaccessibility.cpp:64 +#, fuzzy, kde-format +#| msgid "Invert Colors" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "Coleurs a l' evier" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "" + +#: part/dlgaccessibility.cpp:70 +#, fuzzy, kde-format +#| msgid "Color mode:" +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "Môde di coleur:" + +#: part/dlgaccessibility.cpp:87 +#, fuzzy, kde-format +#| msgid "Paper color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "Coleur do papî:" + +#: part/dlgaccessibility.cpp:99 +#, fuzzy, kde-format +#| msgid "Dark color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "Foncêye coleur:" + +#: part/dlgaccessibility.cpp:104 +#, fuzzy, kde-format +#| msgid "Light color:" +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "Claire coleur:" + +#: part/dlgaccessibility.cpp:119 +#, fuzzy, kde-format +#| msgid "Threshold:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "Soû:" + +#: part/dlgaccessibility.cpp:127 +#, fuzzy, kde-format +#| msgid "Contrast:" +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "Contrasse:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "" + +#: part/dlgaccessibility.cpp:165 +#, fuzzy, kde-format +#| msgid "Text to search for" +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "Tecse a cweri après" + +#: part/dlgannotations.cpp:25 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "Anotåcion" + +#: part/dlgannotations.cpp:26 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "Anotåcion" + +#: part/dlgannotations.cpp:28 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "Anotåcion" + +#: part/dlgannotations.cpp:34 +#, fuzzy, kde-format +#| msgid "&Author:" +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "&Oteur:" + +#: part/dlgannotations.cpp:38 +#, fuzzy, kde-format +#| msgid "" +#| "Note: the information here is used only for comments and reviews. " +#| "Information inserted here will not be transmitted without your knowledge." +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"Note: l' informåcion chal n' est eployeye ki po les rawetes et " +"rilevêyes. L' informåcion stitcheye chal ni srè nén evoyeye sins vos l' dire." + +#: part/dlgannotations.cpp:48 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

    Quick Annotation Tools

    " +msgstr "Prôpietés di l' anotåcion" + +#: part/dlgeditor.cpp:28 +#, fuzzy, kde-format +#| msgctxt "@info:whatsthis" +#| msgid "" +#| "Choose the editor you want to launch when Okular wants to open a source " +#| "file." +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" +"Tchoezixhoz l' aspougneu k' vos vloz k' Okular enonde cwand i vout drovi on " +"fitchî sourdant." + +#: part/dlgeditor.cpp:29 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Custom Text Editor" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "Aspougneu di tecse da vosse" + +#: part/dlgeditor.cpp:30 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Kate" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Kile" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "SciTE" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Emacs client" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Cliyint Emacs" + +#: part/dlgeditor.cpp:34 +#, fuzzy, kde-format +#| msgctxt "Text editor" +#| msgid "Emacs client" +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "Cliyint Emacs" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "" + +#: part/dlgeditor.cpp:37 +#, fuzzy, kde-format +#| msgid "Editor:" +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "Aspougneu d' tecse:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
    \n" +"You can also put few placeholders:\n" +"
      \n" +"
    • %f - the file name
    • \n" +"
    • %l - the line of the file to be reached
    • \n" +"
    • %c - the column of the file to be reached
    • \n" +"
    \n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"Defini l' comande d' èn aspougneu d' tecse da vosse a enonder.
    \n" +"Vos ploz mete kékès secwinces, eto:\n" +"
      \n" +"
    • %f - li no do fitchî
    • \n" +"
    • %l - li roye do fitchî a awou potchî
    • \n" +"
    • %c - li colone do fitchî a awou potchî
    • \n" +"
    \n" +"Si %f n' est nén specifyî, li fitchî srè adon radjouté al comande dinêye." + +#: part/dlgeditor.cpp:63 +#, fuzzy, kde-format +#| msgid "Command:" +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "Comande :" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "" + +#: part/dlggeneral.cpp:37 +#, fuzzy, kde-format +#| msgid "Appearance" +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "Rivnance" + +#: part/dlggeneral.cpp:41 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "Mostrer les &acinceus" + +#: part/dlggeneral.cpp:48 +#, fuzzy, kde-format +#| msgid "Link the &thumbnails with the page" +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "Loyî les &prévoeyaedjes al pådje" + +#: part/dlggeneral.cpp:55 +#, fuzzy, kde-format +#| msgid "Show &hints and info messages" +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "Mostrer les &conseys eyet messaedjes d' informåcion" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "" + +#: part/dlggeneral.cpp:92 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "Coleur di fond:" + +#: part/dlggeneral.cpp:114 +#, fuzzy, kde-format +#| msgid "Program Features" +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "Fonccionålités do programe" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "" + +#: part/dlggeneral.cpp:139 +#, fuzzy, kde-format +#| msgid "&Obey DRM limitations" +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "&Schoûter les rastrindaedjes DRM" + +#: part/dlggeneral.cpp:148 +#, fuzzy, kde-format +#| msgid "&Reload document on file change" +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "&Ritcherdjî documint å candjmint d' on fitchî" + +#: part/dlggeneral.cpp:155 +#, fuzzy, kde-format +#| msgid "Show backend selection dialog" +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "Mostrer l' divize di tchoes del bouye di fond" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, fuzzy, kde-format +#| msgid "Overview columns:" +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "Mwaisse vuwe des colones:" + +#: part/dlggeneral.cpp:220 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%1:" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "" + +#: part/dlggeneral.cpp:228 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%1:" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "" + +#: part/dlggeneral.cpp:233 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "Al lårdjeur del pådje" + +#: part/dlggeneral.cpp:234 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "Forrimpli l' pådje" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" + +#: part/dlggeneral.cpp:241 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "Prémetou passaedje:" + +#: part/dlgperformance.cpp:26 +#, fuzzy, kde-format +#| msgid "Enable &transparency effects" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "Permete les efets d' &transparince" + +#: part/dlgperformance.cpp:28 +#, fuzzy, kde-format +#| msgid "CPU Usage" +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "Eployaedje CPU" + +#: part/dlgperformance.cpp:35 +#, fuzzy, kde-format +#| msgid "&Low" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "&Basse" + +#: part/dlgperformance.cpp:36 +#, fuzzy, kde-format +#| msgid "&Normal (default)" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "&Normåle (prémetou)" + +#: part/dlgperformance.cpp:37 +#, fuzzy, kde-format +#| msgid "&Aggressive" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "&Hagnant" + +#: part/dlgperformance.cpp:38 +#, fuzzy, kde-format +#| msgid "Screen:" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "Waitroûle:" + +#: part/dlgperformance.cpp:40 +#, fuzzy, kde-format +#| msgid "Memory Usage" +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "Eployaedje del memwere" + +#: part/dlgperformance.cpp:54 +#, fuzzy, kde-format +#| msgid "Enable transitions" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "Mete en alaedje les passaedjes" + +#: part/dlgperformance.cpp:56 +#, fuzzy, kde-format +#| msgid "Underline" +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "Sorlignî" + +#: part/dlgperformance.cpp:59 +#, fuzzy, kde-format +#| msgid "Enable transitions" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "Mete en alaedje les passaedjes" + +#: part/dlgperformance.cpp:64 +#, fuzzy, kde-format +#| msgid "Enable transitions" +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "Mete en alaedje les passaedjes" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"Wåde li memwere eployeye ossu basse ki c' est possibe. Ni reploye rén. (Po " +"des sistinmes a basse memwere.)" + +#: part/dlgperformance.cpp:80 +#, fuzzy, kde-format +#| msgid "" +#| "A good compromise between memory usage and speed gain. Preload next page " +#| "and boost searches. (For systems with 256MB of memory, typically.)" +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"Ene mitan voye inte l' eployaedje del memwere eyet l' wangnaedje di radisté. " +"Prétchedje li pådje d' après eyet roedi les cweraedjes. (Tipicmint po les " +"sistinmes avou 256MB di memwere.)" + +#: part/dlgperformance.cpp:83 +#, fuzzy, kde-format +#| msgid "" +#| "Keeps everything in memory. Preload next pages. Boost searches. (For " +#| "systems with more than 512MB of memory.)" +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"Wåde totafwait el memwere. Prétchedje les pådjes d' après. Roedi les " +"cweraedjes. (Po les sistinmes avou pus ki 512MB di memwere.)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" + +#: part/dlgpresentation.cpp:38 +#, fuzzy, kde-format +#| msgid " sec." +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] " seg." +msgstr[1] " seg." + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "" + +#: part/dlgpresentation.cpp:53 +#, fuzzy, kde-format +#| msgid "Loop after last page" +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "Tourner el blouke après l' dierinne pådje" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "" + +#: part/dlgpresentation.cpp:63 +#, fuzzy, kde-format +#| msgid "Navigation" +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "Naiviaedje" + +#: part/dlgpresentation.cpp:72 +#, fuzzy, kde-format +#| msgid "Background color:" +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "Coleur di fond:" + +#: part/dlgpresentation.cpp:76 +#, fuzzy, kde-format +#| msgid "Hidden After Delay" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "Catchî après on tårdaedje" + +#: part/dlgpresentation.cpp:77 +#, fuzzy, kde-format +#| msgid "Always Visible" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "Tofer veyåve" + +#: part/dlgpresentation.cpp:78 +#, fuzzy, kde-format +#| msgid "Always Hidden" +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "Tofer catchî" + +#: part/dlgpresentation.cpp:80 +#, fuzzy, kde-format +#| msgid "Mouse cursor:" +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "Cursoe del sori:" + +#: part/dlgpresentation.cpp:84 +#, fuzzy, kde-format +#| msgid "Show &progress indicator" +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "Mostrer l' corwaitoe d' &avançmint" + +#: part/dlgpresentation.cpp:90 +#, fuzzy, kde-format +#| msgid "Show s&ummary page" +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "Mostrer l' pådje di raco&urti" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "" + +#: part/dlgpresentation.cpp:101 +#, fuzzy, kde-format +#| msgid "Replace" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "Mete al plaece" + +#: part/dlgpresentation.cpp:102 +#, fuzzy, kde-format +#| msgid "Random Transition" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "Passaedje a l' astcheyance" + +#: part/dlgpresentation.cpp:103 +#, fuzzy, kde-format +#| msgid "Blinds Vertical" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "Raptiti d' astampé" + +#: part/dlgpresentation.cpp:104 +#, fuzzy, kde-format +#| msgid "Blinds Horizontal" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "Raptiti di coutchî" + +#: part/dlgpresentation.cpp:105 +#, fuzzy, kde-format +#| msgid "Box In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "Abwesner" + +#: part/dlgpresentation.cpp:106 +#, fuzzy, kde-format +#| msgid "Box Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "Ebwesner" + +#: part/dlgpresentation.cpp:107 +#, fuzzy, kde-format +#| msgid "Dissolve" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "Anixhiler" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "" + +#: part/dlgpresentation.cpp:109 +#, fuzzy, kde-format +#| msgid "Glitter Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "Riglatixh viè l' bas" + +#: part/dlgpresentation.cpp:110 +#, fuzzy, kde-format +#| msgid "Glitter Right" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "Riglatixh a droete" + +#: part/dlgpresentation.cpp:111 +#, fuzzy, kde-format +#| msgid "Glitter Right-Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "Riglatixh viè l' bas a droete" + +#: part/dlgpresentation.cpp:112 +#, fuzzy, kde-format +#| msgid "Split Horizontal In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "Dispårti l' vuwe dizeu/dizo" + +#: part/dlgpresentation.cpp:113 +#, fuzzy, kde-format +#| msgid "Split Horizontal Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "Dimere dispårtaedje del vuwe dizeu/dizo" + +#: part/dlgpresentation.cpp:114 +#, fuzzy, kde-format +#| msgid "Split Vertical In" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "Dispårti l' vuwe hintche/droete" + +#: part/dlgpresentation.cpp:115 +#, fuzzy, kde-format +#| msgid "Split Vertical Out" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "Dismete dispårtaedje l' vuwe hintche/droete" + +#: part/dlgpresentation.cpp:116 +#, fuzzy, kde-format +#| msgid "Wipe Down" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "Schover evoye viè l' bas" + +#: part/dlgpresentation.cpp:117 +#, fuzzy, kde-format +#| msgid "Wipe Right" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "Schover evoye viè l' droete" + +#: part/dlgpresentation.cpp:118 +#, fuzzy, kde-format +#| msgid "Wipe Left" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "Schover evoye viè l' hintche" + +#: part/dlgpresentation.cpp:119 +#, fuzzy, kde-format +#| msgid "Wipe Up" +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "Schover evoye viè l' hôt" + +#: part/dlgpresentation.cpp:121 +#, fuzzy, kde-format +#| msgid "Default transition:" +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Prémetou passaedje:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

    Drawing Tools

    " +msgstr "" + +#: part/dlgpresentation.cpp:171 +#, fuzzy, kde-format +#| msgctxt "@label:listbox The current screen, for the presentation mode" +#| msgid "Current Screen" +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Waitroûle do moumint" + +#: part/dlgpresentation.cpp:172 +#, fuzzy, kde-format +#| msgctxt "@label:listbox The default screen for the presentation mode" +#| msgid "Default Screen" +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Prémetowe waitroûle" + +#: part/dlgpresentation.cpp:178 +#, fuzzy, kde-format +#| msgctxt "@label:listbox %1 is the screen number (0, 1, ...)" +#| msgid "Screen %1" +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "Waitroûle %1" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, fuzzy, kde-format +#| msgid "Erase Drawings" +msgid "Eraser" +msgstr "Disfacer les dessinaedjes" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, fuzzy, kde-format +#| msgid "Name" +msgid "&Name:" +msgstr "No" + +#: part/editannottooldialog.cpp:69 +#, fuzzy, kde-format +#| msgid "Type:" +msgid "&Type:" +msgstr "Sôre :" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "Rivnance" + +#: part/editannottooldialog.cpp:93 +#, fuzzy, kde-format +#| msgid "Next Bookmark" +msgid "Text markup" +msgstr "Rimarke shuvante" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "" + +#: part/editannottooldialog.cpp:101 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Create annotation tool" +msgstr "Prezintaedje" + +#: part/editannottooldialog.cpp:103 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgid "Edit annotation tool" +msgstr "Prôpietés di l' anotåcion" + +#: part/editdrawingtooldialog.cpp:51 +#, fuzzy, kde-format +#| msgid "&Color:" +msgid "Color:" +msgstr "&Coleur:" + +#: part/editdrawingtooldialog.cpp:58 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgid "&Pen Width:" +msgstr "Al lårdjeur del pådje" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "" + +#: part/editdrawingtooldialog.cpp:79 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Create drawing tool" +msgstr "Prezintaedje" + +#: part/editdrawingtooldialog.cpp:84 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgid "Edit drawing tool" +msgstr "Prôpietés di l' anotåcion" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "Nén cnoxhou" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "Ravalés fitchîs" + +#: part/embeddedfilesdialog.cpp:62 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:button" +msgid "View" +msgstr "&Vey" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "No" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "Discrijhaedje" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "Grandeu" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "Ahivé" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "Candjî" + +#: part/embeddedfilesdialog.cpp:154 +#, fuzzy, kde-format +#| msgctxt "@action:inmenu" +#| msgid "&Save As..." +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "&Schaper eyet rlomer..." + +#: part/embeddedfilesdialog.cpp:155 +#, fuzzy, kde-format +#| msgid "&View" +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "&Vey" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "Dji n' a savou tcherdjî l' pårt di prévoeyaedje d' imprimaedje" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "Prévey divant d' imprimer" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "Clôre" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "&Trover:" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "Tecse a cweri après" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "Shuvant" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "Potchî å shuvant ki corespond" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "Di dvant" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "Potchî å ci di dvant ki corespond" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "Candjî l' dujhance do cweraedje" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "Diferince po ptitès et grandès letes" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "A pårti di c' pådje ci" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "" + +#: part/formwidgets.cpp:870 +#, fuzzy, kde-format +#| msgid "*|All Files" +msgid "All Files (*)" +msgstr "*|Tos les fitchîs" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, fuzzy, kde-format +#| msgid "Caret Properties" +msgid "Signature Properties" +msgstr "Prôpietés do cursoe" + +#: part/ktreeviewsearchline.cpp:283 +#, fuzzy, kde-format +#| msgid "Search Columns" +msgid "Search Options" +msgstr "Colones a cweri dvins" + +#: part/ktreeviewsearchline.cpp:284 +#, fuzzy, kde-format +#| msgid "Case Sensitive" +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "Diferince po ptitès et grandès letes" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "di" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "Zoumer" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "" + +#: part/pageview.cpp:530 +#, fuzzy, kde-format +#| msgid "Rotate Right" +msgid "Rotate &Right" +msgstr "Fé tourné a droete" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "Droete" + +#: part/pageview.cpp:535 +#, fuzzy, kde-format +#| msgid "Rotate Left" +msgid "Rotate &Left" +msgstr "Fé tourner a hintche" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "Hintche" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "Ashidaedje d' oridjinne" + +#: part/pageview.cpp:546 +#, fuzzy, kde-format +#| msgid "&View" +msgid "&Trim View" +msgstr "&Vey" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "&Mådjes des rîles" + +#: part/pageview.cpp:557 +#, fuzzy, kde-format +#| msgctxt "Text Selection Tool" +#| msgid "Text Selection" +msgid "Trim To &Selection" +msgstr "Tchoes do tecse" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "Al &lårdjeur del pådje" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "Forrimpli l' &pådje" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "" + +#: part/pageview.cpp:575 +#, fuzzy, kde-format +#| msgid "Fit &Page" +msgid "Fit Wi&ndow to Page" +msgstr "Forrimpli l' &pådje" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "Môde di &vuwe" + +#: part/pageview.cpp:594 +#, fuzzy, kde-format +#| msgid "Single Page" +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "Ene seule pådje" + +#: part/pageview.cpp:595 +#, fuzzy, kde-format +#| msgid "Facing Pages" +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "Pådjes pa deus" + +#: part/pageview.cpp:596 +#, fuzzy, kde-format +#| msgid "Center &first page" +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "Mete å mitan l' &prumire pådje" + +#: part/pageview.cpp:599 +#, fuzzy, kde-format +#| msgid "Overview" +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "Mwaisse vuwe" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "&Sins låtchî" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "" + +#: part/pageview.cpp:627 +#, fuzzy, kde-format +#| msgctxt "Browse Tool" +#| msgid "Browse" +msgid "&Browse" +msgstr "Foyter" + +#: part/pageview.cpp:635 +#, fuzzy, kde-format +#| msgid "Zoom" +msgid "&Zoom" +msgstr "Zoumer" + +#: part/pageview.cpp:655 +#, fuzzy, kde-format +#| msgctxt "Text Selection Tool" +#| msgid "Text Selection" +msgid "Area &Selection" +msgstr "Tchoes do tecse" + +#: part/pageview.cpp:662 +#, fuzzy, kde-format +#| msgctxt "Text Selection Tool" +#| msgid "Text Selection" +msgid "&Text Selection" +msgstr "Tchoes do tecse" + +#: part/pageview.cpp:669 +#, fuzzy, kde-format +#| msgctxt "Text Selection Tool" +#| msgid "Text Selection" +msgid "T&able Selection" +msgstr "Tchoes do tecse" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "" + +#: part/pageview.cpp:685 +#, fuzzy, kde-format +#| msgid "Selection Tools" +msgctxt "@action" +msgid "Selection Tools" +msgstr "Usteyes po tchoezi" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "Lére tot l' documint" + +#: part/pageview.cpp:722 +#, fuzzy, kde-format +#| msgid "Speak Current Page" +msgid "Speak From Current Page" +msgstr "Lére l' pådje do moumint" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "Lére l' pådje do moumint" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "Arester d' lére" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "Disrôler pa dzeu" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "Disrôler pa dzo" + +#: part/pageview.cpp:761 +#, fuzzy, kde-format +#| msgid "Scroll Up" +msgid "Scroll Page Up" +msgstr "Disrôler pa dzeu" + +#: part/pageview.cpp:767 +#, fuzzy, kde-format +#| msgid "Scroll Down" +msgid "Scroll Page Down" +msgstr "Disrôler pa dzo" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "Mostrer formulaires" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] "On documint d' ene seule pådje a stî tcherdjî." +msgstr[1] "On documint d' %1 pådjes a stî tcherdjî." + +#: part/pageview.cpp:2526 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Table Contents to Clipboard" +msgstr "Copyî viè l' presse-papî" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "Tecse (1 caractere)" +msgstr[1] "Tecse (%1 caracteres)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "Copyî viè l' presse-papî" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "Lére li tecse" + +#: part/pageview.cpp:2863 +#, fuzzy, kde-format +#| msgid "Image (%1 by %2 pixels)" +msgid "Image (%1 × %2 pixels)" +msgstr "Imådje (%1 picsels pa %2)" + +#: part/pageview.cpp:2865 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save to File…" +msgstr "Schaper dins on fitchî..." + +#: part/pageview.cpp:2885 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] copied to clipboard." +msgid "Image [%1 × %2] copied to clipboard." +msgstr "Imådje [%1x%2] copieye dins l' presse-papî." + +#: part/pageview.cpp:2888 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save file" +msgstr "Schaper dins on fitchî..." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "Fitchî nén schapé." + +#: part/pageview.cpp:2901 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] saved to %3 file." +msgid "Image [%1 × %2] saved to %3 file." +msgstr "Imådje [%1x%2] schapêye dins l' fitchî %3." + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "Copyî tecse" + +#: part/pageview.cpp:3062 +#, fuzzy, kde-format +#| msgid "Go to page %1" +msgid "Go to '%1'" +msgstr "Potchî al pådje %1" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "Al lårdjeur del pådje" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "Forrimpli l' pådje" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "" + +#: part/pageview.cpp:4107 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1:" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "Dji cwire '%1' avou" + +#: part/pageview.cpp:4404 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Configure Web Shortcuts…" +msgstr "Apontyî l' håyneu..." + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "Shuvoz ciste hårdêye" + +#: part/pageview.cpp:4433 +#, fuzzy, kde-format +#| msgid "Play sound..." +msgid "Play this Sound" +msgstr "Djouwer son..." + +#: part/pageview.cpp:4435 +#, fuzzy, kde-format +#| msgid "Sound" +msgid "Stop Sound" +msgstr "Son" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "Copyî l' adresse del hårdêye" + +#: part/pageview.cpp:4462 +#, fuzzy, kde-format +#| msgid "Search for '%1' with" +msgid "Search for '%1' in this document" +msgstr "Dji cwire '%1' avou" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "Wilicome" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "Tchoezixhoz l' redjon d' zoumaedje. Clitchîz droet po diszoumer." + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "" + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "Dessinez on rectangue åtoû do tecse/di l' imådje a copyî." + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "Tchoezi tecse" + +#: part/pageview.cpp:5172 +#, fuzzy, kde-format +#| msgid "Draw a rectangle around the text/graphics to copy." +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "Dessinez on rectangue åtoû do tecse/di l' imådje a copyî." + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" + +#: part/pageview.cpp:5188 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "No valid certificates" +msgstr "Apontyî l' håyneu..." + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Open Certificate Manager" +msgstr "Apontyî l' håyneu..." + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
    Launch Certificate Manager " +"to import or manage certificates
    For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "No certificates found" +msgstr "Apontyî l' håyneu..." + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
    For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "" + +#: part/pageview.cpp:5405 +#, fuzzy, kde-format +#| msgid "Draw a rectangle around the text/graphics to copy." +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "Dessinez on rectangue åtoû do tecse/di l' imådje a copyî." + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "Novele note di tecse" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "Tecse del novele note:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgid "Author" +msgid "Author name" +msgstr "Oteur" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Author name for the annotation:" +msgstr "Anotåcion" + +#: part/pageviewannotator.cpp:1390 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Inline Text Annotation (drag to select a zone)" +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "Anotåcion di tecse dins l' fitchî (bodjîz po tchoezi ene redjon)" + +#: part/pageviewannotator.cpp:1392 +#, fuzzy, kde-format +#| msgid "Highlight" +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "Mete en evidince" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "Anotåcion di tecse dins l' fitchî (bodjîz po tchoezi ene redjon)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "Dessiner on poligone (clitchîz sol prumî pont pol clôre)" + +#: part/pageviewannotator.cpp:1402 +#, fuzzy, kde-format +#| msgid "Rectangle" +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "Rectangue" + +#: part/pageviewannotator.cpp:1404 +#, fuzzy, kde-format +#| msgid "Squiggly" +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "Disfoirmant" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "Mete on simbole tampon" + +#: part/pageviewannotator.cpp:1408 +#, fuzzy, kde-format +#| msgid "Straight Yellow Line" +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "Droete djaene roye" + +#: part/pageviewannotator.cpp:1410 +#, fuzzy, kde-format +#| msgid "Strike out" +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "Båré" + +#: part/pageviewannotator.cpp:1412 +#, fuzzy, kde-format +#| msgid "Underline" +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "Sorlignî" + +#: part/pageviewannotator.cpp:1414 +#, fuzzy, kde-format +#| msgctxt "Annotation tool" +#| msgid "Inline Text Annotation (drag to select a zone)" +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "Anotåcion di tecse dins l' fitchî (bodjîz po tchoezi ene redjon)" + +#: part/pageviewannotator.cpp:1473 +#, fuzzy, kde-format +#| msgid "Highlight" +msgid "Highlighter" +msgstr "Mete en evidince" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Add favorite annotation" +msgstr "Anotåcion" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Custom annotation name:" +msgstr "Anotåcion" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "&Fitchî" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "A&pontiaedjes" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "&Aidance" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "&Ashidaedje" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "&Rimarkes" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, fuzzy, kde-format +#| msgid "Main Toolbar" +msgid "Viewer Toolbar" +msgstr "Mwaisse bår" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "Prévoeyaedjes" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotations" +msgstr "Anotåcion" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
    Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"Ci documint a des ravalés fitchîs. Clitchîz chal po les vey oudonbén alez a Fitchî -> Ravalés fitchîs." + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "Di dvant" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "Raler al pådje di dvant" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "Potchî al pådje di dvant do documint" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "Shuvante" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "Avancî al pådje shuvante" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "Potchî al pådje shuvante do documint" + +#: part/part.cpp:687 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Beginning of the document" +msgstr "Dji rtchedje li documint..." + +#: part/part.cpp:688 +#, fuzzy, kde-format +#| msgid "Moves to the next page of the document" +msgid "Moves to the beginning of the document" +msgstr "Potchî al pådje shuvante do documint" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "Difén do documint" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "Potchî al difén do documint" + +#: part/part.cpp:707 +#, fuzzy, kde-format +#| msgid "Reload the current document from disk." +msgid "Rename the current bookmark" +msgstr "Ritcherdjî li documint do moumint a pårti del plake." + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "Rimarke di dvant" + +#: part/part.cpp:713 +#, fuzzy, kde-format +#| msgid "Go to the previous bookmarked page" +msgid "Go to the previous bookmark" +msgstr "Potchî al pådje markêye di dvant" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "Rimarke shuvante" + +#: part/part.cpp:719 +#, fuzzy, kde-format +#| msgid "Go to the next bookmarked page" +msgid "Go to the next bookmark" +msgstr "Potchî al pådje markêye d' après" + +#: part/part.cpp:748 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgid "Configure Okular…" +msgstr "Apontyî Okular..." + +#: part/part.cpp:751 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Configure Viewer…" +msgstr "Apontyî l' håyneu..." + +#: part/part.cpp:757 +#, fuzzy, kde-format +#| msgid "Configure Backends" +msgid "Configure Viewer Backends…" +msgstr "Apontyî les bouyes di fond..." + +#: part/part.cpp:759 +#, fuzzy, kde-format +#| msgid "Configure Backends" +msgid "Configure Backends…" +msgstr "Apontyî les bouyes di fond..." + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "Åd fwait del bouye di fond" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "Ritcher&djî" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "Ritcherdjî li documint do moumint a pårti del plake." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "Clôre li bår di cweraedje" + +#: part/part.cpp:813 +#, fuzzy, kde-format +#| msgid "Page Size" +msgid "Page Number" +msgstr "Grandeu do papî" + +#: part/part.cpp:817 +#, fuzzy, kde-format +#| msgid "Configure Okular..." +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "Apontyî Okular..." + +#: part/part.cpp:858 +#, fuzzy, kde-format +#| msgid "Speak Current Page" +msgid "Select All Text on Current Page" +msgstr "Lére l' pådje do moumint" + +#: part/part.cpp:871 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgid "Show S&idebar" +msgstr "Mostrer les &acinceus" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "" + +#: part/part.cpp:886 +#, fuzzy, kde-format +#| msgid "Show &Navigation Panel" +msgid "Show &Signatures Panel" +msgstr "Mostrer l' panea di &naiviaedje" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "&Ravalés fitchîs" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "&Ebaguer come" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "&Prezintaedje" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "" + +#: part/part.cpp:945 +#, fuzzy, kde-format +#| msgid "&Import PostScript as PDF..." +msgid "&Import PostScript as PDF…" +msgstr "&Abaguer PostScript e PDF..." + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "Passer å môde noere waitroûle" + +#: part/part.cpp:957 +#, fuzzy, kde-format +#| msgid "Erase Drawings" +msgid "Erase Drawing" +msgstr "Disfacer les dessinaedjes" + +#: part/part.cpp:962 +#, fuzzy, kde-format +#| msgid "Configure Backends..." +msgid "Configure Annotations…" +msgstr "Apontyî les bouyes di fond..." + +#: part/part.cpp:967 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Play/Pause Presentation" +msgstr "Prezintaedje" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" + +#: part/part.cpp:1123 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Document can't be saved" +msgstr "Documint a drovi" + +#: part/part.cpp:1152 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not open '%1' (%2) " +msgstr "Dji n' a savou drovi %1" + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "" + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "Dji n' a savou drovi li fitchî %1. Vochal li råjhon: %2" + +#: part/part.cpp:1249 +#, fuzzy, kde-format +#| msgid "Configure Backends" +msgid "Configure Viewer Backends" +msgstr "Apontyî les bouyes di fond..." + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "Apontyî les bouyes di fond..." + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" +"Dji n' a nén trové l' programe « ps2pdf », dabôrd Okular ni sait nén abaguer " +"des fitchîs PS eyet ls eployî." + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "ps2pdf nén trové" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "" + +#: part/part.cpp:1357 +#, fuzzy, kde-format +#| msgid "Importing PS file as PDF (this may take a while)..." +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "Dj' abague on fitchî PS e PDF (ça pôreut prinde lontins)..." + +#: part/part.cpp:1489 +#, fuzzy, kde-format +#| msgid "Moves to the last page of the document" +msgid "Please enter the password to read the document:" +msgstr "Potchî al dierinne pådje do documint" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "" + +#: part/part.cpp:1502 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Document Password" +msgstr "Documint a drovi" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"Ci documint a des formulaires. Clitchîz sol boton po ls eployî oudonbén " +"siervoz di Vey -> Mostrer formulaires." + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "" + +#: part/part.cpp:1739 +#, fuzzy, kde-format +#| msgid "Exit Presentation Mode" +msgid "Enter Presentation Mode" +msgstr "Moussî foû do môde prezintaedje" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "" + +#: part/part.cpp:1830 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not open %1. %2" +msgstr "Dji n' a savou drovi %1" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "" + +#: part/part.cpp:1865 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue Reloading" +msgstr "&Sins låtchî" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" + +#: part/part.cpp:1875 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue Closing" +msgstr "&Sins låtchî" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "" + +#: part/part.cpp:1883 +#, fuzzy, kde-format +#| msgid "Open Document" +msgid "Close Document" +msgstr "Drovi on documint" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" +"Ciste hårdêye moenne a ene accion « clôre li documint » ki n' rote nén cwand " +"on s' sieve do ravalé håyneu." + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" +"Ciste hårdêye moenne a ene accion « cwiter l' programe » ki n' rote nén " +"cwand on s' sieve do ravalé håyneu." + +#: part/part.cpp:2113 part/part.cpp:2131 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Reloading the document…" +msgstr "Dji rtchedje li documint..." + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "Å dvins" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "Potchî al pådje" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "&Pådje:" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "" + +#: part/part.cpp:2506 +#, fuzzy, kde-format +#| msgid "Rename Bookmark" +msgid "Rename this Bookmark" +msgstr "Rilomer li rmåke" + +#: part/part.cpp:2509 +#, fuzzy, kde-format +#| msgid "Rename Bookmark" +msgid "Remove this Bookmark" +msgstr "Rilomer li rmåke" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, fuzzy, kde-format +#| msgctxt "@action:inmenu" +#| msgid "&Save As..." +msgid "Save As" +msgstr "&Schaper eyet rlomer..." + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" + +#: part/part.cpp:2621 +#, fuzzy, kde-format +#| msgid "Line Extensions" +msgid "Unsupported extension" +msgstr "Rawetes di roye" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
    In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "Dji n' sai drovi l' fitchî timporaire po schaper." + +#: part/part.cpp:2726 +#, fuzzy, kde-kuit-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" +"Dji n' a savou schaper l' fitchî dins « %1 ». Sayîz del schaper a ene ôte " +"plaece." + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "" +"Dji n' a savou schaper l' fitchî dins « %1 ». Sayîz del schaper a ene ôte " +"plaece." + +#: part/part.cpp:2766 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgid "Filled form contents" +msgstr "Prôpietés di l' anotåcion" + +#: part/part.cpp:2769 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "User annotations" +msgstr "Prezintaedje" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" + +#: part/part.cpp:2796 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue" +msgstr "&Sins låtchî" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "" + +#: part/part.cpp:2824 +#, fuzzy, kde-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgid "File could not be saved in '%1'. %2" +msgstr "" +"Dji n' a savou schaper l' fitchî dins « %1 ». Sayîz del schaper a ene ôte " +"plaece." + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"Okular ni sait nén copyî %1 a l' eplaeçmint specifyî.\n" +"\n" +"Li documint n' egzistêye pus." + +#: part/part.cpp:2899 +#, fuzzy, kde-format +#| msgid "File could not be saved in '%1'. Try to save it to another location." +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" +"Dji n' a savou schaper l' fitchî dins « %1 ». Sayîz del schaper a ene ôte " +"plaece." + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "End Presentation" +msgid "Expand Whole Section" +msgstr "Fini prezintaedje" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "End Presentation" +msgid "Collapse Whole Section" +msgstr "Fini prezintaedje" + +#: part/part.cpp:3172 +#, fuzzy, kde-format +#| msgid "Link the &thumbnails with the page" +msgid "Sync Thumbnail with Page" +msgstr "Loyî les &prévoeyaedjes al pådje" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "Usteyes" + +#: part/part.cpp:3381 +#, fuzzy, kde-format +#| msgid "Speak Text" +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "Lére li tecse" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "L' imprimaedje di c' documint ci n' nén permetou." + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" +"Dji n' sai rexhe li documint. Aroke nén cnoxhowe. Rapoirtez on bug a bugs." +"kde.org, s' i vs plait" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" +"Dji n' sai rexhe li documint. Li spepieus discrijhaedje di l' aroke est " +"\"%1\". Rapoirtez on bug a bugs.kde.org, s' i vs plait" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "Potchî al plaece ki vs estîz dvant" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "Potchî al plaece ki vs estîz après" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"Aroke di fitchî! Dji n' sai ahiver l' fitchî timporaire " +"%1." + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" +"Aroke di fitchî! Dji n' sai drovi l' fitchî " +"%1 po disrastrindaedje. Li fitchî n' serè nén " +"tcherdjî." + +#: part/part.cpp:3751 +#, fuzzy, kde-format +#| msgid "" +#| "This error typically occurs if you do not have enough permissions to " +#| "read the file. You can check ownership and permissions if you right-click " +#| "on the file in the Dolphin file manager and then choose the 'Properties' " +#| "tab." +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"Ciste aroke si passe sovint si vs n' avoz pont d' droets assez po lére " +"li fitchî. Vos ploz verifyî li prôpieté eyet les droets si vs clitchîz droet " +"sol fitchî dins l' manaedjeu des fitchîs Dolphin eyet adon tchoezi l' " +"linwete « Prôpietés »." + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"Aroke di fitchî! Dji n' sai disrastrinde l' fitchî " +"%1. Li fitchî n' serè nén tcherdjî." + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"Ciste aroke si passe sovint sel fitchî est gordé. Si vs voloz esse seur, " +"sayîz d' disrastrinde li fitchî al mwin e vs siervant des usteyes e roye di " +"cmande." + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "Nole rimarke" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "&Candjî" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "&Vey" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&Potchî" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "&Usteyes" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "Mwaisse bår" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Annotation Toolbar" +msgstr "Anotåcion" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Quick Annotation Toolbar" +msgstr "Anotåcion" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "Tchuzes djeneråles" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "Accessibilité" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "Aidance d' accessibilité po lére" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "Performances" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "Apontiaedje des performances" + +#: part/preferencesdialog.cpp:45 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Configure Viewer" +msgstr "Apontyî l' håyneu..." + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "Prezintaedje" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "Tchuzes pol môde prezintaedje" + +#: part/preferencesdialog.cpp:50 +#, fuzzy, kde-format +#| msgid "Annotation Properties" +msgid "Annotation Options" +msgstr "Prôpietés di l' anotåcion" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "Aspougneu d' tecse" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "Tchuzes di l' aspougneu" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "Trover shuvant" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 – Prezintaedje" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "Candjî d' waitroûle" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "Waitroûle %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "Moussî foû do môde prezintaedje" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "Tite: %1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "Pådjes: %1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "Clitchîz pos ataker" + +#: part/presentationwidget.cpp:521 +#, fuzzy, kde-format +#| msgctxt "pause the movie playback" +#| msgid "Pause" +msgctxt "For Presentation" +msgid "Pause" +msgstr "Djoker" + +#: part/presentationwidget.cpp:524 +#, fuzzy, kde-format +#| msgctxt "start the movie playback" +#| msgid "Play" +msgctxt "For Presentation" +msgid "Play" +msgstr "Djouwer" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"I gn a deus façons d' moussî foû do môde prezintaedje, vos ploz soeye-t i " +"tchôkî l' tape ESC, soeye-t i clitchî sol boton po cwiter k' aparexhe cwand " +"on plaece li sori el droete coine al copete. Bén seur, vos ploz passer d' " +"ene finiesse a l' ôte (Alt+TAB prémetou)" + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "Dji dene on prezintaedje" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "Fitchî nén cnoxhou" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "Prôpietés d' %1" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "&Fontes" + +#: part/propertiesdialog.cpp:145 +#, fuzzy, kde-format +#| msgid "Reading font information..." +msgid "Reading font information…" +msgstr "Dji lé les pondants et djondants del fonte..." + +#: part/propertiesdialog.cpp:158 +#, fuzzy, kde-format +#| msgid "&Page Size" +msgid "&Page Sizes" +msgstr "Grandeu del &pådje" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "&Saetchî foû l' fonte" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Type 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Type 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "Type 1C (OT)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Type 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType (OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID Type 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID Type 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID Type 0C (OT)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType (OT)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "Nén cnoxhou" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "Ravalé (pårts)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "Totafwaitmint ravalé" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "Neni" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "Oyi (pårts)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "Oyi" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "[n/a]" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "Fonte nén cnoxhowe" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "Ravalé: %1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "No" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "Sôre" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "Fitchî" + +#: part/propertiesdialog.cpp:498 +#, fuzzy, kde-format +#| msgid "Pages" +msgid "Page" +msgstr "Pådjes" + +#: part/propertiesdialog.cpp:501 +#, fuzzy, kde-format +#| msgctxt "@title:column" +#| msgid "Size" +msgid "Size" +msgstr "Grandeu" + +#: part/revisionviewer.cpp:41 +#, fuzzy, kde-format +#| msgid "Print Preview" +msgid "Revision Preview" +msgstr "Prévey divant d' imprimer" + +#: part/revisionviewer.cpp:53 +#, fuzzy, kde-format +#| msgid "Where do you want to save %1?" +msgid "Where do you want to save this revision?" +msgstr "Wice voloz schaper %1?" + +#: part/revisionviewer.cpp:56 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not save file %1." +msgstr "Dji n' a savou drovi %1" + +#: part/revisionviewer.cpp:75 +#, fuzzy, kde-format +#| msgid "Could not open %1. Reason: %2" +msgid "Could not view revision." +msgstr "Dji n' a savou drovi li fitchî %1. Vochal li råjhon: %2" + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "Sititchîz pol moens 3 letes po passer al passete les pådjes" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "Diferince po ptitès et grandès letes" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "Corespond al fråze" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "Corespond a tos les mots" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "Corespond tolminme ké mot" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "Tchuzes del passete" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Certificates" +msgstr "Apontyî l' håyneu..." + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, fuzzy, kde-format +#| msgid "Allow" +msgid "All" +msgstr "Permete" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "Only QES certificates" +msgstr "Apontyî l' håyneu..." + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, fuzzy, kde-format +#| msgid "Options" +msgid "optional" +msgstr "Tchuzes" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, fuzzy, kde-format +#| msgid "Annotation" +#| msgid_plural "%1 Annotations" +msgid "Location:" +msgstr "Anotåcion" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, fuzzy, kde-format +#| msgid "Background color:" +msgid "Background:" +msgstr "Coleur di fond:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, fuzzy, kde-format +#| msgid "Background color:" +msgid "Recent backgrounds:" +msgstr "Coleur di fond:" + +#: part/side_reviews.cpp:66 +#, fuzzy, kde-format +#| msgid "" +#| "

    No annotations

    To create new annotations press " +#| "F6 or select Tools -> Review from the menu.
    " +msgid "" +"

    No annotations

    To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
    " +msgstr "" +"

    Nole anotåcion

    Pos ahiver des novelès anotåcions, " +"tchôkîz F6 oudonbén tchoezi Usteyes -> Rilevêye el dressêye.
    " + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "Grouper sol pådje" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "Grouper so l' oteur" + +#: part/side_reviews.cpp:155 +#, fuzzy, kde-format +#| msgid "Show reviews for current page only" +msgid "Show annotations for current page only" +msgstr "Èn mostrer les rlevêyes ki pol pådje do moumint" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "" + +#: part/signaturepanel.cpp:101 +#, fuzzy, kde-format +#| msgid "&Properties" +msgid "Properties" +msgstr "&Prôpietés" + +#: part/signaturepartutils.cpp:180 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "Pådjes: %1" + +#: part/signaturepartutils.cpp:181 +#, fuzzy, kde-format +#| msgid "Enable &background generation" +msgid "Select background image" +msgstr "Permete l' ahivaedje d' on &fond" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "" + +#: part/signaturepartutils.cpp:244 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Enter document password" +msgstr "Documint a drovi" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:63 +#, fuzzy, kde-format +#| msgid "Information" +msgid "Additional Information" +msgstr "Pondants et djondants" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:83 +#, fuzzy, kde-format +#| msgctxt "A document format, Okular-specific" +#| msgid "Document Archive" +msgid "Document Version" +msgstr "Årtchive di documint" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:95 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "View Certificate…" +msgstr "Apontyî l' håyneu..." + +#: part/signaturepropertiesdialog.cpp:97 +#, fuzzy, kde-format +#| msgid "Configure Viewer..." +msgid "View in Certificate Manager" +msgstr "Apontyî l' håyneu..." + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "Èn mostrer k' les pådjes markêyes" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "Djouwer" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "Djoker" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "Hôw" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, fuzzy, kde-format +#| msgid "&Edit" +msgid "&Edit…" +msgstr "&Candjî" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, fuzzy, kde-format +#| msgid "Wipe Down" +msgid "Move &Down" +msgstr "Schover evoye viè l' bas" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "Pådje do documint a mostrer" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "Enonder l' documint e môde prezintaedje" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "Controle « Unike instance »" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "" + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "" + +#: shell/shell.cpp:207 +#, fuzzy, kde-format +#| msgid "Unable to find the Okular component." +msgid "Unable to find the Okular component: %1" +msgstr "Dji n' a savou trover l' componint Okular." + +#: shell/shell.cpp:250 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgid "Sidebar" +msgstr "Mostrer les &acinceus" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "Dji n' a savou trover l' componint Okular." + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"Clitchîz po drovi on fitchî\n" +"Clitchîz eyet wårdez tchôkî po drovi on fitchî eployî dierinnmint" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" +"Clitchîz po drovi on fitchî oudonbén Clitchîz eyet wårdez tchôkî po drovi on fitchî eployî dierinnmint" + +#: shell/shell.cpp:582 +#, fuzzy, kde-format +#| msgid "Next Page" +msgid "Next Tab" +msgstr "Pådje shuvante" + +#: shell/shell.cpp:588 +#, fuzzy, kde-format +#| msgid "Previous Page" +msgid "Previous Tab" +msgstr "Pådje di dvant" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "" + +#: shell/shell.cpp:603 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgid "Lock Sidebar" +msgstr "Mostrer les &acinceus" + +#: shell/shell.cpp:703 +#, fuzzy, kde-format +#| msgid "*|All Files" +msgid "All files (*)" +msgstr "*|Tos les fitchîs" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "Drovi on documint" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "" + +#: shell/shell.cpp:826 +#, fuzzy, kde-format +#| msgid "Close" +msgid "Close Tabs" +msgstr "Clôre" + +#: shell/shell.cpp:833 +#, fuzzy, kde-format +#| msgid "" +#| "A file named \"%1\" already exists. Are you sure you want to overwrite it?" +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "" +"On fitchî « %1 » egzistêye dedja. Estoz seur(e) ki vos l' voloz spotchî?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "" + +#: shell/welcomescreen.cpp:64 +#, fuzzy, kde-format +#| msgid "Copy Text" +msgid "&Copy Path" +msgstr "Copyî tecse" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "" + +#: shell/welcomescreen.cpp:137 +#, fuzzy, kde-format +#| msgid "Current document only" +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "Documint do moumint seulmint" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, fuzzy, kde-format +#| msgid "Open Document" +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Drovi on documint" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, fuzzy, kde-format +#| msgid "Current document only" +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Documint do moumint seulmint" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "" + +#, fuzzy +#~| msgid "For Comment" +#~ msgid "Geometry with Comment" +#~ msgstr "Po scrire des rawetes" + +#~ msgid "Geometry" +#~ msgstr "Djeyometreye" + +#~ msgid "Modified: %1" +#~ msgstr "Candjî : %1" + +#~ msgid "Find..." +#~ msgstr "Trover..." + +#~ msgid "Go To Page..." +#~ msgstr "Potchî al pådje..." + +#~ msgid "Play movie..." +#~ msgstr "Djouwer fime..." + +#, fuzzy +#~| msgid "S&earch:" +#~ msgid "Search..." +#~ msgstr "C&weri:" + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "&Schaper eyet rlomer..." + +#, fuzzy +#~| msgid "&View" +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "&Vey" + +#~ msgid "Configure Viewer..." +#~ msgstr "Apontyî l' håyneu..." + +#, fuzzy +#~| msgid "Configure Backends..." +#~ msgid "Configure Viewer Backends..." +#~ msgstr "Apontyî les bouyes di fond..." + +#~ msgid "Configure Backends..." +#~ msgstr "Apontyî les bouyes di fond..." + +#, fuzzy +#~| msgid "&Edit" +#~ msgid "&Edit..." +#~ msgstr "&Candjî" + +#, fuzzy +#~| msgctxt "Unknown author" +#~| msgid "Unknown" +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "Nén cnoxhou" + +#, fuzzy +#~| msgctxt "Suffix for the opacity level, eg '80 %'" +#~| msgid " %" +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr " %" + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " %" + +#, fuzzy +#~| msgctxt "Suffix for the opacity level, eg '80 %'" +#~| msgid " %" +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr " %" + +#, fuzzy +#~| msgid "Fit Width" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "Al lårdjeur del pådje" + +#, fuzzy +#~| msgid "Fit Page" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "Forrimpli l' pådje" + +#~ msgid "*|All Files" +#~ msgstr "*|Tos les fitchîs" + +#, fuzzy +#~| msgid "Show scroll&bars" +#~ msgid "Show Sidebar" +#~ msgstr "Mostrer les &acinceus" + +#, fuzzy +#~| msgid "Experimental" +#~ msgctxt "@title:window" +#~ msgid "Experimental feature" +#~ msgstr "Esperimintå" + +#~ msgid "Remove Bookmarks" +#~ msgstr "Oister les rmarkes" + +#, fuzzy +#~| msgid "Annotation" +#~| msgid_plural "%1 Annotations" +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "Anotåcion" + +#, fuzzy +#~| msgid "Highlight" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "Mete en evidince" + +#, fuzzy +#~| msgid "Underline" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Underline" +#~ msgstr "Sorlignî" + +#, fuzzy +#~| msgid "Squiggly" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Squiggle" +#~ msgstr "Disfoirmant" + +#, fuzzy +#~| msgid "Strike out" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Strike Out" +#~ msgstr "Båré" + +#, fuzzy +#~| msgid "Insert" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "Sititchî" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "Note dins l' fitchî" + +#, fuzzy +#~| msgid "&Open Pop-up Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "&Drovi aspitante note" + +#, fuzzy +#~| msgid "Straight Yellow Line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Straight line" +#~ msgstr "Droete djaene roye" + +#, fuzzy +#~| msgid "Rectangle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Rectangle" +#~ msgstr "Rectangue" + +#, fuzzy +#~| msgid "Cyan Ellipse" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Ellipse" +#~ msgstr "Bleu ceke asplati" + +#, fuzzy +#~| msgid "Blue Polygon" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Polygon" +#~ msgstr "Bleu poligone" + +#, fuzzy +#~| msgid "Highlight" +#~ msgid "Highlight in Yellow" +#~ msgstr "Mete en evidince" + +#, fuzzy +#~| msgid "Highlight" +#~ msgid "Highlight in Green" +#~ msgstr "Mete en evidince" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgid "Insert Inline Note" +#~ msgstr "Note dins l' fitchî" + +#, fuzzy +#~| msgid "&Open Pop-up Note" +#~ msgid "Insert Popup Note" +#~ msgstr "&Drovi aspitante note" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "Tchoezi tecse" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "Tchoezi tecse" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "Tchoezi tecse" + +#, fuzzy +#~| msgid "Annotation" +#~| msgid_plural "%1 Annotations" +#~ msgid "Bookmark annotation" +#~ msgstr "Anotåcion" + +#, fuzzy +#~| msgid "Change &colors" +#~ msgid "&Toggle Change Colors" +#~ msgstr "Candjî &coleurs" + +#, fuzzy +#~| msgid "Enable transitions" +#~ msgctxt "@option:check Config dialog, presentation page, transitions" +#~ msgid "Enable transitions" +#~ msgstr "Mete en alaedje les passaedjes" + +#, fuzzy +#~| msgid "Advance every:" +#~ msgctxt "@label:spinbox Config dialog, presentation page" +#~ msgid "Advance every:" +#~ msgstr "Avancî totes les:" + +#, fuzzy +#~| msgid "Background color:" +#~ msgctxt "@label:listbox Config dialog, general page" +#~ msgid "Custom background color:" +#~ msgstr "Coleur di fond:" + +#~ msgid "Draw border around &Images" +#~ msgstr "Dessiner des boirdeures åtoû des &imådjes" + +#~ msgid "Identity" +#~ msgstr "Idintité" + +#, fuzzy +#~| msgid "&Author:" +#~ msgid "Au&thor:" +#~ msgstr "&Oteur:" + +#~ msgid "View Options" +#~ msgstr "Tchuzes di voeyaedje" + +#~ msgid "Navigation" +#~ msgstr "Naiviaedje" + +#~ msgid "Placement" +#~ msgstr "Plaeçmint" + +#~ msgid "Screen:" +#~ msgstr "Waitroûle:" + +#~ msgid "&Get Books From Internet..." +#~ msgstr "&Cweri des lives a pårti del daegntoele" + +#~ msgid "Reviews" +#~ msgstr "Rilevêyes" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "@item:inlistbox Color name" +#~ msgid "%1" +#~ msgstr "%1:" + +#~ msgid "Hide Forms" +#~ msgstr "Catchî formulaires" + +#~ msgid "&Review" +#~ msgstr "&Rilevêye" + +#~ msgid "Annotations author" +#~ msgstr "Oteur des notes" + +#~ msgid "Please insert your name or initials:" +#~ msgstr "Intrez, s' i vs plait, vosse no ou iniciåles:" + +#~ msgid "Show &Navigation Panel" +#~ msgstr "Mostrer l' panea di &naiviaedje" + +#~ msgid "Show Text" +#~ msgstr "Mostrer tecse" + +#~ msgid "Small Icons" +#~ msgstr "Pititès imådjetes" + +#~ msgid "Large Icons" +#~ msgstr "Lådjès imådjetes" + +#, fuzzy +#~| msgid "" +#~| "Click to use the current selection tool\n" +#~| "Click and hold to choose another selection tool" +#~ msgid "" +#~ "Click to use the current selection tool\n" +#~ "Click on the arrow to choose another selection tool" +#~ msgstr "" +#~ "Clitchîz pos eployî l' usteye di tchoes do moumint\n" +#~ "Clitchîz eyet wårdez tchôkî po tchoezi ene ôte usteye po tchoezi" + +#~ msgid "Created: %1" +#~ msgstr "Ahivé: %1" + +#~ msgid "Style" +#~ msgstr "Stîle" + +#~ msgid "&Size:" +#~ msgstr "&Grandeu:" + +#~ msgid "Inner color:" +#~ msgstr "Divintrinne coleur:" + +#~ msgid "Name: %1" +#~ msgstr "No : %1" + +#~ msgid "Size: %1" +#~ msgstr "Grandeu : %1" + +#~ msgid "&Browse Tool" +#~ msgstr "Usteye di &foytaedje" + +#~ msgid "&Zoom Tool" +#~ msgstr "Usteye di &zoumaedje" + +#~ msgctxt "Zoom Tool" +#~ msgid "Zoom" +#~ msgstr "Zoumer" + +#~ msgctxt "Select Tool" +#~ msgid "Selection" +#~ msgstr "Tchoes" + +#~ msgid "&Text Selection Tool" +#~ msgstr "Usteye po tchoezi l' te&cse" + +#, fuzzy +#~| msgid "&Selection Tool" +#~ msgid "T&able Selection Tool" +#~ msgstr "Usteye po &tchoezi" + +#, fuzzy +#~| msgctxt "Symbol for caret annotations" +#~| msgid "None" +#~ msgid " None" +#~ msgstr "Nouk" + +#~ msgid "" +#~ "The document requested to be launched in presentation mode.\n" +#~ "Do you want to allow it?" +#~ msgstr "" +#~ "Li documint a dmandé d' esse enondé e môde prezintaedje.\n" +#~ "Voloz vs lyi permete?" + +#~ msgid "Presentation Mode" +#~ msgstr "Môde prezintaedje" + +#~ msgid "Allow the presentation mode" +#~ msgstr "Permete li môde prezintaedje" + +#~ msgid "Do Not Allow" +#~ msgstr "En nén permete" + +#~ msgid "Do not allow the presentation mode" +#~ msgstr "En nén permete li môde prezintaedje" + +#~ msgid "Save &Copy As..." +#~ msgstr "Schaper l' &copeye et l' rilomer..." + +#~ msgid "" +#~ "End of document reached.\n" +#~ "Continue from the beginning?" +#~ msgstr "" +#~ "Vo m' la arivé al difén do documint.\n" +#~ "Fåt i rataker å cminçmint?" + +#~ msgid "" +#~ "Beginning of document reached.\n" +#~ "Continue from the bottom?" +#~ msgstr "" +#~ "Vo m' la arivé å cminçmint do documint.\n" +#~ "Fåt i rataker pal valêye?" + +#~ msgid "Current maintainer" +#~ msgstr "Mintneu do moumint" + +#~ msgid " sec." +#~ msgstr " seg." + +#~ msgid "Pencil color:" +#~ msgstr "Coleur do pene:" + +#~ msgid "Toggle Drawing Mode" +#~ msgstr "(Dis)mete li môde dessinaedje" + +#, fuzzy +#~| msgid "Starting KTTSD Failed: %1" +#~ msgid "Starting Jovie Text-to-Speech service Failed: %1" +#~ msgstr "L' enondaedje di KTTSD a fwait berwete: %1" + +#~ msgid "Search Columns" +#~ msgstr "Colones a cweri dvins" + +#~ msgid "All Visible Columns" +#~ msgstr "Totes les veyåvès colones" + +#~ msgid "No document opened." +#~ msgstr "Nou documint d' drovou." + +#~ msgid "No matches found for '%1'." +#~ msgstr "Rén trové ki corespond po « %1 »." + +#~ msgid "Search in progress..." +#~ msgstr "Cweraedje e fjhaedje..." + +#~ msgid "Searching for %1" +#~ msgstr "Dji cwire %1" + +#~ msgid "Identity Settings" +#~ msgstr "Tchuzes d' idintité" + +#~ msgid "Highlight Properties" +#~ msgstr "Prôpietés do meteaedje en evidince" + +#~ msgid "Ink Properties" +#~ msgstr "Prôpietés d' l' intche" + +#~ msgctxt "Annotation tool" +#~ msgid "Text Annotation" +#~ msgstr "Anotåcion di tecse" + +#~ msgctxt "Annotation tool" +#~ msgid "Green Ink" +#~ msgstr "Vete intche" + +#~ msgctxt "Annotation tool" +#~ msgid "Yellow Highlight" +#~ msgstr "Djaene metaedje en evidince" + +#~ msgctxt "Annotation tool" +#~ msgid "Straight Yellow Line" +#~ msgstr "Droete djaene roye" + +#~ msgid "Black Underlining" +#~ msgstr "Noer sorlignaedje" + +#~ msgctxt "Annotation tool" +#~ msgid "Underline the text with a black line" +#~ msgstr "Sorlignî l' tecse avou ene noere roye" + +#~ msgctxt "Annotation tool" +#~ msgid "A cyan ellipse" +#~ msgstr "On bleu ceke asplati" + +#~ msgid "Ink" +#~ msgstr "Intche" + +#, fuzzy +#~| msgid "Hide Forms" +#~ msgid "Reset Forms" +#~ msgstr "Catchî formulaires" + +#~ msgid "Moves to the first page of the document" +#~ msgstr "Potchî al prumire pådje do documint" + +#~ msgid "You must set this name:" +#~ msgstr "Vos dvoz defini c' no:" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "%1 is \"Title\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "%1 is \"File Path\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#~ msgctxt "@action:button" +#~ msgid "&Overwrite" +#~ msgstr "&Sipotchî" + +#~ msgid "Pages:" +#~ msgstr "Pådjes:" diff --git a/po/wa/okular_comicbook.po b/po/wa/okular_comicbook.po new file mode 100644 index 0000000..e5aa2e9 --- /dev/null +++ b/po/wa/okular_comicbook.po @@ -0,0 +1,59 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Jean Cayron , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_comicbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-01-04 17:55+0100\n" +"Last-Translator: Jean Cayron \n" +"Language-Team: Walloon \n" +"Language: wa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.2\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Djan Cayron" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "jean.cayron@gmail.com" + +#: document.cpp:97 +#, fuzzy, kde-format +#| msgid "Cannot open document, unrar was not found." +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "Dji n' sai drovi l' documint, dji n' a nén trové unrar." + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "" +"Li modêye d' unrar so vosse sistinme n' est nén bone po drovi des bindes d' " +"imådje." + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "Cogne di binde d' imådje nén cnoxhowe." + +#~ msgid "ComicBook Backend" +#~ msgstr "Bouye di fond po les bindes d' imådje" + +#~ msgid "A renderer for various comic book formats" +#~ msgstr "On moteur di rindou po sacwantès cognes di binde d' imådje" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/wa/okular_djvu.po b/po/wa/okular_djvu.po new file mode 100644 index 0000000..7fde472 --- /dev/null +++ b/po/wa/okular_djvu.po @@ -0,0 +1,135 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Jean Cayron , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_djvu\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-01-04 18:02+0100\n" +"Last-Translator: Jean Cayron \n" +"Language-Team: Walloon \n" +"Language: wa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.2\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Djan Cayron" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "jean.cayron@gmail.com" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "Produjheu" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "Eplaideu" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "Volume" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "Sôre di documint" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "Nén cnoxhou" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "Fitchîs componints" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "Nén cnoxhou" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "Ene seule pådje" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "Ravalé" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "Nén direk" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "Ravalé (vî)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "Indecsé (vî)" + +#~ msgid "DjVu Backend" +#~ msgstr "Bouye di fond DjVu" + +#~ msgid "DjVu backend based on DjVuLibre." +#~ msgstr "Bouye di fond DjVu båzé so DjVuLibre." + +#~ msgid "© 2006-2008 Pino Toscano" +#~ msgstr "© 2006-2008 Pino Toscano" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgctxt "Unknown title" +#~ msgid "Unknown" +#~ msgstr "Nén cnoxhou" + +#~ msgctxt "Unknown author" +#~ msgid "Unknown" +#~ msgstr "Nén cnoxhou" + +#~ msgctxt "Unknown editor" +#~ msgid "Unknown" +#~ msgstr "Nén cnoxhou" + +#~ msgctxt "Unknown publisher" +#~ msgid "Unknown" +#~ msgstr "Nén cnoxhou" + +#~ msgctxt "Unknown creation date" +#~ msgid "Unknown" +#~ msgstr "Nén cnoxhou" + +#~ msgctxt "Unknown volume information" +#~ msgid "Unknown" +#~ msgstr "Nén cnoxhou" + +#~ msgctxt "Unknown type of document" +#~ msgid "Unknown" +#~ msgstr "Nén cnoxhou" diff --git a/po/wa/okular_epub.po b/po/wa/okular_epub.po new file mode 100644 index 0000000..f7853e8 --- /dev/null +++ b/po/wa/okular_epub.po @@ -0,0 +1,56 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Jean Cayron , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_epub\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-01-04 18:03+0100\n" +"Last-Translator: Jean Cayron \n" +"Language-Team: Walloon \n" +"Language: wa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.2\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Djan Cayron" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "jean.cayron@gmail.com" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "Åk n' a nén stî come dji droveu l' documint EPub." + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "" + +#: generator_epub.cpp:30 +#, fuzzy, kde-format +#| msgid "EPub Backend" +msgid "EPub Backend Configuration" +msgstr "Bouye di fond EPub" + +#~ msgid "EPub Backend" +#~ msgstr "Bouye di fond EPub" + +#~ msgid "An EPub backend" +#~ msgstr "Ene bouye di fond EPub" + +#~ msgid "© 2008 Ely Levy" +#~ msgstr "© 2008 Ely Levy" + +#~ msgid "Ely Levy" +#~ msgstr "Ely Levy" diff --git a/po/wa/okular_fax.po b/po/wa/okular_fax.po new file mode 100644 index 0000000..0f56045 --- /dev/null +++ b/po/wa/okular_fax.po @@ -0,0 +1,45 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Jean Cayron , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_fax\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-01-04 18:04+0100\n" +"Last-Translator: Jean Cayron \n" +"Language-Team: Walloon \n" +"Language: wa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.2\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Djan Cayron" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "jean.cayron@gmail.com" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "Dji n' a nén savou tcherdjî l' documint" + +#~ msgid "Fax Backend" +#~ msgstr "Bouye di fond po les facs" + +#~ msgid "A G3/G4 fax document backend" +#~ msgstr "On programe fondmint po les documints facs G3/G4" + +#~ msgid "© 2008 Tobias Koenig" +#~ msgstr "© 2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/wa/okular_fictionbook.po b/po/wa/okular_fictionbook.po new file mode 100644 index 0000000..374ff00 --- /dev/null +++ b/po/wa/okular_fictionbook.po @@ -0,0 +1,82 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Jean Cayron , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_fictionbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-01-04 18:07+0100\n" +"Last-Translator: Jean Cayron \n" +"Language-Team: Walloon \n" +"Language: wa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.2\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Djan Cayron" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "jean.cayron@gmail.com" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "Li documint n' est nén on valåbe FictionBook" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "Dji n' sai drovi l' documint: %1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "Li documint n' est nén ene årtchive ZIP valåbe" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "Tcherpinte do documint nén valåbe (li mwaisse ridant manke)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "Dji n' a rén trové dins l' documint" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "Documint XML nén valåbe: %1" + +#: generator_fb.cpp:26 +#, fuzzy, kde-format +#| msgid "Fiction Book Backend" +msgid "FictionBook" +msgstr "Bouye di fond po Fiction Book" + +#: generator_fb.cpp:26 +#, fuzzy, kde-format +#| msgid "Fiction Book Backend" +msgid "FictionBook Backend Configuration" +msgstr "Bouye di fond po Fiction Book" + +#~ msgid "Fiction Book Backend" +#~ msgstr "Bouye di fond po Fiction Book" + +#~ msgid "A renderer for FictionBook eBooks" +#~ msgstr "On moteur di rindou po les lives sol toele FictionBook" + +#~ msgid "© 2007-2008 Tobias Koenig" +#~ msgstr "© 2007-2008 Tobias Koenig" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" diff --git a/po/wa/okular_ghostview.po b/po/wa/okular_ghostview.po new file mode 100644 index 0000000..1fc1e9b --- /dev/null +++ b/po/wa/okular_ghostview.po @@ -0,0 +1,89 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Jean Cayron , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_ghostview\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-04-23 17:05+0200\n" +"Last-Translator: Jean Cayron \n" +"Language-Team: Walloon \n" +"Language: wa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.2\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Djan Cayron" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "jean.cayron@gmail.com" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "Eployî les fontes del platfôme" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "Djenerålès tchuzes" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "&Eployî les fontes del platfôme" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Apontiaedje do programe fondmint PostScript" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "Modêye do documint" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "Livea d' lingaedje" + +#~ msgid "PS Backend" +#~ msgstr "Bouye di fond PS" + +#~ msgid "A PostScript file renderer." +#~ msgstr "On moteur di rindou po les fitchîs PostScript." + +#~ msgid "© 2007-2008 Albert Astals Cid" +#~ msgstr "© 2007-2008 Albert Astals Cid" + +#~ msgid "Based on the Spectre library." +#~ msgstr "Båzé sol livreye Spectre." + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" diff --git a/po/wa/okular_kimgio.po b/po/wa/okular_kimgio.po new file mode 100644 index 0000000..0b071c4 --- /dev/null +++ b/po/wa/okular_kimgio.po @@ -0,0 +1,72 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Jean Cayron , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_kimgio\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-01-04 18:10+0100\n" +"Last-Translator: Jean Cayron \n" +"Language-Team: Walloon \n" +"Language: wa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.2\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Djan Cayron" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "jean.cayron@gmail.com" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "Dji n' sai tcherdjî l' documint: %1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "" + +#~ msgid "Image Backend" +#~ msgstr "Bouye di fond po ls imådjes" + +#~ msgid "A simple image backend" +#~ msgstr "Ene simpe bouye di fond po ls imådjes" + +#, fuzzy +#~| msgid "" +#~| "© 2005 Albert Astals Cid\n" +#~| "© 2006-2007 Pino Toscano\n" +#~| "© 2006-2007 Tobias Koenig" +#~ msgid "" +#~ "© 2005, 2009 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" +#~ msgstr "" +#~ "© 2005 Albert Astals Cid\n" +#~ "© 2006-2007 Pino Toscano\n" +#~ "© 2006-2007 Tobias Koenig" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" + +#~ msgid "Tobias Koenig" +#~ msgstr "Tobias Koenig" + +#~ msgid "Main Toolbar" +#~ msgstr "Mwaisse bår" diff --git a/po/wa/okular_mobi.po b/po/wa/okular_mobi.po new file mode 100644 index 0000000..0e68de9 --- /dev/null +++ b/po/wa/okular_mobi.po @@ -0,0 +1,65 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Jean Cayron , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_mobi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-04-23 17:07+0200\n" +"Last-Translator: Jean Cayron \n" +"Language-Team: Walloon \n" +"Language: wa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.2\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Djan Cayron" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "jean.cayron@gmail.com" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "Åk n' a nén stî come dji droveu l' documint Mobipocket." + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "" +"Ci live est waeranti pa DRM et n' sait esse håyné ki dins on programe fwait " +"po ça" + +#: generator_mobi.cpp:25 +#, fuzzy, kde-format +#| msgid "Mobipocket Backend" +msgid "Mobipocket" +msgstr "Programe fondmint di Mobipocket" + +#: generator_mobi.cpp:25 +#, fuzzy, kde-format +#| msgid "Mobipocket Backend" +msgid "Mobipocket Backend Configuration" +msgstr "Programe fondmint di Mobipocket" + +#~ msgid "Mobipocket Backend" +#~ msgstr "Programe fondmint di Mobipocket" + +#~ msgid "A mobipocket backend" +#~ msgstr "On programe fondmint mobipacket" + +#~ msgid "© 2008-2009 Jakub Stachowski" +#~ msgstr "© 2008-2009 Jakub Stachowski" + +#~ msgid "Jakub Stachowski" +#~ msgstr "Jakub Stachowski" diff --git a/po/wa/okular_poppler.po b/po/wa/okular_poppler.po new file mode 100644 index 0000000..82828fa --- /dev/null +++ b/po/wa/okular_poppler.po @@ -0,0 +1,405 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Jean Cayron , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_poppler\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-01-04 18:43+0100\n" +"Last-Translator: Jean Cayron \n" +"Language-Team: Walloon \n" +"Language: wa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.2\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Djan Cayron" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "jean.cayron@gmail.com" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "Neni" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "Tchuzes PDF" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "Foirci rasterizaedje" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "Rasterijhî dins ene imådje divant l' imprimaedje" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"Foircixhe li rasterizaedje di tchaeke pådje dins ene imådje divant del " +"rexhe. Ça dene les troes cwårts do tins on pé rzultat mins c' est ahessåve " +"po rexhe des documints ki n' s' imprimèt nén comifåt." + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "" + +#: generator_pdf.cpp:1031 +#, fuzzy, kde-format +#| msgctxt "PDF v. " +#| msgid "PDF v. %1" +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF m. %1" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "Cogne" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "Ecripté" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "Nén ecripté" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "Såvrité" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "Oyi" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "Optimijhî" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "" + +#: generator_pdf.cpp:1758 +#, fuzzy, kde-format +#| msgid "PDF Backend" +msgid "PDF Backend Configuration" +msgstr "Bouye di fond PDF" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "" + +#: pdfsignatureutils.cpp:239 +#, fuzzy, kde-format +#| msgid "Document Password" +msgid "Enter Password" +msgstr "Sicret do documint" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "" + +#~ msgid "PDF Backend" +#~ msgstr "Bouye di fond PDF" + +#~ msgid "A PDF file renderer" +#~ msgstr "On moteur di rindou po fitchîs PDF" + +#~ msgid "© 2005-2008 Albert Astals Cid" +#~ msgstr "© 2005-2008 Albert Astals Cid" + +#~ msgid "Albert Astals Cid" +#~ msgstr "Albert Astals Cid" + +#~ msgid "Unknown" +#~ msgstr "Nén cnoxhou" + +#~ msgid "Unknown Date" +#~ msgstr "Date nén cnoxhowe" + +#~ msgid "Unknown Encryption" +#~ msgstr "Ecriptaedje nén cnoxhowe" + +#~ msgid "Unknown Optimization" +#~ msgstr "Optimijhaedje nén cnoxhou" + +#, fuzzy +#~| msgid "Please insert the password to read the document:" +#~ msgid "Please enter the password to read the document:" +#~ msgstr "Sitichîz s' i vs plait l' sicret po lére li documint:" + +#~ msgid "Incorrect password. Try again:" +#~ msgstr "Li scret n' est nén bon. Sayîz co on côp:" diff --git a/po/wa/okular_xps.po b/po/wa/okular_xps.po new file mode 100644 index 0000000..b95c41d --- /dev/null +++ b/po/wa/okular_xps.po @@ -0,0 +1,57 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Jean Cayron , 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_xps\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-01-04 18:44+0100\n" +"Last-Translator: Jean Cayron \n" +"Language-Team: Walloon \n" +"Language: wa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.2\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Djan Cayron" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "jean.cayron@gmail.com" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "Rivizion" + +#~ msgid "XPS Backend" +#~ msgstr "Bouye di fond XPS" + +#~ msgid "An XPS backend" +#~ msgstr "Ene bouye di fond XPS" + +#~ msgid "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" +#~ msgstr "" +#~ "© 2006-2007 Brad Hards\n" +#~ "© 2007 Jiri Klement\n" +#~ "© 2008 Pino Toscano" + +#~ msgid "Brad Hards" +#~ msgstr "Brad Hards" + +#~ msgid "Jiri Klement" +#~ msgstr "Jiri Klement" + +#~ msgid "Pino Toscano" +#~ msgstr "Pino Toscano" diff --git a/po/xh/okular.po b/po/xh/okular.po new file mode 100644 index 0000000..68691c7 --- /dev/null +++ b/po/xh/okular.po @@ -0,0 +1,5886 @@ +# translation of kpdf.po to Xhosa +# translation of kpdf.po to +# translation of kpdf.po to +# translation of kpdf.po to +# translation of kpdf.po to +# translation of kpdf.po to +# translation of kpdf.po to +# translation of kpdf.po to +# translation of kpdf.po to +# translation of kpdf.po to +# Copyright (C) 2002 Free Software Foundation, Inc. +# Lwandle Mgidlana , 2002 +# +msgid "" +msgstr "" +"Project-Id-Version: kpdf\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2002-11-14 17:05SAST\n" +"Last-Translator: Lwandle Mgidlana \n" +"Language-Team: Xhosa \n" +"Language: xh\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.0beta2\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Lwandle Mgidlana" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "lwandle@translate.org.za" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "" + +#: core/action.cpp:197 +#, kde-format +msgid "Execute '%1'…" +msgstr "" + +#: core/action.cpp:294 +#, fuzzy, kde-format +msgid "First Page" +msgstr "&Iyonela Kububanzi Bephepha" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, fuzzy, kde-format +msgid "Next Page" +msgstr "&Iyonela Kububanzi Bephepha" + +#: core/action.cpp:300 +#, fuzzy, kde-format +msgid "Last Page" +msgstr "&Iyonela Kububanzi Bephepha" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, kde-format +msgid "Go To Page…" +msgstr "" + +#: core/action.cpp:365 +#, kde-format +msgid "Play sound…" +msgstr "" + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "" + +#: core/action.cpp:483 +#, fuzzy, kde-format +msgid "Play movie…" +msgstr "&Iyonela Kububanzi Bephepha" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "" + +#: core/action.cpp:558 +#, fuzzy, kde-format +msgid "Pause movie" +msgstr "&Iyonela Kububanzi Bephepha" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
    %1 (%2).

    Please select which one to use:
    " +msgstr "" + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "" + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "" + +#: core/document.cpp:246 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "" + +#: core/document.cpp:248 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "" + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "" + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "" + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "" + +#: core/document.cpp:6023 +#, fuzzy, kde-format +msgid "Pages" +msgstr "&Iyonela Kububanzi Bephepha" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "" + +#: core/document.cpp:6032 +#, kde-format +msgid "MIME Type" +msgstr "" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "" + +#: core/document.cpp:6041 +#, fuzzy, kde-format +msgid "File Path" +msgstr "&Iyonela Kububanzi Bephepha" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "" + +#: core/document.cpp:6047 +#, fuzzy, kde-format +msgid "Page Size" +msgstr "&Iyonela Kububanzi Bephepha" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "" + +#: core/generator.cpp:790 +#, kde-format +msgid "Plain &Text…" +msgstr "" + +#: core/generator.cpp:793 +#, fuzzy, kde-format +#| msgid "KPDF" +msgid "PDF" +msgstr "KPDF" + +#: core/generator.cpp:797 +#, fuzzy, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "Uxwebhu oluzakuvulwa." + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "" + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "" + +#: core/signatureutils.cpp:504 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" + +#: core/signatureutils.cpp:506 +#, kde-format +msgid "Unknown signing error" +msgstr "" + +#: core/sourcereference.cpp:103 +#, fuzzy, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "&Iyonela Kububanzi Bephepha" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "" + +#: gui/certificatemodel.cpp:39 +#, fuzzy, kde-format +msgid "Version" +msgstr "Uxwebhu oluzakuvulwa." + +#: gui/certificatemodel.cpp:41 +#, fuzzy, kde-format +msgid "Serial Number" +msgstr "&Iyonela Kububanzi Bephepha" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "" + +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "" + +#: gui/guiutils.cpp:56 +#, kde-format +msgid "Arrow with Comment" +msgstr "" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "" + +#: gui/guiutils.cpp:71 +#, kde-format +msgid "Rectangle with Comment" +msgstr "" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "" + +#: gui/guiutils.cpp:74 +#, kde-format +msgid "Ellipse with Comment" +msgstr "" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "" + +#: gui/guiutils.cpp:87 +#, kde-format +msgid "Squiggle with Comment" +msgstr "" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "" + +#: gui/guiutils.cpp:91 +#, kde-format +msgid "Underline with Comment" +msgstr "" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out with Comment" +msgstr "" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "" + +#: gui/guiutils.cpp:106 +#, kde-format +msgid "Freehand Line with Comment" +msgstr "" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "" + +#: gui/guiutils.cpp:126 +#, fuzzy, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "&Iyonela Kububanzi Bephepha" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "" + +#: gui/guiutils.cpp:144 +#, kde-format +msgid "Annotation" +msgstr "" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "" + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "" + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "" + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "" + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "" + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "" + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "" + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "" + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "" + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "" + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "" + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "" + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "" + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "" + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr "" + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "" + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "" + +#: gui/signatureguiutils.cpp:208 +#, kde-format +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "" + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "" + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "" + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" + +#: gui/signaturemodel.cpp:141 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "" + +#: gui/signaturemodel.cpp:172 +#, fuzzy, kde-format +msgid "Reason: %1" +msgstr "&Iyonela Kububanzi Bephepha" + +#: gui/signaturemodel.cpp:177 +#, fuzzy, kde-format +msgid "Location: %1" +msgstr "&Iyonela Kububanzi Bephepha" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "" + +#: gui/signaturemodel.cpp:193 +#, kde-format +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "" + +#: gui/signaturemodel.cpp:195 +#, kde-format +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "" + +#: gui/signaturemodel.cpp:201 +#, kde-format +msgid "Signature Type: %1" +msgstr "" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "" + +#: part/annotationactionhandler.cpp:151 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "&Iyonela Kububanzi Bephepha" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, fuzzy, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "&Iyonela Kububanzi Bephepha" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:308 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "" + +#: part/annotationactionhandler.cpp:314 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "" + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "" + +#: part/annotationactionhandler.cpp:318 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "" + +#: part/annotationactionhandler.cpp:322 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "" + +#: part/annotationactionhandler.cpp:328 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" + +#: part/annotationactionhandler.cpp:341 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "" + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "" + +#: part/annotationactionhandler.cpp:552 +#, kde-format +msgid "&Annotations" +msgstr "" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "" + +#: part/annotationactionhandler.cpp:554 +#, kde-format +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "" + +#: part/annotationactionhandler.cpp:563 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "&Iyonela Kububanzi Bephepha" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "" + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "" + +#: part/annotationactionhandler.cpp:651 +#, kde-format +msgid "Quick Annotation Bar" +msgstr "" + +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "" + +#: part/annotationactionhandler.cpp:681 +#, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "" + +#: part/annotationactionhandler.cpp:684 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "&Iyonela Kububanzi Bephepha" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "" + +#: part/annotationactionhandler.cpp:696 +#, kde-format +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "" + +#: part/annotationmodel.cpp:320 +#, fuzzy, kde-format +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "&Iyonela Kububanzi Bephepha" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, fuzzy, kde-format +msgid "Page %1" +msgstr "&Iyonela Kububanzi Bephepha" + +#: part/annotationpopup.cpp:85 +#, kde-format +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "" +msgstr[1] "" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, kde-format +msgid "Copy Text to Clipboard" +msgstr "" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, kde-format +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:69 +#, fuzzy, kde-format +msgid "Created:" +msgstr "&Iyonela Kububanzi Bephepha" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, kde-format +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, fuzzy, kde-format +msgid "&Width:" +msgstr "&Iyonela Kububanzi Bephepha" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "" + +#: part/annotationwidgets.cpp:531 +#, kde-format +msgid "Leader line length:" +msgstr "" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "" + +#: part/annotationwidgets.cpp:773 +#, fuzzy, kde-format +msgid "Name:" +msgstr "&Iyonela Kububanzi Bephepha" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "" + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "" + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "" + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "" + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +msgstr[1] "" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "" + +#: part/bookmarklist.cpp:136 +#, fuzzy, kde-format +msgid "Show for all documents" +msgstr "Uxwebhu oluzakuvulwa." + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, kde-format +msgid "Search…" +msgstr "" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, kde-format +msgid "Expand All" +msgstr "" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, kde-format +msgid "Collapse All" +msgstr "" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "" + +#: part/bookmarklist.cpp:299 +#, fuzzy, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "Uxwebhu oluzakuvulwa." + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "" + +#: part/certificateviewer.cpp:50 +#, kde-format +msgid "Export…" +msgstr "" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "" + +#: part/colormodemenu.cpp:21 +#, kde-format +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "" + +#: part/colormodemenu.cpp:41 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "" + +#: part/colormodemenu.cpp:42 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, fuzzy, kde-format +msgid "Green" +msgstr "&Iyonela Kububanzi Bephepha" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, fuzzy, kde-format +msgid "Insert Text" +msgstr "&Iyonela Kububanzi Bephepha" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "" + +#: part/dlgaccessibility.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "" + +#: part/dlgaccessibility.cpp:87 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "" + +#: part/dlgaccessibility.cpp:99 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "" + +#: part/dlgannotations.cpp:25 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "" + +#: part/dlgannotations.cpp:26 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "" + +#: part/dlgannotations.cpp:28 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "" + +#: part/dlgannotations.cpp:34 +#, kde-format +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" + +#: part/dlgannotations.cpp:48 +#, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

    Quick Annotation Tools

    " +msgstr "" + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "" + +#: part/dlgeditor.cpp:31 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
    \n" +"You can also put few placeholders:\n" +"
      \n" +"
    • %f - the file name
    • \n" +"
    • %l - the line of the file to be reached
    • \n" +"
    • %c - the column of the file to be reached
    • \n" +"
    \n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "" + +#: part/dlggeneral.cpp:92 +#, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "" + +#: part/dlggeneral.cpp:148 +#, fuzzy, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "Uxwebhu oluzakuvulwa." + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "" + +#: part/dlggeneral.cpp:220 +#, kde-format +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "" + +#: part/dlggeneral.cpp:228 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "" + +#: part/dlggeneral.cpp:233 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "&Iyonela Kububanzi Bephepha" + +#: part/dlggeneral.cpp:234 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "&Iyonela Kububanzi Bephepha" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "" + +#: part/dlgperformance.cpp:28 +#, kde-format +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "" + +#: part/dlgperformance.cpp:38 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "&Iyonela Kububanzi Bephepha" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "" + +#: part/dlgperformance.cpp:56 +#, kde-format +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" + +#: part/dlgpresentation.cpp:38 +#, kde-format +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] "" +msgstr[1] "" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "" + +#: part/dlgpresentation.cpp:63 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "" + +#: part/dlgpresentation.cpp:121 +#, fuzzy, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "Uxwebhu oluzakuvulwa." + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

    Drawing Tools

    " +msgstr "" + +#: part/dlgpresentation.cpp:171 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "Uxwebhu oluzakuvulwa." + +#: part/dlgpresentation.cpp:172 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "Uxwebhu oluzakuvulwa." + +#: part/dlgpresentation.cpp:178 +#, fuzzy, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "&Iyonela Kububanzi Bephepha" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, fuzzy, kde-format +msgid "&Name:" +msgstr "&Iyonela Kububanzi Bephepha" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "" + +#: part/editdrawingtooldialog.cpp:58 +#, fuzzy, kde-format +msgid "&Pen Width:" +msgstr "&Iyonela Kububanzi Bephepha" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "" + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "" + +#: part/embeddedfilesdialog.cpp:48 +#, fuzzy, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "&Iyonela Kububanzi Bephepha" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "" + +#: part/embeddedfilesdialog.cpp:70 +#, fuzzy, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "&Iyonela Kububanzi Bephepha" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "" + +#: part/embeddedfilesdialog.cpp:72 +#, fuzzy, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "&Iyonela Kububanzi Bephepha" + +#: part/embeddedfilesdialog.cpp:73 +#, fuzzy, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "&Iyonela Kububanzi Bephepha" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "" + +#: part/embeddedfilesdialog.cpp:154 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "" + +#: part/embeddedfilesdialog.cpp:155 +#, kde-format +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "" + +#: part/findbar.cpp:54 +#, fuzzy, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "&Iyonela Kububanzi Bephepha" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "" + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "" + +#: part/pageview.cpp:563 +#, fuzzy, kde-format +msgid "Fit &Width" +msgstr "&Iyonela Kububanzi Bephepha" + +#: part/pageview.cpp:567 +#, fuzzy, kde-format +msgid "Fit &Page" +msgstr "&Iyonela Kububanzi Bephepha" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "" + +#: part/pageview.cpp:575 +#, fuzzy, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "&Iyonela Kububanzi Bephepha" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "" + +#: part/pageview.cpp:594 +#, fuzzy, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "&Iyonela Kububanzi Bephepha" + +#: part/pageview.cpp:595 +#, fuzzy, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "&Iyonela Kububanzi Bephepha" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "" + +#: part/pageview.cpp:717 +#, fuzzy, kde-format +msgid "Speak Whole Document" +msgstr "Uxwebhu oluzakuvulwa." + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] "" +msgstr[1] "" + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "" +msgstr[1] "" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "" + +#: part/pageview.cpp:2863 +#, kde-format +msgid "Image (%1 × %2 pixels)" +msgstr "" + +#: part/pageview.cpp:2865 +#, kde-format +msgid "Save to File…" +msgstr "" + +#: part/pageview.cpp:2885 +#, kde-format +msgid "Image [%1 × %2] copied to clipboard." +msgstr "" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "" + +#: part/pageview.cpp:2901 +#, kde-format +msgid "Image [%1 × %2] saved to %3 file." +msgstr "" + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, fuzzy, kde-format +msgid "Fit Width" +msgstr "&Iyonela Kububanzi Bephepha" + +#: part/pageview.cpp:4084 +#, fuzzy, kde-format +msgid "Fit Page" +msgstr "&Iyonela Kububanzi Bephepha" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "" + +#: part/pageview.cpp:4107 +#, kde-format +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "" + +#: part/pageview.cpp:4404 +#, kde-format +msgid "Configure Web Shortcuts…" +msgstr "" + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "" + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "" + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "" + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "" + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" + +#: part/pageview.cpp:5188 +#, kde-format +msgid "No valid certificates" +msgstr "" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, kde-format +msgid "Open Certificate Manager" +msgstr "" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
    Launch Certificate Manager " +"to import or manage certificates
    For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, kde-format +msgid "No certificates found" +msgstr "" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
    For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgctxt "NAME OF TRANSLATORS" +#| msgid "Your names" +msgid "Author name" +msgstr "Lwandle Mgidlana" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name for the annotation:" +msgstr "" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Custom annotation name:" +msgstr "" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
    Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "" + +#: part/part.cpp:674 +#, fuzzy, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "&Iyonela Kububanzi Bephepha" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "" + +#: part/part.cpp:748 +#, kde-format +msgid "Configure Okular…" +msgstr "" + +#: part/part.cpp:751 +#, kde-format +msgid "Configure Viewer…" +msgstr "" + +#: part/part.cpp:757 +#, kde-format +msgid "Configure Viewer Backends…" +msgstr "" + +#: part/part.cpp:759 +#, kde-format +msgid "Configure Backends…" +msgstr "" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "" + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "" + +#: part/part.cpp:813 +#, fuzzy, kde-format +msgid "Page Number" +msgstr "&Iyonela Kububanzi Bephepha" + +#: part/part.cpp:817 +#, kde-format +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "" + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "" + +#: part/part.cpp:945 +#, kde-format +msgid "&Import PostScript as PDF…" +msgstr "" + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "" + +#: part/part.cpp:962 +#, kde-format +msgid "Configure Annotations…" +msgstr "" + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" + +#: part/part.cpp:1123 +#, fuzzy, kde-format +msgid "Document can't be saved" +msgstr "Uxwebhu oluzakuvulwa." + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "" + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "" + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "" + +#: part/part.cpp:1357 +#, kde-format +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "" + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "" + +#: part/part.cpp:1502 +#, fuzzy, kde-format +msgid "Document Password" +msgstr "Uxwebhu oluzakuvulwa." + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "" + +#: part/part.cpp:1883 +#, fuzzy, kde-format +msgid "Close Document" +msgstr "Uxwebhu oluzakuvulwa." + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" + +#: part/part.cpp:2113 part/part.cpp:2131 +#, fuzzy, kde-format +msgid "Reloading the document…" +msgstr "Uxwebhu oluzakuvulwa." + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
    In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "" + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "" + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "" + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "" + +#: part/part.cpp:3158 +#, kde-format +msgid "Expand Whole Section" +msgstr "" + +#: part/part.cpp:3159 +#, kde-format +msgid "Collapse Whole Section" +msgstr "" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "" + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "&Hamba" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, kde-format +msgid "Quick Annotation Toolbar" +msgstr "" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "" + +#: part/presentationwidget.cpp:233 +#, fuzzy, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "&Iyonela Kububanzi Bephepha" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "" + +#: part/presentationwidget.cpp:378 +#, fuzzy, kde-format +msgid "Pages: %1" +msgstr "&Iyonela Kububanzi Bephepha" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "" + +#: part/presentationwidget.cpp:521 +#, fuzzy, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "&Iyonela Kububanzi Bephepha" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "" + +#: part/propertiesdialog.cpp:145 +#, kde-format +msgid "Reading font information…" +msgstr "" + +#: part/propertiesdialog.cpp:158 +#, fuzzy, kde-format +msgid "&Page Sizes" +msgstr "&Iyonela Kububanzi Bephepha" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "" + +#: part/propertiesdialog.cpp:391 +#, fuzzy, kde-format +msgid "Embedded: %1" +msgstr "&Iyonela Kububanzi Bephepha" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "" + +#: part/propertiesdialog.cpp:498 +#, fuzzy, kde-format +msgid "Page" +msgstr "&Iyonela Kububanzi Bephepha" + +#: part/propertiesdialog.cpp:501 +#, fuzzy, kde-format +msgid "Size" +msgstr "&Iyonela Kububanzi Bephepha" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "" + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "" + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, kde-format +msgid "Certificates" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, kde-format +msgid "Only QES certificates" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, kde-format +msgid "optional" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, kde-format +msgid "Background:" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, fuzzy, kde-format +msgid "Recent backgrounds:" +msgstr "Uxwebhu oluzakuvulwa." + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

    No annotations

    To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
    " +msgstr "" + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "" + +#: part/signaturepartutils.cpp:180 +#, fuzzy, kde-format +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "&Iyonela Kububanzi Bephepha" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "" + +#: part/signaturepartutils.cpp:244 +#, fuzzy, kde-format +msgid "Enter document password" +msgstr "Uxwebhu oluzakuvulwa." + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:83 +#, fuzzy, kde-format +msgid "Document Version" +msgstr "Uxwebhu oluzakuvulwa." + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:95 +#, kde-format +msgid "View Certificate…" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:97 +#, kde-format +msgid "View in Certificate Manager" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "" + +#: part/videowidget.cpp:146 +#, fuzzy, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "&Iyonela Kububanzi Bephepha" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, kde-format +msgid "&Edit…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "" + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "" + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" + +#: shell/shell.cpp:582 +#, fuzzy, kde-format +msgid "Next Tab" +msgstr "&Iyonela Kububanzi Bephepha" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "" + +#: shell/shell.cpp:708 +#, fuzzy, kde-format +msgid "Open Document" +msgstr "Uxwebhu oluzakuvulwa." + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "" + +#: shell/welcomescreen.cpp:137 +#, fuzzy, kde-format +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "Uxwebhu oluzakuvulwa." + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, fuzzy, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "Uxwebhu oluzakuvulwa." + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, fuzzy, kde-format +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "Uxwebhu oluzakuvulwa." + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "" + +#, fuzzy +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "&Iyonela Kububanzi Bephepha" + +#, fuzzy +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "&Iyonela Kububanzi Bephepha" + +#, fuzzy +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "&Iyonela Kububanzi Bephepha" + +#, fuzzy +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "&Iyonela Kububanzi Bephepha" + +#, fuzzy +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "&Iyonela Kububanzi Bephepha" + +#, fuzzy +#~ msgid "Created: %1" +#~ msgstr "&Iyonela Kububanzi Bephepha" + +#, fuzzy +#~ msgid "Name: %1" +#~ msgstr "&Iyonela Kububanzi Bephepha" + +#, fuzzy +#~ msgid "Current maintainer" +#~ msgstr "Uxwebhu oluzakuvulwa." + +#, fuzzy +#~ msgid "No document opened." +#~ msgstr "Uxwebhu oluzakuvulwa." + +#~ msgid "Fit to Page &Width" +#~ msgstr "&Iyonela Kububanzi Bephepha" + +#~ msgid "KPDF::Part" +#~ msgstr "KPDF::Part" diff --git a/po/zh_CN/okular.po b/po/zh_CN/okular.po new file mode 100644 index 0000000..0e47af5 --- /dev/null +++ b/po/zh_CN/okular.po @@ -0,0 +1,5933 @@ +msgid "" +msgstr "" +"Project-Id-Version: kdeorg\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-04-22 15:58\n" +"Last-Translator: \n" +"Language-Team: Chinese Simplified\n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Crowdin-Project: kdeorg\n" +"X-Crowdin-Project-ID: 269464\n" +"X-Crowdin-Language: zh-CN\n" +"X-Crowdin-File: /kf6-stable/messages/okular/okular.pot\n" +"X-Crowdin-File-ID: 50804\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" +"KDE China (中国), Feng Chao, Guo Yunhe, Lie Ex, Mai Haohui, Ni Hui, Tyson " +"Tan, Weng Xuetian, Yan Shuangchun" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" +"kde-china@kde.org, rainofchaos@gmail.com, i@guoyunhe.me, lilith.ex@gmail." +"com, mhh@ricetons.com, shuizhuyuanluo@126.com, tds00@qq.com, wengxt@gmail." +"com, yahzee@d3eye.com" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Okular - 一款通用文档查看器" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "前任维护者" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "大量程序框架工作、FictionBook 后端程序和旧版 ODT 后端程序" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "开发者" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymanski" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "在 KPDF 的代码基础上创建了 Okular" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "Enrico Ros" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "KPDF 开发者" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "Eugene Trounev" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "批注功能美工" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "Jiri Baum - NICTA" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "表格选择工具" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "Fabio D'Urso" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "批注功能改进" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "跳转到第 %1 页" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "打开外部文件" + +#: core/action.cpp:197 +#, kde-format +msgid "Execute '%1'…" +msgstr "执行“%1”…" + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "第一页" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "上一页" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "下一页" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "最后一页" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "后退" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "前进" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "退出" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "开始演示" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "结束演示" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "查找…" + +#: core/action.cpp:314 +#, kde-format +msgid "Go To Page…" +msgstr "跳转到页面…" + +#: core/action.cpp:365 +#, kde-format +msgid "Play sound…" +msgstr "播放声音…" + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "JavaScript 脚本" + +#: core/action.cpp:483 +#, kde-format +msgid "Play movie…" +msgstr "播放影片…" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "播放影片" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "停止播放影片" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "暂停播放影片" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "继续播放影片" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "此版本的 Okular 在构建时没有启用音频支持" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "后端程序选择" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
    %1 (%2).

    Please select which one to use:
    " +msgstr "" +"找到了多款支持该 MIME 类型的后端程序:
    %1 (%2)。

    " +"请选择您要使用哪一款:
    " + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "大部分页面是 %1。" + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "纵向 %1" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "横向 %1" + +#: core/document.cpp:246 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 × %2 英寸 (%3)" + +#: core/document.cpp:248 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 × %2 毫米 (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "正在从文档开头继续搜索" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "正在从文档末尾继续搜索" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "无法找到用于处理所给文档的插件。" + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "此文档类型尚未实现签名功能" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "移除批注" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "此文档正在试图执行外部应用程序。出于安全考虑,Okular 不允许这样做。" + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "找不到用于打开 MIME 类型为 %1 的应用程序。" + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "无法打开临时文件" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "打印转换失败" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "打印进程崩溃" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "打印进程无法启动" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "打印到文件失败" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "打印机状态无效" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "无法找到要打印的文件" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "没有要打印的文件" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" +"无法找到打印所需的二进制程序。请检查并确保 CUPS lpr 二进制程序已经安装并可" +"用。" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "页面的打印尺寸无效" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "无法打开“%1”。文件不存在" + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "标题" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "主题" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "描述" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "作者" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "创建程序" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "转换程序" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "版权" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "页数" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "创建时间" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "修改时间" + +#: core/document.cpp:6032 +#, kde-format +msgid "MIME Type" +msgstr "MIME 类型" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "类别" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "关键词" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "文件路径" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "文件大小" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "页面大小" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "添加批注" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "移除批注" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "修改批注属性" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "移动批注" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "调整批注" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "编辑文字" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "编辑批注内容" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "编辑表单内容" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "编辑表单列表选择" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "编辑表单组合框选择" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "编辑表单按钮状态" + +#: core/generator.cpp:790 +#, kde-format +msgid "Plain &Text…" +msgstr "纯文本(&T)…" + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "开放文档文字格式 (ODT)" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "打印选项" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "适合可打印区域" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "适合整个页面" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "缩放模式:" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "不再显示此消息" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "不可用" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "内部签名错误。请提交程序缺陷报告并包含能复现此错误的步骤。错误代码 %1" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "无法签名文档:%1" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "签名被用户取消" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "无法签名。密码错误" + +#: core/signatureutils.cpp:504 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" +"无法将已签名文档写入 %1,请确保您选择了具有写入权限的文" +"件夹" + +#: core/signatureutils.cpp:506 +#, kde-format +msgid "Unknown signing error" +msgstr "未知签名错误" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "源文件:%1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "默认字体(&D):" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "版本" + +#: gui/certificatemodel.cpp:41 +#, kde-format +msgid "Serial Number" +msgstr "序列号" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "颁发者" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "颁发时间" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "过期时间" + +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "主题" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "公钥" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "密钥用途" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "V%1" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "%1 (%2 位)" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "属性" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "值" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "弹窗批注" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "文字批注" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "文本框批注" + +#: gui/guiutils.cpp:56 +#, kde-format +msgid "Arrow with Comment" +msgstr "箭头 (有注释)" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "箭头" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "直线 (有注释)" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "直线" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "多边形 (有注释)" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "多边形" + +#: gui/guiutils.cpp:71 +#, kde-format +msgid "Rectangle with Comment" +msgstr "矩形 (有注释)" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "矩形" + +#: gui/guiutils.cpp:74 +#, kde-format +msgid "Ellipse with Comment" +msgstr "椭圆形 (有注释)" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "椭圆形" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "高亮 (有注释)" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "高亮" + +#: gui/guiutils.cpp:87 +#, kde-format +msgid "Squiggle with Comment" +msgstr "波浪下划线 (有注释)" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "波浪下划线" + +#: gui/guiutils.cpp:91 +#, kde-format +msgid "Underline with Comment" +msgstr "下划线 (有注释)" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "下划线" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out with Comment" +msgstr "删除线 (有注释)" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "删除线" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "图章 (有注释)" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "图章" + +#: gui/guiutils.cpp:106 +#, kde-format +msgid "Freehand Line with Comment" +msgstr "手绘线条 (有注释)" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "手绘线条" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "脱字符" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "文件附件" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "声音" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "影片" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "屏幕" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "小部件" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "富媒体" + +#: gui/guiutils.cpp:144 +#, kde-format +msgid "Annotation" +msgstr "批注" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "未知" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "作者:%1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "您要将 %1 保存到哪个位置?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "无法打开“%1”进行写入。文件未保存。" + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "签名加密有效。" + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "签名加密无效。" + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "摘要不匹配。" + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "此签名的 CMS/PKCS7 结构格式不正确。" + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "要求的签名在文档中不存在。" + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "此签名无法通过验证。" + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "证书可信任。" + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "证书的颁发者不可信。" + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "证书的颁发者未知。" + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "证书已被吊销。" + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "证书已过期。" + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "证书尚未验证。" + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "证书正在验证" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "证书有未知问题,或者数据损坏。" + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "MD2" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "MD5" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "SHA1" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "SHA256" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "SHA384" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "SHA512" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "SHA224" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "未知算法" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "RSA" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "DSA" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "EC" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "未知类型" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "数字签名" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "不可否认性" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "加密密钥" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "解密密钥" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "密钥协议" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "签名证书" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "签名 CRL" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "仅加密" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "未指定用途" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr "、" + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "此文件自签名以来没有被修改。" + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" +"此签名所涵盖的文档的修订版本未被修改;\n" +"但是文档本身在签名之后已被修改。" + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "此文档在未经上一个签名者许可的情况下已被修改。" + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "此文档无法通过一致性验证。" + +#: gui/signatureguiutils.cpp:208 +#, kde-format +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "此文档有签名占位符字段。" + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "此文档已经过数字签名。" + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "此文档已经过数字签名,但它在最后一次签名之后已被修改。" + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "此文档已经过数字签名,但它包含的某些签名无法通过验证。" + +#: gui/signaturemodel.cpp:141 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "签名占位符 %1" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "字段:页面 %2 中的 %1" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "修订版本 %1:由 %2 签名" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "签名时间:%1" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "原因:%1" + +#: gui/signaturemodel.cpp:177 +#, kde-format +msgid "Location: %1" +msgstr "位置:%1" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "PGP 签名" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "Adobe PKCS7" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "Adobe PKCS7 SHA1" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "ETSI CAdES" + +#: gui/signaturemodel.cpp:193 +#, kde-format +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "未知" + +#: gui/signaturemodel.cpp:195 +#, kde-format +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "签名占位符" + +#: gui/signaturemodel.cpp:201 +#, kde-format +msgid "Signature Type: %1" +msgstr "签名类型:%1" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "红色" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "橙色" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "黄色" + +#: part/annotationactionhandler.cpp:151 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "绿色" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "青色" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "蓝色" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "品红色" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "白色" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "灰色" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "黑色" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "宽度 %1" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1%" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "批注行宽 (没有选中批注)" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "批注颜色 (没有选中批注)" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "批注填充颜色 (没有选中批注)" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "批注透明度 (没有选中批注)" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "批注字体 (没有选中批注)" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "添加当前批注到快速批注菜单 (没有选中批注)" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "限制形状宽高比为 1:1、线条角度为 15° 每步 (没有选中批注)" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "当前批注工具的高级设置 (没有选中批注)" + +#: part/annotationactionhandler.cpp:308 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "批注线条宽度" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "批注线条宽度 (当前批注不支持线条宽度)" + +#: part/annotationactionhandler.cpp:314 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "批注文本颜色" + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "批注轮廓颜色" + +#: part/annotationactionhandler.cpp:318 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "批注颜色" + +#: part/annotationactionhandler.cpp:322 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "批注填充颜色" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "批注填充颜色 (当前批注不支持填充颜色)" + +#: part/annotationactionhandler.cpp:328 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "批注字体" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "批注字体 (当前批注不支持字体)" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "限制线条角度为 15° 每步" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "限制形状宽高比为 1:1" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "限制形状宽高比为 1:1、线条角度为 15° 每步 (当前批注不支持)" + +#: part/annotationactionhandler.cpp:341 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "批注透明度" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "添加当前批注到快速批注菜单" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "当前批注工具的高级设置" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "颜色" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "填充颜色" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "透明" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "自定义颜色…" + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "选择颜色" + +#: part/annotationactionhandler.cpp:552 +#, kde-format +msgid "&Annotations" +msgstr "批注(&A)" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "隐藏" + +#: part/annotationactionhandler.cpp:554 +#, kde-format +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "显示更多批注工具" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "高亮" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "下划线" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "波浪下划线" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "删除线" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "文字批注" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "文本框批注" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "弹窗批注" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "手绘线条" + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "直线" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "箭头" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "矩形" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "椭圆形" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "多边形" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "几何形状" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "图章" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "快速批注" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "从快速批注中选择一个批注工具" + +#: part/annotationactionhandler.cpp:651 +#, kde-format +msgid "Quick Annotation Bar" +msgstr "快速批注栏" + +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "添加到快速批注" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "批注工具保持活动" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "批注工具在使用后保持活动状态" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "限制批注工具的形状宽高比和线条角度" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "字体" + +#: part/annotationactionhandler.cpp:681 +#, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "批注设置" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "线条宽度" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "不透明度" + +#: part/annotationactionhandler.cpp:696 +#, kde-format +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1%" + +#: part/annotationmodel.cpp:320 +#, kde-format +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "页面 %1 (%2)" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "第 %1 页" + +#: part/annotationpopup.cpp:85 +#, kde-format +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "%1 个批注" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "打开弹窗批注(&O)" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "移除书签" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "添加书签" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, kde-format +msgid "Copy Text to Clipboard" +msgstr "复制文本到剪贴板" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "复制操作被 DRM 禁止" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "删除(&D)" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "属性(&P)" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, kde-format +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "保存“%1”(&S)…" + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "外观(&A)" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "常规(&G)" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "作者(&A):" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "创建时间:" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "修改时间:" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "弹窗批注属性" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "文字批注属性" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "文本框批注属性" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "直线属性" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "多边形属性" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "几何形状属性" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "文字标记属性" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "图章属性" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "手绘线条属性" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "脱字符属性" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "文件附件属性" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "声音属性" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "影片属性" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "批注属性" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "选择一个自定义图章图像" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "选择自定义图章图像" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" +"*.ico *.png *.xpm *.svg *.svgz | 图标文件 (*.ico *.png *.xpm *.svg *.svgz)" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "无法加载文件 %1" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "无效的文件" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "颜色(&C):" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, kde-format +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%v%" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "不透明度(&O):" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "图标:" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "注释" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "帮助" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "插入" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "键名" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "新段落" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "批注" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "段落" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "字体:" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "文字颜色(&C):" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "对齐(&A):" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "左对齐" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "居中对齐" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "右对齐" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "边框宽度(&W):" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "已批准" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "保持原样" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "机密" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "部门" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "草稿" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "实验" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "已过期" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "终稿" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "用于注释" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "公开发布" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "未批准" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "不公开发布" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "已售出" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "极密" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "书签" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "信息" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "图章图像:" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "宽度(&W):" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "线条起点:" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "线条终点:" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "方形" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "圆形" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "菱形" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "开放式箭头" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "封闭式箭头" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "无" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "竖杠" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "开放式反箭头" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "封闭式反箭头" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "斜杠" + +#: part/annotationwidgets.cpp:531 +#, kde-format +msgid "Leader line length:" +msgstr "引线长度:" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "引线延长线长度:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "启用" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "形状填充:" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "类型:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "删除线" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "文件附件图像:" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "图表" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "图钉" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "回形针" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "标签" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "文件" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "大小不可用" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "没有可用的描述。" + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "名称:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "描述:" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "脱字符符号:" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "无" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "关闭此批注" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "选项" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"此批注可能包含 LaTeX 代码。\n" +"点击此处渲染。" + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "找不到 latex 可执行程序。" + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "LaTeX 渲染失败" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "找不到 dvipng 可执行程序。" + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "执行“latex”命令时出错。" + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "执行“dvipng”命令时出错。" + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"%2 个书签" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "书签" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "显示到所有文档中" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, kde-format +msgid "Search…" +msgstr "搜索…" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, kde-format +msgid "Expand All" +msgstr "展开全部" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, kde-format +msgid "Collapse All" +msgstr "折叠全部" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "跳转到此书签" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "重命名书签" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "打开文档" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "移除此文档的所有书签" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "证书查看器" + +#: part/certificateviewer.cpp:50 +#, kde-format +msgid "Export…" +msgstr "导出…" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "常规" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "颁发者" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "通用名称(CN)" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "电子邮件" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "机构(O)" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "颁发给" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "有效期" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "指纹" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "SHA-1 指纹" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "SHA-256 指纹" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "详情" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "证书数据:" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "你想要将此证书保存到哪个位置?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "证书文件 (*.cer)" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "无法导出该证书" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "颜色模式(&C)" + +#: part/colormodemenu.cpp:21 +#, kde-format +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "更改颜色" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "正常颜色(&N)" + +#: part/colormodemenu.cpp:41 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "反相颜色(&I)" + +#: part/colormodemenu.cpp:42 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "更改纸张颜色(&P)" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "更改暗调和亮调颜色(&D)" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "转换为黑白(&B)" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "反转亮度(&L)" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "反转亮度 (sRGB 线性) (&U)" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "反转亮度 (对称) (&S)" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "正向平移色相(&O)" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "负向平移色相(&E)" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "红色" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "绿色" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "蓝色" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "黄色" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "黑色" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "白色" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "高亮 (黄色)" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "高亮 (绿色)" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "文字批注" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "绘制边框到链接周围" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "更改颜色" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "警告:这些选项会严重影响绘制速度。" + +#: part/dlgaccessibility.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "反相颜色" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "更改纸张颜色" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "更改暗调和亮调颜色" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "转换为黑白" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "反转亮度" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "反转亮度 (sRGB 线性)" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "反转亮度 (对称)" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "正向平移色相" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "负向平移色相" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "颜色模式:" + +#: part/dlgaccessibility.cpp:87 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "纸张颜色:" + +#: part/dlgaccessibility.cpp:99 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "暗调颜色:" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "亮调颜色:" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "阈值:" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "对比度:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "文字转语音引擎:" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "文字转语音声音:" + +#: part/dlgannotations.cpp:25 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "完整批注工具栏" + +#: part/dlgannotations.cpp:26 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "快速批注工具栏" + +#: part/dlgannotations.cpp:28 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "批注工具栏:" + +#: part/dlgannotations.cpp:34 +#, kde-format +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "作者:" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"注意:此信息仅用于备注,它将被保存到批注过的文档中,因此也会随被批注的" +"文档一起被传输。" + +#: part/dlgannotations.cpp:48 +#, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

    Quick Annotation Tools

    " +msgstr "

    快速批注工具

    " + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "选择在 Okular 打开源文件时启动的编辑器。" + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "自定义文本编辑器" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Emacs 客户端" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "Lyx 客户端" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "TeXudio" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "TeXiFy IDEA" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "编辑器:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
    \n" +"You can also put few placeholders:\n" +"
      \n" +"
    • %f - the file name
    • \n" +"
    • %l - the line of the file to be reached
    • \n" +"
    • %c - the column of the file to be reached
    • \n" +"
    \n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"设置用于启动自定义文本编辑器的命令。
    \n" +"您可以在命令中使用这些占位符:\n" +"
      \n" +"
    • %f - 文件名
    • \n" +"
    • %l - 要在文件中跳转到的行数
    • \n" +"
    • %c - 要在文件中跳转到的列数
    • \n" +"
    \n" +"如果没有指定 %f,程序会自动将文件名附加到此命令的后面。" + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "命令:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "使用平滑滚动" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "外观:" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "显示滚动条" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "缩略图栏与当前页面同步滚动" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "显示提示和信息" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "文档包含了内嵌文件、表单、签名时显示通知" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "标题栏显示文档标题 (如果可用)" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "显示文件名" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "显示完整文件路径" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "标题栏不显示文档标题时:" + +#: part/dlggeneral.cpp:92 +#, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "使用自定义背景色:" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "程序功能:" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "在标签页中打开新的文档" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "如果文档已经打开,则切换到打开它的标签页" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "遵守 DRM 限制" + +#: part/dlggeneral.cpp:148 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "重新加载文件发生更改的文档" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "显示后端程序选择对话框" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "阅读方向从右到左" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "使用文件信息来确定是否在连续翻页模式下打开" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "对于没有文件信息的文件,默认在连续翻页模式中打开" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "默认使用连续翻页模式打开文档" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "使用浏览工具时,光标可在屏幕边缘无限拖动翻页" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "最近历史中的项目:" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "总览模式页面列数:" + +#: part/dlggeneral.cpp:220 +#, kde-format +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%v%" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" +"点击“上一页/下一页”按钮翻页时,当前显示的页面在翻页后依然显示在视图中的比例。" + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "上一页/下一页按钮重叠区域:" + +#: part/dlggeneral.cpp:228 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%v%" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "100%" + +#: part/dlggeneral.cpp:233 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "适合宽度" + +#: part/dlggeneral.cpp:234 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "适合整页" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "自动适应" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "自定义" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" +"指定首次打开的文件的默认缩放模式。曾经打开过的文件会记忆之前的缩放模式。" + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "默认缩放:" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "启用透明效果" + +#: part/dlgperformance.cpp:28 +#, kde-format +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "CPU 使用:" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "低" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "正常 (默认)" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "积极" + +#: part/dlgperformance.cpp:38 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "贪婪" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "内存使用:" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "启用文本抗锯齿" + +#: part/dlgperformance.cpp:56 +#, kde-format +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "渲染选项:" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "启用图像抗锯齿" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "启用字体轮廓微调" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "尽量避免内存消耗,不在内存中保留内容以供复用 (适合内存较小的系统)。" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"兼顾内存占用和运行速度。预先加载下一页,并提升搜索速度 (适合 2GB 内存的系" +"统)。" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"已加载的内容会被保留在内存中。预先加载多个后续页面,并提升搜索速度 (适合 4GB " +"以上内存的系统)。" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" +"加载所有内容并保留在内存中。预先加载所有页面 (最多使用内存总量或者空闲内存的 " +"50%,取其大者)。" + +#: part/dlgpresentation.cpp:38 +#, kde-format +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] "每 %v 秒" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "自动前进:" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "最后一页后循环" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "点击左右两侧来前进/后退" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "点击任意位置前进" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "已禁用" + +#: part/dlgpresentation.cpp:63 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "触摸导航:" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "背景色:" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "静止时隐藏" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "总是显示" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "总是隐藏" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "鼠标光标:" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "显示进度指示器" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "显示摘要页面" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "即时 (不使用动画)" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "替换" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "随机" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "垂直百叶窗" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "水平百叶窗" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "盒状收缩" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "盒装展开" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "溶解" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "渐隐渐显" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "向下碎块展开" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "向右碎块展开" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "向右下碎块展开" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "水平切入" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "水平切出" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "垂直切入" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "垂直切出" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "下扫" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "右扫" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "左扫" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "上扫" + +#: part/dlgpresentation.cpp:121 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "默认切换风格:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "首选屏幕:" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

    Drawing Tools

    " +msgstr "

    绘图工具

    " + +#: part/dlgpresentation.cpp:171 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "当前屏幕" + +#: part/dlgpresentation.cpp:172 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "默认屏幕" + +#: part/dlgpresentation.cpp:178 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "屏幕 %1 (%2 %3 %4)" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "屏幕 %1 (已断开连接)" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "绘图工具:%1" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "橡皮擦" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "名称(&N):" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "类型(&T):" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "外观" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "文字标记" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "几何形状" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "创建批注工具" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "编辑批注工具" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "颜色:" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "线条宽度(&P):" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "%v 像素" + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "创建绘图工具" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "编辑绘图工具" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "未知" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "嵌入的文件" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "查看" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "名称" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "描述" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "大小" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "创建时间" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "修改时间" + +#: part/embeddedfilesdialog.cpp:154 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "另存为(&S)…" + +#: part/embeddedfilesdialog.cpp:155 +#, kde-format +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "视图(&V)…" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "无法加载打印预览组件" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "打印预览" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "关闭" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "查找(&I):" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "要查找的文本" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "下一个" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "跳转到下一个匹配项" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "上一个" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "跳转到上一个匹配项" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "更改搜索行为" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "区分大小写" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "从当前页开始查找" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "在您输入的同时查找" + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "所有文件 (*)" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "签名占位符 (点击签名)" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "签名(&S)…" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "签名属性" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "搜索选项" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "区分大小写" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "正则表达式" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "图层" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "/" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "缩放" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "缩放到 100%" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "旋转 (向右) (&R)" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "旋转 (向右)" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "旋转 (向左) (&L)" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "旋转 (向左)" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "原始方向" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "裁切视图(&T)" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "裁切页边空白(&T)" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "裁切到选区(&S)" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "适合宽度(&W)" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "适合整页(&P)" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "自动适应(&A)" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "窗口适应页面(&N)" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "视图模式(&V)" + +#: part/pageview.cpp:594 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "单页(&S)" + +#: part/pageview.cpp:595 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "双页(&F)" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "双页 - 首页居中(&C)" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "总览(&O)" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "连续翻页(&C)" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "阅读方向从右到左" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "浏览(&B)" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "缩放(&Z)" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "选择区域(&S)" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "选择文本(&T)" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "选择表格(&A)" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "放大镜(&M)" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "选择工具" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "数字签名(&S)…" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "朗读整篇文档" + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "从当前页面开始朗读" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "朗读当前页面" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "停止朗读" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "暂停/继续朗读" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "向上滚动" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "向下滚动" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "向上滚动一页" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "向下滚动一页" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "显示表单" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] " 已加载一个 %1 页的文档。" + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "复制目录到剪贴板" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "文本 (%1 个字符)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "复制到剪贴板" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "朗读文本" + +#: part/pageview.cpp:2863 +#, kde-format +msgid "Image (%1 × %2 pixels)" +msgstr "图像 (%1 × %2 像素)" + +#: part/pageview.cpp:2865 +#, kde-format +msgid "Save to File…" +msgstr "保存到文件…" + +#: part/pageview.cpp:2885 +#, kde-format +msgid "Image [%1 × %2] copied to clipboard." +msgstr "图像 [%1 × %2] 已复制到剪贴板。" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "保存文件" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "图像 (*.png *.jpeg)" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "文件未保存。" + +#: part/pageview.cpp:2901 +#, kde-format +msgid "Image [%1 × %2] saved to %3 file." +msgstr "图像 [%1 × %2] 已保存到 %3 文件。" + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "复制文本" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "跳转到“%1”" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "适合宽度" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "适合整页" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "自动适应" + +#: part/pageview.cpp:4107 +#, kde-format +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1%" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "搜索网页中的“%1”,使用" + +#: part/pageview.cpp:4404 +#, kde-format +msgid "Configure Web Shortcuts…" +msgstr "配置网页搜索缩略词…" + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "访问此链接" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "播放此声音..." + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "停止播放声音" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "复制链接地址" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "搜索此文档中的“%1”" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "欢迎" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "选择一个区域即可放大。右键点击即可缩小。" + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "点击任意位置不放,即可通过放大镜查看。" + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "绘制一个矩形框,即可选择框内的文字和图像。" + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "选择文字" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "在表格周围绘制一个矩形框,然后点击边缘附近以分割;按 Esc 清除。" + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "您所有的签名证书均无效。如果您之前可以正常签名,请检查证书的有效日期。" + +#: part/pageview.cpp:5188 +#, kde-format +msgid "No valid certificates" +msgstr "没有有效的证书" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, kde-format +msgid "Open Certificate Manager" +msgstr "打开证书管理器" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
    Launch Certificate Manager " +"to import or manage certificates
    For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" +"没有可用的签名证书。
    启动证书管理器以导入或管理证书
    更多信息请参阅使" +"用手册中关于 添加数字签名 的部分。" + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, kde-format +msgid "No certificates found" +msgstr "没有找到证书" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
    For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" +"没有可用的签名证书。
    如需了解更多信息,请查看使用手册的 添" +"加数字签名 章节。" + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "您有尚未保存的更改,请先保存文档再进行签名。" + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "绘制用于插入签名字段的矩形区域" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "请在需要保留可见的页面区域之外绘制一个矩形" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "新建文字批注" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "新建批注的文字:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"签名者:%1\n" +"\n" +"日期:%2" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" +"签名的尺寸可能太小,难以阅读。如果您想要创建一个更易阅读的签名,请点击 " +"重新绘制 按钮,然后绘制一个更大的矩形。" + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "从头开始" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "签名" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name" +msgstr "作者" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name for the annotation:" +msgstr "批注的作者:" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "绘制一个椭圆 (拖动选择椭圆区域)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "标记需要高亮的文字" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "绘制手绘线条" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "文本框批注 (拖动选择批注区域)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "添加弹窗批注" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "绘制一个多边形 (点击起点即可闭合)" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "绘制一个矩形" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "标记需要用波浪线标记的文字" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "请将图章放入页面" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "绘制一条直线" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "标记需要用删除线标记的文字" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "标记需要用下划线标记的文字" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "文字批注 (拖动选择区域)" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "高亮" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "添加到快速批注工具栏" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Custom annotation name:" +msgstr "自定义批注名称:" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "文件(&F)" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "设置(&S)" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "帮助(&H)" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "旋转方向(&O)" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "书签(&B)" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "查看器工具栏" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "缩略图" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "批注" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
    Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" +"此文档包含由旧版 Okular 通过内部存储功能保存的批注或者表单数据。新版软件已经" +"不再支持此功能。
    如需继续编辑此文档,请将它们另存为其他文件。" + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"此文档包含嵌入的文件。点击此处可查看这些文" +"件,也可通过菜单栏的文件 -> 嵌入的文件查看。" + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "签名正在进行中。您可以调整签名的位置和大小" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "完成签名" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "上一页" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "后退到上一页" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "移动到文档的上一页" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "下一页" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "前进到下一页" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "移动到文档的下一页" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "文档开头" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "移动到文档的开头" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "文档末尾" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "移动到文档的末尾" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "重命名当前书签" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "上一个书签" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "跳转到上一个书签" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "下一个书签" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "跳转到下一个书签" + +#: part/part.cpp:748 +#, kde-format +msgid "Configure Okular…" +msgstr "配置 Okular…" + +#: part/part.cpp:751 +#, kde-format +msgid "Configure Viewer…" +msgstr "配置查看器…" + +#: part/part.cpp:757 +#, kde-format +msgid "Configure Viewer Backends…" +msgstr "配置查看器后端程序…" + +#: part/part.cpp:759 +#, kde-format +msgid "Configure Backends…" +msgstr "配置后端程序…" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "关于后端程序" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "重新加载(&D)" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "重新从磁盘加载当前文档。" + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "关闭查找栏(&F)" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "页码" + +#: part/part.cpp:817 +#, kde-format +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "配置颜色模式…" + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "选择当前页的所有文本" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "显示侧边栏(&I)" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "显示页码栏(&P)" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "显示签名面板(&S)" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "嵌入的文件(&E)" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "导出为(&X)" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "分享(&H)" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "演示模式(&R)" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "打开所在文件夹(&T)" + +#: part/part.cpp:945 +#, kde-format +msgid "&Import PostScript as PDF…" +msgstr "导入 Postscript 为 PDF(&I)…" + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "切换黑屏模式" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "清除绘制的图案" + +#: part/part.cpp:962 +#, kde-format +msgid "Configure Annotations…" +msgstr "配置批注…" + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "播放/暂停演示" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" +"您刚刚修改了打开的文档,但这种文档无法保存。\n" +"Okular 关闭后,所有修改都将丢失。" + +#: part/part.cpp:1123 +#, kde-format +msgid "Document can't be saved" +msgstr "文档无法保存" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "无法打开“%1”(%2) " + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "已取消加载 %1。" + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "无法打开 %1。原因:%2" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "配置查看器后端程序" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "配置后端程序" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "找不到“ps2pdf”程序,因此 Okular 无法使用它来导入 PS 文件。" + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "找不到 ps2pdf 程序" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "PostScript 文件 (%1)" + +#: part/part.cpp:1357 +#, kde-format +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "正在将 PS 文件导入为 PDF (可能需要一些时间)…" + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "请输入文档的读取密码:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "密码错误。请重试:" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "文档密码" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "此文档包含 XFA 表单,目前程序尚未支持这种表单。" + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" +"此文档包含表单。点击按钮,或者在菜单栏选择视图 -> 显示表单即可对表单进行操" +"作。" + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" +"此文档的所有编辑和交互功能已被禁用。要编辑此文档,请另存为一个副本再重新打" +"开。" + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" +"此文档请求全屏显示。\n" +"您想要离开正常模式进入演示模式吗?" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "请求改变查看模式" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "进入演示模式" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "拒绝请求" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "无法打开 %1。%2" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" +"文件 %1 有未保存的更改,但该文件已被其他程序修改。重新加" +"载该文件后,未保存的更改将被替换为其他程序修改过的版本。你想要继续" +"重新加载该文件吗?" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "文件已更改" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "继续重新加载" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "中止重新加载" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" +"文件 %1 有未保存的更改,但该文件已被其他程序修改。关闭该" +"文件后,未保存的更改将被替换为其他程序修改过的版本。你想要继续关闭" +"该文件吗?" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "继续关闭" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "中止关闭" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "您想要保存“%1”的更改还是丢弃更改?" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "关闭文档" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "此链接指向一个关闭文档的操作,但该操作在使用嵌入式查看器时无效。" + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "此链接指向一个退出程序的操作,但该操作在使用嵌入式查看器时无效。" + +#: part/part.cpp:2113 part/part.cpp:2131 +#, kde-format +msgid "Reloading the document…" +msgstr "正在重新加载文档…" + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "目录" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "签名" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "跳转到页面" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "页码(&P):" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "输入书签的新名称:" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "重命名此书签" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "删除此书签" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "另存为" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" +"您想要保存的 Okular 文档存档文件名没有以“%1”扩展名结尾,不支持这种文件名模" +"式。您想要提供一个新的文件名吗?" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "不支持的扩展名" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "选择新文件名" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" +"文件 %1 已被其他程序修改。如果您保存该文件,之前在其他程" +"序中作出的更改将会丢失。您确定要继续吗?" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "保存 - 警告" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "保存副本到另一个位置" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
    In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" +"当前文档通过密码保护。
    进行保存需要重新加载该文件。程序将要求您重新输入密" +"码,撤销/重做历史记录也将丢失。
    您想要继续吗?" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "无法打开临时文件进行保存。" + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" +"无法覆盖 %1,因为该文件已被设为只读。请尝试保存到另一个" +"位置,或者更改该文件的权限属性。" + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" +"保存完成后,当前文档格式要求重新加载此文件。您的撤销/重做历史记录将会丢失。" +"
    您想要继续吗?" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "文件无法保存到“%1”。请尝试保存到其他位置。" + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "已填写的表单内容" + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "用户批注" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" +"即将保存文档的更改,但是当前文件格式不支持保存以下元素。要保留这些元素,请使" +"用 Okular 文档存档 格式进行保存。" + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "警告" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "另存为 Okular 文档存档…" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" +"即将保存文档的更改,但是当前文件格式不支持保存以下元素。要保留这些元素,请使" +"用 Okular 文档存档 格式进行保存。点击 继续 将使用当前格式进行保" +"存,这些元素将被丢弃。" + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" +"即将保存文档的更改,但是当前文件格式不支持保存以下元素。要保留这些元素,请使" +"用 Okular 文档存档 格式进行保存。点击 继续 将使用当前格式进行保" +"存,这些元素和撤销/重做历史记录将被丢弃。" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "继续" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "继续,丢弃更改" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "文件无法保存到“%1”。%2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"Okular 无法将 %1 复制到指定位置。\n" +"\n" +"该文档已不存在。" + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "文件无法保存到“%1”。错误:“%2”。请尝试保存到其他位置。" + +#: part/part.cpp:3158 +#, kde-format +msgid "Expand Whole Section" +msgstr "展开整个章节" + +#: part/part.cpp:3159 +#, kde-format +msgid "Collapse Whole Section" +msgstr "折叠整个章节" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "同步滚动缩略图和页面" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "工具" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "朗读" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "打印" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "此文档不允许打印。" + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "无法打印此文档。未知错误。请到 bugs.kde.org 网站提交程序缺陷报告" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "无法打印此文档。具体错误是“%1”。请到 bugs.kde.org 网站提交程序缺陷报告" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "跳转到之前的位置" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "跳转到之后的位置" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"文件错误。无法创建临时文件 %1。" + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded.
    " +msgstr "" +"文件错误! 无法打开并解压文件 %1。将不会加载此文件。" + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"此错误通常是因为您没有文件的读取权限。您可以在 Dolphin 文件管理器中右键点" +"击该文件,选择“属性”,然后切换到“权限”标签页,检查文件的所有者和权限。" + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"文件错误!无法解压文件 %1" +"将不会加载此文件。" + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"此错误通常是因为文件已经损坏。您可以尝试使用命令行工具手动解压此文件,以" +"确认它是否已经损坏。" + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "没有书签" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "分享文档时出错:%1" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "分享" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "文档成功分享" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "您可以在此找到已分享的文档:%1" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "编辑(&E)" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "视图(&V)" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "跳转(&G)" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "工具(&T)" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "主工具栏" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "批注工具栏" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, kde-format +msgid "Quick Annotation Toolbar" +msgstr "快速批注工具栏" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "常规选项" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "无障碍辅助" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "无障碍阅读辅助" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "性能" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "性能调优" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "配置查看器" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "演示" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "演示模式选项" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "批注选项" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "编辑器" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "编辑器选项" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" +"已通过命令行将编辑器设置为\n" +" %1 \n" +"如果您想要使用该设置,请在没有使用 --editor-cmd 选项的情况下启动 Okular" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "查找下一个" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 – 演示" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "切换屏幕" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "屏幕 %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "退出演示模式" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "标题:%1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "页数:%1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "点击开始" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "暂停" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "播放" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"退出演示模式有两种方法,您可以按 Esc 键,也可以将鼠标移至右上角,单击随后出现" +"的退出按钮。您也可以切换到其他窗口 (默认快捷键是 Alt+Tab)" + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "正在进行演示" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "未知文件" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "%1 属性" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "字体(&F)" + +#: part/propertiesdialog.cpp:145 +#, kde-format +msgid "Reading font information…" +msgstr "正在读取字体信息…" + +#: part/propertiesdialog.cpp:158 +#, kde-format +msgid "&Page Sizes" +msgstr "页面大小(&P)" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "提取字体(&E)" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "Type 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "Type 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "Type 1C (OT)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "Type 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType (OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID Type 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID Type 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID Type 0C (OT)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType (OT)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "TeX PK" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "TeX virtual" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "TeX Font Metric" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "TeX FreeType-handled" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "未知" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "已嵌入 (子集)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "已嵌入 (完整)" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "否" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "是 (子集)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "是" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "%1 (替换为 %2)" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "[不可用]" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "未知字体" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "已嵌入:%1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "名称" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "类型" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "文件" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "页面" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "大小" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "修订版本预览" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "你想要将此修订版本保存到哪个位置?" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "无法保存文件 %1。" + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "无法查看修订版本。" + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "请输入至少 3 个字母的过滤条件" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "区分大小写" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "匹配词组" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "匹配全部单词" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "匹配任一单词" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "过滤器选项" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, kde-format +msgid "Certificates" +msgstr "证书" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "选择用于签名的证书:" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "全部" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, kde-format +msgid "Only QES certificates" +msgstr "仅 QES 证书" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "仅 PGP 密钥" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "原因:" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, kde-format +msgid "optional" +msgstr "可选" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "位置:" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, kde-format +msgid "Background:" +msgstr "背景:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "选择" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, kde-format +msgid "Recent backgrounds:" +msgstr "最近背景:" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

    No annotations

    To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
    " +msgstr "" +"

    没有批注

    如需新建批注,请按 F6 键,或者在主菜单栏中" +"选择 工具 -> 批注。
    " + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "按页面分组" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "按作者分组" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "仅显示当前页面的批注" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "展开所有项目" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "折叠所有项目" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "属性" + +#: part/signaturepartutils.cpp:180 +#, kde-format +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "图像 (%1)" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "选择背景图像" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "忘记图像" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "忘记所有图像" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "输入密码 (如果需要) 以解锁证书: %1" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "输入证书密码" + +#: part/signaturepartutils.cpp:244 +#, kde-format +msgid "Enter document password" +msgstr "输入文档密码" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "另存已签名文件为" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "%1_signed.%2" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "有效期状态" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "签名有效期:" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "文档修改:" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "额外信息" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "签名者:" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "签名时间:" + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "文档版本" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "文档修订版本 %1,共 %2 版" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "查看已签名版本…" + +#: part/signaturepropertiesdialog.cpp:95 +#, kde-format +msgid "View Certificate…" +msgstr "查看证书…" + +#: part/signaturepropertiesdialog.cpp:97 +#, kde-format +msgid "View in Certificate Manager" +msgstr "用证书管理器查看" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "KDE 证书管理器 (kleopatra) 没有找到" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "eIDAS 合格" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "PGP" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "只显示有书签的页面" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "播放" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "暂停" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "停止" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "此版本的 Okular 不支持视频" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "此版本的 Okular 不支持视频" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "添加(&A)…" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, kde-format +msgid "&Edit…" +msgstr "编辑(&E)…" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "移除(&R)" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "上移(&U)" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "下移(&D)" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "默认绘图工具 #%1" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "已有其他工具使用了该名称。将使用默认名称" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "名称重复" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "要显示的文档页码" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "在演示模式下打开文档" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "启动时显示打印对话框" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "启动时打开打印对话框,并在打印完成后退出" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "“唯一实例”控制" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "不升起窗口" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "查找文字中的字符串" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "设置外部编辑器命令" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "要打开的文档。指定“-”以读取标准输入。" + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" +"您不能在已经运行的 Okular 实例中设置编辑器命令。请禁用标签页然后重试。注意:" +"通过命令行设置编辑器命令时,不支持使用 unique。\n" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "错误:无法在使用 --unique 选项时打开多个文档。" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "错误:无法在使用 --presentation 选项时打开多个文档。" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "错误:无法在使用 --print 选项时打开多个文档" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "错误:无法在使用 --page 选项时打开多个文档" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "错误:无法在使用 --find 选项时打开多个文档" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "无法找到 Okular 组件:%1" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "侧边栏" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "已经有一个 Okular 的唯一实例正在运行,此实例无法成为唯一实例。" + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "无法找到 Okular 组件。" + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" +"点击可打开文件\n" +"点击并按住可打开最近文件" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "点击可打开文件,点击并按住可打开最近文件" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "下一个标签页" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "上一个标签页" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "撤销关闭标签页" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "锁定侧边栏" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "所有文件 (*)" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "所有支持的文件 (%1)" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "打开文档" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "确认关闭" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "关闭标签页" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "您即将关闭 %1 个标签页。您确定要继续吗?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "关闭多个标签页时发出警告" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "复制路径(&C)" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "打开所在文件夹(&O)" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "忘记此项目(&F)" + +#: shell/welcomescreen.cpp:137 +#, kde-format +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "没有最近文档" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "欢迎使用 Okular" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "打开文档..." + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, kde-format +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "最近文档" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "忘记所有" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "隐藏欢迎屏幕" diff --git a/po/zh_CN/okular_comicbook.po b/po/zh_CN/okular_comicbook.po new file mode 100644 index 0000000..182c9e3 --- /dev/null +++ b/po/zh_CN/okular_comicbook.po @@ -0,0 +1,44 @@ +msgid "" +msgstr "" +"Project-Id-Version: kdeorg\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-04-22 15:58\n" +"Last-Translator: \n" +"Language-Team: Chinese Simplified\n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Crowdin-Project: kdeorg\n" +"X-Crowdin-Project-ID: 269464\n" +"X-Crowdin-Language: zh-CN\n" +"X-Crowdin-File: /kf6-stable/messages/okular/okular_comicbook.pot\n" +"X-Crowdin-File-ID: 52612\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "KDE 中国, Guo Yunhe, Ni Hui, Tyson Tan" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde-china@kde.org, i@guoyunhe.me, shuizhuyuanluo@126.com, tds00@qq.com" + +#: document.cpp:97 +#, kde-format +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "无法打开文档,无法找到 unrar 或者 unarchiver 程序。" + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "本机系统安装的 unrar 程序版本无法打开 ComicBook 文档。" + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "未知的 ComicBook 格式。" diff --git a/po/zh_CN/okular_djvu.po b/po/zh_CN/okular_djvu.po new file mode 100644 index 0000000..5b4d927 --- /dev/null +++ b/po/zh_CN/okular_djvu.po @@ -0,0 +1,95 @@ +msgid "" +msgstr "" +"Project-Id-Version: kdeorg\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-04-22 15:58\n" +"Last-Translator: \n" +"Language-Team: Chinese Simplified\n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Crowdin-Project: kdeorg\n" +"X-Crowdin-Project-ID: 269464\n" +"X-Crowdin-Language: zh-CN\n" +"X-Crowdin-File: /kf6-stable/messages/okular/okular_djvu.pot\n" +"X-Crowdin-File-ID: 52252\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "KDE 中国, Guo Yunhe, Tyson Tan" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde-china@kde.org, i@guoyunhe.me, tds00@qq.com" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "编辑" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "出版社" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "册数" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "文档类型" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "未知" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "组件文件" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "未知" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "单页型" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "打包型" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "间隔型" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "打包型 (旧式)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "索引型 (旧式)" diff --git a/po/zh_CN/okular_dvi.po b/po/zh_CN/okular_dvi.po new file mode 100644 index 0000000..26f87d2 --- /dev/null +++ b/po/zh_CN/okular_dvi.po @@ -0,0 +1,519 @@ +msgid "" +msgstr "" +"Project-Id-Version: kdeorg\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-04-22 15:58\n" +"Last-Translator: \n" +"Language-Team: Chinese Simplified\n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Crowdin-Project: kdeorg\n" +"X-Crowdin-Project-ID: 269464\n" +"X-Crowdin-Language: zh-CN\n" +"X-Crowdin-File: /kf6-stable/messages/okular/okular_dvi.pot\n" +"X-Crowdin-File-ID: 53034\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Guo Yunhe, Tyson Tan" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "i@guoyunhe.me, tds00@qq.com" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

    Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

    Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

    " +msgstr "" +"

    Okular 无法在本机系统中找到 dvipdfm 程序,此程序是文档导出特" +"性所必须的。作为替代方案,您可以通过 Okular 的打印功能将 DVI 文件转换为 PDF," +"只是生成的文档虽然打印效果还行,但是在 Acrobat Reader 中的显示效果不太好。我" +"们建议您将本机系统安装的 TeX 升级到包含 dvipdfm 程序的最新版。

    特别为系统管理员准备的温馨提示:Okular 使用 PATH 环境变量来查找程序。" + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"用于导出文件的外部程序“dvipdfm”报告了一个错误。您可以在菜单栏的文件菜单中" +"打开文档信息对话框,查看详细的错误报告。" + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" +"此 DVI 文件引用了一个非 PostScript 格式的外部图像文件,此版本的 Okular 不" +"支持此格式,因为 Okular 在程序内部用于打印或者导出到 PostScript 格式的 " +"dvips 程序无法处理此格式。" + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

    Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

    Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

    " +msgstr "" +"

    Okular 在本机系统中找不到 dvips 程序,此程序是文档导出功能所" +"必须的。

    特别为系统管理员准备的温馨提示:Okular 使用 PATH 环境变量来查" +"找程序。

    " + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"用于导出文件的外部程序“dvips”报告了一个错误。您可以在菜单栏的文件菜单中打" +"开文档信息对话框,查看详细的错误报告。" + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "此 DVI 文件头没有前文。" + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" +"此 DVI 文件包含对于此程序而言不正确的 DVI 输出版本。提示:如果您使用的是 " +"Omega 排版系统,您必须使用例如 oxdvi 这样的特殊程序打开此文档。" + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "此 DVI 文件已严重损坏,Okular 无法找到它的后文。" + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "后文部分未以 POST 指令开头。" + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "后文部分包含了 FNTDEF 之外的指令。" + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "第 %1 页未以 BOP 指令开头。" + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

    The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

    What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

    PATH: %2

    " +msgstr "" +"

    无法启动外部程序 pdf2ps,这导致 PDF 文件 %1 无法被转" +"换为 PostScript 格式,您的文档中有部分图像元素将因此无法显示。

    可能" +"的原因:本机系统可能没有安装 pdf2ps 程序,或者在当前的程" +"序搜索路径中找不到它。

    可能的解决方法:pdf2ps " +"程序一般会被包含在 ghostscript PostScript 解释器中一同发行。如果您的系统中没" +"有安装 ghostscript,可以现在安装。如果您确定系统中已经安装了 ghostscript,请" +"尝试在命令行中运行 pdf2ps 程序,检查它是否可以正常工作。

    PATH: %2

    " + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

    The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

    %2

    " +msgstr "" +"

    无法将 PDF 文件 %1 转换为 PostScript 格式。您的文档中有部分图像元素将" +"因此无法显示。

    可能的原因:文件 %1 已经损坏,或者它本来就不是 " +"PDF 文件。这是 Okular 调用 pdf2ps 程序时的输出:

    %2

    " + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "文件损坏。%1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "不是所有的 PostScript 文件都被嵌入了您的文档。%1" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "所有的外部 PostScript 文件均已嵌入了您的文档。" + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "指定的文件“%1”不存在。" + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" +"您命令 Okular 在此 DVI 文件中定位到与 TeX 文件 %2 中第 %1 行对应的位置。然而" +"此 DVI 文件不包含所需的源文件信息。" + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "Okular 无法在此 DVI 文件中定位到与 TeX 文件 %2 中第 %1 行对应的位置。" + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "DVI 代码指定了一款未知字体中的字符。" + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "DVI 代码指定了字体 #%1,但是该字体并没有在此前进行过定义。" + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "遇到 EOP 指令时,堆栈非空。" + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "遇到 POP 指令时,堆栈非空。" + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "DVI 代码指定了一个此前没有定义过的字体。" + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "遇到非法指令。" + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "遇到未知的 op 代码 %1。" + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "正在嵌入 %1" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
    " +msgstr "第 %1 页:PDF 文件 %2 无法转换为 PostScript。
    " + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
    " +msgstr "第 %1 页:无法找到 PostScript 文件 %2。
    " + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "无法解析纸张尺寸数据“%1”" + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

    Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

    PATH: %1

    %2

    " +msgstr "" +"

    Okular 无法找到当前 DVI 文件所需的所有字体文件。此文档可能无法正确显" +"示。

    PATH: %1

    %2

    " + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

    There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
    Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

    PATH: %1

    %2

    " +msgstr "" +"

    运行 kpsewhich 时发生了问题,某些字体文件因此无法找到。此文档" +"可能无法正确显示。
    可能的原因:本机系统中可能没有安装 kpsewhich " +"程序,或者在当前的搜索路径中找不到它。

    PATH: %1

    %2

    " + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" +"kpsewhich 提供的字体生成操作已被中止 (退出代码 %1,错误 %2)。某" +"些字体文件因此无法找到。此文档可能无法正确显示。" + +#: fontpool.cpp:482 +#, kde-format +msgid "Currently generating %1 at %2 dpi…" +msgstr "正在生成 %1,分辨率为 %2 dpi…" + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "生成器/日期" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "字体文件未找到" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "%1 × %2" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "%1 × %2 毫米" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "%1 × %2 英寸" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "纵向" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "横向" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" +"本机系统中安装的 Ghostview 版本没有包含任何 Okular 支持的 Ghostview 设备驱" +"动。Okular 的 PostScript 支持因此已被关闭。" + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "已经发生了 25 个错误,程序将不会输出更多错误信息。" + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "" +"在 DVI 文件“%1”的第 %2 页发生错误。在颜色堆栈为空时发出了颜色 pop 指令。" + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" +"epsf 特殊指令的参数格式不正确。\n" +"在 %2 中的 %1 后面应该是浮点数。" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"找不到文件:\n" +" %1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "" +"在 DVI 文件“%1”的第 %2 页发生错误,无法解析文本旋转特殊指令的角度参数。" + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "特殊指令“%1”尚未实现。" + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "字体文件 %1 可以打开和读取,但程序不支持这种字体格式。" + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "字体文件 %1 已经损坏,或者是无法打开、读取。" + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "FreeType 在给字体文件 %1 设置字符大小时报告了一个错误。" + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "FreeType 无法加载字体文件 %2 中的字形 #%1。" + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "FreeType 无法渲染字体文件 %2 中的字形 #%1。" + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "字形 #%1 为空。" + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "字体文件 %2 中的字形 #%1 为空。" + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "FreeType 无法加载字体文件 %2 中字形 #%1 的尺寸信息。" + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "无法打开字体文件 %1。" + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "TexFont_PK::operator[]:在字体 %2 中没有字符 %1 的定义" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "PK 文件 %2 中出现了意外的 %1" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "文件 %2 中的字符 %1 过大" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "字符存储的位数错误:字符 %1,字体 %2" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "PK 文件异常 (%1),位数过多。" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "字体的宽高比不是正方形" + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "无法找到字体 %1,文件 %2。" + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "字体文件 %1 的校验和不一致" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "无法识别字体文件 %1 的格式" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"严重错误。\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" +"\n" +"\n" +"您可能遇到了 Okular 的一个程序缺陷,\n" +"也有可能是此 DVI 文件、辅助文件 (例如字体文件、虚拟字体文件等) 严重损坏。\n" +"Okular 将在这条消息关闭后退出。\n" +"如果您认为这是 Okular 的一个程序缺陷,\n" +"或者认为 Okular 应该改进这种情况下的行为方式,\n" +"请向我们提交一个程序缺陷报告。" + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "在 VF 宏列表中发现错误的指令字节:%1" diff --git a/po/zh_CN/okular_epub.po b/po/zh_CN/okular_epub.po new file mode 100644 index 0000000..4f58b1b --- /dev/null +++ b/po/zh_CN/okular_epub.po @@ -0,0 +1,43 @@ +msgid "" +msgstr "" +"Project-Id-Version: kdeorg\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-04-22 15:58\n" +"Last-Translator: \n" +"Language-Team: Chinese Simplified\n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Crowdin-Project: kdeorg\n" +"X-Crowdin-Project-ID: 269464\n" +"X-Crowdin-Language: zh-CN\n" +"X-Crowdin-File: /kf6-stable/messages/okular/okular_epub.pot\n" +"X-Crowdin-File-ID: 52958\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "KDE 中国, Guo Yunhe, Ni Hui, Tyson Tan" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde-china@kde.org, i@guoyunhe.me, shuizhuyuanluo@126.com, tds00@qq.com" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "打开 EPub 文档时出错。" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "EPub" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "EPub 后端程序配置" diff --git a/po/zh_CN/okular_fax.po b/po/zh_CN/okular_fax.po new file mode 100644 index 0000000..f86ed41 --- /dev/null +++ b/po/zh_CN/okular_fax.po @@ -0,0 +1,33 @@ +msgid "" +msgstr "" +"Project-Id-Version: kdeorg\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-04-22 15:58\n" +"Last-Translator: \n" +"Language-Team: Chinese Simplified\n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Crowdin-Project: kdeorg\n" +"X-Crowdin-Project-ID: 269464\n" +"X-Crowdin-Language: zh-CN\n" +"X-Crowdin-File: /kf6-stable/messages/okular/okular_fax.pot\n" +"X-Crowdin-File-ID: 52916\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Tyson Tan" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "tds00@qq.com" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "无法加载文档" diff --git a/po/zh_CN/okular_fictionbook.po b/po/zh_CN/okular_fictionbook.po new file mode 100644 index 0000000..4edd411 --- /dev/null +++ b/po/zh_CN/okular_fictionbook.po @@ -0,0 +1,68 @@ +msgid "" +msgstr "" +"Project-Id-Version: kdeorg\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-04-22 15:58\n" +"Last-Translator: \n" +"Language-Team: Chinese Simplified\n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Crowdin-Project: kdeorg\n" +"X-Crowdin-Project-ID: 269464\n" +"X-Crowdin-Language: zh-CN\n" +"X-Crowdin-File: /kf6-stable/messages/okular/okular_fictionbook.pot\n" +"X-Crowdin-File-ID: 51040\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Guo Yunhe, Tyson Tan" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "i@guoyunhe.me, tds00@qq.com" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "文档不是有效的 FictionBook 文件" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "无法打开文档:%1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "该文档不是有效的 ZIP 压缩文件" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "无效的文档结构 (缺少主目录)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "文档中没有找到内容" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "无效的 XML 文档:%1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "FictionBook" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "FictionBook 后端程序配置" diff --git a/po/zh_CN/okular_ghostview.po b/po/zh_CN/okular_ghostview.po new file mode 100644 index 0000000..b83a929 --- /dev/null +++ b/po/zh_CN/okular_ghostview.po @@ -0,0 +1,75 @@ +msgid "" +msgstr "" +"Project-Id-Version: kdeorg\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-04-22 15:58\n" +"Last-Translator: \n" +"Language-Team: Chinese Simplified\n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Crowdin-Project: kdeorg\n" +"X-Crowdin-Project-ID: 269464\n" +"X-Crowdin-Language: zh-CN\n" +"X-Crowdin-File: /kf6-stable/messages/okular/okular_ghostview.pot\n" +"X-Crowdin-File-ID: 52828\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Guo Yunhe, Tyson Tan" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "Guo Yunhe, Tyson Tan" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "使用平台字体" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"指定是否允许 Ghostscript 使用平台字体。如果禁止,则只允许使用文档内嵌的字体。" + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "常规设置" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "使用平台字体(&U)" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Ghostscript 后端配置程序" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "文档版本" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "语言级别" diff --git a/po/zh_CN/okular_kimgio.po b/po/zh_CN/okular_kimgio.po new file mode 100644 index 0000000..4db3838 --- /dev/null +++ b/po/zh_CN/okular_kimgio.po @@ -0,0 +1,40 @@ +msgid "" +msgstr "" +"Project-Id-Version: kdeorg\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-04-22 15:58\n" +"Last-Translator: \n" +"Language-Team: Chinese Simplified\n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Crowdin-Project: kdeorg\n" +"X-Crowdin-Project-ID: 269464\n" +"X-Crowdin-Language: zh-CN\n" +"X-Crowdin-File: /kf6-stable/messages/okular/okular_kimgio.pot\n" +"X-Crowdin-File-ID: 50608\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "KDE 中国, Guo Yunhe, Ni Hui, Tyson Tan" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "KDE 中国, Guo Yunhe, Ni Hui, Tyson Tan" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "无法加载文档:%1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "此文档的格式不正确。下面显示了尽可能接近它原始效果的状态。" diff --git a/po/zh_CN/okular_markdown.po b/po/zh_CN/okular_markdown.po new file mode 100644 index 0000000..924f530 --- /dev/null +++ b/po/zh_CN/okular_markdown.po @@ -0,0 +1,53 @@ +msgid "" +msgstr "" +"Project-Id-Version: kdeorg\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-04-23 19:24\n" +"Last-Translator: \n" +"Language-Team: Chinese Simplified\n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Crowdin-Project: kdeorg\n" +"X-Crowdin-Project-ID: 269464\n" +"X-Crowdin-Language: zh-CN\n" +"X-Crowdin-File: /kf6-stable/messages/okular/okular_markdown.pot\n" +"X-Crowdin-File-ID: 51826\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "KDE 中国, Guo Yunhe, Henry Hu, Tyson Tan" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde-china@kde.org, i@guoyunhe.me, hunryhu@kde.org, tds00@qq.com" + +#: converter.cpp:59 converter.cpp:93 +#, kde-format +msgid "Failed to open the document" +msgstr "打开文档失败" + +#: converter.cpp:106 converter.cpp:124 +#, kde-format +msgid "Failed to compile the Markdown document." +msgstr "编译 Markdown 文档失败。" + +#: generator_md.cpp:58 +#, kde-format +msgid "Enable SmartyPants formatting" +msgstr "启用 SmartyPants 格式" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown" +msgstr "Markdown" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown Backend Configuration" +msgstr "Markdown 后端程序配置" diff --git a/po/zh_CN/okular_mobi.po b/po/zh_CN/okular_mobi.po new file mode 100644 index 0000000..3d5ed72 --- /dev/null +++ b/po/zh_CN/okular_mobi.po @@ -0,0 +1,49 @@ +msgid "" +msgstr "" +"Project-Id-Version: kdeorg\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-04-22 15:58\n" +"Last-Translator: \n" +"Language-Team: Chinese Simplified\n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Crowdin-Project: kdeorg\n" +"X-Crowdin-Project-ID: 269464\n" +"X-Crowdin-Language: zh-CN\n" +"X-Crowdin-File: /kf6-stable/messages/okular/okular_mobi.pot\n" +"X-Crowdin-File-ID: 51962\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Guo Yunhe, Ni Hui, Tyson Tan" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "i@guoyunhe.me, shuizhuyuanluo@126.com, tds00@qq.com" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "打开 Mobipocket 文档时出错。" + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "此电子书使用 DRM 保护,只能在指定的设备上显示" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "Mobipocket" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "Mobipocket 后端程序配置" diff --git a/po/zh_CN/okular_poppler.po b/po/zh_CN/okular_poppler.po new file mode 100644 index 0000000..2960e03 --- /dev/null +++ b/po/zh_CN/okular_poppler.po @@ -0,0 +1,378 @@ +msgid "" +msgstr "" +"Project-Id-Version: kdeorg\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-04-22 15:58\n" +"Last-Translator: \n" +"Language-Team: Chinese Simplified\n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Crowdin-Project: kdeorg\n" +"X-Crowdin-Project-ID: 269464\n" +"X-Crowdin-Language: zh-CN\n" +"X-Crowdin-File: /kf6-stable/messages/okular/okular_poppler.pot\n" +"X-Crowdin-File-ID: 51872\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Guo Yunhe, Tyson Tan" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "i@guoyunhe.me, tds00@qq.com" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "显示叠印预览:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "从不" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "总是" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "自动" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "增强细线:" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "无" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "实心" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "形状" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "打印使用的默认缩放模式:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "适合可打印区域" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "适合整页" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "不缩放,打印原始大小" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" +"启用此选项后将允许 Okular 访问第三方 OCSP 服务器,以检查用于数字签名的证书是" +"否已被吊销。" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "使用第三方服务器检查数字签名证书的吊销情况" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "签名后端程序:" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "这些签名只能由激活了 GnuPG 后端程序的现代 Okular 用户进行验证" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "允许使用 PGP 密钥签名 (Okular 扩展程序)" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "证书数据库" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "默认:" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "自定义:" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "可用证书" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "加载签名(&L)" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "PDF 选项" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "打印批注" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "在打印的文档中包含批注" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "在打印的文档中包含批注。如果您需要打印原始的无批注文档,请禁用此项。" + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "强制光栅化" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "打印前将文档光栅化为图像" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"强制将每个页面光栅化成图像之后打印。这通常会造成一定的画质劣化,但可以用来应" +"对某些文档打印结果不正确的情况。" + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "要打印页面的缩放模式" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "缩放模式:" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF v. %1.%2" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "格式" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "已加密" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "未加密" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "安全性" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "是" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "优化" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"签名者:%1\n" +"\n" +"签名日期:%2" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "使用 Poppler %1" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" +"使用 Poppler %1\n" +"\n" +"使用 Poppler %2 构建" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "PDF 后端程序配置" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "写入临时文件失败" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "重命名临时文件失败" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "文档中发现了错误,Okular 可能无法正确显示其内容" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "这些签名只能在激活了 GnuPG 的 Okular 现代版本之间通用" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "启用 PGP 签名" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "颁发给" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "电子邮件" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "过期日期" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" +"程序使用的 Poppler 程序库在构建时没有启用 NSS 支持。\n" +"添加数字签名因此不可用。" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "永久" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "需要重新启动" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "更改 NSS 目录设置后,您需要重启 Okular" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter Password" +msgstr "输入密码" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "输入密码以打开 %1:" diff --git a/po/zh_CN/okular_tiff.po b/po/zh_CN/okular_tiff.po new file mode 100644 index 0000000..c17e2b5 --- /dev/null +++ b/po/zh_CN/okular_tiff.po @@ -0,0 +1,28 @@ +msgid "" +msgstr "" +"Project-Id-Version: kdeorg\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-04-22 15:58\n" +"Last-Translator: \n" +"Language-Team: Chinese Simplified\n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Crowdin-Project: kdeorg\n" +"X-Crowdin-Project-ID: 269464\n" +"X-Crowdin-Language: zh-CN\n" +"X-Crowdin-File: /kf6-stable/messages/okular/okular_tiff.pot\n" +"X-Crowdin-File-ID: 52746\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "KDE 中国, csslayer" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde-china@kde.org, csslayer@kde.org" diff --git a/po/zh_CN/okular_txt.po b/po/zh_CN/okular_txt.po new file mode 100644 index 0000000..2b81db1 --- /dev/null +++ b/po/zh_CN/okular_txt.po @@ -0,0 +1,38 @@ +msgid "" +msgstr "" +"Project-Id-Version: kdeorg\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-04-22 15:58\n" +"Last-Translator: \n" +"Language-Team: Chinese Simplified\n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Crowdin-Project: kdeorg\n" +"X-Crowdin-Project-ID: 269464\n" +"X-Crowdin-Language: zh-CN\n" +"X-Crowdin-File: /kf6-stable/messages/okular/okular_txt.pot\n" +"X-Crowdin-File-ID: 52732\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Tyson Tan, Weng Xuetian" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "tds00@qq.com, wengxt@gmail.com" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "Txt" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "Txt 后端程序配置" diff --git a/po/zh_CN/okular_xps.po b/po/zh_CN/okular_xps.po new file mode 100644 index 0000000..ca778a6 --- /dev/null +++ b/po/zh_CN/okular_xps.po @@ -0,0 +1,33 @@ +msgid "" +msgstr "" +"Project-Id-Version: kdeorg\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-04-22 15:58\n" +"Last-Translator: \n" +"Language-Team: Chinese Simplified\n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Crowdin-Project: kdeorg\n" +"X-Crowdin-Project-ID: 269464\n" +"X-Crowdin-Language: zh-CN\n" +"X-Crowdin-File: /kf6-stable/messages/okular/okular_xps.pot\n" +"X-Crowdin-File-ID: 52972\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Tyson Tan" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "tds00@qq.com" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "修订版本" diff --git a/po/zh_CN/org.kde.active.documentviewer.po b/po/zh_CN/org.kde.active.documentviewer.po new file mode 100644 index 0000000..d299c83 --- /dev/null +++ b/po/zh_CN/org.kde.active.documentviewer.po @@ -0,0 +1,206 @@ +msgid "" +msgstr "" +"Project-Id-Version: kdeorg\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-04-22 15:58\n" +"Last-Translator: \n" +"Language-Team: Chinese Simplified\n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Crowdin-Project: kdeorg\n" +"X-Crowdin-Project-ID: 269464\n" +"X-Crowdin-Language: zh-CN\n" +"X-Crowdin-File: /kf6-stable/messages/okular/org.kde.active.documentviewer." +"pot\n" +"X-Crowdin-File-ID: 53156\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "书签" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "证书查看器" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "颁发者" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "通用名称:" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "电子邮件:" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "组织:" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "颁发给" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "有效期" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "颁发时间:" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "过期时间:" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "指纹" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "SHA-1 指纹:" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "SHA-256 指纹:" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +msgid "Export…" +msgstr "导出…" + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "关闭" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "证书文件 (*.cer)" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "错误" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "无法导出证书。" + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "Okular" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "打开…" + +#: ui/Main.qml:49 +msgid "About" +msgstr "关于" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "需要输入密码" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "移除书签" + +#: ui/MainView.qml:29 +msgid "Bookmark this page" +msgstr "添加此页到书签" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "缩略图" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "目录" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "签名" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "签名属性" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "有效期状态" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "签名有效期:" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "文档修改:" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "额外信息" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "签名者:" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "签名时间:" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "原因:" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "位置:" + +#: ui/SignaturePropertiesPage.qml:96 +msgid "Document Version" +msgstr "文档版本" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "文档修订版本 %1,共 %2 版" + +#: ui/SignaturePropertiesPage.qml:108 +msgid "Save Signed Version…" +msgstr "保存已签名版本…" + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +msgid "View Certificate…" +msgstr "查看证书…" + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "无法保存签名。" + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "不可用" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "未找到任何结果。" + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "没有打开文档" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "最近文档" + +#: ui/WelcomeView.qml:108 +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "我的文档" diff --git a/po/zh_HK/okular.po b/po/zh_HK/okular.po new file mode 100644 index 0000000..be6ec70 --- /dev/null +++ b/po/zh_HK/okular.po @@ -0,0 +1,6464 @@ +# Chinese (Hong Kong) translation of kpdf +# Copyright (C) 2003 Free Software Foundation, Inc. +# Edward G.J. Lee , 2003. +# Walter Cheuk , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: kpdf\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2006-01-10 22:45+0800\n" +"Last-Translator: Walter Cheuk \n" +"Language-Team: Chinese (Hong Kong) \n" +"Language: zh_HK\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8-bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Edward G.J. Lee,Walter Cheuk" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "edt1023@info.sayya.org,wwycheuk@netvigator.com" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "" + +#: aboutdata.h:31 +#, fuzzy, kde-format +#| msgid "Current mantainer" +msgid "Former maintainer" +msgstr "目前維護者" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "" + +#: aboutdata.h:36 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgid "Annotations artwork" +msgstr "%1 屬性" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "" + +#: aboutdata.h:37 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "Table selection tool" +msgstr "選取工具(&S)" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "" + +#: aboutdata.h:38 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgid "Annotation improvements" +msgstr "%1 屬性" + +#: core/action.cpp:137 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go to page %1" +msgstr "跳至頁" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "" + +#: core/action.cpp:197 +#, kde-format +msgid "Execute '%1'…" +msgstr "" + +#: core/action.cpp:294 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgid "First Page" +msgstr "符合頁面" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, fuzzy, kde-format +msgid "Next Page" +msgstr "符合頁面" + +#: core/action.cpp:300 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgid "Last Page" +msgstr "符合頁面" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "" + +#: core/action.cpp:304 +#, fuzzy, kde-format +#| msgid "Format" +msgid "Forward" +msgstr "格式" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "" + +#: core/action.cpp:308 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Start Presentation" +msgstr "表現" + +#: core/action.cpp:310 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "End Presentation" +msgstr "表現" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "" + +#: core/action.cpp:314 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go To Page…" +msgstr "跳至頁" + +#: core/action.cpp:365 +#, kde-format +msgid "Play sound…" +msgstr "" + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "" + +#: core/action.cpp:483 +#, fuzzy, kde-format +msgid "Play movie…" +msgstr "頁:" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "" + +#: core/action.cpp:558 +#, fuzzy, kde-format +msgid "Pause movie" +msgstr "頁:" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
    %1 (%2).

    Please select which one to use:
    " +msgstr "" + +#: core/document.cpp:200 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "跳至頁" + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "" + +#: core/document.cpp:246 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "" + +#: core/document.cpp:248 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "" + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "" + +#: core/document.cpp:3557 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "表現" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "" + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "" + +#: core/document.cpp:4801 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not open a temporary file" +msgstr "無法開啟 %1" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "" + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "標題" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "主題" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "" + +#: core/document.cpp:6011 +#, fuzzy, kde-format +#| msgid "Author" +msgid "Author" +msgstr "作者" + +#: core/document.cpp:6014 +#, fuzzy, kde-format +#| msgid "Creator" +msgid "Creator" +msgstr "建立者" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "" + +#: core/document.cpp:6023 +#, fuzzy, kde-format +#| msgid "Pages:" +msgid "Pages" +msgstr "頁:" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "" + +#: core/document.cpp:6032 +#, fuzzy, kde-format +#| msgid "Type" +msgid "MIME Type" +msgstr "類型" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "關鍵字" + +#: core/document.cpp:6041 +#, fuzzy, kde-format +msgid "File Path" +msgstr "標題" + +#: core/document.cpp:6044 +#, fuzzy, kde-format +#| msgid "Pages" +msgid "File Size" +msgstr "頁:" + +#: core/document.cpp:6047 +#, fuzzy, kde-format +#| msgid "Pages" +msgid "Page Size" +msgstr "頁:" + +#: core/documentcommands.cpp:62 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "表現" + +#: core/documentcommands.cpp:108 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "表現" + +#: core/documentcommands.cpp:155 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "%1 屬性" + +#: core/documentcommands.cpp:190 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "表現" + +#: core/documentcommands.cpp:263 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "表現" + +#: core/documentcommands.cpp:333 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "選取工具(&S)" + +#: core/documentcommands.cpp:398 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "%1 屬性" + +#: core/documentcommands.cpp:447 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "%1 屬性" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "" + +#: core/generator.cpp:790 +#, fuzzy, kde-format +#| msgid "Fit to &Text" +msgid "Plain &Text…" +msgstr "符合文字(&T)" + +#: core/generator.cpp:793 +#, fuzzy, kde-format +#| msgid "KPDF" +msgid "PDF" +msgstr "KPDF" + +#: core/generator.cpp:797 +#, fuzzy, kde-format +#| msgid "Current mantainer" +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "目前維護者" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "" + +#: core/printoptionswidget.cpp:19 +#, fuzzy, kde-format +#| msgid "Filter Options" +msgid "Print Options" +msgstr "過濾器選項" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "" + +#: core/signatureutils.cpp:504 +#, fuzzy, kde-kuit-format +#| msgid "File not saved." +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "檔案未儲存。" + +#: core/signatureutils.cpp:506 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown signing error" +msgstr "未知檔案" + +#: core/sourcereference.cpp:103 +#, fuzzy, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "標題" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "" + +#: gui/certificatemodel.cpp:39 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Version" +msgstr "要開啟的文件" + +#: gui/certificatemodel.cpp:41 +#, fuzzy, kde-format +#| msgid "Pages" +msgid "Serial Number" +msgstr "頁:" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "" + +#: gui/certificatemodel.cpp:49 +#, fuzzy, kde-format +#| msgid "Subject" +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "主題" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "" + +#: gui/certificatemodel.cpp:72 +#, fuzzy, kde-format +#| msgid "%1:" +msgid "V%1" +msgstr "%1:" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "" + +#: gui/certificatemodel.cpp:146 +#, fuzzy, kde-format +#| msgid "&Properties" +msgid "Property" +msgstr "屬性(&P)" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "" + +#: gui/guiutils.cpp:56 +#, fuzzy, kde-format +msgid "Arrow with Comment" +msgstr "屬性(&P)" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "" + +#: gui/guiutils.cpp:59 +#, fuzzy, kde-format +msgid "Straight Line with Comment" +msgstr "屬性(&P)" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "" + +#: gui/guiutils.cpp:63 +#, fuzzy, kde-format +msgid "Polygon with Comment" +msgstr "屬性(&P)" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "" + +#: gui/guiutils.cpp:71 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "Rectangle with Comment" +msgstr "選取工具(&S)" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "" + +#: gui/guiutils.cpp:74 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "Ellipse with Comment" +msgstr "選取工具(&S)" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "" + +#: gui/guiutils.cpp:83 +#, fuzzy, kde-format +msgid "Highlight with Comment" +msgstr "屬性(&P)" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "" + +#: gui/guiutils.cpp:87 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "Squiggle with Comment" +msgstr "選取工具(&S)" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "" + +#: gui/guiutils.cpp:91 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "Underline with Comment" +msgstr "選取工具(&S)" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "" + +#: gui/guiutils.cpp:95 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "Strike Out with Comment" +msgstr "選取工具(&S)" + +#: gui/guiutils.cpp:95 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "Strike Out" +msgstr "選取工具(&S)" + +#: gui/guiutils.cpp:102 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "Stamp with Comment" +msgstr "選取工具(&S)" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "" + +#: gui/guiutils.cpp:106 +#, fuzzy, kde-format +msgid "Freehand Line with Comment" +msgstr "屬性(&P)" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "" + +#: gui/guiutils.cpp:110 +#, fuzzy, kde-format +#| msgid "Creator" +msgid "Caret" +msgstr "建立者" + +#: gui/guiutils.cpp:114 +#, fuzzy, kde-format +msgid "File Attachment" +msgstr "屬性(&P)" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "" + +#: gui/guiutils.cpp:126 +#, fuzzy, kde-format +#| msgid "Creator" +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "建立者" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "" + +#: gui/guiutils.cpp:144 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Annotation" +msgstr "表現" + +#: gui/guiutils.cpp:168 +#, fuzzy, kde-format +#| msgid "Unknown" +msgctxt "Unknown author" +msgid "Unknown" +msgstr "未知" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "作者:%1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "" + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "" + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "" + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "" + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "" + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "" + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "" + +#: gui/signatureguiutils.cpp:60 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Certificate is Trusted." +msgstr "設定 KPDF..." + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "" + +#: gui/signatureguiutils.cpp:64 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Certificate issuer is unknown." +msgstr "設定 KPDF..." + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "" + +#: gui/signatureguiutils.cpp:68 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Certificate has Expired." +msgstr "設定 KPDF..." + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "" + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "" + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "" + +#: gui/signatureguiutils.cpp:96 +#, fuzzy, kde-format +#| msgid "Unknown Date" +msgid "Unknown Algorithm" +msgstr "未知日期" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, fuzzy, kde-format +#| msgid "Unknown File" +msgid "Unknown Type" +msgstr "未知檔案" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "" + +#: gui/signatureguiutils.cpp:126 +#, fuzzy, kde-format +#| msgid "Encrypted" +msgid "Encrypt Keys" +msgstr "已加密" + +#: gui/signatureguiutils.cpp:129 +#, fuzzy, kde-format +#| msgid "Unencrypted" +msgid "Decrypt Keys" +msgstr "未加密" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "" + +#: gui/signatureguiutils.cpp:135 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Sign Certificate" +msgstr "設定 KPDF..." + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "" + +#: gui/signatureguiutils.cpp:141 +#, fuzzy, kde-format +#| msgid "Encrypted" +msgid "Encrypt Only" +msgstr "已加密" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr "" + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "" + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "" + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "" + +#: gui/signatureguiutils.cpp:208 +#, kde-format +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "" + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "" + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "" + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "" + +#: gui/signaturemodel.cpp:141 +#, fuzzy, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "屬性(&P)" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "" + +#: gui/signaturemodel.cpp:172 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgid "Reason: %1" +msgstr "頁:%1" + +#: gui/signaturemodel.cpp:177 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Location: %1" +msgstr "表現" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "" + +#: gui/signaturemodel.cpp:193 +#, fuzzy, kde-format +#| msgid "Unknown" +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "未知" + +#: gui/signaturemodel.cpp:195 +#, fuzzy, kde-format +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "屬性(&P)" + +#: gui/signaturemodel.cpp:201 +#, fuzzy, kde-format +msgid "Signature Type: %1" +msgstr "屬性(&P)" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "" + +#: part/annotationactionhandler.cpp:151 +#, fuzzy, kde-format +#| msgid "Creator" +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "建立者" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "符合闊度" + +#: part/annotationactionhandler.cpp:252 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1:" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "" + +#: part/annotationactionhandler.cpp:308 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "%1 屬性" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "" + +#: part/annotationactionhandler.cpp:314 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "表現" + +#: part/annotationactionhandler.cpp:316 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "表現" + +#: part/annotationactionhandler.cpp:318 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "表現" + +#: part/annotationactionhandler.cpp:322 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "表現" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "" + +#: part/annotationactionhandler.cpp:328 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "表現" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "" + +#: part/annotationactionhandler.cpp:341 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "%1 屬性" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "" + +#: part/annotationactionhandler.cpp:499 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgctxt "@title:window" +msgid "Select color" +msgstr "選取工具(&S)" + +#: part/annotationactionhandler.cpp:552 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "&Annotations" +msgstr "表現" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "" + +#: part/annotationactionhandler.cpp:554 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "表現" + +#: part/annotationactionhandler.cpp:557 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "屬性(&P)" + +#: part/annotationactionhandler.cpp:558 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "選取工具(&S)" + +#: part/annotationactionhandler.cpp:559 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "選取工具(&S)" + +#: part/annotationactionhandler.cpp:560 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "選取工具(&S)" + +#: part/annotationactionhandler.cpp:562 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "屬性(&P)" + +#: part/annotationactionhandler.cpp:563 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "屬性(&P)" + +#: part/annotationactionhandler.cpp:564 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "屬性(&P)" + +#: part/annotationactionhandler.cpp:565 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "屬性(&P)" + +#: part/annotationactionhandler.cpp:567 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "屬性(&P)" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "" + +#: part/annotationactionhandler.cpp:569 +#, fuzzy, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "屬性(&P)" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "" + +#: part/annotationactionhandler.cpp:638 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "表現" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "" + +#: part/annotationactionhandler.cpp:651 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Quick Annotation Bar" +msgstr "表現" + +#: part/annotationactionhandler.cpp:665 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "表現" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "" + +#: part/annotationactionhandler.cpp:669 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "表現" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "" + +#: part/annotationactionhandler.cpp:681 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "%1 屬性" + +#: part/annotationactionhandler.cpp:684 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "符合闊度" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "" + +#: part/annotationactionhandler.cpp:696 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1:" + +#: part/annotationmodel.cpp:320 +#, fuzzy, kde-format +#| msgid "Page %1" +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "頁 %1" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "頁 %1" + +#: part/annotationpopup.cpp:85 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "表現" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Text to Clipboard" +msgstr "複製至剪貼簿" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "屬性(&P)" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "儲存至檔案..." + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:59 +#, fuzzy, kde-format +#| msgid "General" +msgid "&General" +msgstr "一般" + +#: part/annotationpropertiesdialog.cpp:64 +#, fuzzy, kde-format +#| msgid "Author" +msgid "&Author:" +msgstr "作者" + +#: part/annotationpropertiesdialog.cpp:69 +#, fuzzy, kde-format +#| msgid "Creator" +msgid "Created:" +msgstr "建立者" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "" + +#: part/annotationpropertiesdialog.cpp:108 +#, fuzzy, kde-format +msgid "Pop-up Note Properties" +msgstr "屬性(&P)" + +#: part/annotationpropertiesdialog.cpp:111 +#, fuzzy, kde-format +msgid "Typewriter Properties" +msgstr "屬性(&P)" + +#: part/annotationpropertiesdialog.cpp:113 +#, fuzzy, kde-format +msgid "Inline Note Properties" +msgstr "屬性(&P)" + +#: part/annotationpropertiesdialog.cpp:119 +#, fuzzy, kde-format +msgid "Straight Line Properties" +msgstr "屬性(&P)" + +#: part/annotationpropertiesdialog.cpp:121 +#, fuzzy, kde-format +msgid "Polygon Properties" +msgstr "屬性(&P)" + +#: part/annotationpropertiesdialog.cpp:125 +#, fuzzy, kde-format +msgid "Geometry Properties" +msgstr "屬性(&P)" + +#: part/annotationpropertiesdialog.cpp:128 +#, fuzzy, kde-format +msgid "Text Markup Properties" +msgstr "屬性(&P)" + +#: part/annotationpropertiesdialog.cpp:131 +#, fuzzy, kde-format +msgid "Stamp Properties" +msgstr "屬性(&P)" + +#: part/annotationpropertiesdialog.cpp:134 +#, fuzzy, kde-format +msgid "Freehand Line Properties" +msgstr "屬性(&P)" + +#: part/annotationpropertiesdialog.cpp:137 +#, fuzzy, kde-format +msgid "Caret Properties" +msgstr "屬性(&P)" + +#: part/annotationpropertiesdialog.cpp:140 +#, fuzzy, kde-format +msgid "File Attachment Properties" +msgstr "屬性(&P)" + +#: part/annotationpropertiesdialog.cpp:143 +#, fuzzy, kde-format +msgid "Sound Properties" +msgstr "屬性(&P)" + +#: part/annotationpropertiesdialog.cpp:146 +#, fuzzy, kde-format +msgid "Movie Properties" +msgstr "屬性(&P)" + +#: part/annotationpropertiesdialog.cpp:149 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgid "Annotation Properties" +msgstr "%1 屬性" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%1:" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "" + +#: part/annotationwidgets.cpp:363 +#, fuzzy, kde-format +#| msgid "Icon" +msgid "Icon:" +msgstr "圖示" + +#: part/annotationwidgets.cpp:364 +#, fuzzy, kde-format +msgid "Comment" +msgstr "連續(&C)" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "" + +#: part/annotationwidgets.cpp:416 +#, fuzzy, kde-format +msgid "Confidential" +msgstr "連續(&C)" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "" + +#: part/annotationwidgets.cpp:421 +#, fuzzy, kde-format +msgid "Final" +msgstr "標題" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "" + +#: part/annotationwidgets.cpp:429 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Information" +msgstr "表現" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgid "&Width:" +msgstr "符合闊度" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:514 +#, fuzzy, kde-format +#| msgid "[none]" +msgid "None" +msgstr "[沒有]" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "" + +#: part/annotationwidgets.cpp:531 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "Leader line length:" +msgstr "選取工具(&S)" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Shape fill:" +msgstr "儲存至檔案..." + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, fuzzy, kde-format +#| msgid "Type" +msgid "Type:" +msgstr "類型" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "" + +#: part/annotationwidgets.cpp:745 +#, fuzzy, kde-format +msgid "File attachment symbol:" +msgstr "屬性(&P)" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "" + +#: part/annotationwidgets.cpp:760 +#, fuzzy, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "標題" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "" + +#: part/annotationwidgets.cpp:773 +#, fuzzy, kde-format +#| msgid "Name" +msgid "Name:" +msgstr "名稱" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "" + +#: part/annotationwidgets.cpp:845 +#, fuzzy, kde-format +#| msgid "[none]" +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "[沒有]" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, fuzzy, kde-format +#| msgid "Filter Options" +msgid "Options" +msgstr "過濾器選項" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "" + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "" + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "" + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "" + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "" + +#: part/bookmarklist.cpp:136 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Show for all documents" +msgstr "正在重新載入文件..." + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, kde-format +msgid "Search…" +msgstr "" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, kde-format +msgid "Expand All" +msgstr "" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, kde-format +msgid "Collapse All" +msgstr "" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "" + +#: part/bookmarklist.cpp:299 +#, fuzzy, kde-format +#| msgid "Current mantainer" +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "目前維護者" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "" + +#: part/certificateviewer.cpp:47 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Certificate Viewer" +msgstr "設定 KPDF..." + +#: part/certificateviewer.cpp:50 +#, kde-format +msgid "Export…" +msgstr "" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "一般" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "" + +#: part/colormodemenu.cpp:21 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "選取工具(&S)" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "" + +#: part/colormodemenu.cpp:41 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "選取工具(&S)" + +#: part/colormodemenu.cpp:42 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, fuzzy, kde-format +#| msgid "Creator" +msgid "Green" +msgstr "建立者" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, fuzzy, kde-format +msgid "Yellow Highlighter" +msgstr "屬性(&P)" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, fuzzy, kde-format +msgid "Green Highlighter" +msgstr "屬性(&P)" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, fuzzy, kde-format +#| msgid "Speak Text" +msgid "Insert Text" +msgstr "讀出文字" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "" + +#: part/dlgaccessibility.cpp:60 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "選取工具(&S)" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "" + +#: part/dlgaccessibility.cpp:87 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "" + +#: part/dlgaccessibility.cpp:99 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "" + +#: part/dlgaccessibility.cpp:127 +#, fuzzy, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "連續(&C)" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "" + +#: part/dlgannotations.cpp:25 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "表現" + +#: part/dlgannotations.cpp:26 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "表現" + +#: part/dlgannotations.cpp:28 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "表現" + +#: part/dlgannotations.cpp:34 +#, fuzzy, kde-format +#| msgid "Author" +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "作者" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" + +#: part/dlgannotations.cpp:48 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

    Quick Annotation Tools

    " +msgstr "%1 屬性" + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "" + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "" + +#: part/dlgeditor.cpp:31 +#, fuzzy, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "標題" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
    \n" +"You can also put few placeholders:\n" +"
      \n" +"
    • %f - the file name
    • \n" +"
    • %l - the line of the file to be reached
    • \n" +"
    • %c - the column of the file to be reached
    • \n" +"
    \n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" + +#: part/dlgeditor.cpp:63 +#, fuzzy, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "連續(&C)" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "" + +#: part/dlggeneral.cpp:41 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "顯示捲軸(&B)" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "" + +#: part/dlggeneral.cpp:92 +#, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "" + +#: part/dlggeneral.cpp:148 +#, fuzzy, kde-format +#| msgid "No document opened." +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "未有開啟文件。" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "" + +#: part/dlggeneral.cpp:220 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%1:" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "" + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "" + +#: part/dlggeneral.cpp:228 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%1:" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "" + +#: part/dlggeneral.cpp:233 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "符合闊度" + +#: part/dlggeneral.cpp:234 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "符合頁面" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "" + +#: part/dlgperformance.cpp:28 +#, fuzzy, kde-format +#| msgid "&Page:" +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "頁(&P):" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "" + +#: part/dlgperformance.cpp:38 +#, fuzzy, kde-format +#| msgid "Creator" +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "建立者" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "" + +#: part/dlgperformance.cpp:56 +#, fuzzy, kde-format +#| msgid "General Options" +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "一般選項" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" + +#: part/dlgpresentation.cpp:38 +#, kde-format +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] "" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "" + +#: part/dlgpresentation.cpp:63 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "表現" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "" + +#: part/dlgpresentation.cpp:90 +#, fuzzy, kde-format +#| msgid "Show bookmarked pages only" +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "只顯示標有書籤的頁面" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "" + +#: part/dlgpresentation.cpp:121 +#, fuzzy, kde-format +#| msgid "Current mantainer" +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "目前維護者" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

    Drawing Tools

    " +msgstr "" + +#: part/dlgpresentation.cpp:171 +#, fuzzy, kde-format +#| msgid "Current mantainer" +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "目前維護者" + +#: part/dlgpresentation.cpp:172 +#, fuzzy, kde-format +#| msgid "Current mantainer" +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "目前維護者" + +#: part/dlgpresentation.cpp:178 +#, fuzzy, kde-format +#| msgid "Creator" +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "建立者" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, fuzzy, kde-format +#| msgid "Name" +msgid "&Name:" +msgstr "名稱" + +#: part/editannottooldialog.cpp:69 +#, fuzzy, kde-format +#| msgid "Type" +msgid "&Type:" +msgstr "類型" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "" + +#: part/editannottooldialog.cpp:101 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Create annotation tool" +msgstr "表現" + +#: part/editannottooldialog.cpp:103 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgid "Edit annotation tool" +msgstr "%1 屬性" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "" + +#: part/editdrawingtooldialog.cpp:58 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgid "&Pen Width:" +msgstr "符合闊度" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "" + +#: part/editdrawingtooldialog.cpp:79 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Create drawing tool" +msgstr "表現" + +#: part/editdrawingtooldialog.cpp:84 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgid "Edit drawing tool" +msgstr "%1 屬性" + +#: part/embeddedfilesdialog.cpp:42 +#, fuzzy, kde-format +#| msgid "Unknown" +msgctxt "Unknown date" +msgid "Unknown" +msgstr "未知" + +#: part/embeddedfilesdialog.cpp:48 +#, fuzzy, kde-format +#| msgid "Embedded" +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "內嵌的" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "" + +#: part/embeddedfilesdialog.cpp:70 +#, fuzzy, kde-format +#| msgid "Name" +msgctxt "@title:column" +msgid "Name" +msgstr "名稱" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "" + +#: part/embeddedfilesdialog.cpp:72 +#, fuzzy, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "標題" + +#: part/embeddedfilesdialog.cpp:73 +#, fuzzy, kde-format +#| msgid "Creator" +msgctxt "@title:column" +msgid "Created" +msgstr "建立者" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "" + +#: part/embeddedfilesdialog.cpp:154 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "儲存至檔案..." + +#: part/embeddedfilesdialog.cpp:155 +#, kde-format +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "" + +#: part/findbar.cpp:38 +#, fuzzy, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "標題" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "" + +#: part/findbar.cpp:54 +#, fuzzy, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "符合頁面" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "" + +#: part/findbar.cpp:66 +#, fuzzy, kde-format +#| msgid "Case Sensitive" +msgid "Case sensitive" +msgstr "區分大小寫" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "" + +#: part/findbar.cpp:70 +#, fuzzy, kde-format +#| msgid "Find stopped." +msgid "Find as you type" +msgstr "找尋已停止。" + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, fuzzy, kde-format +msgid "Signature Properties" +msgstr "屬性(&P)" + +#: part/ktreeviewsearchline.cpp:283 +#, fuzzy, kde-format +#| msgid "Filter Options" +msgid "Search Options" +msgstr "過濾器選項" + +#: part/ktreeviewsearchline.cpp:284 +#, fuzzy, kde-format +#| msgid "Case Sensitive" +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "區分大小寫" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr "" + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "" + +#: part/pageview.cpp:557 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "Trim To &Selection" +msgstr "選取工具(&S)" + +#: part/pageview.cpp:563 +#, fuzzy, kde-format +#| msgid "Fit Width" +msgid "Fit &Width" +msgstr "符合闊度" + +#: part/pageview.cpp:567 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgid "Fit &Page" +msgstr "符合頁面" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "" + +#: part/pageview.cpp:575 +#, fuzzy, kde-format +#| msgid "Fit to &Page" +msgid "Fit Wi&ndow to Page" +msgstr "符合頁面(&P)" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "" + +#: part/pageview.cpp:594 +#, fuzzy, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "標題" + +#: part/pageview.cpp:595 +#, fuzzy, kde-format +#| msgid "Fit Page" +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "符合頁面" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "連續(&C)" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "" + +#: part/pageview.cpp:627 +#, fuzzy, kde-format +#| msgid "&Browse Tool" +msgid "&Browse" +msgstr "瀏覽工具(&B)" + +#: part/pageview.cpp:635 +#, fuzzy, kde-format +#| msgid "&Zoom Tool" +msgid "&Zoom" +msgstr "縮放工具(&Z)" + +#: part/pageview.cpp:655 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "Area &Selection" +msgstr "選取工具(&S)" + +#: part/pageview.cpp:662 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "&Text Selection" +msgstr "選取工具(&S)" + +#: part/pageview.cpp:669 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "T&able Selection" +msgstr "選取工具(&S)" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "" + +#: part/pageview.cpp:685 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgctxt "@action" +msgid "Selection Tools" +msgstr "選取工具(&S)" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "" + +#: part/pageview.cpp:717 +#, fuzzy, kde-format +#| msgid "Current mantainer" +msgid "Speak Whole Document" +msgstr "目前維護者" + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "向上捲" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "向下捲" + +#: part/pageview.cpp:761 +#, fuzzy, kde-format +#| msgid "Scroll Up" +msgid "Scroll Page Up" +msgstr "向上捲" + +#: part/pageview.cpp:767 +#, fuzzy, kde-format +#| msgid "Scroll Down" +msgid "Scroll Page Down" +msgstr "向下捲" + +#: part/pageview.cpp:773 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgid "Show Forms" +msgstr "顯示捲軸(&B)" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] "已載入一份 %1 頁的文件。" + +#: part/pageview.cpp:2526 +#, fuzzy, kde-format +#| msgid "Copy to Clipboard" +msgid "Copy Table Contents to Clipboard" +msgstr "複製至剪貼簿" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "文字(%1 個字元)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "複製至剪貼簿" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "讀出文字" + +#: part/pageview.cpp:2863 +#, fuzzy, kde-format +#| msgid "Image (%1 by %2 pixels)" +msgid "Image (%1 × %2 pixels)" +msgstr "圖像 (%1 X %2 像素)" + +#: part/pageview.cpp:2865 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save to File…" +msgstr "儲存至檔案..." + +#: part/pageview.cpp:2885 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] copied to clipboard." +msgid "Image [%1 × %2] copied to clipboard." +msgstr "圖像 [%1x%2] 已複製至剪貼簿。" + +#: part/pageview.cpp:2888 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save file" +msgstr "儲存至檔案..." + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "檔案未儲存。" + +#: part/pageview.cpp:2901 +#, fuzzy, kde-format +#| msgid "Image [%1x%2] saved to %3 file." +msgid "Image [%1 × %2] saved to %3 file." +msgstr "圖像 [%1x%2] 已儲存至 %3 檔案。" + +#: part/pageview.cpp:3042 +#, fuzzy, kde-format +#| msgid "Speak Text" +msgid "Copy Text" +msgstr "讀出文字" + +#: part/pageview.cpp:3062 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Go to '%1'" +msgstr "跳至頁" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "符合闊度" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "符合頁面" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "" + +#: part/pageview.cpp:4107 +#, fuzzy, kde-format +#| msgid "%1:" +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1:" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "" + +#: part/pageview.cpp:4404 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Configure Web Shortcuts…" +msgstr "設定 KPDF..." + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "" + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "歡迎" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "選取縮放區域。右擊放大。" + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "" + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "在要複製的文字/圖形四周畫一四方形。" + +#: part/pageview.cpp:5158 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgid "Select text" +msgstr "選取工具(&S)" + +#: part/pageview.cpp:5172 +#, fuzzy, kde-format +#| msgid "Draw a rectangle around the text/graphics to copy." +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "在要複製的文字/圖形四周畫一四方形。" + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" + +#: part/pageview.cpp:5188 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "No valid certificates" +msgstr "設定 KPDF..." + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Open Certificate Manager" +msgstr "設定 KPDF..." + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
    Launch Certificate Manager " +"to import or manage certificates
    For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "No certificates found" +msgstr "設定 KPDF..." + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
    For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "" + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "" + +#: part/pageview.cpp:5405 +#, fuzzy, kde-format +#| msgid "Draw a rectangle around the text/graphics to copy." +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "在要複製的文字/圖形四周畫一四方形。" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgid "Author" +msgid "Author name" +msgstr "作者" + +#: part/pageviewannotator.cpp:1329 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Author name for the annotation:" +msgstr "表現" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1392 +#, fuzzy, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "屬性(&P)" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "" + +#: part/pageviewannotator.cpp:1404 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "選取工具(&S)" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "" + +#: part/pageviewannotator.cpp:1410 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "選取工具(&S)" + +#: part/pageviewannotator.cpp:1412 +#, fuzzy, kde-format +#| msgid "&Select Tool" +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "選取工具(&S)" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "" + +#: part/pageviewannotator.cpp:1473 +#, fuzzy, kde-format +msgid "Highlighter" +msgstr "屬性(&P)" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Add favorite annotation" +msgstr "表現" + +#: part/pageviewannotator.cpp:1770 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Custom annotation name:" +msgstr "表現" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, fuzzy, kde-format +msgid "&File" +msgstr "標題" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, fuzzy, kde-format +#| msgid "P&resentation" +msgid "&Orientation" +msgstr "表現(&R)" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "縮圖" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Annotations" +msgstr "表現" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
    Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "" + +#: part/part.cpp:663 +#, fuzzy, kde-format +#| msgid "Show bookmarked pages only" +msgid "Go back to the Previous Page" +msgstr "只顯示標有書籤的頁面" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "移至文件前頁" + +#: part/part.cpp:674 +#, fuzzy, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "符合頁面" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "移至文件次頁" + +#: part/part.cpp:687 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Beginning of the document" +msgstr "正在重新載入文件..." + +#: part/part.cpp:688 +#, fuzzy, kde-format +#| msgid "Moves to the next page of the document" +msgid "Moves to the beginning of the document" +msgstr "移至文件次頁" + +#: part/part.cpp:692 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "End of the document" +msgstr "正在重新載入文件..." + +#: part/part.cpp:693 +#, fuzzy, kde-format +#| msgid "Moves to the next page of the document" +msgid "Moves to the end of the document" +msgstr "移至文件次頁" + +#: part/part.cpp:707 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Rename the current bookmark" +msgstr "正在重新載入文件..." + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "" + +#: part/part.cpp:713 +#, fuzzy, kde-format +#| msgid "Show bookmarked pages only" +msgid "Go to the previous bookmark" +msgstr "只顯示標有書籤的頁面" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "" + +#: part/part.cpp:719 +#, fuzzy, kde-format +#| msgid "Show bookmarked pages only" +msgid "Go to the next bookmark" +msgstr "只顯示標有書籤的頁面" + +#: part/part.cpp:748 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Configure Okular…" +msgstr "設定 KPDF..." + +#: part/part.cpp:751 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Configure Viewer…" +msgstr "設定 KPDF..." + +#: part/part.cpp:757 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Configure Viewer Backends…" +msgstr "設定 KPDF..." + +#: part/part.cpp:759 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Configure Backends…" +msgstr "設定 KPDF..." + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "" + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "" + +#: part/part.cpp:802 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Reload the current document from disk." +msgstr "正在重新載入文件..." + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "" + +#: part/part.cpp:813 +#, fuzzy, kde-format +#| msgid "Pages" +msgid "Page Number" +msgstr "頁:" + +#: part/part.cpp:817 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "設定 KPDF..." + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "" + +#: part/part.cpp:871 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgid "Show S&idebar" +msgstr "顯示捲軸(&B)" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "" + +#: part/part.cpp:886 +#, fuzzy, kde-format +#| msgid "Show &Navigation Panel" +msgid "Show &Signatures Panel" +msgstr "顯示導覽面版(&N)" + +#: part/part.cpp:897 +#, fuzzy, kde-format +#| msgid "Embedded" +msgid "&Embedded Files" +msgstr "內嵌的" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "表現(&R)" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "" + +#: part/part.cpp:945 +#, kde-format +msgid "&Import PostScript as PDF…" +msgstr "" + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "" + +#: part/part.cpp:957 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Erase Drawing" +msgstr "表現" + +#: part/part.cpp:962 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Configure Annotations…" +msgstr "設定 KPDF..." + +#: part/part.cpp:967 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Play/Pause Presentation" +msgstr "表現" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" + +#: part/part.cpp:1123 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Document can't be saved" +msgstr "要開啟的文件" + +#: part/part.cpp:1152 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not open '%1' (%2) " +msgstr "無法開啟 %1" + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "" + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "" + +#: part/part.cpp:1249 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Configure Viewer Backends" +msgstr "設定 KPDF..." + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "" + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "" + +#: part/part.cpp:1357 +#, kde-format +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "" + +#: part/part.cpp:1489 +#, fuzzy, kde-format +#| msgid "Please insert the password to read the document:" +msgid "Please enter the password to read the document:" +msgstr "請輸入密碼以閱讀文件:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "密碼不正確。請再試:" + +#: part/part.cpp:1502 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Document Password" +msgstr "要開啟的文件" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "" + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "" + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "" + +#: part/part.cpp:1739 +#, fuzzy, kde-format +msgid "Enter Presentation Mode" +msgstr "表現模式選項" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "" + +#: part/part.cpp:1830 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not open %1. %2" +msgstr "無法開啟 %1" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "" + +#: part/part.cpp:1865 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue Reloading" +msgstr "連續(&C)" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" + +#: part/part.cpp:1875 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue Closing" +msgstr "連續(&C)" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "" + +#: part/part.cpp:1883 +#, fuzzy, kde-format +#| msgid "Current mantainer" +msgid "Close Document" +msgstr "目前維護者" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "" + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "" + +#: part/part.cpp:2113 part/part.cpp:2131 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Reloading the document…" +msgstr "正在重新載入文件..." + +#: part/part.cpp:2288 part/toc.cpp:38 +#, fuzzy, kde-format +msgid "Contents" +msgstr "連續(&C)" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "跳至頁" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "頁(&P):" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "" + +#: part/part.cpp:2509 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Remove this Bookmark" +msgstr "正在重新載入文件..." + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, fuzzy, kde-format +#| msgid "Save to File..." +msgid "Save As" +msgstr "儲存至檔案..." + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
    In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "" + +#: part/part.cpp:2726 +#, fuzzy, kde-kuit-format +#| msgid "File not saved." +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "檔案未儲存。" + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "" + +#: part/part.cpp:2766 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgid "Filled form contents" +msgstr "%1 屬性" + +#: part/part.cpp:2769 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "User annotations" +msgstr "表現" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" + +#: part/part.cpp:2796 +#, fuzzy, kde-format +#| msgid "&Continuous" +msgid "Continue" +msgstr "連續(&C)" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "" + +#: part/part.cpp:2824 +#, fuzzy, kde-format +#| msgid "File not saved." +msgid "File could not be saved in '%1'. %2" +msgstr "檔案未儲存。" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" + +#: part/part.cpp:2899 +#, fuzzy, kde-format +#| msgid "File not saved." +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "檔案未儲存。" + +#: part/part.cpp:3158 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Expand Whole Section" +msgstr "表現" + +#: part/part.cpp:3159 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Collapse Whole Section" +msgstr "表現" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "" + +#: part/part.cpp:3381 +#, fuzzy, kde-format +#| msgid "Speak Text" +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "讀出文字" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "" + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded." +msgstr "" + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "至(&G)" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, fuzzy, kde-format +msgid "&Tools" +msgstr "縮放工具(&Z)" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Annotation Toolbar" +msgstr "表現" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Quick Annotation Toolbar" +msgstr "表現" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "一般選項" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "輔助工具" + +#: part/preferencesdialog.cpp:42 +#, fuzzy, kde-format +#| msgid "Accessibility" +msgid "Accessibility Reading Aids" +msgstr "輔助工具" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "效能" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "效能調校" + +#: part/preferencesdialog.cpp:45 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Configure Viewer" +msgstr "設定 KPDF..." + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "表現" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "表現模式選項" + +#: part/preferencesdialog.cpp:50 +#, fuzzy, kde-format +#| msgid "%1 Properties" +msgid "Annotation Options" +msgstr "%1 屬性" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, fuzzy, kde-format +#| msgid "Filter Options" +msgid "Editor Options" +msgstr "過濾器選項" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "" + +#: part/presentationwidget.cpp:174 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "表現" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "" + +#: part/presentationwidget.cpp:233 +#, fuzzy, kde-format +#| msgid "Creator" +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "建立者" + +#: part/presentationwidget.cpp:240 +#, fuzzy, kde-format +msgid "Exit Presentation Mode" +msgstr "表現模式選項" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "標題:%1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "頁:%1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "單擊開始" + +#: part/presentationwidget.cpp:521 +#, fuzzy, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "頁:" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"離開簡報模式有兩個方法:按 ESC 鍵、或將滑鼠移至右上角,當「離開」按鈕出現時按" +"下。當然你亦可將視窗循環展示(預設是 Alt+TAB)。" + +#: part/presentationwidget.cpp:1718 +#, fuzzy, kde-format +#| msgid "Presentation" +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "表現" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "未知檔案" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "%1 屬性" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "" + +#: part/propertiesdialog.cpp:145 +#, fuzzy, kde-format +#| msgid "Reloading the document..." +msgid "Reading font information…" +msgstr "正在重新載入文件..." + +#: part/propertiesdialog.cpp:158 +#, fuzzy, kde-format +#| msgid "&Page:" +msgid "&Page Sizes" +msgstr "頁(&P):" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "" + +#: part/propertiesdialog.cpp:273 +#, fuzzy, kde-format +#| msgid "Type" +msgid "Type 1" +msgstr "類型" + +#: part/propertiesdialog.cpp:276 +#, fuzzy, kde-format +#| msgid "Type" +msgid "Type 1C" +msgstr "類型" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "" + +#: part/propertiesdialog.cpp:282 +#, fuzzy, kde-format +#| msgid "Type" +msgid "Type 3" +msgstr "類型" + +#: part/propertiesdialog.cpp:285 +#, fuzzy, kde-format +#| msgid "Type" +msgid "TrueType" +msgstr "類型" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "" + +#: part/propertiesdialog.cpp:318 +#, fuzzy, kde-format +#| msgid "Unknown" +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "未知" + +#: part/propertiesdialog.cpp:331 +#, fuzzy, kde-format +#| msgid "Embedded" +msgid "Embedded (subset)" +msgstr "內嵌的" + +#: part/propertiesdialog.cpp:334 +#, fuzzy, kde-format +#| msgid "Embedded" +msgid "Fully embedded" +msgstr "內嵌的" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "" + +#: part/propertiesdialog.cpp:385 +#, fuzzy, kde-format +#| msgid "Unknown Date" +msgid "Unknown font" +msgstr "未知日期" + +#: part/propertiesdialog.cpp:391 +#, fuzzy, kde-format +#| msgid "Embedded" +msgid "Embedded: %1" +msgstr "內嵌的" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "名稱" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "類型" + +#: part/propertiesdialog.cpp:430 +#, fuzzy, kde-format +msgid "File" +msgstr "標題" + +#: part/propertiesdialog.cpp:498 +#, fuzzy, kde-format +#| msgid "Pages:" +msgid "Page" +msgstr "頁:" + +#: part/propertiesdialog.cpp:501 +#, fuzzy, kde-format +msgid "Size" +msgstr "標題" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "" + +#: part/revisionviewer.cpp:56 +#, fuzzy, kde-format +#| msgid "Could not open %1" +msgid "Could not save file %1." +msgstr "無法開啟 %1" + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "" + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "要輸入至少三個字母才能過濾頁面" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "區分大小寫" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "配對片語" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "配對所有字" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "配對任何字" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "過濾器選項" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Certificates" +msgstr "設定 KPDF..." + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "Only QES certificates" +msgstr "設定 KPDF..." + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, fuzzy, kde-format +#| msgid "Filter Options" +msgid "optional" +msgstr "過濾器選項" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Location:" +msgstr "表現" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, kde-format +msgid "Background:" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, fuzzy, kde-format +#| msgid "Current mantainer" +msgid "Recent backgrounds:" +msgstr "目前維護者" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

    No annotations

    To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
    " +msgstr "" + +#: part/side_reviews.cpp:142 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Group by Page" +msgstr "跳至頁" + +#: part/side_reviews.cpp:147 +#, fuzzy, kde-format +#| msgid "Go to Page" +msgid "Group by Author" +msgstr "跳至頁" + +#: part/side_reviews.cpp:155 +#, fuzzy, kde-format +#| msgid "Show bookmarked pages only" +msgid "Show annotations for current page only" +msgstr "只顯示標有書籤的頁面" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "" + +#: part/signaturepanel.cpp:101 +#, fuzzy, kde-format +#| msgid "&Properties" +msgid "Properties" +msgstr "屬性(&P)" + +#: part/signaturepartutils.cpp:180 +#, fuzzy, kde-format +#| msgid "Pages: %1" +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "頁:%1" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "" + +#: part/signaturepartutils.cpp:244 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Enter document password" +msgstr "要開啟的文件" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:63 +#, fuzzy, kde-format +#| msgid "Presentation" +msgid "Additional Information" +msgstr "表現" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:83 +#, fuzzy, kde-format +#| msgid "Document to open" +msgid "Document Version" +msgstr "要開啟的文件" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "" + +#: part/signaturepropertiesdialog.cpp:95 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "View Certificate…" +msgstr "設定 KPDF..." + +#: part/signaturepropertiesdialog.cpp:97 +#, fuzzy, kde-format +#| msgid "Configure KPDF..." +msgid "View in Certificate Manager" +msgstr "設定 KPDF..." + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "只顯示標有書籤的頁面" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "" + +#: part/videowidget.cpp:146 +#, fuzzy, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "頁:" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, kde-format +msgid "&Edit…" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "" + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "" + +#: shell/shell.cpp:250 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgid "Sidebar" +msgstr "顯示捲軸(&B)" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "" + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "" + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "" + +#: shell/shell.cpp:582 +#, fuzzy, kde-format +msgid "Next Tab" +msgstr "符合頁面" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "" + +#: shell/shell.cpp:603 +#, fuzzy, kde-format +#| msgid "Show scroll&bars" +msgid "Lock Sidebar" +msgstr "顯示捲軸(&B)" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "" + +#: shell/shell.cpp:708 +#, fuzzy, kde-format +#| msgid "Current mantainer" +msgid "Open Document" +msgstr "目前維護者" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "" + +#: shell/welcomescreen.cpp:64 +#, fuzzy, kde-format +#| msgid "Speak Text" +msgid "&Copy Path" +msgstr "讀出文字" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "" + +#: shell/welcomescreen.cpp:137 +#, fuzzy, kde-format +#| msgid "Current mantainer" +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "目前維護者" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, fuzzy, kde-format +#| msgid "Current mantainer" +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "目前維護者" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, fuzzy, kde-format +#| msgid "Current mantainer" +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "目前維護者" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "" + +#, fuzzy +#~ msgid "Geometry with Comment" +#~ msgstr "屬性(&P)" + +#, fuzzy +#~| msgid "Go to Page" +#~ msgid "Go To Page..." +#~ msgstr "跳至頁" + +#, fuzzy +#~| msgid "Save to File..." +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "儲存至檔案..." + +#, fuzzy +#~| msgid "Configure KPDF..." +#~ msgid "Configure Viewer..." +#~ msgstr "設定 KPDF..." + +#, fuzzy +#~| msgid "Configure KPDF..." +#~ msgid "Configure Viewer Backends..." +#~ msgstr "設定 KPDF..." + +#, fuzzy +#~| msgid "Unknown" +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "未知" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%1:" + +#, fuzzy +#~| msgid "Fit Width" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "符合闊度" + +#, fuzzy +#~| msgid "Fit Page" +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "符合頁面" + +#, fuzzy +#~| msgid "Show scroll&bars" +#~ msgid "Show Sidebar" +#~ msgstr "顯示捲軸(&B)" + +#, fuzzy +#~| msgid "Format" +#~ msgid "Form" +#~ msgstr "格式" + +#, fuzzy +#~| msgid "Presentation" +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "表現" + +#, fuzzy +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "屬性(&P)" + +#, fuzzy +#~| msgid "Speak Text" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "讀出文字" + +#, fuzzy +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "屬性(&P)" + +#, fuzzy +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "屬性(&P)" + +#, fuzzy +#~ msgid "Highlight in Yellow" +#~ msgstr "屬性(&P)" + +#, fuzzy +#~ msgid "Highlight in Green" +#~ msgstr "屬性(&P)" + +#, fuzzy +#~| msgid "&Select Tool" +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "選取工具(&S)" + +#, fuzzy +#~| msgid "&Select Tool" +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "選取工具(&S)" + +#, fuzzy +#~| msgid "&Select Tool" +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "選取工具(&S)" + +#, fuzzy +#~| msgid "Presentation" +#~ msgid "Bookmark annotation" +#~ msgstr "表現" + +#, fuzzy +#~| msgid "Author" +#~ msgid "Au&thor:" +#~ msgstr "作者" + +#, fuzzy +#~| msgid "Filter Options" +#~ msgid "View Options" +#~ msgstr "過濾器選項" + +#~ msgid "Show &Navigation Panel" +#~ msgstr "顯示導覽面版(&N)" + +#, fuzzy +#~| msgid "Speak Text" +#~ msgid "Show Text" +#~ msgstr "讀出文字" + +#, fuzzy +#~| msgid "Icon" +#~ msgid "Large Icons" +#~ msgstr "圖示" + +#, fuzzy +#~| msgid "Creator" +#~ msgid "Created: %1" +#~ msgstr "建立者" + +#, fuzzy +#~| msgid "Title" +#~ msgid "Style" +#~ msgstr "標題" + +#, fuzzy +#~ msgid "&Size:" +#~ msgstr "標題" + +#, fuzzy +#~| msgid "Pages: %1" +#~ msgid "Name: %1" +#~ msgstr "頁:%1" + +#, fuzzy +#~ msgid "Size: %1" +#~ msgstr "標題" + +#~ msgid "&Browse Tool" +#~ msgstr "瀏覽工具(&B)" + +#, fuzzy +#~| msgid "&Select Tool" +#~ msgctxt "Select Tool" +#~ msgid "Selection" +#~ msgstr "選取工具(&S)" + +#, fuzzy +#~| msgid "&Select Tool" +#~ msgid "&Text Selection Tool" +#~ msgstr "選取工具(&S)" + +#, fuzzy +#~| msgid "&Select Tool" +#~ msgid "T&able Selection Tool" +#~ msgstr "選取工具(&S)" + +#, fuzzy +#~| msgid "[none]" +#~ msgid " None" +#~ msgstr "[沒有]" + +#, fuzzy +#~ msgid "Presentation Mode" +#~ msgstr "表現模式選項" + +#, fuzzy +#~ msgid "Allow the presentation mode" +#~ msgstr "表現模式選項" + +#, fuzzy +#~| msgid "Options for Presentation Mode" +#~ msgid "Do not allow the presentation mode" +#~ msgstr "表現模式選項" + +#, fuzzy +#~| msgid "Save to File..." +#~ msgid "Save &Copy As..." +#~ msgstr "儲存至檔案..." + +#~ msgid "" +#~ "End of document reached.\n" +#~ "Continue from the beginning?" +#~ msgstr "" +#~ "已到達文件結尾。\n" +#~ "要從開始部份繼續嗎?" + +#, fuzzy +#~| msgid "" +#~| "End of document reached.\n" +#~| "Continue from the beginning?" +#~ msgid "" +#~ "Beginning of document reached.\n" +#~ "Continue from the bottom?" +#~ msgstr "" +#~ "已到達文件結尾。\n" +#~ "要從開始部份繼續嗎?" + +#, fuzzy +#~| msgid "Current mantainer" +#~ msgid "Current maintainer" +#~ msgstr "目前維護者" + +#, fuzzy +#~| msgid "Starting KTTSD Failed: %1" +#~ msgid "Starting Jovie Text-to-Speech service Failed: %1" +#~ msgstr "啟動 KTTSD 失敗: %1" + +#~ msgid "No document opened." +#~ msgstr "未有開啟文件。" + +#~ msgid "No matches found for '%1'." +#~ msgstr "找不到符合『%1』的。" + +#, fuzzy +#~ msgid "Ink Properties" +#~ msgstr "屬性(&P)" + +#, fuzzy +#~| msgid "Presentation" +#~ msgctxt "Annotation tool" +#~ msgid "Text Annotation" +#~ msgstr "表現" + +#~ msgid "Moves to the first page of the document" +#~ msgstr "移至文件首頁" + +#~ msgid "Moves to the last page of the document" +#~ msgstr "移至文件尾頁" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "%1 is \"Title\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#, fuzzy +#~| msgid "%1:" +#~ msgctxt "%1 is \"File Path\"" +#~ msgid "%1:" +#~ msgstr "%1:" + +#~ msgid "Pages:" +#~ msgstr "頁:" + +#, fuzzy +#~| msgid "&Properties" +#~ msgid "&Properties..." +#~ msgstr "屬性(&P)" + +#, fuzzy +#~| msgid "Moves to the next page of the document" +#~ msgid "Could not load the necessary plugin to view the document." +#~ msgstr "移至文件次頁" + +#~ msgid "Hide &Navigation Panel" +#~ msgstr "隱藏導覽面版(&N)" + +#, fuzzy +#~| msgid "Page %1" +#~ msgid "page %1" +#~ msgstr "頁 %1" + +#, fuzzy +#~| msgid "General" +#~ msgid "DlgGeneral" +#~ msgstr "一般" + +#~ msgid "Reading Aids" +#~ msgstr "閱讀輔助" + +#, fuzzy +#~| msgid "Could not open %1" +#~ msgid "Click for Open %1" +#~ msgstr "無法開啟 %1" + +#, fuzzy +#~ msgid "contents:" +#~ msgstr "連續(&C)" + +#, fuzzy +#~| msgid "Pages:" +#~ msgid "flags:" +#~ msgstr "頁:" + +#~ msgid "Clear filter" +#~ msgstr "清除過濾器" + +#~ msgid "Topic" +#~ msgstr "主題" + +#~ msgid "Fit to Page &Width" +#~ msgstr "符合頁寬(&W)" + +#~ msgid "&Two Pages" +#~ msgstr "兩頁(&T)" + +#~ msgid "Starting -- find text as you type" +#~ msgstr "正在開始 -- 隨鍵即找" + +#~ msgid "Security" +#~ msgstr "保安" + +#~ msgid "Optimized" +#~ msgstr "已優化" + +#~ msgid "Unknown Encryption" +#~ msgstr "未知的加密" + +#~ msgid "Unknown Optimization" +#~ msgstr "未知的優化" + +#~ msgid "unknown" +#~ msgstr "未知" + +#~ msgid "-" +#~ msgstr "-" + +#, fuzzy +#~ msgid "kpdf, a kde pdf viewer based on poppler" +#~ msgstr "Kpdf,源自於 Xpdf 的 KDE pdf 檢視器" + +#~ msgid "KPDF::Part" +#~ msgstr "KPDF::Part" + +#~ msgid "Converting from ps to pdf..." +#~ msgstr "正在從 ps 轉換至 pdf..." + +#~ msgid "Text found: \"%1\"." +#~ msgstr "找到文字:「%1」。" + +#~ msgid "Text not found: \"%1\"." +#~ msgstr "找不到文:「%1」。" + +#~ msgctxt "PDF v. " +#~ msgid "PDF v. %1" +#~ msgstr "PDF %1 版" + +#~ msgid "Xpdf author" +#~ msgstr "Xpdf 作者" diff --git a/po/zh_TW/okular.po b/po/zh_TW/okular.po new file mode 100644 index 0000000..82b12ba --- /dev/null +++ b/po/zh_TW/okular.po @@ -0,0 +1,6321 @@ +# translation of okular.po to Chinese Traditional +# Traditional(Big-5) Chinese translation for kpdf +# Copyright (C) 2003, 2006, 2007, 2008 Free Software Foundation, Inc. +# +# Original translator: Edward G.J. Lee , 2003. +# Frank Weng (a.k.a. Franklin) , 2006, 2008, 2009, 2010. +# Franklin Weng , 2007, 2008. +# Goodhorse , 2008. +# Franklin Weng , 2008, 2010, 2012. +# Franklin Weng , 2011, 2012, 2013, 2014, 2015. +# Jeff Huang , 2016, 2017. +# pan93412 , 2018, 2019, 2020. +# SPDX-FileCopyrightText: 2023, 2024, 2025 Kisaragi Hiu +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-11-13 22:39+0900\n" +"Last-Translator: Kisaragi Hiu \n" +"Language-Team: Traditional Chinese \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 25.11.70\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Edward G.J. Lee,Franklin Weng, Jeff Huang, pan93412, Kisaragi Hiu" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" +"edt1023@info.sayya.org,franklin@goodhorse.idv.tw, s8321414@gmail.com, " +"pan93412@gmail.com, mail@kisaragi-hiu.com" + +#: aboutdata.h:19 part/annotationwidgets.cpp:431 +#, kde-format +msgid "Okular" +msgstr "Okular" + +#: aboutdata.h:21 +#, kde-format +msgid "Okular, a universal document viewer" +msgstr "Okular,一個多功能文件檢視器" + +#: aboutdata.h:23 +#, kde-format +msgid "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" +msgstr "" +"(C) 2002 Wilco Greven, Christophe Devriese\n" +"(C) 2004-2005 Enrico Ros\n" +"(C) 2005 Piotr Szymanski\n" +"(C) 2004-2017 Albert Astals Cid\n" +"(C) 2006-2009 Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Pino Toscano" +msgstr "Pino Toscano" + +#: aboutdata.h:31 +#, kde-format +msgid "Former maintainer" +msgstr "前任維護者" + +#: aboutdata.h:32 +#, kde-format +msgid "Tobias Koenig" +msgstr "Tobias Koenig" + +#: aboutdata.h:32 +#, kde-format +msgid "Lots of framework work, FictionBook backend and former ODT backend" +msgstr "許多框架工作,FictionBook 後端與以前的 ODT 後端" + +#: aboutdata.h:33 +#, kde-format +msgid "Albert Astals Cid" +msgstr "Albert Astals Cid" + +#: aboutdata.h:33 +#, kde-format +msgid "Developer" +msgstr "開發者" + +#: aboutdata.h:34 +#, kde-format +msgid "Piotr Szymanski" +msgstr "Piotr Szymanski" + +#: aboutdata.h:34 +#, kde-format +msgid "Created Okular from KPDF codebase" +msgstr "以 KPDF 原始碼為源頭製作了 Okular" + +#: aboutdata.h:35 +#, kde-format +msgid "Enrico Ros" +msgstr "Enrico Ros" + +#: aboutdata.h:35 +#, kde-format +msgid "KPDF developer" +msgstr "KPDF 開發者" + +#: aboutdata.h:36 +#, kde-format +msgid "Eugene Trounev" +msgstr "Eugene Trounev" + +#: aboutdata.h:36 +#, kde-format +msgid "Annotations artwork" +msgstr "最後狀態註記美化" + +#: aboutdata.h:37 +#, kde-format +msgid "Jiri Baum - NICTA" +msgstr "Jiri Baum - NICTA" + +#: aboutdata.h:37 +#, kde-format +msgid "Table selection tool" +msgstr "表格選擇工具" + +#: aboutdata.h:38 +#, kde-format +msgid "Fabio D'Urso" +msgstr "Fabio D'Urso" + +#: aboutdata.h:38 +#, kde-format +msgid "Annotation improvements" +msgstr "註記改進" + +#: core/action.cpp:137 +#, kde-format +msgid "Go to page %1" +msgstr "跳到第 %1 頁" + +#: core/action.cpp:137 +#, kde-format +msgid "Open external file" +msgstr "開啟外部檔案" + +#: core/action.cpp:197 +#, kde-format +msgid "Execute '%1'…" +msgstr "執行 %1…" + +#: core/action.cpp:294 +#, kde-format +msgid "First Page" +msgstr "第一頁" + +#: core/action.cpp:296 part/presentationwidget.cpp:184 +#, kde-format +msgid "Previous Page" +msgstr "前一頁" + +#: core/action.cpp:298 part/presentationwidget.cpp:201 +#, kde-format +msgid "Next Page" +msgstr "下一頁" + +#: core/action.cpp:300 +#, kde-format +msgid "Last Page" +msgstr "最後一頁" + +#: core/action.cpp:302 +#, kde-format +msgid "Back" +msgstr "返回" + +#: core/action.cpp:304 +#, kde-format +msgid "Forward" +msgstr "往前" + +#: core/action.cpp:306 +#, kde-format +msgid "Quit" +msgstr "離開" + +#: core/action.cpp:308 +#, kde-format +msgid "Start Presentation" +msgstr "開始展示" + +#: core/action.cpp:310 +#, kde-format +msgid "End Presentation" +msgstr "結束展示" + +#: core/action.cpp:312 +#, kde-format +msgid "Find…" +msgstr "尋找…" + +#: core/action.cpp:314 +#, kde-format +msgid "Go To Page…" +msgstr "跳頁…" + +#: core/action.cpp:365 +#, kde-format +msgid "Play sound…" +msgstr "播放聲音…" + +#: core/action.cpp:433 core/action.cpp:549 +#, kde-format +msgid "JavaScript Script" +msgstr "JavaScript 文稿" + +#: core/action.cpp:483 +#, kde-format +msgid "Play movie…" +msgstr "播放影片…" + +#: core/action.cpp:554 +#, kde-format +msgid "Play movie" +msgstr "播放影片" + +#: core/action.cpp:556 +#, kde-format +msgid "Stop movie" +msgstr "停止影片" + +#: core/action.cpp:558 +#, kde-format +msgid "Pause movie" +msgstr "暫停影片" + +#: core/action.cpp:560 +#, kde-format +msgid "Resume movie" +msgstr "回復播放" + +#: core/audioplayer.cpp:315 +#, kde-format +msgid "This Okular is built without audio support" +msgstr "這個 Okular 編譯時未包含音效支援" + +#: core/chooseenginedialog.cpp:22 +#, kde-format +msgid "Backend Selection" +msgstr "後端介面選擇" + +#: core/chooseenginedialog.cpp:40 +#, kde-format +msgid "" +"More than one backend found for the MIME type:
    %1 (%2).

    Please select which one to use:
    " +msgstr "" +"此 MIME 型態有一種以上的後端介面:
    %1(%2)。

    請" +"選擇要使用哪一種:
    " + +#: core/document.cpp:200 +#, kde-format +msgctxt "@info %1 is a page size" +msgid "Most pages are %1." +msgstr "大部分頁面大小是 %1。" + +#: core/document.cpp:221 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Portrait %1" +msgstr "直向 %1" + +#: core/document.cpp:223 +#, kde-format +msgctxt "paper type and orientation (eg: Portrait A4)" +msgid "Landscape %1" +msgstr "橫向 %1" + +#: core/document.cpp:246 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 in (%3)" +msgstr "%1 × %2 英吋 (%3)" + +#: core/document.cpp:248 +#, kde-format +msgctxt "%1 is width, %2 is height, %3 is paper size name" +msgid "%1 × %2 mm (%3)" +msgstr "%1 × %2 毫米 (%3)" + +#: core/document.cpp:1702 +#, kde-format +msgid "Continuing search from beginning" +msgstr "從開頭重新搜尋" + +#: core/document.cpp:1705 +#, kde-format +msgid "Continuing search from bottom" +msgstr "從底端重新搜尋" + +#: core/document.cpp:2421 +#, kde-format +msgid "" +"Can not find a plugin which is able to handle the document being passed." +msgstr "找不到可以處理此文件的外掛程式。" + +#: core/document.cpp:2843 +#, kde-format +msgctxt "Unsupported action" +msgid "Signing not implemented for this document type" +msgstr "簽署功能沒有未此文件類型實作" + +#: core/document.cpp:3557 +#, kde-format +msgctxt "remove a collection of annotations from the page" +msgid "remove annotations" +msgstr "移除註記" + +#: core/document.cpp:4149 core/document.cpp:4155 +#, kde-format +msgid "" +"The document is trying to execute an external application and, for your " +"safety, Okular does not allow that." +msgstr "此文件正試著執行外部應用程式,但為了安全起見,okular 不允許此動作。" + +#: core/document.cpp:4165 +#, kde-format +msgid "No application found for opening file of mimetype %1." +msgstr "找不到用於開啟 MIME 型態為 %1 的檔案的應用程式。" + +#: core/document.cpp:4801 +#, kde-format +msgid "Could not open a temporary file" +msgstr "無法開啟暫存檔" + +#: core/document.cpp:4803 +#, kde-format +msgid "Print conversion failed" +msgstr "列印轉換失敗" + +#: core/document.cpp:4805 +#, kde-format +msgid "Printing process crashed" +msgstr "列印行程發生錯誤" + +#: core/document.cpp:4807 +#, kde-format +msgid "Printing process could not start" +msgstr "列印行程無法啟動" + +#: core/document.cpp:4809 +#, kde-format +msgid "Printing to file failed" +msgstr "列印到檔案失敗" + +#: core/document.cpp:4811 +#, kde-format +msgid "Printer was in invalid state" +msgstr "印表機的狀態有問題" + +#: core/document.cpp:4813 +#, kde-format +msgid "Unable to find file to print" +msgstr "找不到要列印的檔案" + +#: core/document.cpp:4815 +#, kde-format +msgid "There was no file to print" +msgstr "沒有檔案可列印" + +#: core/document.cpp:4817 +#, kde-format +msgid "" +"Could not find a suitable binary for printing. Make sure CUPS lpr binary is " +"available" +msgstr "找不到用於列印的執行檔。請確定 CUPS lpr 執行檔可以使用。" + +#: core/document.cpp:4819 +#, kde-format +msgid "The page print size is invalid" +msgstr "頁面列印大小無效" + +#: core/document.cpp:5493 part/part.cpp:1145 +#, kde-format +msgid "Could not open '%1'. File does not exist" +msgstr "無法開啟 %1。檔案不存在" + +#: core/document.cpp:6002 +#, kde-format +msgid "Title" +msgstr "標題" + +#: core/document.cpp:6005 +#, kde-format +msgid "Subject" +msgstr "主旨" + +#: core/document.cpp:6008 +#, kde-format +msgid "Description" +msgstr "描述" + +#: core/document.cpp:6011 +#, kde-format +msgid "Author" +msgstr "作者" + +#: core/document.cpp:6014 +#, kde-format +msgid "Creator" +msgstr "檔案建立者" + +#: core/document.cpp:6017 +#, kde-format +msgid "Producer" +msgstr "產生者" + +#: core/document.cpp:6020 +#, kde-format +msgid "Copyright" +msgstr "版權" + +#: core/document.cpp:6023 +#, kde-format +msgid "Pages" +msgstr "頁面" + +#: core/document.cpp:6026 +#, kde-format +msgid "Created" +msgstr "已建立" + +#: core/document.cpp:6029 +#, kde-format +msgid "Modified" +msgstr "已修改" + +#: core/document.cpp:6032 +#, kde-format +msgid "MIME Type" +msgstr "MIME 類型" + +#: core/document.cpp:6035 +#, kde-format +msgid "Category" +msgstr "類別" + +#: core/document.cpp:6038 +#, kde-format +msgid "Keywords" +msgstr "關鍵字" + +#: core/document.cpp:6041 +#, kde-format +msgid "File Path" +msgstr "檔案路徑" + +#: core/document.cpp:6044 +#, kde-format +msgid "File Size" +msgstr "檔案大小" + +#: core/document.cpp:6047 +#, kde-format +msgid "Page Size" +msgstr "頁面大小" + +#: core/documentcommands.cpp:62 +#, kde-format +msgctxt "Add an annotation to the page" +msgid "add annotation" +msgstr "新增註記" + +#: core/documentcommands.cpp:108 +#, kde-format +msgctxt "Remove an annotation from the page" +msgid "remove annotation" +msgstr "移除註記" + +#: core/documentcommands.cpp:155 +#, kde-format +msgctxt "Modify an annotation's internal properties (Color, line-width, etc.)" +msgid "modify annotation properties" +msgstr "變更註記屬性" + +#: core/documentcommands.cpp:190 +#, kde-format +msgctxt "Translate an annotation's position on the page" +msgid "translate annotation" +msgstr "翻譯註記" + +#: core/documentcommands.cpp:263 +#, kde-format +msgctxt "Change an annotation's size" +msgid "adjust annotation" +msgstr "調整註記" + +#: core/documentcommands.cpp:333 +#, kde-format +msgctxt "Generic text edit command" +msgid "edit text" +msgstr "編輯文字" + +#: core/documentcommands.cpp:398 +#, kde-format +msgctxt "Edit an annotation's text contents" +msgid "edit annotation contents" +msgstr "編輯註記內容" + +#: core/documentcommands.cpp:447 +#, kde-format +msgctxt "Edit an form's text contents" +msgid "edit form contents" +msgstr "編輯表單內容" + +#: core/documentcommands.cpp:494 +#, kde-format +msgctxt "Edit a list form's choices" +msgid "edit list form choices" +msgstr "編輯清單表單選擇" + +#: core/documentcommands.cpp:528 +#, kde-format +msgctxt "Edit a combo form's selection" +msgid "edit combo form selection" +msgstr "編輯下拉式選單表單選擇" + +#: core/documentcommands.cpp:598 +#, kde-format +msgctxt "Edit the state of a group of form buttons" +msgid "edit form button states" +msgstr "編輯表單按鍵狀態" + +#: core/generator.cpp:790 +#, kde-format +msgid "Plain &Text…" +msgstr "純文字(&T)…" + +#: core/generator.cpp:793 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: core/generator.cpp:797 +#, kde-format +msgctxt "This is the document format" +msgid "OpenDocument Text" +msgstr "OpenDocument 文字文件" + +#: core/generator.cpp:800 +#, kde-format +msgctxt "This is the document format" +msgid "HTML" +msgstr "HTML" + +#: core/printoptionswidget.cpp:19 +#, kde-format +msgid "Print Options" +msgstr "列印選項" + +#: core/printoptionswidget.cpp:23 +#, kde-format +msgid "Fit to printable area" +msgstr "調整大小成可列印區域" + +#: core/printoptionswidget.cpp:24 +#, kde-format +msgid "Fit to full page" +msgstr "調整大小成整頁" + +#: core/printoptionswidget.cpp:25 +#, kde-format +msgid "Scale mode:" +msgstr "縮放模式:" + +#: core/script/js_app.cpp:206 +#, kde-format +msgid "Do not show this message again" +msgstr "請勿再次顯示此訊息" + +#: core/signatureutils.cpp:19 part/signaturepropertiesdialog.cpp:34 +#, kde-format +msgid "Not Available" +msgstr "無法使用" + +#: core/signatureutils.cpp:496 +#, kde-format +msgctxt "%1 is a error code" +msgid "" +"Internal signing error. Please report a bug with the steps to reproduce it. " +"Error code %1" +msgstr "內部簽署錯誤。請回報問題給我們,並提供重現此錯誤的步驟。錯誤代碼 %1" + +#: core/signatureutils.cpp:498 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "Could not sign the document: %1" +msgstr "無法簽署文件:%1" + +#: core/signatureutils.cpp:500 +#, kde-format +msgid "Signing cancelled by user" +msgstr "簽署已被使用者取消" + +#: core/signatureutils.cpp:502 +#, kde-format +msgid "Could not sign. Wrong passphrase" +msgstr "無法簽名。錯誤密碼" + +#: core/signatureutils.cpp:504 +#, kde-kuit-format +msgctxt "%1 is a filename with path" +msgid "" +"Could not write the signed document to %1, please " +"ensure you have selected a folder with write permission" +msgstr "" +"無法將簽署後的文件寫入 %1,請確保您有權限寫入所選的資料" +"夾" + +#: core/signatureutils.cpp:506 +#, kde-format +msgid "Unknown signing error" +msgstr "未知的簽署錯誤" + +#: core/sourcereference.cpp:103 +#, kde-format +msgctxt "'source' is a source file" +msgid "Source: %1" +msgstr "來源:%1" + +#: core/textdocumentsettings.cpp:34 +#, kde-format +msgid "&Default Font:" +msgstr "預設字型(&D):" + +#: gui/certificatemodel.cpp:39 +#, kde-format +msgid "Version" +msgstr "版本" + +#: gui/certificatemodel.cpp:41 +#, kde-format +msgid "Serial Number" +msgstr "序號" + +#: gui/certificatemodel.cpp:43 +#, kde-format +msgid "Issuer" +msgstr "發行者" + +#: gui/certificatemodel.cpp:45 part/certificateviewer.cpp:75 +#, kde-format +msgid "Issued On" +msgstr "簽發時間" + +#: gui/certificatemodel.cpp:47 part/certificateviewer.cpp:76 +#, kde-format +msgid "Expires On" +msgstr "過期時間" + +#: gui/certificatemodel.cpp:49 +#, kde-format +msgctxt "The person/company that made the signature" +msgid "Subject" +msgstr "主旨" + +#: gui/certificatemodel.cpp:51 +#, kde-format +msgid "Public Key" +msgstr "公鑰" + +#: gui/certificatemodel.cpp:53 +#, kde-format +msgid "Key Usage" +msgstr "金鑰用途" + +#: gui/certificatemodel.cpp:72 +#, kde-format +msgid "V%1" +msgstr "V%1" + +#: gui/certificatemodel.cpp:84 +#, kde-format +msgid "%1 (%2 bits)" +msgstr "%1(%2 位元)" + +#: gui/certificatemodel.cpp:146 +#, kde-format +msgid "Property" +msgstr "屬性" + +#: gui/certificatemodel.cpp:148 +#, kde-format +msgid "Value" +msgstr "數值" + +#: gui/guiutils.cpp:39 part/editannottooldialog.cpp:88 +#: part/pageviewannotator.cpp:277 part/pageviewannotator.cpp:1479 +#, kde-format +msgid "Pop-up Note" +msgstr "彈出式備註" + +#: gui/guiutils.cpp:43 part/editannottooldialog.cpp:96 +#: part/pageviewannotator.cpp:264 part/pageviewannotator.cpp:1495 +#, kde-format +msgid "Typewriter" +msgstr "打字機" + +#: gui/guiutils.cpp:46 part/editannottooldialog.cpp:89 +#: part/pageviewannotator.cpp:259 part/pageviewannotator.cpp:1477 +#, kde-format +msgid "Inline Note" +msgstr "文內備註" + +#: gui/guiutils.cpp:56 +#, kde-format +msgid "Arrow with Comment" +msgstr "含備註的箭頭" + +#. i18n: tag tool attribute name +#: gui/guiutils.cpp:56 part/data/tools.xml:103 +#, kde-format +msgid "Arrow" +msgstr "箭頭" + +#: gui/guiutils.cpp:59 +#, kde-format +msgid "Straight Line with Comment" +msgstr "含備註的直線" + +#: gui/guiutils.cpp:59 part/editannottooldialog.cpp:91 +#: part/pageviewannotator.cpp:1489 +#, kde-format +msgid "Straight Line" +msgstr "直線" + +#: gui/guiutils.cpp:63 +#, kde-format +msgid "Polygon with Comment" +msgstr "含備註的多邊形" + +#: gui/guiutils.cpp:63 part/editannottooldialog.cpp:92 +#: part/pageviewannotator.cpp:1481 +#, kde-format +msgid "Polygon" +msgstr "多邊形" + +#: gui/guiutils.cpp:71 +#, kde-format +msgid "Rectangle with Comment" +msgstr "含備註的矩形" + +#: gui/guiutils.cpp:71 part/annotationwidgets.cpp:700 +#: part/pageviewannotator.cpp:1483 +#, kde-format +msgid "Rectangle" +msgstr "矩形" + +#: gui/guiutils.cpp:74 +#, kde-format +msgid "Ellipse with Comment" +msgstr "含備註的橢圓形" + +#: gui/guiutils.cpp:74 part/annotationwidgets.cpp:701 +#: part/pageviewannotator.cpp:1471 +#, kde-format +msgid "Ellipse" +msgstr "橢圓形" + +#: gui/guiutils.cpp:83 +#, kde-format +msgid "Highlight with Comment" +msgstr "含備註的突顯文字" + +#: gui/guiutils.cpp:83 part/annotationwidgets.cpp:653 +#, kde-format +msgid "Highlight" +msgstr "突顯" + +#: gui/guiutils.cpp:87 +#, kde-format +msgid "Squiggle with Comment" +msgstr "含備註的波狀線" + +#: gui/guiutils.cpp:87 part/annotationwidgets.cpp:654 +#: part/pageviewannotator.cpp:1485 +#, kde-format +msgid "Squiggle" +msgstr "草寫" + +#: gui/guiutils.cpp:91 +#, kde-format +msgid "Underline with Comment" +msgstr "含備註的底線" + +#: gui/guiutils.cpp:91 part/annotationwidgets.cpp:655 +#: part/pageviewannotator.cpp:1493 +#, kde-format +msgid "Underline" +msgstr "底線" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out with Comment" +msgstr "含備註的刪除線" + +#: gui/guiutils.cpp:95 +#, kde-format +msgid "Strike Out" +msgstr "刪除線" + +#: gui/guiutils.cpp:102 +#, kde-format +msgid "Stamp with Comment" +msgstr "含備註的印花" + +#: gui/guiutils.cpp:102 part/editannottooldialog.cpp:95 +#: part/pageviewannotator.cpp:1487 +#, kde-format +msgid "Stamp" +msgstr "印花" + +#: gui/guiutils.cpp:106 +#, kde-format +msgid "Freehand Line with Comment" +msgstr "含備註的手繪線條" + +#: gui/guiutils.cpp:106 part/editannottooldialog.cpp:90 +#: part/pageviewannotator.cpp:1475 +#, kde-format +msgid "Freehand Line" +msgstr "自由手繪線條" + +#: gui/guiutils.cpp:110 +#, kde-format +msgid "Caret" +msgstr "符號" + +#: gui/guiutils.cpp:114 +#, kde-format +msgid "File Attachment" +msgstr "附加檔案" + +#: gui/guiutils.cpp:118 +#, kde-format +msgid "Sound" +msgstr "音效" + +#: gui/guiutils.cpp:122 +#, kde-format +msgid "Movie" +msgstr "電影" + +#: gui/guiutils.cpp:126 +#, kde-format +msgctxt "Caption for a screen annotation" +msgid "Screen" +msgstr "螢幕" + +#: gui/guiutils.cpp:130 +#, kde-format +msgctxt "Caption for a widget annotation" +msgid "Widget" +msgstr "元件" + +#: gui/guiutils.cpp:134 +#, kde-format +msgctxt "Caption for a rich media annotation" +msgid "Rich Media" +msgstr "豐富媒體" + +#: gui/guiutils.cpp:144 +#, kde-format +msgid "Annotation" +msgstr "註記" + +#: gui/guiutils.cpp:168 +#, kde-format +msgctxt "Unknown author" +msgid "Unknown" +msgstr "未知" + +#: gui/guiutils.cpp:185 part/presentationwidget.cpp:376 +#, kde-format +msgid "Author: %1" +msgstr "作者:%1" + +#: gui/guiutils.cpp:197 part/propertiesdialog.cpp:229 +#, kde-format +msgid "Where do you want to save %1?" +msgstr "您要將 %1 儲存在哪裡?" + +#: gui/guiutils.cpp:209 part/propertiesdialog.cpp:240 +#, kde-format +msgid "Could not open \"%1\" for writing. File was not saved." +msgstr "無法開啟 %1 以寫入。檔案未儲存。" + +#: gui/signatureguiutils.cpp:42 +#, kde-format +msgid "The signature is cryptographically valid." +msgstr "這個簽名在密碼學上有效。" + +#: gui/signatureguiutils.cpp:44 +#, kde-format +msgid "The signature is cryptographically invalid." +msgstr "這個簽名在密碼學上無效。" + +#: gui/signatureguiutils.cpp:46 +#, kde-format +msgid "Digest Mismatch occurred." +msgstr "發生摘要不相符問題。" + +#: gui/signatureguiutils.cpp:48 +#, kde-format +msgid "The signature CMS/PKCS7 structure is malformed." +msgstr "CMS/PKCS7 憑證之結構無效。" + +#: gui/signatureguiutils.cpp:50 +#, kde-format +msgid "The requested signature is not present in the document." +msgstr "請求之憑證未在此文件出現。" + +#: gui/signatureguiutils.cpp:52 +#, kde-format +msgid "The signature could not be verified." +msgstr "無法驗證該憑證。" + +#: gui/signatureguiutils.cpp:60 +#, kde-format +msgid "Certificate is Trusted." +msgstr "憑證受信任。" + +#: gui/signatureguiutils.cpp:62 +#, kde-format +msgid "Certificate issuer isn't Trusted." +msgstr "憑證發行人不受信任。" + +#: gui/signatureguiutils.cpp:64 +#, kde-format +msgid "Certificate issuer is unknown." +msgstr "憑證發行人未知。" + +#: gui/signatureguiutils.cpp:66 +#, kde-format +msgid "Certificate has been Revoked." +msgstr "憑證已被撤銷。" + +#: gui/signatureguiutils.cpp:68 +#, kde-format +msgid "Certificate has Expired." +msgstr "憑證已過期。" + +#: gui/signatureguiutils.cpp:70 +#, kde-format +msgid "Certificate has not yet been verified." +msgstr "憑證尚未驗證。" + +#: gui/signatureguiutils.cpp:72 +#, kde-format +msgid "Certificate validation in progress" +msgstr "憑證驗證進行中" + +#: gui/signatureguiutils.cpp:74 +#, kde-format +msgid "Unknown issue with Certificate or corrupted data." +msgstr "憑證發生未知問題,或是資料損壞。" + +#: gui/signatureguiutils.cpp:82 +#, kde-format +msgid "MD2" +msgstr "MD2" + +#: gui/signatureguiutils.cpp:84 +#, kde-format +msgid "MD5" +msgstr "MD5" + +#: gui/signatureguiutils.cpp:86 +#, kde-format +msgid "SHA1" +msgstr "SHA1" + +#: gui/signatureguiutils.cpp:88 +#, kde-format +msgid "SHA256" +msgstr "SHA256" + +#: gui/signatureguiutils.cpp:90 +#, kde-format +msgid "SHA384" +msgstr "SHA384" + +#: gui/signatureguiutils.cpp:92 +#, kde-format +msgid "SHA512" +msgstr "SHA512" + +#: gui/signatureguiutils.cpp:94 +#, kde-format +msgid "SHA224" +msgstr "SHA224" + +#: gui/signatureguiutils.cpp:96 +#, kde-format +msgid "Unknown Algorithm" +msgstr "未知算法" + +#: gui/signatureguiutils.cpp:104 +#, kde-format +msgid "RSA" +msgstr "RSA" + +#: gui/signatureguiutils.cpp:106 +#, kde-format +msgid "DSA" +msgstr "DSA" + +#: gui/signatureguiutils.cpp:108 +#, kde-format +msgid "EC" +msgstr "EC" + +#: gui/signatureguiutils.cpp:110 gui/signatureguiutils.cpp:113 +#, kde-format +msgid "Unknown Type" +msgstr "未知類型" + +#: gui/signatureguiutils.cpp:120 +#, kde-format +msgid "Digital Signature" +msgstr "數位簽名" + +#: gui/signatureguiutils.cpp:123 +#, kde-format +msgid "Non-Repudiation" +msgstr "未拒絕" + +#: gui/signatureguiutils.cpp:126 +#, kde-format +msgid "Encrypt Keys" +msgstr "加密金鑰" + +#: gui/signatureguiutils.cpp:129 +#, kde-format +msgid "Decrypt Keys" +msgstr "解密金鑰" + +#: gui/signatureguiutils.cpp:132 +#, kde-format +msgid "Key Agreement" +msgstr "金鑰條款" + +#: gui/signatureguiutils.cpp:135 +#, kde-format +msgid "Sign Certificate" +msgstr "簽署憑證" + +#: gui/signatureguiutils.cpp:138 +#, kde-format +msgid "Sign CRL" +msgstr "簽署 CRL" + +#: gui/signatureguiutils.cpp:141 +#, kde-format +msgid "Encrypt Only" +msgstr "僅用於加密" + +#: gui/signatureguiutils.cpp:144 +#, kde-format +msgid "No Usage Specified" +msgstr "未指定用法" + +#: gui/signatureguiutils.cpp:151 +#, kde-format +msgctxt "Joins the various ways a signature key can be used in a longer string" +msgid ", " +msgstr ", " + +#: gui/signatureguiutils.cpp:165 +#, kde-format +msgid "The document has not been modified since it was signed." +msgstr "自簽名後文件已變更過。" + +#: gui/signatureguiutils.cpp:168 +#, kde-format +msgid "" +"The revision of the document that was covered by this signature has not been " +"modified;\n" +"however there have been subsequent changes to the document." +msgstr "" +"此簽名所涵蓋的文件修訂版未被變更;\n" +"然而此文件之後被變更過。" + +#: gui/signatureguiutils.cpp:172 +#, kde-format +msgid "" +"The document has been modified in a way not permitted by a previous signer." +msgstr "此文件用了上位簽名者不允許的方式變更。" + +#: gui/signatureguiutils.cpp:174 +#, kde-format +msgid "The document integrity verification could not be completed." +msgstr "無法完成此文件的有效性驗證。" + +#: gui/signatureguiutils.cpp:208 +#, kde-format +msgctxt "Digital signature" +msgid "This document has signature placeholder fields." +msgstr "此文件有簽名佔位欄位。" + +#: gui/signatureguiutils.cpp:211 +#, kde-format +msgid "This document is digitally signed." +msgstr "此文件已經數位簽名。" + +#: gui/signatureguiutils.cpp:213 +#, kde-format +msgid "" +"This document is digitally signed. There have been changes since last signed." +msgstr "此文件已經數位簽名。上次簽名以來有變更。" + +#: gui/signatureguiutils.cpp:216 +#, kde-format +msgid "" +"This document is digitally signed. Some of the signatures could not be " +"validated properly." +msgstr "此文件已經數位簽名。某些簽名無法正常驗證。" + +#: gui/signaturemodel.cpp:141 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder %1" +msgstr "簽名佔位欄位 %1" + +#: gui/signaturemodel.cpp:144 gui/signaturemodel.cpp:181 +#, kde-format +msgid "Field: %1 on page %2" +msgstr "欄位:%1(於第 %2 頁)" + +#: gui/signaturemodel.cpp:152 +#, kde-format +msgid "Rev. %1: Signed By %2" +msgstr "修訂版 %1:由 %2 簽署" + +#: gui/signaturemodel.cpp:167 +#, kde-format +msgid "Signing Time: %1" +msgstr "簽署時間:%1" + +#: gui/signaturemodel.cpp:172 +#, kde-format +msgid "Reason: %1" +msgstr "原因:%1" + +#: gui/signaturemodel.cpp:177 +#, kde-format +msgid "Location: %1" +msgstr "位置:%1" + +#: gui/signaturemodel.cpp:185 +#, kde-format +msgctxt "Digital signature type" +msgid "PGP Signature" +msgstr "PGP 簽名" + +#: gui/signaturemodel.cpp:187 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7" +msgstr "Adobe PKCS7" + +#: gui/signaturemodel.cpp:189 +#, kde-format +msgctxt "Digital signature type" +msgid "Adobe PKCS7 Sha1" +msgstr "Adobe PKCS7 Sha1" + +#: gui/signaturemodel.cpp:191 +#, kde-format +msgctxt "Digital signature type" +msgid "ETSI CAdES" +msgstr "ETSI CAdES" + +#: gui/signaturemodel.cpp:193 +#, kde-format +msgctxt "Digital signature type" +msgid "Unknown" +msgstr "未知" + +#: gui/signaturemodel.cpp:195 +#, kde-format +msgctxt "Digital signature type" +msgid "Signature placeholder" +msgstr "簽名佔位欄位" + +#: gui/signaturemodel.cpp:201 +#, kde-format +msgid "Signature Type: %1" +msgstr "簽名類型:%1" + +#: part/annotationactionhandler.cpp:148 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Red" +msgstr "紅色" + +#: part/annotationactionhandler.cpp:149 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Orange" +msgstr "橘色" + +#: part/annotationactionhandler.cpp:150 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Yellow" +msgstr "黃色" + +#: part/annotationactionhandler.cpp:151 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Green" +msgstr "綠色" + +#: part/annotationactionhandler.cpp:152 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Cyan" +msgstr "青色" + +#: part/annotationactionhandler.cpp:153 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Blue" +msgstr "藍色" + +#: part/annotationactionhandler.cpp:154 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Magenta" +msgstr "紫紅色" + +#: part/annotationactionhandler.cpp:155 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "White" +msgstr "白色" + +#: part/annotationactionhandler.cpp:156 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Gray" +msgstr "灰色" + +#: part/annotationactionhandler.cpp:157 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Black" +msgstr "黑色" + +#: part/annotationactionhandler.cpp:246 part/annotationactionhandler.cpp:687 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Width %1" +msgstr "寬度 %1" + +#: part/annotationactionhandler.cpp:252 +#, kde-format +msgctxt "@item:inlistbox" +msgid "%1%" +msgstr "%1%" + +#: part/annotationactionhandler.cpp:296 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (No annotation selected)" +msgstr "註記行寬(未選取註記)" + +#: part/annotationactionhandler.cpp:297 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color (No annotation selected)" +msgstr "註記顏色(未選取註記)" + +#: part/annotationactionhandler.cpp:298 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (No annotation selected)" +msgstr "註記填充顏色(未選取註記)" + +#: part/annotationactionhandler.cpp:299 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity (No annotation selected)" +msgstr "註記不透明度(未選取註記)" + +#: part/annotationactionhandler.cpp:300 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (No annotation selected)" +msgstr "註記字型(未選取註記)" + +#: part/annotationactionhandler.cpp:301 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Add the current annotation to the quick annotations menu (No annotation " +"selected)" +msgstr "將目前註記加入至快速註記選單(未選取註記)" + +#: part/annotationactionhandler.cpp:302 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (No annotation " +"selected)" +msgstr "限制形狀比例於 1:1 或是直線角度於 15° 的階數(未選取註記)" + +#: part/annotationactionhandler.cpp:303 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Advanced settings for the current annotation tool (No annotation selected)" +msgstr "目前註記工具的進階選項(未選取註記)" + +#: part/annotationactionhandler.cpp:308 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width" +msgstr "註記行寬" + +#: part/annotationactionhandler.cpp:310 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation line width (Current annotation has no line width)" +msgstr "註記行寬(目前註記無行寬)" + +#: part/annotationactionhandler.cpp:314 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation text color" +msgstr "註記文字顏色" + +#: part/annotationactionhandler.cpp:316 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation border color" +msgstr "註記邊框顏色" + +#: part/annotationactionhandler.cpp:318 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation color" +msgstr "註記顏色" + +#: part/annotationactionhandler.cpp:322 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color" +msgstr "註記填充顏色" + +#: part/annotationactionhandler.cpp:324 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation fill color (Current annotation has no fill color)" +msgstr "註記填充顏色(目前註記無填充顏色)" + +#: part/annotationactionhandler.cpp:328 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font" +msgstr "註記字型" + +#: part/annotationactionhandler.cpp:330 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation font (Current annotation has no font)" +msgstr "註記字型(目前註記無字型)" + +#: part/annotationactionhandler.cpp:334 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain line angle to 15° steps" +msgstr "將直線角度限制在 15° 的階數" + +#: part/annotationactionhandler.cpp:336 +#, kde-format +msgctxt "@info:tooltip" +msgid "Constrain shape ratio to 1:1" +msgstr "將形狀比例限制於 1:1" + +#: part/annotationactionhandler.cpp:338 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"Constrain shape ratio to 1:1 or line angle to 15° steps (Not supported by " +"current annotation)" +msgstr "限制形狀比例於 1:1 或是直線角度於 15° 的階數(不受目前註記支援)" + +#: part/annotationactionhandler.cpp:341 +#, kde-format +msgctxt "@info:tooltip" +msgid "Annotation opacity" +msgstr "註記不透明度" + +#: part/annotationactionhandler.cpp:342 +#, kde-format +msgctxt "@info:tooltip" +msgid "Add the current annotation to the quick annotations menu" +msgstr "將目前註記加入至快速註記選單" + +#: part/annotationactionhandler.cpp:343 +#, kde-format +msgctxt "@info:tooltip" +msgid "Advanced settings for the current annotation tool" +msgstr "目前註記工具的進階選項" + +#: part/annotationactionhandler.cpp:432 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Color" +msgstr "顏色" + +#: part/annotationactionhandler.cpp:434 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Fill Color" +msgstr "填充顏色" + +#: part/annotationactionhandler.cpp:435 +#, kde-format +msgctxt "@item:inlistbox Color name" +msgid "Transparent" +msgstr "透明" + +#: part/annotationactionhandler.cpp:445 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Custom Color…" +msgstr "自訂顏色…" + +#: part/annotationactionhandler.cpp:499 +#, kde-format +msgctxt "@title:window" +msgid "Select color" +msgstr "選取顏色" + +#: part/annotationactionhandler.cpp:552 +#, kde-format +msgid "&Annotations" +msgstr "註記(&A)" + +#: part/annotationactionhandler.cpp:553 +#, kde-format +msgctxt "@action:intoolbar Hide the toolbar" +msgid "Hide" +msgstr "隱藏" + +#: part/annotationactionhandler.cpp:554 +#, kde-format +msgctxt "@action:intoolbar Show the builtin annotation toolbar" +msgid "Show more annotation tools" +msgstr "顯示更多註記工具" + +#: part/annotationactionhandler.cpp:557 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Highlighter" +msgstr "螢光筆" + +#: part/annotationactionhandler.cpp:558 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Underline" +msgstr "底線" + +#: part/annotationactionhandler.cpp:559 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Squiggle" +msgstr "波狀線" + +#: part/annotationactionhandler.cpp:560 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Strike Out" +msgstr "刪除線" + +#: part/annotationactionhandler.cpp:562 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Typewriter" +msgstr "打字機" + +#: part/annotationactionhandler.cpp:563 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Inline Note" +msgstr "文內備註" + +#: part/annotationactionhandler.cpp:564 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Popup Note" +msgstr "彈出式備註" + +#: part/annotationactionhandler.cpp:565 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Freehand Line" +msgstr "自由手繪線條" + +#: part/annotationactionhandler.cpp:567 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Straight line" +msgstr "直線" + +#: part/annotationactionhandler.cpp:568 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Arrow" +msgstr "箭頭" + +#: part/annotationactionhandler.cpp:569 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Rectangle" +msgstr "矩形" + +#: part/annotationactionhandler.cpp:570 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Ellipse" +msgstr "橢圓形" + +#: part/annotationactionhandler.cpp:571 +#, kde-format +msgctxt "@action:intoolbar Annotation tool" +msgid "Polygon" +msgstr "多邊形" + +#: part/annotationactionhandler.cpp:572 +#, kde-format +msgctxt "@action" +msgid "Geometrical shapes" +msgstr "幾何形狀" + +#: part/annotationactionhandler.cpp:618 +#, kde-format +msgctxt "@action" +msgid "Stamp" +msgstr "印花" + +#: part/annotationactionhandler.cpp:638 +#, kde-format +msgctxt "@action:intoolbar Show list of quick annotation tools" +msgid "Quick Annotations" +msgstr "快速註記" + +#: part/annotationactionhandler.cpp:641 +#, kde-format +msgctxt "@info:tooltip" +msgid "Choose an annotation tool from the quick annotations" +msgstr "從快速註記選擇一個註記工具" + +#: part/annotationactionhandler.cpp:651 +#, kde-format +msgid "Quick Annotation Bar" +msgstr "快速註記列" + +#: part/annotationactionhandler.cpp:665 +#, kde-format +msgctxt "" +"@action:intoolbar Add current annotation tool to the quick annotations list" +msgid "Add to Quick Annotations" +msgstr "加入至快速註記" + +#: part/annotationactionhandler.cpp:668 +#, kde-format +msgctxt "" +"@action:intoolbar When checked keep the current annotation tool active after " +"use" +msgid "Keep Active" +msgstr "維持作用中" + +#: part/annotationactionhandler.cpp:669 +#, kde-format +msgctxt "@info:tooltip" +msgid "Keep the annotation tool active after use" +msgstr "使用註記工具後不退出" + +#: part/annotationactionhandler.cpp:674 +#, kde-format +msgctxt "" +"@action When checked, line annotations are constrained to 15° steps, shape " +"annotations to 1:1 ratio" +msgid "Constrain Ratio and Angle of Annotation Tools" +msgstr "限制註記工具的寬高比與角度" + +#: part/annotationactionhandler.cpp:680 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Font" +msgstr "字型" + +#: part/annotationactionhandler.cpp:681 +#, kde-format +msgctxt "@action:intoolbar Current annotation advanced settings" +msgid "Annotation Settings" +msgstr "註記設定" + +#: part/annotationactionhandler.cpp:684 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Line width" +msgstr "行寬:" + +#: part/annotationactionhandler.cpp:693 +#, kde-format +msgctxt "@action:intoolbar Current annotation config option" +msgid "Opacity" +msgstr "不透明度" + +#: part/annotationactionhandler.cpp:696 +#, kde-format +msgctxt "" +"@item:inlistbox Annotation opacity percentage level, make sure to include %1 " +"in your translation" +msgid "%1%" +msgstr "%1%" + +#: part/annotationmodel.cpp:320 +#, kde-format +msgctxt "Page label (number)" +msgid "Page %1 (%2)" +msgstr "頁面 %1 (%2)" + +#: part/annotationmodel.cpp:322 part/part.cpp:3169 +#, kde-format +msgid "Page %1" +msgstr "頁 %1" + +#: part/annotationpopup.cpp:85 +#, kde-format +msgctxt "Menu title" +msgid "Annotation" +msgid_plural "%1 Annotations" +msgstr[0] "%1 註記" + +#: part/annotationpopup.cpp:87 part/annotationpopup.cpp:146 +#, kde-format +msgid "&Open Pop-up Note" +msgstr "開啟彈出式備註(&O)" + +#: part/annotationpopup.cpp:95 part/annotationpopup.cpp:153 +#: part/bookmarklist.cpp:265 part/part.cpp:2265 part/part.cpp:3175 +#, kde-format +msgid "Remove Bookmark" +msgstr "移除書籤" + +#: part/annotationpopup.cpp:99 part/annotationpopup.cpp:156 part/part.cpp:3177 +#, kde-format +msgid "Add Bookmark" +msgstr "新增書籤" + +#: part/annotationpopup.cpp:105 part/annotationpopup.cpp:161 +#, kde-format +msgid "Copy Text to Clipboard" +msgstr "複製文字到剪貼簿" + +#: part/annotationpopup.cpp:109 part/annotationpopup.cpp:165 +#: part/pageview.cpp:2531 part/pageview.cpp:2851 part/pageview.cpp:2995 +#: part/pageview.cpp:3051 +#, kde-format +msgid "Copy forbidden by DRM" +msgstr "DRM 拒絕複製" + +#: part/annotationpopup.cpp:114 part/annotationpopup.cpp:170 +#, kde-format +msgid "&Delete" +msgstr "刪除(&D)" + +#: part/annotationpopup.cpp:128 part/annotationpopup.cpp:174 part/part.cpp:773 +#: part/propertiesdialog.cpp:54 +#, kde-format +msgid "&Properties" +msgstr "屬性(&P)" + +#: part/annotationpopup.cpp:135 part/annotationpopup.cpp:180 +#, kde-format +msgctxt "%1 is the name of the file to save" +msgid "&Save '%1'…" +msgstr "儲存 %1(&S)…" + +#: part/annotationpropertiesdialog.cpp:54 +#, kde-format +msgid "&Appearance" +msgstr "外觀(&A)" + +#: part/annotationpropertiesdialog.cpp:59 +#, kde-format +msgid "&General" +msgstr "一般(&G)" + +#: part/annotationpropertiesdialog.cpp:64 +#, kde-format +msgid "&Author:" +msgstr "作者(&A):" + +#: part/annotationpropertiesdialog.cpp:69 +#, kde-format +msgid "Created:" +msgstr "建立日期:" + +#: part/annotationpropertiesdialog.cpp:74 +#, kde-format +msgid "Modified:" +msgstr "修改日期:" + +#: part/annotationpropertiesdialog.cpp:108 +#, kde-format +msgid "Pop-up Note Properties" +msgstr "彈出式備註屬性" + +#: part/annotationpropertiesdialog.cpp:111 +#, kde-format +msgid "Typewriter Properties" +msgstr "打字機屬性" + +#: part/annotationpropertiesdialog.cpp:113 +#, kde-format +msgid "Inline Note Properties" +msgstr "文內備註屬性" + +#: part/annotationpropertiesdialog.cpp:119 +#, kde-format +msgid "Straight Line Properties" +msgstr "直線屬性" + +#: part/annotationpropertiesdialog.cpp:121 +#, kde-format +msgid "Polygon Properties" +msgstr "五角形屬性" + +#: part/annotationpropertiesdialog.cpp:125 +#, kde-format +msgid "Geometry Properties" +msgstr "幾何圖形屬性" + +#: part/annotationpropertiesdialog.cpp:128 +#, kde-format +msgid "Text Markup Properties" +msgstr "文字標記屬性" + +#: part/annotationpropertiesdialog.cpp:131 +#, kde-format +msgid "Stamp Properties" +msgstr "印花屬性" + +#: part/annotationpropertiesdialog.cpp:134 +#, kde-format +msgid "Freehand Line Properties" +msgstr "手繪線條屬性" + +#: part/annotationpropertiesdialog.cpp:137 +#, kde-format +msgid "Caret Properties" +msgstr "符號屬性" + +#: part/annotationpropertiesdialog.cpp:140 +#, kde-format +msgid "File Attachment Properties" +msgstr "附加檔案屬性" + +#: part/annotationpropertiesdialog.cpp:143 +#, kde-format +msgid "Sound Properties" +msgstr "音效屬性" + +#: part/annotationpropertiesdialog.cpp:146 +#, kde-format +msgid "Movie Properties" +msgstr "電影屬性" + +#: part/annotationpropertiesdialog.cpp:149 +#, kde-format +msgid "Annotation Properties" +msgstr "註記屬性" + +#: part/annotationwidgets.cpp:57 +#, kde-format +msgctxt "@info:tooltip" +msgid "Select a custom stamp symbol from file" +msgstr "從檔案選取自訂印花標記" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgctxt "@title:window file chooser" +msgid "Select custom stamp symbol" +msgstr "選取自訂印花標記" + +#: part/annotationwidgets.cpp:154 +#, kde-format +msgid "" +"*.ico *.png *.xpm *.svg *.svgz | Icon Files (*.ico *.png *.xpm *.svg *.svgz)" +msgstr "" +"*.ico *.png *.xpm *.svg *.svgz | 圖示檔 (*.ico *.png *.xpm *.svg *.svgz)" + +#: part/annotationwidgets.cpp:158 +#, kde-kuit-format +msgctxt "@info" +msgid "Could not load the file %1" +msgstr "無法載入 %1 檔案" + +#: part/annotationwidgets.cpp:158 +#, kde-format +msgctxt "@title:window" +msgid "Invalid file" +msgstr "檔案無效" + +#: part/annotationwidgets.cpp:265 +#, kde-format +msgid "&Color:" +msgstr "顏色(&C):" + +#: part/annotationwidgets.cpp:274 part/editdrawingtooldialog.cpp:74 +#, kde-format +msgctxt "@label:spinbox Suffix for the opacity level, e.g. '80%'" +msgid "%v%" +msgstr "%v%" + +#: part/annotationwidgets.cpp:275 part/editdrawingtooldialog.cpp:68 +#, kde-format +msgid "&Opacity:" +msgstr "不透明度(&O):" + +#: part/annotationwidgets.cpp:363 +#, kde-format +msgid "Icon:" +msgstr "圖示:" + +#: part/annotationwidgets.cpp:364 +#, kde-format +msgid "Comment" +msgstr "註解" + +#: part/annotationwidgets.cpp:365 +#, kde-format +msgid "Help" +msgstr "說明" + +#: part/annotationwidgets.cpp:366 +#, kde-format +msgid "Insert" +msgstr "插入" + +#: part/annotationwidgets.cpp:367 +#, kde-format +msgid "Key" +msgstr "鍵值" + +#: part/annotationwidgets.cpp:368 +#, kde-format +msgid "New paragraph" +msgstr "新段落" + +#: part/annotationwidgets.cpp:369 +#, kde-format +msgid "Note" +msgstr "備註" + +#: part/annotationwidgets.cpp:370 +#, kde-format +msgid "Paragraph" +msgstr "段落" + +#: part/annotationwidgets.cpp:378 +#, kde-format +msgid "Font:" +msgstr "字型:" + +#: part/annotationwidgets.cpp:387 +#, kde-format +msgid "Text &color:" +msgstr "文字顏色(&C):" + +#: part/annotationwidgets.cpp:394 +#, kde-format +msgid "&Align:" +msgstr "對齊(&A):" + +#: part/annotationwidgets.cpp:395 +#, kde-format +msgid "Left" +msgstr "向左" + +#: part/annotationwidgets.cpp:396 +#, kde-format +msgid "Center" +msgstr "置中" + +#: part/annotationwidgets.cpp:397 +#, kde-format +msgid "Right" +msgstr "向右" + +#: part/annotationwidgets.cpp:405 +#, kde-format +msgid "Border &width:" +msgstr "邊框寬度(&W):" + +#: part/annotationwidgets.cpp:414 +#, kde-format +msgid "Approved" +msgstr "已批准" + +#: part/annotationwidgets.cpp:415 +#, kde-format +msgid "As Is" +msgstr "保持原樣" + +#: part/annotationwidgets.cpp:416 +#, kde-format +msgid "Confidential" +msgstr "機密" + +#: part/annotationwidgets.cpp:417 +#, kde-format +msgid "Departmental" +msgstr "部門" + +#: part/annotationwidgets.cpp:418 +#, kde-format +msgid "Draft" +msgstr "草稿" + +#: part/annotationwidgets.cpp:419 +#, kde-format +msgid "Experimental" +msgstr "實驗性" + +#: part/annotationwidgets.cpp:420 +#, kde-format +msgid "Expired" +msgstr "已過期" + +#: part/annotationwidgets.cpp:421 +#, kde-format +msgid "Final" +msgstr "完成" + +#: part/annotationwidgets.cpp:422 +#, kde-format +msgid "For Comment" +msgstr "註解用" + +#: part/annotationwidgets.cpp:423 +#, kde-format +msgid "For Public Release" +msgstr "公開發行用" + +#: part/annotationwidgets.cpp:424 +#, kde-format +msgid "Not Approved" +msgstr "未批准" + +#: part/annotationwidgets.cpp:425 +#, kde-format +msgid "Not For Public Release" +msgstr "不可公開發行" + +#: part/annotationwidgets.cpp:426 +#, kde-format +msgid "Sold" +msgstr "已售出" + +#: part/annotationwidgets.cpp:427 +#, kde-format +msgid "Top Secret" +msgstr "最高機密" + +#: part/annotationwidgets.cpp:428 +#, kde-format +msgid "Bookmark" +msgstr "書籤" + +#: part/annotationwidgets.cpp:429 +#, kde-format +msgid "Information" +msgstr "資訊" + +#: part/annotationwidgets.cpp:430 +#, kde-format +msgid "KDE" +msgstr "KDE" + +#: part/annotationwidgets.cpp:451 +#, kde-format +msgid "Stamp symbol:" +msgstr "印花標記:" + +#: part/annotationwidgets.cpp:499 part/annotationwidgets.cpp:561 +#: part/annotationwidgets.cpp:624 part/annotationwidgets.cpp:698 +#: part/annotationwidgets.cpp:777 +#, kde-format +msgid "&Width:" +msgstr "寬度(&W):" + +#: part/annotationwidgets.cpp:504 +#, kde-format +msgid "Line start:" +msgstr "行開頭:" + +#: part/annotationwidgets.cpp:506 +#, kde-format +msgid "Line end:" +msgstr "行結尾:" + +#: part/annotationwidgets.cpp:509 +#, kde-format +msgid "Square" +msgstr "正方形" + +#: part/annotationwidgets.cpp:510 +#, kde-format +msgid "Circle" +msgstr "圓形" + +#: part/annotationwidgets.cpp:511 +#, kde-format +msgid "Diamond" +msgstr "鑽石" + +#: part/annotationwidgets.cpp:512 +#, kde-format +msgid "Open Arrow" +msgstr "開放箭頭" + +#: part/annotationwidgets.cpp:513 +#, kde-format +msgid "Closed Arrow" +msgstr "閉合箭頭" + +#: part/annotationwidgets.cpp:514 +#, kde-format +msgid "None" +msgstr "無" + +#: part/annotationwidgets.cpp:515 +#, kde-format +msgid "Butt" +msgstr "對縫" + +#: part/annotationwidgets.cpp:516 +#, kde-format +msgid "Right Open Arrow" +msgstr "右指開放箭頭" + +#: part/annotationwidgets.cpp:517 +#, kde-format +msgid "Right Closed Arrow" +msgstr "右指閉合箭頭" + +#: part/annotationwidgets.cpp:518 +#, kde-format +msgid "Slash" +msgstr "斜線" + +#: part/annotationwidgets.cpp:531 +#, kde-format +msgid "Leader line length:" +msgstr "首線條長度:" + +#: part/annotationwidgets.cpp:533 +#, kde-format +msgid "Leader line extensions length:" +msgstr "首線條延伸長度:" + +#: part/annotationwidgets.cpp:547 part/annotationwidgets.cpp:691 +#, kde-format +msgid "Enabled" +msgstr "已啟用" + +#: part/annotationwidgets.cpp:551 part/annotationwidgets.cpp:695 +#, kde-format +msgid "Shape fill:" +msgstr "圖形填充:" + +#: part/annotationwidgets.cpp:651 part/annotationwidgets.cpp:685 +#, kde-format +msgid "Type:" +msgstr "類型:" + +#: part/annotationwidgets.cpp:656 part/pageviewannotator.cpp:1491 +#, kde-format +msgid "Strike out" +msgstr "刪除線" + +#: part/annotationwidgets.cpp:745 +#, kde-format +msgid "File attachment symbol:" +msgstr "檔案附件符號:" + +#: part/annotationwidgets.cpp:748 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Graph" +msgstr "圖形" + +#: part/annotationwidgets.cpp:749 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Push Pin" +msgstr "圖釘" + +#: part/annotationwidgets.cpp:750 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Paperclip" +msgstr "迴紋針" + +#: part/annotationwidgets.cpp:751 +#, kde-format +msgctxt "Symbol for file attachment annotations" +msgid "Tag" +msgstr "標籤" + +#: part/annotationwidgets.cpp:760 +#, kde-format +msgctxt "'File' as normal file, that can be opened, saved, etc.." +msgid "File" +msgstr "檔案" + +#: part/annotationwidgets.cpp:764 part/embeddedfilesdialog.cpp:90 +#, kde-format +msgctxt "Not available size" +msgid "N/A" +msgstr "無" + +#: part/annotationwidgets.cpp:765 +#, kde-format +msgid "No description available." +msgstr "沒有可用的描述。" + +#: part/annotationwidgets.cpp:773 +#, kde-format +msgid "Name:" +msgstr "名稱:" + +#: part/annotationwidgets.cpp:784 +#, kde-format +msgid "Description:" +msgstr "描述:" + +#: part/annotationwidgets.cpp:843 +#, kde-format +msgid "Caret symbol:" +msgstr "符號標記:" + +#: part/annotationwidgets.cpp:845 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "None" +msgstr "無" + +#: part/annotationwidgets.cpp:846 +#, kde-format +msgctxt "Symbol for caret annotations" +msgid "P" +msgstr "P" + +#: part/annotwindow.cpp:53 +#, kde-format +msgid "Close this note" +msgstr "關閉此通知" + +#: part/annotwindow.cpp:96 part/findbar.cpp:63 +#, kde-format +msgid "Options" +msgstr "選項" + +#: part/annotwindow.cpp:107 +#, kde-format +msgid "" +"This annotation may contain LaTeX code.\n" +"Click here to render." +msgstr "" +"這個註記可能包含 LaTeX 的代碼。\n" +"點擊此處以成像。" + +#: part/annotwindow.cpp:439 +#, kde-format +msgid "Cannot find latex executable." +msgstr "找不到 latex 執行檔。" + +#: part/annotwindow.cpp:439 part/annotwindow.cpp:444 part/annotwindow.cpp:449 +#: part/annotwindow.cpp:454 +#, kde-format +msgid "LaTeX rendering failed" +msgstr "LaTeX 成像失敗" + +#: part/annotwindow.cpp:444 +#, kde-format +msgid "Cannot find dvipng executable." +msgstr "找不到 dvipng 執行檔。" + +#: part/annotwindow.cpp:449 +#, kde-format +msgid "A problem occurred during the execution of the 'latex' command." +msgstr "執行 'latex' 指令時發生錯誤。" + +#: part/annotwindow.cpp:454 +#, kde-format +msgid "A problem occurred during the execution of the 'dvipng' command." +msgstr "執行 'dvipng' 指令時發生錯誤。" + +#: part/bookmarklist.cpp:116 +#, kde-format +msgctxt "%1 is the file name" +msgid "" +"%1\n" +"\n" +"One bookmark" +msgid_plural "" +"%1\n" +"\n" +"%2 bookmarks" +msgstr[0] "" +"%1\n" +"\n" +"%2 個書籤" + +#: part/bookmarklist.cpp:132 part/part.cpp:412 +#, kde-format +msgid "Bookmarks" +msgstr "書籤" + +#: part/bookmarklist.cpp:136 +#, kde-format +msgid "Show for all documents" +msgstr "為所有文件顯示" + +#: part/bookmarklist.cpp:143 part/searchwidget.cpp:38 part/side_reviews.cpp:129 +#: part/toc.cpp:43 +#, kde-format +msgid "Search…" +msgstr "搜尋…" + +#: part/bookmarklist.cpp:261 part/bookmarklist.cpp:295 part/part.cpp:3160 +#, kde-format +msgid "Expand All" +msgstr "全部展開" + +#: part/bookmarklist.cpp:262 part/bookmarklist.cpp:296 part/part.cpp:3161 +#, kde-format +msgid "Collapse All" +msgstr "全部收起" + +#: part/bookmarklist.cpp:263 +#, kde-format +msgid "Go to This Bookmark" +msgstr "跳到此書籤" + +#: part/bookmarklist.cpp:264 part/bookmarklist.cpp:301 part/part.cpp:705 +#: part/part.cpp:2460 +#, kde-format +msgid "Rename Bookmark" +msgstr "重新命名書籤" + +#: part/bookmarklist.cpp:299 +#, kde-format +msgctxt "Opens the selected document" +msgid "Open Document" +msgstr "開啟文件" + +#: part/bookmarklist.cpp:302 +#, kde-format +msgid "Remove all Bookmarks for this Document" +msgstr "移除這個文件的所有書籤" + +#: part/certificateviewer.cpp:47 +#, kde-format +msgid "Certificate Viewer" +msgstr "憑證檢視器" + +#: part/certificateviewer.cpp:50 +#, kde-format +msgid "Export…" +msgstr "匯出…" + +#: part/certificateviewer.cpp:56 part/preferencesdialog.cpp:41 +#, kde-format +msgid "General" +msgstr "一般" + +#: part/certificateviewer.cpp:58 +#, kde-format +msgid "Issued By" +msgstr "發行者" + +#: part/certificateviewer.cpp:61 part/certificateviewer.cpp:68 +#, kde-format +msgid "Common Name(CN)" +msgstr "通用名稱(CN)" + +#: part/certificateviewer.cpp:62 part/certificateviewer.cpp:69 +#, kde-format +msgid "EMail" +msgstr "電子郵件" + +#: part/certificateviewer.cpp:63 part/certificateviewer.cpp:70 +#, kde-format +msgid "Organization(O)" +msgstr "組織(O)" + +#: part/certificateviewer.cpp:65 +#, kde-format +msgid "Issued To" +msgstr "簽發給" + +#: part/certificateviewer.cpp:72 +#, kde-format +msgid "Validity" +msgstr "有效性" + +#: part/certificateviewer.cpp:78 +#, kde-format +msgid "Fingerprints" +msgstr "金鑰指紋" + +#: part/certificateviewer.cpp:87 +#, kde-format +msgid "SHA-1 Fingerprint" +msgstr "SHA-1 指紋" + +#: part/certificateviewer.cpp:88 +#, kde-format +msgid "SHA-256 Fingerprint" +msgstr "SHA-256 指紋" + +#: part/certificateviewer.cpp:106 +#, kde-format +msgid "Details" +msgstr "詳細資訊" + +#: part/certificateviewer.cpp:107 +#, kde-format +msgid "Certificate Data:" +msgstr "憑證資料:" + +#: part/certificateviewer.cpp:159 +#, kde-format +msgid "Where do you want to save this certificate?" +msgstr "此憑證的儲存位置為何?" + +#: part/certificateviewer.cpp:160 +#, kde-format +msgid "Certificate File (*.cer)" +msgstr "憑證檔案 (*.cer)" + +#: part/certificateviewer.cpp:163 +#, kde-format +msgid "Could not export the certificate" +msgstr "無法匯出憑證" + +#: part/colormodemenu.cpp:19 +#, kde-format +msgctxt "@title:menu" +msgid "&Color Mode" +msgstr "顏色模式(&C)" + +#: part/colormodemenu.cpp:21 +#, kde-format +msgctxt "@action Change Colors feature toggle action" +msgid "Change Colors" +msgstr "變更顏色" + +#: part/colormodemenu.cpp:29 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Normal Colors" +msgstr "一般顏色(&N)" + +#: part/colormodemenu.cpp:41 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "&Invert Colors" +msgstr "反轉顏色(&I)" + +#: part/colormodemenu.cpp:42 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Paper Color" +msgstr "變更紙張顏色(&P)" + +#: part/colormodemenu.cpp:44 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Change &Dark && Light Colors" +msgstr "變更暗與亮的顏色(&D)" + +#: part/colormodemenu.cpp:46 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Convert to &Black && White" +msgstr "轉換成黑白(&B)" + +#: part/colormodemenu.cpp:49 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert &Lightness" +msgstr "反轉亮度(&L)" + +#: part/colormodemenu.cpp:52 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert L&uma (sRGB Linear)" +msgstr "反轉 L&uma(sRGB 線性)" + +#: part/colormodemenu.cpp:55 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Invert Luma (&Symmetric)" +msgstr "反轉 Luma(對稱)(&S)" + +#: part/colormodemenu.cpp:58 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue P&ositive" +msgstr "色相正偏移(&O)" + +#: part/colormodemenu.cpp:61 +#, kde-format +msgctxt "@item:inmenu color mode" +msgid "Shift Hue N&egative" +msgstr "色相負偏移(&E)" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:11 +#, kde-format +msgid "Red" +msgstr "紅" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:16 +#, kde-format +msgid "Green" +msgstr "綠" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:21 +#, kde-format +msgid "Blue" +msgstr "藍" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:26 +#, kde-format +msgid "Yellow" +msgstr "黃" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:31 +#, kde-format +msgid "Black" +msgstr "黑" + +#. i18n: tag tool attribute name +#: part/data/drawingtools.xml:36 +#, kde-format +msgid "White" +msgstr "白" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:9 +#, kde-format +msgid "Yellow Highlighter" +msgstr "黃色螢光筆" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:14 +#, kde-format +msgid "Green Highlighter" +msgstr "綠色螢光筆" + +#. i18n: tag tool attribute name +#: part/data/toolsQuick.xml:24 +#, kde-format +msgid "Insert Text" +msgstr "插入文字" + +#: part/dlgaccessibility.cpp:38 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Draw border around links" +msgstr "在連結周圍繪製邊框" + +#: part/dlgaccessibility.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, accessibility page" +msgid "Change colors" +msgstr "變更顏色" + +#: part/dlgaccessibility.cpp:54 +#, kde-format +msgctxt "@info Config dialog, accessibility page" +msgid "Warning: these options can badly affect drawing speed." +msgstr "警告:這些選項可能會嚴重影響繪製速度。" + +#: part/dlgaccessibility.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert colors" +msgstr "反轉顏色" + +#: part/dlgaccessibility.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change paper color" +msgstr "變更紙張顏色" + +#: part/dlgaccessibility.cpp:62 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Change dark & light colors" +msgstr "變更暗與亮的顏色" + +#: part/dlgaccessibility.cpp:63 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Convert to black & white" +msgstr "轉換成黑白" + +#: part/dlgaccessibility.cpp:64 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert lightness" +msgstr "反轉亮度" + +#: part/dlgaccessibility.cpp:65 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (sRGB linear)" +msgstr "反轉 Luma(sRGB 線性)" + +#: part/dlgaccessibility.cpp:66 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Invert luma (symmetric)" +msgstr "反轉 Luma(對稱)" + +#: part/dlgaccessibility.cpp:67 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue positive" +msgstr "色相正偏移" + +#: part/dlgaccessibility.cpp:68 +#, kde-format +msgctxt "@item:inlistbox Config dialog, accessibility page" +msgid "Shift hue negative" +msgstr "色相負偏移" + +#: part/dlgaccessibility.cpp:70 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Color mode:" +msgstr "顏色模式:" + +#: part/dlgaccessibility.cpp:87 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Paper color:" +msgstr "紙張顏色:" + +#: part/dlgaccessibility.cpp:99 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Dark color:" +msgstr "暗的顏色:" + +#: part/dlgaccessibility.cpp:104 +#, kde-format +msgctxt "@label:chooser Config dialog, accessibility page" +msgid "Light color:" +msgstr "亮的顏色:" + +#: part/dlgaccessibility.cpp:119 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Threshold:" +msgstr "閾值:" + +#: part/dlgaccessibility.cpp:127 +#, kde-format +msgctxt "@label:slider Config dialog, accessibility page" +msgid "Contrast:" +msgstr "對比:" + +#: part/dlgaccessibility.cpp:158 +#, kde-format +msgctxt "@label:listbox Config dialog, accessibility page" +msgid "Text-to-speech engine:" +msgstr "文字轉語音引擎:" + +#: part/dlgaccessibility.cpp:165 +#, kde-format +msgctxt "&label:listbox Config dialog, accessibility page" +msgid "Text-to-speech voice:" +msgstr "文字轉語音嗓音:" + +#: part/dlgannotations.cpp:25 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Full Annotation Toolbar" +msgstr "完整註記工具列" + +#: part/dlgannotations.cpp:26 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Quick Annotation Toolbar" +msgstr "快速註記工具列" + +#: part/dlgannotations.cpp:28 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "Annotation toolbar:" +msgstr "註記工具列:" + +#: part/dlgannotations.cpp:34 +#, kde-format +msgctxt "@label:textbox Config dialog, annotations page" +msgid "Author:" +msgstr "作者:" + +#: part/dlgannotations.cpp:38 +#, kde-format +msgctxt "@info Config dialog, annotations page" +msgid "" +"Note: the information here is used only for annotations. The " +"information is saved in annotated documents, and so will be transmitted " +"together with the document." +msgstr "" +"注意:此處的資訊僅用於註記。資訊將會儲存在註記文件中,且會與文件一併送" +"出。" + +#: part/dlgannotations.cpp:48 +#, kde-format +msgctxt "" +"@label Config dialog, annotations page, heading line for Quick Annotations " +"tool manager" +msgid "

    Quick Annotation Tools

    " +msgstr "

    快速註記工具

    " + +#: part/dlgeditor.cpp:28 +#, kde-format +msgctxt "@info:whatsthis Config dialog, editor page" +msgid "" +"Choose the editor you want to launch when Okular wants to open a source file." +msgstr "選擇 Okular 要開啟源碼檔時要使用的編輯器。" + +#: part/dlgeditor.cpp:29 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Custom Text Editor" +msgstr "自訂文字編輯器" + +#: part/dlgeditor.cpp:30 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kate" +msgstr "Kate" + +#: part/dlgeditor.cpp:31 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Kile" +msgstr "Kile" + +#: part/dlgeditor.cpp:32 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "SciTE" +msgstr "SciTE" + +#: part/dlgeditor.cpp:33 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Emacs client" +msgstr "Emacs 用戶端" + +#: part/dlgeditor.cpp:34 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "Lyx client" +msgstr "Lyx 用戶端" + +#: part/dlgeditor.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXstudio" +msgstr "TeXstudio" + +#: part/dlgeditor.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, editor page" +msgid "TeXiFy IDEA" +msgstr "TeXiFy IDEA" + +#: part/dlgeditor.cpp:37 +#, kde-format +msgctxt "@label:listbox Config dialog, editor page" +msgid "Editor:" +msgstr "編輯器:" + +#: part/dlgeditor.cpp:52 +#, kde-format +msgctxt "@info:whatsthis" +msgid "" +"Set the command of a custom text editor to be launched.
    \n" +"You can also put few placeholders:\n" +"
      \n" +"
    • %f - the file name
    • \n" +"
    • %l - the line of the file to be reached
    • \n" +"
    • %c - the column of the file to be reached
    • \n" +"
    \n" +"If %f is not specified, then the file name is appended to the specified " +"command." +msgstr "" +"請設定要如何啟動自訂的文字編輯器。
    \n" +"
您可以用以下的置換符:\n" +"

      \n" +"

    • %f - 檔案名稱
    • \n" +"

    • %l - 要跳到檔案的第幾行
    • \n" +"

    • %c - 要跳到檔案的第幾欄
    • \n" +"

    \n" +"
若未指定 %f,則檔名會附加在指令的後面。" + +#: part/dlgeditor.cpp:63 +#, kde-format +msgctxt "@label:textbox Config dialog, editor page" +msgid "Command:" +msgstr "指令:" + +#: part/dlggeneral.cpp:35 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Use smooth scrolling" +msgstr "使用平滑捲動" + +#: part/dlggeneral.cpp:37 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Appearance:" +msgstr "外觀:" + +#: part/dlggeneral.cpp:41 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show scrollbars" +msgstr "顯示捲軸列" + +#: part/dlggeneral.cpp:48 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Link the thumbnails with the page" +msgstr "將縮圖與頁面連結" + +#: part/dlggeneral.cpp:55 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show hints and info messages" +msgstr "顯示提示與資訊訊息" + +#: part/dlggeneral.cpp:61 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Notify about embedded files, forms, or signatures" +msgstr "有嵌入檔案、表單或簽名時通知" + +#: part/dlggeneral.cpp:68 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Display document title in titlebar if available" +msgstr "可用時在標題列顯示文件標題" + +#: part/dlggeneral.cpp:74 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display file name only" +msgstr "只顯示檔案名稱" + +#: part/dlggeneral.cpp:75 +#, kde-format +msgctxt "item:inlistbox Config dialog, general page" +msgid "Display full file path" +msgstr "顯示檔案完整路徑" + +#: part/dlggeneral.cpp:77 +#, kde-format +msgctxt "label:listbox Config dialog, general page" +msgid "When not displaying document title:" +msgstr "沒有在顯示文件標題時:" + +#: part/dlggeneral.cpp:92 +#, kde-format +msgctxt "@label:listbox Config dialog, general page" +msgid "Use custom background color:" +msgstr "使用自訂背景顏色:" + +#: part/dlggeneral.cpp:114 +#, kde-format +msgctxt "@title:group Config dialog, general page" +msgid "Program features:" +msgstr "程式功能:" + +#: part/dlggeneral.cpp:121 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open new files in tabs" +msgstr "在分頁開啟新檔案" + +#: part/dlggeneral.cpp:126 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Switch to existing tab if file is already open" +msgstr "如果檔案已經開啟,則切換至現存分頁" + +#: part/dlggeneral.cpp:139 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Obey DRM limitations" +msgstr "遵循 DRM 限制" + +#: part/dlggeneral.cpp:148 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Reload document on file change" +msgstr "檔案變更時重新載入文件" + +#: part/dlggeneral.cpp:155 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Show backend selection dialog" +msgstr "顯示後端介面選取對話框" + +#: part/dlggeneral.cpp:162 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Right to left reading direction" +msgstr "右到左閱讀方向" + +#: part/dlggeneral.cpp:168 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "" +"Use file information to determine whether to open in continuous mode by " +"default" +msgstr "使用檔案資訊來判斷是否預設使用連續模式開啟" + +#: part/dlggeneral.cpp:178 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "For files without file information, open in continuous mode by default" +msgstr "對於沒有提供資訊的檔案,預設以連續模式開啟" + +#: part/dlggeneral.cpp:180 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "Open in continuous mode by default" +msgstr "預設以連續模式開啟" + +#: part/dlggeneral.cpp:190 +#, kde-format +msgctxt "@option:check Config dialog, general page" +msgid "When using Browse Tool, wrap cursor at screen edges" +msgstr "使用瀏覽工具時,讓游標抵達螢幕邊緣時從另一側出現" + +#: part/dlggeneral.cpp:198 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Items in recent history:" +msgstr "要記住幾個最近使用的項目:" + +#: part/dlggeneral.cpp:213 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Overview columns:" +msgstr "概觀行數:" + +#: part/dlggeneral.cpp:220 +#, kde-format +msgctxt "@item:spinbox Config dialog, general page, page overlap factor" +msgid "%v%" +msgstr "%v%" + +#: part/dlggeneral.cpp:221 +#, kde-format +msgctxt "@info:tooltip Config dialog, general page" +msgid "" +"Defines how much of the current viewing area will still be visible when " +"pressing the Page Up/Down keys." +msgstr "定義在按下 Page Up 或 Page Down 按鍵時,目前檢視區域要保留多少。" + +#: part/dlggeneral.cpp:223 +#, kde-format +msgctxt "@label:spinbox Config dialog, general page" +msgid "Page Up/Down overlap:" +msgstr "Page Up/Page Down 重疊區域:" + +#: part/dlggeneral.cpp:228 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, custom zoom factor" +msgid "%v%" +msgstr "%v%" + +#: part/dlggeneral.cpp:232 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "100%" +msgstr "100%" + +#: part/dlggeneral.cpp:233 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Width" +msgstr "符合寬度" + +#: part/dlggeneral.cpp:234 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Fit Page" +msgstr "符合頁面" + +#: part/dlggeneral.cpp:235 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Auto Fit" +msgstr "自動調適" + +#: part/dlggeneral.cpp:236 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "Custom" +msgstr "自訂" + +#: part/dlggeneral.cpp:237 +#, kde-format +msgctxt "@item:inlistbox Config dialog, general page, default zoom" +msgid "" +"Defines the default zoom mode for files which were never opened before. For " +"files which were opened before the previous zoom is applied." +msgstr "" +"定義從未開啟過的檔案的預設縮放模式。已開啟過的檔案會套用上次使用時的縮放。" + +#: part/dlggeneral.cpp:241 +#, kde-format +msgctxt "label:listbox Config dialog, general page, default zoom" +msgid "Default zoom:" +msgstr "預設縮放:" + +#: part/dlgperformance.cpp:26 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable transparency effects" +msgstr "啟用透明效果" + +#: part/dlgperformance.cpp:28 +#, kde-format +msgctxt "@label Config dialog, performance page" +msgid "CPU usage:" +msgstr "CPU 使用量:" + +#: part/dlgperformance.cpp:35 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Low" +msgstr "低" + +#: part/dlgperformance.cpp:36 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Normal (default)" +msgstr "正常(預設)" + +#: part/dlgperformance.cpp:37 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Aggressive" +msgstr "高" + +#: part/dlgperformance.cpp:38 +#, kde-format +msgctxt "@item:inlistbox Config dialog, performance page, memory usage" +msgid "Greedy" +msgstr "非常高" + +#: part/dlgperformance.cpp:40 +#, kde-format +msgctxt "@label:listbox Config dialog, performance page, memory usage" +msgid "Memory usage:" +msgstr "記憶體用量:" + +#: part/dlgperformance.cpp:54 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text antialias" +msgstr "啟用文字反鋸齒" + +# 前後文應該看得出來「繪製」是指軟體算圖的部分。不寫「算圖」是因為寫算圖也不夠清楚說主詞是軟體而不是使用者。 +#: part/dlgperformance.cpp:56 +#, kde-format +msgctxt "@title:group Config dialog, performance page" +msgid "Rendering options:" +msgstr "繪製選項:" + +#: part/dlgperformance.cpp:59 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable graphics antialias" +msgstr "啟用圖形反鋸齒" + +#: part/dlgperformance.cpp:64 +#, kde-format +msgctxt "@option:check Config dialog, performance page" +msgid "Enable text hinting" +msgstr "啟用文字提示" + +#: part/dlgperformance.cpp:77 +#, kde-format +msgid "" +"Keeps used memory as low as possible. Do not reuse anything. (For systems " +"with low memory.)" +msgstr "" +"盡量減少記憶體使用量。不要重複使用任何東西。(給記憶體較少的系統用的。)" + +#: part/dlgperformance.cpp:80 +#, kde-format +msgid "" +"A good compromise between memory usage and speed gain. Preload next page and " +"boost searches. (For systems with 2GB of memory, typically.)" +msgstr "" +"這是記憶體使用量與速度增益的折衷方案。預先載入下一頁並加速搜尋。(給 2 GB 左" +"右記憶體的系統用的。)" + +#: part/dlgperformance.cpp:83 +#, kde-format +msgid "" +"Keeps everything in memory. Preload next pages. Boost searches. (For systems " +"with more than 4GB of memory.)" +msgstr "" +"盡量在記憶體中保留每個東西。預先載入下一頁並加速搜尋。(給超過 4 GB 記憶體的" +"系統用的。)" + +#: part/dlgperformance.cpp:87 +#, no-c-format, kde-format +msgid "" +"Loads and keeps everything in memory. Preload all pages. (Will use at " +"maximum 50% of your total memory or your free memory, whatever is bigger.)" +msgstr "" +"將所有的東西載入記憶體並保存。預先載入所有的頁面。(最多可能會使用到您所有或" +"可使用的記憶體的 50%。)" + +#: part/dlgpresentation.cpp:38 +#, kde-format +msgctxt "@label:spinbox Advance automatically: Every n second" +msgid "every %v second" +msgid_plural "every %v seconds" +msgstr[0] "每 %v 秒" + +#: part/dlgpresentation.cpp:45 +#, kde-format +msgctxt "@label:spinbox Config dialog, presentation page" +msgid "Advance automatically:" +msgstr "自動前進:" + +#: part/dlgpresentation.cpp:53 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Loop after last page" +msgstr "到最後一頁之後循環播放" + +#: part/dlgpresentation.cpp:59 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap left/right side to go back/forward" +msgstr "輕點左側/右側以返回/前進移動" + +#: part/dlgpresentation.cpp:60 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Tap anywhere to go forward" +msgstr "輕點任何地方來前進" + +#: part/dlgpresentation.cpp:61 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, tap navigation" +msgid "Disabled" +msgstr "已停用" + +#: part/dlgpresentation.cpp:63 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, tap navigation" +msgid "Touch navigation:" +msgstr "觸控導覽:" + +#: part/dlgpresentation.cpp:72 +#, kde-format +msgctxt "@label:chooser Config dialog, presentation page" +msgid "Background color:" +msgstr "背景顏色:" + +#: part/dlgpresentation.cpp:76 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Hidden after delay" +msgstr "一段時間後隱藏" + +#: part/dlgpresentation.cpp:77 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always visible" +msgstr "永遠可見" + +#: part/dlgpresentation.cpp:78 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, cursor visibility" +msgid "Always hidden" +msgstr "永遠隱藏" + +#: part/dlgpresentation.cpp:80 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, cursor visibility" +msgid "Mouse cursor:" +msgstr "滑鼠游標:" + +#: part/dlgpresentation.cpp:84 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show progress indicator" +msgstr "顯示進度指示器" + +#: part/dlgpresentation.cpp:90 +#, kde-format +msgctxt "@option:check Config dialog, presentation page" +msgid "Show summary page" +msgstr "顯示摘要頁" + +#: part/dlgpresentation.cpp:100 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Instant (Never use animations)" +msgstr "即時(不使用特效)" + +#: part/dlgpresentation.cpp:101 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Replace" +msgstr "取代" + +#: part/dlgpresentation.cpp:102 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Random transition" +msgstr "隨機特效" + +#: part/dlgpresentation.cpp:103 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds vertical" +msgstr "垂直百頁簾" + +#: part/dlgpresentation.cpp:104 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Blinds horizontal" +msgstr "水平百頁簾" + +#: part/dlgpresentation.cpp:105 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box in" +msgstr "矩形內收" + +#: part/dlgpresentation.cpp:106 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Box out" +msgstr "矩形外擴" + +#: part/dlgpresentation.cpp:107 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Dissolve" +msgstr "溶解" + +#: part/dlgpresentation.cpp:108 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Fade" +msgstr "淡出" + +#: part/dlgpresentation.cpp:109 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter down" +msgstr "向下閃爍" + +#: part/dlgpresentation.cpp:110 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right" +msgstr "向右閃爍" + +#: part/dlgpresentation.cpp:111 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Glitter right-down" +msgstr "向右下閃爍" + +#: part/dlgpresentation.cpp:112 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal in" +msgstr "左右合擊" + +#: part/dlgpresentation.cpp:113 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split horizontal out" +msgstr "左右分離" + +#: part/dlgpresentation.cpp:114 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical in" +msgstr "上下合擊" + +#: part/dlgpresentation.cpp:115 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Split vertical out" +msgstr "上下分離" + +#: part/dlgpresentation.cpp:116 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe down" +msgstr "往下滑動" + +#: part/dlgpresentation.cpp:117 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe right" +msgstr "往右滑動" + +#: part/dlgpresentation.cpp:118 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe left" +msgstr "往左滑動" + +#: part/dlgpresentation.cpp:119 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, transitions" +msgid "Wipe up" +msgstr "往上滑動" + +#: part/dlgpresentation.cpp:121 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, transitions" +msgid "Default transition:" +msgstr "預設換頁特效:" + +#: part/dlgpresentation.cpp:130 +#, kde-format +msgctxt "@label:listbox Config dialog, presentation page, preferred screen" +msgid "Preferred screen:" +msgstr "偏好螢幕:" + +#: part/dlgpresentation.cpp:137 +#, kde-format +msgctxt "" +"@label Config dialog, presentation page, heading line for drawing tool " +"manager" +msgid "

    Drawing Tools

    " +msgstr "

    繪製工具

    " + +#: part/dlgpresentation.cpp:171 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Current Screen" +msgstr "目前螢幕" + +#: part/dlgpresentation.cpp:172 +#, kde-format +msgctxt "@item:inlistbox Config dialog, presentation page, preferred screen" +msgid "Default Screen" +msgstr "預設螢幕" + +#: part/dlgpresentation.cpp:178 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...). %2 is the screen manufacturer name. %3 is the " +"screen model name. %4 is the screen name like DVI-0" +msgid "Screen %1 (%2 %3 %4)" +msgstr "螢幕 %1 (%2 %3 %4)" + +#: part/dlgpresentation.cpp:190 +#, kde-format +msgctxt "" +"@item:inlistbox Config dialog, presentation page, preferred screen. %1 is " +"the screen number (0, 1, ...), hopefully not 0." +msgid "Screen %1 (disconnected)" +msgstr "螢幕 %1(已拔出)" + +#: part/drawingtoolactions.cpp:192 +#, kde-format +msgid "Drawing Tool: %1" +msgstr "繪製工具:%1" + +#: part/drawingtoolactions.cpp:214 part/drawingtoolactions.cpp:215 +#, kde-format +msgid "Eraser" +msgstr "擦除器" + +#: part/editannottooldialog.cpp:59 part/editdrawingtooldialog.cpp:44 +#, kde-format +msgid "&Name:" +msgstr "名稱(&N):" + +#: part/editannottooldialog.cpp:69 +#, kde-format +msgid "&Type:" +msgstr "類型(&T):" + +#: part/editannottooldialog.cpp:82 +#, kde-format +msgid "Appearance" +msgstr "外觀" + +#: part/editannottooldialog.cpp:93 +#, kde-format +msgid "Text markup" +msgstr "文字標記" + +#: part/editannottooldialog.cpp:94 +#, kde-format +msgid "Geometrical shape" +msgstr "幾何形狀" + +#: part/editannottooldialog.cpp:101 +#, kde-format +msgid "Create annotation tool" +msgstr "建立註記工具" + +#: part/editannottooldialog.cpp:103 +#, kde-format +msgid "Edit annotation tool" +msgstr "編輯註記工具" + +#: part/editdrawingtooldialog.cpp:51 +#, kde-format +msgid "Color:" +msgstr "顏色:" + +#: part/editdrawingtooldialog.cpp:58 +#, kde-format +msgid "&Pen Width:" +msgstr "筆寬(&P):" + +#: part/editdrawingtooldialog.cpp:64 +#, kde-format +msgctxt "@label:spinbox Suffix for the pen width, e.g. '10 px'" +msgid "%v px" +msgstr "%v 像素" + +#: part/editdrawingtooldialog.cpp:79 +#, kde-format +msgid "Create drawing tool" +msgstr "建立繪製工具" + +#: part/editdrawingtooldialog.cpp:84 +#, kde-format +msgid "Edit drawing tool" +msgstr "編輯繪製工具" + +#: part/embeddedfilesdialog.cpp:42 +#, kde-format +msgctxt "Unknown date" +msgid "Unknown" +msgstr "未知" + +#: part/embeddedfilesdialog.cpp:48 +#, kde-format +msgctxt "@title:window" +msgid "Embedded Files" +msgstr "嵌入式檔案" + +#: part/embeddedfilesdialog.cpp:62 +#, kde-format +msgctxt "@action:button" +msgid "View" +msgstr "檢視" + +#: part/embeddedfilesdialog.cpp:70 +#, kde-format +msgctxt "@title:column" +msgid "Name" +msgstr "名稱" + +#: part/embeddedfilesdialog.cpp:71 +#, kde-format +msgctxt "@title:column" +msgid "Description" +msgstr "描述" + +#: part/embeddedfilesdialog.cpp:72 +#, kde-format +msgctxt "@title:column" +msgid "Size" +msgstr "大小" + +#: part/embeddedfilesdialog.cpp:73 +#, kde-format +msgctxt "@title:column" +msgid "Created" +msgstr "已建立" + +#: part/embeddedfilesdialog.cpp:74 +#, kde-format +msgctxt "@title:column" +msgid "Modified" +msgstr "已修改" + +#: part/embeddedfilesdialog.cpp:154 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Save As…" +msgstr "另存新檔(&S)…" + +#: part/embeddedfilesdialog.cpp:155 +#, kde-format +msgctxt "@action:inmenu" +msgid "&View…" +msgstr "檢視(&V)…" + +#: part/fileprinterpreview.cpp:113 +#, kde-format +msgid "Could not load print preview part" +msgstr "無法載入列印預覽部件" + +#: part/fileprinterpreview.cpp:125 +#, kde-format +msgid "Print Preview" +msgstr "列印預覽" + +#: part/findbar.cpp:34 part/presentationsearchbar.cpp:63 +#, kde-format +msgid "Close" +msgstr "關閉" + +#: part/findbar.cpp:38 +#, kde-format +msgctxt "Find text" +msgid "F&ind:" +msgstr "尋找(&I):" + +#: part/findbar.cpp:49 +#, kde-format +msgid "Text to search for" +msgstr "要搜尋的文字" + +#: part/findbar.cpp:54 +#, kde-format +msgctxt "Find and go to the next search match" +msgid "Next" +msgstr "下一個" + +#: part/findbar.cpp:55 +#, kde-format +msgid "Jump to next match" +msgstr "跳到下一個符合" + +#: part/findbar.cpp:58 +#, kde-format +msgctxt "Find and go to the previous search match" +msgid "Previous" +msgstr "前一個" + +#: part/findbar.cpp:59 +#, kde-format +msgid "Jump to previous match" +msgstr "跳到前一個符合" + +#: part/findbar.cpp:64 +#, kde-format +msgid "Modify search behavior" +msgstr "變更搜尋行為" + +#: part/findbar.cpp:66 +#, kde-format +msgid "Case sensitive" +msgstr "區分大小寫" + +#: part/findbar.cpp:68 +#, kde-format +msgid "From current page" +msgstr "從目前的頁面" + +#: part/findbar.cpp:70 +#, kde-format +msgid "Find as you type" +msgstr "輸入時尋找" + +#: part/formwidgets.cpp:870 +#, kde-format +msgid "All Files (*)" +msgstr "所有檔案 (*)" + +#: part/formwidgets.cpp:1280 +#, kde-format +msgctxt "Digital signature" +msgid "Signature placeholder (Click to Sign)" +msgstr "簽名佔位欄位(點擊以簽名)" + +#: part/formwidgets.cpp:1346 part/signaturepanel.cpp:97 +#, kde-format +msgid "&Sign…" +msgstr "簽署(&S)…" + +#: part/formwidgets.cpp:1350 part/signaturepropertiesdialog.cpp:43 +#, kde-format +msgid "Signature Properties" +msgstr "簽名屬性" + +#: part/ktreeviewsearchline.cpp:283 +#, kde-format +msgid "Search Options" +msgstr "搜尋選項" + +#: part/ktreeviewsearchline.cpp:284 +#, kde-format +msgctxt "Enable case sensitive search in the side navigation panels" +msgid "Case Sensitive" +msgstr "區分大小寫" + +#: part/ktreeviewsearchline.cpp:287 +#, kde-format +msgctxt "Enable regular expression search in the side navigation panels" +msgid "Regular Expression" +msgstr "正則表達式" + +#: part/layers.cpp:35 part/part.cpp:2308 +#, kde-format +msgid "Layers" +msgstr "圖層" + +#: part/minibar.cpp:190 +#, kde-format +msgctxt "Layouted like: '5 [pages] of 10'" +msgid "of" +msgstr " 總共 " + +#: part/pageview.cpp:507 +#, kde-format +msgid "Zoom" +msgstr "縮放" + +#: part/pageview.cpp:519 +#, kde-format +msgid "Zoom to 100%" +msgstr "縮放至 100%" + +#: part/pageview.cpp:530 +#, kde-format +msgid "Rotate &Right" +msgstr "向右旋轉(&R)" + +#: part/pageview.cpp:531 +#, kde-format +msgctxt "Rotate right" +msgid "Right" +msgstr "向右" + +#: part/pageview.cpp:535 +#, kde-format +msgid "Rotate &Left" +msgstr "向左旋轉(&L)" + +#: part/pageview.cpp:536 +#, kde-format +msgctxt "Rotate left" +msgid "Left" +msgstr "向左" + +#: part/pageview.cpp:540 +#, kde-format +msgid "Original Orientation" +msgstr "原始方向" + +#: part/pageview.cpp:546 +#, kde-format +msgid "&Trim View" +msgstr "修剪檢視(&T)" + +#: part/pageview.cpp:550 +#, kde-format +msgid "&Trim Margins" +msgstr "修剪邊界(&T)" + +#: part/pageview.cpp:557 +#, kde-format +msgid "Trim To &Selection" +msgstr "修剪至選取的部份(&S)" + +#: part/pageview.cpp:563 +#, kde-format +msgid "Fit &Width" +msgstr "符合寬度(&W)" + +#: part/pageview.cpp:567 +#, kde-format +msgid "Fit &Page" +msgstr "符合頁面(&P)" + +#: part/pageview.cpp:571 +#, kde-format +msgid "&Auto Fit" +msgstr "自動調適(&A)" + +#: part/pageview.cpp:575 +#, kde-format +msgid "Fit Wi&ndow to Page" +msgstr "讓視窗大小符合頁面(&N)" + +#: part/pageview.cpp:582 +#, kde-format +msgid "&View Mode" +msgstr "檢視模式(&V)" + +#: part/pageview.cpp:594 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Single Page" +msgstr "單頁(&S)" + +#: part/pageview.cpp:595 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Facing Pages" +msgstr "雙頁(&F)" + +#: part/pageview.cpp:596 +#, kde-format +msgctxt "@item:inmenu" +msgid "Facing Pages (&Center First Page)" +msgstr "雙頁(第一頁置中)(&C)" + +#: part/pageview.cpp:599 +#, kde-format +msgctxt "@item:inmenu" +msgid "&Overview" +msgstr "概觀(&O)" + +#: part/pageview.cpp:611 +#, kde-format +msgid "&Continuous" +msgstr "連續(&C)" + +#: part/pageview.cpp:618 +#, kde-format +msgctxt "@action page layout" +msgid "Use Right to Left Reading Direction" +msgstr "使用右到左閱讀方向" + +#: part/pageview.cpp:627 +#, kde-format +msgid "&Browse" +msgstr "瀏覽(&B)" + +#: part/pageview.cpp:635 +#, kde-format +msgid "&Zoom" +msgstr "縮放(&Z)" + +#: part/pageview.cpp:655 +#, kde-format +msgid "Area &Selection" +msgstr "區域選擇(&S)" + +#: part/pageview.cpp:662 +#, kde-format +msgid "&Text Selection" +msgstr "文字選擇(&T)" + +#: part/pageview.cpp:669 +#, kde-format +msgid "T&able Selection" +msgstr "表格選擇(&A)" + +#: part/pageview.cpp:676 +#, kde-format +msgid "&Magnifier" +msgstr "放大鏡(&M)" + +#: part/pageview.cpp:685 +#, kde-format +msgctxt "@action" +msgid "Selection Tools" +msgstr "選擇工具" + +#: part/pageview.cpp:711 +#, kde-format +msgid "Digitally &Sign…" +msgstr "數位簽署(&S)…" + +#: part/pageview.cpp:717 +#, kde-format +msgid "Speak Whole Document" +msgstr "唸出整份文件" + +#: part/pageview.cpp:722 +#, kde-format +msgid "Speak From Current Page" +msgstr "從目前的頁面開始唸出文字" + +#: part/pageview.cpp:727 +#, kde-format +msgid "Speak Current Page" +msgstr "唸出目前的頁面" + +#: part/pageview.cpp:732 +#, kde-format +msgid "Stop Speaking" +msgstr "停止語音" + +#: part/pageview.cpp:737 +#, kde-format +msgid "Pause/Resume Speaking" +msgstr "暫停/繼續說話" + +#: part/pageview.cpp:749 +#, kde-format +msgid "Scroll Up" +msgstr "捲軸向上" + +#: part/pageview.cpp:755 +#, kde-format +msgid "Scroll Down" +msgstr "捲軸向下" + +#: part/pageview.cpp:761 +#, kde-format +msgid "Scroll Page Up" +msgstr "捲軸上一頁" + +#: part/pageview.cpp:767 +#, kde-format +msgid "Scroll Page Down" +msgstr "捲軸下一頁" + +#: part/pageview.cpp:773 +#, kde-format +msgid "Show Forms" +msgstr "顯示表單" + +#: part/pageview.cpp:1278 +#, kde-format +msgid " Loaded a one-page document." +msgid_plural " Loaded a %1-page document." +msgstr[0] "已載入一份 %1 頁的文件。" + +#: part/pageview.cpp:2526 +#, kde-format +msgid "Copy Table Contents to Clipboard" +msgstr "複製表格內容到剪貼簿" + +#: part/pageview.cpp:2845 +#, kde-format +msgid "Text (1 character)" +msgid_plural "Text (%1 characters)" +msgstr[0] "文字(%1 個字元)" + +#: part/pageview.cpp:2846 part/pageview.cpp:2864 +#, kde-format +msgid "Copy to Clipboard" +msgstr "複製到剪貼簿" + +#: part/pageview.cpp:2855 part/pageview.cpp:3046 +#, kde-format +msgid "Speak Text" +msgstr "唸出文字" + +#: part/pageview.cpp:2863 +#, kde-format +msgid "Image (%1 × %2 pixels)" +msgstr "Image (%1 × %2 像素)" + +#: part/pageview.cpp:2865 +#, kde-format +msgid "Save to File…" +msgstr "儲存到檔案…" + +#: part/pageview.cpp:2885 +#, kde-format +msgid "Image [%1 × %2] copied to clipboard." +msgstr "影像 [%1 × %2] 已複製到剪貼簿。" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Save file" +msgstr "儲存檔案" + +#: part/pageview.cpp:2888 +#, kde-format +msgid "Images (*.png *.jpeg)" +msgstr "圖片檔 (*.png *.jpeg)" + +#: part/pageview.cpp:2890 +#, kde-format +msgid "File not saved." +msgstr "檔案未儲存。" + +#: part/pageview.cpp:2901 +#, kde-format +msgid "Image [%1 × %2] saved to %3 file." +msgstr "影像 [%1 × %2] 已儲存到檔案 %3。" + +#: part/pageview.cpp:3042 +#, kde-format +msgid "Copy Text" +msgstr "複製文字" + +#: part/pageview.cpp:3062 +#, kde-format +msgid "Go to '%1'" +msgstr "前往 '%1'" + +#: part/pageview.cpp:4084 part/part.cpp:3180 +#, kde-format +msgid "Fit Width" +msgstr "符合寬度" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Fit Page" +msgstr "符合頁面" + +#: part/pageview.cpp:4084 +#, kde-format +msgid "Auto Fit" +msgstr "自動調適" + +#: part/pageview.cpp:4107 +#, kde-format +msgctxt "" +"Zoom percentage value %1 will be replaced by the actual zoom factor value, " +"so make sure you include it in your translation in order to not to break " +"anything" +msgid "%1%" +msgstr "%1%" + +#: part/pageview.cpp:4390 +#, kde-format +msgid "Search for '%1' with" +msgstr "搜尋 %1 於?" + +#: part/pageview.cpp:4404 +#, kde-format +msgid "Configure Web Shortcuts…" +msgstr "設定網頁捷徑…" + +#: part/pageview.cpp:4430 +#, kde-format +msgid "Follow This Link" +msgstr "開啟此連結" + +#: part/pageview.cpp:4433 +#, kde-format +msgid "Play this Sound" +msgstr "播放聲音..." + +#: part/pageview.cpp:4435 +#, kde-format +msgid "Stop Sound" +msgstr "停止音效" + +#: part/pageview.cpp:4441 +#, kde-format +msgid "Copy Link Address" +msgstr "複製連結位址" + +#: part/pageview.cpp:4462 +#, kde-format +msgid "Search for '%1' in this document" +msgstr "在這個文件搜尋「%1」" + +#: part/pageview.cpp:4994 +#, kde-format +msgid "Welcome" +msgstr "歡迎" + +#: part/pageview.cpp:5116 +#, kde-format +msgid "Select zooming area. Right-click to zoom out." +msgstr "選擇縮放區域。點右鍵以縮小。" + +#: part/pageview.cpp:5129 +#, kde-format +msgid "Click to see the magnified view." +msgstr "點擊以放大檢視。" + +#: part/pageview.cpp:5144 +#, kde-format +msgid "Draw a rectangle around the text/graphics to copy." +msgstr "在文字/圖形周圍畫一個矩形以複製。" + +#: part/pageview.cpp:5158 +#, kde-format +msgid "Select text" +msgstr "選擇文字" + +#: part/pageview.cpp:5172 +#, kde-format +msgid "" +"Draw a rectangle around the table, then click near edges to divide up; press " +"Esc to clear." +msgstr "在表格周圍畫一個矩形,然後在邊緣附近點擊以分割。按下 Esc 清除。" + +#: part/pageview.cpp:5187 part/pageview.cpp:5195 +#, kde-format +msgid "" +"All your signing certificates are invalid. In case signing worked before, " +"please check their validity dates." +msgstr "" +"您的所有簽名憑證都是無效的。如果之前是能成功簽署的,請檢查它們的有效日期。" + +#: part/pageview.cpp:5188 +#, kde-format +msgid "No valid certificates" +msgstr "沒有有效的憑證" + +#: part/pageview.cpp:5189 part/pageview.cpp:5204 +#, kde-format +msgid "Open Certificate Manager" +msgstr "開啟憑證管理員" + +#: part/pageview.cpp:5200 +#, kde-format +msgid "" +"There are no available signing certificates.
    Launch Certificate Manager " +"to import or manage certificates
    For more information, please see the " +"section about Adding Digital Signatures in the manual." +msgstr "" +"沒有可用的簽名憑證。
    開啟憑證管理員來匯入或管理憑證。
    更多資訊請參考" +"說明文件中關於 加入數位簽名 的段落。" + +#: part/pageview.cpp:5203 part/pageview.cpp:5215 +#, kde-format +msgid "No certificates found" +msgstr "找不到憑證" + +#: part/pageview.cpp:5213 +#, kde-format +msgid "" +"There are no available signing certificates.
    For more information, " +"please see the section about Adding Digital Signatures in " +"the manual." +msgstr "" +"沒有可用的簽名憑證。
    更多資訊請參考說明文件中關於 加入數位" +"簽名 的段落。" + +#: part/pageview.cpp:5238 +#, kde-format +msgid "You have unsaved changes. Please save the document before signing it." +msgstr "您有尚未儲存的變更。請在簽名前先儲存文件。" + +#: part/pageview.cpp:5261 +#, kde-format +msgid "Draw a rectangle to insert the signature field" +msgstr "繪製插入簽名欄位用的矩形" + +#: part/pageview.cpp:5405 +#, kde-format +msgid "Draw a rectangle around the page area you wish to keep visible" +msgstr "在您想要保持可見的頁面區域畫一矩形" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "New Text Note" +msgstr "新文字備註" + +#: part/pageviewannotator.cpp:262 +#, kde-format +msgid "Text of the new note:" +msgstr "新備註文字:" + +#: part/pageviewannotator.cpp:408 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"簽署者:%1\n" +"\n" +"日期:%2" + +#: part/pageviewannotator.cpp:489 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"A signature of this size may be too small to read. If you would like to " +"create a potentially more readable signature, press Start over and draw a bigger rectangle." +msgstr "" +"這個大小的簽名可能小到無法閱讀。如果您希望建立一個可能更能讀的簽名,請按 " +"重新開始 然後繪製一個更大的矩形。" + +#: part/pageviewannotator.cpp:491 +#, kde-format +msgctxt "@action:button" +msgid "Start Over" +msgstr "重新開始" + +#: part/pageviewannotator.cpp:492 +#, kde-format +msgctxt "@action:button" +msgid "Sign" +msgstr "簽署" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name" +msgstr "作者名稱" + +#: part/pageviewannotator.cpp:1329 +#, kde-format +msgid "Author name for the annotation:" +msgstr "註記用的作者名稱:" + +#: part/pageviewannotator.cpp:1390 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw an ellipse (drag to select a zone)" +msgstr "畫一橢圓形(拖曳以選取區域)" + +#: part/pageviewannotator.cpp:1392 +#, kde-format +msgctxt "Annotation tool" +msgid "Highlight text" +msgstr "突顯文字" + +#: part/pageviewannotator.cpp:1394 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a freehand line" +msgstr "繪製自由手繪線條" + +#: part/pageviewannotator.cpp:1396 +#, kde-format +msgctxt "Annotation tool" +msgid "Inline Text Annotation (drag to select a zone)" +msgstr "文內文字註記(拖曳以選取區域)" + +#: part/pageviewannotator.cpp:1398 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a pop-up note" +msgstr "放一個彈出式備註" + +#: part/pageviewannotator.cpp:1400 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a polygon (click on the first point to close it)" +msgstr "畫出一多邊形(點選第一個點以結束)" + +#: part/pageviewannotator.cpp:1402 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a rectangle" +msgstr "畫一矩形" + +#: part/pageviewannotator.cpp:1404 +#, kde-format +msgctxt "Annotation tool" +msgid "Squiggle text" +msgstr "草寫魂字" + +#: part/pageviewannotator.cpp:1406 +#, kde-format +msgctxt "Annotation tool" +msgid "Put a stamp symbol" +msgstr "放置印花標記" + +#: part/pageviewannotator.cpp:1408 +#, kde-format +msgctxt "Annotation tool" +msgid "Draw a straight line" +msgstr "畫一直線" + +#: part/pageviewannotator.cpp:1410 +#, kde-format +msgctxt "Annotation tool" +msgid "Strike out text" +msgstr "文字加上刪除線" + +#: part/pageviewannotator.cpp:1412 +#, kde-format +msgctxt "Annotation tool" +msgid "Underline text" +msgstr "文字加上底線" + +#: part/pageviewannotator.cpp:1414 +#, kde-format +msgctxt "Annotation tool" +msgid "Typewriter Annotation (drag to select a zone)" +msgstr "打字機註解 (拖曳以選取區域)" + +#: part/pageviewannotator.cpp:1473 +#, kde-format +msgid "Highlighter" +msgstr "螢光筆" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Add favorite annotation" +msgstr "新增最愛註記" + +#: part/pageviewannotator.cpp:1770 +#, kde-format +msgid "Custom annotation name:" +msgstr "自訂註記名稱:" + +#. i18n: ectx: Menu (file) +#: part/part-viewermode.rc:6 part/part.rc:5 +#, kde-format +msgid "&File" +msgstr "檔案(&F)" + +#. i18n: ectx: Menu (settings) +#: part/part-viewermode.rc:10 part/part.rc:91 +#, kde-format +msgid "&Settings" +msgstr "設定(&S)" + +#. i18n: ectx: Menu (help) +#: part/part-viewermode.rc:15 part/part.rc:98 +#, kde-format +msgid "&Help" +msgstr "說明(&H)" + +#. i18n: ectx: Menu (view_orientation) +#: part/part-viewermode.rc:32 part/part.rc:44 +#, kde-format +msgid "&Orientation" +msgstr "方向(&O)" + +#. i18n: ectx: Menu (bookmarks) +#. i18n: ectx: Menu (okular_bookmarks) +#: part/part-viewermode.rc:50 part/part.rc:65 +#, kde-format +msgid "&Bookmarks" +msgstr "書籤(&B)" + +#. i18n: ectx: ToolBar (OkularViewerToolBar) +#: part/part-viewermode.rc:63 +#, kde-format +msgid "Viewer Toolbar" +msgstr "檢視工具列" + +#: part/part.cpp:402 part/thumbnaillist.cpp:48 +#, kde-format +msgid "Thumbnails" +msgstr "縮圖" + +#: part/part.cpp:408 part/preferencesdialog.cpp:50 part/side_reviews.cpp:99 +#, kde-format +msgid "Annotations" +msgstr "註記" + +#: part/part.cpp:451 +#, kde-format +msgid "" +"This document contains annotations or form data that were saved internally " +"by a previous Okular version. Internal storage is no longer supported." +"
    Please save to a file in order to move them if you want to continue to " +"edit the document." +msgstr "" +"這個文件包含了來自舊版 Okular 的存於內部儲存空間的註解或表單資料。內部儲存空" +"間已經 不再支援。
    假如你要繼續編輯檔案,請儲存至一個檔案以移動它" +"們。" + +#: part/part.cpp:459 +#, kde-format +msgid "" +"This document has embedded files. Click " +"here to see them or go to File -> Embedded Files." +msgstr "" +"此文件有嵌入式檔案。點選此處可查看,或" +"是到「檔案」─「嵌入式檔案」選單中。" + +#: part/part.cpp:488 +#, kde-format +msgid "" +"Signing in progress. You can adjust the position and size of the signature" +msgstr "簽署進行中。您可以調整簽章的位置和尺寸" + +#: part/part.cpp:490 +#, kde-format +msgctxt "@action:button finish the signing process" +msgid "Finish Signing" +msgstr "完成簽署" + +#: part/part.cpp:662 +#, kde-format +msgctxt "Previous page" +msgid "Previous" +msgstr "前一頁" + +#: part/part.cpp:663 +#, kde-format +msgid "Go back to the Previous Page" +msgstr "跳到前一頁" + +#: part/part.cpp:664 +#, kde-format +msgid "Moves to the previous page of the document" +msgstr "移至文件前頁" + +#: part/part.cpp:674 +#, kde-format +msgctxt "Next page" +msgid "Next" +msgstr "下一頁" + +#: part/part.cpp:675 +#, kde-format +msgid "Advance to the Next Page" +msgstr "跳到下一頁" + +#: part/part.cpp:676 +#, kde-format +msgid "Moves to the next page of the document" +msgstr "移至文件次頁" + +#: part/part.cpp:687 +#, kde-format +msgid "Beginning of the document" +msgstr "文件開頭" + +#: part/part.cpp:688 +#, kde-format +msgid "Moves to the beginning of the document" +msgstr "移至文件的開頭" + +#: part/part.cpp:692 +#, kde-format +msgid "End of the document" +msgstr "文件結尾" + +#: part/part.cpp:693 +#, kde-format +msgid "Moves to the end of the document" +msgstr "移至文件的結尾" + +#: part/part.cpp:707 +#, kde-format +msgid "Rename the current bookmark" +msgstr "重新命名目前的書籤" + +#: part/part.cpp:711 +#, kde-format +msgid "Previous Bookmark" +msgstr "上一個書籤" + +#: part/part.cpp:713 +#, kde-format +msgid "Go to the previous bookmark" +msgstr "移至上一個書籤" + +#: part/part.cpp:717 +#, kde-format +msgid "Next Bookmark" +msgstr "下一個書籤" + +#: part/part.cpp:719 +#, kde-format +msgid "Go to the next bookmark" +msgstr "移至下一個書籤" + +#: part/part.cpp:748 +#, kde-format +msgid "Configure Okular…" +msgstr "設定 Okular…" + +#: part/part.cpp:751 +#, kde-format +msgid "Configure Viewer…" +msgstr "設定檢視器…" + +#: part/part.cpp:757 +#, kde-format +msgid "Configure Viewer Backends…" +msgstr "設定檢視器後端介面…" + +#: part/part.cpp:759 +#, kde-format +msgid "Configure Backends…" +msgstr "設定後端介面…" + +#: part/part.cpp:795 +#, kde-format +msgid "About Backend" +msgstr "關於後端介面..." + +#: part/part.cpp:800 +#, kde-format +msgid "Reloa&d" +msgstr "重新載入(&D)" + +#: part/part.cpp:802 +#, kde-format +msgid "Reload the current document from disk." +msgstr "從磁碟中重新載入目前的文件。" + +#: part/part.cpp:808 +#, kde-format +msgid "Close &Find Bar" +msgstr "關閉搜尋列(&F)" + +#: part/part.cpp:813 +#, kde-format +msgid "Page Number" +msgstr "頁面編號" + +#: part/part.cpp:817 +#, kde-format +msgctxt "@action" +msgid "Configure Color Modes…" +msgstr "設定顏色模式…" + +#: part/part.cpp:858 +#, kde-format +msgid "Select All Text on Current Page" +msgstr "選取目前頁面的所有文字" + +#: part/part.cpp:871 +#, kde-format +msgid "Show S&idebar" +msgstr "顯示側邊欄(&I)" + +#: part/part.cpp:880 +#, kde-format +msgid "Show &Page Bar" +msgstr "顯示頁面列 (&P)" + +#: part/part.cpp:886 +#, kde-format +msgid "Show &Signatures Panel" +msgstr "顯示憑證面板(&S)" + +#: part/part.cpp:897 +#, kde-format +msgid "&Embedded Files" +msgstr "嵌入式檔案(&E)" + +#: part/part.cpp:903 +#, kde-format +msgid "E&xport As" +msgstr "匯出為(&X)" + +#: part/part.cpp:915 +#, kde-format +msgid "S&hare" +msgstr "分享 (&H)" + +#: part/part.cpp:924 +#, kde-format +msgid "P&resentation" +msgstr "展示(&R)" + +#: part/part.cpp:931 +#, kde-format +msgid "Open Con&taining Folder" +msgstr "開啟包含資料夾(&T)" + +#: part/part.cpp:945 +#, kde-format +msgid "&Import PostScript as PDF…" +msgstr "匯入 PostScript 為 PDF(&I)…" + +#: part/part.cpp:949 +#, kde-format +msgid "Switch Blackscreen Mode" +msgstr "切換為黑螢幕模式" + +#: part/part.cpp:957 +#, kde-format +msgid "Erase Drawing" +msgstr "擦除繪圖" + +#: part/part.cpp:962 +#, kde-format +msgid "Configure Annotations…" +msgstr "設定註記…" + +#: part/part.cpp:967 +#, kde-format +msgid "Play/Pause Presentation" +msgstr "開始/暫停展示" + +#: part/part.cpp:1122 +#, kde-format +msgid "" +"You have just modified the open document, but this kind of document can not " +"be saved.\n" +"Any modification will be lost once Okular is closed." +msgstr "" +"您剛修改了開啟的文件,但這種文件無法被儲存。任何變更將在 Okular 關閉後丟失。" + +#: part/part.cpp:1123 +#, kde-format +msgid "Document can't be saved" +msgstr "無法儲存文件" + +#: part/part.cpp:1152 +#, kde-format +msgid "Could not open '%1' (%2) " +msgstr "無法開啟 '%1' (%2) " + +#: part/part.cpp:1205 +#, kde-format +msgid "The loading of %1 has been canceled." +msgstr "已取消載入 %1。" + +#: part/part.cpp:1221 +#, kde-format +msgid "Could not open %1. Reason: %2" +msgstr "無法開啟 %1。原因:%2" + +#: part/part.cpp:1249 +#, kde-format +msgid "Configure Viewer Backends" +msgstr "設定檢視器後端介面" + +#: part/part.cpp:1251 +#, kde-format +msgid "Configure Backends" +msgstr "設定後端介面" + +#: part/part.cpp:1336 +#, kde-format +msgid "" +"The program \"ps2pdf\" was not found, so Okular can not import PS files " +"using it." +msgstr "找不到 \"ps2pdf\" 程式,okular 無法匯入 PS 檔。" + +#: part/part.cpp:1336 +#, kde-format +msgid "ps2pdf not found" +msgstr "找不到 ps2pdf" + +#: part/part.cpp:1341 +#, kde-format +msgid "PostScript files (%1)" +msgstr "Postscript 檔案 (%1)" + +#: part/part.cpp:1357 +#, kde-format +msgid "Importing PS file as PDF (this may take a while)…" +msgstr "匯入 PS 檔成 PDF 格式中(可能要花一點時間)…" + +#: part/part.cpp:1489 +#, kde-format +msgid "Please enter the password to read the document:" +msgstr "請輸入密碼以讀取文件:" + +#: part/part.cpp:1491 +#, kde-format +msgid "Incorrect password. Try again:" +msgstr "密碼錯誤。請再試一次:" + +#: part/part.cpp:1502 +#, kde-format +msgid "Document Password" +msgstr "文件密碼" + +#: part/part.cpp:1625 +#, kde-format +msgid "This document has XFA forms, which are currently unsupported." +msgstr "此文件內含 XFA 表單,目前不支援。" + +#: part/part.cpp:1632 +#, kde-format +msgid "" +"This document has forms. Click on the button to interact with them, or use " +"View -> Show Forms." +msgstr "此文件有表單。點擊按鈕可以查看,或是到「檢視」─「顯示表單」。" + +#: part/part.cpp:1648 +#, kde-format +msgid "" +"All editing and interactive features for this document are disabled. Please " +"save a copy and reopen to edit this document." +msgstr "" +"已在此文件停用所有編輯與互動功能。請儲存副本並重新開啟檔案即可編輯此文件。" + +#: part/part.cpp:1736 +#, kde-format +msgid "" +"This document wants to be shown full screen.\n" +"Leave normal mode and enter presentation mode?" +msgstr "" +"這個檔案想要在全螢幕模式顯示\n" +"要離開標準模式,並進入簡報模式嗎?" + +#: part/part.cpp:1738 +#, kde-format +msgid "Request to Change Viewing Mode" +msgstr "請求變更顯示模式" + +#: part/part.cpp:1739 +#, kde-format +msgid "Enter Presentation Mode" +msgstr "進入展示模式" + +#: part/part.cpp:1740 +#, kde-format +msgid "Deny Request" +msgstr "取消請求" + +#: part/part.cpp:1830 +#, kde-format +msgid "Could not open %1. %2" +msgstr "無法開啟 %1。%2" + +#: part/part.cpp:1860 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Reloading it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue " +"reloading the file?" +msgstr "" +"檔案 %1 有未儲存的變更,但同時也被另一個程式修改。重新載" +"入將會把未儲存的變更取代為該程式所做的變更。您確定要繼續重新載入這" +"個檔案嗎?" + +#: part/part.cpp:1864 part/part.cpp:1874 +#, kde-format +msgid "File Changed" +msgstr "檔案已變更" + +#: part/part.cpp:1865 +#, kde-format +msgid "Continue Reloading" +msgstr "仍然重新載入" + +#: part/part.cpp:1866 +#, kde-format +msgid "Abort Reloading" +msgstr "取消重新載入" + +#: part/part.cpp:1870 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has unsaved changes but has been modified " +"by another program. Closing it will replace the unsaved changes with the " +"changes made in the other program.Do you want to continue closing " +"the file?" +msgstr "" +"檔案 %1 有未儲存的變更,但同時也被另一個程式修改。關閉它" +"將會使未儲存的變更被取代為該程式所做的變更。您確定還是要關閉這個檔" +"案嗎?" + +#: part/part.cpp:1875 +#, kde-format +msgid "Continue Closing" +msgstr "仍然關閉" + +#: part/part.cpp:1876 +#, kde-format +msgid "Abort Closing" +msgstr "取消關閉" + +#: part/part.cpp:1883 +#, kde-format +msgid "Do you want to save your changes to \"%1\" or discard them?" +msgstr "您要儲存你的變更至 %1 還是捨棄它們?" + +#: part/part.cpp:1883 +#, kde-format +msgid "Close Document" +msgstr "關閉文件" + +#: part/part.cpp:2015 +#, kde-format +msgid "" +"This link points to a close document action that does not work when using " +"the embedded viewer." +msgstr "這個連結指到一個已關閉的文件動作,該動作在嵌入式檢視器中無法進行。" + +#: part/part.cpp:2021 +#, kde-format +msgid "" +"This link points to a quit application action that does not work when using " +"the embedded viewer." +msgstr "這個連結指到一個離開應用程式的動作,該動作在嵌入式檢視器中無法進行。" + +#: part/part.cpp:2113 part/part.cpp:2131 +#, kde-format +msgid "Reloading the document…" +msgstr "重新載入文件中…" + +#: part/part.cpp:2288 part/toc.cpp:38 +#, kde-format +msgid "Contents" +msgstr "內容" + +#: part/part.cpp:2317 part/signaturepanel.cpp:47 +#, kde-format +msgid "Signatures" +msgstr "簽名" + +#: part/part.cpp:2344 +#, kde-format +msgid "Go to Page" +msgstr "跳頁" + +#: part/part.cpp:2367 +#, kde-format +msgid "&Page:" +msgstr "頁數(&P):" + +#: part/part.cpp:2460 +#, kde-format +msgid "Enter the new name of the bookmark:" +msgstr "輸入書籤的新名稱:" + +#: part/part.cpp:2506 +#, kde-format +msgid "Rename this Bookmark" +msgstr "重新命名書籤" + +#: part/part.cpp:2509 +#, kde-format +msgid "Remove this Bookmark" +msgstr "移除此書籤" + +#: part/part.cpp:2595 part/part.cpp:2596 part/part.cpp:3486 +#: part/signaturepartutils.cpp:261 +#, kde-format +msgctxt "File type name and pattern" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/part.cpp:2603 part/revisionviewer.cpp:44 +#, kde-format +msgid "Save As" +msgstr "另存新檔" + +#: part/part.cpp:2620 +#, kde-format +msgid "" +"You have chosen to save an Okular Archive without the file name ending with " +"the '%1' extension. That is not allowed, do you want to choose a new name?" +msgstr "" +"您已選擇儲存一個 Okular 封存,但檔案名稱並非以 '%1' 副檔名結尾。這不被允許," +"您是否要選擇一個新名稱?" + +#: part/part.cpp:2621 +#, kde-format +msgid "Unsupported extension" +msgstr "不支援的副檔名" + +#: part/part.cpp:2622 +#, kde-format +msgctxt "@action:button" +msgid "Choose New Name" +msgstr "選擇新的名稱" + +#: part/part.cpp:2665 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"The file %1 has been modified by another program. If " +"you save now, any changes made in the other program will be lost. Are you " +"sure you want to continue?" +msgstr "" +"檔案 %1 已被另一個程式修改。如果您現在儲存,該程式所做的" +"變更將會消失。您確定要繼續嗎?" + +#: part/part.cpp:2668 part/part.cpp:2687 part/part.cpp:2739 +#, kde-format +msgid "Save - Warning" +msgstr "儲存 - 警告" + +#: part/part.cpp:2670 +#, kde-format +msgid "Save a Copy Elsewhere" +msgstr "在別的地方儲存副本" + +#: part/part.cpp:2686 +#, kde-format +msgid "" +"The current document is protected with a password.
    In order to save, " +"the file needs to be reloaded. You will be asked for the password again and " +"your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" +"目前的檔案已經以密碼保護。
    為了要儲存它,這檔案必須重新載入。您將會被再" +"次被詢問密碼,且您的還原 / 重作 (Redo) 紀錄將會消失。
    仍要繼續?" + +#: part/part.cpp:2713 +#, kde-format +msgid "Could not open the temporary file for saving." +msgstr "無法開啟暫存檔來儲存。" + +#: part/part.cpp:2726 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Could not overwrite %1 because that file is read-only. " +"Try saving to another location or changing that file's permissions." +msgstr "" +"無法覆寫 %1,該檔案為唯讀。請儲存在其他位置或是修改該檔" +"案的權限。" + +#: part/part.cpp:2738 +#, kde-format +msgid "" +"After saving, the current document format requires the file to be reloaded. " +"Your undo/redo history will be lost.
    Do you want to continue?" +msgstr "" +"儲存後,目前的檔案格式要求檔案需要重新載入。你的還原 / 重做 (redo) 紀錄將會消" +"失。
    仍要繼續?" + +#: part/part.cpp:2753 part/part.cpp:2822 part/part.cpp:2843 part/part.cpp:3501 +#, kde-format +msgid "File could not be saved in '%1'. Try to save it to another location." +msgstr "無法儲存檔案到 %1。請儲存在其他位置。" + +#: part/part.cpp:2766 +#, kde-format +msgid "Filled form contents" +msgstr "填充表單內容" + +#: part/part.cpp:2769 +#, kde-format +msgid "User annotations" +msgstr "用戶註記" + +#: part/part.cpp:2774 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them." +msgstr "" +"你準備要儲存變更,但目前的檔案格式不支援儲存這些元素。請使用 Okular 檔案封" +"存格式 以保留他們。" + +#: part/part.cpp:2778 part/part.cpp:2800 +#, kde-format +msgid "Warning" +msgstr "警告" + +#: part/part.cpp:2779 part/part.cpp:2801 +#, kde-format +msgid "Save as Okular document archive…" +msgstr "儲存為 Okular 檔案封存格式…" + +#: part/part.cpp:2791 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save the document and " +"discard these elements." +msgstr "" +"你準備要儲存變更,但目前的檔案格式不支援儲存這些元素。請使用 Okular 檔案封" +"存格式 以保留他們。點一下 繼續 仍然儲存,並放棄這些元素。" + +#: part/part.cpp:2794 +#, kde-format +msgid "" +"You are about to save changes, but the current file format does not support " +"saving the following elements. Please use the Okular document archive " +"format to preserve them. Click Continue to save, but you will lose " +"these elements as well as the undo/redo history." +msgstr "" +"你準備要儲存變更,但目前的檔案格式不支援儲存這些元素。請使用 Okular 檔案封" +"存格式 以保留他們。點一下 繼續 仍然儲存,但你將會損失這些元素,還" +"有還原 / 重做 (redo) 紀錄" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue" +msgstr "繼續" + +#: part/part.cpp:2796 +#, kde-format +msgid "Continue losing changes" +msgstr "仍然放棄變更" + +#: part/part.cpp:2824 +#, kde-format +msgid "File could not be saved in '%1'. %2" +msgstr "無法儲存檔案到 %1。%2" + +#: part/part.cpp:2863 +#, kde-format +msgid "" +"Okular cannot copy %1 to the specified location.\n" +"\n" +"The document does not exist anymore." +msgstr "" +"Okular 無法複製 %1 到指定的位置。\n" +"\n" +"文件不再存在。" + +#: part/part.cpp:2899 +#, kde-format +msgid "" +"File could not be saved in '%1'. Error: '%2'. Try to save it to another " +"location." +msgstr "無法儲存檔案到 %1,因為錯誤:「%2」。請儲存在其他位置。" + +#: part/part.cpp:3158 +#, kde-format +msgid "Expand Whole Section" +msgstr "展開整個部分" + +#: part/part.cpp:3159 +#, kde-format +msgid "Collapse Whole Section" +msgstr "收起整個部分" + +#: part/part.cpp:3172 +#, kde-format +msgid "Sync Thumbnail with Page" +msgstr "將縮圖與頁面同步" + +#: part/part.cpp:3199 +#, kde-format +msgid "Tools" +msgstr "工具" + +#: part/part.cpp:3381 +#, kde-format +msgctxt "@action:inmenu menu that contains actions to control text to speach" +msgid "Speak" +msgstr "語音" + +#: part/part.cpp:3539 +#, kde-format +msgctxt "@title:window" +msgid "Print" +msgstr "列印" + +#: part/part.cpp:3602 +#, kde-format +msgid "Printing this document is not allowed." +msgstr "不允許列印此文件。" + +#: part/part.cpp:3615 +#, kde-format +msgid "" +"Could not print the document. Unknown error. Please report to bugs.kde.org" +msgstr "無法列印此文件。未知的錯誤。請回報到 bugs.kde.org" + +#: part/part.cpp:3617 +#, kde-format +msgid "" +"Could not print the document. Detailed error is \"%1\". Please report to " +"bugs.kde.org" +msgstr "無法列印此文件。錯誤詳情為:%1。請回報到 bugs.kde.org" + +#: part/part.cpp:3706 +#, kde-format +msgid "Go to the place you were before" +msgstr "Go to the place you were before" + +#: part/part.cpp:3710 +#, kde-format +msgid "Go to the place you were after" +msgstr "Go to the place you were after" + +#: part/part.cpp:3735 +#, kde-format +msgid "" +"File Error! Could not create temporary file " +"%1." +msgstr "" +"檔案錯誤:無法建立暫存檔。 %1。" + +#: part/part.cpp:3747 +#, kde-format +msgid "" +"File Error! Could not open the file %1 for uncompression. The file will not be loaded.
    " +msgstr "" +"檔案錯誤:無法開啟檔案 %1" +"做解壓縮。此檔案將不會被載入。" + +#: part/part.cpp:3751 +#, kde-format +msgid "" +"This error typically occurs if you do not have enough permissions to " +"read the file. You can check ownership and permissions if you right-click on " +"the file in the Dolphin file manager, then choose the 'Properties' option, " +"and select 'Permissions' tab in the opened window." +msgstr "" +"這個錯誤通常是因為您沒有讀取該檔的權限。你可以使用 Dolphin檔案管理器來檢" +"查所有者和權限。操作方式:對檔案按下右鍵 ,選擇「屬性」選項,並在開啟的視窗中" +"選擇「權限」標籤頁。" + +#: part/part.cpp:3773 +#, kde-format +msgid "" +"File Error! Could not uncompress the file " +"%1. The file will not be loaded." +msgstr "" +"檔案錯誤:無法解壓此檔 %1。檔案將不會被載入。" + +#: part/part.cpp:3777 +#, kde-format +msgid "" +"This error typically occurs if the file is corrupt. If you want to be " +"sure, try to decompress the file manually using command-line tools." +msgstr "" +"這個錯誤通常是因為檔案已損毀。您可以試著在命令列直接解壓此檔看看。" + +#: part/part.cpp:3803 +#, kde-format +msgid "No Bookmarks" +msgstr "沒有書籤" + +#: part/part.cpp:3874 +#, kde-format +msgid "There was a problem sharing the document: %1" +msgstr "分享檔案時發生問題:%1" + +#: part/part.cpp:3874 part/part.cpp:3880 +#, kde-format +msgid "Share" +msgstr "分享" + +#: part/part.cpp:3878 +#, kde-format +msgid "Document shared successfully" +msgstr "檔案分享完畢" + +#: part/part.cpp:3880 +#, kde-format +msgid "You can find the shared document at: %1" +msgstr "你可以在這裡找到分享的檔案:%1" + +#. i18n: ectx: Menu (edit) +#: part/part.rc:19 +#, kde-format +msgid "&Edit" +msgstr "編輯(&E)" + +#. i18n: ectx: Menu (view) +#: part/part.rc:32 +#, kde-format +msgid "&View" +msgstr "檢視(&V)" + +#. i18n: ectx: Menu (go) +#: part/part.rc:53 +#, kde-format +msgid "&Go" +msgstr "跳至(&G)" + +#. i18n: ectx: Menu (tools) +#: part/part.rc:73 +#, kde-format +msgid "&Tools" +msgstr "工具(&T)" + +#. i18n: ectx: ToolBar (mainToolBar) +#: part/part.rc:102 shell/shell.rc:24 +#, kde-format +msgid "Main Toolbar" +msgstr "主工具列" + +#. i18n: ectx: ToolBar (annotationToolBar) +#: part/part.rc:123 +#, kde-format +msgid "Annotation Toolbar" +msgstr "註記工具列" + +#. i18n: ectx: ToolBar (quickAnnotationToolBar) +#: part/part.rc:147 +#, kde-format +msgid "Quick Annotation Toolbar" +msgstr "快速註記工具列" + +#: part/preferencesdialog.cpp:41 +#, kde-format +msgid "General Options" +msgstr "一般選項" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility" +msgstr "無障礙" + +#: part/preferencesdialog.cpp:42 +#, kde-format +msgid "Accessibility Reading Aids" +msgstr "無障礙讀取輔助" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance" +msgstr "效能" + +#: part/preferencesdialog.cpp:43 +#, kde-format +msgid "Performance Tuning" +msgstr "效能微調" + +#: part/preferencesdialog.cpp:45 +#, kde-format +msgid "Configure Viewer" +msgstr "設定檢視器" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Presentation" +msgstr "展示" + +#: part/preferencesdialog.cpp:49 +#, kde-format +msgid "Options for Presentation Mode" +msgstr "展示模式選項" + +#: part/preferencesdialog.cpp:50 +#, kde-format +msgid "Annotation Options" +msgstr "註記選項" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor" +msgstr "編輯器" + +#: part/preferencesdialog.cpp:53 part/preferencesdialog.cpp:59 +#, kde-format +msgid "Editor Options" +msgstr "編輯器選項" + +#: part/preferencesdialog.cpp:56 +#, kde-format +msgctxt "" +"Give the user a hint, that it enabled the option --editor-cmd together with " +"the current value of the option." +msgid "" +"The editor was set by the command line to \n" +" %1 \n" +"If you want to use the setting, start okular without the option --editor-cmd" +msgstr "" +"編輯器已從命令列設定為\n" +" %1 \n" +"若您希望使用這個設定,請在啟動 Okular 時不要指定 --editor-cmd 參數" + +#: part/presentationsearchbar.cpp:77 +#, kde-format +msgid "Find Next" +msgstr "尋找下一個" + +#: part/presentationwidget.cpp:174 +#, kde-format +msgctxt "[document title/filename] – Presentation" +msgid "%1 – Presentation" +msgstr "%1 - 展示" + +#: part/presentationwidget.cpp:228 +#, kde-format +msgid "Switch Screen" +msgstr "切換螢幕" + +#: part/presentationwidget.cpp:233 +#, kde-format +msgctxt "%1 is the screen number (0, 1, ...)" +msgid "Screen %1" +msgstr "螢幕 %1" + +#: part/presentationwidget.cpp:240 +#, kde-format +msgid "Exit Presentation Mode" +msgstr "離開展示模式" + +#: part/presentationwidget.cpp:373 +#, kde-format +msgid "Title: %1" +msgstr "標題:%1" + +#: part/presentationwidget.cpp:378 +#, kde-format +msgid "Pages: %1" +msgstr "頁面:%1" + +#: part/presentationwidget.cpp:379 +#, kde-format +msgid "Click to begin" +msgstr "點選以開始" + +#: part/presentationwidget.cpp:521 +#, kde-format +msgctxt "For Presentation" +msgid "Pause" +msgstr "暫停" + +#: part/presentationwidget.cpp:524 +#, kde-format +msgctxt "For Presentation" +msgid "Play" +msgstr "播放" + +#: part/presentationwidget.cpp:1622 +#, kde-format +msgid "" +"There are two ways of exiting presentation mode, you can press either ESC " +"key or click with the quit button that appears when placing the mouse in the " +"top-right corner. Of course you can cycle windows (Alt+TAB by default)" +msgstr "" +"有兩個方法離開展示模式。您可以按下 ESC 鍵,或是將滑鼠移到右下角然後點選「離" +"開」。當然您也可以用 ALT+TAB 切換視窗。" + +#: part/presentationwidget.cpp:1718 +#, kde-format +msgctxt "" +"Reason for inhibiting the screensaver activation, when the presentation mode " +"is active" +msgid "Giving a presentation" +msgstr "正在做簡報" + +#: part/propertiesdialog.cpp:49 +#, kde-format +msgid "Unknown File" +msgstr "未知的檔案" + +#: part/propertiesdialog.cpp:63 +#, kde-format +msgid "%1 Properties" +msgstr "%1 屬性" + +#: part/propertiesdialog.cpp:104 +#, kde-format +msgctxt "mimetype information, example: \"PDF Document (application/pdf)\"" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: part/propertiesdialog.cpp:117 +#, kde-format +msgid "%1:" +msgstr "%1:" + +#: part/propertiesdialog.cpp:124 +#, kde-format +msgid "&Fonts" +msgstr "字型(&F)" + +#: part/propertiesdialog.cpp:145 +#, kde-format +msgid "Reading font information…" +msgstr "讀取字型資訊中…" + +#: part/propertiesdialog.cpp:158 +#, kde-format +msgid "&Page Sizes" +msgstr "頁面大小(&P)" + +#: part/propertiesdialog.cpp:225 +#, kde-format +msgctxt "@action:inmenu" +msgid "&Extract Font" +msgstr "展開字型(&E)" + +#: part/propertiesdialog.cpp:273 +#, kde-format +msgid "Type 1" +msgstr "類型 1" + +#: part/propertiesdialog.cpp:276 +#, kde-format +msgid "Type 1C" +msgstr "類型 1C" + +#: part/propertiesdialog.cpp:279 +#, kde-format +msgctxt "OT means OpenType" +msgid "Type 1C (OT)" +msgstr "類型 1C(OT)" + +#: part/propertiesdialog.cpp:282 +#, kde-format +msgid "Type 3" +msgstr "類型 3" + +#: part/propertiesdialog.cpp:285 +#, kde-format +msgid "TrueType" +msgstr "TrueType" + +#: part/propertiesdialog.cpp:288 +#, kde-format +msgctxt "OT means OpenType" +msgid "TrueType (OT)" +msgstr "TrueType(OT)" + +#: part/propertiesdialog.cpp:291 +#, kde-format +msgid "CID Type 0" +msgstr "CID 類型 0" + +#: part/propertiesdialog.cpp:294 +#, kde-format +msgid "CID Type 0C" +msgstr "CID 類型 0C" + +#: part/propertiesdialog.cpp:297 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID Type 0C (OT)" +msgstr "CID 類型 0C(OT)" + +#: part/propertiesdialog.cpp:300 +#, kde-format +msgid "CID TrueType" +msgstr "CID TrueType" + +#: part/propertiesdialog.cpp:303 +#, kde-format +msgctxt "OT means OpenType" +msgid "CID TrueType (OT)" +msgstr "CID TrueType(OT)" + +#: part/propertiesdialog.cpp:306 +#, kde-format +msgid "TeX PK" +msgstr "TeX PK" + +#: part/propertiesdialog.cpp:309 +#, kde-format +msgid "TeX virtual" +msgstr "TeX 虛擬的" + +#: part/propertiesdialog.cpp:312 +#, kde-format +msgid "TeX Font Metric" +msgstr "TeX 字型描述" + +#: part/propertiesdialog.cpp:315 +#, kde-format +msgid "TeX FreeType-handled" +msgstr "TeX FreeType-handled" + +#: part/propertiesdialog.cpp:318 +#, kde-format +msgctxt "Unknown font type" +msgid "Unknown" +msgstr "未知" + +#: part/propertiesdialog.cpp:331 +#, kde-format +msgid "Embedded (subset)" +msgstr "嵌入式(子集)" + +#: part/propertiesdialog.cpp:334 +#, kde-format +msgid "Fully embedded" +msgstr "完整嵌入式" + +#: part/propertiesdialog.cpp:344 +#, kde-format +msgid "No" +msgstr "否" + +#: part/propertiesdialog.cpp:347 +#, kde-format +msgid "Yes (subset)" +msgstr "是(子集)" + +#: part/propertiesdialog.cpp:350 +#, kde-format +msgid "Yes" +msgstr "是" + +#: part/propertiesdialog.cpp:370 +#, kde-format +msgctxt "Replacing missing font with another one" +msgid "%1 (substituting with %2)" +msgstr "%1(使用 %2 取代)" + +#: part/propertiesdialog.cpp:372 +#, kde-format +msgctxt "font name not available (empty)" +msgid "[n/a]" +msgstr "無" + +#: part/propertiesdialog.cpp:385 +#, kde-format +msgid "Unknown font" +msgstr "未知的字型" + +#: part/propertiesdialog.cpp:391 +#, kde-format +msgid "Embedded: %1" +msgstr "嵌入式:%1" + +#: part/propertiesdialog.cpp:424 +#, kde-format +msgid "Name" +msgstr "名稱" + +#: part/propertiesdialog.cpp:427 +#, kde-format +msgid "Type" +msgstr "類型" + +#: part/propertiesdialog.cpp:430 +#, kde-format +msgid "File" +msgstr "檔案" + +#: part/propertiesdialog.cpp:498 +#, kde-format +msgid "Page" +msgstr "頁面" + +#: part/propertiesdialog.cpp:501 +#, kde-format +msgid "Size" +msgstr "大小" + +#: part/revisionviewer.cpp:41 +#, kde-format +msgid "Revision Preview" +msgstr "修訂版本預覽" + +#: part/revisionviewer.cpp:53 +#, kde-format +msgid "Where do you want to save this revision?" +msgstr "此修訂版本應儲存於何處?" + +#: part/revisionviewer.cpp:56 +#, kde-format +msgid "Could not save file %1." +msgstr "無法儲存檔案 %1。" + +#: part/revisionviewer.cpp:75 +#, kde-format +msgid "Could not view revision." +msgstr "無法檢視修訂版本。" + +#: part/searchwidget.cpp:39 +#, kde-format +msgid "Enter at least 3 letters to filter pages" +msgstr "請至少輸入三個字母來過濾頁面" + +#: part/searchwidget.cpp:49 +#, kde-format +msgid "Case Sensitive" +msgstr "區分大小寫" + +#: part/searchwidget.cpp:51 +#, kde-format +msgid "Match Phrase" +msgstr "符合片語" + +#: part/searchwidget.cpp:52 +#, kde-format +msgid "Match All Words" +msgstr "符合所有單字" + +#: part/searchwidget.cpp:53 +#, kde-format +msgid "Match Any Word" +msgstr "符合任何單字" + +#: part/searchwidget.cpp:72 +#, kde-format +msgid "Filter Options" +msgstr "過濾器選項" + +#. i18n: ectx: property (windowTitle), widget (QDialog, SelectCertificateDialog) +#: part/selectcertificatedialog.ui:14 +#, kde-format +msgid "Certificates" +msgstr "憑證" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: part/selectcertificatedialog.ui:20 +#, kde-format +msgid "Select certificate to sign with:" +msgstr "選擇簽名用的憑證:" + +#. i18n: ectx: property (text), widget (QRadioButton, allCertificateOption) +#: part/selectcertificatedialog.ui:29 +#, kde-format +msgid "All" +msgstr "全部" + +#. i18n: ectx: property (text), widget (QRadioButton, qesCertificates) +#: part/selectcertificatedialog.ui:39 +#, kde-format +msgid "Only QES certificates" +msgstr "僅 QES 憑證" + +#. i18n: ectx: property (text), widget (QRadioButton, pgpOption) +#: part/selectcertificatedialog.ui:46 +#, kde-format +msgctxt "@option:radio" +msgid "Only PGP keys" +msgstr "僅 PGP 金鑰" + +#. i18n: ectx: property (text), widget (QLabel, reasonLabel) +#: part/selectcertificatedialog.ui:70 part/signaturepropertiesdialog.cpp:71 +#, kde-format +msgid "Reason:" +msgstr "原因:" + +#. i18n: ectx: property (placeholderText), widget (QLineEdit, reasonInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, locationInput) +#. i18n: ectx: property (placeholderText), widget (QLineEdit, backgroundInput) +#: part/selectcertificatedialog.ui:77 part/selectcertificatedialog.ui:94 +#: part/selectcertificatedialog.ui:113 +#, kde-format +msgid "optional" +msgstr "可選" + +#. i18n: ectx: property (text), widget (QLabel, locationLabel) +#: part/selectcertificatedialog.ui:87 part/signaturepropertiesdialog.cpp:73 +#, kde-format +msgid "Location:" +msgstr "位置:" + +#. i18n: ectx: property (text), widget (QLabel, backgroundLabel) +#: part/selectcertificatedialog.ui:104 +#, kde-format +msgid "Background:" +msgstr "背景:" + +#. i18n: ectx: property (text), widget (QPushButton, backgroundButton) +#: part/selectcertificatedialog.ui:123 +#, kde-format +msgid "Choose..." +msgstr "選擇…" + +#. i18n: ectx: property (text), widget (QLabel, recentLabel) +#: part/selectcertificatedialog.ui:135 +#, kde-format +msgid "Recent backgrounds:" +msgstr "最近背景:" + +#: part/side_reviews.cpp:66 +#, kde-format +msgid "" +"

    No annotations

    To create new annotations press F6 " +"or select Tools -> Annotations from the menu.
    " +msgstr "" +"

    沒有註記

    要建立新的註記,按 F6 或在選單中選取選擇" +"「工具」─「註記」。
    " + +#: part/side_reviews.cpp:142 +#, kde-format +msgid "Group by Page" +msgstr "以頁分組" + +#: part/side_reviews.cpp:147 +#, kde-format +msgid "Group by Author" +msgstr "以作者分組" + +#: part/side_reviews.cpp:155 +#, kde-format +msgid "Show annotations for current page only" +msgstr "只顯示目前頁面的註記" + +#: part/side_reviews.cpp:165 +#, kde-format +msgid "Expand all elements" +msgstr "展開所有元素" + +#: part/side_reviews.cpp:167 +#, kde-format +msgid "Collapse all elements" +msgstr "收縮所有元素" + +#: part/signaturepanel.cpp:101 +#, kde-format +msgid "Properties" +msgstr "屬性" + +#: part/signaturepartutils.cpp:180 +#, kde-format +msgctxt "file types in a file open dialog" +msgid "Images (%1)" +msgstr "影像檔 (%1)" + +#: part/signaturepartutils.cpp:181 +#, kde-format +msgid "Select background image" +msgstr "選擇背景影像" + +#: part/signaturepartutils.cpp:186 +#, kde-format +msgid "Forget image" +msgstr "忘記影像" + +#: part/signaturepartutils.cpp:187 +#, kde-format +msgid "Forget all images" +msgstr "忘記所有影像" + +#: part/signaturepartutils.cpp:229 +#, kde-format +msgid "Enter password (if any) to unlock certificate: %1" +msgstr "輸入解鎖憑證用的密碼(如果有的話):%1" + +#: part/signaturepartutils.cpp:231 +#, kde-format +msgid "Enter certificate password" +msgstr "輸入憑證密碼" + +#: part/signaturepartutils.cpp:244 +#, kde-format +msgid "Enter document password" +msgstr "輸入文件密碼" + +#: part/signaturepartutils.cpp:267 +#, kde-format +msgid "Save Signed File As" +msgstr "將已簽名檔案另存為" + +#: part/signaturepartutils.h:62 +#, kde-format +msgctxt "" +"Used when suggesting a new name for a digitally signed file. %1 is the old " +"file name and %2 its extension" +msgid "%1_signed.%2" +msgstr "%1_已簽署.%2" + +#: part/signaturepropertiesdialog.cpp:56 +#, kde-format +msgid "Validity Status" +msgstr "有效狀態" + +#: part/signaturepropertiesdialog.cpp:59 +#, kde-format +msgid "Signature Validity:" +msgstr "簽名有效性:" + +#: part/signaturepropertiesdialog.cpp:60 +#, kde-format +msgid "Document Modifications:" +msgstr "文件變更:" + +#: part/signaturepropertiesdialog.cpp:63 +#, kde-format +msgid "Additional Information" +msgstr "額外資訊" + +#: part/signaturepropertiesdialog.cpp:66 +#, kde-format +msgid "Signed By:" +msgstr "簽署者:" + +#: part/signaturepropertiesdialog.cpp:67 +#, kde-format +msgid "Signing Time:" +msgstr "簽署時間:" + +#: part/signaturepropertiesdialog.cpp:83 +#, kde-format +msgid "Document Version" +msgstr "文件版本" + +#: part/signaturepropertiesdialog.cpp:86 +#, kde-format +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "%2 個文件修訂版中的第 %1 版" + +#: part/signaturepropertiesdialog.cpp:88 +#, kde-format +msgid "View Signed Version…" +msgstr "檢視已簽名版本…" + +#: part/signaturepropertiesdialog.cpp:95 +#, kde-format +msgid "View Certificate…" +msgstr "檢視憑證…" + +#: part/signaturepropertiesdialog.cpp:97 +#, kde-format +msgid "View in Certificate Manager" +msgstr "在憑證管理員中檢視" + +#: part/signaturepropertiesdialog.cpp:101 +#, kde-format +msgid "KDE Certificate Manager (kleopatra) not found" +msgstr "找不到 KDE 憑證管理員 (kleopatra)" + +#: part/signingcertificatelistmodel.cpp:102 +#, kde-format +msgctxt "Qualified electronic signature, see wikipedia" +msgid "Qualified" +msgstr "合格" + +#: part/signingcertificatelistmodel.cpp:105 +#, kde-format +msgid "PGP" +msgstr "PGP" + +#: part/thumbnaillist.cpp:1015 +#, kde-format +msgid "Show bookmarked pages only" +msgstr "只顯示書籤頁" + +#: part/videowidget.cpp:143 +#, kde-format +msgctxt "start the movie playback" +msgid "Play" +msgstr "播放" + +#: part/videowidget.cpp:146 +#, kde-format +msgctxt "pause the movie playback" +msgid "Pause" +msgstr "暫停" + +#: part/videowidget.cpp:252 +#, kde-format +msgctxt "stop the movie playback" +msgid "Stop" +msgstr "停止" + +#: part/videowidget.cpp:501 +#, kde-format +msgid "Videos not supported in this okular" +msgstr "這個 Okular 不支援影片" + +#: part/videowidget.cpp:505 +#, kde-format +msgid "Videos not supported in this Okular" +msgstr "這個 Okular 不支援影片" + +#: part/widgetconfigurationtoolsbase.cpp:28 +#, kde-format +msgid "&Add…" +msgstr "新增(&A)…" + +#: part/widgetconfigurationtoolsbase.cpp:31 +#, kde-format +msgid "&Edit…" +msgstr "編輯(&E)…" + +#: part/widgetconfigurationtoolsbase.cpp:35 +#, kde-format +msgid "&Remove" +msgstr "移除(&R)" + +#: part/widgetconfigurationtoolsbase.cpp:39 +#, kde-format +msgid "Move &Up" +msgstr "上移(&U)" + +#: part/widgetconfigurationtoolsbase.cpp:43 +#, kde-format +msgid "Move &Down" +msgstr "下移(&D)" + +#: part/widgetdrawingtools.cpp:105 +#, kde-format +msgid "Default Drawing Tool #%1" +msgstr "預設繪製工具 #%1" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "There's already a tool with that name. Using a default one" +msgstr "已經有一個同名的工具了。使用預設值" + +#: part/widgetdrawingtools.cpp:139 part/widgetdrawingtools.cpp:183 +#, kde-format +msgid "Duplicated Name" +msgstr "重複的名稱" + +#: shell/main.cpp:75 +#, kde-format +msgid "Page of the document to be shown" +msgstr "此文件要顯示的頁面" + +#: shell/main.cpp:76 +#, kde-format +msgid "Start the document in presentation mode" +msgstr "以展示模式開啟此文件" + +#: shell/main.cpp:77 +#, kde-format +msgid "Start with print dialog" +msgstr "以列印對話框開始" + +#: shell/main.cpp:78 +#, kde-format +msgid "Start with print dialog and exit after printing" +msgstr "以列印對話框開始並且列印後離開" + +#: shell/main.cpp:79 +#, kde-format +msgid "\"Unique instance\" control" +msgstr "「唯一實體」控制" + +#: shell/main.cpp:80 +#, kde-format +msgid "Not raise window" +msgstr "不提升視窗" + +#: shell/main.cpp:81 +#, kde-format +msgid "Find a string on the text" +msgstr "在一段文字中搜尋字串" + +#: shell/main.cpp:82 +#, kde-format +msgid "Sets the external editor command" +msgstr "設定外部編輯器指令" + +#: shell/main.cpp:83 +#, kde-format +msgid "Documents to open. Specify '-' to read from stdin." +msgstr "要開啟的文件。'-' 表示從標準輸入讀取。" + +#: shell/okular_main.cpp:64 shell/okular_main.cpp:167 +#, kde-format +msgid "" +"You cannot set the editor command in an already running okular instance. " +"Please disable the tabs and try again. Please note, that unique is also not " +"supported when setting the editor command at the commandline.\n" +msgstr "" +"您無法在一個已在執行的 Okular 實體中設定編輯器命令。請停用分頁並再試一次。請" +"注意,「唯一實體」在從命令列設定編輯器命令時也不受支援。\n" + +#: shell/okular_main.cpp:186 +#, kde-format +msgid "Error: Can't open more than one document with the --unique switch" +msgstr "錯誤:不能用 --unique 選項開啟多個文件" + +#: shell/okular_main.cpp:192 +#, kde-format +msgid "Error: Can't open more than one document with the --presentation switch" +msgstr "錯誤:不能用 --presentation 選項開啟多個文件" + +#: shell/okular_main.cpp:198 +#, kde-format +msgid "Error: Can't open more than one document with the --print switch" +msgstr "錯誤:不能用 --print 選項開啟多個文件" + +#: shell/okular_main.cpp:204 +#, kde-format +msgid "Error: Can't open more than one document with the --page switch" +msgstr "錯誤:不能用 --page 選項開啟多個文件" + +#: shell/okular_main.cpp:210 +#, kde-format +msgid "Error: Can't open more than one document with the --find switch" +msgstr "錯誤:不能用 --find 選項開啟多個文件" + +#: shell/shell.cpp:207 +#, kde-format +msgid "Unable to find the Okular component: %1" +msgstr "找不到 okular 組件:%1" + +#: shell/shell.cpp:250 +#, kde-format +msgid "Sidebar" +msgstr "側邊欄" + +#: shell/shell.cpp:286 +#, kde-format +msgid "" +"There is already a unique Okular instance running. This instance won't be " +"the unique one." +msgstr "已經有一個唯一的 Okular 實體在執行中。此實體不會是唯一。" + +#: shell/shell.cpp:315 +#, kde-format +msgid "Unable to find the Okular component." +msgstr "無法找到 okular 組件。" + +#: shell/shell.cpp:568 +#, kde-format +msgid "" +"Click to open a file\n" +"Click and hold to open a recent file" +msgstr "點選以開啟檔案。 點選並按住以開啟最近的檔案。" + +#: shell/shell.cpp:569 +#, kde-format +msgid "" +"Click to open a file or Click and hold to select a recent file" +msgstr "點選以開啟檔案,或是點選並按住以選擇最近開啟的檔案。" + +#: shell/shell.cpp:582 +#, kde-format +msgid "Next Tab" +msgstr "下一個分頁" + +#: shell/shell.cpp:588 +#, kde-format +msgid "Previous Tab" +msgstr "前一個分頁" + +#: shell/shell.cpp:594 +#, kde-format +msgid "Undo close tab" +msgstr "還原關閉分頁" + +#: shell/shell.cpp:603 +#, kde-format +msgid "Lock Sidebar" +msgstr "鎖定側邊欄" + +#: shell/shell.cpp:703 +#, kde-format +msgid "All files (*)" +msgstr "所有檔案 (*)" + +#: shell/shell.cpp:704 +#, kde-format +msgid "All supported files (%1)" +msgstr "所有支援的檔案 (%1)" + +#: shell/shell.cpp:708 +#, kde-format +msgid "Open Document" +msgstr "開啟文件" + +#: shell/shell.cpp:822 +#, kde-format +msgid "Confirm Close" +msgstr "確認關閉" + +#: shell/shell.cpp:826 +#, kde-format +msgid "Close Tabs" +msgstr "關閉分頁" + +#: shell/shell.cpp:833 +#, kde-format +msgid "You are about to close %1 tabs. Are you sure you want to continue?" +msgstr "您將要關閉 %1 個分頁。您確定要繼續嗎?" + +#: shell/shell.cpp:835 +#, kde-format +msgid "Warn me when I attempt to close multiple tabs" +msgstr "當我嘗試關閉多個分頁時警告我" + +#: shell/welcomescreen.cpp:64 +#, kde-format +msgid "&Copy Path" +msgstr "複製路徑(&C)" + +#: shell/welcomescreen.cpp:77 +#, kde-format +msgid "&Open Containing Folder" +msgstr "開啟包含資料夾(&O)" + +#: shell/welcomescreen.cpp:89 +#, kde-format +msgctxt "recent items context menu" +msgid "&Forget This Item" +msgstr "忘記這個項目(&F)" + +#: shell/welcomescreen.cpp:137 +#, kde-format +msgctxt "on welcome screen" +msgid "No recent documents" +msgstr "沒有最近的文件" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: shell/welcomescreen.ui:153 +#, kde-format +msgid "Welcome to Okular" +msgstr "歡迎使用 Okular" + +#. i18n: ectx: property (text), widget (QPushButton, openButton) +#: shell/welcomescreen.ui:232 +#, kde-format +msgctxt "on welcome screen" +msgid "Open Document..." +msgstr "開啟文件…" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: shell/welcomescreen.ui:382 +#, kde-format +msgctxt "on welcome screen" +msgid "Recent documents" +msgstr "最近的文件" + +#. i18n: ectx: property (text), widget (QToolButton, forgetAllButton) +#: shell/welcomescreen.ui:392 +#, kde-format +msgctxt "on welcome screen (recent document list)" +msgid "Forget All" +msgstr "忘記全部" + +#. i18n: ectx: property (toolTip), widget (QPushButton, closeButton) +#: shell/welcomescreen.ui:460 +#, kde-format +msgid "Hide welcome screen" +msgstr "隱藏歡迎畫面" + +#~ msgid "Geometry with Comment" +#~ msgstr "含備註的幾何圖形" + +#~ msgid "Geometry" +#~ msgstr "幾何圖形" + +#~ msgctxt "Annotation type: contents" +#~ msgid "%1: %2" +#~ msgstr "%1: %2" + +#~ msgid "Modified: %1" +#~ msgstr "修改時間:%1" + +#~ msgid "Find..." +#~ msgstr "尋找..." + +#~ msgid "Go To Page..." +#~ msgstr "跳到其他頁..." + +#~ msgid "Play movie..." +#~ msgstr "播放影片..." + +#~ msgid "Search..." +#~ msgstr "搜尋…" + +#~ msgctxt "@action:inmenu" +#~ msgid "&Save As..." +#~ msgstr "另存新檔(&S)..." + +#~ msgctxt "@action:inmenu" +#~ msgid "&View..." +#~ msgstr "檢視(&V)..." + +#~ msgid "&Sign..." +#~ msgstr "簽署(&S)…" + +#~ msgid "Configure Viewer..." +#~ msgstr "設定檢視器..." + +#~ msgid "Configure Viewer Backends..." +#~ msgstr "設定檢視器後端介面..." + +#~ msgid "Configure Backends..." +#~ msgstr "設定後端介面..." + +#~ msgid "&Add..." +#~ msgstr "新增(&A)..." + +#~ msgid "&Edit..." +#~ msgstr "編輯(&E)..." + +#~ msgctxt "%1 is a file path" +#~ msgid "" +#~ "Could not sign. Invalid certificate password or could not write to '%1'" +#~ msgstr "無法簽名。無效的憑證密碼,或是無法寫入至 '%1'" + +#, fuzzy +#~| msgid "" +#~| "All your signing certificates are either not valid yet or are past their " +#~| "validity date." +#~ msgid "All your signing certificates are invalid" +#~ msgstr "您所有的簽名憑證都尚未生效或是已經過期。" + +#~ msgid "Unsigned Signature %1" +#~ msgstr "未署名的簽名 %1" + +#~ msgctxt "Signature type" +#~ msgid "Unknown" +#~ msgstr "未知" + +#~ msgctxt "Signature type" +#~ msgid "Unsigned signature" +#~ msgstr "未署名的簽名" + +#~ msgctxt "Suffix for the opacity level, eg '80%'" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "Spinbox prefix: Advance automatically: every n seconds" +#~ msgid "every " +#~ msgstr "每 " + +#~ msgctxt "Suffix for the pen width, eg '10 px'" +#~ msgid " px" +#~ msgstr " 像素" + +#~ msgctxt "Suffix for the opacity level, eg '80 %'" +#~ msgid " %" +#~ msgstr " %" + +#~ msgctxt "%1 is a file path" +#~ msgid "Could not sign. Could not write to '%1'" +#~ msgstr "無法簽名。無法寫入至 '%1'" + +#~ msgctxt "Page Up/Down overlap, spinbox suffix" +#~ msgid "%" +#~ msgstr "%" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Width" +#~ msgstr "符合寬度" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Fit Page" +#~ msgstr "符合頁面" + +#~ msgctxt "item:inlistbox Config dialog, general page, default zoom" +#~ msgid "Auto Fit" +#~ msgstr "自動調適" + +#~ msgid "*|All Files" +#~ msgstr "*|所有檔案" + +#~ msgid "Missing alert type" +#~ msgstr "缺少通知類型" + +#~ msgid "" +#~ "The file '%1' has been modified by another program, which means it can no " +#~ "longer be saved." +#~ msgstr "這個檔案 %1 已經被其他程式所變更,這代表著再也沒辦法被儲存了。" + +#~| msgid "Show &Page Bar" +#~ msgid "Show Sidebar" +#~ msgstr "顯示側邊欄" + +#~ msgctxt "@info" +#~ msgid "" +#~ "experimental feature.Stamps inserted in PDF documents are " +#~ "not visible in PDF readers other than Okular." +#~ msgstr "" +#~ "實驗性功能。插入 PDF 文件的印花,不能在 Okular 以外的PDF 閱" +#~ "讀器中顯示。" + +#, fuzzy +#~| msgctxt "@info" +#~| msgid "" +#~| "experimental feature.Stamps inserted in PDF documents are " +#~| "not visible in PDF readers other than Okular." +#~ msgctxt "@info" +#~ msgid "" +#~ "Stamps inserted in PDF documents are not visible in PDF readers other " +#~ "than Okular" +#~ msgstr "" +#~ "實驗性功能。插入 PDF 文件的印花,不能在 Okular 以外的PDF 閱" +#~ "讀器中顯示。" + +#, fuzzy +#~| msgid "Experimental" +#~ msgctxt "@title:window" +#~ msgid "Experimental feature" +#~ msgstr "實驗性" + +#~ msgid "Remove Bookmarks" +#~ msgstr "移除書籤" + +#, fuzzy +#~| msgid "Annotations" +#~ msgctxt "verb" +#~ msgid "&Annotate" +#~ msgstr "註記" + +#, fuzzy +#~| msgid "Highlight" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Highlight" +#~ msgstr "突顯" + +#, fuzzy +#~| msgid "Underline" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Underline" +#~ msgstr "底線" + +#, fuzzy +#~| msgid "Squiggle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Squiggle" +#~ msgstr "草寫" + +#, fuzzy +#~| msgid "Strike Out" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Strike Out" +#~ msgstr "刪除線" + +#, fuzzy +#~| msgid "Insert" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Text" +#~ msgstr "插入" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Inline Note" +#~ msgstr "內含備註" + +#, fuzzy +#~| msgid "Pop-up Note" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Insert Popup Note" +#~ msgstr "彈出式備註" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a freehand line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Freehand Line" +#~ msgstr "繪製自由手繪線條" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a straight line" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Straight line" +#~ msgstr "畫一直線" + +#, fuzzy +#~| msgid "Open Arrow" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Arrow" +#~ msgstr "開放箭頭" + +#, fuzzy +#~| msgctxt "Annotation tool" +#~| msgid "Draw a rectangle" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Rectangle" +#~ msgstr "畫一矩形" + +#, fuzzy +#~| msgid "Ellipse" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Ellipse" +#~ msgstr "橢圓形" + +#, fuzzy +#~| msgid "Polygon" +#~ msgctxt "@action:intoolbar Annotation tool, verb" +#~ msgid "Draw Polygon" +#~ msgstr "五角形" + +#, fuzzy +#~| msgid "Highlighter" +#~ msgid "Highlight in Yellow" +#~ msgstr "突顯" + +#, fuzzy +#~| msgid "Highlight with Comment" +#~ msgid "Highlight in Green" +#~ msgstr "含備註的突顯文字" + +#, fuzzy +#~| msgid "Inline Note" +#~ msgid "Insert Inline Note" +#~ msgstr "內含備註" + +#, fuzzy +#~| msgid "Pop-up Note" +#~ msgid "Insert Popup Note" +#~ msgstr "彈出式備註" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "&Select Area" +#~ msgstr "選擇文字" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select &Text" +#~ msgstr "選擇文字" + +#, fuzzy +#~| msgid "Select text" +#~ msgctxt "verb" +#~ msgid "Select T&able" +#~ msgstr "選擇文字" + +#, fuzzy +#~| msgctxt "Add an annotation to the page" +#~| msgid "add annotation" +#~ msgid "Bookmark annotation" +#~ msgstr "新增註記" + +#~ msgid "&Toggle Change Colors" +#~ msgstr "切換改變顏色(&T)" + +#, fuzzy +#~| msgid "Enable transitions" +#~ msgctxt "@option:check Config dialog, presentation page, transitions" +#~ msgid "Enable transitions" +#~ msgstr "開啟轉變" + +#, fuzzy +#~| msgid "Advance every:" +#~ msgctxt "@label:spinbox Config dialog, presentation page" +#~ msgid "Advance every:" +#~ msgstr "自動跳張間隔:" + +#, fuzzy +#~| msgid "Use custom background color" +#~ msgctxt "@label:listbox Config dialog, general page" +#~ msgid "Custom background color:" +#~ msgstr "使用自訂背景顏色" + +#~ msgid "Draw border around &Images" +#~ msgstr "在影像周圍畫出框線(&I)" + +#~ msgid "Speech" +#~ msgstr "語音" + +#~ msgid "Engine" +#~ msgstr "引擎" + +#~ msgid "Identity" +#~ msgstr "身份" + +#~ msgid "Au&thor:" +#~ msgstr "作者(&T):" + +#~ msgid "View Options" +#~ msgstr "檢視選項" + +#~ msgctxt "@info:whatsthis" +#~ msgid "" +#~ "Defines the default zoom mode for files which were never opened before.\n" +#~ "For files which were opened before the previous zoom is applied." +#~ msgstr "" +#~ "定義從未開啟過的檔案的預設縮放模式。\n" +#~ "已開啟過的檔案,則會使用前一次的縮放模式。" + +#~ msgid "Navigation" +#~ msgstr "導覽" + +#~ msgid "Placement" +#~ msgstr "放置" + +#~ msgid "Screen:" +#~ msgstr "螢幕:" + +#~ msgid "Drawing Tool Configuration" +#~ msgstr "繪製工具設定" + +#~ msgid "&Get Books From Internet..." +#~ msgstr "從網路上取得電子書(&G)..." + +#~ msgid "Reviews" +#~ msgstr "回顧" + +#, fuzzy +#~| msgid "V%1" +#~ msgctxt "@item:inlistbox Color name" +#~ msgid "%1" +#~ msgstr "V%1" + +#~ msgid "Hide Forms" +#~ msgstr "隱藏表單" + +#~ msgid "&Review" +#~ msgstr "回顧(&R)" + +#~ msgid "Annotations author" +#~ msgstr "註釋作者" + +#~ msgid "Please insert your name or initials:" +#~ msgstr "請插入您的名字或縮寫:" + +#~ msgid "Show &Navigation Panel" +#~ msgstr "顯示導覽面板(&N)" + +#~ msgid "Show Text" +#~ msgstr "顯示文字" + +#~ msgid "Small Icons" +#~ msgstr "小圖示" + +#~ msgid "Large Icons" +#~ msgstr "大圖示" + +#~ msgid "" +#~ "Click to use the current selection tool\n" +#~ "Click on the arrow to choose another selection tool" +#~ msgstr "" +#~ "按一下以使用目前的選擇工具\n" +#~ "按下箭頭以選擇其它的選擇工具" diff --git a/po/zh_TW/okular_comicbook.po b/po/zh_TW/okular_comicbook.po new file mode 100644 index 0000000..218ebc8 --- /dev/null +++ b/po/zh_TW/okular_comicbook.po @@ -0,0 +1,47 @@ +# translation of okular_comicbook.po to Chinese Traditional +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Frank Weng (a.k.a. Franklin) , 2008. +# Franklin Weng , 2008. +# pan93412 , 2018. +msgid "" +msgstr "" +"Project-Id-Version: okular_comicbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2018-12-02 17:25+0800\n" +"Last-Translator: pan93412 \n" +"Language-Team: Chinese \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 2.0\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Frank Weng (a.k.a. Franklin)" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "franklin@goodhorse.idv.tw" + +#: document.cpp:97 +#, kde-format +msgid "Cannot open document, neither unrar nor unarchiver were found." +msgstr "無法開啟文件,因為找不到 unrar 且也找不到 unarchiver。" + +#: document.cpp:102 +#, kde-format +msgid "" +"The version of unrar on your system is not suitable for opening comicbooks." +msgstr "您系統上的 unrar 版本不適合用於開啟漫畫元件。" + +#: document.cpp:131 +#, kde-format +msgid "Unknown ComicBook format." +msgstr "未知的 ComicBook 格式。" diff --git a/po/zh_TW/okular_djvu.po b/po/zh_TW/okular_djvu.po new file mode 100644 index 0000000..617044f --- /dev/null +++ b/po/zh_TW/okular_djvu.po @@ -0,0 +1,98 @@ +# translation of okular_djvu.po to Chinese Traditional +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Franklin Weng , 2007. +# Frank Weng (a.k.a. Franklin) , 2008. +msgid "" +msgstr "" +"Project-Id-Version: okular_djvu\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-09-03 07:47+0800\n" +"Last-Translator: Frank Weng (a.k.a. Franklin) \n" +"Language-Team: zh_TW \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.2\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Frank Weng (a.k.a. Franklin)" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "franklin@goodhorse.idv.tw" + +#: generator_djvu.cpp:136 +#, kde-format +msgid "Editor" +msgstr "編輯器" + +#: generator_djvu.cpp:137 +#, kde-format +msgid "Publisher" +msgstr "發行者" + +#: generator_djvu.cpp:138 +#, kde-format +msgid "Volume" +msgstr "版號" + +#: generator_djvu.cpp:139 +#, kde-format +msgid "Type of document" +msgstr "文件類型" + +#: generator_djvu.cpp:141 +#, kde-format +msgctxt "Unknown number of component files" +msgid "Unknown" +msgstr "未知" + +#: generator_djvu.cpp:141 +#, kde-format +msgid "Component Files" +msgstr "組成檔案" + +#: kdjvu.cpp:672 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Unknown" +msgstr "未知" + +#: kdjvu.cpp:675 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Single Page" +msgstr "單一頁面" + +#: kdjvu.cpp:678 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled" +msgstr "大量" + +#: kdjvu.cpp:681 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indirect" +msgstr "間接" + +#: kdjvu.cpp:684 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Bundled (old)" +msgstr "大量(舊)" + +#: kdjvu.cpp:687 +#, kde-format +msgctxt "Type of DjVu document" +msgid "Indexed (old)" +msgstr "索引(舊)" diff --git a/po/zh_TW/okular_dvi.po b/po/zh_TW/okular_dvi.po new file mode 100644 index 0000000..bce37ab --- /dev/null +++ b/po/zh_TW/okular_dvi.po @@ -0,0 +1,546 @@ +# translation of okular_dvi.po to Chinese Traditional +# Traditional Chinese translation for kdvi +# Copyright (C) 2001-2003, 2006, 2007, 2008 Free Software Foundation, Inc. +# +# Original translator: Jing-Jong Shyue , 2001. +# Last translator: Edward G.J. Lee , 2002. +# Frank Weng (a.k.a. Franklin) , 2006, 2008, 2009. +# Franklin Weng , 2007, 2008, 2013, 2014. +# pan93412 , 2020. +# SPDX-FileCopyrightText: 2024, 2025 Kisaragi Hiu +msgid "" +msgstr "" +"Project-Id-Version: okular_dvi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-08-29 23:17+0900\n" +"Last-Translator: Kisaragi Hiu \n" +"Language-Team: Traditional Chinese \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 25.11.70\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Franklin Weng" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "franklin@goodhorse.idv.tw" + +#: dviexport.cpp:123 +#, kde-format +msgid "" +"

    Okular could not locate the program dvipdfm on your " +"computer. This program is essential for the export function to work. You " +"can, however, convert the DVI-file to PDF using the print function of " +"Okular, but that will often produce documents which print okay, but are of " +"inferior quality if viewed in Acrobat Reader. It may be wise to upgrade to a " +"more recent version of your TeX distribution which includes the dvipdfm program.

    Hint to the perplexed system administrator: Okular uses " +"the PATH environment variable when looking for programs.

    " +msgstr "" +"

    Okular 找不到 dvipdfm 程式。這個程式是輸出功能所必需。當然也" +"可以由 Okular 的列印功能來轉換 DVI 為 PDF,但通常這樣一來印表沒有問題,由 " +"Acrobat Reader 閱覽時則品質較差。更新您的 TeX 系統至含 dvipdfm 程式" +"的版本會較明智。

    給還沒進入狀況的系統管理者:Okular 使用 shell 的 PATH " +"環境變數來找程式。

    " + +#: dviexport.cpp:142 +#, kde-format +msgid "" +"The external program 'dvipdfm', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"dvipdfm 回報了錯誤。您可以查看 文件資訊對話框 的檔案選單" +"來得到更精確的錯誤訊息。" + +#: dviexport.cpp:168 +#, kde-format +msgid "" +"This DVI file refers to external graphic files which are not in " +"PostScript format, and cannot be handled by the dvips program that " +"Okular uses internally to print or to export to PostScript. The " +"functionality that you require is therefore unavailable in this version of " +"Okular." +msgstr "" +"與這個 DVI 檔關聯的是一個非 PostScript 格式的外部圖形檔,無法經由 " +"dvips 處理。因此在這一版的 Okular 中無法處理您的需求。" + +#: dviexport.cpp:176 +#, kde-format +msgid "" +"

    Okular could not locate the program dvips on your computer. " +"That program is essential for the export function to work.

    Hint to the " +"perplexed system administrator: Okular uses the PATH environment variable " +"when looking for programs.

    " +msgstr "" +"

    Okular 無法找到 dvips 程式。這個程式對匯出功能很重要。

    " +"給還沒進入狀況的系統管理者:Okular 使用 shell 的 PATH 環境變數來找程式。" + +#: dviexport.cpp:270 +#, kde-format +msgid "" +"The external program 'dvips', which was used to export the file, " +"reported an error. You might wish to look at the document info " +"dialog which you will find in the File-Menu for a precise error " +"report." +msgstr "" +"'dvips' 外部程式是用來輸出 PostScript 檔,並報告是否有錯誤。您可以查看 " +"文件資訊對話框 的檔案選單來得到更精確的錯誤訊息。" + +#: dviFile.cpp:91 +#, kde-format +msgid "The DVI file does not start with the preamble." +msgstr "DVI 檔沒有以 preamble 為開頭。" + +#: dviFile.cpp:97 +#, kde-format +msgid "" +"The DVI file contains the wrong version of DVI output for this program. " +"Hint: If you use the typesetting system Omega, you have to use a special " +"program, such as oxdvi." +msgstr "" +"DVI 輸出檔的版本錯誤。指引:如果是使用 Omega 來排版的話,請改用專用的程式,例" +"如 oxdvi。" + +#: dviFile.cpp:134 +#, kde-format +msgid "" +"The DVI file is badly corrupted. Okular was not able to find the postamble." +msgstr "DVI 檔案毀損。Okular 無法找到 postamble 的部份。" + +#: dviFile.cpp:148 +#, kde-format +msgid "The postamble does not begin with the POST command." +msgstr "postamble 不由 POST 指令開始" + +#: dviFile.cpp:202 +#, kde-format +msgid "The postamble contained a command other than FNTDEF." +msgstr "postamble 含有非 FNTDEF 的指令。" + +#: dviFile.cpp:240 +#, kde-format +msgid "The page %1 does not start with the BOP command." +msgstr "頁 %1 不由 BOP 指令開始。" + +#: dviFile.cpp:354 +#, kde-format +msgid "" +"

    The external program pdf2ps could not be started. As " +"a result, the PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The program pdf2ps may not be installed on your " +"system, or cannot be found in the current search path.

    What you can " +"do: The program pdf2ps is normally contained in " +"distributions of the ghostscript PostScript interpreter system. If " +"ghostscript is not installed on your system, you could install it now. If " +"you are sure that ghostscript is installed, try to use pdf2ps from the command line to check if it really works.

    PATH: %2

    " +msgstr "" +"

    無法執行外部程式 pdf2ps。因此,PDF 檔 %1 無法轉為 PostScript 檔。有些" +"文件中的圖形將無法顯示。

    可能的原因有:pdf2ps 程式沒有安裝,或" +"不在您的執行路徑上。

    建議處理方式:pdf2ps 程式通常會跟著 " +"ghostscript 軟體包一起散佈。如果您沒有安裝 ghostscript,您可以試著先安裝該軟" +"體包。如果您確定 ghostscript 已安裝,請試著從命令列執行 pdf2ps,看看是否有問" +"題。

    您的系統執行路徑:%2

    " + +#: dviFile.cpp:415 +#, kde-format +msgid "" +"

    The PDF-file %1 could not be converted to PostScript. Some graphic " +"elements in your document will therefore not be displayed.

    Possible " +"reason: The file %1 might be broken, or might not be a PDF-file at all. " +"This is the output of the pdf2ps program that Okular used:

    %2

    " +msgstr "" +"

    PDF 檔 %1 無法轉為 PostScript 檔。有些文件中的圖形將無法顯示。

    " +"

    可能的原因有:檔案 %1 可能已損毀,或是不是 PDF 檔。以下是 okular 使" +"用的 pdf2ps 程式的輸出:

    %2

    " + +#: dviRenderer.cpp:203 dviRenderer.cpp:435 +#, kde-format +msgid "File corruption. %1" +msgstr "檔案已損毀。 %1" + +#: dviRenderer.cpp:326 +#, kde-format +msgid "Not all PostScript files could be embedded into your document. %1" +msgstr "並非所有的 PostScript 檔案都能嵌入您的文件。%1" + +#: dviRenderer.cpp:329 +#, kde-format +msgid "All external PostScript files were embedded into your document." +msgstr "所有外部的 PostScript 檔都已嵌入您的文件。" + +#: dviRenderer.cpp:419 +#, kde-format +msgid "The specified file '%1' does not exist." +msgstr "指定的檔案 %1 不存在。" + +#: dviRenderer.cpp:565 +#, kde-format +msgid "" +"You have asked Okular to locate the place in the DVI file which corresponds " +"to line %1 in the TeX-file %2. It seems, however, that the DVI file does not " +"contain the necessary source file information. " +msgstr "" +"您要求 Okular 在 DVI 檔中定位 TeX 檔 %2 的第 %1 行。不過,此 DVI 檔似乎並未包" +"含必要的來源檔案資訊。" + +#: dviRenderer.cpp:604 +#, kde-format +msgid "" +"Okular was not able to locate the place in the DVI file which corresponds to " +"line %1 in the TeX-file %2." +msgstr "Okular 無法在 DVI 檔中定位 TeX 檔 %2 的第 %1 行。" + +#: dviRenderer_draw.cpp:239 +#, kde-format +msgid "The DVI code set a character of an unknown font." +msgstr "DVI 碼含不明字型的字元。" + +#: dviRenderer_draw.cpp:266 dviRenderer_prescan.cpp:667 +#, kde-format +msgid "The DVI code referred to font #%1, which was not previously defined." +msgstr "DVI 碼所參考的字型 #%1,事先並未被定義。" + +#: dviRenderer_draw.cpp:349 +#, kde-format +msgid "The stack was not empty when the EOP command was encountered." +msgstr "EOP 指令出現時,堆疊尚未被清空。" + +#: dviRenderer_draw.cpp:361 +#, kde-format +msgid "The stack was empty when a POP command was encountered." +msgstr "POP 指令出現時,堆疊已被清空。" + +#: dviRenderer_draw.cpp:485 dviRenderer_draw.cpp:494 +#, kde-format +msgid "The DVI code referred to a font which was not previously defined." +msgstr "DVI 碼所參考的字型,事先並未被定義。" + +#: dviRenderer_draw.cpp:535 +#, kde-format +msgid "An illegal command was encountered." +msgstr "出現不合法的指令。" + +#: dviRenderer_draw.cpp:540 +#, kde-format +msgid "The unknown op-code %1 was encountered." +msgstr "出現未知的 op-code %1。" + +#: dviRenderer_prescan.cpp:87 +#, kde-format +msgid "Embedding %1" +msgstr "嵌入 %1" + +#: dviRenderer_prescan.cpp:105 +#, kde-format +msgid "" +"Page %1: The PDF file %2 could not be converted to " +"PostScript.
    " +msgstr "頁 %1:PDF 檔案 %2 無法轉為 PostScript。
    " + +#: dviRenderer_prescan.cpp:107 +#, kde-format +msgid "" +"Page %1: The PostScript file %2 could not be found.
    " +msgstr "頁 %1:PostScript 檔案 %2 找不到。
    " + +#: dviRenderer_prescan.cpp:261 +#, kde-format +msgid "The papersize data '%1' could not be parsed." +msgstr "紙張大小 '%1' 無法被分析。" + +#: fontpool.cpp:209 +#, kde-format +msgid "" +"

    Okular was not able to locate all the font files which are necessary " +"to display the current DVI file. Your document might be unreadable.

    PATH: %1

    %2

    " +msgstr "" +"

    Okular 無法找到完整的字型來顯示這個 DVI 檔。您的文件有可能沒辦法閱讀。" +"

    路徑:%1

    %2

    " + +#: fontpool.cpp:284 +#, kde-format +msgid "" +"

    There were problems running kpsewhich. As a result, some " +"font files could not be located, and your document might be unreadable.
    Possible reason: the kpsewhich program is perhaps not installed on " +"your system, or it cannot be found in the current search path.

    PATH: %1

    %2

    " +msgstr "" +"

    執行 kpsewhich 時發生問題。因此,有些字型檔找不到,您的文件可" +"能無法讀取。
    可能的原因:kpsewhich 程式並未安裝在您的系統中,或" +"是在目前的執行路徑上找不到。

    路徑:%1

    %2

    " + +#: fontpool.cpp:305 +#, kde-format +msgid "" +"The font generation by kpsewhich was aborted (exit code %1, " +"error %2). As a result, some font files could not be located, and your " +"document might be unreadable." +msgstr "" +"kpsewhich 的產生字型功能已被中止(離開代碼 %1,錯誤 %2)。因此," +"無法定位某些字型檔,您的文件可能無法讀取。" + +#: fontpool.cpp:482 +#, kde-format +msgid "Currently generating %1 at %2 dpi…" +msgstr "以 %2 dpi 產生 %1 中…" + +#: generator_dvi.cpp:288 +#, kde-format +msgid "Generator/Date" +msgstr "產生器/日期" + +#: generator_dvi.cpp:377 +#, kde-format +msgid "Font file not found" +msgstr "找不到檔案" + +#: pageSize.cpp:298 +#, kde-format +msgid "%1 × %2" +msgstr "%1 × %2" + +#: pageSize.cpp:311 +#, kde-format +msgid "%1 × %2 mm" +msgstr "%1 × %2 毫米" + +#: pageSize.cpp:313 +#, kde-format +msgid "%1 × %2 in" +msgstr "%1 × %2 英吋" + +#: pageSize.cpp:318 +#, kde-format +msgid "portrait" +msgstr "縱向" + +#: pageSize.cpp:320 +#, kde-format +msgid "landscape" +msgstr "橫向" + +#: psgs.cpp:286 +#, kde-format +msgid "" +"The version of Ghostview that is installed on this computer does not contain " +"any of the Ghostview device drivers that are known to Okular. PostScript " +"support has therefore been turned off in Okular." +msgstr "" +"安裝在此電腦上的 Ghostview 的版本不含任何 Okular 能辨識的 Ghostview 裝置驅動" +"程式。PostScript 支援將被關閉。" + +#: special.cpp:36 +#, kde-format +msgid "That makes 25 errors. Further error messages will not be printed." +msgstr "已產生 25 個錯誤,進一步的錯誤訊息將不再顯示。" + +#: special.cpp:232 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Color pop command issued when the color " +"stack is empty." +msgstr "DVI 檔 '%1',頁 %2 錯誤。顏色堆疊錯誤。" + +#: special.cpp:318 +#, kde-format +msgid "" +"Malformed parameter in the epsf special command.\n" +"Expected a float to follow %1 in %2" +msgstr "" +"在 epsf 特殊命令中有錯誤參數。\n" +"在 %2 中應該跟隨 %1" + +#: special.cpp:446 +#, kde-format +msgid "" +"File not found: \n" +" %1" +msgstr "" +"找不到檔案:\n" +"%1" + +#: special.cpp:695 +#, kde-format +msgid "" +"Error in DVIfile '%1', page %2. Could not interpret angle in text rotation " +"special." +msgstr "DVI 檔 '%1',第 %2 頁錯誤。無法解譯文字旋轉的角度。" + +#: special.cpp:714 +#, kde-format +msgid "The special command '%1' is not implemented." +msgstr "特殊命令 '%1' 尚未實作。" + +#: TeXFont_PFB.cpp:43 +#, kde-format +msgid "" +"The font file %1 could be opened and read, but its font format is " +"unsupported." +msgstr "這個 %1 檔案雖可讀啟,但此種字型格式不被支援。" + +#: TeXFont_PFB.cpp:48 +#, kde-format +msgid "The font file %1 is broken, or it could not be opened or read." +msgstr "%1 字型檔破損,或無法被讀取。" + +#: TeXFont_PFB.cpp:170 +#, kde-format +msgid "" +"FreeType reported an error when setting the character size for font file %1." +msgstr "調整 %1 的字型大小時,FreeType 產生錯誤。" + +#: TeXFont_PFB.cpp:188 +#, kde-format +msgid "FreeType is unable to load glyph #%1 from font file %2." +msgstr "FreeType 無法從 %2 載入 #%1 字型。" + +#: TeXFont_PFB.cpp:201 +#, kde-format +msgid "FreeType is unable to render glyph #%1 from font file %2." +msgstr "FreeType 無法從 %2 顯示 #%1 字型。" + +#: TeXFont_PFB.cpp:215 +#, kde-format +msgid "Glyph #%1 is empty." +msgstr "字體 #%1 是空的。" + +#: TeXFont_PFB.cpp:217 +#, kde-format +msgid "Glyph #%1 from font file %2 is empty." +msgstr "字型 %2 中的字型 #%1 是空的。" + +#: TeXFont_PFB.cpp:282 +#, kde-format +msgid "FreeType is unable to load metric for glyph #%1 from font file %2." +msgstr "FreeType 無法從 %2 載入 #%1 字型描述資料。" + +#: TeXFont_PK.cpp:69 +#, kde-format +msgid "Cannot open font file %1." +msgstr "無法開啟字型檔案 %1。" + +#: TeXFont_PK.cpp:116 +#, kde-format +msgid "TexFont_PK::operator[]: Character %1 not defined in font %2" +msgstr "TexFont_PK::operator[]:字元 %1 沒有定義在字型 %2 中" + +#: TeXFont_PK.cpp:419 +#, kde-format +msgid "Unexpected %1 in PK file %2" +msgstr "未預期的 %1 在 PK 檔案 %2" + +#: TeXFont_PK.cpp:485 +#, kde-format +msgid "The character %1 is too large in file %2" +msgstr "字元 %1 在檔案 %2 中太大了" + +#: TeXFont_PK.cpp:590 TeXFont_PK.cpp:680 +#, kde-format +msgid "Wrong number of bits stored: char. %1, font %2" +msgstr "錯誤的數字或位元被儲存: 字元 %1, 字型 %2" + +#: TeXFont_PK.cpp:593 TeXFont_PK.cpp:683 +#, kde-format +msgid "Bad pk file (%1), too many bits" +msgstr "錯誤的 PK 檔案 (%1), 太多位元" + +#: TeXFont_PK.cpp:714 +#, kde-format +msgid "Font has non-square aspect ratio " +msgstr "字型有非方塊的長寬比" + +#: TeXFontDefinition.cpp:107 +#, kde-format +msgid "Cannot find font %1, file %2." +msgstr "無法開啟字型 %1,檔案 %2。" + +#: TeXFontDefinition.cpp:124 +#, kde-format +msgid "Checksum mismatch for font file %1" +msgstr "檔案 %1 的 checksum 檢查值不符" + +#: TeXFontDefinition.cpp:175 +#, kde-format +msgid "Cannot recognize format for font file %1" +msgstr "無法識別字型檔案 %1 的格式" + +#: util.cpp:58 +#, kde-format +msgid "" +"Fatal error.\n" +"\n" +msgstr "" +"致命錯誤。\n" +"\n" + +#: util.cpp:58 +#, kde-format +msgid "" +"\n" +"\n" +"This probably means that either you found a bug in Okular,\n" +"or that the DVI file, or auxiliary files (such as font files, \n" +"or virtual font files) were really badly broken.\n" +"Okular will abort after this message. If you believe that you \n" +"found a bug, or that Okular should behave better in this situation\n" +"please report the problem." +msgstr "" +"\n" +"\n" +"這可能表示您找到了 Okular 中的錯誤,\n" +"或這個 DVI 檔與輔助檔案(如字型檔、\n" +"或虛擬字型檔)嚴重損壞。\n" +"Okular 會在這個訊息後中止。如果您確定\n" +"您找到了問題,或 Okular 應該有更好的處理\n" +"請回報這個問題。" + +#: vf.cpp:165 +#, kde-format +msgid "Wrong command byte found in VF macro list: %1" +msgstr "在 VF 巨集列表中找到錯誤的命令位元組: %1" + +#~ msgid "" +#~ "

    The Ghostview program, which Okular uses internally to display the " +#~ "PostScript graphics that is included in this DVI file, is generally able " +#~ "to write its output in a variety of formats. The sub-programs that " +#~ "Ghostview uses for these tasks are called 'device drivers'; there is one " +#~ "device driver for each format that Ghostview is able to write. Different " +#~ "versions of Ghostview often have different sets of device drivers " +#~ "available. It seems that the version of Ghostview that is installed on " +#~ "this computer does not contain any of the device drivers " +#~ "that are known to Okular.

    It seems unlikely that a regular " +#~ "installation of Ghostview would not contain these drivers. This error may " +#~ "therefore point to a serious misconfiguration of the Ghostview " +#~ "installation on your computer.

    If you want to fix the problems with " +#~ "Ghostview, you can use the command gs --help to display " +#~ "the list of device drivers contained in Ghostview. Among others, Okular " +#~ "can use the 'png256', 'jpeg' and 'pnm' drivers. Note that Okular needs to " +#~ "be restarted to re-enable PostScript support.

    " +#~ msgstr "" +#~ "

    Okular 內部用以顯示此 DVI 檔中的 PostScript 圖形的 GhostView 程" +#~ "式,可以將它的輸出寫程不同的格式。Ghostview 使用的子程式稱為「裝置驅動程" +#~ "式」,每一種輸出格式都有自己的裝置驅動程式,不同版本的 Ghostview 也會提供" +#~ "不同的裝置驅動程式。看起來安裝在此電腦上的 Ghostview 版本並沒有支援 " +#~ "任何 Okular 能辨識的裝置驅動程式。

    看起來您安裝的 " +#~ "Ghostview 可能不是很正常。也有可能是 Ghostview 在安裝時設定不正確。

    " +#~ "

    如果您要修正此問題,您可以在命令列下使用 gs --help 顯" +#~ "示裝置驅動程式清單。此外 Okular 還可以使用 png256、jpeg 與 pnm 驅動程式。" +#~ "注意,Okular 需要重新啟動才能重新開啟 PostScript 支援。

    " diff --git a/po/zh_TW/okular_epub.po b/po/zh_TW/okular_epub.po new file mode 100644 index 0000000..33e3486 --- /dev/null +++ b/po/zh_TW/okular_epub.po @@ -0,0 +1,45 @@ +# translation of okular_epub.po to Chinese Traditional +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Frank Weng (a.k.a. Franklin) , 2008, 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_epub\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-05-22 16:32+0800\n" +"Last-Translator: Franklin Weng \n" +"Language-Team: Chinese Traditional \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"dot tw>\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Frank Weng (a.k.a. Franklin)" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "franklin@goodhorse.idv.tw" + +#: converter.cpp:163 +#, kde-format +msgid "Error while opening the EPub document." +msgstr "開啟 EPub 文件時發生錯誤。" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub" +msgstr "EPub" + +#: generator_epub.cpp:30 +#, kde-format +msgid "EPub Backend Configuration" +msgstr "EPUB 後端介面設定" diff --git a/po/zh_TW/okular_fax.po b/po/zh_TW/okular_fax.po new file mode 100644 index 0000000..0f9bc4b --- /dev/null +++ b/po/zh_TW/okular_fax.po @@ -0,0 +1,34 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Frank Weng (a.k.a. Franklin) , 2008. +msgid "" +msgstr "" +"Project-Id-Version: okular_fax\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-11-21 08:23+0800\n" +"Last-Translator: Frank Weng (a.k.a. Franklin) \n" +"Language-Team: Chinese Traditional \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.2\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Frank Weng (a.k.a. Franklin)" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "franklin@goodhorse.idv.tw" + +#: generator_fax.cpp:42 +#, kde-format +msgid "Unable to load document" +msgstr "無法載入文件" diff --git a/po/zh_TW/okular_fictionbook.po b/po/zh_TW/okular_fictionbook.po new file mode 100644 index 0000000..085e165 --- /dev/null +++ b/po/zh_TW/okular_fictionbook.po @@ -0,0 +1,72 @@ +# translation of okular_fictionbook.po to Chinese Traditional +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Franklin Weng , 2007. +# Frank Weng (a.k.a. Franklin) , 2008, 2013. +# SPDX-FileCopyrightText: 2024 Kisaragi Hiu +msgid "" +msgstr "" +"Project-Id-Version: okular_fictionbook\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-05-08 03:10+0900\n" +"Last-Translator: Kisaragi Hiu \n" +"Language-Team: Traditional Chinese \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"dot tw>\n" +"X-Generator: Lokalize 24.04.70\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Frank Weng (a.k.a. Franklin)" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "franklin@goodhorse.idv.tw" + +#: converter.cpp:100 +#, kde-format +msgid "Document is not a valid FictionBook" +msgstr "文件不是有效的 FictionBook 檔" + +#: document.cpp:29 +#, kde-format +msgid "Unable to open document: %1" +msgstr "無法開啟文件:%1" + +#: document.cpp:36 +#, kde-format +msgid "Document is not a valid ZIP archive" +msgstr "文件並非有效的 ZIP 壓縮檔" + +#: document.cpp:42 +#, kde-format +msgid "Invalid document structure (main directory is missing)" +msgstr "無效的文件結構(主目錄不見了)" + +#: document.cpp:57 +#, kde-format +msgid "No content found in the document" +msgstr "文件中找不到內容" + +#: document.cpp:68 +#, kde-format +msgid "Invalid XML document: %1" +msgstr "無效的 XML 文件:%1" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook" +msgstr "FictionBook" + +#: generator_fb.cpp:26 +#, kde-format +msgid "FictionBook Backend Configuration" +msgstr "Fiction Book 後端介面設定" diff --git a/po/zh_TW/okular_ghostview.po b/po/zh_TW/okular_ghostview.po new file mode 100644 index 0000000..68ee860 --- /dev/null +++ b/po/zh_TW/okular_ghostview.po @@ -0,0 +1,78 @@ +# translation of okular_ghostview.po to Chinese Traditional +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Franklin Weng , 2007, 2008. +# Frank Weng (a.k.a. Franklin) , 2008, 2009. +msgid "" +msgstr "" +"Project-Id-Version: okular_ghostview\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2009-04-13 14:10+0800\n" +"Last-Translator: Frank Weng (a.k.a. Franklin) \n" +"Language-Team: Chinese Traditional \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.3\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Frank Weng (a.k.a. Franklin)" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "franklin@goodhorse.idv.tw" + +#. i18n: ectx: label, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:9 +#, kde-format +msgid "Use Platform Fonts" +msgstr "使用平台字型" + +#. i18n: ectx: whatsthis, entry (PlatformFonts), group (General) +#: conf/gssettings.kcfg:10 +#, kde-format +msgid "" +"Determines whether Ghostscript should be allowed to use platform fonts, if " +"false only usage of fonts embedded in the document will be allowed." +msgstr "" +"決定 Ghostscript 是否允許使用平台字型。若為否,則只能使用文件內嵌的字型。" + +#. i18n: ectx: property (title), widget (QGroupBox, groupBox) +#: conf/gssettingswidget.ui:28 +#, kde-format +msgid "General Settings" +msgstr "一般設定" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_PlatformFonts) +#: conf/gssettingswidget.ui:37 +#, kde-format +msgid "&Use platform fonts" +msgstr "使用平台字型(&U)" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript" +msgstr "Ghostscript" + +#: generator_ghostview.cpp:82 +#, kde-format +msgid "Ghostscript Backend Configuration" +msgstr "Ghostscript 後端介面設定" + +#: generator_ghostview.cpp:253 +#, kde-format +msgid "Document version" +msgstr "文件版本" + +#: generator_ghostview.cpp:259 +#, kde-format +msgid "Language Level" +msgstr "語言等級" diff --git a/po/zh_TW/okular_kimgio.po b/po/zh_TW/okular_kimgio.po new file mode 100644 index 0000000..e9fd3fe --- /dev/null +++ b/po/zh_TW/okular_kimgio.po @@ -0,0 +1,43 @@ +# translation of okular_kimgio.po to Chinese Traditional +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Franklin Weng , 2007. +# Frank Weng (a.k.a. Franklin) , 2009. +# pan93412 , 2018. +msgid "" +msgstr "" +"Project-Id-Version: okular_kimgio\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2018-03-25 20:21+0800\n" +"Last-Translator: pan93412 \n" +"Language-Team: Chinese \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 2.0\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Frank Weng (a.k.a. Franklin)" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "franklin@goodhorse.idv.tw" + +#: generator_kimgio.cpp:55 generator_kimgio.cpp:82 +#, kde-format +msgid "Unable to load document: %1" +msgstr "無法載入文件:%1" + +#: generator_kimgio.cpp:80 +#, kde-format +msgid "" +"This document appears malformed. Here is a best approximation of the " +"document's intended appearance." +msgstr "這個文件的呈現異常。這是這文件的最佳呈現狀態。" diff --git a/po/zh_TW/okular_markdown.po b/po/zh_TW/okular_markdown.po new file mode 100644 index 0000000..1481c74 --- /dev/null +++ b/po/zh_TW/okular_markdown.po @@ -0,0 +1,53 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the okular package. +# +# pan93412 , 2019. +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2019-03-31 18:31+0800\n" +"Last-Translator: pan93412 \n" +"Language-Team: Chinese \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Lokalize 19.03.80\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "pan93412" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "pan93412@gmail.com" + +#: converter.cpp:59 converter.cpp:93 +#, kde-format +msgid "Failed to open the document" +msgstr "無法開啟文件" + +#: converter.cpp:106 converter.cpp:124 +#, kde-format +msgid "Failed to compile the Markdown document." +msgstr "無法編譯 Markdown 文件。" + +#: generator_md.cpp:58 +#, kde-format +msgid "Enable SmartyPants formatting" +msgstr "啟用 SmartyPants 格式化方式" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown" +msgstr "Markdown" + +#: generator_md.cpp:60 +#, kde-format +msgid "Markdown Backend Configuration" +msgstr "Markdown 後端設定" diff --git a/po/zh_TW/okular_mobi.po b/po/zh_TW/okular_mobi.po new file mode 100644 index 0000000..989ea7d --- /dev/null +++ b/po/zh_TW/okular_mobi.po @@ -0,0 +1,50 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Frank Weng (a.k.a. Franklin) , 2009, 2013. +msgid "" +msgstr "" +"Project-Id-Version: okular_mobi\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-05-22 16:32+0800\n" +"Last-Translator: Franklin Weng \n" +"Language-Team: Chinese Traditional \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"dot tw>\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Frank Weng (a.k.a. Franklin)" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "franklin@goodhorse.idv.tw" + +#: converter.cpp:59 +#, kde-format +msgid "Error while opening the Mobipocket document." +msgstr "開啟 Mobipocket 文件時發生錯誤" + +#: converter.cpp:64 +#, kde-format +msgid "" +"This book is protected by DRM and can be displayed only on designated device" +msgstr "此書由 DRM 保護,只能用指定的裝置顯示" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket" +msgstr "Mobipocket" + +#: generator_mobi.cpp:25 +#, kde-format +msgid "Mobipocket Backend Configuration" +msgstr "Mobipocket 後端介面設定" diff --git a/po/zh_TW/okular_poppler.po b/po/zh_TW/okular_poppler.po new file mode 100644 index 0000000..b8c2340 --- /dev/null +++ b/po/zh_TW/okular_poppler.po @@ -0,0 +1,388 @@ +# translation of okular_poppler.po to Chinese Traditional +# Traditional(Big-5) Chinese translation for kpdf +# Copyright (C) 2003, 2006, 2007, 2008 Free Software Foundation, Inc. +# +# Original translator: Edward G.J. Lee , 2003. +# Frank Weng (a.k.a. Franklin) , 2006, 2007, 2008, 2009, 2010. +# Franklin Weng , 2007, 2008. +# Franklin Weng , 2012, 2013. +# pan93412 , 2018, 2019. +# SPDX-FileCopyrightText: 2023, 2025 Kisaragi Hiu +msgid "" +msgstr "" +"Project-Id-Version: okular_poppler\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-08-29 23:17+0900\n" +"Last-Translator: Kisaragi Hiu \n" +"Language-Team: Traditional Chinese \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 25.11.70\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Frank Weng (a.k.a. Franklin), Kisaragi Hiu" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "franklin@goodhorse.idv.tw, mail@kisaragi-hiu.com" + +#. i18n: ectx: property (text), widget (QLabel, label_3) +#: conf/pdfsettingswidget.ui:19 +#, kde-format +msgid "Enable overprint preview:" +msgstr "啟用疊印預覽:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:27 +#, kde-format +msgid "Never" +msgstr "永不" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:32 +#, kde-format +msgid "Always" +msgstr "總是" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_OverprintPreviewEnabled) +#: conf/pdfsettingswidget.ui:37 +#, kde-format +msgid "Automatic" +msgstr "自動" + +#. i18n: ectx: property (text), widget (QLabel, label) +#: conf/pdfsettingswidget.ui:62 +#, kde-format +msgid "Enhance thin lines:" +msgstr "加強細線:" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:73 generator_pdf.cpp:1033 +#, kde-format +msgid "No" +msgstr "否" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:78 +#, kde-format +msgid "Solid" +msgstr "實線" + +#. i18n: ectx: property (text), item, widget (KComboBox, kcfg_EnhanceThinLines) +#: conf/pdfsettingswidget.ui:83 +#, kde-format +msgid "Shape" +msgstr "形狀" + +#. i18n: ectx: property (text), widget (QLabel, label_2) +#: conf/pdfsettingswidget.ui:108 +#, kde-format +msgid "Default scaling mode when printing:" +msgstr "列印時的預設縮放模式:" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:116 generator_pdf.cpp:101 +#, kde-format +msgid "Fit to printable area" +msgstr "縮放到可印區塊大小" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:121 generator_pdf.cpp:102 +#, kde-format +msgid "Fit to full page" +msgstr "縮放到整頁大小" + +#. i18n: ectx: property (text), item, widget (QComboBox, kcfg_PrintScaleMode) +#: conf/pdfsettingswidget.ui:126 generator_pdf.cpp:103 +#, kde-format +msgid "None; print original size" +msgstr "無;列印原始大小" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:149 +#, kde-format +msgid "" +"Enabling this option will allow Okular to contact 3rd-party OCSP servers to " +"check if the certificates used for digital signing have been revoked since " +"their creation." +msgstr "" +"啟用這個選項將會允許 Okular 與第三方 OCSP 伺服器進行連線,以確認數位簽署用的" +"憑證是否在建立以來已被撤回。" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_CheckOCSPServers) +#: conf/pdfsettingswidget.ui:152 +#, kde-format +msgid "" +"Check revocation of digital signatures' certificates using 3rd-party servers" +msgstr "利用第三方伺服器檢查數位簽章的憑證是否被撤回" + +#. i18n: ectx: property (text), widget (QLabel, label_signature_backend) +#: conf/pdfsettingswidget.ui:174 +#, kde-format +msgid "Signature backend:" +msgstr "簽章後端:" + +#. i18n: ectx: property (toolTip), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:200 +#, kde-format +msgctxt "@info:tooltip" +msgid "" +"These signatures can only be validated by modern Okular users with GnuPG " +"backend activated" +msgstr "這些簽章只能給有啟用 GnuPG 後端的現代 Okular 使用者進行驗證" + +#. i18n: ectx: property (text), widget (QCheckBox, kcfg_EnablePgp) +#: conf/pdfsettingswidget.ui:203 +#, kde-format +msgctxt "@option:check" +msgid "Allow PGP keys for signatures (Okular extension)" +msgstr "允許使用 PGP 金鑰作為簽章(Okular 延伸)" + +#. i18n: ectx: property (title), widget (QGroupBox, certDBGroupBox) +#: conf/pdfsettingswidget.ui:210 +#, kde-format +msgid "Certificate Database" +msgstr "憑證資料庫" + +#. i18n: ectx: property (text), widget (QRadioButton, kcfg_UseDefaultCertDB) +#: conf/pdfsettingswidget.ui:219 +#, kde-format +msgid "Default:" +msgstr "預設:" + +#. i18n: ectx: property (text), widget (QRadioButton, customRadioButton) +#: conf/pdfsettingswidget.ui:226 +#, kde-format +msgid "Custom:" +msgstr "自訂:" + +#. i18n: ectx: property (title), widget (QGroupBox, certificatesGroup) +#: conf/pdfsettingswidget.ui:243 +#, kde-format +msgid "Available Certificates" +msgstr "可用的憑證" + +#. i18n: ectx: property (text), widget (QPushButton, loadSignaturesButton) +#: conf/pdfsettingswidget.ui:251 +#, kde-format +msgid "&Load Signatures" +msgstr "載入簽章(&L)" + +#: generator_pdf.cpp:86 +#, kde-format +msgid "PDF Options" +msgstr "PDF 選項" + +#: generator_pdf.cpp:88 +#, kde-format +msgid "Print annotations" +msgstr "列印註記" + +#: generator_pdf.cpp:89 +#, kde-format +msgid "Include annotations in the printed document" +msgstr "在列印的文件中包含註記" + +#: generator_pdf.cpp:90 +#, kde-format +msgid "" +"Includes annotations in the printed document. You can disable this if you " +"want to print the original unannotated document." +msgstr "" +"在列印的文件中包含註記。如果您只要列印原始未註記的文件,您可以關閉此選項。" + +#: generator_pdf.cpp:92 +#, kde-format +msgid "Force rasterization" +msgstr "強制光柵化(rasterization)" + +#: generator_pdf.cpp:93 +#, kde-format +msgid "Rasterize into an image before printing" +msgstr "列印前在圖片上強制光柵化(rasterization)" + +#: generator_pdf.cpp:94 +#, kde-format +msgid "" +"Forces the rasterization of each page into an image before printing it. This " +"usually gives somewhat worse results, but is useful when printing documents " +"that appear to print incorrectly." +msgstr "" +"在每一頁的圖片列印前強制光柵化(rasterization)。通常結果會變差,但是若某些文" +"件列印結果不正確時,此選項可能有用。" + +#: generator_pdf.cpp:104 +#, kde-format +msgid "Scaling mode for the printed pages" +msgstr "列印頁面的比例模式" + +#: generator_pdf.cpp:105 +#, kde-format +msgid "Scale mode:" +msgstr "比例模式:" + +#: generator_pdf.cpp:1031 +#, kde-format +msgctxt "PDF v. " +msgid "PDF v. %1.%2" +msgstr "PDF v. %1.%2" + +#: generator_pdf.cpp:1031 +#, kde-format +msgid "Format" +msgstr "格式" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Encrypted" +msgstr "已加密" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Unencrypted" +msgstr "已解密" + +#: generator_pdf.cpp:1032 +#, kde-format +msgid "Security" +msgstr "安全性" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Yes" +msgstr "是" + +#: generator_pdf.cpp:1033 +#, kde-format +msgid "Optimized" +msgstr "最佳化" + +#: generator_pdf.cpp:1500 +#, kde-format +msgid "" +"Signed by: %1\n" +"\n" +"Date: %2" +msgstr "" +"簽署者:%1\n" +"\n" +"日期:%2" + +#: generator_pdf.cpp:1721 +#, kde-format +msgid "Using Poppler %1" +msgstr "使用 Poppler %1" + +#: generator_pdf.cpp:1723 +#, kde-format +msgid "" +"Using Poppler %1\n" +"\n" +"Built against Poppler %2" +msgstr "" +"使用 Poppler %1\n" +"\n" +"為 Poppler %2 構建" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF" +msgstr "PDF" + +#: generator_pdf.cpp:1758 +#, kde-format +msgid "PDF Backend Configuration" +msgstr "PDF 後端介面設定" + +#: generator_pdf.cpp:2207 generator_pdf.cpp:2235 +#, kde-format +msgid "Failed writing temporary file" +msgstr "寫入暫存檔失敗" + +#: generator_pdf.cpp:2257 +#, kde-format +msgid "Failed renaming temporary file" +msgstr "重新命名暫存檔失敗" + +#: generator_pdf.cpp:2277 +#, kde-format +msgid "" +"Some errors were found in the document, Okular might not be able to show the " +"content correctly" +msgstr "文件中發現了一些錯誤,Okular 可能無法正確顯示其內容" + +#: pdfsettingswidget.cpp:119 +#, kde-format +msgctxt "@info Kind of a notice/warning" +msgid "" +"These signatures only work between modern versions of Okular with the GnuPG " +"based backend activated" +msgstr "這些簽章只能在有啟用 GnuPG 後端的現代 Okular 之間作用" + +#: pdfsettingswidget.cpp:120 +#, kde-format +msgctxt "@title:dialog" +msgid "Enable PGP Signatures" +msgstr "啟用 PGP 簽章" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Name of the person to whom the cerficate was issued" +msgid "Issued to" +msgstr "簽發給" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgid "E-mail" +msgstr "電子郵件" + +#: pdfsettingswidget.cpp:156 +#, kde-format +msgctxt "Certificate expiration date" +msgid "Expiration date" +msgstr "有效日期" + +#: pdfsettingswidget.cpp:173 +#, kde-format +msgid "" +"You are using a Poppler library built without NSS support.\n" +"Adding Digital Signatures isn't available for that reason" +msgstr "" +"您正使用建置時未包含 NSS 支援的 Poppler 函式庫。\n" +"由於此原因,加入數位簽章功能不可使用" + +#: pdfsettingswidget.cpp:197 +#, kde-format +msgctxt "certificate end validity" +msgid "forever" +msgstr "永久" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "Restart needed" +msgstr "需要重新啟動" + +#: pdfsettingswidget.cpp:223 +#, kde-format +msgid "You need to restart Okular after changing the NSS directory settings" +msgstr "修改 NSS 目錄設定後您需要重新啟動 Okular" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter Password" +msgstr "輸入密碼" + +#: pdfsignatureutils.cpp:239 +#, kde-format +msgid "Enter password to open %1:" +msgstr "輸入密碼以開啟 %1:" + +#~ msgid "Not Available" +#~ msgstr "尚不能用" diff --git a/po/zh_TW/okular_tiff.po b/po/zh_TW/okular_tiff.po new file mode 100644 index 0000000..ae7defc --- /dev/null +++ b/po/zh_TW/okular_tiff.po @@ -0,0 +1,31 @@ +# Chinese translations for okular package +# okular 套件的正體中文翻譯. +# Copyright (C) 2022 This file is copyright: +# This file is distributed under the same license as the okular package. +# Automatically generated, 2022. +# +# SPDX-FileCopyrightText: 2024 Kisaragi Hiu +msgid "" +msgstr "" +"Project-Id-Version: okular\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2024-01-14 23:09+0900\n" +"Last-Translator: Kisaragi Hiu \n" +"Language-Team: Traditional Chinese \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Lokalize 24.01.90\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Kisaragi Hiu" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "mail@kisaragi-hiu.com" diff --git a/po/zh_TW/okular_txt.po b/po/zh_TW/okular_txt.po new file mode 100644 index 0000000..912d269 --- /dev/null +++ b/po/zh_TW/okular_txt.po @@ -0,0 +1,38 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Franklin Weng , 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2013-05-22 16:33+0800\n" +"Last-Translator: Franklin Weng \n" +"Language-Team: Chinese Traditional \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Lokalize 1.5\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Franklin Weng" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "franklin@goodhorse.idv.tw" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt" +msgstr "Txt" + +#: generator_txt.cpp:25 +#, kde-format +msgid "Txt Backend Configuration" +msgstr "Txt 後端介面設定" diff --git a/po/zh_TW/okular_xps.po b/po/zh_TW/okular_xps.po new file mode 100644 index 0000000..fbb86c7 --- /dev/null +++ b/po/zh_TW/okular_xps.po @@ -0,0 +1,36 @@ +# translation of okular_xps.po to Chinese Traditional +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Franklin Weng , 2007. +# Frank Weng (a.k.a. Franklin) , 2008. +msgid "" +msgstr "" +"Project-Id-Version: okular_xps\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2008-08-05 16:32+0800\n" +"Last-Translator: Frank Weng (a.k.a. Franklin) \n" +"Language-Team: zh_TW \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.2\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Frank Weng (a.k.a. Franklin)" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "franklin@goodhorse.idv.tw" + +#: generator_xps.cpp:1914 +#, kde-format +msgid "Revision" +msgstr "版本" diff --git a/po/zh_TW/org.kde.active.documentviewer.po b/po/zh_TW/org.kde.active.documentviewer.po new file mode 100644 index 0000000..0706391 --- /dev/null +++ b/po/zh_TW/org.kde.active.documentviewer.po @@ -0,0 +1,214 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Franklin Weng , 2012. +# Jeff Huang , 2016. +# pan93412 , 2018, 2019. +# SPDX-FileCopyrightText: 2023, 2024, 2025 Kisaragi Hiu +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:39+0000\n" +"PO-Revision-Date: 2025-08-29 23:17+0900\n" +"Last-Translator: Kisaragi Hiu \n" +"Language-Team: Traditional Chinese \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Lokalize 25.11.70\n" + +#: ui/Bookmarks.qml:20 ui/OkularDrawer.qml:85 +msgid "Bookmarks" +msgstr "書籤" + +#: ui/CertificateViewerPage.qml:23 +msgid "Certificate Viewer" +msgstr "憑證檢視器" + +#: ui/CertificateViewerPage.qml:26 +msgid "Issued By" +msgstr "簽發者" + +#: ui/CertificateViewerPage.qml:31 ui/CertificateViewerPage.qml:56 +msgid "Common Name:" +msgstr "通用名稱:" + +#: ui/CertificateViewerPage.qml:38 ui/CertificateViewerPage.qml:63 +msgid "EMail:" +msgstr "電子郵件:" + +#: ui/CertificateViewerPage.qml:45 ui/CertificateViewerPage.qml:70 +msgid "Organization:" +msgstr "組織:" + +#: ui/CertificateViewerPage.qml:51 +msgid "Issued To" +msgstr "簽發給" + +#: ui/CertificateViewerPage.qml:76 +msgid "Validity" +msgstr "有效性" + +#: ui/CertificateViewerPage.qml:81 +msgid "Issued On:" +msgstr "簽發時間:" + +#: ui/CertificateViewerPage.qml:88 +msgid "Expires On:" +msgstr "失效時間:" + +#: ui/CertificateViewerPage.qml:94 +msgid "Fingerprints" +msgstr "金鑰指紋" + +#: ui/CertificateViewerPage.qml:99 +msgid "SHA-1 Fingerprint:" +msgstr "SHA-1 指紋:" + +#: ui/CertificateViewerPage.qml:106 +msgid "SHA-256 Fingerprint:" +msgstr "SHA-256 指紋:" + +#: ui/CertificateViewerPage.qml:118 ui/CertificateViewerPage.qml:130 +msgid "Export…" +msgstr "匯出…" + +#: ui/CertificateViewerPage.qml:137 ui/SignaturePropertiesPage.qml:148 +msgid "Close" +msgstr "關閉" + +#: ui/CertificateViewerPage.qml:146 +msgid "Certificate File (*.cer)" +msgstr "憑證檔案 (*.cer)" + +#: ui/CertificateViewerPage.qml:161 ui/SignaturePropertiesPage.qml:169 +msgid "Error" +msgstr "錯誤" + +#: ui/CertificateViewerPage.qml:163 +msgid "Could not export the certificate." +msgstr "無法匯出憑證。" + +#: ui/Main.qml:25 ui/Main.qml:66 +msgid "Okular" +msgstr "Okular" + +#: ui/Main.qml:42 +msgid "Open…" +msgstr "開啟…" + +#: ui/Main.qml:49 +msgid "About" +msgstr "關於" + +#: ui/Main.qml:99 +msgid "Password Needed" +msgstr "需要密碼" + +#: ui/MainView.qml:29 +msgid "Remove bookmark" +msgstr "移除書籤" + +#: ui/MainView.qml:29 +msgid "Bookmark this page" +msgstr "將此頁面加入書籤" + +#: ui/OkularDrawer.qml:57 +msgid "Thumbnails" +msgstr "縮圖" + +#: ui/OkularDrawer.qml:71 +msgid "Table of contents" +msgstr "目錄" + +#: ui/OkularDrawer.qml:99 +msgid "Signatures" +msgstr "簽名" + +#: ui/SignaturePropertiesPage.qml:33 +msgid "Signature Properties" +msgstr "簽名屬性" + +#: ui/SignaturePropertiesPage.qml:40 +msgid "Validity Status" +msgstr "有效狀態" + +#: ui/SignaturePropertiesPage.qml:46 +msgid "Signature Validity:" +msgstr "簽名有效性:" + +#: ui/SignaturePropertiesPage.qml:53 +msgid "Document Modifications:" +msgstr "文件變更:" + +#: ui/SignaturePropertiesPage.qml:58 +msgid "Additional Information" +msgstr "額外資訊" + +#: ui/SignaturePropertiesPage.qml:64 +msgid "Signed By:" +msgstr "簽署者:" + +#: ui/SignaturePropertiesPage.qml:71 +msgid "Signing Time:" +msgstr "簽署時間:" + +#: ui/SignaturePropertiesPage.qml:80 +msgid "Reason:" +msgstr "原因:" + +#: ui/SignaturePropertiesPage.qml:90 +msgid "Location:" +msgstr "地點:" + +#: ui/SignaturePropertiesPage.qml:96 +msgid "Document Version" +msgstr "文件版本" + +#: ui/SignaturePropertiesPage.qml:104 +msgctxt "Document Revision of " +msgid "Document Revision %1 of %2" +msgstr "文件修訂版 %1,共 %2" + +#: ui/SignaturePropertiesPage.qml:108 +msgid "Save Signed Version…" +msgstr "儲存已簽名的版本…" + +#: ui/SignaturePropertiesPage.qml:122 ui/SignaturePropertiesPage.qml:137 +msgid "View Certificate…" +msgstr "檢視憑證…" + +#: ui/SignaturePropertiesPage.qml:171 +msgid "Could not save the signature." +msgstr "無法儲存簽名。" + +#: ui/Signatures.qml:27 +msgid "Not Available" +msgstr "不可用" + +#: ui/ThumbnailsBase.qml:42 +msgid "No results found." +msgstr "找不到資料。" + +#: ui/WelcomeView.qml:43 +msgid "No document open" +msgstr "沒有開啟文件" + +#: ui/WelcomeView.qml:49 +msgctxt "in welcome screen" +msgid "Recent Documents" +msgstr "最近的文件" + +#: ui/WelcomeView.qml:108 +msgctxt "in welcome screen" +msgid "My Documents" +msgstr "我的文件" + +#~ msgid "Open..." +#~ msgstr "開啟…" + +#~ msgid "Search..." +#~ msgstr "搜尋…" diff --git a/shell/CMakeLists.txt b/shell/CMakeLists.txt new file mode 100644 index 0000000..3a1abe7 --- /dev/null +++ b/shell/CMakeLists.txt @@ -0,0 +1,53 @@ + +include_directories( + ${CMAKE_CURRENT_SOURCE_DIR}/.. + ${CMAKE_CURRENT_BINARY_DIR}/../ +) + +# okular + +set(okular_SRCS + main.cpp + okular_main.cpp + shell.cpp + shellutils.cpp + welcomescreen.cpp + + ../gui/recentitemsmodel.cpp + + shell.qrc +) + +ki18n_wrap_ui(okular_SRCS + welcomescreen.ui) + +file(GLOB ICONS_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/../icons/*-apps-okular.png") +ecm_add_app_icon(okular_SRCS ICONS ${ICONS_SRCS}) + +add_executable(okular ${okular_SRCS}) + +target_link_libraries(okular KF6::I18n KF6::Parts KF6::WindowSystem KF6::Crash KF6::IconThemes KF6::KIOGui) +if (TARGET Qt6::DBus) + target_link_libraries(okular Qt6::DBus) +endif() +if (HAVE_X11) + target_link_libraries(okular Qt6::GuiPrivate) +endif() + +install(TARGETS okular ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}) + +if(APPLE) + set_target_properties(okular PROPERTIES + MACOSX_BUNDLE_DISPLAY_NAME "Okular" + MACOSX_BUNDLE_BUNDLE_NAME "Okular" + MACOSX_BUNDLE_LONG_VERSION_STRING "Okular ${RELEASE_SERVICE_VERSION}" + MACOSX_BUNDLE_SHORT_VERSION_STRING "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}" + MACOSX_BUNDLE_BUNDLE_VERSION "${RELEASE_SERVICE_VERSION}" + MACOSX_BUNDLE_GUI_IDENTIFIER "org.kde.okular" + MACOSX_BUNDLE_COPYRIGHT "2002-2024 The Okular Developers") +endif() + +# okular shell data files + +install( PROGRAMS org.kde.okular.desktop DESTINATION ${KDE_INSTALL_APPDIR} ) +install( FILES org.kde.okular.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR} ) diff --git a/shell/main.cpp b/shell/main.cpp new file mode 100644 index 0000000..37574bc --- /dev/null +++ b/shell/main.cpp @@ -0,0 +1,112 @@ +/* + SPDX-FileCopyrightText: 2002 Wilco Greven + SPDX-FileCopyrightText: 2003 Christophe Devriese + SPDX-FileCopyrightText: 2003 Laurent Montel + SPDX-FileCopyrightText: 2003-2007 Albert Astals Cid + SPDX-FileCopyrightText: 2004 Andy Goossens + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "shell.h" + +#include "aboutdata.h" +#include "okular_main.h" +#include "shellutils.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define HAVE_STYLE_MANAGER __has_include() +#if HAVE_STYLE_MANAGER +#include +#endif + +int main(int argc, char **argv) +{ + /** + * trigger initialisation of proper icon theme + */ +#if KICONTHEMES_VERSION >= QT_VERSION_CHECK(6, 3, 0) + KIconTheme::initTheme(); +#endif + + QCoreApplication::setAttribute(Qt::AA_CompressTabletEvents); + + QApplication app(argc, argv); + KLocalizedString::setApplicationDomain("okular"); + +#if HAVE_STYLE_MANAGER + /** + * trigger initialisation of proper application style + */ + KStyleManager::initStyle(); +#else + /** + * For Windows and macOS: use Breeze if available + * Of all tested styles that works the best for us + */ +#if defined(Q_OS_MACOS) || defined(Q_OS_WIN) + QApplication::setStyle(QStringLiteral("breeze")); +#endif +#endif + + KAboutData aboutData = okularAboutData(); + KAboutData::setApplicationData(aboutData); + // set icon for shells which do not use desktop file metadata + QApplication::setWindowIcon(QIcon::fromTheme(QStringLiteral("okular"))); + + KCrash::initialize(); + + QCommandLineParser parser; + // The KDE4 version accepted flags such as -unique with a single dash -> preserve compatibility + parser.setSingleDashWordOptionMode(QCommandLineParser::ParseAsLongOptions); + aboutData.setupCommandLine(&parser); + + parser.addOption(QCommandLineOption(QStringList() << QStringLiteral("p") << QStringLiteral("page"), i18n("Page of the document to be shown"), QStringLiteral("number"))); + parser.addOption(QCommandLineOption(QStringList() << QStringLiteral("presentation"), i18n("Start the document in presentation mode"))); + parser.addOption(QCommandLineOption(QStringList() << QStringLiteral("print"), i18n("Start with print dialog"))); + parser.addOption(QCommandLineOption(QStringList() << QStringLiteral("print-and-exit"), i18n("Start with print dialog and exit after printing"))); + parser.addOption(QCommandLineOption(QStringList() << QStringLiteral("unique"), i18n("\"Unique instance\" control"))); + parser.addOption(QCommandLineOption(QStringList() << QStringLiteral("noraise"), i18n("Not raise window"))); + parser.addOption(QCommandLineOption(QStringList() << QStringLiteral("find"), i18n("Find a string on the text"), QStringLiteral("string"))); + parser.addOption(QCommandLineOption(QStringList() << QStringLiteral("editor-cmd"), i18n("Sets the external editor command"), QStringLiteral("string"))); + parser.addPositionalArgument(QStringLiteral("urls"), i18n("Documents to open. Specify '-' to read from stdin.")); + + parser.process(app); + aboutData.processCommandLine(&parser); + + // see if we are starting with session management + if (app.isSessionRestored()) { + kRestoreMainWindows(); + } else { + // no session.. just start up normally + QStringList paths; + for (int i = 0; i < parser.positionalArguments().count(); ++i) { + paths << parser.positionalArguments().at(i); + } + Okular::Status status = Okular::main(paths, ShellUtils::serializeOptions(parser)); + switch (status) { + case Okular::Error: + return -1; + case Okular::AttachedOtherProcess: + return 0; + case Okular::Success: + // Do nothing + break; + } + } + + return app.exec(); +} + +/* kate: replace-tabs on; indent-width 4; */ diff --git a/shell/okular_main.cpp b/shell/okular_main.cpp new file mode 100644 index 0000000..86924dd --- /dev/null +++ b/shell/okular_main.cpp @@ -0,0 +1,245 @@ +/* + SPDX-FileCopyrightText: 2002 Wilco Greven + SPDX-FileCopyrightText: 2003 Christophe Devriese + SPDX-FileCopyrightText: 2003 Laurent Montel + SPDX-FileCopyrightText: 2003-2007 Albert Astals Cid + SPDX-FileCopyrightText: 2004 Andy Goossens + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "okular_main.h" + +#include "aboutdata.h" +#include "shell.h" +#include "shellutils.h" +#include +#include +#include +#include +#include +#include + +#include "config-okular.h" +#if HAVE_X11 +#include +#include +#endif +#if HAVE_DBUS +#include +#include +#endif // HAVE_DBUS + +#include + +static QString startupId() +{ + QString result; + if (KWindowSystem::isPlatformWayland()) { + result = qEnvironmentVariable("XDG_ACTIVATION_TOKEN"); + qunsetenv("XDG_ACTIVATION_TOKEN"); + } else if (KWindowSystem::isPlatformX11()) { +#if HAVE_X11 + result = QString::fromUtf8(QX11Info::nextStartupId()); +#endif + } + + return result; +} + +static bool attachUniqueInstance(const QStringList &paths, const QString &serializedOptions) +{ +#if HAVE_DBUS + if (!ShellUtils::unique(serializedOptions) || paths.count() != 1) { + return false; + } + + QDBusInterface iface(QStringLiteral("org.kde.okular"), QStringLiteral("/okularshell"), QStringLiteral("org.kde.okular")); + if (!iface.isValid()) { + return false; + } + + if (!ShellUtils::editorCmd(serializedOptions).isEmpty()) { + QString message = + i18n("You cannot set the editor command in an already running okular instance. Please disable the tabs and try again. Please note, that unique is also not supported when setting the editor command at the commandline.\n"); + std::cerr << message.toStdString(); + exit(1); + } + + const QString page = ShellUtils::page(serializedOptions); + iface.call(QStringLiteral("openDocument"), ShellUtils::urlFromArg(paths[0], ShellUtils::qfileExistFunc(), page).url(), serializedOptions); + if (!ShellUtils::noRaise(serializedOptions)) { + iface.call(QStringLiteral("tryRaise"), startupId()); + } + + return true; +#else // HAVE_DBUS + return false; +#endif // HAVE_DBUS +} + +// Ask an existing non-unique instance to open new tabs +static bool attachExistingInstance(const QStringList &paths, const QString &serializedOptions) +{ +#if HAVE_DBUS + if (paths.count() < 1) { + return false; + } + + // Don't try to attach to an existing instance with --print-and-exit because that would mean + // we're going to exit that other instance and that's just rude + if (ShellUtils::showPrintDialogAndExit(serializedOptions)) { + return false; + } + + // If DBus isn't running, we can't attach to an existing instance. + auto *sessionInterface = QDBusConnection::sessionBus().interface(); + if (!sessionInterface) { + return false; + } + + const QStringList services = sessionInterface->registeredServiceNames().value(); + + QScopedPointer bestService; +#if HAVE_X11 + const int desktop = KWindowSystem::isPlatformX11() ? KX11Extras::currentDesktop() : 0; +#else + const int desktop = 0; +#endif + + // Select the first instance that isn't us (metric may change in future) + const QString ownDbus = ShellUtils::currentProcessDbusName(); + for (const QString &service : services) { + if (service.startsWith(ShellUtils::kPerProcessDbusPrefix) && service != ownDbus) { + bestService.reset(new QDBusInterface(service, QStringLiteral("/okularshell"), QStringLiteral("org.kde.okular"))); + + // Find a window that can handle our documents + const QDBusReply reply = bestService->call(QStringLiteral("canOpenDocs"), (int)paths.count(), desktop); + if (reply.isValid() && reply.value()) { + break; + } + + bestService.reset(); + } + } + + if (!bestService) { + return false; + } + + for (const QString &arg : paths) { + // Copy stdin to temporary file which can be opened by the existing + // window. The temp file is automatically deleted after it has been + // opened. Not sure if this behavior is safe on all platforms. + QScopedPointer tempFile; + QString path; + if (arg == QLatin1String("-")) { + tempFile.reset(new QTemporaryFile); + QFile stdinFile; + if (!tempFile->open() || !stdinFile.open(stdin, QIODevice::ReadOnly)) { + return false; + } + + const size_t bufSize = 1024 * 1024; + QScopedPointer> buf(new char[bufSize]); + size_t bytes; + do { + bytes = stdinFile.read(buf.data(), bufSize); + tempFile->write(buf.data(), bytes); + } while (bytes != 0); + + path = tempFile->fileName(); + } else { + // Page only makes sense if we are opening one file + const QString page = ShellUtils::page(serializedOptions); + path = ShellUtils::urlFromArg(arg, ShellUtils::qfileExistFunc(), page).url(); + } + + // Returns false if it can't fit another document + const QDBusReply reply = bestService->call(QStringLiteral("openDocument"), path, serializedOptions); + if (!reply.isValid() || !reply.value()) { + return false; + } + } + + if (!ShellUtils::editorCmd(serializedOptions).isEmpty()) { + QString message( + i18n("You cannot set the editor command in an already running okular instance. Please disable the tabs and try again. Please note, that unique is also not supported when setting the editor command at the commandline.\n")); + std::cerr << message.toStdString(); + exit(1); + } + + bestService->call(QStringLiteral("tryRaise"), startupId()); + + return true; +#else // HAVE_DBUS + return false; +#endif // HAVE_DBUS +} + +namespace Okular +{ +Status main(const QStringList &paths, const QString &serializedOptions) +{ + if (ShellUtils::unique(serializedOptions) && paths.count() > 1) { + QTextStream stream(stderr); + stream << i18n("Error: Can't open more than one document with the --unique switch") << '\n'; + return Error; + } + + if (ShellUtils::startInPresentation(serializedOptions) && paths.count() > 1) { + QTextStream stream(stderr); + stream << i18n("Error: Can't open more than one document with the --presentation switch") << '\n'; + return Error; + } + + if (ShellUtils::showPrintDialog(serializedOptions) && paths.count() > 1) { + QTextStream stream(stderr); + stream << i18n("Error: Can't open more than one document with the --print switch") << '\n'; + return Error; + } + + if (!ShellUtils::page(serializedOptions).isEmpty() && paths.count() > 1) { + QTextStream stream(stderr); + stream << i18n("Error: Can't open more than one document with the --page switch") << '\n'; + return Error; + } + + if (!ShellUtils::find(serializedOptions).isEmpty() && paths.count() > 1) { + QTextStream stream(stderr); + stream << i18n("Error: Can't open more than one document with the --find switch") << '\n'; + return Error; + } + + // try to attach to existing session, unique or not + if (attachUniqueInstance(paths, serializedOptions) || attachExistingInstance(paths, serializedOptions)) { + return AttachedOtherProcess; + } + + Shell *shell = new Shell(serializedOptions); + if (!shell->isValid()) { + return Error; + } + + shell->show(); + for (int i = 0; i < paths.count();) { + // Page only makes sense if we are opening one file + const QString page = ShellUtils::page(serializedOptions); + const QUrl url = ShellUtils::urlFromArg(paths[i], ShellUtils::qfileExistFunc(), page); + if (shell->openDocument(url, serializedOptions)) { + ++i; + } else { + shell = new Shell(serializedOptions); + if (!shell->isValid()) { + return Error; + } + shell->show(); + } + } + + return Success; +} + +} + +/* kate: replace-tabs on; indent-width 4; */ diff --git a/shell/okular_main.h b/shell/okular_main.h new file mode 100644 index 0000000..fa0b6bc --- /dev/null +++ b/shell/okular_main.h @@ -0,0 +1,25 @@ +/* + SPDX-FileCopyrightText: 2002 Wilco Greven + SPDX-FileCopyrightText: 2003 Christophe Devriese + SPDX-FileCopyrightText: 2003 Laurent Montel + SPDX-FileCopyrightText: 2003-2007 Albert Astals Cid + SPDX-FileCopyrightText: 2004 Andy Goossens + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_MAIN_H_ +#define _OKULAR_MAIN_H_ +#include + +namespace Okular +{ +enum Status { Error, AttachedOtherProcess, Success }; + +Status main(const QStringList &paths, const QString &serializedOptions); + +} + +#endif + +/* kate: replace-tabs on; indent-width 4; */ diff --git a/shell/org.kde.okular.appdata.xml b/shell/org.kde.okular.appdata.xml new file mode 100644 index 0000000..dc66d68 --- /dev/null +++ b/shell/org.kde.okular.appdata.xml @@ -0,0 +1,445 @@ + + + org.kde.okular.desktop + CC0-1.0 + GPL-2.0+ and GFDL-1.3 + KDE + Okular + اوكلار + Okular + Okular + Okular + Okular + Okular + Okular + Okular + Okular + Okular + Okular + Okular + Okular + Okular + Okular + Okular + Okular + Okular + Okular + Okular + ऑकुलर + Okular + Okular + Okular + Okular + Okular + Okular + Okular + Okular + Okular + Okular + Okular + Okular + ਓਕੁਲਾਰ + Okular + Okular + Okular + Okular + Okular + नेत्रस्य + Okular + Okular + Окулар + Okular + Окулар + Okular + Okular + ஆக்குலர் + Okular + Okular + Okular + Okular 文档查看器 + Okular + View and annotate documents + يعرض المستندات و يستطيع وضع الشروح عليها + Sənədləri gözdən keçirin və qeydinizi yazın + Прагляд і анатаванне дакументаў + Преглед на документи и поставяне на бележки + Visualitzeu i anoteu documents + Visualitzeu i anoteu documents + Prohlížejte a přidávejte poznámky do dokumentů + Dokumente anzeigen und kommentieren + View and annotate documents + Rigardi kaj prinoti dokumentojn + Ver y anotar documentos + Dokumentuak ikusi eta idatzoarrak gehitu + Lue tiedostoja ja tee niihin merkintöjä + Afficher et annoter les documents + Ver e anotar documentos + הצגה והוספת הסברים על מסמכים + Dokumentumok megjelenítése és jegyzetelése + Vide e annota documentos + Skoða og glósa í skjöl + Visualizza ed annota documenti + დოკუმენტების დათვალიერება და ანოტაცია + 문서를 보고 주석 달기 + Peržiūrėti ir anotuoti dokumentus + Skatiet un anotējiet dokumentus + Documenten bekijken en annoteren + Vis og kommenter dokument + Oglądanie i opisywanie dokumentów + Visualizar documentos e adicionar anotações + Просмотр и рецензирование документов + दस्तावेजान् पश्यन्तु टिप्पणीं च कुर्वन्तु + Oglejte si in označite dokumente + Visa och kommentera dokument + ஆவணங்களைப் பாரத்து குறிப்பிடலாம் + Belgeleri görüntüle ve not ekle + Перегляд і анотування документів + 查看和批注文档 + 檢視或註記文件 + +

    + Okular is a universal document viewer developed by KDE. Okular works on multiple platforms, including but not limited to Linux, Windows, Mac OS X, *BSD, etc. +

    +

    اوكلار هو عارض مستندات عالمي مطور بواسطة كِيدِي. يعمل اوكلار على أنظمة أساسية متعددة، بما في ذلك على سبيل المثال لا الحصر لينكس و ويندوز و Mac OS X و * BSD وما إلى ذلك.

    +

    Okular KDE tərəfindən yaradılan sənədlərə universal baxış vasitəsidir. Okular Linux, Windows, Mac OS X, * BSD və s. digər bir çox platformada işləyir.

    +

    Okular - універсальны сродак для прагляду дакументаў, распрацаваны KDE. Okular працуе на многіх платформах, уключаючы Linux, Windows, Mac OS X, *BSD.

    +

    Okular е универсална програма за преглед на документи, разработена от KDE. Okular работи с множество платформи, включително, но не само, Linux, Windows и Mac OS X, *BSD и др.

    +

    L'Okular és un visualitzador universal de documents desenvolupat pel KDE. L'Okular funciona en múltiples plataformes, incloent-hi però sense limitar-se a Linux, Windows, Mac OS X, *BSD, etc.

    +

    Okular és un visor universal de documents desenvolupat per KDE. Okular funciona en múltiples plataformes, incloent-hi però sense limitar-se a Linux, Windows, Mac OS X, *BSD, etc.

    +

    Okular ist ein universeller Dokumentenbetrachter, der von KDE entwickelt wird. Okular ist auf verschiedenen Plattformen verfügbar, darunter auch Linux, Windows, Mac OS X, *BSD usw.

    +

    Το Okular είναι ένας καθολικός προβολέας εγγράφων που αναπτύχθηκε από το KDE. Το Okular λειτουργεί σε πολλές πλατφόρμες, όπως σε Linux, Windows, Mac OS X, *BSD, κλπ.

    +

    Okular is a universal document viewer developed by KDE. Okular works on multiple platforms, including but not limited to Linux, Windows, Mac OS X, *BSD, etc.

    +

    Okular estas universala dokumentrigardilo evoluigita de KDE. Okular funkcias sur pluraj platformoj, inkluzive sed ne limigitaj al Linukso, Vindozo, Mac OS X, *BSD, ktp.

    +

    Okular es un visor universal de documentos desarrollado por KDE. Okular funciona en diversas plataformas, incluidas Linux, Windows, Mac OS X, *BSD, etc.

    +

    Okular on KDE välja töötatud universaalne dokumentide näitaja. Okular võib töötada eri platvormidel, kaasa arvatud Linux, Windows, Mac OS X, *BSD jne.

    +

    Okular KDEk garatutako dokumentu erakusle unibertsal bat da. Okular hainbat plataformatan dabil, haien artean baino ez soilik haietara mugatua, Linux, windows, Mac OS X, *BSD, etab.

    +

    Okular on KDE:n kehittämä yleiskäyttöinen asiakirjakatselin. Okular toimii useissa ympäristöissä kuten Linuxissa, Windowsissa, Mac OS X:ssä, *BSD:ssä jne.

    +

    Okular est un afficheur universel de documents développé par KDE. Okular fonctionne sur de multiples plate-formes, comme Linux, Windows, Mac OS X, etc.

    +

    Okular é un visor de documentos universal desenvolvido por KDE. Okular funciona en varias plataformas, entre elas Linux, Windows, Mac OS X, *BSD, etc.

    +

    Okular הוא מציג מסמכים אוניברסלי שפותח על ידי KDE.‏ Okular תומך במגוון פלטפורמות, כולל לינוקס, Windows,‏ mac OS X, מגוון סוגי BSD ועוד.

    +

    ओकुलर केडीई द्वारा विकसित एक सार्वव्यापी दस्तावेज़ दर्शक है। ओकुलर कई प्लेटफार्मों पर काम करता है, जिसमें लिनक्स, विंडोज, मैक ओएस एक्स, *बीएसडी, आदि शामिल हैं, लेकिन इन्हीं तक सीमित नहीं है।

    +

    Az Okulat a KDE által fejlesztett univerzális dokumentummegjelenítő. Számos platformon elérhető, többek között Linuxon, Windowson, Mac OS X-en, BSD rendszereken, stb.

    +

    Okular es un visor universal de documento disveloppate per KDE. Okular functiona sur platteformas multiple includente sed non limitate a Linux, Windows, MAcOS X, *BSD, etc.

    +

    Okular adalah penampil dokumen universal yang dikembangkan oleh KDE. Okular bekerja pada banyak platform, termasuk tetapi tidak terbatas pada Linux, Windows, Mac OS X, *BSD, dll.

    +

    Okular es un universal visor de documentes developpat de KDE. Okular supporta multiplic platformes, includente Linux, Windows, macOS, *BSD etc.

    +

    Okular er skjalaskoðari frá KDE. Okular er til fyrir ýmis stýrikerfi, þ.á m. (en ekki bara) Linux, Windows, Mac OS X, *BSD, o.fl.

    +

    Okular è un lettore universale di documenti sviluppato da KDE. Okular funziona su varie piattaforme, incluse (ma non solo) Linux, Windows, Mac OS X, *BSD, ecc.

    +

    Okular დოკუმენტების უნივერსალური დამთვალიერებელია KDE-სგან. Okular ბევრ პლატფორმაზე მუშაობს. მაგ: Linux, Windows, Mac OS X, *BSD და სხვა.

    +

    Okular는 만능 문서 뷰어입니다. Okular는 리눅스, macOS, Windows, *BSD 등 여러 플랫폼에서 동작합니다.

    +

    Okular yra universali, KDE plėtojama dokumentų žiūryklė. Okular veikia keliose platformose, įskaitant, tačiau neapsiribojant Linux, Windows, Mac OS X, *BSD ir t.t.

    +

    „Okular“ ir universāls dokumentu skatītājs, ko izstrādā KDE. „Okular“ darbojas uz dažādām platformām, tostarp „Linux“, „Windows“, „Mac OS X“, *BSD u.c.

    +

    Okular is een universele documentviewer ontwikkeld door KDE. Okular werkt op meerdere platforms, inclusief, maar niet beperkt tot Linux, Windows, Mac OS X, *BSD, etc.

    +

    Okular er ein dokumentvisar for mange ulike filformat, og er utvikla av KDE. Okular køyrer på fleire plattformer, blant anna Linux, Windows, Mac OS X og *BSD.

    +

    ਓਕੁਲਾਰ ਕੇਡੀਈ ਵਲੋਂ ਬਣਾਇਆ ਯੂਨੀਵਰਸਲ ਦਸਤਾਵੇਜ਼ ਦਰਸ਼ਕ ਹੈ। ਓਕੁਲਾਰ ਕਈ ਪਲੇਟਫਾਰਮਾਂ ਉੱਤੇ ਕੰਮ ਕਰਦਾ ਹੈ, ਜਿਸ ਵਿੱਚ ਲੀਨਕਸ, ਵਿੰਡੋਜ਼, ਮੈਕ ਓਐਸ ਐਕਸ, *BSD ਆਦਿ ਸ਼ਾਮਲ ਹਨ, ਉਹਨਾਂ ਤੱਕ ਸੀਮਿਤ ਨਹੀਂ ਹੈ।

    +

    Okular jest wszechstronną przeglądarką dokumentów opracowaną przez KDE. Okular działa na wielu platformach takich jak Linux, Windows, Mac OS X, *BSD, itp.

    +

    O Okular é um visualizador universal de documentos desenvolvido pelo KDE. O Okular funciona em diversas plataformas, incluindo mas não se limitando ao Linux, Windows, Mac OS X, *BSD, etc.

    +

    O Okular é um visualizador de documentos universal desenvolvido pelo KDE. Ele funciona em várias plataformas, incluindo, mas não se limitando, o Linux, Windows, Mac OS X, *BSD, etc.

    +

    Okular e un vizualizor de documente universal dezvoltat de KDE. Okular funcționează pe multe platforme, inclusiv Linux, Windows, Mac OS X, *BSD, etc.

    +

    Okular — универсальная программа просмотра документов от KDE. Okular работает на многих платформах: Linux, Windows, Mac OS X, *BSD и других.

    +

    Okular इति KDE द्वारा विकसितः सार्वत्रिकः दस्तावेजदर्शकः अस्ति । Okular बहुषु मञ्चेषु कार्यं करोति, यत्र Linux, Windows, Mac OS X, *BSD इत्यादयः सन्ति किन्तु एतेषु एव सीमिताः न सन्ति ।

    +

    Okular je univerzálny prehliadač dokumentov vyvinutý v KDE. Okular beží na mnohých platformách, vrátane Linux, Windows, Mac OS X, *BSD, atď.

    +

    Okular je univerzalni pregledovalnik dokumentov, ki so ga razvili pri KDE. Dela v več okoljih vključno s sistemi Linux, Windows, Mac OS X in *BSD, itd.

    +

    Окулар је универзални приказивач докумената, који развија КДЕ. Ради на већем броју платформи, укључујући Линукс, Виндоуз, МекОС X, БСД‑ове, итд.

    +

    Okular je univerzalni prikazivač dokumenata, koji razvija KDE. Radi na većem broju platformi, uključujući Linux, Windows, MacOS X, BSD‑ove, itd.

    +

    Окулар је универзални приказивач докумената, који развија КДЕ. Ради на већем броју платформи, укључујући Линукс, Виндоуз, МекОС X, БСД‑ове, итд.

    +

    Okular je univerzalni prikazivač dokumenata, koji razvija KDE. Radi na većem broju platformi, uključujući Linux, Windows, MacOS X, BSD‑ove, itd.

    +

    Okular är en universell dokumentvisare utvecklad av KDE. Okular fungerar på flera plattformar, inklusive men inte begränsat till Linux, Windows, Max OS X, *BSD, etc.

    +

    ஆக்குலர், கே.டீ.யீ. வழங்கும் ஆவணங்காட்டி ஆகும். லினக்ஸ், விண்டோஸ், Mac OS X, *BSD போன்ற இயக்குதளங்களில் ஆக்குலர் இயங்கும்.

    +

    Okular, KDE tarafından geliştirilen çok amaçlı bir belge görüntüleyicisidir. Okular; Linux, Windows, macOS, *BSD, vb. dahil; ancak bunlarla sınırlı olmayan birden çok platformda çalışır.

    +

    Okular є універсальною програмою для перегляду документів, розробленою KDE. Okular може працювати на багатьох програмних платформах, зокрема Linux, Windows, Mac OS X, *BSD тощо.

    +

    Okular là một trình xem tài liệu vạn năng do KDE phát triển. Okular hoạt động trên nhiều nền tảng, bao gồm Linux, Windows, Mac OS X, *BSD, v.v.

    +

    Okular 是一款由 KDE 开发的通用文档查看器。它支持在多种平台上运行,包括且不限于 Linux、Windows、Mac OS X、* BSD 等。

    +

    Okular 是一個由 KDE 開發的通用文件檢視器。Okular 可以在多種平臺上運作,包含但不限於 Linux, Windows, Mac OS X, *BSD 等等。

    +

    Features:

    +

    الميزات:

    +

    İmkanlar:

    +

    Магчымасці:

    +

    Функции:

    +

    Característiques:

    +

    Característiques:

    +

    Vlastnosti:

    +

    Funktionen:

    +

    Χαρακτηριστικά:

    +

    Features:

    +

    Trajtoj:

    +

    Funciones:

    +

    Omadused:

    +

    Eginbideak:

    +

    Ominaisuuksia:

    +

    Fonctionnalités :

    +

    Funcionalidades:

    +

    יכולות:

    +

    विशेषताएँ:

    +

    Szolgáltatások:

    +

    Characteristicas:

    +

    Fitur:

    +

    Caracteristicas:

    +

    Eiginleikar:

    +

    Funzionalità:

    +

    თვისებები:

    +

    기능:

    +

    Ypatybės:

    +

    Iespējas:

    +

    Kenmerken:

    +

    Funksjonar:

    +

    ਫੀਚਰ:

    +

    Możliwości:

    +

    Funcionalidades:

    +

    Funcionalidades:

    +

    Caracteristici:

    +

    Возможности:

    +

    गुणाः:

    +

    Funkcie:

    +

    Zmožnosti:

    +

    Могућности:

    +

    Mogućnosti:

    +

    Могућности:

    +

    Mogućnosti:

    +

    Funktioner:

    +

    அம்சங்கள்:

    +

    Özellikler:

    +

    Можливості:

    +

    Tính năng:

    +

    功能特性:

    +

    功能:

    +
      +
    • Supported Formats: PDF, PS, Tiff, DjVu, Images, DVI, XPS, Fiction Book, Comic Book, Plucker, EPub, Fax
    • +
    • يدعم التنسيقات: PDF و PS و Tiff و DjVu و Images و DVI و XPS و Fiction Book و Comic Book و Plucker و EPub و Fax
    • +
    • Падтрымліваюцца фарматы: PDF, PS, Tiff, DjVu, Images, DVI, XPS, Fiction Book, Comic Book, Plucker, EPub, Fax
    • +
    • Поддържани формати: PDF, PS, Tiff, DjVu, Images, DVI, XPS, Fiction Book, Comic Book, Plucker, EPub, Fax
    • +
    • Formats acceptats: PDF, PS, Tiff, DjVu, imatges, DVI, XPS, Fiction Book, llibres de còmic, Plucker, EPub, Fax
    • +
    • Formats acceptats: PDF, PS, Tiff, DjVu, imatges, DVI, XPS, Fiction Book, llibres de còmic, Plucker, EPub, Fax
    • +
    • Unterstützte Formate: PDF, PS, Tiff, DjVu, Images, DVI, XPS, Fiction Book, Comic Book, Plucker, EPub, Fax
    • +
    • Supported Formats: PDF, PS, Tiff, DjVu, Images, DVI, XPS, Fiction Book, Comic Book, Plucker, EPub, Fax
    • +
    • Subtenataj Formatoj: PDF, PS, Tiff, DjVu, Bildoj, DVI, XPS, Fikciolibro, Komiklibro, Plucker, EPub, Fakso
    • +
    • Formatos permitidos: PDF, PS, Tiff, DjVu, imágenes, DVI, XPS, Fiction Book, libros de cómics, Plucker, EPub, Fax
    • +
    • Onartutako formatuak: PDF, PS, Tiff, DjVu, irudiak, DVI, XPS, FictionBook, Comic Book, Plucker, EPub, Fax
    • +
    • Tuetut tiedostomuodot: PDF, PS, TIFF, DjVu, kuvatiedostot, DVI, XPS, FictionBook, sarjakuvakirjat, Plucker, EPub, faksit
    • +
    • Formats de fichiers pris en charge : pdf, ps, Tiff, DjVU, Images, DVI, XPS, Fiction Book, Comic Book, Plucker, ePub, Fax
    • +
    • Formatos compatíbeis: PDF, PS, Tiff, DjVu, imaxes, DVI, XPS, Fiction Book, banda deseñada, Plucker, EPub e fax.
    • +
    • תסדירים נתמכים: PDF,‏ PS,‏ Tiff,‏ DjVu, תמונות, DVI,‏ XPS,‏ Fiction Book,‏ Comic Book,‏ Plucker, ספר אלקטרוני/EPub, פקס
    • +
    • Támogatott formátumok: PDF, PS, Tiff, DjVu, képek, DVI, XPS, illusztrált könyvek, képregények, Plucker, EPub, Fax
    • +
    • Formatos supportate: PDF, PS, Tiff, DjVu, Images, DVI, XPS, Fiction Book, Comic Book, Plucker, EPub, Fax
    • +
    • Studd snið: PDF, PS, Tiff, DjVu, myndir, DVI, XPS, Fiction Book, Comic Book, Plucker, EPub, Fax
    • +
    • Formati supportati: PDF, PS, Tiff, DjVu, immagini, DVI, XPS, Fiction Book, fumetti, Plucker, EPub, Fax
    • +
    • მხარდაჭერილი ფორმატები: PDF, PS, Tiff, DjVu, სურათები, DVI, XPS, ფანტასტიკის წიგნი, Comic Book, Plucker, EPub, Fax
    • +
    • 지원하는 형식: PDF, PS, Tiff, DjVu, 사진, DVI, XPS, Fiction Book, 만화책, Plucker, EPub, 팩스
    • +
    • Palaikomi formatai: PDF, PS, Tiff, DjVu, paveikslai, DVI, XPS, Fiction Book, komiksų knygos, Plucker, EPub, faksas
    • +
    • AtbalstÄ«tie formāti: PDF, PS, „Tiff“, „DjVu“, attēli, DVI, XPS, „Fiction Book“, „Comic Book“, „Plucker“, „EPub“, fakss
    • +
    • Ondersteunde formaten: PDF, PS, Tiff, DjVu, Afbeeldingen, DVI, XPS, Fictionbook, Stripboek, Plucker, EPub, Fax
    • +
    • Støtta format: PDF, PS, Tiff, DjVu, bilete, DVI, XPS, e-bøker, teikneseriar, Plucker, EPub, Fax
    • +
    • Obsługiwane formaty: PDF, PS, Tiff, DjVu, Obrazy, DVI, XPS, Fiction Book, Comic Book, Plucker, EPub, Fax
    • +
    • Suporte aos formatos: PDF, PS, Tiff, DjVu, Images, DVI, XPS, Fiction Book, Comic Book, Plucker, EPub, Fax
    • +
    • Поддержка форматов PDF, PS, Tiff, DjVu, изображений, DVI, XPS, Fiction Book, Comic Book, Plucker, EPub, факсов;
    • +
    • समर्थित प्रारूपाः: पीडीएफ, पीएस, टिफ, डीजेवीयू, इमेजेज, डीवीआई, एक्सपीएस, कथापुस्तक, हास्यपुस्तक, प्लकर, ईपीयूबी, फैक्स
    • +
    • Podprti formati: PDF, PS, Tiff, CHM, DjVu, slike, DVI, XPS, Fiction Book, Comic Book, Plucker, EPub, Fax
    • +
    • Format som stöds: PDF, PS, Tiff, DjVu, bilder, DVI, XPS, Fiction Book, Comic Book, Plucker, EPub, Fax
    • +
    • ஆதரிக்கப்படும் கோப்பு வகைகள்: PDF, PS, Tiff, DjVu, படங்கள், DVI, XPS, Fiction Book, வரைகதை புத்தகம், Plucker, EPub, Fax
    • +
    • Desteklenen biçimler: PDF, PS, Tiff, DjVu, Images, DVI, XPS, Fiction Book, Comic Book, Plucker, EPub, Fax
    • +
    • Підтримувані формати: PDF, PS, Tiff, DjVu, зображення, DVI, XPS, Fiction Book, комікси, Plucker, EPub, факси.
    • +
    • 支持的格式:PDF、PS、TIFF、DjVu、图像、DVI、XPS、ODT、FictionBook (FB*)、Comic Book (CB*)、Plucker、EPub、传真
    • +
    • 支援的檔案格式:PDF, PS, Tiff, DjVu, Images, DVI, XPS, Fiction Book, Comic Book, Plucker, EPub, Fax
    • +
    • Sidebar with contents, thumbnails, reviews and bookmarks
    • +
    • الشريط الجانبي مع المحتويات والصور المصغرة والمراجعات والإشارات المرجعية
    • +
    • Tərkibləri, miniatürləri, öncədən baxışı və əlfəcinləri ilə yan panel
    • +
    • Бакавая панэль са змесцівам, мініяцюрамі, аглядамі і закладкамі
    • +
    • Странична лента със съдържание, миниатюри, отзиви и отметки
    • +
    • Barra lateral amb el contingut, miniatures, revisions i punts
    • +
    • Barra lateral amb el contingut, miniatures, revisions i punts
    • +
    • Seitenleiste mit Inhalten, Vorschau, Anmerkungen und Lesezeichen
    • +
    • Πλευρική γραμμή με περιεχόμενα, εικόνες προεπισκόπησης, αναλύσεις και σελιδοδείκτες
    • +
    • Sidebar with contents, thumbnails, reviews and bookmarks
    • +
    • Flankbreto kun enhavo, bildetoj, recenzoj kaj legosignoj
    • +
    • Barra lateral con contenido, miniaturas, revisiones y marcadores
    • +
    • Külgriba sisukorra, pisipiltide, annotatsioonide ja järjehoidjatega
    • +
    • Alboko-barra edukiekin, koadro-txikiekin, iritziekin eta laster-markekin
    • +
    • Sivupaneeli, jossa sisältö, pienoiskuvat, tarkastelut ja kirjanmerkit
    • +
    • Barre latérale montrant les contenus, vignettes, informations de relecture et signets
    • +
    • Barra lateral con contido, miniaturas, revisións e marcadores.
    • +
    • סרגל צד עם תוכן, תצוגות מוקטנות, סקירות וסימניות
    • +
    • सामग्री, लगुछवी, समीक्षा और पुस्तचिन्ह के साथ बाजुपट्टी
    • +
    • Oldalsáv tartalomjegyzékkel, előnézettel, értékelésekkel és könyvjelzőkkel
    • +
    • Barra lateral con contentos, miniaturas, revisiones e marcatores de libro
    • +
    • Bilah sisi dengan konten, gambar-mini, ulasan, dan markah
    • +
    • Panel lateral con li tabelle de contenete, miniaturas, revisiones e marca-págines
    • +
    • Hliðarstika með innihaldi skjala, smámyndum, ummælum og bókamerkjum
    • +
    • Barra laterale con contenuti, miniature, revisioni e segnalibri
    • +
    • გვერდითი პანელი შემცველობით, მინიატურებით, გადახედვებით და სანიშნებით
    • +
    • 목차, 책갈피, 섬네일, 주석이 있는 사이드바
    • +
    • Å oninė juosta su turiniu, miniatiÅ«romis, atsiliepimais ir žymelėmis
    • +
    • Sānu josla ar saturu, sÄ«ktēliem, pārskatiem un grāmatzÄ«mēm
    • +
    • Zijbalk met inhoud, miniaturen, reviews en bladwijzers
    • +
    • Sidestolpe med innhaldsliste, miniatyrbilete, omtalar og bokmerke
    • +
    • ਸਮੱਗਰੀ, ਥੰਮਨੇਲ, ਪੜਤਾਲਾਂ ਤੇ ਬੁੱਕਮਾਰਕਾਂ ਨਾਲ ਬਾਹੀ
    • +
    • Pasek boczny z treścią, miniaturami, recenzjami i zakładkami
    • +
    • Barra lateral com o conteúdo, miniaturas, revisões e marcação de favoritos
    • +
    • Barra lateral com o conteúdo, miniaturas, revisões e favoritos
    • +
    • Bară laterală cu cuprins, miniaturi, recenzii și semne de carte
    • +
    • Боковая панель с содержанием, миниатюрами страниц, комментариями и закладками;
    • +
    • सामग्री, लघुचित्रं, समीक्षाः, पुस्तकचिह्नानि च सहितं पार्श्वपट्टिका
    • +
    • Posuvník s obsahom, miniatúrami, revíziami a záložkami
    • +
    • Stranska vrstica z vsebino, sličicami, ocenami in zaznamki
    • +
    • Бочна трака са садржајем, сличицама, рецензијама и обележивачима.
    • +
    • Bočna traka sa sadržajem, sličicama, recenzijama i obeleživačima.
    • +
    • Бочна трака са садржајем, сличицама, рецензијама и обележивачима.
    • +
    • Bočna traka sa sadržajem, sličicama, recenzijama i obeleživačima.
    • +
    • Sidorad med innehÃ¥ll, miniatyrbilder, granskningar och bokmärken
    • +
    • பொருளடக்கம், சிறுபடங்கள், குறிப்புகள், மற்றும் நினைவுக்குறிகளை காட்டும் ஓரப்பட்டை
    • +
    • İçindekiler, küçük görseller, incelemeler ve yer imleri bulunan kenar çubuğu
    • +
    • Бічні панелі зі списками змісту, мініатюрами сторінок, можливість рецензування та додавання закладок.
    • +
    • Thanh bên với mục lục, hình nhỏ, nhận xét và dấu nhớ
    • +
    • 侧栏可以显示目录、页面缩略图、批注和书签
    • +
    • 有內容、縮圖、回顧與書籤等選項的側邊欄
    • +
    • Annotations support
    • +
    • دعم التعليقات
    • +
    • Şərh yazılmasını dəstəkləyir
    • +
    • Падтрымка анатацый
    • +
    • Поддръжка на анотации
    • +
    • Admet anotacions
    • +
    • Admet anotacions
    • +
    • Podpora poznámek
    • +
    • Unterstützung für Anmerkungen
    • +
    • Υποστήριξη σημειώσεων
    • +
    • Annotations support
    • +
    • Subteno de komentarioj
    • +
    • Permite el uso de notas
    • +
    • Annotatsioonide toetus
    • +
    • Idatzoharrak onartzen ditu
    • +
    • Merkintöjen tuki
    • +
    • Gestion des annotations
    • +
    • Funcionalidade de anotacións.
    • +
    • תמיכה בהסברים
    • +
    • टीकाओं का समर्थन
    • +
    • Jegyzetek támogatása
    • +
    • Supporto de annotationes
    • +
    • Dukungan anotasi
    • +
    • Supporte de anotationes
    • +
    • Glósur
    • +
    • Supporto per le annotazioni
    • +
    • ანოტაციების მხარდაჭერა
    • +
    • 주석 지원
    • +
    • Anotacijų palaikymas
    • +
    • Anotāciju atbalsts
    • +
    • Ondersteuning van annotaties
    • +
    • Støtte for pÃ¥teikningar
    • +
    • ਵਿਆਖਿਆਵਾਂ ਲਈ ਸਹਿਯੋਗ
    • +
    • Obsługa przypisów
    • +
    • Suporte para anotações
    • +
    • Suporte a anotações
    • +
    • Suport pentru adnotări
    • +
    • Поддержка комментариев.
    • +
    • एनोटेशन्स् समर्थनम्
    • +
    • Podpora anotácií
    • +
    • Podpora zabeležkam
    • +
    • Подршка за тумачења.
    • +
    • PodrÅ¡ka za tumačenja.
    • +
    • Подршка за тумачења.
    • +
    • PodrÅ¡ka za tumačenja.
    • +
    • Stöd för kommentarer
    • +
    • குறிப்புகளை ஆதரிக்கும்
    • +
    • Ek açıklamalar desteği
    • +
    • Підтримка анотування.
    • +
    • Hỗ trợ chú dẫn
    • +
    • 支持批注功能
    • +
    • 支援註記
    • +
    +
    + + + Reading manual in Okular + قراءة دليل في اوكلار + Okular'da oxumaq təlimatı + Дапаможнік па чытанні ў Okular + Ръководство за четене в Okular + Lectura de manuals a l'Okular + Lectura de manuals en Okular + Čtení manuálu v Okularu + Lesen eines Handbuchs in Okular + Ανάγνωση οδηγού χρήσης στο Okular + Reading manual in Okular + Legomanlibro en Okular + Lectura del manual en Okular + Käsiraamatu lugemine Okularis + Eskuliburua Okularren irakurtzea + Oppaan lukeminen Okularissa + Lecture d'un manuel dans Okular + Ler o manual en Okular. + קריאת מדריך ב־Okular + ओकुलर में सहाय्य पुस्तिका पढ़ना + Kézikönyv olvasása Okularban + Legente manual in Okular + Petunjuk di Okular + Letion de un manuale in Okular + Handbókin lesin í Okular + Consultazione di un manuale in Okular + კითხვის სახელმძღვანელო Okular- ში + Okular로 설명서 읽기 + Vadovo skaitymas programoje Okular + Rokasgrāmatas lasīšana programmā „Okular“ + Handleiding wordt gelezen in Okular + Lesing av brukarhandbok i Okular + ਓਕੁਲਾਰ ਵਿੱਚ ਮੈਨੂਅਲ ਪੜ੍ਹੋ + Instrukcja czytania w Okularze + Leitura de manual no Okular + Lendo manual no Okular + Citirea unui manual în Okular + Документ, открытый в Okular + ओकुलरभाषायां पठनपुस्तिका + Čítanie návodu v Okular + Branje priročnikov v Okularju + Läsa handbok i Okular + ஆக்குலரில் ஓர் கையேடை படித்தல் + Belgelendirmeyi Okular ile oku + Читання підручника в Okular + Đọc sổ tay trong Okular + 使用 Okular 阅读产品说明书 + 在 Okular 中閱讀文件 + https://cdn.kde.org/screenshots/okular/okular-annotation.png + + + https://cdn.kde.org/screenshots/okular/okular.png + + + https://okular.kde.org/ + https://bugs.kde.org/enter_bug.cgi?format=guided&product=okular + https://docs.kde.org/?application=okular + https://www.kde.org/community/donations/?app=okular&source=appdata + KDE + + okular + + + + https://www.microsoft.com/store/apps/9n41msq1wnm8 + #okular + okular-devel@kde.org + 251 + + + org.kde.okular.desktop + + + + + + + + + + + + + + + + + + + + + + + + + +
    diff --git a/shell/org.kde.okular.desktop b/shell/org.kde.okular.desktop new file mode 100755 index 0000000..960e5ee --- /dev/null +++ b/shell/org.kde.okular.desktop @@ -0,0 +1,199 @@ +[Desktop Entry] +Terminal=false +Name=Okular +Name[ar]=اوكلار +Name[az]=Okular +Name[be]=Okular +Name[bg]=Okular +Name[bs]=Okular +Name[ca]=Okular +Name[ca@valencia]=Okular +Name[cs]=Okular +Name[da]=Okular +Name[de]=Okular +Name[el]=Okular +Name[en_GB]=Okular +Name[eo]=Okular +Name[es]=Okular +Name[et]=Okular +Name[eu]=Okular +Name[fi]=Okular +Name[fr]=Okular +Name[ga]=Okular +Name[gl]=Okular +Name[he]=Okular +Name[hne]=ओकुलर +Name[hr]=Okular +Name[hu]=Okular +Name[ia]=Okular +Name[ie]=Okular +Name[is]=Okular +Name[it]=Okular +Name[ja]=Okular +Name[ka]=Okular +Name[kk]=Okular +Name[km]=Okular +Name[ko]=Okular +Name[ku]=Okular +Name[lt]=Okular +Name[lv]=Okular +Name[mr]=ओक्युलर +Name[nb]=Okular +Name[nds]=Okular +Name[nl]=Okular +Name[nn]=Okular +Name[pa]=ਓਕੁਲਾਰ +Name[pl]=Okular +Name[pt]=Okular +Name[pt_BR]=Okular +Name[ro]=Okular +Name[ru]=Okular +Name[sa]=नेत्रस्य +Name[si]=Okular +Name[sk]=Okular +Name[sl]=Okular +Name[sq]=Okular +Name[sr]=Окулар +Name[sr@ijekavian]=Окулар +Name[sr@ijekavianlatin]=Okular +Name[sr@latin]=Okular +Name[sv]=Okular +Name[ta]=ஆக்குலர் +Name[th]=โอกูลาร์ +Name[tr]=Okular +Name[ug]=Okular +Name[uk]=Okular +Name[vi]=Okular +Name[zh_CN]=Okular 文档查看器 +Name[zh_TW]=Okular +GenericName=Document Viewer +GenericName[ar]=عارض المستندات +GenericName[az]=Sənədə baxış vasitısi +GenericName[be]=Сродак для прагляду дакументаў +GenericName[bg]=Преглед на документи +GenericName[bs]=Prikazivač dokumenata +GenericName[ca]=Visualitzador de documents +GenericName[ca@valencia]=Visor de documents +GenericName[cs]=Prohlížeč dokumentů +GenericName[da]=Dokumentfremviser +GenericName[de]=Dokumentenbetrachter +GenericName[el]=Προβολέας εγγράφων +GenericName[en_GB]=Document Viewer +GenericName[eo]=Dokumenta rigardilo +GenericName[es]=Visor de documentos +GenericName[et]=Dokumendinäitaja +GenericName[eu]=Dokumentu erakuslea +GenericName[fa]=مشاهده‌گر سند +GenericName[fi]=Asiakirjakatselin +GenericName[fr]=Afficheur de documents +GenericName[ga]=Amharcán Cáipéisí +GenericName[gl]=Visor de documentos +GenericName[he]=מציג מסמכים +GenericName[hi]=दस्तावेज़ प्रदर्शक +GenericName[hne]=कागद प्रदर्सक +GenericName[hr]=Preglednik dokumenata +GenericName[hu]=Dokumentummegjelenítő +GenericName[ia]=Visor de documento +GenericName[ie]=Visor de documentes +GenericName[is]=Skjalaskoðari +GenericName[it]=Visore di documenti +GenericName[ja]=文書ビューア +GenericName[ka]=დოკუმენტების მნახველი +GenericName[kk]=Құжатты қарау құралы +GenericName[km]=កម្មវិធី​មើល​ឯកសារ +GenericName[ko]=문서 뷰어 +GenericName[ku]=Nîşanderê Belgeyan +GenericName[lt]=Dokumentų žiūryklė +GenericName[lv]=Dokumentu skatītājs +GenericName[mr]=दस्तऐवज प्रदर्शक +GenericName[nb]=Dokumentviser +GenericName[nds]=Dokmentkieker +GenericName[ne]=कागजात दर्शक +GenericName[nl]=Documentenviewer +GenericName[nn]=Dokumentvisar +GenericName[oc]=Visualizaire de documents +GenericName[pa]=ਡੌਕੂਮੈਂਟ ਦਰਸ਼ਕ +GenericName[pl]=Przeglądarka dokumentów +GenericName[pt]=Visualizador de Documentos +GenericName[pt_BR]=Visualizador de documentos +GenericName[ro]=Vizualizor de documente +GenericName[ru]=Просмотр документов +GenericName[sa]=दस्तावेज दर्शक +GenericName[sk]=Prehliadač dokumentov +GenericName[sl]=Pregledovalnik dokumentov +GenericName[sq]=Shikues dokumentesh +GenericName[sr]=Приказивач докумената +GenericName[sr@ijekavian]=Приказивач докумената +GenericName[sr@ijekavianlatin]=Prikazivač dokumenata +GenericName[sr@latin]=Prikazivač dokumenata +GenericName[sv]=Dokumentvisare +GenericName[ta]=ஆவணங் காட்டி +GenericName[th]=เครื่องมือแสดงเอกสาร +GenericName[tr]=Belge Görüntüleyicisi +GenericName[ug]=پۈتۈك كۆرگۈ +GenericName[uk]=Переглядач документів +GenericName[vi]=Trình xem tài liệu +GenericName[zh_CN]=文档查看器 +GenericName[zh_TW]=文件檢視器 +Comment=Universal document viewer +Comment[ar]=عارض المستندات عالمي +Comment[az]=Sənədə universal baxış vasitəsi +Comment[be]=Універсальны сродак для прагляду дакументаў +Comment[bg]=Универсална програма за преглед на документи +Comment[ca]=Visualitzador universal de documents +Comment[ca@valencia]=Visor universal de documents +Comment[cs]=Univerzální prohlížeč dokumentů +Comment[da]=Universel dokumentfremviser +Comment[de]=Universeller Dokumentenbetrachter +Comment[el]=Καθολικός προβολέας εγγράφων +Comment[en_GB]=Universal document viewer +Comment[eo]=Universala dokumenta spektilo +Comment[es]=Visor de documentos universal +Comment[et]=Universaalne dokumendinäitaja +Comment[eu]=Dokumentu erakusle unibertsala +Comment[fi]=Yleinen asiakirjakatselin +Comment[fr]=Afficheur de document universel +Comment[gl]=Visor de documentos universal. +Comment[he]=מציג מסמכים אוניברסלי +Comment[hu]=Univerzális dokumentummegjelenítő +Comment[ia]=Visor de documento universal +Comment[ie]=Universal visor de documentes +Comment[is]=Fjölhæfur skjalaskoðari +Comment[it]=Visore di documenti universale +Comment[ja]=多用途な文書ビューア +Comment[ka]=დოკუმენტების პოპულარული ფორმატების გამხსნელი +Comment[ko]=만능 문서 뷰어 +Comment[lt]=Universali dokumentų žiūryklė +Comment[lv]=Universāls dokumentu skatītājs +Comment[nl]=Universele documentviewer +Comment[nn]=Dokumentvisar for mange format +Comment[pa]=ਯੂਨੀਵਰਸਲ ਡੌਕੂਮੈਂਟ ਦਰਸ਼ਕ +Comment[pl]=Wszechstronna przeglądarka dokumentów +Comment[pt]=Visualizador de documentos universal +Comment[pt_BR]=Visualizador de documentos universal +Comment[ro]=Vizualizor de documente universal +Comment[ru]=Универсальная программа просмотра документов +Comment[sa]=सार्वभौमिक दस्तावेज दर्शक +Comment[sk]=Univerzálny prehliadač dokumentov +Comment[sl]=Vsestranski pregledovalnik dokumentov +Comment[sq]=Shikues univerzal dokumentesh +Comment[sr]=Универзални приказивач докумената +Comment[sr@ijekavian]=Универзални приказивач докумената +Comment[sr@ijekavianlatin]=Univerzalni prikazivač dokumenata +Comment[sr@latin]=Univerzalni prikazivač dokumenata +Comment[sv]=Generell dokumentvisare +Comment[ta]=அனைத்து ஆவணங்களுக்கான காட்டி +Comment[tr]=Çok amaçlı belge görüntüleyicisi +Comment[uk]=Універсальний переглядач документів +Comment[vi]=Trình xem tài liệu vạn năng +Comment[zh_CN]=通用文档查看器 +Comment[zh_TW]=通用文件檢視器 +Exec=okular %U +Icon=okular +Type=Application +X-DocPath=okular/index.html +InitialPreference=7 +Categories=Qt;KDE;Graphics;Office;Viewer; +MimeType=application/vnd.kde.okular-archive; +X-DBUS-ServiceName=org.kde.okular +StartupWMClass=okular diff --git a/shell/shell.cpp b/shell/shell.cpp new file mode 100644 index 0000000..55d9ccc --- /dev/null +++ b/shell/shell.cpp @@ -0,0 +1,1187 @@ +/* + SPDX-FileCopyrightText: 2002 Wilco Greven + SPDX-FileCopyrightText: 2002 Chris Cheney + SPDX-FileCopyrightText: 2003 Benjamin Meyer + SPDX-FileCopyrightText: 2003-2004 Christophe Devriese + SPDX-FileCopyrightText: 2003 Laurent Montel + SPDX-FileCopyrightText: 2003-2004 Albert Astals Cid + SPDX-FileCopyrightText: 2003 Luboš Luňák + SPDX-FileCopyrightText: 2003 Malcolm Hunter + SPDX-FileCopyrightText: 2004 Dominique Devriese + SPDX-FileCopyrightText: 2004 Dirk Mueller + + Work sponsored by the LiMux project of the city of Munich: + SPDX-FileCopyrightText: 2017 Klarälvdalens Datakonsult AB a KDAB Group company + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "shell.h" + +// qt/kde includes +#include +#include +#include +#include +#include +#include +#include +#include +#include +#if !defined(Q_OS_WIN) && !defined(Q_OS_OSX) && !defined(Q_OS_HAIKU) +#include +#include +#endif +#include +#include +#include +#include +#include +#include +#if HAVE_DBUS +#include +#endif // HAVE_DBUS +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +// local includes +#include "../interfaces/viewerinterface.h" +#include "kdocumentviewer.h" +#include "shellutils.h" + +static const char *shouldShowMenuBarComingFromFullScreen = "shouldShowMenuBarComingFromFullScreen"; +static const char *shouldShowToolBarComingFromFullScreen = "shouldShowToolBarComingFromFullScreen"; + +static const char *const SESSION_URL_KEY = "Urls"; +static const char *const SESSION_TAB_KEY = "ActiveTab"; + +static constexpr char SIDEBAR_LOCKED_KEY[] = "LockSidebar"; +static constexpr char SIDEBAR_VISIBLE_KEY[] = "ShowSidebar"; + +static inline QString DesktopEntryGroupKey() +{ + return QStringLiteral("Desktop Entry"); +} +static inline QString RecentFilesGroupKey() +{ + return QStringLiteral("Recent Files"); +} +static inline QString GeneralGroupKey() +{ + return QStringLiteral("General"); +} + +class ResizableStackedWidget : public QStackedWidget +{ + Q_OBJECT + +public: + QSize sizeHint() const override + { + return currentWidget()->sizeHint(); + } + QSize minimumSizeHint() const override + { + return currentWidget()->minimumSizeHint(); + } +}; + +/** + * Groups sidebar containers in a QDockWidget. + * + * This control groups all the sidebar containers provided by each tab (the Part object), + * allowing the user to dock it to the left and right sides of the window, + * or detach it from the window altogether. + */ +class Sidebar : public QDockWidget +{ + Q_OBJECT + +public: + explicit Sidebar(QWidget *parent = nullptr) + : QDockWidget(parent) + { + setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); + setFeatures(defaultFeatures()); + + m_stackedWidget = new QStackedWidget; + setWidget(m_stackedWidget); + // It seems that without requesting a specific minimum size, Qt + // somehow calculates a (0,-1) minimum size, and then Qt gets angry + // that negative sizes is not possible. + setMinimumSize(10, 10); + } + + bool isLocked() const + { + return features().testFlag(NoDockWidgetFeatures); + } + + void setLocked(bool locked) + { + setFeatures(locked ? NoDockWidgetFeatures : defaultFeatures()); + + // show titlebar only if not locked + if (locked) { + if (!m_dumbTitleWidget) { + m_dumbTitleWidget = new QWidget; + } + setTitleBarWidget(m_dumbTitleWidget); + } else { + setTitleBarWidget(nullptr); + } + } + + int indexOf(QWidget *widget) const + { + return m_stackedWidget->indexOf(widget); + } + + void addWidget(QWidget *widget) + { + m_stackedWidget->addWidget(widget); + } + + void removeWidget(QWidget *widget) + { + m_stackedWidget->removeWidget(widget); + } + + void setCurrentWidget(QWidget *widget) + { + m_stackedWidget->setCurrentWidget(widget); + } + +private: + static DockWidgetFeatures defaultFeatures() + { + DockWidgetFeatures dockFeatures = DockWidgetClosable | DockWidgetMovable; + if (!KWindowSystem::isPlatformWayland()) { // TODO : Remove this check when QTBUG-87332 is fixed + dockFeatures |= DockWidgetFloatable; + } + + return dockFeatures; + } + + QStackedWidget *m_stackedWidget = nullptr; + QWidget *m_dumbTitleWidget = nullptr; +}; + +Shell::Shell(const QString &serializedOptions) + : KParts::MainWindow() + , m_menuBarWasShown(true) + , m_toolBarWasShown(true) + , m_isValid(true) +{ + setObjectName(QStringLiteral("okular::Shell#")); + setContextMenuPolicy(Qt::NoContextMenu); + // otherwise .rc file won't be found by unit test + setComponentName(QStringLiteral("okular"), QString()); + // set the shell's ui resource file + setXMLFile(QStringLiteral("shell.rc")); + m_fileformatsscanned = false; + m_showMenuBarAction = nullptr; + // this routine will find and load our Part. it finds the Part by + // name which is a bad idea usually.. but it's alright in this + // case since our Part is made for this Shell + + const auto result = KPluginFactory::loadFactory(KPluginMetaData(QStringLiteral("kf6/parts/okularpart"))); + + if (!result) { + // if we couldn't find our Part, we exit since the Shell by + // itself can't do anything useful + m_isValid = false; + KMessageBox::error(this, i18n("Unable to find the Okular component: %1", result.errorString)); + return; + } else { + m_partFactory = result.plugin; + } + + // now that the Part plugin is loaded, create the part + KParts::ReadWritePart *const firstPart = m_partFactory->create(this); + if (firstPart) { + // Setup the central widget + m_centralStackedWidget = new ResizableStackedWidget(); + setCentralWidget(m_centralStackedWidget); + + // Setup the welcome screen + m_welcomeScreen = new WelcomeScreen(this); + connect(m_welcomeScreen, &WelcomeScreen::openClicked, this, &Shell::fileOpen); + connect(m_welcomeScreen, &WelcomeScreen::closeClicked, this, &Shell::hideWelcomeScreen); + connect(m_welcomeScreen, &WelcomeScreen::recentItemClicked, this, [this](const QUrl &url) { openUrl(url); }); + connect(m_welcomeScreen, &WelcomeScreen::forgetRecentItem, this, &Shell::forgetRecentItem); + m_centralStackedWidget->addWidget(m_welcomeScreen); + + m_welcomeScreen->installEventFilter(this); + + // Setup tab bar + m_tabWidget = new QTabWidget(this); + m_tabWidget->setTabsClosable(true); + m_tabWidget->setElideMode(Qt::ElideRight); + m_tabWidget->tabBar()->hide(); + m_tabWidget->setDocumentMode(true); + m_tabWidget->setMovable(true); + + m_tabWidget->setAcceptDrops(true); + m_tabWidget->tabBar()->installEventFilter(this); + + m_centralStackedWidget->addWidget(m_tabWidget); + + connect(m_tabWidget, &QTabWidget::currentChanged, this, &Shell::setActiveTab); + connect(m_tabWidget, &QTabWidget::tabCloseRequested, this, &Shell::closeTab); + connect(m_tabWidget->tabBar(), &QTabBar::tabMoved, this, &Shell::moveTabData); + + m_sidebar = new Sidebar; + m_sidebar->setObjectName(QStringLiteral("okular_sidebar")); + m_sidebar->setContextMenuPolicy(Qt::ActionsContextMenu); + m_sidebar->setWindowTitle(i18n("Sidebar")); + connect(m_sidebar, &QDockWidget::visibilityChanged, this, [this](bool visible) { + // sync sidebar visibility with the m_showSidebarAction only if welcome screen is hidden + if (m_showSidebarAction && m_centralStackedWidget->currentWidget() != m_welcomeScreen) { + m_showSidebarAction->setChecked(visible); + } + if (m_centralStackedWidget->currentWidget() == m_welcomeScreen) { + // MainWindow tries hard to make its child dockwidgets shown, but during + // welcome screen we don't want to see the sidebar, + // so try a bit more to actually hide it. + m_sidebar->hide(); + } + }); + addDockWidget(Qt::LeftDockWidgetArea, m_sidebar); + + // then, setup our actions + setupActions(); + connect(QCoreApplication::instance(), &QCoreApplication::aboutToQuit, this, &QObject::deleteLater); + // and integrate the part's GUI with the shell's + setupGUI(Keys | ToolBar | Save); + + // NOTE : apply default sidebar width only after calling setupGUI(...) + resizeDocks({m_sidebar}, {200}, Qt::Horizontal); + + m_tabs.append(TabState(firstPart)); + m_tabWidget->addTab(firstPart->widget(), QString()); // triggers setActiveTab that calls createGUI( part ) + + connectPart(firstPart); + + readSettings(); + + m_unique = ShellUtils::unique(serializedOptions); +#if HAVE_DBUS + if (m_unique) { + m_unique = QDBusConnection::sessionBus().registerService(QStringLiteral("org.kde.okular")); + if (!m_unique) { + KMessageBox::information(this, i18n("There is already a unique Okular instance running. This instance won't be the unique one.")); + } + } else { + // TODO When porting to KF7 Remove + // PID is not unique in containers and "-" in the name violates D-Bus naming conventions. + // Was left for compatibility with 3rd-party scripts. + QString serviceName = QStringLiteral("org.kde.okular-") + QString::number(qApp->applicationPid()); + QDBusConnection::sessionBus().registerService(serviceName); + + QDBusConnection::sessionBus().registerService(ShellUtils::currentProcessDbusName()); + } + if (ShellUtils::noRaise(serializedOptions)) { + setAttribute(Qt::WA_ShowWithoutActivating); + } + + { + const QString editorCmd = ShellUtils::editorCmd(serializedOptions); + if (!editorCmd.isEmpty()) { + QMetaObject::invokeMethod(firstPart, "setEditorCmd", Q_ARG(QString, editorCmd)); + } + } + + QDBusConnection::sessionBus().registerObject(QStringLiteral("/okularshell"), this, QDBusConnection::ExportScriptableSlots); +#endif // HAVE_DBUS + + // Make sure that the welcome scren is visible on startup. + showWelcomeScreen(); + } else { + m_isValid = false; + KMessageBox::error(this, i18n("Unable to find the Okular component.")); + } + + connect(guiFactory(), &KXMLGUIFactory::shortcutsSaved, this, &Shell::reloadAllXML); +} + +void Shell::reloadAllXML() +{ + for (const TabState &tab : std::as_const(m_tabs)) { + tab.part->reloadXML(); + } +} + +void Shell::keyPressEvent(QKeyEvent *e) +{ + if (e->key() == Qt::Key_Escape && window()->isFullScreen()) { + setFullScreen(false); + } +} + +bool Shell::eventFilter(QObject *obj, QEvent *event) +{ + QDragMoveEvent *dmEvent = dynamic_cast(event); + if (dmEvent) { + bool accept = dmEvent->mimeData()->hasUrls(); + event->setAccepted(accept); + return accept; + } + + QDropEvent *dEvent = dynamic_cast(event); + if (dEvent) { + const QList list = KUrlMimeData::urlsFromMimeData(dEvent->mimeData()); + handleDroppedUrls(list); + dEvent->setAccepted(true); + return true; + } + + // Handle middle button click events on the tab bar + if (obj == m_tabWidget->tabBar() && event->type() == QEvent::MouseButtonRelease) { + QMouseEvent *mEvent = static_cast(event); + if (mEvent->button() == Qt::MiddleButton) { + int tabIndex = m_tabWidget->tabBar()->tabAt(mEvent->pos()); + if (tabIndex != -1) { + closeTab(tabIndex); + return true; + } + } + } + return KParts::MainWindow::eventFilter(obj, event); +} + +bool Shell::isValid() const +{ + return m_isValid; +} + +void Shell::showOpenRecentMenu() +{ + m_recent->menu()->popup(QCursor::pos()); +} + +Shell::~Shell() +{ + if (!m_tabs.empty()) { + writeSettings(); + for (const TabState &tab : std::as_const(m_tabs)) { + tab.part->closeUrl(false); + } + m_tabs.clear(); + } +#if HAVE_DBUS + if (m_unique) { + QDBusConnection::sessionBus().unregisterService(QStringLiteral("org.kde.okular")); + } +#endif // HAVE_DBUS + + delete m_tabWidget; +} + +// Open a new document if we have space for it +// This can hang if called on a unique instance and openUrl pops a messageBox +bool Shell::openDocument(const QUrl &url, const QString &serializedOptions) +{ + if (m_tabs.size() <= 0) { + return false; + } + + hideWelcomeScreen(); + + KParts::ReadWritePart *const part = m_tabs[0].part; + + // Return false if we can't open new tabs and the only part is occupied + if (!qobject_cast(part)->openNewFilesInTabs() && !part->url().isEmpty() && !ShellUtils::unique(serializedOptions)) { + return false; + } + + openUrl(url, serializedOptions); + + return true; +} + +bool Shell::openDocument(const QString &urlString, const QString &serializedOptions) +{ + return openDocument(QUrl(urlString), serializedOptions); +} + +void Shell::openNewlySignedFile(const QString &path, int pageNumber) +{ + // for now, this function just applies the "replace current document" + // strategy for opening. + // Given signing is slightly closer to annotating and saving, the over + // all user experience should not be that different + // The fact that we get a different file out of saving is a bit of a + // implementation detail that shouldn't leak that much onto the users + QUrl url = QUrl::fromLocalFile(path); + url.setFragment(QStringLiteral("page=%1").arg(pageNumber)); + + const int activeTab = m_tabWidget->currentIndex(); + KParts::ReadWritePart *const activePart = m_tabs[activeTab].part; + activePart->closeUrl(false); + activePart->openUrl(url); +} + +bool Shell::canOpenDocs(int numDocs, int desktop) +{ + if (m_tabs.size() <= 0 || numDocs <= 0 || m_unique) { + return false; + } + + KParts::ReadWritePart *const part = m_tabs[0].part; + const bool allowTabs = qobject_cast(part)->openNewFilesInTabs(); + + if (!allowTabs && (numDocs > 1 || !part->url().isEmpty())) { + return false; + } + +#if !defined(Q_OS_WIN) && !defined(Q_OS_OSX) && !defined(Q_OS_HAIKU) + const KWindowInfo winfo(window()->effectiveWinId(), NET::WMDesktop); + if (winfo.desktop() != desktop) { + return false; + } +#endif + + return true; +} + +void Shell::openUrl(const QUrl &url, const QString &serializedOptions) +{ + hideWelcomeScreen(); + + const int activeTab = m_tabWidget->currentIndex(); + KParts::ReadWritePart *const activePart = m_tabs[activeTab].part; + if (!activePart->url().isEmpty()) { + if (m_unique) { + applyOptionsToPart(activePart, serializedOptions); + activePart->openUrl(url); + } else { + if (qobject_cast(activePart)->openNewFilesInTabs()) { + openNewTab(url, serializedOptions); + } else { + Shell *newShell = new Shell(serializedOptions); + newShell->show(); + newShell->openUrl(url, serializedOptions); + } + } + } else { + m_tabWidget->setTabText(activeTab, url.fileName()); + m_tabWidget->setTabToolTip(activeTab, url.fileName()); + + applyOptionsToPart(activePart, serializedOptions); + bool openOk = activePart->openUrl(url); + const bool isstdin = url.fileName() == QLatin1String("-") || url.scheme() == QLatin1String("fd"); + if (!isstdin) { + if (openOk) { + m_recent->addUrl(url); + } else { + m_recent->removeUrl(url); + closeTab(activeTab); + } + } + } +} + +void Shell::closeUrl() +{ + closeTab(m_tabWidget->currentIndex()); + + // When closing the current tab two things can happen: + // * the focus was on the tab + // * the focus was somewhere in the toolbar + // we don't have other places that accept focus + // * If it was on the tab, logic says it should go back to the next current tab + // * If it was on the toolbar, we could leave it there, but since we redo the menus/toolbars for the new tab, it gets kind of lost + // so it's easier to set it to the next current tab which also makes sense as consistency + if (m_tabWidget->count() >= 0) { + KParts::ReadWritePart *const newPart = m_tabs[m_tabWidget->currentIndex()].part; + newPart->widget()->setFocus(); + } +} + +void Shell::readSettings() +{ + readRecentFilesSettings(); + + const KConfigGroup group = KSharedConfig::openConfig()->group(DesktopEntryGroupKey()); + bool fullScreen = group.readEntry("FullScreen", false); + setFullScreen(fullScreen); + + if (fullScreen) { + m_menuBarWasShown = group.readEntry(shouldShowMenuBarComingFromFullScreen, true); + m_toolBarWasShown = group.readEntry(shouldShowToolBarComingFromFullScreen, true); + } + + const KConfigGroup sidebarGroup = KSharedConfig::openConfig()->group(GeneralGroupKey()); + m_sidebar->setVisible(sidebarGroup.readEntry(SIDEBAR_VISIBLE_KEY, true)); + m_sidebar->setLocked(sidebarGroup.readEntry(SIDEBAR_LOCKED_KEY, true)); + + m_showSidebarAction->setChecked(m_sidebar->isVisibleTo(this)); + m_lockSidebarAction->setChecked(m_sidebar->isLocked()); +} + +void Shell::writeSettings() +{ + saveRecents(); + + KConfigGroup sidebarGroup = KSharedConfig::openConfig()->group(GeneralGroupKey()); + sidebarGroup.writeEntry(SIDEBAR_LOCKED_KEY, m_sidebar->isLocked()); + // NOTE : Consider whether the m_showSidebarAction is checked, because + // the sidebar can be forcibly hidden if the welcome screen is displayed + sidebarGroup.writeEntry(SIDEBAR_VISIBLE_KEY, m_sidebar->isVisibleTo(this) || m_showSidebarAction->isChecked()); + + KConfigGroup group = KSharedConfig::openConfig()->group(DesktopEntryGroupKey()); + group.writeEntry("FullScreen", m_fullScreenAction->isChecked()); + if (m_fullScreenAction->isChecked()) { + group.writeEntry(shouldShowMenuBarComingFromFullScreen, m_menuBarWasShown); + group.writeEntry(shouldShowToolBarComingFromFullScreen, m_toolBarWasShown); + } + KSharedConfig::openConfig()->sync(); +} + +void Shell::saveRecents() +{ + m_recent->saveEntries(KSharedConfig::openConfig()->group(RecentFilesGroupKey())); +} + +void Shell::setupActions() +{ + KStandardAction::open(this, SLOT(fileOpen()), actionCollection()); + m_recent = KStandardAction::openRecent(this, SLOT(openUrl(QUrl)), actionCollection()); + m_recent->setToolBarMode(KRecentFilesAction::MenuMode); + connect(m_recent, &QAction::triggered, this, &Shell::showOpenRecentMenu); + connect(m_recent, &KRecentFilesAction::recentListCleared, this, &Shell::refreshRecentsOnWelcomeScreen); + connect(m_welcomeScreen, &WelcomeScreen::forgetAllRecents, m_recent, &KRecentFilesAction::clear); + m_recent->setToolTip(i18n("Click to open a file\nClick and hold to open a recent file")); + m_recent->setWhatsThis(i18n("Click to open a file or Click and hold to select a recent file")); + m_printAction = KStandardAction::print(this, SLOT(print()), actionCollection()); + m_printAction->setEnabled(false); + m_closeAction = KStandardAction::close(this, SLOT(closeUrl()), actionCollection()); + m_closeAction->setEnabled(false); + KStandardAction::quit(this, SLOT(close()), actionCollection()); + + setStandardToolBarMenuEnabled(true); + + m_showMenuBarAction = KStandardAction::showMenubar(this, SLOT(slotShowMenubar()), actionCollection()); + m_fullScreenAction = KStandardAction::fullScreen(this, SLOT(slotUpdateFullScreen()), this, actionCollection()); + + m_nextTabAction = actionCollection()->addAction(QStringLiteral("tab-next")); + m_nextTabAction->setText(i18n("Next Tab")); + actionCollection()->setDefaultShortcuts(m_nextTabAction, KStandardShortcut::tabNext()); + m_nextTabAction->setEnabled(false); + connect(m_nextTabAction, &QAction::triggered, this, &Shell::activateNextTab); + + m_prevTabAction = actionCollection()->addAction(QStringLiteral("tab-previous")); + m_prevTabAction->setText(i18n("Previous Tab")); + actionCollection()->setDefaultShortcuts(m_prevTabAction, KStandardShortcut::tabPrev()); + m_prevTabAction->setEnabled(false); + connect(m_prevTabAction, &QAction::triggered, this, &Shell::activatePrevTab); + + m_undoCloseTab = actionCollection()->addAction(QStringLiteral("undo-close-tab")); + m_undoCloseTab->setText(i18n("Undo close tab")); + actionCollection()->setDefaultShortcut(m_undoCloseTab, QKeySequence(Qt::CTRL | Qt::SHIFT | Qt::Key_T)); + m_undoCloseTab->setIcon(QIcon::fromTheme(QStringLiteral("edit-undo"))); + m_undoCloseTab->setEnabled(false); + connect(m_undoCloseTab, &QAction::triggered, this, &Shell::undoCloseTab); + + m_lockSidebarAction = actionCollection()->addAction(QStringLiteral("okular_lock_sidebar")); + m_lockSidebarAction->setCheckable(true); + m_lockSidebarAction->setIcon(QIcon::fromTheme(QStringLiteral("lock"))); + m_lockSidebarAction->setText(i18n("Lock Sidebar")); + connect(m_lockSidebarAction, &QAction::triggered, m_sidebar, &Sidebar::setLocked); + m_sidebar->addAction(m_lockSidebarAction); +} + +void Shell::saveProperties(KConfigGroup &group) +{ + if (!m_isValid) { // part couldn't be loaded, nothing to save + return; + } + + // Gather lists of settings to preserve + QStringList urls; + for (const TabState &tab : std::as_const(m_tabs)) { + urls.append(tab.part->url().url()); + } + group.writePathEntry(SESSION_URL_KEY, urls); + group.writeEntry(SESSION_TAB_KEY, m_tabWidget->currentIndex()); +} + +void Shell::readProperties(const KConfigGroup &group) +{ + // Reopen documents based on saved settings + QStringList urls = group.readPathEntry(SESSION_URL_KEY, QStringList()); + int desiredTab = group.readEntry(SESSION_TAB_KEY, 0); + + while (!urls.isEmpty()) { + openUrl(QUrl(urls.takeFirst())); + } + + if (desiredTab < m_tabs.size()) { + setActiveTab(desiredTab); + } +} + +void Shell::fileOpen() +{ + // this slot is called whenever the File->Open menu is selected, + // the Open shortcut is pressed (usually CTRL+O) or the Open toolbar + // button is clicked + const int activeTab = m_tabWidget->currentIndex(); + if (!m_fileformatsscanned) { + const KDocumentViewer *const doc = qobject_cast(m_tabs[activeTab].part); + Q_ASSERT(doc); + + m_fileformats = doc->supportedMimeTypes(); + + m_fileformatsscanned = true; + } + + QUrl startDir; + const KParts::ReadWritePart *const curPart = m_tabs[activeTab].part; + if (curPart->url().isLocalFile()) { + startDir = KIO::upUrl(curPart->url()); + } + if (startDir.isEmpty() || (startDir == QUrl::fromLocalFile(QDir::rootPath()))) { + startDir = QUrl::fromLocalFile(QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation)); + } + + QPointer dlg(new QFileDialog(this)); + dlg->setDirectoryUrl(startDir); + dlg->setAcceptMode(QFileDialog::AcceptOpen); + dlg->setOption(QFileDialog::HideNameFilterDetails, true); + dlg->setFileMode(QFileDialog::ExistingFiles); // Allow selection of more than one file + + QMimeDatabase mimeDatabase; + // Unfortunately non Plasma file dialogs don't support the "All supported files" when using + // setMimeTypeFilters instead of setNameFilters, so for those use setNameFilters which is a bit + // worse because doesn't show you pdf files named bla.blo when you say "show me the pdf files", but + // that's solvable by choosing "All Files" and it's not that common while it's more convenient to + // only get shown the files that the application can open by default instead of all of them + const bool useMimeTypeFilters = qgetenv("XDG_CURRENT_DESKTOP").toLower() == "kde"; + if (useMimeTypeFilters) { + QStringList mimetypes; + for (const QString &mimeName : std::as_const(m_fileformats)) { + QMimeType mimeType = mimeDatabase.mimeTypeForName(mimeName); + mimetypes << mimeType.name(); + } + mimetypes.prepend(QStringLiteral("application/octet-stream")); + dlg->setMimeTypeFilters(mimetypes); + } else { + QSet globPatterns; + QMap namedGlobs; + for (const QString &mimeName : std::as_const(m_fileformats)) { + QMimeType mimeType = mimeDatabase.mimeTypeForName(mimeName); + const QStringList globs(mimeType.globPatterns()); + if (globs.isEmpty()) { + continue; + } + + globPatterns.unite(QSet(globs.begin(), globs.end())); + + namedGlobs[mimeType.comment()].append(globs); + } + QStringList namePatterns; + for (auto it = namedGlobs.cbegin(); it != namedGlobs.cend(); ++it) { + namePatterns.append(it.key() + QLatin1String(" (") + it.value().join(QLatin1Char(' ')) + QLatin1Char(')')); + } + + const QStringList allGlobPatterns = globPatterns.values(); + namePatterns.prepend(i18n("All files (*)")); + namePatterns.prepend(i18n("All supported files (%1)", allGlobPatterns.join(QLatin1Char(' ')))); + dlg->setNameFilters(namePatterns); + } + + dlg->setWindowTitle(i18n("Open Document")); /* cppcheck-suppress nullPointerRedundantCheck ; QPointer things here is not understood*/ + if (dlg->exec() && dlg) { /* cppcheck-suppress nullPointerRedundantCheck ; QPointer things here is not understood*/ + const QList urlList = dlg->selectedUrls(); + for (const QUrl &url : urlList) { + openUrl(url); + } + } + + if (dlg) { + delete dlg.data(); + } +} + +void Shell::tryRaise(const QString &startupId) +{ +#if !defined(Q_OS_WIN) && !defined(Q_OS_OSX) && !defined(Q_OS_HAIKU) + if (KWindowSystem::isPlatformWayland()) { + KWindowSystem::setCurrentXdgActivationToken(startupId); + } else if (KWindowSystem::isPlatformX11()) { + KStartupInfo::setNewStartupId(window()->windowHandle(), startupId.toUtf8()); + } +#else + Q_UNUSED(startupId); +#endif + + KWindowSystem::activateWindow(window()->windowHandle()); +} + +// only called when starting the program +void Shell::setFullScreen(bool useFullScreen) +{ + if (useFullScreen) { + setWindowState(windowState() | Qt::WindowFullScreen); // set + } else { + setWindowState(windowState() & ~Qt::WindowFullScreen); // reset + } +} + +void Shell::setCaption(const QString &caption) +{ + bool modified = false; + + const int activeTab = m_tabWidget->currentIndex(); + if (activeTab != -1) { + KParts::ReadWritePart *const activePart = m_tabs[activeTab].part; + QString tabCaption = activePart->url().fileName(); + if (activePart->isModified()) { + modified = true; + if (!tabCaption.isEmpty()) { + tabCaption.append(QStringLiteral(" *")); + } + } + + m_tabWidget->setTabText(activeTab, tabCaption); + } + + setCaption(caption, modified); +} + +void Shell::showEvent(QShowEvent *e) +{ + if (!menuBar()->isNativeMenuBar() && m_showMenuBarAction) { + m_showMenuBarAction->setChecked(menuBar()->isVisible()); + } + + KParts::MainWindow::showEvent(e); +} + +void Shell::slotUpdateFullScreen() +{ + if (m_fullScreenAction->isChecked()) { + m_menuBarWasShown = !menuBar()->isHidden(); + menuBar()->hide(); + + m_toolBarWasShown = !toolBar()->isHidden(); + toolBar()->hide(); + + KToggleFullScreenAction::setFullScreen(this, true); + } else { + if (m_menuBarWasShown) { + menuBar()->show(); + } + if (m_toolBarWasShown) { + toolBar()->show(); + } + KToggleFullScreenAction::setFullScreen(this, false); + } +} + +void Shell::slotShowMenubar() +{ + if (menuBar()->isHidden()) { + menuBar()->show(); + } else { + menuBar()->hide(); + } +} + +QSize Shell::sizeHint() const +{ + const QSize baseSize = QApplication::primaryScreen()->availableSize() * 0.6; + // Set an arbitrary yet sensible sane minimum size for very small screens; + // for example we don't want people using 1366x768 screens to get a tiny + // default window size of 820 x 460 which will elide most of the toolbar buttons. + return baseSize.expandedTo(QSize(1000, 700)); +} + +bool Shell::queryClose() +{ + if (m_tabs.count() > 1) { + const QString dontAskAgainName = QStringLiteral("ShowTabWarning"); + KMessageBox::ButtonCode dummy = KMessageBox::PrimaryAction; + if (KMessageBox::shouldBeShownTwoActions(dontAskAgainName, dummy)) { + QDialog *dialog = new QDialog(this); + dialog->setWindowTitle(i18n("Confirm Close")); + + QDialogButtonBox *buttonBox = new QDialogButtonBox(dialog); + buttonBox->setStandardButtons(QDialogButtonBox::Yes | QDialogButtonBox::No); + KGuiItem::assign(buttonBox->button(QDialogButtonBox::Yes), KGuiItem(i18n("Close Tabs"), QStringLiteral("tab-close"))); + KGuiItem::assign(buttonBox->button(QDialogButtonBox::No), KStandardGuiItem::cancel()); + + bool checkboxResult = true; + const int result = KMessageBox::createKMessageBox(dialog, + buttonBox, + QMessageBox::Question, + i18n("You are about to close %1 tabs. Are you sure you want to continue?", m_tabs.count()), + QStringList(), + i18n("Warn me when I attempt to close multiple tabs"), + &checkboxResult, + KMessageBox::Notify); + + if (!checkboxResult) { + KMessageBox::saveDontShowAgainTwoActions(dontAskAgainName, dummy); + } + + if (result != QDialogButtonBox::Yes) { + return false; + } + } + } + + for (int i = 0; i < m_tabs.size(); ++i) { + KParts::ReadWritePart *const part = m_tabs[i].part; + + // To resolve confusion about multiple modified docs, switch to relevant tab + if (part->isModified()) { + setActiveTab(i); + } + + if (!part->queryClose()) { + return false; + } + } + return true; +} + +void Shell::setActiveTab(int tab) +{ + if (m_showSidebarAction) { + m_showSidebarAction->disconnect(m_sidebar); + } + + m_tabWidget->setCurrentIndex(tab); + + // NOTE : createGUI(...) breaks the visibility of the sidebar, so we need + // to save and restore it + const bool isSidebarVisible = m_sidebar->isVisible(); + createGUI(m_tabs[tab].part); + m_sidebar->setVisible(isSidebarVisible); + + // dock KPart's sidebar if new and make it current + Okular::ViewerInterface *iPart = qobject_cast(m_tabs[tab].part); + Q_ASSERT(iPart); + QWidget *sideContainer = iPart->getSideContainer(); + if (m_sidebar->indexOf(sideContainer) == -1) { + m_sidebar->addWidget(sideContainer); + if (m_sidebar->maximumWidth() > sideContainer->maximumWidth()) { + m_sidebar->setMaximumWidth(sideContainer->maximumWidth()); + } + } + m_sidebar->setCurrentWidget(sideContainer); + + m_showSidebarAction = m_tabs[tab].part->actionCollection()->action(QStringLiteral("show_leftpanel")); + Q_ASSERT(m_showSidebarAction); + m_showSidebarAction->disconnect(m_sidebar); + m_showSidebarAction->setChecked(m_sidebar->isVisibleTo(this)); + connect(m_showSidebarAction, &QAction::triggered, m_sidebar, &Sidebar::setVisible); + + m_printAction->setEnabled(m_tabs[tab].printEnabled); + m_closeAction->setEnabled(m_tabs[tab].closeEnabled); +} + +void Shell::closeTab(int tab) +{ + KParts::ReadWritePart *const part = m_tabs[tab].part; + QUrl url = part->url(); + bool closeSuccess = part->closeUrl(); + if (closeSuccess && m_tabs.count() > 1) { + if (part->factory()) { + part->factory()->removeClient(part); + } + part->disconnect(this); + + Okular::ViewerInterface *iPart = qobject_cast(m_tabs[tab].part); + Q_ASSERT(iPart); + QWidget *sideContainer = iPart->getSideContainer(); + m_sidebar->removeWidget(sideContainer); + connect(part, &QObject::destroyed, sideContainer, &QObject::deleteLater); + + part->deleteLater(); + m_tabs.removeAt(tab); + m_tabWidget->removeTab(tab); + m_undoCloseTab->setEnabled(true); + m_closedTabUrls.append(url); + + if (m_tabWidget->count() == 1) { + m_tabWidget->tabBar()->hide(); + m_nextTabAction->setEnabled(false); + m_prevTabAction->setEnabled(false); + } + } else if (closeSuccess && m_tabs.count() == 1) { + // Show welcome screen when the last tab is closed. + + showWelcomeScreen(); + } +} + +void Shell::openNewTab(const QUrl &url, const QString &serializedOptions) +{ + const int previousActiveTab = m_tabWidget->currentIndex(); + KParts::ReadWritePart *const activePart = m_tabs[previousActiveTab].part; + + hideWelcomeScreen(); + + bool activateTabIfAlreadyOpen; + QMetaObject::invokeMethod(activePart, "activateTabIfAlreadyOpenFile", Q_RETURN_ARG(bool, activateTabIfAlreadyOpen)); + + if (activateTabIfAlreadyOpen) { + const int tabIndex = findTabIndex(url); + + if (tabIndex >= 0) { + setActiveTab(tabIndex); + m_recent->addUrl(url); + return; + } + } + + // Tabs are hidden when there's only one, so show it + if (m_tabs.size() == 1) { + m_tabWidget->tabBar()->show(); + m_nextTabAction->setEnabled(true); + m_prevTabAction->setEnabled(true); + } + + const int newIndex = m_tabs.size(); + + // Make new part + m_tabs.append(TabState(m_partFactory->create(this))); + connectPart(m_tabs[newIndex].part); + + // Update GUI + KParts::ReadWritePart *const part = m_tabs[newIndex].part; + m_tabWidget->addTab(part->widget(), url.fileName()); + m_tabWidget->setTabToolTip(newIndex, url.fileName()); + + applyOptionsToPart(part, serializedOptions); + + setActiveTab(m_tabs.size() - 1); + + if (part->openUrl(url)) { + m_recent->addUrl(url); + } else { + setActiveTab(previousActiveTab); + closeTab(m_tabs.size() - 1); + m_recent->removeUrl(url); + } +} + +void Shell::applyOptionsToPart(QObject *part, const QString &serializedOptions) +{ + KDocumentViewer *const doc = qobject_cast(part); + const QString find = ShellUtils::find(serializedOptions); + if (ShellUtils::startInPresentation(serializedOptions)) { + doc->startPresentation(); + } + if (ShellUtils::showPrintDialog(serializedOptions)) { + QMetaObject::invokeMethod(part, "enableStartWithPrint"); + } + if (ShellUtils::showPrintDialogAndExit(serializedOptions)) { + QMetaObject::invokeMethod(part, "enableExitAfterPrint"); + } + if (!find.isEmpty()) { + QMetaObject::invokeMethod(part, "enableStartWithFind", Q_ARG(QString, find)); + } +} + +void Shell::connectPart(const KParts::ReadWritePart *part) +{ + // We're abusing the fact we know the part is our part here + connect(this, SIGNAL(moveSplitter(int)), part, SLOT(moveSplitter(int))); // clazy:exclude=old-style-connect + connect(part, SIGNAL(enablePrintAction(bool)), this, SLOT(setPrintEnabled(bool))); // clazy:exclude=old-style-connect + connect(part, SIGNAL(enableCloseAction(bool)), this, SLOT(setCloseEnabled(bool))); // clazy:exclude=old-style-connect + connect(part, SIGNAL(mimeTypeChanged(QMimeType)), this, SLOT(setTabIcon(QMimeType))); // clazy:exclude=old-style-connect + connect(part, SIGNAL(urlsDropped(QList)), this, SLOT(handleDroppedUrls(QList))); // clazy:exclude=old-style-connect + connect(part, SIGNAL(maxRecentItemsChanged(int)), this, SLOT(triggerUpdateRecentItems(int))); // clazy:exclude=old-style-connect + + // clang-format off + connect(part, SIGNAL(requestOpenNewlySignedFile(QString,int)), this, SLOT(openNewlySignedFile(QString,int))); // clazy:exclude=old-style-connect + // Otherwise the QSize,QSize gets turned into QSize, QSize that is not normalized signals and is slightly slower + connect(part, SIGNAL(fitWindowToPage(QSize,QSize)), this, SLOT(slotFitWindowToPage(QSize,QSize))); // clazy:exclude=old-style-connect + // clang-format on +} + +void Shell::print() +{ + QMetaObject::invokeMethod(m_tabs[m_tabWidget->currentIndex()].part, "slotPrint"); +} + +void Shell::setPrintEnabled(bool enabled) +{ + int i = findTabIndex(sender()); + if (i != -1) { + m_tabs[i].printEnabled = enabled; + if (i == m_tabWidget->currentIndex()) { + m_printAction->setEnabled(enabled); + } + } +} + +void Shell::setCloseEnabled(bool enabled) +{ + int i = findTabIndex(sender()); + if (i != -1) { + m_tabs[i].closeEnabled = enabled; + if (i == m_tabWidget->currentIndex()) { + m_closeAction->setEnabled(enabled); + } + } +} + +void Shell::activateNextTab() +{ + if (m_tabs.size() < 2) { + return; + } + + const int activeTab = m_tabWidget->currentIndex(); + const int nextTab = (activeTab == m_tabs.size() - 1) ? 0 : activeTab + 1; + + setActiveTab(nextTab); +} + +void Shell::activatePrevTab() +{ + if (m_tabs.size() < 2) { + return; + } + + const int activeTab = m_tabWidget->currentIndex(); + const int prevTab = (activeTab == 0) ? m_tabs.size() - 1 : activeTab - 1; + + setActiveTab(prevTab); +} + +void Shell::undoCloseTab() +{ + if (m_closedTabUrls.isEmpty()) { + return; + } + + const QUrl lastTabUrl = m_closedTabUrls.takeLast(); + + if (m_closedTabUrls.isEmpty()) { + m_undoCloseTab->setEnabled(false); + } + + openUrl(lastTabUrl); +} + +void Shell::setTabIcon(const QMimeType &mimeType) +{ + int i = findTabIndex(sender()); + if (i != -1) { + m_tabWidget->setTabIcon(i, QIcon::fromTheme(mimeType.iconName())); + } +} + +int Shell::findTabIndex(QObject *sender) const +{ + for (int i = 0; i < m_tabs.size(); ++i) { + if (m_tabs[i].part == sender) { + return i; + } + } + return -1; +} + +int Shell::findTabIndex(const QUrl &url) const +{ + auto it = std::find_if(m_tabs.begin(), m_tabs.end(), [&url](const TabState state) { return state.part->url() == url; }); + return (it != m_tabs.end()) ? std::distance(m_tabs.begin(), it) : -1; +} + +void Shell::handleDroppedUrls(const QList &urls) +{ + for (const QUrl &url : urls) { + openUrl(url); + } +} + +void Shell::moveTabData(int from, int to) +{ + m_tabs.move(from, to); +} + +void Shell::slotFitWindowToPage(const QSize pageViewSize, const QSize pageSize) +{ + const int xOffset = pageViewSize.width() - pageSize.width(); + const int yOffset = pageViewSize.height() - pageSize.height(); + showNormal(); + resize(width() - xOffset, height() - yOffset); + Q_EMIT moveSplitter(pageSize.width()); +} + +void Shell::hideWelcomeScreen() +{ + m_centralStackedWidget->setCurrentWidget(m_tabWidget); + m_sidebar->setVisible(m_showSidebarAction->isChecked()); + m_showSidebarAction->setEnabled(true); +} + +void Shell::showWelcomeScreen() +{ + m_showSidebarAction->setEnabled(false); + m_centralStackedWidget->setCurrentWidget(m_welcomeScreen); + m_sidebar->setVisible(false); + + refreshRecentsOnWelcomeScreen(); +} + +void Shell::refreshRecentsOnWelcomeScreen() +{ + saveRecents(); + m_welcomeScreen->loadRecents(); +} + +void Shell::forgetRecentItem(QUrl const &url) +{ + if (m_recent != nullptr) { + m_recent->removeUrl(url); + saveRecents(); + refreshRecentsOnWelcomeScreen(); + } +} + +void Shell::triggerUpdateRecentItems(const int maxItems) +{ + m_recent->setMaxItems(maxItems); + m_welcomeScreen->setMaxRecentItems(m_recent->maxItems()); + // saveRecents() dumps the recent files in correct order to KConfigGroup, respecting the allowed no. of recent items, discarding older items if needed + refreshRecentsOnWelcomeScreen(); + m_recent->loadEntries(KSharedConfig::openConfig()->group(RecentFilesGroupKey())); +} + +void Shell::readRecentFilesSettings() +{ + // Read no. of max. recent items from okularpartrc, populate File->Open Recent menu-item as well as recentsListView on welcome screen + QString configFilePath = QStandardPaths::writableLocation(QStandardPaths::ConfigLocation) + QLatin1Char('/') + QLatin1String("okularpartrc"); + const KConfigGroup confgrp = KSharedConfig::openConfig(configFilePath).data()->group(QStringLiteral("General")); + const int defaultMaxRecentItems = 10; + int maxRecentItems = confgrp.readEntry("MaxRecentItems", defaultMaxRecentItems); + m_recent->setMaxItems(maxRecentItems); + m_welcomeScreen->setMaxRecentItems(m_recent->maxItems()); + m_welcomeScreen->loadRecents(); + m_recent->loadEntries(KSharedConfig::openConfig()->group(RecentFilesGroupKey())); +} + +#include "shell.moc" + +/* kate: replace-tabs on; indent-width 4; */ diff --git a/shell/shell.h b/shell/shell.h new file mode 100644 index 0000000..3f900dc --- /dev/null +++ b/shell/shell.h @@ -0,0 +1,220 @@ +/* + SPDX-FileCopyrightText: 2002 Wilco Greven + SPDX-FileCopyrightText: 2003 Benjamin Meyer + SPDX-FileCopyrightText: 2003 Laurent Montel + SPDX-FileCopyrightText: 2003 Luboš Luňák + SPDX-FileCopyrightText: 2004 Christophe Devriese + SPDX-FileCopyrightText: 2004 Albert Astals Cid + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_SHELL_H_ +#define _OKULAR_SHELL_H_ + +#include "config-okular.h" +#include +#include +#include +#include +#include +#include + +#if HAVE_DBUS +#include // for Q_NOREPLY +#else +#define Q_NOREPLY +#endif +#include + +#include "welcomescreen.h" + +class Sidebar; +class KRecentFilesAction; +class KToggleAction; +class QTabWidget; +class KPluginFactory; + +/** + * This is the application "Shell". It has a menubar and a toolbar + * but relies on the "Part" to do all the real work. + * + * @short Application Shell + * @author Wilco Greven + * @version 0.1 + */ +class Shell : public KParts::MainWindow +{ + Q_OBJECT + Q_CLASSINFO("D-Bus Interface", "org.kde.okular") + + friend class MainShellTest; + friend class AnnotationToolBarTest; + +public: + /** + * Constructor + */ + explicit Shell(const QString &serializedOptions = QString()); + + /** + * Default Destructor + */ + ~Shell() override; + + QSize sizeHint() const override; + + /** + * Returns false if Okular component wasn't found + **/ + bool isValid() const; + + bool openDocument(const QUrl &url, const QString &serializedOptions); + +public Q_SLOTS: + Q_SCRIPTABLE Q_NOREPLY void tryRaise(const QString &startupId); + Q_SCRIPTABLE bool openDocument(const QString &urlString, const QString &serializedOptions = QString()); + Q_SCRIPTABLE bool canOpenDocs(int numDocs, int desktop); + +protected: + /** + * This method is called when it is time for the app to save its + * properties for session management purposes. + */ + void saveProperties(KConfigGroup &) override; + + /** + * This method is called when this app is restored. The KConfig + * object points to the session management config file that was saved + * with @ref saveProperties + */ + void readProperties(const KConfigGroup &) override; + + /** + * Expose internal functions for session restore testing + */ + void savePropertiesInternal(KConfig *config, int num) + { + KMainWindow::savePropertiesInternal(config, num); + } + void readPropertiesInternal(KConfig *config, int num) + { + KMainWindow::readPropertiesInternal(config, num); + } + + void readSettings(); + void writeSettings(); + void setFullScreen(bool); + + using KParts::MainWindow::setCaption; + void setCaption(const QString &caption) override; + + bool queryClose() override; + + void showEvent(QShowEvent *event) override; + void keyPressEvent(QKeyEvent *) override; + +private Q_SLOTS: + void fileOpen(); + + void slotUpdateFullScreen(); + void slotShowMenubar(); + + void openUrl(const QUrl &url, const QString &serializedOptions = QString()); + void showOpenRecentMenu(); + void closeUrl(); + void print(); + void setPrintEnabled(bool enabled); + void setCloseEnabled(bool enabled); + void setTabIcon(const QMimeType &mimeType); + void handleDroppedUrls(const QList &urls); + void triggerUpdateRecentItems(const int maxItems); + + /** + * Opens of a newly signed file + * + * This is separated out from the "normal" open url + * to be allowed to have different rules for this + * (rules could be open in tab, open in new window, replace + * current document) + * + * \param filePath path to signed file + * \param pageNumber page to show (1-indexed) + */ + void openNewlySignedFile(const QString &path, int pageNumber); + + // Tab event handlers + void setActiveTab(int tab); + void closeTab(int tab); + void activateNextTab(); + void activatePrevTab(); + void undoCloseTab(); + void moveTabData(int from, int to); + + void slotFitWindowToPage(const QSize pageViewSize, const QSize pageSize); + + void hideWelcomeScreen(); + void showWelcomeScreen(); + void refreshRecentsOnWelcomeScreen(); + + void forgetRecentItem(QUrl const &url); + +Q_SIGNALS: + void moveSplitter(int sideWidgetSize); + +private: + void saveRecents(); + void setupAccel(); + void setupActions(); + void openNewTab(const QUrl &url, const QString &serializedOptions); + void applyOptionsToPart(QObject *part, const QString &serializedOptions); + void connectPart(const KParts::ReadWritePart *part); + int findTabIndex(QObject *sender) const; + int findTabIndex(const QUrl &url) const; + void readRecentFilesSettings(); + +private: + void reloadAllXML(); + bool eventFilter(QObject *obj, QEvent *event) override; + + KPluginFactory *m_partFactory; + KRecentFilesAction *m_recent; + QStringList m_fileformats; + bool m_fileformatsscanned; + QAction *m_printAction; + QAction *m_closeAction; + KToggleAction *m_fullScreenAction; + KToggleAction *m_showMenuBarAction; + bool m_menuBarWasShown, m_toolBarWasShown; + bool m_unique; + QTabWidget *m_tabWidget; + KToggleAction *m_openInTab; + WelcomeScreen *m_welcomeScreen; + QStackedWidget *m_centralStackedWidget; + Sidebar *m_sidebar = nullptr; + + struct TabState { + explicit TabState(KParts::ReadWritePart *p) + : part(p) + , printEnabled(false) + , closeEnabled(false) + { + } + KParts::ReadWritePart *part; + bool printEnabled; + bool closeEnabled; + }; + QList m_tabs; + QList m_closedTabUrls; + QAction *m_nextTabAction; + QAction *m_prevTabAction; + QAction *m_undoCloseTab; + QAction *m_showSidebarAction = nullptr; + QAction *m_lockSidebarAction = nullptr; + + bool m_isValid; +}; + +#endif + +// vim:ts=2:sw=2:tw=78:et diff --git a/shell/shell.qrc b/shell/shell.qrc new file mode 100644 index 0000000..73705f2 --- /dev/null +++ b/shell/shell.qrc @@ -0,0 +1,6 @@ + + + + shell.rc + + diff --git a/shell/shell.rc b/shell/shell.rc new file mode 100644 index 0000000..d54f127 --- /dev/null +++ b/shell/shell.rc @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + Main Toolbar + + + + + + diff --git a/shell/shellutils.cpp b/shell/shellutils.cpp new file mode 100644 index 0000000..d46c225 --- /dev/null +++ b/shell/shellutils.cpp @@ -0,0 +1,165 @@ +/* + SPDX-FileCopyrightText: 2009 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "shellutils.h" + +// qt/kde includes +#include +#include +#include +#include +#include +#include + +#if HAVE_DBUS +#include +#endif + +namespace ShellUtils +{ +namespace detail +{ +bool qfileExistFunc(const QString &fileName) +{ + return QFile::exists(fileName); +} + +} + +FileExistFunc qfileExistFunc() +{ + return detail::qfileExistFunc; +} + +QUrl urlFromArg(const QString &_arg, FileExistFunc exist_func, const QString &pageArg) +{ + QUrl url = QUrl::fromUserInput(_arg, QDir::currentPath(), QUrl::AssumeLocalFile); + if (url.isLocalFile()) { + // make sure something like /tmp/foo#bar.pdf is treated as a path name (default) + // but something like /tmp/foo.pdf#bar is foo.pdf plus an anchor "bar" + const QString path = url.path(); + int hashIndex = path.lastIndexOf(QLatin1Char('#')); + if (hashIndex != -1 && !exist_func(path)) { + url.setPath(path.left(hashIndex)); + url.setFragment(path.mid(hashIndex + 1)); + } + } + if (!pageArg.isEmpty()) { + url.setFragment(pageArg); + } + return url; +} + +QString serializeOptions(const QCommandLineParser &args) +{ + const bool startInPresentationVal = args.isSet(QStringLiteral("presentation")); + const bool showPrintDialogVal = args.isSet(QStringLiteral("print")); + const bool showPrintDialogAndExitVal = args.isSet(QStringLiteral("print-and-exit")); + const bool uniqueVal = args.isSet(QStringLiteral("unique")) && args.positionalArguments().count() <= 1; + const bool noRaiseVal = args.isSet(QStringLiteral("noraise")); + const QString pageVal = args.value(QStringLiteral("page")); + const QString findVal = args.value(QStringLiteral("find")); + const QString editorCmdVal = args.value(QStringLiteral("editor-cmd")); + + return serializeOptions(startInPresentationVal, showPrintDialogVal, showPrintDialogAndExitVal, uniqueVal, noRaiseVal, pageVal, findVal, editorCmdVal); +} + +QString serializeOptions(bool startInPresentation, bool showPrintDialog, bool showPrintDialogAndExit, bool unique, bool noRaise, const QString &page, const QString &find, const QString &editorCmd) +{ + return QStringLiteral("%1:%2:%3:%4:%5:%6:%7:%8") + .arg(startInPresentation) + .arg(showPrintDialog) + .arg(showPrintDialogAndExit) + .arg(unique) + .arg(noRaise) + .arg(page, QString::fromLatin1(find.toUtf8().toBase64()), QString::fromLatin1(editorCmd.toUtf8().toBase64())); +} + +static bool unserializeOptions(const QString &serializedOptions, bool *presentation, bool *print, bool *print_and_exit, bool *unique, bool *noraise, QString *page, QString *find, QString *editorCmd) +{ + const QStringList args = serializedOptions.split(QStringLiteral(":")); + + if (args.count() >= 8) { + *presentation = args[0] == QLatin1String("1"); + *print = args[1] == QLatin1String("1"); + *print_and_exit = args[2] == QLatin1String("1"); + *unique = args[3] == QLatin1String("1"); + *noraise = args[4] == QLatin1String("1"); + *page = args[5]; + *find = args[6]; + *editorCmd = args[7]; + return true; + } + return false; +} + +bool startInPresentation(const QString &serializedOptions) +{ + bool result, dummy; + QString dummyString; + return unserializeOptions(serializedOptions, &result, &dummy, &dummy, &dummy, &dummy, &dummyString, &dummyString, &dummyString) && result; +} + +bool showPrintDialog(const QString &serializedOptions) +{ + bool result, dummy; + QString dummyString; + return unserializeOptions(serializedOptions, &dummy, &result, &dummy, &dummy, &dummy, &dummyString, &dummyString, &dummyString) && result; +} + +bool showPrintDialogAndExit(const QString &serializedOptions) +{ + bool result, dummy; + QString dummyString; + return unserializeOptions(serializedOptions, &dummy, &dummy, &result, &dummy, &dummy, &dummyString, &dummyString, &dummyString) && result; +} + +bool unique(const QString &serializedOptions) +{ + bool result, dummy; + QString dummyString; + return unserializeOptions(serializedOptions, &dummy, &dummy, &dummy, &result, &dummy, &dummyString, &dummyString, &dummyString) && result; +} + +bool noRaise(const QString &serializedOptions) +{ + bool result, dummy; + QString dummyString; + return unserializeOptions(serializedOptions, &dummy, &dummy, &dummy, &dummy, &result, &dummyString, &dummyString, &dummyString) && result; +} + +QString page(const QString &serializedOptions) +{ + QString result, dummyString; + bool dummy; + unserializeOptions(serializedOptions, &dummy, &dummy, &dummy, &dummy, &dummy, &result, &dummyString, &dummyString); + return result; +} + +QString find(const QString &serializedOptions) +{ + QString result, dummyString; + bool dummy; + unserializeOptions(serializedOptions, &dummy, &dummy, &dummy, &dummy, &dummy, &dummyString, &result, &dummyString); + return QString::fromUtf8(QByteArray::fromBase64(result.toLatin1())); +} + +QString editorCmd(const QString &serializedOptions) +{ + QString result, dummyString; + bool dummy; + unserializeOptions(serializedOptions, &dummy, &dummy, &dummy, &dummy, &dummy, &dummyString, &dummyString, &result); + return QString::fromUtf8(QByteArray::fromBase64(result.toLatin1())); +} + +#if HAVE_DBUS +QString currentProcessDbusName() +{ + static const QString name = kPerProcessDbusPrefix + QUuid::createUuid().toString(QUuid::Id128); + return name; +} +#endif +} diff --git a/shell/shellutils.h b/shell/shellutils.h new file mode 100644 index 0000000..7da834c --- /dev/null +++ b/shell/shellutils.h @@ -0,0 +1,47 @@ +/* + SPDX-FileCopyrightText: 2009 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef OKULAR_SHELLUTILS_H +#define OKULAR_SHELLUTILS_H + +#include "config-okular.h" + +#include + +#if HAVE_DBUS +#include +#endif + +class QUrl; + +class QCommandLineParser; + +namespace ShellUtils +{ +typedef bool (*FileExistFunc)(const QString &fileName); + +FileExistFunc qfileExistFunc(); +QUrl urlFromArg(const QString &_arg, FileExistFunc exist_func, const QString &pageArg = QString()); +QString serializeOptions(const QCommandLineParser &args); +QString serializeOptions(bool startInPresentation, bool showPrintDialog, bool showPrintDialogAndExit, bool unique, bool noRaise, const QString &page, const QString &find, const QString &editorCmd); +bool unique(const QString &serializedOptions); +bool noRaise(const QString &serializedOptions); +bool startInPresentation(const QString &serializedOptions); +bool showPrintDialog(const QString &serializedOptions); +bool showPrintDialogAndExit(const QString &serializedOptions); +QString page(const QString &serializedOptions); +QString find(const QString &serializedOptions); +QString editorCmd(const QString &serializedOptions); + +#if HAVE_DBUS +// Must be a subname of "org.kde.okular" due to Flatpak not supporting wildcard D-Bus permissions. +inline constexpr QLatin1StringView kPerProcessDbusPrefix("org.kde.okular.Instance_"); + +QString currentProcessDbusName(); +#endif // HAVE_DBUS +} + +#endif diff --git a/shell/welcomescreen.cpp b/shell/welcomescreen.cpp new file mode 100644 index 0000000..2e465fb --- /dev/null +++ b/shell/welcomescreen.cpp @@ -0,0 +1,195 @@ +/* + SPDX-FileCopyrightText: 2021 Jiří Wolker + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "welcomescreen.h" + +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include "gui/recentitemsmodel.h" + +class RecentsListItemDelegate : public QStyledItemDelegate +{ + Q_OBJECT + +public: + explicit RecentsListItemDelegate(WelcomeScreen *welcomeScreen) + : m_welcomeScreen(welcomeScreen) + { + } + + WelcomeScreen *welcomeScreen() const + { + return m_welcomeScreen; + } + + bool editorEvent(QEvent *event, QAbstractItemModel *aModel, const QStyleOptionViewItem &styleOptionViewItem, const QModelIndex &index) override + { + const RecentItemsModel *model = static_cast(aModel); + const RecentItemsModel::RecentItem *item = model->getItem(index); + + QPoint menuPosition; + + if (item != nullptr) { + bool willOpenMenu = false; + if (event->type() == QEvent::ContextMenu) { + willOpenMenu = true; + menuPosition = static_cast(event)->globalPos(); + } + if (event->type() == QEvent::MouseButtonPress) { + if (static_cast(event)->button() == Qt::MouseButton::RightButton) { + willOpenMenu = true; + menuPosition = static_cast(event)->globalPosition().toPoint(); + } + } + + if (willOpenMenu) { + event->accept(); + + QMenu menu; + + QAction *copyPathAction = new QAction(i18n("&Copy Path")); + copyPathAction->setIcon(QIcon::fromTheme(QStringLiteral("edit-copy"))); + connect(copyPathAction, &QAction::triggered, this, [item]() { + QString path; + if (item->url.isLocalFile()) { + path = item->url.toLocalFile(); + } else { + path = item->url.toString(); + } + QGuiApplication::clipboard()->setText(path); + }); + menu.addAction(copyPathAction); + + QAction *showDirectoryAction = new QAction(i18n("&Open Containing Folder")); + showDirectoryAction->setIcon(QIcon::fromTheme(QStringLiteral("document-open-folder"))); + connect(showDirectoryAction, &QAction::triggered, this, [item]() { + if (item->url.isLocalFile()) { + KIO::highlightInFileManager({item->url}); + } + }); + menu.addAction(showDirectoryAction); + if (!item->url.isLocalFile()) { + showDirectoryAction->setEnabled(false); + } + + QAction *forgetItemAction = new QAction(i18nc("recent items context menu", "&Forget This Item")); + forgetItemAction->setIcon(QIcon::fromTheme(QStringLiteral("edit-clear-history"))); + connect(forgetItemAction, &QAction::triggered, this, [this, item]() { Q_EMIT welcomeScreen()->forgetRecentItem(item->url); }); + menu.addAction(forgetItemAction); + + menu.exec(menuPosition); + + return true; + } + } + + return QStyledItemDelegate::editorEvent(event, aModel, styleOptionViewItem, index); + } + +private: + WelcomeScreen *m_welcomeScreen; +}; + +WelcomeScreen::WelcomeScreen(QWidget *parent) + : QWidget(parent) + , m_recentsModel(new RecentItemsModel) + , m_recentsItemDelegate(new RecentsListItemDelegate(this)) +{ + Q_ASSERT(parent); + + setupUi(this); + + connect(openButton, &QPushButton::clicked, this, &WelcomeScreen::openClicked); + connect(closeButton, &QPushButton::clicked, this, &WelcomeScreen::closeClicked); + + recentsListView->setContextMenuPolicy(Qt::DefaultContextMenu); + recentsListView->setModel(m_recentsModel); + recentsListView->setItemDelegate(m_recentsItemDelegate); + connect(recentsListView, &QListView::activated, this, &WelcomeScreen::recentsItemActivated); + + connect(m_recentsModel, &RecentItemsModel::layoutChanged, this, &WelcomeScreen::recentListChanged); + + QVBoxLayout *noRecentsLayout = new QVBoxLayout(recentsListView); + recentsListView->setLayout(noRecentsLayout); + m_noRecentsLabel = new QLabel(recentsListView); + QFont placeholderLabelFont; + // To match the size of a level 2 Heading/KTitleWidget + placeholderLabelFont.setPointSize(qRound(placeholderLabelFont.pointSize() * 1.3)); + noRecentsLayout->addWidget(m_noRecentsLabel); + m_noRecentsLabel->setFont(placeholderLabelFont); + m_noRecentsLabel->setTextInteractionFlags(Qt::NoTextInteraction); + m_noRecentsLabel->setWordWrap(true); + m_noRecentsLabel->setAlignment(Qt::AlignCenter); + m_noRecentsLabel->setText(i18nc("on welcome screen", "No recent documents")); + // Match opacity of QML placeholder label component + auto *effect = new QGraphicsOpacityEffect(m_noRecentsLabel); + effect->setOpacity(0.5); + m_noRecentsLabel->setGraphicsEffect(effect); + + connect(forgetAllButton, &QToolButton::clicked, this, &WelcomeScreen::forgetAllRecents); +} + +WelcomeScreen::~WelcomeScreen() +{ + delete m_recentsModel; + delete m_recentsItemDelegate; +} + +void WelcomeScreen::showEvent(QShowEvent *e) +{ + if (appIcon->pixmap(Qt::ReturnByValue).isNull()) { + appIcon->setPixmap(QIcon::fromTheme(QStringLiteral("okular")).pixmap(KIconLoader::SizeEnormous)); + } + + QWidget::showEvent(e); +} + +void WelcomeScreen::loadRecents() +{ + m_recentsModel->loadEntries(KSharedConfig::openConfig()->group(QStringLiteral("Recent Files"))); +} + +void WelcomeScreen::setMaxRecentItems(const int maxItems) +{ + m_recentsModel->setMaxItems(maxItems); +} + +int WelcomeScreen::recentsCount() +{ + return m_recentsModel->rowCount(); +} + +void WelcomeScreen::recentsItemActivated(const QModelIndex &index) +{ + const RecentItemsModel::RecentItem *item = m_recentsModel->getItem(index); + if (item != nullptr) { + Q_EMIT recentItemClicked(item->url); + } +} + +void WelcomeScreen::recentListChanged() +{ + if (recentsCount() == 0) { + m_noRecentsLabel->show(); + forgetAllButton->setEnabled(false); + } else { + m_noRecentsLabel->hide(); + forgetAllButton->setEnabled(true); + } +} + +#include "welcomescreen.moc" diff --git a/shell/welcomescreen.h b/shell/welcomescreen.h new file mode 100644 index 0000000..60afdfe --- /dev/null +++ b/shell/welcomescreen.h @@ -0,0 +1,53 @@ +/* + SPDX-FileCopyrightText: 2021 Jiří Wolker + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef WELCOMESCREEN_H +#define WELCOMESCREEN_H + +#include "shell/ui_welcomescreen.h" + +#include +#include + +class KRecentFilesAction; +class QListWidgetItem; +class RecentItemsModel; +class RecentsListItemDelegate; + +class WelcomeScreen : public QWidget, Ui::WelcomeScreen +{ + Q_OBJECT +public: + explicit WelcomeScreen(QWidget *parent = nullptr); + ~WelcomeScreen() override; + + void loadRecents(); + void setMaxRecentItems(const int maxItems); + +Q_SIGNALS: + void openClicked(); + void closeClicked(); + void recentItemClicked(QUrl const &url); + void forgetAllRecents(); + void forgetRecentItem(QUrl const &url); + +protected: + void showEvent(QShowEvent *e) override; + +private Q_SLOTS: + void recentsItemActivated(QModelIndex const &index); + void recentListChanged(); + +private: + int recentsCount(); + + RecentItemsModel *m_recentsModel; + RecentsListItemDelegate *m_recentsItemDelegate; + + QLabel *m_noRecentsLabel; +}; + +#endif // WELCOMESCREEN_H diff --git a/shell/welcomescreen.ui b/shell/welcomescreen.ui new file mode 100644 index 0000000..0619d4a --- /dev/null +++ b/shell/welcomescreen.ui @@ -0,0 +1,524 @@ + + + + WelcomeScreen + + + + 0 + 0 + 1423 + 850 + + + + true + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + Qt::Horizontal + + + QSizePolicy::MinimumExpanding + + + + 48 + 20 + + + + + + + + Qt::Vertical + + + QSizePolicy::MinimumExpanding + + + + 20 + 48 + + + + + + + + + 0 + 0 + + + + + 0 + 256 + + + + + 700 + 16777215 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + 1 + 0 + + + + + 192 + 16777215 + + + + QFrame::NoFrame + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + 0 + 40 + + + + + 12 + 75 + true + + + + Welcome to Okular + + + Qt::AlignCenter + + + true + + + 0 + + + + + + + Qt::Vertical + + + QSizePolicy::MinimumExpanding + + + + 12 + 12 + + + + + + + + + + + Qt::AlignCenter + + + + + + + Qt::Vertical + + + QSizePolicy::MinimumExpanding + + + + 20 + 12 + + + + + + + + QLayout::SetMinimumSize + + + + + Qt::Horizontal + + + QSizePolicy::Expanding + + + + 48 + 0 + + + + + + + + Open Document... + + + + + + + + + + Qt::Horizontal + + + QSizePolicy::Expanding + + + + 48 + 0 + + + + + + + + + + + + + Qt::Horizontal + + + QSizePolicy::Maximum + + + + 48 + 20 + + + + + + + + + 0 + 0 + + + + + 0 + + + + + + 0 + 0 + + + + Qt::Vertical + + + + + + + + + + Qt::Horizontal + + + QSizePolicy::Maximum + + + + 48 + 20 + + + + + + + + + 0 + 0 + + + + + 4 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + 0 + 0 + + + + + 0 + 36 + + + + + 0 + + + 0 + + + 0 + + + + + + 0 + 0 + + + + + 12 + + + + Recent documents + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + Forget All + + + + + + Qt::ToolButtonTextBesideIcon + + + true + + + + + + + + + + + 0 + 1 + + + + + 200 + 128 + + + + Qt::ScrollBarAsNeeded + + + Qt::ScrollBarAsNeeded + + + + + + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 0 + 0 + + + + Hide welcome screen + + + + + + + + + true + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Qt::Vertical + + + QSizePolicy::MinimumExpanding + + + + 20 + 48 + + + + + + + + openButton + + + + -- 2.30.2
  • O2tD??pTE!xWPs1{bTpmzPO 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 z zVU#c@@q%ruUhxKDW{rl39tL5@Jv=m8Q=lk|yO)?2NF(@b&52*}BRi}|4XKl!R| zKL4VK8L4`8FdFD2T%ibghigheXa{g1Xs;tvLY!7?dz}VV^}pq;ZMiQpxdVzg2Win- zE^WYMV#?Vkgl7_2`i2{bY?oee8(33zaEf8gZC@w8AM2LnQ=UnIBy(Wx@FTsQ=2sxU zvD)DjrnSRa0;fK`)DFMY4v%YxLtm^LwM_5v+F?Ar)D9=QDV|VVJDlXb_$0N%ku*Ae z6TfloFi&yV3bWJ>=WHNv53C;^rvV)g z?l|H@*xKm)BUtva@NeSj`EJ8FsRgEg<-<@F)>M8EL18ZMiwVu>kKZO5TxE6IK|C ztXa5>Q1Sw6Vkd)BuQ(EyM^X5v7?G6@_jQ6Ug^Ww?7M~|ZB;(wU0K&=zRzrR^9wONT zD|pBGD#t?@_ZzF=O=()eOJkT`tjHHDavm!Z#vw9l3}%Vf!$WB>E;kpxnHf2A3z}cA z8R@y2dfI}f1kM=VVMYp`TQdcEZYRWx63!JYCWUz*(7TfqEkDx0{y78vuA*gLOvcxj zRy0fV(u(Fc(TXNzSqp6vPph8uR^5~jb&dloaSPu(gL0_z*|Gk>n$EPl&GYQ=w!dTJ zGlRE0t?BgAp~dHyeD#*E{`Up1kdgVF`1+ErzMZZvQJmjUx;pgZ7pJT9`occgNo=VW z4yJ`^dII;A3^7cs#YirnuQM8p{=l-$ag_adXu7{W;xj|jva4*9z<_DTmjZcMpDzXS zi^B`#|7($=bTaeY**Gi+F=Z>il*a>Xv#?dc_${!diOkAvvUq@t9NENy)Vu?*MciB z#8g}Gc?ax-B!jl%C`p(WPIiT)RmLVDgRl@N{j#j4u~GHIYo)d7~}2Fhcl z2Vgh&* z)RE!Fws;LflR`)EaHP-{X5z=|keS!i?0u!6N$x2<0h4((vt*{2%qyR{9c*c4QzLC5 zvX!!cxq8}?LwX<{$CFfRru|JMpBWz4X|*Od?qu7ywk6ITd_@h7OFpEOwpmFDCkq(v zGvo@WTwsAA>SZP4J^{{za|FggUV#AsQLmVept@_d41in3YwVSlmn%gT+FaHLfcBwb#tZM$q? z5nzwO&07Skd&XpqNDaa^#l}{fS%)Dj)CPJ5Hlbj%hTtmqaTPClsnvhN?&Q8OQ#M_z zDblQ2BXKum$|j58yf&$|LL4B5==n9cD6|NvDcHGayi!`@VXZbq-mKxd;ZexTOJ4IR zbP+TiLcVZTt6sVgr?#U-^rEhP>zUhjYy)#+boo55r0L3NuM&gMX{w>+&muR&HqN7? z5mu6_3sxG$Zq41E(Gn~^RS0T*@Gs;}waKwV@fEy2SQ=gWY?k!dGD@EnanSr(-)(!H zFse#~}zDN?iokYYeVRC&%IY11J(VwCYK zirag7t7giVi3h!%5bfDi^nO0Yoer#<9H(O(PjT<>Tlvfsx1H2YmMo=>%$B{ZIP$XM zhycxRbH$Nd`RaAri_u4#d@fHG3bmQ-0ly7;g@JaiR*WehTIrWhQ|Y(A{>9=Jd$45^q7ddR_d9G9s3HfQraBGE2=0pZ5A{YvAt3CU6~O1t zO^GA@iZgAkmQ{&wYo+`G{;w+Wt|M_4;#Q+i8SRN9Dg=VmVTfK&Xs#xDTLV!-WVnDh zRO+^+bYf{*xqy>Acmx5HmrM^NTR5!`h`mdwNvpaO)dzttvIt`at|fxjjc3Jm{AKCm}GHUq2d!9_B1dLqd3|UxI<2#ZwbSESs}B9?!-2yGcXy6 zN2AwIQzuAaf3j9d3v^I;!qVS`m*gdA$y-=d_&%zeuAS(1HU;GlFm}9P>{lUCJv1G^ zo+cfCf18=-hD4Ke{1DmsU?l1buY_FC!mDBB)iFx1N-Mpx9bbh&Rd4NT0ZvzYg~avT z?>(XRN)uEUpRc_tzoObJfx3???8@Q z$iK4HztQ7nQhFut{&baBM*0e@Oka7Wbu3?8dQ~Eaxpu4;nV2`9dIgoI=EUB#g~Tn+ z$5#>H9ES7bfXUHtKJV`a^UQEQOzIMN1#lL_$|(VeG@-9@HWFzHh%_Zcno8T@P>)9B zgC=1NXdk>nu}-!5G17~*U@B_?1kj)r z?1L&oIzb;2@Atgv`V~k3PErDr^b{_Qco&KdUIF598fmF&S+5$$#wBX2j#zVpouqYN z&2A843azz-aI<)w77-%Y*eH85dNl-vO1H#}u2B<)5sDDT5sHl1kGygLa>UcTMknO; z=YaXHE`Ub}3uI%ItN`7~z7cT24k9{1bJvhphnNyxzLB+LEcjd#WF8}MA$ElAHKqhb zaL33)to@D@_=*UK8SlGIU#hM-gb}y!g!JCT<4_|+M6ku+ESxHxL8A9fY4HxU5PymW zam-~-nI+O7q*c?j93yjU$!)q&d<7o9JYPLVHV4*YjM@9+X_5WyW}cZAiIaMa7&tRY zw8%?!+v;UCmY3C7R!=N%E0SKHrsZvkmG6%9UT%+H>~=I|6`9+s{s(&~#F9!Rxn^@+UO?d<;4FG2|9P)-o`JkWmUSTL?Kl;}EiMQR63vki}pX z#`QNFLLTneE`;1%B>p{GPRt%cE`@%RCkurbA?_v?q~#pFJjr(DpvPQ21hYG^o*}!F z)HCG${bimR+NDW7LkiM)?j`26e2IB|lbBcL0^3Q3gbCbl#&3gAA!SmGnJjw1?rpa7 zt%H}{fl2q{DDv@;Xn!l1XNE+1l60SvBv-TD^-}5j%_?1MJMWH4SAu6WH_>Y94u;fC7jRCEU@?2>MWYQlB$tOvt&inhxJTpixlXU8oC8+b_3ct9*zin5zN}zAr z-pVr17pBf|;*ps6!eoV-*;Y--;lNz#aaj3?c=sDyH6@qHswvq^f6W&Y^qZQXFU?ja zCg^i$wlb>;nmCd+jmKDSD;TGR6PaGQk9CriZ!4)BSLTau#{-Ke#!=eif%5*wF3${< z>tvOaoP=@;MXI(D$Q46R=P-vPEjkvAT4P47!vg*`TXh?G&u;|i^2T%ZHC8Fp%fvh)b+TExWrRxG;B@#aOhi~zXY5F|Js zELsi%_XTOVBMlq-lAxnI$?Iw}203NMYTdGJkGJZB%i7CN)P{~fmSf3-oncWkG?^AS z7cFYmFf^ErmL?{4E4FQ~Lycw*Xd?)TkO%#_C;;sDCww3D@qq-BvY4E{^)lA~Q~bmHo!^h}g&K6(9-`!slFfBE(Y zd3{;4Ex4T!=d+17#;p_`I~mfaA-T3=&>CC>6y0|Mn&rrz6%`_{2F{u|QQFl8OXwJM z`ASdeuUIqPLY>xpSyyS6PAa|vH(DrDe#3F{rp>dpSIqIilCN>l`gqD^e?yt)rCi2# z0F+DRPFVXHj+cV*XId~`eq|KLH!B#gmZNoPQgmQl;hDXSdY&7PY@5@*uDL(fd||e9 zU}@PnaD7C?`;C>B6*DODr5739XT8!3=PZ$5v)%uvNK>Ia&4%~n zthrrFSvgPI+06!T`Ou20e42`?{arVX*=nH{&ZJ4ZRve?b>n5!hnCdZp$0%`N(bw5H zoqTA;LOD&v!v4M+M;#@uHZ*x!oLJdHN|RAaBx80`g6`Ip?1UN1O3I;$(B(9V(EGb? z9C?sRF;ioXj6CxAi`h<`vTXiOvZfr@63-T&uZJdY*3%?!?(ar$%n>5Pf>f-T6cmu7 z>CJX4*~*?H*%aGLk7XJlQ|DX2fu;JOmpAs5k2XeSe+AjhT0vkj3wFfL#0 zN#gQlf920{hbS`TF&QDxolCYC3+GSGC}bsSh?N%k0CS;SaR&zJiaSY=uI#T?IO+)5 zz>Nf^UClX(WzubeyPHkN$5%g}7Ao#Qp1Zh{@Z4p84)<}#ha2JeX)q#lb^EsOY76Jv zZCi3aa2=+dt?sb+1BtofPeRO<{W+b-9iqYsUz1X);JE3)wl!y^fN@qjsVXlLE%7Fp~RE03T1yn z%F&gOopiP%1;oLhZIE-kzQ=UwP_pAfm~DXKfs8_lCt(!I{-Ex02Pm({9hYQ$A}_Hp z;s`#$B5=WMH&Bmp%`3akXD6fs8HJKg!YGveL8zmSkc%7=p2Y8B2j|{8B~05r`*rnZ#>Ppd9Lg({)9?!WiS%O+ zk}K2h1k7aDsVG(Mvl%C&l(;9%Y-m>xrn##Mbq;$w01B3R}j3 zkaIlDqw)N@Av%;=s3)No>V6*mxI+{<%c)Frek3-(&HV&6;I?BBjzjByt^um%Kw_bq zlMoAaKaYOY0gBu@V_eYCRxX-Ybb$n`y6H0Cu5vQRTyeZ=4`ddqJqfc=_tWUd6(PTl ze(D(UYEk1AGI)rh_Xkoq#qmSTuBoO)kj`DeS3@? zXDrxBD@+<_mq|y>Hb(A1f}y&T5Daxcn||CeB0n|xi6D_-kfWPq-Afm?l%}Ipxe#)$ zBHQW@q!_9{3B^$N)9J@mM?w!wDFzx05{zwoA$ndcbGr#5Q$~Kq1#qiBkYuRgBqT%K z&!``JjA%AasP1Gr4}aV2j*-(+%S4PKa}24>#?{quAjMF_NhpT8pH)BZAO-e3r^)uo zaRHf~pdHxYclxxVR;Tra{>&G1- zZnZe&>s(sL5VysM41^TTR3q8KT{P!PW2og&vZ0)YY}n7OA9sl8?b>O+qfhIUwoN-v_UOP4rkOCvT5Z=4DBYn`oryXKcGh@8mGHfoa~8jM09U{n$nW>6mGNB1Uea z6}BDO9GIM##wgf2^uEj|O7<|mfet(c-$1kS+wu*?kuPMX);Eubsgp=wmgP(GgceG? zNW2}dK>Jn0vpCc0jJA##$ob@ z5e{_VDF_F;%y9{a@6O)p#;_g3q0JcXZ!fRj(|@mTZZ9_vpWbiibzfZE5grk z7+D#eDH5#|z#T#6e z^$?s7aZ$OU0=n{LZh~e#F9C=pB@Hh|;JATD#nN~=(eI1Zz9-(sw8&hcjm`u@Gs;4?R{^xTduNdqrlc9q*HMbC>{ zc{+oxI+e4p=usK?03Wf&RrK6_A@TabSk5Y2Uc-?W#;nr#DmZTXLMQUvkW=m!YeIU* zU1PW}PPN>KrlgQOZn}DUZ0B`(LC0;|66v^tRuY-lOK^0Hx^S*Hei6AtB5ojr8Wx-> z>$ML>jY$^jOfqK0I!k9a79B83HF4p&BbeL^39{T=^fk(u(V!Q;{aU#R5q}`9969tA z6B_LB0*3t3Q$jPJ#Eamr3a3>Llo9cQIC3j2S7dz_kw+&h ziI{+{tt61X&^z!hxY{I=R|BW1tSfnYLt;a);(XKv{;GEiP64P`#F?d1)__U8>>$L_ zFF4SgusB@d%ki4Jmb-}$MAO7<2BOI?T4Y8)sev?&W|YEsI5xSE*y zPEKoH5pi(VPg*5S0D&D$064F@xmXOjU4s{@;^o*oX z@<2#we#C$#KAn(qsKgDW)K@IatU@YHQF9#%X~=dUqn=IFIFeEBDUo^^b-Wrbx}ZTu z1FtNNPHK=*sf@$=K}|-B5dM-eKVPgOf)>zxSj{{09skx>|fuveefBl>jSu9pjY_+}#h>t?!bX4Tz%`=!^ror4db8c$oK7ZpcX#!?W!9_p z)#U4HJVwvW+p90Cs=~C(&FSpo?4*^yxm_(z22J(rs=d&2A4Whc$W+*uLQIp>Ko6Jy4Z7;hey+v)vy*cEF$*3~GbCTQDB zK2PfOegRFqcQMl1pB>u2!M|OH9i!f?Zr2yhC3-gXve{0)`{lc?ajfducGeqar~JXZ zgA-X!uba)y^rG2Jc6{l7H=k|az!*#t@=Y_pdb8cr^V!)6_Gf|$Lhn{^+L@86ttq1I zu>B@idJSxDFwAUq!Ifd%n0LXsoAvmiSu9p}^-izdz^mKs&F%JI&Hc7nmhrH&-ZrI~ z-Ri*>`;(ndH<)bl>jo>D%%*SWv&m2E)m5|I&T)>*$?E>$s##9Zc`-d-G?VN3b+diA zX*R=^H1{{F^>%zYUo>U;lQ*mDW-{N7HwSa$-(X4b zsv_M}6Zd;|G8DDN+N!}h-~8(yhg_Xj!QnspsKi5&&~Oy|QAcIoiM>5BPP>HhYCXT2 z`Eodh^DYmjK5X{;=Bt+Z>vFyYnB2kyf2KqJ*AmwFNa~mMbh&}|U!R>^Pq*v& z{a0}MoUL`rjP~Eaj4EmsQva*Ya6OB)jm9q4Rt0VK*ZckGvy-4ZYM^>Dn0+va+M`?ki7icRsyCbE(!@E9XWUPMmWvIH^vr z02n~Tv-L?ml`bxN-#R^qX?~dAZZ`Aj^6!h=Zn$R*2vpe4zH8pj5q}G!$Ly3!(Pw%yZ&j1-wKM5Jp3?ajXI%^%19$-cc zb;1#Z0cIQ#C6ZX!j>|s%e%#pd>jEkES7QUjuoim(Oz04;4(UY@A-T_E30iv%wAN2s zLh|Z`E#b%s!y@-v+-z4j{Z&6Kkkybm#)zx+>6e$6m*F`|2J}f#$uJTmZhTg_n3A z_HK6ZP=afY+U;@c@~G_PQQ0+tEE>c}ub*tvBanE?homc2YG3k-;eiKt?FN!pV^l&+tY zF(&zD9R5T{Ps)Cbqo>PDeg4T2N%@a*^z(Q=dju=b4oE8g34Ts>KB?_I@Gzups8v!P zI9Q-*C{)J-5A&$0k>baphXqqBr&BP0o(0kWJ_fvJ{?kJR;_OFRP!p%&lPxHkKO<6n zs7A1MU_n~>IxA;}HG+wCaKTwUFd?lnN;Ip&z=V+KD2q4{o@qkQi9pC|vhfmu@Fz*B z(0%C|wa3gc=s3bR6P>XyR7hm^dFpVhl+no@7|UTHk;5NQNW_mRB$Rv(GA2~W!MdQs zv*9~_TtRVk*5?-#@q-1$=fLl%o>qGpcwf}WkbH=42;iyKHhb$1yie80v3h9(y)Pm~ z!ldSL?eOW|msC(T1$v*)2o84C`_eUsS$Pxk)3;!l z-5>S7R}(%p$hYntfiEMoxAW%ii*7VNzqAwFOs^WTWLU|ieA)ctn7rodwQ&|u&4XJ@qgH@dE0@13sWZQiWzuGVsB(?zG} zZU#1uZ&vdq7qDI5HvMk5^I5ZbUq?2M&(Bx)gMMB6-Fyjsj=NRHM_O+sc8iYPWznI; z{T>?+n|Pj&p0T*6zK{F>`up|j`lofHT=<#KddsW5)t8s8`v-RGnB`H4Gk2QYF&~CZ zzMo<|RxXdZ4@2(Geu>eYX;)Qqee<4{p4FPZc#rS;{B~NJadF63lgFMX{Oe{rolUpX zy&LX0CTP9W>3Vi~`rqGu-$Bd8#p(a9*1zr1fCAI=)h!ON10X&)UYrsir`vDmeCgzC z_@@j#J6|m1Ikg`rC+$LanAF?HtI2Mo zLR}pg)?#|zEY41ToWJD@Z1u<{uhy&Eo9orAY2EQ;ufWzl+c|Hh+c%vxbZ3B$@^XB3 zav`4qn6nF_)jk&m@1NBe0FqO-afHIf>ZEs%gb*5Ls;s2C~?RxcF(@S1R7U(#2 zJCa$!{{g5@aRAHNjteVj){8m*>?LPYfcbhoeJGQ)+ZBbnC#aJh7wXrH89`~D$}zS#-3dI&qyEkAR3PBIF>$~>x`H0}-6JdOrAbfN z=5a+GmEV-ldyE>3h(qknuL^0Q&%uZsf{=4nv^BJtvIr$)W}GL zjYd!51*pSOF;>SYYM}ijABwVLNXC`kP-6B~fS;y-(*RGSJj~frE@zKob;NAihNxUo zcJdkZ<0wM`IpQ#?fQ=a+OcF_zQwTf&ldW-qru5&6Gl1I8EWZzTjini z3|%2X&oYmSu#Z5VcRI2+U)~*tA`gBBN$xw<8B;^&8HdA%1nk?1$w24XA`!&495oqC z#%WPbW#baH2D8U;!W}4?oD0w;^y?DGAukx-X!hJAQ!7+p>AmB^tdVtRJ8&e+1tovf zxgH^Ni*)63@c@v8T;DDlBIr9L*E@*r18Tu%-N$D{$RRv`3TW$5rTg4cv7V|=0`kA| z_J;8Wr6aG5LKsDSOF4=`jbWN{L6XRZ8^I7O1G~0-;t`&Ygi-#aBzO9X@?KXS zP7XT(t^l*Lj~2a=88`u@QRD@?)#TCRJfROfUVX~sp3tY!N4P*RC3c^@j__=GGgpBi zjCvbE4ZuvEb}qUWf0T(}x>5=|4hW-G3Y+mY#sCsk9`39hXNG6mti8<4v7rqzfp!*~ z@%ZLc*4T>WR#X-qa1_usf-}3AY?jVw$F2d{5w3?1XGSbd-r7W7hR1Q!{9y}fKC&X9 zOMDP%5p)BX;2IpzV;aaMKsL?=*c|}as?|46foKRE3CiM_ICV?} zIZ9%y^mUv8VBMrhx$F?7q_^ii9(GG^1fnN7nP>q>!oz$FaS|R=I|*hJmEmA~Kox3b znt&)E2V-!q=!;Q;2Hf#ffx_76kpVg=1-g@iNqpxD#i4k^$$A!u=lxQ7A6p z@f7nh6w(ah7MjnFJSJW;b!1kmabn~uWM-6ffF>lRfdeL^k;pJfQkG6gj|zynq2ytj zAv=y7j|z4eI3Thdq+%o3N1&sCr;*Y4#NKkFrn0OXn}PFj-Ly^SB8=Avz1~7Ha4*UR z=1o|v3wGqZL{}@l1AJ3wB$dw9yh_BFuws+2azh?Akf;fuSwJ?G$)n+fHk)ED?l~kv zyyw)=3d|OXoU?$g;5oIfy@6?CKqJB4NoS@S@U@Xcvxf)C%-8`j9D*3m1UUmFroed0 zB}8}?N=D)V{L~M8HzZmBamc|79RV(fBw7T#JDfD7l(nL<$b7}Zcrc06oTU=v)c_4% zQ3BS`%=61ADv-QdLcWh(XIO#)7Ycni)+i~hmoK+)0ZmtH=HWp{U}bNuO{TLK*oB<>;%tC*BgXlhdkxQf8aVcHfskfG|5j}Hdb59bpmCO!fhM1Evv#)*-~)b~KEk zv_}5o54lM8q-+5tD-O$iGKK<5o|N@g&_w47=_0D(9rcK%oXvHuRxz% zM>1PPA}RBTEH9SmN@`E>ipv(+mPQ68J+o}o%dim%8-IFRwuaJ+)5yId=1s{!b;=fzgu76Hkb`?tqT@nAHnP_5T2bYSN$4a*lu=My1KJ#K zjkQSTwx`dq&E+q2OY6c^c00(eAi0jhv_lp0QK z!xdV*DyWhqIN2yOS5V~+i5Sd>7P@H^ZRSuyk}p)0t%O`;r4^b>f&z%nvTpxL%_+wu}=xig&2(ur19Dj8rII<9r!LyhO=kA*az2 zjPwrBys;&8$vi%W0$Q#|shwyHJ4hg91>Tbqiq|L%3nf|t43z|iU}Z^JwdgOmd&=7# z^_sNNzSnAU>6v4X%B^HBXl9C}mE~D4lr{oFMD>EdMq+R(g+eNk)icACo7zbm}3qnd7by)zF$9H+(5@lD}@7t{LC6HyRBbAd* zax?By3087#UR37=vl*=TlpqGx9&~oa+Msr^cU>y3K1FQ*ap(=t$H&M>=O5uCp8-(Q zt49#Ysvd`{%p;Tp{>K@BgmRhSqX2@FSylEO<@wHEWQBG+z{n+q2VQWJTmYh=hwd;b7Uk}t z4yoB5_+)3sca4^h)q-uJc0OBi5TA==vblg+IfgPt0<`TY29@p+uH;a`$Ver-O?>@g z0w{{sHkHE;1(qC26VIPIxSiPyjfi=%*Cn(8#8NR8`R-+(PGuR_{JXkuTbATDl6>E< zXq$N%nKgTGM}RZ))UW*$T#=HvD~YluH7n}t7w#U&%&I)>Dh{g-o1$nuk;uwK;t~;v ziwCEOjL>>if5M2;wllxEu|HWK?NsnvlRmpo8I8_nQnmA`CfynoyIxy7v?iUKde*Yg zkt1}UlU}7y2Rg{Aaeyq?)kodUL@_$4UfLxb?jZIQMmsT4DBadBf8eU-oS}!=D{8ru ziPrWyO!TJx_48n&c4DG*qfy_F`e2!Sn~_Mi zdWUG5koK-mdX&92N(an5i0+h8{o3haYz^F1d2Vw&rm-_%+8-Fa(5Ug`-t`(2`=9&= zR42C`xi12YIOCiH?~EvJ7w6`IGI@^OKRvGPSCE?VJI677ZOKZe!?uH z5st9%CBnKXF~S~{UC2y2hhu9{mn0lfbbL}bkx3)#8PlvWB<6tW zah4TL-x55Gr%L~62TBK&ogV02m4<`qr7kz*kqO!FHJz-%XrQ#ou`^fZq}npKc31P3 zy2e%-f8d}#5Pdy$(Sh2erXf!W4nk^5cU`jdwydlCWtD-hSH7f1S(H*bP+7;ojfPbd zPm&U0S+A+2Jf>)VjQA$CuKCq|=5D-q#EsHe?{tN|jhn2^!{AO0hSMJCF*Hk@&m8$n zgdu@(&b9gBQVQLF#2a&|=X7~uo7czGk83X%*JTBRHr4W3I|zgAfJ<-qiS+Bj}_wsy6eold=j5a zN+}!I(l}*|DF6o3UJOJIisfvJ;I2Yu$KF`LtMHt$QS*)F_c~2p3VSpAQw!x%9Ux-Y zcUD=?6#N4jCX;$n&vg_{;yuX;CFqEGqYe78c4{ZpsynJz$1AzcFfxn6%|{m270;C1 zZI4@xT&7jZOoV!46GwI+T3Hl(+I)+nb;!?}7z)I2bMc%`);PenC@;2fT76kbOhFp{ zota5Wx#UGLp{IwkwZ9_7OCsuCNBc2{rAHl4CPSVwey19f1Qrbesjy$8 z#I?!HJB$Fb`cgHYbaB-jvpsaShXxQqWk2iXsBa6&^#iUxO3t>{;$f9jL>PFYjJ>`d zY30LVj3X1PLNG?>sE$SOMJCAw8lkXy^c-16>B^@<4F+R4C|RLYaV_evr_T4Lg|D+w7C4GyB%+pgdZ(2coS(nPpiLiU#wZHmL7 z+%F-psQaZQOHd7QZj5}E5x}ag=U~kUv&x0K`HN&kulLG`n~_bAkr6kYN1um`7}qia zvHqjzD9F^xB6XG;CaA0!jH$HaJena-(yt<%E}o2HssOC{Xj*rV5c*qKKULwYN~Q8 zb!-TXeM0DdmF+ilP(y~{jJIr5%^v3ObRUVojI#M;{xZ8Z-J|;7Wgnucsl#KUvjS6j zkOW)Zi%~&!bLW~;Fl8RG?x`S2Ay`x7!|AJ7DCCcJ=)CTaX?P9JW-@v+FRdfWNIt&8 z+yyIZNH13>czZ`UT9)a|hkTUHc#A<5i=JIQP^0^bAq~}@6Vgc}4q}MI365dfNDP{3 zX=y-fsIohD-Rd?iwlz5wr{-{=s&>{!b5OFJii$G6{HptzGjd5nKlzJd1aR=#T~ufp zzxKFe1BLoP1%AHaKCWpuBZeNrob9Gl>a$?Zshya!$-q(&jrWGR(4*4)Qadx=8PkrG z8d52GxHN8sIwXc1nY~5bS=JV8KPS=Y3TI$p&QG=31RGz!9|j&NoFE&(?}_plPX)23OSiu zuFm`{D!{4ex5(U+cLYQt(IHbeY7FmEkcWZU^57M9V|GE`Do;ktE@(vc$55Z6sMAb8*TSX3PgiLS9EdW)w`P8jC^B@QmRFd($HNH@1n$B<#(wgnWdt-~s zv<^yv$AMwLfGHSDdVx?_7uh&6IpmGW6sW^vd~5I_8O4Jbj8xz};FTLunbW!GMoSQ% zqbTt}D#^>%ZyE;|0dC>lPq|BqSG6{|l;agsyIa;ZL^J>f?poHtB-isf1Q!>Y5E{S5 zNz8k(nzzu1Ng*ZGLnC%dp%IH#Xap#aFPOa0%5s`1Gy?DO+%Fy@aCgruG{TBZt_qDX z=)X~+5e9!{S)mc;rgHCHllyz?J0$6`RiXcgjMxYTMrAuz(4EW;}>0uK#k z4~#H|)UUt@P%_dWGGb9HG-9U_8^I@S;Skmqe~^^1u5IqEh#$5U9AU82wLLh(CL0ZT z5004a(XA;{a^p!gE>F9;@Lhg*3}M+@;WKR>9I+D$j#xB8;p^Nks*`AvR*C6dSSAh>gH6WtKto175RJ>`|AP^j1aYAT+|@#BW<@gcW85 zDl)=&fb+?#Vbm2HVNj~J zSulhW9-<-*(bLD)*lfi{ENaC@>@;E{@Jq=n9P9a$O!x`cOD`mc1n>EI}L>nU#k3(5d2HGSP1nfkF6CUgSKKL3|UxX3yzpf zY^1b;BMdo-b9D#ckI|Nn}WjIy%gCSHj?ZFX~rg?K~ z4W8*b4n$v1UG&sXK)G5mwPQR+5}cYe^oUsZ=m^jyuILC*3S&cb#7-$XVy9ue1+`)$ z@XE1=M&MJ#H(@1(s!~?$0|ub(fe{wpSv|B3+2#=!u~UkRIM5mb&lE#k1Rm4(u!sv0 z^m7j3BUw5f!W$Oy**;n^kog?;o&%V7dt5U6xHp-7yh<{A3%`kE_Eyfx>@eOZpkV~% zodhH(5FG=F7KF=qn~lmX5~-)uL%MnOH0v@ocO-S^sI+gQa)4*fi}Q@NDCMZ*JzFaR z?(h>Nw;K&%_{s2l1F$#@07h@J!rkzb?e9*u^8P?i{Y1~nfZ>?3AtOvQ5xk?Uylypim0Vnvw7}u@56Pdq( z_DK+(Y3FdsIVI?VsUoh{M3)?%gY+Clr~@9pM13d#2s6x&L%&5X7RKIT4>FNfYAXlI z>bf^`h7(dOBQTgi7386^B+jCkjtSVM)e4Y6F2Je4AycysEl%Fb^eE7AN`K~Ga>fy< zfb>hQ1;tt*(UhG}#gjARR0aU|VoY*It`VL)g)82|^`?wZLW_X3Ddz}wV_L>TpVbz{ z&kTK|IrQ8v7~72qYmP`WNsUzJc;!B>_9XLb=e$LJO{9K_#gVxPE%Mh0$pEN~&>=<| zi{iq^sd#TyqqQ!q0}hISY_I`2!Skq%{WGN!r#Bv`-W^ARG>*dDz!o*3jW`J0O`^mm z$|4Kmd$Uk_xN-;j2Afm&0Sx?3`0+p$PSQL9U5&y0M{5QlmXnVUw)hzA1v_#<>}Wil zts&i7Zv8x59C66ih?Br$KQ~D8++$g&+h75lktEqQA8v z4*~>H3y@xcr5|-;jhhhVof%X~2f~38Hkv>Q^A~(3aT4(83d(U3a7^Y?36#)y9KeGb zkq3rFp=kN!W-<%{C3FUufkE`@u#$^n25He;dn@30a}!bm0tiSsRKnn~jf}^Ci}W#! zY+?3kX`QP^*{4BF%b^lF9C)IYv0RGQTfADEWaY57o0ytIKO}unf5XgrenH?ojKm2W z3nRcZ_Jm5P^lpNRytfH!%%Ku0Ee@--&~|~x4kB8#$WM2u1RNKN*2}p!2Vj7j15|IEU*bjw?z(Iw>s(;;$?&;(YlRLNc`&hhpnw(r z;Xn&Fw#bv_hZB4vAB4o^y$4ETo^%cI&#?-kO*+i>xCE zZqFyz*@PJ@7i;c*R>Y9habiU<3>P5Ao-|v8EWY41`a)*n{4n!Oi+AD@T*hoYj~%7o z1TMimUZ2F%{Gt(F<&aj_+2 zj4z`N^AG_ZuxYtfR$bR>k>2g%-aLaGX!oww0sz3`(rOpAwA!79R!d-NTUsp`aEZHC zJLwVg(rT*$+@!fyMW`*U7T^JSX}ncIP||Agm7#80E!v7Ltrk>rrFQ#UI_*Y6r3F#@ z(rG>Qe$#1*B4A6W#gNO~1f8}LIBVBw0p>9JQfisi7njphj96EtZ-Du{2t|r7ndQE6+9^7O)Vl?;0%^M_d|hRg|4;wA^vF zYqS_X8Oxy2R)%6Mjh0l|HQLoGjTV&78qjDjr{R7vl96+J2LCdohs75(T1tx;&SC^` zZ?S}jAxXA$Co;ojblDTd$ZrCfp|zKg8MwWNqlPruO$R~1z!ys1xH@>sf#o-b&926| z`Sg_Lf13kaL776>FC(y!yCJH=x;7_89Xhvf zttF9n681|_x)fXvVStzkJXa-)T9vp;TizMdPU}Pn_*VTdSHuR`lo%;mB8w|Z4 z<7RMvIH9lVX>W^5pbY{7Xo@|l9u{y}oqN})rR9vmOeONz;B(w{`U31120W6f0`_aC z1p9Td{_p3E9f>+;=jR|^S~{DKk=m53Uhzd@t)V#jqu64;Gavji5b1er@iva{XTcWx zIUgJ`P+VWi4{3#fFw|06_8^$#G!lI`N*N+M4PO+VRHO?V2;|ej)uQy;{7zn?qQ(%( zdyxgwm{z+ep{k5=Xr)zhDEXPSzWE$#qo@iQj0M0QHCU5hqGTcL=S4ys-d zhr8N5MWne#ZA=kC@scD1gRyuQqE3ChKCo7V4jIaQPO?HaW{5Q8^0}R{A1GyrEV?p7 zgs&05LIN_317thO5NTOvJq0&mbj7e?b=fIpi0m{nL|P^y7g$v0FQfarm?6SevLXiD zG#1R#sibO#X}ajl5NXIjCkJm#(^nA)<%cxoi$I7m5k6UxQkI!!E}6mf5O|~HqE>nc zQs@JRMd|)zn;Or{#mUq^;JV2aT70~F+N={?I#NiH{Jv324_WkJdI;)i z{16rZStQHcXkBSIlZlNooCyOM#AY?t(w31RvQtVB*=ddn+!$J9Jzss-{p=Ywuo6$6 zy#aenF6ZzRMzqy(Qd|k$G9IY6<~x(TFXJ(u$DnUxLf_&^yGw9j_ygrsw#*Vu)S4JGLa| zSq_xLb!@cYIv9G<7hXq_7kt5WAWZ=~f5CN>C{8N4j-o@L<8?T-0d_d;h#e(Ufpf%; zT)hU(0==k3aRUxpLRKlnjv@b`BX+nisxHJ11;{vHM|5+AZWKkhj>gEktnf!XLso!(>i%ybh-}ybh-|e4}z?9g!o7e{6Ui#T~3_HF>EVuOlaS@j70I z1)*p0H_I-34={EfKUh#&&)R~A$U4FF|_>KNdLWkGe& z{FN6}2m70Ms17=}i=aBX%nW5gb@ah5Y)~C!&xKGOv@X$Hh3xw#Pj}s+I)+SA3&=wX zyF+!5Dmzq%(+<_alTTSt9fuLQo0TIid>&>(zGCI5BRS^moj5tV8`_DJ)1dfBRlD4o zihUWD@I+4j+epQ>b1HTqj0}!)T=N75Se3a5H<0AF8tp)NYHL_ZXbJ=)pi|eBCKaTh zz-8t@5#3x77pz3yylilosbUfy6glcfbvK0U zbha#nDca;;9x+(SnG*CLYV*wou+zmHbM@RQ)UGa>a zC>`BonodQfdHEK(;3zkFFNy)IEDypjX4*kH_c@8n5;3Ig zJqKJzX^R$^N6U*wq0OMy%tY%T24|GU-Qyy09^tLoBS({J%u$ABWx=83kPQ8u2qLv_ z^UFek?J(Pe!R`BWPg=Ggt=z1LnJR)Wsoilrf}|8I@T>xy6$5*udT@A{A?sW6Ig*nG zNqd9`sf*%so8+js0&5HV44Jd=b($hLy=rn+)FzWg17S+`{d?H!_X`04Nw#nn0ukxH zFW8}x!QR@H2tcj!_%MX^R_{#rz6>RJo&dOwLHt<=fN@UuhW5&{wz6#z)}z>jqD*IB zO)V+8dPu8ws0JWMf;D3UUWC>G(jsRJRRZycXxA?u1W?~J8ZoVg<*to3gy`R#U( zyipx4M89=yGCjzn!v;|uf=nAh+38G)m3`HOB~isMI#bSjUX-%aqiwBCu0KVZ_qLff zs%K*N>fT7EQxC}wSYuHhS-eHIS|<0V9L_QZ(XvmResDKm3LodzNpOk z?JL4wsm)!JC@*100*_)7Yd%m#0)L~C<;8@4aizX>*4ChOmP1>ua2!;{RWQL8srKM4 z(G$GQGXR2;rlq1cW72e2q#La6%vko?ok^e-fb#7M0VsQrlZgi!#ZD0>Q1@mz3Q&rat%|A7^>WJ)9|Uf{JqjFqXvKi{ zDnF*8ys?AiAW>?1* zD9apVl$WTx6U~Ilw6`i?n#t9R@Z9R;Q4dV5PIB+5vK`X7yYmqy-_DmP7{F7j@zc8E z50Eda=oX|q3L9r-dIz1*nOR*HSN6Q`zPkdMcN_ZNTE(WTQmZ%0bE`L+$<>u8>gal6 z#;#kRnOcn~cA24+S`B?z;lD_&E-ax$nbWzIevl@mE*@$94P@Y-6(afwyy%EkKbEk_UZtBXcF081vT2+(; zZ!zXXGhnHEYITx-)s$PEWN0+zR&RvoRy#eETMf$nL|pJuxlNv1jd}n)A2YW)k=c)T zN)rxlO%0wf>n;PPR!1U%tZ|P_Dc)x#DsyOSRa7i9t3}vKtX?GZs-w~^OnKFKi06}e zUa)Hn%&W$huPfpJl$#cY@?cG2nVwc1CD@x1tJ6w3Vq*11d1CcOGqE~iLy0B$clJf8 zODn^Gtx1andDVeH)46+Ib&w<9lvf?3hM4lIH_G#>H=23XK{}NwuR6GS!_%sR0=$6e zLKu}5ZcN;nZe>wYgi1fOuC&f^AavwE(19o_#balo=>Vj2NUlrWVsc^kv}(}G$3R*& zs3J>oN(V}5)jN%FIy_jKFcPc#Siv32tj5=fZ#JobLkcX@r{^G)jpCrBa%|1gl9^n+ zQJ!4A(?hM%Q`Pv(Whhp5^-%=<9K~dA=W?xjBBTcH_sLv)?N8C0t4?#lu1eP)}d5D!25zIvb;(Z4i><27Bi{VJ@l+@ zRP$G7dMmN}6FPEzar$1cj9*^K(+NA|R2m*4Z zlG{QA+d4JrL~2_)8!Cz!#4S0QK3jw|Gf{-eEzzpqdzZ zrc`lN6QdS46cRx=oSdtiYf z?XQ#5dmAA5m-5a}injztl+NdFI()}PQikRT&YX6Q9>Vm+@+bh$X7{Gb+3Tdr-Np%h z<{UvWoadW!dOYBB`ejOx=7=zQ>4mC%0H&|$VbgSP3X#1|3ejzdyU#)m$)^+|z*)=# zPa%ro8vH#of zRm2(;Y%a|27edOEYfkCQ>NvDc;SRz$1|jo@nUxtZCVZ$7J_Ye_sG%LxfdZ84`;7*~ zhn_R#8iri}A2`pTjB$4O4^*E)YZumw>E5X&>{Mjkfkk%)r4ae0st<$;L8;KP%;EU# zy3q&~&0W7F^v9e{JeK$^ii~>8yinowB#yI{MGV@(-tVN%BVQKu9daK7hZ)`t6olqk zHY@QGC8_6_FjSRu+XNp3->6f9sj-bNO0;DiE+W04%qqr`CBrY)@crj2cyK4L>Q~GS zFrs;+bKU0jB8D{JtKwzJ`(MP`#=U7R<8{(nZewJ99<1$@)>7p3z!Hv*W6=Y56_G!n z#d1v(`D3S=!zqv+LjI_%142GX1Ol?Uu#i6rk4`LzUWv0IR>#zB;xR9Z2pvJJkFALo zO0ZD$C@~3q-vNmLyL=A;Zs4j1Ckz{f3}i9mjVAI3t#SC!%EuNl9tZwF9%Lh90w6_Z z#d_dU7_mph2nGC+={?)pMpGLhOG4>lB)W0vKHz?+s5O{kIuMTgvC+i+ATk{&0)Hr* zt@H)_QGhQGvJ)c2Ss8IZkOD)_Wj?c($q$J8A>3(lPoh4c;=NNueHa=Xw)S^POpkw8 zHaO@<-`K7|Kjy0=UqaB2#_9-IFkRpgtu9J16nY6kKa}Idr53N2B|$$53)YaqJB~&# z;_zHtdU7CC2ONM9YSlqBk_Kf6L<2x+pakmyJQ`Ath6OCn)tXu1w3t9YR8pFdC__u6 z5B7kdA4wxP1p1*h3mL4=Zmk6UNG#1YS1Cb15(_dwmJ9SF^T3T2j{d470|Y-nKj7>wA^?Zy$X4c7n2*{6l?t7f2ZmzNW}hhO-v+AsEaXTzd_LZ+I8aqp~f5@6E(73w<2JafHnj^19ZSrS~}zBca^5IXxiQybx0igrBlw; zHyUads3t`!H-TYsS|%Hm{6(~mt2C0o66wcn6+!zbJ!KH=b>Bu&I~Q&Ph{% z$+2rgD-T5oQtOY)n(E=stf@;^%k#w9ZK$lzLY&o8)>K94h>p_ADla_T@LI$2p2+ zAg6Vwl+(J?$Y~{9h|UX{BVCIhg`zq?#B3PtP!Y^mbc(EcRHGh^Sif3yI2+7q1@27b z;aN$omDL`_jR`}O^x1)#_(0zxD{D%x&)H8|tK7YQY6Oo#z>yE<<=S-g7|YUge6#^E z2yqvp7LLS=r30nJkVQu(wPN(O=u#t=Om0r_sbwRp;C}Hljb~4Mh>}{-pTec%gRL`5 zsXL*R){W$lpeVMacF&jJbU$xqz7O*JB1p-2q&7~=xSclaK}1ptUjoO)CzFnT(Ai8P^; zRAQXbHz1TOnMTS2yoquRa9sWTCMcFX7R8U^vBq05NL2R$_+%`7hKDdF0H`KOI$t2H zNp%~2U4(f=z(yhyqHdHUd%Tc`;{iQ`n460DQ@t*HT|L`qr9gA8|J(@m2Ef#w0e2Ek`DiL*jB|?vxyv zi$e}THPI)fR71%IWj>>hlDWMDLFD1Ek|Z^hlX60Ei!g=b7Z#2(B#!h z&&zUTVwz;ymM60XVz#;`lhbC)mAR z=MDSUcUKO^C2cf7esqL@GqXW|Z<{moaw-2D?XXO(`o!EAH=eJV8<4Logi|RV9Orv{ zTs_>L?#yDjj7)eQhr5k=^;vMZe#&AYSOz&-Tc{8*Q8hq@JmDnV!rBg$qx*=4ZWajN zFq$mD#Rz92H@j!ZSH?+D`y%F$wXtk_0y)|Ye~kzghsL0j88hTnZ3T~2hCGf@+$&uE zzHyi#FUmK=`vc7k`OK;}FmiPwObuyVo*}O+2(Yc-7)??)JY_n|3nv<2MRH3b|2xUF z)>no+z@NlC^`0c(88hTF(zkgyZ~iS=%!e8BnW=#A2lk}?E`l9Ia?O#>;GL@s88>?a zjr8j|yt+AxLK0DFD@9%q`EYf1;%bB@DsU3>M!Xj&O*u4T1d#~H*-lP4I!uNiw<$wj zh%~^yCy3SPhn_c9Y;u|~0Rf7#f3|`)L1m(n)WGK`LmuEeQu_jNd63B>vnv5hx20^A1G`Ya@Xoe~DHRm#CS;Ivx@ zu;=n-9cb`P9;^X-7lh~ofEKZhCKktL9RMyy+^qwEZU~!opd)EuvknlW;$R&BOh!0Z z2f7L{$~pklhrX->^Cfz}tOMvl*{lPEQ`ye{03=BV>p)Wi`rZnR54R2wz3E^b0CrN` ztOJv(%Q(QlH`{834RVUX}r3 zn;a|yfF2o}WdNuewk!iqEX%+~!ZJXxn$0o*;Er;z3}6WBW*Hzf%w`$5TsTCg0@poQ z27m}tH_HINvn|U&Q|0T;G60O1vRMY2YCpJTV5evqSfnfi_@QmK0ASmsgJpooGUd=3 z(q%>oT9Q0wYYQM~umWJc+?gzJ z8L;p~zWJLd0M_kP0IX+)gDuUud&HYG=Z+wxxts?#;L=pI&_nac!}E7){rwAxagAwJBO>Ws&DNMG}> zQRrb1R96pmsgUe%+!am?Qp%U~IH=BD32RcFF~Yhzin6|I&ID-cOLOjtg}Yrj?ulY^ zQ=LJ#dT0eBr0R^nN843r+==KMsm_@FoLzP9Nk;Uo>wy35yY5UdjO~;_K$yOC=MEQK z-gRft(LIB_wJg;c$Q)9K9b5{k>e8G6zR|b&MF(`A@!5_cE(bkcS_2$)2=*sK`pp?j7jlOaP@vpiw=z5T0>jPGj>`YyYk!#EbO{7 zH|22yA2$2_0s!fF_3T@V0EMmRR3spC<~mMkE)i-@vd2X|)H~CWF8%z^lLEJKtUe1V zFiw@bdedRiysi_lVgfCFwG&J!R!>_f!kZe-bKeUtM_~?=(-SObXYB=v_y^Wrh>5?q zCWT4`ZEZgv8e@d8E1SoAgD`W=H6N%b%plQZ_1yV#nFHCUuqw)C?F1JPzZhxkJOQTL zjcCN(-$}nQc`OsTN3tfhmwLXSr%5}86@2MVV?=bk7FL&tF5bIH)3^pHZrr%CEisS2<^9#Ng4^5;&*BY)vK(N5UjX(P)IAB z0H2lXqBQZbZLK)6D^4a8n90K-&4HRsY%wQ6J_U|fp9hScDhn3N$*J;phI}ZtgUC@q zLH3y#!2rT4lC4cZT`Sa-zXZ~yQ@pq5W2-5-Cyjofik9h4LzC$mdF0^|;!F8NJ}q5V z6@*LU6|&B>#_w`_j0$s;=3FP;8fB`B>`m*g!uxl5!V^M5KqW7(1C2o;tUh{{&NJFh1p4YI2HwL6}J zht)7F3czAP)|^!Jq^1y&thdHR3F&NaY|9KJsH?7ko7$SzRF|Tf2jRXfcocrTVrTcu zIRr3{b3SKG3@g4CbBy+~vxz7nx-j;K0qOR7XFBI)(8Tk^+-*#)&q2&x>KPJqL#OOz zBy!q~M8qNK%M1jd8AVSxszhV}?rM$9(sv^fK&xb57>-#*tx!fH%kn15NMx?x9UNQ&ta{ms2=UmKvFP%v?&qO65sh|A_lXIa zW9gcSW(b4pa{^LdV~CIQv$i{vMlWM0p2$Fd6G@|U6>@UF6GhEfGmvI}7hgEAaY7Y#{wp6tkQTdRs}?yQXl z(7@C;2HOk`|3P#gvi+Fj5x=v5u0AWIU#s-1Xj8SCAaaqX9TklkM~*qzZlnD? zb(WAa9QrxKm=ze?X_jb8KH*d(K(IcrkQI=z?i{_>3H-l}_4DLOG7D$D5J-BhShxw8GiN9Ugr|m60u2s(;Tq=~PK>F?jq7@yz|#xk zaYcl%tM3}T%hUeT=E!ct0X%n(7>Rc>Pz7+WblO9xM)*>ZkI4%j#pdRozITFNC4$Lr zC%8U$f(X%hF2jP5@_wC!M$F*&f}<=UK>uM=6z>d{u=py$5_UV&?YUEg+6|{z@Q8Ee zg(&70Lb>7#w;sh1gjNm@<8qenbYxn36-TDs&Zv3n3`KbI+xY;`ou4_rml3I}BuH%i`s^AJ6W6abIn_Lj56iQ)e5Z}i@~hbR z>~_HJbEgPsUv^6818Q2aYi%wvJM#L}ni=QyD12X}-`qEHDVa;ZLWj_7N6l!4pYz4nCuI`)LycJ!yt5K0G( zcC99ijQH4iGRm=RwZ*f2dmvtH>f4Vh9cukvt3rPrtHNzV`ctO~*qiN?x)zYn(@rjR zpafYtgUkcnC_E5!%(~`;8`7UWLp_Z1454D#xKl=C{?rK~^4n$7$11#b(&&(WG*UZ9 z$RaSjKgy3c;+>X-5nsi!Fm9XCpSy*Cxo|!hq1fGJT^>vkllS1syEgtH27bzqM;%^A zywkcc(yLe(#%)Xbv-w=Ib~2%&N?Jb6Q9{H*Ji*AKIzgW@>S1$~?ldrr^eP61aod{y z+&MzVOg?QSp!nBx$_F6CTx;i9nunuSAC>t$@|`Azkzd8cFm9XEpDT`N9ypsAka!wS zsfhqc&E*>O6DFhl!0O~9-)UqRf~k_D(F zG<%q>Zj?Js45Pe?iDBHfsy}yzEpDo7kT^Nr38{d*j6MB0&C5CBz}b znq5n!NCfDIF}r@Rt)ah;t>LzH{kby)$c?kTE;S%_UvDFT%GPj}ND*LE{ZU~I!|pXU z*y|V@Zrj$MJ4GnBa*lUIwd{7S+5uY7(xok&wgy&JeW3nr_u3l9>)0A@Ti2gEN61UD z^Bnbe;WEI1lLUZ)slr`P5-N`NULPlo#=XXd@jAwa+xGRRP7>gNazCjINdC^@G)b^b zn4KpH*c0(#4x|JO)IO#-4M>&H|8UZlc%qWPKEEVSX%O;AeoE`S3?J4 z1L{ePT7l?--$o!-zI5%w8z$^EVBjDRB1YBtcyk)-#5-qY4x3>DB?gTA8#I zy&l%+DF84FaB01%VqEP5WvE~Yv}%oI*#N|XiYxO|5x4h-b!JOy74RM7U9~V&tTdD| zNBS)+^&xas06ks%@Z#M3^Em$p{E@$Z{PVy4>*W$J*4yu{07*oC{QIB3`SP3p{${S5 zum9uwA3lEff4`Y)=&#@S-(UQ{Z@>QGPhZBr{bOCggMa_k-@g3cfB)f!xjW)M6ZvS+#^dug&!}=W<>Hr0HCOxMWd3ZSQ(2lLOCdmLlLx28vYi=~l*E_-_c! zY5dt#DN_|71+PTb26H@;);mB|aSin|h%VAv0}l7R*7ID)!o*y3tmZVeslu+ZDf_5;WM?ynq|j73auFmCju~au2g{_HMkR51DTH_ zW)hzUG~28zUMsTNh>dVEbJYTDRfP-*K$CzrSRxDG;yIQ0m8)MEU94XAPx~g$9fo3< zfPR@vpQXietf+j8LR+0RrH79++B%;#e9Bn*kcD(=2Cgv_&^(OgbjS-cuUSI*$_AA9 z#7-F>Gm@t6Z9+(ZPknxeq`=s5G0aC;#kDzwHNH*2bF{e(cqyV!sT_ZrQmrlXVlP0c z!nFdZX5I(LI$k>b4lJp1^4`Y8F-COhT%_~iK-MX9qvtm;V9zfc?Ja7Dq#k>_TJSII z`pYe??fa8^eYXDdn~&eEz5cKL>k>n_+V1$kXmj4Lcm2oj{{GjmPuu?DDtW-4zn%a2 zvaD-gfA#&JzWVs_s~<0T3$98)e;Mv!8oBiR38wL)4AlSr{~#djloM5*vEWY&JKS#LCQ`{$n%hiH=LAX48k;S)f;$4gEf3TQdQl>6zK65Ft z*eRScN47NI!-uxkKU4?yP# zDXmZ|rgAcw(3>(R7KK_f^p89lwU<7hbDROch^peLHom5(9>9blqNak8UcC0<#n1U! z`bQYQp8j!%o>9|z1|brs<{+6ErWp2G(RCEyqEawU4WURdrY^ZS8G13*KcBzO6paOn z?~;uJlAY3V?wjP|aY~5TB_7M<{t}M~rB5jy6LeCD$N6q)pHmQnl}sHu&HW1GasUfY zY3Z8tn9>`?1EI$t=Lgpex)FO>8xHg=3kUUsFmXK$0Ov~TrqF|b_+$`8SLbu0KsY1N z%307Ea3mdd>4+acSD1g%)QCq@`6#O_0t*I~suB8rObslu#Pe)IwH3hXL(t}>i(C!- zC)XMl*;jww*IMkqRd#fjFe4ZGA2TQ{!qsn-@Ewx%fvD;dLN7jr2{0h`LD*K|iM$u`*%)v~F?8w*RK`Vo-bSV+9E zE@hsJcJRk@-;BJpKIAC##>v?Lx5rg6ppyuQa6T~mTDktBpC!4*r+r6Z$g1FDD@Jv-YQNzWw8$ejqMQz(PDUaZ2d|oGO35fDkyGD%#Bh+KZeh z)!*nk`)M}z3nu-GG!U{?RPbQLQpcse^N6?mhd=xwe3dRokM)G6?6Can+PNkp{M|Ks zCWIA=`A|=*k%}cxj|rvBQJy#Uc@*UF5hKD&V`|;y;!>KYxTfFk7pH!)hWCKu37}MR&b|l@Wn-~$rh>qQiDI!VO?vn> zC%rVlSx-d{`#`JTXz~WOtJ&!Sdvln@?W$Hri5*qWP^Ko8d4P^7qZCFm9*fgFed}7u z0fjiAfi~|=Vxh@E4HRZzi|k>|xl>o2`z~17J9P2mfapdZzEB!#%EjYu+y`>sjXyEC z+tr`aXvz4-*PoSLzgz!=iSD)6yD#^jFx%98Ds#Q>>T5|FXSs8sH2?-* zTx#Pbh|TmeUp8xO2`yLQ2ZU%uLqDH>|LWX-rbHS2z0%?%k+0D|9H z^WnD#*4$v0O8lCQ4WrSQ?D^UU?xCrE&waIDeXpz5D&2fj6K_5GHG>tYqHL6{u1Wj)(+5HRAR*f_2AvK*rS<9{Y2S z*|mO3x&8Hy**ClWYZ@)D-JWm=jgmNtHFE89W=chxD^2&4`_d``dwwja#uev$TAjO3 xZm=@N-`o}une#l9h8D-^xi2a*wf1c&Jy?SO`Okm<{=esc{yz;k+|nOg0RZ+$=wAQ; literal 0 HcmV?d00001 diff --git a/part/data/sources/tool-ink-okular-colorizable.svgz b/part/data/sources/tool-ink-okular-colorizable.svgz new file mode 100644 index 0000000000000000000000000000000000000000..52c41229384a434d1af8140016a066bded35745b GIT binary patch literal 5130 zcmV+l6!q&LiwFP!000000Nq<_ZyPz5{hnV@tNzl#R+ad?Bpo}0oo-B{ff+2&5A0_} zD%;wYB}0;9JHLLMX*2QF7%#z3X_BQ!-`PXJT zxi69*Z@1g~i}CpJ@iCuQnfYpcGk%|B*~fS9E;pZV-X%$bewUkz+4O2uRk(jxFJi&j zbX+WoyJETBjAbszqqg|8Ek5Pm=bww|>h5l}+{Bv8%@3Wz>)CZvnn&}fV<8zr7z;I4 zDnp5E^SsgypUY$&9En(@9`(g+HRWMkjkc@RB16q= z_1D8-nN6tB-G2cg6U6@@c*rul^cui@W>r zAI|_Je@<4{$+CD%u2+j$@!R;NuI`sNgFQXX?y(_C<#zD%bNl%tzF*FY>kXGHSBwAB z!pis!U$NoEWc|x}GMfYDWw}n97|)`ZV#Ozm$I0_%R2PUqxwu^y0QL|4HjHQ>=ey82tD0&rPvc>W}qgxdG!sbIHs=TC>ej<;_fe6T+@%$_sh+8bzheSez(sHppG+3_+0!T;=d0uYlY>UZ=Wwj zt|Vzgl16Ra)%EqJzyL%iFWMApqEFRK<;}f*80bw7_h#CK8~3MQ<-)|a#k#H=dxh;F z>wdKW1Fx1@Spq=X{PxS=N3UA&va0dHv^j&~-H5%gg& z8pA3sz48Suh?O%}UrHhltKLLP$ho$Z@G z0~$8>+H}XahV#meCaG;(^m?#?>%j(i*8O2HicAJ~n0Ydp78$*Q(TvNC1s!O|d;9f_ zw&f&zQ1PQk*;sfYKNbA56Yrdt2BE-$w3cj-2C)M&IB8s$ z24(IbwxyLl8r*N-da!|E8uVEp@L!+|fYs(iUkX5zFqs6jQPJ45K@(a- zlKp51w1aIi^7YXW1Za@b`F=FyDEDwX)FbwRqR90+2R4HBFEcws$mtBRROVneL79_` zhJCYwFa)AAn4KZ{^;XkrhfGO`B<*7OBQZWnZ;o_!MtK~x|Heqii+@+7)3*>1Eu5wh zfRfdw6Xe8vMb1iUm!Uq>M#OEM>qw3IbX!6~SfN$>(t9|FRJZ#Z!KwiS2wr4@$|5eS~&a0KKHkR+AuaUMH=OPx&S zJa2RDY>)8v$_?|K${^e`ry&ps0qu$BbFBUX6fg(EP|=w@Ip97;CXj-F)sO>qlFE}w zR_mPE?4u+3$-*L{#ujO3F+_!08Sh z9K#|>kx2)y20WirvI2opYoegjHkEZC*d~=Qh_NI=&|1nNVwKfzMdR*tjsxU~<2)}K zkBH{;pz(6dcbzfST=DV^?CkTrczo9k>C>dy$ot7n5r+Vblv=v_@M*Q473=yF#ecm| z)hNqn3su|otpm5(d>6ytH@B17>Jd2K{rF|Iy5m~f?tY2kq1(^q@Gd~^Dc?Ai=HqNN zec;y&*+U8E`=`C?59>7-SWKP^%r*Y1_jz->dc0Xj_cd8Gi`Gg7YEj1pCZARh7k0u zhWOXb&Vnu`pNhrR=%0*$MD8y4&3g54f47-y$m(|-L->+qW4zG>~Oprck2}%Xg8qYin&zlD=RA{dw zTYkWdc&%X@)6HfY|Lgf29;NZr4uR2>7?(q@2SX`=!>zDnl4&CI;L4%!)w>WXQHVCB z;^Dxe1Hu)Xz$-$wY8$h>QP!azf&wR0${|It2|<}iG|wIcMUmrkV}rFE%^Bk{VbsCw ztcoo=BZZ^HnA{)?HBdnTF^D2m9LifHa8kj03CF}sV+7ULZbUBxNX*aZVD(%|`<1h4dN&5Y#U;nFli!{{D&U>VxB0F!A_6+`XlOJ4x z!~2Gf`U3ad-M3CtwM9ca>TVav{#W8UZ*q!gc~3jsWM09$FeCO&LO zZ3HsT%f#lMtc9Ie6;BkrP9*q58E^-(G}i@p1lXE!(x+DE{3b*aGm(e6dBnajA1`5w zCebW04bre43SKFnSc86z0X+ql>gY9*(WAj#~2*f3nsww@ew8h zNs|)FYpiXiu@)G*!dm1(NiKzH^W~U{G-_iOI?@gyS)^82CP*z)AZp93!Ff^{W;4e` z$f{hTJQ>9-r9E5)Aq#m}5K7p4fU(e)#CmCum=e6~v62`oh|Xzgy-g$&9EO%+uZ2Jm z5*JJZ9hS53MN3{(<%F^E1r4UAY@)b*Y$;Q`#1H@1i8NSu})WMYia#Axc2zi*3<5N@ty2JPpkQhLe0=yBB4mPIT z25`G~DIp3I-U!|mu(eiJ!o4ZX4^`QHfWL{ifUvPjvI~$7Nlzw1nH07S*aKdG60g#X zp)5%PRqUlf{tlVIFyFU{2wf*(GQ1NA_e3DLHJw|wBgLy{EgW2eEd<0=+#MiSSXh>U z>;{Id<*mR_D&w$HOBrLV5Co8rAdC#i^IS|=KFH$r!v;(CoSJWpfenT#Td8GN2B-#N ze32tKbAS+@L@Qv4tq*%Z49r0A&uq-_ioyrr5~IOx#EnJFhqeF%14}XquaXBLsMPZX zq9o7G6CTr)uTxOdcqR*Fg}3Za;qt9!++#5S2F1FD-7mr8wGq(GXkn8{}p`HT(DaU@jwh43t+w9Vc#1ml#^XO-FFMGaSW9h3$St4 zCa_aj)|3}lfl1=YkHGFgEk#0bBJhJXtVPf<3#{oZACPl(&X6)#;yn=%9Az~{QgIn@ zvtmjYd{n`8P~)G8hjZXIq>aDJ&IP8(>V|*E8n70{2T}rXRxv}@jh6jt{tzNNXuyKA zfW3MsKwqi0%F*hwYq$W+2RZDFY%_C6L5Rn+O2qDsA_gB!20GPKoTy@~n>gl0J1HHf zz}90yek|iGxYd`9SXdG(F9P3b#%8&ERQ0|{msnk__M{Om6F#RL?i z01B#{5ja!{c0-t4RKd}0IgHw{8?sE1Jm)VxP{*rT03Tl6^geWjP!yz<$oYY;`KS7` z49G8JjzO5w&lUQeF8 zgNeE2dCi3wP|We&bjmMzYTAIaA{Ivu!?c~YqEsnUO`cAxW~n7E9n%}O4bDC#e#wdGw_0yruDISY;giTDq%*(j;Ru=h@kW}huKnq!s4DFP=+fSxkr0vrxh) zEG9s1V5{Qkf|KI4TebJ-@pX~xx%Uc-8iMwgb)XdxT&{H^wHI;Gi)e&H?5VY7nH`By z!C)1;5ksn4ICkEKw=X7K>r1HTOH5Eq`q*W~@+hg>NSkKSn#$qt*&MSfW#ZTzdzet3 zo*>1P4vA_)lF3#>E~0^p;Nm-!DpmS$&0eZb>870TlsjPMSR!qF z86N}-;Bn+q_87~>QG~MZat>)TnM3xkj)3a;8_4f#|9q4O#l?_-Zn(Frqo{^ zfirt)C1Uu<=W7t5igP^2J1JiPE60E$*4V^SKK?GXfE49P9pqqi?+Dcp0>~d@FJSt7 zkjQZng62|G6Jk_80MuB=QpzF%L9JevEU#*#ujC6d7d5t)Wf%kzZz&o-0SO>sUTwnx z4O2TryJ8XsAZ&=G5GV%(?A?l0R@+lE46qlQp-c7$*59|GKnSJ4X&l!!$)PutASrMZ zpAe+Z19J#7)%ydWP=laok2W2jj({XSykyL~FZo_)%!5ar#_#AhCYtU@tD7JMBoKMJ zbE(Sznzt^RLmDf4AJ*rR}+h%Fc;bs5>k8++x6oo<`KI)S}F z{Quy1g&-6p#kzuzeBx;)Dfs260ua=*JVi)i>k+8kQ12`7$d6zZoObXj{|_`0o<<&G z6k!hnbnrl3@Y71fQhWmr#EKcW!-0Zt zvcDq-TCKl5EbZB;k57t}a7yvfmL^XK7kwTaLPMXH2}DK`p8$+_dBiE;vig?RiHOHo z%B6MjLt%+EhtC}k2%5b|q2Dzu37X>%VTi*L;Q}AwRSQAACE;)z49rFu6I3s5XcxEo sq|>_e!Gj#zd)0f=y6rt+eDk`s_d#VM{<`GXNgv<+AH!-L?Q2H>0GvD7n*aa+ literal 0 HcmV?d00001 diff --git a/part/data/sources/tool-ink-okular.svgz b/part/data/sources/tool-ink-okular.svgz new file mode 100644 index 0000000000000000000000000000000000000000..035b5fdd74de0d82791eb2614cb6c8ba67b6b7c7 GIT binary patch literal 22334 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%0Av_Z1O(O$|lUYQ@ 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 literal 0 HcmV?d00001 diff --git a/part/data/sources/tool-line-okular.svgz b/part/data/sources/tool-line-okular.svgz new file mode 100644 index 0000000000000000000000000000000000000000..71594e326d5b13bc12ebdbe0e4ed9f82f975faf0 GIT binary patch literal 18071 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 literal 0 HcmV?d00001 diff --git a/part/data/sources/tool-note-inline-okular-colorizable.svgz b/part/data/sources/tool-note-inline-okular-colorizable.svgz new file mode 100644 index 0000000000000000000000000000000000000000..aecc47309117d11af2e816e6df855fb57558bd86 GIT binary patch literal 5028 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 literal 0 HcmV?d00001 diff --git a/part/data/sources/tool-polygon-okular.svgz b/part/data/sources/tool-polygon-okular.svgz new file mode 100644 index 0000000000000000000000000000000000000000..dac8f0e5757c6062f67dfc99ecfef0abb58c4e7f GIT binary patch literal 18142 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⋘WqGguEZb*%hVAoM<>{@X1j=ye zSB5bU_HCC@Vk-HfQ<0$T{lfDRA-MQt?|laN|5)qi&4V;XxWVgNifTnIGS?1lT|BT&RR;<$N#3^Zg~!+hP@bePpo zb>8i6|7~M59?Jo|cZ`U{yCkRryjQx+Asll1wX>rRU+^k7cg*Q$2k0XRrtz5I`rZMe z^7Hj{FF?xsJqe9c^zkc&vIKzs%Z4aE36>b~BVdW~nCbT3A;OVB7c6+hzVc=%<`jZV z;7wVN%Mcc=9A4(-MtZW4InqZ8nd32|=B*Tp^=`< zz>oBi4E%V^2YB!J9Q}KXNcEGZV(a&N*9c5pzmMc}lx}<(&vxV|b9^IzB*!-%19sm# zL{R%07djtQ)5^Gy<|5gV_q*0ioY$*l<3Yc9uII`}QVZiTGVr|v1fty~0Tdxvc?(+n zn~*cPTn30~xR-xb|d5VYH8A6vpFv z)>}s?fl$>hr9dhpq;a2@OZiK=4Iem0tTntU!9Ciu`Go$Ne8S^A`ddc`ha=2(A12`7 zf?nb!DTf0t#)#MaHpJNxZ@=n9>d~LgD)i4}6&@$j-#Sdt-fS1@S^%G?T}tXu2^!@p zG7oj5@IukCF`msUjL+m19w*Y@JxFO>6*Q2^p4X{F>|DK!63Uw|13rxTY+hl0Ca>@~ zk^b%x>S10-2nS)#`;dXsy?4O@lXDp6oALa|hUnSU!u&{TVLr~Izjuf#a2?|c9|AtD z-RFJ^0=WAcL_%pjziNPHcrvjt!$%Se^Kl;itph~mw_DPOpXYgr=s-W3sa+AW0EYKh z)$wM0GP5w_M=}fZaT@)-QwW+1*NqX*P`y2m2}4Bk9x8eF$sb_gkM-kKo7Wki%r4CI zk?g{JoJoJTpG%`%Qm8n5GhfCi0kIG-GO{?GpdV}0%f=`@nP8adBMFB2IGg_7F#=;I zUnUY%{A;@K0Vpxo+I5tU%~7kbVm{COWQt+tkE9sp<8=Camm{VJt|$`W2={ z4%vO}2ttbGDe+_*;v{bPglWU67d&!ie2r`X>*NRaA0=ElY2MTq=``w}b`u{Q2k zrAP(nmpQxsY_6eyCfD#dyZ+u0g5<_EUzZvbyYHtFL}hEZu1FDLRQ**jhB=;1HjK|C z8y@G@-#bJ&Zsm%1%nh`|dq)ReRJzTDGuOaVRbLo?k7siY^E0`I$JzDwjuCh%<2pwD zOSlC%aF8G{aD;I8gM<@Dd#|rsjpnn-hWVLf!{hw=TL%epK)GK+29UpVxC|096JuNl z3EC6!Wd)=J4diEf@3`<2*@ok5{<+zPUeUktnr^_^<^6t?DB2a$Wktf_Coj{&JNo3g zYy;A~9~q;^S@w4a4aXXDEl|`7HJWn2k)^Cnxz;EU9p*eA8Hvap5QO4ae8~bMp-&;*`m99VTd6 zk9?U;ka!Du-XrY}$C>(k;V|Xr5)Q|OpGY_yU-RCC!@vH^|FS>M$_{5;hd=%Dr=KM1 z@aup5$4|fi>A!#a(=R{%_&@*h*I$46KR^Bce}qu`AAd6QcmMb2AOHIAzb|g$8~^Q( zfByZizx>yqemwu<|NiCYKi&T8fByW}pML$1pO63SkN^0`zx?|jfBp53f73(Qzh1Q^ zC?SCZ;Y$uUpaQZ=rN?GER=qW7$9?@@adb`!Q2qSFcQXU{330fu{Uc6kj5+bR2z=Ru zG4?;N$8n*HdUo=E`Q^u-|9t%a_$fdB^w+=r`KRN}{5Ss3#)u>FumAFw|33cn{{X{8 Jtn5b|0RUkJ*7^Vd literal 0 HcmV?d00001 diff --git a/part/data/sources/tool-stamp-okular.svgz b/part/data/sources/tool-stamp-okular.svgz new file mode 100644 index 0000000000000000000000000000000000000000..89b8ecc860a758a56ca0aa3df86a9b78e5a611c2 GIT binary patch literal 25597 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 Q68Ir9G~dec4Fd)Fe++e|^Z)<= literal 0 HcmV?d00001 diff --git a/icons/small/hi16-apps-okular.svgz b/icons/small/hi16-apps-okular.svgz new file mode 100644 index 0000000000000000000000000000000000000000..9b4385d0063040ba0a85ec7950a93afe202d71c5 GIT binary patch literal 4116 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 N{{j5`1geI;0RR_#LeKyJ literal 0 HcmV?d00001 diff --git a/interfaces/configinterface.h b/interfaces/configinterface.h new file mode 100644 index 0000000..628c2c4 --- /dev/null +++ b/interfaces/configinterface.h @@ -0,0 +1,75 @@ +/* + SPDX-FileCopyrightText: 2007 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_CONFIGINTERFACE_H_ +#define _OKULAR_CONFIGINTERFACE_H_ + +#include "../core/okularcore_export.h" + +#include + +class KConfigDialog; + +namespace Okular +{ +/** + * @short Abstract interface for configuration control + * + * This interface defines a way to configure the Generator itself. + * + * How to use it in a custom Generator: + * @code + class MyGenerator : public Okular::Generator, public Okular::ConfigInterface + { + Q_OBJECT + Q_INTERFACES( Okular::ConfigInterface ) + + ... + }; + * @endcode + * and - of course - implementing its methods. + */ +class OKULARCORE_EXPORT ConfigInterface +{ +public: + ConfigInterface() + { + } + + /** + * Destroys the config interface. + */ + virtual ~ConfigInterface() + { + } + + ConfigInterface(const ConfigInterface &) = delete; + ConfigInterface &operator=(const ConfigInterface &) = delete; + + /** + * This method is called to tell the generator to re-parse its configuration. + * + * Returns true if something has changed. + * + * @note this method can be called also when the generator is not the + * active generator, or when there was not changed in the config added + * by the generator itself. So the suggestion is to @b check whether + * something changed, and only in that case return @p true + */ + virtual bool reparseConfig() = 0; + + /** + * This method allows the generator to add custom configuration pages to the + * config @p dialog of okular. + */ + virtual void addPages(KConfigDialog *dialog) = 0; +}; + +} + +Q_DECLARE_INTERFACE(Okular::ConfigInterface, "org.kde.okular.ConfigInterface/0.1") + +#endif diff --git a/interfaces/guiinterface.h b/interfaces/guiinterface.h new file mode 100644 index 0000000..f278253 --- /dev/null +++ b/interfaces/guiinterface.h @@ -0,0 +1,66 @@ +/* + SPDX-FileCopyrightText: 2007 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_GUIINTERFACE_H_ +#define _OKULAR_GUIINTERFACE_H_ + +#include "../core/okularcore_export.h" + +#include + +#include + +namespace Okular +{ +/** + * @short Abstract interface for user interface control + * + * This interface defines an way to interact with the Okular user interface, + * e.g. adding actions in the menus. + * + * How to use it in a custom Generator: + * @code + class MyGenerator : public Okular::Generator, public Okular::GuiInterface + { + Q_OBJECT + Q_INTERFACES( Okular::GuiInterface ) + + ... + }; + * @endcode + * and - of course - implementing its methods. + */ +class OKULARCORE_EXPORT GuiInterface : protected KXMLGUIClient +{ +public: + GuiInterface() + { + } + + /** + * Destroys the gui interface. + */ + ~GuiInterface() override + { + } + + GuiInterface(const GuiInterface &) = delete; + GuiInterface &operator=(const GuiInterface &) = delete; + + /** + * This method requests the XML GUI Client provided by the interface. + */ + KXMLGUIClient *guiClient() + { + return this; + } +}; + +} + +Q_DECLARE_INTERFACE(Okular::GuiInterface, "org.kde.okular.GuiInterface/0.1") + +#endif diff --git a/interfaces/printinterface.h b/interfaces/printinterface.h new file mode 100644 index 0000000..8343bc8 --- /dev/null +++ b/interfaces/printinterface.h @@ -0,0 +1,70 @@ +/* + SPDX-FileCopyrightText: 2007 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_PRINTINTERFACE_H_ +#define _OKULAR_PRINTINTERFACE_H_ + +#include "../core/okularcore_export.h" + +#include + +class QWidget; + +namespace Okular +{ +/** + * @short Abstract interface for advanced printing control + * + * This interface defines an advanced way of interfacing with the print + * process. + * + * How to use it in a custom Generator: + * @code + class MyGenerator : public Okular::Generator, public Okular::PrintInterface + { + Q_OBJECT + Q_INTERFACES( Okular::PrintInterface ) + + ... + }; + * @endcode + * and - of course - implementing its methods. + */ +class OKULARCORE_EXPORT PrintInterface +{ +public: + PrintInterface() + { + } + + /** + * Destroys the printer interface. + */ + virtual ~PrintInterface() + { + } + + PrintInterface(const PrintInterface &) = delete; + PrintInterface &operator=(const PrintInterface &) = delete; + + /** + * Builds and returns a new printing configuration widget. + * + * @note don't keep a pointer to the new constructed widget, as it + * will be handled elsewhere (in the Okular KPart) + * + * @note The returned object should be of a PrintOptionsWidget subclass + * (which is not officially enforced by the signature for binary + * compatibility reasons). + */ + virtual QWidget *printConfigurationWidget() const = 0; +}; + +} + +Q_DECLARE_INTERFACE(Okular::PrintInterface, "org.kde.okular.PrintInterface/0.1") + +#endif diff --git a/interfaces/saveinterface.h b/interfaces/saveinterface.h new file mode 100644 index 0000000..94b738c --- /dev/null +++ b/interfaces/saveinterface.h @@ -0,0 +1,90 @@ +/* + SPDX-FileCopyrightText: 2008 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_SAVEINTERFACE_H_ +#define _OKULAR_SAVEINTERFACE_H_ + +#include "../core/okularcore_export.h" + +#include + +namespace Okular +{ +class AnnotationProxy; + +/** + * @short Abstract interface for saving + * + * This interface defines a way to save (or help saving) the document opened + * by the Generator. + * + * How to use it in a custom Generator: + * @code + class MyGenerator : public Okular::Generator, public Okular::SaveInterface + { + Q_OBJECT + Q_INTERFACES( Okular::SaveInterface ) + + ... + }; + * @endcode + * and - of course - implementing its methods. + */ +class OKULARCORE_EXPORT SaveInterface +{ +public: + /** + * The possible options for the saving. + */ + enum SaveOption { + NoOption = 0, + SaveChanges = 1 ///< The possibility to save with the current changes to the document. + }; + Q_DECLARE_FLAGS(SaveOptions, SaveOption) + + SaveInterface() + { + } + + /** + * Destroys the save interface. + */ + virtual ~SaveInterface() + { + } + + SaveInterface(const SaveInterface &) = delete; + SaveInterface &operator=(const SaveInterface &) = delete; + + /** + * Query for the supported saving options. + * + * @note NoOption is never queried + */ + virtual bool supportsOption(SaveOption option) const = 0; + + /** + * Save to the specified @p fileName with the specified @p options. + */ + virtual bool save(const QString &fileName, SaveOptions options, QString *errorText) = 0; + + /** + * Returns the annotation proxy. Generators can return NULL if native + * annotations are not supported. + * + * @note Returning NULL is equivalent to returning an AnnotationProxy + * that doesn't support any capability. + * @since 0.15 (KDE 4.9) + */ + virtual AnnotationProxy *annotationProxy() const = 0; +}; + +} + +Q_DECLARE_INTERFACE(Okular::SaveInterface, "org.kde.okular.SaveInterface/0.3") +Q_DECLARE_OPERATORS_FOR_FLAGS(Okular::SaveInterface::SaveOptions) + +#endif diff --git a/interfaces/viewerinterface.h b/interfaces/viewerinterface.h new file mode 100644 index 0000000..909de04 --- /dev/null +++ b/interfaces/viewerinterface.h @@ -0,0 +1,111 @@ +/* + SPDX-FileCopyrightText: 2011 Michel Ludwig + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _OKULAR_VIEWERINTERFACE_H_ +#define _OKULAR_VIEWERINTERFACE_H_ + +#include "../core/okularcore_export.h" +#ifdef Q_OS_WIN +#define VIEWERINTERFACE_EXPORT __declspec(dllexport) +#else +#define VIEWERINTERFACE_EXPORT OKULARCORE_EXPORT +#endif + +#include +#include + +namespace Okular +{ +/** + * @short Abstract interface for controlling advanced features of a document viewer + * + * This interface can be used to control some more or less advanced features of a document + * viewer. + */ +class VIEWERINTERFACE_EXPORT ViewerInterface +{ +public: + ViewerInterface() + { + } + virtual ~ViewerInterface() + { + } + + ViewerInterface(const ViewerInterface &) = delete; + ViewerInterface &operator=(const ViewerInterface &) = delete; + + /** + * Show the specified source location centrally in the viewer. + * + * @param fileName source file name + * @param line in the source file, starts from 0 + * @param column in the source file, starts from 0 + * @param showGraphically controls whether the given source location will be + * shown graphically in the viewer (if that feature is globally activated) + */ + virtual void showSourceLocation(const QString &fileName, int line, int column, bool showGraphically = true) = 0; + + /** + * Clear the source location that was set last in the viewer. + */ + virtual void clearLastShownSourceLocation() = 0; + + /** + * Returns true iff source locations are shown graphically. + */ + virtual bool areSourceLocationsShownGraphically() const = 0; + + /** + * Allows to control whether source locations are shown graphically, or not. + */ + virtual void setShowSourceLocationsGraphically(bool b) = 0; + + /** + * Returns true iff the watch file mode is enabled. + */ + virtual bool isWatchFileModeEnabled() const = 0; + + /** + * Allows to enable or disable the watch file mode + */ + virtual void setWatchFileModeEnabled(bool b) = 0; + + /** + * Should the shell that supports tabs open new files in tabs? + */ + virtual bool openNewFilesInTabs() const = 0; + + /** + * Returns the sidebar container. + * + * @since 23.04 + */ + virtual QWidget *getSideContainer() const = 0; + + // SIGNALS + /* These can only be connected to using string-based syntax + * given it is a bit of a hack; it is at least used in Kile. + * The actual signal definition are in the part and the code as well + */ + /** + * The signal 'openSourceReference' is emitted whenever the user has triggered a source + * reference in the currently displayed document. + */ + void openSourceReference(const QString &absFileName, int line, int column); + + /** + * The signal 'viewerMenuStateChange' is emitted whenever the state of the menu + * 'menu_okular_part_viewer' defined in 'part-viewermode.rc' has changed. + */ + void viewerMenuStateChange(bool enabled); +}; + +} + +Q_DECLARE_INTERFACE(Okular::ViewerInterface, "org.kde.okular.ViewerInterface/0.1") + +#endif diff --git a/kdocumentviewer.h b/kdocumentviewer.h new file mode 100644 index 0000000..e07ea5e --- /dev/null +++ b/kdocumentviewer.h @@ -0,0 +1,57 @@ +/* + SPDX-FileCopyrightText: 2007 Pino Toscano + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef _KDOCUMENTVIEWER_H_ +#define _KDOCUMENTVIEWER_H_ + +#include "okularpart_export.h" + +#include + +class QUrl; + +/** + * @short Abstract interface for a document viewer + * + * This interface describes the basic functions of a document viewer. + */ +class OKULARPART_EXPORT KDocumentViewer +{ +public: + KDocumentViewer() + { + } + virtual ~KDocumentViewer() + { + } + + KDocumentViewer(const KDocumentViewer &) = delete; + KDocumentViewer &operator=(const KDocumentViewer &) = delete; + + /** + * Open the document at the specified @p url at page @p page. + */ + virtual bool openDocument(const QUrl &url, uint page) = 0; + + /** + * Change to @p page the currently shown page. + */ + virtual void goToPage(uint page) = 0; + + /** + * Start the presentation mode. + */ + virtual void startPresentation() = 0; + + /** + * Return a list with the supported mimetypes. + */ + virtual QStringList supportedMimeTypes() const = 0; +}; + +Q_DECLARE_INTERFACE(KDocumentViewer, "org.kde.kdocumentviewer/0.1") + +#endif diff --git a/metainfo.yaml b/metainfo.yaml new file mode 100644 index 0000000..ab8920f --- /dev/null +++ b/metainfo.yaml @@ -0,0 +1,16 @@ +maintainer: aacid +description: Okular, the unified document viewer +platforms: + - name: Linux + - name: Windows + - name: macOS +release: true + +public_lib: true +public_source_dirs: + - core + - interfaces + - Mainpage.dox +logo: icons/128-apps-okular.png +irc: okular +mailinglist: okular-devel diff --git a/mobile/CMakeLists.txt b/mobile/CMakeLists.txt new file mode 100644 index 0000000..094160d --- /dev/null +++ b/mobile/CMakeLists.txt @@ -0,0 +1,4 @@ + +add_subdirectory( app ) +add_subdirectory( components ) + diff --git a/mobile/android/AndroidManifest.xml b/mobile/android/AndroidManifest.xml new file mode 100644 index 0000000..196c976 --- /dev/null +++ b/mobile/android/AndroidManifest.xml @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mobile/android/icon-playstore.png b/mobile/android/icon-playstore.png new file mode 120000 index 0000000..1d07466 --- /dev/null +++ b/mobile/android/icon-playstore.png @@ -0,0 +1 @@ +../../icons/512-apps-okular.png \ No newline at end of file diff --git a/mobile/android/res/drawable/icon.png b/mobile/android/res/drawable/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..6bd2cda63de4b51d4721709e0bbf922a50ae8d2a GIT binary patch literal 11390 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 + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include "android.h" + +#include +#include +#include +#include + +URIHandler URIHandler::handler; + +void URIHandler::handleViewIntent() +{ + QJniObject(QNativeInterface::QAndroidApplication::context()).callMethod("handleViewIntent", "()V"); +} + +void Java_org_kde_something_FileClass_openUri(JNIEnv *env, jobject /*obj*/, jstring uri) +{ + jboolean isCopy = false; + const char *utf = env->GetStringUTFChars(uri, &isCopy); + const QString uriString = QString::fromUtf8(utf); + URIHandler::handler.openUri(uriString); + env->ReleaseStringUTFChars(uri, utf); +} diff --git a/mobile/app/android.h b/mobile/app/android.h new file mode 100644 index 0000000..d531881 --- /dev/null +++ b/mobile/app/android.h @@ -0,0 +1,31 @@ +/* + SPDX-FileCopyrightText: 2018 Aleix Pol + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#ifndef ANDROID_H +#define ANDROID_H + +#include +#include + +class URIHandler +{ +public: + void openUri(const QString &uri) + { + m_lastUrl = uri; + } + + static void handleViewIntent(); + + QString m_lastUrl; + static URIHandler handler; +}; + +extern "C" { +JNIEXPORT void JNICALL Java_org_kde_something_FileClass_openUri(JNIEnv *env, jobject /*obj*/, jstring uri); +} + +#endif diff --git a/mobile/app/main.cpp b/mobile/app/main.cpp new file mode 100644 index 0000000..d66ab5b --- /dev/null +++ b/mobile/app/main.cpp @@ -0,0 +1,57 @@ +/* + SPDX-FileCopyrightText: 2010 Aleix Pol + + SPDX-License-Identifier: GPL-2.0-or-later +*/ + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "aboutdata.h" + +#ifdef __ANDROID__ +#include "android.h" + +Q_DECL_EXPORT +#endif +int main(int argc, char *argv[]) +{ + QApplication app(argc, argv); + app.setApplicationName(QStringLiteral("okularkirigami")); + + KLocalizedString::setApplicationDomain("org.kde.active.documentviewer"); + + KAboutData aboutData = okularAboutData(); + KAboutData::setApplicationData(aboutData); + + QCommandLineParser parser; + // parser.setApplicationDescription(i18n("Okular mobile")); + aboutData.setupCommandLine(&parser); + parser.process(app); + aboutData.processCommandLine(&parser); + QQmlApplicationEngine engine; + +#ifdef __ANDROID__ + URIHandler::handleViewIntent(); + const QString uri = URIHandler::handler.m_lastUrl; +#else + const QString uri = parser.positionalArguments().count() == 1 ? QUrl::fromUserInput(parser.positionalArguments().constFirst(), {}, QUrl::AssumeLocalFile).toString() : QString(); +#endif + // TODO move away from context property when possible + engine.rootContext()->setContextObject(new KLocalizedContext(&engine)); + engine.rootContext()->setContextProperty(QStringLiteral("uri"), uri); + + engine.loadFromModule(QLatin1StringView("org.kde.okular.app"), QLatin1StringView("Main")); + return app.exec(); +} diff --git a/mobile/app/org.kde.okular.kirigami.appdata.xml b/mobile/app/org.kde.okular.kirigami.appdata.xml new file mode 100644 index 0000000..4223947 --- /dev/null +++ b/mobile/app/org.kde.okular.kirigami.appdata.xml @@ -0,0 +1,428 @@ + + + org.kde.okular.kirigami + CC0-1.0 + GPL-2.0+ and GFDL-1.3 + Okular Mobile + اوكلار محمول + Okular Mobil + Okular Mobile + Okular за мобилни устройства + Okular Mobile + Okular Mobile + Okular Mobile + Okular Mobile + Okular Mobile + Okular για κινητά + Okular Mobile + Okulara Poŝtelefono + Okular Mobile + Okular Mobile + Okular Mugikorra + Okular Mobile + Okular Mobile + Okular Mobile + Okular לניידים + ऑकुलर मोबाइल + Okular Mobile + Okular Mobile + Okular Mobile + Okular fyrir farsíma + Okular Mobile + Okular მობილურზე + Okular 모바일 + Okular mobilioji + Okular Mobile + Okular mobiel + Okular mobil + ਓਕਲਾਰ ਮੋਬਾਈਲ + Okular Mobile + Okular Móvel + Okular móvel + Okular Mobil + Okular Mobile + ओकुलर मोबाईल + Okular Mobile + Okular Mobile + Okular Mobil + கைபேசிக்கான ஆக்குலர் + Okular Mobile + Мобільний Okular + Okular Di động + Okular 文档查看器手机版 + Okular 行動版 +

    H_>)hrV8o^*JHI}Mx#?;*8vH%q zDc1Mc>@4bKqE+5NNxg?b@PGZyIllfd!}?$_dZ}SKnh@K!ISn0U+A&JJWHnXNLjHb; zY&Dg$;+aswt3V}npV^y{#fDTNCK3wG06B7w6javE|Jo3dlK)HiY}A<37N1mLDM{AJ zq{e~i7@YuvwU~8;lf@1%pI!lmad)}IcIa@qvAEt2IG7O!>@bkQfJ1aympcBSG1IQ@ zAa$Hnl4hY96+Cs6ls#r~`z9>iQ+xeBoxa2W28Q}@IK+6_9|83r7(;EXjqcvx`JgP(ES~-~jT$s#qo|YI)e>wR#FzdSl*h&ucAF5~&dN?zDAEizc z;8jA?hucOjWu(b{?}z(}<>~KHaqmiycl!;s`MHlS_^J@5vYA0S6Xj>3izaankcmLt zLkvZaZztvU^6Ox1rbtrSkC25)W@aeno{6%IPZ6yqm5??CsC4W!D=raS+tC}0tBg@S zuWkM39zkBF#$Yxch%-(fS-joOu(o^L60rXA1pmp)OZ?}*SYi|>k}V~q}vO+ zkd#ay+Qm&p*KvZbS{u)H;f=89A$NPos`pru6}3Z39$15}DM#tp zxCo5Nhdu1;J7C_yeCBd^+s`uP%wz@(y&0L6y6`T6b;c|!M{>=w6t21&Xl6i3F=xc= zGuA0@?#4s3@xt39J4lWe|op$w?TGC8;zHtqrTjfSB^`G2#qcXOnFWcH#YZrmSy|ToXtIFa!6{=5>JfvfMv~OxjCk94ske;4H&=7~zh9i;dfQ=t zND+i7!JzKbXrnla@qzz8dvCTRNs?WOovUi*TdbLtwPmf{)!k?;0uf@!5iUXsL^z;; zGkoC(j>x?6b;w7)@&N<^4oC=q-m1H6&pk6THs8$j@E79`$NH9*t`5dW13g1U1J$H$Nf+d=7fQkJxPs3ak*KEY-=u9 z9;b6;RR(PVo<|n}zTL^TO)l_Dqcr?}P3g8>mq9g)*{xCIu$yfiX$O;=<45>b_&R4` zlejL$B6^!sRTM_fSW}z%3<@3`O?fiQs7pcTT63~lpuq4XtMmsM zI6~{cE8V?mV$r;N2mR9v-yC@D5VUCX+U+vfa4)XmUM^wo9Ri0_&D7Pl8>%quL?NG> zsw$1DA_;}jxnuCw8+TF7@jNyj2k!0|Nc^j2O{g1~R+|8nd+LVRgJ}XLt{VPqeCJjs%of`=}tnSHd1=}dobk4$0h+81czLSP*Xx{WbVzv!5EJn+gGwsdf*XU*% zX#x~44-WRy5J?qVwZ%M)7!cXLpU0u!o$h|ev}n(g<@xQH5uGLBdgfVXYNjwP$LNar4tgc2-pK>-ZLzdSWQ@^2(W?!dJek}=46H}966999Gw79 zE?Zo?EiS0T)t3wWkMBRir$1j{<18qF>K^N#zeMw|CfGKV^0nm>CnKdOH6qIA#TVWD ze1-nYOVFJunzuuibm6U{SwhwYU@{|uZnCW)DM}Dwb<_ZRC>%0e&l6#nA+fJwf-?Ie62< zytV*YIYv^%`P2kWT=a89j<;+e5YuQRP~Oj#gko?Ft02)yxpOc8Tj@OwjhMtq+Sp*!gM>DY_Xs%4zR(yre zn3!0)kz+4sZfwK7+*EGMG4>k5=+6Pv`BLlS2M74<`2x$X0mF*M$1vzXs(%oHjSJ`0 z=;z&%QI!R!(mx>jHR2|M( z-FsfjO*#`?D41koI|~5~8K7wxCkNL!Il4q|fs4lrEVsa;72~=C`lbQw)Hi;&J>2yQ z)HJ|!BCn!YGmM%$ccQ(n)T_jW7Gemnxl&_Q;}+@F+2-4_*F=QPW|QWo+qV7YvDWv1 z`uG18CEm&$Z{9=J8r&;$fE^M=YCvfhsK zY+{skr#VF)F`uq5;Cp23Q31&7t@T24W^4dr750~R%t7BseDC!lRp>{V<#xLP*eUt< z_@Z^oSeza00A?=w6y<=GQ49dx_|7~8!(%dV`Exs5ZOh0EL)Om*5)EUO#_p10GZ|x> zZ${L^zs*Kq1SSfyILc0`M35m{RDj{w7~&{L+d41BBqUF72yp<5gz5;=37XMnx&1Tw zJY=Rcdo8bb=?u<-on?@B`DR833u7ECdJtPorVi5si_K+=^R~mYM+f-92Uqy7?mx%> z@#Q@@rXYu7bZ6IaUtGd|aE#timamJ-gvFd&W;(+8aty3HbYEP7FSoEC9D|NpZGgiX zgl4%lYmXOZ&lDOA$R56p#`L_yi1y|`PhbI&6E9Dd%nkw@a&ATV)zq&x*U%|e9 z;DMef@=4wtYB3Ov1THdo7-}*=8l0(Y`LR4|5_9_o0|uLmMwPiU2TdFF4=>Pfdf3wi z&=TCLL;v6$G;d*FKT^sgKu<0V0QTVKEgZ9=ghMoIs!dpf4BQ}Oy)l}|lF9=1rdzuC zmrM*5Q_EQ{%L745lDe~q4kagMXPo~#ukz^uah)6O-N|!WH zBmgjtP&I*IY*vg6L<%A{PDhoG7@`_d;)X(9ErdEb5>oZ+l-xP!s+3{vFoul6>~mHY zah2^K)Vfqyy^01xY`8QAu!eE}^=B~FVZ#lU&lkAb0FTxV8#d^fd@7YOFtY|Uox*Lm z=r6Be+7_6!p4>rE23JN!Tu?#CYe(gHOlfL}${>Hj>%xhD2j=-*M``)fVZOCQrSAdt zH}FM7X;A*#k|5BatBwM&3TcutfHff71hWBvHyf=I;Tlm}L?G?Lhcy69xg)4+uGo?7 z5uLjgpmz>q^GwRjn=y17PyZ{ z(18*e*1@37Fh@fw(yluM0(U+7ms_|mE`fPqH5H!pbEgTK50Z#$Uxj$!W3Dh|`6jmXCGmB$`NkvGh} z3ody1S*XfzNem&By)#qYyz4A#af~tY3*|juigKnF%?BswzIciL!3E5l2S97osE29- z?3|I7V1$Dro|Vj>3lmNnWf zLqQ`P@xz`+)*oX-Kx-_f=E52YOHthwpM4*#T;is&9Q8p4ZeAAt}?l?&`%OR>Dpb($Kl?Cgq^>KR2a}s zP+jAwsj!ob&d;|Zm+4h6*$x&~&Wm&P_1>tAb~4pF7p=5$yyD`N95zX0?cPu)b=x!DzNpX2Z6$2n=7o+b-6Hf2i7h#ZFS&eIdnA&!`Y zaFOz?HF*#TZoIKsEQ2T)LtKD%8J)%foVqT|N~I}`F-^12g z5%wi!_KNWV?iu~#CHk+fVBVO+ym26ArKu?3#aWlYQvwqnKJ$a1AWTrfe7#Y4vV5zqZYAfR6M-}$V-&k_3VztLH3u$)n1W=5)HF~|#Ns>DoY+M1@ zB>X=-a-+PxScB%h6Lb$Q;T~LgSN5sZ%$Ag}19cgtQW}s-=O9UJ0J1<$zmpL&&VeuyTaHZGxwY zQS5Q@%b84I+6mBga92xT+s~%Cu|?Vtms}}pkd4EgRSN)OtuH7VD+<3@Xt8keuCTVKFw?hCDGwLLESd67 zL2fimK0W?@H*#F4{$0k-#f~({=d4iiWOK*8_Ph4&AAJ2bO_nJ!qiX7=K(#O`+YkNU zz+Ug^^gYO))v5XNAazoeQrp1~lC@_kd=zZRA^cb0Ulk2iTi|(Lh7nn>ovy(L? zvC5Fn&fn5hC4yH@%xU+<34nMVnc1X;33+9(jxsAWG`Paeba!uEi~ZJEz@r z$L2m*Gtew_kvk*%PyyHjUro|ddls{jQMF(Un)^rSA77*Y;sW;VLtxRW)~{;J5JHYR ziN+!H-so85jk9)=BbxW*s9{~VV5`fV7n;`-B= zzrv25)JShVH^@7HIs&&)UIyuW_C6-->Ddhb>EpY2xt?GXGpCgtK7ts{ToRLNZu%0@ z3~QK?7)q9Y)HkJdRN@HJ6b>TH3_HSlQ7=*hwvgC4#X<)q`UWTLkXOw)k3Te!<>KVv;< zwMvRe+ylW3P&Qv_=)%r}^;bR@nq0f7Oy0My+(#ZBu~v*J{zH;||G@z2?RJ~ysG|ej zH_uIzp5!2(E9YmVt)5Zl5w=CH+NJynG9PnKwi;#Eo2xm}W1x={5%;5Wa;(%Adu^2egj2X4ubRPy#-8Odj=3LAEtQF9sz*WZn(9Uip74c!WGEA$2 z>>JqYpuV6ni8)ifc&gp6>NsQ7X?9MKa%dioXfYqGYXi69- zfID_#q&5_#VRY7QwlM8f*bYirw_GbsQhiYH`*R6y2S%K9h)W65rBk_VUS#_pf@4At zLdOJ4exBO1)DF{y!SZ~9i?+kT%HsL2Px043d5qtj9plBO1qDz&F+Elvzl6Or1fId6Pc zd3Ms(XXj_%Uu?j=gS~&041KsTbS&pwb%DEknJCSdm~wm?<`#U_0aGJPw2EG1U`F`) z3jFX2bkM@Sf9z+l3(rPY^5cpn*MD{4Bc=|TY}(dw2B%?c!+-YhXPR|&c|PAkG%x}v>-&Pj zqk+r3TBoSEFG4gO34c3^bNz;Zbq{kg^UVK?t3fWX^2>-#97Dx3LK*NHh>@3YPzJ)$ znS|MuQD#(3^|*J%+J^Oj<`bZ4;LevoYhjM2fT1iCEyu;E5b4Po(_%PQD&{C;Nn2vH zc z#Qv#F-JHnC7W<%TOiQ%PLx4wdCf$@h&20QdEPPs2tW^-&7@#G_TX$dJ^zahBF}OaP zVYO}XeC2T75qjIg85`!tReM_ba7eO?CM{^vf;S!d>m|q-nE5m`kqQIYc>g;do--;9 zB)RaXq}|OP+{i(FE%rKMtH@4&8>vd)1M1)NS9F_;xoF>(u0Q2!8UxcdfhEBxD5luy zc06RERcl!|N$m9U;!#H0v*10XymGg4Tu9j14cX+KtSRr19!5|V*$R_^4AnYguSm!5 zMA;Q!Tf}}(hEd(@0n4|f>M|eb&470K%Vp)2Qzoc5Jo~^ zmIVs?TxruswmF{Dz+e+4mffVt3=)~yD5AfF$r-USOL7Ra)NDX7uw=l_;N&i2dD&v) zrno*>5JZ~y=`xS`+wFdOs0o=t3{nIO$ zlNsE^Dz=)4stGC8hOK>d6CiWfH)c;EO%4hA*U7@%#! zLri<@WmzId<$_c(t0DnbM7VYJ-P7xw1k&XTXs6uUzlFnSOKe2?O=-px#c|4*FasTG zfIV3Ev46V(T;7Dqm8_e0{3z`O*b}I3n|z8n2YJ>bY;FR_wy1$`SO`anYpN(TX+QRQ zEW)SEW~8BM*l2-=ky&S|5#lb(8cUXki_ZfB8LLfD5;IAP*>d6)1SzFNa^z;w(2Ahe zfnk&EUKo*Wdq1O{X9cG6HtMduYU5Dwk!;@c};4l95Q~b-_6a34wV;`eMjEQmRKEHsuzkoem zpf}bt`^zo5PcGoP9?g$WK}YRyIARcgN5l0__O>EZ2ASFE1_efKIa91)yk?Olh>W;n z@YM$H`3m;68O*F5;bi13%o!xcLm^J)P1P8r8`dCc)I|pq@UjC>d=yujN$nW@SC_!q z2KJ2w%-f4(hQ{SHEsdvSfgI=mpvNX?u=W)Dfy%Ifc3f|*XMvquJ2T@Nqp=iNR)x1P zEp$#@K&e=$u0w_VJG*B?gJEQOHyur3Eus7B61MBXs}8*G(cYhf=IzkKV^EQj-sbx3 zYD}P!ZCE$Rle2>3JTuQ?=2`Mk1n|1^lIc71%pwn(NOBa*Y1W>^0!PpZ3sP+%4_i@) zBjB1c6|J1|T?G?|>t~MVz{0_uU4h#M=5XrG;xLQ@QgK9bQ~@%7I^t`ulBrC}xgtm)Wg$bIOD_9@vdL&k+VyT%qDTBWU)Zd}6=s4$`L)*6BxD0`&jhB2_Dj3f_0A2voJdk?x?XaO>sXeLe zK-?FAnRft1)>58$3~pc3fnu&h#02TKxfwd4f9=b~w`ZpnE6w$&kXyc86;w|ey{Zx2 z>`*;e4b4C{N<~#XZt_L1bo_iH81~uCwLEFvA-;V#bZ`0@oaR$i%$6}p`7quM&>J(y z9An}HUX5gzi<&vdO_Jy-Gq?x3RgcNUrfcok`O#(a4FS^yg=L(JCRWli`CQ64lEls? zfSv8fKoIlP5}?Og*PsJ?**7`Q5;%jSQ^xhB#j0y@KJC$7v^f9m0{`y)ukh=$L#%s$ zjjd%&U5CxjUcmkr6R-icFE{8uxd4t^G#{P%hN6OUTw%<(q9Q1s;wrE)xxp8y!5xol z!Wlh#11<6rVD1@wxrIAhp$QJqEG{b19_y`8Kd=!9!m;3R3Q)LfMl^!ZSp%#(VD8rp z-Z=E1pM$Tqux~FwZ!Lm34(BllsbIoTkDGq28P2Zz^ad>z96GkQqQ@VD24(uhwwSuRtd=ptU*69mCNIz31i6MB#iH zFk0ghRihg+G1&879_wBQgM{bUK%ZS(&=4#=eQ0ig~1gR`ljc4)gZF z)s@BH{pvM5yPRUVw&+;6bys5Tc-IzKQoP~=I3D_^3{2=t_0V8KffPuO%`WemM;PR8 zi8Vm=R8n(*l)0#5208E0&LD5b7H?T*_4D~qNyXTeCx#0XN<*P3+yJd{_~CnxU>1yS zVz7LCfX%kSlU0w)Ezq@1aP~IIM8|Twt;Ke`{T@(%*S@yfEt;kQGh@5mqTMsX z=ywLF+eWy&?oX3?dw(|oK6+u}N)(mQ1(h>C&V~2nYS!~G&Py)cJZnMLyi;{OA=eF;FEzma2@Z_ucpnOau*&=C3QLX4}*R_yQ z4&JlUl245s9|>I+^Tn=Hn?1yQH5bWAC3_uODHLbX z!i=2P4vXw-8nDz31P4Ng29}(E4>(L`jKdS)@@#_ZZI9`}8k5hC@ZRfB@R#pC#Q*;3 z+i>BWwAP_NUx9!75|}sWpKL(y9C?X%MlRx>(dI_1OrEqXdl2>KprWG&hAiA?<|ocx zM;6a%VBn~SIk13p;HN7v1I_!##e0ibz#b*R8j8g}A}jCKqW$m`Zq=dt$~P;vzd3_>>k!Qw z2cU_qnxGAv-7=4d)P1Ct0D{3TovbLk|4KgHbv@kK3g*rt`$5zc5Xq%Gu02{Mq_f%z zXZ84i$YvMs*-0vIenUWyYV)J^esnMe%_r!eU&2f*a5M{&*ovBg^ZuBg8{`c+NJTlTTK;}HN3YE{$0`ngFoqbmVca`8$6NQ#;6T_m78g$r zaJc~cw^{|pdK%^r%0!Fo15r@% z!%i&i2Zn!_>~&NGe=BO>?*a8U!%)YID@T& zlD_-w61w9k7<@Aj6&+LX&2d@7AwlUf5)9hLW|H}azf$wcUl&i8S<<&*q4%M#YD~2^ ztZ9?`_sIE5Jq9WW?ORgjB!C~NFzw;gCDuLdJ+r!lkxgufumT7)UVraAr_$Vv5<;S} zVL|2!WcSBq3hDVS=7`Jt-DGKZoI#FpS{!Qz!CcD>Xz2wVpH#Q*U~CH+?{0$88Hwy^ z=4?V{@`Y0^FP3I$DF?cg$N9PLSm>y_FwNt7DO*n#hI$aZZ1?ok;rha2)lYC~9j3O! z)1RH4`nX@Q4G&%p6jPZO?HnEHvJ^ zh*@K?=$aozNTUjl6%#*b#I~VIU2Xvb*dH9joJ_N1S8gBier0W- zmfdtI&**X?U*}>>MzY3Ex^jzWM`Z?Q2AP+gKaPW@-WU<<&oJYbi?w+KRHceLSJT7T zD+rpk93>JZ_Pl|eH!zD9-KQ_%UM}GtU1GcH(A+-)&1{Y;63GEo>U$7DM7jVbowP7m zfk@W_>=^Fl8uoON@|;U=OeQs_5`YYA1F~8aqH@mW0w`+0O(4xymL*Q|LczFsXX*Sb zHyul`_m05VYq)1upyL@ZZM2D|+9jg$El9P=dDfA7%+O;V0QI5S;{Chlc=z=SF9#2j z@TT}6BwW^&Od18asU+s1PfVvYOm!lbVIgxe^Vs)%3X)Q-WgeI((b!*VYH5#V4ee+raW%6062nZM$&K3I})f!3S zcS#`2;`AAle~yBA;3-eV;@9UHpnbx(hPfZ@X)&Z9TMw)1l?lW98wROM<$T9O0J z*q5`)Arpy8OK* zfFA4EO3!&tWg82YIF4nQz(8ebxIxaVme)`2%P!T$jvFVR5PHU@}sqk4GnGiYKz`?=TnBU5{d#}fnM=h3JkIQL~_I!q;FBbUg z4<6z_{OkuMpDVkj4slpZ-AN`fQKBgA!kM3amr3F8^2ESZm zyXw$>cnZv${Oqv{_nWEiAKv+&>P&uOL`#4mitiLh<V=ik-L3JrmcxD5ttr2^N56O_Y9PLb?IRhpaR*=kH%@XKY2*ouaG>ivWfnV}ew z73QX~#T*+Pnk`8C7*4bv3&mxj38HpEWaGj;qCPwy&+LDy{w9mKKj56t- z77y$RbUL=|sjIrO5;U(|xS^CvD$-8YJkigD1+yOaf5DN$rbip4(6HglzY%H?CuJ5k}_b@IHrE(4fdj@?xoTj9mad;@s>I!@j@(Cl77 zdXE`nx^>%R@ZO#4fh}QDjw4V3qp=mMT4c1+s6Kq(moo9&p}t zWPsLUe(12cB&;qcxS}4DgDoEa@&q6L*N^ZQZ#=`_eDyj&-i^Fr2Hly$+*^Rqz;J`! zBg>RgJ7Dkz&8?Ak6>By{BS+CL;>ygL`ZEIbAen4UzV1}ad%6NY8``mE$-a+v{EiHY z^h6r~)ClGTIOCWF+-1N-k?jc{a$~M$Dod7%W|YeLm6Ld5-U6lDH)+|SP=0Xd;GQjk zpEPId+LYd=I?3_DW!W>KoO`o!Z zB4>%ctGO&Z*n^|E=9QV>)h0R>`wXk=G+s3CQhDiS7;#yrh?c1(n7aqy)yB_OA5MXJ zo9|Z2txaQq243bpfx{df4yeN+ZE<3+@zZynVqrIEwgF5BP)*1HI6j<40%-}F53Kvu3Rt@UtZm_i6H9B8P1@Lv4U!K@gB#YVeWSGEw~WvF9#DS=0d>rxX6A1( zY+OU>foeyZVK5I1MrMrBh8$UF*8}X*2E{eDlX(w%mBwSZAQ^NT7FxAgtFi;RFFqc; z=Pl=`nfCzFH%szwI>^zHvRll1cb%U{&pFj*xCvA#s7j#%s+z15P?gQ;mVd!zi_0wApzJaScO@eHdUFyEG5tt%TNKZN!gVq*)<^qVtD|Z-Ss(3=g4Ky z9fu%eW#3xR#DW@O3S+#1O9am>9J*0#-pZw$v>SG0#G|8Wmj1EGyw;Igkda;CGdt73 zf#IBm=>u!p7@XX3SS~HruEk~BW8xY-`S~gS>dznJS7*m~ay)i3XDpr#6-76y5n?;9kCZtYAuH?| z?(sF?9P9@tz{Ge~=*|@GeC-+QlW9<8aFNR-7JDO_#>qXsBK0haWR27c##C+r(K*=? zc;c_E+G2&2)!v(fW)|HiXW*+X`p-PLZr(ofYKz!-Np9O^JeOt)%ag1c8HN?h$&TS( zEPZbC)D{E*51x(apOB68irH0`Tx8LJA&l?kz%WyZL}Sbi<^H=(*r4ayskUc}6>Qdm z8VkNygO?ka(}j;33NzCt%uQQ3OoIv8f_fa94##GTpWHvgTd!Zk_6*uEtP?<NHt~U?g-!bruM~C?3;{%*;CfN2?h!kB0l8`AWbzseDm8T3=RU{*; zk-h8$ujitr)S6hYHzeu;E{p*qnAW(mkPuM`uyY+Co2{&fqe}Evr~_q6282SWyyeol zL>y~lGz~Ddz{$Zi?!R^hHiUj^aQ^FKY}n$(n(<-_bjF*Jfo$@DNY8g7Fw96JII!eJ zpHhg#gn^+h?9=(M1RH?0Td%>Z4a{r;vQ1bgwZbb||C0Gyxzew~UOVT|_x&G~!*|@S z{vf`rwJ^pc$@jPVwI^Pna%U$ouT?a_lC<0P6$nj=A*2DL^J)j_3%RcH@-eoNH1HX` znts=(u-?xorSSWNMgCq6W*k&+JLk)TWZuJdR=U_uDQ#s`KTIKq;!>+rIt{14HxhmL z0;Xv|)}~n`E$ylG&N0|f)4d#}&fz32Rz|c4lyThp~1ouD1;?kAN2s z4nU8m`0Mu{U}9Xpq^m9Hm*<#u8%)r{!W*5%U5AL0qpP}y;<+~?aY$5ilQ&61O@aD} zgdl-nwxNI?3m&J)Fn6(r2A?wFV z{@%c1aw)YVJr+PR9;t|zqiSK5*9+zfB}T=I*FE@)3y>w)4^M!Jpl}VroJ>K7E%b@?J>7)jo}5xB}^v$4t7pMlHciO=>>nk!W#WMl-*I2_`>%9p>%= zFa-Db8r$E#@LAAtq@XxPp?}TiaWI5CvTlYV+?}sMvj%3~4EJD&W0cJ9$b61mc1Z$| zcu&e^UU{$44V$3JZ>&ZPE_pz5leImCo!+e-p+uz>JAySnlwncOJpEJzPszUCwa*Vu7nQ z@Lf+i~*6$L0mb)7!;#8O7pR_Rp)Xkanwe*ek07Y!l~GmI15gJ9p`Ag28M&rrS8$g zTAz(+CKgA>jO$CrdNsin_n0g?JpAVq{PBPL5P$O8OZ-1i?k4izJzoN!HJJUtz!`&8 z?;8w~S)&Sg8x~lk^T!T6A}bjL zXdop%ce>>r16v+lHh9EwS!P$4_c`fhMl+TsPZ&`#A1)azIif>G%;7Tw%O39G1Cr|h^%TO zSY1}MVT|Dw)z_ z@oPlLIrd|$o|?7xii_pS;BP;>i>J#emfHrsoSUXH|5>ZBT@l$98%%qZ9b64uQd!kw za&vi3xH4L%SaQ}g@`L+aSfm)0ZouWNk_N89?OR3Oh_{YG3TA|?BJ%9?#5f!*R=EGh zGdKX-3E})VN7%R)FP4nQTSjjzdTYVPc$QkQ+{|T%1=?qzaGvzdalG0z46RWTX;^-LTLj zUlgZ@s_!9(dPwCy4n3N=1m{X4#^W=Ky8!Cg>xeMYCchbX5f)DcwGw785*gCq*CB|R?j!Ona zwqaf&SGpcAETytTGaQ(vQZ2Y-!c}$szU79Z$p`7gjX~c(nUNXt4Bgb`8SBWTk#x#0 zz;ET;Iw2o6Mqe*hem^4AmLB|%>xa3St6NA%xJsy48 zVBNR4n)jGIYw-LRC-}ENeSnY84so$IdJi+vycMxBTY|UX~gtbJC3$rU4 zdmhV%9x0iiF(%2wxtIaXl1GgDK$L5D(Y$0KJFmyWl?}^rhv~#_Y+VumqR-W+Jt9Y^ zcc}56s@av`Pn3_qz*Dkt50{eOP~75j3x0GBb8im1I~VAKs-0Y#H!yD;c(bp=2{1LO z@Mb;Sts4-8`d$@tZ58S3&qvH;SAfF+W@?9x;IaW8i}+qd;TT5q&Jp@~gZ{H~@TSA| z*Dql2AHlx1$mV%vf{hVP38ybES7IXhVg)e498dF17_*w9Qfm3~=h+Q&Yz6RBre12C zAjk04;;G7+*1_;D7p$PX4-4ZqE}A4V+O9Sqp8vlCS)jQ)gIRaL^Gn#H7SkCpx53ey z*Ld^r8h`fDQ_R{eEF26FfOWV;7Qh@p2hhgy z+M%D$Lhf`Wjx;snDx44%wUCG^q#YoDY8DpJ52b9-5dpJ_HbZv|Y&XDsULCpESI+&a z@^GmJ{zH;||3SrOMV30c&wb-~nhF^T4J9j*SdLx!G%MmHD0IUg3O|@6H7c*5U~+>Q zgDj^sXdSXYsnC}TLn)cQEs=YxmzJTdBbnQScVy*qKKkB+T@X6~a1E^vKL_Pz2WkQU zF=NwCgBx{zT@MDaLEG5cR$VEysk-3Nt_FZIvJpVj$@^?1t9ld$*U!&z?vWHrH<-^G zeU{=TF67(g*pzcAJGj1M@6)lRs+^C-j3SGf=ZqEzG%+xfHpFdZiJnEAiO!~Gl;*`U zNOoXY$VeHZ81WR%1u-)zSZWIYniy<~W@RxeIfLl9Fu5X|+`*tD3(F3TaWIDAT8sId zaeV4<{(ORE?=U@G7`)Dq~;1>EB$$Th&M3BZ`uOp^=mN2NIy4c(`ue3C0bGZvv{YV=&QydI`783Luo zlVrc`Yje=7LI3GXxbro-PtV|1TeNQ<`Mhe75MQzG4;#`wX9+YI;L8orGtBX<@EwRM z9P{?JX_ifwk%$So+gSj1X3#s{pEee2|fSB+GNp=xMdBifR2@uZu`87s4+!rdziZtJw z*@f)q%AQI^!%rJ?(NK+$fVVgLvT`1O>~s=K+dV`D471<$lBpyMkvR=p;*DWU8^+OM zg?Hb24j4i|^UmJuzQNg&@x|I~$H>MMUWP{(C_EUHg&)^52H0pHQC_rb>>Z>R!h- zEmuGxkuStcph;Y?Acapi30b0Kf|SK#g+M774(_`>Q1TAShYBXW>V{IX8#h7k!fed- zq5!5!>#qcVR0mySGv~DL)t5b43}*x}?lRu>*{EzBB#*PMhN$|Q@^cMjlEN;ej5Q&( z`_djKg;CB^a~Ykocb;}&=|dEj`V0lrxHAl>G`ylZ;2w5trKy*E{$hn^K-0z>F;O-q z^XJSZdAKx6juJ1)e#@h0W$!{ka_-XKxT5yS09y)Y#ow76Gt5jyi^hxBd(LKR)>v5A zgRKY1Jh3>v<8XOlvEDYgYCBBk4iEq74*v81?h*d!`6)g=Kgw&$sssP>C8mGYplb;| z6F^otv_h*QAQ-)#hw4@tlj5XHtxTi^j3u>J>LR`H3DtFwOe!i&VQ3t1&*0}P@QXE? z_l`h^lRO<>fZoyP+ZvcR7vLw?{($Fgh>sg9KxqiisO}IKp97MnOAY17Hr1qY*;I&% zLY8aWgnvHG;RN*KyXZc73HM?N_vi}SRR{a-F=*cAd$7{;Q4A*KJaV_(0-GN8&Me#- zPBn6r$zo9fjP6--A6H`wwNe&I78-r)79?v?1jtsiXHTn&M4(7mosyu9z zuTf$6OSyAn z8KMG?wRo8t3n{=4YuiJNRdysd9pNbIOA#>bwSc{PE2RL^BNQpCNQD}x zrU0r%e3qnRXspGcbJ~cg+A&Ypn7I1U2~?485!8IpKI0TrccWp};cQfslotkRyIWTT z?mN%cN`=VRxRkPM>?m86rQGDk%e!F%*c;?lQF9*@3ivFdtU z9QgJ{_e$h#vYdekfpw-_2(l*Ul53o)tW_id zyBLHHj8WCJP!_HvSoKnxE)Bt$m6=lA0UuxkVB^p~x(2PcXn%C-XOTti9bLp-oO@+1 zm}JS08PJ;t;AczVatj=`;XLG7MU|;4U6p}>leGff9A?`?Bgr$z;(qJ7V6XEYsip1} z^+UXMCl>9G@1XyxLI2Fl`AiVH5|#oJwHRH1lV?zxvYk@@zY`5snuYs#I%;DV6@WX&j zt;xqbaDZ$Wp^~^$$iq>Jgg8HvM#Q5sd;HKl(X`FSvafHpy&*KC&g$>(KK20G zQ8eH6JwSv>V=KkckaZ;*@lO{{-@2}Hdvp>=GvDFwoNVyKs*ZL%3l%n)in&(>*o_HJ z-ZVP9Jy3r@XVY@g%(!t482$KpJ~cUdS__&s-du^I+ht1m6p>Y$*=7l7L*eU)6~hLS zdI2@@Dh$bF?4F$MHgMc~0~0a3Egi(6K)WzGi&Gs$aIomf%go6*kYl*UV7BP7I3g@B zS~SjKdb+{0k5BO7+Yj(Ry#EmY>u=sc$2Qlz(rOX7?DZSu;Qd5 z538gpJ!oX(Wq9!A46-UJnLRVznqeo=l2C-{2Fu_*E33TBm9_621M>;G&(45V zhwZP=(A+h523iJeMSUWB{Yvg9W2OpG?RO$;V^8f9C=}{?R!a%P=m3 zZxan3Yf1qWO&@p%cvt{yfVWTrKJ~xH`~F!T&S8sZ!pBbz@XwEq@p5Ic?I|;zX%Ch0 zRN9^|8ce2mDx&J?RO)GQtWL_I3j?`maz?>>r0gP=iX!GAiNeA#&6{pg_R|oCokY;C z;?ck?mU6KfsT2~NN1^rp4ux11vX$ zC#xP$yO4BYEV!|t$pm%|^s5#6msjX72MvKR0~yMa{*D>wO!!77V*9XZ!2P z4sfHZ_$}|zo4)$K#}+_itzd?S^U9;%O+pHqV?Y-H3rmL&}Kc^8^PSsb-k{82OBMzW zmMlyYIP__QyRU8W<+a7Cv$&iXOj^dnf4ql(^_LIu*>aA*e{e6E-dJ{UzkG>iK0$kA zu?^FVrP&=9a?f;MRZQaZy#RaPk;0nZR21$%uF-Ol%m1yL?hdEI>sOa$A*B-j(#iaewUie2orlxE++V! z-`>I5vcaZrf{rdkL8a#qs`;wkv-stX^(?)iarbRN&W;CbH!deEVgg76wB$|p#C7W( z=Xg04Q6(7B;vRHj!4z~p@n&T6$rc~J^8}6v zZtk7E*XtH9u6um3c33(KXAE45<@7h6Jy-y<8Qgjecew;#EkTEK*y+?8cg6!W1ihTg zJ%UGtJS+e2=n-D*KuMdmr{XU2o?Su>KxUe+L1zF+Q%PX}*Pz zyP56)P449wf4_mDTv2yAm+s;E4n{+# zP;(P|O`u5&OdF4KDb}6_Ob!MH&P8T8;6RfE;!2v#BDyIFODJBcXhh}^-NR*3Xi3V+ zg#&p!0fxbb1o1EVgdoXv`8~-%lv|w4*9brli;n!vqJaz2Z$dM(xO=b1lSeIP2uD9rac81Acv~bNddH=}!LuM|sFxgUaVKF!D zqs+~)2vIOVOYK-TDg|)Wz-jm{!zdssMs5nCI?c?9`9qFiTC59HNP7i1$~~5f&NNbx zX(T!rVU=kPQ8HW3b1O=&tk|{x17CG;UtYqTPGH|U7)rTOaek&Dx0_TJCb2jR7V_15M^8Glt$8CeJ6T{vy}GFjPbzU=|a!Kfa6Z z({uFCuF*fehFf)L-a7^s6Wxnt25)=t%Qej1MYujJ?nmCSo|m$G|IEu{;vz!(yJeVqc;>Tu}kTp|{J^Q2(sG@`A>KPI!2kn1SWm;%`2A4G%A7 zxZXC{_AG8=Mqe}T+R@i$nWh@AuhSzIY7ZwGWFD*kcDnhIycAr%=Dl;(x*)fn^MNY^ zF=>Oq`gP)(tsJ~I`g1%)!H z80X||2h%qCd~&@JwlBcGEqfj3r;RbN*8V}6lKsJm+arkX`~KT;`L3?HB?_R*B#T}Q z>*iYJ;z1=|$kL&j84i^$h;d`KfNem=h=-f@XJC21vvBhd@Nn+C?|^;_QZZO`18V+# z$oxqa0$O^1%P-g07rDy(Z`b$e!n{zHShAAc6k$aEo4Fo$HgK-YU2ge(D}uRLcys(U ztE|i6szg2p%b4A9Wl0X5-*5D}j^huz?nBDY7Q5ne%VTRT%xnfTpC+I#XPe`>PV?R& zKiWBO9_CnF5AiK(JEic=?`g8B7-d7~_zm@525c#SY58qLJQk&SYOjf;)YEYxYN$NM zF1UX8WWm;W2kqA2@R%@PSgd)1YcyD$0?&Vbg8uUv{^y^3j)P{K?ma^c^KuFN<{T|| zVmxFQvl-e&f_-GsD3x>A;PWl|&(C3BpToX= zSY*|Ur7%7_@!hFdV??noKQ@_gUgMvO26T7kCE#7JJ|Bm3a4(iHl8sM9A#3}R^jT>H zTo=voVohf*N60Flr!oPirp1KL29Cw`E}O`t^3M0#js?C*Dixw|D|>S*Yk}4>rj5hg zc9@$U3)T)t3ZMqH{J=rldb-u#9bfvw!lcgtkw9+0etezd{LT*2m0JriNEyZkfGg*?Q)Oj>dwBR6 z8#?01(r@`5vRq*jj^Sdnb}3cBZ_ZZ4Xc;&V9Bgp?rq<%MdmX;~yuq?>VP_7_+~MKh zy@n6}%>(?qpL~h`__O!0?k$MCyK498OVHs2&HZC+(^)bV%1kb!dQGHo?`yNN{2o%( zJYayuIpiXGkTuy{@6v}RS7e0LdZVcHW4I%*F$8=67<4#A_uDh@ za*OWc7iiu-gn9G8KkHAfL9Z=5eO6L=4m$f=%AcjWK+VtRzoXbND{_?cisIC`eR5Hd zMs3PTIIKq20Il_}w@?O|OqvxVLJ>no6(c6`Q7kF(1rbC$(4i$@3Wqry4$$F5=yVLt6OR6v7GN;o--bxY%o1 zCLF|j%22f#Ndu)yUXO)kg;>w?eO}WW$^Xp}yc^#@Flj+UGA3&bV=)B`I{e_>hd5ZQ z&^HEaH^IeMhgfY4p00X4?tmUa>K&Qp$`P>g+b}TmS!S%SS8$itFb8v(#T3-o9CxM+ zIJwRYb0vsX>|Z4TCf8WWq;q2K`DV7cmPT^}dtG}^X+(At2>%{X|NrzW>iOe^{-&Mh z2sD(wiNY?s#k%nVOB&QroycaHO(16{ViC^L0EpB>I4De%#*%^2ti^pE7{0~1D)MGi z{1xMN!1yL0O}me6^q;9RV|V-CUIWx6vrMCLT@;vVUpN3QK+?arjTs(dZ6VxaVcq2z zUJ_k8_R8Es96-9)M8+3sWcHRD-T1qx_}t{ObhP$adE_{WKy3q>wjRJy8Q+nMbt>3u z8F%~OkqfBQQA;@>>P=l2ire|~Wf zjtPbs4IEa#cmXbOz}{D{rbH@7SI^}N=0g@-81GxAdF%*SqvV$>*_uTo zhfEGVu4Xv1@$6Ux(_o^0FPnm$i3i8^nCSxQ498jI_PRvsIR z#mGT9v8yIPI>!}9t5Ovq_E2*?LG$C&Fju`r_vHobssrW?=xF9&y6wfa(V$XGqWvPl zuFtVKJ!iQ!|9|YgX|H8TmL;^d**SN5lh5HXWn@KW9iijt94A0-Y_uMm>?X}n1Yr&1V1Yj1_2S$!cc}CC(cGcMIJ*eFKI5lYL+6>e- zP=`|otaV+cT$*zxr*9f6CJNJe$_y(VNN&Ms*kDQqGjv$c76)pBw{E?_Z@uvXnrsfH z{qK?-1uA+=#08KkWw=~iTX}UF$5!(Ozy_dR#GYDzoec2)^F93ehd1$bIl;Qqu`i*B zpj!>g2F9?s^x{DMZESWaMCKVYouHXcU^g4^dIPgs1G5>Ly_s*CQ5wC- zJTJI7=Vg6GJIXbJ={s*mMmecQmj}buM$1b8Y-vvRW%~Nk0BVvlz0Uzq%T&Lt^F(Fq zyxioeQfbgIo+>`@9P@0`Zm}bKIa|O)1l6U`6qil;ar}G*beYX(TMIXAI0kf!7bdFA z2VW!wzbq9kKP+GU*Ki3|*xEE}f63o7#yB$^391L#;ZmA9jB6mOMTpT3kS%s?;m{eX zKgK1^$cX%`w1~(F1IcAZF~;(=>4JAj%oB6QgIx^R6@k3O+kI3jp0`xc+fY0guH1E& zI=N|k>o6oSrS;&|od!*LC!ULZY6=V_5m-4EffYa;;JIV31G!;^ncY|vm*lVl=ub?y zf`LY7EeIM7S!bHnXk5F&I6Y~w*)Z0MvA(&*+3^fd|KB70M?biakIxqP&9jB`vQUh+ z>#_OE=g@!9g4@=!;_}*X&RSC`P%E64X_!2oW(tKvDwS+-YB(Z#Nrbs;Q7G6PtY@on zU{W|ax5xFY&)LS;`k~@Q2dryhUYK=(^5RzhKX(@9<0W|2qy5$q zFlmH5n)AHftm#{66mY%4%3MVHsa$H$B9czOvIqNU1(*%6KTYS5i~RW(F1C(+@g4G7 z#cX==z7i;I>@!GqHn7*h432qsFINB@HJ@Pe?OW*He*trRj_&a}n!_3FdFS5JaJs(& zXlCoqhZWLquLY(|Suo;oUPjOjnmAHbkl)oT$B76a<<@C6Z=vrV0LH*PUAji&!Ni?Z zwWE(tBL#gp?+Sx_Zdi7{3k)>GXkjt426J@SqYj6(#jE@0`0j5#LQ6e@tB5oqlciAE zSg8xeDxLrrDC}tJtLZgBo7lev8{p~r1V8-i+c-X(;Jnl5Ejgu)m@ih!wJ)ulQMSdU z;`B@?R7^FQ2fd218iHuJd`NIC)BBhiZ0x{YpJWXo)F^pM3upUO*+Ap5O?&)NtTyE+ zs@?MO#o(noZwd3M#Y7u?`|W$sjfK$)TWWCn;Q>}1;dp8Aumd_MC-)W+olH4ErLw%r zR4T5{pxG2OnZRzhzOrKx!V z7``lfy$c}(5Z(8E#8{tsqS9A@`ZEBuK7%@3+|OlDzSP$Z80w-p8AFj}1~Jzi1G5;( zm^vl1U4?`&zPF4TDwz_QEBR^5I5?Lu25I+aq#vlx6xX`GS7O^o5(!5#O(USb5JC^Z zZ*L5kfwon<7tw4qXXq*tna(RUAco+U1cNtw-yxBgAluDR+L$06iVInWFxBRx6R@Qya14)wjo6Ds>{67NYxi6e zSuu;v;1+jzd2LMfnOi~hw5{a?L6^PTJHn`Y?p9Wu2QL1`uW zSv6@m<-N$_dCeVCi)ba$CnA!PxpYHQ>`{0Yw{}kkqe%7u$(Hd}QpU~00-ps#io#T= z)*LOtn`{;v&KYrzVLQkbO321Tu(2@r&Hw=Ix32l@W@OQgTo|ZPg<)rDFeOcoP}#p| zXdIS_sWd^ovVeWO0$yyuhpijE5Ry=86{wXnzc%}vR4`h!tL~%%tg~1%GDEatwG?t+ zCfR&*65;mi*P!MN%##(+DA?y~Q3n*w&5&O$#$ZTksqS??2GYPttJH;qcfJol6Xe&y zmxDxOJ&YlEkAZCLCG<`SKpScZjpmgD*pm&+lO@!_6f|ouG&PebVQ3V`MNAU>EVMTv zgTX@g*h7Z{Y;k9?!uQ`f#;oa`!vu#vc|OA~D-MjfD`!z!jEa#T2Iq%ou9-vU?t5pO z20wiF4nBS{!`Ze)Z*wUuk(h}kc57VIIAsX9n%psD_{)(O8Z^)t48?i#MBXwrBUtyb zt&8;wEOf2W7tH9S^LUIWqhYf`4V3^Sa7?f!%Du z>ovM_Ck5AwnRESDlr^$lvdOR>EN@z_s3b|N%40^CioUv1l-3S;c-M8&0NPsnr7|V^ zQZdw8YxI4eLg_zih8&eH`1l~*aJIUZ8CpC&Tx?h}N7AjQs#uFT&$Z0r87d&YvJt){ zelA`oNV~1byuKm`z7idN1;99PGpF6}`AK}y*j6^pai&;aOSf=Yw2iL6Y0Z}om6xW} zK4y$KeG^^bT2LXeR3Os%%%?2EQCE^?=6W7sGNpS{?QYL!+3fYXs34nFph*Kgo4UgC zQjM|{d&MG{B*bXhNO)7W3FT&HQXnoJzm=1#`-@{a+0rWIjm5H*Y60$}ftd%x!GWFx z*k(jVoWw?&yN{=gYU^j64H$+R7%-Ib((ef{-(wscGESZ;XlkIR26~V2@GoxQYyZK0 z{M~PUjDPa0H?i)t8^u%>{fDREqbbxI`>>?)A|TAuD#~VjWnmL=VQxGem0Vp zPnPFyWF#MjAuFXsq5=RInZ@em-O>aoyl%`ruCdMHUZ-HIP$_hHxHhr4hAh_nEDKb8 zUO7`stxAT0TLb&SDQKpl-#P^8Jjy5YU7Q4tHI$oB@=qE!}CwwRN_96k2Y;pSwG?|tJDuI;bU zct%<=M-wvX1t3kb1`Kl{=_cR!8Cb=z0EJv{_{N`|0Gm$X&px<`cc1Lzte;?O)u7bl zN<^C?f^IaF0*o~USS}dz!V`eRz72@95uzbqlX>w`Cb?$e1HhL3+AC!7nyLj2RT`RO z41e4&<#|WF{GqaNk;D#(^^WrhJ0f5{1*VO~V%FiC-~1Su0)`ZNt#R_}V5^+I;qP1)I9KyQ zaP_(EPYB|9S9BKD&AQS~4`bZta5>c^8acb#^CO|8q3$6bml~D1r8~crh?Ag2I^Sh;~(9|5B~iJxc|lifBN2SFn~r|OxR%a^QX{9E%;!Tt&yZF zm6k2~kmWc63uDE+ULV9;MH4n_#WQ9LNwa7{a$tUQH!rp>P6e8Po-;5^u`m@mrDD!C zDvyOcnFVW0HjNNOS$v2)le4qoSS_b{!U+D1n1l7l+&R|Wt_kX>g+1%RADlwnn0hDg z%55H{nk;pp;-(hQwwU?Ps$9MZa8qhNfB~C7i|X1G+;rfR4S3ps7LAvA0|gFGU?E&i zlTK7ne`Kdh?t5|%<~*(@oB6dBwuWW&4G#_6ym6p9oW_}37RI9ktN*BUp}cucwS}m5 zQj0-}GFFL4;=&5tl#!WIpT zlX@%1Odn#48+wi3{`wQ#xqcpJr308&2yA6>dI~02T}H}1P+U}MO5x z{&oE2y=!=}Zn5c=^URPvvvNEo_+Oub>ru!DK?V_bI4RQrovuRjviTg(0Xqw3tFKoG(FXcsh`qX3wS{W7~GnhkL_X=%UHQOXNzA*H_~|7b3Hy zK3J7%8aZuavTwE(2DpBJ$r03MuWdq3 zwbm$QtF$vIZ@dG^rK-WEbv|Yu53D*8J4k*ei6R5YSsqEs1SZ#&O&#I-7{T^3Fn*Ryl}R^+p@XBu~3Gx+d5 zjkB&nqZrMt4fKO4p8Vt*{_YR%}Cd-f)RXIK|t-aoRXQ9NBuC;(x+A%9fo;Q(#Pc&dn07pDVNhyt+AQ^~xM{ zIPr3Dj*@Hl834AuV?+OQPs$f1YpL=178TKIy zV5Y!qogR~>M3Rw+h@OS+tSk1U*INlU{t`Mj5)Iy$HerpiJz(Kzem5Rtnl%ATb1 z0K4~%mLwMu$0TEn@}fSQ1utF4EB=1D7ZMk2TY*$m0MjEYFQuDEAI-pv3Cy!4)LMfM zrfzN3ba4=dzsD50CRhVT12;E4M~?+}SYV3-TI07~d4@M%aVBJn1DH;0R+c6?6mty0 zFiPj>9lVGH=<*s`fP0470>6H+!2k0b=jgre8^4a{Cq9Nh$=PzELJr}6vS}LUvdy;2 zPRHzqB1TWf^$`t$5p&(I!HESq2Xr-3no|^}e0Ev*s>m^UQBk1u0VvNp%XNmRLe)@I z84+RN`>g=%%?XX}aczHzufOh$$ZVsqwHnVqJi@xyc)aR8JFQ`qN=9V94k_sN)bwJ} zm?9pG0}v5d@zB^WjCM>X(9;R*+DXCt$1gzh3H06^)HZ(IR>GUI;tWm%?t4(H>+bni z1jCmF*t^*4FkTy?iocqn{sMkYCKDKApuB|Qv(H8os|sbJJh5rY?*+E2+zCc@#d6j6 z`J-t=um8?qex^1rJvs+)iS0asH>SwOR6w7YJRT%D1ft^OW52#jc5bE(L zmDe%evDL}H#f)$19H~g4vwB0I%3}{Ywp^Jn6Iskb!n>0xFB&e@MgHPO1M=Se&|%ox zIEM)Gxzf{_m__7~qCC&sjTy0&Ktgil24p^U(mLeqbt1wPtTj;<9K4iR#&a|RTqv7w z^dYK9DL1=D?3oDT!L)bp4nx3Ry%L4tBwGO1196qnr$p9CXrsH9J6{G3l$VVw!%&vN zjlyKcxc!R7!}}WN9YaqnnwuS-{ml{PH@5iW?|y)P^pkJk@p;D0ed| zWVXdatrhfJN66irC~L8X;+86_em+JhjHa?jlTyBJGzcpkq807lRG7e>fqlFL9ZaD1 zCg4>E^WYrn)(mJHH*3FZ`K6(eT-^G~^@1vm02IfWtr0x3EpfVEQOqv~c22uy8ylM^ zbm(%UC1D^cVsVtp_b{cZiYMODcxKMkWz^_&9jkNZ;`K>^CWPkB9_-l`=FvIS(G1qJ z)$yEDPEMy8e76>9w$QMcz{$K9WU!A8N3_A$uAkzax1K_if%1*36fw?2(v>SjJ{Ny# z0K1638n}HI>^BU64tVf*jvxK%79OvrINvttI5i?^e2X3IS&3J1-_u$_vvOI`#%7Po zU;vdT#;SHmUh3YkL8#dA)_6PemO?*kzo1rCI4K%EJRY z9dOo{&FT9~1E{y#EtFCbRDafAlpli>Gu$LQ3*Cs*wY(LOGecgq+XT&9IRQf%&G zso9xYQD*fm7SPBV73Ox8_qNueH-ttvqft>3U{g(#M;G4MsG7`>^1wu2oO#W)8EtvB z12aqsh7vB0yF&RHJqYs5Fti3uXHacBP3Fg90n~d~&_U~Cn=1WKJ0xG(aMss~@h~EFA%BEbzFZCB zr`St`i+NA!E^c=fu%a1&^gB}S7?>dxllvKKEt{0#_X5if6^#PNKt&d36`Cd+1M_4B zeSHd=`_ZjM3)LvtM-F83UhC(PhcRb^0$I%5mp?0|(bDf@@R~eqzEPavhsYLYF>jeS zMGzc{l?TRsMJ7JTvMO4yK07`%IfkH=zYZ$cKE z7Cw%u27m_>N)im&f^7!pIo0Ls+4OJf0rbGhX^S8J@-`lx&TzJF(6f{#bIxrP_dHid z<7(xERtnnJvMkNHEN9Z|vSgC8`AM}j-1Mxm(F<$f4lm`}BdKxn-ii@Qp;s0RaY-t@ zMm%^)j+hjA)I~&L?ziEVx&0Z?!r<=B7kKUNGoS%@s<2*9@ZvW|SepiqR|fZc!WIpB zQm{nMP)+5}!LY{vn>wF=no3DgHYQ`m?qatr4 z>rB-^ae)lDRta#ipi?gADWp4v+eqGx&w#WUF&ld+ih1PRz64XuyyJR&9#R!fvz4JB zWm&9V&1}sv)dr0;DyxD|8i~@XOSx-cGd*lN#Z5>DPNGWwYi)*`YrPdg&arT*RbyiF z%5@E&Q-PWWYPN`mKG~*Hw*75Ufenfb&NfRI>FVUqCVUnpaCf+xK8A`s%gvn6QxkdC zR5|v;8tV#DLY%3Fn1hA~#hig+;T#_0yxenZLu1dg2|=yEq(E%5%xov`4xDxResCl= zMuDt?Vg(`vMUENgM&tG?JyuJN^EIPU6X?S=)MJg0|HW;5@85lZ_g;UBAAWcXunMiV zU_-EvR+ztefTo?GBjrCA<(+y7bP6K2l=DYmXQg|1VqADYo8;^zqr&hR1ADweckc}P zwLR!p7Jvfm$rgCB0d7sB<91v}N8J6T(i2rFE{!TN2KPG+n@_=9D6whjY?3hDN;3Im zm_(ThLYiob8RX2d7{YZI!&&ZlU5c6A8q1?Zvx*tKF|be8&^PCxsm^QFsRq5a5Bqox z+i#!_CZIMkv|Jn2s5L_eQGI^Dw6Yn-b#PWT4@ovIyu?*eaZOnm8VXjgB_FqDF_?p< zG4Bh`8n|*yWoT5yK-s*ICS)z;4IuXOy_7fSlOsM4&u!zKz)v?YkI$g4J2@*WXQ&wS z4E+6~*g_Ly0*hHNAfqh~vBj-siSK{y7>j0$#yH@u+4(lWdKQ>HXcLBHB)Vr*W154w zM|`go&v5|lCBS9}q^Sp1D~%uh;ub!9zQD<5f}XvPN#ST1gj&{CJaB3Y*x*rj4Tz@E zu+}xsqwKe9Pi<1@O;g)e~30A3;J1x#p z=J7I`(_Nw7Yn_HNZc(h$*-JGI^pOMByjr7wcIv)&kbrf#x~A*ETBS6F8mmQ@XPaM^ zy_UaQg7>c&>M!V*?3#S$PTxdgAEe^J@>v<~&2zm=i4(Sp*hM)j>uskpt5MS`Gt-#}&&eM?u9|a*SxD zx}f}LSTt%#4O#Zw7{wo_Zo$0BXSk%ijO&c%D5e>lKJQ5Et1ioB_O&ny%VgmGdc-&^ zC$NTP&m z28~`>Xz$>z0yAM1?!IpD(R&TfHVi$RK;Lxp)Q^9B9e?--ALHTK48MAEfJQlm#`e(? z>z_Tv^!qo#?F7C2T!Qio?%(pW6A#B*sKll69x9x&sp1MQW3-qVyz0?^a00tEn0)sJ zXs?ZpOm#4U#TNE>4Z1mnZgoyBs&e^B=3bOtzx)nn6h>I`*^s%?gFYB%MKyZyxrGBW z3FEtXijBX}#cXCek1CTxbC&6yYdI2I%(>7f$m$dsEWHdq&-wv@^rkMv>GGfj@CvG3%NEj(n zb-|F^OiN+OfX{IgITm{pLaTec{rUqO9j##$U}p+vj~6(7xQ}(;;K{Pbhg+aS1EU&n z(>Oq_RnhpTye8lsKvUNDvXP=N7!%-3aVSBtzg}$%Y8sF+;N=?q(-Wvk3)-83CapWp z%@%qwPsf-EGynC@O4nXfg6XDdzEp-}Uphb?Y8aU%R}NdBg(k6CQ(S?S zHz`U!{RA4Sx?^03-0(*jl9I_DjET^o*vU(!az>i-)o#E>UKRy^QU+ThrHlr734nSP z2Ap61_nGTpn#+AqxW~qYoU6{~eQ&_t{hJ02R2DJlJp2eOW~&5yn#BP{=V6mww{p^+ zgt~$YiFpo&Q`{2~>ay|7bw&UNF;6&l6?t_Ap6`Lw1ofF|5jAoNNmTv{K@#i%XqZPP z>&?BKRMCnCfr_6;IU^G#bE*AgvjJ!W&>SKT%gsT%T4TiWsU<(8dC+Fq<=Ozhdy|WJ4HD1AB z(RYd_Wkpkvf&?Oa@JVEriYi_@bBmZTmN7%+T(hLHiH2iDG-NtugkvlgnTvU2sYv~mSIn};B}AY)jfd7-|sXsrozzIX5dK&bG(GQIRj>4TtSRdaXPj^=67{|v}p8l z;n6?|{D-{xqW?Gi?7Tx6B|8$018;0N2Ykg^mA~dNVvz@X2p2|eE<$bKU0F?VB#=#= zDpDbiOwPuOH&q1v$^q>82K?k4d^iP78yB%n&U~!Vj5!=Ly@xFhXp8H5iSNDo5VsGU zqqnwz-g2_%DD)$$x>pt;VZ@BACJhG{2IZ7^0_p+N5q|m6K7R845uUAEYPFZ{tr&!U?>IbPZg%h;M(3f-hS&53^9x*Y)IkRUmamjkp1@B1$mJN=~s)WLO5YyCNyl9jt!g@rAPp-g@l zRuL^`IXN>s7{{PgE?IfkbJwPxp|c%k2h8Hnr^x;f@O@pHUY~(17}U{Nu1^b0f0CDz znpNv1W;{-VR>s~veMj)#^(JlYA#fyVEBa2kRo$4 zi=)dN@vQ^Z`_~6VY1qg%M^|92oXHuIAp*7~_=ip?_0jw_7>a+aITzF|kP4oJ~l(BAAa^0R=q}}-Dl|DeGZx_ z=-;{ys|ZFiJw+kIN{j>SP?1DnO_dorN)mX^K&AzH3-e%!?%@*c*A5)}xdR=mgNggy z#~aX{S zYzDBYa*qII9@}6xzc_~wV-gwq%p`$AUnhsH`EH>fAtYwzkUj3 zZCa@;LtFo3G{BgMs45EJ5s<*cOx@}h9;D;OO|pIXc#ePhH#hNQHN|q{9lcR1k}51X ziY>CtH{K=Dt+{FR%PQXMF7Bj|t(&L@C9%4G{oYZ@+aQeXkmM04=w+hE+ z2KPG0PIJ?Mb>n?s3h>KRuhFO=8&ELAG6qiaH$+1(S>`MyB#ayopM6cIQ*>PyWeK0X6ru89 zQa(!+A2`nEpL1g;&WfwjZIy=OStHTTLm-{SBNa~I87nHH7%~uDVXt=@h?R2o%P`Yf zr{e;viB3*p`9SIe2jZR_$QsYwU~#4BDrf4ODz>@?vv%_F6L6`S0cbW|HtfOgLJ9kCJoH z?#rcv{p-3mKo9MrZ-_zKDTZ0QQ-1rE9-Fno*||omCeTM4=tscE|MxBY_P_T4|Mr`Y z@PEE{8$cp{yI(#7O*Gm!jsR%bkgr{&5hSy^pb+3}E}4pWo)}k{RXk-O?%CaCkL?Gi zU}K%cd!{i^232B})WO8z(_<$;rpDjrO7td0p6FO`PbR76ib_L(f=nrt-xNhrDjEt> zwxB9?BQv-MpvAaGE#9%*fE3FC|6Ju1O#D2PmQ5isgL{U3vI4al`sRFC=tBTePWO36 z*tUe`wF8*rC3tI~j;4-*&43nzbx}ymn6(mM4>~8570>b8ii%>EbMRWqG8HOJS1~tD z1e(Cbz8Q;bTujX9W{&AH+q(Q2u}zXzDf7KHLt0z5Yugd!Ms^rTkO8F?+B9vIo@g#x5@ZM4=< zO1r2n%SoEeRsT=)rq7yu!9Rs}asq|Ij4FA}R{9FkFr=hBR{Si5DOdq^O4x2Ec>eA+Y;1!^X9gc{7|*Rjr^p$RiSx~34NBKtHo8Rp zZp-X66h@XgsEi{ZgY`mqGxG-}jkqir{-o?RGox+W zXhdd=`6@Q+i}+=&jW>1x)t~K`s8q6OstPL|A6QlG6xGa{xRwuHTe3>~{|bQ452HBF zQ2d3i7~8n94P?q?Z?sr=asbXlzZCG`*m$r5icVblIhcp>2Un%WKM?~>m%zJzQ&7rB zIZ>L4dnxcw7rvV@)~5p{`&&oK)t#q73tD6lKi$Qp}!(vd@;-ynh09eTM0q*AOh+V_cC05*dT*U;khN zMb2nV-I*uQl3B;0uKbX|DtnG7I^X8aBV-bIwivL_1JgZerWJ zTy+M(sRCr=oF+*_#7cip7?2IT$ufB@feXL?f&5tJZYvCR!rDD&@R{avUo7YI$6^P= zy6=Q<$~Sw`=O>vVE*jaiYr!qqY`LtO00;t5uxREQ&2);%$vLK5gT*0XUu|(+Z}6R4 zPx19TFVKLY8P3fc3=Ow_Dc{2-IB<)eos+Yw?-5ifiKtpfjj-2Y;r3v9wbuC4pWnv) zlNru74J>QnMol|70Zxx|R*U-FX6C^&Duh+>oH7{7&)x<@xMX@47;EJ~rEk9E27{iN zW;-Z*N~I4m)lIL)qQ3}(COwOLNGaM`qr}@st8^?yw=6X(+_N!jG-eZvsovr{-*iS~ zRuTG{!t)O+0Z?%x8;#s-ru>r$KQPb-G>Z7CS% z;b((zeFuw%d`hgyJP|_20Oam(QXtiWH(Su&40d8e%Y3Q#>5d8Lrf;xo~O zW@ndUlk;COKF3lAP%R6_8Z%MKGsn)IY<@s?#kr7o(ZvM&AbU3znk-_BNWJ{C%*zvC zHUrbFm^U1`S1vf_%x{o`J2oe_Ip|KjgEvP&%UR4;k_@U4q6H>5BL@r6+OyOg7;KJ) zVHqPHUN2*w(;CF=Rk<18;8!J9AU19+z6&*&La;;Q%-NSBePi4ZF1FABSxl7!)XG1a zlexy-H!MDSU*l}kLeCib#um?hbBOt^E&lUweSm+o`362doBK!HqB9-VfAIjbzkL_& zbtnBbP$R>LLzaicd6(VvEHaL>=xShN(A_^r|8#}PTSw5hW?qEB-k?f}W*`q5eY0u03U*PY9MK1v;EUO*HxkXV5q1 zz@iGr2|CkAGCrDiWgZR{`73jM&Vw`jnC6&c>{?k%$m6x5X7g)bt2K;eSQ@TV*4nh! zGKwJUBt?#PE&hV5!Z%?MNnSK0qHm&-?%}~dgt9#K*l-ea-Q!%?rNyUt+e^9A%v&WoVD$I8Vri?W3h`kWm z34+N_hEjJU$= zHG^S02CW#FA-bOi*(^gc;=;U3%sVR&jFSX&QsLrv{@_5QfF7_urK4;|e zt_?JLW+-B`WZj4w6RcJ^IAq+oNqG8LLw7Co)Ic8?9RI89c=N_X{PFL-kN^J1Z{z9N z1da0ROy6PqlSi2SzJ}hLf>i^<@FOua^byE!xB=6jeHNRWVDYlY_Pys|MVNl~2GqP2 z`OZbrOBl)&WkJL)zn2atZtVGZeo^d|d@suH37WNN z?kbo^OJHkUw3b#ma4lD~nnspNR(e?cW(}3m#5AAnEThO`2ymX5L8S7gLD;(+aSlA8+GmC3e zg}3(};hVRgp<(C2pvbYd%HML)5u!8>qZEt9oj(;#(FS1boRuz@cM0CvI%c}>6n^^N z5&rU{13cTbSoK2rn6?fG{yd(>J-+v1ew9L}QQTry(EFB|R7r%@xV8YvOtYZjd({Sd=5ym~=)t?WPfk z!!gx4-rXtbkqYP@wsPEtDz=S=*0|ny@5U3z${m=vkBB< z=FH5r+I_E=i58y%drg%4%Y5dEN?!r$&j8L6#jZ)cGx!-{>eBr$d_y;dqpUQm;mZR% z!Az5kC#iu-t~y&~Y+EQ6a+aB|a^fpLUo%m=oWy!8Pzy*->QOe!MGgjELB{>k&610M zmXuCi&hfqc0@?Rf<=`}UJ3^3xAxWOIDw3)*!>Lo9%lk&H(pYu<1a}w0;7aE}kc>Uun_cVX$&hSfNn1!UKU+at0^LS!EKyHU66! zcH?G5p$J4)NcUKHMUi;Cazio}o(W0f<^j90pw5qK`PWlou1;FaNSS!-6GFiP=t=vc zn9(Rep?9pfBHX+KY&HsKXBv%~LLaW79}zzOm$&f7fARqT;P*bnKmLoa;bi4NH4$Tb zw!-Eo4>9|*+9Q>AY8_UMAfEM5#{qpsK--DL=%3l)zEhjV4kjE zpRAy6%pE8N2F;4Rh7Rt$HAn3s8=o~l6lFL#Ul0Lk%Vjw)NJA#lLWPxLCt5dn-2DD1@q(tG-*ML8Puf7GNLa9 zu0J8b4$;J4nUZ}$zm!s$DcNV;HHpfyfrN`v=efpiGG*o@xm;LOLKvo(Mn-~$4=V3s zg)^z4%@z|Xn7h$rrp*GEiBL_TwQs04USdd~j z4=GrqS6;Pv|6Rh#MnR!Pb8`#zV2TI-`)z#Z50CLj-@k|d>BnEgy3>vkX)L-IOKg97 zjOp*(0k>^DM)>G13HT{SNeNJu2U5o)w=09qy;GQz4JL12LvwxZ8X<+#ELGJ;;a)4; zAbo*JQD{K0`z-)Qf4qdgJqH>s0MFQxEG49#)sSG7IYufCGf1hRP%7gjl#lIlsU``H zsd5^KeZfpT0Ixix%Q6XQI8HVUd$Iv9do-^dM3r`Vm|S&B<}9BZwvg=t^&(LL`qmuw zWDE0n33X!*ny9EWkhAPWlmQJ6CqSwJYK;d)Ldq=_Ej%=WEI(J2;`^L+<^og~Go)c1 zYD!RDsucVzFaek-k!{UUm4Z0_K=t$trJQeyh%{o}wWr$1P%C1zY%%d}-V5q*Kpn2} z8gCsu$M@en#;oa~7-*QGtXmfqkj=A7j6+Q040D)yCV*PhXQc}>G6D@v$a=?mKX^LB z4}WpExe8PFPTS8%I_>(mC0Y-37anWzE}P1s`2c3zJTri)g3uHxa6GorS8Q5 zs@-nlK=ozJ)P_~0l?EQDNImnxuuF8GMEnemE&e0mcfx&vMA7j(a!fY+jIaBSp_?znPb?I?P$y4p19_ea>!XNTyODFWCwy4=46! zX2h{*R1mZhORWTDF0?ktKm8h_0^2C(LrI}$xLj&5lwxSMP}=2MPiBl)Usw3>J>aZk zG-RQ!cc72vX#Uv^{2PDg37&pug8$_f7PJ<_APJ&Fq|P!jCIMb zjotB-IJabT-eL3JbD-6j|MpGLL?=cv)`Xr(Ef}JVbtPo}7`5U>fx!DyHwXS`4Si>x zDOp#hwLQTE;ivzjraxwSVH&ADi<7n_-!H=kHEWC|)a@^)Gk4&)4L z81~5$u#D#JUL0RQK`d8+UAo~Ds-p@xLJn>d+s#l%6VSAA(ONfVz^w7d;9}^?S^HRL z(opJLZ5mR^>SNfb8BTGAz z0H_9r%gbT`Ui*r-A`ascAlT$4O@;siJU?ymfBozx?meC0WUbIy51c8fi=rO|3xG`k zvk}irYLXc7YzCKaW`>enw#|*YfY8s7$p9qAo`d%eWiUTHyz+ileyqcSU`=ikt3;hA zjp$g&yUWq9G9pYirZ_4fh7%;^eoO16*sZvE6RH)4ci$P=8Us zLR{A8`)Jxb+d`IO$nf3Qq5AA0tox86Bz?xxLWB<_L_A3gH9yDkaLroa!hQYI6 z9YD1Pf9KzMh~-A(pTBz>Y+TOjlq|OIJp)Y@rf=WEMlnpmf6zcFG6ciuEV@T4Z0?_; zeRU6$*Y{H)T3J&fnA%m)i#}$Yu@yyAxaX8tM400h^lcxhrBs@s70(W3DF(&!MH1uq zLR#ib%X^Z!VA;#m1jOy2j#L)%0#VAo*)!_=XbGA$P=&(BNx#I%-zTRH{^^fz;oajoUaT8zEQv@c;o2?7Cn9i8%{UTrVda~WB>hFi z>@?9x#3oSW+1Ij=F&yCb?`t_3da+-p6#=?Yu-3)Tad|G`*>9DXTkcylU?TJWdEUq? zv!{u2-Y4TC%4b46LWc{&Vq!2=TfFt!F>c&Afz<>vBP?GmaPr|1HhqKRQ;QEe;EWWk z*1*I8YSOA+8;7Q_Z<i%*m*eO2~47?B0ZcZksX3Q&JR!L-&IUDti)@4qvIIAigKvhZ-zMn(b=|gagQST%h0z)%5_!t9To`{^+rS^vh@)aI!M)J*p~v&S7E8i zM_?(`oFWH}0o1e#6-o5yf?N5W+W*tYC!u^++WL-YqbbH*UnnoVq{0apd1D}ER01NpibR-B z0Jo0mr3g$oG8Ex3?1rIq0z(lom2SzB0ExN+Oy{9NJew1FmIvbV(y2G4(X9qoa|AO7HDyjZpP z>Ah>P>@3wL4bc7i8PvQ*d-o8mTi8s|O+NRVhV~VfVb?u2AH0BBb(p?$gywJt$*D5! zkdkJmW@5J44vUhSA~iH^XfXj8FpmPLE~66jxn>rCbYOxLBc75xJc*M8vuX3W?+C=@ zy;^NXief#JA^UR`8UdE0A}3oUNLc-K7W{At9JEkJ)AWWKVs4ZRrkce254WqdchH~^ zjb>WR^_oxv&8vGbPuAckOYp6QkESBw*evp+z3$Sj|40Il4DGt1H?voiaSo}D9vz9mB1o`0c*j=0I+D3 zMavzg)MHO|IM5wl*+0kcz3~|PlP$=D?*LjTrRGo@YfR-^cg^o;K)b!a+8ZQ zBx_1OZ~F91<4=En6YoA*;KjDZ#!ym*s7lQeg#tq6929Ehc0wwypf+>z7Y4LY#a^FO zBqSxnD2$@Ty&3Lf%N*;++8(Hgpp;Yl7-KWcn8pD(zBdon#i9|&EbM@WO={Vk8MlYfkhvK~j29S#3pgu?pBM%{A1p0b3~%brLW3f zlSt7BlJBo(sK0<;LFR3({anJvS!VrZ3x}-$kg!3Pu~Qs32xb}8B4>&?pH+h}rw9Y8 z95xyY7?UJG#e$MWTFIS)RM8FQdiHd=pzs)2&!e-r=H5y=hu6%x6SH8QYEc6`IG)SW z_~WeX5NwGo>4C(!2Awmj8=&gW&bd7E%CqV9pXWkHDVZSS?}!xe zM^F-_yJ1X|N>}X!mO_)xG6Ne1G^3g6)NG1thyd}F)(P&C#9Kkd`_FQ2bdw50Dr(u> z`P=)UJE}kxudlS^^Y+g8H zGcgDcjMtSy);)VxLzl&TZa70k1Cu>{F`q-!?nd0n%Q9- zZ$#!Ui%r`f?`V3Ljg?(#o18~!QSU*uM(&ef0d&A>rSYR*-oUT!@8kJ;f>p0!IqX~F z(Gb^!M{HB6+%ibQN)ki|l6M39W4i=l6Tuz=w^LQs{byiOx3EqcMj~O`k*7_LG?(5!nM%}8UA5MOvJ+frp~)+TM#se)NuB? zz}Y8lJIX|`YlfXz=W5GoRywd90Y6yFz{VAgO1`FCZ=&>DHm{Jmhof-#=4^CB zNdH5l0M2}^N8=>rq@jtSl?68ndJ4S$ro{)p(RjLKG<#FfEylb99{#gicx|u8fAI(J z9xHH&3I74^5MEm*y+B*vmhKC~| zTx5bGGp6B-TUSIwIL?WcAu%_t_9tLCrnnpG>1ZtTrDJw& zZOY89q=A+iGOS}wsfn35GMzI7-E&d|M$6kLna2Sx04> z1_>8m6->2U{8wyHFB+&;!9H3+9Zf-tCM8A^r{oK1YU1ZQqvu0xYzNjkF@_W^5>h0V zGXwN9l5Cx~fpxC)X{Hhm49od-$*g+SK-}VV0wenR4C-hGn)RVu3LNR{@E*DLT{6Y0QQr5AvoWE8 z<8^7=D3ltt(VL{%|v|o5MfWtk7J#8>=w|M96hd8>q1UG=4Ds-m7i@!O- z)=co^jPYOtJO;riH#;30KQx>IB(dL?Yoeb(see_7MiZ z+Ckg#_tDw4jLxDf&Q4Roic*rH)7Uu}wVS;VP{)mkhQOZ&t9}ho7avg^_n0y5pb^Ci zS~6->1Y&YY+Le(qJDL`vL2z=m#N^<*k2lGO5l5M8#xM|jKyC}yUfyMHmMR^)T7ueH zb(We2j5E8~3Pn{4d|)Fb3V-%eZqHXoH`D0VO?g~aILask4|fTraY?gb&_el0kt8Q~ zCOf`p?_|6%2?=-Vv~yNVK};rwR^ z(EAfNn)Gn#Ky{;He2bLPXX*@2)nH(Gm~v$d<*M{@tTJchZAmHH;r!oD^ir(9!5)|a zKJUO!*U+!+gC`0Dc_No6sIu-zfG6gfV|yvca6Ma`fD9FDJ`WTmEI=t*g1WPSd9(y= zdhpf)ooD@w1)C&yhT-UX4Xu*tnFe__3k1-^89qW`HL~ z8Fa4pscw)2(4s}=S4XJ_5APhE#Wz){G9IjD1mDAA_Y7zPG+Q*Vn3KhvJM8fm2iW3v zyTb2&?IG?QE}_`Ec&rjk`?pae+h@Edxd7N>Of~Y`8Wr&$Rvh~;n~lPce|-%<{ooK! zR}-9Xm1CwWfH)hwBJV>X@}HCIHVu58D6-O=%*l9UJ7>|{6r%%F#4(jXEF&mTNfYHV zqK#5B)<2&L1l_n=(eySmLCkk&&hH^{Eaf@Ne~Yq`f><<>fppW$pvc)YUs&;q^Eux$g@+8L2G+M6u07?TN&jg;g;MO0y2 zP<->;)zcVnxQ9DgAz!n~k;V#Zoz)jCR6qJ99DpxipfAdmzKFe+-pE&k}g{IAe14gjqOmBe6krmNg9L+Lmd56@uJSUbmW zOlRYl+ZV=>QRiH+PdnysBe@dI#V8t+1*x%@OfZxU2TEYnlzrF%C`Zj*!-EMG0I5<$BgL^z!*^{2^y8vuxY|aD&fBXJL<5 zP&a0<%O1SkqWSvap!}9>R2qL4&$)F>Z*Zj|aRX z1C~e~O<C8FkC9^&DTyE0sZL-pA&WT~>~V)ZbU36fZs{d{_l*a5p``D&?G;iWZp9k$2GEpDqP_QASc{9meZrcMbvQ+9$1^-Hxwk|!?&kwO~b$` zOc6o14SHid7R_bag}p!;T@=q;bsTH3*a}&_j|-b=;Kn{-rg|JKmiX=Oe*`oZeFK<@ z#_Dv2=kFe2ZCX4!G5D|tPDsP(7Th*K>i{(?Rgh5P7V#J%+~;v`r=lYn)?zIp^r9Lv zH0Z2o<`*?oO+iyO5@n-fy9LdrL!-D-VN}i-#AsgnRA!|w1F)&c@czo>`wRFbJ1CzA zpx$jx^%AdFQjELiwGZ_vgKECg z%hIQK503-sx{pRK1FB}@5-yIg6BPm%^Syb1Zlws><^COWrStp_G6uXp2T!I$BbC^p zMsm-sCUpr{W~C}up)@1&|K;V!ES_`na%~b&nncd8l<+agxqdeZlyk?R&Pn-{3oAuX zvWV0jZ$_3*P|BZ9((qVMi1#BuV8+O^uM^9`@iiP-?%l&#gF-wGGZI&?@akQl?-?29Gr&mW`tod!Iaq2DmJ z4^GfMUSaaJL$tT|yo)whZjW>?QE-;Gyt5IRW`m2azgQzk<-U{I1LIjM7Up_tf8u_> zXQ&CG4-W526e!Hmp*NXkIgln9+5j3e2XNovAR<0wpi zW340gB~+SOQfg2D*-c6^znCejpJW}NM3arc(6G>OGt)B|%+X^V( zZ=5)0+5>R-nQ4;qqlNkWMZ0t<jA&kW_=JT-hjx~9@($T_`0D&nleT@O(M8+Y0Ahz7Wcm}3o9k)(w&+z z%;$E3MmzP4u@=_YVn4308QE}IF{&Uf9zxOfEjm~NtWxNe z!qcB0Vbg28STT+_zTwP&Xr?KTKi$j?iaTWol9e*Xzyk^!R}Od3t8G#%EV^7F?i zLt^Z3u5=mHBxcD)lT99Ho(?c%-TrmVO4sD!p@CEW|5t$e3&v0fJ9lHu=X;Sa(%F8I zzAjRz&}E6}%S&D8Qol0xmvn`TcZrw$RKWD7aie`2O)21In~k-F_oX|Ra{nnJD(I3; zmpbd8**xEk3R=FjTe?C@JN^ zI0&|9m?eW|UIK0cTb1UnQ*q#4|_WeuzW6e+y%n!$UW!sDfZQZ3Y!L3cOcdlP*8zud;}{?S96ez(Q{ z_Lr|=+dEL*YGC{51ooF2`t6%Id;c8F!0fxXpysVRUyX`0tmF$89!!CdU=3NA=tA6`HSt^R|Hs~&#cFn)S7Phi`<#EeQ{7tw=PHuoAd;di ziBe?AGGKV{P*4}7ReIH3lzvZ{QrN(eZKXr^{v&bVH%S+laxxu zvt+I1SWzoCn8b{v%?exQj@)<|Ya`rxvw}^faR9aeHwL`FKy!W%dcB9k zI0ny~s2Y%x-8PVL7nTjjEEu3w+JTig`|E#KdxkX__iEug5l{|M=fiaqjev2i<^<8PzgzXbBiT!XLCu z4QfTkS-D%3|BVOJW=?qN!V13q`UzZ_^szUuBbb)yrouAa`_fR0eTs_N4Xh6o)&`70)!>11H*oI*+u#~tO|S!n-Sey1zp{c!qj71^;PnMC zB?q**)<9kPaSYYnh@u4UyGSU`e2P4ST>@bxR34^tPQm+Oh;#sgNbeCBj|9Vwf$G;e zL6LnnXWQ7ytbYe=^Ucb`LyD5M_Cx3J{hH2p7OzE9sSh~%BP4Ciu90qNlAjKX3#i@lSDa!#?ZwVCTYDNb(PfwfT_9l?z^`BA|gT!3pOwu6Oi zlE(n|IhdJdg_#oEM<{5m*lh9-Y!!KPhBFqWSbq}OD}N~g{ov>g!Dth*Xt3;1kV4~j z6%8{gYn^0NGmK&ATI1YVgO^{?xUz4csR!yaR_<9~?~PUHuQmA6Z(hdkw8G#1>l{VE)!N?7YF?t_{$=n@;K{%0~(Xi2^`60ZJ>bJK->!OQWgP$YH7JD;DNV>MP{b z(c}in^`1JaTY^GW5sVFu;N%Iw0`PEI%|ozCLT>6i%mRF{KOVeX{SxOtxhrNhvc%@< z1m@>s)OU|ipIuMV>%K;P*9c}|67W@i&_PJ(TQr_9x{LF9kg9ts7$MH~E6WjTJqpBV zL&*$tN0*~k(D$#w+?c>#9D_~{fI*c7p&G_fl@#g};fjU$hkv$lcnRJ5O8& zqQtytuJ++96L?u_Wo)p-k50ZV8Vto2H4OS}FhGM9T3{V>oK#ahe)=jNzUu}max!lX zuSyA$Z|2SzU*|k805;v+s8v@fA?L4&31pm?=&P4U_|{8XxU}2H-mJ#LCil1JG@mt*AHqr3Zg$Cwxnbti+;w&kbjZ`auyiIwKtn<$69IT<6errVDP1Z^ zO4-#hEe6g*M5_vx8P-_u8(^I&UkTLnTQF-t=kxn+T^iJc%@tsv7C5nffJYv^2-JX8 zfE_4I_xjj=eiJj($5mlO*60e{tDVG~QhER(SB`*ad3nfa#R*DtN$TuGz=3zpP25~W z8ap)vNjoxX=ZI%P>+GD#OMigKn)@5OaNy%2A>nqLku7__;O-p&_D6vF1Ns&0+m%vB z%S_)7kbMgy!tWS#5^fuCsuKW$Rs;VW$(Q;R?{}MJ9u-%mNm1B^_?$k}Zi@$kJraN+8SL z`PzeC#Zl0ufEdRlQj{Y3X8q16QVx_iKFxZ;&?5#_Vg}l?;MN0a2!`Bd-$^NlBhh9v)5U!w77SuGtf4_=C#tX$&zii1PRnJ&?sm7S!Pqq z`@_9g)Gsg>kvI7aDVXz&+POht?PK?o@)+F`*kif@)Wq8J3%FLTYy&~cRsY1k~l|;wOEFeScWyg zn^%YU<_jlqX}6D^X^pulj61owEX8}PkcsZyy}PpLNq}lz)+46Uqk_}Sx|Gm#x!?}GAv5{vXez{?=U|HnnXg1PqD#w7{@Ks!YUP@LOG}ZiDJp_sZd0SV){M;+LcgA4 z*qh_=$1kEcG_cyuO)r$j^`C5EI_=|NPPj5Qc!Pn3uE2HW*=g;)Stx5>wt#EuKrWqS z%Z^hPA(omdROXU-#yT|*@}^o+IzfzX`4`R_pjPcAlFNpiLV?JaN5H^EXB+PeT9e-Vzy2XE(ok>0l(*q4&L;7)zh@5D*xN3w7X z5B?=thVADbw~G{SW6gyG!o6pQ%MC?MHJY7m=(Up|t&2#kckBZ zxCRD;0eB)W$U<$*)nYNXm?Yv1f;Fz-Rg|Jq>=fV;XO66y!C8EcyF$;Bg7V-ug7CP9 zO1LRokB8VZFKM1KCUp{tx-43urS3ih*0}S!@Cb|GWTRR;-rQJVFj6>o&f@%e2dZhk z587Z1jltFLZlW3){O+gTz}}?B&n~aQFhOg8_a~VB;OD45c`tZ<1%}Ffr{LQq;&>2s z?JP}sIA=a1OH)*s+01d&Y^u~23P6=4Q<#7{9eO_#Dy7}rVu(iUG$||Y9ZGWOu)ioW zUnT7u811w#ykth)AB%}W^V$wzfWgzJL4y?Pn=vUKrs>KxHZ0q2_M~8E+m2F26OUOm z8kWQXg+`7oj#=s0PMphy3t$?V+(89>b{*!*1op}pv^4;F`5KYCuqQ_}7J=}T8N4Ak zE#yM=K%8G-L`Bv)fL5*mp);8Lu$Tuf^jNRnFBrD2}b;k(vca6#pg$ep{uI)taKqwr|g+VdGq&Onw4ILv6vZ) z#R6LE51s7$LzB22Y}^mKAntSwMO@fn@v)nL@B2<?~ZP_ zX)0&4dpEb3T4Y0Q!R&{U9Mu(%7R;tCYn{i+ zmyXU#n*I2JfZ!G$_gzKV>GDEK8my&ajoFzIne7=CFW!La_b~XxDX3vp%qpilM9P#& zE9hE5X}7Ji7-L)B%b_7ac^qH(r}F1ZXmn)vWB6>XmgZ&?3bRio{viRDXaz(H`pgQ{ zdJp!}7(AZmrfa2yMv47EG6rOBFK2XQrB>uqBfkz9Y2V}LQUMOS#?R#6s$zW&8OsVW zRlb5n4T}L94AEc(bF5;HO`77-6F2bmJ(tm&S=81s*=c6lnHUCBw`2LraDJYs)syAy zoD;g61@RHH0IuBV;cuSX!iC)dZj5WptWFIN2@*=BL`NDVp;%Np5+37v;TtttE0n7I z_&6)xpv>M*#?lVg0^n#z=Og#zecjb`i*uKR?4~i| z&Cfg^Bh>3X0=u{8WYGJ4N;{v;-A9=~nE}k9i*+VzTmDJ%Jrj^Y)@42%#V&8SF#uL1 z=H|RKd3pdgrhD7@i1+jly^=j^C#F!GLoPvVN@-OvObJ|jhQ$~MW^>S+{xws;Hi;RF zzYDQl%rIyJY+eegkpXTLe`mokp~wsG$!^}7Ex|4b)(X&00F#1&MuQ3sDzMTZrBP`G zo}CC4s8IIzc|{)d^kqjUol5 ztHhYb7q>H=Tdvk&J0IVdughJD!)79@M=nu-9j> zH>Tjmwr84EN98Te(nQZM0rn+;h`NoFB8!+T(nW)Y+q1r{E_cfnE^YwHZD9+=4JsH^ zY%rt-BQ#j$Io2`9mYU$P&FgsTo=X@|gW58x2}4g9+W3G36r=t&2g6uK8gvMd%EMSb zZ_3Q-0H&|+)cD5pC-K&`0j?j^n9MZ{i}86%GqTdn-!aR!-E8aH$SCjkOcAX_ zW*RM>Z7#a7+-41pv8hR8MI#BvFzfVlI2iT;<)N8F!R~59bM9y>B zKnu@y_Y~<>jIC8*ST|T5&GFdBFQ6VWxB|GZu;2>Uesl`cSq}$u!o^*S^9#mADHvS= zbsde!xNIPmw;;(B1i4;_dk5T6fYI_AEd#XeHG>tv>d@lB5ek()viO(V*h)d6_I4fx zuF-MMZw6p1rBGEB>bm~W%}{@605uW87!&iTL-*wUV@i)j`K6a05uf~?Fu;5?a6WuX z-Z!557Pt2pFS}!a`ulZEZ>C+*2H4$iM>qX`d|XDHm&Cj&1t{%??G)wRf78H@cM~Y? zx~-4l(Z-%>Zf#?%k12w=HaLa=YmS+=3wBIzV4GQj+8pGXDH6j?0ZdCqoLn;j1XD8D z^6!Cyd2X}Y3}3|fpIhrb+l1}S_D2GIg$5c6s<5ESnaL=HN)fbjjK^JP2q#YwZj2e% z#tH|vkNI7Mg{pAz|2u=NiN)_fa~>xK^FTVF($<0M?_B`4$8J_#bniK4h6-oW5;*f= z_Zvk?BgIHH$v$!{Bqc6uT|i8oSSy&~l`MiH$5w~&ps_b_;T3%v(65+Dxsf4t6V>HQH3ZmLuiJj8~Aro=39!LTcZ&iuzE_f>1j zPE#Ps2Y}iXVFvoL>?6wAYXYd!(D$!_iO{^g4?As=8bD<ApHcQnYeDe7efIFup}w6u3WFE37~TBsFcbB(alHyHF5c;u0bSlgVzYQRYXEVq)+{3-J_6JqfE`sT zUNF60@6H*NUjn4*)+pAaf%vWCp_@bzw|*%2wh+6wG54F^$u`jKJ36;q^ITBMW-@5?B3E6mXZFBb85;|nyhp^iWaO2qN zA~HCWm|GAmDJ-Z$LlqXvgKDjyb%>u*xc45y`U!>WV_;{halkd^cLU?S9xiYdhh~7FqyjKx?_SGXu(T177RXc-rIOKPU%|3P zuIr@`8CKGDzNx~LdvXz=bj}oVj4Sd1Yl?~$M<5H~T;AfV#NV)pR4a>jW^X?B@(!>+ z$MBc#g5DY?BP>~-6S=WC$b5 zw5680(~xXg9g_7ego;E(gTi!=Tj|&=-6{Qfu^ptil*W^|cbo@Yz0_NFayHD+av6} zv4NSXaebe0ZOV8Zz(Q+qRRO))&-+kpRJ7G%ST5nFyq^@+OY#6QyR;6rZgfmubW%BE zlSd2%--|HPVl7~7KF($v7d>c<+Yjk6Bk$qP^{#CuDOEYQ!ZzOudu^?apjs&vM{Pe0 zUmrSCGNlxnrnxhu2uqWK7J$!Zy%i9g<=@%`K=qQCgj?CxUnEzwJg4v2`%Jg%bKlE- ze1DGaGRM#SU>`qrEX~xBC`gWq&FT)wmJC6s8@bY=C4ERm>IdNLcn4H%`5fsyleo3p zU2|)+J+H>>fRX+-X7t?U!20zzkL~tPriXa|M5BO&nqwiJ#Asf z6O8}v0!E*^2kOKS2C7{w32+*-xI?`pE|(;s6|YsUV?a@Qo6a>U66edG@yNfT1GC1jCLg&ApTf$!B9q4lS(F+isyicDf8xGOey_6)~YIZ zY|qYJxdeZ?v8jJI0AuriS4wW?C_$$BYUF11zwD2CMMVSbBoTH?QFFyRM;P3uWEkhiI%YKdgdW zxdE^MxCT&n*Akhx8|SrLjwR^uC!&{mlL7X}8h`uZ7GAzQ!j=6V_GT3tj;%GZhN4q0 z3+XXeY$I4YH-~zYe7{Mx&B{tV7aLf<^3wzxR2kL*xOgyB*l&ihoE;}>9R+f=*(;n^X8Pr)}a^&=Xgx&y7mnL3k8c&kFd4M7-)m_wFw@3^dit> z7!8=d!fagQ>W@!hw&-DZM!2xMz^e;juc~0{3g}nhO1be9ndZQGRy>EsIE&^8A5!B) zr_Hb+dP7AkK&(*L5mEGL0T?j;SX*J35YDN5Uq6nc*H_c;vNfGM(jZWrYb?p*yE&)t z@^6mg^bMrhX{FSMj-~!k=1>Ru_ZGPP6 zJ`1Mdpnk!omKNF_jU|EuC`MQ{Y1gROI5*Hwk4S)i`!?55@p zN!4)<2rUEF9}rM`TM_X)?+3+));n)lr3W;)U|J42-n^_1V&TZ_LG;lH*F{u`HL#O0 zXm#B)3h8}hz;c%TdMtFE7aw7+nb<{DDevG-9DKHw>pD{cVa#s+J3dkgA`_ZCXl0nW z3x1}a@^02CTiOBTWSX?AZoOK0h{5nkiL^8K&{ZTgaWh0c7!70kk{0xrwrI zqRNwW3_|0JamUa@DV+6jT37Zhw5p)`7IfDFdvC3v`sPV|_Sde$KBe&g{Nz6D*cz1v zdLRd?zkd;<&)yBaK7=JP<5`Y6$MvF1{(^_u`pWW=HW7`)fH^O@al>oTjPemW?un5FJii@i7@1 zn|{cH88xw+nTGqf;@!Nr)C5nQyo^UqUq=;K>EQZ6u1%NR^f?_$2GoKae^4J%jdJ%2 zn))7`gX@y1HUJu6I#Kw}i<|h_g%Pgq_pm>AAzm_oq0A-E?qmPnN=T;5o()m=^O1Rp z3%CS6@*GiOt4RS?ITJv6p|G_POsjI{UtTUg;erZ~M5-`3^MKta=piLn%5W(W-xe+x zFELigVFd;?lyx^!i{wGY!kYqRHzA-y948*fs2=2LpkPP0h;y!mR_j*|k- zWRrqG!F-N_`y@cMBhBInfE@WK6|^Li`#S0?8Sh6OjP@az=(qs;xKUbK>*(+;0rp3L z`UCV8W~a5*cg6`m1f;TB#mU$HIrdNeml$vU0l)@OgX1xEFn~4Ci?^|H;eWtl_$ka* zzI5c~?C9ucHo2kWlJk1}#aj=@`-^o=?HE z9;iPooR#w;T!M&lV^VT6EvX#SEH!+lsC#>kAVJPmhsV5S@|b~Q>=Q*gDm-6ZAz?lVNBQ_J8&7$?3)G#3}!!+Ocs^z z0RR?G5l49NoWjem0GIX*H1$CPfVLLcesK*1i~rz@*HJxb@ux4G#m=NgrQG|>cgNWO z&f8e|{Jl^c!&pSSZPCeDKD8W$y)U&@71FfKgIAKqPS&=@UbzK6Igh<6T#|!x zM&kjMc1(4eObAUA5!pl?lGRXuNk?O5@Z4bW));nsg5eVUp%yK zLRNGIgW7sGZ(d-H8mxPn_fw}X;o(y^5||GEfXGhATOn7ir+shS>^%3}?H-SRhm5-u zU<;E8*%Kp6U<1s@3g3Hi124R}f-47o>`p5*5b<3chm z`XlTcks&f&AvdL?;(^Nkp4X^+qsd9Ujb+hGO3Y*=vcsuna_;Ov7IBqlQHzF*kCwBB zeT*Z;hBk{RJnJ33GX;;F&F4;%G%0V0eZ(W9R*dzH3hOna)(hPKz;&Ftdl$AM*oweI zg}s;8v3GG5Q(NQGp25{A@H!EiLEo{{l?E0TW`8Vl*s0|{Mj-_u4BPv$4^>xDE1wJ! z{pgAun^2O8Mgs2sUdpBK?dLyrjh2PKvv4x-uIoEoAWC(_7>a%6qC-UQJXiW=0Jbp( z#u%4GLG%$r{Xu1@#$k8tC@|E=An>bSlq<1t=*;rR%tjQ*gHN>`YS$4*9S z8H4@+)9Dn((H>Q`~{ZwoQ%9SfPfBrQ*^UUWk7!2ZjDy1+O4A3-w(rB{=NRf2>`$|zkD5dg7Bx$KY;CNjh=S< zHy=-N@b?!m`t04H6GPW*@l}5wTay|Yh`Gv)EDj0W%79KY$n4bvDT^4CU(PInoR~Mv z*=uCuaskM4F^{WB1Il*H`v(bchtyNvg`qy4G?>4#1G2#AlXtmDED1n@v@<$r%f1M; zCqBr_8o&ayNF}qhw6+0x_?K|zye&ypUbZMvM(YTW>EBN}taCTZTsp9$VDlpz&LvSK z{ip0WZzgHo*UQRMu7Nh%wrZGOoEHS6bJ5!TvZUQi{Agfv#%*SewXNz+= zip8*y&rm8vUH;njuPfWiVWznPurVZTtpS62fs-2tc=*xF;2s>H9x6<(4{+_dP0UP< z?Fn%8fN`FIaaF_iYM@_(dKJ*qs5gfZM3YEWD1yU_<^{Ey>>Y^K)dbu=jM+V^b9D(X zlU)nNOLjAKl&GZSHPs%pYlGp#OWKJQ>qka<(KAlw-U zrE5#Zo4<#ZtN%Mzul_6a_rHN^_A2)7`tL;CNvZ-uVW68!*n0h+W4iX+7;XP+?49~= zGZ20hKif17CX)#OU^bn`pTGLb%lPS!{sGh344?nPui%kK9>xFtXMcjNlP58o&hTr$ z@tgSCU;YKA(+O7B*6^FZ^^fCg=kqzf@%67_`^Gj#E2CDns%aKDd+r?Wz3+bXdOawm z@W$)saqhu~@a=DX3-iSsv)LSPzWF*XUATbRY=&R?(y!v1fAbAozjhU)l@O#sT)cpb7v9F_fB6ge*vB4um)PnL2p~RU_XP)Z%k2k7$9!AILQX`-Biys!amKi? ztctUuQKhc*F=w%sc$}bcI+;phaRy z6ezoPY%#7GngE=E{c;3X1s@?S;4{e;L&HFmi{`SHureZ?eL&&0^A=YQ09x&VHW)+G z;KmCZfF*q9i`T$U0Dtzv1Gq8vbK_QHzCXqIyB9I~!o8r?K|0Rx=0Nf;;Id^QuMH(K zL6fxES{8VxKy5|#st`beD9y;0ghq5B7luYC6vA3*rv`>?r^$7=70c@%jfLG?VE)QB zs?7lg51jzjT6{*i_ncT&D%fk=ao=~ynOn!xGepF$2@q%TO5O$h3Yl@?`I{Z*)*2ZH z#>G5=VgVS#4M;_{a01vQu0!G^)vjUDgTa6eMp$5l=AM}z<5PEC#Qi6BP_uPF+RJG( zW||LSnmtf#{ccLY6tFeB3e|%|wylmEvKf+~Oc0~1))1b3V--JoV*^(wJ#0@j=8a1s zSUR=PwWOJ|33iJbHBgmkmm8v)j=R zferyjw4@d#fj7mq$70r>m|B_E+!bF*<@>rn9t{bn*EM=HN3U-1*pqLg8aA+%hN%e) zXk7b;lbB8WI9O<0+-dOh1#pcNY%n4740UXRv)FHckHp^v--=e}fMgf5vqoyo@5}L= ztdT`|Lu?sdr#!w8)}}Rq%5{N!6H<~2<>FZYY&u3{8g718nvNkQx7J2*{Sl!4fPEQb zV68<}Rqs!1))9PZ`DLq9m~MO-tJnS&j6Q*S@*^zF6muS9ZuYRSV=!A(YKU45(bwx3 zEiR#&y@DbB9e@gx_20g!ZMk&uBL3!UUj^VK-{I!C_r3@4z}W|J`O*b^`&-|{Bac3c zS6_JrpZ)wVrXP&|O#yYmPw(#q} z@tb(|CqKdd{x1HbfBGNeTYvKnJp1fV(5riR`DZWTzxo&d5>-{-#L>SA7~pxx+fXv7z=sI_v9!e&WilM@DS5!0qJLaLZ7pYjNkN!hfwR|`IfE*OtrV2!N!oMG zPWHz!B}B|=2WDyEiaZrFvpwVO3+u#I_~~r&zhyBS8-aSNkAq#61)+iVuFNT!TUXXi zxLCsa2IIc_2yeaR3Orit11Et2fa@=AfEoDguUtd*gvD2$J%{aS57r-;#dwPG-@T2| zGmfcdf8E46-YD-=tviCKXt)R_%OjbLP7TpiEDNnr;AKp1iF{K5$bv0mn^)@OOFP+{dI-Oj*ndn#dWW`Qs^>W>Dd7E=S?poe$xoAXY0SOund{^P9=5Tk`N|Uzhed zDEuwwjh11J>g)#0g?(VW08R~oiV~A|#M;(YE0CCVK5T^!(OY@6S(NB|UZ^(9y)a1%a{V2uCQ5DW;7C2SvPJa>K-mk(;}OnYc-)t0~ppD)Tm zY*O#Hn?FoxJq<|$pyb9a4au_mrfeWnPD+NRX>KCMab%grm_=l}y$qepb%})}85~9F zc|NsosBrr>p{~cR@aBlk9qz6hGIx3IimGO;^ntrJDvbII40{$2KXe)ErzWr!q0vCo zQ@H+<4eVbZ`G~9rm*&8m08CYb`?Uwu$~FCz{1lsk->`O&uMd*qr5sk{;s6SBH3_^) z&f5#+U2z+8@z{_V)tUE(;ruveV`$tFDa!e?K~b*QDf}vq%QnALd3a!{1J3#|Wl?`< z05yPkl8Iixb+e9OC%3k?@X60S0|2;w^(uby5B~sb4Sw{4?_n~TqG=Xb zEEWJQK+?YefZ=e6haP$uM1%_$-o~>({RsyB0d{tFU^yMzYuB#gzWW~l5#i+N)9Cm6 z*=L?T_aJ`v_x=FSKl?2H?VtY{{@_3R&zCZo;U>O()n8(KFvf`!PTKkC zqmQAkdq+UQo8?*WK#H08oo)A_iDI_~rjKT-kI$cT;qbJ4LC#s~_z+P#W3Un!<=oZt z5SF?d6bsIsE$qQAP;G)pA5+$p7fNX^DioaI-t>k_NQPlLf>`UaD?^#YF2;()J?^C0 zey-YAsR}_xDrT>lVP}9+PLiD0M|lwja)8Ss)$Y`I*YONau*jzFVx7a!l>ZD1uQX>Yc;rWK_X^Bu*Lyg(*UMX z4%k{kvjFUZV4=|%2ZT*Su-1WIvmh9w(O5#$D1}TUyj`X_i>uKQh zi5jZ|gMMXj_vsy+efSzs6RalK0bzV$gxyy*Fl{PaJ+QcPz<7;;neMr{>7E99TFgJo z#*{*KQTV!)mLC^q}rSU7Kdhx!>u!RbogKXJ z!gKgf{@}mB)hm~Aj1jrs-~Gw`Y`Wu)`CfMKG zbF)9<>)_x3S}8pG_~ZELPk)TrY?dz0y25li#e62*zzfekcjsh_cP`9#7#q$<{@}K@A8w`vAUo?0$cWjk!!|-GZ)Sv!nJrO7O6{Fz zPH$?*!poZ(cs2nIR|5u)Y!Q(j_s+#iC22N?D4dMV%bR9$_L)g} z0~wBnHcSi+f^8U>0yGRPx10u)tcP%3W`=FtwyRhox&FUW%5&P3VFQSwq6F6Lw=SBi zdD&?w?xg(NG1VL+dI>_iNc;;8Hqf!=s z{M>%Rz?IugCZ-~%RLq@HoEc8cFAFmr7N%G{HJHDA1H{0}r|*Iq)JaZV#Jc5di)v+` zmgZv+`xu#Dm5N$MTY{W7)DoBp`KGBMu8_MqwTnKAtaV}5bLb)`m?_K2XfR`++A&-i z_$~5x%f=d?=s^uN%*B1s+(51OeH585{-wkj+%l~TR?IQp%oe~svqT5j8pnbKVCGpd zwXhiO%rLmV02%9IuME3?jYVTE_Kd{=16M(Kjn07W8E^9s!9)jum9umqF3W})esNC0 z3{|P3S1j%m7V{?gBHnh!7WAxXESkn$BZd`BwEnUY5yow1LbhBN?(-Z}Qw1ocu7*s} z1IyS*E)46!{eYwzibh>oV>u-Yi14=jI#+&-Ci4|ZpfMME`8jz-IbcKb5=nk_RG5r* z^ri&f?6T`|>VtH@Ywbq;Pi@rL7+Un}2Ad}i@c1X*h8i#$O)vw6MN{MYkGC+L53n~= zxU}2g4GZj&MpG$pt%0g?CVyJBP3&9smde-4jBS?dFE5{~S7nBq{B>9>DPH%TF^3ts zTq=c#?AGjlRPGF%>fZ+chhF7`T>3WOtGp_#;4lJ8`SH2qYN1BM8S1Tx0ql z!;QQDNBrUc@jrtedJ$(nehO=<##(g>2j)um{*C&0p?4OS4!(hBPX5;z==J4=eNj{> zrO+P?(y#sZE29+*MZ)>*k6sVDs_@{s z2l3+{{RrRu#@8{Q&#|_)nr+56|N84N)}Uz&?z!h4tgfwLFc^S{aR2@H!`1EI1xzgcB#*qdGgo{FhD&m$(IoPjZVZ1#4?EQ?z zoN#@|DR}I#4?Y1940e9D4yAx!`ocBvlZ^lC*$1&b=_3f%n}aFF-+vpU&)f~Yx#DuF z3nMOYA%|3n{m7Z8V)hkD#xD!7s0Sb)OBQGMZ5Hd&Qcg&tx~>MEPiSFw5^G|HX-vX? z%4Mb6?J4H3?x5ZpV(`!j=a!pYf5}{kiv=NO<1V{)3t%h5x?+rsMK*hxNggR>K!*=i zia?}cjY+I)Xo{7xX)fjAqDdnGSu~w147_eRzg2xMBV$!x->vEgr{Ig}SNz61`j>c6{lWP;BNg)*>E>rG%JvSKre2mQ- z^9Z_v--Ki!4G2xVj^i~?!TEW%?TPtk;{T9Z%Lrjgv#T|o-4dDV2OkIQP8t7G^+C@wy zSuoTjZC+Qt-*?(NThD>WWqrDws|cP3F(x z-QD^4Z1X#1uM=6ok)8f90qPHpxc$pt{xVlp6)zaAHNNtduV8Qg;63^LUEN!XVW`73 zkePA$;065AU;X#^?q5ESkA3zep84{<(AClM3A13F+5Zpmsk?sD=n_+!@9XGCD$L8jy`#jTNXL|=)YgAQ@e!qwL zYzCz@27>`6lL-#?_pq|MhNf9yZFMa!MEiStm`ujdRfUc9b?BZ)@ZB(kNQ~o{C&Xc09NZH#Usfs z7jt&vyhjEw&OTE&^H8)FayCnJgpAFMx3c-a4kMt9%VG&wy;2JdZVZ}>2UxtZi~fTr zFt~R;&ryxaLT)+RN+TUkf#<1^6Y}E-VoS#)h}TLm=DR297$$iuw8CCHHWW-~q@oxFOXCU6Fna*vSI++7xUocy3)2OuI&b z(ke#$P^ba4a=F%|g26#<4kZ`MkVPK9W$1;)`VX#P^vZ5zw{u2Ii1CAZmPn{*$!Bq= z#wKN{a@1I$~s0}pD@payCU(pBEAlg%(tu6XIXAj@V4wVl~J8}8*?wa7z< zTEeGrzJ1K(jmQp5;_3Ef$$@x#d&8Pb0RHg5`CpGwk{yFsIRap>jE4A~-}#-){F#~Y z=YRg^9}2Abp<$@|{XXXNd1R;W^sb4q3%qjh|Kel6+QW$lAHg^N&)4wi=T2ht-r>^d zq3~r5@Wa3U2dsbgm+-_VK6NZQv8w6_rrq~d{C+eXVKf~1<2V4o*xcNTH?r0hwzf`Y zH+EH}OKUhBVmJ)>(Rq&a>e?Ds3)XtW&qM==pdA3##P;?2eVjUdI&H6hKQ858AeZn? zznj~~Oy7J{pomc7cJbTIQi}>t%AL4$IzC4B^^uO^l(W|?<13OhlP6&@@Ww-+$soVE^1(h$clQAty43QN8H|EhuL;E z*IMR0)KULhPN2~;xUn!7C$KlB=zZcOqzpDEOGR_Sa%>Q|?WHt+5$73L<+VW2~; z^^VfQ`@yo$1oll8V;#V0g6*_tnXOQ&n8a$;53aenP{Z;45|B+n#+2oj2em+l3pl6a z5w9|4)Vm9;e*ZE?Zyg9ndoI}1JavquTBFt6EapAS=3rqbK*bCz#rMzWTRCL&3IM67 z157i+7#mF)oynMRp7$(cP}W%Q8doU|V~g4HvI#59$w)LU$Rb8RMYh=k>=Kui{a`K> zCZ+A4Wt-))lVDwwk^tG-NkxN3PBMi^Eol(Aq$OXRpIjM3GD1+Y!XSTt7fq2u$~>$H zXErJf`wI;90*^d#31=SM1=ns?zUcwe-5##~cngz74>zX3#XXDHK-gEx&rR2$ehsQC zP^FUzq3U3wksF6ake}r>Q*r*e-4qv~J9GM`!UKZ%aK~0@3XZVWP%8?{jnXVBP5cNC z$p&VJ$AVN!k@&gw;@d5yz76m9o~pZf`H$|z zKHM$NOCNXi62tOAj?Vs_%HvniF?-F(jfP~i+bwcsL!l``Wl99X4oC$W=dnRf@PMVHJmGMEyg}`)+Sjzsdg@G zxFsaJoB>HC<^bmgi&uAHE>BQDu;%{SIM;XfVB4|W{;D)c5@;!vb~6UTaejNu5T+fO6r|jm;6_WrHK)qajJ!!8eXdl8`4|`5 zL4qZvY~XnL>@mXqLR35>L_<0=;luLLi|i3b>A8_9XjG;eD}3(`0a3|=goS5=>*k7f z0Wta&;nay5quO9tEpY!s*Kzi-Yv2LF^a+L(jM2FE!;_d!1{g0CE^HfIFu)bSNxgeM zZ@N-$E$*uOh}x=I-y8D1tK4KGJ|#OQ$B5K<~N!wbVOVZojIZE%@g%^l4h zEFI$`@$Ah$hi@JXcm2)HIDIRn&@@f-G`iCbpg#iCxA3L4M$`Lru;>`@%~H_|doiJm?;QfY#cPXi`EB0S-74K@vnPQsU{%3NFK@56&Ie03ti#;HnTl8~ zwY)kZiXZ~b0z5tdR@S2|GHGm&bMWNMAY$h_8pnteA!nQu6wm*kkz#OcjK>Kw@SIV0 zn8M4mnPG{6iohnwy;H-(vWwVaX2+ty7o=YD9d^4Qm7vJgSV3v1TIx72?e;m?iiE7x zTb5bma#DcMFoC=WdJh&F4DDGY!;Go|9zM%>0x&daGypcH00G-STL+B7r@nL* z)syG(mFLc3ds0KgLKCo!-x&QT9iW;0r&8dNk=+7)~b zhO=T!+#^vg&62s7=233{t+C*}1)862gU1c}A3K5m*>$jG%--CGoi$Dh9RO;OIeTzR zO1Y{>Ar<7_U7NIXeUBF(%Xw>`wXF^*Zn=Yv;w-*AG41i%_P?xDE(;IM1?8jkY`PcZ zOeg25JqZ+-_)8JUSoAJUu>PG(sJ0ivRhl{&z1D!ZQ{&iRSlZ=2l|HMhHelZrjF(^s zBg|+|P{=G~9UG(p$U5^e%Qns1Q$dhYGCNCsS(RO;N_?)2zM@hyzO;WU<t4XLjagPfw73v>pJTXBwLv(6tNlBo&IBG#f9<;pO0TPc#5=3|l?N;Gh6-Vo@@jgO6@ zEUrpy11$>{KO77n2V5TpumfQUxTs>K)Ez}$egvp*(^ojTA&>e_&qkXzd$E>pZcOm$ zKYk7S_mA+xKY9ptZwRJq@o#r#m$6mf6TjcPHpQjO+nMb8wv)K;DkEGPUEB#bB;TgZ zpm*uzMTFFC0@Lr=(LHRw(6iFrj2Sv3SG%&NTUh%z9b4ujJOAO$?PLPgAHY_@JbR{n{Wv+n5@t2wy@+KV523q%j;GCba1BmhT7q0pw8=#)fuc1(gSIU;YSPb6S!}{M{hMw8> zafqN-Jby_zquZ3pZv3E0#H8|hqakGGRHVL<_#6vqtffeGAHVWkDP)=5i-k#zAd#mn zXMibKA})C@#!JATmr5xoS5+(+NWs7f*Lf;{j=TaYb zOfoXFw6vY7xV|J=8+{Ha+_!~cT2#YuW>P16(M+u+COd}Nwt6tVF{-dOWDN8S8yg3B z@-sh2wQ6B{1mhdt$}N8)lmpWmVBJ0Ah+cMfHUV#nl8)Ag6d{;1vr#tKjt6%z(;?&Izkuj0+8 z@4?=KD>%J!F23UA%Dt#5Idtz{oq&|WMwmao9pLxI1T_WqFxd77I&4ErCsJ)Dn z5=gS(I3Jy{1H%BXtN{Q%@x^Q4Ctk-NKYtFp)7r;#8E7*D zk;3?;E0|3d7(96r=vA(`RzgP4ltr(!bT?V1a50}tDU-F zZ|$QwzYn$A!|=&1==FZNcwIkOuPuz~TUHY+Y07$KG7w!fu1NnXs)jnyLc&HPEj>wa?sAXqkUWwwb6kP>oD26PlE=LtMy8T64|$ z&Atp|wAXhTT^IctmZ;>UNuyLhWTuduB@%Rl;pHm4+wJt7H8Y5ywayg4A2HM)U@#rn z={x--ulCNMKG;OVS3sLXy#B-*PW)hu-a+HngtVmgbZ+!@aNS^KZHSYnPQM30^!-EH z@4mYFcJJ3OhS6c?Skk+FE;F+t@7^utZf#%JyqMs!W1HD!cerO4^Ko)0l1MO%l)tBx zoQrws2t1}!@N9xETU(Bjzm8dHDK!f}ur|NS!vos*nLqM#%>iUnVwkM|UBGw2pbVVi zYErGQz?E_)XCbrLI;UaO8cGM?F5<5IdnaH`1?EWnv<)?gKaQbZNVQNqpEH`K5hHla z21&Uq=!4t2n^`l(A*?k+!Jq=cz>U||J;I|8GG2ZSxG^SxD_}&x#tcLaZoIq(Ho((g zx{B(l^Z27@AH>eIMn!~gt8~pmAFtkaG{7? z^GC{Z=Gv@RrRpM6*B{gGNhNPztOxsbBi zboyDQEAgkQH>F24npBqo7reOIg@213L2KnB>p8#zo zfCJN}HA$n|zD(Ife|BA}Tph$RDMCJmNV&SvSbsTs$-NlGuq{{*$g6-UIes&otb;94o^qp7`ViY~6R@9K9=Ns=1ifxcr^dIM^FtywJF?-Qdy!cuQ$C+L@3AFiqN1 z-VkwiB~{K{CSSqDUHRiv=Efp=0dzTg$7X3XN0jMYRNA*7%cRfVhup*HFlLxKiZF?j zmCCy-U5&%ArmLgt^LHysE2x4$OkW==hPr8*$WY(ulJ7yafm7-kT;#uis)6&rbrxqX z?!oGA$3A({KlY_foLV`B)A!u+KCteL%648`1!=|;zkCh9`^0(to9EAAXV!xvpjH5(0reQu%R89<&|vV%GoY10 zI<}&arNZe}HjVQ6YfiaD<$0D%pQ0#t4eTUKbE8-&D^%WZARoL&%XK$g%kH>2nX^{P z0a@SB$fV?wG~r~jl$?RP*K{uXR$^+FGUssdS_|;*0`r${fX8$6AK60x+(w*v&d_K_ zr`08TIQQp3eR5Z<9Vhd)&N*nwJ$9@aEZO8TAGiZxyIJi+mWxoVTgvB;qdA-ZGn--m zI5$b&9h@c&*1mrg!=LR4|09Zkje~)f$c-=8WFiULNyv?p$yGS()?Yi;`gJ^lwL*>% zwne#}DTf16t~DnGtp~7d96N5odE{`{6N`l7H@o{HNWZ1?Idg81mOvt<6tdv5Z&TD8 zQSMZpUF*?d+(%4B6@_%pr`Qm-MRZeq@4{!GYi%GZt}mhV$j?}~uY{qUZ;WMNJs4eB zU}+rZG6O9U9an4MeoPBIcB;vBI^R4VcR8zBHp9X{@4kR({W@^hI)3<19s#fG?B-x$ps`pqsOuUZ|CPIO?(_c)tE(HwhPsQz z9M-yvzpAQZ-FOUFfGI^c$#ZtEhRlrlY=(i4*y39`yzc^Gz6@CNu~6qbmm?qlJ#G(Y z|NiI=f~&Ok@V7U$c4|xx2rGHB|>!Sd6UO_T) zkPuJBHUS7=kb;29>Vs-vAvpreg%+X%(nM2{ceN)r|$->4+{{1b^f zR*mQ$EMG|C872TLrT8gsEX=hD7B6jsl)~`oyHMXXLMErA|DU}#ZL;LZvct}Gk9bSw zdzo2#6;K;c*tZ5|dYSH7$mWbF*-(_pWVA7pWHRHBl4vs17n$@$e?eyY3o`M8NX=+u zq>MvJlt@iaceD4Ip6PCMH-G|aUvuBz65&@Le7o)uFS80LGztY|TcN5mU&f0U;orPO=qomHL<&FIuwj^Q3O z>8v=+6|7}uw#J+oCWd>G^j$_zhc>e(%4&Zeu&B_w zU>ck)5ha^_32xYB9Lu?#M6_9D>d+b#WXp5op?jjk8-q~#B zw{lkdUX{x~q)^15#DGfnHiIGdNNL$g_Ds)SJ`|+?0E_2|lC%LNVkY);KPVQh(oL~b zsKhl#7Us0r*BOp3^DO#-eM^S_j|YufGmb8FG1oPi>rV01QyX~kwR=DpFeRY|fmvbW zoh58uTf%Daz$?r3K)NP*o)v)ID{F_AG}!}4h?AnJunzP2wb_q;F&T{0Z#t?V%V?P?SZe0vTgaO)D4!^z;!t zg|Fk)Gryn6!ViO6SKhyj)sN=-!N=swx{v;rc1OQ2`r+x;7|^0#!AM(HF*GJelCyl@IXzi!VWIotYUN=2+64 zKPb#vc;MeX2p98#I_O6L)P7|=Ge6YpIpH)9hx+^x9spx1P^|$f8$a~9n=}(tA68=^ z0bDIGrnbV`toEpee2cSvbBk;+r5)ODIpq+C;$B<2_QujRq|usWhC>93i!n0fd!E^4 zIs;Gzl-7t=HZil<$UTHu=Xq*iN(B{qrJeLTDFRa37v1QWmd6#bS|mYtG||zSQ5Uz2 zNh5M;4HOgsmDpD(1`5R>t{u5SsEmRx4W7HmxO@%R*dY)VKo7tW7F2&Q1PFNLYb*GJ zSFYfH`}s3i9~JJsYII-#&ES25(GPE<_r@vE@quMfIOdU3l0{AlN|KJ{p|?&-4|AGS zn%pHl$8IrKMcBv%t%2cKsNft%^UV5`RTgTLg+gU2YlOpT?{g#bSQM8yXHjJ4D`mal zZjgoj;nbkIxsB=7EfkAA^j|p+J?O}R)|`vw=GJgSz@n9gVVhG-i5q&`1~O&UZOaNdS+w(sP<}px=w~JZd#12;6W>JbY#3GT8o*^)QkwB4#$(i? zGRVnI)r_MPFY+Y>9|tB)oeS;8lWdE~7-rkuL)qTJjv?h3Xg&l?$J!7HhE#$Xp6Me( zl%{=$&#gtDuqZNf?!S-}M4Mg+vE4+aI94$h1|7_Gfu5e=`0-7=`fE4A9R`<#T3L2_ z=jJ@t-ad*^)xpkK;pTdUJ2l~6p<&7r=oFxC0hHQ~_af~XZYVVyWQu472}MW}^{)`g zkQVvUifB@NqqfDHW;5b`@r%U@xpi>8>(T%q$&gQb_GN}#Y(=3)hI(Fj&B?c!fc+5x zY^`-LBm118eu5cl5AGg!*Eu;v&kSEhq5liKyZz6xTfT?ET#3najPd?BumpuJ&?yJ# z@^M_$zmI1Z|0alZD@dFLcAkIfWo-ZOhq(C6v-sfhdwAy3b9ncczrbWX#^TZvy1hP3 zU1NKD3xmNB7oT|+>uYPc{N6iw<<-}4`{oS*g!30JU}13)H?LpA&h9SGo;`;zFuk9uEJqn)HVvif8YMs1-!f$1-{z#8m6UvB>l>4}PwufU@Qz#FS=0hatc%8~XHy zQ`^-|%+LwZY__GZIXhkgq-Tr|Zj2y$fE!MY^P~J^B_Eqh+y&e;9HUm)F}%JI!DLOx zSS+qa^jUcZ+a!0IBhao4xKNHY_Tbr`pYiv^E&PoHrdILr?|d(s|(h>%jUh0M_7s7Z|cLDjR?Sy!@Lh_`C+SX{zzxPW{2?qXqa5uI)iW@`&|UE}`!`#5>(6qfJb zN3Y*UQI^=)SO)++``q*R@n8N0UVZH~Oea$uIeH8iE;>3|S z5rnq%HB(#YCCxU3nLP#Myp8|70-PHphCSYtjb|F|lFjgRJ%q?u8e>cXXtg3RDaUFH zcG)mYZJ@LYWfgW#+bUy{YnNZmP6n<*zab?oXIqxG2i$4jt#JBw-&85D1Zxna+!+y= zbaHV^3$;-wW5AmejNe%U_G|Q?KZfr4 z1;<8P=9RQc`UAt^I6pom{XdCBlx!Av?ORL2rdDKdXNE<|-ZVpV(bUb2e3`o%*k6?v zM#WkgQkq`)h#T1^DflB5%1}rH4|m}loIRtO^F~kUdJ3@=Ntc| zmswf@c-9&WGA7;lBlC7+mP0c{@lB?cn5knSl_dC9Xt8wLN++1 zMUj@0sP>*6X?+`70sXGR(y&0Um|)l+;f*id#L|gN|#7r>z{pu{|-Cqafjz&s2z^qg?ru7d%7>g*lC$PNL*; zpvui+xtp6UnC3F1K~C-2LH zX@7$s%bQH? z#S1UKg!kV0C2rlgfx*He2E!qg(l~bf1c(&MP6zw@dpLIDBvw{du)Dj1Q>V`WAe5aB zy1gEDcXn{%#7XpeeJm_2;M&zIm>&#L6b1S{8}&6D4sr9w4J<4!q0{X`DS|Fa+`e@a zM~)oBWIDm_&Nj|pxcCqNj}L`;P089vNxr7m4cO;jAL2SP0My{xLN%rGek5)H&twrw zHlf_CDmV9|t*kK{$=210v<*p6%B!w3poYej;wHa<@2Pf9q{hm`pSx)A!8OMEHUOi*+yRCR zP>s!N^8hiAVr_eby-+WLFCu)qa^CxSf){wU6ab9BM7bLqr zUs>cPr|*!udQ-mn%;RE{crHq_Y>67NVKW1W0+VH$8{6#E)VN0folOkBcOQDf;PzJi zIL`$J*S3Hpa@1tHZ1BM824DC-$PGP97LMasv>q7_tWnAea}q0M?{igi=$TeCWd7~R zYa|HNI375fJj6<$C^k{P9{BbJPSpYo3C>~>Kr2E)g^g^JF69~P93#TTGi^k9m$RrX zU;N;#k0D{=mLI%B-_>OGt~ zy9J|N-?So_T4U`mk793g4kOdS@;2k%w#}Q~Pztp!fUW}d6lkt=&fY%tgVEB)--a)P zH9a$fbh}ApQZ(WgML|{!Z!Lbbu;JmlyB3UA$M3w~K2h#8Cx&Lb;S5Kg7N+~-=#@U` zm|phnF&BM?HpHK)9%{){Kb9c+0ccUBH0HWTK0GOS0H}WX)z_@6e^uea#ftzDjvYUS zv*$0M)3H5llkph3uq<}J-^a_ZzK)_Ou&}TIW=5xDdtaB19KmonM5o&Y*9Md66rE0q z;c&s`JZcR#wwinCx#uw%k5QB*jvP4xtu-z_^GtX!=a{j$u!slgqkb5EnR8K9wn_Lf z$9#Og_|tX1IlI6B>ZxT)2@OAh_K!Qi02sxZF zPvxGG$;wS}+Ywg!-UJnMbiGlSE-aXKfHwBGnh1QdO(Ub}g=GZmNJLh`CR~$QUzIYk`^!;b>-sS=-Lr{uQ0O+BH zstMyO>ljZBdM_RW_e<2I+_msU8b7WCD?%;3bi!LXjv0n73+u!!XENh+Xer%c%6%56 zMHD#;k~9}%BO;>GzJIM0NR`eb!=NEhm3!8l0b!Aq>+^)G8q;grm|ow89(FMQ#z`pI zFU=X_K4`%0lM zZND@o3^N`>l^Q4rY!pawm?vWhdsazFdWqdys?ywT`5_x^0JEIKwbQv%vtKza+_`6( zqpBu79%oYV?3{hgK(x2`bBrn*p5g6F&FX?^75li&$Qt9fC6D@ZK>Y-L`HBfMqpoYm z#y%N@-a`ZH8NXAOr8N)(aQ6HK5E0IvyMUf!k^uwe=dAQczatGNP6N~xmB z3}epNNhVPx!gwfilWp`SwdQL^)3CT!W}D^121A>xZzhQj(zbl{ri1$Wy?dwv=>kx( z4~|@~R*boFc!Wj&GNKWWbOe{|aqSjoo*Jl_sQ z%myEsG3!yL>!Y7MJMTfe2Tqk#{3xJcK(WoK1{ig%P-x)!iw2jk64tlaI)~47K?49> z!Q7og{mqj&^W_!%;S2BMPp+KDU#}j;xK_{}kWvLeVRCa5qe+e4tH)6cx)xN2LWyvn z7nBt#Y8up0$gi>UqArB8A+-z&n@SSnP(e05#;fTWza*}UGwEZ}rWZDNih)j9Vmh6| zuxTCJjTu^{fS!H6^txjQ(=B8ER-%b>Ot*f}+&^8ZlV6AXT^jQO8$ z#?w+H*wgg*VR(qBL51|Pcrcsn(NjMv$YiBvP1NO%XG%No9bo&7Jstg)1cylKi&j@sepPiRB|SOf1^W&G7N`O1B-;7Y==NmY02h4yd27ud1p-Y}R85 ziuv()U#&IHJoQv~4i^>|KiUE55g{%*;Qjccg6xkX^?uypE&Yn#=TTg{Ebo>9mP<;r-Y`GTPh}xlaBi(xW+86}kw#^B(F=LU+D(kcD#N*;DB(n^fO;r1=ZmsMF z43=3A@i1;96#8-jXptf8S!B+BHFX3C(BNw0^;aJD-;lXg>U&oqakgbKOG zKCjxEpOJ_cjVv{Ve(4xLnjhDACdKDevkuqK=2ROL?!MPXL2KaB1%u1i2^*UXh6U9; z1Xx$VS`W9ra}rN~Wf_0)%vJP@DZYF6BqppasAfh-6PRmM%iGxhafSIePeKj4s7S+5 zGBDY2W6%5MHU0cXvRl5jXasuG%Rf58*PRh_hp$Lohkj6zfb-mYpp@7 zU|bQleN<9&nywAZ_7tO^uYmU|^j|!R?)fD^rzc6?#TqTZ8u@2Yu`p#!Vpf#o&?9So z^nI`(C|K~*h}BZw>D!H8L;267@}rhw`>VJ3t5ftSp3p6|fT2%pwXxcJzjxD_1jo%*D%ys zX~uK;=OsF=hu3J~u;JagL!~qtjcKAJ9xh?DNwwtA=c{B?W_fq`S=%>qJjb9{qTgZk zX^P`V_VCu1Z$Ni#teeq<3WUA;JuLs#QS47j>{bPCu1~O1Srf9U);4FlTR?S7pde78 zQOtF~RSmN-0$2Oc$LD~4VJj?3j751JvlffA8c42KBAnS}i;B?XQ`_Ke3~r#=qv_oC zk@ZUZ^JLDHbZy0QPAk#kUNL8~cSV_>L4G>9a_L~U`BAXfUIlE7dF&0KKL^ww7LR3> zl22TU@JWH_M|~cR-+vHbdwAdTM?0a9c&u61WY(cSB4&M@#M%5IeuE$R8Dv+Zo&eMh zi-{DgHk`Sc50G28U+KVZc{!z0GZc>Wzyqi$52wSUs#}9(Sh$A=ho7vl;CjrIj*PD? zjQjpr_gX_f*ouQJHA*XmVVLimW(D#+(QZ9A1bd7r1En)9B9ZFEoaAHsZFmlLL;o}Z z%I$Eia6k#ET4d@iz-HkRZu_<6-Hm2ylfvwNZyl3Sq!WRRW(gj7er_Tz_JC?)%`t;f4K%KHRgZq3_2(0Qv)`R z8(GTPJeAi_TbN0u5^^dxe+%5Qkp6mBuiyf;F}6&Tyl<8xFQc@G9IjERfs_QIxg=72 z4ssPIZZ(9X*xT-8q{Z?G3;*U8I;-Q9@bWV9%;YOhi&;wy5F*6d*0NwkmS6@J?IP@+ zs@ZrW@xE%r=thSwhHW(?A?=R_N0c3t+fUhh^D%?7f=R47#z;bMZlx3@a~>%m=d=~u zc}IF!S-`18>zHHxwSSBiSTRh^Hm;3Gke(vf+W}`kcggGDR<npFbl0{TEPo~lC6y{!~tfTjQ2j~|S7Ki(I>xlAq)`YBA0v+X;Xs7llHT2PWpf;#i_iS6wkv`OX373PI z8Z9c58bQkaTmU>k!@ro4vO)-Dpjx{A$45LH*fDF4Lq=i$)Ld^G^a`f1;qCAMoOQ zlneWymp7+xaEP1Pr{#gnP~17NbS`(__8^#D@3RM{-onht4W8I{ za0XlguyzJ$s2Ef_si(+e^?&mJ>&lsYNk@C16>Na1 z!Q|Q&CO2%p^!zI)p%=OqBnXFM$o~1PXVHVa&`K#Kvbk571GJ2OA+O5^~rciiar!sSDCY`fDBYR&_eb)tCsD9 zQV#GMO0R2>KF0?`1!+E#mXSQ!%gdTQ`>&k`0zu?byTVjhGvxhMcKl8qs33RIykdX= zF;8>2o__YD%oa|@I?4X~l!cCk3YIZ!(iNM;cxNQ7I$`0X=E_4^S#GXhVy;W*>nVoa zG2VFNHcp(`O-#t9lLE_saU6TwJ?z&V+}*CRyvMkz2s^5P(F*8l8;w^eTa+qPlfY04 z`uM;y)>|V~>-$hkJ*YtkT&T=L%p}hl`N%DH8Qi92Pee1)0{rzdvttYskF!eVB?y*V zNo##>_!gvf`#ke&#v5nG#mI8Ro2@|ygWNpSyJ%Ao#C0qUYCY=1Cwkbgfh zU;Hur-jkwzeuzRvL(D~w2=jjqsz3TEn<=1_jWu#?8Z}-{?FN5YvPG(y<-}MgAyWvA z9_G{>?XX_yCM%t1U&n=t4lV>XzUdfgt&{Mts8VbDo{ivQ2XcLsm3*ybi{q}I+@?!u z>F7&|*%*UiDh3q}sAcSUaOQUJ6*r#>P@X@Q{7eMF%`hkhViS6-4FsqRQCd;_9ecOE zv6&LrRfE9jSp7Q`8K~MCRMizhYr=CE81G#ptZy);HL%~)7?c`=6E%j*1@8XUG1L=< zFTK2u!KEqw_=AgBAN6bzKs!UV8mK3Xogd#t|K(#S&MpE)fjZCfRgw)>(1l7Qrb@WN zOPMR>CT1>wm<1czS~JXYSXsD*hkRw`#s-fm_P@)`J{2YED)vrXxE>a0-=~cKNAWGmQD5z+uDgr z;%*vsM(G6ZiwYd$jC{UwVoBjP)08oUOitpi>|7{;ANgV_5sZnoPYP`xqK7pr1SrlB zaZqh=(hnQ+0TABrpiZ^)GbIyh;(-vP`@VI?Fs9RLW}6OkYB(szOXx{OlN4n+7*PSk(n;Re-u3pj%o{t+j1gO4>D40xGH0&`0KN0?76V)!GR9 zXdf7q7Lc=CEBs+%&Lk0XV-Eq^Q|I*bd2g8~WpRTUn3{MTpqWBKEgMVifN<_};XF6| zx<-^acgtli#9N55O!!bqMvsEMR$?wGiUQN=^m9P{q9vqT~@+wf`hQ~Eoh1a>up~n zL3I`IB%uocsnA3VuInC!u_8eLA6)l#W&aR zhc8^lAARr)ZtV^LLpD;2jg|D)753j=L3d(MUR(qh9Wd+EJI6DmBupNYd{a)@2Y(-o z31i;JZ&MpEMH%n0G*?mV8Alt_hRmhg`2`RFld{dy_&1ULDoPaSoTDYbi#CGYVun^OUP}OZ zt{JMJ476~<=1LVwGxkd42gJZ-Wu5P6sT zAQDA}JzPJI3Y|n&EZoW3!VSE=Sp@j@#F>o)#vGiy?a+#vX?D?F_I)CYu8^9iNigHz z$9GK-QnR+mP|NOz<~+|W=2E$Pcyq05vCj95w>O?AhA{@yNpvYs9um$O;rQ4Qd&4)% zjQKcvXdo|&0igCMDMd{$OJ?bEE{Y;Dc8k&M<8`;K-_scM34K*#t~s~uimqc z-UU!Apn}52yNlSkwun((VryUF#>NzPm~gjLsFk)rx>rDT3s70uoOy-BG4L;Pri|#U9i`*Y;rNdC@`&-?o0E1p-TTcV3W6#-y>)f63g;qR5|DQCb%F zBvacPe~RP9d6xiX+6w}Cpn;eZKB|=aVF0$rT7dPg`YhqC&kUfJE_6?nwx55+zjqk5 z``CUx$Vtk2|HlA0KXJDEa47uP-O7A-X-o(*W#Pn42YzZ6OhVe2nVX9}c(H~8gY8{s zi4JO#rq(N+CFCZ(*Nq-nvi)UD+I{|JHg)bc!wyCgV9k`s=So`^I2H-0VdxduBv42V z0Y#{64=FZ<#`WU5m?+6Iv)tE8;)GPZm(IkDSh&rG^AaGsrFS-Q0vGae_px2CsFaf1 z>r#cyD5DcVHN$TKObryJ!t)ml-dBXRb%nYH40pg?f;lz@uPLm&zkq6_arR5g_y;ds z#y@`l60UCzz_kLjiz+jO8Z}1mt%AojI?o?P-R)XT=w#iUvW$+*h`o)m&oKis{+=gR z$kA<0%_agW4$Mx=jGnk=XU~jh$iP++<36`?x#&EqP%rO8of&{i zp&#(`i3DMy@E2yHT$Y)uYNQz!1GHD6|NXn@{dCP0AF_xiq%nVz0FxVWLX3-2!pJD( z4>KnqG>#u~eZpv%9ua4S3!v$)oXJ+bT?M%ohF}{&sc^`Mv8x=b$lQWwLY;%tXvCy` zq>@4dlHwfY130=>w2jM5g_|ttD)!gcl}Xc*WPyWbRqxSISdn0-J<)38xMI;Hf-%{) zAq!JT9-c&6ob|=ay!1vsI05~R!a`r8uPO}YMtJtZ8eaRtU8t^$$0}^!^zO}hto(cl z`_mHJV}BH9KiGw_(hKZU>=ZK@KCwq zpY-RSHC%o*EHyW(#;B&?QZ+WjG~-hQqo>?mhtckeneMui|I4lKBM&)ik!lAZ1ad|~ zvk%H1fof%A=18U8%z0KSnpr~;%&M@dw|g@am|x|j+^#h=F%t8~^p4#?D(7ZI0~<^k z8VsW;M6Iv@(w4n;EVr=W2@y^Xz}IZ-e#q~@6$MxCHqa#jH_v#?7>qg?sJf$(1J&-u z7F4@PEe0y(K($tQ@eQxOg|$7vm=aYNsE>@XumzYK15_i8r@pd+fAqq;_@fUl z;%6I2Fs?L8SZ0B0g_;@TYwM`THF~d}08;_#YUr{^`rv#HEK>tTx07W6*h^-WHR1HE zPA=zV%3@+#+9MM2hR+4_07g7lKHiNh#&m6rt+&@uZ%v@O2IDK6D3A6rc;ggQzZAX# zoXB&Nc$kz9N?eVJz3kk(m?sUrA_va?n}w$Wfvv_4}6pcl`0axFPoq+Csuf>C9&I6$J58Na$ESukBxnD317%(*qZ`K6msUA87< zr3KTY%^vRk#Yv3DJ?vHmZmdnQJObV?74}JiOAYiopl$&wG@zC3ZJw2YAw47V=gWTp zO^%`NStn!w&%au}?PN$zU)K4m)_BqQBGiW|>()7^J zWgnp070HNPvF~yDjGwhH{t&OHU-b#nLl4uok2k}1=i@*Bx&o+7Hfq7)R^a7i)0}Up z@~bg3SGo-lQ}!=vu_I0wOqyk-%XDxg90<@w$YIaj!xI{I_uu<2A3L$v(oG@gMH z?4EJgNV(4#qqWF|ZE;kjkOH%nS(nTxn4wTZyZu#N16%_aPcyn2xPDh*V;?YF0zH5i zCSb+j`(0FjegaQ_Z5jXRr4R7WuAj#b@1MX3+Vvzm`8NpF-EHhu2Bz$wf9W`IM1i!5 z>?+a?S?r%ob)FH7Qs`xcboosc@4OxY5ql$zZiG$^4?_U*a%6pD*OOmFXCy1tL{^Z?W?tj|EWZ)WB^n=q_O zY|}lEpVTOC?qKj|x1l#Dt$P`3d`GdDk|^b)gj|<70w*Go5|9)VDCvTcu)){4VjUul z(jtLJJ#63vxC&yCf!ZLgx1XB=dtuWo|;QkL!U^MDtR28_p zX|OyZTqy{9ssNXT1=Ae`DhpeTQj``9A9O2`8E%CXkYN|apbN7zL3LvjYS@KZ>iH;# z6f7tAhFi9B++6DsGU~uJr@;QehaIWPi1Q!MFva!9HNyFxxg`XYBhEHx&Z#rNa1Mw+ z3VYr5+Rt;SpG4M?qHOMoxWTUfY+N%oCI)xMz{=R5RKQbxh0|Tad_jqk%|W=wv-ee1 zq0mJV%nksP$pl4FgiTtgGP8l!MP}CYsU9h4vvhf&IliUZNe{#UKbhC<(HyhwI#)JN z7%Ec%aM~Km{BYNvk@S)!^v&$;@dJGZPTgU`rt!e5=7Dsp#FjF7wh^1kc4xK_CnZ>D z!>Ow-8)wQz3{4ObRoq~HS!@JC2#j~5o-lOBg07ll?2lFydbnfqQ`{{3jk_YC_F_%n zC(3f;$nLeaM?9R7jP9Z|Z6y3#xB&ZJMZ>nwnpp?l-0t=2u-~hl=ggTCjG|;*xv8)| zvhr`!Bk*7XQ!sd~ha2BKg{Qu}g1>j}8s_yB-@11iyLE{U03rhzh1xLc)g4quVe|ez z=D%bXK$@&NLJ>&2 zxGEWOujjkZ2<4Qmh5y6!f^O`Yh%#2z}{aXu^+-lm$KF^OLBbR1;Wo%x;xQS>)QKV^A zC-IEZGm~%%=Y-5)Hee=HRh@ir5$7F1Ty7c`o>z({aSc;3O2K&iQ1Tk5U@XK9ib$nA zeF-98yU{N#YAs~}EX-;2%Nq0L7-x=e;)}0dL#M7__6b~*&6}agr@ihidoKe94Li{DCCu&^)r}3P z1>a+B8uZWI=z5`Yamc~b_UxlNHmVcvjYv~E%8kgY|7QE$4+al?S}qqEHq z3$T?^sOuU;gt9C@lsVexfci22^6~?vRN_MScyogX9BaIb(WJsR@7MU#n_E~>9n5zJ zs10LhGQq!pRN+6kP++Os1(m(o0rl?d){PrDd;UD$fA?KH|KdxydE*Aoo;!zXIz`#( z;O(FM1Q(ut77N263ips)e(znFy2g>C$8hr0DVVx;?t~^WfAazFrmg`H>Z(H7u`w&m zKv|ZkstU}EPN(x|8P7*_m_y+rKg=6uBjF?At+K_0)mQ2nUVa zNJ`h)13~a1fSFtF9JShww7*Z>b-GjXeZ85vna==WVilZVnP% zrpO3cb1@6GYj$Q}j@ltGYA_U8c`dOK{hQt{%pOM(M-Ol1j7y1NCK^Nxr7St9oWwmy zzL~)aqPV~TOq=kxi@ajTSrb{tOBm^dtkeL;of#R&>(AL{OSyM5fxz{VTG~0_+Kp2| z45gztxChlImKbHhc>jjN#)x51TFHEG0zOfLmpi!mos&5IYb*G>mu})nZ-Re${T#N~ zz7D=lVlND;=@?r-x`p1Q;~2hp9MsdnCE1UG!~jcf?8HXYOYqaiV@^zJpvd(G$A}?v zY^9NmIOxFV!AuRtEBn~~=?bd73aVdV@WKN6=N8=todR>`qim?OTMp$wFDU{Q6s1)@ z<_dYkY>TWCLKYv;A`(-vaLPmt6ib5H_tI;bWagRR*4e`|fAbxb&y}d}?4sVDpg1`P z1Zlf`z#De|$>gsLL+wn_{q7y~f4Y{e2{E#YGZKpe$a*`3vwPeeIF)c3Q(wIA;)+12#Qffs`;GwK;KbVrWwAOegRszc; zGLGH6)&dTQ+82({AD@v2bq!Q?Wr;z@9IB9Yo(~)XC9WCbKcQg6QE?#(4e|H0p%gsC zqCuvg+ru)XqMLfSOU_S-lgA?+c%=pw=L+ia~0b^8V>#s2(AwU*s~aEt#wcXf0m-NK2t8=TI*0f`P38CKl#`A`7f^F z8>2RDrEXP{QpBqlnN-V$5#vUiI2GXpIggn#!o_6wZuGmKwcC2Woq3>Pp=Fr5kb)D*m2;LeXupdM@d*2~N2>nZ-( zwTsx8bV0@hfCIK!+-xfBzk46`?i34eoI)|^G@WIUknt_7lw`m1u_sK*lu9>v?&nH6 zP?LyrkL>Tcy1k>_a;`AJS@j^c}0PjpNy|s;#U?)* zc?mJUVJGqC96`2Yjbur5eb9;gnnO=_Efgjp1}f?8<`z)KS)H=se1Tl(6R})cOt6f* zK~>jbK2{WaxRX_uRJg9e?2BiufGTAjMIp4IPC>4Mpu{CSJc}*v((HW&9Q#i)T8ez8vHDa1UR6{Tc?tiIaH)W{yzLD{Ng}z}mY@*snU+8Y^5|o8oRwxYZ?8x&XQb z&?`Y*Z51U2W%!k563(p*DL+6RJ6punpbItEff-FPy}1cBS3(_|14@+wYxq3y_6-j^ zuaJf@S*+%VJ;01j#0(B0^smJNSQ2w6CMhKtd~uST)Vw(EaUKv1KPrI`VqFq1tz_}ao{_jI&&J|`Q|tA^?&Ez#dp5_O`JG+3jg~5{y*`>uY48X z{_}4@D~;FR_yT_PgYV(Y(`PY17+^da;p){Z==OTJb>lilqY>uk2iV-)!13cJ@XjyZ z#_sMeR##TAv%Q1cH*ccX>*Bc=Uc{|iH*xjK2Pn%9hQlF#@cr-M@BhR9@&G3B!-Cd_ z1CECoFgE88K9K+X<<(g&~(-VAUxX|UJn1DH#?~S2RrU-? z=!2#RVEqA<#6Bdsrvm8iEMP-6e!O?iD$tG7ABm7 zkgEE3^T&g;JyW4z!LBvM#QtBArybfjiC_b?if}(WF40AiL1k<|wK2ea4|x5O!8_Lo zTf2msHEPoZcM0{WDR@QW?q40pbg#g#zqy8^FTRU^a`{=@-Jb^$gOtLwW>9Ths5fJL zdlM_0V;uSQr_edpv;D`+`QE9Ov2AR0Tt95WaEi@&kT4RZ>`5>jOMy362Gi{cw%%UD zba@2oD)i0`vGDRyP$@Hlv)Haoy-A`+TspopHvw~CT{%9-kj7#ms+LmF>Ib(HC%^~H z)Gj-iUG_8yqp~#GEMr3bb)7F!Jhx=o>g!_^X9hq|2RGtmUh&{)V$i+0jsE|01I2EI zrb|?6))d^L5dkc@^9BLc)J8QGWf6-b#EDxpI3?paS0m(cL5)i#UmI=v{gWkUJm25$ z$!B9YF)eF_QBr=~xM$8c!}SXrW>76YA1R4zviV&&Bnxn=l1%TW5lDc(&g-4}qkmg;X*=lC>wf-sv;KGP2Bpd?tog zz~Wqqe%D~W7~{lX4`2D>RSXx$HX5q{>b}Bsps;;qh~>XJj&aq)&P3tbs&(|fS`tP| zTNAQw3EeF~odQ&+JstD!w6#xC*e}S*x`YDFD zSJAn757U(m{P8z0qu1TVy!lqrL)7+l?!rafxPBckz48ifUcZL(7cQbKON{pS@#b5< z9wgdj*$H#?vE#?_wcq}2OvWP^W}G{J0a|Nlw+UN1aui!zTX^n;7jWhM%Xs?iS$z4c zU&GZaAK>2IJ217ux%207i`@7Z{z4O$K0A4FqM^m*Ok@Y)m8Yz)zrN< zeh2#AX|HqARtAe&A2q%gen0yha58lNd6IMV*Fzk`5TPQ4iV94r#FPpc zr2(Z-D4@^;?PR~54)D@NgT*1RJ62d5DQu5B*fb@!j|2N%!pgf#xc#H!xS;m&hcCR3 z3xjQx%AiyR9bKc)2Bl(@no&{(v%QCv@7%!7wN03Dm73>~=y@a(V2Q*gPxRF0PdYdI z2Cd7o%Hm=K@MgeN2K#sSu=c&X7%%UG`U>+eFJbuF5vY>dX;4a9yc0L=z_f+TW8a9t zF?W?)<_waX&um8HoV|;Z;V7e|AWN3NXXlzaO2kE6kO~DA|2mU60z-V3;>)U|9UOoWxHgU4UquwJyPMmMzn0mpRFai%VYdBe@Wa`+78sw&E+dFs zT-YqtQ}V2c+e&h5a0E70Rimz|&}I^WwmjFS8+kAy3w^^Z#yKT2?gR|`r3SYDKYaFZ zDV^fQsfd#2!S~pM8vWb=LRPs)1X>do=L_`98ht&&k-;wBdi@3#7x%%1jmD~b3ey2$ z_s$&d{pAUa#$D`H1#WHBSQ!IX3x$!^Kv@F44pdJECOEVtC`5CM#^xm3AyE4t=9o>M zx?g7nA32!)b?J9doLm5uLUm^c=I%Byu3_A`4bLN`^A@Uhoj3Uw7DbIVgfM;%Fi34Y zh$*EVVrol=RQ7aCT=lGy4vGRESm_<T;;%_`dTVrnm2c<_Opa_PQPXWAhUJ)yf&5x{JxyCaUc%96fdfT;0d+^=+67 zd(i#i%)_5P^AvvP>wgQw;R1f=>%WVq&Ys2ZE&V=z`SYLQ*szF4yR6^!NS4`5DF=^SmjMA}5Yn$*pRY=!{*;^>G8P+9U^0P)_wl6OlnsWRpOrk0 zm5EnS02N`_bsUZ;{7%|Mqn8En(ld+?ZUW1zgk?jhjLoX%qf_t}uzFjObF9ky8ppYhhe5+Q zkSQxHC9FL)qJLQQm3v6(H;~5E&359{MarEchqp2&H5&|{yWc_aOb2Fp57TQ~D4v?P zJ*2Rv`D$l^{`c;n^V8Ls8J#RWEEs5t{snnsZW6vIHcG^7#BbWCxMFVVOdLgj$0dM)~O)A$!Ud zHP6KxeQCuQ_7vtj2J__vOLO~p>y?{0abg=r1GOfY4xw5g?A@Egz3-pGXw<`AUEbZ!lLZxgbp}Cf|+#i}HE|EV_nWTBfh9ytuQ~eH9zXKju zsP61QbrsZ+KF}+~@N~zW&fX#>>n*2iy&T&OF9hL@(den>v|vub2v2<5aAPP3Ty0EZ zf_4xi{ivd}CX-3%oA&-lp9AVA?8{5M{o?spR!wF-q`8CP&L*ZKyNTPq1N@uo=kTX$ z0To?^;t8s?U8tQce0k|@n8`c1d+!K_=W84!a_{&1cuS6cKy!)ISRfb67q@_ki{TY&GEj)31w-$_L3*jLv9 zU`J5RRKV*vOC}Vk;J#xOfX06I=gu*@CE@yAg|$5cgAz3Z)xrde1n}KC)ZaRVr@pd` zfAGR({L?GX;3sQGF{-uY)!lVgP#~(IYR3NMWz@S9EWB|N0aFIK<$&1?xsG)CW)$^bEm2KvrZLO@+R% zTCkp^borX&TRHGNQa_M`_lwcn>Md1OfWwJa{m{ z^wt*iu!rJEAI17U`ro*P;>OPG8B_Ft2PrOM+XT_vjr{)rUdGaLbXWPU+LoR z_fBGOw~O7X!16BR)@Fs9q_A2jaA8fz&?})j1xRa9p>6R+_CP1u(oLst5~c^#43}yS ze-RngjJ=wXLGABNw?NUI2aju1cXvS@f<86}?rQs@DFYLel=}!O1JX!UX`(0@0dkD` zvob6n1!#h&f{zvSixnHU$Vi8AzmR!G*|<1B`QG$k_Nj*f><{Dg{lp|HeGaJG2aA_{ ze`+KMv(U)kIL2cQtqlqV{LQ0xu(tn0^aeG03lsbgw=RM9H}FR9161qR@zmUJVAMU> zl#H`L*n=Lf11nou<&Coq(1)#j{pxwtG%AQ53Lbt;p!!pSsOga%CzESww=k1JE-Uqn zZf2I5fa=gkM6)mZY#=J2D>u!4sNtxSxfDA_mvqs{ri|^*oJJCn!htOT)cijz%}GqU z$&4RPY_ce_&@B4cO#mP&vOa$EtqUig=9KLW+&)4yRsh?GF*3#h1Z#Rm4zSDYYqv>H zOv5PY-S)lEzE_t;Pd9_CVf2jcRLby1bF$FuEdaKaq?_otPBA}NQ)S(iL8!>>cL1C_ zZHt{(ZYiwo8ZdWk8E!CvDQcM2E~;;xz|&t@#eZ_~3KlyPeE0q-?4kg%5t3f(Jgxyu z?`>k^yJIZ;+8K0?&Ote*$Fs~qG1`h^Ql{E}Zpy}ioS)ekaK+favxm)}EyIirieZ8I zmyV(T^c*Dmq-W{aBmOlM|UuIdjo27JR_|q_PEMEX;}b} zA2dGS+~DJ7PBRQpa}A}*8khP0Orm7%mxWC!Uv3ySQFIcfz{`#Wy6*?zdpi6@d9ZVc28Lb*310#(4F) zyEuDx!^yk>Q!3PpgvoXn_r8A$d%HdC*CkeWf$OUi++l^=r9!O>P|r%esVkUi?TybE zi9v=e5Eu@U=6Lhnv&i{gY(_AtLQ}!Oa=qi&56=x}7ND!4yK}&VQQg@EX+R&JL%p&O zGpg)48WVsk8wOkvDQWLYD?brjGtcnj$p%4D_|?MHCdr?(PJcx( z4B6Y;gCat=+qF)UF1BP=Uq_r*IXS0?2jjC%qCTqq*~e2!p^xR|k0qEUxk1S`M!Il7 zbk<^!Nvmd@M{9J%flThf+;s!~^K55aFYiu@^ZC2A$iq2EzaJb_C%{5h{Tn%A_Ieo- zfHE@;OF*V}f1Kvh2*57EYOCoOyC^Lemj%Ju;}}36O$+}gmx5Iev zy29!nqcSD9PpEqn43Ag9N*6c&{1nc7Wf}kBrE56-^e+CdpP$G2UN4M?DHsY0H5({m zOn3IN{_X2nc>NUm7nVS!j{VYEaVPW(i=VYhOi9RNgSMYh?bX zSC2x^3!jUu)xx?uXB3)?%L2*g(j>pCyi}7px{oKIJIih+>E`c?0%^=nYg3Ng#TvFz zan$xZ)L@%QOip(FNzk5i$*0ELU_Uy8rZsvux6%LpeV{VVD2^JBGEs|yJG+$38OzD> zU8ybHS{ggnKxK>t)xKm&QhrO}^BHyu2#)ga1mp(Uw^cjTY+Bo1qfTXMarfVz!p`O#_UkUz_6S#3$5=KB*Si{3Q2?C+=$4?4vVGGXoepej8sJ4=$!uN; zefuT?@Q|M#UDugsd}bpHGH!zMF6<_*Sy3{dYUfqI1W#*BuWo`zQ}DFT&OI6qvK**N zM1qk@OiS(mC)?AnTswyfld=75e(qM{K_Ug^o?E+k#oupBfjE>r!=rKfPKv2Q0qkRn zKTD=$pE;LrKR6x-mO8Qu4+}mBy?^gN#^(R@KZ2-2cOED@z-F(+v%_utoue!GJ8x{j zyfcSu_lKDOk6y#kL!i$3+B)V3^Qfu{g(*=@rzna7lko)IUKeYts~8N1R$i$!v{qp< z*IHw9V*|z*6h(pQbc&^=BN*-Pq1)?WeSIB+`2pq!0}v6`S69&O^}uXURW&-@E~b-7 zkmW0-ouZ%$l`f?e#-kDD=I1fm-$$q0MYr31WYj+++XSGsP3sc^)(;5uJ|!$R%{=W) zoTLjY?1?(Qgn+)(u5GrTIbyiZO`p#i`{ zWSl@HY#1glX9;$eQ))C(0-!ZgD$V^)oOf#m?N*ro?rn5_wjSlyD(x9o*&RxatttCn z(=S4@uAv=YrRfAxNnmOd*6#L}0H^#goXnd_#b~H-EMvj+%wi{{v@Dxc-Jo(6Ph&Al zd*q4yJ$3huqXd^tmWq%L1=KK!EIT~OX*+L_)H0mRJ2)$+fOOWHtEDFgQR33<&qYb& zDpBlZ$u@f2H^H5HeGNe#kI0~98!24AM z%ZW>3b8N^SYKxUsI)7x+>{;!eoXxrMwCLb%A|K8+KMJSs{5T$K`F;CmN%sAj0o2p! zGyt}$sy@-1{3rlg|9Af`?tSx{sNek|hSLfs<|_RCGq$4G=`pa$*t*|G|MkC(BX526 zfv*vPV2r_dJVsfT7>`C6k4Gqq5=tpl)fD^t`xp#|Sh;@>Cr_V()Utf4{k=V$ z8VnvCvg0Rl#Q(~&w+>tn=l}wpvm#M=mC}xpRu5VDqBg2`hKp#v7!dN-gjUvf)>Req z>ChYKK10~(&bkWR65o^T)d>u3-O4%hC2C`-54`npS0x3yq5qjF)|teo zRsz_|tWnR1H?yf*K{Z0Ei3K|h5Z548qX1AlAY~XB&J$k0#Q4QE!saeuSi^7!+##4# zQ}F!~^|y{=ywbt>-&w;y`tm#Yqn}>FJNFl{S7|_5P*W%!Bic-b{SQ`A?M$%v<|&lJ zu46SMI21-TvX7EE$()wT0yC|#b8QP-KVOBZ8RbF;!`F|Zd!p~NnVQolyZaRwR%$37**7R7V<|Ji%99!t{mOze5TSk9JvWmQ&H zuT|Y$z3(I?isFnV%QLctu?LzlFa~rnn6UuE1`PPlcfRqh0bk8eFkp`iS(?SBI28Bh zB5Ei$$*yj)x@+GuvvSWoTg3PJBEIGQzKD}~vbxx;ZdMY-uF5%*Hbq+R5hYH%BLhZek=MlDvcQ7zw_k4XP%V z(@ar2pduSO2xdtABmleFYifv2t7f{5x~?e9XN>pR+&8GMG>X|~+nfmRyAaGO`#koj zH3aq^0u+oHP-tZC_EB8N0kz#gG6CqcfQ2@rmya=<4srg;b-Z|C6`V12MkrH4F$0W7 zDOSI?jGeU}`eh5-1BEN=BitJ>emNXtfL8U4pt2grDMrA7xkuXDMp=SOXUXn9p9RVe zM6&?V*1ekLEW0>>I$}ZKXjF)ML7u)}vWl zLFw2tAA0QINn%eu|kT(nQSu0QF` zp!47UkGTD>{&x(oyoX*fL_X9=Gs3X1u&z7Uef~>$=D+@*KzaK}G@oV}78jSWzqbcw zM!VBSVkD}aP8WN-yGYUm!{M-6G-ZiayX63MnkE1eXw68H1iI8nvkZBbVZ1e}3>VCz z%kvDKb{niU+U*X~G{vAlsNSpH!FXI?JRV_gegUjCcK3FXQSyQyImB3AV>SLQzG3N|a8PJ@hV3kPg zsK9v4VkCx~d6wgABwW9#;+DxW*T!VFn8I;c(a1JIoCp}L?PC4AV=TV8 zg4W86kpm)-vfBJ+i3y=>+>nv(myGhDz|O^cIJmY8qzawKdzgFa1d_Jb7%(*eT2X!m zvzeCBQ`Ia#OKLfq;SBqlBy!IItpsZ%HMP>jjKcdg3pNu0;P5lJvRQ>D_E&(XSl#aR z*mlfAFlj{9NW-v1c6Aps-?$0vju4BMV+l1HGI=Zcya&b9)CjJ5Ad2{>nhQ1u1;2fq zmE&q{rj&%(BZ}p6V<>FR`zq$P23p}|$~55_p@iQ;BVed0E<~foW-fD_Q%r%dNO1@d zbf7A#UcfcwQ*~}MGYTtJC3&CXAk$aZKnFD%P}kNaV#zxPPb?=bpKzJfX3W{fXqji9 zP$W^nXp&P3w{l>i3v^Y*Oh0vY1Fybt8)U$=&J@a7V9Y7jesls`w`b8WGwciqm)C|^ z9|D*9BODYAbO}6W;9!VSjf}In@=a=r*w)Z2q|WME#4pA=>z^d%(x9LVeS&G<`j;im-3k}w^>Du5_#V9RG-@EMxK7J(N6hqKaL|2;c)aU>X? z=$bwq+x#G$zU^4;r_QtL5ul#_OJ-0%Y}sf>81hbB1g9@NkL-W`U$FZ9cQAbKCn&ep zk@dRBPo6~i!s|Hy_HSW!etxQLE-o&Dh|ulz{JlUaj7Av}r7*v+Xe1n!jKjXxcBAIz z7ovN9WuKpADV9#00JxgJ27tvA%OC)Go}=CEn(XQXDp61>F|Ml>FdvV{SZcSSR5g>4 zrYYv;<{lUT414MEVR|^k-ZUK?eW>~IqxPDT6e?@`C@dU;$fr874Y5=Av)=|S`s67_ zSSgk$hHca|J+H#B{M6o#bFv+5u*_Vk@@UI(ApvQ^Gl% zfeEwMUh3_cD{a6Y`>AXsQXbyGR2SsSa9cnnq>;MMYGSn#;Dx74T)IwJ-&9r1Ip^RO zP%e!zyT?$sySVk2r?K(}Yxpmoy@8dPKK{+cr?An_{c&UEm=|WoXzu_U-@l2uS5Be# z)B;ql5XcXiLkV(JFzFH)t@W|_?ixnhLnN&PGtV!ecYfX##B5}>6n|D~zGB%qUL%Nl zb0&4Nhz>?CJR{|{q1o5ecKwys;arI&?mJ(^V&4c=!@%a)M~IX;WHgDI*Pvsqfk;te z8C_LLkr_aLjMlsB==|U=FxF^1{1FpvnPHCTeK)S5Ih=uwiuBNYu=y4e=YR*lZ`5R@ z2&roZQqWkiV49gxYVF6Og4uj(xZg-G?uKV;%v!U5BFA&=M4JaUrQhQf0ndqy%v;3#NHP?XVb=YZMGiZhEfVkF^i>L&tRwfC^Iwi;D4 z*W9qk#0*m69}Wo^?G|CK%jg=J_hTow@yg4$q1s%{Os9l$hES*k_kMH&+t=nXEOYFQ zQe0Ud;@*I9>0pfQu?FTlNLFSme+4F#+k@&ErIZ8lNIc*r8|ZG&Cn=})0RfbTU^qmX z(S>YH^X$!B!8>Fh1|Auqaj1-M6IXt1l0=xA)d03#y(T)7n+mxm)*NA+-$V^cG&NKE zJW*}I;A5AJ4}!f;lEj-6nmYawp#F?~S;sl8L&L0x34k0IJ0wYhlV{K3TK^&imWB4jW)>;$yTd z8ASu%ORm`zPy}taCzw6UC^LDrKnTv`CIC4{^pXt_0K`B$zh(lFhN7x0S2g!z!Forx z#5nHDZj%IC7J_O*L0*>3AY>?zCO}FWR8}l?sR>!4@Z!@NA7vUh?-IrZgSiFWR>)6k zbmkeOyM){S_B58hu!+yTy@}Ib=;L4i^c=2k&SFqhQDzDWin2P=M1)Z>#^#T2W4JZI z!b>NSbhE&7z|N{uaNHQ>pv3-_Eo}b$9tc2dxr6yvmyj;DAx*gg6E4UCQqmz2=@hRy z^72+`kjE_anjD#rIb{TgX;R9_V~HV6iK-dJdI4DKGMI~;5WW+}-v;J}RDX0fOoosK z)b$Z?73u&N{u8< zkS0lVKQejUku$Q~Z}&?3nZ-48SRkTfV=26k`DBIwLO{L0a6f}KIEQgm#0}?IsEtSMuk;_|CeN+o^f4$VqM8BN{>kFT1zj zR*Hh@9uB#8NINCUj8J9@We*r93hRHj zgv}2Z&@XfBjWS$b9b&D|xHKrRHP*mv8_C&us7_wxtmg@`<*sQqQ2k~QOQLH(pLi3g zKO1>+v0>TlSnl zBfh2;#Z(8>_|?oxPuixPpDv2Rkz$Vk^=ItMvYX6oT&J^7$BrK{=X)f0K5V;FK8Qan zUr}ldf*~ZH;vjtjvhN2!*8S^~eNX>sYqfV!tT)5xDJ0>FYVy*FuNAsjriK`-nzoWE z;HFYnHB<0jBWu2Og$yxM<-iRCfJs;E4U3sumuC&{01np1Io!yztppPU#U}2H zykU`&Zsv$h;*29OMTTVY_nbT&?igvvNG%Z`qJTuO<)yBgJm(){l>{J}oij3A4rl2xUM0ac>81?>#+t66?sNs^-(UDtDxY?0`wP*VXZVzelj z#WXuI)<{-WwDH0C)hW1&jMYLBiZ_lX32x%ENM6u=`#>YXJHE9oW`7oA( ze8#g)7lFyl2CC0z4@#1#=9@QppyQgBZq0i$MlGWZIgHtg0k(@?jD*8v@_flYU#yvy z5DE>L6yoe+vPqiiMEe0K?(zg$GW z%&dR5a;|14R)m(<=D#0dN-%MzpjpNCMRHdvD#&wFodcyBg z!|_2~ob(_7c9T5ZH8G7M_+e86KLXSb=*!9wh$xUGJk+S~(boguN8@OcXwHQn{>$LA zcRQNQF;gQabQp*}0$9_>lzulhA*f=ct-PD+ag#7Pq=+BOfz@imQ#G3X)FN+FNouLF zxkE?xR08(e8m9>ta#5ntjFV5l+^vM5LB7z?BRm3oo@3 zGuRfGTbA3#(69vFEMmR_FkG>{Rq?B3y?rF8wgtZu+2jo4#_pIALe6Besw<|tiW;k~ zgU44Gtrp`KR}^k;F^ZCKqL-ta5xQrG$k!NK@6TeqmEqLyt>aH#yM(V@K8tT%IgRZ> z4p7B@RT;n4=cZC&w6=%4-x*=~?K5bv^gxMc=e5>Ap)p)L!1~|bMcFTqc2mr~xQNb^ z^Nj_r1Y%4oIB(LK*t5;3*(OV`o#3ixpAF2>*aL}?jhH!hN(*kXFsK+IU21Tt1BO%r zA_-ubX<{fW1;%Yrv&*QfXj~$>x`UaoT!%Uso7gf6dUaOCQD?;%;cbDMOuRin(E^Ae ziVKpB2M!I)m_i0Dx|`MRsMgD%EVc72DN1eTBgs3Ii>ri9zI-6?W??=ki~#+ykP&Dh z(=4wQc8&`5$U}Dsv<`Y4KvO&-35|O6s2~+Yb=5&flj3QD6{oldN+4q6x}+hai_fx3 z5Dwk*Ntjr%3Oj%b^^9TZ10v0$Iyo?t1KoUtUNXk=;y&Jf^E$foR2}1=qLlN z2FXioc*o6t2sKX=145y>A>AH97fq@|f*ORSw&#d4L|%5<>$BM8p);Ym<0!3PIJ)r( zX^f3dL+t!60k)r6a%#3(n8^fy{UF$DoA~pw{f-_1>W8$1H$b{5iep_gpA^1`i;jm1 zlYW}0bvZr{f&)Y1Sd#&rzcgRM$+(CP}~L!>IvHlLFEd z0lYF)G)G5(nGhN+i>E)w?-M=gh-xRVVt70tC#8&A>S2`Ngzu38rJ0EGkn(WTZ8q$< zEZ#M-0hr`6tAnvnYtAZ7!;FDTH81T8T50^{fvbXIT>)6Ga=10vDF%qGJGGVfYQt8M z_oOiZm+L(Q2QD1T&Is6Rh`J_@&eFkICrBG1<4aXB=B!LsHG-__6dEP@tm>1Cj5N{s z;0oc^w#Kj^oSMy{bA`^z5ZD^yV6}}~f4PE_|H(c4;j=ezdUhXw`TkQ_+wWjp+89!T z(hNlmDuD4|gtd3BWB!#D%$}czYE?3R-7m27!3K6NZ2|yVCp%bp?F6#LPBc?!WT@c~ zbiL^#4drx1vqpCTqJ~X1+zTjRJHp=$#Eg+-+7_6B^R&(IwHd=4H30-~#S`xf9Ay16 ziwi_EXn%~>Pgc?S;a$*3hwMF1U3Uj---)M`*p`%!LPRbx0*?jz8VY7JL;GmiJab^p z%y(9^+MZdn3#Kf+y(utlLR7y_az|s9nfOt1z zfI6tPpI=I|eWNCpyUXBWIFl%1@=XLn9}wifG1bI2$M0J7mYMBtj^XCA_t;m}!L zsyM^wvKT#+^5Z8Q(Yh42s3v*X+65}QufAl|ar7lkaPDhL79bK0L2fiSldk-=Jh($j zuLs3myKCOWWl7fh5upAo@s-hh@x#_NIqoGl81zvVWytkJS||JOcDs!%&kudWDx0zd zDODXCKK%F{^`*ID2vm|xl!@5z_bkmG^vOQvk>y`=FX5AM51-7q{;IBJIs*67F?QuR z>~vH2n+^w~|W(`s=#$+(;rn!yVxa&akq}~MA z%lIU#oXDdmDn-UQ44bb_qQHQWVjFmG*;~QlR`b-#fg5{R6@_wPXI>T&Miub3pqE_1 zu2HdLmT4xg3Tb7cZfq@7?MG#TR=J96@7Nt@XDgqXZNY&;eJ0eZEG1LT@QoS=wz=ZF zO8{f`Kq6HYqiqYiQdh@raSnLxImX2+gnRpp!I<&bVu~^c^a6qN5%^w)wXdJRcq_qc zZ*F1fjRF4bXXkKzXAXnXC;~J?l~uEW3Sguen?JjY(ar!%ubqM(mbmxhyBMtQgHnaw zxp~aJumsgo0YC~Y+@hj5Ftw8FLRva=`24AuHXYpN6e7=nN%1ZQ2v?ib0lVeEwvoWv z0$XeC{%%dQNIHkRnOxyRz=)iPC$nY_-f4z97@_^mTWDY0sHQK7ZGT79(-bSMQS)RA zfEERDT5Q&VH#4TN$xCs0PtMSfA~fcVzKqeE{S(|COy;#W1`8#z%FTe=s2~<@(i8$; z+4P9b3Mhmru7O~fVc*2lUTSX+qCcnbdCqZ65r+hyy>HsoGZ|2#2gYvN#d^8fZx`tmjZN6br5v<3%|~WNCu4MTpp%W!OUF31 zu!pzaxQ^L{A#`5JyvsJB=n?j=^>Ft;E@LoixEW^1hC2&6G} zpgBqG5Nu1{4CJhJusovLI=UxJ6row5E#~b}0TW=qV7Pq&z zv9rB}xw(1F&dwr9(u&PDCM2cFW9)XjD8^$4luH{eVHT1#H@mmKhWNRp>+u&6{rZTksLE4%d)A+OdQb-n+8wTn8t^$ zopRrB`p|cOa5(#LAWg>s!XFn**BCRNZa-z0Tqz^(rh5JqHxyfqo94h0m!m8#ie+ld zb>qASP+jd`0_YMPNB+dyG&1#S{QHexV+b?xxV$^LB-gr*q7uN`@o51Du5@+XA6di@KqtH1s z1g|mf{p}*g8#&H?X%qkbZ@rIy{quA9$(=${}`h@G50{qHzk<7l0qdFfG2UC+eBb% zdgsU(Dcw~nsBbM!*W&`?dwuA!M!MXt*fJFYFgt4;J{!no`m&5%3RD`Q=@%1KPV3_m z$(;kV|N0u#?R~clSyaI?tVy{y3d;K+ic0>H1B?vg98N)oaxCYS>~tL+gw4cwq$&9zQlsj0VRma4I|wm;(T*YV)ns2p+sy z7}p_;VCRfwCx36h-x? zto~k>1q$>1H-GDkcX@+N?dkz5b*MIdDJagd!y4@bu*VnPJzJ@2C zI*0%7-~A=N@Y`R+55D&fe(w+d0g9r)%^Nqcx4VNZ&+ydK=kUS%7Xc8?o_!2=?%YCA zlz8p+H;#cz5AR6ul&?Dc=bw&YcM3Y$bSR9xAM!dXvk#dsqWe&8HwYvnz!!pnhUgeN zgrz=mA1WXn%v=gvS!yV2-1K1VcGc)eCQQf#9wAkKuX10aG&kbhtSOqZrq05FnH&f= z@5|b?!IYDSb0pbjC!belTN;&Qx-vF1KQk4WHhcCKD zex86mLt=o;^G`BnJHSV`6|QfU7?ujly%x$$fmep;Y>lyVc?RQy1SfxI3;)f_AK}dG z3cmKyS?mq-iUBtbi-Z`eU<^yfc&}Rf?b9<@cy$@sY=)S3bu;R5%&SccHU?U8i_sHv z)>4=PgDKY>P7>kdEF<4!j=Iy|3rQyX&V+L=wjx%Wu&w1 zDtbq-m{PteUCS+aWv<`Si6T`SGcYKSUR+21jq6B;rP){Zaat6qRoU;aJa!2w$1G0U zpS0ct+NnuckYE&zB}LsVccJoxxAgL9mk7X8kxI2(Y8YjNbUac~bI}^+5qUE}Zs_#| z_e-vSOESaO+>DxTSLQx%4I+tagt)mEk(1O*sW3MHnc7oGGN=vAJFy3a_FD6-w0&kt zSH18NAz41_B;nT-yD)R&&#d^2#5UNf=zul?Lh! zJa_X{&Op+g3kk4^E91EstOtYmhp@yExfah}Q!-^CC6p{ONQ60T)=Te&iLAXaDdC2| zgc{3EM|?K&R`5Y2^#o_`IkUBO|5SZN4|`pfD8?Q{ zmkv-DuC%itdm1A2i6@`Lo!hr?`pg-;`*(kb(RhsOSFd1icNZ_c`Wgm<0ZyJ;!FxaZ zDaNA_e*V*U@$~ugNRtHDuV2TjufKu6{o(f=pg#Nf6WH6`Ls5+J-EV#aFTVT=-u=5D zgOtL_Q!7Z46emtB@Tn>YvSsahpiIyikurTR85W4{zCS8}!th9}^Fjb>6ve`*(A&S}rh{y&_p~NvU z1pwD~UKQv}#<^Rw29XE41O}0I{I<7AV)u7j*^>p& z;EK5>&rTD<*=Zs#^>&|~EfdWSJp13X?&40Yjza7KQ-O?tRB5DOP{}CEDqp(P8jqdS z=(aU}ab4lgw#INwSeeVAb3(aD=xVbcdG-W4kIjOz6e?BqrQcAElCb1v z=PWH`x`hU|255cf2D0}zAl&Gx^GsHr?9Gyh&=?d!N)*fjh{q1;q>MS(gbAjg$Tf0v zZ2(s=wq>2bok0|dSf&slkdM_4dThXim>$<;5vm(=&2ZF+=HJM0_1{w9gcS)i7pAHjpH_5sa)gjO1L zgPdLw(9VEfi_yu3=(Wc42M<|6s}E5!UrRZ*>nrG zslf!TCM{@k`BUDki&gmGt!|Y=g(tva|3CXq0?zY zDMFH@=ykg|v3wHUZWn{W0JC#*NYfOpb{lVf?(_KeH@}W&o_*Go?Z@W+f5m6wGli$8 z2Gx8R+9kSw`8ZAU&Ev?u(adr;wU4QC@8(2>aZ}V(SVqP0goDHs4O%lb7^+a5VH2=V ztP#wol4=-MlU2BNAU4_9wTCCc&o;YBy>Q1_HV(*GlUXw!3r5X<$uYMc+$LnWUGmJF z1;8##myD5?fwt8cUTFYs1-(mX5Ni-hFjbkVR?_Gqxdclcn2E)1-9k!U>MGXCMR3ID=fUr)pjc!gV4`h0PQ%zP^hSZ+(FO`{Fr#xITliPN0a9Dn_C-(u6VE z+{W;u46Sn~K%JIDdqI7u;@Q`*ArzX^o0&cBi%|C~;#wy1*QA@(raCfoPT{3?g}9xi zl*OPfGzK@fu>Zk2pa`88mXSX`4}g&_cQN>I6Z`M4V!XD8?sLnP;Ti~}ya88eM@Hcc zBS#D_5il%~UfV(I>sO%G1|Gy|I5{c+BzCQlm#@k?+KI{o3B6yNF1pt=yO^UHc98~H zEAB<^Ej1O(4!lvbPAP~DQ{k=2;Q;RzZ2#>VbG8|x>mb+OCRK2|@^jcEaE}KH>>DfO zhp!|E<%pUlaXmWFX+gVre^P1!Nb(&8n$X9o$@2+;{5(2rqA|o!#%-V30y(M3h@K-H zT3@-`chMlA=s{MgEHsn?S}D-Wfo?LwY-@zaPVM0BH?E_V6evdoP6=hMpxZ!yr;R(` zIgS2a2YsDk{eW@h-WYdBjF0w57%2s{GK*xX1Jy~P+8NMFK&fiHcH(Q*MKKDW1FJM3 z)vVfrnA7*24RVT+;BhJq-Que{o-qzW%Q=)432@AEbR{|T=Xa4L2~I4Z zM4F~py>lB+pMM6=KK}yV{qc|S##?XUy`TLQd6wbi$_i#?XYs@nPomT9;<*bK-1gpk z?`Ief$M~(^`4TqP*KzCSP0Y;9;@Rge;LfdEIQPu6xN-eDp1W`Xd7dN7GCcX@Q&>5D z20#44_pr8l7fUBj;Le@fxbXZ7pP;b;9}U%H>+sVGzWH!`d5E9Lp?H-Zq~jR@lifKE zIYTrBOC4{E6p$vyfXf0tS-J64d%?#!UbSH_@v!G8`%-p+HMwkA3Z7`@A#My`pvyo8 zJ_&%c47wp-fFfXK%<&*HAlR_Oc3#iT`5EIa!z43|R9030b@Rv8$c!xuOw~L#D$_AL zKTURM+I+txg%q4 zMgYi|A1P(#&|$K}m6^I`0IER3)r2<@10_N0>X>voz-!MiKD+_k-e6q0SK`ckg2hg& zDuz!EfqTH_Pv%iWs2*-a8|w@eM*0FzdoqJWaNF)_;I=hm1XBA=@oFHW|!Y;^#ob2l-e9G2MsU=@R# zJ4ohQ=)Aa$biVDb>-0niy}1^Kmp3uGv5TD_-9-2N5?W6zK;^1-E3xKO+S0d@8Um_o z@1Q{bqdUlccnfNvO=MS?FKlJhtO1o&%r+$!6B^O3Oz-1nJPVoUF5;&=(=Ee{B?HSr zwsEcC=ZN7_b@rBO097zw!W7E_Ck+nfeJ$`%iIDz+Lv-a#ob2pus9^GHhU#}!u&(2Z zUC7J1CYBJN+p9%<6jhX)9t@X+3^|dXTX(7>dv2Kgy;d;SR`P8dc%IqjP=sY0o3V)$ zg{F{xeTF8PQng2lkuaf^0i9fdB1-D|}4VaAbytaJ;oV?#tl8QEfN zfFn-;BH5&8&xn@{y*GrKZ5;xJn*sL6&8e0%+tO$05upBze8~a%hrxA@k0Mu(z-ncw z(OzkdDyK$d0L*xW>xss9H0N~FS^(K{ont60KgZ2_shZWE-o%r+YockU;L7P&C=2dJbU4J0KoFelW3F{ z0(kbq^B4{XP)UN>**QG<)YItodU*8p;8FCn((cKIWz^WFoYL}Z3WoW(nbXI~78jry zWZb)z!2}VImB)-DhZSr5K|!Q!(2cGyWU5yOzSS&-P7jIGkU7yLB4H9$sk8X(EOo^a7w4zLb>v|I_TgYVl6Y$7edaplsjYTHyMwku?+~$pV~kV*#2OhGB?yIaiq2Btg{K&^UEtC!g=-rc!#RZ$y%vg$P%IOA+Y0(4 zh0%73uiFNC3eP8CCD>GDUOR&}I5R&Pk;M(Bnhwg_hNwbdTE_x#v1v?sz^TGf zBMz}!yG`h(1v<$X^PLJzf9}m|NZJ}@N+=VBGAHOcV7Qm#&UaR@x7Ndf&at^qxV$#P z`iOC;OmeE-_o~)k@T080H%)&E<`C)%WiE4RUt( zxi$2`2xzC`J~=%gK8(FS3Sf`NV`Nztu+@(M^=Fi!F3Zxf)W7a8nzV+eY!GNl(LQww z?Xtu_`3HXwfBn~A!+Y;t#9%nYa5zFMZ=ooQsXnV+Fln0NKmCV)So_&D9jYeDNZ@`M z{H*y?wpwlc-tYgxw8-dKFMA;D^rxPsmH@GC$a(b9p(73uPkCCX@d3yIODo)K>6qtR zQWoJrT-3EDpcpl;J}G;RjZX|%bsgP9Rq0JGJd>Ds!J5QF+OiuSH6JR|G2xC|(S=^( z7)Nr{v$$&4MA#hgb&Z`=mhn6+X8YJ2^9nSJNG-M*&^D*KI(`X>7#=X7wPC&mpydiU zRLrFT_qqZY+eT@)KBY>ij6nsX|LzTp*7nhRaRsWIgOsXAxiuN# z(e!K38VI3vDEC zoW|(d7KYb$u>CjJ(Rq3iou`&Sx$@5-xx94M$)I70^zt_HuU`jk3?j2A;j~TBvynpA z@=CGFMh)Sm4w4%s3 zDT)>};8siHK;bLFv5OzqZ^HV~y^z(oDo`&Mwf zbo~ewu>4Uny1|(oy}fJ^)Sm+(%g*)uWMRnX%=_3kf^46zl`}etMkgC%u06z4XE*T1 ztGAGLG;~VPnS#z0%2{Bro#F2HPGV=Zhl4W1&LF|%^&!?rjE@E*3^V~Jx)qr2WKgXX zl&6)8s?8{7CowBYm?blCAYs1Irsg_!zI45s^CX} z`ZM-rPq6D`{yOKVr$8@9F^F1gjFT3|b5Ed`E4=i|tN8H4OSpFJx(HY&Z0~GOwM#`& zfHk|=s~Ei3=OBFik3E*-@fZXkNmKXzvMhrcAf;4zLkgs4k`enfeSI21wds^cUGDqp zPw)}HMN@F!y7Yezm73BaRVOt>RC0rZS5QSyu?U3?XP^b1z=~4?`e00Y;vT;0nI}5| zQ)Ql3xwi;zMMxx>BhYb-hD*~v*yE{1^o;zuboaLN<2Gwr$6haH*Gl%qD6w`mn`eK$ zp_&rgv!I$4x$J0A^=d;P8M89!=Bpe_ZQB9C+%>|eEU@zOWAp!|VWMKD8bVeMB5>jz zef@hF@K1!XDMz)D(B=vtF;`vXDic^MEX`}Y+19vtjj*u;3<{0M=5iD*g|er>=@7g{ zSpU`{Mr$c9ytR!#ed~Sv*~N4C<@y{7t)LVk(;Ad9Q~~sFu48MfkJ;DGB3tTJ1vAN_ zR0ZrC%UGOPM%i>7+3^8$lTj2|)p68(mCL5oC=N#0ySR$M>JGAnE_$z=Lek9wQpU&j zvWqBFWDKt|Li_v@(&aAtAKb(KNB1yV-^a}JCy^|4JX`G=IRNdCk^jvdq(8WYq!h6> zifWQfU$Gk}`36&MHf*G#D0kPoWD`PW6;e`4i03m&+($Ubouy#Dm+0_E6gAvOm2l=} z0pjKFvxu#t2BkFBx(`<3@5x0aT-@V(L0$C_zn5=dTA6*tL<^;kWy!7i81Y2oMZ3@T zSOzK$mO~NYN2O@KUDe`?tn;?6$D_GC=_49aOtpk0Z$`$>PokXzom8Wnk1?MQaqjUA zy!pxvByDzJy37?y%S?a!G73H@!?>My%M0MF6hiGsACMs+6iF6 zbkj44!;BAZl(9z#zEMemfQk18fnqj3&TOtd-y5!V+3^%jC^@T46ZR!|2C4w1M_`*H zuan5|FYYvIF-G7_-0G|WN5*RQy7VTF4R>D6z`+p7LMJTjrU1kD1F&PDZR>nzAjh9= zPom#QKy6QSnx-y~`eA`J_k+{Qvc!1f4u-d{Vyl0E|KU4-fpJloxgT+*@Bquh&JV)5UN& zM4so^+}uQ`(?MBOIn-I6L+cVsB~Vm>@H9=`TzjX}eTd=bgeUT+cAomUL0R%RA;*_rdGvl8dB9_w>A=1RtFGKC+t_L&<_!=a}|w7Zkk%du%v-@q3ftPyBVNdZl^ z;ch-~QvRhWMzjG|%1GEq6wBIFy~>(b2`QzMZCmgOhUU^mK54+k-uT&S)WEr&U53_R zMGj>6EEDUJ%mOTH;kv5bcKj@N1d;)OmDmS=2sMXu>=uNx0+7_NJMH((31JHYI5F{B zTp&xvP$h#BMn;6fM3QM%Xtx-zpVzo_Q{m=1;mSreSFJm3lsTa|IYM`1jPl(%j5abX z|Lz9<<*Ogy&wu$OespUY!!oNtH8UtJpolRT>|y6`uAp=NB)aF9fmRBNfgD-mI_q^W zoSHEKU|Tk+p&=v_XzY3jSpPy}yt<3+i+7<%1-j=>pnYyJjKYfaGAv!FWxN_yZ1v3B zXED6Ch2hmLZ2#y6I!`a4^Yju_tCA*C$xv$tXnpkxlB?V9M3X>*&TmafsN?l!uYbo= zD-uRoCg<6yaR3c1ZWAPqiwBY%5o9%T-5nAR#03(-Ni}%LY_VfX>vC=jj!f~-_2W(O zdF*zFt4J$vMg|sETFQe~3n_w#HF-<}iLYnzWi+slEwTX2rnyiJ$dO!pRzBY3!j1-s zt8`5lH)@Ky(G<;k1Va>oT8{%myYLoEL0TN78KzYc7}<0yV|0?TVy0U|Jp1GZUVG&x zk`_a!fKFA_bejeGTW#EV=M;7~d+3)f?2Zy#UK?P2z_>Cjuv;)N-vynXsZ=ZNwEB}K zHPb6^rWP$|mLm-IO5p~DV*I;kw)&7=OKJjf6e=E%dX%dMtgJblW--sPLkkFX2)j)J z*iyVkWnEyc>ixCAl6iMKr5iyk1sAogWi)ty2+v9J#tcsuH=EH%bO0nLmw%PV%6Nc>Ue#ycILZg)Bu30obf7p+zsNs=JXTgb8uWm#f#a|2~jB5$>z zogo2ZI2vLw9HP^1V{dN{#EfpQhn<}r=(0q&+q*yYzyrgwN9R{hG>CqPLG^Kr#rOfi z=&2#HojGbSG^0s-KvR5DilkUvH{A)@8a|?X!kDN#XH1rgiE1&#)004TgL}BtV%nK+ zqC?`eCb7&Rl94mtL{ot3h-J40pEvia3R(+3omClE(rLv$vsa74)w*cMEtk5d+H3PVmVax(n zIy{6rD3cVVCl&+95<U{lRs@%}tGw$g9>T2;H4AaI=fz z-zQl9@+SVtg{ydaeh>flmrr76l%v#y1dMhHsDzP@8U0_}#(1NT*_T(4%yz5=dh^n< z-53fBW{L-cC#_IvrXwPzm>E1QaByW4dzaRLJi+X%r;(lNHN?#bCYMEQjCh>`appv{ zo?bw*(8BQ277i|NVsx*MndeTTHQPdZX%pGkuOZzY)|KbZ{aYGyh5JH^Vu6hC5sPM$ zO+l`ijgvP85?61A6<#-rqSSzN(nn2D4lZ+Em4 zbs36dXx(QsjW5kEpWQhl#|Bg~hb>Uqgf31*Q5pit1_)eMGc`0qFa{f!6C zfKH#?YeA@+7j|-PKZ0myof)NplW-WZp#hm?p$zkuSlcspuL+~HEZgpjbM2FD4XCd6BEuM| zA}A`65m1zj5`IGA%rc|f1}wEaWJ~)TVJ98N61VoISN~p9%qEZYtH?j4-K6)>oM(gZ?$#510E7gIVyVR8|$T;X} z1=pSmCA=0?bEz@j8DaOm+Ze7NAY18S=7m#GozzLC5#=Kzj+f#3NF}6+6@YA^gY2y~ z2G_SS{BRTd?_5E*P-wruSpi(C*wvu<#?c*#e593ie%2f|3M4yPQsS-e5&Uc~zOXkcF4kP$1bC$lALatw* zezK0(Bn{7n8UYQ4mf)%>M-5F(J8{u5GVe|@#zJ?1=O16g8?WC6CxFfXohTHo3QX^> zw{hpYr?J1&!Juqmd#G?_b%eD8jmzT_8$$-qwvawC51MU5buv&Z0cEOc4%!_QMqdmH zBf}WA}%QsQN1k|n(vqfR9Cui#2=QB}t+#iAaWbMdjikAF_z=cnwSTlG{^39Rukh9ve!IR98l*KZz4FSD zK!CY21Z%h3*gx1utKD`CwUw>S%+7+j`frjXn46ogW}<}w+3egLvOLG2-v*eDT5rZ1Xplv9-{h0`j4(BRblff8?nh@z{ zmQo^omH;VVrv}qt60BykeFaGnO@1~y6sUL?b_j6fK{O`MT?38BS3Bo)Uw^15OT6Z9 zr^sbB+xrp;rzPwA4;xpe(CAm;hy>K{Yb5f)Wg~{7#zO7HXmKscQ5o}k?+@nlxhMJf z)o%3^T{E@k01I`nXwE1?J7cud65XW0e0PYK&adL-=kIzjohp=V1wBXDU+v)TJEyR> z-A2F6u{$DscxQl(0dRG!ac`)>-5kl|^Pt%rs+~dQ2`EcKFh;^m*2TJMG#Oil2Sa{K zg-mUn6-5oqFdyO`F3$@@7P>jFULLJoLx60CB80=cjXtC39$*Y9#au(weGW%7NOoOg ziHSn!UKtyWIpnX!dYN$Fs4@8fk4jLXp_Y0;p~3wTbpHU9CE!+i%u4Lz$-|`)nfHu% z1gJk#Uslg=PxPn4dG3(w@XgPC{^O$^@w=T)2LLeW_c1e50p@P^@OfsH=fS@nyUakh zTm3yV?6|bi2P%fW-|s^+V|I2Hncda{U3>R!vvoXn@>2k+C;FGuakoOhvi+f>+R!`+ zWK;AIZa9bXKMiuMh=MqFS79QkZu$(znU}Wm?#VXX%^>{Hed5~O+fm>@o-;(vpoH8^ zCc8OkpE+%Z(^w1BF*_dT*ewnX$mAR*{Oon`J@`hyw$f`xHHWMWdrXMr+)|S5P00wM z@fn%i9I}PJ^6avmZRA8wm9laBRc8D4?;6^G7B&nyn_@8u4x>WpdP5nQs_3Ci5fYS8 zq>&Osl~uHs)8gr{^;}# zoSWIjU)*>KtNjkfNI(Eu2}7v@s?Zo-Tf^49eayak2I*oKl%|11I6zz+F-5_e3TGT; z3=(TbIT&N_m+RQSwuz*hV&=6o$d@`%L28=~%Ew#@p)w;fr6Mw}bYX$$lpFm5`7gH6 z{pJl&zX(8;0}0ZEt!V%ma?A%&(=C*;vM^X8GaqYwHY;N_y`KEmSMu`*KP zaGu-!o*ny8FmiNpnn*T~`VW3;s87BB> zwUT*X9hX=eYUoae^zk{+Tnp6Bq1p*3Pt4c~g(p`^`xVz77Qy+(gpPucgEJb&IHJZc z%V)QhI8np%RQ8EugS=9KcLr7ddN1?uqr|-_avHDgkD43^IuU3}6^K~OJYnBujWdxM zZt$z%u?G5M(7d^CW(ks37hGuYUU25|$RB-7=>88#lZIz%ust>U34s|uJoD6i=x4g0tgPdnOS8capq~=mKtwg+xrivA1 zRY6)sGDgc5X4=PTnfD-y=BOR$)`l%nX6BBe64L}AX?ljJF<|88Hsd#t&nhD|H#Pz$ zx~BwzNrO2xpi3cB1yU}dsI1<<1WICPO;8E&?Biyx`WoT-MuEYs!tzXpGFK=T6=wE_ z(EBai`TjEIpWVfaFYMrn3-94CZ$62iY%SxUOp(}mc48z781C<3=Z9C(y>JTcC+479 zEtC5lyK;Nv$Zpm+a(A^6tj64l%M!!Q1MK|#4n|vjw9n3>cVPvplZ3O-wx+knVAA#& zkqq399ym5C0s$pM?GDj?=N4K&-+=30Ac}XAvRrnF$ih>A3>b|)8>qfUg=ANW`D+&F zBFLTwAt4UJ2Wm2QQI%6eaT_q26gJHilUH(J0*FK8f^6qY`H%z-cgqpRRJL*CT$=qc zQn6tec_jc*;+qDsaw)i<$FYb4z^HoGH<;>8!T8py*)_+kjznnH!^^$lrcWRw@Y){F zl8Vn6Cq5828e6)T7_vA|fp%J;tqLr(5Af=9ck$vgt3XPQnI3l(${u0wRu{Lww}OMc zHU>J!)*!)$t3zz`8J7!<^??SrQzTE!gBDs)-3*i~a7sqzO=xtpj=esd93uPx99g)N z^Z;>Q0c^}9o0?OBwYk3+c&A9m;xf1vx)C&c5&|uE!2JTeJF0##+p6vtirjTTOq1&y z`S7bXst`3{q8V|yQ;O^5Ng~EK8Wa{BvG{V(fi;5Z6NzlR<4y?yqG~{wQ}SJ|<@TR4OTsA>HQte!;J(??F?& zl8)0X`NWSjeSA#)01qsIrUd!**U?ee#U$rYG%8Oc3*0FWEKPZJ$I|K;RJ%^N0#sVd z<~)o+KDzxeVFQh_Z?W-cpP8w-Hz9Pu+BgPRpi(=zuLY@Wfh`L;H3X1$IG+WewKLXL zaivKcP_3McI0W$a@^B6uf+c85+~6;Zxo^1HHOXdIhH6HxsK}Txag{9$>v_XY-U=8K zwn!}?S$mEp(~iH3nnC+4&4* z3n+VpA|Il+L)iSqJVu*27GK}OKYQ{ro}S&qS8hIz?QsiWLZ&J~y&{0dL-aqmjbd{T zb1$tR?Y5wmf`*UF@r7LIctzwL;UO4V9+x<{xsBb6cdAjMmrkMm_&g}_j<8hAn1w6C zeN9dw@D^){l_(lDgS19^b06KWUq^EHAgbHztmniwF0%*nO%7fS*|sz()7H)7dO#rO zdX#$y+VMiGC zL=AFp_j|#tbzlK+ve?Buw*c2ovU+(PQ6~d+GGJ6f?~TBv26c0wmH2DCW;k|8{#@ga z0_0nZ?F@3s8>HJuKGTEo2nKKWtIv=tF?Y^^GHViWo;FwdH~<@{l6$NHwDqle1gJk_ zUqpl?Nl+Ap%cOp2aV9@JnCC&_l8O-W|Wb3E(zt@KBSo!+`npO!eVSOL72}z$PTtM_#c2 z(z3hF5%6?*wb86+z)Dk?NzIWu&(C%Glca=%(J{l49f?4_boFLsjG&CZyeirKb3_Yy zxXaKs1+zkEW@edud1*=KZ-RoN%H2CLU|Q>{slXtlijYu=gfxg4rFmD)jM*8++s`vD zUL&k+0K;*KvkMtU?F7R_VX!pB-0m29t&PDqm$CfnF23~iDxRC&!T)*nJg)4`VOT08 z#2{4y86(k*@#+?~b_bYy;Uw}?Gtg-U4FRkTdu;tSyyVz&@(RpVw)F1ByEwSMiFBcZ z*_T$3Ew*a~8Vfc^Ml#h>Ww<$Z&!wl83^gc`|6~=d@7;nLX;YXRFli*%Ue37uFAfPj2xDgVxpZ84(InZrKS=1r-^mx{rwHAyq5Dz0!LsLSe zrNOeS%F5G~XvUeiAyOpRWN)k#M|TAbvyNiD*q_@ZA)h1fq~{zo?v!JpL%=HYvTZ&z zyOabv{I=$f6M+KggK&OU8B;DFq!+GcMS-a_Ig57d%SXab!L#s6%<@`RKQZidE79nt zBP?|e@a9Xm@Z7n3-~`|d;7ppjHBZnHDf*N%0b@!#1gHh(va(hgS=+n z5SnnJ^8{+C4K5hGI|TMeKsN=l1W1&3b`Nd2g#f%jL%*RN1&!JoW6ja?lW+uZWyl0I zmR)vkR^2f(usf)l0jqWqsW2Y2gMu)mf=oupR=KIii~RNPO)bjS@g5HFj*`k~t1@ z?TUI)@G><3K0v|07?E*}y_pQ;QUAUuxGJY!T>)qlkz+w`B4W1K$+)ednRfvvA~9PH zm+`EfG}_ELQwWM&1~z2;l`o8xM+zR~8YwwDUW>#`wJCrT8(Ac}`jH*2mSEZtk7TM& zMM?yQIjbdcf^~4+XyePQt!KE3`3)dVR3!m7ze`*Jku(EdKF7Gy0j}OAT-zwH&?PLi zGxTyszXQxEU~ZqV`r~=b-Al3b@;3hTnGf*QJ7@8|wbR%gXO#=M_IK+8Ut!omi(8i$5vDqhFy4%Ob2)HsXu{kKgX#$#UAv?E-WTBD?^Ue_Em2J>M3(0a1 z$P|!9fRy~rnxpupFb0~V;eUka+pR5s(!FF`){`uzib6ky_&!ichNP>vAEiLta1rN` zQh*jaK*`YiLtuLdv{G;hdh=zroGf^M6rPYpIT7Bp9G z-awT%ZN4X))Du-SM}Xm@0QNN7v$F3bNuag<^%+1v0@S~{FKbF>J167u_@QKUr@8#U z_8)(VfAtsN1E~a*_&@*RKYIgjKYO-u8)p`KBEF^mwX?mA;c$p7&#<+*iJ~ZQ=FC}i zx?M1{>pJahZ$T-Anb|q)Y;8d$33@X#D2viXli4{srBoG{WfqrRST^jPS-VBY%%5;R zI8XJ8`@^6ysD1>dr$6cw!1Uy&K={z+da*irCW=4Sr{MTg@llI8x}uaav(k~HFHOfh zQ^Q00unT#j^LLcrd#G7m6HCqlP#Yx4ZdTf4D4WJaY1vr|umKqrEKJ5Yh~bJeot-?7 zDX6trd2owhMq4*#9Q0=N2jmhnVB8@Ki8hZ>aYhWASdlURmqJ0)eVfd4lwuP3bOeQbiybp zfewZXj3Pm6=wXTd>zmlSco&o>n0e(iI*-jq(r14>JbM=}YYHQq0%I<}9Rh%%Ms{r* z?f-BcYHKi|e@BjiJ;Wt3oPR~^SWR_Smk>sM2}yR{e~4U!4n>iH^=xGl%>Zvk7J`jP z8)c=`6y7HqXRjm1n_Yw*HFICq$ASEeED?cA7G_@L8dOrH4;iJ!03}}L&ukiB%I}1I z?<7@K<0v*}GC))soCPzbk>;GVzi3E#&P6uHrE1&xd}I>`u2-2;5#)th+w$xRQYQ^I&gp=c9!F3;lj_fKIkYT=;Baqoce z(drQQ44B>;mC%U-^>SqA7op}`Q0=TTAX{vMM~rfP593Sspe(R%CEmD8O5!;@?lr*I zq!8oyLsOmFmg`1fO=~ze@qrYptCUaxSmlFYj%#CP2|>-ZfmsG0jKNz2AXDH@2BgYm z%=^9y2LyGnc9`q4`EfpVQ;opVo5ZU-;zPumfuaP4MP))}e{9?UEmQ5*FmY(Gc$_M> zK^{I0du_*SZ9V^JhWa!3<#Lt{nESP6quoz-k@y-FC9*7WfLbNh-~Zx=m+)6Vxn{Cz zNxWX;fBTa!W4_m#xXtf=`-~YRRgVU!^t}nnX`}M z@<$&608X7+!QS334h|0R)RRx*&YjyR$`a?FdG-@J?)*Sb*EFEoQylyWUP=@^v_DCb zpQhf|oSw5Dh>1}kK$1$QZaX651R+|Eg4_;QWfFp_e^uT|h) zL8C;50%=0{|Ji%99!ah=OYD5#HFNjaBXZ$VNitbv6{}hM-qk&VpsgW|AUz0r5-`B% zMSy;QevtH{CqW~O1{h$bq3)UPp6cqZs;TO3Hf!OQOfvV3%!rK5-OTQ%hr50Enz@HZ zE@YBS2dWqu;cjlrwQKi$=X~d|bWWxXpn;R$TQHv65v-1Yw?72#?*r34U}vpDV;N0l z&}_`GeKLdWk70kdgYB;!;Om#~<4a#V#J~LbGJd^#9!H%)0|UwnkE zuU^FXg>~?F1j`1k1Q|Gh4rq^N*nj&5jz7MS`rI1Uzxh0>jfrP(QMO3-fO7_@dJetff=0^HBT{DTy?pZ`z;4I27Z`7!(UmT0KBY#_F89DQ3BgFH%L29|inF)0=-! zMd|v26jPu2>K)Uc1DtS}!G%2a-8&h0WsEy6>xy1&*P+)#UKD2Z-;|lTlH&W`YgHsA zRTv7+w+6qAntPl?;<$WGvR|1{XID@uP2E#VarE!Fn() zHKEybS<`#(Y~sc*F5-AL#&J8sog>0~H>cQb1n^IiQyf?=feR&&Zdjg(RuJ1Mw z>tjas(kA4&b#%86(7v*j&Kv1s`n65WU)g}!U4GIE) zh6#db=&85YS;&JaczXpgB0`(MQ4!4{ea87LZ1Y*z>%&zSwHs={ji`itM)JRMUA(6uc@fWQCsudunbg}wXt@Q?rS z57^k;1T*8yuf2}7^>y65ejPV&T!&bT(P)gLqeC=JgP;HGr?_+H4u1THKfzD`^55g1 z{&)X9hy*|V%fH0;fB0j3@ZP(aPN&$re-H1!_by)i(j`ofkMP$&{VV**fAimdj==N~ zHhO$i^-`|g^rRH?^yD@{ryujee&A)V-9lhGP&!_O&d(%c@O{z|NSEKMiUuM>*1M6t zrk+{-B2Zm2)e>2k!EIz#$J9UHI!8+chyv!a_nR_iIamd0a0yBMhM{jVY{IA&sU?Xy z)R_af=$`7df=W)}j^<%_JUN1g1JgXTh-h8%e(ZS-e+%T`eIqAp^=tuN-9O zz+a-;IkAfU);Akt)r~VL3k)l{2e}~&W{VmYt#w}_0<5hFzV|i4yB`A|UMJjsAegoW z?FzeStqEZ|nqlVBY_G=Fn-B2MUU>(vtRCP`Z(PFt*%*zrjveb$?h@s{_Yx@qZw9TJCD_`oCnt?E_eg`Dpn$JCB>u&hS{z% zmpRI58wm?0;NalCow05{#tD>qf@4gv1_#Jg`>bkBab=%L zTm{yqzUUyw7X7raxpG8`xI1QsVTu4a5@C$2XPGE~Ws0o+5Mz}wr5a+22f6Xw<=xon zTp~FpXLCm$n?`Uh=4I9{vBJX&2pMwBv?f4_2(>YQ1=`L+yhNO2fF0DMKp|!KpTe@+ zk4J4nO3HgLf;rUn+|LB4CmL6@RRR-h?kz*_dU}D zsR*+TLOTNP|9%5EetrSdW{jg|jJrp`ySJve*C2suVkh%{Z3o6P(-<3Y&8fdUoPe5O zzO(^cScAQLg!bKg;H@#tb8EmT^%xI6+c=;5^ZsTxhC~&t^gY&Vw+Qnfr8q*8U^JOY zF#3;dHRdx(R=GAVfUEv2tyZAb8kl+mGi!nMv6I6SWkh?Xl<>wIJ(vEnV2AlkbzZng zx(De5vUdWkj{w7`FFuCc09C=`aRKbo+>DvCw$W#%WS_%V0MS)dq3gP*PS<}Hm|{$Y z3!CfV5eoru`@rI`vAXo?3uc59teh$fovf_j+u!|TY;JAggZJM9Goxu5+`4%K>l+&} zSK1hZ*T3=x{_NlW8+`qn-@?hs34Z?9e~q>EbsQZXVPkUxU%K=Xe*NqJh~NG8H`v|X z#e)a?*x%p7b1%Grqr*dpwYYurCU(x9!}`lFj5+UA*;s*#jOOca;FGc*8L3`k2M>(7~+C zJr>x>)G5fj^95F36i^`8!y}GzXrzqofzN98TC?bpsSb|HUN#^2ZYI}L?B19BheiCi zi*anfZJhhJ02KtC2s-On_=*H?yd*fk2K?qj#=S$qbOxMTt1%lfX0^d=V}_j*g1ts) z9#q(T;{pDQ=da_d8~gabK71ALA8t8KIT)=7I%^@qIKIAzX72=BU%!a)`87xf99-GQ z{kLxclM%MQe+lE~*VUq1@|B|iFf_QZl>uJ@Q88LXwaV1aYrk%1L~?F1dffiOwdVp;1C`}?g>EoAIA=d6EX zE0DmHF3{+o^@Av~+Eg&{sx`^?0G$g3G!}@rJOXv3S$KSbv3+Ij?6<{kuR}Fo)|ub%^Nj-6-0#DFSyRjIf* z@z_QT{?a=5`89NR4$=I67ql^kxwzuOuzNk$C<@OBSd;PBTuKwaMS;wv?m>#&a>*Y@ z@gC<=l%>9-kec@j)+Nvs(3ruaWMC!-)-l+%@z3-Evl~hUwm47ZY;ktndLJ@Rq(Y8k z1=ybgD-~!`4bGLlQ@3Cp(<2h_2u|O+m1H0?@fkz?IeqD>$?)g%@AK|MBZ1 z*v`TVp|QYQ*A8*#u!9vsD=t!|^FMb|;XiwG@uhz8(j`nL6EHJgzI+*z$%>bA{}3l9 zCsI=zyXTQHxP1A`*g1b5hX)6E^XuQl z*Z$y5{QE!uGwj~IgCG3($M~cFyrXM}xcmev9Pw@)p<~j7Jhq5G) zetP}fXvsgN)h7+I)H1iIBFkNt`Jb5EQ@NlhB0~!d*C$QU8g&t}#p%x6QdAIxh7H5! zo{@np(RurkwJemZv@AA9%gXi?PmNXVc<7CGfEh|cClRWKCPM+k21%-r2g;6Vj`Hsq zag|ng5>3F|wiqb`*!nmeW;khIh{FmF!y%VB?zda4Lu>@M?2W@Hep~1scjt(M`!yu{ zj014u<(*IU$C=o&`!o^M~vBoF>9yT-Uph$+d}h7jW2!q5dX_-zs0}4@e+P^_c`o0Baj&9 zL~h*`?2f0n_p9qzeQ68b(J@YLA7TB)4UFG-0kpp2lmg)%QT?yv2SSi1gE7c_kk8|e zV~-t(McaWNw5We}4fQXt!!|nNDId>4UY+uhsn>tm4U$HR)h%*jgB&$Vp_PMu9LpsW zj07OHBwGAJJURA;QkwG7&s4UO|A+98FMU3VPHYT z3B;Cug~ji)`B(L)hxdg-MF7(pr)ItNioJL51=w12VgXB$^$#kJzCT)-B~J67Or)~4 zr5sb~JdtWwAXNkqtzs|bzh2gBAgIWJ>C4aE$3OY*6>M!xeKeK>)6KR)R|C6m?cmnm zpLbx|*0_Bjc+Z3B_h&5*8i6o_cUCZZZ5zBfb~5j=iG_O6~4l9`O4pNeqYJfLnSJnyX;{f)EA=E5&1QlXY@rpXun+u=J8U#=~03 zQRB?;)@oIWpEgccc!K}%!F^0m zj?h_Gpbr4r{ZIc)=;U-__sy?=BmVr|?|nc1{KG%|N%p?4z4;~p;J^B>|0w`qXXhMV z|LPmPUH<+Le*^&d@|Rx&08CF#Fj<*keZw)>o10tl20piQZaJp!GY6)ZLUNA|rau#& z50Apm_X8iL;F=%qYRlPfO5LA#szW`wK563I1m)DC(LhFZFC=^T{Uy`AJb69GI$ZZf z2X%$D1${FBxZ{diGky7jO(?}|WrcWn=`>lNQQg1FHs+(|3y2(4`}Y#XxT-)5*>HJ~ z%*&|lAdQ6;>i{uX4_*Ob&qj;&i9a3)LwuHOVyXiOhL>(y55mK`FB~xkDSJ3O%FBjh zR8fAtgPChMp3a|Z3x*{`x9t%z3|lY+l~~8z+2GJin2asH^A+HuTfjRX6K)>}P8!1b z)e)Kzp{*Gw#^C(P4D#L@ruS-W|G@+Nk1u|JH#YY1FFtw|x27wYg27;P@SxpxIR0=K z#2q$Y+ri|^7ts>IN{f~%SkaPC#hk|Y98zPVFe-xNERPVl?Z8*|G5WJBFgK2(R9EJC z7bw%cT!aw%U@7ZAF6F{Bkmz1IO7~2@D1Tqihd>Hk+iQh%1sPaZs1DL=QiY+gjjpq> z*2$x*VqbMDfo9HSNCHm7bwrVz`bw_Eeym3`Ia1Q^z+xAkhXq?F(Tqt@8H1|gm9 zG!>v)lt~yf!B7Qj1zl$&K!;bRKr`tI%!DF@Rnd2eFmz7cQueck=~o4V=fwn40T7f6 z)U?*$&mCjaVSROq*I(YnAAjdVtkw<0I4AF}CNw*Y#t`nmwT&CUb~5k7uENcI!3TF{ zxYGb1Gz|_~Kq>>?nPBvl9hmhIXk-$Yjy=QWz#AHue$>|t^TImJg;jLB$7tTa4_c{U zo?8R0)UK6-G0;W?^t8^tfY^`3N-Y?%Si(g_Rq51014|3W04S7!I7-DF(}0m0QLfh( z*Cs?;V>g!`&4ByIz}QLXr82SI0)t~!tpUPx#6jpK`Fx`0EIH|bSqD0|(mPlxmIblr zTz#I-!VoXPUY`cA16kR&?H7uj{z3uj;5uiF`SeZ69uaR?0i<4qw1Reeg3c!JY=u25 z?SOP=f!2QdfO0&U;6MK_|759yBzXjN^iv6>6$lF^Cl9r6pInyo!<2v?d6(q$LzV$R zI2cs5AiZkt*jlVSk(A#z%f zBbOnQXT&*}Q~AD44v{_xa`UtUS!|XXo1`+e4o6)DBS1&)*<(SdwpXzFrA-i7FawRWfnRq{ z$x7l}Iz5px02HFZ#V&Og*qfpH%Iu5t7^WrmG&&o= zut8^?6kMyelW<1OnT1SMq5+ollLdRl5UADDxYQfIfX94=v|@7CExBmKA)^Yc$IJ@hBb&km(94Q*Z) z)Scv^$Ix;Wt>La|8m5?xK{5@KM8^mXWO2$Vl>pT)p!QLE3jm7F)q}FJ!Xzf^7hE7O z&!qL*M23{9*-#_4U^x0Lf@;rBlN8LeH!TxQ5h}rI!8~RlTp67)$jie$lN=d;jxura ztN*}#I-;ub=c$cf66DbH^0gqPHBeM?C9a7bjOI z3L#yh`mQ<2&dK$`wj^GJ9xge-a0eobiYz(;U>&d)5VqC@Klqx(yB`y-+$P*S6ihpV zofSq`G1{83Wfic`~pt{q_X|9t>+^&kPG9^gXk52iVD z52?`RaBHw1*H)=BG7!gFC7bpung!B8nt_rxhw)F!z)PgatJX!t5L=}FPFnvgl9hpU z9&p=QFcYfEcN3Q$4OHaihWo*y@8L8r)0T5FN^tMyGCEkK_Z$%K_8qSFs4^+XT30e8 zDG1^@)3SKZPdX_CSTR9-k9FJGYQAg=98$%9xg^K^`>=&;%&K~uGOSQ zhl%O1vwDJWef>JV^X=;};(&BFCRjsg#|AAic7Jsax8B~tNi#}d`c8x07WklPan!GP`?y|x3hJ_fBAaK#|QnR$LzPf-ASzIO-ZPeLZ}#WnExRoLBQv>!bHRR-pTHP}@T zDx*Vx@m!F?o1U`7%Q>|tn^nSHD}W3*{|`L>1{~m1PIVgV5}#|bI6GZsy8{5N)S#6L za?(K#rtW@TA3Ie5Vc2AZhJ;;|7yLR4xql4WUQxk`v@{E+qvJHNeQ0o90_=h9i3sYt zj(DQ$x@WOjpU0QAHj_4enirYQzNXKQMFg|fqO*dI#^{L9O6QpA0IaP8(ya&7Wi`Eg z-MV=bqtOU$+u;0#i)fn$%#8j0eXMV6csUj0{{8z{TVF?ARX9F6#&|M`jDKC%j|5zn z!$5M%ub*ZxJ(RH`r+$Wp9vDyIYp&Arl*+1{;Z6}eqI)@=c0JCxp+HM9C!1Q*ku8NQ zX_mcHux~;GivnHgw*9!U41f*wR4->56^qHNah!9rp!sJZ7$N_ivy$)_$BGe!-8W_VaT8msBxb>T@M~pxCvS4Qm z_{|l@?vdc61Wm6NAb$O%#p0lzC9RJ*mYp@wv>r(r|$aCRKwAn%QKFl%t!0jO)3i)*OAyaiqxgI5e_T;)B^xx~QbadT?X5sSVNo;rR~ z2$0CJp?q-_=Ax5=w;%00VEz0muvP=L87`+sMp?P^7X{|tnnx9*L`7H#6Q_I?tn$F$}8b z7@uWGlop-;VD)QU5B1>gQE{$@zMC>9^BiO<*W<`mr`3nV%x5U3SAp%&TTBJ04l!ZG zo|O)uGemO*23c7(k@3`9qYi*$Tvp7z*2NPcbbf8hl*2P+`Wo45F6a6JbX$>Rq9kzH z*Q!Vm_cca*CF8WPKyBb;*g^zX>g;@PwRLA$eD5=yV&M6678|RA-+lnx-ecU@w`f)> zY)%|gJsTUG>!#Q~AhdtKjpmgjTz>5V{@2(35&zG%%lOs(i#X~k-=pq;SbK9H-QE=A zSGQ4}TL;X@$8wo6z^^NQtB(TdKWEjsjib!-x zCg#GYg7RolO>j~Q1`pZUK_Vj2(cHbgic)Y#NH7mOc@m-MmlhR+rljbB)nqj$MS3~O zLF7l|bTTz{SgmHbxP6G9eD@<m$&ZK_k~Q?OhN1N+Tfeqk&fU`@R$X71Bh>@NTKn15_3InTc970xS=!D!&x&6( zSOL29Gg&zmju8=>rh)A`@Mr{68O&z0$QT$eWi`fNZG9cH>C_D%Q(v0uN z`he*nTYofvWi`iVCOHveBCIMcCYvF2l;?Z28z*#3iN^Z2Yf{ zd-QhAoT9@(C6^We;sx&?>Zy**0WC#2pEBB1@u26x#GcKtkHAsuJYM%>AW8ZWQ$emR zF-nWkf8P)|Pp5zYW(egVJG{5^QtSwrqJ*0Osy!>;GUhk9j67-yP zE~CP<(!dsLG;M?y=uI(>9dgHFd(m8OlMYOaz%$hhLF=-M;d|2|Xss(uh%i=H1mAr_ zaODQ@-ZjFlL&0&&IJY`RXI*dg$#{zMGlG484b5JKtv3$vKfUxW-q_g3zqB&HCX|;c7T7tVVVMaCImW|!TkMA)PM0Y__$HXH%uD?A+OTE z2^cOC%@w3=GNtM*Y_)Mx$_tl);m*Z86M$&1q9;9Xqs;72=NYr%XiBFDXVsiPAS(}y zt+r#JeoYJzG))I$i`sB(dw`ZX&+$KuQfQ%EWK#z27PR7U#FSfjGsA&tq|E8m`zhIV zm{XHZq;_<5PT!S!u#=m#QyvIv!!RtV$67rWqB&ib`>i@>tWEQm0%94#Dkx0g#21aM zGasuPy!hM${PFj%;NtlsScZ$n8WGwtp<8Fn4lCUJ`32m&vV{{n#^KE1<9ilYcN^Tc zz=yLI(+-eP1-`h3(d#?l)fzOZ!6SF?XHxFa4^NUNi4t^`EyxC08$kx(v=dgi)`o$t z6;vA&$b%`m8;8J+Lzov=@0}W0(ua___jZ8=w=|qZwrP7&NXRE0t3fF{xsnin}|S0an1JS~Yz&j9t~#4bcxKk%mosA<_ZE!e&1##6kxde?zz>lO%| zxZY~4+6nhA}?HY;R*@1Jjce?3_Q3s;Y2wc!;g-Z2-W7{e5&@hwYu67~H1S}7${lyt&MD}X<}VmnDK3z1FT-rl&Dz4!&fmRqdG_A$^fw@D zF)uf?{9VeZ?Y}QDK50>qkp|we+b2$w&Vf!qG;{410#kJSfy9U*XCtP2o)d8O4&ffS z2GWs0V6MC)beBN8cs7_wfnieYvN97Bj^85^qf4{%lLO*(0s{MollQXY$&kZ;9UcCftZvbz-PuM#Grk&vYN{#i7(T*6? ziNS?titY}fJ*=?#)dT$K#XETAwFCUi8<+8$gKZplz6c8^m+o#qz~TNBqs!+|U)TVu zFR}?pO(}8XtqW*Uu!u)Pmbu}dBF*83xnF*}!rh@S@K-)T% zLgksmp0qa>0w_gA(VXc;^@1~p_^ZSW_o~7GDnqd+n)+mZmH{o4o1djZh>jOZ*M_a0 zUs7*7X~5;bqc*NM)wH&>VN6kI@Qog!SYb$gEqNAqz|1QGZl@fn*kW9@Sf4a_<+=O# zCqKM`jg6U$>#G4A52>`)`RI6 z)-bxf1+z8+O)AicV0V4Di+jv^9b3ouIpU z2;4e?xv&CkO&qZ9Rlp_B=pMMnW$twEhG*pt4o@y69?EB$4-^vy`s!#-yK*!R)5ZN# z-l9)fMc|DIur83J8DxJ7R0OPy+%w7~V+MQN0!K5L3+w5a=PpVlFGdkEe}PBAIFBk1 z57ETWOvyf{FJ{h6$v(4H69T^Z@)o}F(&qd($nc!A2zjlntYT$lHU4{jV}KGXY#b4&$K=y2%?9JA0I8Fl|?C98g)aerj+ zEGaO3*6W}bjg>Q58Mv=pHNSS>lQGpfn4jyYI^_2@#{+H=ZXV2-J_S_w;&M(o=gySI z=Y5=VR2*{)IYEQ&00Zr~P}Y8_3A0G`qBQ5MBY=RKf7@{OK5H?rSRChvBA)daQ{ zK$oJu#G8SE)V32FWJ3=wv^t7>4{s<&x+S~o52t9P7T+KHMXh5LD~iCMGZ$5N&N?p- zcTk#rfq)|)F64SMMF^F2UL1oSL5PW5Ae@l{~i8j|04eN)tB+0aedeh%DYsG zRv=u#k^|r9EHLe0{^2I-fAD!ON&IwaZok<18;3 z4p`&-t z4-C5gPU|J%G2a^Ag<3mELohP#7&|-Qh)$Y8mm>OZp#CVTCs^FwS5b#a-C<)g#cP*# z@sl5Xgq4-XXG{ZjZ-UoG;Fa2ex8N{cnoCg0K&E+?@&|%4Q_EJg#>LM7_2=kS*ENVJHqC!lNX%sh`RT0F!@pM7)}FfKU&u;6cHm2A zc<;l!Paf)XwD2#BwnJzCI(pPgcea6fnhJU;ax{CpU}2Wl+|83W95cfyRpnP#mHS0I z8{Ug3nH=h=UP7~-rECd?({WGRO#XeTfI$liAjNlkrg|Ary$syers#G~VO~dN@!(xb zj*%vc;8sUiX=$}pY;G7GvA?;9!3vgUmK~c$(m^1u|Jt+YP1Wuo@MD*qS? zJ>K4`%c97nh5*Jy$uhK~x#YNxdgqT~fj}r^Tzg;*msf1if!TV)GPiF5Sd2!5Z@n%! zza{w172wW+VA>GQt=4EpjHWU;8Z(}6X6UXl+Jg$~-#x$|UAl=kUf9F``_5&&eP;*9 zt&7a6L_pGEc6$#G?j2+F>P66Vo1oDcXaU?gLjC6-qI&y|&uJ~jx0LR@`8i3w&%S^r z1Rn723FE-P`{#<$}Dad>j0>ISn&I0K#ex>jjm%IqTWTI?6W-VtRjWjVo zILDTK%N(KT{P|8t#ak-?Iv5z&k00M7vDaAxnsOeDedC$&nC?SP-&IxVj?#ve7@#H}*Q69!%E+!i^@_Tu!Vi*dBdZ#eJ;RcZ(LQ^fB;mva zY>rWFj37r1x@!lpH;=&2t$;TtK5B}G*K&;fID%PRCL59A0+jkUabb+0Gn;kaI~9e6 zfmMx2N(l(c7IY!@O7ciND%uzXKxIHX1~Tg)_f9~SagW^Xi8FH3@qxvh5#8c-`%B^0 zpVik?0qb!%eJ=vo!Jv3Ho52|Kbo*631JsX*(R^Iir|I&2CRnkkY4&L#Vjp@x257he zXlN@DF;m}xMp0y|riORO);WMD6quJ&1l@(VwKMIUn42uS*svQU_A(S zQ;#fp33HGO69|R`5+s3)82N?lym$apoZH+{95Jd7L|(G&K(%<*+K7dbE;7kPE-}LT z1?QJ80Gq3Vf4suDdtWeX1>36zo1+ohF{7y&7wil>`#}3Qn^<{uik)v9;-7uvclh~@ z=kRZ@T*B`0iu3Lx#>iMm)8Ozow}87dth}^?>caz=Kf406Kh4>mWhZx?FPtE@lUFOL zCxNoq913#Y0=2qP!;zFG(c4T0TEqSp)Z4G9!nNLz%k=jHK<);ts!gKe#Gp%QMA>oK z$ig|snWIZ~0FImkdp~&Et^;?jEzVTYMJvkd9cWE?S_?ZyBwz1WhEY}Q6u2I226?*6 zzAmZ;1LB>2dSn{+M4FYAT!tHBvY2`?MN&QjykXRsowIV&S`QSIvp7_oG-X_Rnn(SN zGvN-Cs>QjDBYgX7H}Um1Zh|YIGY(A4h|zAijOo4KZ{pU^FXHILf$0a0!Ie8xT;FeT zTY#%m52i;Is!JQFUiLEYu>p3soenq(~!e2m0R{337_%JBRO+pspuqs)2@vo?;d_1XE2U|E6TMSbO| zj@n-)4}jrEG9trp4s}&kQSz-Ld7lC5&movL#-M4M&&ZBHMtt-nfH*xWj-%!OmYGF7 zln(e)Dxo|%FimGTTKd$_P|17>h7HArBAsaIot42iE-HFR4N$+?A~3oPXr7k`9Tw4ah9OJ~iV=}DuxGDsX%}6UR}HcXRO`Ot{*@FTbtM^$ z@&FPZR2S~zz4dQTHlEIt^?j!i2y^ApdKYu5Nl70AFfZlaB?B)-`Nw)THT=#pJJ1%s zpKSIXy;6!y@C4Xk&E#uBAZIqmlcAQY*DA(m-7f%3mcgo382-I0)OlZD`Mlg8JaiA z7b6Ul8aIXRccA4;M@h4nSeKU4vBfpGW)m$2F_~c&<*FIQ;>O4-$)k3tP>2Mvw-pQ9 zSX7l!&dli`Qg5?AcdQGels(%BKwTTCbm$n-70-tUObJiZKtO|*wij}KWm1;kZYiHA z8y7?wo|K`&hkuQ0hP6QF{b@vOV(NM5^0+M<5{#=Bt7e9sjT8LgcR#{wuiS%Fu3uUz zf~^_N2GDej-M`zx-G4lXquB)0uEyR8AkuUf>K3-DfHY{tWbD#G*wn5@TQPWjoW?cFV$oMd{uf4ZLk4SSP`W-Y zdAOE*KkK3X9KM3g+gkhC3mYE-!po~ypFF7kL{G$7*6T&S@8bsF4|xqft&t~Z1mKTy zo#c!=wG06bV1AtZ3ZL>sip?p#TgBtS;L{stWMQ4$) zAZhy1$1nLD?wD0Q&^^5n^oOMot8*ifRn0)6IH{%hg-lrRI|H+HYBJ+83a-`;bg^Rg zZ6VjT3Xt&t5O$w4p4x6BrJ&8otOp#d*lYa?@72tBgu6_hl@8K%>!ZP<0NiESl8)q( zSg2WaL4EhF@0SHyf9|><0Vj^V)eIZ^Ps3W24e-Xxg7cfeKYl>iJ9L@Vv$Y!2k#hk* zt_&{96g&3-`!|~yzjA`@H;?hpzwulA?E3TgH&?>BT20mQjL1Q|kKl?$e%`7a7!u^p_5dj6jP$+N$p4$1oG;@iss| zZ2-k$+3%b2SB{i}bjd`;D64|KA_dyT`^V_WC=U2OOf?p0TUT6RZy-fQJYMXfm4O-B zs{m_b9PqR`{s;qC_dLhl5$g*?NQPja(UDCFss!+BIji$!fLCRK}-dWz?_j_~8}e1uDv_92E~M}Vyuc0_147|qn+_Ak$4 z_xC$EX=@yIHSQk)@7_GZy@qf@fE&{e9SE3Is4s7!y0igaAA!e}2h$9dMW)UJ`!Qsd znnBfls66lhyz@SLsz_NiO4bgQ^$hbIGn_&XPC8>A0M-on{MdosPJo&Ej#glIk6`aj zA-)eKWo0LT8wy4!ltmOkZDm|>fjNO+cKb}ViWUn1ILM^^d$ZpWxpU4#mD#=r%wPoe zKpj4TVM|pqSU>at_V9$Y6u^EId3cD-3O_#s)St6gxWIK?f2xLL^r#<{$Fvhq z(#%SpmhBZiF-sxHGk)o*rNmDbNH5ckO`q7H#S%a=8K=mS$2Sn)tNuQ~3Z8lZA+n2e zMrPoKIdlEWRKCjI3}36Bq)wIup!vB>^6#=IdtPsJaUBMFuLiH#B4*s>{wSvUtd$;8 z*N_xQF6En{R~p_JECFB9NiIX68Y<^HQf&Tr(IFf$*E*VxML=4B>WZARyCm0h{hsIw z9?i@A(o`G&z?qQ&fEWX*N=+t5wmJ282N36^kA@_3FXm$S3i|6m>$`1RBL5S`=qDor zV*s+^LgB1Cf!43e&u zF@F5=Exfw%0RQ_hzKY+!y^hJPnTz{Ynb5i1S9SQu>zu5^;^I6UXKAdh<-IFig{A+TVk33+d6jN__(7IECe}k*3QX<%24bGDb3+j&R8~U>#0QdB*$w(ocl** zna>i9>0}O2(0Z6eyi;GuL+JIc8+K7&B0$$UxA-UzwgM}i1JkC(#(0Jo&K=^9zV{){ zUpV%Rv~%+AMuc{QFg>hr>t`2m@9Gv#+7XW18g~wXcW<9y??mts3GPlibhQC$gVE(} zR4;9SS1a&J1s<9FnFZ>NeP;GWNtR>Zw_Yy1JbS{(D=UB%o zXd>IQxz60nf@Zc?qoM5;@VL%^ZSLiP*k3?d)k{AZ&^P&#;-M$HJ!YtqpZd3@0L7%` zFd~r|mU#=Ptg?hy6v*yJN`5O+f@qOBMGNS~fM5Q|Lz#m;EPE{?QSSXkdwt;;>b7mq zRB3r4VET-JR)&gFGG|-MZu?0x)n}za>5SWZXlc3hw;E-$eF4O0}}AStkNUQ2@Am}0Cw)*=w@?1xNNWS5K}D!O!cA*Crik^ALTp{h>Vlc zom##bknvOG3KIdLWxnJcyb(;tY?Nh($SOzDq(!?1-0^1&6Kj1iOd0bX`?nDmE$rOg zZL8S%{&q;qkb!8JmKAgiL71Y9e29pZg3*u9H%b0V>=#tYG|NGyJj)u{z9ME;``&89 zfV5z?j-@1LEMzTt`72>E2EO-I!AIMK-&`@cduTCj49xZjm9-GAF&&Sv(;Z=bZ;JMB zYwUkG!;LM*>~9-PZcQVI@5MuHmNLDOoNS;DPDeVA3yoQRjh5yAT`0( z1Y41F@?IsJ+#BKgUp|lhyK9(sBOJ9gZth#Wd-DYQ9pS17_8I`^R#Csa0kbs*Z;V~f z^ooHQRh~^nZVWf@s3U!$jqW2CWmqN&oZ8}EB-JyFWF99akVMhHj3QT>(?+w$SBSTo zCI*|l!Y9smtCg;_`1H!u8iEoeFEA;K#S}@!uCfv_>~ovB38vp=zMKOFfbl_4R+i>O zf~gunkf%Ej2r61I7Oiur$A&-7Ug>#G-@14i49T8JzCVYrrzRJT9*zj@!2;?Nua5+L zsfb<(Eoiwp>Z|&ONhotwMEgX4h7*x|hFM8HxH zaDrd_>>U2%-BnCm_9|6xC}b7TQy`eim?|A%1QloF0UAlN?$WFbDWfdO>pzO&CY9Hm z#$s4>+fHI0v7QP<^=?yf-&Q`eo^;GkQ|Z z>lv|~jHoQq;+}%MG*cWDSS9qS3&m>?m|1I)3VI>`8U!1vb;S##M*as=?-H ziq~J+#Sgx74dc}Ys0dx{Ovu_*LOUTG-&nzopFW2N_g8S-jd0S`_~?Fzt9Pfk*AcE- zivtVb;wsFgb(qa@jK!j{0apxR$%slS9iNfkN1551`n{-1PR~ucTx3!aWi_PkRJb2mKz6??Yu>33NwP65>G_&{t}rhs+aR)g;K@a4MKzF~ z2c7}y&)2K8cK=lNf#&pn%EN)4Ib_9WyifYGFqoDABS750hoztFRI*I9hR(LBhao8+ z<-BIr)%_hwK0pI%gJr%sGSYO0dXf}aT~7bdkYhIc>DG3IEP5cPy8Qf7renyV@uJTR zf#yX`_N8=G|1Rc6_q3}02mQiJRc=49m$l1a4s>K8}j;usy%?B&yxa;5`| zrw!0-T+0M-n}CVl-{=S)K(#k313DyQF!UVDIaKm}4y%p%)46Ur#Lv*2o^C?F58Emr zO8ez3E_~^L8TUXa{=YactuqYW60?lbX$nIK7_e_jaQvJmo?goGStYWG9E(y62 zR_}HY@5&7apkl3PAeM=IZz(fn{n1oL?NK4+R&xiH26{Yve^Mx~3=ot=k_GE!)28%S z-K+s8lsq2MQ#rDiUE6`!I$%w%$Y4Tdw`Md`^~!C5^;*n=RE~BQffi)mdF-z%ym(-j zd1Zw{m$lK5Ffy3oR9hhP(;~_64JrH>mCM$bmpV!^X}1|!FY^xPlf}o%<(cfXFu4L*qj>H?Hq7KEz%Kpgu9o@>GIKK0m8W20 zrzFk@Kz3HNK1eFGDb%ZQqH30CJD=|0uisEc-Xi9S`eAfZn6mXA_e0O&5`U?ZXAMrpJg6XF%u4-sdJoyTMocZ0M@+@;I>`RE$Wr-pK z8@~V;%#(QhmvO+v+%eTO;QqY`{Vp&n>m94MCtHY+Pu*uJ0gRSzF5INrZ}!YU*;g$z z+zg+^fiS=(Ux?{7neR(Zz0Wo(0O8jiWj3^Cr4x%CKr}gda}QMe&t{-H?R)_8?vP#7 zT8P$)z2HdOBG2H9&mM)}_be|v17X^niqUtvL9xut?|%pSNwv?1A_8Z9*{*Xk2+q9> zmRyil1x7_3*g7EPJbVP!y6spI7zX~}Rl&t=!EdiJ?(PX59JOE~T)R`Dvx>DS0iqvQ zk#&>+h9#;6gmN?CVa`_icMm7_T2v8+kmtFUre&EsG!OwY$T-tEu}OL@$v}&lqQh-$ zB`L?cVx#-%kfM58Niq49fggP?^n1hk4Q!rnb9L;sUZG1i&t?Ez7dWUO{d`}hbb^X1 z7!cY{G6S++l&?6qY=!6(8jgULVy~_qAf&Lr73odcBuYV~q$HA<r#|R*XsDBF2k> zQz0SVBi2d8r2|ukmAb=PHN(!v6yN;HO}zQF+dvH`^EQmGCbXM`h79(8yMdd(yny4A z368rO4`v4M-=5;e1B<%?eB5-HRSbS<6XxOy%=*YN)2lUjQh_SU=U?wWEq>C_DN9kJ zg1)+;R{$yv>MeR{8=?&akW1?&3mfl$7KI7~0K^Dn+Bq;CuD8W-VRq;kP$;^*ky@C2JS6G&GY_JR$ihsBxXSXlp0Mg1wH1#aZD@t3RmhN}T7tsC@|( zYcAxS&Vx#0Np|CLv)94=`HSZ8{e=S5pL(@~mK)>C_+^PaCPwht>uguzsRq-u08~H5 zqR!(kTLh-FZQ=wxIC+aa{BE*irD{7CU83RR*ecU$q9+fa{yL$O;KTa*K)~CI`E2MQo9}L=m&JhgfM6QNUhp zKf5?(gchLlxC8b`K1H6XB=Wi0$<^1w^;a7J2F@leEDv>8q=0aKhw%MX!7tth-oFa8 zt<71pUJg~hI3`fm@nEC8R}z)Zg{-*DBbHnS%Vl}Z_s;4TFu_18qb_3WzGMOn8#iZJ z$GieiEVg8M*K^ZrL@mlC?{(I7q$~@WG^>ORRqA`Cz(8tSHoLEMzOqOTMyco7q&Ra#9ZTG|@j6u5sYj_lssU?Ulw7w-XvJXn*XMBSt!*67COGM8 z>`w{r+?e9dk>EB6*P0ehUBO)5f;l$^ua7`$Bk)=c9vM*0ku@iMykUZ~0tt@PB3V^V zY?1HHrzAemK*XTrOl)LbhYDNX)J#-MhG@`k1=3hxW+9&89t7-^o+rr#+Z*8Zp3{<) zYt|tf3j!&<N`K4ZLAKC+W&ZE+# zOnCxD12R3o5Iz|*vhWJ--kIs$GeG_Mdjc@A?XOMX>$ptEPk_Cpq&AuvEvYlPCs*}$-T)$P)2hYti^k+`ZO0E*Qt?RL-K9oX5Rr& z-P_=he0A+>V3Sq`J!zl!8xA=syW2G^?TuJ~`Ih6-cEuMvq?+Xh- zDow&t53&Q*>faH7QUr}Xrdolo*hh_&R~_ZqTsxN9b_kiUVhn^O0tW5@;WWyuor?VF=+NtBt|a}dOA*&m><>?}Y4RYOVWdI@LM0uHbg^f-0$`2HtUf#f zet*^C-4Dc@rG;Kiip+4vFzYz;E}hu^V~!F-WRZG0Wq5(dy_+^i*CFypN2zB8qtFXj z40D&wi)i=;lfZpka8nT9`{T99q@GdAKQ|hujKA@Qap-4N6QM6#v#MZGZkF|8JMBxR zYoXM}LCR4%93K;-stk;0;)%)K2Odl?QDmcuN>&d8^5mR7mSWC}=4J(po{gcx9IdC{ zi5BJoBc`afq@3W)eLS+A5ZKN_q{YN^Sg9IptTec|afly&_hY>9;(?QR8$!o~Zbay| z2(yz4w|{;Cci!2?tgCU@j&Sc7c=zTMyHmkU05_TrcC|)zc?-NfhFKfKY>a?O1s*%I z!jMf&@p&e>V|J(CXaBP^Bm3a?L zIm3mQGfzMRMr8(4VIWdV6rWgrejr|F9;zK=s)uHqArL=|rx#{k&&@KE1eS@E1GruZ zaQyq?yHocqC;4;mu8KX&LNO*w#JT-Sj5_MaTMd<31PN4R24j+gcI)|=^1vODYCPcb z)=Ac)vjNzOPu{i>%8+NrDHxbha!L;G5B=W+0g;Vv$u2Y6|If?eGtgWBj53Bh4zB_8-#!4Rj6oIH*ms>rD@iouf_Jr!MpyIZ3B8~XK$EF7w@*^^0XP0U zS&Opv(8P$-DU*LX@d<~M0_~w--~a=87d=t{tTG0b$>&#nYbCX7-v6rf;t5Doar|?h zQ<*mwrS^s>Vb=^SDNL;QDSkdlgrhVV0S%`T)ft{Y{{VmZ z?T@i}{sgx24%!u=n=ra{;N-Bv&7WSxy{nrz>1v#GBiud^ynAbgy_w)62zDC_*&3sI zWedDHf?0Q9nkE%^#9rpj3S>$4JV=h?#U*ZYDY$5ZFG}oeFFGx5P?C&%=-%n6i;{d& zNFpmPmSQV}h(KE1GfiGKFfdk`dVLpCMCxhKn#G|}q1bBu?is{Fz37dVMu&?CD=Ox( z?0(IgZgNk6a+}m|XA5(T?)z6OGb)S*2k#T|QF)X?D9U2k;{w+jSC#*6ng+(0FP!ZA z3k9eHL;WzBY>yR1EK4-ad&ryxr93kzJN<+&1*YYZzTzxqbdPgT4So$hJ@tZ~06Q?% z)mSYqmpuNEgRJst&jff+y^iyGydPm81U7acr+Vl!gasAr-unlb>W48UE7vcj2icr7 zui+jr0*q&>qrEvtbDeTgG9Ogy{$~%Sh4RR&2naK-P_exOFwg=q8akQ&*ihY5U zfo3P8v{bO-NUq|}liU?3taoXyD+87e?Ma7sKJ4(zw=9ll3+{47_C!N2&015QDctX~ zPCsYEugKHQK@=4^%{frb7KC%ws=fEbe&r-@X5zSy!5ph6*_7nOAA56ckk=#jRZ7pa zInUWmM!^(8r6{8!SBy!cD>{G|1&)$`&jJF1xnHWPU_2VR{AG1a%+v$<5`UkZnWKA! zq}+8b9N=P+!WS}FU8AgE5btJ5Y`q>&(V#B%(Ce1jlygm49X2az`hIN@3&R$Zs=?a0 z#pdJ$Uw!2szWdGVs8?Iqnjprp)9oswStFe6j&b9!p2OblHJo%~9JK~F_B*_HbB4VR z_?UpbR)F&>FfVVyY>r&d^!nI2d5;1!&G|hPL$UpNwJP-?76BbF#hcDO6u`sXfO`pxL1fu(Yy?>nZ;oao!)I!mt7C=KPZeC%+q>85zf+guib;l}~6 zHNNV)E~YCz1Js{KUXmzQPCiW_J>X3;xF#ODXP-Dwe$?%rHG}%oN6}Bq=zL=PRpyXB zjYpnc8`}aM15_^;t3~7_)HJ||EpyG!0;V5%+);lWVO->r^m3{TQ8PW!$}q|X>9rT0=KwxM%TSE%(SKvtJ552kOUk8OdIfcU z>c}FbHDF9xuB7j+@}`KuJAoC7J(r|94kWVTdZEsSA=Z|Owu#Y->t+Wog`_A3aPM-c z2~YbPs;5v==f9AVGZ99kT1j{Xtg9NuypnI5^4w`%D3!c#TZ59` zra8grFwaE=fd^k?l@CYA8Sc%wr0oTIs4#qkkigmw6**>leKf{%0*TI`L%({!lq7@g5g_`?r z-317a^R)(rB84FqTvZN;eg0IkxKg-mla3UV*d{<)aiaUIrMyP!2k)dVoj{soGzdK& zA#)bLC3wxB0Z|?ULl|0MbiU}sIs;xG7rA|vB&i>CO^>}7!}Dj}elWmZms$4n z+Sf9Rd&5yh6;;Q0NFq5hnLX3ILc!ga|4co zdZEAugi!{nhZp>hYfosYu`=)d*-};0X7Rs6<-%f-%|Xg%AL8sgP-H>L3{1oUJtc2< z%rSWY0M+;B*%m1?R>`eA$$H4^nco0VDK{UBOnB^Xc8kdX%o$pu>6myByP{EW_Lh`; zt&0j}?{*H7b(Ep{pvmb>41d-TIxwau9o~Ouiud1{Vm5WM zZ{r!;&dP8aMJ7WhZ6uxJSsxE$Rea7st7SGsXz)%~%wv>BmpzI!cptFt^^QZE3s55w zSeKcv?9IA@p%|$tfJC!_l=|AW6qJ#f3dx*Bc+7p}p<6})jG`w$M%k8hxEfPL0JFiU zGU?7I@3<~fxDr!jjR)IxD1q7XT18+S3IO5vp{Kd1k|aZB=kRZB^0{ZqS-xzor~6<@ znP!PjcycoftVK-?*6I!$qZux4AL0k!x`s<%+J~*-S!qBFqunI5730B&Yq<7T&*SiT zjA=K*!OY;pyDhHXZ?Gqf53R*92z+TB)unat`Uqxi1YWIxi8CJqQ${lOkAKc&%|&%I zfH-o+zrb1x0Wgw-rnwgk(aa$j@Wo<nwjRp9J&v z^s-Qa;cL4Dzik)?ht9Mhuj{5-rCNx9{5 zp0K9_NYf`$C!mMF6jD@S0ic~G8F%l2&rUiFS{O5VIz&@QJd;79D09p3O(yfM{Suw& zy}mI9Nd>WXz}=IIUXVo#ta%MqC>t@=!i5S3P)Bf4zt?rJhk<&Kci2gWGKVLMZdB!h ze!*lJbE*@lmcTf8R)GV#LINx7LAAV+Gp7QF$lT;Et^2g7nuol+He6fwbd!WWbWa^xZze>PSZ(bNP9C_R z0@|j-?wtm|{ksF)zt{FaDY19J?rd(VGcY{+F-w$T{xm-nfx%Xi)R+d{it<})POZ%b zAX=DHVJKEz+ZD4aG-;q5dPR}OD3kHb>~Jxc)UX)z7n5WVMG9Q$=|?lQGH~p=&cy*w z*dYEFkRQUuA*YaWymBle2_HG74DOR%UA>3E?(f1386xnNu04|ZJVU89( zel)lcQbZ|b4jN&*u^189X##9#0koJ@9aifWo8uE)dhq~%^!=+?+nmBy1Q|J2+R40u znK16ZwdrE9+7+C174}aI-n%u$t%DACK=`=p&=`h!c?;FW71uMp>YcnN6;N?JIg-VR zEili@<{RmOJe>iMou|eP45`$8C|Q**-Gp590u!9%Jmg4A0o=6JeB%wsXn^R+im(M3 z7Nq`a8aQ^Q;pc9iftE$b4OZfOzd7JpYu(MjMSVEbTdkg;B=wz_ZwEmGVsVQfl~ z`Hcn21R1P*pr@Eu^6-aP^gW6^+*+4U-!u)Xs(Qvye;!|9Krl1fw*6G?-02Lx(PxHf zk1Ln@af9b4i8s%b(S*m+7yZ!q{jt|1`T$9u$O-;rE?G3tilBN1sVA`_uKT2+TwfP& zSx%{!NbiP>wp3D#8&VG{O9PdPQpYUAm1`hM@v?8Flt$2F3N#>HbY^M6bqg#mvUc0W zrrrKCq`|JFMFAz(v#co6yOyMYyOawclY{DIhMpwYp7s8!{^&@ssN-ZM_|0U}0>vy- z(F?5ruk@XWEs_6DiLz`I!-UI%PylF(t&UQ0-_M+ZYz(u;xy)Q&M+cy-l2+P$y{*j2 zJlK{&7bw609RbsW79afX03UsDjHb!QCn5DBI#YLFxCp(TJapTo9M%A)L_feNF|eF1 zz!g{v8L>?LdXega=*^Fm0Ax4-y&sv!SCEQRZhEB^!@777br7-dKoleIi#{qFJokH| zp0@<)9#W)pDH51;$)we><$?O`vi-FPA(sjes>-|dSTH(FxWj7IV0(3nH(tAo zZ-4&=>WvoNh+u1itz7GaHH5aQu=}eW+ z^YRwV`H5qu*HgwcD$ZobB`$@^L#EU~Kfh8wL};?IJ`5GbnZGDC`ks|pwc9C*dZxEV z-3->|>~m*&BB%e!w(Cv_1{Bm7Bi#kx@Um; z^9ra#^(4r@KULQ7amlcsnT|b0ujMXAwxE+oxtP>rUFfk6(od$qF#MJ3TyzaUBM7mR zTuPt$?e%h%((1v2N^d2s<_a3#Tf0n|M3zH?4=W{+$9S1!pa?hEgEA+}+B2Y3ve+4r zSt4Q!z7O8zd@Nmwitw#;BOkbgqI#{R0MR7_Y(sysq?>fEX_ zpqJ*H@U+lk5KsxMmEsZTm>KaGg$ml1RTeJwa(nVT*$_>W*ID?rJ5k!SrYlu`zvlBa-jv;sVrp&2af0xeZ4*Q!;gL4Y&iRDctjBu;gHN$wb z#5~WNQe<7>GbhLkZ9z^>CLF31S=5yBrIkc^F#06?Q-PRpeTXD8p3_EjJ*W4A&1Udgj+v9kKK2-aNLe? z+>UVf5P0|233g8eHyF4*ZDH5PFt2REoLfP)IRdYaz$+DK>{0-t`4<%7ng~B&Fc+tpWBkK>ay-1dbkOLhQM(t@5@b3dMrr!zVb_DPG%_v z3LTmr7hSmzRFmyruLaUK0c8rsyf<0zp6km6NiyY0H4#0`r2QmSnJ&yNDO7$=-sJR4zCAF%pA!fn%jD0mpj{ z-hX=^H?JNkz$fuPM0xyEh`h^8wu!;4lpwv!E)nEtQ!Sc%U*s~%vRxr(d2&#ZB>?E2 zdu8|a|FiezZ;~X(b>K7ih{(*k`komKjsZXcgeXcN7KaFuduji4t(Fo*t+1Z}5d`MM zOyAYrb>|h~wmPzLs^Gg9q1Apeq%13v3#S0oJ5diY4OdB=yf**V@*8Ly%E?fS>?m0!C3Jl#Mgt zED6F1){ouO*b~49I7z$w$__Ex^`dL~<61f4k_^)5@;83WUG7^x1Erp0bO$G7fW z;OD=*k8geN)YeNk3S27~4RlJOBd6s3|GbCeN4uDH4W@04CufY0AI)&m0uKmywlv^d z6V%^3fVwe;-fciTHPmhe)V5|ico3HYnk0fAve?@PmZe%e3&AnpW?hP;y|20#Z1Zgg z?_b<9Oi;r10U(v`8$1B6-Sv5H?Dq=pGG_vlvhF{Z&|oQymn>u|nM~38s-((I{c}bk zlOa3>1jvl4^ie5Yh$Tj5_~Su_@{YSQKs=Bw#mkIa9@voAJmSz$paEsjAZr`>b%S%Cw$u-$ z7z1pQ?H?)zj)C1ng`fN9n94}yPALq&?f?5wqlYk66tClT|42hToB>Qu0qVZ3M* zqO!K)thrdy3Mml?Gg6(KrTCcu$dI7kD{za{kjpIitg`)F1!x0w9emou6hU;FagO$0 zv4@oC6PXZY5g>@w;v{IaPUJ~5y3XM7=V$oh4=0#SJE3$f=3%I_=8()!8IlyVg@Okx zVn&06A5#pewR8?^1j%Vi0M3 zo!bG$vVxFQEG_+6hTDEbS}a8yE|kCrbGnC6Ch*3T`3bvrRVwq`wsiEiGvKa8qbSiR^+b_5TpLI(gRvX8o0V4Ivbh+##_+7;&hST$kylEHJje$ZJkIOT|Qgwgb2{ZW7L5ORntPU!9 zY18I_cpFw)bzKJm=;dV^@^rM|8U6xbaHZF5oPzm z-pML+J4J7Q4w4{OJU{@_LLIx5!Ok<|9snCbjZbT#MF!ak{@CY^HRUGxE)we8xrJ7w zr;`IPM%3WOpp-wLJJBmA_{17$88~}B#}~hUfuqN>NF{bzGz$bN*764QNXjda7}Y^=)6X&+}ez{-7lupTy3u}->IqL_T27*pcjOElP?*cq1( zsnQeKtK)irz?_0M_^RCw`+eLVVq?_#zb;i7FYT~_$&MT;+<&2h?v zFJLfbg8J|P)wlPoCDvX8y;nnxs^BrrV(bNKx7USWE(lX1T0^q1ty&SRW{-}&xtp)Y zRbo%cGx*BU>SawaAqhkTkvJddG7MgDRuY8>F6I6PSa9kVD#<3{k_g+XXUsFxfw*E^ zd)mRM{K}Y@Y~{6LEasie$TQpJ*e9p88^5*c3w;XV!j%4vM2X!86#{cWsh+;i;0coi z?M3JyNVdYD5Zs2~x&*K{!A-Kf)`RP7K>d!ry3W$+s;Yu9=FN37$Fe-W#AmjS!0F|l z;mt(~HhiX4Xm2_*4h<)cRfy|#F;)x($A1fAGyp@E2)|l_oE5zqQ&D+j&c9v zBeZiPfC&o^;gmCzcA5YD5Kj4FS@^~3{DertkJ#OmRDllfREfQ= z{gLt_VJfyu@GvF^p4Y^G3bE3_xb-!!$f=oyz_iCU&UZVhNv1g8xR`-UFRWaVb`Hu| z(%K#HZK}%IdvV&=;+jECUC_E?t#&%7JvgES`Im$Fi3nHTrB3CUG!h1Z475kN!BP}E|lYO&WWaBF{tpZ)YPe)N+=&=@d{1<}Q!hO?WMhg172dLiPg+3TrTde&Ws zz~I4FuU49aUIUlbMoy*bIiYm$K&g=j)tttNTDMrKIJww3|8xWJtOL4%y5>Y2D+apc zdLc8!)~X6Z69W}>A)=2FHyPsgJ zL6aKTsX>jmJEQU#ECj(MO+BGT%Q-H7Kw_UDL|^eFa3NU(or&A#P=8+nU~ihewxuI= zz*%o&^70x`Z{g)T*&B|(u@`SHO3m8tbTBx3a)B>@_Z;WXr?I;@0;zbImDyY_;6xI1?FeWk;IdS3`yZ=# zKu-j>7=oVN4_bi=xEm=*O%A5Lv%aIpXX0o6d!=q%uO?9_gvShPx*kcbCQrGJU?@gI zq(u*$h?`flX5zlGa`3&5z%t3u3Lq@vHA(5KRtmM&fsQEwzYm%ySr_2$NB%vNk;@Lw zE{J0|Q12C`vC^c!e7S%W$_l|Zmt}O%ql7h?a?uNdNOKbj-|M(uFvA`4TU69xr)sf3 zn&X3e=lJC>9^ixToPisLX%x6oFpAJ=LPrX-7Y!c$r}uFDWYyBeo6!pD!NczWL9 zIVn6a9okBx`sfz)-7)mu2ztMU-l?I+wXK)dsvm%X6jw}xILg%+`w*DV(i8Q|2a2_- zf*vfz+d=@()0(+ohnz4Hq<|a)+%fpY0yI{ZNnm_4n?St|^kXA4&?1X1v(p~5`k!~k z+D9^3D!H+rBgd?<;5Z^>Pr+uP*qyoT1^PA%#qMN~FjmWykf>=HE2#H(?Y*ANVOj$^ zXuypIv~t3TlzvZM(9FGfPiSjT4-cg{M1vuA9@^tY?R#l_Y+LC&>_Nr^Fs;QJa}B89 zv6uIuW@glN{r2AI%VwncEq{*J398rL6RiOu1x3pZGt7e^l{aZ5x+LDFA}}ngl zp5F$!-CT${QGwF!YU$yqeEoYW1j8r=)kMNBD}c`EGi?Or)B<58=-n)owMDi%6N@s; zNgXv{J+R4nVEb$3HPH5ZDFOE3M63v)4lte6N{&QMcX&(`$b}%9q?og)DJKw&GFZ%7 zJo)%J9)El!4#pCwQievw*d`LTJ`&ia!<-~Nk)r*PY(Axx6^vu=y*%VRLkV6;ad<=n zR;V`%Ac{I*uQW|rDP<7P65i%%jbi3Ooz!1bbhru4mC@8q6l^l?0Nn?t4iFn(hRW%A zoO2N5nHeJRkOOI^5bW1>20n7>~ zU+mz~Z{EZC=@|2_!9`o)@RafClPQkoz@bujWIC8hV?CztPN4Qj&^tBso&(Y~Ic*3| zbpt2{t-w-kT?Ba)5~{aN83Kb^sRaSGb6?UHQV zfb2YA=EzWKjT;9&*?T(u=5k5Jj+}bi9yDE|-ME z`bP@R*5~}q+pd)!0@xC~zfm^uHK2ZlM|P5tTlM;B2z;r;Vj+5ojdEuBdiBNt^4prp zzO+^t^&6JAcn_;U`lV~zhqLTCjqmO0DjE)6&?VYXWT?>qWz)c$f+HQRpA?ydYO17?uLEYJ5H$jCu?NL<^cs&m%Z1*&O!`gjobcY}w=Ek1iP!?__m z9#weW5U{_8>ekqbkL_EUx8ALx#u`+S5ao)NYb@>3d`qjyvex$;xrI zbfg5~E}dt|%3NX|NmXtk>K4TC2*AR?JUEAWc;RTp3|uS=d$|}-PJ9ho+5db%!TmkZ z+?8u5P4QV3Sygx+-O>P6?mDSldr(X73x&yu1EN8@Dfmq#=V$3BFWM|)M={(z-5P_K zVa}G|7c=`D2P1H071aG2Mk>28g|wszX%GxqoP;w`NIQm9+&Kp+JL|#lRl#+bgF^V( zXQ!_L^*i|Lx(-$K7CbI*_MUZGLo|?W`{qlLB_HLhL`<%B&tiw;p(5{SUoH}pB>F{)xFjS-BE?9;5`}~~ z6AeVJBo%z+V`rRQK@F!+SB=CnDI9K?`c(rVQ!VI%q6Rq%jR6Wu2!6%vbyE8*vfBYD za~ja{*<&kr)(6r(zi5tGIh6$q4B0CYDWD=4(}4^-A+z!*$UU=V|1mM<=W{&y!&4mJ zKTc~;UAmSyv!D=zPF7}5;u&^$AMdUjjnv(QZ1sdQi5nNBI0M!L z0lJ*x%?zbAYNz7e>nGn9$=_XDA&O4PK#8{$vY{vjoYhw1fW^o%aB-ao?@?Jy)UBnt zLOKmBu_WosVz^qYXKP5?#S$7FCUuAXdVxE)X876PJi?Fv@)@{>^_Ff3tO>2Q8S2?- zgTw!J8;2j?#H_6`GY!rb8ebgFasOz6Q>F3v?g$q<4XCc5c5CQ^5!6nD>R<%51oae3Wqbh=BRAd7Q!oxfnn_Qj)NrqMUl2aalrSfhORK-aIg8Tq7+2rUw zcS==ZF&BM%kk5p32EN6%s16$7paIW13#!+r*xYUgyZ);5%u}c;AGkaiu<@^&b(mQ!dI24_%4YvubYB2vQJPDv z5h;GobIP86Nuj>E2f&dj5@W!_x~Nq!P;-spc4ehqp;?x#_SD!OXvl1iWI#ZCkp!Zg z37X}~-5zv%P))h-G}!Sh8HP+xX&L}J_g5`&T#6daQc^svpNNc8$r(G%{aab^Iz zW2W-=BPiX5&nLj&W`;-zoR#95;e5?rE!x%rC!kfE>wJ6f?WR$t#Hga>rPfeof>-A0%_5%1vpFu-~8Gv`!TtrRa=s~?yLoWb^<^ z0!FxObWnF^;XNPLDJl@E!~uml(y^r=CKnO~qO2eSNRHQ(V>OYKN4YGDvic*HYI8&l z2=o{z5?nI_G}fT;F0eE(XAAJ@0yM6`dzK{<6!hgBmY&}jio2)QSh={L1j7t$U5sp# z>uIe+E%kK`^*i{Q&*x~G2Fx64sbA~sGNqv}4^^&T?*z)<7O)21tku~jXp>&qs2{Gy zyvo;6>bbMh_X#U(>Zl))9(=ap#e<1@C2qyf4SAO)IJN{d6#5=~>(O~ERV@JPA<;Nq zQBz(70KTreEkwyn=cQOv?e)l&sESsBa_!IjUQn!1GtCfLZJQZay`Rg|y>hl$eX2IY z3$VrdZVKXN!Y7+V(H*f9ECURiP~&ZaNfJWMxBsHW@eEIX{{R<xNg2xEtfS`34$Lh^y2FlM z;>Ki-?|t_afA{Mzv3p|yu7S=ed3PG%Mxiwdr(f*g(SLalrzf^vdfHYvJZF6Rc#0Pb z;Ap48(_15SqZ%03P`fqMeuHYaf!=E@hyq~FTF|tGIv4?t@=X-yV-T?ub4g}lNr?Ex zxI{X?$h}e8PWg@{F_AfI{ty5Y>pias%JbO*?Z+p;tOM=U&>tNDjfSK|hI?2zRp*Mp z-qxH|Cc7`4Bn0jjgI)qxABanow|jF}6hOFjAu&f#5a6}XfJif26zbG_%^~*d}`%Cxm!OAp@Mr(Ks+i~Rw(52VY_RHAbEdvP*Y zU{@h)#^b*>WCkPx-IUhjg+r~+JW-mZ?ok;@0CX0I5bmkT_LR>OgJ4dD^}=CLv@2C$ z)Af4TX5uKrSjn*!hT>t&2wPU;-zfyeqAGa2O@&C~wiM+^5l^V$=qr1(v*_aR-3~k# zI>u+o(+oJAS2y+R%Eg#pE|)m|;t)q4KY>|xNoFM_2*ikhKY){@Y9@T%{D7Iok!0H3 z3tEASx*!rn2fy$uVp-wAafiEayWi64|#0e-*=79(ClzB`Fi?0|2rr>=I5w|0` z1`>g8G@$(kJZr%xb4LfSfw3JMKAX$Z6~W)5ifZb;b+=UZCIVJ6u(t{fzbwG^2}{7T zp}ZyEHK2aSUcPg^ANAY9>)+a4ylrFlRRj31MS$Rn{>^J^wD~O`GV~IIov!BiH1vR* zu&jBN0y;%ncgYGXK@r1uELDMvp5R263bzsG2M+@JM}q-Sy+QPilw@=FKsCIbPaYh= z5U9>-ofD8ekYLPy&L!XK01g}lJU2D&*?75QS44dFpf5z(j2HESv$A4}R$GYHRFSFY ze5-TIZKPIOl9Fu%Hi}tgYsKZSqvZG`lN=Nc1S3)@3zkfmv`fbw7RMKO_WLg}e{oTa zWl@i+oay&Ko3Qt_Yo0FcmOAYw+a1-Nv(zZ(zC{VQwm% z&NcpgxWHGgUi#^s3C?$Fps9dy4Smp974Q9#t)FfxtLCjD-JfcW`tA;RY0#Z5usm5n z-yDIoFF&9R2+H*?&E|)_h@>4d_r>GFlGg{W6=+g{mj-;g0H4l*Ne$j_(gj#VDp*c9KcA@J?y^Go zc$>A-tFGx2my5+BWU8+L^}Ci^BnlCeZxXM6Ygp`cf>?UT`{7Ns_aFuN6+RqYHkz=- zht9-=dE>h$Q8UFWPRQtQvY<;g?J5ozZ)q6iS>=I^Q2@=nt}!iGq!^s%La01RIZ7dz zbpPkPn3D&@RMv>nS^BDW99Glo{xpfGBdnJIRUm?pt>zT`DtQ)jHdmfH?%^>za1lJI znLuP=vk_%^@v&Hdc~3}}UU8AjVKar((aoPGW@%_bJw&mXFk z%N8l3D3a#xRVhkp(+L2yoEnsPa>vY0%&t(hpe~B^hm5c2xUv!{OB6bX4QX?J*YP3OueslNyy*@!oHsCKYrLAB&btk{V34Ms;ff zFk|`b0suqpHlRj_I{g5S^1Ujt9+OJuf+y|R*EvlZC6*M$T68YOhna!Sz&x6w`}_pZ z1oi#|`oq1{L_B9`Sz!yYfJc?^!0uQ&E=d&uzdeV?>@y2xa;vw%tIsN~?7;g`$KX+j zI`sCC9tKtJe@5JgZwvJGIEo@jCKq*6aiEg|cSf%EF#uRA&}}<5%*h<)@i}Ouf!z^M zAqHqd^b3W0Zokf`tc`Lm{c140Ev0X*b;1C?&QQO@VA^M=-~zij47wX<=I{dtXX*cra(Gk@>K$GSvrDcssbtP4&?)*1wYCj%1m~E0l7n5 zPAQLHnFx)!E9Sbol5wY!pR)kE97JW~`*H@jC_Ugu&^%P0brrdUl3T%i%rdFcQq@e@RoN>dOxQ*0j_-eXg1`HRudsJx?o_-1 zqm})yA+)S;^4Sg^|K>fMo=h<7D$Lp%Pfi)1KAq!u#(2Kh;Q6f)+EE3JDrbe&Kpl*r zc50|`1vRQbm3Cg@NHeU-7_kjp-`xSXHe+qhmr%PkP%Aq=3-)U~upN?Ad6sKrPvgvq zG)?%Q~m4b_`7xQRkpDVM|K9G zAaWUQJ@Yx2B`7Km%%DhLN`hxWni#F|%!e$ZAp;e8_FYa6>UB=s$3hgzeOds0*_P^H zWNo$_9h{iKyA3c=g0?O8E=s-VSO~x+f@!Z=>D#~0vx2`#uWwX_x^3H#q5e8Zxo@(7OP))0Ty&1*6d}S(Fc3?G_ z-b$q6Dz<5KrNyIML7+0fU@n8_EIZv-`A)OoR0PVDW@csWb#6WOGHY4ji*kU#NyZ_2 zD+hqf0UVQ8LM8?=yZUB!nLLJqabjSOh73l>#-0%a81~>8AjQG++JCD-ye<=m%qk^L zQyl*-k`yXyBW^pGiwm58@)c%Jj>5r@{UNnjUYQ+;k!GM1OV^x|E0uM7j0`Hzv!b^; zrzc+__LImJ2$n>&h4J8nqJnzPfXD+0QUPArPkAtxDp+S{o!pcGL#ZWcx%_xs0}+p-i)6m8OW23^-ek-=DZ*sT}1dt-*b`teizyPrNqJuwzc zk6cz-TVUNTH4cAwfG5AbgXwaNSy$V7>7y2(J)Pr>6%KEYaJ)YTH`>-q?~b7N8mN6& zJ3X?tSg4d(4h0zI)URHy^;Bt8Hz!~KKS030W6+(@V zTwZiLTfa>T)>k^%(UsO|8i-aD_EMe3#M6LI!D3IQtTR<_Q0l=RMmfg-TN13u_s|gh zkMwM**Ff9{ubvK$)__kI;FA_Kslod-NK=_9AfsVY+>BP8WnK-ymbKI0G&b-zDnl)^ z)NfTMmz-o?QF3qF_quHy@YX%=OJoH%f9MqtG5D)D89kvjfRL`<`E-eA+^7i#;d2_} z5x$d@ocyTZZid>?C0!K%D(-8p!bV)hdge z8W`&@Yz)kNj`^dfnEv@8%xqa~Iz>_UThf)eK!yk)T9Fg|GKeJ*7-VID(i&MR2+Zd- z{Yg9pY340aAkS6Xd+NM>VKXUSrAliRWyfr(c%95|PP&TogL#Ty`eQb$NB4j*ur@^f z_YixW#Fu+9yQ4r3s8U*cpz{@Ze%NAe*tqms1;9xSx2e;4gt6x0CN8djISAb~%t_hv5mu`Uh zNrNZibP_;=6-;{vuL7+d&yf`s;*PdE0@Ij8tS<<0k=jV z9swr{@Zp6Gy6jqYa7*znSfm#A^ljHlucC*025{m4a1E&6y_e_pzil1-(pJ)R$?IGz zeqX<~0j9TYXkDZ!Q(?2XtQ}ZJCGH_=jug>#&q2kI0#^OBWNk4Vkf4Fc+7>eAiC+%N z9;5^7Q~zo_fKDmRS`d0!Oo;4gE=ZH363)OI$->T|b|XO(g|dgbu1%gK9MTgud&(z` zV3vZF76;I4!EOWsPNADp+bd$S@AqK9QCOp*xU<}HV>HmY-TRckmyo@*0%{C^mMz+o z6U;vS3d^J8Od&dgm#EH-n0)cwXJlP%ZtXNM^pe9p4GvizDls1LlJ{9=g;ac>QD&4y z+A<~P;UvejyS`R>1hrp7jjd9*YE-OOl@w*< z3ea%w5QwD$T$n71Y{t4XFy{-jCkyBUm$8NenItTse8$;Rx#gM{RKF>ydC&dLSpY4* z=&<<1bKral+8?3%iv!T8Mxrk5uTcQkxi*;>ic7ZyTEAg;u(igTLYA52B=F%;|657$#RLYlY(6vaU^pz9XD+^+&R8qh%vo_4_T z+&;^}2xycYAIbHE9fTW?ucB5ujT;KpeXWBS*>#5cU4;RnSpIEPo#SsJ$bA=B&s%Mb zSDdBhm%+XpS}$#UKXi$k*+xxuIsHnZZnT(pT0=yjD+C;_IzQ-=*UUu0WGiyF=Ju)Z z-IM@a%GFOPkL*!@f`=Mr*XGGtp9{5p)KgCuB+{~75fLCF_vAR)ObyU2Gr_W~?%Rop z1t1=3aP9B>nK-xClE($(0Jv29PW-F0bCtYi0C$9}9$PuU?!MEsz{Ld?U*5;!!4q)T z1;M6BFXr&?enuu{kCY5+a6;$|4?xmUTOm0t(?C!+E1iw^Lh*WXsO7^a}$lixR;RygAg^s5=W^*&8reXT!?zH>#M3#s4A5L zb~#l<7Bc{9?$>=1^MH&R$7_c&O;M*w(Z4)eiwP!y5jJU2lSu^FM0tptKoqQ`(t6MU z_}NpuZN0RD!AN)5ZI-xqYl@%#^%MN`myfOWowB~tXf!%a=o+&A(x2_&;XmHP*}3(X zK5r`=o*I1oc!uKz@M3?A=eI{Nbp?zosJ#*N-U!uRV=b@7mg4Qj$C3q=IJ1MxvzTr| zXZBY%5F{*)DuTW-hCX0)$1`*%3tMA7uHu3t)>je%vIN{FYzO678W9|aN*Kf7qd69T zd;zoubZ3m}2RE&UG?!@7nY~uVR-qiYCUaVPY)kv6f(t`ySwA3vE0w71Q(PQf_Iib? zenz!V_7>9*G(=DgCl*IZO+&I*^@1a*U|3kZD6_tz0;RmL7?IfNWZezzYGB9F!H*Z9 zV*}o)?avfPTef^Z-vA7617H);Tc=ZX4X9tiE2nzDNgwJ>aRa@^@4C`KpD%}BUfKP; zZNY(879ila;K8;vF!_?-O2Pt%R}UV}em*p|1iibsEf)kwXz1`>Jh%_3G0}?86i)Iz zaLpO;E%;a`3ZN#j^WlMwcCdToeQ@dx9c%Oo+|v9zlBj;)F023DWq;Hl$F97Kg4w?NdfljuZQbG;z5)-_>wCn=9#ON z9yL1Ng8(NIy!t*SrbJ|s!NtR}?@QwWhDyDwh|++F^7IO126g#*;pNJG#*I_ftm1TS z@j`ydz+mgo&S1>{N4n=Yv!H{Xaawx4(M|RDh|RC6;59bR(c$C>;Ke zn>hU49bC*tn05^=mKE+FwfOvrt(Sg!tHJ3_=Py03LsnYvHMVYgRN1U_B}5I?Kp9PF zj?#gEf?8W5*5-{QRBU&Ba{_G`-Ps)7^BL5n0_{|3kjV$mJiCUGSv(@t<)?O2Ru#K@ zI>qwSBftRa-VXG44?vZRIj+d!#z~*;uL4vC@E76O2>aVrhF zGXXjSK3jkfr*?eqkARA7t@S0r@U{Rp3w3m3%r)ivU3_^k?K}9b?c`0s>IyiqLcsC0 zV6Ct9>oV;|TfEk)4u6?`}WMyvm=E%ek7s6y!+lMijISmPl|EZdVH% z5f>#3xP8B?pI$CuPEOE${u#`RBb(t;k@B3ol=T$QiuYY+TJ9{m725ZGs5x6CE z69qE@=BEvw{MS1;{Pc#cmo_zyrwU&j&hg-Qi8EE<@VyBxb}FE$ZN2o~2-Ut*^L9$! zR4Y&|((FpuF>$%3o~W?xNYGYTcmibd)NMr;*zW_~`2yYH)Ml(l+Jbk5OnI7J*$M|y z#-9BX1Kb+4_s`M(`4muq{%{ZK!`-<2sHn6a?phLVFnxU1mMF94 zV%OiwM^+$R9fFv*YfrhQqSBz7W6%wNr%UkB%#NeI5iqu;2}GAWM7}IN+|#~2=K4Aa zKwksuE51Caej5^fmp!_^^RHKFUG=*AkFWSf-V&nbSNO1e#qVDAIX2ensKgwhH5Vfq z__a`blAD*msMbMPrkD9D)M63VWs}$3^a=r}p*Qm2^XB7*v%mAoHHCZsz)J7i^tK9~ z)-K8(4udqHaF+5@3(7XUB8ZTy7^$dIzHa4AH0B6gH$dA0rcG}z`Ixfc*nKp3QcE!} z2mCzs+qgrZ%6Q6BtW4fe%v=lgZi$SIfw?#bfB6NvM~^^Vm#Io4^8=0|TD{nikP4Oz z#k{GM%3F}qp;gGPvf)H&x);+Zb?ZP0N_-}jRte;9=bTE+2^N>xBu`gQ#ls|Uh-%4+ znluF1CE?wh=>~W@I8k~KC5phqe?pN;1)N00Ckh+IthCQKXQ6<8jdVVji4*z&W#U=P z`Sd2iLUqq7&h}Dff@GprdXu}_-uOtl4G||=1>`-rUF0hIsxy|$4$HO!h%wR~cB&Td z-I(InKYfV5`q3d&W#^+&0Bb^5DYSd`&*_sf9{%6=aCEqfc~@iFH8`3Ae|k8z{?bi@ z!+R4f$2Kdic53MTF{(W)KBguWXjDN}6P)_e5 zaF$g}v6Lp1vUny?xZl2W1+NT>bIe{xb&g)Gwy>0sfZR9fj`c~$qJue^1E&m(HF&qa zva``uv)3g*>T5v#4!wNDgqhKG9qPJ%XP@<2ob2@mJ}%#en@YNG6HL<+I&Jv^Wf0qUnnC%?ypN)HWMB32!hz^Jw~z-50Itl@e8U=)Ut5 zcMn*kKcmF&nac+R34Df;ZNFaH^;vQNEYZ$;*A_Uds_bc82$qG~#zI|nWU)HIGKxSO zP7&Nwz(d)dr^&)ox(Ui1?^JeOcb>FVZ)VVP0e@!``mds_^qYWA*UCueZG7I8(s&pwvl$T0Nlb|B=Lt3_}!W`=P zNpEQ7=V=NBSGN-DQ-X`A`YhC~NkZZQyizGNwNA3~!xn|kx7!E)m0hyOfhd zeH0+hysD`%%s7iYNbQ1bJ(5b@%3C%0tRx~(G0d3GTASg5!AKkIPv-dEom2dufBPjq zc<%yCK&P#Wx2YAn5m_*8G*14she!W(7iXu=605E8^o;SzqZy7`#?kH=FYb)djck3g z1=Ax3rW>e94K-5MUz&RQl_{lJW@DuVm1F`)a7|Q>C1w3g85HxGO|@e)=R9lCJ)eO_ z+FEYq%c#6>ceA|cu=w-{-Qy`}TtWX}A9Qn^fJ0d;zj7ZO2*S#&YqXGyncgHQM+F-! z2}lFTj2|RlkZ%As#sO;z!CXRNEzC6pf^Lc&mtxQ+O5VfrqwKTQ3dwyY_F=3<`PJ~A zZXGF%n4+BQr(W?LGT4xhOaDi$KzAmfj=|>(@YC~RP4lY&*#14N7&#D%=yGGJ6AI1{y3u^b3$6}a5^WIrTmis2Ocpi5hze923xcf4$BX^gp}D5 z?w6yIc%;}8v{D!~6|^WP2~<-`ndB)IfFp%J34~-IKc8CJ+kDMENyRIUgO`d1SOBMCH%#1~AuvoNUV^C?vSarB{FvGw7;Zyv>FYaU17_b6N1zRs&E3~_W zb_^`eDm?q`9X$D$o0vNl@AIX`{TD4hdpg58G!Ac#ae8xXEwRQm)NW%b-uqU7%x0yP z^_PYdj`L&JgFhn{h{9xxED>2ZizI8GcpOlf1D@2)W@{zw)Tnl9s|x<~0$PZd*?C0? z;NkNn=6`wtbG!idD(D~H0PWUc%*((JxSz!>kX*!)Oi7(}$Q&m+9vsFj$+9j^$7RZ} zC}nv$20a0gu{Hf{Jq*E8-yyT6O7~Fe#c&gs14`Kg(WZ>k{X?!VZf;sjL-d6rG8Tit z&$j;CiFv_r&}Z<6c{T_h;$a;V%sZC-ZQ?z$CeZ$PEf~HkExSYy_bgyz%v&h{eGRC$ zflsqY$=8XBut~Y&&>puc*_0%YUIzHTX+X!X_&U6$3-K#>7+&>5+N{qu|K*zBZ@cq1 zu!QRGidj+C1~hHc+092)5k9Y?a3?}wtJ;``a?h7|W)>`I>G6b10BH)qHf-so19u^^ zpQRHAKy}HuHlwjhOBoFKUvuG*Dzlp^r+25{%Y95X90^GL#0jh``)_Zp*i){hw2A;R zGYt@o%RJlKX^u8nOsOUh^~a>~-p8f|W*49@KLI^{XiFgcS11St+JWgfpn*p{blZn` zveuEPzd3~WD{<5p)Y2TNMK5Y0=EH@fY>7fHRC)Whv*O?wti;MS`)L3|sF#;YDu^=S zzO?o@p}-;)3=2bBOiL1NvT`XF_FR=FjOwZ=9G2X<688tP;9qnjQC1u8`^&Q%@<2up zb*C9i7T{V64wcp`>Ma*(x|5{9u~@G=Fcu4g#j=GWMy(8X>kjYVI>X=p{67Bb2hTyu z(YtF4rn`}&cq@gAM-x2y&21b%+QY1K{?ZGL&!5ck;ADw2UE%QV1k=3+7}cOj1?`l) z^hV{m4e=D>{>}yIFC=~nE&ww_@V_J)Tn-V1DI6(z*EQ?3*~Um)yN7$;=ifFhoW?6JE;&&g52P z0PbQYnLW5Q2I%bjl=K!i4h)-Uh34CcJNJEtlUnR#E)rS&1IqSFAB<5nct+Vaz$RBZ z=UKo?DYR{S4XEE`Q2n*?MJts`UIxQvK{mQVvhPZG>+6;o=T~?keyulf^?thqDB_&Nbl%P!1Se?eN`$Mm#c4v zI80MtTWsTd3pQ9oKr9Ec?98;9C4k5v}Ul zkTEgnyPjFsGS&AN>wT?L?oF(}2F69-@ur8TX~0q|&5mdFp4^XT<*|rB*_L&{94X;) zj%H%UDMeabUy<;Y4x(H_`B{2QBigm~Rw0rAU1sWHKr8$v!9ccAeGPn%;x5Z!gi3VJ z#)-;jkDNH*$D&gpL)S4b77Huv21cz7Zj6`s!MBd_fBo$jxOaPIv4?j4(zQZ2A#{6$ zWn1C+4|{m{Pj_)X9bwirn70*u@lhm0gW30K(G8x2z-dmiIX_$%A_Xk?J0ccXA8rLxM7VY5$ zP;2Pj3f<`vi$5I!%MR+^2-QaiKoxDj`chum#FT!_lm^O(gn%7oL%XNXL8*^*&?86# zU_9VsEhnI#W0VO2tb zxP&Zu_;9xZln!I^98|B$REs0HQfaO5An-0_ss~iT*W5pm0#~)oRI`Ef^-Vyv;QSdj zP{c7i?VeYvetT;!D_j;mrO_^+jt|j%`6sB;7k%2gwABv0a7r?^iHo|p+34jf4ywHj z5WAXe2r-|SO(&43b1gGQNC2fkW+g{|=i$$A0;a|A5jEjNBD3u3wMz%QD9}YI%@YC) zCW3ermCi+aon#hWh=g&rdFE}6Od!oppUh@Q^qEh5)s;eBS>Z8%I8T-lN283{QK5KF z90?D!Vkwq-e-g}xagw%uz6|xs0*Jsm%SK$%^d&#W0{ES4SS^92kTl>)}v z;Ktq*zx>xv@V9^S0OQ)0OxRj!LRS;o1BI>uW@il!|LG16KRv*7*;w(hWrfEl9X@?J z!|@V0I+)<-_82^_t@zlkRq(F%N2m@O=y45IE2vt7Rp0ksa*>HCQH~BW{%!_Jv9iRX ziakA-{WjCD9hO;3Ap0IiZ1Gu4tFjdUsRw~j@wm7G&aNU6AFyVGCiTtRv&rD`Oxez(bCA3#xK>I<)=gDmxm;cY>UZrW z&BosvUjJn+vWDz-FN;(7vNY6p^!2XRm|rSbvSv`a zZMU?UYB>5zr>%EdeC-*@rM`}2gk!%sz5;D_Y zNWmWY)`4_2*=Ri#mAYv)s1|2f3}vf%p#D*OhP8GQ!d-eG@+z<5yrZBJ5hCL~tNq9% zZxcj8pq5MvnxA9zrw3f^fo{mNuwMuJUb33tom`BRBv&T~X<#y=6t4KxmssQ0ikGQFj4Ff(a+PQ3JYaDQNpszDdV5_sg?-=Mz zq&RcBXV{D;1&{dv4jl-k%83LrSw-whL4B|T^{t)gRm~=;-<3gCM&`?$WMmu_*%;wX zA2ZF|+Gkb}b-@02#)3=RF7Er?pUiCO(Ec-ya!tmK9>Y-H28?~}y<}ZDFK*6+_Z;A* zn+?z?;MNHG&KRha^=YQe-qKO6DK+~}&m8hc9S4>H_4YH)&I~!C9$3qW1)G7>(h7xS zA4v8JWaZ{$!SwReW1!_ism7}V*dA*ER=et(R7d@d0o0Nv^G3P-o2n;n3xr=aVR;Rv zzb4=rFA*J~Ei@Kg5>(R_9;^hUx$o(@4$QB``r={|R5J}Lenz>^OE&kK+U}gjo)u$8 zFwpb;77KzYMg=j2{a0(B2qvJqhY zsufv#E#@R?5LJ;WI;4nuF}{vEiCwr1%yNqHvoA5Z|0mF576A#6iWPB`B`SGGu}~0~ znM($$eVThdJ^2<)|;0B%NtU zI#Be95Y)>3Tp{d!R65KQ$Oc1{q)H199g^9^tX)HWbF9%MMbMhi)Cvl+e;u$jT<{R5 zggqLkCA(Xu5Qp-${=U}Q+fuQJRTTqdQgqBSiH#Rb%e7Xba1|-{1l%W{#F!_CKM91+ zFfK0U01UKZG}>T)yugot_yYgo7hmGm{v7N?-b@8_4WZlBX!n5Syu$O}-N2LI-p2W2 zgjri--qm=10etfK0?*D3&a}p}_a>N68nDt(m4<36sHy^K2Zd)Xx><|PKBxn7i1n_H zjvlgoBI6mrM90!(+YT+Q08LO8SqiydLx`X%1sdBLc~$F}`P2$jDUc$lTJ`#$2dp%y z@IGdM=PjmRJV*V#Jzz(JYXviFfw_TMngrwru-{q09J25RuI86xu))OIZ*m#&0RF|f zv_k}k!Bg5~6yE@&(&waMnFq=ZTjoW#IilDLE9<8&_%8&JQ z#dgV+yQ%z)MNlmPKCPH0bh-ZHthP2e=}EL!qG9Jqpwy5-aE$sO+JQ^Z(D&xZn}-#^ zxe%D7asa?rta9xr;9jt-2OPX8SxO%=!d8pGpl*rgwOGvw=jIeQMG^}gW=SeBmONvCqm46@JK ziVQnbvE^8T5_f>*+>2g3g(^_xsjxt%bZYr~4|o-tN};Y)Y(wt*2=uBP3WSoJc|qg= zFyt9OW>KlA^3S1Ol?p&7)NH%!D2nZ=JWE47uhy{!+t+~;M{jz=jOC)mY~F%kP-}y6 zWpMjoieLVlC-~K0KSHf-Zy9Yf)9py1-B)PGg!#z`PkwV7&%QXothHI`i>1cn;}#!3 znc=J@yikPa4Ou2Y2dK)P^|V&dm4b$XHm-J6E2x?*nAIu>dHL*b&~ETv&v{l@ux{c6 z>sy?0W*I2G#(Th-VxVM5a5`7;4nH!C?reeSSI5xrO`!K1C*Hv57L4{}0X)5cS#$|N zl))Y&0*5Hg2^GOE)#L=zV8JCtKXLf>lPnu@fR`LNR3gA9!LV=({^Gr*kYHoP)s7cPCK0HBdR)Ii+h|PdQDL#`M(Ggb=Bn1I981 zP^wa=>~jO|FXDMQ+h1a^LNY3h1=F7#1B%f6;6@A(tO3JU1=xw6g!sEs3d`m4Iz#=g z0_wW1L$u_L)=*y-SG>Zkb?JajUpF9nZ4b6(Oil$5_7X(`8;nm{8R+2+fb=Gyl`i!b zIOS!AI9yTY4THq`o-BoU9N*5$R$JOHY%63f^~3y#IN#1E|!(C!P5l@!25hfDSD zb!+mvdg!6&8no3C#ic{);*tWc6tHaLTZHi`JF6_ulJyo?1OTRko}Xa<{y$^#;y%dv zpZBMgpc9M3F2tEM`reXL8P61`OMQ_Kpd>g!z0&_g9h)ej?~*?tD%yw$!8u5y6~j+i z8yrvR6a|Ss<`M;h5bK>`9O!dGSv@aWf7lG?*NmcFcn%LDO9x!e1P2+zvQEk|4=P1y z8XdC9F;kz>K1+V#)CbkUHY^{`8i^$rU>O=xi$H?z{D(0E>uN|N*IWeDNGP}?9S;HA zr}MNkjOl!dwr!yRG?l^LXo>IKJ;(q4t3TuWAD&vRC}r!jO-<;=gyju|77C|--o>N; zd=IC`V@vUFYn;vrpFf@B!SNF3(0FlojI-Sa)YNEh?m+J}s1GKn_G&9YHmRX&?SPiI zm*N5|fD>Woq>i8S4UJPXxkA|uaTX_}=&u&3{v?OVsMS4$Eg#%$}a2 z{_X+PxJrPQ-nWY8{GB~4pPbuFH94Cp4S-0aARv{s`(|Y`we>r|2F}p>8(Nx5hy283i25K#0-+ zO0xGb_3gP5lR>#hlt5_y(CM1h8%|zpA(Y;TEI6#!`0|f0K%)xv_isdH^bNpp4zRa{ zk*g`;n8d0lAnGR|>#qP7u zvH$3gsFt$`R(zj{OkmG?$f?E3`N!VXC=r25kYE74Jpe$Il=u?mc2FK1$;t{@11rKm zoPkN=UR%rYnb>EE^RR6{l>m2e1hgbU9`%jX$kkXWZxZdR` z4XQ|BBJrp1rywRJ?!_k03>IyN*{p>z9cs-ORR%XEGyLn1p5uS})qNc7E-Z+w0HYbE zao*DV3iD}=7r(!O$G^LU>0*R=SL33s@a&B7$>R$=zhIn?YCL~$2aDYrG#a7V9YODn zt?<}>gKD>d8e2;&s&y*-PQsj z%0YAHLQl<3689*J5Kb5N~ z+6e>$)h#eNeS%wG{SP!3&xQD_I4G(#^U^Cx-=H){S|9}huWa;?N)^8a>M5@4JTQic zV+KgRhovBysL@RA*pYdzjTMZjoOMW9J#04-;^5{lTS#GFtN0h1Wa@T%V%m5H%X0%mCgW}iWano^FG z)hdoN%>+{U#P#*Au^)_KOcyOKrVA(qjB113s>RLy8UFsK5Ag4Pe2BWXbbF%!(^yNa ztgleyWZZxRT*%T6hD+IY{IA$o;xTpXRS8fnN6b(+|ej3(?jF=0;d6bIKmAvwp z8CZ6hef9#pTcP>rpcs_#K5Hz-2f4APDs6%FvI}#s$aqRDuS8(MgHta8F+f|1p7lsl zuJU;k*$|i@2%5xUGh681tyXS*qbOLG0{qk#jST=zmJWVr40F0b_viv(hJJqsv|C#Z z3MDPX3{oM;e6gl9qQ!ZXtgv>Ay*Drz{74N!I+X?%DFzC7+F|*}=TN&f^mh(iAce1Z zI4c9}P3hsr7-+2n8~B@Ko%M}U`PN#8=*c_%dL5wm`n9IZ*PJMr5 zqbTLFG`ZyfWp6LE~L==4h$US>l-~d<}_O=OEOeWEmYJ~FdyVxi?g2;p(=!Q+@;;&j=3MxU@x#0 z$8qUd6|HFBfrFi=7IWdVL3x?|-;~UU7s&`*>IV`v*pvle+yOBKJ4i%(36|bnS4x;K zi}SRy&tshOF_8tSoF~5(MbSAi??|NpoydBXYo!qDZz*LTh-|84%qDc(9%F)HTM{KD z0F>FdN!lv|SS(wdo-fcYTh!X1sTlj?1-|$GDgKY2e}xaUZs>l!7rPsC&QBLiyJPc(3q1beT8u zD}2Uv*MHr@XT2|d^ELRi_9riSzXe?S>V_;k%ADEkriiyN5$N*6f*DvYtyi(D{Uy3Y z3(J~t+9c3Xf?z`_YU+pmH~H);fRTT8zz%DbxL5R)9=Z;aI_7xhDA2GaI4mlDbD!tC z)~`AqY&KiJ#DTJ@fUW~A7pU49Zan)0H=q6ss^v6%Tv3`qP48ElM4{J?oKOtYLz`5@ z?u)TgUy)n9i72CSiwv%$zA|N5T%-ayKS7*>nbC zgHdg;Q+L>(%<*sk;u-$#ZysW2(t@3rwW-Lec<&L~UBdjL#^L{W3s3*~CZak|eRm8RX>b)q!6>uVD!K=(401x$ zX2|D@YmT)#cmfg=Q0n=N*3EENv@s<09uVRPv)-^SwD5cAnZ54Vw_u4MNRb#USM5}`v z$uk&iq%uewOjO?P8p0cmfNrU1}Ed?*Dg;E?x`|Zwah=s>|sS(*v}`vpH`o>K~2*crz$eGZ0GD{v@p64){uj zwtDdrPHG;bkS__^xyYpEUoEGCN_~-uWnFX3wx-!tNVXo~F(!qA-%6->W&BxCXSH!O_VKZP%iLK~r_uZI*cd))fE#uOH#x z{Hy06ZLi5STj8;W&>mQd_r;Sj9{%S$IDWK;S=(T4YMjkAzI?I7=ZABg8- z3mVYx?Lgn#fjM7b`QY5@wA~v6I}K1tp;EVoXe5f`J(o#U*smDFWhZc|=*F-2uI~N3 zL-)_mq2Cie~ZQI~S{k0H)z6R8ndwDSJx&3dJ2_a zuk(K1snZuUwlx6@pXHcATPeL>0M%(5r?N|z3u2b;>xwg@Se)Ir2uh$-s241l zCX3IKX)&4|B=y%g19xo@46%@V2RPd`LQSDiTGB$85YgVH1;`7ZV#;q3j!^ zjX1MT7yV5u0$HUnSy@q^(t2)pPi<@8U2BHY2!NbqrkRE{9N1+srEOP&vSTW@JoD|9=AHIDwUi-*6thx6$O^LB(;SL1jFeEevN$EPhW>Iz5i?O=A$ zfJP%!I}NJ65%j?rwaZNFi3QWDau!%J;HUcF)!X8cX0Q?&>wKn%{u2Eyc_ow!5TxK5 zIm%0VYv&>`>oEQ5Ij~b>{L#%+bI@?c0Ls?DjKCm+dOQ&8B&DFm z`Ppz6gKxZIo0Pyc1P~Zdidoj-kz55x}zq=DSXwl@GAhZ8`Xcl zPQcAu$DXgacd>er9;}7sD+fAw?K`N9C$AVyp)Ga8+G+v1jKJ1aBTU-~EOEEAhN;eO zgmSOsL|l!oIJ#CStTXq=pb!n~N9j4!j^QHyoLEJ&NGu%A<7&o8%3-og8)Q-JxZ&p6%|E^;D zlcJdEO%OH)_9sqkqDdTniu&q8Qo5fEp+V&V4(GTivXwW7BA*#mXzD6}G?p3Xp1Q3J z)KCC^qzWS{6AB{})$U1Bl5+q|NPad{`4G4OM8#V2UffI4f{}_4S-UP^;N%MiqwQ>_ zu+}a^j+ia))l@Qyg8n3I%j`HxZK`+`QKM82K#`ZAw5{j%k34oFu7Qxn<)LOUTWE*d=kueb5+;~ThG zHkh|o#rw%=hff|)@nQyC?2K^y-URLL2x`>Wdg;9e)xK5o)_XOood%>7RIO9dDK3D7 z;x0-7bQ|V!LuTsxz7IIbPG_;xB)~SLRPO^%9M+m}O;?NET`Y0&#dB2O+J)X9#l9c1 zFP7?E?wM%7FD-M@E*=V{n6EJ%Ol#5z%&IMUNUJpjw>Sg3l6jPaWal?u>3H8nJvDI_ z^~!0moMY7K|7Y*bpDRbMGtuv40=PTZVpVllZ)(Z1WNBKKEX!)m_$?9s<-Ld(@qT&# z?u&5DgqL~tXk^PXvbwAHT395D;bn#0$c)+9Pu?C)+jUfyd|3$D8yn5@_o=(zeY zVs@fxLS50z(u&)PF!jT@xtV9wn==6X!P@IdU*jB$K zHzzu9Q#w>*5qTpuwZW<9f%aDBWYu+Y9l9If*V0EzK{N}|bKQX^#IY_+uw?gFyT(g( zRF8dx?j3@kGhCQrHl6_0HMTp8#n_D!)o6SQ>irP!i&Y8jLXo}Uz9NiCh zORcb2(^aj_t_!I?&7F(6U=6SMgiy-SfzzCpxKv5m&7z;*H2)wOVLzRl4YPU4ka+hc;d)q^_d zfhTKZUrj-gg1*%O`VkO`+-@;nbK2SBg;I4*gaAa5LL5b{H+plQOYWZ6 z`!`jkANL-&bms;coLn8I-Mllq9UihqKim>E?ip*j|MWJWnyTz?d!6fA3=0N{2!2*# zd<37K8CbJ{A|Q^H&}eU1w*`oAZ1Ux`^^DqFbRDWolI!tE?tHPgngmvc8Ch;Hp02Q3 zuMts^D?RLF*y%6v^FKSn&wp}+UYvmy6}i$8!9<1WSiVI_Q;ny;-^Sr@_c31-^zKC- z;dD;;>~Mi6(;V|S!P!9{%dHM5Ne~UJUb=&LtBYtDL-pc<;+^O+%N&j*!paHQ<`3Hv zt$ZYuRDH*Z+FmkUXlU86xF4O0h5Kl-n3a?$u(8lNHw(vb^uwNvCN)?*I761@=zf2v z2KH6XIR^@JEsr{OB_;lRuRFQiTod5dW$oW}q>I-HXK>>cwL*E!%|)YpU0D=xzf)$r zF;t{o>hy-)1^LAjPu|kb@e_p^&-0@3*s;U7UC0i2o*_S3f)D4=I~^!X2iN4Xiiqk! zcVVO{%?o9%oD9HcOJtv%A$o5Feb9F)`yAd_QCU>0BjIk=j4bqd_WW#2@f%aJ*YHPz z=$G21rsoJYFY{S9#oN7ZOY&Ji>s!%je-%QyFNi~ag$f!Z7i95JueL_AbFwjOm70L{ zQlsT-%~~qf7SK8ZG~)&et7QR`l&&{a)q91HtJ>s5D*nwTFqnQ=Fg%L6d?{a{)Uv?= zoST!1q8K3UZ02jQp97>zQzMu5+prZ69S(;JC~jjp-~zre{;DNb%K_tVCJvbl@p_8w zqffAX@)=aV7Kcs^5bDO!xW~*+*3kyig%?>Bwh^fRCXbmKF-r(aDSZ$nH`q0^UX?l4 zssz%y3D)f1Q;R%btIe%31(Ylvftp&s@?glv7Tny-ISh)x#UbTJP_YMQSmq8(Ij|;2 zpR7uRWN$&Oy>)?`?(D?mXuIKeugjm@Fw8oK)`SSE#7bTfNP=|=@Ar$Bc|Z(89}rP5ReQ6ydL$eSdh3ruXYw%L6il!I1K?CtAn;O%4~bAWh401VZDUA&k?x45D; z+c7EK$IU9k{L52d6ruC>c4J*>%aAqzKsc(e@r zH9Al{lyZ`O1U(oP?%>CBWcSC=qZn$p19YPTaj{ngBZPD^b#RzrnDZspe>g+@y=|!d zZu3dd_Wblo04?3-o9td&tYu@0ze}|5?+l<$)3nl2TL-$AiKAZuy!FOV?3u2?%e-iG zwfRJ^#^t^I(g)MUwGj%4fpt`D7);sD%kySQ z+k5cPCO2;e!VzLuRpDP{_J;oIBi`~{l@98B-F#?MY${92m#Y!ui**RDSlHFEUI418 zjc>y(W@}z^pEyUfo?&$QC3cVg9npFYKYJW3PeTUYPgLL|T>a06;*$ zzo*7HyM1sO!^YM4)x{B)ecx##$rKX@?{^7{{8^t(;k+2f>j=4ydr#Yw8Vq66f>nU z-tS|+*8_KA#Qjbci4|KQ-A|yq5p=9;&kB1_dFFOC1-YKD>}Xioy+;7xKp(&0B?_?A zH5VVGq7tN*%pqbf-IdW)^i+}xsq0sz$(Ws&3}G7wV;I?Fh53Us#CHeK!=yegFP_P5 z@QQN@;7Sf?r=@<}S(atUav4`8Y1|xoG!URjL#e{RjG2qPZ?W!I_oiVHOLhSYEM+Q| zHtfi(sU^#^VVEXL2bTKnEF^VRkr_@Ukd*TF5rO5ML|NWGm?DC{(}%v(hdEmzeK3X6 z3hGt|suzQ;L?KjEaBBDrbF@JE={e#b?m+Ey0pn`AW#l%5j|4McqULaOW@Pq#7F*fw z^tU!u=?$Q6|FLd!HW%%c;`P6%Tt5Z4=5xce&jhM(V!*D#l@IGJLx*+gG300d zW6P7}8kd0rXWeS_?Em2+;Cb1OK3$aD5!k8gYGdS7wngYCI}a!~8meKY&701&HO$yW zGNE17O;lZ!0_nIV2FnB05LI`RgGtx4(~zdD5s2Fot7SVc5-8E88UQ!*xg8+x>B!kY zn-u-YBkVo?S9F(SK^>$Tc6gh~I#;>*y;a9IU=TwAH*F?SY-w8}LcrVs%);H9Wv52$ z^c{*gJGsntp0aWyg#2!Am1FJO1q<`BvO8r0MprH?1eJq0Q)8>|=)h&?UHQvU?wp92?KS?aUDcPG^D+awIuWQV(CbuzgU(kh!=V7EL6^4vgcAW2jOY)G;d ztc$Px4lTzPeiE8nRFU*=)`P;uJ0A8* z_wG)immVh2y}0U1*Wg)ZgL^b!3jz&0U027S!|PsK?S6GHco)icvx{p;Fj?+u+r6c& zntImA%rw!ib-m8h9O=_J7RNJm-`g(orM;&<>e zCW}6^?BD{Z^3h&Np!kXa>sS8grGx65I*5xh ztS+9XH#=RP-{jj2^hux-77Qq=%sbe>?i=L`&o(xVcX=Dr8XZx+;g<>U2{+?EDJ}L{YVArI0gHp#4246Z^cUUcDyKSVJI%un^phkCHcI_># zyhSNcoicll^5os@lF?4ub~V|ds}_6OrYuA*6G{{-SfDlbvT*Bc+Twc*6PBwSkyeP5 zSYKEaBV@-}W*k>BS>BRbQH?1~*g@@b&8F7yr@6uTWQE0Ig;*K%V@5AtV{f>^kA8TH z-+cTS-9Zi$0UQISL&&3|D{Y8ijKbn+2ao=4AE)1pur!77*eum}_%y}+CriwX!erFP zF z7F=3`EYx)KDwvF$Afqn6m4Eh>fYd6G%~^W0#AG zLJj;wRd=F-mTiRjX1O3yfSJ^~OYk$TrP-&?R@XIUrS@B6mz7Qc^&&*?jlelzp3ISc zdJesvfOfl}xQN|SrQsT9jQnVU?6Y$uKi&gbXLor#BnqUW<1e384BWUG*+rkHwXV9< z%v>>p-vH{@=*K$F8DkK~@ynqhJWJ&4D-x^q!m!s>DeE_R9MAN5bn!*H%6PuCLJz<2 zZ=p?>l4_4$a(J8+s4BN~ZW|Tq&6DiXo&Cz;*X0RU-N4I$YUgVB{l3et2ekR7;VVqn z&})?jX>0gHmn)Gt-fq6LO<|%|=*z`J+j$*@a+DD6R#QXj2J#YyTizpg9Ar`?%Q1G3 z{~cTBUqhL~jjh^1_-0S#X3wQSqk-IPB$Rv~mo2d3_hGFf$@FO7&__nuco95QcJ3>B zuph@HK9A&Pw*0jwg(y}fSoG>0KKSP1TokC%$-6+Y?oP8|Zy!i*SIyBobHhLlDlD~> zp|wgT*i(HBTmdFjop$Azz=`g$vU>$@4oZVNM>Oj*h}i9tNoQ`!z~*Mr!x&epl4b@u zF(O5XW97=8xqY#s%G6HOsi+CQeG^1^eT`wvS1HcNOBj=(s~Mdr!*Gz|t=$|MSh}v4K+cTJvPXc zges#wU_@yc$#WdaaP8K2yMmQM{HLV7R8j zkOvrp4>N8WPO#*@OY^xh41=WChPVCDcl%Jc`{2nM`GX0dHPo#RFiZ*$f}=UI&&No9 zvs+JEn+?zPoVXITcVHPSSF1E^oOpEOMoMNv_CO;f~i{Q90O zKl|(GroZDw0NdvUtZ(Eq{e_;dRYkZ=oYl7}9gQ3SO>RbuZ_DJEHF<-xvDAE#Yj+zU z^+I8Ni%;5gRxO|!zKPIH-tcsZNpcyP0e~njbkfi8^^HHWmjh}tFzE^aQd@VKFAJ(^ zb5$hh0&aEEb8Me|j@{!=ptH2zbdvDsw#@(;kwqo_)1MbW(8yg0&?K0eO;a$I4&JKa zK5x6c<^s7twG0cD5i|~2LKQJsky3&dj6eYhph$L#TrgI-LW>M*7i-ey+tUNgBmsEn zMA>SaQMrGIK96iSk$pF8(fpF8TtV-=x)W#Vz?F6pf<{VVrwgjy$Bs^%WjE7{6Ji6T z%*aiSI8ve}LK5p&G;j&th??+H(pi09EW1gz4&L+S3W^Q-kwGuYu)np$5B}sFAOGqx zM%(K`E1gjBzle}4+m$9P&pLSWPrEqzd<)AosVLsZGsYhu&2YYCOuGrjZw-<4EycTt z!-|Go#9K*`Gu@4$5?y2tYj>_yk#trw>YK&++S%5nPr{JS5J}L+kze>jk-EJ(jjT;W!%^{KMPMhKi$Pay6}mj9SSov zXDRc#;#G-)IhfR-?BC0%vD)do{yeP+=3 z%F5^6>q0Vii#b3mN7=m(tX<{e!N%3}*ke;=q0qn0NddHzK#dZZRSt7JhdEy(dV2_7 z8YDm72aV#Qs8Z^=30@+JWEN0UV?um2F#IgwT7IVeuVn~27~DKKnMyc^r@77)l>(R_)XVffoF+a-pMsSR$4O_PoQ ztwopjf)BosZrz4*4VbBPl5U}Zw|&k1AzarViw)BZ1m-$yshdJ%cnyiolNiQAY|%9C?Ou z;u^9GN*nTr09k|^^&N6)>yA#^{ZUkZ4?Bjt-0W=o^IAHOgWQ-hFEd&u^%PBPubXeX znT8!bEqO~ym1L*uc(F!}Mb_ZFVp?5P60u-q+>K>G7zS3E0p&of6=F>dOz0*h$T{Wy zyAg$3{=qP?T&6giEMf8ti8koy3|rj{clHE=C3pgVD?l}1h3 zE-C3gF~=I#QD_qr@RG93g_^+RTEPSnT)YIo?>}C zMeoC1Akyw4!t4}7*rz2_9d*IZl8-cHwg2Lnx#c-4Psf<*JtQ?1)n{-`Uzc|0_D(0j zuOV~JnHXdOdM@#Ks-vOqjS4mm7}339U92hBC}TO~ju9p` zE3-|_&85KbO#o~utBs-v#+Wxb)UV@@1=3lTU2EdJ(DvQ)dJo?qXnv6t?W=Z zCAWZY)HH6RU^wvbz0t2^r*`aY{G5k9yI|RISK%8SADJE6{6K2#Mq5F(bW9F{Km)M4 zn!bsfHTNd?7cb<-S#7>~v;wJkquI>G$0)gs@X$qoZVePBH&9-NZh&XpI6trJU3PFB zFCKUsKQL6jMt^pM{o_BNJ3DC#}%Nq>ZTsQX$+{x2(e0a#wSsLR; zwvbKjk>7byalx;hs9O8qjbo^Y8nG%q^|5V^`sp@u%%uv$Qd@(x?EnCE+0||?uIwf| zqG^WXmK^jNs*cT#gR-Va%wf-_s-VD4a9;qIfJZiYQWe?x_oi}jt%{S8v0L^1P%njP z#>nyX>3lH-7`DU!xy?lDzP$$yJch3z~oQjDNc}62A$c zdzH_49+dD`ZjE@xlWcV0>H6avoXpg6`8crMa|3ZLO|=QC(R}?z$uzZmCs*+(GM?r# zh~=3()hNtY+Ceq97Bbw8##L^}09+tl80#oi#}i$xQhD)W=eeHyZl>0-j7YhfLg{6~x?4@L3B0v&2@A{?+*&P7XaWPp`0*rLW>-s>h%?)KXFY_g&Q+fy`TgltctiE`*leiA+noS_JMuf_af0ProeDGK$ywt(D~D? z29jP}oGH4*92jR+4J{12@u-VR&D+|(~)fGsE3G^tXY8)UOJmPcdIZV$=+ zHkb?WnV0?&l15zQUfXl2SxsDm-b%A=L9az^%ypz12~#!}g{bm)syV4@H+vPS5)4x@ z7DPa-O4>bDAXO20C0p|B&C!%01JGdP>kR3WIr1;ZP{Rb2GI+ZKBpQf3b1ges#smv~ z@;gi!XI6ZlL6vP^T^sKv=ayQusZ9$S^zcw|Jzy9oQy;3{Kxwk(NI$f^XUiBi*2a-$RDdBcA}S7pc1r+!LV+PBrZHo$QZbcaE8?Gh?0{M5vJ&aNPY znh?lDzD%c@D|4q{BnQNX?wN``>^$IoAWSMQjK>;mU%K8+JmPnWH6gTYbf{7 zj>xmE2!uL&nqBHYnGA6@!|uta*dBicm8CUcQ`BBPCjds~+}2-4)`%;hG4^TBq^U8S zp%`pWJzM>M%DbBt2>>bi$5aD;Mok-+ab8iRkVH|q;j%$WK>jpPb;OQ6Ck4+%yS1+7 zjwPv<+leiJAQ#}8z&+){mb#-E&_APOA1Ey-v35+WLIhl6csU1*zzwRtJ{(eupgH}W zLP+qMdyE|Kf;ygu46HJSHjFq@PzIi6HBf^puSb>}OlNCMW-AbK^r9StILG#2g%969 z$FF~Ni2XZDz~)NFssPi9Uw8e<1VFoj69`u)I38;F8XC%?;hN zcCU>w$n*R=V(ixX@Re!le8`hR9BXK; z+V;ARK{W~LVK9P<*?m8Y%{9CH4Y!NcY_eQxjcc8LHCm_~*D1U|CbG`#?9jJm3%aqA zlufGI%d6B=x2%7Dp1cHH_A0nhWZcX(_vfgjva>Kx6Z+5G5c0KwCLl>PG!SG7SbFX% z&2TziAk8ww$k9yX%ySLD7*`y`mcpV_=pBW|dYQ*}8*Q#}Bck z9#dT`a`d|vOsZOQ4XsL}D}ss?R1#IW&=m-_V?;9YsszKzxd~mSuUxW&T3ommES|IcAK4NuJ^pN`PhcR^AyWZPr>sHy?3@T`2Inm8@@F{cbQ^+IK}Gg z2{9QN1mjS9@weNXB(4@5lg9kh{Ej{@e-BPM{<6rlm%SA^D{Ms8qW0x6kY_E&cVFJ@7q{}s8tr5o>svAS~B1HYTaPjUGdTG)G9ToBu zid2o1e9o-A|G>2*!C{+t&yWU9INX74JUdu53pCak%bM27v33A<(Tz3h9J8;U;{4wa z(Rpth{U7X?lwwnW$NNvAh6$qmK2#DFUKT{2c>}7Vth|RkQ3zV|^*o^C#DvKxFx$lq zt=9rT%T#K|Fach1w9eBiNC8h5Sbuf~BEsOux6!#Xa`f@K8>9FB9=h-BV0}Er>hT2m z;R0$W0k&e8PE_W#qfw}9RLg0Ti$LgkAfpDo{X^&zsLi^B>)10$XL`{Na46jy5-J=9 z6gT8yp@4}^-4ts0m)tDC_Vv==B_REs1Ju^x`(@d<-+agLWT_eBEb z=lNZP)~?0%VEL;y3)`T#w?PmNo*cF-#YNFrEKRW3fQ@O!Lrg>TYx$wq}8Z7tb6s%43AY!Z< zgG6n2qT403r;_K4MV=$lgic2l@mra})A1au)fy3U^kRciFT>toi9i471RwqRF_L}` z69HUCVVOucc;^b!Cp|p=$9!l`ro2aFRC}M(`L@`HRSfN3HAN^F0jVEDnwe;n@GF;~u z8yT0zwIjdBgs6a3ZjjH{IQ!R!Se(u<`uW?4c6-%1kW%QpwFSO2LVC8q`l~Zgq!8cR zDuA_8b=I`ZeI{W{277OFWm-kDnj;IEX!;b?j1;Qf&LMNNsTuPr4dTi?K=+=qj@-4@ znlpp!aE8^FV?_NJqo3SGyxl7`&OYEP^0zy8w~!nRkxf=uJvztw{sgogL+$r~M8Rm~ z`BsSCgQcIBMGtD2oOwk}&)dN1x(b@Szs8d6{MtM&)Dn{F@|PNTvRYyt8Vrw{&uCwz zt=|iK#n;N6EU;a{W`NC%YXjlxTBFcSTLb9t5+nFKMftW}Y9qqsUkgxuO=n}e#>cSN zoq1^h_jUN8X1D8RrO>Z%#ZVfCP-7S6ZMN*5)1{+v;G(fGXhEJqxZJqL(>|z%=jOX{ z<_9{}p-zYdK#XQ5z#7Vss;FL$!|Y`yh4W_xii*uyKnz@6QwCpgp3$}b99}#)sH;Y9 zz=|EiGM0LCW@wWkSx>Nk_6fGe4@$!*@fj4_nz(xphdL_X>O>3)OyA`f zUE%T#VmIzp?A83eaLDSe>Y93a(OM}ai7q-gEwvAMbk@;UD{7reGB?$q(ha(0OLHr{ zCl#*LOfDWG&s@jZyq5Epy*dV=(nwocud-l4989B|XfX(f!-gGdvFtXRdIBl5OEaC% z7qSASTr*(l(#gV$e>omo9x`Lv-aPUrY>8~G&t~7yTLLL|MHK&5&yjcX@!7|gBt_cs%mN=TuVLA%=+XH0Z z8zBKhWsE#yq^ZK1HP!^ASmN~SCs-^N*nRI7y0I?Cssw6mxLGhGsri*)(#t|C^?ddHt?b%l))`hOQ#}3e-#~43u=5|^hl+Iw$$%6g z+3O?O>m#49u=?T@6l+8W1E_vdbnLZ)K4r)5MG){CUGkHs? zmmgPs9X0yn%nV-TSbcGh>}Zb8ogs!lJb>;-)fyV|l&ItpnhqFG@Q27ZY$o zP`A3kASx;SzK=nG=OyyW*_S$#Un_POfFNyIm?~0v5kh$yb=+Zjh4060%DjgCx zbU<}e!A6%sxX)L*8!1sh?F@b?FzmG-uGzhoMTtDm-vH{@?MDjaUyAG8O&D<9^s(^e z59hMLTdq~~vd-;AX{oRH85jDe1@`G^CJjAbsQi4S(ieUvo4lepRyxs=dM#T4QX%E% zT9e~ZTy&!gr_{WpcXKn2>jF^if~Ei`i<|b&&dY73nrgLuPb=wO4Lpm8)6PM2O=ErA)eZwiO?y zE?6Z9ZuiUSVugm@1Ah}9;Dwv!rUs2yd}|b%s2)3|3LsrQi2Tm8-6)z; z7j40P=^ieLv@C(F)H&K}Oz6I#<}F{%j}kcAYo>&blc-2#C#Tb=9G$p(n+Isi8kO^W zni`zXmPl7=kt-eL7^7F|nrYyqkwG|S=; zGxAlA$)`^+`QjM;@9m@e!A|o#ZQ;WSHD~C42faVL12a#tel!L@nj*T@hu-cLoqQcA zdMRoy85WQUUx5m^))`mrYjYip?si?tEgG{a=C4cwsN&cR!%R~w@1KHaDf;j4V(|Ta zk)}`=OdKV+2ZrruM!gvN{atkKZ6kd;E9l^l=b+sVXeR+8B{cEncw6A9q#ZVSQj8`A zynYOGy~cwCm0P^biF6C}0c>Gh75AnGTZQ?ce+<-4_oUhsl3f=z(Gd?YcCPYtzXm-# zO;f~iT;G0gT)tnwAKRhM^StU(zm!HCf>DPr4oKb*sC=%?=hw8eE!d75PmkL$$W31t zy2&wl=J4YB@sg)t?l@K5+KHzv8ml3at}3K#@}et^Kzr;GpqfJNFl~8G0h)LlK5w>} zLY=XK0$%$()8=bvAHqt5R8-9uejWu8+VBgy4-sL)&{gng2Tgp#nPE+|z6 zk~R>a>Pz3CcFX_x1!NVzC>-2aqM8rHWqgvNqDxJFa#(TBnn=*bT@Yl&2Gu-MHIson zaU=`IL#x|w)tzQ!#$Y~AF`X}=$elN4W{ED)<4zx2q%9CBa_XFRnwdODI$q-R_m7aySJ?W+J;Xab&kjV! z8u?(pF0JW)jNbS6VOBX-k0)3^o*+ILAlm7HA`NH~Iny$CT)K6WbC4wFp6nhnyOIx* z^l$-souY==$W}|JO%*7|B0HXA_1PJS6ox;!gYMn!V1BdvWUaf_vT!Dgdpahl+aq*t zkC084SUntLeSZRsBBqPdmz0R9))op@F(1 zooBUscgS2U0ID0z4RQe)_%h~NVbb^JVC6O)F$2g^BzIm=9ad4Hl_pmeylL#2o^>ec z`jacD0d9Gaiw$X%uP|7h;MVzl^j2pcb*~0+ioEOP=_Ern7T>AV9}w~*m8uQRCb~2? z2@e9ClFYbe*KNu%$r6TNcIrk-A&yl^b!FFl&D%h3&h$prt#z*rl~bNYylk_RUcHUO z;GI3gBBr{#=TKBV@WJj(uAkdX4d22zQcwis%vBT4xx?&xP3ZV!)189PImuqIn{{Gu zjSyWaMI=72j_dIwyc}~l5|mWbMpOzd8h;^YuwB7bn&Eu5M4n}cl|eVkF-TJEjaK;R zCr|P7pC6+)%BoyxjtNHBU1?(!W>30!{Lj01`ppQ-JjS|o@IF~E?mwR6Y@TDQYw-Vk z^aQ{D;0$VJKr!&YZau(Xj1KV+Ej7jpPwV%>S6Sw z1H?Ps1`uS2kM2u!>PS2G=DDz-K)lsOJnA4@W~Dp$6r2#Smq3k@(%>zy+%q@x=cNRN zMKMJ>b(1^y9M*`vcTGvVHf6z6QP4=S7!LBX)8)q-sdx}ghQJ*3o|WteVpnu`cRhY~ zt+YGve)rmf=*qZ{zdO3m@080oGb4(kDv$c5|2&V5<103IUu_$#8!k%l)vm{;7}94R zZ+hA1di_br`5MqMTKoAv)3Lm_*%%;O6(&@n!UJsv)$FEx)S!kg1FGS*!n{s(z^H5^ zsFqy~E~2DZZo=&eDFxCRAmw#qn-{FntrX@a7ZuYkH7V!{^l@&f*vZcnPPdA4^wKGA zoqvYW>e!7slXV4@4yu9s$lpLvxpQP`LM4rYMdQCd6ptiI0V6tLP{lr|Ew%sDRu~J` zDyXrc=_IHrg+awH&WS+BkE0RZHMW96HvlDE0 ztuD+^V8IU*BfKIL1>WLQo6&HS2J+0{e7?kTv4(;{FEZ#w8Mb;W+&x&}556}p zyV3-cpfDcOgq#a7ovt*_J{{rFf4ha*Ji#)LvCLvDQiZRcrug!Bg)9f|ZV^8Iz~J^M z#(dpDcakEW=imV_*vs%YJ73{1Mu+(O@mu)&vwIku1Z&nsQHTtbHi*a|fIg+RBbd$eA}JP=qMS=ifwkY8 z_typ2?xl1KpT?L9Sib?(uOXmTrKT{7Uh&g@)w;9KpcUp<9O%F7B10SYb@E290&u_W z#UQ6tT+qLZh$q#kuuFi**0?HP7lvb1XlcN)nJ)&_EnZ{St|DEoQ@yduP(EFi74HIC z7aGe3NaA3e2qRp<;kK#{b7QmbZU|beL}kXWUp@~FI-xbwT5*mfn`3|e0K4;tAZaQ? zH7h{*kcS#g57B9)FiV}`bYhk72JG?oYj;?GI?3+4oQLF`F56AC)fF3qJpf0q!c5WD_GaAbCC7G-4H}(SmmJK&&^ptmfe89@?(1YrYxi!^ye>F7y~n!D z;v1&1S5HtP^IB0|?IFSJ$c@2bkzzbq!5~AT47xhUu$y9kYlWZu=nQ}Ht0(Ao^TK#6 z@p7fh|1C~Bc=S*Ec>47ai!7-fyyw7YhjScHb1(?sKZx-scN8*ceEKxT!|68ejm~jr zI7T;LBbpiT7GrmNh5vK+3;d^@2l(65cktWs9h_u6tf7luur>u9oEVWYh@gdRA5q!Aws zq53f>QYE0Pi;bi_Q$I&?;sGLZ6Vjcvzj1vba+4YPc!k9uPk?of{(E~E{_wzA$4Y!& zvw4guo?YbXt*GI+-YhVb4+e2B7uQoK8v5=CojW6><0V!P&XGPD1KV*y2k%;)wQ`@4 zA#m+5S$#n4<<>PGJX{rm~ zn*i8WKdqF4*7}Vp*=u>CQ3PWQ@;rYf!p0dJ^iVg|MZ8j%>2d(-Sun;kcd4H@5P!)G z0lvaTdnLR4t>=5$3&9(wFXt(kqCyueYUe1;#yC&Gc_wty%}!j1@^#VSJ|pCPPWP}1 z*fiGaBi~q51}#IFbCY`PeBhgYiutbVSn}zQN9xU z84~ChXxMUl3_Ys;W(C9SNz%wKG1SyKZ}#c^=eQ>#L@((+RJ;oAR>AA^|Cd zsO+*BM#Gqkh%a7Poa|`dq=(%6ZAN>97`1gM#0I>yu(q1Y3S_JB@kukYs+kzL{-l5? zBE*rZhMYwnw{Q3s>EasYhJ%g>6}?r09`+Uv+BD^n%KU!gJfH+a;MGEtj@%1UNKkT3%$5`eO=IaEHCnLPIb&flu z3A$$~^vnPw#%Mdm|26m=e@zeZ4~w_(kE^>lH9ag*tm%q!C>Ur`NR39u28J|p2J*=S zPp2~^TSE-*?4Y|fgo;YnYlosNidLRHr~#Vm8$h^%`LFTJ`K*mQiZS6V$LyO^oc`NG zbnb0o^!@!JJKMFIb}LT-s;)H&^OX|J-iSLlMe+M+y9>S5ftjtbemsSFY!Dyxp+`L^ zT{}isg)|@AhoVHdsb_}FthUD_sJ(0$>G1-qPoDw=jQ;E{dT(vHi5!jCt}@A@`ll%h z9n!tg>%2CXH;?D1+!(@m)Isv&JIEF(){iG89b5ss9jH-UYJ%DexlUn3EGSM*Rq9H_ zYn0OUc}nQ&GjEvPIVYvEu>a4lQ3{+i`t>ZH#eZir>U$y^dYMa&qT+ zjyR61jI>u4RNo}nyO5U@T$bhlrB%KXOFIV~PAsx)2Vaubp+3owmPYvD4}$dBX- zAO!Zftz;2_mz7#MgUAZ804&afkeXalmcRFQ5RP_SUYFcC{^tL8K_!9tYGp6NrLu9K z<;IoWdt!qq&#<*R!NKCI%5cm*JFyXwaW5XDzS%!_qi2FgEdUO;#ckWpWZ9MUqhG47 zsU$y$%-l*ht$ZpsHR#wx1g%u=smY|7a?I?tvhlD5a8oc`1M4cP$s25vjOwy` zMq*8n9dy9Dgj4w55S=|sXSI_|k%#TjET)8rpoST_VJw#GqAP7ObaVlxw|Xh|M@#(q zM^EvyKR-s&F;yIvNlGA1WmlRB%ku<}|7i~=Uv6QMmR;#w<7^Im_GE$MX$H~?@4Xjc ze^=w^h%p{BzBw~Eni||5YU~a=7{n2ld4x&Y!Qo^JZ*QOB)^LVSnj)GSAYtruSNJ~$ zU*I=`hxo6HyZF1++jyGyuwo5T1jP(R49%(l(`=A)ahzs+j?>8m$#8(tTYE@G1L#;+ zlf%w8ax}j_=t2cbNiYo91ZWp_21=q15!jU3(*J&l*~2po|LiupZ*BR@G(5`y=QAo3 zJ;P3pyEOx>SXT;;{Rq7ecF}!z2kVm=mJiR7AI_l;dcZIS2|748)+g_X?b<9I=c`4>7S@#4RY%=1 zF7@op%>o=7gUXzeT9kDcQKudHI6Kn!XWx5XogOZY$hdkAyaCj&*S@^u^V@-bRh;KG zIyk=wFnN{qn=5pw{X@T2m+yIAhgTG^f4f06U*hi+Dg}$^tn$~*Y;eQ3aB;A~w! zK(xKNUEZ1xjHNM$)0Xn$Xc{8Unu_IAsM{VWp<`&2wwvG4Yv zM9!W~vL>66QewUs4$pa6qakv5$W&?!wW4}sf*OE39nnirDHxVAELejg%ho>`X_8E6 z$_Fd_iMr#isj3^e8NdE53Bj*6&GC^%3#x7bLQ?9a3ypSN6hLJR<|X|APW%)=(5i^} zF@_r~+t%lkg3Dx}W*ixzFwOG2*M757$t+n5-c8fsNf9*wzjY2@tuvfYS6Hu8Xkzpd zgF%vEXRyNe-wXkrnZ-C?b+I#E z;NJEb_6IX`(hPcSfDU7;yT;%2zrx4;NBFOcyZFcDTX>xHu|N!k9EyO<0E#q}VHl-g zI7h?=`E-oaPo_o3`t}Yw+e46!3XQp}A)zj^)B{0YEL1%kYoGwviC?gKI5$`wPjK=t z55N&&_v81V`$;w78pdPQ_qxxRIx5lA;EG?7rTSZtr(Acj1C>PReQy^gGgv(u z7Y1gd4x)py_@I@@G!1m@TQ+)?Yra?q*)Ys9$Lju5WXE&#-rB4k#oZ_Pxz9zZ92OD@=Tix3UBU>5%?0G8WzHT6ay z?s(USn_Yno4`>by6kTRSS`w}rDC5FP6+hz`b1>6~gEYhNS6`k1MmJR8x!^i5BjOyr z^#r%(U!lKxT4!ul8xz!YIDhCoK`eX!qCj__8voZlBp1W`&T`a@=utM_wJA4X;hbB$ zde@-Y@t`aJ5tVN36+OC&S81A+H#d8t5mwSFl`m!YGnvt%h8Mf{kdG2=7-15WX$ssl zGJo2}6_Jb&D_@($MRz_J?Zb5^QC0fGy2Hp|*L1(idIoe<0_!}m;8wmuwWGLS@OE8y zJ=+Bl%|-!W-dqOinP5A067nz?TIuP0h4FL+f04+V7dk7-y3Sl3^di zyZh*D4GUvNn^SMQ%ua_nQ1G&2SIQHl%%Q4Rf?!gE+1Dp{`fm@>eRms!@85FSB|g!~ z>V}Dgd7=-j{e{d8FD}Rtj0zr09RRkJ0xJ97zYWAI$9Kj0sjzO+i=f4=3qIXt?YG zd)^h|8gqz3BMPF)ZV$hTz>FQ%ZL2Hom{1`(j-!YgD22m^UlUQ_lA;rz%l zCP6c|{u#C+Dg6{gK~1{X+j+_j37ELHO0Xa#^Nj+u`x^wja8N89XWt3amiNP;`wQ;)gJtMAq zc?_CUbkZsIXWw9Jc@zX))yB)C+PW+PfE5d{>Rw`!-F$-34L9p9r0Q5J>BB><%p9>} zw_OD>wN%NeuCIT1Jd5UrLZnsTI@IPuHa?BL#MwH#88yHp_EX#%!%alNxm^9*h-*{t z10AaFl#AuX)4PaIPX9U&+P6?(%Fg-$+YMg)F$D@C`h4Fb8%RIq4k1$I$4$m{(Kb&Kp z0sVo-hwsN2^i`FAZTqZj7={Z|r`{0w;h!o@CX7c9Gfbxj)8h=sW5Vt22;035`caHU z7UOi;$EY*MTU)2NHJYQ7WQbP=)B%Q_6#q;20e;hah<{w%#osOO;XyXS95GU6}r)5|0GZ_H@+3Y%7~Car!?WVSY5m z_Al-s+3h(#4SsP@cD}6?h$ZS{kHWnHY`FEg=B9#0ssdN0f@MKUDUcs&+bv{7(k-%nCe~~=DQhC8M*ena za!G)F6X2SNkfv#60BwD%-T>;?t#L>Mtu?YNt1_uyMXW+E3y3}^0D5i5?^j*p{S2Rb zSyJrAZs@lQXZf*zOmn{G_e!rpg({Oydj0T&bO^!I7VQ>BowpYhc)>usfp$$`vgtMs^ zjq2@rD9~uAL8r6H7F2N=aaLt%O38qb22}3bWtZCjKHFU;FSbW^&Xp>jO%$M>Qjm`< zHm1r4>JmUUryltQ-0GGR8MOY?YMCn**jKSuax?3%d6u^78wH9CaAroN2vMYmIf^^;30!pmNx7R^sy5d}luShvmu+n>HLb=V z%?-{cOUxEa5EwBT^g0IHofL2H&G4I_Kfw>)9YaOMXBkycyE!7{F(L049qQFI#*=^9 z!OZ{OdPBH^Sa;K7j5-&3mwA2u|H>g(CoQz`IZ{; z=60O(O|8)tg}ZpChiJQte6qs&a0brCNN$gyhMm&$(u=2LX^vLNBY16)K0L?rt8>J| z4z_;!7UHd*BZp|!%KCl@hAWLTNxcnudGOMqjROU)GB%RMLK2c>*}6b=e|yho(uD3? zTj<`|LVC8q^6>=e(FC*|gSHc>Zd4Z?#b+y}3SG1?{j_VM+$(Suis4EC*a(|JdFev2 zpPt%_P*gW9wVISFrbI5Ja|VSR?lN#kK69_xz1CV+V49gL*Y7ug`ZfEJH~cF*$QL^5 zzCs}Mc@_~~Qy+tGHTi{~|J5n-6(uE&+Yg3WfLglljJx2kO$Twi2@bv|*s0zGqWvBE zC7j7a;P+CT?yFUg$bS!A_2Y`Mj7)|kUt(we0HeiYL?&~+*;ptVC2&*Cz_FtHN&*K` z19TPAWNv&8Z7K?gLQS}fU4kV)r<^6_nwl=*je=3xAyt;rEcQ`Wmnlt*;4zrW-xH`| zJVTx~vGUS`7xN|mPD0NoE=6U!CBc;d@ODG!TZ&a(FV&1n^?|n46L(^bsLWS&HsDo+ zkllbw11dB+UJl(nz&iE8x3#uno9O^cK(xPY?1rA}0t-=NJey(zasty}q()wlb3-vV zl{kQ53}d!jxc3t#0A}UA%{fx$Rgh;Fm~xI8lf%rWIGfE74f+@y>>}CT z0!1;HbTGw$gdVjTzcNpG{P`1{{qYdPKe>h8d%LBHUt49o96O~pufL8jMiVr-WnHg= z;T3IA>fz;0%Z|pnA^t@Gt3Xu0wADql)rDE4SUsL1e>g^bdx&VOQ_#VEX+_zkH;W9* z&rXn?EYP_> z-vH_x{;{THwsMlD>8p*pUS&YZn{iefeb9f_@OK4BQ%l1V%?95ySUP=6uZfp8sT3%R zKuSAKmE>KYrU?fFtQy(Fn-Q}Mnp_4dd8%GwM5h6)7 zY<3l$u1xvw+I`w9Nl7!VYU5jP*d23vuEB2Ig(J|WVyWo9Cy_!Fku#R=+Ud2P<@=4e zOiJjgz5CtCeD;Y3lA=!p2(QEHa*D{a@NHL8Kuz=MSI;#k{IAhPXJ)L^98V_;EEj7K z7@f$V6Xn?Ht?|LVDgOGSL%er)237!TfTKDJD~}2JkdP~d#c6`0-|yh))7rs%na7x{ zfG>~McyP8t28F?X58HP-P+DOHf@X$>h9O1{MqGy7+I3Q?x^wLVMFQdAK;hs(L{4XP<@|i8XS<5 zo#2&nI}v){+W}{c)q^pX$1_Ab9q8QwRHT4d6>oK0b1wq{T#g6>9jXBZ69=BUY$Fz?IPJ0vYI0bwb0<5kO@Lq!tQ{{SY0 z1B5pWMju{E_vPKTG zC^UqUn#e26QJ}DAK_~my&o|B@fLMSK_7A57&VG8Fvj-IMIP#hj5NU--Q)#YC?$|M! z8LdoSfhFKQLT-^O7)u2|=FF+pRIk;FDz|fH*G8%tJMK^|%FR4Gzb6joa5EStXG|7r zoQ)S?Hqd0yi42BGhW*h3zy8TFe)gwN(d*^~y;~DFDgbpB5%Ru5-bJC6zCXmH-|k~N z?o?grMXGT;Gr0eFf$_?K;uza^y69~sFoGsrX_Of-#9&s%{Yj<q6o_@!uhg;Z%()H&fXYzcV_5zGDMMq zN*Gbh_<83Ee$qL{AJ%*L+r_*1Jm1E`L|8)?^!Cy)&49pM{8t0W=QEstv49@*D`2hS z7$whH6u=67@Z!lBC%^j|YP*BIk3T57upBA`6((&GtVxDT6^mCnG)qhQTF+6L8&+#J zyO5AX`Nb(Fv71*dQyis@zbxLAV{8jv3LW~3)`tUfz|8YGDCj6hl;J(*+i z=`n~1+dq99y}Mi08t1IF)HGIf4Y^!eGYiQ|okm%7uer_{EWuc z3_KRgB7GI(RIPyq$f>@^t97~VKC3%@boV>R&KFpJHAcQNKsSQEH9&l;2Z|M-HONx0 z1KkrA4QfZaZ;e<>Nq{UW8e&%xgJ$Xk%Z1M|Wvm|r^7+cw)JnrCR3O;BwrNV=MW^rY z44_`G*M)0j397#}XzUdQn)GeCelPjj@wfT{zQBpp7FK)dA5%U|RNY;CQJ^~XrU~UFgr0*&PG(|qpPAn!kty}yo=Ay5<`t8MOjjo zq^jb8ll?4qowC;~0fSSAYa>#Wk!3|!k>EGB9JehMSb3zIxy>C1U3Rtc(JUyFZxyqn5BT)vuILF>#g&*7<^&O_~v1T=`6$a%-}Qzw)+vbIvU+5 z#ypL2w(Q``<88dVH^H6VDF)pXQEZ?hMw}RY6d&Vfog@5ybqoJ_^$zZ*+nAXIsVdfd zrlJs#vw|setaDPxW>cJfF^BHHC%v_w(Td>PI1t-s8Fopbv19F5d1>9i=3lDJeAstQ#=uE;GSJi^`V%?C4c ze`fBH83`n+P(URQ2vkOdhcD*lcHh14-n_|QHf4p=5BG8Q(LOf5cNe3FJEGLFWV)kJ zJEAycL1aib_Y`yN=MW04ES@`IPSI`JMXUDa#QDzyl@LWGW4pL*9U$hG2WLcWC{grV z4(Pi>6n95h9M4exW*-bfbu>l3Il|5l9zd-X4RCGeXbG6Ze)T*O*(QmQ9Epx(Z#i?@ zK*E-L%tM`2T2ahwv&@mVEEFXyT&R0;{~BW2w!QYUVi2P3jEf3Wx5mhJ2dIxql=~Mb zAD<%I9izCj2EA556>%y+tWH8}swn+iNS;N}-XxStjI?NiPQJY>O2{uqoU)Jr-euWifaomCV2t^C>H1f2jb8cn8w85`Xt$aB-GYw5jQ@<+RtiF+7c3aRZ=fPA|9Tts|!oPO(v&Vhp6iB_NOs zW|NNINoz*T2tXWx-~jpnn)uI5Yu_tPQ5=smOG48t5caoO(}hiiKI!mYd3nUb$w@Rt z{iKJrZ6ulA0laD4Mr#Duk+An=J2wVG)B_H>eJkXh&q)z7O|86JM*T|WR@f(yLZ=U~ z)7}v+Tw`f>gJXJ`t3{9q5?|JDie!WoV^iMQ*QHaWqp0j3}<$_z)p-o*YdcQBa_8hQ7u z);K&j`1qj2X=%V&hVkto1{;o*ZqwY_>!EyKwDn`nFnPD}F#LR&6fuZw(_0-%)t$tsHy%H6A~%Fqs(4P7O|T!q!+}b5NkHGtBB7=ko%OpKaj&&IKOqoMSw! zkXIHeci`{)`4PTX9O2j1F8*8j5WlImF++jM_Z4ejj4_sAiBS`ywib0c!O5dJ^l*f= zdpj6zZNiil4*%z8sH+8b{^%X#Tf>$ChLFrsoJ$=WM2YkXc8=H)%wTTkE%pG-=P5h3 z+ctgtiUgo02Ki!WG~8R;^|og?^xIm|6K=U}3kkr|2KE z2lt^yMU;}$_%JXxW{$EKTD}f3uf*L(@rh)Jtnd!qEqkBchAdOZ3@q$V&qtg4I`$}R zl>r15Kf*1y;Cx|GA55XvGUQtWKoRl>>%hG+%;_BFsKn$~2higj`Ry_Coe|U^Z(9uf zJljOANwteyb0&yMt)cxjbQrV?8=XyZy&VXH5X)w&i_-6t(3 zbwgM9s+?&`5Fm@igkucJa+lqUK=sx6)6u&;gQ9JX_4x^Qrk`QFIBg&&M`k)CaW8@s zayvn{8Ni_*I$A(>GGe(ux1IaSFCy)iBs3Ps*(Vhw^mEor%nky}3=ned498MOUllp? zVyTWeIAbpx{vk%L<8kC8xLV{Fw;DJ@x8OEQOA63p8OxLuo0d3kqg8pdi$^c%)`UT! zy5ASoWQ1BlQODbd2yw13OQ0;I^T7mJQU3#=kzZ0L+c%b)$GO4EUp!}m<$K*d8yVb+ zWzKhGg2ye8Fl}ZZJP8L`&AzK?_e0K=a8b&BA!WjyrYH%bD z|F!_EzgOz$^ts|CdA8cI*1~hk`y;f93qqc2y!(#E!}~d&?$`MA(}e@pX9mwSu(PJH zF(@#~9I!qs2l)JW0}po2@nGiyYr_Td%mHi486RZF_|C>L9#vcTf6Djpq1nO2W>}E( z;n3O@%`&#AK`_wJ)}k&APCuF9JU>GH`33Sj>)8I?hfswETLWp5)r{7~ zx1f%N+cLLO;~;Bpe{URkV-_dgx|zy@=El$}oPR4Kx{~4$C6gJYkA`T@Z(Bc<-&n>9 z%o^EF4$ceA${A|a_Vp?+lO~G6Z}V*&7wRI_Ok*}mo%qS7m--Ur6eUG0X@by5%Kg3H z%EMdp!Y1>%Q!o}KQel{8jfI_7sE=mI?~b8HnNZIF$Q1PM2x?~tE^C;h66KR~l#kDl zZ;vs!w+1!JLAg#08-(u#+VjvY#tW4~N0rn1hj8R3-@`?$2$1^#_Va-2aBpN;_C^_! zy>Wm#$Pa?8`!|5U?>>TyXWl|w8`+B2Ise@PxM%i7n0cTP!OR`!6SS> zsn&F?WzIP^8}qVaB?>>0Op^p~p(~sl`+DewIZ?!tp=DHLq?#OKX)J8>6$;46Ax_gA z4;o{v#&OrS0Dvu{sx3~=XE?toLF8EJTp4VSYP@}Cf}j3yA0NDX<~~o(!J9KL?=GCY z+h&CMB*Xr{Y~$e9TbRxVnAaKRHpg_Kv42+MSO?AJ<#>Z}W%v*TpSN zkfS0OMW?(GpoN7d1;Z9K8`O&mgZnv(y91cBQy8F)A_CeTT^nMEL?5uV4P(mIw%}Q2 zLkEznRa2qpokt>v{_Yj%V4~DCAOhFHWuF^`2L)e-i2aOj_AnJ#QmA1uR~id5$NZ$i z{CtLdJU})YKxfKHqai?D1J>EqvU|#ZO{AQkc-o?1JOMXTpNNrbU_bS%n&Mxyed}?e zK}`KN{p<3?O4B)OVNVw@=X2x_)uJgt(5tyd2s;j=%hoQeV4D8p4)qZ`-LA3PrcVj@LT>7$$Wt{w*6`qHw zmW&%NiS6jD;;Cn)^g?&w4Gm<9S=#;>m@AY8?706CSJ3qon-`CwsTTQNqX0zp#1Nc7ODNm;yzW%;3Y*j{2Ht9s5%s~X@azAVq& zADJuOQ6Tn>!%kjz;(6RB-4+yFZvhx>Z+O$=oEDKpOTe-O3X*1Hp&#DI+OXjshky4T zV=N}q1&+^VsH+-8j6yTUMUCxIg+Kb>0RQp#kFY+jgB662!*c!7^_XBsgvw}~eLBXI z|GA5^V;6-r_ww%ZlJN1t3NNfimZc-L*xe78XUlkeysFzc6oGH!J~$ zfQmeLBX+=AGgw*Y8z2-14OnMUCQ`t=4~KYgufV}kh2MTS$N71Uy>p9`DX=vnY>fse zvkbF3!(@@;i)ZV&zkPwXZ=GX(SRtznbk3k0_*Qm`_t(zw>2L%8Z}|{EukN7a3>9hb z@@}Dt!LHfE6)Ctzy+3cv*c|SavV_D{S@gT6sY{J;D2nPsf^gzu6iL7twNu2!IEsx1 z5@6n%8M^n{CJK+dGkY6Yz-`-xN(>bPAc8_+HRjM*K%=r2^?8NGMF~C3QH+Pk26=nW zQ#-GaN^fK8u^AV2XihThkn|EuXLQLfi=txFQlu!3J*4N$1I!B3TB}spZj?qLMpGhIB`UR!jY2kMnzz(Ek_)g|GXEFW80P4YDfU2sRiu7wM zMR;B?xWeaNI?jAqU+_HJ{RUKj$v-KCwwKGlue^3m2&Buup=`yz>V8mtY3Yb0knXj# z!qN=qmo%>Fk~cN|WKzD?bN>3Eld=XyJ;nC)b8OA_ToPVxDRf)`QQM8fs2Wj68!tyG$Qqj=9n!2Q?AX&AQ zfVhsPsfiG4oO&6U&ubi?O);GbPh8`fo5OA{)K7P$J&=7qxB4+ePqtsHy%6+ZlU zfoCT*_RbBSO&QxGh0S4LtX+@wXU{hAVEY_z@1A3Gv_PI4=o~-+yqBHf{qms zYxxd-S>3@I23UZg;iTyb7K#`a3YAqZii?#yu0|QG1j8->TjM;Po454ofWd zE*xupXARl*uw|{~@sI%5BnmrBJ%xPu=&tlLG1+j_W@MMi!}C0EjL1UY{WpO6HT$vF zwtW>uuhd1R=lQ^w2t0fJTwW#c`*j2OS3t@)WBTE%U+JV^yuiia+AkZB7zC{bsxQ@J zkVa32%!}UTtAX(}?0DHW(mqp?ZlZ`E#_8B+w>Zw~8Fpq*u{C{)%r08c))*Y6%7L_k z-j$ShdY~f-VGpwbDdCklrpem{aE#1o1YlMTL*BCBk`$Klq-k|juMbOv&h2zTd5Taqrw!97_G)WeGhZvMjnng;udA@0_UZ-b7DMBg7G6--to|!{)~Dj zYL+?0mK(5RjK%4BiD#!XSnCYDa&56btZ`?f#2q zUo2C8>?#t!cfr&~yK!0(gOo;2)*F|Zrq5dY$gObwY|{hk5sg;3e}8~`cO9_)=#vEw zk18BoSe(p&tr4&_EHKV9%uJ1GmEpKNYX_`32kvJR{NLk$!{_ER z{Pp4?{&8^!6E0ALkShlunJtvoP}V6{TCndmEGo%9mSC)7UboEA(0dw)n<5x0I;D*O z#?m2Nx$;t!gy07;1y2mN?PY3!lJjII$!rUqRS@zk|2qwf0v1D580i{{8I@9a%v+dp z?pc22fHhlG(5PyQ#Yu&Q(hgXAIe0T8hqxvNSOq#-Cr@<5(GEYE4^%+fuXMJ z`i%n9ZycbOv01Omg{GIaQGU7m{JbsH^i`hduLU|J4hFwu#mJiCY7P*~cYrc=2i^s^! zB38;WC8|DddQ3@b7P$-R`mTG-EXGs@#od3=98S?jW9Fx0Zo}f0L0&E@N(JMG)(TI zf^+W9wQ87NDDnQdy|LpV2 zQf)T6RB@1GYT3JC3+W|WUzZ?)u@>dL#{RPj%5ni>AXkiGX0bV%58nUr{|;&a(#q8mLz{zguG$q5psZ)>+(pUB!tufEL1H^p zUB7a07H24}asR%;y}Jbtk1PDWHm1lODT&tYT!q<-uY! zMi!bGIShtWV*mq93~en6vKXL72Im}}fsrF@*R$n{L8^V$er`AM*Y!jEg6`ss3Y5sO zV2v6Y6=}>_qh^bGQlpwokqrmPM+4|0Z)DOkCale(wy8~GtRxX&ylvs&Xbxl=aIIn3(>cu99QoVpph7juEn32OEM4*l_k39-Z03#i0%~J`?7u@H#SaMruEf%)yqJ2 zkajQo@Urtj*EmVn0^M|t&34~N3A$zYENQdAT6uu&>E{@jS;P!b?^S7Iv8czjy6FW> z08)Cf8XzW&qB;wU@Ls=|je6P=qQjjs0N^H+uvncVNj^vf}OF#36joEeM$v2B}HScIZ*9ouA$n~xNkd9-6UECMm_cZVRj6W1esQ-A%sbs zWe2>Yer@fXzZVOGgVPC4&q}bDJQvzxePD2ZcZ&bz`}_Fu?>>Xl9!P30@y-c0SEx1t zGayv642Qqo!rs4bV=^5$dAH3lsWpzy4IUkoIGI@(ogv>HBikCl=|~c1^i;ntK_ZE3 ztOD?$W`Q06b^|O`V5$|A_UBxY*bcd>0x>LQsKH>ej-iAD)R_m7io^AC5l%LEA~3;v zNiSuL+jj=Ib-TdfVTF$#&2ey0VgJJ5*~IuB>m1|4_gGgso}R7a-sS}!-a5zjW{JWW zs0>g!a62pUU&g=2pW9FIxAO=1d36^T$Wf4mrMfw9niyG#1Pj2H3^L!7?0~L8PS(F} zQINq%8RTT3JXkH1MFGe7W^mgaDC1=3u*jK_Q;kAdDC@y9IWVjwqs)l&qR7{tox?kJVdvV%9N3fjKGUoH@BXG-|70N{dBV zLKiu*@c>zoHzr(7BwdIZ>R`nOX0$@K6xNg)G{_i&_QR$5V)I`)&O;UjUwFNi) z)c`@hV&T3l@-xhL#INW%TOEU3j&t~C&hhIgmf;t8W7{>xFL-e+U>K~j-U{u~E8!XG zUTIa|Sh&f1kXGE_bAM+W{gT-VoAZ5aUwn>XbrAzR7Cpe|2WoBZXbPr9wrle6<=$kf zp2~ULj4Kvo9LGpS+ZRBZQ}1>(bbC}_39Uimv}TzW>?@k`f1e3f+MC=wZx|wj2|ZcS zF|(VRvdKkG>Ted_$J`_FYh0+QHN6qo>ar;Ernn%$7b!xXDQML)NGe$P37Kr9m{k7i z*cO<(d~R+O60Pi&I{or;q1I_-Oi!YeF$bBX5>j(Y+Lxr+Q{wV1$4^uYp&(sm*qZU| zyu{JT1dGans!Ul7bBmo(g&%zD1V8)X9(K1D?YdukRytRx$F5hpwh9+dMtJg%J9xIY z=KG{`l(ojiLgCTD98XUx%q;<<5sF)5P@Z{tH^<7GM9SSdJqr-59Jpw(uxF!{A}CGG zdz5nKa!M0Olm84wpuE|hkc%^E7=%1x1@?Wq8Cj5LT}d%Cw>|7cAwsz=3+&!5u(Oln z*=dd6{wjnZ{!qB$A%MdFUIVvviT{m0!k_YI_?P)@{7v}~kLqnF2d5kr8`QplQd_`Q z2KKB(r8Tla0X-Uml~;y^Tf3$18&~y)M&@quE&54fAgF1*W}&u-bE<-TQ#8i^1f;UlLLg3ND~#vQaBK1zMvD_c&{M?nroC&Rgyj{@#MBp=&D5|K z906B~^Ev&Zol}DqvEjH&G?i#m!WP8HUm-1w#DJXqaVf2O80qx+LJ_QMI8?!GA~hBh zpiBt>u1NKdDkZLU(+}L0oj2Dk5Gt0NUTYm9#sX7IEpv{P754w9BDZuvXD(kmWw|5A zU(qs3vcM1+D0w|uWKYXu<+zX#`Tg~&KdexGMhjxmnGxDIJM4Ti7Ff1JBt;M1{@c_R zld{6z@dakH%Ef7EMy@P2hBe-~b%DS5!5+T%{#kRUHLP?-FhhlUgJ5z(ImvMFuiM!B z)i%m1ZzSH+N@4%B#>a;aWyo%=L9GwHJGD1t5={s#XhG1?Mzt=^*h| z3ZP86*FBgf?E!c58F#OS7$_3Wx~=K3h6$hs@a(+>v+>bZPKK+PgTEGt0b_mKnpYug z?`Zt^4-1@~R`}?nISvjNIGWZtof>R<#(J&DFwJsI>jFE^#X_fi;e7CMc<2F7+H^^hYLM0bZ$3m~&aH2lqd|=sJM2{1Sn@gUM8fowJ##D{>vDc#8GP4yo<+sZ)EL2X(~e>-U}p=|2NUFPt%HVHQdUk3 z8i>$|+>2!C;kndiATTYL^97gnP7!mELBEwlzqJN)QoNtPVGDe{9nvh@|(Cr155yy%MDo9(?d0RNI#>X#!EiYM& zFgx%a7I$E1)tYcI3s?CjLzYBp55P3zXJs*Ry>3j8EOjN1O_;C-Vr z{3VF$c#zeehR6EfQd!KnlRyEN)W_7h;iKJqsLJ^vWLEZ z9uMQnT8l+(ad0%j$ywQ;nhcClVQ_nWj{opG$N01F?_+ITyID^KR@z5ltrN_;i^4j2 zG{)0^?nYsqmB1&5CHBuMRIEXpBV^lSK(r5JY(sEk&*w-Sr9s)?X`21Y-eXTj;W}UEqg* zkmKaE#%G_Fc=}|Hrs|rR_8dl7~}T(6z|+V$F21lirhkLXN*M)1~OjS zS|WYizO)MSRUrF@))kEudFYvG8BZuZu`Iv~|9egNc6N$yZJy%54Dom6+xUmY1MJ&% zOl^(|3NDjcC?0MBS)zUsb2+CE5$Qvbw4cDou>oz7vfHA@QPq;rUsT>28f>t%1M7b8B$#kIy&jD3-f zl<#1Z5k}0>!)fIsh;k}90gB1RV0-x)AYntzyo9o#)h;+Q6xSG-DQ-_6V`KiTjd78Y zt4zJsF`@){U0QAHi@}oat-=^hrC*S2!y_KYy2ks%zP~dR8`@Ucn0h58T#t#P{R>e| zT8SQJw8m78>|C|Gm68P_VX8fpz;+5vd?+l+O1~1>uATU?h%x2PX%5?OKifA$$FAYa z1QaCVsT2{iTy=_~%}0b3nj;BooA(<2Nzoz{g0YUByD1@}Qa5j+SUKNH#j(8gg5m;B z=;>^>si|v5B#TGNDcfqpI6j@?;Mo+$+Q!goP*`k@7WmHFXZXuMc#4O&%7#^A1#dh? zFk^*!lTa(d>|}ubUvA^z(I#dK2c%1rVY(nZIjQmK(HxVSz{L=HcMKX0yp2@YH5G$B zYF*<~ld%TydUo0sjaqhE1$J5skgZx!-AKRXXTmmBY%Ssba0lQskkQK>$Km-JcGqTj_s$t^ZOkyJ4Rp!CfPoQ%GKzAf1YGae@lCSV!H6tKzC(o8H-P#z1=CtMHXo`l>-SzNB;WDgpSfxH+3veUVoM*-KUqOC{I|QVA=0YXG+3ENlC-*b3MppPY=| zRd;k8eFKcT)IjH?a1Uxt05@Or5~dMYY%nkr?3R1jC=Z~8l@U?$uoZo*EpUyW{>^h- z^tcA#832^hZH92zuxg~_u{CKV2c}pq-GD|FpX-LDjC$%4*JlWG8F37h09B=_seO=i z`{izKHhc8vmV2rFR(x@rl%n7`%Wbyu@-a?LzoASyauHGjAX3|U9C(i|aqhoMQI~~^ zVzgSonTI^-L;#_ZAspn^h?w?pieuKiEksZxIA~boG*?Z47fD`sBHuf#xh!(D{r^(H zsk{`PWbsS%T(=8mhB1uu$pZV&oV+_MsB^_wAJlkwXNsSGe-A(W_6c;5rxL+t0B26t zU2hP~m{3(2o_(~AC;z;Qi;ID0r8CSbjb~HFqr(}F&JAjnfwsrcTWeqsOxpOjp8UCR zqWpc;f?Uz_+%U{;5#6%SasPD8Ob3Z~3%(^lS0rM6J(woM#&(S%Rhx|LhOY-Fis4eB@lsK7t#(GHD9%on^WSC{O z1J)N~?5@x7aQ7T{wx$@E8u{D<>j42dx0%Aiae;asBh;rzp`LM=w#sm~o#4{X^tEdz z!2S|NbX1&TI1tTaIEi=Pql&xxMe;km9Go<;rfdAs@F{*gc#03}ZTxNd5dT)+!HFH9 z8INFTL2CKyT*A zcgAhfLSGgHixVXoaS2rW=GJBF4~i!z=GM$C);@?rYSLRonxJ=v&^treSq*bI!))&y zv&W~%cSac8S%=;nLglJ47i@HX>gv_PO|#ch^8HN@^=tSOWZu@=*Dq}Rs{qZ^KesFc z)xE0KRk7X6b{@YGy7cCc;cJsi%`bMEspo-z`B(Hkuz;mbSv^2i_J|6%DxkJtv661h zO;%%mUwo*(sB>Q5<~)~W4RSljZut~jivwh)^2%kmuni_eY}vtG)q;uC5K0p8Augyf zX%$8!twfocR!&Z;_!QItqT#wRF(rZx&ZUR}d_$l&PB&t48JnUm&FfBO&X7IWVWHMz zuohh^=2jjkWr!j^r}?Oe%nCilQbrx}vC%~Hpp9(}Y=&Hr$zJu8#SJ;tO9;0<<|+VP zT_|Xx-if{A-NQY`W=Xa=HND#$9WV8OU-Z?Q5?AgZUyd?orCc=afu`h-&(n_b*KM3X zPDHTA!dgaETkIWAaC$y#fR!eTL1D4GvA|D$aD+eogMDmq4HyD5MGoF|V5NyLJ09Z6 zKe;HZSyfR6tB7Ekfu*#aiqY-Fl9W*Flgfz5c*B2*Ub&SDC^h~#`vUlrFjmQF+ z&RQ@n-_!J3HzsCiSnBrPjKOruy18PT>S9K6W8Z+G*+)uwV6BvAul zx7IcbeDC`?-hY3HPac(c@#@dwfB}OQNBQxW&ChgGQ~DKk;?#qIR{TDObJgb|fZ-)TehJ9uB&2}=z<76X z1!xU?CqKdOWG6VVBmDjR0si~^0Zw>?Ih-7v{qx3H1w$65s!=aWu+E`|BV>aC3ANo7+Fmbp-I#NB zCE8L1PNHW#2IXp$LA|qy?EV_e$sG0m4Arj=pvO7#J8LL*M^HruXbpPK)#Hl->=2n1 z{{0Q0e$9Tu1U{C@f1s~_x~pU+a1;Q^ zokcc-k_UgPQ|syV34dTy=Z-czL{TT=Xq91-Sf%uj@~fzNx}iycU5|8OOKg<~*q%K> z1_P}$pq;r1F}bBnIE_jGXhr=;5*8vMKBzIUN*>76cm9GTTeTH?aSh2c6K$roYCtIU z6jBs*AYxJ>00CP z+~DK=5@#jD=p5Kx18uE&A8bUGAz2`xbl_8K4yFQl7Jbu_ZPo!m6G3TsMp{Kc+W82u ze=neeQCav5JR42ntGQvrDFHXFgSs1^ovs%Gj2~x8DJbuzt-XPn;vffSw{MnVlrxz! z+_KhW3FGw~AACQ@xBlIz1=gj(`P^W=2#mGHTAriA02hlje0sEl2RmoDyLEx_Xo0*k zP$j?(unx?7;6Y=fDoP24tC;3h!SD(y#J)C(2ndI35RAw2o<$h1wvJ@!+lBU?Wb5aQ z8c-QP(URl(pMt!kBHOrxgL+D}% zCI$ADo2Gr4FE6gU$Svo*Uq35RpO+ZCv*~iveT9>myM_2>eo56mMru z2jsbzz}Jw6Gjk*Ne$#&5IEK2e>)r~?H$SU`>WHOI7^TZV_0op{Rxl}h6=c&d3aoDk zm|v?1LC^mkS8nz>!1VIs0QYW?uk$6BH0!gp@3r>ooo99~I9dxCEj{P1(90hzDP;kd zC7sz4+p|4vl?TYVjqItdfesErh+|BG$qDtahB2sCJwQ8kvre3wTXfnkR#FLMaN1QW zUQAGuot>T{PV>$EI{fsN8)uk9#a6_#6}7ADBHNGz`m#5SjNRu!N`=$#Jiv}&c@0ccZO z;36eha1XFuWLB5DYXj?OdFVj^))bg(hK6z3&}^ZV_0HhV72GPvSR3W~s|~qcYY<~F z%JH4=Wq9Yk5k7xh;_+uC&dVAXCl+f3;r6`B4EjWu$VhJbsew# zy{&wspDIMU&Eg_A{XsT0G-!io3FDwD}lsUr5E`{_u~~dMdKTP;|gz2%|BlB+zL?HRDUBg zFkbz77~^$~p+ZjRW02`eNW4T(w=!;C@ge9L>C9HxE}vq%+=sSv$V{aGHVreVX1_>Q zjl{YEX(4yD@B0-+GGU5LQ2N0kIFWXv%@O5>wQl<>r8!pwIH`5TPWuO$xp}Ybn~jJ9 zfxJ7?S)l3TRZT`}%f?3OU`^ar;?0(TO9C3RHR{QqCee!?F+NH4s?F@?PAQ6d)>%>d zi;M+|`j~;DP~IKaZ!h#_H?nCVO%!tS#vCXezd`nHlRe`O$>KmsdRtg=VSCN+;v!Ad zmC@4)(kF-S^J`;buw|5s8vDl+oSe;lyb~c;j8ReJ*5({P{@xLO`lAD^4UIEsB4;{g zwRfZ@1v3P!QYa@m4*qQm`@h}7bUtwMZkuDaP}o1O@#tWV^993X1MtoUur>m-5>j+A zmX`u)iV6me>vj}@mHf9fAkzdbz;pw?gArK(T961_)|fv%hu$6_-yX)3 z2eR|XL0CtoL@`jO@Zw#PrU3$OzCi#~tbN&(>Ci#j9{JB8& z*NLfq%|P|@w0GV3xAdTCzREiFN_iT$vR4NB-C9<-5bQODo~^$00ny{MO&w58*BB3U z^>6&KDmKVXiLG)UTeE%SSj4eFM4jASz)4%d23lt^E)uHYHdmNH%>D8c@*q?gWi^1V z!>)3?o=(iiTKzvoa%J|i^1ebndi>@Zcj08o8%ews1RLBv$zlx_vC_?RMfLUYEslA9T|_cGH)4;B^hZKg$9u=E&HZh zM!GQ`3&0vd>P>CmbclDOzI!NUrn$EWDhmkQ6!x4exQhu>&@iN-*dim_u-1y4fm!BT zJ*)uMHIo-55e6f|w|{r70oGr9KEuUDg^S}Fqa4^BYiy4TjEfAzEXTAeuz$9Wo%IgY@BY)m_$B~$XsHe7 z_qA-XebWJT=%LQC491wR{35^7eX%!C6@6}|n!aYB`bAjPSFAUCrCq+^eT^2_j3r?D zc{a%XZ1k#wsPi%drUFzBR=lJ)c$Ll3@|&KnIp`Z{w}mzfY|rjX*>bCdVXV&RcQKs9kq z6g#(4Qmi5JK|_~U2*ZMiq;G5jI9v9Y8@J(hpT!|sS<|3i?KO#B@@CB}8l+>ET`gUR z(-p&s6p(8Lt>ofQH8Est#jy&<^f2C7O1#AaFSzYWS6)Jrf9=1YZ5;i^0`wENY`&at zIzB<^^c#EyLnA9Cs)R_g9~ zk!ydg8z2qXj9>}{GbGeZm^~Zd=`Xf%{P_l^i^2ivI>WS5*gLK8=x~l%O{nuB?9MhY za+$nMUuS3EDd~lv2w+DtZ)rLvW!)rA$KdX9P3`NEF&TW1bpX*mE86!(H!OAH<{bfL zN^5TM$ZYOm60H)nd}emHmqw!(Aq4{q!wf~%`9hHK;MzNe`~GUh+~inW>kQ-ak;41G zvxc|d9by0J9G^a#VsgH~7pDdX6NBBc!tQ#Gai%fIGED0n#}{L4jb?c3);aEMPn>~S z0Pu|{l zNnud|YpTY7D!#yv@~3!IZ{xq$5Ah3g*8yu*sFgzIbFB@WVV#**Fl7lU3h3bgN@u98 ztD@AC5^L}8fby)ZNebmu1ENKAfh@enz}OjdhBScw0s{#tc3Ti+EBqwF+%8#hDfey) z#UfI0$r`b(JyE<)@HIeS@a zk8zeXNwae8sZv9*;HWN5aJY%)lDW*Gu+aAI#pgjKU?y@@_b$u;xj;t0nO4YyV%Lf9W&DuIe4o^;>}G~x+01FMYNG3F-}WbR5^|(BdqOJxW9Xbd%G7H4=QApfyw|| z0MJeWLNX;HRjtH=j0gl|=({%U&b$+#uO@#1Ls0;*^mKjf|Snqq`tPYpK}#CBg9# zpcbuMY#H^%9OZ|{usKkCu=9M&(&uEagS$6H?Ooph>euck*taXCptXKwuT%#%mQ&%{Kw6uYmz+)pPYV0M+~@<8tDwA?~#ye6P*-RiC2{?CyYQPWsrEUf-*% zO_%(hjnflqCpk;apjNvrFBx=1{V#cdqS!#&IkxBf*qZI3;00{RuZntSy-e1|fLBHG zO76gZm-FhDtr_VUoe|>PV!0krXl1=gr8`2nq5ryxPU03=DMajHnkC$q@7ysX6RmJ0 z8Dd)2liR)AeLcy{ab!$q9LsF#P>g^pPEh1o({4nX(lmW?$#xyU7QJ_!f6PyTsV z$h$Ml>kJnQh0mW=`22W|(kRr!HQ1dk*uk)|6$oP`0#+0&LZr-_d}~FMG3~D{DSvNy zSvQetrQRw;VW|W-C!jjWx&@eSqp*C5i{(w%GSdw5MHcn~6BRp51KkoDFPkT0i9aW? zMN$}U!7w1#V-1BI78(W$6&;%E~WdWm|B;3Neva@xCt-JR}xP5nslV=M&{&b3? zy*Uo12G6E7Him@VHI2=o#xTn;Gda%Z1->}i#NF))-r7CK`go4KHqKQ!XK?O;H7AU9 z8nd1-)|Z-;UFG7P1HA55_R^2xDyjB$WZkPoYqe<&@tO{O5q<{2g$}HN+p5I>Irt5J z%Aeq$t9$r+^8lalHcHB|U=2kCLl!k@SZ3JTx~M^}QBCGp%rdBAh7_wf7Qm)?l9>vzi3_ z3bwlUX7PE&Y>?Rnw#$8N&z~Z*i)OK;d$p}$A&^LKIdxa2ZXrL&z}ff$WV`rSn#0Lm zeHtZ~gs7zv)3uliy|z8zv0Z{t)E3TCW6u4p+Pw?EhCylFR@3x?aE@9=SeUE?S7|wn zsEw79i!uu5){13RK*JufC{DOxZ&pUMgyB&w2vtHhE*EY}6Edx!bsWz{8f{dWN^ToU ziX_zio^TGLnheD?7q{Jz<(_QA_J9Ks@XGK~T_ttp)G6#xPs~{~eq#E_8Sz=h+4&q# zk0&VS3lKR&t3n%W3~Ic4Z-PJj@d3X3-Z`}5rcat1dAEWod>oclm>v!A^q1Q>{-Vv4 zUYHEiTI2Y_;G_Ks&P$-uIn3@B?8Z7QsicQE$wC(rZz4$ra|4*2>Ogrwon%Q990MK9 z#Jt46U)miQXUCbTAP!&=i3L}LQ=#}p?Pv>a04W0GK9}Ua#`Xv&2;;qIYT=Gce;8-R z-!txS1qBO3488$q7;0l|g0ft%bf%O1i9B<&x<^=a|onvdgL}m=KiXE`dTE<%3rExJcVXT+> z>@0KfCZ8?6)}8CpgsA70bzk?rQ5`jrxc5G4ZI~n7K-|(5{&W5qf0TcY56uq#zv>acpMi9NVl;vt3_wcz)}y|HJ4H`slA&m+r3H|T zZ;slEq;f}T)iTw|q)PGxNn?%#FuQgfYEAt*h~MKIV^KamNBQ^!`FoqtyF;<>FBfe{ zz|PF5stQ``H%|8bMgi);P~Swg=2ZnzbQKu>vRKq>fa=RO%Y8j0&$-KAO6K*~K>B^H z`UzkEb1T7UezAM`a+Ken1if5`wyH#-=K@&+SPRbcZoJK9BbNI5s(ZB>AhzCY>=4`Y zJrri{Qb3yRboVRtg$35Lx4w{2he5*4+}?PO0kW_)kZIkC#)=(oV+m+y>WN&UlPe<} zOFQ+2j=T+VS_54%9+#-bS?-4b#nC>bBtrwv#B+o=>W`y7Uv!o|(G-DCmNIpPi1m;= zN`1$oy4RExp~y6pT%)Nr4y$7xBut?wS!hyEk9Hb&)z*CEj*8>p_!?3#Tix8;QLcQm zSXH7=8zg$mm5@~?2_C{9fZ1YN*4RI~z{z(OLOmcDMVL==9DTTnyH(1;H}!;=^)i6I1hnP8f(CEvJ1*XKb4dx(!O<; z8F0SBB3=3;vpk?9;a=u+ed)a#K!nJvZ==#QEEoz31_~M)87wkop|ychuEj#LlY$4L z(I}r|ZG+kZ7;hE$;NRzX?|0Vm^s^bhcs#?!q{79K!MFf+yn)%M$S|s%Gx*b!4cy+C z;H}%|*x8t3P+Mf$f^!Dt;XdS~U8oE2Xcd#PaLgfFx=-T03{)?BCf}3KjbDs> z7<#}pe85Jb8Q;^#_&^`yiCx3r)o(jFIIm%b92F_lR>3L-8wx<|%`1(;VloG&8L~lv zVlYIO=Wg7RXt!WF!n%&#okxLG*RV7^6Ky4Mh7csKH8aO;Jk6Yjt^O3XLq<$Db5fRqYJU0W=xbf6c}_6RD{lL$aln#=W`4dM}aihUPW+XO5CUb1LOQ5ba@i*EEqS8Y-m z14V?)&!39=4c5AHX|-GtPpvyNb-*-t**kg8C1{I|D?O`XvDCO)$NIazzW+wzs#=%o zrozW^+lawv#QI8b8287fxyi{VT4up;|NS5kwgX)Xxpt;<6ndni%iKy67#+oR>tJrX zi{o}dh)#~JLN|sw>Xj7NVQC(?taWkgzTNa$T5*PS3$z1++Nc(oI#q$%80;TUaCAKJ z`RhQYfl*##Yh2;`-#W#g{pb*Pcgx1`hZSHm@7|pe%s`>efZAxBem2Gzzu3jasgrk? zCd1rhm@X8ao>utmc!6mJ)Ov_|cL!!|-1JJfMG%ULB%yDfgwa?lHKoQ)8^UZXID?UH z+3F?&&&OSn0NG8yHDZZ3$$n|onvJQZZ9(LXi|fZxwTt4{IulKbxq59Hn@`7q0rxvc?&lf!Z_HY+dBmx4yf92k(w> z@TA12kEWPTDojrejwZnNSYdZ9$0*A%%xcW)3ATthX4q^BU!R3Z3N+SQi68X)w9QfJQmO zDd?xBxEB@eWW6ZF#aR~B%0zXytW~P{4)H7@PFknLNwMsEy8&w$X1c)iH;1q}Ver8& zQ0Qx|L2ugWJG9giQDaW_4WNDv!L+QHd>t+_Uz0~$*(CVOjC{IbaLKD2=T}y3_?q7% zFL3H^F2A}f!DeYT)(5?1*zUC`^`4w1et`j7Eu2}I&U+tJE1h=+hz)XEVzWHL?(7TX zT(w|}5Hqv32h0kIYuE+Vvkr2fr~ZXpWI)!^iwx%mu9bpq%#dPK)^5M2<5@7~BtT`# z!uDSUiY{|nJYebp+ti&ilnT*a2}7t5$@L_27?`jY=%VQtMUu}f-xFtUS$_=N0nSQM zZ+~HPiTrUX560NGOcp61&ouH}8sSivP2^Tq-x)KqH(YtyqUhm{3R)5Za14l}h@fyy zY_~AdFjq>LulWTh^|{{%2XZBP)ZrY#$;P=o!R)QBEl$r$JUKeYysDwV7-)+@&R8E* z_}0BCe)=Dryqo<6YvtV@NEhx;Z51Ym13dlZ4vwF!V^-&wTMwiwC-45`V1m<kqox3{@-ci1^YGbk*Had3jj?Bt>OvXZwF$FM90!&l4 z9l{cl;)n#(eN`%si#N$MPnSI3yZDVn?s2z7Bh^Th0ku-T&sxL4dRK5lM%MQ?JM%Kl zfM(|guDm0-Wyf5z1&UFQhu_NZ;Jq>Sp3L$2CsUlCEb!#a;NZN%&RAn-EysG1VUQVT zV0JOW`e1>Fcg}EoXM*uyfy`J}*vJW-1yJ3pT*6GF`j&1X4l86!kFlCtclwOEE>OM< zcweT1?2~{m+1CzhEo+{(bq6N}Y^eqQB>xQmIsXj5GQ0Te>Ro(@TX=>MN@S>5d6kJ% zQ8;Ceg=KP4Qf7h0l#mw#QWG6}I`Mf$HnvrEZMsjo|G|k2mSv;p?2In?k4jC4TNEuN~j~skq(*FM^&J zD>Blnp136d@`Y~>{~2QdYrxsS(FVjSF=j4v?MHNMkY0VTe51i5~ZxPEa8|ff-<8rBQT`pt08s?fh{hl&xn-s zpZwl2hC|!wljcmgcY{z)avc6<6Z;=-VNwYlQIBzB`bP2Ch3u7z)%Pd{NyE7~)cO9XEGq{s_8xRyLAHigy$w0$p zSSwf`x5XY%d$!sDRynD^wE$U#w;pQTy+6dWqd7kRWQOB|5(g7!V756V?5t^Q44gA~ zS-U>#_5Cf}+d0Quw=b|ZULdyyswN;~u!cC3?r3aOrVtn|1ME70L2~N&iUs9m67b6w zMXP}IKGU=%-`fkomjHXFxVQ**o}lo>H7MW%eT?sB$JjGt{DXObf3)|phYifEc8oQw zYu{kN5;;)qjq~ccK{cO2=LL#l06iE$sm!+ykhio`Nn~Q`NPo$BimD*#@o_T2Q4DA) z={pxPAX^!fkIyiBa*F)DO=LU6Hs(-98LBI(w(G4CS75KLwa{9lsw!kz_6BTy8cRgsQE=%zMBGiFR9;`t~kao4OCz99bXEl{<6XN%N(3v+6H8f^z&>lvbkRE zl=i+TDU|D4urshI!C3+5Y>Yj^s%(vCgPMqVG&W%oY|OiWbQ5OHA6~K#1_fdDMHn51FB)+Tdj4b34>gSznP*#iCo8%zV4;{>weKH0hVHl9zBgCyh?Ao6kQ`?`h(ov zTF<0wCy!(cER4b7vndXrO<=8YdD7(iq<6;^e$UIhZ*9A*b}Rd&6~X2T^#Cv#p_*qn zed6WaXG1UTb`tN&0(g2_%@Vi+h?uuYG(hHWCZ$UDAk#jqC8%Jo*)o~^bFSmVy| z?!6Iq?+kH%TH*1dDGv8$IG)uwX$;IX)`tbgd4^e)rmoKBsZbAR#Qt90%a zQ~VYE7JtDX<5zqef4g{yM`i~XJivl940|w5&cw_xV3jk@veg`AH3!WUvcb@?*1CXI z3Wil93+F_8Pn~jSGJS=IwF(i5(pw;rjt7Z&llDMS)zXQ57(6qWe0+q(MTy}DyP#1X z&nJ>evNyZXT}2)qVzZP|FvffXs9#q=9jYfm{{2er-}5qm$>&!BiZ7X|<}1GQMKJue zLG@P&PU!{@_G>yP(esR+6iD~7f<10YyvoYr8aLCWcBZ&`|LVD8tMdYYiXS}84oKSt zHs?p!E}x<>GY{6NJrvo$iZ{!v88Gw0qNN2YMX=y!_+L1yioa3i=2wjwXQZ*pDgEJ+O( zw9WFLBl8@Rabl@cuBYw^El>^&HZeCc@2D_t+tLVGC(*Um;$l)_?|6dQd;tx{Fmr#_ zhYNiBtqK0*hllviyB9u|$}#652Fq$M?H&+}QMlM2;_1I^5hFW>x>}1^WzY%3oqjmfC zFF)P)|!3~q|w|0!RHH?iNh41YQFuhpE7oSeB z|M?7O(+U?yHO7UH+!|>Itm_<;s=(f}b==yV;{NS(>}<_Y7zeCb^Z(D@n>I<3UDtu< zzUS_-WM<@6TQ6ud8blM_Xb2Di5a56qann#7Gns5;Mw_20(PlK1Xfu+{d=ZC6V&Mj$ z0rXyLZjl+gyT5n!;l1Z?agWHX>RP(1E6l1YE7H@`!`FN6Irkhp7jL#y+op=%0`!pM zvD!_hVb}nA*VGl9N>wh2WTA(6tY2EI@rKXPHSv`$uMMK9GawQz%@-hYN`6T z>&DxpE(kDd>*Im02X)X04x6rarJA88E6jd<3|$Be-ns_LMaM3?Vy?;)iqeu&HV)q* zzvr1zKi(bLPIxQ^|RTMs?vm~gDp!x&_!g8A9=vTXV@ZK)w%N$FUqg0uZcdvjCkC!-_)L5}V z)!#;WaEQ9-BXqUq)bx+2JufK`%t|M&-oeZ>MB7-5q@9@t5@+wwj0^$zrY29?gK2JV zH||(8jVs|PY29ju3*QV0fi6)CQACZL)m<;RTK^~~22cT9!KkSu@Nzc8 zzs=soAM*S7!J@St)9Vw z>(D%}8D*mAxrAU$D~{kI-^Ac#-X&}#+neU{Xo}f;C&;c3(0gge8xuxEL<$V(p}_Ft zcqyfzlxmF0UNF?p;mZ}Kq4fKC1l7+WWqG9z=T%wir;eK+=P&$Bf_{En7ijlEYH5ET zGRNyux%L%y>Xr9lgU_ZyjTAWHyL}GaEBA=qeM? z1wmy%xymrUy=COxvmTZ~4A!(H+#T2Wf!WE$ z5Tikfm#<&o+QAHiUWF{v5Q4#)fSe7u7Tze%G|13uVx<4B1>3x)zUl(G>lg_RqQ2Jk zo@s3#bn^`NI;I_n&9_n$Gv)6olmR=U!gu=j@ZH{B+)>;3>+(zZ=lTXt^w6-@LO?Qu zVVP_YDK4a=?D`5_1pr%;dz}na7PZWX?nFY$#O<#O$R$>P|53iJ4*&9 zN!QG%${I2ghN(uf&1g5|5ftEIjuJ)9iFkL1Z_}FMnS#ozncbzhOW)*rBVeYJ{J$Jm$n1VgKxuP4M4Hu2P4r7ytH7C@jWG{(_lwd;TSrP*0ES$%!pRuj z&e8T9jWcn>{oTm%Y0aFqLM-|fo=J+PGjyzqr?6RKmleXW*=AqVI6Gh9^kNRJ6f$Du z8KYk)>eVpFk^73w#V_pfIOly32 zyu!tjQHmU^-F=j!Jt&bSc!Ppx61C114%p~W((R(J5Y0`anUMxrIk$}6yNUdqG(_m+ zZQhfPohCN3(!@DyQ^N>n2Dd3G8UdK5R@@cy2Ewd!j+Pq}!q&A% zwmFj_ijnW09qCv(x25EM!c{^LLmQU?)T|-NgKNRos)`xHx`S(Nz_nql$vA{-29d7&gVUB-`~Zp!wGI&n_;Ui zkuMeK6u`**;U2((<2>Y`(V9xUX#+4#j{^sd!Hx6Ow1(7p6mztzO4B_Z^W9ZgTz z1|JCklJK&e;eQ+a0)N8q;h)Rv_`B+5e4zKSfJ9{l|9}FMW306?wqpXT8r5P2TIG;= z4|#t8O$8K5DE8Ub;YNAoRGSpw;4eRKE$nEEhF;c~{^kVre1*YVhY-WOd9aWOk69e@ zO<`l}G1PYtgPEN9vr-CKmc7WKeqO<}kt3P|{5wGsy}aykk9x= zK8i?t{WsHSp+}fExQgt%Q_gUO0km{YtRcC^ZgqzJ`V>80H9#6EbDH{ibx66W>)YgK zHpB15xz0&9N`zya+>$|yMhZy@BT0#TIzexNyC^mHT_as2A-v?e`8}fZ3~_+LIe~jg zyD=IHF)KtckDSC?MSTbE*ndP#)-E#|^B?zfQd*SVxKUGZ8o9wZyAE4KIbh1L04F_< zA_Fd?l;S3@)GtpgtZ}tjm#){Gb2ylYg4Q5Q4)}Bhb5BrY z?o<-mI)gjLS{qQ!x?%sNFmu+mo3)mv2_cAZ@X`?bH~N^Im$?1G3@7*II9V!;7d5tf zgu^X~oxVUn%Q3HWTr7L|_`xo29!_!V+7vs(74nrrcE-RqgZBvBXIsT5bT4&-SX$Q` z?f}d!)_L8dw<{WJ-6L`hQ=Q(gt{mfqR{tlC0F3UH_D^Lptw&jj@Ap2zcZxf>tG4mq z%P-;Q>ITlaj}>Q7AV@3gW;SCx%w*331zoOCl~X|WAp2Voq6bYm6l6Rj-P$R(?Y8c8 zwfFV&rE*cIsG}n>}v*Nc$;IS|Q^SBXx#@@&r9+HbxZ86>{wC9GZ>ksM*{+(1<#U&m_N- zI%-QVOXf)0k(vNe!-j7pp#1hGKuM$y$WKV|{N`RDR{aUjxT)CSJ^2fxfvDO^NX8%!isZhst#CHC^*~g*WGAw$7 zEN?geC(TCz7w=60JS-%@{IACoZw5tf5t@r8h>Bjz>n)! z@QEH_fuhN@c2|ca0+X^y1AtOB>e&)n6rf@VnGK*t0e0sr+7E*;-YRXz=~|&Ynqm6E z3FNf_`mc=IvZ=tltT8U@*{A!IEbHTp z(|VNU9&wEIQ<n!A{RaC@P9AC2Coa&-G zmgPp;Ep%lV>GB?W^|C37JN?2%2LlWMVeC}bTxr*CrFKU-oL?q`(u@R_IUqBG5;-#G zqG+C(*h^BI4C$aZ9s=Re!I~40EI>9%O!(PNdw4lPp$_0jH#pnaAP#?Z{gRgv)+buvC?9FLkzZL+Mn$yyHf zYfv4>+t1O=IR$ie!w4r?&=f>_`PoE{8ae`@%stLd<&cS2@xy6t;1LHI;^g<0R*coE z#)H!dCbJa)Gb7#0G`5NwyTcl9zB0iNzj=a}Z!FDza(^-bEdXWRyLC>emBj3*hdckY zkFz5$?_Sn9mbJjqw8lqAE1a)@nsUrX2Uw2wp+p`vV#2GHX^mP##2~uaf5OLMHMAyC z#7x5(kC8K=3rxl+Fdu7V-H!E6oV~4ccLTH$6ySj(fdc~1NuOI*afxan&RyqDY}CSO z>|KayO|ieuwhVwZnxYO}G1j8C^lx+d#^!OUK^nq)U$lRWa;LU)*1~?Bu|fu6UBTU~ zwaK&A+Smw41=MU@!IdVkVhl$;eD$3IuY7d}4?dpb&WAHh78Ryrg+WHx8wl(TP2|?7 z4;)VhxR{TyGg#pI!37TXr|8!evPCk5YCW(@?$&e;|q&|!UJO$%j z0C-*IbSnZ7mv><#S*h zcFe+)%U29Wvsm*}2h~m?$E=~X!Cfx^^>YWOgKN?a61{jm8BqNg!C_~E@)DN%VVVo{ zw1DcP8bv>s4FYP-%2Aes@*a>4>_cXQU1*1t%Vei=J8~)A>8)VhO$Ua(*%P`zwV^l( z3Yn^~U7g`@c@I6kY>J7Hm5bOxD;4fC6DK=Q+sr|OqL1A$-A=xkYEA=?3F3H0HvocJ zOBE2`0LUQ*HpMKb^Vh+;nLBnWvch|=S)y@yG_!`{tig&Xg_vb$B~Li1sIbN0n#v2T?F*CD=#%`lq-dk@f>I8 zGcapp#OP&=exb2HEb-cnIezb(r}*t42FuC2Sr}%z&IzhVP@1qj&+*{bd$|Ap2#cz~ zN?Un%Eis-mK0aCCXj-E}j^$tn^S$e+^H|>9K(h!$qkZ6s0@E?!-xFT8ZCGj%ICu-6 z7u~Se0dS_&?K=R^?*EPX7&m#-B-rOlCxALN9^;^kl-`$kLz#e}K@|bmB*Kj%A8&5l z-s5;J3fgJ*JQXm;V*!wk+?CV2c}Mi#I?^*0e7mg>Np;`=wzBUjkdb>s__!_B)*0LY zYjf{o2yG0^GRsysbJiI_E14< zX|bu}^DMyn6F<&$h3^}BFa#3q**jk2!h9Jp-Y^&4(v>F{fMpxn(bR0?uWIa8r`TWJ z$3QPElOhZ-k%*$0C{c`4U{usZCWUNzM^IN2|0v6P^mro5sqvmRc7^@cnO|;hnFYqgQAj(JBm(W@%XIx)9LTz5Dc|E!=x|ACrlbcjs6s>)w4<;r6)1 zvKCloTbS+LKsnek^6o~$N-=osilk{kvuiNHXMNfCDPg1=M{nulvO;M$2}E<&o}otL zXnO}=;x=p(vGf7XCDKgDD9*co*C6z5wz zdSyKTMvS-u;IuyOX&qv@g5w<+#0r_NFe*=Ru)L2xn;dD!z#3!`=c-ayBLJ~GCj}bP z(D|EFE7aB|CsJb$lULgx)w_55Y9jQsN~1$tl5!5bj9nfz{B}zzAZ3u3%(0|AEuCv+ z7&R$9dro3a4Q-2rb*DkY7K;QxQ#a5R0+Hpk2+gw`%P%?(9V23JMPv#`cH6ytG!{vO zv%=hfTke=!cFRySm(8t4iLerFqpqXwewE9p=GLVaxogKGn88)Z)Mf#LLOJYf3FjIf z8bEP!oPu0hr8F+4OWZ%3qAV+9!WfSAa*a{H#_dqx@vEi? zNK*i&{k1`{yp{q*ZDL$8i^>7Psr_Yh+y8s4^3QRV1$9X4aZe3nK{^M7Z|y77lI>F*#r1_HQN_ zA1`rtQse%l!l*Cs@_vEC9U}+tsT_-{httUpwt5R(J2=Pw{uI5sf?Ozw+{nT8Hh~J8 z6K}84C@efYbY1N5qe#FL2X5jukKlF8cW^Jfk{dX1^_lJDp49mnYJh9AV|tm!*X1eR zl&2VTA3v#X;m7(F9O-S$k)dXDVG6dR7N{XX<{Z!ptE$4PT4E^+6vY5}QGi%rbu_{3 zHz&w%ZXD2G7qq4QS&-x+RahF0MyUfYq?yZD2irS z{>AI_0iruMB_XEP-JhR}4~m4nlak6EO95OzS52fkwsTkKn&7`krIua3~eGA7R(md+ayk$niVXa~u-StnZa$tj)7?AqfgNgH~uk(pI)IhJwkcpFVE z5|S==EPpf*3PuWOO^um4vp0Y|Y!TT1%FLLh zF)>_>bYzm%M4NHMQb#g(cw;xFU_ZNS%>KOSVA*3>gqB%R#5A#q!kW%jcyKnuY`%mb zMj;seOk=B8V}HBEJ8w+z{ddlA<8Wmr5Xd-ZvoJ<+nyh=bASfm*#swbydKV8q9AQx! zMtZ3-EGvQW!pOUiXEj#Hu^jATx_cc}-Zx_gp|KKCCwSxpScfw2CaR7cSZ;%4vQ2#_ z2M?KPk+9L;1>Da}Q2gESSXakGp~_g zcVtczKpBB$0`_Rb9lRy9NxUv-v(tEctSoRnNMqxoh8(xPcIgPpW*B79$Vk}8EoB)@ zGiNO%AT?VlINLdEAG<}8F*@jDbkN6qQsVx{GaTQUV?3{LerJhcPPnm~7w_Xo_z=HVhxnW7Rs4nzaDg65$mTXl z)(Kt;jT{OqRw!AaT$ETWGl)t;-JN3iTZhOGhLJ+38TV=&AlW<<*&j3Fj*cQ|5$>GTxHC5H-K%UH7kf9c>Kl1CM}?_pLnG6%;EZ6RI0i1tr6P}d z$-8hPoR_wdYQlYOmxG9NrbWPByIg6*SaX~y9nMWh1ec#Z_O}udOS_4p&)3Ccb8zLf zu?crvDJg&oZQV1HFTXLu>HRtG zemKQ^T;lzc3b)TH9BfIvd{AJ2&_j_KIry~f|rJjD03Fa#qM?hLzT+atZmy7Eol!G6_M_tDe$< zw5Sc7X6P@+Kl2?SXL>m5#wXVj^$1)v`#$B5Nw`^B988(}neL*(sy{hTo<6h{3DuU=c= zN8dih*I%2MC?IP%rY&=+Etu9BK}n#lBrcBoxbx2kI6oa2_imkGS!bA60w>cN9~_sM zmB304FdZFYwsVM@B>Zp%#n&fMYgU>A33b!mNkKFLB&C;ri^O=Was6*I*9ao8D9o0o zSmG@rskbTCLnm>L4Cn%XhDh4&KR2({$Z#8;QrB&V5NlmhM}_19*Jw9_B!RQUHJn3M zl6@mCoW&-#V76Ph&CZ~a+n}F=YsP(-yT*mO)Hz+=mQ2<`+%K<~KoF=*u0aE+b5f8@ zjaxW@A)8y6`MMT_S}-&dlm;{tiUHx~>m%HJZ3pMaZq9mvd(#^CFXq@C2)wjc;M#V9 zLBUw59J8v2lZz3ydJ9}XJjedt6uqi~TpBqzZ`;_d9GHQNDdsDR5CYC3etM1yb zt$K6Ad^KHh*|l}+BS^+6u*GNV5H2&|rd;4pi}&!ycn`mnE6dV* zSG@q#&k<&14I!kJBhm{%{is(RJ*M?M4vh6o0p3Hdho8_kex~H#kNdNA3NFz#UEM7+ zOWAEgdsr-HJ-`g1YxML2`>Xrdtxk~XDsWj!fE;-OBxV80skFSwSIBs^M7wE&+?IGm zQOp&k(LGE_brFEK(6GcAYz6x!bPErQCIpi0khJmRq68@okfs25n|ZE?2y%8UQSNqn zc~Q!M2i*d#7_7+@evBA2aEFnZ@aIlMN>SS=H9U)Avp96J-b{e>dhvFqbBhq*2F$mL zzjU0`%9ukYq+6-sj}3?R_u8WPjJU9=} zaIFnvaWa|XJ;agu|Wxh#N^1VL;D{cRBP^ zDj?zYesc&LOd&VTapQmk=M0Xbn+$8MSwIp)v5|pG*2W;carRQby)qDj)=rS4j zI_GfrrDd&20=Wd<$&T=Lc7%I+8$YRE!q4|iZ6<-0nJ{BkRCjovxi|c({O_(dJh^_Pf8u4J)<$Sr4iLfRgqodW$48b*e^&E%G zdl*%x5U3j|up3d0D6=LHdDYXB3MzUFvPSUA!8Q#tjS zqo5%|B7hgv5tRc!>mTljP_^9v7Um9Bg8{nnZYDcAYk>4*w!;0BDHf|0gp0t+G`4#+ zu8mgs=2xfq!P}?U8&&4~l%~O;GvnZ`Z4{Qy2sIOylLANY@8H4vyO@{mQc{f2bCG9!8z0{#xB?C?)^DznrmE9n-dtWvd+{w%|+A&!T zm`3w{Bk^ujAR@?@LPE`JUV1RY#MJqD##su_4O6Z~g5Xh_P{>zo#~4fgHHEQ`cN|yBSNt^CF#|4!40D zgURq7X4ax%BDaVM88HY(4lYR}hlUi&oI=o$%mx5aK(4=FYd{4iW=b15xYDM9Io$2x z%cBA>e`SP|dvo0XXoA^AiK&%?A8t#$v{ztv&_h4Vu~a#xs{xKq_AuI>;@aT_Mx(iL z2cKIx_?C4C7xuXoJ*YThYdIB%T^6miCc})^HWTr9WZ(}2mT?KNUjwY6EVvec$bgr{ z6ffn!!XM&&yjvgQzw6iV5%w@gffY$eV&u^1v4VntGDjXY6I8WARSDE0L*DBn%lc-e zB*1}6sX4z|xnSJUx_>%#yJm(~%D9<-fiTM#22c|Ss#c#XW_n$A{krS?ag(bLfrp+t zFy;02|K*$BF}C_pz>*&kus;h>{kVVUlTs+KGM!8(_oFVClJ-0+ul=ww1(EUy4V%CU zQrGC$QyeVsVN{(#m`o`DC=%@%(+Fu|-$Hl%xqsk*q8nsAUgik_hE?F@p9N zex@>xvQne@fG0~(udO5wA;Vd*IV)d6@*W$SC^F%<*4Vq_T_C*w^o zApz))^C)DZxEsimV;n<+w_10;7c=Od6 ze*c|QymVt30BKl8+5>5o8z8(|NSuDWg8=A27r%SI*~4U3*a$4cN-rvbqe+dAPgaXxP7R@PW9E2$tGT{!DMOafuAi7CGbJ@54Be(CcF?vz1xs$No>24$rCY+P|6@}=_ zH8Yr@R1zbY;-wB&GMIAj*xEIpgHs_)pjk#o_vlh|mEO8LgC4`SP4s_r$p}<7ZmSj= zIc1H3nURBs24)^m*TL7CjXQWg$Z+c`Bi#7%HpUN@IQn>s^P@TLUMSqZm}74!adVX8 z+D?H%mZ7h5%&P*Y7bENp<~TgKz~27M%fT-gyv4u}pbXH0W8Z*4mrv{Rqc?!iE}+`E zho6=V{L?sxr}dFvjt|}Q$uKlp}N4q{0?^Nb4cj8NL**MLg~!3V*%Ul zPo%jsKE%&2hKvfuuHT#*MFkA7pw@Nl=7O(uI7D*a2poASFkH)X0RggrEbzGH4mK%a zz0&95h~>GrKi8Q(8l5#{HuS#usyF*2o1Tml}gYVQ;&_m#;7Iqi>$zjhE+; zIU5iyYz&qlXaOi8pmXzeRY{ER4RQC~JzR|aob*a%SkwaNbB&Kr7C4=2tROLS@^0C; zMXHqvTRC*3Bni$v4%z2`ndUGKi-eKqyQrE*gH7?kv(bYGGuOfUjqW&cS74u6PDy`C za5&@c!Jv-Ovj^DrTy13FYi|m{-IhIL8-m26CS+4wJC+(;AY6 zbqH6;$eh7KYUBdQ*@Njy0ZKD!VUD%d06}8^))0F)2AEGuJotEq<4>kIUDi08FR^tZ zaAP;a%~6i6UWT5PgP+g0FnF-S!Ttn?hZh(QS4Iv#(cnG<+XODmwMvvUuGg@?v`%(? ziL`rdcJ*bTb{$&{Y?h(}k4*+1O_niy^p-G9-YUd?`qKj8QAu0F)ys8{g;_EB<% zk|Z<<$cA+m(DuHiL8z+|x|%|*3Q#_P$ofE5Kto#QnuBKqJu^QXZH>u@2ueSn2GCz< zKn;d*_LerrhMp~=`OhD$Fkb1$hVwqHlzF!&@bACc|NH1=Axs|FUUBGevJl26Rs0_YUVp(7^A6!}?34Umojd$6xMsD;$^ z*~jy?i%LrUf!(%fwni+QGRJ|kG^S;FCYpu@fg&@bsIck+6c&^=67f*R-oXMhhkX;@ zr0v|sY;y z^DCgjJszm+&{0dLWWhgjq&a+EQ@Whb?@ddYq@1*o(zCTFi`~m z_nFPco^1noZUD51<>4d(={QCC(`4@{6d3+F=Wh20cDaaU4la|h!52ngaVxGb8OPxG zrVyH6hs`}su+zE+OX|WMrweeK5l&DDGuydqA5j*A>rI0}F}Q9Ab8+W$nj(uBH_R)Cv0I^KXaZu1E-8{WWmm5ufi9D4w?=**#SMII^MB3H zrXMMM1}T7*zcq|RiSLR#_%80?ezk?4@GJNS+`^IA!jf`SwksQ&b>~DDT-T_pCF)Xw zWe>6#f@BXYaxg?Rg7dUhxl+i+jEptE$f15NUu0$xm9}z(XNWNTd>d`Nt{(+df2tpT z*6is9mU`W?&uk|8vj(a^3kGEm^*b(E*qK@g88Av6EoUnuq<~>)vDB84mb$`DImZ6# z9){J}8!U4Q(0xv{0~|y?W-2`?qd=&HWrSE?&T&+BwT+xSiDj8cSDXZM&{*fB%ZTQd z-Gh~z`Bsiw5(G#=5YlGhYIqjBLx1fet+=BQp$#*^Ky0j)E*wU0hdI~|-$bC!I%1cV z0oGXtgtO^sP3&2(r08`3+5+pS*^!=hZk}FuU*yzbtVZiZ6OQc`!K`SU<^}Fb?+FZ< zQup{cTFW<(*O-zo7gzc$AA-yUOYXc!B}NNYDQ?ee50L21Hb+{3+J@8bCOHs)o4Wu2ka8J4xg ztRmbSSGYSav8V)Aa)^tqYnTo9p(r!VERrndmK|V_k#2LN5j2&|fkB77TQooz0YhzM z+aj5t_J(AQdcw-Ph0B*FmopvYNDF5oZcWD!0O=+Mi&}<@9ORle4&D)l<+ui+fc@>P zM`!~yWY8w`5$E|t7o&&Jo1rmTqq3-J75XqzvWCd;EbWS|ehM!;RNQ z7#}Tg{P6_m_ZPT(QRDtah5ez#jX)0G%QTj!8BWee*cr}oczA*R{V57nK`ym1i5xO8 zu2iU$!urcdN~2peEIhY?PbI3PD=m-0!rZ4YK}kC z@8S>nJ^Tg-_;LO+ewkmxRP-!sO;(L%W2wkAToe?Pu2Cn zF+Ovk`m&ccRf5QxxktKWKs}B-VGt{1y2MsF#^K@<4AeYfv=h^sa0Q|R2oZJ2b>mrJ zS~sJgm|sz7B;){6B)#@EX)}i#xi80ItucrUK{Le<^uXQQ{hM3YZge<*x8&VPG)z+< zMn#eTu#^D2mU=z}k;D=E%bxa6B%<+bB{NV}KqlGBkEsDAQPc~yZIZn5p!+7k=`bgU z$1XO0p-6fdMwKBRV+ftcn;B=0BYKcv!F0|$0YpvHKp-*(L&8)L1#`ktCBE_18GiVUQylJ#adBx=B=lyW zMBZ(?XN|1epAQzeAHXvxK?qi*Q>p4lM)X;oZ|G(49ANSr}HI-$Ap`EIj)T| z>=Y6`sj;YYjAvUI-Ys!>c!7h%3k(NV4nDPV@GSz{(GBWiXAAf!S+Vy?j zuv`~7?)v_k-$$FkH={KYm8#tUfHMHww#LX|9M+eF{#@Z3^%34)9^ri1$ItRx_;LO+ z?&sT>Q;r&0AcbcL3#@a}sJTX6mZ+;aH1!~g0c2)a>!(_eYi^intu-`WxO_i%FQskB zxYnK5%!}7&1XMrF@1@rL`q_YTYCkX@dcBVWSYKt|(bc-TPyb+V*h{(wni-+k#WkAY zYKjmBX@yL$u(LYB{_-yRYGxloPRtoR_C;G07BPM)APHGe=EecMYo7{-q(t0ur?6Gc zzO+n3!q##(k>s2qtqF*56`Stbr`*JDu=7Wf5;A0>x!av8Ev}u@b}0S!W@Q|yM>ruY zn%xw-n`^YjF5R&S3vgFJ`=5;q*;+Bk7L}rzNA3DN?GM<1;wHe^Zm0IqQ3P(8jD@FR zWW*L2nmJRmaQ8N|_s%hj(V}L$MjpJm)4F?*Z$wbnT~44y9Hs*Yjm%I|lsD}liPjqP zWrYVP6P#Zx0M^I^qnBw63x&O5g|ELh!w1wl#c58TECOQMHQU-!R&JfgexFf7QLg31!+T2<%|#m@ zv{!x3lb~juo&GQ!7zGA#j0yw=VU$+P4Vac}m}?ikMbgN@B^%aS3NHn(v{A&=nxKg> z*d5@@-|XX+H}`S$$pj~#OfelVF+HmA(MgFLqZ~Iz8TJN!^fQHJonv~phkFn9u)jOQ z;k66w?97o@wUvVtFl2B6t0oHebKtIi8S6`%mPy{*$UI+#i4K1!u2?_unzCwBmxcpT z>JUacPYDv+0(c9+3cv!`TQ2bjJl&e1R`PA4uUtG055?J31=9Xz%@ISK7eRNqUa(f>-Zrr(oE0{U!iZvt{ zm6d}#Nw_5A3@%|^Y+o@uGU8cTq;VFJd{&UkM=bkF=@1@HgVSd5#ya&n{Ree#mj$Cjcr_f6%K+zaNREep<8CpSk8pJO6b3%Syn>vDMT_kfm10 z)B>aB5%w2%Q0UTT6$fRDNElF#Ww;bN@i@tH$j(tJw!X#=S#%$v!rq`tn_|xccnk6* z#ctV%n-=~DI0EY7NIVhwD5{S0CB)>+fCi&thJ-*SeFMVR@m}7{90*x;+VBXP0+umP zV`31CB>c3l@Md2eq%XPOM>PfUW$?4I&RJWVf|vqVsK!7{g?4$?Y%_E_uhFcF9D}Qk zIzemgL5T$e4%ln$=^(`#TCw?Ki?gG%DU>!QNquSZq<04uZXK-fyKj#1J8zz&DA=>o zHUf(UpoGbi))}Ev0`t=Xci-K|@%?S%+^sUKbcSUmFj)cj#wG5KOO!0Jlv|kWT*Iut z2W`toX2guNzfc3?Fy9#o&BP*Bnnb`fi-uWg7#5PjytD}7vBDW@#97l0M2nDx7LbA) z###t85n1jEhlowZ%%KnR$Pve3q1g}NwUl@}iX zG7YwkxT5|+Q#m! zEi5K0Jb3Q{XLn~fS(G@vv&1kb+}bN}Z70WeFGpXR*sb&F7W%hKTsyqL;q?gygB9{h zLo75xcs9D(STt7p$gizb) zEFuT0UjXXo>Q&d3?V3p7h3Nb70Ieqo#P|uWyK~i#!{lrOsQyeHw})&jJkBP?Z_%-)1)*P{%9BwPeH5hN`{0Q=9V=kAO5;7)~vA4*R4!3LyR^XY@L?R!`C!3F) zEGObz?6#uSf`GM7XK2h?8qiH~BTQ=ptc3tFiX~`l*;nYesE&y@dmJ=JPTvjL%Yi$x z%l_2%vubXDD@!9;rKUY(%VWjX^bTeu$;MByW@s?9Hefbj_vkx^EtFLywiStt@F5<+c)^2Cp3CFW2dNaII8iT-x}k4zkQCqQDyc~ z!${jXX(Fi1$h#E_EGGr-zc<3sCp(y}+?;fdWi2qT1n!;JxHm2_tALUQm=5+q0M6tXh%#B93#G3*KZV#$GP&SOUX!4|~0oL*R4X7rHOvsvSY3JJA!r#t}%uGF# zH6?So*Nu80JR3Oy&hSp(A-JZ*G%jUz4cH9lq~nLhdX6~;be(gsU~FlnZs5C(_ptN~L3`Tvt_N_i{y;2>*Rs`DjMd_xQN&~baU=2W8ZQs;ugULf#1c7x zJ(R%WD3zHs?| z4zVHG0!4o&OvygYYcZd9TH!M@2E*Yq*{0=U5f|}Nq9_W?XS2pOpP7*t1+pxA=KHGi z5vR@myG-!)D1iGipsuw>T~+4h$A(SJvdnh*=uuAiM+3(lKc|#JUDsfXGKmE8Jb#RF z2wm2n)ZHewj@_hd^y?M&%VX>U6JmTS~2n6^_lp0%IS;wgS4+$TDFW zSq*3bu66U7+5IJAplp^m;MO@|Ym1#3up>rV!7i##T>Z zf2+pVUzy@Z-#Wvs{bevG9k9}5=cEf`uC!W89DlNd`|s^xIxn!ajP$C`u&4x%r!{V$ zE^)B}N@SSz_AuGHhD!EKo-|X^exm4nZ{<3N(N+N)P2qerQNS#RK-xKW`{k)&uLEcA z08~>W_YMrlth~Dc)q&ib-2I8-{AeGgM!`84$M7*Htd>8*_PBDVfpXe3V@k54DRjA} z2*Rcv?^Z-s*YBe?ByNB?CwwqDrn_xg)&-`$`B`AXXYWHI%&?|Zp55&)&<(I%wl8(0 zU;F<@k5HNJ>~NR2Y}Gbw6Po>z+N?F^lMTBoP!k|Hh}~j_qU#H2OkXtUfL^gu+>99)99-lv$BWd@ea27 zOI*8lf&GIS`u!4Fts$f~RC#V2jMUM6?<(bqyiJ z=Nf0d0MwTN8iqF~`#it?>i_sp*cpvl?@ul+@bCWjKYu1H^?&;>e}!J(JC~34cJbXG z`~d&gfB26$xONQyFrUxy&bPmX*WY;Ksj;Si^?&{+?Cg#>MOW@^A`I3{*yU&SNOTIEOGSUK5l>f5$5wb z1PKg=Lwx0{U&Y?uKC(|eI>8+WB%GrTD?g1)*BGc7c2^IuTOC8PLYEj%kZ2@*M8eM? zu4(*J^0@`I!6^qWp4@=Lj`^uz=Gx6T3rgIcL)|oY6<-tqT5mGt+p;tD==jt(Q01X|r3b<9Z{V^BGoUX;@(glwpCeWvmS=tRp`i2jw(-AQZAow8qTMM_#H7xV32uOOB1_ezqijkWG$!Hsod9$%l&MmxqcVI}?u+sKDF9#=(kUoRF zVWWM%w6L@L-rzfk#D(?$7VlJN1#(QF3|uiYR(1FhK8;K$Aoq~ zAtjKJ*SDAbxt*}J+|fW=*K|&rp=lC8*nmx)#3PInm`yRYnfUg@V1wHf2jOI0N;V2w z3LweCf$Q5Dwt5-*Qe#mU zxR?*oyHjCrZ;ETzC)n9pAkPhJ4MCuS%>nka7>ke2g|Q=N(@sk?_&aMn0zQBHy;4y(C}(?5;1p{4}bAYx9gAojo+rf z{Euc^wzjvM_dojJ16+*9j|T7_bzk)g{L!EO>6HNWU;f2kJa(=2+SRdVra$`d1N`P! zzrs7;`ZjL8bPL1b7KjM%{^IAj{mCczo$viFilTVBpc+6`RrrUW{S>R!5^ufz4t7Q( zl;sNNXJh>RPk)M6UVR0>_2$>@7{!K8apz`n6mJC%W<$f$*)q~XD-6^O2dlf-DNiAx zlC_a%Lq&)R+8Yz^5?@RlHlCtWLn z$!Q;Vezk|Q;~^GR?qjf&#AF40d|KjUQe&wFmU0Id+t)Df?Lb2|dD5{v9uhF!CHam4 zb?DknB6R1L4S1%AnQniNoC%rm;M^FDiNJJ>V#n_0Yxb;kvxD8G6}Y-Lg>_rbt-Amf z#lSdZrK4UQQ)CVm<_g3t9Cb%(af(!3nLFlNkjO(q$M9AmVb?7vK|=9;n4-2IC(Vnbfv`!_#_?KHm(K7Gq`}tpSs;Un z*D4*TcC59Pg6Cjl!em)z(q>v~w*Lxf>k>ZLAK**-1KfPG#Q4q>NAHa>nU<Fg-}~W@ zKtx!rR`})5e~!Umh(Gw_Kf(X^-~KChM!R_Vl~*5b9|U08w>7Qdm{v_z5rL8G3d4Ge z{qjC`s#6G{W4M#r#;l!jL;edvPI8;Dq#+a90Y+UB&w)#_V|W|(nb4+7JI}UYo;%6V zrYNQ;l>4H|EpAefGD0Rr6*o&+=J8^u#4+Ym^qor4NlS+bA>(iBN9 zqo#leGHNL-O6|7U4=pW{V{HH)cjb74nkXX892v$TAygsv-25F#}j}RBryiL zonfU=66!^+LiqnXper(J@^HZ>F@o5$!%Zxb1y69szVI?%z|Yc#!sQ0Y3YVh|NNGNU zB!-lx*p&hxX&iiIhKBW&!Yn6pKro}ofxIxqa-L~qIin~T85miQkqZr(F|v%!zhwT+ zYammMT-f)eMxHUUOdDgjU^dV>cWXN1-i>k!kyzVWDK5hz5Gjz%c$4(6rTMPWG>S~Sw{#B?l@bjxN|I+A)z z(Ew=oz6h9U(fr>Wqd*mIlI7Az&t{l{UfAx5Almv>cIrgRAX#Z+xK>7Ok_P z8~|4CNLt_!ye3R^#|o3!_87b;Ki0)DcYl@WJ0f7yA%{)?IoKHEGpuqbWt^$&DM+0O z(^31tMx(8L)9gj9$hS}Uxq_*dRV2z5|$8M3IwKj5aYhcF4z^v9l zr5vy(C=0HOtsbubRu9+T*vI*U8IIl?V|Fsf-ARr67Ypq42-kND><@Dc@(lehv<)@UxT}Vp>UfXk<2;uP}QCSPKAZrOZ9{1)zSuUd-P0j)=ZcU6UtA zvj!kTP&7v^gE?vUep!}JPj1f-`Rz46b$l6F&R5%g>t28RH~&9={}2DLljS8My!qB! z_<#P(f5vLHdaBZIr4&B=@B{qu|MG9lv0JV14?p`U1QFi+`qv?Z!1w>BAL9T0um5)& zP;c1l6m|WPxM^vCHHbAbuCZO6W4}DYmKsB7j=S)#YfThM@6u;(I8)oWx(1zY_dpiW z{9M2~ix9w?f`qAKOqxXF&fPB#Rk~ zbi|qfs9K{^HBQc^IG;?QRgFS0dO4%WHTs2_F%%Zy!hs(cwnkXZp>*%rVnwiHyVx5( z3x))cWfrjJ=IdOtkyr{KFBno7a4K@MoFpL60hycPHWLQmnxECkb0Eu&EYmqdOTiG* z{wvtB$mVN70A=W$-Ar*QqunTKc47^PB>)x6={b-ZYRg8Of34wIPEbr(%`+T*G{W5v zb}?J#SgIVQmRQyq<`v;+qHy=D#H0i&&M_GrU@|;FB?>zuO|fQzQU`B}uX|8Hy>~cw zNAhhi@ov~?5xh?V5Yn>HA}}NK^U@ALhd|m%y2H6?NnxYJ?stl3qQj;lH(9kFu7U$6 z?~v6@a>ql5YVY}Anc7C$zln}RYmPI_kM9&A^X6tWIvLmiJTtXNQK`*zr_D~!!iV6x z!(<_}-gbRk=igw>0abryQ`;X>)9}v z!C(e606`E00rDd$(d;woS*9nwNIylt;d_%z(t}K<2kGVej3NyLNDu@`2n4YV7S2ph zZ`D;@Rav<&5#d)4?h)bc;gOkDU0vOno;2&Os?3Z%!u_6m?mg!q!o%ZrblMZ_><+NC zJ3^xoBTQ0N(GxN#W39EadH$%gQ5)t~OZix9UoQI`;%44l69L>%K-OiDy=`Vy>j%6l zdEUf}XZ~|V&JY6F0A%OV(UwYjO9>$Yr0M4j^=IxSrLxNkg21wz`TTV;udSUO{KNOZ zpFh;Ezxf3KK)unxKYZ`|`Wi^Q_tg)cD3D&|yR^b0#22$q$$XAht8Ibk`D})XPC|rX zi0z$SoOZj|yMB4SFq6py&1Mr(6d_F#{PREk2(4Bd@4f$i9;h{&O-RS%uo}B(!Y&4Y z&g_8nzksD;q~jj0%pahg^o!U*vp<yCZNGC6iXZ^<~AV35C=lN zM`ZLt=cFi`_^$~3r~>p-nT++l$M7sq2H^EANA~x;+cc)cWDP(Jh=~H&$h@AjeoXL~>eroEUCJllI>7S|Im zj85|2asQ_#Ypom*Lah!SvMK`)iF4MP0!9>Q)>;BdpzO9HEn*gH0W-;j)^-!EttPI$ zxr^TZ5J$I8F+H8&em}+GV2ZW6z}58#o2?p}VTgJtF^VH}`zxY0XTf;EAOcXhYMf`0AK&ZZ|3Z)loHW-dx0M_ zh^_+DrNicn-6!{Jo%IfW_S2u@_NTW105@NK6+w6bS-vx})U30M05F@)uz&w9{`AlP z!kar^bYF9+yxRuSsz;g;${3rohq%J0Xs1J%wN5TU1r7WP#=;P5VmSSQIv5d*KniPe zF^VDc40l$VoRwn=voDQoDpa_XA30iMzLGtYZ81f-h{~nqM&B_rBM1aS&4$77O*Z?D z^8mh7{#`@@oZ%2A3+$UgvB@~+EHo9$!&Zr;W|jqt?=CC9_dNup#}6(=^_entv7b36 z7s?hyGGjJR&^;ZX*Be607*W7zMvP{dqFtBRY$terXO7?d;sCEdH$fO0!H;kNdje33 zvJ+4h=!FAj7lGbo;FtG#L(H|{SZ~a@-<{!Tm|%tw)1ZxhYX_5P4XmAmmCcxu79s~k zlcC=30O>-p8@8Ia*$+*DEjnhf(pkT>so*UP(X#A!Vfahu;5lQY9ZzZG<^KiaF0=88 zZRD1hcvB%l#=b$7&7`5@A?=EXS;|>X{f6O5U7i|f3Dsv-wwMpAPw(3teYm7x&4zn` z*<(x&0I_*il-cRZ*;JI?bJvycoA$D1;V{SqL+>1!_<(9NBCZ(M$e8&YYp*5NV%d>N zW-CDqPa?tRE#)*5RR<#kV=QOgJ)_mZS>``O-EW;$!GwYlXm#+c96U@}3z`v97LW{t ztr~V;-Nw!p-#A*>w`GuXP1$O&7&hn^&L)#YzX&>vUTE{cQ9Zfb}BLGVg8igh7UC zyOMZTUe64m&W9r@ktE3z1=PIa`}8z|@CsmNs(AxI5Cr)4pZ+QS&;RXz$BQq&3;^i& zdU)&0@8FFue(}v~IQ@ z+qLt(qA0?AK7*7Jt#%vV`u3mThkyTf_~y62gSE9aWr>jbpCeO$wqT_TAWb@|q#RI7 zTpQiS^{|F|6c)Y0277EE=Tb?cx4M)+`8BxhMBoMu@e<#*?AADKhsR6Iyt$@x{h+L zu$s1Wb?sdB+^2d)aM(W)sRz1~W2 zV>iav-{|9&8&lM4+7`X zZ|-7TUq|W)jPqe;gg#oG!#coU0+p)WH)x8U^=^z&w%ikmQx6&soO1*>3 zPdXDFgRR_cvByMKU$m23w9C861E|R^f+wBSpj^Yj8Fvj-Xe)S|Vqi=tb${oo z;#_@vC><%6%81x=63IB;h0zGHcjC9)F!T+Q8c7%lRc%7d2p|!Ha{;pejF3`Youh#@ z1EEyv;IYts)=ZF6wSRzs_SH4Cue5RP%^1D=0~~+S#pHB?d;JuL!zns-fh+3~wpumR z!w~f##W<ae|~7sOiZD+344*I(^h=PJuy;wy`31rfq$Ot0#h0n|bW#7P1YLX~|#1z8hb@jFzJ z`AOm=FJlj*OT3hx44bLu4QQ2b0AbXCmwN|PSYlIAS;+UYP-SuVi>y#~N8T17m}Y=viU0T3MzdYB5!w%}JeF3HAH$0ME1qH>qLHpWkw z$DJ|gt`M26z?AojJIu9jJ~BTmB?lb1o9`tXpjVe3l($vPAm(+m1kb3D?l2cHAk98^OAyT(lqvT8RN=c9~)a!)U#e|LEunZZy8pAC0THDel=NZAE@@m+xlmw;vJnG7<)y{ z7O~Y8ode!=E?f2zU#XM`f&em2)pYxL$@gdPm8Plgd7|7t>v!eFo?{u0$GH9RCpbJf z#MNt8@!~5tk*4W|ZEvOLkZkbhV|bYvlBM#}eAFbyiUMHS*Y4lFi#wlwii7kB1+y9%6QDKxkR9Fy z0U-+~sZuj`m2w^On;Z{q^ZM&xR}lFtH-vpC!a21zz|Snlj1$RrJV%+* zF$~pjcI>Z&aem0j$}=NP81p1X_jHKU(;?C{MlEDCYZ8q}mv*;OJij}~`>zl2#tUQA z>ITc}g6RxMr^e^2vd2}QFDlDkv`+Hfn^@fUj0zB6@p}nKqhL{uR9FE7Qv%Nkh?R18 zJPUAedmRt%tYbK;=U&p&B*ZipI2xt6pY=&|gkfzRgT@Z#q7G^Fua*wPDp~c^$$Npc zFo3iHsx2WgL%Ca&S?Qv@Tl-1}B4?q=6dW^prE`Fd!s|PK&d4}-Iyq;u(=vZA8v!$5 zSpcEjUd<&NtrlrVOv|8@$>~G(X6~$;m@DRe)AZIIKo&<0l|%rRYm``Pp^Cm_ExyPV z>#S@eCl3owE6kG&Q%J(Q9Kln~?G-q4n_PXh04qje?E9la%6)0y4Vn2xeYzAFro7LZ z5mVM@t${TuU>yp!)WJicfi-99;83hJ0>xTiUBhfRL+@@Mr?-2UoQ`p~m*SuwW4$S` z+ljE*tf3Jqh466_;iSKYc4La2oe{RL4zbpmA&^q_S_|#GAlN@A8VY+>9)cagPG7&Y z&>*^n%IjYVjLqZ~c^;!h_FaHisLWi}%T})#=RFp@!kkwD$MGCt7<~??KWncb5Rg(L zj#VJ%_0Ihr0oTLf5I_FMAK{hPUc;+jcms#~5AfrE{1Jx3;e~^ETKW5oljEa&;jDx? zP7<6PsrQG20fO-HoOj=TUb%J+fB2p6U^bntv`oET$CYc>E_NrDyo3nwtv~q>_~#$~ z5VxWTFTC^;qA0}Sg9Gf}yN9oQ^{bDzPpf1eDqdS#Tlm^HzKI|H-QVHr-Zfmi{v24Q zIPG?E_s$)B^N+rRdZUpG+F1S3D*)-DkGh2B^W9@E`h?jBh7EzijDcofX|!3^tRtVS zH#ys;6`T<~wP9T13vvLE$1tMk8#lMfu*x%i7bFY_LDnOkse1bYM&<<(o%v_Mw`3~k zt^km!#+`p8isg&o!|{c7%G?FpmOlBpcM=EXqzA0J*Mhybd*V6OK)N@=Nw*KqO1m2p zt(rtDQa#ewcVc|)jR9VNVS-vs0puJ^3*&bJ5UYEGBLFoWG+_ZiUIdKc0ozqzmzInf zE}lHcG9@7GBz%?uX`}>>2|NR&6qwHgbPrm%e`^!{ego4q#4L?4O9M<2fzz?Xy^{$} z#}YGy7zb_i8&@z58cIvuYIX1^1H#cY$#qVQUTJp0Gwkwha(bjKb#D_;2ZlJA`Y9Gz zVJZAg784x+x%YSBC+~o06b!Vqev0C|C>ZLj>^m2YB6hr_QECS;#hKW+&E5OQ7*TV; zR^SUyf3$U1WZNUl!P+(%B%7T!o4!4^RAtuz-@WTARpwHF;*Lf6o@M8cjrJ5n?9knJ z`++e&V}Mg-FGzX}QMOxLI57B-j2G2&oScs4>qyh8RP2S0PEXh z)aofhp?a-JJ0N5g45e~#r_Y#uxu*K#-B&E=t-iz; zW#W)fKGagCcvfEYtQ_dK{^&c*EVarvBM3tLzkl^#Fc@BrL)+;&#JH-Sv%~#;T)lpM z>H8N!1h2ZTU;X?S81(!3-!I;L8Q1o%<0t?8FG!L&fBy?_y@mCSjq_#Bc=a23RS_|I zgl%5*a;M!c?%uwQIEiuX+8*|vd+u@+5|`|&loE#r2RL}J4?%<*&%c1}?Hv`|auIZ8 zzmwA+o&N-vfOK~L|J%R(uW@yA9knnlw<%LrdZ>hJNEB?A)kDZ^sbQnipRycyuqA9_ zPMigknhTam&U-ftDQ)ClnVd5jI#km@UuJBub8KNC5Qbz;uz4Z@Hi^fU?<`pZ1&JaB z&aPb-iU5Ih|1pu;Cu=*VkF;qQVpa)Ml&fbx(q=-!4ZTZh-NII6Wyw}qJ2PV*>mKRe z07zp*A)^^eG$V<2U1Fn|;<=qUzV`Y6Z@fG~lqs$T9uN%=11(lye$N1inN|n7j~hsv z<=cyZG&IU5zWuofsCdyo9Z3rH`XC{Yhn)Pe+ck)Yk2VfV@q+t)^DwPy%Ji9lqm zwZ6~Ey=P!0^nJ?d94JrcjC!n84PWK=ie>2$maY2TJ(ls8PH`Ep&RQFP{$KqCk|Y7M z%ylTf_qX4DCa~r+omdwbXI3ETkCs{&~=XsEhg z<)nTFYB?`&5+1Ng%DSXUG>lcS^2dPnvo7{ zhM}l*CYz|q;-Wwa=dkCzu_1!SrYfxgSo7qA$wE6ERGyqL_eU%UD2($%#z{0;W(0sp z9n!|B#w);|3dG|$LAO7|@kt*tQKj9DrbH{0Xg5-=r(Zw<4ttCO-$nmvn0e! zDj+?M3H#j`2mKh+L|{ry^cy=E)c|cklE2oGAk@9HKGc z>qvWA&r=}PB4&~a_4OvMz1_s_tGgH;4blC$i{XAB563BvhcmQm0^4f=u5=!U)m8uEhpVq{JkQsd|aYs z^n|)v<9H4s1elfW>qWJqeh#RgCQzVDyi+NiLZ(Xw_7?zleTx1Uc|5+VmZu`UbcO?6 z^{c;g_GORjye z3|UISJq!lM7Ca+zeJq6?a5#9{EVIgU_`(PVnR7d+K>OE5fnufE5g2l@1~V%FZTLcG zo-0&gZpmg58INCss$gqh{w zf{{Kw9pSj!1G5qvYc&~-T8d6hVr@<0#^wy~zcIqwH^&G<6il?qMvIDER)xl#H6RdH zW|touBfaeJDsb;D?Y5p?WM!u;RcSY-s$V)u0`yO7*#C3`#}C&qNg~X(*w`!$FqsP+ z4ien&&M^SwKpVe~ff>~>tZky-*g=B8;VB((Xc_*R;KO0A^Kx$kC})b^hHo?=6sTs$ zYuW(Rg;f?Af@4N`cg{+aAv9L>Ol#6R2hoB|(YA7rbOx-Y2G3G6*s7G?@SS%(YZna6 zY-$o{@v%aTOto8BxjWNcz!BZIq`m~~h@KZm7-j)>u7Ti<=Ci+Lu3EmZ?UYerspVR4 z84d$n0jjC0C)_To_B#`qNdRX(WRz+<+A)+E^N+}#*x;IdQC_X#1M5r1iprqIC$VO? z3%MuDRS2gAkq{gET{>I&EfXLGBY{AWGG@9YJS2%oD7HFN3>Uh;ISjI1Yetw5B(nzA zs^3}y2pSRAZ){=x#wO;&8M?Pl(YxKnpg%?bB*ndMjO})S-A;r~BS0gJ&`44YXEi)L zUdLK|7n8*_tcXI#2>@6co=u- ze!pz;P>=_b7A(V_81q6v^+jbY zmX=vPg$WCW#Yp5pnLYi{PM>rh25~vCS!6v%P z?5Ko+Ym5UXqo$Ia3V^b(3v4t%TsbC@8)KVb-MF`yfHYM?Cda)2PEQ9&(>dyb(Wo(6 zjTCE<#9CA0x$QZ=^7;^8d})Gu#z>nz(xoQSCH>6Hl1fy~idC-f2{6)dZhs#mT_mG) zvLn{4bgV6~`ZYYby^ef!iZ3a=;u2Ajs6aO@Ha^ zS<#6w)45q1ngP-jA%jv$&IQO|GSlY0Pi1zHsDdao^c_5Y_p*$c%D2uU;BGK=3XVJJxY~!g(38keLV*n&$t^Bp2P$Jj2lTndQ%+`rmQCCXRKYDF2=an{tNq1%NmZJ_ zWU$ty#FA^Bzm_K)gHTD=qYEcH6tW}IV+Yr(%?D( zE88uoK5IehXDSuQPEsI|jD(elSuEA_6Lp%n`c4x&Z|q|DV2IOCyBP2HaWG17G@PPc z7uZ<~u-&eqRSQuMBqm9O-nfDLcQ>)MHOB6>AvU(hh-xXqtQ=Xe(IUY>NLGornJv$s zA@=5!R~A#RRP=V%zdCwd0=h3bwhV-T)L1JMgZ>;)f5u)?%G`5Sl_Na8d6V;i;m2V) zcPTb@mjS9T;y@nv$#{aQjFpGW4kPWBb(es&G(t{3)5M?@bCq>XE{bI!15x5D0I8p0 ziGq0{SB2HF$gtNzCc?C-BSA}(EEZ=Y3P52lCxj9j3xgtH%>o`0g|f9dce^F=RPz0B zJ||SFgnH+Bax(7*h*rRt%c|eP;W5b9ndpLX6I7G6Z6Xzarl~}nCOADE;pDWBG?}9w zGS-_C%_v2?#^|(C?5)Rm|IH;p+S3Egs{-CdthEnJp9Q3^3Z$0-@G}7E?Edru>4d-& z0#YDO1SZ284(_hw@O}rQxnY5o1ehiPdgB!Lx)by!5;GZK60D)u+`%+xfmuMCI2iU% zP6Ic2elC6Sx# z^pQ%vGOjWi=OA#gPc-SFkxLd|r4n#9EWL8!F`rQvih5WF)w}B2?1)ghfY^cac5Wo$ zA`cW4$*mHAW_GThZItX5)Gr*ED$)kDjH2NRltxQf0P^E~*3Ux%hG2mJj5$e!k`V~j ztaWC+#Sp|0q4Km&GwUtMNF*VYta`0kJ!e6qhK-lDu>Qg(X8kF;x4IbI?xH`MVQ`$_ zemB8pTj0u?Vy){@gh^7va8}2|qjjvcr`WwRz|OTH8m$;%ARz*^52yj$Qp1evMNS?e zPhd$;wNH@Gy;&+4ZRRB{j0-%oiSR^AFEgwa$1#KupO<`p7GFXHxos1X0P~aepKVm$&5eUcdjdTlEyoqtNf?Z*MRJiLp~G(DG~0}>>yzTdrEa;P#YU8Rp{d;eiSj;& zA!TC3R`6o0-RkvwYLeO1)y+yLg&~e+Or*-Phx1ZTTl0zhl$DMQ%#yy0RnNu3TyZmJ zP|5nMS=s_)zReYg#9J?qQP1qJ z#9|O#38t4>O)Ue}@F;v%404(WwsWsG1`XA1OT~fDJKVVd&Cq#s#(xbiCo#ajAiCxTrmi& zUVF#6xTX);x!28@ryN+mFp{Mr8K3}lk?c-EASMLN2pEW2=Hg|MFv`Kf2m>Gp3T5y_ z5~6@Hmqt0b6hHvfx7yg-YT?RT*U-P$L+{frCJzTV7$!IxOtDrc?5suDYDbE-P9#Qg zgl@lydv~_5y)(wnwE@<*CaBd?1T0mSw+{6$L_Vh$$sL%r?slBFgy>nAp78V_l$Kdh zh^aJ$TyiK$Bs3Ngx!U*Vfci7`${OVXAW7t-dm=w(P(7c`@DG3cJzTkZ6>om|9i&ML z5eS4qfHX-oh-E}kgn2wi8Yk%YdWhs7=Re2p)vI{vrI)~ZeY5#o1xKuU>C?<`J`7dGg05WX_j=ge+CrM9`LP8; zQO!N@y%A?Iwfi$iOW-D%loj zHp;%1_Oz2P)$LK~wnzu6&QJLmaxy%$J;Dw7`4lK63-Vr0&3H>aW~FI@Zf}I+;~vs< zjz+|2wj`Rh6l*nA+I^)Hr0(r{%qci&}OL(lX z!&2I2WzjLoDECTd_j4vZmWhtBQx&kRf6^Bvvs=``hRRS`WXvdfv3k5okLP(c346Ta zvBWbvW4W1O_gOEVM_`!>R?CJ}9KM~DHEP{W$uM$`f-3k}W{RTxoLaTd+ zr0lmssY<}jUh6<8#<(UFYb`SYGi|#SYjB-1A(aB6QN!jdyV!Vn8`IMXPH&x{f2)hr z=?wkj82de7vl(D_Jw&G-pcY1$rV)ns>o_>98T7QTF&&4hdIu3V@nujckW&YtSi>VTppS)4cBN59mP&3c$Qwz44@9f2yq;1 zUo@F}*FLSFdODkdi13BC-@@%rKEa(^pW^zB8`!;i1@~^>L7JwRP9}KujW_V~pZqIs zzWy2x?(gH{k3Pa5{f9rnt$+Ur&pm$wM-PwCY&P)rd+(kbs4_D?`R%{s2jBf3Zod8+ ze)`WpMx)WdwHw!Q>!XiRuh-FPw-L|hh-x)FxOX4*Mje~m+xY0$zs36I27dF)5Amh< z-o